@gearbox-protocol/ui-kit 3.14.0-next.12 → 3.14.0-next.14

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 (199) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/components/assets-list-cell/assets-list-cell.cjs +1 -1
  3. package/dist/cjs/components/block-sync/block-sync.cjs +1 -1
  4. package/dist/cjs/components/checkbox/checkbox-labeled.cjs +1 -1
  5. package/dist/cjs/components/client-adapters/styled-rounded-image/styled-rounded-image.cjs +1 -1
  6. package/dist/cjs/components/complex-input/complex-input.cjs +1 -1
  7. package/dist/cjs/components/composites/pool-table/columns.cjs +1 -1
  8. package/dist/cjs/components/composites/tx-preview/components/AddressAvatar.cjs +1 -0
  9. package/dist/cjs/components/composites/tx-preview/components/AddressParty.cjs +1 -0
  10. package/dist/cjs/components/composites/tx-preview/components/AddressRow.cjs +1 -0
  11. package/dist/cjs/components/composites/tx-preview/components/AmountRow.cjs +1 -0
  12. package/dist/cjs/components/composites/tx-preview/components/CollapsibleCard.cjs +1 -0
  13. package/dist/cjs/components/composites/tx-preview/components/SectionDivider.cjs +1 -0
  14. package/dist/cjs/components/composites/tx-preview/components/TransferList.cjs +1 -0
  15. package/dist/cjs/components/composites/tx-preview/components/TransferRow.cjs +1 -0
  16. package/dist/cjs/components/composites/tx-preview/components/addressLabel.cjs +1 -0
  17. package/dist/cjs/components/composites/tx-preview/components/index.cjs +1 -0
  18. package/dist/cjs/components/composites/tx-preview/confirm/dialog/TransactionConfirmDialogView.cjs +1 -0
  19. package/dist/cjs/components/composites/tx-preview/confirm/dialog/constants.cjs +1 -0
  20. package/dist/cjs/components/composites/tx-preview/confirm/dialog/index.cjs +1 -0
  21. package/dist/cjs/components/composites/tx-preview/confirm/dialog/useTransactionConfirmDialog.cjs +1 -0
  22. package/dist/cjs/components/composites/tx-preview/confirm/hooks/index.cjs +1 -0
  23. package/dist/cjs/components/composites/tx-preview/confirm/hooks/useCalldataOperationPreview.cjs +1 -0
  24. package/dist/cjs/components/composites/tx-preview/confirm/index.cjs +1 -0
  25. package/dist/cjs/components/composites/tx-preview/confirm/preview/OperationPreviewContent.cjs +1 -0
  26. package/dist/cjs/components/composites/tx-preview/confirm/preview/index.cjs +1 -0
  27. package/dist/cjs/components/composites/tx-preview/confirm/stepper/HorizontalTransactionStepper.cjs +1 -0
  28. package/dist/cjs/components/composites/tx-preview/confirm/stepper/computeTransactionExecutionSteps.cjs +1 -0
  29. package/dist/cjs/components/composites/tx-preview/confirm/stepper/constants.cjs +1 -0
  30. package/dist/cjs/components/composites/tx-preview/confirm/stepper/index.cjs +1 -0
  31. package/dist/cjs/components/composites/tx-preview/confirm/stepper/useCompletedStepsInSession.cjs +1 -0
  32. package/dist/cjs/components/composites/tx-preview/confirm/summary/PoolOperationConfirmSummary.cjs +1 -0
  33. package/dist/cjs/components/composites/tx-preview/confirm/summary/constants.cjs +1 -0
  34. package/dist/cjs/components/composites/tx-preview/confirm/summary/index.cjs +1 -0
  35. package/dist/cjs/components/composites/tx-preview/hooks/useParsedTransaction.cjs +1 -0
  36. package/dist/cjs/components/composites/tx-preview/index.cjs +1 -0
  37. package/dist/cjs/components/composites/tx-preview/operations/OperationBody.cjs +1 -0
  38. package/dist/cjs/components/composites/tx-preview/operations/OperationsCard.cjs +1 -0
  39. package/dist/cjs/components/composites/tx-preview/operations/PoolDepositView.cjs +1 -0
  40. package/dist/cjs/components/composites/tx-preview/operations/PoolRow.cjs +1 -0
  41. package/dist/cjs/components/composites/tx-preview/operations/PoolWithdrawView.cjs +1 -0
  42. package/dist/cjs/components/composites/tx-preview/operations/index.cjs +1 -0
  43. package/dist/cjs/components/composites/tx-preview/prerequisites/PrerequisiteRow.cjs +1 -0
  44. package/dist/cjs/components/composites/tx-preview/prerequisites/PrerequisitesCard.cjs +1 -0
  45. package/dist/cjs/components/composites/tx-preview/prerequisites/index.cjs +1 -0
  46. package/dist/cjs/components/composites/tx-preview/prerequisites/prerequisiteDetails.cjs +1 -0
  47. package/dist/cjs/components/composites/tx-preview/prerequisites/usePrerequisites.cjs +1 -0
  48. package/dist/cjs/components/composites/tx-preview/state-change/BalanceChangeGroup.cjs +1 -0
  49. package/dist/cjs/components/composites/tx-preview/state-change/BalanceChangeRow.cjs +1 -0
  50. package/dist/cjs/components/composites/tx-preview/state-change/PoolStateChangeCard.cjs +1 -0
  51. package/dist/cjs/components/composites/tx-preview/state-change/StateChangeCard.cjs +1 -0
  52. package/dist/cjs/components/composites/tx-preview/state-change/index.cjs +1 -0
  53. package/dist/cjs/components/composites/tx-preview/types.cjs +1 -0
  54. package/dist/cjs/components/composites/tx-preview/utils/addressLabels.cjs +1 -0
  55. package/dist/cjs/components/composites/tx-preview/utils/index.cjs +1 -0
  56. package/dist/cjs/components/composites/tx-preview/utils/poolTokenInfo.cjs +1 -0
  57. package/dist/cjs/components/compound-apy/compound-apy.cjs +1 -1
  58. package/dist/cjs/components/detailed-page-title/detailed-page-title.cjs +1 -1
  59. package/dist/cjs/components/index.cjs +1 -1
  60. package/dist/cjs/components/legal-agreement/index.cjs +1 -1
  61. package/dist/cjs/components/legal-agreement/legal-agreement-awaiting-panel.cjs +1 -0
  62. package/dist/cjs/components/legal-agreement/legal-agreement-dialog.cjs +1 -1
  63. package/dist/cjs/components/legal-agreement/legal-agreement-link.cjs +1 -0
  64. package/dist/cjs/components/legal-agreement/legal-agreement-panel.cjs +1 -0
  65. package/dist/cjs/components/legal-agreement/legal-agreement-theme.cjs +1 -0
  66. package/dist/cjs/components/legal-agreement/legal-agreement.stories-config.cjs +1 -0
  67. package/dist/cjs/components/markdown-viewer/markdown-viewer.cjs +1 -1
  68. package/dist/cjs/components/time-to-liquidation/time-to-liquidation.cjs +1 -1
  69. package/dist/cjs/components/tokens-list-cell/tokens-list-cell.cjs +1 -1
  70. package/dist/cjs/components/with-copy/with-copy.cjs +1 -1
  71. package/dist/cjs/index.cjs +1 -1
  72. package/dist/esm/components/assets-list-cell/assets-list-cell.js +3 -2
  73. package/dist/esm/components/block-sync/block-sync.js +3 -2
  74. package/dist/esm/components/checkbox/checkbox-labeled.js +1 -0
  75. package/dist/esm/components/client-adapters/styled-rounded-image/styled-rounded-image.js +1 -0
  76. package/dist/esm/components/complex-input/complex-input.js +3 -2
  77. package/dist/esm/components/composites/pool-table/columns.js +34 -33
  78. package/dist/esm/components/composites/tx-preview/components/AddressAvatar.js +47 -0
  79. package/dist/esm/components/composites/tx-preview/components/AddressParty.js +17 -0
  80. package/dist/esm/components/composites/tx-preview/components/AddressRow.js +16 -0
  81. package/dist/esm/components/composites/tx-preview/components/AmountRow.js +30 -0
  82. package/dist/esm/components/composites/tx-preview/components/CollapsibleCard.js +45 -0
  83. package/dist/esm/components/composites/tx-preview/components/SectionDivider.js +12 -0
  84. package/dist/esm/components/composites/tx-preview/components/TransferList.js +25 -0
  85. package/dist/esm/components/composites/tx-preview/components/TransferRow.js +52 -0
  86. package/dist/esm/components/composites/tx-preview/components/addressLabel.js +7 -0
  87. package/dist/esm/components/composites/tx-preview/components/index.js +20 -0
  88. package/dist/esm/components/composites/tx-preview/confirm/dialog/TransactionConfirmDialogView.js +58 -0
  89. package/dist/esm/components/composites/tx-preview/confirm/dialog/constants.js +12 -0
  90. package/dist/esm/components/composites/tx-preview/confirm/dialog/index.js +9 -0
  91. package/dist/esm/components/composites/tx-preview/confirm/dialog/useTransactionConfirmDialog.js +20 -0
  92. package/dist/esm/components/composites/tx-preview/confirm/hooks/index.js +4 -0
  93. package/dist/esm/components/composites/tx-preview/confirm/hooks/useCalldataOperationPreview.js +35 -0
  94. package/dist/esm/components/composites/tx-preview/confirm/index.js +26 -0
  95. package/dist/esm/components/composites/tx-preview/confirm/preview/OperationPreviewContent.js +204 -0
  96. package/dist/esm/components/composites/tx-preview/confirm/preview/index.js +4 -0
  97. package/dist/esm/components/composites/tx-preview/confirm/stepper/HorizontalTransactionStepper.js +136 -0
  98. package/dist/esm/components/composites/tx-preview/confirm/stepper/computeTransactionExecutionSteps.js +47 -0
  99. package/dist/esm/components/composites/tx-preview/confirm/stepper/constants.js +6 -0
  100. package/dist/esm/components/composites/tx-preview/confirm/stepper/index.js +11 -0
  101. package/dist/esm/components/composites/tx-preview/confirm/stepper/useCompletedStepsInSession.js +39 -0
  102. package/dist/esm/components/composites/tx-preview/confirm/summary/PoolOperationConfirmSummary.js +92 -0
  103. package/dist/esm/components/composites/tx-preview/confirm/summary/constants.js +6 -0
  104. package/dist/esm/components/composites/tx-preview/confirm/summary/index.js +6 -0
  105. package/dist/esm/components/composites/tx-preview/hooks/useParsedTransaction.js +45 -0
  106. package/dist/esm/components/composites/tx-preview/index.js +78 -0
  107. package/dist/esm/components/composites/tx-preview/operations/OperationBody.js +10 -0
  108. package/dist/esm/components/composites/tx-preview/operations/OperationsCard.js +192 -0
  109. package/dist/esm/components/composites/tx-preview/operations/PoolDepositView.js +201 -0
  110. package/dist/esm/components/composites/tx-preview/operations/PoolRow.js +20 -0
  111. package/dist/esm/components/composites/tx-preview/operations/PoolWithdrawView.js +195 -0
  112. package/dist/esm/components/composites/tx-preview/operations/index.js +13 -0
  113. package/dist/esm/components/composites/tx-preview/prerequisites/PrerequisiteRow.js +21 -0
  114. package/dist/esm/components/composites/tx-preview/prerequisites/PrerequisitesCard.js +207 -0
  115. package/dist/esm/components/composites/tx-preview/prerequisites/index.js +11 -0
  116. package/dist/esm/components/composites/tx-preview/prerequisites/prerequisiteDetails.js +58 -0
  117. package/dist/esm/components/composites/tx-preview/prerequisites/usePrerequisites.js +39 -0
  118. package/dist/esm/components/composites/tx-preview/state-change/BalanceChangeGroup.js +182 -0
  119. package/dist/esm/components/composites/tx-preview/state-change/BalanceChangeRow.js +61 -0
  120. package/dist/esm/components/composites/tx-preview/state-change/PoolStateChangeCard.js +23 -0
  121. package/dist/esm/components/composites/tx-preview/state-change/StateChangeCard.js +197 -0
  122. package/dist/esm/components/composites/tx-preview/state-change/index.js +10 -0
  123. package/dist/esm/components/composites/tx-preview/types.js +1 -0
  124. package/dist/esm/components/composites/tx-preview/utils/addressLabels.js +41 -0
  125. package/dist/esm/components/composites/tx-preview/utils/index.js +6 -0
  126. package/dist/esm/components/composites/tx-preview/utils/poolTokenInfo.js +12 -0
  127. package/dist/esm/components/compound-apy/compound-apy.js +3 -2
  128. package/dist/esm/components/detailed-page-title/detailed-page-title.js +1 -0
  129. package/dist/esm/components/index.js +504 -488
  130. package/dist/esm/components/legal-agreement/index.js +23 -7
  131. package/dist/esm/components/legal-agreement/legal-agreement-awaiting-panel.js +29 -0
  132. package/dist/esm/components/legal-agreement/legal-agreement-dialog.js +72 -212
  133. package/dist/esm/components/legal-agreement/legal-agreement-link.js +22 -0
  134. package/dist/esm/components/legal-agreement/legal-agreement-panel.js +130 -0
  135. package/dist/esm/components/legal-agreement/legal-agreement-theme.js +137 -0
  136. package/dist/esm/components/legal-agreement/legal-agreement.stories-config.js +170 -0
  137. package/dist/esm/components/markdown-viewer/markdown-viewer.js +3 -2
  138. package/dist/esm/components/time-to-liquidation/time-to-liquidation.js +1 -0
  139. package/dist/esm/components/tokens-list-cell/tokens-list-cell.js +3 -2
  140. package/dist/esm/components/with-copy/with-copy.js +3 -2
  141. package/dist/esm/index.js +836 -820
  142. package/dist/globals.css +1 -1
  143. package/dist/types/components/composites/tx-preview/components/AddressAvatar.d.ts +12 -0
  144. package/dist/types/components/composites/tx-preview/components/AddressParty.d.ts +14 -0
  145. package/dist/types/components/composites/tx-preview/components/AddressRow.d.ts +7 -0
  146. package/dist/types/components/composites/tx-preview/components/AmountRow.d.ts +15 -0
  147. package/dist/types/components/composites/tx-preview/components/CollapsibleCard.d.ts +22 -0
  148. package/dist/types/components/composites/tx-preview/components/SectionDivider.d.ts +10 -0
  149. package/dist/types/components/composites/tx-preview/components/TransferList.d.ts +19 -0
  150. package/dist/types/components/composites/tx-preview/components/TransferRow.d.ts +30 -0
  151. package/dist/types/components/composites/tx-preview/components/addressLabel.d.ts +27 -0
  152. package/dist/types/components/composites/tx-preview/components/index.d.ts +9 -0
  153. package/dist/types/components/composites/tx-preview/confirm/dialog/TransactionConfirmDialogView.d.ts +15 -0
  154. package/dist/types/components/composites/tx-preview/confirm/dialog/constants.d.ts +7 -0
  155. package/dist/types/components/composites/tx-preview/confirm/dialog/index.d.ts +3 -0
  156. package/dist/types/components/composites/tx-preview/confirm/dialog/useTransactionConfirmDialog.d.ts +8 -0
  157. package/dist/types/components/composites/tx-preview/confirm/hooks/index.d.ts +1 -0
  158. package/dist/types/components/composites/tx-preview/confirm/hooks/useCalldataOperationPreview.d.ts +19 -0
  159. package/dist/types/components/composites/tx-preview/confirm/index.d.ts +5 -0
  160. package/dist/types/components/composites/tx-preview/confirm/preview/OperationPreviewContent.d.ts +13 -0
  161. package/dist/types/components/composites/tx-preview/confirm/preview/index.d.ts +1 -0
  162. package/dist/types/components/composites/tx-preview/confirm/stepper/HorizontalTransactionStepper.d.ts +7 -0
  163. package/dist/types/components/composites/tx-preview/confirm/stepper/computeTransactionExecutionSteps.d.ts +28 -0
  164. package/dist/types/components/composites/tx-preview/confirm/stepper/constants.d.ts +3 -0
  165. package/dist/types/components/composites/tx-preview/confirm/stepper/index.d.ts +4 -0
  166. package/dist/types/components/composites/tx-preview/confirm/stepper/useCompletedStepsInSession.d.ts +14 -0
  167. package/dist/types/components/composites/tx-preview/confirm/summary/PoolOperationConfirmSummary.d.ts +18 -0
  168. package/dist/types/components/composites/tx-preview/confirm/summary/constants.d.ts +3 -0
  169. package/dist/types/components/composites/tx-preview/confirm/summary/index.d.ts +2 -0
  170. package/dist/types/components/composites/tx-preview/hooks/useParsedTransaction.d.ts +40 -0
  171. package/dist/types/components/composites/tx-preview/index.d.ts +19 -0
  172. package/dist/types/components/composites/tx-preview/operations/OperationBody.d.ts +15 -0
  173. package/dist/types/components/composites/tx-preview/operations/OperationsCard.d.ts +21 -0
  174. package/dist/types/components/composites/tx-preview/operations/PoolDepositView.d.ts +11 -0
  175. package/dist/types/components/composites/tx-preview/operations/PoolRow.d.ts +8 -0
  176. package/dist/types/components/composites/tx-preview/operations/PoolWithdrawView.d.ts +11 -0
  177. package/dist/types/components/composites/tx-preview/operations/index.d.ts +5 -0
  178. package/dist/types/components/composites/tx-preview/prerequisites/PrerequisiteRow.d.ts +11 -0
  179. package/dist/types/components/composites/tx-preview/prerequisites/PrerequisitesCard.d.ts +17 -0
  180. package/dist/types/components/composites/tx-preview/prerequisites/index.d.ts +4 -0
  181. package/dist/types/components/composites/tx-preview/prerequisites/prerequisiteDetails.d.ts +17 -0
  182. package/dist/types/components/composites/tx-preview/prerequisites/usePrerequisites.d.ts +25 -0
  183. package/dist/types/components/composites/tx-preview/state-change/BalanceChangeGroup.d.ts +11 -0
  184. package/dist/types/components/composites/tx-preview/state-change/BalanceChangeRow.d.ts +14 -0
  185. package/dist/types/components/composites/tx-preview/state-change/PoolStateChangeCard.d.ts +18 -0
  186. package/dist/types/components/composites/tx-preview/state-change/StateChangeCard.d.ts +21 -0
  187. package/dist/types/components/composites/tx-preview/state-change/index.d.ts +4 -0
  188. package/dist/types/components/composites/tx-preview/types.d.ts +19 -0
  189. package/dist/types/components/composites/tx-preview/utils/addressLabels.d.ts +16 -0
  190. package/dist/types/components/composites/tx-preview/utils/index.d.ts +2 -0
  191. package/dist/types/components/composites/tx-preview/utils/poolTokenInfo.d.ts +14 -0
  192. package/dist/types/components/legal-agreement/index.d.ts +5 -1
  193. package/dist/types/components/legal-agreement/legal-agreement-awaiting-panel.d.ts +10 -0
  194. package/dist/types/components/legal-agreement/legal-agreement-dialog.d.ts +19 -52
  195. package/dist/types/components/legal-agreement/legal-agreement-link.d.ts +11 -0
  196. package/dist/types/components/legal-agreement/legal-agreement-panel.d.ts +16 -0
  197. package/dist/types/components/legal-agreement/legal-agreement-theme.d.ts +36 -0
  198. package/dist/types/components/legal-agreement/legal-agreement.stories-config.d.ts +11 -0
  199. package/package.json +12 -2
