minerva-design 1.2.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/README.md +21 -21
- package/custom-elements.json +13630 -4757
- package/dist/angular/fesm2022/minerva-angular.mjs +6872 -172
- package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
- package/dist/angular/types/minerva-angular.d.ts +2240 -0
- package/dist/charts/canvas.d.cts +10 -2
- package/dist/charts/canvas.d.ts +10 -2
- package/dist/charts/core.cjs +1 -1
- package/dist/charts/core.d.cts +9 -3
- package/dist/charts/core.d.ts +9 -3
- package/dist/charts/core.js +19 -6
- package/dist/charts/engine/axis.cjs +1 -1
- package/dist/charts/engine/axis.cjs.map +1 -1
- package/dist/charts/engine/axis.js +6 -6
- package/dist/charts/engine/axis.js.map +1 -1
- package/dist/charts/engine/canvas.cjs +1 -1
- package/dist/charts/engine/canvas.cjs.map +1 -1
- package/dist/charts/engine/canvas.d.cts +11 -1
- package/dist/charts/engine/canvas.d.ts +11 -1
- package/dist/charts/engine/canvas.js +161 -99
- package/dist/charts/engine/canvas.js.map +1 -1
- package/dist/charts/engine/chart.cjs +1 -2
- package/dist/charts/engine/chart.cjs.map +1 -1
- package/dist/charts/engine/chart.d.cts +1 -1
- package/dist/charts/engine/chart.d.ts +1 -1
- package/dist/charts/engine/chart.js +390 -349
- 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 +17 -0
- package/dist/charts/engine/color.d.ts +17 -0
- package/dist/charts/engine/color.js +27 -3
- package/dist/charts/engine/color.js.map +1 -1
- package/dist/charts/engine/controller.cjs +2 -2
- package/dist/charts/engine/controller.cjs.map +1 -1
- package/dist/charts/engine/controller.d.cts +17 -2
- package/dist/charts/engine/controller.d.ts +17 -2
- package/dist/charts/engine/controller.js +404 -280
- package/dist/charts/engine/controller.js.map +1 -1
- 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 +21 -2
- package/dist/charts/engine/data.d.ts +21 -2
- package/dist/charts/engine/data.js +117 -43
- 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/format.cjs +1 -1
- package/dist/charts/engine/format.cjs.map +1 -1
- package/dist/charts/engine/format.d.cts +21 -6
- package/dist/charts/engine/format.d.ts +21 -6
- package/dist/charts/engine/format.js +46 -21
- package/dist/charts/engine/format.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 +290 -62
- package/dist/charts/engine/items.js.map +1 -1
- package/dist/charts/engine/labels.cjs +2 -0
- package/dist/charts/engine/labels.cjs.map +1 -0
- package/dist/charts/engine/labels.d.cts +13 -0
- package/dist/charts/engine/labels.d.ts +13 -0
- package/dist/charts/engine/labels.js +74 -0
- package/dist/charts/engine/labels.js.map +1 -0
- package/dist/charts/engine/layout.cjs +1 -1
- package/dist/charts/engine/layout.cjs.map +1 -1
- package/dist/charts/engine/layout.d.cts +34 -2
- package/dist/charts/engine/layout.d.ts +34 -2
- package/dist/charts/engine/layout.js +53 -12
- package/dist/charts/engine/layout.js.map +1 -1
- package/dist/charts/engine/locale.cjs +2 -0
- package/dist/charts/engine/locale.cjs.map +1 -0
- package/dist/charts/engine/locale.d.cts +33 -0
- package/dist/charts/engine/locale.d.ts +33 -0
- package/dist/charts/engine/locale.js +68 -0
- package/dist/charts/engine/locale.js.map +1 -0
- package/dist/charts/engine/model.cjs +1 -1
- package/dist/charts/engine/model.cjs.map +1 -1
- package/dist/charts/engine/model.d.cts +68 -3
- package/dist/charts/engine/model.d.ts +68 -3
- package/dist/charts/engine/model.js +332 -108
- package/dist/charts/engine/model.js.map +1 -1
- package/dist/charts/engine/orderbook/book.cjs +2 -0
- package/dist/charts/engine/orderbook/book.cjs.map +1 -0
- package/dist/charts/engine/orderbook/book.d.cts +28 -0
- package/dist/charts/engine/orderbook/book.d.ts +28 -0
- package/dist/charts/engine/orderbook/book.js +134 -0
- package/dist/charts/engine/orderbook/book.js.map +1 -0
- package/dist/charts/engine/orderbook/depth.cjs +2 -0
- package/dist/charts/engine/orderbook/depth.cjs.map +1 -0
- package/dist/charts/engine/orderbook/depth.d.cts +7 -0
- package/dist/charts/engine/orderbook/depth.d.ts +7 -0
- package/dist/charts/engine/orderbook/depth.js +413 -0
- package/dist/charts/engine/orderbook/depth.js.map +1 -0
- package/dist/charts/engine/orderbook/format.cjs +2 -0
- package/dist/charts/engine/orderbook/format.cjs.map +1 -0
- package/dist/charts/engine/orderbook/format.d.cts +48 -0
- package/dist/charts/engine/orderbook/format.d.ts +48 -0
- package/dist/charts/engine/orderbook/format.js +65 -0
- package/dist/charts/engine/orderbook/format.js.map +1 -0
- package/dist/charts/engine/orderbook/heatmap.cjs +2 -0
- package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -0
- package/dist/charts/engine/orderbook/heatmap.d.cts +9 -0
- package/dist/charts/engine/orderbook/heatmap.d.ts +9 -0
- package/dist/charts/engine/orderbook/heatmap.js +703 -0
- package/dist/charts/engine/orderbook/heatmap.js.map +1 -0
- package/dist/charts/engine/orderbook/host.cjs +2 -0
- package/dist/charts/engine/orderbook/host.cjs.map +1 -0
- package/dist/charts/engine/orderbook/host.d.cts +50 -0
- package/dist/charts/engine/orderbook/host.d.ts +50 -0
- package/dist/charts/engine/orderbook/host.js +161 -0
- package/dist/charts/engine/orderbook/host.js.map +1 -0
- package/dist/charts/engine/orderbook/index.cjs +1 -0
- package/dist/charts/engine/orderbook/index.d.cts +6 -0
- package/dist/charts/engine/orderbook/index.d.ts +6 -0
- package/dist/charts/engine/orderbook/index.js +6 -0
- package/dist/charts/engine/orderbook/ladder.cjs +2 -0
- package/dist/charts/engine/orderbook/ladder.cjs.map +1 -0
- package/dist/charts/engine/orderbook/ladder.d.cts +6 -0
- package/dist/charts/engine/orderbook/ladder.d.ts +6 -0
- package/dist/charts/engine/orderbook/ladder.js +341 -0
- package/dist/charts/engine/orderbook/ladder.js.map +1 -0
- package/dist/charts/engine/orderbook/tape.cjs +2 -0
- package/dist/charts/engine/orderbook/tape.cjs.map +1 -0
- package/dist/charts/engine/orderbook/tape.d.cts +6 -0
- package/dist/charts/engine/orderbook/tape.d.ts +6 -0
- package/dist/charts/engine/orderbook/tape.js +450 -0
- package/dist/charts/engine/orderbook/tape.js.map +1 -0
- package/dist/charts/engine/orderbook/types.d.cts +735 -0
- package/dist/charts/engine/orderbook/types.d.ts +735 -0
- package/dist/charts/engine/overlay.cjs +1 -1
- package/dist/charts/engine/overlay.cjs.map +1 -1
- package/dist/charts/engine/overlay.d.cts +18 -0
- package/dist/charts/engine/overlay.d.ts +18 -0
- package/dist/charts/engine/overlay.js +138 -102
- package/dist/charts/engine/overlay.js.map +1 -1
- package/dist/charts/engine/presets.cjs +2 -2
- package/dist/charts/engine/presets.cjs.map +1 -1
- package/dist/charts/engine/presets.d.cts +319 -5
- package/dist/charts/engine/presets.d.ts +319 -5
- package/dist/charts/engine/presets.js +463 -38
- package/dist/charts/engine/presets.js.map +1 -1
- 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.js +149 -111
- package/dist/charts/engine/renderers/canvas2d.js.map +1 -1
- package/dist/charts/engine/renderers/detect.cjs +1 -1
- package/dist/charts/engine/renderers/detect.cjs.map +1 -1
- package/dist/charts/engine/renderers/detect.js +18 -15
- package/dist/charts/engine/renderers/detect.js.map +1 -1
- package/dist/charts/engine/renderers/gl.cjs +2 -0
- package/dist/charts/engine/renderers/gl.cjs.map +1 -0
- package/dist/charts/engine/renderers/gl.d.cts +21 -0
- package/dist/charts/engine/renderers/gl.d.ts +21 -0
- package/dist/charts/engine/renderers/gl.js +56 -0
- package/dist/charts/engine/renderers/gl.js.map +1 -0
- 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 +180 -20
- package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
- package/dist/charts/engine/renderers/shaders.d.cts +18 -2
- package/dist/charts/engine/renderers/shaders.d.ts +18 -2
- package/dist/charts/engine/renderers/shaders.js +176 -20
- 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/webgl.cjs +2 -0
- package/dist/charts/engine/renderers/webgl.cjs.map +1 -0
- package/dist/charts/engine/renderers/webgl.d.cts +4 -0
- package/dist/charts/engine/renderers/webgl.d.ts +4 -0
- package/dist/charts/engine/renderers/webgl.js +133 -0
- package/dist/charts/engine/renderers/webgl.js.map +1 -0
- 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.d.cts +0 -1
- package/dist/charts/engine/renderers/webgl2.d.ts +0 -1
- package/dist/charts/engine/renderers/webgl2.js +62 -90
- 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/scale.cjs +1 -1
- package/dist/charts/engine/scale.cjs.map +1 -1
- package/dist/charts/engine/scale.js +1 -1
- package/dist/charts/engine/scale.js.map +1 -1
- package/dist/charts/engine/scene.cjs +1 -1
- package/dist/charts/engine/scene.cjs.map +1 -1
- package/dist/charts/engine/scene.d.cts +32 -9
- package/dist/charts/engine/scene.d.ts +32 -9
- package/dist/charts/engine/scene.js +363 -122
- package/dist/charts/engine/scene.js.map +1 -1
- package/dist/charts/engine/shapes/bullet.cjs +2 -0
- package/dist/charts/engine/shapes/bullet.cjs.map +1 -0
- package/dist/charts/engine/shapes/bullet.d.cts +6 -0
- package/dist/charts/engine/shapes/bullet.d.ts +6 -0
- package/dist/charts/engine/shapes/bullet.js +255 -0
- package/dist/charts/engine/shapes/bullet.js.map +1 -0
- package/dist/charts/engine/shapes/calendar.cjs +2 -0
- package/dist/charts/engine/shapes/calendar.cjs.map +1 -0
- package/dist/charts/engine/shapes/calendar.d.cts +38 -0
- package/dist/charts/engine/shapes/calendar.d.ts +38 -0
- package/dist/charts/engine/shapes/calendar.js +369 -0
- package/dist/charts/engine/shapes/calendar.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 +65 -0
- package/dist/charts/engine/shapes/canvas.d.ts +65 -0
- package/dist/charts/engine/shapes/canvas.js +168 -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 +7 -0
- package/dist/charts/engine/shapes/chart.d.ts +7 -0
- package/dist/charts/engine/shapes/chart.js +292 -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 +22 -0
- package/dist/charts/engine/shapes/draw.d.ts +22 -0
- package/dist/charts/engine/shapes/draw.js +165 -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 +210 -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 +30 -0
- package/dist/charts/engine/shapes/hit.d.ts +30 -0
- package/dist/charts/engine/shapes/hit.js +145 -0
- package/dist/charts/engine/shapes/hit.js.map +1 -0
- package/dist/charts/engine/shapes/index.d.cts +12 -0
- package/dist/charts/engine/shapes/index.d.ts +12 -0
- package/dist/charts/engine/shapes/labels.cjs +2 -0
- package/dist/charts/engine/shapes/labels.cjs.map +1 -0
- package/dist/charts/engine/shapes/labels.d.cts +14 -0
- package/dist/charts/engine/shapes/labels.d.ts +14 -0
- package/dist/charts/engine/shapes/labels.js +146 -0
- package/dist/charts/engine/shapes/labels.js.map +1 -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 +93 -0
- package/dist/charts/engine/shapes/layout.d.ts +93 -0
- package/dist/charts/engine/shapes/layout.js +353 -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 +198 -0
- package/dist/charts/engine/shapes/radar.js.map +1 -0
- package/dist/charts/engine/shapes/radialBar.cjs +2 -0
- package/dist/charts/engine/shapes/radialBar.cjs.map +1 -0
- package/dist/charts/engine/shapes/radialBar.d.cts +8 -0
- package/dist/charts/engine/shapes/radialBar.d.ts +8 -0
- package/dist/charts/engine/shapes/radialBar.js +155 -0
- package/dist/charts/engine/shapes/radialBar.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 +36 -0
- package/dist/charts/engine/shapes/runtime.d.ts +36 -0
- package/dist/charts/engine/shapes/runtime.js +107 -0
- package/dist/charts/engine/shapes/runtime.js.map +1 -0
- package/dist/charts/engine/shapes/sankey.cjs +2 -0
- package/dist/charts/engine/shapes/sankey.cjs.map +1 -0
- package/dist/charts/engine/shapes/sankey.d.cts +29 -0
- package/dist/charts/engine/shapes/sankey.d.ts +29 -0
- package/dist/charts/engine/shapes/sankey.js +372 -0
- package/dist/charts/engine/shapes/sankey.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 +311 -0
- package/dist/charts/engine/shapes/scene.d.ts +311 -0
- package/dist/charts/engine/shapes/scene.js +125 -0
- package/dist/charts/engine/shapes/scene.js.map +1 -0
- package/dist/charts/engine/shapes/sunburst.cjs +2 -0
- package/dist/charts/engine/shapes/sunburst.cjs.map +1 -0
- package/dist/charts/engine/shapes/sunburst.d.cts +6 -0
- package/dist/charts/engine/shapes/sunburst.d.ts +6 -0
- package/dist/charts/engine/shapes/sunburst.js +261 -0
- package/dist/charts/engine/shapes/sunburst.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 +719 -0
- package/dist/charts/engine/shapes/types.d.ts +719 -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 +10 -1
- package/dist/charts/engine/theme.d.ts +10 -1
- package/dist/charts/engine/theme.js +40 -16
- package/dist/charts/engine/theme.js.map +1 -1
- package/dist/charts/engine/three-d/canvas2d.cjs +2 -0
- package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -0
- package/dist/charts/engine/three-d/canvas2d.d.cts +4 -0
- package/dist/charts/engine/three-d/canvas2d.d.ts +4 -0
- package/dist/charts/engine/three-d/canvas2d.js +104 -0
- package/dist/charts/engine/three-d/canvas2d.js.map +1 -0
- package/dist/charts/engine/three-d/chart.cjs +2 -0
- package/dist/charts/engine/three-d/chart.cjs.map +1 -0
- package/dist/charts/engine/three-d/chart.d.cts +15 -0
- package/dist/charts/engine/three-d/chart.d.ts +15 -0
- package/dist/charts/engine/three-d/chart.js +621 -0
- package/dist/charts/engine/three-d/chart.js.map +1 -0
- package/dist/charts/engine/three-d/colormap.cjs +2 -0
- package/dist/charts/engine/three-d/colormap.cjs.map +1 -0
- package/dist/charts/engine/three-d/colormap.d.cts +16 -0
- package/dist/charts/engine/three-d/colormap.d.ts +16 -0
- package/dist/charts/engine/three-d/colormap.js +166 -0
- package/dist/charts/engine/three-d/colormap.js.map +1 -0
- package/dist/charts/engine/three-d/contours.cjs +2 -0
- package/dist/charts/engine/three-d/contours.cjs.map +1 -0
- package/dist/charts/engine/three-d/contours.d.cts +7 -0
- package/dist/charts/engine/three-d/contours.d.ts +7 -0
- package/dist/charts/engine/three-d/contours.js +47 -0
- package/dist/charts/engine/three-d/contours.js.map +1 -0
- package/dist/charts/engine/three-d/detect.cjs +2 -0
- package/dist/charts/engine/three-d/detect.cjs.map +1 -0
- package/dist/charts/engine/three-d/detect.d.cts +11 -0
- package/dist/charts/engine/three-d/detect.d.ts +11 -0
- package/dist/charts/engine/three-d/detect.js +35 -0
- package/dist/charts/engine/three-d/detect.js.map +1 -0
- package/dist/charts/engine/three-d/dom.cjs +2 -0
- package/dist/charts/engine/three-d/dom.cjs.map +1 -0
- package/dist/charts/engine/three-d/dom.d.cts +21 -0
- package/dist/charts/engine/three-d/dom.d.ts +21 -0
- package/dist/charts/engine/three-d/dom.js +98 -0
- package/dist/charts/engine/three-d/dom.js.map +1 -0
- package/dist/charts/engine/three-d/geometry.cjs +2 -0
- package/dist/charts/engine/three-d/geometry.cjs.map +1 -0
- package/dist/charts/engine/three-d/geometry.d.cts +76 -0
- package/dist/charts/engine/three-d/geometry.d.ts +76 -0
- package/dist/charts/engine/three-d/geometry.js +529 -0
- package/dist/charts/engine/three-d/geometry.js.map +1 -0
- package/dist/charts/engine/three-d/hover.cjs +2 -0
- package/dist/charts/engine/three-d/hover.cjs.map +1 -0
- package/dist/charts/engine/three-d/hover.d.cts +25 -0
- package/dist/charts/engine/three-d/hover.d.ts +25 -0
- package/dist/charts/engine/three-d/hover.js +131 -0
- package/dist/charts/engine/three-d/hover.js.map +1 -0
- package/dist/charts/engine/three-d/index.cjs +1 -0
- package/dist/charts/engine/three-d/index.d.cts +2 -0
- package/dist/charts/engine/three-d/index.d.ts +2 -0
- package/dist/charts/engine/three-d/index.js +2 -0
- package/dist/charts/engine/three-d/labels.cjs +2 -0
- package/dist/charts/engine/three-d/labels.cjs.map +1 -0
- package/dist/charts/engine/three-d/labels.d.cts +23 -0
- package/dist/charts/engine/three-d/labels.d.ts +23 -0
- package/dist/charts/engine/three-d/labels.js +136 -0
- package/dist/charts/engine/three-d/labels.js.map +1 -0
- package/dist/charts/engine/three-d/math.cjs +2 -0
- package/dist/charts/engine/three-d/math.cjs.map +1 -0
- package/dist/charts/engine/three-d/math.d.cts +84 -0
- package/dist/charts/engine/three-d/math.d.ts +84 -0
- package/dist/charts/engine/three-d/math.js +150 -0
- package/dist/charts/engine/three-d/math.js.map +1 -0
- package/dist/charts/engine/three-d/model.cjs +2 -0
- package/dist/charts/engine/three-d/model.cjs.map +1 -0
- package/dist/charts/engine/three-d/model.d.cts +130 -0
- package/dist/charts/engine/three-d/model.d.ts +130 -0
- package/dist/charts/engine/three-d/model.js +277 -0
- package/dist/charts/engine/three-d/model.js.map +1 -0
- package/dist/charts/engine/three-d/overlay.cjs +2 -0
- package/dist/charts/engine/three-d/overlay.cjs.map +1 -0
- package/dist/charts/engine/three-d/overlay.d.cts +72 -0
- package/dist/charts/engine/three-d/overlay.d.ts +72 -0
- package/dist/charts/engine/three-d/overlay.js +197 -0
- package/dist/charts/engine/three-d/overlay.js.map +1 -0
- package/dist/charts/engine/three-d/pick.cjs +2 -0
- package/dist/charts/engine/three-d/pick.cjs.map +1 -0
- package/dist/charts/engine/three-d/pick.d.cts +52 -0
- package/dist/charts/engine/three-d/pick.d.ts +52 -0
- package/dist/charts/engine/three-d/pick.js +220 -0
- package/dist/charts/engine/three-d/pick.js.map +1 -0
- package/dist/charts/engine/three-d/render-types.cjs +2 -0
- package/dist/charts/engine/three-d/render-types.cjs.map +1 -0
- package/dist/charts/engine/three-d/render-types.d.cts +82 -0
- package/dist/charts/engine/three-d/render-types.d.ts +82 -0
- package/dist/charts/engine/three-d/render-types.js +13 -0
- package/dist/charts/engine/three-d/render-types.js.map +1 -0
- package/dist/charts/engine/three-d/shaders.cjs +276 -0
- package/dist/charts/engine/three-d/shaders.cjs.map +1 -0
- package/dist/charts/engine/three-d/shaders.d.cts +26 -0
- package/dist/charts/engine/three-d/shaders.d.ts +26 -0
- package/dist/charts/engine/three-d/shaders.js +191 -0
- package/dist/charts/engine/three-d/shaders.js.map +1 -0
- package/dist/charts/engine/three-d/sort.cjs +2 -0
- package/dist/charts/engine/three-d/sort.cjs.map +1 -0
- package/dist/charts/engine/three-d/sort.d.cts +18 -0
- package/dist/charts/engine/three-d/sort.d.ts +18 -0
- package/dist/charts/engine/three-d/sort.js +71 -0
- package/dist/charts/engine/three-d/sort.js.map +1 -0
- package/dist/charts/engine/three-d/types.d.cts +588 -0
- package/dist/charts/engine/three-d/types.d.ts +588 -0
- package/dist/charts/engine/three-d/webgl.cjs +2 -0
- package/dist/charts/engine/three-d/webgl.cjs.map +1 -0
- package/dist/charts/engine/three-d/webgl.d.cts +10 -0
- package/dist/charts/engine/three-d/webgl.d.ts +10 -0
- package/dist/charts/engine/three-d/webgl.js +130 -0
- package/dist/charts/engine/three-d/webgl.js.map +1 -0
- package/dist/charts/engine/three-d/webgpu.cjs +2 -0
- package/dist/charts/engine/three-d/webgpu.cjs.map +1 -0
- package/dist/charts/engine/three-d/webgpu.d.cts +5 -0
- package/dist/charts/engine/three-d/webgpu.d.ts +5 -0
- package/dist/charts/engine/three-d/webgpu.js +249 -0
- package/dist/charts/engine/three-d/webgpu.js.map +1 -0
- package/dist/charts/engine/time.cjs +1 -1
- package/dist/charts/engine/time.cjs.map +1 -1
- package/dist/charts/engine/time.d.cts +13 -4
- package/dist/charts/engine/time.d.ts +13 -4
- package/dist/charts/engine/time.js +156 -91
- package/dist/charts/engine/time.js.map +1 -1
- package/dist/charts/engine/trading/chart.cjs +2 -0
- package/dist/charts/engine/trading/chart.cjs.map +1 -0
- package/dist/charts/engine/trading/chart.d.cts +3 -0
- package/dist/charts/engine/trading/chart.d.ts +3 -0
- package/dist/charts/engine/trading/chart.js +1507 -0
- package/dist/charts/engine/trading/chart.js.map +1 -0
- package/dist/charts/engine/trading/drawings.cjs +2 -0
- package/dist/charts/engine/trading/drawings.cjs.map +1 -0
- package/dist/charts/engine/trading/drawings.d.cts +57 -0
- package/dist/charts/engine/trading/drawings.d.ts +57 -0
- package/dist/charts/engine/trading/drawings.js +160 -0
- package/dist/charts/engine/trading/drawings.js.map +1 -0
- package/dist/charts/engine/trading/format.cjs +2 -0
- package/dist/charts/engine/trading/format.cjs.map +1 -0
- package/dist/charts/engine/trading/format.d.cts +60 -0
- package/dist/charts/engine/trading/format.d.ts +60 -0
- package/dist/charts/engine/trading/format.js +131 -0
- package/dist/charts/engine/trading/format.js.map +1 -0
- package/dist/charts/engine/trading/geometry.cjs +2 -0
- package/dist/charts/engine/trading/geometry.cjs.map +1 -0
- package/dist/charts/engine/trading/geometry.d.cts +55 -0
- package/dist/charts/engine/trading/geometry.d.ts +55 -0
- package/dist/charts/engine/trading/geometry.js +131 -0
- package/dist/charts/engine/trading/geometry.js.map +1 -0
- package/dist/charts/engine/trading/index.cjs +1 -0
- package/dist/charts/engine/trading/index.d.cts +3 -0
- package/dist/charts/engine/trading/index.d.ts +3 -0
- package/dist/charts/engine/trading/index.js +3 -0
- package/dist/charts/engine/trading/indicators.cjs +2 -0
- package/dist/charts/engine/trading/indicators.cjs.map +1 -0
- package/dist/charts/engine/trading/indicators.d.cts +105 -0
- package/dist/charts/engine/trading/indicators.d.ts +105 -0
- package/dist/charts/engine/trading/indicators.js +268 -0
- package/dist/charts/engine/trading/indicators.js.map +1 -0
- package/dist/charts/engine/trading/labels.cjs +2 -0
- package/dist/charts/engine/trading/labels.cjs.map +1 -0
- package/dist/charts/engine/trading/labels.d.cts +7 -0
- package/dist/charts/engine/trading/labels.d.ts +7 -0
- package/dist/charts/engine/trading/labels.js +91 -0
- package/dist/charts/engine/trading/labels.js.map +1 -0
- package/dist/charts/engine/trading/scale.cjs +2 -0
- package/dist/charts/engine/trading/scale.cjs.map +1 -0
- package/dist/charts/engine/trading/scale.d.cts +46 -0
- package/dist/charts/engine/trading/scale.d.ts +46 -0
- package/dist/charts/engine/trading/scale.js +100 -0
- package/dist/charts/engine/trading/scale.js.map +1 -0
- package/dist/charts/engine/trading/store.cjs +2 -0
- package/dist/charts/engine/trading/store.cjs.map +1 -0
- package/dist/charts/engine/trading/store.d.cts +62 -0
- package/dist/charts/engine/trading/store.d.ts +62 -0
- package/dist/charts/engine/trading/store.js +129 -0
- package/dist/charts/engine/trading/store.js.map +1 -0
- package/dist/charts/engine/trading/studies.cjs +2 -0
- package/dist/charts/engine/trading/studies.cjs.map +1 -0
- package/dist/charts/engine/trading/studies.d.cts +52 -0
- package/dist/charts/engine/trading/studies.d.ts +52 -0
- package/dist/charts/engine/trading/studies.js +254 -0
- package/dist/charts/engine/trading/studies.js.map +1 -0
- package/dist/charts/engine/trading/types.d.cts +656 -0
- package/dist/charts/engine/trading/types.d.ts +656 -0
- package/dist/charts/engine/types.d.cts +227 -15
- package/dist/charts/engine/types.d.ts +227 -15
- package/dist/charts/index.cjs +1 -1
- package/dist/charts/index.d.cts +7 -2
- package/dist/charts/index.d.ts +7 -2
- package/dist/charts/index.js +22 -8
- package/dist/charts/react/Chart.cjs +1 -1
- package/dist/charts/react/Chart.cjs.map +1 -1
- package/dist/charts/react/Chart.d.cts +11 -4
- package/dist/charts/react/Chart.d.ts +11 -4
- package/dist/charts/react/Chart.js +70 -47
- 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 +48 -2
- package/dist/charts/react/charts.d.ts +48 -2
- package/dist/charts/react/charts.js +371 -76
- package/dist/charts/react/charts.js.map +1 -1
- package/dist/charts/react/orderbook.cjs +2 -0
- package/dist/charts/react/orderbook.cjs.map +1 -0
- package/dist/charts/react/orderbook.d.cts +142 -0
- package/dist/charts/react/orderbook.d.ts +142 -0
- package/dist/charts/react/orderbook.js +182 -0
- package/dist/charts/react/orderbook.js.map +1 -0
- package/dist/charts/react/shapes.cjs +2 -0
- package/dist/charts/react/shapes.cjs.map +1 -0
- package/dist/charts/react/shapes.d.cts +537 -0
- package/dist/charts/react/shapes.d.ts +537 -0
- package/dist/charts/react/shapes.js +429 -0
- package/dist/charts/react/shapes.js.map +1 -0
- package/dist/charts/react/three-d.cjs +2 -0
- package/dist/charts/react/three-d.cjs.map +1 -0
- package/dist/charts/react/three-d.d.cts +151 -0
- package/dist/charts/react/three-d.d.ts +151 -0
- package/dist/charts/react/three-d.js +154 -0
- package/dist/charts/react/three-d.js.map +1 -0
- package/dist/charts/react/trading.cjs +2 -0
- package/dist/charts/react/trading.cjs.map +1 -0
- package/dist/charts/react/trading.d.cts +93 -0
- package/dist/charts/react/trading.d.ts +93 -0
- package/dist/charts/react/trading.js +95 -0
- package/dist/charts/react/trading.js.map +1 -0
- package/dist/charts/react/types.d.cts +200 -7
- package/dist/charts/react/types.d.ts +200 -7
- package/dist/core/contracts.cjs +1 -1
- package/dist/core/contracts.cjs.map +1 -1
- package/dist/core/contracts.js +1 -1
- package/dist/core/contracts.js.map +1 -1
- package/dist/native/charts/src/canvas.cjs +1 -1
- package/dist/native/charts/src/canvas.js +9 -3
- package/dist/native/charts/src/engine/axis.cjs +1 -1
- package/dist/native/charts/src/engine/axis.cjs.map +1 -1
- package/dist/native/charts/src/engine/axis.js +6 -6
- package/dist/native/charts/src/engine/axis.js.map +1 -1
- package/dist/native/charts/src/engine/color.cjs +1 -1
- package/dist/native/charts/src/engine/color.cjs.map +1 -1
- package/dist/native/charts/src/engine/color.js +12 -3
- package/dist/native/charts/src/engine/color.js.map +1 -1
- package/dist/native/charts/src/engine/controller.cjs +2 -2
- package/dist/native/charts/src/engine/controller.cjs.map +1 -1
- package/dist/native/charts/src/engine/controller.js +418 -294
- package/dist/native/charts/src/engine/controller.js.map +1 -1
- 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 +1 -1
- package/dist/native/charts/src/engine/data.cjs.map +1 -1
- package/dist/native/charts/src/engine/data.js +117 -43
- package/dist/native/charts/src/engine/data.js.map +1 -1
- package/dist/native/charts/src/engine/format.cjs +1 -1
- package/dist/native/charts/src/engine/format.cjs.map +1 -1
- package/dist/native/charts/src/engine/format.js +46 -21
- package/dist/native/charts/src/engine/format.js.map +1 -1
- package/dist/native/charts/src/engine/labels.cjs +2 -0
- package/dist/native/charts/src/engine/labels.cjs.map +1 -0
- package/dist/native/charts/src/engine/labels.js +74 -0
- package/dist/native/charts/src/engine/labels.js.map +1 -0
- package/dist/native/charts/src/engine/layout.cjs +1 -1
- package/dist/native/charts/src/engine/layout.cjs.map +1 -1
- package/dist/native/charts/src/engine/layout.js +53 -12
- package/dist/native/charts/src/engine/layout.js.map +1 -1
- package/dist/native/charts/src/engine/locale.cjs +2 -0
- package/dist/native/charts/src/engine/locale.cjs.map +1 -0
- package/dist/native/charts/src/engine/locale.js +60 -0
- package/dist/native/charts/src/engine/locale.js.map +1 -0
- package/dist/native/charts/src/engine/model.cjs +1 -1
- package/dist/native/charts/src/engine/model.cjs.map +1 -1
- package/dist/native/charts/src/engine/model.js +335 -111
- package/dist/native/charts/src/engine/model.js.map +1 -1
- package/dist/native/charts/src/engine/overlay.cjs +1 -1
- package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
- package/dist/native/charts/src/engine/overlay.js +54 -31
- package/dist/native/charts/src/engine/overlay.js.map +1 -1
- package/dist/native/charts/src/engine/presets.cjs +2 -2
- package/dist/native/charts/src/engine/presets.cjs.map +1 -1
- package/dist/native/charts/src/engine/presets.js +456 -34
- package/dist/native/charts/src/engine/presets.js.map +1 -1
- package/dist/native/charts/src/engine/scale.cjs +1 -1
- package/dist/native/charts/src/engine/scale.cjs.map +1 -1
- package/dist/native/charts/src/engine/scale.js +1 -1
- package/dist/native/charts/src/engine/scale.js.map +1 -1
- package/dist/native/charts/src/engine/scene.cjs +1 -1
- package/dist/native/charts/src/engine/scene.cjs.map +1 -1
- package/dist/native/charts/src/engine/scene.js +369 -128
- package/dist/native/charts/src/engine/scene.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/bullet.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/bullet.js +255 -0
- package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/calendar.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/calendar.js +364 -0
- package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/canvas.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/canvas.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/canvas.js +168 -0
- package/dist/native/charts/src/engine/shapes/canvas.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/draw.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/draw.js +165 -0
- package/dist/native/charts/src/engine/shapes/draw.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/funnel.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/funnel.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/funnel.js +149 -0
- package/dist/native/charts/src/engine/shapes/funnel.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/gauge.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/gauge.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/gauge.js +210 -0
- package/dist/native/charts/src/engine/shapes/gauge.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/hit.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/hit.js +106 -0
- package/dist/native/charts/src/engine/shapes/hit.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/labels.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/labels.js +146 -0
- package/dist/native/charts/src/engine/shapes/labels.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/layout.cjs +3 -0
- package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/layout.js +331 -0
- package/dist/native/charts/src/engine/shapes/layout.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/pie.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/pie.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/pie.js +302 -0
- package/dist/native/charts/src/engine/shapes/pie.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/radar.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/radar.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/radar.js +198 -0
- package/dist/native/charts/src/engine/shapes/radar.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/radialBar.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/radialBar.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/radialBar.js +155 -0
- package/dist/native/charts/src/engine/shapes/radialBar.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/runtime.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/runtime.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/runtime.js +107 -0
- package/dist/native/charts/src/engine/shapes/runtime.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/sankey.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/sankey.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/sankey.js +372 -0
- package/dist/native/charts/src/engine/shapes/sankey.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/scene.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/scene.js +125 -0
- package/dist/native/charts/src/engine/shapes/scene.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/sunburst.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/sunburst.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/sunburst.js +261 -0
- package/dist/native/charts/src/engine/shapes/sunburst.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/treemap.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/treemap.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/treemap.js +213 -0
- package/dist/native/charts/src/engine/shapes/treemap.js.map +1 -0
- package/dist/native/charts/src/engine/theme.cjs.map +1 -1
- package/dist/native/charts/src/engine/theme.js.map +1 -1
- package/dist/native/charts/src/engine/time.cjs +1 -1
- package/dist/native/charts/src/engine/time.cjs.map +1 -1
- package/dist/native/charts/src/engine/time.js +156 -91
- package/dist/native/charts/src/engine/time.js.map +1 -1
- package/dist/native/components/Chart/ChartBase.cjs +1 -1
- package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
- package/dist/native/components/Chart/ChartBase.d.cts +1 -1
- package/dist/native/components/Chart/ChartBase.d.ts +1 -1
- package/dist/native/components/Chart/ChartBase.js +110 -107
- package/dist/native/components/Chart/ChartBase.js.map +1 -1
- package/dist/native/components/Chart/charts.cjs +1 -1
- package/dist/native/components/Chart/charts.cjs.map +1 -1
- package/dist/native/components/Chart/charts.d.cts +6 -1
- package/dist/native/components/Chart/charts.d.ts +6 -1
- package/dist/native/components/Chart/charts.js +53 -29
- package/dist/native/components/Chart/charts.js.map +1 -1
- package/dist/native/components/Chart/index.cjs +1 -1
- package/dist/native/components/Chart/index.d.cts +1 -1
- package/dist/native/components/Chart/index.d.ts +1 -1
- package/dist/native/components/Chart/index.js +2 -2
- package/dist/native/components/Chart/scene.cjs +1 -1
- package/dist/native/components/Chart/scene.cjs.map +1 -1
- package/dist/native/components/Chart/scene.js +244 -215
- package/dist/native/components/Chart/scene.js.map +1 -1
- package/dist/native/components/Chart/types.d.cts +26 -3
- package/dist/native/components/Chart/types.d.ts +26 -3
- package/dist/native/components/Charts/charts.cjs +2 -0
- package/dist/native/components/Charts/charts.cjs.map +1 -0
- package/dist/native/components/Charts/charts.d.cts +41 -0
- package/dist/native/components/Charts/charts.d.ts +41 -0
- package/dist/native/components/Charts/charts.js +338 -0
- package/dist/native/components/Charts/charts.js.map +1 -0
- package/dist/native/components/Charts/index.cjs +1 -0
- package/dist/native/components/Charts/index.d.cts +2 -0
- package/dist/native/components/Charts/index.d.ts +2 -0
- package/dist/native/components/Charts/index.js +2 -0
- package/dist/native/components/Charts/types.d.cts +144 -0
- package/dist/native/components/Charts/types.d.ts +144 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.cjs +2 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +24 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +24 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.js +271 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -0
- package/dist/native/components/ShapeChart/charts.cjs +2 -0
- package/dist/native/components/ShapeChart/charts.cjs.map +1 -0
- package/dist/native/components/ShapeChart/charts.d.cts +38 -0
- package/dist/native/components/ShapeChart/charts.d.ts +38 -0
- package/dist/native/components/ShapeChart/charts.js +387 -0
- package/dist/native/components/ShapeChart/charts.js.map +1 -0
- package/dist/native/components/ShapeChart/draw.cjs +2 -0
- package/dist/native/components/ShapeChart/draw.cjs.map +1 -0
- package/dist/native/components/ShapeChart/draw.d.cts +4 -0
- package/dist/native/components/ShapeChart/draw.d.ts +4 -0
- package/dist/native/components/ShapeChart/draw.js +104 -0
- package/dist/native/components/ShapeChart/draw.js.map +1 -0
- package/dist/native/components/ShapeChart/geometry.cjs +2 -0
- package/dist/native/components/ShapeChart/geometry.cjs.map +1 -0
- package/dist/native/components/ShapeChart/geometry.d.cts +71 -0
- package/dist/native/components/ShapeChart/geometry.d.ts +71 -0
- package/dist/native/components/ShapeChart/geometry.js +602 -0
- package/dist/native/components/ShapeChart/geometry.js.map +1 -0
- package/dist/native/components/ShapeChart/index.cjs +1 -0
- package/dist/native/components/ShapeChart/index.d.cts +2 -0
- package/dist/native/components/ShapeChart/index.d.ts +2 -0
- package/dist/native/components/ShapeChart/index.js +2 -0
- package/dist/native/components/ShapeChart/recorder.cjs +2 -0
- package/dist/native/components/ShapeChart/recorder.cjs.map +1 -0
- package/dist/native/components/ShapeChart/recorder.d.cts +106 -0
- package/dist/native/components/ShapeChart/recorder.d.ts +106 -0
- package/dist/native/components/ShapeChart/recorder.js +574 -0
- package/dist/native/components/ShapeChart/recorder.js.map +1 -0
- package/dist/native/components/ShapeChart/types.d.cts +509 -0
- package/dist/native/components/ShapeChart/types.d.ts +509 -0
- package/dist/native/index.cjs +1 -1
- package/dist/native/index.d.cts +2 -0
- package/dist/native/index.d.ts +2 -0
- package/dist/native/index.js +14 -10
- package/dist/native/manifest.d.cts +6 -4
- package/dist/native/manifest.d.ts +6 -4
- package/dist/native/source/components/Chart/ChartBase.tsx +8 -1
- package/dist/native/source/components/Chart/charts.tsx +42 -6
- package/dist/native/source/components/Chart/index.ts +1 -0
- package/dist/native/source/components/Chart/scene.tsx +204 -100
- package/dist/native/source/components/Chart/types.ts +31 -1
- package/dist/native/source/components/Charts/charts.tsx +493 -0
- package/dist/native/source/components/Charts/index.ts +14 -0
- package/dist/native/source/components/Charts/types.ts +207 -0
- package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +484 -0
- package/dist/native/source/components/ShapeChart/charts.tsx +605 -0
- package/dist/native/source/components/ShapeChart/draw.tsx +170 -0
- package/dist/native/source/components/ShapeChart/geometry.ts +1185 -0
- package/dist/native/source/components/ShapeChart/index.ts +15 -0
- package/dist/native/source/components/ShapeChart/recorder.ts +830 -0
- package/dist/native/source/components/ShapeChart/types.ts +564 -0
- package/dist/native/source/index.ts +2 -0
- package/dist/native/source/manifest.ts +30 -4
- package/dist/taro/charts.d.ts +209 -4
- package/dist/taro/index.d.ts +1 -0
- package/dist/taro/index.js +8032 -1891
- package/dist/taro/manifest.d.ts +1 -0
- package/dist/taro/shape-charts.d.ts +537 -0
- package/dist/uni/AreaChart.vue +68 -0
- package/dist/uni/AreaChart.vue.d.ts +120 -0
- package/dist/uni/Badge.vue.d.ts +1 -1
- package/dist/uni/BoxPlotChart.vue +66 -0
- package/dist/uni/BoxPlotChart.vue.d.ts +102 -0
- package/dist/uni/BubbleChart.vue +68 -0
- package/dist/uni/BubbleChart.vue.d.ts +106 -0
- package/dist/uni/BulletChart.vue +86 -0
- package/dist/uni/BulletChart.vue.d.ts +110 -0
- package/dist/uni/CalendarHeatmap.vue +92 -0
- package/dist/uni/CalendarHeatmap.vue.d.ts +129 -0
- package/dist/uni/CandlestickChart.vue +66 -0
- package/dist/uni/CandlestickChart.vue.d.ts +100 -0
- package/dist/uni/DonutChart.vue +72 -0
- package/dist/uni/DonutChart.vue.d.ts +114 -0
- package/dist/uni/FunnelChart.vue +67 -0
- package/dist/uni/FunnelChart.vue.d.ts +104 -0
- package/dist/uni/GanttChart.vue +67 -0
- package/dist/uni/GanttChart.vue.d.ts +123 -0
- package/dist/uni/GaugeChart.vue +77 -0
- package/dist/uni/GaugeChart.vue.d.ts +123 -0
- package/dist/uni/HeatmapChart.vue +66 -0
- package/dist/uni/HeatmapChart.vue.d.ts +114 -0
- package/dist/uni/HistogramChart.vue +66 -0
- package/dist/uni/HistogramChart.vue.d.ts +121 -0
- package/dist/uni/HorizontalBarChart.vue +68 -0
- package/dist/uni/HorizontalBarChart.vue.d.ts +127 -0
- package/dist/uni/Input.vue.d.ts +1 -1
- package/dist/uni/MixedChart.vue +68 -0
- package/dist/uni/MixedChart.vue.d.ts +106 -0
- package/dist/uni/NumberInput.vue.d.ts +1 -1
- package/dist/uni/PieChart.vue +72 -0
- package/dist/uni/PieChart.vue.d.ts +114 -0
- package/dist/uni/RadarChart.vue +67 -0
- package/dist/uni/RadarChart.vue.d.ts +110 -0
- package/dist/uni/RadialBarChart.vue +90 -0
- package/dist/uni/RadialBarChart.vue.d.ts +132 -0
- package/dist/uni/RangeAreaChart.vue +68 -0
- package/dist/uni/RangeAreaChart.vue.d.ts +102 -0
- package/dist/uni/ResponsiveGrid.vue.d.ts +1 -1
- package/dist/uni/SankeyChart.vue +88 -0
- package/dist/uni/SankeyChart.vue.d.ts +121 -0
- package/dist/uni/ShapeChart.vue +73 -0
- package/dist/uni/ShapeChart.vue.d.ts +54 -0
- package/dist/uni/Sparkline.vue +58 -0
- package/dist/uni/Sparkline.vue.d.ts +77 -0
- package/dist/uni/SunburstChart.vue +90 -0
- package/dist/uni/SunburstChart.vue.d.ts +114 -0
- package/dist/uni/Textarea.vue.d.ts +1 -1
- package/dist/uni/TimePicker.vue.d.ts +1 -1
- package/dist/uni/TreemapChart.vue +65 -0
- package/dist/uni/TreemapChart.vue.d.ts +100 -0
- package/dist/uni/WaterfallChart.vue +66 -0
- package/dist/uni/WaterfallChart.vue.d.ts +125 -0
- package/dist/uni/chart-types.d.ts +216 -2
- package/dist/uni/chart-types.js +174 -0
- package/dist/uni/charts-canvas.js +10 -3
- package/dist/uni/index.d.ts +26 -1
- package/dist/uni/index.js +26 -1
- package/dist/uni/manifest.d.ts +272 -0
- package/dist/uni/manifest.js +387 -0
- package/dist/uni/named-chart-options.d.ts +88 -0
- package/dist/uni/named-chart-options.js +156 -0
- package/dist/uni/shape-chart-canvas.d.ts +51 -0
- package/dist/uni/shape-chart-canvas.js +342 -0
- package/dist/uni/shape-chart-types.d.ts +381 -0
- package/dist/uni/shape-chart-types.js +261 -0
- package/dist/vue/components/Chart/AreaChart.vue.d.ts +124 -0
- package/dist/vue/components/Chart/AreaChart.vue.js +7 -0
- package/dist/vue/components/Chart/AreaChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js +49 -0
- package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +132 -0
- package/dist/vue/components/Chart/Bar3DChart.vue.js +7 -0
- package/dist/vue/components/Chart/Bar3DChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js +55 -0
- package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/BarChart.vue.d.ts +123 -0
- package/dist/vue/components/Chart/BarChart.vue.js +7 -0
- package/dist/vue/components/Chart/BarChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +112 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue.js +7 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +57 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/BubbleChart.vue.d.ts +106 -0
- package/dist/vue/components/Chart/BubbleChart.vue.js +7 -0
- package/dist/vue/components/Chart/BubbleChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js +52 -0
- package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/BulletChart.vue.d.ts +117 -0
- package/dist/vue/components/Chart/BulletChart.vue.js +7 -0
- package/dist/vue/components/Chart/BulletChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js +64 -0
- package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/CalendarHeatmap.vue.d.ts +144 -0
- package/dist/vue/components/Chart/CalendarHeatmap.vue.js +7 -0
- package/dist/vue/components/Chart/CalendarHeatmap.vue.js.map +1 -0
- package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js +77 -0
- package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/CandlestickChart.vue.d.ts +94 -0
- package/dist/vue/components/Chart/CandlestickChart.vue.js +7 -0
- package/dist/vue/components/Chart/CandlestickChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js +44 -0
- package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/Chart.vue.d.ts +103 -0
- package/dist/vue/components/Chart/Chart.vue.js +7 -0
- package/dist/vue/components/Chart/Chart.vue.js.map +1 -0
- package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/DepthChart.vue.d.ts +139 -0
- package/dist/vue/components/Chart/DepthChart.vue.js +7 -0
- package/dist/vue/components/Chart/DepthChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js +42 -0
- package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/DonutChart.vue.d.ts +104 -0
- package/dist/vue/components/Chart/DonutChart.vue.js +7 -0
- package/dist/vue/components/Chart/DonutChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/FunnelChart.vue.d.ts +105 -0
- package/dist/vue/components/Chart/FunnelChart.vue.js +7 -0
- package/dist/vue/components/Chart/FunnelChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js +58 -0
- package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/GanttChart.vue.d.ts +132 -0
- package/dist/vue/components/Chart/GanttChart.vue.js +7 -0
- package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +98 -0
- package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/GaugeChart.vue.d.ts +132 -0
- package/dist/vue/components/Chart/GaugeChart.vue.js +7 -0
- package/dist/vue/components/Chart/GaugeChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js +71 -0
- package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +125 -0
- package/dist/vue/components/Chart/HeatmapChart.vue.js +7 -0
- package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +65 -0
- package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/HistogramChart.vue.d.ts +132 -0
- package/dist/vue/components/Chart/HistogramChart.vue.js +7 -0
- package/dist/vue/components/Chart/HistogramChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js +66 -0
- package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/HorizontalBarChart.vue.d.ts +121 -0
- package/dist/vue/components/Chart/HorizontalBarChart.vue.js +7 -0
- package/dist/vue/components/Chart/HorizontalBarChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js +55 -0
- package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/Line3DChart.vue.d.ts +121 -0
- package/dist/vue/components/Chart/Line3DChart.vue.js +7 -0
- package/dist/vue/components/Chart/Line3DChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/LineChart.vue.d.ts +125 -0
- package/dist/vue/components/Chart/LineChart.vue.js +7 -0
- package/dist/vue/components/Chart/LineChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js +50 -0
- package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/MixedChart.vue.d.ts +103 -0
- package/dist/vue/components/Chart/MixedChart.vue.js +7 -0
- package/dist/vue/components/Chart/MixedChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/OrderBook.vue.d.ts +125 -0
- package/dist/vue/components/Chart/OrderBook.vue.js +7 -0
- package/dist/vue/components/Chart/OrderBook.vue.js.map +1 -0
- package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js +38 -0
- package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +128 -0
- package/dist/vue/components/Chart/OrderBookHeatmap.vue.js +7 -0
- package/dist/vue/components/Chart/OrderBookHeatmap.vue.js.map +1 -0
- package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js +46 -0
- package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/PieChart.vue.d.ts +104 -0
- package/dist/vue/components/Chart/PieChart.vue.js +7 -0
- package/dist/vue/components/Chart/PieChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/QuadrantChart.vue.d.ts +186 -0
- package/dist/vue/components/Chart/QuadrantChart.vue.js +7 -0
- package/dist/vue/components/Chart/QuadrantChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js +107 -0
- package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/RadarChart.vue.d.ts +111 -0
- package/dist/vue/components/Chart/RadarChart.vue.js +7 -0
- package/dist/vue/components/Chart/RadarChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js +61 -0
- package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/RadialBarChart.vue.d.ts +147 -0
- package/dist/vue/components/Chart/RadialBarChart.vue.js +7 -0
- package/dist/vue/components/Chart/RadialBarChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js +78 -0
- package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/RangeAreaChart.vue.d.ts +106 -0
- package/dist/vue/components/Chart/RangeAreaChart.vue.js +7 -0
- package/dist/vue/components/Chart/RangeAreaChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js +51 -0
- package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/SankeyChart.vue.d.ts +132 -0
- package/dist/vue/components/Chart/SankeyChart.vue.js +7 -0
- package/dist/vue/components/Chart/SankeyChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js +71 -0
- package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +121 -0
- package/dist/vue/components/Chart/Scatter3DChart.vue.js +7 -0
- package/dist/vue/components/Chart/Scatter3DChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/ScatterChart.vue.d.ts +94 -0
- package/dist/vue/components/Chart/ScatterChart.vue.js +7 -0
- package/dist/vue/components/Chart/ScatterChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js +44 -0
- package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/ShapeChart.vue.d.ts +39 -0
- package/dist/vue/components/Chart/ShapeChart.vue.js +7 -0
- package/dist/vue/components/Chart/ShapeChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js +43 -0
- package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/Sparkline.vue.d.ts +90 -0
- package/dist/vue/components/Chart/Sparkline.vue.js +7 -0
- package/dist/vue/components/Chart/Sparkline.vue.js.map +1 -0
- package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js +66 -0
- package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/SunburstChart.vue.d.ts +123 -0
- package/dist/vue/components/Chart/SunburstChart.vue.js +7 -0
- package/dist/vue/components/Chart/SunburstChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js +68 -0
- package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +143 -0
- package/dist/vue/components/Chart/Surface3DChart.vue.js +7 -0
- package/dist/vue/components/Chart/Surface3DChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js +60 -0
- package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +114 -0
- package/dist/vue/components/Chart/TimeAndSales.vue.js +7 -0
- package/dist/vue/components/Chart/TimeAndSales.vue.js.map +1 -0
- package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js +46 -0
- package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/TradingChart.vue.d.ts +160 -0
- package/dist/vue/components/Chart/TradingChart.vue.js +7 -0
- package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +70 -0
- package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/TreemapChart.vue.d.ts +97 -0
- package/dist/vue/components/Chart/TreemapChart.vue.js +7 -0
- package/dist/vue/components/Chart/TreemapChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js +54 -0
- package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +132 -0
- package/dist/vue/components/Chart/WaterfallChart.vue.js +7 -0
- package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +68 -0
- package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/cartesian.d.ts +47 -0
- package/dist/vue/components/Chart/cartesian.js +56 -0
- package/dist/vue/components/Chart/cartesian.js.map +1 -0
- package/dist/vue/components/Chart/engine.d.ts +35 -0
- package/dist/vue/components/Chart/engine.js +35 -0
- package/dist/vue/components/Chart/engine.js.map +1 -0
- package/dist/vue/components/Chart/index.d.ts +41 -0
- package/dist/vue/components/Chart/index.js +40 -0
- package/dist/vue/components/Chart/orderbook.d.ts +359 -0
- package/dist/vue/components/Chart/orderbook.js +126 -0
- package/dist/vue/components/Chart/orderbook.js.map +1 -0
- package/dist/vue/components/Chart/props.d.ts +188 -0
- package/dist/vue/components/Chart/props.js +92 -0
- package/dist/vue/components/Chart/props.js.map +1 -0
- package/dist/vue/components/Chart/shape.d.ts +41 -0
- package/dist/vue/components/Chart/shape.js +42 -0
- package/dist/vue/components/Chart/shape.js.map +1 -0
- package/dist/vue/components/Chart/three-d.d.ts +106 -0
- package/dist/vue/components/Chart/three-d.js +88 -0
- package/dist/vue/components/Chart/three-d.js.map +1 -0
- package/dist/vue/components/Chart/trading.d.ts +105 -0
- package/dist/vue/components/Chart/trading.js +55 -0
- package/dist/vue/components/Chart/trading.js.map +1 -0
- package/dist/vue/components/Chart/types.d.ts +137 -0
- package/dist/vue/global.d.ts +38 -0
- package/dist/vue/groups/charts.d.ts +1 -0
- package/dist/vue/groups/charts.js +87 -0
- package/dist/vue/groups/charts.js.map +1 -0
- package/dist/vue/index.d.ts +1 -0
- package/dist/vue/index.js +63 -23
- package/dist/vue/plugin.js +12 -10
- package/dist/vue/plugin.js.map +1 -1
- package/dist/weapp/area-chart/index.js +1 -0
- package/dist/weapp/area-chart/index.json +1 -0
- package/dist/weapp/area-chart/index.wxml +1 -0
- package/dist/weapp/area-chart/index.wxss +1 -0
- package/dist/weapp/box-plot-chart/index.js +1 -0
- package/dist/weapp/box-plot-chart/index.json +1 -0
- package/dist/weapp/box-plot-chart/index.wxml +1 -0
- package/dist/weapp/box-plot-chart/index.wxss +1 -0
- package/dist/weapp/bubble-chart/index.js +1 -0
- package/dist/weapp/bubble-chart/index.json +1 -0
- package/dist/weapp/bubble-chart/index.wxml +1 -0
- package/dist/weapp/bubble-chart/index.wxss +1 -0
- package/dist/weapp/bullet-chart/index.js +1 -0
- package/dist/weapp/bullet-chart/index.json +1 -0
- package/dist/weapp/bullet-chart/index.wxml +1 -0
- package/dist/weapp/bullet-chart/index.wxss +1 -0
- package/dist/weapp/calendar-heatmap/index.js +1 -0
- package/dist/weapp/calendar-heatmap/index.json +1 -0
- package/dist/weapp/calendar-heatmap/index.wxml +1 -0
- package/dist/weapp/calendar-heatmap/index.wxss +1 -0
- package/dist/weapp/candlestick-chart/index.js +1 -0
- package/dist/weapp/candlestick-chart/index.json +1 -0
- package/dist/weapp/candlestick-chart/index.wxml +1 -0
- package/dist/weapp/candlestick-chart/index.wxss +1 -0
- package/dist/weapp/charts/canvas.js +11436 -0
- package/dist/weapp/charts/core.d.ts +2 -0
- package/dist/weapp/charts/core.js +41 -0
- package/dist/weapp/controls.js +1428 -3732
- package/dist/weapp/donut-chart/index.js +1 -0
- package/dist/weapp/donut-chart/index.json +1 -0
- package/dist/weapp/donut-chart/index.wxml +1 -0
- package/dist/weapp/donut-chart/index.wxss +1 -0
- package/dist/weapp/funnel-chart/index.js +1 -0
- package/dist/weapp/funnel-chart/index.json +1 -0
- package/dist/weapp/funnel-chart/index.wxml +1 -0
- package/dist/weapp/funnel-chart/index.wxss +1 -0
- package/dist/weapp/gantt-chart/index.js +1 -0
- package/dist/weapp/gantt-chart/index.json +1 -0
- package/dist/weapp/gantt-chart/index.wxml +1 -0
- package/dist/weapp/gantt-chart/index.wxss +1 -0
- package/dist/weapp/gauge-chart/index.js +1 -0
- package/dist/weapp/gauge-chart/index.json +1 -0
- package/dist/weapp/gauge-chart/index.wxml +1 -0
- package/dist/weapp/gauge-chart/index.wxss +1 -0
- package/dist/weapp/heatmap-chart/index.js +1 -0
- package/dist/weapp/heatmap-chart/index.json +1 -0
- package/dist/weapp/heatmap-chart/index.wxml +1 -0
- package/dist/weapp/heatmap-chart/index.wxss +1 -0
- package/dist/weapp/histogram-chart/index.js +1 -0
- package/dist/weapp/histogram-chart/index.json +1 -0
- package/dist/weapp/histogram-chart/index.wxml +1 -0
- package/dist/weapp/histogram-chart/index.wxss +1 -0
- package/dist/weapp/horizontal-bar-chart/index.js +1 -0
- package/dist/weapp/horizontal-bar-chart/index.json +1 -0
- package/dist/weapp/horizontal-bar-chart/index.wxml +1 -0
- package/dist/weapp/horizontal-bar-chart/index.wxss +1 -0
- package/dist/weapp/mixed-chart/index.js +1 -0
- package/dist/weapp/mixed-chart/index.json +1 -0
- package/dist/weapp/mixed-chart/index.wxml +1 -0
- package/dist/weapp/mixed-chart/index.wxss +1 -0
- package/dist/weapp/pie-chart/index.js +1 -0
- package/dist/weapp/pie-chart/index.json +1 -0
- package/dist/weapp/pie-chart/index.wxml +1 -0
- package/dist/weapp/pie-chart/index.wxss +1 -0
- package/dist/weapp/radar-chart/index.js +1 -0
- package/dist/weapp/radar-chart/index.json +1 -0
- package/dist/weapp/radar-chart/index.wxml +1 -0
- package/dist/weapp/radar-chart/index.wxss +1 -0
- package/dist/weapp/radial-bar-chart/index.js +1 -0
- package/dist/weapp/radial-bar-chart/index.json +1 -0
- package/dist/weapp/radial-bar-chart/index.wxml +1 -0
- package/dist/weapp/radial-bar-chart/index.wxss +1 -0
- package/dist/weapp/range-area-chart/index.js +1 -0
- package/dist/weapp/range-area-chart/index.json +1 -0
- package/dist/weapp/range-area-chart/index.wxml +1 -0
- package/dist/weapp/range-area-chart/index.wxss +1 -0
- package/dist/weapp/sankey-chart/index.js +1 -0
- package/dist/weapp/sankey-chart/index.json +1 -0
- package/dist/weapp/sankey-chart/index.wxml +1 -0
- package/dist/weapp/sankey-chart/index.wxss +1 -0
- package/dist/weapp/shape-chart/index.js +1 -0
- package/dist/weapp/shape-chart/index.json +1 -0
- package/dist/weapp/shape-chart/index.wxml +1 -0
- package/dist/weapp/shape-chart/index.wxss +1 -0
- package/dist/weapp/sparkline/index.js +1 -0
- package/dist/weapp/sparkline/index.json +1 -0
- package/dist/weapp/sparkline/index.wxml +1 -0
- package/dist/weapp/sparkline/index.wxss +1 -0
- package/dist/weapp/sunburst-chart/index.js +1 -0
- package/dist/weapp/sunburst-chart/index.json +1 -0
- package/dist/weapp/sunburst-chart/index.wxml +1 -0
- package/dist/weapp/sunburst-chart/index.wxss +1 -0
- package/dist/weapp/treemap-chart/index.js +1 -0
- package/dist/weapp/treemap-chart/index.json +1 -0
- package/dist/weapp/treemap-chart/index.wxml +1 -0
- package/dist/weapp/treemap-chart/index.wxss +1 -0
- package/dist/weapp/types.d.ts +466 -0
- package/dist/weapp/waterfall-chart/index.js +1 -0
- package/dist/weapp/waterfall-chart/index.json +1 -0
- package/dist/weapp/waterfall-chart/index.wxml +1 -0
- package/dist/weapp/waterfall-chart/index.wxss +1 -0
- package/dist/web-components/components/chart/chart.d.ts +58 -0
- package/dist/web-components/components/chart/chart.js +55 -0
- package/dist/web-components/components/chart/chart.js.map +1 -0
- package/dist/web-components/components/chart/charts.d.ts +252 -0
- package/dist/web-components/components/chart/charts.js +201 -0
- package/dist/web-components/components/chart/charts.js.map +1 -0
- package/dist/web-components/components/chart/engine-element.d.ts +53 -0
- package/dist/web-components/components/chart/engine-element.js +77 -0
- package/dist/web-components/components/chart/engine-element.js.map +1 -0
- package/dist/web-components/components/chart/extended.d.ts +224 -0
- package/dist/web-components/components/chart/extended.js +183 -0
- package/dist/web-components/components/chart/extended.js.map +1 -0
- package/dist/web-components/components/chart/series.d.ts +7 -0
- package/dist/web-components/components/chart/series.js +14 -0
- package/dist/web-components/components/chart/series.js.map +1 -0
- package/dist/web-components/components/chart/shape-chart.d.ts +199 -0
- package/dist/web-components/components/chart/shape-chart.js +161 -0
- package/dist/web-components/components/chart/shape-chart.js.map +1 -0
- package/dist/web-components/components/chart/shapes-extended.d.ts +162 -0
- package/dist/web-components/components/chart/shapes-extended.js +156 -0
- package/dist/web-components/components/chart/shapes-extended.js.map +1 -0
- package/dist/web-components/components/chart-3d/chart-3d.d.ts +111 -0
- package/dist/web-components/components/chart-3d/chart-3d.js +97 -0
- package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -0
- package/dist/web-components/components/order-book/order-book.d.ts +165 -0
- package/dist/web-components/components/order-book/order-book.js +174 -0
- package/dist/web-components/components/order-book/order-book.js.map +1 -0
- package/dist/web-components/components/trading-chart/trading-chart.d.ts +96 -0
- package/dist/web-components/components/trading-chart/trading-chart.js +96 -0
- package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -0
- package/dist/web-components/elements/chart-3d.d.ts +2 -0
- package/dist/web-components/elements/chart-3d.js +13 -0
- package/dist/web-components/elements/chart-3d.js.map +1 -0
- package/dist/web-components/elements/chart.d.ts +7 -0
- package/dist/web-components/elements/chart.js +43 -0
- package/dist/web-components/elements/chart.js.map +1 -0
- package/dist/web-components/elements/order-book.d.ts +2 -0
- package/dist/web-components/elements/order-book.js +13 -0
- package/dist/web-components/elements/order-book.js.map +1 -0
- package/dist/web-components/elements/trading-chart.d.ts +2 -0
- package/dist/web-components/elements/trading-chart.js +8 -0
- package/dist/web-components/elements/trading-chart.js.map +1 -0
- package/dist/web-components/html-custom-data.json +1192 -29
- package/dist/web-components/types/react.d.ts +435 -0
- package/dist/web-components/types/solid.d.ts +321 -0
- package/dist/web-components/types/svelte.d.ts +321 -0
- package/dist/web-components/types/vue.d.ts +359 -0
- package/package.json +113 -1
|
@@ -2,164 +2,226 @@ import { toCss as e } from "./color.js";
|
|
|
2
2
|
import { buildItems as t } from "./items.js";
|
|
3
3
|
import { drawBackground as n, drawForeground as r, font as i } from "./overlay.js";
|
|
4
4
|
import { createCanvas2dPainter as a } from "./renderers/canvas2d.js";
|
|
5
|
-
import {
|
|
5
|
+
import { itemsSignature as o } from "./signature.js";
|
|
6
|
+
import { createChartController as s, scenePrimitives as c } from "./controller.js";
|
|
6
7
|
//#region src/engine/canvas.ts
|
|
7
|
-
var
|
|
8
|
+
var l = (e) => (e[0] + e[1]) / 2, u = (e, t, n, r, i, a) => {
|
|
8
9
|
e.beginPath(), e.moveTo(t + a, n), e.lineTo(t + r - a, n), e.arcTo(t + r, n, t + r, n + a, a), e.lineTo(t + r, n + i - a), e.arcTo(t + r, n + i, t + r - a, n + i, a), e.lineTo(t + a, n + i), e.arcTo(t, n + i, t, n + i - a, a), e.lineTo(t, n + a), e.arcTo(t, n, t + a, n, a), e.closePath();
|
|
9
|
-
},
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
10
|
+
}, d = (e, t, n) => {
|
|
11
|
+
e.save(), e.beginPath(), e.rect(n.x, n.y, n.width, n.height), e.clip(), e.lineJoin = "round", e.lineCap = "round";
|
|
12
|
+
for (let n of t) if (n.kind === "area") e.globalAlpha = n.opacity, e.fillStyle = n.color, n.segments.forEach((t, r) => {
|
|
13
|
+
let i = n.bottoms?.[r], a = t.length / 2;
|
|
14
|
+
if (!(a < 2)) {
|
|
15
|
+
e.beginPath();
|
|
16
|
+
for (let n = 0; n < a; n++) n === 0 ? e.moveTo(t[0], t[1]) : e.lineTo(t[n * 2], t[n * 2 + 1]);
|
|
17
|
+
for (let r = a - 1; r >= 0; r--) {
|
|
18
|
+
let a = i ? i[r] : n.baseline;
|
|
19
|
+
n.horizontal ? e.lineTo(a, t[r * 2 + 1]) : e.lineTo(t[r * 2], a);
|
|
20
|
+
}
|
|
21
|
+
e.closePath(), e.fill();
|
|
22
|
+
}
|
|
23
|
+
}), e.globalAlpha = 1;
|
|
24
|
+
else if (n.kind === "line") {
|
|
25
|
+
e.strokeStyle = n.color, e.lineWidth = n.width, e.beginPath();
|
|
26
|
+
for (let t of n.segments) for (let n = 0; n < t.length; n += 2) n === 0 ? e.moveTo(t[0], t[1]) : e.lineTo(t[n], t[n + 1]);
|
|
27
|
+
e.stroke();
|
|
28
|
+
} else if (n.kind === "bars") {
|
|
29
|
+
e.globalAlpha = n.opacity ?? 1;
|
|
30
|
+
let t = n.radius ?? 0;
|
|
31
|
+
for (let r = 0; r < n.rects.length; r += 4) {
|
|
32
|
+
let [i, a, o, s] = [
|
|
33
|
+
n.rects[r],
|
|
34
|
+
n.rects[r + 1],
|
|
35
|
+
n.rects[r + 2],
|
|
36
|
+
n.rects[r + 3]
|
|
37
|
+
];
|
|
38
|
+
e.fillStyle = n.colors?.[r / 4] ?? n.color;
|
|
39
|
+
let c = Math.min(t, o / 2, s / 2);
|
|
40
|
+
c > .5 ? (u(e, i, a, o, s, c), e.fill()) : e.fillRect(i, a, o, s);
|
|
41
|
+
}
|
|
42
|
+
e.globalAlpha = 1;
|
|
43
|
+
} else {
|
|
44
|
+
e.globalAlpha = n.opacity;
|
|
45
|
+
for (let t = 0; t < n.dots.length; t += 3) e.fillStyle = n.colors[t / 3] ?? "#888", e.beginPath(), e.arc(n.dots[t], n.dots[t + 1], n.dots[t + 2] / 2, 0, Math.PI * 2), e.fill();
|
|
46
|
+
e.globalAlpha = 1;
|
|
47
|
+
}
|
|
48
|
+
e.restore();
|
|
49
|
+
}, f = (t, o, s, l, f, p = a(t)) => {
|
|
50
|
+
let { width: m, height: h, theme: g, model: _, view: v, layout: y } = o, { plot: b, scales: x } = y, S = f;
|
|
51
|
+
if (t.setTransform(1, 0, 0, 1, 0, 0), t.clearRect(0, 0, Math.ceil(m * S), Math.ceil(h * S)), t.setTransform(S, 0, 0, S, 0, 0), n(t, {
|
|
52
|
+
width: m,
|
|
53
|
+
height: h,
|
|
54
|
+
scales: x,
|
|
55
|
+
x: _.x,
|
|
56
|
+
y: _.y,
|
|
57
|
+
xTicks: y.xTicks,
|
|
58
|
+
yTicks: y.yTicks,
|
|
59
|
+
y2: _.y2,
|
|
60
|
+
y2Ticks: y.y2Ticks,
|
|
61
|
+
theme: g,
|
|
20
62
|
annotations: o.annotations
|
|
21
63
|
}), o.legend) {
|
|
22
|
-
t.font = i(
|
|
64
|
+
t.font = i(g, 12), t.textBaseline = "middle", t.textAlign = "left";
|
|
23
65
|
for (let n of o.legend.entries) {
|
|
24
66
|
let r = n.box.y + n.box.height / 2;
|
|
25
|
-
if (t.globalAlpha = n.hidden ? .45 : 1, t.fillStyle = n.color, n.shape === "dot" ? (t.beginPath(), t.arc(n.box.x + 5, r, 4, 0, Math.PI * 2), t.fill()) : n.shape === "line" ? t.fillRect(n.box.x, r - 1, 10, 2) : t.fillRect(n.box.x + 1, r - 4, 8, 8), t.fillStyle = e(
|
|
67
|
+
if (t.globalAlpha = n.hidden ? .45 : 1, t.fillStyle = n.color, n.shape === "dot" ? (t.beginPath(), t.arc(n.box.x + 5, r, 4, 0, Math.PI * 2), t.fill()) : n.shape === "line" ? t.fillRect(n.box.x, r - 1, 10, 2) : t.fillRect(n.box.x + 1, r - 4, 8, 8), t.fillStyle = e(g.textMuted), t.fillText(n.name, n.box.x + 14, r), n.hidden) {
|
|
26
68
|
let e = n.box.width - 22;
|
|
27
69
|
t.fillRect(n.box.x + 14, r, e, 1);
|
|
28
70
|
}
|
|
29
71
|
}
|
|
30
72
|
t.globalAlpha = 1;
|
|
31
73
|
}
|
|
32
|
-
let
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
74
|
+
for (let n of o.hover?.marks ?? []) n.kind === "band" && (u(t, n.x, n.y, n.width, n.height, 6), t.fillStyle = e(g.text, .06), t.fill());
|
|
75
|
+
x.horizontal ? d(t, c(o), b) : C();
|
|
76
|
+
function C() {
|
|
77
|
+
let e = (e, t, n) => {
|
|
78
|
+
let r = 2 / (e[1] - e[0]), i = (t - e[0]) * r - 1;
|
|
79
|
+
return n ? [-r, -i] : [r, i];
|
|
80
|
+
}, [t, n] = e(v.x, l.x, _.x.reverse), [r, i] = e(v.y, l.y, _.y.reverse);
|
|
81
|
+
p.paint(s, {
|
|
82
|
+
transform: {
|
|
83
|
+
xScale: t,
|
|
84
|
+
xOffset: n,
|
|
85
|
+
yScale: r,
|
|
86
|
+
yOffset: i
|
|
87
|
+
},
|
|
88
|
+
width: Math.max(1, Math.round(b.width * S)),
|
|
89
|
+
height: Math.max(1, Math.round(b.height * S)),
|
|
90
|
+
dpr: S
|
|
91
|
+
}, Math.round(b.x * S), Math.round(b.y * S));
|
|
92
|
+
}
|
|
93
|
+
if (t.setTransform(S, 0, 0, S, 0, 0), r(t, {
|
|
94
|
+
width: m,
|
|
95
|
+
height: h,
|
|
96
|
+
scales: x,
|
|
97
|
+
theme: g,
|
|
51
98
|
annotations: o.annotations,
|
|
52
99
|
pointLabels: [],
|
|
53
100
|
clear: !1
|
|
54
101
|
}), o.pointLabels.length) {
|
|
55
|
-
t.save(), t.font = i(
|
|
102
|
+
t.save(), t.font = i(g), t.textAlign = "left", t.textBaseline = "middle", t.lineWidth = 3, t.lineJoin = "round", t.strokeStyle = e(g.background, .9), t.fillStyle = e(g.text, .85);
|
|
56
103
|
for (let { label: e, box: n } of o.pointLabels) t.strokeText(e.text, n.x, n.y + n.height / 2), t.fillText(e.text, n.x, n.y + n.height / 2);
|
|
57
104
|
t.restore();
|
|
58
105
|
}
|
|
59
|
-
let
|
|
60
|
-
if (
|
|
61
|
-
if (
|
|
62
|
-
t.save(), t.strokeStyle = e(
|
|
63
|
-
let n = Math.round(
|
|
64
|
-
t.moveTo(n,
|
|
106
|
+
let w = o.hover;
|
|
107
|
+
if (w) {
|
|
108
|
+
if (w.crosshairX !== null) {
|
|
109
|
+
t.save(), t.strokeStyle = e(g.textMuted, .55), t.lineWidth = 1, t.setLineDash([3, 3]), t.beginPath();
|
|
110
|
+
let n = Math.round(w.crosshairX) + .5;
|
|
111
|
+
t.moveTo(n, b.y), t.lineTo(n, b.y + b.height), t.stroke(), t.restore();
|
|
112
|
+
}
|
|
113
|
+
if (w.crosshairY !== null) {
|
|
114
|
+
t.save(), t.strokeStyle = e(g.textMuted, .55), t.lineWidth = 1, t.setLineDash([3, 3]), t.beginPath();
|
|
115
|
+
let n = Math.round(w.crosshairY) + .5;
|
|
116
|
+
t.moveTo(b.x, n), t.lineTo(b.x + b.width, n), t.stroke(), t.restore();
|
|
65
117
|
}
|
|
66
|
-
for (let n of
|
|
67
|
-
if (n.kind === "
|
|
68
|
-
t.
|
|
118
|
+
for (let n of w.marks) if (n.kind !== "band") {
|
|
119
|
+
if (n.kind === "cell") {
|
|
120
|
+
u(t, n.x, n.y, n.width, n.height, 3), t.lineWidth = 3, t.strokeStyle = e(g.background), t.stroke(), t.lineWidth = 1.5, t.strokeStyle = e(g.text, .55), t.stroke();
|
|
69
121
|
continue;
|
|
70
122
|
}
|
|
71
|
-
t.beginPath(), t.arc(n.x, n.y, n.size / 2, 0, Math.PI * 2), t.fillStyle = n.color, t.fill(), t.lineWidth = 2, t.strokeStyle = e(
|
|
123
|
+
t.beginPath(), t.arc(n.x, n.y, n.size / 2 + 4, 0, Math.PI * 2), t.fillStyle = n.halo, t.fill(), t.beginPath(), t.arc(n.x, n.y, n.size / 2 - 1, 0, Math.PI * 2), t.fillStyle = n.color, t.fill(), t.lineWidth = 2, t.strokeStyle = e(g.background), t.stroke();
|
|
72
124
|
}
|
|
73
125
|
}
|
|
74
126
|
if (o.dragging) {
|
|
75
127
|
let n = o.dragging;
|
|
76
|
-
t.beginPath(), t.arc(n.x, n.y, n.size / 2, 0, Math.PI * 2), t.fillStyle = n.color, t.globalAlpha = .85, t.fill(), t.globalAlpha = 1, t.lineWidth = 2, t.strokeStyle = e(
|
|
128
|
+
t.beginPath(), t.arc(n.x, n.y, n.size / 2, 0, Math.PI * 2), t.fillStyle = n.color, t.globalAlpha = .85, t.fill(), t.globalAlpha = 1, t.lineWidth = 2, t.strokeStyle = e(g.background), t.stroke();
|
|
77
129
|
}
|
|
78
|
-
let
|
|
79
|
-
if (
|
|
80
|
-
let { box: n, lineHeight: r, padding: a } =
|
|
81
|
-
t.save(), t.shadowColor = "rgba(15, 23, 42, 0.18)", t.shadowBlur = 16, t.shadowOffsetY = 6,
|
|
82
|
-
let o = n.y + a + r / 2, s = n.x + a + 2,
|
|
83
|
-
if (
|
|
84
|
-
t.font = i(
|
|
85
|
-
for (let e of
|
|
130
|
+
let T = w?.tooltip;
|
|
131
|
+
if (T) {
|
|
132
|
+
let { box: n, lineHeight: r, padding: a } = T;
|
|
133
|
+
t.save(), t.shadowColor = "rgba(15, 23, 42, 0.18)", t.shadowBlur = 16, t.shadowOffsetY = 6, u(t, n.x, n.y, n.width, n.height, 8), t.fillStyle = e(g.background), t.fill(), t.restore(), u(t, n.x + .5, n.y + .5, n.width - 1, n.height - 1, 8), t.strokeStyle = e(g.axis, .6), t.lineWidth = 1, t.stroke(), t.textBaseline = "middle";
|
|
134
|
+
let o = n.y + a + r / 2, s = n.x + a + 2, c = n.x + n.width - a - 2;
|
|
135
|
+
if (T.text) {
|
|
136
|
+
t.font = i(g, 12), t.fillStyle = e(g.text), t.textAlign = "left";
|
|
137
|
+
for (let e of T.text) t.fillText(e, s, o), o += r;
|
|
86
138
|
} else {
|
|
87
|
-
let { content: n } =
|
|
88
|
-
n.titleColor && (t.fillStyle = n.titleColor, t.beginPath(), t.arc(a + 4, o, 4, 0, Math.PI * 2), t.fill(), a += 14), t.font = i(
|
|
89
|
-
for (let
|
|
139
|
+
let { content: n } = T, a = s;
|
|
140
|
+
n.titleColor && (t.fillStyle = n.titleColor, t.beginPath(), t.arc(a + 4, o, 4, 0, Math.PI * 2), t.fill(), a += 14), t.font = i(g, 12, 600), t.fillStyle = e(g.text), t.textAlign = "left", t.fillText(n.title, a, o), o += r;
|
|
141
|
+
for (let l of n.rows) a = s, l.color && (t.fillStyle = l.color, t.beginPath(), t.arc(a + 4, o, 4, 0, Math.PI * 2), t.fill(), a += 14), t.font = i(g, 12), t.textAlign = "left", t.fillStyle = e(g.textMuted), t.fillText(l.name, a, o), t.font = i(g, 12, 600), t.textAlign = "right", t.fillStyle = e(g.text), t.fillText(l.value, c, o), o += r;
|
|
90
142
|
}
|
|
91
143
|
}
|
|
92
|
-
},
|
|
93
|
-
let { canvas: n } = e, r = n.getContext("2d"), i = e.width, c = e.height, u = e.pixelRatio ?? 1, d = !1,
|
|
144
|
+
}, p = (e) => {
|
|
145
|
+
let { canvas: n } = e, r = n.getContext("2d"), i = e.width, c = e.height, u = e.pixelRatio ?? 1, d = !1, p = null, m = [], h = null, g = "", _ = e.options, v = /* @__PURE__ */ new WeakMap(), y = 0, b = (e) => {
|
|
146
|
+
let t = v.get(e);
|
|
147
|
+
return t === void 0 && v.set(e, t = ++y), t;
|
|
148
|
+
}, x = {
|
|
94
149
|
x: 0,
|
|
95
150
|
y: 0
|
|
96
|
-
},
|
|
97
|
-
if (
|
|
98
|
-
let e =
|
|
151
|
+
}, S = 0, C = "", w = (e, t) => r ? (t !== C && (r.font = t, C = t), r.measureText(e).width) : e.length * 6.5, T = r ? a(r) : null, E = globalThis, D = () => {
|
|
152
|
+
if (p = null, d || !r || !T) return;
|
|
153
|
+
let e = k.getScene();
|
|
99
154
|
if (!e) return;
|
|
100
|
-
let a = Math.max(1, Math.round(i * u)),
|
|
101
|
-
n.width !== a && (n.width = a), n.height !==
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
155
|
+
let a = Math.max(1, Math.round(i * u)), s = Math.max(1, Math.round(c * u));
|
|
156
|
+
if (n.width !== a && (n.width = a), n.height !== s && (n.height = s), C = "", h !== e.model) {
|
|
157
|
+
h = e.model;
|
|
158
|
+
let n = o(e.model, b(e.theme), (e) => _.series[e]?.stack);
|
|
159
|
+
n !== g && (g = n, x = {
|
|
160
|
+
x: l(e.model.base.x),
|
|
161
|
+
y: l(e.model.base.y)
|
|
162
|
+
}, m = t(e.model, x, ++S));
|
|
163
|
+
}
|
|
164
|
+
f(r, e, m, x, u, T), C = "";
|
|
165
|
+
}, O = () => {
|
|
166
|
+
d || p !== null || (p = n.requestAnimationFrame ? n.requestAnimationFrame(D) : E.requestAnimationFrame ? E.requestAnimationFrame(D) : setTimeout(D, 16));
|
|
167
|
+
}, k = s({
|
|
108
168
|
options: e.options,
|
|
109
169
|
theme: e.theme,
|
|
110
|
-
measureText:
|
|
111
|
-
onInvalidate:
|
|
170
|
+
measureText: w,
|
|
171
|
+
onInvalidate: O
|
|
112
172
|
});
|
|
113
|
-
|
|
114
|
-
let
|
|
173
|
+
k.setSize(i, c);
|
|
174
|
+
let A = (e, t) => ({
|
|
115
175
|
id: e.identifier ?? t,
|
|
116
176
|
touch: !0
|
|
117
177
|
});
|
|
118
178
|
return {
|
|
119
|
-
setOptions: (e) =>
|
|
120
|
-
|
|
179
|
+
setOptions: (e) => {
|
|
180
|
+
_ = e, k.setOptions(e);
|
|
181
|
+
},
|
|
182
|
+
setTheme: (e) => k.setTheme(e),
|
|
121
183
|
resize(e, t, n) {
|
|
122
|
-
i = e, c = t, n && (u = n),
|
|
184
|
+
i = e, c = t, n && (u = n), k.setSize(e, t), O();
|
|
123
185
|
},
|
|
124
186
|
render() {
|
|
125
|
-
|
|
187
|
+
p !== null && (n.cancelAnimationFrame ? n.cancelAnimationFrame(p) : E.cancelAnimationFrame ? E.cancelAnimationFrame(p) : clearTimeout(p)), D();
|
|
126
188
|
},
|
|
127
189
|
touchStart(e) {
|
|
128
|
-
e.forEach((e, t) =>
|
|
190
|
+
e.forEach((e, t) => k.pointerDown(e.x, e.y, A(e, t)));
|
|
129
191
|
},
|
|
130
192
|
touchMove(e) {
|
|
131
|
-
e.forEach((e, t) =>
|
|
193
|
+
e.forEach((e, t) => k.pointerMove(e.x, e.y, A(e, t)));
|
|
132
194
|
},
|
|
133
195
|
touchEnd(e) {
|
|
134
|
-
e.forEach((e, t) =>
|
|
196
|
+
e.forEach((e, t) => k.pointerUp(e.x, e.y, A(e, t)));
|
|
135
197
|
},
|
|
136
198
|
touchCancel(e = [{
|
|
137
199
|
x: 0,
|
|
138
200
|
y: 0
|
|
139
201
|
}]) {
|
|
140
|
-
e.forEach((e, t) =>
|
|
202
|
+
e.forEach((e, t) => k.pointerCancel(A(e, t)));
|
|
141
203
|
},
|
|
142
|
-
pointerDown: (e, t, n) =>
|
|
143
|
-
pointerMove: (e, t, n) =>
|
|
144
|
-
pointerUp: (e, t, n) =>
|
|
145
|
-
pointerLeave: () =>
|
|
146
|
-
zoomAt: (e, t, n) =>
|
|
147
|
-
resetZoom: () =>
|
|
148
|
-
getView: () =>
|
|
149
|
-
setView: (e) =>
|
|
150
|
-
toggleSeries: (e) =>
|
|
151
|
-
clearHover: () =>
|
|
152
|
-
getPlotRect: () =>
|
|
153
|
-
toPixel: (e, t) =>
|
|
154
|
-
fromPixel: (e, t) =>
|
|
155
|
-
getController: () =>
|
|
156
|
-
on: (e, t) =>
|
|
204
|
+
pointerDown: (e, t, n) => k.pointerDown(e, t, n),
|
|
205
|
+
pointerMove: (e, t, n) => k.pointerMove(e, t, n),
|
|
206
|
+
pointerUp: (e, t, n) => k.pointerUp(e, t, n),
|
|
207
|
+
pointerLeave: () => k.pointerLeave(),
|
|
208
|
+
zoomAt: (e, t, n) => k.zoomAt(e, t, n),
|
|
209
|
+
resetZoom: () => k.resetZoom(),
|
|
210
|
+
getView: () => k.getView(),
|
|
211
|
+
setView: (e) => k.setView(e),
|
|
212
|
+
toggleSeries: (e) => k.toggleSeries(e),
|
|
213
|
+
clearHover: () => k.clearHover(),
|
|
214
|
+
getPlotRect: () => k.getPlotRect(),
|
|
215
|
+
toPixel: (e, t) => k.toPixel(e, t),
|
|
216
|
+
fromPixel: (e, t) => k.fromPixel(e, t),
|
|
217
|
+
getController: () => k,
|
|
218
|
+
on: (e, t) => k.on(e, t),
|
|
157
219
|
destroy() {
|
|
158
|
-
d || (d = !0,
|
|
220
|
+
d || (d = !0, p !== null && (n.cancelAnimationFrame ? n.cancelAnimationFrame(p) : E.cancelAnimationFrame ? E.cancelAnimationFrame(p) : clearTimeout(p)), T?.destroy(), k.destroy());
|
|
159
221
|
}
|
|
160
222
|
};
|
|
161
223
|
};
|
|
162
224
|
//#endregion
|
|
163
|
-
export {
|
|
225
|
+
export { p as createCanvasChart, d as drawPrimitives, f as drawScene };
|
|
164
226
|
|
|
165
227
|
//# sourceMappingURL=canvas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas.js","names":["mid","r","roundedRect","ctx","x","y","w","h","drawScene","createCanvas2dPainter","scene","layout","dpr","pixelRatio","width","height","drawBackground","model","font","theme","e","cy","toCss","scale","s","range","offset","o","reverse","xScale","xOffset","view","origin","yScale","yOffset","painter","items","plot","drawForeground","label","box","hover","cx","mark","d","tip","padding","lineHeight","left","right","line","content","row","createCanvasChart","config","canvas","destroyed","frameId","itemsModel","version","fontSet","measureText","f","text","g","render","controller","pw","ph","buildItems","schedule","createChartController","touchOptions","t","i","ratio","v","id","type","listener"],"sources":["../../../../charts/src/engine/canvas.ts"],"sourcesContent":["// createCanvasChart: a whole chart drawn on one 2D canvas without any DOM:\n// WeChat / Alipay / ByteDance mini-programs (`<canvas type=\"2d\">`), Taro,\n// uni-app, OffscreenCanvas, or a plain browser canvas. The host forwards\n// touches / pointer events; everything else is handled here.\n\nimport { toCss } from \"./color\";\nimport {\n createChartController,\n type ChartController,\n type ChartControllerEventMap,\n type ChartPointerOptions,\n type ChartScene,\n} from \"./controller\";\nimport { buildItems, type Origin } from \"./items\";\nimport { drawBackground, drawForeground, font } from \"./overlay\";\nimport { createCanvas2dPainter } from \"./renderers/canvas2d\";\nimport type { RenderItem } from \"./renderers/types\";\nimport type { ChartThemeInput } from \"./theme\";\nimport type { ChartOptions, ChartRect, ChartView } from \"./types\";\n\n/**\n * The canvas a chart draws on: a browser `HTMLCanvasElement`, an\n * `OffscreenCanvas` or the node of a mini-program `<canvas type=\"2d\">`\n * (`SelectorQuery.fields({ node: true })`)\n */\nexport interface ChartCanvas {\n width: number;\n height: number;\n getContext(type: \"2d\"): unknown;\n /** Mini-program canvases schedule their frames themselves */\n requestAnimationFrame?: (callback: () => void) => number;\n cancelAnimationFrame?: (id: number) => void;\n}\n\n/** A touch point relative to the canvas (`x` / `y`) with its identifier */\nexport interface ChartTouch {\n x: number;\n y: number;\n identifier?: number;\n}\n\nexport interface CanvasChartConfig {\n canvas: ChartCanvas;\n /** Size of the canvas in CSS pixels (rpx converted by the host) */\n width: number;\n height: number;\n /**\n * Device pixel ratio (`wx.getWindowInfo().pixelRatio` in mini-programs)\n * @default 1\n */\n pixelRatio?: number;\n options: ChartOptions;\n /** Colors and fonts: values of the Minerva CSS variables */\n theme?: ChartThemeInput;\n}\n\nexport interface CanvasChartInstance {\n setOptions(options: ChartOptions): void;\n setTheme(theme: ChartThemeInput | undefined): void;\n /** New CSS size (and pixel ratio) of the canvas */\n resize(width: number, height: number, pixelRatio?: number): void;\n /** Draws now (frames are otherwise scheduled automatically) */\n render(): void;\n /** Touch handlers: pass the `touches` / `changedTouches` of the event */\n touchStart(touches: readonly ChartTouch[]): void;\n touchMove(touches: readonly ChartTouch[]): void;\n touchEnd(changedTouches: readonly ChartTouch[]): void;\n touchCancel(changedTouches?: readonly ChartTouch[]): void;\n /** Mouse / pen handlers (H5, desktop mini-programs) */\n pointerDown(x: number, y: number, options?: ChartPointerOptions): void;\n pointerMove(x: number, y: number, options?: ChartPointerOptions): void;\n pointerUp(x: number, y: number, options?: ChartPointerOptions): void;\n pointerLeave(): void;\n /** Zooms around a pixel (factor < 1 zooms in) */\n zoomAt(x: number, y: number, factor: number): void;\n resetZoom(): void;\n getView(): ChartView;\n setView(view: Partial<ChartView>): void;\n toggleSeries(id: string): void;\n clearHover(): void;\n getPlotRect(): ChartRect | null;\n toPixel(x: number, y: number): { x: number; y: number } | null;\n fromPixel(x: number, y: number): { x: number; y: number } | null;\n /** The platform-free controller (scene, gestures) */\n getController(): ChartController;\n on<K extends keyof ChartControllerEventMap>(\n type: K,\n listener: (event: ChartControllerEventMap[K]) => void,\n ): () => void;\n destroy(): void;\n}\n\nconst mid = (r: [number, number]) => (r[0] + r[1]) / 2;\n\nconst roundedRect = (\n ctx: CanvasRenderingContext2D,\n x: number,\n y: number,\n w: number,\n h: number,\n r: number,\n) => {\n ctx.beginPath();\n ctx.moveTo(x + r, y);\n ctx.lineTo(x + w - r, y);\n ctx.arcTo(x + w, y, x + w, y + r, r);\n ctx.lineTo(x + w, y + h - r);\n ctx.arcTo(x + w, y + h, x + w - r, y + h, r);\n ctx.lineTo(x + r, y + h);\n ctx.arcTo(x, y + h, x, y + h - r, r);\n ctx.lineTo(x, y + r);\n ctx.arcTo(x, y, x + r, y, r);\n ctx.closePath();\n};\n\n/** Draws a scene (legend, axes, data, labels, hover) on a 2D context */\nexport const drawScene = (\n ctx: CanvasRenderingContext2D,\n scene: ChartScene,\n items: readonly RenderItem[],\n origin: Origin,\n pixelRatio: number,\n painter = createCanvas2dPainter(ctx),\n) => {\n const { width, height, theme, model, view, layout } = scene;\n const { plot, scales } = layout;\n const dpr = pixelRatio;\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.clearRect(0, 0, Math.ceil(width * dpr), Math.ceil(height * dpr));\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n drawBackground(ctx, {\n width,\n height,\n scales,\n x: model.x,\n y: model.y,\n xTicks: layout.xTicks,\n yTicks: layout.yTicks,\n theme,\n annotations: scene.annotations,\n });\n\n // legend\n if (scene.legend) {\n ctx.font = font(theme, 12);\n ctx.textBaseline = \"middle\";\n ctx.textAlign = \"left\";\n for (const e of scene.legend.entries) {\n const cy = e.box.y + e.box.height / 2;\n ctx.globalAlpha = e.hidden ? 0.45 : 1;\n ctx.fillStyle = e.color;\n if (e.shape === \"dot\") {\n ctx.beginPath();\n ctx.arc(e.box.x + 5, cy, 4, 0, Math.PI * 2);\n ctx.fill();\n } else if (e.shape === \"line\") {\n ctx.fillRect(e.box.x, cy - 1, 10, 2);\n } else {\n ctx.fillRect(e.box.x + 1, cy - 4, 8, 8);\n }\n ctx.fillStyle = toCss(theme.textMuted);\n ctx.fillText(e.name, e.box.x + 14, cy);\n if (e.hidden) {\n const w = e.box.width - 22;\n ctx.fillRect(e.box.x + 14, cy, w, 1);\n }\n }\n ctx.globalAlpha = 1;\n }\n\n // data\n const scale = (range: [number, number], o: number, reverse: boolean) => {\n const s = 2 / (range[1] - range[0]);\n const offset = (o - range[0]) * s - 1;\n return reverse ? [-s, -offset] : [s, offset];\n };\n const [xScale, xOffset] = scale(view.x, origin.x, model.x.reverse);\n const [yScale, yOffset] = scale(view.y, origin.y, model.y.reverse);\n painter.paint(\n items,\n {\n transform: { xScale, xOffset, yScale, yOffset },\n width: Math.max(1, Math.round(plot.width * dpr)),\n height: Math.max(1, Math.round(plot.height * dpr)),\n dpr,\n },\n Math.round(plot.x * dpr),\n Math.round(plot.y * dpr),\n );\n\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n drawForeground(ctx, {\n width,\n height,\n scales,\n theme,\n annotations: scene.annotations,\n pointLabels: [],\n clear: false,\n });\n // dot labels placed by the scene\n if (scene.pointLabels.length) {\n ctx.save();\n ctx.font = font(theme);\n ctx.textAlign = \"left\";\n ctx.textBaseline = \"middle\";\n ctx.lineWidth = 3;\n ctx.lineJoin = \"round\";\n ctx.strokeStyle = toCss(theme.background, 0.9);\n ctx.fillStyle = toCss(theme.text, 0.85);\n for (const { label, box } of scene.pointLabels) {\n ctx.strokeText(label.text, box.x, box.y + box.height / 2);\n ctx.fillText(label.text, box.x, box.y + box.height / 2);\n }\n ctx.restore();\n }\n\n // hover\n const hover = scene.hover;\n if (hover) {\n if (hover.crosshairX !== null) {\n ctx.save();\n ctx.strokeStyle = toCss(theme.textMuted, 0.55);\n ctx.lineWidth = 1;\n ctx.setLineDash([3, 3]);\n ctx.beginPath();\n const cx = Math.round(hover.crosshairX) + 0.5;\n ctx.moveTo(cx, plot.y);\n ctx.lineTo(cx, plot.y + plot.height);\n ctx.stroke();\n ctx.restore();\n }\n for (const mark of hover.marks) {\n if (mark.kind === \"bar\") {\n ctx.fillStyle = toCss(theme.text, 0.08);\n ctx.fillRect(mark.x - 2, mark.y - 2, mark.width + 4, mark.height + 2);\n continue;\n }\n ctx.beginPath();\n ctx.arc(mark.x, mark.y, mark.size / 2, 0, Math.PI * 2);\n ctx.fillStyle = mark.color;\n ctx.fill();\n ctx.lineWidth = 2;\n ctx.strokeStyle = toCss(theme.background);\n ctx.stroke();\n }\n }\n if (scene.dragging) {\n const d = scene.dragging;\n ctx.beginPath();\n ctx.arc(d.x, d.y, d.size / 2, 0, Math.PI * 2);\n ctx.fillStyle = d.color;\n ctx.globalAlpha = 0.85;\n ctx.fill();\n ctx.globalAlpha = 1;\n ctx.lineWidth = 2;\n ctx.strokeStyle = toCss(theme.background);\n ctx.stroke();\n }\n const tip = hover?.tooltip;\n if (tip) {\n const { box, lineHeight, padding } = tip;\n ctx.save();\n ctx.shadowColor = \"rgba(15, 23, 42, 0.18)\";\n ctx.shadowBlur = 16;\n ctx.shadowOffsetY = 6;\n roundedRect(ctx, box.x, box.y, box.width, box.height, 8);\n ctx.fillStyle = toCss(theme.background);\n ctx.fill();\n ctx.restore();\n roundedRect(\n ctx,\n box.x + 0.5,\n box.y + 0.5,\n box.width - 1,\n box.height - 1,\n 8,\n );\n ctx.strokeStyle = toCss(theme.axis);\n ctx.lineWidth = 1;\n ctx.stroke();\n ctx.textBaseline = \"middle\";\n let y = box.y + padding + lineHeight / 2;\n const left = box.x + padding + 2;\n const right = box.x + box.width - padding - 2;\n if (tip.text) {\n ctx.font = font(theme, 12);\n ctx.fillStyle = toCss(theme.text);\n ctx.textAlign = \"left\";\n for (const line of tip.text) {\n ctx.fillText(line, left, y);\n y += lineHeight;\n }\n } else {\n const { content } = tip;\n let x = left;\n if (content.titleColor) {\n ctx.fillStyle = content.titleColor;\n ctx.beginPath();\n ctx.arc(x + 4, y, 4, 0, Math.PI * 2);\n ctx.fill();\n x += 14;\n }\n ctx.font = font(theme, 12, 600);\n ctx.fillStyle = toCss(theme.text);\n ctx.textAlign = \"left\";\n ctx.fillText(content.title, x, y);\n y += lineHeight;\n for (const row of content.rows) {\n x = left;\n if (row.color) {\n ctx.fillStyle = row.color;\n ctx.beginPath();\n ctx.arc(x + 4, y, 4, 0, Math.PI * 2);\n ctx.fill();\n x += 14;\n }\n ctx.font = font(theme, 12);\n ctx.textAlign = \"left\";\n ctx.fillStyle = toCss(theme.textMuted);\n ctx.fillText(row.name, x, y);\n ctx.font = font(theme, 12, 600);\n ctx.textAlign = \"right\";\n ctx.fillStyle = toCss(theme.text);\n ctx.fillText(row.value, right, y);\n y += lineHeight;\n }\n }\n }\n};\n\n/**\n * Creates a chart drawn on a 2D canvas: line, area, bar and scatter series,\n * annotations, legend and tooltip, tap / drag / pinch gestures. Works\n * without a DOM (mini-programs); see `createChart` for the GPU version of\n * the web.\n */\nexport const createCanvasChart = (\n config: CanvasChartConfig,\n): CanvasChartInstance => {\n const { canvas } = config;\n const ctx = canvas.getContext(\"2d\") as CanvasRenderingContext2D | null;\n let width = config.width;\n let height = config.height;\n let dpr = config.pixelRatio ?? 1;\n let destroyed = false;\n let frameId: number | null = null;\n let items: RenderItem[] = [];\n let itemsModel: unknown = null;\n let origin: Origin = { x: 0, y: 0 };\n let version = 0;\n let fontSet = \"\";\n\n const measureText = (text: string, f: string) => {\n if (!ctx) return text.length * 6.5;\n if (f !== fontSet) {\n ctx.font = f;\n fontSet = f;\n }\n return ctx.measureText(text).width;\n };\n\n const painter = ctx ? createCanvas2dPainter(ctx) : null;\n\n const g = globalThis as {\n requestAnimationFrame?: (cb: () => void) => number;\n cancelAnimationFrame?: (id: number) => void;\n };\n\n const render = () => {\n frameId = null;\n if (destroyed || !ctx || !painter) return;\n const scene = controller.getScene();\n if (!scene) return;\n const pw = Math.max(1, Math.round(width * dpr));\n const ph = Math.max(1, Math.round(height * dpr));\n if (canvas.width !== pw) canvas.width = pw;\n if (canvas.height !== ph) canvas.height = ph;\n fontSet = \"\";\n if (itemsModel !== scene.model) {\n itemsModel = scene.model;\n origin = { x: mid(scene.model.base.x), y: mid(scene.model.base.y) };\n items = buildItems(scene.model, origin, ++version);\n }\n drawScene(ctx, scene, items, origin, dpr, painter);\n fontSet = \"\";\n };\n\n const schedule = () => {\n if (destroyed || frameId !== null) return;\n if (canvas.requestAnimationFrame)\n frameId = canvas.requestAnimationFrame(render);\n else if (g.requestAnimationFrame) frameId = g.requestAnimationFrame(render);\n else frameId = setTimeout(render, 16) as unknown as number;\n };\n\n const controller = createChartController({\n options: config.options,\n theme: config.theme,\n measureText,\n onInvalidate: schedule,\n });\n controller.setSize(width, height);\n\n const touchOptions = (t: ChartTouch, i: number): ChartPointerOptions => ({\n id: t.identifier ?? i,\n touch: true,\n });\n\n return {\n setOptions: (o) => controller.setOptions(o),\n setTheme: (t) => controller.setTheme(t),\n resize(w, h, ratio) {\n width = w;\n height = h;\n if (ratio) dpr = ratio;\n controller.setSize(w, h);\n schedule();\n },\n render() {\n if (frameId !== null) {\n if (canvas.cancelAnimationFrame) canvas.cancelAnimationFrame(frameId);\n else if (g.cancelAnimationFrame) g.cancelAnimationFrame(frameId);\n else clearTimeout(frameId);\n }\n render();\n },\n touchStart(touches) {\n touches.forEach((t, i) =>\n controller.pointerDown(t.x, t.y, touchOptions(t, i)),\n );\n },\n touchMove(touches) {\n touches.forEach((t, i) =>\n controller.pointerMove(t.x, t.y, touchOptions(t, i)),\n );\n },\n touchEnd(touches) {\n touches.forEach((t, i) =>\n controller.pointerUp(t.x, t.y, touchOptions(t, i)),\n );\n },\n touchCancel(touches = [{ x: 0, y: 0 }]) {\n touches.forEach((t, i) => controller.pointerCancel(touchOptions(t, i)));\n },\n pointerDown: (x, y, o) => controller.pointerDown(x, y, o),\n pointerMove: (x, y, o) => controller.pointerMove(x, y, o),\n pointerUp: (x, y, o) => controller.pointerUp(x, y, o),\n pointerLeave: () => controller.pointerLeave(),\n zoomAt: (x, y, f) => controller.zoomAt(x, y, f),\n resetZoom: () => controller.resetZoom(),\n getView: () => controller.getView(),\n setView: (v) => controller.setView(v),\n toggleSeries: (id) => controller.toggleSeries(id),\n clearHover: () => controller.clearHover(),\n getPlotRect: () => controller.getPlotRect(),\n toPixel: (x, y) => controller.toPixel(x, y),\n fromPixel: (x, y) => controller.fromPixel(x, y),\n getController: () => controller,\n on: (type, listener) => controller.on(type, listener),\n destroy() {\n if (destroyed) return;\n destroyed = true;\n if (frameId !== null) {\n if (canvas.cancelAnimationFrame) canvas.cancelAnimationFrame(frameId);\n else if (g.cancelAnimationFrame) g.cancelAnimationFrame(frameId);\n else clearTimeout(frameId);\n }\n painter?.destroy();\n controller.destroy();\n },\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"canvas.js","names":["mid","r","roundedRect","ctx","x","y","w","h","drawPrimitives","plot","p","primitives","bottoms","k","n","run","i","b","radius","drawScene","createCanvas2dPainter","scene","layout","dpr","pixelRatio","width","height","drawBackground","model","font","theme","e","cy","toCss","mark","scales","scenePrimitives","paintData","scale","s","range","offset","o","reverse","xScale","xOffset","view","origin","yScale","yOffset","items","drawForeground","label","box","hover","cx","d","tip","padding","lineHeight","left","right","line","content","row","createCanvasChart","config","canvas","destroyed","frameId","itemsModel","itemsKey","options","themeIds","themeCount","themeId","id","version","fontSet","measureText","f","text","painter","g","render","controller","pw","ph","key","itemsSignature","index","buildItems","schedule","createChartController","touchOptions","t","ratio","v","type","listener"],"sources":["../../../../charts/src/engine/canvas.ts"],"sourcesContent":["// createCanvasChart: a whole chart drawn on one 2D canvas without any DOM:\n// WeChat / Alipay / ByteDance mini-programs (`<canvas type=\"2d\">`), Taro,\n// uni-app, OffscreenCanvas, or a plain browser canvas. The host forwards\n// touches / pointer events; everything else is handled here.\n\nimport { toCss } from \"./color\";\nimport {\n createChartController,\n scenePrimitives,\n type ChartController,\n type ChartControllerEventMap,\n type ChartPointerOptions,\n type ChartPrimitive,\n type ChartScene,\n} from \"./controller\";\nimport { buildItems, type Origin } from \"./items\";\nimport { drawBackground, drawForeground, font } from \"./overlay\";\nimport { createCanvas2dPainter } from \"./renderers/canvas2d\";\nimport type { RenderItem } from \"./renderers/types\";\nimport { itemsSignature } from \"./signature\";\nimport type { ChartThemeInput } from \"./theme\";\nimport type { ChartOptions, ChartRect, ChartView } from \"./types\";\n\n/**\n * The canvas a chart draws on: a browser `HTMLCanvasElement`, an\n * `OffscreenCanvas` or the node of a mini-program `<canvas type=\"2d\">`\n * (`SelectorQuery.fields({ node: true })`)\n */\nexport interface ChartCanvas {\n width: number;\n height: number;\n getContext(type: \"2d\"): unknown;\n /** Mini-program canvases schedule their frames themselves */\n requestAnimationFrame?: (callback: () => void) => number;\n cancelAnimationFrame?: (id: number) => void;\n}\n\n/** A touch point relative to the canvas (`x` / `y`) with its identifier */\nexport interface ChartTouch {\n x: number;\n y: number;\n identifier?: number;\n}\n\nexport interface CanvasChartConfig {\n canvas: ChartCanvas;\n /** Size of the canvas in CSS pixels (rpx converted by the host) */\n width: number;\n height: number;\n /**\n * Device pixel ratio (`wx.getWindowInfo().pixelRatio` in mini-programs)\n * @default 1\n */\n pixelRatio?: number;\n options: ChartOptions;\n /** Colors and fonts: values of the Minerva CSS variables */\n theme?: ChartThemeInput;\n}\n\nexport interface CanvasChartInstance {\n setOptions(options: ChartOptions): void;\n setTheme(theme: ChartThemeInput | undefined): void;\n /** New CSS size (and pixel ratio) of the canvas */\n resize(width: number, height: number, pixelRatio?: number): void;\n /** Draws now (frames are otherwise scheduled automatically) */\n render(): void;\n /** Touch handlers: pass the `touches` / `changedTouches` of the event */\n touchStart(touches: readonly ChartTouch[]): void;\n touchMove(touches: readonly ChartTouch[]): void;\n touchEnd(changedTouches: readonly ChartTouch[]): void;\n touchCancel(changedTouches?: readonly ChartTouch[]): void;\n /** Mouse / pen handlers (H5, desktop mini-programs) */\n pointerDown(x: number, y: number, options?: ChartPointerOptions): void;\n pointerMove(x: number, y: number, options?: ChartPointerOptions): void;\n pointerUp(x: number, y: number, options?: ChartPointerOptions): void;\n pointerLeave(): void;\n /** Zooms around a pixel (factor < 1 zooms in) */\n zoomAt(x: number, y: number, factor: number): void;\n resetZoom(): void;\n getView(): ChartView;\n setView(view: Partial<ChartView>): void;\n toggleSeries(id: string): void;\n clearHover(): void;\n getPlotRect(): ChartRect | null;\n toPixel(x: number, y: number): { x: number; y: number } | null;\n fromPixel(x: number, y: number): { x: number; y: number } | null;\n /** The platform-free controller (scene, gestures) */\n getController(): ChartController;\n on<K extends keyof ChartControllerEventMap>(\n type: K,\n listener: (event: ChartControllerEventMap[K]) => void,\n ): () => void;\n destroy(): void;\n}\n\nconst mid = (r: [number, number]) => (r[0] + r[1]) / 2;\n\nconst roundedRect = (\n ctx: CanvasRenderingContext2D,\n x: number,\n y: number,\n w: number,\n h: number,\n r: number,\n) => {\n ctx.beginPath();\n ctx.moveTo(x + r, y);\n ctx.lineTo(x + w - r, y);\n ctx.arcTo(x + w, y, x + w, y + r, r);\n ctx.lineTo(x + w, y + h - r);\n ctx.arcTo(x + w, y + h, x + w - r, y + h, r);\n ctx.lineTo(x + r, y + h);\n ctx.arcTo(x, y + h, x, y + h - r, r);\n ctx.lineTo(x, y + r);\n ctx.arcTo(x, y, x + r, y, r);\n ctx.closePath();\n};\n\n/**\n * Draws the shapes of `scenePrimitives` (CSS pixels of the chart) clipped to\n * the plot: the data of horizontal charts\n */\nexport const drawPrimitives = (\n ctx: CanvasRenderingContext2D,\n primitives: readonly ChartPrimitive[],\n plot: { x: number; y: number; width: number; height: number },\n) => {\n ctx.save();\n ctx.beginPath();\n ctx.rect(plot.x, plot.y, plot.width, plot.height);\n ctx.clip();\n ctx.lineJoin = \"round\";\n ctx.lineCap = \"round\";\n for (const p of primitives) {\n if (p.kind === \"area\") {\n ctx.globalAlpha = p.opacity;\n ctx.fillStyle = p.color;\n p.segments.forEach((run, k) => {\n const bottoms = p.bottoms?.[k];\n const n = run.length / 2;\n if (n < 2) return;\n ctx.beginPath();\n for (let i = 0; i < n; i++) {\n if (i === 0) ctx.moveTo(run[0], run[1]);\n else ctx.lineTo(run[i * 2], run[i * 2 + 1]);\n }\n // back along the bottom edge (or the baseline)\n for (let i = n - 1; i >= 0; i--) {\n const b = bottoms ? bottoms[i] : p.baseline;\n if (p.horizontal) ctx.lineTo(b, run[i * 2 + 1]);\n else ctx.lineTo(run[i * 2], b);\n }\n ctx.closePath();\n ctx.fill();\n });\n ctx.globalAlpha = 1;\n } else if (p.kind === \"line\") {\n ctx.strokeStyle = p.color;\n ctx.lineWidth = p.width;\n ctx.beginPath();\n for (const run of p.segments) {\n for (let i = 0; i < run.length; i += 2) {\n if (i === 0) ctx.moveTo(run[0], run[1]);\n else ctx.lineTo(run[i], run[i + 1]);\n }\n }\n ctx.stroke();\n } else if (p.kind === \"bars\") {\n ctx.globalAlpha = p.opacity ?? 1;\n const r = p.radius ?? 0;\n for (let k = 0; k < p.rects.length; k += 4) {\n const [x, y, w, h] = [\n p.rects[k],\n p.rects[k + 1],\n p.rects[k + 2],\n p.rects[k + 3],\n ];\n ctx.fillStyle = p.colors?.[k / 4] ?? p.color;\n const radius = Math.min(r, w / 2, h / 2);\n if (radius > 0.5) {\n roundedRect(ctx, x, y, w, h, radius);\n ctx.fill();\n } else {\n ctx.fillRect(x, y, w, h);\n }\n }\n ctx.globalAlpha = 1;\n } else {\n ctx.globalAlpha = p.opacity;\n for (let k = 0; k < p.dots.length; k += 3) {\n ctx.fillStyle = p.colors[k / 3] ?? \"#888\";\n ctx.beginPath();\n ctx.arc(p.dots[k], p.dots[k + 1], p.dots[k + 2] / 2, 0, Math.PI * 2);\n ctx.fill();\n }\n ctx.globalAlpha = 1;\n }\n }\n ctx.restore();\n};\n\n/** Draws a scene (legend, axes, data, labels, hover) on a 2D context */\nexport const drawScene = (\n ctx: CanvasRenderingContext2D,\n scene: ChartScene,\n items: readonly RenderItem[],\n origin: Origin,\n pixelRatio: number,\n painter = createCanvas2dPainter(ctx),\n) => {\n const { width, height, theme, model, view, layout } = scene;\n const { plot, scales } = layout;\n const dpr = pixelRatio;\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.clearRect(0, 0, Math.ceil(width * dpr), Math.ceil(height * dpr));\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n drawBackground(ctx, {\n width,\n height,\n scales,\n x: model.x,\n y: model.y,\n xTicks: layout.xTicks,\n yTicks: layout.yTicks,\n y2: model.y2,\n y2Ticks: layout.y2Ticks,\n theme,\n annotations: scene.annotations,\n });\n\n // legend\n if (scene.legend) {\n ctx.font = font(theme, 12);\n ctx.textBaseline = \"middle\";\n ctx.textAlign = \"left\";\n for (const e of scene.legend.entries) {\n const cy = e.box.y + e.box.height / 2;\n ctx.globalAlpha = e.hidden ? 0.45 : 1;\n ctx.fillStyle = e.color;\n if (e.shape === \"dot\") {\n ctx.beginPath();\n ctx.arc(e.box.x + 5, cy, 4, 0, Math.PI * 2);\n ctx.fill();\n } else if (e.shape === \"line\") {\n ctx.fillRect(e.box.x, cy - 1, 10, 2);\n } else {\n ctx.fillRect(e.box.x + 1, cy - 4, 8, 8);\n }\n ctx.fillStyle = toCss(theme.textMuted);\n ctx.fillText(e.name, e.box.x + 14, cy);\n if (e.hidden) {\n const w = e.box.width - 22;\n ctx.fillRect(e.box.x + 14, cy, w, 1);\n }\n }\n ctx.globalAlpha = 1;\n }\n\n // hover band of bars, below the data\n for (const mark of scene.hover?.marks ?? []) {\n if (mark.kind !== \"band\") continue;\n roundedRect(ctx, mark.x, mark.y, mark.width, mark.height, 6);\n ctx.fillStyle = toCss(theme.text, 0.06);\n ctx.fill();\n }\n\n // data (horizontal charts: as shapes, the painter draws vertical charts)\n if (scales.horizontal) {\n drawPrimitives(ctx, scenePrimitives(scene), plot);\n } else {\n paintData();\n }\n function paintData() {\n const scale = (range: [number, number], o: number, reverse: boolean) => {\n const s = 2 / (range[1] - range[0]);\n const offset = (o - range[0]) * s - 1;\n return reverse ? [-s, -offset] : [s, offset];\n };\n const [xScale, xOffset] = scale(view.x, origin.x, model.x.reverse);\n const [yScale, yOffset] = scale(view.y, origin.y, model.y.reverse);\n painter.paint(\n items,\n {\n transform: { xScale, xOffset, yScale, yOffset },\n width: Math.max(1, Math.round(plot.width * dpr)),\n height: Math.max(1, Math.round(plot.height * dpr)),\n dpr,\n },\n Math.round(plot.x * dpr),\n Math.round(plot.y * dpr),\n );\n }\n\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n drawForeground(ctx, {\n width,\n height,\n scales,\n theme,\n annotations: scene.annotations,\n pointLabels: [],\n clear: false,\n });\n // dot labels placed by the scene\n if (scene.pointLabels.length) {\n ctx.save();\n ctx.font = font(theme);\n ctx.textAlign = \"left\";\n ctx.textBaseline = \"middle\";\n ctx.lineWidth = 3;\n ctx.lineJoin = \"round\";\n ctx.strokeStyle = toCss(theme.background, 0.9);\n ctx.fillStyle = toCss(theme.text, 0.85);\n for (const { label, box } of scene.pointLabels) {\n ctx.strokeText(label.text, box.x, box.y + box.height / 2);\n ctx.fillText(label.text, box.x, box.y + box.height / 2);\n }\n ctx.restore();\n }\n\n // hover\n const hover = scene.hover;\n if (hover) {\n if (hover.crosshairX !== null) {\n ctx.save();\n ctx.strokeStyle = toCss(theme.textMuted, 0.55);\n ctx.lineWidth = 1;\n ctx.setLineDash([3, 3]);\n ctx.beginPath();\n const cx = Math.round(hover.crosshairX) + 0.5;\n ctx.moveTo(cx, plot.y);\n ctx.lineTo(cx, plot.y + plot.height);\n ctx.stroke();\n ctx.restore();\n }\n if (hover.crosshairY !== null) {\n ctx.save();\n ctx.strokeStyle = toCss(theme.textMuted, 0.55);\n ctx.lineWidth = 1;\n ctx.setLineDash([3, 3]);\n ctx.beginPath();\n const cy = Math.round(hover.crosshairY) + 0.5;\n ctx.moveTo(plot.x, cy);\n ctx.lineTo(plot.x + plot.width, cy);\n ctx.stroke();\n ctx.restore();\n }\n for (const mark of hover.marks) {\n if (mark.kind === \"band\") continue;\n if (mark.kind === \"cell\") {\n roundedRect(ctx, mark.x, mark.y, mark.width, mark.height, 3);\n ctx.lineWidth = 3;\n ctx.strokeStyle = toCss(theme.background);\n ctx.stroke();\n ctx.lineWidth = 1.5;\n ctx.strokeStyle = toCss(theme.text, 0.55);\n ctx.stroke();\n continue;\n }\n ctx.beginPath();\n ctx.arc(mark.x, mark.y, mark.size / 2 + 4, 0, Math.PI * 2);\n ctx.fillStyle = mark.halo;\n ctx.fill();\n ctx.beginPath();\n ctx.arc(mark.x, mark.y, mark.size / 2 - 1, 0, Math.PI * 2);\n ctx.fillStyle = mark.color;\n ctx.fill();\n ctx.lineWidth = 2;\n ctx.strokeStyle = toCss(theme.background);\n ctx.stroke();\n }\n }\n if (scene.dragging) {\n const d = scene.dragging;\n ctx.beginPath();\n ctx.arc(d.x, d.y, d.size / 2, 0, Math.PI * 2);\n ctx.fillStyle = d.color;\n ctx.globalAlpha = 0.85;\n ctx.fill();\n ctx.globalAlpha = 1;\n ctx.lineWidth = 2;\n ctx.strokeStyle = toCss(theme.background);\n ctx.stroke();\n }\n const tip = hover?.tooltip;\n if (tip) {\n const { box, lineHeight, padding } = tip;\n ctx.save();\n ctx.shadowColor = \"rgba(15, 23, 42, 0.18)\";\n ctx.shadowBlur = 16;\n ctx.shadowOffsetY = 6;\n roundedRect(ctx, box.x, box.y, box.width, box.height, 8);\n ctx.fillStyle = toCss(theme.background);\n ctx.fill();\n ctx.restore();\n roundedRect(\n ctx,\n box.x + 0.5,\n box.y + 0.5,\n box.width - 1,\n box.height - 1,\n 8,\n );\n ctx.strokeStyle = toCss(theme.axis, 0.6);\n ctx.lineWidth = 1;\n ctx.stroke();\n ctx.textBaseline = \"middle\";\n let y = box.y + padding + lineHeight / 2;\n const left = box.x + padding + 2;\n const right = box.x + box.width - padding - 2;\n if (tip.text) {\n ctx.font = font(theme, 12);\n ctx.fillStyle = toCss(theme.text);\n ctx.textAlign = \"left\";\n for (const line of tip.text) {\n ctx.fillText(line, left, y);\n y += lineHeight;\n }\n } else {\n const { content } = tip;\n let x = left;\n if (content.titleColor) {\n ctx.fillStyle = content.titleColor;\n ctx.beginPath();\n ctx.arc(x + 4, y, 4, 0, Math.PI * 2);\n ctx.fill();\n x += 14;\n }\n ctx.font = font(theme, 12, 600);\n ctx.fillStyle = toCss(theme.text);\n ctx.textAlign = \"left\";\n ctx.fillText(content.title, x, y);\n y += lineHeight;\n for (const row of content.rows) {\n x = left;\n if (row.color) {\n ctx.fillStyle = row.color;\n ctx.beginPath();\n ctx.arc(x + 4, y, 4, 0, Math.PI * 2);\n ctx.fill();\n x += 14;\n }\n ctx.font = font(theme, 12);\n ctx.textAlign = \"left\";\n ctx.fillStyle = toCss(theme.textMuted);\n ctx.fillText(row.name, x, y);\n ctx.font = font(theme, 12, 600);\n ctx.textAlign = \"right\";\n ctx.fillStyle = toCss(theme.text);\n ctx.fillText(row.value, right, y);\n y += lineHeight;\n }\n }\n }\n};\n\n/**\n * Creates a chart drawn on a 2D canvas: line, area, bar and scatter series,\n * annotations, legend and tooltip, tap / drag / pinch gestures. Works\n * without a DOM (mini-programs); see `createChart` for the GPU version of\n * the web.\n */\nexport const createCanvasChart = (\n config: CanvasChartConfig,\n): CanvasChartInstance => {\n const { canvas } = config;\n const ctx = canvas.getContext(\"2d\") as CanvasRenderingContext2D | null;\n let width = config.width;\n let height = config.height;\n let dpr = config.pixelRatio ?? 1;\n let destroyed = false;\n let frameId: number | null = null;\n let items: RenderItem[] = [];\n let itemsModel: unknown = null;\n let itemsKey = \"\";\n let options = config.options;\n /** Ids of the themes seen (the controller replaces its theme on changes) */\n const themeIds = new WeakMap<object, number>();\n let themeCount = 0;\n const themeId = (theme: object) => {\n let id = themeIds.get(theme);\n if (id === undefined) themeIds.set(theme, (id = ++themeCount));\n return id;\n };\n let origin: Origin = { x: 0, y: 0 };\n let version = 0;\n let fontSet = \"\";\n\n const measureText = (text: string, f: string) => {\n if (!ctx) return text.length * 6.5;\n if (f !== fontSet) {\n ctx.font = f;\n fontSet = f;\n }\n return ctx.measureText(text).width;\n };\n\n const painter = ctx ? createCanvas2dPainter(ctx) : null;\n\n const g = globalThis as {\n requestAnimationFrame?: (cb: () => void) => number;\n cancelAnimationFrame?: (id: number) => void;\n };\n\n const render = () => {\n frameId = null;\n if (destroyed || !ctx || !painter) return;\n const scene = controller.getScene();\n if (!scene) return;\n const pw = Math.max(1, Math.round(width * dpr));\n const ph = Math.max(1, Math.round(height * dpr));\n if (canvas.width !== pw) canvas.width = pw;\n if (canvas.height !== ph) canvas.height = ph;\n fontSet = \"\";\n if (itemsModel !== scene.model) {\n itemsModel = scene.model;\n // a new model (any setOptions) keeps the items when nothing they\n // depend on changed\n const key = itemsSignature(\n scene.model,\n themeId(scene.theme),\n (index) => options.series[index]?.stack,\n );\n if (key !== itemsKey) {\n itemsKey = key;\n origin = { x: mid(scene.model.base.x), y: mid(scene.model.base.y) };\n items = buildItems(scene.model, origin, ++version);\n }\n }\n drawScene(ctx, scene, items, origin, dpr, painter);\n fontSet = \"\";\n };\n\n const schedule = () => {\n if (destroyed || frameId !== null) return;\n if (canvas.requestAnimationFrame)\n frameId = canvas.requestAnimationFrame(render);\n else if (g.requestAnimationFrame) frameId = g.requestAnimationFrame(render);\n else frameId = setTimeout(render, 16) as unknown as number;\n };\n\n const controller = createChartController({\n options: config.options,\n theme: config.theme,\n measureText,\n onInvalidate: schedule,\n });\n controller.setSize(width, height);\n\n const touchOptions = (t: ChartTouch, i: number): ChartPointerOptions => ({\n id: t.identifier ?? i,\n touch: true,\n });\n\n return {\n setOptions: (o) => {\n options = o;\n controller.setOptions(o);\n },\n setTheme: (t) => controller.setTheme(t),\n resize(w, h, ratio) {\n width = w;\n height = h;\n if (ratio) dpr = ratio;\n controller.setSize(w, h);\n schedule();\n },\n render() {\n if (frameId !== null) {\n if (canvas.cancelAnimationFrame) canvas.cancelAnimationFrame(frameId);\n else if (g.cancelAnimationFrame) g.cancelAnimationFrame(frameId);\n else clearTimeout(frameId);\n }\n render();\n },\n touchStart(touches) {\n touches.forEach((t, i) =>\n controller.pointerDown(t.x, t.y, touchOptions(t, i)),\n );\n },\n touchMove(touches) {\n touches.forEach((t, i) =>\n controller.pointerMove(t.x, t.y, touchOptions(t, i)),\n );\n },\n touchEnd(touches) {\n touches.forEach((t, i) =>\n controller.pointerUp(t.x, t.y, touchOptions(t, i)),\n );\n },\n touchCancel(touches = [{ x: 0, y: 0 }]) {\n touches.forEach((t, i) => controller.pointerCancel(touchOptions(t, i)));\n },\n pointerDown: (x, y, o) => controller.pointerDown(x, y, o),\n pointerMove: (x, y, o) => controller.pointerMove(x, y, o),\n pointerUp: (x, y, o) => controller.pointerUp(x, y, o),\n pointerLeave: () => controller.pointerLeave(),\n zoomAt: (x, y, f) => controller.zoomAt(x, y, f),\n resetZoom: () => controller.resetZoom(),\n getView: () => controller.getView(),\n setView: (v) => controller.setView(v),\n toggleSeries: (id) => controller.toggleSeries(id),\n clearHover: () => controller.clearHover(),\n getPlotRect: () => controller.getPlotRect(),\n toPixel: (x, y) => controller.toPixel(x, y),\n fromPixel: (x, y) => controller.fromPixel(x, y),\n getController: () => controller,\n on: (type, listener) => controller.on(type, listener),\n destroy() {\n if (destroyed) return;\n destroyed = true;\n if (frameId !== null) {\n if (canvas.cancelAnimationFrame) canvas.cancelAnimationFrame(frameId);\n else if (g.cancelAnimationFrame) g.cancelAnimationFrame(frameId);\n else clearTimeout(frameId);\n }\n painter?.destroy();\n controller.destroy();\n },\n };\n};\n"],"mappings":"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"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
const e=require("./data.cjs"),t=require("./dom.cjs"),n=require("./items.cjs"),r=require("./layout.cjs"),i=require("./model.cjs"),a=require("./overlay.cjs"),o=require("./renderers/detect.cjs"),s=require("./scene.cjs"),c=require("./theme.cjs"),l=require("./viewport.cjs");var u=e=>(e[0]+e[1])/2,d=e=>({x:[e.x[0],e.x[1]],y:[e.y[0],e.y[1]]}),f=(f,p)=>{let m=f.ownerDocument,h=m.defaultView,g=t.createChartDom(f),ee=new Map,_=new Set,v={},y=p,b=c.readTheme(g.root,y.palette),x,S={x:[0,1],y:[0,1]},C=!1,w={x:0,y:0},te=[],T=!0,ne=0,E=[],D=null,O=null,k=null,A=null,re=0,j=!1,M=0,N=null,ie=``,P=null,F=null,I=null,L=[],R=[],z=0,ae=``,oe=new WeakMap,se=0,ce=e=>{let t=oe.get(e);return t===void 0&&oe.set(e,t=++se),t},le=()=>{},ue=new Promise(e=>{le=e}),B=(e,t)=>{v[e]?.forEach(e=>e(t))},V=()=>{let e=y.interaction;if(e===!1)return null;let t=typeof e==`object`?e:{};return{zoom:t.zoom??!0,wheel:t.wheel??`modifier`,pan:t.pan??!0,keyboard:t.keyboard??!0,dragPoints:t.dragPoints??!1}},de=()=>y.tooltip===!1?null:typeof y.tooltip==`object`?y.tooltip:{},H=()=>{j||M||(M=h?.requestAnimationFrame?h.requestAnimationFrame(_e):setTimeout(_e,16))},U=()=>{x=i.buildModel(y,b,_,ee);let{base:e,zoom:t,minSpan:n}=x;C?(S={x:t.x?l.clampRange(S.x,e.x,n.x):[...e.x],y:t.y?l.clampRange(S.y,e.y,n.y):[...e.y]},C=!l.sameRange(S.x,e.x)||!l.sameRange(S.y,e.y)):S=d(e);let r=[z,x.baseline,e.x.join(),e.y.join(),...x.series.map(e=>[e.key,e.type,ce(e.cols),e.colorCss,e.hidden,e.lineWidth,e.pointSize,e.opacity,e.barOffset,e.barHalfWidth,y.series[e.index].stack??``].join(`|`))].join(`
|
|
2
|
-
`);r!==ae&&(ae=r,w={x:u(e.x),y:u(e.y)},T=!0,N&&!N.keyboard&&(N=null)),E=s.resolveAnnotations(y.annotations,b),pe(),me(),H()},fe=()=>{let e=(e,t)=>Math.max(Math.abs(e[0]-t),Math.abs(e[1]-t))>(e[1]-e[0])*2e3;(e(S.x,w.x)||e(S.y,w.y))&&(w={x:u(S.x),y:u(S.y)},T=!0)},pe=()=>{let e=y.legend,n=y.series.filter(e=>e.name).length,r=e===void 0?n>1:!!e,i=typeof e==`object`?e:{},a=i.toggle??!0,o=[...g.legend.children].indexOf(m.activeElement);if(g.legend.replaceChildren(),g.legend.style.display=r?`flex`:`none`,!r)return;let s=i.position===`bottom`;g.legend.style.order=s?`1`:`0`,g.legend.style.padding=s?`8px 4px 0`:`0 4px 8px`;for(let e of x.series){let n=m.createElement(a?`button`:`span`);n instanceof HTMLButtonElement&&(n.type=`button`,n.setAttribute(`aria-pressed`,String(!e.hidden)),n.addEventListener(`click`,()=>{_.has(e.id)?_.delete(e.id):_.add(e.id),U()})),t.styleElement(n,{display:`inline-flex`,alignItems:`center`,gap:`6px`,padding:`2px 4px`,margin:`0`,border:`0`,borderRadius:`4px`,background:`none`,font:`inherit`,color:`var(--text-secondary-color, #6b7280)`,cursor:a?`pointer`:`default`,opacity:e.hidden?`0.45`:`1`,textDecoration:e.hidden?`line-through`:`none`}),n.append(t.swatch(m,e.colorCss,e.type===`scatter`?`dot`:e.type===`line`?`line`:`square`),m.createTextNode(e.name)),g.legend.appendChild(n)}o>=0&&g.legend.children[o]?.focus()},me=()=>{let e=x.series.map(e=>e.name).join(`, `);g.stage.setAttribute(`aria-label`,y.ariaLabel??(e?`Chart: ${e}`:`Chart`));let t=V()?.keyboard;g.stage.style.touchAction=V()?.dragPoints?`none`:`pan-y`,t?g.stage.tabIndex=0:g.stage.removeAttribute(`tabindex`)},he=(e,t,n,r)=>{let i=Math.max(1,Math.round(t*r)),a=Math.max(1,Math.round(n*r));e.width!==i&&(e.width=i),e.height!==a&&(e.height=a),e.style.width=`${t}px`,e.style.height=`${n}px`},ge=(e,t,n)=>{let r=2/(e[1]-e[0]),i=(t-e[0])*r-1;return n?[-r,-i]:[r,i]};function _e(){if(M=0,j)return;let e=g.stage.clientWidth,r=g.stage.clientHeight;if(e<=0||r<=0)return;let i=h?.devicePixelRatio||1;he(g.background,e,r,i),he(g.foreground,e,r,i);let o=g.background.getContext(`2d`),c=g.foreground.getContext(`2d`);o&&(o.setTransform(i,0,0,i,0,0),o.font=a.font(b));let l=s.layoutChart({model:x,view:S,theme:b,width:e,height:r,padding:y.padding,measure:o?e=>o.measureText(e).width:e=>e.length*b.fontSize*.6}),{plot:u}=l;O=l.xTicks,k=l.yTicks,D=l.scales;let d=ve();if(d&&d.join()!==ie&&(ie=d.join(),B(`layout`,{x:d[0],y:d[1],width:d[2],height:d[3]})),o&&a.drawBackground(o,{width:e,height:r,scales:D,x:x.x,y:x.y,xTicks:O,yTicks:k,theme:b,annotations:E}),c&&(c.setTransform(i,0,0,i,0,0),a.drawForeground(c,{width:e,height:r,scales:D,theme:b,annotations:E,pointLabels:s.collectPointLabels(x,S,D)})),A){let e=A.canvas;t.styleElement(e,{left:`${u.x}px`,top:`${u.y}px`,width:`${u.width}px`,height:`${u.height}px`});let r=Math.max(1,Math.round(u.width*i)),a=Math.max(1,Math.round(u.height*i));(e.width!==r||e.height!==a)&&A.resize(r,a),fe(),T&&(ne++,te=n.buildItems(x,w,ne),T=!1);let[o,s]=ge(S.x,w.x,x.x.reverse),[c,l]=ge(S.y,w.y,x.y.reverse);A.render(te,{transform:{xScale:o,xOffset:s,yScale:c,yOffset:l},width:r,height:a,dpr:i})}q()}let W=(e,t)=>D?s.hitTest(x,D,O,e,t):null,ve=()=>{let e=D?.plot;return e?[e.x+g.stage.offsetLeft,e.y+g.stage.offsetTop,e.width,e.height]:null},G=(e,t)=>V()?.dragPoints?W(e,t)?.items.find(e=>x.series[e.seriesIndex].type===`scatter`)??null:null,K=e=>{let t=!s.sameHover(N?.event??null,e?.event??null);N=e,q(),t&&B(`hover`,e?e.event:null)},ye=e=>{let n=de()?.render;if(n)return n(e);let r=s.tooltipContent(x,e,k),i=m.createDocumentFragment(),a=m.createElement(`div`);t.styleElement(a,{display:`flex`,alignItems:`center`,gap:`6px`,fontWeight:`600`,marginBottom:`4px`,color:`var(--text-color, #1f2937)`}),r.titleColor&&a.appendChild(t.swatch(m,r.titleColor,`dot`)),a.appendChild(m.createTextNode(r.title)),i.append(a);for(let e of r.rows){let n=m.createElement(`div`);t.styleElement(n,{display:`flex`,alignItems:`center`,gap:`8px`}),e.color&&n.appendChild(t.swatch(m,e.color,`dot`));let r=m.createElement(`span`);t.styleElement(r,{flex:`1 1 auto`,color:`var(--text-secondary-color, #6b7280)`}),r.textContent=e.name;let a=m.createElement(`span`);t.styleElement(a,{fontWeight:`600`,fontVariantNumeric:`tabular-nums`,marginLeft:`12px`}),a.textContent=e.value,n.append(r,a),i.append(n)}return i},be=(e,t,n)=>(e[t]||(e[t]=n(),g.hover.appendChild(e[t])),e[t].style.display=`block`,e[t]);function q(){let e=D,n=0,r=0;if(g.crosshair.style.display=`none`,N&&e){let{plot:i}=e;if(g.hover.style.width=`${g.stage.clientWidth}px`,g.hover.style.height=`${g.stage.clientHeight}px`,s.showsCrosshair(x,N.event,y.crosshair)){let n=N.event.items[0],r=e.xToPx(n.x);r>=i.x&&r<=i.x+i.width&&t.styleElement(g.crosshair,{display:`block`,left:`${Math.round(r)}px`,top:`${i.y}px`,height:`${i.height}px`})}for(let i of s.hoverMarks(x,e,N.event)){if(i.kind===`bar`){let e=be(R,r++,()=>t.createBarHighlight(m));t.styleElement(e,{left:`${i.x}px`,top:`${i.y}px`,width:`${i.width}px`,height:`${i.height}px`});continue}let e=be(L,n++,()=>t.createMarker(m));t.styleElement(e,{left:`${i.x}px`,top:`${i.y}px`,width:`${i.size}px`,height:`${i.size}px`,background:i.color})}}for(let e=n;e<L.length;e++)L[e].style.display=`none`;for(let e=r;e<R.length;e++)R[e].style.display=`none`;let i=g.tooltip,a=N&&e&&de()&&!I?.moved&&!P?.moved?ye(N.event):null;if(!N||a===null||a===``){i.style.display=`none`;return}typeof a==`string`?(i.textContent=a,i.style.whiteSpace=`pre`):(i.replaceChildren(a),i.style.whiteSpace=`nowrap`),i.style.display=`block`;let o=g.stage.clientWidth,c=g.stage.clientHeight,l=i.offsetWidth,u=i.offsetHeight,d=N.anchorX+16;d+l>o-4&&(d=N.anchorX-16-l),d=Math.max(4,Math.min(d,o-l-4));let f=Math.max(4,Math.min(N.anchorY-u/2,c-u-4));i.style.transform=`translate(${Math.round(d)}px, ${Math.round(f)}px)`}let J=(e,t)=>{let{base:n,minSpan:r}=x;S={x:l.clampRange(e.x,n.x,r.x),y:l.clampRange(e.y,n.y,r.y)},C=!l.sameRange(S.x,n.x)||!l.sameRange(S.y,n.y);let i=V();g.stage.style.cursor=C&&i?.pan?`grab`:``,t&&B(`zoom`,d(S)),H()},Y=(e,t,n)=>{let r=D;if(!r)return;let i=d(S);x.zoom.x&&(i.x=l.zoomRange(S.x,r.pxToX(e),n)),x.zoom.y&&(i.y=l.zoomRange(S.y,r.pxToY(t),n)),J(i,!0)},X=e=>{let t=g.stage.getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}},Z=(e,t)=>{let n=D?.plot;return!!n&&e>=n.x&&e<=n.x+n.width&&t>=n.y&&t<=n.y+n.height},Q=(e,t)=>{let n=D;if(!n)return null;let{plot:r}=n,i=Math.max(r.x,Math.min(r.x+r.width,e)),a=Math.max(r.y,Math.min(r.y+r.height,t));return{x:n.pxToX(i),y:n.pxToY(a)}},xe=(e,n,r)=>{if(r===null){F&&(F.style.display=`none`);return}F||(F=t.createMarker(m),g.hover.appendChild(F));let i=(x.series.find(e=>e.type===`scatter`)?.pointSize??8)+8;g.hover.style.width=`${g.stage.clientWidth}px`,g.hover.style.height=`${g.stage.clientHeight}px`,t.styleElement(F,{display:`block`,left:`${e}px`,top:`${n}px`,width:`${i}px`,height:`${i}px`,background:r})},Se=e=>{let{x:t,y:n}=X(e);if(P&&P.id===e.pointerId){if(!P.moved&&Math.hypot(t-P.x,n-P.y)>3&&(P.moved=!0,g.stage.setPointerCapture?.(e.pointerId),g.stage.style.cursor=`grabbing`),P.moved){let e=Q(t,n);e&&(xe(t,n,P.item.color),q(),B(`drag`,{item:P.item,x:e.x,y:e.y}))}return}if(I&&I.id===e.pointerId){let r=t-I.x,i=n-I.y;if(!I.moved&&Math.hypot(r,i)>3){let t=V();C&&t?.pan&&(I.moved=!0,g.stage.setPointerCapture?.(e.pointerId),g.stage.style.cursor=`grabbing`)}if(I.moved&&D){let e=d(I.view);x.zoom.x&&(e.x=l.panRange(I.view.x,-r*D.xPerPx*(x.x.reverse?-1:1))),x.zoom.y&&(e.y=l.panRange(I.view.y,i*D.yPerPx*(x.y.reverse?-1:1))),J(e,!0);return}}let r=W(t,n);K(r?{event:r,anchorX:t,anchorY:n,keyboard:!1}:null),!I&&V()?.dragPoints&&(g.stage.style.cursor=G(t,n)||C&&V()?.pan?`grab`:``)},Ce=e=>{if(e.button!==0)return;let{x:t,y:n}=X(e);if(!Z(t,n))return;let r=G(t,n);if(r){P={id:e.pointerId,item:r,x:t,y:n,moved:!1};return}I={id:e.pointerId,x:t,y:n,view:d(S),moved:!1}},we=e=>{if(P&&P.id===e.pointerId){let{item:t,moved:n}=P;P=null,g.stage.hasPointerCapture?.(e.pointerId)&&g.stage.releasePointerCapture(e.pointerId),xe(0,0,null);let{x:r,y:i}=X(e);if(g.stage.style.cursor=G(r,i)?`grab`:``,n){let n=Q(r,i);n&&e.type!==`pointercancel`&&B(`drop`,{item:t,x:n.x,y:n.y}),q()}else{let e=W(r,i);e&&B(`click`,e)}return}if(!I||I.id!==e.pointerId)return;let t=I.moved;if(I=null,g.stage.hasPointerCapture?.(e.pointerId)&&g.stage.releasePointerCapture(e.pointerId),g.stage.style.cursor=C&&V()?.pan?`grab`:``,t)q();else{let{x:t,y:n}=X(e),r=W(t,n);if(r)B(`click`,r);else if(e.type!==`pointercancel`&&Z(t,n)){let e=Q(t,n);e&&B(`plotClick`,e)}}},Te=()=>{!I?.moved&&!P?.moved&&K(null)},Ee=e=>{let t=V();if(!t||t.zoom===!1||!x.zoom.x&&!x.zoom.y)return;let{x:n,y:r}=X(e);if(!Z(n,r))return;let i=e.ctrlKey||e.metaKey;if(t.wheel===`always`||i)e.preventDefault(),Y(n,r,l.wheelFactor(e.deltaY,e.deltaMode,e.ctrlKey&&!e.metaKey));else if(C&&x.zoom.x&&D&&Math.abs(e.deltaX)>Math.abs(e.deltaY)){e.preventDefault();let t=d(S);t.x=l.panRange(S.x,e.deltaX*D.xPerPx*(x.x.reverse?-1:1)),J(t,!0)}},De=e=>{let{x:t,y:n}=X(e);V()&&C&&Z(t,n)&&Ie()},Oe=t=>{let n=D;if(!n)return;let i=N?.keyboard?N.event.items[0]:null,a=(i&&x.series[i.seriesIndex])??x.series.find(e=>!e.hidden&&e.cols.count>0);if(!a)return;let{x:o,y:c,count:l}=a.cols,u;for(i?u=i.index+t:(u=a.cols.sorted?e.lowerBound(o,l,S.x[0]):0,t<0&&(u=a.cols.sorted?e.lowerBound(o,l,S.x[1])-1:l-1));u>=0&&u<l&&!Number.isFinite(c[u]);)u+=t||1;if(u<0||u>=l)return;let d=n;if(x.zoom.x&&(o[u]<S.x[0]||o[u]>S.x[1])){let e=S.x[1]-S.x[0];J({x:[o[u]-e/2,o[u]+e/2],y:S.y},!0),d=D=r.createScales(n.plot,S,x.x.reverse,x.y.reverse)}let f=s.pointOf(a,u,d),p=s.hoverItemOf(a,u),m={items:[p,...x.tooltipMode===`axis`&&a.type!==`scatter`?(W(f.px,f.py)?.items??[]).filter(e=>e.seriesIndex!==a.index):[]],x:p.x,xLabel:O?.formatValue(p.x)??String(p.x)};K({event:m,anchorX:f.px,anchorY:f.py,keyboard:!0});let h=p;g.live.textContent=`${h.seriesName}: ${m.xLabel}, ${k?.formatValue(h.y)??h.y}${h.label?` (${h.label})`:``}`},ke=e=>{if(!V()?.keyboard)return;let t=()=>{let e=D?.plot;return e?[e.x+e.width/2,e.y+e.height/2]:[0,0]};switch(e.key){case`ArrowRight`:case`ArrowLeft`:e.preventDefault(),Oe(e.key===`ArrowRight`===x.x.reverse?-1:1);break;case`+`:case`=`:{if(!x.zoom.x&&!x.zoom.y)return;e.preventDefault();let[n,r]=t();Y(n,r,.8);break}case`-`:case`_`:{if(!x.zoom.x&&!x.zoom.y)return;e.preventDefault();let[n,r]=t();Y(n,r,1.25);break}case`0`:e.preventDefault(),Ie();break;case`Escape`:N&&(e.preventDefault(),K(null))}},Ae=()=>{let e;try{e=g.stage.matches(`:focus-visible`)}catch{e=!0}e&&(g.stage.style.boxShadow=`0 0 0 2px var(--primary-color, #4f46e5)`)},je=()=>{g.stage.style.boxShadow=``,N?.keyboard&&K(null)},$=g.stage;$.addEventListener(`pointermove`,Se),$.addEventListener(`pointerdown`,Ce),$.addEventListener(`pointerup`,we),$.addEventListener(`pointercancel`,we),$.addEventListener(`pointerleave`,Te),$.addEventListener(`wheel`,Ee,{passive:!1}),$.addEventListener(`dblclick`,De),$.addEventListener(`keydown`,ke),$.addEventListener(`focus`,Ae),$.addEventListener(`blur`,je);let Me=typeof ResizeObserver==`function`?new ResizeObserver(()=>H()):null;Me?.observe(g.stage);let Ne=()=>{j||(b=c.readTheme(g.root,y.palette),z++,U())},Pe=c.watchTheme(Ne),Fe=async(e=new Set)=>{let n=++re,r=await o.createRenderer(y.renderer??`auto`,()=>t.createDataCanvas(m),t=>{j||A?.kind!==t||(A.destroy(),A.canvas.remove(),A=null,Fe(new Set([...e,t])))},e);if(j||n!==re){r?.destroy();return}A&&(A.destroy(),A.canvas.remove()),A=r,r&&(g.root.dataset.renderer=r.kind,g.stage.insertBefore(r.canvas,g.foreground),T=!0,B(`renderer`,r.kind)),le(r?.kind??null),H()};function Ie(){C&&J(d(x.base),!0)}return U(),Fe(),{setOptions(e){if(j)return;let t=y;y=e,(e.palette??[]).join()!==(t.palette??[]).join()&&(b=c.readTheme(g.root,e.palette),z++),(e.renderer??`auto`)!==(t.renderer??`auto`)&&Fe(),U()},resize(){H()},resetZoom:Ie,getView:()=>d(S),setView(e){j||J({x:e.x??S.x,y:e.y??S.y},!1)},getRenderer:()=>A?.kind??null,getPlotRect(){let e=ve();return e?{x:e[0],y:e[1],width:e[2],height:e[3]}:null},toPixel(e,t){return D?{x:D.xToPx(e)+g.stage.offsetLeft,y:D.yToPx(t)+g.stage.offsetTop}:null},fromPixel(e,t){return D?{x:D.pxToX(e-g.stage.offsetLeft),y:D.pxToY(t-g.stage.offsetTop)}:null},ready:ue,refreshTheme:Ne,on(e,t){let n=v[e];return n||(n=new Set,v[e]=n),n.add(t),()=>{n.delete(t)}},destroy(){if(!j){j=!0,M&&(h?.cancelAnimationFrame?h.cancelAnimationFrame(M):clearTimeout(M)),Me?.disconnect(),Pe(),$.removeEventListener(`wheel`,Ee),A?.destroy(),A=null,g.root.remove();for(let e of Object.keys(v))delete v[e]}}}};exports.createChart=f;
|
|
1
|
+
const e=require("./data.cjs"),t=require("./dom.cjs"),n=require("./items.cjs"),r=require("./locale.cjs"),i=require("./labels.cjs"),a=require("./layout.cjs"),o=require("./model.cjs"),s=require("./overlay.cjs"),c=require("./renderers/detect.cjs"),l=require("./scene.cjs"),u=require("./signature.cjs"),d=require("./theme.cjs"),f=require("./viewport.cjs");var p=e=>(e[0]+e[1])/2,m=e=>({x:[e.x[0],e.x[1]],y:[e.y[0],e.y[1]]}),h=(h,ee)=>{let g=h.ownerDocument,_=g.defaultView,v=t.createChartDom(h),te=new Map,y=new Set,b={},x=ee,S=d.readTheme(v.root,x.palette),C,w={x:[0,1],y:[0,1]},T=!1,E={x:0,y:0},ne=[],D=!0,re=0,ie=[],O=null,k=null,A=null,ae=null,j=null,oe=0,M=!1,N=0,P=null,se=``,F=null,I=null,L=null,ce=[],le=[],R=[],ue=0,de=``,fe=``,z=null,B=null,pe=()=>{},me=new Promise(e=>{pe=e}),V=(e,t)=>{b[e]?.forEach(e=>e(t))},he=null,H=null,U=()=>{if(he===x)return H;he=x;let e=x.interaction;if(e===!1)return H=null;let t=typeof e==`object`?e:{};return H={zoom:t.zoom??!0,wheel:t.wheel??`modifier`,pan:t.pan??!0,keyboard:t.keyboard??!0,dragPoints:t.dragPoints??!1}},ge=()=>x.tooltip===!1?null:typeof x.tooltip==`object`?x.tooltip:{},W=()=>{M||N||(N=_?.requestAnimationFrame?_.requestAnimationFrame(Se):setTimeout(Se,16))},G=()=>{C=o.buildModel(x,S,y,te);let{base:e,zoom:t,minSpan:n}=C;T?(w={x:t.x?f.clampRange(w.x,e.x,n.x):[...e.x],y:t.y?f.clampRange(w.y,e.y,n.y):[...e.y]},T=!f.sameRange(w.x,e.x)||!f.sameRange(w.y,e.y)):w=m(e);let r=u.itemsSignature(C,ue,e=>x.series[e]?.stack);r!==de&&(de=r,E={x:p(e.x),y:p(e.y)},D=!0,P&&!P.keyboard&&(P=null)),ie=l.resolveAnnotations(x.annotations,S),ve(),ye(),W()},_e=()=>{let e=(e,t)=>Math.max(Math.abs(e[0]-t),Math.abs(e[1]-t))>(e[1]-e[0])*2e3;(e(w.x,E.x)||e(w.y,E.y))&&(E={x:p(w.x),y:p(w.y)},D=!0)},ve=()=>{let e=x.legend,n=x.series.filter(e=>e.name).length,r=e===void 0?n>1:!!e,i=typeof e==`object`?e:{},a=i.toggle??!0,o=i.position===`bottom`,s=`${r}|${o}|${a}`;if(r)for(let e of C.series)s+=`\n${e.id}\u0001${e.name}\u0001${e.colorCss}\u0001${l.legendShape(e.type)}\u0001${e.hidden}`;if(s===fe)return;fe=s;let c=[...v.legend.children].indexOf(g.activeElement);if(v.legend.replaceChildren(),v.legend.style.display=r?`flex`:`none`,r){v.legend.style.order=o?`1`:`0`,v.legend.style.padding=o?`8px 4px 0`:`0 4px 8px`;for(let e of C.series){let n=g.createElement(a?`button`:`span`);n instanceof HTMLButtonElement&&(n.type=`button`,n.setAttribute(`aria-pressed`,String(!e.hidden)),n.addEventListener(`click`,()=>{y.has(e.id)?y.delete(e.id):y.add(e.id),G()})),t.styleElement(n,{display:`inline-flex`,alignItems:`center`,gap:`6px`,padding:`2px 4px`,margin:`0`,border:`0`,borderRadius:`4px`,background:`none`,font:`inherit`,color:`var(--text-secondary-color, #6b7280)`,cursor:a?`pointer`:`default`,opacity:e.hidden?`0.45`:`1`,textDecoration:e.hidden?`line-through`:`none`}),n.append(t.swatch(g,e.colorCss,l.legendShape(e.type)),g.createTextNode(e.name)),v.legend.appendChild(n)}c>=0&&v.legend.children[c]?.focus()}},ye=()=>{v.stage.setAttribute(`aria-label`,x.ariaLabel??i.chartAriaLabel(C));let e=U()?.keyboard;v.stage.style.touchAction=U()?.dragPoints?`none`:`pan-y`,e?v.stage.tabIndex=0:v.stage.removeAttribute(`tabindex`)},be=(e,t,n,r)=>{let i=Math.max(1,Math.round(t*r)),a=Math.max(1,Math.round(n*r));e.width!==i&&(e.width=i),e.height!==a&&(e.height=a),e.style.width=`${t}px`,e.style.height=`${n}px`},xe=(e,t,n)=>{let r=2/(e[1]-e[0]),i=(t-e[0])*r-1;return n?[-r,-i]:[r,i]};function Se(){if(N=0,M)return;let e=v.stage.clientWidth,r=v.stage.clientHeight;if(e<=0||r<=0)return;let i=_?.devicePixelRatio||1;be(v.background,e,r,i),be(v.foreground,e,r,i);let a=v.background.getContext(`2d`),o=v.foreground.getContext(`2d`);a&&(a.setTransform(i,0,0,i,0,0),a.font=s.font(S));let c=l.layoutChart({model:C,view:w,theme:S,width:e,height:r,padding:x.padding,measure:a?e=>a.measureText(e).width:e=>e.length*S.fontSize*.6}),{plot:u}=c;k=c.xTicks,A=c.yTicks,ae=c.y2Ticks,O=c.scales;let d=Ce();if(d&&d.join()!==se&&(se=d.join(),V(`layout`,{x:d[0],y:d[1],width:d[2],height:d[3]})),a&&s.drawBackground(a,{width:e,height:r,scales:O,x:C.x,y:C.y,xTicks:k,yTicks:A,y2:C.y2,y2Ticks:ae,theme:S,annotations:ie}),o&&(o.setTransform(i,0,0,i,0,0),s.drawForeground(o,{width:e,height:r,scales:O,theme:S,annotations:ie,pointLabels:l.collectPointLabels(C,w,O,A)})),j){let e=j.canvas,r=C.horizontal,a=r?u.height:u.width,o=r?u.width:u.height;t.styleElement(e,{left:`${u.x}px`,top:`${u.y}px`,width:`${a}px`,height:`${o}px`,transformOrigin:r?`0 0`:``,transform:r?`matrix(0, 1, 1, 0, 0, 0)`:``});let s=Math.max(1,Math.round(a*i)),c=Math.max(1,Math.round(o*i));(e.width!==s||e.height!==c)&&j.resize(s,c),_e(),D&&(re++,ne=n.buildItems(C,E,re),D=!1);let[l,d]=xe(w.x,E.x,C.x.reverse),[f,p]=xe(w.y,E.y,r?!C.y.reverse:C.y.reverse);j.render(ne,{transform:{xScale:l,xOffset:d,yScale:f,yOffset:p},width:s,height:c,dpr:i})}J()}let K=(e,t)=>O?l.hitTest(C,O,k,e,t):null,Ce=()=>{let e=O?.plot;return e?[e.x+v.stage.offsetLeft,e.y+v.stage.offsetTop,e.width,e.height]:null},we=(e,t)=>U()?.dragPoints?K(e,t)?.items.find(e=>C.series[e.seriesIndex].type===`scatter`)??null:null,q=e=>{let t=!l.sameHover(P?.event??null,e?.event??null);P=e,J(),t&&V(`hover`,e?e.event:null)},Te=e=>{let n=ge()?.render;if(n)return n(e);let r=l.tooltipContent(C,e,A,ae),i=g.createDocumentFragment(),a=g.createElement(`div`);t.styleElement(a,{display:`flex`,alignItems:`center`,gap:`6px`,fontWeight:`600`,marginBottom:`4px`,color:`var(--text-color, #1f2937)`}),r.titleColor&&a.appendChild(t.swatch(g,r.titleColor,`dot`)),a.appendChild(g.createTextNode(r.title)),i.append(a);for(let e of r.rows){let n=g.createElement(`div`);t.styleElement(n,{display:`flex`,alignItems:`center`,gap:`8px`}),e.color&&n.appendChild(t.swatch(g,e.color,`dot`));let r=g.createElement(`span`);t.styleElement(r,{flex:`1 1 auto`,color:`var(--text-secondary-color, #6b7280)`}),r.textContent=e.name;let a=g.createElement(`span`);t.styleElement(a,{fontWeight:`600`,fontVariantNumeric:`tabular-nums`,marginLeft:`12px`}),a.textContent=e.value,n.append(r,a),i.append(n)}return i},Ee=(e,t,n,r=v.hover)=>(e[t]||(e[t]=n(),r.appendChild(e[t])),e[t].style.display=`block`,e[t]);function J(){let e=O;P&&e&&z&&z.scales===e&&z.model===C&&l.sameHover(z.event,P.event)||De(e);let t=v.tooltip;if(!P||!e||!ge()||L?.moved||F?.moved){t.style.display=`none`;return}let n=ge()?.render,r,i;if(!n&&B&&B.model===C&&B.yTicks===A&&l.sameHover(B.event,P.event)&&t.style.display===`block`)r=B.width,i=B.height;else{B=null;let e=Te(P.event);if(e===null||e===``){t.style.display=`none`;return}typeof e==`string`?(t.textContent=e,t.style.whiteSpace=`pre`):(t.replaceChildren(e),t.style.whiteSpace=`nowrap`),t.style.display=`block`,r=t.offsetWidth,i=t.offsetHeight,n||(B={event:P.event,model:C,yTicks:A,width:r,height:i})}let a=v.stage.clientWidth,o=v.stage.clientHeight,s=P.anchorX+16;s+r>a-4&&(s=P.anchorX-16-r),s=Math.max(4,Math.min(s,a-r-4));let c=Math.max(4,Math.min(P.anchorY-i/2,o-i-4));t.style.transform=`translate(${Math.round(s)}px, ${Math.round(c)}px)`}function De(e){let n=0,r=0,i=0;if(z=null,v.crosshair.style.display=`none`,P&&e){z={event:P.event,model:C,scales:e};let{plot:a}=e;v.hover.style.width=`${v.stage.clientWidth}px`,v.hover.style.height=`${v.stage.clientHeight}px`;let o=l.crosshairAt(C,e,P.event,x.crosshair);if(o!==null){let n=`1px dashed color-mix(in srgb, var(--text-secondary-color, #6b7280) 45%, transparent)`;t.styleElement(v.crosshair,e.horizontal?{display:`block`,left:`${a.x}px`,top:`${Math.round(o)}px`,width:`${a.width}px`,height:`0`,borderLeft:`0`,borderTop:n}:{display:`block`,left:`${Math.round(o)}px`,top:`${a.y}px`,width:`0`,height:`${a.height}px`,borderLeft:n,borderTop:`0`})}for(let a of l.hoverMarks(C,e,P.event)){if(a.kind===`band`||a.kind===`cell`){let e=a.kind===`band`?Ee(le,r++,()=>t.createBand(g),v.underlay):Ee(R,i++,()=>t.styleElement(t.createBand(g),{background:`transparent`,borderRadius:`3px`,boxShadow:`0 0 0 1.5px var(--surface-color, var(--background-color, #fff)), 0 0 0 3px color-mix(in srgb, var(--text-color, #1f2937) 55%, transparent)`}));t.styleElement(e,{left:`${a.x}px`,top:`${a.y}px`,width:`${a.width}px`,height:`${a.height}px`});continue}let e=Ee(ce,n++,()=>t.createMarker(g));t.styleElement(e,{left:`${a.x}px`,top:`${a.y}px`,width:`${a.size}px`,height:`${a.size}px`,background:a.color,boxShadow:`0 0 0 4px ${a.halo}`})}}for(let e=n;e<ce.length;e++)ce[e].style.display=`none`;for(let e=r;e<le.length;e++)le[e].style.display=`none`;for(let e=i;e<R.length;e++)R[e].style.display=`none`}let Y=(e,t)=>{let{base:n,minSpan:r}=C;w={x:f.clampRange(e.x,n.x,r.x),y:f.clampRange(e.y,n.y,r.y)},T=!f.sameRange(w.x,n.x)||!f.sameRange(w.y,n.y);let i=U();v.stage.style.cursor=T&&i?.pan?`grab`:``,t&&V(`zoom`,m(w)),W()},Oe=(e,t,n)=>{let r=O;if(!r)return;let i=m(w),o=a.toData(r,e,t);C.zoom.x&&(i.x=f.zoomRange(w.x,o.x,n)),C.zoom.y&&(i.y=f.zoomRange(w.y,o.y,n)),Y(i,!0)},X=e=>{let t=v.stage.getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}},Z=(e,t)=>{let n=O?.plot;return!!n&&e>=n.x&&e<=n.x+n.width&&t>=n.y&&t<=n.y+n.height},ke=(e,t)=>{let n=O;if(!n)return null;let{plot:r}=n,i=Math.max(r.x,Math.min(r.x+r.width,e)),o=Math.max(r.y,Math.min(r.y+r.height,t));return a.toData(n,i,o)},Ae=(e,n,r)=>{if(r===null){I&&(I.style.display=`none`);return}I||(I=t.createMarker(g),v.hover.appendChild(I));let i=(C.series.find(e=>e.type===`scatter`)?.pointSize??8)+8;v.hover.style.width=`${v.stage.clientWidth}px`,v.hover.style.height=`${v.stage.clientHeight}px`,t.styleElement(I,{display:`block`,left:`${e}px`,top:`${n}px`,width:`${i}px`,height:`${i}px`,background:r})},je=e=>{let{x:t,y:n}=X(e);if(F&&F.id===e.pointerId){if(!F.moved&&Math.hypot(t-F.x,n-F.y)>3&&(F.moved=!0,v.stage.setPointerCapture?.(e.pointerId),v.stage.style.cursor=`grabbing`),F.moved){let e=ke(t,n);e&&(Ae(t,n,F.item.color),J(),V(`drag`,{item:F.item,x:e.x,y:e.y}))}return}if(L&&L.id===e.pointerId){let r=t-L.x,i=n-L.y;if(!L.moved&&Math.hypot(r,i)>3){let t=U();T&&t?.pan&&(L.moved=!0,v.stage.setPointerCapture?.(e.pointerId),v.stage.style.cursor=`grabbing`)}if(L.moved&&O){let e=m(L.view),r=a.toData(O,L.x,L.y),i=a.toData(O,t,n);C.zoom.x&&(e.x=f.panRange(L.view.x,r.x-i.x)),C.zoom.y&&(e.y=f.panRange(L.view.y,r.y-i.y)),Y(e,!0);return}}let r=K(t,n);q(r?{event:r,anchorX:t,anchorY:n,keyboard:!1}:null),!L&&U()?.dragPoints&&(v.stage.style.cursor=we(t,n)||T&&U()?.pan?`grab`:``)},Me=e=>{if(e.button!==0)return;let{x:t,y:n}=X(e);if(!Z(t,n))return;let r=we(t,n);if(r){F={id:e.pointerId,item:r,x:t,y:n,moved:!1};return}L={id:e.pointerId,x:t,y:n,view:m(w),moved:!1}},Ne=e=>{if(F&&F.id===e.pointerId){let{item:t,moved:n}=F;F=null,v.stage.hasPointerCapture?.(e.pointerId)&&v.stage.releasePointerCapture(e.pointerId),Ae(0,0,null);let{x:r,y:i}=X(e);if(v.stage.style.cursor=we(r,i)?`grab`:``,n){let n=ke(r,i);n&&e.type!==`pointercancel`&&V(`drop`,{item:t,x:n.x,y:n.y}),J()}else{let e=K(r,i);e&&V(`click`,e)}return}if(!L||L.id!==e.pointerId)return;let t=L.moved;if(L=null,v.stage.hasPointerCapture?.(e.pointerId)&&v.stage.releasePointerCapture(e.pointerId),v.stage.style.cursor=T&&U()?.pan?`grab`:``,t)J();else{let{x:t,y:n}=X(e),r=K(t,n);if(r)V(`click`,r);else if(e.type!==`pointercancel`&&Z(t,n)){let e=ke(t,n);e&&V(`plotClick`,e)}}},Pe=()=>{!L?.moved&&!F?.moved&&q(null)},Fe=e=>{let t=U();if(!t||t.zoom===!1||!C.zoom.x&&!C.zoom.y)return;let{x:n,y:r}=X(e);if(!Z(n,r))return;let i=e.ctrlKey||e.metaKey;if(t.wheel===`always`||i)e.preventDefault(),Oe(n,r,f.wheelFactor(e.deltaY,e.deltaMode,e.ctrlKey&&!e.metaKey));else if(T&&C.zoom.x&&O&&!O.horizontal&&Math.abs(e.deltaX)>Math.abs(e.deltaY)){e.preventDefault();let t=m(w);t.x=f.panRange(w.x,e.deltaX*O.xPerPx*(C.x.reverse?-1:1)),Y(t,!0)}},Ie=e=>{let{x:t,y:n}=X(e);U()&&T&&Z(t,n)&&$()},Le=t=>{let n=O;if(!n)return;let r=P?.keyboard?P.event.items[0]:null,i=(r&&C.series[r.seriesIndex])??C.series.find(e=>!e.hidden&&e.cols.count>0);if(!i)return;let{x:o,y:s,count:c}=i.cols,u;for(r?u=r.index+t:(u=i.cols.sorted?e.lowerBound(o,c,w.x[0]):0,t<0&&(u=i.cols.sorted?e.lowerBound(o,c,w.x[1])-1:c-1));u>=0&&u<c&&!Number.isFinite(s[u]);)u+=t||1;if(u<0||u>=c)return;let d=n;if(C.zoom.x&&(o[u]<w.x[0]||o[u]>w.x[1])){let e=w.x[1]-w.x[0];Y({x:[o[u]-e/2,o[u]+e/2],y:w.y},!0),d=O=a.createScales(n.plot,w,C.x.reverse,C.y.reverse,C.horizontal)}let f=l.pointOf(i,u,d),p=l.hoverItemOf(i,u),m={items:[p,...C.tooltipMode===`axis`&&i.type!==`scatter`?(K(f.px,f.py)?.items??[]).filter(e=>e.seriesIndex!==i.index):[]],x:p.x,xLabel:k?.formatValue(p.x)??String(p.x)};q({event:m,anchorX:f.px,anchorY:f.py,keyboard:!0});let h=p;v.live.textContent=`${h.seriesName}: ${m.xLabel}, ${A?.formatValue(h.y)??h.y}${h.label?` (${h.label})`:``}`},Re=e=>{if(!U()?.keyboard)return;let t=()=>{let e=O?.plot;return e?[e.x+e.width/2,e.y+e.height/2]:[0,0]};switch(e.key){case`ArrowRight`:case`ArrowLeft`:if(C.horizontal)return;e.preventDefault(),Le(e.key===`ArrowRight`===C.x.reverse?-1:1);break;case`ArrowDown`:case`ArrowUp`:if(!C.horizontal)return;e.preventDefault(),Le(e.key===`ArrowDown`===C.x.reverse?-1:1);break;case`+`:case`=`:{if(!C.zoom.x&&!C.zoom.y)return;e.preventDefault();let[n,r]=t();Oe(n,r,.8);break}case`-`:case`_`:{if(!C.zoom.x&&!C.zoom.y)return;e.preventDefault();let[n,r]=t();Oe(n,r,1.25);break}case`0`:e.preventDefault(),$();break;case`Escape`:P&&(e.preventDefault(),q(null))}},ze=()=>{let e;try{e=v.stage.matches(`:focus-visible`)}catch{e=!0}e&&(v.stage.style.boxShadow=`0 0 0 2px var(--primary-color, #4f46e5)`)},Be=()=>{v.stage.style.boxShadow=``,P?.keyboard&&q(null)},Q=v.stage;Q.addEventListener(`pointermove`,je),Q.addEventListener(`pointerdown`,Me),Q.addEventListener(`pointerup`,Ne),Q.addEventListener(`pointercancel`,Ne),Q.addEventListener(`pointerleave`,Pe),Q.addEventListener(`wheel`,Fe,{passive:!1}),Q.addEventListener(`dblclick`,Ie),Q.addEventListener(`keydown`,Re),Q.addEventListener(`focus`,ze),Q.addEventListener(`blur`,Be);let Ve=typeof ResizeObserver==`function`?new ResizeObserver(()=>W()):null;Ve?.observe(v.stage);let He=()=>{if(M)return;let e=d.readTheme(v.root,x.palette);d.themeColorsChanged(S,e)&&ue++,S=e,G()},Ue=d.watchTheme(He),We=r.watchLocale(()=>{!M&&!x.locale&&G()}),Ge=async(e=new Set)=>{let n=++oe,r=await c.createRenderer(x.renderer??`auto`,()=>t.createDataCanvas(g),t=>{M||j?.kind!==t||(j.destroy(),j.canvas.remove(),j=null,Ge(new Set([...e,t])))},e);if(M||n!==oe){r?.destroy();return}j&&(j.destroy(),j.canvas.remove()),j=r,r&&(v.root.dataset.renderer=r.kind,v.stage.insertBefore(r.canvas,v.foreground),D=!0,V(`renderer`,r.kind)),pe(r?.kind??null),W()};function $(){T&&Y(m(C.base),!0)}return G(),Ge(),{setOptions(e){if(M)return;let t=x;x=e,(e.palette??[]).join()!==(t.palette??[]).join()&&(S=d.readTheme(v.root,e.palette),ue++),(e.renderer??`auto`)!==(t.renderer??`auto`)&&Ge(),G()},resize(){W()},resetZoom:$,getView:()=>m(w),setView(e){M||Y({x:e.x??w.x,y:e.y??w.y},!1)},getRenderer:()=>j?.kind??null,getPlotRect(){let e=Ce();return e?{x:e[0],y:e[1],width:e[2],height:e[3]}:null},toPixel(e,t){if(!O)return null;let n=a.toScreen(O,e,t);return{x:n.x+v.stage.offsetLeft,y:n.y+v.stage.offsetTop}},fromPixel(e,t){return O?a.toData(O,e-v.stage.offsetLeft,t-v.stage.offsetTop):null},ready:me,refreshTheme:He,on(e,t){let n=b[e];return n||(n=new Set,b[e]=n),n.add(t),()=>{n.delete(t)}},destroy(){if(!M){M=!0,N&&(_?.cancelAnimationFrame?_.cancelAnimationFrame(N):clearTimeout(N)),Ve?.disconnect(),Ue(),We(),Q.removeEventListener(`wheel`,Fe),j?.destroy(),j=null,v.root.remove();for(let e of Object.keys(b))delete b[e]}}}};exports.createChart=h;
|
|
3
2
|
//# sourceMappingURL=chart.cjs.map
|