@gearbox-protocol/permissionless-ui 1.26.2 → 1.26.4
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/cjs/components/graph/default-config.cjs +1 -1
- package/dist/cjs/components/graph/formatters.cjs +1 -1
- package/dist/cjs/components/graph/graph-tooltip.cjs +1 -1
- package/dist/cjs/components/graph/graph.cjs +1 -1
- package/dist/cjs/components/graph/index.cjs +1 -1
- package/dist/cjs/components/index.cjs +1 -1
- package/dist/cjs/components/trading-view/trading-view.cjs +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/esm/components/graph/default-config.js +6 -2
- package/dist/esm/components/graph/formatters.js +147 -105
- package/dist/esm/components/graph/graph-tooltip.js +8 -8
- package/dist/esm/components/graph/graph.js +376 -345
- package/dist/esm/components/graph/index.js +16 -15
- package/dist/esm/components/index.js +440 -439
- package/dist/esm/components/trading-view/trading-view.js +147 -143
- package/dist/esm/index.js +589 -588
- package/dist/types/components/graph/formatters.d.ts +10 -1
- package/dist/types/components/graph/index.d.ts +1 -1
- package/dist/types/components/graph/plugins/vertical-line.d.ts +2 -2
- package/dist/types/components/trading-view/trading-view.d.ts +2 -0
- package/package.json +6 -6
|
@@ -1,147 +1,189 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { TickMarkType as S } from "lightweight-charts";
|
|
2
|
+
import { DateTime as $ } from "luxon";
|
|
3
|
+
import { isBelowDisplayThreshold as x, FORMAT_CONSTANTS as U, toSignificantDigits as H, formatNumberWithSuffix as I } from "../../utils/format-number.js";
|
|
4
|
+
const { MIN_DISPLAY_THRESHOLD: g, MAX_EXPONENTIAL_THRESHOLD: R } = U, V = (t, e, n = "full") => {
|
|
5
|
+
if (x(t))
|
|
6
|
+
return e ? `<${g}${e}` : `<${g}`;
|
|
6
7
|
if (t === 0)
|
|
7
8
|
return e ? `0${e}` : "0";
|
|
8
|
-
const a =
|
|
9
|
-
maxExponentialThreshold:
|
|
9
|
+
const a = I(t, {
|
|
10
|
+
maxExponentialThreshold: R,
|
|
10
11
|
minimumFractionDigits: 0,
|
|
11
|
-
maximumFractionDigits:
|
|
12
|
-
format:
|
|
13
|
-
adaptiveDecimals:
|
|
12
|
+
maximumFractionDigits: n === "short" ? 1 : 0,
|
|
13
|
+
format: n,
|
|
14
|
+
adaptiveDecimals: n === "short"
|
|
14
15
|
});
|
|
15
16
|
return e ? `${a}${e}` : a;
|
|
16
|
-
}, X = 2,
|
|
17
|
-
if (
|
|
18
|
-
return e ? `<${
|
|
17
|
+
}, X = 2, O = (t, e) => {
|
|
18
|
+
if (x(t))
|
|
19
|
+
return e ? `<${g}${e}` : `<${g}`;
|
|
19
20
|
if (t === 0)
|
|
20
21
|
return e ? `0${e}` : "0";
|
|
21
|
-
const
|
|
22
|
-
return e ? `${
|
|
23
|
-
}, P = 4,
|
|
24
|
-
if (
|
|
25
|
-
return `<${
|
|
22
|
+
const n = H(t, X);
|
|
23
|
+
return e ? `${n}${e}` : n;
|
|
24
|
+
}, P = 4, C = (t) => {
|
|
25
|
+
if (x(t))
|
|
26
|
+
return `<${g}`;
|
|
26
27
|
if (t === 0)
|
|
27
28
|
return "0";
|
|
28
|
-
const e = Math.round(t),
|
|
29
|
-
return
|
|
30
|
-
},
|
|
31
|
-
if (
|
|
32
|
-
return e ? `<${
|
|
29
|
+
const e = Math.round(t), n = Math.abs(t - e);
|
|
30
|
+
return n > 0 && n < 0.01 ? t.toFixed(12).replace(/0+$/, "").replace(/\.$/, "") : H(t, P);
|
|
31
|
+
}, w = (t, e) => {
|
|
32
|
+
if (x(t))
|
|
33
|
+
return e ? `<${g} ${e}` : `<${g}`;
|
|
33
34
|
if (t === 0)
|
|
34
35
|
return e ? `0 ${e}` : "0";
|
|
35
|
-
const
|
|
36
|
-
if (
|
|
37
|
-
const
|
|
38
|
-
return e ? `${
|
|
36
|
+
const n = Number.isInteger(t), a = Math.abs(t), c = n && a >= 1e3, s = Math.round(t), o = Math.abs(t - s);
|
|
37
|
+
if (o > 0 && o < 0.01 && !c) {
|
|
38
|
+
const D = t.toFixed(12).replace(/0+$/, "").replace(/\.$/, "");
|
|
39
|
+
return e ? `${D} ${e}` : D;
|
|
39
40
|
}
|
|
40
|
-
const
|
|
41
|
-
maxExponentialThreshold:
|
|
42
|
-
minimumFractionDigits:
|
|
43
|
-
maximumFractionDigits:
|
|
44
|
-
format:
|
|
45
|
-
adaptiveDecimals:
|
|
41
|
+
const l = I(t, {
|
|
42
|
+
maxExponentialThreshold: R,
|
|
43
|
+
minimumFractionDigits: n ? 0 : 2,
|
|
44
|
+
maximumFractionDigits: c ? 1 : n ? 0 : 2,
|
|
45
|
+
format: c ? "short" : "full",
|
|
46
|
+
adaptiveDecimals: c
|
|
46
47
|
});
|
|
47
|
-
return e ? `${
|
|
48
|
+
return e ? `${l} ${e}` : l;
|
|
48
49
|
}, N = {
|
|
49
|
-
"%":
|
|
50
|
-
$:
|
|
51
|
-
token:
|
|
52
|
-
none:
|
|
53
|
-
},
|
|
54
|
-
function
|
|
50
|
+
"%": O,
|
|
51
|
+
$: V,
|
|
52
|
+
token: w,
|
|
53
|
+
none: C
|
|
54
|
+
}, tt = (t) => N[t] || N.token;
|
|
55
|
+
function et(t, e, n = 4) {
|
|
55
56
|
if (t === 0)
|
|
56
57
|
return e ? `0 ${e}` : "0";
|
|
57
58
|
const a = t.toLocaleString("en-US", {
|
|
58
59
|
minimumFractionDigits: 0,
|
|
59
|
-
maximumFractionDigits:
|
|
60
|
+
maximumFractionDigits: n
|
|
60
61
|
});
|
|
61
62
|
return e ? `${a} ${e}` : a;
|
|
62
63
|
}
|
|
63
|
-
function
|
|
64
|
-
const a =
|
|
65
|
-
let
|
|
66
|
-
const
|
|
67
|
-
const
|
|
68
|
-
let
|
|
69
|
-
|
|
70
|
-
const
|
|
71
|
-
let
|
|
72
|
-
if (
|
|
73
|
-
const
|
|
74
|
-
|
|
64
|
+
function rt(t, e, n) {
|
|
65
|
+
const a = n?.yScaleMin;
|
|
66
|
+
let c = t.length > 0 ? Math.min(...t) : 0, s = t.length > 0 ? Math.max(...t) : 0, o = [];
|
|
67
|
+
const u = () => {
|
|
68
|
+
const r = s - c, i = (c + s) / 2;
|
|
69
|
+
let f = 1, m = "";
|
|
70
|
+
i >= 1e9 ? (f = 1e9, m = "B") : i >= 1e6 ? (f = 1e6, m = "M") : i >= 1e3 && (f = 1e3, m = "K");
|
|
71
|
+
const T = r / 10 / f;
|
|
72
|
+
let M = 1;
|
|
73
|
+
if (T > 0) {
|
|
74
|
+
const L = Math.floor(Math.log10(T));
|
|
75
|
+
M = Math.max(1, -L), M = Math.min(M, 4);
|
|
75
76
|
}
|
|
76
|
-
return { scale:
|
|
77
|
-
},
|
|
78
|
-
const m =
|
|
79
|
-
return
|
|
77
|
+
return { scale: f, suffix: m, decimals: M };
|
|
78
|
+
}, l = (r, i, f) => {
|
|
79
|
+
const m = i > 1 ? r / i : r, d = Math.abs(m) >= 1 ? 1 : 4;
|
|
80
|
+
return i > 1 ? `${(r / i).toLocaleString("en-US", {
|
|
80
81
|
minimumFractionDigits: 0,
|
|
81
|
-
maximumFractionDigits:
|
|
82
|
+
maximumFractionDigits: d,
|
|
82
83
|
useGrouping: !1
|
|
83
|
-
})}${
|
|
84
|
+
})}${f}` : r.toLocaleString("en-US", {
|
|
84
85
|
minimumFractionDigits: 0,
|
|
85
|
-
maximumFractionDigits:
|
|
86
|
+
maximumFractionDigits: d,
|
|
86
87
|
useGrouping: !1
|
|
87
88
|
});
|
|
88
|
-
},
|
|
89
|
-
|
|
90
|
-
if (
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
(
|
|
96
|
-
) : F, M = Math.abs(n) * 1e-10 || 1e-10;
|
|
97
|
-
if (l.some(
|
|
98
|
-
(c) => Math.abs(c - n) < M
|
|
89
|
+
}, D = 0.02, k = (r) => {
|
|
90
|
+
if (a !== void 0 && r < a) return "";
|
|
91
|
+
if (r === 0) return "0";
|
|
92
|
+
const { scale: i, suffix: f, decimals: m } = u(), d = s - c, F = d > 0 ? o.filter(
|
|
93
|
+
(h) => Math.abs(h) >= d * D
|
|
94
|
+
) : o, M = (d > 0 ? d / 10 : 0) * 0.05, L = Math.abs(r) * 1e-10 || 1e-10;
|
|
95
|
+
if (F.some(
|
|
96
|
+
(h) => Math.abs(h - r) < L
|
|
99
97
|
))
|
|
100
|
-
return
|
|
101
|
-
if (
|
|
102
|
-
const
|
|
103
|
-
(
|
|
98
|
+
return l(r, i, f);
|
|
99
|
+
if (F.length > 0 && M > 0) {
|
|
100
|
+
const h = F.reduce(
|
|
101
|
+
(p, A) => Math.abs(A - r) < Math.abs(p - r) ? A : p
|
|
104
102
|
);
|
|
105
|
-
if (Math.abs(
|
|
106
|
-
return h
|
|
103
|
+
if (Math.abs(r - h) < M)
|
|
104
|
+
return l(h, i, f);
|
|
107
105
|
}
|
|
108
|
-
const
|
|
109
|
-
return
|
|
106
|
+
const G = i > 1 ? r / i : r, E = Math.abs(G) >= 1 ? Math.min(1, m) : m;
|
|
107
|
+
return i > 1 ? `${(r / i).toLocaleString("en-US", {
|
|
110
108
|
minimumFractionDigits: 0,
|
|
111
|
-
maximumFractionDigits:
|
|
109
|
+
maximumFractionDigits: E,
|
|
112
110
|
useGrouping: !1
|
|
113
|
-
})}${
|
|
111
|
+
})}${f}` : r.toLocaleString("en-US", {
|
|
114
112
|
minimumFractionDigits: 0,
|
|
115
|
-
maximumFractionDigits:
|
|
113
|
+
maximumFractionDigits: E,
|
|
116
114
|
useGrouping: !1
|
|
117
115
|
});
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
116
|
+
};
|
|
117
|
+
return {
|
|
118
|
+
formatter: (r) => k(r),
|
|
119
|
+
tickmarksFormatter: (r) => {
|
|
120
|
+
const i = /* @__PURE__ */ new Set();
|
|
121
|
+
return r.map((f) => {
|
|
122
|
+
const m = k(f);
|
|
123
|
+
return !m || i.has(m) ? "" : (i.add(m), m);
|
|
124
|
+
});
|
|
125
|
+
},
|
|
126
|
+
updateVisibleRange: (r) => {
|
|
127
|
+
r.length > 0 && (c = Math.min(...r), s = Math.max(...r));
|
|
128
|
+
},
|
|
129
|
+
updateLastValues: (r) => {
|
|
130
|
+
o = [...r];
|
|
131
|
+
}
|
|
132
|
+
};
|
|
123
133
|
}
|
|
124
|
-
const
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
134
|
+
const b = (t) => $.fromSeconds(Number(t)).toFormat("dd/LL/yyyy HH:mm"), Y = (t) => $.fromSeconds(Number(t)).toFormat("HH:mm"), y = (t, e) => O(Number(t), e), _ = {
|
|
135
|
+
time: b,
|
|
136
|
+
"%": y
|
|
137
|
+
};
|
|
138
|
+
function W(t) {
|
|
139
|
+
const e = /* @__PURE__ */ new Map();
|
|
140
|
+
return (n, a, c) => {
|
|
141
|
+
const s = $.fromSeconds(Number(n));
|
|
142
|
+
let o;
|
|
143
|
+
if (t === 0)
|
|
144
|
+
o = s.toFormat("HH:mm");
|
|
145
|
+
else
|
|
146
|
+
switch (a) {
|
|
147
|
+
case S.Year:
|
|
148
|
+
o = s.toFormat("yyyy");
|
|
149
|
+
break;
|
|
150
|
+
case S.Month:
|
|
151
|
+
o = s.toFormat("MMM yy");
|
|
152
|
+
break;
|
|
153
|
+
case S.DayOfMonth:
|
|
154
|
+
o = t > 365 ? s.toFormat("dd MMM yy") : s.toFormat("dd MMM");
|
|
155
|
+
break;
|
|
156
|
+
case S.Time:
|
|
157
|
+
case S.TimeWithSeconds:
|
|
158
|
+
o = s.toFormat("HH:mm");
|
|
159
|
+
break;
|
|
160
|
+
default:
|
|
161
|
+
o = s.toFormat("dd MMM");
|
|
162
|
+
}
|
|
163
|
+
let u = e.get(a);
|
|
164
|
+
return u || (u = /* @__PURE__ */ new Set(), e.set(a, u)), u.has(o) ? " " : (u.add(o), o);
|
|
129
165
|
};
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
"%": B
|
|
133
|
-
}, v = (t, e) => {
|
|
166
|
+
}
|
|
167
|
+
const z = (t, e) => {
|
|
134
168
|
if (t === "time" && e && e.length > 0) {
|
|
135
|
-
const
|
|
169
|
+
const a = $.fromSeconds(Number(e[0].time)), c = $.fromSeconds(
|
|
136
170
|
Number(e[e.length - 1].time)
|
|
137
|
-
);
|
|
138
|
-
return
|
|
171
|
+
), s = a.hasSame(c, "day"), o = s ? 0 : Math.ceil(c.diff(a, "days").days);
|
|
172
|
+
return {
|
|
173
|
+
timeFormatter: s ? Y : b,
|
|
174
|
+
tickMarkFormatter: W(o)
|
|
175
|
+
};
|
|
139
176
|
}
|
|
140
|
-
|
|
141
|
-
|
|
177
|
+
const n = _[t] || _.time;
|
|
178
|
+
return {
|
|
179
|
+
timeFormatter: n,
|
|
180
|
+
tickMarkFormatter: (a) => n(a, void 0)
|
|
181
|
+
};
|
|
182
|
+
}, nt = (t, e) => z(t, e).timeFormatter;
|
|
142
183
|
export {
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
184
|
+
rt as createAdaptiveYAxisFormatter,
|
|
185
|
+
et as formatExactValue,
|
|
186
|
+
nt as getXFormatter,
|
|
187
|
+
z as getXFormatters,
|
|
188
|
+
tt as getYFormatter
|
|
147
189
|
};
|
|
@@ -13,28 +13,28 @@ function M({
|
|
|
13
13
|
containerRef: b,
|
|
14
14
|
decimals: u
|
|
15
15
|
}) {
|
|
16
|
-
const w = k(null), [f,
|
|
16
|
+
const w = k(null), [f, a] = F(t), C = A(g);
|
|
17
17
|
S(() => {
|
|
18
18
|
if (!t) {
|
|
19
|
-
|
|
19
|
+
a(t);
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
22
|
const r = b?.current;
|
|
23
23
|
if (!r) {
|
|
24
|
-
|
|
24
|
+
a(t);
|
|
25
25
|
return;
|
|
26
26
|
}
|
|
27
27
|
const c = w.current;
|
|
28
28
|
if (!c) {
|
|
29
|
-
|
|
29
|
+
a(t);
|
|
30
30
|
return;
|
|
31
31
|
}
|
|
32
32
|
const o = r.getBoundingClientRect(), i = c.getBoundingClientRect();
|
|
33
33
|
let n = t.x, e = t.y;
|
|
34
|
-
const s = i.width, p = i.height,
|
|
35
|
-
n - s / 2 <
|
|
34
|
+
const s = i.width, p = i.height, l = 8;
|
|
35
|
+
n - s / 2 < l ? n = s / 2 + l : n + s / 2 > o.width - l && (n = o.width - s / 2 - l);
|
|
36
36
|
const y = p + 8;
|
|
37
|
-
e - y <
|
|
37
|
+
e - y < l ? e = t.y + 20 : e = t.y - y, a({ x: n, y: e });
|
|
38
38
|
}, [t, b]);
|
|
39
39
|
const P = f ? {
|
|
40
40
|
left: `${f.x}px`,
|
|
@@ -59,7 +59,7 @@ function M({
|
|
|
59
59
|
v.map((r, c) => {
|
|
60
60
|
const o = d.get(r.label);
|
|
61
61
|
if (!o) return null;
|
|
62
|
-
const i = B(c), n = r.color || i.line, e = r.yMeasureUnit || N, s = e !== "%" && e !== "$" && e !== "none" ? e : void 0, p = e === "$" ? `$${x(o.value, void 0, u)}` : e === "%" ? `${x(o.value, void 0, u)}%` : x(o.value, s, u);
|
|
62
|
+
const i = B(c), n = (r.lineColor ?? r.color) || i.line, e = r.yMeasureUnit || N, s = e !== "%" && e !== "$" && e !== "none" ? e : void 0, p = e === "$" ? `$${x(o.value, void 0, u)}` : e === "%" ? `${x(o.value, void 0, u)}%` : x(o.value, s, u);
|
|
63
63
|
return /* @__PURE__ */ h(
|
|
64
64
|
"div",
|
|
65
65
|
{
|