@gearbox-protocol/ui-kit 4.0.0-next.4 → 4.0.0-next.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.
Files changed (207) hide show
  1. package/dist/cjs/components/assets-list-cell/assets-list-cell.cjs +1 -1
  2. package/dist/cjs/components/badge/badge.cjs +1 -1
  3. package/dist/cjs/components/badge/chip.cjs +1 -0
  4. package/dist/cjs/components/badge/index.cjs +1 -1
  5. package/dist/cjs/components/base/borrow-rate-block/borrow-rate-block.cjs +1 -1
  6. package/dist/cjs/components/base/chart-with-side-card/chart-with-side-card.cjs +1 -1
  7. package/dist/cjs/components/base/history-chart/history-chart.cjs +1 -1
  8. package/dist/cjs/components/base/index.cjs +1 -1
  9. package/dist/cjs/components/base/info-list/info-list.cjs +1 -1
  10. package/dist/cjs/components/base/leverage-input/leverage-input.cjs +1 -1
  11. package/dist/cjs/components/base/leverage-preset-chips/constants.cjs +1 -0
  12. package/dist/cjs/components/base/leverage-preset-chips/index.cjs +1 -0
  13. package/dist/cjs/components/base/leverage-preset-chips/leverage-preset-chips.cjs +1 -0
  14. package/dist/cjs/components/base/pool-apy-breakdown-card/pool-apy-breakdown-card.cjs +1 -1
  15. package/dist/cjs/components/base/strategy-apy-breakdown-card/constants.cjs +1 -1
  16. package/dist/cjs/components/base/strategy-apy-breakdown-card/strategy-apy-breakdown-card.cjs +1 -1
  17. package/dist/cjs/components/base/title-meta/constants.cjs +1 -1
  18. package/dist/cjs/components/base/title-meta/title-meta.cjs +1 -1
  19. package/dist/cjs/components/base/values/index.cjs +1 -1
  20. package/dist/cjs/components/base/values/position-status-badge.cjs +1 -0
  21. package/dist/cjs/components/base/values/position-type-badge.cjs +1 -1
  22. package/dist/cjs/components/base-table/base-table-line.cjs +1 -0
  23. package/dist/cjs/components/base-table/base-table.cjs +1 -0
  24. package/dist/cjs/components/base-table/constants.cjs +1 -0
  25. package/dist/cjs/components/base-table/index.cjs +1 -0
  26. package/dist/cjs/components/base-table/types.cjs +1 -0
  27. package/dist/cjs/components/block-sync-pill/block-sync-pill.cjs +1 -1
  28. package/dist/cjs/components/checkbox/checkbox-labeled.cjs +1 -1
  29. package/dist/cjs/components/client-adapters/styled-rounded-image/styled-rounded-image.cjs +1 -1
  30. package/dist/cjs/components/collateral-allocation-tooltip/allocation-wheel.cjs +1 -0
  31. package/dist/cjs/components/collateral-allocation-tooltip/collateral-allocation-tooltip.cjs +1 -0
  32. package/dist/cjs/components/collateral-allocation-tooltip/constants.cjs +1 -0
  33. package/dist/cjs/components/collateral-allocation-tooltip/index.cjs +1 -0
  34. package/dist/cjs/components/composites/index.cjs +1 -1
  35. package/dist/cjs/components/composites/pool-assets-table/constants.cjs +1 -0
  36. package/dist/cjs/components/composites/pool-assets-table/index.cjs +1 -1
  37. package/dist/cjs/components/composites/pool-assets-table/pool-assets-table-head.cjs +1 -1
  38. package/dist/cjs/components/composites/pool-assets-table/pool-assets-table-row.cjs +1 -1
  39. package/dist/cjs/components/composites/pool-assets-table/pool-assets-table.cjs +1 -1
  40. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.cjs +1 -1
  41. package/dist/cjs/components/composites/tx-preview/confirm/dialog/index.cjs +1 -1
  42. package/dist/cjs/components/composites/tx-preview/confirm/dialog/transactionConfirmShellTypes.cjs +1 -0
  43. package/dist/cjs/components/composites/tx-preview/confirm/index.cjs +1 -1
  44. package/dist/cjs/components/composites/tx-preview/index.cjs +1 -1
  45. package/dist/cjs/components/compound-apy/compound-apy.cjs +1 -1
  46. package/dist/cjs/components/filter/filter-chip.cjs +1 -1
  47. package/dist/cjs/components/graph/default-config.cjs +1 -1
  48. package/dist/cjs/components/graph/graph-view.cjs +1 -1
  49. package/dist/cjs/components/graph/graph.cjs +1 -1
  50. package/dist/cjs/components/hf-indicator/hf-indicator.cjs +1 -0
  51. package/dist/cjs/components/hf-indicator/index.cjs +1 -0
  52. package/dist/cjs/components/index.cjs +1 -1
  53. package/dist/cjs/components/infinite-scroll/index.cjs +1 -0
  54. package/dist/cjs/components/infinite-scroll/infinite-scroll-wrapper.cjs +1 -0
  55. package/dist/cjs/components/name-cell/index.cjs +1 -0
  56. package/dist/cjs/components/name-cell/name-cell.cjs +1 -0
  57. package/dist/cjs/components/network-icon/index.cjs +1 -1
  58. package/dist/cjs/components/network-icon/network-indicator.cjs +1 -0
  59. package/dist/cjs/components/trading-view/trading-view.cjs +1 -1
  60. package/dist/cjs/components/with-copy/with-copy.cjs +1 -1
  61. package/dist/cjs/components/yield-breakdown-tooltip/yield-breakdown-tooltip.cjs +1 -1
  62. package/dist/cjs/configs/tailwind-preset.cjs +1 -1
  63. package/dist/cjs/hooks/index.cjs +1 -1
  64. package/dist/cjs/hooks/use-observed-width-key.cjs +1 -0
  65. package/dist/cjs/index.cjs +1 -1
  66. package/dist/cjs/locale/en.json.cjs +1 -1
  67. package/dist/cjs/utils/format-money.cjs +1 -1
  68. package/dist/cjs/utils/index.cjs +1 -1
  69. package/dist/cjs/utils/leverage-presets.cjs +1 -0
  70. package/dist/esm/components/assets-list-cell/assets-list-cell.js +161 -159
  71. package/dist/esm/components/badge/badge.js +14 -8
  72. package/dist/esm/components/badge/chip.js +47 -0
  73. package/dist/esm/components/badge/index.js +8 -3
  74. package/dist/esm/components/base/borrow-rate-block/borrow-rate-block.js +3 -2
  75. package/dist/esm/components/base/chart-with-side-card/chart-with-side-card.js +6 -6
  76. package/dist/esm/components/base/history-chart/history-chart.js +86 -46
  77. package/dist/esm/components/base/index.js +144 -138
  78. package/dist/esm/components/base/info-list/info-list.js +7 -8
  79. package/dist/esm/components/base/leverage-input/leverage-input.js +1 -1
  80. package/dist/esm/components/base/leverage-preset-chips/constants.js +7 -0
  81. package/dist/esm/components/base/leverage-preset-chips/index.js +6 -0
  82. package/dist/esm/components/base/leverage-preset-chips/leverage-preset-chips.js +39 -0
  83. package/dist/esm/components/base/pool-apy-breakdown-card/pool-apy-breakdown-card.js +23 -30
  84. package/dist/esm/components/base/strategy-apy-breakdown-card/constants.js +3 -2
  85. package/dist/esm/components/base/strategy-apy-breakdown-card/strategy-apy-breakdown-card.js +194 -32
  86. package/dist/esm/components/base/title-meta/constants.js +1 -0
  87. package/dist/esm/components/base/title-meta/title-meta.js +53 -33
  88. package/dist/esm/components/base/values/index.js +16 -14
  89. package/dist/esm/components/base/values/position-status-badge.js +26 -0
  90. package/dist/esm/components/base/values/position-type-badge.js +7 -6
  91. package/dist/esm/components/base-table/base-table-line.js +117 -0
  92. package/dist/esm/components/base-table/base-table.js +110 -0
  93. package/dist/esm/components/base-table/constants.js +12 -0
  94. package/dist/esm/components/base-table/index.js +9 -0
  95. package/dist/esm/components/base-table/types.js +1 -0
  96. package/dist/esm/components/block-sync-pill/block-sync-pill.js +9 -6
  97. package/dist/esm/components/checkbox/checkbox-labeled.js +7 -4
  98. package/dist/esm/components/client-adapters/styled-rounded-image/styled-rounded-image.js +7 -4
  99. package/dist/esm/components/collateral-allocation-tooltip/allocation-wheel.js +71 -0
  100. package/dist/esm/components/collateral-allocation-tooltip/collateral-allocation-tooltip.js +102 -0
  101. package/dist/esm/components/collateral-allocation-tooltip/constants.js +12 -0
  102. package/dist/esm/components/collateral-allocation-tooltip/index.js +9 -0
  103. package/dist/esm/components/composites/index.js +31 -31
  104. package/dist/esm/components/composites/pool-assets-table/constants.js +9 -0
  105. package/dist/esm/components/composites/pool-assets-table/index.js +8 -6
  106. package/dist/esm/components/composites/pool-assets-table/pool-assets-table-head.js +52 -30
  107. package/dist/esm/components/composites/pool-assets-table/pool-assets-table-row.js +108 -76
  108. package/dist/esm/components/composites/pool-assets-table/pool-assets-table.js +44 -26
  109. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.js +109 -52
  110. package/dist/esm/components/composites/tx-preview/confirm/dialog/index.js +8 -10
  111. package/dist/esm/components/composites/tx-preview/confirm/dialog/transactionConfirmShellTypes.js +1 -0
  112. package/dist/esm/components/composites/tx-preview/confirm/index.js +24 -26
  113. package/dist/esm/components/composites/tx-preview/index.js +24 -26
  114. package/dist/esm/components/compound-apy/compound-apy.js +85 -80
  115. package/dist/esm/components/filter/filter-chip.js +1 -0
  116. package/dist/esm/components/graph/default-config.js +20 -18
  117. package/dist/esm/components/graph/graph-view.js +32 -31
  118. package/dist/esm/components/graph/graph.js +459 -458
  119. package/dist/esm/components/hf-indicator/hf-indicator.js +33 -0
  120. package/dist/esm/components/hf-indicator/index.js +4 -0
  121. package/dist/esm/components/index.js +732 -701
  122. package/dist/esm/components/infinite-scroll/index.js +4 -0
  123. package/dist/esm/components/infinite-scroll/infinite-scroll-wrapper.js +30 -0
  124. package/dist/esm/components/name-cell/index.js +4 -0
  125. package/dist/esm/components/name-cell/name-cell.js +35 -0
  126. package/dist/esm/components/network-icon/index.js +4 -2
  127. package/dist/esm/components/network-icon/network-indicator.js +82 -0
  128. package/dist/esm/components/trading-view/trading-view.js +193 -155
  129. package/dist/esm/components/with-copy/with-copy.js +7 -4
  130. package/dist/esm/components/yield-breakdown-tooltip/yield-breakdown-tooltip.js +112 -169
  131. package/dist/esm/configs/tailwind-preset.js +13 -1
  132. package/dist/esm/hooks/index.js +20 -18
  133. package/dist/esm/hooks/use-observed-width-key.js +24 -0
  134. package/dist/esm/index.js +881 -842
  135. package/dist/esm/locale/en.json.js +21 -18
  136. package/dist/esm/utils/format-money.js +59 -41
  137. package/dist/esm/utils/index.js +87 -83
  138. package/dist/esm/utils/leverage-presets.js +13 -0
  139. package/dist/globals.css +1 -1
  140. package/dist/types/components/assets-list-cell/assets-list-cell.d.ts +3 -0
  141. package/dist/types/components/badge/badge.d.ts +2 -1
  142. package/dist/types/components/badge/chip.d.ts +22 -0
  143. package/dist/types/components/badge/index.d.ts +1 -0
  144. package/dist/types/components/base/history-chart/history-chart.d.ts +13 -3
  145. package/dist/types/components/base/index.d.ts +1 -0
  146. package/dist/types/components/base/leverage-input/leverage-input.d.ts +1 -1
  147. package/dist/types/components/base/leverage-preset-chips/constants.d.ts +4 -0
  148. package/dist/types/components/base/leverage-preset-chips/index.d.ts +2 -0
  149. package/dist/types/components/base/leverage-preset-chips/leverage-preset-chips.d.ts +13 -0
  150. package/dist/types/components/base/liquidation-params-table/liquidation-params-table.d.ts +2 -2
  151. package/dist/types/components/base/pool-apy-breakdown-card/pool-apy-breakdown-card.d.ts +4 -5
  152. package/dist/types/components/base/strategy-apy-breakdown-card/constants.d.ts +1 -0
  153. package/dist/types/components/base/strategy-apy-breakdown-card/strategy-apy-breakdown-card.d.ts +12 -4
  154. package/dist/types/components/base/title-meta/constants.d.ts +1 -0
  155. package/dist/types/components/base/title-meta/title-meta.d.ts +9 -1
  156. package/dist/types/components/base/values/index.d.ts +1 -0
  157. package/dist/types/components/base/values/position-status-badge.d.ts +7 -0
  158. package/dist/types/components/base/values/position-type-badge.d.ts +1 -1
  159. package/dist/types/components/base-table/base-table-line.d.ts +21 -0
  160. package/dist/types/components/base-table/base-table.d.ts +19 -0
  161. package/dist/types/components/base-table/constants.d.ts +8 -0
  162. package/dist/types/components/base-table/index.d.ts +3 -0
  163. package/dist/types/components/base-table/types.d.ts +37 -0
  164. package/dist/types/components/collateral-allocation-tooltip/allocation-wheel.d.ts +10 -0
  165. package/dist/types/components/collateral-allocation-tooltip/collateral-allocation-tooltip.d.ts +23 -0
  166. package/dist/types/components/collateral-allocation-tooltip/constants.d.ts +8 -0
  167. package/dist/types/components/collateral-allocation-tooltip/index.d.ts +3 -0
  168. package/dist/types/components/composites/pool-assets-table/constants.d.ts +6 -0
  169. package/dist/types/components/composites/pool-assets-table/index.d.ts +1 -0
  170. package/dist/types/components/composites/pool-assets-table/pool-assets-table-head.d.ts +1 -2
  171. package/dist/types/components/composites/pool-assets-table/pool-assets-table-row.d.ts +8 -8
  172. package/dist/types/components/composites/pool-assets-table/pool-assets-table.d.ts +7 -20
  173. package/dist/types/components/composites/pool-assets-table/types.d.ts +4 -12
  174. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.d.ts +23 -19
  175. package/dist/types/components/composites/tx-preview/confirm/dialog/index.d.ts +2 -2
  176. package/dist/types/components/composites/tx-preview/confirm/dialog/transactionConfirmPhase.d.ts +0 -3
  177. package/dist/types/components/composites/tx-preview/confirm/dialog/transactionConfirmShellTypes.d.ts +97 -0
  178. package/dist/types/components/graph/graph-view.d.ts +1 -1
  179. package/dist/types/components/graph/graph.d.ts +4 -0
  180. package/dist/types/components/hf-indicator/hf-indicator.d.ts +8 -0
  181. package/dist/types/components/hf-indicator/index.d.ts +1 -0
  182. package/dist/types/components/index.d.ts +5 -0
  183. package/dist/types/components/infinite-scroll/index.d.ts +1 -0
  184. package/dist/types/components/infinite-scroll/infinite-scroll-wrapper.d.ts +11 -0
  185. package/dist/types/components/name-cell/index.d.ts +1 -0
  186. package/dist/types/components/name-cell/name-cell.d.ts +13 -0
  187. package/dist/types/components/network-icon/index.d.ts +1 -0
  188. package/dist/types/components/network-icon/network-indicator.d.ts +23 -0
  189. package/dist/types/components/trading-view/trading-view.d.ts +10 -3
  190. package/dist/types/components/yield-breakdown-tooltip/yield-breakdown-tooltip.d.ts +6 -8
  191. package/dist/types/configs/tailwind-preset.d.ts +12 -0
  192. package/dist/types/hooks/index.d.ts +1 -0
  193. package/dist/types/hooks/use-observed-width-key.d.ts +8 -0
  194. package/dist/types/index.d.ts +6 -1
  195. package/dist/types/locale/en.json.d.ts +23 -18
  196. package/dist/types/utils/format-money.d.ts +11 -5
  197. package/dist/types/utils/index.d.ts +2 -1
  198. package/dist/types/utils/leverage-presets.d.ts +7 -0
  199. package/package.json +1 -1
  200. package/src/styles/base.css +30 -0
  201. package/src/styles/theme.css +16 -0
  202. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmModalView.cjs +0 -1
  203. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmPageView.cjs +0 -1
  204. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmModalView.js +0 -177
  205. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmPageView.js +0 -54
  206. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmModalView.d.ts +0 -17
  207. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmPageView.d.ts +0 -16
