@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 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.js","sources":["../../../../src/components/gini-impurity-entropy-chart/lib/normalize.ts"],"sourcesContent":["import type { DataPoint } from '../../../types/index.js';\nimport { resolveFormattingColor } from '../../../utils/fuse-palette.js';\nimport {\n firstField,\n isFuseWidgetPayload,\n type FuseWidgetLike,\n} from '../../../utils/fuse-widget.js';\nimport { resolveOverlays } from './overlays.js';\nimport { extractSeriesFromData } from './series.js';\nimport {\n DEFAULT_SERIES_KEYS,\n DEFAULT_SERIES_STYLE,\n DEFAULT_Y_LABEL,\n SERIES_LABELS,\n type GiniImpurityEntropyChartData,\n type GiniImpurityEntropyFusePayload,\n type GiniImpurityEntropyModel,\n type GiniOverlays,\n type GiniSeries,\n type GiniSeriesPoint,\n} from './types.js';\n\n/** Host-supplied overlay switches; each falls back to the widget `meta`. */\nexport type GiniOverlayFlags = Pick<\n Partial<GiniOverlays>,\n 'showPHat' | 'showCI' | 'showSplit'\n>;\n\nfunction emptyModel(flags: GiniOverlayFlags): GiniImpurityEntropyModel {\n return {\n series: [],\n xLabel: '',\n yLabel: DEFAULT_Y_LABEL,\n overlays: resolveOverlays(null, flags),\n };\n}\n\n/**\n * Client rule: `yAxe` names the metric columns, except for the placeholder\n * `\"value\"` the editor writes before a metric is picked.\n */\nfunction resolveSeriesKeys(yAxe: FuseWidgetLike['yAxe']): string[] {\n const keys = Array.isArray(yAxe) ? yAxe.map(String).filter(Boolean) : [];\n if (keys.length > 0 && keys[0] !== 'value') return keys;\n return DEFAULT_SERIES_KEYS;\n}\n\n/** Fixed metric style first (client `DEFAULT_SERIES_STYLE`), palette after. */\nfunction styleFor(\n key: string,\n index: number,\n count: number,\n formatting: FuseWidgetLike['formatting'],\n): { color: string; dash?: string } {\n const preset = DEFAULT_SERIES_STYLE[key];\n if (preset) return preset;\n return {\n color: resolveFormattingColor(formatting, key, count),\n dash: index > 0 ? '5,5' : undefined,\n };\n}\n\nfunction toSeries(\n points: GiniSeriesPoint[],\n key: string,\n index: number,\n count: number,\n formatting: FuseWidgetLike['formatting'],\n): GiniSeries {\n const { color, dash } = styleFor(key, index, count, formatting);\n return {\n id: key,\n name: SERIES_LABELS[key] ?? key,\n color,\n dash,\n points,\n };\n}\n\nfunction fromFuseWidget(\n widget: GiniImpurityEntropyFusePayload,\n flags: GiniOverlayFlags,\n): GiniImpurityEntropyModel {\n const xField = firstField(widget.xAxe) ?? 'p';\n const keys = resolveSeriesKeys(widget.yAxe);\n const extracted = extractSeriesFromData(widget.data, xField, keys);\n\n const series = keys\n .filter((key) => extracted[key]?.length)\n .map((key, index, kept) =>\n toSeries(extracted[key], key, index, kept.length, widget.formatting),\n );\n\n return {\n series,\n xLabel: widget.axisDetails?.[xField]?.label ?? xField,\n yLabel: widget.axisDetails?.value?.label ?? DEFAULT_Y_LABEL,\n overlays: resolveOverlays(widget.meta, flags),\n };\n}\n\nfunction toPoints(\n raw: Array<{ x: number | string; y: number }>,\n): GiniSeriesPoint[] {\n const points: GiniSeriesPoint[] = [];\n for (const item of raw) {\n const p = Number(item?.x);\n const value = Number(item?.y);\n if (!Number.isFinite(p) || !Number.isFinite(value)) continue;\n points.push({ p, value });\n }\n return points.sort((a, b) => a.p - b.p);\n}\n\nfunction fromChatPayload(\n chart: GiniImpurityEntropyChartData,\n flags: GiniOverlayFlags,\n): GiniImpurityEntropyModel {\n const base = {\n xLabel: chart.xLabel ?? '',\n yLabel: chart.yLabel ?? DEFAULT_Y_LABEL,\n overlays: resolveOverlays(chart.meta, flags),\n };\n\n const rawSeries = chart.series ?? [];\n if (rawSeries.length) {\n const series: GiniSeries[] = [];\n rawSeries.forEach((s, index) => {\n const points = toPoints(s.points ?? []);\n if (!points.length) return;\n const preset = DEFAULT_SERIES_STYLE[s.id];\n series.push({\n id: s.id || `series-${index}`,\n name: s.name ?? SERIES_LABELS[s.id] ?? s.id,\n color:\n s.color ??\n preset?.color ??\n resolveFormattingColor(null, s.id, rawSeries.length),\n dash: s.dash ?? preset?.dash,\n points,\n });\n });\n return { ...base, series };\n }\n\n const points = toPoints(chart.points ?? []);\n if (!points.length) return { ...base, series: [] };\n return {\n ...base,\n series: [toSeries(points, DEFAULT_SERIES_KEYS[1], 0, 1, null)],\n };\n}\n\n/** Normalize chat / FuseDash WidgetItem payloads into one impurity-curve model. */\nexport function normalizeGiniImpurityEntropyData(\n input:\n | DataPoint[]\n | GiniImpurityEntropyChartData\n | GiniImpurityEntropyFusePayload\n | null\n | undefined,\n flags: GiniOverlayFlags = {},\n): GiniImpurityEntropyModel {\n if (!input) return emptyModel(flags);\n\n if (Array.isArray(input)) {\n const points = toPoints(\n input.map((d) => ({ x: d?.label, y: Number(d?.value) })),\n );\n if (!points.length) return emptyModel(flags);\n return {\n series: [toSeries(points, DEFAULT_SERIES_KEYS[1], 0, 1, null)],\n xLabel: '',\n yLabel: DEFAULT_Y_LABEL,\n overlays: resolveOverlays(null, flags),\n };\n }\n\n if (isFuseWidgetPayload(input)) {\n return fromFuseWidget(input as GiniImpurityEntropyFusePayload, flags);\n }\n\n return fromChatPayload(input as GiniImpurityEntropyChartData, flags);\n}\n"],"names":["_a","points"],"mappings":";;;;;AA4BA,SAAS,WAAW,OAAmD;AACrE,SAAO;AAAA,IACL,QAAQ,CAAA;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,UAAU,gBAAgB,MAAM,KAAK;AAAA,EAAA;AAEzC;AAMA,SAAS,kBAAkB,MAAwC;AACjE,QAAM,OAAO,MAAM,QAAQ,IAAI,IAAI,KAAK,IAAI,MAAM,EAAE,OAAO,OAAO,IAAI,CAAA;AACtE,MAAI,KAAK,SAAS,KAAK,KAAK,CAAC,MAAM,QAAS,QAAO;AACnD,SAAO;AACT;AAGA,SAAS,SACP,KACA,OACA,OACA,YACkC;AAClC,QAAM,SAAS,qBAAqB,GAAG;AACvC,MAAI,OAAQ,QAAO;AACnB,SAAO;AAAA,IACL,OAAO,uBAAuB,YAAY,KAAK,KAAK;AAAA,IACpD,MAAM,QAAQ,IAAI,QAAQ;AAAA,EAAA;AAE9B;AAEA,SAAS,SACP,QACA,KACA,OACA,OACA,YACY;AACZ,QAAM,EAAE,OAAO,SAAS,SAAS,KAAK,OAAO,OAAO,UAAU;AAC9D,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,MAAM,cAAc,GAAG,KAAK;AAAA,IAC5B;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEJ;AAEA,SAAS,eACP,QACA,OAC0B;;AAC1B,QAAM,SAAS,WAAW,OAAO,IAAI,KAAK;AAC1C,QAAM,OAAO,kBAAkB,OAAO,IAAI;AAC1C,QAAM,YAAY,sBAAsB,OAAO,MAAM,QAAQ,IAAI;AAEjE,QAAM,SAAS,KACZ,OAAO,CAAC;;AAAQ,YAAAA,MAAA,UAAU,GAAG,MAAb,gBAAAA,IAAgB;AAAA,GAAM,EACtC;AAAA,IAAI,CAAC,KAAK,OAAO,SAChB,SAAS,UAAU,GAAG,GAAG,KAAK,OAAO,KAAK,QAAQ,OAAO,UAAU;AAAA,EAAA;AAGvE,SAAO;AAAA,IACL;AAAA,IACA,UAAQ,kBAAO,gBAAP,mBAAqB,YAArB,mBAA8B,UAAS;AAAA,IAC/C,UAAQ,kBAAO,gBAAP,mBAAoB,UAApB,mBAA2B,UAAS;AAAA,IAC5C,UAAU,gBAAgB,OAAO,MAAM,KAAK;AAAA,EAAA;AAEhD;AAEA,SAAS,SACP,KACmB;AACnB,QAAM,SAA4B,CAAA;AAClC,aAAW,QAAQ,KAAK;AACtB,UAAM,IAAI,OAAO,6BAAM,CAAC;AACxB,UAAM,QAAQ,OAAO,6BAAM,CAAC;AAC5B,QAAI,CAAC,OAAO,SAAS,CAAC,KAAK,CAAC,OAAO,SAAS,KAAK,EAAG;AACpD,WAAO,KAAK,EAAE,GAAG,MAAA,CAAO;AAAA,EAC1B;AACA,SAAO,OAAO,KAAK,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC;AACxC;AAEA,SAAS,gBACP,OACA,OAC0B;AAC1B,QAAM,OAAO;AAAA,IACX,QAAQ,MAAM,UAAU;AAAA,IACxB,QAAQ,MAAM,UAAU;AAAA,IACxB,UAAU,gBAAgB,MAAM,MAAM,KAAK;AAAA,EAAA;AAG7C,QAAM,YAAY,MAAM,UAAU,CAAA;AAClC,MAAI,UAAU,QAAQ;AACpB,UAAM,SAAuB,CAAA;AAC7B,cAAU,QAAQ,CAAC,GAAG,UAAU;AAC9B,YAAMC,UAAS,SAAS,EAAE,UAAU,CAAA,CAAE;AACtC,UAAI,CAACA,QAAO,OAAQ;AACpB,YAAM,SAAS,qBAAqB,EAAE,EAAE;AACxC,aAAO,KAAK;AAAA,QACV,IAAI,EAAE,MAAM,UAAU,KAAK;AAAA,QAC3B,MAAM,EAAE,QAAQ,cAAc,EAAE,EAAE,KAAK,EAAE;AAAA,QACzC,OACE,EAAE,UACF,iCAAQ,UACR,uBAAuB,MAAM,EAAE,IAAI,UAAU,MAAM;AAAA,QACrD,MAAM,EAAE,SAAQ,iCAAQ;AAAA,QACxB,QAAAA;AAAAA,MAAA,CACD;AAAA,IACH,CAAC;AACD,WAAO,EAAE,GAAG,MAAM,OAAA;AAAA,EACpB;AAEA,QAAM,SAAS,SAAS,MAAM,UAAU,CAAA,CAAE;AAC1C,MAAI,CAAC,OAAO,OAAQ,QAAO,EAAE,GAAG,MAAM,QAAQ,GAAC;AAC/C,SAAO;AAAA,IACL,GAAG;AAAA,IACH,QAAQ,CAAC,SAAS,QAAQ,oBAAoB,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;AAAA,EAAA;AAEjE;AAGO,SAAS,iCACd,OAMA,QAA0B,IACA;AAC1B,MAAI,CAAC,MAAO,QAAO,WAAW,KAAK;AAEnC,MAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,UAAM,SAAS;AAAA,MACb,MAAM,IAAI,CAAC,OAAO,EAAE,GAAG,uBAAG,OAAO,GAAG,OAAO,uBAAG,KAAK,IAAI;AAAA,IAAA;AAEzD,QAAI,CAAC,OAAO,OAAQ,QAAO,WAAW,KAAK;AAC3C,WAAO;AAAA,MACL,QAAQ,CAAC,SAAS,QAAQ,oBAAoB,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;AAAA,MAC7D,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,UAAU,gBAAgB,MAAM,KAAK;AAAA,IAAA;AAAA,EAEzC;AAEA,MAAI,oBAAoB,KAAK,GAAG;AAC9B,WAAO,eAAe,OAAyC,KAAK;AAAA,EACtE;AAEA,SAAO,gBAAgB,OAAuC,KAAK;AACrE;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { GiniOverlays } from './types.js';
|
|
2
|
+
/** Binary Gini impurity — the curve the split annotation is measured against. */
|
|
3
|
+
export declare function giniImpurity(p: number): number;
|
|
4
|
+
/**
|
|
5
|
+
* Merge widget `meta` with host flags. Client precedence: an explicit prop wins
|
|
6
|
+
* over `meta`, and every overlay stays off when neither says otherwise.
|
|
7
|
+
*/
|
|
8
|
+
export declare function resolveOverlays(meta: Partial<GiniOverlays> | null | undefined, flags?: Pick<Partial<GiniOverlays>, 'showPHat' | 'showCI' | 'showSplit'>): GiniOverlays;
|
|
9
|
+
export interface SplitAnnotation {
|
|
10
|
+
pLeft: number;
|
|
11
|
+
pRight: number;
|
|
12
|
+
leftValue: number;
|
|
13
|
+
rightValue: number;
|
|
14
|
+
/** Impurity reduction: parent Gini − child-weighted Gini */
|
|
15
|
+
delta: number;
|
|
16
|
+
}
|
|
17
|
+
/** Client split annotation — child markers plus the ΔGini they buy. */
|
|
18
|
+
export declare function splitAnnotation(overlays: GiniOverlays): SplitAnnotation | null;
|
|
19
|
+
//# sourceMappingURL=overlays.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlays.d.ts","sourceRoot":"","sources":["../../../../src/components/gini-impurity-entropy-chart/lib/overlays.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE9C;AAgCD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,GAAG,SAAS,EAC9C,KAAK,GAAE,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,WAAW,CAAM,GAC3E,YAAY,CAUd;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;CACf;AAED,uEAAuE;AACvE,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,YAAY,GACrB,eAAe,GAAG,IAAI,CAqBxB"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
function giniImpurity(p) {
|
|
2
|
+
return 2 * p * (1 - p);
|
|
3
|
+
}
|
|
4
|
+
function clamp01(value) {
|
|
5
|
+
return Math.max(0, Math.min(1, value));
|
|
6
|
+
}
|
|
7
|
+
function readNumber(value) {
|
|
8
|
+
return typeof value === "number" && Number.isFinite(value) ? value : void 0;
|
|
9
|
+
}
|
|
10
|
+
function readCi(value) {
|
|
11
|
+
if (!Array.isArray(value) || value.length < 2) return void 0;
|
|
12
|
+
const lo = readNumber(value[0]);
|
|
13
|
+
const hi = readNumber(value[1]);
|
|
14
|
+
if (lo === void 0 || hi === void 0) return void 0;
|
|
15
|
+
return [clamp01(Math.min(lo, hi)), clamp01(Math.max(lo, hi))];
|
|
16
|
+
}
|
|
17
|
+
function readSplit(value) {
|
|
18
|
+
if (!value || typeof value !== "object") return void 0;
|
|
19
|
+
const raw = value;
|
|
20
|
+
const pLeft = readNumber(raw.pLeft);
|
|
21
|
+
const pRight = readNumber(raw.pRight);
|
|
22
|
+
if (pLeft === void 0 || pRight === void 0) return void 0;
|
|
23
|
+
return {
|
|
24
|
+
pLeft: clamp01(pLeft),
|
|
25
|
+
pRight: clamp01(pRight),
|
|
26
|
+
nLeft: readNumber(raw.nLeft),
|
|
27
|
+
nRight: readNumber(raw.nRight)
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function resolveOverlays(meta, flags = {}) {
|
|
31
|
+
const pHat = readNumber(meta == null ? void 0 : meta.pHat);
|
|
32
|
+
return {
|
|
33
|
+
pHat: pHat === void 0 ? void 0 : clamp01(pHat),
|
|
34
|
+
ci: readCi(meta == null ? void 0 : meta.ci),
|
|
35
|
+
split: readSplit(meta == null ? void 0 : meta.split),
|
|
36
|
+
showPHat: flags.showPHat ?? (meta == null ? void 0 : meta.showPHat) ?? false,
|
|
37
|
+
showCI: flags.showCI ?? (meta == null ? void 0 : meta.showCI) ?? false,
|
|
38
|
+
showSplit: flags.showSplit ?? (meta == null ? void 0 : meta.showSplit) ?? false
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
function splitAnnotation(overlays) {
|
|
42
|
+
if (!overlays.showSplit || !overlays.split) return null;
|
|
43
|
+
const { pLeft, pRight } = overlays.split;
|
|
44
|
+
const nLeft = overlays.split.nLeft ?? 1;
|
|
45
|
+
const nRight = overlays.split.nRight ?? 1;
|
|
46
|
+
const total = nLeft + nRight;
|
|
47
|
+
if (!(total > 0)) return null;
|
|
48
|
+
const weighted = nLeft / total * giniImpurity(pLeft) + nRight / total * giniImpurity(pRight);
|
|
49
|
+
const parent = giniImpurity(overlays.pHat ?? 0.5);
|
|
50
|
+
return {
|
|
51
|
+
pLeft,
|
|
52
|
+
pRight,
|
|
53
|
+
leftValue: giniImpurity(pLeft),
|
|
54
|
+
rightValue: giniImpurity(pRight),
|
|
55
|
+
delta: parent - weighted
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
export {
|
|
59
|
+
giniImpurity,
|
|
60
|
+
resolveOverlays,
|
|
61
|
+
splitAnnotation
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=overlays.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlays.js","sources":["../../../../src/components/gini-impurity-entropy-chart/lib/overlays.ts"],"sourcesContent":["import type { GiniOverlays } from './types.js';\n\n/** Binary Gini impurity — the curve the split annotation is measured against. */\nexport function giniImpurity(p: number): number {\n return 2 * p * (1 - p);\n}\n\nfunction clamp01(value: number): number {\n return Math.max(0, Math.min(1, value));\n}\n\nfunction readNumber(value: unknown): number | undefined {\n return typeof value === 'number' && Number.isFinite(value) ? value : undefined;\n}\n\nfunction readCi(value: unknown): [number, number] | undefined {\n if (!Array.isArray(value) || value.length < 2) return undefined;\n const lo = readNumber(value[0]);\n const hi = readNumber(value[1]);\n if (lo === undefined || hi === undefined) return undefined;\n return [clamp01(Math.min(lo, hi)), clamp01(Math.max(lo, hi))];\n}\n\nfunction readSplit(value: unknown): GiniOverlays['split'] {\n if (!value || typeof value !== 'object') return undefined;\n const raw = value as Record<string, unknown>;\n const pLeft = readNumber(raw.pLeft);\n const pRight = readNumber(raw.pRight);\n if (pLeft === undefined || pRight === undefined) return undefined;\n return {\n pLeft: clamp01(pLeft),\n pRight: clamp01(pRight),\n nLeft: readNumber(raw.nLeft),\n nRight: readNumber(raw.nRight),\n };\n}\n\n/**\n * Merge widget `meta` with host flags. Client precedence: an explicit prop wins\n * over `meta`, and every overlay stays off when neither says otherwise.\n */\nexport function resolveOverlays(\n meta: Partial<GiniOverlays> | null | undefined,\n flags: Pick<Partial<GiniOverlays>, 'showPHat' | 'showCI' | 'showSplit'> = {},\n): GiniOverlays {\n const pHat = readNumber(meta?.pHat);\n return {\n pHat: pHat === undefined ? undefined : clamp01(pHat),\n ci: readCi(meta?.ci),\n split: readSplit(meta?.split),\n showPHat: flags.showPHat ?? meta?.showPHat ?? false,\n showCI: flags.showCI ?? meta?.showCI ?? false,\n showSplit: flags.showSplit ?? meta?.showSplit ?? false,\n };\n}\n\nexport interface SplitAnnotation {\n pLeft: number;\n pRight: number;\n leftValue: number;\n rightValue: number;\n /** Impurity reduction: parent Gini − child-weighted Gini */\n delta: number;\n}\n\n/** Client split annotation — child markers plus the ΔGini they buy. */\nexport function splitAnnotation(\n overlays: GiniOverlays,\n): SplitAnnotation | null {\n if (!overlays.showSplit || !overlays.split) return null;\n\n const { pLeft, pRight } = overlays.split;\n const nLeft = overlays.split.nLeft ?? 1;\n const nRight = overlays.split.nRight ?? 1;\n const total = nLeft + nRight;\n if (!(total > 0)) return null;\n\n const weighted =\n (nLeft / total) * giniImpurity(pLeft) +\n (nRight / total) * giniImpurity(pRight);\n const parent = giniImpurity(overlays.pHat ?? 0.5);\n\n return {\n pLeft,\n pRight,\n leftValue: giniImpurity(pLeft),\n rightValue: giniImpurity(pRight),\n delta: parent - weighted,\n };\n}\n"],"names":[],"mappings":"AAGO,SAAS,aAAa,GAAmB;AAC9C,SAAO,IAAI,KAAK,IAAI;AACtB;AAEA,SAAS,QAAQ,OAAuB;AACtC,SAAO,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,CAAC;AACvC;AAEA,SAAS,WAAW,OAAoC;AACtD,SAAO,OAAO,UAAU,YAAY,OAAO,SAAS,KAAK,IAAI,QAAQ;AACvE;AAEA,SAAS,OAAO,OAA8C;AAC5D,MAAI,CAAC,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,EAAG,QAAO;AACtD,QAAM,KAAK,WAAW,MAAM,CAAC,CAAC;AAC9B,QAAM,KAAK,WAAW,MAAM,CAAC,CAAC;AAC9B,MAAI,OAAO,UAAa,OAAO,OAAW,QAAO;AACjD,SAAO,CAAC,QAAQ,KAAK,IAAI,IAAI,EAAE,CAAC,GAAG,QAAQ,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;AAC9D;AAEA,SAAS,UAAU,OAAuC;AACxD,MAAI,CAAC,SAAS,OAAO,UAAU,SAAU,QAAO;AAChD,QAAM,MAAM;AACZ,QAAM,QAAQ,WAAW,IAAI,KAAK;AAClC,QAAM,SAAS,WAAW,IAAI,MAAM;AACpC,MAAI,UAAU,UAAa,WAAW,OAAW,QAAO;AACxD,SAAO;AAAA,IACL,OAAO,QAAQ,KAAK;AAAA,IACpB,QAAQ,QAAQ,MAAM;AAAA,IACtB,OAAO,WAAW,IAAI,KAAK;AAAA,IAC3B,QAAQ,WAAW,IAAI,MAAM;AAAA,EAAA;AAEjC;AAMO,SAAS,gBACd,MACA,QAA0E,IAC5D;AACd,QAAM,OAAO,WAAW,6BAAM,IAAI;AAClC,SAAO;AAAA,IACL,MAAM,SAAS,SAAY,SAAY,QAAQ,IAAI;AAAA,IACnD,IAAI,OAAO,6BAAM,EAAE;AAAA,IACnB,OAAO,UAAU,6BAAM,KAAK;AAAA,IAC5B,UAAU,MAAM,aAAY,6BAAM,aAAY;AAAA,IAC9C,QAAQ,MAAM,WAAU,6BAAM,WAAU;AAAA,IACxC,WAAW,MAAM,cAAa,6BAAM,cAAa;AAAA,EAAA;AAErD;AAYO,SAAS,gBACd,UACwB;AACxB,MAAI,CAAC,SAAS,aAAa,CAAC,SAAS,MAAO,QAAO;AAEnD,QAAM,EAAE,OAAO,OAAA,IAAW,SAAS;AACnC,QAAM,QAAQ,SAAS,MAAM,SAAS;AACtC,QAAM,SAAS,SAAS,MAAM,UAAU;AACxC,QAAM,QAAQ,QAAQ;AACtB,MAAI,EAAE,QAAQ,GAAI,QAAO;AAEzB,QAAM,WACH,QAAQ,QAAS,aAAa,KAAK,IACnC,SAAS,QAAS,aAAa,MAAM;AACxC,QAAM,SAAS,aAAa,SAAS,QAAQ,GAAG;AAEhD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,WAAW,aAAa,KAAK;AAAA,IAC7B,YAAY,aAAa,MAAM;AAAA,IAC/B,OAAO,SAAS;AAAA,EAAA;AAEpB;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { GiniSeriesPoint } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Client `extractSeriesFromData`: one series per metric column, keyed by the
|
|
4
|
+
* x-axis column, sorted ascending by `p`.
|
|
5
|
+
*/
|
|
6
|
+
export declare function extractSeriesFromData(data: unknown, xField: string, seriesKeys?: string[]): Record<string, GiniSeriesPoint[]>;
|
|
7
|
+
/**
|
|
8
|
+
* Client `getNearestValue`, returning the point so the crosshair can sit on it.
|
|
9
|
+
* Binary search over the `p`-sorted series — keeps hover off the O(n) path.
|
|
10
|
+
*/
|
|
11
|
+
export declare function nearestPoint(points: GiniSeriesPoint[], p: number): GiniSeriesPoint | null;
|
|
12
|
+
//# sourceMappingURL=series.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"series.d.ts","sourceRoot":"","sources":["../../../../src/components/gini-impurity-entropy-chart/lib/series.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,YAAY,CAAC;AAEvE;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,OAAO,EACb,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,EAAE,GACpB,MAAM,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAuBnC;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,eAAe,EAAE,EACzB,CAAC,EAAE,MAAM,GACR,eAAe,GAAG,IAAI,CAsBxB"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { DEFAULT_SERIES_KEYS } from "./types.js";
|
|
2
|
+
function extractSeriesFromData(data, xField, seriesKeys) {
|
|
3
|
+
const rows = Array.isArray(data) ? data : [];
|
|
4
|
+
const keys = (seriesKeys == null ? void 0 : seriesKeys.length) ? seriesKeys : DEFAULT_SERIES_KEYS;
|
|
5
|
+
const result = {};
|
|
6
|
+
for (const key of keys) result[key] = [];
|
|
7
|
+
for (const row of rows) {
|
|
8
|
+
if (!row || typeof row !== "object") continue;
|
|
9
|
+
const p = Number(row[xField]);
|
|
10
|
+
if (!Number.isFinite(p)) continue;
|
|
11
|
+
for (const key of keys) {
|
|
12
|
+
if (row[key] === void 0) continue;
|
|
13
|
+
const value = Number(row[key]);
|
|
14
|
+
if (Number.isFinite(value)) result[key].push({ p, value });
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
for (const key of keys) result[key].sort((a, b) => a.p - b.p);
|
|
18
|
+
return result;
|
|
19
|
+
}
|
|
20
|
+
function nearestPoint(points, p) {
|
|
21
|
+
if (!points.length) return null;
|
|
22
|
+
let lo = 0;
|
|
23
|
+
let hi = points.length - 1;
|
|
24
|
+
while (lo < hi) {
|
|
25
|
+
const mid = lo + hi >> 1;
|
|
26
|
+
if (points[mid].p < p) lo = mid + 1;
|
|
27
|
+
else hi = mid;
|
|
28
|
+
}
|
|
29
|
+
let best = points[lo];
|
|
30
|
+
let bestDist = Math.abs(best.p - p);
|
|
31
|
+
for (const candidate of [points[lo - 1], points[lo + 1]]) {
|
|
32
|
+
if (!candidate) continue;
|
|
33
|
+
const dist = Math.abs(candidate.p - p);
|
|
34
|
+
if (dist < bestDist) {
|
|
35
|
+
best = candidate;
|
|
36
|
+
bestDist = dist;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return best;
|
|
40
|
+
}
|
|
41
|
+
export {
|
|
42
|
+
extractSeriesFromData,
|
|
43
|
+
nearestPoint
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=series.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"series.js","sources":["../../../../src/components/gini-impurity-entropy-chart/lib/series.ts"],"sourcesContent":["import { DEFAULT_SERIES_KEYS, type GiniSeriesPoint } from './types.js';\n\n/**\n * Client `extractSeriesFromData`: one series per metric column, keyed by the\n * x-axis column, sorted ascending by `p`.\n */\nexport function extractSeriesFromData(\n data: unknown,\n xField: string,\n seriesKeys?: string[],\n): Record<string, GiniSeriesPoint[]> {\n const rows = Array.isArray(data)\n ? (data as Array<Record<string, unknown>>)\n : [];\n const keys = seriesKeys?.length ? seriesKeys : DEFAULT_SERIES_KEYS;\n\n const result: Record<string, GiniSeriesPoint[]> = {};\n for (const key of keys) result[key] = [];\n\n for (const row of rows) {\n if (!row || typeof row !== 'object') continue;\n const p = Number(row[xField]);\n if (!Number.isFinite(p)) continue;\n\n for (const key of keys) {\n if (row[key] === undefined) continue;\n const value = Number(row[key]);\n if (Number.isFinite(value)) result[key].push({ p, value });\n }\n }\n\n for (const key of keys) result[key].sort((a, b) => a.p - b.p);\n return result;\n}\n\n/**\n * Client `getNearestValue`, returning the point so the crosshair can sit on it.\n * Binary search over the `p`-sorted series — keeps hover off the O(n) path.\n */\nexport function nearestPoint(\n points: GiniSeriesPoint[],\n p: number,\n): GiniSeriesPoint | null {\n if (!points.length) return null;\n\n let lo = 0;\n let hi = points.length - 1;\n while (lo < hi) {\n const mid = (lo + hi) >> 1;\n if (points[mid].p < p) lo = mid + 1;\n else hi = mid;\n }\n\n let best = points[lo];\n let bestDist = Math.abs(best.p - p);\n for (const candidate of [points[lo - 1], points[lo + 1]]) {\n if (!candidate) continue;\n const dist = Math.abs(candidate.p - p);\n if (dist < bestDist) {\n best = candidate;\n bestDist = dist;\n }\n }\n return best;\n}\n"],"names":[],"mappings":";AAMO,SAAS,sBACd,MACA,QACA,YACmC;AACnC,QAAM,OAAO,MAAM,QAAQ,IAAI,IAC1B,OACD,CAAA;AACJ,QAAM,QAAO,yCAAY,UAAS,aAAa;AAE/C,QAAM,SAA4C,CAAA;AAClD,aAAW,OAAO,KAAM,QAAO,GAAG,IAAI,CAAA;AAEtC,aAAW,OAAO,MAAM;AACtB,QAAI,CAAC,OAAO,OAAO,QAAQ,SAAU;AACrC,UAAM,IAAI,OAAO,IAAI,MAAM,CAAC;AAC5B,QAAI,CAAC,OAAO,SAAS,CAAC,EAAG;AAEzB,eAAW,OAAO,MAAM;AACtB,UAAI,IAAI,GAAG,MAAM,OAAW;AAC5B,YAAM,QAAQ,OAAO,IAAI,GAAG,CAAC;AAC7B,UAAI,OAAO,SAAS,KAAK,EAAG,QAAO,GAAG,EAAE,KAAK,EAAE,GAAG,OAAO;AAAA,IAC3D;AAAA,EACF;AAEA,aAAW,OAAO,KAAM,QAAO,GAAG,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC;AAC5D,SAAO;AACT;AAMO,SAAS,aACd,QACA,GACwB;AACxB,MAAI,CAAC,OAAO,OAAQ,QAAO;AAE3B,MAAI,KAAK;AACT,MAAI,KAAK,OAAO,SAAS;AACzB,SAAO,KAAK,IAAI;AACd,UAAM,MAAO,KAAK,MAAO;AACzB,QAAI,OAAO,GAAG,EAAE,IAAI,QAAQ,MAAM;AAAA,QAC7B,MAAK;AAAA,EACZ;AAEA,MAAI,OAAO,OAAO,EAAE;AACpB,MAAI,WAAW,KAAK,IAAI,KAAK,IAAI,CAAC;AAClC,aAAW,aAAa,CAAC,OAAO,KAAK,CAAC,GAAG,OAAO,KAAK,CAAC,CAAC,GAAG;AACxD,QAAI,CAAC,UAAW;AAChB,UAAM,OAAO,KAAK,IAAI,UAAU,IAAI,CAAC;AACrC,QAAI,OAAO,UAAU;AACnB,aAAO;AACP,iBAAW;AAAA,IACb;AAAA,EACF;AACA,SAAO;AACT;"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { FuseWidgetLike } from '../../../utils/fuse-widget.js';
|
|
2
|
+
/** One sample of an impurity curve: probability `p` → metric `value`. */
|
|
3
|
+
export interface GiniSeriesPoint {
|
|
4
|
+
p: number;
|
|
5
|
+
value: number;
|
|
6
|
+
}
|
|
7
|
+
export interface GiniSeries {
|
|
8
|
+
/** Metric column name — `entropy`, `gini`, `mis`, … */
|
|
9
|
+
id: string;
|
|
10
|
+
/** Display name for legend / tooltip */
|
|
11
|
+
name: string;
|
|
12
|
+
color: string;
|
|
13
|
+
/** SVG `stroke-dasharray`; undefined draws a solid curve */
|
|
14
|
+
dash?: string;
|
|
15
|
+
points: GiniSeriesPoint[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Decision-tree annotations the client reads from `widget.meta`. Each one is
|
|
19
|
+
* off unless the host turns it on, matching the client `showPHat` / `showCI` /
|
|
20
|
+
* `showSplit` props.
|
|
21
|
+
*/
|
|
22
|
+
export interface GiniOverlays {
|
|
23
|
+
/** Observed class proportion — drawn as a vertical guide */
|
|
24
|
+
pHat?: number;
|
|
25
|
+
/** Confidence interval around `pHat` — drawn as a shaded band */
|
|
26
|
+
ci?: [number, number];
|
|
27
|
+
/** Candidate split; the annotation reports its Gini reduction */
|
|
28
|
+
split?: {
|
|
29
|
+
pLeft: number;
|
|
30
|
+
nLeft?: number;
|
|
31
|
+
pRight: number;
|
|
32
|
+
nRight?: number;
|
|
33
|
+
};
|
|
34
|
+
showPHat: boolean;
|
|
35
|
+
showCI: boolean;
|
|
36
|
+
showSplit: boolean;
|
|
37
|
+
}
|
|
38
|
+
export interface GiniImpurityEntropyModel {
|
|
39
|
+
series: GiniSeries[];
|
|
40
|
+
xLabel: string;
|
|
41
|
+
yLabel: string;
|
|
42
|
+
overlays: GiniOverlays;
|
|
43
|
+
}
|
|
44
|
+
/** Chat payload: one metric per series, x carried as a number. */
|
|
45
|
+
export interface GiniImpurityEntropyChartData {
|
|
46
|
+
points?: Array<{
|
|
47
|
+
x: number | string;
|
|
48
|
+
y: number;
|
|
49
|
+
}>;
|
|
50
|
+
series?: Array<{
|
|
51
|
+
id: string;
|
|
52
|
+
name?: string;
|
|
53
|
+
color?: string;
|
|
54
|
+
dash?: string;
|
|
55
|
+
points: Array<{
|
|
56
|
+
x: number | string;
|
|
57
|
+
y: number;
|
|
58
|
+
}>;
|
|
59
|
+
}>;
|
|
60
|
+
xLabel?: string;
|
|
61
|
+
yLabel?: string;
|
|
62
|
+
meta?: Partial<GiniOverlays>;
|
|
63
|
+
}
|
|
64
|
+
/** FuseDash `DEFAULT_GINI_IMPUITY_ENTROPY` plus the fields this widget reads. */
|
|
65
|
+
export type GiniImpurityEntropyFusePayload = FuseWidgetLike & {
|
|
66
|
+
name?: string;
|
|
67
|
+
axisDetails?: Record<string, {
|
|
68
|
+
label?: string;
|
|
69
|
+
}> | null;
|
|
70
|
+
meta?: Partial<GiniOverlays> | null;
|
|
71
|
+
};
|
|
72
|
+
/** Client fallback when `yAxe` carries no metric columns. */
|
|
73
|
+
export declare const DEFAULT_SERIES_KEYS: string[];
|
|
74
|
+
/** Client `DEFAULT_SERIES_STYLE` — fixed look for the three known metrics. */
|
|
75
|
+
export declare const DEFAULT_SERIES_STYLE: Record<string, {
|
|
76
|
+
color: string;
|
|
77
|
+
dash?: string;
|
|
78
|
+
}>;
|
|
79
|
+
/** Client `SERIES_LABELS`. */
|
|
80
|
+
export declare const SERIES_LABELS: Record<string, string>;
|
|
81
|
+
/** Client default when `axisDetails.value.label` is absent. */
|
|
82
|
+
export declare const DEFAULT_Y_LABEL = "Impurity Index";
|
|
83
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/components/gini-impurity-entropy-chart/lib/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAEpE,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,uDAAuD;IACvD,EAAE,EAAE,MAAM,CAAC;IACX,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtB,iEAAiE;IACjE,KAAK,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,kEAAkE;AAClE,MAAM,WAAW,4BAA4B;IAC3C,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,MAAM,CAAC,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,KAAK,CAAC;YAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAClD,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;CAC9B;AAED,iFAAiF;AACjF,MAAM,MAAM,8BAA8B,GAAG,cAAc,GAAG;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,IAAI,CAAC;IACxD,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC;CACrC,CAAC;AAEF,6DAA6D;AAC7D,eAAO,MAAM,mBAAmB,UAA6B,CAAC;AAE9D,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,EAAE,MAAM,CACvC,MAAM,EACN;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAKjC,CAAC;AAEF,8BAA8B;AAC9B,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAIhD,CAAC;AAEF,+DAA+D;AAC/D,eAAO,MAAM,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const DEFAULT_SERIES_KEYS = ["entropy", "gini", "mis"];
|
|
2
|
+
const DEFAULT_SERIES_STYLE = {
|
|
3
|
+
entropy: { color: "#36C4A5" },
|
|
4
|
+
gini: { color: "#473DD9", dash: "5,5" },
|
|
5
|
+
mis: { color: "#56546D", dash: "5,5" }
|
|
6
|
+
};
|
|
7
|
+
const SERIES_LABELS = {
|
|
8
|
+
entropy: "Entropy",
|
|
9
|
+
gini: "Gini Impurity",
|
|
10
|
+
mis: "Misclassification Error"
|
|
11
|
+
};
|
|
12
|
+
const DEFAULT_Y_LABEL = "Impurity Index";
|
|
13
|
+
export {
|
|
14
|
+
DEFAULT_SERIES_KEYS,
|
|
15
|
+
DEFAULT_SERIES_STYLE,
|
|
16
|
+
DEFAULT_Y_LABEL,
|
|
17
|
+
SERIES_LABELS
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../../src/components/gini-impurity-entropy-chart/lib/types.ts"],"sourcesContent":["import type { FuseWidgetLike } from '../../../utils/fuse-widget.js';\n\n/** One sample of an impurity curve: probability `p` → metric `value`. */\nexport interface GiniSeriesPoint {\n p: number;\n value: number;\n}\n\nexport interface GiniSeries {\n /** Metric column name — `entropy`, `gini`, `mis`, … */\n id: string;\n /** Display name for legend / tooltip */\n name: string;\n color: string;\n /** SVG `stroke-dasharray`; undefined draws a solid curve */\n dash?: string;\n points: GiniSeriesPoint[];\n}\n\n/**\n * Decision-tree annotations the client reads from `widget.meta`. Each one is\n * off unless the host turns it on, matching the client `showPHat` / `showCI` /\n * `showSplit` props.\n */\nexport interface GiniOverlays {\n /** Observed class proportion — drawn as a vertical guide */\n pHat?: number;\n /** Confidence interval around `pHat` — drawn as a shaded band */\n ci?: [number, number];\n /** Candidate split; the annotation reports its Gini reduction */\n split?: { pLeft: number; nLeft?: number; pRight: number; nRight?: number };\n showPHat: boolean;\n showCI: boolean;\n showSplit: boolean;\n}\n\nexport interface GiniImpurityEntropyModel {\n series: GiniSeries[];\n xLabel: string;\n yLabel: string;\n overlays: GiniOverlays;\n}\n\n/** Chat payload: one metric per series, x carried as a number. */\nexport interface GiniImpurityEntropyChartData {\n points?: Array<{ x: number | string; y: number }>;\n series?: Array<{\n id: string;\n name?: string;\n color?: string;\n dash?: string;\n points: Array<{ x: number | string; y: number }>;\n }>;\n xLabel?: string;\n yLabel?: string;\n meta?: Partial<GiniOverlays>;\n}\n\n/** FuseDash `DEFAULT_GINI_IMPUITY_ENTROPY` plus the fields this widget reads. */\nexport type GiniImpurityEntropyFusePayload = FuseWidgetLike & {\n name?: string;\n axisDetails?: Record<string, { label?: string }> | null;\n meta?: Partial<GiniOverlays> | null;\n};\n\n/** Client fallback when `yAxe` carries no metric columns. */\nexport const DEFAULT_SERIES_KEYS = ['entropy', 'gini', 'mis'];\n\n/** Client `DEFAULT_SERIES_STYLE` — fixed look for the three known metrics. */\nexport const DEFAULT_SERIES_STYLE: Record<\n string,\n { color: string; dash?: string }\n> = {\n entropy: { color: '#36C4A5' },\n gini: { color: '#473DD9', dash: '5,5' },\n mis: { color: '#56546D', dash: '5,5' },\n};\n\n/** Client `SERIES_LABELS`. */\nexport const SERIES_LABELS: Record<string, string> = {\n entropy: 'Entropy',\n gini: 'Gini Impurity',\n mis: 'Misclassification Error',\n};\n\n/** Client default when `axisDetails.value.label` is absent. */\nexport const DEFAULT_Y_LABEL = 'Impurity Index';\n"],"names":[],"mappings":"AAkEO,MAAM,sBAAsB,CAAC,WAAW,QAAQ,KAAK;AAGrD,MAAM,uBAGT;AAAA,EACF,SAAS,EAAE,OAAO,UAAA;AAAA,EAClB,MAAM,EAAE,OAAO,WAAW,MAAM,MAAA;AAAA,EAChC,KAAK,EAAE,OAAO,WAAW,MAAM,MAAA;AACjC;AAGO,MAAM,gBAAwC;AAAA,EACnD,SAAS;AAAA,EACT,MAAM;AAAA,EACN,KAAK;AACP;AAGO,MAAM,kBAAkB;"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
"id": "gini-impurity-entropy-chart",
|
|
3
|
+
"tag": "ui9000-gini-impurity-entropy-chart",
|
|
4
|
+
"title": "Gini Impurity & Entropy Chart",
|
|
5
|
+
"description": "Chat-optimized decision-tree impurity chart rewritten in D3. Entropy / Gini / misclassification curves over the class probability p, with optional p-hat, confidence-interval and split annotations.",
|
|
6
|
+
"chartTypeKeys": ["giniImpurityEntropyChart"],
|
|
7
|
+
"source": "client/libs/shared/components/src/Widgets/GiniImpurityEntropyChart/",
|
|
8
|
+
"stack": "d3",
|
|
9
|
+
"lazyImport": "@ui9000/widgets/lazy/gini-impurity-entropy-chart",
|
|
10
|
+
"entry": "@ui9000/widgets/gini-impurity-entropy-chart",
|
|
11
|
+
"usageConditions": {
|
|
12
|
+
"host": "mcp-chat",
|
|
13
|
+
"notFor": "fusedash-editor",
|
|
14
|
+
"mapsExcluded": true
|
|
15
|
+
},
|
|
16
|
+
"allowedActions": ["hover", "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": "array",
|
|
25
|
+
"items": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"required": ["label", "value"],
|
|
28
|
+
"properties": {
|
|
29
|
+
"label": { "type": ["string", "number"] },
|
|
30
|
+
"value": { "type": "number" }
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"type": "object",
|
|
36
|
+
"properties": {
|
|
37
|
+
"points": {
|
|
38
|
+
"type": "array",
|
|
39
|
+
"items": {
|
|
40
|
+
"type": "object",
|
|
41
|
+
"required": ["x", "y"],
|
|
42
|
+
"properties": {
|
|
43
|
+
"x": { "type": ["number", "string"] },
|
|
44
|
+
"y": { "type": "number" }
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"series": {
|
|
49
|
+
"type": "array",
|
|
50
|
+
"items": {
|
|
51
|
+
"type": "object",
|
|
52
|
+
"required": ["id", "points"],
|
|
53
|
+
"properties": {
|
|
54
|
+
"id": { "type": "string" },
|
|
55
|
+
"name": { "type": "string" },
|
|
56
|
+
"color": { "type": "string" },
|
|
57
|
+
"dash": { "type": "string" },
|
|
58
|
+
"points": {
|
|
59
|
+
"type": "array",
|
|
60
|
+
"items": {
|
|
61
|
+
"type": "object",
|
|
62
|
+
"required": ["x", "y"],
|
|
63
|
+
"properties": {
|
|
64
|
+
"x": { "type": ["number", "string"] },
|
|
65
|
+
"y": { "type": "number" }
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"xLabel": { "type": "string" },
|
|
73
|
+
"yLabel": { "type": "string" },
|
|
74
|
+
"meta": {
|
|
75
|
+
"type": "object",
|
|
76
|
+
"properties": {
|
|
77
|
+
"pHat": { "type": "number", "minimum": 0, "maximum": 1 },
|
|
78
|
+
"ci": {
|
|
79
|
+
"type": "array",
|
|
80
|
+
"items": { "type": "number" },
|
|
81
|
+
"minItems": 2,
|
|
82
|
+
"maxItems": 2
|
|
83
|
+
},
|
|
84
|
+
"split": {
|
|
85
|
+
"type": "object",
|
|
86
|
+
"required": ["pLeft", "pRight"],
|
|
87
|
+
"properties": {
|
|
88
|
+
"pLeft": { "type": "number" },
|
|
89
|
+
"nLeft": { "type": "number" },
|
|
90
|
+
"pRight": { "type": "number" },
|
|
91
|
+
"nRight": { "type": "number" }
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"showPHat": { "type": "boolean" },
|
|
95
|
+
"showCI": { "type": "boolean" },
|
|
96
|
+
"showSplit": { "type": "boolean" }
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
"showGrid": { "type": "boolean", "default": true },
|
|
104
|
+
"showLegend": { "type": "boolean", "default": true },
|
|
105
|
+
"showTooltip": { "type": "boolean", "default": true },
|
|
106
|
+
"showPHat": { "type": "boolean", "default": false },
|
|
107
|
+
"showCI": { "type": "boolean", "default": false },
|
|
108
|
+
"showSplit": { "type": "boolean", "default": false }
|
|
109
|
+
},
|
|
110
|
+
"required": ["data"]
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
;
|
|
114
|
+
|
|
115
|
+
export default _default;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
const id = "gini-impurity-entropy-chart";
|
|
2
|
+
const tag = "ui9000-gini-impurity-entropy-chart";
|
|
3
|
+
const title = "Gini Impurity & Entropy Chart";
|
|
4
|
+
const description = "Chat-optimized decision-tree impurity chart rewritten in D3. Entropy / Gini / misclassification curves over the class probability p, with optional p-hat, confidence-interval and split annotations.";
|
|
5
|
+
const chartTypeKeys = ["giniImpurityEntropyChart"];
|
|
6
|
+
const source = "client/libs/shared/components/src/Widgets/GiniImpurityEntropyChart/";
|
|
7
|
+
const stack = "d3";
|
|
8
|
+
const lazyImport = "@ui9000/widgets/lazy/gini-impurity-entropy-chart";
|
|
9
|
+
const entry = "@ui9000/widgets/gini-impurity-entropy-chart";
|
|
10
|
+
const usageConditions = { "host": "mcp-chat", "notFor": "fusedash-editor", "mapsExcluded": true };
|
|
11
|
+
const allowedActions = ["hover", "resize"];
|
|
12
|
+
const propsSchema = { "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "data": { "oneOf": [{ "type": "array", "items": { "type": "object", "required": ["label", "value"], "properties": { "label": { "type": ["string", "number"] }, "value": { "type": "number" } } } }, { "type": "object", "properties": { "points": { "type": "array", "items": { "type": "object", "required": ["x", "y"], "properties": { "x": { "type": ["number", "string"] }, "y": { "type": "number" } } } }, "series": { "type": "array", "items": { "type": "object", "required": ["id", "points"], "properties": { "id": { "type": "string" }, "name": { "type": "string" }, "color": { "type": "string" }, "dash": { "type": "string" }, "points": { "type": "array", "items": { "type": "object", "required": ["x", "y"], "properties": { "x": { "type": ["number", "string"] }, "y": { "type": "number" } } } } } } }, "xLabel": { "type": "string" }, "yLabel": { "type": "string" }, "meta": { "type": "object", "properties": { "pHat": { "type": "number", "minimum": 0, "maximum": 1 }, "ci": { "type": "array", "items": { "type": "number" }, "minItems": 2, "maxItems": 2 }, "split": { "type": "object", "required": ["pLeft", "pRight"], "properties": { "pLeft": { "type": "number" }, "nLeft": { "type": "number" }, "pRight": { "type": "number" }, "nRight": { "type": "number" } } }, "showPHat": { "type": "boolean" }, "showCI": { "type": "boolean" }, "showSplit": { "type": "boolean" } } } } }] }, "showGrid": { "type": "boolean", "default": true }, "showLegend": { "type": "boolean", "default": true }, "showTooltip": { "type": "boolean", "default": true }, "showPHat": { "type": "boolean", "default": false }, "showCI": { "type": "boolean", "default": false }, "showSplit": { "type": "boolean", "default": false } }, "required": ["data"] };
|
|
13
|
+
const giniImpurityEntropyMeta = {
|
|
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
|
+
giniImpurityEntropyMeta 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,40 @@
|
|
|
1
|
+
import { WidgetTheme } from '../../../types/index.js';
|
|
2
|
+
import { AxisLabelTooltipHandlers } from '../../../utils/axis-labels.js';
|
|
3
|
+
import { GiniImpurityEntropyModel } from '../lib/index.js';
|
|
4
|
+
/** One series' reading at the hovered probability. */
|
|
5
|
+
export interface GiniHoverEntry {
|
|
6
|
+
seriesId: string;
|
|
7
|
+
seriesName: string;
|
|
8
|
+
color: string;
|
|
9
|
+
value: number;
|
|
10
|
+
}
|
|
11
|
+
export interface RenderGiniImpurityEntropyChartOptions extends AxisLabelTooltipHandlers {
|
|
12
|
+
model: GiniImpurityEntropyModel;
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
/** Client `DEFAULT_MARGIN` when omitted by the host */
|
|
16
|
+
margin?: {
|
|
17
|
+
top: number;
|
|
18
|
+
right: number;
|
|
19
|
+
bottom: number;
|
|
20
|
+
left: number;
|
|
21
|
+
};
|
|
22
|
+
theme: WidgetTheme;
|
|
23
|
+
showGrid?: boolean;
|
|
24
|
+
themeMode?: 'light' | 'dark';
|
|
25
|
+
onHover?: (payload: {
|
|
26
|
+
p: number;
|
|
27
|
+
entries: GiniHoverEntry[];
|
|
28
|
+
/** Curve nearest the cursor — the one left undimmed */
|
|
29
|
+
activeSeriesId: string | null;
|
|
30
|
+
event: MouseEvent;
|
|
31
|
+
}) => void;
|
|
32
|
+
onLeave?: () => void;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* FuseDash GiniImpurityEntropyChart plot — visual parity via D3.
|
|
36
|
+
* Coordinate system matches the client: the linear scales carry the margins in
|
|
37
|
+
* their range, so there is no translated plot group.
|
|
38
|
+
*/
|
|
39
|
+
export declare function renderGiniImpurityEntropyChart(container: HTMLElement, options: RenderGiniImpurityEntropyChartOptions): void;
|
|
40
|
+
//# sourceMappingURL=draw.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draw.d.ts","sourceRoot":"","sources":["../../../../src/components/gini-impurity-entropy-chart/render/draw.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAIL,KAAK,wBAAwB,EAC9B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAOL,KAAK,wBAAwB,EAE9B,MAAM,iBAAiB,CAAC;AAEzB,sDAAsD;AACtD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,qCACf,SAAQ,wBAAwB;IAChC,KAAK,EAAE,wBAAwB,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,uDAAuD;IACvD,MAAM,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtE,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE;QAClB,CAAC,EAAE,MAAM,CAAC;QACV,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1B,uDAAuD;QACvD,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,KAAK,EAAE,UAAU,CAAC;KACnB,KAAK,IAAI,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,qCAAqC,GAC7C,IAAI,CAoTN"}
|