@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
@@ -1,12 +1,15 @@
1
1
  import { Token } from '@gearbox-protocol/sdk/model';
2
2
  import { default as React } from 'react';
3
3
  import { Address } from 'viem';
4
+ import { CollateralAllocation } from '../collateral-allocation-tooltip';
4
5
  type Mode = "default" | "cascade";
5
6
  interface CommonOptions {
6
7
  mode?: Mode;
7
8
  showIconTooltip?: boolean;
8
9
  otherTooltip?: React.ReactNode;
9
10
  onOtherClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
11
+ /** When set, hover on the cascade shows the allocation mix instead of per-icon symbols. */
12
+ allocation?: CollateralAllocation;
10
13
  }
11
14
  /**
12
15
  * Single asset cell props (new API)
@@ -1,7 +1,7 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
2
  import type * as React from "react";
3
3
  declare const badgeVariants: (props?: ({
4
- variant?: "default" | "destructive" | "secondary" | "outline" | null | undefined;
4
+ variant?: "default" | "success" | "warning" | "destructive" | "secondary" | "info" | "outline" | "neutral" | "danger" | "accent" | null | undefined;
5
5
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
6
6
  /**
7
7
  * Badge — component for displaying labels, tags, or status indicators.
@@ -15,6 +15,7 @@ declare const badgeVariants: (props?: ({
15
15
  * - `secondary` — secondary badge with muted background.
16
16
  * - `destructive` — destructive badge with red background for errors/warnings.
17
17
  * - `outline` — outlined badge with border only.
18
+ * - `success` / `info` / `warning` / `danger` / `accent` / `neutral` — tinted chips.
18
19
  *
19
20
  * Note: Prefer using this component instead of native HTML div element for badges.
20
21
  *
@@ -0,0 +1,22 @@
1
+ import { default as React, ReactNode } from 'react';
2
+ export declare class ChipTest {
3
+ static root: string;
4
+ }
5
+ export declare class ChipsTest {
6
+ static root: string;
7
+ static chip: string;
8
+ }
9
+ export type ChipTone = "success" | "info" | "neutral" | "warning" | "danger" | "accent";
10
+ export interface ChipProps {
11
+ readonly children?: ReactNode;
12
+ readonly tone?: ChipTone;
13
+ readonly className?: string;
14
+ }
15
+ /** Tinted {@link Badge} for table/status chips. */
16
+ export declare function Chip({ children, tone, className, }: ChipProps): React.ReactElement;
17
+ export interface ChipsProps {
18
+ readonly children: ReactNode;
19
+ readonly className?: string;
20
+ }
21
+ /** Horizontal row of {@link Chip} (or other badge nodes). */
22
+ export declare function Chips({ children, className }: ChipsProps): React.ReactElement;
@@ -1 +1,2 @@
1
1
  export * from './badge';
2
+ export * from './chip';
@@ -1,3 +1,4 @@
1
+ import { AddressMap } from '@gearbox-protocol/sdk';
1
2
  import { Token } from '@gearbox-protocol/sdk/model';
2
3
  import { default as React } from 'react';
3
4
  import { TitleText } from '../text';
