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

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 (361) 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/components/AddressAvatar.cjs +1 -0
  31. package/dist/cjs/components/composites/tx-preview/components/AddressParty.cjs +1 -0
  32. package/dist/cjs/components/composites/tx-preview/components/AddressRow.cjs +1 -0
  33. package/dist/cjs/components/composites/tx-preview/components/AmountRow.cjs +1 -0
  34. package/dist/cjs/components/composites/tx-preview/components/CollapsibleCard.cjs +1 -0
  35. package/dist/cjs/components/composites/tx-preview/components/SectionDivider.cjs +1 -0
  36. package/dist/cjs/components/composites/tx-preview/components/TransferList.cjs +1 -0
  37. package/dist/cjs/components/composites/tx-preview/components/TransferRow.cjs +1 -0
  38. package/dist/cjs/components/composites/tx-preview/components/addressLabel.cjs +1 -0
  39. package/dist/cjs/components/composites/tx-preview/components/index.cjs +1 -0
  40. package/dist/cjs/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountField.cjs +1 -0
  41. package/dist/cjs/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountPair.cjs +1 -0
  42. package/dist/cjs/components/composites/tx-preview/confirm/amounts/constants.cjs +1 -0
  43. package/dist/cjs/components/composites/tx-preview/confirm/amounts/index.cjs +1 -0
  44. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmDialogView.cjs +1 -0
  45. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmPageView.cjs +1 -0
  46. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.cjs +1 -0
  47. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.constants.cjs +1 -0
  48. package/dist/cjs/components/composites/tx-preview/confirm/dialog/computeTransactionConfirmDialogLayout.cjs +1 -0
  49. package/dist/cjs/components/composites/tx-preview/confirm/dialog/constants.cjs +1 -0
  50. package/dist/cjs/components/composites/tx-preview/confirm/dialog/index.cjs +1 -0
  51. package/dist/cjs/components/composites/tx-preview/confirm/dialog/transactionConfirmPhase.cjs +1 -0
  52. package/dist/cjs/components/composites/tx-preview/confirm/dialog/useTransactionConfirmDialog.cjs +1 -0
  53. package/dist/cjs/components/composites/tx-preview/confirm/execution/TransactionConfirmExecuteButton.cjs +1 -0
  54. package/dist/cjs/components/composites/tx-preview/confirm/execution/index.cjs +1 -0
  55. package/dist/cjs/components/composites/tx-preview/confirm/index.cjs +1 -0
  56. package/dist/cjs/components/composites/tx-preview/confirm/preview/OperationPreviewContent.cjs +1 -0
  57. package/dist/cjs/components/composites/tx-preview/confirm/preview/index.cjs +1 -0
  58. package/dist/cjs/components/composites/tx-preview/confirm/result/TransactionConfirmFailureResult.cjs +1 -0
  59. package/dist/cjs/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessIcon.cjs +1 -0
  60. package/dist/cjs/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessResult.cjs +1 -0
  61. package/dist/cjs/components/composites/tx-preview/confirm/result/TransactionConfirmTxHashRow.cjs +1 -0
  62. package/dist/cjs/components/composites/tx-preview/confirm/result/constants.cjs +1 -0
  63. package/dist/cjs/components/composites/tx-preview/confirm/result/index.cjs +1 -0
  64. package/dist/cjs/components/composites/tx-preview/confirm/stepper/ProgressStepper.cjs +1 -0
  65. package/dist/cjs/components/composites/tx-preview/confirm/stepper/TransactionProgressStepper.cjs +1 -0
  66. package/dist/cjs/components/composites/tx-preview/confirm/stepper/constants.cjs +1 -0
  67. package/dist/cjs/components/composites/tx-preview/confirm/stepper/index.cjs +1 -0
  68. package/dist/cjs/components/composites/tx-preview/confirm/stepper/transactionExecutionStepTypes.cjs +1 -0
  69. package/dist/cjs/components/composites/tx-preview/confirm/summary/PoolOperationConfirmDetails.cjs +1 -0
  70. package/dist/cjs/components/composites/tx-preview/confirm/summary/constants.cjs +1 -0
  71. package/dist/cjs/components/composites/tx-preview/confirm/summary/index.cjs +1 -0
  72. package/dist/cjs/components/composites/tx-preview/index.cjs +1 -0
  73. package/dist/cjs/components/composites/tx-preview/operations/OperationBody.cjs +1 -0
  74. package/dist/cjs/components/composites/tx-preview/operations/OperationsCard.cjs +1 -0
  75. package/dist/cjs/components/composites/tx-preview/operations/PoolDepositView.cjs +1 -0
  76. package/dist/cjs/components/composites/tx-preview/operations/PoolRow.cjs +1 -0
  77. package/dist/cjs/components/composites/tx-preview/operations/PoolWithdrawView.cjs +1 -0
  78. package/dist/cjs/components/composites/tx-preview/operations/index.cjs +1 -0
  79. package/dist/cjs/components/composites/tx-preview/state-change/BalanceChangeGroup.cjs +1 -0
  80. package/dist/cjs/components/composites/tx-preview/state-change/BalanceChangeRow.cjs +1 -0
  81. package/dist/cjs/components/composites/tx-preview/state-change/PoolStateChangeCard.cjs +1 -0
  82. package/dist/cjs/components/composites/tx-preview/state-change/StateChangeCard.cjs +1 -0
  83. package/dist/cjs/components/composites/tx-preview/state-change/index.cjs +1 -0
  84. package/dist/cjs/components/composites/tx-preview/types.cjs +1 -0
  85. package/dist/cjs/components/composites/tx-preview/utils/addressLabels.cjs +1 -0
  86. package/dist/cjs/components/composites/tx-preview/utils/index.cjs +1 -0
  87. package/dist/cjs/components/composites/tx-preview/utils/poolTokenInfo.cjs +1 -0
  88. package/dist/cjs/components/compound-apy/compound-apy.cjs +1 -1
  89. package/dist/cjs/components/confirm-menu/confirm-menu.cjs +1 -1
  90. package/dist/cjs/components/detailed-page-title/detailed-page-title.cjs +1 -1
  91. package/dist/cjs/components/graph/formatters.cjs +1 -1
  92. package/dist/cjs/components/graph/graph.cjs +1 -1
  93. package/dist/cjs/components/graph/index.cjs +1 -1
  94. package/dist/cjs/components/health-factor/health-factor.cjs +1 -1
  95. package/dist/cjs/components/index.cjs +1 -1
  96. package/dist/cjs/components/layout/app-footer/app-footer.cjs +1 -0
  97. package/dist/cjs/components/layout/app-footer/index.cjs +1 -0
  98. package/dist/cjs/components/layout/app-header/app-header.cjs +1 -0
  99. package/dist/cjs/components/layout/app-header/index.cjs +1 -0
  100. package/dist/cjs/components/layout/index.cjs +1 -1
  101. package/dist/cjs/components/layout/main-aside-layout/main-aside-layout.cjs +1 -1
  102. package/dist/cjs/components/legal-agreement/index.cjs +1 -1
  103. package/dist/cjs/components/legal-agreement/legal-agreement-awaiting-panel.cjs +1 -0
  104. package/dist/cjs/components/legal-agreement/legal-agreement-dialog.cjs +1 -1
  105. package/dist/cjs/components/legal-agreement/legal-agreement-link.cjs +1 -0
  106. package/dist/cjs/components/legal-agreement/legal-agreement-panel.cjs +1 -0
  107. package/dist/cjs/components/legal-agreement/legal-agreement-theme.cjs +1 -0
  108. package/dist/cjs/components/legal-agreement/legal-agreement.stories-config.cjs +1 -0
  109. package/dist/cjs/components/link/link.cjs +1 -1
  110. package/dist/cjs/components/loader-guard/loader-guard.cjs +1 -1
  111. package/dist/cjs/components/markdown-viewer/markdown-viewer.cjs +1 -1
  112. package/dist/cjs/components/segmented-control/segmented-control.cjs +1 -1
  113. package/dist/cjs/components/smart-number-input/smart-number-input.cjs +1 -1
  114. package/dist/cjs/components/tab-control/tab-control.cjs +1 -1
  115. package/dist/cjs/components/time-to-liquidation/time-to-liquidation.cjs +1 -1
  116. package/dist/cjs/components/token-template/token-template.cjs +1 -1
  117. package/dist/cjs/components/tokens-list-cell/tokens-list-cell.cjs +1 -1
  118. package/dist/cjs/components/trading-view/trading-view.cjs +1 -1
  119. package/dist/cjs/components/vertical-indicator/vertical-indicator.cjs +1 -1
  120. package/dist/cjs/components/with-copy/with-copy.cjs +1 -1
  121. package/dist/cjs/configs/tailwind-preset.cjs +1 -1
  122. package/dist/cjs/hooks/index.cjs +1 -1
  123. package/dist/cjs/hooks/use-filter.cjs +1 -1
  124. package/dist/cjs/index.cjs +1 -1
  125. package/dist/cjs/locale/en.json.cjs +1 -1
  126. package/dist/cjs/test-ids/index.cjs +1 -1
  127. package/dist/cjs/test-ids/notification-center.cjs +1 -0
  128. package/dist/esm/components/alert-badge/alert-badge.js +12 -10
  129. package/dist/esm/components/app-bar/app-bar.js +1 -1
  130. package/dist/esm/components/apy/apy.js +9 -9
  131. package/dist/esm/components/assets-list-cell/assets-list-cell.js +9 -5
  132. package/dist/esm/components/block-sync/block-sync.js +9 -5
  133. package/dist/esm/components/block-sync-pill/block-sync-pill.js +241 -0
  134. package/dist/esm/components/block-sync-pill/block-sync-status.js +12 -0
  135. package/dist/esm/components/block-sync-pill/index.js +4 -0
  136. package/dist/esm/components/buttons/button/button.js +1 -0
  137. package/dist/esm/components/checkbox/checkbox-labeled.js +7 -3
  138. package/dist/esm/components/client-adapters/styled-button/styled-button.js +11 -11
  139. package/dist/esm/components/client-adapters/styled-rounded-image/styled-rounded-image.js +7 -3
  140. package/dist/esm/components/complex-input/complex-input.js +9 -5
  141. package/dist/esm/components/composites/credit-account-history/body.js +73 -0
  142. package/dist/esm/components/composites/credit-account-history/cells/details.js +22 -0
  143. package/dist/esm/components/composites/credit-account-history/cells/hash.js +24 -0
  144. package/dist/esm/components/composites/credit-account-history/cells/index.js +10 -0
  145. package/dist/esm/components/composites/credit-account-history/cells/protocol.js +25 -0
  146. package/dist/esm/components/composites/credit-account-history/cells/token-list.js +43 -0
  147. package/dist/esm/components/composites/credit-account-history/credit-account-history.js +46 -0
  148. package/dist/esm/components/composites/credit-account-history/index.js +8 -0
  149. package/dist/esm/components/composites/credit-account-history/line.js +125 -0
  150. package/dist/esm/components/composites/credit-account-history/types.js +9 -0
  151. package/dist/esm/components/composites/index.js +87 -79
  152. package/dist/esm/components/composites/notification-center/index.js +4 -0
  153. package/dist/esm/components/composites/notification-center/notification-center.js +208 -0
  154. package/dist/esm/components/composites/notification-center/types.js +1 -0
  155. package/dist/esm/components/composites/pool-table/columns.js +49 -45
  156. package/dist/esm/components/composites/tx-preview/components/AddressAvatar.js +47 -0
  157. package/dist/esm/components/composites/tx-preview/components/AddressParty.js +17 -0
  158. package/dist/esm/components/composites/tx-preview/components/AddressRow.js +16 -0
  159. package/dist/esm/components/composites/tx-preview/components/AmountRow.js +30 -0
  160. package/dist/esm/components/composites/tx-preview/components/CollapsibleCard.js +45 -0
  161. package/dist/esm/components/composites/tx-preview/components/SectionDivider.js +12 -0
  162. package/dist/esm/components/composites/tx-preview/components/TransferList.js +25 -0
  163. package/dist/esm/components/composites/tx-preview/components/TransferRow.js +52 -0
  164. package/dist/esm/components/composites/tx-preview/components/addressLabel.js +7 -0
  165. package/dist/esm/components/composites/tx-preview/components/index.js +20 -0
  166. package/dist/esm/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountField.js +233 -0
  167. package/dist/esm/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountPair.js +63 -0
  168. package/dist/esm/components/composites/tx-preview/confirm/amounts/constants.js +10 -0
  169. package/dist/esm/components/composites/tx-preview/confirm/amounts/index.js +9 -0
  170. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmDialogView.js +50 -0
  171. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmPageView.js +70 -0
  172. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.constants.js +6 -0
  173. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.js +93 -0
  174. package/dist/esm/components/composites/tx-preview/confirm/dialog/computeTransactionConfirmDialogLayout.js +35 -0
  175. package/dist/esm/components/composites/tx-preview/confirm/dialog/constants.js +23 -0
  176. package/dist/esm/components/composites/tx-preview/confirm/dialog/index.js +20 -0
  177. package/dist/esm/components/composites/tx-preview/confirm/dialog/transactionConfirmPhase.js +1 -0
  178. package/dist/esm/components/composites/tx-preview/confirm/dialog/useTransactionConfirmDialog.js +20 -0
  179. package/dist/esm/components/composites/tx-preview/confirm/execution/TransactionConfirmExecuteButton.js +30 -0
  180. package/dist/esm/components/composites/tx-preview/confirm/execution/index.js +4 -0
  181. package/dist/esm/components/composites/tx-preview/confirm/index.js +57 -0
  182. package/dist/esm/components/composites/tx-preview/confirm/preview/OperationPreviewContent.js +195 -0
  183. package/dist/esm/components/composites/tx-preview/confirm/preview/index.js +4 -0
  184. package/dist/esm/components/composites/tx-preview/confirm/result/TransactionConfirmFailureResult.js +55 -0
  185. package/dist/esm/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessIcon.js +25 -0
  186. package/dist/esm/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessResult.js +60 -0
  187. package/dist/esm/components/composites/tx-preview/confirm/result/TransactionConfirmTxHashRow.js +21 -0
  188. package/dist/esm/components/composites/tx-preview/confirm/result/constants.js +24 -0
  189. package/dist/esm/components/composites/tx-preview/confirm/result/index.js +15 -0
  190. package/dist/esm/components/composites/tx-preview/confirm/stepper/ProgressStepper.js +100 -0
  191. package/dist/esm/components/composites/tx-preview/confirm/stepper/TransactionProgressStepper.js +67 -0
  192. package/dist/esm/components/composites/tx-preview/confirm/stepper/constants.js +10 -0
  193. package/dist/esm/components/composites/tx-preview/confirm/stepper/index.js +11 -0
  194. package/dist/esm/components/composites/tx-preview/confirm/stepper/transactionExecutionStepTypes.js +6 -0
  195. package/dist/esm/components/composites/tx-preview/confirm/summary/PoolOperationConfirmDetails.js +65 -0
  196. package/dist/esm/components/composites/tx-preview/confirm/summary/constants.js +6 -0
  197. package/dist/esm/components/composites/tx-preview/confirm/summary/index.js +6 -0
  198. package/dist/esm/components/composites/tx-preview/index.js +98 -0
  199. package/dist/esm/components/composites/tx-preview/operations/OperationBody.js +10 -0
  200. package/dist/esm/components/composites/tx-preview/operations/OperationsCard.js +195 -0
  201. package/dist/esm/components/composites/tx-preview/operations/PoolDepositView.js +204 -0
  202. package/dist/esm/components/composites/tx-preview/operations/PoolRow.js +20 -0
  203. package/dist/esm/components/composites/tx-preview/operations/PoolWithdrawView.js +198 -0
  204. package/dist/esm/components/composites/tx-preview/operations/index.js +13 -0
  205. package/dist/esm/components/composites/tx-preview/state-change/BalanceChangeGroup.js +185 -0
  206. package/dist/esm/components/composites/tx-preview/state-change/BalanceChangeRow.js +61 -0
  207. package/dist/esm/components/composites/tx-preview/state-change/PoolStateChangeCard.js +23 -0
  208. package/dist/esm/components/composites/tx-preview/state-change/StateChangeCard.js +200 -0
  209. package/dist/esm/components/composites/tx-preview/state-change/index.js +10 -0
  210. package/dist/esm/components/composites/tx-preview/types.js +1 -0
  211. package/dist/esm/components/composites/tx-preview/utils/addressLabels.js +41 -0
  212. package/dist/esm/components/composites/tx-preview/utils/index.js +6 -0
  213. package/dist/esm/components/composites/tx-preview/utils/poolTokenInfo.js +12 -0
  214. package/dist/esm/components/compound-apy/compound-apy.js +9 -5
  215. package/dist/esm/components/confirm-menu/confirm-menu.js +28 -25
  216. package/dist/esm/components/detailed-page-title/detailed-page-title.js +7 -3
  217. package/dist/esm/components/graph/formatters.js +128 -132
  218. package/dist/esm/components/graph/graph.js +744 -389
  219. package/dist/esm/components/graph/index.js +26 -24
  220. package/dist/esm/components/health-factor/health-factor.js +27 -26
  221. package/dist/esm/components/index.js +750 -717
  222. package/dist/esm/components/layout/app-footer/app-footer.js +54 -0
  223. package/dist/esm/components/layout/app-footer/index.js +5 -0
  224. package/dist/esm/components/layout/app-header/app-header.js +100 -0
  225. package/dist/esm/components/layout/app-header/index.js +4 -0
  226. package/dist/esm/components/layout/index.js +32 -27
  227. package/dist/esm/components/layout/main-aside-layout/main-aside-layout.js +107 -58
  228. package/dist/esm/components/legal-agreement/index.js +23 -7
  229. package/dist/esm/components/legal-agreement/legal-agreement-awaiting-panel.js +29 -0
  230. package/dist/esm/components/legal-agreement/legal-agreement-dialog.js +72 -212
  231. package/dist/esm/components/legal-agreement/legal-agreement-link.js +22 -0
  232. package/dist/esm/components/legal-agreement/legal-agreement-panel.js +130 -0
  233. package/dist/esm/components/legal-agreement/legal-agreement-theme.js +137 -0
  234. package/dist/esm/components/legal-agreement/legal-agreement.stories-config.js +170 -0
  235. package/dist/esm/components/link/link.js +42 -35
  236. package/dist/esm/components/loader-guard/loader-guard.js +7 -5
  237. package/dist/esm/components/markdown-viewer/markdown-viewer.js +9 -5
  238. package/dist/esm/components/segmented-control/segmented-control.js +21 -21
  239. package/dist/esm/components/smart-number-input/smart-number-input.js +33 -29
  240. package/dist/esm/components/tab-control/tab-control.js +1 -1
  241. package/dist/esm/components/time-to-liquidation/time-to-liquidation.js +7 -3
  242. package/dist/esm/components/token-template/token-template.js +17 -17
  243. package/dist/esm/components/tokens-list-cell/tokens-list-cell.js +9 -5
  244. package/dist/esm/components/trading-view/trading-view.js +164 -147
  245. package/dist/esm/components/vertical-indicator/vertical-indicator.js +39 -33
  246. package/dist/esm/components/with-copy/with-copy.js +9 -5
  247. package/dist/esm/configs/tailwind-preset.js +1 -0
  248. package/dist/esm/hooks/index.js +50 -47
  249. package/dist/esm/hooks/use-filter.js +63 -29
  250. package/dist/esm/index.js +932 -894
  251. package/dist/esm/locale/en.json.js +10 -0
  252. package/dist/esm/test-ids/index.js +14 -12
  253. package/dist/esm/test-ids/notification-center.js +16 -0
  254. package/dist/globals.css +1 -1
  255. package/dist/types/components/alert-badge/alert-badge.d.ts +1 -1
  256. package/dist/types/components/block-sync-pill/block-sync-pill.d.ts +35 -0
  257. package/dist/types/components/block-sync-pill/block-sync-status.d.ts +29 -0
  258. package/dist/types/components/block-sync-pill/index.d.ts +1 -0
  259. package/dist/types/components/buttons/button/button.d.ts +4 -3
  260. package/dist/types/components/composites/credit-account-history/body.d.ts +14 -0
  261. package/dist/types/components/composites/credit-account-history/cells/details.d.ts +9 -0
  262. package/dist/types/components/composites/credit-account-history/cells/hash.d.ts +6 -0
  263. package/dist/types/components/composites/credit-account-history/cells/index.d.ts +4 -0
  264. package/dist/types/components/composites/credit-account-history/cells/protocol.d.ts +7 -0
  265. package/dist/types/components/composites/credit-account-history/cells/token-list.d.ts +9 -0
  266. package/dist/types/components/composites/credit-account-history/credit-account-history.d.ts +15 -0
  267. package/dist/types/components/composites/credit-account-history/index.d.ts +2 -0
  268. package/dist/types/components/composites/credit-account-history/line.d.ts +18 -0
  269. package/dist/types/components/composites/credit-account-history/types.d.ts +36 -0
  270. package/dist/types/components/composites/index.d.ts +2 -0
  271. package/dist/types/components/composites/notification-center/index.d.ts +2 -0
  272. package/dist/types/components/composites/notification-center/notification-center.d.ts +9 -0
  273. package/dist/types/components/composites/notification-center/types.d.ts +31 -0
  274. package/dist/types/components/composites/tx-preview/components/AddressAvatar.d.ts +12 -0
  275. package/dist/types/components/composites/tx-preview/components/AddressParty.d.ts +14 -0
  276. package/dist/types/components/composites/tx-preview/components/AddressRow.d.ts +7 -0
  277. package/dist/types/components/composites/tx-preview/components/AmountRow.d.ts +15 -0
  278. package/dist/types/components/composites/tx-preview/components/CollapsibleCard.d.ts +22 -0
  279. package/dist/types/components/composites/tx-preview/components/SectionDivider.d.ts +10 -0
  280. package/dist/types/components/composites/tx-preview/components/TransferList.d.ts +19 -0
  281. package/dist/types/components/composites/tx-preview/components/TransferRow.d.ts +30 -0
  282. package/dist/types/components/composites/tx-preview/components/addressLabel.d.ts +27 -0
  283. package/dist/types/components/composites/tx-preview/components/index.d.ts +9 -0
  284. package/dist/types/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountField.d.ts +29 -0
  285. package/dist/types/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountPair.d.ts +16 -0
  286. package/dist/types/components/composites/tx-preview/confirm/amounts/constants.d.ts +6 -0
  287. package/dist/types/components/composites/tx-preview/confirm/amounts/index.d.ts +3 -0
  288. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmDialogView.d.ts +24 -0
  289. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmPageView.d.ts +23 -0
  290. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.constants.d.ts +3 -0
  291. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.d.ts +19 -0
  292. package/dist/types/components/composites/tx-preview/confirm/dialog/computeTransactionConfirmDialogLayout.d.ts +8 -0
  293. package/dist/types/components/composites/tx-preview/confirm/dialog/constants.d.ts +17 -0
  294. package/dist/types/components/composites/tx-preview/confirm/dialog/index.d.ts +8 -0
  295. package/dist/types/components/composites/tx-preview/confirm/dialog/transactionConfirmPhase.d.ts +4 -0
  296. package/dist/types/components/composites/tx-preview/confirm/dialog/useTransactionConfirmDialog.d.ts +8 -0
  297. package/dist/types/components/composites/tx-preview/confirm/execution/TransactionConfirmExecuteButton.d.ts +6 -0
  298. package/dist/types/components/composites/tx-preview/confirm/execution/index.d.ts +1 -0
  299. package/dist/types/components/composites/tx-preview/confirm/index.d.ts +7 -0
  300. package/dist/types/components/composites/tx-preview/confirm/preview/OperationPreviewContent.d.ts +12 -0
  301. package/dist/types/components/composites/tx-preview/confirm/preview/index.d.ts +1 -0
  302. package/dist/types/components/composites/tx-preview/confirm/result/TransactionConfirmFailureResult.d.ts +8 -0
  303. package/dist/types/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessIcon.d.ts +2 -0
  304. package/dist/types/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessResult.d.ts +8 -0
  305. package/dist/types/components/composites/tx-preview/confirm/result/TransactionConfirmTxHashRow.d.ts +6 -0
  306. package/dist/types/components/composites/tx-preview/confirm/result/constants.d.ts +18 -0
  307. package/dist/types/components/composites/tx-preview/confirm/result/index.d.ts +5 -0
  308. package/dist/types/components/composites/tx-preview/confirm/stepper/ProgressStepper.d.ts +29 -0
  309. package/dist/types/components/composites/tx-preview/confirm/stepper/TransactionProgressStepper.d.ts +7 -0
  310. package/dist/types/components/composites/tx-preview/confirm/stepper/constants.d.ts +6 -0
  311. package/dist/types/components/composites/tx-preview/confirm/stepper/index.d.ts +4 -0
  312. package/dist/types/components/composites/tx-preview/confirm/stepper/transactionExecutionStepTypes.d.ts +10 -0
  313. package/dist/types/components/composites/tx-preview/confirm/summary/PoolOperationConfirmDetails.d.ts +15 -0
  314. package/dist/types/components/composites/tx-preview/confirm/summary/constants.d.ts +3 -0
  315. package/dist/types/components/composites/tx-preview/confirm/summary/index.d.ts +2 -0
  316. package/dist/types/components/composites/tx-preview/index.d.ts +17 -0
  317. package/dist/types/components/composites/tx-preview/operations/OperationBody.d.ts +15 -0
  318. package/dist/types/components/composites/tx-preview/operations/OperationsCard.d.ts +21 -0
  319. package/dist/types/components/composites/tx-preview/operations/PoolDepositView.d.ts +11 -0
  320. package/dist/types/components/composites/tx-preview/operations/PoolRow.d.ts +8 -0
  321. package/dist/types/components/composites/tx-preview/operations/PoolWithdrawView.d.ts +11 -0
  322. package/dist/types/components/composites/tx-preview/operations/index.d.ts +5 -0
  323. package/dist/types/components/composites/tx-preview/state-change/BalanceChangeGroup.d.ts +11 -0
  324. package/dist/types/components/composites/tx-preview/state-change/BalanceChangeRow.d.ts +14 -0
  325. package/dist/types/components/composites/tx-preview/state-change/PoolStateChangeCard.d.ts +18 -0
  326. package/dist/types/components/composites/tx-preview/state-change/StateChangeCard.d.ts +21 -0
  327. package/dist/types/components/composites/tx-preview/state-change/index.d.ts +4 -0
  328. package/dist/types/components/composites/tx-preview/types.d.ts +19 -0
  329. package/dist/types/components/composites/tx-preview/utils/addressLabels.d.ts +16 -0
  330. package/dist/types/components/composites/tx-preview/utils/index.d.ts +2 -0
  331. package/dist/types/components/composites/tx-preview/utils/poolTokenInfo.d.ts +14 -0
  332. package/dist/types/components/confirm-menu/confirm-menu.d.ts +4 -2
  333. package/dist/types/components/graph/graph.d.ts +112 -2
  334. package/dist/types/components/graph/index.d.ts +1 -1
  335. package/dist/types/components/health-factor/health-factor.d.ts +6 -3
  336. package/dist/types/components/index.d.ts +1 -0
  337. package/dist/types/components/layout/app-footer/app-footer.d.ts +62 -0
  338. package/dist/types/components/layout/app-footer/index.d.ts +1 -0
  339. package/dist/types/components/layout/app-header/app-header.d.ts +67 -0
  340. package/dist/types/components/layout/app-header/index.d.ts +1 -0
  341. package/dist/types/components/layout/index.d.ts +2 -0
  342. package/dist/types/components/layout/main-aside-layout/main-aside-layout.d.ts +42 -0
  343. package/dist/types/components/legal-agreement/index.d.ts +5 -1
  344. package/dist/types/components/legal-agreement/legal-agreement-awaiting-panel.d.ts +10 -0
  345. package/dist/types/components/legal-agreement/legal-agreement-dialog.d.ts +19 -52
  346. package/dist/types/components/legal-agreement/legal-agreement-link.d.ts +11 -0
  347. package/dist/types/components/legal-agreement/legal-agreement-panel.d.ts +16 -0
  348. package/dist/types/components/legal-agreement/legal-agreement-theme.d.ts +36 -0
  349. package/dist/types/components/legal-agreement/legal-agreement.stories-config.d.ts +11 -0
  350. package/dist/types/components/trading-view/trading-view.d.ts +15 -1
  351. package/dist/types/components/vertical-indicator/vertical-indicator.d.ts +6 -0
  352. package/dist/types/configs/tailwind-preset.d.ts +1 -0
  353. package/dist/types/hooks/use-filter.d.ts +46 -0
  354. package/dist/types/index.d.ts +2 -0
  355. package/dist/types/locale/en.json.d.ts +13 -0
  356. package/dist/types/test-ids/index.d.ts +1 -0
  357. package/dist/types/test-ids/notification-center.d.ts +13 -0
  358. package/dist/types/types/footer.d.ts +24 -3
  359. package/package.json +17 -4
  360. package/src/styles/base.css +2 -0
  361. package/src/styles/theme.css +1 -0
