@gearbox-protocol/ui-kit 3.14.0-next.6 → 3.14.0-next.61

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 (259) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/components/alert-badge/alert-badge.cjs +1 -1
  3. package/dist/cjs/components/app-bar/app-bar.cjs +1 -1
  4. package/dist/cjs/components/apy/apy.cjs +1 -1
  5. package/dist/cjs/components/assets-list-cell/assets-list-cell.cjs +1 -1
  6. package/dist/cjs/components/block-sync/block-sync.cjs +1 -1
  7. package/dist/cjs/components/block-sync-pill/block-sync-pill.cjs +1 -0
  8. package/dist/cjs/components/block-sync-pill/block-sync-status.cjs +1 -0
  9. package/dist/cjs/components/block-sync-pill/index.cjs +1 -0
  10. package/dist/cjs/components/buttons/button/button.cjs +1 -1
  11. package/dist/cjs/components/checkbox/checkbox-labeled.cjs +1 -1
  12. package/dist/cjs/components/client-adapters/styled-button/styled-button.cjs +1 -1
  13. package/dist/cjs/components/client-adapters/styled-rounded-image/styled-rounded-image.cjs +1 -1
  14. package/dist/cjs/components/complex-input/complex-input.cjs +1 -1
  15. package/dist/cjs/components/composites/credit-account-history/body.cjs +1 -0
  16. package/dist/cjs/components/composites/credit-account-history/cells/details.cjs +1 -0
  17. package/dist/cjs/components/composites/credit-account-history/cells/hash.cjs +1 -0
  18. package/dist/cjs/components/composites/credit-account-history/cells/index.cjs +1 -0
  19. package/dist/cjs/components/composites/credit-account-history/cells/protocol.cjs +1 -0
  20. package/dist/cjs/components/composites/credit-account-history/cells/token-list.cjs +1 -0
  21. package/dist/cjs/components/composites/credit-account-history/credit-account-history.cjs +1 -0
  22. package/dist/cjs/components/composites/credit-account-history/index.cjs +1 -0
  23. package/dist/cjs/components/composites/credit-account-history/line.cjs +1 -0
  24. package/dist/cjs/components/composites/credit-account-history/types.cjs +1 -0
  25. package/dist/cjs/components/composites/index.cjs +1 -1
  26. package/dist/cjs/components/composites/notification-center/index.cjs +1 -0
  27. package/dist/cjs/components/composites/notification-center/notification-center.cjs +1 -0
  28. package/dist/cjs/components/composites/notification-center/types.cjs +1 -0
  29. package/dist/cjs/components/composites/pool-table/columns.cjs +1 -1
  30. package/dist/cjs/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountField.cjs +1 -0
  31. package/dist/cjs/components/composites/tx-preview/confirm/amounts/constants.cjs +1 -0
  32. package/dist/cjs/components/composites/tx-preview/confirm/amounts/index.cjs +1 -0
  33. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmModalView.cjs +1 -0
  34. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmPageView.cjs +1 -0
  35. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.cjs +1 -0
  36. package/dist/cjs/components/composites/tx-preview/confirm/dialog/computeTransactionConfirmDialogLayout.cjs +1 -0
  37. package/dist/cjs/components/composites/tx-preview/confirm/dialog/constants.cjs +1 -0
  38. package/dist/cjs/components/composites/tx-preview/confirm/dialog/index.cjs +1 -0
  39. package/dist/cjs/components/composites/tx-preview/confirm/dialog/transactionConfirmPhase.cjs +1 -0
  40. package/dist/cjs/components/composites/tx-preview/confirm/execution/TransactionConfirmExecuteButton.cjs +1 -0
  41. package/dist/cjs/components/composites/tx-preview/confirm/execution/index.cjs +1 -0
  42. package/dist/cjs/components/composites/tx-preview/confirm/index.cjs +1 -0
  43. package/dist/cjs/components/composites/tx-preview/confirm/result/TransactionConfirmFailureResult.cjs +1 -0
  44. package/dist/cjs/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessIcon.cjs +1 -0
  45. package/dist/cjs/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessResult.cjs +1 -0
  46. package/dist/cjs/components/composites/tx-preview/confirm/result/TransactionConfirmTxHashRow.cjs +1 -0
  47. package/dist/cjs/components/composites/tx-preview/confirm/result/constants.cjs +1 -0
  48. package/dist/cjs/components/composites/tx-preview/confirm/result/index.cjs +1 -0
  49. package/dist/cjs/components/composites/tx-preview/confirm/stepper/ProgressStepper.cjs +1 -0
  50. package/dist/cjs/components/composites/tx-preview/confirm/stepper/constants.cjs +1 -0
  51. package/dist/cjs/components/composites/tx-preview/confirm/stepper/index.cjs +1 -0
  52. package/dist/cjs/components/composites/tx-preview/confirm/stepper/transactionExecutionStepTypes.cjs +1 -0
  53. package/dist/cjs/components/composites/tx-preview/index.cjs +1 -0
  54. package/dist/cjs/components/compound-apy/compound-apy.cjs +1 -1
  55. package/dist/cjs/components/confirm-menu/confirm-menu.cjs +1 -1
  56. package/dist/cjs/components/detailed-page-title/detailed-page-title.cjs +1 -1
  57. package/dist/cjs/components/graph/formatters.cjs +1 -1
  58. package/dist/cjs/components/graph/graph.cjs +1 -1
  59. package/dist/cjs/components/graph/index.cjs +1 -1
  60. package/dist/cjs/components/health-factor/health-factor.cjs +1 -1
  61. package/dist/cjs/components/index.cjs +1 -1
  62. package/dist/cjs/components/layout/app-footer/app-footer.cjs +1 -0
  63. package/dist/cjs/components/layout/app-footer/index.cjs +1 -0
  64. package/dist/cjs/components/layout/app-header/app-header.cjs +1 -0
  65. package/dist/cjs/components/layout/app-header/index.cjs +1 -0
  66. package/dist/cjs/components/layout/index.cjs +1 -1
  67. package/dist/cjs/components/layout/main-aside-layout/main-aside-layout.cjs +1 -1
  68. package/dist/cjs/components/legal-agreement/index.cjs +1 -1
  69. package/dist/cjs/components/legal-agreement/legal-agreement-awaiting-panel.cjs +1 -0
  70. package/dist/cjs/components/legal-agreement/legal-agreement-dialog.cjs +1 -1
  71. package/dist/cjs/components/legal-agreement/legal-agreement-link.cjs +1 -0
  72. package/dist/cjs/components/legal-agreement/legal-agreement-panel.cjs +1 -0
  73. package/dist/cjs/components/legal-agreement/legal-agreement-theme.cjs +1 -0
  74. package/dist/cjs/components/legal-agreement/legal-agreement.stories-config.cjs +1 -0
  75. package/dist/cjs/components/link/link.cjs +1 -1
  76. package/dist/cjs/components/loader-guard/loader-guard.cjs +1 -1
  77. package/dist/cjs/components/markdown-viewer/markdown-viewer.cjs +1 -1
  78. package/dist/cjs/components/segmented-control/segmented-control.cjs +1 -1
  79. package/dist/cjs/components/smart-number-input/smart-number-input.cjs +1 -1
  80. package/dist/cjs/components/tab-control/tab-control.cjs +1 -1
  81. package/dist/cjs/components/time-to-liquidation/time-to-liquidation.cjs +1 -1
  82. package/dist/cjs/components/token-template/token-template.cjs +1 -1
  83. package/dist/cjs/components/tokens-list-cell/tokens-list-cell.cjs +1 -1
  84. package/dist/cjs/components/trading-view/trading-view.cjs +1 -1
  85. package/dist/cjs/components/vertical-indicator/vertical-indicator.cjs +1 -1
  86. package/dist/cjs/components/with-copy/with-copy.cjs +1 -1
  87. package/dist/cjs/configs/tailwind-preset.cjs +1 -1
  88. package/dist/cjs/hooks/index.cjs +1 -1
  89. package/dist/cjs/hooks/use-filter.cjs +1 -1
  90. package/dist/cjs/index.cjs +1 -1
  91. package/dist/cjs/locale/en.json.cjs +1 -1
  92. package/dist/cjs/test-ids/index.cjs +1 -1
  93. package/dist/cjs/test-ids/notification-center.cjs +1 -0
  94. package/dist/esm/components/alert-badge/alert-badge.js +12 -10
  95. package/dist/esm/components/app-bar/app-bar.js +1 -1
  96. package/dist/esm/components/apy/apy.js +9 -9
  97. package/dist/esm/components/assets-list-cell/assets-list-cell.js +14 -8
  98. package/dist/esm/components/block-sync/block-sync.js +14 -8
  99. package/dist/esm/components/block-sync-pill/block-sync-pill.js +243 -0
  100. package/dist/esm/components/block-sync-pill/block-sync-status.js +12 -0
  101. package/dist/esm/components/block-sync-pill/index.js +4 -0
  102. package/dist/esm/components/buttons/button/button.js +1 -0
  103. package/dist/esm/components/checkbox/checkbox-labeled.js +12 -6
  104. package/dist/esm/components/client-adapters/styled-button/styled-button.js +11 -11
  105. package/dist/esm/components/client-adapters/styled-rounded-image/styled-rounded-image.js +12 -6
  106. package/dist/esm/components/complex-input/complex-input.js +14 -8
  107. package/dist/esm/components/composites/credit-account-history/body.js +73 -0
  108. package/dist/esm/components/composites/credit-account-history/cells/details.js +22 -0
  109. package/dist/esm/components/composites/credit-account-history/cells/hash.js +24 -0
  110. package/dist/esm/components/composites/credit-account-history/cells/index.js +10 -0
  111. package/dist/esm/components/composites/credit-account-history/cells/protocol.js +25 -0
  112. package/dist/esm/components/composites/credit-account-history/cells/token-list.js +43 -0
  113. package/dist/esm/components/composites/credit-account-history/credit-account-history.js +46 -0
  114. package/dist/esm/components/composites/credit-account-history/index.js +8 -0
  115. package/dist/esm/components/composites/credit-account-history/line.js +125 -0
  116. package/dist/esm/components/composites/credit-account-history/types.js +9 -0
  117. package/dist/esm/components/composites/index.js +125 -79
  118. package/dist/esm/components/composites/notification-center/index.js +4 -0
  119. package/dist/esm/components/composites/notification-center/notification-center.js +208 -0
  120. package/dist/esm/components/composites/notification-center/types.js +1 -0
  121. package/dist/esm/components/composites/pool-table/columns.js +51 -45
  122. package/dist/esm/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountField.js +234 -0
  123. package/dist/esm/components/composites/tx-preview/confirm/amounts/constants.js +10 -0
  124. package/dist/esm/components/composites/tx-preview/confirm/amounts/index.js +7 -0
  125. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmModalView.js +213 -0
  126. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmPageView.js +53 -0
  127. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.js +97 -0
  128. package/dist/esm/components/composites/tx-preview/confirm/dialog/computeTransactionConfirmDialogLayout.js +35 -0
  129. package/dist/esm/components/composites/tx-preview/confirm/dialog/constants.js +23 -0
  130. package/dist/esm/components/composites/tx-preview/confirm/dialog/index.js +14 -0
  131. package/dist/esm/components/composites/tx-preview/confirm/dialog/transactionConfirmPhase.js +1 -0
  132. package/dist/esm/components/composites/tx-preview/confirm/execution/TransactionConfirmExecuteButton.js +30 -0
  133. package/dist/esm/components/composites/tx-preview/confirm/execution/index.js +4 -0
  134. package/dist/esm/components/composites/tx-preview/confirm/index.js +40 -0
  135. package/dist/esm/components/composites/tx-preview/confirm/result/TransactionConfirmFailureResult.js +55 -0
  136. package/dist/esm/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessIcon.js +25 -0
  137. package/dist/esm/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessResult.js +60 -0
  138. package/dist/esm/components/composites/tx-preview/confirm/result/TransactionConfirmTxHashRow.js +21 -0
  139. package/dist/esm/components/composites/tx-preview/confirm/result/constants.js +24 -0
  140. package/dist/esm/components/composites/tx-preview/confirm/result/index.js +15 -0
  141. package/dist/esm/components/composites/tx-preview/confirm/stepper/ProgressStepper.js +105 -0
  142. package/dist/esm/components/composites/tx-preview/confirm/stepper/constants.js +6 -0
  143. package/dist/esm/components/composites/tx-preview/confirm/stepper/index.js +8 -0
  144. package/dist/esm/components/composites/tx-preview/confirm/stepper/transactionExecutionStepTypes.js +6 -0
  145. package/dist/esm/components/composites/tx-preview/index.js +40 -0
  146. package/dist/esm/components/compound-apy/compound-apy.js +14 -8
  147. package/dist/esm/components/confirm-menu/confirm-menu.js +28 -25
  148. package/dist/esm/components/detailed-page-title/detailed-page-title.js +12 -6
  149. package/dist/esm/components/graph/formatters.js +128 -132
  150. package/dist/esm/components/graph/graph.js +744 -389
  151. package/dist/esm/components/graph/index.js +26 -24
  152. package/dist/esm/components/health-factor/health-factor.js +27 -26
  153. package/dist/esm/components/index.js +793 -722
  154. package/dist/esm/components/layout/app-footer/app-footer.js +54 -0
  155. package/dist/esm/components/layout/app-footer/index.js +5 -0
  156. package/dist/esm/components/layout/app-header/app-header.js +100 -0
  157. package/dist/esm/components/layout/app-header/index.js +4 -0
  158. package/dist/esm/components/layout/index.js +32 -27
  159. package/dist/esm/components/layout/main-aside-layout/main-aside-layout.js +107 -58
  160. package/dist/esm/components/legal-agreement/index.js +23 -7
  161. package/dist/esm/components/legal-agreement/legal-agreement-awaiting-panel.js +29 -0
  162. package/dist/esm/components/legal-agreement/legal-agreement-dialog.js +72 -212
  163. package/dist/esm/components/legal-agreement/legal-agreement-link.js +22 -0
  164. package/dist/esm/components/legal-agreement/legal-agreement-panel.js +130 -0
  165. package/dist/esm/components/legal-agreement/legal-agreement-theme.js +137 -0
  166. package/dist/esm/components/legal-agreement/legal-agreement.stories-config.js +170 -0
  167. package/dist/esm/components/link/link.js +42 -35
  168. package/dist/esm/components/loader-guard/loader-guard.js +7 -5
  169. package/dist/esm/components/markdown-viewer/markdown-viewer.js +14 -8
  170. package/dist/esm/components/segmented-control/segmented-control.js +21 -21
  171. package/dist/esm/components/smart-number-input/smart-number-input.js +33 -29
  172. package/dist/esm/components/tab-control/tab-control.js +1 -1
  173. package/dist/esm/components/time-to-liquidation/time-to-liquidation.js +12 -6
  174. package/dist/esm/components/token-template/token-template.js +17 -17
  175. package/dist/esm/components/tokens-list-cell/tokens-list-cell.js +14 -8
  176. package/dist/esm/components/trading-view/trading-view.js +164 -147
  177. package/dist/esm/components/vertical-indicator/vertical-indicator.js +39 -33
  178. package/dist/esm/components/with-copy/with-copy.js +14 -8
  179. package/dist/esm/configs/tailwind-preset.js +1 -0
  180. package/dist/esm/hooks/index.js +50 -47
  181. package/dist/esm/hooks/use-filter.js +63 -29
  182. package/dist/esm/index.js +972 -896
  183. package/dist/esm/locale/en.json.js +10 -0
  184. package/dist/esm/test-ids/index.js +14 -12
  185. package/dist/esm/test-ids/notification-center.js +16 -0
  186. package/dist/globals.css +1 -1
  187. package/dist/types/components/alert-badge/alert-badge.d.ts +1 -1
  188. package/dist/types/components/block-sync-pill/block-sync-pill.d.ts +35 -0
  189. package/dist/types/components/block-sync-pill/block-sync-status.d.ts +29 -0
  190. package/dist/types/components/block-sync-pill/index.d.ts +1 -0
  191. package/dist/types/components/buttons/button/button.d.ts +4 -3
  192. package/dist/types/components/composites/credit-account-history/body.d.ts +14 -0
  193. package/dist/types/components/composites/credit-account-history/cells/details.d.ts +9 -0
  194. package/dist/types/components/composites/credit-account-history/cells/hash.d.ts +6 -0
  195. package/dist/types/components/composites/credit-account-history/cells/index.d.ts +4 -0
  196. package/dist/types/components/composites/credit-account-history/cells/protocol.d.ts +7 -0
  197. package/dist/types/components/composites/credit-account-history/cells/token-list.d.ts +9 -0
  198. package/dist/types/components/composites/credit-account-history/credit-account-history.d.ts +15 -0
  199. package/dist/types/components/composites/credit-account-history/index.d.ts +2 -0
  200. package/dist/types/components/composites/credit-account-history/line.d.ts +18 -0
  201. package/dist/types/components/composites/credit-account-history/types.d.ts +36 -0
  202. package/dist/types/components/composites/index.d.ts +3 -0
  203. package/dist/types/components/composites/notification-center/index.d.ts +2 -0
  204. package/dist/types/components/composites/notification-center/notification-center.d.ts +9 -0
  205. package/dist/types/components/composites/notification-center/types.d.ts +31 -0
  206. package/dist/types/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountField.d.ts +29 -0
  207. package/dist/types/components/composites/tx-preview/confirm/amounts/constants.d.ts +6 -0
  208. package/dist/types/components/composites/tx-preview/confirm/amounts/index.d.ts +2 -0
  209. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmModalView.d.ts +17 -0
  210. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmPageView.d.ts +15 -0
  211. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.d.ts +23 -0
  212. package/dist/types/components/composites/tx-preview/confirm/dialog/computeTransactionConfirmDialogLayout.d.ts +8 -0
  213. package/dist/types/components/composites/tx-preview/confirm/dialog/constants.d.ts +17 -0
  214. package/dist/types/components/composites/tx-preview/confirm/dialog/index.d.ts +5 -0
  215. package/dist/types/components/composites/tx-preview/confirm/dialog/transactionConfirmPhase.d.ts +4 -0
  216. package/dist/types/components/composites/tx-preview/confirm/execution/TransactionConfirmExecuteButton.d.ts +6 -0
  217. package/dist/types/components/composites/tx-preview/confirm/execution/index.d.ts +1 -0
  218. package/dist/types/components/composites/tx-preview/confirm/index.d.ts +5 -0
  219. package/dist/types/components/composites/tx-preview/confirm/result/TransactionConfirmFailureResult.d.ts +8 -0
  220. package/dist/types/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessIcon.d.ts +2 -0
  221. package/dist/types/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessResult.d.ts +8 -0
  222. package/dist/types/components/composites/tx-preview/confirm/result/TransactionConfirmTxHashRow.d.ts +6 -0
  223. package/dist/types/components/composites/tx-preview/confirm/result/constants.d.ts +18 -0
  224. package/dist/types/components/composites/tx-preview/confirm/result/index.d.ts +5 -0
  225. package/dist/types/components/composites/tx-preview/confirm/stepper/ProgressStepper.d.ts +36 -0
  226. package/dist/types/components/composites/tx-preview/confirm/stepper/constants.d.ts +3 -0
  227. package/dist/types/components/composites/tx-preview/confirm/stepper/index.d.ts +3 -0
  228. package/dist/types/components/composites/tx-preview/confirm/stepper/transactionExecutionStepTypes.d.ts +10 -0
  229. package/dist/types/components/composites/tx-preview/index.d.ts +1 -0
  230. package/dist/types/components/confirm-menu/confirm-menu.d.ts +4 -2
  231. package/dist/types/components/graph/graph.d.ts +112 -2
  232. package/dist/types/components/graph/index.d.ts +1 -1
  233. package/dist/types/components/health-factor/health-factor.d.ts +6 -3
  234. package/dist/types/components/index.d.ts +1 -0
  235. package/dist/types/components/layout/app-footer/app-footer.d.ts +62 -0
  236. package/dist/types/components/layout/app-footer/index.d.ts +1 -0
  237. package/dist/types/components/layout/app-header/app-header.d.ts +67 -0
  238. package/dist/types/components/layout/app-header/index.d.ts +1 -0
  239. package/dist/types/components/layout/index.d.ts +2 -0
  240. package/dist/types/components/layout/main-aside-layout/main-aside-layout.d.ts +42 -0
  241. package/dist/types/components/legal-agreement/index.d.ts +5 -1
  242. package/dist/types/components/legal-agreement/legal-agreement-awaiting-panel.d.ts +10 -0
  243. package/dist/types/components/legal-agreement/legal-agreement-dialog.d.ts +19 -52
  244. package/dist/types/components/legal-agreement/legal-agreement-link.d.ts +11 -0
  245. package/dist/types/components/legal-agreement/legal-agreement-panel.d.ts +16 -0
  246. package/dist/types/components/legal-agreement/legal-agreement-theme.d.ts +36 -0
  247. package/dist/types/components/legal-agreement/legal-agreement.stories-config.d.ts +11 -0
  248. package/dist/types/components/trading-view/trading-view.d.ts +15 -1
  249. package/dist/types/components/vertical-indicator/vertical-indicator.d.ts +6 -0
  250. package/dist/types/configs/tailwind-preset.d.ts +1 -0
  251. package/dist/types/hooks/use-filter.d.ts +46 -0
  252. package/dist/types/index.d.ts +2 -0
  253. package/dist/types/locale/en.json.d.ts +13 -0
  254. package/dist/types/test-ids/index.d.ts +1 -0
  255. package/dist/types/test-ids/notification-center.d.ts +13 -0
  256. package/dist/types/types/footer.d.ts +24 -3
  257. package/package.json +7 -4
  258. package/src/styles/base.css +2 -0
  259. package/src/styles/theme.css +1 -0
