@fusedashlabs/widgets 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +72 -0
- package/LICENSE +17 -0
- package/README.md +91 -0
- package/dist/components/area-chart/element/styles.d.ts +2 -0
- package/dist/components/area-chart/element/styles.d.ts.map +1 -0
- package/dist/components/area-chart/element/ui9000-area-chart.d.ts +33 -0
- package/dist/components/area-chart/element/ui9000-area-chart.d.ts.map +1 -0
- package/dist/components/area-chart/element/ui9000-area-chart.js +178 -0
- package/dist/components/area-chart/element/ui9000-area-chart.js.map +1 -0
- package/dist/components/area-chart/index.d.ts +5 -0
- package/dist/components/area-chart/index.d.ts.map +1 -0
- package/dist/components/area-chart/index.js +15 -0
- package/dist/components/area-chart/index.js.map +1 -0
- package/dist/components/area-chart/lib/index.d.ts +3 -0
- package/dist/components/area-chart/lib/index.d.ts.map +1 -0
- package/dist/components/area-chart/lib/normalize.d.ts +5 -0
- package/dist/components/area-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/area-chart/lib/normalize.js +185 -0
- package/dist/components/area-chart/lib/normalize.js.map +1 -0
- package/dist/components/area-chart/lib/types.d.ts +37 -0
- package/dist/components/area-chart/lib/types.d.ts.map +1 -0
- package/dist/components/area-chart/metadata.json.d.ts +37 -0
- package/dist/components/area-chart/metadata.json.js +42 -0
- package/dist/components/area-chart/metadata.json.js.map +1 -0
- package/dist/components/area-chart/render/draw.d.ts +34 -0
- package/dist/components/area-chart/render/draw.d.ts.map +1 -0
- package/dist/components/area-chart/render/draw.js +189 -0
- package/dist/components/area-chart/render/draw.js.map +1 -0
- package/dist/components/area-chart/render/index.d.ts +2 -0
- package/dist/components/area-chart/render/index.d.ts.map +1 -0
- package/dist/components/area-grouped-bar-chart/element/styles.d.ts +2 -0
- package/dist/components/area-grouped-bar-chart/element/styles.d.ts.map +1 -0
- package/dist/components/area-grouped-bar-chart/element/ui9000-area-grouped-bar-chart.d.ts +31 -0
- package/dist/components/area-grouped-bar-chart/element/ui9000-area-grouped-bar-chart.d.ts.map +1 -0
- package/dist/components/area-grouped-bar-chart/element/ui9000-area-grouped-bar-chart.js +187 -0
- package/dist/components/area-grouped-bar-chart/element/ui9000-area-grouped-bar-chart.js.map +1 -0
- package/dist/components/area-grouped-bar-chart/index.d.ts +6 -0
- package/dist/components/area-grouped-bar-chart/index.d.ts.map +1 -0
- package/dist/components/area-grouped-bar-chart/index.js +18 -0
- package/dist/components/area-grouped-bar-chart/index.js.map +1 -0
- package/dist/components/area-grouped-bar-chart/lib/domain.d.ts +4 -0
- package/dist/components/area-grouped-bar-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/area-grouped-bar-chart/lib/domain.js +19 -0
- package/dist/components/area-grouped-bar-chart/lib/domain.js.map +1 -0
- package/dist/components/area-grouped-bar-chart/lib/format.d.ts +5 -0
- package/dist/components/area-grouped-bar-chart/lib/format.d.ts.map +1 -0
- package/dist/components/area-grouped-bar-chart/lib/format.js +14 -0
- package/dist/components/area-grouped-bar-chart/lib/format.js.map +1 -0
- package/dist/components/area-grouped-bar-chart/lib/index.d.ts +3 -0
- package/dist/components/area-grouped-bar-chart/lib/index.d.ts.map +1 -0
- package/dist/components/area-grouped-bar-chart/lib/normalize.d.ts +6 -0
- package/dist/components/area-grouped-bar-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/area-grouped-bar-chart/lib/normalize.js +132 -0
- package/dist/components/area-grouped-bar-chart/lib/normalize.js.map +1 -0
- package/dist/components/area-grouped-bar-chart/lib/types.d.ts +33 -0
- package/dist/components/area-grouped-bar-chart/lib/types.d.ts.map +1 -0
- package/dist/components/area-grouped-bar-chart/metadata.json.d.ts +37 -0
- package/dist/components/area-grouped-bar-chart/metadata.json.js +42 -0
- package/dist/components/area-grouped-bar-chart/metadata.json.js.map +1 -0
- package/dist/components/area-grouped-bar-chart/render/draw.d.ts +33 -0
- package/dist/components/area-grouped-bar-chart/render/draw.d.ts.map +1 -0
- package/dist/components/area-grouped-bar-chart/render/draw.js +219 -0
- package/dist/components/area-grouped-bar-chart/render/draw.js.map +1 -0
- package/dist/components/area-grouped-bar-chart/render/index.d.ts +3 -0
- package/dist/components/area-grouped-bar-chart/render/index.d.ts.map +1 -0
- package/dist/components/bar-chart/element/styles.d.ts +2 -0
- package/dist/components/bar-chart/element/styles.d.ts.map +1 -0
- package/dist/components/bar-chart/element/styles.js +81 -0
- package/dist/components/bar-chart/element/styles.js.map +1 -0
- package/dist/components/bar-chart/element/ui9000-bar-chart.d.ts +39 -0
- package/dist/components/bar-chart/element/ui9000-bar-chart.d.ts.map +1 -0
- package/dist/components/bar-chart/element/ui9000-bar-chart.js +261 -0
- package/dist/components/bar-chart/element/ui9000-bar-chart.js.map +1 -0
- package/dist/components/bar-chart/index.d.ts +5 -0
- package/dist/components/bar-chart/index.d.ts.map +1 -0
- package/dist/components/bar-chart/index.js +27 -0
- package/dist/components/bar-chart/index.js.map +1 -0
- package/dist/components/bar-chart/lib/domain.d.ts +52 -0
- package/dist/components/bar-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/bar-chart/lib/domain.js +105 -0
- package/dist/components/bar-chart/lib/domain.js.map +1 -0
- package/dist/components/bar-chart/lib/format.d.ts +8 -0
- package/dist/components/bar-chart/lib/format.d.ts.map +1 -0
- package/dist/components/bar-chart/lib/format.js +38 -0
- package/dist/components/bar-chart/lib/format.js.map +1 -0
- package/dist/components/bar-chart/lib/index.d.ts +6 -0
- package/dist/components/bar-chart/lib/index.d.ts.map +1 -0
- package/dist/components/bar-chart/lib/layout.d.ts +36 -0
- package/dist/components/bar-chart/lib/layout.d.ts.map +1 -0
- package/dist/components/bar-chart/lib/layout.js +37 -0
- package/dist/components/bar-chart/lib/layout.js.map +1 -0
- package/dist/components/bar-chart/lib/normalize.d.ts +8 -0
- package/dist/components/bar-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/bar-chart/lib/normalize.js +116 -0
- package/dist/components/bar-chart/lib/normalize.js.map +1 -0
- package/dist/components/bar-chart/lib/types.d.ts +35 -0
- package/dist/components/bar-chart/lib/types.d.ts.map +1 -0
- package/dist/components/bar-chart/metadata.json.d.ts +126 -0
- package/dist/components/bar-chart/metadata.json.js +45 -0
- package/dist/components/bar-chart/metadata.json.js.map +1 -0
- package/dist/components/bar-chart/render/draw.d.ts +48 -0
- package/dist/components/bar-chart/render/draw.d.ts.map +1 -0
- package/dist/components/bar-chart/render/draw.js +458 -0
- package/dist/components/bar-chart/render/draw.js.map +1 -0
- package/dist/components/bar-chart/render/index.d.ts +2 -0
- package/dist/components/bar-chart/render/index.d.ts.map +1 -0
- package/dist/components/bar-chart/tests/fixtures.d.ts +53 -0
- package/dist/components/bar-chart/tests/fixtures.d.ts.map +1 -0
- package/dist/components/box-plot-chart/element/styles.d.ts +2 -0
- package/dist/components/box-plot-chart/element/styles.d.ts.map +1 -0
- package/dist/components/box-plot-chart/element/styles.js +69 -0
- package/dist/components/box-plot-chart/element/styles.js.map +1 -0
- package/dist/components/box-plot-chart/element/ui9000-box-plot-chart.d.ts +33 -0
- package/dist/components/box-plot-chart/element/ui9000-box-plot-chart.d.ts.map +1 -0
- package/dist/components/box-plot-chart/element/ui9000-box-plot-chart.js +229 -0
- package/dist/components/box-plot-chart/element/ui9000-box-plot-chart.js.map +1 -0
- package/dist/components/box-plot-chart/index.d.ts +5 -0
- package/dist/components/box-plot-chart/index.d.ts.map +1 -0
- package/dist/components/box-plot-chart/index.js +19 -0
- package/dist/components/box-plot-chart/index.js.map +1 -0
- package/dist/components/box-plot-chart/lib/domain.d.ts +7 -0
- package/dist/components/box-plot-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/box-plot-chart/lib/domain.js +48 -0
- package/dist/components/box-plot-chart/lib/domain.js.map +1 -0
- package/dist/components/box-plot-chart/lib/format.d.ts +2 -0
- package/dist/components/box-plot-chart/lib/format.d.ts.map +1 -0
- package/dist/components/box-plot-chart/lib/format.js +12 -0
- package/dist/components/box-plot-chart/lib/format.js.map +1 -0
- package/dist/components/box-plot-chart/lib/index.d.ts +6 -0
- package/dist/components/box-plot-chart/lib/index.d.ts.map +1 -0
- package/dist/components/box-plot-chart/lib/layout.d.ts +12 -0
- package/dist/components/box-plot-chart/lib/layout.d.ts.map +1 -0
- package/dist/components/box-plot-chart/lib/layout.js +22 -0
- package/dist/components/box-plot-chart/lib/layout.js.map +1 -0
- package/dist/components/box-plot-chart/lib/normalize.d.ts +10 -0
- package/dist/components/box-plot-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/box-plot-chart/lib/normalize.js +155 -0
- package/dist/components/box-plot-chart/lib/normalize.js.map +1 -0
- package/dist/components/box-plot-chart/lib/types.d.ts +50 -0
- package/dist/components/box-plot-chart/lib/types.d.ts.map +1 -0
- package/dist/components/box-plot-chart/metadata.json.d.ts +75 -0
- package/dist/components/box-plot-chart/metadata.json.js +42 -0
- package/dist/components/box-plot-chart/metadata.json.js.map +1 -0
- package/dist/components/box-plot-chart/render/draw.d.ts +32 -0
- package/dist/components/box-plot-chart/render/draw.d.ts.map +1 -0
- package/dist/components/box-plot-chart/render/draw.js +281 -0
- package/dist/components/box-plot-chart/render/draw.js.map +1 -0
- package/dist/components/box-plot-chart/render/index.d.ts +2 -0
- package/dist/components/box-plot-chart/render/index.d.ts.map +1 -0
- package/dist/components/bubble-chart/element/styles.d.ts +2 -0
- package/dist/components/bubble-chart/element/styles.d.ts.map +1 -0
- package/dist/components/bubble-chart/element/styles.js +48 -0
- package/dist/components/bubble-chart/element/styles.js.map +1 -0
- package/dist/components/bubble-chart/element/ui9000-bubble-chart.d.ts +29 -0
- package/dist/components/bubble-chart/element/ui9000-bubble-chart.d.ts.map +1 -0
- package/dist/components/bubble-chart/element/ui9000-bubble-chart.js +171 -0
- package/dist/components/bubble-chart/element/ui9000-bubble-chart.js.map +1 -0
- package/dist/components/bubble-chart/index.d.ts +5 -0
- package/dist/components/bubble-chart/index.d.ts.map +1 -0
- package/dist/components/bubble-chart/index.js +18 -0
- package/dist/components/bubble-chart/index.js.map +1 -0
- package/dist/components/bubble-chart/lib/domain.d.ts +4 -0
- package/dist/components/bubble-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/bubble-chart/lib/domain.js +21 -0
- package/dist/components/bubble-chart/lib/domain.js.map +1 -0
- package/dist/components/bubble-chart/lib/index.d.ts +3 -0
- package/dist/components/bubble-chart/lib/index.d.ts.map +1 -0
- package/dist/components/bubble-chart/lib/normalize.d.ts +7 -0
- package/dist/components/bubble-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/bubble-chart/lib/normalize.js +131 -0
- package/dist/components/bubble-chart/lib/normalize.js.map +1 -0
- package/dist/components/bubble-chart/lib/types.d.ts +33 -0
- package/dist/components/bubble-chart/lib/types.d.ts.map +1 -0
- package/dist/components/bubble-chart/metadata.json.d.ts +54 -0
- package/dist/components/bubble-chart/metadata.json.js +42 -0
- package/dist/components/bubble-chart/metadata.json.js.map +1 -0
- package/dist/components/bubble-chart/render/draw.d.ts +24 -0
- package/dist/components/bubble-chart/render/draw.d.ts.map +1 -0
- package/dist/components/bubble-chart/render/draw.js +127 -0
- package/dist/components/bubble-chart/render/draw.js.map +1 -0
- package/dist/components/bubble-chart/render/index.d.ts +2 -0
- package/dist/components/bubble-chart/render/index.d.ts.map +1 -0
- package/dist/components/chart-renderer/element/styles.d.ts +2 -0
- package/dist/components/chart-renderer/element/styles.d.ts.map +1 -0
- package/dist/components/chart-renderer/element/styles.js +39 -0
- package/dist/components/chart-renderer/element/styles.js.map +1 -0
- package/dist/components/chart-renderer/element/ui9000-chart-renderer.d.ts +21 -0
- package/dist/components/chart-renderer/element/ui9000-chart-renderer.d.ts.map +1 -0
- package/dist/components/chart-renderer/element/ui9000-chart-renderer.js +153 -0
- package/dist/components/chart-renderer/element/ui9000-chart-renderer.js.map +1 -0
- package/dist/components/chart-renderer/index.d.ts +4 -0
- package/dist/components/chart-renderer/index.d.ts.map +1 -0
- package/dist/components/chart-renderer/index.js +17 -0
- package/dist/components/chart-renderer/index.js.map +1 -0
- package/dist/components/chart-renderer/lib/index.d.ts +4 -0
- package/dist/components/chart-renderer/lib/index.d.ts.map +1 -0
- package/dist/components/chart-renderer/lib/registry.d.ts +9 -0
- package/dist/components/chart-renderer/lib/registry.d.ts.map +1 -0
- package/dist/components/chart-renderer/lib/registry.js +122 -0
- package/dist/components/chart-renderer/lib/registry.js.map +1 -0
- package/dist/components/chart-renderer/lib/resolve-chart-type.d.ts +3 -0
- package/dist/components/chart-renderer/lib/resolve-chart-type.d.ts.map +1 -0
- package/dist/components/chart-renderer/lib/resolve-chart-type.js +16 -0
- package/dist/components/chart-renderer/lib/resolve-chart-type.js.map +1 -0
- package/dist/components/chart-renderer/lib/types.d.ts +14 -0
- package/dist/components/chart-renderer/lib/types.d.ts.map +1 -0
- package/dist/components/chart-renderer/metadata.json.d.ts +44 -0
- package/dist/components/chart-renderer/metadata.json.js +42 -0
- package/dist/components/chart-renderer/metadata.json.js.map +1 -0
- package/dist/components/donut-chart/element/styles.d.ts +2 -0
- package/dist/components/donut-chart/element/styles.d.ts.map +1 -0
- package/dist/components/donut-chart/element/ui9000-donut-chart.d.ts +29 -0
- package/dist/components/donut-chart/element/ui9000-donut-chart.d.ts.map +1 -0
- package/dist/components/donut-chart/element/ui9000-donut-chart.js +175 -0
- package/dist/components/donut-chart/element/ui9000-donut-chart.js.map +1 -0
- package/dist/components/donut-chart/index.d.ts +5 -0
- package/dist/components/donut-chart/index.d.ts.map +1 -0
- package/dist/components/donut-chart/index.js +20 -0
- package/dist/components/donut-chart/index.js.map +1 -0
- package/dist/components/donut-chart/lib/domain.d.ts +5 -0
- package/dist/components/donut-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/donut-chart/lib/domain.js +16 -0
- package/dist/components/donut-chart/lib/domain.js.map +1 -0
- package/dist/components/donut-chart/lib/index.d.ts +3 -0
- package/dist/components/donut-chart/lib/index.d.ts.map +1 -0
- package/dist/components/donut-chart/metadata.json.d.ts +60 -0
- package/dist/components/donut-chart/metadata.json.js +42 -0
- package/dist/components/donut-chart/metadata.json.js.map +1 -0
- package/dist/components/donut-group-chart/element/styles.d.ts +2 -0
- package/dist/components/donut-group-chart/element/styles.d.ts.map +1 -0
- package/dist/components/donut-group-chart/element/styles.js +66 -0
- package/dist/components/donut-group-chart/element/styles.js.map +1 -0
- package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.d.ts +34 -0
- package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.d.ts.map +1 -0
- package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.js +169 -0
- package/dist/components/donut-group-chart/element/ui9000-donut-group-chart.js.map +1 -0
- package/dist/components/donut-group-chart/index.d.ts +5 -0
- package/dist/components/donut-group-chart/index.d.ts.map +1 -0
- package/dist/components/donut-group-chart/index.js +23 -0
- package/dist/components/donut-group-chart/index.js.map +1 -0
- package/dist/components/donut-group-chart/lib/domain.d.ts +39 -0
- package/dist/components/donut-group-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/donut-group-chart/lib/domain.js +51 -0
- package/dist/components/donut-group-chart/lib/domain.js.map +1 -0
- package/dist/components/donut-group-chart/lib/format.d.ts +7 -0
- package/dist/components/donut-group-chart/lib/format.d.ts.map +1 -0
- package/dist/components/donut-group-chart/lib/format.js +21 -0
- package/dist/components/donut-group-chart/lib/format.js.map +1 -0
- package/dist/components/donut-group-chart/lib/index.d.ts +5 -0
- package/dist/components/donut-group-chart/lib/index.d.ts.map +1 -0
- package/dist/components/donut-group-chart/lib/normalize.d.ts +14 -0
- package/dist/components/donut-group-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/donut-group-chart/lib/normalize.js +98 -0
- package/dist/components/donut-group-chart/lib/normalize.js.map +1 -0
- package/dist/components/donut-group-chart/lib/types.d.ts +49 -0
- package/dist/components/donut-group-chart/lib/types.d.ts.map +1 -0
- package/dist/components/donut-group-chart/metadata.json.d.ts +113 -0
- package/dist/components/donut-group-chart/metadata.json.js +45 -0
- package/dist/components/donut-group-chart/metadata.json.js.map +1 -0
- package/dist/components/donut-group-chart/render/draw.d.ts +44 -0
- package/dist/components/donut-group-chart/render/draw.d.ts.map +1 -0
- package/dist/components/donut-group-chart/render/draw.js +194 -0
- package/dist/components/donut-group-chart/render/draw.js.map +1 -0
- package/dist/components/donut-group-chart/render/index.d.ts +2 -0
- package/dist/components/donut-group-chart/render/index.d.ts.map +1 -0
- package/dist/components/donut-group-chart/tests/fixtures.d.ts +33 -0
- package/dist/components/donut-group-chart/tests/fixtures.d.ts.map +1 -0
- package/dist/components/histogram-chart/element/styles.d.ts +2 -0
- package/dist/components/histogram-chart/element/styles.d.ts.map +1 -0
- package/dist/components/histogram-chart/element/styles.js +47 -0
- package/dist/components/histogram-chart/element/styles.js.map +1 -0
- package/dist/components/histogram-chart/element/ui9000-histogram-chart.d.ts +31 -0
- package/dist/components/histogram-chart/element/ui9000-histogram-chart.d.ts.map +1 -0
- package/dist/components/histogram-chart/element/ui9000-histogram-chart.js +164 -0
- package/dist/components/histogram-chart/element/ui9000-histogram-chart.js.map +1 -0
- package/dist/components/histogram-chart/index.d.ts +5 -0
- package/dist/components/histogram-chart/index.d.ts.map +1 -0
- package/dist/components/histogram-chart/index.js +19 -0
- package/dist/components/histogram-chart/index.js.map +1 -0
- package/dist/components/histogram-chart/lib/domain.d.ts +6 -0
- package/dist/components/histogram-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/histogram-chart/lib/domain.js +16 -0
- package/dist/components/histogram-chart/lib/domain.js.map +1 -0
- package/dist/components/histogram-chart/lib/format.d.ts +3 -0
- package/dist/components/histogram-chart/lib/format.d.ts.map +1 -0
- package/dist/components/histogram-chart/lib/format.js +18 -0
- package/dist/components/histogram-chart/lib/format.js.map +1 -0
- package/dist/components/histogram-chart/lib/index.d.ts +5 -0
- package/dist/components/histogram-chart/lib/index.d.ts.map +1 -0
- package/dist/components/histogram-chart/lib/normalize.d.ts +4 -0
- package/dist/components/histogram-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/histogram-chart/lib/normalize.js +223 -0
- package/dist/components/histogram-chart/lib/normalize.js.map +1 -0
- package/dist/components/histogram-chart/lib/types.d.ts +58 -0
- package/dist/components/histogram-chart/lib/types.d.ts.map +1 -0
- package/dist/components/histogram-chart/metadata.json.d.ts +109 -0
- package/dist/components/histogram-chart/metadata.json.js +42 -0
- package/dist/components/histogram-chart/metadata.json.js.map +1 -0
- package/dist/components/histogram-chart/render/draw.d.ts +31 -0
- package/dist/components/histogram-chart/render/draw.d.ts.map +1 -0
- package/dist/components/histogram-chart/render/draw.js +132 -0
- package/dist/components/histogram-chart/render/draw.js.map +1 -0
- package/dist/components/histogram-chart/render/index.d.ts +2 -0
- package/dist/components/histogram-chart/render/index.d.ts.map +1 -0
- package/dist/components/kpi-widget/element/styles.d.ts +2 -0
- package/dist/components/kpi-widget/element/styles.d.ts.map +1 -0
- package/dist/components/kpi-widget/element/styles.js +147 -0
- package/dist/components/kpi-widget/element/styles.js.map +1 -0
- package/dist/components/kpi-widget/element/ui9000-kpi-widget.d.ts +25 -0
- package/dist/components/kpi-widget/element/ui9000-kpi-widget.d.ts.map +1 -0
- package/dist/components/kpi-widget/element/ui9000-kpi-widget.js +123 -0
- package/dist/components/kpi-widget/element/ui9000-kpi-widget.js.map +1 -0
- package/dist/components/kpi-widget/index.d.ts +4 -0
- package/dist/components/kpi-widget/index.d.ts.map +1 -0
- package/dist/components/kpi-widget/index.js +19 -0
- package/dist/components/kpi-widget/index.js.map +1 -0
- package/dist/components/kpi-widget/lib/extract.d.ts +4 -0
- package/dist/components/kpi-widget/lib/extract.d.ts.map +1 -0
- package/dist/components/kpi-widget/lib/extract.js +83 -0
- package/dist/components/kpi-widget/lib/extract.js.map +1 -0
- package/dist/components/kpi-widget/lib/format.d.ts +3 -0
- package/dist/components/kpi-widget/lib/format.d.ts.map +1 -0
- package/dist/components/kpi-widget/lib/format.js +24 -0
- package/dist/components/kpi-widget/lib/format.js.map +1 -0
- package/dist/components/kpi-widget/lib/grid.d.ts +6 -0
- package/dist/components/kpi-widget/lib/grid.d.ts.map +1 -0
- package/dist/components/kpi-widget/lib/grid.js +38 -0
- package/dist/components/kpi-widget/lib/grid.js.map +1 -0
- package/dist/components/kpi-widget/lib/index.d.ts +6 -0
- package/dist/components/kpi-widget/lib/index.d.ts.map +1 -0
- package/dist/components/kpi-widget/lib/normalize.d.ts +4 -0
- package/dist/components/kpi-widget/lib/normalize.d.ts.map +1 -0
- package/dist/components/kpi-widget/lib/normalize.js +34 -0
- package/dist/components/kpi-widget/lib/normalize.js.map +1 -0
- package/dist/components/kpi-widget/lib/types.d.ts +36 -0
- package/dist/components/kpi-widget/lib/types.d.ts.map +1 -0
- package/dist/components/kpi-widget/metadata.json.d.ts +55 -0
- package/dist/components/kpi-widget/metadata.json.js +42 -0
- package/dist/components/kpi-widget/metadata.json.js.map +1 -0
- package/dist/components/line-chart/element/styles.d.ts +2 -0
- package/dist/components/line-chart/element/styles.d.ts.map +1 -0
- package/dist/components/line-chart/element/styles.js +47 -0
- package/dist/components/line-chart/element/styles.js.map +1 -0
- package/dist/components/line-chart/element/ui9000-line-chart.d.ts +38 -0
- package/dist/components/line-chart/element/ui9000-line-chart.d.ts.map +1 -0
- package/dist/components/line-chart/element/ui9000-line-chart.js +192 -0
- package/dist/components/line-chart/element/ui9000-line-chart.js.map +1 -0
- package/dist/components/line-chart/index.d.ts +5 -0
- package/dist/components/line-chart/index.d.ts.map +1 -0
- package/dist/components/line-chart/index.js +18 -0
- package/dist/components/line-chart/index.js.map +1 -0
- package/dist/components/line-chart/lib/domain.d.ts +4 -0
- package/dist/components/line-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/line-chart/lib/domain.js +41 -0
- package/dist/components/line-chart/lib/domain.js.map +1 -0
- package/dist/components/line-chart/lib/format.d.ts +2 -0
- package/dist/components/line-chart/lib/format.d.ts.map +1 -0
- package/dist/components/line-chart/lib/format.js +12 -0
- package/dist/components/line-chart/lib/format.js.map +1 -0
- package/dist/components/line-chart/lib/index.d.ts +5 -0
- package/dist/components/line-chart/lib/index.d.ts.map +1 -0
- package/dist/components/line-chart/lib/normalize.d.ts +6 -0
- package/dist/components/line-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/line-chart/lib/normalize.js +97 -0
- package/dist/components/line-chart/lib/normalize.js.map +1 -0
- package/dist/components/line-chart/lib/types.d.ts +21 -0
- package/dist/components/line-chart/lib/types.d.ts.map +1 -0
- package/dist/components/line-chart/metadata.json.d.ts +98 -0
- package/dist/components/line-chart/metadata.json.js +42 -0
- package/dist/components/line-chart/metadata.json.js.map +1 -0
- package/dist/components/line-chart/render/draw.d.ts +42 -0
- package/dist/components/line-chart/render/draw.d.ts.map +1 -0
- package/dist/components/line-chart/render/draw.js +175 -0
- package/dist/components/line-chart/render/draw.js.map +1 -0
- package/dist/components/line-chart/render/index.d.ts +2 -0
- package/dist/components/line-chart/render/index.d.ts.map +1 -0
- package/dist/components/lollipop/element/styles.d.ts +2 -0
- package/dist/components/lollipop/element/styles.d.ts.map +1 -0
- package/dist/components/lollipop/element/styles.js +47 -0
- package/dist/components/lollipop/element/styles.js.map +1 -0
- package/dist/components/lollipop/element/ui9000-lollipop.d.ts +36 -0
- package/dist/components/lollipop/element/ui9000-lollipop.d.ts.map +1 -0
- package/dist/components/lollipop/element/ui9000-lollipop.js +188 -0
- package/dist/components/lollipop/element/ui9000-lollipop.js.map +1 -0
- package/dist/components/lollipop/index.d.ts +5 -0
- package/dist/components/lollipop/index.d.ts.map +1 -0
- package/dist/components/lollipop/index.js +18 -0
- package/dist/components/lollipop/index.js.map +1 -0
- package/dist/components/lollipop/lib/domain.d.ts +4 -0
- package/dist/components/lollipop/lib/domain.d.ts.map +1 -0
- package/dist/components/lollipop/lib/domain.js +43 -0
- package/dist/components/lollipop/lib/domain.js.map +1 -0
- package/dist/components/lollipop/lib/format.d.ts +2 -0
- package/dist/components/lollipop/lib/format.d.ts.map +1 -0
- package/dist/components/lollipop/lib/format.js +12 -0
- package/dist/components/lollipop/lib/format.js.map +1 -0
- package/dist/components/lollipop/lib/index.d.ts +5 -0
- package/dist/components/lollipop/lib/index.d.ts.map +1 -0
- package/dist/components/lollipop/lib/normalize.d.ts +6 -0
- package/dist/components/lollipop/lib/normalize.d.ts.map +1 -0
- package/dist/components/lollipop/lib/normalize.js +107 -0
- package/dist/components/lollipop/lib/normalize.js.map +1 -0
- package/dist/components/lollipop/lib/types.d.ts +17 -0
- package/dist/components/lollipop/lib/types.d.ts.map +1 -0
- package/dist/components/lollipop/metadata.json.d.ts +97 -0
- package/dist/components/lollipop/metadata.json.js +42 -0
- package/dist/components/lollipop/metadata.json.js.map +1 -0
- package/dist/components/lollipop/render/draw.d.ts +37 -0
- package/dist/components/lollipop/render/draw.d.ts.map +1 -0
- package/dist/components/lollipop/render/draw.js +207 -0
- package/dist/components/lollipop/render/draw.js.map +1 -0
- package/dist/components/lollipop/render/index.d.ts +2 -0
- package/dist/components/lollipop/render/index.d.ts.map +1 -0
- package/dist/components/pie-chart/element/styles.d.ts +2 -0
- package/dist/components/pie-chart/element/styles.d.ts.map +1 -0
- package/dist/components/pie-chart/element/styles.js +49 -0
- package/dist/components/pie-chart/element/styles.js.map +1 -0
- package/dist/components/pie-chart/element/ui9000-pie-chart.d.ts +31 -0
- package/dist/components/pie-chart/element/ui9000-pie-chart.d.ts.map +1 -0
- package/dist/components/pie-chart/element/ui9000-pie-chart.js +175 -0
- package/dist/components/pie-chart/element/ui9000-pie-chart.js.map +1 -0
- package/dist/components/pie-chart/index.d.ts +5 -0
- package/dist/components/pie-chart/index.d.ts.map +1 -0
- package/dist/components/pie-chart/index.js +17 -0
- package/dist/components/pie-chart/index.js.map +1 -0
- package/dist/components/pie-chart/lib/format.d.ts +6 -0
- package/dist/components/pie-chart/lib/format.d.ts.map +1 -0
- package/dist/components/pie-chart/lib/format.js +12 -0
- package/dist/components/pie-chart/lib/format.js.map +1 -0
- package/dist/components/pie-chart/lib/index.d.ts +4 -0
- package/dist/components/pie-chart/lib/index.d.ts.map +1 -0
- package/dist/components/pie-chart/lib/normalize.d.ts +6 -0
- package/dist/components/pie-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/pie-chart/lib/normalize.js +100 -0
- package/dist/components/pie-chart/lib/normalize.js.map +1 -0
- package/dist/components/pie-chart/lib/types.d.ts +26 -0
- package/dist/components/pie-chart/lib/types.d.ts.map +1 -0
- package/dist/components/pie-chart/metadata.json.d.ts +66 -0
- package/dist/components/pie-chart/metadata.json.js +42 -0
- package/dist/components/pie-chart/metadata.json.js.map +1 -0
- package/dist/components/pie-chart/render/draw.d.ts +24 -0
- package/dist/components/pie-chart/render/draw.d.ts.map +1 -0
- package/dist/components/pie-chart/render/draw.js +60 -0
- package/dist/components/pie-chart/render/draw.js.map +1 -0
- package/dist/components/pie-chart/render/index.d.ts +2 -0
- package/dist/components/pie-chart/render/index.d.ts.map +1 -0
- package/dist/components/punchcard-chart/element/styles.d.ts +2 -0
- package/dist/components/punchcard-chart/element/styles.d.ts.map +1 -0
- package/dist/components/punchcard-chart/element/styles.js +47 -0
- package/dist/components/punchcard-chart/element/styles.js.map +1 -0
- package/dist/components/punchcard-chart/element/ui9000-punchcard-chart.d.ts +29 -0
- package/dist/components/punchcard-chart/element/ui9000-punchcard-chart.d.ts.map +1 -0
- package/dist/components/punchcard-chart/element/ui9000-punchcard-chart.js +149 -0
- package/dist/components/punchcard-chart/element/ui9000-punchcard-chart.js.map +1 -0
- package/dist/components/punchcard-chart/index.d.ts +5 -0
- package/dist/components/punchcard-chart/index.d.ts.map +1 -0
- package/dist/components/punchcard-chart/index.js +18 -0
- package/dist/components/punchcard-chart/index.js.map +1 -0
- package/dist/components/punchcard-chart/lib/domain.d.ts +4 -0
- package/dist/components/punchcard-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/punchcard-chart/lib/domain.js +29 -0
- package/dist/components/punchcard-chart/lib/domain.js.map +1 -0
- package/dist/components/punchcard-chart/lib/format.d.ts +2 -0
- package/dist/components/punchcard-chart/lib/format.d.ts.map +1 -0
- package/dist/components/punchcard-chart/lib/format.js +12 -0
- package/dist/components/punchcard-chart/lib/format.js.map +1 -0
- package/dist/components/punchcard-chart/lib/index.d.ts +5 -0
- package/dist/components/punchcard-chart/lib/index.d.ts.map +1 -0
- package/dist/components/punchcard-chart/lib/normalize.d.ts +5 -0
- package/dist/components/punchcard-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/punchcard-chart/lib/normalize.js +84 -0
- package/dist/components/punchcard-chart/lib/normalize.js.map +1 -0
- package/dist/components/punchcard-chart/lib/types.d.ts +18 -0
- package/dist/components/punchcard-chart/lib/types.d.ts.map +1 -0
- package/dist/components/punchcard-chart/metadata.json.d.ts +108 -0
- package/dist/components/punchcard-chart/metadata.json.js +42 -0
- package/dist/components/punchcard-chart/metadata.json.js.map +1 -0
- package/dist/components/punchcard-chart/render/draw.d.ts +28 -0
- package/dist/components/punchcard-chart/render/draw.d.ts.map +1 -0
- package/dist/components/punchcard-chart/render/draw.js +146 -0
- package/dist/components/punchcard-chart/render/draw.js.map +1 -0
- package/dist/components/punchcard-chart/render/index.d.ts +2 -0
- package/dist/components/punchcard-chart/render/index.d.ts.map +1 -0
- package/dist/components/radar-chart/element/styles.d.ts +2 -0
- package/dist/components/radar-chart/element/styles.d.ts.map +1 -0
- package/dist/components/radar-chart/element/styles.js +46 -0
- package/dist/components/radar-chart/element/styles.js.map +1 -0
- package/dist/components/radar-chart/element/ui9000-radar-chart.d.ts +30 -0
- package/dist/components/radar-chart/element/ui9000-radar-chart.d.ts.map +1 -0
- package/dist/components/radar-chart/element/ui9000-radar-chart.js +168 -0
- package/dist/components/radar-chart/element/ui9000-radar-chart.js.map +1 -0
- package/dist/components/radar-chart/index.d.ts +5 -0
- package/dist/components/radar-chart/index.d.ts.map +1 -0
- package/dist/components/radar-chart/index.js +21 -0
- package/dist/components/radar-chart/index.js.map +1 -0
- package/dist/components/radar-chart/lib/domain.d.ts +14 -0
- package/dist/components/radar-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/radar-chart/lib/domain.js +40 -0
- package/dist/components/radar-chart/lib/domain.js.map +1 -0
- package/dist/components/radar-chart/lib/format.d.ts +7 -0
- package/dist/components/radar-chart/lib/format.d.ts.map +1 -0
- package/dist/components/radar-chart/lib/format.js +18 -0
- package/dist/components/radar-chart/lib/format.js.map +1 -0
- package/dist/components/radar-chart/lib/index.d.ts +5 -0
- package/dist/components/radar-chart/lib/index.d.ts.map +1 -0
- package/dist/components/radar-chart/lib/normalize.d.ts +8 -0
- package/dist/components/radar-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/radar-chart/lib/normalize.js +183 -0
- package/dist/components/radar-chart/lib/normalize.js.map +1 -0
- package/dist/components/radar-chart/lib/types.d.ts +47 -0
- package/dist/components/radar-chart/lib/types.d.ts.map +1 -0
- package/dist/components/radar-chart/metadata.json.d.ts +94 -0
- package/dist/components/radar-chart/metadata.json.js +42 -0
- package/dist/components/radar-chart/metadata.json.js.map +1 -0
- package/dist/components/radar-chart/render/draw.d.ts +31 -0
- package/dist/components/radar-chart/render/draw.d.ts.map +1 -0
- package/dist/components/radar-chart/render/draw.js +174 -0
- package/dist/components/radar-chart/render/draw.js.map +1 -0
- package/dist/components/radar-chart/render/index.d.ts +3 -0
- package/dist/components/radar-chart/render/index.d.ts.map +1 -0
- package/dist/components/sankey-chart/element/styles.d.ts +2 -0
- package/dist/components/sankey-chart/element/styles.d.ts.map +1 -0
- package/dist/components/sankey-chart/element/styles.js +83 -0
- package/dist/components/sankey-chart/element/styles.js.map +1 -0
- package/dist/components/sankey-chart/element/ui9000-sankey-chart.d.ts +32 -0
- package/dist/components/sankey-chart/element/ui9000-sankey-chart.d.ts.map +1 -0
- package/dist/components/sankey-chart/element/ui9000-sankey-chart.js +186 -0
- package/dist/components/sankey-chart/element/ui9000-sankey-chart.js.map +1 -0
- package/dist/components/sankey-chart/index.d.ts +5 -0
- package/dist/components/sankey-chart/index.d.ts.map +1 -0
- package/dist/components/sankey-chart/index.js +23 -0
- package/dist/components/sankey-chart/index.js.map +1 -0
- package/dist/components/sankey-chart/lib/domain.d.ts +14 -0
- package/dist/components/sankey-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/sankey-chart/lib/domain.js +34 -0
- package/dist/components/sankey-chart/lib/domain.js.map +1 -0
- package/dist/components/sankey-chart/lib/format.d.ts +8 -0
- package/dist/components/sankey-chart/lib/format.d.ts.map +1 -0
- package/dist/components/sankey-chart/lib/format.js +20 -0
- package/dist/components/sankey-chart/lib/format.js.map +1 -0
- package/dist/components/sankey-chart/lib/index.d.ts +5 -0
- package/dist/components/sankey-chart/lib/index.d.ts.map +1 -0
- package/dist/components/sankey-chart/lib/normalize.d.ts +9 -0
- package/dist/components/sankey-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/sankey-chart/lib/normalize.js +158 -0
- package/dist/components/sankey-chart/lib/normalize.js.map +1 -0
- package/dist/components/sankey-chart/lib/types.d.ts +58 -0
- package/dist/components/sankey-chart/lib/types.d.ts.map +1 -0
- package/dist/components/sankey-chart/metadata.json.d.ts +131 -0
- package/dist/components/sankey-chart/metadata.json.js +42 -0
- package/dist/components/sankey-chart/metadata.json.js.map +1 -0
- package/dist/components/sankey-chart/render/draw.d.ts +30 -0
- package/dist/components/sankey-chart/render/draw.d.ts.map +1 -0
- package/dist/components/sankey-chart/render/draw.js +149 -0
- package/dist/components/sankey-chart/render/draw.js.map +1 -0
- package/dist/components/sankey-chart/render/index.d.ts +2 -0
- package/dist/components/sankey-chart/render/index.d.ts.map +1 -0
- package/dist/components/scatter-plot-chart/element/styles.d.ts +2 -0
- package/dist/components/scatter-plot-chart/element/styles.d.ts.map +1 -0
- package/dist/components/scatter-plot-chart/element/styles.js +48 -0
- package/dist/components/scatter-plot-chart/element/styles.js.map +1 -0
- package/dist/components/scatter-plot-chart/element/ui9000-scatter-plot.d.ts +30 -0
- package/dist/components/scatter-plot-chart/element/ui9000-scatter-plot.d.ts.map +1 -0
- package/dist/components/scatter-plot-chart/element/ui9000-scatter-plot.js +175 -0
- package/dist/components/scatter-plot-chart/element/ui9000-scatter-plot.js.map +1 -0
- package/dist/components/scatter-plot-chart/index.d.ts +5 -0
- package/dist/components/scatter-plot-chart/index.d.ts.map +1 -0
- package/dist/components/scatter-plot-chart/index.js +15 -0
- package/dist/components/scatter-plot-chart/index.js.map +1 -0
- package/dist/components/scatter-plot-chart/lib/domain.d.ts +3 -0
- package/dist/components/scatter-plot-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/scatter-plot-chart/lib/domain.js +13 -0
- package/dist/components/scatter-plot-chart/lib/domain.js.map +1 -0
- package/dist/components/scatter-plot-chart/lib/index.d.ts +4 -0
- package/dist/components/scatter-plot-chart/lib/index.d.ts.map +1 -0
- package/dist/components/scatter-plot-chart/lib/normalize.d.ts +4 -0
- package/dist/components/scatter-plot-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/scatter-plot-chart/lib/normalize.js +123 -0
- package/dist/components/scatter-plot-chart/lib/normalize.js.map +1 -0
- package/dist/components/scatter-plot-chart/lib/types.d.ts +34 -0
- package/dist/components/scatter-plot-chart/lib/types.d.ts.map +1 -0
- package/dist/components/scatter-plot-chart/metadata.json.d.ts +55 -0
- package/dist/components/scatter-plot-chart/metadata.json.js +42 -0
- package/dist/components/scatter-plot-chart/metadata.json.js.map +1 -0
- package/dist/components/scatter-plot-chart/render/draw.d.ts +32 -0
- package/dist/components/scatter-plot-chart/render/draw.d.ts.map +1 -0
- package/dist/components/scatter-plot-chart/render/draw.js +117 -0
- package/dist/components/scatter-plot-chart/render/draw.js.map +1 -0
- package/dist/components/scatter-plot-chart/render/index.d.ts +2 -0
- package/dist/components/scatter-plot-chart/render/index.d.ts.map +1 -0
- package/dist/components/scatter-sparkline-chart/element/ui9000-scatter-sparkline-chart.d.ts +31 -0
- package/dist/components/scatter-sparkline-chart/element/ui9000-scatter-sparkline-chart.d.ts.map +1 -0
- package/dist/components/scatter-sparkline-chart/element/ui9000-scatter-sparkline-chart.js +221 -0
- package/dist/components/scatter-sparkline-chart/element/ui9000-scatter-sparkline-chart.js.map +1 -0
- package/dist/components/scatter-sparkline-chart/index.d.ts +5 -0
- package/dist/components/scatter-sparkline-chart/index.d.ts.map +1 -0
- package/dist/components/scatter-sparkline-chart/index.js +15 -0
- package/dist/components/scatter-sparkline-chart/index.js.map +1 -0
- package/dist/components/scatter-sparkline-chart/lib/domain.d.ts +5 -0
- package/dist/components/scatter-sparkline-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/scatter-sparkline-chart/lib/domain.js +20 -0
- package/dist/components/scatter-sparkline-chart/lib/domain.js.map +1 -0
- package/dist/components/scatter-sparkline-chart/lib/index.d.ts +4 -0
- package/dist/components/scatter-sparkline-chart/lib/index.d.ts.map +1 -0
- package/dist/components/scatter-sparkline-chart/lib/normalize.d.ts +5 -0
- package/dist/components/scatter-sparkline-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/scatter-sparkline-chart/lib/normalize.js +136 -0
- package/dist/components/scatter-sparkline-chart/lib/normalize.js.map +1 -0
- package/dist/components/scatter-sparkline-chart/lib/types.d.ts +39 -0
- package/dist/components/scatter-sparkline-chart/lib/types.d.ts.map +1 -0
- package/dist/components/scatter-sparkline-chart/metadata.json.d.ts +39 -0
- package/dist/components/scatter-sparkline-chart/metadata.json.js +42 -0
- package/dist/components/scatter-sparkline-chart/metadata.json.js.map +1 -0
- package/dist/components/scatter-sparkline-chart/render/draw.d.ts +33 -0
- package/dist/components/scatter-sparkline-chart/render/draw.d.ts.map +1 -0
- package/dist/components/scatter-sparkline-chart/render/draw.js +261 -0
- package/dist/components/scatter-sparkline-chart/render/draw.js.map +1 -0
- package/dist/components/scatter-sparkline-chart/render/index.d.ts +3 -0
- package/dist/components/scatter-sparkline-chart/render/index.d.ts.map +1 -0
- package/dist/components/spark-area-chart/element/ui9000-spark-area-chart.d.ts +32 -0
- package/dist/components/spark-area-chart/element/ui9000-spark-area-chart.d.ts.map +1 -0
- package/dist/components/spark-area-chart/element/ui9000-spark-area-chart.js +181 -0
- package/dist/components/spark-area-chart/element/ui9000-spark-area-chart.js.map +1 -0
- package/dist/components/spark-area-chart/index.d.ts +5 -0
- package/dist/components/spark-area-chart/index.d.ts.map +1 -0
- package/dist/components/spark-area-chart/index.js +21 -0
- package/dist/components/spark-area-chart/index.js.map +1 -0
- package/dist/components/spark-area-chart/metadata.json.d.ts +91 -0
- package/dist/components/spark-area-chart/metadata.json.js +42 -0
- package/dist/components/spark-area-chart/metadata.json.js.map +1 -0
- package/dist/components/spark-line-chart/element/styles.d.ts +2 -0
- package/dist/components/spark-line-chart/element/styles.d.ts.map +1 -0
- package/dist/components/spark-line-chart/element/styles.js +65 -0
- package/dist/components/spark-line-chart/element/styles.js.map +1 -0
- package/dist/components/spark-line-chart/element/ui9000-spark-line-chart.d.ts +32 -0
- package/dist/components/spark-line-chart/element/ui9000-spark-line-chart.d.ts.map +1 -0
- package/dist/components/spark-line-chart/element/ui9000-spark-line-chart.js +180 -0
- package/dist/components/spark-line-chart/element/ui9000-spark-line-chart.js.map +1 -0
- package/dist/components/spark-line-chart/index.d.ts +5 -0
- package/dist/components/spark-line-chart/index.d.ts.map +1 -0
- package/dist/components/spark-line-chart/index.js +21 -0
- package/dist/components/spark-line-chart/index.js.map +1 -0
- package/dist/components/spark-line-chart/lib/domain.d.ts +10 -0
- package/dist/components/spark-line-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/spark-line-chart/lib/domain.js +53 -0
- package/dist/components/spark-line-chart/lib/domain.js.map +1 -0
- package/dist/components/spark-line-chart/lib/format.d.ts +5 -0
- package/dist/components/spark-line-chart/lib/format.d.ts.map +1 -0
- package/dist/components/spark-line-chart/lib/format.js +55 -0
- package/dist/components/spark-line-chart/lib/format.js.map +1 -0
- package/dist/components/spark-line-chart/lib/index.d.ts +5 -0
- package/dist/components/spark-line-chart/lib/index.d.ts.map +1 -0
- package/dist/components/spark-line-chart/lib/normalize.d.ts +6 -0
- package/dist/components/spark-line-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/spark-line-chart/lib/normalize.js +100 -0
- package/dist/components/spark-line-chart/lib/normalize.js.map +1 -0
- package/dist/components/spark-line-chart/lib/types.d.ts +22 -0
- package/dist/components/spark-line-chart/lib/types.d.ts.map +1 -0
- package/dist/components/spark-line-chart/metadata.json.d.ts +91 -0
- package/dist/components/spark-line-chart/metadata.json.js +42 -0
- package/dist/components/spark-line-chart/metadata.json.js.map +1 -0
- package/dist/components/spark-line-chart/render/draw.d.ts +34 -0
- package/dist/components/spark-line-chart/render/draw.d.ts.map +1 -0
- package/dist/components/spark-line-chart/render/draw.js +179 -0
- package/dist/components/spark-line-chart/render/draw.js.map +1 -0
- package/dist/components/spark-line-chart/render/index.d.ts +2 -0
- package/dist/components/spark-line-chart/render/index.d.ts.map +1 -0
- package/dist/components/step-line-chart/element/styles.d.ts +2 -0
- package/dist/components/step-line-chart/element/styles.d.ts.map +1 -0
- package/dist/components/step-line-chart/element/styles.js +63 -0
- package/dist/components/step-line-chart/element/styles.js.map +1 -0
- package/dist/components/step-line-chart/element/ui9000-step-line-chart.d.ts +34 -0
- package/dist/components/step-line-chart/element/ui9000-step-line-chart.d.ts.map +1 -0
- package/dist/components/step-line-chart/element/ui9000-step-line-chart.js +194 -0
- package/dist/components/step-line-chart/element/ui9000-step-line-chart.js.map +1 -0
- package/dist/components/step-line-chart/index.d.ts +5 -0
- package/dist/components/step-line-chart/index.d.ts.map +1 -0
- package/dist/components/step-line-chart/index.js +23 -0
- package/dist/components/step-line-chart/index.js.map +1 -0
- package/dist/components/step-line-chart/lib/domain.d.ts +29 -0
- package/dist/components/step-line-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/step-line-chart/lib/domain.js +81 -0
- package/dist/components/step-line-chart/lib/domain.js.map +1 -0
- package/dist/components/step-line-chart/lib/format.d.ts +15 -0
- package/dist/components/step-line-chart/lib/format.d.ts.map +1 -0
- package/dist/components/step-line-chart/lib/format.js +55 -0
- package/dist/components/step-line-chart/lib/format.js.map +1 -0
- package/dist/components/step-line-chart/lib/index.d.ts +5 -0
- package/dist/components/step-line-chart/lib/index.d.ts.map +1 -0
- package/dist/components/step-line-chart/lib/normalize.d.ts +9 -0
- package/dist/components/step-line-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/step-line-chart/lib/normalize.js +100 -0
- package/dist/components/step-line-chart/lib/normalize.js.map +1 -0
- package/dist/components/step-line-chart/lib/types.d.ts +36 -0
- package/dist/components/step-line-chart/lib/types.d.ts.map +1 -0
- package/dist/components/step-line-chart/metadata.json.d.ts +97 -0
- package/dist/components/step-line-chart/metadata.json.js +42 -0
- package/dist/components/step-line-chart/metadata.json.js.map +1 -0
- package/dist/components/step-line-chart/render/draw.d.ts +41 -0
- package/dist/components/step-line-chart/render/draw.d.ts.map +1 -0
- package/dist/components/step-line-chart/render/draw.js +256 -0
- package/dist/components/step-line-chart/render/draw.js.map +1 -0
- package/dist/components/step-line-chart/render/index.d.ts +2 -0
- package/dist/components/step-line-chart/render/index.d.ts.map +1 -0
- package/dist/components/violin-chart/element/styles.d.ts +2 -0
- package/dist/components/violin-chart/element/styles.d.ts.map +1 -0
- package/dist/components/violin-chart/element/styles.js +32 -0
- package/dist/components/violin-chart/element/styles.js.map +1 -0
- package/dist/components/violin-chart/element/ui9000-violin-chart.d.ts +32 -0
- package/dist/components/violin-chart/element/ui9000-violin-chart.d.ts.map +1 -0
- package/dist/components/violin-chart/element/ui9000-violin-chart.js +139 -0
- package/dist/components/violin-chart/element/ui9000-violin-chart.js.map +1 -0
- package/dist/components/violin-chart/index.d.ts +5 -0
- package/dist/components/violin-chart/index.d.ts.map +1 -0
- package/dist/components/violin-chart/index.js +25 -0
- package/dist/components/violin-chart/index.js.map +1 -0
- package/dist/components/violin-chart/lib/domain.d.ts +6 -0
- package/dist/components/violin-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/violin-chart/lib/domain.js +37 -0
- package/dist/components/violin-chart/lib/domain.js.map +1 -0
- package/dist/components/violin-chart/lib/format.d.ts +2 -0
- package/dist/components/violin-chart/lib/format.d.ts.map +1 -0
- package/dist/components/violin-chart/lib/format.js +8 -0
- package/dist/components/violin-chart/lib/format.js.map +1 -0
- package/dist/components/violin-chart/lib/index.d.ts +6 -0
- package/dist/components/violin-chart/lib/index.d.ts.map +1 -0
- package/dist/components/violin-chart/lib/normalize.d.ts +18 -0
- package/dist/components/violin-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/violin-chart/lib/normalize.js +139 -0
- package/dist/components/violin-chart/lib/normalize.js.map +1 -0
- package/dist/components/violin-chart/lib/stats.d.ts +13 -0
- package/dist/components/violin-chart/lib/stats.d.ts.map +1 -0
- package/dist/components/violin-chart/lib/stats.js +47 -0
- package/dist/components/violin-chart/lib/stats.js.map +1 -0
- package/dist/components/violin-chart/lib/types.d.ts +39 -0
- package/dist/components/violin-chart/lib/types.d.ts.map +1 -0
- package/dist/components/violin-chart/metadata.json.d.ts +85 -0
- package/dist/components/violin-chart/metadata.json.js +42 -0
- package/dist/components/violin-chart/metadata.json.js.map +1 -0
- package/dist/components/violin-chart/render/draw.d.ts +25 -0
- package/dist/components/violin-chart/render/draw.d.ts.map +1 -0
- package/dist/components/violin-chart/render/draw.js +195 -0
- package/dist/components/violin-chart/render/draw.js.map +1 -0
- package/dist/components/violin-chart/render/index.d.ts +2 -0
- package/dist/components/violin-chart/render/index.d.ts.map +1 -0
- package/dist/components/waterfall-chart/element/styles.d.ts +2 -0
- package/dist/components/waterfall-chart/element/styles.d.ts.map +1 -0
- package/dist/components/waterfall-chart/element/styles.js +49 -0
- package/dist/components/waterfall-chart/element/styles.js.map +1 -0
- package/dist/components/waterfall-chart/element/ui9000-waterfall-chart.d.ts +33 -0
- package/dist/components/waterfall-chart/element/ui9000-waterfall-chart.d.ts.map +1 -0
- package/dist/components/waterfall-chart/element/ui9000-waterfall-chart.js +182 -0
- package/dist/components/waterfall-chart/element/ui9000-waterfall-chart.js.map +1 -0
- package/dist/components/waterfall-chart/index.d.ts +5 -0
- package/dist/components/waterfall-chart/index.d.ts.map +1 -0
- package/dist/components/waterfall-chart/index.js +20 -0
- package/dist/components/waterfall-chart/index.js.map +1 -0
- package/dist/components/waterfall-chart/lib/domain.d.ts +10 -0
- package/dist/components/waterfall-chart/lib/domain.d.ts.map +1 -0
- package/dist/components/waterfall-chart/lib/domain.js +26 -0
- package/dist/components/waterfall-chart/lib/domain.js.map +1 -0
- package/dist/components/waterfall-chart/lib/format.d.ts +4 -0
- package/dist/components/waterfall-chart/lib/format.d.ts.map +1 -0
- package/dist/components/waterfall-chart/lib/format.js +13 -0
- package/dist/components/waterfall-chart/lib/format.js.map +1 -0
- package/dist/components/waterfall-chart/lib/index.d.ts +5 -0
- package/dist/components/waterfall-chart/lib/index.d.ts.map +1 -0
- package/dist/components/waterfall-chart/lib/normalize.d.ts +4 -0
- package/dist/components/waterfall-chart/lib/normalize.d.ts.map +1 -0
- package/dist/components/waterfall-chart/lib/normalize.js +212 -0
- package/dist/components/waterfall-chart/lib/normalize.js.map +1 -0
- package/dist/components/waterfall-chart/lib/types.d.ts +51 -0
- package/dist/components/waterfall-chart/lib/types.d.ts.map +1 -0
- package/dist/components/waterfall-chart/metadata.json.d.ts +80 -0
- package/dist/components/waterfall-chart/metadata.json.js +42 -0
- package/dist/components/waterfall-chart/metadata.json.js.map +1 -0
- package/dist/components/waterfall-chart/render/draw.d.ts +30 -0
- package/dist/components/waterfall-chart/render/draw.d.ts.map +1 -0
- package/dist/components/waterfall-chart/render/draw.js +349 -0
- package/dist/components/waterfall-chart/render/draw.js.map +1 -0
- package/dist/components/waterfall-chart/render/index.d.ts +2 -0
- package/dist/components/waterfall-chart/render/index.d.ts.map +1 -0
- package/dist/context/index.d.ts +2 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +10 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/widget-context.d.ts +24 -0
- package/dist/context/widget-context.d.ts.map +1 -0
- package/dist/context/widget-context.js +67 -0
- package/dist/context/widget-context.js.map +1 -0
- package/dist/element/chart-legend-render.d.ts +19 -0
- package/dist/element/chart-legend-render.d.ts.map +1 -0
- package/dist/element/chart-legend-render.js +39 -0
- package/dist/element/chart-legend-render.js.map +1 -0
- package/dist/element/chart-shell-render.d.ts +12 -0
- package/dist/element/chart-shell-render.d.ts.map +1 -0
- package/dist/element/chart-shell-render.js +59 -0
- package/dist/element/chart-shell-render.js.map +1 -0
- package/dist/element/chart-shell-styles.d.ts +3 -0
- package/dist/element/chart-shell-styles.d.ts.map +1 -0
- package/dist/element/chart-shell-styles.js +188 -0
- package/dist/element/chart-shell-styles.js.map +1 -0
- package/dist/element/ui9000-chart-base.d.ts +20 -0
- package/dist/element/ui9000-chart-base.d.ts.map +1 -0
- package/dist/element/ui9000-chart-base.js +79 -0
- package/dist/element/ui9000-chart-base.js.map +1 -0
- package/dist/index.d.ts +54 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +319 -0
- package/dist/index.js.map +1 -0
- package/dist/lazy/area-chart.d.ts +4 -0
- package/dist/lazy/area-chart.d.ts.map +1 -0
- package/dist/lazy/area-chart.js +5 -0
- package/dist/lazy/area-chart.js.map +1 -0
- package/dist/lazy/area-grouped-bar-chart.d.ts +4 -0
- package/dist/lazy/area-grouped-bar-chart.d.ts.map +1 -0
- package/dist/lazy/area-grouped-bar-chart.js +5 -0
- package/dist/lazy/area-grouped-bar-chart.js.map +1 -0
- package/dist/lazy/bar-chart.d.ts +4 -0
- package/dist/lazy/bar-chart.d.ts.map +1 -0
- package/dist/lazy/bar-chart.js +5 -0
- package/dist/lazy/bar-chart.js.map +1 -0
- package/dist/lazy/box-plot-chart.d.ts +4 -0
- package/dist/lazy/box-plot-chart.d.ts.map +1 -0
- package/dist/lazy/box-plot-chart.js +5 -0
- package/dist/lazy/box-plot-chart.js.map +1 -0
- package/dist/lazy/bubble-chart.d.ts +4 -0
- package/dist/lazy/bubble-chart.d.ts.map +1 -0
- package/dist/lazy/bubble-chart.js +5 -0
- package/dist/lazy/bubble-chart.js.map +1 -0
- package/dist/lazy/chart-renderer.d.ts +4 -0
- package/dist/lazy/chart-renderer.d.ts.map +1 -0
- package/dist/lazy/chart-renderer.js +5 -0
- package/dist/lazy/chart-renderer.js.map +1 -0
- package/dist/lazy/donut-chart.d.ts +4 -0
- package/dist/lazy/donut-chart.d.ts.map +1 -0
- package/dist/lazy/donut-chart.js +5 -0
- package/dist/lazy/donut-chart.js.map +1 -0
- package/dist/lazy/donut-group-chart.d.ts +4 -0
- package/dist/lazy/donut-group-chart.d.ts.map +1 -0
- package/dist/lazy/donut-group-chart.js +5 -0
- package/dist/lazy/donut-group-chart.js.map +1 -0
- package/dist/lazy/histogram-chart.d.ts +4 -0
- package/dist/lazy/histogram-chart.d.ts.map +1 -0
- package/dist/lazy/histogram-chart.js +5 -0
- package/dist/lazy/histogram-chart.js.map +1 -0
- package/dist/lazy/index.d.ts +32 -0
- package/dist/lazy/index.d.ts.map +1 -0
- package/dist/lazy/index.js +201 -0
- package/dist/lazy/index.js.map +1 -0
- package/dist/lazy/kpi-widget.d.ts +4 -0
- package/dist/lazy/kpi-widget.d.ts.map +1 -0
- package/dist/lazy/kpi-widget.js +5 -0
- package/dist/lazy/kpi-widget.js.map +1 -0
- package/dist/lazy/line-chart.d.ts +4 -0
- package/dist/lazy/line-chart.d.ts.map +1 -0
- package/dist/lazy/line-chart.js +5 -0
- package/dist/lazy/line-chart.js.map +1 -0
- package/dist/lazy/lollipop.d.ts +4 -0
- package/dist/lazy/lollipop.d.ts.map +1 -0
- package/dist/lazy/lollipop.js +5 -0
- package/dist/lazy/lollipop.js.map +1 -0
- package/dist/lazy/pie-chart.d.ts +4 -0
- package/dist/lazy/pie-chart.d.ts.map +1 -0
- package/dist/lazy/pie-chart.js +5 -0
- package/dist/lazy/pie-chart.js.map +1 -0
- package/dist/lazy/punchcard-chart.d.ts +4 -0
- package/dist/lazy/punchcard-chart.d.ts.map +1 -0
- package/dist/lazy/punchcard-chart.js +5 -0
- package/dist/lazy/punchcard-chart.js.map +1 -0
- package/dist/lazy/radar-chart.d.ts +4 -0
- package/dist/lazy/radar-chart.d.ts.map +1 -0
- package/dist/lazy/radar-chart.js +5 -0
- package/dist/lazy/radar-chart.js.map +1 -0
- package/dist/lazy/sankey-chart.d.ts +4 -0
- package/dist/lazy/sankey-chart.d.ts.map +1 -0
- package/dist/lazy/sankey-chart.js +5 -0
- package/dist/lazy/sankey-chart.js.map +1 -0
- package/dist/lazy/scatter-plot-chart.d.ts +4 -0
- package/dist/lazy/scatter-plot-chart.d.ts.map +1 -0
- package/dist/lazy/scatter-plot-chart.js +5 -0
- package/dist/lazy/scatter-plot-chart.js.map +1 -0
- package/dist/lazy/scatter-sparkline-chart.d.ts +4 -0
- package/dist/lazy/scatter-sparkline-chart.d.ts.map +1 -0
- package/dist/lazy/scatter-sparkline-chart.js +5 -0
- package/dist/lazy/scatter-sparkline-chart.js.map +1 -0
- package/dist/lazy/spark-area-chart.d.ts +4 -0
- package/dist/lazy/spark-area-chart.d.ts.map +1 -0
- package/dist/lazy/spark-area-chart.js +5 -0
- package/dist/lazy/spark-area-chart.js.map +1 -0
- package/dist/lazy/spark-line-chart.d.ts +4 -0
- package/dist/lazy/spark-line-chart.d.ts.map +1 -0
- package/dist/lazy/spark-line-chart.js +5 -0
- package/dist/lazy/spark-line-chart.js.map +1 -0
- package/dist/lazy/step-line-chart.d.ts +4 -0
- package/dist/lazy/step-line-chart.d.ts.map +1 -0
- package/dist/lazy/step-line-chart.js +5 -0
- package/dist/lazy/step-line-chart.js.map +1 -0
- package/dist/lazy/violin-chart.d.ts +4 -0
- package/dist/lazy/violin-chart.d.ts.map +1 -0
- package/dist/lazy/violin-chart.js +5 -0
- package/dist/lazy/violin-chart.js.map +1 -0
- package/dist/lazy/waterfall-chart.d.ts +4 -0
- package/dist/lazy/waterfall-chart.d.ts.map +1 -0
- package/dist/lazy/waterfall-chart.js +5 -0
- package/dist/lazy/waterfall-chart.js.map +1 -0
- package/dist/node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/directive.js +28 -0
- package/dist/node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/directive.js.map +1 -0
- package/dist/node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/directives/style-map.js +37 -0
- package/dist/node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/directives/style-map.js.map +1 -0
- package/dist/node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/lit-html.js +231 -0
- package/dist/node_modules/.pnpm/lit-html@3.3.3/node_modules/lit-html/lit-html.js.map +1 -0
- package/dist/types/index.d.ts +44 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +26 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/axis-labels.d.ts +33 -0
- package/dist/utils/axis-labels.d.ts.map +1 -0
- package/dist/utils/axis-labels.js +74 -0
- package/dist/utils/axis-labels.js.map +1 -0
- package/dist/utils/chart-formatting/from-fuse-widget.d.ts +9 -0
- package/dist/utils/chart-formatting/from-fuse-widget.d.ts.map +1 -0
- package/dist/utils/chart-formatting/from-fuse-widget.js +38 -0
- package/dist/utils/chart-formatting/from-fuse-widget.js.map +1 -0
- package/dist/utils/chart-formatting/getFormattingKeys.d.ts +7 -0
- package/dist/utils/chart-formatting/getFormattingKeys.d.ts.map +1 -0
- package/dist/utils/chart-formatting/getFormattingKeys.js +38 -0
- package/dist/utils/chart-formatting/getFormattingKeys.js.map +1 -0
- package/dist/utils/chart-formatting/getUniversalFormatting.d.ts +7 -0
- package/dist/utils/chart-formatting/getUniversalFormatting.d.ts.map +1 -0
- package/dist/utils/chart-formatting/getUniversalFormatting.js +29 -0
- package/dist/utils/chart-formatting/getUniversalFormatting.js.map +1 -0
- package/dist/utils/chart-formatting/getUniversalMarkers.d.ts +8 -0
- package/dist/utils/chart-formatting/getUniversalMarkers.d.ts.map +1 -0
- package/dist/utils/chart-formatting/getUniversalMarkers.js +57 -0
- package/dist/utils/chart-formatting/getUniversalMarkers.js.map +1 -0
- package/dist/utils/chart-formatting/index.d.ts +6 -0
- package/dist/utils/chart-formatting/index.d.ts.map +1 -0
- package/dist/utils/chart-formatting/types.d.ts +40 -0
- package/dist/utils/chart-formatting/types.d.ts.map +1 -0
- package/dist/utils/chart-helpers.d.ts +53 -0
- package/dist/utils/chart-helpers.d.ts.map +1 -0
- package/dist/utils/chart-helpers.js +178 -0
- package/dist/utils/chart-helpers.js.map +1 -0
- package/dist/utils/chart-legend.d.ts +12 -0
- package/dist/utils/chart-legend.d.ts.map +1 -0
- package/dist/utils/chart-legend.js +32 -0
- package/dist/utils/chart-legend.js.map +1 -0
- package/dist/utils/chart-shell.d.ts +13 -0
- package/dist/utils/chart-shell.d.ts.map +1 -0
- package/dist/utils/chart-shell.js +41 -0
- package/dist/utils/chart-shell.js.map +1 -0
- package/dist/utils/fuse-palette.d.ts +59 -0
- package/dist/utils/fuse-palette.d.ts.map +1 -0
- package/dist/utils/fuse-palette.js +158 -0
- package/dist/utils/fuse-palette.js.map +1 -0
- package/dist/utils/fuse-widget.d.ts +38 -0
- package/dist/utils/fuse-widget.d.ts.map +1 -0
- package/dist/utils/fuse-widget.js +67 -0
- package/dist/utils/fuse-widget.js.map +1 -0
- package/dist/utils/fusedash-visual.d.ts +335 -0
- package/dist/utils/fusedash-visual.d.ts.map +1 -0
- package/dist/utils/fusedash-visual.js +352 -0
- package/dist/utils/fusedash-visual.js.map +1 -0
- package/dist/utils/lit-draw.d.ts +8 -0
- package/dist/utils/lit-draw.d.ts.map +1 -0
- package/dist/utils/lit-draw.js +11 -0
- package/dist/utils/lit-draw.js.map +1 -0
- package/dist/utils/truncate.d.ts +7 -0
- package/dist/utils/truncate.d.ts.map +1 -0
- package/dist/utils/truncate.js +20 -0
- package/dist/utils/truncate.js.map +1 -0
- package/package.json +278 -0
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
import { axisLeft, axisBottom } from "d3-axis";
|
|
2
|
+
import { scaleBand, scaleLinear } from "d3-scale";
|
|
3
|
+
import { select } from "d3-selection";
|
|
4
|
+
import { resolvePlotLeftMargin, decorateAxisLabels, applyLeftGutterYAxisLabels } from "../../../utils/axis-labels.js";
|
|
5
|
+
import { formatCompactNumber, FD, calculateNumTicks } from "../../../utils/fusedash-visual.js";
|
|
6
|
+
import { waterfallLinearDomain } from "../lib/domain.js";
|
|
7
|
+
import { formatSignedDiff } from "../lib/format.js";
|
|
8
|
+
const MAX_Y_TICKS = 7;
|
|
9
|
+
const MAX_Y_LABEL_LEN = 9;
|
|
10
|
+
function thinBandTicks(domain, maxTicks) {
|
|
11
|
+
if (domain.length <= maxTicks) return domain;
|
|
12
|
+
const step = Math.ceil(domain.length / maxTicks);
|
|
13
|
+
const out = [];
|
|
14
|
+
for (let i = 0; i < domain.length; i += step) out.push(domain[i]);
|
|
15
|
+
const last = domain[domain.length - 1];
|
|
16
|
+
if (out[out.length - 1] !== last) out.push(last);
|
|
17
|
+
return out;
|
|
18
|
+
}
|
|
19
|
+
function uid(prefix) {
|
|
20
|
+
return `${prefix}-${Math.random().toString(36).slice(2, 9)}`;
|
|
21
|
+
}
|
|
22
|
+
function verticalBarPath(d, x, y1, y2, barWidth, radius, arrow) {
|
|
23
|
+
const height = y2 - y1;
|
|
24
|
+
const borderRadius = radius;
|
|
25
|
+
const arrowJoinRadius = 0;
|
|
26
|
+
if (Math.abs(height) <= borderRadius * 2) {
|
|
27
|
+
return `M ${x} ${y1}
|
|
28
|
+
h ${barWidth}
|
|
29
|
+
v ${height}
|
|
30
|
+
h -${barWidth}
|
|
31
|
+
Z`;
|
|
32
|
+
}
|
|
33
|
+
if (d.index === 0 || Math.abs(height) < arrow + 2 * borderRadius) {
|
|
34
|
+
return `M ${x} ${y1 - 1 - borderRadius}
|
|
35
|
+
a ${borderRadius} ${borderRadius} 0 0 0 ${borderRadius} ${borderRadius}
|
|
36
|
+
h ${barWidth - 2 * borderRadius}
|
|
37
|
+
a ${borderRadius} ${borderRadius} 0 0 0 ${borderRadius} -${borderRadius}
|
|
38
|
+
v ${height + 2 + 2 * borderRadius}
|
|
39
|
+
a ${borderRadius} ${borderRadius} 0 0 0 -${borderRadius} -${borderRadius}
|
|
40
|
+
h -${barWidth - 2 * borderRadius}
|
|
41
|
+
a ${borderRadius} ${borderRadius} 0 0 0 -${borderRadius} ${borderRadius}
|
|
42
|
+
Z`;
|
|
43
|
+
}
|
|
44
|
+
if (d.vector === "positive") {
|
|
45
|
+
return `M ${x} ${y1 - 1 - borderRadius}
|
|
46
|
+
a ${borderRadius} ${borderRadius} 0 0 0 ${borderRadius} ${borderRadius}
|
|
47
|
+
h ${barWidth - 2 * borderRadius}
|
|
48
|
+
a ${borderRadius} ${borderRadius} 0 0 0 ${borderRadius} -${borderRadius}
|
|
49
|
+
v ${height + 2 + 2 * borderRadius + arrow}
|
|
50
|
+
a ${arrowJoinRadius} ${arrowJoinRadius} 0 0 0 -${borderRadius} -${borderRadius}
|
|
51
|
+
l -${barWidth / 2 - borderRadius} -${arrow}
|
|
52
|
+
l -${barWidth / 2 - borderRadius} ${arrow}
|
|
53
|
+
a ${arrowJoinRadius} ${arrowJoinRadius} 0 0 0 -${borderRadius} ${borderRadius}
|
|
54
|
+
Z`;
|
|
55
|
+
}
|
|
56
|
+
return `M ${x} ${y1 - 1 - borderRadius - arrow}
|
|
57
|
+
a ${arrowJoinRadius} ${arrowJoinRadius} 0 0 0 ${borderRadius} ${borderRadius}
|
|
58
|
+
l ${barWidth / 2 - borderRadius} ${arrow}
|
|
59
|
+
l ${barWidth / 2 - borderRadius} -${arrow}
|
|
60
|
+
a ${arrowJoinRadius} ${arrowJoinRadius} 0 0 0 ${borderRadius} -${borderRadius}
|
|
61
|
+
v ${height + 2 + 2 * borderRadius + arrow}
|
|
62
|
+
a ${borderRadius} ${borderRadius} 0 0 0 -${borderRadius} -${borderRadius}
|
|
63
|
+
h -${barWidth - 2 * borderRadius}
|
|
64
|
+
a ${borderRadius} ${borderRadius} 0 0 0 -${borderRadius} ${borderRadius}
|
|
65
|
+
Z`;
|
|
66
|
+
}
|
|
67
|
+
function horizontalBarPath(d, y, x1, x2, barHeight, radius, arrow) {
|
|
68
|
+
const width = x2 - x1;
|
|
69
|
+
const borderRadius = radius;
|
|
70
|
+
const arrowJoinRadius = 0;
|
|
71
|
+
if (Math.abs(width) <= borderRadius * 2) {
|
|
72
|
+
return `M ${x1} ${y}
|
|
73
|
+
h ${width}
|
|
74
|
+
v ${barHeight}
|
|
75
|
+
h -${width}
|
|
76
|
+
Z`;
|
|
77
|
+
}
|
|
78
|
+
if (d.index === 0 || Math.abs(width) < arrow + 2 * borderRadius + 2) {
|
|
79
|
+
return `M ${x1 + 1 + borderRadius} ${y}
|
|
80
|
+
h ${width - 2 * borderRadius - 2}
|
|
81
|
+
a ${borderRadius} ${borderRadius} 0 0 1 ${borderRadius} ${borderRadius}
|
|
82
|
+
v ${barHeight - 2 * borderRadius}
|
|
83
|
+
a ${borderRadius} ${borderRadius} 0 0 1 -${borderRadius} ${borderRadius}
|
|
84
|
+
h -${width - 2 * borderRadius - 2}
|
|
85
|
+
a ${borderRadius} ${borderRadius} 0 0 1 -${borderRadius} -${borderRadius}
|
|
86
|
+
v -${barHeight - 2 * borderRadius}
|
|
87
|
+
a ${borderRadius} ${borderRadius} 0 0 1 ${borderRadius} -${borderRadius}
|
|
88
|
+
Z`;
|
|
89
|
+
}
|
|
90
|
+
if (d.vector === "positive") {
|
|
91
|
+
return `M ${x1 + 1 + borderRadius} ${y}
|
|
92
|
+
h ${width - 2 * borderRadius - 2 - arrow}
|
|
93
|
+
a ${arrowJoinRadius} ${arrowJoinRadius} 0 0 1 ${borderRadius} ${borderRadius}
|
|
94
|
+
l ${arrow} ${barHeight / 2 - borderRadius}
|
|
95
|
+
l -${arrow} ${barHeight / 2 - borderRadius}
|
|
96
|
+
a ${arrowJoinRadius} ${arrowJoinRadius} 0 0 1 -${borderRadius} ${borderRadius}
|
|
97
|
+
h -${width - 2 * borderRadius - 2 - arrow}
|
|
98
|
+
a ${borderRadius} ${borderRadius} 0 0 1 -${borderRadius} -${borderRadius}
|
|
99
|
+
v -${barHeight - 2 * borderRadius}
|
|
100
|
+
a ${borderRadius} ${borderRadius} 0 0 1 ${borderRadius} -${borderRadius}
|
|
101
|
+
Z`;
|
|
102
|
+
}
|
|
103
|
+
return `M ${x1 + 1 + borderRadius + arrow} ${y}
|
|
104
|
+
h ${width - 2 * borderRadius - 2 - arrow}
|
|
105
|
+
a ${borderRadius} ${borderRadius} 0 0 1 ${borderRadius} ${borderRadius}
|
|
106
|
+
v ${barHeight - 2 * borderRadius}
|
|
107
|
+
a ${borderRadius} ${borderRadius} 0 0 1 -${borderRadius} ${borderRadius}
|
|
108
|
+
h -${width - 2 * borderRadius - 2 - arrow}
|
|
109
|
+
a ${arrowJoinRadius} ${arrowJoinRadius} 0 0 1 -${borderRadius} -${borderRadius}
|
|
110
|
+
l -${arrow} -${barHeight / 2 - borderRadius}
|
|
111
|
+
l ${arrow} -${barHeight / 2 - borderRadius}
|
|
112
|
+
a ${arrowJoinRadius} ${arrowJoinRadius} 0 0 1 ${borderRadius} -${borderRadius}
|
|
113
|
+
Z`;
|
|
114
|
+
}
|
|
115
|
+
function connectorValue(step, steps) {
|
|
116
|
+
var _a;
|
|
117
|
+
if (step.kind === "total" && step.index > 0) {
|
|
118
|
+
return ((_a = steps[step.index - 1]) == null ? void 0 : _a.level) ?? step.level;
|
|
119
|
+
}
|
|
120
|
+
return step.start;
|
|
121
|
+
}
|
|
122
|
+
function renderWaterfallChart(container, options) {
|
|
123
|
+
const {
|
|
124
|
+
model,
|
|
125
|
+
width,
|
|
126
|
+
height,
|
|
127
|
+
theme,
|
|
128
|
+
orientation = model.orientation,
|
|
129
|
+
showGrid = true,
|
|
130
|
+
onStepHover,
|
|
131
|
+
onStepLeave,
|
|
132
|
+
onAxisLabelHover,
|
|
133
|
+
onAxisLabelLeave
|
|
134
|
+
} = options;
|
|
135
|
+
container.replaceChildren();
|
|
136
|
+
const steps = model.steps;
|
|
137
|
+
if (!steps.length || width <= 0 || height <= 0) return;
|
|
138
|
+
const vertical = orientation === "vertical";
|
|
139
|
+
const barSize = FD.waterfallBarThickness;
|
|
140
|
+
const radius = FD.waterfallBarRadius;
|
|
141
|
+
const arrow = FD.waterfallArrow;
|
|
142
|
+
const dim = FD.waterfallHoverDim;
|
|
143
|
+
const { positive, negative, total } = model.colors;
|
|
144
|
+
const labels = steps.map((s) => s.label);
|
|
145
|
+
const last = steps[steps.length - 1];
|
|
146
|
+
let margin = options.margin ? { ...options.margin } : {
|
|
147
|
+
...vertical ? FD.waterfallVerticalMargin : FD.waterfallHorizontalMargin
|
|
148
|
+
};
|
|
149
|
+
if (!vertical) {
|
|
150
|
+
const maxLabelLen = labels.reduce((m2, l) => Math.max(m2, l.length), 0);
|
|
151
|
+
const maxDiffLen = steps.reduce((m2, s) => {
|
|
152
|
+
const t = (s.vector === "positive" && s.index !== 0 ? "+" : "") + formatCompactNumber(s.difference);
|
|
153
|
+
return Math.max(m2, t.length);
|
|
154
|
+
}, 0);
|
|
155
|
+
const valuePad = 8 + maxDiffLen * 6;
|
|
156
|
+
margin = {
|
|
157
|
+
...margin,
|
|
158
|
+
left: Math.max(
|
|
159
|
+
40,
|
|
160
|
+
Math.min(70, maxLabelLen * 7 + 10) + valuePad
|
|
161
|
+
)
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
const plotLeft = vertical ? margin.left : resolvePlotLeftMargin(margin.left);
|
|
165
|
+
const m = {
|
|
166
|
+
top: margin.top,
|
|
167
|
+
right: margin.right,
|
|
168
|
+
bottom: margin.bottom,
|
|
169
|
+
left: plotLeft
|
|
170
|
+
};
|
|
171
|
+
const plotW = width - m.left - m.right;
|
|
172
|
+
const plotH = height - m.top - m.bottom;
|
|
173
|
+
if (plotW <= 0 || plotH <= 0) return;
|
|
174
|
+
const root = select(container).append("svg").attr("width", "100%").attr("height", "100%").attr("viewBox", `0 0 ${width} ${height}`).attr("preserveAspectRatio", "xMidYMid meet").attr("text-anchor", "middle");
|
|
175
|
+
const gradPosId = uid("wf-pos");
|
|
176
|
+
const gradNegId = uid("wf-neg");
|
|
177
|
+
const defs = root.append("defs");
|
|
178
|
+
if (vertical) {
|
|
179
|
+
defs.append("linearGradient").attr("id", gradPosId).attr("x1", "0%").attr("y1", "100%").attr("x2", "0%").attr("y2", "0%").selectAll("stop").data([
|
|
180
|
+
{ offset: "0%", color: positive, opacity: 0.3 },
|
|
181
|
+
{ offset: "100%", color: positive, opacity: 1 }
|
|
182
|
+
]).enter().append("stop").attr("offset", (d) => d.offset).attr("stop-color", (d) => d.color).attr("stop-opacity", (d) => d.opacity);
|
|
183
|
+
defs.append("linearGradient").attr("id", gradNegId).attr("x1", "0%").attr("y1", "100%").attr("x2", "0%").attr("y2", "0%").selectAll("stop").data([
|
|
184
|
+
{ offset: "0%", color: negative, opacity: 1 },
|
|
185
|
+
{ offset: "100%", color: negative, opacity: 0.3 }
|
|
186
|
+
]).enter().append("stop").attr("offset", (d) => d.offset).attr("stop-color", (d) => d.color).attr("stop-opacity", (d) => d.opacity);
|
|
187
|
+
} else {
|
|
188
|
+
defs.append("linearGradient").attr("id", gradPosId).attr("x1", "0%").attr("y1", "0%").attr("x2", "100%").attr("y2", "0%").selectAll("stop").data([
|
|
189
|
+
{ offset: "0%", color: positive, opacity: 0.3 },
|
|
190
|
+
{ offset: "100%", color: positive, opacity: 1 }
|
|
191
|
+
]).enter().append("stop").attr("offset", (d) => d.offset).attr("stop-color", (d) => d.color).attr("stop-opacity", (d) => d.opacity);
|
|
192
|
+
defs.append("linearGradient").attr("id", gradNegId).attr("x1", "100%").attr("y1", "0%").attr("x2", "0%").attr("y2", "0%").selectAll("stop").data([
|
|
193
|
+
{ offset: "0%", color: negative, opacity: 0.3 },
|
|
194
|
+
{ offset: "100%", color: negative, opacity: 1 }
|
|
195
|
+
]).enter().append("stop").attr("offset", (d) => d.offset).attr("stop-color", (d) => d.color).attr("stop-opacity", (d) => d.opacity);
|
|
196
|
+
}
|
|
197
|
+
const g = root.append("g").attr("transform", `translate(${m.left},${m.top})`);
|
|
198
|
+
const [d0, d1] = waterfallLinearDomain(steps, FD.waterfallDomainPadFactor);
|
|
199
|
+
const numTicks = calculateNumTicks(plotH);
|
|
200
|
+
const fillFor = (d) => {
|
|
201
|
+
if (d.index === 0) return total;
|
|
202
|
+
return d.vector === "negative" ? `url(#${gradNegId})` : `url(#${gradPosId})`;
|
|
203
|
+
};
|
|
204
|
+
const axisHandlers = {
|
|
205
|
+
onAxisLabelHover,
|
|
206
|
+
onAxisLabelLeave
|
|
207
|
+
};
|
|
208
|
+
if (vertical) {
|
|
209
|
+
const xScale2 = scaleBand().domain(labels).rangeRound([0, plotW]).padding(0);
|
|
210
|
+
const yScale2 = scaleLinear().domain([d0, d1]).rangeRound([plotH, 0]).nice();
|
|
211
|
+
if (showGrid) {
|
|
212
|
+
g.append("g").attr("class", "y-grid").call(
|
|
213
|
+
axisLeft(yScale2).ticks(numTicks).tickSize(-plotW).tickFormat(() => "")
|
|
214
|
+
).call((sel) => sel.select(".domain").remove()).selectAll("line").attr("stroke", FD.gridStroke).attr("stroke-dasharray", FD.gridDash).attr("stroke-width", "1px");
|
|
215
|
+
g.append("g").attr("class", "x-grid").call(
|
|
216
|
+
axisBottom(xScale2).tickSize(plotH).tickFormat(() => "")
|
|
217
|
+
).call((sel) => sel.select(".domain").remove()).selectAll("line").attr("stroke", FD.gridStroke).attr("stroke-dasharray", FD.gridDash).attr("stroke-width", "1px").attr("transform", `translate(${xScale2.bandwidth() / 2}, 0)`);
|
|
218
|
+
}
|
|
219
|
+
const yAxis2 = g.append("g").attr("class", "y-axis").call(
|
|
220
|
+
axisLeft(yScale2).ticks(numTicks).tickSize(0).tickPadding(8).tickFormat((v) => formatCompactNumber(v))
|
|
221
|
+
).call(
|
|
222
|
+
(sel) => sel.select(".domain").attr("stroke", FD.gridStroke).attr("stroke-dasharray", FD.gridDash)
|
|
223
|
+
);
|
|
224
|
+
yAxis2.selectAll("text").attr("fill", FD.axisLabelFill).attr("font-size", FD.axisLabelSize).attr("text-anchor", "start").attr("dx", `-${m.left - 12}px`);
|
|
225
|
+
yAxis2.selectAll(".tick").append("line").attr("class", "tick-line").attr("x1", -8).attr("x2", 0).attr("y1", 0).attr("y2", 0).attr("stroke", FD.axisStroke).attr("stroke-width", "1px");
|
|
226
|
+
const xAxis2 = g.append("g").attr("class", "x-axis").attr("transform", `translate(0,${plotH})`).call(
|
|
227
|
+
axisBottom(xScale2).tickSizeOuter(0).tickSize(0).tickPadding(12)
|
|
228
|
+
).call((sel) => sel.select(".domain").attr("stroke", FD.axisStroke));
|
|
229
|
+
decorateAxisLabels(xAxis2, {
|
|
230
|
+
maxLength: 10,
|
|
231
|
+
...axisHandlers
|
|
232
|
+
});
|
|
233
|
+
xAxis2.selectAll("text").attr("fill", FD.axisLabelFill).attr("font-size", FD.axisLabelSize);
|
|
234
|
+
const bar2 = g.append("g").selectAll("g").data(steps).join("g").attr("class", "bar-container");
|
|
235
|
+
bar2.append("path").attr("class", "bar-path").attr("fill", (d) => fillFor(d)).attr("d", (d) => {
|
|
236
|
+
const x = (xScale2(d.label) ?? 0) + (xScale2.bandwidth() - barSize) / 2;
|
|
237
|
+
const y1 = d.start < d.end ? yScale2(d.start) : yScale2(d.end);
|
|
238
|
+
const y2 = d.start > d.end ? yScale2(d.start) : yScale2(d.end);
|
|
239
|
+
return verticalBarPath(d, x, y1, y2, barSize, radius, arrow);
|
|
240
|
+
}).style("cursor", onStepHover ? "pointer" : "default").on("mouseenter", function(event, d) {
|
|
241
|
+
if (!onStepHover) return;
|
|
242
|
+
g.selectAll(".bar-path").attr("opacity", dim);
|
|
243
|
+
select(this).attr("opacity", 1);
|
|
244
|
+
onStepHover({ step: d, event });
|
|
245
|
+
}).on("mousemove", (event, d) => {
|
|
246
|
+
onStepHover == null ? void 0 : onStepHover({ step: d, event });
|
|
247
|
+
}).on("mouseleave", () => {
|
|
248
|
+
g.selectAll(".bar-path").attr("opacity", 1);
|
|
249
|
+
onStepLeave == null ? void 0 : onStepLeave();
|
|
250
|
+
});
|
|
251
|
+
bar2.filter((d) => d.index !== 0).append("line").attr("class", "bar-connector-line").attr("stroke", theme.text).attr("stroke-width", "1px").attr(
|
|
252
|
+
"x1",
|
|
253
|
+
(d) => (xScale2(d.label) ?? 0) - (xScale2.bandwidth() + barSize) / 2 - 2
|
|
254
|
+
).attr(
|
|
255
|
+
"x2",
|
|
256
|
+
(d) => (xScale2(d.label) ?? 0) + (xScale2.bandwidth() + barSize) / 2 + 2
|
|
257
|
+
).attr("y1", (d) => yScale2(connectorValue(d, steps))).attr("y2", (d) => yScale2(connectorValue(d, steps)));
|
|
258
|
+
if (last) {
|
|
259
|
+
bar2.filter((d) => d.index === 0).append("line").attr("class", "bar-connector-line").attr("stroke", theme.text).attr("stroke-width", "1px").attr(
|
|
260
|
+
"x1",
|
|
261
|
+
(xScale2(last.label) ?? 0) + (xScale2.bandwidth() - barSize) / 2 - 2
|
|
262
|
+
).attr("x2", (xScale2(last.label) ?? 0) + xScale2.bandwidth()).attr("y1", yScale2(last.end)).attr("y2", yScale2(last.end));
|
|
263
|
+
}
|
|
264
|
+
const minLabelY = 10;
|
|
265
|
+
const maxLabelY = plotH - 10;
|
|
266
|
+
const posPad2 = 10;
|
|
267
|
+
const negPad2 = 26;
|
|
268
|
+
bar2.filter((d) => d.index !== 0).append("text").attr("class", "bar-difference-text").attr("x", (d) => (xScale2(d.label) ?? 0) + xScale2.bandwidth() / 2).attr("y", (d) => {
|
|
269
|
+
const natural = d.vector === "positive" ? yScale2(d.end) - posPad2 : yScale2(d.end) + negPad2;
|
|
270
|
+
return Math.max(minLabelY, Math.min(maxLabelY, natural));
|
|
271
|
+
}).attr("text-anchor", "middle").attr("dominant-baseline", "middle").attr("fill", FD.axisLabelFill).attr("font-size", "10px").attr("pointer-events", "none").text((d) => formatSignedDiff(d.difference, d.vector));
|
|
272
|
+
bar2.filter((d) => d.index === 0).append("text").attr("class", "bar-difference-text").attr("x", (d) => (xScale2(d.label) ?? 0) + xScale2.bandwidth() / 2).attr("y", (d) => {
|
|
273
|
+
const firstBarY = yScale2(d.start) - (yScale2(d.start) - yScale2(d.end)) - 10;
|
|
274
|
+
return Math.max(minLabelY, Math.min(maxLabelY, firstBarY));
|
|
275
|
+
}).attr("text-anchor", "middle").attr("dominant-baseline", "middle").attr("fill", FD.axisLabelFill).attr("font-size", "10px").attr("pointer-events", "none").text((d) => formatCompactNumber(d.difference));
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
const xScale = scaleLinear().domain([d0, d1]).rangeRound([0, plotW]).nice();
|
|
279
|
+
const yScale = scaleBand().domain(labels).rangeRound([plotH, 0]).padding(0);
|
|
280
|
+
const yTicks = thinBandTicks(labels, MAX_Y_TICKS);
|
|
281
|
+
if (showGrid) {
|
|
282
|
+
const yGrid = axisLeft(yScale).tickSize(-plotW).tickFormat(() => "");
|
|
283
|
+
yGrid.tickValues(yTicks);
|
|
284
|
+
g.append("g").attr("class", "y-grid").call(yGrid).call((sel) => sel.select(".domain").remove()).selectAll("line").attr("stroke", FD.gridStroke).attr("stroke-dasharray", FD.gridDash).attr("stroke-width", "1px").attr("transform", `translate(0, -${yScale.bandwidth() / 2})`);
|
|
285
|
+
g.append("g").attr("class", "x-grid").call(
|
|
286
|
+
axisBottom(xScale).ticks(numTicks).tickSize(plotH).tickFormat(() => "")
|
|
287
|
+
).call((sel) => sel.select(".domain").remove()).selectAll("line").attr("stroke", FD.gridStroke).attr("stroke-dasharray", FD.gridDash).attr("stroke-width", "1px");
|
|
288
|
+
}
|
|
289
|
+
const yAxisGen = axisLeft(yScale).tickSizeOuter(0).tickSize(0).tickPadding(12);
|
|
290
|
+
yAxisGen.tickValues(yTicks);
|
|
291
|
+
const yAxis = g.append("g").attr("class", "y-axis").call(yAxisGen).call(
|
|
292
|
+
(sel) => sel.select(".domain").attr("stroke", FD.gridStroke).attr("stroke-dasharray", FD.gridDash)
|
|
293
|
+
);
|
|
294
|
+
applyLeftGutterYAxisLabels(yAxis, m.left, {
|
|
295
|
+
maxLength: MAX_Y_LABEL_LEN,
|
|
296
|
+
...axisHandlers
|
|
297
|
+
});
|
|
298
|
+
const xAxis = g.append("g").attr("class", "x-axis").attr("transform", `translate(0,${plotH})`).call(
|
|
299
|
+
axisBottom(xScale).ticks(numTicks).tickSize(0).tickPadding(8).tickFormat((v) => formatCompactNumber(v))
|
|
300
|
+
).call((sel) => sel.select(".domain").attr("stroke", FD.axisStroke));
|
|
301
|
+
const xTexts = xAxis.selectAll("text");
|
|
302
|
+
xTexts.attr("fill", FD.axisLabelFill).attr("font-size", FD.axisLabelSize);
|
|
303
|
+
const lastTick = xTexts.nodes().at(-1);
|
|
304
|
+
if (lastTick) select(lastTick).attr("dx", -5);
|
|
305
|
+
const bar = g.append("g").selectAll("g").data(steps).join("g").attr("class", "bar-container");
|
|
306
|
+
bar.append("path").attr("class", "bar-path").attr("fill", (d) => fillFor(d)).attr("d", (d) => {
|
|
307
|
+
const y = (yScale(d.label) ?? 0) + (yScale.bandwidth() - barSize) / 2;
|
|
308
|
+
const x1 = (d.start < d.end ? xScale(d.start) : xScale(d.end)) || 0;
|
|
309
|
+
const x2 = (d.start > d.end ? xScale(d.start) : xScale(d.end)) || 0;
|
|
310
|
+
return horizontalBarPath(d, y, x1, x2, barSize, radius, arrow);
|
|
311
|
+
}).style("cursor", onStepHover ? "pointer" : "default").on("mouseenter", function(event, d) {
|
|
312
|
+
if (!onStepHover) return;
|
|
313
|
+
g.selectAll(".bar-path").attr("opacity", dim);
|
|
314
|
+
select(this).attr("opacity", 1);
|
|
315
|
+
onStepHover({ step: d, event });
|
|
316
|
+
}).on("mousemove", (event, d) => {
|
|
317
|
+
onStepHover == null ? void 0 : onStepHover({ step: d, event });
|
|
318
|
+
}).on("mouseleave", () => {
|
|
319
|
+
g.selectAll(".bar-path").attr("opacity", 1);
|
|
320
|
+
onStepLeave == null ? void 0 : onStepLeave();
|
|
321
|
+
});
|
|
322
|
+
bar.filter((d) => d.index !== 0).append("line").attr("class", "bar-connector-line").attr("stroke", theme.text).attr("stroke-width", "1px").attr("x1", (d) => xScale(connectorValue(d, steps))).attr("x2", (d) => xScale(connectorValue(d, steps))).attr(
|
|
323
|
+
"y1",
|
|
324
|
+
(d) => (yScale(d.label) ?? 0) + (yScale.bandwidth() - barSize) / 2 - 2
|
|
325
|
+
).attr(
|
|
326
|
+
"y2",
|
|
327
|
+
(d) => (yScale(d.label) ?? 0) + yScale.bandwidth() + (yScale.bandwidth() + barSize) / 2 + 2
|
|
328
|
+
);
|
|
329
|
+
if (last) {
|
|
330
|
+
bar.filter((d) => d.index === 0).append("line").attr("class", "bar-connector-line").attr("stroke", theme.text).attr("stroke-width", "1px").attr("x1", xScale(last.end)).attr("x2", xScale(last.end)).attr("y1", yScale(last.label) ?? 0).attr(
|
|
331
|
+
"y2",
|
|
332
|
+
(yScale(last.label) ?? 0) + (yScale.bandwidth() + barSize) / 2 + 2
|
|
333
|
+
);
|
|
334
|
+
}
|
|
335
|
+
const posPad = 8;
|
|
336
|
+
const negPad = 8;
|
|
337
|
+
bar.filter((d) => d.index !== 0).append("text").attr("class", "bar-difference-text").attr(
|
|
338
|
+
"x",
|
|
339
|
+
(d) => d.vector === "positive" ? xScale(connectorValue(d, steps)) - posPad : xScale(connectorValue(d, steps)) + negPad
|
|
340
|
+
).attr("y", (d) => (yScale(d.label) ?? 0) + yScale.bandwidth() / 2).attr("text-anchor", (d) => d.vector === "positive" ? "end" : "start").attr("dominant-baseline", "middle").attr("fill", FD.axisLabelFill).attr("font-size", "10px").attr("pointer-events", "none").text((d) => formatSignedDiff(d.difference, d.vector));
|
|
341
|
+
bar.filter((d) => d.index === 0).append("text").attr("class", "bar-difference-text").attr(
|
|
342
|
+
"x",
|
|
343
|
+
(d) => xScale(d.start) - (xScale(d.start) - xScale(d.end)) + 20
|
|
344
|
+
).attr("y", (d) => (yScale(d.label) ?? 0) + yScale.bandwidth() / 2).attr("text-anchor", "middle").attr("dominant-baseline", "middle").attr("fill", FD.axisLabelFill).attr("font-size", "10px").attr("pointer-events", "none").text((d) => formatCompactNumber(d.difference));
|
|
345
|
+
}
|
|
346
|
+
export {
|
|
347
|
+
renderWaterfallChart
|
|
348
|
+
};
|
|
349
|
+
//# sourceMappingURL=draw.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"draw.js","sources":["../../../../src/components/waterfall-chart/render/draw.ts"],"sourcesContent":["import { axisBottom, axisLeft } from 'd3-axis';\nimport { scaleBand, scaleLinear } from 'd3-scale';\nimport { select } from 'd3-selection';\n\nimport type { WidgetTheme } from '../../../types/index.js';\nimport type { AxisLabelTooltipHandlers } from '../../../utils/axis-labels.js';\nimport {\n applyLeftGutterYAxisLabels,\n decorateAxisLabels,\n resolvePlotLeftMargin,\n} from '../../../utils/axis-labels.js';\nimport {\n calculateNumTicks,\n FD,\n formatCompactNumber,\n} from '../../../utils/fusedash-visual.js';\nimport {\n formatSignedDiff,\n waterfallLinearDomain,\n type WaterfallModel,\n type WaterfallOrientation,\n type WaterfallStep,\n} from '../lib/index.js';\n\nexport interface RenderWaterfallOptions extends AxisLabelTooltipHandlers {\n model: WaterfallModel;\n width: number;\n height: number;\n margin?: { top: number; right: number; bottom: number; left: number };\n theme: WidgetTheme;\n orientation?: WaterfallOrientation;\n showGrid?: boolean;\n xLabel?: string;\n yLabel?: string;\n onStepHover?: (payload: {\n step: WaterfallStep;\n event: MouseEvent;\n }) => void;\n onStepLeave?: () => void;\n}\n\nconst MAX_Y_TICKS = 7;\nconst MAX_Y_LABEL_LEN = 9;\n\nfunction thinBandTicks<T>(domain: T[], maxTicks: number): T[] {\n if (domain.length <= maxTicks) return domain;\n const step = Math.ceil(domain.length / maxTicks);\n const out: T[] = [];\n for (let i = 0; i < domain.length; i += step) out.push(domain[i]);\n const last = domain[domain.length - 1];\n if (out[out.length - 1] !== last) out.push(last);\n return out;\n}\n\nfunction uid(prefix: string): string {\n return `${prefix}-${Math.random().toString(36).slice(2, 9)}`;\n}\n\nfunction verticalBarPath(\n d: WaterfallStep,\n x: number,\n y1: number,\n y2: number,\n barWidth: number,\n radius: number,\n arrow: number,\n): string {\n const height = y2 - y1;\n const borderRadius = radius <= barWidth / 2 ? radius : barWidth / 2;\n const arrowJoinRadius = 0;\n\n if (Math.abs(height) <= borderRadius * 2) {\n return `M ${x} ${y1}\n h ${barWidth}\n v ${height}\n h -${barWidth}\n Z`;\n }\n\n if (d.index === 0 || Math.abs(height) < arrow + 2 * borderRadius) {\n return `M ${x} ${y1 - 1 - borderRadius}\n a ${borderRadius} ${borderRadius} 0 0 0 ${borderRadius} ${borderRadius}\n h ${barWidth - 2 * borderRadius}\n a ${borderRadius} ${borderRadius} 0 0 0 ${borderRadius} -${borderRadius}\n v ${height + 2 + 2 * borderRadius}\n a ${borderRadius} ${borderRadius} 0 0 0 -${borderRadius} -${borderRadius}\n h -${barWidth - 2 * borderRadius}\n a ${borderRadius} ${borderRadius} 0 0 0 -${borderRadius} ${borderRadius}\n Z`;\n }\n\n if (d.vector === 'positive') {\n return `M ${x} ${y1 - 1 - borderRadius}\n a ${borderRadius} ${borderRadius} 0 0 0 ${borderRadius} ${borderRadius}\n h ${barWidth - 2 * borderRadius}\n a ${borderRadius} ${borderRadius} 0 0 0 ${borderRadius} -${borderRadius}\n v ${height + 2 + 2 * borderRadius + arrow}\n a ${arrowJoinRadius} ${arrowJoinRadius} 0 0 0 -${borderRadius} -${borderRadius}\n l -${barWidth / 2 - borderRadius} -${arrow}\n l -${barWidth / 2 - borderRadius} ${arrow}\n a ${arrowJoinRadius} ${arrowJoinRadius} 0 0 0 -${borderRadius} ${borderRadius}\n Z`;\n }\n\n return `M ${x} ${y1 - 1 - borderRadius - arrow}\n a ${arrowJoinRadius} ${arrowJoinRadius} 0 0 0 ${borderRadius} ${borderRadius}\n l ${barWidth / 2 - borderRadius} ${arrow}\n l ${barWidth / 2 - borderRadius} -${arrow}\n a ${arrowJoinRadius} ${arrowJoinRadius} 0 0 0 ${borderRadius} -${borderRadius}\n v ${height + 2 + 2 * borderRadius + arrow}\n a ${borderRadius} ${borderRadius} 0 0 0 -${borderRadius} -${borderRadius}\n h -${barWidth - 2 * borderRadius}\n a ${borderRadius} ${borderRadius} 0 0 0 -${borderRadius} ${borderRadius}\n Z`;\n}\n\nfunction horizontalBarPath(\n d: WaterfallStep,\n y: number,\n x1: number,\n x2: number,\n barHeight: number,\n radius: number,\n arrow: number,\n): string {\n const width = x2 - x1;\n const borderRadius = radius <= barHeight / 2 ? radius : barHeight / 2;\n const arrowJoinRadius = 0;\n\n if (Math.abs(width) <= borderRadius * 2) {\n return `M ${x1} ${y}\n h ${width}\n v ${barHeight}\n h -${width}\n Z`;\n }\n\n if (d.index === 0 || Math.abs(width) < arrow + 2 * borderRadius + 2) {\n return `M ${x1 + 1 + borderRadius} ${y}\n h ${width - 2 * borderRadius - 2}\n a ${borderRadius} ${borderRadius} 0 0 1 ${borderRadius} ${borderRadius}\n v ${barHeight - 2 * borderRadius}\n a ${borderRadius} ${borderRadius} 0 0 1 -${borderRadius} ${borderRadius}\n h -${width - 2 * borderRadius - 2}\n a ${borderRadius} ${borderRadius} 0 0 1 -${borderRadius} -${borderRadius}\n v -${barHeight - 2 * borderRadius}\n a ${borderRadius} ${borderRadius} 0 0 1 ${borderRadius} -${borderRadius}\n Z`;\n }\n\n if (d.vector === 'positive') {\n return `M ${x1 + 1 + borderRadius} ${y}\n h ${width - 2 * borderRadius - 2 - arrow}\n a ${arrowJoinRadius} ${arrowJoinRadius} 0 0 1 ${borderRadius} ${borderRadius}\n l ${arrow} ${barHeight / 2 - borderRadius}\n l -${arrow} ${barHeight / 2 - borderRadius}\n a ${arrowJoinRadius} ${arrowJoinRadius} 0 0 1 -${borderRadius} ${borderRadius}\n h -${width - 2 * borderRadius - 2 - arrow}\n a ${borderRadius} ${borderRadius} 0 0 1 -${borderRadius} -${borderRadius}\n v -${barHeight - 2 * borderRadius}\n a ${borderRadius} ${borderRadius} 0 0 1 ${borderRadius} -${borderRadius}\n Z`;\n }\n\n return `M ${x1 + 1 + borderRadius + arrow} ${y}\n h ${width - 2 * borderRadius - 2 - arrow}\n a ${borderRadius} ${borderRadius} 0 0 1 ${borderRadius} ${borderRadius}\n v ${barHeight - 2 * borderRadius}\n a ${borderRadius} ${borderRadius} 0 0 1 -${borderRadius} ${borderRadius}\n h -${width - 2 * borderRadius - 2 - arrow}\n a ${arrowJoinRadius} ${arrowJoinRadius} 0 0 1 -${borderRadius} -${borderRadius}\n l -${arrow} -${barHeight / 2 - borderRadius}\n l ${arrow} -${barHeight / 2 - borderRadius}\n a ${arrowJoinRadius} ${arrowJoinRadius} 0 0 1 ${borderRadius} -${borderRadius}\n Z`;\n}\n\nfunction connectorValue(step: WaterfallStep, steps: WaterfallStep[]): number {\n // Totals drawn from 0 still connect at the cumulative junction.\n if (step.kind === 'total' && step.index > 0) {\n return steps[step.index - 1]?.level ?? step.level;\n }\n return step.start;\n}\n\n/**\n * FuseDash Vertical / Horizontal WaterfallChart — visual parity via D3.\n * Inner group translated by (margin.left, margin.top); plot-local scales.\n */\nexport function renderWaterfallChart(\n container: HTMLElement,\n options: RenderWaterfallOptions,\n): void {\n const {\n model,\n width,\n height,\n theme,\n orientation = model.orientation,\n showGrid = true,\n onStepHover,\n onStepLeave,\n onAxisLabelHover,\n onAxisLabelLeave,\n } = options;\n\n container.replaceChildren();\n const steps = model.steps;\n if (!steps.length || width <= 0 || height <= 0) return;\n\n const vertical = orientation === 'vertical';\n const barSize = FD.waterfallBarThickness;\n const radius = FD.waterfallBarRadius;\n const arrow = FD.waterfallArrow;\n const dim = FD.waterfallHoverDim;\n const { positive, negative, total } = model.colors;\n\n const labels = steps.map((s) => s.label);\n const last = steps[steps.length - 1];\n\n let margin = options.margin\n ? { ...options.margin }\n : {\n ...(vertical ? FD.waterfallVerticalMargin : FD.waterfallHorizontalMargin),\n };\n\n if (!vertical) {\n const maxLabelLen = labels.reduce((m, l) => Math.max(m, l.length), 0);\n const maxDiffLen = steps.reduce((m, s) => {\n const t =\n (s.vector === 'positive' && s.index !== 0 ? '+' : '') +\n formatCompactNumber(s.difference);\n return Math.max(m, t.length);\n }, 0);\n const valuePad = 8 + maxDiffLen * 6;\n margin = {\n ...margin,\n left: Math.max(\n 40,\n Math.min(70, maxLabelLen * 7 + 10) + valuePad,\n ),\n };\n }\n\n const plotLeft = vertical\n ? margin.left\n : resolvePlotLeftMargin(margin.left);\n const m = {\n top: margin.top,\n right: margin.right,\n bottom: margin.bottom,\n left: plotLeft,\n };\n\n const plotW = width - m.left - m.right;\n const plotH = height - m.top - m.bottom;\n if (plotW <= 0 || plotH <= 0) return;\n\n const root = select(container)\n .append('svg')\n .attr('width', '100%')\n .attr('height', '100%')\n .attr('viewBox', `0 0 ${width} ${height}`)\n .attr('preserveAspectRatio', 'xMidYMid meet')\n .attr('text-anchor', 'middle');\n\n const gradPosId = uid('wf-pos');\n const gradNegId = uid('wf-neg');\n const defs = root.append('defs');\n\n if (vertical) {\n defs\n .append('linearGradient')\n .attr('id', gradPosId)\n .attr('x1', '0%')\n .attr('y1', '100%')\n .attr('x2', '0%')\n .attr('y2', '0%')\n .selectAll('stop')\n .data([\n { offset: '0%', color: positive, opacity: 0.3 },\n { offset: '100%', color: positive, opacity: 1 },\n ])\n .enter()\n .append('stop')\n .attr('offset', (d) => d.offset)\n .attr('stop-color', (d) => d.color)\n .attr('stop-opacity', (d) => d.opacity);\n defs\n .append('linearGradient')\n .attr('id', gradNegId)\n .attr('x1', '0%')\n .attr('y1', '100%')\n .attr('x2', '0%')\n .attr('y2', '0%')\n .selectAll('stop')\n .data([\n { offset: '0%', color: negative, opacity: 1 },\n { offset: '100%', color: negative, opacity: 0.3 },\n ])\n .enter()\n .append('stop')\n .attr('offset', (d) => d.offset)\n .attr('stop-color', (d) => d.color)\n .attr('stop-opacity', (d) => d.opacity);\n } else {\n defs\n .append('linearGradient')\n .attr('id', gradPosId)\n .attr('x1', '0%')\n .attr('y1', '0%')\n .attr('x2', '100%')\n .attr('y2', '0%')\n .selectAll('stop')\n .data([\n { offset: '0%', color: positive, opacity: 0.3 },\n { offset: '100%', color: positive, opacity: 1 },\n ])\n .enter()\n .append('stop')\n .attr('offset', (d) => d.offset)\n .attr('stop-color', (d) => d.color)\n .attr('stop-opacity', (d) => d.opacity);\n defs\n .append('linearGradient')\n .attr('id', gradNegId)\n .attr('x1', '100%')\n .attr('y1', '0%')\n .attr('x2', '0%')\n .attr('y2', '0%')\n .selectAll('stop')\n .data([\n { offset: '0%', color: negative, opacity: 0.3 },\n { offset: '100%', color: negative, opacity: 1 },\n ])\n .enter()\n .append('stop')\n .attr('offset', (d) => d.offset)\n .attr('stop-color', (d) => d.color)\n .attr('stop-opacity', (d) => d.opacity);\n }\n\n const g = root\n .append('g')\n .attr('transform', `translate(${m.left},${m.top})`);\n\n const [d0, d1] = waterfallLinearDomain(steps, FD.waterfallDomainPadFactor);\n const numTicks = calculateNumTicks(plotH);\n\n const fillFor = (d: WaterfallStep): string => {\n if (d.index === 0) return total;\n return d.vector === 'negative' ? `url(#${gradNegId})` : `url(#${gradPosId})`;\n };\n\n const axisHandlers: AxisLabelTooltipHandlers = {\n onAxisLabelHover,\n onAxisLabelLeave,\n };\n\n if (vertical) {\n const xScale = scaleBand<string>()\n .domain(labels)\n .rangeRound([0, plotW])\n .padding(0);\n const yScale = scaleLinear()\n .domain([d0, d1])\n .rangeRound([plotH, 0])\n .nice();\n\n if (showGrid) {\n g.append('g')\n .attr('class', 'y-grid')\n .call(\n axisLeft(yScale)\n .ticks(numTicks)\n .tickSize(-plotW)\n .tickFormat(() => ''),\n )\n .call((sel) => sel.select('.domain').remove())\n .selectAll('line')\n .attr('stroke', FD.gridStroke)\n .attr('stroke-dasharray', FD.gridDash)\n .attr('stroke-width', '1px');\n\n g.append('g')\n .attr('class', 'x-grid')\n .call(\n axisBottom(xScale)\n .tickSize(plotH)\n .tickFormat(() => ''),\n )\n .call((sel) => sel.select('.domain').remove())\n .selectAll('line')\n .attr('stroke', FD.gridStroke)\n .attr('stroke-dasharray', FD.gridDash)\n .attr('stroke-width', '1px')\n .attr('transform', `translate(${xScale.bandwidth() / 2}, 0)`);\n }\n\n const yAxis = g\n .append('g')\n .attr('class', 'y-axis')\n .call(\n axisLeft(yScale)\n .ticks(numTicks)\n .tickSize(0)\n .tickPadding(8)\n .tickFormat((v) => formatCompactNumber(v as number)),\n )\n .call((sel) =>\n sel\n .select('.domain')\n .attr('stroke', FD.gridStroke)\n .attr('stroke-dasharray', FD.gridDash),\n );\n\n yAxis\n .selectAll('text')\n .attr('fill', FD.axisLabelFill)\n .attr('font-size', FD.axisLabelSize)\n .attr('text-anchor', 'start')\n .attr('dx', `-${m.left - 12}px`);\n\n yAxis\n .selectAll('.tick')\n .append('line')\n .attr('class', 'tick-line')\n .attr('x1', -8)\n .attr('x2', 0)\n .attr('y1', 0)\n .attr('y2', 0)\n .attr('stroke', FD.axisStroke)\n .attr('stroke-width', '1px');\n\n const xAxis = g\n .append('g')\n .attr('class', 'x-axis')\n .attr('transform', `translate(0,${plotH})`)\n .call(\n axisBottom(xScale)\n .tickSizeOuter(0)\n .tickSize(0)\n .tickPadding(12),\n )\n .call((sel) => sel.select('.domain').attr('stroke', FD.axisStroke));\n\n decorateAxisLabels(xAxis, {\n maxLength: 10,\n ...axisHandlers,\n });\n xAxis\n .selectAll('text')\n .attr('fill', FD.axisLabelFill)\n .attr('font-size', FD.axisLabelSize);\n\n const bar = g\n .append('g')\n .selectAll('g')\n .data(steps)\n .join('g')\n .attr('class', 'bar-container');\n\n bar\n .append('path')\n .attr('class', 'bar-path')\n .attr('fill', (d) => fillFor(d))\n .attr('d', (d) => {\n const x =\n (xScale(d.label) ?? 0) + (xScale.bandwidth() - barSize) / 2;\n const y1 = d.start < d.end ? yScale(d.start) : yScale(d.end);\n const y2 = d.start > d.end ? yScale(d.start) : yScale(d.end);\n return verticalBarPath(d, x, y1, y2, barSize, radius, arrow);\n })\n .style('cursor', onStepHover ? 'pointer' : 'default')\n .on('mouseenter', function (event: MouseEvent, d: WaterfallStep) {\n if (!onStepHover) return;\n g.selectAll('.bar-path').attr('opacity', dim);\n select(this).attr('opacity', 1);\n onStepHover({ step: d, event });\n })\n .on('mousemove', (event: MouseEvent, d: WaterfallStep) => {\n onStepHover?.({ step: d, event });\n })\n .on('mouseleave', () => {\n g.selectAll('.bar-path').attr('opacity', 1);\n onStepLeave?.();\n });\n\n bar\n .filter((d) => d.index !== 0)\n .append('line')\n .attr('class', 'bar-connector-line')\n .attr('stroke', theme.text)\n .attr('stroke-width', '1px')\n .attr(\n 'x1',\n (d) =>\n (xScale(d.label) ?? 0) - (xScale.bandwidth() + barSize) / 2 - 2,\n )\n .attr(\n 'x2',\n (d) =>\n (xScale(d.label) ?? 0) + (xScale.bandwidth() + barSize) / 2 + 2,\n )\n .attr('y1', (d) => yScale(connectorValue(d, steps)))\n .attr('y2', (d) => yScale(connectorValue(d, steps)));\n\n if (last) {\n bar\n .filter((d) => d.index === 0)\n .append('line')\n .attr('class', 'bar-connector-line')\n .attr('stroke', theme.text)\n .attr('stroke-width', '1px')\n .attr(\n 'x1',\n (xScale(last.label) ?? 0) +\n (xScale.bandwidth() - barSize) / 2 -\n 2,\n )\n .attr('x2', (xScale(last.label) ?? 0) + xScale.bandwidth())\n .attr('y1', yScale(last.end))\n .attr('y2', yScale(last.end));\n }\n\n const minLabelY = 10;\n const maxLabelY = plotH - 10;\n const posPad = 10;\n const negPad = 26;\n\n bar\n .filter((d) => d.index !== 0)\n .append('text')\n .attr('class', 'bar-difference-text')\n .attr('x', (d) => (xScale(d.label) ?? 0) + xScale.bandwidth() / 2)\n .attr('y', (d) => {\n const natural =\n d.vector === 'positive'\n ? yScale(d.end) - posPad\n : yScale(d.end) + negPad;\n return Math.max(minLabelY, Math.min(maxLabelY, natural));\n })\n .attr('text-anchor', 'middle')\n .attr('dominant-baseline', 'middle')\n .attr('fill', FD.axisLabelFill)\n .attr('font-size', '10px')\n .attr('pointer-events', 'none')\n .text((d) => formatSignedDiff(d.difference, d.vector));\n\n bar\n .filter((d) => d.index === 0)\n .append('text')\n .attr('class', 'bar-difference-text')\n .attr('x', (d) => (xScale(d.label) ?? 0) + xScale.bandwidth() / 2)\n .attr('y', (d) => {\n const firstBarY =\n yScale(d.start) - (yScale(d.start) - yScale(d.end)) - 10;\n return Math.max(minLabelY, Math.min(maxLabelY, firstBarY));\n })\n .attr('text-anchor', 'middle')\n .attr('dominant-baseline', 'middle')\n .attr('fill', FD.axisLabelFill)\n .attr('font-size', '10px')\n .attr('pointer-events', 'none')\n .text((d) => formatCompactNumber(d.difference));\n\n return;\n }\n\n // —— Horizontal ——\n const xScale = scaleLinear()\n .domain([d0, d1])\n .rangeRound([0, plotW])\n .nice();\n const yScale = scaleBand<string>()\n .domain(labels)\n .rangeRound([plotH, 0])\n .padding(0);\n\n const yTicks = thinBandTicks(labels, MAX_Y_TICKS);\n\n if (showGrid) {\n const yGrid = axisLeft(yScale)\n .tickSize(-plotW)\n .tickFormat(() => '');\n yGrid.tickValues(yTicks);\n g.append('g')\n .attr('class', 'y-grid')\n .call(yGrid)\n .call((sel) => sel.select('.domain').remove())\n .selectAll('line')\n .attr('stroke', FD.gridStroke)\n .attr('stroke-dasharray', FD.gridDash)\n .attr('stroke-width', '1px')\n .attr('transform', `translate(0, -${yScale.bandwidth() / 2})`);\n\n g.append('g')\n .attr('class', 'x-grid')\n .call(\n axisBottom(xScale)\n .ticks(numTicks)\n .tickSize(plotH)\n .tickFormat(() => ''),\n )\n .call((sel) => sel.select('.domain').remove())\n .selectAll('line')\n .attr('stroke', FD.gridStroke)\n .attr('stroke-dasharray', FD.gridDash)\n .attr('stroke-width', '1px');\n }\n\n const yAxisGen = axisLeft(yScale)\n .tickSizeOuter(0)\n .tickSize(0)\n .tickPadding(12);\n yAxisGen.tickValues(yTicks);\n\n const yAxis = g\n .append('g')\n .attr('class', 'y-axis')\n .call(yAxisGen)\n .call((sel) =>\n sel\n .select('.domain')\n .attr('stroke', FD.gridStroke)\n .attr('stroke-dasharray', FD.gridDash),\n );\n\n applyLeftGutterYAxisLabels(yAxis, m.left, {\n maxLength: MAX_Y_LABEL_LEN,\n ...axisHandlers,\n });\n\n const xAxis = g\n .append('g')\n .attr('class', 'x-axis')\n .attr('transform', `translate(0,${plotH})`)\n .call(\n axisBottom(xScale)\n .ticks(numTicks)\n .tickSize(0)\n .tickPadding(8)\n .tickFormat((v) => formatCompactNumber(v as number)),\n )\n .call((sel) => sel.select('.domain').attr('stroke', FD.axisStroke));\n\n const xTexts = xAxis.selectAll<SVGTextElement, unknown>('text');\n xTexts.attr('fill', FD.axisLabelFill).attr('font-size', FD.axisLabelSize);\n const lastTick = xTexts.nodes().at(-1);\n if (lastTick) select(lastTick).attr('dx', -5);\n\n const bar = g\n .append('g')\n .selectAll('g')\n .data(steps)\n .join('g')\n .attr('class', 'bar-container');\n\n bar\n .append('path')\n .attr('class', 'bar-path')\n .attr('fill', (d) => fillFor(d))\n .attr('d', (d) => {\n const y =\n (yScale(d.label) ?? 0) + (yScale.bandwidth() - barSize) / 2;\n const x1 = (d.start < d.end ? xScale(d.start) : xScale(d.end)) || 0;\n const x2 = (d.start > d.end ? xScale(d.start) : xScale(d.end)) || 0;\n return horizontalBarPath(d, y, x1, x2, barSize, radius, arrow);\n })\n .style('cursor', onStepHover ? 'pointer' : 'default')\n .on('mouseenter', function (event: MouseEvent, d: WaterfallStep) {\n if (!onStepHover) return;\n g.selectAll('.bar-path').attr('opacity', dim);\n select(this).attr('opacity', 1);\n onStepHover({ step: d, event });\n })\n .on('mousemove', (event: MouseEvent, d: WaterfallStep) => {\n onStepHover?.({ step: d, event });\n })\n .on('mouseleave', () => {\n g.selectAll('.bar-path').attr('opacity', 1);\n onStepLeave?.();\n });\n\n bar\n .filter((d) => d.index !== 0)\n .append('line')\n .attr('class', 'bar-connector-line')\n .attr('stroke', theme.text)\n .attr('stroke-width', '1px')\n .attr('x1', (d) => xScale(connectorValue(d, steps)))\n .attr('x2', (d) => xScale(connectorValue(d, steps)))\n .attr(\n 'y1',\n (d) =>\n (yScale(d.label) ?? 0) + (yScale.bandwidth() - barSize) / 2 - 2,\n )\n .attr(\n 'y2',\n (d) =>\n (yScale(d.label) ?? 0) +\n yScale.bandwidth() +\n (yScale.bandwidth() + barSize) / 2 +\n 2,\n );\n\n if (last) {\n bar\n .filter((d) => d.index === 0)\n .append('line')\n .attr('class', 'bar-connector-line')\n .attr('stroke', theme.text)\n .attr('stroke-width', '1px')\n .attr('x1', xScale(last.end))\n .attr('x2', xScale(last.end))\n .attr('y1', yScale(last.label) ?? 0)\n .attr(\n 'y2',\n (yScale(last.label) ?? 0) +\n (yScale.bandwidth() + barSize) / 2 +\n 2,\n );\n }\n\n const posPad = 8;\n const negPad = 8;\n\n bar\n .filter((d) => d.index !== 0)\n .append('text')\n .attr('class', 'bar-difference-text')\n .attr('x', (d) =>\n d.vector === 'positive'\n ? xScale(connectorValue(d, steps)) - posPad\n : xScale(connectorValue(d, steps)) + negPad,\n )\n .attr('y', (d) => (yScale(d.label) ?? 0) + yScale.bandwidth() / 2)\n .attr('text-anchor', (d) => (d.vector === 'positive' ? 'end' : 'start'))\n .attr('dominant-baseline', 'middle')\n .attr('fill', FD.axisLabelFill)\n .attr('font-size', '10px')\n .attr('pointer-events', 'none')\n .text((d) => formatSignedDiff(d.difference, d.vector));\n\n bar\n .filter((d) => d.index === 0)\n .append('text')\n .attr('class', 'bar-difference-text')\n .attr(\n 'x',\n (d) => xScale(d.start) - (xScale(d.start) - xScale(d.end)) + 20,\n )\n .attr('y', (d) => (yScale(d.label) ?? 0) + yScale.bandwidth() / 2)\n .attr('text-anchor', 'middle')\n .attr('dominant-baseline', 'middle')\n .attr('fill', FD.axisLabelFill)\n .attr('font-size', '10px')\n .attr('pointer-events', 'none')\n .text((d) => formatCompactNumber(d.difference));\n}\n"],"names":["m","xScale","yScale","yAxis","xAxis","bar","posPad","negPad"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/waterfall-chart/render/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,KAAK,sBAAsB,EAAE,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,EACvB,KAAK,WAAW,GACjB,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CSS_VARS, applyWidgetContext, contextToCssVars, readCssVar, readThemeFromElement, themeToCssVars } from "./widget-context.js";
|
|
2
|
+
export {
|
|
3
|
+
CSS_VARS,
|
|
4
|
+
applyWidgetContext,
|
|
5
|
+
contextToCssVars,
|
|
6
|
+
readCssVar,
|
|
7
|
+
readThemeFromElement,
|
|
8
|
+
themeToCssVars
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { WidgetContextValue, WidgetTheme } from '../types/index.js';
|
|
2
|
+
/** CSS custom property names consumed by chart web components */
|
|
3
|
+
export declare const CSS_VARS: {
|
|
4
|
+
readonly primary: "--ui9000-color-primary";
|
|
5
|
+
readonly secondary: "--ui9000-color-secondary";
|
|
6
|
+
readonly background: "--ui9000-color-background";
|
|
7
|
+
readonly grid: "--ui9000-color-grid";
|
|
8
|
+
readonly text: "--ui9000-color-text";
|
|
9
|
+
readonly textMuted: "--ui9000-color-text-muted";
|
|
10
|
+
readonly fontFamily: "--ui9000-font-family";
|
|
11
|
+
readonly scale: "--ui9000-scale";
|
|
12
|
+
readonly styleId: "--ui9000-style-id";
|
|
13
|
+
readonly mode: "--ui9000-mode";
|
|
14
|
+
};
|
|
15
|
+
export declare function themeToCssVars(theme: WidgetTheme): Record<string, string>;
|
|
16
|
+
export declare function contextToCssVars(ctx: WidgetContextValue): Record<string, string>;
|
|
17
|
+
export type PartialWidgetContext = Omit<Partial<WidgetContextValue>, 'theme'> & {
|
|
18
|
+
theme?: Partial<WidgetTheme>;
|
|
19
|
+
};
|
|
20
|
+
export declare function applyWidgetContext(el: HTMLElement, ctx?: PartialWidgetContext): void;
|
|
21
|
+
export declare function readCssVar(el: Element, name: string, fallback: string): string;
|
|
22
|
+
export declare function readThemeFromElement(el: Element): WidgetTheme;
|
|
23
|
+
export type { WidgetContextValue, WidgetTheme };
|
|
24
|
+
//# sourceMappingURL=widget-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-context.d.ts","sourceRoot":"","sources":["../../src/context/widget-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGzE,iEAAiE;AACjE,eAAO,MAAM,QAAQ;;;;;;;;;;;CAWX,CAAC;AAEX,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAUzE;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOhF;AAED,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC,GAAG;IAC9E,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CAC9B,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,WAAW,EAAE,GAAG,GAAE,oBAAyB,GAAG,IAAI,CAUxF;AAED,wBAAgB,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG9E;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,OAAO,GAAG,WAAW,CAU7D;AAED,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { DEFAULT_THEME, DEFAULT_CONTEXT } from "../types/index.js";
|
|
2
|
+
const CSS_VARS = {
|
|
3
|
+
primary: "--ui9000-color-primary",
|
|
4
|
+
secondary: "--ui9000-color-secondary",
|
|
5
|
+
background: "--ui9000-color-background",
|
|
6
|
+
grid: "--ui9000-color-grid",
|
|
7
|
+
text: "--ui9000-color-text",
|
|
8
|
+
textMuted: "--ui9000-color-text-muted",
|
|
9
|
+
fontFamily: "--ui9000-font-family",
|
|
10
|
+
scale: "--ui9000-scale",
|
|
11
|
+
styleId: "--ui9000-style-id",
|
|
12
|
+
mode: "--ui9000-mode"
|
|
13
|
+
};
|
|
14
|
+
function themeToCssVars(theme) {
|
|
15
|
+
return {
|
|
16
|
+
[CSS_VARS.primary]: theme.primary,
|
|
17
|
+
[CSS_VARS.secondary]: theme.secondary,
|
|
18
|
+
[CSS_VARS.background]: theme.background,
|
|
19
|
+
[CSS_VARS.grid]: theme.grid,
|
|
20
|
+
[CSS_VARS.text]: theme.text,
|
|
21
|
+
[CSS_VARS.textMuted]: theme.textMuted,
|
|
22
|
+
[CSS_VARS.fontFamily]: theme.fontFamily
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
function contextToCssVars(ctx) {
|
|
26
|
+
return {
|
|
27
|
+
...themeToCssVars(ctx.theme),
|
|
28
|
+
[CSS_VARS.scale]: ctx.scale,
|
|
29
|
+
[CSS_VARS.styleId]: ctx.styleId,
|
|
30
|
+
[CSS_VARS.mode]: ctx.mode
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function applyWidgetContext(el, ctx = {}) {
|
|
34
|
+
const merged = {
|
|
35
|
+
...DEFAULT_CONTEXT,
|
|
36
|
+
...ctx,
|
|
37
|
+
theme: { ...DEFAULT_THEME, ...ctx.theme }
|
|
38
|
+
};
|
|
39
|
+
const vars = contextToCssVars(merged);
|
|
40
|
+
for (const [key, value] of Object.entries(vars)) {
|
|
41
|
+
el.style.setProperty(key, value);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
function readCssVar(el, name, fallback) {
|
|
45
|
+
const value = getComputedStyle(el).getPropertyValue(name).trim();
|
|
46
|
+
return value || fallback;
|
|
47
|
+
}
|
|
48
|
+
function readThemeFromElement(el) {
|
|
49
|
+
return {
|
|
50
|
+
primary: readCssVar(el, CSS_VARS.primary, DEFAULT_THEME.primary),
|
|
51
|
+
secondary: readCssVar(el, CSS_VARS.secondary, DEFAULT_THEME.secondary),
|
|
52
|
+
background: readCssVar(el, CSS_VARS.background, DEFAULT_THEME.background),
|
|
53
|
+
grid: readCssVar(el, CSS_VARS.grid, DEFAULT_THEME.grid),
|
|
54
|
+
text: readCssVar(el, CSS_VARS.text, DEFAULT_THEME.text),
|
|
55
|
+
textMuted: readCssVar(el, CSS_VARS.textMuted, DEFAULT_THEME.textMuted),
|
|
56
|
+
fontFamily: readCssVar(el, CSS_VARS.fontFamily, DEFAULT_THEME.fontFamily)
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
export {
|
|
60
|
+
CSS_VARS,
|
|
61
|
+
applyWidgetContext,
|
|
62
|
+
contextToCssVars,
|
|
63
|
+
readCssVar,
|
|
64
|
+
readThemeFromElement,
|
|
65
|
+
themeToCssVars
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=widget-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-context.js","sources":["../../src/context/widget-context.ts"],"sourcesContent":["import type { WidgetContextValue, WidgetTheme } from '../types/index.js';\nimport { DEFAULT_CONTEXT, DEFAULT_THEME } from '../types/index.js';\n\n/** CSS custom property names consumed by chart web components */\nexport const CSS_VARS = {\n primary: '--ui9000-color-primary',\n secondary: '--ui9000-color-secondary',\n background: '--ui9000-color-background',\n grid: '--ui9000-color-grid',\n text: '--ui9000-color-text',\n textMuted: '--ui9000-color-text-muted',\n fontFamily: '--ui9000-font-family',\n scale: '--ui9000-scale',\n styleId: '--ui9000-style-id',\n mode: '--ui9000-mode',\n} as const;\n\nexport function themeToCssVars(theme: WidgetTheme): Record<string, string> {\n return {\n [CSS_VARS.primary]: theme.primary,\n [CSS_VARS.secondary]: theme.secondary,\n [CSS_VARS.background]: theme.background,\n [CSS_VARS.grid]: theme.grid,\n [CSS_VARS.text]: theme.text,\n [CSS_VARS.textMuted]: theme.textMuted,\n [CSS_VARS.fontFamily]: theme.fontFamily,\n };\n}\n\nexport function contextToCssVars(ctx: WidgetContextValue): Record<string, string> {\n return {\n ...themeToCssVars(ctx.theme),\n [CSS_VARS.scale]: ctx.scale,\n [CSS_VARS.styleId]: ctx.styleId,\n [CSS_VARS.mode]: ctx.mode,\n };\n}\n\nexport type PartialWidgetContext = Omit<Partial<WidgetContextValue>, 'theme'> & {\n theme?: Partial<WidgetTheme>;\n};\n\nexport function applyWidgetContext(el: HTMLElement, ctx: PartialWidgetContext = {}): void {\n const merged: WidgetContextValue = {\n ...DEFAULT_CONTEXT,\n ...ctx,\n theme: { ...DEFAULT_THEME, ...ctx.theme },\n };\n const vars = contextToCssVars(merged);\n for (const [key, value] of Object.entries(vars)) {\n el.style.setProperty(key, value);\n }\n}\n\nexport function readCssVar(el: Element, name: string, fallback: string): string {\n const value = getComputedStyle(el).getPropertyValue(name).trim();\n return value || fallback;\n}\n\nexport function readThemeFromElement(el: Element): WidgetTheme {\n return {\n primary: readCssVar(el, CSS_VARS.primary, DEFAULT_THEME.primary),\n secondary: readCssVar(el, CSS_VARS.secondary, DEFAULT_THEME.secondary),\n background: readCssVar(el, CSS_VARS.background, DEFAULT_THEME.background),\n grid: readCssVar(el, CSS_VARS.grid, DEFAULT_THEME.grid),\n text: readCssVar(el, CSS_VARS.text, DEFAULT_THEME.text),\n textMuted: readCssVar(el, CSS_VARS.textMuted, DEFAULT_THEME.textMuted),\n fontFamily: readCssVar(el, CSS_VARS.fontFamily, DEFAULT_THEME.fontFamily),\n };\n}\n\nexport type { WidgetContextValue, WidgetTheme };\n"],"names":[],"mappings":";AAIO,MAAM,WAAW;AAAA,EACtB,SAAS;AAAA,EACT,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,MAAM;AAAA,EACN,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,SAAS;AAAA,EACT,MAAM;AACR;AAEO,SAAS,eAAe,OAA4C;AACzE,SAAO;AAAA,IACL,CAAC,SAAS,OAAO,GAAG,MAAM;AAAA,IAC1B,CAAC,SAAS,SAAS,GAAG,MAAM;AAAA,IAC5B,CAAC,SAAS,UAAU,GAAG,MAAM;AAAA,IAC7B,CAAC,SAAS,IAAI,GAAG,MAAM;AAAA,IACvB,CAAC,SAAS,IAAI,GAAG,MAAM;AAAA,IACvB,CAAC,SAAS,SAAS,GAAG,MAAM;AAAA,IAC5B,CAAC,SAAS,UAAU,GAAG,MAAM;AAAA,EAAA;AAEjC;AAEO,SAAS,iBAAiB,KAAiD;AAChF,SAAO;AAAA,IACL,GAAG,eAAe,IAAI,KAAK;AAAA,IAC3B,CAAC,SAAS,KAAK,GAAG,IAAI;AAAA,IACtB,CAAC,SAAS,OAAO,GAAG,IAAI;AAAA,IACxB,CAAC,SAAS,IAAI,GAAG,IAAI;AAAA,EAAA;AAEzB;AAMO,SAAS,mBAAmB,IAAiB,MAA4B,IAAU;AACxF,QAAM,SAA6B;AAAA,IACjC,GAAG;AAAA,IACH,GAAG;AAAA,IACH,OAAO,EAAE,GAAG,eAAe,GAAG,IAAI,MAAA;AAAA,EAAM;AAE1C,QAAM,OAAO,iBAAiB,MAAM;AACpC,aAAW,CAAC,KAAK,KAAK,KAAK,OAAO,QAAQ,IAAI,GAAG;AAC/C,OAAG,MAAM,YAAY,KAAK,KAAK;AAAA,EACjC;AACF;AAEO,SAAS,WAAW,IAAa,MAAc,UAA0B;AAC9E,QAAM,QAAQ,iBAAiB,EAAE,EAAE,iBAAiB,IAAI,EAAE,KAAA;AAC1D,SAAO,SAAS;AAClB;AAEO,SAAS,qBAAqB,IAA0B;AAC7D,SAAO;AAAA,IACL,SAAS,WAAW,IAAI,SAAS,SAAS,cAAc,OAAO;AAAA,IAC/D,WAAW,WAAW,IAAI,SAAS,WAAW,cAAc,SAAS;AAAA,IACrE,YAAY,WAAW,IAAI,SAAS,YAAY,cAAc,UAAU;AAAA,IACxE,MAAM,WAAW,IAAI,SAAS,MAAM,cAAc,IAAI;AAAA,IACtD,MAAM,WAAW,IAAI,SAAS,MAAM,cAAc,IAAI;AAAA,IACtD,WAAW,WAAW,IAAI,SAAS,WAAW,cAAc,SAAS;AAAA,IACrE,YAAY,WAAW,IAAI,SAAS,YAAY,cAAc,UAAU;AAAA,EAAA;AAE5E;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { nothing, TemplateResult } from 'lit';
|
|
2
|
+
export type ChartLegendSwatch = {
|
|
3
|
+
kind: 'line';
|
|
4
|
+
color: string;
|
|
5
|
+
} | {
|
|
6
|
+
kind: 'swatch';
|
|
7
|
+
color: string;
|
|
8
|
+
opacity?: number;
|
|
9
|
+
} | {
|
|
10
|
+
kind: 'dashed-line';
|
|
11
|
+
color: string;
|
|
12
|
+
};
|
|
13
|
+
export type ChartLegendEntry = {
|
|
14
|
+
label: string;
|
|
15
|
+
swatch: ChartLegendSwatch;
|
|
16
|
+
};
|
|
17
|
+
/** HTML legend row above the plot (MCP shell — not SVG). */
|
|
18
|
+
export declare function renderChartLegend(entries: ChartLegendEntry[]): TemplateResult | typeof nothing;
|
|
19
|
+
//# sourceMappingURL=chart-legend-render.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chart-legend-render.d.ts","sourceRoot":"","sources":["../../src/element/chart-legend-render.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,iBAAiB,CAAC;CAC3B,CAAC;AAsBF,4DAA4D;AAC5D,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,gBAAgB,EAAE,GAC1B,cAAc,GAAG,OAAO,OAAO,CAcjC"}
|