@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fusedash-visual.d.ts","sourceRoot":"","sources":["../../src/utils/fusedash-visual.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,4EAA4E;AAE5E,eAAO,MAAM,EAAE;;;;;;;;IAQb;;;OAGG;;;;;;;;;;;;;;IAiBH,+CAA+C;;;;;;;;;;;;;;;;;IAY/C,2CAA2C;;;;;;;;;;;;;IAG3C,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;IAQnD,2CAA2C;;;;;;;IAE3C,8EAA8E;;;;;;;;;;;IAM9E,sEAAsE;;;;;;IAMtE,gDAAgD;;;;;;;IAEhD,kDAAkD;;;;;;;IAElD,yCAAyC;;;;;IAKzC,2DAA2D;;;;;;IAM3D,6DAA6D;;IAE7D,gEAAgE;;IAEhE,8BAA8B;;;IAG9B,qCAAqC;;;IAGrC,yCAAyC;;IAEzC,0CAA0C;;;IAG1C,yEAAyE;;;;;;;;IAGzE,mEAAmE;;;IAGnE,4EAA4E;;;;IAI5E,gFAAgF;;;;IAIhF,gEAAgE;;IAEhE,2EAA2E;;;;IAI3E,oDAAoD;;;IAGpD,gDAAgD;;IAEhD,0DAA0D;;;;IAI1D,kEAAkE;;;IAGlE,iFAAiF;;;;;IAKjF,2EAA2E;;;;;;;IAE3E,2EAA2E;;;;;IAK3E,yEAAyE;;IAEzE,uEAAuE;;;IAGvE,kFAAkF;;;;;;;;IAGlF,4CAA4C;;;;;;;IAE5C,kDAAkD;;;;;;;IAElD,6DAA6D;;;;;;IAM7D,yEAAyE;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"fusedash-visual.d.ts","sourceRoot":"","sources":["../../src/utils/fusedash-visual.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,4EAA4E;AAE5E,eAAO,MAAM,EAAE;;;;;;;;IAQb;;;OAGG;;;;;;;;;;;;;;IAiBH,+CAA+C;;;;;;;;;;;;;;;;;IAY/C,2CAA2C;;;;;;;;;;;;;IAG3C,mDAAmD;;;;;;;;;;;;;;;;;;;;;;;IAQnD,2CAA2C;;;;;;;IAE3C,8EAA8E;;;;;;;;;;;IAM9E,sEAAsE;;;;;;IAMtE,gDAAgD;;;;;;;IAEhD,kDAAkD;;;;;;;IAElD,yCAAyC;;;;;IAKzC,2DAA2D;;;;;;IAM3D,6DAA6D;;IAE7D,gEAAgE;;IAEhE,8BAA8B;;;IAG9B,qCAAqC;;;IAGrC,yCAAyC;;IAEzC,0CAA0C;;;IAG1C,yEAAyE;;;;;;;;IAGzE,mEAAmE;;;IAGnE,4EAA4E;;;;IAI5E,gFAAgF;;;;IAIhF,gEAAgE;;IAEhE,2EAA2E;;;;IAI3E,oDAAoD;;;IAGpD,gDAAgD;;IAEhD,0DAA0D;;;;IAI1D,kEAAkE;;;IAGlE,iFAAiF;;;;;IAKjF,2EAA2E;;;;;;;IAE3E,2EAA2E;;;;;IAK3E,yEAAyE;;IAEzE,uEAAuE;;;IAGvE,kFAAkF;;;;;;;;IAGlF,+DAA+D;;;;;;;IAE/D,6DAA6D;;;;IAI7D,+EAA+E;;;IAG/E,0DAA0D;;;;IAI1D,wEAAwE;;;;;IAKxE,sEAAsE;;IAEtE,0DAA0D;;;IAG1D,0EAA0E;;;;;;;IAO1E,iFAAiF;;;;;;;IAEjF,kFAAkF;;;;IAIlF,4EAA4E;;;;IAI5E,mCAAmC;;;IAGnC,oEAAoE;;;;;;IAMpE,mDAAmD;;IAEnD,8DAA8D;;IAE9D,4CAA4C;;;;;;;IAE5C,kDAAkD;;;;;;;IAElD,6DAA6D;;;;;;IAM7D,yEAAyE;;;;;;;;;;;IAMzE,kFAAkF;;;;;;;;;;;;;;IASlF,gFAAgF;;IAEhF,oDAAoD;;;;IAIpD,+DAA+D;;;;;;;;;;;IAW/D,+EAA+E;;;IAG/E,4EAA4E;;;IAG5E,kEAAkE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAelE,0EAA0E;;;;;;;IAO1E,wDAAwD;;;;IAIxD,8DAA8D;;;;;;;;;;;;;IAG9D,gFAAgF;;IAEhF,wEAAwE;;IAExE,kEAAkE;;;;;IAKlE,iDAAiD;;;;;IAKjD,4EAA4E;;;;;IAK5E,uDAAuD;;;;;;;IAEvD,uEAAuE;;IAEvE,6CAA6C;;;;IAI7C,iDAAiD;;;;;IAKjD,qEAAqE;;CAE7D,CAAC;AAEX,gEAAgE;AAChE,eAAO,MAAM,aAAa,wFAQhB,CAAC;AAEX,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,UAAU,GACV,UAAU,CAAC;AAEf,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAiBhE;AAED,0DAA0D;AAC1D,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAcpE;AAED,mDAAmD;AACnD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAe3E;AAED,wCAAwC;AACxC,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,CAOvE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAGpE;AAED,4DAA4D;AAC5D,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,MAAM,EACb,SAAS,GAAE,OAAO,GAAG,MAAgB,GACpC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAMlC;AAED,wBAAgB,gBAAgB,CAC9B,GAAG,EAAE,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,EACvD,EAAE,SAAgB,GACjB,MAAM,CAiBR;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAKxD;AAED,0DAA0D;AAC1D,wBAAgB,gBAAgB,CAE9B,MAAM,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACrC,IAAI,EAAE;IACJ,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACA,IAAI,CAkEN;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAE1C,MAAM,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACrC,IAAI,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAClE,IAAI,CA6DN"}
|
|
@@ -135,6 +135,59 @@ const FD = {
|
|
|
135
135
|
/** PieChart — FuseDash uses zero margin; pie is a square inscribed in the body */
|
|
136
136
|
pieMargin: { top: 0, right: 0, bottom: 0, left: 0 },
|
|
137
137
|
pieMinArcLengthPx: 5,
|
|
138
|
+
/** PolarAreaChart — FuseDash margin around the centred disc */
|
|
139
|
+
polarAreaMargin: { top: 25, right: 5, bottom: 25, left: 5 },
|
|
140
|
+
/** Concentric grid rings; opacity ramps 0.2 → 1.0 outward */
|
|
141
|
+
polarRadialSteps: 5,
|
|
142
|
+
polarGridStroke: "#939ba7",
|
|
143
|
+
polarGridStepOpacity: 0.2,
|
|
144
|
+
/** Dashed spoke from the centre to each category boundary, with a round cap */
|
|
145
|
+
polarSpokeDash: "2,2",
|
|
146
|
+
polarSpokeCapRadius: 3,
|
|
147
|
+
/** Category labels sit just outside the outermost ring */
|
|
148
|
+
polarCategoryLabelFill: "#5f6877",
|
|
149
|
+
polarCategoryLabelSize: 12,
|
|
150
|
+
polarCategoryLabelOffset: 12,
|
|
151
|
+
/** Side room reserved for those labels, measured off the longest one */
|
|
152
|
+
polarLabelCharWidth: 0.55,
|
|
153
|
+
polarLabelGutterMin: 40,
|
|
154
|
+
polarLabelGutterMax: 120,
|
|
155
|
+
polarLabelGutterMaxFraction: 0.28,
|
|
156
|
+
/** Below this radius the label ring collides with itself — drop it */
|
|
157
|
+
polarMinLabelRadius: 40,
|
|
158
|
+
/** Sectors: 0.8 at rest, siblings drop to 0.2 on hover */
|
|
159
|
+
polarSectorOpacity: 0.8,
|
|
160
|
+
polarSectorOpacityDimmed: 0.2,
|
|
161
|
+
/** Radial tick pills are hidden when the disc is too short to fit them */
|
|
162
|
+
polarTickPillRowHeight: 21,
|
|
163
|
+
polarTickPillPadX: 7,
|
|
164
|
+
polarTickPillPadY: 3,
|
|
165
|
+
polarTickPillRadius: 4,
|
|
166
|
+
polarTickPill: "#ffffff",
|
|
167
|
+
polarTickPillDark: "#1a1b1f",
|
|
168
|
+
/** RadialBarChart — client margin; the plot is a circle inscribed in the body */
|
|
169
|
+
radialBarMargin: { top: 25, right: 5, bottom: 25, left: 5 },
|
|
170
|
+
/** Hole is 20% of the outer radius; rings sweep 270° clockwise from 12 o'clock */
|
|
171
|
+
radialBarInnerRadiusRatio: 0.2,
|
|
172
|
+
radialBarSweepDeg: 270,
|
|
173
|
+
radialBarTicks: 5,
|
|
174
|
+
/** Ring thickness clamp around `((outer - inner - rings) / rings) * 0.5` */
|
|
175
|
+
radialBarMinArcWidth: 4,
|
|
176
|
+
radialBarMaxArcWidth: 24,
|
|
177
|
+
radialBarArcCornerRadius: 1,
|
|
178
|
+
/** Resting / dimmed arc opacity */
|
|
179
|
+
radialBarArcOpacity: 0.8,
|
|
180
|
+
radialBarArcOpacityDimmed: 0.2,
|
|
181
|
+
/** Client draws the rings and the radial axes in one darker grey */
|
|
182
|
+
radialBarGridStroke: "#939ba7",
|
|
183
|
+
radialBarTickDash: "4,4",
|
|
184
|
+
radialBarLabelFill: "#5f6877",
|
|
185
|
+
radialBarTickLabelSize: 12,
|
|
186
|
+
radialBarRingLabelSize: 11,
|
|
187
|
+
/** Value labels sit 12px outside the outer ring */
|
|
188
|
+
radialBarTickLabelOffset: 12,
|
|
189
|
+
/** Ring labels are cut at `(outer - inner) / 8` characters */
|
|
190
|
+
radialBarLabelCharWidth: 8,
|
|
138
191
|
/** ScatterPlot — FuseDash DEFAULT_MARGIN */
|
|
139
192
|
scatterMargin: { top: 10, right: 5, bottom: 21, left: 40 },
|
|
140
193
|
/** AreaGroupedBarChart — client DEFAULT_MARGIN */
|
|
@@ -151,6 +204,29 @@ const FD = {
|
|
|
151
204
|
bubbleNegativeFill: "#DADAE1",
|
|
152
205
|
scatterMarkerSize: 40,
|
|
153
206
|
scatterReferenceLine: "#56546D",
|
|
207
|
+
/** BiasVarianceTradeoffChart — the client widget carries its own frame/palette */
|
|
208
|
+
biasVarianceMargin: { top: 24, right: 24, bottom: 36, left: 48 },
|
|
209
|
+
biasVarianceSeries: ["#6366f1", "#22c55e", "#f59e0b", "#06b6d4", "#ef4444"],
|
|
210
|
+
biasVarianceGridStroke: "#d1d5db",
|
|
211
|
+
biasVarianceGridDash: "2,4",
|
|
212
|
+
biasVarianceAxisStroke: "#9ca3af",
|
|
213
|
+
biasVarianceLabelFill: "#6b7280",
|
|
214
|
+
biasVarianceLineWidth: 2,
|
|
215
|
+
biasVarianceLineOpacity: 0.95,
|
|
216
|
+
/** Sibling curves fade while one is hovered (FuseDash line-hover convention) */
|
|
217
|
+
biasVarianceLineOpacityDimmed: 0.2,
|
|
218
|
+
/** Y domain is `[0, max * 1.1]` before `.nice()` */
|
|
219
|
+
biasVarianceDomainPadFactor: 1.1,
|
|
220
|
+
biasVarianceXTicks: 8,
|
|
221
|
+
biasVarianceYTicks: 6,
|
|
222
|
+
/** Shared `DomainsLimits` overlay (reference lines / bands) */
|
|
223
|
+
domainLimitColor: "#6C8CF5",
|
|
224
|
+
domainLimitFillOpacity: 0.12,
|
|
225
|
+
domainLimitDash: "4,4",
|
|
226
|
+
domainLimitArrow: 8,
|
|
227
|
+
domainLimitLabelFill: "#141c2ce6",
|
|
228
|
+
domainLimitLabelText: "#ffffff",
|
|
229
|
+
domainLimitLabelSize: 10,
|
|
154
230
|
donutSliceStroke: "#ffffff",
|
|
155
231
|
donutSliceStrokeDark: "#1a1b1f",
|
|
156
232
|
donutSliceStrokeWidth: 2,
|
|
@@ -184,7 +260,44 @@ const FD = {
|
|
|
184
260
|
/** Ribbons sit at 50% alpha until hovered or focused */
|
|
185
261
|
sankeyLinkAlphaPct: 50,
|
|
186
262
|
sankeyLinkInset: 3,
|
|
187
|
-
sankeyDimOpacity: 0.5
|
|
263
|
+
sankeyDimOpacity: 0.5,
|
|
264
|
+
/** ParallelCoordinates — client Horizontal/Vertical frames */
|
|
265
|
+
parallelMargin: { top: 10, right: 1, bottom: 8, left: 1 },
|
|
266
|
+
parallelVerticalMargin: { top: 10, right: 1, bottom: 1, left: 1 },
|
|
267
|
+
/** Horizontal: one 72px band per dimension, so the plot scrolls past ~5 axes */
|
|
268
|
+
parallelAxisSpacing: 72,
|
|
269
|
+
/** Vertical: gutter kept free under the axes for the bottom tick row */
|
|
270
|
+
parallelColorScaleHeight: 44,
|
|
271
|
+
/** Right gutter reserved for the colour ramp + its tick labels */
|
|
272
|
+
parallelLegendOffsetRight: 20,
|
|
273
|
+
parallelLegendWidth: 10,
|
|
274
|
+
parallelLegendTickLabelWidth: 44,
|
|
275
|
+
parallelLegendRadius: 6,
|
|
276
|
+
/** Resting / dimmed / hovered polyline stroke */
|
|
277
|
+
parallelLineWidth: 1,
|
|
278
|
+
parallelLineWidthHovered: 5,
|
|
279
|
+
parallelLineOpacity: 0.4,
|
|
280
|
+
parallelLineOpacityDimmed: 0.05,
|
|
281
|
+
/** Client draws these axes a shade darker than the shared FD axis tokens */
|
|
282
|
+
parallelAxisStroke: "#939ba7",
|
|
283
|
+
parallelAxisLabelFill: "#5f6877",
|
|
284
|
+
parallelTitleSize: 11,
|
|
285
|
+
parallelTitleSizeActive: 13,
|
|
286
|
+
/** GiniImpurityEntropyChart — client DEFAULT_MARGIN */
|
|
287
|
+
giniMargin: { top: 20, right: 24, bottom: 28, left: 44 },
|
|
288
|
+
/** Curves are drawn as smooth Catmull-Rom splines with this tension */
|
|
289
|
+
giniCurveAlpha: 0.5,
|
|
290
|
+
/** p-hat guide + confidence-interval band */
|
|
291
|
+
giniOverlayColor: "#4c6ef5",
|
|
292
|
+
giniOverlayBandOpacity: 0.08,
|
|
293
|
+
giniOverlayDash: "5,5",
|
|
294
|
+
/** Split annotation markers on the Gini curve */
|
|
295
|
+
giniSplitMarkerFill: "#12b886",
|
|
296
|
+
giniSplitMarkerStroke: "#ffffff",
|
|
297
|
+
giniSplitMarkerRadius: 4,
|
|
298
|
+
giniSplitLabelOffset: 8,
|
|
299
|
+
/** Hovering one curve fades the others so the read is unambiguous */
|
|
300
|
+
giniCurveDimOpacity: 0.2
|
|
188
301
|
};
|
|
189
302
|
const FD_SEQUENTIAL = [
|
|
190
303
|
"#D6D3FF",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fusedash-visual.js","sources":["../../src/utils/fusedash-visual.ts"],"sourcesContent":["import type { Selection } from 'd3-selection';\n\n/** FuseDash Widgets visual tokens — keep charts looking 1:1 with client. */\n\nexport const FD = {\n gridStroke: '#afb3bb',\n gridDash: '1 2',\n axisLabelFill: '#6c7584',\n axisLabelSize: 11,\n axisStroke: '#afb3bb',\n hoverGuideLight: '#6c7584',\n hoverGuideDark: '#ffffff',\n /**\n * Qualitative12Colors.default — used when series count unknown.\n * Prefer `resolveFormattingColor` / `pickQualitativePalette` for FuseDash widgets.\n */\n series: [\n '#473DD9',\n '#938CFF',\n '#36C4A5',\n '#ADF4E5',\n '#BDBCC8',\n '#56546D',\n '#FF8C47',\n '#FFCEB0',\n '#FF4781',\n '#FFB0C9',\n '#47B0FF',\n '#B0DDFF',\n ],\n lineMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n lollipopMargin: { top: 10, right: 3, bottom: 21, left: 40 },\n /** FuseDash RadarChart (useNewDesign) frame */\n radarMargin: { top: 25, right: 5, bottom: 25, left: 5 },\n radarScaleSteps: 5,\n radarDomainPadFactor: 1.1,\n radarMarkerSize: 50,\n radarMarkerHoverSize: 70,\n radarSpokeDash: '2,2',\n radarCapRadius: 3,\n radarLabelOffset: 12,\n radarGradientEdgeOpacity: 0.3,\n radarStrokeWidth: 2,\n radarTickLabelFill: '#f1f4f7',\n /** Client PunchcardChart DEFAULT_MARGIN */\n punchcardMargin: { top: 0, right: 0, bottom: 21, left: 80 },\n stepLineMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n /** SparkLineChart — same frame as StepLineChart */\n sparkLineMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n sparkLineStrokeWidth: 1.5,\n sparkDomainPadFactor: 1.2,\n sparkGuideDash: '5,2',\n sparkHoverDotRadius: 4,\n boxPlotMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n histogramMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n /** Client VerticalWaterfallChart margin */\n waterfallVerticalMargin: { top: 10, right: 0, bottom: 21, left: 40 },\n /** Client HorizontalWaterfallChart base margin (left is sized from labels) */\n waterfallHorizontalMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n waterfallBarThickness: 16,\n waterfallBarRadius: 2,\n waterfallArrow: 5,\n waterfallDomainPadFactor: 1.2,\n /** Client hard-coded fills (formatting keys are ignored for paint) */\n waterfallPositive: '#938CFF',\n waterfallNegative: '#FF8C47',\n waterfallTotal: '#BDBCC8',\n waterfallHoverDim: 0.2,\n waterfallMinBand: 32,\n /** Client VerticalViolinChart DEFAULT_MARGIN */\n violinVerticalMargin: { top: 10, right: 16, bottom: 28, left: 44 },\n /** Client HorizontalViolinChart DEFAULT_MARGIN */\n violinHorizontalMargin: { top: 10, right: 24, bottom: 28, left: 44 },\n /** Client Horizontal/Vertical BoxPlot */\n boxPlotDomainPadFactor: 1.1,\n boxPlotBorderRadius: 2,\n lineStrokeWidth: 2,\n lineStrokeAlphaPct: 80,\n /** FuseDash AreaChart linearGradient stops (new design) */\n areaGradientTopOpacity: 0.6,\n areaGradientBottomOpacity: 0.1,\n lollipopStemWidth: 3,\n lollipopStemAlphaPct: 50,\n markerRadius: 4,\n /** StepLineChart: plain stroke, no alpha / glow / markers */\n stepStrokeWidth: 1.5,\n /** StepLineChart y-domain is padded by 1.2x before `.nice()` */\n stepDomainPadFactor: 1.2,\n /** KS-plot \"Ideal\" overlay */\n stepIdealColor: '#2ecc71',\n stepIdealWidth: 3,\n /** ROC \"Random guessing\" diagonal */\n stepGuessWidth: 2,\n stepGuessDash: '5,5',\n /** Max-deviation marker (KS distance) */\n stepDeviationFill: '#2c2d33',\n /** Tooltip crosshair on the step chart */\n stepGuideDash: '5,2',\n stepHoverDotRadius: 4,\n /** Barchart — shared frame + bar geometry (all six FuseDash variants) */\n barMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n barCornerRadius: 4,\n /** Bar fill is a gradient from the series color to a faded stop */\n barFadeOpacity: 0.6,\n barFadeOpacityHovered: 0.7,\n /** Vertical single-series: bandwidth * 0.4, capped, with a visible floor */\n barBandFraction: 0.4,\n barMaxWidth: 40,\n barMinHeight: 6,\n /** Vertical grouped: floor(clamp(plotWidth / categories / series)) + 1px gap */\n barGroupMinWidth: 4,\n barGroupMaxWidth: 24,\n barGroupGap: 1,\n /** Vertical stacked: bandwidth * 0.85, same clamp as grouped */\n barStackedBandFraction: 0.85,\n /** Horizontal: fixed row thickness, gutter, and a floor for tiny values */\n barRowThickness: 24,\n barRowSpacing: 16,\n barMinWidth: 6,\n /** Y (vertical) / X (horizontal) domain headroom */\n barDomainPadFactor: 1.2,\n barHorizontalPadFactor: 1.1,\n /** Stacked totals get a flat 10% pad instead */\n barStackedPadFraction: 0.1,\n /** Cumulative overlay line (FuseDash `cumulativeLine`) */\n barCumulativeColor: '#6d6df7',\n barCumulativeWidth: 2,\n barCumulativeDotRadius: 3,\n /** Hovered category column: animated dot pattern + solid guide */\n barHoverDotFill: '#CFD2D6',\n barHoverGuideWidth: 2,\n /** Client `calculatedLeftMargin` (unused in chat — shared LEFT_GUTTER_MARGIN) */\n barLabelCharWidth: 5,\n barLabelGutter: 28,\n barLabelGutterMin: 56,\n barLabelGutterMax: 180,\n /** DonutGroupChart — a row of gauges, each with a KPI block in the hole */\n donutMargin: { top: 10, right: 8, bottom: 10, left: 8 },\n /** FuseDash uses a flat 16px band; it is capped at half the radius here */\n donutThickness: 16,\n donutMinThickness: 4,\n donutCellPadding: 6,\n donutMinCellWidth: 140,\n /** Gauges assume a 0–100 scale when the row carries no `maximalValue` */\n donutDefaultMax: 100,\n /** Resting / dimmed / hovered arc opacity (FuseDash settles on 0.8) */\n donutArcOpacity: 0.8,\n donutArcOpacityDimmed: 0.2,\n /** PieChart — FuseDash uses zero margin; pie is a square inscribed in the body */\n pieMargin: { top: 0, right: 0, bottom: 0, left: 0 },\n pieMinArcLengthPx: 5,\n /** ScatterPlot — FuseDash DEFAULT_MARGIN */\n scatterMargin: { top: 10, right: 5, bottom: 21, left: 40 },\n /** AreaGroupedBarChart — client DEFAULT_MARGIN */\n areaGroupedBarMargin: { top: 10, right: 5, bottom: 21, left: 40 },\n /** Area fill under the line (client stopOpacity 0.35 → 0) */\n areaGroupedBarGradientTopOpacity: 0.35,\n areaGroupedBarGradientBottomOpacity: 0,\n areaGroupedBarMarkerRadius: 3,\n areaGroupedBarDimOpacity: 0.3,\n areaGroupedBarBarOpacity: 0.85,\n /** BubbleChart — BASE_MARGIN + MAX_BUBBLE_RADIUS/2 inset on top/right */\n bubbleBaseMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n bubbleMaxRadius: 30,\n bubbleNegativeFill: '#DADAE1',\n scatterMarkerSize: 40,\n scatterReferenceLine: '#56546D',\n donutSliceStroke: '#ffffff',\n donutSliceStrokeDark: '#1a1b1f',\n donutSliceStrokeWidth: 2,\n /** Unfilled part of a gauge — the neutral background FuseDash falls back to */\n donutTrackFill: '#EAECF0',\n donutTrackFillDark: '#2C2D33',\n /** Divider between donuts (FuseDash `border-left: neutralBorderWeakest`) */\n donutDivider: '#E4E6EA',\n donutDividerDark: '#2C2D33',\n /** KPI block in the hole: 30/12/12px, sized down with the ring */\n donutValueSize: 30,\n donutValueWeight: 600,\n donutBadgeSize: 12,\n donutLabelSize: 12,\n donutStatusColors: {\n positive: { background: '#E6F6EF', text: '#067647' },\n negative: { background: '#FEE4E2', text: '#B42318' },\n neutral: { background: '#F2F4F7', text: '#475467' },\n },\n donutStatusColorsDark: {\n positive: { background: '#0C2C21', text: '#4ED8A6' },\n negative: { background: '#3B1513', text: '#F5817A' },\n neutral: { background: '#2C2D33', text: '#C3C7CE' },\n },\n /** Sankey: layout extent inset, node gap, and the two node-rule colors */\n sankeyPadding: 4.5,\n sankeyNodePadding: 14,\n sankeyNodeWidth: 70,\n sankeyNodeWidthSmall: 65,\n sankeyNodeRule: '#D3DBE3',\n sankeyNodeRuleActive: '#939BA7',\n /** Ribbons sit at 50% alpha until hovered or focused */\n sankeyLinkAlphaPct: 50,\n sankeyLinkInset: 3,\n sankeyDimOpacity: 0.5,\n} as const;\n\n/** SequentialColors1 for the `default` styleId — low → high. */\nexport const FD_SEQUENTIAL = [\n '#D6D3FF',\n '#B5B0FF',\n '#938CFF',\n '#7369FF',\n '#5448FF',\n '#473DD9',\n '#3C33B5',\n] as const;\n\nexport type MarkerShape =\n | 'donut'\n | 'circle'\n | 'square'\n | 'rhombus'\n | 'triangle'\n | 'disabled';\n\n/** Mirrors client `lightenColor` — blend hex toward white (amount 0–1). */\nexport function lightenColor(hex: string, amount: number): string {\n let clean = hex.replace('#', '');\n if (clean.length === 3) {\n clean = clean\n .split('')\n .map((c) => c + c)\n .join('');\n }\n if (!/^[0-9A-Fa-f]{6}$/.test(clean)) return hex;\n const t = Math.max(0, Math.min(1, amount));\n const r = parseInt(clean.slice(0, 2), 16);\n const g = parseInt(clean.slice(2, 4), 16);\n const b = parseInt(clean.slice(4, 6), 16);\n const lr = Math.round(r + (255 - r) * t);\n const lg = Math.round(g + (255 - g) * t);\n const lb = Math.round(b + (255 - b) * t);\n return `#${lr.toString(16).padStart(2, '0')}${lg.toString(16).padStart(2, '0')}${lb.toString(16).padStart(2, '0')}`;\n}\n\n/** Mirrors client `hexToHexWithAlpha` (opacity 0–100). */\nexport function hexWithAlpha(hex: string, opacityPct: number): string {\n let clean = hex.replace('#', '').toUpperCase();\n if (clean.length === 3) {\n clean = clean\n .split('')\n .map((c) => c + c)\n .join('');\n }\n if (!/^[0-9A-F]{6}$/.test(clean)) return hex;\n const alpha = Math.round((Math.max(0, Math.min(100, opacityPct)) / 100) * 255)\n .toString(16)\n .padStart(2, '0')\n .toUpperCase();\n return `#${clean}${alpha}`;\n}\n\n/** Mirrors client `calculateScaleLinearDomain`. */\nexport function calculateScaleLinearDomain(data: number[]): [number, number] {\n if (!data.length) return [0, 1];\n let min = Infinity;\n let max = -Infinity;\n for (const v of data) {\n if (!Number.isFinite(v)) continue;\n if (v < min) min = v;\n if (v > max) max = v;\n }\n if (!Number.isFinite(min) || !Number.isFinite(max)) return [0, 1];\n if (min < 0 && max > 0) {\n const absMax = Math.max(Math.abs(min), Math.abs(max));\n return [-absMax, absMax];\n }\n return [Math.min(0, min), Math.max(0, max)];\n}\n\n/** Mirrors client Y-tick formatting. */\nexport function formatCompactNumber(value: number, decimals = 2): string {\n const abs = Math.abs(value);\n if (abs >= 1_000_000_000) return `${(value / 1_000_000_000).toFixed(1)}B`;\n if (abs >= 1_000_000) return `${(value / 1_000_000).toFixed(1)}M`;\n if (abs >= 1_000) return `${(value / 1_000).toFixed(1)}K`;\n if (Number.isInteger(value) && abs < 1000) return String(value);\n return value.toFixed(decimals);\n}\n\nexport function seriesColor(index: number, override?: string): string {\n if (override) return override;\n return FD.series[index % FD.series.length];\n}\n\n/** Line markers: donut = hollow ring (FuseDash default). */\nexport function markerAppearance(\n shape: MarkerShape,\n color: string,\n themeMode: 'light' | 'dark' = 'light',\n): { fill: string; stroke: string } {\n const outline = themeMode === 'dark' ? '#000' : '#fff';\n if (shape === 'donut' || shape === 'disabled') {\n return { fill: outline, stroke: color };\n }\n return { fill: color, stroke: outline };\n}\n\nexport function appendGlowFilter(\n svg: Selection<SVGSVGElement, unknown, null, undefined>,\n id = 'ui9000-glow',\n): string {\n let defs = svg.select<SVGDefsElement>('defs');\n if (defs.empty()) defs = svg.append('defs');\n if (defs.select(`#${id}`).empty()) {\n const filter = defs\n .append('filter')\n .attr('id', id)\n .attr('x', '-50%')\n .attr('y', '-50%')\n .attr('width', '200%')\n .attr('height', '200%');\n filter.append('feGaussianBlur').attr('stdDeviation', 3).attr('result', 'coloredBlur');\n const merge = filter.append('feMerge');\n merge.append('feMergeNode').attr('in', 'coloredBlur');\n merge.append('feMergeNode').attr('in', 'SourceGraphic');\n }\n return `url(#${id})`;\n}\n\nexport function calculateNumTicks(height: number): number {\n if (height < 120) return 3;\n if (height < 220) return 4;\n if (height < 360) return 5;\n return 6;\n}\n\n/** Append FuseDash-style line/area marker at (cx, cy). */\nexport function appendLineMarker(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parent: Selection<any, any, any, any>,\n opts: {\n shape: MarkerShape;\n color: string;\n cx: number;\n cy: number;\n r?: number;\n themeMode?: 'light' | 'dark';\n hovered?: boolean;\n },\n): void {\n const {\n shape,\n color,\n cx,\n cy,\n r = FD.markerRadius,\n themeMode = 'light',\n hovered = false,\n } = opts;\n if (shape === 'disabled') return;\n\n const { fill, stroke } = markerAppearance(shape, color, themeMode);\n const strokeWidth = hovered ? 3 : 1;\n\n if (shape === 'square') {\n const size = 7;\n parent\n .append('rect')\n .attr('x', cx - size / 2)\n .attr('y', cy - size / 2)\n .attr('width', size)\n .attr('height', size)\n .attr('fill', fill)\n .attr('stroke', stroke)\n .attr('stroke-width', strokeWidth);\n return;\n }\n\n if (shape === 'rhombus') {\n const size = 9;\n parent\n .append('rect')\n .attr('x', cx - size / 2)\n .attr('y', cy - size / 2)\n .attr('width', size)\n .attr('height', size)\n .attr('fill', fill)\n .attr('stroke', stroke)\n .attr('stroke-width', strokeWidth)\n .attr('transform', `rotate(45, ${cx}, ${cy})`);\n return;\n }\n\n if (shape === 'triangle') {\n const s = 4;\n parent\n .append('polygon')\n .attr(\n 'points',\n `${cx},${cy - s} ${cx - s},${cy + s} ${cx + s},${cy + s}`,\n )\n .attr('fill', fill)\n .attr('stroke', stroke)\n .attr('stroke-width', strokeWidth);\n return;\n }\n\n parent\n .append('circle')\n .attr('cx', cx)\n .attr('cy', cy)\n .attr('r', r)\n .attr('fill', fill)\n .attr('stroke', stroke)\n .attr('stroke-width', strokeWidth);\n}\n\n/**\n * Lollipop head — FuseDash Vertical markers (default = rhombus diamond path).\n */\nexport function appendLollipopMarkerVertical(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parent: Selection<any, any, any, any>,\n opts: { shape: MarkerShape; color: string; cx: number; cy: number },\n): void {\n const { shape, color, cx, cy } = opts;\n if (shape === 'disabled') return;\n\n if (shape === 'donut') {\n parent\n .append('path')\n .attr(\n 'd',\n `M ${cx}, ${cy - 5} a 5,5 0 1,0 0,10 a 5,5 0 1,0 0,-10 M ${cx}, ${cy - 2} a 2,2 0 1,1 0,4 a 2,2 0 1,1 0,-4`,\n )\n .attr('fill', color)\n .attr('stroke', '#fff')\n .attr('stroke-width', 1);\n parent.append('circle').attr('cx', cx).attr('cy', cy).attr('r', 2).attr('fill', '#fff');\n return;\n }\n\n if (shape === 'circle') {\n parent\n .append('path')\n .attr('d', `M ${cx}, ${cy - 5} a 5,5 0 1,0 0,10 a 5,5 0 1,0 0,-10`)\n .attr('fill', color)\n .attr('stroke', '#fff')\n .attr('stroke-width', 1);\n return;\n }\n\n if (shape === 'square') {\n parent\n .append('path')\n .attr(\n 'd',\n `M${cx - 5}, ${cy + 5} L${cx + 5}, ${cy + 5} L${cx + 5}, ${cy - 5} L${cx - 5}, ${cy - 5} Z`,\n )\n .attr('fill', color)\n .attr('stroke', '#fff')\n .attr('stroke-width', 1);\n return;\n }\n\n if (shape === 'triangle') {\n parent\n .append('path')\n .attr('d', `M${cx}, ${cy - 5} L${cx - 5}, ${cy + 5} L${cx + 5}, ${cy + 5} Z`)\n .attr('fill', color)\n .attr('stroke', '#fff')\n .attr('stroke-width', 1);\n return;\n }\n\n // default / rhombus\n parent\n .append('path')\n .attr(\n 'd',\n `M${cx}, ${cy + 5} L${cx + 5}, ${cy} L${cx}, ${cy - 5} L${cx - 5}, ${cy}Z`,\n )\n .attr('fill', color)\n .attr('stroke', '#fff')\n .attr('stroke-width', 1);\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fusedash-visual.js","sources":["../../src/utils/fusedash-visual.ts"],"sourcesContent":["import type { Selection } from 'd3-selection';\n\n/** FuseDash Widgets visual tokens — keep charts looking 1:1 with client. */\n\nexport const FD = {\n gridStroke: '#afb3bb',\n gridDash: '1 2',\n axisLabelFill: '#6c7584',\n axisLabelSize: 11,\n axisStroke: '#afb3bb',\n hoverGuideLight: '#6c7584',\n hoverGuideDark: '#ffffff',\n /**\n * Qualitative12Colors.default — used when series count unknown.\n * Prefer `resolveFormattingColor` / `pickQualitativePalette` for FuseDash widgets.\n */\n series: [\n '#473DD9',\n '#938CFF',\n '#36C4A5',\n '#ADF4E5',\n '#BDBCC8',\n '#56546D',\n '#FF8C47',\n '#FFCEB0',\n '#FF4781',\n '#FFB0C9',\n '#47B0FF',\n '#B0DDFF',\n ],\n lineMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n lollipopMargin: { top: 10, right: 3, bottom: 21, left: 40 },\n /** FuseDash RadarChart (useNewDesign) frame */\n radarMargin: { top: 25, right: 5, bottom: 25, left: 5 },\n radarScaleSteps: 5,\n radarDomainPadFactor: 1.1,\n radarMarkerSize: 50,\n radarMarkerHoverSize: 70,\n radarSpokeDash: '2,2',\n radarCapRadius: 3,\n radarLabelOffset: 12,\n radarGradientEdgeOpacity: 0.3,\n radarStrokeWidth: 2,\n radarTickLabelFill: '#f1f4f7',\n /** Client PunchcardChart DEFAULT_MARGIN */\n punchcardMargin: { top: 0, right: 0, bottom: 21, left: 80 },\n stepLineMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n /** SparkLineChart — same frame as StepLineChart */\n sparkLineMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n sparkLineStrokeWidth: 1.5,\n sparkDomainPadFactor: 1.2,\n sparkGuideDash: '5,2',\n sparkHoverDotRadius: 4,\n boxPlotMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n histogramMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n /** Client VerticalWaterfallChart margin */\n waterfallVerticalMargin: { top: 10, right: 0, bottom: 21, left: 40 },\n /** Client HorizontalWaterfallChart base margin (left is sized from labels) */\n waterfallHorizontalMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n waterfallBarThickness: 16,\n waterfallBarRadius: 2,\n waterfallArrow: 5,\n waterfallDomainPadFactor: 1.2,\n /** Client hard-coded fills (formatting keys are ignored for paint) */\n waterfallPositive: '#938CFF',\n waterfallNegative: '#FF8C47',\n waterfallTotal: '#BDBCC8',\n waterfallHoverDim: 0.2,\n waterfallMinBand: 32,\n /** Client VerticalViolinChart DEFAULT_MARGIN */\n violinVerticalMargin: { top: 10, right: 16, bottom: 28, left: 44 },\n /** Client HorizontalViolinChart DEFAULT_MARGIN */\n violinHorizontalMargin: { top: 10, right: 24, bottom: 28, left: 44 },\n /** Client Horizontal/Vertical BoxPlot */\n boxPlotDomainPadFactor: 1.1,\n boxPlotBorderRadius: 2,\n lineStrokeWidth: 2,\n lineStrokeAlphaPct: 80,\n /** FuseDash AreaChart linearGradient stops (new design) */\n areaGradientTopOpacity: 0.6,\n areaGradientBottomOpacity: 0.1,\n lollipopStemWidth: 3,\n lollipopStemAlphaPct: 50,\n markerRadius: 4,\n /** StepLineChart: plain stroke, no alpha / glow / markers */\n stepStrokeWidth: 1.5,\n /** StepLineChart y-domain is padded by 1.2x before `.nice()` */\n stepDomainPadFactor: 1.2,\n /** KS-plot \"Ideal\" overlay */\n stepIdealColor: '#2ecc71',\n stepIdealWidth: 3,\n /** ROC \"Random guessing\" diagonal */\n stepGuessWidth: 2,\n stepGuessDash: '5,5',\n /** Max-deviation marker (KS distance) */\n stepDeviationFill: '#2c2d33',\n /** Tooltip crosshair on the step chart */\n stepGuideDash: '5,2',\n stepHoverDotRadius: 4,\n /** Barchart — shared frame + bar geometry (all six FuseDash variants) */\n barMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n barCornerRadius: 4,\n /** Bar fill is a gradient from the series color to a faded stop */\n barFadeOpacity: 0.6,\n barFadeOpacityHovered: 0.7,\n /** Vertical single-series: bandwidth * 0.4, capped, with a visible floor */\n barBandFraction: 0.4,\n barMaxWidth: 40,\n barMinHeight: 6,\n /** Vertical grouped: floor(clamp(plotWidth / categories / series)) + 1px gap */\n barGroupMinWidth: 4,\n barGroupMaxWidth: 24,\n barGroupGap: 1,\n /** Vertical stacked: bandwidth * 0.85, same clamp as grouped */\n barStackedBandFraction: 0.85,\n /** Horizontal: fixed row thickness, gutter, and a floor for tiny values */\n barRowThickness: 24,\n barRowSpacing: 16,\n barMinWidth: 6,\n /** Y (vertical) / X (horizontal) domain headroom */\n barDomainPadFactor: 1.2,\n barHorizontalPadFactor: 1.1,\n /** Stacked totals get a flat 10% pad instead */\n barStackedPadFraction: 0.1,\n /** Cumulative overlay line (FuseDash `cumulativeLine`) */\n barCumulativeColor: '#6d6df7',\n barCumulativeWidth: 2,\n barCumulativeDotRadius: 3,\n /** Hovered category column: animated dot pattern + solid guide */\n barHoverDotFill: '#CFD2D6',\n barHoverGuideWidth: 2,\n /** Client `calculatedLeftMargin` (unused in chat — shared LEFT_GUTTER_MARGIN) */\n barLabelCharWidth: 5,\n barLabelGutter: 28,\n barLabelGutterMin: 56,\n barLabelGutterMax: 180,\n /** DonutGroupChart — a row of gauges, each with a KPI block in the hole */\n donutMargin: { top: 10, right: 8, bottom: 10, left: 8 },\n /** FuseDash uses a flat 16px band; it is capped at half the radius here */\n donutThickness: 16,\n donutMinThickness: 4,\n donutCellPadding: 6,\n donutMinCellWidth: 140,\n /** Gauges assume a 0–100 scale when the row carries no `maximalValue` */\n donutDefaultMax: 100,\n /** Resting / dimmed / hovered arc opacity (FuseDash settles on 0.8) */\n donutArcOpacity: 0.8,\n donutArcOpacityDimmed: 0.2,\n /** PieChart — FuseDash uses zero margin; pie is a square inscribed in the body */\n pieMargin: { top: 0, right: 0, bottom: 0, left: 0 },\n pieMinArcLengthPx: 5,\n /** PolarAreaChart — FuseDash margin around the centred disc */\n polarAreaMargin: { top: 25, right: 5, bottom: 25, left: 5 },\n /** Concentric grid rings; opacity ramps 0.2 → 1.0 outward */\n polarRadialSteps: 5,\n polarGridStroke: '#939ba7',\n polarGridStepOpacity: 0.2,\n /** Dashed spoke from the centre to each category boundary, with a round cap */\n polarSpokeDash: '2,2',\n polarSpokeCapRadius: 3,\n /** Category labels sit just outside the outermost ring */\n polarCategoryLabelFill: '#5f6877',\n polarCategoryLabelSize: 12,\n polarCategoryLabelOffset: 12,\n /** Side room reserved for those labels, measured off the longest one */\n polarLabelCharWidth: 0.55,\n polarLabelGutterMin: 40,\n polarLabelGutterMax: 120,\n polarLabelGutterMaxFraction: 0.28,\n /** Below this radius the label ring collides with itself — drop it */\n polarMinLabelRadius: 40,\n /** Sectors: 0.8 at rest, siblings drop to 0.2 on hover */\n polarSectorOpacity: 0.8,\n polarSectorOpacityDimmed: 0.2,\n /** Radial tick pills are hidden when the disc is too short to fit them */\n polarTickPillRowHeight: 21,\n polarTickPillPadX: 7,\n polarTickPillPadY: 3,\n polarTickPillRadius: 4,\n polarTickPill: '#ffffff',\n polarTickPillDark: '#1a1b1f',\n /** RadialBarChart — client margin; the plot is a circle inscribed in the body */\n radialBarMargin: { top: 25, right: 5, bottom: 25, left: 5 },\n /** Hole is 20% of the outer radius; rings sweep 270° clockwise from 12 o'clock */\n radialBarInnerRadiusRatio: 0.2,\n radialBarSweepDeg: 270,\n radialBarTicks: 5,\n /** Ring thickness clamp around `((outer - inner - rings) / rings) * 0.5` */\n radialBarMinArcWidth: 4,\n radialBarMaxArcWidth: 24,\n radialBarArcCornerRadius: 1,\n /** Resting / dimmed arc opacity */\n radialBarArcOpacity: 0.8,\n radialBarArcOpacityDimmed: 0.2,\n /** Client draws the rings and the radial axes in one darker grey */\n radialBarGridStroke: '#939ba7',\n radialBarTickDash: '4,4',\n radialBarLabelFill: '#5f6877',\n radialBarTickLabelSize: 12,\n radialBarRingLabelSize: 11,\n /** Value labels sit 12px outside the outer ring */\n radialBarTickLabelOffset: 12,\n /** Ring labels are cut at `(outer - inner) / 8` characters */\n radialBarLabelCharWidth: 8,\n /** ScatterPlot — FuseDash DEFAULT_MARGIN */\n scatterMargin: { top: 10, right: 5, bottom: 21, left: 40 },\n /** AreaGroupedBarChart — client DEFAULT_MARGIN */\n areaGroupedBarMargin: { top: 10, right: 5, bottom: 21, left: 40 },\n /** Area fill under the line (client stopOpacity 0.35 → 0) */\n areaGroupedBarGradientTopOpacity: 0.35,\n areaGroupedBarGradientBottomOpacity: 0,\n areaGroupedBarMarkerRadius: 3,\n areaGroupedBarDimOpacity: 0.3,\n areaGroupedBarBarOpacity: 0.85,\n /** BubbleChart — BASE_MARGIN + MAX_BUBBLE_RADIUS/2 inset on top/right */\n bubbleBaseMargin: { top: 10, right: 1, bottom: 21, left: 40 },\n bubbleMaxRadius: 30,\n bubbleNegativeFill: '#DADAE1',\n scatterMarkerSize: 40,\n scatterReferenceLine: '#56546D',\n /** BiasVarianceTradeoffChart — the client widget carries its own frame/palette */\n biasVarianceMargin: { top: 24, right: 24, bottom: 36, left: 48 },\n biasVarianceSeries: ['#6366f1', '#22c55e', '#f59e0b', '#06b6d4', '#ef4444'],\n biasVarianceGridStroke: '#d1d5db',\n biasVarianceGridDash: '2,4',\n biasVarianceAxisStroke: '#9ca3af',\n biasVarianceLabelFill: '#6b7280',\n biasVarianceLineWidth: 2,\n biasVarianceLineOpacity: 0.95,\n /** Sibling curves fade while one is hovered (FuseDash line-hover convention) */\n biasVarianceLineOpacityDimmed: 0.2,\n /** Y domain is `[0, max * 1.1]` before `.nice()` */\n biasVarianceDomainPadFactor: 1.1,\n biasVarianceXTicks: 8,\n biasVarianceYTicks: 6,\n /** Shared `DomainsLimits` overlay (reference lines / bands) */\n domainLimitColor: '#6C8CF5',\n domainLimitFillOpacity: 0.12,\n domainLimitDash: '4,4',\n domainLimitArrow: 8,\n domainLimitLabelFill: '#141c2ce6',\n domainLimitLabelText: '#ffffff',\n domainLimitLabelSize: 10,\n donutSliceStroke: '#ffffff',\n donutSliceStrokeDark: '#1a1b1f',\n donutSliceStrokeWidth: 2,\n /** Unfilled part of a gauge — the neutral background FuseDash falls back to */\n donutTrackFill: '#EAECF0',\n donutTrackFillDark: '#2C2D33',\n /** Divider between donuts (FuseDash `border-left: neutralBorderWeakest`) */\n donutDivider: '#E4E6EA',\n donutDividerDark: '#2C2D33',\n /** KPI block in the hole: 30/12/12px, sized down with the ring */\n donutValueSize: 30,\n donutValueWeight: 600,\n donutBadgeSize: 12,\n donutLabelSize: 12,\n donutStatusColors: {\n positive: { background: '#E6F6EF', text: '#067647' },\n negative: { background: '#FEE4E2', text: '#B42318' },\n neutral: { background: '#F2F4F7', text: '#475467' },\n },\n donutStatusColorsDark: {\n positive: { background: '#0C2C21', text: '#4ED8A6' },\n negative: { background: '#3B1513', text: '#F5817A' },\n neutral: { background: '#2C2D33', text: '#C3C7CE' },\n },\n /** Sankey: layout extent inset, node gap, and the two node-rule colors */\n sankeyPadding: 4.5,\n sankeyNodePadding: 14,\n sankeyNodeWidth: 70,\n sankeyNodeWidthSmall: 65,\n sankeyNodeRule: '#D3DBE3',\n sankeyNodeRuleActive: '#939BA7',\n /** Ribbons sit at 50% alpha until hovered or focused */\n sankeyLinkAlphaPct: 50,\n sankeyLinkInset: 3,\n sankeyDimOpacity: 0.5,\n /** ParallelCoordinates — client Horizontal/Vertical frames */\n parallelMargin: { top: 10, right: 1, bottom: 8, left: 1 },\n parallelVerticalMargin: { top: 10, right: 1, bottom: 1, left: 1 },\n /** Horizontal: one 72px band per dimension, so the plot scrolls past ~5 axes */\n parallelAxisSpacing: 72,\n /** Vertical: gutter kept free under the axes for the bottom tick row */\n parallelColorScaleHeight: 44,\n /** Right gutter reserved for the colour ramp + its tick labels */\n parallelLegendOffsetRight: 20,\n parallelLegendWidth: 10,\n parallelLegendTickLabelWidth: 44,\n parallelLegendRadius: 6,\n /** Resting / dimmed / hovered polyline stroke */\n parallelLineWidth: 1,\n parallelLineWidthHovered: 5,\n parallelLineOpacity: 0.4,\n parallelLineOpacityDimmed: 0.05,\n /** Client draws these axes a shade darker than the shared FD axis tokens */\n parallelAxisStroke: '#939ba7',\n parallelAxisLabelFill: '#5f6877',\n parallelTitleSize: 11,\n parallelTitleSizeActive: 13,\n /** GiniImpurityEntropyChart — client DEFAULT_MARGIN */\n giniMargin: { top: 20, right: 24, bottom: 28, left: 44 },\n /** Curves are drawn as smooth Catmull-Rom splines with this tension */\n giniCurveAlpha: 0.5,\n /** p-hat guide + confidence-interval band */\n giniOverlayColor: '#4c6ef5',\n giniOverlayBandOpacity: 0.08,\n giniOverlayDash: '5,5',\n /** Split annotation markers on the Gini curve */\n giniSplitMarkerFill: '#12b886',\n giniSplitMarkerStroke: '#ffffff',\n giniSplitMarkerRadius: 4,\n giniSplitLabelOffset: 8,\n /** Hovering one curve fades the others so the read is unambiguous */\n giniCurveDimOpacity: 0.2,\n} as const;\n\n/** SequentialColors1 for the `default` styleId — low → high. */\nexport const FD_SEQUENTIAL = [\n '#D6D3FF',\n '#B5B0FF',\n '#938CFF',\n '#7369FF',\n '#5448FF',\n '#473DD9',\n '#3C33B5',\n] as const;\n\nexport type MarkerShape =\n | 'donut'\n | 'circle'\n | 'square'\n | 'rhombus'\n | 'triangle'\n | 'disabled';\n\n/** Mirrors client `lightenColor` — blend hex toward white (amount 0–1). */\nexport function lightenColor(hex: string, amount: number): string {\n let clean = hex.replace('#', '');\n if (clean.length === 3) {\n clean = clean\n .split('')\n .map((c) => c + c)\n .join('');\n }\n if (!/^[0-9A-Fa-f]{6}$/.test(clean)) return hex;\n const t = Math.max(0, Math.min(1, amount));\n const r = parseInt(clean.slice(0, 2), 16);\n const g = parseInt(clean.slice(2, 4), 16);\n const b = parseInt(clean.slice(4, 6), 16);\n const lr = Math.round(r + (255 - r) * t);\n const lg = Math.round(g + (255 - g) * t);\n const lb = Math.round(b + (255 - b) * t);\n return `#${lr.toString(16).padStart(2, '0')}${lg.toString(16).padStart(2, '0')}${lb.toString(16).padStart(2, '0')}`;\n}\n\n/** Mirrors client `hexToHexWithAlpha` (opacity 0–100). */\nexport function hexWithAlpha(hex: string, opacityPct: number): string {\n let clean = hex.replace('#', '').toUpperCase();\n if (clean.length === 3) {\n clean = clean\n .split('')\n .map((c) => c + c)\n .join('');\n }\n if (!/^[0-9A-F]{6}$/.test(clean)) return hex;\n const alpha = Math.round((Math.max(0, Math.min(100, opacityPct)) / 100) * 255)\n .toString(16)\n .padStart(2, '0')\n .toUpperCase();\n return `#${clean}${alpha}`;\n}\n\n/** Mirrors client `calculateScaleLinearDomain`. */\nexport function calculateScaleLinearDomain(data: number[]): [number, number] {\n if (!data.length) return [0, 1];\n let min = Infinity;\n let max = -Infinity;\n for (const v of data) {\n if (!Number.isFinite(v)) continue;\n if (v < min) min = v;\n if (v > max) max = v;\n }\n if (!Number.isFinite(min) || !Number.isFinite(max)) return [0, 1];\n if (min < 0 && max > 0) {\n const absMax = Math.max(Math.abs(min), Math.abs(max));\n return [-absMax, absMax];\n }\n return [Math.min(0, min), Math.max(0, max)];\n}\n\n/** Mirrors client Y-tick formatting. */\nexport function formatCompactNumber(value: number, decimals = 2): string {\n const abs = Math.abs(value);\n if (abs >= 1_000_000_000) return `${(value / 1_000_000_000).toFixed(1)}B`;\n if (abs >= 1_000_000) return `${(value / 1_000_000).toFixed(1)}M`;\n if (abs >= 1_000) return `${(value / 1_000).toFixed(1)}K`;\n if (Number.isInteger(value) && abs < 1000) return String(value);\n return value.toFixed(decimals);\n}\n\nexport function seriesColor(index: number, override?: string): string {\n if (override) return override;\n return FD.series[index % FD.series.length];\n}\n\n/** Line markers: donut = hollow ring (FuseDash default). */\nexport function markerAppearance(\n shape: MarkerShape,\n color: string,\n themeMode: 'light' | 'dark' = 'light',\n): { fill: string; stroke: string } {\n const outline = themeMode === 'dark' ? '#000' : '#fff';\n if (shape === 'donut' || shape === 'disabled') {\n return { fill: outline, stroke: color };\n }\n return { fill: color, stroke: outline };\n}\n\nexport function appendGlowFilter(\n svg: Selection<SVGSVGElement, unknown, null, undefined>,\n id = 'ui9000-glow',\n): string {\n let defs = svg.select<SVGDefsElement>('defs');\n if (defs.empty()) defs = svg.append('defs');\n if (defs.select(`#${id}`).empty()) {\n const filter = defs\n .append('filter')\n .attr('id', id)\n .attr('x', '-50%')\n .attr('y', '-50%')\n .attr('width', '200%')\n .attr('height', '200%');\n filter.append('feGaussianBlur').attr('stdDeviation', 3).attr('result', 'coloredBlur');\n const merge = filter.append('feMerge');\n merge.append('feMergeNode').attr('in', 'coloredBlur');\n merge.append('feMergeNode').attr('in', 'SourceGraphic');\n }\n return `url(#${id})`;\n}\n\nexport function calculateNumTicks(height: number): number {\n if (height < 120) return 3;\n if (height < 220) return 4;\n if (height < 360) return 5;\n return 6;\n}\n\n/** Append FuseDash-style line/area marker at (cx, cy). */\nexport function appendLineMarker(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parent: Selection<any, any, any, any>,\n opts: {\n shape: MarkerShape;\n color: string;\n cx: number;\n cy: number;\n r?: number;\n themeMode?: 'light' | 'dark';\n hovered?: boolean;\n },\n): void {\n const {\n shape,\n color,\n cx,\n cy,\n r = FD.markerRadius,\n themeMode = 'light',\n hovered = false,\n } = opts;\n if (shape === 'disabled') return;\n\n const { fill, stroke } = markerAppearance(shape, color, themeMode);\n const strokeWidth = hovered ? 3 : 1;\n\n if (shape === 'square') {\n const size = 7;\n parent\n .append('rect')\n .attr('x', cx - size / 2)\n .attr('y', cy - size / 2)\n .attr('width', size)\n .attr('height', size)\n .attr('fill', fill)\n .attr('stroke', stroke)\n .attr('stroke-width', strokeWidth);\n return;\n }\n\n if (shape === 'rhombus') {\n const size = 9;\n parent\n .append('rect')\n .attr('x', cx - size / 2)\n .attr('y', cy - size / 2)\n .attr('width', size)\n .attr('height', size)\n .attr('fill', fill)\n .attr('stroke', stroke)\n .attr('stroke-width', strokeWidth)\n .attr('transform', `rotate(45, ${cx}, ${cy})`);\n return;\n }\n\n if (shape === 'triangle') {\n const s = 4;\n parent\n .append('polygon')\n .attr(\n 'points',\n `${cx},${cy - s} ${cx - s},${cy + s} ${cx + s},${cy + s}`,\n )\n .attr('fill', fill)\n .attr('stroke', stroke)\n .attr('stroke-width', strokeWidth);\n return;\n }\n\n parent\n .append('circle')\n .attr('cx', cx)\n .attr('cy', cy)\n .attr('r', r)\n .attr('fill', fill)\n .attr('stroke', stroke)\n .attr('stroke-width', strokeWidth);\n}\n\n/**\n * Lollipop head — FuseDash Vertical markers (default = rhombus diamond path).\n */\nexport function appendLollipopMarkerVertical(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n parent: Selection<any, any, any, any>,\n opts: { shape: MarkerShape; color: string; cx: number; cy: number },\n): void {\n const { shape, color, cx, cy } = opts;\n if (shape === 'disabled') return;\n\n if (shape === 'donut') {\n parent\n .append('path')\n .attr(\n 'd',\n `M ${cx}, ${cy - 5} a 5,5 0 1,0 0,10 a 5,5 0 1,0 0,-10 M ${cx}, ${cy - 2} a 2,2 0 1,1 0,4 a 2,2 0 1,1 0,-4`,\n )\n .attr('fill', color)\n .attr('stroke', '#fff')\n .attr('stroke-width', 1);\n parent.append('circle').attr('cx', cx).attr('cy', cy).attr('r', 2).attr('fill', '#fff');\n return;\n }\n\n if (shape === 'circle') {\n parent\n .append('path')\n .attr('d', `M ${cx}, ${cy - 5} a 5,5 0 1,0 0,10 a 5,5 0 1,0 0,-10`)\n .attr('fill', color)\n .attr('stroke', '#fff')\n .attr('stroke-width', 1);\n return;\n }\n\n if (shape === 'square') {\n parent\n .append('path')\n .attr(\n 'd',\n `M${cx - 5}, ${cy + 5} L${cx + 5}, ${cy + 5} L${cx + 5}, ${cy - 5} L${cx - 5}, ${cy - 5} Z`,\n )\n .attr('fill', color)\n .attr('stroke', '#fff')\n .attr('stroke-width', 1);\n return;\n }\n\n if (shape === 'triangle') {\n parent\n .append('path')\n .attr('d', `M${cx}, ${cy - 5} L${cx - 5}, ${cy + 5} L${cx + 5}, ${cy + 5} Z`)\n .attr('fill', color)\n .attr('stroke', '#fff')\n .attr('stroke-width', 1);\n return;\n }\n\n // default / rhombus\n parent\n .append('path')\n .attr(\n 'd',\n `M${cx}, ${cy + 5} L${cx + 5}, ${cy} L${cx}, ${cy - 5} L${cx - 5}, ${cy}Z`,\n )\n .attr('fill', color)\n .attr('stroke', '#fff')\n .attr('stroke-width', 1);\n}\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fusedashlabs/widgets",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Props-only chart web components for UI9000 / FuseDash MCP resources",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -96,6 +96,10 @@
|
|
|
96
96
|
"types": "./dist/components/sankey-chart/index.d.ts",
|
|
97
97
|
"import": "./dist/components/sankey-chart/index.js"
|
|
98
98
|
},
|
|
99
|
+
"./parallel-coordinates-chart": {
|
|
100
|
+
"types": "./dist/components/parallel-coordinates-chart/index.d.ts",
|
|
101
|
+
"import": "./dist/components/parallel-coordinates-chart/index.js"
|
|
102
|
+
},
|
|
99
103
|
"./pie-chart": {
|
|
100
104
|
"types": "./dist/components/pie-chart/index.d.ts",
|
|
101
105
|
"import": "./dist/components/pie-chart/index.js"
|
|
@@ -104,10 +108,18 @@
|
|
|
104
108
|
"types": "./dist/components/donut-chart/index.d.ts",
|
|
105
109
|
"import": "./dist/components/donut-chart/index.js"
|
|
106
110
|
},
|
|
111
|
+
"./polar-area-chart": {
|
|
112
|
+
"types": "./dist/components/polar-area-chart/index.d.ts",
|
|
113
|
+
"import": "./dist/components/polar-area-chart/index.js"
|
|
114
|
+
},
|
|
107
115
|
"./scatter-plot-chart": {
|
|
108
116
|
"types": "./dist/components/scatter-plot-chart/index.d.ts",
|
|
109
117
|
"import": "./dist/components/scatter-plot-chart/index.js"
|
|
110
118
|
},
|
|
119
|
+
"./bias-variance-tradeoff-chart": {
|
|
120
|
+
"types": "./dist/components/bias-variance-tradeoff-chart/index.d.ts",
|
|
121
|
+
"import": "./dist/components/bias-variance-tradeoff-chart/index.js"
|
|
122
|
+
},
|
|
111
123
|
"./bubble-chart": {
|
|
112
124
|
"types": "./dist/components/bubble-chart/index.d.ts",
|
|
113
125
|
"import": "./dist/components/bubble-chart/index.js"
|
|
@@ -116,10 +128,22 @@
|
|
|
116
128
|
"types": "./dist/components/radar-chart/index.d.ts",
|
|
117
129
|
"import": "./dist/components/radar-chart/index.js"
|
|
118
130
|
},
|
|
131
|
+
"./radial-bar-chart": {
|
|
132
|
+
"types": "./dist/components/radial-bar-chart/index.d.ts",
|
|
133
|
+
"import": "./dist/components/radial-bar-chart/index.js"
|
|
134
|
+
},
|
|
119
135
|
"./kpi-widget": {
|
|
120
136
|
"types": "./dist/components/kpi-widget/index.d.ts",
|
|
121
137
|
"import": "./dist/components/kpi-widget/index.js"
|
|
122
138
|
},
|
|
139
|
+
"./network-graph": {
|
|
140
|
+
"types": "./dist/components/network-graph/index.d.ts",
|
|
141
|
+
"import": "./dist/components/network-graph/index.js"
|
|
142
|
+
},
|
|
143
|
+
"./gini-impurity-entropy-chart": {
|
|
144
|
+
"types": "./dist/components/gini-impurity-entropy-chart/index.d.ts",
|
|
145
|
+
"import": "./dist/components/gini-impurity-entropy-chart/index.js"
|
|
146
|
+
},
|
|
123
147
|
"./lazy": {
|
|
124
148
|
"types": "./dist/lazy/index.d.ts",
|
|
125
149
|
"import": "./dist/lazy/index.js"
|
|
@@ -192,6 +216,10 @@
|
|
|
192
216
|
"types": "./dist/lazy/sankey-chart.d.ts",
|
|
193
217
|
"import": "./dist/lazy/sankey-chart.js"
|
|
194
218
|
},
|
|
219
|
+
"./lazy/parallel-coordinates-chart": {
|
|
220
|
+
"types": "./dist/lazy/parallel-coordinates-chart.d.ts",
|
|
221
|
+
"import": "./dist/lazy/parallel-coordinates-chart.js"
|
|
222
|
+
},
|
|
195
223
|
"./lazy/pie-chart": {
|
|
196
224
|
"types": "./dist/lazy/pie-chart.d.ts",
|
|
197
225
|
"import": "./dist/lazy/pie-chart.js"
|
|
@@ -200,10 +228,18 @@
|
|
|
200
228
|
"types": "./dist/lazy/donut-chart.d.ts",
|
|
201
229
|
"import": "./dist/lazy/donut-chart.js"
|
|
202
230
|
},
|
|
231
|
+
"./lazy/polar-area-chart": {
|
|
232
|
+
"types": "./dist/lazy/polar-area-chart.d.ts",
|
|
233
|
+
"import": "./dist/lazy/polar-area-chart.js"
|
|
234
|
+
},
|
|
203
235
|
"./lazy/scatter-plot-chart": {
|
|
204
236
|
"types": "./dist/lazy/scatter-plot-chart.d.ts",
|
|
205
237
|
"import": "./dist/lazy/scatter-plot-chart.js"
|
|
206
238
|
},
|
|
239
|
+
"./lazy/bias-variance-tradeoff-chart": {
|
|
240
|
+
"types": "./dist/lazy/bias-variance-tradeoff-chart.d.ts",
|
|
241
|
+
"import": "./dist/lazy/bias-variance-tradeoff-chart.js"
|
|
242
|
+
},
|
|
207
243
|
"./lazy/bubble-chart": {
|
|
208
244
|
"types": "./dist/lazy/bubble-chart.d.ts",
|
|
209
245
|
"import": "./dist/lazy/bubble-chart.js"
|
|
@@ -212,15 +248,28 @@
|
|
|
212
248
|
"types": "./dist/lazy/radar-chart.d.ts",
|
|
213
249
|
"import": "./dist/lazy/radar-chart.js"
|
|
214
250
|
},
|
|
251
|
+
"./lazy/radial-bar-chart": {
|
|
252
|
+
"types": "./dist/lazy/radial-bar-chart.d.ts",
|
|
253
|
+
"import": "./dist/lazy/radial-bar-chart.js"
|
|
254
|
+
},
|
|
215
255
|
"./lazy/kpi-widget": {
|
|
216
256
|
"types": "./dist/lazy/kpi-widget.d.ts",
|
|
217
257
|
"import": "./dist/lazy/kpi-widget.js"
|
|
258
|
+
},
|
|
259
|
+
"./lazy/network-graph": {
|
|
260
|
+
"types": "./dist/lazy/network-graph.d.ts",
|
|
261
|
+
"import": "./dist/lazy/network-graph.js"
|
|
262
|
+
},
|
|
263
|
+
"./lazy/gini-impurity-entropy-chart": {
|
|
264
|
+
"types": "./dist/lazy/gini-impurity-entropy-chart.d.ts",
|
|
265
|
+
"import": "./dist/lazy/gini-impurity-entropy-chart.js"
|
|
218
266
|
}
|
|
219
267
|
},
|
|
268
|
+
"packageManager": "yarn@4.5.0",
|
|
220
269
|
"scripts": {
|
|
221
270
|
"dev": "vite --config playground/vite.config.ts",
|
|
222
|
-
"build": "tsc --noEmit && vite build &&
|
|
223
|
-
"prepublishOnly": "
|
|
271
|
+
"build": "tsc --noEmit && vite build && yarn bundle-size",
|
|
272
|
+
"prepublishOnly": "yarn typecheck && yarn test && yarn build && yarn license-check",
|
|
224
273
|
"build:playground": "vite build --config playground/vite.config.ts",
|
|
225
274
|
"preview": "vite preview --config playground/vite.config.ts",
|
|
226
275
|
"storybook": "storybook dev -p 6006",
|
|
@@ -235,10 +284,13 @@
|
|
|
235
284
|
"dependencies": {
|
|
236
285
|
"d3": "^7.9.0",
|
|
237
286
|
"d3-axis": "^3.0.0",
|
|
287
|
+
"d3-drag": "^3.0.0",
|
|
288
|
+
"d3-force": "^3.0.0",
|
|
238
289
|
"d3-sankey": "^0.12.3",
|
|
239
290
|
"d3-scale": "^4.0.2",
|
|
240
291
|
"d3-selection": "^3.0.0",
|
|
241
292
|
"d3-shape": "^3.2.0",
|
|
293
|
+
"d3-zoom": "^3.0.0",
|
|
242
294
|
"lit": "^3.2.1"
|
|
243
295
|
},
|
|
244
296
|
"devDependencies": {
|
|
@@ -275,4 +327,4 @@
|
|
|
275
327
|
"charts",
|
|
276
328
|
"d3"
|
|
277
329
|
]
|
|
278
|
-
}
|
|
330
|
+
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2017 Google LLC
|
|
4
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
5
|
-
*/
|
|
6
|
-
const t = { ATTRIBUTE: 1 }, e = (t2) => (...e2) => ({ _$litDirective$: t2, values: e2 });
|
|
7
|
-
class i {
|
|
8
|
-
constructor(t2) {
|
|
9
|
-
}
|
|
10
|
-
get _$AU() {
|
|
11
|
-
return this._$AM._$AU;
|
|
12
|
-
}
|
|
13
|
-
_$AT(t2, e2, i2) {
|
|
14
|
-
this._$Ct = t2, this._$AM = e2, this._$Ci = i2;
|
|
15
|
-
}
|
|
16
|
-
_$AS(t2, e2) {
|
|
17
|
-
return this.update(t2, e2);
|
|
18
|
-
}
|
|
19
|
-
update(t2, e2) {
|
|
20
|
-
return this.render(...e2);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
export {
|
|
24
|
-
i as Directive,
|
|
25
|
-
t as PartType,
|
|
26
|
-
e as directive
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=directive.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"directive.js","sources":["../../../../../../node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/directive.js"],"sourcesContent":["/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n"],"names":["t","e","i"],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAKK,MAAC,IAAE,EAAC,WAAU,EAA0D,GAAE,IAAE,CAAAA,OAAG,IAAIC,QAAK,EAAC,iBAAgBD,IAAE,QAAOC,GAAC;AAAG,MAAM,EAAC;AAAA,EAAC,YAAYD,IAAE;AAAA,EAAC;AAAA,EAAC,IAAI,OAAM;AAAC,WAAO,KAAK,KAAK;AAAA,EAAI;AAAA,EAAC,KAAKA,IAAEC,IAAEC,IAAE;AAAC,SAAK,OAAKF,IAAE,KAAK,OAAKC,IAAE,KAAK,OAAKC;AAAA,EAAC;AAAA,EAAC,KAAKF,IAAEC,IAAE;AAAC,WAAO,KAAK,OAAOD,IAAEC,EAAC;AAAA,EAAC;AAAA,EAAC,OAAOD,IAAEC,IAAE;AAAC,WAAO,KAAK,OAAO,GAAGA,EAAC;AAAA,EAAC;AAAC;","x_google_ignoreList":[0]}
|
package/dist/node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/directives/style-map.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { noChange as E } from "../lit-html.js";
|
|
2
|
-
import { directive as e, Directive as i$1, PartType as t } from "../directive.js";
|
|
3
|
-
/**
|
|
4
|
-
* @license
|
|
5
|
-
* Copyright 2018 Google LLC
|
|
6
|
-
* SPDX-License-Identifier: BSD-3-Clause
|
|
7
|
-
*/
|
|
8
|
-
const n = "important", i = " !" + n, o = e(class extends i$1 {
|
|
9
|
-
constructor(t$1) {
|
|
10
|
-
var _a;
|
|
11
|
-
if (super(t$1), t$1.type !== t.ATTRIBUTE || "style" !== t$1.name || ((_a = t$1.strings) == null ? void 0 : _a.length) > 2) throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.");
|
|
12
|
-
}
|
|
13
|
-
render(t2) {
|
|
14
|
-
return Object.keys(t2).reduce((e2, r) => {
|
|
15
|
-
const s = t2[r];
|
|
16
|
-
return null == s ? e2 : e2 + `${r = r.includes("-") ? r : r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g, "-$&").toLowerCase()}:${s};`;
|
|
17
|
-
}, "");
|
|
18
|
-
}
|
|
19
|
-
update(e2, [r]) {
|
|
20
|
-
const { style: s } = e2.element;
|
|
21
|
-
if (void 0 === this.ft) return this.ft = new Set(Object.keys(r)), this.render(r);
|
|
22
|
-
for (const t2 of this.ft) null == r[t2] && (this.ft.delete(t2), t2.includes("-") ? s.removeProperty(t2) : s[t2] = null);
|
|
23
|
-
for (const t2 in r) {
|
|
24
|
-
const e3 = r[t2];
|
|
25
|
-
if (null != e3) {
|
|
26
|
-
this.ft.add(t2);
|
|
27
|
-
const r2 = "string" == typeof e3 && e3.endsWith(i);
|
|
28
|
-
t2.includes("-") || r2 ? s.setProperty(t2, r2 ? e3.slice(0, -11) : e3, r2 ? n : "") : s[t2] = e3;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return E;
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
export {
|
|
35
|
-
o as styleMap
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=style-map.js.map
|
package/dist/node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/directives/style-map.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"style-map.js","sources":["../../../../../../../node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/directives/style-map.js"],"sourcesContent":["import{noChange as t}from\"../lit-html.js\";import{directive as e,Directive as r,PartType as s}from\"../directive.js\";\n/**\n * @license\n * Copyright 2018 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const n=\"important\",i=\" !\"+n,o=e(class extends r{constructor(t){if(super(t),t.type!==s.ATTRIBUTE||\"style\"!==t.name||t.strings?.length>2)throw Error(\"The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.\")}render(t){return Object.keys(t).reduce((e,r)=>{const s=t[r];return null==s?e:e+`${r=r.includes(\"-\")?r:r.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,\"-$&\").toLowerCase()}:${s};`},\"\")}update(e,[r]){const{style:s}=e.element;if(void 0===this.ft)return this.ft=new Set(Object.keys(r)),this.render(r);for(const t of this.ft)null==r[t]&&(this.ft.delete(t),t.includes(\"-\")?s.removeProperty(t):s[t]=null);for(const t in r){const e=r[t];if(null!=e){this.ft.add(t);const r=\"string\"==typeof e&&e.endsWith(i);t.includes(\"-\")||r?s.setProperty(t,r?e.slice(0,-11):e,r?n:\"\"):s[t]=e}}return t}});export{o as styleMap};\n//# sourceMappingURL=style-map.js.map\n"],"names":["r","t","s","e"],"mappings":";;AACA;AAAA;AAAA;AAAA;AAAA;AAIQ,MAAC,IAAE,aAAY,IAAE,OAAK,GAAE,IAAE,EAAE,cAAcA,IAAC;AAAA,EAAC,YAAYC,KAAE;;AAAC,QAAG,MAAMA,GAAC,GAAEA,IAAE,SAAOC,EAAE,aAAW,YAAUD,IAAE,UAAMA,SAAE,YAAFA,mBAAW,UAAO,EAAE,OAAM,MAAM,4GAA4G;AAAA,EAAC;AAAA,EAAC,OAAOA,IAAE;AAAC,WAAO,OAAO,KAAKA,EAAC,EAAE,OAAO,CAACE,IAAE,MAAI;AAAC,YAAM,IAAEF,GAAE,CAAC;AAAE,aAAO,QAAM,IAAEE,KAAEA,KAAE,GAAG,IAAE,EAAE,SAAS,GAAG,IAAE,IAAE,EAAE,QAAQ,qCAAoC,KAAK,EAAE,YAAW,CAAE,IAAI,CAAC;AAAA,IAAG,GAAE,EAAE;AAAA,EAAC;AAAA,EAAC,OAAOA,IAAE,CAAC,CAAC,GAAE;AAAC,UAAK,EAAC,OAAM,EAAC,IAAEA,GAAE;AAAQ,QAAG,WAAS,KAAK,GAAG,QAAO,KAAK,KAAG,IAAI,IAAI,OAAO,KAAK,CAAC,CAAC,GAAE,KAAK,OAAO,CAAC;AAAE,eAAUF,MAAK,KAAK,GAAG,SAAM,EAAEA,EAAC,MAAI,KAAK,GAAG,OAAOA,EAAC,GAAEA,GAAE,SAAS,GAAG,IAAE,EAAE,eAAeA,EAAC,IAAE,EAAEA,EAAC,IAAE;AAAM,eAAUA,MAAK,GAAE;AAAC,YAAME,KAAE,EAAEF,EAAC;AAAE,UAAG,QAAME,IAAE;AAAC,aAAK,GAAG,IAAIF,EAAC;AAAE,cAAMD,KAAE,YAAU,OAAOG,MAAGA,GAAE,SAAS,CAAC;AAAE,QAAAF,GAAE,SAAS,GAAG,KAAGD,KAAE,EAAE,YAAYC,IAAED,KAAEG,GAAE,MAAM,GAAE,GAAG,IAAEA,IAAEH,KAAE,IAAE,EAAE,IAAE,EAAEC,EAAC,IAAEE;AAAA,MAAC;AAAA,IAAC;AAAC,WAAOF;AAAAA,EAAC;AAAC,CAAC;","x_google_ignoreList":[0]}
|