@@ -0,0 +1,117 @@
1
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
2
+ import "react-intl";
3
+ import "../buttons/button/button.js";
4
+ import "react";
5
+ import "@gearbox-protocol/sdk";
6
+ import { cn as o } from "../../utils/cn.js";
7
+ import "sonner";
8
+ import "@gearbox-protocol/sdk/common-utils";
9
+ import "luxon";
10
+ import "../../utils/z-index.js";
11
+ import { GridTableRow as h, GridTableCell as u } from "../table/grid-table.js";
12
+ import "../skeleton/skeleton.js";
13
+ import "../table/table.js";
14
+ import { Typography as G } from "../typography/typography.js";
15
+ import { useIsMedium as k, useIsMobile as z } from "../../hooks/use-media-query.js";
16
+ import { BaseTableLineTest as D } from "./constants.js";
17
+ const O = "min-w-0 max-w-full overflow-hidden", P = o(
18
+ "min-w-0 max-w-full self-stretch items-center overflow-x-clip py-2 pl-4",
19
+ "[&_span.truncate]:whitespace-normal",
20
+ "[&_div.overflow-hidden]:overflow-visible"
21
+ ), S = "min-w-0 max-w-full overflow-visible whitespace-nowrap";
22
+ function v({
23
+ label: t,
24
+ children: r
25
+ }) {
26
+ return /* @__PURE__ */ a("div", { className: "flex min-w-0 flex-col gap-1", children: [
27
+ /* @__PURE__ */ i(
28
+ G,
29
+ {
30
+ as: "span",
31
+ variant: "caption",
32
+ weight: "medium",
33
+ className: "uppercase text-muted-foreground",
34
+ children: t
35
+ }
36
+ ),
37
+ /* @__PURE__ */ i("div", { className: "min-w-0 text-sm", children: r })
38
+ ] });
39
+ }
40
+ function te({
41
+ columns: t,
42
+ cells: r,
43
+ last: x,
44
+ href: b,
45
+ disabled: l = !1,
46
+ disabledStyle: g = !1,
47
+ accentClassName: C,
48
+ onRowClick: n,
49
+ "data-testid": N,
50
+ minHeightClassName: L = "min-h-[66px]"
51
+ }) {
52
+ const _ = k(), y = z(), m = t.filter((e) => e.mobile === "title"), d = m.length > 0 ? m : t.slice(0, 1), T = t.filter((e) => e.mobile === "badge"), B = new Set(d.map((e) => e.id)), p = t.filter(
53
+ (e) => !B.has(e.id) && (e.mobile ?? "stat") === "stat"
54
+ ), j = t.filter((e) => e.mobile === "block"), c = {
55
+ last: x,
56
+ href: b,
57
+ noHover: l,
58
+ "data-disabled": l,
59
+ "data-testid": N ?? D.root,
60
+ onRowClick: l ? void 0 : n
61
+ }, f = o(
62
+ n && !l && "cursor-pointer",
63
+ g && "text-secondary-foreground!",
64
+ l && "cursor-not-allowed",
65
+ C
66
+ );
67
+ return y ? /* @__PURE__ */ i(h, { ...c, className: f, children: /* @__PURE__ */ a(
68
+ u,
69
+ {
70
+ span: "full",
71
+ size: "sm",
72
+ className: o(
73
+ "flex min-w-0 max-w-full flex-col items-start gap-3 overflow-x-clip py-3",
74
+ "[&_span.truncate]:whitespace-normal [&_div.overflow-hidden]:overflow-visible"
75
+ ),
76
+ children: [
77
+ /* @__PURE__ */ a("div", { className: "flex min-w-0 flex-wrap items-center gap-2", children: [
78
+ d.map((e) => /* @__PURE__ */ i("div", { className: "min-w-0 flex-1", children: r[e.id] }, e.id)),
79
+ T.map((e) => /* @__PURE__ */ i("div", { children: r[e.id] }, e.id))
80
+ ] }),
81
+ p.length > 0 && /* @__PURE__ */ i("div", { className: "grid w-full min-w-0 grid-cols-3 gap-x-2 gap-y-3 [&_*]:text-left [&_*]:justify-start", children: p.map((e) => /* @__PURE__ */ i(v, { label: e.title, children: r[e.id] }, e.id)) }),
82
+ j.map((e) => {
83
+ const s = r[e.id];
84
+ return s == null || s === !1 ? null : /* @__PURE__ */ i(v, { label: e.title, children: s }, e.id);
85
+ })
86
+ ]
87
+ }
88
+ ) }) : /* @__PURE__ */ i(
89
+ h,
90
+ {
91
+ ...c,
92
+ className: o(L, f),
93
+ children: t.map((e, s) => {
94
+ const I = e.justify ?? "start", M = s === 0, w = s === t.length - 1, A = e.mobile === "badge", E = o(
95
+ M ? P : A ? S : O,
96
+ w && "pr-4",
97
+ e.cellClassName
98
+ );
99
+ return /* @__PURE__ */ i(
100
+ u,
101
+ {
102
+ size: "sm",
103
+ textAlign: I === "end" ? "right" : "left",
104
+ gapBefore: w ? _ ? "sm" : "md" : void 0,
105
+ className: E,
106
+ children: r[e.id] ?? /* @__PURE__ */ i("span", { className: "text-secondary-foreground", children: "—" })
107
+ },
108
+ e.id
109
+ );
110
+ })
111
+ }
112
+ );
113
+ }
114
+ export {
115
+ te as BaseTableLine,
116
+ D as BaseTableLineTest
117
+ };
@@ -0,0 +1,110 @@
1
+ import { jsxs as T, jsx as t } from "react/jsx-runtime";
2
+ import { Children as p } from "react";
3
+ import { Guard as x } from "../guard/guard.js";
4
+ import { HeadCell as y } from "../head-cell/head-cell.js";
5
+ import "react-intl";
6
+ import "../buttons/button/button.js";
7
+ import "@gearbox-protocol/sdk";
8
+ import { cn as n } from "../../utils/cn.js";
9
+ import "sonner";
10
+ import "@gearbox-protocol/sdk/common-utils";
11
+ import "luxon";
12
+ import "../../utils/z-index.js";
13
+ import { GridTable as C, GridTableHeader as j, GridTableRow as f, GridTableHead as H, GridTableBody as N, GridTableCell as S } from "../table/grid-table.js";
14
+ import "../skeleton/skeleton.js";
15
+ import "../table/table.js";
16
+ import { TableLoaderGuard as v } from "../table/table-loader-guard.js";
17
+ import { useIsMobile as z } from "../../hooks/use-media-query.js";
18
+ import { BaseTableTest as d } from "./constants.js";
19
+ function B({
20
+ message: i,
21
+ testId: o
22
+ }) {
23
+ return /* @__PURE__ */ t(f, { noHover: !0, last: !0, children: /* @__PURE__ */ t(
24
+ S,
25
+ {
26
+ span: "full",
27
+ size: "sm",
28
+ textAlign: "center",
29
+ className: "py-8",
30
+ "data-testid": o,
31
+ children: i
32
+ }
33
+ ) });
34
+ }
35
+ function X({
36
+ columns: i,
37
+ isLoading: o,
38
+ emptyMessage: c,
39
+ sort: a,
40
+ rowHeight: h = "66px",
41
+ loaderRows: u = 5,
42
+ className: w,
43
+ wrapperClassName: b,
44
+ children: s
45
+ }) {
46
+ const l = z(), g = i.map((e) => e.track).join(" ");
47
+ return /* @__PURE__ */ T(
48
+ C,
49
+ {
50
+ cols: l ? "1fr" : g,
51
+ gap: 0,
52
+ size: "lg",
53
+ className: n("min-w-0 w-full", w),
54
+ wrapperClassName: b,
55
+ "data-testid": d.root,
56
+ children: [
57
+ !l && /* @__PURE__ */ t(j, { "data-testid": d.head, children: /* @__PURE__ */ t(f, { noHover: !0, height: "32px", children: i.map((e) => {
58
+ const m = e.justify ?? "start", r = e.sort, G = r && a ? a.getSortDirection(r.field) : void 0;
59
+ return /* @__PURE__ */ t(
60
+ H,
61
+ {
62
+ justify: m,
63
+ size: "sm",
64
+ className: n(
65
+ "min-w-0 whitespace-nowrap",
66
+ e.headClassName
67
+ ),
68
+ children: r && a ? /* @__PURE__ */ t(
69
+ y,
70
+ {
71
+ arrowPosition: m === "end" ? "left" : "right",
72
+ title: e.title,
73
+ sortDirection: G,
74
+ sortField: r.label,
75
+ onSort: () => a.onSort(
76
+ r.field,
77
+ r.defaultDirection
78
+ )
79
+ }
80
+ ) : e.title
81
+ },
82
+ e.id
83
+ );
84
+ }) }) }),
85
+ /* @__PURE__ */ t(
86
+ v,
87
+ {
88
+ showGuard: o,
89
+ rows: u,
90
+ columns: l ? 1 : i.length,
91
+ height: h,
92
+ cellClassName: "min-w-0 px-1 py-2 first:pl-4 last:pr-4",
93
+ children: !o && /* @__PURE__ */ t(
94
+ x,
95
+ {
96
+ showGuard: p.count(s) === 0,
97
+ guard: /* @__PURE__ */ t(B, { message: c, testId: d.empty }),
98
+ children: p.count(s) > 0 && /* @__PURE__ */ t(N, { children: s })
99
+ }
100
+ )
101
+ }
102
+ )
103
+ ]
104
+ }
105
+ );
106
+ }
107
+ export {
108
+ X as BaseTable,
109
+ d as BaseTableTest
110
+ };
@@ -0,0 +1,12 @@
1
+ class t {
2
+ static root = "base-table-root";
3
+ static head = "base-table-head";
4
+ static empty = "base-table-empty";
5
+ }
6
+ class a {
7
+ static root = "base-table-line-root";
8
+ }
9
+ export {
10
+ a as BaseTableLineTest,
11
+ t as BaseTableTest
12
+ };
@@ -0,0 +1,9 @@
1
+ import { BaseTable as o } from "./base-table.js";
2
+ import { BaseTableLine as s } from "./base-table-line.js";
3
+ import { BaseTableLineTest as t, BaseTableTest as b } from "./constants.js";
4
+ export {
5
+ o as BaseTable,
6
+ s as BaseTableLine,
7
+ t as BaseTableLineTest,
8
+ b as BaseTableTest
9
+ };
@@ -21,8 +21,11 @@ import "@gearbox-protocol/sdk/common-utils";
21
21
  import "luxon";
