minerva-design 1.0.2 → 1.2.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 +14 -0
- package/README.md +21 -19
- package/dist/charts/canvas.d.cts +7 -0
- package/dist/charts/canvas.d.ts +7 -0
- package/dist/charts/core.cjs +1 -0
- package/dist/charts/core.d.cts +7 -0
- package/dist/charts/core.d.ts +7 -0
- package/dist/charts/core.js +6 -0
- package/dist/charts/engine/axis.cjs +2 -0
- package/dist/charts/engine/axis.cjs.map +1 -0
- package/dist/charts/engine/axis.d.cts +13 -0
- package/dist/charts/engine/axis.d.ts +13 -0
- package/dist/charts/engine/axis.js +38 -0
- package/dist/charts/engine/axis.js.map +1 -0
- package/dist/charts/engine/canvas.cjs +2 -0
- package/dist/charts/engine/canvas.cjs.map +1 -0
- package/dist/charts/engine/canvas.d.cts +85 -0
- package/dist/charts/engine/canvas.d.ts +85 -0
- package/dist/charts/engine/canvas.js +165 -0
- package/dist/charts/engine/canvas.js.map +1 -0
- package/dist/charts/engine/chart.cjs +3 -0
- package/dist/charts/engine/chart.cjs.map +1 -0
- package/dist/charts/engine/chart.d.cts +6 -0
- package/dist/charts/engine/chart.d.ts +6 -0
- package/dist/charts/engine/chart.js +566 -0
- package/dist/charts/engine/chart.js.map +1 -0
- package/dist/charts/engine/color.cjs +2 -0
- package/dist/charts/engine/color.cjs.map +1 -0
- package/dist/charts/engine/color.d.cts +33 -0
- package/dist/charts/engine/color.d.ts +33 -0
- package/dist/charts/engine/color.js +167 -0
- package/dist/charts/engine/color.js.map +1 -0
- package/dist/charts/engine/controller.cjs +3 -0
- package/dist/charts/engine/controller.cjs.map +1 -0
- package/dist/charts/engine/controller.d.cts +182 -0
- package/dist/charts/engine/controller.d.ts +182 -0
- package/dist/charts/engine/controller.js +528 -0
- package/dist/charts/engine/controller.js.map +1 -0
- package/dist/charts/engine/data.cjs +2 -0
- package/dist/charts/engine/data.cjs.map +1 -0
- package/dist/charts/engine/data.d.cts +29 -0
- package/dist/charts/engine/data.d.ts +29 -0
- package/dist/charts/engine/data.js +104 -0
- package/dist/charts/engine/data.js.map +1 -0
- package/dist/charts/engine/decimate.cjs +2 -0
- package/dist/charts/engine/decimate.cjs.map +1 -0
- package/dist/charts/engine/decimate.d.cts +13 -0
- package/dist/charts/engine/decimate.d.ts +13 -0
- package/dist/charts/engine/decimate.js +28 -0
- package/dist/charts/engine/decimate.js.map +1 -0
- package/dist/charts/engine/dom.cjs +2 -0
- package/dist/charts/engine/dom.cjs.map +1 -0
- package/dist/charts/engine/dom.d.cts +21 -0
- package/dist/charts/engine/dom.d.ts +21 -0
- package/dist/charts/engine/dom.js +125 -0
- package/dist/charts/engine/dom.js.map +1 -0
- package/dist/charts/engine/format.cjs +2 -0
- package/dist/charts/engine/format.cjs.map +1 -0
- package/dist/charts/engine/format.d.cts +9 -0
- package/dist/charts/engine/format.d.ts +9 -0
- package/dist/charts/engine/format.js +34 -0
- package/dist/charts/engine/format.js.map +1 -0
- package/dist/charts/engine/items.cjs +2 -0
- package/dist/charts/engine/items.cjs.map +1 -0
- package/dist/charts/engine/items.d.cts +8 -0
- package/dist/charts/engine/items.d.ts +8 -0
- package/dist/charts/engine/items.js +91 -0
- package/dist/charts/engine/items.js.map +1 -0
- package/dist/charts/engine/layout.cjs +2 -0
- package/dist/charts/engine/layout.cjs.map +1 -0
- package/dist/charts/engine/layout.d.cts +37 -0
- package/dist/charts/engine/layout.d.ts +37 -0
- package/dist/charts/engine/layout.js +26 -0
- package/dist/charts/engine/layout.js.map +1 -0
- package/dist/charts/engine/model.cjs +2 -0
- package/dist/charts/engine/model.cjs.map +1 -0
- package/dist/charts/engine/model.d.cts +74 -0
- package/dist/charts/engine/model.d.ts +74 -0
- package/dist/charts/engine/model.js +175 -0
- package/dist/charts/engine/model.js.map +1 -0
- package/dist/charts/engine/overlay.cjs +2 -0
- package/dist/charts/engine/overlay.cjs.map +1 -0
- package/dist/charts/engine/overlay.d.cts +78 -0
- package/dist/charts/engine/overlay.d.ts +78 -0
- package/dist/charts/engine/overlay.js +137 -0
- package/dist/charts/engine/overlay.js.map +1 -0
- package/dist/charts/engine/presets.cjs +3 -0
- package/dist/charts/engine/presets.cjs.map +1 -0
- package/dist/charts/engine/presets.d.cts +103 -0
- package/dist/charts/engine/presets.d.ts +103 -0
- package/dist/charts/engine/presets.js +153 -0
- package/dist/charts/engine/presets.js.map +1 -0
- package/dist/charts/engine/renderers/canvas2d.cjs +2 -0
- package/dist/charts/engine/renderers/canvas2d.cjs.map +1 -0
- package/dist/charts/engine/renderers/canvas2d.d.cts +20 -0
- package/dist/charts/engine/renderers/canvas2d.d.ts +20 -0
- package/dist/charts/engine/renderers/canvas2d.js +193 -0
- package/dist/charts/engine/renderers/canvas2d.js.map +1 -0
- package/dist/charts/engine/renderers/detect.cjs +2 -0
- package/dist/charts/engine/renderers/detect.cjs.map +1 -0
- package/dist/charts/engine/renderers/detect.d.cts +12 -0
- package/dist/charts/engine/renderers/detect.d.ts +12 -0
- package/dist/charts/engine/renderers/detect.js +33 -0
- package/dist/charts/engine/renderers/detect.js.map +1 -0
- package/dist/charts/engine/renderers/range.cjs +2 -0
- package/dist/charts/engine/renderers/range.cjs.map +1 -0
- package/dist/charts/engine/renderers/range.d.cts +5 -0
- package/dist/charts/engine/renderers/range.d.ts +5 -0
- package/dist/charts/engine/renderers/range.js +32 -0
- package/dist/charts/engine/renderers/range.js.map +1 -0
- package/dist/charts/engine/renderers/shaders.cjs +266 -0
- package/dist/charts/engine/renderers/shaders.cjs.map +1 -0
- package/dist/charts/engine/renderers/shaders.d.cts +20 -0
- package/dist/charts/engine/renderers/shaders.d.ts +20 -0
- package/dist/charts/engine/renderers/shaders.js +251 -0
- package/dist/charts/engine/renderers/shaders.js.map +1 -0
- package/dist/charts/engine/renderers/types.cjs +2 -0
- package/dist/charts/engine/renderers/types.cjs.map +1 -0
- package/dist/charts/engine/renderers/types.d.cts +83 -0
- package/dist/charts/engine/renderers/types.d.ts +83 -0
- package/dist/charts/engine/renderers/types.js +6 -0
- package/dist/charts/engine/renderers/types.js.map +1 -0
- package/dist/charts/engine/renderers/webgl2.cjs +2 -0
- package/dist/charts/engine/renderers/webgl2.cjs.map +1 -0
- package/dist/charts/engine/renderers/webgl2.d.cts +5 -0
- package/dist/charts/engine/renderers/webgl2.d.ts +5 -0
- package/dist/charts/engine/renderers/webgl2.js +134 -0
- package/dist/charts/engine/renderers/webgl2.js.map +1 -0
- package/dist/charts/engine/renderers/webgpu.cjs +2 -0
- package/dist/charts/engine/renderers/webgpu.cjs.map +1 -0
- package/dist/charts/engine/renderers/webgpu.d.cts +6 -0
- package/dist/charts/engine/renderers/webgpu.d.ts +6 -0
- package/dist/charts/engine/renderers/webgpu.js +220 -0
- package/dist/charts/engine/renderers/webgpu.js.map +1 -0
- package/dist/charts/engine/scale.cjs +2 -0
- package/dist/charts/engine/scale.cjs.map +1 -0
- package/dist/charts/engine/scale.d.cts +13 -0
- package/dist/charts/engine/scale.d.ts +13 -0
- package/dist/charts/engine/scale.js +37 -0
- package/dist/charts/engine/scale.js.map +1 -0
- package/dist/charts/engine/scene.cjs +2 -0
- package/dist/charts/engine/scene.cjs.map +1 -0
- package/dist/charts/engine/scene.d.cts +89 -0
- package/dist/charts/engine/scene.d.ts +89 -0
- package/dist/charts/engine/scene.js +241 -0
- package/dist/charts/engine/scene.js.map +1 -0
- package/dist/charts/engine/spatial.cjs +2 -0
- package/dist/charts/engine/spatial.cjs.map +1 -0
- package/dist/charts/engine/spatial.d.cts +18 -0
- package/dist/charts/engine/spatial.d.ts +18 -0
- package/dist/charts/engine/spatial.js +53 -0
- package/dist/charts/engine/spatial.js.map +1 -0
- package/dist/charts/engine/theme.cjs +2 -0
- package/dist/charts/engine/theme.cjs.map +1 -0
- package/dist/charts/engine/theme.d.cts +45 -0
- package/dist/charts/engine/theme.d.ts +45 -0
- package/dist/charts/engine/theme.js +86 -0
- package/dist/charts/engine/theme.js.map +1 -0
- package/dist/charts/engine/time.cjs +2 -0
- package/dist/charts/engine/time.cjs.map +1 -0
- package/dist/charts/engine/time.d.cts +10 -0
- package/dist/charts/engine/time.d.ts +10 -0
- package/dist/charts/engine/time.js +189 -0
- package/dist/charts/engine/time.js.map +1 -0
- package/dist/charts/engine/types.d.cts +356 -0
- package/dist/charts/engine/types.d.ts +356 -0
- package/dist/charts/engine/viewport.cjs +2 -0
- package/dist/charts/engine/viewport.cjs.map +1 -0
- package/dist/charts/engine/viewport.d.cts +12 -0
- package/dist/charts/engine/viewport.d.ts +12 -0
- package/dist/charts/engine/viewport.js +15 -0
- package/dist/charts/engine/viewport.js.map +1 -0
- package/dist/charts/index.cjs +1 -0
- package/dist/charts/index.d.cts +4 -0
- package/dist/charts/index.d.ts +4 -0
- package/dist/charts/index.js +10 -0
- package/dist/charts/react/Chart.cjs +2 -0
- package/dist/charts/react/Chart.cjs.map +1 -0
- package/dist/charts/react/Chart.d.cts +35 -0
- package/dist/charts/react/Chart.d.ts +35 -0
- package/dist/charts/react/Chart.js +117 -0
- package/dist/charts/react/Chart.js.map +1 -0
- package/dist/charts/react/charts.cjs +2 -0
- package/dist/charts/react/charts.cjs.map +1 -0
- package/dist/charts/react/charts.d.cts +13 -0
- package/dist/charts/react/charts.d.ts +13 -0
- package/dist/charts/react/charts.js +133 -0
- package/dist/charts/react/charts.js.map +1 -0
- package/dist/charts/react/types.d.cts +136 -0
- package/dist/charts/react/types.d.ts +136 -0
- package/dist/native/charts/src/canvas.cjs +1 -0
- package/dist/native/charts/src/canvas.js +6 -0
- package/dist/native/charts/src/engine/axis.cjs +2 -0
- package/dist/native/charts/src/engine/axis.cjs.map +1 -0
- package/dist/native/charts/src/engine/axis.js +38 -0
- package/dist/native/charts/src/engine/axis.js.map +1 -0
- package/dist/native/charts/src/engine/canvas.cjs +1 -0
- package/dist/native/charts/src/engine/canvas.js +1 -0
- package/dist/native/charts/src/engine/color.cjs +2 -0
- package/dist/native/charts/src/engine/color.cjs.map +1 -0
- package/dist/native/charts/src/engine/color.js +130 -0
- package/dist/native/charts/src/engine/color.js.map +1 -0
- package/dist/native/charts/src/engine/controller.cjs +3 -0
- package/dist/native/charts/src/engine/controller.cjs.map +1 -0
- package/dist/native/charts/src/engine/controller.js +528 -0
- package/dist/native/charts/src/engine/controller.js.map +1 -0
- package/dist/native/charts/src/engine/data.cjs +2 -0
- package/dist/native/charts/src/engine/data.cjs.map +1 -0
- package/dist/native/charts/src/engine/data.js +104 -0
- package/dist/native/charts/src/engine/data.js.map +1 -0
- package/dist/native/charts/src/engine/decimate.cjs +2 -0
- package/dist/native/charts/src/engine/decimate.cjs.map +1 -0
- package/dist/native/charts/src/engine/decimate.js +28 -0
- package/dist/native/charts/src/engine/decimate.js.map +1 -0
- package/dist/native/charts/src/engine/format.cjs +2 -0
- package/dist/native/charts/src/engine/format.cjs.map +1 -0
- package/dist/native/charts/src/engine/format.js +34 -0
- package/dist/native/charts/src/engine/format.js.map +1 -0
- package/dist/native/charts/src/engine/layout.cjs +2 -0
- package/dist/native/charts/src/engine/layout.cjs.map +1 -0
- package/dist/native/charts/src/engine/layout.js +26 -0
- package/dist/native/charts/src/engine/layout.js.map +1 -0
- package/dist/native/charts/src/engine/model.cjs +2 -0
- package/dist/native/charts/src/engine/model.cjs.map +1 -0
- package/dist/native/charts/src/engine/model.js +175 -0
- package/dist/native/charts/src/engine/model.js.map +1 -0
- package/dist/native/charts/src/engine/overlay.cjs +2 -0
- package/dist/native/charts/src/engine/overlay.cjs.map +1 -0
- package/dist/native/charts/src/engine/overlay.js +49 -0
- package/dist/native/charts/src/engine/overlay.js.map +1 -0
- package/dist/native/charts/src/engine/presets.cjs +3 -0
- package/dist/native/charts/src/engine/presets.cjs.map +1 -0
- package/dist/native/charts/src/engine/presets.js +147 -0
- package/dist/native/charts/src/engine/presets.js.map +1 -0
- package/dist/native/charts/src/engine/scale.cjs +2 -0
- package/dist/native/charts/src/engine/scale.cjs.map +1 -0
- package/dist/native/charts/src/engine/scale.js +37 -0
- package/dist/native/charts/src/engine/scale.js.map +1 -0
- package/dist/native/charts/src/engine/scene.cjs +2 -0
- package/dist/native/charts/src/engine/scene.cjs.map +1 -0
- package/dist/native/charts/src/engine/scene.js +241 -0
- package/dist/native/charts/src/engine/scene.js.map +1 -0
- package/dist/native/charts/src/engine/spatial.cjs +2 -0
- package/dist/native/charts/src/engine/spatial.cjs.map +1 -0
- package/dist/native/charts/src/engine/spatial.js +53 -0
- package/dist/native/charts/src/engine/spatial.js.map +1 -0
- package/dist/native/charts/src/engine/theme.cjs +2 -0
- package/dist/native/charts/src/engine/theme.cjs.map +1 -0
- package/dist/native/charts/src/engine/theme.js +62 -0
- package/dist/native/charts/src/engine/theme.js.map +1 -0
- package/dist/native/charts/src/engine/time.cjs +2 -0
- package/dist/native/charts/src/engine/time.cjs.map +1 -0
- package/dist/native/charts/src/engine/time.js +189 -0
- package/dist/native/charts/src/engine/time.js.map +1 -0
- package/dist/native/charts/src/engine/viewport.cjs +2 -0
- package/dist/native/charts/src/engine/viewport.cjs.map +1 -0
- package/dist/native/charts/src/engine/viewport.js +12 -0
- package/dist/native/charts/src/engine/viewport.js.map +1 -0
- package/dist/native/components/Chart/ChartBase.cjs +2 -0
- package/dist/native/components/Chart/ChartBase.cjs.map +1 -0
- package/dist/native/components/Chart/ChartBase.d.cts +29 -0
- package/dist/native/components/Chart/ChartBase.d.ts +29 -0
- package/dist/native/components/Chart/ChartBase.js +287 -0
- package/dist/native/components/Chart/ChartBase.js.map +1 -0
- package/dist/native/components/Chart/charts.cjs +2 -0
- package/dist/native/components/Chart/charts.cjs.map +1 -0
- package/dist/native/components/Chart/charts.d.cts +19 -0
- package/dist/native/components/Chart/charts.d.ts +19 -0
- package/dist/native/components/Chart/charts.js +173 -0
- package/dist/native/components/Chart/charts.js.map +1 -0
- package/dist/native/components/Chart/index.cjs +1 -0
- package/dist/native/components/Chart/index.d.cts +2 -0
- package/dist/native/components/Chart/index.d.ts +2 -0
- package/dist/native/components/Chart/index.js +2 -0
- package/dist/native/components/Chart/measure.cjs +2 -0
- package/dist/native/components/Chart/measure.cjs.map +1 -0
- package/dist/native/components/Chart/measure.d.cts +5 -0
- package/dist/native/components/Chart/measure.d.ts +5 -0
- package/dist/native/components/Chart/measure.js +11 -0
- package/dist/native/components/Chart/measure.js.map +1 -0
- package/dist/native/components/Chart/scene.cjs +2 -0
- package/dist/native/components/Chart/scene.cjs.map +1 -0
- package/dist/native/components/Chart/scene.d.cts +41 -0
- package/dist/native/components/Chart/scene.d.ts +41 -0
- package/dist/native/components/Chart/scene.js +419 -0
- package/dist/native/components/Chart/scene.js.map +1 -0
- package/dist/native/components/Chart/theme.cjs +2 -0
- package/dist/native/components/Chart/theme.cjs.map +1 -0
- package/dist/native/components/Chart/theme.d.cts +10 -0
- package/dist/native/components/Chart/theme.d.ts +10 -0
- package/dist/native/components/Chart/theme.js +10 -0
- package/dist/native/components/Chart/theme.js.map +1 -0
- package/dist/native/components/Chart/types.d.cts +129 -0
- package/dist/native/components/Chart/types.d.ts +129 -0
- package/dist/native/index.cjs +1 -1
- package/dist/native/index.d.cts +1 -0
- package/dist/native/index.d.ts +1 -0
- package/dist/native/index.js +6 -4
- package/dist/native/manifest.d.cts +7 -0
- package/dist/native/manifest.d.ts +7 -0
- package/dist/native/source/components/Chart/ChartBase.tsx +545 -0
- package/dist/native/source/components/Chart/charts.tsx +291 -0
- package/dist/native/source/components/Chart/index.ts +8 -0
- package/dist/native/source/components/Chart/measure.ts +50 -0
- package/dist/native/source/components/Chart/scene.tsx +987 -0
- package/dist/native/source/components/Chart/theme.ts +16 -0
- package/dist/native/source/components/Chart/types.ts +194 -0
- package/dist/native/source/index.ts +1 -0
- package/dist/native/source/manifest.ts +14 -0
- package/dist/taro/charts.d.ts +144 -0
- package/dist/taro/index.d.ts +1 -0
- package/dist/taro/index.js +3064 -618
- package/dist/uni/BarChart.vue +75 -0
- package/dist/uni/BarChart.vue.d.ts +111 -0
- package/dist/uni/Chart.vue +68 -0
- package/dist/uni/Chart.vue.d.ts +100 -0
- package/dist/uni/LineChart.vue +75 -0
- package/dist/uni/LineChart.vue.d.ts +111 -0
- package/dist/uni/ProgressIndicator.vue.d.ts +1 -1
- package/dist/uni/QuadrantChart.vue +184 -0
- package/dist/uni/QuadrantChart.vue.d.ts +173 -0
- package/dist/uni/ScatterChart.vue +69 -0
- package/dist/uni/ScatterChart.vue.d.ts +100 -0
- package/dist/uni/chart-canvas.d.ts +68 -0
- package/dist/uni/chart-canvas.js +363 -0
- package/dist/uni/chart-types.d.ts +135 -0
- package/dist/uni/chart-types.js +84 -0
- package/dist/uni/charts-canvas.d.ts +1 -0
- package/dist/uni/charts-canvas.js +8 -0
- package/dist/uni/index.d.ts +6 -0
- package/dist/uni/index.js +6 -0
- package/dist/weapp/bar-chart/index.js +1 -0
- package/dist/weapp/bar-chart/index.json +1 -0
- package/dist/weapp/bar-chart/index.wxml +1 -0
- package/dist/weapp/bar-chart/index.wxss +1 -0
- package/dist/weapp/chart/index.js +1 -0
- package/dist/weapp/chart/index.json +1 -0
- package/dist/weapp/chart/index.wxml +1 -0
- package/dist/weapp/chart/index.wxss +1 -0
- package/dist/weapp/controls.js +4019 -266
- package/dist/weapp/line-chart/index.js +1 -0
- package/dist/weapp/line-chart/index.json +1 -0
- package/dist/weapp/line-chart/index.wxml +1 -0
- package/dist/weapp/line-chart/index.wxss +1 -0
- package/dist/weapp/quadrant-chart/index.js +1 -0
- package/dist/weapp/quadrant-chart/index.json +1 -0
- package/dist/weapp/quadrant-chart/index.wxml +1 -0
- package/dist/weapp/quadrant-chart/index.wxss +1 -0
- package/dist/weapp/scatter-chart/index.js +1 -0
- package/dist/weapp/scatter-chart/index.json +1 -0
- package/dist/weapp/scatter-chart/index.wxml +1 -0
- package/dist/weapp/scatter-chart/index.wxss +1 -0
- package/dist/weapp/types.d.ts +295 -0
- package/package.json +48 -2
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { Rect } from './layout.cjs';
|
|
2
|
+
import { ChartModel } from './model.cjs';
|
|
3
|
+
import { PointLabel, ResolvedAnnotation } from './overlay.cjs';
|
|
4
|
+
import { ChartLayout, HoverMark, TooltipContent } from './scene.cjs';
|
|
5
|
+
import { ChartTheme, ChartThemeInput } from './theme.cjs';
|
|
6
|
+
import { ChartEventMap, ChartHoverEvent, ChartOptions, ChartRect, ChartView } from './types.cjs';
|
|
7
|
+
/** Events of a controller (no renderer events: hosts draw themselves) */
|
|
8
|
+
export type ChartControllerEventMap = Omit<ChartEventMap, "renderer">;
|
|
9
|
+
export interface ChartControllerConfig {
|
|
10
|
+
options: ChartOptions;
|
|
11
|
+
/** Colors and fonts (Minerva variables); light defaults when omitted */
|
|
12
|
+
theme?: ChartThemeInput;
|
|
13
|
+
/** Width in pixels of `text` drawn with the CSS `font` */
|
|
14
|
+
measureText: (text: string, font: string) => number;
|
|
15
|
+
/** Called when the scene changed and must be drawn again */
|
|
16
|
+
onInvalidate?: () => void;
|
|
17
|
+
}
|
|
18
|
+
export interface ChartLegendEntry {
|
|
19
|
+
id: string;
|
|
20
|
+
name: string;
|
|
21
|
+
/** CSS color */
|
|
22
|
+
color: string;
|
|
23
|
+
shape: "dot" | "line" | "square";
|
|
24
|
+
hidden: boolean;
|
|
25
|
+
/** Hit / draw box of the entry, pixels of the chart */
|
|
26
|
+
box: Rect;
|
|
27
|
+
}
|
|
28
|
+
export interface ChartLegendLayout {
|
|
29
|
+
entries: ChartLegendEntry[];
|
|
30
|
+
position: "top" | "bottom";
|
|
31
|
+
/** Whether a tap toggles the series */
|
|
32
|
+
toggle: boolean;
|
|
33
|
+
/** Height taken by the legend */
|
|
34
|
+
height: number;
|
|
35
|
+
}
|
|
36
|
+
export interface ChartTooltipLayout {
|
|
37
|
+
/** Default content (`text` is set instead when `tooltip.render` returns a string) */
|
|
38
|
+
content: TooltipContent;
|
|
39
|
+
/** Lines of a custom string tooltip */
|
|
40
|
+
text: string[] | null;
|
|
41
|
+
/** Box of the tooltip, pixels of the chart */
|
|
42
|
+
box: Rect;
|
|
43
|
+
/** Line height used to lay the box out */
|
|
44
|
+
lineHeight: number;
|
|
45
|
+
padding: number;
|
|
46
|
+
}
|
|
47
|
+
export interface ChartHoverLayout {
|
|
48
|
+
event: ChartHoverEvent;
|
|
49
|
+
marks: HoverMark[];
|
|
50
|
+
/** X pixel of the guide line (`null` when hidden) */
|
|
51
|
+
crosshairX: number | null;
|
|
52
|
+
tooltip: ChartTooltipLayout | null;
|
|
53
|
+
}
|
|
54
|
+
/** Everything a host draws, in CSS pixels of the chart */
|
|
55
|
+
export interface ChartScene {
|
|
56
|
+
width: number;
|
|
57
|
+
height: number;
|
|
58
|
+
theme: ChartTheme;
|
|
59
|
+
model: ChartModel;
|
|
60
|
+
view: ChartView;
|
|
61
|
+
layout: ChartLayout;
|
|
62
|
+
annotations: ResolvedAnnotation[];
|
|
63
|
+
/** Labels of the dots that found a free slot */
|
|
64
|
+
pointLabels: {
|
|
65
|
+
label: PointLabel;
|
|
66
|
+
box: Rect;
|
|
67
|
+
}[];
|
|
68
|
+
legend: ChartLegendLayout | null;
|
|
69
|
+
hover: ChartHoverLayout | null;
|
|
70
|
+
/** Point being dragged (`interaction.dragPoints`) */
|
|
71
|
+
dragging: {
|
|
72
|
+
x: number;
|
|
73
|
+
y: number;
|
|
74
|
+
color: string;
|
|
75
|
+
size: number;
|
|
76
|
+
} | null;
|
|
77
|
+
}
|
|
78
|
+
export interface ChartPointerOptions {
|
|
79
|
+
/** Pointer id (touch identifier); 0 by default */
|
|
80
|
+
id?: number;
|
|
81
|
+
/** Touch input: the tooltip follows the finger and stays after a tap */
|
|
82
|
+
touch?: boolean;
|
|
83
|
+
}
|
|
84
|
+
export interface ChartController {
|
|
85
|
+
setOptions(options: ChartOptions): void;
|
|
86
|
+
setTheme(theme: ChartThemeInput | undefined): void;
|
|
87
|
+
/** Size of the chart in CSS pixels */
|
|
88
|
+
setSize(width: number, height: number): void;
|
|
89
|
+
/** What to draw (`null` until the size is known) */
|
|
90
|
+
getScene(): ChartScene | null;
|
|
91
|
+
pointerDown(x: number, y: number, options?: ChartPointerOptions): void;
|
|
92
|
+
pointerMove(x: number, y: number, options?: ChartPointerOptions): void;
|
|
93
|
+
pointerUp(x: number, y: number, options?: ChartPointerOptions): void;
|
|
94
|
+
pointerCancel(options?: ChartPointerOptions): void;
|
|
95
|
+
/** The mouse left the chart */
|
|
96
|
+
pointerLeave(): void;
|
|
97
|
+
/** Zooms around a pixel (factor < 1 zooms in) */
|
|
98
|
+
zoomAt(x: number, y: number, factor: number): void;
|
|
99
|
+
resetZoom(): void;
|
|
100
|
+
getView(): ChartView;
|
|
101
|
+
setView(view: Partial<ChartView>): void;
|
|
102
|
+
/** Shows / hides a series (like a legend click) */
|
|
103
|
+
toggleSeries(id: string): void;
|
|
104
|
+
/** Hides the tooltip */
|
|
105
|
+
clearHover(): void;
|
|
106
|
+
getPlotRect(): ChartRect | null;
|
|
107
|
+
toPixel(x: number, y: number): {
|
|
108
|
+
x: number;
|
|
109
|
+
y: number;
|
|
110
|
+
} | null;
|
|
111
|
+
fromPixel(x: number, y: number): {
|
|
112
|
+
x: number;
|
|
113
|
+
y: number;
|
|
114
|
+
} | null;
|
|
115
|
+
on<K extends keyof ChartControllerEventMap>(type: K, listener: (event: ChartControllerEventMap[K]) => void): () => void;
|
|
116
|
+
destroy(): void;
|
|
117
|
+
}
|
|
118
|
+
export declare const createChartController: (config: ChartControllerConfig) => ChartController;
|
|
119
|
+
/** A polyline (pixels of the chart): interleaved x, y */
|
|
120
|
+
export interface ChartLinePrimitive {
|
|
121
|
+
kind: "line";
|
|
122
|
+
seriesIndex: number;
|
|
123
|
+
color: string;
|
|
124
|
+
width: number;
|
|
125
|
+
/** Runs of points without gaps */
|
|
126
|
+
segments: number[][];
|
|
127
|
+
}
|
|
128
|
+
export interface ChartAreaPrimitive {
|
|
129
|
+
kind: "area";
|
|
130
|
+
seriesIndex: number;
|
|
131
|
+
color: string;
|
|
132
|
+
opacity: number;
|
|
133
|
+
/** Y pixel of the baseline */
|
|
134
|
+
baseline: number;
|
|
135
|
+
segments: number[][];
|
|
136
|
+
}
|
|
137
|
+
export interface ChartBarPrimitive {
|
|
138
|
+
kind: "bars";
|
|
139
|
+
seriesIndex: number;
|
|
140
|
+
color: string;
|
|
141
|
+
/** Interleaved x, y, width, height */
|
|
142
|
+
rects: number[];
|
|
143
|
+
}
|
|
144
|
+
export interface ChartDotPrimitive {
|
|
145
|
+
kind: "dots";
|
|
146
|
+
seriesIndex: number;
|
|
147
|
+
opacity: number;
|
|
148
|
+
/** Interleaved x, y, diameter */
|
|
149
|
+
dots: number[];
|
|
150
|
+
/** CSS color of every dot */
|
|
151
|
+
colors: string[];
|
|
152
|
+
}
|
|
153
|
+
export type ChartPrimitive = ChartLinePrimitive | ChartAreaPrimitive | ChartBarPrimitive | ChartDotPrimitive;
|
|
154
|
+
export interface ChartPrimitiveOptions {
|
|
155
|
+
/**
|
|
156
|
+
* Upper bound of the dots drawn per series: above it the dots are merged
|
|
157
|
+
* into one per occupied cell of their size
|
|
158
|
+
* @default 4000
|
|
159
|
+
*/
|
|
160
|
+
maxDots?: number;
|
|
161
|
+
/**
|
|
162
|
+
* Upper bound of the bars drawn per series: above it neighboring bars
|
|
163
|
+
* sharing a pixel column are merged
|
|
164
|
+
* @default 2000
|
|
165
|
+
*/
|
|
166
|
+
maxBars?: number;
|
|
167
|
+
/**
|
|
168
|
+
* Width in pixels of the columns lines are decimated to (at most four
|
|
169
|
+
* points per column); larger values mean fewer shapes
|
|
170
|
+
* @default 1
|
|
171
|
+
*/
|
|
172
|
+
columnWidth?: number;
|
|
173
|
+
/** Size of the cells dots are merged into (the dot size by default) */
|
|
174
|
+
dotCell?: number;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Data of a scene as simple shapes in pixels of the chart, for hosts
|
|
178
|
+
* without a canvas (React Native views, SVG): lines are decimated to a few
|
|
179
|
+
* points per pixel column and large point sets are merged per cell, so the
|
|
180
|
+
* number of shapes stays bounded by the size of the chart.
|
|
181
|
+
*/
|
|
182
|
+
export declare const scenePrimitives: (scene: ChartScene, limits?: ChartPrimitiveOptions) => ChartPrimitive[];
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import { Rect } from './layout.js';
|
|
2
|
+
import { ChartModel } from './model.js';
|
|
3
|
+
import { PointLabel, ResolvedAnnotation } from './overlay.js';
|
|
4
|
+
import { ChartLayout, HoverMark, TooltipContent } from './scene.js';
|
|
5
|
+
import { ChartTheme, ChartThemeInput } from './theme.js';
|
|
6
|
+
import { ChartEventMap, ChartHoverEvent, ChartOptions, ChartRect, ChartView } from './types.js';
|
|
7
|
+
/** Events of a controller (no renderer events: hosts draw themselves) */
|
|
8
|
+
export type ChartControllerEventMap = Omit<ChartEventMap, "renderer">;
|
|
9
|
+
export interface ChartControllerConfig {
|
|
10
|
+
options: ChartOptions;
|
|
11
|
+
/** Colors and fonts (Minerva variables); light defaults when omitted */
|
|
12
|
+
theme?: ChartThemeInput;
|
|
13
|
+
/** Width in pixels of `text` drawn with the CSS `font` */
|
|
14
|
+
measureText: (text: string, font: string) => number;
|
|
15
|
+
/** Called when the scene changed and must be drawn again */
|
|
16
|
+
onInvalidate?: () => void;
|
|
17
|
+
}
|
|
18
|
+
export interface ChartLegendEntry {
|
|
19
|
+
id: string;
|
|
20
|
+
name: string;
|
|
21
|
+
/** CSS color */
|
|
22
|
+
color: string;
|
|
23
|
+
shape: "dot" | "line" | "square";
|
|
24
|
+
hidden: boolean;
|
|
25
|
+
/** Hit / draw box of the entry, pixels of the chart */
|
|
26
|
+
box: Rect;
|
|
27
|
+
}
|
|
28
|
+
export interface ChartLegendLayout {
|
|
29
|
+
entries: ChartLegendEntry[];
|
|
30
|
+
position: "top" | "bottom";
|
|
31
|
+
/** Whether a tap toggles the series */
|
|
32
|
+
toggle: boolean;
|
|
33
|
+
/** Height taken by the legend */
|
|
34
|
+
height: number;
|
|
35
|
+
}
|
|
36
|
+
export interface ChartTooltipLayout {
|
|
37
|
+
/** Default content (`text` is set instead when `tooltip.render` returns a string) */
|
|
38
|
+
content: TooltipContent;
|
|
39
|
+
/** Lines of a custom string tooltip */
|
|
40
|
+
text: string[] | null;
|
|
41
|
+
/** Box of the tooltip, pixels of the chart */
|
|
42
|
+
box: Rect;
|
|
43
|
+
/** Line height used to lay the box out */
|
|
44
|
+
lineHeight: number;
|
|
45
|
+
padding: number;
|
|
46
|
+
}
|
|
47
|
+
export interface ChartHoverLayout {
|
|
48
|
+
event: ChartHoverEvent;
|
|
49
|
+
marks: HoverMark[];
|
|
50
|
+
/** X pixel of the guide line (`null` when hidden) */
|
|
51
|
+
crosshairX: number | null;
|
|
52
|
+
tooltip: ChartTooltipLayout | null;
|
|
53
|
+
}
|
|
54
|
+
/** Everything a host draws, in CSS pixels of the chart */
|
|
55
|
+
export interface ChartScene {
|
|
56
|
+
width: number;
|
|
57
|
+
height: number;
|
|
58
|
+
theme: ChartTheme;
|
|
59
|
+
model: ChartModel;
|
|
60
|
+
view: ChartView;
|
|
61
|
+
layout: ChartLayout;
|
|
62
|
+
annotations: ResolvedAnnotation[];
|
|
63
|
+
/** Labels of the dots that found a free slot */
|
|
64
|
+
pointLabels: {
|
|
65
|
+
label: PointLabel;
|
|
66
|
+
box: Rect;
|
|
67
|
+
}[];
|
|
68
|
+
legend: ChartLegendLayout | null;
|
|
69
|
+
hover: ChartHoverLayout | null;
|
|
70
|
+
/** Point being dragged (`interaction.dragPoints`) */
|
|
71
|
+
dragging: {
|
|
72
|
+
x: number;
|
|
73
|
+
y: number;
|
|
74
|
+
color: string;
|
|
75
|
+
size: number;
|
|
76
|
+
} | null;
|
|
77
|
+
}
|
|
78
|
+
export interface ChartPointerOptions {
|
|
79
|
+
/** Pointer id (touch identifier); 0 by default */
|
|
80
|
+
id?: number;
|
|
81
|
+
/** Touch input: the tooltip follows the finger and stays after a tap */
|
|
82
|
+
touch?: boolean;
|
|
83
|
+
}
|
|
84
|
+
export interface ChartController {
|
|
85
|
+
setOptions(options: ChartOptions): void;
|
|
86
|
+
setTheme(theme: ChartThemeInput | undefined): void;
|
|
87
|
+
/** Size of the chart in CSS pixels */
|
|
88
|
+
setSize(width: number, height: number): void;
|
|
89
|
+
/** What to draw (`null` until the size is known) */
|
|
90
|
+
getScene(): ChartScene | null;
|
|
91
|
+
pointerDown(x: number, y: number, options?: ChartPointerOptions): void;
|
|
92
|
+
pointerMove(x: number, y: number, options?: ChartPointerOptions): void;
|
|
93
|
+
pointerUp(x: number, y: number, options?: ChartPointerOptions): void;
|
|
94
|
+
pointerCancel(options?: ChartPointerOptions): void;
|
|
95
|
+
/** The mouse left the chart */
|
|
96
|
+
pointerLeave(): void;
|
|
97
|
+
/** Zooms around a pixel (factor < 1 zooms in) */
|
|
98
|
+
zoomAt(x: number, y: number, factor: number): void;
|
|
99
|
+
resetZoom(): void;
|
|
100
|
+
getView(): ChartView;
|
|
101
|
+
setView(view: Partial<ChartView>): void;
|
|
102
|
+
/** Shows / hides a series (like a legend click) */
|
|
103
|
+
toggleSeries(id: string): void;
|
|
104
|
+
/** Hides the tooltip */
|
|
105
|
+
clearHover(): void;
|
|
106
|
+
getPlotRect(): ChartRect | null;
|
|
107
|
+
toPixel(x: number, y: number): {
|
|
108
|
+
x: number;
|
|
109
|
+
y: number;
|
|
110
|
+
} | null;
|
|
111
|
+
fromPixel(x: number, y: number): {
|
|
112
|
+
x: number;
|
|
113
|
+
y: number;
|
|
114
|
+
} | null;
|
|
115
|
+
on<K extends keyof ChartControllerEventMap>(type: K, listener: (event: ChartControllerEventMap[K]) => void): () => void;
|
|
116
|
+
destroy(): void;
|
|
117
|
+
}
|
|
118
|
+
export declare const createChartController: (config: ChartControllerConfig) => ChartController;
|
|
119
|
+
/** A polyline (pixels of the chart): interleaved x, y */
|
|
120
|
+
export interface ChartLinePrimitive {
|
|
121
|
+
kind: "line";
|
|
122
|
+
seriesIndex: number;
|
|
123
|
+
color: string;
|
|
124
|
+
width: number;
|
|
125
|
+
/** Runs of points without gaps */
|
|
126
|
+
segments: number[][];
|
|
127
|
+
}
|
|
128
|
+
export interface ChartAreaPrimitive {
|
|
129
|
+
kind: "area";
|
|
130
|
+
seriesIndex: number;
|
|
131
|
+
color: string;
|
|
132
|
+
opacity: number;
|
|
133
|
+
/** Y pixel of the baseline */
|
|
134
|
+
baseline: number;
|
|
135
|
+
segments: number[][];
|
|
136
|
+
}
|
|
137
|
+
export interface ChartBarPrimitive {
|
|
138
|
+
kind: "bars";
|
|
139
|
+
seriesIndex: number;
|
|
140
|
+
color: string;
|
|
141
|
+
/** Interleaved x, y, width, height */
|
|
142
|
+
rects: number[];
|
|
143
|
+
}
|
|
144
|
+
export interface ChartDotPrimitive {
|
|
145
|
+
kind: "dots";
|
|
146
|
+
seriesIndex: number;
|
|
147
|
+
opacity: number;
|
|
148
|
+
/** Interleaved x, y, diameter */
|
|
149
|
+
dots: number[];
|
|
150
|
+
/** CSS color of every dot */
|
|
151
|
+
colors: string[];
|
|
152
|
+
}
|
|
153
|
+
export type ChartPrimitive = ChartLinePrimitive | ChartAreaPrimitive | ChartBarPrimitive | ChartDotPrimitive;
|
|
154
|
+
export interface ChartPrimitiveOptions {
|
|
155
|
+
/**
|
|
156
|
+
* Upper bound of the dots drawn per series: above it the dots are merged
|
|
157
|
+
* into one per occupied cell of their size
|
|
158
|
+
* @default 4000
|
|
159
|
+
*/
|
|
160
|
+
maxDots?: number;
|
|
161
|
+
/**
|
|
162
|
+
* Upper bound of the bars drawn per series: above it neighboring bars
|
|
163
|
+
* sharing a pixel column are merged
|
|
164
|
+
* @default 2000
|
|
165
|
+
*/
|
|
166
|
+
maxBars?: number;
|
|
167
|
+
/**
|
|
168
|
+
* Width in pixels of the columns lines are decimated to (at most four
|
|
169
|
+
* points per column); larger values mean fewer shapes
|
|
170
|
+
* @default 1
|
|
171
|
+
*/
|
|
172
|
+
columnWidth?: number;
|
|
173
|
+
/** Size of the cells dots are merged into (the dot size by default) */
|
|
174
|
+
dotCell?: number;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Data of a scene as simple shapes in pixels of the chart, for hosts
|
|
178
|
+
* without a canvas (React Native views, SVG): lines are decimated to a few
|
|
179
|
+
* points per pixel column and large point sets are merged per cell, so the
|
|
180
|
+
* number of shapes stays bounded by the size of the chart.
|
|
181
|
+
*/
|
|
182
|
+
export declare const scenePrimitives: (scene: ChartScene, limits?: ChartPrimitiveOptions) => ChartPrimitive[];
|