@@ -1,7 +1,9 @@
1
- import { ChartOptions, DeepPartial, Time } from 'lightweight-charts';
1
+ import { ChartOptions, DeepPartial, LineStyle, LineWidth, Time, LineStyle as LineStyleEnum } from 'lightweight-charts';
2
2
  import { Point, YMeasureUnits } from './formatters';
3
3
  import { GraphTooltipProps } from './graph-tooltip';
4
4
  import * as React from "react";
5
+ export type SeriesPriceScaleId = "left" | "right";
6
+ export type SeriesChartType = "area" | "line";
5
7
  export interface SeriesConfig {
6
8
  data: Array<Point>;
7
9
  label: string;
@@ -14,6 +16,12 @@ export interface SeriesConfig {
14
16
  /** Lower gradient of the area fill */
15
17
  bottomColor?: string;
16
18
  yMeasureUnit?: YMeasureUnits;
19
+ /** Price scale when `dualYAxis` is enabled on Graph. */
20
+ priceScaleId?: SeriesPriceScaleId;
21
+ /** Render as line (no fill) instead of area. */
22
+ seriesType?: SeriesChartType;
23
+ /** Line dash style (line series only). */
24
+ lineStyle?: LineStyle;
17
25
  }
18
26
  export type VerticalLineOptions = Partial<{
19
27
  color: string;
@@ -23,7 +31,56 @@ export type VerticalLineOptions = Partial<{
23
31
  labelBackgroundColor: string;
24
32
  labelTextColor: string;
25
33
  showLabel: boolean;
34
+ /**
35
+ * Text shown only on hover of the line's badge (not rendered inline). Use it
36
+ * for a longer explanation while the badge itself shows just the value.
37
+ */
38
+ tooltipText: string;
26
39
  }>;
40
+ /**
41
+ * Horizontal reference line drawn at a fixed Y (price) value, e.g. a
42
+ * liquidation price level. Rendered as a native lightweight-charts price line
43
+ * attached to a series, so it tracks the series' price scale and does not
44
+ * affect autoscale or tooltips.
45
+ */
46
+ export interface PriceLineConfig {
47
+ /** Y value (price) where the horizontal line is drawn. */
48
+ price: number;
49
+ /**
50
+ * Label of the series to attach the line to. When omitted, the line is
51
+ * attached to the first series that has data (its price scale is used).
52
+ */
53
+ seriesLabel?: string;
54
+ /** Line color. Defaults to the destructive theme color. */
55
+ color?: string;
56
+ /** Text shown next to the line on the price axis. */
57
+ title?: string;
58
+ /** Line thickness (1–4). Default 1. */
59
+ lineWidth?: LineWidth;
60
+ /** Line dash style. Default dashed. */
61
+ lineStyle?: LineStyleEnum;
62
+ /** Whether to render the value label on the price axis. Default true. */
63
+ axisLabelVisible?: boolean;
64
+ }
65
+ /**
66
+ * Shaded horizontal band drawn between two Y (price) values across the full
67
+ * width of the chart — e.g. a liquidation "danger zone" below a health-factor
68
+ * threshold. Rendered behind the series as a lightweight-charts primitive, so
69
+ * it tracks the series' price scale and does not affect tooltips.
70
+ */
71
+ export interface PriceZoneConfig {
72
+ /** Upper price bound. Omit to extend the band to the top of the pane. */
73
+ priceTop?: number;
74
+ /** Lower price bound. Omit to extend the band to the bottom of the pane. */
75
+ priceBottom?: number;
76
+ /** Fill color — use a translucent value. Defaults to a translucent destructive tint. */
77
+ color?: string;
78
+ /**
79
+ * Label of the series whose price scale the band is drawn against. When
80
+ * omitted, the first series with data is used.
81
+ */
82
+ seriesLabel?: string;
83
+ }
27
84
  /**
28
85
  * Returns formatted label and value strings for a vertical line tooltip.
29
86
  * Used by Graph and by tests.
@@ -32,6 +89,19 @@ export declare function getVerticalLineTooltipContent(opts: VerticalLineOptions,
32
89
  labelText: string;
33
90
  valueStr: string;
34
91
  };
92
+ /** Gap (px) kept between a vertical-line badge and the chart edge. */
93
+ export declare const VERTICAL_LINE_LABEL_EDGE_PADDING = 4;
94
+ /**
95
+ * Positions a vertical-line badge so it stays centered on its line while never
96
+ * overflowing the chart. When the badge would clip an edge it is nudged inward
97
+ * just enough to fit — it keeps `translateX(-50%)` so it stays visually anchored
98
+ * to the line instead of flipping fully to one side (which looks detached and
99
+ * crowds neighboring badges).
100
+ *
101
+ * `labelWidth` is the measured badge width; until it is known the badge is
102
+ * simply centered on the line.
103
+ */
104
+ export declare function getVerticalLineLabelStyle(x: number, containerWidth: number, labelWidth?: number): Pick<React.CSSProperties, "left" | "transform">;
35
105
  /**
36
106
  * Step-forward interpolation: find the last data point with
37
107
  * `time <= crosshairTime` and return its value.
@@ -70,6 +140,17 @@ export interface GraphProps {
70
140
  xCoordinate: Time;
71
141
  options?: VerticalLineOptions;
72
142
  }>;
143
+ /**
144
+ * Horizontal reference lines drawn at fixed Y (price) values, e.g. a
145
+ * liquidation price level. Each line is attached to a series' price scale.
146
+ */
147
+ priceLineOptions?: Array<PriceLineConfig>;
148
+ /**
149
+ * Shaded horizontal bands (e.g. a liquidation danger zone) drawn behind the
150
+ * series. Each zone is attached to a series' price scale; finite bounds are
151
+ * included in the Y autoscale so the band stays visible.
152
+ */
153
+ zoneOptions?: Array<PriceZoneConfig>;
73
154
  /**
74
155
  * Number of decimal places for current value display.
75
156
  * If 0, rounds to whole numbers. Default is 4.
@@ -82,6 +163,17 @@ export interface GraphProps {
82
163
  * own scale and fills the chart independently.
83
164
  */
84
165
  useSharedPriceScale?: boolean;
166
+ /**
167
+ * When true, renders left and right Y axes using each series'
168
+ * `priceScaleId` ("left" | "right"). Ignores per-series hidden scales.
169
+ */
170
+ dualYAxis?: boolean;
171
+ /** Preferred default price scale when both left and right are visible. */
172
+ defaultVisiblePriceScaleId?: SeriesPriceScaleId;
173
+ /** Optional label for the left Y axis (dualYAxis mode). */
174
+ leftPriceScaleTitle?: string;
175
+ /** Optional label for the right Y axis (dualYAxis mode). */
176
+ rightPriceScaleTitle?: string;
85
177
  /**
86
178
  * When true (default), shows the current value and date in the top-left corner
87
179
  * in single-series mode. Set to false to hide.
@@ -115,10 +207,28 @@ export interface GraphProps {
115
207
  * axis drag-to-scale, axis double-click reset, and scroll/drag panning.
116
208
  */
117
209
  disableZoom?: boolean;
210
+ /**
211
+ * When true, the floating value tooltip is not pinned to the latest data
212
+ * point by default in multi-scale (separate Y axes) mode. The tooltip still
213
+ * appears while hovering the chart. Has no effect in single/shared-scale
214
+ * mode, where the default tooltip is already hidden.
215
+ */
216
+ hideDefaultTooltip?: boolean;
118
217
  }
119
218
  /**
120
219
  * Graph component that renders a chart using lightweight-charts library
121
220
  * with support for area series, custom tooltips, and vertical line annotations
122
221
  * Supports single or multiple series with different colors and legends
123
222
  */
124
- export declare function Graph({ series, className, showLegend, onUnselectSeries, xMeasureUnit, yMeasureUnit, optionsOverrides, verticalLineOptions, currentValueDecimals, useSharedPriceScale, showCurrentValue, graphTitle, yScaleMin, yScaleMinMultiple, visibleTimeFrom, disableZoom, }: GraphProps): React.ReactElement;
223
+ export declare function Graph({ series, className, showLegend, onUnselectSeries, xMeasureUnit, yMeasureUnit, optionsOverrides, verticalLineOptions, priceLineOptions, zoneOptions, currentValueDecimals, useSharedPriceScale, dualYAxis, defaultVisiblePriceScaleId, leftPriceScaleTitle, rightPriceScaleTitle: _rightPriceScaleTitle, showCurrentValue, graphTitle, yScaleMin, yScaleMinMultiple, visibleTimeFrom, disableZoom, hideDefaultTooltip, }: GraphProps): React.ReactElement;
224
+ export interface GraphLegendProps {
225
+ series: Array<SeriesConfig>;
226
+ onUnselect?: (label: string) => void;
227
+ /**
228
+ * When true, the legend is laid out inline (no absolute positioning) so it
229
+ * can be placed in a toolbar/header slot. When false (default), it overlays
230
+ * the top-left corner of the chart.
231
+ */
232
+ inline?: boolean;
233
+ }
234
+ export declare function GraphLegend({ series, onUnselect, inline, }: GraphLegendProps): React.ReactElement;
@@ -1,6 +1,6 @@
1
1
  export * from './default-config';
2
2
  export { getXFormatter, getXFormatters, getYFormatter, type Point as GraphPoint, type XFormatters, type XMeasureUnits, type YMeasureUnits, } from './formatters';
3
- export { DEFAULT_SERIES_COLORS, Graph, type GraphProps, getSeriesColorPalette, getVerticalLineTooltipContent, type SeriesColorPalette, type SeriesConfig, type VerticalLineOptions, } from './graph';
3
+ export { DEFAULT_SERIES_COLORS, Graph, GraphLegend, type GraphLegendProps, type GraphProps, getSeriesColorPalette, getVerticalLineLabelStyle, getVerticalLineTooltipContent, type PriceLineConfig, type PriceZoneConfig, type SeriesColorPalette, type SeriesConfig, type VerticalLineOptions, } from './graph';
4
4
  export * from './graph-current-value';
5
5
  export * from './graph-tooltip';
6
6
  export * from './graph-view';
@@ -18,21 +18,24 @@ export interface HealthFactorProps extends React.HTMLAttributes<HTMLSpanElement>
18
18
  /** Pre-computed zone; if not set, derived from value. */
19
19
  zone?: HFZones | null;
20
20
  /**
21
- * How to indicate zone: "color" (text color only) or "bars" (StatusBars before value).
21
+ * How to indicate zone: "color" (text color only), "bars" (StatusBars before value),
22
+ * or "dot" (HealthDot after value, text stays default color).
22
23
  * @default "color"
23
24
  */
24
- zoneType?: "color" | "bars";
25
+ zoneType?: "color" | "bars" | "dot";
25
26
  }
