@gearbox-protocol/ui-kit 4.0.0-next.2 → 4.0.0-next.20

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 (317) 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/amount-input/token-select-panel.cjs +1 -1
  6. package/dist/cjs/components/base/borrow-rate-block/borrow-rate-block.cjs +1 -1
  7. package/dist/cjs/components/base/chart-with-side-card/chart-with-side-card.cjs +1 -1
  8. package/dist/cjs/components/base/detailed-page-title/detailed-page-title.cjs +1 -1
  9. package/dist/cjs/components/base/health-factor-block/health-factor-block.cjs +1 -1
  10. package/dist/cjs/components/base/history-chart/history-chart.cjs +1 -1
  11. package/dist/cjs/components/base/index.cjs +1 -1
  12. package/dist/cjs/components/base/info-list/index.cjs +1 -1
  13. package/dist/cjs/components/base/info-list/info-list.cjs +1 -1
  14. package/dist/cjs/components/base/leverage-input/leverage-input.cjs +1 -1
  15. package/dist/cjs/components/base/leverage-preset-chips/constants.cjs +1 -0
  16. package/dist/cjs/components/base/leverage-preset-chips/index.cjs +1 -0
  17. package/dist/cjs/components/base/leverage-preset-chips/leverage-preset-chips.cjs +1 -0
  18. package/dist/cjs/components/base/liquidation-price-block/liquidation-price-block.cjs +1 -1
  19. package/dist/cjs/components/base/manage-pane/constants.cjs +1 -1
  20. package/dist/cjs/components/base/manage-pane/manage-pane.cjs +1 -1
  21. package/dist/cjs/components/base/page-title/index.cjs +1 -1
  22. package/dist/cjs/components/base/page-title/page-title.cjs +1 -1
  23. package/dist/cjs/components/base/pool-apy-breakdown-card/pool-apy-breakdown-card.cjs +1 -1
  24. package/dist/cjs/components/base/position-assets/constants.cjs +1 -0
  25. package/dist/cjs/components/base/position-assets/index.cjs +1 -0
  26. package/dist/cjs/components/base/position-assets/position-assets.cjs +1 -0
  27. package/dist/cjs/components/base/review-button/constants.cjs +1 -1
  28. package/dist/cjs/components/base/review-button/review-button.cjs +1 -1
  29. package/dist/cjs/components/base/stat-badge/constants.cjs +1 -1
  30. package/dist/cjs/components/base/stat-badge/stat-badge.cjs +1 -1
  31. package/dist/cjs/components/base/strategy-apy-breakdown-card/constants.cjs +1 -1
  32. package/dist/cjs/components/base/strategy-apy-breakdown-card/strategy-apy-breakdown-card.cjs +1 -1
  33. package/dist/cjs/components/base/tabber/tabber.cjs +1 -1
  34. package/dist/cjs/components/base/time-to-liquidation-block/time-to-liquidation-block.cjs +1 -1
  35. package/dist/cjs/components/base/title-meta/constants.cjs +1 -1
  36. package/dist/cjs/components/base/title-meta/title-meta.cjs +1 -1
  37. package/dist/cjs/components/base/token-amount/token-amount.cjs +1 -1
  38. package/dist/cjs/components/base/values/constants.cjs +1 -1
  39. package/dist/cjs/components/base/values/index.cjs +1 -1
  40. package/dist/cjs/components/base/values/points-value.cjs +1 -0
  41. package/dist/cjs/components/base/values/position-status-badge.cjs +1 -0
  42. package/dist/cjs/components/base/values/position-type-badge.cjs +1 -1
  43. package/dist/cjs/components/base/values/scalars.cjs +1 -1
  44. package/dist/cjs/components/base-table/base-table-line.cjs +1 -0
  45. package/dist/cjs/components/base-table/base-table.cjs +1 -0
  46. package/dist/cjs/components/base-table/constants.cjs +1 -0
  47. package/dist/cjs/components/base-table/index.cjs +1 -0
  48. package/dist/cjs/components/checkbox/checkbox-labeled.cjs +1 -1
  49. package/dist/cjs/components/client-adapters/styled-rounded-image/styled-rounded-image.cjs +1 -1
  50. package/dist/cjs/components/collateral-allocation-tooltip/allocation-wheel.cjs +1 -0
  51. package/dist/cjs/components/collateral-allocation-tooltip/collateral-allocation-tooltip.cjs +1 -0
  52. package/dist/cjs/components/collateral-allocation-tooltip/constants.cjs +1 -0
  53. package/dist/cjs/components/collateral-allocation-tooltip/index.cjs +1 -0
  54. package/dist/cjs/components/composites/index.cjs +1 -1
  55. package/dist/cjs/components/composites/pool-assets-table/constants.cjs +1 -0
  56. package/dist/cjs/components/composites/pool-assets-table/index.cjs +1 -1
  57. package/dist/cjs/components/composites/pool-assets-table/pool-assets-table-head.cjs +1 -1
  58. package/dist/cjs/components/composites/pool-assets-table/pool-assets-table-row.cjs +1 -1
  59. package/dist/cjs/components/composites/pool-assets-table/pool-assets-table.cjs +1 -1
  60. package/dist/cjs/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountField.cjs +1 -1
  61. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.cjs +1 -1
  62. package/dist/cjs/components/composites/tx-preview/confirm/dialog/constants.cjs +1 -1
  63. package/dist/cjs/components/composites/tx-preview/confirm/dialog/index.cjs +1 -1
  64. package/dist/cjs/components/composites/tx-preview/confirm/dialog/transactionConfirmShellTypes.cjs +1 -0
  65. package/dist/cjs/components/composites/tx-preview/confirm/index.cjs +1 -1
  66. package/dist/cjs/components/composites/tx-preview/index.cjs +1 -1
  67. package/dist/cjs/components/compound-apy/compound-apy.cjs +1 -1
  68. package/dist/cjs/components/detailed-page-title/detailed-page-title-explorer-dropdown.cjs +1 -1
  69. package/dist/cjs/components/filter/filter-chip.cjs +1 -1
  70. package/dist/cjs/components/graph/default-config.cjs +1 -1
  71. package/dist/cjs/components/graph/formatters.cjs +1 -1
  72. package/dist/cjs/components/graph/graph-view.cjs +1 -1
  73. package/dist/cjs/components/graph/graph.cjs +1 -1
  74. package/dist/cjs/components/hf-indicator/hf-indicator.cjs +1 -0
  75. package/dist/cjs/components/hf-indicator/index.cjs +1 -0
  76. package/dist/cjs/components/index.cjs +1 -1
  77. package/dist/cjs/components/infinite-scroll/index.cjs +1 -0
  78. package/dist/cjs/components/infinite-scroll/infinite-scroll-wrapper.cjs +1 -0
  79. package/dist/cjs/components/layout/app-footer/app-footer.cjs +1 -1
  80. package/dist/cjs/components/name-cell/index.cjs +1 -0
  81. package/dist/cjs/components/name-cell/name-cell.cjs +1 -0
  82. package/dist/cjs/components/network-icon/index.cjs +1 -1
  83. package/dist/cjs/components/network-icon/network-indicator.cjs +1 -0
  84. package/dist/cjs/components/sdk-status-pill/constants.cjs +1 -0
  85. package/dist/cjs/components/sdk-status-pill/index.cjs +1 -0
  86. package/dist/cjs/components/sdk-status-pill/sdk-status-pill.cjs +1 -0
  87. package/dist/cjs/components/sdk-status-pill/sdk-status.cjs +1 -0
  88. package/dist/cjs/components/trading-view/trading-view.cjs +1 -1
  89. package/dist/cjs/components/with-copy/with-copy.cjs +1 -1
  90. package/dist/cjs/components/yield-breakdown-tooltip/yield-breakdown-tooltip.cjs +1 -1
  91. package/dist/cjs/configs/tailwind-preset.cjs +1 -1
  92. package/dist/cjs/hooks/index.cjs +1 -1
  93. package/dist/cjs/hooks/use-observed-width-key.cjs +1 -0
  94. package/dist/cjs/index.cjs +1 -1
  95. package/dist/cjs/locale/en.json.cjs +1 -1
  96. package/dist/cjs/utils/format-leverage.cjs +1 -0
  97. package/dist/cjs/utils/format-money.cjs +1 -1
  98. package/dist/cjs/utils/index.cjs +1 -1
  99. package/dist/cjs/utils/leverage-presets.cjs +1 -0
  100. package/dist/cjs/utils/strategy-apy.cjs +1 -0
  101. package/dist/esm/components/assets-list-cell/assets-list-cell.js +161 -159
  102. package/dist/esm/components/badge/badge.js +14 -8
  103. package/dist/esm/components/badge/chip.js +47 -0
  104. package/dist/esm/components/badge/index.js +8 -3
  105. package/dist/esm/components/base/amount-input/token-select-panel.js +33 -37
  106. package/dist/esm/components/base/borrow-rate-block/borrow-rate-block.js +32 -25
  107. package/dist/esm/components/base/chart-with-side-card/chart-with-side-card.js +6 -6
  108. package/dist/esm/components/base/detailed-page-title/detailed-page-title.js +26 -27
  109. package/dist/esm/components/base/health-factor-block/health-factor-block.js +25 -25
  110. package/dist/esm/components/base/history-chart/history-chart.js +82 -41
  111. package/dist/esm/components/base/index.js +156 -141
  112. package/dist/esm/components/base/info-list/index.js +5 -4
  113. package/dist/esm/components/base/info-list/info-list.js +52 -27
  114. package/dist/esm/components/base/leverage-input/leverage-input.js +18 -20
  115. package/dist/esm/components/base/leverage-preset-chips/constants.js +7 -0
  116. package/dist/esm/components/base/leverage-preset-chips/index.js +6 -0
  117. package/dist/esm/components/base/leverage-preset-chips/leverage-preset-chips.js +39 -0
  118. package/dist/esm/components/base/liquidation-price-block/liquidation-price-block.js +33 -28
  119. package/dist/esm/components/base/manage-pane/constants.js +3 -2
  120. package/dist/esm/components/base/manage-pane/manage-pane.js +154 -113
  121. package/dist/esm/components/base/page-title/index.js +5 -4
  122. package/dist/esm/components/base/page-title/page-title.js +31 -23
  123. package/dist/esm/components/base/pool-apy-breakdown-card/pool-apy-breakdown-card.js +23 -30
  124. package/dist/esm/components/base/position-assets/constants.js +8 -0
  125. package/dist/esm/components/base/position-assets/index.js +6 -0
  126. package/dist/esm/components/base/position-assets/position-assets.js +73 -0
  127. package/dist/esm/components/base/review-button/constants.js +3 -2
  128. package/dist/esm/components/base/review-button/review-button.js +35 -22
  129. package/dist/esm/components/base/stat-badge/constants.js +1 -0
  130. package/dist/esm/components/base/stat-badge/stat-badge.js +91 -47
  131. package/dist/esm/components/base/strategy-apy-breakdown-card/constants.js +3 -2
  132. package/dist/esm/components/base/strategy-apy-breakdown-card/strategy-apy-breakdown-card.js +219 -31
  133. package/dist/esm/components/base/tabber/tabber.js +67 -64
  134. package/dist/esm/components/base/time-to-liquidation-block/time-to-liquidation-block.js +31 -31
  135. package/dist/esm/components/base/title-meta/constants.js +1 -0
  136. package/dist/esm/components/base/title-meta/title-meta.js +53 -33
  137. package/dist/esm/components/base/token-amount/token-amount.js +17 -16
  138. package/dist/esm/components/base/values/constants.js +1 -0
  139. package/dist/esm/components/base/values/index.js +18 -13
  140. package/dist/esm/components/base/values/points-value.js +30 -0
  141. package/dist/esm/components/base/values/position-status-badge.js +26 -0
  142. package/dist/esm/components/base/values/position-type-badge.js +7 -6
  143. package/dist/esm/components/base/values/scalars.js +55 -34
  144. package/dist/esm/components/base-table/base-table-line.js +117 -0
  145. package/dist/esm/components/base-table/base-table.js +110 -0
  146. package/dist/esm/components/base-table/constants.js +12 -0
  147. package/dist/esm/components/base-table/index.js +9 -0
  148. package/dist/esm/components/checkbox/checkbox-labeled.js +25 -20
  149. package/dist/esm/components/client-adapters/styled-rounded-image/styled-rounded-image.js +25 -20
  150. package/dist/esm/components/collateral-allocation-tooltip/allocation-wheel.js +71 -0
  151. package/dist/esm/components/collateral-allocation-tooltip/collateral-allocation-tooltip.js +102 -0
  152. package/dist/esm/components/collateral-allocation-tooltip/constants.js +12 -0
  153. package/dist/esm/components/collateral-allocation-tooltip/index.js +9 -0
  154. package/dist/esm/components/composites/index.js +31 -31
  155. package/dist/esm/components/composites/pool-assets-table/constants.js +9 -0
  156. package/dist/esm/components/composites/pool-assets-table/index.js +8 -6
  157. package/dist/esm/components/composites/pool-assets-table/pool-assets-table-head.js +52 -30
  158. package/dist/esm/components/composites/pool-assets-table/pool-assets-table-row.js +111 -77
  159. package/dist/esm/components/composites/pool-assets-table/pool-assets-table.js +44 -26
  160. package/dist/esm/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountField.js +50 -39
  161. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.js +114 -59
  162. package/dist/esm/components/composites/tx-preview/confirm/dialog/constants.js +10 -7
  163. package/dist/esm/components/composites/tx-preview/confirm/dialog/index.js +8 -10
  164. package/dist/esm/components/composites/tx-preview/confirm/dialog/transactionConfirmShellTypes.js +1 -0
  165. package/dist/esm/components/composites/tx-preview/confirm/index.js +24 -26
  166. package/dist/esm/components/composites/tx-preview/index.js +24 -26
  167. package/dist/esm/components/compound-apy/compound-apy.js +85 -80
  168. package/dist/esm/components/detailed-page-title/detailed-page-title-explorer-dropdown.js +50 -41
  169. package/dist/esm/components/filter/filter-chip.js +1 -0
  170. package/dist/esm/components/graph/default-config.js +20 -18
  171. package/dist/esm/components/graph/formatters.js +62 -52
  172. package/dist/esm/components/graph/graph-view.js +72 -88
  173. package/dist/esm/components/graph/graph.js +459 -458
  174. package/dist/esm/components/hf-indicator/hf-indicator.js +59 -0
  175. package/dist/esm/components/hf-indicator/index.js +4 -0
  176. package/dist/esm/components/index.js +739 -695
  177. package/dist/esm/components/infinite-scroll/index.js +4 -0
  178. package/dist/esm/components/infinite-scroll/infinite-scroll-wrapper.js +30 -0
  179. package/dist/esm/components/layout/app-footer/app-footer.js +20 -23
  180. package/dist/esm/components/name-cell/index.js +4 -0
  181. package/dist/esm/components/name-cell/name-cell.js +35 -0
  182. package/dist/esm/components/network-icon/index.js +4 -2
  183. package/dist/esm/components/network-icon/network-indicator.js +82 -0
  184. package/dist/esm/components/sdk-status-pill/constants.js +8 -0
  185. package/dist/esm/components/sdk-status-pill/index.js +8 -0
  186. package/dist/esm/components/sdk-status-pill/sdk-status-pill.js +59 -0
  187. package/dist/esm/components/sdk-status-pill/sdk-status.js +6 -0
  188. package/dist/esm/components/trading-view/trading-view.js +193 -155
  189. package/dist/esm/components/with-copy/with-copy.js +25 -20
  190. package/dist/esm/components/yield-breakdown-tooltip/yield-breakdown-tooltip.js +112 -169
  191. package/dist/esm/configs/tailwind-preset.js +13 -1
  192. package/dist/esm/hooks/index.js +20 -18
  193. package/dist/esm/hooks/use-observed-width-key.js +24 -0
  194. package/dist/esm/index.js +899 -842
  195. package/dist/esm/locale/en.json.js +29 -22
  196. package/dist/esm/utils/format-leverage.js +6 -0
  197. package/dist/esm/utils/format-money.js +59 -41
  198. package/dist/esm/utils/index.js +101 -92
  199. package/dist/esm/utils/leverage-presets.js +13 -0
  200. package/dist/esm/utils/strategy-apy.js +51 -0
  201. package/dist/globals.css +1 -1
  202. package/dist/types/components/assets-list-cell/assets-list-cell.d.ts +3 -0
  203. package/dist/types/components/badge/badge.d.ts +2 -1
  204. package/dist/types/components/badge/chip.d.ts +22 -0
  205. package/dist/types/components/badge/index.d.ts +1 -0
  206. package/dist/types/components/base/amount-input/amount-input.d.ts +3 -2
  207. package/dist/types/components/base/amount-input/token-select-panel.d.ts +4 -3
  208. package/dist/types/components/base/borrow-rate-block/borrow-rate-block.d.ts +10 -5
  209. package/dist/types/components/base/detailed-page-title/detailed-page-title.d.ts +1 -3
  210. package/dist/types/components/base/health-factor-block/health-factor-block.d.ts +6 -6
  211. package/dist/types/components/base/history-chart/history-chart.d.ts +32 -8
  212. package/dist/types/components/base/index.d.ts +2 -0
  213. package/dist/types/components/base/info-list/info-list.d.ts +7 -0
  214. package/dist/types/components/base/leverage-input/leverage-input.d.ts +1 -1
  215. package/dist/types/components/base/leverage-preset-chips/constants.d.ts +4 -0
  216. package/dist/types/components/base/leverage-preset-chips/index.d.ts +2 -0
  217. package/dist/types/components/base/leverage-preset-chips/leverage-preset-chips.d.ts +13 -0
  218. package/dist/types/components/base/liquidation-params-table/liquidation-params-table.d.ts +2 -2
  219. package/dist/types/components/base/liquidation-price-block/liquidation-price-block.d.ts +6 -4
  220. package/dist/types/components/base/manage-pane/constants.d.ts +1 -0
  221. package/dist/types/components/base/manage-pane/manage-pane.d.ts +3 -1
  222. package/dist/types/components/base/page-title/page-title.d.ts +12 -6
  223. package/dist/types/components/base/pool-apy-breakdown-card/pool-apy-breakdown-card.d.ts +4 -5
  224. package/dist/types/components/base/position-assets/constants.d.ts +5 -0
  225. package/dist/types/components/base/position-assets/index.d.ts +2 -0
  226. package/dist/types/components/base/position-assets/position-assets.d.ts +49 -0
  227. package/dist/types/components/base/review-button/constants.d.ts +1 -0
  228. package/dist/types/components/base/review-button/review-button.d.ts +17 -3
  229. package/dist/types/components/base/stat-badge/constants.d.ts +1 -0
  230. package/dist/types/components/base/stat-badge/stat-badge.d.ts +11 -1
  231. package/dist/types/components/base/strategy-apy-breakdown-card/constants.d.ts +1 -0
  232. package/dist/types/components/base/strategy-apy-breakdown-card/strategy-apy-breakdown-card.d.ts +18 -4
  233. package/dist/types/components/base/tabber/tabber.d.ts +2 -2
  234. package/dist/types/components/base/time-to-liquidation-block/time-to-liquidation-block.d.ts +5 -6
  235. package/dist/types/components/base/title-meta/constants.d.ts +1 -0
  236. package/dist/types/components/base/title-meta/title-meta.d.ts +9 -1
  237. package/dist/types/components/base/token-amount/token-amount.d.ts +8 -2
  238. package/dist/types/components/base/values/constants.d.ts +1 -0
  239. package/dist/types/components/base/values/index.d.ts +3 -1
  240. package/dist/types/components/base/values/points-value.d.ts +11 -0
  241. package/dist/types/components/base/values/position-short-label.d.ts +1 -1
  242. package/dist/types/components/base/values/position-status-badge.d.ts +7 -0
  243. package/dist/types/components/base/values/position-type-badge.d.ts +1 -1
  244. package/dist/types/components/base/values/scalars.d.ts +13 -0
  245. package/dist/types/components/base-table/base-table-line.d.ts +21 -0
  246. package/dist/types/components/base-table/base-table.d.ts +19 -0
  247. package/dist/types/components/base-table/constants.d.ts +8 -0
  248. package/dist/types/components/base-table/index.d.ts +3 -0
  249. package/dist/types/components/base-table/types.d.ts +37 -0
  250. package/dist/types/components/collateral-allocation-tooltip/allocation-wheel.d.ts +10 -0
  251. package/dist/types/components/collateral-allocation-tooltip/collateral-allocation-tooltip.d.ts +23 -0
  252. package/dist/types/components/collateral-allocation-tooltip/constants.d.ts +8 -0
  253. package/dist/types/components/collateral-allocation-tooltip/index.d.ts +3 -0
  254. package/dist/types/components/composites/pool-assets-table/constants.d.ts +6 -0
  255. package/dist/types/components/composites/pool-assets-table/index.d.ts +1 -0
  256. package/dist/types/components/composites/pool-assets-table/pool-assets-table-head.d.ts +1 -2
  257. package/dist/types/components/composites/pool-assets-table/pool-assets-table-row.d.ts +8 -8
  258. package/dist/types/components/composites/pool-assets-table/pool-assets-table.d.ts +7 -20
  259. package/dist/types/components/composites/pool-assets-table/types.d.ts +4 -12
  260. package/dist/types/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountField.d.ts +47 -14
  261. package/dist/types/components/composites/tx-preview/confirm/amounts/index.d.ts +1 -1
  262. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.d.ts +23 -19
  263. package/dist/types/components/composites/tx-preview/confirm/dialog/index.d.ts +2 -2
  264. package/dist/types/components/composites/tx-preview/confirm/dialog/transactionConfirmPhase.d.ts +0 -3
  265. package/dist/types/components/composites/tx-preview/confirm/dialog/transactionConfirmShellTypes.d.ts +98 -0
  266. package/dist/types/components/compound-apy/compound-apy.d.ts +2 -2
  267. package/dist/types/components/graph/formatters.d.ts +6 -1
  268. package/dist/types/components/graph/graph-view.d.ts +1 -1
  269. package/dist/types/components/graph/graph.d.ts +4 -0
  270. package/dist/types/components/hf-indicator/hf-indicator.d.ts +17 -0
  271. package/dist/types/components/hf-indicator/index.d.ts +1 -0
  272. package/dist/types/components/index.d.ts +6 -1
  273. package/dist/types/components/infinite-scroll/index.d.ts +1 -0
  274. package/dist/types/components/infinite-scroll/infinite-scroll-wrapper.d.ts +11 -0
  275. package/dist/types/components/layout/app-footer/app-footer.d.ts +9 -15
  276. package/dist/types/components/name-cell/index.d.ts +1 -0
  277. package/dist/types/components/name-cell/name-cell.d.ts +13 -0
  278. package/dist/types/components/network-icon/index.d.ts +1 -0
  279. package/dist/types/components/network-icon/network-indicator.d.ts +23 -0
  280. package/dist/types/components/sdk-status-pill/constants.d.ts +5 -0
  281. package/dist/types/components/sdk-status-pill/index.d.ts +3 -0
  282. package/dist/types/components/sdk-status-pill/sdk-status-pill.d.ts +27 -0
  283. package/dist/types/components/sdk-status-pill/sdk-status.d.ts +11 -0
  284. package/dist/types/components/trading-view/trading-view.d.ts +14 -7
  285. package/dist/types/components/yield-breakdown-tooltip/yield-breakdown-tooltip.d.ts +8 -10
  286. package/dist/types/configs/tailwind-preset.d.ts +12 -0
  287. package/dist/types/hooks/index.d.ts +1 -0
  288. package/dist/types/hooks/use-observed-width-key.d.ts +8 -0
  289. package/dist/types/index.d.ts +7 -3
  290. package/dist/types/locale/en.json.d.ts +32 -22
  291. package/dist/types/types/index.d.ts +0 -1
  292. package/dist/types/utils/format-leverage.d.ts +5 -0
  293. package/dist/types/utils/format-money.d.ts +11 -5
  294. package/dist/types/utils/index.d.ts +4 -1
  295. package/dist/types/utils/leverage-presets.d.ts +7 -0
  296. package/dist/types/utils/strategy-apy.d.ts +40 -0
  297. package/package.json +6 -6
  298. package/src/styles/base.css +30 -0
  299. package/src/styles/theme.css +16 -0
  300. package/dist/cjs/components/block-sync-pill/block-sync-pill.cjs +0 -1
  301. package/dist/cjs/components/block-sync-pill/block-sync-status.cjs +0 -1
  302. package/dist/cjs/components/block-sync-pill/index.cjs +0 -1
  303. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmModalView.cjs +0 -1
  304. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmPageView.cjs +0 -1
  305. package/dist/esm/components/block-sync-pill/block-sync-pill.js +0 -206
  306. package/dist/esm/components/block-sync-pill/block-sync-status.js +0 -12
  307. package/dist/esm/components/block-sync-pill/index.js +0 -4
  308. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmModalView.js +0 -176
  309. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmPageView.js +0 -54
  310. package/dist/types/components/block-sync-pill/block-sync-pill.d.ts +0 -35
  311. package/dist/types/components/block-sync-pill/block-sync-status.d.ts +0 -29
  312. package/dist/types/components/block-sync-pill/index.d.ts +0 -1
  313. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmModalView.d.ts +0 -17
  314. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmPageView.d.ts +0 -16
  315. package/dist/types/types/footer.d.ts +0 -51
  316. /package/dist/cjs/{types/footer.cjs → components/base-table/types.cjs} +0 -0
  317. /package/dist/esm/{types/footer.js → components/base-table/types.js} +0 -0
