layerchart 2.0.0-next.0 → 2.0.0-next.10
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/dist/actions/movable.d.ts +28 -0
- package/dist/actions/movable.js +91 -0
- package/dist/components/AnnotationLine.svelte +143 -0
- package/dist/components/AnnotationLine.svelte.d.ts +30 -0
- package/dist/components/AnnotationPoint.svelte +119 -0
- package/dist/components/AnnotationPoint.svelte.d.ts +34 -0
- package/dist/components/AnnotationRange.svelte +147 -0
- package/dist/components/AnnotationRange.svelte.d.ts +40 -0
- package/dist/components/Arc.svelte +344 -151
- package/dist/components/Arc.svelte.d.ts +138 -0
- package/dist/components/Area.svelte +165 -149
- package/dist/components/Area.svelte.d.ts +45 -0
- package/dist/components/Axis.svelte +320 -179
- package/dist/components/Axis.svelte.d.ts +127 -0
- package/dist/components/Bar.svelte +166 -107
- package/dist/components/Bar.svelte.d.ts +51 -0
- package/dist/components/Bars.svelte +56 -67
- package/dist/components/Bars.svelte.d.ts +27 -0
- package/dist/components/Blur.svelte +42 -12
- package/dist/components/Blur.svelte.d.ts +23 -21
- package/dist/components/Bounds.svelte +49 -19
- package/dist/components/Bounds.svelte.d.ts +24 -50
- package/dist/components/BrushContext.svelte +296 -168
- package/dist/components/BrushContext.svelte.d.ts +97 -65
- package/dist/components/Calendar.svelte +116 -59
- package/dist/components/Calendar.svelte.d.ts +50 -31
- package/dist/components/Chart.svelte +1289 -398
- package/dist/components/Chart.svelte.d.ts +535 -410
- package/dist/components/ChartClipPath.svelte +37 -15
- package/dist/components/ChartClipPath.svelte.d.ts +21 -19
- package/dist/components/Circle.svelte +124 -85
- package/dist/components/Circle.svelte.d.ts +52 -0
- package/dist/components/CircleClipPath.svelte +76 -16
- package/dist/components/CircleClipPath.svelte.d.ts +46 -0
- package/dist/components/ClipPath.svelte +71 -21
- package/dist/components/ClipPath.svelte.d.ts +40 -27
- package/dist/components/ColorRamp.svelte +75 -9
- package/dist/components/ColorRamp.svelte.d.ts +37 -19
- package/dist/components/ComputedStyles.svelte +17 -5
- package/dist/components/ComputedStyles.svelte.d.ts +11 -19
- package/dist/components/Connector.svelte +149 -0
- package/dist/components/Connector.svelte.d.ts +51 -0
- package/dist/components/Dagre.svelte +211 -122
- package/dist/components/Dagre.svelte.d.ts +119 -56
- package/dist/components/ForceSimulation.svelte +215 -90
- package/dist/components/ForceSimulation.svelte.d.ts +82 -35
- package/dist/components/Frame.svelte +33 -13
- package/dist/components/Frame.svelte.d.ts +13 -17
- package/dist/components/GeoCircle.svelte +29 -16
- package/dist/components/GeoCircle.svelte.d.ts +22 -24
- package/dist/components/GeoContext.svelte +113 -72
- package/dist/components/GeoContext.svelte.d.ts +49 -41
- package/dist/components/GeoEdgeFade.svelte +49 -13
- package/dist/components/GeoEdgeFade.svelte.d.ts +17 -19
- package/dist/components/GeoPath.svelte +157 -127
- package/dist/components/GeoPath.svelte.d.ts +48 -36
- package/dist/components/GeoPoint.svelte +52 -20
- package/dist/components/GeoPoint.svelte.d.ts +25 -22
- package/dist/components/GeoSpline.svelte +75 -26
- package/dist/components/GeoSpline.svelte.d.ts +29 -20
- package/dist/components/GeoTile.svelte +100 -49
- package/dist/components/GeoTile.svelte.d.ts +38 -23
- package/dist/components/GeoVisible.svelte +17 -9
- package/dist/components/GeoVisible.svelte.d.ts +10 -18
- package/dist/components/Graticule.svelte +30 -14
- package/dist/components/Graticule.svelte.d.ts +11 -52
- package/dist/components/Grid.svelte +230 -117
- package/dist/components/Grid.svelte.d.ts +71 -0
- package/dist/components/Group.svelte +173 -106
- package/dist/components/Group.svelte.d.ts +81 -0
- package/dist/components/Highlight.svelte +410 -308
- package/dist/components/Highlight.svelte.d.ts +107 -0
- package/dist/components/Hull.svelte +97 -46
- package/dist/components/Hull.svelte.d.ts +40 -30
- package/dist/components/Labels.svelte +127 -47
- package/dist/components/Labels.svelte.d.ts +70 -27
- package/dist/components/Legend.svelte +374 -190
- package/dist/components/Legend.svelte.d.ts +95 -44
- package/dist/components/Line.svelte +163 -125
- package/dist/components/Line.svelte.d.ts +75 -0
- package/dist/components/LinearGradient.svelte +153 -78
- package/dist/components/LinearGradient.svelte.d.ts +66 -31
- package/dist/components/Link.svelte +160 -104
- package/dist/components/Link.svelte.d.ts +54 -0
- package/dist/components/Marker.svelte +100 -39
- package/dist/components/Marker.svelte.d.ts +59 -27
- package/dist/components/MarkerWrapper.svelte +35 -0
- package/dist/components/MarkerWrapper.svelte.d.ts +18 -0
- package/dist/components/MonthPath.svelte +65 -20
- package/dist/components/MonthPath.svelte.d.ts +23 -17
- package/dist/components/MotionPath.svelte +80 -24
- package/dist/components/MotionPath.svelte.d.ts +46 -27
- package/dist/components/Pack.svelte +53 -17
- package/dist/components/Pack.svelte.d.ts +42 -21
- package/dist/components/Partition.svelte +64 -22
- package/dist/components/Partition.svelte.d.ts +49 -26
- package/dist/components/Pattern.svelte +297 -11
- package/dist/components/Pattern.svelte.d.ts +103 -19
- package/dist/components/Pie.svelte +122 -76
- package/dist/components/Pie.svelte.d.ts +65 -51
- package/dist/components/Point.svelte +20 -9
- package/dist/components/Point.svelte.d.ts +16 -20
- package/dist/components/Points.svelte +148 -137
- package/dist/components/Points.svelte.d.ts +45 -34
- package/dist/components/RadialGradient.svelte +148 -77
- package/dist/components/RadialGradient.svelte.d.ts +69 -31
- package/dist/components/Rect.svelte +121 -102
- package/dist/components/Rect.svelte.d.ts +36 -0
- package/dist/components/RectClipPath.svelte +82 -18
- package/dist/components/RectClipPath.svelte.d.ts +55 -0
- package/dist/components/Rule.svelte +107 -63
- package/dist/components/Rule.svelte.d.ts +40 -19
- package/dist/components/Sankey.svelte +132 -55
- package/dist/components/Sankey.svelte.d.ts +61 -31
- package/dist/components/Spline.svelte +281 -218
- package/dist/components/Spline.svelte.d.ts +95 -0
- package/dist/components/Text.svelte +463 -197
- package/dist/components/Text.svelte.d.ts +136 -0
- package/dist/components/Threshold.svelte +48 -16
- package/dist/components/Threshold.svelte.d.ts +29 -31
- package/dist/components/TileImage.svelte +103 -30
- package/dist/components/TileImage.svelte.d.ts +48 -23
- package/dist/components/TransformContext.svelte +365 -171
- package/dist/components/TransformControls.svelte +50 -26
- package/dist/components/TransformControls.svelte.d.ts +27 -19
- package/dist/components/Tree.svelte +74 -33
- package/dist/components/Tree.svelte.d.ts +42 -30
- package/dist/components/Treemap.svelte +119 -42
- package/dist/components/Treemap.svelte.d.ts +75 -27
- package/dist/components/Voronoi.svelte +153 -103
- package/dist/components/Voronoi.svelte.d.ts +42 -41
- package/dist/components/charts/ArcChart.svelte +464 -0
- package/dist/components/charts/ArcChart.svelte.d.ts +90 -0
- package/dist/components/charts/AreaChart.svelte +444 -393
- package/dist/components/charts/AreaChart.svelte.d.ts +61 -0
- package/dist/components/charts/BarChart.svelte +463 -389
- package/dist/components/charts/BarChart.svelte.d.ts +76 -0
- package/dist/components/charts/ChartAnnotations.svelte +37 -0
- package/dist/components/charts/ChartAnnotations.svelte.d.ts +10 -0
- package/dist/components/charts/DefaultTooltip.svelte +60 -0
- package/dist/components/charts/DefaultTooltip.svelte.d.ts +10 -0
- package/dist/components/charts/LineChart.svelte +366 -315
- package/dist/components/charts/LineChart.svelte.d.ts +53 -0
- package/dist/components/charts/PieChart.svelte +458 -316
- package/dist/components/charts/PieChart.svelte.d.ts +137 -353
- package/dist/components/charts/ScatterChart.svelte +332 -296
- package/dist/components/charts/ScatterChart.svelte.d.ts +39 -0
- package/dist/components/charts/index.d.ts +8 -0
- package/dist/components/charts/index.js +7 -0
- package/dist/components/charts/types.d.ts +253 -0
- package/dist/components/charts/utils.svelte.d.ts +30 -0
- package/dist/components/charts/utils.svelte.js +59 -0
- package/dist/components/index.d.ts +76 -4
- package/dist/components/index.js +76 -5
- package/dist/components/layout/Canvas.svelte +347 -171
- package/dist/components/layout/Canvas.svelte.d.ts +110 -55
- package/dist/components/layout/Html.svelte +82 -42
- package/dist/components/layout/Html.svelte.d.ts +39 -28
- package/dist/components/layout/Layer.svelte +39 -0
- package/dist/components/layout/Layer.svelte.d.ts +17 -0
- package/dist/components/layout/Svg.svelte +122 -70
- package/dist/components/layout/Svg.svelte.d.ts +53 -34
- package/dist/components/layout/WebGL.svelte +135 -0
- package/dist/components/layout/WebGL.svelte.d.ts +50 -0
- package/dist/components/tooltip/Tooltip.svelte +253 -78
- package/dist/components/tooltip/Tooltip.svelte.d.ts +149 -31
- package/dist/components/tooltip/TooltipContext.svelte +426 -271
- package/dist/components/tooltip/TooltipContext.svelte.d.ts +86 -55
- package/dist/components/tooltip/TooltipHeader.svelte +100 -11
- package/dist/components/tooltip/TooltipHeader.svelte.d.ts +43 -23
- package/dist/components/tooltip/TooltipItem.svelte +167 -27
- package/dist/components/tooltip/TooltipItem.svelte.d.ts +63 -31
- package/dist/components/tooltip/TooltipList.svelte +22 -3
- package/dist/components/tooltip/TooltipList.svelte.d.ts +6 -17
- package/dist/components/tooltip/TooltipSeparator.svelte +27 -1
- package/dist/components/tooltip/TooltipSeparator.svelte.d.ts +6 -15
- package/dist/components/tooltip/index.d.ts +6 -0
- package/dist/components/tooltip/index.js +6 -0
- package/dist/components/tooltip/tooltipMetaContext.d.ts +79 -0
- package/dist/components/tooltip/tooltipMetaContext.js +139 -0
- package/dist/components/types.d.ts +1 -0
- package/dist/components/types.js +1 -0
- package/dist/docs/Blockquote.svelte +3 -1
- package/dist/docs/Blockquote.svelte.d.ts +5 -16
- package/dist/docs/Code.svelte +20 -12
- package/dist/docs/Code.svelte.d.ts +12 -22
- package/dist/docs/ConnectorSweepMenuField.svelte +17 -0
- package/dist/docs/ConnectorSweepMenuField.svelte.d.ts +7 -0
- package/dist/docs/ConnectorTypeMenuField.svelte +17 -0
- package/dist/docs/ConnectorTypeMenuField.svelte.d.ts +7 -0
- package/dist/docs/CurveMenuField.svelte +14 -3
- package/dist/docs/CurveMenuField.svelte.d.ts +9 -18
- package/dist/docs/GeoDebug.svelte +47 -42
- package/dist/docs/GeoDebug.svelte.d.ts +4 -16
- package/dist/docs/Header1.svelte +4 -2
- package/dist/docs/Header1.svelte.d.ts +5 -18
- package/dist/docs/Json.svelte +11 -3
- package/dist/docs/Json.svelte.d.ts +9 -17
- package/dist/docs/Layout.svelte +10 -7
- package/dist/docs/Layout.svelte.d.ts +5 -15
- package/dist/docs/Link.svelte +7 -3
- package/dist/docs/Link.svelte.d.ts +5 -27
- package/dist/docs/PathDataMenuField.svelte +14 -10
- package/dist/docs/PathDataMenuField.svelte.d.ts +8 -18
- package/dist/docs/Preview.svelte +20 -7
- package/dist/docs/Preview.svelte.d.ts +12 -22
- package/dist/docs/TilesetField.svelte +20 -19
- package/dist/docs/TilesetField.svelte.d.ts +6 -19
- package/dist/docs/TransformDebug.svelte +5 -6
- package/dist/docs/TransformDebug.svelte.d.ts +18 -14
- package/dist/docs/ViewSourceButton.svelte +7 -4
- package/dist/docs/ViewSourceButton.svelte.d.ts +8 -18
- package/dist/types/d3-shape-extentions.d.ts +7 -0
- package/dist/utils/afterTick.d.ts +5 -0
- package/dist/utils/afterTick.js +8 -0
- package/dist/utils/arcText.svelte.d.ts +57 -0
- package/dist/utils/arcText.svelte.js +262 -0
- package/dist/utils/array.d.ts +9 -1
- package/dist/utils/array.js +13 -0
- package/dist/utils/attributes.d.ts +29 -0
- package/dist/utils/attributes.js +40 -0
- package/dist/utils/canvas.js +47 -10
- package/dist/utils/chart.d.ts +78 -0
- package/dist/utils/chart.js +512 -0
- package/dist/utils/color.d.ts +1 -0
- package/dist/utils/color.js +8 -0
- package/dist/utils/common.d.ts +3 -5
- package/dist/utils/common.js +3 -2
- package/dist/utils/connectorUtils.d.ts +21 -0
- package/dist/utils/connectorUtils.js +111 -0
- package/dist/utils/createId.d.ts +7 -0
- package/dist/utils/createId.js +9 -0
- package/dist/utils/debug.d.ts +1 -0
- package/dist/utils/debug.js +84 -0
- package/dist/utils/filterObject.d.ts +9 -0
- package/dist/utils/filterObject.js +12 -0
- package/dist/utils/graph/dagre.d.ts +34 -0
- package/dist/utils/graph/dagre.js +78 -0
- package/dist/utils/graph/dagre.test.d.ts +1 -0
- package/dist/utils/{graph.test.js → graph/dagre.test.js} +19 -33
- package/dist/utils/graph/sankey.d.ts +28 -0
- package/dist/utils/{graph.js → graph/sankey.js} +13 -41
- package/dist/utils/index.d.ts +3 -1
- package/dist/utils/index.js +3 -1
- package/dist/utils/key.svelte.d.ts +3 -0
- package/dist/utils/key.svelte.js +11 -0
- package/dist/utils/legendPayload.d.ts +7 -0
- package/dist/utils/legendPayload.js +8 -0
- package/dist/utils/motion.svelte.d.ts +140 -0
- package/dist/utils/motion.svelte.js +180 -0
- package/dist/utils/motion.test.d.ts +1 -0
- package/dist/utils/motion.test.js +213 -0
- package/dist/utils/{rect.d.ts → rect.svelte.d.ts} +7 -4
- package/dist/utils/rect.svelte.js +105 -0
- package/dist/utils/scales.svelte.d.ts +91 -0
- package/dist/utils/scales.svelte.js +201 -0
- package/dist/utils/stack.d.ts +2 -3
- package/dist/utils/stack.js +1 -1
- package/dist/utils/string.js +87 -0
- package/dist/utils/ticks.d.ts +9 -3
- package/dist/utils/ticks.js +122 -147
- package/dist/utils/ticks.test.d.ts +1 -0
- package/dist/utils/ticks.test.js +57 -0
- package/dist/utils/types.d.ts +81 -0
- package/package.json +30 -28
- package/dist/components/ChartContext.svelte +0 -295
- package/dist/components/ChartContext.svelte.d.ts +0 -139
- package/dist/components/TransformContext.svelte.d.ts +0 -158
- package/dist/stores/motionStore.d.ts +0 -30
- package/dist/stores/motionStore.js +0 -62
- package/dist/utils/graph.d.ts +0 -37
- package/dist/utils/rect.js +0 -107
- package/dist/utils/scales.d.ts +0 -66
- package/dist/utils/scales.js +0 -136
- /package/dist/{utils/graph.test.d.ts → components/charts/types.js} +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Action } from 'svelte/action';
|
|
2
|
+
type MovableOptions = {
|
|
3
|
+
/**
|
|
4
|
+
* Number of pixels to step
|
|
5
|
+
*/
|
|
6
|
+
step?: number;
|
|
7
|
+
/**
|
|
8
|
+
* Percentage of parent element's pixels to step
|
|
9
|
+
*/
|
|
10
|
+
stepPercent?: number;
|
|
11
|
+
axis?: 'x' | 'y' | 'xy';
|
|
12
|
+
onMoveStart?: (event: CustomEvent<{
|
|
13
|
+
x: number;
|
|
14
|
+
y: number;
|
|
15
|
+
}>) => void;
|
|
16
|
+
onMove?: (event: CustomEvent<{
|
|
17
|
+
x: number;
|
|
18
|
+
y: number;
|
|
19
|
+
dx: number;
|
|
20
|
+
dy: number;
|
|
21
|
+
}>) => void;
|
|
22
|
+
onMoveEnd?: (event: CustomEvent<{
|
|
23
|
+
x: number;
|
|
24
|
+
y: number;
|
|
25
|
+
}>) => void;
|
|
26
|
+
};
|
|
27
|
+
export declare const movable: Action<HTMLElement | SVGElement, MovableOptions | undefined>;
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
export const movable = (node, options = {}) => {
|
|
2
|
+
let lastX = 0;
|
|
3
|
+
let lastY = 0;
|
|
4
|
+
let moved = false;
|
|
5
|
+
function onMouseDown(event) {
|
|
6
|
+
lastX = event.clientX;
|
|
7
|
+
lastY = event.clientY;
|
|
8
|
+
moved = false;
|
|
9
|
+
options?.onMoveStart?.(new CustomEvent('movestart', { detail: { x: lastX, y: lastY } }));
|
|
10
|
+
window.addEventListener('mousemove', onMouseMove);
|
|
11
|
+
window.addEventListener('mouseup', onMouseUp);
|
|
12
|
+
}
|
|
13
|
+
node.addEventListener('mousedown', onMouseDown);
|
|
14
|
+
function onMouseMove(event) {
|
|
15
|
+
moved = true;
|
|
16
|
+
// TODO: Handle page scroll? clientX/Y is based on viewport (apply to parent?)
|
|
17
|
+
let dx = event.clientX - lastX;
|
|
18
|
+
let dy = event.clientY - lastY;
|
|
19
|
+
const xEnabled = options?.axis?.includes('x') ?? true;
|
|
20
|
+
const yEnabled = options?.axis?.includes('y') ?? true;
|
|
21
|
+
if (options.step) {
|
|
22
|
+
if (Math.abs(dx) >= options.step) {
|
|
23
|
+
const overStep = dx % options.step;
|
|
24
|
+
dx = dx - overStep;
|
|
25
|
+
lastX = event.clientX - overStep;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
dx = 0;
|
|
29
|
+
}
|
|
30
|
+
if (Math.abs(dy) >= options.step) {
|
|
31
|
+
const overStep = dy % options.step;
|
|
32
|
+
dy = dy - overStep;
|
|
33
|
+
lastY = event.clientY - overStep;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
dy = 0;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else if (options.stepPercent) {
|
|
40
|
+
const parentWidth = node.parentElement?.offsetWidth ?? 0;
|
|
41
|
+
const parentHeight = node.parentElement?.offsetHeight ?? 0;
|
|
42
|
+
if (Math.abs(dx / parentWidth) >= options.stepPercent) {
|
|
43
|
+
const overStep = dx % (parentWidth * options.stepPercent);
|
|
44
|
+
dx = dx - overStep;
|
|
45
|
+
lastX = event.clientX - overStep;
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
dx = 0;
|
|
49
|
+
}
|
|
50
|
+
if (Math.abs(dy / parentHeight) >= options.stepPercent) {
|
|
51
|
+
const overStep = dy % (parentHeight * options.stepPercent);
|
|
52
|
+
dy = dy - overStep;
|
|
53
|
+
lastY = event.clientY - overStep;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
dy = 0;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
lastX = event.clientX;
|
|
61
|
+
lastY = event.clientY;
|
|
62
|
+
}
|
|
63
|
+
if ((xEnabled && dx) || (yEnabled && dy)) {
|
|
64
|
+
options.onMove?.(new CustomEvent('move', {
|
|
65
|
+
detail: { x: lastX, y: lastX, dx: xEnabled ? dx : 0, dy: yEnabled ? dy : 0 },
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
// Not enough change
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
function onMouseUp(event) {
|
|
73
|
+
lastX = event.clientX;
|
|
74
|
+
lastY = event.clientY;
|
|
75
|
+
options.onMoveEnd?.(new CustomEvent('moveend', { detail: { x: lastX, y: lastY } }));
|
|
76
|
+
window.removeEventListener('mousemove', onMouseMove);
|
|
77
|
+
window.removeEventListener('mouseup', onMouseUp);
|
|
78
|
+
}
|
|
79
|
+
function onClick(event) {
|
|
80
|
+
if (moved) {
|
|
81
|
+
event.stopImmediatePropagation();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
node.addEventListener('click', onClick);
|
|
85
|
+
return {
|
|
86
|
+
destroy() {
|
|
87
|
+
node.removeEventListener('mousedown', onMouseDown);
|
|
88
|
+
node.removeEventListener('click', onClick);
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
};
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import type { ComponentProps } from 'svelte';
|
|
3
|
+
import type { SVGAttributes } from 'svelte/elements';
|
|
4
|
+
import type { CommonStyleProps, Without } from '../utils/types.js';
|
|
5
|
+
import type { SingleDomainType } from '../utils/scales.svelte.js';
|
|
6
|
+
|
|
7
|
+
export type AnnotationLinePropsWithoutHTML = {
|
|
8
|
+
/** x value of the point */
|
|
9
|
+
x?: SingleDomainType;
|
|
10
|
+
|
|
11
|
+
/** y value of the point */
|
|
12
|
+
y?: SingleDomainType;
|
|
13
|
+
|
|
14
|
+
/** Label to display for line*/
|
|
15
|
+
label?: string;
|
|
16
|
+
|
|
17
|
+
/** Placement of the label */
|
|
18
|
+
labelPlacement?: Placement;
|
|
19
|
+
|
|
20
|
+
/** X offset of the label */
|
|
21
|
+
labelXOffset?: number;
|
|
22
|
+
|
|
23
|
+
/** Y offset of the label */
|
|
24
|
+
labelYOffset?: number;
|
|
25
|
+
|
|
26
|
+
/** Classes for inner elements */
|
|
27
|
+
props?: {
|
|
28
|
+
label?: Partial<ComponentProps<typeof Text>>;
|
|
29
|
+
line?: Partial<ComponentProps<typeof Line>>;
|
|
30
|
+
};
|
|
31
|
+
} & CommonStyleProps;
|
|
32
|
+
|
|
33
|
+
export type AnnotationLineProps = AnnotationLinePropsWithoutHTML &
|
|
34
|
+
Without<SVGAttributes<Element>, AnnotationLinePropsWithoutHTML>;
|
|
35
|
+
</script>
|
|
36
|
+
|
|
37
|
+
<script lang="ts">
|
|
38
|
+
import { getChartContext } from './Chart.svelte';
|
|
39
|
+
import Line from './Line.svelte';
|
|
40
|
+
import Text from './Text.svelte';
|
|
41
|
+
import type { Placement } from './types.js';
|
|
42
|
+
|
|
43
|
+
import { cls } from '@layerstack/tailwind';
|
|
44
|
+
|
|
45
|
+
const {
|
|
46
|
+
x,
|
|
47
|
+
y,
|
|
48
|
+
label,
|
|
49
|
+
labelPlacement = 'top-right',
|
|
50
|
+
labelXOffset = 0,
|
|
51
|
+
labelYOffset = 0,
|
|
52
|
+
props,
|
|
53
|
+
}: AnnotationLineProps = $props();
|
|
54
|
+
|
|
55
|
+
const ctx = getChartContext();
|
|
56
|
+
|
|
57
|
+
const isVertical = $derived(x != null);
|
|
58
|
+
|
|
59
|
+
const line = $derived({
|
|
60
|
+
x1: x ? ctx.xScale(x) : ctx.xRange[0],
|
|
61
|
+
y1: y && !x ? ctx.yScale(y) : ctx.yRange[0],
|
|
62
|
+
x2: x ? ctx.xScale(x) : ctx.xRange[1],
|
|
63
|
+
y2: y ? ctx.yScale(y) : ctx.yRange[1],
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
const labelProps = $derived<ComponentProps<typeof Text>>(
|
|
67
|
+
isVertical
|
|
68
|
+
? {
|
|
69
|
+
x: line.x1 + (labelPlacement.includes('left') ? -labelXOffset : labelXOffset),
|
|
70
|
+
y:
|
|
71
|
+
(labelPlacement.includes('top')
|
|
72
|
+
? line.y2
|
|
73
|
+
: labelPlacement.includes('bottom')
|
|
74
|
+
? line.y1
|
|
75
|
+
: (line.y1 - line.y2) / 2) +
|
|
76
|
+
(['top', 'bottom-left', 'bottom-right'].includes(labelPlacement)
|
|
77
|
+
? -labelYOffset
|
|
78
|
+
: labelYOffset),
|
|
79
|
+
dy: -2, // adjust for smaller font size
|
|
80
|
+
textAnchor: labelPlacement.includes('left')
|
|
81
|
+
? 'end'
|
|
82
|
+
: labelPlacement.includes('right')
|
|
83
|
+
? 'start'
|
|
84
|
+
: 'middle',
|
|
85
|
+
verticalAnchor:
|
|
86
|
+
labelPlacement === 'top'
|
|
87
|
+
? 'end' // place above line
|
|
88
|
+
: labelPlacement === 'bottom'
|
|
89
|
+
? 'start' // place below line
|
|
90
|
+
: labelPlacement.includes('top')
|
|
91
|
+
? 'start'
|
|
92
|
+
: labelPlacement.includes('bottom')
|
|
93
|
+
? 'end'
|
|
94
|
+
: 'middle',
|
|
95
|
+
}
|
|
96
|
+
: {
|
|
97
|
+
x:
|
|
98
|
+
(labelPlacement.includes('left')
|
|
99
|
+
? line.x1
|
|
100
|
+
: labelPlacement.includes('right')
|
|
101
|
+
? line.x2
|
|
102
|
+
: (line.x2 - line.x1) / 2) +
|
|
103
|
+
(['left', 'top-right', 'bottom-right'].includes(labelPlacement)
|
|
104
|
+
? -labelXOffset
|
|
105
|
+
: labelXOffset),
|
|
106
|
+
y: line.y1 + (labelPlacement.includes('top') ? -labelYOffset : labelYOffset),
|
|
107
|
+
dy: -2, // adjust for smaller font size
|
|
108
|
+
textAnchor:
|
|
109
|
+
labelPlacement === 'left'
|
|
110
|
+
? 'end' // place beside line
|
|
111
|
+
: labelPlacement === 'right'
|
|
112
|
+
? 'start' // place beside line
|
|
113
|
+
: labelPlacement.includes('left')
|
|
114
|
+
? 'start'
|
|
115
|
+
: labelPlacement.includes('right')
|
|
116
|
+
? 'end'
|
|
117
|
+
: 'middle',
|
|
118
|
+
verticalAnchor: labelPlacement.includes('top')
|
|
119
|
+
? 'end'
|
|
120
|
+
: labelPlacement.includes('bottom')
|
|
121
|
+
? 'start'
|
|
122
|
+
: 'middle',
|
|
123
|
+
}
|
|
124
|
+
);
|
|
125
|
+
</script>
|
|
126
|
+
|
|
127
|
+
<Line
|
|
128
|
+
x1={line.x1}
|
|
129
|
+
y1={line.y1}
|
|
130
|
+
x2={line.x2}
|
|
131
|
+
y2={line.y2}
|
|
132
|
+
{...props?.line}
|
|
133
|
+
class={cls('stroke-surface-content', props?.line?.class)}
|
|
134
|
+
/>
|
|
135
|
+
|
|
136
|
+
{#if label}
|
|
137
|
+
<Text
|
|
138
|
+
value={label}
|
|
139
|
+
{...labelProps}
|
|
140
|
+
{...props?.label}
|
|
141
|
+
class={cls('text-xs pointer-events-none', props?.label?.class)}
|
|
142
|
+
/>
|
|
143
|
+
{/if}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ComponentProps } from 'svelte';
|
|
2
|
+
import type { SVGAttributes } from 'svelte/elements';
|
|
3
|
+
import type { CommonStyleProps, Without } from '../utils/types.js';
|
|
4
|
+
import type { SingleDomainType } from '../utils/scales.svelte.js';
|
|
5
|
+
export type AnnotationLinePropsWithoutHTML = {
|
|
6
|
+
/** x value of the point */
|
|
7
|
+
x?: SingleDomainType;
|
|
8
|
+
/** y value of the point */
|
|
9
|
+
y?: SingleDomainType;
|
|
10
|
+
/** Label to display for line*/
|
|
11
|
+
label?: string;
|
|
12
|
+
/** Placement of the label */
|
|
13
|
+
labelPlacement?: Placement;
|
|
14
|
+
/** X offset of the label */
|
|
15
|
+
labelXOffset?: number;
|
|
16
|
+
/** Y offset of the label */
|
|
17
|
+
labelYOffset?: number;
|
|
18
|
+
/** Classes for inner elements */
|
|
19
|
+
props?: {
|
|
20
|
+
label?: Partial<ComponentProps<typeof Text>>;
|
|
21
|
+
line?: Partial<ComponentProps<typeof Line>>;
|
|
22
|
+
};
|
|
23
|
+
} & CommonStyleProps;
|
|
24
|
+
export type AnnotationLineProps = AnnotationLinePropsWithoutHTML & Without<SVGAttributes<Element>, AnnotationLinePropsWithoutHTML>;
|
|
25
|
+
import Line from './Line.svelte';
|
|
26
|
+
import Text from './Text.svelte';
|
|
27
|
+
import type { Placement } from './types.js';
|
|
28
|
+
declare const AnnotationLine: import("svelte").Component<AnnotationLineProps, {}, "">;
|
|
29
|
+
type AnnotationLine = ReturnType<typeof AnnotationLine>;
|
|
30
|
+
export default AnnotationLine;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import type { ComponentProps } from 'svelte';
|
|
3
|
+
import type { SVGAttributes } from 'svelte/elements';
|
|
4
|
+
import type { CommonStyleProps, Without } from '../utils/types.js';
|
|
5
|
+
import { isScaleBand, type SingleDomainType } from '../utils/scales.svelte.js';
|
|
6
|
+
|
|
7
|
+
export type AnnotationPointPropsWithoutHTML = {
|
|
8
|
+
/** x value of the point */
|
|
9
|
+
x?: SingleDomainType;
|
|
10
|
+
|
|
11
|
+
/** y value of the point */
|
|
12
|
+
y?: SingleDomainType;
|
|
13
|
+
|
|
14
|
+
/** Radius of the circle */
|
|
15
|
+
r?: number;
|
|
16
|
+
|
|
17
|
+
/** Label to display on circle*/
|
|
18
|
+
label?: string;
|
|
19
|
+
|
|
20
|
+
/** Placement of the label */
|
|
21
|
+
labelPlacement?: Placement;
|
|
22
|
+
|
|
23
|
+
/** X offset of the label */
|
|
24
|
+
labelXOffset?: number;
|
|
25
|
+
|
|
26
|
+
/** Y offset of the label */
|
|
27
|
+
labelYOffset?: number;
|
|
28
|
+
|
|
29
|
+
/** Details (description, etc) useful to display in tooltip */
|
|
30
|
+
details?: any;
|
|
31
|
+
|
|
32
|
+
/** Classes for inner elements */
|
|
33
|
+
props?: {
|
|
34
|
+
label?: Partial<ComponentProps<typeof Text>>;
|
|
35
|
+
circle?: Partial<ComponentProps<typeof Circle>>;
|
|
36
|
+
};
|
|
37
|
+
} & CommonStyleProps;
|
|
38
|
+
|
|
39
|
+
export type AnnotationPointProps = AnnotationPointPropsWithoutHTML &
|
|
40
|
+
Without<SVGAttributes<Element>, AnnotationPointPropsWithoutHTML>;
|
|
41
|
+
</script>
|
|
42
|
+
|
|
43
|
+
<script lang="ts">
|
|
44
|
+
import { getChartContext } from './Chart.svelte';
|
|
45
|
+
import Circle from './Circle.svelte';
|
|
46
|
+
import Text from './Text.svelte';
|
|
47
|
+
import type { Placement } from './types.js';
|
|
48
|
+
|
|
49
|
+
import { cls } from '@layerstack/tailwind';
|
|
50
|
+
|
|
51
|
+
const {
|
|
52
|
+
x,
|
|
53
|
+
y,
|
|
54
|
+
r = 4,
|
|
55
|
+
label,
|
|
56
|
+
labelPlacement = 'center',
|
|
57
|
+
labelXOffset = 0,
|
|
58
|
+
labelYOffset = 0,
|
|
59
|
+
details,
|
|
60
|
+
props,
|
|
61
|
+
}: AnnotationPointProps = $props();
|
|
62
|
+
|
|
63
|
+
const ctx = getChartContext();
|
|
64
|
+
|
|
65
|
+
const point = $derived({
|
|
66
|
+
x: x ? ctx.xScale(x) + (isScaleBand(ctx.xScale) ? ctx.xScale.bandwidth() / 2 : 0) : 0,
|
|
67
|
+
y: y ? ctx.yScale(y) + (isScaleBand(ctx.yScale) ? ctx.yScale.bandwidth() / 2 : 0) : ctx.height,
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
const labelProps = $derived<ComponentProps<typeof Text>>({
|
|
71
|
+
x:
|
|
72
|
+
point.x +
|
|
73
|
+
((['top', 'center', 'bottom'].includes(labelPlacement) ? 0 : r) + labelXOffset) *
|
|
74
|
+
(labelPlacement.includes('left') ? -1 : 1),
|
|
75
|
+
y:
|
|
76
|
+
point.y +
|
|
77
|
+
((['left', 'center', 'right'].includes(labelPlacement) ? 0 : r) + labelYOffset) *
|
|
78
|
+
(labelPlacement.includes('top') ? -1 : 1),
|
|
79
|
+
dy: -2, // adjust for smaler font size
|
|
80
|
+
textAnchor: labelPlacement.includes('left')
|
|
81
|
+
? 'end'
|
|
82
|
+
: labelPlacement.includes('right')
|
|
83
|
+
? 'start'
|
|
84
|
+
: 'middle',
|
|
85
|
+
verticalAnchor: labelPlacement.includes('top')
|
|
86
|
+
? 'end'
|
|
87
|
+
: labelPlacement.includes('bottom')
|
|
88
|
+
? 'start'
|
|
89
|
+
: 'middle',
|
|
90
|
+
});
|
|
91
|
+
</script>
|
|
92
|
+
|
|
93
|
+
<Circle
|
|
94
|
+
cx={point.x}
|
|
95
|
+
cy={point.y}
|
|
96
|
+
{r}
|
|
97
|
+
onpointermove={(e) => {
|
|
98
|
+
if (details) {
|
|
99
|
+
e.stopPropagation();
|
|
100
|
+
ctx.tooltip.show(e, { annotation: { label, details } });
|
|
101
|
+
}
|
|
102
|
+
}}
|
|
103
|
+
onpointerleave={() => {
|
|
104
|
+
if (details) {
|
|
105
|
+
ctx.tooltip.hide();
|
|
106
|
+
}
|
|
107
|
+
}}
|
|
108
|
+
{...props?.circle}
|
|
109
|
+
class={cls('stroke-surface-100', props?.circle?.class)}
|
|
110
|
+
/>
|
|
111
|
+
|
|
112
|
+
{#if label}
|
|
113
|
+
<Text
|
|
114
|
+
value={label}
|
|
115
|
+
{...labelProps}
|
|
116
|
+
{...props?.label}
|
|
117
|
+
class={cls('text-xs pointer-events-none', props?.label?.class)}
|
|
118
|
+
/>
|
|
119
|
+
{/if}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { ComponentProps } from 'svelte';
|
|
2
|
+
import type { SVGAttributes } from 'svelte/elements';
|
|
3
|
+
import type { CommonStyleProps, Without } from '../utils/types.js';
|
|
4
|
+
import { type SingleDomainType } from '../utils/scales.svelte.js';
|
|
5
|
+
export type AnnotationPointPropsWithoutHTML = {
|
|
6
|
+
/** x value of the point */
|
|
7
|
+
x?: SingleDomainType;
|
|
8
|
+
/** y value of the point */
|
|
9
|
+
y?: SingleDomainType;
|
|
10
|
+
/** Radius of the circle */
|
|
11
|
+
r?: number;
|
|
12
|
+
/** Label to display on circle*/
|
|
13
|
+
label?: string;
|
|
14
|
+
/** Placement of the label */
|
|
15
|
+
labelPlacement?: Placement;
|
|
16
|
+
/** X offset of the label */
|
|
17
|
+
labelXOffset?: number;
|
|
18
|
+
/** Y offset of the label */
|
|
19
|
+
labelYOffset?: number;
|
|
20
|
+
/** Details (description, etc) useful to display in tooltip */
|
|
21
|
+
details?: any;
|
|
22
|
+
/** Classes for inner elements */
|
|
23
|
+
props?: {
|
|
24
|
+
label?: Partial<ComponentProps<typeof Text>>;
|
|
25
|
+
circle?: Partial<ComponentProps<typeof Circle>>;
|
|
26
|
+
};
|
|
27
|
+
} & CommonStyleProps;
|
|
28
|
+
export type AnnotationPointProps = AnnotationPointPropsWithoutHTML & Without<SVGAttributes<Element>, AnnotationPointPropsWithoutHTML>;
|
|
29
|
+
import Circle from './Circle.svelte';
|
|
30
|
+
import Text from './Text.svelte';
|
|
31
|
+
import type { Placement } from './types.js';
|
|
32
|
+
declare const AnnotationPoint: import("svelte").Component<AnnotationPointProps, {}, "">;
|
|
33
|
+
type AnnotationPoint = ReturnType<typeof AnnotationPoint>;
|
|
34
|
+
export default AnnotationPoint;
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
<script lang="ts" module>
|
|
2
|
+
import type { ComponentProps } from 'svelte';
|
|
3
|
+
import type { SVGAttributes } from 'svelte/elements';
|
|
4
|
+
import type { CommonStyleProps, Without } from '../utils/types.js';
|
|
5
|
+
import { isScaleBand, type SingleDomainType } from '../utils/scales.svelte.js';
|
|
6
|
+
|
|
7
|
+
export type AnnotationRangePropsWithoutHTML = {
|
|
8
|
+
/** x values of the range */
|
|
9
|
+
x?: [SingleDomainType, SingleDomainType] | SingleDomainType[];
|
|
10
|
+
|
|
11
|
+
/** y values of the range */
|
|
12
|
+
y?: [SingleDomainType, SingleDomainType] | SingleDomainType[];
|
|
13
|
+
|
|
14
|
+
/** Label to display for line*/
|
|
15
|
+
label?: string;
|
|
16
|
+
|
|
17
|
+
/** Placement of the label */
|
|
18
|
+
labelPlacement?: Placement;
|
|
19
|
+
|
|
20
|
+
/** X offset of the label */
|
|
21
|
+
labelXOffset?: number;
|
|
22
|
+
|
|
23
|
+
/** Y offset of the label */
|
|
24
|
+
labelYOffset?: number;
|
|
25
|
+
|
|
26
|
+
/** Add Rect with fill */
|
|
27
|
+
fill?: string;
|
|
28
|
+
|
|
29
|
+
/** Add Rect with class*/
|
|
30
|
+
class?: string;
|
|
31
|
+
|
|
32
|
+
/** Add Rect with gradient */
|
|
33
|
+
gradient?: ComponentProps<typeof LinearGradient>;
|
|
34
|
+
|
|
35
|
+
/** Add Rect with pattern */
|
|
36
|
+
pattern?: ComponentProps<typeof Pattern>;
|
|
37
|
+
|
|
38
|
+
/** Classes for inner elements */
|
|
39
|
+
props?: {
|
|
40
|
+
label?: Partial<ComponentProps<typeof Text>>;
|
|
41
|
+
rect?: Partial<ComponentProps<typeof Rect>>;
|
|
42
|
+
};
|
|
43
|
+
} & CommonStyleProps;
|
|
44
|
+
|
|
45
|
+
export type AnnotationRangeProps = AnnotationRangePropsWithoutHTML &
|
|
46
|
+
Without<SVGAttributes<Element>, AnnotationRangePropsWithoutHTML>;
|
|
47
|
+
</script>
|
|
48
|
+
|
|
49
|
+
<script lang="ts">
|
|
50
|
+
import { getChartContext } from './Chart.svelte';
|
|
51
|
+
import LinearGradient from './LinearGradient.svelte';
|
|
52
|
+
import Pattern from './Pattern.svelte';
|
|
53
|
+
import Rect from './Rect.svelte';
|
|
54
|
+
import Text from './Text.svelte';
|
|
55
|
+
import type { Placement } from './types.js';
|
|
56
|
+
|
|
57
|
+
import { cls } from '@layerstack/tailwind';
|
|
58
|
+
|
|
59
|
+
const {
|
|
60
|
+
x,
|
|
61
|
+
y,
|
|
62
|
+
fill,
|
|
63
|
+
class: className,
|
|
64
|
+
gradient,
|
|
65
|
+
pattern,
|
|
66
|
+
label,
|
|
67
|
+
labelPlacement = 'center',
|
|
68
|
+
labelXOffset = 0,
|
|
69
|
+
labelYOffset = 0,
|
|
70
|
+
props,
|
|
71
|
+
}: AnnotationRangeProps = $props();
|
|
72
|
+
|
|
73
|
+
const ctx = getChartContext();
|
|
74
|
+
|
|
75
|
+
const rect = $derived<ComponentProps<typeof Rect>>({
|
|
76
|
+
x: x
|
|
77
|
+
? ctx.xScale(x[0] ?? ctx.xDomain[0]) -
|
|
78
|
+
(isScaleBand(ctx.xScale) ? (ctx.xScale.padding() * ctx.xScale.step()) / 2 : 0)
|
|
79
|
+
: ctx.xRange[0],
|
|
80
|
+
y: y ? ctx.yScale(y[1] ?? ctx.yDomain[1]) : ctx.yRange[1],
|
|
81
|
+
width: x
|
|
82
|
+
? ctx.xScale(x[1] ?? ctx.xDomain[1]) -
|
|
83
|
+
ctx.xScale(x[0] ?? ctx.xDomain[0]) +
|
|
84
|
+
(isScaleBand(ctx.xScale) ? ctx.xScale.step() : 0)
|
|
85
|
+
: ctx.width,
|
|
86
|
+
height: y
|
|
87
|
+
? ctx.yScale(y[0] ?? ctx.yDomain[0]) - ctx.yScale(y[1] ?? ctx.yDomain[1])
|
|
88
|
+
: ctx.height,
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
const labelProps = $derived<ComponentProps<typeof Text>>({
|
|
92
|
+
x:
|
|
93
|
+
((labelPlacement.includes('left')
|
|
94
|
+
? rect.x
|
|
95
|
+
: labelPlacement.includes('right')
|
|
96
|
+
? (rect.x ?? 0) + rect.width
|
|
97
|
+
: (rect.x ?? 0) + rect.width / 2) ?? 0) +
|
|
98
|
+
(labelPlacement.includes('right') ? -labelXOffset : labelXOffset),
|
|
99
|
+
y:
|
|
100
|
+
((labelPlacement.includes('top')
|
|
101
|
+
? rect.y
|
|
102
|
+
: labelPlacement.includes('bottom')
|
|
103
|
+
? (rect.y ?? 0) + rect.height
|
|
104
|
+
: (rect.y ?? 0) + rect.height / 2) ?? 0) +
|
|
105
|
+
(labelPlacement.includes('bottom') ? -labelYOffset : labelYOffset),
|
|
106
|
+
dy: -2, // adjust for smaler font size
|
|
107
|
+
textAnchor: labelPlacement.includes('left')
|
|
108
|
+
? 'start'
|
|
109
|
+
: labelPlacement.includes('right')
|
|
110
|
+
? 'end'
|
|
111
|
+
: 'middle',
|
|
112
|
+
verticalAnchor: labelPlacement.includes('top')
|
|
113
|
+
? 'start'
|
|
114
|
+
: labelPlacement.includes('bottom')
|
|
115
|
+
? 'end'
|
|
116
|
+
: 'middle',
|
|
117
|
+
});
|
|
118
|
+
</script>
|
|
119
|
+
|
|
120
|
+
{#if fill || className}
|
|
121
|
+
<Rect {...rect} {...props?.rect} {fill} class={cls(props?.rect?.class, className)} />
|
|
122
|
+
{/if}
|
|
123
|
+
|
|
124
|
+
{#if gradient}
|
|
125
|
+
<LinearGradient {...gradient}>
|
|
126
|
+
{#snippet children({ gradient })}
|
|
127
|
+
<Rect {...rect} {...props?.rect} fill={gradient} />
|
|
128
|
+
{/snippet}
|
|
129
|
+
</LinearGradient>
|
|
130
|
+
{/if}
|
|
131
|
+
|
|
132
|
+
{#if pattern}
|
|
133
|
+
<Pattern {...pattern}>
|
|
134
|
+
{#snippet children({ pattern })}
|
|
135
|
+
<Rect {...rect} {...props?.rect} fill={pattern} />
|
|
136
|
+
{/snippet}
|
|
137
|
+
</Pattern>
|
|
138
|
+
{/if}
|
|
139
|
+
|
|
140
|
+
{#if label}
|
|
141
|
+
<Text
|
|
142
|
+
value={label}
|
|
143
|
+
{...labelProps}
|
|
144
|
+
{...props?.label}
|
|
145
|
+
class={cls('text-xs pointer-events-none', props?.label?.class)}
|
|
146
|
+
/>
|
|
147
|
+
{/if}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { ComponentProps } from 'svelte';
|
|
2
|
+
import type { SVGAttributes } from 'svelte/elements';
|
|
3
|
+
import type { CommonStyleProps, Without } from '../utils/types.js';
|
|
4
|
+
import { type SingleDomainType } from '../utils/scales.svelte.js';
|
|
5
|
+
export type AnnotationRangePropsWithoutHTML = {
|
|
6
|
+
/** x values of the range */
|
|
7
|
+
x?: [SingleDomainType, SingleDomainType] | SingleDomainType[];
|
|
8
|
+
/** y values of the range */
|
|
9
|
+
y?: [SingleDomainType, SingleDomainType] | SingleDomainType[];
|
|
10
|
+
/** Label to display for line*/
|
|
11
|
+
label?: string;
|
|
12
|
+
/** Placement of the label */
|
|
13
|
+
labelPlacement?: Placement;
|
|
14
|
+
/** X offset of the label */
|
|
15
|
+
labelXOffset?: number;
|
|
16
|
+
/** Y offset of the label */
|
|
17
|
+
labelYOffset?: number;
|
|
18
|
+
/** Add Rect with fill */
|
|
19
|
+
fill?: string;
|
|
20
|
+
/** Add Rect with class*/
|
|
21
|
+
class?: string;
|
|
22
|
+
/** Add Rect with gradient */
|
|
23
|
+
gradient?: ComponentProps<typeof LinearGradient>;
|
|
24
|
+
/** Add Rect with pattern */
|
|
25
|
+
pattern?: ComponentProps<typeof Pattern>;
|
|
26
|
+
/** Classes for inner elements */
|
|
27
|
+
props?: {
|
|
28
|
+
label?: Partial<ComponentProps<typeof Text>>;
|
|
29
|
+
rect?: Partial<ComponentProps<typeof Rect>>;
|
|
30
|
+
};
|
|
31
|
+
} & CommonStyleProps;
|
|
32
|
+
export type AnnotationRangeProps = AnnotationRangePropsWithoutHTML & Without<SVGAttributes<Element>, AnnotationRangePropsWithoutHTML>;
|
|
33
|
+
import LinearGradient from './LinearGradient.svelte';
|
|
34
|
+
import Pattern from './Pattern.svelte';
|
|
35
|
+
import Rect from './Rect.svelte';
|
|
36
|
+
import Text from './Text.svelte';
|
|
37
|
+
import type { Placement } from './types.js';
|
|
38
|
+
declare const AnnotationRange: import("svelte").Component<AnnotationRangeProps, {}, "">;
|
|
39
|
+
type AnnotationRange = ReturnType<typeof AnnotationRange>;
|
|
40
|
+
export default AnnotationRange;
|