minerva-design 1.1.0 → 1.3.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 +15 -0
- package/dist/charts/canvas.d.cts +10 -0
- package/dist/charts/canvas.d.ts +10 -0
- package/dist/charts/core.cjs +1 -1
- package/dist/charts/core.d.cts +8 -1
- package/dist/charts/core.d.ts +8 -1
- package/dist/charts/core.js +6 -1
- package/dist/charts/engine/canvas.cjs +2 -0
- package/dist/charts/engine/canvas.cjs.map +1 -0
- package/dist/charts/engine/canvas.d.cts +85 -0
- package/dist/charts/engine/canvas.d.ts +85 -0
- package/dist/charts/engine/canvas.js +177 -0
- package/dist/charts/engine/canvas.js.map +1 -0
- package/dist/charts/engine/chart.cjs +1 -2
- package/dist/charts/engine/chart.cjs.map +1 -1
- package/dist/charts/engine/chart.js +450 -489
- package/dist/charts/engine/chart.js.map +1 -1
- package/dist/charts/engine/color.cjs +1 -1
- package/dist/charts/engine/color.cjs.map +1 -1
- package/dist/charts/engine/color.d.cts +27 -0
- package/dist/charts/engine/color.d.ts +27 -0
- package/dist/charts/engine/color.js +100 -4
- package/dist/charts/engine/color.js.map +1 -1
- package/dist/charts/engine/controller.cjs +3 -0
- package/dist/charts/engine/controller.cjs.map +1 -0
- package/dist/charts/engine/controller.d.cts +188 -0
- package/dist/charts/engine/controller.d.ts +188 -0
- package/dist/charts/engine/controller.js +592 -0
- package/dist/charts/engine/controller.js.map +1 -0
- package/dist/charts/engine/curve.cjs +2 -0
- package/dist/charts/engine/curve.cjs.map +1 -0
- package/dist/charts/engine/curve.d.cts +15 -0
- package/dist/charts/engine/curve.d.ts +15 -0
- package/dist/charts/engine/curve.js +56 -0
- package/dist/charts/engine/curve.js.map +1 -0
- package/dist/charts/engine/data.cjs +1 -1
- package/dist/charts/engine/data.cjs.map +1 -1
- package/dist/charts/engine/data.d.cts +15 -2
- package/dist/charts/engine/data.d.ts +15 -2
- package/dist/charts/engine/data.js +98 -38
- package/dist/charts/engine/data.js.map +1 -1
- package/dist/charts/engine/dom.cjs +1 -1
- package/dist/charts/engine/dom.cjs.map +1 -1
- package/dist/charts/engine/dom.d.cts +5 -3
- package/dist/charts/engine/dom.d.ts +5 -3
- package/dist/charts/engine/dom.js +27 -22
- package/dist/charts/engine/dom.js.map +1 -1
- package/dist/charts/engine/items.cjs +1 -1
- package/dist/charts/engine/items.cjs.map +1 -1
- package/dist/charts/engine/items.js +132 -61
- package/dist/charts/engine/items.js.map +1 -1
- package/dist/charts/engine/model.cjs +1 -1
- package/dist/charts/engine/model.cjs.map +1 -1
- package/dist/charts/engine/model.d.cts +32 -5
- package/dist/charts/engine/model.d.ts +32 -5
- package/dist/charts/engine/model.js +226 -109
- package/dist/charts/engine/model.js.map +1 -1
- package/dist/charts/engine/overlay.cjs +1 -1
- package/dist/charts/engine/overlay.cjs.map +1 -1
- package/dist/charts/engine/overlay.d.cts +19 -1
- package/dist/charts/engine/overlay.d.ts +19 -1
- package/dist/charts/engine/overlay.js +77 -63
- package/dist/charts/engine/overlay.js.map +1 -1
- package/dist/charts/engine/presets.cjs +3 -0
- package/dist/charts/engine/presets.cjs.map +1 -0
- package/dist/charts/engine/presets.d.cts +169 -0
- package/dist/charts/engine/presets.d.ts +169 -0
- package/dist/charts/engine/presets.js +240 -0
- package/dist/charts/engine/presets.js.map +1 -0
- package/dist/charts/engine/renderers/canvas2d.cjs +1 -1
- package/dist/charts/engine/renderers/canvas2d.cjs.map +1 -1
- package/dist/charts/engine/renderers/canvas2d.d.cts +17 -1
- package/dist/charts/engine/renderers/canvas2d.d.ts +17 -1
- package/dist/charts/engine/renderers/canvas2d.js +176 -101
- package/dist/charts/engine/renderers/canvas2d.js.map +1 -1
- package/dist/charts/engine/renderers/range.cjs +1 -1
- package/dist/charts/engine/renderers/range.cjs.map +1 -1
- package/dist/charts/engine/renderers/range.js +4 -4
- package/dist/charts/engine/renderers/range.js.map +1 -1
- package/dist/charts/engine/renderers/shaders.cjs +37 -19
- package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
- package/dist/charts/engine/renderers/shaders.d.cts +2 -2
- package/dist/charts/engine/renderers/shaders.d.ts +2 -2
- package/dist/charts/engine/renderers/shaders.js +37 -19
- package/dist/charts/engine/renderers/shaders.js.map +1 -1
- package/dist/charts/engine/renderers/types.cjs.map +1 -1
- package/dist/charts/engine/renderers/types.d.cts +11 -4
- package/dist/charts/engine/renderers/types.d.ts +11 -4
- package/dist/charts/engine/renderers/types.js.map +1 -1
- package/dist/charts/engine/renderers/webgl2.cjs +1 -1
- package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
- package/dist/charts/engine/renderers/webgl2.js +33 -12
- package/dist/charts/engine/renderers/webgl2.js.map +1 -1
- package/dist/charts/engine/renderers/webgpu.cjs +1 -1
- package/dist/charts/engine/renderers/webgpu.cjs.map +1 -1
- package/dist/charts/engine/renderers/webgpu.js +18 -15
- package/dist/charts/engine/renderers/webgpu.js.map +1 -1
- package/dist/charts/engine/scene.cjs +2 -0
- package/dist/charts/engine/scene.cjs.map +1 -0
- package/dist/charts/engine/scene.d.cts +102 -0
- package/dist/charts/engine/scene.d.ts +102 -0
- package/dist/charts/engine/scene.js +353 -0
- package/dist/charts/engine/scene.js.map +1 -0
- package/dist/charts/engine/shapes/canvas.cjs +2 -0
- package/dist/charts/engine/shapes/canvas.cjs.map +1 -0
- package/dist/charts/engine/shapes/canvas.d.cts +58 -0
- package/dist/charts/engine/shapes/canvas.d.ts +58 -0
- package/dist/charts/engine/shapes/canvas.js +159 -0
- package/dist/charts/engine/shapes/canvas.js.map +1 -0
- package/dist/charts/engine/shapes/chart.cjs +2 -0
- package/dist/charts/engine/shapes/chart.cjs.map +1 -0
- package/dist/charts/engine/shapes/chart.d.cts +6 -0
- package/dist/charts/engine/shapes/chart.d.ts +6 -0
- package/dist/charts/engine/shapes/chart.js +273 -0
- package/dist/charts/engine/shapes/chart.js.map +1 -0
- package/dist/charts/engine/shapes/draw.cjs +2 -0
- package/dist/charts/engine/shapes/draw.cjs.map +1 -0
- package/dist/charts/engine/shapes/draw.d.cts +20 -0
- package/dist/charts/engine/shapes/draw.d.ts +20 -0
- package/dist/charts/engine/shapes/draw.js +152 -0
- package/dist/charts/engine/shapes/draw.js.map +1 -0
- package/dist/charts/engine/shapes/funnel.cjs +2 -0
- package/dist/charts/engine/shapes/funnel.cjs.map +1 -0
- package/dist/charts/engine/shapes/funnel.d.cts +6 -0
- package/dist/charts/engine/shapes/funnel.d.ts +6 -0
- package/dist/charts/engine/shapes/funnel.js +149 -0
- package/dist/charts/engine/shapes/funnel.js.map +1 -0
- package/dist/charts/engine/shapes/gauge.cjs +2 -0
- package/dist/charts/engine/shapes/gauge.cjs.map +1 -0
- package/dist/charts/engine/shapes/gauge.d.cts +7 -0
- package/dist/charts/engine/shapes/gauge.d.ts +7 -0
- package/dist/charts/engine/shapes/gauge.js +173 -0
- package/dist/charts/engine/shapes/gauge.js.map +1 -0
- package/dist/charts/engine/shapes/hit.cjs +2 -0
- package/dist/charts/engine/shapes/hit.cjs.map +1 -0
- package/dist/charts/engine/shapes/hit.d.cts +28 -0
- package/dist/charts/engine/shapes/hit.d.ts +28 -0
- package/dist/charts/engine/shapes/hit.js +124 -0
- package/dist/charts/engine/shapes/hit.js.map +1 -0
- package/dist/charts/engine/shapes/index.d.cts +9 -0
- package/dist/charts/engine/shapes/index.d.ts +9 -0
- package/dist/charts/engine/shapes/layout.cjs +3 -0
- package/dist/charts/engine/shapes/layout.cjs.map +1 -0
- package/dist/charts/engine/shapes/layout.d.cts +88 -0
- package/dist/charts/engine/shapes/layout.d.ts +88 -0
- package/dist/charts/engine/shapes/layout.js +266 -0
- package/dist/charts/engine/shapes/layout.js.map +1 -0
- package/dist/charts/engine/shapes/pie.cjs +2 -0
- package/dist/charts/engine/shapes/pie.cjs.map +1 -0
- package/dist/charts/engine/shapes/pie.d.cts +20 -0
- package/dist/charts/engine/shapes/pie.d.ts +20 -0
- package/dist/charts/engine/shapes/pie.js +302 -0
- package/dist/charts/engine/shapes/pie.js.map +1 -0
- package/dist/charts/engine/shapes/radar.cjs +2 -0
- package/dist/charts/engine/shapes/radar.cjs.map +1 -0
- package/dist/charts/engine/shapes/radar.d.cts +8 -0
- package/dist/charts/engine/shapes/radar.d.ts +8 -0
- package/dist/charts/engine/shapes/radar.js +197 -0
- package/dist/charts/engine/shapes/radar.js.map +1 -0
- package/dist/charts/engine/shapes/runtime.cjs +2 -0
- package/dist/charts/engine/shapes/runtime.cjs.map +1 -0
- package/dist/charts/engine/shapes/runtime.d.cts +29 -0
- package/dist/charts/engine/shapes/runtime.d.ts +29 -0
- package/dist/charts/engine/shapes/runtime.js +97 -0
- package/dist/charts/engine/shapes/runtime.js.map +1 -0
- package/dist/charts/engine/shapes/scene.cjs +2 -0
- package/dist/charts/engine/shapes/scene.cjs.map +1 -0
- package/dist/charts/engine/shapes/scene.d.cts +257 -0
- package/dist/charts/engine/shapes/scene.d.ts +257 -0
- package/dist/charts/engine/shapes/scene.js +123 -0
- package/dist/charts/engine/shapes/scene.js.map +1 -0
- package/dist/charts/engine/shapes/treemap.cjs +2 -0
- package/dist/charts/engine/shapes/treemap.cjs.map +1 -0
- package/dist/charts/engine/shapes/treemap.d.cts +14 -0
- package/dist/charts/engine/shapes/treemap.d.ts +14 -0
- package/dist/charts/engine/shapes/treemap.js +213 -0
- package/dist/charts/engine/shapes/treemap.js.map +1 -0
- package/dist/charts/engine/shapes/types.d.cts +292 -0
- package/dist/charts/engine/shapes/types.d.ts +292 -0
- package/dist/charts/engine/signature.cjs +2 -0
- package/dist/charts/engine/signature.cjs.map +1 -0
- package/dist/charts/engine/signature.d.cts +9 -0
- package/dist/charts/engine/signature.d.ts +9 -0
- package/dist/charts/engine/signature.js +13 -0
- package/dist/charts/engine/signature.js.map +1 -0
- package/dist/charts/engine/theme.cjs +1 -1
- package/dist/charts/engine/theme.cjs.map +1 -1
- package/dist/charts/engine/theme.d.cts +35 -2
- package/dist/charts/engine/theme.d.ts +35 -2
- package/dist/charts/engine/theme.js +66 -26
- package/dist/charts/engine/theme.js.map +1 -1
- package/dist/charts/engine/types.d.cts +139 -11
- package/dist/charts/engine/types.d.ts +139 -11
- package/dist/charts/index.cjs +1 -1
- package/dist/charts/index.d.cts +4 -2
- package/dist/charts/index.d.ts +4 -2
- package/dist/charts/index.js +8 -2
- package/dist/charts/react/Chart.cjs +1 -1
- package/dist/charts/react/Chart.cjs.map +1 -1
- package/dist/charts/react/Chart.d.cts +18 -4
- package/dist/charts/react/Chart.d.ts +18 -4
- package/dist/charts/react/Chart.js +102 -41
- package/dist/charts/react/Chart.js.map +1 -1
- package/dist/charts/react/charts.cjs +1 -1
- package/dist/charts/react/charts.cjs.map +1 -1
- package/dist/charts/react/charts.d.cts +11 -3
- package/dist/charts/react/charts.d.ts +11 -3
- package/dist/charts/react/charts.js +221 -144
- package/dist/charts/react/charts.js.map +1 -1
- package/dist/charts/react/shapes.cjs +2 -0
- package/dist/charts/react/shapes.cjs.map +1 -0
- package/dist/charts/react/shapes.d.cts +255 -0
- package/dist/charts/react/shapes.d.ts +255 -0
- package/dist/charts/react/shapes.js +242 -0
- package/dist/charts/react/shapes.js.map +1 -0
- package/dist/charts/react/types.d.cts +100 -63
- package/dist/charts/react/types.d.ts +100 -63
- package/dist/native/charts/src/canvas.cjs +1 -0
- package/dist/native/charts/src/canvas.js +6 -0
- package/dist/native/charts/src/engine/axis.cjs +2 -0
- package/dist/native/charts/src/engine/axis.cjs.map +1 -0
- package/dist/native/charts/src/engine/axis.js +38 -0
- package/dist/native/charts/src/engine/axis.js.map +1 -0
- package/dist/native/charts/src/engine/canvas.cjs +1 -0
- package/dist/native/charts/src/engine/canvas.js +1 -0
- package/dist/native/charts/src/engine/color.cjs +2 -0
- package/dist/native/charts/src/engine/color.cjs.map +1 -0
- package/dist/native/charts/src/engine/color.js +139 -0
- package/dist/native/charts/src/engine/color.js.map +1 -0
- package/dist/native/charts/src/engine/controller.cjs +3 -0
- package/dist/native/charts/src/engine/controller.cjs.map +1 -0
- package/dist/native/charts/src/engine/controller.js +592 -0
- package/dist/native/charts/src/engine/controller.js.map +1 -0
- package/dist/native/charts/src/engine/curve.cjs +2 -0
- package/dist/native/charts/src/engine/curve.cjs.map +1 -0
- package/dist/native/charts/src/engine/curve.js +56 -0
- package/dist/native/charts/src/engine/curve.js.map +1 -0
- package/dist/native/charts/src/engine/data.cjs +2 -0
- package/dist/native/charts/src/engine/data.cjs.map +1 -0
- package/dist/native/charts/src/engine/data.js +164 -0
- package/dist/native/charts/src/engine/data.js.map +1 -0
- package/dist/native/charts/src/engine/decimate.cjs +2 -0
- package/dist/native/charts/src/engine/decimate.cjs.map +1 -0
- package/dist/native/charts/src/engine/decimate.js +28 -0
- package/dist/native/charts/src/engine/decimate.js.map +1 -0
- package/dist/native/charts/src/engine/format.cjs +2 -0
- package/dist/native/charts/src/engine/format.cjs.map +1 -0
- package/dist/native/charts/src/engine/format.js +34 -0
- package/dist/native/charts/src/engine/format.js.map +1 -0
- package/dist/native/charts/src/engine/layout.cjs +2 -0
- package/dist/native/charts/src/engine/layout.cjs.map +1 -0
- package/dist/native/charts/src/engine/layout.js +26 -0
- package/dist/native/charts/src/engine/layout.js.map +1 -0
- package/dist/native/charts/src/engine/model.cjs +2 -0
- package/dist/native/charts/src/engine/model.cjs.map +1 -0
- package/dist/native/charts/src/engine/model.js +292 -0
- package/dist/native/charts/src/engine/model.js.map +1 -0
- package/dist/native/charts/src/engine/overlay.cjs +2 -0
- package/dist/native/charts/src/engine/overlay.cjs.map +1 -0
- package/dist/native/charts/src/engine/overlay.js +49 -0
- package/dist/native/charts/src/engine/overlay.js.map +1 -0
- package/dist/native/charts/src/engine/presets.cjs +3 -0
- package/dist/native/charts/src/engine/presets.cjs.map +1 -0
- package/dist/native/charts/src/engine/presets.js +154 -0
- package/dist/native/charts/src/engine/presets.js.map +1 -0
- package/dist/native/charts/src/engine/scale.cjs +2 -0
- package/dist/native/charts/src/engine/scale.cjs.map +1 -0
- package/dist/native/charts/src/engine/scale.js +37 -0
- package/dist/native/charts/src/engine/scale.js.map +1 -0
- package/dist/native/charts/src/engine/scene.cjs +2 -0
- package/dist/native/charts/src/engine/scene.cjs.map +1 -0
- package/dist/native/charts/src/engine/scene.js +353 -0
- package/dist/native/charts/src/engine/scene.js.map +1 -0
- package/dist/native/charts/src/engine/spatial.cjs +2 -0
- package/dist/native/charts/src/engine/spatial.cjs.map +1 -0
- package/dist/native/charts/src/engine/spatial.js +53 -0
- package/dist/native/charts/src/engine/spatial.js.map +1 -0
- package/dist/native/charts/src/engine/theme.cjs +2 -0
- package/dist/native/charts/src/engine/theme.cjs.map +1 -0
- package/dist/native/charts/src/engine/theme.js +62 -0
- package/dist/native/charts/src/engine/theme.js.map +1 -0
- package/dist/native/charts/src/engine/time.cjs +2 -0
- package/dist/native/charts/src/engine/time.cjs.map +1 -0
- package/dist/native/charts/src/engine/time.js +189 -0
- package/dist/native/charts/src/engine/time.js.map +1 -0
- package/dist/native/charts/src/engine/viewport.cjs +2 -0
- package/dist/native/charts/src/engine/viewport.cjs.map +1 -0
- package/dist/native/charts/src/engine/viewport.js +12 -0
- package/dist/native/charts/src/engine/viewport.js.map +1 -0
- package/dist/native/components/Chart/ChartBase.cjs +2 -0
- package/dist/native/components/Chart/ChartBase.cjs.map +1 -0
- package/dist/native/components/Chart/ChartBase.d.cts +29 -0
- package/dist/native/components/Chart/ChartBase.d.ts +29 -0
- package/dist/native/components/Chart/ChartBase.js +287 -0
- package/dist/native/components/Chart/ChartBase.js.map +1 -0
- package/dist/native/components/Chart/charts.cjs +2 -0
- package/dist/native/components/Chart/charts.cjs.map +1 -0
- package/dist/native/components/Chart/charts.d.cts +19 -0
- package/dist/native/components/Chart/charts.d.ts +19 -0
- package/dist/native/components/Chart/charts.js +173 -0
- package/dist/native/components/Chart/charts.js.map +1 -0
- package/dist/native/components/Chart/index.cjs +1 -0
- package/dist/native/components/Chart/index.d.cts +2 -0
- package/dist/native/components/Chart/index.d.ts +2 -0
- package/dist/native/components/Chart/index.js +2 -0
- package/dist/native/components/Chart/measure.cjs +2 -0
- package/dist/native/components/Chart/measure.cjs.map +1 -0
- package/dist/native/components/Chart/measure.d.cts +5 -0
- package/dist/native/components/Chart/measure.d.ts +5 -0
- package/dist/native/components/Chart/measure.js +11 -0
- package/dist/native/components/Chart/measure.js.map +1 -0
- package/dist/native/components/Chart/scene.cjs +2 -0
- package/dist/native/components/Chart/scene.cjs.map +1 -0
- package/dist/native/components/Chart/scene.d.cts +41 -0
- package/dist/native/components/Chart/scene.d.ts +41 -0
- package/dist/native/components/Chart/scene.js +431 -0
- package/dist/native/components/Chart/scene.js.map +1 -0
- package/dist/native/components/Chart/theme.cjs +2 -0
- package/dist/native/components/Chart/theme.cjs.map +1 -0
- package/dist/native/components/Chart/theme.d.cts +10 -0
- package/dist/native/components/Chart/theme.d.ts +10 -0
- package/dist/native/components/Chart/theme.js +10 -0
- package/dist/native/components/Chart/theme.js.map +1 -0
- package/dist/native/components/Chart/types.d.cts +129 -0
- package/dist/native/components/Chart/types.d.ts +129 -0
- package/dist/native/index.cjs +1 -1
- package/dist/native/index.d.cts +1 -0
- package/dist/native/index.d.ts +1 -0
- package/dist/native/index.js +6 -4
- package/dist/native/manifest.d.cts +7 -0
- package/dist/native/manifest.d.ts +7 -0
- package/dist/native/source/components/Chart/ChartBase.tsx +545 -0
- package/dist/native/source/components/Chart/charts.tsx +291 -0
- package/dist/native/source/components/Chart/index.ts +8 -0
- package/dist/native/source/components/Chart/measure.ts +50 -0
- package/dist/native/source/components/Chart/scene.tsx +1021 -0
- package/dist/native/source/components/Chart/theme.ts +16 -0
- package/dist/native/source/components/Chart/types.ts +194 -0
- package/dist/native/source/index.ts +1 -0
- package/dist/native/source/manifest.ts +14 -0
- package/dist/taro/charts.d.ts +144 -0
- package/dist/taro/index.d.ts +1 -0
- package/dist/taro/index.js +3544 -618
- package/dist/uni/BarChart.vue +75 -0
- package/dist/uni/BarChart.vue.d.ts +111 -0
- package/dist/uni/Chart.vue +68 -0
- package/dist/uni/Chart.vue.d.ts +100 -0
- package/dist/uni/LineChart.vue +75 -0
- package/dist/uni/LineChart.vue.d.ts +111 -0
- package/dist/uni/ProgressIndicator.vue.d.ts +1 -1
- package/dist/uni/QuadrantChart.vue +184 -0
- package/dist/uni/QuadrantChart.vue.d.ts +173 -0
- package/dist/uni/ScatterChart.vue +69 -0
- package/dist/uni/ScatterChart.vue.d.ts +100 -0
- package/dist/uni/chart-canvas.d.ts +68 -0
- package/dist/uni/chart-canvas.js +363 -0
- package/dist/uni/chart-types.d.ts +135 -0
- package/dist/uni/chart-types.js +84 -0
- package/dist/uni/charts-canvas.d.ts +1 -0
- package/dist/uni/charts-canvas.js +10 -0
- package/dist/uni/index.d.ts +6 -0
- package/dist/uni/index.js +6 -0
- package/dist/weapp/bar-chart/index.js +1 -0
- package/dist/weapp/bar-chart/index.json +1 -0
- package/dist/weapp/bar-chart/index.wxml +1 -0
- package/dist/weapp/bar-chart/index.wxss +1 -0
- package/dist/weapp/chart/index.js +1 -0
- package/dist/weapp/chart/index.json +1 -0
- package/dist/weapp/chart/index.wxml +1 -0
- package/dist/weapp/chart/index.wxss +1 -0
- package/dist/weapp/controls.js +4760 -266
- package/dist/weapp/line-chart/index.js +1 -0
- package/dist/weapp/line-chart/index.json +1 -0
- package/dist/weapp/line-chart/index.wxml +1 -0
- package/dist/weapp/line-chart/index.wxss +1 -0
- package/dist/weapp/quadrant-chart/index.js +1 -0
- package/dist/weapp/quadrant-chart/index.json +1 -0
- package/dist/weapp/quadrant-chart/index.wxml +1 -0
- package/dist/weapp/quadrant-chart/index.wxss +1 -0
- package/dist/weapp/scatter-chart/index.js +1 -0
- package/dist/weapp/scatter-chart/index.json +1 -0
- package/dist/weapp/scatter-chart/index.wxml +1 -0
- package/dist/weapp/scatter-chart/index.wxss +1 -0
- package/dist/weapp/types.d.ts +295 -0
- package/package.json +21 -1
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { createShapeChart as e } from "../engine/shapes/chart.js";
|
|
3
|
+
import { useEffect as t, useImperativeHandle as n, useMemo as r, useRef as i, useState as a } from "react";
|
|
4
|
+
import { createPortal as o, flushSync as s } from "react-dom";
|
|
5
|
+
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
6
|
+
//#region src/react/shapes.tsx
|
|
7
|
+
var u = (e, t) => e === void 0 ? t : typeof e == "number" ? `${e}px` : e, d = ({ palette: e, legend: t, tooltip: n, format: i, percentFormat: a, hidden: o, animation: s, padding: c, ariaLabel: l }) => {
|
|
8
|
+
let u = o ? o.join(",") : null, d = r(() => u === null ? void 0 : u ? u.split(",").map(Number) : [], [u]);
|
|
9
|
+
return r(() => ({
|
|
10
|
+
palette: e,
|
|
11
|
+
legend: t,
|
|
12
|
+
tooltip: n,
|
|
13
|
+
format: i,
|
|
14
|
+
percentFormat: a,
|
|
15
|
+
hidden: d,
|
|
16
|
+
animation: s,
|
|
17
|
+
padding: c,
|
|
18
|
+
ariaLabel: l
|
|
19
|
+
}), [
|
|
20
|
+
e,
|
|
21
|
+
t,
|
|
22
|
+
n,
|
|
23
|
+
i,
|
|
24
|
+
a,
|
|
25
|
+
d,
|
|
26
|
+
s,
|
|
27
|
+
c,
|
|
28
|
+
l
|
|
29
|
+
]);
|
|
30
|
+
};
|
|
31
|
+
function f({ options: d, height: f, width: p, className: m, style: h, handleRef: g, renderTooltip: _, ...v }) {
|
|
32
|
+
let y = i(null), b = i(null), x = i(v), S = i(_), [C, w] = a(null), T = r(() => typeof document > "u" ? null : document.createElement("div"), []), E = !!_, D = r(() => {
|
|
33
|
+
if (!E || !T || d.tooltip === !1) return d;
|
|
34
|
+
let e = typeof d.tooltip == "object" ? d.tooltip : {};
|
|
35
|
+
return {
|
|
36
|
+
...d,
|
|
37
|
+
tooltip: {
|
|
38
|
+
...e,
|
|
39
|
+
render: (e) => S.current ? (s(() => w(e)), T) : null
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
}, [
|
|
43
|
+
d,
|
|
44
|
+
E,
|
|
45
|
+
T
|
|
46
|
+
]), O = i(D);
|
|
47
|
+
return t(() => {
|
|
48
|
+
x.current = v, S.current = _;
|
|
49
|
+
}), t(() => {
|
|
50
|
+
let t = y.current;
|
|
51
|
+
if (!t) return;
|
|
52
|
+
let n = e(t, O.current);
|
|
53
|
+
b.current = n;
|
|
54
|
+
let r = [
|
|
55
|
+
n.on("hover", (e) => x.current.onHover?.(e)),
|
|
56
|
+
n.on("click", (e) => x.current.onClick?.(e)),
|
|
57
|
+
n.on("toggle", (e) => x.current.onToggle?.(e))
|
|
58
|
+
];
|
|
59
|
+
return () => {
|
|
60
|
+
r.forEach((e) => e()), n.destroy(), b.current = null;
|
|
61
|
+
};
|
|
62
|
+
}, []), t(() => {
|
|
63
|
+
O.current !== D && (O.current = D, b.current?.setOptions(D));
|
|
64
|
+
}, [D]), n(g, () => ({ getInstance: () => b.current }), []), /* @__PURE__ */ l("div", {
|
|
65
|
+
className: m,
|
|
66
|
+
style: {
|
|
67
|
+
position: "relative",
|
|
68
|
+
width: u(p, "100%"),
|
|
69
|
+
height: u(f, "320px"),
|
|
70
|
+
...h
|
|
71
|
+
},
|
|
72
|
+
children: [/* @__PURE__ */ c("div", {
|
|
73
|
+
ref: y,
|
|
74
|
+
style: {
|
|
75
|
+
position: "absolute",
|
|
76
|
+
inset: 0
|
|
77
|
+
}
|
|
78
|
+
}), T && C && _ && o(_(C), T)]
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
function p(e) {
|
|
82
|
+
return /* @__PURE__ */ c(h, {
|
|
83
|
+
...e,
|
|
84
|
+
defaultInner: 0
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
function m(e) {
|
|
88
|
+
return /* @__PURE__ */ c(h, {
|
|
89
|
+
...e,
|
|
90
|
+
defaultInner: .62
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
function h(e) {
|
|
94
|
+
let { data: t, innerRadius: n, startAngle: i, padAngle: a, cornerRadius: o, rose: s, labels: l, labelContent: u, centerValue: f, centerLabel: p, defaultInner: m } = e, h = d(e), g = r(() => ({
|
|
95
|
+
...h,
|
|
96
|
+
type: "pie",
|
|
97
|
+
data: t,
|
|
98
|
+
innerRadius: n ?? m,
|
|
99
|
+
startAngle: i,
|
|
100
|
+
padAngle: a,
|
|
101
|
+
cornerRadius: o,
|
|
102
|
+
rose: s,
|
|
103
|
+
labels: l,
|
|
104
|
+
labelContent: u,
|
|
105
|
+
centerValue: f,
|
|
106
|
+
centerLabel: p
|
|
107
|
+
}), [
|
|
108
|
+
h,
|
|
109
|
+
t,
|
|
110
|
+
n,
|
|
111
|
+
m,
|
|
112
|
+
i,
|
|
113
|
+
a,
|
|
114
|
+
o,
|
|
115
|
+
s,
|
|
116
|
+
l,
|
|
117
|
+
u,
|
|
118
|
+
f,
|
|
119
|
+
p
|
|
120
|
+
]);
|
|
121
|
+
return /* @__PURE__ */ c(b, {
|
|
122
|
+
props: e,
|
|
123
|
+
options: g,
|
|
124
|
+
defaultHeight: 320
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
function g(e) {
|
|
128
|
+
let { indicators: t, series: n, shape: i, levels: a, dots: o } = e, s = d(e), l = r(() => ({
|
|
129
|
+
...s,
|
|
130
|
+
type: "radar",
|
|
131
|
+
indicators: t,
|
|
132
|
+
series: n,
|
|
133
|
+
shape: i,
|
|
134
|
+
levels: a,
|
|
135
|
+
dots: o
|
|
136
|
+
}), [
|
|
137
|
+
s,
|
|
138
|
+
t,
|
|
139
|
+
n,
|
|
140
|
+
i,
|
|
141
|
+
a,
|
|
142
|
+
o
|
|
143
|
+
]);
|
|
144
|
+
return /* @__PURE__ */ c(b, {
|
|
145
|
+
props: e,
|
|
146
|
+
options: l,
|
|
147
|
+
defaultHeight: 320
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
function _(e) {
|
|
151
|
+
let { value: t, min: n, max: i, label: a, sweep: o, thickness: s, bands: l, color: u, needle: f, ticks: p } = e, m = d(e), h = r(() => ({
|
|
152
|
+
...m,
|
|
153
|
+
type: "gauge",
|
|
154
|
+
value: t,
|
|
155
|
+
min: n,
|
|
156
|
+
max: i,
|
|
157
|
+
label: a,
|
|
158
|
+
sweep: o,
|
|
159
|
+
thickness: s,
|
|
160
|
+
bands: l,
|
|
161
|
+
color: u,
|
|
162
|
+
needle: f,
|
|
163
|
+
ticks: p
|
|
164
|
+
}), [
|
|
165
|
+
m,
|
|
166
|
+
t,
|
|
167
|
+
n,
|
|
168
|
+
i,
|
|
169
|
+
a,
|
|
170
|
+
o,
|
|
171
|
+
s,
|
|
172
|
+
l,
|
|
173
|
+
u,
|
|
174
|
+
f,
|
|
175
|
+
p
|
|
176
|
+
]);
|
|
177
|
+
return /* @__PURE__ */ c(b, {
|
|
178
|
+
props: e,
|
|
179
|
+
options: h,
|
|
180
|
+
defaultHeight: 240
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
function v(e) {
|
|
184
|
+
let { data: t, sort: n, gap: i, conversion: a, shape: o } = e, s = d(e), l = r(() => ({
|
|
185
|
+
...s,
|
|
186
|
+
type: "funnel",
|
|
187
|
+
data: t,
|
|
188
|
+
sort: n,
|
|
189
|
+
gap: i,
|
|
190
|
+
conversion: a,
|
|
191
|
+
shape: o
|
|
192
|
+
}), [
|
|
193
|
+
s,
|
|
194
|
+
t,
|
|
195
|
+
n,
|
|
196
|
+
i,
|
|
197
|
+
a,
|
|
198
|
+
o
|
|
199
|
+
]);
|
|
200
|
+
return /* @__PURE__ */ c(b, {
|
|
201
|
+
props: e,
|
|
202
|
+
options: l,
|
|
203
|
+
defaultHeight: 320
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
function y(e) {
|
|
207
|
+
let { data: t, gap: n, headers: i } = e, a = d(e), o = r(() => ({
|
|
208
|
+
...a,
|
|
209
|
+
type: "treemap",
|
|
210
|
+
data: t,
|
|
211
|
+
gap: n,
|
|
212
|
+
headers: i
|
|
213
|
+
}), [
|
|
214
|
+
a,
|
|
215
|
+
t,
|
|
216
|
+
n,
|
|
217
|
+
i
|
|
218
|
+
]);
|
|
219
|
+
return /* @__PURE__ */ c(b, {
|
|
220
|
+
props: e,
|
|
221
|
+
options: o,
|
|
222
|
+
defaultHeight: 320
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
function b({ props: e, options: t, defaultHeight: n }) {
|
|
226
|
+
return /* @__PURE__ */ c(f, {
|
|
227
|
+
options: t,
|
|
228
|
+
height: e.height ?? n,
|
|
229
|
+
width: e.width,
|
|
230
|
+
className: e.className,
|
|
231
|
+
style: e.style,
|
|
232
|
+
handleRef: e.ref,
|
|
233
|
+
onHover: e.onHover,
|
|
234
|
+
onClick: e.onClick,
|
|
235
|
+
onToggle: e.onToggle,
|
|
236
|
+
renderTooltip: e.renderTooltip
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
//#endregion
|
|
240
|
+
export { m as DonutChart, v as FunnelChart, _ as GaugeChart, p as PieChart, g as RadarChart, y as TreemapChart };
|
|
241
|
+
|
|
242
|
+
//# sourceMappingURL=shapes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shapes.js","names":["size","value","fallback","useCommonOptions","hiddenKey","hidden","stableHidden","useMemo","palette","legend","tooltip","format","percentFormat","animation","padding","ariaLabel","ShapeChartBase","handlers","containerRef","useRef","chartRef","handlersRef","tooltipRef","renderTooltip","tipEvent","setTipEvent","useState","tipHost","customTooltip","resolved","options","base","flushSync","event","optionsRef","useEffect","container","chart","createShapeChart","offs","off","useImperativeHandle","handleRef","width","height","style","createPortal","PieChart","PieBase","props","DonutChart","common","innerRadius","defaultInner","data","startAngle","padAngle","cornerRadius","rose","labels","labelContent","centerValue","centerLabel","ShapeHost","RadarChart","indicators","series","shape","levels","dots","GaugeChart","min","max","label","sweep","thickness","bands","color","needle","ticks","FunnelChart","sort","gap","conversion","TreemapChart","headers","defaultHeight"],"sources":["../../../../charts/src/react/shapes.tsx"],"sourcesContent":["import {\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from \"react\";\nimport { createPortal, flushSync } from \"react-dom\";\nimport type { ChartPadding } from \"../engine/types\";\nimport { createShapeChart } from \"../engine/shapes/chart\";\nimport type {\n FunnelChartOptions,\n GaugeBand,\n GaugeChartOptions,\n PieChartOptions,\n RadarChartOptions,\n RadarIndicator,\n RadarSeries,\n ShapeChartCommonOptions,\n ShapeChartInstance,\n ShapeChartOptions,\n ShapeDatum,\n ShapeHoverEvent,\n ShapeLegendOptions,\n ShapeToggleEvent,\n ShapeTooltipOptions,\n TreemapChartOptions,\n TreemapNode,\n} from \"../engine/shapes/types\";\n\n/** Imperative handle of the shape chart components (`ref`) */\nexport interface ShapeChartHandle {\n /** The underlying engine instance (minerva-design/charts/core) */\n getInstance(): ShapeChartInstance | null;\n}\n\n/** Props shared by PieChart, DonutChart, RadarChart, GaugeChart, FunnelChart and TreemapChart */\nexport interface ShapeChartCommonProps {\n /**\n * Height of the chart (the legend included); numbers are pixels\n * @default 320 (GaugeChart: 240)\n */\n height?: number | string;\n /**\n * Width of the chart; numbers are pixels\n * @default \"100%\"\n */\n width?: number | string;\n /** Colors of the marks without `color` (defaults to the `--chart-series-1..8` CSS variables, then the theme colors) */\n palette?: readonly string[];\n /**\n * Legend; clicking an item hides / shows its slice, stage or series\n * @default shown for pie, donut, funnel and multi-series radar charts\n */\n legend?: boolean | ShapeLegendOptions;\n /**\n * Tooltip; `false` disables it\n * @default true\n */\n tooltip?: boolean | ShapeTooltipOptions;\n /**\n * Formats the values of the labels and the tooltip\n * @default compact numbers (1.2k, 3.4M)\n */\n format?: (value: number) => string;\n /**\n * Formats the shares (labels, conversion rates, tooltip); `share` is 0-1\n * @default one decimal, e.g. \"40.0%\"\n */\n percentFormat?: (share: number) => string;\n /**\n * Hidden slices / stages / radar series / top-level treemap nodes, by\n * index. Makes the visibility controlled: legend clicks then only call\n * `onToggle`, whose `hiddenIndexes` should be stored and passed back.\n * Leave undefined to let the legend hide / show entries by itself.\n */\n hidden?: readonly number[];\n /**\n * Called when a legend item is clicked (or the instance's `toggle()` is\n * called), with the toggled index and every hidden index after the toggle\n */\n onToggle?: (event: ShapeToggleEvent) => void;\n /**\n * Entry and update animations (skipped when the user prefers reduced motion)\n * @default true\n */\n animation?: boolean;\n /**\n * Space around the drawing, in pixels\n * @default 8 on every side\n */\n padding?: ChartPadding;\n /**\n * Accessible name of the chart\n * @default the chart type, e.g. \"Donut chart\"\n */\n ariaLabel?: string;\n /** Called when the hovered (or keyboard-focused) mark changes */\n onHover?: (event: ShapeHoverEvent | null) => void;\n /** Called when a mark is clicked, tapped or activated with Enter */\n onClick?: (event: ShapeHoverEvent) => void;\n /** React content of the tooltip (replaces the default content) */\n renderTooltip?: (event: ShapeHoverEvent) => ReactNode;\n /** Additional class name of the root element */\n className?: string;\n /** Inline styles of the root element */\n style?: CSSProperties;\n /** Imperative handle */\n ref?: Ref<ShapeChartHandle>;\n}\n\n/** Props of PieChart */\nexport interface PieChartProps extends ShapeChartCommonProps {\n /** Slices: a name, a value (negative values count as 0) and an optional color */\n data: readonly ShapeDatum[];\n /**\n * Inner radius as a fraction of the outer radius: 0 = pie, 0.6 = donut\n * @default 0\n */\n innerRadius?: number;\n /**\n * Angle of the first slice, degrees clockwise from 12 o'clock\n * @default 0\n */\n startAngle?: number;\n /**\n * Gap between the slices, in pixels\n * @default 1 (pie), 2 (donut)\n */\n padAngle?: number;\n /**\n * Corner radius of the slices, in pixels\n * @default 0 (pie), 4 (donut)\n */\n cornerRadius?: number;\n /**\n * Nightingale rose: the radius (instead of the angle) shows the value\n * @default false\n */\n rose?: boolean;\n /**\n * Slice labels: `outside` with leader lines, `inside` the slices, or none\n * @default \"outside\" (up to 12 slices), \"none\" otherwise\n */\n labels?: \"outside\" | \"inside\" | \"none\";\n /**\n * What a label shows: name, value, percent (combinable)\n * @default [\"name\", \"percent\"]\n */\n labelContent?: readonly (\"name\" | \"value\" | \"percent\")[];\n /** Big text in the hole of a donut (e.g. the total) */\n centerValue?: string;\n /** Small text under `centerValue` */\n centerLabel?: string;\n}\n\n/** Props of DonutChart: a PieChart with a hole */\nexport interface DonutChartProps extends PieChartProps {\n /**\n * Inner radius as a fraction of the outer radius\n * @default 0.62\n */\n innerRadius?: number;\n}\n\n/** Props of RadarChart */\nexport interface RadarChartProps extends ShapeChartCommonProps {\n /** Axes of the chart, clockwise from 12 o'clock */\n indicators: readonly RadarIndicator[];\n /** Polygons: one value per indicator */\n series: readonly RadarSeries[];\n /**\n * Grid shape\n * @default \"polygon\"\n */\n shape?: \"polygon\" | \"circle\";\n /**\n * Number of grid rings\n * @default 4\n */\n levels?: number;\n /**\n * Dots on the vertices\n * @default true\n */\n dots?: boolean;\n}\n\n/** Props of GaugeChart */\nexport interface GaugeChartProps extends ShapeChartCommonProps {\n /** Value shown by the arc (clamped to `min` - `max` for the drawing) */\n value: number;\n /**\n * Value at the start of the arc\n * @default 0\n */\n min?: number;\n /**\n * Value at the end of the arc\n * @default 100\n */\n max?: number;\n /** Caption under the value */\n label?: string;\n /**\n * Total angle of the arc, degrees\n * @default 240\n */\n sweep?: number;\n /**\n * Thickness of the arc as a fraction of the radius\n * @default 0.16\n */\n thickness?: number;\n /** Colored ranges of the track; the value arc takes the color of its band */\n bands?: readonly GaugeBand[];\n /**\n * Color of the value arc (when there are no bands)\n * @default the first palette color\n */\n color?: string;\n /**\n * Draws a needle in addition to the value arc\n * @default false\n */\n needle?: boolean;\n /**\n * Tick labels at the ends (and at the band bounds)\n * @default true\n */\n ticks?: boolean;\n}\n\n/** Props of FunnelChart */\nexport interface FunnelChartProps extends ShapeChartCommonProps {\n /** Stages: a name, a value and an optional color */\n data: readonly ShapeDatum[];\n /**\n * Order of the stages\n * @default \"none\" (data order)\n */\n sort?: \"descending\" | \"ascending\" | \"none\";\n /**\n * Vertical gap between the stages, in pixels\n * @default 4\n */\n gap?: number;\n /**\n * Shows the conversion rate from the previous stage\n * @default true\n */\n conversion?: boolean;\n /**\n * Shape of the stages: trapezoids that narrow to the next stage, or centered bars\n * @default \"trapezoid\"\n */\n shape?: \"trapezoid\" | \"bar\";\n}\n\n/** Props of TreemapChart */\nexport interface TreemapChartProps extends ShapeChartCommonProps {\n /** Nodes: leaves carry a value, parents sum their children */\n data: readonly TreemapNode[];\n /**\n * Gap between the cells, in pixels\n * @default 2\n */\n gap?: number;\n /**\n * Draws the names of the parents above their children\n * @default true\n */\n headers?: boolean;\n}\n\ninterface Handlers {\n onHover?: (event: ShapeHoverEvent | null) => void;\n onClick?: (event: ShapeHoverEvent) => void;\n onToggle?: (event: ShapeToggleEvent) => void;\n}\n\ninterface ShapeChartBaseProps extends Handlers {\n options: ShapeChartOptions;\n height: number | string;\n width?: number | string;\n className?: string;\n style?: CSSProperties;\n handleRef?: Ref<ShapeChartHandle>;\n renderTooltip?: (event: ShapeHoverEvent) => ReactNode;\n}\n\nconst size = (value: number | string | undefined, fallback: string) =>\n value === undefined\n ? fallback\n : typeof value === \"number\"\n ? `${value}px`\n : value;\n\n/** Engine options shared by every type, stable while the props are equal */\nconst useCommonOptions = ({\n palette,\n legend,\n tooltip,\n format,\n percentFormat,\n hidden,\n animation,\n padding,\n ariaLabel,\n}: ShapeChartCommonProps): ShapeChartCommonOptions => {\n // a new array with the same indexes keeps the options (and the animation)\n const hiddenKey = hidden ? hidden.join(\",\") : null;\n const stableHidden = useMemo(\n () =>\n hiddenKey === null\n ? undefined\n : hiddenKey\n ? hiddenKey.split(\",\").map(Number)\n : [],\n [hiddenKey],\n );\n return useMemo(\n () => ({\n palette,\n legend,\n tooltip,\n format,\n percentFormat,\n hidden: stableHidden,\n animation,\n padding,\n ariaLabel,\n }),\n [\n palette,\n legend,\n tooltip,\n format,\n percentFormat,\n stableHidden,\n animation,\n padding,\n ariaLabel,\n ],\n );\n};\n\n/** Mounts the engine in a sized <div> and forwards option / handler changes */\nfunction ShapeChartBase({\n options,\n height,\n width,\n className,\n style,\n handleRef,\n renderTooltip,\n ...handlers\n}: ShapeChartBaseProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const chartRef = useRef<ShapeChartInstance | null>(null);\n const handlersRef = useRef<Handlers>(handlers);\n const tooltipRef = useRef(renderTooltip);\n const [tipEvent, setTipEvent] = useState<ShapeHoverEvent | null>(null);\n const tipHost = useMemo(\n () =>\n typeof document === \"undefined\" ? null : document.createElement(\"div\"),\n [],\n );\n const customTooltip = !!renderTooltip;\n\n const resolved = useMemo((): ShapeChartOptions => {\n if (!customTooltip || !tipHost || options.tooltip === false) return options;\n const base = typeof options.tooltip === \"object\" ? options.tooltip : {};\n return {\n ...options,\n tooltip: {\n ...base,\n render: (event) => {\n if (!tooltipRef.current) return null;\n // render synchronously so the engine measures the final size\n flushSync(() => setTipEvent(event));\n return tipHost;\n },\n },\n };\n }, [options, customTooltip, tipHost]);\n const optionsRef = useRef(resolved);\n\n useEffect(() => {\n handlersRef.current = handlers;\n tooltipRef.current = renderTooltip;\n });\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n const chart = createShapeChart(container, optionsRef.current);\n chartRef.current = chart;\n const offs = [\n chart.on(\"hover\", (e) => handlersRef.current.onHover?.(e)),\n chart.on(\"click\", (e) => handlersRef.current.onClick?.(e)),\n chart.on(\"toggle\", (e) => handlersRef.current.onToggle?.(e)),\n ];\n return () => {\n offs.forEach((off) => off());\n chart.destroy();\n chartRef.current = null;\n };\n }, []);\n\n useEffect(() => {\n if (optionsRef.current === resolved) return;\n optionsRef.current = resolved;\n chartRef.current?.setOptions(resolved);\n }, [resolved]);\n\n useImperativeHandle(\n handleRef,\n () => ({ getInstance: () => chartRef.current }),\n [],\n );\n\n return (\n <div\n className={className}\n style={{\n position: \"relative\",\n width: size(width, \"100%\"),\n height: size(height, \"320px\"),\n ...style,\n }}\n >\n <div ref={containerRef} style={{ position: \"absolute\", inset: 0 }} />\n {tipHost &&\n tipEvent &&\n renderTooltip &&\n createPortal(renderTooltip(tipEvent), tipHost)}\n </div>\n );\n}\n\n/**\n * Pie chart (or a donut with `innerRadius`, or a Nightingale rose with\n * `rose`): slices with gaps, outside labels with leader lines, legend toggles.\n */\nexport function PieChart(props: PieChartProps) {\n return <PieBase {...props} defaultInner={0} />;\n}\n\n/** Donut chart: a PieChart with a hole and optional center texts */\nexport function DonutChart(props: DonutChartProps) {\n return <PieBase {...props} defaultInner={0.62} />;\n}\n\nfunction PieBase(props: PieChartProps & { defaultInner: number }) {\n const {\n data,\n innerRadius,\n startAngle,\n padAngle,\n cornerRadius,\n rose,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n defaultInner,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): PieChartOptions => ({\n ...common,\n type: \"pie\",\n data,\n innerRadius: innerRadius ?? defaultInner,\n startAngle,\n padAngle,\n cornerRadius,\n rose,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n }),\n [\n common,\n data,\n innerRadius,\n defaultInner,\n startAngle,\n padAngle,\n cornerRadius,\n rose,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n ],\n );\n return <ShapeHost props={props} options={options} defaultHeight={320} />;\n}\n\n/** Radar (spider) chart comparing series over several indicators */\nexport function RadarChart(props: RadarChartProps) {\n const { indicators, series, shape, levels, dots } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): RadarChartOptions => ({\n ...common,\n type: \"radar\",\n indicators,\n series,\n shape,\n levels,\n dots,\n }),\n [common, indicators, series, shape, levels, dots],\n );\n return <ShapeHost props={props} options={options} defaultHeight={320} />;\n}\n\n/** Gauge (speedometer) showing one value on an arc, with colored bands */\nexport function GaugeChart(props: GaugeChartProps) {\n const {\n value,\n min,\n max,\n label,\n sweep,\n thickness,\n bands,\n color,\n needle,\n ticks,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): GaugeChartOptions => ({\n ...common,\n type: \"gauge\",\n value,\n min,\n max,\n label,\n sweep,\n thickness,\n bands,\n color,\n needle,\n ticks,\n }),\n [\n common,\n value,\n min,\n max,\n label,\n sweep,\n thickness,\n bands,\n color,\n needle,\n ticks,\n ],\n );\n return <ShapeHost props={props} options={options} defaultHeight={240} />;\n}\n\n/** Funnel chart of the stages of a process, with conversion rates */\nexport function FunnelChart(props: FunnelChartProps) {\n const { data, sort, gap, conversion, shape } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): FunnelChartOptions => ({\n ...common,\n type: \"funnel\",\n data,\n sort,\n gap,\n conversion,\n shape,\n }),\n [common, data, sort, gap, conversion, shape],\n );\n return <ShapeHost props={props} options={options} defaultHeight={320} />;\n}\n\n/** Treemap: nested rectangles of areas proportional to the values */\nexport function TreemapChart(props: TreemapChartProps) {\n const { data, gap, headers } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): TreemapChartOptions => ({\n ...common,\n type: \"treemap\",\n data,\n gap,\n headers,\n }),\n [common, data, gap, headers],\n );\n return <ShapeHost props={props} options={options} defaultHeight={320} />;\n}\n\nfunction ShapeHost({\n props,\n options,\n defaultHeight,\n}: {\n props: ShapeChartCommonProps;\n options: ShapeChartOptions;\n defaultHeight: number;\n}) {\n return (\n <ShapeChartBase\n options={options}\n height={props.height ?? defaultHeight}\n width={props.width}\n className={props.className}\n style={props.style}\n handleRef={props.ref}\n onHover={props.onHover}\n onClick={props.onClick}\n onToggle={props.onToggle}\n renderTooltip={props.renderTooltip}\n />\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
import { CSSProperties, Ref } from 'react';
|
|
2
|
-
import { ChartAnnotation, ChartAxisOptions, ChartHoverEvent, ChartInstance, ChartLegendOptions, ChartInteractionOptions, ChartPadding, ChartRendererKind, ChartRendererPreference, ChartSeries, ChartTooltipOptions, ChartView } from '../engine/types.cjs';
|
|
1
|
+
import { CSSProperties, ReactNode, Ref } from 'react';
|
|
2
|
+
import { ChartAnnotation, ChartAxisOptions, ChartCurve, ChartHoverEvent, ChartInstance, ChartLegendOptions, ChartInteractionOptions, ChartPadding, ChartPlotClickEvent, ChartRendererKind, ChartRendererPreference, ChartSeries, ChartTooltipOptions, ChartView } from '../engine/types.cjs';
|
|
3
|
+
import { HeatmapConfig, QuadrantConfig, QuadrantCorner, QuadrantPoint, SparklineConfig } from '../engine/presets.cjs';
|
|
4
|
+
export type { HeatmapCell, HeatmapConfig, QuadrantAxisLabels, QuadrantConfig, QuadrantCorner, QuadrantPoint, QuadrantRegion, QuadrantRegions, SparklineConfig, } from '../engine/presets.cjs';
|
|
3
5
|
/** Imperative handle of the chart components (`ref`) */
|
|
4
6
|
export interface ChartHandle {
|
|
5
7
|
/** Shows the whole data range */
|
|
@@ -57,6 +59,10 @@ export interface ChartCommonProps {
|
|
|
57
59
|
onHover?: (event: ChartHoverEvent | null) => void;
|
|
58
60
|
/** Called when a point (or bar) is clicked */
|
|
59
61
|
onPointClick?: (event: ChartHoverEvent) => void;
|
|
62
|
+
/** Called when the plot area is clicked where there is no point */
|
|
63
|
+
onPlotClick?: (event: ChartPlotClickEvent) => void;
|
|
64
|
+
/** React content of the tooltip (replaces the default content) */
|
|
65
|
+
renderTooltip?: (event: ChartHoverEvent) => ReactNode;
|
|
60
66
|
/** Called when the user zooms or pans */
|
|
61
67
|
onZoom?: (view: ChartView) => void;
|
|
62
68
|
/** Called with the backend once it is ready (and when it falls back after a GPU loss) */
|
|
@@ -68,10 +74,15 @@ export interface ChartCommonProps {
|
|
|
68
74
|
/** Imperative handle */
|
|
69
75
|
ref?: Ref<ChartHandle>;
|
|
70
76
|
}
|
|
71
|
-
/** Props of Chart: any mix of line, area, bar and
|
|
77
|
+
/** Props of Chart: any mix of line, area, bar, scatter, candlestick and heatmap series */
|
|
72
78
|
export interface ChartProps extends ChartCommonProps {
|
|
73
79
|
/** Data series; each sets its own `type` */
|
|
74
80
|
series: readonly ChartSeries[];
|
|
81
|
+
/**
|
|
82
|
+
* `percent` scales every stack to 100% at each x
|
|
83
|
+
* @default "normal"
|
|
84
|
+
*/
|
|
85
|
+
stackMode?: "normal" | "percent";
|
|
75
86
|
}
|
|
76
87
|
/** Props of LineChart */
|
|
77
88
|
export interface LineChartProps extends ChartCommonProps {
|
|
@@ -82,6 +93,41 @@ export interface LineChartProps extends ChartCommonProps {
|
|
|
82
93
|
* @default false
|
|
83
94
|
*/
|
|
84
95
|
area?: boolean;
|
|
96
|
+
/**
|
|
97
|
+
* Shape of the lines: straight, smooth (monotone) or steps
|
|
98
|
+
* @default "linear"
|
|
99
|
+
*/
|
|
100
|
+
curve?: ChartCurve;
|
|
101
|
+
/**
|
|
102
|
+
* Stacks the series on top of each other
|
|
103
|
+
* @default false
|
|
104
|
+
*/
|
|
105
|
+
stacked?: boolean;
|
|
106
|
+
/**
|
|
107
|
+
* Scales the stacks to 100% (with `stacked`)
|
|
108
|
+
* @default false
|
|
109
|
+
*/
|
|
110
|
+
percent?: boolean;
|
|
111
|
+
}
|
|
112
|
+
/** Props of AreaChart */
|
|
113
|
+
export interface AreaChartProps extends ChartCommonProps {
|
|
114
|
+
/** Series drawn as areas unless they set a `type` */
|
|
115
|
+
series: readonly ChartSeries[];
|
|
116
|
+
/**
|
|
117
|
+
* Shape of the edges: straight, smooth (monotone) or steps
|
|
118
|
+
* @default "smooth"
|
|
119
|
+
*/
|
|
120
|
+
curve?: ChartCurve;
|
|
121
|
+
/**
|
|
122
|
+
* Stacks the areas on top of each other
|
|
123
|
+
* @default false
|
|
124
|
+
*/
|
|
125
|
+
stacked?: boolean;
|
|
126
|
+
/**
|
|
127
|
+
* Scales the stacks to 100% (implies `stacked`)
|
|
128
|
+
* @default false
|
|
129
|
+
*/
|
|
130
|
+
percent?: boolean;
|
|
85
131
|
}
|
|
86
132
|
/** Props of BarChart */
|
|
87
133
|
export interface BarChartProps extends ChartCommonProps {
|
|
@@ -92,77 +138,68 @@ export interface BarChartProps extends ChartCommonProps {
|
|
|
92
138
|
* @default false
|
|
93
139
|
*/
|
|
94
140
|
stacked?: boolean;
|
|
141
|
+
/**
|
|
142
|
+
* Scales the stacks to 100% (implies `stacked`)
|
|
143
|
+
* @default false
|
|
144
|
+
*/
|
|
145
|
+
percent?: boolean;
|
|
146
|
+
/**
|
|
147
|
+
* Writes the value above every bar
|
|
148
|
+
* @default false
|
|
149
|
+
*/
|
|
150
|
+
labels?: boolean;
|
|
151
|
+
}
|
|
152
|
+
/** Props of CandlestickChart */
|
|
153
|
+
export interface CandlestickChartProps extends ChartCommonProps {
|
|
154
|
+
/**
|
|
155
|
+
* Series drawn as candles unless they set a `type` (e.g. a moving average
|
|
156
|
+
* `line`); data points carry `open`, `high`, `low` and `y` (the close)
|
|
157
|
+
*/
|
|
158
|
+
series: readonly ChartSeries[];
|
|
159
|
+
}
|
|
160
|
+
/** Props of HeatmapChart */
|
|
161
|
+
export interface HeatmapChartProps extends Omit<ChartCommonProps, "crosshair">, HeatmapConfig {
|
|
162
|
+
}
|
|
163
|
+
/** Props of Sparkline */
|
|
164
|
+
export interface SparklineProps extends Pick<ChartCommonProps, "width" | "renderer" | "tooltip" | "palette" | "ariaLabel" | "onHover" | "renderTooltip" | "className" | "style" | "ref">, SparklineConfig {
|
|
165
|
+
/**
|
|
166
|
+
* Height of the sparkline; numbers are pixels
|
|
167
|
+
* @default 48
|
|
168
|
+
*/
|
|
169
|
+
height?: number | string;
|
|
95
170
|
}
|
|
96
171
|
/** Props of ScatterChart */
|
|
97
172
|
export interface ScatterChartProps extends ChartCommonProps {
|
|
98
173
|
/** Series drawn as dots unless they set a `type` */
|
|
99
174
|
series: readonly ChartSeries[];
|
|
100
175
|
}
|
|
101
|
-
/**
|
|
102
|
-
export interface
|
|
103
|
-
/**
|
|
176
|
+
/** Where a dragged QuadrantChart point was dropped */
|
|
177
|
+
export interface QuadrantDropTarget {
|
|
178
|
+
/** Data coordinates of the drop */
|
|
104
179
|
x: number;
|
|
105
|
-
/** Position on the vertical axis */
|
|
106
180
|
y: number;
|
|
107
|
-
/**
|
|
108
|
-
|
|
109
|
-
/** Dot color (any CSS color); the color of its quadrant by default */
|
|
110
|
-
color?: string;
|
|
111
|
-
/** Dot diameter in pixels */
|
|
112
|
-
size?: number;
|
|
113
|
-
}
|
|
114
|
-
/** Title and color of a quadrant */
|
|
115
|
-
export interface QuadrantRegion {
|
|
116
|
-
/** Title drawn in the outer corner of the quadrant */
|
|
117
|
-
label?: string;
|
|
118
|
-
/** Background tint and default dot color (any CSS color) */
|
|
119
|
-
color?: string;
|
|
120
|
-
}
|
|
121
|
-
/** The four quadrants of a QuadrantChart */
|
|
122
|
-
export interface QuadrantRegions {
|
|
123
|
-
topLeft?: QuadrantRegion;
|
|
124
|
-
topRight?: QuadrantRegion;
|
|
125
|
-
bottomLeft?: QuadrantRegion;
|
|
126
|
-
bottomRight?: QuadrantRegion;
|
|
181
|
+
/** Quadrant of the drop, as seen on screen */
|
|
182
|
+
quadrant: QuadrantCorner;
|
|
127
183
|
}
|
|
128
184
|
/** Props of QuadrantChart */
|
|
129
|
-
export interface QuadrantChartProps extends Omit<ChartCommonProps, "onPointClick" | "xAxis" | "yAxis"
|
|
130
|
-
/**
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
/**
|
|
138
|
-
*
|
|
139
|
-
*
|
|
140
|
-
*/
|
|
141
|
-
yDomain?: [number, number];
|
|
142
|
-
/** X value of the vertical divider (the middle of `xDomain` by default) */
|
|
143
|
-
xSplit?: number;
|
|
144
|
-
/** Y value of the horizontal divider (the middle of `yDomain` by default) */
|
|
145
|
-
ySplit?: number;
|
|
146
|
-
/** Titles and colors of the quadrants */
|
|
147
|
-
quadrants?: QuadrantRegions;
|
|
148
|
-
/** Title of the horizontal axis */
|
|
149
|
-
xLabel?: string;
|
|
150
|
-
/** Title of the vertical axis */
|
|
151
|
-
yLabel?: string;
|
|
152
|
-
/** Reverses the horizontal axis (e.g. "urgent" on the left) */
|
|
153
|
-
reverseX?: boolean;
|
|
154
|
-
/**
|
|
155
|
-
* Draws the labels next to the dots (overlapping labels are skipped)
|
|
156
|
-
* @default true
|
|
185
|
+
export interface QuadrantChartProps extends Omit<ChartCommonProps, "onPointClick" | "onPlotClick" | "renderTooltip" | "xAxis" | "yAxis">, QuadrantConfig {
|
|
186
|
+
/** Called with the clicked point and its index */
|
|
187
|
+
onPointClick?: (point: QuadrantPoint, index: number) => void;
|
|
188
|
+
/** Called when the empty area of a quadrant is clicked */
|
|
189
|
+
onQuadrantClick?: (quadrant: QuadrantCorner, position: {
|
|
190
|
+
x: number;
|
|
191
|
+
y: number;
|
|
192
|
+
}) => void;
|
|
193
|
+
/**
|
|
194
|
+
* Called when a dragged point is released; the dots become draggable
|
|
195
|
+
* when it is set (the chart does not move them: update `points`)
|
|
157
196
|
*/
|
|
158
|
-
|
|
197
|
+
onPointDrop?: (point: QuadrantPoint, index: number, target: QuadrantDropTarget) => void;
|
|
198
|
+
/** React content of the tooltip of a point */
|
|
199
|
+
renderTooltip?: (point: QuadrantPoint, index: number) => ReactNode;
|
|
159
200
|
/**
|
|
160
|
-
*
|
|
161
|
-
*
|
|
201
|
+
* React content placed over each quadrant (e.g. an add button); the
|
|
202
|
+
* content receives pointer events, the rest of the quadrant does not
|
|
162
203
|
*/
|
|
163
|
-
|
|
164
|
-
/** Name of the points in the tooltip */
|
|
165
|
-
name?: string;
|
|
166
|
-
/** Called with the clicked point and its index */
|
|
167
|
-
onPointClick?: (point: QuadrantPoint, index: number) => void;
|
|
204
|
+
quadrantContent?: Partial<Record<QuadrantCorner, ReactNode>>;
|
|
168
205
|
}
|