@fusedashlabs/widgets 0.2.0 → 0.3.1
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 +72 -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/index.js.map +1 -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/lib/registry.d.ts.map +1 -1
- package/dist/components/chart-renderer/lib/registry.js +12 -0
- package/dist/components/chart-renderer/lib/registry.js.map +1 -1
- package/dist/components/donut-chart/element/ui9000-donut-chart.d.ts +1 -1
- package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.d.ts +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/gini-impurity-entropy-chart/element/styles.js +72 -0
- 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/ui9000-lollipop.d.ts +1 -1
- 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 +152 -0
- package/dist/components/network-graph/element/styles.js.map +1 -0
- package/dist/components/network-graph/element/ui9000-network-graph.d.ts +43 -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 +230 -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 +5 -0
- package/dist/components/network-graph/lib/index.d.ts.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 +46 -0
- package/dist/components/network-graph/render/draw.d.ts.map +1 -0
- package/dist/components/network-graph/render/draw.js +468 -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/metadata.json.js.map +1 -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/ui9000-pie-chart.d.ts +1 -1
- 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/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 +167 -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 +18 -0
- package/dist/components/polar-area-chart/index.js.map +1 -0
- package/dist/components/polar-area-chart/lib/domain.d.ts +25 -0
- package/dist/components/polar-area-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/polar-area-chart/lib/domain.js +47 -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 +117 -0
- package/dist/components/polar-area-chart/lib/normalize.js.map +1 -0
- package/dist/components/polar-area-chart/lib/types.d.ts +43 -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/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/ui9000-sankey-chart.d.ts +1 -1
- package/dist/components/sankey-chart/element/ui9000-sankey-chart.js +2 -1
- 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/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/ui9000-chart-base.d.ts +2 -2
- package/dist/index.d.ts +14 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +110 -13
- 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 +7 -1
- package/dist/lazy/index.d.ts.map +1 -1
- package/dist/lazy/index.js +48 -0
- package/dist/lazy/index.js.map +1 -1
- 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/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 +21 -0
- package/dist/utils/chart-helpers.d.ts.map +1 -1
- package/dist/utils/chart-helpers.js +54 -0
- package/dist/utils/chart-helpers.js.map +1 -1
- package/dist/utils/format-text.d.ts +17 -0
- package/dist/utils/format-text.d.ts.map +1 -0
- package/dist/utils/format-text.js +26 -0
- package/dist/utils/format-text.js.map +1 -0
- package/dist/utils/fusedash-visual.d.ts +143 -0
- package/dist/utils/fusedash-visual.d.ts.map +1 -1
- package/dist/utils/fusedash-visual.js +114 -1
- package/dist/utils/fusedash-visual.js.map +1 -1
- package/package.json +56 -4
- package/dist/node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/directive.js +0 -28
- 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 +0 -37
- 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 +0 -231
- package/dist/node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/lit-html.js.map +0 -1
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { nothing, html } from "lit";
|
|
2
|
+
import { property, state, customElement } from "lit/decorators.js";
|
|
3
|
+
import { readThemeFromElement } from "../../../context/widget-context.js";
|
|
4
|
+
import { Ui9000ChartElement } from "../../../element/ui9000-chart-base.js";
|
|
5
|
+
import { parseJsonAttr } from "../../../utils/chart-helpers.js";
|
|
6
|
+
import { chartPropsChanged } from "../../../utils/lit-draw.js";
|
|
7
|
+
import { stopNetworkGraph, resizeNetworkGraph, renderNetworkGraph, updateNetworkGraphVisibility } from "../render/draw.js";
|
|
8
|
+
import { networkGraphStyles } from "./styles.js";
|
|
9
|
+
import { FULL_RANGE, legendRanges, visibleNodeIds } from "../lib/domain.js";
|
|
10
|
+
import { normalizeNetworkGraphData } from "../lib/normalize.js";
|
|
11
|
+
import { formatLegendValue } from "../lib/format.js";
|
|
12
|
+
import { chartShellStyles } from "../../../element/chart-shell-styles.js";
|
|
13
|
+
var __defProp = Object.defineProperty;
|
|
14
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
15
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
16
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
17
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
18
|
+
if (decorator = decorators[i])
|
|
19
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
20
|
+
if (kind && result) __defProp(target, key, result);
|
|
21
|
+
return result;
|
|
22
|
+
};
|
|
23
|
+
const LEGEND_BUBBLE_RATIO = 1.2;
|
|
24
|
+
let Ui9000NetworkGraph = class extends Ui9000ChartElement {
|
|
25
|
+
constructor() {
|
|
26
|
+
super(...arguments);
|
|
27
|
+
this.showLegend = true;
|
|
28
|
+
this.showTooltip = true;
|
|
29
|
+
this._empty = false;
|
|
30
|
+
this._ranges = [];
|
|
31
|
+
this._range = { ...FULL_RANGE };
|
|
32
|
+
this._activeNodeId = null;
|
|
33
|
+
this._model = null;
|
|
34
|
+
this._raf = 0;
|
|
35
|
+
this._resizeRaf = 0;
|
|
36
|
+
}
|
|
37
|
+
connectedCallback() {
|
|
38
|
+
super.connectedCallback();
|
|
39
|
+
this._resizeObserver = new ResizeObserver(() => this.scheduleResize());
|
|
40
|
+
this._resizeObserver.observe(this);
|
|
41
|
+
}
|
|
42
|
+
disconnectedCallback() {
|
|
43
|
+
var _a;
|
|
44
|
+
(_a = this._resizeObserver) == null ? void 0 : _a.disconnect();
|
|
45
|
+
cancelAnimationFrame(this._raf);
|
|
46
|
+
cancelAnimationFrame(this._resizeRaf);
|
|
47
|
+
const root = this.chartRoot();
|
|
48
|
+
if (root) stopNetworkGraph(root);
|
|
49
|
+
super.disconnectedCallback();
|
|
50
|
+
}
|
|
51
|
+
updated(changed) {
|
|
52
|
+
if (changed.has("dataJson")) {
|
|
53
|
+
this._range = { ...FULL_RANGE };
|
|
54
|
+
this._activeNodeId = null;
|
|
55
|
+
this._model = null;
|
|
56
|
+
}
|
|
57
|
+
if (changed.has("showTooltip") && !this.showTooltip) {
|
|
58
|
+
this._labelTooltip = null;
|
|
59
|
+
}
|
|
60
|
+
if (this.shouldRedraw(changed)) this.scheduleDraw();
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Legend / tooltip are Lit chrome. Toggling them must not re-settle the force
|
|
64
|
+
* layout (same class of rule as filter/resize staying in place).
|
|
65
|
+
*/
|
|
66
|
+
shouldRedraw(changed) {
|
|
67
|
+
if (!chartPropsChanged(changed)) return false;
|
|
68
|
+
for (const key of changed.keys()) {
|
|
69
|
+
if (typeof key !== "string" || key.startsWith("_")) continue;
|
|
70
|
+
if (key === "showLegend" || key === "showTooltip") continue;
|
|
71
|
+
return true;
|
|
72
|
+
}
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
scheduleDraw() {
|
|
76
|
+
cancelAnimationFrame(this._raf);
|
|
77
|
+
this._raf = requestAnimationFrame(() => this.draw());
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* A resize only re-frames the settled layout — re-running the force ticks
|
|
81
|
+
* would reshuffle the graph every time the chat pane changes width.
|
|
82
|
+
*/
|
|
83
|
+
scheduleResize() {
|
|
84
|
+
cancelAnimationFrame(this._resizeRaf);
|
|
85
|
+
this._resizeRaf = requestAnimationFrame(() => {
|
|
86
|
+
const root = this.chartRoot();
|
|
87
|
+
if (!root) return;
|
|
88
|
+
if (!resizeNetworkGraph(root, root.clientWidth, root.clientHeight)) this.draw();
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
chartRoot() {
|
|
92
|
+
var _a;
|
|
93
|
+
return ((_a = this.shadowRoot) == null ? void 0 : _a.querySelector(".chart-root")) ?? null;
|
|
94
|
+
}
|
|
95
|
+
model() {
|
|
96
|
+
if (!this._model) {
|
|
97
|
+
this._model = normalizeNetworkGraphData(
|
|
98
|
+
parseJsonAttr(this.dataJson, null)
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
return this._model;
|
|
102
|
+
}
|
|
103
|
+
draw() {
|
|
104
|
+
const root = this.chartRoot();
|
|
105
|
+
if (!root) return;
|
|
106
|
+
const model = this.model();
|
|
107
|
+
this._empty = model.nodes.length === 0;
|
|
108
|
+
this._ranges = legendRanges(model.breakpoints);
|
|
109
|
+
if (this._empty) {
|
|
110
|
+
stopNetworkGraph(root);
|
|
111
|
+
root.replaceChildren();
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
renderNetworkGraph(root, {
|
|
115
|
+
model,
|
|
116
|
+
visibleIds: visibleNodeIds(model, this._range),
|
|
117
|
+
width: root.clientWidth,
|
|
118
|
+
height: root.clientHeight,
|
|
119
|
+
theme: readThemeFromElement(this),
|
|
120
|
+
activeNodeId: this._activeNodeId,
|
|
121
|
+
onSelect: (id) => {
|
|
122
|
+
this._activeNodeId = id;
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
setRange(edge, raw) {
|
|
127
|
+
const next = { ...this._range, [edge]: raw };
|
|
128
|
+
if (next.leftSlider >= next.rightSlider) return;
|
|
129
|
+
this._range = next;
|
|
130
|
+
const root = this.chartRoot();
|
|
131
|
+
if (!root) return;
|
|
132
|
+
const visible = visibleNodeIds(this.model(), next);
|
|
133
|
+
if (!updateNetworkGraphVisibility(root, visible)) this.scheduleDraw();
|
|
134
|
+
}
|
|
135
|
+
renderLegend() {
|
|
136
|
+
if (!this.showLegend || this._empty || this._ranges.length < 2) return nothing;
|
|
137
|
+
const { leftSlider, rightSlider } = this._range;
|
|
138
|
+
const last = this._ranges.length;
|
|
139
|
+
const { onAxisLabelHover, onAxisLabelLeave } = this.axisLabelHandlers();
|
|
140
|
+
return html`
|
|
141
|
+
<div class="graph-legend" part="legend">
|
|
142
|
+
<div class="legend-scale">
|
|
143
|
+
${this._ranges.map((range, index) => {
|
|
144
|
+
const muted = !(leftSlider <= index && index < rightSlider);
|
|
145
|
+
return html`<span
|
|
146
|
+
class="legend-bucket"
|
|
147
|
+
?data-muted=${muted}
|
|
148
|
+
style="--bubble-size:${range.radius * LEGEND_BUBBLE_RATIO}px"
|
|
149
|
+
></span>`;
|
|
150
|
+
})}
|
|
151
|
+
<div class="legend-range">
|
|
152
|
+
<input
|
|
153
|
+
type="range"
|
|
154
|
+
aria-label="Smallest node size shown"
|
|
155
|
+
min="0"
|
|
156
|
+
max=${last}
|
|
157
|
+
step="1"
|
|
158
|
+
.value=${String(leftSlider)}
|
|
159
|
+
@input=${(e) => this.setRange("leftSlider", Number(e.target.value))}
|
|
160
|
+
/>
|
|
161
|
+
<input
|
|
162
|
+
type="range"
|
|
163
|
+
aria-label="Largest node size shown"
|
|
164
|
+
min="0"
|
|
165
|
+
max=${last}
|
|
166
|
+
step="1"
|
|
167
|
+
.value=${String(rightSlider)}
|
|
168
|
+
@input=${(e) => this.setRange("rightSlider", Number(e.target.value))}
|
|
169
|
+
/>
|
|
170
|
+
</div>
|
|
171
|
+
</div>
|
|
172
|
+
<div class="legend-values">
|
|
173
|
+
${this._ranges.map(
|
|
174
|
+
(range) => html`<span
|
|
175
|
+
class="legend-value"
|
|
176
|
+
@mouseenter=${this.showTooltip ? (e) => onAxisLabelHover == null ? void 0 : onAxisLabelHover(String(range.start), e) : void 0}
|
|
177
|
+
@mouseleave=${this.showTooltip ? onAxisLabelLeave : void 0}
|
|
178
|
+
>${formatLegendValue(range.start, 2)}</span
|
|
179
|
+
>`
|
|
180
|
+
)}
|
|
181
|
+
</div>
|
|
182
|
+
</div>
|
|
183
|
+
`;
|
|
184
|
+
}
|
|
185
|
+
render() {
|
|
186
|
+
return html`
|
|
187
|
+
<div class="widget-shell" part="shell">
|
|
188
|
+
${this.renderShellHeader(this.headerTitle())}
|
|
189
|
+
<div class="widget-body">
|
|
190
|
+
${this.renderLegend()}
|
|
191
|
+
<div class="chart-root" part="chart" ?hidden=${this._empty}></div>
|
|
192
|
+
${this._empty ? html`<div class="empty" part="empty">
|
|
193
|
+
Network graph requires a nodes and links payload.
|
|
194
|
+
</div>` : nothing}
|
|
195
|
+
${this.renderShellLabelTooltip()}
|
|
196
|
+
</div>
|
|
197
|
+
</div>
|
|
198
|
+
`;
|
|
199
|
+
}
|
|
200
|
+
};
|
|
201
|
+
Ui9000NetworkGraph.styles = [networkGraphStyles, chartShellStyles];
|
|
202
|
+
__decorateClass([
|
|
203
|
+
property({ type: Boolean, attribute: "show-legend" })
|
|
204
|
+
], Ui9000NetworkGraph.prototype, "showLegend", 2);
|
|
205
|
+
__decorateClass([
|
|
206
|
+
property({ type: Boolean, attribute: "show-tooltip" })
|
|
207
|
+
], Ui9000NetworkGraph.prototype, "showTooltip", 2);
|
|
208
|
+
__decorateClass([
|
|
209
|
+
state()
|
|
210
|
+
], Ui9000NetworkGraph.prototype, "_empty", 2);
|
|
211
|
+
__decorateClass([
|
|
212
|
+
state()
|
|
213
|
+
], Ui9000NetworkGraph.prototype, "_ranges", 2);
|
|
214
|
+
__decorateClass([
|
|
215
|
+
state()
|
|
216
|
+
], Ui9000NetworkGraph.prototype, "_range", 2);
|
|
217
|
+
Ui9000NetworkGraph = __decorateClass([
|
|
218
|
+
customElement("ui9000-network-graph")
|
|
219
|
+
], Ui9000NetworkGraph);
|
|
220
|
+
function registerNetworkGraph() {
|
|
221
|
+
if (!customElements.get("ui9000-network-graph")) {
|
|
222
|
+
customElements.define("ui9000-network-graph", Ui9000NetworkGraph);
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
registerNetworkGraph();
|
|
226
|
+
export {
|
|
227
|
+
Ui9000NetworkGraph,
|
|
228
|
+
registerNetworkGraph
|
|
229
|
+
};
|
|
230
|
+
//# sourceMappingURL=ui9000-network-graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui9000-network-graph.js","sources":["../../../../src/components/network-graph/element/ui9000-network-graph.ts"],"sourcesContent":["import { html, nothing, type PropertyValues } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\n\nimport { readThemeFromElement } from '../../../context/widget-context.js';\nimport { chartShellStyles, Ui9000ChartElement } from '../../../element/ui9000-chart-base.js';\nimport { parseJsonAttr } from '../../../utils/chart-helpers.js';\nimport { chartPropsChanged } from '../../../utils/lit-draw.js';\nimport {\n FULL_RANGE,\n formatLegendValue,\n legendRanges,\n normalizeNetworkGraphData,\n visibleNodeIds,\n type NetworkGraphInput,\n type NetworkGraphModel,\n type NetworkLegendRange,\n type NetworkRange,\n} from '../lib/index.js';\nimport {\n renderNetworkGraph,\n resizeNetworkGraph,\n stopNetworkGraph,\n updateNetworkGraphVisibility,\n} from '../render/draw.js';\nimport { networkGraphStyles } from './styles.js';\n\n/** Legend bubbles are drawn at 1.2x the node radius they stand for (client). */\nconst LEGEND_BUBBLE_RATIO = 1.2;\n\n@customElement('ui9000-network-graph')\nexport class Ui9000NetworkGraph extends Ui9000ChartElement {\n static override styles = [networkGraphStyles, chartShellStyles];\n\n @property({ type: Boolean, attribute: 'show-legend' })\n showLegend = true;\n\n @property({ type: Boolean, attribute: 'show-tooltip' })\n showTooltip = true;\n\n @state()\n private _empty = false;\n\n @state()\n private _ranges: NetworkLegendRange[] = [];\n\n @state()\n private _range: NetworkRange = { ...FULL_RANGE };\n\n /** Non-reactive: selection is owned by the draw layer, redrawing would reset it. */\n private _activeNodeId: string | null = null;\n\n private _model: NetworkGraphModel | null = null;\n private _resizeObserver?: ResizeObserver;\n private _raf = 0;\n private _resizeRaf = 0;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this._resizeObserver = new ResizeObserver(() => this.scheduleResize());\n this._resizeObserver.observe(this);\n }\n\n override disconnectedCallback(): void {\n this._resizeObserver?.disconnect();\n cancelAnimationFrame(this._raf);\n cancelAnimationFrame(this._resizeRaf);\n const root = this.chartRoot();\n if (root) stopNetworkGraph(root);\n super.disconnectedCallback();\n }\n\n override updated(changed: PropertyValues): void {\n if (changed.has('dataJson')) {\n // New buckets: the old slider window and selection no longer mean anything.\n this._range = { ...FULL_RANGE };\n this._activeNodeId = null;\n this._model = null;\n }\n if (changed.has('showTooltip') && !this.showTooltip) {\n this._labelTooltip = null;\n }\n if (this.shouldRedraw(changed)) this.scheduleDraw();\n }\n\n /**\n * Legend / tooltip are Lit chrome. Toggling them must not re-settle the force\n * layout (same class of rule as filter/resize staying in place).\n */\n private shouldRedraw(changed: PropertyValues): boolean {\n if (!chartPropsChanged(changed)) return false;\n for (const key of changed.keys()) {\n if (typeof key !== 'string' || key.startsWith('_')) continue;\n if (key === 'showLegend' || key === 'showTooltip') continue;\n return true;\n }\n return false;\n }\n\n private scheduleDraw(): void {\n cancelAnimationFrame(this._raf);\n this._raf = requestAnimationFrame(() => this.draw());\n }\n\n /**\n * A resize only re-frames the settled layout — re-running the force ticks\n * would reshuffle the graph every time the chat pane changes width.\n */\n private scheduleResize(): void {\n cancelAnimationFrame(this._resizeRaf);\n this._resizeRaf = requestAnimationFrame(() => {\n const root = this.chartRoot();\n if (!root) return;\n if (!resizeNetworkGraph(root, root.clientWidth, root.clientHeight)) this.draw();\n });\n }\n\n private chartRoot(): HTMLElement | null {\n return (this.shadowRoot?.querySelector('.chart-root') as HTMLElement | null) ?? null;\n }\n\n private model(): NetworkGraphModel {\n if (!this._model) {\n this._model = normalizeNetworkGraphData(\n parseJsonAttr<NetworkGraphInput | null>(this.dataJson, null),\n );\n }\n return this._model;\n }\n\n private draw(): void {\n const root = this.chartRoot();\n if (!root) return;\n\n const model = this.model();\n this._empty = model.nodes.length === 0;\n this._ranges = legendRanges(model.breakpoints);\n\n if (this._empty) {\n stopNetworkGraph(root);\n root.replaceChildren();\n return;\n }\n\n renderNetworkGraph(root, {\n model,\n visibleIds: visibleNodeIds(model, this._range),\n width: root.clientWidth,\n height: root.clientHeight,\n theme: readThemeFromElement(this),\n activeNodeId: this._activeNodeId,\n onSelect: (id) => {\n this._activeNodeId = id;\n },\n });\n }\n\n private setRange(edge: 'leftSlider' | 'rightSlider', raw: number): void {\n const next = { ...this._range, [edge]: raw };\n if (next.leftSlider >= next.rightSlider) return;\n // `_range` is internal state, so `updated()` re-renders the legend without\n // scheduling a redraw — the filter is pushed into the live graph instead.\n this._range = next;\n const root = this.chartRoot();\n if (!root) return;\n const visible = visibleNodeIds(this.model(), next);\n if (!updateNetworkGraphVisibility(root, visible)) this.scheduleDraw();\n }\n\n private renderLegend() {\n if (!this.showLegend || this._empty || this._ranges.length < 2) return nothing;\n const { leftSlider, rightSlider } = this._range;\n const last = this._ranges.length;\n const { onAxisLabelHover, onAxisLabelLeave } = this.axisLabelHandlers();\n\n return html`\n <div class=\"graph-legend\" part=\"legend\">\n <div class=\"legend-scale\">\n ${this._ranges.map((range, index) => {\n const muted = !(leftSlider <= index && index < rightSlider);\n return html`<span\n class=\"legend-bucket\"\n ?data-muted=${muted}\n style=\"--bubble-size:${range.radius * LEGEND_BUBBLE_RATIO}px\"\n ></span>`;\n })}\n <div class=\"legend-range\">\n <input\n type=\"range\"\n aria-label=\"Smallest node size shown\"\n min=\"0\"\n max=${last}\n step=\"1\"\n .value=${String(leftSlider)}\n @input=${(e: Event) =>\n this.setRange('leftSlider', Number((e.target as HTMLInputElement).value))}\n />\n <input\n type=\"range\"\n aria-label=\"Largest node size shown\"\n min=\"0\"\n max=${last}\n step=\"1\"\n .value=${String(rightSlider)}\n @input=${(e: Event) =>\n this.setRange('rightSlider', Number((e.target as HTMLInputElement).value))}\n />\n </div>\n </div>\n <div class=\"legend-values\">\n ${this._ranges.map(\n (range) => html`<span\n class=\"legend-value\"\n @mouseenter=${this.showTooltip\n ? (e: MouseEvent) => onAxisLabelHover?.(String(range.start), e)\n : undefined}\n @mouseleave=${this.showTooltip ? onAxisLabelLeave : undefined}\n >${formatLegendValue(range.start, 2)}</span\n >`,\n )}\n </div>\n </div>\n `;\n }\n\n override render() {\n return html`\n <div class=\"widget-shell\" part=\"shell\">\n ${this.renderShellHeader(this.headerTitle())}\n <div class=\"widget-body\">\n ${this.renderLegend()}\n <div class=\"chart-root\" part=\"chart\" ?hidden=${this._empty}></div>\n ${this._empty\n ? html`<div class=\"empty\" part=\"empty\">\n Network graph requires a nodes and links payload.\n </div>`\n : nothing}\n ${this.renderShellLabelTooltip()}\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui9000-network-graph': Ui9000NetworkGraph;\n }\n}\n\nexport function registerNetworkGraph(): void {\n if (!customElements.get('ui9000-network-graph')) {\n customElements.define('ui9000-network-graph', Ui9000NetworkGraph);\n }\n}\n\nregisterNetworkGraph();\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA2BA,MAAM,sBAAsB;AAGrB,IAAM,qBAAN,cAAiC,mBAAmB;AAAA,EAApD,cAAA;AAAA,UAAA,GAAA,SAAA;AAIL,SAAA,aAAa;AAGb,SAAA,cAAc;AAGd,SAAQ,SAAS;AAGjB,SAAQ,UAAgC,CAAA;AAGxC,SAAQ,SAAuB,EAAE,GAAG,WAAA;AAGpC,SAAQ,gBAA+B;AAEvC,SAAQ,SAAmC;AAE3C,SAAQ,OAAO;AACf,SAAQ,aAAa;AAAA,EAAA;AAAA,EAEZ,oBAA0B;AACjC,UAAM,kBAAA;AACN,SAAK,kBAAkB,IAAI,eAAe,MAAM,KAAK,gBAAgB;AACrE,SAAK,gBAAgB,QAAQ,IAAI;AAAA,EACnC;AAAA,EAES,uBAA6B;;AACpC,eAAK,oBAAL,mBAAsB;AACtB,yBAAqB,KAAK,IAAI;AAC9B,yBAAqB,KAAK,UAAU;AACpC,UAAM,OAAO,KAAK,UAAA;AAClB,QAAI,uBAAuB,IAAI;AAC/B,UAAM,qBAAA;AAAA,EACR;AAAA,EAES,QAAQ,SAA+B;AAC9C,QAAI,QAAQ,IAAI,UAAU,GAAG;AAE3B,WAAK,SAAS,EAAE,GAAG,WAAA;AACnB,WAAK,gBAAgB;AACrB,WAAK,SAAS;AAAA,IAChB;AACA,QAAI,QAAQ,IAAI,aAAa,KAAK,CAAC,KAAK,aAAa;AACnD,WAAK,gBAAgB;AAAA,IACvB;AACA,QAAI,KAAK,aAAa,OAAO,QAAQ,aAAA;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMQ,aAAa,SAAkC;AACrD,QAAI,CAAC,kBAAkB,OAAO,EAAG,QAAO;AACxC,eAAW,OAAO,QAAQ,QAAQ;AAChC,UAAI,OAAO,QAAQ,YAAY,IAAI,WAAW,GAAG,EAAG;AACpD,UAAI,QAAQ,gBAAgB,QAAQ,cAAe;AACnD,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA,EAEQ,eAAqB;AAC3B,yBAAqB,KAAK,IAAI;AAC9B,SAAK,OAAO,sBAAsB,MAAM,KAAK,MAAM;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMQ,iBAAuB;AAC7B,yBAAqB,KAAK,UAAU;AACpC,SAAK,aAAa,sBAAsB,MAAM;AAC5C,YAAM,OAAO,KAAK,UAAA;AAClB,UAAI,CAAC,KAAM;AACX,UAAI,CAAC,mBAAmB,MAAM,KAAK,aAAa,KAAK,YAAY,EAAG,MAAK,KAAA;AAAA,IAC3E,CAAC;AAAA,EACH;AAAA,EAEQ,YAAgC;;AACtC,aAAQ,UAAK,eAAL,mBAAiB,cAAc,mBAAyC;AAAA,EAClF;AAAA,EAEQ,QAA2B;AACjC,QAAI,CAAC,KAAK,QAAQ;AAChB,WAAK,SAAS;AAAA,QACZ,cAAwC,KAAK,UAAU,IAAI;AAAA,MAAA;AAAA,IAE/D;AACA,WAAO,KAAK;AAAA,EACd;AAAA,EAEQ,OAAa;AACnB,UAAM,OAAO,KAAK,UAAA;AAClB,QAAI,CAAC,KAAM;AAEX,UAAM,QAAQ,KAAK,MAAA;AACnB,SAAK,SAAS,MAAM,MAAM,WAAW;AACrC,SAAK,UAAU,aAAa,MAAM,WAAW;AAE7C,QAAI,KAAK,QAAQ;AACf,uBAAiB,IAAI;AACrB,WAAK,gBAAA;AACL;AAAA,IACF;AAEA,uBAAmB,MAAM;AAAA,MACvB;AAAA,MACA,YAAY,eAAe,OAAO,KAAK,MAAM;AAAA,MAC7C,OAAO,KAAK;AAAA,MACZ,QAAQ,KAAK;AAAA,MACb,OAAO,qBAAqB,IAAI;AAAA,MAChC,cAAc,KAAK;AAAA,MACnB,UAAU,CAAC,OAAO;AAChB,aAAK,gBAAgB;AAAA,MACvB;AAAA,IAAA,CACD;AAAA,EACH;AAAA,EAEQ,SAAS,MAAoC,KAAmB;AACtE,UAAM,OAAO,EAAE,GAAG,KAAK,QAAQ,CAAC,IAAI,GAAG,IAAA;AACvC,QAAI,KAAK,cAAc,KAAK,YAAa;AAGzC,SAAK,SAAS;AACd,UAAM,OAAO,KAAK,UAAA;AAClB,QAAI,CAAC,KAAM;AACX,UAAM,UAAU,eAAe,KAAK,MAAA,GAAS,IAAI;AACjD,QAAI,CAAC,6BAA6B,MAAM,OAAO,QAAQ,aAAA;AAAA,EACzD;AAAA,EAEQ,eAAe;AACrB,QAAI,CAAC,KAAK,cAAc,KAAK,UAAU,KAAK,QAAQ,SAAS,EAAG,QAAO;AACvE,UAAM,EAAE,YAAY,YAAA,IAAgB,KAAK;AACzC,UAAM,OAAO,KAAK,QAAQ;AAC1B,UAAM,EAAE,kBAAkB,qBAAqB,KAAK,kBAAA;AAEpD,WAAO;AAAA;AAAA;AAAA,YAGC,KAAK,QAAQ,IAAI,CAAC,OAAO,UAAU;AACnC,YAAM,QAAQ,EAAE,cAAc,SAAS,QAAQ;AAC/C,aAAO;AAAA;AAAA,4BAES,KAAK;AAAA,qCACI,MAAM,SAAS,mBAAmB;AAAA;AAAA,IAE7D,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAMQ,IAAI;AAAA;AAAA,uBAED,OAAO,UAAU,CAAC;AAAA,uBAClB,CAAC,MACR,KAAK,SAAS,cAAc,OAAQ,EAAE,OAA4B,KAAK,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAMrE,IAAI;AAAA;AAAA,uBAED,OAAO,WAAW,CAAC;AAAA,uBACnB,CAAC,MACR,KAAK,SAAS,eAAe,OAAQ,EAAE,OAA4B,KAAK,CAAC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,YAK9E,KAAK,QAAQ;AAAA,MACb,CAAC,UAAU;AAAA;AAAA,4BAEK,KAAK,cACf,CAAC,MAAkB,qDAAmB,OAAO,MAAM,KAAK,GAAG,KAC3D,MAAS;AAAA,4BACC,KAAK,cAAc,mBAAmB,MAAS;AAAA,iBAC1D,kBAAkB,MAAM,OAAO,CAAC,CAAC;AAAA;AAAA,IAAA,CAEvC;AAAA;AAAA;AAAA;AAAA,EAIT;AAAA,EAES,SAAS;AAChB,WAAO;AAAA;AAAA,UAED,KAAK,kBAAkB,KAAK,YAAA,CAAa,CAAC;AAAA;AAAA,YAExC,KAAK,cAAc;AAAA,yDAC0B,KAAK,MAAM;AAAA,YACxD,KAAK,SACH;AAAA;AAAA,wBAGA,OAAO;AAAA,YACT,KAAK,yBAAyB;AAAA;AAAA;AAAA;AAAA,EAIxC;AACF;AAnNa,mBACK,SAAS,CAAC,oBAAoB,gBAAgB;AAG9D,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,SAAS,WAAW,eAAe;AAAA,GAH1C,mBAIX,WAAA,cAAA,CAAA;AAGA,gBAAA;AAAA,EADC,SAAS,EAAE,MAAM,SAAS,WAAW,gBAAgB;AAAA,GAN3C,mBAOX,WAAA,eAAA,CAAA;AAGQ,gBAAA;AAAA,EADP,MAAA;AAAM,GATI,mBAUH,WAAA,UAAA,CAAA;AAGA,gBAAA;AAAA,EADP,MAAA;AAAM,GAZI,mBAaH,WAAA,WAAA,CAAA;AAGA,gBAAA;AAAA,EADP,MAAA;AAAM,GAfI,mBAgBH,WAAA,UAAA,CAAA;AAhBG,qBAAN,gBAAA;AAAA,EADN,cAAc,sBAAsB;AAAA,GACxB,kBAAA;AA2NN,SAAS,uBAA6B;AAC3C,MAAI,CAAC,eAAe,IAAI,sBAAsB,GAAG;AAC/C,mBAAe,OAAO,wBAAwB,kBAAkB;AAAA,EAClE;AACF;AAEA,qBAAA;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { Ui9000NetworkGraph, registerNetworkGraph, } from './element/ui9000-network-graph.js';
|
|
2
|
+
export { renderNetworkGraph, resizeNetworkGraph, stopNetworkGraph, updateNetworkGraphVisibility, type NetworkGraphController, type RenderNetworkGraphOptions, } from './render/index.js';
|
|
3
|
+
export { FULL_RANGE, LINK_COLORS, MAX_NETWORK_LINKS, MAX_NETWORK_NODES, NODE_SIZES, NODE_TYPE_COLORS, SIZE_KEYS, formatLegendValue, formatLinkValue, formatNodeValue, isFullRange, legendRanges, networkForces, nodeColor, nodeRadius, nodeSizeKey, normalizeNetworkGraphData, rangeIndexOf, scaleLinkWidthByMax, visibleNodeIds, type NetworkGraphInput, type NetworkGraphModel, type NetworkLegendRange, type NetworkLink, type NetworkLinkKind, type NetworkNode, type NetworkRange, type NetworkSizeKey, } from './lib/index.js';
|
|
4
|
+
export { default as networkGraphMetadata } from './metadata.json';
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/network-graph/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,4BAA4B,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,GAC/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,WAAW,EACX,YAAY,EACZ,aAAa,EACb,SAAS,EACT,UAAU,EACV,WAAW,EACX,yBAAyB,EACzB,YAAY,EACZ,mBAAmB,EACnB,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,cAAc,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { registerNetworkGraph } from "./element/ui9000-network-graph.js";
|
|
2
|
+
import { Ui9000NetworkGraph } from "./element/ui9000-network-graph.js";
|
|
3
|
+
import { default as default2 } from "./metadata.json.js";
|
|
4
|
+
import { FULL_RANGE, LINK_COLORS, NODE_SIZES, NODE_TYPE_COLORS, SIZE_KEYS, isFullRange, legendRanges, networkForces, nodeColor, nodeRadius, nodeSizeKey, rangeIndexOf, scaleLinkWidthByMax, visibleNodeIds } from "./lib/domain.js";
|
|
5
|
+
import { MAX_NETWORK_LINKS, MAX_NETWORK_NODES, normalizeNetworkGraphData } from "./lib/normalize.js";
|
|
6
|
+
import { formatLegendValue, formatLinkValue, formatNodeValue } from "./lib/format.js";
|
|
7
|
+
import { renderNetworkGraph, resizeNetworkGraph, stopNetworkGraph, updateNetworkGraphVisibility } from "./render/draw.js";
|
|
8
|
+
export {
|
|
9
|
+
FULL_RANGE,
|
|
10
|
+
LINK_COLORS,
|
|
11
|
+
MAX_NETWORK_LINKS,
|
|
12
|
+
MAX_NETWORK_NODES,
|
|
13
|
+
NODE_SIZES,
|
|
14
|
+
NODE_TYPE_COLORS,
|
|
15
|
+
SIZE_KEYS,
|
|
16
|
+
Ui9000NetworkGraph,
|
|
17
|
+
formatLegendValue,
|
|
18
|
+
formatLinkValue,
|
|
19
|
+
formatNodeValue,
|
|
20
|
+
isFullRange,
|
|
21
|
+
legendRanges,
|
|
22
|
+
networkForces,
|
|
23
|
+
default2 as networkGraphMetadata,
|
|
24
|
+
nodeColor,
|
|
25
|
+
nodeRadius,
|
|
26
|
+
nodeSizeKey,
|
|
27
|
+
normalizeNetworkGraphData,
|
|
28
|
+
rangeIndexOf,
|
|
29
|
+
registerNetworkGraph,
|
|
30
|
+
renderNetworkGraph,
|
|
31
|
+
resizeNetworkGraph,
|
|
32
|
+
scaleLinkWidthByMax,
|
|
33
|
+
stopNetworkGraph,
|
|
34
|
+
updateNetworkGraphVisibility,
|
|
35
|
+
visibleNodeIds
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { NetworkGraphModel, NetworkLegendRange, NetworkNode, NetworkRange, NetworkSizeKey } from './types.js';
|
|
2
|
+
/** Client `NODE_SIZES` — bucket → circle radius in px. */
|
|
3
|
+
export declare const NODE_SIZES: Record<NetworkSizeKey, number>;
|
|
4
|
+
/** Client `SIZE_KEYS` — one per break point, smallest first. */
|
|
5
|
+
export declare const SIZE_KEYS: NetworkSizeKey[];
|
|
6
|
+
/** Buckets above `md` keep their label on screen at rest (client rule). */
|
|
7
|
+
export declare const LABEL_ALWAYS_ABOVE: number;
|
|
8
|
+
export declare const NODE_BORDER_WIDTH = 1;
|
|
9
|
+
export declare const SHADOW_RADIUS_RATIO = 1.5;
|
|
10
|
+
export declare const MIN_LINK_WIDTH = 0.8;
|
|
11
|
+
export declare const MAX_LINK_WIDTH = 20;
|
|
12
|
+
/** Resting stroke width for every link (client). */
|
|
13
|
+
export declare const LINK_WIDTH = 2;
|
|
14
|
+
export declare const MIN_LINK_DISTANCE = 20;
|
|
15
|
+
export declare const MAX_LINK_DISTANCE = 100;
|
|
16
|
+
/** Client `LINK_COLORS`. */
|
|
17
|
+
export declare const LINK_COLORS: {
|
|
18
|
+
readonly neutral: "rgba(207, 210, 214, 1)";
|
|
19
|
+
readonly primary: "rgba(71, 176, 255, 0.5)";
|
|
20
|
+
readonly secondary: "rgba(255, 140, 71, 0.5)";
|
|
21
|
+
};
|
|
22
|
+
/** Client `DEFAULT_NODE_COLOR`. */
|
|
23
|
+
export declare const DEFAULT_NODE_COLOR = "#64748B";
|
|
24
|
+
/** Client `NODE_TYPE_COLORS` — category key → fill for a node without an image. */
|
|
25
|
+
export declare const NODE_TYPE_COLORS: Record<string, string>;
|
|
26
|
+
/** Full bucket window — no filtering (client `DEFAULT_SLIDER_RANGE`). */
|
|
27
|
+
export declare const FULL_RANGE: NetworkRange;
|
|
28
|
+
/** Client `getNodeSizeFromBreakpoints`. */
|
|
29
|
+
export declare function nodeSizeKey(value: number | undefined, breakpoints: number[]): NetworkSizeKey;
|
|
30
|
+
export declare function nodeRadius(node: NetworkNode, breakpoints: number[]): number;
|
|
31
|
+
export declare function shadowRadius(node: NetworkNode, breakpoints: number[]): number;
|
|
32
|
+
/** Client `getNodeColor` — explicit colour, then category, then the slate default. */
|
|
33
|
+
export declare function nodeColor(node: NetworkNode): string;
|
|
34
|
+
/** Client `scaleLinkWidthByMax` — resting links stay at `LINK_WIDTH`. */
|
|
35
|
+
export declare function scaleLinkWidthByMax(value: number, maxValue: number): number;
|
|
36
|
+
/** Client `getNodeRangeIndex` — which bucket a value falls into. */
|
|
37
|
+
export declare function rangeIndexOf(value: number, breakpoints: number[]): number;
|
|
38
|
+
export declare function isFullRange(range: NetworkRange): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Client `filterGraphDataBySliderRange`, reduced to the id set the draw layer
|
|
41
|
+
* needs: hidden nodes stay in the simulation so the layout does not jump.
|
|
42
|
+
* `null` means "everything is visible".
|
|
43
|
+
*/
|
|
44
|
+
export declare function visibleNodeIds(model: NetworkGraphModel, range: NetworkRange): Set<string> | null;
|
|
45
|
+
/**
|
|
46
|
+
* Client `Legends` ranges — one bubble per break point, the last stretched to
|
|
47
|
+
* 3x so the largest node still lands in a bucket.
|
|
48
|
+
*/
|
|
49
|
+
export declare function legendRanges(breakpoints: number[]): NetworkLegendRange[];
|
|
50
|
+
/**
|
|
51
|
+
* The client lays the simulation out on a fixed 2000x1375 canvas and zooms into
|
|
52
|
+
* it. Chat gives the chart its container instead, so the spatial forces are
|
|
53
|
+
* scaled against that canvas — same spacing relative to the room available.
|
|
54
|
+
*/
|
|
55
|
+
export declare const FORCE_CANVAS_REFERENCE = 1375;
|
|
56
|
+
/**
|
|
57
|
+
* Slack between the largest node and its collision ring. The client gets this
|
|
58
|
+
* for free from a flat 60px radius on a canvas where nodes cap at 32px; keeping
|
|
59
|
+
* the same cushion is what stops the labels from stacking on top of each other.
|
|
60
|
+
*/
|
|
61
|
+
export declare const NODE_COLLIDE_PAD = 36;
|
|
62
|
+
export interface NetworkForces {
|
|
63
|
+
charge: number;
|
|
64
|
+
collide: number;
|
|
65
|
+
linkDistance: number;
|
|
66
|
+
}
|
|
67
|
+
export declare function networkForces(width: number, height: number, maxNodeRadius: number): NetworkForces;
|
|
68
|
+
/** Client `INITIAL_NODE_RADIUS_RATIO` — seed spread as a share of the canvas. */
|
|
69
|
+
export declare const INITIAL_NODE_RADIUS_RATIO = 0.2;
|
|
70
|
+
/** Node chrome (client `createNodeElements`). */
|
|
71
|
+
export declare const NODE_COLORS: {
|
|
72
|
+
/** Blue bloom under every node. */
|
|
73
|
+
readonly glow: "#473DD9";
|
|
74
|
+
/** Hairline ring drawn on the circle edge. */
|
|
75
|
+
readonly innerBorder: "#FFFFFF";
|
|
76
|
+
/** Accent ring one pixel outside it. */
|
|
77
|
+
readonly outerBorder: "#473DD9";
|
|
78
|
+
/** Fill of a selected node that carries no image. */
|
|
79
|
+
readonly activeFill: "#000000";
|
|
80
|
+
readonly shadowInner: "#141C2C";
|
|
81
|
+
readonly shadowOuter: "#5F6877";
|
|
82
|
+
};
|
|
83
|
+
/** Node label chrome (client `createNodeLabel`). */
|
|
84
|
+
export declare const NODE_LABEL_COLORS: {
|
|
85
|
+
readonly text: "rgba(33, 38, 46, 0.9)";
|
|
86
|
+
readonly textActive: "#FFFFFF";
|
|
87
|
+
readonly background: "#FFFFFF00";
|
|
88
|
+
readonly backgroundHover: "#FFFFFF";
|
|
89
|
+
readonly backgroundActive: "#000000";
|
|
90
|
+
};
|
|
91
|
+
/** Link value pill (client `link-label`). */
|
|
92
|
+
export declare const LINK_LABEL_COLORS: {
|
|
93
|
+
readonly background: "rgba(19, 22, 29, 1)";
|
|
94
|
+
readonly text: "rgba(239, 240, 241, 1)";
|
|
95
|
+
};
|
|
96
|
+
//# sourceMappingURL=domain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../../src/components/network-graph/lib/domain.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,cAAc,EACf,MAAM,YAAY,CAAC;AAEpB,0DAA0D;AAC1D,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAQrD,CAAC;AAEF,gEAAgE;AAChE,eAAO,MAAM,SAAS,EAAE,cAAc,EAQrC,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,kBAAkB,QAAgB,CAAC;AAEhD,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,mBAAmB,MAAM,CAAC;AACvC,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,oDAAoD;AACpD,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC,eAAO,MAAM,iBAAiB,MAAM,CAAC;AAErC,4BAA4B;AAC5B,eAAO,MAAM,WAAW;;;;CAId,CAAC;AAEX,mCAAmC;AACnC,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,mFAAmF;AACnF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsDnD,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,UAAU,EAAE,YAAgD,CAAC;AAM1E,2CAA2C;AAC3C,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,GAAG,SAAS,EACzB,WAAW,EAAE,MAAM,EAAE,GACpB,cAAc,CAMhB;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAE3E;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAE7E;AAED,sFAAsF;AACtF,wBAAgB,SAAS,CAAC,IAAI,EAAE,WAAW,GAAG,MAAM,CAEnD;AAED,yEAAyE;AACzE,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAI3E;AAED,oEAAoE;AACpE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CAKzE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAKxD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,iBAAiB,EACxB,KAAK,EAAE,YAAY,GAClB,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAUpB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAMxE;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAEnC,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,aAAa,CAaf;AAED,iFAAiF;AACjF,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C,iDAAiD;AACjD,eAAO,MAAM,WAAW;IACtB,mCAAmC;;IAEnC,8CAA8C;;IAE9C,wCAAwC;;IAExC,qDAAqD;;;;CAI7C,CAAC;AAEX,oDAAoD;AACpD,eAAO,MAAM,iBAAiB;;;;;;CAMpB,CAAC;AAEX,6CAA6C;AAC7C,eAAO,MAAM,iBAAiB;;;CAGpB,CAAC"}
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
const NODE_SIZES = {
|
|
2
|
+
xs: 4,
|
|
3
|
+
sm: 6,
|
|
4
|
+
md: 8,
|
|
5
|
+
lg: 12,
|
|
6
|
+
xl: 16,
|
|
7
|
+
"2xl": 24,
|
|
8
|
+
"3xl": 32
|
|
9
|
+
};
|
|
10
|
+
const SIZE_KEYS = [
|
|
11
|
+
"xs",
|
|
12
|
+
"sm",
|
|
13
|
+
"md",
|
|
14
|
+
"lg",
|
|
15
|
+
"xl",
|
|
16
|
+
"2xl",
|
|
17
|
+
"3xl"
|
|
18
|
+
];
|
|
19
|
+
const LABEL_ALWAYS_ABOVE = NODE_SIZES.md;
|
|
20
|
+
const NODE_BORDER_WIDTH = 1;
|
|
21
|
+
const SHADOW_RADIUS_RATIO = 1.5;
|
|
22
|
+
const MIN_LINK_WIDTH = 0.8;
|
|
23
|
+
const MAX_LINK_WIDTH = 20;
|
|
24
|
+
const LINK_WIDTH = 2;
|
|
25
|
+
const MIN_LINK_DISTANCE = 20;
|
|
26
|
+
const MAX_LINK_DISTANCE = 100;
|
|
27
|
+
const LINK_COLORS = {
|
|
28
|
+
neutral: "rgba(207, 210, 214, 1)",
|
|
29
|
+
primary: "rgba(71, 176, 255, 0.5)",
|
|
30
|
+
secondary: "rgba(255, 140, 71, 0.5)"
|
|
31
|
+
};
|
|
32
|
+
const DEFAULT_NODE_COLOR = "#64748B";
|
|
33
|
+
const NODE_TYPE_COLORS = {
|
|
34
|
+
bank: "#2563EB",
|
|
35
|
+
invest: "#10B981",
|
|
36
|
+
regional: "#F59E0B",
|
|
37
|
+
vc: "#8B5CF6",
|
|
38
|
+
crypto: "#F97316",
|
|
39
|
+
exchange: "#06B6D4",
|
|
40
|
+
blockchain: "#6366F1",
|
|
41
|
+
defi: "#EC4899",
|
|
42
|
+
company: "#3B82F6",
|
|
43
|
+
startup: "#14B8A6",
|
|
44
|
+
platform: "#A855F7",
|
|
45
|
+
service: "#0EA5E9",
|
|
46
|
+
person: "#EF4444",
|
|
47
|
+
organization: "#64748B",
|
|
48
|
+
community: "#84CC16",
|
|
49
|
+
university: "#1E40AF",
|
|
50
|
+
institute: "#7C3AED",
|
|
51
|
+
program: "#059669",
|
|
52
|
+
studio: "#DC2626",
|
|
53
|
+
streaming: "#BE185D",
|
|
54
|
+
producer: "#B91C1C",
|
|
55
|
+
network: "#1F2937",
|
|
56
|
+
tech: "#3B82F6",
|
|
57
|
+
gaming: "#8B5CF6",
|
|
58
|
+
lifestyle: "#EC4899",
|
|
59
|
+
accelerator: "#10B981",
|
|
60
|
+
manufacturer: "#6366F1",
|
|
61
|
+
distributor: "#F59E0B",
|
|
62
|
+
retailer: "#06B6D4",
|
|
63
|
+
supplier: "#14B8A6",
|
|
64
|
+
cloud: "#0EA5E9",
|
|
65
|
+
saas: "#3B82F6",
|
|
66
|
+
integration: "#8B5CF6",
|
|
67
|
+
framework: "#10B981",
|
|
68
|
+
foundation: "#64748B",
|
|
69
|
+
sponsor: "#F59E0B",
|
|
70
|
+
ai: "#6366F1",
|
|
71
|
+
physics: "#8B5CF6",
|
|
72
|
+
biology: "#10B981",
|
|
73
|
+
corporate: "#3B82F6",
|
|
74
|
+
global: "#1E40AF",
|
|
75
|
+
financial: "#059669",
|
|
76
|
+
ivy: "#7C3AED",
|
|
77
|
+
domain: "#EC4899",
|
|
78
|
+
research: "#14B8A6",
|
|
79
|
+
developer: "#F97316",
|
|
80
|
+
mission: "#4338CA",
|
|
81
|
+
goal: "#A78BFA",
|
|
82
|
+
insight: "#34D399",
|
|
83
|
+
event: "#93C5FD",
|
|
84
|
+
blocker: "#F43F5E",
|
|
85
|
+
entity: "#4B5563",
|
|
86
|
+
source: "#CBD5E1"
|
|
87
|
+
};
|
|
88
|
+
const FULL_RANGE = { leftSlider: 0, rightSlider: 7 };
|
|
89
|
+
function clamp(value, min, max) {
|
|
90
|
+
return Math.max(min, Math.min(max, value));
|
|
91
|
+
}
|
|
92
|
+
function nodeSizeKey(value, breakpoints) {
|
|
93
|
+
if (!value || !breakpoints.length) return "sm";
|
|
94
|
+
for (let i = 0; i < breakpoints.length; i++) {
|
|
95
|
+
if (value <= breakpoints[i]) return SIZE_KEYS[i] ?? "sm";
|
|
96
|
+
}
|
|
97
|
+
return SIZE_KEYS[SIZE_KEYS.length - 1];
|
|
98
|
+
}
|
|
99
|
+
function nodeRadius(node, breakpoints) {
|
|
100
|
+
return NODE_SIZES[nodeSizeKey(node.value, breakpoints)];
|
|
101
|
+
}
|
|
102
|
+
function shadowRadius(node, breakpoints) {
|
|
103
|
+
return nodeRadius(node, breakpoints) * SHADOW_RADIUS_RATIO;
|
|
104
|
+
}
|
|
105
|
+
function nodeColor(node) {
|
|
106
|
+
return node.color || NODE_TYPE_COLORS[node.type] || DEFAULT_NODE_COLOR;
|
|
107
|
+
}
|
|
108
|
+
function scaleLinkWidthByMax(value, maxValue) {
|
|
109
|
+
if (maxValue <= 0) return MIN_LINK_WIDTH;
|
|
110
|
+
const ratio = clamp(value / maxValue, 0, 1);
|
|
111
|
+
return MIN_LINK_WIDTH + ratio * (MAX_LINK_WIDTH - MIN_LINK_WIDTH);
|
|
112
|
+
}
|
|
113
|
+
function rangeIndexOf(value, breakpoints) {
|
|
114
|
+
for (let i = 0; i < breakpoints.length; i++) {
|
|
115
|
+
if (value <= breakpoints[i]) return i;
|
|
116
|
+
}
|
|
117
|
+
return breakpoints.length - 1;
|
|
118
|
+
}
|
|
119
|
+
function isFullRange(range) {
|
|
120
|
+
return range.leftSlider === FULL_RANGE.leftSlider && range.rightSlider === FULL_RANGE.rightSlider;
|
|
121
|
+
}
|
|
122
|
+
function visibleNodeIds(model, range) {
|
|
123
|
+
if (isFullRange(range) || !model.breakpoints.length) return null;
|
|
124
|
+
const ids = /* @__PURE__ */ new Set();
|
|
125
|
+
for (const node of model.nodes) {
|
|
126
|
+
if (typeof node.value !== "number") continue;
|
|
127
|
+
const index = rangeIndexOf(node.value, model.breakpoints);
|
|
128
|
+
if (range.leftSlider <= index && index < range.rightSlider) ids.add(node.id);
|
|
129
|
+
}
|
|
130
|
+
return ids;
|
|
131
|
+
}
|
|
132
|
+
function legendRanges(breakpoints) {
|
|
133
|
+
return breakpoints.map((start, index) => ({
|
|
134
|
+
start,
|
|
135
|
+
end: index === breakpoints.length - 1 ? start * 3 : breakpoints[index + 1],
|
|
136
|
+
radius: NODE_SIZES[SIZE_KEYS[index] ?? "sm"]
|
|
137
|
+
}));
|
|
138
|
+
}
|
|
139
|
+
const FORCE_CANVAS_REFERENCE = 1375;
|
|
140
|
+
const NODE_COLLIDE_PAD = 36;
|
|
141
|
+
function networkForces(width, height, maxNodeRadius) {
|
|
142
|
+
const scale = clamp(Math.min(width, height) / FORCE_CANVAS_REFERENCE, 0.2, 1);
|
|
143
|
+
return {
|
|
144
|
+
charge: -1200 * scale,
|
|
145
|
+
collide: Math.max(60 * scale, maxNodeRadius + NODE_COLLIDE_PAD),
|
|
146
|
+
// The client re-rolls one random distance in [20, 100] per mount; a chat
|
|
147
|
+
// chart has to be reproducible, so the midpoint is used and then scaled.
|
|
148
|
+
linkDistance: clamp(
|
|
149
|
+
(MIN_LINK_DISTANCE + MAX_LINK_DISTANCE) / 2 * scale,
|
|
150
|
+
MIN_LINK_DISTANCE,
|
|
151
|
+
MAX_LINK_DISTANCE
|
|
152
|
+
)
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
const INITIAL_NODE_RADIUS_RATIO = 0.2;
|
|
156
|
+
const NODE_COLORS = {
|
|
157
|
+
/** Blue bloom under every node. */
|
|
158
|
+
glow: "#473DD9",
|
|
159
|
+
/** Hairline ring drawn on the circle edge. */
|
|
160
|
+
innerBorder: "#FFFFFF",
|
|
161
|
+
/** Accent ring one pixel outside it. */
|
|
162
|
+
outerBorder: "#473DD9",
|
|
163
|
+
/** Fill of a selected node that carries no image. */
|
|
164
|
+
activeFill: "#000000",
|
|
165
|
+
shadowInner: "#141C2C",
|
|
166
|
+
shadowOuter: "#5F6877"
|
|
167
|
+
};
|
|
168
|
+
const NODE_LABEL_COLORS = {
|
|
169
|
+
text: "rgba(33, 38, 46, 0.9)",
|
|
170
|
+
textActive: "#FFFFFF",
|
|
171
|
+
background: "#FFFFFF00",
|
|
172
|
+
backgroundHover: "#FFFFFF",
|
|
173
|
+
backgroundActive: "#000000"
|
|
174
|
+
};
|
|
175
|
+
const LINK_LABEL_COLORS = {
|
|
176
|
+
background: "rgba(19, 22, 29, 1)",
|
|
177
|
+
text: "rgba(239, 240, 241, 1)"
|
|
178
|
+
};
|
|
179
|
+
export {
|
|
180
|
+
DEFAULT_NODE_COLOR,
|
|
181
|
+
FORCE_CANVAS_REFERENCE,
|
|
182
|
+
FULL_RANGE,
|
|
183
|
+
INITIAL_NODE_RADIUS_RATIO,
|
|
184
|
+
LABEL_ALWAYS_ABOVE,
|
|
185
|
+
LINK_COLORS,
|
|
186
|
+
LINK_LABEL_COLORS,
|
|
187
|
+
LINK_WIDTH,
|
|
188
|
+
MAX_LINK_DISTANCE,
|
|
189
|
+
MAX_LINK_WIDTH,
|
|
190
|
+
MIN_LINK_DISTANCE,
|
|
191
|
+
MIN_LINK_WIDTH,
|
|
192
|
+
NODE_BORDER_WIDTH,
|
|
193
|
+
NODE_COLLIDE_PAD,
|
|
194
|
+
NODE_COLORS,
|
|
195
|
+
NODE_LABEL_COLORS,
|
|
196
|
+
NODE_SIZES,
|
|
197
|
+
NODE_TYPE_COLORS,
|
|
198
|
+
SHADOW_RADIUS_RATIO,
|
|
199
|
+
SIZE_KEYS,
|
|
200
|
+
isFullRange,
|
|
201
|
+
legendRanges,
|
|
202
|
+
networkForces,
|
|
203
|
+
nodeColor,
|
|
204
|
+
nodeRadius,
|
|
205
|
+
nodeSizeKey,
|
|
206
|
+
rangeIndexOf,
|
|
207
|
+
scaleLinkWidthByMax,
|
|
208
|
+
shadowRadius,
|
|
209
|
+
visibleNodeIds
|
|
210
|
+
};
|
|
211
|
+
//# sourceMappingURL=domain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domain.js","sources":["../../../../src/components/network-graph/lib/domain.ts"],"sourcesContent":["import type {\n NetworkGraphModel,\n NetworkLegendRange,\n NetworkNode,\n NetworkRange,\n NetworkSizeKey,\n} from './types.js';\n\n/** Client `NODE_SIZES` — bucket → circle radius in px. */\nexport const NODE_SIZES: Record<NetworkSizeKey, number> = {\n xs: 4,\n sm: 6,\n md: 8,\n lg: 12,\n xl: 16,\n '2xl': 24,\n '3xl': 32,\n};\n\n/** Client `SIZE_KEYS` — one per break point, smallest first. */\nexport const SIZE_KEYS: NetworkSizeKey[] = [\n 'xs',\n 'sm',\n 'md',\n 'lg',\n 'xl',\n '2xl',\n '3xl',\n];\n\n/** Buckets above `md` keep their label on screen at rest (client rule). */\nexport const LABEL_ALWAYS_ABOVE = NODE_SIZES.md;\n\nexport const NODE_BORDER_WIDTH = 1;\nexport const SHADOW_RADIUS_RATIO = 1.5;\nexport const MIN_LINK_WIDTH = 0.8;\nexport const MAX_LINK_WIDTH = 20;\n/** Resting stroke width for every link (client). */\nexport const LINK_WIDTH = 2;\nexport const MIN_LINK_DISTANCE = 20;\nexport const MAX_LINK_DISTANCE = 100;\n\n/** Client `LINK_COLORS`. */\nexport const LINK_COLORS = {\n neutral: 'rgba(207, 210, 214, 1)',\n primary: 'rgba(71, 176, 255, 0.5)',\n secondary: 'rgba(255, 140, 71, 0.5)',\n} as const;\n\n/** Client `DEFAULT_NODE_COLOR`. */\nexport const DEFAULT_NODE_COLOR = '#64748B';\n\n/** Client `NODE_TYPE_COLORS` — category key → fill for a node without an image. */\nexport const NODE_TYPE_COLORS: Record<string, string> = {\n bank: '#2563EB',\n invest: '#10B981',\n regional: '#F59E0B',\n vc: '#8B5CF6',\n crypto: '#F97316',\n exchange: '#06B6D4',\n blockchain: '#6366F1',\n defi: '#EC4899',\n company: '#3B82F6',\n startup: '#14B8A6',\n platform: '#A855F7',\n service: '#0EA5E9',\n person: '#EF4444',\n organization: '#64748B',\n community: '#84CC16',\n university: '#1E40AF',\n institute: '#7C3AED',\n program: '#059669',\n studio: '#DC2626',\n streaming: '#BE185D',\n producer: '#B91C1C',\n network: '#1F2937',\n tech: '#3B82F6',\n gaming: '#8B5CF6',\n lifestyle: '#EC4899',\n accelerator: '#10B981',\n manufacturer: '#6366F1',\n distributor: '#F59E0B',\n retailer: '#06B6D4',\n supplier: '#14B8A6',\n cloud: '#0EA5E9',\n saas: '#3B82F6',\n integration: '#8B5CF6',\n framework: '#10B981',\n foundation: '#64748B',\n sponsor: '#F59E0B',\n ai: '#6366F1',\n physics: '#8B5CF6',\n biology: '#10B981',\n corporate: '#3B82F6',\n global: '#1E40AF',\n financial: '#059669',\n ivy: '#7C3AED',\n domain: '#EC4899',\n research: '#14B8A6',\n developer: '#F97316',\n mission: '#4338CA',\n goal: '#A78BFA',\n insight: '#34D399',\n event: '#93C5FD',\n blocker: '#F43F5E',\n entity: '#4B5563',\n source: '#CBD5E1',\n};\n\n/** Full bucket window — no filtering (client `DEFAULT_SLIDER_RANGE`). */\nexport const FULL_RANGE: NetworkRange = { leftSlider: 0, rightSlider: 7 };\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.max(min, Math.min(max, value));\n}\n\n/** Client `getNodeSizeFromBreakpoints`. */\nexport function nodeSizeKey(\n value: number | undefined,\n breakpoints: number[],\n): NetworkSizeKey {\n if (!value || !breakpoints.length) return 'sm';\n for (let i = 0; i < breakpoints.length; i++) {\n if (value <= breakpoints[i]) return SIZE_KEYS[i] ?? 'sm';\n }\n return SIZE_KEYS[SIZE_KEYS.length - 1];\n}\n\nexport function nodeRadius(node: NetworkNode, breakpoints: number[]): number {\n return NODE_SIZES[nodeSizeKey(node.value, breakpoints)];\n}\n\nexport function shadowRadius(node: NetworkNode, breakpoints: number[]): number {\n return nodeRadius(node, breakpoints) * SHADOW_RADIUS_RATIO;\n}\n\n/** Client `getNodeColor` — explicit colour, then category, then the slate default. */\nexport function nodeColor(node: NetworkNode): string {\n return node.color || NODE_TYPE_COLORS[node.type] || DEFAULT_NODE_COLOR;\n}\n\n/** Client `scaleLinkWidthByMax` — resting links stay at `LINK_WIDTH`. */\nexport function scaleLinkWidthByMax(value: number, maxValue: number): number {\n if (maxValue <= 0) return MIN_LINK_WIDTH;\n const ratio = clamp(value / maxValue, 0, 1);\n return MIN_LINK_WIDTH + ratio * (MAX_LINK_WIDTH - MIN_LINK_WIDTH);\n}\n\n/** Client `getNodeRangeIndex` — which bucket a value falls into. */\nexport function rangeIndexOf(value: number, breakpoints: number[]): number {\n for (let i = 0; i < breakpoints.length; i++) {\n if (value <= breakpoints[i]) return i;\n }\n return breakpoints.length - 1;\n}\n\nexport function isFullRange(range: NetworkRange): boolean {\n return (\n range.leftSlider === FULL_RANGE.leftSlider &&\n range.rightSlider === FULL_RANGE.rightSlider\n );\n}\n\n/**\n * Client `filterGraphDataBySliderRange`, reduced to the id set the draw layer\n * needs: hidden nodes stay in the simulation so the layout does not jump.\n * `null` means \"everything is visible\".\n */\nexport function visibleNodeIds(\n model: NetworkGraphModel,\n range: NetworkRange,\n): Set<string> | null {\n if (isFullRange(range) || !model.breakpoints.length) return null;\n\n const ids = new Set<string>();\n for (const node of model.nodes) {\n if (typeof node.value !== 'number') continue;\n const index = rangeIndexOf(node.value, model.breakpoints);\n if (range.leftSlider <= index && index < range.rightSlider) ids.add(node.id);\n }\n return ids;\n}\n\n/**\n * Client `Legends` ranges — one bubble per break point, the last stretched to\n * 3x so the largest node still lands in a bucket.\n */\nexport function legendRanges(breakpoints: number[]): NetworkLegendRange[] {\n return breakpoints.map((start, index) => ({\n start,\n end: index === breakpoints.length - 1 ? start * 3 : breakpoints[index + 1],\n radius: NODE_SIZES[SIZE_KEYS[index] ?? 'sm'],\n }));\n}\n\n/**\n * The client lays the simulation out on a fixed 2000x1375 canvas and zooms into\n * it. Chat gives the chart its container instead, so the spatial forces are\n * scaled against that canvas — same spacing relative to the room available.\n */\nexport const FORCE_CANVAS_REFERENCE = 1375;\n/**\n * Slack between the largest node and its collision ring. The client gets this\n * for free from a flat 60px radius on a canvas where nodes cap at 32px; keeping\n * the same cushion is what stops the labels from stacking on top of each other.\n */\nexport const NODE_COLLIDE_PAD = 36;\n\nexport interface NetworkForces {\n charge: number;\n collide: number;\n linkDistance: number;\n}\n\nexport function networkForces(\n width: number,\n height: number,\n maxNodeRadius: number,\n): NetworkForces {\n const scale = clamp(Math.min(width, height) / FORCE_CANVAS_REFERENCE, 0.2, 1);\n return {\n charge: -1200 * scale,\n collide: Math.max(60 * scale, maxNodeRadius + NODE_COLLIDE_PAD),\n // The client re-rolls one random distance in [20, 100] per mount; a chat\n // chart has to be reproducible, so the midpoint is used and then scaled.\n linkDistance: clamp(\n ((MIN_LINK_DISTANCE + MAX_LINK_DISTANCE) / 2) * scale,\n MIN_LINK_DISTANCE,\n MAX_LINK_DISTANCE,\n ),\n };\n}\n\n/** Client `INITIAL_NODE_RADIUS_RATIO` — seed spread as a share of the canvas. */\nexport const INITIAL_NODE_RADIUS_RATIO = 0.2;\n\n/** Node chrome (client `createNodeElements`). */\nexport const NODE_COLORS = {\n /** Blue bloom under every node. */\n glow: '#473DD9',\n /** Hairline ring drawn on the circle edge. */\n innerBorder: '#FFFFFF',\n /** Accent ring one pixel outside it. */\n outerBorder: '#473DD9',\n /** Fill of a selected node that carries no image. */\n activeFill: '#000000',\n shadowInner: '#141C2C',\n shadowOuter: '#5F6877',\n} as const;\n\n/** Node label chrome (client `createNodeLabel`). */\nexport const NODE_LABEL_COLORS = {\n text: 'rgba(33, 38, 46, 0.9)',\n textActive: '#FFFFFF',\n background: '#FFFFFF00',\n backgroundHover: '#FFFFFF',\n backgroundActive: '#000000',\n} as const;\n\n/** Link value pill (client `link-label`). */\nexport const LINK_LABEL_COLORS = {\n background: 'rgba(19, 22, 29, 1)',\n text: 'rgba(239, 240, 241, 1)',\n} as const;\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Client `toK` — link label text. */
|
|
2
|
+
export declare function formatLinkValue(value: number | undefined): string;
|
|
3
|
+
/** Client node label value row. */
|
|
4
|
+
export declare function formatNodeValue(value: number | undefined): string;
|
|
5
|
+
/** Client `Legends.formatValue` — abbreviated bucket boundary. */
|
|
6
|
+
export declare function formatLegendValue(value: number, toFixed?: number): string;
|
|
7
|
+
//# sourceMappingURL=format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../src/components/network-graph/lib/format.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAOjE;AAED,mCAAmC;AACnC,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAEjE;AAED,kEAAkE;AAClE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,SAAI,GAAG,MAAM,CAYpE"}
|