22
22
  import "../../utils/z-index.js";
23
23
  import "../buttons/tab-button/tab-button.js";
24
+ import "@fortawesome/free-solid-svg-icons";
25
+ import "../icons/fa-icon.js";
24
26
  import "../token-icon/token-icon.js";
25
27
  import "../badge/badge.js";
28
+ import "../badge/chip.js";
26
29
  import "../base/amount-input/amount-input.js";
27
30
  import "../confirm-menu/confirm-menu.js";
28
31
  import "react-intl";
@@ -34,8 +37,6 @@ import "../simple-accordion/simple-accordion.js";
34
37
  import "../tip-card/tip-card.js";
35
38
  import "../typography/typography.js";
36
39
  import "../points-icon/points-icon.js";
37
- import "@fortawesome/free-solid-svg-icons";
38
- import "../icons/fa-icon.js";
39
40
  import "../vertical-indicator/vertical-indicator.js";
40
41
  import "../base/page-title/page-title.js";
41
42
  import "../detailed-page-title/detailed-page-title-copy-button.js";
@@ -58,8 +59,8 @@ import "../slider/slider.js";
58
59
  import "../slider/slider-context.js";
59
60
  import "../text-button/text-button.js";
60
61
  import "../with-title/with-title.js";
61
- import "../status-elements/status-elements.js";
62
62
  import "react-router-dom";
