@gearbox-protocol/ui-kit 3.6.0 → 3.7.0-next.2

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 (82) hide show
  1. package/dist/cjs/components/assets-list-cell/assets-list-cell.cjs +1 -1
  2. package/dist/cjs/components/block-sync/block-sync.cjs +1 -1
  3. package/dist/cjs/components/checkbox/checkbox-labeled.cjs +1 -1
  4. package/dist/cjs/components/client-adapters/styled-rounded-image/styled-rounded-image.cjs +1 -1
  5. package/dist/cjs/components/complex-input/complex-input.cjs +1 -1
  6. package/dist/cjs/components/composites/index.cjs +1 -1
  7. package/dist/cjs/components/composites/pool-assets-table/index.cjs +1 -0
  8. package/dist/cjs/components/composites/pool-assets-table/pool-assets-table-head.cjs +1 -0
  9. package/dist/cjs/components/composites/pool-assets-table/pool-assets-table-row.cjs +1 -0
  10. package/dist/cjs/components/composites/pool-assets-table/pool-assets-table.cjs +1 -0
  11. package/dist/cjs/components/composites/pool-assets-table/types.cjs +1 -0
  12. package/dist/cjs/components/composites/pool-credit-manager-info/index.cjs +1 -0
  13. package/dist/cjs/components/composites/pool-credit-manager-info/overflow-layout.cjs +1 -0
  14. package/dist/cjs/components/composites/pool-credit-manager-info/pool-credit-manager-info.cjs +1 -0
  15. package/dist/cjs/components/composites/pool-credit-manager-info/test-ids.cjs +1 -0
  16. package/dist/cjs/components/composites/pool-credit-manager-info/types.cjs +1 -0
  17. package/dist/cjs/components/composites/pool-credit-managers-table/index.cjs +1 -0
  18. package/dist/cjs/components/composites/pool-credit-managers-table/pool-credit-managers-table-head.cjs +1 -0
  19. package/dist/cjs/components/composites/pool-credit-managers-table/pool-credit-managers-table-row.cjs +1 -0
  20. package/dist/cjs/components/composites/pool-credit-managers-table/pool-credit-managers-table.cjs +1 -0
  21. package/dist/cjs/components/composites/pool-credit-managers-table/pool-credit-managers-table.test-ids.cjs +1 -0
  22. package/dist/cjs/components/composites/pool-credit-managers-table/types.cjs +1 -0
  23. package/dist/cjs/components/compound-apy/compound-apy.cjs +1 -1
  24. package/dist/cjs/components/detailed-page-title/detailed-page-title.cjs +1 -1
  25. package/dist/cjs/components/index.cjs +1 -1
  26. package/dist/cjs/components/markdown-viewer/markdown-viewer.cjs +1 -1
  27. package/dist/cjs/components/time-to-liquidation/time-to-liquidation.cjs +1 -1
  28. package/dist/cjs/components/tokens-list-cell/tokens-list-cell.cjs +1 -1
  29. package/dist/cjs/components/with-copy/with-copy.cjs +1 -1
  30. package/dist/cjs/index.cjs +1 -1
  31. package/dist/cjs/locale/en.json.cjs +1 -1
  32. package/dist/esm/components/assets-list-cell/assets-list-cell.js +8 -8
  33. package/dist/esm/components/block-sync/block-sync.js +8 -8
  34. package/dist/esm/components/checkbox/checkbox-labeled.js +8 -8
  35. package/dist/esm/components/client-adapters/styled-rounded-image/styled-rounded-image.js +8 -8
  36. package/dist/esm/components/complex-input/complex-input.js +9 -9
  37. package/dist/esm/components/composites/index.js +33 -12
  38. package/dist/esm/components/composites/pool-assets-table/index.js +8 -0
  39. package/dist/esm/components/composites/pool-assets-table/pool-assets-table-head.js +54 -0
  40. package/dist/esm/components/composites/pool-assets-table/pool-assets-table-row.js +105 -0
  41. package/dist/esm/components/composites/pool-assets-table/pool-assets-table.js +43 -0
  42. package/dist/esm/components/composites/pool-assets-table/types.js +1 -0
  43. package/dist/esm/components/composites/pool-credit-manager-info/index.js +9 -0
  44. package/dist/esm/components/composites/pool-credit-manager-info/overflow-layout.js +5 -0
  45. package/dist/esm/components/composites/pool-credit-manager-info/pool-credit-manager-info.js +187 -0
  46. package/dist/esm/components/composites/pool-credit-manager-info/test-ids.js +6 -0
  47. package/dist/esm/components/composites/pool-credit-manager-info/types.js +1 -0
  48. package/dist/esm/components/composites/pool-credit-managers-table/index.js +10 -0
  49. package/dist/esm/components/composites/pool-credit-managers-table/pool-credit-managers-table-head.js +54 -0
  50. package/dist/esm/components/composites/pool-credit-managers-table/pool-credit-managers-table-row.js +71 -0
  51. package/dist/esm/components/composites/pool-credit-managers-table/pool-credit-managers-table.js +42 -0
  52. package/dist/esm/components/composites/pool-credit-managers-table/pool-credit-managers-table.test-ids.js +6 -0
  53. package/dist/esm/components/composites/pool-credit-managers-table/types.js +1 -0
  54. package/dist/esm/components/compound-apy/compound-apy.js +7 -7
  55. package/dist/esm/components/detailed-page-title/detailed-page-title.js +8 -8
  56. package/dist/esm/components/index.js +633 -612
  57. package/dist/esm/components/markdown-viewer/markdown-viewer.js +8 -8
  58. package/dist/esm/components/time-to-liquidation/time-to-liquidation.js +8 -8
  59. package/dist/esm/components/tokens-list-cell/tokens-list-cell.js +8 -8
  60. package/dist/esm/components/with-copy/with-copy.js +8 -8
  61. package/dist/esm/index.js +823 -802
  62. package/dist/esm/locale/en.json.js +19 -0
  63. package/dist/globals.css +1 -1
  64. package/dist/types/components/composites/index.d.ts +3 -0
  65. package/dist/types/components/composites/pool-assets-table/index.d.ts +4 -0
  66. package/dist/types/components/composites/pool-assets-table/pool-assets-table-head.d.ts +10 -0
  67. package/dist/types/components/composites/pool-assets-table/pool-assets-table-row.d.ts +15 -0
  68. package/dist/types/components/composites/pool-assets-table/pool-assets-table.d.ts +24 -0
  69. package/dist/types/components/composites/pool-assets-table/types.d.ts +25 -0
  70. package/dist/types/components/composites/pool-credit-manager-info/index.d.ts +4 -0
  71. package/dist/types/components/composites/pool-credit-manager-info/overflow-layout.d.ts +4 -0
  72. package/dist/types/components/composites/pool-credit-manager-info/pool-credit-manager-info.d.ts +20 -0
  73. package/dist/types/components/composites/pool-credit-manager-info/test-ids.d.ts +4 -0
  74. package/dist/types/components/composites/pool-credit-manager-info/types.d.ts +16 -0
  75. package/dist/types/components/composites/pool-credit-managers-table/index.d.ts +5 -0
  76. package/dist/types/components/composites/pool-credit-managers-table/pool-credit-managers-table-head.d.ts +10 -0
  77. package/dist/types/components/composites/pool-credit-managers-table/pool-credit-managers-table-row.d.ts +16 -0
  78. package/dist/types/components/composites/pool-credit-managers-table/pool-credit-managers-table.d.ts +21 -0
  79. package/dist/types/components/composites/pool-credit-managers-table/pool-credit-managers-table.test-ids.d.ts +6 -0
  80. package/dist/types/components/composites/pool-credit-managers-table/types.d.ts +33 -0
  81. package/dist/types/locale/en.json.d.ts +23 -0
  82. package/package.json +2 -2