@@ -0,0 +1,73 @@
1
+ import { jsx as i, jsxs as p } from "react/jsx-runtime";
2
+ import { Stack as d } from "../stack/stack.js";
3
+ import "react";
4
+ import "@gearbox-protocol/sdk";
5
+ import "clsx";
6
+ import "tailwind-merge";
7
+ import "sonner";
8
+ import "@gearbox-protocol/sdk/common-utils";
9
+ import "luxon";
10
+ import "../../../utils/z-index.js";
11
+ import "../../points-icon/points-icon.js";
12
+ import { TokenBigint as c } from "../values/scalars.js";
13
+ import "../../badge/badge.js";
14
+ import "../../badge/chip.js";
15
+ import "react-intl";
16
+ import { TokenSymbol as f } from "../../token-symbol/token-symbol.js";
17
+ import { Typography as u } from "../../typography/typography.js";
18
+ import { PositionAssetsTest as m } from "./constants.js";
19
+ const k = 1;
20
+ function _({
21
+ assets: r,
22
+ against: e,
23
+ empty: s,
24
+ testId: n
25
+ }) {
26
+ const t = h(r, e);
27
+ return /* @__PURE__ */ i(d, { gap: "sm", align: "end", "data-testid": n ?? m.root, children: t.length === 0 ? s !== void 0 && /* @__PURE__ */ i(
28
+ u,
29
+ {
30
+ variant: "caption",
31
+ color: "secondary",
32
+ as: "div",
33
+ "data-testid": m.empty,
34
+ children: s
35
+ }
36
+ ) : t.map((o) => /* @__PURE__ */ p(
37
+ "span",
38
+ {
39
+ className: "flex items-center gap-2",
40
+ "data-testid": m.row,
41
+ children: [
42
+ /* @__PURE__ */ i(f, { size: 20, token: o.token }),
43
+ /* @__PURE__ */ i(c, { data: o.value, token: o.token })
44
+ ]
45
+ },
46
+ o.token.address
47
+ )) });
48
+ }
49
+ function h(r, e) {
50
+ const s = /* @__PURE__ */ new Map(), n = (t, o) => {
51
+ const l = t.token.address.toLowerCase(), a = s.get(l);
52
+ s.set(l, {
53
+ token: a?.token ?? t.token,
54
+ // a token the other side alone holds is a zero here, not a gap
55
+ value: o ? t.value : a?.value ?? 0n,
56
+ worth: v(a?.worth, t.valueUsd)
57
+ });
58
+ };
59
+ for (const t of r ?? []) n(t, !0);
60
+ for (const t of e ?? []) n(t, !1);
61
+ return [...s.values()].filter((t) => t.worth === null || t.worth >= k).sort(
62
+ (t, o) => (o.worth ?? 0) - (t.worth ?? 0) || // a tie has to break the same way on both sides, or the rows drift
63
+ t.token.address.localeCompare(o.token.address)
64
+ );
65
+ }
66
+ function v(r, e) {
67
+ return r === void 0 ? e : r === null || e === null ? null : Math.max(r, e);
68
+ }
69
+ export {
70
+ _ as PositionAssets,
71
+ m as PositionAssetsTest,
72
+ h as visibleAssets
73
+ };
@@ -1,7 +1,8 @@
1
- class r {
1
+ class e {
2
2
  static root = "review-button-root";
3
3
  static error = "review-button-error";
4
+ static tip = "review-button-tip";
4
5
  }
5
6
  export {
6
- r as ReviewButtonTest
7
+ e as ReviewButtonTest
7
8
  };
@@ -1,36 +1,49 @@
1
- import { jsxs as a, jsx as t } from "react/jsx-runtime";
2
- import { Stack as d } from "../stack/stack.js";
3
- import { Button as n } from "../../buttons/button/button.js";
4
- import { FormattedMessageTyped as o } from "../../typed-intl/index.js";
5
- import { Typography as p } from "../../typography/typography.js";
6
- import { ReviewButtonTest as r } from "./constants.js";
7
- function h({
1
+ import { jsxs as p, jsx as t } from "react/jsx-runtime";
2
+ import { Stack as n } from "../stack/stack.js";
3
+ import { Button as d } from "../../buttons/button/button.js";
4
+ import { TipCard as l } from "../../tip-card/tip-card.js";
5
+ import { FormattedMessageTyped as r } from "../../typed-intl/index.js";
6
+ import "react";
7
+ import "@gearbox-protocol/sdk";
8
+ import { cn as c } 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 { ReviewButtonTest as e } from "./constants.js";
14
+ function R({
8
15
  disabled: m,
9
- error: e,
10
- onClick: s,
11
- label: i = "dialogs.common.review"
16
+ error: o,
17
+ tip: i,
18
+ onClick: a,
19
+ label: s = "dialogs.common.review"
12
20
  }) {
13
- return /* @__PURE__ */ a(d, { gap: "xs", children: [
14
- e ? /* @__PURE__ */ t(
15
- p,
21
+ return /* @__PURE__ */ p(n, { gap: "sm", children: [
22
+ i ? /* @__PURE__ */ t(
23
+ l,
16
24
  {
17
- className: "text-destructive text-sm",
18
- "data-testid": r.error,
19
- children: /* @__PURE__ */ t(o, { messageId: e })
25
+ textColor: "light",
26
+ attributeColor: "alert",
27
+ className: "w-full",
28
+ "data-testid": e.tip,
29
+ children: /* @__PURE__ */ t(r, { ...i })
20
30
  }
21
31
  ) : null,
22
32
  /* @__PURE__ */ t(
23
- n,
33
+ d,
24
34
  {
25
35
  disabled: m,
26
- onClick: s,
27
- "data-testid": r.root,
28
- children: /* @__PURE__ */ t(o, { messageId: i })
36
+ onClick: a,
37
+ "data-testid": e.root,
38
+ className: c(
39
+ o && "h-auto min-h-[40px] whitespace-normal text-center"
40
+ ),
41
+ children: o ? /* @__PURE__ */ t("span", { "data-testid": e.error, children: /* @__PURE__ */ t(r, { messageId: o }) }) : /* @__PURE__ */ t(r, { messageId: s })
29
42
  }
30
43
  )
31
44
  ] });
32
45
  }
33
46
  export {
34
- h as ReviewButton,
35
- r as ReviewButtonTest
47
+ R as ReviewButton,
48
+ e as ReviewButtonTest
36
49
  };
@@ -2,6 +2,7 @@ class a {
2
2
  static root = "stat-badge-root";
3
3
  static grid = "stat-badge-grid-root";
4
4
  static action = "stat-badge-action";
5
+ static delta = "stat-badge-delta";
5
6
  }
6
7
  export {
7
8
  a as StatBadgeTest
@@ -1,115 +1,159 @@
1
- import { jsxs as a, jsx as e } from "react/jsx-runtime";
2
- import { Stack as g } from "../stack/stack.js";
3
- import { useTitleText as f } from "../text/use-title-text.js";
4
- import { Skeleton as u } from "../../skeleton/skeleton.js";
1
+ import { jsxs as a, jsx as r } from "react/jsx-runtime";
2
+ import { Stack as p } from "../stack/stack.js";
3
+ import { useTitleText as x } from "../text/use-title-text.js";
4
+ import { faCaretDown as h, faCaretUp as S } from "@fortawesome/free-solid-svg-icons";
5
+ import { FaIcon as v } from "../../icons/fa-icon.js";
6
+ import { Skeleton as N } from "../../skeleton/skeleton.js";
5
7
  import "react";
6
8
  import "@gearbox-protocol/sdk";
7
- import { cn as d } from "../../../utils/cn.js";
9
+ import { cn as o } from "../../../utils/cn.js";
8
10
  import "sonner";
9
11
  import "@gearbox-protocol/sdk/common-utils";
10
12
  import "luxon";
11
13
  import "../../../utils/z-index.js";
14
+ import { SimpleTooltip as b } from "../../tooltip/simple-tooltip.js";
15
+ import "../../tooltip/tooltip.js";
12
16
  import { StatBadgeTest as m } from "./constants.js";
13
- const p = {
17
+ const I = {
14
18
  sm: "p-4",
15
19
  md: "p-5",
16
20
  default: "p-6"
17
- }, x = {
21
+ }, T = {
18
22
  sm: "mb-2.5",
19
23
  md: "mb-2",
20
24
  default: "mb-3"
21
- }, S = {
25
+ }, d = {
22
26
  sm: "text-xs leading-[0.8125rem]",
23
27
  md: "text-xs leading-[0.9rem]",
24
28
  default: "text-sm leading-[1.0625rem]"
25
- }, h = {
29
+ }, _ = {
26
30
  sm: "text-sm leading-[1.0625rem]",
27
31
  md: "text-base leading-[1.25rem]",
28
32
  default: "text-xl leading-[1.5625rem]"
29
33
  };
30
- function A({
31
- title: i,
32
- value: r,
33
- isLoading: o = !1,
34
- size: t = "default",
35
- action: l,
36
- className: s,
37
- testId: n
34
+ function w({
35
+ delta: t,
36
+ size: i
38
37
  }) {
39
- const c = f();
38
+ const l = t.value > 0 ? "text-success" : t.value < 0 ? "text-destructive" : "text-muted-foreground", e = /* @__PURE__ */ a(
39
+ "span",
40
+ {
41
+ className: o(
42
+ "inline-flex items-center gap-0.5 font-medium",
43
+ d[i],
44
+ l
45
+ ),
46
+ "data-testid": m.delta,
47
+ children: [
48
+ /* @__PURE__ */ r(
49
+ v,
50
+ {
51
+ icon: t.value < 0 ? h : S,
52
+ className: "size-3"
53
+ }
54
+ ),
55
+ t.label
56
+ ]
57
+ }
58
+ );
59
+ return t.tooltip == null ? e : /* @__PURE__ */ r(b, { title: e, triggerClassName: "shrink-0", children: t.tooltip });
60
+ }
61
+ function J({
62
+ title: t,
63
+ value: i,
64
+ isLoading: l = !1,
65
+ size: e = "default",
66
+ delta: s,
67
+ action: n,
68
+ className: c,
69
+ testId: u
70
+ }) {
71
+ const f = x(), g = s != null && !l;
40
72
  return /* @__PURE__ */ a(
41
73
  "div",
42
74
  {
43
- className: d(
75
+ className: o(
44
76
  "h-full w-full rounded-lg border border-border bg-card",
45
- p[t],
46
- s
77
+ I[e],
78
+ c
47
79
  ),
48
- "data-testid": n ?? m.root,
80
+ "data-testid": u ?? m.root,
49
81
  children: [
50
82
  /* @__PURE__ */ a(
51
83
  "div",
52
84
  {
53
- className: d(
85
+ className: o(
54
86
  "flex items-center justify-between gap-2",
55
- x[t]
87
+ T[e]
56
88
  ),
57
89
  children: [
58
- /* @__PURE__ */ e(
90
+ /* @__PURE__ */ r(
59
91
  "div",
60
92
  {
61
- className: d("font-medium text-muted-foreground", S[t]),
62
- children: c(i)
93
+ className: o("font-medium text-muted-foreground", d[e]),
94
+ children: f(t)
63
95
  }
64
96
  ),
65
- l != null ? /* @__PURE__ */ e("div", { className: "shrink-0", "data-testid": m.action, children: l }) : null
97
+ g || n != null ? /* @__PURE__ */ a("div", { className: "flex shrink-0 items-center gap-2", children: [
98
+ s != null && !l ? /* @__PURE__ */ r(w, { delta: s, size: e }) : null,
99
+ n != null ? /* @__PURE__ */ r("div", { className: "shrink-0", "data-testid": m.action, children: n }) : null
100
+ ] }) : null
66
101
  ]
67
102
  }
68
103
  ),
69
- /* @__PURE__ */ e("div", { className: d("font-medium text-foreground", h[t]), children: /* @__PURE__ */ e(u, { width: 80, loading: o, children: /* @__PURE__ */ e(g, { gap: "xs", align: "start", children: r }) }) })
104
+ /* @__PURE__ */ r(
105
+ "div",
106
+ {
107
+ className: o(
108
+ "text-left font-medium text-foreground",
109
+ _[e]
110
+ ),
111
+ children: /* @__PURE__ */ r(N, { width: 80, loading: l, children: /* @__PURE__ */ r(p, { gap: "xs", align: "start", className: "w-full items-start", children: i }) })
112
+ }
113
+ )
70
114
  ]
71
115
  }
72
116
  );
73
117
  }
74
- const b = {
118
+ const E = {
75
119
  1: "grid-cols-1",
76
120
  2: "grid-cols-2",
77
121
  3: "grid-cols-3",
78
122
  4: "grid-cols-4"
79
- }, I = {
123
+ }, G = {
80
124
  1: "lg:grid-cols-1",
81
125
  2: "lg:grid-cols-2",
82
126
  3: "lg:grid-cols-3",
83
127
  4: "lg:grid-cols-4"
84
- }, _ = {
128
+ }, D = {
85
129
  sm: "gap-2",
86
130
  default: "gap-4",
87
131
  lg: "gap-6"
88
132
  };
89
- function B({
90
- cols: i = 1,
91
- colsLg: r,
92
- gap: o = "default",
93
- children: t,
94
- className: l
133
+ function K({
134
+ cols: t = 1,
135
+ colsLg: i,
136
+ gap: l = "default",
137
+ children: e,
138
+ className: s
95
139
  }) {
96
- return /* @__PURE__ */ e(
140
+ return /* @__PURE__ */ r(
97
141
  "div",
98
142
  {
99
- className: d(
143
+ className: o(
100
144
  "grid w-full",
101
- b[i],
102
- r ? I[r] : void 0,
103
- _[o],
104
- l
145
+ E[t],
146
+ i ? G[i] : void 0,
147
+ D[l],
148
+ s
105
149
  ),
106
150
  "data-testid": m.grid,
107
- children: t
151
+ children: e
108
152
  }
109
153
  );
110
154
  }
111
155
  export {
112
- A as StatBadge,
113
- B as StatBadgeGrid,
156
+ J as StatBadge,
157
+ K as StatBadgeGrid,
114
158
  m as StatBadgeTest
115
159
  };
@@ -1,7 +1,8 @@
1
- class r {
1
+ class a {
2
2
  static root = "strategy-apy-breakdown-card-root";
3
3
  static row = "strategy-apy-breakdown-card-row";
4
+ static net = "strategy-apy-breakdown-card-net";
4
5
  }
5
6
  export {
6
- r as StrategyApyBreakdownCardTest
7
+ a as StrategyApyBreakdownCardTest
7
8
  };
@@ -1,51 +1,239 @@
1
- import { jsxs as d, jsx as r } from "react/jsx-runtime";
2
- import { HelpTip as m } from "../../help-tip/help-tip.js";
3
- import { FormattedMessageTyped as a } from "../../typed-intl/index.js";
4
- import { VerticalIndicator as n } from "../../vertical-indicator/vertical-indicator.js";
5
- import { SideCard as l } from "../side-card/side-card.js";
1
+ import { jsxs as i, jsx as t, Fragment as B } from "react/jsx-runtime";
2
+ import { PointsIcon as I } from "../../points-icon/points-icon.js";
3
+ import { TokenIcon as P } from "../../token-icon/token-icon.js";
4
+ import { FormattedMessageTyped as p } from "../../typed-intl/index.js";
6
5
  import "react";
6
+ import { positiveTokenRewardsOf as M, pointProgramsOf as L, totalApyOf as T } from "../../../utils/apy-breakdown.js";
7
7
  import "@gearbox-protocol/sdk";
8
- import "clsx";
9
- import "tailwind-merge";
8
+ import { bpsToPercent as $ } from "../../../utils/bps.js";
9
+ import { cn as h } from "../../../utils/cn.js";
10
10
  import "sonner";
11
+ import { formatLeverage as a } from "../../../utils/format-leverage.js";
12
+ import { formatCompactPercent as F } from "../../../utils/format-money.js";
13
+ import { strategyApyPartsAtLeverage as j } from "../../../utils/strategy-apy.js";
11
14
  import "@gearbox-protocol/sdk/common-utils";
12
15
  import "luxon";
13
16
  import "../../../utils/z-index.js";
14
- import { ApyValue as o } from "../values/scalars.js";
15
- import "../../badge/badge.js";
16
- import { StrategyApyBreakdownCardTest as i } from "./constants.js";
17
- function e({
18
- title: t,
19
- children: p
17
+ import { StrategyApyBreakdownCardTest as w } from "./constants.js";
18
+ const u = "";
19
+ function s(e) {
20
+ const n = $(e);
21
+ if (Math.abs(n) >= 1e3) {
22
+ const d = F(Math.abs(n));
23
+ return n < 0 ? `−${d}` : d;
24
+ }
25
+ const m = Math.abs(n).toFixed(2);
26
+ return n < 0 ? `−${m}%` : `${m}%`;
27
+ }
28
+ function S(e) {
29
+ return e == null || e <= 0 ? "bg-muted text-muted-foreground" : "bg-success/20 text-success";
30
+ }
31
+ function g({
32
+ base: e,
33
+ leverage: n
20
34
  }) {
21
- return /* @__PURE__ */ r(
22
- n,
35
+ return /* @__PURE__ */ t(
36
+ p,
23
37
  {
24
- size: "sm",
25
- "data-testid": i.row,
26
- label: /* @__PURE__ */ r(a, { messageId: t }),
27
- value: p
38
+ messageId: "components.strategyApyBreakdownCard.formula",
39
+ values: { base: e, leverage: n }
40
+ }
41
+ );
42
+ }
43
+ function te({
44
+ data: e,
45
+ leverage: n
46
+ }) {
47
+ const o = n ?? (e.maxLeverage != null && e.maxLeverage > 0 ? e.maxLeverage : void 0), m = o != null ? a(o) : u, d = e.collateralApy ? M(e.collateralApy) : [], k = e.collateralApy ? L(e.collateralApy) : [], r = o != null ? j({
48
+ leverage: o,
49
+ borrowApy: e.borrowApy,
50
+ quotaRate: e.quotaRate,
51
+ liquidationThreshold: e.liquidationThreshold,
52
+ quotaMode: e.quotaMode
53
+ }) : void 0, f = e.collateralApy?.organicApy, y = f != null && o != null ? f * o : void 0, v = d.map(
54
+ (l) => l.supplyApr != null && o != null ? l.supplyApr * o : void 0
55
+ ), N = e.borrowApy != null && r != null ? -r.borrowCost : void 0, x = e.quotaRate != null && e.quotaRate !== 0, q = x && r != null ? r.quotaRate : void 0, R = x && r != null ? -r.quotaCost : void 0, C = y != null && r != null && v.every((l) => l != null) ? y + v.reduce((l, c) => l + (c ?? 0), 0) - r.totalCost : void 0, A = e.netApy != null ? T(e.netApy) : C;
56
+ return /* @__PURE__ */ i(
57
+ "div",
58
+ {
59
+ className: "flex w-full min-w-0 flex-col gap-4 rounded-xl border border-border bg-card p-4",
60
+ "data-testid": w.root,
61
+ children: [
62
+ /* @__PURE__ */ i("div", { className: "flex h-6 items-center justify-between gap-3", children: [
63
+ /* @__PURE__ */ t("span", { className: "text-base font-semibold leading-4 text-foreground", children: /* @__PURE__ */ t(
64
+ p,
65
+ {
66
+ messageId: "components.strategyApyBreakdownCard.titleAtLeverage",
67
+ values: { leverage: m }
68
+ }
69
+ ) }),
70
+ /* @__PURE__ */ t(
71
+ "span",
72
+ {
73
+ className: h(
74
+ "rounded-md px-2 py-0.5 text-sm font-semibold tabular-nums",
75
+ S(A)
76
+ ),
77
+ "data-testid": w.net,
78
+ children: A == null ? u : s(A)
79
+ }
80
+ )
81
+ ] }),
82
+ /* @__PURE__ */ i("div", { className: "flex flex-col gap-3", children: [
83
+ /* @__PURE__ */ t(
84
+ b,
85
+ {
86
+ label: /* @__PURE__ */ t(p, { messageId: "components.strategyApyBreakdownCard.collateralApy" }),
87
+ value: y == null ? u : s(y),
88
+ subtext: f != null && o != null ? /* @__PURE__ */ t(
89
+ g,
90
+ {
91
+ base: s(f),
92
+ leverage: a(o)
93
+ }
94
+ ) : void 0
95
+ }
96
+ ),
97
+ d.map((l, c) => /* @__PURE__ */ t(
98
+ b,
99
+ {
100
+ label: /* @__PURE__ */ i("span", { className: "inline-flex items-center gap-1.5", children: [
101
+ /* @__PURE__ */ t("span", { children: /* @__PURE__ */ t(
102
+ p,
103
+ {
104
+ messageId: "components.apyParts.extraAPY",
105
+ values: { symbol: l.token.symbol }
106
+ }
107
+ ) }),
108
+ /* @__PURE__ */ t(
109
+ P,
110
+ {
111
+ token: l.token,
112
+ symbol: l.token.symbol,
113
+ size: 16,
114
+ className: "shrink-0"
115
+ }
116
+ )
117
+ ] }),
118
+ value: v[c] == null ? u : s(v[c]),
119
+ subtext: l.supplyApr != null && o != null ? /* @__PURE__ */ t(
120
+ g,
121
+ {
122
+ base: s(l.supplyApr),
123
+ leverage: a(o)
124
+ }
125
+ ) : void 0
126
+ },
127
+ `incentive-${l.token.address}-${l.supplyApr ?? 0}`
128
+ )),
129
+ /* @__PURE__ */ t(
130
+ b,
131
+ {
132
+ muted: !0,
133
+ label: /* @__PURE__ */ t(p, { messageId: "components.strategyApyBreakdownCard.borrowRate" }),
134
+ value: N == null ? u : s(N),
135
+ subtext: e.borrowApy != null && r != null ? /* @__PURE__ */ t(
136
+ g,
137
+ {
138
+ base: s(-e.borrowApy),
139
+ leverage: a(r.debtMultiplier)
140
+ }
141
+ ) : void 0
142
+ }
143
+ ),
144
+ x ? /* @__PURE__ */ t(
145
+ b,
146
+ {
147
+ muted: !0,
148
+ label: /* @__PURE__ */ t(p, { messageId: "components.strategyApyBreakdownCard.quotaRate" }),
149
+ value: R == null ? u : s(R),
150
+ subtext: q != null && r != null ? (
151
+ // The quota is charged on the LT-weighted position, so this
152
+ // multiplier is not the leverage the row above uses.
153
+ /* @__PURE__ */ t(
154
+ g,
155
+ {
156
+ base: s(-q),
157
+ leverage: a(r.quotaMultiplier)
158
+ }
159
+ )
160
+ ) : void 0
161
+ }
162
+ ) : null,
163
+ k.length > 0 ? /* @__PURE__ */ i(B, { children: [
164
+ /* @__PURE__ */ t("div", { className: "h-px w-full bg-divider" }),
165
+ k.map((l) => {
166
+ const c = l.multiplier != null && o != null ? l.multiplier * o : void 0;
167
+ return /* @__PURE__ */ t(
168
+ b,
169
+ {
170
+ label: /* @__PURE__ */ i("span", { className: "inline-flex items-center gap-1.5", children: [
171
+ /* @__PURE__ */ t("span", { children: /* @__PURE__ */ t(
172
+ p,
173
+ {
174
+ messageId: "components.yieldBreakdown.programPoints",
175
+ values: { name: l.name }
176
+ }
177
+ ) }),
178
+ /* @__PURE__ */ t(
179
+ I,
180
+ {
181
+ reward: { name: l.name, type: l.id },
182
+ size: 16,
183
+ className: "shrink-0"
184
+ }
185
+ )
186
+ ] }),
187
+ value: c != null ? `${a(c)}×` : u,
188
+ subtext: l.multiplier != null && o != null ? /* @__PURE__ */ t(
189
+ g,
190
+ {
191
+ base: a(l.multiplier),
192
+ leverage: a(o)
193
+ }
194
+ ) : void 0
195
+ },
196
+ l.id
197
+ );
198
+ })
199
+ ] }) : null
200
+ ] })
201
+ ]
28
202
  }
29
203
  );
30
204
  }
31
- function R({
32
- data: t
205
+ function b({
206
+ label: e,
207
+ value: n,
208
+ subtext: o,
209
+ muted: m = !1
33
210
  }) {
34
- return /* @__PURE__ */ d(
35
- l,
211
+ const d = m ? "text-muted-foreground" : "text-foreground";
212
+ return /* @__PURE__ */ i(
213
+ "div",
36
214
  {
37
- title: "components.strategyApyBreakdownCard.title",
38
- testId: i.root,
39
- tip: /* @__PURE__ */ r(m, { iconSize: 14, placement: "top", children: /* @__PURE__ */ r(a, { messageId: "components.strategyApyBreakdownCard.formula" }) }),
215
+ className: "flex items-start justify-between gap-3",
216
+ "data-testid": w.row,
40
217
  children: [
41
- /* @__PURE__ */ r(e, { title: "components.strategyApyBreakdownCard.collateralApy", children: /* @__PURE__ */ r(o, { data: t.collateralApy }) }),
42
- /* @__PURE__ */ r(e, { title: "components.strategyApyBreakdownCard.baseBorrowRate", children: /* @__PURE__ */ r(o, { data: t.borrowApy }) }),
43
- /* @__PURE__ */ r(e, { title: "components.strategyApyBreakdownCard.additionalBorrowRate", children: /* @__PURE__ */ r(o, { data: t.additionalBorrowApy }) })
218
+ /* @__PURE__ */ t("span", { className: h("min-w-0 text-sm font-semibold leading-5", d), children: e }),
219
+ /* @__PURE__ */ i("span", { className: "flex shrink-0 flex-col items-end", children: [
220
+ /* @__PURE__ */ t(
221
+ "span",
222
+ {
223
+ className: h(
224
+ "text-sm font-semibold leading-5 tabular-nums",
225
+ n === u || m ? "text-muted-foreground" : "text-foreground"
226
+ ),
227
+ children: n
228
+ }
229
+ ),
230
+ o != null ? /* @__PURE__ */ t("span", { className: "text-xs leading-4 text-muted-foreground", children: o }) : null
231
+ ] })
44
232
  ]
45
233
  }
46
234
  );
47
235
  }
48
236
  export {
49
- R as StrategyApyBreakdownCard,
50
- i as StrategyApyBreakdownCardTest
237
+ te as StrategyApyBreakdownCard,
238
+ w as StrategyApyBreakdownCardTest
51
239
  };