@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.
Files changed (515) hide show
  1. package/README.md +120 -1
  2. package/dist/cjs/components/asset-line.js +117 -0
  3. package/dist/cjs/components/assets-list-cell.js +73 -0
  4. package/dist/cjs/components/assets-ratio.js +98 -0
  5. package/dist/cjs/components/auth/siwe-provider.js +4 -4
  6. package/dist/cjs/components/base-link.js +61 -0
  7. package/dist/cjs/components/block-sync.js +118 -0
  8. package/dist/cjs/components/breadcrumbs.js +77 -0
  9. package/dist/cjs/components/buttons/back-button.js +37 -19
  10. package/dist/cjs/components/buttons/button.js +4 -4
  11. package/dist/cjs/components/buttons/filter-button.js +68 -0
  12. package/dist/cjs/components/buttons/index.js +4 -0
  13. package/dist/cjs/components/buttons/navigation-button.js +2 -2
  14. package/dist/cjs/components/buttons/range-buttons.js +63 -0
  15. package/dist/cjs/components/card-grid.js +127 -0
  16. package/dist/cjs/components/card.js +176 -0
  17. package/dist/cjs/components/checkbox-item.js +82 -0
  18. package/dist/cjs/components/compound-apy.js +232 -0
  19. package/dist/cjs/components/credit-session-status.js +67 -0
  20. package/dist/cjs/components/description.js +48 -0
  21. package/dist/cjs/components/detailed-page-title.js +96 -0
  22. package/dist/cjs/components/dialog/dialog-container.js +75 -0
  23. package/dist/cjs/components/dialog/dialog-content.js +66 -0
  24. package/dist/cjs/components/dialog/dialog-description.js +50 -0
  25. package/dist/cjs/components/dialog/dialog-footer.js +53 -0
  26. package/dist/cjs/components/dialog/dialog-header.js +53 -0
  27. package/dist/cjs/components/dialog/dialog-overlay.js +53 -0
  28. package/dist/cjs/components/dialog/dialog-title.js +50 -0
  29. package/dist/cjs/components/dialog/dialog.js +45 -0
  30. package/dist/cjs/components/dialog/index.js +36 -0
  31. package/dist/cjs/components/dropdown-menu/dropdown-menu-checkbox-item.js +63 -0
  32. package/dist/cjs/components/dropdown-menu/dropdown-menu-content.js +55 -0
  33. package/dist/cjs/components/dropdown-menu/dropdown-menu-item.js +54 -0
  34. package/dist/cjs/components/dropdown-menu/dropdown-menu-label.js +54 -0
  35. package/dist/cjs/components/dropdown-menu/dropdown-menu-radio-item.js +58 -0
  36. package/dist/cjs/components/dropdown-menu/dropdown-menu-separator.js +50 -0
  37. package/dist/cjs/components/dropdown-menu/dropdown-menu-shortcut.js +52 -0
  38. package/dist/cjs/components/dropdown-menu/dropdown-menu-sub-content.js +53 -0
  39. package/dist/cjs/components/dropdown-menu/dropdown-menu-sub-trigger.js +59 -0
  40. package/dist/cjs/components/dropdown-menu/dropdown-menu.js +54 -0
  41. package/dist/cjs/components/dropdown-menu/index.js +40 -0
  42. package/dist/cjs/components/error-message.js +70 -0
  43. package/dist/cjs/components/filter/filter-block.js +52 -0
  44. package/dist/cjs/components/filter/filter-checkbox-item.js +59 -0
  45. package/dist/cjs/components/filter/filter-chip.js +74 -0
  46. package/dist/cjs/components/filter/filter-chips.js +84 -0
  47. package/dist/cjs/components/filter/filter-dropdown-item.js +54 -0
  48. package/dist/cjs/components/filter/filter-group.js +43 -0
  49. package/dist/cjs/components/filter/filter-label.js +54 -0
  50. package/dist/cjs/components/filter/filter-modal-item.js +55 -0
  51. package/dist/cjs/components/filter/filter-modal.js +242 -0
  52. package/dist/cjs/components/filter/filter-radio-item.js +58 -0
  53. package/dist/cjs/components/filter/filter-separator.js +50 -0
  54. package/dist/cjs/components/filter/index.js +44 -0
  55. package/dist/cjs/components/filter/interface.js +16 -0
  56. package/dist/cjs/components/filter/variants.js +41 -0
  57. package/dist/cjs/components/form/form-field.js +67 -0
  58. package/dist/cjs/components/{editable-table → form}/index.js +4 -8
  59. package/dist/cjs/components/graph/default-config.js +158 -0
  60. package/dist/cjs/components/graph/formatters.js +175 -0
  61. package/dist/cjs/components/graph/graph-current-value.js +54 -0
  62. package/dist/cjs/components/graph/graph-tooltip.js +142 -0
  63. package/dist/cjs/components/graph/graph-view.js +233 -0
  64. package/dist/cjs/components/graph/graph.js +637 -0
  65. package/dist/cjs/components/graph/index.js +44 -0
  66. package/dist/cjs/components/graph/plugins/vertical-line.js +127 -0
  67. package/dist/cjs/components/guard.js +34 -0
  68. package/dist/cjs/components/health-factor.js +100 -0
  69. package/dist/cjs/components/help-center-container.js +107 -0
  70. package/dist/cjs/components/hide-on.js +66 -0
  71. package/dist/cjs/components/horizontal-indicator.js +63 -0
  72. package/dist/cjs/components/image.js +56 -0
  73. package/dist/cjs/components/index.js +93 -9
  74. package/dist/cjs/components/input.js +43 -21
  75. package/dist/cjs/components/label.js +29 -5
  76. package/dist/cjs/components/layout/app-logo.js +7 -17
  77. package/dist/cjs/components/layout/col.js +192 -0
  78. package/dist/cjs/components/layout/container.js +75 -0
  79. package/dist/cjs/components/layout/footer.js +137 -52
  80. package/dist/cjs/components/layout/grid.js +217 -0
  81. package/dist/cjs/components/layout/header.js +75 -13
  82. package/dist/cjs/components/layout/index.js +8 -0
  83. package/dist/cjs/components/layout/layout.js +65 -0
  84. package/dist/cjs/components/layout/legal-disclaimer.js +4 -14
  85. package/dist/cjs/components/liquidation/index.js +28 -0
  86. package/dist/cjs/components/liquidation/liquidation-assets-table.js +95 -0
  87. package/dist/cjs/components/liquidation/liquidation-graph-legend.js +41 -0
  88. package/dist/cjs/components/liquidation/liquidation-graph-tip.js +93 -0
  89. package/dist/cjs/components/liquidation/liquidation-graph.js +214 -0
  90. package/dist/cjs/components/loader-guard.js +47 -0
  91. package/dist/cjs/components/loading-guard.js +55 -0
  92. package/dist/cjs/components/markdown-viewer.js +4 -2
  93. package/dist/cjs/components/navbar-indicator-context.js +94 -0
  94. package/dist/cjs/components/navbar.js +131 -0
  95. package/dist/cjs/components/navitem.js +148 -0
  96. package/dist/cjs/components/next/back-button.js +43 -0
  97. package/dist/cjs/components/next/index.js +40 -0
  98. package/dist/cjs/components/next/siwe-provider.js +35 -0
  99. package/dist/cjs/components/next/token-icon.js +43 -0
  100. package/dist/cjs/components/next/web3-providers.js +116 -0
  101. package/dist/cjs/components/not-found.js +58 -0
  102. package/dist/cjs/components/options-list.js +88 -0
  103. package/dist/cjs/components/page-title.js +116 -0
  104. package/dist/cjs/components/percent-indicator.js +56 -0
  105. package/dist/cjs/components/pool-points-indicator.js +107 -0
  106. package/dist/cjs/components/search-bar.js +1 -0
  107. package/dist/cjs/components/search-line.js +225 -0
  108. package/dist/cjs/components/select.js +30 -9
  109. package/dist/cjs/components/short-string.js +58 -0
  110. package/dist/cjs/components/signatures/vertical-timeline.js +1 -0
  111. package/dist/cjs/components/skeleton.js +56 -3
  112. package/dist/cjs/components/stat-badge.js +189 -0
  113. package/dist/cjs/components/tab-control.js +254 -0
  114. package/dist/cjs/components/table/editable-grid-table.js +131 -0
  115. package/dist/cjs/components/{editable-table → table}/editable-table.js +1 -1
  116. package/dist/cjs/components/table/grid-error-line.js +60 -0
  117. package/dist/cjs/components/table/grid-loading-line.js +64 -0
  118. package/dist/cjs/components/table/grid-table-loader.js +56 -0
  119. package/dist/cjs/components/table/grid-table.js +203 -0
  120. package/dist/cjs/components/table/index.js +46 -0
  121. package/dist/cjs/components/table/sortable-head-cell.js +48 -0
  122. package/dist/cjs/components/table/table-loader-guard.js +55 -0
  123. package/dist/cjs/components/table/table-loader.js +46 -0
  124. package/dist/cjs/components/table/table-sm.js +93 -0
  125. package/dist/cjs/components/{table.js → table/table.js} +78 -22
  126. package/dist/cjs/components/textarea.js +27 -7
  127. package/dist/cjs/components/theme-provider.js +127 -0
  128. package/dist/cjs/components/theme-toggle.js +85 -0
  129. package/dist/cjs/components/token-icon.js +69 -20
  130. package/dist/cjs/components/token-symbol.js +84 -0
  131. package/dist/cjs/components/tooltip.js +1 -1
  132. package/dist/cjs/components/typed-intl/index.js +57 -0
  133. package/dist/cjs/components/vspace.js +31 -0
  134. package/dist/cjs/components/with-filter-button.js +84 -0
  135. package/dist/cjs/configs/design-tokens.js +109 -0
  136. package/dist/cjs/configs/index.js +48 -0
  137. package/dist/cjs/configs/tailwind-preset.js +162 -0
  138. package/dist/cjs/configs/tailwind.config.js +20 -67
  139. package/dist/cjs/configs/variants.js +58 -0
  140. package/dist/cjs/hooks/index.js +34 -0
  141. package/dist/cjs/hooks/use-controllable-state.js +50 -0
  142. package/dist/cjs/hooks/use-debounce.js +68 -0
  143. package/dist/cjs/hooks/use-filter.js +80 -0
  144. package/dist/cjs/hooks/use-hf.js +62 -0
  145. package/dist/cjs/hooks/use-liquidation/index.js +204 -0
  146. package/dist/cjs/hooks/use-liquidation/types.js +16 -0
  147. package/dist/cjs/hooks/use-liquidation/utils.js +253 -0
  148. package/dist/cjs/hooks/use-media-query.js +51 -0
  149. package/dist/cjs/hooks/use-previous.js +36 -0
  150. package/dist/cjs/index.js +157 -3
  151. package/dist/cjs/types/component-props.js +16 -0
  152. package/dist/cjs/types/filter.js +16 -0
  153. package/dist/cjs/types/footer.js +16 -0
  154. package/dist/cjs/types/graph.js +16 -0
  155. package/dist/cjs/types/help.js +16 -0
  156. package/dist/cjs/types/index.js +16 -0
  157. package/dist/cjs/types/range-item.js +16 -0
  158. package/dist/cjs/utils/a11y.js +39 -0
  159. package/dist/cjs/utils/bn-to-input-view.js +60 -0
  160. package/dist/cjs/utils/colors.js +96 -0
  161. package/dist/cjs/utils/format-asset-amount.js +43 -0
  162. package/dist/cjs/utils/format-money.js +68 -0
  163. package/dist/cjs/utils/index.js +29 -2
  164. package/dist/cjs/utils/interface.js +16 -0
  165. package/dist/cjs/utils/react.js +105 -0
  166. package/dist/cjs/utils/short-sha.js +28 -0
  167. package/dist/cjs/utils/sort.js +16 -0
  168. package/dist/cjs/utils/templates.js +50 -0
  169. package/dist/esm/components/asset-line.js +83 -0
  170. package/dist/esm/components/assets-list-cell.js +39 -0
  171. package/dist/esm/components/assets-ratio.js +64 -0
  172. package/dist/esm/components/auth/siwe-provider.js +4 -4
  173. package/dist/esm/components/base-link.js +27 -0
  174. package/dist/esm/components/block-sync.js +99 -0
  175. package/dist/esm/components/breadcrumbs.js +43 -0
  176. package/dist/esm/components/buttons/back-button.js +35 -8
  177. package/dist/esm/components/buttons/button.js +4 -4
  178. package/dist/esm/components/buttons/filter-button.js +34 -0
  179. package/dist/esm/components/buttons/index.js +2 -0
  180. package/dist/esm/components/buttons/navigation-button.js +2 -2
  181. package/dist/esm/components/buttons/range-buttons.js +29 -0
  182. package/dist/esm/components/card-grid.js +92 -0
  183. package/dist/esm/components/card.js +133 -0
  184. package/dist/esm/components/checkbox-item.js +48 -0
  185. package/dist/esm/components/compound-apy.js +203 -0
  186. package/dist/esm/components/credit-session-status.js +33 -0
  187. package/dist/esm/components/description.js +14 -0
  188. package/dist/esm/components/detailed-page-title.js +67 -0
  189. package/dist/esm/components/dialog/dialog-container.js +41 -0
  190. package/dist/esm/components/dialog/dialog-content.js +32 -0
  191. package/dist/esm/components/dialog/dialog-description.js +16 -0
  192. package/dist/esm/components/dialog/dialog-footer.js +19 -0
  193. package/dist/esm/components/dialog/dialog-header.js +19 -0
  194. package/dist/esm/components/dialog/dialog-overlay.js +19 -0
  195. package/dist/esm/components/dialog/dialog-title.js +16 -0
  196. package/dist/esm/components/dialog/dialog.js +9 -0
  197. package/dist/esm/components/dialog/index.js +8 -0
  198. package/dist/esm/components/dropdown-menu/dropdown-menu-checkbox-item.js +29 -0
  199. package/dist/esm/components/dropdown-menu/dropdown-menu-content.js +21 -0
  200. package/dist/esm/components/dropdown-menu/dropdown-menu-item.js +20 -0
  201. package/dist/esm/components/dropdown-menu/dropdown-menu-label.js +20 -0
  202. package/dist/esm/components/dropdown-menu/dropdown-menu-radio-item.js +24 -0
  203. package/dist/esm/components/dropdown-menu/dropdown-menu-separator.js +16 -0
  204. package/dist/esm/components/dropdown-menu/dropdown-menu-shortcut.js +18 -0
  205. package/dist/esm/components/dropdown-menu/dropdown-menu-sub-content.js +19 -0
  206. package/dist/esm/components/dropdown-menu/dropdown-menu-sub-trigger.js +25 -0
  207. package/dist/esm/components/dropdown-menu/dropdown-menu.js +15 -0
  208. package/dist/esm/components/dropdown-menu/index.js +10 -0
  209. package/dist/esm/components/error-message.js +36 -0
  210. package/dist/esm/components/filter/filter-block.js +18 -0
  211. package/dist/esm/components/filter/filter-checkbox-item.js +25 -0
  212. package/dist/esm/components/filter/filter-chip.js +40 -0
  213. package/dist/esm/components/filter/filter-chips.js +50 -0
  214. package/dist/esm/components/filter/filter-dropdown-item.js +20 -0
  215. package/dist/esm/components/filter/filter-group.js +9 -0
  216. package/dist/esm/components/filter/filter-label.js +20 -0
  217. package/dist/esm/components/filter/filter-modal-item.js +21 -0
  218. package/dist/esm/components/filter/filter-modal.js +214 -0
  219. package/dist/esm/components/filter/filter-radio-item.js +24 -0
  220. package/dist/esm/components/filter/filter-separator.js +16 -0
  221. package/dist/esm/components/filter/index.js +12 -0
  222. package/dist/esm/components/filter/interface.js +0 -0
  223. package/dist/esm/components/filter/variants.js +17 -0
  224. package/dist/esm/components/form/form-field.js +43 -0
  225. package/dist/esm/components/form/index.js +1 -0
  226. package/dist/esm/components/graph/default-config.js +129 -0
  227. package/dist/esm/components/graph/formatters.js +150 -0
  228. package/dist/esm/components/graph/graph-current-value.js +30 -0
  229. package/dist/esm/components/graph/graph-tooltip.js +118 -0
  230. package/dist/esm/components/graph/graph-view.js +196 -0
  231. package/dist/esm/components/graph/graph.js +606 -0
  232. package/dist/esm/components/graph/index.js +15 -0
  233. package/dist/esm/components/graph/plugins/vertical-line.js +103 -0
  234. package/dist/esm/components/guard.js +10 -0
  235. package/dist/esm/components/health-factor.js +63 -0
  236. package/dist/esm/components/help-center-container.js +83 -0
  237. package/dist/esm/components/hide-on.js +41 -0
  238. package/dist/esm/components/horizontal-indicator.js +34 -0
  239. package/dist/esm/components/image.js +32 -0
  240. package/dist/esm/components/index.js +46 -4
  241. package/dist/esm/components/input.js +41 -20
  242. package/dist/esm/components/label.js +27 -4
  243. package/dist/esm/components/layout/app-logo.js +5 -5
  244. package/dist/esm/components/layout/col.js +158 -0
  245. package/dist/esm/components/layout/container.js +41 -0
  246. package/dist/esm/components/layout/footer.js +134 -52
  247. package/dist/esm/components/layout/grid.js +183 -0
  248. package/dist/esm/components/layout/header.js +65 -13
  249. package/dist/esm/components/layout/index.js +4 -0
  250. package/dist/esm/components/layout/layout.js +31 -0
  251. package/dist/esm/components/layout/legal-disclaimer.js +4 -4
  252. package/dist/esm/components/liquidation/index.js +4 -0
  253. package/dist/esm/components/liquidation/liquidation-assets-table.js +71 -0
  254. package/dist/esm/components/liquidation/liquidation-graph-legend.js +17 -0
  255. package/dist/esm/components/liquidation/liquidation-graph-tip.js +72 -0
  256. package/dist/esm/components/liquidation/liquidation-graph.js +191 -0
  257. package/dist/esm/components/loader-guard.js +23 -0
  258. package/dist/esm/components/loading-guard.js +31 -0
  259. package/dist/esm/components/markdown-viewer.js +4 -2
  260. package/dist/esm/components/navbar-indicator-context.js +76 -0
  261. package/dist/esm/components/navbar.js +98 -0
  262. package/dist/esm/components/navitem.js +113 -0
  263. package/dist/esm/components/next/back-button.js +11 -0
  264. package/dist/esm/components/next/index.js +12 -0
  265. package/dist/esm/components/next/siwe-provider.js +11 -0
  266. package/dist/esm/components/next/token-icon.js +11 -0
  267. package/dist/esm/components/next/web3-providers.js +92 -0
  268. package/dist/esm/components/not-found.js +24 -0
  269. package/dist/esm/components/options-list.js +53 -0
  270. package/dist/esm/components/page-title.js +80 -0
  271. package/dist/esm/components/percent-indicator.js +22 -0
  272. package/dist/esm/components/pool-points-indicator.js +73 -0
  273. package/dist/esm/components/search-bar.js +1 -0
  274. package/dist/esm/components/search-line.js +188 -0
  275. package/dist/esm/components/select.js +28 -8
  276. package/dist/esm/components/short-string.js +39 -0
  277. package/dist/esm/components/signatures/vertical-timeline.js +1 -0
  278. package/dist/esm/components/skeleton.js +54 -2
  279. package/dist/esm/components/stat-badge.js +155 -0
  280. package/dist/esm/components/tab-control.js +216 -0
  281. package/dist/esm/components/table/editable-grid-table.js +105 -0
  282. package/dist/esm/components/{editable-table → table}/editable-table.js +1 -1
  283. package/dist/esm/components/table/grid-error-line.js +36 -0
  284. package/dist/esm/components/table/grid-loading-line.js +30 -0
  285. package/dist/esm/components/table/grid-table-loader.js +22 -0
  286. package/dist/esm/components/table/grid-table.js +159 -0
  287. package/dist/esm/components/table/index.js +13 -0
  288. package/dist/esm/components/table/sortable-head-cell.js +24 -0
  289. package/dist/esm/components/table/table-loader-guard.js +31 -0
  290. package/dist/esm/components/table/table-loader.js +22 -0
  291. package/dist/esm/components/table/table-sm.js +58 -0
  292. package/dist/esm/components/{table.js → table/table.js} +74 -21
  293. package/dist/esm/components/textarea.js +25 -6
  294. package/dist/esm/components/theme-provider.js +108 -0
  295. package/dist/esm/components/theme-toggle.js +61 -0
  296. package/dist/esm/components/token-icon.js +70 -11
  297. package/dist/esm/components/token-symbol.js +50 -0
  298. package/dist/esm/components/tooltip.js +1 -1
  299. package/dist/esm/components/typed-intl/index.js +32 -0
  300. package/dist/esm/components/vspace.js +7 -0
  301. package/dist/esm/components/with-filter-button.js +50 -0
  302. package/dist/esm/configs/design-tokens.js +85 -0
  303. package/dist/esm/configs/index.js +9 -0
  304. package/dist/esm/configs/tailwind-preset.js +128 -0
  305. package/dist/esm/configs/tailwind.config.js +16 -57
  306. package/dist/esm/configs/variants.js +31 -0
  307. package/dist/esm/hooks/index.js +7 -0
  308. package/dist/esm/hooks/use-controllable-state.js +26 -0
  309. package/dist/esm/hooks/use-debounce.js +43 -0
  310. package/dist/esm/hooks/use-filter.js +52 -0
  311. package/dist/esm/hooks/use-hf.js +38 -0
  312. package/dist/esm/hooks/use-liquidation/index.js +188 -0
  313. package/dist/esm/hooks/use-liquidation/types.js +0 -0
  314. package/dist/esm/hooks/use-liquidation/utils.js +215 -0
  315. package/dist/esm/hooks/use-media-query.js +24 -0
  316. package/dist/esm/hooks/use-previous.js +12 -0
  317. package/dist/esm/index.js +84 -1
  318. package/dist/esm/types/component-props.js +0 -0
  319. package/dist/esm/types/filter.js +0 -0
  320. package/dist/esm/types/footer.js +0 -0
  321. package/dist/esm/types/graph.js +0 -0
  322. package/dist/esm/types/help.js +0 -0
  323. package/dist/esm/types/index.js +0 -0
  324. package/dist/esm/types/range-item.js +0 -0
  325. package/dist/esm/utils/a11y.js +14 -0
  326. package/dist/esm/utils/bn-to-input-view.js +36 -0
  327. package/dist/esm/utils/colors.js +69 -0
  328. package/dist/esm/utils/format-asset-amount.js +19 -0
  329. package/dist/esm/utils/format-money.js +40 -0
  330. package/dist/esm/utils/index.js +21 -1
  331. package/dist/esm/utils/interface.js +0 -0
  332. package/dist/esm/utils/react.js +70 -0
  333. package/dist/esm/utils/short-sha.js +4 -0
  334. package/dist/esm/utils/sort.js +0 -0
  335. package/dist/esm/utils/templates.js +24 -0
  336. package/dist/globals.css +230 -52
  337. package/dist/grid-safelist.css +264 -0
  338. package/dist/types/components/asset-line.d.ts +59 -0
  339. package/dist/types/components/assets-list-cell.d.ts +48 -0
  340. package/dist/types/components/assets-ratio.d.ts +9 -0
  341. package/dist/types/components/auth/signin-required.d.ts +1 -1
  342. package/dist/types/components/auth/siwe-provider.d.ts +2 -1
  343. package/dist/types/components/badge.d.ts +1 -1
  344. package/dist/types/components/base-link.d.ts +58 -0
  345. package/dist/types/components/block-sync.d.ts +8 -0
  346. package/dist/types/components/breadcrumbs.d.ts +24 -0
  347. package/dist/types/components/buttons/back-button.d.ts +15 -20
  348. package/dist/types/components/buttons/button.d.ts +37 -3
  349. package/dist/types/components/buttons/filter-button.d.ts +52 -0
  350. package/dist/types/components/buttons/index.d.ts +2 -0
  351. package/dist/types/components/buttons/range-buttons.d.ts +49 -0
  352. package/dist/types/components/card-grid.d.ts +25 -0
  353. package/dist/types/components/card.d.ts +116 -0
  354. package/dist/types/components/cards/card.d.ts +2 -2
  355. package/dist/types/components/checkbox-item.d.ts +56 -0
  356. package/dist/types/components/compound-apy.d.ts +80 -0
  357. package/dist/types/components/credit-session-status.d.ts +7 -0
  358. package/dist/types/components/description.d.ts +26 -0
  359. package/dist/types/components/detailed-page-title.d.ts +31 -0
  360. package/dist/types/components/dialog/dialog-container.d.ts +12 -0
  361. package/dist/types/components/dialog/dialog-content.d.ts +4 -0
  362. package/dist/types/components/dialog/dialog-description.d.ts +4 -0
  363. package/dist/types/components/dialog/dialog-footer.d.ts +6 -0
  364. package/dist/types/components/dialog/dialog-header.d.ts +6 -0
  365. package/dist/types/components/dialog/dialog-overlay.d.ts +4 -0
  366. package/dist/types/components/dialog/dialog-title.d.ts +4 -0
  367. package/dist/types/components/dialog/dialog.d.ts +5 -0
  368. package/dist/types/components/dialog/index.d.ts +8 -0
  369. package/dist/types/components/dropdown-menu/dropdown-menu-checkbox-item.d.ts +22 -0
  370. package/dist/types/components/dropdown-menu/dropdown-menu-content.d.ts +4 -0
  371. package/dist/types/components/dropdown-menu/dropdown-menu-item.d.ts +6 -0
  372. package/dist/types/components/dropdown-menu/dropdown-menu-label.d.ts +6 -0
  373. package/dist/types/components/dropdown-menu/dropdown-menu-radio-item.d.ts +4 -0
  374. package/dist/types/components/dropdown-menu/dropdown-menu-separator.d.ts +4 -0
  375. package/dist/types/components/dropdown-menu/dropdown-menu-shortcut.d.ts +6 -0
  376. package/dist/types/components/dropdown-menu/dropdown-menu-sub-content.d.ts +4 -0
  377. package/dist/types/components/dropdown-menu/dropdown-menu-sub-trigger.d.ts +6 -0
  378. package/dist/types/components/dropdown-menu/dropdown-menu.d.ts +8 -0
  379. package/dist/types/components/dropdown-menu/index.d.ts +10 -0
  380. package/dist/types/components/error-message.d.ts +21 -0
  381. package/dist/types/components/filter/filter-block.d.ts +17 -0
  382. package/dist/types/components/filter/filter-checkbox-item.d.ts +23 -0
  383. package/dist/types/components/filter/filter-chip.d.ts +34 -0
  384. package/dist/types/components/filter/filter-chips.d.ts +42 -0
  385. package/dist/types/components/filter/filter-dropdown-item.d.ts +24 -0
  386. package/dist/types/components/filter/filter-group.d.ts +22 -0
  387. package/dist/types/components/filter/filter-label.d.ts +21 -0
  388. package/dist/types/components/filter/filter-modal-item.d.ts +31 -0
  389. package/dist/types/components/filter/filter-modal.d.ts +123 -0
  390. package/dist/types/components/filter/filter-radio-item.d.ts +19 -0
  391. package/dist/types/components/filter/filter-separator.d.ts +22 -0
  392. package/dist/types/components/filter/index.d.ts +109 -0
  393. package/dist/types/components/filter/interface.d.ts +24 -0
  394. package/dist/types/components/filter/variants.d.ts +3 -0
  395. package/dist/types/components/form/form-field.d.ts +38 -0
  396. package/dist/types/components/form/index.d.ts +1 -0
  397. package/dist/types/components/graph/default-config.d.ts +20 -0
  398. package/dist/types/components/graph/formatters.d.ts +16 -0
  399. package/dist/types/components/graph/graph-current-value.d.ts +13 -0
  400. package/dist/types/components/graph/graph-tooltip.d.ts +24 -0
  401. package/dist/types/components/graph/graph-view.d.ts +198 -0
  402. package/dist/types/components/graph/graph.d.ts +49 -0
  403. package/dist/types/components/graph/index.d.ts +7 -0
  404. package/dist/types/components/guard.d.ts +34 -0
  405. package/dist/types/components/health-factor.d.ts +63 -0
  406. package/dist/types/components/help-center-container.d.ts +22 -0
  407. package/dist/types/components/hide-on.d.ts +32 -0
  408. package/dist/types/components/horizontal-indicator.d.ts +22 -0
  409. package/dist/types/components/image.d.ts +35 -0
  410. package/dist/types/components/index.d.ts +44 -1
  411. package/dist/types/components/input.d.ts +26 -9
  412. package/dist/types/components/label.d.ts +26 -5
  413. package/dist/types/components/layout/app-logo.d.ts +1 -0
  414. package/dist/types/components/layout/col.d.ts +43 -0
  415. package/dist/types/components/layout/container.d.ts +37 -0
  416. package/dist/types/components/layout/footer.d.ts +44 -5
  417. package/dist/types/components/layout/grid.d.ts +48 -0
  418. package/dist/types/components/layout/header.d.ts +68 -12
  419. package/dist/types/components/layout/index.d.ts +4 -0
  420. package/dist/types/components/layout/layout.d.ts +12 -0
  421. package/dist/types/components/liquidation/index.d.ts +4 -0
  422. package/dist/types/components/liquidation/liquidation-assets-table.d.ts +14 -0
  423. package/dist/types/components/liquidation/liquidation-graph-legend.d.ts +2 -0
  424. package/dist/types/components/liquidation/liquidation-graph-tip.d.ts +13 -0
  425. package/dist/types/components/liquidation/liquidation-graph.d.ts +19 -0
  426. package/dist/types/components/loader-guard.d.ts +17 -0
  427. package/dist/types/components/loading-guard.d.ts +18 -0
  428. package/dist/types/components/navbar-indicator-context.d.ts +13 -0
  429. package/dist/types/components/navbar.d.ts +25 -0
  430. package/dist/types/components/navitem.d.ts +67 -0
  431. package/dist/types/components/next/back-button.d.ts +3 -0
  432. package/dist/types/components/next/index.d.ts +10 -0
  433. package/dist/types/components/next/siwe-provider.d.ts +7 -0
  434. package/dist/types/components/next/token-icon.d.ts +3 -0
  435. package/dist/types/components/next/web3-providers.d.ts +29 -0
  436. package/dist/types/components/not-found.d.ts +18 -0
  437. package/dist/types/components/options-list.d.ts +15 -0
  438. package/dist/types/components/page-title.d.ts +69 -0
  439. package/dist/types/components/percent-indicator.d.ts +28 -0
  440. package/dist/types/components/pool-points-indicator.d.ts +41 -0
  441. package/dist/types/components/search-line.d.ts +117 -0
  442. package/dist/types/components/select.d.ts +9 -2
  443. package/dist/types/components/short-string.d.ts +39 -0
  444. package/dist/types/components/skeleton.d.ts +28 -3
  445. package/dist/types/components/stat-badge.d.ts +169 -0
  446. package/dist/types/components/tab-control.d.ts +39 -0
  447. package/dist/types/components/table/editable-grid-table.d.ts +120 -0
  448. package/dist/types/components/table/grid-error-line.d.ts +49 -0
  449. package/dist/types/components/table/grid-loading-line.d.ts +36 -0
  450. package/dist/types/components/table/grid-table-loader.d.ts +25 -0
  451. package/dist/types/components/table/grid-table.d.ts +158 -0
  452. package/dist/types/components/table/index.d.ts +13 -0
  453. package/dist/types/components/table/sortable-head-cell.d.ts +36 -0
  454. package/dist/types/components/table/table-loader-guard.d.ts +45 -0
  455. package/dist/types/components/table/table-loader.d.ts +46 -0
  456. package/dist/types/components/table/table-sm.d.ts +94 -0
  457. package/dist/types/components/{table.d.ts → table/table.d.ts} +39 -12
  458. package/dist/types/components/{editable-table → table}/updated-value.d.ts +3 -0
  459. package/dist/types/components/textarea.d.ts +24 -5
  460. package/dist/types/components/theme-provider.d.ts +34 -0
  461. package/dist/types/components/theme-toggle.d.ts +5 -0
  462. package/dist/types/components/token-icon.d.ts +8 -6
  463. package/dist/types/components/token-symbol.d.ts +71 -0
  464. package/dist/types/components/typed-intl/index.d.ts +19 -0
  465. package/dist/types/components/vspace.d.ts +27 -0
  466. package/dist/types/components/with-filter-button.d.ts +54 -0
  467. package/dist/types/configs/design-tokens.d.ts +73 -0
  468. package/dist/types/configs/index.d.ts +4 -0
  469. package/dist/types/configs/tailwind-preset.d.ts +126 -0
  470. package/dist/types/configs/tailwind.config.d.ts +29 -0
  471. package/dist/types/configs/variants.d.ts +28 -0
  472. package/dist/types/hooks/index.d.ts +7 -0
  473. package/dist/types/hooks/use-controllable-state.d.ts +24 -0
  474. package/dist/types/hooks/use-debounce.d.ts +31 -0
  475. package/dist/types/hooks/use-filter.d.ts +37 -0
  476. package/dist/types/hooks/use-hf.d.ts +15 -0
  477. package/dist/types/hooks/use-liquidation/index.d.ts +52 -0
  478. package/dist/types/hooks/use-liquidation/types.d.ts +16 -0
  479. package/dist/types/hooks/use-liquidation/utils.d.ts +66 -0
  480. package/dist/types/hooks/use-media-query.d.ts +25 -0
  481. package/dist/types/hooks/use-previous.d.ts +10 -0
  482. package/dist/types/index.d.ts +71 -2
  483. package/dist/types/types/component-props.d.ts +16 -0
  484. package/dist/types/types/filter.d.ts +8 -0
  485. package/dist/types/types/footer.d.ts +30 -0
  486. package/dist/types/types/graph.d.ts +22 -0
  487. package/dist/types/types/help.d.ts +4 -0
  488. package/dist/types/types/index.d.ts +6 -0
  489. package/dist/types/types/range-item.d.ts +9 -0
  490. package/dist/types/utils/a11y.d.ts +24 -0
  491. package/dist/types/utils/bn-to-input-view.d.ts +17 -0
  492. package/dist/types/utils/colors.d.ts +29 -0
  493. package/dist/types/utils/format-asset-amount.d.ts +16 -0
  494. package/dist/types/utils/format-money.d.ts +64 -0
  495. package/dist/types/utils/index.d.ts +10 -0
  496. package/dist/types/utils/interface.d.ts +9 -0
  497. package/dist/types/utils/react.d.ts +31 -0
  498. package/dist/types/utils/short-sha.d.ts +9 -0
  499. package/dist/types/utils/sort.d.ts +5 -0
  500. package/dist/types/utils/templates.d.ts +61 -0
  501. package/package.json +66 -28
  502. package/dist/cjs/components/dialog.js +0 -137
  503. package/dist/cjs/components/dropdown-menu.js +0 -200
  504. package/dist/esm/components/dialog.js +0 -97
  505. package/dist/esm/components/dropdown-menu.js +0 -152
  506. package/dist/esm/components/editable-table/index.js +0 -3
  507. package/dist/types/components/dialog.d.ts +0 -38
  508. package/dist/types/components/dropdown-menu.d.ts +0 -59
  509. package/dist/types/components/editable-table/index.d.ts +0 -3
  510. /package/dist/cjs/components/{editable-table → table}/edit-button.js +0 -0
  511. /package/dist/cjs/components/{editable-table → table}/updated-value.js +0 -0
  512. /package/dist/esm/components/{editable-table → table}/edit-button.js +0 -0
  513. /package/dist/esm/components/{editable-table → table}/updated-value.js +0 -0
  514. /package/dist/types/components/{editable-table → table}/edit-button.d.ts +0 -0
  515. /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,7 @@
