minerva-design 1.3.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 +9 -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 +7 -2
- package/dist/charts/canvas.d.ts +7 -2
- package/dist/charts/core.cjs +1 -1
- package/dist/charts/core.d.cts +7 -4
- package/dist/charts/core.d.ts +7 -4
- package/dist/charts/core.js +19 -8
- 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 +118 -68
- package/dist/charts/engine/canvas.js.map +1 -1
- package/dist/charts/engine/chart.cjs +1 -1
- package/dist/charts/engine/chart.cjs.map +1 -1
- package/dist/charts/engine/chart.d.cts +1 -1
- package/dist/charts/engine/chart.d.ts +1 -1
- package/dist/charts/engine/chart.js +307 -285
- 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.js +2 -2
- package/dist/charts/engine/color.js.map +1 -1
- package/dist/charts/engine/controller.cjs +1 -1
- package/dist/charts/engine/controller.cjs.map +1 -1
- package/dist/charts/engine/controller.d.cts +12 -3
- package/dist/charts/engine/controller.d.ts +12 -3
- package/dist/charts/engine/controller.js +359 -299
- package/dist/charts/engine/controller.js.map +1 -1
- package/dist/charts/engine/data.cjs +1 -1
- package/dist/charts/engine/data.cjs.map +1 -1
- package/dist/charts/engine/data.d.cts +6 -0
- package/dist/charts/engine/data.d.ts +6 -0
- package/dist/charts/engine/data.js +63 -49
- package/dist/charts/engine/data.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 +211 -54
- 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 +39 -1
- package/dist/charts/engine/model.d.ts +39 -1
- package/dist/charts/engine/model.js +212 -105
- 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 -2
- package/dist/charts/engine/overlay.d.ts +18 -2
- package/dist/charts/engine/overlay.js +132 -96
- package/dist/charts/engine/overlay.js.map +1 -1
- package/dist/charts/engine/presets.cjs +2 -2
- package/dist/charts/engine/presets.cjs.map +1 -1
- package/dist/charts/engine/presets.d.cts +249 -1
- package/dist/charts/engine/presets.d.ts +249 -1
- package/dist/charts/engine/presets.js +367 -29
- package/dist/charts/engine/presets.js.map +1 -1
- package/dist/charts/engine/renderers/detect.cjs +1 -1
- package/dist/charts/engine/renderers/detect.cjs.map +1 -1
- package/dist/charts/engine/renderers/detect.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/shaders.cjs +143 -1
- package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
- package/dist/charts/engine/renderers/shaders.d.cts +16 -0
- package/dist/charts/engine/renderers/shaders.d.ts +16 -0
- package/dist/charts/engine/renderers/shaders.js +139 -1
- package/dist/charts/engine/renderers/shaders.js.map +1 -1
- package/dist/charts/engine/renderers/webgl.cjs +2 -0
- package/dist/charts/engine/renderers/webgl.cjs.map +1 -0
- package/dist/charts/engine/renderers/webgl.d.cts +4 -0
- package/dist/charts/engine/renderers/webgl.d.ts +4 -0
- package/dist/charts/engine/renderers/webgl.js +133 -0
- package/dist/charts/engine/renderers/webgl.js.map +1 -0
- package/dist/charts/engine/renderers/webgl2.cjs +1 -1
- package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
- package/dist/charts/engine/renderers/webgl2.d.cts +0 -1
- package/dist/charts/engine/renderers/webgl2.d.ts +0 -1
- package/dist/charts/engine/renderers/webgl2.js +59 -108
- package/dist/charts/engine/renderers/webgl2.js.map +1 -1
- package/dist/charts/engine/scale.cjs +1 -1
- package/dist/charts/engine/scale.cjs.map +1 -1
- package/dist/charts/engine/scale.js +1 -1
- package/dist/charts/engine/scale.js.map +1 -1
- package/dist/charts/engine/scene.cjs +1 -1
- package/dist/charts/engine/scene.cjs.map +1 -1
- package/dist/charts/engine/scene.d.cts +14 -4
- package/dist/charts/engine/scene.d.ts +14 -4
- package/dist/charts/engine/scene.js +292 -163
- package/dist/charts/engine/scene.js.map +1 -1
- package/dist/charts/engine/shapes/bullet.cjs +2 -0
- package/dist/charts/engine/shapes/bullet.cjs.map +1 -0
- package/dist/charts/engine/shapes/bullet.d.cts +6 -0
- package/dist/charts/engine/shapes/bullet.d.ts +6 -0
- package/dist/charts/engine/shapes/bullet.js +255 -0
- package/dist/charts/engine/shapes/bullet.js.map +1 -0
- package/dist/charts/engine/shapes/calendar.cjs +2 -0
- package/dist/charts/engine/shapes/calendar.cjs.map +1 -0
- package/dist/charts/engine/shapes/calendar.d.cts +38 -0
- package/dist/charts/engine/shapes/calendar.d.ts +38 -0
- package/dist/charts/engine/shapes/calendar.js +369 -0
- package/dist/charts/engine/shapes/calendar.js.map +1 -0
- package/dist/charts/engine/shapes/canvas.cjs +1 -1
- package/dist/charts/engine/shapes/canvas.cjs.map +1 -1
- package/dist/charts/engine/shapes/canvas.d.cts +7 -0
- package/dist/charts/engine/shapes/canvas.d.ts +7 -0
- package/dist/charts/engine/shapes/canvas.js +22 -13
- package/dist/charts/engine/shapes/canvas.js.map +1 -1
- package/dist/charts/engine/shapes/chart.cjs +1 -1
- package/dist/charts/engine/shapes/chart.cjs.map +1 -1
- package/dist/charts/engine/shapes/chart.d.cts +3 -2
- package/dist/charts/engine/shapes/chart.d.ts +3 -2
- package/dist/charts/engine/shapes/chart.js +45 -26
- package/dist/charts/engine/shapes/chart.js.map +1 -1
- package/dist/charts/engine/shapes/draw.cjs +1 -1
- package/dist/charts/engine/shapes/draw.cjs.map +1 -1
- package/dist/charts/engine/shapes/draw.d.cts +3 -1
- package/dist/charts/engine/shapes/draw.d.ts +3 -1
- package/dist/charts/engine/shapes/draw.js +31 -18
- package/dist/charts/engine/shapes/draw.js.map +1 -1
- package/dist/charts/engine/shapes/funnel.cjs +1 -1
- package/dist/charts/engine/shapes/funnel.cjs.map +1 -1
- package/dist/charts/engine/shapes/funnel.js +3 -3
- package/dist/charts/engine/shapes/funnel.js.map +1 -1
- package/dist/charts/engine/shapes/gauge.cjs +1 -1
- package/dist/charts/engine/shapes/gauge.cjs.map +1 -1
- package/dist/charts/engine/shapes/gauge.js +132 -95
- package/dist/charts/engine/shapes/gauge.js.map +1 -1
- package/dist/charts/engine/shapes/hit.cjs +1 -1
- package/dist/charts/engine/shapes/hit.cjs.map +1 -1
- package/dist/charts/engine/shapes/hit.d.cts +3 -1
- package/dist/charts/engine/shapes/hit.d.ts +3 -1
- package/dist/charts/engine/shapes/hit.js +29 -8
- package/dist/charts/engine/shapes/hit.js.map +1 -1
- package/dist/charts/engine/shapes/index.d.cts +4 -1
- package/dist/charts/engine/shapes/index.d.ts +4 -1
- 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 +2 -2
- package/dist/charts/engine/shapes/layout.cjs.map +1 -1
- package/dist/charts/engine/shapes/layout.d.cts +8 -3
- package/dist/charts/engine/shapes/layout.d.ts +8 -3
- package/dist/charts/engine/shapes/layout.js +200 -113
- package/dist/charts/engine/shapes/layout.js.map +1 -1
- package/dist/charts/engine/shapes/pie.cjs +1 -1
- package/dist/charts/engine/shapes/pie.cjs.map +1 -1
- package/dist/charts/engine/shapes/pie.js +2 -2
- package/dist/charts/engine/shapes/pie.js.map +1 -1
- package/dist/charts/engine/shapes/radar.cjs +1 -1
- package/dist/charts/engine/shapes/radar.cjs.map +1 -1
- package/dist/charts/engine/shapes/radar.d.cts +2 -2
- package/dist/charts/engine/shapes/radar.d.ts +2 -2
- package/dist/charts/engine/shapes/radar.js +50 -49
- package/dist/charts/engine/shapes/radar.js.map +1 -1
- package/dist/charts/engine/shapes/radialBar.cjs +2 -0
- package/dist/charts/engine/shapes/radialBar.cjs.map +1 -0
- package/dist/charts/engine/shapes/radialBar.d.cts +8 -0
- package/dist/charts/engine/shapes/radialBar.d.ts +8 -0
- package/dist/charts/engine/shapes/radialBar.js +155 -0
- package/dist/charts/engine/shapes/radialBar.js.map +1 -0
- package/dist/charts/engine/shapes/runtime.cjs +1 -1
- package/dist/charts/engine/shapes/runtime.cjs.map +1 -1
- package/dist/charts/engine/shapes/runtime.d.cts +9 -2
- package/dist/charts/engine/shapes/runtime.d.ts +9 -2
- package/dist/charts/engine/shapes/runtime.js +61 -51
- package/dist/charts/engine/shapes/runtime.js.map +1 -1
- package/dist/charts/engine/shapes/sankey.cjs +2 -0
- package/dist/charts/engine/shapes/sankey.cjs.map +1 -0
- package/dist/charts/engine/shapes/sankey.d.cts +29 -0
- package/dist/charts/engine/shapes/sankey.d.ts +29 -0
- package/dist/charts/engine/shapes/sankey.js +372 -0
- package/dist/charts/engine/shapes/sankey.js.map +1 -0
- package/dist/charts/engine/shapes/scene.cjs +1 -1
- package/dist/charts/engine/shapes/scene.cjs.map +1 -1
- package/dist/charts/engine/shapes/scene.d.cts +62 -8
- package/dist/charts/engine/shapes/scene.d.ts +62 -8
- package/dist/charts/engine/shapes/scene.js +33 -31
- package/dist/charts/engine/shapes/scene.js.map +1 -1
- package/dist/charts/engine/shapes/sunburst.cjs +2 -0
- package/dist/charts/engine/shapes/sunburst.cjs.map +1 -0
- package/dist/charts/engine/shapes/sunburst.d.cts +6 -0
- package/dist/charts/engine/shapes/sunburst.d.ts +6 -0
- package/dist/charts/engine/shapes/sunburst.js +261 -0
- package/dist/charts/engine/shapes/sunburst.js.map +1 -0
- package/dist/charts/engine/shapes/treemap.cjs +1 -1
- package/dist/charts/engine/shapes/treemap.cjs.map +1 -1
- package/dist/charts/engine/shapes/treemap.js +2 -2
- package/dist/charts/engine/shapes/treemap.js.map +1 -1
- package/dist/charts/engine/shapes/types.d.cts +439 -12
- package/dist/charts/engine/shapes/types.d.ts +439 -12
- 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 +165 -14
- package/dist/charts/engine/types.d.ts +165 -14
- package/dist/charts/index.cjs +1 -1
- package/dist/charts/index.d.cts +7 -4
- package/dist/charts/index.d.ts +7 -4
- package/dist/charts/index.js +22 -11
- package/dist/charts/react/Chart.cjs +1 -1
- package/dist/charts/react/Chart.cjs.map +1 -1
- package/dist/charts/react/Chart.d.cts +4 -4
- package/dist/charts/react/Chart.d.ts +4 -4
- package/dist/charts/react/Chart.js +5 -1
- package/dist/charts/react/Chart.js.map +1 -1
- package/dist/charts/react/charts.cjs +1 -1
- package/dist/charts/react/charts.cjs.map +1 -1
- package/dist/charts/react/charts.d.cts +39 -1
- package/dist/charts/react/charts.d.ts +39 -1
- package/dist/charts/react/charts.js +303 -131
- 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 +1 -1
- package/dist/charts/react/shapes.cjs.map +1 -1
- package/dist/charts/react/shapes.d.cts +291 -9
- package/dist/charts/react/shapes.d.ts +291 -9
- package/dist/charts/react/shapes.js +280 -93
- package/dist/charts/react/shapes.js.map +1 -1
- package/dist/charts/react/three-d.cjs +2 -0
- package/dist/charts/react/three-d.cjs.map +1 -0
- package/dist/charts/react/three-d.d.cts +151 -0
- package/dist/charts/react/three-d.d.ts +151 -0
- package/dist/charts/react/three-d.js +154 -0
- package/dist/charts/react/three-d.js.map +1 -0
- package/dist/charts/react/trading.cjs +2 -0
- package/dist/charts/react/trading.cjs.map +1 -0
- package/dist/charts/react/trading.d.cts +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 +132 -8
- package/dist/charts/react/types.d.ts +132 -8
- package/dist/core/contracts.cjs +1 -1
- package/dist/core/contracts.cjs.map +1 -1
- package/dist/core/contracts.js +1 -1
- package/dist/core/contracts.js.map +1 -1
- package/dist/native/charts/src/canvas.cjs +1 -1
- package/dist/native/charts/src/canvas.js +9 -3
- package/dist/native/charts/src/engine/axis.cjs +1 -1
- package/dist/native/charts/src/engine/axis.cjs.map +1 -1
- package/dist/native/charts/src/engine/axis.js +6 -6
- package/dist/native/charts/src/engine/axis.js.map +1 -1
- package/dist/native/charts/src/engine/controller.cjs +1 -1
- package/dist/native/charts/src/engine/controller.cjs.map +1 -1
- package/dist/native/charts/src/engine/controller.js +352 -292
- package/dist/native/charts/src/engine/controller.js.map +1 -1
- package/dist/native/charts/src/engine/data.cjs +1 -1
- package/dist/native/charts/src/engine/data.cjs.map +1 -1
- package/dist/native/charts/src/engine/data.js +63 -49
- package/dist/native/charts/src/engine/data.js.map +1 -1
- package/dist/native/charts/src/engine/format.cjs +1 -1
- package/dist/native/charts/src/engine/format.cjs.map +1 -1
- package/dist/native/charts/src/engine/format.js +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 +223 -116
- package/dist/native/charts/src/engine/model.js.map +1 -1
- package/dist/native/charts/src/engine/overlay.cjs +1 -1
- package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
- package/dist/native/charts/src/engine/overlay.js +46 -23
- package/dist/native/charts/src/engine/overlay.js.map +1 -1
- package/dist/native/charts/src/engine/presets.cjs +2 -2
- package/dist/native/charts/src/engine/presets.cjs.map +1 -1
- package/dist/native/charts/src/engine/presets.js +448 -33
- 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 +296 -167
- 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/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 +234 -217
- 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 +154 -84
- 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 +7517 -1856
- 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 +8 -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 +1433 -4478
- 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":"tape.cjs","names":["createEmitter","createFormatters","createHost","sideColors","localeLabels","decimalsOf","clamp","ease","toCss","fontOf","formatClock","localPoint","require_color","require_locale","require_book","require_format","require_host","LABELS","COLUMNS","BUY","SELL","MAX_LAG","FLASH_MS","createRing","cap","max","slot","ring","k","pushSlot","i","next","key","old","grown","createTimeAndSales","options","initial","emitter","capacity","raw","rows","open","head","closedTotal","lastPrice","lastTick","fmt","priceDecimals","sizeDecimals","colors","view","target","userScrolled","hoverPaused","paused","lastFrame","hoverAt","keySeq","hoverKey","hovered","dragging","layout","host","container","root","texts","labels","applyTexts","minSize","openVisible","count","refreshFormat","infer","p","trade","s","writeRow","a","ingest","side","time","size","price","tick","arrival","advance","after","delta","before","n","addTrade","rebuild","rowAt","index","visibleOpen","toEvent","row","setPaused","scrollTo","rowsFromTop","user","draw","ctx","l","compact","width","fontSize","rh","headerH","top","visible","height","dt","now","animating","dpr","text","theme","muted","pad","scrollbar","right","cols","all","c","shownCols","weights","totalWeight","colRight","acc","colLeft","j","alignLeft","threshold","first","offset","flash","hoverIndex","r","y","sell","color","large","age","ty","weight","left","x","tickColor","label","w","trackH","track","pageRows","thumbH","maxScroll","thumbY","active","badge","above","textParts","bw","bh","bx","by","inRect","latest","thumbScroll","th","ratio","onPointerMove","event","onPointerLeave","onPointerDown","onPointerUp","onClick","instance","onWheel","step","onKeyDown","page","select","onBlur","nowMs","reset","list","trades","previous","nextCapacity","handler"],"sources":["../../../../../charts/src/engine/orderbook/tape.ts"],"sourcesContent":["// createTimeAndSales: the trade tape. Trades are kept in a ring of typed\n// arrays (hundreds of thousands cost a few megabytes, no object per trade);\n// a second ring holds the rows after the size filter and the same\n// millisecond aggregation. Only the visible rows are drawn, once per frame\n// whatever the number of trades received in between.\n\nimport { toCss, type Rgba } from \"../color\";\nimport { decimalsOf } from \"./book\";\nimport {\n clamp,\n createFormatters,\n ease,\n fontOf,\n formatClock,\n roundRect,\n sideColors,\n type Formatters,\n} from \"./format\";\nimport { localeLabels, type LabelDictionary } from \"../locale\";\nimport { createEmitter, createHost, localPoint } from \"./host\";\nimport type {\n MarketTrade,\n TimeAndSalesColumn,\n TimeAndSalesEventMap,\n TimeAndSalesInstance,\n TimeAndSalesLabels,\n TimeAndSalesOptions,\n TimeAndSalesRowEvent,\n} from \"./types\";\n\nconst LABELS: LabelDictionary<TimeAndSalesLabels> = {\n en: {\n time: \"Time\",\n price: \"Price\",\n size: \"Size\",\n side: \"Side\",\n buy: \"Buy\",\n sell: \"Sell\",\n paused: \"Paused\",\n newTrades: \"{count} new\",\n name: \"Time and sales\",\n },\n zh: {\n time: \"时间\",\n price: \"价格\",\n size: \"数量\",\n side: \"方向\",\n buy: \"买入\",\n sell: \"卖出\",\n paused: \"已暂停\",\n newTrades: \"{count} 条新成交\",\n name: \"逐笔成交\",\n },\n ja: {\n time: \"時刻\",\n price: \"価格\",\n size: \"数量\",\n side: \"売買\",\n buy: \"買い\",\n sell: \"売り\",\n paused: \"一時停止中\",\n newTrades: \"新着 {count} 件\",\n name: \"歩み値\",\n },\n fr: {\n time: \"Heure\",\n price: \"Prix\",\n size: \"Quantité\",\n side: \"Sens\",\n buy: \"Achat\",\n sell: \"Vente\",\n paused: \"En pause\",\n newTrades: \"{count} nouvelles\",\n name: \"Historique des transactions\",\n },\n};\n\nconst COLUMNS: readonly TimeAndSalesColumn[] = [\"time\", \"price\", \"size\"];\nconst BUY = 1;\nconst SELL = 2;\n/** Rows the slide-in animation may lag behind the newest one */\nconst MAX_LAG = 3;\nconst FLASH_MS = 450;\n\n/** Growable ring of trades stored column by column */\ninterface Ring {\n time: Float64Array;\n price: Float64Array;\n size: Float64Array;\n side: Uint8Array;\n /** -1 down tick, 0 unchanged, 1 up tick */\n tick: Int8Array;\n /** Trades merged into the row */\n count: Uint32Array;\n /** Local arrival time of the row (flash), `-Infinity` without flash */\n arrival: Float64Array;\n start: number;\n length: number;\n readonly max: number;\n}\n\nconst createRing = (max: number): Ring => {\n const cap = Math.min(max, 1024);\n return {\n time: new Float64Array(cap),\n price: new Float64Array(cap),\n size: new Float64Array(cap),\n side: new Uint8Array(cap),\n tick: new Int8Array(cap),\n count: new Uint32Array(cap),\n arrival: new Float64Array(cap),\n start: 0,\n length: 0,\n max,\n };\n};\n\n/** Physical index of the `k`-th oldest row */\nconst slot = (ring: Ring, k: number) => (ring.start + k) % ring.time.length;\n\n/** Physical index of a new row (grows the arrays, drops the oldest row when full) */\nconst pushSlot = (ring: Ring): number => {\n const cap = ring.time.length;\n if (ring.length < cap) {\n const i = (ring.start + ring.length) % cap;\n ring.length++;\n return i;\n }\n if (cap < ring.max) {\n const next = Math.min(ring.max, cap * 2);\n const keys = [\n \"time\",\n \"price\",\n \"size\",\n \"side\",\n \"tick\",\n \"count\",\n \"arrival\",\n ] as const;\n for (const key of keys) {\n const old = ring[key];\n const grown = new (old.constructor as new (n: number) => typeof old)(\n next,\n );\n // unwrap: oldest row first\n grown.set(old.subarray(ring.start) as never);\n grown.set(old.subarray(0, ring.start) as never, cap - ring.start);\n (ring as unknown as Record<string, unknown>)[key] = grown;\n }\n ring.start = 0;\n ring.length++;\n return cap;\n }\n // full: the oldest row is replaced\n const i = ring.start;\n ring.start = (ring.start + 1) % cap;\n return i;\n};\n\ninterface Aggregate {\n time: number;\n price: number;\n size: number;\n side: number;\n tick: number;\n count: number;\n arrival: number;\n}\n\n/**\n * Creates a time and sales tape in `container`: newest trades on top,\n * virtualized rows, large trade highlight, pause on hover.\n */\nexport const createTimeAndSales = (\n container: HTMLElement,\n initial: TimeAndSalesOptions = {},\n): TimeAndSalesInstance => {\n let options = initial;\n const emitter = createEmitter<TimeAndSalesEventMap>();\n let capacity = Math.max(1, Math.round(options.capacity ?? 200000));\n let raw = createRing(capacity);\n let rows = createRing(capacity);\n /** Aggregate still receiving trades (aggregation only) */\n let open: Aggregate | null = null;\n /** Rows ever shown (closed rows + the open one when visible); only grows */\n let head = 0;\n let closedTotal = 0;\n let lastPrice = NaN;\n let lastTick = 0;\n let fmt: Formatters = createFormatters(options, 2, 4);\n let priceDecimals = 0;\n let sizeDecimals = 0;\n let colors = { up: [0, 0, 0, 1] as Rgba, down: [0, 0, 0, 1] as Rgba };\n\n // scrolling, in rows from the newest one\n let view = 0;\n let target = 0;\n let userScrolled = false;\n let hoverPaused = false;\n let paused = false;\n let lastFrame = NaN;\n let hoverAt: [number, number] | null = null;\n /** Keyboard selection: sequence number of the row (head - 1 - index) */\n let keySeq: number | null = null;\n let hoverKey = \"\";\n let hovered: TimeAndSalesRowEvent | null = null;\n let dragging: { offset: number } | null = null;\n // layout of the last frame\n let layout = {\n top: 0,\n rh: 20,\n visible: 0,\n track: [0, 0, 0, 0],\n badge: [0, 0, 0, 0],\n };\n\n const host = createHost(container, {\n className: \"minerva-time-and-sales\",\n draw,\n onTheme: () => {\n colors = sideColors(host.theme, options);\n },\n });\n const { root } = host;\n root.tabIndex = 0;\n root.setAttribute(\"role\", \"log\");\n root.setAttribute(\"aria-live\", \"off\");\n\n /** Texts in the locale, resolved on every option update */\n let texts = localeLabels(LABELS, options.locale, options.labels);\n const labels = () => texts;\n const applyTexts = () => {\n texts = localeLabels(LABELS, options.locale, options.labels);\n root.setAttribute(\"aria-label\", options.ariaLabel ?? texts.name);\n };\n const minSize = () => Math.max(0, options.minSize ?? 0);\n const openVisible = () => open !== null && open.size >= minSize();\n const count = () => rows.length + (openVisible() ? 1 : 0);\n\n const refreshFormat = () => {\n fmt = createFormatters(options, priceDecimals, sizeDecimals);\n };\n\n const infer = (trade: MarketTrade) => {\n // the first trades decide the decimals (until the precision is set)\n if (raw.length > 64) return;\n const p = Math.min(8, decimalsOf(trade.price));\n const s = Math.min(6, decimalsOf(trade.size));\n if (p > priceDecimals || s > sizeDecimals) {\n priceDecimals = Math.max(priceDecimals, p);\n sizeDecimals = Math.max(sizeDecimals, s);\n refreshFormat();\n }\n };\n\n const writeRow = (a: Aggregate) => {\n const i = pushSlot(rows);\n rows.time[i] = a.time;\n rows.price[i] = a.price;\n rows.size[i] = a.size;\n rows.side[i] = a.side;\n rows.tick[i] = a.tick;\n rows.count[i] = a.count;\n rows.arrival[i] = a.arrival;\n closedTotal++;\n };\n\n /** Adds a trade to the rows (after the raw ring) */\n const ingest = (\n time: number,\n price: number,\n size: number,\n side: number,\n tick: number,\n arrival: number,\n ) => {\n if (options.aggregate) {\n if (open && open.side === side && open.time === time) {\n open.size += size;\n open.price = price;\n open.tick = tick;\n open.count++;\n open.arrival = arrival;\n return;\n }\n if (open && open.size >= minSize()) writeRow(open);\n open = { time, price, size, side, tick, count: 1, arrival };\n return;\n }\n if (size >= minSize())\n writeRow({ time, price, size, side, tick, count: 1, arrival });\n };\n\n /** Moves the view so that the rows on screen stay put (or slide in) */\n const advance = (before: number) => {\n const after = closedTotal + (openVisible() ? 1 : 0);\n const delta = after - before;\n head = after;\n if (delta <= 0) return;\n view += delta;\n if (paused) target += delta;\n else if (options.animate === false) view = target;\n else view = Math.min(view, target + MAX_LAG);\n const n = count();\n target = Math.min(target, Math.max(0, n - 1));\n view = Math.min(view, Math.max(0, n - 1));\n };\n\n const addTrade = (trade: MarketTrade, arrival: number) => {\n const { time, price, size } = trade;\n if (!Number.isFinite(price) || !Number.isFinite(size) || size <= 0) return;\n infer(trade);\n const side = trade.side === \"sell\" ? SELL : BUY;\n if (Number.isFinite(lastPrice) && price !== lastPrice)\n lastTick = price > lastPrice ? 1 : -1;\n lastPrice = price;\n const i = pushSlot(raw);\n raw.time[i] = time;\n raw.price[i] = price;\n raw.size[i] = size;\n raw.side[i] = side;\n raw.tick[i] = lastTick;\n ingest(time, price, size, side, lastTick, arrival);\n };\n\n /** Recomputes the rows from the raw trades (filter / aggregation changed) */\n const rebuild = () => {\n rows = createRing(capacity);\n open = null;\n closedTotal = 0;\n for (let k = 0; k < raw.length; k++) {\n const i = slot(raw, k);\n ingest(\n raw.time[i]!,\n raw.price[i]!,\n raw.size[i]!,\n raw.side[i]!,\n raw.tick[i]!,\n -Infinity,\n );\n }\n head = count();\n view = target = 0;\n userScrolled = false;\n keySeq = null;\n };\n\n /** Row `index` from the top (0 = newest) */\n const rowAt = (index: number): Aggregate | null => {\n if (index < 0) return null;\n const visibleOpen = openVisible();\n if (visibleOpen && index === 0) return open;\n const k = rows.length - 1 - (index - (visibleOpen ? 1 : 0));\n if (k < 0) return null;\n const i = slot(rows, k);\n return {\n time: rows.time[i]!,\n price: rows.price[i]!,\n size: rows.size[i]!,\n side: rows.side[i]!,\n tick: rows.tick[i]!,\n count: rows.count[i]!,\n arrival: rows.arrival[i]!,\n };\n };\n\n const toEvent = (row: Aggregate, index: number): TimeAndSalesRowEvent => ({\n trade: {\n time: row.time,\n price: row.price,\n size: row.size,\n side: row.side === SELL ? \"sell\" : \"buy\",\n },\n count: row.count,\n index,\n });\n\n const setPaused = () => {\n const next = hoverPaused || userScrolled || keySeq !== null;\n if (next === paused) return;\n paused = next;\n if (!paused) {\n // back to the newest rows: scroll at most a page, jump over the rest\n target = 0;\n view = Math.min(view, Math.max(MAX_LAG, layout.visible));\n }\n emitter.emit(\"pause\", paused);\n };\n\n const scrollTo = (rowsFromTop: number, user = true) => {\n const max = Math.max(0, count() - layout.visible);\n target = clamp(Math.round(rowsFromTop), 0, max);\n if (user) userScrolled = target > 0;\n setPaused();\n host.invalidate();\n };\n\n function draw(now: number): boolean {\n const ctx = host.ctx;\n if (!ctx) return false;\n const { width, height, dpr, theme } = host;\n const l = labels();\n const compact = width < 240;\n const fontSize = options.fontSize ?? (compact ? 11 : 12);\n const rh = Math.max(12, options.rowHeight ?? (compact ? 18 : 20));\n const headerH = options.header === false ? 0 : rh + 2;\n const top = headerH;\n const visible = Math.max(0, Math.ceil((height - top) / rh));\n const n = count();\n const dt = Number.isFinite(lastFrame) ? now - lastFrame : 16;\n lastFrame = now;\n\n // scroll animation\n let animating = false;\n if (options.animate === false || !Number.isFinite(view)) view = target;\n else {\n view += (target - view) * ease(dt, 70);\n if (Math.abs(view - target) < 0.01) view = target;\n else animating = true;\n }\n\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n ctx.clearRect(0, 0, width, height);\n const text = toCss(theme.text);\n const muted = toCss(theme.textMuted);\n const pad = compact ? 6 : 10;\n const scrollbar = n > Math.floor((height - top) / rh);\n const right = width - pad - (scrollbar ? 6 : 0);\n\n // columns\n const cols = (options.columns ?? COLUMNS).filter(\n (c, i, all) => all.indexOf(c) === i,\n );\n const shownCols =\n compact && cols.length > 3 ? cols.filter((c) => c !== \"side\") : cols;\n const weights: Record<TimeAndSalesColumn, number> = {\n time: options.milliseconds === false ? 1 : 1.25,\n price: 1.1,\n size: 1,\n side: 0.6,\n };\n const totalWeight = shownCols.reduce((s, c) => s + weights[c], 0);\n const colRight: number[] = [];\n let acc = pad;\n for (const c of shownCols) {\n acc += ((right - pad) * weights[c]) / totalWeight;\n colRight.push(acc);\n }\n const colLeft = (j: number) => (j === 0 ? pad : colRight[j - 1]!);\n // the time column (and the first one) is left aligned\n const alignLeft = (c: TimeAndSalesColumn, j: number) =>\n j === 0 || c === \"time\";\n\n // rows\n const threshold = options.largeTradeThreshold ?? Infinity;\n const first = Math.max(0, Math.floor(view));\n const offset = view - first;\n const flash = options.animate !== false;\n hovered = null;\n let hoverIndex = -1;\n if (hoverAt && hoverAt[1] >= top) {\n hoverIndex = Math.floor((hoverAt[1] - top) / rh + view);\n } else if (keySeq !== null) {\n hoverIndex = head - 1 - keySeq;\n }\n ctx.save();\n ctx.beginPath();\n ctx.rect(0, top, width, height - top);\n ctx.clip();\n ctx.textBaseline = \"middle\";\n for (let r = 0; r <= visible; r++) {\n const index = first + r;\n if (index >= n) break;\n const row = rowAt(index);\n if (!row) break;\n const y = top + (r - offset) * rh;\n if (y > height) break;\n const sell = row.side === SELL;\n const color = sell ? colors.down : colors.up;\n const large = row.size >= threshold;\n if (index === hoverIndex) {\n hovered = toEvent(row, index);\n ctx.fillStyle = toCss(theme.text, 0.08);\n ctx.fillRect(0, y, width, rh);\n }\n if (large) {\n // stronger tint as the trade grows (log scale, up to 8x the threshold)\n const k = clamp(Math.log2(row.size / threshold) / 3, 0, 1);\n ctx.fillStyle = toCss(color, 0.12 + 0.2 * k);\n ctx.fillRect(0, y + 1, width, rh - 2);\n ctx.fillStyle = toCss(color);\n ctx.fillRect(0, y + 2, 3, rh - 4);\n }\n if (flash && Number.isFinite(row.arrival)) {\n const age = (now - row.arrival) / FLASH_MS;\n if (age < 1 && age >= 0) {\n ctx.fillStyle = toCss(color, 0.18 * (1 - age) * (1 - age));\n ctx.fillRect(0, y, width, rh);\n animating = true;\n }\n }\n const ty = y + rh / 2 + 0.5;\n const weight = large ? 700 : 400;\n shownCols.forEach((c, j) => {\n const left = alignLeft(c, j);\n ctx.textAlign = left ? \"left\" : \"right\";\n const x = left ? colLeft(j) + (j === 0 && large ? 4 : 0) : colRight[j]!;\n switch (c) {\n case \"time\":\n ctx.font = fontOf(theme, options, 400, fontSize);\n ctx.fillStyle = muted;\n ctx.fillText(\n options.formatTime\n ? options.formatTime(row.time)\n : formatClock(row.time, options.milliseconds !== false),\n x,\n ty,\n );\n break;\n case \"price\": {\n const tickColor =\n row.tick > 0 ? colors.up : row.tick < 0 ? colors.down : null;\n ctx.font = fontOf(theme, options, large ? 700 : 500, fontSize);\n ctx.fillStyle =\n options.priceColor === \"tick\"\n ? tickColor\n ? toCss(tickColor)\n : text\n : toCss(color);\n ctx.fillText(fmt.price(row.price), x, ty);\n break;\n }\n case \"size\": {\n ctx.font = fontOf(theme, options, weight, fontSize);\n ctx.fillStyle = large ? toCss(color) : text;\n const label = fmt.size(row.size);\n ctx.fillText(label, x, ty);\n if (row.count > 1 && !compact) {\n // trades merged into the row\n const w = ctx.measureText(label).width;\n ctx.font = fontOf(theme, options, 400, fontSize - 2);\n ctx.fillStyle = muted;\n ctx.fillText(`×${row.count}`, x - w - 5, ty);\n }\n break;\n }\n case \"side\":\n ctx.font = fontOf(theme, options, 500, fontSize);\n ctx.fillStyle = toCss(color);\n ctx.fillText(sell ? l.sell : l.buy, x, ty);\n break;\n }\n });\n }\n ctx.restore();\n\n // header\n if (headerH) {\n ctx.font = fontOf(theme, options, 400, fontSize - 1);\n ctx.fillStyle = muted;\n ctx.textBaseline = \"middle\";\n shownCols.forEach((c, j) => {\n const left = alignLeft(c, j);\n ctx.textAlign = left ? \"left\" : \"right\";\n ctx.fillText(l[c], left ? colLeft(j) : colRight[j]!, rh / 2 + 1);\n });\n ctx.fillStyle = toCss(theme.grid);\n ctx.fillRect(0, headerH - 1, width, 1);\n }\n\n // scrollbar\n const trackH = height - top - 4;\n let track = [0, 0, 0, 0];\n if (scrollbar && trackH > 20) {\n const pageRows = Math.max(1, (height - top) / rh);\n const thumbH = Math.max(18, (trackH * pageRows) / n);\n const maxScroll = Math.max(1, n - pageRows);\n const thumbY =\n top + 2 + (trackH - thumbH) * clamp(view / maxScroll, 0, 1);\n const active =\n dragging !== null || (hoverAt !== null && hoverAt[0] > width - 12);\n ctx.fillStyle = toCss(theme.textMuted, active ? 0.5 : 0.28);\n roundRect(ctx, width - 6, thumbY, 4, thumbH, 2);\n ctx.fill();\n track = [width - 12, top, 12, trackH + 4];\n }\n\n // badge: paused / new trades above the view\n let badge = [0, 0, 0, 0];\n const above = Math.round(target);\n if (paused || above > 0) {\n const textParts: string[] = [];\n if (hoverPaused && !userScrolled) textParts.push(l.paused);\n if (above > 0)\n textParts.push(\n l.newTrades.replace(\n \"{count}\",\n above > 9999 ? \"9999+\" : String(above),\n ),\n );\n if (textParts.length) {\n const label = textParts.join(\" · \");\n ctx.font = fontOf(theme, options, 500, Math.max(10, fontSize - 1));\n const bw = ctx.measureText(label).width + 20;\n const bh = Math.min(22, rh + 2);\n const bx = (width - bw) / 2;\n const by = top + 6;\n ctx.fillStyle = toCss(theme.primary, 0.92);\n roundRect(ctx, bx, by, bw, bh, bh / 2);\n ctx.fill();\n ctx.fillStyle = \"#fff\";\n ctx.textAlign = \"center\";\n ctx.textBaseline = \"middle\";\n ctx.fillText(label, width / 2, by + bh / 2 + 0.5);\n badge = [bx, by, bw, bh];\n }\n }\n layout = {\n top,\n rh,\n visible: Math.floor((height - top) / rh),\n track,\n badge,\n };\n root.style.cursor =\n badge[2] && hoverAt && inRect(hoverAt, badge) ? \"pointer\" : \"default\";\n\n // hover event\n const key = hovered\n ? `${head - 1 - hovered.index}|${hovered.trade.size}`\n : \"\";\n if (key !== hoverKey) {\n hoverKey = key;\n emitter.emit(\"hover\", hovered);\n }\n\n const latest = rowAt(0);\n if (latest)\n host.describe(\n `${options.ariaLabel ?? l.name}. ${latest.side === SELL ? l.sell : l.buy} ${fmt.size(latest.size)} @ ${fmt.price(latest.price)}.`,\n );\n return animating;\n }\n\n const inRect = (p: readonly number[], r: readonly number[]) =>\n r[2]! > 0 &&\n p[0]! >= r[0]! &&\n p[0]! <= r[0]! + r[2]! &&\n p[1]! >= r[1]! &&\n p[1]! <= r[1]! + r[3]!;\n\n // ---------------------------------------------------------- interaction\n\n const thumbScroll = (y: number) => {\n const [, ty, , th] = layout.track;\n const n = count();\n const ratio = clamp((y - ty!) / Math.max(1, th!), 0, 1);\n scrollTo(ratio * Math.max(0, n - layout.visible));\n };\n\n const onPointerMove = (event: PointerEvent) => {\n hoverAt = localPoint(root, event);\n if (dragging) thumbScroll(hoverAt[1] - dragging.offset);\n if (options.pauseOnHover !== false && !hoverPaused) {\n hoverPaused = true;\n setPaused();\n }\n host.invalidate();\n };\n const onPointerLeave = () => {\n hoverAt = null;\n if (hoverPaused) {\n hoverPaused = false;\n setPaused();\n }\n host.invalidate();\n };\n const onPointerDown = (event: PointerEvent) => {\n const p = localPoint(root, event);\n if (inRect(p, layout.track) && !inRect(p, layout.badge)) {\n dragging = { offset: 0 };\n root.setPointerCapture?.(event.pointerId);\n thumbScroll(p[1]);\n event.preventDefault();\n }\n };\n const onPointerUp = (event: PointerEvent) => {\n if (!dragging) return;\n dragging = null;\n root.releasePointerCapture?.(event.pointerId);\n host.invalidate();\n };\n const onClick = (event: MouseEvent) => {\n const p = localPoint(root, event);\n if (inRect(p, layout.badge)) {\n instance.scrollToLatest();\n return;\n }\n if (inRect(p, layout.track) || p[1] < layout.top) return;\n const index = Math.floor((p[1] - layout.top) / layout.rh + view);\n const row = rowAt(index);\n if (row && index < count()) emitter.emit(\"tradeClick\", toEvent(row, index));\n };\n const onWheel = (event: WheelEvent) => {\n const n = count();\n const max = Math.max(0, n - layout.visible);\n const step =\n event.deltaMode === 1\n ? event.deltaY\n : event.deltaMode === 2\n ? event.deltaY * layout.visible\n : event.deltaY / layout.rh;\n // at the ends the page scrolls\n if ((step < 0 && target <= 0) || (step > 0 && target >= max)) return;\n event.preventDefault();\n scrollTo(target + (Math.abs(step) < 1 ? Math.sign(step) : step));\n };\n const onKeyDown = (event: KeyboardEvent) => {\n const n = count();\n if (!n) return;\n const page = Math.max(1, layout.visible - 1);\n const index = keySeq === null ? -1 : head - 1 - keySeq;\n const select = (next: number) => {\n const i = clamp(next, 0, n - 1);\n keySeq = head - 1 - i;\n // keep the selection on screen\n if (i < target) scrollTo(i);\n else if (i >= target + layout.visible) scrollTo(i - layout.visible + 1);\n else setPaused();\n host.invalidate();\n };\n switch (event.key) {\n case \"ArrowDown\":\n select(index + 1);\n break;\n case \"ArrowUp\":\n select(Math.max(0, index - 1));\n break;\n case \"PageDown\":\n select(Math.max(0, index) + page);\n break;\n case \"PageUp\":\n select(index - page);\n break;\n case \"Home\":\n keySeq = null;\n instance.scrollToLatest();\n break;\n case \"End\":\n select(n - 1);\n break;\n case \"Enter\":\n case \" \": {\n const row = index >= 0 ? rowAt(index) : null;\n if (row) emitter.emit(\"tradeClick\", toEvent(row, index));\n break;\n }\n case \"Escape\":\n keySeq = null;\n instance.scrollToLatest();\n break;\n default:\n return;\n }\n event.preventDefault();\n };\n const onBlur = () => {\n if (keySeq === null) return;\n keySeq = null;\n setPaused();\n host.invalidate();\n };\n root.addEventListener(\"pointermove\", onPointerMove);\n root.addEventListener(\"pointerleave\", onPointerLeave);\n root.addEventListener(\"pointerdown\", onPointerDown);\n root.addEventListener(\"pointerup\", onPointerUp);\n root.addEventListener(\"click\", onClick);\n root.addEventListener(\"wheel\", onWheel, { passive: false });\n root.addEventListener(\"keydown\", onKeyDown);\n root.addEventListener(\"blur\", onBlur);\n\n const nowMs = () =>\n typeof performance !== \"undefined\" ? performance.now() : Date.now();\n\n const reset = () => {\n raw = createRing(capacity);\n rows = createRing(capacity);\n open = null;\n head = closedTotal = 0;\n lastPrice = NaN;\n lastTick = 0;\n priceDecimals = sizeDecimals = 0;\n view = target = 0;\n userScrolled = false;\n keySeq = null;\n setPaused();\n refreshFormat();\n };\n\n const instance: TimeAndSalesInstance = {\n addTrades(trades) {\n const list = Array.isArray(trades)\n ? (trades as readonly MarketTrade[])\n : [trades as MarketTrade];\n if (!list.length) return;\n const before = head;\n const arrival = nowMs();\n for (const trade of list) addTrade(trade, arrival);\n advance(before);\n host.invalidate();\n },\n setTrades(trades) {\n reset();\n for (const trade of trades) addTrade(trade, -Infinity);\n head = count();\n host.invalidate();\n },\n clear() {\n reset();\n host.invalidate();\n },\n setOptions(next) {\n const previous = options;\n options = next;\n applyTexts();\n colors = sideColors(host.theme, options);\n const nextCapacity = Math.max(1, Math.round(options.capacity ?? 200000));\n if (nextCapacity !== capacity) {\n // keep the newest trades that fit\n const old = raw;\n capacity = nextCapacity;\n raw = createRing(capacity);\n for (let k = Math.max(0, old.length - capacity); k < old.length; k++) {\n const i = slot(old, k);\n const j = pushSlot(raw);\n raw.time[j] = old.time[i]!;\n raw.price[j] = old.price[i]!;\n raw.size[j] = old.size[i]!;\n raw.side[j] = old.side[i]!;\n raw.tick[j] = old.tick[i]!;\n }\n rebuild();\n } else if (\n (previous.minSize ?? 0) !== (next.minSize ?? 0) ||\n !previous.aggregate !== !next.aggregate\n ) {\n rebuild();\n }\n if (options.pauseOnHover === false && hoverPaused) hoverPaused = false;\n setPaused();\n refreshFormat();\n host.invalidate();\n },\n scrollToLatest() {\n keySeq = null;\n userScrolled = false;\n target = 0;\n setPaused();\n host.invalidate();\n },\n getCount: count,\n on: (event, handler) => emitter.on(event, handler),\n resize() {\n host.invalidate();\n },\n destroy() {\n root.removeEventListener(\"pointermove\", onPointerMove);\n root.removeEventListener(\"pointerleave\", onPointerLeave);\n root.removeEventListener(\"pointerdown\", onPointerDown);\n root.removeEventListener(\"pointerup\", onPointerUp);\n root.removeEventListener(\"click\", onClick);\n root.removeEventListener(\"wheel\", onWheel);\n root.removeEventListener(\"keydown\", onKeyDown);\n root.removeEventListener(\"blur\", onBlur);\n emitter.clear();\n host.destroy();\n },\n };\n applyTexts();\n colors = sideColors(host.theme, options);\n refreshFormat();\n host.invalidate();\n return instance;\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TimeAndSalesInstance, TimeAndSalesOptions } from './types.cjs';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a time and sales tape in `container`: newest trades on top,
|
|
4
|
+
* virtualized rows, large trade highlight, pause on hover.
|
|
5
|
+
*/
|
|
6
|
+
export declare const createTimeAndSales: (container: HTMLElement, initial?: TimeAndSalesOptions) => TimeAndSalesInstance;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TimeAndSalesInstance, TimeAndSalesOptions } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Creates a time and sales tape in `container`: newest trades on top,
|
|
4
|
+
* virtualized rows, large trade highlight, pause on hover.
|
|
5
|
+
*/
|
|
6
|
+
export declare const createTimeAndSales: (container: HTMLElement, initial?: TimeAndSalesOptions) => TimeAndSalesInstance;
|
|
@@ -0,0 +1,450 @@
|
|
|
1
|
+
import { toCss as e } from "../color.js";
|
|
2
|
+
import { localeLabels as t } from "../locale.js";
|
|
3
|
+
import { decimalsOf as n } from "./book.js";
|
|
4
|
+
import { clamp as r, createFormatters as i, ease as a, fontOf as o, formatClock as s, roundRect as c, sideColors as l } from "./format.js";
|
|
5
|
+
import { createEmitter as u, createHost as d, localPoint as f } from "./host.js";
|
|
6
|
+
//#region src/engine/orderbook/tape.ts
|
|
7
|
+
var p = {
|
|
8
|
+
en: {
|
|
9
|
+
time: "Time",
|
|
10
|
+
price: "Price",
|
|
11
|
+
size: "Size",
|
|
12
|
+
side: "Side",
|
|
13
|
+
buy: "Buy",
|
|
14
|
+
sell: "Sell",
|
|
15
|
+
paused: "Paused",
|
|
16
|
+
newTrades: "{count} new",
|
|
17
|
+
name: "Time and sales"
|
|
18
|
+
},
|
|
19
|
+
zh: {
|
|
20
|
+
time: "时间",
|
|
21
|
+
price: "价格",
|
|
22
|
+
size: "数量",
|
|
23
|
+
side: "方向",
|
|
24
|
+
buy: "买入",
|
|
25
|
+
sell: "卖出",
|
|
26
|
+
paused: "已暂停",
|
|
27
|
+
newTrades: "{count} 条新成交",
|
|
28
|
+
name: "逐笔成交"
|
|
29
|
+
},
|
|
30
|
+
ja: {
|
|
31
|
+
time: "時刻",
|
|
32
|
+
price: "価格",
|
|
33
|
+
size: "数量",
|
|
34
|
+
side: "売買",
|
|
35
|
+
buy: "買い",
|
|
36
|
+
sell: "売り",
|
|
37
|
+
paused: "一時停止中",
|
|
38
|
+
newTrades: "新着 {count} 件",
|
|
39
|
+
name: "歩み値"
|
|
40
|
+
},
|
|
41
|
+
fr: {
|
|
42
|
+
time: "Heure",
|
|
43
|
+
price: "Prix",
|
|
44
|
+
size: "Quantité",
|
|
45
|
+
side: "Sens",
|
|
46
|
+
buy: "Achat",
|
|
47
|
+
sell: "Vente",
|
|
48
|
+
paused: "En pause",
|
|
49
|
+
newTrades: "{count} nouvelles",
|
|
50
|
+
name: "Historique des transactions"
|
|
51
|
+
}
|
|
52
|
+
}, m = [
|
|
53
|
+
"time",
|
|
54
|
+
"price",
|
|
55
|
+
"size"
|
|
56
|
+
], h = 1, ee = 2, g = 3, te = 450, _ = (e) => {
|
|
57
|
+
let t = Math.min(e, 1024);
|
|
58
|
+
return {
|
|
59
|
+
time: new Float64Array(t),
|
|
60
|
+
price: new Float64Array(t),
|
|
61
|
+
size: new Float64Array(t),
|
|
62
|
+
side: new Uint8Array(t),
|
|
63
|
+
tick: new Int8Array(t),
|
|
64
|
+
count: new Uint32Array(t),
|
|
65
|
+
arrival: new Float64Array(t),
|
|
66
|
+
start: 0,
|
|
67
|
+
length: 0,
|
|
68
|
+
max: e
|
|
69
|
+
};
|
|
70
|
+
}, v = (e, t) => (e.start + t) % e.time.length, y = (e) => {
|
|
71
|
+
let t = e.time.length;
|
|
72
|
+
if (e.length < t) {
|
|
73
|
+
let n = (e.start + e.length) % t;
|
|
74
|
+
return e.length++, n;
|
|
75
|
+
}
|
|
76
|
+
if (t < e.max) {
|
|
77
|
+
let n = Math.min(e.max, t * 2);
|
|
78
|
+
for (let r of [
|
|
79
|
+
"time",
|
|
80
|
+
"price",
|
|
81
|
+
"size",
|
|
82
|
+
"side",
|
|
83
|
+
"tick",
|
|
84
|
+
"count",
|
|
85
|
+
"arrival"
|
|
86
|
+
]) {
|
|
87
|
+
let i = e[r], a = new i.constructor(n);
|
|
88
|
+
a.set(i.subarray(e.start)), a.set(i.subarray(0, e.start), t - e.start), e[r] = a;
|
|
89
|
+
}
|
|
90
|
+
return e.start = 0, e.length++, t;
|
|
91
|
+
}
|
|
92
|
+
let n = e.start;
|
|
93
|
+
return e.start = (e.start + 1) % t, n;
|
|
94
|
+
}, b = (b, x = {}) => {
|
|
95
|
+
let S = x, C = u(), w = Math.max(1, Math.round(S.capacity ?? 2e5)), T = _(w), E = _(w), D = null, O = 0, k = 0, A = NaN, j = 0, ne = i(S, 2, 4), M = 0, N = 0, P = {
|
|
96
|
+
up: [
|
|
97
|
+
0,
|
|
98
|
+
0,
|
|
99
|
+
0,
|
|
100
|
+
1
|
|
101
|
+
],
|
|
102
|
+
down: [
|
|
103
|
+
0,
|
|
104
|
+
0,
|
|
105
|
+
0,
|
|
106
|
+
1
|
|
107
|
+
]
|
|
108
|
+
}, F = 0, I = 0, L = !1, R = !1, z = !1, re = NaN, B = null, V = null, ie = "", H = null, U = null, W = {
|
|
109
|
+
top: 0,
|
|
110
|
+
rh: 20,
|
|
111
|
+
visible: 0,
|
|
112
|
+
track: [
|
|
113
|
+
0,
|
|
114
|
+
0,
|
|
115
|
+
0,
|
|
116
|
+
0
|
|
117
|
+
],
|
|
118
|
+
badge: [
|
|
119
|
+
0,
|
|
120
|
+
0,
|
|
121
|
+
0,
|
|
122
|
+
0
|
|
123
|
+
]
|
|
124
|
+
}, G = d(b, {
|
|
125
|
+
className: "minerva-time-and-sales",
|
|
126
|
+
draw: ge,
|
|
127
|
+
onTheme: () => {
|
|
128
|
+
P = l(G.theme, S);
|
|
129
|
+
}
|
|
130
|
+
}), { root: K } = G;
|
|
131
|
+
K.tabIndex = 0, K.setAttribute("role", "log"), K.setAttribute("aria-live", "off");
|
|
132
|
+
let ae = t(p, S.locale, S.labels), oe = () => ae, q = () => {
|
|
133
|
+
ae = t(p, S.locale, S.labels), K.setAttribute("aria-label", S.ariaLabel ?? ae.name);
|
|
134
|
+
}, se = () => Math.max(0, S.minSize ?? 0), ce = () => D !== null && D.size >= se(), J = () => E.length + +!!ce(), Y = () => {
|
|
135
|
+
ne = i(S, M, N);
|
|
136
|
+
}, le = (e) => {
|
|
137
|
+
if (T.length > 64) return;
|
|
138
|
+
let t = Math.min(8, n(e.price)), r = Math.min(6, n(e.size));
|
|
139
|
+
(t > M || r > N) && (M = Math.max(M, t), N = Math.max(N, r), Y());
|
|
140
|
+
}, ue = (e) => {
|
|
141
|
+
let t = y(E);
|
|
142
|
+
E.time[t] = e.time, E.price[t] = e.price, E.size[t] = e.size, E.side[t] = e.side, E.tick[t] = e.tick, E.count[t] = e.count, E.arrival[t] = e.arrival, k++;
|
|
143
|
+
}, de = (e, t, n, r, i, a) => {
|
|
144
|
+
if (S.aggregate) {
|
|
145
|
+
if (D && D.side === r && D.time === e) {
|
|
146
|
+
D.size += n, D.price = t, D.tick = i, D.count++, D.arrival = a;
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
D && D.size >= se() && ue(D), D = {
|
|
150
|
+
time: e,
|
|
151
|
+
price: t,
|
|
152
|
+
size: n,
|
|
153
|
+
side: r,
|
|
154
|
+
tick: i,
|
|
155
|
+
count: 1,
|
|
156
|
+
arrival: a
|
|
157
|
+
};
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
n >= se() && ue({
|
|
161
|
+
time: e,
|
|
162
|
+
price: t,
|
|
163
|
+
size: n,
|
|
164
|
+
side: r,
|
|
165
|
+
tick: i,
|
|
166
|
+
count: 1,
|
|
167
|
+
arrival: a
|
|
168
|
+
});
|
|
169
|
+
}, fe = (e) => {
|
|
170
|
+
let t = k + +!!ce(), n = t - e;
|
|
171
|
+
if (O = t, n <= 0) return;
|
|
172
|
+
F += n, z ? I += n : F = S.animate === !1 ? I : Math.min(F, I + g);
|
|
173
|
+
let r = J();
|
|
174
|
+
I = Math.min(I, Math.max(0, r - 1)), F = Math.min(F, Math.max(0, r - 1));
|
|
175
|
+
}, pe = (e, t) => {
|
|
176
|
+
let { time: n, price: r, size: i } = e;
|
|
177
|
+
if (!Number.isFinite(r) || !Number.isFinite(i) || i <= 0) return;
|
|
178
|
+
le(e);
|
|
179
|
+
let a = e.side === "sell" ? ee : h;
|
|
180
|
+
Number.isFinite(A) && r !== A && (j = r > A ? 1 : -1), A = r;
|
|
181
|
+
let o = y(T);
|
|
182
|
+
T.time[o] = n, T.price[o] = r, T.size[o] = i, T.side[o] = a, T.tick[o] = j, de(n, r, i, a, j, t);
|
|
183
|
+
}, X = () => {
|
|
184
|
+
E = _(w), D = null, k = 0;
|
|
185
|
+
for (let e = 0; e < T.length; e++) {
|
|
186
|
+
let t = v(T, e);
|
|
187
|
+
de(T.time[t], T.price[t], T.size[t], T.side[t], T.tick[t], -Infinity);
|
|
188
|
+
}
|
|
189
|
+
O = J(), F = I = 0, L = !1, V = null;
|
|
190
|
+
}, me = (e) => {
|
|
191
|
+
if (e < 0) return null;
|
|
192
|
+
let t = ce();
|
|
193
|
+
if (t && e === 0) return D;
|
|
194
|
+
let n = E.length - 1 - (e - +!!t);
|
|
195
|
+
if (n < 0) return null;
|
|
196
|
+
let r = v(E, n);
|
|
197
|
+
return {
|
|
198
|
+
time: E.time[r],
|
|
199
|
+
price: E.price[r],
|
|
200
|
+
size: E.size[r],
|
|
201
|
+
side: E.side[r],
|
|
202
|
+
tick: E.tick[r],
|
|
203
|
+
count: E.count[r],
|
|
204
|
+
arrival: E.arrival[r]
|
|
205
|
+
};
|
|
206
|
+
}, he = (e, t) => ({
|
|
207
|
+
trade: {
|
|
208
|
+
time: e.time,
|
|
209
|
+
price: e.price,
|
|
210
|
+
size: e.size,
|
|
211
|
+
side: e.side === ee ? "sell" : "buy"
|
|
212
|
+
},
|
|
213
|
+
count: e.count,
|
|
214
|
+
index: t
|
|
215
|
+
}), Z = () => {
|
|
216
|
+
let e = R || L || V !== null;
|
|
217
|
+
e !== z && (z = e, z || (I = 0, F = Math.min(F, Math.max(g, W.visible))), C.emit("pause", z));
|
|
218
|
+
}, Q = (e, t = !0) => {
|
|
219
|
+
let n = Math.max(0, J() - W.visible);
|
|
220
|
+
I = r(Math.round(e), 0, n), t && (L = I > 0), Z(), G.invalidate();
|
|
221
|
+
};
|
|
222
|
+
function ge(t) {
|
|
223
|
+
let n = G.ctx;
|
|
224
|
+
if (!n) return !1;
|
|
225
|
+
let { width: i, height: l, dpr: u, theme: d } = G, f = oe(), p = i < 240, h = S.fontSize ?? (p ? 11 : 12), g = Math.max(12, S.rowHeight ?? (p ? 18 : 20)), _ = S.header === !1 ? 0 : g + 2, v = _, y = Math.max(0, Math.ceil((l - v) / g)), b = J(), x = Number.isFinite(re) ? t - re : 16;
|
|
226
|
+
re = t;
|
|
227
|
+
let w = !1;
|
|
228
|
+
S.animate === !1 || !Number.isFinite(F) ? F = I : (F += (I - F) * a(x, 70), Math.abs(F - I) < .01 ? F = I : w = !0), n.setTransform(u, 0, 0, u, 0, 0), n.clearRect(0, 0, i, l);
|
|
229
|
+
let T = e(d.text), E = e(d.textMuted), D = p ? 6 : 10, k = b > Math.floor((l - v) / g), A = i - D - (k ? 6 : 0), j = (S.columns ?? m).filter((e, t, n) => n.indexOf(e) === t), M = p && j.length > 3 ? j.filter((e) => e !== "side") : j, N = {
|
|
230
|
+
time: S.milliseconds === !1 ? 1 : 1.25,
|
|
231
|
+
price: 1.1,
|
|
232
|
+
size: 1,
|
|
233
|
+
side: .6
|
|
234
|
+
}, ae = M.reduce((e, t) => e + N[t], 0), q = [], se = D;
|
|
235
|
+
for (let e of M) se += (A - D) * N[e] / ae, q.push(se);
|
|
236
|
+
let ce = (e) => e === 0 ? D : q[e - 1], Y = (e, t) => t === 0 || e === "time", le = S.largeTradeThreshold ?? Infinity, ue = Math.max(0, Math.floor(F)), de = F - ue, fe = S.animate !== !1;
|
|
237
|
+
H = null;
|
|
238
|
+
let pe = -1;
|
|
239
|
+
B && B[1] >= v ? pe = Math.floor((B[1] - v) / g + F) : V !== null && (pe = O - 1 - V), n.save(), n.beginPath(), n.rect(0, v, i, l - v), n.clip(), n.textBaseline = "middle";
|
|
240
|
+
for (let a = 0; a <= y; a++) {
|
|
241
|
+
let c = ue + a;
|
|
242
|
+
if (c >= b) break;
|
|
243
|
+
let u = me(c);
|
|
244
|
+
if (!u) break;
|
|
245
|
+
let m = v + (a - de) * g;
|
|
246
|
+
if (m > l) break;
|
|
247
|
+
let _ = u.side === ee, y = _ ? P.down : P.up, x = u.size >= le;
|
|
248
|
+
if (c === pe && (H = he(u, c), n.fillStyle = e(d.text, .08), n.fillRect(0, m, i, g)), x) {
|
|
249
|
+
let t = r(Math.log2(u.size / le) / 3, 0, 1);
|
|
250
|
+
n.fillStyle = e(y, .12 + .2 * t), n.fillRect(0, m + 1, i, g - 2), n.fillStyle = e(y), n.fillRect(0, m + 2, 3, g - 4);
|
|
251
|
+
}
|
|
252
|
+
if (fe && Number.isFinite(u.arrival)) {
|
|
253
|
+
let r = (t - u.arrival) / te;
|
|
254
|
+
r < 1 && r >= 0 && (n.fillStyle = e(y, .18 * (1 - r) * (1 - r)), n.fillRect(0, m, i, g), w = !0);
|
|
255
|
+
}
|
|
256
|
+
let C = m + g / 2 + .5, D = x ? 700 : 400;
|
|
257
|
+
M.forEach((t, r) => {
|
|
258
|
+
let i = Y(t, r);
|
|
259
|
+
n.textAlign = i ? "left" : "right";
|
|
260
|
+
let a = i ? ce(r) + (r === 0 && x ? 4 : 0) : q[r];
|
|
261
|
+
switch (t) {
|
|
262
|
+
case "time":
|
|
263
|
+
n.font = o(d, S, 400, h), n.fillStyle = E, n.fillText(S.formatTime ? S.formatTime(u.time) : s(u.time, S.milliseconds !== !1), a, C);
|
|
264
|
+
break;
|
|
265
|
+
case "price": {
|
|
266
|
+
let t = u.tick > 0 ? P.up : u.tick < 0 ? P.down : null;
|
|
267
|
+
n.font = o(d, S, x ? 700 : 500, h), n.fillStyle = S.priceColor === "tick" ? t ? e(t) : T : e(y), n.fillText(ne.price(u.price), a, C);
|
|
268
|
+
break;
|
|
269
|
+
}
|
|
270
|
+
case "size": {
|
|
271
|
+
n.font = o(d, S, D, h), n.fillStyle = x ? e(y) : T;
|
|
272
|
+
let t = ne.size(u.size);
|
|
273
|
+
if (n.fillText(t, a, C), u.count > 1 && !p) {
|
|
274
|
+
let e = n.measureText(t).width;
|
|
275
|
+
n.font = o(d, S, 400, h - 2), n.fillStyle = E, n.fillText(`×${u.count}`, a - e - 5, C);
|
|
276
|
+
}
|
|
277
|
+
break;
|
|
278
|
+
}
|
|
279
|
+
case "side": n.font = o(d, S, 500, h), n.fillStyle = e(y), n.fillText(_ ? f.sell : f.buy, a, C);
|
|
280
|
+
}
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
n.restore(), _ && (n.font = o(d, S, 400, h - 1), n.fillStyle = E, n.textBaseline = "middle", M.forEach((e, t) => {
|
|
284
|
+
let r = Y(e, t);
|
|
285
|
+
n.textAlign = r ? "left" : "right", n.fillText(f[e], r ? ce(t) : q[t], g / 2 + 1);
|
|
286
|
+
}), n.fillStyle = e(d.grid), n.fillRect(0, _ - 1, i, 1));
|
|
287
|
+
let X = l - v - 4, Z = [
|
|
288
|
+
0,
|
|
289
|
+
0,
|
|
290
|
+
0,
|
|
291
|
+
0
|
|
292
|
+
];
|
|
293
|
+
if (k && X > 20) {
|
|
294
|
+
let t = Math.max(1, (l - v) / g), a = Math.max(18, X * t / b), o = Math.max(1, b - t), s = v + 2 + (X - a) * r(F / o, 0, 1), u = U !== null || B !== null && B[0] > i - 12;
|
|
295
|
+
n.fillStyle = e(d.textMuted, u ? .5 : .28), c(n, i - 6, s, 4, a, 2), n.fill(), Z = [
|
|
296
|
+
i - 12,
|
|
297
|
+
v,
|
|
298
|
+
12,
|
|
299
|
+
X + 4
|
|
300
|
+
];
|
|
301
|
+
}
|
|
302
|
+
let Q = [
|
|
303
|
+
0,
|
|
304
|
+
0,
|
|
305
|
+
0,
|
|
306
|
+
0
|
|
307
|
+
], ge = Math.round(I);
|
|
308
|
+
if (z || ge > 0) {
|
|
309
|
+
let t = [];
|
|
310
|
+
if (R && !L && t.push(f.paused), ge > 0 && t.push(f.newTrades.replace("{count}", ge > 9999 ? "9999+" : String(ge))), t.length) {
|
|
311
|
+
let r = t.join(" · ");
|
|
312
|
+
n.font = o(d, S, 500, Math.max(10, h - 1));
|
|
313
|
+
let a = n.measureText(r).width + 20, s = Math.min(22, g + 2), l = (i - a) / 2, u = v + 6;
|
|
314
|
+
n.fillStyle = e(d.primary, .92), c(n, l, u, a, s, s / 2), n.fill(), n.fillStyle = "#fff", n.textAlign = "center", n.textBaseline = "middle", n.fillText(r, i / 2, u + s / 2 + .5), Q = [
|
|
315
|
+
l,
|
|
316
|
+
u,
|
|
317
|
+
a,
|
|
318
|
+
s
|
|
319
|
+
];
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
W = {
|
|
323
|
+
top: v,
|
|
324
|
+
rh: g,
|
|
325
|
+
visible: Math.floor((l - v) / g),
|
|
326
|
+
track: Z,
|
|
327
|
+
badge: Q
|
|
328
|
+
}, K.style.cursor = Q[2] && B && _e(B, Q) ? "pointer" : "default";
|
|
329
|
+
let ve = H ? `${O - 1 - H.index}|${H.trade.size}` : "";
|
|
330
|
+
ve !== ie && (ie = ve, C.emit("hover", H));
|
|
331
|
+
let $ = me(0);
|
|
332
|
+
return $ && G.describe(`${S.ariaLabel ?? f.name}. ${$.side === ee ? f.sell : f.buy} ${ne.size($.size)} @ ${ne.price($.price)}.`), w;
|
|
333
|
+
}
|
|
334
|
+
let _e = (e, t) => t[2] > 0 && e[0] >= t[0] && e[0] <= t[0] + t[2] && e[1] >= t[1] && e[1] <= t[1] + t[3], ve = (e) => {
|
|
335
|
+
let [, t, , n] = W.track, i = J(), a = r((e - t) / Math.max(1, n), 0, 1);
|
|
336
|
+
Q(a * Math.max(0, i - W.visible));
|
|
337
|
+
}, $ = (e) => {
|
|
338
|
+
B = f(K, e), U && ve(B[1] - U.offset), S.pauseOnHover !== !1 && !R && (R = !0, Z()), G.invalidate();
|
|
339
|
+
}, ye = () => {
|
|
340
|
+
B = null, R && (R = !1, Z()), G.invalidate();
|
|
341
|
+
}, be = (e) => {
|
|
342
|
+
let t = f(K, e);
|
|
343
|
+
_e(t, W.track) && !_e(t, W.badge) && (U = { offset: 0 }, K.setPointerCapture?.(e.pointerId), ve(t[1]), e.preventDefault());
|
|
344
|
+
}, xe = (e) => {
|
|
345
|
+
U && (U = null, K.releasePointerCapture?.(e.pointerId), G.invalidate());
|
|
346
|
+
}, Se = (e) => {
|
|
347
|
+
let t = f(K, e);
|
|
348
|
+
if (_e(t, W.badge)) {
|
|
349
|
+
Oe.scrollToLatest();
|
|
350
|
+
return;
|
|
351
|
+
}
|
|
352
|
+
if (_e(t, W.track) || t[1] < W.top) return;
|
|
353
|
+
let n = Math.floor((t[1] - W.top) / W.rh + F), r = me(n);
|
|
354
|
+
r && n < J() && C.emit("tradeClick", he(r, n));
|
|
355
|
+
}, Ce = (e) => {
|
|
356
|
+
let t = J(), n = Math.max(0, t - W.visible), r = e.deltaMode === 1 ? e.deltaY : e.deltaMode === 2 ? e.deltaY * W.visible : e.deltaY / W.rh;
|
|
357
|
+
r < 0 && I <= 0 || r > 0 && I >= n || (e.preventDefault(), Q(I + (Math.abs(r) < 1 ? Math.sign(r) : r)));
|
|
358
|
+
}, we = (e) => {
|
|
359
|
+
let t = J();
|
|
360
|
+
if (!t) return;
|
|
361
|
+
let n = Math.max(1, W.visible - 1), i = V === null ? -1 : O - 1 - V, a = (e) => {
|
|
362
|
+
let n = r(e, 0, t - 1);
|
|
363
|
+
V = O - 1 - n, n < I ? Q(n) : n >= I + W.visible ? Q(n - W.visible + 1) : Z(), G.invalidate();
|
|
364
|
+
};
|
|
365
|
+
switch (e.key) {
|
|
366
|
+
case "ArrowDown":
|
|
367
|
+
a(i + 1);
|
|
368
|
+
break;
|
|
369
|
+
case "ArrowUp":
|
|
370
|
+
a(Math.max(0, i - 1));
|
|
371
|
+
break;
|
|
372
|
+
case "PageDown":
|
|
373
|
+
a(Math.max(0, i) + n);
|
|
374
|
+
break;
|
|
375
|
+
case "PageUp":
|
|
376
|
+
a(i - n);
|
|
377
|
+
break;
|
|
378
|
+
case "Home":
|
|
379
|
+
V = null, Oe.scrollToLatest();
|
|
380
|
+
break;
|
|
381
|
+
case "End":
|
|
382
|
+
a(t - 1);
|
|
383
|
+
break;
|
|
384
|
+
case "Enter":
|
|
385
|
+
case " ": {
|
|
386
|
+
let e = i >= 0 ? me(i) : null;
|
|
387
|
+
e && C.emit("tradeClick", he(e, i));
|
|
388
|
+
break;
|
|
389
|
+
}
|
|
390
|
+
case "Escape":
|
|
391
|
+
V = null, Oe.scrollToLatest();
|
|
392
|
+
break;
|
|
393
|
+
default: return;
|
|
394
|
+
}
|
|
395
|
+
e.preventDefault();
|
|
396
|
+
}, Te = () => {
|
|
397
|
+
V !== null && (V = null, Z(), G.invalidate());
|
|
398
|
+
};
|
|
399
|
+
K.addEventListener("pointermove", $), K.addEventListener("pointerleave", ye), K.addEventListener("pointerdown", be), K.addEventListener("pointerup", xe), K.addEventListener("click", Se), K.addEventListener("wheel", Ce, { passive: !1 }), K.addEventListener("keydown", we), K.addEventListener("blur", Te);
|
|
400
|
+
let Ee = () => typeof performance < "u" ? performance.now() : Date.now(), De = () => {
|
|
401
|
+
T = _(w), E = _(w), D = null, O = k = 0, A = NaN, j = 0, M = N = 0, F = I = 0, L = !1, V = null, Z(), Y();
|
|
402
|
+
}, Oe = {
|
|
403
|
+
addTrades(e) {
|
|
404
|
+
let t = Array.isArray(e) ? e : [e];
|
|
405
|
+
if (!t.length) return;
|
|
406
|
+
let n = O, r = Ee();
|
|
407
|
+
for (let e of t) pe(e, r);
|
|
408
|
+
fe(n), G.invalidate();
|
|
409
|
+
},
|
|
410
|
+
setTrades(e) {
|
|
411
|
+
De();
|
|
412
|
+
for (let t of e) pe(t, -Infinity);
|
|
413
|
+
O = J(), G.invalidate();
|
|
414
|
+
},
|
|
415
|
+
clear() {
|
|
416
|
+
De(), G.invalidate();
|
|
417
|
+
},
|
|
418
|
+
setOptions(e) {
|
|
419
|
+
let t = S;
|
|
420
|
+
S = e, q(), P = l(G.theme, S);
|
|
421
|
+
let n = Math.max(1, Math.round(S.capacity ?? 2e5));
|
|
422
|
+
if (n !== w) {
|
|
423
|
+
let e = T;
|
|
424
|
+
w = n, T = _(w);
|
|
425
|
+
for (let t = Math.max(0, e.length - w); t < e.length; t++) {
|
|
426
|
+
let n = v(e, t), r = y(T);
|
|
427
|
+
T.time[r] = e.time[n], T.price[r] = e.price[n], T.size[r] = e.size[n], T.side[r] = e.side[n], T.tick[r] = e.tick[n];
|
|
428
|
+
}
|
|
429
|
+
X();
|
|
430
|
+
} else ((t.minSize ?? 0) !== (e.minSize ?? 0) || !t.aggregate != !e.aggregate) && X();
|
|
431
|
+
S.pauseOnHover === !1 && R && (R = !1), Z(), Y(), G.invalidate();
|
|
432
|
+
},
|
|
433
|
+
scrollToLatest() {
|
|
434
|
+
V = null, L = !1, I = 0, Z(), G.invalidate();
|
|
435
|
+
},
|
|
436
|
+
getCount: J,
|
|
437
|
+
on: (e, t) => C.on(e, t),
|
|
438
|
+
resize() {
|
|
439
|
+
G.invalidate();
|
|
440
|
+
},
|
|
441
|
+
destroy() {
|
|
442
|
+
K.removeEventListener("pointermove", $), K.removeEventListener("pointerleave", ye), K.removeEventListener("pointerdown", be), K.removeEventListener("pointerup", xe), K.removeEventListener("click", Se), K.removeEventListener("wheel", Ce), K.removeEventListener("keydown", we), K.removeEventListener("blur", Te), C.clear(), G.destroy();
|
|
443
|
+
}
|
|
444
|
+
};
|
|
445
|
+
return q(), P = l(G.theme, S), Y(), G.invalidate(), Oe;
|
|
446
|
+
};
|
|
447
|
+
//#endregion
|
|
448
|
+
export { b as createTimeAndSales };
|
|
449
|
+
|
|
450
|
+
//# sourceMappingURL=tape.js.map
|