@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,85 @@
1
+ const designTokens = {
2
+ colors: {
3
+ primary: "rgb(59, 130, 246)",
4
+ secondary: "rgb(100, 116, 139)",
5
+ destructive: "rgb(239, 68, 68)",
6
+ success: "rgb(34, 197, 94)",
7
+ warning: "rgb(251, 191, 36)"
8
+ },
9
+ spacing: {
10
+ xs: "0.5rem",
11
+ // 8px
12
+ sm: "0.75rem",
13
+ // 12px
14
+ md: "1rem",
15
+ // 16px
16
+ lg: "1.5rem",
17
+ // 24px
18
+ xl: "2rem"
19
+ // 32px
20
+ },
21
+ borderRadius: {
22
+ sm: "0.25rem",
23
+ md: "0.375rem",
24
+ lg: "0.5rem",
25
+ xl: "0.75rem",
26
+ full: "9999px"
27
+ },
28
+ typography: {
29
+ fontFamily: {
30
+ sans: 'system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
31
+ mono: 'ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace'
32
+ },
33
+ fontSize: {
34
+ xs: "0.75rem",
35
+ // 12px
36
+ sm: "0.875rem",
37
+ // 14px
38
+ base: "1rem",
39
+ // 16px
40
+ lg: "1.125rem",
41
+ // 18px
42
+ xl: "1.25rem",
43
+ // 20px
44
+ "2xl": "1.5rem",
45
+ // 24px
46
+ "3xl": "1.875rem",
47
+ // 30px
48
+ "4xl": "2.25rem"
49
+ // 36px
50
+ },
51
+ fontWeight: {
52
+ normal: "400",
53
+ medium: "500",
54
+ semibold: "600",
55
+ bold: "700"
56
+ },
57
+ lineHeight: {
58
+ tight: "1.25",
59
+ normal: "1.5",
60
+ relaxed: "1.75"
61
+ }
62
+ },
63
+ animation: {
64
+ duration: {
65
+ fast: "150ms",
66
+ normal: "300ms",
67
+ slow: "500ms"
68
+ },
69
+ easing: {
70
+ easeInOut: "cubic-bezier(0.4, 0, 0.2, 1)",
71
+ easeOut: "cubic-bezier(0.0, 0, 0.2, 1)",
72
+ easeIn: "cubic-bezier(0.4, 0, 1, 1)"
73
+ }
74
+ },
75
+ shadows: {
76
+ sm: "0 1px 2px 0 rgb(0 0 0 / 0.05)",
77
+ base: "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",
78
+ md: "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
79
+ lg: "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",
80
+ xl: "0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)"
81
+ }
82
+ };
83
+ export {
84
+ designTokens
85
+ };
@@ -0,0 +1,9 @@
1
+ export * from "./design-tokens.js";
2
+ import { default as default2, preset } from "./tailwind.config.js";
3
+ import { default as default3 } from "./tailwind-preset.js";
4
+ export * from "./variants.js";
5
+ export {
6
+ preset,
7
+ default2 as tailwindConfig,
8
+ default3 as tailwindPreset
9
+ };
@@ -0,0 +1,128 @@
1
+ import tailwindAnimate from "tailwindcss-animate";
2
+ const preset = {
3
+ darkMode: "class",
4
+ safelist: [
5
+ // Grid columns - dynamically generated in Grid component
6
+ { pattern: /^grid-cols-(1|2|3|4|5|6|7|8|9|10|11|12)$/ },
7
+ { pattern: /^(sm|md|lg|xl):grid-cols-(1|2|3|4|5|6|7|8|9|10|11|12)$/ },
8
+ // Column spans - dynamically generated in Col component
9
+ { pattern: /^col-span-(1|2|3|4|5|6|7|8|9|10|11|12|full|auto)$/ },
10
+ {
11
+ pattern: /^(sm|md|lg|xl):col-span-(1|2|3|4|5|6|7|8|9|10|11|12|full|auto)$/
12
+ },
13
+ // Column start positions - dynamically generated in Col component
14
+ { pattern: /^col-start-(1|2|3|4|5|6|7|8|9|10|11|12|13|auto)$/ },
15
+ // Order utilities - dynamically generated in Col component
16
+ { pattern: /^order-(1|2|3|4|5|6|7|8|9|10|11|12|first|last|none)$/ },
17
+ // Gap utilities - dynamically generated in Grid component
18
+ { pattern: /^gap-(0|1|2|3|4|5|6|7|8|9|10|12|16|20|24)$/ },
19
+ { pattern: /^gap-(x|y)-(0|1|2|3|4|5|6|7|8|9|10|12|16|20|24)$/ }
20
+ ],
21
+ theme: {
22
+ extend: {
23
+ colors: {
24
+ background: "hsl(var(--background))",
25
+ foreground: "hsl(var(--foreground))",
26
+ card: {
27
+ DEFAULT: "hsl(var(--card))",
28
+ foreground: "hsl(var(--card-foreground))"
29
+ },
30
+ popover: {
31
+ DEFAULT: "hsl(var(--popover))",
32
+ foreground: "hsl(var(--popover-foreground))"
33
+ },
34
+ primary: {
35
+ DEFAULT: "hsl(var(--primary))",
36
+ foreground: "hsl(var(--primary-foreground))"
37
+ },
38
+ secondary: {
39
+ DEFAULT: "hsl(var(--secondary))",
40
+ foreground: "hsl(var(--secondary-foreground))"
41
+ },
42
+ muted: {
43
+ DEFAULT: "hsl(var(--muted))",
44
+ foreground: "hsl(var(--muted-foreground))"
45
+ },
46
+ accent: {
47
+ DEFAULT: "hsl(var(--accent))",
48
+ foreground: "hsl(var(--accent-foreground))"
49
+ },
50
+ destructive: {
51
+ DEFAULT: "hsl(var(--destructive))",
52
+ foreground: "hsl(var(--destructive-foreground))"
53
+ },
54
+ success: "hsl(var(--success))",
55
+ warning: "hsl(var(--warning))",
56
+ liquidation: "hsl(var(--liquidation))",
57
+ border: "hsl(var(--border))",
58
+ input: "hsl(var(--input))",
59
+ ring: "hsl(var(--ring))",
60
+ "text-secondary": "hsl(var(--text-secondary))",
61
+ "dropdown-dark-button": "hsl(var(--dropdown-dark-button))",
62
+ white: "hsl(var(--white))",
63
+ black: "hsl(var(--black))",
64
+ gray: {
65
+ 10: "hsl(var(--gray-10))",
66
+ 20: "hsl(var(--gray-20))",
67
+ 30: "hsl(var(--gray-30))",
68
+ 40: "hsl(var(--gray-40))",
69
+ 50: "hsl(var(--gray-50))",
70
+ 60: "hsl(var(--gray-60))",
71
+ 70: "hsl(var(--gray-70))",
72
+ 80: "hsl(var(--gray-80))",
73
+ 90: "hsl(var(--gray-90))",
74
+ 100: "hsl(var(--gray-100))",
75
+ 110: "hsl(var(--gray-110))"
76
+ },
77
+ chart: {
78
+ "1": "hsl(var(--chart-1))",
79
+ "2": "hsl(var(--chart-2))",
80
+ "3": "hsl(var(--chart-3))",
81
+ "4": "hsl(var(--chart-4))",
82
+ "5": "hsl(var(--chart-5))"
83
+ }
84
+ },
85
+ fontFamily: {
86
+ sans: [
87
+ "Rubik",
88
+ "-apple-system",
89
+ "BlinkMacSystemFont",
90
+ "Segoe UI",
91
+ "Roboto",
92
+ "Oxygen",
93
+ "Ubuntu",
94
+ "Cantarell",
95
+ "Fira Sans",
96
+ "Droid Sans",
97
+ "Helvetica Neue",
98
+ "sans-serif"
99
+ ]
100
+ },
101
+ borderRadius: {
102
+ lg: "var(--radius)",
103
+ md: "calc(var(--radius) - 2px)",
104
+ sm: "calc(var(--radius) - 4px)"
105
+ },
106
+ keyframes: {
107
+ "accordion-down": {
108
+ from: { height: "0" },
109
+ to: { height: "var(--radix-accordion-content-height)" }
110
+ },
111
+ "accordion-up": {
112
+ from: { height: "var(--radix-accordion-content-height)" },
113
+ to: { height: "0" }
114
+ }
115
+ },
116
+ animation: {
117
+ "accordion-down": "accordion-down 0.2s ease-out",
118
+ "accordion-up": "accordion-up 0.2s ease-out"
119
+ }
120
+ }
121
+ },
122
+ plugins: [tailwindAnimate]
123
+ };
124
+ var tailwind_preset_default = preset;
125
+ export {
126
+ tailwind_preset_default as default,
127
+ preset
128
+ };
@@ -1,68 +1,27 @@
1
- import animate from "tailwindcss-animate";
1
+ import { preset } from "./tailwind-preset.js";
2
2
  const tailwindConfig = {
3
- darkMode: ["class"],
4
- content: [
5
- "./pages/**/*.{js,ts,jsx,tsx,mdx}",
6
- "./components/**/*.{js,ts,jsx,tsx,mdx}",
7
- "./app/**/*.{js,ts,jsx,tsx,mdx}"
8
- ],
3
+ ...preset,
4
+ content: {
5
+ files: [
6
+ "./pages/**/*.{js,ts,jsx,tsx,mdx}",
7
+ "./components/**/*.{js,ts,jsx,tsx,mdx}",
8
+ "./app/**/*.{js,ts,jsx,tsx,mdx}",
9
+ "./src/**/*.{js,ts,jsx,tsx,mdx}"
10
+ ]
11
+ },
9
12
  theme: {
13
+ ...preset.theme,
10
14
  extend: {
11
- colors: {
12
- background: "hsl(var(--background))",
13
- foreground: "hsl(var(--foreground))",
14
- card: {
15
- DEFAULT: "hsl(var(--card))",
16
- foreground: "hsl(var(--card-foreground))"
17
- },
18
- popover: {
19
- DEFAULT: "hsl(var(--popover))",
20
- foreground: "hsl(var(--popover-foreground))"
21
- },
22
- primary: {
23
- DEFAULT: "hsl(var(--primary))",
24
- foreground: "hsl(var(--primary-foreground))"
25
- },
26
- secondary: {
27
- DEFAULT: "hsl(var(--secondary))",
28
- foreground: "hsl(var(--secondary-foreground))"
29
- },
30
- muted: {
31
- DEFAULT: "hsl(var(--muted))",
32
- foreground: "hsl(var(--muted-foreground))"
33
- },
34
- accent: {
35
- DEFAULT: "hsl(var(--accent))",
36
- foreground: "hsl(var(--accent-foreground))"
37
- },
38
- destructive: {
39
- DEFAULT: "hsl(var(--destructive))",
40
- foreground: "hsl(var(--destructive-foreground))"
41
- },
42
- border: "hsl(var(--border))",
43
- input: "hsl(var(--input))",
44
- ring: "hsl(var(--ring))",
45
- chart: {
46
- "1": "hsl(var(--chart-1))",
47
- "2": "hsl(var(--chart-2))",
48
- "3": "hsl(var(--chart-3))",
49
- "4": "hsl(var(--chart-4))",
50
- "5": "hsl(var(--chart-5))"
51
- }
52
- },
53
- borderRadius: {
54
- lg: "var(--radius)",
55
- md: "calc(var(--radius) - 2px)",
56
- sm: "calc(var(--radius) - 4px)"
57
- },
15
+ ...preset.theme?.extend,
58
16
  fontFamily: {
17
+ ...preset.theme?.extend?.fontFamily,
59
18
  mono: ["var(--font-geist-mono)", "monospace"]
60
19
  }
61
20
  }
62
- },
63
- plugins: [animate]
21
+ }
64
22
  };