@@ -24,6 +24,12 @@ export interface VerticalIndicatorProps extends Omit<React.HTMLAttributes<HTMLDi
24
24
  value?: React.ReactNode;
25
25
  /** New value shown after an arrow (value → valueTo); the first value is shown with line-through */
26
26
  valueTo?: React.ReactNode;
27
+ /**
28
+ * When true (default) and valueTo is provided, the old value (value) is rendered in
29
+ * secondary-foreground color to visually dim it. Set to false to keep the original color
30
+ * (e.g. for Health Factor which uses zone-based coloring).
31
+ */
32
+ dimPreviousValue?: boolean;
27
33
  /** Called when the tip icon is hovered */
28
34
  onPointerEnterTip?: () => void;
29
35
  }
@@ -64,6 +64,7 @@ export declare const preset: {
64
64
  "success-hover": string;
65
65
  warning: string;
66
66
  liquidation: string;
67
+ "liquidation-line": string;
67
68
  border: string;
68
69
  input: string;
69
70
  ring: string;
@@ -23,6 +23,52 @@ export type SortSetterFunction<T> = (field: T, startFromSort?: SortType) => void
23
23
  * Hook for managing sort state
24
24
  */
25
25
  export declare function useSort<T>(initialState?: FilterSortField<T> | null): readonly [FilterSortField<T> | null, SortSetterFunction<T>];
26
+ /**
27
+ * Ordered list of active sort keys. The first entry is the primary sort key,
28
+ * the second is the tie-breaker, and so on. An empty array means "no sort".
29
+ */
30
+ export type MultiSortField<T> = ReadonlyArray<FilterSortField<T>>;
31
+ /** Resolved sort state for a single column inside a {@link MultiSortField}. */
32
+ export interface MultiSortFieldState {
33
+ /** Sort direction for this field, or `undefined` when the field is inactive. */
34
+ sort: SortType | undefined;
35
+ /**
36
+ * 1-based position of the field within the active sort keys, or `undefined`
37
+ * when the field is inactive. Use it to render a priority badge (1, 2, …).
38
+ */
39
+ priority: number | undefined;
40
+ }
41
+ export type MultiSortSetterFunction<T> = (field: T, startFromSort?: SortType) => void;
42
+ /**
43
+ * Resolve the direction and priority of a single field within a multi-sort.
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * const { sort, priority } = getSortForFields("type", state);
48
+ * <HeadCell sortDirection={sort} sortPriority={state.length > 1 ? priority : undefined} />
49
+ * ```
50
+ */
51
+ export declare const getSortForFields: <T>(field: T, state: MultiSortField<T> | null) => MultiSortFieldState;
52
+ /**
53
+ * Pure reducer behind {@link useMultiSort}. Each field cycles through three
54
+ * states on successive clicks: `startFromSort` → the opposite direction →
55
+ * removed. Clicking a brand-new field makes it the primary key (existing keys
56
+ * become tie-breakers) and the lowest-priority key is dropped once `maxFields`
57
+ * is reached.
58
+ */
59
+ export declare function nextMultiSortState<T>(prev: MultiSortField<T>, field: T, startFromSort?: SortType, maxFields?: number): MultiSortField<T>;
60
+ export interface UseMultiSortOptions {
61
+ /** Maximum number of simultaneously active sort keys. Defaults to `2`. */
62
+ maxFields?: number;
63
+ }
64
+ /**
65
+ * Hook for managing sort state across multiple fields (e.g. sort by `type`,
66
+ * then by `apy`). Mirrors {@link useSort} but keeps an ordered list of keys.
67
+ */
68
+ export declare function useMultiSort<T>(initialState?: MultiSortField<T> | null, { maxFields }?: UseMultiSortOptions): readonly [MultiSortField<T>, MultiSortSetterFunction<T>, {
69
+ readonly removeSortField: (field: T) => void;
70
+ readonly resetSort: () => void;
71
+ }];
26
72
  interface GeneralRangeFilterState {
27
73
  state: FilterRange | null;
28
74
  }
@@ -14,6 +14,7 @@ export * from './components/avatar';
14
14
  export * from './components/badge';
15
15
  export * from './components/base-link';
16
16
  export * from './components/block-sync';
17
+ export * from './components/block-sync-pill';
17
18
  export * from './components/breadcrumbs';
18
19
  export * from './components/button-checkbox';
19
20
  export * from './components/buttons';
@@ -142,6 +143,7 @@ export * from './configs/variants';
142
143
  export * from './hooks';
143
144
  export type { LocaleKeys } from './locale';
144
145
  export * from './locale';
146
+ export type { BlockSyncProps } from './types/footer';
145
147
  export { EnglishLocale };
146
148
  export * from './test-ids';
147
149
  export * from './utils';
@@ -18,6 +18,19 @@ declare const _default: {
18
18
  "components.footer.built": "Built at ETHGlobal MarketMake hackathon.",
19
19
  "components.footer.version": "Version {value}",
20
20
 
21
+ "components.blockSyncPill.syncError": ", sync error",
22
+ "components.blockSyncPill.syncedAt": ", synced at {time}",
23
+ "components.blockSyncPill.syncing": ", syncing…",
24
+
25
+ "components.creditAccountHistory.table.protocol": "Protocol",
26
+ "components.creditAccountHistory.table.operation": "Operation",
27
+ "components.creditAccountHistory.table.details": "Details",
28
+
29
+ "components.notificationCenter.empty": "No notifications yet",
30
+ "components.notificationCenter.requests": "Requests",
31
+ "components.notificationCenter.recent": "Recent",
32
+ "components.notificationCenter.clear": "Clear all",
33
+
21
34
  "components.liquidationPrice.check": "Check Area",
22
35
 
23
36
  "components.loading.loading": "Loading",
@@ -6,6 +6,7 @@
6
6
  * tests run outside a bundler.
7
7
  */
8
8
  export * from './currency-button';
9
+ export * from './notification-center';
9
10
  export * from './pool-credit-manager-info';
10
11
  export * from './pool-credit-managers-table';
11
12
  export * from './pool-table';
@@ -0,0 +1,13 @@
1
+ export declare const notificationCenterTestIds: {
2
+ readonly root: "notification-center-root";
3
+ readonly trigger: "notification-center-trigger";
4
+ readonly badge: "notification-center-badge";
5
+ readonly panel: "notification-center-panel";
6
+ readonly requestsSection: "notification-center-requests";
7
+ readonly requestRow: "notification-center-request-row";
8
+ readonly requestExecute: "notification-center-request-execute";
9
+ readonly successSection: "notification-center-success";
10
+ readonly successRow: "notification-center-success-row";
11
+ readonly empty: "notification-center-empty";
12
+ readonly clear: "notification-center-clear";
13
+ };
@@ -3,12 +3,22 @@
3
3
  */
4
4
  export interface LastSyncBlock {
5
5
  block: bigint;
6
+ /** Local wall-clock time (ms) of the last successful sync for this chain. */
6
7
  localTimestamp: number;
7
8
  }
9
+ /**
10
+ * Per-chain sync info: the last synced block plus the live refresh state, so the
11
+ * sync indicator can reflect whether the refresh loop is alive / failing.
12
+ */
13
+ export interface ChainSyncInfo {
14
+ lastSyncBlock: LastSyncBlock;
15
+ /** True while a refresh for this chain is currently in flight. */
16
+ loading?: boolean;
17
+ /** Human-readable error if the last refresh for this chain failed. */
18
+ error?: string;
19
+ }
8
20
  export interface BlockByChain {
9
- [chainId: number]: {
10
- lastSyncBlock: LastSyncBlock;
11
- } | undefined;
21
+ [chainId: number]: ChainSyncInfo | undefined;
12
22
  }
13
23
  export interface ExplorerInfo {
14
24
  url: string;
@@ -24,6 +34,17 @@ export interface BlockSyncProps {
24
34
  blockByChain: BlockByChain | undefined;
25
35
  explorerAddresses: ExplorerAddresses;
26
36
  networkById: NetworkById;
37
+ /**
38
+ * Expected refresh cadence in ms. The indicator is considered stale only after
39
+ * `syncIntervalMs * staleMultiplier`, so a healthy loop never flips to red.
40
+ * Defaults to 5 minutes.
41
+ */
42
+ syncIntervalMs?: number;
43
+ /**
44
+ * Stale-threshold multiplier applied to {@link BlockSyncProps.syncIntervalMs}.
45
+ * Defaults to 2.5 (allows for missed/throttled cycles before flagging stale).
46
+ */
47
+ staleMultiplier?: number;
27
48
  }
28
49
  export interface FooterProps {
29
50
  blockSyncProps?: BlockSyncProps;
package/package.json CHANGED
@@ -1,8 +1,11 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/ui-kit",
3
- "version": "3.14.0-next.6",
3
+ "version": "3.14.0-next.61",
4
4
  "description": "Internal UI components",
5
- "repository": "https://github.com/gearbox-protocol/ui-kit",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/Gearbox-protocol/ui-kit.git"
8
+ },
6
9
  "license": "MIT",
7
10
  "main": "./dist/cjs/index.cjs",
8
11
  "module": "./dist/esm/index.js",
@@ -100,7 +103,7 @@
100
103
  "@radix-ui/react-tooltip": "^1.1.6",
101
104
  "class-variance-authority": "^0.7.1",
102
105
  "clsx": "^2.1.1",
103
- "lightweight-charts": "^5.1.0",
106
+ "lightweight-charts": "^5.2.0",
104
107
  "luxon": "^3.5.0",
105
108
  "react-infinite-scroll-component": "^6.1.0",
106
109
  "react-markdown": "^10.1.0",
@@ -153,7 +156,7 @@
153
156
  "@commitlint/cli": "^20.1.0",
154
157
  "@commitlint/config-conventional": "^20.0.0",
155
158
  "@gearbox-protocol/biome-config": "^1.0.2",
156
- "@gearbox-protocol/sdk": "14.8.5",
159
+ "@gearbox-protocol/sdk": "14.11.0-next.9",
157
160
  "@rollup/plugin-typescript": "^12.3.0",
158
161
  "@storybook/addon-a11y": "^10.0.8",
159
162
  "@storybook/addon-docs": "^10.0.8",
@@ -72,6 +72,7 @@ html.dark {
72
72
  --success-hover: 136.58 100% 85.1%;
73
73
  --warning: 38 95% 45%;
74
74
  --liquidation: 274 67% 48%;
75
+ --liquidation-line: 38 92% 50%;
75
76
  --input: 225 10% 88%;
76
77
  --ring: 330 100% 50%;
77
78
  --radius: 0.75rem;
@@ -119,6 +120,7 @@ html.dark {
119
120
  --destructive-foreground: 0 0% 100%;
120
121
  --warning: 43.12 100% 68.63%;
121
122
  --liquidation: 277.22 74.53% 58.43%;
123
+ --liquidation-line: 38 92% 50%;
122
124
  --input: 225 6% 19%;
123
125
  --ring: 330 100% 59%;
124
126
  --gray-10: 225 5.26% 14.9%;
@@ -49,6 +49,7 @@
49
49
  --color-success-hover: hsl(var(--success-hover));
50
50
  --color-warning: hsl(var(--warning));
51
51
  --color-liquidation: hsl(var(--liquidation));
52
+ --color-liquidation-line: hsl(var(--liquidation-line));
52
53
  --color-border: hsl(var(--border));
53
54
  --color-input: hsl(var(--input));
54
55
  --color-ring: hsl(var(--ring));