svelteplot 0.2.3 → 0.2.5
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/helpers/index.js +1 -1
- package/dist/helpers/isRawValue.js +1 -1
- package/dist/index.d.ts +3 -67
- package/dist/index.js +3 -70
- package/dist/marks/Area.svelte +36 -29
- package/dist/marks/Area.svelte.d.ts +1 -0
- package/dist/marks/helpers/AreaCanvas.svelte +107 -0
- package/dist/marks/helpers/AreaCanvas.svelte.d.ts +11 -0
- package/dist/marks/index.d.ts +52 -0
- package/dist/marks/index.js +54 -0
- package/dist/transforms/bin.js +1 -1
- package/dist/transforms/group.js +1 -1
- package/dist/transforms/index.d.ts +15 -0
- package/dist/transforms/index.js +15 -0
- package/dist/transforms/stack.js +0 -1
- package/package.json +4 -1
package/dist/helpers/index.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,69 +1,5 @@
|
|
|
1
|
-
export { default as Area } from './marks/Area.svelte';
|
|
2
|
-
export { default as AreaX } from './marks/AreaX.svelte';
|
|
3
|
-
export { default as AreaY } from './marks/AreaY.svelte';
|
|
4
|
-
export { default as Arrow } from './marks/Arrow.svelte';
|
|
5
|
-
export { default as AxisX } from './marks/AxisX.svelte';
|
|
6
|
-
export { default as AxisY } from './marks/AxisY.svelte';
|
|
7
|
-
export { default as BarX } from './marks/BarX.svelte';
|
|
8
|
-
export { default as BarY } from './marks/BarY.svelte';
|
|
9
|
-
export { default as BollingerX } from './marks/BollingerX.svelte';
|
|
10
|
-
export { default as BollingerY } from './marks/BollingerY.svelte';
|
|
11
|
-
export { default as BoxX } from './marks/BoxX.svelte';
|
|
12
|
-
export { default as BoxY } from './marks/BoxY.svelte';
|
|
13
|
-
export { default as Brush } from './marks/Brush.svelte';
|
|
14
|
-
export { default as BrushX } from './marks/BrushX.svelte';
|
|
15
|
-
export { default as BrushY } from './marks/BrushY.svelte';
|
|
16
|
-
export { default as Cell } from './marks/Cell.svelte';
|
|
17
|
-
export { default as CellX } from './marks/CellX.svelte';
|
|
18
|
-
export { default as CellY } from './marks/CellY.svelte';
|
|
19
|
-
export { default as CustomMark } from './marks/CustomMark.svelte';
|
|
20
|
-
export { default as CustomMarkHTML } from './marks/CustomMarkHTML.svelte';
|
|
21
|
-
export { default as DifferenceY } from './marks/DifferenceY.svelte';
|
|
22
|
-
export { default as Dot } from './marks/Dot.svelte';
|
|
23
|
-
export { default as DotX } from './marks/DotX.svelte';
|
|
24
|
-
export { default as DotY } from './marks/DotY.svelte';
|
|
25
|
-
export { default as Frame } from './marks/Frame.svelte';
|
|
26
|
-
export { default as Geo } from './marks/Geo.svelte';
|
|
27
|
-
export { default as Graticule } from './marks/Graticule.svelte';
|
|
28
|
-
export { default as GridX } from './marks/GridX.svelte';
|
|
29
|
-
export { default as GridY } from './marks/GridY.svelte';
|
|
30
|
-
export { default as Line } from './marks/Line.svelte';
|
|
31
|
-
export { default as LineX } from './marks/LineX.svelte';
|
|
32
|
-
export { default as LineY } from './marks/LineY.svelte';
|
|
33
|
-
export { default as Link } from './marks/Link.svelte';
|
|
34
1
|
export { default as Plot } from './Plot.svelte';
|
|
35
|
-
export { default as
|
|
36
|
-
export
|
|
37
|
-
export
|
|
38
|
-
export { default as RectX } from './marks/RectX.svelte';
|
|
39
|
-
export { default as RectY } from './marks/RectY.svelte';
|
|
40
|
-
export { default as RegressionX } from './marks/RegressionX.svelte';
|
|
41
|
-
export { default as RegressionY } from './marks/RegressionY.svelte';
|
|
42
|
-
export { default as RuleX } from './marks/RuleX.svelte';
|
|
43
|
-
export { default as RuleY } from './marks/RuleY.svelte';
|
|
44
|
-
export { default as Sphere } from './marks/Sphere.svelte';
|
|
45
|
-
export { default as Spike } from './marks/Spike.svelte';
|
|
46
|
-
export { default as Text } from './marks/Text.svelte';
|
|
47
|
-
export { default as TickX } from './marks/TickX.svelte';
|
|
48
|
-
export { default as TickY } from './marks/TickY.svelte';
|
|
49
|
-
export { default as ColorLegend } from './marks/ColorLegend.svelte';
|
|
50
|
-
export { default as HTMLTooltip } from './marks/HTMLTooltip.svelte';
|
|
51
|
-
export { default as SymbolLegend } from './marks/SymbolLegend.svelte';
|
|
52
|
-
export { bin, binX, binY } from './transforms/bin.js';
|
|
53
|
-
export { bollingerX, bollingerY } from './transforms/bollinger.js';
|
|
54
|
-
export { geoCentroid } from './transforms/centroid.js';
|
|
55
|
-
export { filter } from './transforms/filter.js';
|
|
56
|
-
export { map, mapX, mapY } from './transforms/map.js';
|
|
57
|
-
export { normalizeX, normalizeY } from './transforms/normalize.js';
|
|
58
|
-
export { group, groupX, groupY, groupZ } from './transforms/group.js';
|
|
59
|
-
export { intervalX, intervalY } from './transforms/interval.js';
|
|
60
|
-
export { recordizeX, recordizeY } from './transforms/recordize.js';
|
|
61
|
-
export { renameChannels, replaceChannels } from './transforms/rename.js';
|
|
62
|
-
export { select, selectFirst, selectLast, selectMaxX, selectMaxY, selectMinX, selectMinY } from './transforms/select.js';
|
|
63
|
-
export { shiftX, shiftY } from './transforms/shift.js';
|
|
64
|
-
export { sort, shuffle, reverse } from './transforms/sort.js';
|
|
65
|
-
export { stackX, stackY } from './transforms/stack.js';
|
|
66
|
-
export { windowX, windowY } from './transforms/window.js';
|
|
2
|
+
export { default as PlotCore } from './core/Plot.svelte';
|
|
3
|
+
export * from './marks/index.js';
|
|
4
|
+
export * from './transforms/index.js';
|
|
67
5
|
export { formatMonth } from './helpers/formats.js';
|
|
68
|
-
export { default as LinearGradientX } from './marks/helpers/LinearGradientX.svelte';
|
|
69
|
-
export { default as LinearGradientY } from './marks/helpers/LinearGradientY.svelte';
|
package/dist/index.js
CHANGED
|
@@ -1,73 +1,6 @@
|
|
|
1
|
-
// SVG marks
|
|
2
|
-
export { default as Area } from './marks/Area.svelte';
|
|
3
|
-
export { default as AreaX } from './marks/AreaX.svelte';
|
|
4
|
-
export { default as AreaY } from './marks/AreaY.svelte';
|
|
5
|
-
export { default as Arrow } from './marks/Arrow.svelte';
|
|
6
|
-
export { default as AxisX } from './marks/AxisX.svelte';
|
|
7
|
-
export { default as AxisY } from './marks/AxisY.svelte';
|
|
8
|
-
export { default as BarX } from './marks/BarX.svelte';
|
|
9
|
-
export { default as BarY } from './marks/BarY.svelte';
|
|
10
|
-
export { default as BollingerX } from './marks/BollingerX.svelte';
|
|
11
|
-
export { default as BollingerY } from './marks/BollingerY.svelte';
|
|
12
|
-
export { default as BoxX } from './marks/BoxX.svelte';
|
|
13
|
-
export { default as BoxY } from './marks/BoxY.svelte';
|
|
14
|
-
export { default as Brush } from './marks/Brush.svelte';
|
|
15
|
-
export { default as BrushX } from './marks/BrushX.svelte';
|
|
16
|
-
export { default as BrushY } from './marks/BrushY.svelte';
|
|
17
|
-
export { default as Cell } from './marks/Cell.svelte';
|
|
18
|
-
export { default as CellX } from './marks/CellX.svelte';
|
|
19
|
-
export { default as CellY } from './marks/CellY.svelte';
|
|
20
|
-
export { default as CustomMark } from './marks/CustomMark.svelte';
|
|
21
|
-
export { default as CustomMarkHTML } from './marks/CustomMarkHTML.svelte';
|
|
22
|
-
export { default as DifferenceY } from './marks/DifferenceY.svelte';
|
|
23
|
-
export { default as Dot } from './marks/Dot.svelte';
|
|
24
|
-
export { default as DotX } from './marks/DotX.svelte';
|
|
25
|
-
export { default as DotY } from './marks/DotY.svelte';
|
|
26
|
-
export { default as Frame } from './marks/Frame.svelte';
|
|
27
|
-
export { default as Geo } from './marks/Geo.svelte';
|
|
28
|
-
export { default as Graticule } from './marks/Graticule.svelte';
|
|
29
|
-
export { default as GridX } from './marks/GridX.svelte';
|
|
30
|
-
export { default as GridY } from './marks/GridY.svelte';
|
|
31
|
-
export { default as Line } from './marks/Line.svelte';
|
|
32
|
-
export { default as LineX } from './marks/LineX.svelte';
|
|
33
|
-
export { default as LineY } from './marks/LineY.svelte';
|
|
34
|
-
export { default as Link } from './marks/Link.svelte';
|
|
35
1
|
export { default as Plot } from './Plot.svelte';
|
|
36
|
-
export { default as
|
|
37
|
-
export
|
|
38
|
-
export
|
|
39
|
-
export { default as RectX } from './marks/RectX.svelte';
|
|
40
|
-
export { default as RectY } from './marks/RectY.svelte';
|
|
41
|
-
export { default as RegressionX } from './marks/RegressionX.svelte';
|
|
42
|
-
export { default as RegressionY } from './marks/RegressionY.svelte';
|
|
43
|
-
export { default as RuleX } from './marks/RuleX.svelte';
|
|
44
|
-
export { default as RuleY } from './marks/RuleY.svelte';
|
|
45
|
-
export { default as Sphere } from './marks/Sphere.svelte';
|
|
46
|
-
export { default as Spike } from './marks/Spike.svelte';
|
|
47
|
-
export { default as Text } from './marks/Text.svelte';
|
|
48
|
-
export { default as TickX } from './marks/TickX.svelte';
|
|
49
|
-
export { default as TickY } from './marks/TickY.svelte';
|
|
50
|
-
// HTML marks
|
|
51
|
-
export { default as ColorLegend } from './marks/ColorLegend.svelte';
|
|
52
|
-
export { default as HTMLTooltip } from './marks/HTMLTooltip.svelte';
|
|
53
|
-
export { default as SymbolLegend } from './marks/SymbolLegend.svelte';
|
|
54
|
-
// transforms
|
|
55
|
-
export { bin, binX, binY } from './transforms/bin.js';
|
|
56
|
-
export { bollingerX, bollingerY } from './transforms/bollinger.js';
|
|
57
|
-
export { geoCentroid } from './transforms/centroid.js';
|
|
58
|
-
export { filter } from './transforms/filter.js';
|
|
59
|
-
export { map, mapX, mapY } from './transforms/map.js';
|
|
60
|
-
export { normalizeX, normalizeY } from './transforms/normalize.js';
|
|
61
|
-
export { group, groupX, groupY, groupZ } from './transforms/group.js';
|
|
62
|
-
export { intervalX, intervalY } from './transforms/interval.js';
|
|
63
|
-
export { recordizeX, recordizeY } from './transforms/recordize.js';
|
|
64
|
-
export { renameChannels, replaceChannels } from './transforms/rename.js';
|
|
65
|
-
export { select, selectFirst, selectLast, selectMaxX, selectMaxY, selectMinX, selectMinY } from './transforms/select.js';
|
|
66
|
-
export { shiftX, shiftY } from './transforms/shift.js';
|
|
67
|
-
export { sort, shuffle, reverse } from './transforms/sort.js';
|
|
68
|
-
export { stackX, stackY } from './transforms/stack.js';
|
|
69
|
-
export { windowX, windowY } from './transforms/window.js';
|
|
2
|
+
export { default as PlotCore } from './core/Plot.svelte';
|
|
3
|
+
export * from './marks/index.js';
|
|
4
|
+
export * from './transforms/index.js';
|
|
70
5
|
// helpers
|
|
71
6
|
export { formatMonth } from './helpers/formats.js';
|
|
72
|
-
export { default as LinearGradientX } from './marks/helpers/LinearGradientX.svelte';
|
|
73
|
-
export { default as LinearGradientY } from './marks/helpers/LinearGradientY.svelte';
|
package/dist/marks/Area.svelte
CHANGED
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
tension?: number;
|
|
10
10
|
sort?: ConstantAccessor<RawValue> | { channel: 'stroke' | 'fill' };
|
|
11
11
|
stack?: Partial<StackOptions>;
|
|
12
|
+
canvas?: boolean;
|
|
12
13
|
};
|
|
13
14
|
</script>
|
|
14
15
|
|
|
@@ -22,6 +23,7 @@
|
|
|
22
23
|
import callWithProps from '../helpers/callWithProps.js';
|
|
23
24
|
import { maybeCurve } from '../helpers/curves.js';
|
|
24
25
|
import { isValid } from '../helpers/index.js';
|
|
26
|
+
import AreaCanvas from './helpers/AreaCanvas.svelte';
|
|
25
27
|
|
|
26
28
|
import type {
|
|
27
29
|
CurveName,
|
|
@@ -52,7 +54,8 @@
|
|
|
52
54
|
/** the curve */
|
|
53
55
|
curve = 'linear',
|
|
54
56
|
tension = 0,
|
|
55
|
-
class: className =
|
|
57
|
+
class: className = '',
|
|
58
|
+
canvas = false,
|
|
56
59
|
...options
|
|
57
60
|
}: AreaProps = $props();
|
|
58
61
|
|
|
@@ -61,7 +64,7 @@
|
|
|
61
64
|
|
|
62
65
|
const groupByKey = $derived(options.z || options.fill || options.stroke);
|
|
63
66
|
|
|
64
|
-
const areaPath
|
|
67
|
+
const areaPath = $derived(
|
|
65
68
|
callWithProps(area, [], {
|
|
66
69
|
curve: maybeCurve(curve, tension),
|
|
67
70
|
defined: (d: ScaledDataRecord) =>
|
|
@@ -113,34 +116,38 @@
|
|
|
113
116
|
{...options}>
|
|
114
117
|
{#snippet children({ mark, usedScales, scaledData })}
|
|
115
118
|
{@const grouped = groupAndSort(scaledData)}
|
|
116
|
-
|
|
117
|
-
{
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
119
|
+
{#if canvas}
|
|
120
|
+
<AreaCanvas groupedAreaData={grouped} {mark} {usedScales} {areaPath} />
|
|
121
|
+
{:else}
|
|
122
|
+
<GroupMultiple length={grouped.length}>
|
|
123
|
+
{#each grouped as areaData}
|
|
124
|
+
{#snippet el(datum: ScaledDataRecord)}
|
|
125
|
+
{@const [style, styleClass] = resolveStyles(
|
|
126
|
+
plot,
|
|
127
|
+
datum,
|
|
128
|
+
options,
|
|
129
|
+
'fill',
|
|
130
|
+
usedScales
|
|
131
|
+
)}
|
|
132
|
+
<path
|
|
133
|
+
class={['svelteplot-area', className, styleClass]}
|
|
134
|
+
clip-path={options.clipPath}
|
|
135
|
+
d={areaPath(areaData)}
|
|
136
|
+
{style} />
|
|
137
|
+
{/snippet}
|
|
138
|
+
{#if areaData.length > 0}
|
|
139
|
+
{#if options.href}
|
|
140
|
+
<a
|
|
141
|
+
href={resolveProp(options.href, areaData[0].datum, '')}
|
|
142
|
+
target={resolveProp(options.target, areaData[0].datum, '_self')}>
|
|
143
|
+
{@render el(areaData[0])}
|
|
144
|
+
</a>
|
|
145
|
+
{:else}
|
|
137
146
|
{@render el(areaData[0])}
|
|
138
|
-
|
|
139
|
-
{:else}
|
|
140
|
-
{@render el(areaData[0])}
|
|
147
|
+
{/if}
|
|
141
148
|
{/if}
|
|
142
|
-
{/
|
|
143
|
-
|
|
144
|
-
|
|
149
|
+
{/each}
|
|
150
|
+
</GroupMultiple>
|
|
151
|
+
{/if}
|
|
145
152
|
{/snippet}
|
|
146
153
|
</Mark>
|
|
@@ -10,6 +10,7 @@ export type AreaMarkProps = {
|
|
|
10
10
|
channel: 'stroke' | 'fill';
|
|
11
11
|
};
|
|
12
12
|
stack?: Partial<StackOptions>;
|
|
13
|
+
canvas?: boolean;
|
|
13
14
|
};
|
|
14
15
|
import { type CurveFactory } from 'd3-shape';
|
|
15
16
|
import type { CurveName, DataRecord, BaseMarkProps, ConstantAccessor, ChannelAccessor } from '../types.js';
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type {
|
|
3
|
+
Mark,
|
|
4
|
+
BaseMarkProps,
|
|
5
|
+
PlotContext,
|
|
6
|
+
ScaledDataRecord,
|
|
7
|
+
UsedScales
|
|
8
|
+
} from '../../types.js';
|
|
9
|
+
import { resolveProp, resolveScaledStyleProps } from '../../helpers/resolve.js';
|
|
10
|
+
import { getContext } from 'svelte';
|
|
11
|
+
import { type Area } from 'd3-shape';
|
|
12
|
+
import CanvasLayer from './CanvasLayer.svelte';
|
|
13
|
+
import type { Attachment } from 'svelte/attachments';
|
|
14
|
+
import { devicePixelRatio } from 'svelte/reactivity/window';
|
|
15
|
+
import { resolveColor } from './canvas';
|
|
16
|
+
|
|
17
|
+
let {
|
|
18
|
+
mark,
|
|
19
|
+
groupedAreaData,
|
|
20
|
+
usedScales,
|
|
21
|
+
areaPath
|
|
22
|
+
}: {
|
|
23
|
+
mark: Mark<BaseMarkProps>;
|
|
24
|
+
groupedAreaData: ScaledDataRecord[][];
|
|
25
|
+
usedScales: UsedScales;
|
|
26
|
+
areaPath: Area<ScaledDataRecord>;
|
|
27
|
+
} = $props();
|
|
28
|
+
|
|
29
|
+
const { getPlotState } = getContext<PlotContext>('svelteplot');
|
|
30
|
+
const plot = $derived(getPlotState());
|
|
31
|
+
|
|
32
|
+
function maybeOpacity(value: unknown) {
|
|
33
|
+
return value == null ? 1 : +value;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const render = ((canvas: HTMLCanvasElement) => {
|
|
37
|
+
const context = canvas.getContext('2d');
|
|
38
|
+
|
|
39
|
+
$effect(() => {
|
|
40
|
+
if (context) {
|
|
41
|
+
areaPath.context(context);
|
|
42
|
+
context.resetTransform();
|
|
43
|
+
context.scale(devicePixelRatio.current ?? 1, devicePixelRatio.current ?? 1);
|
|
44
|
+
|
|
45
|
+
for (const group of groupedAreaData) {
|
|
46
|
+
if (group.length < 2) continue;
|
|
47
|
+
|
|
48
|
+
// Get the first point to determine area styles
|
|
49
|
+
const firstPoint = group[0];
|
|
50
|
+
if (!firstPoint || !firstPoint.valid) continue;
|
|
51
|
+
|
|
52
|
+
let { fill, stroke, ...restStyles } = resolveScaledStyleProps(
|
|
53
|
+
firstPoint.datum,
|
|
54
|
+
mark.options,
|
|
55
|
+
usedScales,
|
|
56
|
+
plot,
|
|
57
|
+
'fill'
|
|
58
|
+
);
|
|
59
|
+
|
|
60
|
+
const opacity = maybeOpacity(restStyles['opacity']);
|
|
61
|
+
const fillOpacity = maybeOpacity(restStyles['fill-opacity']);
|
|
62
|
+
const strokeOpacity = maybeOpacity(restStyles['stroke-opacity']);
|
|
63
|
+
|
|
64
|
+
const strokeWidth = resolveProp(
|
|
65
|
+
mark.options.strokeWidth,
|
|
66
|
+
firstPoint.datum,
|
|
67
|
+
0
|
|
68
|
+
) as number;
|
|
69
|
+
|
|
70
|
+
fill = resolveColor(fill || 'currentColor', canvas);
|
|
71
|
+
stroke = resolveColor(stroke, canvas);
|
|
72
|
+
|
|
73
|
+
// Start drawing the area
|
|
74
|
+
context.beginPath();
|
|
75
|
+
areaPath(group);
|
|
76
|
+
|
|
77
|
+
// Fill the area
|
|
78
|
+
if (fill && fill !== 'none') {
|
|
79
|
+
context.fillStyle = fill;
|
|
80
|
+
context.globalAlpha = opacity * fillOpacity;
|
|
81
|
+
context.fill();
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// Stroke the area outline if strokeWidth > 0
|
|
85
|
+
if (stroke && stroke !== 'none' && strokeWidth > 0) {
|
|
86
|
+
context.strokeStyle = stroke;
|
|
87
|
+
context.lineWidth = strokeWidth;
|
|
88
|
+
context.globalAlpha = opacity * strokeOpacity;
|
|
89
|
+
context.stroke();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
areaPath.context(null);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return () => {
|
|
96
|
+
context?.clearRect(
|
|
97
|
+
0,
|
|
98
|
+
0,
|
|
99
|
+
plot.width * (devicePixelRatio.current ?? 1),
|
|
100
|
+
plot.height * (devicePixelRatio.current ?? 1)
|
|
101
|
+
);
|
|
102
|
+
};
|
|
103
|
+
});
|
|
104
|
+
}) as Attachment;
|
|
105
|
+
</script>
|
|
106
|
+
|
|
107
|
+
<CanvasLayer {@attach render} />
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Mark, BaseMarkProps, ScaledDataRecord, UsedScales } from '../../types.js';
|
|
2
|
+
import { type Area } from 'd3-shape';
|
|
3
|
+
type $$ComponentProps = {
|
|
4
|
+
mark: Mark<BaseMarkProps>;
|
|
5
|
+
groupedAreaData: ScaledDataRecord[][];
|
|
6
|
+
usedScales: UsedScales;
|
|
7
|
+
areaPath: Area<ScaledDataRecord>;
|
|
8
|
+
};
|
|
9
|
+
declare const AreaCanvas: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
10
|
+
type AreaCanvas = ReturnType<typeof AreaCanvas>;
|
|
11
|
+
export default AreaCanvas;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export { default as Area } from './Area.svelte';
|
|
2
|
+
export { default as AreaX } from './AreaX.svelte';
|
|
3
|
+
export { default as AreaY } from './AreaY.svelte';
|
|
4
|
+
export { default as Arrow } from './Arrow.svelte';
|
|
5
|
+
export { default as AxisX } from './AxisX.svelte';
|
|
6
|
+
export { default as AxisY } from './AxisY.svelte';
|
|
7
|
+
export { default as BarX } from './BarX.svelte';
|
|
8
|
+
export { default as BarY } from './BarY.svelte';
|
|
9
|
+
export { default as BollingerX } from './BollingerX.svelte';
|
|
10
|
+
export { default as BollingerY } from './BollingerY.svelte';
|
|
11
|
+
export { default as BoxX } from './BoxX.svelte';
|
|
12
|
+
export { default as BoxY } from './BoxY.svelte';
|
|
13
|
+
export { default as Brush } from './Brush.svelte';
|
|
14
|
+
export { default as BrushX } from './BrushX.svelte';
|
|
15
|
+
export { default as BrushY } from './BrushY.svelte';
|
|
16
|
+
export { default as Cell } from './Cell.svelte';
|
|
17
|
+
export { default as CellX } from './CellX.svelte';
|
|
18
|
+
export { default as CellY } from './CellY.svelte';
|
|
19
|
+
export { default as CustomMark } from './CustomMark.svelte';
|
|
20
|
+
export { default as CustomMarkHTML } from './CustomMarkHTML.svelte';
|
|
21
|
+
export { default as DifferenceY } from './DifferenceY.svelte';
|
|
22
|
+
export { default as Dot } from './Dot.svelte';
|
|
23
|
+
export { default as DotX } from './DotX.svelte';
|
|
24
|
+
export { default as DotY } from './DotY.svelte';
|
|
25
|
+
export { default as Frame } from './Frame.svelte';
|
|
26
|
+
export { default as Geo } from './Geo.svelte';
|
|
27
|
+
export { default as Graticule } from './Graticule.svelte';
|
|
28
|
+
export { default as GridX } from './GridX.svelte';
|
|
29
|
+
export { default as GridY } from './GridY.svelte';
|
|
30
|
+
export { default as Line } from './Line.svelte';
|
|
31
|
+
export { default as LineX } from './LineX.svelte';
|
|
32
|
+
export { default as LineY } from './LineY.svelte';
|
|
33
|
+
export { default as Link } from './Link.svelte';
|
|
34
|
+
export { default as Pointer } from './Pointer.svelte';
|
|
35
|
+
export { default as Vector } from './Vector.svelte';
|
|
36
|
+
export { default as Rect } from './Rect.svelte';
|
|
37
|
+
export { default as RectX } from './RectX.svelte';
|
|
38
|
+
export { default as RectY } from './RectY.svelte';
|
|
39
|
+
export { default as RegressionX } from './RegressionX.svelte';
|
|
40
|
+
export { default as RegressionY } from './RegressionY.svelte';
|
|
41
|
+
export { default as RuleX } from './RuleX.svelte';
|
|
42
|
+
export { default as RuleY } from './RuleY.svelte';
|
|
43
|
+
export { default as Sphere } from './Sphere.svelte';
|
|
44
|
+
export { default as Spike } from './Spike.svelte';
|
|
45
|
+
export { default as Text } from './Text.svelte';
|
|
46
|
+
export { default as TickX } from './TickX.svelte';
|
|
47
|
+
export { default as TickY } from './TickY.svelte';
|
|
48
|
+
export { default as ColorLegend } from './ColorLegend.svelte';
|
|
49
|
+
export { default as HTMLTooltip } from './HTMLTooltip.svelte';
|
|
50
|
+
export { default as SymbolLegend } from './SymbolLegend.svelte';
|
|
51
|
+
export { default as LinearGradientX } from './helpers/LinearGradientX.svelte';
|
|
52
|
+
export { default as LinearGradientY } from './helpers/LinearGradientY.svelte';
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
export { default as Area } from './Area.svelte';
|
|
2
|
+
export { default as AreaX } from './AreaX.svelte';
|
|
3
|
+
export { default as AreaY } from './AreaY.svelte';
|
|
4
|
+
export { default as Arrow } from './Arrow.svelte';
|
|
5
|
+
export { default as AxisX } from './AxisX.svelte';
|
|
6
|
+
export { default as AxisY } from './AxisY.svelte';
|
|
7
|
+
export { default as BarX } from './BarX.svelte';
|
|
8
|
+
export { default as BarY } from './BarY.svelte';
|
|
9
|
+
export { default as BollingerX } from './BollingerX.svelte';
|
|
10
|
+
export { default as BollingerY } from './BollingerY.svelte';
|
|
11
|
+
export { default as BoxX } from './BoxX.svelte';
|
|
12
|
+
export { default as BoxY } from './BoxY.svelte';
|
|
13
|
+
export { default as Brush } from './Brush.svelte';
|
|
14
|
+
export { default as BrushX } from './BrushX.svelte';
|
|
15
|
+
export { default as BrushY } from './BrushY.svelte';
|
|
16
|
+
export { default as Cell } from './Cell.svelte';
|
|
17
|
+
export { default as CellX } from './CellX.svelte';
|
|
18
|
+
export { default as CellY } from './CellY.svelte';
|
|
19
|
+
export { default as CustomMark } from './CustomMark.svelte';
|
|
20
|
+
export { default as CustomMarkHTML } from './CustomMarkHTML.svelte';
|
|
21
|
+
export { default as DifferenceY } from './DifferenceY.svelte';
|
|
22
|
+
export { default as Dot } from './Dot.svelte';
|
|
23
|
+
export { default as DotX } from './DotX.svelte';
|
|
24
|
+
export { default as DotY } from './DotY.svelte';
|
|
25
|
+
export { default as Frame } from './Frame.svelte';
|
|
26
|
+
export { default as Geo } from './Geo.svelte';
|
|
27
|
+
export { default as Graticule } from './Graticule.svelte';
|
|
28
|
+
export { default as GridX } from './GridX.svelte';
|
|
29
|
+
export { default as GridY } from './GridY.svelte';
|
|
30
|
+
export { default as Line } from './Line.svelte';
|
|
31
|
+
export { default as LineX } from './LineX.svelte';
|
|
32
|
+
export { default as LineY } from './LineY.svelte';
|
|
33
|
+
export { default as Link } from './Link.svelte';
|
|
34
|
+
export { default as Pointer } from './Pointer.svelte';
|
|
35
|
+
export { default as Vector } from './Vector.svelte';
|
|
36
|
+
export { default as Rect } from './Rect.svelte';
|
|
37
|
+
export { default as RectX } from './RectX.svelte';
|
|
38
|
+
export { default as RectY } from './RectY.svelte';
|
|
39
|
+
export { default as RegressionX } from './RegressionX.svelte';
|
|
40
|
+
export { default as RegressionY } from './RegressionY.svelte';
|
|
41
|
+
export { default as RuleX } from './RuleX.svelte';
|
|
42
|
+
export { default as RuleY } from './RuleY.svelte';
|
|
43
|
+
export { default as Sphere } from './Sphere.svelte';
|
|
44
|
+
export { default as Spike } from './Spike.svelte';
|
|
45
|
+
export { default as Text } from './Text.svelte';
|
|
46
|
+
export { default as TickX } from './TickX.svelte';
|
|
47
|
+
export { default as TickY } from './TickY.svelte';
|
|
48
|
+
// HTML marks
|
|
49
|
+
export { default as ColorLegend } from './ColorLegend.svelte';
|
|
50
|
+
export { default as HTMLTooltip } from './HTMLTooltip.svelte';
|
|
51
|
+
export { default as SymbolLegend } from './SymbolLegend.svelte';
|
|
52
|
+
// helper marks
|
|
53
|
+
export { default as LinearGradientX } from './helpers/LinearGradientX.svelte';
|
|
54
|
+
export { default as LinearGradientY } from './helpers/LinearGradientY.svelte';
|
package/dist/transforms/bin.js
CHANGED
|
@@ -3,7 +3,7 @@ import { maybeInterval } from '../helpers/autoTicks.js';
|
|
|
3
3
|
import { bin as d3Bin, extent, groups as d3Groups, thresholdFreedmanDiaconis, thresholdScott, thresholdSturges } from 'd3-array';
|
|
4
4
|
import { Reducer, reduceOutputs } from '../helpers/reduce.js';
|
|
5
5
|
import { groupFacetsAndZ } from '../helpers/group.js';
|
|
6
|
-
import { isDate } from '../helpers/typeChecks';
|
|
6
|
+
import { isDate } from '../helpers/typeChecks.js';
|
|
7
7
|
const ThresholdGenerators = {
|
|
8
8
|
auto: thresholdScott,
|
|
9
9
|
scott: thresholdScott,
|
package/dist/transforms/group.js
CHANGED
|
@@ -3,7 +3,7 @@ import { testFilter } from '../helpers/index.js';
|
|
|
3
3
|
import { reduceOutputs } from '../helpers/reduce.js';
|
|
4
4
|
import { resolveChannel } from '../helpers/resolve.js';
|
|
5
5
|
import { groups as d3Groups } from 'd3-array';
|
|
6
|
-
import { omit } from '../helpers';
|
|
6
|
+
import { omit } from '../helpers/index.js';
|
|
7
7
|
import { maybeInterval } from '../helpers/autoTicks.js';
|
|
8
8
|
/**
|
|
9
9
|
* groups the dataset by x and y channel and optionally reduces the group items
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export { bin, binX, binY } from './bin.js';
|
|
2
|
+
export { bollingerX, bollingerY } from './bollinger.js';
|
|
3
|
+
export { geoCentroid } from './centroid.js';
|
|
4
|
+
export { filter } from './filter.js';
|
|
5
|
+
export { map, mapX, mapY } from './map.js';
|
|
6
|
+
export { normalizeX, normalizeY } from './normalize.js';
|
|
7
|
+
export { group, groupX, groupY, groupZ } from './group.js';
|
|
8
|
+
export { intervalX, intervalY } from './interval.js';
|
|
9
|
+
export { recordizeX, recordizeY } from './recordize.js';
|
|
10
|
+
export { renameChannels, replaceChannels } from './rename.js';
|
|
11
|
+
export { select, selectFirst, selectLast, selectMaxX, selectMaxY, selectMinX, selectMinY } from './select.js';
|
|
12
|
+
export { shiftX, shiftY } from './shift.js';
|
|
13
|
+
export { sort, shuffle, reverse } from './sort.js';
|
|
14
|
+
export { stackX, stackY } from './stack.js';
|
|
15
|
+
export { windowX, windowY } from './window.js';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export { bin, binX, binY } from './bin.js';
|
|
2
|
+
export { bollingerX, bollingerY } from './bollinger.js';
|
|
3
|
+
export { geoCentroid } from './centroid.js';
|
|
4
|
+
export { filter } from './filter.js';
|
|
5
|
+
export { map, mapX, mapY } from './map.js';
|
|
6
|
+
export { normalizeX, normalizeY } from './normalize.js';
|
|
7
|
+
export { group, groupX, groupY, groupZ } from './group.js';
|
|
8
|
+
export { intervalX, intervalY } from './interval.js';
|
|
9
|
+
export { recordizeX, recordizeY } from './recordize.js';
|
|
10
|
+
export { renameChannels, replaceChannels } from './rename.js';
|
|
11
|
+
export { select, selectFirst, selectLast, selectMaxX, selectMaxY, selectMinX, selectMinY } from './select.js';
|
|
12
|
+
export { shiftX, shiftY } from './shift.js';
|
|
13
|
+
export { sort, shuffle, reverse } from './sort.js';
|
|
14
|
+
export { stackX, stackY } from './stack.js';
|
|
15
|
+
export { windowX, windowY } from './window.js';
|
package/dist/transforms/stack.js
CHANGED
|
@@ -2,7 +2,6 @@ import isDataRecord from '../helpers/isDataRecord.js';
|
|
|
2
2
|
import { resolveChannel } from '../helpers/resolve.js';
|
|
3
3
|
import { stack, stackOffsetExpand, stackOffsetSilhouette, stackOffsetWiggle, stackOrderAppearance, stackOrderAscending, stackOrderInsideOut, stackOrderNone, stackOffsetDiverging } from 'd3-shape';
|
|
4
4
|
import { index, union, groups as d3Groups } from 'd3-array';
|
|
5
|
-
import { RAW_VALUE } from './recordize';
|
|
6
5
|
const GROUP = Symbol('group');
|
|
7
6
|
const FACET = Symbol('group');
|
|
8
7
|
const DEFAULT_STACK_OPTIONS = {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "svelteplot",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.5",
|
|
4
4
|
"license": "ISC",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Gregor Aisch",
|
|
@@ -22,6 +22,9 @@
|
|
|
22
22
|
},
|
|
23
23
|
"./marks/*.svelte": {
|
|
24
24
|
"import": "./dist/marks/*.svelte"
|
|
25
|
+
},
|
|
26
|
+
"./transforms": {
|
|
27
|
+
"import": "./dist/transforms/index.js"
|
|
25
28
|
}
|
|
26
29
|
},
|
|
27
30
|
"main": "./dist/index.js",
|