63
+ import "../status-elements/status-elements.js";
63
64
  import "../client-adapters/styled-dialog-container/styled-dialog-container.js";
64
65
  import "../modal/modal.js";
65
66
  import "@radix-ui/react-dialog";
@@ -76,11 +77,13 @@ import "../input/input.js";
76
77
  import "../label/label.js";
77
78
  import "../simple-dropdown/simple-dropdown.js";
78
79
  import "../simple-dropdown/simple-dropdown-menu-item.js";
79
- import "../help-tip/help-tip.js";
80
80
  import "../base/tabber/tabber.js";
81
81
  import "../link/link.js";
82
82
  import "../rounded-image/rounded-image.js";
83
+ import "../network-icon/network-indicator.js";
83
84
  import "../base-link/base-link.js";
85
+ import "../help-tip/help-tip.js";
86
+ import "../base-table/base-table-line.js";
84
87
  import "../navigation-context/navigation-context.js";
85
88
  import "../cards/card/card.js";
86
89
  import "../checkbox-item/checkbox-item.js";
@@ -133,7 +136,7 @@ import "../textarea/textarea.js";
133
136
  import "../theme-provider.js";
134
137
  import { getBlockSyncStatus as z } from "./block-sync-status.js";
135
138
  const C = 300 * 1e3, O = 2.5;