@@ -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;
@@ -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;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/ui-kit",
3
- "version": "3.14.0-next.12",
3
+ "version": "3.14.0-next.14",
4
4
  "description": "Internal UI components",
5
5
  "repository": "https://github.com/gearbox-protocol/ui-kit",
6
6
  "license": "MIT",
@@ -54,6 +54,16 @@
54
54
  "types": "./dist/types/components/next/connectkit/index.d.ts",
55
55
  "import": "./dist/esm/components/next/connectkit/index.js",
56
56
  "default": "./dist/cjs/components/next/connectkit/index.cjs"
57
+ },
58
+ "./tx-preview": {
59
+ "types": "./dist/types/components/composites/tx-preview/index.d.ts",
60
+ "import": "./dist/esm/components/composites/tx-preview/index.js",
61
+ "default": "./dist/cjs/components/composites/tx-preview/index.cjs"
62
+ },
63
+ "./tx-preview/*": {
64
+ "types": "./dist/types/components/composites/tx-preview/*.d.ts",
65
+ "import": "./dist/esm/components/composites/tx-preview/*.js",
66
+ "default": "./dist/cjs/components/composites/tx-preview/*.cjs"
57
67
  }
58
68
  },
59
69
  "files": [
@@ -153,7 +163,7 @@
153
163
  "@commitlint/cli": "^20.1.0",
154
164
  "@commitlint/config-conventional": "^20.0.0",
155
165
  "@gearbox-protocol/biome-config": "^1.0.2",
156
- "@gearbox-protocol/sdk": "14.8.5",
166
+ "@gearbox-protocol/sdk": "14.11.0-next.4",
157
167
  "@rollup/plugin-typescript": "^12.3.0",
158
168
  "@storybook/addon-a11y": "^10.0.8",
159
169
  "@storybook/addon-docs": "^10.0.8",