26
27
  /**
27
28
  * HealthFactor — displays health factor value with optional zone color or StatusBars.
28
29
  *
29
30
  * @usage
30
31
  * Use for account/collateral health: value in basis points, zero debt shows "N/A".
31
- * zoneType "color" colors the text; zoneType "bars" shows StatusBars (and optional color).
32
+ * zoneType "color" colors the text; zoneType "bars" shows StatusBars;
33
+ * zoneType "dot" shows a HealthDot dot after the value while keeping text default color.
32
34
  *
33
35
  * @example
34
36
  * ```tsx
35
37
  * <HealthFactor value={15000} debt={1000000n} />
38
+ * <HealthFactor value={15000} debt={1000000n} zoneType="dot" zone="good" />
36
39
  * <HealthFactor value={12000} debt={1000000n} zoneType="bars" zone="medium" />
37
40
  * <HealthFactor value={15000} debt={0n} /> // "N/A"
38
41
  * ```
@@ -13,6 +13,7 @@ export * from './avatar';
13
13
  export * from './badge';
14
14
  export * from './base-link';
15
15
  export * from './block-sync';
16
+ export * from './block-sync-pill';
16
17
  export * from './breadcrumbs';
17
18
  export * from './button-checkbox';
18
19
  export * from './buttons';
@@ -0,0 +1,62 @@
1
+ import { BlockSyncProps } from '../../../types/footer';
2
+ import * as React from "react";
3
+ /**
4
+ * A single legal/navigation link rendered in {@link AppFooter}.
5
+ */
6
+ export interface AppFooterLink {
7
+ label: string;
8
+ href: string;
9
+ }
10
+ /**
11
+ * Default footer links used by the Gearbox App (client-v3) shell footer.
12
+ *
13
+ * `Support` points to the Gearbox Discord invite, matching `DISCORD_ADDR`
14
+ * in the app config.
15
+ */
16
+ export declare const DEFAULT_APP_FOOTER_LINKS: ReadonlyArray<AppFooterLink>;
17
+ export interface AppFooterProps extends React.HTMLAttributes<HTMLElement> {
18
+ /**
19
+ * Legal / navigation links rendered on the right side.
20
+ * Defaults to {@link DEFAULT_APP_FOOTER_LINKS}.
21
+ */
22
+ links?: ReadonlyArray<AppFooterLink>;
23
+ /**
24
+ * Copyright node on the left. Defaults to
25
+ * `© Gearbox Protocol, {year}`.
26
+ */
27
+ copyright?: React.ReactNode;
28
+ /**
29
+ * Year used in the default copyright. Defaults to the current year.
30
+ */
31
+ year?: number;
32
+ /**
33
+ * Whether to show the status pill on the far right. Defaults to `true`.
34
+ */
35
+ showStatus?: boolean;
36
+ /**
37
+ * Label rendered inside the status pill. Defaults to `Status`.
38
+ */
39
+ statusLabel?: React.ReactNode;
40
+ /**
41
+ * When provided, the status pill becomes a live network-synchronization
42
+ * indicator ({@link BlockSyncPill}): the dot color reflects the time since
43
+ * the last block update and hovering reveals per-chain block details.
44
+ * Without it, a static green status pill is rendered.
45
+ */
46
+ blockSyncProps?: BlockSyncProps;
47
+ }
48
+ /**
49
+ * AppFooter — minimal, Hyperliquid-style footer used by the Gearbox App
50
+ * (client-v3): one thin line with copyright on the left and legal links plus a
51
+ * status pill on the right.
52
+ *
53
+ * Presentational port of client-v3 `AppFooter`. All dynamic content is
54
+ * controlled through props; defaults reproduce the app exactly.
55
+ *
56
+ * @example
57
+ * ```tsx
58
+ * <AppFooter />
59
+ * <AppFooter links={myLinks} copyright="© Acme, 2026" showStatus={false} />
60
+ * ```
61
+ */
62
+ export declare const AppFooter: React.ForwardRefExoticComponent<AppFooterProps & React.RefAttributes<HTMLElement>>;
@@ -0,0 +1 @@
1
+ export * from './app-footer';
@@ -0,0 +1,67 @@
1
+ import * as React from "react";
2
+ export interface AppHeaderProps extends React.HTMLAttributes<HTMLElement> {
3
+ /**
4
+ * Home link target used by the default logos. Defaults to `/`.
5
+ */
6
+ homeHref?: string;
7
+ /**
8
+ * Desktop logo block (visible at `lg` and up). Defaults to the full Gearbox
9
+ * wordmark linking to {@link AppHeaderProps.homeHref}.
10
+ */
11
+ desktopLogo?: React.ReactNode;
12
+ /**
13
+ * Mobile logo block (visible below `lg`). Defaults to the Gearbox sign mark
14
+ * linking to {@link AppHeaderProps.homeHref}.
15
+ */
16
+ mobileLogo?: React.ReactNode;
17
+ /**
18
+ * Mobile menu trigger (hamburger dropdown), visible below `lg`.
19
+ */
20
+ mobileMenu?: React.ReactNode;
21
+ /**
22
+ * Center navigation tabs — typically a `TabControl`. Visible at `lg` and up.
23
+ */
24
+ tabs?: React.ReactNode;
25
+ /**
26
+ * Optional actions placed left of the wallet button (e.g. migration button).
27
+ */
28
+ actions?: React.ReactNode;
29
+ /**
30
+ * Wallet / connect button area, rendered on the right.
31
+ */
32
+ wallet?: React.ReactNode;
33
+ /**
34
+ * Optional dots menu placed after the wallet (e.g. settings, docs links).
35
+ */
36
+ extraMenu?: React.ReactNode;
37
+ /**
38
+ * Optional `data-testid` applied to the left side panel.
39
+ */
40
+ leftTestId?: string;
41
+ /**
42
+ * Optional `data-testid` applied to the center navigation area.
43
+ */
44
+ centerTestId?: string;
45
+ /**
46
+ * Optional `data-testid` applied to the right side panel.
47
+ */
48
+ rightTestId?: string;
49
+ }
50
+ /**
51
+ * AppHeader — three-column top navigation bar used by the **Gearbox App
52
+ * (client-v3)** shell: logo on the left, center `TabControl`, and wallet
53
+ * (plus optional actions) on the right.
54
+ *
55
+ * Presentational port of client-v3 `AppBarView`. Dynamic regions are exposed as
56
+ * slots; the logos default to the exact Gearbox assets used by the app.
57
+ *
58
+ * @example
59
+ * ```tsx
60
+ * <AppHeader
61
+ * mobileMenu={<HamburgerDropdown />}
62
+ * tabs={<TabControl state={tabState} tabs={tabs} showBorder={false} />}
63
+ * wallet={<Button variant="outline">Connect wallet</Button>}
64
+ * />
65
+ * ```
66
+ */
67
+ export declare const AppHeader: React.ForwardRefExoticComponent<AppHeaderProps & React.RefAttributes<HTMLElement>>;
@@ -0,0 +1 @@
1
+ export * from './app-header';
@@ -1,3 +1,5 @@
1
+ export * from './app-footer';
2
+ export * from './app-header';
1
3
  export * from './app-logo';
