@gearbox-protocol/ui-kit 4.0.0-next.37 → 4.0.0-next.38
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/graph.cjs +1 -1
- package/dist/cjs/components/tab-control/tab-control.cjs +1 -1
- package/dist/cjs/components/trading-view/trading-view.cjs +1 -1
- package/dist/cjs/locale/en.json.cjs +1 -1
- package/dist/esm/components/graph/graph.js +407 -375
- package/dist/esm/components/tab-control/tab-control.js +29 -23
- package/dist/esm/components/trading-view/trading-view.js +87 -85
- package/dist/esm/locale/en.json.js +23 -23
- package/dist/globals.css +1 -1
- package/dist/types/components/graph/graph.d.ts +14 -1
- package/dist/types/components/graph/index.d.ts +1 -1
- package/dist/types/components/trading-view/trading-view.d.ts +8 -1
- package/dist/types/locale/en.json.d.ts +23 -23
- package/package.json +1 -1
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
import { jsx as f, jsxs as T, Fragment as
|
|
2
|
-
import { useRef as
|
|
1
|
+
import { jsx as f, jsxs as T, Fragment as k } from "react/jsx-runtime";
|
|
2
|
+
import { useRef as g, useState as v, useCallback as m, useMemo as w, useEffect as N } from "react";
|
|
3
3
|
import { useNavigationAdapter as C } from "../navigation-context/navigation-context.js";
|
|
4
4
|
import "@gearbox-protocol/sdk/onchain";
|
|
5
|
-
import { cn as
|
|
5
|
+
import { cn as b } from "../../utils/cn.js";
|
|
6
6
|
import "sonner";
|
|
7
7
|
import "@gearbox-protocol/sdk/common-utils";
|
|
8
8
|
import "luxon";
|
|
9
9
|
import "../../utils/z-index.js";
|
|
10
|
-
function
|
|
10
|
+
function S(n) {
|
|
11
11
|
if (!n) return null;
|
|
12
12
|
const { width: r = 0, height: s = 0 } = n?.getBoundingClientRect() || {}, i = n?.offsetTop || 0, o = n?.offsetLeft || 0;
|
|
13
13
|
return { width: r, height: s, left: o, top: i };
|
|
14
14
|
}
|
|
15
|
-
function
|
|
16
|
-
const i =
|
|
15
|
+
function U(n, r, s) {
|
|
16
|
+
const i = g(null), [o, u] = v(null), l = g(null), c = m((e) => {
|
|
17
17
|
u(e), l.current = e;
|
|
18
18
|
}, []);
|
|
19
19
|
return N(() => {
|
|
20
20
|
const e = s.current[n], d = () => {
|
|
21
|
-
const a =
|
|
22
|
-
(h ||
|
|
21
|
+
const a = S(e), h = a?.height !== l.current?.height, p = a?.width !== l.current?.width, x = a?.left !== l.current?.left, y = a?.top !== l.current?.top;
|
|
22
|
+
(h || p || x || y) && c(a);
|
|
23
23
|
};
|
|
24
24
|
i.current = d, d();
|
|
25
25
|
const t = e ? new ResizeObserver(d) : null;
|
|
@@ -43,16 +43,16 @@ function B({
|
|
|
43
43
|
tabItemWrapPadding: o,
|
|
44
44
|
variant: u = "auto"
|
|
45
45
|
}) {
|
|
46
|
-
const l =
|
|
46
|
+
const l = g(null), c = g({}), e = U(
|
|
47
47
|
s.id,
|
|
48
48
|
l.current,
|
|
49
49
|
c
|
|
50
50
|
), d = (t, a) => () => s.handleTabChange(t, a);
|
|
51
|
-
return /* @__PURE__ */ f("div", { className:
|
|
51
|
+
return /* @__PURE__ */ f("div", { className: b("relative w-full flex flex-col flex-wrap", n), children: /* @__PURE__ */ T(
|
|
52
52
|
"div",
|
|
53
53
|
{
|
|
54
54
|
ref: l,
|
|
55
|
-
className:
|
|
55
|
+
className: b(
|
|
56
56
|
"relative w-full max-w-full grow-0 shrink-0 basis-full flex items-stretch overflow-x-auto overflow-y-hidden",
|
|
57
57
|
"scrollbar-hidden",
|
|
58
58
|
i && "after:content-[''] after:absolute after:bottom-0 after:left-0 after:right-0 after:h-px after:bg-border"
|
|
@@ -69,20 +69,26 @@ function B({
|
|
|
69
69
|
}
|
|
70
70
|
),
|
|
71
71
|
r.map((t, a, h) => {
|
|
72
|
-
const
|
|
72
|
+
const p = a === h.length - 1;
|
|
73
73
|
return /* @__PURE__ */ f(
|
|
74
74
|
"button",
|
|
75
75
|
{
|
|
76
|
-
ref: (
|
|
77
|
-
c.current[t.id] =
|
|
76
|
+
ref: (x) => {
|
|
77
|
+
c.current[t.id] = x;
|
|
78
78
|
},
|
|
79
79
|
type: "button",
|
|
80
80
|
onClick: t.disabled ? void 0 : d(t.id, a),
|
|
81
81
|
disabled: t.disabled,
|
|
82
|
-
className:
|
|
83
|
-
|
|
82
|
+
className: b(
|
|
83
|
+
// `outline-none` with nothing in its place left these triggers
|
|
84
|
+
// with no visible focus at all: a keyboard reader tabbing the
|
|
85
|
+
// strip could not see where they were. The ring matches the
|
|
86
|
+
// Radix-backed `Tabs` trigger so the two look the same when
|
|
87
|
+
// focused.
|
|
88
|
+
"flex items-center bg-transparent border-none shrink-0 text-foreground",
|
|
89
|
+
"outline-none ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
84
90
|
o ? "" : "p-0 pb-3.5",
|
|
85
|
-
u === "equal" ? "grow shrink-0 basis-[0%] justify-center min-w-0" : !
|
|
91
|
+
u === "equal" ? "grow shrink-0 basis-[0%] justify-center min-w-0" : !p && "mr-10 max-[500px]:mr-8",
|
|
86
92
|
t.disabled && "cursor-not-allowed",
|
|
87
93
|
!t.disabled && "cursor-pointer",
|
|
88
94
|
!t.disabled && "hover:text-foreground hover:[&>*]:text-foreground"
|
|
@@ -104,11 +110,11 @@ function F({
|
|
|
104
110
|
textSize: i = "default",
|
|
105
111
|
amount: o
|
|
106
112
|
}) {
|
|
107
|
-
return /* @__PURE__ */ T(
|
|
113
|
+
return /* @__PURE__ */ T(k, { children: [
|
|
108
114
|
n && /* @__PURE__ */ f(
|
|
109
115
|
"div",
|
|
110
116
|
{
|
|
111
|
-
className:
|
|
117
|
+
className: b(
|
|
112
118
|
"mr-3",
|
|
113
119
|
s ? "text-foreground" : "text-secondary-foreground"
|
|
114
120
|
),
|
|
@@ -118,7 +124,7 @@ function F({
|
|
|
118
124
|
/* @__PURE__ */ f(
|
|
119
125
|
"div",
|
|
120
126
|
{
|
|
121
|
-
className:
|
|
127
|
+
className: b(
|
|
122
128
|
"m-0 p-0 whitespace-nowrap",
|
|
123
129
|
i === "default" && "text-sm leading-[17px] font-normal",
|
|
124
130
|
i === "unset" && "text-[unset] leading-[unset] font-[unset]",
|
|
@@ -131,7 +137,7 @@ function F({
|
|
|
131
137
|
] });
|
|
132
138
|
}
|
|
133
139
|
function I(n, r = 0) {
|
|
134
|
-
const [s, i] = v(n), [o, u] = v(r), l =
|
|
140
|
+
const [s, i] = v(n), [o, u] = v(r), l = m((c, e) => {
|
|
135
141
|
i(c), u(e);
|
|
136
142
|
}, []);
|
|
137
143
|
return { id: s, index: o, handleTabChange: l };
|
|
@@ -143,7 +149,7 @@ function M(n) {
|
|
|
143
149
|
{}
|
|
144
150
|
),
|
|
145
151
|
[n]
|
|
146
|
-
), l = w(() => i.slice(1).toLowerCase(), [i]), { id: c, index: e } = u[l] || {}, d =
|
|
152
|
+
), l = w(() => i.slice(1).toLowerCase(), [i]), { id: c, index: e } = u[l] || {}, d = m(
|
|
147
153
|
(t) => {
|
|
148
154
|
o(`#${t}`);
|
|
149
155
|
},
|
|
@@ -166,7 +172,7 @@ function D({
|
|
|
166
172
|
{}
|
|
167
173
|
),
|
|
168
174
|
[n]
|
|
169
|
-
), l =
|
|
175
|
+
), l = m(
|
|
170
176
|
(d) => {
|
|
171
177
|
o(`${r}/${d}`);
|
|
172
178
|
},
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import { jsxs as v, jsx as o } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo as I, useCallback as
|
|
3
|
-
import { toast as
|
|
4
|
-
import { SectionHeading as
|
|
5
|
-
import { useIsMobile as
|
|
2
|
+
import { useMemo as I, useCallback as be, useRef as C } from "react";
|
|
3
|
+
import { toast as we } from "sonner";
|
|
4
|
+
import { SectionHeading as he } from "../base/section-heading/section-heading.js";
|
|
5
|
+
import { useIsMobile as ve } from "../../hooks/use-media-query.js";
|
|
6
6
|
import "@gearbox-protocol/sdk/onchain";
|
|
7
|
-
import { cn as
|
|
7
|
+
import { cn as pe } from "../../utils/cn.js";
|
|
8
8
|
import "@gearbox-protocol/sdk/common-utils";
|
|
9
9
|
import "luxon";
|
|
10
10
|
import "../../utils/z-index.js";
|
|
11
|
-
import { DEFAULT_SERIES_COLORS as T, getSeriesColorPalette as
|
|
12
|
-
import { GraphViewWithData as
|
|
13
|
-
import { Select as
|
|
14
|
-
import { GraphDropdown as
|
|
15
|
-
const
|
|
11
|
+
import { DEFAULT_SERIES_COLORS as T, getSeriesColorPalette as xe, GraphLegend as ge } from "../graph/graph.js";
|
|
12
|
+
import { GraphViewWithData as Se } from "../graph/graph-view.js";
|
|
13
|
+
import { Select as ye, SelectTrigger as Ae, SelectValue as Ie, SelectContent as Ce, SelectItem as Ne } from "../select/select.js";
|
|
14
|
+
import { GraphDropdown as ke } from "./graph-dropdown.js";
|
|
15
|
+
const Ee = ({ size: t = 16 }) => /* @__PURE__ */ v(
|
|
16
16
|
"svg",
|
|
17
17
|
{
|
|
18
18
|
width: t,
|
|
@@ -29,7 +29,7 @@ const Me = ({ size: t = 16 }) => /* @__PURE__ */ v(
|
|
|
29
29
|
/* @__PURE__ */ o("path", { d: "M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3" })
|
|
30
30
|
]
|
|
31
31
|
}
|
|
32
|
-
),
|
|
32
|
+
), Me = ({ size: t = 16 }) => /* @__PURE__ */ v(
|
|
33
33
|
"svg",
|
|
34
34
|
{
|
|
35
35
|
width: t,
|
|
@@ -46,16 +46,16 @@ const Me = ({ size: t = 16 }) => /* @__PURE__ */ v(
|
|
|
46
46
|
/* @__PURE__ */ o("path", { d: "M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3" })
|
|
47
47
|
]
|
|
48
48
|
}
|
|
49
|
-
),
|
|
49
|
+
), Re = {
|
|
50
50
|
timeScale: { borderVisible: !1 },
|
|
51
51
|
rightPriceScale: { borderVisible: !1 },
|
|
52
52
|
leftPriceScale: { borderVisible: !1 }
|
|
53
|
-
},
|
|
53
|
+
}, q = "ui-kit:tradingview-series-colors:";
|
|
54
54
|
function j(t) {
|
|
55
55
|
if (typeof window > "u" || !window.localStorage)
|
|
56
56
|
return /* @__PURE__ */ new Map();
|
|
57
57
|
try {
|
|
58
|
-
const r = window.localStorage.getItem(
|
|
58
|
+
const r = window.localStorage.getItem(q + t);
|
|
59
59
|
if (!r) return /* @__PURE__ */ new Map();
|
|
60
60
|
const c = JSON.parse(r);
|
|
61
61
|
return c == null || typeof c != "object" ? /* @__PURE__ */ new Map() : new Map(
|
|
@@ -67,63 +67,64 @@ function j(t) {
|
|
|
67
67
|
return /* @__PURE__ */ new Map();
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
|
-
function
|
|
70
|
+
function Oe(t, r) {
|
|
71
71
|
if (!(typeof window > "u" || !window.localStorage))
|
|
72
72
|
try {
|
|
73
73
|
window.localStorage.setItem(
|
|
74
|
-
|
|
74
|
+
q + t,
|
|
75
75
|
JSON.stringify(Object.fromEntries(r))
|
|
76
76
|
);
|
|
77
77
|
} catch {
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
-
function
|
|
80
|
+
function X(t, r) {
|
|
81
81
|
if (r.size === 0) return;
|
|
82
82
|
const c = j(t);
|
|
83
83
|
for (const [n, p] of r)
|
|
84
84
|
c.set(n, p);
|
|
85
|
-
|
|
85
|
+
Oe(t, c);
|
|
86
86
|
}
|
|
87
|
-
function
|
|
87
|
+
function De({
|
|
88
88
|
data: t,
|
|
89
89
|
yMeasureUnit: r,
|
|
90
90
|
height: c = 306,
|
|
91
91
|
defaultGraph: n,
|
|
92
92
|
onGraphSelected: p,
|
|
93
93
|
graphs: f,
|
|
94
|
-
isMultipleSelect:
|
|
95
|
-
range:
|
|
94
|
+
isMultipleSelect: Q,
|
|
95
|
+
range: Y,
|
|
96
96
|
rangeList: S,
|
|
97
|
-
setRange:
|
|
97
|
+
setRange: Z,
|
|
98
98
|
onGraphExpanded: N,
|
|
99
|
-
isGraphExpanded:
|
|
99
|
+
isGraphExpanded: D,
|
|
100
100
|
onUnselectSeries: L,
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
101
|
+
legendMarkers: V,
|
|
102
|
+
graphsWithNoData: P,
|
|
103
|
+
loadingGraphs: k,
|
|
104
|
+
isLoading: _,
|
|
105
|
+
noDataMessage: z = "No data available for this graph",
|
|
106
|
+
currentValueDecimals: U,
|
|
107
|
+
containerClassName: K,
|
|
108
|
+
useSharedPriceScale: G,
|
|
109
|
+
showCurrentValue: ee,
|
|
110
|
+
yScaleMin: te,
|
|
111
|
+
yScaleMinMultiple: re,
|
|
111
112
|
seriesColorPersistenceKey: d,
|
|
112
|
-
title:
|
|
113
|
-
trailing:
|
|
114
|
-
...
|
|
113
|
+
title: ne,
|
|
114
|
+
trailing: E,
|
|
115
|
+
...oe
|
|
115
116
|
}) {
|
|
116
|
-
const x = I(() => Array.isArray(t) ? t : t ? [t] : [], [t]),
|
|
117
|
+
const x = I(() => Array.isArray(t) ? t : t ? [t] : [], [t]), le = I(() => Array.isArray(t) && t.length > 1, [t]), F = ve(), ie = be(
|
|
117
118
|
(u, y) => {
|
|
118
|
-
|
|
119
|
+
we.error(z);
|
|
119
120
|
},
|
|
120
|
-
[
|
|
121
|
-
),
|
|
121
|
+
[z]
|
|
122
|
+
), se = I(() => {
|
|
122
123
|
if (r)
|
|
123
124
|
return Array.isArray(r) ? r[0] : r;
|
|
124
|
-
}, [r]),
|
|
125
|
-
if (f && f.length > 0 && !
|
|
126
|
-
|
|
125
|
+
}, [r]), ce = !!(p && f && n), i = C(/* @__PURE__ */ new Map()), b = C(0), H = C(!1);
|
|
126
|
+
if (f && f.length > 0 && !H.current) {
|
|
127
|
+
H.current = !0;
|
|
127
128
|
const u = d ? j(d) : /* @__PURE__ */ new Map(), y = String(f[0].value);
|
|
128
129
|
i.current.set(y, 0), b.current = 1;
|
|
129
130
|
for (let e = 1; e < f.length; e++) {
|
|
@@ -132,7 +133,7 @@ function Ze({
|
|
|
132
133
|
const g = u.get(m) ?? e;
|
|
133
134
|
i.current.set(m, g), b.current = Math.max(b.current, g + 1);
|
|
134
135
|
}
|
|
135
|
-
d &&
|
|
136
|
+
d && X(
|
|
136
137
|
d,
|
|
137
138
|
i.current
|
|
138
139
|
);
|
|
@@ -163,15 +164,15 @@ function Ze({
|
|
|
163
164
|
}
|
|
164
165
|
i.current.set(R, s), b.current = s + 1;
|
|
165
166
|
}
|
|
166
|
-
const
|
|
167
|
+
const ae = i.current.get(R) ?? 0, O = xe(ae), fe = [...e?.data || []].sort((l, s) => {
|
|
167
168
|
const a = typeof l.time == "number" ? l.time : Number(l.time), A = typeof s.time == "number" ? s.time : Number(s.time);
|
|
168
169
|
return a - A;
|
|
169
170
|
}).reduce((l, s) => {
|
|
170
171
|
const a = s.time;
|
|
171
172
|
return l.length === 0 || l[l.length - 1].time !== a ? l.push({ time: a, value: s.value }) : l[l.length - 1] = { time: a, value: s.value }, l;
|
|
172
|
-
}, []),
|
|
173
|
+
}, []), $ = e?.lineColor ?? e?.color ?? void 0;
|
|
173
174
|
return {
|
|
174
|
-
data:
|
|
175
|
+
data: fe,
|
|
175
176
|
label: h,
|
|
176
177
|
...e?.id != null && { id: e.id },
|
|
177
178
|
yMeasureUnit: u?.[m] ?? (Array.isArray(r) ? void 0 : r),
|
|
@@ -184,8 +185,8 @@ function Ze({
|
|
|
184
185
|
...e?.lineStyle != null && {
|
|
185
186
|
lineStyle: e.lineStyle
|
|
186
187
|
},
|
|
187
|
-
|
|
188
|
-
lineColor:
|
|
188
|
+
...$ != null ? {
|
|
189
|
+
lineColor: $,
|
|
189
190
|
...e?.topColor != null && {
|
|
190
191
|
topColor: e.topColor
|
|
191
192
|
},
|
|
@@ -199,46 +200,46 @@ function Ze({
|
|
|
199
200
|
}
|
|
200
201
|
};
|
|
201
202
|
});
|
|
202
|
-
return d && i.current.size > 0 &&
|
|
203
|
+
return d && i.current.size > 0 && X(
|
|
203
204
|
d,
|
|
204
205
|
i.current
|
|
205
206
|
), y;
|
|
206
|
-
}, [x, n, r, d]),
|
|
207
|
-
w.length > 0 && (
|
|
208
|
-
const
|
|
209
|
-
|
|
207
|
+
}, [x, n, r, d]), B = _ !== void 0 ? _ : k !== void 0 ? k.size > 0 : le && x.length > 0 ? x.some((u) => !u) : !t, W = C(w);
|
|
208
|
+
w.length > 0 && (W.current = w);
|
|
209
|
+
const J = w.length > 0 ? w : B ? W.current : w, M = ne, ue = !F && N ? !0 : S.length > 0 || ce || M != null || E != null, de = p && f && n ? /* @__PURE__ */ o(
|
|
210
|
+
ke,
|
|
210
211
|
{
|
|
211
212
|
onSelected: p,
|
|
212
213
|
items: f,
|
|
213
214
|
defaultItem: n,
|
|
214
|
-
multiple:
|
|
215
|
-
graphsWithNoData:
|
|
216
|
-
loadingGraphs:
|
|
217
|
-
onNoDataSelected:
|
|
215
|
+
multiple: Q,
|
|
216
|
+
graphsWithNoData: P,
|
|
217
|
+
loadingGraphs: k,
|
|
218
|
+
onNoDataSelected: ie
|
|
218
219
|
}
|
|
219
|
-
) :
|
|
220
|
-
/* @__PURE__ */ o("div", { className: "min-w-0 flex-1", children:
|
|
220
|
+
) : M != null ? /* @__PURE__ */ o(he, { className: "min-w-0 truncate", children: M }) : null, me = ue && /* @__PURE__ */ v("div", { className: "flex w-full flex-row flex-wrap items-center justify-between gap-3", children: [
|
|
221
|
+
/* @__PURE__ */ o("div", { className: "min-w-0 flex-1", children: de }),
|
|
221
222
|
/* @__PURE__ */ v("div", { className: "flex shrink-0 flex-row flex-nowrap items-center gap-3", children: [
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
S.length > 0 ? /* @__PURE__ */ v(
|
|
223
|
+
E,
|
|
224
|
+
E != null && S.length > 0 ? /* @__PURE__ */ o("div", { className: "h-4 w-px shrink-0 bg-border" }) : null,
|
|
225
|
+
S.length > 0 ? /* @__PURE__ */ v(ye, { value: Y, onValueChange: Z, children: [
|
|
225
226
|
/* @__PURE__ */ o(
|
|
226
|
-
|
|
227
|
+
Ae,
|
|
227
228
|
{
|
|
228
229
|
size: "sm",
|
|
229
230
|
className: "h-8 w-auto min-w-[4.5rem] gap-1.5 border-border bg-muted shadow-none",
|
|
230
|
-
children: /* @__PURE__ */ o(
|
|
231
|
+
children: /* @__PURE__ */ o(Ie, {})
|
|
231
232
|
}
|
|
232
233
|
),
|
|
233
|
-
/* @__PURE__ */ o(
|
|
234
|
+
/* @__PURE__ */ o(Ce, { align: "end", children: S.map((u) => /* @__PURE__ */ o(Ne, { value: u.value, children: u.label }, u.value)) })
|
|
234
235
|
] }) : null,
|
|
235
|
-
!
|
|
236
|
+
!F && N && /* @__PURE__ */ o(
|
|
236
237
|
"button",
|
|
237
238
|
{
|
|
238
239
|
type: "button",
|
|
239
240
|
className: "flex min-h-[26px] min-w-[44px] cursor-pointer items-center justify-center rounded-md border border-muted bg-muted px-2.5 py-1.5 text-center text-xs font-medium leading-[14px] text-muted-foreground transition-colors hover:border-secondary focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring",
|
|
240
241
|
onClick: N,
|
|
241
|
-
children:
|
|
242
|
+
children: D ? /* @__PURE__ */ o(Me, { size: 16 }) : /* @__PURE__ */ o(Ee, { size: 16 })
|
|
242
243
|
}
|
|
243
244
|
)
|
|
244
245
|
] })
|
|
@@ -246,12 +247,12 @@ function Ze({
|
|
|
246
247
|
return /* @__PURE__ */ v(
|
|
247
248
|
"div",
|
|
248
249
|
{
|
|
249
|
-
className:
|
|
250
|
+
className: pe(
|
|
250
251
|
"flex w-full flex-col gap-3 rounded-lg border border-border bg-card p-4 shadow-none",
|
|
251
|
-
|
|
252
|
+
K
|
|
252
253
|
),
|
|
253
254
|
children: [
|
|
254
|
-
|
|
255
|
+
me,
|
|
255
256
|
/* @__PURE__ */ o(
|
|
256
257
|
"div",
|
|
257
258
|
{
|
|
@@ -261,11 +262,11 @@ function Ze({
|
|
|
261
262
|
},
|
|
262
263
|
className: "w-full",
|
|
263
264
|
children: /* @__PURE__ */ o(
|
|
264
|
-
|
|
265
|
+
Se,
|
|
265
266
|
{
|
|
266
|
-
...
|
|
267
|
+
...oe,
|
|
267
268
|
series: w,
|
|
268
|
-
loading:
|
|
269
|
+
loading: B,
|
|
269
270
|
size: c ? "full" : "default",
|
|
270
271
|
padding: "none",
|
|
271
272
|
variant: "ghost",
|
|
@@ -273,22 +274,23 @@ function Ze({
|
|
|
273
274
|
containerClassName: "h-full overflow-hidden rounded-none border-0 bg-transparent shadow-none",
|
|
274
275
|
showLegend: !1,
|
|
275
276
|
onUnselectSeries: L,
|
|
276
|
-
yMeasureUnit:
|
|
277
|
-
currentValueDecimals:
|
|
278
|
-
useSharedPriceScale:
|
|
279
|
-
showCurrentValue:
|
|
280
|
-
yScaleMin:
|
|
281
|
-
yScaleMinMultiple:
|
|
277
|
+
yMeasureUnit: se,
|
|
278
|
+
currentValueDecimals: U,
|
|
279
|
+
useSharedPriceScale: G,
|
|
280
|
+
showCurrentValue: ee,
|
|
281
|
+
yScaleMin: te,
|
|
282
|
+
yScaleMinMultiple: re,
|
|
282
283
|
hideDefaultTooltip: !0,
|
|
283
|
-
optionsOverrides:
|
|
284
|
+
optionsOverrides: Re
|
|
284
285
|
}
|
|
285
286
|
)
|
|
286
287
|
}
|
|
287
288
|
),
|
|
288
|
-
|
|
289
|
-
|
|
289
|
+
J.length > 0 || (V?.length ?? 0) > 0 ? /* @__PURE__ */ o(
|
|
290
|
+
ge,
|
|
290
291
|
{
|
|
291
|
-
series:
|
|
292
|
+
series: J,
|
|
293
|
+
markers: V,
|
|
292
294
|
onUnselect: L,
|
|
293
295
|
inline: !0
|
|
294
296
|
}
|
|
@@ -298,5 +300,5 @@ function Ze({
|
|
|
298
300
|
);
|
|
299
301
|
}
|
|
300
302
|
export {
|
|
301
|
-
|
|
303
|
+
De as TradingView
|
|
302
304
|
};
|
|
@@ -48,19 +48,19 @@ const e = {
|
|
|
48
48
|
"components.filterModal.apply": "Apply",
|
|
49
49
|
"components.APY.tip": "These APYs are derived from the underlying protocols’ APIs and may differ in reality. Check respective protocols for their methodology.",
|
|
50
50
|
"components.creditSessionDetailedLiquidation.graph.noData": "No data",
|
|
51
|
-
"components.creditSessionDetailedLiquidation.graph.legend.point": "Current
|
|
51
|
+
"components.creditSessionDetailedLiquidation.graph.legend.point": "Current Price",
|
|
52
52
|
"components.creditSessionDetailedLiquidation.graph.legend.area": "Liquidation Area",
|
|
53
53
|
"components.creditSessionDetailedLiquidation.graph.tip.hf": "Health Factor",
|
|
54
54
|
"components.creditSessionDetailedLiquidation.graph.tip.price": "Price",
|
|
55
55
|
"components.creditSessionDetailedLiquidation.table.noData": "No data",
|
|
56
56
|
"components.creditSessionDetailedLiquidation.table.seeGraph": "See graph",
|
|
57
57
|
"components.creditSessionDetailedLiquidation.table.asset": "Asset",
|
|
58
|
-
"components.creditSessionDetailedLiquidation.table.currentPrice": "Current
|
|
59
|
-
"components.creditSessionDetailedLiquidation.table.modelPrice": "Model
|
|
58
|
+
"components.creditSessionDetailedLiquidation.table.currentPrice": "Current Price",
|
|
59
|
+
"components.creditSessionDetailedLiquidation.table.modelPrice": "Model Price",
|
|
60
60
|
"components.apyParts.features.points": "Points",
|
|
61
61
|
"components.apyParts.features.incent": "Incent.",
|
|
62
62
|
"components.apyParts.supplyAPY": "Organic APY",
|
|
63
|
-
"components.apyParts.title": "APY
|
|
63
|
+
"components.apyParts.title": "APY Type",
|
|
64
64
|
"components.apyParts.supplyAPY.tip": "Yield from lending funds",
|
|
65
65
|
"components.apyParts.tokenYield": "Intrinsic APY",
|
|
66
66
|
"components.apyParts.tokenYield.tip": "Yield from holding wstETH",
|
|
@@ -87,10 +87,10 @@ const e = {
|
|
|
87
87
|
"components.openCopyButtons.copy": "Copy to clipboard",
|
|
88
88
|
"components.openCopyButtons.explorer": "View in explorer",
|
|
89
89
|
"components.poolAssetsTable.asset": "Name",
|
|
90
|
-
"components.poolAssetsTable.rate": "Effective
|
|
90
|
+
"components.poolAssetsTable.rate": "Effective Rate",
|
|
91
91
|
"components.poolAssetsTable.exposure": "Exposure",
|
|
92
92
|
"components.poolAssetsTable.cap": "Cap",
|
|
93
|
-
"components.poolAssetsTable.capUtilization": "Cap
|
|
93
|
+
"components.poolAssetsTable.capUtilization": "Cap Utilization",
|
|
94
94
|
"components.poolAssetsTable.usage": "{amount} of {total}",
|
|
95
95
|
"components.poolAssetsTable.head.name": "Credit Manager",
|
|
96
96
|
"components.poolAssetsTable.head.currentDebt": "Current Debt",
|
|
@@ -99,13 +99,13 @@ const e = {
|
|
|
99
99
|
"components.creditManagerInfo.title": "Assets and LT’s",
|
|
100
100
|
"components.creditManagerInfo.info.title": "Credit Managers",
|
|
101
101
|
"components.creditManagerInfo.info.copy.tip": "Copy Credit Manager address",
|
|
102
|
-
"components.creditManagerInfo.info.minDebt": "Min
|
|
103
|
-
"components.creditManagerInfo.info.maxDebt": "Max
|
|
104
|
-
"components.creditManagerInfo.info.liquidationFee": "Liquid.
|
|
105
|
-
"components.creditManagerInfo.info.liquidationPremium": "Liquid.
|
|
106
|
-
"components.creditManagerInfo.info.interestFee": "Interest
|
|
107
|
-
"components.creditManagerInfo.info.debtLimit": "Debt
|
|
108
|
-
"components.creditManagerInfo.info.maxEnabledTokens": "Max
|
|
102
|
+
"components.creditManagerInfo.info.minDebt": "Min Debt",
|
|
103
|
+
"components.creditManagerInfo.info.maxDebt": "Max Debt",
|
|
104
|
+
"components.creditManagerInfo.info.liquidationFee": "Liquid. Fee",
|
|
105
|
+
"components.creditManagerInfo.info.liquidationPremium": "Liquid. Premium",
|
|
106
|
+
"components.creditManagerInfo.info.interestFee": "Interest Fee",
|
|
107
|
+
"components.creditManagerInfo.info.debtLimit": "Debt Limit",
|
|
108
|
+
"components.creditManagerInfo.info.maxEnabledTokens": "Max Tokens",
|
|
109
109
|
"dialogs.oraclesAndLTInfo.filter.hide0Quota": "Hide 0-Quota",
|
|
110
110
|
"components.oraclesAndLTInfo.title": "Oracles and LTs",
|
|
111
111
|
"components.oraclesAndLTTable.head.token": "Token",
|
|
@@ -140,7 +140,7 @@ const e = {
|
|
|
140
140
|
"components.rewardsTooltip.without.extra.tip": "Any deposit through Gearbox",
|
|
141
141
|
"components.rewardsTooltip.with.title": "With {leverage} Leverage",
|
|
142
142
|
"components.rewardsTooltip.with.borrowRate": "{symbol} borrow rate",
|
|
143
|
-
"components.rewardsTooltip.with.quotaRate": "Quota
|
|
143
|
+
"components.rewardsTooltip.with.quotaRate": "Quota Rate",
|
|
144
144
|
"components.rewardsTooltip.with.extra": "+ Extra APR",
|
|
145
145
|
"components.rewardsTooltip.button": "Click to show rewards details",
|
|
146
146
|
"components.strategiesTable.head.name": "Strategy",
|
|
@@ -164,12 +164,12 @@ const e = {
|
|
|
164
164
|
"components.amountInput.inputTitle": "Token Amount",
|
|
165
165
|
"components.leverageInput.label": "Leverage",
|
|
166
166
|
"components.leverageInput.reset": "Reset",
|
|
167
|
-
"components.leverageInput.available": "Available
|
|
168
|
-
"components.healthFactorBlock.label": "Health
|
|
167
|
+
"components.leverageInput.available": "Available Leverage",
|
|
168
|
+
"components.healthFactorBlock.label": "Health Factor",
|
|
169
169
|
"components.healthFactorBlock.tip": "Health Factor is a numeric representation of your account 'health'. If your health factor drops below 1 or close to it, you might be liquidated.",
|
|
170
170
|
"components.liquidationPriceBlock.label": "Liquidation Price",
|
|
171
171
|
"components.liquidationPriceBlock.tip": "The asset price at which the account's health factor would reach 1 and become eligible for liquidation.",
|
|
172
|
-
"components.timeToLiquidationBlock.label": "Time to
|
|
172
|
+
"components.timeToLiquidationBlock.label": "Time to Liquidation",
|
|
173
173
|
"components.timeToLiquidationBlock.tip": "Time to liquidation estimates how long the account can stay open if prices remain constant and no yield is earned—only accounting for borrow interest accrual.",
|
|
174
174
|
"components.historyChart.error": "Couldn't load chart data",
|
|
175
175
|
"components.historyChart.empty": "No data",
|
|
@@ -190,15 +190,15 @@ const e = {
|
|
|
190
190
|
"components.strategyApyBreakdownCard.formula": "{leverage} × {base}",
|
|
191
191
|
"components.strategyApyBreakdownCard.borrowFormula": "{leverage} × {totalRate} − {borrowRate}",
|
|
192
192
|
"components.leveragePresetChips.label": "Leverage:",
|
|
193
|
-
"components.liquidationParamsTable.lt": "Liquidation
|
|
194
|
-
"components.liquidationParamsTable.penalty": "Liquidation
|
|
195
|
-
"components.liquidationParamsTable.premium": "Liquidation
|
|
196
|
-
"components.liquidationParamsTable.fee": "Liquidation
|
|
197
|
-
"components.borrowRateBlock.label": "Borrow
|
|
193
|
+
"components.liquidationParamsTable.lt": "Liquidation Threshold",
|
|
194
|
+
"components.liquidationParamsTable.penalty": "Liquidation Discount",
|
|
195
|
+
"components.liquidationParamsTable.premium": "Liquidation Premium",
|
|
196
|
+
"components.liquidationParamsTable.fee": "Liquidation Fee",
|
|
197
|
+
"components.borrowRateBlock.label": "Borrow Rate",
|
|
198
198
|
"components.borrowRateBlock.tip": "Borrow rate is displayed for your entire position size in total. You can reduce it in quota management.",
|
|
199
199
|
"components.borrowRateBlock.description": "Your borrow rate consists of the Base Rate plus the Quota Rates for every asset separately.",
|
|
200
200
|
"components.borrowRateBlock.baseRate": "Base Rate for Debt",
|
|
201
|
-
"components.borrowRateBlock.normalization": "Rates
|
|
201
|
+
"components.borrowRateBlock.normalization": "Rates Normalization",
|
|
202
202
|
"components.borrowRateBlock.normalization.tip": "Borrowers pay {quota} and {utilization}, which have a different base. Therefore, the total borrow rate value is normalized by Account value or Debt amount.",
|
|
203
203
|
"components.transactionConfirm.previewLoading": "Parsing transaction…",
|
|
204
204
|
"components.transactionConfirm.previewErrorTitle": "Preview error"
|