minerva-design 1.4.0 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/README.md +21 -21
- package/custom-elements.json +3072 -611
- package/dist/angular/fesm2022/minerva-angular.mjs +1491 -5
- package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
- package/dist/angular/types/minerva-angular.d.ts +595 -5
- package/dist/charts/canvas.d.cts +4 -3
- package/dist/charts/canvas.d.ts +4 -3
- package/dist/charts/core.cjs +1 -1
- package/dist/charts/core.d.cts +6 -4
- package/dist/charts/core.d.ts +6 -4
- package/dist/charts/core.js +24 -16
- package/dist/charts/engine/axis.cjs +1 -1
- package/dist/charts/engine/axis.cjs.map +1 -1
- package/dist/charts/engine/axis.js +42 -19
- 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.js +155 -127
- 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.js +370 -255
- 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 +48 -2
- 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 +34 -1
- package/dist/charts/engine/controller.d.ts +34 -1
- package/dist/charts/engine/controller.js +318 -273
- 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 +3 -1
- package/dist/charts/engine/data.d.ts +3 -1
- package/dist/charts/engine/data.js +6 -4
- 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 +6 -0
- package/dist/charts/engine/format.d.ts +6 -0
- package/dist/charts/engine/format.js +15 -2
- 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 +1708 -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 +339 -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 +76 -0
- package/dist/charts/engine/graph/force.d.ts +76 -0
- package/dist/charts/engine/graph/force.js +423 -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 +50 -0
- package/dist/charts/engine/graph/geometry.d.ts +50 -0
- package/dist/charts/engine/graph/geometry.js +197 -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 +52 -0
- package/dist/charts/engine/graph/model.d.ts +52 -0
- package/dist/charts/engine/graph/model.js +108 -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 +640 -0
- package/dist/charts/engine/graph/types.d.ts +640 -0
- package/dist/charts/engine/graph/worker.cjs +52 -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 +135 -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 +131 -112
- package/dist/charts/engine/items.js.map +1 -1
- package/dist/charts/engine/labels.cjs +1 -1
- package/dist/charts/engine/labels.cjs.map +1 -1
- package/dist/charts/engine/labels.d.cts +17 -0
- package/dist/charts/engine/labels.d.ts +17 -0
- package/dist/charts/engine/labels.js +28 -4
- package/dist/charts/engine/labels.js.map +1 -1
- package/dist/charts/engine/layout.cjs +1 -1
- package/dist/charts/engine/layout.cjs.map +1 -1
- package/dist/charts/engine/layout.d.cts +9 -0
- package/dist/charts/engine/layout.d.ts +9 -0
- package/dist/charts/engine/layout.js +11 -2
- package/dist/charts/engine/layout.js.map +1 -1
- package/dist/charts/engine/model.cjs +1 -1
- package/dist/charts/engine/model.cjs.map +1 -1
- package/dist/charts/engine/model.d.cts +73 -3
- package/dist/charts/engine/model.d.ts +73 -3
- package/dist/charts/engine/model.js +258 -154
- package/dist/charts/engine/model.js.map +1 -1
- package/dist/charts/engine/orderbook/field.cjs +37 -0
- package/dist/charts/engine/orderbook/field.cjs.map +1 -0
- package/dist/charts/engine/orderbook/field.d.cts +92 -0
- package/dist/charts/engine/orderbook/field.d.ts +92 -0
- package/dist/charts/engine/orderbook/field.js +297 -0
- package/dist/charts/engine/orderbook/field.js.map +1 -0
- package/dist/charts/engine/orderbook/format.cjs +1 -1
- package/dist/charts/engine/orderbook/format.cjs.map +1 -1
- package/dist/charts/engine/orderbook/format.d.cts +3 -2
- package/dist/charts/engine/orderbook/format.d.ts +3 -2
- package/dist/charts/engine/orderbook/format.js +5 -5
- package/dist/charts/engine/orderbook/format.js.map +1 -1
- package/dist/charts/engine/orderbook/heatmap.cjs +1 -1
- package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -1
- package/dist/charts/engine/orderbook/heatmap.js +566 -475
- package/dist/charts/engine/orderbook/heatmap.js.map +1 -1
- package/dist/charts/engine/orderbook/host.cjs +1 -1
- package/dist/charts/engine/orderbook/host.cjs.map +1 -1
- package/dist/charts/engine/orderbook/host.d.cts +8 -1
- package/dist/charts/engine/orderbook/host.d.ts +8 -1
- package/dist/charts/engine/orderbook/host.js +27 -5
- package/dist/charts/engine/orderbook/host.js.map +1 -1
- package/dist/charts/engine/orderbook/ladder.cjs +1 -1
- package/dist/charts/engine/orderbook/ladder.cjs.map +1 -1
- package/dist/charts/engine/orderbook/ladder.js +1 -1
- package/dist/charts/engine/orderbook/ladder.js.map +1 -1
- 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 +42 -0
- package/dist/charts/engine/orderbook/layout.d.ts +42 -0
- package/dist/charts/engine/orderbook/layout.js +76 -0
- package/dist/charts/engine/orderbook/layout.js.map +1 -0
- package/dist/charts/engine/orderbook/tape.cjs +1 -1
- package/dist/charts/engine/orderbook/tape.cjs.map +1 -1
- package/dist/charts/engine/orderbook/tape.js +4 -4
- package/dist/charts/engine/orderbook/tape.js.map +1 -1
- package/dist/charts/engine/orderbook/types.d.cts +27 -3
- package/dist/charts/engine/orderbook/types.d.ts +27 -3
- package/dist/charts/engine/overlay.cjs +1 -1
- package/dist/charts/engine/overlay.cjs.map +1 -1
- package/dist/charts/engine/overlay.d.cts +27 -0
- package/dist/charts/engine/overlay.d.ts +27 -0
- package/dist/charts/engine/overlay.js +34 -12
- 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 +35 -3
- package/dist/charts/engine/presets.d.ts +35 -3
- package/dist/charts/engine/presets.js +121 -101
- package/dist/charts/engine/presets.js.map +1 -1
- package/dist/charts/engine/renderers/canvas2d.cjs +1 -1
- package/dist/charts/engine/renderers/canvas2d.cjs.map +1 -1
- package/dist/charts/engine/renderers/canvas2d.js +13 -9
- package/dist/charts/engine/renderers/canvas2d.js.map +1 -1
- package/dist/charts/engine/renderers/detect.cjs +1 -1
- package/dist/charts/engine/renderers/detect.cjs.map +1 -1
- package/dist/charts/engine/renderers/detect.d.cts +2 -1
- package/dist/charts/engine/renderers/detect.d.ts +2 -1
- package/dist/charts/engine/renderers/detect.js +23 -21
- package/dist/charts/engine/renderers/detect.js.map +1 -1
- package/dist/charts/engine/renderers/follow.cjs +2 -0
- package/dist/charts/engine/renderers/follow.cjs.map +1 -0
- package/dist/charts/engine/renderers/follow.d.cts +8 -0
- package/dist/charts/engine/renderers/follow.d.ts +8 -0
- package/dist/charts/engine/renderers/follow.js +10 -0
- package/dist/charts/engine/renderers/follow.js.map +1 -0
- package/dist/charts/engine/renderers/gl-budget.cjs +2 -0
- package/dist/charts/engine/renderers/gl-budget.cjs.map +1 -0
- package/dist/charts/engine/renderers/gl-budget.d.cts +32 -0
- package/dist/charts/engine/renderers/gl-budget.d.ts +32 -0
- package/dist/charts/engine/renderers/gl-budget.js +95 -0
- package/dist/charts/engine/renderers/gl-budget.js.map +1 -0
- package/dist/charts/engine/renderers/gl.cjs +1 -1
- package/dist/charts/engine/renderers/gl.cjs.map +1 -1
- package/dist/charts/engine/renderers/gl.js +1 -1
- package/dist/charts/engine/renderers/gl.js.map +1 -1
- package/dist/charts/engine/renderers/shaders.cjs +9 -6
- package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
- package/dist/charts/engine/renderers/shaders.d.cts +1 -1
- package/dist/charts/engine/renderers/shaders.d.ts +1 -1
- package/dist/charts/engine/renderers/shaders.js +9 -6
- package/dist/charts/engine/renderers/shaders.js.map +1 -1
- package/dist/charts/engine/renderers/types.cjs.map +1 -1
- package/dist/charts/engine/renderers/types.d.cts +2 -0
- package/dist/charts/engine/renderers/types.d.ts +2 -0
- package/dist/charts/engine/renderers/types.js.map +1 -1
- package/dist/charts/engine/renderers/webgl.cjs +1 -1
- package/dist/charts/engine/renderers/webgl.cjs.map +1 -1
- package/dist/charts/engine/renderers/webgl.js +85 -64
- package/dist/charts/engine/renderers/webgl.js.map +1 -1
- package/dist/charts/engine/renderers/webgl2.cjs +1 -1
- package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
- package/dist/charts/engine/renderers/webgl2.js +72 -58
- package/dist/charts/engine/renderers/webgl2.js.map +1 -1
- package/dist/charts/engine/renderers/webgpu.cjs +1 -1
- package/dist/charts/engine/renderers/webgpu.cjs.map +1 -1
- package/dist/charts/engine/renderers/webgpu.js +1 -1
- package/dist/charts/engine/renderers/webgpu.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 +104 -4
- package/dist/charts/engine/scene.d.ts +104 -4
- package/dist/charts/engine/scene.js +412 -193
- package/dist/charts/engine/scene.js.map +1 -1
- package/dist/charts/engine/shapes/bullet.cjs +1 -1
- package/dist/charts/engine/shapes/bullet.cjs.map +1 -1
- package/dist/charts/engine/shapes/bullet.js +110 -110
- package/dist/charts/engine/shapes/bullet.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.js +4 -1
- 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 +419 -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 +5 -1
- package/dist/charts/engine/shapes/draw.d.ts +5 -1
- package/dist/charts/engine/shapes/draw.js +47 -17
- package/dist/charts/engine/shapes/draw.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 +3 -1
- package/dist/charts/engine/shapes/hit.d.ts +3 -1
- package/dist/charts/engine/shapes/hit.js +75 -46
- package/dist/charts/engine/shapes/hit.js.map +1 -1
- package/dist/charts/engine/shapes/index.d.cts +3 -2
- package/dist/charts/engine/shapes/index.d.ts +3 -2
- package/dist/charts/engine/shapes/labels.cjs +1 -1
- package/dist/charts/engine/shapes/labels.cjs.map +1 -1
- package/dist/charts/engine/shapes/labels.js +12 -4
- package/dist/charts/engine/shapes/labels.js.map +1 -1
- 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 +3 -1
- package/dist/charts/engine/shapes/layout.d.ts +3 -1
- package/dist/charts/engine/shapes/layout.js +106 -78
- package/dist/charts/engine/shapes/layout.js.map +1 -1
- 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 +33 -3
- package/dist/charts/engine/shapes/scene.d.ts +33 -3
- package/dist/charts/engine/shapes/scene.js +62 -19
- package/dist/charts/engine/shapes/scene.js.map +1 -1
- package/dist/charts/engine/shapes/types.d.cts +121 -8
- package/dist/charts/engine/shapes/types.d.ts +121 -8
- 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 +1 -1
- package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -1
- package/dist/charts/engine/three-d/canvas2d.d.cts +41 -3
- package/dist/charts/engine/three-d/canvas2d.d.ts +41 -3
- package/dist/charts/engine/three-d/canvas2d.js +166 -67
- package/dist/charts/engine/three-d/canvas2d.js.map +1 -1
- package/dist/charts/engine/three-d/chart.cjs +1 -1
- package/dist/charts/engine/three-d/chart.cjs.map +1 -1
- package/dist/charts/engine/three-d/chart.js +219 -215
- package/dist/charts/engine/three-d/chart.js.map +1 -1
- package/dist/charts/engine/three-d/detect.cjs +1 -1
- package/dist/charts/engine/three-d/detect.cjs.map +1 -1
- package/dist/charts/engine/three-d/detect.d.cts +3 -2
- package/dist/charts/engine/three-d/detect.d.ts +3 -2
- package/dist/charts/engine/three-d/detect.js +22 -20
- package/dist/charts/engine/three-d/detect.js.map +1 -1
- package/dist/charts/engine/three-d/geometry.cjs +1 -1
- package/dist/charts/engine/three-d/geometry.cjs.map +1 -1
- package/dist/charts/engine/three-d/geometry.d.cts +6 -0
- package/dist/charts/engine/three-d/geometry.d.ts +6 -0
- package/dist/charts/engine/three-d/geometry.js +106 -90
- package/dist/charts/engine/three-d/geometry.js.map +1 -1
- package/dist/charts/engine/three-d/model.cjs +1 -1
- package/dist/charts/engine/three-d/model.cjs.map +1 -1
- package/dist/charts/engine/three-d/model.d.cts +2 -0
- package/dist/charts/engine/three-d/model.d.ts +2 -0
- package/dist/charts/engine/three-d/model.js +2 -0
- package/dist/charts/engine/three-d/model.js.map +1 -1
- package/dist/charts/engine/three-d/oit.cjs +109 -0
- package/dist/charts/engine/three-d/oit.cjs.map +1 -0
- package/dist/charts/engine/three-d/oit.d.cts +34 -0
- package/dist/charts/engine/three-d/oit.d.ts +34 -0
- package/dist/charts/engine/three-d/oit.js +111 -0
- package/dist/charts/engine/three-d/oit.js.map +1 -0
- package/dist/charts/engine/three-d/overlay.cjs +1 -1
- package/dist/charts/engine/three-d/overlay.cjs.map +1 -1
- package/dist/charts/engine/three-d/overlay.js +43 -36
- package/dist/charts/engine/three-d/overlay.js.map +1 -1
- package/dist/charts/engine/three-d/render-types.cjs +1 -1
- package/dist/charts/engine/three-d/render-types.cjs.map +1 -1
- package/dist/charts/engine/three-d/render-types.d.cts +37 -3
- package/dist/charts/engine/three-d/render-types.d.ts +37 -3
- package/dist/charts/engine/three-d/render-types.js +6 -10
- package/dist/charts/engine/three-d/render-types.js.map +1 -1
- package/dist/charts/engine/three-d/shaders.cjs +109 -48
- package/dist/charts/engine/three-d/shaders.cjs.map +1 -1
- package/dist/charts/engine/three-d/shaders.d.cts +12 -5
- package/dist/charts/engine/three-d/shaders.d.ts +12 -5
- package/dist/charts/engine/three-d/shaders.js +118 -55
- package/dist/charts/engine/three-d/shaders.js.map +1 -1
- package/dist/charts/engine/three-d/sort.cjs +1 -1
- package/dist/charts/engine/three-d/sort.cjs.map +1 -1
- package/dist/charts/engine/three-d/sort.d.cts +18 -5
- package/dist/charts/engine/three-d/sort.d.ts +18 -5
- package/dist/charts/engine/three-d/sort.js +129 -43
- package/dist/charts/engine/three-d/sort.js.map +1 -1
- package/dist/charts/engine/three-d/types.d.cts +36 -0
- package/dist/charts/engine/three-d/types.d.ts +36 -0
- package/dist/charts/engine/three-d/webgl.cjs +1 -1
- package/dist/charts/engine/three-d/webgl.cjs.map +1 -1
- package/dist/charts/engine/three-d/webgl.d.cts +9 -0
- package/dist/charts/engine/three-d/webgl.d.ts +9 -0
- package/dist/charts/engine/three-d/webgl.js +199 -74
- package/dist/charts/engine/three-d/webgl.js.map +1 -1
- package/dist/charts/engine/three-d/webgpu.cjs +1 -1
- package/dist/charts/engine/three-d/webgpu.cjs.map +1 -1
- package/dist/charts/engine/three-d/webgpu.js +231 -94
- package/dist/charts/engine/three-d/webgpu.js.map +1 -1
- package/dist/charts/engine/trading/chart.cjs +1 -1
- package/dist/charts/engine/trading/chart.cjs.map +1 -1
- package/dist/charts/engine/trading/chart.d.cts +10 -1
- package/dist/charts/engine/trading/chart.d.ts +10 -1
- package/dist/charts/engine/trading/chart.js +1677 -813
- package/dist/charts/engine/trading/chart.js.map +1 -1
- package/dist/charts/engine/trading/drawings.cjs +2 -1
- package/dist/charts/engine/trading/drawings.cjs.map +1 -1
- package/dist/charts/engine/trading/drawings.d.cts +53 -9
- package/dist/charts/engine/trading/drawings.d.ts +53 -9
- package/dist/charts/engine/trading/drawings.js +346 -71
- package/dist/charts/engine/trading/drawings.js.map +1 -1
- package/dist/charts/engine/trading/format.cjs +1 -1
- package/dist/charts/engine/trading/format.cjs.map +1 -1
- package/dist/charts/engine/trading/format.d.cts +19 -0
- package/dist/charts/engine/trading/format.d.ts +19 -0
- package/dist/charts/engine/trading/format.js +65 -21
- package/dist/charts/engine/trading/format.js.map +1 -1
- package/dist/charts/engine/trading/geometry.cjs +1 -1
- package/dist/charts/engine/trading/geometry.cjs.map +1 -1
- package/dist/charts/engine/trading/geometry.d.cts +16 -0
- package/dist/charts/engine/trading/geometry.d.ts +16 -0
- package/dist/charts/engine/trading/geometry.js +19 -4
- package/dist/charts/engine/trading/geometry.js.map +1 -1
- package/dist/charts/engine/trading/index.cjs +1 -1
- package/dist/charts/engine/trading/index.d.cts +2 -1
- package/dist/charts/engine/trading/index.d.ts +2 -1
- package/dist/charts/engine/trading/index.js +4 -3
- package/dist/charts/engine/trading/indicators.cjs +1 -1
- package/dist/charts/engine/trading/indicators.cjs.map +1 -1
- package/dist/charts/engine/trading/indicators.d.cts +180 -10
- package/dist/charts/engine/trading/indicators.d.ts +180 -10
- package/dist/charts/engine/trading/indicators.js +449 -173
- package/dist/charts/engine/trading/indicators.js.map +1 -1
- package/dist/charts/engine/trading/labels.cjs +1 -1
- package/dist/charts/engine/trading/labels.cjs.map +1 -1
- package/dist/charts/engine/trading/labels.js +104 -4
- package/dist/charts/engine/trading/labels.js.map +1 -1
- package/dist/charts/engine/trading/store.cjs +1 -1
- package/dist/charts/engine/trading/store.cjs.map +1 -1
- package/dist/charts/engine/trading/store.d.cts +21 -0
- package/dist/charts/engine/trading/store.d.ts +21 -0
- package/dist/charts/engine/trading/store.js +22 -1
- package/dist/charts/engine/trading/store.js.map +1 -1
- package/dist/charts/engine/trading/studies.cjs +1 -1
- package/dist/charts/engine/trading/studies.cjs.map +1 -1
- package/dist/charts/engine/trading/studies.d.cts +49 -8
- package/dist/charts/engine/trading/studies.d.ts +49 -8
- package/dist/charts/engine/trading/studies.js +352 -93
- package/dist/charts/engine/trading/studies.js.map +1 -1
- 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 +514 -16
- package/dist/charts/engine/trading/types.d.ts +514 -16
- package/dist/charts/engine/types.d.cts +106 -11
- package/dist/charts/engine/types.d.ts +106 -11
- package/dist/charts/index.cjs +1 -1
- package/dist/charts/index.d.cts +3 -2
- package/dist/charts/index.d.ts +3 -2
- package/dist/charts/index.js +30 -22
- package/dist/charts/react/charts.cjs +1 -1
- package/dist/charts/react/charts.cjs.map +1 -1
- package/dist/charts/react/charts.js +51 -34
- 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 +219 -0
- package/dist/charts/react/graph.d.ts +219 -0
- package/dist/charts/react/graph.js +160 -0
- package/dist/charts/react/graph.js.map +1 -0
- package/dist/charts/react/orderbook.cjs +1 -1
- package/dist/charts/react/orderbook.cjs.map +1 -1
- package/dist/charts/react/orderbook.d.cts +3 -1
- package/dist/charts/react/orderbook.d.ts +3 -1
- package/dist/charts/react/orderbook.js +1 -0
- package/dist/charts/react/orderbook.js.map +1 -1
- package/dist/charts/react/shapes.cjs +1 -1
- package/dist/charts/react/shapes.cjs.map +1 -1
- package/dist/charts/react/shapes.d.cts +88 -4
- package/dist/charts/react/shapes.d.ts +88 -4
- package/dist/charts/react/shapes.js +55 -12
- package/dist/charts/react/shapes.js.map +1 -1
- package/dist/charts/react/three-d.cjs +1 -1
- package/dist/charts/react/three-d.cjs.map +1 -1
- package/dist/charts/react/three-d.d.cts +7 -0
- package/dist/charts/react/three-d.d.ts +7 -0
- package/dist/charts/react/three-d.js +14 -13
- package/dist/charts/react/three-d.js.map +1 -1
- package/dist/charts/react/trading.cjs +1 -1
- package/dist/charts/react/trading.cjs.map +1 -1
- package/dist/charts/react/trading.d.cts +54 -2
- package/dist/charts/react/trading.d.ts +54 -2
- package/dist/charts/react/trading.js +68 -37
- package/dist/charts/react/trading.js.map +1 -1
- package/dist/charts/react/types.d.cts +11 -0
- package/dist/charts/react/types.d.ts +11 -0
- 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 +5 -4
- 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 +42 -19
- 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 +296 -251
- 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 +6 -4
- 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 +15 -2
- package/dist/native/charts/src/engine/format.js.map +1 -1
- package/dist/native/charts/src/engine/labels.cjs +1 -1
- package/dist/native/charts/src/engine/labels.cjs.map +1 -1
- package/dist/native/charts/src/engine/labels.js +42 -5
- package/dist/native/charts/src/engine/labels.js.map +1 -1
- 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 +11 -2
- package/dist/native/charts/src/engine/layout.js.map +1 -1
- 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 +278 -174
- package/dist/native/charts/src/engine/model.js.map +1 -1
- package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
- 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 +110 -90
- package/dist/native/charts/src/engine/presets.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 +421 -202
- package/dist/native/charts/src/engine/scene.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/bullet.cjs +1 -1
- package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/bullet.js +110 -110
- package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/calendar.cjs +1 -1
- package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/calendar.js +21 -16
- package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -1
- 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 +419 -0
- package/dist/native/charts/src/engine/shapes/chord.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/draw.cjs +1 -1
- package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/draw.js +47 -17
- package/dist/native/charts/src/engine/shapes/draw.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/hit.cjs +1 -1
- package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/hit.js +73 -44
- package/dist/native/charts/src/engine/shapes/hit.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/labels.cjs +1 -1
- package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/labels.js +12 -4
- package/dist/native/charts/src/engine/shapes/labels.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/layout.cjs +2 -2
- package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/layout.js +136 -94
- package/dist/native/charts/src/engine/shapes/layout.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/scene.cjs +1 -1
- package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/scene.js +62 -19
- package/dist/native/charts/src/engine/shapes/scene.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.js +127 -115
- 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.js +8 -5
- package/dist/native/components/Chart/charts.js.map +1 -1
- 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.d.cts +6 -1
- package/dist/native/components/Chart/scene.d.ts +6 -1
- package/dist/native/components/Chart/scene.js +226 -108
- package/dist/native/components/Chart/scene.js.map +1 -1
- package/dist/native/components/Chart/types.d.cts +7 -1
- package/dist/native/components/Chart/types.d.ts +7 -1
- package/dist/native/components/Charts/charts.cjs +1 -1
- package/dist/native/components/Charts/charts.cjs.map +1 -1
- package/dist/native/components/Charts/charts.js +60 -43
- package/dist/native/components/Charts/charts.js.map +1 -1
- package/dist/native/components/Charts/types.d.cts +11 -0
- package/dist/native/components/Charts/types.d.ts +11 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.cjs +1 -1
- package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -1
- package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +1 -1
- package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +1 -1
- package/dist/native/components/ShapeChart/ShapeChartBase.js +97 -106
- package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -1
- package/dist/native/components/ShapeChart/charts.cjs +1 -1
- package/dist/native/components/ShapeChart/charts.cjs.map +1 -1
- package/dist/native/components/ShapeChart/charts.d.cts +6 -1
- package/dist/native/components/ShapeChart/charts.d.ts +6 -1
- package/dist/native/components/ShapeChart/charts.js +138 -96
- package/dist/native/components/ShapeChart/charts.js.map +1 -1
- package/dist/native/components/ShapeChart/draw.cjs +1 -1
- package/dist/native/components/ShapeChart/draw.cjs.map +1 -1
- package/dist/native/components/ShapeChart/draw.d.cts +1 -1
- package/dist/native/components/ShapeChart/draw.d.ts +1 -1
- package/dist/native/components/ShapeChart/draw.js +26 -17
- package/dist/native/components/ShapeChart/draw.js.map +1 -1
- package/dist/native/components/ShapeChart/geometry.cjs +1 -1
- package/dist/native/components/ShapeChart/geometry.cjs.map +1 -1
- package/dist/native/components/ShapeChart/geometry.js +233 -70
- package/dist/native/components/ShapeChart/geometry.js.map +1 -1
- package/dist/native/components/ShapeChart/index.cjs +1 -1
- package/dist/native/components/ShapeChart/index.d.cts +1 -1
- package/dist/native/components/ShapeChart/index.d.ts +1 -1
- package/dist/native/components/ShapeChart/index.js +2 -2
- package/dist/native/components/ShapeChart/recorder.cjs +1 -1
- package/dist/native/components/ShapeChart/recorder.cjs.map +1 -1
- package/dist/native/components/ShapeChart/recorder.d.cts +10 -1
- package/dist/native/components/ShapeChart/recorder.d.ts +10 -1
- package/dist/native/components/ShapeChart/recorder.js +19 -10
- package/dist/native/components/ShapeChart/recorder.js.map +1 -1
- package/dist/native/components/ShapeChart/types.d.cts +95 -8
- package/dist/native/components/ShapeChart/types.d.ts +95 -8
- package/dist/native/index.cjs +1 -1
- package/dist/native/index.js +2 -2
- package/dist/native/source/components/Chart/ChartBase.tsx +19 -6
- package/dist/native/source/components/Chart/charts.tsx +10 -3
- package/dist/native/source/components/Chart/scene.tsx +243 -14
- package/dist/native/source/components/Chart/types.ts +7 -0
- package/dist/native/source/components/Charts/charts.tsx +37 -2
- package/dist/native/source/components/Charts/types.ts +11 -0
- package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +10 -34
- package/dist/native/source/components/ShapeChart/charts.tsx +91 -35
- package/dist/native/source/components/ShapeChart/draw.tsx +39 -8
- package/dist/native/source/components/ShapeChart/geometry.ts +376 -25
- package/dist/native/source/components/ShapeChart/index.ts +1 -0
- package/dist/native/source/components/ShapeChart/recorder.ts +20 -5
- package/dist/native/source/components/ShapeChart/types.ts +99 -6
- package/dist/native/source/manifest.ts +1 -0
- package/dist/taro/chart-a11y.d.ts +7 -0
- package/dist/taro/charts.d.ts +29 -6
- package/dist/taro/index.js +3129 -1902
- package/dist/taro/shape-charts.d.ts +99 -5
- package/dist/uni/AreaChart.vue +2 -1
- package/dist/uni/AreaChart.vue.d.ts +5 -1
- package/dist/uni/Badge.vue.d.ts +1 -1
- package/dist/uni/BarChart.vue +2 -1
- package/dist/uni/BarChart.vue.d.ts +5 -1
- package/dist/uni/BoxPlotChart.vue +2 -1
- package/dist/uni/BoxPlotChart.vue.d.ts +8 -0
- package/dist/uni/BubbleChart.vue +2 -1
- package/dist/uni/BubbleChart.vue.d.ts +4 -0
- package/dist/uni/BulletChart.vue.d.ts +4 -0
- package/dist/uni/CalendarHeatmap.vue.d.ts +2 -0
- package/dist/uni/CandlestickChart.vue +2 -1
- package/dist/uni/CandlestickChart.vue.d.ts +4 -0
- package/dist/uni/Chart.vue +2 -1
- 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/Divider.vue.d.ts +1 -1
- package/dist/uni/DonutChart.vue.d.ts +5 -1
- package/dist/uni/FunnelChart.vue.d.ts +4 -0
- package/dist/uni/GanttChart.vue +2 -1
- package/dist/uni/GanttChart.vue.d.ts +15 -0
- package/dist/uni/GaugeChart.vue.d.ts +5 -1
- package/dist/uni/HeatmapChart.vue +2 -1
- package/dist/uni/HeatmapChart.vue.d.ts +8 -2
- package/dist/uni/HistogramChart.vue +2 -1
- package/dist/uni/HistogramChart.vue.d.ts +4 -0
- package/dist/uni/HorizontalBarChart.vue +2 -1
- package/dist/uni/HorizontalBarChart.vue.d.ts +3 -1
- package/dist/uni/LineChart.vue +2 -1
- package/dist/uni/LineChart.vue.d.ts +4 -0
- package/dist/uni/MixedChart.vue +2 -1
- package/dist/uni/MixedChart.vue.d.ts +4 -0
- package/dist/uni/PieChart.vue.d.ts +5 -1
- package/dist/uni/QuadrantChart.vue +2 -1
- package/dist/uni/QuadrantChart.vue.d.ts +4 -0
- package/dist/uni/RadarChart.vue.d.ts +4 -0
- package/dist/uni/RadialBarChart.vue.d.ts +4 -0
- package/dist/uni/RangeAreaChart.vue +2 -1
- package/dist/uni/RangeAreaChart.vue.d.ts +4 -0
- package/dist/uni/SankeyChart.vue.d.ts +4 -0
- package/dist/uni/ScatterChart.vue +2 -1
- package/dist/uni/ScatterChart.vue.d.ts +4 -0
- package/dist/uni/Sparkline.vue +2 -1
- package/dist/uni/Sparkline.vue.d.ts +4 -0
- package/dist/uni/SunburstChart.vue.d.ts +4 -0
- package/dist/uni/ToastProvider.vue.d.ts +1 -1
- package/dist/uni/TreemapChart.vue.d.ts +4 -0
- package/dist/uni/WaterfallChart.vue +2 -1
- package/dist/uni/WaterfallChart.vue.d.ts +9 -0
- package/dist/uni/chart-a11y.d.ts +7 -0
- package/dist/uni/chart-a11y.js +29 -0
- package/dist/uni/chart-canvas.d.ts +12 -0
- package/dist/uni/chart-canvas.js +15 -1
- package/dist/uni/chart-types.d.ts +36 -5
- package/dist/uni/chart-types.js +31 -3
- package/dist/uni/charts-canvas.js +3 -2
- package/dist/uni/index.d.ts +2 -1
- package/dist/uni/index.js +1 -0
- package/dist/uni/manifest.d.ts +7 -0
- package/dist/uni/manifest.js +10 -0
- package/dist/uni/named-chart-options.d.ts +11 -2
- package/dist/uni/named-chart-options.js +21 -1
- package/dist/uni/shape-chart-canvas.d.ts +3 -3
- package/dist/uni/shape-chart-canvas.js +17 -58
- package/dist/uni/shape-chart-types.d.ts +53 -3
- package/dist/uni/shape-chart-types.js +45 -1
- 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/Bar3DChart.vue.d.ts +2 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +8 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -1
- package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +8 -2
- package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
- 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 +181 -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/GanttChart.vue.d.ts +19 -0
- package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -1
- package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +12 -1
- package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/vue/components/Chart/GraphChart.vue.d.ts +186 -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 +9 -5
- package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -1
- package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +3 -1
- package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/vue/components/Chart/Line3DChart.vue.d.ts +2 -0
- package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +2 -0
- package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +2 -0
- package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +2 -0
- package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +2 -0
- package/dist/vue/components/Chart/TradingChart.vue.d.ts +58 -1
- package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -1
- package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +31 -0
- package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/vue/components/Chart/TreeChart.vue.d.ts +174 -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/WaterfallChart.vue.d.ts +12 -1
- package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -1
- package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +8 -2
- package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/vue/components/Chart/graph.d.ts +156 -0
- package/dist/vue/components/Chart/graph.js +137 -0
- package/dist/vue/components/Chart/graph.js.map +1 -0
- package/dist/vue/components/Chart/index.d.ts +5 -1
- package/dist/vue/components/Chart/index.js +5 -1
- package/dist/vue/components/Chart/orderbook.d.ts +5 -1
- package/dist/vue/components/Chart/orderbook.js +2 -0
- package/dist/vue/components/Chart/orderbook.js.map +1 -1
- package/dist/vue/components/Chart/three-d.d.ts +3 -0
- package/dist/vue/components/Chart/three-d.js +2 -0
- package/dist/vue/components/Chart/three-d.js.map +1 -1
- package/dist/vue/components/Chart/trading.d.ts +30 -3
- package/dist/vue/components/Chart/trading.js +9 -0
- package/dist/vue/components/Chart/trading.js.map +1 -1
- package/dist/vue/components/Chart/types.d.ts +74 -2
- package/dist/vue/global.d.ts +2 -38
- package/dist/vue/groups/charts.js +10 -2
- package/dist/vue/groups/charts.js.map +1 -1
- package/dist/vue/index.js +6 -2
- 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 +6 -11
- package/dist/vue/plugin.js.map +1 -1
- package/dist/weapp/area-chart/index.wxml +1 -1
- package/dist/weapp/bar-chart/index.wxml +1 -1
- package/dist/weapp/box-plot-chart/index.wxml +1 -1
- package/dist/weapp/bubble-chart/index.wxml +1 -1
- package/dist/weapp/candlestick-chart/index.wxml +1 -1
- package/dist/weapp/chart/index.wxml +1 -1
- package/dist/weapp/charts/canvas.js +1987 -175
- package/dist/weapp/charts/core.js +3 -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 +148 -57
- package/dist/weapp/gantt-chart/index.wxml +1 -1
- package/dist/weapp/heatmap-chart/index.wxml +1 -1
- package/dist/weapp/histogram-chart/index.wxml +1 -1
- package/dist/weapp/horizontal-bar-chart/index.wxml +1 -1
- package/dist/weapp/line-chart/index.wxml +1 -1
- package/dist/weapp/mixed-chart/index.wxml +1 -1
- package/dist/weapp/quadrant-chart/index.wxml +1 -1
- package/dist/weapp/range-area-chart/index.wxml +1 -1
- package/dist/weapp/scatter-chart/index.wxml +1 -1
- package/dist/weapp/sparkline/index.wxml +1 -1
- package/dist/weapp/types.d.ts +96 -4
- package/dist/weapp/waterfall-chart/index.wxml +1 -1
- package/dist/web-components/components/chart/charts.d.ts +4 -2
- package/dist/web-components/components/chart/charts.js +8 -1
- package/dist/web-components/components/chart/charts.js.map +1 -1
- package/dist/web-components/components/chart/extended.d.ts +21 -7
- package/dist/web-components/components/chart/extended.js +29 -9
- package/dist/web-components/components/chart/extended.js.map +1 -1
- package/dist/web-components/components/chart/shapes-extended.d.ts +37 -1
- package/dist/web-components/components/chart/shapes-extended.js +27 -1
- package/dist/web-components/components/chart/shapes-extended.js.map +1 -1
- package/dist/web-components/components/chart-3d/chart-3d.d.ts +1 -1
- package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -1
- package/dist/web-components/components/graph/graph.d.ts +156 -0
- package/dist/web-components/components/graph/graph.js +150 -0
- package/dist/web-components/components/graph/graph.js.map +1 -0
- package/dist/web-components/components/trading-chart/trading-chart.d.ts +49 -2
- package/dist/web-components/components/trading-chart/trading-chart.js +62 -0
- package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -1
- package/dist/web-components/elements/chart.d.ts +1 -1
- package/dist/web-components/elements/chart.js +6 -5
- package/dist/web-components/elements/chart.js.map +1 -1
- 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/html-custom-data.json +318 -4
- package/dist/web-components/types/react.d.ts +63 -4
- package/dist/web-components/types/solid.d.ts +55 -8
- package/dist/web-components/types/svelte.d.ts +55 -8
- package/dist/web-components/types/vue.d.ts +55 -4
- package/package.json +16 -1
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { mix as e, toCss as t } from "../color.js";
|
|
2
2
|
import { linearTicks as n, niceDomain as r } from "../scale.js";
|
|
3
3
|
import { font as i } from "../overlay.js";
|
|
4
|
-
import { clamp as a, ellipsize as o, emptyLayout as s, finite as c, resolveWith as l, sum as u, uniqueKeys as d } from "./scene.js";
|
|
4
|
+
import { clamp as a, ellipsize as o, emptyLayout as s, finite as c, resolveWith as l, sum as u, uniqueKeys as d, wrapText as f } from "./scene.js";
|
|
5
5
|
//#region ../charts/src/engine/shapes/bullet.ts
|
|
6
|
-
var
|
|
7
|
-
let n =
|
|
6
|
+
var p = (e) => d(e.data.map((e) => e.name)), m = (e) => typeof e == "number" && Number.isFinite(e) ? e : void 0, ee = (e, t) => (t.ranges ?? e.ranges ?? []).filter((e) => typeof e == "number" && Number.isFinite(e)).slice().sort((e, t) => e - t), h = (e, t) => {
|
|
7
|
+
let n = ee(e, t), i = c(t.value), a = m(t.target), o = [
|
|
8
8
|
0,
|
|
9
9
|
i,
|
|
10
10
|
...a === void 0 ? [] : [a]
|
|
11
|
-
], s =
|
|
11
|
+
], s = m(t.min) ?? Math.min(...o), l = [
|
|
12
12
|
i,
|
|
13
13
|
...a === void 0 ? [] : [a],
|
|
14
14
|
...n
|
|
15
|
-
], u =
|
|
15
|
+
], u = m(t.max);
|
|
16
16
|
if (u === void 0) {
|
|
17
17
|
let e = Math.max(...l), t = n.length ? n[n.length - 1] : -Infinity;
|
|
18
18
|
u = e <= t ? t : r(s, e, 5)[1];
|
|
19
19
|
}
|
|
20
20
|
return u > s || (u === s ? u = s + 1 : [s, u] = [u, s]), [s, u];
|
|
21
|
-
},
|
|
22
|
-
|
|
21
|
+
}, g = (e, t, n) => {
|
|
22
|
+
p(e).forEach((r, i) => {
|
|
23
23
|
let a = e.data[i];
|
|
24
24
|
n.set(r, c(a.value));
|
|
25
|
-
let o =
|
|
25
|
+
let o = m(a.target);
|
|
26
26
|
o !== void 0 && n.set(`>${r}`, o), n.set(`~${r}`, +!t.has(i));
|
|
27
27
|
});
|
|
28
28
|
}, te = (t, n, r) => {
|
|
@@ -31,16 +31,16 @@ var f = (e) => d(e.data.map((e) => e.name)), p = (e) => typeof e == "number" &&
|
|
|
31
31
|
let o = e(i.background, i.text, r <= 1 ? .09 : .24 - .16 * a / (r - 1)), s = t.rangeColors?.[a];
|
|
32
32
|
return s ? l(i, s, o) : o;
|
|
33
33
|
});
|
|
34
|
-
},
|
|
35
|
-
let { theme: d, area:
|
|
36
|
-
if (!
|
|
37
|
-
let
|
|
34
|
+
}, _ = 15, v = (e, r) => {
|
|
35
|
+
let { theme: d, area: g, measure: v, hidden: ne } = r, y = p(e), b = e.data.length, x = y.map((e, t) => a(r.value(`~${e}`, +!ne.has(t)), 0, 1)), S = u(x);
|
|
36
|
+
if (!b || S <= 1e-6) return s(r);
|
|
37
|
+
let C = e.orientation === "vertical", w = a(r.enter, 0, 1), re = a(c(e.barSize, .4), .1, 1), T = i(d, 12, 600), E = i(d, 11), D = i(d, 12, 600), O = i(d, 10), k = t(d.textMuted), A = t(d.text), ie = t(l(d, e.targetColor, d.text)), ae = e.ticks !== !1, j = [], oe = [], M = e.data.some((e, t) => !!e.subtitle && x[t] > 0), N = e.data.map((e) => r.format(c(e.value))), P = e.data.map((e) => v(e.name, T)), F = g.width * (g.width < 420 ? .34 : .4), se = e.data.map((e, t) => P[t] <= F - 14 ? P[t] : Math.max(0, ...f(e.name, F - 14, T, v, 2).map((e) => v(e, T)))), I = C ? 0 : Math.min(F, Math.max(0, ...e.data.map((e, t) => Math.max(se[t], e.subtitle ? v(e.subtitle, E) : 0))) + 14), ce = C ? 0 : Math.min(g.width * .2, Math.max(0, ...N.map((e) => v(e, D))) + 12), L = g.width / S, R = C && e.data.some((e, t) => x[t] > 0 && P[t] > L - 8), z = C ? 22 + (R ? _ : 0) + (M ? 14 : 0) : 0, B = C ? 20 : 0, le = (C ? g.width : g.height) / S, V = 0;
|
|
38
38
|
return e.data.forEach((i, s) => {
|
|
39
|
-
let l =
|
|
40
|
-
if (
|
|
41
|
-
let
|
|
39
|
+
let l = x[s], u = le * l, d = V;
|
|
40
|
+
if (V += u, l <= .001) return;
|
|
41
|
+
let p = y[s], b = l, [S, M] = h(e, i), P = ee(e, i).filter((e) => e > S), F = te(e, r, P.length), se = r.value(p, c(i.value)), L = m(i.target), H = L === void 0 ? void 0 : r.value(`>${p}`, L), ue = r.color(i.color, s), U = t(ue), W = a(u * (C ? .3 : .42), 8, 28), G = C ? Math.max(1, g.height - z - B) : Math.max(1, g.width - I - ce), K = ae ? n(S, M, Math.max(2, Math.floor(G / 70))) : [], de = C ? u / 2 - W / 2 - 6 : u - W - 10, fe = Math.max(0, ...K.map((e) => v(r.format(e), O))), pe = K.length > 1 && (C ? de >= fe : de >= 14), me = C ? g.y + g.height - z : g.x + I, q = (e) => me + (C ? -1 : 1) * G * a((e - S) / (M - S), 0, 1), J = C ? g.x + d + u / 2 : g.y + d + (u - (pe ? 14 : 0)) / 2, Y = (e, t, n) => {
|
|
42
42
|
let r = Math.min(q(e), q(t)), i = Math.max(q(e), q(t));
|
|
43
|
-
return
|
|
43
|
+
return C ? {
|
|
44
44
|
x: J - n / 2,
|
|
45
45
|
y: r,
|
|
46
46
|
width: n,
|
|
@@ -52,57 +52,57 @@ var f = (e) => d(e.data.map((e) => e.name)), p = (e) => typeof e == "number" &&
|
|
|
52
52
|
height: n
|
|
53
53
|
};
|
|
54
54
|
};
|
|
55
|
-
|
|
55
|
+
j.push({
|
|
56
56
|
kind: "rect",
|
|
57
|
-
...
|
|
58
|
-
x:
|
|
59
|
-
y:
|
|
57
|
+
...C ? {
|
|
58
|
+
x: g.x + d,
|
|
59
|
+
y: g.y,
|
|
60
60
|
width: u,
|
|
61
|
-
height:
|
|
61
|
+
height: g.height
|
|
62
62
|
} : {
|
|
63
|
-
x:
|
|
64
|
-
y:
|
|
65
|
-
width:
|
|
63
|
+
x: g.x,
|
|
64
|
+
y: g.y + d,
|
|
65
|
+
width: g.width,
|
|
66
66
|
height: u
|
|
67
67
|
},
|
|
68
68
|
radius: 0,
|
|
69
69
|
fill: "rgba(0, 0, 0, 0)",
|
|
70
70
|
hit: s,
|
|
71
|
-
alpha:
|
|
71
|
+
alpha: b
|
|
72
72
|
});
|
|
73
|
-
let
|
|
74
|
-
|
|
73
|
+
let he = P.length ? P : [M], X = S;
|
|
74
|
+
he.forEach((e, n) => {
|
|
75
75
|
let r = Math.min(e, M);
|
|
76
|
-
r > X &&
|
|
76
|
+
r > X && j.push({
|
|
77
77
|
kind: "rect",
|
|
78
|
-
...Y(X, r,
|
|
78
|
+
...Y(X, r, W),
|
|
79
79
|
radius: 0,
|
|
80
|
-
fill: t(
|
|
80
|
+
fill: t(F[n]),
|
|
81
81
|
hit: s,
|
|
82
|
-
alpha:
|
|
82
|
+
alpha: b
|
|
83
83
|
}), X = Math.max(X, r);
|
|
84
|
-
}), X < M &&
|
|
84
|
+
}), X < M && j.push({
|
|
85
85
|
kind: "rect",
|
|
86
|
-
...Y(X, M,
|
|
86
|
+
...Y(X, M, W),
|
|
87
87
|
radius: 0,
|
|
88
|
-
fill: t(
|
|
88
|
+
fill: t(F[F.length - 1]),
|
|
89
89
|
hit: s,
|
|
90
|
-
alpha:
|
|
90
|
+
alpha: b
|
|
91
91
|
});
|
|
92
|
-
let Z = a(0,
|
|
93
|
-
if (
|
|
92
|
+
let Z = a(0, S, M), ge = Z + (se - Z) * w;
|
|
93
|
+
if (j.push({
|
|
94
94
|
kind: "rect",
|
|
95
|
-
...Y(Z,
|
|
95
|
+
...Y(Z, ge, W * re),
|
|
96
96
|
radius: 1,
|
|
97
|
-
fill:
|
|
97
|
+
fill: U,
|
|
98
98
|
hit: s,
|
|
99
|
-
alpha:
|
|
99
|
+
alpha: b,
|
|
100
100
|
brighten: !0
|
|
101
|
-
}),
|
|
102
|
-
let e = q(
|
|
103
|
-
|
|
101
|
+
}), H !== void 0 && H >= S && H <= M) {
|
|
102
|
+
let e = q(H), t = W * .82;
|
|
103
|
+
j.push({
|
|
104
104
|
kind: "rect",
|
|
105
|
-
...
|
|
105
|
+
...C ? {
|
|
106
106
|
x: J - t / 2,
|
|
107
107
|
y: e - 1.5,
|
|
108
108
|
width: t,
|
|
@@ -114,142 +114,142 @@ var f = (e) => d(e.data.map((e) => e.name)), p = (e) => typeof e == "number" &&
|
|
|
114
114
|
height: t
|
|
115
115
|
},
|
|
116
116
|
radius: 1,
|
|
117
|
-
fill:
|
|
117
|
+
fill: ie,
|
|
118
118
|
hit: s,
|
|
119
|
-
alpha:
|
|
119
|
+
alpha: b * w
|
|
120
120
|
});
|
|
121
121
|
}
|
|
122
|
-
if (
|
|
122
|
+
if (pe) for (let e of K) {
|
|
123
123
|
let t = q(e);
|
|
124
|
-
|
|
124
|
+
j.push({
|
|
125
125
|
kind: "text",
|
|
126
|
-
x:
|
|
127
|
-
y:
|
|
126
|
+
x: C ? J - W / 2 - 5 : t,
|
|
127
|
+
y: C ? t : J + W / 2 + 4,
|
|
128
128
|
text: r.format(e),
|
|
129
|
-
font:
|
|
130
|
-
color:
|
|
131
|
-
align:
|
|
132
|
-
baseline:
|
|
129
|
+
font: O,
|
|
130
|
+
color: k,
|
|
131
|
+
align: C ? "right" : "center",
|
|
132
|
+
baseline: C ? "middle" : "top",
|
|
133
133
|
hit: s,
|
|
134
|
-
alpha:
|
|
134
|
+
alpha: b
|
|
135
135
|
});
|
|
136
136
|
}
|
|
137
|
-
if (
|
|
138
|
-
let e = Math.max(0, u - 8), t =
|
|
139
|
-
t
|
|
137
|
+
if (C) {
|
|
138
|
+
let e = Math.max(0, u - 8), t = f(i.name, e, T, v, R ? 2 : 1), n = g.y + g.height;
|
|
139
|
+
t.forEach((e, t) => j.push({
|
|
140
140
|
kind: "text",
|
|
141
141
|
x: J,
|
|
142
|
-
y: n -
|
|
143
|
-
text:
|
|
144
|
-
font:
|
|
145
|
-
color:
|
|
142
|
+
y: n - z + 16 + t * _,
|
|
143
|
+
text: e,
|
|
144
|
+
font: T,
|
|
145
|
+
color: A,
|
|
146
146
|
align: "center",
|
|
147
147
|
baseline: "middle",
|
|
148
148
|
hit: s,
|
|
149
|
-
alpha:
|
|
150
|
-
});
|
|
151
|
-
let r = i.subtitle ? o(i.subtitle, e,
|
|
152
|
-
r &&
|
|
149
|
+
alpha: b
|
|
150
|
+
}));
|
|
151
|
+
let r = i.subtitle ? o(i.subtitle, e, E, v) : "";
|
|
152
|
+
r && j.push({
|
|
153
153
|
kind: "text",
|
|
154
154
|
x: J,
|
|
155
|
-
y: n -
|
|
155
|
+
y: n - z + 31 + (R ? _ : 0),
|
|
156
156
|
text: r,
|
|
157
|
-
font:
|
|
158
|
-
color:
|
|
157
|
+
font: E,
|
|
158
|
+
color: k,
|
|
159
159
|
align: "center",
|
|
160
160
|
baseline: "middle",
|
|
161
161
|
hit: s,
|
|
162
|
-
alpha:
|
|
162
|
+
alpha: b
|
|
163
163
|
});
|
|
164
|
-
let a = o(N[s], e,
|
|
165
|
-
a &&
|
|
164
|
+
let a = o(N[s], e, D, v);
|
|
165
|
+
a && j.push({
|
|
166
166
|
kind: "text",
|
|
167
167
|
x: J,
|
|
168
|
-
y:
|
|
168
|
+
y: g.y + B / 2,
|
|
169
169
|
text: a,
|
|
170
|
-
font:
|
|
171
|
-
color:
|
|
170
|
+
font: D,
|
|
171
|
+
color: A,
|
|
172
172
|
align: "center",
|
|
173
173
|
baseline: "middle",
|
|
174
174
|
hit: s,
|
|
175
|
-
alpha:
|
|
175
|
+
alpha: b
|
|
176
176
|
});
|
|
177
177
|
} else {
|
|
178
|
-
let e = Math.max(0,
|
|
179
|
-
t
|
|
178
|
+
let e = Math.max(0, I - 14), t = u - 4, n = i.subtitle && t >= 29 ? o(i.subtitle, e, E, v) : "", r = n ? 13 : 0, a = f(i.name, e, T, v, t >= 30 + r ? 2 : 1), c = J - (a.length * _ + r) / 2, l = g.x + I - 14;
|
|
179
|
+
a.forEach((e, t) => j.push({
|
|
180
180
|
kind: "text",
|
|
181
|
-
x:
|
|
182
|
-
y:
|
|
183
|
-
text:
|
|
184
|
-
font:
|
|
185
|
-
color:
|
|
181
|
+
x: l,
|
|
182
|
+
y: c + _ / 2 + t * _,
|
|
183
|
+
text: e,
|
|
184
|
+
font: T,
|
|
185
|
+
color: A,
|
|
186
186
|
align: "right",
|
|
187
187
|
baseline: "middle",
|
|
188
188
|
hit: s,
|
|
189
|
-
alpha:
|
|
190
|
-
}), n &&
|
|
189
|
+
alpha: b
|
|
190
|
+
})), n && j.push({
|
|
191
191
|
kind: "text",
|
|
192
|
-
x:
|
|
193
|
-
y:
|
|
192
|
+
x: l,
|
|
193
|
+
y: c + a.length * _ + r / 2,
|
|
194
194
|
text: n,
|
|
195
|
-
font:
|
|
196
|
-
color:
|
|
195
|
+
font: E,
|
|
196
|
+
color: k,
|
|
197
197
|
align: "right",
|
|
198
198
|
baseline: "middle",
|
|
199
199
|
hit: s,
|
|
200
|
-
alpha:
|
|
200
|
+
alpha: b
|
|
201
201
|
});
|
|
202
|
-
let
|
|
203
|
-
|
|
202
|
+
let d = o(N[s], ce - 8, D, v);
|
|
203
|
+
d && j.push({
|
|
204
204
|
kind: "text",
|
|
205
|
-
x:
|
|
205
|
+
x: g.x + g.width,
|
|
206
206
|
y: J,
|
|
207
|
-
text:
|
|
208
|
-
font:
|
|
209
|
-
color:
|
|
207
|
+
text: d,
|
|
208
|
+
font: D,
|
|
209
|
+
color: A,
|
|
210
210
|
align: "right",
|
|
211
211
|
baseline: "middle",
|
|
212
212
|
hit: s,
|
|
213
|
-
alpha:
|
|
213
|
+
alpha: b
|
|
214
214
|
});
|
|
215
215
|
}
|
|
216
|
-
if (
|
|
217
|
-
let Q = c(i.value), $ =
|
|
218
|
-
|
|
216
|
+
if (ne.has(s)) return;
|
|
217
|
+
let Q = c(i.value), $ = L !== void 0 && L !== 0 ? Q / L : (Q - S) / (M - S), _e = P.findIndex((e) => Q <= e), ve = _e >= 0 ? e.rangeLabels?.[_e] : void 0, ye = q(Q);
|
|
218
|
+
oe.push({
|
|
219
219
|
index: s,
|
|
220
220
|
name: i.name,
|
|
221
221
|
value: Q,
|
|
222
222
|
percent: $,
|
|
223
223
|
share: r.percent($),
|
|
224
|
-
color:
|
|
225
|
-
x:
|
|
226
|
-
y:
|
|
224
|
+
color: U,
|
|
225
|
+
x: C ? J : ye,
|
|
226
|
+
y: C ? ye : J,
|
|
227
227
|
rows: [
|
|
228
228
|
{
|
|
229
229
|
name: r.labels.value,
|
|
230
230
|
value: r.format(Q)
|
|
231
231
|
},
|
|
232
|
-
...
|
|
232
|
+
...L === void 0 ? [] : [{
|
|
233
233
|
name: r.labels.target,
|
|
234
|
-
value: r.format(
|
|
234
|
+
value: r.format(L)
|
|
235
235
|
}, {
|
|
236
236
|
name: r.labels.ofTarget,
|
|
237
237
|
value: r.percent($)
|
|
238
238
|
}],
|
|
239
|
-
...
|
|
239
|
+
...ve ? [{
|
|
240
240
|
name: r.labels.range,
|
|
241
|
-
value:
|
|
241
|
+
value: ve
|
|
242
242
|
}] : []
|
|
243
243
|
]
|
|
244
244
|
});
|
|
245
245
|
}), {
|
|
246
|
-
nodes:
|
|
247
|
-
items:
|
|
246
|
+
nodes: j,
|
|
247
|
+
items: oe,
|
|
248
248
|
dim: .4,
|
|
249
249
|
empty: !1
|
|
250
250
|
};
|
|
251
251
|
};
|
|
252
252
|
//#endregion
|
|
253
|
-
export {
|
|
253
|
+
export { h as bulletScale, g as bulletValues, v as layoutBullet };
|
|
254
254
|
|
|
255
255
|
//# sourceMappingURL=bullet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bullet.js","names":["keysOf","uniqueKeys","o","d","num","v","rangesOf","r","a","b","bulletScale","ranges","value","finite","target","lows","min","highs","max","top","last","niceDomain","bulletValues","key","out","rangeFills","c","count","gray","mix","theme","k","own","resolveWith","layoutBullet","keys","n","weights","clamp","i","total","sum","emptyLayout","vertical","enter","barSize","nameFont","font","subFont","valueFont","tickFont","muted","toCss","text","markColor","showTicks","nodes","items","hasSubtitle","valueText","labelW","area","measure","valueW","t","labelH","valueH","unit","offset","w","slot","from","alpha","fills","target0","color","css","thick","span","ticks","linearTicks","tickRoom","tickW","drawTicks","p0","along","mid","band","lo","hi","bounds","edge","to","bound","base","shownValue","at","len","room","name","ellipsize","bottom","sub","x","hidden","percent","rangeIndex","rangeName","end"],"sources":["../../../../../../../charts/src/engine/shapes/bullet.ts"],"sourcesContent":["// Bullet chart layout (Stephen Few): per row, qualitative ranges as shades\n// of gray, the measure as a bar and the target as a marker, on the row's own\n// scale; name and subtitle on the left (below when vertical), value on the\n// right (above when vertical), tick labels when there is room.\n\nimport { mix, toCss, type Rgba } from \"../color\";\nimport { font } from \"../overlay\";\nimport { linearTicks, niceDomain } from \"../scale\";\nimport {\n clamp,\n ellipsize,\n emptyLayout,\n finite,\n resolveWith,\n sum,\n uniqueKeys,\n type LayoutContext,\n type LayoutResult,\n type ShapeItem,\n type ShapeNode,\n} from \"./scene\";\nimport type { BulletChartOptions, BulletDatum } from \"./types\";\n\nconst keysOf = (o: BulletChartOptions) => uniqueKeys(o.data.map((d) => d.name));\n\nconst num = (v: number | undefined) =>\n typeof v === \"number\" && Number.isFinite(v) ? v : undefined;\n\n/** Qualitative ranges of a row: finite upper bounds, ascending */\nconst rangesOf = (o: BulletChartOptions, d: BulletDatum) =>\n (d.ranges ?? o.ranges ?? [])\n .filter((r) => typeof r === \"number\" && Number.isFinite(r))\n .slice()\n .sort((a, b) => a - b);\n\n/** Scale of a row: `[min, max]` */\nexport const bulletScale = (\n o: BulletChartOptions,\n d: BulletDatum,\n): [number, number] => {\n const ranges = rangesOf(o, d);\n const value = finite(d.value);\n const target = num(d.target);\n const lows = [0, value, ...(target !== undefined ? [target] : [])];\n let min = num(d.min) ?? Math.min(...lows);\n const highs = [value, ...(target !== undefined ? [target] : []), ...ranges];\n let max = num(d.max);\n if (max === undefined) {\n const top = Math.max(...highs);\n const last = ranges.length ? ranges[ranges.length - 1] : -Infinity;\n max = top <= last ? last : niceDomain(min, top, 5)[1];\n }\n if (!(max > min)) {\n if (max === min) max = min + 1;\n else [min, max] = [max, min];\n }\n return [min, max];\n};\n\nexport const bulletValues = (\n o: BulletChartOptions,\n hidden: ReadonlySet<number>,\n out: Map<string, number>,\n) => {\n keysOf(o).forEach((key, i) => {\n const d = o.data[i];\n out.set(key, finite(d.value));\n const target = num(d.target);\n if (target !== undefined) out.set(`>${key}`, target);\n out.set(`~${key}`, hidden.has(i) ? 0 : 1);\n });\n};\n\n/** Default fills of the ranges: grays, the lowest (poorest) darkest */\nconst rangeFills = (\n o: BulletChartOptions,\n c: LayoutContext,\n count: number,\n): Rgba[] => {\n const { theme } = c;\n return Array.from({ length: Math.max(1, count) }, (_, k) => {\n const gray = mix(\n theme.background,\n theme.text,\n count <= 1 ? 0.09 : 0.24 - (0.16 * k) / (count - 1),\n );\n const own = o.rangeColors?.[k];\n return own ? resolveWith(theme, own, gray) : gray;\n });\n};\n\nexport const layoutBullet = (\n o: BulletChartOptions,\n c: LayoutContext,\n): LayoutResult => {\n const { theme, area, measure, hidden } = c;\n const keys = keysOf(o);\n const n = o.data.length;\n const weights = keys.map((key, i) =>\n clamp(c.value(`~${key}`, hidden.has(i) ? 0 : 1), 0, 1),\n );\n const total = sum(weights);\n if (!n || total <= 1e-6) return emptyLayout(c);\n const vertical = o.orientation === \"vertical\";\n const enter = clamp(c.enter, 0, 1);\n const barSize = clamp(finite(o.barSize, 0.4), 0.1, 1);\n const nameFont = font(theme, 12, 600);\n const subFont = font(theme, 11);\n const valueFont = font(theme, 12, 600);\n const tickFont = font(theme, 10);\n const muted = toCss(theme.textMuted);\n const text = toCss(theme.text);\n const transparent = \"rgba(0, 0, 0, 0)\";\n const markColor = toCss(resolveWith(theme, o.targetColor, theme.text));\n const showTicks = o.ticks !== false;\n\n const nodes: ShapeNode[] = [];\n const items: ShapeItem[] = [];\n const hasSubtitle = o.data.some((d, i) => !!d.subtitle && weights[i] > 0);\n const valueText = o.data.map((d) => c.format(finite(d.value)));\n\n // shared columns (horizontal) / bands (vertical) of the labels and values\n const labelW = vertical\n ? 0\n : Math.min(\n area.width * 0.32,\n Math.max(\n 0,\n ...o.data.map((d) =>\n Math.max(\n measure(d.name, nameFont),\n d.subtitle ? measure(d.subtitle, subFont) : 0,\n ),\n ),\n ) + 14,\n );\n const valueW = vertical\n ? 0\n : Math.min(\n area.width * 0.2,\n Math.max(0, ...valueText.map((t) => measure(t, valueFont))) + 12,\n );\n const labelH = vertical ? 22 + (hasSubtitle ? 14 : 0) : 0;\n const valueH = vertical ? 20 : 0;\n const unit = (vertical ? area.width : area.height) / total;\n\n let offset = 0;\n o.data.forEach((d, i) => {\n const w = weights[i];\n const slot = unit * w;\n const from = offset;\n offset += slot;\n if (w <= 1e-3) return;\n const key = keys[i];\n const alpha = w;\n const [min, max] = bulletScale(o, d);\n const ranges = rangesOf(o, d).filter((r) => r > min);\n const fills = rangeFills(o, c, ranges.length);\n const value = c.value(key, finite(d.value));\n const target0 = num(d.target);\n const target =\n target0 !== undefined ? c.value(`>${key}`, target0) : undefined;\n const color = c.color(d.color, i);\n const css = toCss(color);\n const thick = clamp(slot * (vertical ? 0.3 : 0.42), 8, 28);\n const span = vertical\n ? Math.max(1, area.height - labelH - valueH)\n : Math.max(1, area.width - labelW - valueW);\n const ticks = showTicks\n ? linearTicks(min, max, Math.max(2, Math.floor(span / 70)))\n : [];\n const tickRoom = vertical ? slot / 2 - thick / 2 - 6 : slot - thick - 10;\n const tickW = Math.max(\n 0,\n ...ticks.map((t) => measure(c.format(t), tickFont)),\n );\n const drawTicks =\n ticks.length > 1 && (vertical ? tickRoom >= tickW : tickRoom >= 14);\n\n // position along the scale, and across it\n const p0 = vertical ? area.y + area.height - labelH : area.x + labelW;\n const along = (v: number) =>\n p0 + (vertical ? -1 : 1) * span * clamp((v - min) / (max - min), 0, 1);\n const mid = vertical\n ? area.x + from + slot / 2\n : area.y + from + (slot - (drawTicks ? 14 : 0)) / 2;\n /** Rectangle from `a` to `b` along the scale, `t` thick across it */\n const band = (a: number, b: number, t: number) => {\n const lo = Math.min(along(a), along(b));\n const hi = Math.max(along(a), along(b));\n return vertical\n ? { x: mid - t / 2, y: lo, width: t, height: hi - lo }\n : { x: lo, y: mid - t / 2, width: hi - lo, height: t };\n };\n\n // the whole row / column is a hover target\n nodes.push({\n kind: \"rect\",\n ...(vertical\n ? { x: area.x + from, y: area.y, width: slot, height: area.height }\n : { x: area.x, y: area.y + from, width: area.width, height: slot }),\n radius: 0,\n fill: transparent,\n hit: i,\n alpha,\n });\n // ranges: disjoint segments (translucent colors must not add up)\n const bounds = ranges.length ? ranges : [max];\n let edge = min;\n bounds.forEach((bound, k) => {\n const to = Math.min(bound, max);\n if (to > edge)\n nodes.push({\n kind: \"rect\",\n ...band(edge, to, thick),\n radius: 0,\n fill: toCss(fills[k]),\n hit: i,\n alpha,\n });\n edge = Math.max(edge, to);\n });\n if (edge < max)\n nodes.push({\n kind: \"rect\",\n ...band(edge, max, thick),\n radius: 0,\n fill: toCss(fills[fills.length - 1]),\n hit: i,\n alpha,\n });\n // measure\n const base = clamp(0, min, max);\n const shownValue = base + (value - base) * enter;\n nodes.push({\n kind: \"rect\",\n ...band(base, shownValue, thick * barSize),\n radius: 1,\n fill: css,\n hit: i,\n alpha,\n brighten: true,\n });\n // target\n if (target !== undefined && target >= min && target <= max) {\n const at = along(target);\n const len = thick * 0.82;\n nodes.push({\n kind: \"rect\",\n ...(vertical\n ? { x: mid - len / 2, y: at - 1.5, width: len, height: 3 }\n : { x: at - 1.5, y: mid - len / 2, width: 3, height: len }),\n radius: 1,\n fill: markColor,\n hit: i,\n alpha: alpha * enter,\n });\n }\n // ticks\n if (drawTicks)\n for (const t of ticks) {\n const at = along(t);\n nodes.push({\n kind: \"text\",\n x: vertical ? mid - thick / 2 - 5 : at,\n y: vertical ? at : mid + thick / 2 + 4,\n text: c.format(t),\n font: tickFont,\n color: muted,\n align: vertical ? \"right\" : \"center\",\n baseline: vertical ? \"middle\" : \"top\",\n hit: i,\n alpha,\n });\n }\n\n // name, subtitle and value\n if (vertical) {\n const room = Math.max(0, slot - 8);\n const name = ellipsize(d.name, room, nameFont, measure);\n const bottom = area.y + area.height;\n if (name)\n nodes.push({\n kind: \"text\",\n x: mid,\n y: bottom - labelH + 16,\n text: name,\n font: nameFont,\n color: text,\n align: \"center\",\n baseline: \"middle\",\n hit: i,\n alpha,\n });\n const sub = d.subtitle\n ? ellipsize(d.subtitle, room, subFont, measure)\n : \"\";\n if (sub)\n nodes.push({\n kind: \"text\",\n x: mid,\n y: bottom - labelH + 31,\n text: sub,\n font: subFont,\n color: muted,\n align: \"center\",\n baseline: \"middle\",\n hit: i,\n alpha,\n });\n const value = ellipsize(valueText[i], room, valueFont, measure);\n if (value)\n nodes.push({\n kind: \"text\",\n x: mid,\n y: area.y + valueH / 2,\n text: value,\n font: valueFont,\n color: text,\n align: \"center\",\n baseline: \"middle\",\n hit: i,\n alpha,\n });\n } else {\n const room = Math.max(0, labelW - 14);\n const name = ellipsize(d.name, room, nameFont, measure);\n const sub =\n d.subtitle && slot >= 34\n ? ellipsize(d.subtitle, room, subFont, measure)\n : \"\";\n const x = area.x + labelW - 14;\n if (name)\n nodes.push({\n kind: \"text\",\n x,\n y: sub ? mid - 7 : mid,\n text: name,\n font: nameFont,\n color: text,\n align: \"right\",\n baseline: \"middle\",\n hit: i,\n alpha,\n });\n if (sub)\n nodes.push({\n kind: \"text\",\n x,\n y: mid + 8,\n text: sub,\n font: subFont,\n color: muted,\n align: \"right\",\n baseline: \"middle\",\n hit: i,\n alpha,\n });\n const value = ellipsize(valueText[i], valueW - 8, valueFont, measure);\n if (value)\n nodes.push({\n kind: \"text\",\n x: area.x + area.width,\n y: mid,\n text: value,\n font: valueFont,\n color: text,\n align: \"right\",\n baseline: \"middle\",\n hit: i,\n alpha,\n });\n }\n\n if (hidden.has(i)) return;\n const v = finite(d.value);\n const percent =\n target0 !== undefined && target0 !== 0\n ? v / target0\n : (v - min) / (max - min);\n const rangeIndex = ranges.findIndex((r) => v <= r);\n const rangeName = rangeIndex >= 0 ? o.rangeLabels?.[rangeIndex] : undefined;\n const end = along(v);\n items.push({\n index: i,\n name: d.name,\n value: v,\n percent,\n share: c.percent(percent),\n color: css,\n x: vertical ? mid : end,\n y: vertical ? end : mid,\n rows: [\n { name: c.labels.value, value: c.format(v) },\n ...(target0 !== undefined\n ? [\n { name: c.labels.target, value: c.format(target0) },\n { name: c.labels.ofTarget, value: c.percent(percent) },\n ]\n : []),\n ...(rangeName ? [{ name: c.labels.range, value: rangeName }] : []),\n ],\n });\n });\n\n return { nodes, items, dim: 0.4, empty: false };\n};\n"],"mappings":";;;;;AAuBA,IAAMA,KAAU,MAA0BC,EAAWC,EAAE,KAAK,KAAK,MAAMC,EAAE,IAAI,CAAC,GAExEC,KAAO,MACX,OAAOC,KAAM,YAAY,OAAO,SAASA,CAAC,IAAIA,IAAI,KAAA,GAG9CC,KAAY,GAAuB,OACtCH,EAAE,UAAUD,EAAE,UAAU,CAAC,EAAA,CACvB,QAAQ,MAAM,OAAOK,KAAM,YAAY,OAAO,SAASA,CAAC,CAAC,CAAC,CAC1D,MAAM,CAAC,CACP,MAAM,GAAG,MAAMC,IAAIC,CAAC,GAGZC,MACX,GACA,MACqB;CACrB,IAAMC,IAASL,EAASJ,GAAGC,CAAC,GACtBS,IAAQC,EAAOV,EAAE,KAAK,GACtBW,IAASV,EAAID,EAAE,MAAM,GACrBY,IAAO;EAAC;EAAGH;EAAO,GAAIE,MAAW,KAAA,IAAuB,CAAC,IAAZ,CAACA,CAAM;CAAO,GAC7DE,IAAMZ,EAAID,EAAE,GAAG,KAAK,KAAK,IAAI,GAAGY,CAAI,GAClCE,IAAQ;EAACL;EAAO,GAAIE,MAAW,KAAA,IAAuB,CAAC,IAAZ,CAACA,CAAM;EAAS,GAAGH;CAAM,GACtEO,IAAMd,EAAID,EAAE,GAAG;CACnB,IAAIe,MAAQ,KAAA,GAAW;EACrB,IAAMC,IAAM,KAAK,IAAI,GAAGF,CAAK,GACvBG,IAAOT,EAAO,SAASA,EAAOA,EAAO,SAAS,KAAK;EACzD,IAAMQ,KAAOC,IAAOA,IAAOC,EAAWL,GAAKG,GAAK,CAAC,CAAC,CAAC;CACrD;CAKA,OAJMD,IAAMF,MACNE,MAAQF,IAAK,IAAMA,IAAM,IACxB,CAACA,GAAKE,KAAO,CAACA,GAAKF,CAAG,IAEtB,CAACA,GAAKE,CAAG;AAClB,GAEaI,KACX,GACA,GACA,MACG;CACH,EAAOpB,CAAC,CAAC,CAAC,SAAS,GAAK,MAAM;EAC5B,IAAMC,IAAID,EAAE,KAAK;EACjB,EAAI,IAAIqB,GAAKV,EAAOV,EAAE,KAAK,CAAC;EAC5B,IAAMW,IAASV,EAAID,EAAE,MAAM;EAE3B,AADIW,MAAW,KAAA,KAAWU,EAAI,IAAI,IAAID,KAAOT,CAAM,GACnDU,EAAI,IAAI,IAAID,KAAO,IAAO,IAAI,CAAC,CAAS;CAC1C,CAAC;AACH,GAGME,MACJ,GACA,GACA,MACW;CACX,IAAM,EAAE,aAAUC;CAClB,OAAO,MAAM,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAGC,CAAK,EAAE,IAAI,GAAG,MAAM;EAC1D,IAAMC,IAAOC,EACXC,EAAM,YACNA,EAAM,MACNH,KAAS,IAAI,MAAO,MAAQ,MAAOI,KAAMJ,IAAQ,EACnD,GACMK,IAAM9B,EAAE,cAAc6B;EAC5B,OAAOC,IAAMC,EAAYH,GAAOE,GAAKJ,CAAI,IAAIA;CAC/C,CAAC;AACH,GAEaM,KACX,GACA,MACiB;CACjB,IAAM,EAAE,UAAO,SAAM,YAAS,cAAWR,GACnCS,IAAOnC,EAAOE,CAAC,GACfkC,IAAIlC,EAAE,KAAK,QACXmC,IAAUF,EAAK,KAAK,GAAK,MAC7BG,EAAMZ,EAAE,MAAM,IAAIH,KAAO,IAAO,IAAIgB,CAAC,CAAS,GAAG,GAAG,CAAC,CACvD,GACMC,IAAQC,EAAIJ,CAAO;CACzB,IAAI,CAACD,KAAKI,KAAS,MAAM,OAAOE,EAAYhB,CAAC;CAC7C,IAAMiB,IAAWzC,EAAE,gBAAgB,YAC7B0C,IAAQN,EAAMZ,EAAE,OAAO,GAAG,CAAC,GAC3BmB,KAAUP,EAAMzB,EAAOX,EAAE,SAAS,EAAG,GAAG,IAAK,CAAC,GAC9C4C,IAAWC,EAAKjB,GAAO,IAAI,GAAG,GAC9BkB,IAAUD,EAAKjB,GAAO,EAAE,GACxBmB,IAAYF,EAAKjB,GAAO,IAAI,GAAG,GAC/BoB,IAAWH,EAAKjB,GAAO,EAAE,GACzBqB,IAAQC,EAAMtB,EAAM,SAAS,GAC7BuB,IAAOD,EAAMtB,EAAM,IAAI,GAEvBwB,KAAYF,EAAMnB,EAAYH,GAAO5B,EAAE,aAAa4B,EAAM,IAAI,CAAC,GAC/DyB,KAAYrD,EAAE,UAAU,IAExBsD,IAAqB,CAAC,GACtBC,IAAqB,CAAC,GACtBC,IAAcxD,EAAE,KAAK,MAAM,GAAG,MAAM,CAAC,CAACC,EAAE,YAAYkC,EAAQE,KAAK,CAAC,GAClEoB,IAAYzD,EAAE,KAAK,KAAK,MAAMwB,EAAE,OAAOb,EAAOV,EAAE,KAAK,CAAC,CAAC,GAGvDyD,IAASjB,IACX,IACA,KAAK,IACHkB,EAAK,QAAQ,KACb,KAAK,IACH,GACA,GAAG3D,EAAE,KAAK,KAAK,MACb,KAAK,IACH4D,EAAQ3D,EAAE,MAAM2C,CAAQ,GACxB3C,EAAE,WAAW2D,EAAQ3D,EAAE,UAAU6C,CAAO,IAAI,CAC9C,CACF,CACF,IAAI,EACN,GACEe,IAASpB,IACX,IACA,KAAK,IACHkB,EAAK,QAAQ,IACb,KAAK,IAAI,GAAG,GAAGF,EAAU,KAAK,MAAMG,EAAQE,GAAGf,CAAS,CAAC,CAAC,IAAI,EAChE,GACEgB,IAAStB,IAAW,MAAMe,IAAc,KAAK,KAAK,GAClDQ,KAASvB,IAAW,KAAK,GACzBwB,MAAQxB,IAAWkB,EAAK,QAAQA,EAAK,UAAUrB,GAEjD4B,KAAS;CAmQb,OAlQAlE,EAAE,KAAK,SAAS,GAAG,MAAM;EACvB,IAAMmE,IAAIhC,EAAQE,IACZ+B,IAAOH,KAAOE,GACdE,IAAOH;EAEb,IADA,MAAUE,GACND,KAAK,MAAM;EACf,IAAM9C,IAAMY,EAAKI,IACXiC,IAAQH,GACR,CAACrD,GAAKE,KAAOR,GAAYR,GAAGC,CAAC,GAC7BQ,IAASL,EAASJ,GAAGC,CAAC,CAAC,CAAC,QAAQ,MAAMI,IAAIS,CAAG,GAC7CyD,IAAQhD,GAAWvB,GAAGwB,GAAGf,EAAO,MAAM,GACtCC,KAAQc,EAAE,MAAMH,GAAKV,EAAOV,EAAE,KAAK,CAAC,GACpCuE,IAAUtE,EAAID,EAAE,MAAM,GACtBW,IACJ4D,MAAY,KAAA,IAA0C,KAAA,IAA9BhD,EAAE,MAAM,IAAIH,KAAOmD,CAAO,GAC9CC,KAAQjD,EAAE,MAAMvB,EAAE,OAAOoC,CAAC,GAC1BqC,IAAMxB,EAAMuB,EAAK,GACjBE,IAAQvC,EAAMgC,KAAQ3B,IAAW,KAAM,MAAO,GAAG,EAAE,GACnDmC,IAAOnC,IACT,KAAK,IAAI,GAAGkB,EAAK,SAASI,IAASC,EAAM,IACzC,KAAK,IAAI,GAAGL,EAAK,QAAQD,IAASG,CAAM,GACtCgB,IAAQxB,KACVyB,EAAYhE,GAAKE,GAAK,KAAK,IAAI,GAAG,KAAK,MAAM4D,IAAO,EAAE,CAAC,CAAC,IACxD,CAAC,GACCG,IAAWtC,IAAW2B,IAAO,IAAIO,IAAQ,IAAI,IAAIP,IAAOO,IAAQ,IAChEK,KAAQ,KAAK,IACjB,GACA,GAAGH,EAAM,KAAK,MAAMjB,EAAQpC,EAAE,OAAOsC,CAAC,GAAGd,CAAQ,CAAC,CACpD,GACMiC,IACJJ,EAAM,SAAS,MAAMpC,IAAWsC,KAAYC,KAAQD,KAAY,KAG5DG,KAAKzC,IAAWkB,EAAK,IAAIA,EAAK,SAASI,IAASJ,EAAK,IAAID,GACzDyB,KAAS,MACbD,MAAMzC,IAAW,KAAK,KAAKmC,IAAOxC,GAAOjC,IAAIW,MAAQE,IAAMF,IAAM,GAAG,CAAC,GACjEsE,IAAM3C,IACRkB,EAAK,IAAIU,IAAOD,IAAO,IACvBT,EAAK,IAAIU,KAAQD,KAAQa,IAAY,KAAK,MAAM,GAE9CI,KAAQ,GAAW,GAAW,MAAc;GAChD,IAAMC,IAAK,KAAK,IAAIH,EAAM7E,CAAC,GAAG6E,EAAM5E,CAAC,CAAC,GAChCgF,IAAK,KAAK,IAAIJ,EAAM7E,CAAC,GAAG6E,EAAM5E,CAAC,CAAC;GACtC,OAAOkC,IACH;IAAE,GAAG2C,IAAMtB,IAAI;IAAG,GAAGwB;IAAI,OAAOxB;IAAG,QAAQyB,IAAKD;GAAG,IACnD;IAAE,GAAGA;IAAI,GAAGF,IAAMtB,IAAI;IAAG,OAAOyB,IAAKD;IAAI,QAAQxB;GAAE;EACzD;EAGA,EAAM,KAAK;GACT,MAAM;GACN,GAAIrB,IACA;IAAE,GAAGkB,EAAK,IAAIU;IAAM,GAAGV,EAAK;IAAG,OAAOS;IAAM,QAAQT,EAAK;GAAO,IAChE;IAAE,GAAGA,EAAK;IAAG,GAAGA,EAAK,IAAIU;IAAM,OAAOV,EAAK;IAAO,QAAQS;GAAK;GACnE,QAAQ;GACR,MAAM;GACN,KAAK/B;GACL;EACF,CAAC;EAED,IAAMmD,KAAS/E,EAAO,SAASA,IAAS,CAACO,CAAG,GACxCyE,IAAO3E;EAcX,AAbA0E,GAAO,SAAS,GAAO,MAAM;GAC3B,IAAME,IAAK,KAAK,IAAIC,GAAO3E,CAAG;GAU9B,AATI0E,IAAKD,KACPnC,EAAM,KAAK;IACT,MAAM;IACN,GAAG+B,EAAKI,GAAMC,GAAIf,CAAK;IACvB,QAAQ;IACR,MAAMzB,EAAMqB,EAAM1C,EAAE;IACpB,KAAKQ;IACL;GACF,CAAC,GACH,IAAO,KAAK,IAAIoD,GAAMC,CAAE;EAC1B,CAAC,GACGD,IAAOzE,KACTsC,EAAM,KAAK;GACT,MAAM;GACN,GAAG+B,EAAKI,GAAMzE,GAAK2D,CAAK;GACxB,QAAQ;GACR,MAAMzB,EAAMqB,EAAMA,EAAM,SAAS,EAAE;GACnC,KAAKlC;GACL;EACF,CAAC;EAEH,IAAMuD,IAAOxD,EAAM,GAAGtB,GAAKE,CAAG,GACxB6E,KAAaD,KAAQlF,KAAQkF,KAAQlD;EAW3C,IAVAY,EAAM,KAAK;GACT,MAAM;GACN,GAAG+B,EAAKO,GAAMC,IAAYlB,IAAQhC,EAAO;GACzC,QAAQ;GACR,MAAM+B;GACN,KAAKrC;GACL;GACA,UAAU;EACZ,CAAC,GAEGzB,MAAW,KAAA,KAAaA,KAAUE,KAAOF,KAAUI,GAAK;GAC1D,IAAM8E,IAAKX,EAAMvE,CAAM,GACjBmF,IAAMpB,IAAQ;GACpB,EAAM,KAAK;IACT,MAAM;IACN,GAAIlC,IACA;KAAE,GAAG2C,IAAMW,IAAM;KAAG,GAAGD,IAAK;KAAK,OAAOC;KAAK,QAAQ;IAAE,IACvD;KAAE,GAAGD,IAAK;KAAK,GAAGV,IAAMW,IAAM;KAAG,OAAO;KAAG,QAAQA;IAAI;IAC3D,QAAQ;IACR,MAAM3C;IACN,KAAKf;IACL,OAAOiC,IAAQ5B;GACjB,CAAC;EACH;EAEA,IAAIuC,GACF,KAAK,IAAMnB,KAAKe,GAAO;GACrB,IAAMiB,IAAKX,EAAMrB,CAAC;GAClB,EAAM,KAAK;IACT,MAAM;IACN,GAAGrB,IAAW2C,IAAMT,IAAQ,IAAI,IAAImB;IACpC,GAAGrD,IAAWqD,IAAKV,IAAMT,IAAQ,IAAI;IACrC,MAAMnD,EAAE,OAAOsC,CAAC;IAChB,MAAMd;IACN,OAAOC;IACP,OAAOR,IAAW,UAAU;IAC5B,UAAUA,IAAW,WAAW;IAChC,KAAKJ;IACL;GACF,CAAC;EACH;EAGF,IAAII,GAAU;GACZ,IAAMuD,IAAO,KAAK,IAAI,GAAG5B,IAAO,CAAC,GAC3B6B,IAAOC,EAAUjG,EAAE,MAAM+F,GAAMpD,GAAUgB,CAAO,GAChDuC,IAASxC,EAAK,IAAIA,EAAK;GAC7B,AAAIsC,KACF3C,EAAM,KAAK;IACT,MAAM;IACN,GAAG8B;IACH,GAAGe,IAASpC,IAAS;IACrB,MAAMkC;IACN,MAAMrD;IACN,OAAOO;IACP,OAAO;IACP,UAAU;IACV,KAAKd;IACL;GACF,CAAC;GACH,IAAM+D,IAAMnG,EAAE,WACViG,EAAUjG,EAAE,UAAU+F,GAAMlD,GAASc,CAAO,IAC5C;GACJ,AAAIwC,KACF9C,EAAM,KAAK;IACT,MAAM;IACN,GAAG8B;IACH,GAAGe,IAASpC,IAAS;IACrB,MAAMqC;IACN,MAAMtD;IACN,OAAOG;IACP,OAAO;IACP,UAAU;IACV,KAAKZ;IACL;GACF,CAAC;GACH,IAAM3B,IAAQwF,EAAUzC,EAAUpB,IAAI2D,GAAMjD,GAAWa,CAAO;GAC9D,AAAIlD,KACF4C,EAAM,KAAK;IACT,MAAM;IACN,GAAG8B;IACH,GAAGzB,EAAK,IAAIK,KAAS;IACrB,MAAMtD;IACN,MAAMqC;IACN,OAAOI;IACP,OAAO;IACP,UAAU;IACV,KAAKd;IACL;GACF,CAAC;EACL,OAAO;GACL,IAAM2D,IAAO,KAAK,IAAI,GAAGtC,IAAS,EAAE,GAC9BuC,IAAOC,EAAUjG,EAAE,MAAM+F,GAAMpD,GAAUgB,CAAO,GAChDwC,IACJnG,EAAE,YAAYmE,KAAQ,KAClB8B,EAAUjG,EAAE,UAAU+F,GAAMlD,GAASc,CAAO,IAC5C,IACAyC,IAAI1C,EAAK,IAAID,IAAS;GAc5B,AAbIuC,KACF3C,EAAM,KAAK;IACT,MAAM;IACN;IACA,GAAG8C,IAAMhB,IAAM,IAAIA;IACnB,MAAMa;IACN,MAAMrD;IACN,OAAOO;IACP,OAAO;IACP,UAAU;IACV,KAAKd;IACL;GACF,CAAC,GACC+D,KACF9C,EAAM,KAAK;IACT,MAAM;IACN;IACA,GAAG8B,IAAM;IACT,MAAMgB;IACN,MAAMtD;IACN,OAAOG;IACP,OAAO;IACP,UAAU;IACV,KAAKZ;IACL;GACF,CAAC;GACH,IAAM3B,IAAQwF,EAAUzC,EAAUpB,IAAIwB,IAAS,GAAGd,GAAWa,CAAO;GACpE,AAAIlD,KACF4C,EAAM,KAAK;IACT,MAAM;IACN,GAAGK,EAAK,IAAIA,EAAK;IACjB,GAAGyB;IACH,MAAM1E;IACN,MAAMqC;IACN,OAAOI;IACP,OAAO;IACP,UAAU;IACV,KAAKd;IACL;GACF,CAAC;EACL;EAEA,IAAIiE,EAAO,IAAIjE,CAAC,GAAG;EACnB,IAAMlC,IAAIQ,EAAOV,EAAE,KAAK,GAClBsG,IACJ/B,MAAY,KAAA,KAAaA,MAAY,IACjCrE,IAAIqE,KACHrE,IAAIW,MAAQE,IAAMF,IACnB0F,KAAa/F,EAAO,WAAW,MAAMN,KAAKE,CAAC,GAC3CoG,KAAYD,MAAc,IAAIxG,EAAE,cAAcwG,MAAc,KAAA,GAC5DE,KAAMvB,EAAMhF,CAAC;EACnB,EAAM,KAAK;GACT,OAAOkC;GACP,MAAMpC,EAAE;GACR,OAAOE;GACP;GACA,OAAOqB,EAAE,QAAQ+E,CAAO;GACxB,OAAO7B;GACP,GAAGjC,IAAW2C,IAAMsB;GACpB,GAAGjE,IAAWiE,KAAMtB;GACpB,MAAM;IACJ;KAAE,MAAM5D,EAAE,OAAO;KAAO,OAAOA,EAAE,OAAOrB,CAAC;IAAE;IAC3C,GAAIqE,MAAY,KAAA,IAKZ,CAAC,IAJD,CACE;KAAE,MAAMhD,EAAE,OAAO;KAAQ,OAAOA,EAAE,OAAOgD,CAAO;IAAE,GAClD;KAAE,MAAMhD,EAAE,OAAO;KAAU,OAAOA,EAAE,QAAQ+E,CAAO;IAAE,CACvD;IAEJ,GAAIE,KAAY,CAAC;KAAE,MAAMjF,EAAE,OAAO;KAAO,OAAOiF;IAAU,CAAC,IAAI,CAAC;GAClE;EACF,CAAC;CACH,CAAC,GAEM;EAAE;EAAO;EAAO,KAAK;EAAK,OAAO;CAAM;AAChD"}
|
|
1
|
+
{"version":3,"file":"bullet.js","names":["keysOf","uniqueKeys","o","d","num","v","rangesOf","r","a","b","bulletScale","ranges","value","finite","target","lows","min","highs","max","top","last","niceDomain","bulletValues","key","out","rangeFills","c","count","gray","mix","theme","k","own","resolveWith","NAME_LINE","layoutBullet","keys","n","weights","clamp","i","total","sum","emptyLayout","vertical","enter","barSize","nameFont","font","subFont","valueFont","tickFont","muted","toCss","text","markColor","showTicks","nodes","items","hasSubtitle","valueText","nameW","measure","labelCap","area","lineW","wrapText","l","labelW","valueW","t","columnW","wraps","labelH","valueH","unit","offset","w","slot","from","alpha","fills","target0","color","css","thick","span","ticks","linearTicks","tickRoom","tickW","drawTicks","p0","along","mid","band","lo","hi","bounds","edge","to","bound","base","shownValue","at","len","room","lines","bottom","line","sub","ellipsize","avail","subH","x","hidden","percent","rangeIndex","rangeName","end"],"sources":["../../../../../../../charts/src/engine/shapes/bullet.ts"],"sourcesContent":["// Bullet chart layout (Stephen Few): per row, qualitative ranges as shades\n// of gray, the measure as a bar and the target as a marker, on the row's own\n// scale; name and subtitle on the left (below when vertical), value on the\n// right (above when vertical), tick labels when there is room.\n\nimport { mix, toCss, type Rgba } from \"../color\";\nimport { font } from \"../overlay\";\nimport { linearTicks, niceDomain } from \"../scale\";\nimport {\n clamp,\n ellipsize,\n emptyLayout,\n finite,\n resolveWith,\n sum,\n uniqueKeys,\n wrapText,\n type LayoutContext,\n type LayoutResult,\n type ShapeItem,\n type ShapeNode,\n} from \"./scene\";\nimport type { BulletChartOptions, BulletDatum } from \"./types\";\n\nconst keysOf = (o: BulletChartOptions) => uniqueKeys(o.data.map((d) => d.name));\n\nconst num = (v: number | undefined) =>\n typeof v === \"number\" && Number.isFinite(v) ? v : undefined;\n\n/** Qualitative ranges of a row: finite upper bounds, ascending */\nconst rangesOf = (o: BulletChartOptions, d: BulletDatum) =>\n (d.ranges ?? o.ranges ?? [])\n .filter((r) => typeof r === \"number\" && Number.isFinite(r))\n .slice()\n .sort((a, b) => a - b);\n\n/** Scale of a row: `[min, max]` */\nexport const bulletScale = (\n o: BulletChartOptions,\n d: BulletDatum,\n): [number, number] => {\n const ranges = rangesOf(o, d);\n const value = finite(d.value);\n const target = num(d.target);\n const lows = [0, value, ...(target !== undefined ? [target] : [])];\n let min = num(d.min) ?? Math.min(...lows);\n const highs = [value, ...(target !== undefined ? [target] : []), ...ranges];\n let max = num(d.max);\n if (max === undefined) {\n const top = Math.max(...highs);\n const last = ranges.length ? ranges[ranges.length - 1] : -Infinity;\n max = top <= last ? last : niceDomain(min, top, 5)[1];\n }\n if (!(max > min)) {\n if (max === min) max = min + 1;\n else [min, max] = [max, min];\n }\n return [min, max];\n};\n\nexport const bulletValues = (\n o: BulletChartOptions,\n hidden: ReadonlySet<number>,\n out: Map<string, number>,\n) => {\n keysOf(o).forEach((key, i) => {\n const d = o.data[i];\n out.set(key, finite(d.value));\n const target = num(d.target);\n if (target !== undefined) out.set(`>${key}`, target);\n out.set(`~${key}`, hidden.has(i) ? 0 : 1);\n });\n};\n\n/** Default fills of the ranges: grays, the lowest (poorest) darkest */\nconst rangeFills = (\n o: BulletChartOptions,\n c: LayoutContext,\n count: number,\n): Rgba[] => {\n const { theme } = c;\n return Array.from({ length: Math.max(1, count) }, (_, k) => {\n const gray = mix(\n theme.background,\n theme.text,\n count <= 1 ? 0.09 : 0.24 - (0.16 * k) / (count - 1),\n );\n const own = o.rangeColors?.[k];\n return own ? resolveWith(theme, own, gray) : gray;\n });\n};\n\n/** Line height of the wrapped names */\nconst NAME_LINE = 15;\n\nexport const layoutBullet = (\n o: BulletChartOptions,\n c: LayoutContext,\n): LayoutResult => {\n const { theme, area, measure, hidden } = c;\n const keys = keysOf(o);\n const n = o.data.length;\n const weights = keys.map((key, i) =>\n clamp(c.value(`~${key}`, hidden.has(i) ? 0 : 1), 0, 1),\n );\n const total = sum(weights);\n if (!n || total <= 1e-6) return emptyLayout(c);\n const vertical = o.orientation === \"vertical\";\n const enter = clamp(c.enter, 0, 1);\n const barSize = clamp(finite(o.barSize, 0.4), 0.1, 1);\n const nameFont = font(theme, 12, 600);\n const subFont = font(theme, 11);\n const valueFont = font(theme, 12, 600);\n const tickFont = font(theme, 10);\n const muted = toCss(theme.textMuted);\n const text = toCss(theme.text);\n const transparent = \"rgba(0, 0, 0, 0)\";\n const markColor = toCss(resolveWith(theme, o.targetColor, theme.text));\n const showTicks = o.ticks !== false;\n\n const nodes: ShapeNode[] = [];\n const items: ShapeItem[] = [];\n const hasSubtitle = o.data.some((d, i) => !!d.subtitle && weights[i] > 0);\n const valueText = o.data.map((d) => c.format(finite(d.value)));\n\n // shared columns (horizontal) / bands (vertical) of the labels and values:\n // the label column fits the longest name up to a share of the width,\n // longer names wrap to two lines\n const nameW = o.data.map((d) => measure(d.name, nameFont));\n const labelCap = area.width * (area.width < 420 ? 0.34 : 0.4);\n // widest line of each name once wrapped (balanced) within the cap\n const lineW = o.data.map((d, i) =>\n nameW[i] <= labelCap - 14\n ? nameW[i]\n : Math.max(\n 0,\n ...wrapText(d.name, labelCap - 14, nameFont, measure, 2).map((l) =>\n measure(l, nameFont),\n ),\n ),\n );\n const labelW = vertical\n ? 0\n : Math.min(\n labelCap,\n Math.max(\n 0,\n ...o.data.map((d, i) =>\n Math.max(lineW[i], d.subtitle ? measure(d.subtitle, subFont) : 0),\n ),\n ) + 14,\n );\n const valueW = vertical\n ? 0\n : Math.min(\n area.width * 0.2,\n Math.max(0, ...valueText.map((t) => measure(t, valueFont))) + 12,\n );\n const columnW = area.width / total;\n const wraps =\n vertical && o.data.some((_, i) => weights[i] > 0 && nameW[i] > columnW - 8);\n const labelH = vertical\n ? 22 + (wraps ? NAME_LINE : 0) + (hasSubtitle ? 14 : 0)\n : 0;\n const valueH = vertical ? 20 : 0;\n const unit = (vertical ? area.width : area.height) / total;\n\n let offset = 0;\n o.data.forEach((d, i) => {\n const w = weights[i];\n const slot = unit * w;\n const from = offset;\n offset += slot;\n if (w <= 1e-3) return;\n const key = keys[i];\n const alpha = w;\n const [min, max] = bulletScale(o, d);\n const ranges = rangesOf(o, d).filter((r) => r > min);\n const fills = rangeFills(o, c, ranges.length);\n const value = c.value(key, finite(d.value));\n const target0 = num(d.target);\n const target =\n target0 !== undefined ? c.value(`>${key}`, target0) : undefined;\n const color = c.color(d.color, i);\n const css = toCss(color);\n const thick = clamp(slot * (vertical ? 0.3 : 0.42), 8, 28);\n const span = vertical\n ? Math.max(1, area.height - labelH - valueH)\n : Math.max(1, area.width - labelW - valueW);\n const ticks = showTicks\n ? linearTicks(min, max, Math.max(2, Math.floor(span / 70)))\n : [];\n const tickRoom = vertical ? slot / 2 - thick / 2 - 6 : slot - thick - 10;\n const tickW = Math.max(\n 0,\n ...ticks.map((t) => measure(c.format(t), tickFont)),\n );\n const drawTicks =\n ticks.length > 1 && (vertical ? tickRoom >= tickW : tickRoom >= 14);\n\n // position along the scale, and across it\n const p0 = vertical ? area.y + area.height - labelH : area.x + labelW;\n const along = (v: number) =>\n p0 + (vertical ? -1 : 1) * span * clamp((v - min) / (max - min), 0, 1);\n const mid = vertical\n ? area.x + from + slot / 2\n : area.y + from + (slot - (drawTicks ? 14 : 0)) / 2;\n /** Rectangle from `a` to `b` along the scale, `t` thick across it */\n const band = (a: number, b: number, t: number) => {\n const lo = Math.min(along(a), along(b));\n const hi = Math.max(along(a), along(b));\n return vertical\n ? { x: mid - t / 2, y: lo, width: t, height: hi - lo }\n : { x: lo, y: mid - t / 2, width: hi - lo, height: t };\n };\n\n // the whole row / column is a hover target\n nodes.push({\n kind: \"rect\",\n ...(vertical\n ? { x: area.x + from, y: area.y, width: slot, height: area.height }\n : { x: area.x, y: area.y + from, width: area.width, height: slot }),\n radius: 0,\n fill: transparent,\n hit: i,\n alpha,\n });\n // ranges: disjoint segments (translucent colors must not add up)\n const bounds = ranges.length ? ranges : [max];\n let edge = min;\n bounds.forEach((bound, k) => {\n const to = Math.min(bound, max);\n if (to > edge)\n nodes.push({\n kind: \"rect\",\n ...band(edge, to, thick),\n radius: 0,\n fill: toCss(fills[k]),\n hit: i,\n alpha,\n });\n edge = Math.max(edge, to);\n });\n if (edge < max)\n nodes.push({\n kind: \"rect\",\n ...band(edge, max, thick),\n radius: 0,\n fill: toCss(fills[fills.length - 1]),\n hit: i,\n alpha,\n });\n // measure\n const base = clamp(0, min, max);\n const shownValue = base + (value - base) * enter;\n nodes.push({\n kind: \"rect\",\n ...band(base, shownValue, thick * barSize),\n radius: 1,\n fill: css,\n hit: i,\n alpha,\n brighten: true,\n });\n // target\n if (target !== undefined && target >= min && target <= max) {\n const at = along(target);\n const len = thick * 0.82;\n nodes.push({\n kind: \"rect\",\n ...(vertical\n ? { x: mid - len / 2, y: at - 1.5, width: len, height: 3 }\n : { x: at - 1.5, y: mid - len / 2, width: 3, height: len }),\n radius: 1,\n fill: markColor,\n hit: i,\n alpha: alpha * enter,\n });\n }\n // ticks\n if (drawTicks)\n for (const t of ticks) {\n const at = along(t);\n nodes.push({\n kind: \"text\",\n x: vertical ? mid - thick / 2 - 5 : at,\n y: vertical ? at : mid + thick / 2 + 4,\n text: c.format(t),\n font: tickFont,\n color: muted,\n align: vertical ? \"right\" : \"center\",\n baseline: vertical ? \"middle\" : \"top\",\n hit: i,\n alpha,\n });\n }\n\n // name, subtitle and value\n if (vertical) {\n const room = Math.max(0, slot - 8);\n const lines = wrapText(d.name, room, nameFont, measure, wraps ? 2 : 1);\n const bottom = area.y + area.height;\n lines.forEach((line, k) =>\n nodes.push({\n kind: \"text\",\n x: mid,\n y: bottom - labelH + 16 + k * NAME_LINE,\n text: line,\n font: nameFont,\n color: text,\n align: \"center\",\n baseline: \"middle\",\n hit: i,\n alpha,\n }),\n );\n const sub = d.subtitle\n ? ellipsize(d.subtitle, room, subFont, measure)\n : \"\";\n if (sub)\n nodes.push({\n kind: \"text\",\n x: mid,\n y: bottom - labelH + 31 + (wraps ? NAME_LINE : 0),\n text: sub,\n font: subFont,\n color: muted,\n align: \"center\",\n baseline: \"middle\",\n hit: i,\n alpha,\n });\n const value = ellipsize(valueText[i], room, valueFont, measure);\n if (value)\n nodes.push({\n kind: \"text\",\n x: mid,\n y: area.y + valueH / 2,\n text: value,\n font: valueFont,\n color: text,\n align: \"center\",\n baseline: \"middle\",\n hit: i,\n alpha,\n });\n } else {\n const room = Math.max(0, labelW - 14);\n const avail = slot - 4;\n const sub =\n d.subtitle && avail >= NAME_LINE + 14\n ? ellipsize(d.subtitle, room, subFont, measure)\n : \"\";\n const subH = sub ? 13 : 0;\n const lines = wrapText(\n d.name,\n room,\n nameFont,\n measure,\n avail >= 2 * NAME_LINE + subH ? 2 : 1,\n );\n const top = mid - (lines.length * NAME_LINE + subH) / 2;\n const x = area.x + labelW - 14;\n lines.forEach((line, k) =>\n nodes.push({\n kind: \"text\",\n x,\n y: top + NAME_LINE / 2 + k * NAME_LINE,\n text: line,\n font: nameFont,\n color: text,\n align: \"right\",\n baseline: \"middle\",\n hit: i,\n alpha,\n }),\n );\n if (sub)\n nodes.push({\n kind: \"text\",\n x,\n y: top + lines.length * NAME_LINE + subH / 2,\n text: sub,\n font: subFont,\n color: muted,\n align: \"right\",\n baseline: \"middle\",\n hit: i,\n alpha,\n });\n const value = ellipsize(valueText[i], valueW - 8, valueFont, measure);\n if (value)\n nodes.push({\n kind: \"text\",\n x: area.x + area.width,\n y: mid,\n text: value,\n font: valueFont,\n color: text,\n align: \"right\",\n baseline: \"middle\",\n hit: i,\n alpha,\n });\n }\n\n if (hidden.has(i)) return;\n const v = finite(d.value);\n const percent =\n target0 !== undefined && target0 !== 0\n ? v / target0\n : (v - min) / (max - min);\n const rangeIndex = ranges.findIndex((r) => v <= r);\n const rangeName = rangeIndex >= 0 ? o.rangeLabels?.[rangeIndex] : undefined;\n const end = along(v);\n items.push({\n index: i,\n name: d.name,\n value: v,\n percent,\n share: c.percent(percent),\n color: css,\n x: vertical ? mid : end,\n y: vertical ? end : mid,\n rows: [\n { name: c.labels.value, value: c.format(v) },\n ...(target0 !== undefined\n ? [\n { name: c.labels.target, value: c.format(target0) },\n { name: c.labels.ofTarget, value: c.percent(percent) },\n ]\n : []),\n ...(rangeName ? [{ name: c.labels.range, value: rangeName }] : []),\n ],\n });\n });\n\n return { nodes, items, dim: 0.4, empty: false };\n};\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("../color.cjs"),t=require("../locale.cjs"),n=require("../overlay.cjs"),r=require("./scene.cjs"),i=require("./labels.cjs");var a=864e5,o=3660,s=e=>Math.floor(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())/a),c=e=>{if(typeof e==`string`){let t=/^\s*(\d{4})-(\d{1,2})-(\d{1,2})/.exec(e);if(t){let e=Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3]));return Number.isFinite(e)?Math.floor(e/a):null}let n=Date.parse(e);return Number.isFinite(n)?s(new Date(n)):null}return typeof e==`number`?Number.isFinite(e)?s(new Date(e)):null:e instanceof Date&&Number.isFinite(e.getTime())?s(e):null},l=e=>{let t=new Date(e*a);return{y:t.getUTCFullYear(),m:t.getUTCMonth(),d:t.getUTCDate()}},u=(e,t,n)=>Math.floor(Date.UTC(e,t,n)/a),d=e=>e<10?`0${e}`:String(e),f=e=>{let{y:t,m:n,d:r}=l(e);return`${t}-${d(n+1)}-${d(r)}`},p=e=>((e+4)%7+7)%7,m=(e,t)=>{let n=[],{y:r,m:i}=l(e);for(;u(r,i,1)<=t;)n.push({y:r,m:i}),i===11?(i=0,r++):i++;return n},h=()=>{try{return new Intl.DateTimeFormat().resolvedOptions().locale}catch{return`en-US`}},g=new Set(`AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE KH KR LA MH MM MO MT MX MZ NI NP PA PE PH PK PR PT PY SA SG SV TH TT TW UM US VE VI WS YE ZA ZW`.split(` `)),_=new Set(`AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY`.split(` `)),v={en:`US`,ja:`JP`,ko:`KR`,he:`IL`,pt:`BR`,ar:`EG`,fa:`IR`,hi:`IN`,th:`TH`,zh:`CN`},y=e=>{let t=e||h(),n=``,r=t.split(/[-_]/)[0]?.toLowerCase()??``;try{let e=Intl.Locale;if(typeof e==`function`){let i=new e(t),a=typeof i.getWeekInfo==`function`?i.getWeekInfo():i.weekInfo;if(a&&typeof a.firstDay==`number`)return(a.firstDay%7+7)%7;n=i.region??i.maximize?.().region??``,r=i.language??r}}catch{}if(!n){let e=/[-_]([A-Za-z]{2})(?=$|[-_])/.exec(t);n=e?e[1].toUpperCase():v[r]??``}return g.has(n)?0:_.has(n)?6:1},b=new Map,x=(e,t)=>{let n=`${e??``}|${JSON.stringify(t)}`;if(b.has(n))return b.get(n)??null;let r=null;for(let n of[e,void 0])try{r=new Intl.DateTimeFormat(n,{...t,timeZone:`UTC`});break}catch{r=null}return b.size>64&&b.clear(),b.set(n,r),r},S=`Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec`.split(` `),C=`Sun Mon Tue Wed Thu Fri Sat`.split(` `),w=(e,t,n,r)=>{let i=x(e,t);try{return i?i.format(new Date(n*a)):r}catch{return r}},T=(e,t,n)=>w(e,{month:`short`},u(t,n,1),S[n]),E=(e,t,n)=>w(e,{weekday:n},u(2023,0,1+t),n===`short`?C[t]:C[t].charAt(0)),D=(e,t)=>w(e,{year:`numeric`,month:`short`,day:`numeric`,weekday:`short`},t,f(t)),O=e=>{let t=new Map,n=1/0,i=-1/0;for(let a of e.data??[]){if(!a)continue;let e=c(a.date);e!==null&&(t.set(e,(t.get(e)??0)+r.positive(a.value)),n=Math.min(n,e),i=Math.max(i,e))}let a,s,l=e.range;if(typeof l==`number`&&Number.isFinite(l)){let e=Math.round(l);a=u(e,0,1),s=u(e,11,31)}else if(Array.isArray(l)&&l.length>=2){let e=c(l[0]),t=c(l[1]);if(e===null||t===null)return null;a=Math.min(e,t),s=Math.max(e,t)}else{if(!Number.isFinite(i))return null;s=i;let t=k(e),n=s-364;a=n-(p(n)-t+7)%7}s-a+1>o&&(a=s-o+1);let d=new Map,f=0,m=!0;t.forEach((e,t)=>{t<a||t>s||(d.set(t,e),f=Math.max(f,e),Number.isInteger(e)||(m=!1))});let h=e.colors?.length?Math.min(12,e.colors.length):r.clamp(Math.round(r.finite(e.levels,4)),1,12),g,_=(e.thresholds??[]).filter(e=>typeof e==`number`&&Number.isFinite(e)).slice().sort((e,t)=>e-t);if(_.length)g=_.slice(0,h-1),h=g.length+1,g.some(e=>!Number.isInteger(e))&&(m=!1);else{g=[];for(let e=1;e<h;e++){let t=f*e/h;g.push(m?Math.max(e,Math.ceil(t)):t)}for(let e=1;e<g.length;e++)g[e]<=g[e-1]&&(g[e]=m?g[e-1]+1:g[e-1])}return{start:a,end:s,values:d,max:f,thresholds:g,count:h,integer:m}},k=e=>typeof e.weekStart==`number`&&Number.isFinite(e.weekStart)?(Math.round(e.weekStart)%7+7)%7:y(t.resolveLocale(e.locale)),A=(e,t)=>{if(!(t>0))return-1;let{thresholds:n}=e;for(let e=0;e<n.length;e++)if(t<=n[e])return e;return e.count-1},j=(e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[e.length-1-n]===t[t.length-1-n]&&!/\d/.test(e[e.length-1-n]);)n++;return`${n?e.slice(0,e.length-n).trimEnd():e}\u2013${t}`},M=(e,t=i.localeFormat())=>{let{thresholds:n,count:r,integer:a}=e,o=[];for(let e=0;e<r;e++){if(e===r-1){o.push(r===1?`> 0`:`> ${t(n[e-1])}`);continue}if(a){let r=e?n[e-1]+1:1;o.push(r>=n[e]?t(n[e]):j(t(r),t(n[e])))}else o.push(e?j(t(n[e-1]),t(n[e])):`\u2264 ${t(n[e])}`)}return o},N=t=>e.mix(t.background,t.text,.07),P=(t,n,i)=>{let a=n.palette.length?n.palette:[n.primary],o=r.resolveWith(n,t.color,a[0]);return Array.from({length:i},(a,s)=>{let c=t.colors?.[s];return c?r.resolveWith(n,c,o):e.mix(n.background,o,i===1?1:.32+.68*s/(i-1))})},F=(e,t,n)=>{let r=O(e)?.count??0;for(let e=0;e<r;e++)n.set(`~L${e}`,+!t.has(e))},I=(t,n,r)=>{let a=O(t);if(!a)return[];let o=P(t,n,a.count);return M(a,t.format??i.localeFormat(t.locale)).map((t,n)=>({index:n,name:t,color:e.toCss(o[n]),hidden:r.has(n)}))},L=
|
|
1
|
+
const e=require("../color.cjs"),t=require("../locale.cjs"),n=require("../overlay.cjs"),r=require("./scene.cjs"),i=require("./labels.cjs");var a=864e5,o=3660,s=e=>Math.floor(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate())/a),c=e=>{if(typeof e==`string`){let t=/^\s*(\d{4})-(\d{1,2})-(\d{1,2})/.exec(e);if(t){let e=Date.UTC(Number(t[1]),Number(t[2])-1,Number(t[3]));return Number.isFinite(e)?Math.floor(e/a):null}let n=Date.parse(e);return Number.isFinite(n)?s(new Date(n)):null}return typeof e==`number`?Number.isFinite(e)?s(new Date(e)):null:e instanceof Date&&Number.isFinite(e.getTime())?s(e):null},l=e=>{let t=new Date(e*a);return{y:t.getUTCFullYear(),m:t.getUTCMonth(),d:t.getUTCDate()}},u=(e,t,n)=>Math.floor(Date.UTC(e,t,n)/a),d=e=>e<10?`0${e}`:String(e),f=e=>{let{y:t,m:n,d:r}=l(e);return`${t}-${d(n+1)}-${d(r)}`},p=e=>((e+4)%7+7)%7,m=(e,t)=>{let n=[],{y:r,m:i}=l(e);for(;u(r,i,1)<=t;)n.push({y:r,m:i}),i===11?(i=0,r++):i++;return n},h=()=>{try{return new Intl.DateTimeFormat().resolvedOptions().locale}catch{return`en-US`}},g=new Set(`AG AS BD BR BS BT BW BZ CA CO DM DO ET GT GU HK HN ID IL IN JM JP KE KH KR LA MH MM MO MT MX MZ NI NP PA PE PH PK PR PT PY SA SG SV TH TT TW UM US VE VI WS YE ZA ZW`.split(` `)),_=new Set(`AE AF BH DJ DZ EG IQ IR JO KW LY OM QA SD SY`.split(` `)),v={en:`US`,ja:`JP`,ko:`KR`,he:`IL`,pt:`BR`,ar:`EG`,fa:`IR`,hi:`IN`,th:`TH`,zh:`CN`},y=e=>{let t=e||h(),n=``,r=t.split(/[-_]/)[0]?.toLowerCase()??``;try{let e=Intl.Locale;if(typeof e==`function`){let i=new e(t),a=typeof i.getWeekInfo==`function`?i.getWeekInfo():i.weekInfo;if(a&&typeof a.firstDay==`number`)return(a.firstDay%7+7)%7;n=i.region??i.maximize?.().region??``,r=i.language??r}}catch{}if(!n){let e=/[-_]([A-Za-z]{2})(?=$|[-_])/.exec(t);n=e?e[1].toUpperCase():v[r]??``}return g.has(n)?0:_.has(n)?6:1},b=new Map,x=(e,t)=>{let n=`${e??``}|${JSON.stringify(t)}`;if(b.has(n))return b.get(n)??null;let r=null;for(let n of[e,void 0])try{r=new Intl.DateTimeFormat(n,{...t,timeZone:`UTC`});break}catch{r=null}return b.size>64&&b.clear(),b.set(n,r),r},S=`Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec`.split(` `),C=`Sun Mon Tue Wed Thu Fri Sat`.split(` `),w=(e,t,n,r)=>{let i=x(e,t);try{return i?i.format(new Date(n*a)):r}catch{return r}},T=(e,t,n)=>w(e,{month:`short`},u(t,n,1),S[n]),E=(e,t,n)=>w(e,{weekday:n},u(2023,0,1+t),n===`short`?C[t]:C[t].charAt(0)),D=(e,t)=>w(e,{year:`numeric`,month:`short`,day:`numeric`,weekday:`short`},t,f(t)),O=e=>{let t=new Map,n=1/0,i=-1/0;for(let a of e.data??[]){if(!a)continue;let e=c(a.date);e!==null&&(t.set(e,(t.get(e)??0)+r.positive(a.value)),n=Math.min(n,e),i=Math.max(i,e))}let a,s,l=e.range;if(typeof l==`number`&&Number.isFinite(l)){let e=Math.round(l);a=u(e,0,1),s=u(e,11,31)}else if(Array.isArray(l)&&l.length>=2){let e=c(l[0]),t=c(l[1]);if(e===null||t===null)return null;a=Math.min(e,t),s=Math.max(e,t)}else{if(!Number.isFinite(i))return null;s=i;let t=k(e),n=s-364;a=n-(p(n)-t+7)%7}s-a+1>o&&(a=s-o+1);let d=new Map,f=0,m=!0;t.forEach((e,t)=>{t<a||t>s||(d.set(t,e),f=Math.max(f,e),Number.isInteger(e)||(m=!1))});let h=e.colors?.length?Math.min(12,e.colors.length):r.clamp(Math.round(r.finite(e.levels,4)),1,12),g,_=(e.thresholds??[]).filter(e=>typeof e==`number`&&Number.isFinite(e)).slice().sort((e,t)=>e-t);if(_.length)g=_.slice(0,h-1),h=g.length+1,g.some(e=>!Number.isInteger(e))&&(m=!1);else{g=[];for(let e=1;e<h;e++){let t=f*e/h;g.push(m?Math.max(e,Math.ceil(t)):t)}for(let e=1;e<g.length;e++)g[e]<=g[e-1]&&(g[e]=m?g[e-1]+1:g[e-1])}return{start:a,end:s,values:d,max:f,thresholds:g,count:h,integer:m}},k=e=>typeof e.weekStart==`number`&&Number.isFinite(e.weekStart)?(Math.round(e.weekStart)%7+7)%7:y(t.resolveLocale(e.locale)),A=(e,t)=>{if(!(t>0))return-1;let{thresholds:n}=e;for(let e=0;e<n.length;e++)if(t<=n[e])return e;return e.count-1},j=(e,t)=>{let n=0;for(;n<e.length&&n<t.length&&e[e.length-1-n]===t[t.length-1-n]&&!/\d/.test(e[e.length-1-n]);)n++;return`${n?e.slice(0,e.length-n).trimEnd():e}\u2013${t}`},M=(e,t=i.localeFormat())=>{let{thresholds:n,count:r,integer:a}=e,o=[];for(let e=0;e<r;e++){if(e===r-1){o.push(r===1?`> 0`:`> ${t(n[e-1])}`);continue}if(a){let r=e?n[e-1]+1:1;o.push(r>=n[e]?t(n[e]):j(t(r),t(n[e])))}else o.push(e?j(t(n[e-1]),t(n[e])):`\u2264 ${t(n[e])}`)}return o},N=t=>e.mix(t.background,t.text,.07),P=(t,n,i)=>{let a=n.palette.length?n.palette:[n.primary],o=r.resolveWith(n,t.color,a[0]);return Array.from({length:i},(a,s)=>{let c=t.colors?.[s];return c?r.resolveWith(n,c,o):e.mix(n.background,o,i===1?1:.32+.68*s/(i-1))})},F=(e,t,n)=>{let r=O(e)?.count??0;for(let e=0;e<r;e++)n.set(`~L${e}`,+!t.has(e))},I=(t,n,r)=>{let a=O(t);if(!a)return[];let o=P(t,n,a.count);return M(a,t.format??i.localeFormat(t.locale)).map((t,n)=>({index:n,name:t,color:e.toCss(o[n]),hidden:r.has(n)}))},L=e=>{let t=O(e);if(!t)return 1;let n=l(t.start).y,r=l(t.end).y;return r>n&&t.end-t.start+1>371?r-n+1:1},R=18,z=12,B=16,V=(t,i)=>{let{theme:a,area:o,measure:s}=i,c=O(t);if(!c)return r.emptyLayout(i);let{start:d,end:h}=c,g=i.locale,_=k(t),v=e=>(p(e)-_+7)%7,y=Math.max(0,r.finite(t.gap,3)),b=t.layout===`months`,x=Math.max(2,r.finite(t.maxCellSize,b?28:16)),C=n.font(a,11),j=e.toCss(a.textMuted),M=l(d).y,F=l(h).y,I=[],L=[],V=0,H;if(b){let r=m(d,h),i=r.length,s=(t.monthLabels===!1?0:R)+(t.weekdayLabels===!1?0:14),c={cols:1,pitch:0};for(let e=1;e<=i;e++){let t=Math.ceil(i/e),n=(o.width-(e-1)*B+y)/(7*e),r=((o.height-(t-1)*B)/t-s+y)/6,a=Math.min(n,r,x+y);a>c.pitch+1e-6&&(c={cols:e,pitch:a})}let l=Math.max(2,c.pitch),f=Math.min(y,l*.25);V=Math.min(x,l-f),l=V+f,H=l;let p=c.cols,b=Math.ceil(i/p),C=7*l-f,T=s+6*l-f,D=p*C+(p-1)*B,O=b*T+(b-1)*B,k=o.x+Math.max(0,(o.width-D)/2),A=o.y+Math.max(0,(o.height-O)/2),N=F>M,P=n.font(a,12,600),z=Array.from({length:7},(e,t)=>E(g,(_+t)%7,`narrow`));r.forEach(({y:r,m:i},o)=>{let s=k+o%p*(C+B),c=A+Math.floor(o/p)*(T+B);t.monthLabels!==!1&&(I.push({kind:`text`,x:s,y:c+R/2-1,text:N?w(g,{month:`short`,year:`numeric`},u(r,i,1),`${S[i]} ${r}`):w(g,{month:`long`},u(r,i,1),S[i]),font:P,color:e.toCss(a.text,.88),align:`left`,baseline:`middle`}),c+=R),t.weekdayLabels!==!1&&(V>=8&&z.forEach((e,t)=>I.push({kind:`text`,x:s+t*l+V/2,y:c+6,text:e,font:n.font(a,10),color:j,align:`center`,baseline:`middle`})),c+=14);let f=u(r,i,1),m=Math.min(h,u(r,i+1,0)),_=v(f);for(let e=Math.max(f,d);e<=m;e++){let t=_+(e-f);L.push({day:e,x:s+t%7*l,y:c+Math.floor(t/7)*l})}})}else{let r=[];if(F>M&&h-d+1>371)for(let e=M;e<=F;e++)r.push({s:Math.max(d,u(e,0,1)),e:Math.min(h,u(e,11,31)),year:e});else r.push({s:d,e:h,year:null});let i=(e,t)=>Math.floor((e-(t-v(t)))/7),c=Math.max(...r.map(e=>i(e.e,e.s)+1)),l=t.monthLabels!==!1||r.length>1?R:0,f=t.weekdayLabels!==!1,p=Array.from({length:7},(e,t)=>E(g,(_+t)%7,`short`)),b=f?Math.max(...p.map(e=>s(e,C)))+8:0,S=n.font(a,11,600);r.length>1&&(b=Math.max(b,s(String(F),S)+8));let w=r.length,D=(o.width-b+y)/c,O=((o.height-(w-1)*z)/w-l+y)/7,k=Math.max(2,Math.min(D,O)),A=Math.min(y,k*.25);V=Math.min(x,k-A),k=V+A,H=k;let N=b+c*k-A,P=w*(l+7*k-A)+(w-1)*z,B=o.x+Math.max(0,(o.width-N)/2)+b,U=o.y+Math.max(0,(o.height-P)/2),W=e=>k>=15||[1,3,5].includes((_+e)%7);for(let n of r){let r=U+l;if(n.year!==null&&I.push({kind:`text`,x:B-b,y:U+l/2,text:String(n.year),font:S,color:e.toCss(a.text,.85),align:`left`,baseline:`middle`}),f&&V>=6&&p.forEach((e,t)=>{W(t)&&I.push({kind:`text`,x:B-6,y:r+t*k+V/2,text:e,font:C,color:j,align:`right`,baseline:`middle`})}),t.monthLabels!==!1){let e=i(n.e,n.s)+1,t=[];for(let{y:r,m:a}of m(n.s,n.e)){let o=Math.max(n.s,u(r,a,1)),s=i(o,n.s)+ +(o>n.s&&v(o)>0);s<e&&t.push({col:s,text:T(g,r,a)})}let r=-1/0;t.forEach((n,i)=>{let a=B+n.col*k,o=s(n.text,C),c=t[i+1];c&&i===0&&B+c.col*k<a+o+6||a<r+6||a+o>B+e*k+24||(r=a+o,I.push({kind:`text`,x:a,y:U+l/2,text:n.text,font:C,color:j,align:`left`,baseline:`middle`}))})}for(let e=n.s;e<=n.e;e++)L.push({day:e,x:B+i(e,n.s)*k,y:r+v(e)*k});U+=l+7*k-A+z}}let U=P(t,a,c.count),W=N(a),G=U.map((e,t)=>r.clamp(i.value(`~L${t}`,+!i.hidden.has(t)),0,1)),K=r.clamp(r.finite(t.radius,2),0,V/2),q=e.toCss(a.text,.75),J=Math.max(0,(H-V)/2),Y=[];for(let t of L){let n=c.values.get(t.day)??0,r=A(c,n),a=r<0?W:e.mix(W,U[r],G[r]??1),o=e.toCss(a),s=t.day-d;I.push({kind:`rect`,x:t.x,y:t.y,width:V,height:V,radius:K,fill:o,hit:s,hoverStroke:q,hitPad:J});let l=c.max>0?n/c.max:0;Y.push({index:s,name:D(g,t.day),value:n,percent:l,share:i.percent(l),color:r<0?o:e.toCss(U[r]),x:t.x+V/2,y:t.y+V/2,rows:[{name:i.labels.value,value:i.format(n)}],event:{date:f(t.day)}})}Y.sort((e,t)=>e.index-t.index);let X=r.clamp(i.enter,0,1);return{nodes:I,items:Y,dim:1,empty:!1,steps:b?{next:1,down:7}:{next:7,down:1},...X<1?{enter:{alpha:X,scale:.985+.015*X,cx:o.x+o.width/2,cy:o.y+o.height/2}}:{}}};exports.calendarColors=P,exports.calendarDay=c,exports.calendarIso=f,exports.calendarLegend=I,exports.calendarLevel=A,exports.calendarLevelNames=M,exports.calendarModel=O,exports.calendarStrips=L,exports.calendarValues=F,exports.layoutCalendar=V,exports.localeWeekStart=y;
|
|
2
2
|
//# sourceMappingURL=calendar.cjs.map
|