@@ -1 +1,4 @@
1
+ export * from './pool-assets-table';
2
+ export * from './pool-credit-manager-info';
3
+ export * from './pool-credit-managers-table';
1
4
  export * from './pool-table';
@@ -0,0 +1,4 @@
1
+ export * from './pool-assets-table';
2
+ export * from './pool-assets-table-head';
3
+ export * from './pool-assets-table-row';
4
+ export type * from './types';
@@ -0,0 +1,10 @@
1
+ import { default as React } from 'react';
2
+ import { PoolAssetsTableSort } from './types';
3
+ /** Props for {@link PoolAssetsTableHead}. */
4
+ export interface PoolAssetsTableHeadProps {
5
+ readonly sort: PoolAssetsTableSort;
6
+ }
7
+ /**
8
+ * Header row: sortable Asset, Rate, and Limits columns (`components.poolAssetsTable.*` locale keys).
9
+ */
10
+ export declare function PoolAssetsTableHead({ sort, }: PoolAssetsTableHeadProps): React.ReactElement;
@@ -0,0 +1,15 @@
1
+ import { TokenData } from '@gearbox-protocol/sdk/common-utils';
2
+ import { default as React } from 'react';
3
+ import { PoolAssetsTableQuotaRow } from './types';
4
+ /** Props for {@link PoolAssetsTableRow}. */
5
+ export interface PoolAssetsTableRowProps {
6
+ readonly poolName: string;
7
+ readonly token: TokenData | undefined;
8
+ readonly currentQuota: PoolAssetsTableQuotaRow;
9
+ readonly underlyingToken: TokenData;
10
+ readonly last: boolean;
11
+ }
12
+ /**
13
+ * Single data row: token + pool name, `percentageTemplate` rate, and formatted usage vs limit.
14
+ */
15
+ export declare function PoolAssetsTableRow({ poolName, token, currentQuota, underlyingToken, last, }: PoolAssetsTableRowProps): React.ReactElement;
@@ -0,0 +1,24 @@
1
+ import { TokenData } from '@gearbox-protocol/sdk/common-utils';
2
+ import { default as React } from 'react';
3
+ import { Address } from 'viem';
4
+ import { PoolAssetsTableQuotaRow, PoolAssetsTableSort } from './types';
5
+ /**
6
+ * Props for {@link PoolAssetsTable}.
7
+ */
8
+ export interface PoolAssetsTableProps {
9
+ /** Quota rows to render (one per asset). */
10
+ readonly list: ReadonlyArray<PoolAssetsTableQuotaRow>;
11
+ /** Pool name shown under the asset title. */
12
+ readonly poolName: string;
13
+ readonly sort: PoolAssetsTableSort;
14
+ /** Token metadata keyed by token address (must include every `quota.token`). */
15
+ readonly tokensList: Partial<Record<Address, TokenData>>;
16
+ /** Underlying asset used for `TokenTemplate` amounts in the usage column. */
17
+ readonly underlyingToken: TokenData;
18
+ }
19
+ /**
20
+ * Grid table of pool asset quotas: asset / effective rate / limits usage.
21
+ * On viewports below the mobile breakpoint the header is hidden and each row
22
+ * uses the compact `TableLineSm` layout.
23
+ */
24
+ export declare function PoolAssetsTable({ list, poolName, sort, tokensList, underlyingToken, }: PoolAssetsTableProps): React.ReactElement | null;
@@ -0,0 +1,25 @@
1
+ import { Address } from 'viem';
2
+ import { SortField, SortSetterFunction } from '../../../hooks';
3
+ /** Column identifiers used by the pool assets table header sort controls. */
4
+ export type PoolAssetsSortFields = "name" | "rate" | "usage";
5
+ /**
6
+ * Sort state + setter wired to `HeadCell` / `useSort` (same pattern as `PoolTable`).
7
+ */
8
+ export interface PoolAssetsTableSort {
9
+ readonly state: SortField<PoolAssetsSortFields> | null;
10
+ readonly set: SortSetterFunction<PoolAssetsSortFields>;
11
+ }
12
+ /** Optional filter/sort bundle for screens that embed this table. */
13
+ export interface PoolAssetsFilterState {
14
+ readonly sort: PoolAssetsTableSort;
15
+ }
16
+ /**
17
+ * One asset line: quota limit, usage, and borrow rate.
18
+ * Shape aligns with Gearbox SDK quota / QuotaInfo-style data.
19
+ */
20
+ export interface PoolAssetsTableQuotaRow {
21
+ readonly token: Address;
22
+ readonly limit: bigint;
23
+ readonly totalQuoted: bigint;
24
+ readonly rate: bigint;
25
+ }
@@ -0,0 +1,4 @@
1
+ export * from './overflow-layout';
2
+ export * from './pool-credit-manager-info';
3
+ export * from './test-ids';
4
+ export type * from './types';
@@ -0,0 +1,4 @@
1
+ /** Outer scroll area for the embedded oracles / LT table (responsive overflow). */
2
+ export declare const overflowContainerClassName = "w-full overflow-x-hidden h-full min-h-0 max-h-full xs:overflow-x-visible xs:h-auto xs:max-h-none";
3
+ /** Wrapper clipping before `xs` breakpoint. */
4
+ export declare const overflowWrapClassName = "w-full overflow-hidden xs:overflow-visible";
@@ -0,0 +1,20 @@
1
+ import { TokenData } from '@gearbox-protocol/sdk/common-utils';
2
+ import { default as React } from 'react';
3
+ import { Address } from 'viem';
4
+ import { PoolCreditManagerInfoModel } from './types';
5
+ /** Props for `PoolCreditManagerInfo`. */
6
+ export interface PoolCreditManagerInfoProps {
7
+ readonly tokensList: Record<Address, TokenData>;
8
+ readonly creditManager: PoolCreditManagerInfoModel;
9
+ /** Oracles / LT table (or any scrollable body) rendered below the metrics grid. */
10
+ readonly underlyingTable: React.ReactNode;
11
+ readonly onClose: () => void;
12
+ /** When true, filters out zero-quota rows in the child table (consumer-controlled). */
13
+ readonly hideZeroQuota: boolean;
14
+ readonly setHideZeroQuota: (hide: boolean) => void;
15
+ }
16
+ /**
17
+ * Modal dialog summarizing a credit manager (fees, debt bounds, limits) and hosting
18
+ * a scrollable oracles / LT table with an optional “hide zero quota” toggle.
19
+ */
20
+ export declare function PoolCreditManagerInfo({ creditManager, tokensList, underlyingTable, onClose, hideZeroQuota, setHideZeroQuota, }: PoolCreditManagerInfoProps): React.ReactElement;
@@ -0,0 +1,4 @@
1
+ /** Stable `data-testid` values for `PoolCreditManagerInfo`. */
2
+ export declare const poolCreditManagerInfoTestIds: {
3
+ readonly detail: "pool-credit-managers-detail";
4
+ };
@@ -0,0 +1,16 @@
1
+ import { Address } from 'viem';
2
+ /**
3
+ * Credit manager parameters for the pool credit manager info dialog.
4
+ * Percentage-related fields follow SDK / `percentageTemplate` scaling (e.g. × `PERCENTAGE_DECIMALS`).
5
+ */
6
+ export interface PoolCreditManagerInfoModel {
7
+ readonly address: Address;
8
+ readonly minDebt: bigint;
9
+ readonly maxDebt: bigint;
10
+ readonly totalDebtLimit: bigint;
11
+ readonly maxEnabledTokensLength: number;
12
+ readonly underlyingToken: Address;
13
+ readonly feeLiquidation: number;
14
+ readonly liquidationDiscount: number;
15
+ readonly feeInterest: number;
16
+ }
@@ -0,0 +1,5 @@
1
+ export * from './pool-credit-managers-table';
2
+ export * from './pool-credit-managers-table.test-ids';
3
+ export * from './pool-credit-managers-table-head';
4
+ export * from './pool-credit-managers-table-row';
5
+ export type * from './types';
@@ -0,0 +1,10 @@
1
+ import { default as React } from 'react';
2
+ import { PoolCreditManagersTableSort } from './types';
3
+ /** Props for {@link PoolCreditManagersTableHead}. */
4
+ export interface PoolCreditManagersTableHeadProps {
5
+ readonly sort: PoolCreditManagersTableSort;
6
+ }
7
+ /**
8
+ * Sortable header: credit manager name, current debt, asset / LT column.
9
+ */
10
+ export declare function PoolCreditManagersTableHead({ sort, }: PoolCreditManagersTableHeadProps): React.ReactElement;
@@ -0,0 +1,16 @@
1
+ import { TokenData } from '@gearbox-protocol/sdk/common-utils';
2
+ import { default as React } from 'react';
3
+ import { PoolCreditManagerRow } from './types';
4
+ /** Props for {@link PoolCreditManagersTableRow}. */
5
+ export interface PoolCreditManagersTableRowProps {
6
+ readonly creditManager: PoolCreditManagerRow;
7
+ readonly last: boolean;
8
+ readonly onClick: () => void;
9
+ readonly totalDebtMoney: bigint;
10
+ readonly underlyingToken: TokenData | undefined;
11
+ }
12
+ /**
13
+ * One clickable row: `VerticalIndicator` for name/address, debt + `formatMoney` subtitle,
14
+ * and localized collateral count (`components.poolCreditManagersTable.assets`).
15
+ */
16
+ export declare function PoolCreditManagersTableRow({ creditManager, last, onClick, totalDebtMoney, underlyingToken, }: PoolCreditManagersTableRowProps): React.ReactElement | null;
@@ -0,0 +1,21 @@
1
+ import { TokenData } from '@gearbox-protocol/sdk/common-utils';
2
+ import { default as React } from 'react';
3
+ import { PoolCreditManagerRow, PoolCreditManagersTableRowDto, PoolCreditManagersTableSort } from './types';
4
+ /**
5
+ * Props for {@link PoolCreditManagersTable}.
6
+ *
7
+ * @typeParam TRow - Concrete credit manager row type when extending {@link PoolCreditManagerRow}.
8
+ */
9
+ export interface PoolCreditManagersTableProps<TRow extends PoolCreditManagerRow = PoolCreditManagerRow> {
10
+ /** Returns a click handler for a given manager (row `onRowClick`). */
11
+ readonly handleSelectCM: (cm: TRow) => () => void;
12
+ readonly rows: ReadonlyArray<PoolCreditManagersTableRowDto<TRow>>;
13
+ readonly sort: PoolCreditManagersTableSort;
14
+ /** Passed to `TokenTemplate` for the debt column; may be undefined if not loaded. */
15
+ readonly underlyingToken: TokenData | undefined;
16
+ }
17
+ /**
18
+ * Grid table listing credit managers: name, total debt (+ USD), collateral count.
19
+ * Header labels reuse `components.poolAssetsTable.head.*` locale keys (shared copy with pool UI).
20
+ */
21
+ export declare function PoolCreditManagersTable<TRow extends PoolCreditManagerRow = PoolCreditManagerRow>({ handleSelectCM, rows, sort, underlyingToken, }: PoolCreditManagersTableProps<TRow>): React.ReactElement | null;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Stable `data-testid` strings for automation (see `PoolCreditManagersTableRow`).
3
+ */
4
+ export declare const poolCreditManagersTableTestIds: {
5
+ readonly creditManagerLine: "pool-credit-managers-line";
6
+ };
@@ -0,0 +1,33 @@
1
+ import { Address } from 'viem';
2
+ import { SortField, SortSetterFunction } from '../../../hooks';
3
+ /** Column identifiers for credit manager table sorting. */
4
+ export type PoolCreditManagersSortFields = "name" | "currentDebt" | "assets";
5
+ /**
6
+ * Sort state + setter for the credit managers table header (`HeadCell` / `useSort`).
7
+ */
8
+ export interface PoolCreditManagersTableSort {
9
+ readonly state: SortField<PoolCreditManagersSortFields> | null;
10
+ readonly set: SortSetterFunction<PoolCreditManagersSortFields>;
11
+ }
12
+ /** Optional filter/sort bundle for parent screens. */
13
+ export interface PoolCreditManagersFilterState {
14
+ readonly sort: PoolCreditManagersTableSort;
15
+ }
16
+ /**
17
+ * Core credit manager fields for one row (legacy-compatible credit manager DTO).
18
+ */
19
+ export interface PoolCreditManagerRow {
20
+ readonly address: Address;
21
+ readonly name: string;
22
+ readonly totalDebt: bigint;
23
+ readonly collateralTokens: readonly Address[];
24
+ readonly underlyingToken: Address;
25
+ }
26
+ /**
27
+ * Body row model: manager record plus `totalDebtMoney` for the USD line under debt
28
+ * (see `PoolCreditManagersTableRow` / `formatMoney`).
29
+ */
30
+ export interface PoolCreditManagersTableRowDto<TRow extends PoolCreditManagerRow = PoolCreditManagerRow> {
31
+ readonly creditManager: TRow;
32
+ readonly totalDebtMoney: bigint;
33
+ }
@@ -71,6 +71,29 @@ declare const _default: {
71
71
 
72
72
  "components.openCopyButtons.copy": "Copy to clipboard",
73
73
 
74
+ "components.poolAssetsTable.asset": "Asset",
75
+ "components.poolAssetsTable.rate": "Effective rate",
76
+ "components.poolAssetsTable.limits": "Limits Usage",
77
+ "components.poolAssetsTable.usage": "{amount} of {total}",
78
+ "components.poolAssetsTable.head.name": "Credit Manager",
79
+ "components.poolAssetsTable.head.currentDebt": "Current Debt",
80
+ "components.poolAssetsTable.head.assets": "Asset LT",
81
+
82
+ "components.poolCreditManagersTable.assets": "{amount} assets",
83
+
84
+ "components.creditManagerInfo.title": "Assets and LT’s",
85
+ "components.creditManagerInfo.info.title": "Credit Managers",
86
+ "components.creditManagerInfo.info.copy.tip": "Copy Credit Manager address",
87
+ "components.creditManagerInfo.info.minDebt": "Min debt",
88
+ "components.creditManagerInfo.info.maxDebt": "Max debt",
89
+ "components.creditManagerInfo.info.liquidationFee": "Liquid. fee",
90
+ "components.creditManagerInfo.info.liquidationPremium": "Liquid. premium",
91
+ "components.creditManagerInfo.info.interestFee": "Interest fee",
92
+ "components.creditManagerInfo.info.debtLimit": "Debt limit",
93
+ "components.creditManagerInfo.info.maxEnabledTokens": "Max tokens",
94
+
95
+ "dialogs.oraclesAndLTInfo.filter.hide0Quota": "Hide 0-Quota",
96
+
74
97
  "components.poolTable.pool": "Pool",
75
98
  "components.poolTable.market": "Market",
76
99
  "components.poolTable.description.universal": "Universal",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gearbox-protocol/ui-kit",
3
- "version": "3.6.0",
3
+ "version": "3.7.0-next.2",
4
4
  "description": "Internal UI components",
5
5
  "repository": "https://github.com/gearbox-protocol/ui-kit",
6
6
  "license": "MIT",
@@ -148,7 +148,7 @@
148
148
  "@commitlint/cli": "^20.1.0",
149
149
  "@commitlint/config-conventional": "^20.0.0",
150
150
  "@gearbox-protocol/biome-config": "^1.0.2",
151
- "@gearbox-protocol/sdk": "13.0.0",
151
+ "@gearbox-protocol/sdk": "13.6.0",
152
152
  "@rollup/plugin-typescript": "^12.3.0",
153
153
  "@storybook/addon-a11y": "^10.0.8",
154
154
  "@storybook/addon-docs": "^10.0.8",