minerva-design 1.2.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/README.md +21 -21
- package/custom-elements.json +13630 -4757
- package/dist/angular/fesm2022/minerva-angular.mjs +6872 -172
- package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
- package/dist/angular/types/minerva-angular.d.ts +2240 -0
- package/dist/charts/canvas.d.cts +10 -2
- package/dist/charts/canvas.d.ts +10 -2
- package/dist/charts/core.cjs +1 -1
- package/dist/charts/core.d.cts +9 -3
- package/dist/charts/core.d.ts +9 -3
- package/dist/charts/core.js +19 -6
- package/dist/charts/engine/axis.cjs +1 -1
- package/dist/charts/engine/axis.cjs.map +1 -1
- package/dist/charts/engine/axis.js +6 -6
- package/dist/charts/engine/axis.js.map +1 -1
- package/dist/charts/engine/canvas.cjs +1 -1
- package/dist/charts/engine/canvas.cjs.map +1 -1
- package/dist/charts/engine/canvas.d.cts +11 -1
- package/dist/charts/engine/canvas.d.ts +11 -1
- package/dist/charts/engine/canvas.js +161 -99
- package/dist/charts/engine/canvas.js.map +1 -1
- package/dist/charts/engine/chart.cjs +1 -2
- package/dist/charts/engine/chart.cjs.map +1 -1
- package/dist/charts/engine/chart.d.cts +1 -1
- package/dist/charts/engine/chart.d.ts +1 -1
- package/dist/charts/engine/chart.js +390 -349
- package/dist/charts/engine/chart.js.map +1 -1
- package/dist/charts/engine/color.cjs +1 -1
- package/dist/charts/engine/color.cjs.map +1 -1
- package/dist/charts/engine/color.d.cts +17 -0
- package/dist/charts/engine/color.d.ts +17 -0
- package/dist/charts/engine/color.js +27 -3
- package/dist/charts/engine/color.js.map +1 -1
- package/dist/charts/engine/controller.cjs +2 -2
- package/dist/charts/engine/controller.cjs.map +1 -1
- package/dist/charts/engine/controller.d.cts +17 -2
- package/dist/charts/engine/controller.d.ts +17 -2
- package/dist/charts/engine/controller.js +404 -280
- package/dist/charts/engine/controller.js.map +1 -1
- package/dist/charts/engine/curve.cjs +2 -0
- package/dist/charts/engine/curve.cjs.map +1 -0
- package/dist/charts/engine/curve.d.cts +15 -0
- package/dist/charts/engine/curve.d.ts +15 -0
- package/dist/charts/engine/curve.js +56 -0
- package/dist/charts/engine/curve.js.map +1 -0
- package/dist/charts/engine/data.cjs +1 -1
- package/dist/charts/engine/data.cjs.map +1 -1
- package/dist/charts/engine/data.d.cts +21 -2
- package/dist/charts/engine/data.d.ts +21 -2
- package/dist/charts/engine/data.js +117 -43
- package/dist/charts/engine/data.js.map +1 -1
- package/dist/charts/engine/dom.cjs +1 -1
- package/dist/charts/engine/dom.cjs.map +1 -1
- package/dist/charts/engine/dom.d.cts +5 -3
- package/dist/charts/engine/dom.d.ts +5 -3
- package/dist/charts/engine/dom.js +27 -22
- package/dist/charts/engine/dom.js.map +1 -1
- package/dist/charts/engine/format.cjs +1 -1
- package/dist/charts/engine/format.cjs.map +1 -1
- package/dist/charts/engine/format.d.cts +21 -6
- package/dist/charts/engine/format.d.ts +21 -6
- package/dist/charts/engine/format.js +46 -21
- package/dist/charts/engine/format.js.map +1 -1
- package/dist/charts/engine/items.cjs +1 -1
- package/dist/charts/engine/items.cjs.map +1 -1
- package/dist/charts/engine/items.js +290 -62
- package/dist/charts/engine/items.js.map +1 -1
- package/dist/charts/engine/labels.cjs +2 -0
- package/dist/charts/engine/labels.cjs.map +1 -0
- package/dist/charts/engine/labels.d.cts +13 -0
- package/dist/charts/engine/labels.d.ts +13 -0
- package/dist/charts/engine/labels.js +74 -0
- package/dist/charts/engine/labels.js.map +1 -0
- package/dist/charts/engine/layout.cjs +1 -1
- package/dist/charts/engine/layout.cjs.map +1 -1
- package/dist/charts/engine/layout.d.cts +34 -2
- package/dist/charts/engine/layout.d.ts +34 -2
- package/dist/charts/engine/layout.js +53 -12
- package/dist/charts/engine/layout.js.map +1 -1
- package/dist/charts/engine/locale.cjs +2 -0
- package/dist/charts/engine/locale.cjs.map +1 -0
- package/dist/charts/engine/locale.d.cts +33 -0
- package/dist/charts/engine/locale.d.ts +33 -0
- package/dist/charts/engine/locale.js +68 -0
- package/dist/charts/engine/locale.js.map +1 -0
- package/dist/charts/engine/model.cjs +1 -1
- package/dist/charts/engine/model.cjs.map +1 -1
- package/dist/charts/engine/model.d.cts +68 -3
- package/dist/charts/engine/model.d.ts +68 -3
- package/dist/charts/engine/model.js +332 -108
- package/dist/charts/engine/model.js.map +1 -1
- package/dist/charts/engine/orderbook/book.cjs +2 -0
- package/dist/charts/engine/orderbook/book.cjs.map +1 -0
- package/dist/charts/engine/orderbook/book.d.cts +28 -0
- package/dist/charts/engine/orderbook/book.d.ts +28 -0
- package/dist/charts/engine/orderbook/book.js +134 -0
- package/dist/charts/engine/orderbook/book.js.map +1 -0
- package/dist/charts/engine/orderbook/depth.cjs +2 -0
- package/dist/charts/engine/orderbook/depth.cjs.map +1 -0
- package/dist/charts/engine/orderbook/depth.d.cts +7 -0
- package/dist/charts/engine/orderbook/depth.d.ts +7 -0
- package/dist/charts/engine/orderbook/depth.js +413 -0
- package/dist/charts/engine/orderbook/depth.js.map +1 -0
- package/dist/charts/engine/orderbook/format.cjs +2 -0
- package/dist/charts/engine/orderbook/format.cjs.map +1 -0
- package/dist/charts/engine/orderbook/format.d.cts +48 -0
- package/dist/charts/engine/orderbook/format.d.ts +48 -0
- package/dist/charts/engine/orderbook/format.js +65 -0
- package/dist/charts/engine/orderbook/format.js.map +1 -0
- package/dist/charts/engine/orderbook/heatmap.cjs +2 -0
- package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -0
- package/dist/charts/engine/orderbook/heatmap.d.cts +9 -0
- package/dist/charts/engine/orderbook/heatmap.d.ts +9 -0
- package/dist/charts/engine/orderbook/heatmap.js +703 -0
- package/dist/charts/engine/orderbook/heatmap.js.map +1 -0
- package/dist/charts/engine/orderbook/host.cjs +2 -0
- package/dist/charts/engine/orderbook/host.cjs.map +1 -0
- package/dist/charts/engine/orderbook/host.d.cts +50 -0
- package/dist/charts/engine/orderbook/host.d.ts +50 -0
- package/dist/charts/engine/orderbook/host.js +161 -0
- package/dist/charts/engine/orderbook/host.js.map +1 -0
- package/dist/charts/engine/orderbook/index.cjs +1 -0
- package/dist/charts/engine/orderbook/index.d.cts +6 -0
- package/dist/charts/engine/orderbook/index.d.ts +6 -0
- package/dist/charts/engine/orderbook/index.js +6 -0
- package/dist/charts/engine/orderbook/ladder.cjs +2 -0
- package/dist/charts/engine/orderbook/ladder.cjs.map +1 -0
- package/dist/charts/engine/orderbook/ladder.d.cts +6 -0
- package/dist/charts/engine/orderbook/ladder.d.ts +6 -0
- package/dist/charts/engine/orderbook/ladder.js +341 -0
- package/dist/charts/engine/orderbook/ladder.js.map +1 -0
- package/dist/charts/engine/orderbook/tape.cjs +2 -0
- package/dist/charts/engine/orderbook/tape.cjs.map +1 -0
- package/dist/charts/engine/orderbook/tape.d.cts +6 -0
- package/dist/charts/engine/orderbook/tape.d.ts +6 -0
- package/dist/charts/engine/orderbook/tape.js +450 -0
- package/dist/charts/engine/orderbook/tape.js.map +1 -0
- package/dist/charts/engine/orderbook/types.d.cts +735 -0
- package/dist/charts/engine/orderbook/types.d.ts +735 -0
- package/dist/charts/engine/overlay.cjs +1 -1
- package/dist/charts/engine/overlay.cjs.map +1 -1
- package/dist/charts/engine/overlay.d.cts +18 -0
- package/dist/charts/engine/overlay.d.ts +18 -0
- package/dist/charts/engine/overlay.js +138 -102
- package/dist/charts/engine/overlay.js.map +1 -1
- package/dist/charts/engine/presets.cjs +2 -2
- package/dist/charts/engine/presets.cjs.map +1 -1
- package/dist/charts/engine/presets.d.cts +319 -5
- package/dist/charts/engine/presets.d.ts +319 -5
- package/dist/charts/engine/presets.js +463 -38
- package/dist/charts/engine/presets.js.map +1 -1
- package/dist/charts/engine/renderers/canvas2d.cjs +1 -1
- package/dist/charts/engine/renderers/canvas2d.cjs.map +1 -1
- package/dist/charts/engine/renderers/canvas2d.js +149 -111
- package/dist/charts/engine/renderers/canvas2d.js.map +1 -1
- package/dist/charts/engine/renderers/detect.cjs +1 -1
- package/dist/charts/engine/renderers/detect.cjs.map +1 -1
- package/dist/charts/engine/renderers/detect.js +18 -15
- package/dist/charts/engine/renderers/detect.js.map +1 -1
- package/dist/charts/engine/renderers/gl.cjs +2 -0
- package/dist/charts/engine/renderers/gl.cjs.map +1 -0
- package/dist/charts/engine/renderers/gl.d.cts +21 -0
- package/dist/charts/engine/renderers/gl.d.ts +21 -0
- package/dist/charts/engine/renderers/gl.js +56 -0
- package/dist/charts/engine/renderers/gl.js.map +1 -0
- package/dist/charts/engine/renderers/range.cjs +1 -1
- package/dist/charts/engine/renderers/range.cjs.map +1 -1
- package/dist/charts/engine/renderers/range.js +4 -4
- package/dist/charts/engine/renderers/range.js.map +1 -1
- package/dist/charts/engine/renderers/shaders.cjs +180 -20
- package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
- package/dist/charts/engine/renderers/shaders.d.cts +18 -2
- package/dist/charts/engine/renderers/shaders.d.ts +18 -2
- package/dist/charts/engine/renderers/shaders.js +176 -20
- package/dist/charts/engine/renderers/shaders.js.map +1 -1
- package/dist/charts/engine/renderers/types.cjs.map +1 -1
- package/dist/charts/engine/renderers/types.d.cts +11 -4
- package/dist/charts/engine/renderers/types.d.ts +11 -4
- package/dist/charts/engine/renderers/types.js.map +1 -1
- package/dist/charts/engine/renderers/webgl.cjs +2 -0
- package/dist/charts/engine/renderers/webgl.cjs.map +1 -0
- package/dist/charts/engine/renderers/webgl.d.cts +4 -0
- package/dist/charts/engine/renderers/webgl.d.ts +4 -0
- package/dist/charts/engine/renderers/webgl.js +133 -0
- package/dist/charts/engine/renderers/webgl.js.map +1 -0
- package/dist/charts/engine/renderers/webgl2.cjs +1 -1
- package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
- package/dist/charts/engine/renderers/webgl2.d.cts +0 -1
- package/dist/charts/engine/renderers/webgl2.d.ts +0 -1
- package/dist/charts/engine/renderers/webgl2.js +62 -90
- package/dist/charts/engine/renderers/webgl2.js.map +1 -1
- package/dist/charts/engine/renderers/webgpu.cjs +1 -1
- package/dist/charts/engine/renderers/webgpu.cjs.map +1 -1
- package/dist/charts/engine/renderers/webgpu.js +18 -15
- package/dist/charts/engine/renderers/webgpu.js.map +1 -1
- package/dist/charts/engine/scale.cjs +1 -1
- package/dist/charts/engine/scale.cjs.map +1 -1
- package/dist/charts/engine/scale.js +1 -1
- package/dist/charts/engine/scale.js.map +1 -1
- package/dist/charts/engine/scene.cjs +1 -1
- package/dist/charts/engine/scene.cjs.map +1 -1
- package/dist/charts/engine/scene.d.cts +32 -9
- package/dist/charts/engine/scene.d.ts +32 -9
- package/dist/charts/engine/scene.js +363 -122
- package/dist/charts/engine/scene.js.map +1 -1
- package/dist/charts/engine/shapes/bullet.cjs +2 -0
- package/dist/charts/engine/shapes/bullet.cjs.map +1 -0
- package/dist/charts/engine/shapes/bullet.d.cts +6 -0
- package/dist/charts/engine/shapes/bullet.d.ts +6 -0
- package/dist/charts/engine/shapes/bullet.js +255 -0
- package/dist/charts/engine/shapes/bullet.js.map +1 -0
- package/dist/charts/engine/shapes/calendar.cjs +2 -0
- package/dist/charts/engine/shapes/calendar.cjs.map +1 -0
- package/dist/charts/engine/shapes/calendar.d.cts +38 -0
- package/dist/charts/engine/shapes/calendar.d.ts +38 -0
- package/dist/charts/engine/shapes/calendar.js +369 -0
- package/dist/charts/engine/shapes/calendar.js.map +1 -0
- package/dist/charts/engine/shapes/canvas.cjs +2 -0
- package/dist/charts/engine/shapes/canvas.cjs.map +1 -0
- package/dist/charts/engine/shapes/canvas.d.cts +65 -0
- package/dist/charts/engine/shapes/canvas.d.ts +65 -0
- package/dist/charts/engine/shapes/canvas.js +168 -0
- package/dist/charts/engine/shapes/canvas.js.map +1 -0
- package/dist/charts/engine/shapes/chart.cjs +2 -0
- package/dist/charts/engine/shapes/chart.cjs.map +1 -0
- package/dist/charts/engine/shapes/chart.d.cts +7 -0
- package/dist/charts/engine/shapes/chart.d.ts +7 -0
- package/dist/charts/engine/shapes/chart.js +292 -0
- package/dist/charts/engine/shapes/chart.js.map +1 -0
- package/dist/charts/engine/shapes/draw.cjs +2 -0
- package/dist/charts/engine/shapes/draw.cjs.map +1 -0
- package/dist/charts/engine/shapes/draw.d.cts +22 -0
- package/dist/charts/engine/shapes/draw.d.ts +22 -0
- package/dist/charts/engine/shapes/draw.js +165 -0
- package/dist/charts/engine/shapes/draw.js.map +1 -0
- package/dist/charts/engine/shapes/funnel.cjs +2 -0
- package/dist/charts/engine/shapes/funnel.cjs.map +1 -0
- package/dist/charts/engine/shapes/funnel.d.cts +6 -0
- package/dist/charts/engine/shapes/funnel.d.ts +6 -0
- package/dist/charts/engine/shapes/funnel.js +149 -0
- package/dist/charts/engine/shapes/funnel.js.map +1 -0
- package/dist/charts/engine/shapes/gauge.cjs +2 -0
- package/dist/charts/engine/shapes/gauge.cjs.map +1 -0
- package/dist/charts/engine/shapes/gauge.d.cts +7 -0
- package/dist/charts/engine/shapes/gauge.d.ts +7 -0
- package/dist/charts/engine/shapes/gauge.js +210 -0
- package/dist/charts/engine/shapes/gauge.js.map +1 -0
- package/dist/charts/engine/shapes/hit.cjs +2 -0
- package/dist/charts/engine/shapes/hit.cjs.map +1 -0
- package/dist/charts/engine/shapes/hit.d.cts +30 -0
- package/dist/charts/engine/shapes/hit.d.ts +30 -0
- package/dist/charts/engine/shapes/hit.js +145 -0
- package/dist/charts/engine/shapes/hit.js.map +1 -0
- package/dist/charts/engine/shapes/index.d.cts +12 -0
- package/dist/charts/engine/shapes/index.d.ts +12 -0
- package/dist/charts/engine/shapes/labels.cjs +2 -0
- package/dist/charts/engine/shapes/labels.cjs.map +1 -0
- package/dist/charts/engine/shapes/labels.d.cts +14 -0
- package/dist/charts/engine/shapes/labels.d.ts +14 -0
- package/dist/charts/engine/shapes/labels.js +146 -0
- package/dist/charts/engine/shapes/labels.js.map +1 -0
- package/dist/charts/engine/shapes/layout.cjs +3 -0
- package/dist/charts/engine/shapes/layout.cjs.map +1 -0
- package/dist/charts/engine/shapes/layout.d.cts +93 -0
- package/dist/charts/engine/shapes/layout.d.ts +93 -0
- package/dist/charts/engine/shapes/layout.js +353 -0
- package/dist/charts/engine/shapes/layout.js.map +1 -0
- package/dist/charts/engine/shapes/pie.cjs +2 -0
- package/dist/charts/engine/shapes/pie.cjs.map +1 -0
- package/dist/charts/engine/shapes/pie.d.cts +20 -0
- package/dist/charts/engine/shapes/pie.d.ts +20 -0
- package/dist/charts/engine/shapes/pie.js +302 -0
- package/dist/charts/engine/shapes/pie.js.map +1 -0
- package/dist/charts/engine/shapes/radar.cjs +2 -0
- package/dist/charts/engine/shapes/radar.cjs.map +1 -0
- package/dist/charts/engine/shapes/radar.d.cts +8 -0
- package/dist/charts/engine/shapes/radar.d.ts +8 -0
- package/dist/charts/engine/shapes/radar.js +198 -0
- package/dist/charts/engine/shapes/radar.js.map +1 -0
- package/dist/charts/engine/shapes/radialBar.cjs +2 -0
- package/dist/charts/engine/shapes/radialBar.cjs.map +1 -0
- package/dist/charts/engine/shapes/radialBar.d.cts +8 -0
- package/dist/charts/engine/shapes/radialBar.d.ts +8 -0
- package/dist/charts/engine/shapes/radialBar.js +155 -0
- package/dist/charts/engine/shapes/radialBar.js.map +1 -0
- package/dist/charts/engine/shapes/runtime.cjs +2 -0
- package/dist/charts/engine/shapes/runtime.cjs.map +1 -0
- package/dist/charts/engine/shapes/runtime.d.cts +36 -0
- package/dist/charts/engine/shapes/runtime.d.ts +36 -0
- package/dist/charts/engine/shapes/runtime.js +107 -0
- package/dist/charts/engine/shapes/runtime.js.map +1 -0
- package/dist/charts/engine/shapes/sankey.cjs +2 -0
- package/dist/charts/engine/shapes/sankey.cjs.map +1 -0
- package/dist/charts/engine/shapes/sankey.d.cts +29 -0
- package/dist/charts/engine/shapes/sankey.d.ts +29 -0
- package/dist/charts/engine/shapes/sankey.js +372 -0
- package/dist/charts/engine/shapes/sankey.js.map +1 -0
- package/dist/charts/engine/shapes/scene.cjs +2 -0
- package/dist/charts/engine/shapes/scene.cjs.map +1 -0
- package/dist/charts/engine/shapes/scene.d.cts +311 -0
- package/dist/charts/engine/shapes/scene.d.ts +311 -0
- package/dist/charts/engine/shapes/scene.js +125 -0
- package/dist/charts/engine/shapes/scene.js.map +1 -0
- package/dist/charts/engine/shapes/sunburst.cjs +2 -0
- package/dist/charts/engine/shapes/sunburst.cjs.map +1 -0
- package/dist/charts/engine/shapes/sunburst.d.cts +6 -0
- package/dist/charts/engine/shapes/sunburst.d.ts +6 -0
- package/dist/charts/engine/shapes/sunburst.js +261 -0
- package/dist/charts/engine/shapes/sunburst.js.map +1 -0
- package/dist/charts/engine/shapes/treemap.cjs +2 -0
- package/dist/charts/engine/shapes/treemap.cjs.map +1 -0
- package/dist/charts/engine/shapes/treemap.d.cts +14 -0
- package/dist/charts/engine/shapes/treemap.d.ts +14 -0
- package/dist/charts/engine/shapes/treemap.js +213 -0
- package/dist/charts/engine/shapes/treemap.js.map +1 -0
- package/dist/charts/engine/shapes/types.d.cts +719 -0
- package/dist/charts/engine/shapes/types.d.ts +719 -0
- package/dist/charts/engine/signature.cjs +2 -0
- package/dist/charts/engine/signature.cjs.map +1 -0
- package/dist/charts/engine/signature.d.cts +9 -0
- package/dist/charts/engine/signature.d.ts +9 -0
- package/dist/charts/engine/signature.js +13 -0
- package/dist/charts/engine/signature.js.map +1 -0
- package/dist/charts/engine/theme.cjs +1 -1
- package/dist/charts/engine/theme.cjs.map +1 -1
- package/dist/charts/engine/theme.d.cts +10 -1
- package/dist/charts/engine/theme.d.ts +10 -1
- package/dist/charts/engine/theme.js +40 -16
- package/dist/charts/engine/theme.js.map +1 -1
- package/dist/charts/engine/three-d/canvas2d.cjs +2 -0
- package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -0
- package/dist/charts/engine/three-d/canvas2d.d.cts +4 -0
- package/dist/charts/engine/three-d/canvas2d.d.ts +4 -0
- package/dist/charts/engine/three-d/canvas2d.js +104 -0
- package/dist/charts/engine/three-d/canvas2d.js.map +1 -0
- package/dist/charts/engine/three-d/chart.cjs +2 -0
- package/dist/charts/engine/three-d/chart.cjs.map +1 -0
- package/dist/charts/engine/three-d/chart.d.cts +15 -0
- package/dist/charts/engine/three-d/chart.d.ts +15 -0
- package/dist/charts/engine/three-d/chart.js +621 -0
- package/dist/charts/engine/three-d/chart.js.map +1 -0
- package/dist/charts/engine/three-d/colormap.cjs +2 -0
- package/dist/charts/engine/three-d/colormap.cjs.map +1 -0
- package/dist/charts/engine/three-d/colormap.d.cts +16 -0
- package/dist/charts/engine/three-d/colormap.d.ts +16 -0
- package/dist/charts/engine/three-d/colormap.js +166 -0
- package/dist/charts/engine/three-d/colormap.js.map +1 -0
- package/dist/charts/engine/three-d/contours.cjs +2 -0
- package/dist/charts/engine/three-d/contours.cjs.map +1 -0
- package/dist/charts/engine/three-d/contours.d.cts +7 -0
- package/dist/charts/engine/three-d/contours.d.ts +7 -0
- package/dist/charts/engine/three-d/contours.js +47 -0
- package/dist/charts/engine/three-d/contours.js.map +1 -0
- package/dist/charts/engine/three-d/detect.cjs +2 -0
- package/dist/charts/engine/three-d/detect.cjs.map +1 -0
- package/dist/charts/engine/three-d/detect.d.cts +11 -0
- package/dist/charts/engine/three-d/detect.d.ts +11 -0
- package/dist/charts/engine/three-d/detect.js +35 -0
- package/dist/charts/engine/three-d/detect.js.map +1 -0
- package/dist/charts/engine/three-d/dom.cjs +2 -0
- package/dist/charts/engine/three-d/dom.cjs.map +1 -0
- package/dist/charts/engine/three-d/dom.d.cts +21 -0
- package/dist/charts/engine/three-d/dom.d.ts +21 -0
- package/dist/charts/engine/three-d/dom.js +98 -0
- package/dist/charts/engine/three-d/dom.js.map +1 -0
- package/dist/charts/engine/three-d/geometry.cjs +2 -0
- package/dist/charts/engine/three-d/geometry.cjs.map +1 -0
- package/dist/charts/engine/three-d/geometry.d.cts +76 -0
- package/dist/charts/engine/three-d/geometry.d.ts +76 -0
- package/dist/charts/engine/three-d/geometry.js +529 -0
- package/dist/charts/engine/three-d/geometry.js.map +1 -0
- package/dist/charts/engine/three-d/hover.cjs +2 -0
- package/dist/charts/engine/three-d/hover.cjs.map +1 -0
- package/dist/charts/engine/three-d/hover.d.cts +25 -0
- package/dist/charts/engine/three-d/hover.d.ts +25 -0
- package/dist/charts/engine/three-d/hover.js +131 -0
- package/dist/charts/engine/three-d/hover.js.map +1 -0
- package/dist/charts/engine/three-d/index.cjs +1 -0
- package/dist/charts/engine/three-d/index.d.cts +2 -0
- package/dist/charts/engine/three-d/index.d.ts +2 -0
- package/dist/charts/engine/three-d/index.js +2 -0
- package/dist/charts/engine/three-d/labels.cjs +2 -0
- package/dist/charts/engine/three-d/labels.cjs.map +1 -0
- package/dist/charts/engine/three-d/labels.d.cts +23 -0
- package/dist/charts/engine/three-d/labels.d.ts +23 -0
- package/dist/charts/engine/three-d/labels.js +136 -0
- package/dist/charts/engine/three-d/labels.js.map +1 -0
- package/dist/charts/engine/three-d/math.cjs +2 -0
- package/dist/charts/engine/three-d/math.cjs.map +1 -0
- package/dist/charts/engine/three-d/math.d.cts +84 -0
- package/dist/charts/engine/three-d/math.d.ts +84 -0
- package/dist/charts/engine/three-d/math.js +150 -0
- package/dist/charts/engine/three-d/math.js.map +1 -0
- package/dist/charts/engine/three-d/model.cjs +2 -0
- package/dist/charts/engine/three-d/model.cjs.map +1 -0
- package/dist/charts/engine/three-d/model.d.cts +130 -0
- package/dist/charts/engine/three-d/model.d.ts +130 -0
- package/dist/charts/engine/three-d/model.js +277 -0
- package/dist/charts/engine/three-d/model.js.map +1 -0
- package/dist/charts/engine/three-d/overlay.cjs +2 -0
- package/dist/charts/engine/three-d/overlay.cjs.map +1 -0
- package/dist/charts/engine/three-d/overlay.d.cts +72 -0
- package/dist/charts/engine/three-d/overlay.d.ts +72 -0
- package/dist/charts/engine/three-d/overlay.js +197 -0
- package/dist/charts/engine/three-d/overlay.js.map +1 -0
- package/dist/charts/engine/three-d/pick.cjs +2 -0
- package/dist/charts/engine/three-d/pick.cjs.map +1 -0
- package/dist/charts/engine/three-d/pick.d.cts +52 -0
- package/dist/charts/engine/three-d/pick.d.ts +52 -0
- package/dist/charts/engine/three-d/pick.js +220 -0
- package/dist/charts/engine/three-d/pick.js.map +1 -0
- package/dist/charts/engine/three-d/render-types.cjs +2 -0
- package/dist/charts/engine/three-d/render-types.cjs.map +1 -0
- package/dist/charts/engine/three-d/render-types.d.cts +82 -0
- package/dist/charts/engine/three-d/render-types.d.ts +82 -0
- package/dist/charts/engine/three-d/render-types.js +13 -0
- package/dist/charts/engine/three-d/render-types.js.map +1 -0
- package/dist/charts/engine/three-d/shaders.cjs +276 -0
- package/dist/charts/engine/three-d/shaders.cjs.map +1 -0
- package/dist/charts/engine/three-d/shaders.d.cts +26 -0
- package/dist/charts/engine/three-d/shaders.d.ts +26 -0
- package/dist/charts/engine/three-d/shaders.js +191 -0
- package/dist/charts/engine/three-d/shaders.js.map +1 -0
- package/dist/charts/engine/three-d/sort.cjs +2 -0
- package/dist/charts/engine/three-d/sort.cjs.map +1 -0
- package/dist/charts/engine/three-d/sort.d.cts +18 -0
- package/dist/charts/engine/three-d/sort.d.ts +18 -0
- package/dist/charts/engine/three-d/sort.js +71 -0
- package/dist/charts/engine/three-d/sort.js.map +1 -0
- package/dist/charts/engine/three-d/types.d.cts +588 -0
- package/dist/charts/engine/three-d/types.d.ts +588 -0
- package/dist/charts/engine/three-d/webgl.cjs +2 -0
- package/dist/charts/engine/three-d/webgl.cjs.map +1 -0
- package/dist/charts/engine/three-d/webgl.d.cts +10 -0
- package/dist/charts/engine/three-d/webgl.d.ts +10 -0
- package/dist/charts/engine/three-d/webgl.js +130 -0
- package/dist/charts/engine/three-d/webgl.js.map +1 -0
- package/dist/charts/engine/three-d/webgpu.cjs +2 -0
- package/dist/charts/engine/three-d/webgpu.cjs.map +1 -0
- package/dist/charts/engine/three-d/webgpu.d.cts +5 -0
- package/dist/charts/engine/three-d/webgpu.d.ts +5 -0
- package/dist/charts/engine/three-d/webgpu.js +249 -0
- package/dist/charts/engine/three-d/webgpu.js.map +1 -0
- package/dist/charts/engine/time.cjs +1 -1
- package/dist/charts/engine/time.cjs.map +1 -1
- package/dist/charts/engine/time.d.cts +13 -4
- package/dist/charts/engine/time.d.ts +13 -4
- package/dist/charts/engine/time.js +156 -91
- package/dist/charts/engine/time.js.map +1 -1
- package/dist/charts/engine/trading/chart.cjs +2 -0
- package/dist/charts/engine/trading/chart.cjs.map +1 -0
- package/dist/charts/engine/trading/chart.d.cts +3 -0
- package/dist/charts/engine/trading/chart.d.ts +3 -0
- package/dist/charts/engine/trading/chart.js +1507 -0
- package/dist/charts/engine/trading/chart.js.map +1 -0
- package/dist/charts/engine/trading/drawings.cjs +2 -0
- package/dist/charts/engine/trading/drawings.cjs.map +1 -0
- package/dist/charts/engine/trading/drawings.d.cts +57 -0
- package/dist/charts/engine/trading/drawings.d.ts +57 -0
- package/dist/charts/engine/trading/drawings.js +160 -0
- package/dist/charts/engine/trading/drawings.js.map +1 -0
- package/dist/charts/engine/trading/format.cjs +2 -0
- package/dist/charts/engine/trading/format.cjs.map +1 -0
- package/dist/charts/engine/trading/format.d.cts +60 -0
- package/dist/charts/engine/trading/format.d.ts +60 -0
- package/dist/charts/engine/trading/format.js +131 -0
- package/dist/charts/engine/trading/format.js.map +1 -0
- package/dist/charts/engine/trading/geometry.cjs +2 -0
- package/dist/charts/engine/trading/geometry.cjs.map +1 -0
- package/dist/charts/engine/trading/geometry.d.cts +55 -0
- package/dist/charts/engine/trading/geometry.d.ts +55 -0
- package/dist/charts/engine/trading/geometry.js +131 -0
- package/dist/charts/engine/trading/geometry.js.map +1 -0
- package/dist/charts/engine/trading/index.cjs +1 -0
- package/dist/charts/engine/trading/index.d.cts +3 -0
- package/dist/charts/engine/trading/index.d.ts +3 -0
- package/dist/charts/engine/trading/index.js +3 -0
- package/dist/charts/engine/trading/indicators.cjs +2 -0
- package/dist/charts/engine/trading/indicators.cjs.map +1 -0
- package/dist/charts/engine/trading/indicators.d.cts +105 -0
- package/dist/charts/engine/trading/indicators.d.ts +105 -0
- package/dist/charts/engine/trading/indicators.js +268 -0
- package/dist/charts/engine/trading/indicators.js.map +1 -0
- package/dist/charts/engine/trading/labels.cjs +2 -0
- package/dist/charts/engine/trading/labels.cjs.map +1 -0
- package/dist/charts/engine/trading/labels.d.cts +7 -0
- package/dist/charts/engine/trading/labels.d.ts +7 -0
- package/dist/charts/engine/trading/labels.js +91 -0
- package/dist/charts/engine/trading/labels.js.map +1 -0
- package/dist/charts/engine/trading/scale.cjs +2 -0
- package/dist/charts/engine/trading/scale.cjs.map +1 -0
- package/dist/charts/engine/trading/scale.d.cts +46 -0
- package/dist/charts/engine/trading/scale.d.ts +46 -0
- package/dist/charts/engine/trading/scale.js +100 -0
- package/dist/charts/engine/trading/scale.js.map +1 -0
- package/dist/charts/engine/trading/store.cjs +2 -0
- package/dist/charts/engine/trading/store.cjs.map +1 -0
- package/dist/charts/engine/trading/store.d.cts +62 -0
- package/dist/charts/engine/trading/store.d.ts +62 -0
- package/dist/charts/engine/trading/store.js +129 -0
- package/dist/charts/engine/trading/store.js.map +1 -0
- package/dist/charts/engine/trading/studies.cjs +2 -0
- package/dist/charts/engine/trading/studies.cjs.map +1 -0
- package/dist/charts/engine/trading/studies.d.cts +52 -0
- package/dist/charts/engine/trading/studies.d.ts +52 -0
- package/dist/charts/engine/trading/studies.js +254 -0
- package/dist/charts/engine/trading/studies.js.map +1 -0
- package/dist/charts/engine/trading/types.d.cts +656 -0
- package/dist/charts/engine/trading/types.d.ts +656 -0
- package/dist/charts/engine/types.d.cts +227 -15
- package/dist/charts/engine/types.d.ts +227 -15
- package/dist/charts/index.cjs +1 -1
- package/dist/charts/index.d.cts +7 -2
- package/dist/charts/index.d.ts +7 -2
- package/dist/charts/index.js +22 -8
- package/dist/charts/react/Chart.cjs +1 -1
- package/dist/charts/react/Chart.cjs.map +1 -1
- package/dist/charts/react/Chart.d.cts +11 -4
- package/dist/charts/react/Chart.d.ts +11 -4
- package/dist/charts/react/Chart.js +70 -47
- package/dist/charts/react/Chart.js.map +1 -1
- package/dist/charts/react/charts.cjs +1 -1
- package/dist/charts/react/charts.cjs.map +1 -1
- package/dist/charts/react/charts.d.cts +48 -2
- package/dist/charts/react/charts.d.ts +48 -2
- package/dist/charts/react/charts.js +371 -76
- package/dist/charts/react/charts.js.map +1 -1
- package/dist/charts/react/orderbook.cjs +2 -0
- package/dist/charts/react/orderbook.cjs.map +1 -0
- package/dist/charts/react/orderbook.d.cts +142 -0
- package/dist/charts/react/orderbook.d.ts +142 -0
- package/dist/charts/react/orderbook.js +182 -0
- package/dist/charts/react/orderbook.js.map +1 -0
- package/dist/charts/react/shapes.cjs +2 -0
- package/dist/charts/react/shapes.cjs.map +1 -0
- package/dist/charts/react/shapes.d.cts +537 -0
- package/dist/charts/react/shapes.d.ts +537 -0
- package/dist/charts/react/shapes.js +429 -0
- package/dist/charts/react/shapes.js.map +1 -0
- package/dist/charts/react/three-d.cjs +2 -0
- package/dist/charts/react/three-d.cjs.map +1 -0
- package/dist/charts/react/three-d.d.cts +151 -0
- package/dist/charts/react/three-d.d.ts +151 -0
- package/dist/charts/react/three-d.js +154 -0
- package/dist/charts/react/three-d.js.map +1 -0
- package/dist/charts/react/trading.cjs +2 -0
- package/dist/charts/react/trading.cjs.map +1 -0
- package/dist/charts/react/trading.d.cts +93 -0
- package/dist/charts/react/trading.d.ts +93 -0
- package/dist/charts/react/trading.js +95 -0
- package/dist/charts/react/trading.js.map +1 -0
- package/dist/charts/react/types.d.cts +200 -7
- package/dist/charts/react/types.d.ts +200 -7
- package/dist/core/contracts.cjs +1 -1
- package/dist/core/contracts.cjs.map +1 -1
- package/dist/core/contracts.js +1 -1
- package/dist/core/contracts.js.map +1 -1
- package/dist/native/charts/src/canvas.cjs +1 -1
- package/dist/native/charts/src/canvas.js +9 -3
- package/dist/native/charts/src/engine/axis.cjs +1 -1
- package/dist/native/charts/src/engine/axis.cjs.map +1 -1
- package/dist/native/charts/src/engine/axis.js +6 -6
- package/dist/native/charts/src/engine/axis.js.map +1 -1
- package/dist/native/charts/src/engine/color.cjs +1 -1
- package/dist/native/charts/src/engine/color.cjs.map +1 -1
- package/dist/native/charts/src/engine/color.js +12 -3
- package/dist/native/charts/src/engine/color.js.map +1 -1
- package/dist/native/charts/src/engine/controller.cjs +2 -2
- package/dist/native/charts/src/engine/controller.cjs.map +1 -1
- package/dist/native/charts/src/engine/controller.js +418 -294
- package/dist/native/charts/src/engine/controller.js.map +1 -1
- package/dist/native/charts/src/engine/curve.cjs +2 -0
- package/dist/native/charts/src/engine/curve.cjs.map +1 -0
- package/dist/native/charts/src/engine/curve.js +56 -0
- package/dist/native/charts/src/engine/curve.js.map +1 -0
- package/dist/native/charts/src/engine/data.cjs +1 -1
- package/dist/native/charts/src/engine/data.cjs.map +1 -1
- package/dist/native/charts/src/engine/data.js +117 -43
- package/dist/native/charts/src/engine/data.js.map +1 -1
- package/dist/native/charts/src/engine/format.cjs +1 -1
- package/dist/native/charts/src/engine/format.cjs.map +1 -1
- package/dist/native/charts/src/engine/format.js +46 -21
- package/dist/native/charts/src/engine/format.js.map +1 -1
- package/dist/native/charts/src/engine/labels.cjs +2 -0
- package/dist/native/charts/src/engine/labels.cjs.map +1 -0
- package/dist/native/charts/src/engine/labels.js +74 -0
- package/dist/native/charts/src/engine/labels.js.map +1 -0
- package/dist/native/charts/src/engine/layout.cjs +1 -1
- package/dist/native/charts/src/engine/layout.cjs.map +1 -1
- package/dist/native/charts/src/engine/layout.js +53 -12
- package/dist/native/charts/src/engine/layout.js.map +1 -1
- package/dist/native/charts/src/engine/locale.cjs +2 -0
- package/dist/native/charts/src/engine/locale.cjs.map +1 -0
- package/dist/native/charts/src/engine/locale.js +60 -0
- package/dist/native/charts/src/engine/locale.js.map +1 -0
- package/dist/native/charts/src/engine/model.cjs +1 -1
- package/dist/native/charts/src/engine/model.cjs.map +1 -1
- package/dist/native/charts/src/engine/model.js +335 -111
- package/dist/native/charts/src/engine/model.js.map +1 -1
- package/dist/native/charts/src/engine/overlay.cjs +1 -1
- package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
- package/dist/native/charts/src/engine/overlay.js +54 -31
- package/dist/native/charts/src/engine/overlay.js.map +1 -1
- package/dist/native/charts/src/engine/presets.cjs +2 -2
- package/dist/native/charts/src/engine/presets.cjs.map +1 -1
- package/dist/native/charts/src/engine/presets.js +456 -34
- package/dist/native/charts/src/engine/presets.js.map +1 -1
- package/dist/native/charts/src/engine/scale.cjs +1 -1
- package/dist/native/charts/src/engine/scale.cjs.map +1 -1
- package/dist/native/charts/src/engine/scale.js +1 -1
- package/dist/native/charts/src/engine/scale.js.map +1 -1
- package/dist/native/charts/src/engine/scene.cjs +1 -1
- package/dist/native/charts/src/engine/scene.cjs.map +1 -1
- package/dist/native/charts/src/engine/scene.js +369 -128
- package/dist/native/charts/src/engine/scene.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/bullet.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/bullet.js +255 -0
- package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/calendar.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/calendar.js +364 -0
- package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/canvas.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/canvas.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/canvas.js +168 -0
- package/dist/native/charts/src/engine/shapes/canvas.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/draw.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/draw.js +165 -0
- package/dist/native/charts/src/engine/shapes/draw.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/funnel.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/funnel.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/funnel.js +149 -0
- package/dist/native/charts/src/engine/shapes/funnel.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/gauge.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/gauge.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/gauge.js +210 -0
- package/dist/native/charts/src/engine/shapes/gauge.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/hit.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/hit.js +106 -0
- package/dist/native/charts/src/engine/shapes/hit.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/labels.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/labels.js +146 -0
- package/dist/native/charts/src/engine/shapes/labels.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/layout.cjs +3 -0
- package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/layout.js +331 -0
- package/dist/native/charts/src/engine/shapes/layout.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/pie.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/pie.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/pie.js +302 -0
- package/dist/native/charts/src/engine/shapes/pie.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/radar.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/radar.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/radar.js +198 -0
- package/dist/native/charts/src/engine/shapes/radar.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/radialBar.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/radialBar.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/radialBar.js +155 -0
- package/dist/native/charts/src/engine/shapes/radialBar.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/runtime.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/runtime.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/runtime.js +107 -0
- package/dist/native/charts/src/engine/shapes/runtime.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/sankey.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/sankey.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/sankey.js +372 -0
- package/dist/native/charts/src/engine/shapes/sankey.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/scene.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/scene.js +125 -0
- package/dist/native/charts/src/engine/shapes/scene.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/sunburst.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/sunburst.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/sunburst.js +261 -0
- package/dist/native/charts/src/engine/shapes/sunburst.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/treemap.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/treemap.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/treemap.js +213 -0
- package/dist/native/charts/src/engine/shapes/treemap.js.map +1 -0
- package/dist/native/charts/src/engine/theme.cjs.map +1 -1
- package/dist/native/charts/src/engine/theme.js.map +1 -1
- package/dist/native/charts/src/engine/time.cjs +1 -1
- package/dist/native/charts/src/engine/time.cjs.map +1 -1
- package/dist/native/charts/src/engine/time.js +156 -91
- package/dist/native/charts/src/engine/time.js.map +1 -1
- package/dist/native/components/Chart/ChartBase.cjs +1 -1
- package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
- package/dist/native/components/Chart/ChartBase.d.cts +1 -1
- package/dist/native/components/Chart/ChartBase.d.ts +1 -1
- package/dist/native/components/Chart/ChartBase.js +110 -107
- package/dist/native/components/Chart/ChartBase.js.map +1 -1
- package/dist/native/components/Chart/charts.cjs +1 -1
- package/dist/native/components/Chart/charts.cjs.map +1 -1
- package/dist/native/components/Chart/charts.d.cts +6 -1
- package/dist/native/components/Chart/charts.d.ts +6 -1
- package/dist/native/components/Chart/charts.js +53 -29
- package/dist/native/components/Chart/charts.js.map +1 -1
- package/dist/native/components/Chart/index.cjs +1 -1
- package/dist/native/components/Chart/index.d.cts +1 -1
- package/dist/native/components/Chart/index.d.ts +1 -1
- package/dist/native/components/Chart/index.js +2 -2
- package/dist/native/components/Chart/scene.cjs +1 -1
- package/dist/native/components/Chart/scene.cjs.map +1 -1
- package/dist/native/components/Chart/scene.js +244 -215
- package/dist/native/components/Chart/scene.js.map +1 -1
- package/dist/native/components/Chart/types.d.cts +26 -3
- package/dist/native/components/Chart/types.d.ts +26 -3
- package/dist/native/components/Charts/charts.cjs +2 -0
- package/dist/native/components/Charts/charts.cjs.map +1 -0
- package/dist/native/components/Charts/charts.d.cts +41 -0
- package/dist/native/components/Charts/charts.d.ts +41 -0
- package/dist/native/components/Charts/charts.js +338 -0
- package/dist/native/components/Charts/charts.js.map +1 -0
- package/dist/native/components/Charts/index.cjs +1 -0
- package/dist/native/components/Charts/index.d.cts +2 -0
- package/dist/native/components/Charts/index.d.ts +2 -0
- package/dist/native/components/Charts/index.js +2 -0
- package/dist/native/components/Charts/types.d.cts +144 -0
- package/dist/native/components/Charts/types.d.ts +144 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.cjs +2 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +24 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +24 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.js +271 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -0
- package/dist/native/components/ShapeChart/charts.cjs +2 -0
- package/dist/native/components/ShapeChart/charts.cjs.map +1 -0
- package/dist/native/components/ShapeChart/charts.d.cts +38 -0
- package/dist/native/components/ShapeChart/charts.d.ts +38 -0
- package/dist/native/components/ShapeChart/charts.js +387 -0
- package/dist/native/components/ShapeChart/charts.js.map +1 -0
- package/dist/native/components/ShapeChart/draw.cjs +2 -0
- package/dist/native/components/ShapeChart/draw.cjs.map +1 -0
- package/dist/native/components/ShapeChart/draw.d.cts +4 -0
- package/dist/native/components/ShapeChart/draw.d.ts +4 -0
- package/dist/native/components/ShapeChart/draw.js +104 -0
- package/dist/native/components/ShapeChart/draw.js.map +1 -0
- package/dist/native/components/ShapeChart/geometry.cjs +2 -0
- package/dist/native/components/ShapeChart/geometry.cjs.map +1 -0
- package/dist/native/components/ShapeChart/geometry.d.cts +71 -0
- package/dist/native/components/ShapeChart/geometry.d.ts +71 -0
- package/dist/native/components/ShapeChart/geometry.js +602 -0
- package/dist/native/components/ShapeChart/geometry.js.map +1 -0
- package/dist/native/components/ShapeChart/index.cjs +1 -0
- package/dist/native/components/ShapeChart/index.d.cts +2 -0
- package/dist/native/components/ShapeChart/index.d.ts +2 -0
- package/dist/native/components/ShapeChart/index.js +2 -0
- package/dist/native/components/ShapeChart/recorder.cjs +2 -0
- package/dist/native/components/ShapeChart/recorder.cjs.map +1 -0
- package/dist/native/components/ShapeChart/recorder.d.cts +106 -0
- package/dist/native/components/ShapeChart/recorder.d.ts +106 -0
- package/dist/native/components/ShapeChart/recorder.js +574 -0
- package/dist/native/components/ShapeChart/recorder.js.map +1 -0
- package/dist/native/components/ShapeChart/types.d.cts +509 -0
- package/dist/native/components/ShapeChart/types.d.ts +509 -0
- package/dist/native/index.cjs +1 -1
- package/dist/native/index.d.cts +2 -0
- package/dist/native/index.d.ts +2 -0
- package/dist/native/index.js +14 -10
- package/dist/native/manifest.d.cts +6 -4
- package/dist/native/manifest.d.ts +6 -4
- package/dist/native/source/components/Chart/ChartBase.tsx +8 -1
- package/dist/native/source/components/Chart/charts.tsx +42 -6
- package/dist/native/source/components/Chart/index.ts +1 -0
- package/dist/native/source/components/Chart/scene.tsx +204 -100
- package/dist/native/source/components/Chart/types.ts +31 -1
- package/dist/native/source/components/Charts/charts.tsx +493 -0
- package/dist/native/source/components/Charts/index.ts +14 -0
- package/dist/native/source/components/Charts/types.ts +207 -0
- package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +484 -0
- package/dist/native/source/components/ShapeChart/charts.tsx +605 -0
- package/dist/native/source/components/ShapeChart/draw.tsx +170 -0
- package/dist/native/source/components/ShapeChart/geometry.ts +1185 -0
- package/dist/native/source/components/ShapeChart/index.ts +15 -0
- package/dist/native/source/components/ShapeChart/recorder.ts +830 -0
- package/dist/native/source/components/ShapeChart/types.ts +564 -0
- package/dist/native/source/index.ts +2 -0
- package/dist/native/source/manifest.ts +30 -4
- package/dist/taro/charts.d.ts +209 -4
- package/dist/taro/index.d.ts +1 -0
- package/dist/taro/index.js +8032 -1891
- package/dist/taro/manifest.d.ts +1 -0
- package/dist/taro/shape-charts.d.ts +537 -0
- package/dist/uni/AreaChart.vue +68 -0
- package/dist/uni/AreaChart.vue.d.ts +120 -0
- package/dist/uni/Badge.vue.d.ts +1 -1
- package/dist/uni/BoxPlotChart.vue +66 -0
- package/dist/uni/BoxPlotChart.vue.d.ts +102 -0
- package/dist/uni/BubbleChart.vue +68 -0
- package/dist/uni/BubbleChart.vue.d.ts +106 -0
- package/dist/uni/BulletChart.vue +86 -0
- package/dist/uni/BulletChart.vue.d.ts +110 -0
- package/dist/uni/CalendarHeatmap.vue +92 -0
- package/dist/uni/CalendarHeatmap.vue.d.ts +129 -0
- package/dist/uni/CandlestickChart.vue +66 -0
- package/dist/uni/CandlestickChart.vue.d.ts +100 -0
- package/dist/uni/DonutChart.vue +72 -0
- package/dist/uni/DonutChart.vue.d.ts +114 -0
- package/dist/uni/FunnelChart.vue +67 -0
- package/dist/uni/FunnelChart.vue.d.ts +104 -0
- package/dist/uni/GanttChart.vue +67 -0
- package/dist/uni/GanttChart.vue.d.ts +123 -0
- package/dist/uni/GaugeChart.vue +77 -0
- package/dist/uni/GaugeChart.vue.d.ts +123 -0
- package/dist/uni/HeatmapChart.vue +66 -0
- package/dist/uni/HeatmapChart.vue.d.ts +114 -0
- package/dist/uni/HistogramChart.vue +66 -0
- package/dist/uni/HistogramChart.vue.d.ts +121 -0
- package/dist/uni/HorizontalBarChart.vue +68 -0
- package/dist/uni/HorizontalBarChart.vue.d.ts +127 -0
- package/dist/uni/Input.vue.d.ts +1 -1
- package/dist/uni/MixedChart.vue +68 -0
- package/dist/uni/MixedChart.vue.d.ts +106 -0
- package/dist/uni/NumberInput.vue.d.ts +1 -1
- package/dist/uni/PieChart.vue +72 -0
- package/dist/uni/PieChart.vue.d.ts +114 -0
- package/dist/uni/RadarChart.vue +67 -0
- package/dist/uni/RadarChart.vue.d.ts +110 -0
- package/dist/uni/RadialBarChart.vue +90 -0
- package/dist/uni/RadialBarChart.vue.d.ts +132 -0
- package/dist/uni/RangeAreaChart.vue +68 -0
- package/dist/uni/RangeAreaChart.vue.d.ts +102 -0
- package/dist/uni/ResponsiveGrid.vue.d.ts +1 -1
- package/dist/uni/SankeyChart.vue +88 -0
- package/dist/uni/SankeyChart.vue.d.ts +121 -0
- package/dist/uni/ShapeChart.vue +73 -0
- package/dist/uni/ShapeChart.vue.d.ts +54 -0
- package/dist/uni/Sparkline.vue +58 -0
- package/dist/uni/Sparkline.vue.d.ts +77 -0
- package/dist/uni/SunburstChart.vue +90 -0
- package/dist/uni/SunburstChart.vue.d.ts +114 -0
- package/dist/uni/Textarea.vue.d.ts +1 -1
- package/dist/uni/TimePicker.vue.d.ts +1 -1
- package/dist/uni/TreemapChart.vue +65 -0
- package/dist/uni/TreemapChart.vue.d.ts +100 -0
- package/dist/uni/WaterfallChart.vue +66 -0
- package/dist/uni/WaterfallChart.vue.d.ts +125 -0
- package/dist/uni/chart-types.d.ts +216 -2
- package/dist/uni/chart-types.js +174 -0
- package/dist/uni/charts-canvas.js +10 -3
- package/dist/uni/index.d.ts +26 -1
- package/dist/uni/index.js +26 -1
- package/dist/uni/manifest.d.ts +272 -0
- package/dist/uni/manifest.js +387 -0
- package/dist/uni/named-chart-options.d.ts +88 -0
- package/dist/uni/named-chart-options.js +156 -0
- package/dist/uni/shape-chart-canvas.d.ts +51 -0
- package/dist/uni/shape-chart-canvas.js +342 -0
- package/dist/uni/shape-chart-types.d.ts +381 -0
- package/dist/uni/shape-chart-types.js +261 -0
- package/dist/vue/components/Chart/AreaChart.vue.d.ts +124 -0
- package/dist/vue/components/Chart/AreaChart.vue.js +7 -0
- package/dist/vue/components/Chart/AreaChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js +49 -0
- package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +132 -0
- package/dist/vue/components/Chart/Bar3DChart.vue.js +7 -0
- package/dist/vue/components/Chart/Bar3DChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js +55 -0
- package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/BarChart.vue.d.ts +123 -0
- package/dist/vue/components/Chart/BarChart.vue.js +7 -0
- package/dist/vue/components/Chart/BarChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +112 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue.js +7 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +57 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/BubbleChart.vue.d.ts +106 -0
- package/dist/vue/components/Chart/BubbleChart.vue.js +7 -0
- package/dist/vue/components/Chart/BubbleChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js +52 -0
- package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/BulletChart.vue.d.ts +117 -0
- package/dist/vue/components/Chart/BulletChart.vue.js +7 -0
- package/dist/vue/components/Chart/BulletChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js +64 -0
- package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/CalendarHeatmap.vue.d.ts +144 -0
- package/dist/vue/components/Chart/CalendarHeatmap.vue.js +7 -0
- package/dist/vue/components/Chart/CalendarHeatmap.vue.js.map +1 -0
- package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js +77 -0
- package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/CandlestickChart.vue.d.ts +94 -0
- package/dist/vue/components/Chart/CandlestickChart.vue.js +7 -0
- package/dist/vue/components/Chart/CandlestickChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js +44 -0
- package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/Chart.vue.d.ts +103 -0
- package/dist/vue/components/Chart/Chart.vue.js +7 -0
- package/dist/vue/components/Chart/Chart.vue.js.map +1 -0
- package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/DepthChart.vue.d.ts +139 -0
- package/dist/vue/components/Chart/DepthChart.vue.js +7 -0
- package/dist/vue/components/Chart/DepthChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js +42 -0
- package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/DonutChart.vue.d.ts +104 -0
- package/dist/vue/components/Chart/DonutChart.vue.js +7 -0
- package/dist/vue/components/Chart/DonutChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/FunnelChart.vue.d.ts +105 -0
- package/dist/vue/components/Chart/FunnelChart.vue.js +7 -0
- package/dist/vue/components/Chart/FunnelChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js +58 -0
- package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/GanttChart.vue.d.ts +132 -0
- package/dist/vue/components/Chart/GanttChart.vue.js +7 -0
- package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +98 -0
- package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/GaugeChart.vue.d.ts +132 -0
- package/dist/vue/components/Chart/GaugeChart.vue.js +7 -0
- package/dist/vue/components/Chart/GaugeChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js +71 -0
- package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +125 -0
- package/dist/vue/components/Chart/HeatmapChart.vue.js +7 -0
- package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +65 -0
- package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/HistogramChart.vue.d.ts +132 -0
- package/dist/vue/components/Chart/HistogramChart.vue.js +7 -0
- package/dist/vue/components/Chart/HistogramChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js +66 -0
- package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/HorizontalBarChart.vue.d.ts +121 -0
- package/dist/vue/components/Chart/HorizontalBarChart.vue.js +7 -0
- package/dist/vue/components/Chart/HorizontalBarChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js +55 -0
- package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/Line3DChart.vue.d.ts +121 -0
- package/dist/vue/components/Chart/Line3DChart.vue.js +7 -0
- package/dist/vue/components/Chart/Line3DChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/LineChart.vue.d.ts +125 -0
- package/dist/vue/components/Chart/LineChart.vue.js +7 -0
- package/dist/vue/components/Chart/LineChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js +50 -0
- package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/MixedChart.vue.d.ts +103 -0
- package/dist/vue/components/Chart/MixedChart.vue.js +7 -0
- package/dist/vue/components/Chart/MixedChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/OrderBook.vue.d.ts +125 -0
- package/dist/vue/components/Chart/OrderBook.vue.js +7 -0
- package/dist/vue/components/Chart/OrderBook.vue.js.map +1 -0
- package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js +38 -0
- package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +128 -0
- package/dist/vue/components/Chart/OrderBookHeatmap.vue.js +7 -0
- package/dist/vue/components/Chart/OrderBookHeatmap.vue.js.map +1 -0
- package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js +46 -0
- package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/PieChart.vue.d.ts +104 -0
- package/dist/vue/components/Chart/PieChart.vue.js +7 -0
- package/dist/vue/components/Chart/PieChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js +53 -0
- package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/QuadrantChart.vue.d.ts +186 -0
- package/dist/vue/components/Chart/QuadrantChart.vue.js +7 -0
- package/dist/vue/components/Chart/QuadrantChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js +107 -0
- package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/RadarChart.vue.d.ts +111 -0
- package/dist/vue/components/Chart/RadarChart.vue.js +7 -0
- package/dist/vue/components/Chart/RadarChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js +61 -0
- package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/RadialBarChart.vue.d.ts +147 -0
- package/dist/vue/components/Chart/RadialBarChart.vue.js +7 -0
- package/dist/vue/components/Chart/RadialBarChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js +78 -0
- package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/RangeAreaChart.vue.d.ts +106 -0
- package/dist/vue/components/Chart/RangeAreaChart.vue.js +7 -0
- package/dist/vue/components/Chart/RangeAreaChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js +51 -0
- package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/SankeyChart.vue.d.ts +132 -0
- package/dist/vue/components/Chart/SankeyChart.vue.js +7 -0
- package/dist/vue/components/Chart/SankeyChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js +71 -0
- package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +121 -0
- package/dist/vue/components/Chart/Scatter3DChart.vue.js +7 -0
- package/dist/vue/components/Chart/Scatter3DChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
- package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/ScatterChart.vue.d.ts +94 -0
- package/dist/vue/components/Chart/ScatterChart.vue.js +7 -0
- package/dist/vue/components/Chart/ScatterChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js +44 -0
- package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/ShapeChart.vue.d.ts +39 -0
- package/dist/vue/components/Chart/ShapeChart.vue.js +7 -0
- package/dist/vue/components/Chart/ShapeChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js +43 -0
- package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/Sparkline.vue.d.ts +90 -0
- package/dist/vue/components/Chart/Sparkline.vue.js +7 -0
- package/dist/vue/components/Chart/Sparkline.vue.js.map +1 -0
- package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js +66 -0
- package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/SunburstChart.vue.d.ts +123 -0
- package/dist/vue/components/Chart/SunburstChart.vue.js +7 -0
- package/dist/vue/components/Chart/SunburstChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js +68 -0
- package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +143 -0
- package/dist/vue/components/Chart/Surface3DChart.vue.js +7 -0
- package/dist/vue/components/Chart/Surface3DChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js +60 -0
- package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +114 -0
- package/dist/vue/components/Chart/TimeAndSales.vue.js +7 -0
- package/dist/vue/components/Chart/TimeAndSales.vue.js.map +1 -0
- package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js +46 -0
- package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/TradingChart.vue.d.ts +160 -0
- package/dist/vue/components/Chart/TradingChart.vue.js +7 -0
- package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +70 -0
- package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/TreemapChart.vue.d.ts +97 -0
- package/dist/vue/components/Chart/TreemapChart.vue.js +7 -0
- package/dist/vue/components/Chart/TreemapChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js +54 -0
- package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +132 -0
- package/dist/vue/components/Chart/WaterfallChart.vue.js +7 -0
- package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +68 -0
- package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/cartesian.d.ts +47 -0
- package/dist/vue/components/Chart/cartesian.js +56 -0
- package/dist/vue/components/Chart/cartesian.js.map +1 -0
- package/dist/vue/components/Chart/engine.d.ts +35 -0
- package/dist/vue/components/Chart/engine.js +35 -0
- package/dist/vue/components/Chart/engine.js.map +1 -0
- package/dist/vue/components/Chart/index.d.ts +41 -0
- package/dist/vue/components/Chart/index.js +40 -0
- package/dist/vue/components/Chart/orderbook.d.ts +359 -0
- package/dist/vue/components/Chart/orderbook.js +126 -0
- package/dist/vue/components/Chart/orderbook.js.map +1 -0
- package/dist/vue/components/Chart/props.d.ts +188 -0
- package/dist/vue/components/Chart/props.js +92 -0
- package/dist/vue/components/Chart/props.js.map +1 -0
- package/dist/vue/components/Chart/shape.d.ts +41 -0
- package/dist/vue/components/Chart/shape.js +42 -0
- package/dist/vue/components/Chart/shape.js.map +1 -0
- package/dist/vue/components/Chart/three-d.d.ts +106 -0
- package/dist/vue/components/Chart/three-d.js +88 -0
- package/dist/vue/components/Chart/three-d.js.map +1 -0
- package/dist/vue/components/Chart/trading.d.ts +105 -0
- package/dist/vue/components/Chart/trading.js +55 -0
- package/dist/vue/components/Chart/trading.js.map +1 -0
- package/dist/vue/components/Chart/types.d.ts +137 -0
- package/dist/vue/global.d.ts +38 -0
- package/dist/vue/groups/charts.d.ts +1 -0
- package/dist/vue/groups/charts.js +87 -0
- package/dist/vue/groups/charts.js.map +1 -0
- package/dist/vue/index.d.ts +1 -0
- package/dist/vue/index.js +63 -23
- package/dist/vue/plugin.js +12 -10
- package/dist/vue/plugin.js.map +1 -1
- package/dist/weapp/area-chart/index.js +1 -0
- package/dist/weapp/area-chart/index.json +1 -0
- package/dist/weapp/area-chart/index.wxml +1 -0
- package/dist/weapp/area-chart/index.wxss +1 -0
- package/dist/weapp/box-plot-chart/index.js +1 -0
- package/dist/weapp/box-plot-chart/index.json +1 -0
- package/dist/weapp/box-plot-chart/index.wxml +1 -0
- package/dist/weapp/box-plot-chart/index.wxss +1 -0
- package/dist/weapp/bubble-chart/index.js +1 -0
- package/dist/weapp/bubble-chart/index.json +1 -0
- package/dist/weapp/bubble-chart/index.wxml +1 -0
- package/dist/weapp/bubble-chart/index.wxss +1 -0
- package/dist/weapp/bullet-chart/index.js +1 -0
- package/dist/weapp/bullet-chart/index.json +1 -0
- package/dist/weapp/bullet-chart/index.wxml +1 -0
- package/dist/weapp/bullet-chart/index.wxss +1 -0
- package/dist/weapp/calendar-heatmap/index.js +1 -0
- package/dist/weapp/calendar-heatmap/index.json +1 -0
- package/dist/weapp/calendar-heatmap/index.wxml +1 -0
- package/dist/weapp/calendar-heatmap/index.wxss +1 -0
- package/dist/weapp/candlestick-chart/index.js +1 -0
- package/dist/weapp/candlestick-chart/index.json +1 -0
- package/dist/weapp/candlestick-chart/index.wxml +1 -0
- package/dist/weapp/candlestick-chart/index.wxss +1 -0
- package/dist/weapp/charts/canvas.js +11436 -0
- package/dist/weapp/charts/core.d.ts +2 -0
- package/dist/weapp/charts/core.js +41 -0
- package/dist/weapp/controls.js +1428 -3732
- package/dist/weapp/donut-chart/index.js +1 -0
- package/dist/weapp/donut-chart/index.json +1 -0
- package/dist/weapp/donut-chart/index.wxml +1 -0
- package/dist/weapp/donut-chart/index.wxss +1 -0
- package/dist/weapp/funnel-chart/index.js +1 -0
- package/dist/weapp/funnel-chart/index.json +1 -0
- package/dist/weapp/funnel-chart/index.wxml +1 -0
- package/dist/weapp/funnel-chart/index.wxss +1 -0
- package/dist/weapp/gantt-chart/index.js +1 -0
- package/dist/weapp/gantt-chart/index.json +1 -0
- package/dist/weapp/gantt-chart/index.wxml +1 -0
- package/dist/weapp/gantt-chart/index.wxss +1 -0
- package/dist/weapp/gauge-chart/index.js +1 -0
- package/dist/weapp/gauge-chart/index.json +1 -0
- package/dist/weapp/gauge-chart/index.wxml +1 -0
- package/dist/weapp/gauge-chart/index.wxss +1 -0
- package/dist/weapp/heatmap-chart/index.js +1 -0
- package/dist/weapp/heatmap-chart/index.json +1 -0
- package/dist/weapp/heatmap-chart/index.wxml +1 -0
- package/dist/weapp/heatmap-chart/index.wxss +1 -0
- package/dist/weapp/histogram-chart/index.js +1 -0
- package/dist/weapp/histogram-chart/index.json +1 -0
- package/dist/weapp/histogram-chart/index.wxml +1 -0
- package/dist/weapp/histogram-chart/index.wxss +1 -0
- package/dist/weapp/horizontal-bar-chart/index.js +1 -0
- package/dist/weapp/horizontal-bar-chart/index.json +1 -0
- package/dist/weapp/horizontal-bar-chart/index.wxml +1 -0
- package/dist/weapp/horizontal-bar-chart/index.wxss +1 -0
- package/dist/weapp/mixed-chart/index.js +1 -0
- package/dist/weapp/mixed-chart/index.json +1 -0
- package/dist/weapp/mixed-chart/index.wxml +1 -0
- package/dist/weapp/mixed-chart/index.wxss +1 -0
- package/dist/weapp/pie-chart/index.js +1 -0
- package/dist/weapp/pie-chart/index.json +1 -0
- package/dist/weapp/pie-chart/index.wxml +1 -0
- package/dist/weapp/pie-chart/index.wxss +1 -0
- package/dist/weapp/radar-chart/index.js +1 -0
- package/dist/weapp/radar-chart/index.json +1 -0
- package/dist/weapp/radar-chart/index.wxml +1 -0
- package/dist/weapp/radar-chart/index.wxss +1 -0
- package/dist/weapp/radial-bar-chart/index.js +1 -0
- package/dist/weapp/radial-bar-chart/index.json +1 -0
- package/dist/weapp/radial-bar-chart/index.wxml +1 -0
- package/dist/weapp/radial-bar-chart/index.wxss +1 -0
- package/dist/weapp/range-area-chart/index.js +1 -0
- package/dist/weapp/range-area-chart/index.json +1 -0
- package/dist/weapp/range-area-chart/index.wxml +1 -0
- package/dist/weapp/range-area-chart/index.wxss +1 -0
- package/dist/weapp/sankey-chart/index.js +1 -0
- package/dist/weapp/sankey-chart/index.json +1 -0
- package/dist/weapp/sankey-chart/index.wxml +1 -0
- package/dist/weapp/sankey-chart/index.wxss +1 -0
- package/dist/weapp/shape-chart/index.js +1 -0
- package/dist/weapp/shape-chart/index.json +1 -0
- package/dist/weapp/shape-chart/index.wxml +1 -0
- package/dist/weapp/shape-chart/index.wxss +1 -0
- package/dist/weapp/sparkline/index.js +1 -0
- package/dist/weapp/sparkline/index.json +1 -0
- package/dist/weapp/sparkline/index.wxml +1 -0
- package/dist/weapp/sparkline/index.wxss +1 -0
- package/dist/weapp/sunburst-chart/index.js +1 -0
- package/dist/weapp/sunburst-chart/index.json +1 -0
- package/dist/weapp/sunburst-chart/index.wxml +1 -0
- package/dist/weapp/sunburst-chart/index.wxss +1 -0
- package/dist/weapp/treemap-chart/index.js +1 -0
- package/dist/weapp/treemap-chart/index.json +1 -0
- package/dist/weapp/treemap-chart/index.wxml +1 -0
- package/dist/weapp/treemap-chart/index.wxss +1 -0
- package/dist/weapp/types.d.ts +466 -0
- package/dist/weapp/waterfall-chart/index.js +1 -0
- package/dist/weapp/waterfall-chart/index.json +1 -0
- package/dist/weapp/waterfall-chart/index.wxml +1 -0
- package/dist/weapp/waterfall-chart/index.wxss +1 -0
- package/dist/web-components/components/chart/chart.d.ts +58 -0
- package/dist/web-components/components/chart/chart.js +55 -0
- package/dist/web-components/components/chart/chart.js.map +1 -0
- package/dist/web-components/components/chart/charts.d.ts +252 -0
- package/dist/web-components/components/chart/charts.js +201 -0
- package/dist/web-components/components/chart/charts.js.map +1 -0
- package/dist/web-components/components/chart/engine-element.d.ts +53 -0
- package/dist/web-components/components/chart/engine-element.js +77 -0
- package/dist/web-components/components/chart/engine-element.js.map +1 -0
- package/dist/web-components/components/chart/extended.d.ts +224 -0
- package/dist/web-components/components/chart/extended.js +183 -0
- package/dist/web-components/components/chart/extended.js.map +1 -0
- package/dist/web-components/components/chart/series.d.ts +7 -0
- package/dist/web-components/components/chart/series.js +14 -0
- package/dist/web-components/components/chart/series.js.map +1 -0
- package/dist/web-components/components/chart/shape-chart.d.ts +199 -0
- package/dist/web-components/components/chart/shape-chart.js +161 -0
- package/dist/web-components/components/chart/shape-chart.js.map +1 -0
- package/dist/web-components/components/chart/shapes-extended.d.ts +162 -0
- package/dist/web-components/components/chart/shapes-extended.js +156 -0
- package/dist/web-components/components/chart/shapes-extended.js.map +1 -0
- package/dist/web-components/components/chart-3d/chart-3d.d.ts +111 -0
- package/dist/web-components/components/chart-3d/chart-3d.js +97 -0
- package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -0
- package/dist/web-components/components/order-book/order-book.d.ts +165 -0
- package/dist/web-components/components/order-book/order-book.js +174 -0
- package/dist/web-components/components/order-book/order-book.js.map +1 -0
- package/dist/web-components/components/trading-chart/trading-chart.d.ts +96 -0
- package/dist/web-components/components/trading-chart/trading-chart.js +96 -0
- package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -0
- package/dist/web-components/elements/chart-3d.d.ts +2 -0
- package/dist/web-components/elements/chart-3d.js +13 -0
- package/dist/web-components/elements/chart-3d.js.map +1 -0
- package/dist/web-components/elements/chart.d.ts +7 -0
- package/dist/web-components/elements/chart.js +43 -0
- package/dist/web-components/elements/chart.js.map +1 -0
- package/dist/web-components/elements/order-book.d.ts +2 -0
- package/dist/web-components/elements/order-book.js +13 -0
- package/dist/web-components/elements/order-book.js.map +1 -0
- package/dist/web-components/elements/trading-chart.d.ts +2 -0
- package/dist/web-components/elements/trading-chart.js +8 -0
- package/dist/web-components/elements/trading-chart.js.map +1 -0
- package/dist/web-components/html-custom-data.json +1192 -29
- package/dist/web-components/types/react.d.ts +435 -0
- package/dist/web-components/types/solid.d.ts +321 -0
- package/dist/web-components/types/svelte.d.ts +321 -0
- package/dist/web-components/types/vue.d.ts +359 -0
- package/package.json +113 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometry.cjs","names":["GAP","require_types","BarBuffer","next","o","x","y0","y1","color","LineBuffer","top","bottom","y","x0","t0","t1","dy","ta","tb","AreaBuffer","ok","a","b","clamp","v","candleMetrics","wick","dpr","body","spacing","odd","clampRange","lo","hi","pixelRange","min"],"sources":["../../../../../charts/src/engine/trading/geometry.ts"],"sourcesContent":["// GPU items of the trading chart. Positions are baked in device pixels of\n// the data canvas (one canvas under every pane): candles are snapped to\n// the pixel grid so they stay crisp, and every pane clips its own items.\n\nimport {\n BAR_STRIDE,\n GAP,\n type AreaItem,\n type BarItem,\n type LineItem,\n} from \"../renderers/types\";\nimport type { Rgba } from \"../color\";\n\n/** Growable list of bar instances (x, y0, y1, packed color) */\nexport class BarBuffer {\n private f = new Float32Array(256);\n private u = new Uint32Array(this.f.buffer);\n count = 0;\n\n push(x: number, y0: number, y1: number, color: number): void {\n if ((this.count + 1) * 4 > this.f.length) {\n const next = new Float32Array(this.f.length * 2);\n next.set(this.f);\n this.f = next;\n this.u = new Uint32Array(next.buffer);\n }\n const o = this.count * 4;\n this.f[o] = x;\n this.f[o + 1] = y0;\n this.f[o + 2] = y1;\n this.u[o + 3] = color;\n this.count++;\n }\n\n item(\n key: string,\n version: number,\n halfWidth: number,\n minHalf = 0,\n radius = 0,\n ): BarItem {\n return {\n kind: \"bar\",\n key,\n version,\n color: [1, 1, 1, 1],\n instances: this.f.buffer.slice(0, this.count * BAR_STRIDE),\n count: this.count,\n halfWidth,\n radius,\n inset: 0,\n minHalf,\n sorted: false,\n };\n }\n}\n\n/**\n * Polyline clipped to the band `top..bottom` (device y): segments leaving\n * the band are cut at its edge, NaN values break the line\n */\nexport class LineBuffer {\n private p = new Float32Array(512);\n count = 0;\n private px = NaN;\n private py = NaN;\n /** The last written point is the previous point itself */\n private open = false;\n\n constructor(\n private readonly top: number,\n private readonly bottom: number,\n ) {}\n\n private write(x: number, y: number) {\n if ((this.count + 1) * 2 > this.p.length) {\n const next = new Float32Array(this.p.length * 2);\n next.set(this.p);\n this.p = next;\n }\n this.p[this.count * 2] = x;\n this.p[this.count * 2 + 1] = y;\n this.count++;\n }\n\n private gap() {\n if (this.count && this.p[this.count * 2 - 1] < 1e37) this.write(GAP, GAP);\n }\n\n /** Breaks the line */\n break(): void {\n if (this.open) this.gap();\n this.open = false;\n this.px = this.py = NaN;\n }\n\n push(x: number, y: number): void {\n if (!Number.isFinite(x) || !Number.isFinite(y)) {\n this.break();\n return;\n }\n const { top, bottom } = this;\n if (!Number.isFinite(this.px)) {\n if (y >= top && y <= bottom) {\n this.gap();\n this.write(x, y);\n this.open = true;\n }\n this.px = x;\n this.py = y;\n return;\n }\n const x0 = this.px;\n const y0 = this.py;\n this.px = x;\n this.py = y;\n // clip the segment to the band (parametric t in 0..1)\n let t0 = 0;\n let t1 = 1;\n const dy = y - y0;\n if (dy === 0) {\n if (y0 < top || y0 > bottom) t0 = 2;\n } else {\n const ta = (top - y0) / dy;\n const tb = (bottom - y0) / dy;\n t0 = Math.max(t0, Math.min(ta, tb));\n t1 = Math.min(t1, Math.max(ta, tb));\n }\n if (t0 > t1) {\n if (this.open) this.gap();\n this.open = false;\n return;\n }\n if (!this.open || t0 > 0) {\n this.gap();\n this.write(x0 + (x - x0) * t0, y0 + dy * t0);\n }\n this.write(x0 + (x - x0) * t1, y0 + dy * t1);\n this.open = t1 >= 1;\n if (!this.open) this.gap();\n }\n\n item(key: string, version: number, color: Rgba, width: number): LineItem {\n return {\n kind: \"line\",\n key,\n version,\n color,\n points: this.p.slice(0, this.count * 2),\n count: this.count,\n width,\n sorted: false,\n };\n }\n}\n\n/** Area points (x, top, bottom), both edges clamped to a band */\nexport class AreaBuffer {\n private p = new Float32Array(768);\n count = 0;\n\n constructor(\n private readonly top: number,\n private readonly bottom: number,\n ) {}\n\n push(x: number, a: number, b: number): void {\n if ((this.count + 1) * 3 > this.p.length) {\n const next = new Float32Array(this.p.length * 2);\n next.set(this.p);\n this.p = next;\n }\n const o = this.count * 3;\n const ok = Number.isFinite(x) && Number.isFinite(a) && Number.isFinite(b);\n const clamp = (v: number) => Math.min(this.bottom, Math.max(this.top, v));\n this.p[o] = ok ? x : GAP;\n this.p[o + 1] = ok ? clamp(a) : GAP;\n this.p[o + 2] = ok ? clamp(b) : GAP;\n this.count++;\n }\n\n item(key: string, version: number, color: Rgba, opacity: number): AreaItem {\n return {\n kind: \"area\",\n key,\n version,\n color,\n points: this.p.slice(0, this.count * 3),\n count: this.count,\n opacity,\n sorted: false,\n };\n }\n}\n\n/** Candle metrics for a bar spacing (device px): crisp, centered wicks */\nexport interface CandleMetrics {\n /** Wick / outline width */\n wick: number;\n /** Body width (same parity as the wick, so the wick is centered) */\n body: number;\n /** x of a bar center snapped to the pixel grid */\n snap(x: number): number;\n}\n\nexport const candleMetrics = (spacing: number, dpr: number): CandleMetrics => {\n const wick = Math.max(1, Math.round(dpr));\n let body = Math.round(spacing * 0.72);\n if (body > spacing - 1) body = Math.floor(spacing - 1);\n if (body < wick) body = wick;\n if ((body - wick) % 2) body -= 1;\n const odd = wick % 2 === 1;\n return {\n wick,\n body,\n snap: (x) => (odd ? Math.floor(x) + 0.5 : Math.round(x)),\n };\n};\n\n/** Clamps a device y range to a band; null when outside */\nexport const clampRange = (\n a: number,\n b: number,\n top: number,\n bottom: number,\n): [number, number] | null => {\n let lo = Math.min(a, b);\n let hi = Math.max(a, b);\n if (!Number.isFinite(lo) || !Number.isFinite(hi)) return null;\n if (hi < top || lo > bottom) return null;\n lo = Math.max(top, lo);\n hi = Math.min(bottom, hi);\n return [lo, hi];\n};\n\n/** Rounds a device y range to whole pixels, at least `min` high */\nexport const pixelRange = (a: number, b: number, min = 1): [number, number] => {\n const lo = Math.round(Math.min(a, b));\n let hi = Math.round(Math.max(a, b));\n if (hi - lo < min) hi = lo + min;\n return [lo, hi];\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { AreaItem, BarItem, LineItem } from '../renderers/types.cjs';
|
|
2
|
+
import { Rgba } from '../color.cjs';
|
|
3
|
+
/** Growable list of bar instances (x, y0, y1, packed color) */
|
|
4
|
+
export declare class BarBuffer {
|
|
5
|
+
private f;
|
|
6
|
+
private u;
|
|
7
|
+
count: number;
|
|
8
|
+
push(x: number, y0: number, y1: number, color: number): void;
|
|
9
|
+
item(key: string, version: number, halfWidth: number, minHalf?: number, radius?: number): BarItem;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Polyline clipped to the band `top..bottom` (device y): segments leaving
|
|
13
|
+
* the band are cut at its edge, NaN values break the line
|
|
14
|
+
*/
|
|
15
|
+
export declare class LineBuffer {
|
|
16
|
+
private readonly top;
|
|
17
|
+
private readonly bottom;
|
|
18
|
+
private p;
|
|
19
|
+
count: number;
|
|
20
|
+
private px;
|
|
21
|
+
private py;
|
|
22
|
+
/** The last written point is the previous point itself */
|
|
23
|
+
private open;
|
|
24
|
+
constructor(top: number, bottom: number);
|
|
25
|
+
private write;
|
|
26
|
+
private gap;
|
|
27
|
+
/** Breaks the line */
|
|
28
|
+
break(): void;
|
|
29
|
+
push(x: number, y: number): void;
|
|
30
|
+
item(key: string, version: number, color: Rgba, width: number): LineItem;
|
|
31
|
+
}
|
|
32
|
+
/** Area points (x, top, bottom), both edges clamped to a band */
|
|
33
|
+
export declare class AreaBuffer {
|
|
34
|
+
private readonly top;
|
|
35
|
+
private readonly bottom;
|
|
36
|
+
private p;
|
|
37
|
+
count: number;
|
|
38
|
+
constructor(top: number, bottom: number);
|
|
39
|
+
push(x: number, a: number, b: number): void;
|
|
40
|
+
item(key: string, version: number, color: Rgba, opacity: number): AreaItem;
|
|
41
|
+
}
|
|
42
|
+
/** Candle metrics for a bar spacing (device px): crisp, centered wicks */
|
|
43
|
+
export interface CandleMetrics {
|
|
44
|
+
/** Wick / outline width */
|
|
45
|
+
wick: number;
|
|
46
|
+
/** Body width (same parity as the wick, so the wick is centered) */
|
|
47
|
+
body: number;
|
|
48
|
+
/** x of a bar center snapped to the pixel grid */
|
|
49
|
+
snap(x: number): number;
|
|
50
|
+
}
|
|
51
|
+
export declare const candleMetrics: (spacing: number, dpr: number) => CandleMetrics;
|
|
52
|
+
/** Clamps a device y range to a band; null when outside */
|
|
53
|
+
export declare const clampRange: (a: number, b: number, top: number, bottom: number) => [number, number] | null;
|
|
54
|
+
/** Rounds a device y range to whole pixels, at least `min` high */
|
|
55
|
+
export declare const pixelRange: (a: number, b: number, min?: number) => [number, number];
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { AreaItem, BarItem, LineItem } from '../renderers/types.js';
|
|
2
|
+
import { Rgba } from '../color.js';
|
|
3
|
+
/** Growable list of bar instances (x, y0, y1, packed color) */
|
|
4
|
+
export declare class BarBuffer {
|
|
5
|
+
private f;
|
|
6
|
+
private u;
|
|
7
|
+
count: number;
|
|
8
|
+
push(x: number, y0: number, y1: number, color: number): void;
|
|
9
|
+
item(key: string, version: number, halfWidth: number, minHalf?: number, radius?: number): BarItem;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Polyline clipped to the band `top..bottom` (device y): segments leaving
|
|
13
|
+
* the band are cut at its edge, NaN values break the line
|
|
14
|
+
*/
|
|
15
|
+
export declare class LineBuffer {
|
|
16
|
+
private readonly top;
|
|
17
|
+
private readonly bottom;
|
|
18
|
+
private p;
|
|
19
|
+
count: number;
|
|
20
|
+
private px;
|
|
21
|
+
private py;
|
|
22
|
+
/** The last written point is the previous point itself */
|
|
23
|
+
private open;
|
|
24
|
+
constructor(top: number, bottom: number);
|
|
25
|
+
private write;
|
|
26
|
+
private gap;
|
|
27
|
+
/** Breaks the line */
|
|
28
|
+
break(): void;
|
|
29
|
+
push(x: number, y: number): void;
|
|
30
|
+
item(key: string, version: number, color: Rgba, width: number): LineItem;
|
|
31
|
+
}
|
|
32
|
+
/** Area points (x, top, bottom), both edges clamped to a band */
|
|
33
|
+
export declare class AreaBuffer {
|
|
34
|
+
private readonly top;
|
|
35
|
+
private readonly bottom;
|
|
36
|
+
private p;
|
|
37
|
+
count: number;
|
|
38
|
+
constructor(top: number, bottom: number);
|
|
39
|
+
push(x: number, a: number, b: number): void;
|
|
40
|
+
item(key: string, version: number, color: Rgba, opacity: number): AreaItem;
|
|
41
|
+
}
|
|
42
|
+
/** Candle metrics for a bar spacing (device px): crisp, centered wicks */
|
|
43
|
+
export interface CandleMetrics {
|
|
44
|
+
/** Wick / outline width */
|
|
45
|
+
wick: number;
|
|
46
|
+
/** Body width (same parity as the wick, so the wick is centered) */
|
|
47
|
+
body: number;
|
|
48
|
+
/** x of a bar center snapped to the pixel grid */
|
|
49
|
+
snap(x: number): number;
|
|
50
|
+
}
|
|
51
|
+
export declare const candleMetrics: (spacing: number, dpr: number) => CandleMetrics;
|
|
52
|
+
/** Clamps a device y range to a band; null when outside */
|
|
53
|
+
export declare const clampRange: (a: number, b: number, top: number, bottom: number) => [number, number] | null;
|
|
54
|
+
/** Rounds a device y range to whole pixels, at least `min` high */
|
|
55
|
+
export declare const pixelRange: (a: number, b: number, min?: number) => [number, number];
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { GAP as e } from "../renderers/types.js";
|
|
2
|
+
//#region src/engine/trading/geometry.ts
|
|
3
|
+
var t = class {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.f = /* @__PURE__ */ new Float32Array(256), this.u = new Uint32Array(this.f.buffer), this.count = 0;
|
|
6
|
+
}
|
|
7
|
+
push(e, t, n, r) {
|
|
8
|
+
if ((this.count + 1) * 4 > this.f.length) {
|
|
9
|
+
let e = new Float32Array(this.f.length * 2);
|
|
10
|
+
e.set(this.f), this.f = e, this.u = new Uint32Array(e.buffer);
|
|
11
|
+
}
|
|
12
|
+
let i = this.count * 4;
|
|
13
|
+
this.f[i] = e, this.f[i + 1] = t, this.f[i + 2] = n, this.u[i + 3] = r, this.count++;
|
|
14
|
+
}
|
|
15
|
+
item(e, t, n, r = 0, i = 0) {
|
|
16
|
+
return {
|
|
17
|
+
kind: "bar",
|
|
18
|
+
key: e,
|
|
19
|
+
version: t,
|
|
20
|
+
color: [
|
|
21
|
+
1,
|
|
22
|
+
1,
|
|
23
|
+
1,
|
|
24
|
+
1
|
|
25
|
+
],
|
|
26
|
+
instances: this.f.buffer.slice(0, this.count * 16),
|
|
27
|
+
count: this.count,
|
|
28
|
+
halfWidth: n,
|
|
29
|
+
radius: i,
|
|
30
|
+
inset: 0,
|
|
31
|
+
minHalf: r,
|
|
32
|
+
sorted: !1
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}, n = class {
|
|
36
|
+
constructor(e, t) {
|
|
37
|
+
this.top = e, this.bottom = t, this.p = /* @__PURE__ */ new Float32Array(512), this.count = 0, this.px = NaN, this.py = NaN, this.open = !1;
|
|
38
|
+
}
|
|
39
|
+
write(e, t) {
|
|
40
|
+
if ((this.count + 1) * 2 > this.p.length) {
|
|
41
|
+
let e = new Float32Array(this.p.length * 2);
|
|
42
|
+
e.set(this.p), this.p = e;
|
|
43
|
+
}
|
|
44
|
+
this.p[this.count * 2] = e, this.p[this.count * 2 + 1] = t, this.count++;
|
|
45
|
+
}
|
|
46
|
+
gap() {
|
|
47
|
+
this.count && this.p[this.count * 2 - 1] < 1e37 && this.write(e, e);
|
|
48
|
+
}
|
|
49
|
+
break() {
|
|
50
|
+
this.open && this.gap(), this.open = !1, this.px = this.py = NaN;
|
|
51
|
+
}
|
|
52
|
+
push(e, t) {
|
|
53
|
+
if (!Number.isFinite(e) || !Number.isFinite(t)) {
|
|
54
|
+
this.break();
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
let { top: n, bottom: r } = this;
|
|
58
|
+
if (!Number.isFinite(this.px)) {
|
|
59
|
+
t >= n && t <= r && (this.gap(), this.write(e, t), this.open = !0), this.px = e, this.py = t;
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
let i = this.px, a = this.py;
|
|
63
|
+
this.px = e, this.py = t;
|
|
64
|
+
let o = 0, s = 1, c = t - a;
|
|
65
|
+
if (c === 0) (a < n || a > r) && (o = 2);
|
|
66
|
+
else {
|
|
67
|
+
let e = (n - a) / c, t = (r - a) / c;
|
|
68
|
+
o = Math.max(o, Math.min(e, t)), s = Math.min(s, Math.max(e, t));
|
|
69
|
+
}
|
|
70
|
+
if (o > s) {
|
|
71
|
+
this.open && this.gap(), this.open = !1;
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
(!this.open || o > 0) && (this.gap(), this.write(i + (e - i) * o, a + c * o)), this.write(i + (e - i) * s, a + c * s), this.open = s >= 1, this.open || this.gap();
|
|
75
|
+
}
|
|
76
|
+
item(e, t, n, r) {
|
|
77
|
+
return {
|
|
78
|
+
kind: "line",
|
|
79
|
+
key: e,
|
|
80
|
+
version: t,
|
|
81
|
+
color: n,
|
|
82
|
+
points: this.p.slice(0, this.count * 2),
|
|
83
|
+
count: this.count,
|
|
84
|
+
width: r,
|
|
85
|
+
sorted: !1
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
}, r = class {
|
|
89
|
+
constructor(e, t) {
|
|
90
|
+
this.top = e, this.bottom = t, this.p = /* @__PURE__ */ new Float32Array(768), this.count = 0;
|
|
91
|
+
}
|
|
92
|
+
push(t, n, r) {
|
|
93
|
+
if ((this.count + 1) * 3 > this.p.length) {
|
|
94
|
+
let e = new Float32Array(this.p.length * 2);
|
|
95
|
+
e.set(this.p), this.p = e;
|
|
96
|
+
}
|
|
97
|
+
let i = this.count * 3, a = Number.isFinite(t) && Number.isFinite(n) && Number.isFinite(r), o = (e) => Math.min(this.bottom, Math.max(this.top, e));
|
|
98
|
+
this.p[i] = a ? t : e, this.p[i + 1] = a ? o(n) : e, this.p[i + 2] = a ? o(r) : e, this.count++;
|
|
99
|
+
}
|
|
100
|
+
item(e, t, n, r) {
|
|
101
|
+
return {
|
|
102
|
+
kind: "area",
|
|
103
|
+
key: e,
|
|
104
|
+
version: t,
|
|
105
|
+
color: n,
|
|
106
|
+
points: this.p.slice(0, this.count * 3),
|
|
107
|
+
count: this.count,
|
|
108
|
+
opacity: r,
|
|
109
|
+
sorted: !1
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
}, i = (e, t) => {
|
|
113
|
+
let n = Math.max(1, Math.round(t)), r = Math.round(e * .72);
|
|
114
|
+
r > e - 1 && (r = Math.floor(e - 1)), r < n && (r = n), (r - n) % 2 && --r;
|
|
115
|
+
let i = n % 2 == 1;
|
|
116
|
+
return {
|
|
117
|
+
wick: n,
|
|
118
|
+
body: r,
|
|
119
|
+
snap: (e) => i ? Math.floor(e) + .5 : Math.round(e)
|
|
120
|
+
};
|
|
121
|
+
}, a = (e, t, n, r) => {
|
|
122
|
+
let i = Math.min(e, t), a = Math.max(e, t);
|
|
123
|
+
return !Number.isFinite(i) || !Number.isFinite(a) || a < n || i > r ? null : (i = Math.max(n, i), a = Math.min(r, a), [i, a]);
|
|
124
|
+
}, o = (e, t, n = 1) => {
|
|
125
|
+
let r = Math.round(Math.min(e, t)), i = Math.round(Math.max(e, t));
|
|
126
|
+
return i - r < n && (i = r + n), [r, i];
|
|
127
|
+
};
|
|
128
|
+
//#endregion
|
|
129
|
+
export { r as AreaBuffer, t as BarBuffer, n as LineBuffer, i as candleMetrics, a as clampRange, o as pixelRange };
|
|
130
|
+
|
|
131
|
+
//# sourceMappingURL=geometry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"geometry.js","names":["BarBuffer","next","o","x","y0","y1","color","LineBuffer","top","bottom","y","GAP","x0","t0","t1","dy","ta","tb","AreaBuffer","ok","a","b","clamp","v","candleMetrics","wick","dpr","body","spacing","odd","clampRange","lo","hi","pixelRange","min"],"sources":["../../../../../charts/src/engine/trading/geometry.ts"],"sourcesContent":["// GPU items of the trading chart. Positions are baked in device pixels of\n// the data canvas (one canvas under every pane): candles are snapped to\n// the pixel grid so they stay crisp, and every pane clips its own items.\n\nimport {\n BAR_STRIDE,\n GAP,\n type AreaItem,\n type BarItem,\n type LineItem,\n} from \"../renderers/types\";\nimport type { Rgba } from \"../color\";\n\n/** Growable list of bar instances (x, y0, y1, packed color) */\nexport class BarBuffer {\n private f = new Float32Array(256);\n private u = new Uint32Array(this.f.buffer);\n count = 0;\n\n push(x: number, y0: number, y1: number, color: number): void {\n if ((this.count + 1) * 4 > this.f.length) {\n const next = new Float32Array(this.f.length * 2);\n next.set(this.f);\n this.f = next;\n this.u = new Uint32Array(next.buffer);\n }\n const o = this.count * 4;\n this.f[o] = x;\n this.f[o + 1] = y0;\n this.f[o + 2] = y1;\n this.u[o + 3] = color;\n this.count++;\n }\n\n item(\n key: string,\n version: number,\n halfWidth: number,\n minHalf = 0,\n radius = 0,\n ): BarItem {\n return {\n kind: \"bar\",\n key,\n version,\n color: [1, 1, 1, 1],\n instances: this.f.buffer.slice(0, this.count * BAR_STRIDE),\n count: this.count,\n halfWidth,\n radius,\n inset: 0,\n minHalf,\n sorted: false,\n };\n }\n}\n\n/**\n * Polyline clipped to the band `top..bottom` (device y): segments leaving\n * the band are cut at its edge, NaN values break the line\n */\nexport class LineBuffer {\n private p = new Float32Array(512);\n count = 0;\n private px = NaN;\n private py = NaN;\n /** The last written point is the previous point itself */\n private open = false;\n\n constructor(\n private readonly top: number,\n private readonly bottom: number,\n ) {}\n\n private write(x: number, y: number) {\n if ((this.count + 1) * 2 > this.p.length) {\n const next = new Float32Array(this.p.length * 2);\n next.set(this.p);\n this.p = next;\n }\n this.p[this.count * 2] = x;\n this.p[this.count * 2 + 1] = y;\n this.count++;\n }\n\n private gap() {\n if (this.count && this.p[this.count * 2 - 1] < 1e37) this.write(GAP, GAP);\n }\n\n /** Breaks the line */\n break(): void {\n if (this.open) this.gap();\n this.open = false;\n this.px = this.py = NaN;\n }\n\n push(x: number, y: number): void {\n if (!Number.isFinite(x) || !Number.isFinite(y)) {\n this.break();\n return;\n }\n const { top, bottom } = this;\n if (!Number.isFinite(this.px)) {\n if (y >= top && y <= bottom) {\n this.gap();\n this.write(x, y);\n this.open = true;\n }\n this.px = x;\n this.py = y;\n return;\n }\n const x0 = this.px;\n const y0 = this.py;\n this.px = x;\n this.py = y;\n // clip the segment to the band (parametric t in 0..1)\n let t0 = 0;\n let t1 = 1;\n const dy = y - y0;\n if (dy === 0) {\n if (y0 < top || y0 > bottom) t0 = 2;\n } else {\n const ta = (top - y0) / dy;\n const tb = (bottom - y0) / dy;\n t0 = Math.max(t0, Math.min(ta, tb));\n t1 = Math.min(t1, Math.max(ta, tb));\n }\n if (t0 > t1) {\n if (this.open) this.gap();\n this.open = false;\n return;\n }\n if (!this.open || t0 > 0) {\n this.gap();\n this.write(x0 + (x - x0) * t0, y0 + dy * t0);\n }\n this.write(x0 + (x - x0) * t1, y0 + dy * t1);\n this.open = t1 >= 1;\n if (!this.open) this.gap();\n }\n\n item(key: string, version: number, color: Rgba, width: number): LineItem {\n return {\n kind: \"line\",\n key,\n version,\n color,\n points: this.p.slice(0, this.count * 2),\n count: this.count,\n width,\n sorted: false,\n };\n }\n}\n\n/** Area points (x, top, bottom), both edges clamped to a band */\nexport class AreaBuffer {\n private p = new Float32Array(768);\n count = 0;\n\n constructor(\n private readonly top: number,\n private readonly bottom: number,\n ) {}\n\n push(x: number, a: number, b: number): void {\n if ((this.count + 1) * 3 > this.p.length) {\n const next = new Float32Array(this.p.length * 2);\n next.set(this.p);\n this.p = next;\n }\n const o = this.count * 3;\n const ok = Number.isFinite(x) && Number.isFinite(a) && Number.isFinite(b);\n const clamp = (v: number) => Math.min(this.bottom, Math.max(this.top, v));\n this.p[o] = ok ? x : GAP;\n this.p[o + 1] = ok ? clamp(a) : GAP;\n this.p[o + 2] = ok ? clamp(b) : GAP;\n this.count++;\n }\n\n item(key: string, version: number, color: Rgba, opacity: number): AreaItem {\n return {\n kind: \"area\",\n key,\n version,\n color,\n points: this.p.slice(0, this.count * 3),\n count: this.count,\n opacity,\n sorted: false,\n };\n }\n}\n\n/** Candle metrics for a bar spacing (device px): crisp, centered wicks */\nexport interface CandleMetrics {\n /** Wick / outline width */\n wick: number;\n /** Body width (same parity as the wick, so the wick is centered) */\n body: number;\n /** x of a bar center snapped to the pixel grid */\n snap(x: number): number;\n}\n\nexport const candleMetrics = (spacing: number, dpr: number): CandleMetrics => {\n const wick = Math.max(1, Math.round(dpr));\n let body = Math.round(spacing * 0.72);\n if (body > spacing - 1) body = Math.floor(spacing - 1);\n if (body < wick) body = wick;\n if ((body - wick) % 2) body -= 1;\n const odd = wick % 2 === 1;\n return {\n wick,\n body,\n snap: (x) => (odd ? Math.floor(x) + 0.5 : Math.round(x)),\n };\n};\n\n/** Clamps a device y range to a band; null when outside */\nexport const clampRange = (\n a: number,\n b: number,\n top: number,\n bottom: number,\n): [number, number] | null => {\n let lo = Math.min(a, b);\n let hi = Math.max(a, b);\n if (!Number.isFinite(lo) || !Number.isFinite(hi)) return null;\n if (hi < top || lo > bottom) return null;\n lo = Math.max(top, lo);\n hi = Math.min(bottom, hi);\n return [lo, hi];\n};\n\n/** Rounds a device y range to whole pixels, at least `min` high */\nexport const pixelRange = (a: number, b: number, min = 1): [number, number] => {\n const lo = Math.round(Math.min(a, b));\n let hi = Math.round(Math.max(a, b));\n if (hi - lo < min) hi = lo + min;\n return [lo, hi];\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./indicators.cjs"),t=require("./chart.cjs");exports.atr=e.atr,exports.bollinger=e.bollinger,exports.createTradingChart=t.createTradingChart,exports.ema=e.ema,exports.heikinAshi=e.heikinAshi,exports.kdj=e.kdj,exports.macd=e.macd,exports.resampleBars=e.resampleBars,exports.rsi=e.rsi,exports.sma=e.sma,exports.vwap=e.vwap,exports.wma=e.wma;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { atr as e, bollinger as t, ema as n, heikinAshi as r, kdj as i, macd as a, resampleBars as o, rsi as s, sma as c, vwap as l, wma as u } from "./indicators.js";
|
|
2
|
+
import { createTradingChart as d } from "./chart.js";
|
|
3
|
+
export { e as atr, t as bollinger, d as createTradingChart, n as ema, r as heikinAshi, i as kdj, a as macd, o as resampleBars, s as rsi, c as sma, l as vwap, u as wma };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e=Number.isFinite,t=e=>new Float64Array(e).fill(NaN),n=e=>Math.max(1,Math.floor(e)||1),r=(t,r,i,a,o=0)=>{let s=n(i),c=0,l=0;for(let n=Math.max(0,o-s);n<o;n++){let r=t[n];e(r)&&(c+=r,l++)}for(let n=o;n<r;n++){let r=t[n];if(e(r)&&(c+=r,l++),n>=s){let r=t[n-s];e(r)&&(c-=r,l--)}a[n]=l===s?c/s:NaN}},i=(t,n,r)=>{if(n<r-1)return NaN;let i=0;for(let a=n-r+1;a<=n;a++){let n=t[a];if(!e(n))return NaN;i+=n}return i/r},a=(t,n,r,a,o,s)=>{for(let c=s;c<n;c++){let n=t[c],s=c>0?o[c-1]:NaN;e(n)?e(s)?o[c]=s+a*(n-s):o[c]=i(t,c,r):o[c]=NaN}},o=(e,t,r,i,o=0)=>{let s=n(r);a(e,t,s,2/(s+1),i,o)},s=(e,t,r,i,o=0)=>{let s=n(r);a(e,t,s,1/s,i,o)},c=(t,r,a,o,s=0)=>{let c=n(a),l=c*(c+1)/2,u=n=>{if(n<c-1)return NaN;let r=0;for(let i=0;i<c;i++){let a=t[n-i];if(!e(a))return NaN;r+=(c-i)*a}return r},d=s>0?u(s-1):NaN,f=s>0?i(t,s-1,c)*c:NaN;for(let n=s;n<r;n++){let r=t[n];e(d)&&e(f)&&e(r)?(d=d-f+c*r,f=f+r-(n>=c?t[n-c]:0)):(d=u(n),f=i(t,n,c)*c),o[n]=e(d)?d/l:NaN}},l=(t,r,a,o,s=0)=>{let c=n(a);for(let n=s;n<r;n++){let r=i(t,n,c);if(!e(r)){o[n]=NaN;continue}let a=0;for(let e=n-c+1;e<=n;e++){let n=t[e]-r;a+=n*n}o[n]=Math.sqrt(a/c)}},u=(t,r,i,a,o,s,c=0)=>{let l=n(i);for(let n=c;n<r;n++){if(o[n]=s[n]=NaN,a[n]=NaN,n===0)continue;let r=t[n]-t[n-1];if(e(r)){if(e(o[n-1])&&e(s[n-1]))o[n]=(o[n-1]*(l-1)+Math.max(r,0))/l,s[n]=(s[n-1]*(l-1)+Math.max(-r,0))/l;else if(n>=l){let r=0,i=0,a=!0;for(let o=n-l+1;o<=n;o++){let n=t[o]-t[o-1];if(!e(n)){a=!1;break}n>0?r+=n:i-=n}if(!a)continue;o[n]=r/l,s[n]=i/l}else continue;a[n]=s[n]===0?o[n]===0?50:100:100-100/(1+o[n]/s[n])}}},d=(t,n,r,i,a,o=0)=>{for(let s=o;s<i;s++){let i=t[s]-n[s];if(s===0||!e(r[s-1])){a[s]=i;continue}let o=r[s-1];a[s]=Math.max(i,Math.abs(t[s]-o),Math.abs(n[s]-o))}},f=(t,r,i,a,o,s,c,l,u,d,f=0)=>{let p=n(o),m=n(s),h=n(c);for(let n=f;n<a;n++){if(l[n]=u[n]=d[n]=NaN,n<p-1)continue;let a=-1/0,o=1/0;for(let e=n-p+1;e<=n;e++)t[e]>a&&(a=t[e]),r[e]<o&&(o=r[e]);let s=i[n];if(!e(a)||!e(o)||!e(s))continue;let c=a===o?50:(s-o)/(a-o)*100,f=n>0&&e(l[n-1])?l[n-1]:50,g=n>0&&e(u[n-1])?u[n-1]:50;l[n]=((m-1)*f+c)/m,u[n]=((h-1)*g+l[n])/h,d[n]=3*l[n]-2*u[n]}},p=864e5,m=(e,t,n=0)=>{if(t===`none`)return 0;let r=e+n*6e4,i=Math.floor(r/p);if(t===`day`)return i;if(t===`week`)return Math.floor((i+3)/7);let a=new Date(r);return a.getUTCFullYear()*12+a.getUTCMonth()},h=(t,n,r,i,a,o,s,c,l,u,d,f=0)=>{for(let p=f;p<o;p++){let o=(t[p]+n[p]+r[p])/3,f=e(i[p])?i[p]:0,h=p>0&&(!a||m(a[p],s,c)===m(a[p-1],s,c)),g=h&&e(u[p-1])?u[p-1]:0,_=h&&e(d[p-1])?d[p-1]:0;u[p]=g+(e(o)?o*f:0),d[p]=_+f,l[p]=d[p]>0?u[p]/d[p]:e(o)?o:NaN}},g=(t,n,r,i,a,o,s=0)=>{for(let c=s;c<a;c++){let a=(t[c]+n[c]+r[c]+i[c])/4,s=c>0?o.open[c-1]:NaN,l=c>0?o.close[c-1]:NaN,u=e(s)&&e(l)?(s+l)/2:(t[c]+i[c])/2;o.open[c]=u,o.close[c]=a,o.high[c]=Math.max(n[c],u,a),o.low[c]=Math.min(r[c],u,a)}},_=(e,n)=>{let i=t(e.length);return r(e,e.length,n,i),i},v=(e,n)=>{let r=t(e.length);return o(e,e.length,n,r),r},y=(e,n)=>{let r=t(e.length);return c(e,e.length,n,r),r},b=(e,n=20,i=2)=>{let a=e.length,o=t(a),s=t(a),c=t(a),u=t(a);r(e,a,n,o),l(e,a,n,u);for(let e=0;e<a;e++)s[e]=o[e]+i*u[e],c[e]=o[e]-i*u[e];return{middle:o,upper:s,lower:c}},x=(e,n=12,r=26,i=9)=>{let a=e.length,s=t(a),c=t(a);o(e,a,n,s),o(e,a,r,c);let l=t(a);for(let e=0;e<a;e++)l[e]=s[e]-c[e];let u=t(a);o(l,a,i,u);let d=t(a);for(let e=0;e<a;e++)d[e]=l[e]-u[e];return{macd:l,signal:u,histogram:d}},S=(e,n=14)=>{let r=e.length,i=t(r);return u(e,r,n,i,t(r),t(r)),i},C=(e,n,r,i=9,a=3,o=3)=>{let s=r.length,c=t(s),l=t(s),u=t(s);return f(e,n,r,s,i,a,o,c,l,u),{k:c,d:l,j:u}},w=(e,n,r,i=14)=>{let a=r.length,o=t(a);d(e,n,r,a,o);let c=t(a);return s(o,a,i,c),c},T=(e,n,r,i,a={})=>{let o=r.length,s=t(o);return h(e,n,r,i,a.time??null,o,a.reset??`day`,a.utcOffset??0,s,t(o),t(o)),s},E=e=>{let n=e.close.length,r={open:t(n),high:t(n),low:t(n),close:t(n)};return g(e.open,e.high,e.low,e.close,n,r),r},D={s:1e3,m:6e4,h:36e5,H:36e5,d:p,D:p,w:7*p,W:7*p},O=e=>{if(typeof e==`number`)return e>0?{unit:`ms`,count:e,ms:e}:null;let t=/^(\d+(?:\.\d+)?)([smhHdDwWM])$/.exec(e.trim());if(!t)return null;let n=Number(t[1]);if(!(n>0))return null;let r=t[2];return r===`M`?{unit:`month`,count:n,ms:n*30*p}:{unit:`ms`,count:n*D[r],ms:n*D[r]}},k=(e,t,n=0)=>{let r=n*6e4,i=e+r;if(t.unit===`month`){let e=new Date(i),n=e.getUTCFullYear()*12+e.getUTCMonth(),a=n-n%t.count;return Date.UTC(Math.floor(a/12),a%12,1)-r}if(t.count%(7*p)==0){let e=4*p;return Math.floor((i-e)/t.count)*t.count+e-r}return Math.floor(i/t.count)*t.count-r},A=e=>!Array.isArray(e);function j(e,t,n=0){let r=O(t);if(!r)throw Error(`Invalid timeframe: ${String(t)}`);let i=A(e),a=i?e.close.length:e.length,o=t=>{if(!i)return e[t];let n=e;return{time:n.time[t],open:n.open[t],high:n.high[t],low:n.low[t],close:n.close[t],volume:n.volume?n.volume[t]:void 0}},s=[],c=null;for(let e=0;e<a;e++){let t=o(e),i=k(t.time,r,n);!c||i!==c.time?(c&&s.push(c),c={time:i,open:t.open,high:t.high,low:t.low,close:t.close,volume:t.volume??0}):(t.high>c.high&&(c.high=t.high),t.low<c.low&&(c.low=t.low),c.close=t.close,c.volume=(c.volume??0)+(t.volume??0))}if(c&&s.push(c),!i)return s;let l=s.length,u={time:new Float64Array(l),open:new Float64Array(l),high:new Float64Array(l),low:new Float64Array(l),close:new Float64Array(l),volume:new Float64Array(l)};return s.forEach((e,t)=>{u.time[t]=e.time,u.open[t]=e.open,u.high[t]=e.high,u.low[t]=e.low,u.close[t]=e.close,u.volume[t]=e.volume??0}),u}exports.atr=w,exports.bollinger=b,exports.bucketStart=k,exports.ema=v,exports.emaInto=o,exports.heikinAshi=E,exports.heikinAshiInto=g,exports.kdj=C,exports.kdjInto=f,exports.macd=x,exports.parseTimeframe=O,exports.resampleBars=j,exports.rmaInto=s,exports.rsi=S,exports.rsiInto=u,exports.sessionKey=m,exports.sma=_,exports.smaInto=r,exports.stdevInto=l,exports.trueRangeInto=d,exports.vwap=T,exports.vwapInto=h,exports.wma=y,exports.wmaInto=c;
|
|
2
|
+
//# sourceMappingURL=indicators.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"indicators.cjs","names":["finite","nanArray","n","periodOf","period","smaInto","p","sum","valid","j","from","v","src","i","old","windowMean","k","smoothInto","prev","out","alpha","emaInto","rmaInto","wmaInto","denominator","direct","num","stdevInto","mean","sq","d","rsiInto","change","close","gain","loss","g","l","ok","c","trueRangeInto","range","high","low","pc","kdjInto","m1","kPeriod","m2","dPeriod","hh","ll","q","rsv","pk","pd","DAY","sessionKey","reset","t","time","utcOffset","day","date","vwapInto","tp","volume","same","basePv","pv","baseV","vol","heikinAshiInto","open","prevOpen","prevClose","o","sma","values","ema","wma","bollinger","middle","upper","lower","dev","multiplier","macd","f","s","fast","slow","line","sig","signal","histogram","rsi","kdj","atr","tr","vwap","options","heikinAshi","bars","UNIT_MS","parseTimeframe","timeframe","match","count","unit","bucketStart","shift","tf","months","start","monday","isColumns","resampleBars","columns","get","current","bar","m","result"],"sources":["../../../../../charts/src/engine/trading/indicators.ts"],"sourcesContent":["// Technical indicators on columns of numbers (Float64Array out, NaN while\n// an indicator warms up). Every kernel computes the outputs from index\n// `from` on, assuming the outputs before it are up to date: the chart\n// recomputes only the last bar on each tick, even with a million bars.\n\nimport type {\n TradingBar,\n TradingBarColumns,\n TradingBarsInput,\n TradingTimeframe,\n} from \"./types\";\n\ntype Values = ArrayLike<number>;\n\nconst finite = Number.isFinite;\n\n/** Output array of `n` values, NaN-filled */\nconst nanArray = (n: number) => new Float64Array(n).fill(NaN);\n\nconst periodOf = (period: number) => Math.max(1, Math.floor(period) || 1);\n\n// ---------------------------------------------------------------- kernels\n\n/** Simple moving average of `src[0..n)` into `out`, from index `from` */\nexport const smaInto = (\n src: Values,\n n: number,\n period: number,\n out: Float64Array,\n from = 0,\n): void => {\n const p = periodOf(period);\n let sum = 0;\n let valid = 0;\n // the window ending just before `from` (the loop below drops its oldest value)\n for (let j = Math.max(0, from - p); j < from; j++) {\n const v = src[j];\n if (finite(v)) {\n sum += v;\n valid++;\n }\n }\n for (let i = from; i < n; i++) {\n const v = src[i];\n if (finite(v)) {\n sum += v;\n valid++;\n }\n if (i >= p) {\n const old = src[i - p];\n if (finite(old)) {\n sum -= old;\n valid--;\n }\n }\n out[i] = valid === p ? sum / p : NaN;\n }\n};\n\n/** Mean of `src[i-p+1..i]`, NaN unless the window is complete */\nconst windowMean = (src: Values, i: number, p: number) => {\n if (i < p - 1) return NaN;\n let sum = 0;\n for (let k = i - p + 1; k <= i; k++) {\n const v = src[k];\n if (!finite(v)) return NaN;\n sum += v;\n }\n return sum / p;\n};\n\n/**\n * Exponential smoothing with factor `alpha`, seeded with the simple\n * average of the first complete window (the TradingView convention)\n */\nconst smoothInto = (\n src: Values,\n n: number,\n p: number,\n alpha: number,\n out: Float64Array,\n from: number,\n) => {\n for (let i = from; i < n; i++) {\n const v = src[i];\n const prev = i > 0 ? out[i - 1] : NaN;\n if (!finite(v)) out[i] = NaN;\n else if (finite(prev)) out[i] = prev + alpha * (v - prev);\n else out[i] = windowMean(src, i, p);\n }\n};\n\n/** Exponential moving average (alpha = 2 / (period + 1)) */\nexport const emaInto = (\n src: Values,\n n: number,\n period: number,\n out: Float64Array,\n from = 0,\n): void => {\n const p = periodOf(period);\n smoothInto(src, n, p, 2 / (p + 1), out, from);\n};\n\n/** Wilder's moving average (alpha = 1 / period), used by RSI and ATR */\nexport const rmaInto = (\n src: Values,\n n: number,\n period: number,\n out: Float64Array,\n from = 0,\n): void => {\n const p = periodOf(period);\n smoothInto(src, n, p, 1 / p, out, from);\n};\n\n/** Linearly weighted moving average (the newest bar weighs `period`) */\nexport const wmaInto = (\n src: Values,\n n: number,\n period: number,\n out: Float64Array,\n from = 0,\n): void => {\n const p = periodOf(period);\n const denominator = (p * (p + 1)) / 2;\n const direct = (i: number) => {\n if (i < p - 1) return NaN;\n let num = 0;\n for (let k = 0; k < p; k++) {\n const v = src[i - k];\n if (!finite(v)) return NaN;\n num += (p - k) * v;\n }\n return num;\n };\n // numerator of the previous index and the sum of its window\n let num = from > 0 ? direct(from - 1) : NaN;\n let sum = from > 0 ? windowMean(src, from - 1, p) * p : NaN;\n for (let i = from; i < n; i++) {\n const v = src[i];\n if (finite(num) && finite(sum) && finite(v)) {\n num = num - sum + p * v;\n sum = sum + v - (i >= p ? src[i - p] : 0);\n } else {\n num = direct(i);\n sum = windowMean(src, i, p) * p;\n }\n out[i] = finite(num) ? num / denominator : NaN;\n }\n};\n\n/** Population standard deviation over the window (two passes: exact) */\nexport const stdevInto = (\n src: Values,\n n: number,\n period: number,\n out: Float64Array,\n from = 0,\n): void => {\n const p = periodOf(period);\n for (let i = from; i < n; i++) {\n const mean = windowMean(src, i, p);\n if (!finite(mean)) {\n out[i] = NaN;\n continue;\n }\n let sq = 0;\n for (let k = i - p + 1; k <= i; k++) {\n const d = src[k] - mean;\n sq += d * d;\n }\n out[i] = Math.sqrt(sq / p);\n }\n};\n\n/** Highest value of the window ending at each index */\nconst extremeInto = (\n src: Values,\n n: number,\n p: number,\n out: Float64Array,\n from: number,\n highest: boolean,\n) => {\n for (let i = from; i < n; i++) {\n if (i < p - 1) {\n out[i] = NaN;\n continue;\n }\n let m = highest ? -Infinity : Infinity;\n for (let k = i - p + 1; k <= i; k++) {\n const v = src[k];\n if (!finite(v)) {\n m = NaN;\n break;\n }\n if (highest ? v > m : v < m) m = v;\n }\n out[i] = m;\n }\n};\n\n/** RSI with Wilder smoothing; `gain` / `loss` hold the running averages */\nexport const rsiInto = (\n close: Values,\n n: number,\n period: number,\n out: Float64Array,\n gain: Float64Array,\n loss: Float64Array,\n from = 0,\n): void => {\n const p = periodOf(period);\n for (let i = from; i < n; i++) {\n gain[i] = loss[i] = NaN;\n out[i] = NaN;\n if (i === 0) continue;\n const change = close[i] - close[i - 1];\n if (!finite(change)) continue;\n if (finite(gain[i - 1]) && finite(loss[i - 1])) {\n gain[i] = (gain[i - 1] * (p - 1) + Math.max(change, 0)) / p;\n loss[i] = (loss[i - 1] * (p - 1) + Math.max(-change, 0)) / p;\n } else if (i >= p) {\n let g = 0;\n let l = 0;\n let ok = true;\n for (let k = i - p + 1; k <= i; k++) {\n const c = close[k] - close[k - 1];\n if (!finite(c)) {\n ok = false;\n break;\n }\n if (c > 0) g += c;\n else l -= c;\n }\n if (!ok) continue;\n gain[i] = g / p;\n loss[i] = l / p;\n } else {\n continue;\n }\n out[i] =\n loss[i] === 0\n ? gain[i] === 0\n ? 50\n : 100\n : 100 - 100 / (1 + gain[i] / loss[i]);\n }\n};\n\n/** True range of each bar */\nexport const trueRangeInto = (\n high: Values,\n low: Values,\n close: Values,\n n: number,\n out: Float64Array,\n from = 0,\n): void => {\n for (let i = from; i < n; i++) {\n const range = high[i] - low[i];\n if (i === 0 || !finite(close[i - 1])) {\n out[i] = range;\n continue;\n }\n const pc = close[i - 1];\n out[i] = Math.max(range, Math.abs(high[i] - pc), Math.abs(low[i] - pc));\n }\n};\n\n/** KDJ: K and D smoothed from the raw stochastic value (seeded at 50), J = 3K − 2D */\nexport const kdjInto = (\n high: Values,\n low: Values,\n close: Values,\n n: number,\n period: number,\n kPeriod: number,\n dPeriod: number,\n k: Float64Array,\n d: Float64Array,\n j: Float64Array,\n from = 0,\n): void => {\n const p = periodOf(period);\n const m1 = periodOf(kPeriod);\n const m2 = periodOf(dPeriod);\n for (let i = from; i < n; i++) {\n k[i] = d[i] = j[i] = NaN;\n if (i < p - 1) continue;\n let hh = -Infinity;\n let ll = Infinity;\n for (let q = i - p + 1; q <= i; q++) {\n if (high[q] > hh) hh = high[q];\n if (low[q] < ll) ll = low[q];\n }\n const c = close[i];\n if (!finite(hh) || !finite(ll) || !finite(c)) continue;\n const rsv = hh === ll ? 50 : ((c - ll) / (hh - ll)) * 100;\n const pk = i > 0 && finite(k[i - 1]) ? k[i - 1] : 50;\n const pd = i > 0 && finite(d[i - 1]) ? d[i - 1] : 50;\n k[i] = ((m1 - 1) * pk + rsv) / m1;\n d[i] = ((m2 - 1) * pd + k[i]) / m2;\n j[i] = 3 * k[i] - 2 * d[i];\n }\n};\n\nconst DAY = 86_400_000;\n\n/** Session key of a time: bars with the same key are in the same VWAP period */\nexport const sessionKey = (\n time: number,\n reset: \"day\" | \"week\" | \"month\" | \"none\",\n utcOffset = 0,\n): number => {\n if (reset === \"none\") return 0;\n const t = time + utcOffset * 60_000;\n const day = Math.floor(t / DAY);\n if (reset === \"day\") return day;\n // 1970-01-01 is a Thursday: weeks start on Monday\n if (reset === \"week\") return Math.floor((day + 3) / 7);\n const date = new Date(t);\n return date.getUTCFullYear() * 12 + date.getUTCMonth();\n};\n\n/** VWAP; `pv` / `vol` hold the cumulative sums of the period */\nexport const vwapInto = (\n high: Values,\n low: Values,\n close: Values,\n volume: Values,\n time: Values | null,\n n: number,\n reset: \"day\" | \"week\" | \"month\" | \"none\",\n utcOffset: number,\n out: Float64Array,\n pv: Float64Array,\n vol: Float64Array,\n from = 0,\n): void => {\n for (let i = from; i < n; i++) {\n const tp = (high[i] + low[i] + close[i]) / 3;\n const v = finite(volume[i]) ? volume[i] : 0;\n const same =\n i > 0 &&\n (!time ||\n sessionKey(time[i], reset, utcOffset) ===\n sessionKey(time[i - 1], reset, utcOffset));\n const basePv = same && finite(pv[i - 1]) ? pv[i - 1] : 0;\n const baseV = same && finite(vol[i - 1]) ? vol[i - 1] : 0;\n pv[i] = basePv + (finite(tp) ? tp * v : 0);\n vol[i] = baseV + v;\n out[i] = vol[i] > 0 ? pv[i] / vol[i] : finite(tp) ? tp : NaN;\n }\n};\n\n/** Heikin-Ashi bars from regular bars */\nexport const heikinAshiInto = (\n open: Values,\n high: Values,\n low: Values,\n close: Values,\n n: number,\n out: {\n open: Float64Array;\n high: Float64Array;\n low: Float64Array;\n close: Float64Array;\n },\n from = 0,\n): void => {\n for (let i = from; i < n; i++) {\n const c = (open[i] + high[i] + low[i] + close[i]) / 4;\n const prevOpen = i > 0 ? out.open[i - 1] : NaN;\n const prevClose = i > 0 ? out.close[i - 1] : NaN;\n const o =\n finite(prevOpen) && finite(prevClose)\n ? (prevOpen + prevClose) / 2\n : (open[i] + close[i]) / 2;\n out.open[i] = o;\n out.close[i] = c;\n out.high[i] = Math.max(high[i], o, c);\n out.low[i] = Math.min(low[i], o, c);\n }\n};\n\n// ------------------------------------------------------- public functions\n\n/**\n * Simple moving average: the mean of the last `period` values (NaN until\n * `period` values are available)\n */\nexport const sma = (values: Values, period: number): Float64Array => {\n const out = nanArray(values.length);\n smaInto(values, values.length, period, out);\n return out;\n};\n\n/** Exponential moving average, seeded with the simple average of the first `period` values */\nexport const ema = (values: Values, period: number): Float64Array => {\n const out = nanArray(values.length);\n emaInto(values, values.length, period, out);\n return out;\n};\n\n/** Linearly weighted moving average: the newest value weighs `period`, the oldest 1 */\nexport const wma = (values: Values, period: number): Float64Array => {\n const out = nanArray(values.length);\n wmaInto(values, values.length, period, out);\n return out;\n};\n\n/** Bollinger bands: simple average ± `multiplier` population standard deviations */\nexport const bollinger = (\n values: Values,\n period = 20,\n multiplier = 2,\n): { middle: Float64Array; upper: Float64Array; lower: Float64Array } => {\n const n = values.length;\n const middle = nanArray(n);\n const upper = nanArray(n);\n const lower = nanArray(n);\n const dev = nanArray(n);\n smaInto(values, n, period, middle);\n stdevInto(values, n, period, dev);\n for (let i = 0; i < n; i++) {\n upper[i] = middle[i] + multiplier * dev[i];\n lower[i] = middle[i] - multiplier * dev[i];\n }\n return { middle, upper, lower };\n};\n\n/** MACD line (fast EMA − slow EMA), its signal EMA and their difference */\nexport const macd = (\n values: Values,\n fast = 12,\n slow = 26,\n signal = 9,\n): { macd: Float64Array; signal: Float64Array; histogram: Float64Array } => {\n const n = values.length;\n const f = nanArray(n);\n const s = nanArray(n);\n emaInto(values, n, fast, f);\n emaInto(values, n, slow, s);\n const line = nanArray(n);\n for (let i = 0; i < n; i++) line[i] = f[i] - s[i];\n const sig = nanArray(n);\n emaInto(line, n, signal, sig);\n const histogram = nanArray(n);\n for (let i = 0; i < n; i++) histogram[i] = line[i] - sig[i];\n return { macd: line, signal: sig, histogram };\n};\n\n/** Relative strength index (0-100) with Wilder smoothing */\nexport const rsi = (values: Values, period = 14): Float64Array => {\n const n = values.length;\n const out = nanArray(n);\n rsiInto(values, n, period, out, nanArray(n), nanArray(n));\n return out;\n};\n\n/** KDJ stochastic: K and D smoothed (seeded at 50), J = 3K − 2D */\nexport const kdj = (\n high: Values,\n low: Values,\n close: Values,\n period = 9,\n kPeriod = 3,\n dPeriod = 3,\n): { k: Float64Array; d: Float64Array; j: Float64Array } => {\n const n = close.length;\n const k = nanArray(n);\n const d = nanArray(n);\n const j = nanArray(n);\n kdjInto(high, low, close, n, period, kPeriod, dPeriod, k, d, j);\n return { k, d, j };\n};\n\n/** Average true range with Wilder smoothing */\nexport const atr = (\n high: Values,\n low: Values,\n close: Values,\n period = 14,\n): Float64Array => {\n const n = close.length;\n const tr = nanArray(n);\n trueRangeInto(high, low, close, n, tr);\n const out = nanArray(n);\n rmaInto(tr, n, period, out);\n return out;\n};\n\n/**\n * Volume-weighted average of the typical price (high + low + close) / 3,\n * restarting each `reset` period (UTC, or shifted by `utcOffset` minutes);\n * without `time`, a single cumulative average\n */\nexport const vwap = (\n high: Values,\n low: Values,\n close: Values,\n volume: Values,\n options: {\n time?: Values;\n reset?: \"day\" | \"week\" | \"month\" | \"none\";\n utcOffset?: number;\n } = {},\n): Float64Array => {\n const n = close.length;\n const out = nanArray(n);\n vwapInto(\n high,\n low,\n close,\n volume,\n options.time ?? null,\n n,\n options.reset ?? \"day\",\n options.utcOffset ?? 0,\n out,\n nanArray(n),\n nanArray(n),\n );\n return out;\n};\n\n/** Heikin-Ashi bars: averaged bars that smooth out the noise of trends */\nexport const heikinAshi = (bars: {\n open: Values;\n high: Values;\n low: Values;\n close: Values;\n}): {\n open: Float64Array;\n high: Float64Array;\n low: Float64Array;\n close: Float64Array;\n} => {\n const n = bars.close.length;\n const out = {\n open: nanArray(n),\n high: nanArray(n),\n low: nanArray(n),\n close: nanArray(n),\n };\n heikinAshiInto(bars.open, bars.high, bars.low, bars.close, n, out);\n return out;\n};\n\n// -------------------------------------------------------------- timeframes\n\n/** A parsed timeframe: a count of a unit, with its approximate duration */\nexport interface ParsedTimeframe {\n unit: \"ms\" | \"month\";\n count: number;\n /** Approximate duration in ms (30 days per month) */\n ms: number;\n}\n\nconst UNIT_MS: Record<string, number> = {\n s: 1000,\n m: 60_000,\n h: 3_600_000,\n H: 3_600_000,\n d: DAY,\n D: DAY,\n w: 7 * DAY,\n W: 7 * DAY,\n};\n\n/** `\"15m\"` -> 15 minutes, `\"1M\"` -> 1 month; `null` when invalid */\nexport const parseTimeframe = (\n timeframe: TradingTimeframe,\n): ParsedTimeframe | null => {\n if (typeof timeframe === \"number\") {\n return timeframe > 0\n ? { unit: \"ms\", count: timeframe, ms: timeframe }\n : null;\n }\n const match = /^(\\d+(?:\\.\\d+)?)([smhHdDwWM])$/.exec(timeframe.trim());\n if (!match) return null;\n const count = Number(match[1]);\n if (!(count > 0)) return null;\n const unit = match[2];\n if (unit === \"M\") return { unit: \"month\", count, ms: count * 30 * DAY };\n return {\n unit: \"ms\",\n count: count * UNIT_MS[unit],\n ms: count * UNIT_MS[unit],\n };\n};\n\n/** Start of the bucket of `time` (weeks start on Monday, months on the 1st) */\nexport const bucketStart = (\n time: number,\n tf: ParsedTimeframe,\n utcOffset = 0,\n): number => {\n const shift = utcOffset * 60_000;\n const t = time + shift;\n if (tf.unit === \"month\") {\n const date = new Date(t);\n const months = date.getUTCFullYear() * 12 + date.getUTCMonth();\n const start = months - (months % tf.count);\n return Date.UTC(Math.floor(start / 12), start % 12, 1) - shift;\n }\n if (tf.count % (7 * DAY) === 0) {\n // Monday-aligned weeks (the epoch is a Thursday)\n const monday = 4 * DAY;\n return Math.floor((t - monday) / tf.count) * tf.count + monday - shift;\n }\n return Math.floor(t / tf.count) * tf.count - shift;\n};\n\nconst isColumns = (bars: TradingBarsInput): bars is TradingBarColumns =>\n !Array.isArray(bars);\n\n/**\n * Aggregates bars into a longer timeframe (`\"5m\"` bars into `\"1H\"`, ...):\n * first open, highest high, lowest low, last close, summed volume. Buckets\n * are aligned on UTC (or shifted by `utcOffset` minutes); weeks start on\n * Monday. Columns in, columns out (Float64Array).\n */\nexport function resampleBars(\n bars: readonly TradingBar[],\n timeframe: TradingTimeframe,\n utcOffset?: number,\n): TradingBar[];\nexport function resampleBars(\n bars: TradingBarColumns,\n timeframe: TradingTimeframe,\n utcOffset?: number,\n): TradingBarColumns;\nexport function resampleBars(\n bars: TradingBarsInput,\n timeframe: TradingTimeframe,\n utcOffset = 0,\n): TradingBar[] | TradingBarColumns {\n const tf = parseTimeframe(timeframe);\n if (!tf) throw new Error(`Invalid timeframe: ${String(timeframe)}`);\n const columns = isColumns(bars);\n const n = columns ? bars.close.length : bars.length;\n const get = (i: number): TradingBar => {\n if (!columns) return (bars as readonly TradingBar[])[i];\n const c = bars as TradingBarColumns;\n return {\n time: c.time[i],\n open: c.open[i],\n high: c.high[i],\n low: c.low[i],\n close: c.close[i],\n volume: c.volume ? c.volume[i] : undefined,\n };\n };\n const out: TradingBar[] = [];\n let current: TradingBar | null = null;\n for (let i = 0; i < n; i++) {\n const bar = get(i);\n const start = bucketStart(bar.time, tf, utcOffset);\n if (!current || start !== current.time) {\n if (current) out.push(current);\n current = {\n time: start,\n open: bar.open,\n high: bar.high,\n low: bar.low,\n close: bar.close,\n volume: bar.volume ?? 0,\n };\n } else {\n if (bar.high > current.high) current.high = bar.high;\n if (bar.low < current.low) current.low = bar.low;\n current.close = bar.close;\n current.volume = (current.volume ?? 0) + (bar.volume ?? 0);\n }\n }\n if (current) out.push(current);\n if (!columns) return out;\n const m = out.length;\n const result = {\n time: new Float64Array(m),\n open: new Float64Array(m),\n high: new Float64Array(m),\n low: new Float64Array(m),\n close: new Float64Array(m),\n volume: new Float64Array(m),\n };\n out.forEach((bar, i) => {\n result.time[i] = bar.time;\n result.open[i] = bar.open;\n result.high[i] = bar.high;\n result.low[i] = bar.low;\n result.close[i] = bar.close;\n result.volume[i] = bar.volume ?? 0;\n });\n return result;\n}\n\n/** Highest / lowest of a window: exported for the KDJ-like studies of the chart */\nexport const highestInto = (\n src: Values,\n n: number,\n period: number,\n out: Float64Array,\n from = 0,\n): void => extremeInto(src, n, periodOf(period), out, from, true);\n\nexport const lowestInto = (\n src: Values,\n n: number,\n period: number,\n out: Float64Array,\n from = 0,\n): void => extremeInto(src, n, periodOf(period), out, from, false);\n"],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { TradingBar, TradingBarColumns, TradingTimeframe } from './types.cjs';
|
|
2
|
+
type Values = ArrayLike<number>;
|
|
3
|
+
/** Simple moving average of `src[0..n)` into `out`, from index `from` */
|
|
4
|
+
export declare const smaInto: (src: Values, n: number, period: number, out: Float64Array, from?: number) => void;
|
|
5
|
+
/** Exponential moving average (alpha = 2 / (period + 1)) */
|
|
6
|
+
export declare const emaInto: (src: Values, n: number, period: number, out: Float64Array, from?: number) => void;
|
|
7
|
+
/** Wilder's moving average (alpha = 1 / period), used by RSI and ATR */
|
|
8
|
+
export declare const rmaInto: (src: Values, n: number, period: number, out: Float64Array, from?: number) => void;
|
|
9
|
+
/** Linearly weighted moving average (the newest bar weighs `period`) */
|
|
10
|
+
export declare const wmaInto: (src: Values, n: number, period: number, out: Float64Array, from?: number) => void;
|
|
11
|
+
/** Population standard deviation over the window (two passes: exact) */
|
|
12
|
+
export declare const stdevInto: (src: Values, n: number, period: number, out: Float64Array, from?: number) => void;
|
|
13
|
+
/** RSI with Wilder smoothing; `gain` / `loss` hold the running averages */
|
|
14
|
+
export declare const rsiInto: (close: Values, n: number, period: number, out: Float64Array, gain: Float64Array, loss: Float64Array, from?: number) => void;
|
|
15
|
+
/** True range of each bar */
|
|
16
|
+
export declare const trueRangeInto: (high: Values, low: Values, close: Values, n: number, out: Float64Array, from?: number) => void;
|
|
17
|
+
/** KDJ: K and D smoothed from the raw stochastic value (seeded at 50), J = 3K − 2D */
|
|
18
|
+
export declare const kdjInto: (high: Values, low: Values, close: Values, n: number, period: number, kPeriod: number, dPeriod: number, k: Float64Array, d: Float64Array, j: Float64Array, from?: number) => void;
|
|
19
|
+
/** Session key of a time: bars with the same key are in the same VWAP period */
|
|
20
|
+
export declare const sessionKey: (time: number, reset: "day" | "week" | "month" | "none", utcOffset?: number) => number;
|
|
21
|
+
/** VWAP; `pv` / `vol` hold the cumulative sums of the period */
|
|
22
|
+
export declare const vwapInto: (high: Values, low: Values, close: Values, volume: Values, time: Values | null, n: number, reset: "day" | "week" | "month" | "none", utcOffset: number, out: Float64Array, pv: Float64Array, vol: Float64Array, from?: number) => void;
|
|
23
|
+
/** Heikin-Ashi bars from regular bars */
|
|
24
|
+
export declare const heikinAshiInto: (open: Values, high: Values, low: Values, close: Values, n: number, out: {
|
|
25
|
+
open: Float64Array;
|
|
26
|
+
high: Float64Array;
|
|
27
|
+
low: Float64Array;
|
|
28
|
+
close: Float64Array;
|
|
29
|
+
}, from?: number) => void;
|
|
30
|
+
/**
|
|
31
|
+
* Simple moving average: the mean of the last `period` values (NaN until
|
|
32
|
+
* `period` values are available)
|
|
33
|
+
*/
|
|
34
|
+
export declare const sma: (values: Values, period: number) => Float64Array;
|
|
35
|
+
/** Exponential moving average, seeded with the simple average of the first `period` values */
|
|
36
|
+
export declare const ema: (values: Values, period: number) => Float64Array;
|
|
37
|
+
/** Linearly weighted moving average: the newest value weighs `period`, the oldest 1 */
|
|
38
|
+
export declare const wma: (values: Values, period: number) => Float64Array;
|
|
39
|
+
/** Bollinger bands: simple average ± `multiplier` population standard deviations */
|
|
40
|
+
export declare const bollinger: (values: Values, period?: number, multiplier?: number) => {
|
|
41
|
+
middle: Float64Array;
|
|
42
|
+
upper: Float64Array;
|
|
43
|
+
lower: Float64Array;
|
|
44
|
+
};
|
|
45
|
+
/** MACD line (fast EMA − slow EMA), its signal EMA and their difference */
|
|
46
|
+
export declare const macd: (values: Values, fast?: number, slow?: number, signal?: number) => {
|
|
47
|
+
macd: Float64Array;
|
|
48
|
+
signal: Float64Array;
|
|
49
|
+
histogram: Float64Array;
|
|
50
|
+
};
|
|
51
|
+
/** Relative strength index (0-100) with Wilder smoothing */
|
|
52
|
+
export declare const rsi: (values: Values, period?: number) => Float64Array;
|
|
53
|
+
/** KDJ stochastic: K and D smoothed (seeded at 50), J = 3K − 2D */
|
|
54
|
+
export declare const kdj: (high: Values, low: Values, close: Values, period?: number, kPeriod?: number, dPeriod?: number) => {
|
|
55
|
+
k: Float64Array;
|
|
56
|
+
d: Float64Array;
|
|
57
|
+
j: Float64Array;
|
|
58
|
+
};
|
|
59
|
+
/** Average true range with Wilder smoothing */
|
|
60
|
+
export declare const atr: (high: Values, low: Values, close: Values, period?: number) => Float64Array;
|
|
61
|
+
/**
|
|
62
|
+
* Volume-weighted average of the typical price (high + low + close) / 3,
|
|
63
|
+
* restarting each `reset` period (UTC, or shifted by `utcOffset` minutes);
|
|
64
|
+
* without `time`, a single cumulative average
|
|
65
|
+
*/
|
|
66
|
+
export declare const vwap: (high: Values, low: Values, close: Values, volume: Values, options?: {
|
|
67
|
+
time?: Values;
|
|
68
|
+
reset?: "day" | "week" | "month" | "none";
|
|
69
|
+
utcOffset?: number;
|
|
70
|
+
}) => Float64Array;
|
|
71
|
+
/** Heikin-Ashi bars: averaged bars that smooth out the noise of trends */
|
|
72
|
+
export declare const heikinAshi: (bars: {
|
|
73
|
+
open: Values;
|
|
74
|
+
high: Values;
|
|
75
|
+
low: Values;
|
|
76
|
+
close: Values;
|
|
77
|
+
}) => {
|
|
78
|
+
open: Float64Array;
|
|
79
|
+
high: Float64Array;
|
|
80
|
+
low: Float64Array;
|
|
81
|
+
close: Float64Array;
|
|
82
|
+
};
|
|
83
|
+
/** A parsed timeframe: a count of a unit, with its approximate duration */
|
|
84
|
+
export interface ParsedTimeframe {
|
|
85
|
+
unit: "ms" | "month";
|
|
86
|
+
count: number;
|
|
87
|
+
/** Approximate duration in ms (30 days per month) */
|
|
88
|
+
ms: number;
|
|
89
|
+
}
|
|
90
|
+
/** `"15m"` -> 15 minutes, `"1M"` -> 1 month; `null` when invalid */
|
|
91
|
+
export declare const parseTimeframe: (timeframe: TradingTimeframe) => ParsedTimeframe | null;
|
|
92
|
+
/** Start of the bucket of `time` (weeks start on Monday, months on the 1st) */
|
|
93
|
+
export declare const bucketStart: (time: number, tf: ParsedTimeframe, utcOffset?: number) => number;
|
|
94
|
+
/**
|
|
95
|
+
* Aggregates bars into a longer timeframe (`"5m"` bars into `"1H"`, ...):
|
|
96
|
+
* first open, highest high, lowest low, last close, summed volume. Buckets
|
|
97
|
+
* are aligned on UTC (or shifted by `utcOffset` minutes); weeks start on
|
|
98
|
+
* Monday. Columns in, columns out (Float64Array).
|
|
99
|
+
*/
|
|
100
|
+
export declare function resampleBars(bars: readonly TradingBar[], timeframe: TradingTimeframe, utcOffset?: number): TradingBar[];
|
|
101
|
+
export declare function resampleBars(bars: TradingBarColumns, timeframe: TradingTimeframe, utcOffset?: number): TradingBarColumns;
|
|
102
|
+
/** Highest / lowest of a window: exported for the KDJ-like studies of the chart */
|
|
103
|
+
export declare const highestInto: (src: Values, n: number, period: number, out: Float64Array, from?: number) => void;
|
|
104
|
+
export declare const lowestInto: (src: Values, n: number, period: number, out: Float64Array, from?: number) => void;
|
|
105
|
+
export {};
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { TradingBar, TradingBarColumns, TradingTimeframe } from './types.js';
|
|
2
|
+
type Values = ArrayLike<number>;
|
|
3
|
+
/** Simple moving average of `src[0..n)` into `out`, from index `from` */
|
|
4
|
+
export declare const smaInto: (src: Values, n: number, period: number, out: Float64Array, from?: number) => void;
|
|
5
|
+
/** Exponential moving average (alpha = 2 / (period + 1)) */
|
|
6
|
+
export declare const emaInto: (src: Values, n: number, period: number, out: Float64Array, from?: number) => void;
|
|
7
|
+
/** Wilder's moving average (alpha = 1 / period), used by RSI and ATR */
|
|
8
|
+
export declare const rmaInto: (src: Values, n: number, period: number, out: Float64Array, from?: number) => void;
|
|
9
|
+
/** Linearly weighted moving average (the newest bar weighs `period`) */
|
|
10
|
+
export declare const wmaInto: (src: Values, n: number, period: number, out: Float64Array, from?: number) => void;
|
|
11
|
+
/** Population standard deviation over the window (two passes: exact) */
|
|
12
|
+
export declare const stdevInto: (src: Values, n: number, period: number, out: Float64Array, from?: number) => void;
|
|
13
|
+
/** RSI with Wilder smoothing; `gain` / `loss` hold the running averages */
|
|
14
|
+
export declare const rsiInto: (close: Values, n: number, period: number, out: Float64Array, gain: Float64Array, loss: Float64Array, from?: number) => void;
|
|
15
|
+
/** True range of each bar */
|
|
16
|
+
export declare const trueRangeInto: (high: Values, low: Values, close: Values, n: number, out: Float64Array, from?: number) => void;
|
|
17
|
+
/** KDJ: K and D smoothed from the raw stochastic value (seeded at 50), J = 3K − 2D */
|
|
18
|
+
export declare const kdjInto: (high: Values, low: Values, close: Values, n: number, period: number, kPeriod: number, dPeriod: number, k: Float64Array, d: Float64Array, j: Float64Array, from?: number) => void;
|
|
19
|
+
/** Session key of a time: bars with the same key are in the same VWAP period */
|
|
20
|
+
export declare const sessionKey: (time: number, reset: "day" | "week" | "month" | "none", utcOffset?: number) => number;
|
|
21
|
+
/** VWAP; `pv` / `vol` hold the cumulative sums of the period */
|
|
22
|
+
export declare const vwapInto: (high: Values, low: Values, close: Values, volume: Values, time: Values | null, n: number, reset: "day" | "week" | "month" | "none", utcOffset: number, out: Float64Array, pv: Float64Array, vol: Float64Array, from?: number) => void;
|
|
23
|
+
/** Heikin-Ashi bars from regular bars */
|
|
24
|
+
export declare const heikinAshiInto: (open: Values, high: Values, low: Values, close: Values, n: number, out: {
|
|
25
|
+
open: Float64Array;
|
|
26
|
+
high: Float64Array;
|
|
27
|
+
low: Float64Array;
|
|
28
|
+
close: Float64Array;
|
|
29
|
+
}, from?: number) => void;
|
|
30
|
+
/**
|
|
31
|
+
* Simple moving average: the mean of the last `period` values (NaN until
|
|
32
|
+
* `period` values are available)
|
|
33
|
+
*/
|
|
34
|
+
export declare const sma: (values: Values, period: number) => Float64Array;
|
|
35
|
+
/** Exponential moving average, seeded with the simple average of the first `period` values */
|
|
36
|
+
export declare const ema: (values: Values, period: number) => Float64Array;
|
|
37
|
+
/** Linearly weighted moving average: the newest value weighs `period`, the oldest 1 */
|
|
38
|
+
export declare const wma: (values: Values, period: number) => Float64Array;
|
|
39
|
+
/** Bollinger bands: simple average ± `multiplier` population standard deviations */
|
|
40
|
+
export declare const bollinger: (values: Values, period?: number, multiplier?: number) => {
|
|
41
|
+
middle: Float64Array;
|
|
42
|
+
upper: Float64Array;
|
|
43
|
+
lower: Float64Array;
|
|
44
|
+
};
|
|
45
|
+
/** MACD line (fast EMA − slow EMA), its signal EMA and their difference */
|
|
46
|
+
export declare const macd: (values: Values, fast?: number, slow?: number, signal?: number) => {
|
|
47
|
+
macd: Float64Array;
|
|
48
|
+
signal: Float64Array;
|
|
49
|
+
histogram: Float64Array;
|
|
50
|
+
};
|
|
51
|
+
/** Relative strength index (0-100) with Wilder smoothing */
|
|
52
|
+
export declare const rsi: (values: Values, period?: number) => Float64Array;
|
|
53
|
+
/** KDJ stochastic: K and D smoothed (seeded at 50), J = 3K − 2D */
|
|
54
|
+
export declare const kdj: (high: Values, low: Values, close: Values, period?: number, kPeriod?: number, dPeriod?: number) => {
|
|
55
|
+
k: Float64Array;
|
|
56
|
+
d: Float64Array;
|
|
57
|
+
j: Float64Array;
|
|
58
|
+
};
|
|
59
|
+
/** Average true range with Wilder smoothing */
|
|
60
|
+
export declare const atr: (high: Values, low: Values, close: Values, period?: number) => Float64Array;
|
|
61
|
+
/**
|
|
62
|
+
* Volume-weighted average of the typical price (high + low + close) / 3,
|
|
63
|
+
* restarting each `reset` period (UTC, or shifted by `utcOffset` minutes);
|
|
64
|
+
* without `time`, a single cumulative average
|
|
65
|
+
*/
|
|
66
|
+
export declare const vwap: (high: Values, low: Values, close: Values, volume: Values, options?: {
|
|
67
|
+
time?: Values;
|
|
68
|
+
reset?: "day" | "week" | "month" | "none";
|
|
69
|
+
utcOffset?: number;
|
|
70
|
+
}) => Float64Array;
|
|
71
|
+
/** Heikin-Ashi bars: averaged bars that smooth out the noise of trends */
|
|
72
|
+
export declare const heikinAshi: (bars: {
|
|
73
|
+
open: Values;
|
|
74
|
+
high: Values;
|
|
75
|
+
low: Values;
|
|
76
|
+
close: Values;
|
|
77
|
+
}) => {
|
|
78
|
+
open: Float64Array;
|
|
79
|
+
high: Float64Array;
|
|
80
|
+
low: Float64Array;
|
|
81
|
+
close: Float64Array;
|
|
82
|
+
};
|
|
83
|
+
/** A parsed timeframe: a count of a unit, with its approximate duration */
|
|
84
|
+
export interface ParsedTimeframe {
|
|
85
|
+
unit: "ms" | "month";
|
|
86
|
+
count: number;
|
|
87
|
+
/** Approximate duration in ms (30 days per month) */
|
|
88
|
+
ms: number;
|
|
89
|
+
}
|
|
90
|
+
/** `"15m"` -> 15 minutes, `"1M"` -> 1 month; `null` when invalid */
|
|
91
|
+
export declare const parseTimeframe: (timeframe: TradingTimeframe) => ParsedTimeframe | null;
|
|
92
|
+
/** Start of the bucket of `time` (weeks start on Monday, months on the 1st) */
|
|
93
|
+
export declare const bucketStart: (time: number, tf: ParsedTimeframe, utcOffset?: number) => number;
|
|
94
|
+
/**
|
|
95
|
+
* Aggregates bars into a longer timeframe (`"5m"` bars into `"1H"`, ...):
|
|
96
|
+
* first open, highest high, lowest low, last close, summed volume. Buckets
|
|
97
|
+
* are aligned on UTC (or shifted by `utcOffset` minutes); weeks start on
|
|
98
|
+
* Monday. Columns in, columns out (Float64Array).
|
|
99
|
+
*/
|
|
100
|
+
export declare function resampleBars(bars: readonly TradingBar[], timeframe: TradingTimeframe, utcOffset?: number): TradingBar[];
|
|
101
|
+
export declare function resampleBars(bars: TradingBarColumns, timeframe: TradingTimeframe, utcOffset?: number): TradingBarColumns;
|
|
102
|
+
/** Highest / lowest of a window: exported for the KDJ-like studies of the chart */
|
|
103
|
+
export declare const highestInto: (src: Values, n: number, period: number, out: Float64Array, from?: number) => void;
|
|
104
|
+
export declare const lowestInto: (src: Values, n: number, period: number, out: Float64Array, from?: number) => void;
|
|
105
|
+
export {};
|