2
4
  export * from './block';
3
5
  export * from './col';
@@ -28,6 +28,37 @@ export interface MainAsideLayoutProps extends React.HTMLAttributes<HTMLDivElemen
28
28
  * - pass `asideClassName` to override or augment aside classes (e.g. z-index)
29
29
  */
30
30
  variant?: "default" | "detail";
31
+ /**
32
+ * Hybrid centring for the main column. Only meaningful with
33
+ * `variant="detail"`.
34
+ *
35
+ * - **`≥1520px`** — the main column is centred on the viewport (`mx-auto`),
36
+ * capped at `56rem`, with the aside in the left gutter (`absolute`).
37
+ * - **`lg`…`1519px`** — LP-style in-flow row (aside + main centred as one block).
38
+ *
39
+ * On screens below `lg` the layout falls back to the normal stacked column,
40
+ * so wrap usage in `hidden lg:block` if the mobile layout is handled
41
+ * separately.
42
+ */
43
+ centeredMain?: boolean;
44
+ /**
45
+ * Whether the detail-variant aside manages its own sticky / scroll behavior.
46
+ *
47
+ * - `true` (default) — ui-kit owns the aside positioning: built-in sticky
48
+ * (`top-4`) below `2450px`, `fixed` (`top-28`) at `≥2450px`, plus an
49
+ * internal `overflow-y-auto` / `max-h-[100vh]` scroll area.
50
+ * - `false` — the aside stays in normal document flow at all widths (no
51
+ * `fixed`, no internal scroll container), so the page keeps a single
52
+ * scrollbar and the consumer can run its own sticky controller. The detail
53
+ * centring wrapper + `max-width` cap are preserved. At `≥2450px` the row
54
+ * stays a flex row but centres the main column on the viewport
55
+ * (`justify-center`, main `80rem`) while the in-flow aside is pulled into
56
+ * the gutter via a negative margin — so the content reads centred with the
57
+ * form beside it, and the consumer's controller keeps managing stickiness.
58
+ *
59
+ * Only meaningful with `variant="detail"` and without `centeredMain`.
60
+ */
61
+ stickyAside?: boolean;
31
62
  }
