minerva-design 1.3.0 → 1.5.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 +18 -0
- package/README.md +21 -21
- package/custom-elements.json +18546 -7329
- package/dist/angular/fesm2022/minerva-angular.mjs +8303 -172
- package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
- package/dist/angular/types/minerva-angular.d.ts +2809 -0
- package/dist/charts/canvas.d.cts +8 -3
- package/dist/charts/canvas.d.ts +8 -3
- package/dist/charts/core.cjs +1 -1
- package/dist/charts/core.d.cts +10 -5
- package/dist/charts/core.d.ts +10 -5
- package/dist/charts/core.js +27 -8
- package/dist/charts/engine/axis.cjs +1 -1
- package/dist/charts/engine/axis.cjs.map +1 -1
- package/dist/charts/engine/axis.js +43 -20
- 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 +193 -116
- package/dist/charts/engine/canvas.js.map +1 -1
- package/dist/charts/engine/chart.cjs +1 -1
- 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 +486 -350
- 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 +18 -0
- package/dist/charts/engine/color.d.ts +18 -0
- package/dist/charts/engine/color.js +47 -1
- 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 +44 -4
- package/dist/charts/engine/controller.d.ts +44 -4
- package/dist/charts/engine/controller.js +421 -314
- package/dist/charts/engine/controller.js.map +1 -1
- package/dist/charts/engine/data.cjs +1 -1
- package/dist/charts/engine/data.cjs.map +1 -1
- package/dist/charts/engine/data.d.cts +9 -1
- package/dist/charts/engine/data.d.ts +9 -1
- package/dist/charts/engine/data.js +65 -49
- package/dist/charts/engine/data.js.map +1 -1
- package/dist/charts/engine/defaults.cjs +2 -0
- package/dist/charts/engine/defaults.cjs.map +1 -0
- package/dist/charts/engine/defaults.d.cts +20 -0
- package/dist/charts/engine/defaults.d.ts +20 -0
- package/dist/charts/engine/defaults.js +35 -0
- package/dist/charts/engine/defaults.js.map +1 -0
- package/dist/charts/engine/format.cjs +1 -1
- package/dist/charts/engine/format.cjs.map +1 -1
- package/dist/charts/engine/format.d.cts +27 -6
- package/dist/charts/engine/format.d.ts +27 -6
- package/dist/charts/engine/format.js +59 -21
- package/dist/charts/engine/format.js.map +1 -1
- package/dist/charts/engine/graph/chart.cjs +2 -0
- package/dist/charts/engine/graph/chart.cjs.map +1 -0
- package/dist/charts/engine/graph/chart.d.cts +3 -0
- package/dist/charts/engine/graph/chart.d.ts +3 -0
- package/dist/charts/engine/graph/chart.js +1565 -0
- package/dist/charts/engine/graph/chart.js.map +1 -0
- package/dist/charts/engine/graph/circular.cjs +2 -0
- package/dist/charts/engine/graph/circular.cjs.map +1 -0
- package/dist/charts/engine/graph/circular.d.cts +16 -0
- package/dist/charts/engine/graph/circular.d.ts +16 -0
- package/dist/charts/engine/graph/circular.js +62 -0
- package/dist/charts/engine/graph/circular.js.map +1 -0
- package/dist/charts/engine/graph/dag.cjs +2 -0
- package/dist/charts/engine/graph/dag.cjs.map +1 -0
- package/dist/charts/engine/graph/dag.d.cts +34 -0
- package/dist/charts/engine/graph/dag.d.ts +34 -0
- package/dist/charts/engine/graph/dag.js +314 -0
- package/dist/charts/engine/graph/dag.js.map +1 -0
- package/dist/charts/engine/graph/dom.cjs +2 -0
- package/dist/charts/engine/graph/dom.cjs.map +1 -0
- package/dist/charts/engine/graph/dom.d.cts +23 -0
- package/dist/charts/engine/graph/dom.d.ts +23 -0
- package/dist/charts/engine/graph/dom.js +158 -0
- package/dist/charts/engine/graph/dom.js.map +1 -0
- package/dist/charts/engine/graph/force.cjs +2 -0
- package/dist/charts/engine/graph/force.cjs.map +1 -0
- package/dist/charts/engine/graph/force.d.cts +67 -0
- package/dist/charts/engine/graph/force.d.ts +67 -0
- package/dist/charts/engine/graph/force.js +325 -0
- package/dist/charts/engine/graph/force.js.map +1 -0
- package/dist/charts/engine/graph/geometry.cjs +2 -0
- package/dist/charts/engine/graph/geometry.cjs.map +1 -0
- package/dist/charts/engine/graph/geometry.d.cts +37 -0
- package/dist/charts/engine/graph/geometry.d.ts +37 -0
- package/dist/charts/engine/graph/geometry.js +144 -0
- package/dist/charts/engine/graph/geometry.js.map +1 -0
- package/dist/charts/engine/graph/index.cjs +1 -0
- package/dist/charts/engine/graph/index.d.cts +6 -0
- package/dist/charts/engine/graph/index.d.ts +6 -0
- package/dist/charts/engine/graph/index.js +6 -0
- package/dist/charts/engine/graph/labels.cjs +2 -0
- package/dist/charts/engine/graph/labels.cjs.map +1 -0
- package/dist/charts/engine/graph/labels.d.cts +12 -0
- package/dist/charts/engine/graph/labels.d.ts +12 -0
- package/dist/charts/engine/graph/labels.js +128 -0
- package/dist/charts/engine/graph/labels.js.map +1 -0
- package/dist/charts/engine/graph/model.cjs +2 -0
- package/dist/charts/engine/graph/model.cjs.map +1 -0
- package/dist/charts/engine/graph/model.d.cts +43 -0
- package/dist/charts/engine/graph/model.d.ts +43 -0
- package/dist/charts/engine/graph/model.js +88 -0
- package/dist/charts/engine/graph/model.js.map +1 -0
- package/dist/charts/engine/graph/sizing.cjs +2 -0
- package/dist/charts/engine/graph/sizing.cjs.map +1 -0
- package/dist/charts/engine/graph/sizing.d.cts +33 -0
- package/dist/charts/engine/graph/sizing.d.ts +33 -0
- package/dist/charts/engine/graph/sizing.js +60 -0
- package/dist/charts/engine/graph/sizing.js.map +1 -0
- package/dist/charts/engine/graph/tree.cjs +2 -0
- package/dist/charts/engine/graph/tree.cjs.map +1 -0
- package/dist/charts/engine/graph/tree.d.cts +30 -0
- package/dist/charts/engine/graph/tree.d.ts +30 -0
- package/dist/charts/engine/graph/tree.js +218 -0
- package/dist/charts/engine/graph/tree.js.map +1 -0
- package/dist/charts/engine/graph/types.d.cts +626 -0
- package/dist/charts/engine/graph/types.d.ts +626 -0
- package/dist/charts/engine/graph/worker.cjs +46 -0
- package/dist/charts/engine/graph/worker.cjs.map +1 -0
- package/dist/charts/engine/graph/worker.d.cts +36 -0
- package/dist/charts/engine/graph/worker.d.ts +36 -0
- package/dist/charts/engine/graph/worker.js +129 -0
- package/dist/charts/engine/graph/worker.js.map +1 -0
- package/dist/charts/engine/items.cjs +1 -1
- package/dist/charts/engine/items.cjs.map +1 -1
- package/dist/charts/engine/items.d.cts +15 -2
- package/dist/charts/engine/items.d.ts +15 -2
- package/dist/charts/engine/items.js +257 -81
- 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 +98 -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 +43 -2
- package/dist/charts/engine/layout.d.ts +43 -2
- package/dist/charts/engine/layout.js +62 -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 +77 -2
- package/dist/charts/engine/model.d.ts +77 -2
- package/dist/charts/engine/model.js +304 -116
- 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 +49 -0
- package/dist/charts/engine/orderbook/format.d.ts +49 -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 +822 -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/layout.cjs +2 -0
- package/dist/charts/engine/orderbook/layout.cjs.map +1 -0
- package/dist/charts/engine/orderbook/layout.d.cts +37 -0
- package/dist/charts/engine/orderbook/layout.d.ts +37 -0
- package/dist/charts/engine/orderbook/layout.js +70 -0
- package/dist/charts/engine/orderbook/layout.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 +751 -0
- package/dist/charts/engine/orderbook/types.d.ts +751 -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 +28 -2
- package/dist/charts/engine/overlay.d.ts +28 -2
- package/dist/charts/engine/overlay.js +138 -96
- 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 +273 -3
- package/dist/charts/engine/presets.d.ts +273 -3
- package/dist/charts/engine/presets.js +390 -38
- package/dist/charts/engine/presets.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.d.cts +2 -1
- package/dist/charts/engine/renderers/detect.d.ts +2 -1
- package/dist/charts/engine/renderers/detect.js +24 -19
- 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/shaders.cjs +143 -1
- package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
- package/dist/charts/engine/renderers/shaders.d.cts +16 -0
- package/dist/charts/engine/renderers/shaders.d.ts +16 -0
- package/dist/charts/engine/renderers/shaders.js +139 -1
- package/dist/charts/engine/renderers/shaders.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 +59 -108
- package/dist/charts/engine/renderers/webgl2.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 +71 -8
- package/dist/charts/engine/scene.d.ts +71 -8
- package/dist/charts/engine/scene.js +465 -183
- 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 +1 -1
- package/dist/charts/engine/shapes/canvas.cjs.map +1 -1
- package/dist/charts/engine/shapes/canvas.d.cts +7 -0
- package/dist/charts/engine/shapes/canvas.d.ts +7 -0
- package/dist/charts/engine/shapes/canvas.js +22 -13
- package/dist/charts/engine/shapes/canvas.js.map +1 -1
- package/dist/charts/engine/shapes/chart.cjs +1 -1
- package/dist/charts/engine/shapes/chart.cjs.map +1 -1
- package/dist/charts/engine/shapes/chart.d.cts +3 -2
- package/dist/charts/engine/shapes/chart.d.ts +3 -2
- package/dist/charts/engine/shapes/chart.js +49 -27
- package/dist/charts/engine/shapes/chart.js.map +1 -1
- package/dist/charts/engine/shapes/chord.cjs +2 -0
- package/dist/charts/engine/shapes/chord.cjs.map +1 -0
- package/dist/charts/engine/shapes/chord.d.cts +18 -0
- package/dist/charts/engine/shapes/chord.d.ts +18 -0
- package/dist/charts/engine/shapes/chord.js +414 -0
- package/dist/charts/engine/shapes/chord.js.map +1 -0
- package/dist/charts/engine/shapes/draw.cjs +1 -1
- package/dist/charts/engine/shapes/draw.cjs.map +1 -1
- package/dist/charts/engine/shapes/draw.d.cts +7 -1
- package/dist/charts/engine/shapes/draw.d.ts +7 -1
- package/dist/charts/engine/shapes/draw.js +62 -19
- package/dist/charts/engine/shapes/draw.js.map +1 -1
- package/dist/charts/engine/shapes/funnel.cjs +1 -1
- package/dist/charts/engine/shapes/funnel.cjs.map +1 -1
- package/dist/charts/engine/shapes/funnel.js +3 -3
- package/dist/charts/engine/shapes/funnel.js.map +1 -1
- package/dist/charts/engine/shapes/gauge.cjs +1 -1
- package/dist/charts/engine/shapes/gauge.cjs.map +1 -1
- package/dist/charts/engine/shapes/gauge.js +132 -95
- package/dist/charts/engine/shapes/gauge.js.map +1 -1
- package/dist/charts/engine/shapes/hit.cjs +1 -1
- package/dist/charts/engine/shapes/hit.cjs.map +1 -1
- package/dist/charts/engine/shapes/hit.d.cts +5 -1
- package/dist/charts/engine/shapes/hit.d.ts +5 -1
- package/dist/charts/engine/shapes/hit.js +89 -39
- package/dist/charts/engine/shapes/hit.js.map +1 -1
- package/dist/charts/engine/shapes/index.d.cts +6 -2
- package/dist/charts/engine/shapes/index.d.ts +6 -2
- 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 +154 -0
- package/dist/charts/engine/shapes/labels.js.map +1 -0
- package/dist/charts/engine/shapes/layout.cjs +2 -2
- package/dist/charts/engine/shapes/layout.cjs.map +1 -1
- package/dist/charts/engine/shapes/layout.d.cts +10 -3
- package/dist/charts/engine/shapes/layout.d.ts +10 -3
- package/dist/charts/engine/shapes/layout.js +239 -124
- package/dist/charts/engine/shapes/layout.js.map +1 -1
- package/dist/charts/engine/shapes/pie.cjs +1 -1
- package/dist/charts/engine/shapes/pie.cjs.map +1 -1
- package/dist/charts/engine/shapes/pie.js +2 -2
- package/dist/charts/engine/shapes/pie.js.map +1 -1
- package/dist/charts/engine/shapes/radar.cjs +1 -1
- package/dist/charts/engine/shapes/radar.cjs.map +1 -1
- package/dist/charts/engine/shapes/radar.d.cts +2 -2
- package/dist/charts/engine/shapes/radar.d.ts +2 -2
- package/dist/charts/engine/shapes/radar.js +50 -49
- package/dist/charts/engine/shapes/radar.js.map +1 -1
- 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 +1 -1
- package/dist/charts/engine/shapes/runtime.cjs.map +1 -1
- package/dist/charts/engine/shapes/runtime.d.cts +9 -2
- package/dist/charts/engine/shapes/runtime.d.ts +9 -2
- package/dist/charts/engine/shapes/runtime.js +61 -51
- package/dist/charts/engine/shapes/runtime.js.map +1 -1
- 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 +1 -1
- package/dist/charts/engine/shapes/scene.cjs.map +1 -1
- package/dist/charts/engine/shapes/scene.d.cts +92 -8
- package/dist/charts/engine/shapes/scene.d.ts +92 -8
- package/dist/charts/engine/shapes/scene.js +76 -31
- package/dist/charts/engine/shapes/scene.js.map +1 -1
- 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 +1 -1
- package/dist/charts/engine/shapes/treemap.cjs.map +1 -1
- package/dist/charts/engine/shapes/treemap.js +2 -2
- package/dist/charts/engine/shapes/treemap.js.map +1 -1
- package/dist/charts/engine/shapes/types.d.cts +550 -12
- package/dist/charts/engine/shapes/types.d.ts +550 -12
- package/dist/charts/engine/signature.cjs +1 -1
- package/dist/charts/engine/signature.cjs.map +1 -1
- package/dist/charts/engine/signature.js +1 -1
- package/dist/charts/engine/signature.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 +7 -0
- package/dist/charts/engine/three-d/canvas2d.d.ts +7 -0
- package/dist/charts/engine/three-d/canvas2d.js +128 -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 +12 -0
- package/dist/charts/engine/three-d/detect.d.ts +12 -0
- package/dist/charts/engine/three-d/detect.js +37 -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 +82 -0
- package/dist/charts/engine/three-d/geometry.d.ts +82 -0
- package/dist/charts/engine/three-d/geometry.js +545 -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 +132 -0
- package/dist/charts/engine/three-d/model.d.ts +132 -0
- package/dist/charts/engine/three-d/model.js +279 -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 +204 -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 +103 -0
- package/dist/charts/engine/three-d/render-types.d.ts +103 -0
- package/dist/charts/engine/three-d/render-types.js +12 -0
- package/dist/charts/engine/three-d/render-types.js.map +1 -0
- package/dist/charts/engine/three-d/shaders.cjs +311 -0
- package/dist/charts/engine/three-d/shaders.cjs.map +1 -0
- package/dist/charts/engine/three-d/shaders.d.cts +25 -0
- package/dist/charts/engine/three-d/shaders.d.ts +25 -0
- package/dist/charts/engine/three-d/shaders.js +210 -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 +29 -0
- package/dist/charts/engine/three-d/sort.d.ts +29 -0
- package/dist/charts/engine/three-d/sort.js +145 -0
- package/dist/charts/engine/three-d/sort.js.map +1 -0
- package/dist/charts/engine/three-d/types.d.cts +615 -0
- package/dist/charts/engine/three-d/types.d.ts +615 -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 +132 -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 +260 -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 +13 -0
- package/dist/charts/engine/trading/chart.d.ts +13 -0
- package/dist/charts/engine/trading/chart.js +2206 -0
- package/dist/charts/engine/trading/chart.js.map +1 -0
- package/dist/charts/engine/trading/drawings.cjs +3 -0
- package/dist/charts/engine/trading/drawings.cjs.map +1 -0
- package/dist/charts/engine/trading/drawings.d.cts +95 -0
- package/dist/charts/engine/trading/drawings.d.ts +95 -0
- package/dist/charts/engine/trading/drawings.js +423 -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 +73 -0
- package/dist/charts/engine/trading/format.d.ts +73 -0
- package/dist/charts/engine/trading/format.js +163 -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 +4 -0
- package/dist/charts/engine/trading/index.d.ts +4 -0
- package/dist/charts/engine/trading/index.js +4 -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 +275 -0
- package/dist/charts/engine/trading/indicators.d.ts +275 -0
- package/dist/charts/engine/trading/indicators.js +544 -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 +171 -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 +83 -0
- package/dist/charts/engine/trading/store.d.ts +83 -0
- package/dist/charts/engine/trading/store.js +150 -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 +85 -0
- package/dist/charts/engine/trading/studies.d.ts +85 -0
- package/dist/charts/engine/trading/studies.js +510 -0
- package/dist/charts/engine/trading/studies.js.map +1 -0
- package/dist/charts/engine/trading/sync.cjs +2 -0
- package/dist/charts/engine/trading/sync.cjs.map +1 -0
- package/dist/charts/engine/trading/sync.d.cts +8 -0
- package/dist/charts/engine/trading/sync.d.ts +8 -0
- package/dist/charts/engine/trading/sync.js +25 -0
- package/dist/charts/engine/trading/sync.js.map +1 -0
- package/dist/charts/engine/trading/types.d.cts +1131 -0
- package/dist/charts/engine/trading/types.d.ts +1131 -0
- package/dist/charts/engine/types.d.cts +247 -22
- package/dist/charts/engine/types.d.ts +247 -22
- package/dist/charts/index.cjs +1 -1
- package/dist/charts/index.d.cts +8 -4
- package/dist/charts/index.d.ts +8 -4
- package/dist/charts/index.js +30 -11
- package/dist/charts/react/Chart.cjs +1 -1
- package/dist/charts/react/Chart.cjs.map +1 -1
- package/dist/charts/react/Chart.d.cts +4 -4
- package/dist/charts/react/Chart.d.ts +4 -4
- package/dist/charts/react/Chart.js +5 -1
- 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 +39 -1
- package/dist/charts/react/charts.d.ts +39 -1
- package/dist/charts/react/charts.js +312 -128
- package/dist/charts/react/charts.js.map +1 -1
- package/dist/charts/react/graph.cjs +2 -0
- package/dist/charts/react/graph.cjs.map +1 -0
- package/dist/charts/react/graph.d.cts +213 -0
- package/dist/charts/react/graph.d.ts +213 -0
- package/dist/charts/react/graph.js +159 -0
- package/dist/charts/react/graph.js.map +1 -0
- 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 +1 -1
- package/dist/charts/react/shapes.cjs.map +1 -1
- package/dist/charts/react/shapes.d.cts +374 -9
- package/dist/charts/react/shapes.d.ts +374 -9
- package/dist/charts/react/shapes.js +323 -93
- package/dist/charts/react/shapes.js.map +1 -1
- 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 +145 -0
- package/dist/charts/react/trading.d.ts +145 -0
- package/dist/charts/react/trading.js +126 -0
- package/dist/charts/react/trading.js.map +1 -0
- package/dist/charts/react/types.d.cts +143 -8
- package/dist/charts/react/types.d.ts +143 -8
- 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 +43 -20
- 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 +47 -5
- 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 +415 -308
- package/dist/native/charts/src/engine/controller.js.map +1 -1
- 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 +65 -49
- 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 +59 -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 +98 -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 +62 -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 +307 -119
- 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 +46 -23
- 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 +470 -41
- 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 +489 -207
- 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 +369 -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/chord.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/chord.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/chord.js +414 -0
- package/dist/native/charts/src/engine/shapes/chord.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 +195 -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 +135 -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 +154 -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 +358 -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 +168 -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/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 +315 -229
- 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 +350 -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 +155 -0
- package/dist/native/components/Charts/types.d.ts +155 -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 +272 -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 +43 -0
- package/dist/native/components/ShapeChart/charts.d.ts +43 -0
- package/dist/native/components/ShapeChart/charts.js +429 -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 +113 -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 +681 -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 +115 -0
- package/dist/native/components/ShapeChart/recorder.d.ts +115 -0
- package/dist/native/components/ShapeChart/recorder.js +583 -0
- package/dist/native/components/ShapeChart/recorder.js.map +1 -0
- package/dist/native/components/ShapeChart/types.d.cts +594 -0
- package/dist/native/components/ShapeChart/types.d.ts +594 -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 +312 -98
- package/dist/native/source/components/Chart/types.ts +31 -1
- package/dist/native/source/components/Charts/charts.tsx +521 -0
- package/dist/native/source/components/Charts/index.ts +14 -0
- package/dist/native/source/components/Charts/types.ts +218 -0
- package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +486 -0
- package/dist/native/source/components/ShapeChart/charts.tsx +661 -0
- package/dist/native/source/components/ShapeChart/draw.tsx +201 -0
- package/dist/native/source/components/ShapeChart/geometry.ts +1366 -0
- package/dist/native/source/components/ShapeChart/index.ts +16 -0
- package/dist/native/source/components/ShapeChart/recorder.ts +845 -0
- package/dist/native/source/components/ShapeChart/types.ts +655 -0
- package/dist/native/source/index.ts +2 -0
- package/dist/native/source/manifest.ts +31 -4
- package/dist/taro/charts.d.ts +229 -4
- package/dist/taro/index.d.ts +1 -0
- package/dist/taro/index.js +8818 -2093
- package/dist/taro/manifest.d.ts +1 -0
- package/dist/taro/shape-charts.d.ts +629 -0
- package/dist/uni/AreaChart.vue +68 -0
- package/dist/uni/AreaChart.vue.d.ts +124 -0
- package/dist/uni/Badge.vue.d.ts +1 -1
- package/dist/uni/BarChart.vue.d.ts +5 -1
- package/dist/uni/BoxPlotChart.vue +66 -0
- package/dist/uni/BoxPlotChart.vue.d.ts +110 -0
- package/dist/uni/BubbleChart.vue +68 -0
- package/dist/uni/BubbleChart.vue.d.ts +110 -0
- package/dist/uni/BulletChart.vue +86 -0
- package/dist/uni/BulletChart.vue.d.ts +114 -0
- package/dist/uni/CalendarHeatmap.vue +92 -0
- package/dist/uni/CalendarHeatmap.vue.d.ts +131 -0
- package/dist/uni/CandlestickChart.vue +66 -0
- package/dist/uni/CandlestickChart.vue.d.ts +104 -0
- package/dist/uni/Chart.vue.d.ts +4 -0
- package/dist/uni/ChordChart.vue +93 -0
- package/dist/uni/ChordChart.vue.d.ts +136 -0
- package/dist/uni/DonutChart.vue +72 -0
- package/dist/uni/DonutChart.vue.d.ts +118 -0
- package/dist/uni/FunnelChart.vue +67 -0
- package/dist/uni/FunnelChart.vue.d.ts +108 -0
- package/dist/uni/GanttChart.vue +67 -0
- package/dist/uni/GanttChart.vue.d.ts +127 -0
- package/dist/uni/GaugeChart.vue +77 -0
- package/dist/uni/GaugeChart.vue.d.ts +127 -0
- package/dist/uni/HeatmapChart.vue +66 -0
- package/dist/uni/HeatmapChart.vue.d.ts +120 -0
- package/dist/uni/HistogramChart.vue +66 -0
- package/dist/uni/HistogramChart.vue.d.ts +125 -0
- package/dist/uni/HorizontalBarChart.vue +68 -0
- package/dist/uni/HorizontalBarChart.vue.d.ts +129 -0
- package/dist/uni/Input.vue.d.ts +1 -1
- package/dist/uni/LineChart.vue.d.ts +4 -0
- package/dist/uni/MixedChart.vue +68 -0
- package/dist/uni/MixedChart.vue.d.ts +110 -0
- package/dist/uni/NumberInput.vue.d.ts +1 -1
- package/dist/uni/PieChart.vue +72 -0
- package/dist/uni/PieChart.vue.d.ts +118 -0
- package/dist/uni/QuadrantChart.vue.d.ts +4 -0
- package/dist/uni/RadarChart.vue +67 -0
- package/dist/uni/RadarChart.vue.d.ts +114 -0
- package/dist/uni/RadialBarChart.vue +90 -0
- package/dist/uni/RadialBarChart.vue.d.ts +136 -0
- package/dist/uni/RangeAreaChart.vue +68 -0
- package/dist/uni/RangeAreaChart.vue.d.ts +106 -0
- package/dist/uni/ResponsiveGrid.vue.d.ts +1 -1
- package/dist/uni/SankeyChart.vue +88 -0
- package/dist/uni/SankeyChart.vue.d.ts +125 -0
- package/dist/uni/ScatterChart.vue.d.ts +4 -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 +81 -0
- package/dist/uni/SunburstChart.vue +90 -0
- package/dist/uni/SunburstChart.vue.d.ts +118 -0
- package/dist/uni/Textarea.vue.d.ts +1 -1
- package/dist/uni/TimePicker.vue.d.ts +1 -1
- package/dist/uni/ToastProvider.vue.d.ts +1 -1
- package/dist/uni/TreemapChart.vue +65 -0
- package/dist/uni/TreemapChart.vue.d.ts +104 -0
- package/dist/uni/WaterfallChart.vue +66 -0
- package/dist/uni/WaterfallChart.vue.d.ts +134 -0
- package/dist/uni/chart-canvas.d.ts +3 -0
- package/dist/uni/chart-canvas.js +4 -0
- package/dist/uni/chart-types.d.ts +240 -2
- package/dist/uni/chart-types.js +198 -0
- package/dist/uni/charts-canvas.js +8 -3
- package/dist/uni/index.d.ts +27 -1
- package/dist/uni/index.js +27 -1
- package/dist/uni/manifest.d.ts +279 -0
- package/dist/uni/manifest.js +397 -0
- package/dist/uni/named-chart-options.d.ts +95 -0
- package/dist/uni/named-chart-options.js +173 -0
- package/dist/uni/shape-chart-canvas.d.ts +53 -0
- package/dist/uni/shape-chart-canvas.js +333 -0
- package/dist/uni/shape-chart-types.d.ts +431 -0
- package/dist/uni/shape-chart-types.js +305 -0
- package/dist/vue/charts-global.d.ts +48 -0
- package/dist/vue/charts.d.ts +18 -0
- package/dist/vue/charts.js +56 -0
- package/dist/vue/charts.js.map +1 -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 +120 -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 +63 -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/ChordChart.vue.d.ts +153 -0
- package/dist/vue/components/Chart/ChordChart.vue.js +7 -0
- package/dist/vue/components/Chart/ChordChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js +81 -0
- package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/DependencyGraph.vue.d.ts +179 -0
- package/dist/vue/components/Chart/DependencyGraph.vue.js +7 -0
- package/dist/vue/components/Chart/DependencyGraph.vue.js.map +1 -0
- package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js +65 -0
- package/dist/vue/components/Chart/DependencyGraph.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 +136 -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 +101 -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/GraphChart.vue.d.ts +184 -0
- package/dist/vue/components/Chart/GraphChart.vue.js +7 -0
- package/dist/vue/components/Chart/GraphChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js +62 -0
- package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +129 -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 +67 -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 +130 -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 +116 -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 +208 -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 +101 -0
- package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/TreeChart.vue.d.ts +172 -0
- package/dist/vue/components/Chart/TreeChart.vue.js +7 -0
- package/dist/vue/components/Chart/TreeChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js +56 -0
- package/dist/vue/components/Chart/TreeChart.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 +143 -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 +74 -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/graph.d.ts +153 -0
- package/dist/vue/components/Chart/graph.js +135 -0
- package/dist/vue/components/Chart/graph.js.map +1 -0
- package/dist/vue/components/Chart/index.d.ts +45 -0
- package/dist/vue/components/Chart/index.js +44 -0
- package/dist/vue/components/Chart/orderbook.d.ts +363 -0
- package/dist/vue/components/Chart/orderbook.js +128 -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 +127 -0
- package/dist/vue/components/Chart/trading.js +63 -0
- package/dist/vue/components/Chart/trading.js.map +1 -0
- package/dist/vue/components/Chart/types.d.ts +209 -0
- package/dist/vue/global.d.ts +2 -0
- package/dist/vue/groups/charts.d.ts +1 -0
- package/dist/vue/groups/charts.js +95 -0
- package/dist/vue/groups/charts.js.map +1 -0
- package/dist/vue/index.d.ts +1 -0
- package/dist/vue/index.js +67 -23
- package/dist/vue/internal/register.d.ts +7 -0
- package/dist/vue/internal/register.js +14 -0
- package/dist/vue/internal/register.js.map +1 -0
- package/dist/vue/plugin.d.ts +9 -4
- package/dist/vue/plugin.js +7 -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 +12976 -0
- package/dist/weapp/charts/core.d.ts +2 -0
- package/dist/weapp/charts/core.js +42 -0
- package/dist/weapp/chord-chart/index.js +1 -0
- package/dist/weapp/chord-chart/index.json +1 -0
- package/dist/weapp/chord-chart/index.wxml +1 -0
- package/dist/weapp/chord-chart/index.wxss +1 -0
- package/dist/weapp/controls.js +1495 -4480
- 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 +549 -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 +254 -0
- package/dist/web-components/components/chart/charts.js +208 -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 +234 -0
- package/dist/web-components/components/chart/extended.js +197 -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 +198 -0
- package/dist/web-components/components/chart/shapes-extended.js +182 -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/graph/graph.d.ts +154 -0
- package/dist/web-components/components/graph/graph.js +149 -0
- package/dist/web-components/components/graph/graph.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 +143 -0
- package/dist/web-components/components/trading-chart/trading-chart.js +158 -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 +44 -0
- package/dist/web-components/elements/chart.js.map +1 -0
- package/dist/web-components/elements/graph.d.ts +2 -0
- package/dist/web-components/elements/graph.js +12 -0
- package/dist/web-components/elements/graph.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 +1470 -38
- package/dist/web-components/types/react.d.ts +494 -0
- package/dist/web-components/types/solid.d.ts +368 -0
- package/dist/web-components/types/svelte.d.ts +368 -0
- package/dist/web-components/types/vue.d.ts +410 -0
- package/package.json +128 -1
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { Locale3D } from './labels.js';
|
|
2
|
+
import { Bar3DSeries, Chart3DColorBy, Chart3DOptions, Chart3DPointData, Chart3DSeries, Chart3DSeriesType, Line3DSeries, Scatter3DSeries, Surface3DData, Surface3DSeries } from './types.js';
|
|
3
|
+
export type AxisKey = "x" | "y" | "z";
|
|
4
|
+
export interface Extent {
|
|
5
|
+
min: number;
|
|
6
|
+
max: number;
|
|
7
|
+
}
|
|
8
|
+
/** Columns of a scatter / line series */
|
|
9
|
+
export interface PointColumns {
|
|
10
|
+
count: number;
|
|
11
|
+
x: ArrayLike<number>;
|
|
12
|
+
y: ArrayLike<number>;
|
|
13
|
+
z: ArrayLike<number>;
|
|
14
|
+
size: ArrayLike<number> | null;
|
|
15
|
+
value: ArrayLike<number> | null;
|
|
16
|
+
colors: readonly (string | undefined)[] | null;
|
|
17
|
+
/** Per-point `0xRRGGBB` colors (column data) */
|
|
18
|
+
rgb: ArrayLike<number> | null;
|
|
19
|
+
labels: readonly (string | undefined)[] | null;
|
|
20
|
+
extent: Record<AxisKey | "value", Extent>;
|
|
21
|
+
}
|
|
22
|
+
/** Columns of points written as objects, tuples or columns (cached per data object) */
|
|
23
|
+
export declare const pointColumns: (data: Chart3DPointData) => PointColumns;
|
|
24
|
+
/** A surface grid with its coordinates */
|
|
25
|
+
export interface SurfaceGrid {
|
|
26
|
+
rows: number;
|
|
27
|
+
cols: number;
|
|
28
|
+
z: ArrayLike<number>;
|
|
29
|
+
x: ArrayLike<number>;
|
|
30
|
+
y: ArrayLike<number>;
|
|
31
|
+
value: ArrayLike<number> | null;
|
|
32
|
+
extent: Record<AxisKey | "value", Extent>;
|
|
33
|
+
}
|
|
34
|
+
export declare const surfaceGrid: (data: Surface3DData) => SurfaceGrid;
|
|
35
|
+
/** Bars of a series resolved to category indices */
|
|
36
|
+
export interface BarColumns {
|
|
37
|
+
count: number;
|
|
38
|
+
/** Category index on x / y */
|
|
39
|
+
xi: Int32Array;
|
|
40
|
+
yi: Int32Array;
|
|
41
|
+
/** Bottom and top of every bar (stacked on the series before) */
|
|
42
|
+
z0: Float64Array;
|
|
43
|
+
z1: Float64Array;
|
|
44
|
+
/** Height of the datum itself */
|
|
45
|
+
z: Float64Array;
|
|
46
|
+
/** Index of the datum in the series data */
|
|
47
|
+
source: Int32Array;
|
|
48
|
+
value: Float64Array | null;
|
|
49
|
+
colors: (string | undefined)[] | null;
|
|
50
|
+
labels: (string | undefined)[] | null;
|
|
51
|
+
/** `z`: bottoms and tops (stacks included), `height`: the heights of the data */
|
|
52
|
+
extent: Record<"z" | "height" | "value", Extent>;
|
|
53
|
+
}
|
|
54
|
+
/** Category axis of the bars: names given by the axis or collected from the data */
|
|
55
|
+
export declare class CategoryIndex {
|
|
56
|
+
readonly names: string[];
|
|
57
|
+
private readonly lookup;
|
|
58
|
+
private readonly fixed;
|
|
59
|
+
constructor(categories: readonly string[] | undefined);
|
|
60
|
+
/** Index of a category name (numbers are indices when the categories are given) */
|
|
61
|
+
index(value: string | number): number;
|
|
62
|
+
}
|
|
63
|
+
/** Bars of every bar series, stacked in series order where cells coincide */
|
|
64
|
+
export declare const barColumns: (series: readonly Bar3DSeries[], xCategories: CategoryIndex, yCategories: CategoryIndex) => BarColumns[];
|
|
65
|
+
export interface AxisModel {
|
|
66
|
+
key: AxisKey;
|
|
67
|
+
title: string;
|
|
68
|
+
/** Category names (category axis) or `null` */
|
|
69
|
+
categories: string[] | null;
|
|
70
|
+
domain: [number, number];
|
|
71
|
+
/** Half extent of the axis in world units */
|
|
72
|
+
half: number;
|
|
73
|
+
ticks: number[];
|
|
74
|
+
labels: string[];
|
|
75
|
+
/** Full label of any value (tooltips) */
|
|
76
|
+
format: (value: number) => string;
|
|
77
|
+
grid: boolean;
|
|
78
|
+
visible: boolean;
|
|
79
|
+
}
|
|
80
|
+
/** World coordinate of a data value */
|
|
81
|
+
export declare const toWorld: (axis: AxisModel, value: number) => number;
|
|
82
|
+
/** Data value of a world coordinate */
|
|
83
|
+
export declare const fromWorld: (axis: AxisModel, world: number) => number;
|
|
84
|
+
export declare const seriesType: (series: Chart3DSeries) => Chart3DSeriesType;
|
|
85
|
+
interface SeriesModelBase {
|
|
86
|
+
index: number;
|
|
87
|
+
id: string;
|
|
88
|
+
name: string;
|
|
89
|
+
hidden: boolean;
|
|
90
|
+
/** Color option (resolved later with the theme) */
|
|
91
|
+
color: string | undefined;
|
|
92
|
+
colorBy: Chart3DColorBy;
|
|
93
|
+
opacity: number;
|
|
94
|
+
format: ((value: number) => string) | undefined;
|
|
95
|
+
}
|
|
96
|
+
export interface ScatterModel extends SeriesModelBase {
|
|
97
|
+
type: "scatter";
|
|
98
|
+
series: Scatter3DSeries;
|
|
99
|
+
cols: PointColumns;
|
|
100
|
+
}
|
|
101
|
+
export interface LineModel extends SeriesModelBase {
|
|
102
|
+
type: "line";
|
|
103
|
+
series: Line3DSeries;
|
|
104
|
+
cols: PointColumns;
|
|
105
|
+
}
|
|
106
|
+
export interface SurfaceModel extends SeriesModelBase {
|
|
107
|
+
type: "surface";
|
|
108
|
+
series: Surface3DSeries;
|
|
109
|
+
grid: SurfaceGrid;
|
|
110
|
+
}
|
|
111
|
+
export interface BarModel extends SeriesModelBase {
|
|
112
|
+
type: "bar";
|
|
113
|
+
series: Bar3DSeries;
|
|
114
|
+
bars: BarColumns;
|
|
115
|
+
}
|
|
116
|
+
export type SeriesModel = ScatterModel | LineModel | SurfaceModel | BarModel;
|
|
117
|
+
export interface Model3D {
|
|
118
|
+
series: SeriesModel[];
|
|
119
|
+
x: AxisModel;
|
|
120
|
+
y: AxisModel;
|
|
121
|
+
z: AxisModel;
|
|
122
|
+
/** Range mapped to the color scale; `null` when no visible series uses it */
|
|
123
|
+
colorDomain: [number, number] | null;
|
|
124
|
+
/** Whether the color domain comes from the heights only (the color bar reuses the z format) */
|
|
125
|
+
colorFromZ: boolean;
|
|
126
|
+
/** Texts and number formats of the `locale` / `labels` options */
|
|
127
|
+
locale: Locale3D;
|
|
128
|
+
}
|
|
129
|
+
/** Half extents of the box: `aspect` scaled so the largest side is 2 */
|
|
130
|
+
export declare const boxHalf: (aspect: readonly [number, number, number] | undefined) => [number, number, number];
|
|
131
|
+
export declare const buildModel: (options: Chart3DOptions, locale?: Locale3D) => Model3D;
|
|
132
|
+
export {};
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
import { ensureSpan as e, linearTicks as t, niceDomain as n, tickStep as r } from "../scale.js";
|
|
2
|
+
import { locale3D as i } from "./labels.js";
|
|
3
|
+
//#region src/engine/three-d/model.ts
|
|
4
|
+
var a = () => ({
|
|
5
|
+
min: Infinity,
|
|
6
|
+
max: -Infinity
|
|
7
|
+
}), o = (e, t = e.length) => {
|
|
8
|
+
let n = Infinity, r = -Infinity;
|
|
9
|
+
for (let i = 0; i < t; i++) {
|
|
10
|
+
let t = e[i];
|
|
11
|
+
t < n && (n = t), t > r && (r = t);
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
min: n,
|
|
15
|
+
max: r
|
|
16
|
+
};
|
|
17
|
+
}, s = (e, t) => {
|
|
18
|
+
t.min < e.min && (e.min = t.min), t.max > e.max && (e.max = t.max);
|
|
19
|
+
}, c = (e) => !Array.isArray(e) && typeof e.x == "object" && e.x !== null, l = /* @__PURE__ */ new WeakMap(), u = (e) => {
|
|
20
|
+
let t = l.get(e);
|
|
21
|
+
if (t) return t;
|
|
22
|
+
let n;
|
|
23
|
+
if (c(e)) n = {
|
|
24
|
+
count: Math.min(e.x.length, e.y.length, e.z.length),
|
|
25
|
+
x: e.x,
|
|
26
|
+
y: e.y,
|
|
27
|
+
z: e.z,
|
|
28
|
+
size: e.size ?? null,
|
|
29
|
+
value: e.value ?? null,
|
|
30
|
+
colors: null,
|
|
31
|
+
rgb: e.color ?? null,
|
|
32
|
+
labels: e.label ?? null
|
|
33
|
+
};
|
|
34
|
+
else {
|
|
35
|
+
let t = e, r = t.length, i = new Float64Array(r), a = new Float64Array(r), o = new Float64Array(r), s = null, c = null, l = null, u = null;
|
|
36
|
+
for (let e = 0; e < r; e++) {
|
|
37
|
+
let n = t[e];
|
|
38
|
+
if (Array.isArray(n)) {
|
|
39
|
+
let t = n;
|
|
40
|
+
i[e] = t[0] ?? NaN, a[e] = t[1] ?? NaN, o[e] = t[2] ?? NaN;
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
let d = n;
|
|
44
|
+
i[e] = d.x, a[e] = d.y, o[e] = d.z, d.size !== void 0 && (s ?? (s = new Float32Array(r).fill(NaN)), s[e] = d.size), d.value !== void 0 && (c ?? (c = new Float64Array(r).fill(NaN)), c[e] = d.value), d.color !== void 0 && (l ?? (l = Array(r)), l[e] = d.color), d.label !== void 0 && (u ?? (u = Array(r)), u[e] = d.label);
|
|
45
|
+
}
|
|
46
|
+
n = {
|
|
47
|
+
count: r,
|
|
48
|
+
x: i,
|
|
49
|
+
y: a,
|
|
50
|
+
z: o,
|
|
51
|
+
size: s,
|
|
52
|
+
value: c,
|
|
53
|
+
colors: l,
|
|
54
|
+
rgb: null,
|
|
55
|
+
labels: u
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
let r = {
|
|
59
|
+
...n,
|
|
60
|
+
extent: {
|
|
61
|
+
x: o(n.x, n.count),
|
|
62
|
+
y: o(n.y, n.count),
|
|
63
|
+
z: o(n.z, n.count),
|
|
64
|
+
value: n.value ? o(n.value, n.count) : a()
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
return l.set(e, r), r;
|
|
68
|
+
}, d = /* @__PURE__ */ new WeakMap(), f = (e) => {
|
|
69
|
+
let t = new Float64Array(e);
|
|
70
|
+
for (let n = 0; n < e; n++) t[n] = n;
|
|
71
|
+
return t;
|
|
72
|
+
}, p = (e) => {
|
|
73
|
+
let t = d.get(e);
|
|
74
|
+
if (t) return t;
|
|
75
|
+
let n = Math.max(0, Math.floor(e.cols)), r = Math.max(0, Math.floor(e.rows)), i = r >= 2 && n >= 2 && e.z.length >= r * n, s = e.x && e.x.length >= n ? e.x : f(n), c = e.y && e.y.length >= r ? e.y : f(r), l = e.value && e.value.length >= r * n ? e.value : null, u = {
|
|
76
|
+
rows: i ? r : 0,
|
|
77
|
+
cols: i ? n : 0,
|
|
78
|
+
z: e.z,
|
|
79
|
+
x: s,
|
|
80
|
+
y: c,
|
|
81
|
+
value: l,
|
|
82
|
+
extent: {
|
|
83
|
+
x: i ? o(s, n) : a(),
|
|
84
|
+
y: i ? o(c, r) : a(),
|
|
85
|
+
z: i ? o(e.z, r * n) : a(),
|
|
86
|
+
value: i && l ? o(l, r * n) : a()
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
return d.set(e, u), u;
|
|
90
|
+
}, m = (e) => Array.isArray(e) ? {
|
|
91
|
+
x: e[0],
|
|
92
|
+
y: e[1],
|
|
93
|
+
z: e[2]
|
|
94
|
+
} : e, h = class {
|
|
95
|
+
constructor(e) {
|
|
96
|
+
this.lookup = /* @__PURE__ */ new Map(), this.names = e ? [...e] : [], this.fixed = !!e, this.names.forEach((e, t) => this.lookup.set(e, t));
|
|
97
|
+
}
|
|
98
|
+
index(e) {
|
|
99
|
+
if (typeof e == "number" && this.fixed) return Number.isInteger(e) && e >= 0 && e < this.names.length ? e : -1;
|
|
100
|
+
let t = String(e), n = this.lookup.get(t);
|
|
101
|
+
return n === void 0 ? this.fixed ? -1 : (this.names.push(t), this.lookup.set(t, this.names.length - 1), this.names.length - 1) : n;
|
|
102
|
+
}
|
|
103
|
+
}, g = (e, t, n) => {
|
|
104
|
+
let r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map();
|
|
105
|
+
return e.map((e) => {
|
|
106
|
+
let o = e.data, c = o.length, l = new Int32Array(c), u = new Int32Array(c), d = new Float64Array(c), f = new Float64Array(c), p = new Float64Array(c), h = new Int32Array(c), g = null, _ = null, v = null, y = a(), b = a(), x = a(), S = 0;
|
|
107
|
+
for (let a = 0; a < c; a++) {
|
|
108
|
+
let C = m(o[a]), w = t.index(C.x), T = n.index(C.y), E = C.z;
|
|
109
|
+
if (w < 0 || T < 0 || E === null || !Number.isFinite(E)) continue;
|
|
110
|
+
let D = T * 1000003 + w, O = E >= 0 ? r : i, k = e.hidden ? 0 : O.get(D) ?? 0;
|
|
111
|
+
e.hidden || O.set(D, k + E), l[S] = w, u[S] = T, d[S] = k, f[S] = k + E, p[S] = E, h[S] = a, C.value !== void 0 && (g ?? (g = new Float64Array(c).fill(NaN)), g[S] = C.value, s(x, {
|
|
112
|
+
min: C.value,
|
|
113
|
+
max: C.value
|
|
114
|
+
})), C.color !== void 0 && (_ ?? (_ = Array(c)), _[S] = C.color), C.label !== void 0 && (v ?? (v = Array(c)), v[S] = C.label), s(y, {
|
|
115
|
+
min: Math.min(k, k + E),
|
|
116
|
+
max: Math.max(k, k + E)
|
|
117
|
+
}), s(b, {
|
|
118
|
+
min: E,
|
|
119
|
+
max: E
|
|
120
|
+
}), S++;
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
count: S,
|
|
124
|
+
xi: l,
|
|
125
|
+
yi: u,
|
|
126
|
+
z0: d,
|
|
127
|
+
z1: f,
|
|
128
|
+
z: p,
|
|
129
|
+
source: h,
|
|
130
|
+
value: g,
|
|
131
|
+
colors: _,
|
|
132
|
+
labels: v,
|
|
133
|
+
extent: {
|
|
134
|
+
z: y,
|
|
135
|
+
height: b,
|
|
136
|
+
value: x
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
});
|
|
140
|
+
}, _ = (e, t) => {
|
|
141
|
+
let [n, r] = e.domain;
|
|
142
|
+
return ((t - n) / (r - n || 1) * 2 - 1) * e.half;
|
|
143
|
+
}, v = (i, a, o, s, c, l, u) => {
|
|
144
|
+
let d = a ?? {}, f = Math.max(2, d.tickCount ?? 5);
|
|
145
|
+
if (c) {
|
|
146
|
+
let e = Math.max(1, c.length), t = (e) => {
|
|
147
|
+
let t = Math.round(e);
|
|
148
|
+
return d.format ? d.format(t) : c[t] ?? String(t);
|
|
149
|
+
}, n = Array.from({ length: c.length }, (e, t) => t);
|
|
150
|
+
return {
|
|
151
|
+
key: i,
|
|
152
|
+
title: d.title ?? "",
|
|
153
|
+
categories: c,
|
|
154
|
+
domain: [-.5, e - .5],
|
|
155
|
+
half: s,
|
|
156
|
+
ticks: n,
|
|
157
|
+
labels: n.map(t),
|
|
158
|
+
format: t,
|
|
159
|
+
grid: d.grid ?? !0,
|
|
160
|
+
visible: d.visible ?? !0
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
let p = d.min ?? o.min, m = d.max ?? o.max;
|
|
164
|
+
if (l && d.min === void 0 && p > 0 && (p = 0), l && d.max === void 0 && m < 0 && (m = 0), [p, m] = e(p, m), d.nice ?? !0) {
|
|
165
|
+
let [e, t] = n(p, m, f);
|
|
166
|
+
d.min === void 0 && (p = e), d.max === void 0 && (m = t);
|
|
167
|
+
}
|
|
168
|
+
let h = t(p, m, f), g = r(p, m, f), _ = d.format ?? u.ticks(g, Math.max(Math.abs(p), Math.abs(m)));
|
|
169
|
+
return {
|
|
170
|
+
key: i,
|
|
171
|
+
title: d.title ?? "",
|
|
172
|
+
categories: null,
|
|
173
|
+
domain: [p, m],
|
|
174
|
+
half: s,
|
|
175
|
+
ticks: h,
|
|
176
|
+
labels: h.map(_),
|
|
177
|
+
format: d.format ?? u.value,
|
|
178
|
+
grid: d.grid ?? !0,
|
|
179
|
+
visible: d.visible ?? !0
|
|
180
|
+
};
|
|
181
|
+
}, y = (e) => e.type ?? "scatter", b = (e, t) => e === void 0 || !Number.isFinite(e) ? t : Math.max(0, Math.min(1, e)), x = (e) => {
|
|
182
|
+
let t = (e ?? [
|
|
183
|
+
1,
|
|
184
|
+
1,
|
|
185
|
+
.7
|
|
186
|
+
]).map((e) => Number.isFinite(e) && e > 0 ? e : 1), n = Math.max(t[0], t[1], t[2]);
|
|
187
|
+
return [
|
|
188
|
+
t[0] / n,
|
|
189
|
+
t[1] / n,
|
|
190
|
+
t[2] / n
|
|
191
|
+
];
|
|
192
|
+
}, S = (t, n = i(t.locale, t.labels)) => {
|
|
193
|
+
let r = x(t.aspect), o = {
|
|
194
|
+
x: a(),
|
|
195
|
+
y: a(),
|
|
196
|
+
z: a()
|
|
197
|
+
}, c = t.series.filter((e) => y(e) === "bar"), l = c.length || t.xAxis?.categories ? new h(t.xAxis?.categories) : null, d = c.length || t.yAxis?.categories ? new h(t.yAxis?.categories) : null, f = l && d ? g(c, l, d) : [], m = 0, _ = t.series.map((e, t) => {
|
|
198
|
+
let n = y(e), r = {
|
|
199
|
+
index: t,
|
|
200
|
+
id: e.id ?? String(t),
|
|
201
|
+
name: e.name ?? "",
|
|
202
|
+
hidden: !!e.hidden,
|
|
203
|
+
color: e.color,
|
|
204
|
+
format: e.format
|
|
205
|
+
};
|
|
206
|
+
switch (n) {
|
|
207
|
+
case "surface": {
|
|
208
|
+
let t = e, i = p(t.data);
|
|
209
|
+
return s(o.x, i.extent.x), s(o.y, i.extent.y), s(o.z, i.extent.z), {
|
|
210
|
+
...r,
|
|
211
|
+
type: n,
|
|
212
|
+
series: t,
|
|
213
|
+
grid: i,
|
|
214
|
+
colorBy: t.colorBy ?? (i.value ? "value" : "z"),
|
|
215
|
+
opacity: b(t.opacity, 1)
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
case "bar": {
|
|
219
|
+
let t = e, i = f[m++];
|
|
220
|
+
return s(o.z, i.extent.z), {
|
|
221
|
+
...r,
|
|
222
|
+
type: n,
|
|
223
|
+
series: t,
|
|
224
|
+
bars: i,
|
|
225
|
+
colorBy: t.colorBy ?? "series",
|
|
226
|
+
opacity: b(t.opacity, 1)
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
default: {
|
|
230
|
+
let t = e, i = u(t.data);
|
|
231
|
+
s(o.x, i.extent.x), s(o.y, i.extent.y), s(o.z, i.extent.z);
|
|
232
|
+
let a = {
|
|
233
|
+
...r,
|
|
234
|
+
cols: i,
|
|
235
|
+
colorBy: t.colorBy ?? (i.value ? "value" : "series"),
|
|
236
|
+
opacity: b(t.opacity, 1)
|
|
237
|
+
};
|
|
238
|
+
return n === "line" ? {
|
|
239
|
+
...a,
|
|
240
|
+
type: "line",
|
|
241
|
+
series: t
|
|
242
|
+
} : {
|
|
243
|
+
...a,
|
|
244
|
+
type: "scatter",
|
|
245
|
+
series: t
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
}), S = v("x", t.xAxis, o.x, r[0], l ? l.names : null, !1, n), C = v("y", t.yAxis, o.y, r[1], d ? d.names : null, !1, n), w = v("z", t.zAxis, o.z, r[2], null, c.length > 0, n), T = a(), E = !0, D = !1;
|
|
250
|
+
for (let e of _) {
|
|
251
|
+
if (e.hidden || e.colorBy === "series") continue;
|
|
252
|
+
D = !0;
|
|
253
|
+
let t = e.colorBy === "value";
|
|
254
|
+
if (e.type === "surface") {
|
|
255
|
+
let n = t && e.grid.value ? e.grid.extent.value : e.grid.extent.z;
|
|
256
|
+
t && e.grid.value && (E = !1), s(T, n);
|
|
257
|
+
} else if (e.type === "bar") {
|
|
258
|
+
let n = t && e.bars.value ? e.bars.extent.value : e.bars.extent.height;
|
|
259
|
+
t && e.bars.value && (E = !1), s(T, n);
|
|
260
|
+
} else {
|
|
261
|
+
let n = t && e.cols.value ? e.cols.extent.value : e.cols.extent.z;
|
|
262
|
+
t && e.cols.value && (E = !1), s(T, n);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
let O = null;
|
|
266
|
+
return D && (O = t.valueRange ? [t.valueRange[0], t.valueRange[1]] : e(T.min, T.max)), {
|
|
267
|
+
series: _,
|
|
268
|
+
x: S,
|
|
269
|
+
y: C,
|
|
270
|
+
z: w,
|
|
271
|
+
colorDomain: O,
|
|
272
|
+
colorFromZ: E,
|
|
273
|
+
locale: n
|
|
274
|
+
};
|
|
275
|
+
};
|
|
276
|
+
//#endregion
|
|
277
|
+
export { h as CategoryIndex, g as barColumns, x as boxHalf, S as buildModel, u as pointColumns, y as seriesType, p as surfaceGrid, _ as toWorld };
|
|
278
|
+
|
|
279
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","names":["emptyExtent","extentOf","values","min","max","count","v","merge","other","target","isColumns","data","pointCache","pointColumns","cached","columns","list","x","y","z","size","value","colors","labels","i","item","tuple","point","result","gridCache","indices","out","surfaceGrid","cols","rows","valid","grid","barDatum","CategoryIndex","categories","name","found","barColumns","positive","negative","series","s","n","xi","yi","z0","z1","source","zExtent","heightExtent","valueExtent","d","cx","xCategories","cy","yCategories","h","key","stack","base","toWorld","axis","buildAxis","o","options","ticks","extent","includeZero","ensureSpan","nMin","nMax","niceDomain","linearTicks","step","tickStep","tick","locale","seriesType","clamp01","fallback","boxHalf","safe","aspect","largest","buildModel","locale3D","half","barSeries","bars","barIndex","models","type","index","common","color","colorFromZ","usesScale","m","byValue","e","colorDomain"],"sources":["../../../../../charts/src/engine/three-d/model.ts"],"sourcesContent":["// Options -> model: data columns (cached per data object), axis domains,\n// ticks and the world mapping of the 3D charts. The box spans\n// [-half, half] on every axis; the largest side is 2 world units.\n\nimport { ensureSpan, linearTicks, niceDomain, tickStep } from \"../scale\";\nimport { locale3D, type Locale3D } from \"./labels\";\nimport type {\n Bar3DDatum,\n Bar3DSeries,\n Chart3DAxisOptions,\n Chart3DColorBy,\n Chart3DColumnData,\n Chart3DOptions,\n Chart3DPoint,\n Chart3DPointData,\n Chart3DSeries,\n Chart3DSeriesType,\n Line3DSeries,\n Scatter3DSeries,\n Surface3DData,\n Surface3DSeries,\n} from \"./types\";\n\nexport type AxisKey = \"x\" | \"y\" | \"z\";\n\nexport interface Extent {\n min: number;\n max: number;\n}\n\nconst emptyExtent = (): Extent => ({ min: Infinity, max: -Infinity });\n\nconst extentOf = (values: ArrayLike<number>, count = values.length) => {\n let min = Infinity;\n let max = -Infinity;\n for (let i = 0; i < count; i++) {\n const v = values[i];\n if (v < min) min = v;\n if (v > max) max = v;\n }\n return { min, max };\n};\n\nconst merge = (target: Extent, other: Extent) => {\n if (other.min < target.min) target.min = other.min;\n if (other.max > target.max) target.max = other.max;\n};\n\n// ------------------------------------------------------------------ points\n\n/** Columns of a scatter / line series */\nexport interface PointColumns {\n count: number;\n x: ArrayLike<number>;\n y: ArrayLike<number>;\n z: ArrayLike<number>;\n size: ArrayLike<number> | null;\n value: ArrayLike<number> | null;\n colors: readonly (string | undefined)[] | null;\n /** Per-point `0xRRGGBB` colors (column data) */\n rgb: ArrayLike<number> | null;\n labels: readonly (string | undefined)[] | null;\n extent: Record<AxisKey | \"value\", Extent>;\n}\n\nconst isColumns = (data: Chart3DPointData): data is Chart3DColumnData =>\n !Array.isArray(data) &&\n typeof (data as Chart3DColumnData).x === \"object\" &&\n (data as Chart3DColumnData).x !== null;\n\nconst pointCache = new WeakMap<object, PointColumns>();\n\n/** Columns of points written as objects, tuples or columns (cached per data object) */\nexport const pointColumns = (data: Chart3DPointData): PointColumns => {\n const cached = pointCache.get(data);\n if (cached) return cached;\n let columns: Omit<PointColumns, \"extent\">;\n if (isColumns(data)) {\n const count = Math.min(data.x.length, data.y.length, data.z.length);\n columns = {\n count,\n x: data.x,\n y: data.y,\n z: data.z,\n size: data.size ?? null,\n value: data.value ?? null,\n colors: null,\n rgb: data.color ?? null,\n labels: data.label ?? null,\n };\n } else {\n const list = data as readonly (\n Chart3DPoint | readonly [number, number, number]\n )[];\n const count = list.length;\n const x = new Float64Array(count);\n const y = new Float64Array(count);\n const z = new Float64Array(count);\n let size: Float32Array | null = null;\n let value: Float64Array | null = null;\n let colors: (string | undefined)[] | null = null;\n let labels: (string | undefined)[] | null = null;\n for (let i = 0; i < count; i++) {\n const item = list[i];\n if (Array.isArray(item)) {\n const tuple = item as readonly [number, number, number];\n x[i] = tuple[0] ?? NaN;\n y[i] = tuple[1] ?? NaN;\n z[i] = tuple[2] ?? NaN;\n continue;\n }\n const point = item as Chart3DPoint;\n x[i] = point.x;\n y[i] = point.y;\n z[i] = point.z;\n if (point.size !== undefined) {\n size ??= new Float32Array(count).fill(NaN);\n size[i] = point.size;\n }\n if (point.value !== undefined) {\n value ??= new Float64Array(count).fill(NaN);\n value[i] = point.value;\n }\n if (point.color !== undefined) {\n colors ??= new Array<string | undefined>(count);\n colors[i] = point.color;\n }\n if (point.label !== undefined) {\n labels ??= new Array<string | undefined>(count);\n labels[i] = point.label;\n }\n }\n columns = { count, x, y, z, size, value, colors, rgb: null, labels };\n }\n const result: PointColumns = {\n ...columns,\n extent: {\n x: extentOf(columns.x, columns.count),\n y: extentOf(columns.y, columns.count),\n z: extentOf(columns.z, columns.count),\n value: columns.value\n ? extentOf(columns.value, columns.count)\n : emptyExtent(),\n },\n };\n pointCache.set(data, result);\n return result;\n};\n\n// ----------------------------------------------------------------- surface\n\n/** A surface grid with its coordinates */\nexport interface SurfaceGrid {\n rows: number;\n cols: number;\n z: ArrayLike<number>;\n x: ArrayLike<number>;\n y: ArrayLike<number>;\n value: ArrayLike<number> | null;\n extent: Record<AxisKey | \"value\", Extent>;\n}\n\nconst gridCache = new WeakMap<object, SurfaceGrid>();\n\nconst indices = (count: number) => {\n const out = new Float64Array(count);\n for (let i = 0; i < count; i++) out[i] = i;\n return out;\n};\n\nexport const surfaceGrid = (data: Surface3DData): SurfaceGrid => {\n const cached = gridCache.get(data);\n if (cached) return cached;\n const cols = Math.max(0, Math.floor(data.cols));\n const rows = Math.max(0, Math.floor(data.rows));\n const valid = rows >= 2 && cols >= 2 && data.z.length >= rows * cols;\n const x = data.x && data.x.length >= cols ? data.x : indices(cols);\n const y = data.y && data.y.length >= rows ? data.y : indices(rows);\n const value =\n data.value && data.value.length >= rows * cols ? data.value : null;\n const grid: SurfaceGrid = {\n rows: valid ? rows : 0,\n cols: valid ? cols : 0,\n z: data.z,\n x,\n y,\n value,\n extent: {\n x: valid ? extentOf(x, cols) : emptyExtent(),\n y: valid ? extentOf(y, rows) : emptyExtent(),\n z: valid ? extentOf(data.z, rows * cols) : emptyExtent(),\n value: valid && value ? extentOf(value, rows * cols) : emptyExtent(),\n },\n };\n gridCache.set(data, grid);\n return grid;\n};\n\n// -------------------------------------------------------------------- bars\n\n/** Bars of a series resolved to category indices */\nexport interface BarColumns {\n count: number;\n /** Category index on x / y */\n xi: Int32Array;\n yi: Int32Array;\n /** Bottom and top of every bar (stacked on the series before) */\n z0: Float64Array;\n z1: Float64Array;\n /** Height of the datum itself */\n z: Float64Array;\n /** Index of the datum in the series data */\n source: Int32Array;\n value: Float64Array | null;\n colors: (string | undefined)[] | null;\n labels: (string | undefined)[] | null;\n /** `z`: bottoms and tops (stacks included), `height`: the heights of the data */\n extent: Record<\"z\" | \"height\" | \"value\", Extent>;\n}\n\ntype BarInput = Bar3DSeries[\"data\"][number];\n\nconst barDatum = (item: BarInput): Bar3DDatum =>\n Array.isArray(item)\n ? {\n x: (\n item as readonly [string | number, string | number, number | null]\n )[0],\n y: (\n item as readonly [string | number, string | number, number | null]\n )[1],\n z: (\n item as readonly [string | number, string | number, number | null]\n )[2],\n }\n : (item as Bar3DDatum);\n\n/** Category axis of the bars: names given by the axis or collected from the data */\nexport class CategoryIndex {\n readonly names: string[];\n private readonly lookup = new Map<string, number>();\n private readonly fixed: boolean;\n\n constructor(categories: readonly string[] | undefined) {\n this.names = categories ? [...categories] : [];\n this.fixed = !!categories;\n this.names.forEach((name, i) => this.lookup.set(name, i));\n }\n\n /** Index of a category name (numbers are indices when the categories are given) */\n index(value: string | number): number {\n if (typeof value === \"number\" && this.fixed) {\n return Number.isInteger(value) && value >= 0 && value < this.names.length\n ? value\n : -1;\n }\n const name = String(value);\n const found = this.lookup.get(name);\n if (found !== undefined) return found;\n if (this.fixed) return -1;\n this.names.push(name);\n this.lookup.set(name, this.names.length - 1);\n return this.names.length - 1;\n }\n}\n\n/** Bars of every bar series, stacked in series order where cells coincide */\nexport const barColumns = (\n series: readonly Bar3DSeries[],\n xCategories: CategoryIndex,\n yCategories: CategoryIndex,\n): BarColumns[] => {\n const positive = new Map<number, number>();\n const negative = new Map<number, number>();\n return series.map((s) => {\n const data = s.data as readonly BarInput[];\n const n = data.length;\n const xi = new Int32Array(n);\n const yi = new Int32Array(n);\n const z0 = new Float64Array(n);\n const z1 = new Float64Array(n);\n const z = new Float64Array(n);\n const source = new Int32Array(n);\n let value: Float64Array | null = null;\n let colors: (string | undefined)[] | null = null;\n let labels: (string | undefined)[] | null = null;\n const zExtent = emptyExtent();\n const heightExtent = emptyExtent();\n const valueExtent = emptyExtent();\n let count = 0;\n for (let i = 0; i < n; i++) {\n const d = barDatum(data[i]);\n const cx = xCategories.index(d.x);\n const cy = yCategories.index(d.y);\n const h = d.z;\n if (cx < 0 || cy < 0 || h === null || !Number.isFinite(h)) continue;\n const key = cy * 1_000_003 + cx;\n const stack = h >= 0 ? positive : negative;\n const base = s.hidden ? 0 : (stack.get(key) ?? 0);\n if (!s.hidden) stack.set(key, base + h);\n xi[count] = cx;\n yi[count] = cy;\n z0[count] = base;\n z1[count] = base + h;\n z[count] = h;\n source[count] = i;\n if (d.value !== undefined) {\n value ??= new Float64Array(n).fill(NaN);\n value[count] = d.value;\n merge(valueExtent, { min: d.value, max: d.value });\n }\n if (d.color !== undefined) {\n colors ??= new Array<string | undefined>(n);\n colors[count] = d.color;\n }\n if (d.label !== undefined) {\n labels ??= new Array<string | undefined>(n);\n labels[count] = d.label;\n }\n merge(zExtent, {\n min: Math.min(base, base + h),\n max: Math.max(base, base + h),\n });\n merge(heightExtent, { min: h, max: h });\n count++;\n }\n return {\n count,\n xi,\n yi,\n z0,\n z1,\n z,\n source,\n value,\n colors,\n labels,\n extent: { z: zExtent, height: heightExtent, value: valueExtent },\n };\n });\n};\n\n// -------------------------------------------------------------------- axes\n\nexport interface AxisModel {\n key: AxisKey;\n title: string;\n /** Category names (category axis) or `null` */\n categories: string[] | null;\n domain: [number, number];\n /** Half extent of the axis in world units */\n half: number;\n ticks: number[];\n labels: string[];\n /** Full label of any value (tooltips) */\n format: (value: number) => string;\n grid: boolean;\n visible: boolean;\n}\n\n/** World coordinate of a data value */\nexport const toWorld = (axis: AxisModel, value: number): number => {\n const [min, max] = axis.domain;\n return (((value - min) / (max - min || 1)) * 2 - 1) * axis.half;\n};\n\n/** Data value of a world coordinate */\nexport const fromWorld = (axis: AxisModel, world: number): number => {\n const [min, max] = axis.domain;\n return min + ((world / axis.half + 1) / 2) * (max - min);\n};\n\nconst buildAxis = (\n key: AxisKey,\n options: Chart3DAxisOptions | undefined,\n extent: Extent,\n half: number,\n categories: string[] | null,\n includeZero: boolean,\n locale: Locale3D,\n): AxisModel => {\n const o = options ?? {};\n const count = Math.max(2, o.tickCount ?? 5);\n if (categories) {\n const n = Math.max(1, categories.length);\n const name = (v: number) => {\n const i = Math.round(v);\n return o.format ? o.format(i) : (categories[i] ?? String(i));\n };\n const ticks = Array.from({ length: categories.length }, (_, i) => i);\n return {\n key,\n title: o.title ?? \"\",\n categories,\n domain: [-0.5, n - 0.5],\n half,\n ticks,\n labels: ticks.map(name),\n format: name,\n grid: o.grid ?? true,\n visible: o.visible ?? true,\n };\n }\n let min = o.min ?? extent.min;\n let max = o.max ?? extent.max;\n if (includeZero && o.min === undefined && min > 0) min = 0;\n if (includeZero && o.max === undefined && max < 0) max = 0;\n [min, max] = ensureSpan(min, max);\n if (o.nice ?? true) {\n const [nMin, nMax] = niceDomain(min, max, count);\n if (o.min === undefined) min = nMin;\n if (o.max === undefined) max = nMax;\n }\n const ticks = linearTicks(min, max, count);\n const step = tickStep(min, max, count);\n const tick =\n o.format ?? locale.ticks(step, Math.max(Math.abs(min), Math.abs(max)));\n return {\n key,\n title: o.title ?? \"\",\n categories: null,\n domain: [min, max],\n half,\n ticks,\n labels: ticks.map(tick),\n format: o.format ?? locale.value,\n grid: o.grid ?? true,\n visible: o.visible ?? true,\n };\n};\n\n// ------------------------------------------------------------------ series\n\nexport const seriesType = (series: Chart3DSeries): Chart3DSeriesType =>\n series.type ?? \"scatter\";\n\ninterface SeriesModelBase {\n index: number;\n id: string;\n name: string;\n hidden: boolean;\n /** Color option (resolved later with the theme) */\n color: string | undefined;\n colorBy: Chart3DColorBy;\n opacity: number;\n format: ((value: number) => string) | undefined;\n}\n\nexport interface ScatterModel extends SeriesModelBase {\n type: \"scatter\";\n series: Scatter3DSeries;\n cols: PointColumns;\n}\n\nexport interface LineModel extends SeriesModelBase {\n type: \"line\";\n series: Line3DSeries;\n cols: PointColumns;\n}\n\nexport interface SurfaceModel extends SeriesModelBase {\n type: \"surface\";\n series: Surface3DSeries;\n grid: SurfaceGrid;\n}\n\nexport interface BarModel extends SeriesModelBase {\n type: \"bar\";\n series: Bar3DSeries;\n bars: BarColumns;\n}\n\nexport type SeriesModel = ScatterModel | LineModel | SurfaceModel | BarModel;\n\nexport interface Model3D {\n series: SeriesModel[];\n x: AxisModel;\n y: AxisModel;\n z: AxisModel;\n /** Range mapped to the color scale; `null` when no visible series uses it */\n colorDomain: [number, number] | null;\n /** Whether the color domain comes from the heights only (the color bar reuses the z format) */\n colorFromZ: boolean;\n /** Texts and number formats of the `locale` / `labels` options */\n locale: Locale3D;\n}\n\nconst clamp01 = (v: number | undefined, fallback: number) =>\n v === undefined || !Number.isFinite(v)\n ? fallback\n : Math.max(0, Math.min(1, v));\n\n/** Half extents of the box: `aspect` scaled so the largest side is 2 */\nexport const boxHalf = (\n aspect: readonly [number, number, number] | undefined,\n): [number, number, number] => {\n const a = aspect ?? [1, 1, 0.7];\n const safe = a.map((v) => (Number.isFinite(v) && v > 0 ? v : 1)) as [\n number,\n number,\n number,\n ];\n const largest = Math.max(safe[0], safe[1], safe[2]);\n return [safe[0] / largest, safe[1] / largest, safe[2] / largest];\n};\n\nexport const buildModel = (\n options: Chart3DOptions,\n locale: Locale3D = locale3D(options.locale, options.labels),\n): Model3D => {\n const half = boxHalf(options.aspect);\n const extent = { x: emptyExtent(), y: emptyExtent(), z: emptyExtent() };\n const barSeries = options.series.filter((s) => seriesType(s) === \"bar\");\n const xCategories =\n barSeries.length || options.xAxis?.categories\n ? new CategoryIndex(options.xAxis?.categories)\n : null;\n const yCategories =\n barSeries.length || options.yAxis?.categories\n ? new CategoryIndex(options.yAxis?.categories)\n : null;\n const bars =\n xCategories && yCategories\n ? barColumns(barSeries as Bar3DSeries[], xCategories, yCategories)\n : [];\n let barIndex = 0;\n\n const models: SeriesModel[] = options.series.map((series, index) => {\n const type = seriesType(series);\n const base = {\n index,\n id: series.id ?? String(index),\n name: series.name ?? \"\",\n hidden: !!series.hidden,\n color: series.color,\n format: series.format,\n };\n switch (type) {\n case \"surface\": {\n const s = series as Surface3DSeries;\n const grid = surfaceGrid(s.data);\n merge(extent.x, grid.extent.x);\n merge(extent.y, grid.extent.y);\n merge(extent.z, grid.extent.z);\n return {\n ...base,\n type,\n series: s,\n grid,\n colorBy: s.colorBy ?? (grid.value ? \"value\" : \"z\"),\n opacity: clamp01(s.opacity, 1),\n };\n }\n case \"bar\": {\n const s = series as Bar3DSeries;\n const columns = bars[barIndex++]!;\n merge(extent.z, columns.extent.z);\n return {\n ...base,\n type,\n series: s,\n bars: columns,\n colorBy: s.colorBy ?? \"series\",\n opacity: clamp01(s.opacity, 1),\n };\n }\n default: {\n const s = series as Scatter3DSeries | Line3DSeries;\n const cols = pointColumns(s.data);\n merge(extent.x, cols.extent.x);\n merge(extent.y, cols.extent.y);\n merge(extent.z, cols.extent.z);\n const common = {\n ...base,\n cols,\n colorBy: s.colorBy ?? (cols.value ? \"value\" : \"series\"),\n opacity: clamp01(s.opacity, 1),\n } as const;\n return type === \"line\"\n ? { ...common, type: \"line\", series: s as Line3DSeries }\n : { ...common, type: \"scatter\", series: s as Scatter3DSeries };\n }\n }\n });\n\n const x = buildAxis(\n \"x\",\n options.xAxis,\n extent.x,\n half[0],\n xCategories ? xCategories.names : null,\n false,\n locale,\n );\n const y = buildAxis(\n \"y\",\n options.yAxis,\n extent.y,\n half[1],\n yCategories ? yCategories.names : null,\n false,\n locale,\n );\n const z = buildAxis(\n \"z\",\n options.zAxis,\n extent.z,\n half[2],\n null,\n barSeries.length > 0,\n locale,\n );\n\n // color domain: the colored quantity of every visible series using the scale\n const color = emptyExtent();\n let colorFromZ = true;\n let usesScale = false;\n for (const m of models) {\n if (m.hidden || m.colorBy === \"series\") continue;\n usesScale = true;\n const byValue = m.colorBy === \"value\";\n if (m.type === \"surface\") {\n const e = byValue && m.grid.value ? m.grid.extent.value : m.grid.extent.z;\n if (byValue && m.grid.value) colorFromZ = false;\n merge(color, e);\n } else if (m.type === \"bar\") {\n const e =\n byValue && m.bars.value ? m.bars.extent.value : m.bars.extent.height;\n if (byValue && m.bars.value) colorFromZ = false;\n merge(color, e);\n } else {\n const e = byValue && m.cols.value ? m.cols.extent.value : m.cols.extent.z;\n if (byValue && m.cols.value) colorFromZ = false;\n merge(color, e);\n }\n }\n let colorDomain: [number, number] | null = null;\n if (usesScale) {\n colorDomain = options.valueRange\n ? [options.valueRange[0], options.valueRange[1]]\n : ensureSpan(color.min, color.max);\n }\n return { series: models, x, y, z, colorDomain, colorFromZ, locale };\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("../color.cjs"),t=require("../scale.cjs"),n=require("./model.cjs"),r=require("./math.cjs");var i=(t,n)=>({text:e.toCss(t.text),muted:e.toCss(t.textMuted),grid:e.toCss(t.grid),axis:e.toCss(t.axis),wall:e.toCss(t.text,n?.045:.025),background:e.toCss(t.background),font:t.fontFamily,fontSize:t.fontSize}),a=[`x`,`y`,`z`],o=e=>{if(e.categories){let t=[];for(let r=0;r<e.categories.length-1;r++)t.push(n.toWorld(e,r+.5));return t}return e.ticks.filter(t=>t>e.domain[0]&&t<e.domain[1]).map(t=>n.toWorld(e,t))},s=e=>[e.eye[0]>=0?-1:1,e.eye[1]>=0?-1:1,e.eye[2]>=0?-1:1],c=e=>[e.x.half,e.y.half,e.z.half],l=(e,t,n)=>{let r=[n[0],n[1],n[2]];return r[e]=t,r},u=(e,t,n,i)=>{let u=c(n),d=s(t),f=e=>r.project(t,e[0],e[1],e[2]);e.lineWidth=1;for(let t=0;t<3;t++){let r=(t+1)%3,s=(t+2)%3,c=[0,0,0];c[t]=d[t]*u[t];let p=(e,t)=>{let n=[c[0],c[1],c[2]];return n[r]=e*u[r],n[s]=t*u[s],f(n)},m=[p(-1,-1),p(1,-1),p(1,1),p(-1,1)];e.beginPath(),m.forEach((t,n)=>n?e.lineTo(t.x,t.y):e.moveTo(t.x,t.y)),e.closePath(),e.fillStyle=i.wall,e.fill(),e.beginPath();for(let[t,i]of[[r,s],[s,r]]){let r=n[a[t]];if(r.grid)for(let n of o(r)){let r=l(t,n,c),a=l(t,n,c);r[i]=-u[i],a[i]=u[i];let o=f(r),s=f(a);e.moveTo(o.x,o.y),e.lineTo(s.x,s.y)}}e.strokeStyle=i.grid,e.stroke(),e.beginPath(),m.forEach((t,n)=>n?e.lineTo(t.x,t.y):e.moveTo(t.x,t.y)),e.closePath(),e.strokeStyle=i.axis,e.stroke()}},d=(e,t,n=2)=>e.x<t.x+t.w+n&&t.x<e.x+e.w+n&&e.y<t.y+t.h+n&&t.y<e.y+e.h+n,f=10,p=(e,t,n)=>{let i=c(t),a=e.eye;if(n===0)return[0,(a[1]>=0?1:-1)*i[1],-i[2]];if(n===1)return[(a[0]>=0?1:-1)*i[0],0,-i[2]];let o=[-i[0],-i[1],0],s=1/0;for(let t of[-1,1])for(let n of[-1,1]){let a=r.project(e,t*i[0],n*i[1],0);a.x<s&&(s=a.x,o=[t*i[0],n*i[1],0])}return o},m=(e,t,i,o,s={left:0,top:0,right:t.width,bottom:t.height})=>{let c=r.project(t,0,0,0),u=[],m=o.fontSize,h=`${m}px ${o.font}`,g=`600 ${m+1}px ${o.font}`;for(let _=0;_<3;_++){let v=i[a[_]];if(!v.visible)continue;let y=p(t,i,_),b=r.project(t,...l(_,-v.half,y)),x=r.project(t,...l(_,v.half,y)),S=x.x-b.x,C=x.y-b.y,w=Math.hypot(S,C);if(w<24)continue;S/=w,C/=w;let T=-C,E=S,D=(b.x+x.x)/2,O=(b.y+x.y)/2;T*(D-c.x)+E*(O-c.y)<0&&(T=-T,E=-E),_===2&&(T=D<c.x?-1:1,E=0);let k=T>.35?`left`:T<-.35?`right`:`center`,A=E>.35?`top`:E<-.35?`bottom`:`middle`;e.font=h,e.textAlign=k,e.textBaseline=A;let j=v.ticks.map((i,a)=>{let o=r.project(t,...l(_,n.toWorld(v,i),y)),s=v.labels[a]??``,c=e.measureText(s).width,u=o.x+T*8,d=o.y+E*8;return{tick:o,text:s,x:u,y:d,rect:{x:k===`left`?u:k===`right`?u-c:u-c/2,y:A===`top`?d:A===`bottom`?d-m:d-m/2,w:c,h:m}}}),M=1;for(;M<j.length;M++){let e=j.filter((e,t)=>t%M===0);if(e.every((t,n)=>!e.slice(0,n).some(e=>d(t.rect,e.rect))))break}let N=0;if(e.beginPath(),j.forEach((t,n)=>{n%M||u.some(e=>d(t.rect,e,f))||(u.push(t.rect),e.moveTo(t.tick.x,t.tick.y),e.lineTo(t.tick.x+T*4,t.tick.y+E*4),N=Math.max(N,Math.abs(T)*t.rect.w+Math.abs(E)*t.rect.h))}),e.strokeStyle=o.axis,e.lineWidth=1,e.stroke(),e.fillStyle=o.muted,j.forEach((t,n)=>{n%M||!u.includes(t.rect)||e.fillText(t.text,t.x,t.y)}),!v.title)continue;let P=8+N+10,F=D+T*P,I=O+E*P;e.font=g,e.fillStyle=o.text;let L=e.measureText(v.title).width,R=m+1;if(_===2)F=Math.max(s.left+R,Math.min(s.right-R,F)),I=Math.max(s.top+L/2,Math.min(s.bottom-L/2,I)),e.save(),e.translate(F,I),e.rotate(-Math.PI/2),e.textAlign=`center`,e.textBaseline=T<0?`bottom`:`top`,e.fillText(v.title,0,0),e.restore();else{let t=(e,t)=>({x:k===`left`?e:k===`right`?e-L:e-L/2,y:A===`top`?t:A===`bottom`?t-R:t-R/2,w:L,h:R});for(let e=0;e<12&&u.some(e=>d(t(F,I),e));e++)F+=T*3,I+=E*3;let{x:n,y:r}=t(F,I);F+=Math.max(0,s.left-n)-Math.max(0,n+L-s.right),I+=Math.max(0,s.top-r)-Math.max(0,r+R-s.bottom),u.push(t(F,I)),e.textAlign=k,e.textBaseline=A,e.fillText(v.title,F,I)}}},h=(n,r,i,a,o,s,c,l=1/0)=>{let u=n.createLinearGradient(0,r.y+r.h,0,r.y);for(let t=0;t<=24;t++){let n=i.rgba[Math.round(t/24*(i.rgba.length-1))];n&&u.addColorStop(t/24,e.toCss(n))}n.fillStyle=u,n.beginPath(),typeof n.roundRect==`function`?n.roundRect(r.x,r.y,r.w,r.h,3):n.rect(r.x,r.y,r.w,r.h),n.fill(),n.strokeStyle=c.axis,n.lineWidth=1,n.stroke();let[d,f]=a,p=f-d||1;n.font=`${c.fontSize}px ${c.font}`,n.fillStyle=c.muted,n.textAlign=`left`,n.textBaseline=`middle`;let m=t.linearTicks(d,f,Math.max(2,Math.round(r.h/40)));n.beginPath();for(let e of m){let t=r.y+r.h-(e-d)/p*r.h;t<r.y-.5||t>r.y+r.h+.5||(n.moveTo(r.x+r.w,t),n.lineTo(r.x+r.w+4,t),n.fillText(o(e),r.x+r.w+7,t))}if(n.strokeStyle=c.axis,n.stroke(),s){n.font=`600 ${c.fontSize}px ${c.font}`,n.fillStyle=c.text,n.textAlign=`left`,n.textBaseline=`bottom`;let e=n.measureText(s).width;n.fillText(s,Math.max(4,Math.min(r.x,l-4-e)),r.y-8)}},g=(e,t,n,i,a)=>{if(e.save(),i.kind===`point`)e.beginPath(),e.arc(i.x,i.y,i.radius+3,0,Math.PI*2),e.lineWidth=3,e.strokeStyle=a.background,e.stroke(),e.lineWidth=1.5,e.strokeStyle=a.text,e.stroke();else if(i.kind===`box`){let{min:n,max:o}=i,s=e=>r.project(t,e&1?o[0]:n[0],e&2?o[1]:n[1],e&4?o[2]:n[2]),c=Array.from({length:8},(e,t)=>s(t));e.beginPath();for(let t=0;t<8;t++)for(let n of[1,2,4]){if(t&n)continue;let r=c[t],i=c[t|n];e.moveTo(r.x,r.y),e.lineTo(i.x,i.y)}e.lineJoin=`round`,e.lineWidth=3.5,e.strokeStyle=a.background,e.stroke(),e.lineWidth=1.5,e.strokeStyle=a.text,e.stroke()}else{let[o,s,c]=i.world,l=r.project(t,o,s,c),u=r.project(t,o,s,-n.z.half);e.beginPath(),e.setLineDash([3,3]),e.moveTo(l.x,l.y),e.lineTo(u.x,u.y),e.lineWidth=1,e.strokeStyle=a.text,e.stroke(),e.setLineDash([]),e.beginPath(),e.arc(u.x,u.y,2.5,0,Math.PI*2),e.fillStyle=a.text,e.fill(),e.beginPath(),e.arc(l.x,l.y,5,0,Math.PI*2),e.fillStyle=i.color,e.fill(),e.lineWidth=2,e.strokeStyle=a.background,e.stroke(),e.beginPath(),e.arc(l.x,l.y,7,0,Math.PI*2),e.lineWidth=1.25,e.strokeStyle=a.text,e.stroke()}e.restore()};exports.drawAxes=m,exports.drawColorBar=h,exports.drawHighlight=g,exports.drawWalls=u,exports.farWalls=s,exports.gridPositions=o,exports.labelEdge=p,exports.overlayStyle=i;
|
|
2
|
+
//# sourceMappingURL=overlay.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overlay.cjs","names":["toCss","toWorld","project","linearTicks","require_color","require_scale","require_model","require_math","overlayStyle","theme","dark","AXES","gridPositions","axis","out","i","farWalls","frame","half","axes","at","p","rest","value","drawWalls","h","walls","P","a","b","c","base","corner","sb","sc","quad","ctx","q","style","along","across","w","p0","p1","s0","s1","overlaps","pad","CROSS_AXIS_GAP","labelEdge","eye","best","left","sx","sy","drawAxes","center","placed","size","labelFont","titleFont","edge","e0","e1","dx","dy","length","ox","oy","mx","my","align","baseline","labels","s","tick","text","x","y","step","kept","l","o","extent","distance","tx","ty","tw","th","bounds","rectAt","k","top","drawColorBar","gradient","rect","lut","min","max","domain","span","ticks","t","format","title","right","drawHighlight","shape","pts","bit","z","floor"],"sources":["../../../../../charts/src/engine/three-d/overlay.ts"],"sourcesContent":["// 2D overlay of the 3D charts: the far walls of the axis box with their grid\n// lines (below the data), then the tick labels, axis titles, color bar and\n// hover highlight (above the data). Text is always horizontal (screen\n// aligned) so it stays readable whatever the camera.\n\nimport { toCss, type Rgba } from \"../color\";\nimport { linearTicks } from \"../scale\";\nimport type { ColorLut } from \"./colormap\";\nimport { project, type CameraFrame, type Vec3 } from \"./math\";\nimport { toWorld, type AxisModel, type Model3D } from \"./model\";\n\nexport interface OverlayStyle {\n text: string;\n muted: string;\n grid: string;\n axis: string;\n /** Tint of the walls */\n wall: string;\n /** Background (rings of the hover marker) */\n background: string;\n font: string;\n fontSize: number;\n}\n\nexport const overlayStyle = (\n theme: {\n text: Rgba;\n textMuted: Rgba;\n grid: Rgba;\n axis: Rgba;\n background: Rgba;\n fontFamily: string;\n fontSize: number;\n },\n dark: boolean,\n): OverlayStyle => ({\n text: toCss(theme.text),\n muted: toCss(theme.textMuted),\n grid: toCss(theme.grid),\n axis: toCss(theme.axis),\n wall: toCss(theme.text, dark ? 0.045 : 0.025),\n background: toCss(theme.background),\n font: theme.fontFamily,\n fontSize: theme.fontSize,\n});\n\ntype Axes = Pick<Model3D, \"x\" | \"y\" | \"z\">;\n\nconst AXES: readonly (\"x\" | \"y\" | \"z\")[] = [\"x\", \"y\", \"z\"];\n\n/** World positions of the grid lines of an axis (category axes: between the categories) */\nexport const gridPositions = (axis: AxisModel): number[] => {\n if (axis.categories) {\n const out: number[] = [];\n for (let i = 0; i < axis.categories.length - 1; i++)\n out.push(toWorld(axis, i + 0.5));\n return out;\n }\n return axis.ticks\n .filter((t) => t > axis.domain[0] && t < axis.domain[1])\n .map((t) => toWorld(axis, t));\n};\n\n/** Side (-1 / 1) of the far wall perpendicular to every axis */\nexport const farWalls = (frame: CameraFrame): [number, number, number] => [\n frame.eye[0] >= 0 ? -1 : 1,\n frame.eye[1] >= 0 ? -1 : 1,\n frame.eye[2] >= 0 ? -1 : 1,\n];\n\nconst half = (axes: Axes): Vec3 => [axes.x.half, axes.y.half, axes.z.half];\n\nconst at = (axis: number, value: number, rest: Vec3): Vec3 => {\n const p: Vec3 = [rest[0], rest[1], rest[2]];\n p[axis] = value;\n return p;\n};\n\n/** Far walls, their grid lines and borders */\nexport const drawWalls = (\n ctx: CanvasRenderingContext2D,\n frame: CameraFrame,\n axes: Axes,\n style: OverlayStyle,\n): void => {\n const h = half(axes);\n const walls = farWalls(frame);\n const P = (p: Vec3) => project(frame, p[0], p[1], p[2]);\n ctx.lineWidth = 1;\n for (let a = 0; a < 3; a++) {\n const b = (a + 1) % 3;\n const c = (a + 2) % 3;\n const base: Vec3 = [0, 0, 0];\n base[a] = walls[a] * h[a];\n const corner = (sb: number, sc: number) => {\n const p: Vec3 = [base[0], base[1], base[2]];\n p[b] = sb * h[b];\n p[c] = sc * h[c];\n return P(p);\n };\n const quad = [corner(-1, -1), corner(1, -1), corner(1, 1), corner(-1, 1)];\n ctx.beginPath();\n quad.forEach((q, i) => (i ? ctx.lineTo(q.x, q.y) : ctx.moveTo(q.x, q.y)));\n ctx.closePath();\n ctx.fillStyle = style.wall;\n ctx.fill();\n // grid lines of the two axes spanning the wall\n ctx.beginPath();\n for (const [along, across] of [\n [b, c],\n [c, b],\n ] as const) {\n const axis = axes[AXES[along]!];\n if (!axis.grid) continue;\n for (const w of gridPositions(axis)) {\n const p0 = at(along, w, base);\n const p1 = at(along, w, base);\n p0[across] = -h[across];\n p1[across] = h[across];\n const s0 = P(p0);\n const s1 = P(p1);\n ctx.moveTo(s0.x, s0.y);\n ctx.lineTo(s1.x, s1.y);\n }\n }\n ctx.strokeStyle = style.grid;\n ctx.stroke();\n ctx.beginPath();\n quad.forEach((q, i) => (i ? ctx.lineTo(q.x, q.y) : ctx.moveTo(q.x, q.y)));\n ctx.closePath();\n ctx.strokeStyle = style.axis;\n ctx.stroke();\n }\n};\n\ninterface Rect {\n x: number;\n y: number;\n w: number;\n h: number;\n}\n\nconst overlaps = (a: Rect, b: Rect, pad = 2) =>\n a.x < b.x + b.w + pad &&\n b.x < a.x + a.w + pad &&\n a.y < b.y + b.h + pad &&\n b.y < a.y + a.h + pad;\n\n/** Smallest gap (px) between tick labels of different axes */\nconst CROSS_AXIS_GAP = 10;\n\n/** Edge (fixed coordinates of the two other axes) carrying the labels of an axis */\nexport const labelEdge = (\n frame: CameraFrame,\n axes: Axes,\n axis: number,\n): Vec3 => {\n const h = half(axes);\n const eye = frame.eye;\n if (axis === 0) return [0, (eye[1] >= 0 ? 1 : -1) * h[1], -h[2]];\n if (axis === 1) return [(eye[0] >= 0 ? 1 : -1) * h[0], 0, -h[2]];\n // vertical axis: the leftmost vertical edge on screen\n let best: Vec3 = [-h[0], -h[1], 0];\n let left = Infinity;\n for (const sx of [-1, 1]) {\n for (const sy of [-1, 1]) {\n const p = project(frame, sx * h[0], sy * h[1], 0);\n if (p.x < left) {\n left = p.x;\n best = [sx * h[0], sy * h[1], 0];\n }\n }\n }\n return best;\n};\n\n/** Area the labels and titles must stay in (CSS pixels of the stage) */\nexport interface OverlayBounds {\n left: number;\n top: number;\n right: number;\n bottom: number;\n}\n\n/** Tick labels and titles of the three axes */\nexport const drawAxes = (\n ctx: CanvasRenderingContext2D,\n frame: CameraFrame,\n axes: Axes,\n style: OverlayStyle,\n bounds: OverlayBounds = {\n left: 0,\n top: 0,\n right: frame.width,\n bottom: frame.height,\n },\n): void => {\n const center = project(frame, 0, 0, 0);\n const placed: Rect[] = [];\n const size = style.fontSize;\n const labelFont = `${size}px ${style.font}`;\n const titleFont = `600 ${size + 1}px ${style.font}`;\n for (let a = 0; a < 3; a++) {\n const axis = axes[AXES[a]!];\n if (!axis.visible) continue;\n const edge = labelEdge(frame, axes, a);\n const e0 = project(frame, ...at(a, -axis.half, edge));\n const e1 = project(frame, ...at(a, axis.half, edge));\n let dx = e1.x - e0.x;\n let dy = e1.y - e0.y;\n const length = Math.hypot(dx, dy);\n // seen end-on: no room for labels\n if (length < 24) continue;\n dx /= length;\n dy /= length;\n let ox = -dy;\n let oy = dx;\n const mx = (e0.x + e1.x) / 2;\n const my = (e0.y + e1.y) / 2;\n if (ox * (mx - center.x) + oy * (my - center.y) < 0) {\n ox = -ox;\n oy = -oy;\n }\n // vertical axis: labels go sideways\n if (a === 2) {\n ox = mx < center.x ? -1 : 1;\n oy = 0;\n }\n const align: CanvasTextAlign =\n ox > 0.35 ? \"left\" : ox < -0.35 ? \"right\" : \"center\";\n const baseline: CanvasTextBaseline =\n oy > 0.35 ? \"top\" : oy < -0.35 ? \"bottom\" : \"middle\";\n ctx.font = labelFont;\n ctx.textAlign = align;\n ctx.textBaseline = baseline;\n const gap = 8;\n const labels = axis.ticks.map((tick, i) => {\n const s = project(frame, ...at(a, toWorld(axis, tick), edge));\n const text = axis.labels[i] ?? \"\";\n const w = ctx.measureText(text).width;\n const x = s.x + ox * gap;\n const y = s.y + oy * gap;\n const rx = align === \"left\" ? x : align === \"right\" ? x - w : x - w / 2;\n const ry =\n baseline === \"top\"\n ? y\n : baseline === \"bottom\"\n ? y - size\n : y - size / 2;\n return { tick: s, text, x, y, rect: { x: rx, y: ry, w, h: size } };\n });\n // thin the labels until they do not overlap\n let step = 1;\n for (; step < labels.length; step++) {\n const kept = labels.filter((_, i) => i % step === 0);\n if (\n kept.every(\n (l, i) => !kept.slice(0, i).some((o) => overlaps(l.rect, o.rect)),\n )\n ) {\n break;\n }\n }\n let extent = 0;\n ctx.beginPath();\n labels.forEach((l, i) => {\n if (i % step) return;\n // wider gap to the labels of the other axes: at the shared corner, two\n // labels side by side would read as one (\"-2 -2\")\n if (placed.some((o) => overlaps(l.rect, o, CROSS_AXIS_GAP))) return;\n placed.push(l.rect);\n ctx.moveTo(l.tick.x, l.tick.y);\n ctx.lineTo(l.tick.x + ox * 4, l.tick.y + oy * 4);\n extent = Math.max(\n extent,\n Math.abs(ox) * l.rect.w + Math.abs(oy) * l.rect.h,\n );\n });\n ctx.strokeStyle = style.axis;\n ctx.lineWidth = 1;\n ctx.stroke();\n ctx.fillStyle = style.muted;\n labels.forEach((l, i) => {\n if (i % step || !placed.includes(l.rect)) return;\n ctx.fillText(l.text, l.x, l.y);\n });\n if (!axis.title) continue;\n const distance = gap + extent + 10;\n let tx = mx + ox * distance;\n let ty = my + oy * distance;\n ctx.font = titleFont;\n ctx.fillStyle = style.text;\n const tw = ctx.measureText(axis.title).width;\n const th = size + 1;\n if (a === 2) {\n tx = Math.max(bounds.left + th, Math.min(bounds.right - th, tx));\n ty = Math.max(bounds.top + tw / 2, Math.min(bounds.bottom - tw / 2, ty));\n ctx.save();\n ctx.translate(tx, ty);\n ctx.rotate(-Math.PI / 2);\n ctx.textAlign = \"center\";\n ctx.textBaseline = ox < 0 ? \"bottom\" : \"top\";\n ctx.fillText(axis.title, 0, 0);\n ctx.restore();\n } else {\n const rectAt = (x: number, y: number): Rect => ({\n x: align === \"left\" ? x : align === \"right\" ? x - tw : x - tw / 2,\n y: baseline === \"top\" ? y : baseline === \"bottom\" ? y - th : y - th / 2,\n w: tw,\n h: th,\n });\n // slanted axes: long titles move out until they clear the labels\n for (\n let k = 0;\n k < 12 && placed.some((o) => overlaps(rectAt(tx, ty), o));\n k++\n ) {\n tx += ox * 3;\n ty += oy * 3;\n }\n // keep the whole title inside the bounds\n const { x: left, y: top } = rectAt(tx, ty);\n tx +=\n Math.max(0, bounds.left - left) - Math.max(0, left + tw - bounds.right);\n ty +=\n Math.max(0, bounds.top - top) - Math.max(0, top + th - bounds.bottom);\n placed.push(rectAt(tx, ty));\n ctx.textAlign = align;\n ctx.textBaseline = baseline;\n ctx.fillText(axis.title, tx, ty);\n }\n }\n};\n\n/** Vertical color bar with its ticks and title */\nexport const drawColorBar = (\n ctx: CanvasRenderingContext2D,\n rect: Rect,\n lut: ColorLut,\n domain: readonly [number, number],\n format: (value: number) => string,\n title: string,\n style: OverlayStyle,\n /** Right end of the stage: the title is shifted left to fit */\n right = Infinity,\n): void => {\n const gradient = ctx.createLinearGradient(0, rect.y + rect.h, 0, rect.y);\n const samples = 24;\n for (let i = 0; i <= samples; i++) {\n const c = lut.rgba[Math.round((i / samples) * (lut.rgba.length - 1))];\n if (c) gradient.addColorStop(i / samples, toCss(c));\n }\n ctx.fillStyle = gradient;\n ctx.beginPath();\n if (typeof ctx.roundRect === \"function\")\n ctx.roundRect(rect.x, rect.y, rect.w, rect.h, 3);\n else ctx.rect(rect.x, rect.y, rect.w, rect.h);\n ctx.fill();\n ctx.strokeStyle = style.axis;\n ctx.lineWidth = 1;\n ctx.stroke();\n const [min, max] = domain;\n const span = max - min || 1;\n ctx.font = `${style.fontSize}px ${style.font}`;\n ctx.fillStyle = style.muted;\n ctx.textAlign = \"left\";\n ctx.textBaseline = \"middle\";\n const ticks = linearTicks(min, max, Math.max(2, Math.round(rect.h / 40)));\n ctx.beginPath();\n for (const t of ticks) {\n const y = rect.y + rect.h - ((t - min) / span) * rect.h;\n if (y < rect.y - 0.5 || y > rect.y + rect.h + 0.5) continue;\n ctx.moveTo(rect.x + rect.w, y);\n ctx.lineTo(rect.x + rect.w + 4, y);\n ctx.fillText(format(t), rect.x + rect.w + 7, y);\n }\n ctx.strokeStyle = style.axis;\n ctx.stroke();\n if (title) {\n ctx.font = `600 ${style.fontSize}px ${style.font}`;\n ctx.fillStyle = style.text;\n ctx.textAlign = \"left\";\n ctx.textBaseline = \"bottom\";\n const w = ctx.measureText(title).width;\n ctx.fillText(\n title,\n Math.max(4, Math.min(rect.x, right - 4 - w)),\n rect.y - 8,\n );\n }\n};\n\n/** Highlight of the hovered item */\nexport type HighlightShape =\n | { kind: \"point\"; x: number; y: number; radius: number; color: string }\n | { kind: \"box\"; min: Vec3; max: Vec3; color: string }\n | { kind: \"vertex\"; world: Vec3; color: string };\n\nexport const drawHighlight = (\n ctx: CanvasRenderingContext2D,\n frame: CameraFrame,\n axes: Axes,\n shape: HighlightShape,\n style: OverlayStyle,\n): void => {\n ctx.save();\n if (shape.kind === \"point\") {\n ctx.beginPath();\n ctx.arc(shape.x, shape.y, shape.radius + 3, 0, Math.PI * 2);\n ctx.lineWidth = 3;\n ctx.strokeStyle = style.background;\n ctx.stroke();\n ctx.lineWidth = 1.5;\n ctx.strokeStyle = style.text;\n ctx.stroke();\n } else if (shape.kind === \"box\") {\n const { min, max } = shape;\n const corner = (i: number) =>\n project(\n frame,\n i & 1 ? max[0] : min[0],\n i & 2 ? max[1] : min[1],\n i & 4 ? max[2] : min[2],\n );\n const pts = Array.from({ length: 8 }, (_, i) => corner(i));\n ctx.beginPath();\n for (let i = 0; i < 8; i++) {\n for (const bit of [1, 2, 4]) {\n if (i & bit) continue;\n const a = pts[i]!;\n const b = pts[i | bit]!;\n ctx.moveTo(a.x, a.y);\n ctx.lineTo(b.x, b.y);\n }\n }\n ctx.lineJoin = \"round\";\n ctx.lineWidth = 3.5;\n ctx.strokeStyle = style.background;\n ctx.stroke();\n ctx.lineWidth = 1.5;\n ctx.strokeStyle = style.text;\n ctx.stroke();\n } else {\n const [x, y, z] = shape.world;\n const top = project(frame, x, y, z);\n const floor = project(frame, x, y, -axes.z.half);\n ctx.beginPath();\n ctx.setLineDash([3, 3]);\n ctx.moveTo(top.x, top.y);\n ctx.lineTo(floor.x, floor.y);\n ctx.lineWidth = 1;\n ctx.strokeStyle = style.text;\n ctx.stroke();\n ctx.setLineDash([]);\n ctx.beginPath();\n ctx.arc(floor.x, floor.y, 2.5, 0, Math.PI * 2);\n ctx.fillStyle = style.text;\n ctx.fill();\n ctx.beginPath();\n ctx.arc(top.x, top.y, 5, 0, Math.PI * 2);\n ctx.fillStyle = shape.color;\n ctx.fill();\n ctx.lineWidth = 2;\n ctx.strokeStyle = style.background;\n ctx.stroke();\n ctx.beginPath();\n ctx.arc(top.x, top.y, 7, 0, Math.PI * 2);\n ctx.lineWidth = 1.25;\n ctx.strokeStyle = style.text;\n ctx.stroke();\n }\n ctx.restore();\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Rgba } from '../color.cjs';
|
|
2
|
+
import { ColorLut } from './colormap.cjs';
|
|
3
|
+
import { CameraFrame, Vec3 } from './math.cjs';
|
|
4
|
+
import { AxisModel, Model3D } from './model.cjs';
|
|
5
|
+
export interface OverlayStyle {
|
|
6
|
+
text: string;
|
|
7
|
+
muted: string;
|
|
8
|
+
grid: string;
|
|
9
|
+
axis: string;
|
|
10
|
+
/** Tint of the walls */
|
|
11
|
+
wall: string;
|
|
12
|
+
/** Background (rings of the hover marker) */
|
|
13
|
+
background: string;
|
|
14
|
+
font: string;
|
|
15
|
+
fontSize: number;
|
|
16
|
+
}
|
|
17
|
+
export declare const overlayStyle: (theme: {
|
|
18
|
+
text: Rgba;
|
|
19
|
+
textMuted: Rgba;
|
|
20
|
+
grid: Rgba;
|
|
21
|
+
axis: Rgba;
|
|
22
|
+
background: Rgba;
|
|
23
|
+
fontFamily: string;
|
|
24
|
+
fontSize: number;
|
|
25
|
+
}, dark: boolean) => OverlayStyle;
|
|
26
|
+
type Axes = Pick<Model3D, "x" | "y" | "z">;
|
|
27
|
+
/** World positions of the grid lines of an axis (category axes: between the categories) */
|
|
28
|
+
export declare const gridPositions: (axis: AxisModel) => number[];
|
|
29
|
+
/** Side (-1 / 1) of the far wall perpendicular to every axis */
|
|
30
|
+
export declare const farWalls: (frame: CameraFrame) => [number, number, number];
|
|
31
|
+
/** Far walls, their grid lines and borders */
|
|
32
|
+
export declare const drawWalls: (ctx: CanvasRenderingContext2D, frame: CameraFrame, axes: Axes, style: OverlayStyle) => void;
|
|
33
|
+
interface Rect {
|
|
34
|
+
x: number;
|
|
35
|
+
y: number;
|
|
36
|
+
w: number;
|
|
37
|
+
h: number;
|
|
38
|
+
}
|
|
39
|
+
/** Edge (fixed coordinates of the two other axes) carrying the labels of an axis */
|
|
40
|
+
export declare const labelEdge: (frame: CameraFrame, axes: Axes, axis: number) => Vec3;
|
|
41
|
+
/** Area the labels and titles must stay in (CSS pixels of the stage) */
|
|
42
|
+
export interface OverlayBounds {
|
|
43
|
+
left: number;
|
|
44
|
+
top: number;
|
|
45
|
+
right: number;
|
|
46
|
+
bottom: number;
|
|
47
|
+
}
|
|
48
|
+
/** Tick labels and titles of the three axes */
|
|
49
|
+
export declare const drawAxes: (ctx: CanvasRenderingContext2D, frame: CameraFrame, axes: Axes, style: OverlayStyle, bounds?: OverlayBounds) => void;
|
|
50
|
+
/** Vertical color bar with its ticks and title */
|
|
51
|
+
export declare const drawColorBar: (ctx: CanvasRenderingContext2D, rect: Rect, lut: ColorLut, domain: readonly [number, number], format: (value: number) => string, title: string, style: OverlayStyle,
|
|
52
|
+
/** Right end of the stage: the title is shifted left to fit */
|
|
53
|
+
right?: number) => void;
|
|
54
|
+
/** Highlight of the hovered item */
|
|
55
|
+
export type HighlightShape = {
|
|
56
|
+
kind: "point";
|
|
57
|
+
x: number;
|
|
58
|
+
y: number;
|
|
59
|
+
radius: number;
|
|
60
|
+
color: string;
|
|
61
|
+
} | {
|
|
62
|
+
kind: "box";
|
|
63
|
+
min: Vec3;
|
|
64
|
+
max: Vec3;
|
|
65
|
+
color: string;
|
|
66
|
+
} | {
|
|
67
|
+
kind: "vertex";
|
|
68
|
+
world: Vec3;
|
|
69
|
+
color: string;
|
|
70
|
+
};
|
|
71
|
+
export declare const drawHighlight: (ctx: CanvasRenderingContext2D, frame: CameraFrame, axes: Axes, shape: HighlightShape, style: OverlayStyle) => void;
|
|
72
|
+
export {};
|