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,184 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { computed, getCurrentInstance, useSlots } from "vue";
|
|
3
|
+
import {
|
|
4
|
+
quadrantChartOptions,
|
|
5
|
+
quadrantOf,
|
|
6
|
+
type ChartHoverEvent,
|
|
7
|
+
type ChartRect,
|
|
8
|
+
type ChartView,
|
|
9
|
+
type QuadrantCorner,
|
|
10
|
+
type QuadrantPoint,
|
|
11
|
+
} from "./charts-canvas.js";
|
|
12
|
+
import {
|
|
13
|
+
chartCommonProps,
|
|
14
|
+
quadrantChartProps,
|
|
15
|
+
type QuadrantDropTarget,
|
|
16
|
+
} from "./chart-types.js";
|
|
17
|
+
import { chartEngineOptions, plain, useCanvasChart } from "./chart-canvas.js";
|
|
18
|
+
const props = defineProps({ ...chartCommonProps, ...quadrantChartProps });
|
|
19
|
+
const emit = defineEmits<{
|
|
20
|
+
hover: [event: ChartHoverEvent | null];
|
|
21
|
+
pointClick: [point: QuadrantPoint, index: number];
|
|
22
|
+
quadrantClick: [quadrant: QuadrantCorner, position: { x: number; y: number }];
|
|
23
|
+
pointDrop: [point: QuadrantPoint, index: number, target: QuadrantDropTarget];
|
|
24
|
+
zoom: [view: ChartView];
|
|
25
|
+
}>();
|
|
26
|
+
defineSlots<{
|
|
27
|
+
topLeft?: () => unknown;
|
|
28
|
+
topRight?: () => unknown;
|
|
29
|
+
bottomLeft?: () => unknown;
|
|
30
|
+
bottomRight?: () => unknown;
|
|
31
|
+
}>();
|
|
32
|
+
const slots = useSlots();
|
|
33
|
+
const instance = getCurrentInstance();
|
|
34
|
+
// Dots are draggable by default as soon as a pointDrop listener is set
|
|
35
|
+
const draggable = () => props.draggable ?? !!instance?.vnode.props?.onPointDrop;
|
|
36
|
+
const geometry = () => ({
|
|
37
|
+
xDomain: props.xDomain,
|
|
38
|
+
yDomain: props.yDomain,
|
|
39
|
+
xSplit: props.xSplit,
|
|
40
|
+
ySplit: props.ySplit,
|
|
41
|
+
reverseX: props.reverseX,
|
|
42
|
+
});
|
|
43
|
+
const {
|
|
44
|
+
id,
|
|
45
|
+
root,
|
|
46
|
+
plot,
|
|
47
|
+
rootStyle,
|
|
48
|
+
handle,
|
|
49
|
+
onTouchStart,
|
|
50
|
+
onTouchMove,
|
|
51
|
+
onTouchEnd,
|
|
52
|
+
onTouchCancel,
|
|
53
|
+
} = useCanvasChart(
|
|
54
|
+
() => props,
|
|
55
|
+
() =>
|
|
56
|
+
quadrantChartOptions(
|
|
57
|
+
{
|
|
58
|
+
points: plain(props.points),
|
|
59
|
+
xDomain: plain(props.xDomain),
|
|
60
|
+
yDomain: plain(props.yDomain),
|
|
61
|
+
xSplit: props.xSplit,
|
|
62
|
+
ySplit: props.ySplit,
|
|
63
|
+
quadrants: plain(props.quadrants),
|
|
64
|
+
xLabel: props.xLabel,
|
|
65
|
+
yLabel: props.yLabel,
|
|
66
|
+
axisLabels: plain(props.axisLabels),
|
|
67
|
+
showTicks: props.showTicks,
|
|
68
|
+
reverseX: props.reverseX,
|
|
69
|
+
showLabels: props.showLabels,
|
|
70
|
+
pointSize: props.pointSize,
|
|
71
|
+
name: props.name,
|
|
72
|
+
draggable: draggable(),
|
|
73
|
+
},
|
|
74
|
+
chartEngineOptions(props, []),
|
|
75
|
+
),
|
|
76
|
+
{
|
|
77
|
+
hover: (event) => emit("hover", event),
|
|
78
|
+
click: (event) => {
|
|
79
|
+
const index = event.items[0]?.index;
|
|
80
|
+
if (index !== undefined && props.points[index])
|
|
81
|
+
emit("pointClick", props.points[index], index);
|
|
82
|
+
},
|
|
83
|
+
plotClick: (at) =>
|
|
84
|
+
emit("quadrantClick", quadrantOf(geometry(), at.x, at.y), at),
|
|
85
|
+
drop: (event) => {
|
|
86
|
+
const index = event.item.index;
|
|
87
|
+
if (!props.points[index]) return;
|
|
88
|
+
emit("pointDrop", props.points[index], index, {
|
|
89
|
+
x: event.x,
|
|
90
|
+
y: event.y,
|
|
91
|
+
quadrant: quadrantOf(geometry(), event.x, event.y),
|
|
92
|
+
});
|
|
93
|
+
},
|
|
94
|
+
zoom: (view) => emit("zoom", view),
|
|
95
|
+
},
|
|
96
|
+
);
|
|
97
|
+
const scrollLocked = computed(() => props.disableScroll ?? draggable());
|
|
98
|
+
|
|
99
|
+
const px = (value: number) => `${value}px`;
|
|
100
|
+
const cornerStyle = (
|
|
101
|
+
corner: QuadrantCorner,
|
|
102
|
+
rect: ChartRect,
|
|
103
|
+
split: { x: number; y: number },
|
|
104
|
+
) => {
|
|
105
|
+
const left = corner.endsWith("Left");
|
|
106
|
+
const top = corner.startsWith("top");
|
|
107
|
+
return [
|
|
108
|
+
"position: absolute",
|
|
109
|
+
`left: ${px(left ? rect.x : split.x)}`,
|
|
110
|
+
`top: ${px(top ? rect.y : split.y)}`,
|
|
111
|
+
`width: ${px(left ? split.x - rect.x : rect.x + rect.width - split.x)}`,
|
|
112
|
+
`height: ${px(top ? split.y - rect.y : rect.y + rect.height - split.y)}`,
|
|
113
|
+
"pointer-events: none",
|
|
114
|
+
].join("; ");
|
|
115
|
+
};
|
|
116
|
+
// Areas of the quadrant slots, over the canvas
|
|
117
|
+
const corners = computed(() => {
|
|
118
|
+
const rect = plot.value;
|
|
119
|
+
if (
|
|
120
|
+
!rect ||
|
|
121
|
+
!(slots.topLeft || slots.topRight || slots.bottomLeft || slots.bottomRight)
|
|
122
|
+
)
|
|
123
|
+
return null;
|
|
124
|
+
const [x0, x1] = props.xDomain ?? [0, 10];
|
|
125
|
+
const [y0, y1] = props.yDomain ?? [0, 10];
|
|
126
|
+
const fx = ((props.xSplit ?? (x0 + x1) / 2) - x0) / (x1 - x0 || 1);
|
|
127
|
+
const fy = ((props.ySplit ?? (y0 + y1) / 2) - y0) / (y1 - y0 || 1);
|
|
128
|
+
const split = {
|
|
129
|
+
x: rect.x + rect.width * (props.reverseX ? 1 - fx : fx),
|
|
130
|
+
y: rect.y + rect.height * (1 - fy),
|
|
131
|
+
};
|
|
132
|
+
return {
|
|
133
|
+
topLeft: cornerStyle("topLeft", rect, split),
|
|
134
|
+
topRight: cornerStyle("topRight", rect, split),
|
|
135
|
+
bottomLeft: cornerStyle("bottomLeft", rect, split),
|
|
136
|
+
bottomRight: cornerStyle("bottomRight", rect, split),
|
|
137
|
+
};
|
|
138
|
+
});
|
|
139
|
+
defineExpose(handle);
|
|
140
|
+
</script>
|
|
141
|
+
<template>
|
|
142
|
+
<view
|
|
143
|
+
ref="root"
|
|
144
|
+
class="mn-chart mn-uni-chart mn-uni-quadrant-chart"
|
|
145
|
+
:style="rootStyle"
|
|
146
|
+
><canvas
|
|
147
|
+
:id="id"
|
|
148
|
+
type="2d"
|
|
149
|
+
:canvas-id="id"
|
|
150
|
+
class="mn-chart-canvas"
|
|
151
|
+
:hidpi="false"
|
|
152
|
+
:disable-scroll="scrollLocked"
|
|
153
|
+
role="img"
|
|
154
|
+
:aria-label="props.ariaLabel"
|
|
155
|
+
style="display: block; width: 100%; height: 100%"
|
|
156
|
+
@touchstart="onTouchStart"
|
|
157
|
+
@touchmove="onTouchMove"
|
|
158
|
+
@touchend="onTouchEnd"
|
|
159
|
+
@touchcancel="onTouchCancel" /><view
|
|
160
|
+
v-if="corners && slots.topLeft"
|
|
161
|
+
class="mn-chart-quadrant mn-chart-quadrant-topLeft"
|
|
162
|
+
:style="corners.topLeft"
|
|
163
|
+
><view class="mn-chart-quadrant-content" style="pointer-events: auto"
|
|
164
|
+
><slot name="topLeft" /></view></view
|
|
165
|
+
><view
|
|
166
|
+
v-if="corners && slots.topRight"
|
|
167
|
+
class="mn-chart-quadrant mn-chart-quadrant-topRight"
|
|
168
|
+
:style="corners.topRight"
|
|
169
|
+
><view class="mn-chart-quadrant-content" style="pointer-events: auto"
|
|
170
|
+
><slot name="topRight" /></view></view
|
|
171
|
+
><view
|
|
172
|
+
v-if="corners && slots.bottomLeft"
|
|
173
|
+
class="mn-chart-quadrant mn-chart-quadrant-bottomLeft"
|
|
174
|
+
:style="corners.bottomLeft"
|
|
175
|
+
><view class="mn-chart-quadrant-content" style="pointer-events: auto"
|
|
176
|
+
><slot name="bottomLeft" /></view></view
|
|
177
|
+
><view
|
|
178
|
+
v-if="corners && slots.bottomRight"
|
|
179
|
+
class="mn-chart-quadrant mn-chart-quadrant-bottomRight"
|
|
180
|
+
:style="corners.bottomRight"
|
|
181
|
+
><view class="mn-chart-quadrant-content" style="pointer-events: auto"
|
|
182
|
+
><slot name="bottomRight" /></view></view
|
|
183
|
+
></view>
|
|
184
|
+
</template>
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { type ChartHoverEvent, type ChartView, type QuadrantPoint } from "./charts-canvas.js";
|
|
2
|
+
import { type QuadrantDropTarget } from "./chart-types.js";
|
|
3
|
+
type __VLS_Slots = {
|
|
4
|
+
topLeft?: () => unknown;
|
|
5
|
+
topRight?: () => unknown;
|
|
6
|
+
bottomLeft?: () => unknown;
|
|
7
|
+
bottomRight?: () => unknown;
|
|
8
|
+
};
|
|
9
|
+
declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
10
|
+
points: {
|
|
11
|
+
readonly type: import("vue").PropType<readonly QuadrantPoint[]>;
|
|
12
|
+
readonly required: true;
|
|
13
|
+
};
|
|
14
|
+
xDomain: import("vue").PropType<[number, number]>;
|
|
15
|
+
yDomain: import("vue").PropType<[number, number]>;
|
|
16
|
+
xSplit: NumberConstructor;
|
|
17
|
+
ySplit: NumberConstructor;
|
|
18
|
+
quadrants: import("vue").PropType<import("./charts-canvas.js").QuadrantRegions>;
|
|
19
|
+
xLabel: StringConstructor;
|
|
20
|
+
yLabel: StringConstructor;
|
|
21
|
+
axisLabels: import("vue").PropType<import("./charts-canvas.js").QuadrantAxisLabels>;
|
|
22
|
+
showTicks: {
|
|
23
|
+
readonly type: BooleanConstructor;
|
|
24
|
+
readonly default: undefined;
|
|
25
|
+
};
|
|
26
|
+
reverseX: {
|
|
27
|
+
readonly type: BooleanConstructor;
|
|
28
|
+
readonly default: undefined;
|
|
29
|
+
};
|
|
30
|
+
showLabels: {
|
|
31
|
+
readonly type: BooleanConstructor;
|
|
32
|
+
readonly default: undefined;
|
|
33
|
+
};
|
|
34
|
+
pointSize: NumberConstructor;
|
|
35
|
+
name: StringConstructor;
|
|
36
|
+
draggable: {
|
|
37
|
+
readonly type: BooleanConstructor;
|
|
38
|
+
readonly default: undefined;
|
|
39
|
+
};
|
|
40
|
+
height: {
|
|
41
|
+
type: import("vue").PropType<number | string>;
|
|
42
|
+
default: number;
|
|
43
|
+
};
|
|
44
|
+
width: {
|
|
45
|
+
type: import("vue").PropType<number | string>;
|
|
46
|
+
default: string;
|
|
47
|
+
};
|
|
48
|
+
legend: {
|
|
49
|
+
type: import("vue").PropType<boolean | import("./charts-canvas.js").ChartLegendOptions>;
|
|
50
|
+
default: undefined;
|
|
51
|
+
};
|
|
52
|
+
tooltip: {
|
|
53
|
+
type: import("vue").PropType<boolean | import("./charts-canvas.js").ChartTooltipOptions>;
|
|
54
|
+
default: undefined;
|
|
55
|
+
};
|
|
56
|
+
crosshair: {
|
|
57
|
+
type: BooleanConstructor;
|
|
58
|
+
default: undefined;
|
|
59
|
+
};
|
|
60
|
+
annotations: import("vue").PropType<readonly import("./charts-canvas.js").ChartAnnotation[]>;
|
|
61
|
+
interaction: {
|
|
62
|
+
type: import("vue").PropType<boolean | import("./charts-canvas.js").ChartInteractionOptions>;
|
|
63
|
+
default: undefined;
|
|
64
|
+
};
|
|
65
|
+
padding: import("vue").PropType<import("./charts-canvas.js").ChartPadding>;
|
|
66
|
+
palette: import("vue").PropType<readonly string[]>;
|
|
67
|
+
ariaLabel: StringConstructor;
|
|
68
|
+
disableScroll: {
|
|
69
|
+
type: BooleanConstructor;
|
|
70
|
+
default: undefined;
|
|
71
|
+
};
|
|
72
|
+
}>, import("./chart-types.js").ChartHandle, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
73
|
+
zoom: (view: ChartView) => any;
|
|
74
|
+
hover: (event: ChartHoverEvent | null) => any;
|
|
75
|
+
pointClick: (point: QuadrantPoint, index: number) => any;
|
|
76
|
+
quadrantClick: (quadrant: keyof import("./charts-canvas.js").QuadrantRegions, position: {
|
|
77
|
+
x: number;
|
|
78
|
+
y: number;
|
|
79
|
+
}) => any;
|
|
80
|
+
pointDrop: (point: QuadrantPoint, index: number, target: QuadrantDropTarget) => any;
|
|
81
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
82
|
+
points: {
|
|
83
|
+
readonly type: import("vue").PropType<readonly QuadrantPoint[]>;
|
|
84
|
+
readonly required: true;
|
|
85
|
+
};
|
|
86
|
+
xDomain: import("vue").PropType<[number, number]>;
|
|
87
|
+
yDomain: import("vue").PropType<[number, number]>;
|
|
88
|
+
xSplit: NumberConstructor;
|
|
89
|
+
ySplit: NumberConstructor;
|
|
90
|
+
quadrants: import("vue").PropType<import("./charts-canvas.js").QuadrantRegions>;
|
|
91
|
+
xLabel: StringConstructor;
|
|
92
|
+
yLabel: StringConstructor;
|
|
93
|
+
axisLabels: import("vue").PropType<import("./charts-canvas.js").QuadrantAxisLabels>;
|
|
94
|
+
showTicks: {
|
|
95
|
+
readonly type: BooleanConstructor;
|
|
96
|
+
readonly default: undefined;
|
|
97
|
+
};
|
|
98
|
+
reverseX: {
|
|
99
|
+
readonly type: BooleanConstructor;
|
|
100
|
+
readonly default: undefined;
|
|
101
|
+
};
|
|
102
|
+
showLabels: {
|
|
103
|
+
readonly type: BooleanConstructor;
|
|
104
|
+
readonly default: undefined;
|
|
105
|
+
};
|
|
106
|
+
pointSize: NumberConstructor;
|
|
107
|
+
name: StringConstructor;
|
|
108
|
+
draggable: {
|
|
109
|
+
readonly type: BooleanConstructor;
|
|
110
|
+
readonly default: undefined;
|
|
111
|
+
};
|
|
112
|
+
height: {
|
|
113
|
+
type: import("vue").PropType<number | string>;
|
|
114
|
+
default: number;
|
|
115
|
+
};
|
|
116
|
+
width: {
|
|
117
|
+
type: import("vue").PropType<number | string>;
|
|
118
|
+
default: string;
|
|
119
|
+
};
|
|
120
|
+
legend: {
|
|
121
|
+
type: import("vue").PropType<boolean | import("./charts-canvas.js").ChartLegendOptions>;
|
|
122
|
+
default: undefined;
|
|
123
|
+
};
|
|
124
|
+
tooltip: {
|
|
125
|
+
type: import("vue").PropType<boolean | import("./charts-canvas.js").ChartTooltipOptions>;
|
|
126
|
+
default: undefined;
|
|
127
|
+
};
|
|
128
|
+
crosshair: {
|
|
129
|
+
type: BooleanConstructor;
|
|
130
|
+
default: undefined;
|
|
131
|
+
};
|
|
132
|
+
annotations: import("vue").PropType<readonly import("./charts-canvas.js").ChartAnnotation[]>;
|
|
133
|
+
interaction: {
|
|
134
|
+
type: import("vue").PropType<boolean | import("./charts-canvas.js").ChartInteractionOptions>;
|
|
135
|
+
default: undefined;
|
|
136
|
+
};
|
|
137
|
+
padding: import("vue").PropType<import("./charts-canvas.js").ChartPadding>;
|
|
138
|
+
palette: import("vue").PropType<readonly string[]>;
|
|
139
|
+
ariaLabel: StringConstructor;
|
|
140
|
+
disableScroll: {
|
|
141
|
+
type: BooleanConstructor;
|
|
142
|
+
default: undefined;
|
|
143
|
+
};
|
|
144
|
+
}>> & Readonly<{
|
|
145
|
+
onZoom?: ((view: ChartView) => any) | undefined;
|
|
146
|
+
onHover?: ((event: ChartHoverEvent | null) => any) | undefined;
|
|
147
|
+
onPointClick?: ((point: QuadrantPoint, index: number) => any) | undefined;
|
|
148
|
+
onQuadrantClick?: ((quadrant: keyof import("./charts-canvas.js").QuadrantRegions, position: {
|
|
149
|
+
x: number;
|
|
150
|
+
y: number;
|
|
151
|
+
}) => any) | undefined;
|
|
152
|
+
onPointDrop?: ((point: QuadrantPoint, index: number, target: QuadrantDropTarget) => any) | undefined;
|
|
153
|
+
}>, {
|
|
154
|
+
legend: boolean | import("./charts-canvas.js").ChartLegendOptions;
|
|
155
|
+
width: string | number;
|
|
156
|
+
height: string | number;
|
|
157
|
+
showLabels: boolean;
|
|
158
|
+
tooltip: boolean | import("./charts-canvas.js").ChartTooltipOptions;
|
|
159
|
+
crosshair: boolean;
|
|
160
|
+
interaction: boolean | import("./charts-canvas.js").ChartInteractionOptions;
|
|
161
|
+
disableScroll: boolean;
|
|
162
|
+
showTicks: boolean;
|
|
163
|
+
reverseX: boolean;
|
|
164
|
+
draggable: boolean;
|
|
165
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
166
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
167
|
+
declare const _default: typeof __VLS_export;
|
|
168
|
+
export default _default;
|
|
169
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
170
|
+
new (): {
|
|
171
|
+
$slots: S;
|
|
172
|
+
};
|
|
173
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { computed } from "vue";
|
|
3
|
+
import {
|
|
4
|
+
scatterSeries,
|
|
5
|
+
type ChartHoverEvent,
|
|
6
|
+
type ChartPlotClickEvent,
|
|
7
|
+
type ChartView,
|
|
8
|
+
} from "./charts-canvas.js";
|
|
9
|
+
import {
|
|
10
|
+
chartAxisProps,
|
|
11
|
+
chartCommonProps,
|
|
12
|
+
chartSeriesProps,
|
|
13
|
+
} from "./chart-types.js";
|
|
14
|
+
import {
|
|
15
|
+
chartEngineOptions,
|
|
16
|
+
plainSeries,
|
|
17
|
+
useCanvasChart,
|
|
18
|
+
} from "./chart-canvas.js";
|
|
19
|
+
const props = defineProps({
|
|
20
|
+
...chartCommonProps,
|
|
21
|
+
...chartAxisProps,
|
|
22
|
+
...chartSeriesProps,
|
|
23
|
+
});
|
|
24
|
+
const emit = defineEmits<{
|
|
25
|
+
hover: [event: ChartHoverEvent | null];
|
|
26
|
+
pointClick: [event: ChartHoverEvent];
|
|
27
|
+
plotClick: [event: ChartPlotClickEvent];
|
|
28
|
+
zoom: [view: ChartView];
|
|
29
|
+
}>();
|
|
30
|
+
const {
|
|
31
|
+
id,
|
|
32
|
+
root,
|
|
33
|
+
rootStyle,
|
|
34
|
+
handle,
|
|
35
|
+
onTouchStart,
|
|
36
|
+
onTouchMove,
|
|
37
|
+
onTouchEnd,
|
|
38
|
+
onTouchCancel,
|
|
39
|
+
} = useCanvasChart(
|
|
40
|
+
() => props,
|
|
41
|
+
() => chartEngineOptions(props, scatterSeries(plainSeries(props.series))),
|
|
42
|
+
{
|
|
43
|
+
hover: (event) => emit("hover", event),
|
|
44
|
+
click: (event) => emit("pointClick", event),
|
|
45
|
+
plotClick: (event) => emit("plotClick", event),
|
|
46
|
+
zoom: (view) => emit("zoom", view),
|
|
47
|
+
},
|
|
48
|
+
);
|
|
49
|
+
const scrollLocked = computed(() => props.disableScroll ?? false);
|
|
50
|
+
defineExpose(handle);
|
|
51
|
+
</script>
|
|
52
|
+
<template>
|
|
53
|
+
<view ref="root" class="mn-chart mn-uni-chart" :style="rootStyle"
|
|
54
|
+
><canvas
|
|
55
|
+
:id="id"
|
|
56
|
+
type="2d"
|
|
57
|
+
:canvas-id="id"
|
|
58
|
+
class="mn-chart-canvas"
|
|
59
|
+
:hidpi="false"
|
|
60
|
+
:disable-scroll="scrollLocked"
|
|
61
|
+
role="img"
|
|
62
|
+
:aria-label="props.ariaLabel"
|
|
63
|
+
style="display: block; width: 100%; height: 100%"
|
|
64
|
+
@touchstart="onTouchStart"
|
|
65
|
+
@touchmove="onTouchMove"
|
|
66
|
+
@touchend="onTouchEnd"
|
|
67
|
+
@touchcancel="onTouchCancel"
|
|
68
|
+
/></view>
|
|
69
|
+
</template>
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { type ChartHoverEvent, type ChartPlotClickEvent, type ChartView } from "./charts-canvas.js";
|
|
2
|
+
declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
3
|
+
series: {
|
|
4
|
+
readonly type: import("vue").PropType<readonly import("./charts-canvas.js").ChartSeries[]>;
|
|
5
|
+
readonly required: true;
|
|
6
|
+
};
|
|
7
|
+
xAxis: import("vue").PropType<import("./charts-canvas.js").ChartAxisOptions>;
|
|
8
|
+
yAxis: import("vue").PropType<import("./charts-canvas.js").ChartAxisOptions>;
|
|
9
|
+
height: {
|
|
10
|
+
type: import("vue").PropType<number | string>;
|
|
11
|
+
default: number;
|
|
12
|
+
};
|
|
13
|
+
width: {
|
|
14
|
+
type: import("vue").PropType<number | string>;
|
|
15
|
+
default: string;
|
|
16
|
+
};
|
|
17
|
+
legend: {
|
|
18
|
+
type: import("vue").PropType<boolean | import("./charts-canvas.js").ChartLegendOptions>;
|
|
19
|
+
default: undefined;
|
|
20
|
+
};
|
|
21
|
+
tooltip: {
|
|
22
|
+
type: import("vue").PropType<boolean | import("./charts-canvas.js").ChartTooltipOptions>;
|
|
23
|
+
default: undefined;
|
|
24
|
+
};
|
|
25
|
+
crosshair: {
|
|
26
|
+
type: BooleanConstructor;
|
|
27
|
+
default: undefined;
|
|
28
|
+
};
|
|
29
|
+
annotations: import("vue").PropType<readonly import("./charts-canvas.js").ChartAnnotation[]>;
|
|
30
|
+
interaction: {
|
|
31
|
+
type: import("vue").PropType<boolean | import("./charts-canvas.js").ChartInteractionOptions>;
|
|
32
|
+
default: undefined;
|
|
33
|
+
};
|
|
34
|
+
padding: import("vue").PropType<import("./charts-canvas.js").ChartPadding>;
|
|
35
|
+
palette: import("vue").PropType<readonly string[]>;
|
|
36
|
+
ariaLabel: StringConstructor;
|
|
37
|
+
disableScroll: {
|
|
38
|
+
type: BooleanConstructor;
|
|
39
|
+
default: undefined;
|
|
40
|
+
};
|
|
41
|
+
}>, import("./chart-types.js").ChartHandle, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
42
|
+
zoom: (view: ChartView) => any;
|
|
43
|
+
hover: (event: ChartHoverEvent | null) => any;
|
|
44
|
+
plotClick: (event: ChartPlotClickEvent) => any;
|
|
45
|
+
pointClick: (event: ChartHoverEvent) => any;
|
|
46
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
47
|
+
series: {
|
|
48
|
+
readonly type: import("vue").PropType<readonly import("./charts-canvas.js").ChartSeries[]>;
|
|
49
|
+
readonly required: true;
|
|
50
|
+
};
|
|
51
|
+
xAxis: import("vue").PropType<import("./charts-canvas.js").ChartAxisOptions>;
|
|
52
|
+
yAxis: import("vue").PropType<import("./charts-canvas.js").ChartAxisOptions>;
|
|
53
|
+
height: {
|
|
54
|
+
type: import("vue").PropType<number | string>;
|
|
55
|
+
default: number;
|
|
56
|
+
};
|
|
57
|
+
width: {
|
|
58
|
+
type: import("vue").PropType<number | string>;
|
|
59
|
+
default: string;
|
|
60
|
+
};
|
|
61
|
+
legend: {
|
|
62
|
+
type: import("vue").PropType<boolean | import("./charts-canvas.js").ChartLegendOptions>;
|
|
63
|
+
default: undefined;
|
|
64
|
+
};
|
|
65
|
+
tooltip: {
|
|
66
|
+
type: import("vue").PropType<boolean | import("./charts-canvas.js").ChartTooltipOptions>;
|
|
67
|
+
default: undefined;
|
|
68
|
+
};
|
|
69
|
+
crosshair: {
|
|
70
|
+
type: BooleanConstructor;
|
|
71
|
+
default: undefined;
|
|
72
|
+
};
|
|
73
|
+
annotations: import("vue").PropType<readonly import("./charts-canvas.js").ChartAnnotation[]>;
|
|
74
|
+
interaction: {
|
|
75
|
+
type: import("vue").PropType<boolean | import("./charts-canvas.js").ChartInteractionOptions>;
|
|
76
|
+
default: undefined;
|
|
77
|
+
};
|
|
78
|
+
padding: import("vue").PropType<import("./charts-canvas.js").ChartPadding>;
|
|
79
|
+
palette: import("vue").PropType<readonly string[]>;
|
|
80
|
+
ariaLabel: StringConstructor;
|
|
81
|
+
disableScroll: {
|
|
82
|
+
type: BooleanConstructor;
|
|
83
|
+
default: undefined;
|
|
84
|
+
};
|
|
85
|
+
}>> & Readonly<{
|
|
86
|
+
onZoom?: ((view: ChartView) => any) | undefined;
|
|
87
|
+
onHover?: ((event: ChartHoverEvent | null) => any) | undefined;
|
|
88
|
+
onPlotClick?: ((event: ChartPlotClickEvent) => any) | undefined;
|
|
89
|
+
onPointClick?: ((event: ChartHoverEvent) => any) | undefined;
|
|
90
|
+
}>, {
|
|
91
|
+
legend: boolean | import("./charts-canvas.js").ChartLegendOptions;
|
|
92
|
+
width: string | number;
|
|
93
|
+
height: string | number;
|
|
94
|
+
tooltip: boolean | import("./charts-canvas.js").ChartTooltipOptions;
|
|
95
|
+
crosshair: boolean;
|
|
96
|
+
interaction: boolean | import("./charts-canvas.js").ChartInteractionOptions;
|
|
97
|
+
disableScroll: boolean;
|
|
98
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
99
|
+
declare const _default: typeof __VLS_export;
|
|
100
|
+
export default _default;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { type ComputedRef } from "vue";
|
|
2
|
+
import { type DesignOptions, type Palette } from "../core/index.js";
|
|
3
|
+
import { type ChartAnnotation, type ChartAxisOptions, type ChartControllerEventMap, type ChartInteractionOptions, type ChartLegendOptions, type ChartOptions, type ChartPadding, type ChartRect, type ChartSeries, type ChartTooltipOptions } from "./charts-canvas.js";
|
|
4
|
+
import type { ChartHandle } from "./chart-types.js";
|
|
5
|
+
interface ChartConfiguration {
|
|
6
|
+
mode?: string;
|
|
7
|
+
theme?: unknown;
|
|
8
|
+
palette?: Palette | null;
|
|
9
|
+
design?: DesignOptions;
|
|
10
|
+
}
|
|
11
|
+
/** Minerva token values (`--name` keys) of the provider configuration */
|
|
12
|
+
export declare function chartThemeVariables(config?: ChartConfiguration | null): Readonly<Record<string, string>>;
|
|
13
|
+
/**
|
|
14
|
+
* Raw copy of a small option value: reading it through the props tracks
|
|
15
|
+
* nested changes, and the engine receives plain objects (functions and
|
|
16
|
+
* typed arrays are kept as is).
|
|
17
|
+
*/
|
|
18
|
+
export declare function plain<T>(value: T): T;
|
|
19
|
+
/**
|
|
20
|
+
* Series with their `data` untouched (never traversed: large data sets stay
|
|
21
|
+
* cheap, and the engine keeps its cache while the array is the same).
|
|
22
|
+
*/
|
|
23
|
+
export declare function plainSeries(series: readonly ChartSeries[] | undefined): ChartSeries[];
|
|
24
|
+
/** Option props shared by the chart components */
|
|
25
|
+
export interface ChartOptionProps {
|
|
26
|
+
xAxis?: ChartAxisOptions;
|
|
27
|
+
yAxis?: ChartAxisOptions;
|
|
28
|
+
legend?: boolean | ChartLegendOptions;
|
|
29
|
+
tooltip?: boolean | ChartTooltipOptions;
|
|
30
|
+
crosshair?: boolean;
|
|
31
|
+
annotations?: readonly ChartAnnotation[];
|
|
32
|
+
interaction?: boolean | ChartInteractionOptions;
|
|
33
|
+
padding?: ChartPadding;
|
|
34
|
+
palette?: readonly string[];
|
|
35
|
+
ariaLabel?: string;
|
|
36
|
+
}
|
|
37
|
+
/** Engine options of the props (like `engineOptions` of the web charts) */
|
|
38
|
+
export declare function chartEngineOptions(props: ChartOptionProps, series: readonly ChartSeries[]): ChartOptions;
|
|
39
|
+
export interface CanvasChartFrame {
|
|
40
|
+
width?: number | string;
|
|
41
|
+
height?: number | string;
|
|
42
|
+
}
|
|
43
|
+
export type CanvasChartListeners = {
|
|
44
|
+
[K in "hover" | "click" | "plotClick" | "zoom" | "drop"]?: (event: ChartControllerEventMap[K]) => void;
|
|
45
|
+
};
|
|
46
|
+
interface TouchLike {
|
|
47
|
+
x?: number;
|
|
48
|
+
y?: number;
|
|
49
|
+
clientX?: number;
|
|
50
|
+
clientY?: number;
|
|
51
|
+
identifier?: number;
|
|
52
|
+
}
|
|
53
|
+
interface TouchEventLike {
|
|
54
|
+
touches?: ArrayLike<TouchLike>;
|
|
55
|
+
changedTouches?: ArrayLike<TouchLike>;
|
|
56
|
+
}
|
|
57
|
+
export declare function useCanvasChart(frame: () => CanvasChartFrame, options: () => ChartOptions, listeners: CanvasChartListeners): {
|
|
58
|
+
id: string;
|
|
59
|
+
root: import("vue").Ref<unknown, unknown>;
|
|
60
|
+
plot: import("vue").ShallowRef<ChartRect | null, ChartRect | null>;
|
|
61
|
+
rootStyle: ComputedRef<string>;
|
|
62
|
+
handle: ChartHandle;
|
|
63
|
+
onTouchStart: (event: TouchEventLike) => void;
|
|
64
|
+
onTouchMove: (event: TouchEventLike) => void;
|
|
65
|
+
onTouchEnd: (event: TouchEventLike) => void;
|
|
66
|
+
onTouchCancel: (event: TouchEventLike) => void;
|
|
67
|
+
};
|
|
68
|
+
export {};
|