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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trading.cjs","names":["useRef","useState","createTradingChart","require_chart","react","react_jsx_runtime","isPlainObject","value","proto","shallowEqual","keys","a","b","key","sameItem","v","i","sameValue","sameOptions","size","fallback","TradingChart","options","props","handlers","containerRef","chartRef","handlersRef","stable","setStable","optionsRef","container","chart","h","offs","off","ref","bar","bars","index","animate","range","tool","id","visible","width","height","style"],"sources":["../../../../charts/src/react/trading.tsx"],"sourcesContent":["import {\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n type CSSProperties,\n type Ref,\n} from \"react\";\nimport { createTradingChart } from \"../engine/trading/chart\";\nimport type {\n TradingBar,\n TradingBarsInput,\n TradingChartInstance,\n TradingChartOptions,\n TradingClickEvent,\n TradingCrosshairEvent,\n TradingDrawing,\n TradingDrawingTool,\n TradingHistoryRequestEvent,\n TradingIndicatorToggleEvent,\n TradingOrderMoveEvent,\n TradingVisibleRange,\n} from \"../engine/trading/types\";\nimport type { ChartRendererKind } from \"../engine/types\";\n\n/** Imperative handle of `<TradingChart>` */\nexport interface TradingChartHandle {\n /**\n * Streams a bar: the time of the last bar replaces it, a later time\n * appends it (cheap: call it on every tick)\n */\n update(bar: TradingBar): void;\n /** Appends bars newer than the last one */\n appendBars(bars: TradingBarsInput): void;\n /** Inserts older bars before the first one, keeping the view */\n prependBars(bars: TradingBarsInput): void;\n /** Replaces the bars */\n setBars(bars: TradingBarsInput): void;\n /** Number of bars */\n getBarCount(): number;\n /** Bar at an index, `null` outside the data */\n getBar(index: number): TradingBar | null;\n /** Scrolls to the latest bar */\n scrollToRealtime(animate?: boolean): void;\n /** Shows every bar */\n fitContent(): void;\n /** Visible bars, `null` before mounting */\n getVisibleRange(): TradingVisibleRange | null;\n /** Shows the bars between two logical indices */\n setVisibleRange(range: { from: number; to: number }): void;\n /** Fits every price scale to the visible bars again */\n resetPriceScales(): void;\n /** Activates a drawing tool */\n setDrawingTool(tool: TradingDrawingTool): void;\n /** Current drawings */\n getDrawings(): readonly TradingDrawing[];\n /** Deletes a drawing */\n removeDrawing(id: string): void;\n /** Selects a drawing (`null` clears the selection) */\n selectDrawing(id: string | null): void;\n /** Shows or hides an indicator */\n setIndicatorVisible(id: string, visible: boolean): void;\n /** Backend in use, `null` until ready */\n getRenderer(): ChartRendererKind | null;\n /** The underlying engine instance (minerva-design/charts/core) */\n getInstance(): TradingChartInstance | null;\n}\n\n/** Props of `<TradingChart>`: the options of `createTradingChart`, the size and the events */\nexport interface TradingChartProps extends TradingChartOptions {\n /**\n * Height (pixels or any CSS length)\n * @default 480\n */\n height?: number | string;\n /**\n * Width (pixels or any CSS length)\n * @default \"100%\"\n */\n width?: number | string;\n /** Class of the root element */\n className?: string;\n /** Inline styles of the root element */\n style?: CSSProperties;\n /** Imperative handle (streaming, scrolling, drawings) */\n ref?: Ref<TradingChartHandle>;\n /** The crosshair moved (`null` when it left the chart) */\n onCrosshairMove?: (event: TradingCrosshairEvent | null) => void;\n /** A pane was clicked */\n onClick?: (event: TradingClickEvent) => void;\n /** The visible bars changed */\n onVisibleRangeChange?: (range: TradingVisibleRange) => void;\n /** A draggable price line was dropped at a new price */\n onOrderMove?: (event: TradingOrderMoveEvent) => void;\n /** The user added, moved or deleted drawings (pass them back as `drawings`) */\n onDrawingsChange?: (drawings: readonly TradingDrawing[]) => void;\n /** The selected drawing changed */\n onDrawingSelect?: (id: string | null) => void;\n /** The drawing tool changed (back to `cursor` after a drawing) */\n onDrawingToolChange?: (tool: TradingDrawingTool) => void;\n /** An indicator was shown or hidden from its legend */\n onIndicatorToggle?: (event: TradingIndicatorToggleEvent) => void;\n /** The oldest bar came into view: load older bars (`prependBars`) */\n onHistoryRequest?: (event: TradingHistoryRequestEvent) => void;\n /** The backend in use (again after a fallback) */\n onRendererChange?: (renderer: ChartRendererKind) => void;\n}\n\ntype Handlers = Pick<\n TradingChartProps,\n | \"onCrosshairMove\"\n | \"onClick\"\n | \"onVisibleRangeChange\"\n | \"onOrderMove\"\n | \"onDrawingsChange\"\n | \"onDrawingSelect\"\n | \"onDrawingToolChange\"\n | \"onIndicatorToggle\"\n | \"onHistoryRequest\"\n | \"onRendererChange\"\n>;\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> => {\n if (typeof value !== \"object\" || value === null) return false;\n const proto = Object.getPrototypeOf(value);\n return proto === Object.prototype || proto === null;\n};\n\nconst shallowEqual = (\n a: Record<string, unknown>,\n b: Record<string, unknown>,\n): boolean => {\n const keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) return false;\n return keys.every(\n (key) =>\n Object.prototype.hasOwnProperty.call(b, key) && sameItem(a[key], b[key]),\n );\n};\n\n/** Identical, or inline arrays of identical values */\nconst sameItem = (a: unknown, b: unknown): boolean =>\n a === b ||\n (Array.isArray(a) &&\n Array.isArray(b) &&\n a.length === b.length &&\n a.every((v, i) => v === b[i]));\n\n/**\n * Same option value: identical, or inline arrays / objects of plain objects\n * with identical fields (`indicators={[{ type: \"ma\", period: 7 }]}`). Bars,\n * markers and drawings are compared by identity when they are not plain\n * objects (typed arrays) and item by item otherwise.\n */\nconst sameValue = (a: unknown, b: unknown): boolean => {\n if (a === b) return true;\n if (Array.isArray(a) && Array.isArray(b)) {\n return (\n a.length === b.length &&\n a.every(\n (v, i) =>\n v === b[i] ||\n (isPlainObject(v) && isPlainObject(b[i]) && shallowEqual(v, b[i])),\n )\n );\n }\n return isPlainObject(a) && isPlainObject(b) && shallowEqual(a, b);\n};\n\n/** Options describing the same chart (bars and drawings compared by identity) */\nconst sameOptions = (a: TradingChartOptions, b: TradingChartOptions) => {\n const keys = Object.keys(a) as (keyof TradingChartOptions)[];\n if (keys.length !== Object.keys(b).length) return false;\n return keys.every((key) => {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false;\n // new bars / drawings arrays are always applied: compared by identity\n if (key === \"bars\" || key === \"drawings\") return a[key] === b[key];\n return sameValue(a[key], b[key]);\n });\n};\n\nconst size = (value: number | string | undefined, fallback: string) =>\n value === undefined\n ? fallback\n : typeof value === \"number\"\n ? `${value}px`\n : value;\n\n/**\n * Professional trading chart: candles (hollow, Heikin-Ashi, bars, line,\n * area, baseline) over a gap-free time axis, indicator panes, drawing\n * tools, order lines and real-time streaming, drawn on the GPU.\n */\nexport function TradingChart(props: TradingChartProps) {\n const {\n height,\n width,\n className,\n style,\n ref,\n onCrosshairMove,\n onClick,\n onVisibleRangeChange,\n onOrderMove,\n onDrawingsChange,\n onDrawingSelect,\n onDrawingToolChange,\n onIndicatorToggle,\n onHistoryRequest,\n onRendererChange,\n ...options\n } = props;\n const handlers: Handlers = {\n onCrosshairMove,\n onClick,\n onVisibleRangeChange,\n onOrderMove,\n onDrawingsChange,\n onDrawingSelect,\n onDrawingToolChange,\n onIndicatorToggle,\n onHistoryRequest,\n onRendererChange,\n };\n const containerRef = useRef<HTMLDivElement>(null);\n const chartRef = useRef<TradingChartInstance | null>(null);\n const handlersRef = useRef<Handlers>(handlers);\n\n // a new options object on every render: keep the previous one while it\n // describes the same chart (state derived during render)\n const [stable, setStable] = useState<TradingChartOptions>(options);\n if (stable !== options && !sameOptions(stable, options)) setStable(options);\n const optionsRef = useRef(stable);\n\n useEffect(() => {\n handlersRef.current = handlers;\n });\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n const chart = createTradingChart(container, optionsRef.current);\n chartRef.current = chart;\n const h = () => handlersRef.current;\n const offs = [\n chart.on(\"crosshairMove\", (e) => h().onCrosshairMove?.(e)),\n chart.on(\"click\", (e) => h().onClick?.(e)),\n chart.on(\"visibleRangeChange\", (e) => h().onVisibleRangeChange?.(e)),\n chart.on(\"orderMove\", (e) => h().onOrderMove?.(e)),\n chart.on(\"drawingsChange\", (e) => h().onDrawingsChange?.(e)),\n chart.on(\"drawingSelect\", (e) => h().onDrawingSelect?.(e)),\n chart.on(\"drawingToolChange\", (e) => h().onDrawingToolChange?.(e)),\n chart.on(\"indicatorToggle\", (e) => h().onIndicatorToggle?.(e)),\n chart.on(\"historyRequest\", (e) => h().onHistoryRequest?.(e)),\n chart.on(\"renderer\", (e) => h().onRendererChange?.(e)),\n ];\n return () => {\n offs.forEach((off) => off());\n chart.destroy();\n chartRef.current = null;\n };\n }, []);\n\n useEffect(() => {\n if (optionsRef.current === stable) return;\n optionsRef.current = stable;\n chartRef.current?.setOptions(stable);\n }, [stable]);\n\n useImperativeHandle(\n ref,\n (): TradingChartHandle => ({\n update: (bar) => chartRef.current?.update(bar),\n appendBars: (bars) => chartRef.current?.appendBars(bars),\n prependBars: (bars) => chartRef.current?.prependBars(bars),\n setBars: (bars) => chartRef.current?.setBars(bars),\n getBarCount: () => chartRef.current?.getBarCount() ?? 0,\n getBar: (index) => chartRef.current?.getBar(index) ?? null,\n scrollToRealtime: (animate) =>\n chartRef.current?.scrollToRealtime(animate),\n fitContent: () => chartRef.current?.fitContent(),\n getVisibleRange: () => chartRef.current?.getVisibleRange() ?? null,\n setVisibleRange: (range) => chartRef.current?.setVisibleRange(range),\n resetPriceScales: () => chartRef.current?.resetPriceScales(),\n setDrawingTool: (tool) => chartRef.current?.setDrawingTool(tool),\n getDrawings: () => chartRef.current?.getDrawings() ?? [],\n removeDrawing: (id) => chartRef.current?.removeDrawing(id),\n selectDrawing: (id) => chartRef.current?.selectDrawing(id),\n setIndicatorVisible: (id, visible) =>\n chartRef.current?.setIndicatorVisible(id, visible),\n getRenderer: () => chartRef.current?.getRenderer() ?? null,\n getInstance: () => chartRef.current,\n }),\n [],\n );\n\n return (\n <div\n className={className}\n style={{\n position: \"relative\",\n width: size(width, \"100%\"),\n height: size(height, \"480px\"),\n ...style,\n }}\n >\n <div ref={containerRef} style={{ position: \"absolute\", inset: 0 }} />\n </div>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"trading.cjs","names":["useRef","useState","createTradingChart","require_chart","react","react_jsx_runtime","isPlainObject","value","proto","shallowEqual","keys","a","b","key","sameItem","v","i","sameValue","sameOptions","size","fallback","TradingChart","options","props","handlers","containerRef","chartRef","handlersRef","stable","setStable","optionsRef","container","chart","h","offs","off","ref","bar","bars","index","animate","range","time","price","mode","tool","id","patch","count","speed","type","quality","visible","width","height","style"],"sources":["../../../../charts/src/react/trading.tsx"],"sourcesContent":["import {\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n type CSSProperties,\n type Ref,\n} from \"react\";\nimport { createTradingChart } from \"../engine/trading/chart\";\nimport type {\n TradingBar,\n TradingBarsInput,\n TradingChartInstance,\n TradingChartOptions,\n TradingClickEvent,\n TradingCrosshairEvent,\n TradingDrawing,\n TradingDrawingPatch,\n TradingDrawingTool,\n TradingHistoryRequestEvent,\n TradingIndicatorToggleEvent,\n TradingOrderCancelEvent,\n TradingOrderCreateEvent,\n TradingOrderMoveEvent,\n TradingReplayState,\n TradingScaleMode,\n TradingUndoState,\n TradingVisibleRange,\n} from \"../engine/trading/types\";\nimport type { ChartRendererKind } from \"../engine/types\";\n\n/** Imperative handle of `<TradingChart>` */\nexport interface TradingChartHandle {\n /**\n * Streams a bar: the time of the last bar replaces it, a later time\n * appends it (cheap: call it on every tick)\n */\n update(bar: TradingBar): void;\n /** Appends bars newer than the last one */\n appendBars(bars: TradingBarsInput): void;\n /** Inserts older bars before the first one, keeping the view */\n prependBars(bars: TradingBarsInput): void;\n /** Replaces the bars */\n setBars(bars: TradingBarsInput): void;\n /** Number of bars */\n getBarCount(): number;\n /** Bar at an index, `null` outside the data */\n getBar(index: number): TradingBar | null;\n /** Scrolls to the latest bar */\n scrollToRealtime(animate?: boolean): void;\n /** Shows every bar */\n fitContent(): void;\n /** Visible bars, `null` before mounting */\n getVisibleRange(): TradingVisibleRange | null;\n /** Shows the bars between two logical indices */\n setVisibleRange(range: { from: number; to: number }): void;\n /** Times at the edges of the plot, `null` before mounting */\n getVisibleTimeRange(): { from: number; to: number } | null;\n /** Shows the bars between two times */\n setVisibleTimeRange(range: { from: number; to: number }): void;\n /** Shows the crosshair at a time (and a price); `null` hides it */\n setCrosshair(time: number | null, price?: number): void;\n /** Sets the price scale of the price pane */\n setScaleMode(mode: TradingScaleMode): void;\n /** Fits every price scale to the visible bars again */\n resetPriceScales(): void;\n /** Activates a drawing tool */\n setDrawingTool(tool: TradingDrawingTool): void;\n /** Current drawings */\n getDrawings(): readonly TradingDrawing[];\n /** Deletes a drawing */\n removeDrawing(id: string): void;\n /** Changes the style or the content of a drawing (undoable) */\n updateDrawing(id: string, patch: TradingDrawingPatch): void;\n /** Selects a drawing (`null` clears the selection) */\n selectDrawing(id: string | null): void;\n /** Undoes the last change of the drawings */\n undo(): void;\n /** Redoes the last undone change of the drawings */\n redo(): void;\n /** Whether the drawings can be undone or redone */\n getUndoState(): TradingUndoState;\n /** Starts a bar replay after `time` (the user picks the bar without it) */\n startReplay(time?: number): void;\n /** Shows the next bars of the replay */\n replayStep(count?: number): void;\n /** Plays the replay at `speed` bars per second */\n replayPlay(speed?: number): void;\n /** Pauses the replay */\n replayPause(): void;\n /** Ends the replay and shows every bar */\n stopReplay(): void;\n /** State of the bar replay, `null` before mounting */\n getReplayState(): TradingReplayState | null;\n /** Image of the chart as a data URL (`\"\"` before mounting) */\n toDataURL(type?: string, quality?: number): string;\n /** Image of the chart as a blob */\n toBlob(type?: string, quality?: number): Promise<Blob | null>;\n /** Shows the chart full screen */\n requestFullscreen(): Promise<void>;\n /** Leaves full screen */\n exitFullscreen(): Promise<void>;\n /** Shows or hides an indicator */\n setIndicatorVisible(id: string, visible: boolean): void;\n /** Backend in use, `null` until ready */\n getRenderer(): ChartRendererKind | null;\n /** The underlying engine instance (minerva-design/charts/core) */\n getInstance(): TradingChartInstance | null;\n}\n\n/** Props of `<TradingChart>`: the options of `createTradingChart`, the size and the events */\nexport interface TradingChartProps extends TradingChartOptions {\n /**\n * Height (pixels or any CSS length)\n * @default 480\n */\n height?: number | string;\n /**\n * Width (pixels or any CSS length)\n * @default \"100%\"\n */\n width?: number | string;\n /** Class of the root element */\n className?: string;\n /** Inline styles of the root element */\n style?: CSSProperties;\n /** Imperative handle (streaming, scrolling, drawings) */\n ref?: Ref<TradingChartHandle>;\n /** The crosshair moved (`null` when it left the chart) */\n onCrosshairMove?: (event: TradingCrosshairEvent | null) => void;\n /** A pane was clicked */\n onClick?: (event: TradingClickEvent) => void;\n /** The visible bars changed */\n onVisibleRangeChange?: (range: TradingVisibleRange) => void;\n /** A draggable price line was dropped at a new price, or moved with the keyboard */\n onOrderMove?: (event: TradingOrderMoveEvent) => void;\n /** The \"+\" order entry button was clicked, or an order confirmed with the keyboard (see `orderEntry`) */\n onOrderCreate?: (event: TradingOrderCreateEvent) => void;\n /** The close button of a `cancellable` price line was clicked, or Delete pressed on it */\n onOrderCancel?: (event: TradingOrderCancelEvent) => void;\n /** The user added, moved or deleted drawings (pass them back as `drawings`) */\n onDrawingsChange?: (drawings: readonly TradingDrawing[]) => void;\n /** The selected drawing changed */\n onDrawingSelect?: (id: string | null) => void;\n /** The drawing tool changed (back to `cursor` after a drawing) */\n onDrawingToolChange?: (tool: TradingDrawingTool) => void;\n /** Undo / redo of the drawings became possible or impossible */\n onUndoChange?: (state: TradingUndoState) => void;\n /** The bar replay started, stepped, played, paused or stopped */\n onReplayChange?: (state: TradingReplayState) => void;\n /** The chart entered (`true`) or left full screen */\n onFullscreenChange?: (fullscreen: boolean) => void;\n /** An indicator was shown or hidden from its legend */\n onIndicatorToggle?: (event: TradingIndicatorToggleEvent) => void;\n /** The oldest bar came into view: load older bars (`prependBars`) */\n onHistoryRequest?: (event: TradingHistoryRequestEvent) => void;\n /** The backend in use (again after a fallback) */\n onRendererChange?: (renderer: ChartRendererKind) => void;\n}\n\ntype Handlers = Pick<\n TradingChartProps,\n | \"onCrosshairMove\"\n | \"onClick\"\n | \"onVisibleRangeChange\"\n | \"onOrderMove\"\n | \"onOrderCreate\"\n | \"onOrderCancel\"\n | \"onDrawingsChange\"\n | \"onDrawingSelect\"\n | \"onDrawingToolChange\"\n | \"onUndoChange\"\n | \"onReplayChange\"\n | \"onFullscreenChange\"\n | \"onIndicatorToggle\"\n | \"onHistoryRequest\"\n | \"onRendererChange\"\n>;\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> => {\n if (typeof value !== \"object\" || value === null) return false;\n const proto = Object.getPrototypeOf(value);\n return proto === Object.prototype || proto === null;\n};\n\nconst shallowEqual = (\n a: Record<string, unknown>,\n b: Record<string, unknown>,\n): boolean => {\n const keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) return false;\n return keys.every(\n (key) =>\n Object.prototype.hasOwnProperty.call(b, key) && sameItem(a[key], b[key]),\n );\n};\n\n/** Identical, or inline arrays of identical values */\nconst sameItem = (a: unknown, b: unknown): boolean =>\n a === b ||\n (Array.isArray(a) &&\n Array.isArray(b) &&\n a.length === b.length &&\n a.every((v, i) => v === b[i]));\n\n/**\n * Same option value: identical, or inline arrays / objects of plain objects\n * with identical fields (`indicators={[{ type: \"ma\", period: 7 }]}`). Bars,\n * markers and drawings are compared by identity when they are not plain\n * objects (typed arrays) and item by item otherwise.\n */\nconst sameValue = (a: unknown, b: unknown): boolean => {\n if (a === b) return true;\n if (Array.isArray(a) && Array.isArray(b)) {\n return (\n a.length === b.length &&\n a.every(\n (v, i) =>\n v === b[i] ||\n (isPlainObject(v) && isPlainObject(b[i]) && shallowEqual(v, b[i])),\n )\n );\n }\n return isPlainObject(a) && isPlainObject(b) && shallowEqual(a, b);\n};\n\n/** Options describing the same chart (bars and drawings compared by identity) */\nconst sameOptions = (a: TradingChartOptions, b: TradingChartOptions) => {\n const keys = Object.keys(a) as (keyof TradingChartOptions)[];\n if (keys.length !== Object.keys(b).length) return false;\n return keys.every((key) => {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false;\n // new bars / drawings arrays are always applied: compared by identity\n if (key === \"bars\" || key === \"drawings\") return a[key] === b[key];\n return sameValue(a[key], b[key]);\n });\n};\n\nconst size = (value: number | string | undefined, fallback: string) =>\n value === undefined\n ? fallback\n : typeof value === \"number\"\n ? `${value}px`\n : value;\n\n/**\n * Professional trading chart: candles (hollow, Heikin-Ashi, bars, line,\n * area, baseline) over a gap-free time axis, indicator panes, drawing\n * tools, order lines and real-time streaming, drawn on the GPU.\n */\nexport function TradingChart(props: TradingChartProps) {\n const {\n height,\n width,\n className,\n style,\n ref,\n onCrosshairMove,\n onClick,\n onVisibleRangeChange,\n onOrderMove,\n onOrderCreate,\n onOrderCancel,\n onDrawingsChange,\n onDrawingSelect,\n onDrawingToolChange,\n onUndoChange,\n onReplayChange,\n onFullscreenChange,\n onIndicatorToggle,\n onHistoryRequest,\n onRendererChange,\n ...options\n } = props;\n const handlers: Handlers = {\n onCrosshairMove,\n onClick,\n onVisibleRangeChange,\n onOrderMove,\n onOrderCreate,\n onOrderCancel,\n onDrawingsChange,\n onDrawingSelect,\n onDrawingToolChange,\n onUndoChange,\n onReplayChange,\n onFullscreenChange,\n onIndicatorToggle,\n onHistoryRequest,\n onRendererChange,\n };\n const containerRef = useRef<HTMLDivElement>(null);\n const chartRef = useRef<TradingChartInstance | null>(null);\n const handlersRef = useRef<Handlers>(handlers);\n\n // a new options object on every render: keep the previous one while it\n // describes the same chart (state derived during render)\n const [stable, setStable] = useState<TradingChartOptions>(options);\n if (stable !== options && !sameOptions(stable, options)) setStable(options);\n const optionsRef = useRef(stable);\n\n useEffect(() => {\n handlersRef.current = handlers;\n });\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n const chart = createTradingChart(container, optionsRef.current);\n chartRef.current = chart;\n const h = () => handlersRef.current;\n const offs = [\n chart.on(\"crosshairMove\", (e) => h().onCrosshairMove?.(e)),\n chart.on(\"click\", (e) => h().onClick?.(e)),\n chart.on(\"visibleRangeChange\", (e) => h().onVisibleRangeChange?.(e)),\n chart.on(\"orderMove\", (e) => h().onOrderMove?.(e)),\n chart.on(\"orderCreate\", (e) => h().onOrderCreate?.(e)),\n chart.on(\"orderCancel\", (e) => h().onOrderCancel?.(e)),\n chart.on(\"drawingsChange\", (e) => h().onDrawingsChange?.(e)),\n chart.on(\"drawingSelect\", (e) => h().onDrawingSelect?.(e)),\n chart.on(\"drawingToolChange\", (e) => h().onDrawingToolChange?.(e)),\n chart.on(\"undoChange\", (e) => h().onUndoChange?.(e)),\n chart.on(\"replayChange\", (e) => h().onReplayChange?.(e)),\n chart.on(\"fullscreenChange\", (e) => h().onFullscreenChange?.(e)),\n chart.on(\"indicatorToggle\", (e) => h().onIndicatorToggle?.(e)),\n chart.on(\"historyRequest\", (e) => h().onHistoryRequest?.(e)),\n chart.on(\"renderer\", (e) => h().onRendererChange?.(e)),\n ];\n return () => {\n offs.forEach((off) => off());\n chart.destroy();\n chartRef.current = null;\n };\n }, []);\n\n useEffect(() => {\n if (optionsRef.current === stable) return;\n optionsRef.current = stable;\n chartRef.current?.setOptions(stable);\n }, [stable]);\n\n useImperativeHandle(\n ref,\n (): TradingChartHandle => ({\n update: (bar) => chartRef.current?.update(bar),\n appendBars: (bars) => chartRef.current?.appendBars(bars),\n prependBars: (bars) => chartRef.current?.prependBars(bars),\n setBars: (bars) => chartRef.current?.setBars(bars),\n getBarCount: () => chartRef.current?.getBarCount() ?? 0,\n getBar: (index) => chartRef.current?.getBar(index) ?? null,\n scrollToRealtime: (animate) =>\n chartRef.current?.scrollToRealtime(animate),\n fitContent: () => chartRef.current?.fitContent(),\n getVisibleRange: () => chartRef.current?.getVisibleRange() ?? null,\n setVisibleRange: (range) => chartRef.current?.setVisibleRange(range),\n getVisibleTimeRange: () =>\n chartRef.current?.getVisibleTimeRange() ?? null,\n setVisibleTimeRange: (range) =>\n chartRef.current?.setVisibleTimeRange(range),\n setCrosshair: (time, price) =>\n chartRef.current?.setCrosshair(time, price),\n setScaleMode: (mode) => chartRef.current?.setScaleMode(mode),\n resetPriceScales: () => chartRef.current?.resetPriceScales(),\n setDrawingTool: (tool) => chartRef.current?.setDrawingTool(tool),\n getDrawings: () => chartRef.current?.getDrawings() ?? [],\n removeDrawing: (id) => chartRef.current?.removeDrawing(id),\n updateDrawing: (id, patch) => chartRef.current?.updateDrawing(id, patch),\n selectDrawing: (id) => chartRef.current?.selectDrawing(id),\n undo: () => chartRef.current?.undo(),\n redo: () => chartRef.current?.redo(),\n getUndoState: () =>\n chartRef.current?.getUndoState() ?? { canUndo: false, canRedo: false },\n startReplay: (time) => chartRef.current?.startReplay(time),\n replayStep: (count) => chartRef.current?.replayStep(count),\n replayPlay: (speed) => chartRef.current?.replayPlay(speed),\n replayPause: () => chartRef.current?.replayPause(),\n stopReplay: () => chartRef.current?.stopReplay(),\n getReplayState: () => chartRef.current?.getReplayState() ?? null,\n toDataURL: (type, quality) =>\n chartRef.current?.toDataURL(type, quality) ?? \"\",\n toBlob: (type, quality) =>\n chartRef.current?.toBlob(type, quality) ?? Promise.resolve(null),\n requestFullscreen: () =>\n chartRef.current?.requestFullscreen() ?? Promise.resolve(),\n exitFullscreen: () =>\n chartRef.current?.exitFullscreen() ?? Promise.resolve(),\n setIndicatorVisible: (id, visible) =>\n chartRef.current?.setIndicatorVisible(id, visible),\n getRenderer: () => chartRef.current?.getRenderer() ?? null,\n getInstance: () => chartRef.current,\n }),\n [],\n );\n\n return (\n <div\n className={className}\n style={{\n position: \"relative\",\n width: size(width, \"100%\"),\n height: size(height, \"480px\"),\n ...style,\n }}\n >\n <div ref={containerRef} style={{ position: \"absolute\", inset: 0 }} />\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CSSProperties, Ref } from 'react';
|
|
2
|
-
import { TradingBar, TradingBarsInput, TradingChartInstance, TradingChartOptions, TradingClickEvent, TradingCrosshairEvent, TradingDrawing, TradingDrawingTool, TradingHistoryRequestEvent, TradingIndicatorToggleEvent, TradingOrderMoveEvent, TradingVisibleRange } from '../engine/trading/types.cjs';
|
|
2
|
+
import { TradingBar, TradingBarsInput, TradingChartInstance, TradingChartOptions, TradingClickEvent, TradingCrosshairEvent, TradingDrawing, TradingDrawingPatch, TradingDrawingTool, TradingHistoryRequestEvent, TradingIndicatorToggleEvent, TradingOrderCancelEvent, TradingOrderCreateEvent, TradingOrderMoveEvent, TradingReplayState, TradingScaleMode, TradingUndoState, TradingVisibleRange } from '../engine/trading/types.cjs';
|
|
3
3
|
import { ChartRendererKind } from '../engine/types.cjs';
|
|
4
4
|
/** Imperative handle of `<TradingChart>` */
|
|
5
5
|
export interface TradingChartHandle {
|
|
@@ -29,6 +29,20 @@ export interface TradingChartHandle {
|
|
|
29
29
|
from: number;
|
|
30
30
|
to: number;
|
|
31
31
|
}): void;
|
|
32
|
+
/** Times at the edges of the plot, `null` before mounting */
|
|
33
|
+
getVisibleTimeRange(): {
|
|
34
|
+
from: number;
|
|
35
|
+
to: number;
|
|
36
|
+
} | null;
|
|
37
|
+
/** Shows the bars between two times */
|
|
38
|
+
setVisibleTimeRange(range: {
|
|
39
|
+
from: number;
|
|
40
|
+
to: number;
|
|
41
|
+
}): void;
|
|
42
|
+
/** Shows the crosshair at a time (and a price); `null` hides it */
|
|
43
|
+
setCrosshair(time: number | null, price?: number): void;
|
|
44
|
+
/** Sets the price scale of the price pane */
|
|
45
|
+
setScaleMode(mode: TradingScaleMode): void;
|
|
32
46
|
/** Fits every price scale to the visible bars again */
|
|
33
47
|
resetPriceScales(): void;
|
|
34
48
|
/** Activates a drawing tool */
|
|
@@ -37,8 +51,36 @@ export interface TradingChartHandle {
|
|
|
37
51
|
getDrawings(): readonly TradingDrawing[];
|
|
38
52
|
/** Deletes a drawing */
|
|
39
53
|
removeDrawing(id: string): void;
|
|
54
|
+
/** Changes the style or the content of a drawing (undoable) */
|
|
55
|
+
updateDrawing(id: string, patch: TradingDrawingPatch): void;
|
|
40
56
|
/** Selects a drawing (`null` clears the selection) */
|
|
41
57
|
selectDrawing(id: string | null): void;
|
|
58
|
+
/** Undoes the last change of the drawings */
|
|
59
|
+
undo(): void;
|
|
60
|
+
/** Redoes the last undone change of the drawings */
|
|
61
|
+
redo(): void;
|
|
62
|
+
/** Whether the drawings can be undone or redone */
|
|
63
|
+
getUndoState(): TradingUndoState;
|
|
64
|
+
/** Starts a bar replay after `time` (the user picks the bar without it) */
|
|
65
|
+
startReplay(time?: number): void;
|
|
66
|
+
/** Shows the next bars of the replay */
|
|
67
|
+
replayStep(count?: number): void;
|
|
68
|
+
/** Plays the replay at `speed` bars per second */
|
|
69
|
+
replayPlay(speed?: number): void;
|
|
70
|
+
/** Pauses the replay */
|
|
71
|
+
replayPause(): void;
|
|
72
|
+
/** Ends the replay and shows every bar */
|
|
73
|
+
stopReplay(): void;
|
|
74
|
+
/** State of the bar replay, `null` before mounting */
|
|
75
|
+
getReplayState(): TradingReplayState | null;
|
|
76
|
+
/** Image of the chart as a data URL (`""` before mounting) */
|
|
77
|
+
toDataURL(type?: string, quality?: number): string;
|
|
78
|
+
/** Image of the chart as a blob */
|
|
79
|
+
toBlob(type?: string, quality?: number): Promise<Blob | null>;
|
|
80
|
+
/** Shows the chart full screen */
|
|
81
|
+
requestFullscreen(): Promise<void>;
|
|
82
|
+
/** Leaves full screen */
|
|
83
|
+
exitFullscreen(): Promise<void>;
|
|
42
84
|
/** Shows or hides an indicator */
|
|
43
85
|
setIndicatorVisible(id: string, visible: boolean): void;
|
|
44
86
|
/** Backend in use, `null` until ready */
|
|
@@ -70,14 +112,24 @@ export interface TradingChartProps extends TradingChartOptions {
|
|
|
70
112
|
onClick?: (event: TradingClickEvent) => void;
|
|
71
113
|
/** The visible bars changed */
|
|
72
114
|
onVisibleRangeChange?: (range: TradingVisibleRange) => void;
|
|
73
|
-
/** A draggable price line was dropped at a new price */
|
|
115
|
+
/** A draggable price line was dropped at a new price, or moved with the keyboard */
|
|
74
116
|
onOrderMove?: (event: TradingOrderMoveEvent) => void;
|
|
117
|
+
/** The "+" order entry button was clicked, or an order confirmed with the keyboard (see `orderEntry`) */
|
|
118
|
+
onOrderCreate?: (event: TradingOrderCreateEvent) => void;
|
|
119
|
+
/** The close button of a `cancellable` price line was clicked, or Delete pressed on it */
|
|
120
|
+
onOrderCancel?: (event: TradingOrderCancelEvent) => void;
|
|
75
121
|
/** The user added, moved or deleted drawings (pass them back as `drawings`) */
|
|
76
122
|
onDrawingsChange?: (drawings: readonly TradingDrawing[]) => void;
|
|
77
123
|
/** The selected drawing changed */
|
|
78
124
|
onDrawingSelect?: (id: string | null) => void;
|
|
79
125
|
/** The drawing tool changed (back to `cursor` after a drawing) */
|
|
80
126
|
onDrawingToolChange?: (tool: TradingDrawingTool) => void;
|
|
127
|
+
/** Undo / redo of the drawings became possible or impossible */
|
|
128
|
+
onUndoChange?: (state: TradingUndoState) => void;
|
|
129
|
+
/** The bar replay started, stepped, played, paused or stopped */
|
|
130
|
+
onReplayChange?: (state: TradingReplayState) => void;
|
|
131
|
+
/** The chart entered (`true`) or left full screen */
|
|
132
|
+
onFullscreenChange?: (fullscreen: boolean) => void;
|
|
81
133
|
/** An indicator was shown or hidden from its legend */
|
|
82
134
|
onIndicatorToggle?: (event: TradingIndicatorToggleEvent) => void;
|
|
83
135
|
/** The oldest bar came into view: load older bars (`prependBars`) */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CSSProperties, Ref } from 'react';
|
|
2
|
-
import { TradingBar, TradingBarsInput, TradingChartInstance, TradingChartOptions, TradingClickEvent, TradingCrosshairEvent, TradingDrawing, TradingDrawingTool, TradingHistoryRequestEvent, TradingIndicatorToggleEvent, TradingOrderMoveEvent, TradingVisibleRange } from '../engine/trading/types.js';
|
|
2
|
+
import { TradingBar, TradingBarsInput, TradingChartInstance, TradingChartOptions, TradingClickEvent, TradingCrosshairEvent, TradingDrawing, TradingDrawingPatch, TradingDrawingTool, TradingHistoryRequestEvent, TradingIndicatorToggleEvent, TradingOrderCancelEvent, TradingOrderCreateEvent, TradingOrderMoveEvent, TradingReplayState, TradingScaleMode, TradingUndoState, TradingVisibleRange } from '../engine/trading/types.js';
|
|
3
3
|
import { ChartRendererKind } from '../engine/types.js';
|
|
4
4
|
/** Imperative handle of `<TradingChart>` */
|
|
5
5
|
export interface TradingChartHandle {
|
|
@@ -29,6 +29,20 @@ export interface TradingChartHandle {
|
|
|
29
29
|
from: number;
|
|
30
30
|
to: number;
|
|
31
31
|
}): void;
|
|
32
|
+
/** Times at the edges of the plot, `null` before mounting */
|
|
33
|
+
getVisibleTimeRange(): {
|
|
34
|
+
from: number;
|
|
35
|
+
to: number;
|
|
36
|
+
} | null;
|
|
37
|
+
/** Shows the bars between two times */
|
|
38
|
+
setVisibleTimeRange(range: {
|
|
39
|
+
from: number;
|
|
40
|
+
to: number;
|
|
41
|
+
}): void;
|
|
42
|
+
/** Shows the crosshair at a time (and a price); `null` hides it */
|
|
43
|
+
setCrosshair(time: number | null, price?: number): void;
|
|
44
|
+
/** Sets the price scale of the price pane */
|
|
45
|
+
setScaleMode(mode: TradingScaleMode): void;
|
|
32
46
|
/** Fits every price scale to the visible bars again */
|
|
33
47
|
resetPriceScales(): void;
|
|
34
48
|
/** Activates a drawing tool */
|
|
@@ -37,8 +51,36 @@ export interface TradingChartHandle {
|
|
|
37
51
|
getDrawings(): readonly TradingDrawing[];
|
|
38
52
|
/** Deletes a drawing */
|
|
39
53
|
removeDrawing(id: string): void;
|
|
54
|
+
/** Changes the style or the content of a drawing (undoable) */
|
|
55
|
+
updateDrawing(id: string, patch: TradingDrawingPatch): void;
|
|
40
56
|
/** Selects a drawing (`null` clears the selection) */
|
|
41
57
|
selectDrawing(id: string | null): void;
|
|
58
|
+
/** Undoes the last change of the drawings */
|
|
59
|
+
undo(): void;
|
|
60
|
+
/** Redoes the last undone change of the drawings */
|
|
61
|
+
redo(): void;
|
|
62
|
+
/** Whether the drawings can be undone or redone */
|
|
63
|
+
getUndoState(): TradingUndoState;
|
|
64
|
+
/** Starts a bar replay after `time` (the user picks the bar without it) */
|
|
65
|
+
startReplay(time?: number): void;
|
|
66
|
+
/** Shows the next bars of the replay */
|
|
67
|
+
replayStep(count?: number): void;
|
|
68
|
+
/** Plays the replay at `speed` bars per second */
|
|
69
|
+
replayPlay(speed?: number): void;
|
|
70
|
+
/** Pauses the replay */
|
|
71
|
+
replayPause(): void;
|
|
72
|
+
/** Ends the replay and shows every bar */
|
|
73
|
+
stopReplay(): void;
|
|
74
|
+
/** State of the bar replay, `null` before mounting */
|
|
75
|
+
getReplayState(): TradingReplayState | null;
|
|
76
|
+
/** Image of the chart as a data URL (`""` before mounting) */
|
|
77
|
+
toDataURL(type?: string, quality?: number): string;
|
|
78
|
+
/** Image of the chart as a blob */
|
|
79
|
+
toBlob(type?: string, quality?: number): Promise<Blob | null>;
|
|
80
|
+
/** Shows the chart full screen */
|
|
81
|
+
requestFullscreen(): Promise<void>;
|
|
82
|
+
/** Leaves full screen */
|
|
83
|
+
exitFullscreen(): Promise<void>;
|
|
42
84
|
/** Shows or hides an indicator */
|
|
43
85
|
setIndicatorVisible(id: string, visible: boolean): void;
|
|
44
86
|
/** Backend in use, `null` until ready */
|
|
@@ -70,14 +112,24 @@ export interface TradingChartProps extends TradingChartOptions {
|
|
|
70
112
|
onClick?: (event: TradingClickEvent) => void;
|
|
71
113
|
/** The visible bars changed */
|
|
72
114
|
onVisibleRangeChange?: (range: TradingVisibleRange) => void;
|
|
73
|
-
/** A draggable price line was dropped at a new price */
|
|
115
|
+
/** A draggable price line was dropped at a new price, or moved with the keyboard */
|
|
74
116
|
onOrderMove?: (event: TradingOrderMoveEvent) => void;
|
|
117
|
+
/** The "+" order entry button was clicked, or an order confirmed with the keyboard (see `orderEntry`) */
|
|
118
|
+
onOrderCreate?: (event: TradingOrderCreateEvent) => void;
|
|
119
|
+
/** The close button of a `cancellable` price line was clicked, or Delete pressed on it */
|
|
120
|
+
onOrderCancel?: (event: TradingOrderCancelEvent) => void;
|
|
75
121
|
/** The user added, moved or deleted drawings (pass them back as `drawings`) */
|
|
76
122
|
onDrawingsChange?: (drawings: readonly TradingDrawing[]) => void;
|
|
77
123
|
/** The selected drawing changed */
|
|
78
124
|
onDrawingSelect?: (id: string | null) => void;
|
|
79
125
|
/** The drawing tool changed (back to `cursor` after a drawing) */
|
|
80
126
|
onDrawingToolChange?: (tool: TradingDrawingTool) => void;
|
|
127
|
+
/** Undo / redo of the drawings became possible or impossible */
|
|
128
|
+
onUndoChange?: (state: TradingUndoState) => void;
|
|
129
|
+
/** The bar replay started, stepped, played, paused or stopped */
|
|
130
|
+
onReplayChange?: (state: TradingReplayState) => void;
|
|
131
|
+
/** The chart entered (`true`) or left full screen */
|
|
132
|
+
onFullscreenChange?: (fullscreen: boolean) => void;
|
|
81
133
|
/** An indicator was shown or hidden from its legend */
|
|
82
134
|
onIndicatorToggle?: (event: TradingIndicatorToggleEvent) => void;
|
|
83
135
|
/** The oldest bar came into view: load older bars (`prependBars`) */
|
|
@@ -15,63 +15,94 @@ var o = (e) => {
|
|
|
15
15
|
return n.length === Object.keys(t).length && n.every((n) => Object.prototype.hasOwnProperty.call(t, n) ? n === "bars" || n === "drawings" ? e[n] === t[n] : l(e[n], t[n]) : !1);
|
|
16
16
|
}, d = (e, t) => e === void 0 ? t : typeof e == "number" ? `${e}px` : e;
|
|
17
17
|
function f(o) {
|
|
18
|
-
let { height: s, width: c, className: l, style: f, ref: p, onCrosshairMove: m, onClick: h, onVisibleRangeChange: g, onOrderMove: _,
|
|
18
|
+
let { height: s, width: c, className: l, style: f, ref: p, onCrosshairMove: m, onClick: h, onVisibleRangeChange: g, onOrderMove: _, onOrderCreate: v, onOrderCancel: y, onDrawingsChange: b, onDrawingSelect: x, onDrawingToolChange: S, onUndoChange: C, onReplayChange: w, onFullscreenChange: T, onIndicatorToggle: E, onHistoryRequest: D, onRendererChange: O, ...k } = o, A = {
|
|
19
19
|
onCrosshairMove: m,
|
|
20
20
|
onClick: h,
|
|
21
21
|
onVisibleRangeChange: g,
|
|
22
22
|
onOrderMove: _,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
23
|
+
onOrderCreate: v,
|
|
24
|
+
onOrderCancel: y,
|
|
25
|
+
onDrawingsChange: b,
|
|
26
|
+
onDrawingSelect: x,
|
|
27
|
+
onDrawingToolChange: S,
|
|
28
|
+
onUndoChange: C,
|
|
29
|
+
onReplayChange: w,
|
|
30
|
+
onFullscreenChange: T,
|
|
31
|
+
onIndicatorToggle: E,
|
|
32
|
+
onHistoryRequest: D,
|
|
33
|
+
onRendererChange: O
|
|
34
|
+
}, j = r(null), M = r(null), N = r(A), [P, F] = i(k);
|
|
35
|
+
P !== k && !u(P, k) && F(k);
|
|
36
|
+
let I = r(P);
|
|
32
37
|
return t(() => {
|
|
33
|
-
|
|
38
|
+
N.current = A;
|
|
34
39
|
}), t(() => {
|
|
35
|
-
let t =
|
|
40
|
+
let t = j.current;
|
|
36
41
|
if (!t) return;
|
|
37
|
-
let n = e(t,
|
|
38
|
-
|
|
39
|
-
let r = () =>
|
|
42
|
+
let n = e(t, I.current);
|
|
43
|
+
M.current = n;
|
|
44
|
+
let r = () => N.current, i = [
|
|
40
45
|
n.on("crosshairMove", (e) => r().onCrosshairMove?.(e)),
|
|
41
46
|
n.on("click", (e) => r().onClick?.(e)),
|
|
42
47
|
n.on("visibleRangeChange", (e) => r().onVisibleRangeChange?.(e)),
|
|
43
48
|
n.on("orderMove", (e) => r().onOrderMove?.(e)),
|
|
49
|
+
n.on("orderCreate", (e) => r().onOrderCreate?.(e)),
|
|
50
|
+
n.on("orderCancel", (e) => r().onOrderCancel?.(e)),
|
|
44
51
|
n.on("drawingsChange", (e) => r().onDrawingsChange?.(e)),
|
|
45
52
|
n.on("drawingSelect", (e) => r().onDrawingSelect?.(e)),
|
|
46
53
|
n.on("drawingToolChange", (e) => r().onDrawingToolChange?.(e)),
|
|
54
|
+
n.on("undoChange", (e) => r().onUndoChange?.(e)),
|
|
55
|
+
n.on("replayChange", (e) => r().onReplayChange?.(e)),
|
|
56
|
+
n.on("fullscreenChange", (e) => r().onFullscreenChange?.(e)),
|
|
47
57
|
n.on("indicatorToggle", (e) => r().onIndicatorToggle?.(e)),
|
|
48
58
|
n.on("historyRequest", (e) => r().onHistoryRequest?.(e)),
|
|
49
59
|
n.on("renderer", (e) => r().onRendererChange?.(e))
|
|
50
60
|
];
|
|
51
61
|
return () => {
|
|
52
|
-
i.forEach((e) => e()), n.destroy(),
|
|
62
|
+
i.forEach((e) => e()), n.destroy(), M.current = null;
|
|
53
63
|
};
|
|
54
64
|
}, []), t(() => {
|
|
55
|
-
|
|
56
|
-
}, [
|
|
57
|
-
update: (e) =>
|
|
58
|
-
appendBars: (e) =>
|
|
59
|
-
prependBars: (e) =>
|
|
60
|
-
setBars: (e) =>
|
|
61
|
-
getBarCount: () =>
|
|
62
|
-
getBar: (e) =>
|
|
63
|
-
scrollToRealtime: (e) =>
|
|
64
|
-
fitContent: () =>
|
|
65
|
-
getVisibleRange: () =>
|
|
66
|
-
setVisibleRange: (e) =>
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
65
|
+
I.current !== P && (I.current = P, M.current?.setOptions(P));
|
|
66
|
+
}, [P]), n(p, () => ({
|
|
67
|
+
update: (e) => M.current?.update(e),
|
|
68
|
+
appendBars: (e) => M.current?.appendBars(e),
|
|
69
|
+
prependBars: (e) => M.current?.prependBars(e),
|
|
70
|
+
setBars: (e) => M.current?.setBars(e),
|
|
71
|
+
getBarCount: () => M.current?.getBarCount() ?? 0,
|
|
72
|
+
getBar: (e) => M.current?.getBar(e) ?? null,
|
|
73
|
+
scrollToRealtime: (e) => M.current?.scrollToRealtime(e),
|
|
74
|
+
fitContent: () => M.current?.fitContent(),
|
|
75
|
+
getVisibleRange: () => M.current?.getVisibleRange() ?? null,
|
|
76
|
+
setVisibleRange: (e) => M.current?.setVisibleRange(e),
|
|
77
|
+
getVisibleTimeRange: () => M.current?.getVisibleTimeRange() ?? null,
|
|
78
|
+
setVisibleTimeRange: (e) => M.current?.setVisibleTimeRange(e),
|
|
79
|
+
setCrosshair: (e, t) => M.current?.setCrosshair(e, t),
|
|
80
|
+
setScaleMode: (e) => M.current?.setScaleMode(e),
|
|
81
|
+
resetPriceScales: () => M.current?.resetPriceScales(),
|
|
82
|
+
setDrawingTool: (e) => M.current?.setDrawingTool(e),
|
|
83
|
+
getDrawings: () => M.current?.getDrawings() ?? [],
|
|
84
|
+
removeDrawing: (e) => M.current?.removeDrawing(e),
|
|
85
|
+
updateDrawing: (e, t) => M.current?.updateDrawing(e, t),
|
|
86
|
+
selectDrawing: (e) => M.current?.selectDrawing(e),
|
|
87
|
+
undo: () => M.current?.undo(),
|
|
88
|
+
redo: () => M.current?.redo(),
|
|
89
|
+
getUndoState: () => M.current?.getUndoState() ?? {
|
|
90
|
+
canUndo: !1,
|
|
91
|
+
canRedo: !1
|
|
92
|
+
},
|
|
93
|
+
startReplay: (e) => M.current?.startReplay(e),
|
|
94
|
+
replayStep: (e) => M.current?.replayStep(e),
|
|
95
|
+
replayPlay: (e) => M.current?.replayPlay(e),
|
|
96
|
+
replayPause: () => M.current?.replayPause(),
|
|
97
|
+
stopReplay: () => M.current?.stopReplay(),
|
|
98
|
+
getReplayState: () => M.current?.getReplayState() ?? null,
|
|
99
|
+
toDataURL: (e, t) => M.current?.toDataURL(e, t) ?? "",
|
|
100
|
+
toBlob: (e, t) => M.current?.toBlob(e, t) ?? Promise.resolve(null),
|
|
101
|
+
requestFullscreen: () => M.current?.requestFullscreen() ?? Promise.resolve(),
|
|
102
|
+
exitFullscreen: () => M.current?.exitFullscreen() ?? Promise.resolve(),
|
|
103
|
+
setIndicatorVisible: (e, t) => M.current?.setIndicatorVisible(e, t),
|
|
104
|
+
getRenderer: () => M.current?.getRenderer() ?? null,
|
|
105
|
+
getInstance: () => M.current
|
|
75
106
|
}), []), /* @__PURE__ */ a("div", {
|
|
76
107
|
className: l,
|
|
77
108
|
style: {
|
|
@@ -81,7 +112,7 @@ function f(o) {
|
|
|
81
112
|
...f
|
|
82
113
|
},
|
|
83
114
|
children: /* @__PURE__ */ a("div", {
|
|
84
|
-
ref:
|
|
115
|
+
ref: j,
|
|
85
116
|
style: {
|
|
86
117
|
position: "absolute",
|
|
87
118
|
inset: 0
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trading.js","names":["isPlainObject","value","proto","shallowEqual","keys","a","b","key","sameItem","v","i","sameValue","sameOptions","size","fallback","TradingChart","options","props","handlers","containerRef","useRef","chartRef","handlersRef","stable","setStable","useState","optionsRef","useEffect","container","chart","createTradingChart","h","offs","off","useImperativeHandle","ref","bar","bars","index","animate","range","tool","id","visible","width","height","style"],"sources":["../../../../charts/src/react/trading.tsx"],"sourcesContent":["import {\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n type CSSProperties,\n type Ref,\n} from \"react\";\nimport { createTradingChart } from \"../engine/trading/chart\";\nimport type {\n TradingBar,\n TradingBarsInput,\n TradingChartInstance,\n TradingChartOptions,\n TradingClickEvent,\n TradingCrosshairEvent,\n TradingDrawing,\n TradingDrawingTool,\n TradingHistoryRequestEvent,\n TradingIndicatorToggleEvent,\n TradingOrderMoveEvent,\n TradingVisibleRange,\n} from \"../engine/trading/types\";\nimport type { ChartRendererKind } from \"../engine/types\";\n\n/** Imperative handle of `<TradingChart>` */\nexport interface TradingChartHandle {\n /**\n * Streams a bar: the time of the last bar replaces it, a later time\n * appends it (cheap: call it on every tick)\n */\n update(bar: TradingBar): void;\n /** Appends bars newer than the last one */\n appendBars(bars: TradingBarsInput): void;\n /** Inserts older bars before the first one, keeping the view */\n prependBars(bars: TradingBarsInput): void;\n /** Replaces the bars */\n setBars(bars: TradingBarsInput): void;\n /** Number of bars */\n getBarCount(): number;\n /** Bar at an index, `null` outside the data */\n getBar(index: number): TradingBar | null;\n /** Scrolls to the latest bar */\n scrollToRealtime(animate?: boolean): void;\n /** Shows every bar */\n fitContent(): void;\n /** Visible bars, `null` before mounting */\n getVisibleRange(): TradingVisibleRange | null;\n /** Shows the bars between two logical indices */\n setVisibleRange(range: { from: number; to: number }): void;\n /** Fits every price scale to the visible bars again */\n resetPriceScales(): void;\n /** Activates a drawing tool */\n setDrawingTool(tool: TradingDrawingTool): void;\n /** Current drawings */\n getDrawings(): readonly TradingDrawing[];\n /** Deletes a drawing */\n removeDrawing(id: string): void;\n /** Selects a drawing (`null` clears the selection) */\n selectDrawing(id: string | null): void;\n /** Shows or hides an indicator */\n setIndicatorVisible(id: string, visible: boolean): void;\n /** Backend in use, `null` until ready */\n getRenderer(): ChartRendererKind | null;\n /** The underlying engine instance (minerva-design/charts/core) */\n getInstance(): TradingChartInstance | null;\n}\n\n/** Props of `<TradingChart>`: the options of `createTradingChart`, the size and the events */\nexport interface TradingChartProps extends TradingChartOptions {\n /**\n * Height (pixels or any CSS length)\n * @default 480\n */\n height?: number | string;\n /**\n * Width (pixels or any CSS length)\n * @default \"100%\"\n */\n width?: number | string;\n /** Class of the root element */\n className?: string;\n /** Inline styles of the root element */\n style?: CSSProperties;\n /** Imperative handle (streaming, scrolling, drawings) */\n ref?: Ref<TradingChartHandle>;\n /** The crosshair moved (`null` when it left the chart) */\n onCrosshairMove?: (event: TradingCrosshairEvent | null) => void;\n /** A pane was clicked */\n onClick?: (event: TradingClickEvent) => void;\n /** The visible bars changed */\n onVisibleRangeChange?: (range: TradingVisibleRange) => void;\n /** A draggable price line was dropped at a new price */\n onOrderMove?: (event: TradingOrderMoveEvent) => void;\n /** The user added, moved or deleted drawings (pass them back as `drawings`) */\n onDrawingsChange?: (drawings: readonly TradingDrawing[]) => void;\n /** The selected drawing changed */\n onDrawingSelect?: (id: string | null) => void;\n /** The drawing tool changed (back to `cursor` after a drawing) */\n onDrawingToolChange?: (tool: TradingDrawingTool) => void;\n /** An indicator was shown or hidden from its legend */\n onIndicatorToggle?: (event: TradingIndicatorToggleEvent) => void;\n /** The oldest bar came into view: load older bars (`prependBars`) */\n onHistoryRequest?: (event: TradingHistoryRequestEvent) => void;\n /** The backend in use (again after a fallback) */\n onRendererChange?: (renderer: ChartRendererKind) => void;\n}\n\ntype Handlers = Pick<\n TradingChartProps,\n | \"onCrosshairMove\"\n | \"onClick\"\n | \"onVisibleRangeChange\"\n | \"onOrderMove\"\n | \"onDrawingsChange\"\n | \"onDrawingSelect\"\n | \"onDrawingToolChange\"\n | \"onIndicatorToggle\"\n | \"onHistoryRequest\"\n | \"onRendererChange\"\n>;\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> => {\n if (typeof value !== \"object\" || value === null) return false;\n const proto = Object.getPrototypeOf(value);\n return proto === Object.prototype || proto === null;\n};\n\nconst shallowEqual = (\n a: Record<string, unknown>,\n b: Record<string, unknown>,\n): boolean => {\n const keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) return false;\n return keys.every(\n (key) =>\n Object.prototype.hasOwnProperty.call(b, key) && sameItem(a[key], b[key]),\n );\n};\n\n/** Identical, or inline arrays of identical values */\nconst sameItem = (a: unknown, b: unknown): boolean =>\n a === b ||\n (Array.isArray(a) &&\n Array.isArray(b) &&\n a.length === b.length &&\n a.every((v, i) => v === b[i]));\n\n/**\n * Same option value: identical, or inline arrays / objects of plain objects\n * with identical fields (`indicators={[{ type: \"ma\", period: 7 }]}`). Bars,\n * markers and drawings are compared by identity when they are not plain\n * objects (typed arrays) and item by item otherwise.\n */\nconst sameValue = (a: unknown, b: unknown): boolean => {\n if (a === b) return true;\n if (Array.isArray(a) && Array.isArray(b)) {\n return (\n a.length === b.length &&\n a.every(\n (v, i) =>\n v === b[i] ||\n (isPlainObject(v) && isPlainObject(b[i]) && shallowEqual(v, b[i])),\n )\n );\n }\n return isPlainObject(a) && isPlainObject(b) && shallowEqual(a, b);\n};\n\n/** Options describing the same chart (bars and drawings compared by identity) */\nconst sameOptions = (a: TradingChartOptions, b: TradingChartOptions) => {\n const keys = Object.keys(a) as (keyof TradingChartOptions)[];\n if (keys.length !== Object.keys(b).length) return false;\n return keys.every((key) => {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false;\n // new bars / drawings arrays are always applied: compared by identity\n if (key === \"bars\" || key === \"drawings\") return a[key] === b[key];\n return sameValue(a[key], b[key]);\n });\n};\n\nconst size = (value: number | string | undefined, fallback: string) =>\n value === undefined\n ? fallback\n : typeof value === \"number\"\n ? `${value}px`\n : value;\n\n/**\n * Professional trading chart: candles (hollow, Heikin-Ashi, bars, line,\n * area, baseline) over a gap-free time axis, indicator panes, drawing\n * tools, order lines and real-time streaming, drawn on the GPU.\n */\nexport function TradingChart(props: TradingChartProps) {\n const {\n height,\n width,\n className,\n style,\n ref,\n onCrosshairMove,\n onClick,\n onVisibleRangeChange,\n onOrderMove,\n onDrawingsChange,\n onDrawingSelect,\n onDrawingToolChange,\n onIndicatorToggle,\n onHistoryRequest,\n onRendererChange,\n ...options\n } = props;\n const handlers: Handlers = {\n onCrosshairMove,\n onClick,\n onVisibleRangeChange,\n onOrderMove,\n onDrawingsChange,\n onDrawingSelect,\n onDrawingToolChange,\n onIndicatorToggle,\n onHistoryRequest,\n onRendererChange,\n };\n const containerRef = useRef<HTMLDivElement>(null);\n const chartRef = useRef<TradingChartInstance | null>(null);\n const handlersRef = useRef<Handlers>(handlers);\n\n // a new options object on every render: keep the previous one while it\n // describes the same chart (state derived during render)\n const [stable, setStable] = useState<TradingChartOptions>(options);\n if (stable !== options && !sameOptions(stable, options)) setStable(options);\n const optionsRef = useRef(stable);\n\n useEffect(() => {\n handlersRef.current = handlers;\n });\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n const chart = createTradingChart(container, optionsRef.current);\n chartRef.current = chart;\n const h = () => handlersRef.current;\n const offs = [\n chart.on(\"crosshairMove\", (e) => h().onCrosshairMove?.(e)),\n chart.on(\"click\", (e) => h().onClick?.(e)),\n chart.on(\"visibleRangeChange\", (e) => h().onVisibleRangeChange?.(e)),\n chart.on(\"orderMove\", (e) => h().onOrderMove?.(e)),\n chart.on(\"drawingsChange\", (e) => h().onDrawingsChange?.(e)),\n chart.on(\"drawingSelect\", (e) => h().onDrawingSelect?.(e)),\n chart.on(\"drawingToolChange\", (e) => h().onDrawingToolChange?.(e)),\n chart.on(\"indicatorToggle\", (e) => h().onIndicatorToggle?.(e)),\n chart.on(\"historyRequest\", (e) => h().onHistoryRequest?.(e)),\n chart.on(\"renderer\", (e) => h().onRendererChange?.(e)),\n ];\n return () => {\n offs.forEach((off) => off());\n chart.destroy();\n chartRef.current = null;\n };\n }, []);\n\n useEffect(() => {\n if (optionsRef.current === stable) return;\n optionsRef.current = stable;\n chartRef.current?.setOptions(stable);\n }, [stable]);\n\n useImperativeHandle(\n ref,\n (): TradingChartHandle => ({\n update: (bar) => chartRef.current?.update(bar),\n appendBars: (bars) => chartRef.current?.appendBars(bars),\n prependBars: (bars) => chartRef.current?.prependBars(bars),\n setBars: (bars) => chartRef.current?.setBars(bars),\n getBarCount: () => chartRef.current?.getBarCount() ?? 0,\n getBar: (index) => chartRef.current?.getBar(index) ?? null,\n scrollToRealtime: (animate) =>\n chartRef.current?.scrollToRealtime(animate),\n fitContent: () => chartRef.current?.fitContent(),\n getVisibleRange: () => chartRef.current?.getVisibleRange() ?? null,\n setVisibleRange: (range) => chartRef.current?.setVisibleRange(range),\n resetPriceScales: () => chartRef.current?.resetPriceScales(),\n setDrawingTool: (tool) => chartRef.current?.setDrawingTool(tool),\n getDrawings: () => chartRef.current?.getDrawings() ?? [],\n removeDrawing: (id) => chartRef.current?.removeDrawing(id),\n selectDrawing: (id) => chartRef.current?.selectDrawing(id),\n setIndicatorVisible: (id, visible) =>\n chartRef.current?.setIndicatorVisible(id, visible),\n getRenderer: () => chartRef.current?.getRenderer() ?? null,\n getInstance: () => chartRef.current,\n }),\n [],\n );\n\n return (\n <div\n className={className}\n style={{\n position: \"relative\",\n width: size(width, \"100%\"),\n height: size(height, \"480px\"),\n ...style,\n }}\n >\n <div ref={containerRef} style={{ position: \"absolute\", inset: 0 }} />\n </div>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"trading.js","names":["isPlainObject","value","proto","shallowEqual","keys","a","b","key","sameItem","v","i","sameValue","sameOptions","size","fallback","TradingChart","options","props","handlers","containerRef","useRef","chartRef","handlersRef","stable","setStable","useState","optionsRef","useEffect","container","chart","createTradingChart","h","offs","off","useImperativeHandle","ref","bar","bars","index","animate","range","time","price","mode","tool","id","patch","count","speed","type","quality","visible","width","height","style"],"sources":["../../../../charts/src/react/trading.tsx"],"sourcesContent":["import {\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n type CSSProperties,\n type Ref,\n} from \"react\";\nimport { createTradingChart } from \"../engine/trading/chart\";\nimport type {\n TradingBar,\n TradingBarsInput,\n TradingChartInstance,\n TradingChartOptions,\n TradingClickEvent,\n TradingCrosshairEvent,\n TradingDrawing,\n TradingDrawingPatch,\n TradingDrawingTool,\n TradingHistoryRequestEvent,\n TradingIndicatorToggleEvent,\n TradingOrderCancelEvent,\n TradingOrderCreateEvent,\n TradingOrderMoveEvent,\n TradingReplayState,\n TradingScaleMode,\n TradingUndoState,\n TradingVisibleRange,\n} from \"../engine/trading/types\";\nimport type { ChartRendererKind } from \"../engine/types\";\n\n/** Imperative handle of `<TradingChart>` */\nexport interface TradingChartHandle {\n /**\n * Streams a bar: the time of the last bar replaces it, a later time\n * appends it (cheap: call it on every tick)\n */\n update(bar: TradingBar): void;\n /** Appends bars newer than the last one */\n appendBars(bars: TradingBarsInput): void;\n /** Inserts older bars before the first one, keeping the view */\n prependBars(bars: TradingBarsInput): void;\n /** Replaces the bars */\n setBars(bars: TradingBarsInput): void;\n /** Number of bars */\n getBarCount(): number;\n /** Bar at an index, `null` outside the data */\n getBar(index: number): TradingBar | null;\n /** Scrolls to the latest bar */\n scrollToRealtime(animate?: boolean): void;\n /** Shows every bar */\n fitContent(): void;\n /** Visible bars, `null` before mounting */\n getVisibleRange(): TradingVisibleRange | null;\n /** Shows the bars between two logical indices */\n setVisibleRange(range: { from: number; to: number }): void;\n /** Times at the edges of the plot, `null` before mounting */\n getVisibleTimeRange(): { from: number; to: number } | null;\n /** Shows the bars between two times */\n setVisibleTimeRange(range: { from: number; to: number }): void;\n /** Shows the crosshair at a time (and a price); `null` hides it */\n setCrosshair(time: number | null, price?: number): void;\n /** Sets the price scale of the price pane */\n setScaleMode(mode: TradingScaleMode): void;\n /** Fits every price scale to the visible bars again */\n resetPriceScales(): void;\n /** Activates a drawing tool */\n setDrawingTool(tool: TradingDrawingTool): void;\n /** Current drawings */\n getDrawings(): readonly TradingDrawing[];\n /** Deletes a drawing */\n removeDrawing(id: string): void;\n /** Changes the style or the content of a drawing (undoable) */\n updateDrawing(id: string, patch: TradingDrawingPatch): void;\n /** Selects a drawing (`null` clears the selection) */\n selectDrawing(id: string | null): void;\n /** Undoes the last change of the drawings */\n undo(): void;\n /** Redoes the last undone change of the drawings */\n redo(): void;\n /** Whether the drawings can be undone or redone */\n getUndoState(): TradingUndoState;\n /** Starts a bar replay after `time` (the user picks the bar without it) */\n startReplay(time?: number): void;\n /** Shows the next bars of the replay */\n replayStep(count?: number): void;\n /** Plays the replay at `speed` bars per second */\n replayPlay(speed?: number): void;\n /** Pauses the replay */\n replayPause(): void;\n /** Ends the replay and shows every bar */\n stopReplay(): void;\n /** State of the bar replay, `null` before mounting */\n getReplayState(): TradingReplayState | null;\n /** Image of the chart as a data URL (`\"\"` before mounting) */\n toDataURL(type?: string, quality?: number): string;\n /** Image of the chart as a blob */\n toBlob(type?: string, quality?: number): Promise<Blob | null>;\n /** Shows the chart full screen */\n requestFullscreen(): Promise<void>;\n /** Leaves full screen */\n exitFullscreen(): Promise<void>;\n /** Shows or hides an indicator */\n setIndicatorVisible(id: string, visible: boolean): void;\n /** Backend in use, `null` until ready */\n getRenderer(): ChartRendererKind | null;\n /** The underlying engine instance (minerva-design/charts/core) */\n getInstance(): TradingChartInstance | null;\n}\n\n/** Props of `<TradingChart>`: the options of `createTradingChart`, the size and the events */\nexport interface TradingChartProps extends TradingChartOptions {\n /**\n * Height (pixels or any CSS length)\n * @default 480\n */\n height?: number | string;\n /**\n * Width (pixels or any CSS length)\n * @default \"100%\"\n */\n width?: number | string;\n /** Class of the root element */\n className?: string;\n /** Inline styles of the root element */\n style?: CSSProperties;\n /** Imperative handle (streaming, scrolling, drawings) */\n ref?: Ref<TradingChartHandle>;\n /** The crosshair moved (`null` when it left the chart) */\n onCrosshairMove?: (event: TradingCrosshairEvent | null) => void;\n /** A pane was clicked */\n onClick?: (event: TradingClickEvent) => void;\n /** The visible bars changed */\n onVisibleRangeChange?: (range: TradingVisibleRange) => void;\n /** A draggable price line was dropped at a new price, or moved with the keyboard */\n onOrderMove?: (event: TradingOrderMoveEvent) => void;\n /** The \"+\" order entry button was clicked, or an order confirmed with the keyboard (see `orderEntry`) */\n onOrderCreate?: (event: TradingOrderCreateEvent) => void;\n /** The close button of a `cancellable` price line was clicked, or Delete pressed on it */\n onOrderCancel?: (event: TradingOrderCancelEvent) => void;\n /** The user added, moved or deleted drawings (pass them back as `drawings`) */\n onDrawingsChange?: (drawings: readonly TradingDrawing[]) => void;\n /** The selected drawing changed */\n onDrawingSelect?: (id: string | null) => void;\n /** The drawing tool changed (back to `cursor` after a drawing) */\n onDrawingToolChange?: (tool: TradingDrawingTool) => void;\n /** Undo / redo of the drawings became possible or impossible */\n onUndoChange?: (state: TradingUndoState) => void;\n /** The bar replay started, stepped, played, paused or stopped */\n onReplayChange?: (state: TradingReplayState) => void;\n /** The chart entered (`true`) or left full screen */\n onFullscreenChange?: (fullscreen: boolean) => void;\n /** An indicator was shown or hidden from its legend */\n onIndicatorToggle?: (event: TradingIndicatorToggleEvent) => void;\n /** The oldest bar came into view: load older bars (`prependBars`) */\n onHistoryRequest?: (event: TradingHistoryRequestEvent) => void;\n /** The backend in use (again after a fallback) */\n onRendererChange?: (renderer: ChartRendererKind) => void;\n}\n\ntype Handlers = Pick<\n TradingChartProps,\n | \"onCrosshairMove\"\n | \"onClick\"\n | \"onVisibleRangeChange\"\n | \"onOrderMove\"\n | \"onOrderCreate\"\n | \"onOrderCancel\"\n | \"onDrawingsChange\"\n | \"onDrawingSelect\"\n | \"onDrawingToolChange\"\n | \"onUndoChange\"\n | \"onReplayChange\"\n | \"onFullscreenChange\"\n | \"onIndicatorToggle\"\n | \"onHistoryRequest\"\n | \"onRendererChange\"\n>;\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> => {\n if (typeof value !== \"object\" || value === null) return false;\n const proto = Object.getPrototypeOf(value);\n return proto === Object.prototype || proto === null;\n};\n\nconst shallowEqual = (\n a: Record<string, unknown>,\n b: Record<string, unknown>,\n): boolean => {\n const keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) return false;\n return keys.every(\n (key) =>\n Object.prototype.hasOwnProperty.call(b, key) && sameItem(a[key], b[key]),\n );\n};\n\n/** Identical, or inline arrays of identical values */\nconst sameItem = (a: unknown, b: unknown): boolean =>\n a === b ||\n (Array.isArray(a) &&\n Array.isArray(b) &&\n a.length === b.length &&\n a.every((v, i) => v === b[i]));\n\n/**\n * Same option value: identical, or inline arrays / objects of plain objects\n * with identical fields (`indicators={[{ type: \"ma\", period: 7 }]}`). Bars,\n * markers and drawings are compared by identity when they are not plain\n * objects (typed arrays) and item by item otherwise.\n */\nconst sameValue = (a: unknown, b: unknown): boolean => {\n if (a === b) return true;\n if (Array.isArray(a) && Array.isArray(b)) {\n return (\n a.length === b.length &&\n a.every(\n (v, i) =>\n v === b[i] ||\n (isPlainObject(v) && isPlainObject(b[i]) && shallowEqual(v, b[i])),\n )\n );\n }\n return isPlainObject(a) && isPlainObject(b) && shallowEqual(a, b);\n};\n\n/** Options describing the same chart (bars and drawings compared by identity) */\nconst sameOptions = (a: TradingChartOptions, b: TradingChartOptions) => {\n const keys = Object.keys(a) as (keyof TradingChartOptions)[];\n if (keys.length !== Object.keys(b).length) return false;\n return keys.every((key) => {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false;\n // new bars / drawings arrays are always applied: compared by identity\n if (key === \"bars\" || key === \"drawings\") return a[key] === b[key];\n return sameValue(a[key], b[key]);\n });\n};\n\nconst size = (value: number | string | undefined, fallback: string) =>\n value === undefined\n ? fallback\n : typeof value === \"number\"\n ? `${value}px`\n : value;\n\n/**\n * Professional trading chart: candles (hollow, Heikin-Ashi, bars, line,\n * area, baseline) over a gap-free time axis, indicator panes, drawing\n * tools, order lines and real-time streaming, drawn on the GPU.\n */\nexport function TradingChart(props: TradingChartProps) {\n const {\n height,\n width,\n className,\n style,\n ref,\n onCrosshairMove,\n onClick,\n onVisibleRangeChange,\n onOrderMove,\n onOrderCreate,\n onOrderCancel,\n onDrawingsChange,\n onDrawingSelect,\n onDrawingToolChange,\n onUndoChange,\n onReplayChange,\n onFullscreenChange,\n onIndicatorToggle,\n onHistoryRequest,\n onRendererChange,\n ...options\n } = props;\n const handlers: Handlers = {\n onCrosshairMove,\n onClick,\n onVisibleRangeChange,\n onOrderMove,\n onOrderCreate,\n onOrderCancel,\n onDrawingsChange,\n onDrawingSelect,\n onDrawingToolChange,\n onUndoChange,\n onReplayChange,\n onFullscreenChange,\n onIndicatorToggle,\n onHistoryRequest,\n onRendererChange,\n };\n const containerRef = useRef<HTMLDivElement>(null);\n const chartRef = useRef<TradingChartInstance | null>(null);\n const handlersRef = useRef<Handlers>(handlers);\n\n // a new options object on every render: keep the previous one while it\n // describes the same chart (state derived during render)\n const [stable, setStable] = useState<TradingChartOptions>(options);\n if (stable !== options && !sameOptions(stable, options)) setStable(options);\n const optionsRef = useRef(stable);\n\n useEffect(() => {\n handlersRef.current = handlers;\n });\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n const chart = createTradingChart(container, optionsRef.current);\n chartRef.current = chart;\n const h = () => handlersRef.current;\n const offs = [\n chart.on(\"crosshairMove\", (e) => h().onCrosshairMove?.(e)),\n chart.on(\"click\", (e) => h().onClick?.(e)),\n chart.on(\"visibleRangeChange\", (e) => h().onVisibleRangeChange?.(e)),\n chart.on(\"orderMove\", (e) => h().onOrderMove?.(e)),\n chart.on(\"orderCreate\", (e) => h().onOrderCreate?.(e)),\n chart.on(\"orderCancel\", (e) => h().onOrderCancel?.(e)),\n chart.on(\"drawingsChange\", (e) => h().onDrawingsChange?.(e)),\n chart.on(\"drawingSelect\", (e) => h().onDrawingSelect?.(e)),\n chart.on(\"drawingToolChange\", (e) => h().onDrawingToolChange?.(e)),\n chart.on(\"undoChange\", (e) => h().onUndoChange?.(e)),\n chart.on(\"replayChange\", (e) => h().onReplayChange?.(e)),\n chart.on(\"fullscreenChange\", (e) => h().onFullscreenChange?.(e)),\n chart.on(\"indicatorToggle\", (e) => h().onIndicatorToggle?.(e)),\n chart.on(\"historyRequest\", (e) => h().onHistoryRequest?.(e)),\n chart.on(\"renderer\", (e) => h().onRendererChange?.(e)),\n ];\n return () => {\n offs.forEach((off) => off());\n chart.destroy();\n chartRef.current = null;\n };\n }, []);\n\n useEffect(() => {\n if (optionsRef.current === stable) return;\n optionsRef.current = stable;\n chartRef.current?.setOptions(stable);\n }, [stable]);\n\n useImperativeHandle(\n ref,\n (): TradingChartHandle => ({\n update: (bar) => chartRef.current?.update(bar),\n appendBars: (bars) => chartRef.current?.appendBars(bars),\n prependBars: (bars) => chartRef.current?.prependBars(bars),\n setBars: (bars) => chartRef.current?.setBars(bars),\n getBarCount: () => chartRef.current?.getBarCount() ?? 0,\n getBar: (index) => chartRef.current?.getBar(index) ?? null,\n scrollToRealtime: (animate) =>\n chartRef.current?.scrollToRealtime(animate),\n fitContent: () => chartRef.current?.fitContent(),\n getVisibleRange: () => chartRef.current?.getVisibleRange() ?? null,\n setVisibleRange: (range) => chartRef.current?.setVisibleRange(range),\n getVisibleTimeRange: () =>\n chartRef.current?.getVisibleTimeRange() ?? null,\n setVisibleTimeRange: (range) =>\n chartRef.current?.setVisibleTimeRange(range),\n setCrosshair: (time, price) =>\n chartRef.current?.setCrosshair(time, price),\n setScaleMode: (mode) => chartRef.current?.setScaleMode(mode),\n resetPriceScales: () => chartRef.current?.resetPriceScales(),\n setDrawingTool: (tool) => chartRef.current?.setDrawingTool(tool),\n getDrawings: () => chartRef.current?.getDrawings() ?? [],\n removeDrawing: (id) => chartRef.current?.removeDrawing(id),\n updateDrawing: (id, patch) => chartRef.current?.updateDrawing(id, patch),\n selectDrawing: (id) => chartRef.current?.selectDrawing(id),\n undo: () => chartRef.current?.undo(),\n redo: () => chartRef.current?.redo(),\n getUndoState: () =>\n chartRef.current?.getUndoState() ?? { canUndo: false, canRedo: false },\n startReplay: (time) => chartRef.current?.startReplay(time),\n replayStep: (count) => chartRef.current?.replayStep(count),\n replayPlay: (speed) => chartRef.current?.replayPlay(speed),\n replayPause: () => chartRef.current?.replayPause(),\n stopReplay: () => chartRef.current?.stopReplay(),\n getReplayState: () => chartRef.current?.getReplayState() ?? null,\n toDataURL: (type, quality) =>\n chartRef.current?.toDataURL(type, quality) ?? \"\",\n toBlob: (type, quality) =>\n chartRef.current?.toBlob(type, quality) ?? Promise.resolve(null),\n requestFullscreen: () =>\n chartRef.current?.requestFullscreen() ?? Promise.resolve(),\n exitFullscreen: () =>\n chartRef.current?.exitFullscreen() ?? Promise.resolve(),\n setIndicatorVisible: (id, visible) =>\n chartRef.current?.setIndicatorVisible(id, visible),\n getRenderer: () => chartRef.current?.getRenderer() ?? null,\n getInstance: () => chartRef.current,\n }),\n [],\n );\n\n return (\n <div\n className={className}\n style={{\n position: \"relative\",\n width: size(width, \"100%\"),\n height: size(height, \"480px\"),\n ...style,\n }}\n >\n <div ref={containerRef} style={{ position: \"absolute\", inset: 0 }} />\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -245,6 +245,17 @@ export interface BoxPlotChartProps extends ChartCommonProps, BoxplotStatsOptions
|
|
|
245
245
|
* @default "vertical"
|
|
246
246
|
*/
|
|
247
247
|
orientation?: ChartOrientation;
|
|
248
|
+
/**
|
|
249
|
+
* Outliers drawn as rings of the series color or as filled dots (series
|
|
250
|
+
* may set their own `outlierShape`)
|
|
251
|
+
* @default "hollow"
|
|
252
|
+
*/
|
|
253
|
+
outlierShape?: "hollow" | "filled";
|
|
254
|
+
/**
|
|
255
|
+
* Diameter of the outliers in CSS pixels
|
|
256
|
+
* @default 7
|
|
257
|
+
*/
|
|
258
|
+
outlierSize?: number;
|
|
248
259
|
}
|
|
249
260
|
/** Props of WaterfallChart */
|
|
250
261
|
export interface WaterfallChartProps extends Omit<ChartCommonProps, "crosshair" | "labels">, Omit<WaterfallOptions, "labels"> {
|
|
@@ -245,6 +245,17 @@ export interface BoxPlotChartProps extends ChartCommonProps, BoxplotStatsOptions
|
|
|
245
245
|
* @default "vertical"
|
|
246
246
|
*/
|
|
247
247
|
orientation?: ChartOrientation;
|
|
248
|
+
/**
|
|
249
|
+
* Outliers drawn as rings of the series color or as filled dots (series
|
|
250
|
+
* may set their own `outlierShape`)
|
|
251
|
+
* @default "hollow"
|
|
252
|
+
*/
|
|
253
|
+
outlierShape?: "hollow" | "filled";
|
|
254
|
+
/**
|
|
255
|
+
* Diameter of the outliers in CSS pixels
|
|
256
|
+
* @default 7
|
|
257
|
+
*/
|
|
258
|
+
outlierSize?: number;
|
|
248
259
|
}
|
|
249
260
|
/** Props of WaterfallChart */
|
|
250
261
|
export interface WaterfallChartProps extends Omit<ChartCommonProps, "crosshair" | "labels">, Omit<WaterfallOptions, "labels"> {
|