136
- function So({
139
+ function bo({
137
140
  blockByChain: p,
138
141
  explorerAddresses: y,
139
142
  networkById: T,
@@ -203,5 +206,5 @@ function So({
203
206
  return d ? /* @__PURE__ */ t($, { title: a(), children: d }) : /* @__PURE__ */ t("div", { className: "select-none", children: a() });
204
207
  }
205
208
  export {
206
- So as BlockSyncPill
209
+ bo as BlockSyncPill
207
210
  };
@@ -19,10 +19,13 @@ import "../buttons/external-button/external-button.js";
19
19
  import "../buttons/filter-button/filter-button.js";
20
20
  import "../buttons/navigation-button/navigation-button.js";
21
21
  import "../buttons/tab-button/tab-button.js";
22
+ import "@fortawesome/free-solid-svg-icons";
23
+ import "../icons/fa-icon.js";
22
24
  import "../token-icon/token-icon.js";
23
25
  import "../tooltip/simple-tooltip.js";
24
26
  import "../tooltip/tooltip.js";
25
27
  import "../badge/badge.js";
28
+ import "../badge/chip.js";
26
29
  import "../base/amount-input/amount-input.js";
27
30
  import "../confirm-menu/confirm-menu.js";
28
31
  import "react-intl";
@@ -34,8 +37,6 @@ import "../simple-accordion/simple-accordion.js";
34
37
  import "../tip-card/tip-card.js";
35
38
  import "../typography/typography.js";
36
39
  import "../points-icon/points-icon.js";
37
- import "@fortawesome/free-solid-svg-icons";
38
- import "../icons/fa-icon.js";
39
40
  import "../vertical-indicator/vertical-indicator.js";
40
41
  import "../base/page-title/page-title.js";
41
42
  import "../detailed-page-title/detailed-page-title-copy-button.js";
@@ -57,8 +58,8 @@ import "../slider/slider.js";
57
58
  import "../slider/slider-context.js";
58
59
  import "../text-button/text-button.js";
59
60
  import "../with-title/with-title.js";
60
- import "../status-elements/status-elements.js";
61
61
  import "react-router-dom";
62
+ import "../status-elements/status-elements.js";
62
63
  import "../client-adapters/styled-dialog-container/styled-dialog-container.js";
63
64
  import "../modal/modal.js";
64
65
  import "@radix-ui/react-dialog";
@@ -75,11 +76,13 @@ import "../input/input.js";
75
76
  import { Label as k } from "../label/label.js";
76
77
  import "../simple-dropdown/simple-dropdown.js";
77
78
  import "../simple-dropdown/simple-dropdown-menu-item.js";
78
- import "../help-tip/help-tip.js";
79
79
  import "../base/tabber/tabber.js";
80
80
  import "../link/link.js";
81
81
  import "../rounded-image/rounded-image.js";
82
+ import "../network-icon/network-indicator.js";
82
83
  import "../base-link/base-link.js";
84
+ import "../help-tip/help-tip.js";
85
+ import "../base-table/base-table-line.js";
83
86
  import "../navigation-context/navigation-context.js";
84
87
  import "../cards/card/card.js";
85
88
  import "../checkbox-item/checkbox-item.js";
@@ -19,10 +19,13 @@ import "@gearbox-protocol/sdk/common-utils";
19
19
  import "luxon";
20
20
  import "../../../utils/z-index.js";
21
21
  import "../../buttons/tab-button/tab-button.js";
22
+ import "@fortawesome/free-solid-svg-icons";
23
+ import "../../icons/fa-icon.js";
22
24
  import "../../token-icon/token-icon.js";
23
25
  import "../../tooltip/simple-tooltip.js";
24
26
  import "../../tooltip/tooltip.js";
25
27
  import "../../badge/badge.js";
28
+ import "../../badge/chip.js";
26
29
  import "../../base/amount-input/amount-input.js";
27
30
  import "../../confirm-menu/confirm-menu.js";
28
31
  import "react-intl";
@@ -34,8 +37,6 @@ import "../../simple-accordion/simple-accordion.js";
34
37
  import "../../tip-card/tip-card.js";
35
38
  import "../../typography/typography.js";
36
39
  import "../../points-icon/points-icon.js";
37
- import "@fortawesome/free-solid-svg-icons";
38
- import "../../icons/fa-icon.js";
39
40
  import "../../vertical-indicator/vertical-indicator.js";
40
41
  import "../../base/page-title/page-title.js";
41
42
  import "../../detailed-page-title/detailed-page-title-copy-button.js";
@@ -58,8 +59,8 @@ import "../../slider/slider.js";
58
59
  import "../../slider/slider-context.js";
59
60
  import "../../text-button/text-button.js";
60
61
  import "../../with-title/with-title.js";
61
- import "../../status-elements/status-elements.js";
62
62
  import "react-router-dom";
63
+ import "../../status-elements/status-elements.js";
63
64
  import "../styled-dialog-container/styled-dialog-container.js";
64
65
  import "../../modal/modal.js";
65
66
  import "@radix-ui/react-dialog";
@@ -76,11 +77,13 @@ import "../../input/input.js";
76
77
  import "../../label/label.js";
77
78
  import "../../simple-dropdown/simple-dropdown.js";
78
79
  import "../../simple-dropdown/simple-dropdown-menu-item.js";
79
- import "../../help-tip/help-tip.js";
80
80
  import "../../base/tabber/tabber.js";
81
81
  import "../../link/link.js";
82
82
  import { RoundedImage as d } from "../../rounded-image/rounded-image.js";
83
+ import "../../network-icon/network-indicator.js";
83
84
  import "../../base-link/base-link.js";
85
+ import "../../help-tip/help-tip.js";
86
+ import "../../base-table/base-table-line.js";
84
87
  import "../../navigation-context/navigation-context.js";
85
88
  import "../../cards/card/card.js";
86
89
  import "../../checkbox-item/checkbox-item.js";
@@ -0,0 +1,71 @@
1
+ import { jsxs as k, jsx as r } from "react/jsx-runtime";
2
+ import "react";
3
+ import "@gearbox-protocol/sdk";
4
+ import { cn as d } from "../../utils/cn.js";
5
+ import "sonner";
6
+ import "@gearbox-protocol/sdk/common-utils";
7
+ import "luxon";
8
+ import "../../utils/z-index.js";
9
+ import { AllocationWheelTest as p } from "./constants.js";
10
+ const c = [
11
+ "stroke-chart-1",
12
+ "stroke-chart-2",
13
+ "stroke-chart-3",
14
+ "stroke-chart-4",
15
+ "stroke-chart-5",
16
+ "stroke-chart-6",
17
+ "stroke-chart-7",
18
+ "stroke-chart-8",
19
+ "stroke-chart-9",
20
+ "stroke-chart-10",
21
+ "stroke-chart-11",
22
+ "stroke-chart-12"
23
+ ], t = 20, o = 3.5, e = (t - o) / 2, i = 2 * Math.PI * e;
24
+ function M({
25
+ share: h,
26
+ colorIndex: l,
27
+ idle: n = !1
28
+ }) {
29
+ const s = Math.min(1, Math.max(0, h)), a = i * s, m = n ? "stroke-muted-foreground" : c[l % c.length];
30
+ return /* @__PURE__ */ k(
31
+ "svg",
32
+ {
33
+ width: t,
34
+ height: t,
35
+ viewBox: `0 0 ${t} ${t}`,
36
+ className: "-rotate-90",
37
+ "data-testid": p.root,
38
+ role: "img",
39
+ "aria-label": "Allocation share",
40
+ children: [
41
+ /* @__PURE__ */ r("title", { children: "Allocation share" }),
42
+ /* @__PURE__ */ r(
43
+ "circle",
44
+ {
45
+ cx: t / 2,
46
+ cy: t / 2,
47
+ r: e,
48
+ fill: "none",
49
+ className: "stroke-muted",
50
+ strokeWidth: o
51
+ }
52
+ ),
53
+ s > 0 && /* @__PURE__ */ r(
54
+ "circle",
55
+ {
56
+ cx: t / 2,
57
+ cy: t / 2,
58
+ r: e,
59
+ fill: "none",
60
+ className: d(m),
61
+ strokeWidth: o,
62
+ strokeDasharray: `${a} ${i - a}`
63
+ }
64
+ )
65
+ ]
66
+ }
67
+ );
68
+ }
69
+ export {
70
+ M as AllocationWheel
71
+ };
@@ -0,0 +1,102 @@
1
+ import { jsx as t, jsxs as i } from "react/jsx-runtime";
2
+ import { faPause as k } from "@fortawesome/free-solid-svg-icons";
3
+ import { FaIcon as v } from "../icons/fa-icon.js";
4
+ import { TokenIcon as w } from "../token-icon/token-icon.js";
5
+ import { SimpleTooltip as y } from "../tooltip/simple-tooltip.js";
6
+ import "../tooltip/tooltip.js";
7
+ import "react";
8
+ import "@gearbox-protocol/sdk";
9
+ import { cn as N } from "../../utils/cn.js";
10
+ import "sonner";
11
+ import "@gearbox-protocol/sdk/common-utils";
12
+ import "luxon";
13
+ import "../../utils/z-index.js";
14
+ import { AllocationWheel as U } from "./allocation-wheel.js";
15
+ import { CollateralAllocationTooltipTest as l } from "./constants.js";
16
+ function I(o) {
17
+ return new Intl.NumberFormat("en-US", {
18
+ style: "currency",
19
+ currency: "USD",
20
+ notation: "compact",
21
+ maximumFractionDigits: 2
22
+ }).format(o);
23
+ }
24
+ function p(o) {
25
+ return o.valueUsd ?? 0;
26
+ }
27
+ function C(o) {
28
+ return o.valueUsd != null;
29
+ }
30
+ function E({
31
+ data: o,
32
+ children: u,
33
+ className: a
34
+ }) {
35
+ const s = o.slices.reduce(
36
+ (e, r) => e + p(r.amount),
37
+ 0
38
+ ), m = o.slices.some((e) => C(e.amount));
39
+ let f = 0;
40
+ const x = /* @__PURE__ */ t(
41
+ "div",
42
+ {
43
+ className: N(
44
+ "flex w-[400px] max-w-[calc(100vw-32px)] flex-col overflow-hidden p-3",
45
+ "rounded-xl bg-card text-card-foreground",
46
+ "border border-border",
47
+ "shadow-[0_4px_28px_4px_rgba(0,0,0,0.15)]"
48
+ ),
49
+ "data-testid": l.root,
50
+ children: o.slices.map((e, r) => {
51
+ const d = p(e.amount), h = s > 0 ? d / s : 0, n = e.kind === "idle", g = n ? 0 : f++, b = e.kind === "idle" ? "idle" : `${e.token.address}-${r}`, c = m && e.amount.valueUsd != null ? I(d) : void 0;
52
+ return /* @__PURE__ */ i(
53
+ "div",
54
+ {
55
+ className: "flex h-[34px] items-center justify-between gap-3 px-2 py-[7px]",
56
+ "data-testid": l.row,
57
+ children: [
58
+ /* @__PURE__ */ i("div", { className: "flex min-w-0 items-center gap-2", children: [
59
+ n ? /* @__PURE__ */ t("span", { className: "flex size-5 shrink-0 items-center justify-center rounded-[10px] bg-muted", children: /* @__PURE__ */ t(
60
+ v,
61
+ {
62
+ icon: k,
63
+ className: "size-2.5 text-muted-foreground"
64
+ }
65
+ ) }) : /* @__PURE__ */ t(w, { token: e.token, size: 20 }),
66
+ /* @__PURE__ */ t("span", { className: "truncate text-sm leading-5 text-foreground", children: n ? "Idle" : e.token.symbol })
67
+ ] }),
68
+ m && /* @__PURE__ */ i("div", { className: "flex shrink-0 items-center gap-2", children: [
69
+ c != null && /* @__PURE__ */ t("span", { className: "text-sm font-semibold leading-5 tabular-nums text-foreground", children: c }),
70
+ /* @__PURE__ */ t("span", { "data-testid": l.wheel, children: /* @__PURE__ */ t(
71
+ U,
72
+ {
73
+ share: h,
74
+ colorIndex: g,
75
+ idle: n
76
+ }
77
+ ) })
78
+ ] })
79
+ ]
80
+ },
81
+ b
82
+ );
83
+ })
84
+ }
85
+ );
86
+ return /* @__PURE__ */ t(
87
+ y,
88
+ {
89
+ placement: "bottom",
90
+ triangle: !1,
91
+ type: "modal-tooltip",
92
+ minWidth: "100%",
93
+ maxWidth: "100%",
94
+ title: /* @__PURE__ */ t("span", { className: a, children: u }),
95
+ triggerClassName: a,
96
+ children: x
97
+ }
98
+ );
99
+ }
100
+ export {
101
+ E as CollateralAllocationTooltip
102
+ };
@@ -0,0 +1,12 @@
1
+ class l {
2
+ static root = "collateral-allocation-tooltip-root";
3
+ static row = "collateral-allocation-tooltip-row";
4
+ static wheel = "collateral-allocation-tooltip-wheel";
5
+ }
6
+ class t {
7
+ static root = "allocation-wheel-root";
8
+ }
9
+ export {
10
+ t as AllocationWheelTest,
11
+ l as CollateralAllocationTooltipTest
12
+ };
@@ -0,0 +1,9 @@
1
+ import { AllocationWheel as t } from "./allocation-wheel.js";
2
+ import { CollateralAllocationTooltip as a } from "./collateral-allocation-tooltip.js";
3
+ import { AllocationWheelTest as i, CollateralAllocationTooltipTest as p } from "./constants.js";
4
+ export {
5
+ t as AllocationWheel,
6
+ i as AllocationWheelTest,
7
+ a as CollateralAllocationTooltip,
8
+ p as CollateralAllocationTooltipTest
9
+ };