@gearbox-protocol/permissionless-ui 1.2.33 → 1.4.0
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.
- package/README.md +120 -1
- package/dist/cjs/components/asset-line.js +117 -0
- package/dist/cjs/components/assets-list-cell.js +73 -0
- package/dist/cjs/components/assets-ratio.js +98 -0
- package/dist/cjs/components/auth/siwe-provider.js +4 -4
- package/dist/cjs/components/base-link.js +61 -0
- package/dist/cjs/components/block-sync.js +118 -0
- package/dist/cjs/components/breadcrumbs.js +77 -0
- package/dist/cjs/components/buttons/back-button.js +37 -19
- package/dist/cjs/components/buttons/button.js +4 -4
- package/dist/cjs/components/buttons/filter-button.js +68 -0
- package/dist/cjs/components/buttons/index.js +4 -0
- package/dist/cjs/components/buttons/navigation-button.js +2 -2
- package/dist/cjs/components/buttons/range-buttons.js +63 -0
- package/dist/cjs/components/card-grid.js +127 -0
- package/dist/cjs/components/card.js +176 -0
- package/dist/cjs/components/checkbox-item.js +82 -0
- package/dist/cjs/components/compound-apy.js +232 -0
- package/dist/cjs/components/credit-session-status.js +67 -0
- package/dist/cjs/components/description.js +48 -0
- package/dist/cjs/components/detailed-page-title.js +96 -0
- package/dist/cjs/components/dialog/dialog-container.js +75 -0
- package/dist/cjs/components/dialog/dialog-content.js +66 -0
- package/dist/cjs/components/dialog/dialog-description.js +50 -0
- package/dist/cjs/components/dialog/dialog-footer.js +53 -0
- package/dist/cjs/components/dialog/dialog-header.js +53 -0
- package/dist/cjs/components/dialog/dialog-overlay.js +53 -0
- package/dist/cjs/components/dialog/dialog-title.js +50 -0
- package/dist/cjs/components/dialog/dialog.js +45 -0
- package/dist/cjs/components/dialog/index.js +36 -0
- package/dist/cjs/components/dropdown-menu/dropdown-menu-checkbox-item.js +63 -0
- package/dist/cjs/components/dropdown-menu/dropdown-menu-content.js +55 -0
- package/dist/cjs/components/dropdown-menu/dropdown-menu-item.js +54 -0
- package/dist/cjs/components/dropdown-menu/dropdown-menu-label.js +54 -0
- package/dist/cjs/components/dropdown-menu/dropdown-menu-radio-item.js +58 -0
- package/dist/cjs/components/dropdown-menu/dropdown-menu-separator.js +50 -0
- package/dist/cjs/components/dropdown-menu/dropdown-menu-shortcut.js +52 -0
- package/dist/cjs/components/dropdown-menu/dropdown-menu-sub-content.js +53 -0
- package/dist/cjs/components/dropdown-menu/dropdown-menu-sub-trigger.js +59 -0
- package/dist/cjs/components/dropdown-menu/dropdown-menu.js +54 -0
- package/dist/cjs/components/dropdown-menu/index.js +40 -0
- package/dist/cjs/components/error-message.js +70 -0
- package/dist/cjs/components/filter/filter-block.js +52 -0
- package/dist/cjs/components/filter/filter-checkbox-item.js +59 -0
- package/dist/cjs/components/filter/filter-chip.js +74 -0
- package/dist/cjs/components/filter/filter-chips.js +84 -0
- package/dist/cjs/components/filter/filter-dropdown-item.js +54 -0
- package/dist/cjs/components/filter/filter-group.js +43 -0
- package/dist/cjs/components/filter/filter-label.js +54 -0
- package/dist/cjs/components/filter/filter-modal-item.js +55 -0
- package/dist/cjs/components/filter/filter-modal.js +242 -0
- package/dist/cjs/components/filter/filter-radio-item.js +58 -0
- package/dist/cjs/components/filter/filter-separator.js +50 -0
- package/dist/cjs/components/filter/index.js +44 -0
- package/dist/cjs/components/filter/interface.js +16 -0
- package/dist/cjs/components/filter/variants.js +41 -0
- package/dist/cjs/components/form/form-field.js +67 -0
- package/dist/cjs/components/{editable-table → form}/index.js +4 -8
- package/dist/cjs/components/graph/default-config.js +158 -0
- package/dist/cjs/components/graph/formatters.js +175 -0
- package/dist/cjs/components/graph/graph-current-value.js +54 -0
- package/dist/cjs/components/graph/graph-tooltip.js +142 -0
- package/dist/cjs/components/graph/graph-view.js +233 -0
- package/dist/cjs/components/graph/graph.js +637 -0
- package/dist/cjs/components/graph/index.js +44 -0
- package/dist/cjs/components/graph/plugins/vertical-line.js +127 -0
- package/dist/cjs/components/guard.js +34 -0
- package/dist/cjs/components/health-factor.js +100 -0
- package/dist/cjs/components/help-center-container.js +107 -0
- package/dist/cjs/components/hide-on.js +66 -0
- package/dist/cjs/components/horizontal-indicator.js +63 -0
- package/dist/cjs/components/image.js +56 -0
- package/dist/cjs/components/index.js +93 -9
- package/dist/cjs/components/input.js +43 -21
- package/dist/cjs/components/label.js +29 -5
- package/dist/cjs/components/layout/app-logo.js +7 -17
- package/dist/cjs/components/layout/col.js +192 -0
- package/dist/cjs/components/layout/container.js +75 -0
- package/dist/cjs/components/layout/footer.js +137 -52
- package/dist/cjs/components/layout/grid.js +217 -0
- package/dist/cjs/components/layout/header.js +75 -13
- package/dist/cjs/components/layout/index.js +8 -0
- package/dist/cjs/components/layout/layout.js +65 -0
- package/dist/cjs/components/layout/legal-disclaimer.js +4 -14
- package/dist/cjs/components/liquidation/index.js +28 -0
- package/dist/cjs/components/liquidation/liquidation-assets-table.js +95 -0
- package/dist/cjs/components/liquidation/liquidation-graph-legend.js +41 -0
- package/dist/cjs/components/liquidation/liquidation-graph-tip.js +93 -0
- package/dist/cjs/components/liquidation/liquidation-graph.js +214 -0
- package/dist/cjs/components/loader-guard.js +47 -0
- package/dist/cjs/components/loading-guard.js +55 -0
- package/dist/cjs/components/markdown-viewer.js +4 -2
- package/dist/cjs/components/navbar-indicator-context.js +94 -0
- package/dist/cjs/components/navbar.js +131 -0
- package/dist/cjs/components/navitem.js +148 -0
- package/dist/cjs/components/next/back-button.js +43 -0
- package/dist/cjs/components/next/index.js +40 -0
- package/dist/cjs/components/next/siwe-provider.js +35 -0
- package/dist/cjs/components/next/token-icon.js +43 -0
- package/dist/cjs/components/next/web3-providers.js +116 -0
- package/dist/cjs/components/not-found.js +58 -0
- package/dist/cjs/components/options-list.js +88 -0
- package/dist/cjs/components/page-title.js +116 -0
- package/dist/cjs/components/percent-indicator.js +56 -0
- package/dist/cjs/components/pool-points-indicator.js +107 -0
- package/dist/cjs/components/search-bar.js +1 -0
- package/dist/cjs/components/search-line.js +225 -0
- package/dist/cjs/components/select.js +30 -9
- package/dist/cjs/components/short-string.js +58 -0
- package/dist/cjs/components/signatures/vertical-timeline.js +1 -0
- package/dist/cjs/components/skeleton.js +56 -3
- package/dist/cjs/components/stat-badge.js +189 -0
- package/dist/cjs/components/tab-control.js +254 -0
- package/dist/cjs/components/table/editable-grid-table.js +131 -0
- package/dist/cjs/components/{editable-table → table}/editable-table.js +1 -1
- package/dist/cjs/components/table/grid-error-line.js +60 -0
- package/dist/cjs/components/table/grid-loading-line.js +64 -0
- package/dist/cjs/components/table/grid-table-loader.js +56 -0
- package/dist/cjs/components/table/grid-table.js +203 -0
- package/dist/cjs/components/table/index.js +46 -0
- package/dist/cjs/components/table/sortable-head-cell.js +48 -0
- package/dist/cjs/components/table/table-loader-guard.js +55 -0
- package/dist/cjs/components/table/table-loader.js +46 -0
- package/dist/cjs/components/table/table-sm.js +93 -0
- package/dist/cjs/components/{table.js → table/table.js} +78 -22
- package/dist/cjs/components/textarea.js +27 -7
- package/dist/cjs/components/theme-provider.js +127 -0
- package/dist/cjs/components/theme-toggle.js +85 -0
- package/dist/cjs/components/token-icon.js +69 -20
- package/dist/cjs/components/token-symbol.js +84 -0
- package/dist/cjs/components/tooltip.js +1 -1
- package/dist/cjs/components/typed-intl/index.js +57 -0
- package/dist/cjs/components/vspace.js +31 -0
- package/dist/cjs/components/with-filter-button.js +84 -0
- package/dist/cjs/configs/design-tokens.js +109 -0
- package/dist/cjs/configs/index.js +48 -0
- package/dist/cjs/configs/tailwind-preset.js +162 -0
- package/dist/cjs/configs/tailwind.config.js +20 -67
- package/dist/cjs/configs/variants.js +58 -0
- package/dist/cjs/hooks/index.js +34 -0
- package/dist/cjs/hooks/use-controllable-state.js +50 -0
- package/dist/cjs/hooks/use-debounce.js +68 -0
- package/dist/cjs/hooks/use-filter.js +80 -0
- package/dist/cjs/hooks/use-hf.js +62 -0
- package/dist/cjs/hooks/use-liquidation/index.js +204 -0
- package/dist/cjs/hooks/use-liquidation/types.js +16 -0
- package/dist/cjs/hooks/use-liquidation/utils.js +253 -0
- package/dist/cjs/hooks/use-media-query.js +51 -0
- package/dist/cjs/hooks/use-previous.js +36 -0
- package/dist/cjs/index.js +157 -3
- package/dist/cjs/types/component-props.js +16 -0
- package/dist/cjs/types/filter.js +16 -0
- package/dist/cjs/types/footer.js +16 -0
- package/dist/cjs/types/graph.js +16 -0
- package/dist/cjs/types/help.js +16 -0
- package/dist/cjs/types/index.js +16 -0
- package/dist/cjs/types/range-item.js +16 -0
- package/dist/cjs/utils/a11y.js +39 -0
- package/dist/cjs/utils/bn-to-input-view.js +60 -0
- package/dist/cjs/utils/colors.js +96 -0
- package/dist/cjs/utils/format-asset-amount.js +43 -0
- package/dist/cjs/utils/format-money.js +68 -0
- package/dist/cjs/utils/index.js +29 -2
- package/dist/cjs/utils/interface.js +16 -0
- package/dist/cjs/utils/react.js +105 -0
- package/dist/cjs/utils/short-sha.js +28 -0
- package/dist/cjs/utils/sort.js +16 -0
- package/dist/cjs/utils/templates.js +50 -0
- package/dist/esm/components/asset-line.js +83 -0
- package/dist/esm/components/assets-list-cell.js +39 -0
- package/dist/esm/components/assets-ratio.js +64 -0
- package/dist/esm/components/auth/siwe-provider.js +4 -4
- package/dist/esm/components/base-link.js +27 -0
- package/dist/esm/components/block-sync.js +99 -0
- package/dist/esm/components/breadcrumbs.js +43 -0
- package/dist/esm/components/buttons/back-button.js +35 -8
- package/dist/esm/components/buttons/button.js +4 -4
- package/dist/esm/components/buttons/filter-button.js +34 -0
- package/dist/esm/components/buttons/index.js +2 -0
- package/dist/esm/components/buttons/navigation-button.js +2 -2
- package/dist/esm/components/buttons/range-buttons.js +29 -0
- package/dist/esm/components/card-grid.js +92 -0
- package/dist/esm/components/card.js +133 -0
- package/dist/esm/components/checkbox-item.js +48 -0
- package/dist/esm/components/compound-apy.js +203 -0
- package/dist/esm/components/credit-session-status.js +33 -0
- package/dist/esm/components/description.js +14 -0
- package/dist/esm/components/detailed-page-title.js +67 -0
- package/dist/esm/components/dialog/dialog-container.js +41 -0
- package/dist/esm/components/dialog/dialog-content.js +32 -0
- package/dist/esm/components/dialog/dialog-description.js +16 -0
- package/dist/esm/components/dialog/dialog-footer.js +19 -0
- package/dist/esm/components/dialog/dialog-header.js +19 -0
- package/dist/esm/components/dialog/dialog-overlay.js +19 -0
- package/dist/esm/components/dialog/dialog-title.js +16 -0
- package/dist/esm/components/dialog/dialog.js +9 -0
- package/dist/esm/components/dialog/index.js +8 -0
- package/dist/esm/components/dropdown-menu/dropdown-menu-checkbox-item.js +29 -0
- package/dist/esm/components/dropdown-menu/dropdown-menu-content.js +21 -0
- package/dist/esm/components/dropdown-menu/dropdown-menu-item.js +20 -0
- package/dist/esm/components/dropdown-menu/dropdown-menu-label.js +20 -0
- package/dist/esm/components/dropdown-menu/dropdown-menu-radio-item.js +24 -0
- package/dist/esm/components/dropdown-menu/dropdown-menu-separator.js +16 -0
- package/dist/esm/components/dropdown-menu/dropdown-menu-shortcut.js +18 -0
- package/dist/esm/components/dropdown-menu/dropdown-menu-sub-content.js +19 -0
- package/dist/esm/components/dropdown-menu/dropdown-menu-sub-trigger.js +25 -0
- package/dist/esm/components/dropdown-menu/dropdown-menu.js +15 -0
- package/dist/esm/components/dropdown-menu/index.js +10 -0
- package/dist/esm/components/error-message.js +36 -0
- package/dist/esm/components/filter/filter-block.js +18 -0
- package/dist/esm/components/filter/filter-checkbox-item.js +25 -0
- package/dist/esm/components/filter/filter-chip.js +40 -0
- package/dist/esm/components/filter/filter-chips.js +50 -0
- package/dist/esm/components/filter/filter-dropdown-item.js +20 -0
- package/dist/esm/components/filter/filter-group.js +9 -0
- package/dist/esm/components/filter/filter-label.js +20 -0
- package/dist/esm/components/filter/filter-modal-item.js +21 -0
- package/dist/esm/components/filter/filter-modal.js +214 -0
- package/dist/esm/components/filter/filter-radio-item.js +24 -0
- package/dist/esm/components/filter/filter-separator.js +16 -0
- package/dist/esm/components/filter/index.js +12 -0
- package/dist/esm/components/filter/interface.js +0 -0
- package/dist/esm/components/filter/variants.js +17 -0
- package/dist/esm/components/form/form-field.js +43 -0
- package/dist/esm/components/form/index.js +1 -0
- package/dist/esm/components/graph/default-config.js +129 -0
- package/dist/esm/components/graph/formatters.js +150 -0
- package/dist/esm/components/graph/graph-current-value.js +30 -0
- package/dist/esm/components/graph/graph-tooltip.js +118 -0
- package/dist/esm/components/graph/graph-view.js +196 -0
- package/dist/esm/components/graph/graph.js +606 -0
- package/dist/esm/components/graph/index.js +15 -0
- package/dist/esm/components/graph/plugins/vertical-line.js +103 -0
- package/dist/esm/components/guard.js +10 -0
- package/dist/esm/components/health-factor.js +63 -0
- package/dist/esm/components/help-center-container.js +83 -0
- package/dist/esm/components/hide-on.js +41 -0
- package/dist/esm/components/horizontal-indicator.js +34 -0
- package/dist/esm/components/image.js +32 -0
- package/dist/esm/components/index.js +46 -4
- package/dist/esm/components/input.js +41 -20
- package/dist/esm/components/label.js +27 -4
- package/dist/esm/components/layout/app-logo.js +5 -5
- package/dist/esm/components/layout/col.js +158 -0
- package/dist/esm/components/layout/container.js +41 -0
- package/dist/esm/components/layout/footer.js +134 -52
- package/dist/esm/components/layout/grid.js +183 -0
- package/dist/esm/components/layout/header.js +65 -13
- package/dist/esm/components/layout/index.js +4 -0
- package/dist/esm/components/layout/layout.js +31 -0
- package/dist/esm/components/layout/legal-disclaimer.js +4 -4
- package/dist/esm/components/liquidation/index.js +4 -0
- package/dist/esm/components/liquidation/liquidation-assets-table.js +71 -0
- package/dist/esm/components/liquidation/liquidation-graph-legend.js +17 -0
- package/dist/esm/components/liquidation/liquidation-graph-tip.js +72 -0
- package/dist/esm/components/liquidation/liquidation-graph.js +191 -0
- package/dist/esm/components/loader-guard.js +23 -0
- package/dist/esm/components/loading-guard.js +31 -0
- package/dist/esm/components/markdown-viewer.js +4 -2
- package/dist/esm/components/navbar-indicator-context.js +76 -0
- package/dist/esm/components/navbar.js +98 -0
- package/dist/esm/components/navitem.js +113 -0
- package/dist/esm/components/next/back-button.js +11 -0
- package/dist/esm/components/next/index.js +12 -0
- package/dist/esm/components/next/siwe-provider.js +11 -0
- package/dist/esm/components/next/token-icon.js +11 -0
- package/dist/esm/components/next/web3-providers.js +92 -0
- package/dist/esm/components/not-found.js +24 -0
- package/dist/esm/components/options-list.js +53 -0
- package/dist/esm/components/page-title.js +80 -0
- package/dist/esm/components/percent-indicator.js +22 -0
- package/dist/esm/components/pool-points-indicator.js +73 -0
- package/dist/esm/components/search-bar.js +1 -0
- package/dist/esm/components/search-line.js +188 -0
- package/dist/esm/components/select.js +28 -8
- package/dist/esm/components/short-string.js +39 -0
- package/dist/esm/components/signatures/vertical-timeline.js +1 -0
- package/dist/esm/components/skeleton.js +54 -2
- package/dist/esm/components/stat-badge.js +155 -0
- package/dist/esm/components/tab-control.js +216 -0
- package/dist/esm/components/table/editable-grid-table.js +105 -0
- package/dist/esm/components/{editable-table → table}/editable-table.js +1 -1
- package/dist/esm/components/table/grid-error-line.js +36 -0
- package/dist/esm/components/table/grid-loading-line.js +30 -0
- package/dist/esm/components/table/grid-table-loader.js +22 -0
- package/dist/esm/components/table/grid-table.js +159 -0
- package/dist/esm/components/table/index.js +13 -0
- package/dist/esm/components/table/sortable-head-cell.js +24 -0
- package/dist/esm/components/table/table-loader-guard.js +31 -0
- package/dist/esm/components/table/table-loader.js +22 -0
- package/dist/esm/components/table/table-sm.js +58 -0
- package/dist/esm/components/{table.js → table/table.js} +74 -21
- package/dist/esm/components/textarea.js +25 -6
- package/dist/esm/components/theme-provider.js +108 -0
- package/dist/esm/components/theme-toggle.js +61 -0
- package/dist/esm/components/token-icon.js +70 -11
- package/dist/esm/components/token-symbol.js +50 -0
- package/dist/esm/components/tooltip.js +1 -1
- package/dist/esm/components/typed-intl/index.js +32 -0
- package/dist/esm/components/vspace.js +7 -0
- package/dist/esm/components/with-filter-button.js +50 -0
- package/dist/esm/configs/design-tokens.js +85 -0
- package/dist/esm/configs/index.js +9 -0
- package/dist/esm/configs/tailwind-preset.js +128 -0
- package/dist/esm/configs/tailwind.config.js +16 -57
- package/dist/esm/configs/variants.js +31 -0
- package/dist/esm/hooks/index.js +7 -0
- package/dist/esm/hooks/use-controllable-state.js +26 -0
- package/dist/esm/hooks/use-debounce.js +43 -0
- package/dist/esm/hooks/use-filter.js +52 -0
- package/dist/esm/hooks/use-hf.js +38 -0
- package/dist/esm/hooks/use-liquidation/index.js +188 -0
- package/dist/esm/hooks/use-liquidation/types.js +0 -0
- package/dist/esm/hooks/use-liquidation/utils.js +215 -0
- package/dist/esm/hooks/use-media-query.js +24 -0
- package/dist/esm/hooks/use-previous.js +12 -0
- package/dist/esm/index.js +84 -1
- package/dist/esm/types/component-props.js +0 -0
- package/dist/esm/types/filter.js +0 -0
- package/dist/esm/types/footer.js +0 -0
- package/dist/esm/types/graph.js +0 -0
- package/dist/esm/types/help.js +0 -0
- package/dist/esm/types/index.js +0 -0
- package/dist/esm/types/range-item.js +0 -0
- package/dist/esm/utils/a11y.js +14 -0
- package/dist/esm/utils/bn-to-input-view.js +36 -0
- package/dist/esm/utils/colors.js +69 -0
- package/dist/esm/utils/format-asset-amount.js +19 -0
- package/dist/esm/utils/format-money.js +40 -0
- package/dist/esm/utils/index.js +21 -1
- package/dist/esm/utils/interface.js +0 -0
- package/dist/esm/utils/react.js +70 -0
- package/dist/esm/utils/short-sha.js +4 -0
- package/dist/esm/utils/sort.js +0 -0
- package/dist/esm/utils/templates.js +24 -0
- package/dist/globals.css +230 -52
- package/dist/grid-safelist.css +264 -0
- package/dist/types/components/asset-line.d.ts +59 -0
- package/dist/types/components/assets-list-cell.d.ts +48 -0
- package/dist/types/components/assets-ratio.d.ts +9 -0
- package/dist/types/components/auth/signin-required.d.ts +1 -1
- package/dist/types/components/auth/siwe-provider.d.ts +2 -1
- package/dist/types/components/badge.d.ts +1 -1
- package/dist/types/components/base-link.d.ts +58 -0
- package/dist/types/components/block-sync.d.ts +8 -0
- package/dist/types/components/breadcrumbs.d.ts +24 -0
- package/dist/types/components/buttons/back-button.d.ts +15 -20
- package/dist/types/components/buttons/button.d.ts +37 -3
- package/dist/types/components/buttons/filter-button.d.ts +52 -0
- package/dist/types/components/buttons/index.d.ts +2 -0
- package/dist/types/components/buttons/range-buttons.d.ts +49 -0
- package/dist/types/components/card-grid.d.ts +25 -0
- package/dist/types/components/card.d.ts +116 -0
- package/dist/types/components/cards/card.d.ts +2 -2
- package/dist/types/components/checkbox-item.d.ts +56 -0
- package/dist/types/components/compound-apy.d.ts +80 -0
- package/dist/types/components/credit-session-status.d.ts +7 -0
- package/dist/types/components/description.d.ts +26 -0
- package/dist/types/components/detailed-page-title.d.ts +31 -0
- package/dist/types/components/dialog/dialog-container.d.ts +12 -0
- package/dist/types/components/dialog/dialog-content.d.ts +4 -0
- package/dist/types/components/dialog/dialog-description.d.ts +4 -0
- package/dist/types/components/dialog/dialog-footer.d.ts +6 -0
- package/dist/types/components/dialog/dialog-header.d.ts +6 -0
- package/dist/types/components/dialog/dialog-overlay.d.ts +4 -0
- package/dist/types/components/dialog/dialog-title.d.ts +4 -0
- package/dist/types/components/dialog/dialog.d.ts +5 -0
- package/dist/types/components/dialog/index.d.ts +8 -0
- package/dist/types/components/dropdown-menu/dropdown-menu-checkbox-item.d.ts +22 -0
- package/dist/types/components/dropdown-menu/dropdown-menu-content.d.ts +4 -0
- package/dist/types/components/dropdown-menu/dropdown-menu-item.d.ts +6 -0
- package/dist/types/components/dropdown-menu/dropdown-menu-label.d.ts +6 -0
- package/dist/types/components/dropdown-menu/dropdown-menu-radio-item.d.ts +4 -0
- package/dist/types/components/dropdown-menu/dropdown-menu-separator.d.ts +4 -0
- package/dist/types/components/dropdown-menu/dropdown-menu-shortcut.d.ts +6 -0
- package/dist/types/components/dropdown-menu/dropdown-menu-sub-content.d.ts +4 -0
- package/dist/types/components/dropdown-menu/dropdown-menu-sub-trigger.d.ts +6 -0
- package/dist/types/components/dropdown-menu/dropdown-menu.d.ts +8 -0
- package/dist/types/components/dropdown-menu/index.d.ts +10 -0
- package/dist/types/components/error-message.d.ts +21 -0
- package/dist/types/components/filter/filter-block.d.ts +17 -0
- package/dist/types/components/filter/filter-checkbox-item.d.ts +23 -0
- package/dist/types/components/filter/filter-chip.d.ts +34 -0
- package/dist/types/components/filter/filter-chips.d.ts +42 -0
- package/dist/types/components/filter/filter-dropdown-item.d.ts +24 -0
- package/dist/types/components/filter/filter-group.d.ts +22 -0
- package/dist/types/components/filter/filter-label.d.ts +21 -0
- package/dist/types/components/filter/filter-modal-item.d.ts +31 -0
- package/dist/types/components/filter/filter-modal.d.ts +123 -0
- package/dist/types/components/filter/filter-radio-item.d.ts +19 -0
- package/dist/types/components/filter/filter-separator.d.ts +22 -0
- package/dist/types/components/filter/index.d.ts +109 -0
- package/dist/types/components/filter/interface.d.ts +24 -0
- package/dist/types/components/filter/variants.d.ts +3 -0
- package/dist/types/components/form/form-field.d.ts +38 -0
- package/dist/types/components/form/index.d.ts +1 -0
- package/dist/types/components/graph/default-config.d.ts +20 -0
- package/dist/types/components/graph/formatters.d.ts +16 -0
- package/dist/types/components/graph/graph-current-value.d.ts +13 -0
- package/dist/types/components/graph/graph-tooltip.d.ts +24 -0
- package/dist/types/components/graph/graph-view.d.ts +198 -0
- package/dist/types/components/graph/graph.d.ts +49 -0
- package/dist/types/components/graph/index.d.ts +7 -0
- package/dist/types/components/guard.d.ts +34 -0
- package/dist/types/components/health-factor.d.ts +63 -0
- package/dist/types/components/help-center-container.d.ts +22 -0
- package/dist/types/components/hide-on.d.ts +32 -0
- package/dist/types/components/horizontal-indicator.d.ts +22 -0
- package/dist/types/components/image.d.ts +35 -0
- package/dist/types/components/index.d.ts +44 -1
- package/dist/types/components/input.d.ts +26 -9
- package/dist/types/components/label.d.ts +26 -5
- package/dist/types/components/layout/app-logo.d.ts +1 -0
- package/dist/types/components/layout/col.d.ts +43 -0
- package/dist/types/components/layout/container.d.ts +37 -0
- package/dist/types/components/layout/footer.d.ts +44 -5
- package/dist/types/components/layout/grid.d.ts +48 -0
- package/dist/types/components/layout/header.d.ts +68 -12
- package/dist/types/components/layout/index.d.ts +4 -0
- package/dist/types/components/layout/layout.d.ts +12 -0
- package/dist/types/components/liquidation/index.d.ts +4 -0
- package/dist/types/components/liquidation/liquidation-assets-table.d.ts +14 -0
- package/dist/types/components/liquidation/liquidation-graph-legend.d.ts +2 -0
- package/dist/types/components/liquidation/liquidation-graph-tip.d.ts +13 -0
- package/dist/types/components/liquidation/liquidation-graph.d.ts +19 -0
- package/dist/types/components/loader-guard.d.ts +17 -0
- package/dist/types/components/loading-guard.d.ts +18 -0
- package/dist/types/components/navbar-indicator-context.d.ts +13 -0
- package/dist/types/components/navbar.d.ts +25 -0
- package/dist/types/components/navitem.d.ts +67 -0
- package/dist/types/components/next/back-button.d.ts +3 -0
- package/dist/types/components/next/index.d.ts +10 -0
- package/dist/types/components/next/siwe-provider.d.ts +7 -0
- package/dist/types/components/next/token-icon.d.ts +3 -0
- package/dist/types/components/next/web3-providers.d.ts +29 -0
- package/dist/types/components/not-found.d.ts +18 -0
- package/dist/types/components/options-list.d.ts +15 -0
- package/dist/types/components/page-title.d.ts +69 -0
- package/dist/types/components/percent-indicator.d.ts +28 -0
- package/dist/types/components/pool-points-indicator.d.ts +41 -0
- package/dist/types/components/search-line.d.ts +117 -0
- package/dist/types/components/select.d.ts +9 -2
- package/dist/types/components/short-string.d.ts +39 -0
- package/dist/types/components/skeleton.d.ts +28 -3
- package/dist/types/components/stat-badge.d.ts +169 -0
- package/dist/types/components/tab-control.d.ts +39 -0
- package/dist/types/components/table/editable-grid-table.d.ts +120 -0
- package/dist/types/components/table/grid-error-line.d.ts +49 -0
- package/dist/types/components/table/grid-loading-line.d.ts +36 -0
- package/dist/types/components/table/grid-table-loader.d.ts +25 -0
- package/dist/types/components/table/grid-table.d.ts +158 -0
- package/dist/types/components/table/index.d.ts +13 -0
- package/dist/types/components/table/sortable-head-cell.d.ts +36 -0
- package/dist/types/components/table/table-loader-guard.d.ts +45 -0
- package/dist/types/components/table/table-loader.d.ts +46 -0
- package/dist/types/components/table/table-sm.d.ts +94 -0
- package/dist/types/components/{table.d.ts → table/table.d.ts} +39 -12
- package/dist/types/components/{editable-table → table}/updated-value.d.ts +3 -0
- package/dist/types/components/textarea.d.ts +24 -5
- package/dist/types/components/theme-provider.d.ts +34 -0
- package/dist/types/components/theme-toggle.d.ts +5 -0
- package/dist/types/components/token-icon.d.ts +8 -6
- package/dist/types/components/token-symbol.d.ts +71 -0
- package/dist/types/components/typed-intl/index.d.ts +19 -0
- package/dist/types/components/vspace.d.ts +27 -0
- package/dist/types/components/with-filter-button.d.ts +54 -0
- package/dist/types/configs/design-tokens.d.ts +73 -0
- package/dist/types/configs/index.d.ts +4 -0
- package/dist/types/configs/tailwind-preset.d.ts +126 -0
- package/dist/types/configs/tailwind.config.d.ts +29 -0
- package/dist/types/configs/variants.d.ts +28 -0
- package/dist/types/hooks/index.d.ts +7 -0
- package/dist/types/hooks/use-controllable-state.d.ts +24 -0
- package/dist/types/hooks/use-debounce.d.ts +31 -0
- package/dist/types/hooks/use-filter.d.ts +37 -0
- package/dist/types/hooks/use-hf.d.ts +15 -0
- package/dist/types/hooks/use-liquidation/index.d.ts +52 -0
- package/dist/types/hooks/use-liquidation/types.d.ts +16 -0
- package/dist/types/hooks/use-liquidation/utils.d.ts +66 -0
- package/dist/types/hooks/use-media-query.d.ts +25 -0
- package/dist/types/hooks/use-previous.d.ts +10 -0
- package/dist/types/index.d.ts +71 -2
- package/dist/types/types/component-props.d.ts +16 -0
- package/dist/types/types/filter.d.ts +8 -0
- package/dist/types/types/footer.d.ts +30 -0
- package/dist/types/types/graph.d.ts +22 -0
- package/dist/types/types/help.d.ts +4 -0
- package/dist/types/types/index.d.ts +6 -0
- package/dist/types/types/range-item.d.ts +9 -0
- package/dist/types/utils/a11y.d.ts +24 -0
- package/dist/types/utils/bn-to-input-view.d.ts +17 -0
- package/dist/types/utils/colors.d.ts +29 -0
- package/dist/types/utils/format-asset-amount.d.ts +16 -0
- package/dist/types/utils/format-money.d.ts +64 -0
- package/dist/types/utils/index.d.ts +10 -0
- package/dist/types/utils/interface.d.ts +9 -0
- package/dist/types/utils/react.d.ts +31 -0
- package/dist/types/utils/short-sha.d.ts +9 -0
- package/dist/types/utils/sort.d.ts +5 -0
- package/dist/types/utils/templates.d.ts +61 -0
- package/package.json +66 -28
- package/dist/cjs/components/dialog.js +0 -137
- package/dist/cjs/components/dropdown-menu.js +0 -200
- package/dist/esm/components/dialog.js +0 -97
- package/dist/esm/components/dropdown-menu.js +0 -152
- package/dist/esm/components/editable-table/index.js +0 -3
- package/dist/types/components/dialog.d.ts +0 -38
- package/dist/types/components/dropdown-menu.d.ts +0 -59
- package/dist/types/components/editable-table/index.d.ts +0 -3
- /package/dist/cjs/components/{editable-table → table}/edit-button.js +0 -0
- /package/dist/cjs/components/{editable-table → table}/updated-value.js +0 -0
- /package/dist/esm/components/{editable-table → table}/edit-button.js +0 -0
- /package/dist/esm/components/{editable-table → table}/updated-value.js +0 -0
- /package/dist/types/components/{editable-table → table}/edit-button.d.ts +0 -0
- /package/dist/types/components/{editable-table → table}/editable-table.d.ts +0 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tailwind CSS preset for @gearbox-protocol/permissionless-ui
|
|
3
|
+
*
|
|
4
|
+
* This preset includes:
|
|
5
|
+
* - Design tokens (colors, spacing, typography, etc.)
|
|
6
|
+
* - Custom animations
|
|
7
|
+
* - Safelist for dynamic classes (Grid, Col components)
|
|
8
|
+
* - Content paths for class generation
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* // tailwind.config.ts
|
|
13
|
+
* import { preset } from '@gearbox-protocol/permissionless-ui/preset';
|
|
14
|
+
*
|
|
15
|
+
* export default {
|
|
16
|
+
* presets: [preset],
|
|
17
|
+
* content: ['./src/**\/*.{js,ts,jsx,tsx}'],
|
|
18
|
+
* };
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare const preset: {
|
|
22
|
+
darkMode: "class";
|
|
23
|
+
safelist: {
|
|
24
|
+
pattern: RegExp;
|
|
25
|
+
}[];
|
|
26
|
+
theme: {
|
|
27
|
+
extend: {
|
|
28
|
+
colors: {
|
|
29
|
+
background: string;
|
|
30
|
+
foreground: string;
|
|
31
|
+
card: {
|
|
32
|
+
DEFAULT: string;
|
|
33
|
+
foreground: string;
|
|
34
|
+
};
|
|
35
|
+
popover: {
|
|
36
|
+
DEFAULT: string;
|
|
37
|
+
foreground: string;
|
|
38
|
+
};
|
|
39
|
+
primary: {
|
|
40
|
+
DEFAULT: string;
|
|
41
|
+
foreground: string;
|
|
42
|
+
};
|
|
43
|
+
secondary: {
|
|
44
|
+
DEFAULT: string;
|
|
45
|
+
foreground: string;
|
|
46
|
+
};
|
|
47
|
+
muted: {
|
|
48
|
+
DEFAULT: string;
|
|
49
|
+
foreground: string;
|
|
50
|
+
};
|
|
51
|
+
accent: {
|
|
52
|
+
DEFAULT: string;
|
|
53
|
+
foreground: string;
|
|
54
|
+
};
|
|
55
|
+
destructive: {
|
|
56
|
+
DEFAULT: string;
|
|
57
|
+
foreground: string;
|
|
58
|
+
};
|
|
59
|
+
success: string;
|
|
60
|
+
warning: string;
|
|
61
|
+
liquidation: string;
|
|
62
|
+
border: string;
|
|
63
|
+
input: string;
|
|
64
|
+
ring: string;
|
|
65
|
+
"text-secondary": string;
|
|
66
|
+
"dropdown-dark-button": string;
|
|
67
|
+
white: string;
|
|
68
|
+
black: string;
|
|
69
|
+
gray: {
|
|
70
|
+
10: string;
|
|
71
|
+
20: string;
|
|
72
|
+
30: string;
|
|
73
|
+
40: string;
|
|
74
|
+
50: string;
|
|
75
|
+
60: string;
|
|
76
|
+
70: string;
|
|
77
|
+
80: string;
|
|
78
|
+
90: string;
|
|
79
|
+
100: string;
|
|
80
|
+
110: string;
|
|
81
|
+
};
|
|
82
|
+
chart: {
|
|
83
|
+
"1": string;
|
|
84
|
+
"2": string;
|
|
85
|
+
"3": string;
|
|
86
|
+
"4": string;
|
|
87
|
+
"5": string;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
fontFamily: {
|
|
91
|
+
sans: string[];
|
|
92
|
+
};
|
|
93
|
+
borderRadius: {
|
|
94
|
+
lg: string;
|
|
95
|
+
md: string;
|
|
96
|
+
sm: string;
|
|
97
|
+
};
|
|
98
|
+
keyframes: {
|
|
99
|
+
"accordion-down": {
|
|
100
|
+
from: {
|
|
101
|
+
height: string;
|
|
102
|
+
};
|
|
103
|
+
to: {
|
|
104
|
+
height: string;
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
"accordion-up": {
|
|
108
|
+
from: {
|
|
109
|
+
height: string;
|
|
110
|
+
};
|
|
111
|
+
to: {
|
|
112
|
+
height: string;
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
animation: {
|
|
117
|
+
"accordion-down": string;
|
|
118
|
+
"accordion-up": string;
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
plugins: {
|
|
123
|
+
handler: () => void;
|
|
124
|
+
}[];
|
|
125
|
+
};
|
|
126
|
+
export default preset;
|
|
@@ -1,3 +1,32 @@
|
|
|
1
1
|
import type { Config } from "tailwindcss";
|
|
2
|
+
import { preset } from "./tailwind-preset";
|
|
3
|
+
/**
|
|
4
|
+
* Tailwind configuration for consuming applications
|
|
5
|
+
*
|
|
6
|
+
* This configuration can be extended in your project's tailwind.config.ts
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* // Option 1: Use as preset (recommended)
|
|
11
|
+
* import { preset } from '@gearbox-protocol/permissionless-ui/preset';
|
|
12
|
+
*
|
|
13
|
+
* export default {
|
|
14
|
+
* presets: [preset],
|
|
15
|
+
* content: ['./src/**\/*.{js,ts,jsx,tsx}'],
|
|
16
|
+
* };
|
|
17
|
+
*
|
|
18
|
+
* // Option 2: Extend this config
|
|
19
|
+
* import tailwindConfig from '@gearbox-protocol/permissionless-ui/tailwind';
|
|
20
|
+
*
|
|
21
|
+
* export default {
|
|
22
|
+
* ...tailwindConfig,
|
|
23
|
+
* content: [
|
|
24
|
+
* './src/**\/*.{js,ts,jsx,tsx}',
|
|
25
|
+
* './node_modules/@gearbox-protocol/permissionless-ui/dist/**\/*.js',
|
|
26
|
+
* ],
|
|
27
|
+
* };
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
2
30
|
declare const tailwindConfig: Config;
|
|
3
31
|
export default tailwindConfig;
|
|
32
|
+
export { preset };
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized variant definitions for reuse across components
|
|
3
|
+
*/
|
|
4
|
+
export declare const sizeVariants: {
|
|
5
|
+
readonly xs: "text-xs";
|
|
6
|
+
readonly sm: "text-sm";
|
|
7
|
+
readonly default: "text-sm";
|
|
8
|
+
readonly lg: "text-base";
|
|
9
|
+
readonly xl: "text-lg";
|
|
10
|
+
};
|
|
11
|
+
export declare const stateVariants: {
|
|
12
|
+
readonly default: "";
|
|
13
|
+
readonly error: "border-red-500 text-red-500 focus-visible:ring-red-500";
|
|
14
|
+
readonly success: "border-green-500 text-green-500 focus-visible:ring-green-500";
|
|
15
|
+
readonly warning: "border-yellow-500 text-yellow-500 focus-visible:ring-yellow-500";
|
|
16
|
+
};
|
|
17
|
+
export declare const paddingVariants: {
|
|
18
|
+
readonly none: "p-0";
|
|
19
|
+
readonly xs: "p-2";
|
|
20
|
+
readonly sm: "p-4";
|
|
21
|
+
readonly default: "p-6";
|
|
22
|
+
readonly lg: "p-8";
|
|
23
|
+
readonly xl: "p-10";
|
|
24
|
+
};
|
|
25
|
+
export declare const interactiveVariants: {
|
|
26
|
+
readonly default: "transition-colors duration-200";
|
|
27
|
+
readonly disabled: "opacity-50 cursor-not-allowed pointer-events-none";
|
|
28
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook for managing controlled/uncontrolled component state
|
|
3
|
+
*
|
|
4
|
+
* This allows components to work both in controlled mode (when value is provided)
|
|
5
|
+
* and uncontrolled mode (when only defaultValue is provided)
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* function MyInput({ value, defaultValue, onChange }) {
|
|
10
|
+
* const [internalValue, setInternalValue] = useControllableState({
|
|
11
|
+
* value,
|
|
12
|
+
* defaultValue,
|
|
13
|
+
* onChange
|
|
14
|
+
* });
|
|
15
|
+
*
|
|
16
|
+
* return <input value={internalValue} onChange={e => setInternalValue(e.target.value)} />;
|
|
17
|
+
* }
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare function useControllableState<T>({ value: controlledValue, defaultValue, onChange, }: {
|
|
21
|
+
value?: T;
|
|
22
|
+
defaultValue?: T;
|
|
23
|
+
onChange?: (value: T) => void;
|
|
24
|
+
}): readonly [T | undefined, (nextValue: T | ((prev: T) => T)) => void];
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
type Task<T> = (arg: T) => void;
|
|
2
|
+
/**
|
|
3
|
+
* Hook to debounce a function call
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```tsx
|
|
7
|
+
* const handleSearch = (query: string) => {
|
|
8
|
+
* console.log('Searching for:', query);
|
|
9
|
+
* };
|
|
10
|
+
* const debouncedSearch = useDebounce(handleSearch, 500);
|
|
11
|
+
*
|
|
12
|
+
* // Usage:
|
|
13
|
+
* debouncedSearch('query');
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare function useDebounce<T>(call: Task<T>, delay?: number): (arg: T) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Hook to debounce any function call
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```tsx
|
|
22
|
+
* const debounceCall = useDebounceCall(500);
|
|
23
|
+
*
|
|
24
|
+
* // Usage:
|
|
25
|
+
* debounceCall(() => {
|
|
26
|
+
* console.log('Debounced call');
|
|
27
|
+
* });
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare function useDebounceCall(delay?: number): (call: () => void) => void;
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { FilterRange } from "../types/filter";
|
|
2
|
+
export interface SelectFilterList<T> {
|
|
3
|
+
items: Array<T>;
|
|
4
|
+
label: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Hook for managing range filter state
|
|
8
|
+
*/
|
|
9
|
+
export declare function useRangeFilter(): readonly [FilterRange | null, import("react").Dispatch<import("react").SetStateAction<FilterRange | null>>, () => void];
|
|
10
|
+
/**
|
|
11
|
+
* Hook for managing select filter state
|
|
12
|
+
*/
|
|
13
|
+
export declare function useSelectFilter<T>(initialState?: SelectFilterList<T> | null): readonly [SelectFilterList<T> | null, import("react").Dispatch<import("react").SetStateAction<SelectFilterList<T> | null>>, () => void];
|
|
14
|
+
type SortType = "desc" | "asc";
|
|
15
|
+
export interface FilterSortField<T> {
|
|
16
|
+
field: T;
|
|
17
|
+
sort: SortType;
|
|
18
|
+
}
|
|
19
|
+
export type SortField<T> = FilterSortField<T>;
|
|
20
|
+
export declare const getSortForField: <T>(s: T, state: FilterSortField<T> | null) => SortType | undefined;
|
|
21
|
+
export type SortSetterFunction<T> = (field: T, startFromSort?: SortType) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Hook for managing sort state
|
|
24
|
+
*/
|
|
25
|
+
export declare function useSort<T>(initialState?: FilterSortField<T> | null): readonly [FilterSortField<T> | null, SortSetterFunction<T>];
|
|
26
|
+
interface GeneralRangeFilterState {
|
|
27
|
+
state: FilterRange | null;
|
|
28
|
+
}
|
|
29
|
+
interface GeneralSelectFilterState<T> {
|
|
30
|
+
state: SelectFilterList<T> | null;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Hook to check if any/all filters are selected
|
|
34
|
+
* Returns [anySelected, allSelected]
|
|
35
|
+
*/
|
|
36
|
+
export declare function useFilterAllSelected(filterState: Record<string, GeneralRangeFilterState | GeneralSelectFilterState<any>>): [boolean, boolean];
|
|
37
|
+
export type { FilterRange };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Asset, CalcQuotaUpdateProps, TokenData } from "@gearbox-protocol/sdk";
|
|
2
|
+
import type { Address } from "viem";
|
|
3
|
+
export interface UseHFProps {
|
|
4
|
+
quotas: Record<Address, Asset>;
|
|
5
|
+
quotasInfo: CalcQuotaUpdateProps["quotas"];
|
|
6
|
+
assets: Array<Asset>;
|
|
7
|
+
prices: Record<Address, bigint>;
|
|
8
|
+
liquidationThresholds: Record<Address, bigint>;
|
|
9
|
+
underlyingToken: Address;
|
|
10
|
+
debt: bigint;
|
|
11
|
+
tokensList: Record<Address, TokenData>;
|
|
12
|
+
}
|
|
13
|
+
export declare function useHF({ assets, quotas, prices, liquidationThresholds, underlyingToken, debt, quotasInfo, tokensList, }: UseHFProps): {
|
|
14
|
+
hf: number;
|
|
15
|
+
};
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { Asset, CalcQuotaUpdateProps, TokenData } from "@gearbox-protocol/sdk";
|
|
2
|
+
import type { Cell } from "reactochart/ColorHeatmap";
|
|
3
|
+
import type { Address } from "viem";
|
|
4
|
+
import type { AxisParams, Point } from "./types";
|
|
5
|
+
export type { AxisOrder, AxisParams, Point as LiquidationPoint } from "./types";
|
|
6
|
+
export type { Cell } from "./utils";
|
|
7
|
+
export { CELL_BAD, CELL_CURRENT, CELL_GOOD, CELL_HOVERED, CELL_LIQUIDATION, CELL_OK, DEFAULT_AXIS_MAX, DEFAULT_AXIS_MIN, formatAxisLabel, formatAxisTipLabel, formatAxisTipPrice, getCellClass, isPointInCell, useAxis, useFixedAssets, useIsAxisInRelativeUnits, useLiquidationGraphActivePrice, useLiquidationGraphCurrentActiveValue, usePriceInNumber, useWithLiquidationGraphActivePrices, } from "./utils";
|
|
8
|
+
interface UseLiquidationHeatmapProps {
|
|
9
|
+
xMin: number;
|
|
10
|
+
xMax: number;
|
|
11
|
+
yMin: number;
|
|
12
|
+
yMax: number;
|
|
13
|
+
xLabel?: TokenData;
|
|
14
|
+
yLabel?: TokenData;
|
|
15
|
+
assets: Array<Asset>;
|
|
16
|
+
quotas: Record<Address, Asset>;
|
|
17
|
+
prices: Record<Address, bigint>;
|
|
18
|
+
liquidationThresholds: Record<Address, bigint>;
|
|
19
|
+
underlyingTokenAddress: Address;
|
|
20
|
+
debt: bigint;
|
|
21
|
+
quotasInfo: CalcQuotaUpdateProps["quotas"];
|
|
22
|
+
tokensList: Record<Address, TokenData>;
|
|
23
|
+
}
|
|
24
|
+
export declare function useLiquidationHeatmap({ xMin, xMax, yMin, yMax, xLabel, yLabel, assets, quotas, prices, liquidationThresholds, quotasInfo, underlyingTokenAddress, debt, tokensList, }: UseLiquidationHeatmapProps): Cell[];
|
|
25
|
+
interface UseEditPriceManuallyProps {
|
|
26
|
+
prices: Record<Address, bigint>;
|
|
27
|
+
}
|
|
28
|
+
export declare function useEditPriceManually({ prices }: UseEditPriceManuallyProps): readonly [{}, (newPrice: bigint, token: Address) => void];
|
|
29
|
+
export interface UseLiquidationGraphParamsReturnType {
|
|
30
|
+
xAxis?: AxisParams;
|
|
31
|
+
yAxis?: AxisParams;
|
|
32
|
+
currentPoint: Point;
|
|
33
|
+
fixedBalances: Array<Asset>;
|
|
34
|
+
}
|
|
35
|
+
export interface UseLiquidationGraphParamsProps {
|
|
36
|
+
assets: Array<Asset>;
|
|
37
|
+
liquidationThresholds: CalcQuotaUpdateProps["liquidationThresholds"];
|
|
38
|
+
quotas: Record<Address, Asset>;
|
|
39
|
+
quotasInfo: CalcQuotaUpdateProps["quotas"];
|
|
40
|
+
tokensList: Record<Address, TokenData>;
|
|
41
|
+
prices: Record<Address, bigint>;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Props type for Credit Session Details Liquidation Dialog
|
|
45
|
+
* Extends UseLiquidationGraphParamsProps with additional fields
|
|
46
|
+
*/
|
|
47
|
+
export type CreditSessionDetailsLiquidationDialogProps = Omit<UseLiquidationGraphParamsProps, "assets"> & {
|
|
48
|
+
assetsSorted: Array<Asset>;
|
|
49
|
+
underlyingToken: Address;
|
|
50
|
+
debt: bigint;
|
|
51
|
+
};
|
|
52
|
+
export declare function useLiquidationGraphParams({ assets, liquidationThresholds, quotas, quotasInfo, tokensList, prices, }: UseLiquidationGraphParamsProps): UseLiquidationGraphParamsReturnType;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { TokenData } from "@gearbox-protocol/sdk";
|
|
2
|
+
export interface Coordinates {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
}
|
|
6
|
+
export type AxisOrder = "reverse" | "straight";
|
|
7
|
+
export interface AxisParams {
|
|
8
|
+
min: number;
|
|
9
|
+
max: number;
|
|
10
|
+
minHf: number;
|
|
11
|
+
label: TokenData;
|
|
12
|
+
order: AxisOrder;
|
|
13
|
+
nextOrder: () => void;
|
|
14
|
+
}
|
|
15
|
+
export type Point = [x: number, y: number];
|
|
16
|
+
export type LiquidationPoint = Point;
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { Asset, CalcQuotaUpdateProps, TokenData } from "@gearbox-protocol/sdk";
|
|
2
|
+
import type { Cell as ReactochartCell } from "reactochart/ColorHeatmap";
|
|
3
|
+
import type { Address } from "viem";
|
|
4
|
+
import type { AxisOrder, AxisParams, Point } from "./types";
|
|
5
|
+
export interface Cell extends ReactochartCell {
|
|
6
|
+
x: number;
|
|
7
|
+
xEnd: number;
|
|
8
|
+
y: number;
|
|
9
|
+
yEnd: number;
|
|
10
|
+
value: number;
|
|
11
|
+
}
|
|
12
|
+
export declare const CELL_HOVERED = "rct-chart__heatmap-cell--hovered";
|
|
13
|
+
export declare const CELL_CURRENT = "rct-chart__heatmap-cell--current";
|
|
14
|
+
export declare const CELL_GOOD = "rct-chart__heatmap-cell--good";
|
|
15
|
+
export declare const CELL_OK = "rct-chart__heatmap-cell--ok";
|
|
16
|
+
export declare const CELL_BAD = "rct-chart__heatmap-cell--bad";
|
|
17
|
+
export declare const CELL_LIQUIDATION = "rct-chart__heatmap-cell--liquidation";
|
|
18
|
+
interface UseAxisProps {
|
|
19
|
+
currentPrice: number | undefined;
|
|
20
|
+
token: TokenData | undefined;
|
|
21
|
+
}
|
|
22
|
+
export declare const DEFAULT_AXIS_MIN = 0;
|
|
23
|
+
export declare const DEFAULT_AXIS_MAX = 1;
|
|
24
|
+
export declare function useAxis({ token, currentPrice, }: UseAxisProps): AxisParams | undefined;
|
|
25
|
+
interface UseFixedAssetsProps {
|
|
26
|
+
assets: Array<Asset>;
|
|
27
|
+
liquidationThresholds: CalcQuotaUpdateProps["liquidationThresholds"];
|
|
28
|
+
quotas: Record<Address, Asset>;
|
|
29
|
+
quotasInfo: CalcQuotaUpdateProps["quotas"];
|
|
30
|
+
at?: number;
|
|
31
|
+
length?: number;
|
|
32
|
+
}
|
|
33
|
+
export declare function useFixedAssets({ assets, liquidationThresholds, quotas, quotasInfo, at, length, }: UseFixedAssetsProps): [Asset[], Asset[]];
|
|
34
|
+
interface UsePriceInNumberProps {
|
|
35
|
+
asset: Asset | undefined;
|
|
36
|
+
tokensList: Record<Address, TokenData>;
|
|
37
|
+
prices: Record<Address, bigint>;
|
|
38
|
+
}
|
|
39
|
+
type UsePriceInNumberReturnType = [
|
|
40
|
+
price: number | undefined,
|
|
41
|
+
token: TokenData | undefined
|
|
42
|
+
];
|
|
43
|
+
export declare function usePriceInNumber({ asset, tokensList, prices, }: UsePriceInNumberProps): UsePriceInNumberReturnType;
|
|
44
|
+
export declare function useIsAxisInRelativeUnits(axis: TokenData | undefined, underlying: TokenData | undefined): boolean;
|
|
45
|
+
export declare function formatAxisTipPrice(v: number): string;
|
|
46
|
+
export declare function formatAxisTipLabel(token: TokenData | undefined, underlyingToken: TokenData | undefined, order: AxisOrder | undefined): string;
|
|
47
|
+
export declare function formatAxisLabel(underlyingPrice: bigint | undefined, isRelative: boolean, order?: AxisOrder): (l?: number) => string;
|
|
48
|
+
export declare function useLiquidationGraphActivePrice(activePoint: number, underlyingPrice: bigint | undefined, isRelative: boolean, order?: AxisOrder): number;
|
|
49
|
+
export declare function useLiquidationGraphCurrentActiveValue(): {
|
|
50
|
+
activePoint: [number | undefined, number | undefined] | null;
|
|
51
|
+
handleMouseMove: ({ xValue, yValue, }: {
|
|
52
|
+
xValue: number | null;
|
|
53
|
+
yValue: number | null;
|
|
54
|
+
}) => void;
|
|
55
|
+
handleMouseLeave: () => void;
|
|
56
|
+
};
|
|
57
|
+
interface UseWithActivePricesProps {
|
|
58
|
+
xLabel: TokenData | undefined;
|
|
59
|
+
yLabel: TokenData | undefined;
|
|
60
|
+
activePoint: [number | undefined, number | undefined] | null;
|
|
61
|
+
prices: Record<Address, bigint>;
|
|
62
|
+
}
|
|
63
|
+
export declare function useWithLiquidationGraphActivePrices({ xLabel, yLabel, activePoint, prices, }: UseWithActivePricesProps): {};
|
|
64
|
+
export declare function isPointInCell(p: Point, c: Cell): boolean;
|
|
65
|
+
export declare function getCellClass(p: Cell, currentPoint: Point, activePointX?: number, activePointY?: number): string;
|
|
66
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook for responsive media queries
|
|
3
|
+
*
|
|
4
|
+
* @example
|
|
5
|
+
* ```tsx
|
|
6
|
+
* function MyComponent() {
|
|
7
|
+
* const isMobile = useMediaQuery("(max-width: 768px)");
|
|
8
|
+
*
|
|
9
|
+
* return <div>{isMobile ? "Mobile view" : "Desktop view"}</div>;
|
|
10
|
+
* }
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export declare function useMediaQuery(query: string): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Checks if the viewport is mobile-sized (max-width: 768px)
|
|
16
|
+
*/
|
|
17
|
+
export declare const useIsMobile: () => boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Checks if the viewport is tablet-sized (768px - 1024px)
|
|
20
|
+
*/
|
|
21
|
+
export declare const useIsTablet: () => boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Checks if the viewport is desktop-sized (min-width: 1024px)
|
|
24
|
+
*/
|
|
25
|
+
export declare const useIsDesktop: () => boolean;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,2 +1,71 @@
|
|
|
1
|
-
export * from "./components/
|
|
2
|
-
export * from "./
|
|
1
|
+
export * from "./components/alert-dialog";
|
|
2
|
+
export * from "./components/asset-line";
|
|
3
|
+
export * from "./components/assets-list-cell";
|
|
4
|
+
export * from "./components/assets-ratio";
|
|
5
|
+
export * from "./components/auth";
|
|
6
|
+
export * from "./components/badge";
|
|
7
|
+
export * from "./components/base-link";
|
|
8
|
+
export * from "./components/block-sync";
|
|
9
|
+
export * from "./components/breadcrumbs";
|
|
10
|
+
export * from "./components/buttons";
|
|
11
|
+
export * from "./components/card-grid";
|
|
12
|
+
export * from "./components/cards";
|
|
13
|
+
export * from "./components/checkbox";
|
|
14
|
+
export * from "./components/compound-apy";
|
|
15
|
+
export * from "./components/credit-session-status";
|
|
16
|
+
export * from "./components/description";
|
|
17
|
+
export * from "./components/detailed-page-title";
|
|
18
|
+
export * from "./components/dialog";
|
|
19
|
+
export * from "./components/dropdown-menu";
|
|
20
|
+
export * from "./components/error-message";
|
|
21
|
+
export * from "./components/filter";
|
|
22
|
+
export * from "./components/form";
|
|
23
|
+
export * from "./components/graph";
|
|
24
|
+
export * from "./components/guard";
|
|
25
|
+
export * from "./components/health-factor";
|
|
26
|
+
export * from "./components/help-center-container";
|
|
27
|
+
export * from "./components/hide-on";
|
|
28
|
+
export * from "./components/horizontal-indicator";
|
|
29
|
+
export * from "./components/input";
|
|
30
|
+
export * from "./components/label";
|
|
31
|
+
export * from "./components/layout";
|
|
32
|
+
export * from "./components/liquidation";
|
|
33
|
+
export * from "./components/loader-guard";
|
|
34
|
+
export * from "./components/loading-guard";
|
|
35
|
+
export * from "./components/markdown-viewer";
|
|
36
|
+
export * from "./components/navbar";
|
|
37
|
+
export * from "./components/navitem";
|
|
38
|
+
export * from "./components/not-found";
|
|
39
|
+
export * from "./components/options-list";
|
|
40
|
+
export * from "./components/page-title";
|
|
41
|
+
export * from "./components/percent-indicator";
|
|
42
|
+
export * from "./components/pool-points-indicator";
|
|
43
|
+
export * from "./components/search-bar";
|
|
44
|
+
export * from "./components/search-line";
|
|
45
|
+
export * from "./components/select";
|
|
46
|
+
export * from "./components/short-string";
|
|
47
|
+
export * from "./components/signatures";
|
|
48
|
+
export * from "./components/skeleton";
|
|
49
|
+
export * from "./components/stat-badge";
|
|
50
|
+
export * from "./components/tab-control";
|
|
51
|
+
export * from "./components/table";
|
|
52
|
+
export * from "./components/tabs";
|
|
53
|
+
export * from "./components/textarea";
|
|
54
|
+
export * from "./components/theme-provider";
|
|
55
|
+
export * from "./components/theme-toggle";
|
|
56
|
+
export * from "./components/token-icon";
|
|
57
|
+
export * from "./components/token-symbol";
|
|
58
|
+
export * from "./components/tooltip";
|
|
59
|
+
export * from "./components/typed-intl";
|
|
60
|
+
export * from "./components/vspace";
|
|
61
|
+
export * from "./components/with-filter-button";
|
|
62
|
+
export * from "./configs/design-tokens";
|
|
63
|
+
export * from "./configs/variants";
|
|
64
|
+
export * from "./hooks";
|
|
65
|
+
export * from "./utils";
|
|
66
|
+
export * from "./utils/a11y";
|
|
67
|
+
export { cn } from "./utils/cn";
|
|
68
|
+
export * from "./utils/copy";
|
|
69
|
+
export * from "./utils/format";
|
|
70
|
+
export { formatMoney, formatPercentAmount, PERCENTAGE_FACTOR, percentageTemplate, percentTemplate, } from "./utils/format-money";
|
|
71
|
+
export * from "./utils/templates";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { VariantProps } from "class-variance-authority";
|
|
2
|
+
import type React from "react";
|
|
3
|
+
/**
|
|
4
|
+
* Utility for extracting variants from CVA
|
|
5
|
+
*/
|
|
6
|
+
export type ExtractVariants<T> = T extends (...args: any[]) => any ? VariantProps<T> : never;
|
|
7
|
+
/**
|
|
8
|
+
* Common type for components with variants
|
|
9
|
+
*/
|
|
10
|
+
export type ComponentWithVariants<TElement extends React.ElementType, TVariants> = React.ComponentPropsWithoutRef<TElement> & TVariants;
|
|
11
|
+
/**
|
|
12
|
+
* Type for polymorphic components that can render as different elements
|
|
13
|
+
*/
|
|
14
|
+
export type PolymorphicComponentProps<TElement extends React.ElementType, TProps = {}> = TProps & Omit<React.ComponentPropsWithoutRef<TElement>, keyof TProps> & {
|
|
15
|
+
as?: TElement;
|
|
16
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for Footer component
|
|
3
|
+
*/
|
|
4
|
+
export interface LastSyncBlock {
|
|
5
|
+
block: bigint;
|
|
6
|
+
localTimestamp: number;
|
|
7
|
+
}
|
|
8
|
+
export interface BlockByChain {
|
|
9
|
+
[chainId: number]: {
|
|
10
|
+
lastSyncBlock: LastSyncBlock;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export interface ExplorerInfo {
|
|
14
|
+
url: string;
|
|
15
|
+
name?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ExplorerAddresses {
|
|
18
|
+
[chainId: number]: string | ExplorerInfo;
|
|
19
|
+
}
|
|
20
|
+
export interface NetworkById {
|
|
21
|
+
[chainId: number]: string;
|
|
22
|
+
}
|
|
23
|
+
export interface BlockSyncProps {
|
|
24
|
+
blockByChain: BlockByChain;
|
|
25
|
+
explorerAddresses: ExplorerAddresses;
|
|
26
|
+
networkById: NetworkById;
|
|
27
|
+
}
|
|
28
|
+
export interface FooterProps {
|
|
29
|
+
blockSyncProps?: BlockSyncProps;
|
|
30
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types for graph components
|
|
3
|
+
*/
|
|
4
|
+
export interface GraphPoint {
|
|
5
|
+
timestamp: number;
|
|
6
|
+
value: number;
|
|
7
|
+
}
|
|
8
|
+
export type GraphMeasureUnits = "%" | "$" | "x" | "";
|
|
9
|
+
export interface GraphProps {
|
|
10
|
+
data: Array<GraphPoint>;
|
|
11
|
+
yMeasureUnit?: GraphMeasureUnits;
|
|
12
|
+
height?: number;
|
|
13
|
+
formatValue?: (value: number) => string;
|
|
14
|
+
color?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Props for GraphView component
|
|
18
|
+
*/
|
|
19
|
+
export interface GraphViewProps extends Omit<GraphProps, "data"> {
|
|
20
|
+
data: GraphProps["data"] | undefined;
|
|
21
|
+
loading: boolean;
|
|
22
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Help sections for different parts of the application
|
|
3
|
+
*/
|
|
4
|
+
export type HelpSections = "creditDetails" | "creditWalletConnect" | "creditManage" | "creditList" | "poolList" | "poolSupply" | "poolWithdraw" | "creditSession" | "charts.poolsList" | "charts.poolDetails" | "charts.creditsList" | "charts.creditDetails";
|