32
63
  /**
33
64
  * MainAsideLayout — main column + optional sidebar in one row.
@@ -54,5 +85,16 @@ export interface MainAsideLayoutProps extends React.HTMLAttributes<HTMLDivElemen
54
85
  * ```
55
86
  * This reproduces the `PoolDetailsScreen` two-column layout:
56
87
  * sticky aside below 2450 px viewport, fixed aside above it, correct max-widths.
88
+ *
89
+ * ### Detail variant — viewport-centred main (`centeredMain`)
90
+ * ```tsx
91
+ * <div className="hidden lg:block">
92
+ * <MainAsideLayout variant="detail" asidePosition="left" centeredMain aside={<Panel />}>
93
+ * <Content />
94
+ * </MainAsideLayout>
95
+ * </div>
96
+ * ```
97
+ * Centres the main column on the viewport (up to `56rem`) while the aside sits
98
+ * in the left gutter from `1520px`; below that the row behaves like LP detail.
57
99
  */
58
100
  export declare const MainAsideLayout: React.ForwardRefExoticComponent<MainAsideLayoutProps & React.RefAttributes<HTMLDivElement>>;
@@ -1 +1,5 @@
1
- export { type AppName, BlockedRegionDialog, type BlockedRegionDialogProps, createGearboxAppConfig, createLegalAgreementConfig, createPermissionlessInterfaceConfig, createPermissionlessSafeConfig, type LegalAgreementCheckboxItem, LegalAgreementDialog, type LegalAgreementDialogConfig, type LegalAgreementDialogLinks, type LegalAgreementDialogProps, } from './legal-agreement-dialog';
1
+ export { LegalAgreementAwaitingPanel, type LegalAgreementAwaitingPanelProps, LegalAgreementAwaitingPanelTest, } from './legal-agreement-awaiting-panel';
2
+ export { BlockedRegionDialog, type BlockedRegionDialogProps, type LegalAgreementCheckboxItem, LegalAgreementDialog, type LegalAgreementDialogConfig, type LegalAgreementDialogProps, } from './legal-agreement-dialog';
3
+ export { LegalAgreementLink, type LegalAgreementLinkProps, } from './legal-agreement-link';
4
+ export { LegalAgreementPanel, type LegalAgreementPanelProps, LegalAgreementPanelTest, } from './legal-agreement-panel';
5
+ export { type LegalAgreementThemeVariantProps, type LegalAgreementVisualTheme, legalAgreementAwaitingDescriptionVariants, legalAgreementAwaitingRootVariants, legalAgreementAwaitingTitleVariants, legalAgreementLinkVariants, legalAgreementPanelCheckboxLabelVariants, legalAgreementPanelCheckboxListTitleVariants, legalAgreementPanelCheckboxListVariants, legalAgreementPanelCheckboxRowVariants, legalAgreementPanelNotificationVariants, legalAgreementPanelRootVariants, legalAgreementPanelV2BannerVariants, } from './legal-agreement-theme';
@@ -0,0 +1,10 @@
1
+ import { default as React } from 'react';
2
+ import { LegalAgreementVisualTheme } from './legal-agreement-theme';
3
+ export declare class LegalAgreementAwaitingPanelTest {
4
+ static root: string;
5
+ }
6
+ export interface LegalAgreementAwaitingPanelProps {
7
+ readonly waitingForSignatureText?: string;
8
+ readonly theme?: LegalAgreementVisualTheme;
9
+ }
10
+ export declare function LegalAgreementAwaitingPanel({ waitingForSignatureText, theme, }: LegalAgreementAwaitingPanelProps): React.ReactElement;
@@ -1,13 +1,9 @@
1
+ import { LegalAgreementVisualTheme } from './legal-agreement-theme';
1
2
  import * as React from "react";