65
23
  var tailwind_config_default = tailwindConfig;
66
24
  export {
67
- tailwind_config_default as default
25
+ tailwind_config_default as default,
26
+ preset
68
27
  };
@@ -0,0 +1,31 @@
1
+ const sizeVariants = {
2
+ xs: "text-xs",
3
+ sm: "text-sm",
4
+ default: "text-sm",
5
+ lg: "text-base",
6
+ xl: "text-lg"
7
+ };
8
+ const stateVariants = {
9
+ default: "",
10
+ error: "border-red-500 text-red-500 focus-visible:ring-red-500",
11
+ success: "border-green-500 text-green-500 focus-visible:ring-green-500",
12
+ warning: "border-yellow-500 text-yellow-500 focus-visible:ring-yellow-500"
13
+ };
14
+ const paddingVariants = {
15
+ none: "p-0",
16
+ xs: "p-2",
17
+ sm: "p-4",
18
+ default: "p-6",
19
+ lg: "p-8",
20
+ xl: "p-10"
21
+ };
22
+ const interactiveVariants = {
23
+ default: "transition-colors duration-200",
24
+ disabled: "opacity-50 cursor-not-allowed pointer-events-none"
25
+ };
26
+ export {
27
+ interactiveVariants,
28
+ paddingVariants,
29
+ sizeVariants,
30
+ stateVariants
31
+ };
@@ -0,0 +1,7 @@
1
+ export * from "./use-controllable-state.js";
2
+ export * from "./use-debounce.js";
3
+ export * from "./use-filter.js";
4
+ export * from "./use-hf.js";
5
+ export * from "./use-liquidation/index.js";
6
+ export * from "./use-media-query.js";
7
+ export * from "./use-previous.js";
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ import { useCallback, useState } from "react";
3
+ function useControllableState({
4
+ value: controlledValue,
5
+ defaultValue,
6
+ onChange
7
+ }) {
8
+ const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);
9
+ const isControlled = controlledValue !== void 0;
10
+ const value = isControlled ? controlledValue : uncontrolledValue;
11
+ const setValue = useCallback(
12
+ (nextValue) => {
13
+ const setter = nextValue;
14
+ const value2 = typeof nextValue === "function" ? setter(uncontrolledValue) : nextValue;
15
+ if (!isControlled) {
16
+ setUncontrolledValue(value2);
17
+ }
18
+ onChange?.(value2);
19
+ },
20
+ [isControlled, onChange, uncontrolledValue]
21
+ );
22
+ return [value, setValue];
23
+ }
24
+ export {
25
+ useControllableState
26
+ };
@@ -0,0 +1,43 @@
1
+ "use client";
2
+ import { useCallback, useEffect, useMemo } from "react";
3
+ const debounce = (func, delay) => {
4
+ let timer = null;
5
+ const cleanup = () => {
6
+ if (timer) {
7
+ clearTimeout(timer);
8
+ timer = null;
9
+ }
10
+ };
11
+ const makeSyncTask = (arg) => () => {
12
+ func(arg);
13
+ cleanup();
14
+ };
15
+ const setTask = (arg) => {
16
+ cleanup();
17
+ timer = window.setTimeout(makeSyncTask(arg), delay);
18
+ };
19
+ return [setTask, cleanup];
20
+ };
21
+ function useDebounce(call, delay = 1e3) {
22
+ const [set, clean] = useMemo(() => debounce(call, delay), [call, delay]);
23
+ useEffect(() => {
24
+ return function cleanOnUnmount() {
25
+ clean();
26
+ };
27
+ }, [clean]);
28
+ return set;
29
+ }
30
+ const anyCall = (c) => c();
31
+ function useDebounceCall(delay) {
32
+ const debounced = useDebounce(anyCall, delay);
33
+ return useCallback(
34
+ (call) => {
35
+ debounced(call);
36
+ },
37
+ [debounced]
38
+ );
39
+ }
40
+ export {
41
+ useDebounce,
42
+ useDebounceCall
43
+ };
@@ -0,0 +1,52 @@
1
+ "use client";
2
+ import { useCallback, useMemo, useState } from "react";
3
+ function useRangeFilter() {
4
+ const [range, setRange] = useState(null);
5
+ const resetRange = useCallback(() => setRange(null), []);
6
+ return [range, setRange, resetRange];
7
+ }
8
+ function useSelectFilter(initialState = null) {
9
+ const [list, setList] = useState(initialState);
10
+ const resetList = useCallback(() => setList(null), []);
11
+ return [list, setList, resetList];
12
+ }
13
+ const getNextSortType = (s) => s === "asc" ? "desc" : "asc";
14
+ const getSortForField = (s, state) => {
15
+ if (s !== state?.field) return void 0;
16
+ return state.sort;
17
+ };
18
+ function useSort(initialState = null) {
19
+ const [currentSort, setCurrentSort] = useState(
20
+ initialState
21
+ );
22
+ const sort = useCallback(
23
+ (field, startFromSort = "asc") => {
24
+ if (field === currentSort?.field) {
25
+ setCurrentSort({ field, sort: getNextSortType(currentSort.sort) });
26
+ } else {
27
+ setCurrentSort({ field, sort: startFromSort });
28
+ }
29
+ },
30
+ [currentSort]
31
+ );
32
+ return [currentSort, sort];
33
+ }
34
+ function useFilterAllSelected(filterState) {
35
+ const r = useMemo(() => {
36
+ return Object.values(filterState).reduce(
37
+ ([s, a], i) => {
38
+ const selected = !!i.state;
39
+ return [s || selected, a && selected];
40
+ },
41
+ [false, true]
42
+ );
43
+ }, [filterState]);
44
+ return r;
45
+ }
46
+ export {
47
+ getSortForField,
48
+ useFilterAllSelected,
49
+ useRangeFilter,
50
+ useSelectFilter,
51
+ useSort
52
+ };
@@ -0,0 +1,38 @@
1
+ import { CreditAccountData_Legacy } from "@gearbox-protocol/sdk";
2
+ import { useMemo } from "react";
3
+ function useHF({
4
+ assets,
5
+ quotas,
6
+ prices,
7
+ liquidationThresholds,
8
+ underlyingToken,
9
+ debt,
10
+ quotasInfo,
11
+ tokensList
12
+ }) {
13
+ const hf = useMemo(() => {
14
+ return CreditAccountData_Legacy.calcHealthFactor({
15
+ assets,
16
+ quotas,
17
+ prices,
18
+ liquidationThresholds,
19
+ underlyingToken,
20
+ debt,
21
+ quotasInfo,
22
+ tokensList
23
+ });
24
+ }, [
25
+ assets,
26
+ quotas,
27
+ prices,
28
+ liquidationThresholds,
29
+ underlyingToken,
30
+ debt,
31
+ quotasInfo,
32
+ tokensList
33
+ ]);
34
+ return { hf };
35
+ }
36
+ export {
37
+ useHF
38
+ };
@@ -0,0 +1,188 @@
1
+ "use client";
2
+ import {
3
+ CreditAccountData_Legacy,
4
+ PRICE_DECIMALS_POW,
5
+ toBN
6
+ } from "@gearbox-protocol/sdk";
7
+ import { useCallback, useMemo, useState } from "react";
8
+ import {
9
+ DEFAULT_AXIS_MAX,
10
+ useAxis,
11
+ useFixedAssets,
12
+ usePriceInNumber
13
+ } from "./utils.js";
14
+ import {
15
+ CELL_BAD,
16
+ CELL_CURRENT,
17
+ CELL_GOOD,
18
+ CELL_HOVERED,
19
+ CELL_LIQUIDATION,
20
+ CELL_OK,
21
+ DEFAULT_AXIS_MAX as DEFAULT_AXIS_MAX2,
22
+ DEFAULT_AXIS_MIN,
23
+ formatAxisLabel,
24
+ formatAxisTipLabel,
25
+ formatAxisTipPrice,
26
+ getCellClass,
27
+ isPointInCell,
28
+ useAxis as useAxis2,
29
+ useFixedAssets as useFixedAssets2,
30
+ useIsAxisInRelativeUnits,
31
+ useLiquidationGraphActivePrice,
32
+ useLiquidationGraphCurrentActiveValue,
33
+ usePriceInNumber as usePriceInNumber2,
34
+ useWithLiquidationGraphActivePrices
35
+ } from "./utils.js";
36
+ const RESOLUTION = 35;
37
+ function useLiquidationHeatmap({
38
+ xMin,
39
+ xMax,
40
+ yMin,
41
+ yMax,
42
+ xLabel,
43
+ yLabel,
44
+ assets,
45
+ quotas,
46
+ prices,
47
+ liquidationThresholds,
48
+ quotasInfo,
49
+ underlyingTokenAddress,
50
+ debt,
51
+ tokensList
52
+ }) {
53
+ const heatmap = useMemo(() => {
54
+ const intervalX = xMax - xMin;
55
+ const intervalY = yMax - yMin;
56
+ const stepX = intervalX / RESOLUTION;
57
+ const stepY = intervalY / RESOLUTION;
58
+ const GRID = Array.from(Array(RESOLUTION));
59
+ const pricesCopy = { ...prices };
60
+ return GRID.flatMap((_, i) => {
61
+ const x = xMin + i * stepX;
62
+ const xEnd = xMin + (i + 1) * stepX;
63
+ if (xLabel) {
64
+ pricesCopy[xLabel.address] = toBN(
65
+ String((x + xEnd) / 2),
66
+ PRICE_DECIMALS_POW
67
+ );
68
+ }
69
+ return GRID.map((__, j) => {
70
+ const y = yMin + j * stepY;
71
+ const yEnd = yMin + (j + 1) * stepY;
72
+ if (yLabel) {
73
+ pricesCopy[yLabel.address] = toBN(
74
+ String((y + yEnd) / 2),
75
+ PRICE_DECIMALS_POW
76
+ );
77
+ }
78
+ return {
79
+ x,
80
+ xEnd,
81
+ y,
82
+ yEnd,
83
+ value: CreditAccountData_Legacy.calcHealthFactor({
84
+ assets,
85
+ quotas,
86
+ prices: pricesCopy,
87
+ liquidationThresholds,
88
+ underlyingToken: underlyingTokenAddress,
89
+ debt,
90
+ quotasInfo,
91
+ tokensList
92
+ })
93
+ };
94
+ });
95
+ });
96
+ }, [
97
+ xMin,
98
+ xMax,
99
+ yMin,
100
+ yMax,
101
+ xLabel,
102
+ yLabel,
103
+ assets,
104
+ quotas,
105
+ prices,
106
+ liquidationThresholds,
107
+ underlyingTokenAddress,
108
+ debt,
109
+ quotasInfo,
110
+ tokensList
111
+ ]);
112
+ return heatmap;
113
+ }
114
+ function useEditPriceManually({ prices }) {
115
+ const [editedPrices, setEditedPrices] = useState({});
116
+ const allPrices = useMemo(
117
+ () => ({ ...prices, ...editedPrices }),
118
+ [prices, editedPrices]
119
+ );
120
+ const handleEditPrice = useCallback(
121
+ (newPrice, token) => {
122
+ setEditedPrices({ ...editedPrices, [token]: newPrice });
123
+ },
124
+ [editedPrices]
125
+ );
126
+ return [allPrices, handleEditPrice];
127
+ }
128
+ function useLiquidationGraphParams({
129
+ assets,
130
+ liquidationThresholds,
131
+ quotas,
132
+ quotasInfo,
133
+ tokensList,
134
+ prices
135
+ }) {
136
+ const [fixedBalances] = useFixedAssets({
137
+ assets,
138
+ liquidationThresholds,
139
+ quotas,
140
+ quotasInfo
141
+ });
142
+ const [priceX, tokenX] = usePriceInNumber({
143
+ asset: fixedBalances[0],
144
+ tokensList,
145
+ prices
146
+ });
147
+ const [priceY, tokenY] = usePriceInNumber({
148
+ asset: fixedBalances[1],
149
+ tokensList,
150
+ prices
151
+ });
152
+ const xAxis = useAxis({ currentPrice: priceX, token: tokenX });
153
+ const yAxis = useAxis({ currentPrice: priceY, token: tokenY });
154
+ return {
155
+ xAxis,
156
+ yAxis,
157
+ currentPoint: [
158
+ priceX || DEFAULT_AXIS_MAX / 2,
159
+ priceY || DEFAULT_AXIS_MAX / 2
160
+ ],
161
+ fixedBalances
162
+ };
163
+ }
164
+ export {
165
+ CELL_BAD,
166
+ CELL_CURRENT,
167
+ CELL_GOOD,
168
+ CELL_HOVERED,
169
+ CELL_LIQUIDATION,
170
+ CELL_OK,
171
+ DEFAULT_AXIS_MAX2 as DEFAULT_AXIS_MAX,
172
+ DEFAULT_AXIS_MIN,
173
+ formatAxisLabel,
174
+ formatAxisTipLabel,
175
+ formatAxisTipPrice,
176
+ getCellClass,
177
+ isPointInCell,
178
+ useAxis2 as useAxis,
179
+ useEditPriceManually,
180
+ useFixedAssets2 as useFixedAssets,
181
+ useIsAxisInRelativeUnits,
182
+ useLiquidationGraphActivePrice,
183
+ useLiquidationGraphCurrentActiveValue,
184
+ useLiquidationGraphParams,
185
+ useLiquidationHeatmap,
186
+ usePriceInNumber2 as usePriceInNumber,
187
+ useWithLiquidationGraphActivePrices
188
+ };
File without changes