@fusedashlabs/widgets 0.3.1 → 0.4.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 +37 -0
- package/README.md +1 -1
- package/dist/components/chart-renderer/element/ui9000-chart-renderer.d.ts +2 -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 +23 -2
- 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 +20 -5
- 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.js +1 -1
- package/dist/components/donut-chart/element/ui9000-donut-chart.js.map +1 -1
- package/dist/components/kpi-widget/element/styles.d.ts.map +1 -1
- package/dist/components/kpi-widget/element/styles.js +268 -5
- package/dist/components/kpi-widget/element/styles.js.map +1 -1
- package/dist/components/kpi-widget/element/ui9000-kpi-widget.d.ts +10 -1
- package/dist/components/kpi-widget/element/ui9000-kpi-widget.d.ts.map +1 -1
- package/dist/components/kpi-widget/element/ui9000-kpi-widget.js +154 -27
- package/dist/components/kpi-widget/element/ui9000-kpi-widget.js.map +1 -1
- package/dist/components/kpi-widget/index.d.ts +1 -1
- package/dist/components/kpi-widget/index.d.ts.map +1 -1
- package/dist/components/kpi-widget/index.js +7 -4
- package/dist/components/kpi-widget/lib/extract.d.ts +5 -1
- package/dist/components/kpi-widget/lib/extract.d.ts.map +1 -1
- package/dist/components/kpi-widget/lib/extract.js +110 -34
- package/dist/components/kpi-widget/lib/extract.js.map +1 -1
- package/dist/components/kpi-widget/lib/format.d.ts +5 -0
- package/dist/components/kpi-widget/lib/format.d.ts.map +1 -1
- package/dist/components/kpi-widget/lib/format.js +10 -1
- package/dist/components/kpi-widget/lib/format.js.map +1 -1
- package/dist/components/kpi-widget/lib/grid.d.ts +5 -0
- package/dist/components/kpi-widget/lib/grid.d.ts.map +1 -1
- package/dist/components/kpi-widget/lib/grid.js +18 -0
- package/dist/components/kpi-widget/lib/grid.js.map +1 -1
- package/dist/components/kpi-widget/lib/index.d.ts +5 -5
- package/dist/components/kpi-widget/lib/index.d.ts.map +1 -1
- package/dist/components/kpi-widget/lib/normalize.d.ts +2 -0
- package/dist/components/kpi-widget/lib/normalize.d.ts.map +1 -1
- package/dist/components/kpi-widget/lib/normalize.js +73 -12
- package/dist/components/kpi-widget/lib/normalize.js.map +1 -1
- package/dist/components/kpi-widget/lib/types.d.ts +41 -0
- package/dist/components/kpi-widget/lib/types.d.ts.map +1 -1
- package/dist/components/kpi-widget/metadata.json.d.ts +1 -1
- package/dist/components/kpi-widget/metadata.json.js +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 +6 -1
- 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 +456 -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/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.map +1 -1
- package/dist/components/network-graph/element/styles.js +177 -57
- package/dist/components/network-graph/element/styles.js.map +1 -1
- package/dist/components/network-graph/element/ui9000-network-graph.d.ts +4 -0
- package/dist/components/network-graph/element/ui9000-network-graph.d.ts.map +1 -1
- package/dist/components/network-graph/element/ui9000-network-graph.js +116 -39
- package/dist/components/network-graph/element/ui9000-network-graph.js.map +1 -1
- package/dist/components/network-graph/lib/domain.d.ts +2 -2
- package/dist/components/network-graph/lib/domain.js.map +1 -1
- package/dist/components/network-graph/lib/index.d.ts +1 -0
- package/dist/components/network-graph/lib/index.d.ts.map +1 -1
- 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/render/draw.d.ts +4 -1
- package/dist/components/network-graph/render/draw.d.ts.map +1 -1
- package/dist/components/network-graph/render/draw.js +34 -9
- package/dist/components/network-graph/render/draw.js.map +1 -1
- package/dist/components/partial-dependence-chart/element/styles.d.ts +2 -0
- package/dist/components/partial-dependence-chart/element/styles.d.ts.map +1 -0
- package/dist/components/partial-dependence-chart/element/styles.js +48 -0
- package/dist/components/partial-dependence-chart/element/styles.js.map +1 -0
- package/dist/components/partial-dependence-chart/element/ui9000-partial-dependence-chart.d.ts +30 -0
- package/dist/components/partial-dependence-chart/element/ui9000-partial-dependence-chart.d.ts.map +1 -0
- package/dist/components/partial-dependence-chart/element/ui9000-partial-dependence-chart.js +163 -0
- package/dist/components/partial-dependence-chart/element/ui9000-partial-dependence-chart.js.map +1 -0
- package/dist/components/partial-dependence-chart/index.d.ts +5 -0
- package/dist/components/partial-dependence-chart/index.d.ts.map +1 -0
- package/dist/components/partial-dependence-chart/index.js +18 -0
- package/dist/components/partial-dependence-chart/index.js.map +1 -0
- package/dist/components/partial-dependence-chart/lib/domain.d.ts +6 -0
- package/dist/components/partial-dependence-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/partial-dependence-chart/lib/domain.js +16 -0
- package/dist/components/partial-dependence-chart/lib/domain.js.map +1 -0
- package/dist/components/partial-dependence-chart/lib/index.d.ts +5 -0
- package/dist/components/partial-dependence-chart/lib/index.d.ts.map +1 -0
- package/dist/components/partial-dependence-chart/lib/normalize.d.ts +4 -0
- package/dist/components/partial-dependence-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/partial-dependence-chart/lib/normalize.js +167 -0
- package/dist/components/partial-dependence-chart/lib/normalize.js.map +1 -0
- package/dist/components/partial-dependence-chart/lib/series.d.ts +15 -0
- package/dist/components/partial-dependence-chart/lib/series.d.ts.map +1 -0
- package/dist/components/partial-dependence-chart/lib/series.js +63 -0
- package/dist/components/partial-dependence-chart/lib/series.js.map +1 -0
- package/dist/components/partial-dependence-chart/lib/types.d.ts +50 -0
- package/dist/components/partial-dependence-chart/lib/types.d.ts.map +1 -0
- package/dist/components/partial-dependence-chart/metadata.json.d.ts +80 -0
- package/dist/components/partial-dependence-chart/metadata.json.js +42 -0
- package/dist/components/partial-dependence-chart/metadata.json.js.map +1 -0
- package/dist/components/partial-dependence-chart/render/draw.d.ts +34 -0
- package/dist/components/partial-dependence-chart/render/draw.d.ts.map +1 -0
- package/dist/components/partial-dependence-chart/render/draw.js +95 -0
- package/dist/components/partial-dependence-chart/render/draw.js.map +1 -0
- package/dist/components/partial-dependence-chart/render/index.d.ts +2 -0
- package/dist/components/partial-dependence-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 +0 -2
- 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 +1 -1
- package/dist/components/polar-area-chart/element/styles.d.ts.map +1 -1
- package/dist/components/{donut-group-chart → polar-area-chart}/element/styles.js +9 -27
- 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.map +1 -1
- package/dist/components/polar-area-chart/element/ui9000-polar-area-chart.js +4 -3
- package/dist/components/polar-area-chart/element/ui9000-polar-area-chart.js.map +1 -1
- package/dist/components/polar-area-chart/index.d.ts +1 -1
- package/dist/components/polar-area-chart/index.d.ts.map +1 -1
- package/dist/components/polar-area-chart/index.js +2 -1
- package/dist/components/polar-area-chart/lib/domain.d.ts +8 -0
- package/dist/components/polar-area-chart/lib/domain.d.ts.map +1 -1
- package/dist/components/polar-area-chart/lib/domain.js +20 -0
- package/dist/components/polar-area-chart/lib/domain.js.map +1 -1
- package/dist/components/polar-area-chart/lib/index.d.ts +1 -1
- package/dist/components/polar-area-chart/lib/index.d.ts.map +1 -1
- package/dist/components/polar-area-chart/lib/normalize.d.ts.map +1 -1
- package/dist/components/polar-area-chart/lib/normalize.js +72 -6
- package/dist/components/polar-area-chart/lib/normalize.js.map +1 -1
- package/dist/components/polar-area-chart/lib/types.d.ts +6 -1
- package/dist/components/polar-area-chart/lib/types.d.ts.map +1 -1
- package/dist/components/polar-area-chart/metadata.json.d.ts +1 -1
- package/dist/components/polar-area-chart/metadata.json.js +1 -1
- package/dist/components/polar-area-chart/render/draw.d.ts.map +1 -1
- package/dist/components/polar-area-chart/render/draw.js +2 -2
- package/dist/components/polar-area-chart/render/draw.js.map +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/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 +5 -5
- package/dist/components/sankey-chart/element/ui9000-sankey-chart.d.ts.map +1 -1
- package/dist/components/sankey-chart/element/ui9000-sankey-chart.js +37 -35
- package/dist/components/sankey-chart/element/ui9000-sankey-chart.js.map +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/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/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/index.d.ts +11 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +91 -42
- package/dist/index.js.map +1 -1
- package/dist/lazy/index.d.ts +5 -2
- package/dist/lazy/index.d.ts.map +1 -1
- package/dist/lazy/index.js +32 -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/partial-dependence-chart.d.ts +4 -0
- package/dist/lazy/partial-dependence-chart.d.ts.map +1 -0
- package/dist/lazy/partial-dependence-chart.js +5 -0
- package/dist/lazy/partial-dependence-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/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/chart-helpers.d.ts +6 -6
- package/dist/utils/chart-helpers.d.ts.map +1 -1
- package/dist/utils/chart-helpers.js +31 -15
- package/dist/utils/chart-helpers.js.map +1 -1
- package/dist/utils/format-text.d.ts +5 -0
- package/dist/utils/format-text.d.ts.map +1 -1
- package/dist/utils/format-text.js +7 -0
- package/dist/utils/format-text.js.map +1 -1
- 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 +77 -52
- package/dist/utils/fusedash-visual.d.ts.map +1 -1
- package/dist/utils/fusedash-visual.js +55 -29
- package/dist/utils/fusedash-visual.js.map +1 -1
- package/package.json +48 -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/components/{donut-group-chart → matrix-chart}/index.js.map +0 -0
- /package/dist/components/{donut-group-chart → treemap-chart}/metadata.json.js.map +0 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fusedashlabs/widgets",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Props-only chart web components for UI9000 / FuseDash MCP resources",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -32,10 +32,6 @@
|
|
|
32
32
|
"types": "./dist/components/bar-chart/index.d.ts",
|
|
33
33
|
"import": "./dist/components/bar-chart/index.js"
|
|
34
34
|
},
|
|
35
|
-
"./donut-group-chart": {
|
|
36
|
-
"types": "./dist/components/donut-group-chart/index.d.ts",
|
|
37
|
-
"import": "./dist/components/donut-group-chart/index.js"
|
|
38
|
-
},
|
|
39
35
|
"./line-chart": {
|
|
40
36
|
"types": "./dist/components/line-chart/index.d.ts",
|
|
41
37
|
"import": "./dist/components/line-chart/index.js"
|
|
@@ -80,6 +76,10 @@
|
|
|
80
76
|
"types": "./dist/components/punchcard-chart/index.d.ts",
|
|
81
77
|
"import": "./dist/components/punchcard-chart/index.js"
|
|
82
78
|
},
|
|
79
|
+
"./matrix-chart": {
|
|
80
|
+
"types": "./dist/components/matrix-chart/index.d.ts",
|
|
81
|
+
"import": "./dist/components/matrix-chart/index.js"
|
|
82
|
+
},
|
|
83
83
|
"./box-plot-chart": {
|
|
84
84
|
"types": "./dist/components/box-plot-chart/index.d.ts",
|
|
85
85
|
"import": "./dist/components/box-plot-chart/index.js"
|
|
@@ -132,6 +132,14 @@
|
|
|
132
132
|
"types": "./dist/components/radial-bar-chart/index.d.ts",
|
|
133
133
|
"import": "./dist/components/radial-bar-chart/index.js"
|
|
134
134
|
},
|
|
135
|
+
"./treemap-chart": {
|
|
136
|
+
"types": "./dist/components/treemap-chart/index.d.ts",
|
|
137
|
+
"import": "./dist/components/treemap-chart/index.js"
|
|
138
|
+
},
|
|
139
|
+
"./partial-dependence-chart": {
|
|
140
|
+
"types": "./dist/components/partial-dependence-chart/index.d.ts",
|
|
141
|
+
"import": "./dist/components/partial-dependence-chart/index.js"
|
|
142
|
+
},
|
|
135
143
|
"./kpi-widget": {
|
|
136
144
|
"types": "./dist/components/kpi-widget/index.d.ts",
|
|
137
145
|
"import": "./dist/components/kpi-widget/index.js"
|
|
@@ -144,6 +152,10 @@
|
|
|
144
152
|
"types": "./dist/components/gini-impurity-entropy-chart/index.d.ts",
|
|
145
153
|
"import": "./dist/components/gini-impurity-entropy-chart/index.js"
|
|
146
154
|
},
|
|
155
|
+
"./map-chart": {
|
|
156
|
+
"types": "./dist/components/map-chart/index.d.ts",
|
|
157
|
+
"import": "./dist/components/map-chart/index.js"
|
|
158
|
+
},
|
|
147
159
|
"./lazy": {
|
|
148
160
|
"types": "./dist/lazy/index.d.ts",
|
|
149
161
|
"import": "./dist/lazy/index.js"
|
|
@@ -152,10 +164,6 @@
|
|
|
152
164
|
"types": "./dist/lazy/bar-chart.d.ts",
|
|
153
165
|
"import": "./dist/lazy/bar-chart.js"
|
|
154
166
|
},
|
|
155
|
-
"./lazy/donut-group-chart": {
|
|
156
|
-
"types": "./dist/lazy/donut-group-chart.d.ts",
|
|
157
|
-
"import": "./dist/lazy/donut-group-chart.js"
|
|
158
|
-
},
|
|
159
167
|
"./lazy/line-chart": {
|
|
160
168
|
"types": "./dist/lazy/line-chart.d.ts",
|
|
161
169
|
"import": "./dist/lazy/line-chart.js"
|
|
@@ -200,6 +208,10 @@
|
|
|
200
208
|
"types": "./dist/lazy/punchcard-chart.d.ts",
|
|
201
209
|
"import": "./dist/lazy/punchcard-chart.js"
|
|
202
210
|
},
|
|
211
|
+
"./lazy/matrix-chart": {
|
|
212
|
+
"types": "./dist/lazy/matrix-chart.d.ts",
|
|
213
|
+
"import": "./dist/lazy/matrix-chart.js"
|
|
214
|
+
},
|
|
203
215
|
"./lazy/box-plot-chart": {
|
|
204
216
|
"types": "./dist/lazy/box-plot-chart.d.ts",
|
|
205
217
|
"import": "./dist/lazy/box-plot-chart.js"
|
|
@@ -252,6 +264,14 @@
|
|
|
252
264
|
"types": "./dist/lazy/radial-bar-chart.d.ts",
|
|
253
265
|
"import": "./dist/lazy/radial-bar-chart.js"
|
|
254
266
|
},
|
|
267
|
+
"./lazy/treemap-chart": {
|
|
268
|
+
"types": "./dist/lazy/treemap-chart.d.ts",
|
|
269
|
+
"import": "./dist/lazy/treemap-chart.js"
|
|
270
|
+
},
|
|
271
|
+
"./lazy/partial-dependence-chart": {
|
|
272
|
+
"types": "./dist/lazy/partial-dependence-chart.d.ts",
|
|
273
|
+
"import": "./dist/lazy/partial-dependence-chart.js"
|
|
274
|
+
},
|
|
255
275
|
"./lazy/kpi-widget": {
|
|
256
276
|
"types": "./dist/lazy/kpi-widget.d.ts",
|
|
257
277
|
"import": "./dist/lazy/kpi-widget.js"
|
|
@@ -263,12 +283,17 @@
|
|
|
263
283
|
"./lazy/gini-impurity-entropy-chart": {
|
|
264
284
|
"types": "./dist/lazy/gini-impurity-entropy-chart.d.ts",
|
|
265
285
|
"import": "./dist/lazy/gini-impurity-entropy-chart.js"
|
|
286
|
+
},
|
|
287
|
+
"./lazy/map-chart": {
|
|
288
|
+
"types": "./dist/lazy/map-chart.d.ts",
|
|
289
|
+
"import": "./dist/lazy/map-chart.js"
|
|
266
290
|
}
|
|
267
291
|
},
|
|
268
292
|
"packageManager": "yarn@4.5.0",
|
|
269
293
|
"scripts": {
|
|
270
294
|
"dev": "vite --config playground/vite.config.ts",
|
|
271
|
-
"build": "tsc --noEmit && vite build && yarn bundle-size",
|
|
295
|
+
"build": "tsc --noEmit && vite build && yarn assert-dist-externals && yarn bundle-size",
|
|
296
|
+
"assert-dist-externals": "node scripts/assert-dist-externals.mjs",
|
|
272
297
|
"prepublishOnly": "yarn typecheck && yarn test && yarn build && yarn license-check",
|
|
273
298
|
"build:playground": "vite build --config playground/vite.config.ts",
|
|
274
299
|
"preview": "vite preview --config playground/vite.config.ts",
|
|
@@ -286,6 +311,7 @@
|
|
|
286
311
|
"d3-axis": "^3.0.0",
|
|
287
312
|
"d3-drag": "^3.0.0",
|
|
288
313
|
"d3-force": "^3.0.0",
|
|
314
|
+
"d3-hierarchy": "^3.1.2",
|
|
289
315
|
"d3-sankey": "^0.12.3",
|
|
290
316
|
"d3-scale": "^4.0.2",
|
|
291
317
|
"d3-selection": "^3.0.0",
|
|
@@ -293,6 +319,14 @@
|
|
|
293
319
|
"d3-zoom": "^3.0.0",
|
|
294
320
|
"lit": "^3.2.1"
|
|
295
321
|
},
|
|
322
|
+
"peerDependencies": {
|
|
323
|
+
"mapbox-gl": "^3.9.0"
|
|
324
|
+
},
|
|
325
|
+
"peerDependenciesMeta": {
|
|
326
|
+
"mapbox-gl": {
|
|
327
|
+
"optional": true
|
|
328
|
+
}
|
|
329
|
+
},
|
|
296
330
|
"devDependencies": {
|
|
297
331
|
"@storybook/addon-essentials": "^8.6.14",
|
|
298
332
|
"@storybook/addon-links": "^8.6.14",
|
|
@@ -306,6 +340,7 @@
|
|
|
306
340
|
"globals": "^14.0.0",
|
|
307
341
|
"jsdom": "^26.1.0",
|
|
308
342
|
"license-checker": "^25.0.1",
|
|
343
|
+
"mapbox-gl": "^3.24.0",
|
|
309
344
|
"storybook": "^8.6.14",
|
|
310
345
|
"typescript": "^5.7.2",
|
|
311
346
|
"vite": "^6.0.5",
|
|
@@ -313,7 +348,8 @@
|
|
|
313
348
|
"vitest": "^2.1.8"
|
|
314
349
|
},
|
|
315
350
|
"publishConfig": {
|
|
316
|
-
"access": "public"
|
|
351
|
+
"access": "public",
|
|
352
|
+
"registry": "https://registry.npmjs.org"
|
|
317
353
|
},
|
|
318
354
|
"repository": {
|
|
319
355
|
"type": "git",
|
|
@@ -327,4 +363,4 @@
|
|
|
327
363
|
"charts",
|
|
328
364
|
"d3"
|
|
329
365
|
]
|
|
330
|
-
}
|
|
366
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/donut-group-chart/element/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB,yBA4DjC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../../src/components/donut-group-chart/element/styles.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const donutGroupChartStyles = css`\n :host {\n display: block;\n position: relative;\n width: 100%;\n height: 100%;\n min-height: 180px;\n color: var(--ui9000-color-text, #111827);\n font-family: var(--ui9000-font-family, system-ui, sans-serif);\n box-sizing: border-box;\n }\n .chart-root {\n width: 100%;\n height: 100%;\n min-height: inherit;\n }\n .tooltip {\n position: absolute;\n pointer-events: none;\n z-index: 2;\n padding: 6px 10px;\n border-radius: 6px;\n font-size: 12px;\n line-height: 1.35;\n background: var(--ui9000-color-text, #111827);\n color: #fff;\n box-shadow: 0 4px 12px rgb(0 0 0 / 18%);\n transform: translate(-50%, calc(-100% - 12px));\n white-space: nowrap;\n }\n .tooltip .title {\n font-weight: 600;\n margin-bottom: 2px;\n }\n .tooltip .row {\n display: flex;\n align-items: center;\n gap: 6px;\n }\n .tooltip .swatch {\n width: 8px;\n height: 8px;\n border-radius: 2px;\n flex: none;\n }\n .tooltip .value {\n margin-left: auto;\n font-variant-numeric: tabular-nums;\n }\n .tooltip .share {\n opacity: 0.75;\n }\n .empty {\n display: grid;\n place-items: center;\n height: 100%;\n min-height: inherit;\n color: var(--ui9000-color-text-muted, #6b7280);\n font-size: 0.875rem;\n }\n`;\n"],"names":[],"mappings":";AAEO,MAAM,wBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { LitElement } from 'lit';
|
|
2
|
-
import { WidgetScale } from '../../../types/index.js';
|
|
3
|
-
export declare class Ui9000DonutGroupChart extends LitElement {
|
|
4
|
-
static styles: import('lit').CSSResult;
|
|
5
|
-
/** JSON: DataPoint[] | DonutGauge[] | DonutGroupChartData */
|
|
6
|
-
dataJson: string;
|
|
7
|
-
scale: WidgetScale;
|
|
8
|
-
/** Gauge full scale for entries without their own max (FuseDash `maximalValue`) */
|
|
9
|
-
max: number;
|
|
10
|
-
showValue: boolean;
|
|
11
|
-
showStatus: boolean;
|
|
12
|
-
showLabel: boolean;
|
|
13
|
-
/** Slice legend — breakdown donuts only */
|
|
14
|
-
showLegend: boolean;
|
|
15
|
-
showTooltip: boolean;
|
|
16
|
-
private _tooltip;
|
|
17
|
-
private _empty;
|
|
18
|
-
private _resizeObserver?;
|
|
19
|
-
private _raf;
|
|
20
|
-
connectedCallback(): void;
|
|
21
|
-
disconnectedCallback(): void;
|
|
22
|
-
updated(): void;
|
|
23
|
-
private scheduleDraw;
|
|
24
|
-
private parseData;
|
|
25
|
-
private draw;
|
|
26
|
-
render(): import('lit-html').TemplateResult<1>;
|
|
27
|
-
}
|
|
28
|
-
declare global {
|
|
29
|
-
interface HTMLElementTagNameMap {
|
|
30
|
-
'ui9000-donut-group-chart': Ui9000DonutGroupChart;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
export declare function registerDonutGroupChart(): void;
|
|
34
|
-
//# sourceMappingURL=ui9000-donut-group-chart.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ui9000-donut-group-chart.d.ts","sourceRoot":"","sources":["../../../../src/components/donut-group-chart/element/ui9000-donut-group-chart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAC;AAIhD,OAAO,KAAK,EAAa,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAatE,qBACa,qBAAsB,SAAQ,UAAU;IACnD,OAAgB,MAAM,0BAAyB;IAE/C,6DAA6D;IAE7D,QAAQ,SAAQ;IAGhB,KAAK,EAAE,WAAW,CAAa;IAE/B,mFAAmF;IAEnF,GAAG,SAAO;IAGV,SAAS,UAAQ;IAGjB,UAAU,UAAQ;IAGlB,SAAS,UAAQ;IAEjB,2CAA2C;IAE3C,UAAU,UAAQ;IAGlB,WAAW,UAAQ;IAGnB,OAAO,CAAC,QAAQ,CAKA;IAGhB,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,OAAO,CAAC,IAAI,CAAK;IAER,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAM5B,OAAO,IAAI,IAAI;IAIxB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,IAAI;IAiDH,MAAM;CAuBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,0BAA0B,EAAE,qBAAqB,CAAC;KACnD;CACF;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAI9C"}
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
import { LitElement, nothing, html } from "lit";
|
|
2
|
-
import { property, state, customElement } from "lit/decorators.js";
|
|
3
|
-
import { readThemeFromElement, readCssVar, CSS_VARS } from "../../../context/widget-context.js";
|
|
4
|
-
import { parseJsonAttr, getDonutGroupDimensions } from "../../../utils/chart-helpers.js";
|
|
5
|
-
import { renderDonutGroupChart } from "../render/draw.js";
|
|
6
|
-
import { donutGroupChartStyles } from "./styles.js";
|
|
7
|
-
import { normalizeDonutGroupData } from "../lib/normalize.js";
|
|
8
|
-
import { formatCompact, formatPercent } from "../lib/format.js";
|
|
9
|
-
var __defProp = Object.defineProperty;
|
|
10
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
11
|
-
var __decorateClass = (decorators, target, key, kind) => {
|
|
12
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
13
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
14
|
-
if (decorator = decorators[i])
|
|
15
|
-
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
16
|
-
if (kind && result) __defProp(target, key, result);
|
|
17
|
-
return result;
|
|
18
|
-
};
|
|
19
|
-
let Ui9000DonutGroupChart = class extends LitElement {
|
|
20
|
-
constructor() {
|
|
21
|
-
super(...arguments);
|
|
22
|
-
this.dataJson = "[]";
|
|
23
|
-
this.scale = "default";
|
|
24
|
-
this.max = 100;
|
|
25
|
-
this.showValue = true;
|
|
26
|
-
this.showStatus = true;
|
|
27
|
-
this.showLabel = true;
|
|
28
|
-
this.showLegend = true;
|
|
29
|
-
this.showTooltip = true;
|
|
30
|
-
this._tooltip = null;
|
|
31
|
-
this._empty = false;
|
|
32
|
-
this._raf = 0;
|
|
33
|
-
}
|
|
34
|
-
connectedCallback() {
|
|
35
|
-
super.connectedCallback();
|
|
36
|
-
if (typeof ResizeObserver !== "undefined") {
|
|
37
|
-
this._resizeObserver = new ResizeObserver(() => this.scheduleDraw());
|
|
38
|
-
this._resizeObserver.observe(this);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
disconnectedCallback() {
|
|
42
|
-
var _a;
|
|
43
|
-
(_a = this._resizeObserver) == null ? void 0 : _a.disconnect();
|
|
44
|
-
cancelAnimationFrame(this._raf);
|
|
45
|
-
super.disconnectedCallback();
|
|
46
|
-
}
|
|
47
|
-
updated() {
|
|
48
|
-
this.scheduleDraw();
|
|
49
|
-
}
|
|
50
|
-
scheduleDraw() {
|
|
51
|
-
cancelAnimationFrame(this._raf);
|
|
52
|
-
this._raf = requestAnimationFrame(() => this.draw());
|
|
53
|
-
}
|
|
54
|
-
parseData() {
|
|
55
|
-
const raw = parseJsonAttr(
|
|
56
|
-
this.dataJson,
|
|
57
|
-
[]
|
|
58
|
-
);
|
|
59
|
-
return normalizeDonutGroupData(raw);
|
|
60
|
-
}
|
|
61
|
-
draw() {
|
|
62
|
-
var _a;
|
|
63
|
-
const root = (_a = this.shadowRoot) == null ? void 0 : _a.querySelector(".chart-root");
|
|
64
|
-
if (!root) return;
|
|
65
|
-
const items = this.parseData();
|
|
66
|
-
this._empty = items.length === 0;
|
|
67
|
-
if (this._empty) {
|
|
68
|
-
root.replaceChildren();
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
const theme = readThemeFromElement(this);
|
|
72
|
-
const themeMode = readCssVar(this, CSS_VARS.mode, "light") === "dark" ? "dark" : "light";
|
|
73
|
-
const styleId = readCssVar(this, CSS_VARS.styleId, "default");
|
|
74
|
-
const { width, height, margin } = getDonutGroupDimensions(root, this.scale);
|
|
75
|
-
renderDonutGroupChart(root, {
|
|
76
|
-
items,
|
|
77
|
-
width,
|
|
78
|
-
height,
|
|
79
|
-
margin,
|
|
80
|
-
theme,
|
|
81
|
-
themeMode,
|
|
82
|
-
styleId,
|
|
83
|
-
defaultMax: this.max,
|
|
84
|
-
showValue: this.showValue,
|
|
85
|
-
showStatus: this.showStatus,
|
|
86
|
-
showLabel: this.showLabel,
|
|
87
|
-
showLegend: this.showLegend,
|
|
88
|
-
showTooltip: this.showTooltip,
|
|
89
|
-
onHover: this.showTooltip ? ({ title, entries, event }) => {
|
|
90
|
-
const rect = this.getBoundingClientRect();
|
|
91
|
-
this._tooltip = {
|
|
92
|
-
x: event.clientX - rect.left,
|
|
93
|
-
y: event.clientY - rect.top,
|
|
94
|
-
title,
|
|
95
|
-
entries
|
|
96
|
-
};
|
|
97
|
-
} : void 0,
|
|
98
|
-
onLeave: this.showTooltip ? () => {
|
|
99
|
-
this._tooltip = null;
|
|
100
|
-
} : void 0
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
render() {
|
|
104
|
-
return html`
|
|
105
|
-
<div class="chart-root" part="chart" ?hidden=${this._empty}></div>
|
|
106
|
-
${this._empty ? html`<div class="empty" part="empty">No data</div>` : nothing}
|
|
107
|
-
${this._tooltip ? html`<div
|
|
108
|
-
class="tooltip"
|
|
109
|
-
part="tooltip"
|
|
110
|
-
style="left:${this._tooltip.x}px;top:${this._tooltip.y}px"
|
|
111
|
-
>
|
|
112
|
-
<div class="title">${this._tooltip.title}</div>
|
|
113
|
-
${this._tooltip.entries.map(
|
|
114
|
-
(entry) => html`<div class="row">
|
|
115
|
-
<span class="swatch" style="background:${entry.color}"></span>
|
|
116
|
-
<span>${entry.label}</span>
|
|
117
|
-
<span class="value">${formatCompact(entry.value)}</span>
|
|
118
|
-
<span class="share">${formatPercent(entry.ratio)}</span>
|
|
119
|
-
</div>`
|
|
120
|
-
)}
|
|
121
|
-
</div>` : nothing}
|
|
122
|
-
`;
|
|
123
|
-
}
|
|
124
|
-
};
|
|
125
|
-
Ui9000DonutGroupChart.styles = donutGroupChartStyles;
|
|
126
|
-
__decorateClass([
|
|
127
|
-
property({ type: String, attribute: "data" })
|
|
128
|
-
], Ui9000DonutGroupChart.prototype, "dataJson", 2);
|
|
129
|
-
__decorateClass([
|
|
130
|
-
property({ type: String, attribute: "scale" })
|
|
131
|
-
], Ui9000DonutGroupChart.prototype, "scale", 2);
|
|
132
|
-
__decorateClass([
|
|
133
|
-
property({ type: Number, attribute: "max" })
|
|
134
|
-
], Ui9000DonutGroupChart.prototype, "max", 2);
|
|
135
|
-
__decorateClass([
|
|
136
|
-
property({ type: Boolean, attribute: "show-value" })
|
|
137
|
-
], Ui9000DonutGroupChart.prototype, "showValue", 2);
|
|
138
|
-
__decorateClass([
|
|
139
|
-
property({ type: Boolean, attribute: "show-status" })
|
|
140
|
-
], Ui9000DonutGroupChart.prototype, "showStatus", 2);
|
|
141
|
-
__decorateClass([
|
|
142
|
-
property({ type: Boolean, attribute: "show-label" })
|
|
143
|
-
], Ui9000DonutGroupChart.prototype, "showLabel", 2);
|
|
144
|
-
__decorateClass([
|
|
145
|
-
property({ type: Boolean, attribute: "show-legend" })
|
|
146
|
-
], Ui9000DonutGroupChart.prototype, "showLegend", 2);
|
|
147
|
-
__decorateClass([
|
|
148
|
-
property({ type: Boolean, attribute: "show-tooltip" })
|
|
149
|
-
], Ui9000DonutGroupChart.prototype, "showTooltip", 2);
|
|
150
|
-
__decorateClass([
|
|
151
|
-
state()
|
|
152
|
-
], Ui9000DonutGroupChart.prototype, "_tooltip", 2);
|
|
153
|
-
__decorateClass([
|
|
154
|
-
state()
|
|
155
|
-
], Ui9000DonutGroupChart.prototype, "_empty", 2);
|
|
156
|
-
Ui9000DonutGroupChart = __decorateClass([
|
|
157
|
-
customElement("ui9000-donut-group-chart")
|
|
158
|
-
], Ui9000DonutGroupChart);
|
|
159
|
-
function registerDonutGroupChart() {
|
|
160
|
-
if (!customElements.get("ui9000-donut-group-chart")) {
|
|
161
|
-
customElements.define("ui9000-donut-group-chart", Ui9000DonutGroupChart);
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
registerDonutGroupChart();
|
|
165
|
-
export {
|
|
166
|
-
Ui9000DonutGroupChart,
|
|
167
|
-
registerDonutGroupChart
|
|
168
|
-
};
|
|
169
|
-
//# sourceMappingURL=ui9000-donut-group-chart.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ui9000-donut-group-chart.js","sources":["../../../../src/components/donut-group-chart/element/ui9000-donut-group-chart.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\n\nimport { CSS_VARS, readCssVar, readThemeFromElement } from '../../../context/widget-context.js';\nimport type { DataPoint, WidgetScale } from '../../../types/index.js';\nimport { getDonutGroupDimensions, parseJsonAttr } from '../../../utils/chart-helpers.js';\nimport {\n formatCompact,\n formatPercent,\n normalizeDonutGroupData,\n type DonutGauge,\n type DonutGroupChartData,\n type DonutHoverEntry,\n} from '../lib/index.js';\nimport { renderDonutGroupChart } from '../render/draw.js';\nimport { donutGroupChartStyles } from './styles.js';\n\n@customElement('ui9000-donut-group-chart')\nexport class Ui9000DonutGroupChart extends LitElement {\n static override styles = donutGroupChartStyles;\n\n /** JSON: DataPoint[] | DonutGauge[] | DonutGroupChartData */\n @property({ type: String, attribute: 'data' })\n dataJson = '[]';\n\n @property({ type: String, attribute: 'scale' })\n scale: WidgetScale = 'default';\n\n /** Gauge full scale for entries without their own max (FuseDash `maximalValue`) */\n @property({ type: Number, attribute: 'max' })\n max = 100;\n\n @property({ type: Boolean, attribute: 'show-value' })\n showValue = true;\n\n @property({ type: Boolean, attribute: 'show-status' })\n showStatus = true;\n\n @property({ type: Boolean, attribute: 'show-label' })\n showLabel = true;\n\n /** Slice legend — breakdown donuts only */\n @property({ type: Boolean, attribute: 'show-legend' })\n showLegend = true;\n\n @property({ type: Boolean, attribute: 'show-tooltip' })\n showTooltip = true;\n\n @state()\n private _tooltip: {\n x: number;\n y: number;\n title: string;\n entries: DonutHoverEntry[];\n } | null = null;\n\n @state()\n private _empty = false;\n\n private _resizeObserver?: ResizeObserver;\n private _raf = 0;\n\n override connectedCallback(): void {\n super.connectedCallback();\n // absent in SSR / jsdom hosts — the chart still draws, it just won't reflow\n if (typeof ResizeObserver !== 'undefined') {\n this._resizeObserver = new ResizeObserver(() => this.scheduleDraw());\n this._resizeObserver.observe(this);\n }\n }\n\n override disconnectedCallback(): void {\n this._resizeObserver?.disconnect();\n cancelAnimationFrame(this._raf);\n super.disconnectedCallback();\n }\n\n override updated(): void {\n this.scheduleDraw();\n }\n\n private scheduleDraw(): void {\n cancelAnimationFrame(this._raf);\n this._raf = requestAnimationFrame(() => this.draw());\n }\n\n private parseData(): DonutGauge[] {\n const raw = parseJsonAttr<DataPoint[] | DonutGauge[] | DonutGroupChartData>(\n this.dataJson,\n [],\n );\n return normalizeDonutGroupData(raw);\n }\n\n private draw(): void {\n const root = this.shadowRoot?.querySelector('.chart-root') as HTMLElement | null;\n if (!root) return;\n\n const items = this.parseData();\n this._empty = items.length === 0;\n if (this._empty) {\n root.replaceChildren();\n return;\n }\n\n const theme = readThemeFromElement(this);\n const themeMode = readCssVar(this, CSS_VARS.mode, 'light') === 'dark' ? 'dark' : 'light';\n const styleId = readCssVar(this, CSS_VARS.styleId, 'default');\n const { width, height, margin } = getDonutGroupDimensions(root, this.scale);\n\n renderDonutGroupChart(root, {\n items,\n width,\n height,\n margin,\n theme,\n themeMode,\n styleId,\n defaultMax: this.max,\n showValue: this.showValue,\n showStatus: this.showStatus,\n showLabel: this.showLabel,\n showLegend: this.showLegend,\n showTooltip: this.showTooltip,\n onHover: this.showTooltip\n ? ({ title, entries, event }) => {\n const rect = this.getBoundingClientRect();\n this._tooltip = {\n x: event.clientX - rect.left,\n y: event.clientY - rect.top,\n title,\n entries,\n };\n }\n : undefined,\n onLeave: this.showTooltip\n ? () => {\n this._tooltip = null;\n }\n : undefined,\n });\n }\n\n override render() {\n return html`\n <div class=\"chart-root\" part=\"chart\" ?hidden=${this._empty}></div>\n ${this._empty ? html`<div class=\"empty\" part=\"empty\">No data</div>` : nothing}\n ${this._tooltip\n ? html`<div\n class=\"tooltip\"\n part=\"tooltip\"\n style=\"left:${this._tooltip.x}px;top:${this._tooltip.y}px\"\n >\n <div class=\"title\">${this._tooltip.title}</div>\n ${this._tooltip.entries.map(\n (entry) => html`<div class=\"row\">\n <span class=\"swatch\" style=\"background:${entry.color}\"></span>\n <span>${entry.label}</span>\n <span class=\"value\">${formatCompact(entry.value)}</span>\n <span class=\"share\">${formatPercent(entry.ratio)}</span>\n </div>`,\n )}\n </div>`\n : nothing}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui9000-donut-group-chart': Ui9000DonutGroupChart;\n }\n}\n\nexport function registerDonutGroupChart(): void {\n if (!customElements.get('ui9000-donut-group-chart')) {\n customElements.define('ui9000-donut-group-chart', Ui9000DonutGroupChart);\n }\n}\n\nregisterDonutGroupChart();\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { Ui9000DonutGroupChart, registerDonutGroupChart, } from './element/ui9000-donut-group-chart.js';
|
|
2
|
-
export { renderDonutGroupChart } from './render/draw.js';
|
|
3
|
-
export { donutArcValues, donutGridLayout, donutRadii, fitLabel, formatCompact, formatPercent, gaugeRatio, normalizeDonutGroupData, resolveMax, type DonutGauge, type DonutGridLayout, type DonutGroupChartData, type DonutHoverEntry, type DonutSlice, type DonutStatus, } from './lib/index.js';
|
|
4
|
-
export { default as donutGroupChartMetadata } from './metadata.json';
|
|
5
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/donut-group-chart/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACL,cAAc,EACd,eAAe,EACf,UAAU,EACV,QAAQ,EACR,aAAa,EACb,aAAa,EACb,UAAU,EACV,uBAAuB,EACvB,UAAU,EACV,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { registerDonutGroupChart } from "./element/ui9000-donut-group-chart.js";
|
|
2
|
-
import { Ui9000DonutGroupChart } from "./element/ui9000-donut-group-chart.js";
|
|
3
|
-
import { renderDonutGroupChart } from "./render/draw.js";
|
|
4
|
-
import { default as default2 } from "./metadata.json.js";
|
|
5
|
-
import { donutArcValues, donutGridLayout, donutRadii, gaugeRatio, resolveMax } from "./lib/domain.js";
|
|
6
|
-
import { fitLabel, formatCompact, formatPercent } from "./lib/format.js";
|
|
7
|
-
import { normalizeDonutGroupData } from "./lib/normalize.js";
|
|
8
|
-
export {
|
|
9
|
-
Ui9000DonutGroupChart,
|
|
10
|
-
donutArcValues,
|
|
11
|
-
donutGridLayout,
|
|
12
|
-
default2 as donutGroupChartMetadata,
|
|
13
|
-
donutRadii,
|
|
14
|
-
fitLabel,
|
|
15
|
-
formatCompact,
|
|
16
|
-
formatPercent,
|
|
17
|
-
gaugeRatio,
|
|
18
|
-
normalizeDonutGroupData,
|
|
19
|
-
registerDonutGroupChart,
|
|
20
|
-
renderDonutGroupChart,
|
|
21
|
-
resolveMax
|
|
22
|
-
};
|
|
23
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { DonutGauge } from './types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Full scale of one gauge — FuseDash `maximalValue`, then the slice total, then
|
|
4
|
-
* the 100 the widget assumes when a row carries neither.
|
|
5
|
-
*/
|
|
6
|
-
export declare function resolveMax(item: DonutGauge, defaultMax?: number): number;
|
|
7
|
-
/** Filled share of a gauge, clamped to the track. */
|
|
8
|
-
export declare function gaugeRatio(value: number, max: number): number;
|
|
9
|
-
/**
|
|
10
|
-
* Arcs of one donut, in draw order. A gauge is the value arc plus the neutral
|
|
11
|
-
* remainder that completes the ring; a breakdown donut is its slices, negatives
|
|
12
|
-
* folded to their magnitude the way `d3-shape`'s pie generator needs them.
|
|
13
|
-
*/
|
|
14
|
-
export declare function donutArcValues(item: DonutGauge, defaultMax?: number): {
|
|
15
|
-
values: number[];
|
|
16
|
-
track: boolean;
|
|
17
|
-
};
|
|
18
|
-
export interface DonutGridLayout {
|
|
19
|
-
columns: number;
|
|
20
|
-
rows: number;
|
|
21
|
-
cellWidth: number;
|
|
22
|
-
cellHeight: number;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Places the donuts. FuseDash lays them out in one flex row; the chat host is
|
|
26
|
-
* far narrower, so cells wrap once they would fall below `minCellWidth` and the
|
|
27
|
-
* columns are then rebalanced so the last row is never left nearly empty.
|
|
28
|
-
*/
|
|
29
|
-
export declare function donutGridLayout(count: number, width: number, height: number, minCellWidth?: number): DonutGridLayout;
|
|
30
|
-
/**
|
|
31
|
-
* Ring geometry for one cell. FuseDash uses `min(w, h) / 2` with a flat 16px
|
|
32
|
-
* band, which collapses on small cells — the band is capped at half the radius
|
|
33
|
-
* so the hole never disappears.
|
|
34
|
-
*/
|
|
35
|
-
export declare function donutRadii(cellWidth: number, cellHeight: number, padding?: number, thickness?: number): {
|
|
36
|
-
outerRadius: number;
|
|
37
|
-
innerRadius: number;
|
|
38
|
-
};
|
|
39
|
-
//# sourceMappingURL=domain.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"domain.d.ts","sourceRoot":"","sources":["../../../../src/components/donut-group-chart/lib/domain.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAc,MAAM,YAAY,CAAC;AAEzD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,GAAE,MAA2B,GAAG,MAAM,CAO5F;AAED,qDAAqD;AACrD,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG;IACrE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;CAChB,CAQA;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,YAAY,GAAE,MAA6B,GAC1C,eAAe,CAajB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,MAA4B,EACrC,SAAS,GAAE,MAA0B,GACpC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAK9C"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { FD } from "../../../utils/fusedash-visual.js";
|
|
2
|
-
function resolveMax(item, defaultMax = FD.donutDefaultMax) {
|
|
3
|
-
var _a;
|
|
4
|
-
if (item.max != null && item.max > 0) return item.max;
|
|
5
|
-
if ((_a = item.slices) == null ? void 0 : _a.length) {
|
|
6
|
-
const total = item.slices.reduce((sum, s) => sum + Math.abs(s.value), 0);
|
|
7
|
-
if (total > 0) return total;
|
|
8
|
-
}
|
|
9
|
-
return defaultMax > 0 ? defaultMax : FD.donutDefaultMax;
|
|
10
|
-
}
|
|
11
|
-
function gaugeRatio(value, max) {
|
|
12
|
-
if (!Number.isFinite(value) || !Number.isFinite(max) || max <= 0) return 0;
|
|
13
|
-
return Math.min(Math.max(value / max, 0), 1);
|
|
14
|
-
}
|
|
15
|
-
function donutArcValues(item, defaultMax) {
|
|
16
|
-
const slices = item.slices ?? [];
|
|
17
|
-
if (slices.length > 1) {
|
|
18
|
-
return { values: slices.map((s) => Math.abs(s.value)), track: false };
|
|
19
|
-
}
|
|
20
|
-
const max = resolveMax(item, defaultMax);
|
|
21
|
-
const filled = Math.min(Math.max(item.value, 0), max);
|
|
22
|
-
return { values: [filled, max - filled], track: true };
|
|
23
|
-
}
|
|
24
|
-
function donutGridLayout(count, width, height, minCellWidth = FD.donutMinCellWidth) {
|
|
25
|
-
if (count <= 0 || width <= 0 || height <= 0) {
|
|
26
|
-
return { columns: 0, rows: 0, cellWidth: 0, cellHeight: 0 };
|
|
27
|
-
}
|
|
28
|
-
const fits = Math.max(1, Math.floor(width / minCellWidth));
|
|
29
|
-
const rows = Math.max(1, Math.ceil(count / Math.min(fits, count)));
|
|
30
|
-
const columns = Math.ceil(count / rows);
|
|
31
|
-
return {
|
|
32
|
-
columns,
|
|
33
|
-
rows,
|
|
34
|
-
cellWidth: width / columns,
|
|
35
|
-
cellHeight: height / rows
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
function donutRadii(cellWidth, cellHeight, padding = FD.donutCellPadding, thickness = FD.donutThickness) {
|
|
39
|
-
const outerRadius = Math.min(cellWidth, cellHeight) / 2 - padding;
|
|
40
|
-
if (outerRadius <= 0) return { outerRadius: 0, innerRadius: 0 };
|
|
41
|
-
const band = Math.max(Math.min(thickness, outerRadius * 0.5), FD.donutMinThickness);
|
|
42
|
-
return { outerRadius, innerRadius: Math.max(outerRadius - band, 0) };
|
|
43
|
-
}
|
|
44
|
-
export {
|
|
45
|
-
donutArcValues,
|
|
46
|
-
donutGridLayout,
|
|
47
|
-
donutRadii,
|
|
48
|
-
gaugeRatio,
|
|
49
|
-
resolveMax
|
|
50
|
-
};
|
|
51
|
-
//# sourceMappingURL=domain.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"domain.js","sources":["../../../../src/components/donut-group-chart/lib/domain.ts"],"sourcesContent":["import { FD } from '../../../utils/fusedash-visual.js';\nimport type { DonutGauge, DonutSlice } from './types.js';\n\n/**\n * Full scale of one gauge — FuseDash `maximalValue`, then the slice total, then\n * the 100 the widget assumes when a row carries neither.\n */\nexport function resolveMax(item: DonutGauge, defaultMax: number = FD.donutDefaultMax): number {\n if (item.max != null && item.max > 0) return item.max;\n if (item.slices?.length) {\n const total = item.slices.reduce((sum, s) => sum + Math.abs(s.value), 0);\n if (total > 0) return total;\n }\n return defaultMax > 0 ? defaultMax : FD.donutDefaultMax;\n}\n\n/** Filled share of a gauge, clamped to the track. */\nexport function gaugeRatio(value: number, max: number): number {\n if (!Number.isFinite(value) || !Number.isFinite(max) || max <= 0) return 0;\n return Math.min(Math.max(value / max, 0), 1);\n}\n\n/**\n * Arcs of one donut, in draw order. A gauge is the value arc plus the neutral\n * remainder that completes the ring; a breakdown donut is its slices, negatives\n * folded to their magnitude the way `d3-shape`'s pie generator needs them.\n */\nexport function donutArcValues(item: DonutGauge, defaultMax?: number): {\n values: number[];\n track: boolean;\n} {\n const slices = item.slices ?? [];\n if (slices.length > 1) {\n return { values: slices.map((s: DonutSlice) => Math.abs(s.value)), track: false };\n }\n const max = resolveMax(item, defaultMax);\n const filled = Math.min(Math.max(item.value, 0), max);\n return { values: [filled, max - filled], track: true };\n}\n\nexport interface DonutGridLayout {\n columns: number;\n rows: number;\n cellWidth: number;\n cellHeight: number;\n}\n\n/**\n * Places the donuts. FuseDash lays them out in one flex row; the chat host is\n * far narrower, so cells wrap once they would fall below `minCellWidth` and the\n * columns are then rebalanced so the last row is never left nearly empty.\n */\nexport function donutGridLayout(\n count: number,\n width: number,\n height: number,\n minCellWidth: number = FD.donutMinCellWidth,\n): DonutGridLayout {\n if (count <= 0 || width <= 0 || height <= 0) {\n return { columns: 0, rows: 0, cellWidth: 0, cellHeight: 0 };\n }\n const fits = Math.max(1, Math.floor(width / minCellWidth));\n const rows = Math.max(1, Math.ceil(count / Math.min(fits, count)));\n const columns = Math.ceil(count / rows);\n return {\n columns,\n rows,\n cellWidth: width / columns,\n cellHeight: height / rows,\n };\n}\n\n/**\n * Ring geometry for one cell. FuseDash uses `min(w, h) / 2` with a flat 16px\n * band, which collapses on small cells — the band is capped at half the radius\n * so the hole never disappears.\n */\nexport function donutRadii(\n cellWidth: number,\n cellHeight: number,\n padding: number = FD.donutCellPadding,\n thickness: number = FD.donutThickness,\n): { outerRadius: number; innerRadius: number } {\n const outerRadius = Math.min(cellWidth, cellHeight) / 2 - padding;\n if (outerRadius <= 0) return { outerRadius: 0, innerRadius: 0 };\n const band = Math.max(Math.min(thickness, outerRadius * 0.5), FD.donutMinThickness);\n return { outerRadius, innerRadius: Math.max(outerRadius - band, 0) };\n}\n"],"names":[],"mappings":";AAOO,SAAS,WAAW,MAAkB,aAAqB,GAAG,iBAAyB;;AAC5F,MAAI,KAAK,OAAO,QAAQ,KAAK,MAAM,UAAU,KAAK;AAClD,OAAI,UAAK,WAAL,mBAAa,QAAQ;AACvB,UAAM,QAAQ,KAAK,OAAO,OAAO,CAAC,KAAK,MAAM,MAAM,KAAK,IAAI,EAAE,KAAK,GAAG,CAAC;AACvE,QAAI,QAAQ,EAAG,QAAO;AAAA,EACxB;AACA,SAAO,aAAa,IAAI,aAAa,GAAG;AAC1C;AAGO,SAAS,WAAW,OAAe,KAAqB;AAC7D,MAAI,CAAC,OAAO,SAAS,KAAK,KAAK,CAAC,OAAO,SAAS,GAAG,KAAK,OAAO,EAAG,QAAO;AACzE,SAAO,KAAK,IAAI,KAAK,IAAI,QAAQ,KAAK,CAAC,GAAG,CAAC;AAC7C;AAOO,SAAS,eAAe,MAAkB,YAG/C;AACA,QAAM,SAAS,KAAK,UAAU,CAAA;AAC9B,MAAI,OAAO,SAAS,GAAG;AACrB,WAAO,EAAE,QAAQ,OAAO,IAAI,CAAC,MAAkB,KAAK,IAAI,EAAE,KAAK,CAAC,GAAG,OAAO,MAAA;AAAA,EAC5E;AACA,QAAM,MAAM,WAAW,MAAM,UAAU;AACvC,QAAM,SAAS,KAAK,IAAI,KAAK,IAAI,KAAK,OAAO,CAAC,GAAG,GAAG;AACpD,SAAO,EAAE,QAAQ,CAAC,QAAQ,MAAM,MAAM,GAAG,OAAO,KAAA;AAClD;AAcO,SAAS,gBACd,OACA,OACA,QACA,eAAuB,GAAG,mBACT;AACjB,MAAI,SAAS,KAAK,SAAS,KAAK,UAAU,GAAG;AAC3C,WAAO,EAAE,SAAS,GAAG,MAAM,GAAG,WAAW,GAAG,YAAY,EAAA;AAAA,EAC1D;AACA,QAAM,OAAO,KAAK,IAAI,GAAG,KAAK,MAAM,QAAQ,YAAY,CAAC;AACzD,QAAM,OAAO,KAAK,IAAI,GAAG,KAAK,KAAK,QAAQ,KAAK,IAAI,MAAM,KAAK,CAAC,CAAC;AACjE,QAAM,UAAU,KAAK,KAAK,QAAQ,IAAI;AACtC,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA,WAAW,QAAQ;AAAA,IACnB,YAAY,SAAS;AAAA,EAAA;AAEzB;AAOO,SAAS,WACd,WACA,YACA,UAAkB,GAAG,kBACrB,YAAoB,GAAG,gBACuB;AAC9C,QAAM,cAAc,KAAK,IAAI,WAAW,UAAU,IAAI,IAAI;AAC1D,MAAI,eAAe,EAAG,QAAO,EAAE,aAAa,GAAG,aAAa,EAAA;AAC5D,QAAM,OAAO,KAAK,IAAI,KAAK,IAAI,WAAW,cAAc,GAAG,GAAG,GAAG,iBAAiB;AAClF,SAAO,EAAE,aAAa,aAAa,KAAK,IAAI,cAAc,MAAM,CAAC,EAAA;AACnE;"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/** Value / tooltip formatting — same rule as the other ported charts. */
|
|
2
|
-
export declare function formatCompact(value: number): string;
|
|
3
|
-
/** Share of the ring, as the tooltip shows it. */
|
|
4
|
-
export declare function formatPercent(ratio: number): string;
|
|
5
|
-
/** Middle-truncate a caption to the characters its cell can actually fit. */
|
|
6
|
-
export declare function fitLabel(label: string, maxChars: number): string;
|
|
7
|
-
//# sourceMappingURL=format.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../src/components/donut-group-chart/lib/format.ts"],"names":[],"mappings":"AAEA,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED,kDAAkD;AAClD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAInD;AAED,6EAA6E;AAC7E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAIhE"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { formatCompactNumber } from "../../../utils/fusedash-visual.js";
|
|
2
|
-
function formatCompact(value) {
|
|
3
|
-
const decimals = Number.isInteger(value) && Math.abs(value) < 1e3 ? 0 : 2;
|
|
4
|
-
return formatCompactNumber(value, decimals);
|
|
5
|
-
}
|
|
6
|
-
function formatPercent(ratio) {
|
|
7
|
-
if (!Number.isFinite(ratio)) return "";
|
|
8
|
-
const pct = ratio * 100;
|
|
9
|
-
return `${pct >= 10 || pct === 0 || Number.isInteger(pct) ? Math.round(pct) : pct.toFixed(1)}%`;
|
|
10
|
-
}
|
|
11
|
-
function fitLabel(label, maxChars) {
|
|
12
|
-
if (maxChars <= 1) return label.slice(0, 1);
|
|
13
|
-
if (label.length <= maxChars) return label;
|
|
14
|
-
return `${label.slice(0, maxChars - 1)}…`;
|
|
15
|
-
}
|
|
16
|
-
export {
|
|
17
|
-
fitLabel,
|
|
18
|
-
formatCompact,
|
|
19
|
-
formatPercent
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=format.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"format.js","sources":["../../../../src/components/donut-group-chart/lib/format.ts"],"sourcesContent":["import { formatCompactNumber } from '../../../utils/fusedash-visual.js';\n\n/** Value / tooltip formatting — same rule as the other ported charts. */\nexport function formatCompact(value: number): string {\n const decimals = Number.isInteger(value) && Math.abs(value) < 1000 ? 0 : 2;\n return formatCompactNumber(value, decimals);\n}\n\n/** Share of the ring, as the tooltip shows it. */\nexport function formatPercent(ratio: number): string {\n if (!Number.isFinite(ratio)) return '';\n const pct = ratio * 100;\n return `${pct >= 10 || pct === 0 || Number.isInteger(pct) ? Math.round(pct) : pct.toFixed(1)}%`;\n}\n\n/** Middle-truncate a caption to the characters its cell can actually fit. */\nexport function fitLabel(label: string, maxChars: number): string {\n if (maxChars <= 1) return label.slice(0, 1);\n if (label.length <= maxChars) return label;\n return `${label.slice(0, maxChars - 1)}…`;\n}\n"],"names":[],"mappings":";AAGO,SAAS,cAAc,OAAuB;AACnD,QAAM,WAAW,OAAO,UAAU,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI,MAAO,IAAI;AACzE,SAAO,oBAAoB,OAAO,QAAQ;AAC5C;AAGO,SAAS,cAAc,OAAuB;AACnD,MAAI,CAAC,OAAO,SAAS,KAAK,EAAG,QAAO;AACpC,QAAM,MAAM,QAAQ;AACpB,SAAO,GAAG,OAAO,MAAM,QAAQ,KAAK,OAAO,UAAU,GAAG,IAAI,KAAK,MAAM,GAAG,IAAI,IAAI,QAAQ,CAAC,CAAC;AAC9F;AAGO,SAAS,SAAS,OAAe,UAA0B;AAChE,MAAI,YAAY,EAAG,QAAO,MAAM,MAAM,GAAG,CAAC;AAC1C,MAAI,MAAM,UAAU,SAAU,QAAO;AACrC,SAAO,GAAG,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC;AACxC;"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export { type DonutGauge, type DonutGroupChartData, type DonutHoverEntry, type DonutSlice, type DonutStatus, } from './types.js';
|
|
2
|
-
export { normalizeDonutGroupData } from './normalize.js';
|
|
3
|
-
export { donutArcValues, donutGridLayout, donutRadii, gaugeRatio, resolveMax, type DonutGridLayout, } from './domain.js';
|
|
4
|
-
export { fitLabel, formatCompact, formatPercent } from './format.js';
|
|
5
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/donut-group-chart/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,WAAW,GACjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EACL,cAAc,EACd,eAAe,EACf,UAAU,EACV,UAAU,EACV,UAAU,EACV,KAAK,eAAe,GACrB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { DataPoint } from '../../../types/index.js';
|
|
2
|
-
import { DonutGauge, DonutGroupChartData } from './types.js';
|
|
3
|
-
/** Loose row shape accepted from chat payloads and FuseDash widget data. */
|
|
4
|
-
type RawRow = Record<string, unknown>;
|
|
5
|
-
/**
|
|
6
|
-
* Normalize chat payloads and FuseDash widget data into one donut per entry.
|
|
7
|
-
*
|
|
8
|
-
* Mirrors how FuseDash `DonutGroupChart` feeds `DonutGroupItem`: a group with a
|
|
9
|
-
* single row is a gauge against `maximalValue`, a group with several rows is a
|
|
10
|
-
* breakdown donut over those rows.
|
|
11
|
-
*/
|
|
12
|
-
export declare function normalizeDonutGroupData(input: DataPoint[] | DonutGauge[] | DonutGroupChartData | RawRow[] | RawRow[][] | null | undefined): DonutGauge[];
|
|
13
|
-
export {};
|
|
14
|
-
//# sourceMappingURL=normalize.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../../src/components/donut-group-chart/lib/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EAGpB,MAAM,YAAY,CAAC;AAEpB,4EAA4E;AAC5E,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AA6FtC;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EACD,SAAS,EAAE,GACX,UAAU,EAAE,GACZ,mBAAmB,GACnB,MAAM,EAAE,GACR,MAAM,EAAE,EAAE,GACV,IAAI,GACJ,SAAS,GACZ,UAAU,EAAE,CAyCd"}
|