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 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","names":["range","min","max","v","values","buildModel","index","unique","nodeInput","node","k","n","edges","input","s","t","a","edge","b","m","source","target","inDegree","outDegree","adjStart","i","adjEdge","cursor","groups","groupIndex","g","groupsIn","groupOf","id","degree","rank","va","vb","fa","neighborhood","model","e","lineage","down","seen","queue","q","from","to"],"sources":["../../../../../charts/src/engine/graph/model.ts"],"sourcesContent":["// Index structures of the graph data: ids, valid edges, adjacency (CSR),\n// degrees, groups.\n\nimport type { GraphEdge, GraphGroup, GraphNode } from \"./types\";\n\nexport interface GraphGroupModel {\n id: string;\n name: string;\n color?: string;\n /** Hidden by its `hidden` option */\n hidden: boolean;\n /** Number of nodes */\n count: number;\n}\n\nexport interface GraphModel {\n nodes: readonly GraphNode[];\n n: number;\n /** Index of each node in the input (duplicate ids are skipped) */\n nodeInput: Int32Array;\n index: Map<string, number>;\n /** Valid edges (both ends known) */\n edges: GraphEdge[];\n /** Index of each valid edge in the input */\n edgeInput: Int32Array;\n m: number;\n source: Int32Array;\n target: Int32Array;\n /** Undirected adjacency: node → edges (CSR) */\n adjStart: Int32Array;\n adjEdge: Int32Array;\n inDegree: Int32Array;\n outDegree: Int32Array;\n groups: GraphGroupModel[];\n /** Group index of each node, -1 = none */\n groupOf: Int32Array;\n /** Value range of the nodes with a value */\n valueRange: [number, number] | null;\n /** Value range of the edges with a value */\n edgeValueRange: [number, number] | null;\n /** Nodes ordered by importance (value, then degree) */\n rank: Int32Array;\n}\n\nconst range = (values: (number | undefined)[]): [number, number] | null => {\n let min = Infinity;\n let max = -Infinity;\n for (const v of values) {\n if (v === undefined || !Number.isFinite(v)) continue;\n if (v < min) min = v;\n if (v > max) max = v;\n }\n return min <= max ? [min, max] : null;\n};\n\nexport const buildModel = (\n nodes: readonly GraphNode[],\n edgesIn: readonly GraphEdge[],\n groupsIn: readonly GraphGroup[] | undefined,\n): GraphModel => {\n const index = new Map<string, number>();\n const unique: GraphNode[] = [];\n const nodeInput: number[] = [];\n nodes.forEach((node, k) => {\n if (!node || typeof node.id !== \"string\" || index.has(node.id)) return;\n index.set(node.id, unique.length);\n unique.push(node);\n nodeInput.push(k);\n });\n const n = unique.length;\n const edges: GraphEdge[] = [];\n const input: number[] = [];\n const s: number[] = [];\n const t: number[] = [];\n edgesIn.forEach((edge, k) => {\n const a = index.get(edge?.source);\n const b = index.get(edge?.target);\n if (a === undefined || b === undefined || a === b) return;\n edges.push(edge);\n input.push(k);\n s.push(a);\n t.push(b);\n });\n const m = edges.length;\n const source = Int32Array.from(s);\n const target = Int32Array.from(t);\n const inDegree = new Int32Array(n);\n const outDegree = new Int32Array(n);\n const adjStart = new Int32Array(n + 1);\n for (let e = 0; e < m; e++) {\n outDegree[source[e]]++;\n inDegree[target[e]]++;\n adjStart[source[e] + 1]++;\n adjStart[target[e] + 1]++;\n }\n for (let i = 0; i < n; i++) adjStart[i + 1] += adjStart[i];\n const adjEdge = new Int32Array(m * 2);\n const cursor = adjStart.slice(0, n);\n for (let e = 0; e < m; e++) {\n adjEdge[cursor[source[e]]++] = e;\n adjEdge[cursor[target[e]]++] = e;\n }\n\n const groups: GraphGroupModel[] = [];\n const groupIndex = new Map<string, number>();\n for (const g of groupsIn ?? []) {\n if (!g || groupIndex.has(g.id)) continue;\n groupIndex.set(g.id, groups.length);\n groups.push({\n id: g.id,\n name: g.name ?? g.id,\n color: g.color,\n hidden: !!g.hidden,\n count: 0,\n });\n }\n const groupOf = new Int32Array(n).fill(-1);\n unique.forEach((node, i) => {\n if (node.group === undefined || node.group === null) return;\n const id = String(node.group);\n let g = groupIndex.get(id);\n if (g === undefined) {\n g = groups.length;\n groupIndex.set(id, g);\n groups.push({ id, name: id, hidden: false, count: 0 });\n }\n groups[g].count++;\n groupOf[i] = g;\n });\n\n const degree = (i: number) => inDegree[i] + outDegree[i];\n const rank = Int32Array.from({ length: n }, (_, i) => i).sort((a, b) => {\n const va = unique[a].value;\n const vb = unique[b].value;\n const fa = Number.isFinite(va) ? va! : -Infinity;\n const fb = Number.isFinite(vb) ? vb! : -Infinity;\n return fb - fa || degree(b) - degree(a) || a - b;\n });\n\n return {\n nodes: unique,\n n,\n nodeInput: Int32Array.from(nodeInput),\n index,\n edges,\n edgeInput: Int32Array.from(input),\n m,\n source,\n target,\n adjStart,\n adjEdge,\n inDegree,\n outDegree,\n groups,\n groupOf,\n valueRange: range(unique.map((node) => node.value)),\n edgeValueRange: range(edges.map((edge) => edge.value)),\n rank,\n };\n};\n\n/** Neighbors of a node and the edges between them */\nexport const neighborhood = (\n model: GraphModel,\n i: number,\n nodes: Uint8Array,\n edges: Uint8Array,\n): void => {\n nodes[i] = 1;\n for (let k = model.adjStart[i]; k < model.adjStart[i + 1]; k++) {\n const e = model.adjEdge[k];\n edges[e] = 1;\n nodes[model.source[e]] = 1;\n nodes[model.target[e]] = 1;\n }\n};\n\n/** Ancestors and descendants of a node and the edges of these paths */\nexport const lineage = (\n model: GraphModel,\n i: number,\n nodes: Uint8Array,\n edges: Uint8Array,\n): void => {\n nodes[i] = 1;\n for (const down of [true, false]) {\n const seen = new Uint8Array(model.n);\n seen[i] = 1;\n const queue = [i];\n for (let q = 0; q < queue.length; q++) {\n const v = queue[q];\n for (let k = model.adjStart[v]; k < model.adjStart[v + 1]; k++) {\n const e = model.adjEdge[k];\n const from = down ? model.source[e] : model.target[e];\n const to = down ? model.target[e] : model.source[e];\n if (from !== v) continue;\n edges[e] = 1;\n nodes[to] = 1;\n if (!seen[to]) {\n seen[to] = 1;\n queue.push(to);\n }\n }\n }\n }\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e={Circle:0,Box:1,Solid:2,Card:3},t=(e,t)=>{let n=e.nodes[t];return n.label??n.id},n=e=>e===`dag`||e===`org`||e===`mindmap`,r=(e,t)=>{switch(e){case`tree`:case`radial`:return t?[6,22]:[10,10];case`circular`:return t?[6,26]:[10,10];case`arc`:return t?[5,22]:[9,9];default:return t?[8,36]:[12,12]}},i=(i,a,o,s,c,l)=>{let u=i.n,d=new Float64Array(u),f=new Float64Array(u),p=new Float64Array(u),m=new Float64Array(u),h=new Uint8Array(u),g=new Float64Array(u),_=new Uint16Array(u),v=new Float64Array(u),y=o.nodeLabels!==!1,b=`12px ${l}`,x=i.valueRange,S=o.nodeSize,[C,w]=Array.isArray(S)?S:typeof S==`number`?[S,S]:r(a,!!x&&x[1]>x[0]),T=e=>{let t=i.nodes[e];if(Number.isFinite(t.size)&&t.size>0)return t.size;let n=t.value;if(!x||!Number.isFinite(n)||x[1]<=x[0]||C===w)return x&&Number.isFinite(n)&&x[1]<=x[0]?(C+w)/2:C;let r=(n-x[0])/(x[1]-x[0]);return Math.sqrt(C*C+(w*w-C*C)*r)},E=o.nodeShape?o.nodeShape===`box`:n(a),D=o.tree?.cardSize??[168,60],O=0;for(let n=0;n<u;n++){let r=i.nodes[n],o=r.shape?r.shape===`box`:E,u=t(i,n);if(!o){let t=T(n);d[n]=f[n]=t,v[n]=y?c(u,b):0,h[n]=e.Circle;continue}if(a===`org`){h[n]=e.Card,d[n]=D[0],f[n]=Number.isFinite(r.size)?r.size:D[1],g[n]=13,_[n]=600;continue}let p=s?s[n]:1,m=12,x=14,S=r.subtitle?44:32;h[n]=e.Box,_[n]=500,a===`mindmap`&&(p===0?(m=16,x=20,S=44,_[n]=600,h[n]=e.Solid):p===1?(m=13,x=14,S=32,_[n]=600):(m=12.5,x=11,S=26,_[n]=400)),g[n]=m;let C=c(u,`${_[n]} ${m}px ${l}`);r.subtitle&&(C=Math.max(C,c(r.subtitle,`${m-1}px ${l}`))),d[n]=Math.max(a===`mindmap`?40:64,Math.min(240,C+x*2)),f[n]=Number.isFinite(r.size)?r.size:S}let k=a===`tree`&&(o.direction===`LR`||o.direction===`RL`||!o.direction);for(let t=0;t<u;t++)p[t]=d[t],m[t]=f[t],h[t]===e.Circle&&y&&(a===`force`||a===`none`?p[t]=m[t]=d[t]:a===`tree`&&!k?(p[t]=Math.max(d[t],v[t]+8),m[t]=d[t]+12+6):k?(m[t]=Math.max(d[t],16),i.outDegree[t]>0&&(O=Math.max(O,v[t]+28))):a===`radial`&&(p[t]=m[t]=Math.max(d[t],14)));return{width:d,height:f,layoutWidth:p,layoutHeight:m,kind:h,font:g,weight:_,labelWidth:v,levelGap:Math.min(280,O)}};exports.NodeKind=e,exports.computeSizing=i,exports.defaultBoxes=n,exports.labelOf=t;
|
|
2
|
+
//# sourceMappingURL=sizing.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sizing.cjs","names":["NodeKind","labelOf","node","model","i","defaultBoxes","type","defaultCircle","valued","computeSizing","n","width","height","layoutWidth","layoutHeight","kind","font","weight","labelWidth","showLabels","options","labelFont","fontFamily","range","option","min","max","diameter","v","t","boxes","card","levelGap","box","label","d","measure","depth","size","pad","h","w","horizontalTree"],"sources":["../../../../../charts/src/engine/graph/sizing.ts"],"sourcesContent":["// Sizes of the nodes in layout units (circles from `nodeSize` / `value`,\n// boxes from their measured label) and the extents the layouts reserve for\n// them (labels included).\n\nimport type { GraphModel } from \"./model\";\nimport type { GraphChartOptions, GraphLayoutType } from \"./types\";\n\n/** How a node is drawn: circle, box tinted with its color, box filled with its color (mind map root), org chart card */\nexport const NodeKind = {\n Circle: 0,\n Box: 1,\n Solid: 2,\n Card: 3,\n} as const;\n\nexport interface NodeSizing {\n /** Displayed width / height (circles: diameter) */\n width: Float64Array;\n height: Float64Array;\n /** Extents reserved by the layout (labels included) */\n layoutWidth: Float64Array;\n layoutHeight: Float64Array;\n kind: Uint8Array;\n /** Font size of the text of boxes, in layout units */\n font: Float64Array;\n /** Font weight of the text of boxes */\n weight: Uint16Array;\n /** Width of the labels of circles at the label font, in CSS pixels */\n labelWidth: Float64Array;\n /** Gap between levels needed by the labels (LR trees), 0 = default */\n levelGap: number;\n}\n\n/** Measures a text with a CSS font */\nexport type MeasureText = (text: string, font: string) => number;\n\nexport const LABEL_FONT_SIZE = 12;\n\nexport const labelOf = (model: GraphModel, i: number): string => {\n const node = model.nodes[i];\n return node.label ?? node.id;\n};\n\n/** Shape used by a layout when nodes and options do not set one */\nexport const defaultBoxes = (type: GraphLayoutType): boolean =>\n type === \"dag\" || type === \"org\" || type === \"mindmap\";\n\nconst defaultCircle = (\n type: GraphLayoutType,\n valued: boolean,\n): [number, number] => {\n switch (type) {\n case \"tree\":\n case \"radial\":\n return valued ? [6, 22] : [10, 10];\n case \"circular\":\n return valued ? [6, 26] : [10, 10];\n case \"arc\":\n return valued ? [5, 22] : [9, 9];\n default:\n return valued ? [8, 36] : [12, 12];\n }\n};\n\nexport const computeSizing = (\n model: GraphModel,\n type: GraphLayoutType,\n options: GraphChartOptions,\n depth: ArrayLike<number> | null,\n measure: MeasureText,\n fontFamily: string,\n): NodeSizing => {\n const n = model.n;\n const width = new Float64Array(n);\n const height = new Float64Array(n);\n const layoutWidth = new Float64Array(n);\n const layoutHeight = new Float64Array(n);\n const kind = new Uint8Array(n);\n const font = new Float64Array(n);\n const weight = new Uint16Array(n);\n const labelWidth = new Float64Array(n);\n const showLabels = options.nodeLabels !== false;\n const labelFont = `${LABEL_FONT_SIZE}px ${fontFamily}`;\n\n const range = model.valueRange;\n const option = options.nodeSize;\n const [min, max] = Array.isArray(option)\n ? (option as readonly [number, number])\n : typeof option === \"number\"\n ? [option, option]\n : defaultCircle(type, !!range && range[1] > range[0]);\n const diameter = (i: number) => {\n const node = model.nodes[i];\n if (Number.isFinite(node.size) && node.size! > 0) return node.size!;\n const v = node.value;\n if (!range || !Number.isFinite(v) || range[1] <= range[0] || min === max)\n return range && Number.isFinite(v) && range[1] <= range[0]\n ? (min + max) / 2\n : min;\n const t = (v! - range[0]) / (range[1] - range[0]);\n return Math.sqrt(min * min + (max * max - min * min) * t);\n };\n\n const boxes = options.nodeShape\n ? options.nodeShape === \"box\"\n : defaultBoxes(type);\n const card = options.tree?.cardSize ?? [168, 60];\n let levelGap = 0;\n\n for (let i = 0; i < n; i++) {\n const node = model.nodes[i];\n const box = node.shape ? node.shape === \"box\" : boxes;\n const label = labelOf(model, i);\n if (!box) {\n const d = diameter(i);\n width[i] = height[i] = d;\n labelWidth[i] = showLabels ? measure(label, labelFont) : 0;\n kind[i] = NodeKind.Circle;\n continue;\n }\n if (type === \"org\") {\n kind[i] = NodeKind.Card;\n width[i] = card[0];\n height[i] = Number.isFinite(node.size) ? node.size! : card[1];\n font[i] = 13;\n weight[i] = 600;\n continue;\n }\n const d = depth ? depth[i] : 1;\n let size = 12;\n let pad = 14;\n let h = node.subtitle ? 44 : 32;\n kind[i] = NodeKind.Box;\n weight[i] = 500;\n if (type === \"mindmap\") {\n if (d === 0) {\n size = 16;\n pad = 20;\n h = 44;\n weight[i] = 600;\n kind[i] = NodeKind.Solid;\n } else if (d === 1) {\n size = 13;\n pad = 14;\n h = 32;\n weight[i] = 600;\n } else {\n size = 12.5;\n pad = 11;\n h = 26;\n weight[i] = 400;\n }\n }\n font[i] = size;\n const titleFont = `${weight[i]} ${size}px ${fontFamily}`;\n let w = measure(label, titleFont);\n if (node.subtitle)\n w = Math.max(w, measure(node.subtitle, `${size - 1}px ${fontFamily}`));\n width[i] = Math.max(\n type === \"mindmap\" ? 40 : 64,\n Math.min(240, w + pad * 2),\n );\n height[i] = Number.isFinite(node.size) ? node.size! : h;\n }\n\n // room for the labels of circles\n const horizontalTree =\n type === \"tree\" &&\n (options.direction === \"LR\" ||\n options.direction === \"RL\" ||\n !options.direction);\n for (let i = 0; i < n; i++) {\n layoutWidth[i] = width[i];\n layoutHeight[i] = height[i];\n if (kind[i] !== NodeKind.Circle || !showLabels) continue;\n if (type === \"force\" || type === \"none\") {\n layoutWidth[i] = layoutHeight[i] = width[i];\n } else if (type === \"tree\" && !horizontalTree) {\n layoutWidth[i] = Math.max(width[i], labelWidth[i] + 8);\n layoutHeight[i] = width[i] + LABEL_FONT_SIZE + 6;\n } else if (horizontalTree) {\n layoutHeight[i] = Math.max(width[i], LABEL_FONT_SIZE + 4);\n // labels of inner nodes sit between two levels\n if (model.outDegree[i] > 0)\n levelGap = Math.max(levelGap, labelWidth[i] + 28);\n } else if (type === \"radial\") {\n layoutWidth[i] = layoutHeight[i] = Math.max(\n width[i],\n LABEL_FONT_SIZE + 2,\n );\n }\n }\n return {\n width,\n height,\n layoutWidth,\n layoutHeight,\n kind,\n font,\n weight,\n labelWidth,\n levelGap: Math.min(280, levelGap),\n };\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { GraphModel } from './model.cjs';
|
|
2
|
+
import { GraphChartOptions, GraphLayoutType } from './types.cjs';
|
|
3
|
+
/** How a node is drawn: circle, box tinted with its color, box filled with its color (mind map root), org chart card */
|
|
4
|
+
export declare const NodeKind: {
|
|
5
|
+
readonly Circle: 0;
|
|
6
|
+
readonly Box: 1;
|
|
7
|
+
readonly Solid: 2;
|
|
8
|
+
readonly Card: 3;
|
|
9
|
+
};
|
|
10
|
+
export interface NodeSizing {
|
|
11
|
+
/** Displayed width / height (circles: diameter) */
|
|
12
|
+
width: Float64Array;
|
|
13
|
+
height: Float64Array;
|
|
14
|
+
/** Extents reserved by the layout (labels included) */
|
|
15
|
+
layoutWidth: Float64Array;
|
|
16
|
+
layoutHeight: Float64Array;
|
|
17
|
+
kind: Uint8Array;
|
|
18
|
+
/** Font size of the text of boxes, in layout units */
|
|
19
|
+
font: Float64Array;
|
|
20
|
+
/** Font weight of the text of boxes */
|
|
21
|
+
weight: Uint16Array;
|
|
22
|
+
/** Width of the labels of circles at the label font, in CSS pixels */
|
|
23
|
+
labelWidth: Float64Array;
|
|
24
|
+
/** Gap between levels needed by the labels (LR trees), 0 = default */
|
|
25
|
+
levelGap: number;
|
|
26
|
+
}
|
|
27
|
+
/** Measures a text with a CSS font */
|
|
28
|
+
export type MeasureText = (text: string, font: string) => number;
|
|
29
|
+
export declare const LABEL_FONT_SIZE = 12;
|
|
30
|
+
export declare const labelOf: (model: GraphModel, i: number) => string;
|
|
31
|
+
/** Shape used by a layout when nodes and options do not set one */
|
|
32
|
+
export declare const defaultBoxes: (type: GraphLayoutType) => boolean;
|
|
33
|
+
export declare const computeSizing: (model: GraphModel, type: GraphLayoutType, options: GraphChartOptions, depth: ArrayLike<number> | null, measure: MeasureText, fontFamily: string) => NodeSizing;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { GraphModel } from './model.js';
|
|
2
|
+
import { GraphChartOptions, GraphLayoutType } from './types.js';
|
|
3
|
+
/** How a node is drawn: circle, box tinted with its color, box filled with its color (mind map root), org chart card */
|
|
4
|
+
export declare const NodeKind: {
|
|
5
|
+
readonly Circle: 0;
|
|
6
|
+
readonly Box: 1;
|
|
7
|
+
readonly Solid: 2;
|
|
8
|
+
readonly Card: 3;
|
|
9
|
+
};
|
|
10
|
+
export interface NodeSizing {
|
|
11
|
+
/** Displayed width / height (circles: diameter) */
|
|
12
|
+
width: Float64Array;
|
|
13
|
+
height: Float64Array;
|
|
14
|
+
/** Extents reserved by the layout (labels included) */
|
|
15
|
+
layoutWidth: Float64Array;
|
|
16
|
+
layoutHeight: Float64Array;
|
|
17
|
+
kind: Uint8Array;
|
|
18
|
+
/** Font size of the text of boxes, in layout units */
|
|
19
|
+
font: Float64Array;
|
|
20
|
+
/** Font weight of the text of boxes */
|
|
21
|
+
weight: Uint16Array;
|
|
22
|
+
/** Width of the labels of circles at the label font, in CSS pixels */
|
|
23
|
+
labelWidth: Float64Array;
|
|
24
|
+
/** Gap between levels needed by the labels (LR trees), 0 = default */
|
|
25
|
+
levelGap: number;
|
|
26
|
+
}
|
|
27
|
+
/** Measures a text with a CSS font */
|
|
28
|
+
export type MeasureText = (text: string, font: string) => number;
|
|
29
|
+
export declare const LABEL_FONT_SIZE = 12;
|
|
30
|
+
export declare const labelOf: (model: GraphModel, i: number) => string;
|
|
31
|
+
/** Shape used by a layout when nodes and options do not set one */
|
|
32
|
+
export declare const defaultBoxes: (type: GraphLayoutType) => boolean;
|
|
33
|
+
export declare const computeSizing: (model: GraphModel, type: GraphLayoutType, options: GraphChartOptions, depth: ArrayLike<number> | null, measure: MeasureText, fontFamily: string) => NodeSizing;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
//#region src/engine/graph/sizing.ts
|
|
2
|
+
var e = {
|
|
3
|
+
Circle: 0,
|
|
4
|
+
Box: 1,
|
|
5
|
+
Solid: 2,
|
|
6
|
+
Card: 3
|
|
7
|
+
}, t = (e, t) => {
|
|
8
|
+
let n = e.nodes[t];
|
|
9
|
+
return n.label ?? n.id;
|
|
10
|
+
}, n = (e) => e === "dag" || e === "org" || e === "mindmap", r = (e, t) => {
|
|
11
|
+
switch (e) {
|
|
12
|
+
case "tree":
|
|
13
|
+
case "radial": return t ? [6, 22] : [10, 10];
|
|
14
|
+
case "circular": return t ? [6, 26] : [10, 10];
|
|
15
|
+
case "arc": return t ? [5, 22] : [9, 9];
|
|
16
|
+
default: return t ? [8, 36] : [12, 12];
|
|
17
|
+
}
|
|
18
|
+
}, i = (i, a, o, s, c, l) => {
|
|
19
|
+
let u = i.n, d = new Float64Array(u), f = new Float64Array(u), p = new Float64Array(u), m = new Float64Array(u), h = new Uint8Array(u), g = new Float64Array(u), _ = new Uint16Array(u), v = new Float64Array(u), y = o.nodeLabels !== !1, b = `12px ${l}`, x = i.valueRange, S = o.nodeSize, [C, w] = Array.isArray(S) ? S : typeof S == "number" ? [S, S] : r(a, !!x && x[1] > x[0]), T = (e) => {
|
|
20
|
+
let t = i.nodes[e];
|
|
21
|
+
if (Number.isFinite(t.size) && t.size > 0) return t.size;
|
|
22
|
+
let n = t.value;
|
|
23
|
+
if (!x || !Number.isFinite(n) || x[1] <= x[0] || C === w) return x && Number.isFinite(n) && x[1] <= x[0] ? (C + w) / 2 : C;
|
|
24
|
+
let r = (n - x[0]) / (x[1] - x[0]);
|
|
25
|
+
return Math.sqrt(C * C + (w * w - C * C) * r);
|
|
26
|
+
}, E = o.nodeShape ? o.nodeShape === "box" : n(a), D = o.tree?.cardSize ?? [168, 60], O = 0;
|
|
27
|
+
for (let n = 0; n < u; n++) {
|
|
28
|
+
let r = i.nodes[n], o = r.shape ? r.shape === "box" : E, u = t(i, n);
|
|
29
|
+
if (!o) {
|
|
30
|
+
let t = T(n);
|
|
31
|
+
d[n] = f[n] = t, v[n] = y ? c(u, b) : 0, h[n] = e.Circle;
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
if (a === "org") {
|
|
35
|
+
h[n] = e.Card, d[n] = D[0], f[n] = Number.isFinite(r.size) ? r.size : D[1], g[n] = 13, _[n] = 600;
|
|
36
|
+
continue;
|
|
37
|
+
}
|
|
38
|
+
let p = s ? s[n] : 1, m = 12, x = 14, S = r.subtitle ? 44 : 32;
|
|
39
|
+
h[n] = e.Box, _[n] = 500, a === "mindmap" && (p === 0 ? (m = 16, x = 20, S = 44, _[n] = 600, h[n] = e.Solid) : p === 1 ? (m = 13, x = 14, S = 32, _[n] = 600) : (m = 12.5, x = 11, S = 26, _[n] = 400)), g[n] = m;
|
|
40
|
+
let C = c(u, `${_[n]} ${m}px ${l}`);
|
|
41
|
+
r.subtitle && (C = Math.max(C, c(r.subtitle, `${m - 1}px ${l}`))), d[n] = Math.max(a === "mindmap" ? 40 : 64, Math.min(240, C + x * 2)), f[n] = Number.isFinite(r.size) ? r.size : S;
|
|
42
|
+
}
|
|
43
|
+
let k = a === "tree" && (o.direction === "LR" || o.direction === "RL" || !o.direction);
|
|
44
|
+
for (let t = 0; t < u; t++) p[t] = d[t], m[t] = f[t], h[t] === e.Circle && y && (a === "force" || a === "none" ? p[t] = m[t] = d[t] : a === "tree" && !k ? (p[t] = Math.max(d[t], v[t] + 8), m[t] = d[t] + 12 + 6) : k ? (m[t] = Math.max(d[t], 16), i.outDegree[t] > 0 && (O = Math.max(O, v[t] + 28))) : a === "radial" && (p[t] = m[t] = Math.max(d[t], 14)));
|
|
45
|
+
return {
|
|
46
|
+
width: d,
|
|
47
|
+
height: f,
|
|
48
|
+
layoutWidth: p,
|
|
49
|
+
layoutHeight: m,
|
|
50
|
+
kind: h,
|
|
51
|
+
font: g,
|
|
52
|
+
weight: _,
|
|
53
|
+
labelWidth: v,
|
|
54
|
+
levelGap: Math.min(280, O)
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
//#endregion
|
|
58
|
+
export { e as NodeKind, i as computeSizing, n as defaultBoxes, t as labelOf };
|
|
59
|
+
|
|
60
|
+
//# sourceMappingURL=sizing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sizing.js","names":["NodeKind","labelOf","node","model","i","defaultBoxes","type","defaultCircle","valued","computeSizing","n","width","height","layoutWidth","layoutHeight","kind","font","weight","labelWidth","showLabels","options","labelFont","fontFamily","range","option","min","max","diameter","v","t","boxes","card","levelGap","box","label","d","measure","depth","size","pad","h","w","horizontalTree"],"sources":["../../../../../charts/src/engine/graph/sizing.ts"],"sourcesContent":["// Sizes of the nodes in layout units (circles from `nodeSize` / `value`,\n// boxes from their measured label) and the extents the layouts reserve for\n// them (labels included).\n\nimport type { GraphModel } from \"./model\";\nimport type { GraphChartOptions, GraphLayoutType } from \"./types\";\n\n/** How a node is drawn: circle, box tinted with its color, box filled with its color (mind map root), org chart card */\nexport const NodeKind = {\n Circle: 0,\n Box: 1,\n Solid: 2,\n Card: 3,\n} as const;\n\nexport interface NodeSizing {\n /** Displayed width / height (circles: diameter) */\n width: Float64Array;\n height: Float64Array;\n /** Extents reserved by the layout (labels included) */\n layoutWidth: Float64Array;\n layoutHeight: Float64Array;\n kind: Uint8Array;\n /** Font size of the text of boxes, in layout units */\n font: Float64Array;\n /** Font weight of the text of boxes */\n weight: Uint16Array;\n /** Width of the labels of circles at the label font, in CSS pixels */\n labelWidth: Float64Array;\n /** Gap between levels needed by the labels (LR trees), 0 = default */\n levelGap: number;\n}\n\n/** Measures a text with a CSS font */\nexport type MeasureText = (text: string, font: string) => number;\n\nexport const LABEL_FONT_SIZE = 12;\n\nexport const labelOf = (model: GraphModel, i: number): string => {\n const node = model.nodes[i];\n return node.label ?? node.id;\n};\n\n/** Shape used by a layout when nodes and options do not set one */\nexport const defaultBoxes = (type: GraphLayoutType): boolean =>\n type === \"dag\" || type === \"org\" || type === \"mindmap\";\n\nconst defaultCircle = (\n type: GraphLayoutType,\n valued: boolean,\n): [number, number] => {\n switch (type) {\n case \"tree\":\n case \"radial\":\n return valued ? [6, 22] : [10, 10];\n case \"circular\":\n return valued ? [6, 26] : [10, 10];\n case \"arc\":\n return valued ? [5, 22] : [9, 9];\n default:\n return valued ? [8, 36] : [12, 12];\n }\n};\n\nexport const computeSizing = (\n model: GraphModel,\n type: GraphLayoutType,\n options: GraphChartOptions,\n depth: ArrayLike<number> | null,\n measure: MeasureText,\n fontFamily: string,\n): NodeSizing => {\n const n = model.n;\n const width = new Float64Array(n);\n const height = new Float64Array(n);\n const layoutWidth = new Float64Array(n);\n const layoutHeight = new Float64Array(n);\n const kind = new Uint8Array(n);\n const font = new Float64Array(n);\n const weight = new Uint16Array(n);\n const labelWidth = new Float64Array(n);\n const showLabels = options.nodeLabels !== false;\n const labelFont = `${LABEL_FONT_SIZE}px ${fontFamily}`;\n\n const range = model.valueRange;\n const option = options.nodeSize;\n const [min, max] = Array.isArray(option)\n ? (option as readonly [number, number])\n : typeof option === \"number\"\n ? [option, option]\n : defaultCircle(type, !!range && range[1] > range[0]);\n const diameter = (i: number) => {\n const node = model.nodes[i];\n if (Number.isFinite(node.size) && node.size! > 0) return node.size!;\n const v = node.value;\n if (!range || !Number.isFinite(v) || range[1] <= range[0] || min === max)\n return range && Number.isFinite(v) && range[1] <= range[0]\n ? (min + max) / 2\n : min;\n const t = (v! - range[0]) / (range[1] - range[0]);\n return Math.sqrt(min * min + (max * max - min * min) * t);\n };\n\n const boxes = options.nodeShape\n ? options.nodeShape === \"box\"\n : defaultBoxes(type);\n const card = options.tree?.cardSize ?? [168, 60];\n let levelGap = 0;\n\n for (let i = 0; i < n; i++) {\n const node = model.nodes[i];\n const box = node.shape ? node.shape === \"box\" : boxes;\n const label = labelOf(model, i);\n if (!box) {\n const d = diameter(i);\n width[i] = height[i] = d;\n labelWidth[i] = showLabels ? measure(label, labelFont) : 0;\n kind[i] = NodeKind.Circle;\n continue;\n }\n if (type === \"org\") {\n kind[i] = NodeKind.Card;\n width[i] = card[0];\n height[i] = Number.isFinite(node.size) ? node.size! : card[1];\n font[i] = 13;\n weight[i] = 600;\n continue;\n }\n const d = depth ? depth[i] : 1;\n let size = 12;\n let pad = 14;\n let h = node.subtitle ? 44 : 32;\n kind[i] = NodeKind.Box;\n weight[i] = 500;\n if (type === \"mindmap\") {\n if (d === 0) {\n size = 16;\n pad = 20;\n h = 44;\n weight[i] = 600;\n kind[i] = NodeKind.Solid;\n } else if (d === 1) {\n size = 13;\n pad = 14;\n h = 32;\n weight[i] = 600;\n } else {\n size = 12.5;\n pad = 11;\n h = 26;\n weight[i] = 400;\n }\n }\n font[i] = size;\n const titleFont = `${weight[i]} ${size}px ${fontFamily}`;\n let w = measure(label, titleFont);\n if (node.subtitle)\n w = Math.max(w, measure(node.subtitle, `${size - 1}px ${fontFamily}`));\n width[i] = Math.max(\n type === \"mindmap\" ? 40 : 64,\n Math.min(240, w + pad * 2),\n );\n height[i] = Number.isFinite(node.size) ? node.size! : h;\n }\n\n // room for the labels of circles\n const horizontalTree =\n type === \"tree\" &&\n (options.direction === \"LR\" ||\n options.direction === \"RL\" ||\n !options.direction);\n for (let i = 0; i < n; i++) {\n layoutWidth[i] = width[i];\n layoutHeight[i] = height[i];\n if (kind[i] !== NodeKind.Circle || !showLabels) continue;\n if (type === \"force\" || type === \"none\") {\n layoutWidth[i] = layoutHeight[i] = width[i];\n } else if (type === \"tree\" && !horizontalTree) {\n layoutWidth[i] = Math.max(width[i], labelWidth[i] + 8);\n layoutHeight[i] = width[i] + LABEL_FONT_SIZE + 6;\n } else if (horizontalTree) {\n layoutHeight[i] = Math.max(width[i], LABEL_FONT_SIZE + 4);\n // labels of inner nodes sit between two levels\n if (model.outDegree[i] > 0)\n levelGap = Math.max(levelGap, labelWidth[i] + 28);\n } else if (type === \"radial\") {\n layoutWidth[i] = layoutHeight[i] = Math.max(\n width[i],\n LABEL_FONT_SIZE + 2,\n );\n }\n }\n return {\n width,\n height,\n layoutWidth,\n layoutHeight,\n kind,\n font,\n weight,\n labelWidth,\n levelGap: Math.min(280, levelGap),\n };\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const e=require("./force.cjs");var t={tree:56,radial:90,mindmap:40,org:44},n=(e,t)=>{let n={i:e,parent:null,children:[],A:null,z:0,m:0,c:0,s:0,t:null,idx:0,depth:t};return n.a=n,n},r=e=>e.children.length?e.children[0]:e.t,i=e=>e.children.length?e.children[e.children.length-1]:e.t,a=(e,t,n)=>{let r=n/(t.idx-e.idx);t.c-=r,t.s+=n,e.c+=r,t.z+=n,t.m+=n},o=e=>{let t=0,n=0;for(let r=e.children.length-1;r>=0;r--){let i=e.children[r];i.z+=t,i.m+=t,t+=i.s+(n+=i.c)}},s=(e,t,n)=>e.a.parent===t.parent?e.a:n,c=(e,t,n)=>{let c=(e,n,o)=>{if(!n)return o;let c=e,l=e,u=n,d=c.parent.children[0],f=c.m,p=l.m,m=u.m,h=d.m;for(;u=i(u),c=r(c),u&&c;){d=r(d),l=i(l),l.a=e;let n=u.z+m-c.z-f+t(u,c);n>0&&(a(s(u,e,o),e,n),f+=n,p+=n),m+=u.m,f+=c.m,h+=d.m,p+=l.m}return u&&!i(l)&&(l.t=u,l.m+=m-p),c&&!r(d)&&(d.t=c,d.m+=f-h,o=e),o},l=e=>{let n=e.parent.children,r=e.idx?n[e.idx-1]:null;if(e.children.length){o(e);let n=(e.children[0].z+e.children[e.children.length-1].z)/2;r?(e.z=r.z+t(e,r),e.m=e.z-n):e.z=n}else r&&(e.z=r.z+t(e,r));e.parent.A=c(e,r,e.parent.A||n[0])},u=[],d=[e];for(;d.length;){let e=d.pop();u.push(e);for(let t of e.children)d.push(t)}for(let e=u.length-1;e>=0;e--)l(u[e]);e.parent.m=-e.z;let f=[e];for(let e=0;e<f.length;e++){let t=f[e];t.i>=0&&(n[t.i]=t.z+t.parent.m),t.m+=t.parent.m;for(let e of t.children)f.push(e)}},l=e=>{let{n:t,type:r}=e,i=Array.from({length:t},()=>[]),a=new Uint8Array(t);for(let n=0;n<e.source.length;n++){let r=e.source[n],o=e.target[n];r===o||r<0||o<0||r>=t||o>=t||(i[r].push(o),a[o]=1)}let o=new Int32Array(t).fill(-1),s=new Int32Array(t),l=Array.from({length:t},()=>[]),u=new Uint8Array(t),d=[],f=e=>{if(u[e])return;u[e]=1,d.push(e);let t=[e];for(let e=0;e<t.length;e++){let n=t[e];for(let e of i[n])u[e]||(u[e]=1,o[e]=n,s[e]=s[n]+1,l[n].push(e),t.push(e))}};e.root>=0&&e.root<t&&f(e.root);for(let e=0;e<t;e++)a[e]||f(e);for(let e=0;e<t;e++)f(e);let p=new Uint8Array(t),m=[];for(let t of d){let n=[t];p[t]=1;for(let t=0;t<n.length;t++){let r=n[t];if(m.push(r),!e.collapsed.has(r))for(let e of l[r])p[e]=1,n.push(e)}}let h=new Uint8Array(t),g=new Uint8Array(t),_=Int32Array.from(s);if(r===`org`&&e.compact!==!1)for(let t of m){if(e.collapsed.has(t))continue;let n=l[t];n.length>=2&&n.every(t=>e.collapsed.has(t)||!l[t].length)&&(h[t]=1,n.forEach(e=>g[e]=1))}for(let e of m){let t=o[e];t<0||(_[e]=_[t]+1+(g[e]?l[t].indexOf(e):0))}let v=r===`mindmap`||r===`tree`&&(e.direction===`LR`||e.direction===`RL`),y=t=>r===`radial`?Math.max(e.width[t],e.height[t]):v?e.height[t]:e.width[t]+(g[t]?36:0),b=t=>r===`radial`?Math.max(e.width[t],e.height[t]):v?e.width[t]:e.height[t],x=e.siblingGap,S=(e,t)=>{let n=(y(e.i)+y(t.i))/2+x*(e.parent===t.parent?1:1.5);return r===`radial`?n/Math.max(1,e.depth):n},C=(t,r,i=0)=>{let a=n(t,_[t]+i),o=[[a,r??(e.collapsed.has(t)?[]:l[t])]];for(;o.length;){let[t,s]=o.pop();if((!r||t!==a)&&h[t.i]&&s.length){let e=t;for(let t of s){let r=n(t,_[t]+i);r.parent=e,e.children.push(r),e=r}continue}s.forEach((r,a)=>{let s=n(r,_[r]+i);s.parent=t,s.idx=a,t.children.push(s),o.push([s,e.collapsed.has(r)?[]:l[r]])})}return a},w=e=>{let t=n(-1,-1);return t.children=[e],e.parent=t,t},T=new Float64Array(t),E=new Float64Array(t),D=new Float64Array(t),O=new Float64Array(t),k=e.levelGap;if(r===`mindmap`&&d.length){let n=d[0],r=[...e.collapsed.has(n)?[]:l[n],...d.slice(1)],i=r.map(t=>{let n=0,r=[t];for(;r.length;){let t=r.pop(),i=e.collapsed.has(t)?[]:l[t];i.length?r.push(...i):n++}return n}),a=i.reduce((e,t)=>e+t,0),o=0,s=0;for(;s<r.length&&(o<a/2||s===0);)o+=i[s++];let u=[[r.slice(0,s),1],[r.slice(s),-1]],f=new Float64Array(t);for(let[e,t]of u){if(!e.length)continue;let r=C(n,e);w(r),c(r,S,T);let i=T[n],a=[r];for(let e=0;e<a.length;e++){let n=a[e];for(let e of n.children)f[e.i]=f[n.i]+(b(n.i)+b(e.i))/2+k,E[e.i]=t*f[e.i],D[e.i]=T[e.i]-i,O[e.i]=t,a.push(e)}}E[n]=0,D[n]=0}else if(d.length){let t=d.length>1,i;if(t?(i=n(-1,-1),d.forEach((e,t)=>{let n=C(e);n.parent=i,n.idx=t,i.children.push(n)})):i=C(d[0]),w(i),c(i,S,T),r===`radial`){let e=1/0,n=-1/0,r=0;for(let t of m)e=Math.min(e,T[t]),n=Math.max(n,T[t]),r=Math.max(r,s[t]);let i=0;for(let e of m)i=Math.max(i,y(e));let a=n-e+(i+x)/Math.max(1,r),o=Math.max(k,a/(2*Math.PI));for(let n of m){let r=a>0?(T[n]-e)/a*Math.PI*2:0,i=(s[n]+ +!!t)*o;O[n]=r-Math.PI/2,E[n]=i*Math.cos(O[n]),D[n]=i*Math.sin(O[n])}}else{let t=[],n=[];for(let e of m){let r=_[e];t[r]=Math.max(t[r]??0,b(e));let i=!!g[e]&&l[o[e]].indexOf(e)>0;n[r]=(n[r]??!0)&&i}let i=[0];for(let e=1;e<t.length;e++)i[e]=i[e-1]+((t[e-1]??0)+(t[e]??0))/2+(n[e]?Math.max(10,x):k);let a=r===`org`?`TB`:e.direction;for(let e of m){let t=T[e]+(g[e]?18:0),n=i[_[e]];a===`LR`?(E[e]=n,D[e]=t):a===`RL`?(E[e]=-n,D[e]=t):a===`BT`?(E[e]=t,D[e]=-n):(E[e]=t,D[e]=n)}}}for(let e=0;e<t;e++){if(p[e])continue;let t=o[e];for(;t>=0&&!p[t];)t=o[t];t>=0&&(E[e]=E[t],D[e]=D[t],O[e]=O[t])}return{x:E,y:D,parent:o,depth:s,visible:p,side:O,children:l,stacked:g}},u=(n,r,i={})=>{let{index:a,source:o,target:s}=e.indexGraph(n,r),c=i.type??`tree`,u=new Float64Array(n.length),d=new Float64Array(n.length),f=i.cardSize??[168,60];return n.forEach((e,t)=>{let[n,r]=i.size?.(e,t)??(c===`org`?f:[16,16]);u[t]=n,d[t]=r}),l({n:n.length,source:o,target:s,width:u,height:d,type:c,direction:i.direction??`LR`,root:i.root===void 0?-1:a.get(i.root)??-1,levelGap:i.levelGap??t[c],siblingGap:i.siblingGap??12,collapsed:i.collapsed??new Set,compact:i.compact})};exports.TREE_LEVEL_GAP=t,exports.tidyTreeLayout=l,exports.treeLayout=u;
|
|
2
|
+
//# sourceMappingURL=tree.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.cjs","names":["indexGraph","require_force","TREE_LEVEL_GAP","tn","node","nextLeft","v","nextRight","moveSubtree","change","shift","wp","wm","executeShifts","i","w","nextAncestor","vim","ancestor","tidy","apportion","vip","vop","vom","sip","sop","sim","som","separation","firstWalk","siblings","midpoint","pre","stack","root","c","k","order","tidyTreeLayout","input","out","n","hasParent","e","s","t","parent","depth","children","visited","roots","grow","r","queue","visible","shown","stackedParent","stacked","ldepth","type","kids","p","horizontal","breadth","along","gap","base","a","b","build","top","depthOffset","list","prev","child","holder","h","X","x","y","side","levelGap","center","weights","count","total","acc","split","sides","dpos","dir","multi","sub","min","max","maxDepth","typical","span","ring","levels","tight","d","rest","levelPos","treeLayout","nodes","edges","options","width","height","card","index"],"sources":["../../../../../charts/src/engine/graph/tree.ts"],"sourcesContent":["// Tree layouts: tidy tree (Buchheim / Walker, linear time, d3-hierarchy's\n// formulation with size-aware separation), radial tree, two-sided mind map\n// and org chart. Collapsed nodes hide their descendants. No DOM.\n\nimport { indexGraph } from \"./force\";\nimport type {\n GraphDirection,\n GraphEdge,\n GraphNode,\n GraphTreeLayoutOptions,\n GraphTreeLayoutResult,\n} from \"./types\";\n\nexport type TreeType = \"tree\" | \"radial\" | \"mindmap\" | \"org\";\n\nexport interface TreeInput {\n n: number;\n source: ArrayLike<number>;\n target: ArrayLike<number>;\n width: ArrayLike<number>;\n height: ArrayLike<number>;\n type: TreeType;\n direction: GraphDirection;\n /** Index of the root, -1 = nodes without a parent */\n root: number;\n levelGap: number;\n siblingGap: number;\n collapsed: ReadonlySet<number>;\n /** Org charts: leaf children are stacked in a column under their parent */\n compact?: boolean;\n}\n\n/** Shift of stacked org chart cards to the right of their parent (room for the connector) */\nexport const STACK_SHIFT = 18;\n\n/** Default gap between levels of each tree type */\nexport const TREE_LEVEL_GAP: Record<TreeType, number> = {\n tree: 56,\n radial: 90,\n mindmap: 40,\n org: 44,\n};\n\ninterface TN {\n i: number;\n parent: TN | null;\n children: TN[];\n A: TN | null;\n a: TN;\n z: number;\n m: number;\n c: number;\n s: number;\n t: TN | null;\n idx: number;\n depth: number;\n}\n\nconst tn = (i: number, depth: number): TN => {\n const node = {\n i,\n parent: null,\n children: [],\n A: null,\n z: 0,\n m: 0,\n c: 0,\n s: 0,\n t: null,\n idx: 0,\n depth,\n } as unknown as TN;\n node.a = node;\n return node;\n};\n\nconst nextLeft = (v: TN) => (v.children.length ? v.children[0] : v.t);\nconst nextRight = (v: TN) =>\n v.children.length ? v.children[v.children.length - 1] : v.t;\n\nconst moveSubtree = (wm: TN, wp: TN, shift: number) => {\n const change = shift / (wp.idx - wm.idx);\n wp.c -= change;\n wp.s += shift;\n wm.c += change;\n wp.z += shift;\n wp.m += shift;\n};\n\nconst executeShifts = (v: TN) => {\n let shift = 0;\n let change = 0;\n for (let i = v.children.length - 1; i >= 0; i--) {\n const w = v.children[i];\n w.z += shift;\n w.m += shift;\n shift += w.s + (change += w.c);\n }\n};\n\nconst nextAncestor = (vim: TN, v: TN, ancestor: TN) =>\n vim.a.parent === v.parent ? vim.a : ancestor;\n\n/**\n * Tidy layout of the tree below `root` (whose `parent` must be set to a\n * holder node): writes the breadth coordinate of every node in `out`\n */\nconst tidy = (\n root: TN,\n separation: (a: TN, b: TN) => number,\n out: Float64Array,\n) => {\n const apportion = (v: TN, w: TN | null, ancestor: TN): TN => {\n if (!w) return ancestor;\n let vip: TN | null = v;\n let vop: TN = v;\n let vim: TN | null = w;\n let vom: TN = vip.parent!.children[0];\n let sip = vip.m;\n let sop = vop.m;\n let sim = vim.m;\n let som = vom.m;\n for (;;) {\n vim = nextRight(vim);\n vip = nextLeft(vip);\n if (!vim || !vip) break;\n vom = nextLeft(vom)!;\n vop = nextRight(vop)!;\n vop.a = v;\n const shift = vim.z + sim - vip.z - sip + separation(vim, vip);\n if (shift > 0) {\n moveSubtree(nextAncestor(vim, v, ancestor), v, shift);\n sip += shift;\n sop += shift;\n }\n sim += vim.m;\n sip += vip.m;\n som += vom.m;\n sop += vop.m;\n }\n if (vim && !nextRight(vop)) {\n vop.t = vim;\n vop.m += sim - sop;\n }\n if (vip && !nextLeft(vom)) {\n vom.t = vip;\n vom.m += sip - som;\n ancestor = v;\n }\n return ancestor;\n };\n\n const firstWalk = (v: TN) => {\n const siblings = v.parent!.children;\n const w = v.idx ? siblings[v.idx - 1] : null;\n if (v.children.length) {\n executeShifts(v);\n const midpoint =\n (v.children[0].z + v.children[v.children.length - 1].z) / 2;\n if (w) {\n v.z = w.z + separation(v, w);\n v.m = v.z - midpoint;\n } else {\n v.z = midpoint;\n }\n } else if (w) {\n v.z = w.z + separation(v, w);\n }\n v.parent!.A = apportion(v, w, v.parent!.A || siblings[0]);\n };\n\n // pre-order (right to left); reversed it is the post-order (left to right)\n const pre: TN[] = [];\n const stack = [root];\n while (stack.length) {\n const v = stack.pop()!;\n pre.push(v);\n for (const c of v.children) stack.push(c);\n }\n for (let k = pre.length - 1; k >= 0; k--) firstWalk(pre[k]);\n root.parent!.m = -root.z;\n // parents before children\n const order: TN[] = [root];\n for (let k = 0; k < order.length; k++) {\n const v = order[k];\n if (v.i >= 0) out[v.i] = v.z + v.parent!.m;\n v.m += v.parent!.m;\n for (const c of v.children) order.push(c);\n }\n};\n\n/** Tree layouts on index data */\nexport const tidyTreeLayout = (input: TreeInput): GraphTreeLayoutResult => {\n const { n, type } = input;\n const out: number[][] = Array.from({ length: n }, () => []);\n const hasParent = new Uint8Array(n);\n for (let e = 0; e < input.source.length; e++) {\n const s = input.source[e];\n const t = input.target[e];\n if (s === t || s < 0 || t < 0 || s >= n || t >= n) continue;\n out[s].push(t);\n hasParent[t] = 1;\n }\n const parent = new Int32Array(n).fill(-1);\n const depth = new Int32Array(n);\n const children: number[][] = Array.from({ length: n }, () => []);\n const visited = new Uint8Array(n);\n const roots: number[] = [];\n const grow = (r: number) => {\n if (visited[r]) return;\n visited[r] = 1;\n roots.push(r);\n const queue = [r];\n for (let k = 0; k < queue.length; k++) {\n const v = queue[k];\n for (const w of out[v]) {\n if (visited[w]) continue;\n visited[w] = 1;\n parent[w] = v;\n depth[w] = depth[v] + 1;\n children[v].push(w);\n queue.push(w);\n }\n }\n };\n if (input.root >= 0 && input.root < n) grow(input.root);\n for (let v = 0; v < n; v++) if (!hasParent[v]) grow(v);\n for (let v = 0; v < n; v++) grow(v);\n\n // visible nodes (descendants of collapsed nodes are hidden)\n const visible = new Uint8Array(n);\n const shown: number[] = [];\n for (const r of roots) {\n const queue = [r];\n visible[r] = 1;\n for (let k = 0; k < queue.length; k++) {\n const v = queue[k];\n shown.push(v);\n if (input.collapsed.has(v)) continue;\n for (const c of children[v]) {\n visible[c] = 1;\n queue.push(c);\n }\n }\n }\n\n // org charts: the leaf children of a node form a column (compact)\n const stackedParent = new Uint8Array(n);\n const stacked = new Uint8Array(n);\n const ldepth = Int32Array.from(depth);\n if (type === \"org\" && input.compact !== false) {\n for (const v of shown) {\n if (input.collapsed.has(v)) continue;\n const kids = children[v];\n if (\n kids.length >= 2 &&\n kids.every((c) => input.collapsed.has(c) || !children[c].length)\n ) {\n stackedParent[v] = 1;\n kids.forEach((c) => (stacked[c] = 1));\n }\n }\n }\n for (const v of shown) {\n const p = parent[v];\n if (p < 0) continue;\n ldepth[v] = ldepth[p] + 1 + (stacked[v] ? children[p].indexOf(v) : 0);\n }\n\n const horizontal =\n type === \"mindmap\" ||\n (type === \"tree\" && (input.direction === \"LR\" || input.direction === \"RL\"));\n const breadth = (i: number) =>\n type === \"radial\"\n ? Math.max(input.width[i], input.height[i])\n : horizontal\n ? input.height[i]\n : input.width[i] + (stacked[i] ? STACK_SHIFT * 2 : 0);\n const along = (i: number) =>\n type === \"radial\"\n ? Math.max(input.width[i], input.height[i])\n : horizontal\n ? input.width[i]\n : input.height[i];\n const gap = input.siblingGap;\n const separation = (a: TN, b: TN) => {\n const base =\n (breadth(a.i) + breadth(b.i)) / 2 +\n gap * (a.parent === b.parent ? 1 : 1.5);\n return type === \"radial\" ? base / Math.max(1, a.depth) : base;\n };\n\n /** Builds the visible subtree of `i` (with `kids` as its children when given) */\n const build = (i: number, kids?: number[], depthOffset = 0): TN => {\n const top = tn(i, ldepth[i] + depthOffset);\n const stack: [TN, number[]][] = [\n [top, kids ?? (input.collapsed.has(i) ? [] : children[i])],\n ];\n while (stack.length) {\n const [node, list] = stack.pop()!;\n if (!kids || node !== top) {\n if (stackedParent[node.i] && list.length) {\n // a chain: every card is the only child of the previous one\n let prev = node;\n for (const c of list) {\n const child = tn(c, ldepth[c] + depthOffset);\n child.parent = prev;\n prev.children.push(child);\n prev = child;\n }\n continue;\n }\n }\n list.forEach((c, k) => {\n const child = tn(c, ldepth[c] + depthOffset);\n child.parent = node;\n child.idx = k;\n node.children.push(child);\n stack.push([child, input.collapsed.has(c) ? [] : children[c]]);\n });\n }\n return top;\n };\n const holder = (root: TN) => {\n const h = tn(-1, -1);\n h.children = [root];\n root.parent = h;\n return h;\n };\n\n const X = new Float64Array(n);\n const x = new Float64Array(n);\n const y = new Float64Array(n);\n const side = new Float64Array(n);\n const levelGap = input.levelGap;\n\n if (type === \"mindmap\" && roots.length) {\n const center = roots[0];\n const kids = [\n ...(input.collapsed.has(center) ? [] : children[center]),\n ...roots.slice(1),\n ];\n const leaves = (i: number): number => {\n let count = 0;\n const stack = [i];\n while (stack.length) {\n const v = stack.pop()!;\n const list = input.collapsed.has(v) ? [] : children[v];\n if (!list.length) count++;\n else stack.push(...list);\n }\n return count;\n };\n const weights = kids.map(leaves);\n const total = weights.reduce((a, b) => a + b, 0);\n let acc = 0;\n let split = 0;\n while (split < kids.length && (acc < total / 2 || split === 0)) {\n acc += weights[split++];\n }\n const sides: [number[], number][] = [\n [kids.slice(0, split), 1],\n [kids.slice(split), -1],\n ];\n const dpos = new Float64Array(n);\n for (const [list, dir] of sides) {\n if (!list.length) continue;\n const root = build(center, list);\n holder(root);\n tidy(root, separation, X);\n const base = X[center];\n // the extra roots hang below the center\n const order: TN[] = [root];\n for (let k = 0; k < order.length; k++) {\n const v = order[k];\n for (const c of v.children) {\n dpos[c.i] = dpos[v.i] + (along(v.i) + along(c.i)) / 2 + levelGap;\n x[c.i] = dir * dpos[c.i];\n y[c.i] = X[c.i] - base;\n side[c.i] = dir;\n order.push(c);\n }\n }\n }\n x[center] = 0;\n y[center] = 0;\n } else if (roots.length) {\n // several roots: a virtual parent keeps them side by side\n const multi = roots.length > 1;\n let top: TN;\n if (multi) {\n top = tn(-1, -1);\n roots.forEach((r, k) => {\n const sub = build(r);\n sub.parent = top;\n sub.idx = k;\n top.children.push(sub);\n });\n } else {\n top = build(roots[0]);\n }\n holder(top);\n tidy(top, separation, X);\n\n if (type === \"radial\") {\n let min = Infinity;\n let max = -Infinity;\n let maxDepth = 0;\n for (const v of shown) {\n min = Math.min(min, X[v]);\n max = Math.max(max, X[v]);\n maxDepth = Math.max(maxDepth, depth[v]);\n }\n let typical = 0;\n for (const v of shown) typical = Math.max(typical, breadth(v));\n const span = max - min + (typical + gap) / Math.max(1, maxDepth);\n const ring = Math.max(levelGap, span / (2 * Math.PI));\n for (const v of shown) {\n const a = span > 0 ? ((X[v] - min) / span) * Math.PI * 2 : 0;\n const r = (depth[v] + (multi ? 1 : 0)) * ring;\n side[v] = a - Math.PI / 2;\n x[v] = r * Math.cos(side[v]);\n y[v] = r * Math.sin(side[v]);\n }\n } else {\n const levels: number[] = [];\n // levels holding only the rest of card columns are packed tighter\n const tight: boolean[] = [];\n for (const v of shown) {\n const d = ldepth[v];\n levels[d] = Math.max(levels[d] ?? 0, along(v));\n const rest = !!stacked[v] && children[parent[v]].indexOf(v) > 0;\n tight[d] = (tight[d] ?? true) && rest;\n }\n const levelPos = [0];\n for (let d = 1; d < levels.length; d++) {\n levelPos[d] =\n levelPos[d - 1] +\n ((levels[d - 1] ?? 0) + (levels[d] ?? 0)) / 2 +\n (tight[d] ? Math.max(10, gap) : levelGap);\n }\n const dir = type === \"org\" ? \"TB\" : input.direction;\n for (const v of shown) {\n const b = X[v] + (stacked[v] ? STACK_SHIFT : 0);\n const d = levelPos[ldepth[v]];\n if (dir === \"LR\") {\n x[v] = d;\n y[v] = b;\n } else if (dir === \"RL\") {\n x[v] = -d;\n y[v] = b;\n } else if (dir === \"BT\") {\n x[v] = b;\n y[v] = -d;\n } else {\n x[v] = b;\n y[v] = d;\n }\n }\n }\n }\n\n // hidden nodes sit on their closest visible ancestor (collapse animations)\n for (let v = 0; v < n; v++) {\n if (visible[v]) continue;\n let a = parent[v];\n while (a >= 0 && !visible[a]) a = parent[a];\n if (a >= 0) {\n x[v] = x[a];\n y[v] = y[a];\n side[v] = side[a];\n }\n }\n return { x, y, parent, depth, visible, side, children, stacked };\n};\n\n/**\n * Tree layouts of a hierarchy given as parent → child edges: tidy tree,\n * radial tree, two-sided mind map or org chart. Edges that would make a\n * cycle or give a second parent are ignored.\n */\nexport const treeLayout = (\n nodes: readonly GraphNode[],\n edges: readonly GraphEdge[],\n options: GraphTreeLayoutOptions = {},\n): GraphTreeLayoutResult => {\n const { index, source, target } = indexGraph(nodes, edges);\n const type = options.type ?? \"tree\";\n const width = new Float64Array(nodes.length);\n const height = new Float64Array(nodes.length);\n const card = options.cardSize ?? [168, 60];\n nodes.forEach((node, i) => {\n const [w, h] =\n options.size?.(node, i) ?? (type === \"org\" ? card : [16, 16]);\n width[i] = w;\n height[i] = h;\n });\n return tidyTreeLayout({\n n: nodes.length,\n source,\n target,\n width,\n height,\n type,\n direction: options.direction ?? \"LR\",\n root: options.root !== undefined ? (index.get(options.root) ?? -1) : -1,\n levelGap: options.levelGap ?? TREE_LEVEL_GAP[type],\n siblingGap: options.siblingGap ?? 12,\n collapsed: options.collapsed ?? new Set(),\n compact: options.compact,\n });\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { GraphDirection, GraphEdge, GraphNode, GraphTreeLayoutOptions, GraphTreeLayoutResult } from './types.cjs';
|
|
2
|
+
export type TreeType = "tree" | "radial" | "mindmap" | "org";
|
|
3
|
+
export interface TreeInput {
|
|
4
|
+
n: number;
|
|
5
|
+
source: ArrayLike<number>;
|
|
6
|
+
target: ArrayLike<number>;
|
|
7
|
+
width: ArrayLike<number>;
|
|
8
|
+
height: ArrayLike<number>;
|
|
9
|
+
type: TreeType;
|
|
10
|
+
direction: GraphDirection;
|
|
11
|
+
/** Index of the root, -1 = nodes without a parent */
|
|
12
|
+
root: number;
|
|
13
|
+
levelGap: number;
|
|
14
|
+
siblingGap: number;
|
|
15
|
+
collapsed: ReadonlySet<number>;
|
|
16
|
+
/** Org charts: leaf children are stacked in a column under their parent */
|
|
17
|
+
compact?: boolean;
|
|
18
|
+
}
|
|
19
|
+
/** Shift of stacked org chart cards to the right of their parent (room for the connector) */
|
|
20
|
+
export declare const STACK_SHIFT = 18;
|
|
21
|
+
/** Default gap between levels of each tree type */
|
|
22
|
+
export declare const TREE_LEVEL_GAP: Record<TreeType, number>;
|
|
23
|
+
/** Tree layouts on index data */
|
|
24
|
+
export declare const tidyTreeLayout: (input: TreeInput) => GraphTreeLayoutResult;
|
|
25
|
+
/**
|
|
26
|
+
* Tree layouts of a hierarchy given as parent → child edges: tidy tree,
|
|
27
|
+
* radial tree, two-sided mind map or org chart. Edges that would make a
|
|
28
|
+
* cycle or give a second parent are ignored.
|
|
29
|
+
*/
|
|
30
|
+
export declare const treeLayout: (nodes: readonly GraphNode[], edges: readonly GraphEdge[], options?: GraphTreeLayoutOptions) => GraphTreeLayoutResult;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { GraphDirection, GraphEdge, GraphNode, GraphTreeLayoutOptions, GraphTreeLayoutResult } from './types.js';
|
|
2
|
+
export type TreeType = "tree" | "radial" | "mindmap" | "org";
|
|
3
|
+
export interface TreeInput {
|
|
4
|
+
n: number;
|
|
5
|
+
source: ArrayLike<number>;
|
|
6
|
+
target: ArrayLike<number>;
|
|
7
|
+
width: ArrayLike<number>;
|
|
8
|
+
height: ArrayLike<number>;
|
|
9
|
+
type: TreeType;
|
|
10
|
+
direction: GraphDirection;
|
|
11
|
+
/** Index of the root, -1 = nodes without a parent */
|
|
12
|
+
root: number;
|
|
13
|
+
levelGap: number;
|
|
14
|
+
siblingGap: number;
|
|
15
|
+
collapsed: ReadonlySet<number>;
|
|
16
|
+
/** Org charts: leaf children are stacked in a column under their parent */
|
|
17
|
+
compact?: boolean;
|
|
18
|
+
}
|
|
19
|
+
/** Shift of stacked org chart cards to the right of their parent (room for the connector) */
|
|
20
|
+
export declare const STACK_SHIFT = 18;
|
|
21
|
+
/** Default gap between levels of each tree type */
|
|
22
|
+
export declare const TREE_LEVEL_GAP: Record<TreeType, number>;
|
|
23
|
+
/** Tree layouts on index data */
|
|
24
|
+
export declare const tidyTreeLayout: (input: TreeInput) => GraphTreeLayoutResult;
|
|
25
|
+
/**
|
|
26
|
+
* Tree layouts of a hierarchy given as parent → child edges: tidy tree,
|
|
27
|
+
* radial tree, two-sided mind map or org chart. Edges that would make a
|
|
28
|
+
* cycle or give a second parent are ignored.
|
|
29
|
+
*/
|
|
30
|
+
export declare const treeLayout: (nodes: readonly GraphNode[], edges: readonly GraphEdge[], options?: GraphTreeLayoutOptions) => GraphTreeLayoutResult;
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import { indexGraph as e } from "./force.js";
|
|
2
|
+
var t = {
|
|
3
|
+
tree: 56,
|
|
4
|
+
radial: 90,
|
|
5
|
+
mindmap: 40,
|
|
6
|
+
org: 44
|
|
7
|
+
}, n = (e, t) => {
|
|
8
|
+
let n = {
|
|
9
|
+
i: e,
|
|
10
|
+
parent: null,
|
|
11
|
+
children: [],
|
|
12
|
+
A: null,
|
|
13
|
+
z: 0,
|
|
14
|
+
m: 0,
|
|
15
|
+
c: 0,
|
|
16
|
+
s: 0,
|
|
17
|
+
t: null,
|
|
18
|
+
idx: 0,
|
|
19
|
+
depth: t
|
|
20
|
+
};
|
|
21
|
+
return n.a = n, n;
|
|
22
|
+
}, r = (e) => e.children.length ? e.children[0] : e.t, i = (e) => e.children.length ? e.children[e.children.length - 1] : e.t, a = (e, t, n) => {
|
|
23
|
+
let r = n / (t.idx - e.idx);
|
|
24
|
+
t.c -= r, t.s += n, e.c += r, t.z += n, t.m += n;
|
|
25
|
+
}, o = (e) => {
|
|
26
|
+
let t = 0, n = 0;
|
|
27
|
+
for (let r = e.children.length - 1; r >= 0; r--) {
|
|
28
|
+
let i = e.children[r];
|
|
29
|
+
i.z += t, i.m += t, t += i.s + (n += i.c);
|
|
30
|
+
}
|
|
31
|
+
}, s = (e, t, n) => e.a.parent === t.parent ? e.a : n, c = (e, t, n) => {
|
|
32
|
+
let c = (e, n, o) => {
|
|
33
|
+
if (!n) return o;
|
|
34
|
+
let c = e, l = e, u = n, d = c.parent.children[0], f = c.m, p = l.m, m = u.m, h = d.m;
|
|
35
|
+
for (; u = i(u), c = r(c), u && c;) {
|
|
36
|
+
d = r(d), l = i(l), l.a = e;
|
|
37
|
+
let n = u.z + m - c.z - f + t(u, c);
|
|
38
|
+
n > 0 && (a(s(u, e, o), e, n), f += n, p += n), m += u.m, f += c.m, h += d.m, p += l.m;
|
|
39
|
+
}
|
|
40
|
+
return u && !i(l) && (l.t = u, l.m += m - p), c && !r(d) && (d.t = c, d.m += f - h, o = e), o;
|
|
41
|
+
}, l = (e) => {
|
|
42
|
+
let n = e.parent.children, r = e.idx ? n[e.idx - 1] : null;
|
|
43
|
+
if (e.children.length) {
|
|
44
|
+
o(e);
|
|
45
|
+
let n = (e.children[0].z + e.children[e.children.length - 1].z) / 2;
|
|
46
|
+
r ? (e.z = r.z + t(e, r), e.m = e.z - n) : e.z = n;
|
|
47
|
+
} else r && (e.z = r.z + t(e, r));
|
|
48
|
+
e.parent.A = c(e, r, e.parent.A || n[0]);
|
|
49
|
+
}, u = [], d = [e];
|
|
50
|
+
for (; d.length;) {
|
|
51
|
+
let e = d.pop();
|
|
52
|
+
u.push(e);
|
|
53
|
+
for (let t of e.children) d.push(t);
|
|
54
|
+
}
|
|
55
|
+
for (let e = u.length - 1; e >= 0; e--) l(u[e]);
|
|
56
|
+
e.parent.m = -e.z;
|
|
57
|
+
let f = [e];
|
|
58
|
+
for (let e = 0; e < f.length; e++) {
|
|
59
|
+
let t = f[e];
|
|
60
|
+
t.i >= 0 && (n[t.i] = t.z + t.parent.m), t.m += t.parent.m;
|
|
61
|
+
for (let e of t.children) f.push(e);
|
|
62
|
+
}
|
|
63
|
+
}, l = (e) => {
|
|
64
|
+
let { n: t, type: r } = e, i = Array.from({ length: t }, () => []), a = new Uint8Array(t);
|
|
65
|
+
for (let n = 0; n < e.source.length; n++) {
|
|
66
|
+
let r = e.source[n], o = e.target[n];
|
|
67
|
+
r === o || r < 0 || o < 0 || r >= t || o >= t || (i[r].push(o), a[o] = 1);
|
|
68
|
+
}
|
|
69
|
+
let o = new Int32Array(t).fill(-1), s = new Int32Array(t), l = Array.from({ length: t }, () => []), u = new Uint8Array(t), d = [], f = (e) => {
|
|
70
|
+
if (u[e]) return;
|
|
71
|
+
u[e] = 1, d.push(e);
|
|
72
|
+
let t = [e];
|
|
73
|
+
for (let e = 0; e < t.length; e++) {
|
|
74
|
+
let n = t[e];
|
|
75
|
+
for (let e of i[n]) u[e] || (u[e] = 1, o[e] = n, s[e] = s[n] + 1, l[n].push(e), t.push(e));
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
e.root >= 0 && e.root < t && f(e.root);
|
|
79
|
+
for (let e = 0; e < t; e++) a[e] || f(e);
|
|
80
|
+
for (let e = 0; e < t; e++) f(e);
|
|
81
|
+
let p = new Uint8Array(t), m = [];
|
|
82
|
+
for (let t of d) {
|
|
83
|
+
let n = [t];
|
|
84
|
+
p[t] = 1;
|
|
85
|
+
for (let t = 0; t < n.length; t++) {
|
|
86
|
+
let r = n[t];
|
|
87
|
+
if (m.push(r), !e.collapsed.has(r)) for (let e of l[r]) p[e] = 1, n.push(e);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
let h = new Uint8Array(t), g = new Uint8Array(t), _ = Int32Array.from(s);
|
|
91
|
+
if (r === "org" && e.compact !== !1) for (let t of m) {
|
|
92
|
+
if (e.collapsed.has(t)) continue;
|
|
93
|
+
let n = l[t];
|
|
94
|
+
n.length >= 2 && n.every((t) => e.collapsed.has(t) || !l[t].length) && (h[t] = 1, n.forEach((e) => g[e] = 1));
|
|
95
|
+
}
|
|
96
|
+
for (let e of m) {
|
|
97
|
+
let t = o[e];
|
|
98
|
+
t < 0 || (_[e] = _[t] + 1 + (g[e] ? l[t].indexOf(e) : 0));
|
|
99
|
+
}
|
|
100
|
+
let v = r === "mindmap" || r === "tree" && (e.direction === "LR" || e.direction === "RL"), y = (t) => r === "radial" ? Math.max(e.width[t], e.height[t]) : v ? e.height[t] : e.width[t] + (g[t] ? 36 : 0), b = (t) => r === "radial" ? Math.max(e.width[t], e.height[t]) : v ? e.width[t] : e.height[t], x = e.siblingGap, S = (e, t) => {
|
|
101
|
+
let n = (y(e.i) + y(t.i)) / 2 + x * (e.parent === t.parent ? 1 : 1.5);
|
|
102
|
+
return r === "radial" ? n / Math.max(1, e.depth) : n;
|
|
103
|
+
}, C = (t, r, i = 0) => {
|
|
104
|
+
let a = n(t, _[t] + i), o = [[a, r ?? (e.collapsed.has(t) ? [] : l[t])]];
|
|
105
|
+
for (; o.length;) {
|
|
106
|
+
let [t, s] = o.pop();
|
|
107
|
+
if ((!r || t !== a) && h[t.i] && s.length) {
|
|
108
|
+
let e = t;
|
|
109
|
+
for (let t of s) {
|
|
110
|
+
let r = n(t, _[t] + i);
|
|
111
|
+
r.parent = e, e.children.push(r), e = r;
|
|
112
|
+
}
|
|
113
|
+
continue;
|
|
114
|
+
}
|
|
115
|
+
s.forEach((r, a) => {
|
|
116
|
+
let s = n(r, _[r] + i);
|
|
117
|
+
s.parent = t, s.idx = a, t.children.push(s), o.push([s, e.collapsed.has(r) ? [] : l[r]]);
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
return a;
|
|
121
|
+
}, w = (e) => {
|
|
122
|
+
let t = n(-1, -1);
|
|
123
|
+
return t.children = [e], e.parent = t, t;
|
|
124
|
+
}, T = new Float64Array(t), E = new Float64Array(t), D = new Float64Array(t), O = new Float64Array(t), k = e.levelGap;
|
|
125
|
+
if (r === "mindmap" && d.length) {
|
|
126
|
+
let n = d[0], r = [...e.collapsed.has(n) ? [] : l[n], ...d.slice(1)], i = r.map((t) => {
|
|
127
|
+
let n = 0, r = [t];
|
|
128
|
+
for (; r.length;) {
|
|
129
|
+
let t = r.pop(), i = e.collapsed.has(t) ? [] : l[t];
|
|
130
|
+
i.length ? r.push(...i) : n++;
|
|
131
|
+
}
|
|
132
|
+
return n;
|
|
133
|
+
}), a = i.reduce((e, t) => e + t, 0), o = 0, s = 0;
|
|
134
|
+
for (; s < r.length && (o < a / 2 || s === 0);) o += i[s++];
|
|
135
|
+
let u = [[r.slice(0, s), 1], [r.slice(s), -1]], f = new Float64Array(t);
|
|
136
|
+
for (let [e, t] of u) {
|
|
137
|
+
if (!e.length) continue;
|
|
138
|
+
let r = C(n, e);
|
|
139
|
+
w(r), c(r, S, T);
|
|
140
|
+
let i = T[n], a = [r];
|
|
141
|
+
for (let e = 0; e < a.length; e++) {
|
|
142
|
+
let n = a[e];
|
|
143
|
+
for (let e of n.children) f[e.i] = f[n.i] + (b(n.i) + b(e.i)) / 2 + k, E[e.i] = t * f[e.i], D[e.i] = T[e.i] - i, O[e.i] = t, a.push(e);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
E[n] = 0, D[n] = 0;
|
|
147
|
+
} else if (d.length) {
|
|
148
|
+
let t = d.length > 1, i;
|
|
149
|
+
if (t ? (i = n(-1, -1), d.forEach((e, t) => {
|
|
150
|
+
let n = C(e);
|
|
151
|
+
n.parent = i, n.idx = t, i.children.push(n);
|
|
152
|
+
})) : i = C(d[0]), w(i), c(i, S, T), r === "radial") {
|
|
153
|
+
let e = Infinity, n = -Infinity, r = 0;
|
|
154
|
+
for (let t of m) e = Math.min(e, T[t]), n = Math.max(n, T[t]), r = Math.max(r, s[t]);
|
|
155
|
+
let i = 0;
|
|
156
|
+
for (let e of m) i = Math.max(i, y(e));
|
|
157
|
+
let a = n - e + (i + x) / Math.max(1, r), o = Math.max(k, a / (2 * Math.PI));
|
|
158
|
+
for (let n of m) {
|
|
159
|
+
let r = a > 0 ? (T[n] - e) / a * Math.PI * 2 : 0, i = (s[n] + +!!t) * o;
|
|
160
|
+
O[n] = r - Math.PI / 2, E[n] = i * Math.cos(O[n]), D[n] = i * Math.sin(O[n]);
|
|
161
|
+
}
|
|
162
|
+
} else {
|
|
163
|
+
let t = [], n = [];
|
|
164
|
+
for (let e of m) {
|
|
165
|
+
let r = _[e];
|
|
166
|
+
t[r] = Math.max(t[r] ?? 0, b(e));
|
|
167
|
+
let i = !!g[e] && l[o[e]].indexOf(e) > 0;
|
|
168
|
+
n[r] = (n[r] ?? !0) && i;
|
|
169
|
+
}
|
|
170
|
+
let i = [0];
|
|
171
|
+
for (let e = 1; e < t.length; e++) i[e] = i[e - 1] + ((t[e - 1] ?? 0) + (t[e] ?? 0)) / 2 + (n[e] ? Math.max(10, x) : k);
|
|
172
|
+
let a = r === "org" ? "TB" : e.direction;
|
|
173
|
+
for (let e of m) {
|
|
174
|
+
let t = T[e] + (g[e] ? 18 : 0), n = i[_[e]];
|
|
175
|
+
a === "LR" ? (E[e] = n, D[e] = t) : a === "RL" ? (E[e] = -n, D[e] = t) : a === "BT" ? (E[e] = t, D[e] = -n) : (E[e] = t, D[e] = n);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
for (let e = 0; e < t; e++) {
|
|
180
|
+
if (p[e]) continue;
|
|
181
|
+
let t = o[e];
|
|
182
|
+
for (; t >= 0 && !p[t];) t = o[t];
|
|
183
|
+
t >= 0 && (E[e] = E[t], D[e] = D[t], O[e] = O[t]);
|
|
184
|
+
}
|
|
185
|
+
return {
|
|
186
|
+
x: E,
|
|
187
|
+
y: D,
|
|
188
|
+
parent: o,
|
|
189
|
+
depth: s,
|
|
190
|
+
visible: p,
|
|
191
|
+
side: O,
|
|
192
|
+
children: l,
|
|
193
|
+
stacked: g
|
|
194
|
+
};
|
|
195
|
+
}, u = (n, r, i = {}) => {
|
|
196
|
+
let { index: a, source: o, target: s } = e(n, r), c = i.type ?? "tree", u = new Float64Array(n.length), d = new Float64Array(n.length), f = i.cardSize ?? [168, 60];
|
|
197
|
+
return n.forEach((e, t) => {
|
|
198
|
+
let [n, r] = i.size?.(e, t) ?? (c === "org" ? f : [16, 16]);
|
|
199
|
+
u[t] = n, d[t] = r;
|
|
200
|
+
}), l({
|
|
201
|
+
n: n.length,
|
|
202
|
+
source: o,
|
|
203
|
+
target: s,
|
|
204
|
+
width: u,
|
|
205
|
+
height: d,
|
|
206
|
+
type: c,
|
|
207
|
+
direction: i.direction ?? "LR",
|
|
208
|
+
root: i.root === void 0 ? -1 : a.get(i.root) ?? -1,
|
|
209
|
+
levelGap: i.levelGap ?? t[c],
|
|
210
|
+
siblingGap: i.siblingGap ?? 12,
|
|
211
|
+
collapsed: i.collapsed ?? /* @__PURE__ */ new Set(),
|
|
212
|
+
compact: i.compact
|
|
213
|
+
});
|
|
214
|
+
};
|
|
215
|
+
//#endregion
|
|
216
|
+
export { t as TREE_LEVEL_GAP, l as tidyTreeLayout, u as treeLayout };
|
|
217
|
+
|
|
218
|
+
//# sourceMappingURL=tree.js.map
|