@@ -14,9 +15,9 @@ export interface AmountInputProps {
14
15
  readonly onToken?: (token: Token) => void;
15
16
  readonly balance?: bigint;
16
17
  /** Wallet balances by token address — the picker's balance column. */
17
- readonly balances?: Readonly<Record<string, bigint>>;
18
+ readonly balances?: AddressMap<bigint>;
18
19
  /** USD price per whole token by address — the picker's USD line. */
19
- readonly usdPrices?: Readonly<Record<string, number>>;
20
+ readonly usdPrices?: AddressMap<number>;
20
21
  /** Label above the field; defaults to the "Amount" locale string. */
21
22
  readonly label?: TitleText;
22
23
  /** Label of the balance row; defaults to the "Balance" locale string. */
@@ -1,11 +1,12 @@
1
+ import { AddressMap } from '@gearbox-protocol/sdk';
1
2
  import { Token } from '@gearbox-protocol/sdk/model';
2
3
  import { default as React } from 'react';
3
4
  export interface TokenSelectPanelProps {
4
5
  readonly tokens: ReadonlyArray<Token>;
5
- /** Wallet balances by token address (either casing); shows a balance column. */
6
- readonly balances?: Readonly<Record<string, bigint>>;
6
+ /** Wallet balances by token address; shows a balance column. */
7
+ readonly balances?: AddressMap<bigint>;
7
8
  /** USD price per one whole token by address; shows a USD line under the balance. */
8
- readonly usdPrices?: Readonly<Record<string, number>>;
9
+ readonly usdPrices?: AddressMap<number>;
9
10
  readonly onSelect: (token: Token) => void;
10
11
  readonly onClose: () => void;
11
12
  }
@@ -1,16 +1,21 @@
1
- import { ApyBreakdown, Bps } from '@gearbox-protocol/sdk/model';
1
+ import { BorrowRateBreakdown, Bps } from '@gearbox-protocol/sdk/model';
2
2
  import { default as React } from 'react';
3
3
  import { BorrowRateBlockTest } from './constants';
4
4
  export { BorrowRateBlockTest };
5
- export type BorrowRateValue = ApyBreakdown | Bps;
5
+ /**
6
+ * The SDK's `borrowRate` breakdown, or a bare `Bps` when only the position's
7
+ * plain `borrowApy` is available (offchain mode: no breakdown to split into
8
+ * total / base). A caller never picks a field itself, so `total` and `base`
9
+ * can't drift out of sync the way threading two separately-extracted `Bps`
10
+ * numbers through two props invited.
11
+ */
12
+ export type BorrowRateValue = BorrowRateBreakdown | Bps;
6
13
  export interface BorrowRateBlockProps {
7
14
  readonly data: BorrowRateValue | undefined;
8
15
  readonly dataTo?: BorrowRateValue;
9
- /** SDK `borrowRate.base`; omit when the breakdown is missing. */
10
- readonly base?: BorrowRateValue;
11
16
  }
12
17
  /**
13
18
  * Borrow-rate row: total on the trigger, Base Rate from the SDK, Rates
14
19
  * normalization as a dash until the SDK reports it.
15
20
  */
16
- export declare function BorrowRateBlock({ data, dataTo, base, }: BorrowRateBlockProps): React.ReactElement;
21
+ export declare function BorrowRateBlock({ data, dataTo, }: BorrowRateBlockProps): React.ReactElement;
@@ -9,8 +9,6 @@ export interface DetailedPageTitleProps {
9
9
  /** Visible heading; a node (e.g. a token-pair title) renders as given. */
10
10
  readonly title: PageTitleText | React.ReactNode;
11
11
  readonly browserTitle?: PageTitleText;
12
- /** Document-head hook forwarded to {@link PageTitle}. */
13
- readonly head?: (browserTitle: string) => React.ReactNode;
14
12
  /**
15
13
  * Token whose icon heads the title. The model `Token` is enough — the icon
16
14
  * is resolved from the symbol inside ui-kit.
@@ -29,4 +27,4 @@ export interface DetailedPageTitleProps {
29
27
  readonly className?: string;
30
28
  }
31
29
  /** Detail screen heading: token icon + title + badges + copy/explorer actions. */
32
- export declare function DetailedPageTitle({ title, browserTitle, head, token, icon, tokenIconSize, disabled, toCopy, explorerLinks, badges, actions, buttonsSlot, meta, actionsPosition, className, }: DetailedPageTitleProps): React.ReactElement;
30
+ export declare function DetailedPageTitle({ title, browserTitle, token, icon, tokenIconSize, disabled, toCopy, explorerLinks, badges, actions, buttonsSlot, meta, actionsPosition, className, }: DetailedPageTitleProps): React.ReactElement;
@@ -1,13 +1,14 @@
1
+ import { Bps } from '@gearbox-protocol/sdk/model';
1
2
  import { default as React } from 'react';
2
3
  import { TitleText } from '../text';
3
4
  import { HFZones } from '../../health-factor';
4
5
  import { HealthFactorBlockTest } from './constants';
5
6
  export { HealthFactorBlockTest };
6
7
  export interface HealthFactorBlockProps {
7
- /** Health factor in basis points (e.g. 15000 = 1.5); omit to render "—". */
8
- readonly hf?: number;
8
+ /** SDK `healthFactor` in basis points (e.g. 15000 = 1.5); omit to render "—". */
9
+ readonly healthFactor?: Bps;
9
10
  /** Target HF after the operation; renders a from → to transition. */
10
- readonly hfTo?: number;
11
+ readonly healthFactorTo?: Bps;
11
12
  /** Debt in base units; a 0n debt renders "N/A". */
12
13
  readonly debt: bigint;
13
14
  /** Debt after the operation (defaults to `debt`). */
@@ -23,7 +24,6 @@ export interface HealthFactorBlockProps {
23
24
  }
24
25
  /**
25
26
  * "Health factor" row of a preview: label + help tip on the left, the zone-
26
- * colored HF (with optional from → to transition) on the right. Design only —
27
- * the reference `HFBlock` markup on bare value props.
27
+ * colored HF (with optional from → to transition) on the right.
28
28
  */
29
- export declare function HealthFactorBlock({ hf, hfTo, debt, debtTo, zone, isLoading, title, tip, testId, }: HealthFactorBlockProps): React.ReactElement;
29
+ export declare function HealthFactorBlock({ healthFactor, healthFactorTo, debt, debtTo, zone, isLoading, title, tip, testId, }: HealthFactorBlockProps): React.ReactElement;
@@ -1,14 +1,29 @@
1
- import { HistoryRange, HistorySeries } from '@gearbox-protocol/sdk/model';
1
+ import { ChartRange, Timestamp } from '@gearbox-protocol/sdk/model';
2
2
  import { default as React } from 'react';
3
+ import { TitleText } from '../text';
3
4
  import { PriceLineConfig, PriceZoneConfig } from '../../graph';
4
5
  import { YMeasureUnits } from '../../graph/formatters';
5
6
  import { HistoryChartTest } from './constants';
6
7
  export { HistoryChartTest };
8
+ /**
9
+ * One metric's points over the selected window.
10
+ *
11
+ * Declared here rather than imported: the SDK used to export `HistorySeries`,
12
+ * dropped it when charts moved to the multi-metric `ChartBundle`, and this
13
+ * component still draws one series at a time. Only these three fields are read.
14
+ */
15
+ export interface HistorySeries {
16
+ readonly metric: string;
17
+ readonly points: ReadonlyArray<{
18
+ readonly timestamp: Timestamp;
19
+ readonly value: number;
20
+ }>;
21
+ }
7
22
  export interface HistoryChartProps {
8
- /** One series or several (dual charts); SDK shape as it comes. */
23
+ /** One series or several (dual charts). */
9
24
  readonly data: HistorySeries | ReadonlyArray<HistorySeries> | undefined;
10
- readonly range: HistoryRange;
11
- readonly onRange: (range: HistoryRange) => void;
25
+ readonly range: ChartRange;
26
+ readonly onRange: (range: ChartRange) => void;
12
27
  readonly isLoading?: boolean;
13
28
  readonly error?: Error;
14
29
  /** Y-axis unit ("%", "$", a token symbol); one for all or one per series. */
@@ -28,10 +43,19 @@ export interface HistoryChartProps {
28
43
  readonly showCurrentValue?: boolean;
29
44
  /** Y-axis floor when the series has data. */
30
45
  readonly yScaleMin?: number;
46
+ /** Heading to the left of the range dropdown, above the chart frame. */
47
+ readonly title?: TitleText;
48
+ /** Controls to the left of the range dropdown (e.g. leverage chips). */
49
+ readonly trailing?: React.ReactNode;
50
+ /**
51
+ * Force a second Y-axis. When omitted, the chart splits axes only if
52
+ * `yMeasureUnit` lists more than one distinct unit.
53
+ */
54
+ readonly dualYAxis?: boolean;
31
55
  }
32
56
  /**
33
- * Design-only history chart on the TradingView engine: range buttons, legend,
34
- * tooltips, optional reference lines and zones. Takes the SDK's
35
- * `HistorySeries` as it comes — points are mapped 1:1, no fetching.
57
+ * Design-only history chart on the TradingView engine: range dropdown, legend
58
+ * below the frame, tooltips, optional reference lines and zones. Takes the SDK's
59
+ * a `HistorySeries` as it comes — points are mapped 1:1, no fetching.
36
60
  */
37
- export declare function HistoryChart({ data, range, onRange, isLoading, error, yMeasureUnit, height, seriesTitles, priceLines, zones, showCurrentValue, yScaleMin, }: HistoryChartProps): React.ReactElement;
61
+ export declare function HistoryChart({ data, range, onRange, isLoading, error, yMeasureUnit, height, seriesTitles, priceLines, zones, showCurrentValue, yScaleMin, title, trailing, dualYAxis: dualYAxisProp, }: HistoryChartProps): React.ReactElement;
@@ -8,6 +8,7 @@ export * from './history-chart';
8
8
  export * from './info-list';
9
9
  export * from './info-portal';
10
10
  export * from './leverage-input';
11
+ export * from './leverage-preset-chips';
11
12
  export * from './liquidation-params-table';
12
13
  export * from './liquidation-price-block';
13
14
  export * from './manage-pane';
@@ -15,6 +16,7 @@ export * from './more-accordion';
15
16
  export * from './nested-info-stack';
16
17
  export * from './page-title';
17
18
  export * from './pool-apy-breakdown-card';
19
+ export * from './position-assets';
18
20
  export * from './review-button';
19
21
  export * from './section-heading';
20
22
  export * from './segmented-tabs';
@@ -1,3 +1,4 @@
1
+ import { ApyBreakdown } from '@gearbox-protocol/sdk/model';
1
2
  import { default as React } from 'react';
2
3
  import { TitleText } from '../text';
3
4
  import { InfoListTest } from './constants';
@@ -24,3 +25,9 @@ export interface InfoSectionTitleProps {
24
25
  }
25
26
  /** Uppercase section label inside an `InfoList` (e.g. debt limits). */
26
27
  export declare function InfoSectionTitle({ title, }: InfoSectionTitleProps): React.ReactElement;
28
+ export interface PointsInfoLineProps {
29
+ readonly data: ApyBreakdown | undefined;
30
+ readonly title?: TitleText;
31
+ }
32
+ /** Points row that omits itself when the SDK breakdown has no programs. */
33
+ export declare function PointsInfoLine({ data, title, }: PointsInfoLineProps): React.ReactElement | null;
@@ -35,7 +35,7 @@ export interface LeverageInputProps {
35
35
  }
36
36
  /**
37
37
  * Target leverage of a position, bounded by what the strategy allows.
38
- * Title row carries an inline-editable value (N.NN`) and an optional reset;
38
+ * Title row carries an inline-editable value (`N.NNx`) and an optional reset;
39
39
  * the slider below can show risk bands via `colorIntervals`.
40
40
  */
41
41
  export declare function LeverageInput({ value, onChange, max, min, title, hint, reset, colorIntervals, colorIntervalLabel, size, }: LeverageInputProps): React.ReactElement;
@@ -0,0 +1,4 @@
1
+ export declare const LeveragePresetChipsTest: {
2
+ readonly root: "leverage-preset-chips-root";
3
+ readonly chip: "leverage-preset-chips-chip";
4
+ };
@@ -0,0 +1,2 @@
1
+ export * from './constants';
2
+ export * from './leverage-preset-chips';
@@ -0,0 +1,13 @@
1
+ import { default as React } from 'react';
2
+ import { LeveragePresetChipsTest } from './constants';
3
+ export { LeveragePresetChipsTest };
4
+ export interface LeveragePresetChipsProps {
5
+ readonly options: readonly number[];
6
+ readonly value?: number;
7
+ readonly onChange: (value: number) => void;
8
+ }
9
+ /**
10
+ * Leverage step pills for the yield-chart toolbar. Selected leverage only
11
+ * drives the APY breakdown card, not the chart series.
12
+ */
13
+ export declare function LeveragePresetChips({ options, value, onChange, }: LeveragePresetChipsProps): React.ReactElement | null;
@@ -6,7 +6,7 @@ export interface LiquidationParamsTableProps {
6
6
  readonly data: Pick<StrategyOpportunity, "liquidationThreshold" | "liquidationPremium" | "liquidationFee">;
7
7
  }
8
8
  /**
9
- * Single-row liquidation parameters. Penalty is premium + fee, a presentation
10
- * of two SDK values.
9
+ * Single-row liquidation parameters. Discount is premium + fee, a
10
+ * presentation of two SDK values.
11
11
  */
12
12
  export declare function LiquidationParamsTable({ data, }: LiquidationParamsTableProps): React.ReactElement;
@@ -1,3 +1,4 @@
1
+ import { Token } from '@gearbox-protocol/sdk/model';
1
2
  import { default as React } from 'react';
2
3
  import { TitleText } from '../text';
3
4
  import { HFZones } from '../../health-factor';
@@ -11,8 +12,10 @@ export interface LiquidationPriceBlockProps {
11
12
  readonly price?: bigint | null;
12
13
  /** Price after the operation; renders a from → to transition. */
13
14
  readonly priceTo?: bigint | null;
14
- /** The pair the price is quoted in, e.g. "WETH / USDC". */
15
- readonly pricePair?: React.ReactNode;
15
+ /** Collateral token of the quoted pair. */
16
+ readonly collateral?: Token | null;
17
+ /** Underlying token of the quoted pair. */
18
+ readonly underlying?: Token;
16
19
  /** Zone dot next to the price. */
17
20
  readonly zone?: HFZones;
18
21
  readonly isLoading?: boolean;
@@ -25,6 +28,5 @@ export interface LiquidationPriceBlockProps {
25
28
  /**
26
29
  * "Liquidation price" row of a preview: label + help tip, the formatted price
27
30
  * (with optional from → to and zone dot), and the price pair underneath.
28
- * Design only — the reference `LiquidationPriceBlock` markup on value props.
29
31
  */
30
- export declare function LiquidationPriceBlock({ price, priceTo, pricePair, zone, isLoading, title, tip, testId, }: LiquidationPriceBlockProps): React.ReactElement;
32
+ export declare function LiquidationPriceBlock({ price, priceTo, collateral, underlying, zone, isLoading, title, tip, testId, }: LiquidationPriceBlockProps): React.ReactElement;
@@ -4,5 +4,6 @@ export declare class ManagePaneTest {
4
4
  static dropdown: string;
5
5
  static body: string;
6
6
  static message: string;
7
+ static actionDialog: string;
7
8
  static tab: (id: string) => string;
8
9
  }
@@ -24,7 +24,9 @@ export interface ManagePaneActionTabProps {
24
24
  readonly id: string;
25
25
  readonly title: TitleText;
26
26
  /** Fires without changing the active tab (e.g. "My positions"). */
27
- readonly onClick: () => void;
27
+ readonly onClick?: () => void;
28
+ /** When set, a click opens this content in a dialog instead of switching tabs. */
29
+ readonly children?: React.ReactNode;
28
30
  }
29
31
  export declare function ManagePaneActionTab(_props: ManagePaneActionTabProps): null;
30
32
  export interface ManagePaneProps {
@@ -3,6 +3,17 @@ import { FormatMessageTypedProps } from '../../typed-intl';
3
3
  import { PageTitleTest } from './constants';
4
4
  export { PageTitleTest };
5
5
  export type PageTitleText = FormatMessageTypedProps | string;
6
+ export interface PageHeadProviderProps {
7
+ readonly children: React.ReactNode;
8
+ /** Renders the document head for a resolved browser title (e.g. a Helmet node). */
9
+ readonly render: (browserTitle: string) => React.ReactNode;
10
+ }
11
+ /**
12
+ * Optional document-head hook for {@link PageTitle}. Without a provider the
13
+ * visible heading still renders and `<head>` is left alone — ui-kit does not
14
+ * import a head library.
15
+ */
16
+ export declare function PageHeadProvider({ children, render, }: PageHeadProviderProps): React.ReactElement;
6
17
  export interface PageTitleProps {
7
18
  /** Visible heading; a node (e.g. a token-pair title) renders as given. */
8
19
  readonly title: PageTitleText | React.ReactNode;
@@ -11,13 +22,8 @@ export interface PageTitleProps {
11
22
  * Required when {@link title} is a node — a node cannot become a string.
12
23
  */
13
24
  readonly browserTitle?: PageTitleText;
14
- /**
15
- * Renders the document head for the resolved browser title (e.g. a Helmet
16
- * element). The app owns the head library; ui-kit only hands over the string.
17
- */
18
- readonly head?: (browserTitle: string) => React.ReactNode;
19
25
  readonly as?: "h1" | "h2" | "h3" | "span";
20
26
  readonly className?: string;
21
27
  }
22
28
  /** The one visible page heading, plus an optional document-head hook. */
23
- export declare function PageTitle({ title, browserTitle, head, as, className, }: PageTitleProps): React.ReactElement;
29
+ export declare function PageTitle({ title, browserTitle, as, className, }: PageTitleProps): React.ReactElement;
@@ -3,12 +3,11 @@ import { default as React } from 'react';
3
3
  import { PoolApyBreakdownCardTest } from './constants';
4
4
  export { PoolApyBreakdownCardTest };
5
5
  export interface PoolApyBreakdownCardProps {
6
- /** Trailing average APYs in basis points; a missing window renders a dash. */
6
+ /** Organic and incentive APYs in basis points; a missing value renders a dash. */
7
7
  readonly data?: {
8
- readonly apy1d?: Bps;
9
- readonly apy7d?: Bps;
10
- readonly apy30d?: Bps;
8
+ readonly organicApy?: Bps;
9
+ readonly incentiveApy?: Bps;
11
10
  };
12
11
  }
13
- /** Trailing APY windows next to the yield chart. Missing windows render as dashes. */
12
+ /** Organic vs incentive APY next to the pool APY chart. Missing values render as dashes. */
14
13
  export declare function PoolApyBreakdownCard({ data, }: PoolApyBreakdownCardProps): React.ReactElement;
@@ -0,0 +1,5 @@
1
+ export declare class PositionAssetsTest {
2
+ static root: string;
3
+ static row: string;
4
+ static empty: string;
5
+ }
@@ -0,0 +1,2 @@
1
+ export { PositionAssetsTest } from './constants';
2
+ export { PositionAssets, type PositionAssetsProps } from './position-assets';
@@ -0,0 +1,49 @@
1
+ import { TokenAmount } from '@gearbox-protocol/sdk/model';
2
+ import { default as React } from 'react';
3
+ import { PositionAssetsTest } from './constants';
4
+ export { PositionAssetsTest };
5
+ export interface PositionAssetsProps {
6
+ /** What this side holds. */
7
+ readonly assets?: readonly TokenAmount[];
8
+ /**
9
+ * The list this one is shown against — the other slot of the same row.
10
+ * Never rendered: it only joins the row set and the order, so two lists in
11
+ * `value` and `valueTo` list the same tokens in the same order and their
12
+ * rows line up. Pass each side the other one.
13
+ */
14
+ readonly against?: readonly TokenAmount[];
15
+ /** Rendered in place of the rows when nothing survives the dust filter. */
16
+ readonly empty?: React.ReactNode;
17
+ readonly testId?: string;
18
+ }
19
+ /**
20
+ * Holdings token by token, most valuable first — the position itself rather
21
+ * than the one number its collateral adds up to. A right-aligned column, so it
22
+ * reads as the value of the `InfoLine` a caller drops it into, in either slot.
23
+ *
24
+ * The rows carry no label of their own, which is why they are not `InfoLine`s:
25
+ * `VerticalIndicator` leaves out its left column entirely when no label is
26
+ * given and never justifies what remains, so a label-less row would sit on the
27
+ * wrong side.
28
+ *
29
+ * Dust is left out: an account carries stray fractions of a cent from
30
+ * rounding, and listing them buries the holdings that matter. A token the
31
+ * oracle cannot price is never dust — an unknown value is not a small one.
32
+ */
33
+ export declare function PositionAssets({ assets, against, empty, testId, }: PositionAssetsProps): React.ReactElement;
34
+ /** One token as a side lists it. */
35
+ export interface AssetRow {
36
+ readonly token: TokenAmount["token"];
37
+ /** What this side holds — zero for a token only the other side has. */
38
+ readonly value: bigint;
39
+ /**
40
+ * What the token is worth at its richer side, which is what decides both
41
+ * dust and order. `null` when a side the oracle cannot price is involved.
42
+ */
43
+ readonly worth: number | null;
44
+ }
45
+ /**
46
+ * What earns a row, most valuable first — decided across both sides, so the
47
+ * order is a property of the pair rather than of the side that renders it.
48
+ */
49
+ export declare function visibleAssets(assets: readonly TokenAmount[] | undefined, against?: readonly TokenAmount[]): AssetRow[];
@@ -1,4 +1,5 @@
1
1
  export declare class ReviewButtonTest {
2
2
  static root: string;
3
3
  static error: string;
4
+ static tip: string;
4
5
  }
@@ -1,13 +1,27 @@
1
1
  import { default as React } from 'react';
2
+ import { FormattedMessageTypedProps } from '../../typed-intl';
2
3
  import { LocaleKeys } from '../../../locale';
3
4
  import { ReviewButtonTest } from './constants';
4
5
  export { ReviewButtonTest };
5
6
  export interface ReviewButtonProps {
6
7
  readonly disabled: boolean;
7
- /** Message id of what blocks the action; rendered above the button. */
8
+ /** What blocks the action; takes the button's own label while it is set. */
8
9
  readonly error: LocaleKeys | null;
10
+ /**
11
+ * How to get past the error — a card above the button. Taken as a message
12
+ * rather than a node because this component owns the formatter: the numbers
13
+ * a resolution names are `values`, and every caller would otherwise repeat
14
+ * the same `<FormattedMessageTyped>` wrapper.
15
+ */
16
+ readonly tip?: FormattedMessageTypedProps;
9
17
  readonly onClick: () => void;
10
18
  readonly label?: LocaleKeys;
11
19
  }
12
- /** The single primary action of every dialog: review, then confirm in Verify. */
13
- export declare function ReviewButton({ disabled, error, onClick, label, }: ReviewButtonProps): React.ReactElement;
20
+ /**
21
+ * The single primary action of every dialog: review, then confirm in Verify.
22
+ *
23
+ * A blocked action says so on the button itself, and says what to do about it
24
+ * above — the arrangement the confirm screen already uses, so a dialog and its
25
+ * confirmation report the same refusal the same way.
26
+ */
27
+ export declare function ReviewButton({ disabled, error, tip, onClick, label, }: ReviewButtonProps): React.ReactElement;
@@ -2,4 +2,5 @@ export declare class StatBadgeTest {
2
2
  static root: string;
3
3
  static grid: string;
4
4
  static action: string;
5
+ static delta: string;
5
6
  }
@@ -3,10 +3,20 @@ import { TitleText } from '../text';
3
3
  import { StatBadgeTest } from './constants';
4
4
  export { StatBadgeTest };
5
5
  export type StatBadgeSize = "sm" | "md" | "default";
6
+ export interface StatBadgeDelta {
7
+ /** Formatted change, e.g. `"12.50%"`. Sign is taken from `value`, not this string. */
8
+ readonly label: ReactNode;
9
+ /** Signed change; `> 0` is success, `< 0` is destructive. */
10
+ readonly value: number;
11
+ /** Period hint shown on hover, e.g. `"7D"`. */
12
+ readonly tooltip?: ReactNode;
13
+ }
6
14
  export interface StatBadgeProps {
7
15
  /** A messageId (formatted here) or a node. */
8
16
  readonly title: TitleText;
9
17
  readonly value: React.ReactNode;
18
+ /** Optional change chip in the top-right of the card. Hidden while `isLoading`. */
19
+ readonly delta?: StatBadgeDelta;
10
20
  /** Optional control in the top-right of the card, e.g. a Claim button. */
11
21
  readonly action?: ReactNode;
12
22
  readonly className?: string;
@@ -16,7 +26,7 @@ export interface StatBadgeProps {
16
26
  readonly testId?: string;
17
27
  readonly size?: StatBadgeSize;
18
28
  }
19
- export declare function StatBadge({ title, value, isLoading, size, action, className, testId, }: StatBadgeProps): React.ReactElement;
29
+ export declare function StatBadge({ title, value, isLoading, size, delta, action, className, testId, }: StatBadgeProps): React.ReactElement;
20
30
  export interface StatBadgeGridProps {
21
31
  readonly cols?: 1 | 2 | 3 | 4;
22
32
  readonly colsLg?: 1 | 2 | 3 | 4;
@@ -1,4 +1,5 @@
1
1
  export declare class StrategyApyBreakdownCardTest {
2
2
  static root: string;
3
3
  static row: string;
4
+ static net: string;
4
5
  }
@@ -1,9 +1,23 @@
1
- import { StrategyOpportunity } from '@gearbox-protocol/sdk/model';
1
+ import { ApyBreakdown, Leverage } from '@gearbox-protocol/sdk/model';
2
2
  import { default as React } from 'react';
3
+ import { StrategyApyRates } from '../../../utils/strategy-apy';
3
4
  import { StrategyApyBreakdownCardTest } from './constants';
4
5
  export { StrategyApyBreakdownCardTest };
6
+ export interface StrategyApyBreakdownData extends StrategyApyRates {
7
+ readonly collateralApy?: ApyBreakdown;
8
+ /** Leverage the card falls back to when the toolbar names none. */
9
+ readonly maxLeverage?: Leverage;
10
+ /**
11
+ * Net rate the caller already knows — a position's own `netApy`. Preferred
12
+ * over the rows' arithmetic, which answers for the strategy rather than for
13
+ * one account inside it.
14
+ */
15
+ readonly netApy?: ApyBreakdown;
16
+ }
5
17
  export interface StrategyApyBreakdownCardProps {
6
- readonly data: StrategyOpportunity;
18
+ readonly data: StrategyApyBreakdownData;
19
+ /** Selected leverage from the chart toolbar chips. Falls back to max. */
20
+ readonly leverage?: Leverage;
7
21
  }
8
- /** APY terms next to the strategy yield chart collateral and borrow rates. */
9
- export declare function StrategyApyBreakdownCard({ data, }: StrategyApyBreakdownCardProps): React.ReactElement;
22
+ /** Net APY formula beside the strategy yield chart. Chart itself is unchanged. */
23
+ export declare function StrategyApyBreakdownCard({ data, leverage: leverageProp, }: StrategyApyBreakdownCardProps): React.ReactElement;
@@ -10,8 +10,8 @@ export interface TabberSectionProps {
10
10
  readonly actions?: React.ReactNode;
11
11
  readonly children?: React.ReactNode;
12
12
  /**
13
- * Render this section above the sticky tab bar (overview badges). The tab
14
- * still appears in the bar and scroll-spy still tracks the section.
13
+ * Render this section above the sticky tab bar (overview badges). The
14
+ * section is not listed in the bar; scroll-spy tracks only sections below it.
15
15
  */
16
16
  readonly beforeBar?: boolean;
17
17
  /** Skip the in-section h2 — overview has badges, not a heading. */
@@ -5,12 +5,12 @@ import { TimeToLiquidationBlockTest } from './constants';
5
5
  export { TimeToLiquidationBlockTest };
6
6
  export interface TimeToLiquidationBlockProps {
7
7
  /**
8
- * Time to liquidation in seconds; `null` renders "N/A", omit to render "—"
9
- * (value not available).
8
+ * SDK `timeToLiquidation` in milliseconds; `null` renders "N/A", omit to
9
+ * render "—" (value not available).
10
10
  */
11
- readonly seconds?: number | null;
11
+ readonly data?: bigint | null;
12
12
  /** Time after the operation; renders a from → to transition. */
13
- readonly secondsTo?: number | null;
13
+ readonly dataTo?: bigint | null;
14
14
  /** Pre-computed zone; if not set, derived from the value. */
15
15
  readonly zone?: TTLZones;
16
16
  readonly isLoading?: boolean;
@@ -23,6 +23,5 @@ export interface TimeToLiquidationBlockProps {
23
23
  /**
24
24
  * "Time to liquidation" row of a preview: label + help tip, the remaining
25
25
  * time as `Nmo` / `Nd` / `<1d` with a zone dot, optionally from → to.
26
- * Design only — the reference `TimeToLiquidationBlock` markup on value props.
27
26
  */
28
- export declare function TimeToLiquidationBlock({ seconds, secondsTo, zone, isLoading, title, tip, testId, }: TimeToLiquidationBlockProps): React.ReactElement;
27
+ export declare function TimeToLiquidationBlock({ data, dataTo, zone, isLoading, title, tip, testId, }: TimeToLiquidationBlockProps): React.ReactElement;
@@ -2,4 +2,5 @@ export declare class TitleMetaTest {
2
2
  static root: string;
3
3
  static network: string;
4
4
  static curator: string;
5
+ static link: string;
5
6
  }