minerva-design 1.4.0 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/README.md +21 -21
- package/custom-elements.json +4047 -1703
- package/dist/angular/fesm2022/minerva-angular.mjs +1436 -5
- package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
- package/dist/angular/types/minerva-angular.d.ts +573 -4
- package/dist/charts/canvas.d.cts +2 -2
- package/dist/charts/canvas.d.ts +2 -2
- package/dist/charts/core.cjs +1 -1
- package/dist/charts/core.d.cts +6 -4
- package/dist/charts/core.d.ts +6 -4
- package/dist/charts/core.js +24 -16
- package/dist/charts/engine/axis.cjs +1 -1
- package/dist/charts/engine/axis.cjs.map +1 -1
- package/dist/charts/engine/axis.js +42 -19
- package/dist/charts/engine/axis.js.map +1 -1
- package/dist/charts/engine/canvas.cjs +1 -1
- package/dist/charts/engine/canvas.cjs.map +1 -1
- package/dist/charts/engine/canvas.js +154 -127
- package/dist/charts/engine/canvas.js.map +1 -1
- package/dist/charts/engine/chart.cjs +1 -1
- package/dist/charts/engine/chart.cjs.map +1 -1
- package/dist/charts/engine/chart.js +365 -251
- package/dist/charts/engine/chart.js.map +1 -1
- package/dist/charts/engine/color.cjs +1 -1
- package/dist/charts/engine/color.cjs.map +1 -1
- package/dist/charts/engine/color.d.cts +18 -0
- package/dist/charts/engine/color.d.ts +18 -0
- package/dist/charts/engine/color.js +48 -2
- package/dist/charts/engine/color.js.map +1 -1
- package/dist/charts/engine/controller.cjs +2 -2
- package/dist/charts/engine/controller.cjs.map +1 -1
- package/dist/charts/engine/controller.d.cts +32 -1
- package/dist/charts/engine/controller.d.ts +32 -1
- package/dist/charts/engine/controller.js +310 -263
- package/dist/charts/engine/controller.js.map +1 -1
- package/dist/charts/engine/data.cjs +1 -1
- package/dist/charts/engine/data.cjs.map +1 -1
- package/dist/charts/engine/data.d.cts +3 -1
- package/dist/charts/engine/data.d.ts +3 -1
- package/dist/charts/engine/data.js +6 -4
- package/dist/charts/engine/data.js.map +1 -1
- package/dist/charts/engine/defaults.cjs +2 -0
- package/dist/charts/engine/defaults.cjs.map +1 -0
- package/dist/charts/engine/defaults.d.cts +20 -0
- package/dist/charts/engine/defaults.d.ts +20 -0
- package/dist/charts/engine/defaults.js +35 -0
- package/dist/charts/engine/defaults.js.map +1 -0
- package/dist/charts/engine/format.cjs +1 -1
- package/dist/charts/engine/format.cjs.map +1 -1
- package/dist/charts/engine/format.d.cts +6 -0
- package/dist/charts/engine/format.d.ts +6 -0
- package/dist/charts/engine/format.js +15 -2
- package/dist/charts/engine/format.js.map +1 -1
- package/dist/charts/engine/graph/chart.cjs +2 -0
- package/dist/charts/engine/graph/chart.cjs.map +1 -0
- package/dist/charts/engine/graph/chart.d.cts +3 -0
- package/dist/charts/engine/graph/chart.d.ts +3 -0
- package/dist/charts/engine/graph/chart.js +1565 -0
- package/dist/charts/engine/graph/chart.js.map +1 -0
- package/dist/charts/engine/graph/circular.cjs +2 -0
- package/dist/charts/engine/graph/circular.cjs.map +1 -0
- package/dist/charts/engine/graph/circular.d.cts +16 -0
- package/dist/charts/engine/graph/circular.d.ts +16 -0
- package/dist/charts/engine/graph/circular.js +62 -0
- package/dist/charts/engine/graph/circular.js.map +1 -0
- package/dist/charts/engine/graph/dag.cjs +2 -0
- package/dist/charts/engine/graph/dag.cjs.map +1 -0
- package/dist/charts/engine/graph/dag.d.cts +34 -0
- package/dist/charts/engine/graph/dag.d.ts +34 -0
- package/dist/charts/engine/graph/dag.js +314 -0
- package/dist/charts/engine/graph/dag.js.map +1 -0
- package/dist/charts/engine/graph/dom.cjs +2 -0
- package/dist/charts/engine/graph/dom.cjs.map +1 -0
- package/dist/charts/engine/graph/dom.d.cts +23 -0
- package/dist/charts/engine/graph/dom.d.ts +23 -0
- package/dist/charts/engine/graph/dom.js +158 -0
- package/dist/charts/engine/graph/dom.js.map +1 -0
- package/dist/charts/engine/graph/force.cjs +2 -0
- package/dist/charts/engine/graph/force.cjs.map +1 -0
- package/dist/charts/engine/graph/force.d.cts +67 -0
- package/dist/charts/engine/graph/force.d.ts +67 -0
- package/dist/charts/engine/graph/force.js +325 -0
- package/dist/charts/engine/graph/force.js.map +1 -0
- package/dist/charts/engine/graph/geometry.cjs +2 -0
- package/dist/charts/engine/graph/geometry.cjs.map +1 -0
- package/dist/charts/engine/graph/geometry.d.cts +37 -0
- package/dist/charts/engine/graph/geometry.d.ts +37 -0
- package/dist/charts/engine/graph/geometry.js +144 -0
- package/dist/charts/engine/graph/geometry.js.map +1 -0
- package/dist/charts/engine/graph/index.cjs +1 -0
- package/dist/charts/engine/graph/index.d.cts +6 -0
- package/dist/charts/engine/graph/index.d.ts +6 -0
- package/dist/charts/engine/graph/index.js +6 -0
- package/dist/charts/engine/graph/labels.cjs +2 -0
- package/dist/charts/engine/graph/labels.cjs.map +1 -0
- package/dist/charts/engine/graph/labels.d.cts +12 -0
- package/dist/charts/engine/graph/labels.d.ts +12 -0
- package/dist/charts/engine/graph/labels.js +128 -0
- package/dist/charts/engine/graph/labels.js.map +1 -0
- package/dist/charts/engine/graph/model.cjs +2 -0
- package/dist/charts/engine/graph/model.cjs.map +1 -0
- package/dist/charts/engine/graph/model.d.cts +43 -0
- package/dist/charts/engine/graph/model.d.ts +43 -0
- package/dist/charts/engine/graph/model.js +88 -0
- package/dist/charts/engine/graph/model.js.map +1 -0
- package/dist/charts/engine/graph/sizing.cjs +2 -0
- package/dist/charts/engine/graph/sizing.cjs.map +1 -0
- package/dist/charts/engine/graph/sizing.d.cts +33 -0
- package/dist/charts/engine/graph/sizing.d.ts +33 -0
- package/dist/charts/engine/graph/sizing.js +60 -0
- package/dist/charts/engine/graph/sizing.js.map +1 -0
- package/dist/charts/engine/graph/tree.cjs +2 -0
- package/dist/charts/engine/graph/tree.cjs.map +1 -0
- package/dist/charts/engine/graph/tree.d.cts +30 -0
- package/dist/charts/engine/graph/tree.d.ts +30 -0
- package/dist/charts/engine/graph/tree.js +218 -0
- package/dist/charts/engine/graph/tree.js.map +1 -0
- package/dist/charts/engine/graph/types.d.cts +626 -0
- package/dist/charts/engine/graph/types.d.ts +626 -0
- package/dist/charts/engine/graph/worker.cjs +46 -0
- package/dist/charts/engine/graph/worker.cjs.map +1 -0
- package/dist/charts/engine/graph/worker.d.cts +36 -0
- package/dist/charts/engine/graph/worker.d.ts +36 -0
- package/dist/charts/engine/graph/worker.js +129 -0
- package/dist/charts/engine/graph/worker.js.map +1 -0
- package/dist/charts/engine/items.cjs +1 -1
- package/dist/charts/engine/items.cjs.map +1 -1
- package/dist/charts/engine/items.d.cts +15 -2
- package/dist/charts/engine/items.d.ts +15 -2
- package/dist/charts/engine/items.js +131 -112
- package/dist/charts/engine/items.js.map +1 -1
- package/dist/charts/engine/labels.cjs +1 -1
- package/dist/charts/engine/labels.cjs.map +1 -1
- package/dist/charts/engine/labels.js +28 -4
- package/dist/charts/engine/labels.js.map +1 -1
- package/dist/charts/engine/layout.cjs +1 -1
- package/dist/charts/engine/layout.cjs.map +1 -1
- package/dist/charts/engine/layout.d.cts +9 -0
- package/dist/charts/engine/layout.d.ts +9 -0
- package/dist/charts/engine/layout.js +11 -2
- package/dist/charts/engine/layout.js.map +1 -1
- package/dist/charts/engine/model.cjs +1 -1
- package/dist/charts/engine/model.cjs.map +1 -1
- package/dist/charts/engine/model.d.cts +40 -3
- package/dist/charts/engine/model.d.ts +40 -3
- package/dist/charts/engine/model.js +246 -165
- package/dist/charts/engine/model.js.map +1 -1
- package/dist/charts/engine/orderbook/format.cjs +1 -1
- package/dist/charts/engine/orderbook/format.cjs.map +1 -1
- package/dist/charts/engine/orderbook/format.d.cts +3 -2
- package/dist/charts/engine/orderbook/format.d.ts +3 -2
- package/dist/charts/engine/orderbook/format.js +5 -5
- package/dist/charts/engine/orderbook/format.js.map +1 -1
- package/dist/charts/engine/orderbook/heatmap.cjs +1 -1
- package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -1
- package/dist/charts/engine/orderbook/heatmap.js +527 -408
- package/dist/charts/engine/orderbook/heatmap.js.map +1 -1
- package/dist/charts/engine/orderbook/layout.cjs +2 -0
- package/dist/charts/engine/orderbook/layout.cjs.map +1 -0
- package/dist/charts/engine/orderbook/layout.d.cts +37 -0
- package/dist/charts/engine/orderbook/layout.d.ts +37 -0
- package/dist/charts/engine/orderbook/layout.js +70 -0
- package/dist/charts/engine/orderbook/layout.js.map +1 -0
- package/dist/charts/engine/orderbook/tape.cjs +1 -1
- package/dist/charts/engine/orderbook/tape.cjs.map +1 -1
- package/dist/charts/engine/orderbook/tape.js +1 -1
- package/dist/charts/engine/orderbook/tape.js.map +1 -1
- package/dist/charts/engine/orderbook/types.d.cts +18 -2
- package/dist/charts/engine/orderbook/types.d.ts +18 -2
- package/dist/charts/engine/overlay.cjs +1 -1
- package/dist/charts/engine/overlay.cjs.map +1 -1
- package/dist/charts/engine/overlay.d.cts +10 -0
- package/dist/charts/engine/overlay.d.ts +10 -0
- package/dist/charts/engine/overlay.js +6 -0
- 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 +25 -3
- package/dist/charts/engine/presets.d.ts +25 -3
- package/dist/charts/engine/presets.js +115 -101
- package/dist/charts/engine/presets.js.map +1 -1
- package/dist/charts/engine/renderers/detect.cjs +1 -1
- package/dist/charts/engine/renderers/detect.cjs.map +1 -1
- package/dist/charts/engine/renderers/detect.d.cts +2 -1
- package/dist/charts/engine/renderers/detect.d.ts +2 -1
- package/dist/charts/engine/renderers/detect.js +23 -21
- package/dist/charts/engine/renderers/detect.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 +57 -4
- package/dist/charts/engine/scene.d.ts +57 -4
- package/dist/charts/engine/scene.js +335 -182
- package/dist/charts/engine/scene.js.map +1 -1
- package/dist/charts/engine/shapes/bullet.cjs +1 -1
- package/dist/charts/engine/shapes/bullet.cjs.map +1 -1
- package/dist/charts/engine/shapes/bullet.js +110 -110
- package/dist/charts/engine/shapes/bullet.js.map +1 -1
- package/dist/charts/engine/shapes/chart.cjs +1 -1
- package/dist/charts/engine/shapes/chart.cjs.map +1 -1
- package/dist/charts/engine/shapes/chart.js +4 -1
- package/dist/charts/engine/shapes/chart.js.map +1 -1
- package/dist/charts/engine/shapes/chord.cjs +2 -0
- package/dist/charts/engine/shapes/chord.cjs.map +1 -0
- package/dist/charts/engine/shapes/chord.d.cts +18 -0
- package/dist/charts/engine/shapes/chord.d.ts +18 -0
- package/dist/charts/engine/shapes/chord.js +414 -0
- package/dist/charts/engine/shapes/chord.js.map +1 -0
- package/dist/charts/engine/shapes/draw.cjs +1 -1
- package/dist/charts/engine/shapes/draw.cjs.map +1 -1
- package/dist/charts/engine/shapes/draw.d.cts +5 -1
- package/dist/charts/engine/shapes/draw.d.ts +5 -1
- package/dist/charts/engine/shapes/draw.js +47 -17
- package/dist/charts/engine/shapes/draw.js.map +1 -1
- package/dist/charts/engine/shapes/hit.cjs +1 -1
- package/dist/charts/engine/shapes/hit.cjs.map +1 -1
- package/dist/charts/engine/shapes/hit.d.cts +3 -1
- package/dist/charts/engine/shapes/hit.d.ts +3 -1
- package/dist/charts/engine/shapes/hit.js +75 -46
- package/dist/charts/engine/shapes/hit.js.map +1 -1
- package/dist/charts/engine/shapes/index.d.cts +3 -2
- package/dist/charts/engine/shapes/index.d.ts +3 -2
- package/dist/charts/engine/shapes/labels.cjs +1 -1
- package/dist/charts/engine/shapes/labels.cjs.map +1 -1
- package/dist/charts/engine/shapes/labels.js +12 -4
- package/dist/charts/engine/shapes/labels.js.map +1 -1
- package/dist/charts/engine/shapes/layout.cjs +2 -2
- package/dist/charts/engine/shapes/layout.cjs.map +1 -1
- package/dist/charts/engine/shapes/layout.d.cts +3 -1
- package/dist/charts/engine/shapes/layout.d.ts +3 -1
- package/dist/charts/engine/shapes/layout.js +106 -78
- package/dist/charts/engine/shapes/layout.js.map +1 -1
- package/dist/charts/engine/shapes/scene.cjs +1 -1
- package/dist/charts/engine/shapes/scene.cjs.map +1 -1
- package/dist/charts/engine/shapes/scene.d.cts +33 -3
- package/dist/charts/engine/shapes/scene.d.ts +33 -3
- package/dist/charts/engine/shapes/scene.js +62 -19
- package/dist/charts/engine/shapes/scene.js.map +1 -1
- package/dist/charts/engine/shapes/types.d.cts +119 -8
- package/dist/charts/engine/shapes/types.d.ts +119 -8
- package/dist/charts/engine/signature.cjs +1 -1
- package/dist/charts/engine/signature.cjs.map +1 -1
- package/dist/charts/engine/signature.js +1 -1
- package/dist/charts/engine/signature.js.map +1 -1
- package/dist/charts/engine/three-d/canvas2d.cjs +1 -1
- package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -1
- package/dist/charts/engine/three-d/canvas2d.d.cts +5 -2
- package/dist/charts/engine/three-d/canvas2d.d.ts +5 -2
- package/dist/charts/engine/three-d/canvas2d.js +89 -65
- package/dist/charts/engine/three-d/canvas2d.js.map +1 -1
- package/dist/charts/engine/three-d/detect.cjs +1 -1
- package/dist/charts/engine/three-d/detect.cjs.map +1 -1
- package/dist/charts/engine/three-d/detect.d.cts +3 -2
- package/dist/charts/engine/three-d/detect.d.ts +3 -2
- package/dist/charts/engine/three-d/detect.js +22 -20
- package/dist/charts/engine/three-d/detect.js.map +1 -1
- package/dist/charts/engine/three-d/geometry.cjs +1 -1
- package/dist/charts/engine/three-d/geometry.cjs.map +1 -1
- package/dist/charts/engine/three-d/geometry.d.cts +6 -0
- package/dist/charts/engine/three-d/geometry.d.ts +6 -0
- package/dist/charts/engine/three-d/geometry.js +106 -90
- package/dist/charts/engine/three-d/geometry.js.map +1 -1
- package/dist/charts/engine/three-d/model.cjs +1 -1
- package/dist/charts/engine/three-d/model.cjs.map +1 -1
- package/dist/charts/engine/three-d/model.d.cts +2 -0
- package/dist/charts/engine/three-d/model.d.ts +2 -0
- package/dist/charts/engine/three-d/model.js +2 -0
- package/dist/charts/engine/three-d/model.js.map +1 -1
- package/dist/charts/engine/three-d/overlay.cjs +1 -1
- package/dist/charts/engine/three-d/overlay.cjs.map +1 -1
- package/dist/charts/engine/three-d/overlay.js +43 -36
- package/dist/charts/engine/three-d/overlay.js.map +1 -1
- package/dist/charts/engine/three-d/render-types.cjs +1 -1
- package/dist/charts/engine/three-d/render-types.cjs.map +1 -1
- package/dist/charts/engine/three-d/render-types.d.cts +24 -3
- package/dist/charts/engine/three-d/render-types.d.ts +24 -3
- package/dist/charts/engine/three-d/render-types.js +6 -7
- package/dist/charts/engine/three-d/render-types.js.map +1 -1
- package/dist/charts/engine/three-d/shaders.cjs +63 -28
- package/dist/charts/engine/three-d/shaders.cjs.map +1 -1
- package/dist/charts/engine/three-d/shaders.d.cts +2 -3
- package/dist/charts/engine/three-d/shaders.d.ts +2 -3
- package/dist/charts/engine/three-d/shaders.js +41 -22
- package/dist/charts/engine/three-d/shaders.js.map +1 -1
- package/dist/charts/engine/three-d/sort.cjs +1 -1
- package/dist/charts/engine/three-d/sort.cjs.map +1 -1
- package/dist/charts/engine/three-d/sort.d.cts +15 -4
- package/dist/charts/engine/three-d/sort.d.ts +15 -4
- package/dist/charts/engine/three-d/sort.js +117 -43
- package/dist/charts/engine/three-d/sort.js.map +1 -1
- package/dist/charts/engine/three-d/types.d.cts +27 -0
- package/dist/charts/engine/three-d/types.d.ts +27 -0
- package/dist/charts/engine/three-d/webgl.cjs +1 -1
- package/dist/charts/engine/three-d/webgl.cjs.map +1 -1
- package/dist/charts/engine/three-d/webgl.js +15 -13
- package/dist/charts/engine/three-d/webgl.js.map +1 -1
- package/dist/charts/engine/three-d/webgpu.cjs +1 -1
- package/dist/charts/engine/three-d/webgpu.cjs.map +1 -1
- package/dist/charts/engine/three-d/webgpu.js +50 -39
- package/dist/charts/engine/three-d/webgpu.js.map +1 -1
- package/dist/charts/engine/trading/chart.cjs +1 -1
- package/dist/charts/engine/trading/chart.cjs.map +1 -1
- package/dist/charts/engine/trading/chart.d.cts +10 -0
- package/dist/charts/engine/trading/chart.d.ts +10 -0
- package/dist/charts/engine/trading/chart.js +1475 -776
- package/dist/charts/engine/trading/chart.js.map +1 -1
- package/dist/charts/engine/trading/drawings.cjs +2 -1
- package/dist/charts/engine/trading/drawings.cjs.map +1 -1
- package/dist/charts/engine/trading/drawings.d.cts +47 -9
- package/dist/charts/engine/trading/drawings.d.ts +47 -9
- package/dist/charts/engine/trading/drawings.js +338 -75
- package/dist/charts/engine/trading/drawings.js.map +1 -1
- package/dist/charts/engine/trading/format.cjs +1 -1
- package/dist/charts/engine/trading/format.cjs.map +1 -1
- package/dist/charts/engine/trading/format.d.cts +13 -0
- package/dist/charts/engine/trading/format.d.ts +13 -0
- package/dist/charts/engine/trading/format.js +51 -19
- package/dist/charts/engine/trading/format.js.map +1 -1
- package/dist/charts/engine/trading/index.cjs +1 -1
- package/dist/charts/engine/trading/index.d.cts +2 -1
- package/dist/charts/engine/trading/index.d.ts +2 -1
- package/dist/charts/engine/trading/index.js +4 -3
- package/dist/charts/engine/trading/indicators.cjs +1 -1
- package/dist/charts/engine/trading/indicators.cjs.map +1 -1
- package/dist/charts/engine/trading/indicators.d.cts +180 -10
- package/dist/charts/engine/trading/indicators.d.ts +180 -10
- package/dist/charts/engine/trading/indicators.js +449 -173
- package/dist/charts/engine/trading/indicators.js.map +1 -1
- package/dist/charts/engine/trading/labels.cjs +1 -1
- package/dist/charts/engine/trading/labels.cjs.map +1 -1
- package/dist/charts/engine/trading/labels.js +84 -4
- package/dist/charts/engine/trading/labels.js.map +1 -1
- package/dist/charts/engine/trading/store.cjs +1 -1
- package/dist/charts/engine/trading/store.cjs.map +1 -1
- package/dist/charts/engine/trading/store.d.cts +21 -0
- package/dist/charts/engine/trading/store.d.ts +21 -0
- package/dist/charts/engine/trading/store.js +22 -1
- package/dist/charts/engine/trading/store.js.map +1 -1
- package/dist/charts/engine/trading/studies.cjs +1 -1
- package/dist/charts/engine/trading/studies.cjs.map +1 -1
- package/dist/charts/engine/trading/studies.d.cts +41 -8
- package/dist/charts/engine/trading/studies.d.ts +41 -8
- package/dist/charts/engine/trading/studies.js +349 -93
- package/dist/charts/engine/trading/studies.js.map +1 -1
- package/dist/charts/engine/trading/sync.cjs +2 -0
- package/dist/charts/engine/trading/sync.cjs.map +1 -0
- package/dist/charts/engine/trading/sync.d.cts +8 -0
- package/dist/charts/engine/trading/sync.d.ts +8 -0
- package/dist/charts/engine/trading/sync.js +25 -0
- package/dist/charts/engine/trading/sync.js.map +1 -0
- package/dist/charts/engine/trading/types.d.cts +484 -9
- package/dist/charts/engine/trading/types.d.ts +484 -9
- package/dist/charts/engine/types.d.cts +82 -8
- package/dist/charts/engine/types.d.ts +82 -8
- package/dist/charts/index.cjs +1 -1
- package/dist/charts/index.d.cts +3 -2
- package/dist/charts/index.d.ts +3 -2
- package/dist/charts/index.js +30 -22
- package/dist/charts/react/charts.cjs +1 -1
- package/dist/charts/react/charts.cjs.map +1 -1
- package/dist/charts/react/charts.js +46 -34
- package/dist/charts/react/charts.js.map +1 -1
- package/dist/charts/react/graph.cjs +2 -0
- package/dist/charts/react/graph.cjs.map +1 -0
- package/dist/charts/react/graph.d.cts +213 -0
- package/dist/charts/react/graph.d.ts +213 -0
- package/dist/charts/react/graph.js +159 -0
- package/dist/charts/react/graph.js.map +1 -0
- package/dist/charts/react/shapes.cjs +1 -1
- package/dist/charts/react/shapes.cjs.map +1 -1
- package/dist/charts/react/shapes.d.cts +87 -4
- package/dist/charts/react/shapes.d.ts +87 -4
- package/dist/charts/react/shapes.js +55 -12
- package/dist/charts/react/shapes.js.map +1 -1
- package/dist/charts/react/trading.cjs +1 -1
- package/dist/charts/react/trading.cjs.map +1 -1
- package/dist/charts/react/trading.d.cts +53 -1
- package/dist/charts/react/trading.d.ts +53 -1
- package/dist/charts/react/trading.js +68 -37
- package/dist/charts/react/trading.js.map +1 -1
- package/dist/charts/react/types.d.cts +11 -0
- package/dist/charts/react/types.d.ts +11 -0
- package/dist/core/contracts.cjs +1 -1
- package/dist/core/contracts.cjs.map +1 -1
- package/dist/core/contracts.js +1 -1
- package/dist/core/contracts.js.map +1 -1
- package/dist/native/charts/src/canvas.cjs +1 -1
- package/dist/native/charts/src/canvas.js +3 -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 +42 -19
- package/dist/native/charts/src/engine/axis.js.map +1 -1
- package/dist/native/charts/src/engine/color.cjs +1 -1
- package/dist/native/charts/src/engine/color.cjs.map +1 -1
- package/dist/native/charts/src/engine/color.js +47 -5
- package/dist/native/charts/src/engine/color.js.map +1 -1
- package/dist/native/charts/src/engine/controller.cjs +2 -2
- package/dist/native/charts/src/engine/controller.cjs.map +1 -1
- package/dist/native/charts/src/engine/controller.js +300 -253
- package/dist/native/charts/src/engine/controller.js.map +1 -1
- package/dist/native/charts/src/engine/data.cjs +1 -1
- package/dist/native/charts/src/engine/data.cjs.map +1 -1
- package/dist/native/charts/src/engine/data.js +6 -4
- package/dist/native/charts/src/engine/data.js.map +1 -1
- package/dist/native/charts/src/engine/format.cjs +1 -1
- package/dist/native/charts/src/engine/format.cjs.map +1 -1
- package/dist/native/charts/src/engine/format.js +15 -2
- package/dist/native/charts/src/engine/format.js.map +1 -1
- package/dist/native/charts/src/engine/labels.cjs +1 -1
- package/dist/native/charts/src/engine/labels.cjs.map +1 -1
- package/dist/native/charts/src/engine/labels.js +28 -4
- package/dist/native/charts/src/engine/labels.js.map +1 -1
- package/dist/native/charts/src/engine/layout.cjs +1 -1
- package/dist/native/charts/src/engine/layout.cjs.map +1 -1
- package/dist/native/charts/src/engine/layout.js +11 -2
- package/dist/native/charts/src/engine/layout.js.map +1 -1
- package/dist/native/charts/src/engine/model.cjs +1 -1
- package/dist/native/charts/src/engine/model.cjs.map +1 -1
- package/dist/native/charts/src/engine/model.js +252 -171
- package/dist/native/charts/src/engine/model.js.map +1 -1
- package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
- package/dist/native/charts/src/engine/overlay.js.map +1 -1
- package/dist/native/charts/src/engine/presets.cjs +2 -2
- package/dist/native/charts/src/engine/presets.cjs.map +1 -1
- package/dist/native/charts/src/engine/presets.js +104 -90
- package/dist/native/charts/src/engine/presets.js.map +1 -1
- package/dist/native/charts/src/engine/scene.cjs +1 -1
- package/dist/native/charts/src/engine/scene.cjs.map +1 -1
- package/dist/native/charts/src/engine/scene.js +341 -188
- package/dist/native/charts/src/engine/scene.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/bullet.cjs +1 -1
- package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/bullet.js +110 -110
- package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/calendar.cjs +1 -1
- package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/calendar.js +21 -16
- package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/chord.cjs +2 -0
- package/dist/native/charts/src/engine/shapes/chord.cjs.map +1 -0
- package/dist/native/charts/src/engine/shapes/chord.js +414 -0
- package/dist/native/charts/src/engine/shapes/chord.js.map +1 -0
- package/dist/native/charts/src/engine/shapes/draw.cjs +1 -1
- package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/draw.js +47 -17
- package/dist/native/charts/src/engine/shapes/draw.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/hit.cjs +1 -1
- package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/hit.js +73 -44
- package/dist/native/charts/src/engine/shapes/hit.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/labels.cjs +1 -1
- package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/labels.js +12 -4
- package/dist/native/charts/src/engine/shapes/labels.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/layout.cjs +2 -2
- package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/layout.js +117 -90
- package/dist/native/charts/src/engine/shapes/layout.js.map +1 -1
- package/dist/native/charts/src/engine/shapes/scene.cjs +1 -1
- package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -1
- package/dist/native/charts/src/engine/shapes/scene.js +62 -19
- package/dist/native/charts/src/engine/shapes/scene.js.map +1 -1
- package/dist/native/components/Chart/scene.cjs +1 -1
- package/dist/native/components/Chart/scene.cjs.map +1 -1
- package/dist/native/components/Chart/scene.js +140 -71
- package/dist/native/components/Chart/scene.js.map +1 -1
- package/dist/native/components/Charts/charts.cjs +1 -1
- package/dist/native/components/Charts/charts.cjs.map +1 -1
- package/dist/native/components/Charts/charts.js +54 -42
- package/dist/native/components/Charts/charts.js.map +1 -1
- package/dist/native/components/Charts/types.d.cts +11 -0
- package/dist/native/components/Charts/types.d.ts +11 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.cjs +1 -1
- package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -1
- package/dist/native/components/ShapeChart/ShapeChartBase.js +1 -0
- package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -1
- package/dist/native/components/ShapeChart/charts.cjs +1 -1
- package/dist/native/components/ShapeChart/charts.cjs.map +1 -1
- package/dist/native/components/ShapeChart/charts.d.cts +6 -1
- package/dist/native/components/ShapeChart/charts.d.ts +6 -1
- package/dist/native/components/ShapeChart/charts.js +138 -96
- package/dist/native/components/ShapeChart/charts.js.map +1 -1
- package/dist/native/components/ShapeChart/draw.cjs +1 -1
- package/dist/native/components/ShapeChart/draw.cjs.map +1 -1
- package/dist/native/components/ShapeChart/draw.d.cts +1 -1
- package/dist/native/components/ShapeChart/draw.d.ts +1 -1
- package/dist/native/components/ShapeChart/draw.js +26 -17
- package/dist/native/components/ShapeChart/draw.js.map +1 -1
- package/dist/native/components/ShapeChart/geometry.cjs +1 -1
- package/dist/native/components/ShapeChart/geometry.cjs.map +1 -1
- package/dist/native/components/ShapeChart/geometry.js +138 -59
- package/dist/native/components/ShapeChart/geometry.js.map +1 -1
- package/dist/native/components/ShapeChart/index.cjs +1 -1
- package/dist/native/components/ShapeChart/index.d.cts +1 -1
- package/dist/native/components/ShapeChart/index.d.ts +1 -1
- package/dist/native/components/ShapeChart/index.js +2 -2
- package/dist/native/components/ShapeChart/recorder.cjs +1 -1
- package/dist/native/components/ShapeChart/recorder.cjs.map +1 -1
- package/dist/native/components/ShapeChart/recorder.d.cts +10 -1
- package/dist/native/components/ShapeChart/recorder.d.ts +10 -1
- package/dist/native/components/ShapeChart/recorder.js +19 -10
- package/dist/native/components/ShapeChart/recorder.js.map +1 -1
- package/dist/native/components/ShapeChart/types.d.cts +92 -7
- package/dist/native/components/ShapeChart/types.d.ts +92 -7
- package/dist/native/index.cjs +1 -1
- package/dist/native/index.js +2 -2
- package/dist/native/source/components/Chart/scene.tsx +158 -14
- package/dist/native/source/components/Charts/charts.tsx +30 -2
- package/dist/native/source/components/Charts/types.ts +11 -0
- package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +2 -0
- package/dist/native/source/components/ShapeChart/charts.tsx +91 -35
- package/dist/native/source/components/ShapeChart/draw.tsx +39 -8
- package/dist/native/source/components/ShapeChart/geometry.ts +189 -8
- package/dist/native/source/components/ShapeChart/index.ts +1 -0
- package/dist/native/source/components/ShapeChart/recorder.ts +20 -5
- package/dist/native/source/components/ShapeChart/types.ts +96 -5
- package/dist/native/source/manifest.ts +1 -0
- package/dist/taro/charts.d.ts +25 -5
- package/dist/taro/index.js +3900 -2836
- package/dist/taro/shape-charts.d.ts +96 -4
- package/dist/uni/AreaChart.vue.d.ts +5 -1
- package/dist/uni/Badge.vue.d.ts +1 -1
- package/dist/uni/BarChart.vue.d.ts +5 -1
- package/dist/uni/BoxPlotChart.vue.d.ts +8 -0
- package/dist/uni/BubbleChart.vue.d.ts +4 -0
- package/dist/uni/BulletChart.vue.d.ts +4 -0
- package/dist/uni/CalendarHeatmap.vue.d.ts +2 -0
- package/dist/uni/CandlestickChart.vue.d.ts +4 -0
- package/dist/uni/Chart.vue.d.ts +4 -0
- package/dist/uni/ChordChart.vue +93 -0
- package/dist/uni/ChordChart.vue.d.ts +136 -0
- package/dist/uni/DonutChart.vue.d.ts +4 -0
- package/dist/uni/FunnelChart.vue.d.ts +4 -0
- package/dist/uni/GanttChart.vue.d.ts +4 -0
- package/dist/uni/GaugeChart.vue.d.ts +4 -0
- package/dist/uni/HeatmapChart.vue.d.ts +8 -2
- package/dist/uni/HistogramChart.vue.d.ts +4 -0
- package/dist/uni/HorizontalBarChart.vue.d.ts +3 -1
- package/dist/uni/LineChart.vue.d.ts +4 -0
- package/dist/uni/MixedChart.vue.d.ts +4 -0
- package/dist/uni/PieChart.vue.d.ts +4 -0
- package/dist/uni/QuadrantChart.vue.d.ts +4 -0
- package/dist/uni/RadarChart.vue.d.ts +4 -0
- package/dist/uni/RadialBarChart.vue.d.ts +4 -0
- package/dist/uni/RangeAreaChart.vue.d.ts +4 -0
- package/dist/uni/SankeyChart.vue.d.ts +4 -0
- package/dist/uni/ScatterChart.vue.d.ts +4 -0
- package/dist/uni/Sparkline.vue.d.ts +4 -0
- package/dist/uni/SunburstChart.vue.d.ts +4 -0
- package/dist/uni/ToastProvider.vue.d.ts +1 -1
- package/dist/uni/TreemapChart.vue.d.ts +4 -0
- package/dist/uni/WaterfallChart.vue.d.ts +9 -0
- package/dist/uni/chart-canvas.d.ts +3 -0
- package/dist/uni/chart-canvas.js +4 -0
- package/dist/uni/chart-types.d.ts +28 -4
- package/dist/uni/chart-types.js +26 -2
- package/dist/uni/charts-canvas.js +1 -1
- package/dist/uni/index.d.ts +2 -1
- package/dist/uni/index.js +1 -0
- package/dist/uni/manifest.d.ts +7 -0
- package/dist/uni/manifest.js +10 -0
- package/dist/uni/named-chart-options.d.ts +9 -2
- package/dist/uni/named-chart-options.js +18 -1
- package/dist/uni/shape-chart-canvas.d.ts +3 -1
- package/dist/uni/shape-chart-canvas.js +15 -24
- package/dist/uni/shape-chart-types.d.ts +52 -2
- package/dist/uni/shape-chart-types.js +44 -0
- package/dist/vue/charts-global.d.ts +48 -0
- package/dist/vue/charts.d.ts +18 -0
- package/dist/vue/charts.js +56 -0
- package/dist/vue/charts.js.map +1 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +8 -0
- package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -1
- package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +8 -2
- package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/vue/components/Chart/ChordChart.vue.d.ts +153 -0
- package/dist/vue/components/Chart/ChordChart.vue.js +7 -0
- package/dist/vue/components/Chart/ChordChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js +81 -0
- package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/DependencyGraph.vue.d.ts +179 -0
- package/dist/vue/components/Chart/DependencyGraph.vue.js +7 -0
- package/dist/vue/components/Chart/DependencyGraph.vue.js.map +1 -0
- package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js +65 -0
- package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/GanttChart.vue.d.ts +4 -0
- package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -1
- package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +4 -1
- package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/vue/components/Chart/GraphChart.vue.d.ts +184 -0
- package/dist/vue/components/Chart/GraphChart.vue.js +7 -0
- package/dist/vue/components/Chart/GraphChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js +62 -0
- package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +9 -5
- package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -1
- package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +3 -1
- package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +2 -0
- package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +2 -0
- package/dist/vue/components/Chart/TradingChart.vue.d.ts +49 -1
- package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -1
- package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +31 -0
- package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/vue/components/Chart/TreeChart.vue.d.ts +172 -0
- package/dist/vue/components/Chart/TreeChart.vue.js +7 -0
- package/dist/vue/components/Chart/TreeChart.vue.js.map +1 -0
- package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js +56 -0
- package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +12 -1
- package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -1
- package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +8 -2
- package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/vue/components/Chart/graph.d.ts +153 -0
- package/dist/vue/components/Chart/graph.js +135 -0
- package/dist/vue/components/Chart/graph.js.map +1 -0
- package/dist/vue/components/Chart/index.d.ts +5 -1
- package/dist/vue/components/Chart/index.js +5 -1
- package/dist/vue/components/Chart/orderbook.d.ts +5 -1
- package/dist/vue/components/Chart/orderbook.js +2 -0
- package/dist/vue/components/Chart/orderbook.js.map +1 -1
- package/dist/vue/components/Chart/trading.d.ts +24 -2
- package/dist/vue/components/Chart/trading.js +8 -0
- package/dist/vue/components/Chart/trading.js.map +1 -1
- package/dist/vue/components/Chart/types.d.ts +74 -2
- package/dist/vue/global.d.ts +2 -38
- package/dist/vue/groups/charts.js +10 -2
- package/dist/vue/groups/charts.js.map +1 -1
- package/dist/vue/index.js +6 -2
- package/dist/vue/internal/register.d.ts +7 -0
- package/dist/vue/internal/register.js +14 -0
- package/dist/vue/internal/register.js.map +1 -0
- package/dist/vue/plugin.d.ts +9 -4
- package/dist/vue/plugin.js +6 -11
- package/dist/vue/plugin.js.map +1 -1
- package/dist/weapp/charts/canvas.js +1687 -147
- package/dist/weapp/charts/core.js +1 -0
- package/dist/weapp/chord-chart/index.js +1 -0
- package/dist/weapp/chord-chart/index.json +1 -0
- package/dist/weapp/chord-chart/index.wxml +1 -0
- package/dist/weapp/chord-chart/index.wxss +1 -0
- package/dist/weapp/controls.js +92 -32
- package/dist/weapp/types.d.ts +87 -4
- package/dist/web-components/components/chart/charts.d.ts +4 -2
- package/dist/web-components/components/chart/charts.js +8 -1
- package/dist/web-components/components/chart/charts.js.map +1 -1
- package/dist/web-components/components/chart/extended.d.ts +17 -7
- package/dist/web-components/components/chart/extended.js +23 -9
- package/dist/web-components/components/chart/extended.js.map +1 -1
- package/dist/web-components/components/chart/shapes-extended.d.ts +37 -1
- package/dist/web-components/components/chart/shapes-extended.js +27 -1
- package/dist/web-components/components/chart/shapes-extended.js.map +1 -1
- package/dist/web-components/components/graph/graph.d.ts +154 -0
- package/dist/web-components/components/graph/graph.js +149 -0
- package/dist/web-components/components/graph/graph.js.map +1 -0
- package/dist/web-components/components/trading-chart/trading-chart.d.ts +49 -2
- package/dist/web-components/components/trading-chart/trading-chart.js +62 -0
- package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -1
- package/dist/web-components/elements/chart.d.ts +1 -1
- package/dist/web-components/elements/chart.js +6 -5
- package/dist/web-components/elements/chart.js.map +1 -1
- package/dist/web-components/elements/graph.d.ts +2 -0
- package/dist/web-components/elements/graph.js +12 -0
- package/dist/web-components/elements/graph.js.map +1 -0
- package/dist/web-components/html-custom-data.json +273 -4
- package/dist/web-components/types/react.d.ts +63 -4
- package/dist/web-components/types/solid.d.ts +55 -8
- package/dist/web-components/types/svelte.d.ts +55 -8
- package/dist/web-components/types/vue.d.ts +55 -4
- package/package.json +16 -1
|
@@ -1,31 +1,33 @@
|
|
|
1
|
-
import { luminance as e,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
1
|
+
import { luminance as e, mixOklab as t, oklabRamp as n, toCss as r } from "../color.js";
|
|
2
|
+
import { localeLabels as i } from "../locale.js";
|
|
3
|
+
import { linearTicks as a } from "../scale.js";
|
|
4
|
+
import { createRenderer as o } from "../renderers/detect.js";
|
|
5
|
+
import { timeTicks as s } from "../time.js";
|
|
6
|
+
import { createOrderBookStore as c, decimalsOf as l, inferPriceDecimals as u, inferSizeDecimals as d, inferTickSize as f, roundToStep as p } from "./book.js";
|
|
7
|
+
import { clamp as m, createFormatters as h, ease as g, fontOf as ee, formatClock as te, roundRect as _, sideColors as ne } from "./format.js";
|
|
8
|
+
import { createEmitter as re, createHost as ie, localPoint as v, tooltipHtml as ae } from "./host.js";
|
|
9
|
+
import { fitPriceRange as oe, fitTimeRange as se, layoutAxisLabels as ce, niceCeil as y } from "./layout.js";
|
|
10
10
|
//#region src/engine/orderbook/heatmap.ts
|
|
11
|
-
var
|
|
12
|
-
"#
|
|
13
|
-
"#
|
|
14
|
-
"#
|
|
15
|
-
"#
|
|
16
|
-
"#
|
|
17
|
-
"#
|
|
18
|
-
"#
|
|
19
|
-
"#
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
"#
|
|
23
|
-
"#
|
|
24
|
-
"#
|
|
25
|
-
"#
|
|
26
|
-
"#
|
|
27
|
-
"#
|
|
28
|
-
|
|
11
|
+
var le = 32, b = 128, x = [
|
|
12
|
+
"#0b2140",
|
|
13
|
+
"#0f3a70",
|
|
14
|
+
"#1259a3",
|
|
15
|
+
"#1585bd",
|
|
16
|
+
"#1fb3b0",
|
|
17
|
+
"#62cf73",
|
|
18
|
+
"#d9e04a",
|
|
19
|
+
"#ffb23a",
|
|
20
|
+
"#ff6a33"
|
|
21
|
+
], ue = [
|
|
22
|
+
"#dfecfb",
|
|
23
|
+
"#b3d2f5",
|
|
24
|
+
"#79abe8",
|
|
25
|
+
"#4580d6",
|
|
26
|
+
"#3b54b8",
|
|
27
|
+
"#5a33a0",
|
|
28
|
+
"#962a86",
|
|
29
|
+
"#cf2f55"
|
|
30
|
+
], de = 16, fe = 6, S = {
|
|
29
31
|
en: {
|
|
30
32
|
time: "Time",
|
|
31
33
|
price: "Price",
|
|
@@ -66,7 +68,7 @@ var y = 32, b = 128, x = [
|
|
|
66
68
|
ask: "Meilleure vente",
|
|
67
69
|
name: "Carte de chaleur de la liquidité"
|
|
68
70
|
}
|
|
69
|
-
},
|
|
71
|
+
}, pe = (e, t, n, r) => {
|
|
70
72
|
if (!(e > 0) || !(t > 0)) return 0;
|
|
71
73
|
let i = Math.min(1, e * r / t);
|
|
72
74
|
switch (n) {
|
|
@@ -74,8 +76,8 @@ var y = 32, b = 128, x = [
|
|
|
74
76
|
case "sqrt": return Math.sqrt(i);
|
|
75
77
|
default: return Math.log10(1 + 9 * i);
|
|
76
78
|
}
|
|
77
|
-
},
|
|
78
|
-
let
|
|
79
|
+
}, C = (C, w = {}) => {
|
|
80
|
+
let T = w, E = c(), D = re(), O = h(T, 2, 4), k = {
|
|
79
81
|
up: [
|
|
80
82
|
0,
|
|
81
83
|
0,
|
|
@@ -88,65 +90,84 @@ var y = 32, b = 128, x = [
|
|
|
88
90
|
0,
|
|
89
91
|
1
|
|
90
92
|
]
|
|
91
|
-
},
|
|
93
|
+
}, me = new Uint32Array(b), he = [
|
|
94
|
+
0,
|
|
95
|
+
0,
|
|
96
|
+
0,
|
|
97
|
+
1
|
|
98
|
+
], ge = !1, A = 0, j = [], _e = 0, M = NaN, N = {
|
|
92
99
|
buyVolume: 0,
|
|
93
100
|
buyNotional: 0,
|
|
94
101
|
sellVolume: 0,
|
|
95
102
|
sellNotional: 0
|
|
96
|
-
},
|
|
103
|
+
}, ve = null, P = NaN, ye = 0, F = 0, I = 0, L = 0, R = /* @__PURE__ */ new Map(), z = /* @__PURE__ */ new Set(), be = 0, B = null, V = -1, xe = {
|
|
97
104
|
x: NaN,
|
|
98
105
|
y: NaN
|
|
99
|
-
}, H = null,
|
|
100
|
-
|
|
101
|
-
}),
|
|
106
|
+
}, H = null, Se = 0, Ce = !1, we = () => {}, Te = new Promise((e) => {
|
|
107
|
+
we = e;
|
|
108
|
+
}), Ee = !0, U = NaN, W = [0, 1], G = [0, 1], De = !1, K = null, q = NaN, J = NaN, Oe = 0, Y = {
|
|
102
109
|
x: 0,
|
|
103
110
|
y: 0,
|
|
104
111
|
w: 0,
|
|
105
112
|
h: 0
|
|
106
|
-
},
|
|
113
|
+
}, ke = null, Ae = "", X = null, Z = ie(C, {
|
|
107
114
|
className: "minerva-orderbook-heatmap",
|
|
108
|
-
draw:
|
|
115
|
+
draw: ct,
|
|
109
116
|
onTheme: () => {
|
|
110
|
-
|
|
117
|
+
ze(), Ve();
|
|
111
118
|
}
|
|
112
|
-
}), { root: Q, doc:
|
|
119
|
+
}), { root: Q, doc: je } = Z;
|
|
113
120
|
Q.tabIndex = 0, Q.setAttribute("role", "figure"), Q.style.touchAction = "none";
|
|
114
|
-
let
|
|
115
|
-
|
|
116
|
-
}, $ = () => Math.max(10,
|
|
117
|
-
if (!Number.isFinite(
|
|
118
|
-
let e =
|
|
119
|
-
return
|
|
120
|
-
},
|
|
121
|
-
function
|
|
121
|
+
let Me = i(S, T.locale, T.labels), Ne = () => Me, Pe = () => {
|
|
122
|
+
Me = i(S, T.locale, T.labels), Q.setAttribute("aria-label", T.ariaLabel ?? Me.name);
|
|
123
|
+
}, $ = () => Math.max(10, T.interval ?? 100), Fe = () => Math.max($() * 4, T.history ?? 3e5), Ie = () => Math.max(4, Math.round(T.depth ?? 160)), Le = () => {
|
|
124
|
+
if (!Number.isFinite(P)) return Date.now();
|
|
125
|
+
let e = Re() - ye;
|
|
126
|
+
return P + Math.min(Math.max(0, e), $() * 3);
|
|
127
|
+
}, Re = () => typeof performance < "u" ? performance.now() : Date.now();
|
|
128
|
+
function ze() {
|
|
122
129
|
let r = Z.theme;
|
|
123
|
-
|
|
124
|
-
let i = (e) =>
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
r[1],
|
|
131
|
-
r[2],
|
|
130
|
+
k = ne(r, T);
|
|
131
|
+
let i = (e) => {
|
|
132
|
+
let t = r.resolve ? r.resolve(e, r.primary) : r.primary;
|
|
133
|
+
return [
|
|
134
|
+
t[0],
|
|
135
|
+
t[1],
|
|
136
|
+
t[2],
|
|
132
137
|
1
|
|
133
|
-
]
|
|
134
|
-
}
|
|
138
|
+
];
|
|
139
|
+
}, a = [
|
|
140
|
+
r.background[0],
|
|
141
|
+
r.background[1],
|
|
142
|
+
r.background[2],
|
|
143
|
+
1
|
|
144
|
+
];
|
|
145
|
+
ge = r.background[3] > 0 && e(a) < .4, he = ge ? t(a, [
|
|
146
|
+
0,
|
|
147
|
+
0,
|
|
148
|
+
0,
|
|
149
|
+
1
|
|
150
|
+
], .4) : t(a, [
|
|
151
|
+
r.text[0],
|
|
152
|
+
r.text[1],
|
|
153
|
+
r.text[2],
|
|
154
|
+
1
|
|
155
|
+
], .02), me = n([he, ...(T.colors?.length ? T.colors : ge ? x : ue).map(i)], b);
|
|
135
156
|
}
|
|
136
|
-
let
|
|
137
|
-
|
|
138
|
-
},
|
|
139
|
-
for (let e of
|
|
140
|
-
|
|
141
|
-
},
|
|
142
|
-
|
|
157
|
+
let Be = () => {
|
|
158
|
+
O = h(T, A > 0 ? Math.max(l(A), u(E)) : u(E), d(E));
|
|
159
|
+
}, Ve = () => {
|
|
160
|
+
for (let e of R.keys()) z.add(e);
|
|
161
|
+
V = -1, Z.invalidate();
|
|
162
|
+
}, He = () => {
|
|
163
|
+
j = [], R.clear(), z.clear(), B = null, V = -1, M = NaN, xe = {
|
|
143
164
|
x: NaN,
|
|
144
165
|
y: NaN
|
|
145
|
-
},
|
|
146
|
-
},
|
|
147
|
-
if (
|
|
148
|
-
let e =
|
|
149
|
-
if (
|
|
166
|
+
}, F = 0, I = 0, J = NaN, N.buyVolume = N.buyNotional = N.sellVolume = N.sellNotional = 0;
|
|
167
|
+
}, Ue = () => {
|
|
168
|
+
if (A > 0) return;
|
|
169
|
+
let e = f(E), t = E.mid();
|
|
170
|
+
if (T.tickSize && T.tickSize > 0) A = T.tickSize;
|
|
150
171
|
else if (e > 0 && Number.isFinite(t)) {
|
|
151
172
|
let n = t * 1e-5 / e, r = 1;
|
|
152
173
|
for (let e = 1; e <= 1e9 && r < n * .75; e *= 10) for (let t of [
|
|
@@ -154,20 +175,20 @@ var y = 32, b = 128, x = [
|
|
|
154
175
|
2,
|
|
155
176
|
5
|
|
156
177
|
]) if (r = t * e, r >= n * .75) break;
|
|
157
|
-
|
|
158
|
-
} else
|
|
159
|
-
|
|
160
|
-
},
|
|
161
|
-
let e =
|
|
178
|
+
A = p(e * r, e);
|
|
179
|
+
} else A = Number.isFinite(t) ? Math.max(1e-8, t * 1e-5) : 0;
|
|
180
|
+
A > 0 && Be();
|
|
181
|
+
}, We = () => {
|
|
182
|
+
let e = Ie(), t = new Float64Array(e * 2), n = new Float32Array(e * 2), r = 0, i = [
|
|
162
183
|
0,
|
|
163
184
|
0,
|
|
164
185
|
0,
|
|
165
186
|
0
|
|
166
187
|
];
|
|
167
188
|
for (let i of ["bid", "ask"]) {
|
|
168
|
-
let a =
|
|
189
|
+
let a = E.count(i), o = 0;
|
|
169
190
|
for (let s = 0; s < a; s++) {
|
|
170
|
-
let a = Math.round(
|
|
191
|
+
let a = Math.round(E.priceAt(i, s) / A), c = E.sizeAt(i, s);
|
|
171
192
|
if (r > 0 && t[r - 1] === a && o > 0) {
|
|
172
193
|
n[r - 1] += c;
|
|
173
194
|
continue;
|
|
@@ -185,86 +206,86 @@ var y = 32, b = 128, x = [
|
|
|
185
206
|
sizes: n.subarray(0, r),
|
|
186
207
|
reference: i[3] || i[0]
|
|
187
208
|
};
|
|
188
|
-
},
|
|
189
|
-
if (!(
|
|
190
|
-
let { bins: t, sizes: n, reference: r } =
|
|
191
|
-
seq:
|
|
209
|
+
}, Ge = (e) => {
|
|
210
|
+
if (!(A > 0)) return;
|
|
211
|
+
let { bins: t, sizes: n, reference: r } = We(), i = {
|
|
212
|
+
seq: _e++,
|
|
192
213
|
time: e,
|
|
193
214
|
bins: t,
|
|
194
215
|
sizes: n,
|
|
195
|
-
bestBid:
|
|
196
|
-
bestAsk:
|
|
197
|
-
buyVolume:
|
|
198
|
-
buyNotional:
|
|
199
|
-
sellVolume:
|
|
200
|
-
sellNotional:
|
|
216
|
+
bestBid: E.bestBid(),
|
|
217
|
+
bestAsk: E.bestAsk(),
|
|
218
|
+
buyVolume: N.buyVolume,
|
|
219
|
+
buyNotional: N.buyNotional,
|
|
220
|
+
sellVolume: N.sellVolume,
|
|
221
|
+
sellNotional: N.sellNotional,
|
|
201
222
|
reference: r
|
|
202
223
|
};
|
|
203
|
-
if (
|
|
204
|
-
let e =
|
|
224
|
+
if (N.buyVolume = N.buyNotional = N.sellVolume = N.sellNotional = 0, j.push(i), z.add(Math.floor(i.seq / le)), T.maxSize === void 0) {
|
|
225
|
+
let e = j.slice(-100), t = 0;
|
|
205
226
|
for (let n of e) t += n.reference;
|
|
206
227
|
let n = t / e.length * 1.6;
|
|
207
|
-
if (!(
|
|
208
|
-
|
|
209
|
-
for (let e of
|
|
210
|
-
|
|
228
|
+
if (!(F > 0) || Math.abs(n / F - 1) > .3) {
|
|
229
|
+
F = n;
|
|
230
|
+
for (let e of R.keys()) z.add(e);
|
|
231
|
+
V = -1;
|
|
211
232
|
}
|
|
212
233
|
}
|
|
213
|
-
let a = e -
|
|
214
|
-
for (; o <
|
|
234
|
+
let a = e - Fe(), o = 0;
|
|
235
|
+
for (; o < j.length && j[o].time < a;) o++;
|
|
215
236
|
if (o) {
|
|
216
|
-
|
|
217
|
-
let e =
|
|
218
|
-
for (let t of [...
|
|
237
|
+
j = j.slice(o);
|
|
238
|
+
let e = j[0] ? Math.floor(j[0].seq / le) : Infinity;
|
|
239
|
+
for (let t of [...R.keys()]) t < e && R.delete(t);
|
|
219
240
|
}
|
|
220
|
-
},
|
|
241
|
+
}, Ke = (e) => {
|
|
221
242
|
if (!Number.isFinite(e)) return;
|
|
222
243
|
let t = $();
|
|
223
|
-
if (!Number.isFinite(
|
|
224
|
-
|
|
244
|
+
if (!Number.isFinite(M)) {
|
|
245
|
+
M = Math.floor(e / t) * t;
|
|
225
246
|
return;
|
|
226
247
|
}
|
|
227
|
-
if (e -
|
|
228
|
-
|
|
248
|
+
if (e - M > Fe()) {
|
|
249
|
+
Ge(M), M = Math.floor(e / t) * t;
|
|
229
250
|
return;
|
|
230
251
|
}
|
|
231
|
-
for (; e >=
|
|
232
|
-
},
|
|
233
|
-
let t = 0, n =
|
|
252
|
+
for (; e >= M + t;) Ge(M), M += t;
|
|
253
|
+
}, qe = (e) => e === void 0 || !Number.isFinite(e) ? Date.now() : ((!Number.isFinite(P) || e >= P) && (P = e, ye = Re()), e), Je = (e) => {
|
|
254
|
+
let t = 0, n = j.length - 1, r = $();
|
|
234
255
|
for (; t <= n;) {
|
|
235
|
-
let i = t + n >>> 1, a =
|
|
256
|
+
let i = t + n >>> 1, a = j[i];
|
|
236
257
|
if (e < a.time) n = i - 1;
|
|
237
258
|
else if (e >= a.time + r) t = i + 1;
|
|
238
259
|
else return a;
|
|
239
260
|
}
|
|
240
261
|
return null;
|
|
241
|
-
},
|
|
242
|
-
if (Number.isFinite(
|
|
243
|
-
let e =
|
|
244
|
-
|
|
245
|
-
x: Number.isFinite(
|
|
262
|
+
}, Ye = () => {
|
|
263
|
+
if (Number.isFinite(xe.x)) return;
|
|
264
|
+
let e = E.mid();
|
|
265
|
+
xe = {
|
|
266
|
+
x: Number.isFinite(M) ? M : 0,
|
|
246
267
|
y: Number.isFinite(e) ? e : 0
|
|
247
268
|
};
|
|
248
|
-
},
|
|
249
|
-
let t =
|
|
269
|
+
}, Xe = (e) => {
|
|
270
|
+
let t = pe(e, T.maxSize ?? F, T.colorScale ?? "log", Math.max(.01, T.contrast ?? 1));
|
|
250
271
|
return Math.round(t * 127);
|
|
251
|
-
},
|
|
272
|
+
}, Ze = (e, t) => {
|
|
252
273
|
let n = $(), r = 0;
|
|
253
|
-
for (let e of t) for (let t = 0; t < e.sizes.length; t++)
|
|
254
|
-
let i = /* @__PURE__ */ new ArrayBuffer(Math.max(1, r) * 16), a = new Float32Array(i), o = new Uint32Array(i), s = 0, c =
|
|
274
|
+
for (let e of t) for (let t = 0; t < e.sizes.length; t++) Xe(e.sizes[t]) > 0 && r++;
|
|
275
|
+
let i = /* @__PURE__ */ new ArrayBuffer(Math.max(1, r) * 16), a = new Float32Array(i), o = new Uint32Array(i), s = 0, c = A / 2 * 1.06;
|
|
255
276
|
for (let e of t) {
|
|
256
|
-
let t = e.time + n / 2 -
|
|
277
|
+
let t = e.time + n / 2 - xe.x;
|
|
257
278
|
for (let n = 0; n < e.sizes.length; n++) {
|
|
258
|
-
let r =
|
|
279
|
+
let r = Xe(e.sizes[n]);
|
|
259
280
|
if (r <= 0) continue;
|
|
260
|
-
let i = e.bins[n] *
|
|
261
|
-
a[s * 4] = t, a[s * 4 + 1] = i - c, a[s * 4 + 2] = i + c, o[s * 4 + 3] =
|
|
281
|
+
let i = e.bins[n] * A - xe.y;
|
|
282
|
+
a[s * 4] = t, a[s * 4 + 1] = i - c, a[s * 4 + 2] = i + c, o[s * 4 + 3] = me[r], s++;
|
|
262
283
|
}
|
|
263
284
|
}
|
|
264
285
|
return {
|
|
265
286
|
kind: "bar",
|
|
266
287
|
key: e,
|
|
267
|
-
version: ++
|
|
288
|
+
version: ++be,
|
|
268
289
|
color: [
|
|
269
290
|
1,
|
|
270
291
|
1,
|
|
@@ -279,278 +300,371 @@ var y = 32, b = 128, x = [
|
|
|
279
300
|
minHalf: 0,
|
|
280
301
|
sorted: !0
|
|
281
302
|
};
|
|
282
|
-
},
|
|
283
|
-
if (
|
|
303
|
+
}, Qe = () => {
|
|
304
|
+
if (z.size) {
|
|
284
305
|
let e = /* @__PURE__ */ new Map();
|
|
285
|
-
for (let t of
|
|
286
|
-
let n = Math.floor(t.seq /
|
|
287
|
-
if (!
|
|
306
|
+
for (let t of j) {
|
|
307
|
+
let n = Math.floor(t.seq / le);
|
|
308
|
+
if (!z.has(n)) continue;
|
|
288
309
|
let r = e.get(n);
|
|
289
310
|
r || e.set(n, r = []), r.push(t);
|
|
290
311
|
}
|
|
291
|
-
for (let t of
|
|
312
|
+
for (let t of z) {
|
|
292
313
|
let n = e.get(t);
|
|
293
|
-
n ?
|
|
314
|
+
n ? R.set(t, Ze(`heat:${t}`, n)) : R.delete(t);
|
|
294
315
|
}
|
|
295
|
-
|
|
316
|
+
z.clear();
|
|
296
317
|
}
|
|
297
|
-
return [...
|
|
298
|
-
},
|
|
299
|
-
let e = $(), t = [], n = 0, r =
|
|
318
|
+
return [...R.values()];
|
|
319
|
+
}, $e = () => {
|
|
320
|
+
let e = $(), t = [], n = 0, r = j.length;
|
|
300
321
|
for (; n < r;) {
|
|
301
322
|
let t = n + r >>> 1;
|
|
302
|
-
|
|
323
|
+
j[t].time + e < W[0] ? n = t + 1 : r = t;
|
|
303
324
|
}
|
|
304
|
-
for (let e = n; e <
|
|
305
|
-
let n =
|
|
306
|
-
if (n.time >
|
|
325
|
+
for (let e = n; e < j.length; e++) {
|
|
326
|
+
let n = j[e];
|
|
327
|
+
if (n.time > W[1]) break;
|
|
307
328
|
t.push(n);
|
|
308
329
|
}
|
|
309
330
|
return t;
|
|
310
|
-
},
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
331
|
+
}, et = (e, t) => {
|
|
332
|
+
let n = $(), r = Math.max(1, Math.ceil(fe / Math.max(1e-6, t))), i = [], a = NaN, o = 0, s = 0, c = {
|
|
333
|
+
bv: 0,
|
|
334
|
+
bn: 0,
|
|
335
|
+
sv: 0,
|
|
336
|
+
sn: 0
|
|
337
|
+
}, l = () => {
|
|
338
|
+
let e = (o + s) / 2;
|
|
339
|
+
c.sv > 0 && i.push({
|
|
340
|
+
time: e,
|
|
341
|
+
price: c.sn / c.sv,
|
|
342
|
+
volume: c.sv,
|
|
343
|
+
buy: !1
|
|
344
|
+
}), c.bv > 0 && i.push({
|
|
345
|
+
time: e,
|
|
346
|
+
price: c.bn / c.bv,
|
|
347
|
+
volume: c.bv,
|
|
348
|
+
buy: !0
|
|
349
|
+
}), c.bv = c.bn = c.sv = c.sn = 0;
|
|
350
|
+
}, u = (e, t, i) => {
|
|
351
|
+
let u = Math.floor(e / r);
|
|
352
|
+
u !== a && (Number.isFinite(a) && l(), a = u, o = t), s = t + n, c.bv += i.buyVolume, c.bn += i.buyNotional, c.sv += i.sellVolume, c.sn += i.sellNotional;
|
|
319
353
|
};
|
|
320
|
-
for (let t of e)
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
.
|
|
330
|
-
]), f = t([
|
|
331
|
-
j.down[0],
|
|
332
|
-
j.down[1],
|
|
333
|
-
j.down[2],
|
|
334
|
-
.78
|
|
354
|
+
for (let t of e) u(t.seq, t.time, t);
|
|
355
|
+
return Number.isFinite(M) && M <= W[1] && u(_e, M, N), Number.isFinite(a) && l(), i;
|
|
356
|
+
}, tt = (e) => {
|
|
357
|
+
e.save(), e.beginPath(), e.rect(Y.x, Y.y, Y.w, Y.h), e.clip();
|
|
358
|
+
}, nt = (e, t, n, i, a) => {
|
|
359
|
+
if (T.bestLines === !1) return;
|
|
360
|
+
let o = $(), s = t.map((e) => [
|
|
361
|
+
e.time,
|
|
362
|
+
e.bestBid,
|
|
363
|
+
e.bestAsk
|
|
335
364
|
]);
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
}
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
let
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
365
|
+
if (Number.isFinite(M) && s.push([
|
|
366
|
+
M,
|
|
367
|
+
E.bestBid(),
|
|
368
|
+
E.bestAsk()
|
|
369
|
+
]), !s.length) return;
|
|
370
|
+
let c = a >= 2;
|
|
371
|
+
tt(e), e.beginPath();
|
|
372
|
+
for (let [t, r, a] of s) {
|
|
373
|
+
if (!Number.isFinite(r) || !Number.isFinite(a) || !(a > r)) continue;
|
|
374
|
+
let s = n(t), c = i(a);
|
|
375
|
+
e.rect(s, c, n(t + o) - s, i(r) - c);
|
|
376
|
+
}
|
|
377
|
+
e.fillStyle = r(Z.theme.text, ge ? .07 : .06), e.fill(), e.lineJoin = "round";
|
|
378
|
+
for (let [t, a] of [[1, k.up], [2, k.down]]) {
|
|
379
|
+
e.beginPath();
|
|
380
|
+
let l = !1;
|
|
381
|
+
for (let r of s) {
|
|
382
|
+
let a = r[t];
|
|
383
|
+
if (!Number.isFinite(a)) {
|
|
384
|
+
l = !1;
|
|
385
|
+
continue;
|
|
386
|
+
}
|
|
387
|
+
let s = i(a), u = n(r[0]), d = n(r[0] + o);
|
|
388
|
+
c ? (l ? e.lineTo(u, s) : e.moveTo(u, s), e.lineTo(d, s)) : l ? e.lineTo((u + d) / 2, s) : e.moveTo((u + d) / 2, s), l = !0;
|
|
389
|
+
}
|
|
390
|
+
e.strokeStyle = r(he, .55), e.lineWidth = 3.5, e.stroke(), e.strokeStyle = r(a), e.lineWidth = 1.5, e.stroke();
|
|
391
|
+
}
|
|
392
|
+
e.restore();
|
|
393
|
+
}, rt = (e, n, i, a, o) => {
|
|
394
|
+
if (!n.length) return;
|
|
395
|
+
let s = 0;
|
|
396
|
+
for (let e of n) s = Math.max(s, e.volume);
|
|
397
|
+
I = I > 0 ? Math.max(s, I * .995) : s;
|
|
398
|
+
let c = T.bubbleVolume ?? I, l = Math.max(4, T.bubbleSize ?? 28), u = n.map((e) => ({
|
|
399
|
+
...e,
|
|
400
|
+
d: m(Math.sqrt(e.volume / c) * l, 3, l)
|
|
401
|
+
})).sort((e, t) => e.d - t.d);
|
|
402
|
+
tt(e), e.lineWidth = 1.25, e.textAlign = "center", e.textBaseline = "middle", e.font = ee(Z.theme, T, 600, Math.max(8, o - 1));
|
|
403
|
+
for (let n of u) {
|
|
404
|
+
let o = i(n.time), s = a(n.price), c = n.d / 2;
|
|
405
|
+
if (o < Y.x - c || o > Y.x + Y.w + c || s < Y.y - c || s > Y.y + Y.h + c) continue;
|
|
406
|
+
let l = n.buy ? k.up : k.down;
|
|
407
|
+
if (e.beginPath(), e.arc(o, s, c, 0, Math.PI * 2), e.fillStyle = r(l, .62), e.fill(), e.strokeStyle = r(t(l, [
|
|
408
|
+
1,
|
|
409
|
+
1,
|
|
410
|
+
1,
|
|
411
|
+
1
|
|
412
|
+
], .25)), e.stroke(), n.d >= 26) {
|
|
413
|
+
let t = O.compact(n.volume);
|
|
414
|
+
e.measureText(t).width <= n.d - 6 && (e.fillStyle = "#fff", e.fillText(t, o, s + .5));
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
e.restore();
|
|
418
|
+
}, it = (e, t, n, i, a) => {
|
|
419
|
+
let o = Z.theme, [s, c] = G, l = Math.max(1, A / (c - s) * Y.h), u = 0, d = ["bid", "ask"].map((e) => {
|
|
420
|
+
let t = E.levels(e, {
|
|
421
|
+
step: A,
|
|
422
|
+
limit: Ie()
|
|
423
|
+
});
|
|
424
|
+
for (let e = 0; e < t.count; e++) {
|
|
425
|
+
let n = t.price[e];
|
|
426
|
+
n >= s && n <= c && (u = Math.max(u, t.size[e]));
|
|
358
427
|
}
|
|
359
428
|
return {
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
version: ++de,
|
|
363
|
-
color: a,
|
|
364
|
-
points: s,
|
|
365
|
-
count: o * 2,
|
|
366
|
-
width: 1.5,
|
|
367
|
-
sorted: !0
|
|
429
|
+
side: e,
|
|
430
|
+
...t
|
|
368
431
|
};
|
|
369
|
-
};
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
let
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
432
|
+
});
|
|
433
|
+
if ((u > L || u < L * .35 || !(L > 0)) && (L = y(u)), !(L > 0)) return;
|
|
434
|
+
let f = t + 3, p = n - 9;
|
|
435
|
+
e.strokeStyle = r(o.text, .09), e.lineWidth = 1, e.setLineDash([2, 3]), e.beginPath();
|
|
436
|
+
for (let t of [.5, 1]) {
|
|
437
|
+
let n = Math.round(f + p * t) + .5;
|
|
438
|
+
e.moveTo(n, Y.y), e.lineTo(n, Y.y + Y.h);
|
|
439
|
+
}
|
|
440
|
+
e.stroke(), e.setLineDash([]);
|
|
441
|
+
let m = +(l > 3), h = Math.max(1, l - m);
|
|
442
|
+
for (let { side: t, price: n, size: a, count: o } of d) {
|
|
443
|
+
let u = t === "bid" ? k.up : k.down;
|
|
444
|
+
e.beginPath();
|
|
445
|
+
for (let t = 1; t < o; t++) {
|
|
446
|
+
let r = n[t];
|
|
447
|
+
if (r < s || r > c) continue;
|
|
448
|
+
let o = Math.max(1, Math.min(p, a[t] / L * p));
|
|
449
|
+
e.rect(f, i(r) - l / 2 + m / 2, o, h);
|
|
450
|
+
}
|
|
451
|
+
e.fillStyle = r(u, .55), e.fill();
|
|
452
|
+
let d = n[0];
|
|
453
|
+
if (o && d !== void 0 && d >= s && d <= c) {
|
|
454
|
+
let t = Math.max(1, Math.min(p, a[0] / L * p));
|
|
455
|
+
e.fillStyle = r(u, .95), e.fillRect(f, i(d) - l / 2 + m / 2, t, h);
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
let g = Math.round(Y.y + Y.h + 4) + .5;
|
|
459
|
+
e.strokeStyle = r(o.textMuted, .7), e.beginPath(), e.moveTo(f, g), e.lineTo(f + p, g);
|
|
460
|
+
for (let t of [
|
|
461
|
+
0,
|
|
462
|
+
.5,
|
|
463
|
+
1
|
|
464
|
+
]) {
|
|
465
|
+
let n = Math.round(f + p * t) + .5;
|
|
466
|
+
e.moveTo(n, g), e.lineTo(n, g + 3);
|
|
467
|
+
}
|
|
468
|
+
e.stroke(), e.font = ee(o, T, 400, Math.max(8, a - 1)), e.fillStyle = r(o.textMuted), e.textBaseline = "top";
|
|
469
|
+
let te = O.compact(L), _ = e.measureText(te).width;
|
|
470
|
+
e.textAlign = "right", e.fillText(te, f + p + 2, g + 4), _ + e.measureText("0").width + 8 < p && (e.textAlign = "left", e.fillText("0", f - 1, g + 4));
|
|
471
|
+
}, at = () => {
|
|
472
|
+
if (!Number.isFinite(M) || !(A > 0)) return null;
|
|
473
|
+
let e = E.version();
|
|
474
|
+
if (B && V === e) return B;
|
|
475
|
+
let { bins: t, sizes: n } = We();
|
|
476
|
+
return B = Ze("heat:head", [{
|
|
477
|
+
time: M,
|
|
378
478
|
bins: t,
|
|
379
479
|
sizes: n
|
|
380
|
-
}]),
|
|
480
|
+
}]), V = e, B;
|
|
481
|
+
}, ot = () => {
|
|
482
|
+
if (!ke || T.tooltip === !1 || !(A > 0) || X || !De) return null;
|
|
483
|
+
let [e, t] = ke;
|
|
484
|
+
if (e < Y.x || e > Y.x + Y.w || t < Y.y || t > Y.y + Y.h) return null;
|
|
485
|
+
let [n, r] = W, [i, a] = G, o = n + (e - Y.x) / Y.w * (r - n), s = i + (Y.y + Y.h - t) / Y.h * (a - i), c = Math.round(s / A), u = +(c * A).toFixed(Math.min(12, l(A) + 2)), d = Je(o);
|
|
486
|
+
return {
|
|
487
|
+
hx: e,
|
|
488
|
+
hy: t,
|
|
489
|
+
time: o,
|
|
490
|
+
start: d ? d.time : Number.isFinite(M) && o >= M ? M : NaN,
|
|
491
|
+
column: d,
|
|
492
|
+
bin: c,
|
|
493
|
+
rowPrice: u
|
|
494
|
+
};
|
|
495
|
+
}, st = (t, n, i, a, o, s, c, l = "left") => {
|
|
496
|
+
let u = Math.min(t.measureText(n).width + 10, o), d = l === "center" ? i - u / 2 : i;
|
|
497
|
+
t.fillStyle = r(c ? s : he), _(t, d, a - de / 2, u, de, 3), t.fill(), c || (t.strokeStyle = r(s), t.lineWidth = 1, t.stroke()), t.fillStyle = c ? e(s) > .6 ? "#111" : "#fff" : r(s), t.textAlign = l, t.textBaseline = "middle", t.fillText(n, l === "center" ? i : d + 5, a + .5);
|
|
381
498
|
};
|
|
382
|
-
function
|
|
499
|
+
function ct(e) {
|
|
383
500
|
let t = Z.ctx;
|
|
384
501
|
if (!t) return !1;
|
|
385
|
-
let { width: n, height: i, dpr:
|
|
386
|
-
|
|
387
|
-
let u =
|
|
388
|
-
|
|
389
|
-
let
|
|
390
|
-
|
|
391
|
-
let
|
|
392
|
-
|
|
502
|
+
let { width: n, height: i, dpr: o, theme: c } = Z, l = Oe ? e - Oe : 0;
|
|
503
|
+
Oe = e;
|
|
504
|
+
let u = Ne(), d = T.fontSize ?? (n < 420 ? 10 : 11), f = ee(c, T, 400, d), p = ee(c, T, 600, d), h = $(), _ = !Number.isFinite(P);
|
|
505
|
+
_ && E.count("bid") + E.count("ask") > 0 && Ke(Date.now());
|
|
506
|
+
let ne = Le();
|
|
507
|
+
J = Number.isFinite(J) && ne > J - h * 4 ? Math.max(J, ne) : ne;
|
|
508
|
+
let re = J;
|
|
509
|
+
t.setTransform(o, 0, 0, o, 0, 0), t.clearRect(0, 0, n, i), Ue();
|
|
510
|
+
let ie = E.mid();
|
|
511
|
+
t.font = p;
|
|
512
|
+
let v = O.price(Number.isFinite(ie) ? ie * 1.0001 : 0), ae = Math.ceil(t.measureText(v).width) + 18;
|
|
513
|
+
t.font = f;
|
|
514
|
+
let y = T.profile === !1 ? 0 : Math.round(m(n * .11, 44, 96)), le = d + 12;
|
|
515
|
+
Y = {
|
|
393
516
|
x: 0,
|
|
394
517
|
y: 0,
|
|
395
|
-
w: Math.max(10, n -
|
|
396
|
-
h: Math.max(10, i -
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
let
|
|
518
|
+
w: Math.max(10, n - ae - y),
|
|
519
|
+
h: Math.max(10, i - le)
|
|
520
|
+
};
|
|
521
|
+
let b = Y.x + Y.w, x = b + y;
|
|
522
|
+
if (Number.isFinite(U) || (U = Math.max(h * 10, T.window ?? 6e4)), Ee) {
|
|
523
|
+
let e = j.length ? j[0].time : M;
|
|
524
|
+
W = se(e, re, U, Math.min(U, h * 60));
|
|
525
|
+
let t = E.bestBid(), n = E.bestAsk();
|
|
526
|
+
for (let e of $e()) Number.isFinite(e.bestBid) && !(e.bestBid >= t) && (t = e.bestBid), Number.isFinite(e.bestAsk) && !(e.bestAsk <= n) && (n = e.bestAsk);
|
|
401
527
|
Number.isFinite(t) || (t = n), Number.isFinite(n) || (n = t);
|
|
402
|
-
|
|
403
|
-
if (
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
528
|
+
let r = A > 0 ? A * Math.max(40, Y.h / 6) : 0, i = T.priceSpan ?? (Number.isFinite(q) ? q : void 0);
|
|
529
|
+
if (r > 0 || i !== void 0) {
|
|
530
|
+
K = oe(K, t, n, r, i);
|
|
531
|
+
let [e, a] = K;
|
|
532
|
+
if (Number.isFinite(e) && Number.isFinite(a)) {
|
|
533
|
+
if (!De) G = [e, a], De = !0;
|
|
534
|
+
else {
|
|
535
|
+
let t = g(l, 280);
|
|
536
|
+
G = [G[0] + (e - G[0]) * t, G[1] + (a - G[1]) * t];
|
|
537
|
+
}
|
|
408
538
|
}
|
|
409
|
-
}
|
|
410
|
-
Number.isFinite(q) && Number.isFinite(J) && (K = [q - J / 2, q + J / 2]);
|
|
539
|
+
}
|
|
411
540
|
}
|
|
412
|
-
let [
|
|
413
|
-
if (H &&
|
|
414
|
-
|
|
541
|
+
let [ue, fe] = W, [S, pe] = G, C = (e) => Y.x + (e - ue) / (fe - ue) * Y.w, w = (e) => Y.y + Y.h - (e - S) / (pe - S) * Y.h, D = De && A > 0, me = $e(), _e = h / (fe - ue) * Y.w, N = r(he);
|
|
542
|
+
if (H && A > 0) {
|
|
543
|
+
Ye();
|
|
415
544
|
let e = H.canvas;
|
|
416
|
-
e.style.left = `${Y.x}px`, e.style.top = `${Y.y}px`, e.style.width = `${Y.w}px`, e.style.height = `${Y.h}px
|
|
417
|
-
let t = Math.max(1, Math.round(Y.w *
|
|
545
|
+
e.style.left = `${Y.x}px`, e.style.top = `${Y.y}px`, e.style.width = `${Y.w}px`, e.style.height = `${Y.h}px`, e.dataset.floor !== N && (e.dataset.floor = N, e.style.background = N);
|
|
546
|
+
let t = Math.max(1, Math.round(Y.w * o)), n = Math.max(1, Math.round(Y.h * o));
|
|
418
547
|
(e.width !== t || e.height !== n) && H.resize(t, n);
|
|
419
|
-
let r =
|
|
420
|
-
i && r.push(i)
|
|
421
|
-
let
|
|
422
|
-
o && r.push(o);
|
|
423
|
-
let s = 2 / (oe - v), c = 2 / (b - y);
|
|
548
|
+
let r = Qe(), i = at();
|
|
549
|
+
i && r.push(i);
|
|
550
|
+
let a = 2 / (fe - ue), s = 2 / (pe - S);
|
|
424
551
|
H.render(r, {
|
|
425
552
|
transform: {
|
|
426
|
-
xScale:
|
|
427
|
-
xOffset: (
|
|
428
|
-
yScale:
|
|
429
|
-
yOffset: (
|
|
553
|
+
xScale: a,
|
|
554
|
+
xOffset: (xe.x - ue) * a - 1,
|
|
555
|
+
yScale: s,
|
|
556
|
+
yOffset: (xe.y - S) * s - 1
|
|
430
557
|
},
|
|
431
558
|
width: t,
|
|
432
559
|
height: n,
|
|
433
|
-
dpr:
|
|
560
|
+
dpr: o
|
|
434
561
|
});
|
|
562
|
+
} else t.fillStyle = N, t.fillRect(Y.x, Y.y, Y.w, Y.h);
|
|
563
|
+
y && (t.fillStyle = N, t.fillRect(b, Y.y, y, Y.h));
|
|
564
|
+
let F = D ? a(S, pe, Math.max(2, Math.floor(Y.h / 44))) : [], I = s(ue, fe, Math.max(2, Math.floor(Y.w / 75)), void 0, T.timeZone ?? "local");
|
|
565
|
+
t.strokeStyle = r(c.text, ge ? .07 : .09), t.lineWidth = 1, t.beginPath();
|
|
566
|
+
for (let e of F) {
|
|
567
|
+
let n = Math.round(w(e)) + .5;
|
|
568
|
+
t.moveTo(Y.x, n), t.lineTo(x, n);
|
|
435
569
|
}
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
let n = Math.round(S(e)) + .5;
|
|
440
|
-
t.moveTo(Y.x, n), t.lineTo(w, n);
|
|
441
|
-
}
|
|
442
|
-
t.stroke(), t.fillStyle = r(s.textMuted), t.textAlign = "left", t.textBaseline = "middle";
|
|
443
|
-
for (let e of T) {
|
|
444
|
-
let n = S(e);
|
|
445
|
-
n < 6 || n > Y.h - 6 || t.fillText(A.price(e), w + 6, n);
|
|
446
|
-
}
|
|
447
|
-
let E = c(v, oe, Math.max(2, Math.floor(Y.w / 90)));
|
|
448
|
-
t.textAlign = "center", t.textBaseline = "top";
|
|
449
|
-
for (let e of E.values) {
|
|
450
|
-
let n = x(e);
|
|
451
|
-
n < 20 || n > Y.x + Y.w - 20 || t.fillText(E.format(e), n, Y.y + Y.h + 6);
|
|
570
|
+
for (let e of I.values) {
|
|
571
|
+
let n = Math.round(C(e)) + .5;
|
|
572
|
+
n <= Y.x + 1 || n >= b - 1 || (t.moveTo(n, Y.y), t.lineTo(n, Y.y + Y.h));
|
|
452
573
|
}
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
side: e,
|
|
464
|
-
price: t,
|
|
465
|
-
size: n,
|
|
466
|
-
count: r
|
|
467
|
-
};
|
|
468
|
-
});
|
|
469
|
-
for (let { side: o, price: s, size: c, count: l } of a) {
|
|
470
|
-
t.fillStyle = r(o === "bid" ? j.up : j.down, .6);
|
|
471
|
-
for (let r = 0; r < l; r++) {
|
|
472
|
-
let a = s[r];
|
|
473
|
-
if (a < y || a > b || i <= 0) continue;
|
|
474
|
-
let o = c[r] / i * (g - 4), l = S(a) - n / 2;
|
|
475
|
-
t.fillRect(e + 2, l + (n > 3 ? .5 : 0), o, Math.max(1, n - +(n > 3)));
|
|
476
|
-
}
|
|
477
|
-
}
|
|
574
|
+
t.stroke(), D && (nt(t, me, C, w, _e), T.bubbles !== !1 && rt(t, et(me, _e), C, w, d), y && it(t, b, y, w, d)), t.strokeStyle = r(c.axis), t.lineWidth = 1, t.beginPath(), t.moveTo(0, Math.round(Y.y + Y.h) + .5), t.lineTo(n, Math.round(Y.y + Y.h) + .5), y && (t.moveTo(Math.round(b) + .5, Y.y), t.lineTo(Math.round(b) + .5, Y.y + Y.h)), t.moveTo(Math.round(x) + .5, Y.y), t.lineTo(Math.round(x) + .5, Y.y + Y.h), t.stroke();
|
|
575
|
+
let L = D ? ot() : null;
|
|
576
|
+
t.font = f;
|
|
577
|
+
let R = L ? te(Number.isFinite(L.start) ? L.start : L.time, h < 1e3, T.timeZone) : "", z = L ? t.measureText(R).width / 2 + 8 : 0;
|
|
578
|
+
t.fillStyle = r(c.textMuted), t.textAlign = "center", t.textBaseline = "top";
|
|
579
|
+
for (let e of I.values) {
|
|
580
|
+
let n = C(e);
|
|
581
|
+
if (n < 20 || n > b - 20) continue;
|
|
582
|
+
let r = I.format(e);
|
|
583
|
+
L && Math.abs(n - L.hx) < z + t.measureText(r).width / 2 || t.fillText(r, n, Y.y + Y.h + 6);
|
|
478
584
|
}
|
|
479
|
-
let
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
585
|
+
let be = ve, B = [{
|
|
586
|
+
price: E.bestAsk(),
|
|
587
|
+
color: k.down,
|
|
588
|
+
filled: !0
|
|
589
|
+
}, {
|
|
590
|
+
price: E.bestBid(),
|
|
591
|
+
color: k.up,
|
|
592
|
+
filled: !0
|
|
593
|
+
}];
|
|
594
|
+
be && be.price !== E.bestBid() && be.price !== E.bestAsk() && B.push({
|
|
595
|
+
price: be.price,
|
|
596
|
+
color: be.side === "buy" ? k.up : k.down,
|
|
597
|
+
filled: !1
|
|
598
|
+
});
|
|
599
|
+
let V = D ? B.filter((e) => Number.isFinite(e.price) && e.price >= S && e.price <= pe) : [], Se = L ? Math.round(w(L.rowPrice)) + .5 : NaN, Ce = ce(V.map((e) => ({
|
|
600
|
+
y: w(e.price),
|
|
601
|
+
h: de
|
|
602
|
+
})), L ? {
|
|
603
|
+
y: Se,
|
|
604
|
+
h: de
|
|
605
|
+
} : null, F.map(w), d + 2, [Y.y, Y.y + Y.h]);
|
|
606
|
+
t.fillStyle = r(c.textMuted), t.textAlign = "left", t.textBaseline = "middle", F.forEach((e, n) => {
|
|
607
|
+
Ce.ticks[n] && t.fillText(O.price(e), x + 6, w(e));
|
|
608
|
+
}), t.font = p, V.forEach((e, i) => {
|
|
609
|
+
let a = Ce.pinned[i];
|
|
610
|
+
if (a == null) return;
|
|
611
|
+
let o = w(e.price);
|
|
612
|
+
Math.abs(a - o) > 1 && (t.strokeStyle = r(e.color), t.lineWidth = 1, t.beginPath(), t.moveTo(x - 4, o), t.lineTo(x + 1, a), t.stroke()), st(t, O.price(e.price), x + 1, a, n - x - 2, e.color, e.filled);
|
|
613
|
+
}), lt(t, C, w, x, u, L, Se, R), t.font = f, Z.describe(`${T.ariaLabel ?? u.name}. ${u.bid} ${O.price(E.bestBid())}, ${u.ask} ${O.price(E.bestAsk())}.`);
|
|
614
|
+
let we = _ || Re() - ye < 2e3;
|
|
615
|
+
return Ee && we && Number.isFinite(M) || De && K !== null && Math.abs(G[0] - K[0]) > 1e-9;
|
|
491
616
|
}
|
|
492
|
-
function
|
|
493
|
-
let { theme:
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
if (!be || D.tooltip === !1 || !(N > 0) || X) {
|
|
497
|
-
c();
|
|
498
|
-
return;
|
|
499
|
-
}
|
|
500
|
-
let [l, d] = be;
|
|
501
|
-
if (l < Y.x || l > Y.x + Y.w || d < Y.y || d > Y.y + Y.h) {
|
|
502
|
-
c();
|
|
617
|
+
function lt(e, t, n, i, a, o, s, c) {
|
|
618
|
+
let { theme: l } = Z;
|
|
619
|
+
if (!o) {
|
|
620
|
+
Z.tooltip.style.display = "none", Ae && (Ae = "", D.emit("hover", null));
|
|
503
621
|
return;
|
|
504
622
|
}
|
|
505
|
-
let
|
|
506
|
-
if (
|
|
507
|
-
for (let e = 0; e <
|
|
508
|
-
({bestBid:
|
|
509
|
-
} else if (Number.isFinite(
|
|
510
|
-
let e = ["bid", "ask"].map((e) =>
|
|
511
|
-
step:
|
|
512
|
-
limit:
|
|
623
|
+
let { hx: u, hy: d, time: f, start: p, column: h, bin: g, rowPrice: _ } = o, ne = $(), re = 0, ie = NaN, v = NaN, oe = 0, se = 0;
|
|
624
|
+
if (h) {
|
|
625
|
+
for (let e = 0; e < h.bins.length; e++) h.bins[e] === g && (re += h.sizes[e]);
|
|
626
|
+
({bestBid: ie, bestAsk: v, buyVolume: oe, sellVolume: se} = h);
|
|
627
|
+
} else if (Number.isFinite(p)) {
|
|
628
|
+
let e = ["bid", "ask"].map((e) => E.levels(e, {
|
|
629
|
+
step: A,
|
|
630
|
+
limit: Ie()
|
|
513
631
|
}));
|
|
514
|
-
for (let t of e) for (let e = 0; e < t.count; e++) Math.round(t.price[e] /
|
|
515
|
-
|
|
632
|
+
for (let t of e) for (let e = 0; e < t.count; e++) Math.round(t.price[e] / A) === g && (re += t.size[e]);
|
|
633
|
+
ie = E.bestBid(), v = E.bestAsk(), oe = N.buyVolume, se = N.sellVolume;
|
|
516
634
|
}
|
|
517
|
-
let
|
|
518
|
-
e.strokeStyle = r(
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
let i = t(w), a = t(w + v), o = n(g + N / 2), c = n(g - N / 2);
|
|
522
|
-
e.strokeStyle = r(s.text, .85), e.strokeRect(i, o, Math.max(2, a - i), Math.max(2, c - o));
|
|
635
|
+
let ce = _ <= ie ? "bid" : _ >= v ? "ask" : null;
|
|
636
|
+
if (e.strokeStyle = r(l.text, .5), e.lineWidth = 1, e.setLineDash([3, 3]), e.beginPath(), e.moveTo(Math.round(u) + .5, Y.y), e.lineTo(Math.round(u) + .5, Y.y + Y.h), e.moveTo(Y.x, s), e.lineTo(i, s), e.stroke(), e.setLineDash([]), Number.isFinite(p)) {
|
|
637
|
+
let i = t(p), a = t(p + ne), o = n(_ + A / 2), s = n(_ - A / 2);
|
|
638
|
+
e.strokeStyle = r(l.text, .85), e.strokeRect(i, o, Math.max(2, a - i), Math.max(2, s - o));
|
|
523
639
|
}
|
|
524
|
-
e.font =
|
|
525
|
-
let
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
oe(Se, Z.tooltip, {
|
|
529
|
-
text: ie(Number.isFinite(w) ? w : m),
|
|
640
|
+
e.font = ee(l, T, 600, T.fontSize ?? (Z.width < 420 ? 10 : 11)), st(e, O.price(_), i + 1, s, Z.width - i - 2, l.text, !0), st(e, c, m(u, Y.x + 40, Y.x + Y.w - 40), Y.y + Y.h + de / 2 + 2, Y.w, l.text, !0, "center");
|
|
641
|
+
let y = ce === "bid" ? k.up : ce === "ask" ? k.down : l.text;
|
|
642
|
+
ae(je, Z.tooltip, {
|
|
643
|
+
text: te(Number.isFinite(p) ? p : f, !0, T.timeZone),
|
|
530
644
|
color: void 0
|
|
531
645
|
}, [
|
|
532
|
-
[
|
|
533
|
-
[
|
|
534
|
-
[
|
|
535
|
-
[
|
|
536
|
-
]), Z.tooltip.style.display = "block", Z.tooltip.style.borderLeft = `3px solid ${r(
|
|
537
|
-
let
|
|
538
|
-
if (
|
|
539
|
-
|
|
646
|
+
[a.price, O.price(_)],
|
|
647
|
+
[a.liquidity, O.size(re)],
|
|
648
|
+
[a.buys, O.size(oe)],
|
|
649
|
+
[a.sells, O.size(se)]
|
|
650
|
+
]), Z.tooltip.style.display = "block", Z.tooltip.style.borderLeft = `3px solid ${r(y)}`, Z.placeTooltip(Z.tooltip, u, d, u > Y.w * .6 ? "left" : "right");
|
|
651
|
+
let le = `${p}|${g}|${re}|${oe}|${se}`;
|
|
652
|
+
if (le !== Ae) {
|
|
653
|
+
Ae = le;
|
|
540
654
|
let e = {
|
|
541
|
-
time: Number.isFinite(
|
|
542
|
-
price:
|
|
543
|
-
size:
|
|
544
|
-
side:
|
|
545
|
-
buyVolume:
|
|
546
|
-
sellVolume:
|
|
655
|
+
time: Number.isFinite(p) ? p : f,
|
|
656
|
+
price: _,
|
|
657
|
+
size: re,
|
|
658
|
+
side: ce,
|
|
659
|
+
buyVolume: oe,
|
|
660
|
+
sellVolume: se
|
|
547
661
|
};
|
|
548
|
-
|
|
662
|
+
D.emit("hover", e);
|
|
549
663
|
}
|
|
550
664
|
}
|
|
551
|
-
let
|
|
552
|
-
let t = ++
|
|
553
|
-
let e =
|
|
665
|
+
let ut = async (e = /* @__PURE__ */ new Set()) => {
|
|
666
|
+
let t = ++Se, n = await o(T.renderer ?? "auto", () => {
|
|
667
|
+
let e = je.createElement("canvas");
|
|
554
668
|
return Object.assign(e.style, {
|
|
555
669
|
position: "absolute",
|
|
556
670
|
left: "0",
|
|
@@ -558,146 +672,151 @@ var y = 32, b = 128, x = [
|
|
|
558
672
|
pointerEvents: "none"
|
|
559
673
|
}), e.setAttribute("aria-hidden", "true"), e;
|
|
560
674
|
}, (t) => {
|
|
561
|
-
|
|
675
|
+
Ce || H?.kind !== t || (H.destroy(), H.canvas.remove(), H = null, ut(/* @__PURE__ */ new Set([...e, t])));
|
|
562
676
|
}, e);
|
|
563
|
-
if (
|
|
677
|
+
if (Ce || t !== Se) {
|
|
564
678
|
n?.destroy();
|
|
565
679
|
return;
|
|
566
680
|
}
|
|
567
|
-
H && (H.destroy(), H.canvas.remove()), H = n, n && (Q.dataset.renderer = n.kind, Q.insertBefore(n.canvas, Z.canvas),
|
|
568
|
-
},
|
|
569
|
-
|
|
570
|
-
},
|
|
571
|
-
|
|
681
|
+
H && (H.destroy(), H.canvas.remove()), H = n, n && (Q.dataset.renderer = n.kind, Q.insertBefore(n.canvas, Z.canvas), D.emit("renderer", n.kind)), we(n?.kind ?? null), Z.invalidate();
|
|
682
|
+
}, dt = (e) => {
|
|
683
|
+
Ee !== e && (Ee = e, D.emit("follow", e));
|
|
684
|
+
}, ft = (e) => {
|
|
685
|
+
let t = j.length ? j[0].time : M;
|
|
686
|
+
if (!Number.isFinite(t)) return e;
|
|
687
|
+
let n = e[1] - e[0], r = (Number.isFinite(J) ? J : Le()) + $() + n / 2, i = Math.max(t - n / 2, Math.min(e[0], r - n));
|
|
688
|
+
return [i, i + n];
|
|
689
|
+
}, pt = (e) => {
|
|
690
|
+
if (T.interactive === !1) return;
|
|
572
691
|
let [t, n] = v(Q, e);
|
|
573
692
|
Q.setPointerCapture?.(e.pointerId), X = {
|
|
574
693
|
x: t,
|
|
575
694
|
y: n,
|
|
576
|
-
viewX: [...
|
|
577
|
-
viewY: [...
|
|
695
|
+
viewX: [...W],
|
|
696
|
+
viewY: [...G],
|
|
578
697
|
axis: t > Y.x + Y.w,
|
|
579
|
-
span:
|
|
698
|
+
span: G[1] - G[0]
|
|
580
699
|
};
|
|
581
|
-
},
|
|
700
|
+
}, mt = (e) => {
|
|
582
701
|
let [t, n] = v(Q, e);
|
|
583
|
-
if (
|
|
702
|
+
if (ke = [t, n], X) {
|
|
584
703
|
let e = t - X.x, r = n - X.y;
|
|
585
704
|
if (X.axis) {
|
|
586
705
|
let e = X.span * Math.exp(r * .006), t = (X.viewY[0] + X.viewY[1]) / 2;
|
|
587
|
-
|
|
706
|
+
q = e, G = [t - e / 2, t + e / 2], K = [G[0], G[1]];
|
|
588
707
|
} else if (Math.abs(e) + Math.abs(r) > 3) {
|
|
589
|
-
|
|
708
|
+
dt(!1);
|
|
590
709
|
let t = (X.viewX[1] - X.viewX[0]) / Y.w * e, n = (X.viewY[1] - X.viewY[0]) / Y.h * r;
|
|
591
|
-
|
|
710
|
+
W = ft([X.viewX[0] - t, X.viewX[1] - t]), G = [X.viewY[0] + n, X.viewY[1] + n];
|
|
592
711
|
}
|
|
593
712
|
}
|
|
594
713
|
Z.invalidate();
|
|
595
|
-
},
|
|
714
|
+
}, ht = (e) => {
|
|
596
715
|
Q.releasePointerCapture?.(e.pointerId), X = null, Z.invalidate();
|
|
597
|
-
},
|
|
598
|
-
X || (
|
|
599
|
-
},
|
|
600
|
-
let [n, r] =
|
|
601
|
-
if (
|
|
716
|
+
}, gt = () => {
|
|
717
|
+
X || (ke = null, Z.invalidate());
|
|
718
|
+
}, _t = (e, t) => {
|
|
719
|
+
let [n, r] = W, i = m((Ee ? U : r - n) * e, $() * 10, Fe());
|
|
720
|
+
if (U = i, !Ee) {
|
|
602
721
|
let e = n + (t - Y.x) / Y.w * (r - n), a = (e - n) / (r - n);
|
|
603
|
-
|
|
722
|
+
W = ft([e - i * a, e + i * (1 - a)]);
|
|
604
723
|
}
|
|
605
724
|
Z.invalidate();
|
|
606
|
-
},
|
|
607
|
-
let t =
|
|
608
|
-
|
|
609
|
-
},
|
|
610
|
-
if (
|
|
725
|
+
}, vt = (e) => {
|
|
726
|
+
let t = m((G[1] - G[0]) * e, A * 6 || 1e-9, Infinity), n = (G[0] + G[1]) / 2;
|
|
727
|
+
q = t, G = [n - t / 2, n + t / 2], K = [G[0], G[1]], Z.invalidate();
|
|
728
|
+
}, yt = (e) => {
|
|
729
|
+
if (T.interactive === !1 || !(e.ctrlKey || e.metaKey)) return;
|
|
611
730
|
e.preventDefault();
|
|
612
731
|
let [t] = v(Q, e), n = Math.exp(e.deltaY * .002);
|
|
613
|
-
e.shiftKey || t > Y.x + Y.w ?
|
|
614
|
-
},
|
|
615
|
-
|
|
616
|
-
},
|
|
617
|
-
if (
|
|
732
|
+
e.shiftKey || t > Y.x + Y.w ? vt(n) : _t(n, t);
|
|
733
|
+
}, bt = () => {
|
|
734
|
+
T.interactive !== !1 && Ct.resetView();
|
|
735
|
+
}, xt = (e) => {
|
|
736
|
+
if (T.interactive !== !1) {
|
|
618
737
|
switch (e.key) {
|
|
619
738
|
case "+":
|
|
620
739
|
case "=":
|
|
621
|
-
|
|
740
|
+
_t(.8, Y.x + Y.w);
|
|
622
741
|
break;
|
|
623
742
|
case "-":
|
|
624
|
-
|
|
743
|
+
_t(1.25, Y.x + Y.w);
|
|
625
744
|
break;
|
|
626
745
|
case "ArrowUp":
|
|
627
746
|
case "ArrowDown": {
|
|
628
747
|
if (e.shiftKey) {
|
|
629
|
-
|
|
748
|
+
vt(e.key === "ArrowUp" ? .8 : 1.25);
|
|
630
749
|
break;
|
|
631
750
|
}
|
|
632
|
-
|
|
633
|
-
let t = (
|
|
634
|
-
|
|
751
|
+
dt(!1);
|
|
752
|
+
let t = (G[1] - G[0]) * .1 * (e.key === "ArrowUp" ? 1 : -1);
|
|
753
|
+
G = [G[0] + t, G[1] + t], Z.invalidate();
|
|
635
754
|
break;
|
|
636
755
|
}
|
|
637
756
|
case "ArrowLeft":
|
|
638
757
|
case "ArrowRight": {
|
|
639
|
-
|
|
640
|
-
let t = (
|
|
641
|
-
|
|
758
|
+
dt(!1);
|
|
759
|
+
let t = (W[1] - W[0]) * .1 * (e.key === "ArrowLeft" ? -1 : 1);
|
|
760
|
+
W = ft([W[0] + t, W[1] + t]), Z.invalidate();
|
|
642
761
|
break;
|
|
643
762
|
}
|
|
644
763
|
case "0":
|
|
645
764
|
case "Home":
|
|
646
|
-
|
|
765
|
+
Ct.resetView();
|
|
647
766
|
break;
|
|
648
767
|
default: return;
|
|
649
768
|
}
|
|
650
769
|
e.preventDefault();
|
|
651
770
|
}
|
|
652
771
|
};
|
|
653
|
-
Q.addEventListener("pointerdown",
|
|
654
|
-
let
|
|
655
|
-
let t =
|
|
656
|
-
|
|
657
|
-
},
|
|
772
|
+
Q.addEventListener("pointerdown", pt), Q.addEventListener("pointermove", mt), Q.addEventListener("pointerup", ht), Q.addEventListener("pointercancel", ht), Q.addEventListener("pointerleave", gt), Q.addEventListener("wheel", yt, { passive: !1 }), Q.addEventListener("dblclick", bt), Q.addEventListener("keydown", xt);
|
|
773
|
+
let St = (e) => {
|
|
774
|
+
let t = qe(e.time);
|
|
775
|
+
E.count("bid") + E.count("ask") > 0 && (Ue(), Ke(t)), E.applyDelta(e);
|
|
776
|
+
}, Ct = {
|
|
658
777
|
setBook(e) {
|
|
659
|
-
let t =
|
|
660
|
-
|
|
778
|
+
let t = qe(e.time);
|
|
779
|
+
E.count("bid") + E.count("ask") > 0 && Ke(t), E.setSnapshot(e), Ue(), Be(), Number.isFinite(M) || Ke(t), Z.invalidate();
|
|
661
780
|
},
|
|
662
781
|
applyDeltas(e) {
|
|
663
|
-
if (Array.isArray(e)) for (let t of e)
|
|
664
|
-
else
|
|
665
|
-
!Number.isFinite(
|
|
782
|
+
if (Array.isArray(e)) for (let t of e) St(t);
|
|
783
|
+
else St(e);
|
|
784
|
+
!Number.isFinite(M) && A > 0 && Ke(Le()), Z.invalidate();
|
|
666
785
|
},
|
|
667
786
|
addTrades(e) {
|
|
668
787
|
let t = Array.isArray(e) ? e : [e];
|
|
669
788
|
for (let e of t) {
|
|
670
789
|
if (!(e.size > 0) || !Number.isFinite(e.price)) continue;
|
|
671
|
-
Number.isFinite(
|
|
672
|
-
let t = !Number.isFinite(
|
|
673
|
-
t && (e.side === "buy" ? (t.buyVolume += e.size, t.buyNotional += e.size * e.price) : (t.sellVolume += e.size, t.sellNotional += e.size * e.price)), (!
|
|
790
|
+
Number.isFinite(P) && (qe(e.time), Ke(e.time));
|
|
791
|
+
let t = !Number.isFinite(M) || e.time >= M ? N : Je(e.time);
|
|
792
|
+
t && (e.side === "buy" ? (t.buyVolume += e.size, t.buyNotional += e.size * e.price) : (t.sellVolume += e.size, t.sellNotional += e.size * e.price)), (!ve || e.time >= ve.time) && (ve = e);
|
|
674
793
|
}
|
|
675
794
|
Z.invalidate();
|
|
676
795
|
},
|
|
677
796
|
clear() {
|
|
678
|
-
|
|
797
|
+
E.clear(), He(), ve = null, P = NaN, A = 0, q = NaN, K = null, De = !1, Z.invalidate();
|
|
679
798
|
},
|
|
680
799
|
setOptions(e) {
|
|
681
|
-
let t =
|
|
682
|
-
|
|
800
|
+
let t = T;
|
|
801
|
+
T = e, Pe(), (e.tickSize !== t.tickSize || (e.interval ?? 100) !== (t.interval ?? 100)) && (He(), A = 0, q = NaN, Ue()), e.window !== t.window && (U = NaN), e.priceSpan !== t.priceSpan && (q = NaN), (e.renderer ?? "auto") !== (t.renderer ?? "auto") && ut(), ze(), Be(), Ve();
|
|
683
802
|
},
|
|
684
803
|
resetView() {
|
|
685
|
-
|
|
804
|
+
U = NaN, q = NaN, K = null, dt(!0), Z.invalidate();
|
|
686
805
|
},
|
|
687
806
|
getRenderer: () => H?.kind ?? null,
|
|
688
|
-
ready:
|
|
689
|
-
getStore: () =>
|
|
690
|
-
on: (e, t) =>
|
|
807
|
+
ready: Te,
|
|
808
|
+
getStore: () => E,
|
|
809
|
+
on: (e, t) => D.on(e, t),
|
|
691
810
|
resize() {
|
|
692
811
|
Z.invalidate();
|
|
693
812
|
},
|
|
694
813
|
destroy() {
|
|
695
|
-
|
|
814
|
+
Ce = !0, Q.removeEventListener("pointerdown", pt), Q.removeEventListener("pointermove", mt), Q.removeEventListener("pointerup", ht), Q.removeEventListener("pointercancel", ht), Q.removeEventListener("pointerleave", gt), Q.removeEventListener("wheel", yt), Q.removeEventListener("dblclick", bt), Q.removeEventListener("keydown", xt), H?.destroy(), H = null, D.clear(), Z.destroy(), we(null);
|
|
696
815
|
}
|
|
697
816
|
};
|
|
698
|
-
return
|
|
817
|
+
return Pe(), ze(), ut(), Ct;
|
|
699
818
|
};
|
|
700
819
|
//#endregion
|
|
701
|
-
export {
|
|
820
|
+
export { C as createOrderBookHeatmap, pe as heatIntensity };
|
|
702
821
|
|
|
703
822
|
//# sourceMappingURL=heatmap.js.map
|