@cascivo/charts 0.18.0 → 1.0.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/README.md +14 -0
- package/dist/chart-frame.module-CkOcXGSL.js +191 -0
- package/dist/index.d.ts +45 -44
- package/dist/index.js +2005 -2172
- package/dist/node/chart-frame.module-CkOcXGSL.js +191 -0
- package/dist/node/index.js +2005 -2172
- package/dist/node/sparkline.js +61 -0
- package/dist/sparkline.d.ts +43 -0
- package/dist/sparkline.js +62 -0
- package/package.json +9 -3
- package/readme.body.md +14 -0
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
//#region src/engine/scale.ts
|
|
3
|
+
function e(e, n) {
|
|
4
|
+
let [r, i] = e, [a, o] = n, s = i - r;
|
|
5
|
+
return {
|
|
6
|
+
domain: e,
|
|
7
|
+
range: n,
|
|
8
|
+
map: (e) => s === 0 ? a : a + (e - r) / s * (o - a),
|
|
9
|
+
invert: (e) => o - a === 0 ? r : r + (e - a) / (o - a) * s,
|
|
10
|
+
ticks: (e = 5, n) => t(r, i, e, n)
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
function t(e, t, n = 5, r) {
|
|
14
|
+
if (!Number.isFinite(e) || !Number.isFinite(t) || e === t) return [e];
|
|
15
|
+
e > t && ([e, t] = [t, e]);
|
|
16
|
+
let i = r ?? !(Number.isInteger(e) && Number.isInteger(t)), a = (t - e) / Math.max(1, n), o = 10 ** Math.floor(Math.log10(a)), s = i ? [
|
|
17
|
+
1,
|
|
18
|
+
2,
|
|
19
|
+
2.5,
|
|
20
|
+
5,
|
|
21
|
+
10
|
|
22
|
+
] : [
|
|
23
|
+
1,
|
|
24
|
+
2,
|
|
25
|
+
5,
|
|
26
|
+
10
|
|
27
|
+
], c = a / o, l = (s.find((e) => e >= c) ?? 10) * o;
|
|
28
|
+
i || (l = Math.max(1, Math.round(l)));
|
|
29
|
+
let u = Math.ceil(e / l), d = Math.floor(t / l + 1e-9), f = [], p = Math.max(0, Math.ceil(-Math.log10(l)) + 2);
|
|
30
|
+
for (let e = u; e <= d; e++) f.push(parseFloat((e * l).toFixed(p)));
|
|
31
|
+
return f;
|
|
32
|
+
}
|
|
33
|
+
function n(e, t, n = .1) {
|
|
34
|
+
let [r, i] = t, a = e.length, o = (i - r) / Math.max(1, a + n * (a + 1)), s = o, c = o * n, l = new Map(e.map((e, t) => [e, t]));
|
|
35
|
+
return {
|
|
36
|
+
domain: e,
|
|
37
|
+
range: t,
|
|
38
|
+
bandwidth: s,
|
|
39
|
+
map: (e) => {
|
|
40
|
+
let t = l.get(e);
|
|
41
|
+
return t === void 0 ? void 0 : r + c + t * (o + c);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
function r(e, t) {
|
|
46
|
+
let [n, r] = e, [i, a] = t, o = Math.sqrt(Math.max(0, n)), s = Math.sqrt(Math.max(0, r)) - o;
|
|
47
|
+
return (e) => s === 0 ? (i + a) / 2 : i + (Math.sqrt(Math.max(0, e)) - o) / s * (a - i);
|
|
48
|
+
}
|
|
49
|
+
//#endregion
|
|
50
|
+
//#region src/engine/shape.ts
|
|
51
|
+
function i(e) {
|
|
52
|
+
return Math.round(e * 100) / 100;
|
|
53
|
+
}
|
|
54
|
+
function a(e, t = !1) {
|
|
55
|
+
if (t) {
|
|
56
|
+
let t = e.filter((e) => e !== null);
|
|
57
|
+
return t.length > 0 ? [t] : [];
|
|
58
|
+
}
|
|
59
|
+
let n = [], r = [];
|
|
60
|
+
for (let t of e) t === null ? (r.length > 0 && n.push(r), r = []) : r.push(t);
|
|
61
|
+
return r.length > 0 && n.push(r), n;
|
|
62
|
+
}
|
|
63
|
+
function o(e, t = "linear") {
|
|
64
|
+
if (e.length === 0) return "";
|
|
65
|
+
if (e.length === 1 || t === "linear") return e.map(([e, t], n) => `${n === 0 ? "M" : "L"}${e},${t}`).join("");
|
|
66
|
+
switch (t) {
|
|
67
|
+
case "monotone": return p(e);
|
|
68
|
+
case "step":
|
|
69
|
+
case "stepBefore":
|
|
70
|
+
case "stepAfter": return s(e, t);
|
|
71
|
+
case "natural": return l(e);
|
|
72
|
+
case "basis": return u(e);
|
|
73
|
+
case "cardinal": return d(e, 0);
|
|
74
|
+
case "catmullRom": return f(e, .5);
|
|
75
|
+
default: return p(e);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function s(e, t) {
|
|
79
|
+
let n = `M${e[0][0]},${e[0][1]}`;
|
|
80
|
+
for (let r = 0; r < e.length - 1; r++) {
|
|
81
|
+
let [i, a] = e[r], [o, s] = e[r + 1];
|
|
82
|
+
if (t === "stepBefore") n += `L${i},${s}L${o},${s}`;
|
|
83
|
+
else if (t === "stepAfter") n += `L${o},${a}L${o},${s}`;
|
|
84
|
+
else {
|
|
85
|
+
let e = (i + o) / 2;
|
|
86
|
+
n += `L${e},${a}L${e},${s}L${o},${s}`;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return n;
|
|
90
|
+
}
|
|
91
|
+
function c(e) {
|
|
92
|
+
let t = e.length - 1;
|
|
93
|
+
if (t < 1) return [[], []];
|
|
94
|
+
let n = Array(t), r = Array(t), i = Array(t);
|
|
95
|
+
r[0] = 2, i[0] = e[0] + 2 * e[1];
|
|
96
|
+
for (let a = 1; a < t - 1; a++) n[a] = 1, r[a] = 4, i[a] = 4 * e[a] + 2 * e[a + 1];
|
|
97
|
+
n[t - 1] = 2, r[t - 1] = 7, i[t - 1] = 8 * e[t - 1] + e[t];
|
|
98
|
+
for (let e = 1; e < t; e++) {
|
|
99
|
+
let t = (n[e] ?? 0) / r[e - 1];
|
|
100
|
+
r[e] = r[e] - t, i[e] = i[e] - t * i[e - 1];
|
|
101
|
+
}
|
|
102
|
+
let a = Array(t), o = Array(t);
|
|
103
|
+
a[t - 1] = i[t - 1] / r[t - 1];
|
|
104
|
+
for (let e = t - 2; e >= 0; e--) a[e] = (i[e] - a[e + 1]) / r[e];
|
|
105
|
+
for (let n = 0; n < t - 1; n++) o[n] = 2 * e[n + 1] - a[n + 1];
|
|
106
|
+
return o[t - 1] = (e[t] + a[t - 1]) / 2, [a, o];
|
|
107
|
+
}
|
|
108
|
+
function l(e) {
|
|
109
|
+
let t = e.length;
|
|
110
|
+
if (t < 3) return e.map(([e, t], n) => `${n === 0 ? "M" : "L"}${e},${t}`).join("");
|
|
111
|
+
let n = e.map((e) => e[0]), r = e.map((e) => e[1]), [i, a] = c(n), [o, s] = c(r), l = `M${n[0]},${r[0]}`;
|
|
112
|
+
for (let e = 0; e < t - 1; e++) l += `C${i[e]},${o[e]} ${a[e]},${s[e]} ${n[e + 1]},${r[e + 1]}`;
|
|
113
|
+
return l;
|
|
114
|
+
}
|
|
115
|
+
function u(e) {
|
|
116
|
+
let t = e.length;
|
|
117
|
+
if (t < 3) return e.map(([e, t], n) => `${n === 0 ? "M" : "L"}${e},${t}`).join("");
|
|
118
|
+
let n = (n) => e[Math.max(0, Math.min(t - 1, n))][0], r = (n) => e[Math.max(0, Math.min(t - 1, n))][1], i = `M${n(0)},${r(0)}`;
|
|
119
|
+
for (let e = 0; e < t - 1; e++) {
|
|
120
|
+
let t = n(e - 1), a = r(e - 1), o = n(e), s = r(e), c = n(e + 1), l = r(e + 1), u = (2 * t + o) / 3, d = (2 * a + s) / 3, f = (t + 2 * o) / 3, p = (a + 2 * s) / 3, m = (t + 4 * o + c) / 6, h = (a + 4 * s + l) / 6;
|
|
121
|
+
i += `C${u},${d} ${f},${p} ${m},${h}`;
|
|
122
|
+
}
|
|
123
|
+
let a = e[t - 1];
|
|
124
|
+
return i += `L${a[0]},${a[1]}`, i;
|
|
125
|
+
}
|
|
126
|
+
function d(e, t) {
|
|
127
|
+
let n = e.length;
|
|
128
|
+
if (n < 3) return e.map(([e, t], n) => `${n === 0 ? "M" : "L"}${e},${t}`).join("");
|
|
129
|
+
let r = (1 - t) / 6, i = (t) => e[Math.max(0, Math.min(n - 1, t))], a = `M${e[0][0]},${e[0][1]}`;
|
|
130
|
+
for (let e = 0; e < n - 1; e++) {
|
|
131
|
+
let t = i(e - 1), n = i(e), o = i(e + 1), s = i(e + 2), c = n[0] + r * (o[0] - t[0]), l = n[1] + r * (o[1] - t[1]), u = o[0] - r * (s[0] - n[0]), d = o[1] - r * (s[1] - n[1]);
|
|
132
|
+
a += `C${c},${l} ${u},${d} ${o[0]},${o[1]}`;
|
|
133
|
+
}
|
|
134
|
+
return a;
|
|
135
|
+
}
|
|
136
|
+
function f(e, t) {
|
|
137
|
+
let n = e.length;
|
|
138
|
+
if (n < 3) return e.map(([e, t], n) => `${n === 0 ? "M" : "L"}${e},${t}`).join("");
|
|
139
|
+
let r = (t) => e[Math.max(0, Math.min(n - 1, t))], i = (e, t) => Math.hypot(t[0] - e[0], t[1] - e[1]), a = `M${e[0][0]},${e[0][1]}`;
|
|
140
|
+
for (let e = 0; e < n - 1; e++) {
|
|
141
|
+
let n = r(e - 1), o = r(e), s = r(e + 1), c = r(e + 2), l = i(n, o) ** +t || 1e-6, u = i(o, s) ** +t || 1e-6, d = i(s, c) ** +t || 1e-6, f = s[0] - o[0] + u * ((o[0] - n[0]) / l - (s[0] - n[0]) / (l + u)), p = s[1] - o[1] + u * ((o[1] - n[1]) / l - (s[1] - n[1]) / (l + u)), m = s[0] - o[0] + u * ((c[0] - s[0]) / d - (c[0] - o[0]) / (u + d)), h = s[1] - o[1] + u * ((c[1] - s[1]) / d - (c[1] - o[1]) / (u + d)), g = o[0] + f / 3, _ = o[1] + p / 3, v = s[0] - m / 3, y = s[1] - h / 3;
|
|
142
|
+
a += `C${g},${_} ${v},${y} ${s[0]},${s[1]}`;
|
|
143
|
+
}
|
|
144
|
+
return a;
|
|
145
|
+
}
|
|
146
|
+
function p(e) {
|
|
147
|
+
let t = e.length, n = [], r = [], i = [];
|
|
148
|
+
for (let a = 0; a < t - 1; a++) n[a] = e[a + 1][0] - e[a][0], r[a] = e[a + 1][1] - e[a][1], i[a] = n[a] === 0 ? 0 : r[a] / n[a];
|
|
149
|
+
let a = [i[0] ?? 0];
|
|
150
|
+
for (let e = 1; e < t - 1; e++) {
|
|
151
|
+
let t = i[e - 1], n = i[e];
|
|
152
|
+
a[e] = t * n <= 0 ? 0 : 2 * t * n / (t + n);
|
|
153
|
+
}
|
|
154
|
+
a[t - 1] = i[t - 2] ?? 0;
|
|
155
|
+
let o = `M${e[0][0]},${e[0][1]}`;
|
|
156
|
+
for (let n = 0; n < t - 1; n++) {
|
|
157
|
+
let [t, r] = e[n], [i, s] = e[n + 1], c = (i - t) / 3;
|
|
158
|
+
o += `C${t + c},${r + c * a[n]} ${i - c},${s - c * a[n + 1]} ${i},${s}`;
|
|
159
|
+
}
|
|
160
|
+
return o;
|
|
161
|
+
}
|
|
162
|
+
function m(e, t, n = "linear") {
|
|
163
|
+
if (e.length === 0) return "";
|
|
164
|
+
let r = o(e, n), i = e[e.length - 1], a = e[0];
|
|
165
|
+
return `${r}L${i[0]},${t}L${a[0]},${t}Z`;
|
|
166
|
+
}
|
|
167
|
+
function h(e, t, n, r, a, o) {
|
|
168
|
+
let s = 2 * Math.PI;
|
|
169
|
+
if (Math.abs(o - a) >= s - 1e-9) {
|
|
170
|
+
let i = a + Math.PI;
|
|
171
|
+
return h(e, t, n, r, a, i) + h(e, t, n, r, i, a + s - 1e-9);
|
|
172
|
+
}
|
|
173
|
+
let c = (n, r) => [i(e + n * Math.sin(r)), i(t - n * Math.cos(r))], l = +(o - a > Math.PI), u = i(n), d = i(r), [f, p] = c(n, a), [m, g] = c(n, o);
|
|
174
|
+
if (r <= 0) return `M${i(e)},${i(t)}L${f},${p}A${u},${u} 0 ${l} 1 ${m},${g}Z`;
|
|
175
|
+
let [_, v] = c(r, o), [y, b] = c(r, a);
|
|
176
|
+
return `M${f},${p}A${u},${u} 0 ${l} 1 ${m},${g}L${_},${v}A${d},${d} 0 ${l} 0 ${y},${b}Z`;
|
|
177
|
+
}
|
|
178
|
+
function g(e) {
|
|
179
|
+
let t = e[0]?.length ?? 0, n = Array.from({ length: t }, () => 0);
|
|
180
|
+
return e.map((e) => e.map((e, t) => {
|
|
181
|
+
let r = n[t];
|
|
182
|
+
return n[t] = r + e, [r, n[t]];
|
|
183
|
+
}));
|
|
184
|
+
}
|
|
185
|
+
var _ = {
|
|
186
|
+
frame: "_frame_1gm0a_2",
|
|
187
|
+
"cascivo-chart-in": "_cascivo-chart-in_1gm0a_1",
|
|
188
|
+
fallback: "_fallback_1gm0a_78"
|
|
189
|
+
};
|
|
190
|
+
//#endregion
|
|
191
|
+
export { i as a, n as c, r as d, o as i, e as l, h as n, a as o, m as r, g as s, _ as t, t as u };
|