2
3
  export interface LegalAgreementCheckboxItem {
3
4
  id: string;
4
5
  content: React.ReactNode;
5
6
  }
6
- export interface LegalAgreementDialogLinks {
7
- termsOfService: string;
8
- privacyNotice: string;
9
- riskDisclosure: string;
10
- }
11
7
  export interface LegalAgreementDialogConfig {
12
8
  /**
13
9
  * Product/service name (e.g., "Permissionless Interface", "Permissionless Safe", "Gearbox App")
@@ -41,6 +37,15 @@ export interface LegalAgreementDialogConfig {
41
37
  * Defaults to "Please sign the message in your wallet to agree to the Terms of Service."
42
38
  */
43
39
  waitingForSignatureText?: string;
40
+ /**
41
+ * Notice shown when terms are updated (hasV2Signature is true).
42
+ * Host app supplies legal copy; ui-kit only renders layout.
43
+ */
44
+ updatedTermsNoticeText?: React.ReactNode;
45
+ /**
46
+ * Optional heading above checkbox list (e.g. warranty section title).
47
+ */
48
+ checkboxListTitle?: React.ReactNode;
44
49
  }
45
50
  export interface LegalAgreementDialogProps {
46
51
  open: boolean;
@@ -50,6 +55,7 @@ export interface LegalAgreementDialogProps {
50
55
  hasV2Signature?: boolean;
51
56
  isAwaitingSignature?: boolean;
52
57
  config: LegalAgreementDialogConfig;
58
+ theme?: LegalAgreementVisualTheme;
53
59
  }
54
60
  /**
55
61
  * LegalAgreementDialog — dialog component for legal agreement signing.
@@ -77,59 +83,20 @@ export interface LegalAgreementDialogProps {
77
83
  * Note: Displays checkboxes for user agreement and handles signing flow.
78
84
  * Shows waiting state during signature process.
79
85
  *
80
- * Example usage with helper function:
86
+ * Example usage host app supplies config (legal copy is app-owned):
81
87
  * ```tsx
82
- * import { LegalAgreementDialog, createLegalAgreementConfig } from '@gearbox-protocol/ui-kit';
88
+ * import { LegalAgreementDialog, LegalAgreementLink } from '@gearbox-protocol/ui-kit';
83
89
  *
84
- * const links = {
85
- * termsOfService: 'https://gearbox.fi/terms',
86
- * privacyNotice: 'https://gearbox.fi/privacy',
87
- * riskDisclosure: 'https://gearbox.fi/risks',
90
+ * const config = {
91
+ * productName: 'My App',
92
+ * notificationText: <>…your legal copy with <LegalAgreementLink href="…">ToS</LegalAgreementLink>…</>,
93
+ * checkboxItems: [{ id: 'consent', content: <>…</> }],
88
94
  * };
89
95
  *
90
- * // You can use any app name. For "Permissionless Interface" and "Permissionless Safe"
91
- * // it uses simplified consent flow. For other names (e.g., "Gearbox App") it uses
92
- * // extended consent flow with additional checkboxes.
93
- * const config = createLegalAgreementConfig("Permissionless Interface", links);
94
- *
95
- * <LegalAgreementDialog
96
- * open={isOpen}
97
- * onClose={handleClose}
98
- * onSign={handleSign}
99
- * isSigning={isSigning}
100
- * config={config}
101
- * />
96
+ * <LegalAgreementDialog open={isOpen} onClose={handleClose} onSign={handleSign} isSigning={isSigning} config={config} />
102
97
  * ```
103
98
  */
104
- export declare function LegalAgreementDialog({ open, onClose, onSign, isSigning, hasV2Signature, isAwaitingSignature, config, }: LegalAgreementDialogProps): import("react/jsx-runtime").JSX.Element;
105
- export type AppName = string;
106
- /**
107
- * Creates configuration for legal agreement dialog based on app name.
108
- * @param appName - Name of the application (any string, e.g., "Permissionless Interface", "Permissionless Safe", "Gearbox App", etc.)
109
- * @param links - URLs for legal documents
110
- * @param options - Optional configuration overrides
111
- */
112
- export declare function createLegalAgreementConfig(appName: AppName, links: LegalAgreementDialogLinks, options?: {
113
- agreeButtonText?: string;
114
- }): LegalAgreementDialogConfig;
115
- /**
116
- * @deprecated Use createLegalAgreementConfig("Permissionless Interface", links, options) instead
117
- */
118
- export declare function createPermissionlessInterfaceConfig(links: LegalAgreementDialogLinks, options?: {
119
- agreeButtonText?: string;
120
- }): LegalAgreementDialogConfig;
121
- /**
122
- * @deprecated Use createLegalAgreementConfig("Permissionless Safe", links, options) instead
123
- */
124
- export declare function createPermissionlessSafeConfig(links: LegalAgreementDialogLinks, options?: {
125
- agreeButtonText?: string;
126
- }): LegalAgreementDialogConfig;
127
- /**
128
- * @deprecated Use createLegalAgreementConfig("Gearbox App", links, options) instead
129
- */
130
- export declare function createGearboxAppConfig(links: LegalAgreementDialogLinks, options?: {
131
- agreeButtonText?: string;
132
- }): LegalAgreementDialogConfig;
99
+ export declare function LegalAgreementDialog({ open, onClose, onSign, isSigning, hasV2Signature, isAwaitingSignature, config, theme, }: LegalAgreementDialogProps): import("react/jsx-runtime").JSX.Element;
133
100
  export interface BlockedRegionDialogProps {
134
101
  open: boolean;
135
102
  onClose: () => void;
@@ -0,0 +1,11 @@
1
+ import { default as React } from 'react';
2
+ import { LegalAgreementVisualTheme } from './legal-agreement-theme';
3
+ export interface LegalAgreementLinkProps {
4
+ readonly href: string;
5
+ readonly children: React.ReactNode;
6
+ readonly theme?: LegalAgreementVisualTheme;
7
+ }
8
+ /**
9
+ * Styled external link for legal agreement copy supplied by the host app.
10
+ */
11
+ export declare function LegalAgreementLink({ href, children, theme, }: LegalAgreementLinkProps): React.ReactElement;
@@ -0,0 +1,16 @@
1
+ import { default as React } from 'react';
2
+ import { LegalAgreementDialogConfig } from './legal-agreement-dialog';
3
+ import { LegalAgreementVisualTheme } from './legal-agreement-theme';
4
+ export declare class LegalAgreementPanelTest {
5
+ static root: string;
6
+ }
7
+ export interface LegalAgreementPanelProps {
8
+ readonly config: LegalAgreementDialogConfig;
9
+ readonly checkedItems: Readonly<Record<string, boolean>>;
10
+ readonly onCheckedChange: (id: string) => void;
11
+ readonly hasV2Signature?: boolean;
12
+ readonly showTitle?: boolean;
13
+ readonly checkboxIdPrefix?: string;
14
+ readonly theme?: LegalAgreementVisualTheme;
15
+ }
16
+ export declare function LegalAgreementPanel({ config, checkedItems, onCheckedChange, hasV2Signature, showTitle, checkboxIdPrefix, theme, }: LegalAgreementPanelProps): React.ReactElement;
@@ -0,0 +1,36 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ export type LegalAgreementVisualTheme = "default" | "gearboxV3";
3
+ export declare const legalAgreementPanelRootVariants: (props?: ({
4
+ theme?: "default" | "gearboxV3" | null | undefined;
5
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
6
+ export declare const legalAgreementPanelNotificationVariants: (props?: ({
7
+ theme?: "default" | "gearboxV3" | null | undefined;
8
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
9
+ export declare const legalAgreementPanelCheckboxListVariants: (props?: ({
10
+ readonly theme?: "default" | "gearboxV3" | null | undefined;
11
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
12
+ export declare const legalAgreementPanelCheckboxListTitleVariants: (props?: ({
13
+ theme?: "default" | "gearboxV3" | null | undefined;
14
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
15
+ export declare const legalAgreementPanelCheckboxRowVariants: (props?: ({
16
+ theme?: "default" | "gearboxV3" | null | undefined;
17
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
18
+ export declare const legalAgreementPanelCheckboxLabelVariants: (props?: ({
19
+ theme?: "default" | "gearboxV3" | null | undefined;
20
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
21
+ export declare const legalAgreementPanelV2BannerVariants: (props?: ({
22
+ theme?: "default" | "gearboxV3" | null | undefined;
23
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
24
+ export declare const legalAgreementAwaitingRootVariants: (props?: ({
25
+ theme?: "default" | "gearboxV3" | null | undefined;
26
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
27
+ export declare const legalAgreementAwaitingTitleVariants: (props?: ({
28
+ theme?: "default" | "gearboxV3" | null | undefined;
29
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
30
+ export declare const legalAgreementAwaitingDescriptionVariants: (props?: ({
31
+ theme?: "default" | "gearboxV3" | null | undefined;
32
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
33
+ export declare const legalAgreementLinkVariants: (props?: ({
34
+ theme?: "default" | "gearboxV3" | null | undefined;
35
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
36
+ export type LegalAgreementThemeVariantProps = VariantProps<typeof legalAgreementPanelRootVariants>;
@@ -0,0 +1,11 @@
1
+ import { LegalAgreementDialogConfig } from './legal-agreement-dialog';
2
+ import { LegalAgreementVisualTheme } from './legal-agreement-theme';
3
+ export declare function createStoryPermissionlessLegalConfig(theme?: LegalAgreementVisualTheme): LegalAgreementDialogConfig;
4
+ export declare function createStoryExtendedLegalConfig(theme?: LegalAgreementVisualTheme): LegalAgreementDialogConfig;
5
+ export declare function createStoryRwaLegalConfig(theme?: LegalAgreementVisualTheme): LegalAgreementDialogConfig;
6
+ /** Storybook-only sample config (single-checkbox flow). Not exported from ui-kit. */
7
+ export declare const storyPermissionlessLegalConfig: LegalAgreementDialogConfig;
8
+ /** Storybook-only sample config (three-checkbox flow). Not exported from ui-kit. */
9
+ export declare const storyExtendedLegalConfig: LegalAgreementDialogConfig;
10
+ /** Storybook-only RWA sample config. Not exported from ui-kit. */
11
+ export declare const storyRwaLegalConfig: LegalAgreementDialogConfig;
@@ -1,3 +1,4 @@
1
+ import { LineStyle } from 'lightweight-charts';
1
2
  import { RangeButtonsProps } from '../buttons/range-buttons/range-buttons';
2
3
  import { YMeasureUnits } from '../graph/formatters';
3
4
  import { GraphViewWithDataProps } from '../graph/graph-view';
@@ -26,6 +27,12 @@ export interface GraphData {
26
27
  topColor?: string;
27
28
  /** Area fill gradient bottom */
28
29
  bottomColor?: string;
30
+ /** Price scale when Graph `dualYAxis` is enabled. */
31
+ priceScaleId?: "left" | "right";
32
+ /** Render as line instead of area. */
33
+ seriesType?: "area" | "line";
34
+ /** Line dash style (line series). */
35
+ lineStyle?: LineStyle;
29
36
  }
30
37
  /**
31
38
  * TradingView component props
@@ -61,6 +68,13 @@ export interface TradingViewProps<T extends string = string> extends Omit<GraphV
61
68
  graphsWithNoData?: Set<T>;
62
69
  /** Set of graph values that are currently loading */
63
70
  loadingGraphs?: Set<T>;
71
+ /**
72
+ * Explicit loading state. When provided, it takes precedence over the loading
73
+ * state inferred from `loadingGraphs`/`data`. Use it when the series list is
74
+ * empty while the underlying query is still pending (otherwise the chart would
75
+ * briefly show "no data" before data arrives).
76
+ */
77
+ isLoading?: boolean;
64
78
  /** Message to show when user selects a graph with no data */
65
79
  noDataMessage?: string;
66
80
  /**
@@ -157,4 +171,4 @@ export interface TradingViewProps<T extends string = string> extends Omit<GraphV
157
171
  * />
158
172
  * ```
159
173
  */
160
- export declare function TradingView<T extends string = string>({ data, yMeasureUnit, height, defaultGraph, onGraphSelected, graphs, isMultipleSelect, range, rangeList, setRange, onGraphExpanded, isGraphExpanded, onUnselectSeries, graphsWithNoData, loadingGraphs, noDataMessage, currentValueDecimals, containerClassName, useSharedPriceScale, showCurrentValue, yScaleMin, yScaleMinMultiple, seriesColorPersistenceKey, ...restProps }: TradingViewProps<T>): React.ReactElement;
174
+ export declare function TradingView<T extends string = string>({ data, yMeasureUnit, height, defaultGraph, onGraphSelected, graphs, isMultipleSelect, range, rangeList, setRange, onGraphExpanded, isGraphExpanded, onUnselectSeries, graphsWithNoData, loadingGraphs, isLoading: isLoadingProp, noDataMessage, currentValueDecimals, containerClassName, useSharedPriceScale, showCurrentValue, yScaleMin, yScaleMinMultiple, seriesColorPersistenceKey, ...restProps }: TradingViewProps<T>): React.ReactElement;