@fusedashlabs/widgets 0.2.0 → 0.4.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/CHANGELOG.md +94 -17
- package/README.md +24 -26
- package/dist/components/area-chart/element/ui9000-area-chart.d.ts +1 -1
- package/dist/components/area-grouped-bar-chart/element/ui9000-area-grouped-bar-chart.d.ts +1 -1
- package/dist/components/area-grouped-bar-chart/lib/normalize.js +3 -3
- package/dist/components/area-grouped-bar-chart/lib/normalize.js.map +1 -1
- package/dist/components/bar-chart/element/ui9000-bar-chart.d.ts +1 -1
- package/dist/components/bias-variance-tradeoff-chart/element/styles.d.ts +7 -0
- package/dist/components/bias-variance-tradeoff-chart/element/styles.d.ts.map +1 -0
- package/dist/components/bias-variance-tradeoff-chart/element/styles.js +13 -0
- package/dist/components/bias-variance-tradeoff-chart/element/styles.js.map +1 -0
- package/dist/components/bias-variance-tradeoff-chart/element/ui9000-bias-variance-tradeoff-chart.d.ts +27 -0
- package/dist/components/bias-variance-tradeoff-chart/element/ui9000-bias-variance-tradeoff-chart.d.ts.map +1 -0
- package/dist/components/bias-variance-tradeoff-chart/element/ui9000-bias-variance-tradeoff-chart.js +173 -0
- package/dist/components/bias-variance-tradeoff-chart/element/ui9000-bias-variance-tradeoff-chart.js.map +1 -0
- package/dist/components/bias-variance-tradeoff-chart/index.d.ts +5 -0
- package/dist/components/bias-variance-tradeoff-chart/index.d.ts.map +1 -0
- package/dist/components/bias-variance-tradeoff-chart/index.js +19 -0
- package/dist/components/bias-variance-tradeoff-chart/lib/domain.d.ts +8 -0
- package/dist/components/bias-variance-tradeoff-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/bias-variance-tradeoff-chart/lib/domain.js +37 -0
- package/dist/components/bias-variance-tradeoff-chart/lib/domain.js.map +1 -0
- package/dist/components/bias-variance-tradeoff-chart/lib/format.d.ts +3 -0
- package/dist/components/bias-variance-tradeoff-chart/lib/format.d.ts.map +1 -0
- package/dist/components/bias-variance-tradeoff-chart/lib/format.js +9 -0
- package/dist/components/bias-variance-tradeoff-chart/lib/format.js.map +1 -0
- package/dist/components/bias-variance-tradeoff-chart/lib/index.d.ts +5 -0
- package/dist/components/bias-variance-tradeoff-chart/lib/index.d.ts.map +1 -0
- package/dist/components/bias-variance-tradeoff-chart/lib/normalize.d.ts +4 -0
- package/dist/components/bias-variance-tradeoff-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/bias-variance-tradeoff-chart/lib/normalize.js +135 -0
- package/dist/components/bias-variance-tradeoff-chart/lib/normalize.js.map +1 -0
- package/dist/components/bias-variance-tradeoff-chart/lib/types.d.ts +47 -0
- package/dist/components/bias-variance-tradeoff-chart/lib/types.d.ts.map +1 -0
- package/dist/components/bias-variance-tradeoff-chart/metadata.json.d.ts +41 -0
- package/dist/components/bias-variance-tradeoff-chart/metadata.json.js +42 -0
- package/dist/components/bias-variance-tradeoff-chart/metadata.json.js.map +1 -0
- package/dist/components/bias-variance-tradeoff-chart/render/draw.d.ts +31 -0
- package/dist/components/bias-variance-tradeoff-chart/render/draw.d.ts.map +1 -0
- package/dist/components/bias-variance-tradeoff-chart/render/draw.js +203 -0
- package/dist/components/bias-variance-tradeoff-chart/render/draw.js.map +1 -0
- package/dist/components/bias-variance-tradeoff-chart/render/index.d.ts +2 -0
- package/dist/components/bias-variance-tradeoff-chart/render/index.d.ts.map +1 -0
- package/dist/components/box-plot-chart/element/ui9000-box-plot-chart.d.ts +1 -1
- package/dist/components/bubble-chart/element/ui9000-bubble-chart.d.ts +1 -1
- package/dist/components/chart-renderer/element/ui9000-chart-renderer.d.ts +1 -0
- package/dist/components/chart-renderer/element/ui9000-chart-renderer.d.ts.map +1 -1
- package/dist/components/chart-renderer/element/ui9000-chart-renderer.js +12 -1
- package/dist/components/chart-renderer/element/ui9000-chart-renderer.js.map +1 -1
- package/dist/components/chart-renderer/lib/registry.d.ts.map +1 -1
- package/dist/components/chart-renderer/lib/registry.js +29 -4
- package/dist/components/chart-renderer/lib/registry.js.map +1 -1
- package/dist/components/chart-renderer/lib/types.d.ts +5 -0
- package/dist/components/chart-renderer/lib/types.d.ts.map +1 -1
- package/dist/components/donut-chart/element/ui9000-donut-chart.d.ts +1 -1
- package/dist/components/donut-chart/element/ui9000-donut-chart.js +1 -1
- package/dist/components/donut-chart/element/ui9000-donut-chart.js.map +1 -1
- package/dist/components/gini-impurity-entropy-chart/element/styles.d.ts +2 -0
- package/dist/components/gini-impurity-entropy-chart/element/styles.d.ts.map +1 -0
- package/dist/components/{donut-group-chart → gini-impurity-entropy-chart}/element/styles.js +17 -11
- package/dist/components/gini-impurity-entropy-chart/element/styles.js.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/element/ui9000-gini-impurity-entropy-chart.d.ts +36 -0
- package/dist/components/gini-impurity-entropy-chart/element/ui9000-gini-impurity-entropy-chart.d.ts.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/element/ui9000-gini-impurity-entropy-chart.js +186 -0
- package/dist/components/gini-impurity-entropy-chart/element/ui9000-gini-impurity-entropy-chart.js.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/index.d.ts +5 -0
- package/dist/components/gini-impurity-entropy-chart/index.d.ts.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/index.js +32 -0
- package/dist/components/gini-impurity-entropy-chart/index.js.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/lib/domain.d.ts +9 -0
- package/dist/components/gini-impurity-entropy-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/lib/domain.js +32 -0
- package/dist/components/gini-impurity-entropy-chart/lib/domain.js.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/lib/format.d.ts +10 -0
- package/dist/components/gini-impurity-entropy-chart/lib/format.d.ts.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/lib/format.js +22 -0
- package/dist/components/gini-impurity-entropy-chart/lib/format.js.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/lib/index.d.ts +7 -0
- package/dist/components/gini-impurity-entropy-chart/lib/index.d.ts.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/lib/normalize.d.ts +7 -0
- package/dist/components/gini-impurity-entropy-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/lib/normalize.js +117 -0
- package/dist/components/gini-impurity-entropy-chart/lib/normalize.js.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/lib/overlays.d.ts +19 -0
- package/dist/components/gini-impurity-entropy-chart/lib/overlays.d.ts.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/lib/overlays.js +63 -0
- package/dist/components/gini-impurity-entropy-chart/lib/overlays.js.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/lib/series.d.ts +12 -0
- package/dist/components/gini-impurity-entropy-chart/lib/series.d.ts.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/lib/series.js +45 -0
- package/dist/components/gini-impurity-entropy-chart/lib/series.js.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/lib/types.d.ts +83 -0
- package/dist/components/gini-impurity-entropy-chart/lib/types.d.ts.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/lib/types.js +19 -0
- package/dist/components/gini-impurity-entropy-chart/lib/types.js.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/metadata.json.d.ts +115 -0
- package/dist/components/gini-impurity-entropy-chart/metadata.json.js +42 -0
- package/dist/components/gini-impurity-entropy-chart/metadata.json.js.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/render/draw.d.ts +40 -0
- package/dist/components/gini-impurity-entropy-chart/render/draw.d.ts.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/render/draw.js +160 -0
- package/dist/components/gini-impurity-entropy-chart/render/draw.js.map +1 -0
- package/dist/components/gini-impurity-entropy-chart/render/index.d.ts +2 -0
- package/dist/components/gini-impurity-entropy-chart/render/index.d.ts.map +1 -0
- package/dist/components/histogram-chart/element/ui9000-histogram-chart.d.ts +1 -1
- package/dist/components/kpi-widget/element/ui9000-kpi-widget.d.ts +1 -1
- package/dist/components/kpi-widget/element/ui9000-kpi-widget.js +1 -1
- package/dist/components/line-chart/element/ui9000-line-chart.d.ts +1 -1
- package/dist/components/lollipop/element/styles.d.ts.map +1 -1
- package/dist/components/lollipop/element/styles.js +19 -1
- package/dist/components/lollipop/element/styles.js.map +1 -1
- package/dist/components/lollipop/element/ui9000-lollipop.d.ts +7 -2
- package/dist/components/lollipop/element/ui9000-lollipop.d.ts.map +1 -1
- package/dist/components/lollipop/element/ui9000-lollipop.js +68 -7
- package/dist/components/lollipop/element/ui9000-lollipop.js.map +1 -1
- package/dist/components/lollipop/index.d.ts +1 -1
- package/dist/components/lollipop/index.d.ts.map +1 -1
- package/dist/components/lollipop/index.js +2 -0
- package/dist/components/lollipop/index.js.map +1 -1
- package/dist/components/lollipop/lib/domain.d.ts +16 -1
- package/dist/components/lollipop/lib/domain.d.ts.map +1 -1
- package/dist/components/lollipop/lib/domain.js +56 -1
- package/dist/components/lollipop/lib/domain.js.map +1 -1
- package/dist/components/lollipop/lib/index.d.ts +3 -2
- package/dist/components/lollipop/lib/index.d.ts.map +1 -1
- package/dist/components/lollipop/lib/layout.d.ts +16 -0
- package/dist/components/lollipop/lib/layout.d.ts.map +1 -0
- package/dist/components/lollipop/lib/layout.js +16 -0
- package/dist/components/lollipop/lib/layout.js.map +1 -0
- package/dist/components/lollipop/lib/types.d.ts +5 -0
- package/dist/components/lollipop/lib/types.d.ts.map +1 -1
- package/dist/components/lollipop/metadata.json.d.ts +10 -0
- package/dist/components/lollipop/metadata.json.js +4 -1
- package/dist/components/lollipop/metadata.json.js.map +1 -1
- package/dist/components/lollipop/render/draw.d.ts +8 -1
- package/dist/components/lollipop/render/draw.d.ts.map +1 -1
- package/dist/components/lollipop/render/draw.js +155 -84
- package/dist/components/lollipop/render/draw.js.map +1 -1
- package/dist/components/map-chart/element/styles.d.ts +2 -0
- package/dist/components/map-chart/element/styles.d.ts.map +1 -0
- package/dist/components/map-chart/element/styles.js +372 -0
- package/dist/components/map-chart/element/styles.js.map +1 -0
- package/dist/components/map-chart/element/ui9000-map-chart.d.ts +54 -0
- package/dist/components/map-chart/element/ui9000-map-chart.d.ts.map +1 -0
- package/dist/components/map-chart/element/ui9000-map-chart.js +539 -0
- package/dist/components/map-chart/element/ui9000-map-chart.js.map +1 -0
- package/dist/components/map-chart/index.d.ts +5 -0
- package/dist/components/map-chart/index.d.ts.map +1 -0
- package/dist/components/map-chart/index.js +29 -0
- package/dist/components/map-chart/index.js.map +1 -0
- package/dist/components/map-chart/lib/constants.d.ts +34 -0
- package/dist/components/map-chart/lib/constants.d.ts.map +1 -0
- package/dist/components/map-chart/lib/constants.js +122 -0
- package/dist/components/map-chart/lib/constants.js.map +1 -0
- package/dist/components/map-chart/lib/domain.d.ts +12 -0
- package/dist/components/map-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/map-chart/lib/domain.js +105 -0
- package/dist/components/map-chart/lib/domain.js.map +1 -0
- package/dist/components/map-chart/lib/format.d.ts +8 -0
- package/dist/components/map-chart/lib/format.d.ts.map +1 -0
- package/dist/components/map-chart/lib/format.js +45 -0
- package/dist/components/map-chart/lib/format.js.map +1 -0
- package/dist/components/map-chart/lib/geo-index.d.ts +7 -0
- package/dist/components/map-chart/lib/geo-index.d.ts.map +1 -0
- package/dist/components/map-chart/lib/geo-index.js +200 -0
- package/dist/components/map-chart/lib/geo-index.js.map +1 -0
- package/dist/components/map-chart/lib/geojson.d.ts +5 -0
- package/dist/components/map-chart/lib/geojson.d.ts.map +1 -0
- package/dist/components/map-chart/lib/geojson.js +47 -0
- package/dist/components/map-chart/lib/geojson.js.map +1 -0
- package/dist/components/map-chart/lib/index.d.ts +13 -0
- package/dist/components/map-chart/lib/index.d.ts.map +1 -0
- package/dist/components/map-chart/lib/join.d.ts +7 -0
- package/dist/components/map-chart/lib/join.d.ts.map +1 -0
- package/dist/components/map-chart/lib/join.js +156 -0
- package/dist/components/map-chart/lib/join.js.map +1 -0
- package/dist/components/map-chart/lib/legend.d.ts +45 -0
- package/dist/components/map-chart/lib/legend.d.ts.map +1 -0
- package/dist/components/map-chart/lib/legend.js +108 -0
- package/dist/components/map-chart/lib/legend.js.map +1 -0
- package/dist/components/map-chart/lib/normalize.d.ts +3 -0
- package/dist/components/map-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/map-chart/lib/normalize.js +177 -0
- package/dist/components/map-chart/lib/normalize.js.map +1 -0
- package/dist/components/map-chart/lib/pmtiles.d.ts +41 -0
- package/dist/components/map-chart/lib/pmtiles.d.ts.map +1 -0
- package/dist/components/map-chart/lib/pmtiles.js +112 -0
- package/dist/components/map-chart/lib/pmtiles.js.map +1 -0
- package/dist/components/map-chart/lib/types.d.ts +128 -0
- package/dist/components/map-chart/lib/types.d.ts.map +1 -0
- package/dist/components/map-chart/metadata.json.d.ts +83 -0
- package/dist/components/map-chart/metadata.json.js +42 -0
- package/dist/components/map-chart/metadata.json.js.map +1 -0
- package/dist/components/map-chart/render/draw.d.ts +24 -0
- package/dist/components/map-chart/render/draw.d.ts.map +1 -0
- package/dist/components/map-chart/render/draw.js +455 -0
- package/dist/components/map-chart/render/draw.js.map +1 -0
- package/dist/components/map-chart/render/index.d.ts +2 -0
- package/dist/components/map-chart/render/index.d.ts.map +1 -0
- package/dist/components/matrix-chart/element/styles.d.ts +2 -0
- package/dist/components/matrix-chart/element/styles.d.ts.map +1 -0
- package/dist/components/matrix-chart/element/styles.js +97 -0
- package/dist/components/matrix-chart/element/styles.js.map +1 -0
- package/dist/components/matrix-chart/element/ui9000-matrix-chart.d.ts +39 -0
- package/dist/components/matrix-chart/element/ui9000-matrix-chart.d.ts.map +1 -0
- package/dist/components/matrix-chart/element/ui9000-matrix-chart.js +238 -0
- package/dist/components/matrix-chart/element/ui9000-matrix-chart.js.map +1 -0
- package/dist/components/matrix-chart/index.d.ts +5 -0
- package/dist/components/matrix-chart/index.d.ts.map +1 -0
- package/dist/components/matrix-chart/index.js +20 -0
- package/dist/components/matrix-chart/index.js.map +1 -0
- package/dist/components/matrix-chart/lib/domain.d.ts +7 -0
- package/dist/components/matrix-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/matrix-chart/lib/domain.js +58 -0
- package/dist/components/matrix-chart/lib/domain.js.map +1 -0
- package/dist/components/matrix-chart/lib/format.d.ts +5 -0
- package/dist/components/matrix-chart/lib/format.d.ts.map +1 -0
- package/dist/components/matrix-chart/lib/format.js +16 -0
- package/dist/components/matrix-chart/lib/format.js.map +1 -0
- package/dist/components/matrix-chart/lib/index.d.ts +5 -0
- package/dist/components/matrix-chart/lib/index.d.ts.map +1 -0
- package/dist/components/matrix-chart/lib/normalize.d.ts +5 -0
- package/dist/components/matrix-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/matrix-chart/lib/normalize.js +165 -0
- package/dist/components/matrix-chart/lib/normalize.js.map +1 -0
- package/dist/components/matrix-chart/lib/types.d.ts +33 -0
- package/dist/components/matrix-chart/lib/types.d.ts.map +1 -0
- package/dist/components/matrix-chart/metadata.json.d.ts +110 -0
- package/dist/components/matrix-chart/metadata.json.js +42 -0
- package/dist/components/matrix-chart/metadata.json.js.map +1 -0
- package/dist/components/matrix-chart/render/draw.d.ts +63 -0
- package/dist/components/matrix-chart/render/draw.d.ts.map +1 -0
- package/dist/components/matrix-chart/render/draw.js +225 -0
- package/dist/components/matrix-chart/render/draw.js.map +1 -0
- package/dist/components/matrix-chart/render/index.d.ts +2 -0
- package/dist/components/matrix-chart/render/index.d.ts.map +1 -0
- package/dist/components/network-graph/element/styles.d.ts +2 -0
- package/dist/components/network-graph/element/styles.d.ts.map +1 -0
- package/dist/components/network-graph/element/styles.js +272 -0
- package/dist/components/network-graph/element/styles.js.map +1 -0
- package/dist/components/network-graph/element/ui9000-network-graph.d.ts +47 -0
- package/dist/components/network-graph/element/ui9000-network-graph.d.ts.map +1 -0
- package/dist/components/network-graph/element/ui9000-network-graph.js +307 -0
- package/dist/components/network-graph/element/ui9000-network-graph.js.map +1 -0
- package/dist/components/network-graph/index.d.ts +5 -0
- package/dist/components/network-graph/index.d.ts.map +1 -0
- package/dist/components/network-graph/index.js +37 -0
- package/dist/components/network-graph/index.js.map +1 -0
- package/dist/components/network-graph/lib/domain.d.ts +96 -0
- package/dist/components/network-graph/lib/domain.d.ts.map +1 -0
- package/dist/components/network-graph/lib/domain.js +211 -0
- package/dist/components/network-graph/lib/domain.js.map +1 -0
- package/dist/components/network-graph/lib/format.d.ts +7 -0
- package/dist/components/network-graph/lib/format.d.ts.map +1 -0
- package/dist/components/network-graph/lib/format.js +29 -0
- package/dist/components/network-graph/lib/format.js.map +1 -0
- package/dist/components/network-graph/lib/index.d.ts +6 -0
- package/dist/components/network-graph/lib/index.d.ts.map +1 -0
- package/dist/components/network-graph/lib/legend.d.ts +15 -0
- package/dist/components/network-graph/lib/legend.d.ts.map +1 -0
- package/dist/components/network-graph/lib/legend.js +35 -0
- package/dist/components/network-graph/lib/legend.js.map +1 -0
- package/dist/components/network-graph/lib/normalize.d.ts +10 -0
- package/dist/components/network-graph/lib/normalize.d.ts.map +1 -0
- package/dist/components/network-graph/lib/normalize.js +140 -0
- package/dist/components/network-graph/lib/normalize.js.map +1 -0
- package/dist/components/network-graph/lib/types.d.ts +56 -0
- package/dist/components/network-graph/lib/types.d.ts.map +1 -0
- package/dist/components/network-graph/metadata.json.d.ts +91 -0
- package/dist/components/network-graph/metadata.json.js +42 -0
- package/dist/components/network-graph/metadata.json.js.map +1 -0
- package/dist/components/network-graph/render/draw.d.ts +49 -0
- package/dist/components/network-graph/render/draw.d.ts.map +1 -0
- package/dist/components/network-graph/render/draw.js +493 -0
- package/dist/components/network-graph/render/draw.js.map +1 -0
- package/dist/components/network-graph/render/index.d.ts +2 -0
- package/dist/components/network-graph/render/index.d.ts.map +1 -0
- package/dist/components/parallel-coordinates-chart/element/styles.d.ts +2 -0
- package/dist/components/parallel-coordinates-chart/element/styles.d.ts.map +1 -0
- package/dist/components/parallel-coordinates-chart/element/styles.js +71 -0
- package/dist/components/parallel-coordinates-chart/element/styles.js.map +1 -0
- package/dist/components/parallel-coordinates-chart/element/ui9000-parallel-coordinates-chart.d.ts +33 -0
- package/dist/components/parallel-coordinates-chart/element/ui9000-parallel-coordinates-chart.d.ts.map +1 -0
- package/dist/components/parallel-coordinates-chart/element/ui9000-parallel-coordinates-chart.js +182 -0
- package/dist/components/parallel-coordinates-chart/element/ui9000-parallel-coordinates-chart.js.map +1 -0
- package/dist/components/parallel-coordinates-chart/index.d.ts +5 -0
- package/dist/components/parallel-coordinates-chart/index.d.ts.map +1 -0
- package/dist/components/parallel-coordinates-chart/index.js +23 -0
- package/dist/components/parallel-coordinates-chart/index.js.map +1 -0
- package/dist/components/parallel-coordinates-chart/lib/domain.d.ts +14 -0
- package/dist/components/parallel-coordinates-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/parallel-coordinates-chart/lib/domain.js +28 -0
- package/dist/components/parallel-coordinates-chart/lib/domain.js.map +1 -0
- package/dist/components/parallel-coordinates-chart/lib/format.d.ts +12 -0
- package/dist/components/parallel-coordinates-chart/lib/format.d.ts.map +1 -0
- package/dist/components/parallel-coordinates-chart/lib/format.js +18 -0
- package/dist/components/parallel-coordinates-chart/lib/format.js.map +1 -0
- package/dist/components/parallel-coordinates-chart/lib/index.d.ts +5 -0
- package/dist/components/parallel-coordinates-chart/lib/index.d.ts.map +1 -0
- package/dist/components/parallel-coordinates-chart/lib/normalize.d.ts +23 -0
- package/dist/components/parallel-coordinates-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/parallel-coordinates-chart/lib/normalize.js +156 -0
- package/dist/components/parallel-coordinates-chart/lib/normalize.js.map +1 -0
- package/dist/components/parallel-coordinates-chart/lib/types.d.ts +48 -0
- package/dist/components/parallel-coordinates-chart/lib/types.d.ts.map +1 -0
- package/dist/components/parallel-coordinates-chart/metadata.json.d.ts +103 -0
- package/dist/components/parallel-coordinates-chart/metadata.json.js +45 -0
- package/dist/components/parallel-coordinates-chart/render/draw.d.ts +30 -0
- package/dist/components/parallel-coordinates-chart/render/draw.d.ts.map +1 -0
- package/dist/components/parallel-coordinates-chart/render/draw.js +160 -0
- package/dist/components/parallel-coordinates-chart/render/draw.js.map +1 -0
- package/dist/components/parallel-coordinates-chart/render/index.d.ts +2 -0
- package/dist/components/parallel-coordinates-chart/render/index.d.ts.map +1 -0
- package/dist/components/pie-chart/element/styles.d.ts.map +1 -1
- package/dist/components/pie-chart/element/styles.js +34 -1
- package/dist/components/pie-chart/element/styles.js.map +1 -1
- package/dist/components/pie-chart/element/ui9000-pie-chart.d.ts +1 -3
- package/dist/components/pie-chart/element/ui9000-pie-chart.d.ts.map +1 -1
- package/dist/components/pie-chart/element/ui9000-pie-chart.js +2 -8
- package/dist/components/pie-chart/element/ui9000-pie-chart.js.map +1 -1
- package/dist/components/pie-chart/metadata.json.d.ts +1 -7
- package/dist/components/pie-chart/metadata.json.js +2 -2
- package/dist/components/polar-area-chart/element/styles.d.ts +2 -0
- package/dist/components/polar-area-chart/element/styles.d.ts.map +1 -0
- package/dist/components/polar-area-chart/element/styles.js +48 -0
- package/dist/components/polar-area-chart/element/styles.js.map +1 -0
- package/dist/components/polar-area-chart/element/ui9000-polar-area-chart.d.ts +29 -0
- package/dist/components/polar-area-chart/element/ui9000-polar-area-chart.d.ts.map +1 -0
- package/dist/components/polar-area-chart/element/ui9000-polar-area-chart.js +168 -0
- package/dist/components/polar-area-chart/element/ui9000-polar-area-chart.js.map +1 -0
- package/dist/components/polar-area-chart/index.d.ts +5 -0
- package/dist/components/polar-area-chart/index.d.ts.map +1 -0
- package/dist/components/polar-area-chart/index.js +19 -0
- package/dist/components/polar-area-chart/index.js.map +1 -0
- package/dist/components/polar-area-chart/lib/domain.d.ts +33 -0
- package/dist/components/polar-area-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/polar-area-chart/lib/domain.js +67 -0
- package/dist/components/polar-area-chart/lib/domain.js.map +1 -0
- package/dist/components/polar-area-chart/lib/index.d.ts +4 -0
- package/dist/components/polar-area-chart/lib/index.d.ts.map +1 -0
- package/dist/components/polar-area-chart/lib/normalize.d.ts +4 -0
- package/dist/components/polar-area-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/polar-area-chart/lib/normalize.js +183 -0
- package/dist/components/polar-area-chart/lib/normalize.js.map +1 -0
- package/dist/components/polar-area-chart/lib/types.d.ts +48 -0
- package/dist/components/polar-area-chart/lib/types.d.ts.map +1 -0
- package/dist/components/polar-area-chart/metadata.json.d.ts +79 -0
- package/dist/components/polar-area-chart/metadata.json.js +42 -0
- package/dist/components/polar-area-chart/metadata.json.js.map +1 -0
- package/dist/components/polar-area-chart/render/draw.d.ts +25 -0
- package/dist/components/polar-area-chart/render/draw.d.ts.map +1 -0
- package/dist/components/polar-area-chart/render/draw.js +127 -0
- package/dist/components/polar-area-chart/render/draw.js.map +1 -0
- package/dist/components/polar-area-chart/render/index.d.ts +2 -0
- package/dist/components/polar-area-chart/render/index.d.ts.map +1 -0
- package/dist/components/punchcard-chart/element/ui9000-punchcard-chart.d.ts +1 -1
- package/dist/components/punchcard-chart/metadata.json.d.ts +1 -1
- package/dist/components/punchcard-chart/metadata.json.js +1 -1
- package/dist/components/radar-chart/element/ui9000-radar-chart.d.ts +1 -1
- package/dist/components/radial-bar-chart/element/styles.d.ts +2 -0
- package/dist/components/radial-bar-chart/element/styles.d.ts.map +1 -0
- package/dist/components/radial-bar-chart/element/styles.js +53 -0
- package/dist/components/radial-bar-chart/element/styles.js.map +1 -0
- package/dist/components/radial-bar-chart/element/ui9000-radial-bar-chart.d.ts +35 -0
- package/dist/components/radial-bar-chart/element/ui9000-radial-bar-chart.d.ts.map +1 -0
- package/dist/components/radial-bar-chart/element/ui9000-radial-bar-chart.js +174 -0
- package/dist/components/radial-bar-chart/element/ui9000-radial-bar-chart.js.map +1 -0
- package/dist/components/radial-bar-chart/index.d.ts +5 -0
- package/dist/components/radial-bar-chart/index.d.ts.map +1 -0
- package/dist/components/radial-bar-chart/index.js +21 -0
- package/dist/components/radial-bar-chart/index.js.map +1 -0
- package/dist/components/radial-bar-chart/lib/domain.d.ts +47 -0
- package/dist/components/radial-bar-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/radial-bar-chart/lib/domain.js +50 -0
- package/dist/components/radial-bar-chart/lib/domain.js.map +1 -0
- package/dist/components/radial-bar-chart/lib/format.d.ts +6 -0
- package/dist/components/radial-bar-chart/lib/format.d.ts.map +1 -0
- package/dist/components/radial-bar-chart/lib/format.js +12 -0
- package/dist/components/radial-bar-chart/lib/format.js.map +1 -0
- package/dist/components/radial-bar-chart/lib/index.d.ts +5 -0
- package/dist/components/radial-bar-chart/lib/index.d.ts.map +1 -0
- package/dist/components/radial-bar-chart/lib/normalize.d.ts +4 -0
- package/dist/components/radial-bar-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/radial-bar-chart/lib/normalize.js +92 -0
- package/dist/components/radial-bar-chart/lib/normalize.js.map +1 -0
- package/dist/components/radial-bar-chart/lib/types.d.ts +34 -0
- package/dist/components/radial-bar-chart/lib/types.d.ts.map +1 -0
- package/dist/components/radial-bar-chart/metadata.json.d.ts +62 -0
- package/dist/components/radial-bar-chart/metadata.json.js +42 -0
- package/dist/components/radial-bar-chart/metadata.json.js.map +1 -0
- package/dist/components/radial-bar-chart/render/draw.d.ts +29 -0
- package/dist/components/radial-bar-chart/render/draw.d.ts.map +1 -0
- package/dist/components/radial-bar-chart/render/draw.js +92 -0
- package/dist/components/radial-bar-chart/render/draw.js.map +1 -0
- package/dist/components/radial-bar-chart/render/index.d.ts +2 -0
- package/dist/components/radial-bar-chart/render/index.d.ts.map +1 -0
- package/dist/components/sankey-chart/element/styles.d.ts.map +1 -1
- package/dist/components/sankey-chart/element/styles.js +7 -27
- package/dist/components/sankey-chart/element/styles.js.map +1 -1
- package/dist/components/sankey-chart/element/ui9000-sankey-chart.d.ts +6 -6
- package/dist/components/sankey-chart/element/ui9000-sankey-chart.d.ts.map +1 -1
- package/dist/components/sankey-chart/element/ui9000-sankey-chart.js +39 -36
- package/dist/components/sankey-chart/element/ui9000-sankey-chart.js.map +1 -1
- package/dist/components/sankey-chart/index.js +4 -2
- package/dist/components/sankey-chart/index.js.map +1 -1
- package/dist/components/sankey-chart/lib/domain.d.ts +2 -2
- package/dist/components/sankey-chart/lib/domain.d.ts.map +1 -1
- package/dist/components/sankey-chart/lib/domain.js +1 -13
- package/dist/components/sankey-chart/lib/domain.js.map +1 -1
- package/dist/components/sankey-chart/lib/format.d.ts +1 -2
- package/dist/components/sankey-chart/lib/format.d.ts.map +1 -1
- package/dist/components/sankey-chart/lib/format.js +3 -7
- package/dist/components/sankey-chart/lib/format.js.map +1 -1
- package/dist/components/scatter-plot-chart/element/ui9000-scatter-plot.d.ts +1 -1
- package/dist/components/scatter-sparkline-chart/element/ui9000-scatter-sparkline-chart.d.ts +1 -1
- package/dist/components/spark-area-chart/element/ui9000-spark-area-chart.d.ts +1 -1
- package/dist/components/spark-line-chart/element/ui9000-spark-line-chart.d.ts +1 -1
- package/dist/components/step-line-chart/element/ui9000-step-line-chart.d.ts +1 -1
- package/dist/components/treemap-chart/element/styles.d.ts +2 -0
- package/dist/components/treemap-chart/element/styles.d.ts.map +1 -0
- package/dist/components/treemap-chart/element/styles.js +141 -0
- package/dist/components/treemap-chart/element/styles.js.map +1 -0
- package/dist/components/treemap-chart/element/ui9000-treemap-chart.d.ts +35 -0
- package/dist/components/treemap-chart/element/ui9000-treemap-chart.d.ts.map +1 -0
- package/dist/components/treemap-chart/element/ui9000-treemap-chart.js +177 -0
- package/dist/components/treemap-chart/element/ui9000-treemap-chart.js.map +1 -0
- package/dist/components/treemap-chart/index.d.ts +5 -0
- package/dist/components/treemap-chart/index.d.ts.map +1 -0
- package/dist/components/treemap-chart/index.js +22 -0
- package/dist/components/treemap-chart/index.js.map +1 -0
- package/dist/components/treemap-chart/lib/color.d.ts +25 -0
- package/dist/components/treemap-chart/lib/color.d.ts.map +1 -0
- package/dist/components/treemap-chart/lib/color.js +67 -0
- package/dist/components/treemap-chart/lib/color.js.map +1 -0
- package/dist/components/treemap-chart/lib/format.d.ts +7 -0
- package/dist/components/treemap-chart/lib/format.d.ts.map +1 -0
- package/dist/components/treemap-chart/lib/format.js +9 -0
- package/dist/components/treemap-chart/lib/format.js.map +1 -0
- package/dist/components/treemap-chart/lib/index.d.ts +6 -0
- package/dist/components/treemap-chart/lib/index.d.ts.map +1 -0
- package/dist/components/treemap-chart/lib/layout.d.ts +18 -0
- package/dist/components/treemap-chart/lib/layout.d.ts.map +1 -0
- package/dist/components/treemap-chart/lib/layout.js +31 -0
- package/dist/components/treemap-chart/lib/layout.js.map +1 -0
- package/dist/components/treemap-chart/lib/normalize.d.ts +4 -0
- package/dist/components/treemap-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/treemap-chart/lib/normalize.js +182 -0
- package/dist/components/treemap-chart/lib/normalize.js.map +1 -0
- package/dist/components/treemap-chart/lib/types.d.ts +63 -0
- package/dist/components/treemap-chart/lib/types.d.ts.map +1 -0
- package/dist/components/treemap-chart/metadata.json.d.ts +126 -0
- package/dist/components/treemap-chart/metadata.json.js +45 -0
- package/dist/components/treemap-chart/metadata.json.js.map +1 -0
- package/dist/components/treemap-chart/render/draw.d.ts +24 -0
- package/dist/components/treemap-chart/render/draw.d.ts.map +1 -0
- package/dist/components/treemap-chart/render/draw.js +124 -0
- package/dist/components/treemap-chart/render/draw.js.map +1 -0
- package/dist/components/treemap-chart/render/index.d.ts +2 -0
- package/dist/components/treemap-chart/render/index.d.ts.map +1 -0
- package/dist/components/violin-chart/element/ui9000-violin-chart.d.ts +1 -1
- package/dist/components/waterfall-chart/element/ui9000-waterfall-chart.d.ts +1 -1
- package/dist/element/chart-legend-render.d.ts +5 -0
- package/dist/element/chart-legend-render.d.ts.map +1 -1
- package/dist/element/chart-legend-render.js +19 -1
- package/dist/element/chart-legend-render.js.map +1 -1
- package/dist/element/chart-shell-styles.d.ts.map +1 -1
- package/dist/element/chart-shell-styles.js +35 -0
- package/dist/element/chart-shell-styles.js.map +1 -1
- package/dist/element/ui9000-chart-base.d.ts +2 -2
- package/dist/index.d.ts +20 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +178 -47
- package/dist/index.js.map +1 -1
- package/dist/lazy/bias-variance-tradeoff-chart.d.ts +4 -0
- package/dist/lazy/bias-variance-tradeoff-chart.d.ts.map +1 -0
- package/dist/lazy/bias-variance-tradeoff-chart.js +5 -0
- package/dist/lazy/bias-variance-tradeoff-chart.js.map +1 -0
- package/dist/lazy/gini-impurity-entropy-chart.d.ts +4 -0
- package/dist/lazy/gini-impurity-entropy-chart.d.ts.map +1 -0
- package/dist/lazy/gini-impurity-entropy-chart.js +5 -0
- package/dist/lazy/gini-impurity-entropy-chart.js.map +1 -0
- package/dist/lazy/index.d.ts +10 -2
- package/dist/lazy/index.d.ts.map +1 -1
- package/dist/lazy/index.js +72 -8
- package/dist/lazy/index.js.map +1 -1
- package/dist/lazy/map-chart.d.ts +4 -0
- package/dist/lazy/map-chart.d.ts.map +1 -0
- package/dist/lazy/map-chart.js +5 -0
- package/dist/lazy/map-chart.js.map +1 -0
- package/dist/lazy/matrix-chart.d.ts +4 -0
- package/dist/lazy/matrix-chart.d.ts.map +1 -0
- package/dist/lazy/matrix-chart.js +5 -0
- package/dist/lazy/matrix-chart.js.map +1 -0
- package/dist/lazy/network-graph.d.ts +4 -0
- package/dist/lazy/network-graph.d.ts.map +1 -0
- package/dist/lazy/network-graph.js +5 -0
- package/dist/lazy/network-graph.js.map +1 -0
- package/dist/lazy/parallel-coordinates-chart.d.ts +4 -0
- package/dist/lazy/parallel-coordinates-chart.d.ts.map +1 -0
- package/dist/lazy/parallel-coordinates-chart.js +5 -0
- package/dist/lazy/parallel-coordinates-chart.js.map +1 -0
- package/dist/lazy/polar-area-chart.d.ts +4 -0
- package/dist/lazy/polar-area-chart.d.ts.map +1 -0
- package/dist/lazy/polar-area-chart.js +5 -0
- package/dist/lazy/polar-area-chart.js.map +1 -0
- package/dist/lazy/radial-bar-chart.d.ts +4 -0
- package/dist/lazy/radial-bar-chart.d.ts.map +1 -0
- package/dist/lazy/radial-bar-chart.js +5 -0
- package/dist/lazy/radial-bar-chart.js.map +1 -0
- package/dist/lazy/treemap-chart.d.ts +4 -0
- package/dist/lazy/treemap-chart.d.ts.map +1 -0
- package/dist/lazy/treemap-chart.js +5 -0
- package/dist/lazy/treemap-chart.js.map +1 -0
- package/dist/node_modules/lit-html/directive.js.map +1 -0
- package/dist/node_modules/lit-html/directives/style-map.js.map +1 -0
- package/dist/node_modules/lit-html/lit-html.js.map +1 -0
- package/dist/utils/axis-units.d.ts +15 -0
- package/dist/utils/axis-units.d.ts.map +1 -0
- package/dist/utils/axis-units.js +27 -0
- package/dist/utils/axis-units.js.map +1 -0
- package/dist/utils/breakpoints.d.ts +7 -0
- package/dist/utils/breakpoints.d.ts.map +1 -0
- package/dist/utils/breakpoints.js +17 -0
- package/dist/utils/breakpoints.js.map +1 -0
- package/dist/utils/chart-helpers.d.ts +25 -6
- package/dist/utils/chart-helpers.d.ts.map +1 -1
- package/dist/utils/chart-helpers.js +70 -15
- package/dist/utils/chart-helpers.js.map +1 -1
- package/dist/utils/format-text.d.ts +22 -0
- package/dist/utils/format-text.d.ts.map +1 -0
- package/dist/utils/format-text.js +33 -0
- package/dist/utils/format-text.js.map +1 -0
- package/dist/utils/fuse-palette.d.ts +12 -0
- package/dist/utils/fuse-palette.d.ts.map +1 -1
- package/dist/utils/fuse-palette.js +23 -1
- package/dist/utils/fuse-palette.js.map +1 -1
- package/dist/utils/fuse-widget.d.ts +13 -4
- package/dist/utils/fuse-widget.d.ts.map +1 -1
- package/dist/utils/fuse-widget.js.map +1 -1
- package/dist/utils/fusedash-visual.d.ts +208 -52
- package/dist/utils/fusedash-visual.d.ts.map +1 -1
- package/dist/utils/fusedash-visual.js +162 -30
- package/dist/utils/fusedash-visual.js.map +1 -1
- package/package.json +91 -12
- package/dist/components/donut-group-chart/element/styles.d.ts +0 -2
- package/dist/components/donut-group-chart/element/styles.d.ts.map +0 -1
- package/dist/components/donut-group-chart/element/styles.js.map +0 -1
- package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.d.ts +0 -34
- package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.d.ts.map +0 -1
- package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.js +0 -169
- package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.js.map +0 -1
- package/dist/components/donut-group-chart/index.d.ts +0 -5
- package/dist/components/donut-group-chart/index.d.ts.map +0 -1
- package/dist/components/donut-group-chart/index.js +0 -23
- package/dist/components/donut-group-chart/lib/domain.d.ts +0 -39
- package/dist/components/donut-group-chart/lib/domain.d.ts.map +0 -1
- package/dist/components/donut-group-chart/lib/domain.js +0 -51
- package/dist/components/donut-group-chart/lib/domain.js.map +0 -1
- package/dist/components/donut-group-chart/lib/format.d.ts +0 -7
- package/dist/components/donut-group-chart/lib/format.d.ts.map +0 -1
- package/dist/components/donut-group-chart/lib/format.js +0 -21
- package/dist/components/donut-group-chart/lib/format.js.map +0 -1
- package/dist/components/donut-group-chart/lib/index.d.ts +0 -5
- package/dist/components/donut-group-chart/lib/index.d.ts.map +0 -1
- package/dist/components/donut-group-chart/lib/normalize.d.ts +0 -14
- package/dist/components/donut-group-chart/lib/normalize.d.ts.map +0 -1
- package/dist/components/donut-group-chart/lib/normalize.js +0 -98
- package/dist/components/donut-group-chart/lib/normalize.js.map +0 -1
- package/dist/components/donut-group-chart/lib/types.d.ts +0 -49
- package/dist/components/donut-group-chart/lib/types.d.ts.map +0 -1
- package/dist/components/donut-group-chart/metadata.json.d.ts +0 -113
- package/dist/components/donut-group-chart/metadata.json.js +0 -45
- package/dist/components/donut-group-chart/render/draw.d.ts +0 -44
- package/dist/components/donut-group-chart/render/draw.d.ts.map +0 -1
- package/dist/components/donut-group-chart/render/draw.js +0 -194
- package/dist/components/donut-group-chart/render/draw.js.map +0 -1
- package/dist/components/donut-group-chart/render/index.d.ts +0 -2
- package/dist/components/donut-group-chart/render/index.d.ts.map +0 -1
- package/dist/components/donut-group-chart/tests/fixtures.d.ts +0 -33
- package/dist/components/donut-group-chart/tests/fixtures.d.ts.map +0 -1
- package/dist/lazy/donut-group-chart.d.ts +0 -4
- package/dist/lazy/donut-group-chart.d.ts.map +0 -1
- package/dist/lazy/donut-group-chart.js +0 -5
- package/dist/lazy/donut-group-chart.js.map +0 -1
- package/dist/node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/directive.js.map +0 -1
- package/dist/node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/directives/style-map.js.map +0 -1
- package/dist/node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/lit-html.js.map +0 -1
- /package/dist/components/{donut-group-chart → bias-variance-tradeoff-chart}/index.js.map +0 -0
- /package/dist/components/{donut-group-chart → parallel-coordinates-chart}/metadata.json.js.map +0 -0
- /package/dist/node_modules/{.pnpm/lit-html@3.3.3/node_modules/lit-html → lit-html}/directive.js +0 -0
- /package/dist/node_modules/{.pnpm/lit-html@3.3.3/node_modules/lit-html → lit-html}/directives/style-map.js +0 -0
- /package/dist/node_modules/{.pnpm/lit-html@3.3.3/node_modules/lit-html → lit-html}/lit-html.js +0 -0
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import { generateBreakPoints } from "../../../utils/breakpoints.js";
|
|
2
|
+
import { pickQualitativePalette } from "../../../utils/fuse-palette.js";
|
|
3
|
+
import { NODE_TYPE_COLORS } from "./domain.js";
|
|
4
|
+
const MAX_NETWORK_NODES = 250;
|
|
5
|
+
const MAX_NETWORK_LINKS = 600;
|
|
6
|
+
const LINK_KINDS = ["primary", "neutral", "secondary"];
|
|
7
|
+
const EMPTY_MODEL = {
|
|
8
|
+
nodes: [],
|
|
9
|
+
links: [],
|
|
10
|
+
breakpoints: [],
|
|
11
|
+
maxLinkValue: 1
|
|
12
|
+
};
|
|
13
|
+
function emptyModel() {
|
|
14
|
+
return { ...EMPTY_MODEL, nodes: [], links: [], breakpoints: [] };
|
|
15
|
+
}
|
|
16
|
+
function isRecord(value) {
|
|
17
|
+
return !!value && typeof value === "object" && !Array.isArray(value);
|
|
18
|
+
}
|
|
19
|
+
function optionalString(value) {
|
|
20
|
+
return typeof value === "string" && value.trim() ? value : void 0;
|
|
21
|
+
}
|
|
22
|
+
function finiteNumber(value) {
|
|
23
|
+
const n = typeof value === "number" ? value : Number(value);
|
|
24
|
+
return Number.isFinite(n) ? n : void 0;
|
|
25
|
+
}
|
|
26
|
+
function toNode(raw) {
|
|
27
|
+
if (!isRecord(raw)) return null;
|
|
28
|
+
const id = raw.id == null ? "" : String(raw.id);
|
|
29
|
+
if (!id) return null;
|
|
30
|
+
return {
|
|
31
|
+
id,
|
|
32
|
+
label: optionalString(raw.label) ?? id,
|
|
33
|
+
value: finiteNumber(raw.value),
|
|
34
|
+
type: raw.type == null ? "" : String(raw.type),
|
|
35
|
+
color: optionalString(raw.color),
|
|
36
|
+
img: optionalString(raw.img)
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function toLinkKind(raw) {
|
|
40
|
+
return LINK_KINDS.includes(raw) ? raw : "neutral";
|
|
41
|
+
}
|
|
42
|
+
function collectNodes(raw) {
|
|
43
|
+
const byId = /* @__PURE__ */ new Map();
|
|
44
|
+
for (const entry of raw) {
|
|
45
|
+
const node = toNode(entry);
|
|
46
|
+
if (node && !byId.has(node.id)) byId.set(node.id, node);
|
|
47
|
+
}
|
|
48
|
+
const nodes = [...byId.values()];
|
|
49
|
+
if (nodes.length <= MAX_NETWORK_NODES) return nodes;
|
|
50
|
+
return nodes.slice().sort((a, b) => (b.value ?? 0) - (a.value ?? 0)).slice(0, MAX_NETWORK_NODES);
|
|
51
|
+
}
|
|
52
|
+
function collectLinks(raw, known) {
|
|
53
|
+
const seen = /* @__PURE__ */ new Set();
|
|
54
|
+
const links = [];
|
|
55
|
+
raw.forEach((entry, index) => {
|
|
56
|
+
if (!isRecord(entry)) return;
|
|
57
|
+
const source = entry.source == null ? "" : String(entry.source);
|
|
58
|
+
const target = entry.target == null ? "" : String(entry.target);
|
|
59
|
+
if (!source || !target || source === target) return;
|
|
60
|
+
if (!known.has(source) || !known.has(target)) return;
|
|
61
|
+
const id = entry.id == null ? `${source}->${target}-${index}` : String(entry.id);
|
|
62
|
+
if (seen.has(id)) return;
|
|
63
|
+
seen.add(id);
|
|
64
|
+
links.push({
|
|
65
|
+
id,
|
|
66
|
+
source,
|
|
67
|
+
target,
|
|
68
|
+
value: finiteNumber(entry.value) ?? 0,
|
|
69
|
+
type: toLinkKind(entry.type)
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
if (links.length <= MAX_NETWORK_LINKS) return links;
|
|
73
|
+
return links.slice().sort((a, b) => b.value - a.value).slice(0, MAX_NETWORK_LINKS);
|
|
74
|
+
}
|
|
75
|
+
function paintUnknownTypes(nodes) {
|
|
76
|
+
const unknown = [];
|
|
77
|
+
for (const node of nodes) {
|
|
78
|
+
if (!node.type || NODE_TYPE_COLORS[node.type] || unknown.includes(node.type)) continue;
|
|
79
|
+
unknown.push(node.type);
|
|
80
|
+
}
|
|
81
|
+
if (!unknown.length) return;
|
|
82
|
+
const palette = pickQualitativePalette(0, unknown.length);
|
|
83
|
+
for (const node of nodes) {
|
|
84
|
+
if (node.color) continue;
|
|
85
|
+
const index = unknown.indexOf(node.type);
|
|
86
|
+
if (index >= 0) node.color = palette[index % palette.length];
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
function buildModel(rawNodes, rawLinks) {
|
|
90
|
+
let nodes = collectNodes(rawNodes);
|
|
91
|
+
if (!nodes.length) {
|
|
92
|
+
const derived = /* @__PURE__ */ new Map();
|
|
93
|
+
for (const entry of rawLinks) {
|
|
94
|
+
if (!isRecord(entry)) continue;
|
|
95
|
+
for (const key of ["source", "target"]) {
|
|
96
|
+
const id = entry[key] == null ? "" : String(entry[key]);
|
|
97
|
+
if (id && !derived.has(id)) derived.set(id, { id, label: id, type: "" });
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
nodes = collectNodes([...derived.values()]);
|
|
101
|
+
}
|
|
102
|
+
if (!nodes.length) return emptyModel();
|
|
103
|
+
paintUnknownTypes(nodes);
|
|
104
|
+
const links = collectLinks(rawLinks, new Set(nodes.map((n) => n.id)));
|
|
105
|
+
const values = nodes.map((n) => n.value).filter((v) => typeof v === "number");
|
|
106
|
+
return {
|
|
107
|
+
nodes,
|
|
108
|
+
links,
|
|
109
|
+
breakpoints: values.length ? generateBreakPoints(values, 7) : [],
|
|
110
|
+
maxLinkValue: links.reduce((max, l) => Math.max(max, l.value), 0) || 1
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
function normalizeFuse(payload) {
|
|
114
|
+
const first = Array.isArray(payload.data) ? payload.data[0] : void 0;
|
|
115
|
+
if (!isRecord(first)) return emptyModel();
|
|
116
|
+
return buildModel(
|
|
117
|
+
Array.isArray(first.nodes) ? first.nodes : [],
|
|
118
|
+
Array.isArray(first.links) ? first.links : []
|
|
119
|
+
);
|
|
120
|
+
}
|
|
121
|
+
function normalizeNetworkGraphData(input) {
|
|
122
|
+
if (!input) return emptyModel();
|
|
123
|
+
if (Array.isArray(input)) return buildModel([], input);
|
|
124
|
+
if (isRecord(input) && (Array.isArray(input.nodes) || Array.isArray(input.links))) {
|
|
125
|
+
return buildModel(
|
|
126
|
+
Array.isArray(input.nodes) ? input.nodes : [],
|
|
127
|
+
Array.isArray(input.links) ? input.links : []
|
|
128
|
+
);
|
|
129
|
+
}
|
|
130
|
+
if (isRecord(input) && Array.isArray(input.data)) {
|
|
131
|
+
return normalizeFuse(input);
|
|
132
|
+
}
|
|
133
|
+
return emptyModel();
|
|
134
|
+
}
|
|
135
|
+
export {
|
|
136
|
+
MAX_NETWORK_LINKS,
|
|
137
|
+
MAX_NETWORK_NODES,
|
|
138
|
+
normalizeNetworkGraphData
|
|
139
|
+
};
|
|
140
|
+
//# sourceMappingURL=normalize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.js","sources":["../../../../src/components/network-graph/lib/normalize.ts"],"sourcesContent":["import { generateBreakPoints } from '../../../utils/breakpoints.js';\nimport { pickQualitativePalette } from '../../../utils/fuse-palette.js';\n\nimport { NODE_TYPE_COLORS } from './domain.js';\n\nimport type {\n NetworkGraphFusePayload,\n NetworkGraphInput,\n NetworkGraphModel,\n NetworkLink,\n NetworkLinkKind,\n NetworkNode,\n} from './types.js';\n\n/**\n * Mark caps for chat: a node costs eight SVG elements plus a label, a link\n * costs a line plus a label pill. Denser payloads keep their largest members.\n */\nexport const MAX_NETWORK_NODES = 250;\nexport const MAX_NETWORK_LINKS = 600;\n\nconst LINK_KINDS: NetworkLinkKind[] = ['primary', 'neutral', 'secondary'];\n\nconst EMPTY_MODEL: NetworkGraphModel = {\n nodes: [],\n links: [],\n breakpoints: [],\n maxLinkValue: 1,\n};\n\nfunction emptyModel(): NetworkGraphModel {\n return { ...EMPTY_MODEL, nodes: [], links: [], breakpoints: [] };\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return !!value && typeof value === 'object' && !Array.isArray(value);\n}\n\nfunction optionalString(value: unknown): string | undefined {\n return typeof value === 'string' && value.trim() ? value : undefined;\n}\n\nfunction finiteNumber(value: unknown): number | undefined {\n const n = typeof value === 'number' ? value : Number(value);\n return Number.isFinite(n) ? n : undefined;\n}\n\nfunction toNode(raw: unknown): NetworkNode | null {\n if (!isRecord(raw)) return null;\n const id = raw.id == null ? '' : String(raw.id);\n if (!id) return null;\n return {\n id,\n label: optionalString(raw.label) ?? id,\n value: finiteNumber(raw.value),\n type: raw.type == null ? '' : String(raw.type),\n color: optionalString(raw.color),\n img: optionalString(raw.img),\n };\n}\n\nfunction toLinkKind(raw: unknown): NetworkLinkKind {\n return LINK_KINDS.includes(raw as NetworkLinkKind)\n ? (raw as NetworkLinkKind)\n : 'neutral';\n}\n\nfunction collectNodes(raw: unknown[]): NetworkNode[] {\n const byId = new Map<string, NetworkNode>();\n for (const entry of raw) {\n const node = toNode(entry);\n if (node && !byId.has(node.id)) byId.set(node.id, node);\n }\n const nodes = [...byId.values()];\n if (nodes.length <= MAX_NETWORK_NODES) return nodes;\n return nodes\n .slice()\n .sort((a, b) => (b.value ?? 0) - (a.value ?? 0))\n .slice(0, MAX_NETWORK_NODES);\n}\n\nfunction collectLinks(raw: unknown[], known: Set<string>): NetworkLink[] {\n const seen = new Set<string>();\n const links: NetworkLink[] = [];\n\n raw.forEach((entry, index) => {\n if (!isRecord(entry)) return;\n const source = entry.source == null ? '' : String(entry.source);\n const target = entry.target == null ? '' : String(entry.target);\n // A self link draws as a zero-length stroke — it costs marks and shows\n // nothing, so it never reaches the plot.\n if (!source || !target || source === target) return;\n if (!known.has(source) || !known.has(target)) return;\n\n const id = entry.id == null ? `${source}->${target}-${index}` : String(entry.id);\n if (seen.has(id)) return;\n seen.add(id);\n\n links.push({\n id,\n source,\n target,\n value: finiteNumber(entry.value) ?? 0,\n type: toLinkKind(entry.type),\n });\n });\n\n if (links.length <= MAX_NETWORK_LINKS) return links;\n return links\n .slice()\n .sort((a, b) => b.value - a.value)\n .slice(0, MAX_NETWORK_LINKS);\n}\n\n/**\n * `NODE_TYPE_COLORS` only covers the categories the client ships. Anything else\n * (the default mock's `investment_bank`, `asset_management`, …) would collapse\n * onto one slate fill, so unknown categories draw from the qualitative palette\n * in first-seen order instead.\n */\nfunction paintUnknownTypes(nodes: NetworkNode[]): void {\n const unknown: string[] = [];\n for (const node of nodes) {\n if (!node.type || NODE_TYPE_COLORS[node.type] || unknown.includes(node.type)) continue;\n unknown.push(node.type);\n }\n if (!unknown.length) return;\n\n const palette = pickQualitativePalette(0, unknown.length);\n for (const node of nodes) {\n if (node.color) continue;\n const index = unknown.indexOf(node.type);\n if (index >= 0) node.color = palette[index % palette.length];\n }\n}\n\nfunction buildModel(rawNodes: unknown[], rawLinks: unknown[]): NetworkGraphModel {\n let nodes = collectNodes(rawNodes);\n\n if (!nodes.length) {\n // Links-only payloads describe their own endpoints.\n const derived = new Map<string, NetworkNode>();\n for (const entry of rawLinks) {\n if (!isRecord(entry)) continue;\n for (const key of ['source', 'target'] as const) {\n const id = entry[key] == null ? '' : String(entry[key]);\n if (id && !derived.has(id)) derived.set(id, { id, label: id, type: '' });\n }\n }\n nodes = collectNodes([...derived.values()]);\n }\n\n if (!nodes.length) return emptyModel();\n\n paintUnknownTypes(nodes);\n\n const links = collectLinks(rawLinks, new Set(nodes.map((n) => n.id)));\n const values = nodes\n .map((n) => n.value)\n .filter((v): v is number => typeof v === 'number');\n\n return {\n nodes,\n links,\n breakpoints: values.length ? generateBreakPoints(values, 7) : [],\n maxLinkValue: links.reduce((max, l) => Math.max(max, l.value), 0) || 1,\n };\n}\n\n/** Client `extractGraphDataFromWidget` — the graph lives in `widget.data[0]`. */\nfunction normalizeFuse(payload: NetworkGraphFusePayload): NetworkGraphModel {\n const first = Array.isArray(payload.data) ? payload.data[0] : undefined;\n if (!isRecord(first)) return emptyModel();\n return buildModel(\n Array.isArray(first.nodes) ? first.nodes : [],\n Array.isArray(first.links) ? first.links : [],\n );\n}\n\n/** Normalize FuseDash widget or chat payloads into a force-graph model. */\nexport function normalizeNetworkGraphData(\n input: NetworkGraphInput | null | undefined,\n): NetworkGraphModel {\n if (!input) return emptyModel();\n\n if (Array.isArray(input)) return buildModel([], input);\n\n if (isRecord(input) && (Array.isArray(input.nodes) || Array.isArray(input.links))) {\n return buildModel(\n Array.isArray(input.nodes) ? input.nodes : [],\n Array.isArray(input.links) ? input.links : [],\n );\n }\n\n if (isRecord(input) && Array.isArray(input.data)) {\n return normalizeFuse(input as NetworkGraphFusePayload);\n }\n\n return emptyModel();\n}\n"],"names":[],"mappings":";;;AAkBO,MAAM,oBAAoB;AAC1B,MAAM,oBAAoB;AAEjC,MAAM,aAAgC,CAAC,WAAW,WAAW,WAAW;AAExE,MAAM,cAAiC;AAAA,EACrC,OAAO,CAAA;AAAA,EACP,OAAO,CAAA;AAAA,EACP,aAAa,CAAA;AAAA,EACb,cAAc;AAChB;AAEA,SAAS,aAAgC;AACvC,SAAO,EAAE,GAAG,aAAa,OAAO,CAAA,GAAI,OAAO,CAAA,GAAI,aAAa,GAAC;AAC/D;AAEA,SAAS,SAAS,OAAkD;AAClE,SAAO,CAAC,CAAC,SAAS,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AACrE;AAEA,SAAS,eAAe,OAAoC;AAC1D,SAAO,OAAO,UAAU,YAAY,MAAM,KAAA,IAAS,QAAQ;AAC7D;AAEA,SAAS,aAAa,OAAoC;AACxD,QAAM,IAAI,OAAO,UAAU,WAAW,QAAQ,OAAO,KAAK;AAC1D,SAAO,OAAO,SAAS,CAAC,IAAI,IAAI;AAClC;AAEA,SAAS,OAAO,KAAkC;AAChD,MAAI,CAAC,SAAS,GAAG,EAAG,QAAO;AAC3B,QAAM,KAAK,IAAI,MAAM,OAAO,KAAK,OAAO,IAAI,EAAE;AAC9C,MAAI,CAAC,GAAI,QAAO;AAChB,SAAO;AAAA,IACL;AAAA,IACA,OAAO,eAAe,IAAI,KAAK,KAAK;AAAA,IACpC,OAAO,aAAa,IAAI,KAAK;AAAA,IAC7B,MAAM,IAAI,QAAQ,OAAO,KAAK,OAAO,IAAI,IAAI;AAAA,IAC7C,OAAO,eAAe,IAAI,KAAK;AAAA,IAC/B,KAAK,eAAe,IAAI,GAAG;AAAA,EAAA;AAE/B;AAEA,SAAS,WAAW,KAA+B;AACjD,SAAO,WAAW,SAAS,GAAsB,IAC5C,MACD;AACN;AAEA,SAAS,aAAa,KAA+B;AACnD,QAAM,2BAAW,IAAA;AACjB,aAAW,SAAS,KAAK;AACvB,UAAM,OAAO,OAAO,KAAK;AACzB,QAAI,QAAQ,CAAC,KAAK,IAAI,KAAK,EAAE,EAAG,MAAK,IAAI,KAAK,IAAI,IAAI;AAAA,EACxD;AACA,QAAM,QAAQ,CAAC,GAAG,KAAK,QAAQ;AAC/B,MAAI,MAAM,UAAU,kBAAmB,QAAO;AAC9C,SAAO,MACJ,QACA,KAAK,CAAC,GAAG,OAAO,EAAE,SAAS,MAAM,EAAE,SAAS,EAAE,EAC9C,MAAM,GAAG,iBAAiB;AAC/B;AAEA,SAAS,aAAa,KAAgB,OAAmC;AACvE,QAAM,2BAAW,IAAA;AACjB,QAAM,QAAuB,CAAA;AAE7B,MAAI,QAAQ,CAAC,OAAO,UAAU;AAC5B,QAAI,CAAC,SAAS,KAAK,EAAG;AACtB,UAAM,SAAS,MAAM,UAAU,OAAO,KAAK,OAAO,MAAM,MAAM;AAC9D,UAAM,SAAS,MAAM,UAAU,OAAO,KAAK,OAAO,MAAM,MAAM;AAG9D,QAAI,CAAC,UAAU,CAAC,UAAU,WAAW,OAAQ;AAC7C,QAAI,CAAC,MAAM,IAAI,MAAM,KAAK,CAAC,MAAM,IAAI,MAAM,EAAG;AAE9C,UAAM,KAAK,MAAM,MAAM,OAAO,GAAG,MAAM,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,MAAM,EAAE;AAC/E,QAAI,KAAK,IAAI,EAAE,EAAG;AAClB,SAAK,IAAI,EAAE;AAEX,UAAM,KAAK;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO,aAAa,MAAM,KAAK,KAAK;AAAA,MACpC,MAAM,WAAW,MAAM,IAAI;AAAA,IAAA,CAC5B;AAAA,EACH,CAAC;AAED,MAAI,MAAM,UAAU,kBAAmB,QAAO;AAC9C,SAAO,MACJ,MAAA,EACA,KAAK,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,KAAK,EAChC,MAAM,GAAG,iBAAiB;AAC/B;AAQA,SAAS,kBAAkB,OAA4B;AACrD,QAAM,UAAoB,CAAA;AAC1B,aAAW,QAAQ,OAAO;AACxB,QAAI,CAAC,KAAK,QAAQ,iBAAiB,KAAK,IAAI,KAAK,QAAQ,SAAS,KAAK,IAAI,EAAG;AAC9E,YAAQ,KAAK,KAAK,IAAI;AAAA,EACxB;AACA,MAAI,CAAC,QAAQ,OAAQ;AAErB,QAAM,UAAU,uBAAuB,GAAG,QAAQ,MAAM;AACxD,aAAW,QAAQ,OAAO;AACxB,QAAI,KAAK,MAAO;AAChB,UAAM,QAAQ,QAAQ,QAAQ,KAAK,IAAI;AACvC,QAAI,SAAS,EAAG,MAAK,QAAQ,QAAQ,QAAQ,QAAQ,MAAM;AAAA,EAC7D;AACF;AAEA,SAAS,WAAW,UAAqB,UAAwC;AAC/E,MAAI,QAAQ,aAAa,QAAQ;AAEjC,MAAI,CAAC,MAAM,QAAQ;AAEjB,UAAM,8BAAc,IAAA;AACpB,eAAW,SAAS,UAAU;AAC5B,UAAI,CAAC,SAAS,KAAK,EAAG;AACtB,iBAAW,OAAO,CAAC,UAAU,QAAQ,GAAY;AAC/C,cAAM,KAAK,MAAM,GAAG,KAAK,OAAO,KAAK,OAAO,MAAM,GAAG,CAAC;AACtD,YAAI,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAG,SAAQ,IAAI,IAAI,EAAE,IAAI,OAAO,IAAI,MAAM,IAAI;AAAA,MACzE;AAAA,IACF;AACA,YAAQ,aAAa,CAAC,GAAG,QAAQ,OAAA,CAAQ,CAAC;AAAA,EAC5C;AAEA,MAAI,CAAC,MAAM,OAAQ,QAAO,WAAA;AAE1B,oBAAkB,KAAK;AAEvB,QAAM,QAAQ,aAAa,UAAU,IAAI,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACpE,QAAM,SAAS,MACZ,IAAI,CAAC,MAAM,EAAE,KAAK,EAClB,OAAO,CAAC,MAAmB,OAAO,MAAM,QAAQ;AAEnD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,aAAa,OAAO,SAAS,oBAAoB,QAAQ,CAAC,IAAI,CAAA;AAAA,IAC9D,cAAc,MAAM,OAAO,CAAC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,KAAK,GAAG,CAAC,KAAK;AAAA,EAAA;AAEzE;AAGA,SAAS,cAAc,SAAqD;AAC1E,QAAM,QAAQ,MAAM,QAAQ,QAAQ,IAAI,IAAI,QAAQ,KAAK,CAAC,IAAI;AAC9D,MAAI,CAAC,SAAS,KAAK,UAAU,WAAA;AAC7B,SAAO;AAAA,IACL,MAAM,QAAQ,MAAM,KAAK,IAAI,MAAM,QAAQ,CAAA;AAAA,IAC3C,MAAM,QAAQ,MAAM,KAAK,IAAI,MAAM,QAAQ,CAAA;AAAA,EAAC;AAEhD;AAGO,SAAS,0BACd,OACmB;AACnB,MAAI,CAAC,MAAO,QAAO,WAAA;AAEnB,MAAI,MAAM,QAAQ,KAAK,UAAU,WAAW,CAAA,GAAI,KAAK;AAErD,MAAI,SAAS,KAAK,MAAM,MAAM,QAAQ,MAAM,KAAK,KAAK,MAAM,QAAQ,MAAM,KAAK,IAAI;AACjF,WAAO;AAAA,MACL,MAAM,QAAQ,MAAM,KAAK,IAAI,MAAM,QAAQ,CAAA;AAAA,MAC3C,MAAM,QAAQ,MAAM,KAAK,IAAI,MAAM,QAAQ,CAAA;AAAA,IAAC;AAAA,EAEhD;AAEA,MAAI,SAAS,KAAK,KAAK,MAAM,QAAQ,MAAM,IAAI,GAAG;AAChD,WAAO,cAAc,KAAgC;AAAA,EACvD;AAEA,SAAO,WAAA;AACT;"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/** Node size buckets, smallest → largest (client `SIZE_KEYS`). */
|
|
2
|
+
export type NetworkSizeKey = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' | '3xl';
|
|
3
|
+
/** Link stroke palette key (client `LINK_COLORS`). */
|
|
4
|
+
export type NetworkLinkKind = 'primary' | 'neutral' | 'secondary';
|
|
5
|
+
export interface NetworkNode {
|
|
6
|
+
id: string;
|
|
7
|
+
/** Drawn as the label title; falls back to the id. */
|
|
8
|
+
label: string;
|
|
9
|
+
/** Drives the size bucket and the label's value row. */
|
|
10
|
+
value?: number;
|
|
11
|
+
/** Category key resolved through `NODE_TYPE_COLORS`. */
|
|
12
|
+
type: string;
|
|
13
|
+
/** Explicit colour — wins over `type`. */
|
|
14
|
+
color?: string;
|
|
15
|
+
/** Avatar URL, clipped to the node circle. */
|
|
16
|
+
img?: string;
|
|
17
|
+
}
|
|
18
|
+
export interface NetworkLink {
|
|
19
|
+
id: string;
|
|
20
|
+
source: string;
|
|
21
|
+
target: string;
|
|
22
|
+
/** Label text and, while the link is active, its stroke width. */
|
|
23
|
+
value: number;
|
|
24
|
+
type: NetworkLinkKind;
|
|
25
|
+
}
|
|
26
|
+
export interface NetworkGraphModel {
|
|
27
|
+
nodes: NetworkNode[];
|
|
28
|
+
links: NetworkLink[];
|
|
29
|
+
/** Seven quantile breaks over node values — size buckets and legend rows. */
|
|
30
|
+
breakpoints: number[];
|
|
31
|
+
/** Largest link value; active links scale their width against it. */
|
|
32
|
+
maxLinkValue: number;
|
|
33
|
+
}
|
|
34
|
+
/** Legend bucket: a value range and the node radius it stands for. */
|
|
35
|
+
export interface NetworkLegendRange {
|
|
36
|
+
start: number;
|
|
37
|
+
end: number;
|
|
38
|
+
radius: number;
|
|
39
|
+
}
|
|
40
|
+
/** Inclusive-left, exclusive-right bucket window from the legend slider. */
|
|
41
|
+
export interface NetworkRange {
|
|
42
|
+
leftSlider: number;
|
|
43
|
+
rightSlider: number;
|
|
44
|
+
}
|
|
45
|
+
/** Chat payload that already describes the graph. */
|
|
46
|
+
export interface NetworkGraphPayload {
|
|
47
|
+
nodes?: unknown[];
|
|
48
|
+
links?: unknown[];
|
|
49
|
+
}
|
|
50
|
+
/** FuseDash widget payload — the graph lives in `data[0]`. */
|
|
51
|
+
export interface NetworkGraphFusePayload {
|
|
52
|
+
data?: unknown;
|
|
53
|
+
name?: string;
|
|
54
|
+
}
|
|
55
|
+
export type NetworkGraphInput = NetworkGraphPayload | NetworkGraphFusePayload | unknown[];
|
|
56
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/network-graph/lib/types.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,CAAC;AAE9E,sDAAsD;AACtD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;AAElE,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,6EAA6E;IAC7E,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,qEAAqE;IACrE,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,sEAAsE;AACtE,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,4EAA4E;AAC5E,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,qDAAqD;AACrD,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAED,8DAA8D;AAC9D,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,iBAAiB,GACzB,mBAAmB,GACnB,uBAAuB,GACvB,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
"id": "network-graph",
|
|
3
|
+
"tag": "ui9000-network-graph",
|
|
4
|
+
"title": "Network Graph",
|
|
5
|
+
"description": "Chat-optimized FuseDash NetworkGraph rewritten in D3 (d3-force/-drag/-zoom). Value-sized nodes, category colours, click-to-focus links, and a size-bucket legend filter. No Redux.",
|
|
6
|
+
"chartTypeKeys": ["networkGraphChart"],
|
|
7
|
+
"source": "client/libs/shared/components/src/Widgets/NetworkGraph/",
|
|
8
|
+
"stack": "d3",
|
|
9
|
+
"lazyImport": "@fusedashlabs/widgets/lazy/network-graph",
|
|
10
|
+
"entry": "@fusedashlabs/widgets/network-graph",
|
|
11
|
+
"usageConditions": {
|
|
12
|
+
"host": "mcp-chat",
|
|
13
|
+
"notFor": "fusedash-editor",
|
|
14
|
+
"mapsExcluded": true
|
|
15
|
+
},
|
|
16
|
+
"allowedActions": ["hover", "select", "drag", "zoom", "filter", "resize"],
|
|
17
|
+
"propsSchema": {
|
|
18
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
19
|
+
"type": "object",
|
|
20
|
+
"properties": {
|
|
21
|
+
"data": {
|
|
22
|
+
"oneOf": [
|
|
23
|
+
{
|
|
24
|
+
"type": "object",
|
|
25
|
+
"description": "FuseDash WidgetItem-shaped payload — the graph lives in data[0].",
|
|
26
|
+
"required": ["data"],
|
|
27
|
+
"properties": {
|
|
28
|
+
"name": { "type": "string" },
|
|
29
|
+
"data": {
|
|
30
|
+
"type": "array",
|
|
31
|
+
"items": {
|
|
32
|
+
"type": "object",
|
|
33
|
+
"properties": {
|
|
34
|
+
"nodes": { "type": "array", "items": { "$ref": "#/$defs/node" } },
|
|
35
|
+
"links": { "type": "array", "items": { "$ref": "#/$defs/link" } }
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"type": "object",
|
|
43
|
+
"description": "Graph payload from chat.",
|
|
44
|
+
"properties": {
|
|
45
|
+
"nodes": { "type": "array", "items": { "$ref": "#/$defs/node" } },
|
|
46
|
+
"links": { "type": "array", "items": { "$ref": "#/$defs/link" } }
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"type": "array",
|
|
51
|
+
"description": "Links only — node ids are derived from the endpoints.",
|
|
52
|
+
"items": { "$ref": "#/$defs/link" }
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
},
|
|
56
|
+
"chart-title": { "type": "string" },
|
|
57
|
+
"show-header": { "type": "boolean", "default": true },
|
|
58
|
+
"show-legend": { "type": "boolean", "default": true },
|
|
59
|
+
"show-tooltip": { "type": "boolean", "default": true }
|
|
60
|
+
},
|
|
61
|
+
"required": ["data"],
|
|
62
|
+
"$defs": {
|
|
63
|
+
"node": {
|
|
64
|
+
"type": "object",
|
|
65
|
+
"required": ["id"],
|
|
66
|
+
"properties": {
|
|
67
|
+
"id": { "type": "string" },
|
|
68
|
+
"label": { "type": "string" },
|
|
69
|
+
"value": { "type": "number", "description": "Drives the size bucket." },
|
|
70
|
+
"type": { "type": "string", "description": "Category key → node colour." },
|
|
71
|
+
"color": { "type": "string" },
|
|
72
|
+
"img": { "type": "string", "description": "Avatar URL clipped to the node circle." }
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"link": {
|
|
76
|
+
"type": "object",
|
|
77
|
+
"required": ["source", "target"],
|
|
78
|
+
"properties": {
|
|
79
|
+
"id": { "type": "string" },
|
|
80
|
+
"source": { "type": "string" },
|
|
81
|
+
"target": { "type": "string" },
|
|
82
|
+
"value": { "type": "number" },
|
|
83
|
+
"type": { "type": "string", "enum": ["primary", "neutral", "secondary"] }
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
;
|
|
90
|
+
|
|
91
|
+
export default _default;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
const id = "network-graph";
|
|
2
|
+
const tag = "ui9000-network-graph";
|
|
3
|
+
const title = "Network Graph";
|
|
4
|
+
const description = "Chat-optimized FuseDash NetworkGraph rewritten in D3 (d3-force/-drag/-zoom). Value-sized nodes, category colours, click-to-focus links, and a size-bucket legend filter. No Redux.";
|
|
5
|
+
const chartTypeKeys = ["networkGraphChart"];
|
|
6
|
+
const source = "client/libs/shared/components/src/Widgets/NetworkGraph/";
|
|
7
|
+
const stack = "d3";
|
|
8
|
+
const lazyImport = "@fusedashlabs/widgets/lazy/network-graph";
|
|
9
|
+
const entry = "@fusedashlabs/widgets/network-graph";
|
|
10
|
+
const usageConditions = { "host": "mcp-chat", "notFor": "fusedash-editor", "mapsExcluded": true };
|
|
11
|
+
const allowedActions = ["hover", "select", "drag", "zoom", "filter", "resize"];
|
|
12
|
+
const propsSchema = { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "data": { "oneOf": [{ "type": "object", "description": "FuseDash WidgetItem-shaped payload — the graph lives in data[0].", "required": ["data"], "properties": { "name": { "type": "string" }, "data": { "type": "array", "items": { "type": "object", "properties": { "nodes": { "type": "array", "items": { "$ref": "#/$defs/node" } }, "links": { "type": "array", "items": { "$ref": "#/$defs/link" } } } } } } }, { "type": "object", "description": "Graph payload from chat.", "properties": { "nodes": { "type": "array", "items": { "$ref": "#/$defs/node" } }, "links": { "type": "array", "items": { "$ref": "#/$defs/link" } } } }, { "type": "array", "description": "Links only — node ids are derived from the endpoints.", "items": { "$ref": "#/$defs/link" } }] }, "chart-title": { "type": "string" }, "show-header": { "type": "boolean", "default": true }, "show-legend": { "type": "boolean", "default": true }, "show-tooltip": { "type": "boolean", "default": true } }, "required": ["data"], "$defs": { "node": { "type": "object", "required": ["id"], "properties": { "id": { "type": "string" }, "label": { "type": "string" }, "value": { "type": "number", "description": "Drives the size bucket." }, "type": { "type": "string", "description": "Category key → node colour." }, "color": { "type": "string" }, "img": { "type": "string", "description": "Avatar URL clipped to the node circle." } } }, "link": { "type": "object", "required": ["source", "target"], "properties": { "id": { "type": "string" }, "source": { "type": "string" }, "target": { "type": "string" }, "value": { "type": "number" }, "type": { "type": "string", "enum": ["primary", "neutral", "secondary"] } } } } };
|
|
13
|
+
const networkGraphMeta = {
|
|
14
|
+
id,
|
|
15
|
+
tag,
|
|
16
|
+
title,
|
|
17
|
+
description,
|
|
18
|
+
chartTypeKeys,
|
|
19
|
+
source,
|
|
20
|
+
stack,
|
|
21
|
+
lazyImport,
|
|
22
|
+
entry,
|
|
23
|
+
usageConditions,
|
|
24
|
+
allowedActions,
|
|
25
|
+
propsSchema
|
|
26
|
+
};
|
|
27
|
+
export {
|
|
28
|
+
allowedActions,
|
|
29
|
+
chartTypeKeys,
|
|
30
|
+
networkGraphMeta as default,
|
|
31
|
+
description,
|
|
32
|
+
entry,
|
|
33
|
+
id,
|
|
34
|
+
lazyImport,
|
|
35
|
+
propsSchema,
|
|
36
|
+
source,
|
|
37
|
+
stack,
|
|
38
|
+
tag,
|
|
39
|
+
title,
|
|
40
|
+
usageConditions
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=metadata.json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metadata.json.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { WidgetTheme } from '../../../types/index.js';
|
|
2
|
+
import { NetworkGraphModel } from '../lib/index.js';
|
|
3
|
+
export interface RenderNetworkGraphOptions {
|
|
4
|
+
model: NetworkGraphModel;
|
|
5
|
+
/** `null` shows every node; otherwise only these ids stay visible. */
|
|
6
|
+
visibleIds: Set<string> | null;
|
|
7
|
+
width: number;
|
|
8
|
+
height: number;
|
|
9
|
+
theme: WidgetTheme;
|
|
10
|
+
/** Selection carried across a redraw (legend filtering keeps it). */
|
|
11
|
+
activeNodeId?: string | null;
|
|
12
|
+
/** Fired when a node is clicked; `null` when the same node is clicked again. */
|
|
13
|
+
onSelect?: (id: string | null) => void;
|
|
14
|
+
/** Drag-to-pan plus ctrl/cmd + wheel zoom. */
|
|
15
|
+
enableZoom?: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Live handle on a mounted graph. The element keeps this so the legend filter
|
|
19
|
+
* and container resizes can update the plot in place instead of rebuilding it.
|
|
20
|
+
*/
|
|
21
|
+
export interface NetworkGraphController {
|
|
22
|
+
/**
|
|
23
|
+
* Legend filter — hides nodes/links in place. Isolated visible nodes stay
|
|
24
|
+
* pinned in their zone; ghost links to hidden nodes leave the force.
|
|
25
|
+
*/
|
|
26
|
+
setVisibleIds(visibleIds: Set<string> | null): void;
|
|
27
|
+
/** Container resize — re-frames the settled layout, runs no new force ticks. */
|
|
28
|
+
resize(width: number, height: number): void;
|
|
29
|
+
}
|
|
30
|
+
/** Stop the simulation attached to `container`, keeping its layout for the next draw. */
|
|
31
|
+
export declare function stopNetworkGraph(container: HTMLElement): void;
|
|
32
|
+
/**
|
|
33
|
+
* Legend filter. Returns `false` when no graph is mounted so the caller can fall
|
|
34
|
+
* back to a full render; on success nothing is rebuilt and the camera holds.
|
|
35
|
+
*/
|
|
36
|
+
export declare function updateNetworkGraphVisibility(container: HTMLElement, visibleIds: Set<string> | null): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Container resize. Returns `false` when no graph is mounted; otherwise the
|
|
39
|
+
* settled layout is re-framed without re-running the force simulation.
|
|
40
|
+
*/
|
|
41
|
+
export declare function resizeNetworkGraph(container: HTMLElement, width: number, height: number): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* FuseDash NetworkGraph — a d3-force layout of image/colour nodes joined by
|
|
44
|
+
* value-weighted links. The client lays out on a fixed 2000x1375 canvas and
|
|
45
|
+
* zooms into it; chat gives the chart its container instead, so the simulation
|
|
46
|
+
* runs in container coordinates with the spatial forces scaled to match.
|
|
47
|
+
*/
|
|
48
|
+
export declare function renderNetworkGraph(container: HTMLElement, options: RenderNetworkGraphOptions): NetworkGraphController | null;
|
|
49
|
+
//# sourceMappingURL=draw.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draw.d.ts","sourceRoot":"","sources":["../../../../src/components/network-graph/render/draw.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAgBL,KAAK,iBAAiB,EAGvB,MAAM,iBAAiB,CAAC;AAqCzB,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,iBAAiB,CAAC;IACzB,sEAAsE;IACtE,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,WAAW,CAAC;IACnB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gFAAgF;IAChF,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvC,8CAA8C;IAC9C,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AA8BD;;;GAGG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACpD,gFAAgF;IAChF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7C;AAgDD,yFAAyF;AACzF,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,CAY7D;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,WAAW,EACtB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,GAC7B,OAAO,CAKT;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,WAAW,EACtB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,OAAO,CAKT;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,yBAAyB,GACjC,sBAAsB,GAAG,IAAI,CAmV/B"}
|