@gearbox-protocol/ui-kit 3.14.0-next.3 → 3.14.0-next.31

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 (291) 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/pool-table/columns.cjs +1 -1
  16. package/dist/cjs/components/composites/tx-preview/components/AddressAvatar.cjs +1 -0
  17. package/dist/cjs/components/composites/tx-preview/components/AddressParty.cjs +1 -0
  18. package/dist/cjs/components/composites/tx-preview/components/AddressRow.cjs +1 -0
  19. package/dist/cjs/components/composites/tx-preview/components/AmountRow.cjs +1 -0
  20. package/dist/cjs/components/composites/tx-preview/components/CollapsibleCard.cjs +1 -0
  21. package/dist/cjs/components/composites/tx-preview/components/SectionDivider.cjs +1 -0
  22. package/dist/cjs/components/composites/tx-preview/components/TransferList.cjs +1 -0
  23. package/dist/cjs/components/composites/tx-preview/components/TransferRow.cjs +1 -0
  24. package/dist/cjs/components/composites/tx-preview/components/addressLabel.cjs +1 -0
  25. package/dist/cjs/components/composites/tx-preview/components/index.cjs +1 -0
  26. package/dist/cjs/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountField.cjs +1 -0
  27. package/dist/cjs/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountPair.cjs +1 -0
  28. package/dist/cjs/components/composites/tx-preview/confirm/amounts/constants.cjs +1 -0
  29. package/dist/cjs/components/composites/tx-preview/confirm/amounts/index.cjs +1 -0
  30. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmDialogView.cjs +1 -0
  31. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmPageView.cjs +1 -0
  32. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.cjs +1 -0
  33. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.constants.cjs +1 -0
  34. package/dist/cjs/components/composites/tx-preview/confirm/dialog/computeTransactionConfirmDialogLayout.cjs +1 -0
  35. package/dist/cjs/components/composites/tx-preview/confirm/dialog/constants.cjs +1 -0
  36. package/dist/cjs/components/composites/tx-preview/confirm/dialog/index.cjs +1 -0
  37. package/dist/cjs/components/composites/tx-preview/confirm/dialog/transactionConfirmPhase.cjs +1 -0
  38. package/dist/cjs/components/composites/tx-preview/confirm/dialog/useTransactionConfirmDialog.cjs +1 -0
  39. package/dist/cjs/components/composites/tx-preview/confirm/execution/TransactionConfirmExecuteButton.cjs +1 -0
  40. package/dist/cjs/components/composites/tx-preview/confirm/execution/index.cjs +1 -0
  41. package/dist/cjs/components/composites/tx-preview/confirm/index.cjs +1 -0
  42. package/dist/cjs/components/composites/tx-preview/confirm/preview/OperationPreviewContent.cjs +1 -0
  43. package/dist/cjs/components/composites/tx-preview/confirm/preview/index.cjs +1 -0
  44. package/dist/cjs/components/composites/tx-preview/confirm/result/TransactionConfirmFailureResult.cjs +1 -0
  45. package/dist/cjs/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessIcon.cjs +1 -0
  46. package/dist/cjs/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessResult.cjs +1 -0
  47. package/dist/cjs/components/composites/tx-preview/confirm/result/TransactionConfirmTxHashRow.cjs +1 -0
  48. package/dist/cjs/components/composites/tx-preview/confirm/result/constants.cjs +1 -0
  49. package/dist/cjs/components/composites/tx-preview/confirm/result/index.cjs +1 -0
  50. package/dist/cjs/components/composites/tx-preview/confirm/stepper/TransactionProgressStepper.cjs +1 -0
  51. package/dist/cjs/components/composites/tx-preview/confirm/stepper/constants.cjs +1 -0
  52. package/dist/cjs/components/composites/tx-preview/confirm/stepper/index.cjs +1 -0
  53. package/dist/cjs/components/composites/tx-preview/confirm/stepper/transactionExecutionStepTypes.cjs +1 -0
  54. package/dist/cjs/components/composites/tx-preview/confirm/summary/PoolOperationConfirmDetails.cjs +1 -0
  55. package/dist/cjs/components/composites/tx-preview/confirm/summary/constants.cjs +1 -0
  56. package/dist/cjs/components/composites/tx-preview/confirm/summary/index.cjs +1 -0
  57. package/dist/cjs/components/composites/tx-preview/index.cjs +1 -0
  58. package/dist/cjs/components/composites/tx-preview/operations/OperationBody.cjs +1 -0
  59. package/dist/cjs/components/composites/tx-preview/operations/OperationsCard.cjs +1 -0
  60. package/dist/cjs/components/composites/tx-preview/operations/PoolDepositView.cjs +1 -0
  61. package/dist/cjs/components/composites/tx-preview/operations/PoolRow.cjs +1 -0
  62. package/dist/cjs/components/composites/tx-preview/operations/PoolWithdrawView.cjs +1 -0
  63. package/dist/cjs/components/composites/tx-preview/operations/index.cjs +1 -0
  64. package/dist/cjs/components/composites/tx-preview/state-change/BalanceChangeGroup.cjs +1 -0
  65. package/dist/cjs/components/composites/tx-preview/state-change/BalanceChangeRow.cjs +1 -0
  66. package/dist/cjs/components/composites/tx-preview/state-change/PoolStateChangeCard.cjs +1 -0
  67. package/dist/cjs/components/composites/tx-preview/state-change/StateChangeCard.cjs +1 -0
  68. package/dist/cjs/components/composites/tx-preview/state-change/index.cjs +1 -0
  69. package/dist/cjs/components/composites/tx-preview/types.cjs +1 -0
  70. package/dist/cjs/components/composites/tx-preview/utils/addressLabels.cjs +1 -0
  71. package/dist/cjs/components/composites/tx-preview/utils/index.cjs +1 -0
  72. package/dist/cjs/components/composites/tx-preview/utils/poolTokenInfo.cjs +1 -0
  73. package/dist/cjs/components/compound-apy/compound-apy.cjs +1 -1
  74. package/dist/cjs/components/confirm-menu/confirm-menu.cjs +1 -1
  75. package/dist/cjs/components/detailed-page-title/detailed-page-title.cjs +1 -1
  76. package/dist/cjs/components/graph/formatters.cjs +1 -1
  77. package/dist/cjs/components/index.cjs +1 -1
  78. package/dist/cjs/components/layout/app-footer/app-footer.cjs +1 -0
  79. package/dist/cjs/components/layout/app-footer/index.cjs +1 -0
  80. package/dist/cjs/components/layout/app-header/app-header.cjs +1 -0
  81. package/dist/cjs/components/layout/app-header/index.cjs +1 -0
  82. package/dist/cjs/components/layout/index.cjs +1 -1
  83. package/dist/cjs/components/layout/main-aside-layout/main-aside-layout.cjs +1 -1
  84. package/dist/cjs/components/legal-agreement/index.cjs +1 -1
  85. package/dist/cjs/components/legal-agreement/legal-agreement-awaiting-panel.cjs +1 -0
  86. package/dist/cjs/components/legal-agreement/legal-agreement-dialog.cjs +1 -1
  87. package/dist/cjs/components/legal-agreement/legal-agreement-link.cjs +1 -0
  88. package/dist/cjs/components/legal-agreement/legal-agreement-panel.cjs +1 -0
  89. package/dist/cjs/components/legal-agreement/legal-agreement-theme.cjs +1 -0
  90. package/dist/cjs/components/legal-agreement/legal-agreement.stories-config.cjs +1 -0
  91. package/dist/cjs/components/link/link.cjs +1 -1
  92. package/dist/cjs/components/loader-guard/loader-guard.cjs +1 -1
  93. package/dist/cjs/components/markdown-viewer/markdown-viewer.cjs +1 -1
  94. package/dist/cjs/components/smart-number-input/smart-number-input.cjs +1 -1
  95. package/dist/cjs/components/time-to-liquidation/time-to-liquidation.cjs +1 -1
  96. package/dist/cjs/components/tokens-list-cell/tokens-list-cell.cjs +1 -1
  97. package/dist/cjs/components/vertical-indicator/vertical-indicator.cjs +1 -1
  98. package/dist/cjs/components/with-copy/with-copy.cjs +1 -1
  99. package/dist/cjs/hooks/index.cjs +1 -1
  100. package/dist/cjs/hooks/use-filter.cjs +1 -1
  101. package/dist/cjs/index.cjs +1 -1
  102. package/dist/cjs/locale/en.json.cjs +1 -1
  103. package/dist/esm/components/alert-badge/alert-badge.js +12 -10
  104. package/dist/esm/components/app-bar/app-bar.js +1 -1
  105. package/dist/esm/components/apy/apy.js +9 -9
  106. package/dist/esm/components/assets-list-cell/assets-list-cell.js +5 -2
  107. package/dist/esm/components/block-sync/block-sync.js +5 -2
  108. package/dist/esm/components/block-sync-pill/block-sync-pill.js +240 -0
  109. package/dist/esm/components/block-sync-pill/block-sync-status.js +12 -0
  110. package/dist/esm/components/block-sync-pill/index.js +4 -0
  111. package/dist/esm/components/buttons/button/button.js +1 -0
  112. package/dist/esm/components/checkbox/checkbox-labeled.js +3 -0
  113. package/dist/esm/components/client-adapters/styled-button/styled-button.js +11 -11
  114. package/dist/esm/components/client-adapters/styled-rounded-image/styled-rounded-image.js +3 -0
  115. package/dist/esm/components/complex-input/complex-input.js +5 -2
  116. package/dist/esm/components/composites/pool-table/columns.js +38 -35
  117. package/dist/esm/components/composites/tx-preview/components/AddressAvatar.js +47 -0
  118. package/dist/esm/components/composites/tx-preview/components/AddressParty.js +17 -0
  119. package/dist/esm/components/composites/tx-preview/components/AddressRow.js +16 -0
  120. package/dist/esm/components/composites/tx-preview/components/AmountRow.js +30 -0
  121. package/dist/esm/components/composites/tx-preview/components/CollapsibleCard.js +45 -0
  122. package/dist/esm/components/composites/tx-preview/components/SectionDivider.js +12 -0
  123. package/dist/esm/components/composites/tx-preview/components/TransferList.js +25 -0
  124. package/dist/esm/components/composites/tx-preview/components/TransferRow.js +52 -0
  125. package/dist/esm/components/composites/tx-preview/components/addressLabel.js +7 -0
  126. package/dist/esm/components/composites/tx-preview/components/index.js +20 -0
  127. package/dist/esm/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountField.js +224 -0
  128. package/dist/esm/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountPair.js +55 -0
  129. package/dist/esm/components/composites/tx-preview/confirm/amounts/constants.js +10 -0
  130. package/dist/esm/components/composites/tx-preview/confirm/amounts/index.js +9 -0
  131. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmDialogView.js +50 -0
  132. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmPageView.js +70 -0
  133. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.constants.js +6 -0
  134. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.js +93 -0
  135. package/dist/esm/components/composites/tx-preview/confirm/dialog/computeTransactionConfirmDialogLayout.js +35 -0
  136. package/dist/esm/components/composites/tx-preview/confirm/dialog/constants.js +23 -0
  137. package/dist/esm/components/composites/tx-preview/confirm/dialog/index.js +20 -0
  138. package/dist/esm/components/composites/tx-preview/confirm/dialog/transactionConfirmPhase.js +1 -0
  139. package/dist/esm/components/composites/tx-preview/confirm/dialog/useTransactionConfirmDialog.js +20 -0
  140. package/dist/esm/components/composites/tx-preview/confirm/execution/TransactionConfirmExecuteButton.js +30 -0
  141. package/dist/esm/components/composites/tx-preview/confirm/execution/index.js +4 -0
  142. package/dist/esm/components/composites/tx-preview/confirm/index.js +54 -0
  143. package/dist/esm/components/composites/tx-preview/confirm/preview/OperationPreviewContent.js +194 -0
  144. package/dist/esm/components/composites/tx-preview/confirm/preview/index.js +4 -0
  145. package/dist/esm/components/composites/tx-preview/confirm/result/TransactionConfirmFailureResult.js +55 -0
  146. package/dist/esm/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessIcon.js +25 -0
  147. package/dist/esm/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessResult.js +60 -0
  148. package/dist/esm/components/composites/tx-preview/confirm/result/TransactionConfirmTxHashRow.js +21 -0
  149. package/dist/esm/components/composites/tx-preview/confirm/result/constants.js +24 -0
  150. package/dist/esm/components/composites/tx-preview/confirm/result/index.js +15 -0
  151. package/dist/esm/components/composites/tx-preview/confirm/stepper/TransactionProgressStepper.js +67 -0
  152. package/dist/esm/components/composites/tx-preview/confirm/stepper/constants.js +6 -0
  153. package/dist/esm/components/composites/tx-preview/confirm/stepper/index.js +8 -0
  154. package/dist/esm/components/composites/tx-preview/confirm/stepper/transactionExecutionStepTypes.js +6 -0
  155. package/dist/esm/components/composites/tx-preview/confirm/summary/PoolOperationConfirmDetails.js +65 -0
  156. package/dist/esm/components/composites/tx-preview/confirm/summary/constants.js +6 -0
  157. package/dist/esm/components/composites/tx-preview/confirm/summary/index.js +6 -0
  158. package/dist/esm/components/composites/tx-preview/index.js +95 -0
  159. package/dist/esm/components/composites/tx-preview/operations/OperationBody.js +10 -0
  160. package/dist/esm/components/composites/tx-preview/operations/OperationsCard.js +194 -0
  161. package/dist/esm/components/composites/tx-preview/operations/PoolDepositView.js +203 -0
  162. package/dist/esm/components/composites/tx-preview/operations/PoolRow.js +20 -0
  163. package/dist/esm/components/composites/tx-preview/operations/PoolWithdrawView.js +197 -0
  164. package/dist/esm/components/composites/tx-preview/operations/index.js +13 -0
  165. package/dist/esm/components/composites/tx-preview/state-change/BalanceChangeGroup.js +184 -0
  166. package/dist/esm/components/composites/tx-preview/state-change/BalanceChangeRow.js +61 -0
  167. package/dist/esm/components/composites/tx-preview/state-change/PoolStateChangeCard.js +23 -0
  168. package/dist/esm/components/composites/tx-preview/state-change/StateChangeCard.js +199 -0
  169. package/dist/esm/components/composites/tx-preview/state-change/index.js +10 -0
  170. package/dist/esm/components/composites/tx-preview/types.js +1 -0
  171. package/dist/esm/components/composites/tx-preview/utils/addressLabels.js +41 -0
  172. package/dist/esm/components/composites/tx-preview/utils/index.js +6 -0
  173. package/dist/esm/components/composites/tx-preview/utils/poolTokenInfo.js +12 -0
  174. package/dist/esm/components/compound-apy/compound-apy.js +5 -2
  175. package/dist/esm/components/confirm-menu/confirm-menu.js +28 -25
  176. package/dist/esm/components/detailed-page-title/detailed-page-title.js +3 -0
  177. package/dist/esm/components/graph/formatters.js +127 -132
  178. package/dist/esm/components/health-factor/health-factor.js +3 -3
  179. package/dist/esm/components/index.js +729 -706
  180. package/dist/esm/components/layout/app-footer/app-footer.js +54 -0
  181. package/dist/esm/components/layout/app-footer/index.js +5 -0
  182. package/dist/esm/components/layout/app-header/app-header.js +100 -0
  183. package/dist/esm/components/layout/app-header/index.js +4 -0
  184. package/dist/esm/components/layout/index.js +32 -27
  185. package/dist/esm/components/layout/main-aside-layout/main-aside-layout.js +78 -55
  186. package/dist/esm/components/legal-agreement/index.js +23 -7
  187. package/dist/esm/components/legal-agreement/legal-agreement-awaiting-panel.js +29 -0
  188. package/dist/esm/components/legal-agreement/legal-agreement-dialog.js +72 -212
  189. package/dist/esm/components/legal-agreement/legal-agreement-link.js +22 -0
  190. package/dist/esm/components/legal-agreement/legal-agreement-panel.js +130 -0
  191. package/dist/esm/components/legal-agreement/legal-agreement-theme.js +137 -0
  192. package/dist/esm/components/legal-agreement/legal-agreement.stories-config.js +170 -0
  193. package/dist/esm/components/link/link.js +42 -35
  194. package/dist/esm/components/loader-guard/loader-guard.js +7 -5
  195. package/dist/esm/components/markdown-viewer/markdown-viewer.js +5 -2
  196. package/dist/esm/components/smart-number-input/smart-number-input.js +242 -120
  197. package/dist/esm/components/time-to-liquidation/time-to-liquidation.js +3 -0
  198. package/dist/esm/components/tokens-list-cell/tokens-list-cell.js +5 -2
  199. package/dist/esm/components/vertical-indicator/vertical-indicator.js +39 -33
  200. package/dist/esm/components/with-copy/with-copy.js +5 -2
  201. package/dist/esm/hooks/index.js +50 -47
  202. package/dist/esm/hooks/use-filter.js +63 -29
  203. package/dist/esm/index.js +914 -888
  204. package/dist/esm/locale/en.json.js +5 -0
  205. package/dist/globals.css +1 -1
  206. package/dist/types/components/alert-badge/alert-badge.d.ts +1 -1
  207. package/dist/types/components/block-sync-pill/block-sync-pill.d.ts +35 -0
  208. package/dist/types/components/block-sync-pill/block-sync-status.d.ts +29 -0
  209. package/dist/types/components/block-sync-pill/index.d.ts +1 -0
  210. package/dist/types/components/buttons/button/button.d.ts +4 -3
  211. package/dist/types/components/composites/tx-preview/components/AddressAvatar.d.ts +12 -0
  212. package/dist/types/components/composites/tx-preview/components/AddressParty.d.ts +14 -0
  213. package/dist/types/components/composites/tx-preview/components/AddressRow.d.ts +7 -0
  214. package/dist/types/components/composites/tx-preview/components/AmountRow.d.ts +15 -0
  215. package/dist/types/components/composites/tx-preview/components/CollapsibleCard.d.ts +22 -0
  216. package/dist/types/components/composites/tx-preview/components/SectionDivider.d.ts +10 -0
  217. package/dist/types/components/composites/tx-preview/components/TransferList.d.ts +19 -0
  218. package/dist/types/components/composites/tx-preview/components/TransferRow.d.ts +30 -0
  219. package/dist/types/components/composites/tx-preview/components/addressLabel.d.ts +27 -0
  220. package/dist/types/components/composites/tx-preview/components/index.d.ts +9 -0
  221. package/dist/types/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountField.d.ts +13 -0
  222. package/dist/types/components/composites/tx-preview/confirm/amounts/TransactionConfirmAmountPair.d.ts +16 -0
  223. package/dist/types/components/composites/tx-preview/confirm/amounts/constants.d.ts +6 -0
  224. package/dist/types/components/composites/tx-preview/confirm/amounts/index.d.ts +3 -0
  225. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmDialogView.d.ts +24 -0
  226. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmPageView.d.ts +23 -0
  227. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.constants.d.ts +3 -0
  228. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmShell.d.ts +19 -0
  229. package/dist/types/components/composites/tx-preview/confirm/dialog/computeTransactionConfirmDialogLayout.d.ts +8 -0
  230. package/dist/types/components/composites/tx-preview/confirm/dialog/constants.d.ts +17 -0
  231. package/dist/types/components/composites/tx-preview/confirm/dialog/index.d.ts +8 -0
  232. package/dist/types/components/composites/tx-preview/confirm/dialog/transactionConfirmPhase.d.ts +4 -0
  233. package/dist/types/components/composites/tx-preview/confirm/dialog/useTransactionConfirmDialog.d.ts +8 -0
  234. package/dist/types/components/composites/tx-preview/confirm/execution/TransactionConfirmExecuteButton.d.ts +6 -0
  235. package/dist/types/components/composites/tx-preview/confirm/execution/index.d.ts +1 -0
  236. package/dist/types/components/composites/tx-preview/confirm/index.d.ts +7 -0
  237. package/dist/types/components/composites/tx-preview/confirm/preview/OperationPreviewContent.d.ts +12 -0
  238. package/dist/types/components/composites/tx-preview/confirm/preview/index.d.ts +1 -0
  239. package/dist/types/components/composites/tx-preview/confirm/result/TransactionConfirmFailureResult.d.ts +8 -0
  240. package/dist/types/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessIcon.d.ts +2 -0
  241. package/dist/types/components/composites/tx-preview/confirm/result/TransactionConfirmSuccessResult.d.ts +8 -0
  242. package/dist/types/components/composites/tx-preview/confirm/result/TransactionConfirmTxHashRow.d.ts +6 -0
  243. package/dist/types/components/composites/tx-preview/confirm/result/constants.d.ts +18 -0
  244. package/dist/types/components/composites/tx-preview/confirm/result/index.d.ts +5 -0
  245. package/dist/types/components/composites/tx-preview/confirm/stepper/TransactionProgressStepper.d.ts +7 -0
  246. package/dist/types/components/composites/tx-preview/confirm/stepper/constants.d.ts +3 -0
  247. package/dist/types/components/composites/tx-preview/confirm/stepper/index.d.ts +3 -0
  248. package/dist/types/components/composites/tx-preview/confirm/stepper/transactionExecutionStepTypes.d.ts +10 -0
  249. package/dist/types/components/composites/tx-preview/confirm/summary/PoolOperationConfirmDetails.d.ts +15 -0
  250. package/dist/types/components/composites/tx-preview/confirm/summary/constants.d.ts +3 -0
  251. package/dist/types/components/composites/tx-preview/confirm/summary/index.d.ts +2 -0
  252. package/dist/types/components/composites/tx-preview/index.d.ts +17 -0
  253. package/dist/types/components/composites/tx-preview/operations/OperationBody.d.ts +15 -0
  254. package/dist/types/components/composites/tx-preview/operations/OperationsCard.d.ts +21 -0
  255. package/dist/types/components/composites/tx-preview/operations/PoolDepositView.d.ts +11 -0
  256. package/dist/types/components/composites/tx-preview/operations/PoolRow.d.ts +8 -0
  257. package/dist/types/components/composites/tx-preview/operations/PoolWithdrawView.d.ts +11 -0
  258. package/dist/types/components/composites/tx-preview/operations/index.d.ts +5 -0
  259. package/dist/types/components/composites/tx-preview/state-change/BalanceChangeGroup.d.ts +11 -0
  260. package/dist/types/components/composites/tx-preview/state-change/BalanceChangeRow.d.ts +14 -0
  261. package/dist/types/components/composites/tx-preview/state-change/PoolStateChangeCard.d.ts +18 -0
  262. package/dist/types/components/composites/tx-preview/state-change/StateChangeCard.d.ts +21 -0
  263. package/dist/types/components/composites/tx-preview/state-change/index.d.ts +4 -0
  264. package/dist/types/components/composites/tx-preview/types.d.ts +19 -0
  265. package/dist/types/components/composites/tx-preview/utils/addressLabels.d.ts +16 -0
  266. package/dist/types/components/composites/tx-preview/utils/index.d.ts +2 -0
  267. package/dist/types/components/composites/tx-preview/utils/poolTokenInfo.d.ts +14 -0
  268. package/dist/types/components/confirm-menu/confirm-menu.d.ts +4 -2
  269. package/dist/types/components/help-tip/help-tip.d.ts +2 -2
  270. package/dist/types/components/index.d.ts +1 -0
  271. package/dist/types/components/layout/app-footer/app-footer.d.ts +62 -0
  272. package/dist/types/components/layout/app-footer/index.d.ts +1 -0
  273. package/dist/types/components/layout/app-header/app-header.d.ts +67 -0
  274. package/dist/types/components/layout/app-header/index.d.ts +1 -0
  275. package/dist/types/components/layout/index.d.ts +2 -0
  276. package/dist/types/components/layout/main-aside-layout/main-aside-layout.d.ts +24 -0
  277. package/dist/types/components/legal-agreement/index.d.ts +5 -1
  278. package/dist/types/components/legal-agreement/legal-agreement-awaiting-panel.d.ts +10 -0
  279. package/dist/types/components/legal-agreement/legal-agreement-dialog.d.ts +19 -52
  280. package/dist/types/components/legal-agreement/legal-agreement-link.d.ts +11 -0
  281. package/dist/types/components/legal-agreement/legal-agreement-panel.d.ts +16 -0
  282. package/dist/types/components/legal-agreement/legal-agreement-theme.d.ts +36 -0
  283. package/dist/types/components/legal-agreement/legal-agreement.stories-config.d.ts +11 -0
  284. package/dist/types/components/smart-number-input/smart-number-input.d.ts +41 -1
  285. package/dist/types/components/tip-card/tip-card.d.ts +1 -1
  286. package/dist/types/components/vertical-indicator/vertical-indicator.d.ts +6 -0
  287. package/dist/types/hooks/use-filter.d.ts +46 -0
  288. package/dist/types/index.d.ts +2 -0
  289. package/dist/types/locale/en.json.d.ts +6 -0
  290. package/dist/types/types/footer.d.ts +24 -3
  291. package/package.json +16 -3
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Transaction preview + confirm flow (WIP).
3
+ *
4
+ * Intentionally NOT re-exported from the main `@gearbox-protocol/ui-kit` entry or
5
+ * `components/composites/index.ts`. The module is still in development; its final
6
+ * scope, API shape, and completion timeline are not settled yet.
7
+ *
8
+ * Consumers should import only via `@gearbox-protocol/ui-kit/tx-preview` (and documented
9
+ * deep subpaths). Merging into the root ui-kit barrel is a separate decision once
10
+ * the module is stable.
11
+ */
12
+ export * from './components';
13
+ export * from './confirm';
14
+ export * from './operations';
15
+ export * from './state-change';
16
+ export * from './types';
17
+ export * from './utils';
@@ -0,0 +1,15 @@
1
+ import { Operation } from '@gearbox-protocol/sdk/preview';
2
+ import { Address } from 'viem';
3
+ import { GearboxSDKLike } from '../types';
4
+ export interface OperationBodyProps {
5
+ sdk: GearboxSDKLike;
6
+ operation: Operation;
7
+ /** Wallet whose transfers are highlighted; populated after simulation. */
8
+ wallet: Address;
9
+ }
10
+ /**
11
+ * Renders the body of the outer operation (rows only, no card chrome).
12
+ * Currently handles pool deposit/redeem; credit-facade operations
13
+ * ({@link OuterFacadeOperation}) are a future branch.
14
+ */
15
+ export declare function OperationBody({ sdk, operation, wallet }: OperationBodyProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,21 @@
1
+ import { Operation } from '@gearbox-protocol/sdk/preview';
2
+ import { Address } from 'viem';
3
+ import { GearboxSDKLike } from '../types';
4
+ export interface OperationsCardProps {
5
+ sdk: GearboxSDKLike;
6
+ transaction: Operation;
7
+ wallet: Address;
8
+ }
9
+ /**
10
+ * Whether a dedicated custom operation view exists for the parsed transaction.
11
+ * Drives both whether {@link OperationsCard} renders and whether the raw
12
+ * transaction card starts expanded. Currently only pool operations have a view.
13
+ */
14
+ export declare function hasOperationView(tx: Operation): boolean;
15
+ /**
16
+ * Collapsible card (open by default) for a decoded transaction. Renders the
17
+ * outer operation in its content. Pool operations have no inner operations, so
18
+ * the card body is just the operation rows; credit-facade operations will later
19
+ * render their {@link InnerOperation}s as nested non-collapsible cards here.
20
+ */
21
+ export declare function OperationsCard({ sdk, transaction, wallet, }: OperationsCardProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,11 @@
1
+ import { PoolDepositOperation } from '@gearbox-protocol/sdk/preview';
2
+ import { Address } from 'viem';
3
+ import { GearboxSDKLike } from '../types';
4
+ export interface PoolDepositViewProps {
5
+ sdk: GearboxSDKLike;
6
+ operation: PoolDepositOperation;
7
+ /** Wallet whose transfers are highlighted; populated after simulation. */
8
+ wallet: Address;
9
+ }
10
+ /** Human-readable body of a Gearbox pool deposit operation (rows only). */
11
+ export declare function PoolDepositView({ sdk, operation, wallet, }: PoolDepositViewProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { Address } from 'viem';
2
+ import { TokenInfo } from '../utils';
3
+ export interface PoolRowProps {
4
+ pool: TokenInfo;
5
+ address: Address;
6
+ }
7
+ /** Pool row: shows the pool's human label plus the copyable pool address. */
8
+ export declare function PoolRow({ pool, address }: PoolRowProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { PoolRedeemOperation } from '@gearbox-protocol/sdk/preview';
2
+ import { Address } from 'viem';
3
+ import { GearboxSDKLike } from '../types';
4
+ export interface PoolWithdrawViewProps {
5
+ sdk: GearboxSDKLike;
6
+ operation: PoolRedeemOperation;
7
+ /** Wallet whose transfers are highlighted; populated after simulation. */
8
+ wallet: Address;
9
+ }
10
+ /** Human-readable body of a Gearbox pool withdraw (redeem) operation (rows only). */
11
+ export declare function PoolWithdrawView({ sdk, operation, wallet, }: PoolWithdrawViewProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,5 @@
1
+ export * from './OperationBody';
2
+ export * from './OperationsCard';
3
+ export * from './PoolDepositView';
4
+ export * from './PoolRow';
5
+ export * from './PoolWithdrawView';
@@ -0,0 +1,11 @@
1
+ import { AddressBalanceChanges } from '@gearbox-protocol/sdk/preview';
2
+ import { AddressLabels } from '../components';
3
+ import { GearboxSDKLike } from '../types';
4
+ export interface BalanceChangeGroupProps {
5
+ sdk: GearboxSDKLike;
6
+ group: AddressBalanceChanges;
7
+ /** Resolved labels for the involved addresses (drives the group divider). */
8
+ labels: AddressLabels;
9
+ }
10
+ /** One labeled section of balance changes for a single address. */
11
+ export declare function BalanceChangeGroup({ sdk, group, labels, }: BalanceChangeGroupProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,14 @@
1
+ import { TokenBalanceChange } from '@gearbox-protocol/sdk/preview';
2
+ import { GearboxSDKLike } from '../types';
3
+ export interface BalanceChangeRowProps {
4
+ sdk: GearboxSDKLike;
5
+ change: TokenBalanceChange;
6
+ }
7
+ /**
8
+ * One token balance change as three grid cells (the parent group owns the shared
9
+ * grid template so columns line up across rows): the token (symbol + name,
10
+ * left-aligned and flexible), the struck-through before value with an arrow to
11
+ * the after value, and the signed diff in brackets. The whole row is colored
12
+ * green for a positive delta and red for a negative one.
13
+ */
14
+ export declare function BalanceChangeRow({ sdk, change }: BalanceChangeRowProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,18 @@
1
+ import { AddressBalanceChanges, PoolOperation } from '@gearbox-protocol/sdk/preview';
2
+ import { Address } from 'viem';
3
+ import { GearboxSDKLike } from '../types';
4
+ export interface PoolStateChangeCardProps {
5
+ sdk: GearboxSDKLike;
6
+ /** The decoded pool deposit/redeem operation. */
7
+ operation: PoolOperation;
8
+ /** Balance changes grouped by watched address (from a successful simulation). */
9
+ balanceChanges: AddressBalanceChanges[];
10
+ /** Wallet whose balances are highlighted. */
11
+ wallet: Address;
12
+ }
13
+ /**
14
+ * Pool-specific state-change content: balance changes grouped by address (wallet
15
+ * and, when distinct, the recipient). Renders content only; the surrounding card
16
+ * chrome, loading, and error handling live in {@link StateChangeCard}.
17
+ */
18
+ export declare function PoolStateChangeCard({ sdk, operation, balanceChanges, wallet, }: PoolStateChangeCardProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,21 @@
1
+ import { Operation, PoolSimulationResult } from '@gearbox-protocol/sdk/preview';
2
+ import { Address } from 'viem';
3
+ import { GearboxSDKLike } from '../types';
4
+ export interface StateChangeCardProps {
5
+ sdk: GearboxSDKLike;
6
+ /** Parsed operation that drives which specific state-change card is shown. */
7
+ data: Operation;
8
+ /** Stage-2 simulation outcome; `undefined` while it is loading. */
9
+ simulation: PoolSimulationResult | undefined;
10
+ /** Whether the simulation is still running. */
11
+ isLoading: boolean;
12
+ /** Wallet whose balances/transfers are highlighted. */
13
+ wallet: Address;
14
+ }
15
+ /**
16
+ * Parent card for transaction state changes. Owns the common logic (collapsible
17
+ * card shell, loading skeleton, card-styled error, and no-data handling) and
18
+ * decides which specific state-change card to render: pool balance changes,
19
+ * credit account changes (not yet supported), or the decoded revert reason.
20
+ */
21
+ export declare function StateChangeCard({ sdk, data, simulation, isLoading, wallet, }: StateChangeCardProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,4 @@
1
+ export * from './BalanceChangeGroup';
2
+ export * from './BalanceChangeRow';
3
+ export * from './PoolStateChangeCard';
4
+ export * from './StateChangeCard';
@@ -0,0 +1,19 @@
1
+ import { Address } from 'viem';
2
+ /**
3
+ * Minimal SDK surface for tx-preview UI + hooks.
4
+ * Satisfied by verify OnchainSDK and client preview SDK instances.
5
+ */
6
+ export interface GearboxSDKLike {
7
+ chainId: number;
8
+ tokensMeta: {
9
+ get(address: Address): {
10
+ symbol?: string;
11
+ decimals?: number;
12
+ name?: string;
13
+ } | undefined;
14
+ };
15
+ readonly plugins: {
16
+ adapters: unknown;
17
+ };
18
+ client: unknown;
19
+ }
@@ -0,0 +1,16 @@
1
+ import { PoolOperation } from '@gearbox-protocol/sdk/preview';
2
+ import { Address } from 'viem';
3
+ import { AddressLabels } from '../components';
4
+ import { GearboxSDKLike } from '../types';
5
+ /**
6
+ * Builds the UI label map for a pool deposit/redeem operation.
7
+ *
8
+ * "Our" addresses (wallet, receiver, redeem owner) are flagged `ours: true`; the
9
+ * pool is labeled with its name and flagged `ours: false`. When the receiver /
10
+ * owner coincides with the wallet, it is labeled "Your wallet".
11
+ *
12
+ * Note: the `ours` flag is a UI-only concept and is derived locally here; it is
13
+ * intentionally decoupled from the simulation watch set in the SDK preview
14
+ * `simulate` module.
15
+ */
16
+ export declare function buildPoolOperationLabels(sdk: GearboxSDKLike, op: PoolOperation, wallet: Address): AddressLabels;
@@ -0,0 +1,2 @@
1
+ export * from './addressLabels';
2
+ export * from './poolTokenInfo';
@@ -0,0 +1,14 @@
1
+ import { Address } from 'viem';
2
+ import { GearboxSDKLike } from '../types';
3
+ export interface TokenInfo {
4
+ symbol: string;
5
+ decimals: number;
6
+ /** Human-readable token/pool name, when available. */
7
+ name?: string;
8
+ }
9
+ /**
10
+ * Resolves a token's symbol, decimals and name from `sdk.tokensMeta`, falling
11
+ * back to a shortened address / 18 decimals when the token is not in the
12
+ * registry. For pools, the diesel-token meta carries the pool name.
13
+ */
14
+ export declare function resolveToken(sdk: GearboxSDKLike, address: Address): TokenInfo;
@@ -2,8 +2,10 @@ import * as React from "react";
2
2
  export interface ConfirmMenuProps {
3
3
  /** Title text or element shown in the header */
4
4
  title: React.ReactNode;
5
- /** Callback when the close button is clicked */
6
- onClose: () => void;
5
+ /** Optional badge or addon rendered after the title (e.g. LP pill). */
6
+ titleAddon?: React.ReactNode;
7
+ /** Callback when the close button is clicked. Omit to hide the close control. */
8
+ onClose?: () => void;
7
9
  /** Additional CSS class applied to the root element */
8
10
  className?: string;
9
11
  }
@@ -1,8 +1,8 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
2
  import * as React from "react";
3
3
  declare const iconColorVariants: (props?: ({
4
- iconColor?: "muted" | "foreground" | "gray-10" | "gray-20" | "gray-30" | "gray-40" | "gray-50" | "gray-60" | "gray-70" | "gray-80" | "gray-90" | "gray-100" | "gray-110" | null | undefined;
5
- iconHoverColor?: "muted" | "foreground" | "gray-10" | "gray-20" | "gray-30" | "gray-40" | "gray-50" | "gray-60" | "gray-70" | "gray-80" | "gray-90" | "gray-100" | "gray-110" | null | undefined;
4
+ iconColor?: "muted" | "foreground" | "gray-50" | "gray-10" | "gray-20" | "gray-30" | "gray-40" | "gray-60" | "gray-70" | "gray-80" | "gray-90" | "gray-100" | "gray-110" | null | undefined;
5
+ iconHoverColor?: "muted" | "foreground" | "gray-50" | "gray-10" | "gray-20" | "gray-30" | "gray-40" | "gray-60" | "gray-70" | "gray-80" | "gray-90" | "gray-100" | "gray-110" | null | undefined;
6
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
7
  export interface HelpTipProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, "title"> {
8
8
  /** Tooltip popup content (what appears when hovering the icon). */
@@ -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,19 @@ 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;
31
44
  }
32
45
  /**
33
46
  * MainAsideLayout — main column + optional sidebar in one row.
@@ -54,5 +67,16 @@ export interface MainAsideLayoutProps extends React.HTMLAttributes<HTMLDivElemen
54
67
  * ```
55
68
  * This reproduces the `PoolDetailsScreen` two-column layout:
56
69
  * sticky aside below 2450 px viewport, fixed aside above it, correct max-widths.
70
+ *
71
+ * ### Detail variant — viewport-centred main (`centeredMain`)
72
+ * ```tsx
73
+ * <div className="hidden lg:block">
74
+ * <MainAsideLayout variant="detail" asidePosition="left" centeredMain aside={<Panel />}>
75
+ * <Content />
76
+ * </MainAsideLayout>
77
+ * </div>
78
+ * ```
79
+ * Centres the main column on the viewport (up to `56rem`) while the aside sits
80
+ * in the left gutter from `1520px`; below that the row behaves like LP detail.
57
81
  */
58
82
  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;