@gearbox-protocol/ui-kit 4.5.2 → 4.6.1
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/base/apy-breakdown-body/apy-breakdown-body.cjs +1 -1
- package/dist/cjs/components/base/apy-breakdown-body/index.cjs +1 -1
- package/dist/cjs/components/base/info-list/info-list.cjs +1 -1
- package/dist/cjs/components/base/pool-apy-breakdown-card/pool-apy-breakdown-card.cjs +1 -1
- package/dist/cjs/components/base/strategy-apy-breakdown-card/strategy-apy-breakdown-card.cjs +1 -1
- package/dist/cjs/components/compound-apy/compound-apy.cjs +1 -1
- package/dist/cjs/components/link/link.cjs +1 -1
- package/dist/cjs/components/yield-breakdown-tooltip/yield-breakdown.cjs +1 -1
- package/dist/esm/components/base/apy-breakdown-body/apy-breakdown-body.js +70 -45
- package/dist/esm/components/base/apy-breakdown-body/index.js +8 -7
- package/dist/esm/components/base/info-list/info-list.js +14 -13
- package/dist/esm/components/base/pool-apy-breakdown-card/pool-apy-breakdown-card.js +68 -64
- package/dist/esm/components/base/strategy-apy-breakdown-card/strategy-apy-breakdown-card.js +109 -105
- package/dist/esm/components/compound-apy/compound-apy.js +22 -20
- package/dist/esm/components/link/link.js +14 -14
- package/dist/esm/components/yield-breakdown-tooltip/yield-breakdown.js +92 -79
- package/dist/types/components/base/apy-breakdown-body/apy-breakdown-body.d.ts +5 -0
- package/dist/types/components/base/pool-apy-breakdown-card/pool-apy-breakdown-card.d.ts +3 -1
- package/dist/types/components/base/strategy-apy-breakdown-card/strategy-apy-breakdown-card.d.ts +3 -1
- package/dist/types/components/compound-apy/compound-apy.d.ts +3 -1
- package/dist/types/components/yield-breakdown-tooltip/yield-breakdown.d.ts +3 -1
- package/package.json +2 -2
|
@@ -1,140 +1,153 @@
|
|
|
1
|
-
import { jsx as e, jsxs as
|
|
2
|
-
import { ApyBreakdownBody as
|
|
3
|
-
import { PoolApyBreakdownCard as
|
|
4
|
-
import { PointsIcon as
|
|
5
|
-
import { TokenIcon as
|
|
6
|
-
import { FormattedMessageTyped as
|
|
7
|
-
import { formatLeverage as
|
|
8
|
-
import { tokenRewardsOf as R, pointProgramsOf as T, totalApyOf as
|
|
9
|
-
import { ApyBreakdownTooltip as
|
|
10
|
-
function
|
|
11
|
-
supplyApy:
|
|
12
|
-
maxLeverage:
|
|
13
|
-
collateralApy:
|
|
14
|
-
borrowApy:
|
|
15
|
-
quotaRate:
|
|
16
|
-
period:
|
|
1
|
+
import { jsx as e, jsxs as r, Fragment as A } from "react/jsx-runtime";
|
|
2
|
+
import { ApyBreakdownBody as v, formatBreakdownRate as u, ApyBreakdownRow as y, periodMessageId as f, RewardLinks as h, ApyBreakdownDivider as b } from "../base/apy-breakdown-body/apy-breakdown-body.js";
|
|
3
|
+
import { PoolApyBreakdownCard as I } from "../base/pool-apy-breakdown-card/pool-apy-breakdown-card.js";
|
|
4
|
+
import { PointsIcon as P } from "../points-icon/points-icon.js";
|
|
5
|
+
import { TokenIcon as x } from "../token-icon/token-icon.js";
|
|
6
|
+
import { FormattedMessageTyped as s } from "../typed-intl/index.js";
|
|
7
|
+
import { formatLeverage as N } from "../../utils/format-leverage.js";
|
|
8
|
+
import { tokenRewardsOf as R, pointProgramsOf as T, totalApyOf as $ } from "../../utils/internal/apy-breakdown.js";
|
|
9
|
+
import { ApyBreakdownTooltip as O } from "./yield-breakdown-tooltip.js";
|
|
10
|
+
function H({
|
|
11
|
+
supplyApy: t,
|
|
12
|
+
maxLeverage: a,
|
|
13
|
+
collateralApy: g,
|
|
14
|
+
borrowApy: i,
|
|
15
|
+
quotaRate: d,
|
|
16
|
+
period: l,
|
|
17
|
+
hideRewardLinks: m = !1,
|
|
17
18
|
children: n,
|
|
18
|
-
className:
|
|
19
|
-
open:
|
|
19
|
+
className: p,
|
|
20
|
+
open: k
|
|
20
21
|
}) {
|
|
21
|
-
const
|
|
22
|
+
const c = a !== void 0 && a > 0;
|
|
22
23
|
return /* @__PURE__ */ e(
|
|
23
|
-
|
|
24
|
+
O,
|
|
24
25
|
{
|
|
25
26
|
placement: "bottom",
|
|
26
|
-
title: /* @__PURE__ */ e("span", { className:
|
|
27
|
-
triggerClassName:
|
|
28
|
-
open:
|
|
29
|
-
children:
|
|
30
|
-
|
|
27
|
+
title: /* @__PURE__ */ e("span", { className: p, children: n }),
|
|
28
|
+
triggerClassName: p,
|
|
29
|
+
open: k,
|
|
30
|
+
children: c ? /* @__PURE__ */ e(
|
|
31
|
+
S,
|
|
31
32
|
{
|
|
32
|
-
supplyApy:
|
|
33
|
-
maxLeverage:
|
|
34
|
-
collateralApy:
|
|
35
|
-
borrowApy:
|
|
36
|
-
quotaRate:
|
|
37
|
-
period:
|
|
33
|
+
supplyApy: t,
|
|
34
|
+
maxLeverage: a,
|
|
35
|
+
collateralApy: g,
|
|
36
|
+
borrowApy: i,
|
|
37
|
+
quotaRate: d,
|
|
38
|
+
period: l,
|
|
39
|
+
hideRewardLinks: m
|
|
38
40
|
}
|
|
39
|
-
) : /* @__PURE__ */ e(
|
|
41
|
+
) : /* @__PURE__ */ e(
|
|
42
|
+
I,
|
|
43
|
+
{
|
|
44
|
+
data: t,
|
|
45
|
+
period: l,
|
|
46
|
+
hideRewardLinks: m
|
|
47
|
+
}
|
|
48
|
+
)
|
|
40
49
|
}
|
|
41
50
|
);
|
|
42
51
|
}
|
|
43
|
-
function
|
|
44
|
-
supplyApy:
|
|
45
|
-
maxLeverage:
|
|
46
|
-
collateralApy:
|
|
47
|
-
borrowApy:
|
|
48
|
-
quotaRate:
|
|
49
|
-
period:
|
|
52
|
+
function S({
|
|
53
|
+
supplyApy: t,
|
|
54
|
+
maxLeverage: a,
|
|
55
|
+
collateralApy: g,
|
|
56
|
+
borrowApy: i,
|
|
57
|
+
quotaRate: d,
|
|
58
|
+
period: l,
|
|
59
|
+
hideRewardLinks: m
|
|
50
60
|
}) {
|
|
51
|
-
const n =
|
|
52
|
-
return /* @__PURE__ */
|
|
53
|
-
|
|
61
|
+
const n = g, p = n ? R(n) : [], k = T(t), c = $(t), w = i != null || d != null ? (i ?? 0) + (d ?? 0) : void 0, B = k.filter((o) => o.multiplier != null);
|
|
62
|
+
return /* @__PURE__ */ r(
|
|
63
|
+
v,
|
|
54
64
|
{
|
|
55
65
|
title: /* @__PURE__ */ e(
|
|
56
|
-
|
|
66
|
+
s,
|
|
57
67
|
{
|
|
58
|
-
messageId:
|
|
59
|
-
|
|
68
|
+
messageId: f(
|
|
69
|
+
l,
|
|
60
70
|
"components.yieldBreakdown.titleNetAtLeverage",
|
|
61
71
|
"components.yieldBreakdown.titleNetAtLeverage7d"
|
|
62
72
|
),
|
|
63
|
-
values: { leverage:
|
|
73
|
+
values: { leverage: N(a) }
|
|
64
74
|
}
|
|
65
75
|
),
|
|
66
|
-
chip: c
|
|
67
|
-
chipPositive:
|
|
76
|
+
chip: u(c, !0),
|
|
77
|
+
chipPositive: c > 0,
|
|
68
78
|
children: [
|
|
69
79
|
n?.organicApy != null ? /* @__PURE__ */ e(
|
|
70
|
-
|
|
80
|
+
y,
|
|
71
81
|
{
|
|
72
82
|
muted: n.organicApy < 0,
|
|
73
83
|
label: /* @__PURE__ */ e(
|
|
74
|
-
|
|
84
|
+
s,
|
|
75
85
|
{
|
|
76
|
-
messageId:
|
|
77
|
-
|
|
86
|
+
messageId: f(
|
|
87
|
+
l,
|
|
78
88
|
"components.yieldBreakdown.collateralApy",
|
|
79
89
|
"components.yieldBreakdown.collateralApy7d"
|
|
80
90
|
)
|
|
81
91
|
}
|
|
82
92
|
),
|
|
83
|
-
value:
|
|
93
|
+
value: u(n.organicApy)
|
|
84
94
|
}
|
|
85
95
|
) : null,
|
|
86
|
-
|
|
96
|
+
p.map(
|
|
87
97
|
(o) => o.supplyApr == null ? null : /* @__PURE__ */ e(
|
|
88
|
-
|
|
98
|
+
y,
|
|
89
99
|
{
|
|
90
100
|
muted: o.supplyApr < 0,
|
|
91
|
-
label: /* @__PURE__ */
|
|
92
|
-
/* @__PURE__ */
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
101
|
+
label: /* @__PURE__ */ r("span", { className: "flex flex-col gap-0.5", children: [
|
|
102
|
+
/* @__PURE__ */ r("span", { className: "inline-flex items-center gap-1.5", children: [
|
|
103
|
+
/* @__PURE__ */ e("span", { children: /* @__PURE__ */ e(
|
|
104
|
+
s,
|
|
105
|
+
{
|
|
106
|
+
messageId: "components.apyParts.extraAPY",
|
|
107
|
+
values: { symbol: o.token.symbol }
|
|
108
|
+
}
|
|
109
|
+
) }),
|
|
110
|
+
/* @__PURE__ */ e(x, { token: o.token, size: 20 })
|
|
111
|
+
] }),
|
|
112
|
+
m ? null : /* @__PURE__ */ e(h, { links: o.links })
|
|
100
113
|
] }),
|
|
101
|
-
value:
|
|
114
|
+
value: u(o.supplyApr)
|
|
102
115
|
},
|
|
103
116
|
`incentive-${o.token.address}-${o.supplyApr}`
|
|
104
117
|
)
|
|
105
118
|
),
|
|
106
|
-
|
|
107
|
-
|
|
119
|
+
w != null ? /* @__PURE__ */ e(
|
|
120
|
+
y,
|
|
108
121
|
{
|
|
109
122
|
muted: !0,
|
|
110
123
|
label: /* @__PURE__ */ e(
|
|
111
|
-
|
|
124
|
+
s,
|
|
112
125
|
{
|
|
113
|
-
messageId:
|
|
114
|
-
|
|
126
|
+
messageId: f(
|
|
127
|
+
l,
|
|
115
128
|
"components.yieldBreakdown.borrowRate",
|
|
116
129
|
"components.yieldBreakdown.borrowRate7d"
|
|
117
130
|
)
|
|
118
131
|
}
|
|
119
132
|
),
|
|
120
|
-
value:
|
|
133
|
+
value: u(w)
|
|
121
134
|
}
|
|
122
135
|
) : null,
|
|
123
|
-
|
|
124
|
-
/* @__PURE__ */ e(
|
|
125
|
-
|
|
126
|
-
|
|
136
|
+
B.length > 0 ? /* @__PURE__ */ r(A, { children: [
|
|
137
|
+
/* @__PURE__ */ e(b, {}),
|
|
138
|
+
B.map((o) => /* @__PURE__ */ e(
|
|
139
|
+
y,
|
|
127
140
|
{
|
|
128
|
-
label: /* @__PURE__ */
|
|
141
|
+
label: /* @__PURE__ */ r("span", { className: "inline-flex items-center gap-1.5", children: [
|
|
129
142
|
/* @__PURE__ */ e("span", { children: /* @__PURE__ */ e(
|
|
130
|
-
|
|
143
|
+
s,
|
|
131
144
|
{
|
|
132
145
|
messageId: "components.yieldBreakdown.programPoints",
|
|
133
146
|
values: { name: o.name }
|
|
134
147
|
}
|
|
135
148
|
) }),
|
|
136
149
|
/* @__PURE__ */ e(
|
|
137
|
-
|
|
150
|
+
P,
|
|
138
151
|
{
|
|
139
152
|
reward: {
|
|
140
153
|
name: o.name,
|
|
@@ -154,5 +167,5 @@ function $({
|
|
|
154
167
|
);
|
|
155
168
|
}
|
|
156
169
|
export {
|
|
157
|
-
|
|
170
|
+
H as YieldBreakdownTooltip
|
|
158
171
|
};
|
|
@@ -44,4 +44,9 @@ export interface ApyBreakdownRowProps {
|
|
|
44
44
|
readonly captionTestId?: string;
|
|
45
45
|
}
|
|
46
46
|
export declare function ApyBreakdownRow({ label, value, subtext, muted, testId, valueTestId, captionTestId, }: ApyBreakdownRowProps): React.ReactElement;
|
|
47
|
+
export interface RewardLinksProps {
|
|
48
|
+
readonly links?: readonly string[];
|
|
49
|
+
}
|
|
50
|
+
/** "merkl.xyz ↗" under an incentive row, one link per campaign page. */
|
|
51
|
+
export declare function RewardLinks({ links, }: RewardLinksProps): React.ReactElement | null;
|
|
47
52
|
export declare function ApyBreakdownDivider(): React.ReactElement;
|
|
@@ -7,6 +7,8 @@ export interface PoolApyBreakdownCardProps {
|
|
|
7
7
|
readonly data?: ApyBreakdown;
|
|
8
8
|
/** When `"7d"`, labels carry the averaging-window suffix. */
|
|
9
9
|
readonly period?: "7d";
|
|
10
|
+
/** Leaves the campaign links out, where the breakdown sits in a list. */
|
|
11
|
+
readonly hideRewardLinks?: boolean;
|
|
10
12
|
}
|
|
11
13
|
/**
|
|
12
14
|
* How a pool's net APY is arrived at: base yield plus incentives.
|
|
@@ -15,4 +17,4 @@ export interface PoolApyBreakdownCardProps {
|
|
|
15
17
|
* that row is still shown as Incentive APY at 0%. Points sit under a divider
|
|
16
18
|
* when present; they are not addends.
|
|
17
19
|
*/
|
|
18
|
-
export declare function PoolApyBreakdownCard({ data, period, }: PoolApyBreakdownCardProps): React.ReactElement;
|
|
20
|
+
export declare function PoolApyBreakdownCard({ data, period, hideRewardLinks, }: PoolApyBreakdownCardProps): React.ReactElement;
|
package/dist/types/components/base/strategy-apy-breakdown-card/strategy-apy-breakdown-card.d.ts
CHANGED
|
@@ -24,6 +24,8 @@ export interface StrategyApyBreakdownCardProps {
|
|
|
24
24
|
readonly showFormula?: boolean;
|
|
25
25
|
/** When `"7d"`, labels carry the averaging-window suffix. */
|
|
26
26
|
readonly period?: "7d";
|
|
27
|
+
/** Leaves the campaign links out, where the breakdown sits in a list. */
|
|
28
|
+
readonly hideRewardLinks?: boolean;
|
|
27
29
|
}
|
|
28
30
|
/**
|
|
29
31
|
* How a strategy's net APY is arrived at: collateral yield on the leveraged
|
|
@@ -42,4 +44,4 @@ export interface StrategyApyBreakdownCardProps {
|
|
|
42
44
|
* remainder, so the column adds up to the chip even when each reward rounds
|
|
43
45
|
* its own way.
|
|
44
46
|
*/
|
|
45
|
-
export declare function StrategyApyBreakdownCard({ data, leverage, showFormula, period, }: StrategyApyBreakdownCardProps): React.ReactElement;
|
|
47
|
+
export declare function StrategyApyBreakdownCard({ data, leverage, showFormula, period, hideRewardLinks, }: StrategyApyBreakdownCardProps): React.ReactElement;
|
|
@@ -35,6 +35,8 @@ export interface CompoundAPYProps {
|
|
|
35
35
|
tooltip?: boolean;
|
|
36
36
|
/** When `"7d"`, tooltip labels carry the averaging-window suffix. */
|
|
37
37
|
period?: "7d";
|
|
38
|
+
/** Forwarded to {@link YieldBreakdownTooltip}. */
|
|
39
|
+
hideRewardLinks?: boolean;
|
|
38
40
|
className?: string;
|
|
39
41
|
}
|
|
40
42
|
/**
|
|
@@ -43,4 +45,4 @@ export interface CompoundAPYProps {
|
|
|
43
45
|
* No `tokensList`, no external APY, no 7D history, no "soon" points state.
|
|
44
46
|
* For the legacy percent-based API see {@link CompoundAPYLegacy}.
|
|
45
47
|
*/
|
|
46
|
-
export declare function CompoundAPY({ apy, maxLeverage, collateralApy, borrowApy, quotaRate, decimals, tooltip, period, className, }: CompoundAPYProps): import("react").JSX.Element;
|
|
48
|
+
export declare function CompoundAPY({ apy, maxLeverage, collateralApy, borrowApy, quotaRate, decimals, tooltip, period, hideRewardLinks, className, }: CompoundAPYProps): import("react").JSX.Element;
|
|
@@ -26,6 +26,8 @@ export interface YieldBreakdownTooltipProps {
|
|
|
26
26
|
quotaRate?: Bps;
|
|
27
27
|
/** When `"7d"`, labels carry the averaging-window suffix. */
|
|
28
28
|
period?: "7d";
|
|
29
|
+
/** Leaves the campaign links out, where the breakdown sits in a list. */
|
|
30
|
+
hideRewardLinks?: boolean;
|
|
29
31
|
children?: React.ReactNode;
|
|
30
32
|
className?: string;
|
|
31
33
|
/** Controlled open state. Specs pass it because jsdom has no hover. */
|
|
@@ -35,4 +37,4 @@ export interface YieldBreakdownTooltipProps {
|
|
|
35
37
|
* Earn APY tooltip — a pool hands {@link PoolApyBreakdownCard}; a strategy
|
|
36
38
|
* (positions list) still itemises unlevered collateral, borrow and rewards.
|
|
37
39
|
*/
|
|
38
|
-
export declare function YieldBreakdownTooltip({ supplyApy, maxLeverage, collateralApy, borrowApy, quotaRate, period, children, className, open, }: YieldBreakdownTooltipProps): React.JSX.Element;
|
|
40
|
+
export declare function YieldBreakdownTooltip({ supplyApy, maxLeverage, collateralApy, borrowApy, quotaRate, period, hideRewardLinks, children, className, open, }: YieldBreakdownTooltipProps): React.JSX.Element;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gearbox-protocol/ui-kit",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.6.1",
|
|
4
4
|
"description": "Internal UI components",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
"@commitlint/cli": "^20.1.0",
|
|
111
111
|
"@commitlint/config-conventional": "^20.0.0",
|
|
112
112
|
"@gearbox-protocol/biome-config": "^1.0.2",
|
|
113
|
-
"@gearbox-protocol/sdk": "
|
|
113
|
+
"@gearbox-protocol/sdk": "17.5.0",
|
|
114
114
|
"@rollup/plugin-typescript": "^12.3.0",
|
|
115
115
|
"@storybook/addon-a11y": "^10.0.8",
|
|
116
116
|
"@storybook/addon-docs": "^10.0.8",
|