1
+ export * from "./use-controllable-state";
2
+ export * from "./use-debounce";
3
+ export * from "./use-filter";
4
+ export * from "./use-hf";
5
+ export * from "./use-liquidation";
6
+ export * from "./use-media-query";
7
+ export * from "./use-previous";
@@ -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;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Hook to store the previous value
3
+ *
4
+ * @example
5
+ * ```tsx
6
+ * const [count, setCount] = useState(0);
7
+ * const prevCount = usePrevious(count);
8
+ * ```
9
+ */
10
+ export declare function usePrevious<T>(value: T): T | undefined;
@@ -1,2 +1,71 @@
1
- export * from "./components/index";
2
- export * from "./utils/index";
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,8 @@
1
+ /**
2
+ * Types for filter components
3
+ */
4
+ export interface RangeNumber {
5
+ balance: bigint;
6
+ balanceView: string;
7
+ }
8
+ export type FilterRange = readonly [RangeNumber, RangeNumber];
@@ -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";
@@ -0,0 +1,6 @@
1
+ export type * from "./component-props";
2
+ export type * from "./filter";
3
+ export type * from "./footer";
4
+ export type * from "./graph";
5
+ export type * from "./help";
6
+ export type * from "./range-item";
@@ -0,0 +1,9 @@
1
+ import type * as React from "react";
2
+ /**
3
+ * Interface for range button items
4
+ * Used in RangeButtons component
5
+ */
6
+ export interface RangeItemProps<T> {
7
+ value: T;
8
+ label: React.ReactNode;
9
+ }