layerchart 0.59.4 → 0.59.6
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.
|
@@ -49,10 +49,7 @@
|
|
|
49
49
|
swatch?: string;
|
|
50
50
|
} = {};
|
|
51
51
|
|
|
52
|
-
$:
|
|
53
|
-
// Read scale from chart context
|
|
54
|
-
scale = $cScale;
|
|
55
|
-
}
|
|
52
|
+
$: _scale = scale ?? (cScale ? $cScale : null);
|
|
56
53
|
|
|
57
54
|
let xScale: AnyScale;
|
|
58
55
|
let interpolator: ((t: number) => string) | undefined;
|
|
@@ -60,47 +57,47 @@
|
|
|
60
57
|
let tickLabelOffset = 0;
|
|
61
58
|
let tickLine = true;
|
|
62
59
|
|
|
63
|
-
$: if (!
|
|
60
|
+
$: if (!_scale) {
|
|
64
61
|
// do nothing
|
|
65
|
-
} else if (
|
|
62
|
+
} else if (_scale.interpolate) {
|
|
66
63
|
// Continuous
|
|
67
|
-
const n = Math.min(
|
|
68
|
-
xScale =
|
|
69
|
-
interpolator =
|
|
64
|
+
const n = Math.min(_scale.domain().length, _scale.range().length);
|
|
65
|
+
xScale = _scale.copy().rangeRound(quantize(interpolate(0, width), n));
|
|
66
|
+
interpolator = _scale.copy().domain(quantize(interpolate(0, 1), n));
|
|
70
67
|
tickFormat = tickFormat ?? xScale.tickFormat?.();
|
|
71
|
-
} else if (
|
|
68
|
+
} else if (_scale.interpolator) {
|
|
72
69
|
// Sequential
|
|
73
|
-
xScale = Object.assign(
|
|
70
|
+
xScale = Object.assign(_scale.copy().interpolator(interpolateRound(0, width)), {
|
|
74
71
|
range() {
|
|
75
72
|
return [0, width];
|
|
76
73
|
},
|
|
77
74
|
});
|
|
78
|
-
interpolator =
|
|
75
|
+
interpolator = _scale.interpolator();
|
|
79
76
|
|
|
80
77
|
// scaleSequentialQuantile doesn’t implement ticks or tickFormat.
|
|
81
78
|
if (!xScale.ticks) {
|
|
82
79
|
if (tickValues === undefined) {
|
|
83
80
|
const n = Math.round(ticks + 1);
|
|
84
|
-
tickValues = range(n).map((i) => quantile(
|
|
81
|
+
tickValues = range(n).map((i) => quantile(_scale.domain(), i / (n - 1)));
|
|
85
82
|
}
|
|
86
83
|
// if (typeof tickFormat !== "function") {
|
|
87
84
|
// tickFormat = d3.format(tickFormat === undefined ? ",f" : tickFormat);
|
|
88
85
|
// }
|
|
89
86
|
}
|
|
90
87
|
tickFormat = tickFormat ?? xScale.tickFormat?.();
|
|
91
|
-
} else if (
|
|
88
|
+
} else if (_scale.invertExtent) {
|
|
92
89
|
// Threshold
|
|
93
|
-
const thresholds =
|
|
94
|
-
?
|
|
95
|
-
:
|
|
96
|
-
?
|
|
97
|
-
:
|
|
90
|
+
const thresholds = _scale.thresholds
|
|
91
|
+
? _scale.thresholds() // scaleQuantize
|
|
92
|
+
: _scale.quantiles
|
|
93
|
+
? _scale.quantiles() // scaleQuantile
|
|
94
|
+
: _scale.domain(); // scaleThreshold
|
|
98
95
|
|
|
99
96
|
xScale = scaleLinear()
|
|
100
|
-
.domain([-1,
|
|
97
|
+
.domain([-1, _scale.range().length - 1])
|
|
101
98
|
.rangeRound([0, width]);
|
|
102
99
|
|
|
103
|
-
swatches =
|
|
100
|
+
swatches = _scale.range().map((d: any, i: number) => {
|
|
104
101
|
return {
|
|
105
102
|
x: xScale(i - 1),
|
|
106
103
|
y: 0,
|
|
@@ -117,19 +114,19 @@
|
|
|
117
114
|
};
|
|
118
115
|
} else {
|
|
119
116
|
// Ordinal
|
|
120
|
-
xScale = scaleBand().domain(
|
|
117
|
+
xScale = scaleBand().domain(_scale.domain()).rangeRound([0, width]);
|
|
121
118
|
|
|
122
|
-
swatches =
|
|
119
|
+
swatches = _scale.domain().map((d: any) => {
|
|
123
120
|
return {
|
|
124
121
|
x: xScale(d),
|
|
125
122
|
y: 0,
|
|
126
123
|
width: Math.max(0, xScale.bandwidth() - 1),
|
|
127
124
|
height,
|
|
128
|
-
fill:
|
|
125
|
+
fill: _scale(d),
|
|
129
126
|
};
|
|
130
127
|
});
|
|
131
128
|
|
|
132
|
-
tickValues =
|
|
129
|
+
tickValues = _scale.domain();
|
|
133
130
|
tickLabelOffset = xScale.bandwidth() / 2;
|
|
134
131
|
tickLine = false;
|
|
135
132
|
tickLength = 0;
|
|
@@ -159,7 +156,7 @@
|
|
|
159
156
|
)}
|
|
160
157
|
>
|
|
161
158
|
<div class={cls('text-[10px] font-semibold', classes.title)}>{title}</div>
|
|
162
|
-
<slot values={tickValues ?? []} {
|
|
159
|
+
<slot values={tickValues ?? []} scale={_scale}>
|
|
163
160
|
{#if variant === 'ramp'}
|
|
164
161
|
<svg
|
|
165
162
|
{width}
|
|
@@ -210,7 +207,7 @@
|
|
|
210
207
|
)}
|
|
211
208
|
>
|
|
212
209
|
{#each tickValues ?? xScale?.ticks?.(ticks) ?? [] as tick}
|
|
213
|
-
{@const color =
|
|
210
|
+
{@const color = _scale(tick)}
|
|
214
211
|
<button
|
|
215
212
|
class={cls('flex gap-1', !onClick && 'cursor-auto')}
|
|
216
213
|
on:click={() => onClick?.({ tick, color })}
|
|
@@ -217,8 +217,7 @@ declare class __sveltets_Render<TData> {
|
|
|
217
217
|
label?: string;
|
|
218
218
|
tick?: string;
|
|
219
219
|
swatches?: string;
|
|
220
|
-
swatch
|
|
221
|
-
/** Key accessor */ ? /** Key accessor */: string;
|
|
220
|
+
swatch?: string;
|
|
222
221
|
} | undefined;
|
|
223
222
|
};
|
|
224
223
|
maxValue?: number | undefined;
|
package/package.json
CHANGED
|
@@ -4,15 +4,15 @@
|
|
|
4
4
|
"author": "Sean Lynch <techniq35@gmail.com>",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": "techniq/layerchart",
|
|
7
|
-
"version": "0.59.
|
|
7
|
+
"version": "0.59.6",
|
|
8
8
|
"devDependencies": {
|
|
9
|
-
"@changesets/cli": "^2.27.
|
|
9
|
+
"@changesets/cli": "^2.27.10",
|
|
10
10
|
"@mdi/js": "^7.4.47",
|
|
11
11
|
"@rollup/plugin-dsv": "^3.0.5",
|
|
12
|
-
"@sveltejs/adapter-cloudflare": "^4.7.
|
|
13
|
-
"@sveltejs/kit": "^2.
|
|
14
|
-
"@sveltejs/package": "^2.3.
|
|
15
|
-
"@sveltejs/vite-plugin-svelte": "^4.0.
|
|
12
|
+
"@sveltejs/adapter-cloudflare": "^4.7.4",
|
|
13
|
+
"@sveltejs/kit": "^2.8.1",
|
|
14
|
+
"@sveltejs/package": "^2.3.7",
|
|
15
|
+
"@sveltejs/vite-plugin-svelte": "^4.0.1",
|
|
16
16
|
"@svitejs/changesets-changelog-github-compact": "^1.2.0",
|
|
17
17
|
"@tailwindcss/typography": "^0.5.15",
|
|
18
18
|
"@types/d3-array": "^3.2.1",
|
|
@@ -33,44 +33,44 @@
|
|
|
33
33
|
"@types/d3-shape": "^3.1.6",
|
|
34
34
|
"@types/d3-time": "^3.0.3",
|
|
35
35
|
"@types/lodash-es": "^4.17.12",
|
|
36
|
-
"@types/prismjs": "^1.26.
|
|
36
|
+
"@types/prismjs": "^1.26.5",
|
|
37
37
|
"@types/shapefile": "^0.6.4",
|
|
38
38
|
"@types/topojson-client": "^3.1.5",
|
|
39
39
|
"@types/topojson-simplify": "^3.0.3",
|
|
40
40
|
"@types/topojson-specification": "^1.0.5",
|
|
41
41
|
"autoprefixer": "^10.4.20",
|
|
42
|
-
"marked": "^
|
|
42
|
+
"marked": "^15.0.2",
|
|
43
43
|
"mdsvex": "^0.12.3",
|
|
44
44
|
"posthog-js": "^1.95.1",
|
|
45
45
|
"prettier": "^3.3.3",
|
|
46
|
-
"prettier-plugin-svelte": "^3.2
|
|
46
|
+
"prettier-plugin-svelte": "^3.3.2",
|
|
47
47
|
"prism-svelte": "^0.5.0",
|
|
48
48
|
"prism-themes": "^1.9.0",
|
|
49
49
|
"prismjs": "^1.29.0",
|
|
50
50
|
"rehype-slug": "^6.0.0",
|
|
51
51
|
"shapefile": "^0.6.6",
|
|
52
52
|
"solar-calculator": "^0.3.0",
|
|
53
|
-
"svelte": "^5.
|
|
54
|
-
"svelte-check": "^4.0
|
|
53
|
+
"svelte": "^5.2.7",
|
|
54
|
+
"svelte-check": "^4.1.0",
|
|
55
55
|
"svelte-json-tree": "^2.2.0",
|
|
56
|
-
"svelte-ux": "^0.75.
|
|
57
|
-
"svelte2tsx": "^0.7.
|
|
58
|
-
"tailwindcss": "^3.4.
|
|
56
|
+
"svelte-ux": "^0.75.4",
|
|
57
|
+
"svelte2tsx": "^0.7.27",
|
|
58
|
+
"tailwindcss": "^3.4.15",
|
|
59
59
|
"topojson-client": "^3.1.0",
|
|
60
60
|
"topojson-simplify": "^3.0.3",
|
|
61
|
-
"tslib": "^2.8.
|
|
61
|
+
"tslib": "^2.8.1",
|
|
62
62
|
"typescript": "^5.6.3",
|
|
63
63
|
"unist-util-visit": "^5.0.0",
|
|
64
64
|
"us-atlas": "^3.0.1",
|
|
65
|
-
"vite": "^5.4.
|
|
66
|
-
"vitest": "^2.1.
|
|
65
|
+
"vite": "^5.4.11",
|
|
66
|
+
"vitest": "^2.1.5"
|
|
67
67
|
},
|
|
68
68
|
"type": "module",
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"@layerstack/svelte-actions": "^0.0.
|
|
71
|
-
"@layerstack/svelte-stores": "^0.0.
|
|
72
|
-
"@layerstack/tailwind": "^0.0.
|
|
73
|
-
"@layerstack/utils": "^0.0.
|
|
70
|
+
"@layerstack/svelte-actions": "^0.0.9",
|
|
71
|
+
"@layerstack/svelte-stores": "^0.0.9",
|
|
72
|
+
"@layerstack/tailwind": "^0.0.11",
|
|
73
|
+
"@layerstack/utils": "^0.0.7",
|
|
74
74
|
"d3-array": "^3.2.4",
|
|
75
75
|
"d3-color": "^3.1.0",
|
|
76
76
|
"d3-delaunay": "^6.0.4",
|
|
@@ -90,10 +90,10 @@
|
|
|
90
90
|
"d3-shape": "^3.2.0",
|
|
91
91
|
"d3-tile": "^1.0.0",
|
|
92
92
|
"d3-time": "^3.1.0",
|
|
93
|
-
"date-fns": "^
|
|
94
|
-
"layercake": "^8.4.
|
|
93
|
+
"date-fns": "^4.1.0",
|
|
94
|
+
"layercake": "^8.4.2",
|
|
95
95
|
"lodash-es": "^4.17.21",
|
|
96
|
-
"posthog-js": "^1.
|
|
96
|
+
"posthog-js": "^1.187.2",
|
|
97
97
|
"shapefile": "^0.6.6",
|
|
98
98
|
"topojson-client": "^3.1.0"
|
|
99
99
|
},
|