rujira.ui 0.1.0 → 1.0.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 (688) hide show
  1. package/lib/cjs/assets/tokens/index.js +21 -0
  2. package/lib/cjs/components/AssetLabel.js +9 -0
  3. package/lib/cjs/components/balance/OmniBalance.js +28 -0
  4. package/lib/cjs/components/bridges/BuyModal.js +8 -0
  5. package/lib/cjs/components/bridges/DepositModal.js +131 -0
  6. package/lib/cjs/components/buttons/Button.js +52 -0
  7. package/lib/cjs/components/buttons/Popout.js +63 -0
  8. package/lib/cjs/components/buttons/TxButton.js +171 -0
  9. package/lib/cjs/components/buttons/__Popout.js +39 -0
  10. package/lib/cjs/components/cards/Card.js +12 -0
  11. package/lib/cjs/components/cards/GradientCard.js +12 -0
  12. package/lib/cjs/components/cards/ShareCard.js +16 -0
  13. package/lib/cjs/components/chart/RangeLiquidityChart.js +118 -0
  14. package/lib/cjs/components/footer/Footer.js +15 -0
  15. package/lib/cjs/components/header/Accounts.js +129 -0
  16. package/lib/cjs/components/header/Header.js +197 -0
  17. package/lib/cjs/components/header/Pending.js +47 -0
  18. package/lib/cjs/components/header/QuickLauncher.js +15 -0
  19. package/lib/cjs/components/header/ResolveLink.js +17 -0
  20. package/lib/cjs/components/icons/IconDenom.js +391 -0
  21. package/lib/cjs/components/icons/Icons.js +350 -0
  22. package/lib/cjs/components/icons/NetworkIcon.js +44 -0
  23. package/lib/cjs/components/icons/Networks.js +145 -0
  24. package/lib/cjs/components/icons/Wallets.js +140 -0
  25. package/lib/cjs/components/inputs/Checkbox.js +15 -0
  26. package/lib/cjs/components/inputs/DecimalInput.js +53 -0
  27. package/lib/cjs/components/inputs/DenomInput.js +29 -0
  28. package/lib/cjs/components/inputs/Input.js +29 -0
  29. package/lib/cjs/components/inputs/Numeric.js +24 -0
  30. package/lib/cjs/components/inputs/Radio.js +15 -0
  31. package/lib/cjs/components/inputs/Select.js +32 -0
  32. package/lib/cjs/components/inputs/SwapSelect.js +85 -0
  33. package/lib/cjs/components/inputs/Textarea.js +28 -0
  34. package/lib/cjs/components/inputs/Toggle.js +17 -0
  35. package/lib/cjs/components/loader/Loader.js +9 -0
  36. package/lib/cjs/components/logos/RujiraLogo.js +10 -0
  37. package/lib/cjs/components/notices/Warning.js +14 -0
  38. package/lib/cjs/components/numbers/Decimal.js +30 -0
  39. package/lib/cjs/components/numbers/Fiat.js +22 -0
  40. package/lib/cjs/components/pagination/Pagination.js +15 -0
  41. package/lib/cjs/components/progress/Progress.js +13 -0
  42. package/lib/cjs/components/slider/Slider.js +9 -0
  43. package/lib/cjs/components/table/SortItem.js +52 -0
  44. package/lib/cjs/context/GlobalModal.js +48 -0
  45. package/lib/cjs/helpers/index.js +167 -0
  46. package/lib/cjs/hooks/useClickOutside.js +22 -0
  47. package/lib/cjs/hooks/useEventCallback.js +14 -0
  48. package/lib/cjs/hooks/useEventListener.js +57 -0
  49. package/lib/cjs/hooks/useIsTouchDevice.js +20 -0
  50. package/lib/cjs/hooks/useIsomorphicLayoutEffect.js +18 -0
  51. package/lib/cjs/hooks/useLocalStorage.js +123 -0
  52. package/lib/cjs/hooks/useQueryParam.js +36 -0
  53. package/lib/cjs/hooks/useWindowSize.js +51 -0
  54. package/lib/cjs/i18n/I18nProvider.js +54 -0
  55. package/lib/cjs/i18n/TranslationProvider.js +10 -0
  56. package/lib/cjs/i18n/config.js +101 -0
  57. package/lib/cjs/i18n/index.js +16 -0
  58. package/lib/cjs/i18n/locales/de/borrow.json +50 -0
  59. package/lib/cjs/i18n/locales/de/common.json +107 -0
  60. package/lib/cjs/i18n/locales/de/ecosystem.json +56 -0
  61. package/lib/cjs/i18n/locales/de/header.json +86 -0
  62. package/lib/cjs/i18n/locales/de/index.json +57 -0
  63. package/lib/cjs/i18n/locales/de/leagues.json +20 -0
  64. package/lib/cjs/i18n/locales/de/merge.json +41 -0
  65. package/lib/cjs/i18n/locales/de/portfolio.json +97 -0
  66. package/lib/cjs/i18n/locales/de/strategies.json +159 -0
  67. package/lib/cjs/i18n/locales/de/swap.json +30 -0
  68. package/lib/cjs/i18n/locales/de/trade.json +188 -0
  69. package/lib/cjs/i18n/locales/en/borrow.json +50 -0
  70. package/lib/cjs/i18n/locales/en/common.json +107 -0
  71. package/lib/cjs/i18n/locales/en/ecosystem.json +56 -0
  72. package/lib/cjs/i18n/locales/en/header.json +86 -0
  73. package/lib/cjs/i18n/locales/en/index.json +57 -0
  74. package/lib/cjs/i18n/locales/en/leagues.json +20 -0
  75. package/lib/cjs/i18n/locales/en/merge.json +41 -0
  76. package/lib/cjs/i18n/locales/en/portfolio.json +97 -0
  77. package/lib/cjs/i18n/locales/en/strategies.json +159 -0
  78. package/lib/cjs/i18n/locales/en/swap.json +30 -0
  79. package/lib/cjs/i18n/locales/en/trade.json +188 -0
  80. package/lib/cjs/i18n/useTranslation.js +21 -0
  81. package/lib/cjs/index.js +70 -0
  82. package/lib/cjs/package.json +3 -0
  83. package/lib/cjs/wallets/config/gaia.js +51 -0
  84. package/lib/cjs/wallets/config/index.js +9 -0
  85. package/lib/cjs/wallets/config/kujira.js +62 -0
  86. package/lib/cjs/wallets/config/noble.js +47 -0
  87. package/lib/cjs/wallets/config/osmo.js +51 -0
  88. package/lib/cjs/wallets/config/thor.js +50 -0
  89. package/lib/cjs/wallets/index.js +19 -0
  90. package/lib/cjs/wallets/providers/brave.js +4 -0
  91. package/lib/cjs/wallets/providers/coinbase.js +4 -0
  92. package/lib/cjs/wallets/providers/cosmos.js +152 -0
  93. package/lib/cjs/wallets/providers/ctrl.js +125 -0
  94. package/lib/cjs/wallets/providers/daodao.js +12 -0
  95. package/lib/cjs/wallets/providers/eip1193.js +155 -0
  96. package/lib/cjs/wallets/providers/eip6963.js +20 -0
  97. package/lib/cjs/wallets/providers/eip712.js +63 -0
  98. package/lib/cjs/wallets/providers/index.js +62 -0
  99. package/lib/cjs/wallets/providers/keplr.js +82 -0
  100. package/lib/cjs/wallets/providers/leap.js +36 -0
  101. package/lib/cjs/wallets/providers/ledger/Modal.js +23 -0
  102. package/lib/cjs/wallets/providers/ledger.js +93 -0
  103. package/lib/cjs/wallets/providers/metamask.js +4 -0
  104. package/lib/cjs/wallets/providers/okx.js +79 -0
  105. package/lib/cjs/wallets/providers/rabby.js +4 -0
  106. package/lib/cjs/wallets/providers/station.js +6 -0
  107. package/lib/cjs/wallets/providers/ton.js +57 -0
  108. package/lib/cjs/wallets/providers/tronlink.js +58 -0
  109. package/lib/cjs/wallets/providers/trust.js +4 -0
  110. package/lib/cjs/wallets/providers/utils.js +32 -0
  111. package/lib/cjs/wallets/providers/utxo.js +107 -0
  112. package/lib/cjs/wallets/providers/vulticonnect.js +157 -0
  113. package/lib/cjs/wallets/providers/vultisig.js +45 -0
  114. package/lib/cjs/wallets/providers/xaman.js +70 -0
  115. package/lib/cjs/wallets/storage.js +58 -0
  116. package/lib/esm/assets/tokens/index.d.ts +11 -0
  117. package/lib/esm/assets/tokens/index.d.ts.map +1 -0
  118. package/lib/esm/assets/tokens/index.js +10 -0
  119. package/lib/esm/components/AssetLabel.d.ts +12 -0
  120. package/lib/esm/components/AssetLabel.d.ts.map +1 -0
  121. package/lib/esm/components/AssetLabel.js +5 -0
  122. package/lib/esm/components/balance/OmniBalance.d.ts +9 -0
  123. package/lib/esm/components/balance/OmniBalance.d.ts.map +1 -0
  124. package/lib/esm/components/balance/OmniBalance.js +24 -0
  125. package/lib/esm/components/bridges/BuyModal.d.ts +2 -0
  126. package/lib/esm/components/bridges/BuyModal.d.ts.map +1 -0
  127. package/lib/esm/components/bridges/BuyModal.js +4 -0
  128. package/lib/esm/components/bridges/DepositModal.d.ts +32 -0
  129. package/lib/esm/components/bridges/DepositModal.d.ts.map +1 -0
  130. package/lib/esm/components/bridges/DepositModal.js +131 -0
  131. package/lib/esm/components/buttons/Button.d.ts +16 -0
  132. package/lib/esm/components/buttons/Button.d.ts.map +1 -0
  133. package/lib/esm/components/buttons/Button.js +49 -0
  134. package/lib/esm/components/buttons/Popout.d.ts +7 -0
  135. package/lib/esm/components/buttons/Popout.d.ts.map +1 -0
  136. package/lib/esm/components/buttons/Popout.js +59 -0
  137. package/lib/esm/components/buttons/TxButton.d.ts +28 -0
  138. package/lib/esm/components/buttons/TxButton.d.ts.map +1 -0
  139. package/lib/esm/components/buttons/TxButton.js +166 -0
  140. package/lib/esm/components/buttons/__Popout.d.ts +23 -0
  141. package/lib/esm/components/buttons/__Popout.d.ts.map +1 -0
  142. package/lib/esm/components/cards/Card.d.ts +7 -0
  143. package/lib/esm/components/cards/Card.d.ts.map +1 -0
  144. package/lib/esm/components/cards/GradientCard.d.ts +7 -0
  145. package/lib/esm/components/cards/GradientCard.d.ts.map +1 -0
  146. package/lib/esm/components/cards/ShareCard.d.ts +11 -0
  147. package/lib/esm/components/cards/ShareCard.d.ts.map +1 -0
  148. package/lib/esm/components/cards/ShareCard.js +12 -0
  149. package/lib/esm/components/chart/RangeLiquidityChart.d.ts +32 -0
  150. package/lib/esm/components/chart/RangeLiquidityChart.d.ts.map +1 -0
  151. package/lib/esm/components/chart/RangeLiquidityChart.js +111 -0
  152. package/lib/esm/components/footer/Footer.d.ts +8 -0
  153. package/lib/esm/components/footer/Footer.d.ts.map +1 -0
  154. package/lib/esm/components/footer/Footer.js +11 -0
  155. package/lib/esm/components/header/Accounts.d.ts +33 -0
  156. package/lib/esm/components/header/Accounts.d.ts.map +1 -0
  157. package/lib/esm/components/header/Accounts.js +124 -0
  158. package/lib/esm/components/header/Header.d.ts +41 -0
  159. package/lib/esm/components/header/Header.d.ts.map +1 -0
  160. package/lib/esm/components/header/Header.js +175 -0
  161. package/lib/esm/components/header/Pending.d.ts +10 -0
  162. package/lib/esm/components/header/Pending.d.ts.map +1 -0
  163. package/lib/esm/components/header/Pending.js +43 -0
  164. package/lib/esm/components/header/QuickLauncher.d.ts +5 -0
  165. package/lib/esm/components/header/QuickLauncher.d.ts.map +1 -0
  166. package/lib/esm/components/header/QuickLauncher.js +11 -0
  167. package/lib/esm/components/header/ResolveLink.d.ts +15 -0
  168. package/lib/esm/components/header/ResolveLink.d.ts.map +1 -0
  169. package/lib/esm/components/icons/IconDenom.d.ts +5 -0
  170. package/lib/esm/components/icons/IconDenom.d.ts.map +1 -0
  171. package/lib/esm/{src/components → components}/icons/IconDenom.js +70 -40
  172. package/lib/esm/components/icons/Icons.d.ts +116 -0
  173. package/lib/esm/components/icons/Icons.d.ts.map +1 -0
  174. package/lib/esm/{src/components → components}/icons/Icons.js +122 -5
  175. package/lib/esm/components/icons/NetworkIcon.d.ts +8 -0
  176. package/lib/esm/components/icons/NetworkIcon.d.ts.map +1 -0
  177. package/lib/esm/components/icons/NetworkIcon.js +40 -0
  178. package/lib/esm/components/icons/Networks.d.ts +36 -0
  179. package/lib/esm/components/icons/Networks.d.ts.map +1 -0
  180. package/lib/esm/components/icons/Networks.js +142 -0
  181. package/lib/esm/components/icons/Wallets.d.ts +51 -0
  182. package/lib/esm/components/icons/Wallets.d.ts.map +1 -0
  183. package/lib/esm/components/icons/Wallets.js +137 -0
  184. package/lib/esm/components/inputs/Checkbox.d.ts +6 -0
  185. package/lib/esm/components/inputs/Checkbox.d.ts.map +1 -0
  186. package/lib/esm/components/inputs/DecimalInput.d.ts +8 -0
  187. package/lib/esm/components/inputs/DecimalInput.d.ts.map +1 -0
  188. package/lib/esm/components/inputs/DecimalInput.js +49 -0
  189. package/lib/esm/components/inputs/DenomInput.d.ts +17 -0
  190. package/lib/esm/components/inputs/DenomInput.d.ts.map +1 -0
  191. package/lib/esm/components/inputs/DenomInput.js +25 -0
  192. package/lib/esm/components/inputs/Input.d.ts +10 -0
  193. package/lib/esm/components/inputs/Input.d.ts.map +1 -0
  194. package/lib/esm/{src/components → components}/inputs/Input.js +4 -3
  195. package/lib/esm/components/inputs/Numeric.d.ts +12 -0
  196. package/lib/esm/components/inputs/Numeric.d.ts.map +1 -0
  197. package/lib/esm/{src/components → components}/inputs/Numeric.js +4 -2
  198. package/lib/esm/components/inputs/Radio.d.ts +6 -0
  199. package/lib/esm/components/inputs/Radio.d.ts.map +1 -0
  200. package/lib/esm/components/inputs/Select.d.ts +8 -0
  201. package/lib/esm/components/inputs/Select.d.ts.map +1 -0
  202. package/lib/esm/components/inputs/SwapSelect.d.ts +37 -0
  203. package/lib/esm/components/inputs/SwapSelect.d.ts.map +1 -0
  204. package/lib/esm/components/inputs/SwapSelect.js +80 -0
  205. package/lib/esm/components/inputs/Textarea.d.ts +8 -0
  206. package/lib/esm/components/inputs/Textarea.d.ts.map +1 -0
  207. package/lib/esm/components/inputs/Toggle.d.ts +9 -0
  208. package/lib/esm/components/inputs/Toggle.d.ts.map +1 -0
  209. package/lib/esm/components/inputs/Toggle.js +13 -0
  210. package/lib/esm/components/loader/Loader.d.ts +7 -0
  211. package/lib/esm/components/loader/Loader.d.ts.map +1 -0
  212. package/lib/esm/{src/components → components}/loader/Loader.js +1 -0
  213. package/lib/esm/components/logos/RujiraLogo.d.ts +7 -0
  214. package/lib/esm/components/logos/RujiraLogo.d.ts.map +1 -0
  215. package/lib/esm/components/logos/RujiraLogo.js +6 -0
  216. package/lib/esm/components/notices/Warning.d.ts +8 -0
  217. package/lib/esm/components/notices/Warning.d.ts.map +1 -0
  218. package/lib/esm/components/notices/Warning.js +10 -0
  219. package/lib/esm/components/numbers/Decimal.d.ts +14 -0
  220. package/lib/esm/components/numbers/Decimal.d.ts.map +1 -0
  221. package/lib/esm/components/numbers/Decimal.js +26 -0
  222. package/lib/esm/components/numbers/Fiat.d.ts +11 -0
  223. package/lib/esm/components/numbers/Fiat.d.ts.map +1 -0
  224. package/lib/esm/{src/components → components}/numbers/Fiat.js +3 -4
  225. package/lib/esm/components/pagination/Pagination.d.ts +15 -0
  226. package/lib/esm/components/pagination/Pagination.d.ts.map +1 -0
  227. package/lib/esm/components/pagination/Pagination.js +11 -0
  228. package/lib/esm/components/progress/Progress.d.ts +10 -0
  229. package/lib/esm/components/progress/Progress.d.ts.map +1 -0
  230. package/lib/esm/components/slider/Slider.d.ts +3 -0
  231. package/lib/esm/components/slider/Slider.d.ts.map +1 -0
  232. package/lib/esm/components/table/SortItem.d.ts +20 -0
  233. package/lib/esm/components/table/SortItem.d.ts.map +1 -0
  234. package/lib/esm/components/table/SortItem.js +48 -0
  235. package/lib/esm/context/GlobalModal.d.ts +19 -0
  236. package/lib/esm/context/GlobalModal.d.ts.map +1 -0
  237. package/lib/esm/context/GlobalModal.js +43 -0
  238. package/lib/esm/helpers/index.d.ts +30 -0
  239. package/lib/esm/helpers/index.d.ts.map +1 -0
  240. package/lib/esm/helpers/index.js +153 -0
  241. package/lib/esm/helpers/number.d.ts +4 -0
  242. package/lib/esm/helpers/number.d.ts.map +1 -0
  243. package/lib/esm/helpers/number.js +8 -0
  244. package/lib/esm/hooks/useClickOutside.d.ts +2 -0
  245. package/lib/esm/hooks/useClickOutside.d.ts.map +1 -0
  246. package/lib/esm/hooks/useClickOutside.js +18 -0
  247. package/lib/esm/hooks/useEventCallback.d.ts +18 -0
  248. package/lib/esm/hooks/useEventCallback.d.ts.map +1 -0
  249. package/lib/esm/hooks/useEventCallback.js +11 -0
  250. package/lib/esm/hooks/useEventListener.d.ts +7 -0
  251. package/lib/esm/hooks/useEventListener.d.ts.map +1 -0
  252. package/lib/esm/hooks/useEventListener.js +55 -0
  253. package/lib/esm/hooks/useIsTouchDevice.d.ts +2 -0
  254. package/lib/esm/hooks/useIsTouchDevice.d.ts.map +1 -0
  255. package/lib/esm/hooks/useIsTouchDevice.js +17 -0
  256. package/lib/esm/hooks/useIsomorphicLayoutEffect.d.ts +16 -0
  257. package/lib/esm/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -0
  258. package/lib/esm/hooks/useIsomorphicLayoutEffect.js +15 -0
  259. package/lib/esm/hooks/useLocalStorage.d.ts +39 -0
  260. package/lib/esm/hooks/useLocalStorage.d.ts.map +1 -0
  261. package/lib/esm/hooks/useLocalStorage.js +120 -0
  262. package/lib/esm/hooks/useQueryParam.d.ts +3 -0
  263. package/lib/esm/hooks/useQueryParam.d.ts.map +1 -0
  264. package/lib/esm/hooks/useWindowSize.d.ts +18 -0
  265. package/lib/esm/hooks/useWindowSize.d.ts.map +1 -0
  266. package/lib/esm/hooks/useWindowSize.js +46 -0
  267. package/lib/esm/i18n/I18nProvider.d.ts +12 -0
  268. package/lib/esm/i18n/I18nProvider.d.ts.map +1 -0
  269. package/lib/esm/i18n/I18nProvider.js +49 -0
  270. package/lib/esm/i18n/TranslationProvider.d.ts +8 -0
  271. package/lib/esm/i18n/TranslationProvider.d.ts.map +1 -0
  272. package/lib/esm/i18n/TranslationProvider.js +6 -0
  273. package/lib/esm/i18n/config.d.ts +8 -0
  274. package/lib/esm/i18n/config.d.ts.map +1 -0
  275. package/lib/esm/i18n/config.js +95 -0
  276. package/lib/esm/i18n/index.d.ts +5 -0
  277. package/lib/esm/i18n/index.d.ts.map +1 -0
  278. package/lib/esm/i18n/index.js +5 -0
  279. package/lib/esm/i18n/locales/de/borrow.json +50 -0
  280. package/lib/esm/i18n/locales/de/common.json +107 -0
  281. package/lib/esm/i18n/locales/de/ecosystem.json +56 -0
  282. package/lib/esm/i18n/locales/de/header.json +86 -0
  283. package/lib/esm/i18n/locales/de/index.json +57 -0
  284. package/lib/esm/i18n/locales/de/leagues.json +20 -0
  285. package/lib/esm/i18n/locales/de/merge.json +41 -0
  286. package/lib/esm/i18n/locales/de/portfolio.json +97 -0
  287. package/lib/esm/i18n/locales/de/strategies.json +159 -0
  288. package/lib/esm/i18n/locales/de/swap.json +30 -0
  289. package/lib/esm/i18n/locales/de/trade.json +188 -0
  290. package/lib/esm/i18n/locales/en/borrow.json +50 -0
  291. package/lib/esm/i18n/locales/en/common.json +107 -0
  292. package/lib/esm/i18n/locales/en/ecosystem.json +56 -0
  293. package/lib/esm/i18n/locales/en/header.json +86 -0
  294. package/lib/esm/i18n/locales/en/index.json +57 -0
  295. package/lib/esm/i18n/locales/en/leagues.json +20 -0
  296. package/lib/esm/i18n/locales/en/merge.json +41 -0
  297. package/lib/esm/i18n/locales/en/portfolio.json +97 -0
  298. package/lib/esm/i18n/locales/en/strategies.json +159 -0
  299. package/lib/esm/i18n/locales/en/swap.json +30 -0
  300. package/lib/esm/i18n/locales/en/trade.json +188 -0
  301. package/lib/esm/i18n/useTranslation.d.ts +10 -0
  302. package/lib/esm/i18n/useTranslation.d.ts.map +1 -0
  303. package/lib/esm/i18n/useTranslation.js +17 -0
  304. package/lib/esm/index.d.ts +51 -0
  305. package/lib/esm/index.d.ts.map +1 -0
  306. package/lib/esm/{src/index.js → index.js} +15 -3
  307. package/lib/esm/package.json +3 -0
  308. package/lib/esm/wallets/config/gaia.d.ts +76 -0
  309. package/lib/esm/wallets/config/gaia.d.ts.map +1 -0
  310. package/lib/esm/wallets/config/gaia.js +48 -0
  311. package/lib/esm/wallets/config/index.d.ts +51 -0
  312. package/lib/esm/wallets/config/index.d.ts.map +1 -0
  313. package/lib/esm/wallets/config/index.js +6 -0
  314. package/lib/esm/wallets/config/kujira.d.ts +76 -0
  315. package/lib/esm/wallets/config/kujira.d.ts.map +1 -0
  316. package/lib/esm/wallets/config/kujira.js +59 -0
  317. package/lib/esm/wallets/config/noble.d.ts +76 -0
  318. package/lib/esm/wallets/config/noble.d.ts.map +1 -0
  319. package/lib/esm/wallets/config/noble.js +44 -0
  320. package/lib/esm/wallets/config/osmo.d.ts +76 -0
  321. package/lib/esm/wallets/config/osmo.d.ts.map +1 -0
  322. package/lib/esm/wallets/config/osmo.js +48 -0
  323. package/lib/esm/wallets/config/thor.d.ts +76 -0
  324. package/lib/esm/wallets/config/thor.d.ts.map +1 -0
  325. package/lib/esm/wallets/config/thor.js +47 -0
  326. package/lib/esm/wallets/index.d.ts +4 -0
  327. package/lib/esm/wallets/index.d.ts.map +1 -0
  328. package/lib/esm/wallets/index.js +3 -0
  329. package/lib/esm/wallets/providers/brave.d.ts +4 -0
  330. package/lib/esm/wallets/providers/brave.d.ts.map +1 -0
  331. package/lib/esm/wallets/providers/brave.js +2 -0
  332. package/lib/esm/wallets/providers/coinbase.d.ts +4 -0
  333. package/lib/esm/wallets/providers/coinbase.d.ts.map +1 -0
  334. package/lib/esm/wallets/providers/coinbase.js +2 -0
  335. package/lib/esm/wallets/providers/cosmos.d.ts +28 -0
  336. package/lib/esm/wallets/providers/cosmos.d.ts.map +1 -0
  337. package/lib/esm/wallets/providers/cosmos.js +142 -0
  338. package/lib/esm/wallets/providers/ctrl.d.ts +36 -0
  339. package/lib/esm/wallets/providers/ctrl.d.ts.map +1 -0
  340. package/lib/esm/wallets/providers/ctrl.js +121 -0
  341. package/lib/esm/wallets/providers/daodao.d.ts +4 -0
  342. package/lib/esm/wallets/providers/daodao.d.ts.map +1 -0
  343. package/lib/esm/wallets/providers/daodao.js +10 -0
  344. package/lib/esm/wallets/providers/eip1193.d.ts +31 -0
  345. package/lib/esm/wallets/providers/eip1193.d.ts.map +1 -0
  346. package/lib/esm/wallets/providers/eip1193.js +151 -0
  347. package/lib/esm/wallets/providers/eip6963.d.ts +37 -0
  348. package/lib/esm/wallets/providers/eip6963.d.ts.map +1 -0
  349. package/lib/esm/wallets/providers/eip6963.js +16 -0
  350. package/lib/esm/wallets/providers/eip712.d.ts +20 -0
  351. package/lib/esm/wallets/providers/eip712.d.ts.map +1 -0
  352. package/lib/esm/wallets/providers/eip712.js +59 -0
  353. package/lib/esm/wallets/providers/index.d.ts +9 -0
  354. package/lib/esm/wallets/providers/index.d.ts.map +1 -0
  355. package/lib/esm/wallets/providers/index.js +59 -0
  356. package/lib/esm/wallets/providers/keplr.d.ts +22 -0
  357. package/lib/esm/wallets/providers/keplr.d.ts.map +1 -0
  358. package/lib/esm/wallets/providers/keplr.js +78 -0
  359. package/lib/esm/wallets/providers/leap.d.ts +27 -0
  360. package/lib/esm/wallets/providers/leap.d.ts.map +1 -0
  361. package/lib/esm/wallets/providers/leap.js +32 -0
  362. package/lib/esm/wallets/providers/ledger/Modal.d.ts +5 -0
  363. package/lib/esm/wallets/providers/ledger/Modal.d.ts.map +1 -0
  364. package/lib/esm/wallets/providers/ledger/Modal.js +19 -0
  365. package/lib/esm/wallets/providers/ledger.d.ts +23 -0
  366. package/lib/esm/wallets/providers/ledger.d.ts.map +1 -0
  367. package/lib/esm/wallets/providers/ledger.js +91 -0
  368. package/lib/esm/wallets/providers/metamask.d.ts +4 -0
  369. package/lib/esm/wallets/providers/metamask.d.ts.map +1 -0
  370. package/lib/esm/wallets/providers/metamask.js +2 -0
  371. package/lib/esm/wallets/providers/okx.d.ts +39 -0
  372. package/lib/esm/wallets/providers/okx.d.ts.map +1 -0
  373. package/lib/esm/wallets/providers/okx.js +75 -0
  374. package/lib/esm/wallets/providers/rabby.d.ts +4 -0
  375. package/lib/esm/wallets/providers/rabby.d.ts.map +1 -0
  376. package/lib/esm/wallets/providers/rabby.js +2 -0
  377. package/lib/esm/wallets/providers/station.d.ts +12 -0
  378. package/lib/esm/wallets/providers/station.d.ts.map +1 -0
  379. package/lib/esm/wallets/providers/station.js +4 -0
  380. package/lib/esm/wallets/providers/ton.d.ts +15 -0
  381. package/lib/esm/wallets/providers/ton.d.ts.map +1 -0
  382. package/lib/esm/wallets/providers/ton.js +55 -0
  383. package/lib/esm/wallets/providers/tronlink.d.ts +27 -0
  384. package/lib/esm/wallets/providers/tronlink.d.ts.map +1 -0
  385. package/lib/esm/wallets/providers/tronlink.js +54 -0
  386. package/lib/esm/wallets/providers/trust.d.ts +4 -0
  387. package/lib/esm/wallets/providers/trust.d.ts.map +1 -0
  388. package/lib/esm/wallets/providers/trust.js +2 -0
  389. package/lib/esm/wallets/providers/utils.d.ts +3 -0
  390. package/lib/esm/wallets/providers/utils.d.ts.map +1 -0
  391. package/lib/esm/wallets/providers/utils.js +28 -0
  392. package/lib/esm/wallets/providers/utxo.d.ts +35 -0
  393. package/lib/esm/wallets/providers/utxo.d.ts.map +1 -0
  394. package/lib/esm/wallets/providers/utxo.js +101 -0
  395. package/lib/esm/wallets/providers/vulticonnect.d.ts +47 -0
  396. package/lib/esm/wallets/providers/vulticonnect.d.ts.map +1 -0
  397. package/lib/esm/wallets/providers/vulticonnect.js +153 -0
  398. package/lib/esm/wallets/providers/vultisig.d.ts +21 -0
  399. package/lib/esm/wallets/providers/vultisig.d.ts.map +1 -0
  400. package/lib/esm/wallets/providers/vultisig.js +43 -0
  401. package/lib/esm/wallets/providers/xaman.d.ts +17 -0
  402. package/lib/esm/wallets/providers/xaman.d.ts.map +1 -0
  403. package/lib/esm/wallets/providers/xaman.js +66 -0
  404. package/lib/esm/wallets/storage.d.ts +20 -0
  405. package/lib/esm/wallets/storage.d.ts.map +1 -0
  406. package/lib/esm/wallets/storage.js +48 -0
  407. package/package.json +55 -10
  408. package/src/assets/images/alert.gif +0 -0
  409. package/src/assets/images/alert.png +0 -0
  410. package/src/assets/images/combined.gif +0 -0
  411. package/src/assets/images/combined.png +0 -0
  412. package/src/assets/images/connect.gif +0 -0
  413. package/src/assets/images/connect.png +0 -0
  414. package/src/assets/images/copy.gif +0 -0
  415. package/src/assets/images/copy.png +0 -0
  416. package/src/assets/images/deposit.gif +0 -0
  417. package/src/assets/images/deposit.png +0 -0
  418. package/src/assets/images/deposited.gif +0 -0
  419. package/src/assets/images/disconnect.gif +0 -0
  420. package/src/assets/images/disconnect.png +0 -0
  421. package/src/assets/images/download.gif +0 -0
  422. package/src/assets/images/download.png +0 -0
  423. package/src/assets/images/exclamation.gif +0 -0
  424. package/src/assets/images/external.gif +0 -0
  425. package/src/assets/images/external.png +0 -0
  426. package/src/assets/images/filters.gif +0 -0
  427. package/src/assets/images/filters.png +0 -0
  428. package/src/assets/images/locked.gif +0 -0
  429. package/src/assets/images/locked.png +0 -0
  430. package/src/assets/images/network.gif +0 -0
  431. package/src/assets/images/rujira.png +0 -0
  432. package/src/assets/images/settings.gif +0 -0
  433. package/src/assets/images/settings.png +0 -0
  434. package/src/assets/images/shield-check.gif +0 -0
  435. package/src/assets/images/shield-check.png +0 -0
  436. package/src/assets/images/shield-error.gif +0 -0
  437. package/src/assets/images/shield-error.png +0 -0
  438. package/src/assets/images/signing-failed.gif +0 -0
  439. package/src/assets/images/signing-success.gif +0 -0
  440. package/src/assets/images/swap-circle.gif +0 -0
  441. package/src/assets/images/swap.gif +0 -0
  442. package/src/assets/images/txfail.gif +0 -0
  443. package/src/assets/images/txsign.gif +0 -0
  444. package/src/assets/images/txsuccess.gif +0 -0
  445. package/src/assets/images/unlock.gif +0 -0
  446. package/src/assets/images/unlocked.gif +0 -0
  447. package/src/assets/images/unlocked.png +0 -0
  448. package/src/assets/images/vault.gif +0 -0
  449. package/src/assets/images/vault.png +0 -0
  450. package/src/assets/networks/doge.png +0 -0
  451. package/src/assets/networks/osmosis.png +0 -0
  452. package/src/assets/tokens/aave.png +0 -0
  453. package/src/assets/tokens/auto.png +0 -0
  454. package/src/assets/tokens/busd.png +0 -0
  455. package/src/assets/tokens/cbbtc.png +0 -0
  456. package/src/assets/tokens/cbbtc.webp +0 -0
  457. package/src/assets/tokens/default.png +0 -0
  458. package/src/assets/tokens/demo.png +0 -0
  459. package/src/assets/tokens/dpi.png +0 -0
  460. package/src/assets/tokens/flip.png +0 -0
  461. package/src/assets/tokens/fox.png +0 -0
  462. package/src/assets/tokens/gusd.png +0 -0
  463. package/src/assets/tokens/index.ts +11 -0
  464. package/src/assets/tokens/lqdy.png +0 -0
  465. package/src/assets/tokens/lusd.png +0 -0
  466. package/src/assets/tokens/nami.png +0 -0
  467. package/src/assets/tokens/raze.png +0 -0
  468. package/src/assets/tokens/rji.png +0 -0
  469. package/src/assets/tokens/rune.png +0 -0
  470. package/src/assets/tokens/snx.png +0 -0
  471. package/src/assets/tokens/tcy.png +0 -0
  472. package/src/assets/tokens/tgt.png +0 -0
  473. package/src/assets/tokens/thor.png +0 -0
  474. package/src/assets/tokens/ton.png +0 -0
  475. package/src/assets/tokens/trx.png +0 -0
  476. package/src/assets/tokens/twt.png +0 -0
  477. package/src/assets/tokens/usdp.png +0 -0
  478. package/src/assets/tokens/usdt.png +0 -0
  479. package/src/assets/tokens/vthor.png +0 -0
  480. package/src/assets/tokens/vvv.png +0 -0
  481. package/src/assets/tokens/xdefi.png +0 -0
  482. package/src/assets/tokens/xrp.png +0 -0
  483. package/src/assets/tokens/xrune.png +0 -0
  484. package/src/assets/tokens/yfi.png +0 -0
  485. package/src/assets/tokens/yrune.png +0 -0
  486. package/src/assets/tokens/ytcy.png +0 -0
  487. package/src/components/AssetLabel.tsx +20 -0
  488. package/src/components/balance/OmniBalance.tsx +58 -0
  489. package/src/components/bridges/BuyModal.tsx +3 -0
  490. package/src/components/bridges/DepositModal.tsx +611 -0
  491. package/src/components/buttons/Button.tsx +35 -16
  492. package/src/components/buttons/Popout.tsx +34 -28
  493. package/src/components/buttons/TxButton.tsx +292 -61
  494. package/src/components/cards/ShareCard.tsx +39 -0
  495. package/src/components/chart/RangeLiquidityChart.tsx +297 -0
  496. package/src/components/footer/Footer.tsx +32 -14
  497. package/src/components/header/Accounts.tsx +296 -854
  498. package/src/components/header/Header.tsx +729 -562
  499. package/src/components/header/Pending.tsx +148 -0
  500. package/src/components/header/QuickLauncher.tsx +27 -23
  501. package/src/components/header/ResolveLink.tsx +0 -29
  502. package/src/components/icons/IconDenom.tsx +71 -42
  503. package/src/components/icons/Icons.tsx +373 -7
  504. package/src/components/icons/NetworkIcon.tsx +114 -0
  505. package/src/components/icons/Networks.tsx +421 -496
  506. package/src/components/icons/Wallets.tsx +757 -199
  507. package/src/components/inputs/DecimalInput.tsx +45 -35
  508. package/src/components/inputs/DenomInput.tsx +42 -11
  509. package/src/components/inputs/Input.tsx +7 -0
  510. package/src/components/inputs/Numeric.tsx +12 -4
  511. package/src/components/inputs/SwapSelect.tsx +281 -0
  512. package/src/components/inputs/Toggle.tsx +8 -0
  513. package/src/components/loader/Loader.tsx +46 -0
  514. package/src/components/logos/RujiraLogo.tsx +74 -64
  515. package/src/components/notices/Warning.tsx +5 -4
  516. package/src/components/numbers/Decimal.tsx +34 -6
  517. package/src/components/numbers/Fiat.tsx +4 -3
  518. package/src/components/pagination/Pagination.tsx +42 -0
  519. package/src/components/table/SortItem.tsx +90 -0
  520. package/src/context/GlobalModal.tsx +74 -56
  521. package/src/helpers/index.ts +114 -7
  522. package/src/hooks/useClickOutside.ts +11 -15
  523. package/src/hooks/useEventCallback.ts +40 -0
  524. package/src/hooks/useEventListener.ts +121 -0
  525. package/src/hooks/useIsTouchDevice.ts +24 -0
  526. package/src/hooks/useIsomorphicLayoutEffect.ts +17 -0
  527. package/src/hooks/useLocalStorage.ts +186 -15
  528. package/src/hooks/useWindowSize.ts +32 -0
  529. package/src/i18n/I18nProvider.tsx +101 -0
  530. package/src/i18n/TranslationProvider.tsx +18 -0
  531. package/src/i18n/config.ts +105 -0
  532. package/src/i18n/index.ts +11 -1
  533. package/src/i18n/locales/de/borrow.json +50 -0
  534. package/src/i18n/locales/de/common.json +107 -0
  535. package/src/i18n/locales/de/ecosystem.json +56 -0
  536. package/src/i18n/locales/de/header.json +86 -0
  537. package/src/i18n/locales/de/index.json +57 -0
  538. package/src/i18n/locales/de/leagues.json +20 -0
  539. package/src/i18n/locales/de/merge.json +41 -0
  540. package/src/i18n/locales/de/portfolio.json +97 -0
  541. package/src/i18n/locales/de/strategies.json +171 -0
  542. package/src/i18n/locales/de/swap.json +30 -0
  543. package/src/i18n/locales/de/trade.json +188 -0
  544. package/src/i18n/locales/en/borrow.json +50 -0
  545. package/src/i18n/locales/en/common.json +107 -0
  546. package/src/i18n/locales/en/ecosystem.json +56 -0
  547. package/src/i18n/locales/en/header.json +86 -0
  548. package/src/i18n/locales/en/index.json +57 -0
  549. package/src/i18n/locales/en/leagues.json +20 -0
  550. package/src/i18n/locales/en/merge.json +41 -0
  551. package/src/i18n/locales/en/portfolio.json +97 -0
  552. package/src/i18n/locales/en/strategies.json +171 -0
  553. package/src/i18n/locales/en/swap.json +30 -0
  554. package/src/i18n/locales/en/trade.json +188 -0
  555. package/src/i18n/useTranslation.ts +31 -0
  556. package/src/index.ts +22 -3
  557. package/src/scss/base/_colors.scss +24 -1
  558. package/src/scss/base/_display.scss +109 -1
  559. package/src/scss/base/_filters.scss +22 -0
  560. package/src/scss/base/_flex.scss +31 -19
  561. package/src/scss/base/_important.scss +12 -0
  562. package/src/scss/base/_spacing.scss +78 -23
  563. package/src/scss/base/_tooltip.scss +10 -9
  564. package/src/scss/base/_typography.scss +55 -8
  565. package/src/scss/components/_button.scss +253 -116
  566. package/src/scss/components/_chart.scss +5 -0
  567. package/src/scss/components/_decimal.scss +19 -1
  568. package/src/scss/components/_denom-select.scss +51 -1
  569. package/src/scss/components/_deposit-modal.scss +31 -0
  570. package/src/scss/components/_fiat.scss +4 -0
  571. package/src/scss/components/_footer.scss +5 -1
  572. package/src/scss/components/_header.scss +482 -37
  573. package/src/scss/components/_input.scss +105 -9
  574. package/src/scss/components/_ledger.scss +11 -0
  575. package/src/scss/components/_loader.scss +8 -0
  576. package/src/scss/components/_modal.scss +77 -1
  577. package/src/scss/components/_numeric-input.scss +35 -13
  578. package/src/scss/components/_omni-balance.scss +52 -0
  579. package/src/scss/components/_pagination.scss +7 -0
  580. package/src/scss/components/_popout.scss +39 -26
  581. package/src/scss/components/_radio-checkbox.scss +1 -1
  582. package/src/scss/components/_select.scss +57 -15
  583. package/src/scss/components/_slider.scss +35 -0
  584. package/src/scss/components/_swap-select.scss +350 -0
  585. package/src/scss/components/_toggle.scss +40 -8
  586. package/src/scss/components/_warning.scss +59 -2
  587. package/src/scss/index.scss +9 -1
  588. package/src/scss/styledcomponents/_card.scss +169 -4
  589. package/src/scss/styledcomponents/_drawer.scss +58 -3
  590. package/src/scss/styledcomponents/_general.scss +2 -2
  591. package/src/scss/styledcomponents/_icon.scss +52 -0
  592. package/src/scss/styledcomponents/_pair.scss +11 -0
  593. package/src/scss/styledcomponents/_skeleton.scss +33 -0
  594. package/src/scss/styledcomponents/_table.scss +115 -19
  595. package/src/scss/styledcomponents/_tabs.scss +167 -13
  596. package/src/scss/styledcomponents/_tag.scss +124 -6
  597. package/src/vite-env.d.ts +15 -0
  598. package/src/wallets/config/gaia.ts +55 -0
  599. package/src/wallets/config/index.ts +7 -0
  600. package/src/wallets/config/kujira.ts +69 -0
  601. package/src/wallets/config/noble.ts +49 -0
  602. package/src/wallets/config/osmo.ts +55 -0
  603. package/src/wallets/config/thor.ts +55 -0
  604. package/src/wallets/index.ts +3 -0
  605. package/src/wallets/providers/brave.ts +2 -0
  606. package/src/wallets/providers/coinbase.ts +2 -0
  607. package/src/wallets/providers/cosmos.ts +206 -0
  608. package/src/wallets/providers/ctrl.ts +163 -0
  609. package/src/wallets/providers/daodao.ts +12 -0
  610. package/src/wallets/providers/eip1193.ts +214 -0
  611. package/src/wallets/providers/eip6963.ts +56 -0
  612. package/src/wallets/providers/eip712.ts +84 -0
  613. package/src/wallets/providers/index.ts +81 -0
  614. package/src/wallets/providers/keplr.ts +111 -0
  615. package/src/wallets/providers/leap.ts +60 -0
  616. package/src/wallets/providers/ledger/Modal.tsx +35 -0
  617. package/src/wallets/providers/ledger.ts +138 -0
  618. package/src/wallets/providers/metamask.ts +2 -0
  619. package/src/wallets/providers/okx.ts +108 -0
  620. package/src/wallets/providers/rabby.ts +2 -0
  621. package/src/wallets/providers/station.ts +16 -0
  622. package/src/wallets/providers/ton.ts +66 -0
  623. package/src/wallets/providers/tronlink.ts +72 -0
  624. package/src/wallets/providers/trust.ts +2 -0
  625. package/src/wallets/providers/utils.ts +22 -0
  626. package/src/wallets/providers/utxo.ts +146 -0
  627. package/src/wallets/providers/vulticonnect.ts +217 -0
  628. package/src/wallets/providers/vultisig.ts +51 -0
  629. package/src/wallets/providers/xaman.ts +73 -0
  630. package/src/wallets/storage.ts +62 -0
  631. package/.eslintrc.cjs +0 -21
  632. package/.tool-versions +0 -1
  633. package/i18n/.github/workflows/validate.yml +0 -13
  634. package/i18n/README.md +0 -7
  635. package/i18n/translations/template.json +0 -448
  636. package/i18n/update-template.js +0 -19
  637. package/i18n/validate.js +0 -10
  638. package/lib/esm/i18n/translations/template.json +0 -448
  639. package/lib/esm/src/components/buttons/Button.js +0 -37
  640. package/lib/esm/src/components/buttons/Popout.js +0 -56
  641. package/lib/esm/src/components/buttons/TxButton.js +0 -42
  642. package/lib/esm/src/components/footer/Footer.js +0 -11
  643. package/lib/esm/src/components/header/Accounts.js +0 -211
  644. package/lib/esm/src/components/header/Header.js +0 -69
  645. package/lib/esm/src/components/header/QuickLauncher.js +0 -10
  646. package/lib/esm/src/components/icons/Networks.js +0 -32
  647. package/lib/esm/src/components/icons/Wallets.js +0 -62
  648. package/lib/esm/src/components/inputs/DecimalInput.js +0 -35
  649. package/lib/esm/src/components/inputs/DenomInput.js +0 -22
  650. package/lib/esm/src/components/inputs/DenomSelect.js +0 -66
  651. package/lib/esm/src/components/inputs/Toggle.js +0 -13
  652. package/lib/esm/src/components/logos/RujiraLogo.js +0 -2
  653. package/lib/esm/src/components/notices/Warning.js +0 -10
  654. package/lib/esm/src/components/numbers/Decimal.js +0 -14
  655. package/lib/esm/src/context/Affiliate.js +0 -34
  656. package/lib/esm/src/context/GlobalModal.js +0 -35
  657. package/lib/esm/src/d.js +0 -1
  658. package/lib/esm/src/helpers/index.js +0 -65
  659. package/lib/esm/src/hooks/useClickOutside.js +0 -19
  660. package/lib/esm/src/hooks/useLocalStorage.js +0 -12
  661. package/lib/esm/src/hooks/useWindowSize.js +0 -19
  662. package/lib/esm/src/i18n/i18n.js +0 -90
  663. package/lib/esm/src/i18n/index.js +0 -1
  664. package/lib/esm/src/services/account.js +0 -42
  665. package/lib/esm/tsconfig.tsbuildinfo +0 -1
  666. package/src/assets/tokens/axlusdt.png +0 -0
  667. package/src/components/inputs/DenomSelect.tsx +0 -178
  668. package/src/context/Affiliate.tsx +0 -65
  669. package/src/d.ts +0 -4
  670. package/src/i18n/i18n.tsx +0 -102
  671. package/src/services/account.ts +0 -53
  672. package/tsconfig.json +0 -25
  673. package/tsconfig.node.json +0 -11
  674. package/vite.config.ts +0 -7
  675. package/vitest-setup.js +0 -1
  676. package/vitest.config.js +0 -13
  677. /package/lib/{esm/src → cjs}/helpers/number.js +0 -0
  678. /package/lib/esm/{src/components → components}/buttons/__Popout.js +0 -0
  679. /package/lib/esm/{src/components → components}/cards/Card.js +0 -0
  680. /package/lib/esm/{src/components → components}/cards/GradientCard.js +0 -0
  681. /package/lib/esm/{src/components → components}/header/ResolveLink.js +0 -0
  682. /package/lib/esm/{src/components → components}/inputs/Checkbox.js +0 -0
  683. /package/lib/esm/{src/components → components}/inputs/Radio.js +0 -0
  684. /package/lib/esm/{src/components → components}/inputs/Select.js +0 -0
  685. /package/lib/esm/{src/components → components}/inputs/Textarea.js +0 -0
  686. /package/lib/esm/{src/components → components}/progress/Progress.js +0 -0
  687. /package/lib/esm/{src/components → components}/slider/Slider.js +0 -0
  688. /package/lib/esm/{src/hooks → hooks}/useQueryParam.js +0 -0
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RangeLiquidityChart = exports.yToPrice = exports.priceToY = exports.clamp = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ require("./RangeLiquidityChart.css");
7
+ const clamp = (v, a, b) => Math.max(a, Math.min(b, v));
8
+ exports.clamp = clamp;
9
+ const priceToY = (price, min, max, height) => {
10
+ // y = 0 at top
11
+ if (max === min)
12
+ return height / 2;
13
+ const p = (price - min) / (max - min);
14
+ return height - p * height;
15
+ };
16
+ exports.priceToY = priceToY;
17
+ const yToPrice = (y, min, max, height) => {
18
+ const p = (0, exports.clamp)(1 - y / height, 0, 1);
19
+ return min + p * (max - min);
20
+ };
21
+ exports.yToPrice = yToPrice;
22
+ const RangeLiquidityChart = ({ width = 900, height = 160, series, leftBuckets = [], rightBuckets = [], minPrice, maxPrice, initialRange, onRangeChange, }) => {
23
+ const svgRef = (0, react_1.useRef)(null);
24
+ const prices = series.map((s) => s.price);
25
+ const minP = minPrice ?? Math.min(...prices);
26
+ const maxP = maxPrice ?? Math.max(...prices);
27
+ const padding = { left: 36, right: 72, top: 12, bottom: 26 };
28
+ const innerW = width - padding.left - padding.right;
29
+ const innerH = height - padding.top - padding.bottom;
30
+ // range state in price units
31
+ const [range, setRange] = (0, react_1.useState)(() => {
32
+ if (initialRange)
33
+ return initialRange;
34
+ // default: center 30% of price span
35
+ const span = maxP - minP;
36
+ return { min: minP + span * 0.35, max: minP + span * 0.65 };
37
+ });
38
+ (0, react_1.useEffect)(() => onRangeChange?.(range), [range, onRangeChange]);
39
+ // line path
40
+ const step = series.length > 1 ? innerW / (series.length - 1) : 0;
41
+ const path = series
42
+ .map((p, i) => {
43
+ const x = padding.left + i * step;
44
+ const y = padding.top + (0, exports.priceToY)(p.price, minP, maxP, innerH);
45
+ return `${i === 0 ? "M" : "L"}${x.toFixed(2)},${y.toFixed(2)}`;
46
+ })
47
+ .join(" ");
48
+ // current price marker at last point
49
+ const last = series[series.length - 1];
50
+ const currentX = padding.left + (series.length - 1) * step;
51
+ const currentY = padding.top + (0, exports.priceToY)(last.price, minP, maxP, innerH);
52
+ // histograms
53
+ const maxBucket = Math.max(1, ...leftBuckets.map((b) => b.value), ...rightBuckets.map((b) => b.value));
54
+ const barWidth = 10;
55
+ // slider interactions
56
+ const dragging = (0, react_1.useRef)(null);
57
+ const onPointerDownHandle = (which, e) => {
58
+ dragging.current = which;
59
+ e.target.setPointerCapture(e.pointerId);
60
+ };
61
+ const onPointerUp = (e) => {
62
+ if (dragging.current) {
63
+ try {
64
+ e.target.releasePointerCapture(e.pointerId);
65
+ }
66
+ catch { }
67
+ }
68
+ dragging.current = null;
69
+ };
70
+ const onPointerMove = (e) => {
71
+ if (!dragging.current || !svgRef.current)
72
+ return;
73
+ const rect = svgRef.current.getBoundingClientRect();
74
+ const y = (0, exports.clamp)(e.clientY - rect.top - padding.top, 0, innerH);
75
+ const price = (0, exports.yToPrice)(y, minP, maxP, innerH);
76
+ if (dragging.current === "min") {
77
+ const v = Math.min(price, range.max - (maxP - minP) * 0.001);
78
+ setRange((r) => ({ ...r, min: (0, exports.clamp)(v, minP, maxP) }));
79
+ }
80
+ else if (dragging.current === "max") {
81
+ const v = Math.max(price, range.min + (maxP - minP) * 0.001);
82
+ setRange((r) => ({ ...r, max: (0, exports.clamp)(v, minP, maxP) }));
83
+ }
84
+ else if (dragging.current === "band") {
85
+ // band drag: compute delta from start
86
+ // Not implemented: simple noop for now
87
+ }
88
+ };
89
+ // computed y positions for handles
90
+ const yMin = padding.top + (0, exports.priceToY)(range.min, minP, maxP, innerH);
91
+ const yMax = padding.top + (0, exports.priceToY)(range.max, minP, maxP, innerH);
92
+ // build histogram bars
93
+ const leftBars = leftBuckets.map((b) => {
94
+ const y = padding.top + (0, exports.priceToY)(b.price, minP, maxP, innerH);
95
+ const h = Math.max(2, (b.value / maxBucket) * innerH * 0.5);
96
+ return {
97
+ x: padding.left - 8 - barWidth,
98
+ y: y - h / 2,
99
+ w: barWidth,
100
+ h,
101
+ value: b.value,
102
+ };
103
+ });
104
+ const rightBars = rightBuckets.map((b) => {
105
+ const y = padding.top + (0, exports.priceToY)(b.price, minP, maxP, innerH);
106
+ const h = Math.max(2, (b.value / maxBucket) * innerH * 0.5);
107
+ return {
108
+ x: padding.left + innerW + 8,
109
+ y: y - h / 2,
110
+ w: barWidth,
111
+ h,
112
+ value: b.value,
113
+ };
114
+ });
115
+ return ((0, jsx_runtime_1.jsx)("div", { className: "rlc-root", style: { width }, children: (0, jsx_runtime_1.jsxs)("svg", { ref: svgRef, width: width, height: height, onPointerMove: onPointerMove, onPointerUp: onPointerUp, onPointerCancel: onPointerUp, className: "rlc-svg", children: [(0, jsx_runtime_1.jsx)("defs", { children: (0, jsx_runtime_1.jsxs)("linearGradient", { id: "priceGrad", x1: "0", x2: "0", y1: "0", y2: "1", children: [(0, jsx_runtime_1.jsx)("stop", { offset: "0%", stopColor: "#ff55d1", stopOpacity: "0.22" }), (0, jsx_runtime_1.jsx)("stop", { offset: "100%", stopColor: "#ff55d1", stopOpacity: "0.02" })] }) }), (0, jsx_runtime_1.jsx)("rect", { x: padding.left, y: yMax, width: innerW, height: Math.max(1, yMin - yMax), fill: "#ff49c8", opacity: 0.18 }), (0, jsx_runtime_1.jsx)("g", { className: "rlc-bars left", children: leftBars.map((b, i) => ((0, jsx_runtime_1.jsx)("rect", { className: "rlc-bar", x: b.x, y: b.y, width: b.w, height: b.h, rx: 4 }, i))) }), (0, jsx_runtime_1.jsx)("g", { className: "rlc-bars right", children: rightBars.map((b, i) => ((0, jsx_runtime_1.jsx)("rect", { className: "rlc-bar", x: b.x, y: b.y, width: b.w, height: b.h, rx: 4 }, i))) }), (0, jsx_runtime_1.jsx)("path", { d: path, className: "rlc-line", fill: "none", stroke: "#ff57d8", strokeWidth: 2 }), (0, jsx_runtime_1.jsx)("circle", { cx: currentX, cy: currentY, r: 4.5, fill: "#ff7cd9", stroke: "#fff", strokeWidth: 1 }), (0, jsx_runtime_1.jsxs)("g", { className: "rlc-slider", transform: `translate(${padding.left + innerW + 40},0)`, children: [(0, jsx_runtime_1.jsx)("rect", { x: -12, y: padding.top, width: 24, height: innerH, rx: 12, fill: "#2b2b2b", opacity: 0.14 }), (0, jsx_runtime_1.jsx)("rect", { x: -12, y: yMax, width: 24, height: Math.max(4, yMin - yMax), rx: 8, fill: "#ff49c8", opacity: 0.9 }), (0, jsx_runtime_1.jsx)("g", { className: "rlc-handle rlc-handle-min", transform: `translate(0,${yMin})`, onPointerDown: (e) => onPointerDownHandle("min", e), children: (0, jsx_runtime_1.jsx)("circle", { cx: 0, cy: 0, r: 10, fill: "#fff", stroke: "#ff49c8", strokeWidth: 3 }) }), (0, jsx_runtime_1.jsx)("g", { className: "rlc-handle rlc-handle-max", transform: `translate(0,${yMax})`, onPointerDown: (e) => onPointerDownHandle("max", e), children: (0, jsx_runtime_1.jsx)("circle", { cx: 0, cy: 0, r: 10, fill: "#fff", stroke: "#ff49c8", strokeWidth: 3 }) })] })] }) }));
116
+ };
117
+ exports.RangeLiquidityChart = RangeLiquidityChart;
118
+ exports.default = exports.RangeLiquidityChart;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Footer = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const clsx_1 = require("clsx");
6
+ const ResolveLink_1 = require("../header/ResolveLink");
7
+ const Icons_1 = require("../icons/Icons");
8
+ const RujiraLogo_1 = require("../logos/RujiraLogo");
9
+ const Footer = ({ className, domain = "", routerElement, }) => {
10
+ return ((0, jsx_runtime_1.jsx)("div", { className: (0, clsx_1.default)({
11
+ rujira__footer: true,
12
+ [`${className}`]: className,
13
+ }), children: (0, jsx_runtime_1.jsxs)("div", { className: "rujira__inner", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex wrap pad-tight", children: [(0, jsx_runtime_1.jsxs)("div", { className: "col-12 col-xs-6 col-lg-3", children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 lh-18 fw-600 color-white", children: "Everyone" }), (0, jsx_runtime_1.jsxs)("nav", { className: "flex dir-c", children: [(0, jsx_runtime_1.jsx)(ResolveLink_1.ResolveLink, { as: routerElement, domain: domain, to: "merge", children: "Merge" }), (0, jsx_runtime_1.jsx)("a", { href: "https://docs.rujira.network", target: "_blank", children: "Documentation" }), (0, jsx_runtime_1.jsx)("a", { href: "https://docs.rujira.network/resources/branding", target: "_blank", children: "Brand Assets" }), (0, jsx_runtime_1.jsx)("a", { href: "https://thorchain.net", target: "_blank", children: "Blockchain Explorer" }), (0, jsx_runtime_1.jsx)(ResolveLink_1.ResolveLink, { as: routerElement, domain: domain, to: "privacypolicy", children: "Privacy Policy" }), (0, jsx_runtime_1.jsx)(ResolveLink_1.ResolveLink, { as: routerElement, domain: domain, to: "tou", children: "Terms of Use" })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "col-12 col-xs-6 col-lg-3 mt-3 mt-xs-0", children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 lh-18 fw-600 color-white", children: "Developers" }), (0, jsx_runtime_1.jsxs)("nav", { className: "flex dir-c", children: [(0, jsx_runtime_1.jsx)(ResolveLink_1.ResolveLink, { as: routerElement, domain: domain, to: "developer/tools", children: "Developer Tools" }), (0, jsx_runtime_1.jsx)("a", { href: "https://docs.rujira.network/developers/getting-started", target: "_blank", children: "Documentation" }), (0, jsx_runtime_1.jsx)("a", { href: "https://gitlab.com/thorchain/rujira", target: "_blank", children: "GitLab" }), (0, jsx_runtime_1.jsx)("a", { href: "https://gitlab.com/thorchain/rujira-ui", target: "_blank", children: "Rujira.ui" })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "col-12 col-xs-6 col-lg-3 mt-3 mt-lg-0", children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 lh-18 fw-600 color-white", children: "Ecosystem" }), (0, jsx_runtime_1.jsx)("nav", { className: "flex dir-c", children: (0, jsx_runtime_1.jsx)(ResolveLink_1.ResolveLink, { as: routerElement, domain: domain, to: "ecosystem", children: "Built on Rujira" }) })] }), (0, jsx_runtime_1.jsxs)("div", { className: "col-12 col-xs-6 col-lg-3 mt-3 mt-lg-0", children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 lh-18 fw-600 color-white", children: "Community" }), (0, jsx_runtime_1.jsxs)("nav", { className: "flex wrap mt-1", children: [(0, jsx_runtime_1.jsx)("a", { href: "https://x.com/RujiraNetwork", target: "_blank", className: "block px-0.5", children: (0, jsx_runtime_1.jsx)(Icons_1.X, { className: "h-3 w-a" }) }), (0, jsx_runtime_1.jsx)("a", { href: "https://t.me/Rujira_Community", target: "_blank", className: "block px-0.5", children: (0, jsx_runtime_1.jsx)(Icons_1.Telegram, { className: "h-3 w-a" }) }), (0, jsx_runtime_1.jsx)("a", { href: "https://discord.gg/XPvsxhWKfb", target: "_blank", className: "block px-0.5", children: (0, jsx_runtime_1.jsx)(Icons_1.Discord, { className: "h-3 w-a" }) }), (0, jsx_runtime_1.jsx)("a", { href: "https://medium.com/rujiranetwork", target: "_blank", className: "block px-0.5", children: (0, jsx_runtime_1.jsx)(Icons_1.Medium, { className: "h-3 w-a" }) })] }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 lh-16 fw-500 color-grey my-2", children: "Powered by THORChain" })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "mt-4 flex wrap ai-c", children: [(0, jsx_runtime_1.jsx)(RujiraLogo_1.RujiraLogo, { animate: true, textColor: "#fff", className: "block w-a h-4 mr-3" }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 lh-16 fw-500 color-grey my-2", children: "All Rujira brand is in public domain. No rights reserved." })] })] }) }));
14
+ };
15
+ exports.Footer = Footer;
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Wallets = exports.Accounts = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const clsx_1 = require("clsx");
6
+ const react_1 = require("motion/react");
7
+ const react_2 = require("react");
8
+ const react_hot_toast_1 = require("react-hot-toast");
9
+ const react_router_dom_1 = require("react-router-dom");
10
+ const react_tooltip_1 = require("react-tooltip");
11
+ const rujira_js_1 = require("rujira.js");
12
+ const __1 = require("../..");
13
+ const combined_png_1 = require("../../assets/images/combined.png");
14
+ const connect_gif_1 = require("../../assets/images/connect.gif");
15
+ const connect_png_1 = require("../../assets/images/connect.png");
16
+ const GlobalModal_1 = require("../../context/GlobalModal");
17
+ const i18n_1 = require("../../i18n");
18
+ const Icons_1 = require("../icons/Icons");
19
+ const NetworkIcon_1 = require("../icons/NetworkIcon");
20
+ const Fiat_1 = require("../numbers/Fiat");
21
+ const ResolveLink_1 = require("./ResolveLink");
22
+ let referral = localStorage.getItem("referral");
23
+ const Accounts = ({ provider, routingElement, wallets, ProviderIcon, getValue, customActions, }) => {
24
+ const { t } = (0, i18n_1.useTranslation)("header");
25
+ const { accounts: allAccounts, disconnectAll, selected } = provider;
26
+ const [showBlur, setShowBlur] = (0, react_2.useState)(false);
27
+ const { hideModal, showModal } = (0, GlobalModal_1.useGlobalModalContext)();
28
+ const [showBalance, setShowBalance] = (0, __1.useLocalStorage)("rujira-show-balance", "true");
29
+ const accounts = allAccounts?.filter((a) => (0, rujira_js_1.isThor)(a.address));
30
+ const ReferralModal = () => {
31
+ showModal({
32
+ title: t("referAndEarn"),
33
+ backgroundClose: true,
34
+ children: ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("p", { className: "p balance", children: t("referralDescription") }), (0, jsx_runtime_1.jsx)("div", { className: "pointer", onClick: () => {
35
+ react_hot_toast_1.default.success(t("referralCopied"));
36
+ navigator.clipboard.writeText(`https://rujira.network/?ref=${referral}`);
37
+ }, children: (0, jsx_runtime_1.jsx)(__1.Input, { value: `https://rujira.network/?ref=${referral}`, readOnly: true, label: t("clickToCopy") }) }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 color-grey mt-2", children: t("referralValidUntil") }), (0, jsx_runtime_1.jsx)("div", { className: "modal__footer mt-4 px-3 py-2 text-right", children: (0, jsx_runtime_1.jsx)(__1.Button, { label: t("close"), onClick: hideModal }) })] })),
38
+ });
39
+ };
40
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: !accounts || accounts.length === 0 ? ((0, jsx_runtime_1.jsx)(ConnectAnimation, { children: (0, jsx_runtime_1.jsx)(exports.Wallets, { provider: provider, routingElement: routingElement, wallets: wallets }) })) : ((0, jsx_runtime_1.jsxs)(MyAccount, { routingElement: routingElement, provider: provider, value: selected
41
+ ? getValue({
42
+ address: selected.address,
43
+ network: "THOR",
44
+ })
45
+ : false, onHide: () => setShowBlur(false), children: [selected ? ((0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, to: "portfolio", className: "balance", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex ai-b", children: showBalance === "true" ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Fiat_1.Fiat, { amount: getValue({
46
+ address: selected.address,
47
+ network: "THOR",
48
+ }), decimals: 12, symbol: "~$", padSymbol: false, className: "color-white fs-26 condensed" }), (0, jsx_runtime_1.jsx)("button", { className: "transparent ml-1 color-grey hover-white", onClick: (e) => {
49
+ e.stopPropagation();
50
+ e.preventDefault();
51
+ setShowBalance("false");
52
+ return false;
53
+ }, style: { marginRight: "-1rem" }, children: (0, jsx_runtime_1.jsx)(Icons_1.Eye, { className: "w-2 h-2" }) })] })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { className: "fiat color-grey fs-22", style: { fontFamily: "monospace" }, children: "****" }), (0, jsx_runtime_1.jsx)("button", { className: "transparent ml-1 color-grey hover-white", onClick: (e) => {
54
+ e.stopPropagation();
55
+ e.preventDefault();
56
+ setShowBalance("true");
57
+ return false;
58
+ }, style: { marginRight: "-1rem" }, children: (0, jsx_runtime_1.jsx)(Icons_1.EyeSlash, { className: "w-2 h-2" }) })] })) }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 condensed color-grey mt-0.5", children: t("viewPortfolio") })] })) : null, accounts.map((account) => ((0, jsx_runtime_1.jsx)(AddressC, { provider: provider, ProviderIcon: ProviderIcon, account: account, selected: selected?.address === account.address &&
59
+ selected.provider === account.provider }, account.address + account.provider))), (0, jsx_runtime_1.jsxs)("nav", { className: "actions", children: [referral && ((0, jsx_runtime_1.jsxs)("button", { className: "action transparent", onClick: ReferralModal, children: [(0, jsx_runtime_1.jsx)(Icons_1.Users, {}), (0, jsx_runtime_1.jsx)("span", { children: t("referralLink") })] })), (0, jsx_runtime_1.jsxs)(react_router_dom_1.Link, { className: "action transparent", to: "connect", children: [(0, jsx_runtime_1.jsx)(Icons_1.Plus, {}), (0, jsx_runtime_1.jsx)("span", { children: t("connectAnotherWallet") })] }), customActions &&
60
+ customActions.map((e, index) => (0, react_2.cloneElement)(e, { key: index })), (0, jsx_runtime_1.jsxs)("button", { className: "action transparent", onClick: disconnectAll, children: [(0, jsx_runtime_1.jsx)(Icons_1.LinkDisconnect, {}), (0, jsx_runtime_1.jsx)("span", { children: t("disconnectAll") })] })] }), showBlur && (0, jsx_runtime_1.jsx)("div", { className: "blur" })] })) }));
61
+ };
62
+ exports.Accounts = Accounts;
63
+ /* const Component = forwardRef<HTMLAnchorElement, ComponentProps<typeof Link>>((props, ref) => {
64
+ return <Link {...props} ref={ref} />;
65
+ }); */
66
+ const ConnectAnimation = ({ children }) => {
67
+ const { t } = (0, i18n_1.useTranslation)("header");
68
+ const [show, setShow] = (0, react_2.useState)(false);
69
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "relative py-q1 no-underline", onMouseOver: () => setShow(true), onMouseOut: () => setShow(false), children: [(0, jsx_runtime_1.jsxs)("div", { className: "rujira-header__connect", children: [(0, jsx_runtime_1.jsx)("div", { className: "fs-14 fw-500 fs-15 condensed", children: t("connect") }), (0, jsx_runtime_1.jsx)("img", { className: "w-3 h-3 filter-white", src: show ? connect_gif_1.default : connect_png_1.default, alt: "Connect" })] }), (0, jsx_runtime_1.jsx)(react_1.AnimatePresence, { children: show && ((0, jsx_runtime_1.jsxs)(react_1.motion.div, { className: "rujira-header__popup right condensed w-32 text-center p-2", initial: { opacity: 0, marginTop: -4 }, animate: { opacity: 1, marginTop: 4 }, exit: { opacity: 0, marginTop: -4 }, children: [(0, jsx_runtime_1.jsx)("p", { className: "color-white", children: t("connectYourWallet") }), (0, jsx_runtime_1.jsx)("small", { className: "color-grey mb-1", children: t("createOrConnectWallet") }), children] })) })] }));
70
+ };
71
+ const Wallets = ({ modalLayout = false, provider, routingElement, wallets, }) => {
72
+ const { t } = (0, i18n_1.useTranslation)("header");
73
+ const { connect, isAvaialable } = provider;
74
+ const { hideModal } = (0, GlobalModal_1.useGlobalModalContext)();
75
+ const [first, ...rest] = wallets;
76
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { className: "rujira-header__wallets", children: [(0, jsx_runtime_1.jsx)("div", { className: (0, clsx_1.default)({
77
+ "flex w-full ai-c jc-c wrap": true,
78
+ "mb-1": modalLayout,
79
+ }), children: (0, jsx_runtime_1.jsx)("button", { id: "connect-station", "data-tooltip-content": "Coming Soon...", "data-tooltip-id": "wallet-tip", className: (0, clsx_1.default)({
80
+ "transparent block pointer medium": true,
81
+ "desaturate opacity-10": !first?.provider,
82
+ }), disabled: !first?.provider, onClick: () => {
83
+ first?.provider && connect(first?.provider).then(hideModal);
84
+ }, children: first?.icon }) }), (0, jsx_runtime_1.jsx)("div", { className: "flex w-full ai-c jc-c wrap", children: rest.map((x) => {
85
+ const disabled = x.provider ? !isAvaialable(x.provider) : true;
86
+ return ((0, jsx_runtime_1.jsx)("button", { id: `connect-${x.label}`, "data-tooltip-content": x.label, "data-tooltip-id": "wallet-tip", className: (0, clsx_1.default)({
87
+ "transparent block pointer": true,
88
+ medium: modalLayout,
89
+ "desaturate opacity-10": disabled,
90
+ }), onClick: () => {
91
+ if (disabled && x.url) {
92
+ window.open(x.url, "_blank");
93
+ return;
94
+ }
95
+ x.provider && connect(x.provider).then(hideModal);
96
+ }, children: x.icon }, x.label));
97
+ }) }), (0, jsx_runtime_1.jsx)("hr", { className: (0, clsx_1.default)({
98
+ hr: true,
99
+ "mt-0 mb-1": !modalLayout,
100
+ "my-2": modalLayout,
101
+ }) }), (0, jsx_runtime_1.jsx)(ResolveLink_1.ResolveLink, { as: routingElement, to: "ecosystem/wallets", onClick: hideModal, children: t("needHelpDeciding") })] }), (0, jsx_runtime_1.jsx)(react_tooltip_1.Tooltip, { id: "wallet-tip", className: "tooltip" })] }));
102
+ };
103
+ exports.Wallets = Wallets;
104
+ const MyAccount = ({ provider, children, onHide, routingElement, value, }) => {
105
+ const [show, setShow] = (0, react_2.useState)(false);
106
+ const { accounts, selected } = provider;
107
+ const [showBalance] = (0, __1.useLocalStorage)("rujira-show-balance", "true");
108
+ (0, react_2.useEffect)(() => {
109
+ onHide();
110
+ }, [show]);
111
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "relative py-q1", onMouseEnter: () => setShow(true), onMouseLeave: () => setShow(false), children: [(0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, to: "portfolio", className: "rujira-header__pfp", children: [value !== false && showBalance === "true" && ((0, jsx_runtime_1.jsx)(Fiat_1.Fiat, { amount: value, symbol: "~$", decimals: 12, padSymbol: false })), selected && (0, jsx_runtime_1.jsx)(NetworkIcon_1.NetworkIcon, { network: "THOR" }), accounts?.length && !selected && (0, jsx_runtime_1.jsx)("img", { src: combined_png_1.default, alt: "combined" }), provider.isLoading && (0, jsx_runtime_1.jsx)(__1.Spinner, {})] }), (0, jsx_runtime_1.jsx)(react_1.AnimatePresence, { children: show && ((0, jsx_runtime_1.jsx)(react_1.motion.div, { className: "rujira-header__popup right condensed p-1.5 br-2", initial: { opacity: 0, marginTop: -4, right: -8 }, animate: { opacity: 1, marginTop: 4, right: -8 }, exit: { opacity: 0, marginTop: -4, right: -8 }, children: children })) })] }));
112
+ };
113
+ const AddressC = ({ account, selected, provider, ProviderIcon, }) => {
114
+ const { t } = (0, i18n_1.useTranslation)("header");
115
+ const { select, disconnect } = provider;
116
+ const [hover, setHover] = (0, react_2.useState)(false);
117
+ return ((0, jsx_runtime_1.jsxs)("div", { onMouseOver: () => setHover(true), onMouseOut: () => setHover(false), className: (0, clsx_1.default)({
118
+ "flex ai-c px-1 address": true,
119
+ "address--selected": selected,
120
+ }), children: [(0, jsx_runtime_1.jsx)(NetworkIcon_1.NetworkIcon, { network: "THOR", className: "address__wallet", selected: selected || hover }), (0, jsx_runtime_1.jsx)("p", { className: "address__address pointer", onClick: () => {
121
+ if (selected) {
122
+ react_hot_toast_1.default.success(t("addressCopied"));
123
+ navigator.clipboard.writeText(account.address);
124
+ }
125
+ else {
126
+ select(account);
127
+ }
128
+ }, children: hover && selected ? (t("copyAddress")) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [account.address.substring(0, 8), " ... ", account.address.slice(-8)] })) }), hover ? ((0, jsx_runtime_1.jsx)(Icons_1.LinkDisconnect, { className: "address__disconnect", onClick: () => disconnect(account.provider) })) : ((0, jsx_runtime_1.jsx)(ProviderIcon, { className: "address__disconnect", provider: account.provider, selected: selected }))] }));
129
+ };
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.MobileNav = exports.MainNav = exports.Logo = exports.Container = exports.Header = void 0;
18
+ const jsx_runtime_1 = require("react/jsx-runtime");
19
+ const clsx_1 = require("clsx");
20
+ const react_1 = require("motion/react");
21
+ const react_2 = require("react");
22
+ const vaul_1 = require("vaul");
23
+ const deposit_gif_1 = require("../../assets/images/deposit.gif");
24
+ const deposit_png_1 = require("../../assets/images/deposit.png");
25
+ const GlobalModal_1 = require("../../context/GlobalModal");
26
+ const useWindowSize_1 = require("../../hooks/useWindowSize");
27
+ const i18n_1 = require("../../i18n");
28
+ const Icons_1 = require("../icons/Icons");
29
+ const RujiraLogo_1 = require("../logos/RujiraLogo");
30
+ const Accounts_1 = require("./Accounts");
31
+ const Pending_1 = require("./Pending");
32
+ const ResolveLink_1 = require("./ResolveLink");
33
+ __exportStar(require("./Accounts"), exports);
34
+ __exportStar(require("./QuickLauncher"), exports);
35
+ const Header = ({ accountProvider, className, domain = "", routingElement, wallets, ProviderIcon, onDeposit, deposits, getAccountValue, customActions, }) => {
36
+ const { t } = (0, i18n_1.useTranslation)("header");
37
+ const [hover, setHover] = (0, react_2.useState)(false);
38
+ const [isScrolled, setIsScrolled] = (0, react_2.useState)(false);
39
+ const [scrollY, setScrollY] = (0, react_2.useState)(0);
40
+ const { accounts } = accountProvider;
41
+ const { showModal } = (0, GlobalModal_1.useGlobalModalContext)();
42
+ (0, react_2.useEffect)(() => {
43
+ const handleScroll = () => {
44
+ setIsScrolled(window.scrollY > 56);
45
+ setScrollY(window.scrollY <= 56 ? window.scrollY : 56);
46
+ };
47
+ window.addEventListener("scroll", handleScroll);
48
+ return () => {
49
+ window.removeEventListener("scroll", handleScroll);
50
+ };
51
+ }, []);
52
+ const ConnectModal = () => {
53
+ showModal({
54
+ title: t("connectYourAccount"),
55
+ backgroundClose: true,
56
+ children: ((0, jsx_runtime_1.jsx)(i18n_1.TranslationProvider, { namespace: "header", children: (0, jsx_runtime_1.jsx)(Accounts_1.Wallets, { modalLayout: true, provider: accountProvider, wallets: wallets }) })),
57
+ });
58
+ };
59
+ return ((0, jsx_runtime_1.jsxs)(exports.Container, { style: { backgroundColor: `rgba(15, 17, 23, ${(scrollY / 56) * 0.9})` }, className: (0, clsx_1.default)({
60
+ [`${className}`]: className,
61
+ "rujira-header--scrolled": isScrolled,
62
+ }), children: [(0, jsx_runtime_1.jsx)(ResolveLink_1.ResolveLink, { as: routingElement, to: ".", children: (0, jsx_runtime_1.jsx)(exports.Logo, {}) }), (0, jsx_runtime_1.jsx)(exports.MainNav, { domain: domain, accountProvider: accountProvider, routingElement: routingElement }), (0, jsx_runtime_1.jsxs)("div", { className: "ml-a mr-0 flex ai-c gradient-card-container", children: [deposits && (0, jsx_runtime_1.jsx)(Pending_1.PendingDeposits, { ...deposits }), onDeposit && ((0, jsx_runtime_1.jsxs)("button", { id: "deposit", className: "transparent rujira-header__deposit condensed", onMouseOver: () => setHover(true), onMouseOut: () => setHover(false), onClick: () => {
63
+ accounts?.length === 0 ? ConnectModal() : onDeposit();
64
+ }, children: [(0, jsx_runtime_1.jsx)("img", { src: hover ? deposit_gif_1.default : deposit_png_1.default, alt: "Deposit" }), (0, jsx_runtime_1.jsx)("span", { children: t("deposit") })] })), (0, jsx_runtime_1.jsx)(Accounts_1.Accounts, { provider: accountProvider, ProviderIcon: ProviderIcon, routingElement: routingElement, wallets: wallets, getValue: getAccountValue,
65
+ //hideNetworkSwitch={hideNetworkSwitch}
66
+ customActions: customActions })] }), (0, jsx_runtime_1.jsx)(exports.MobileNav, { domain: domain, routingElement: routingElement, accountProvider: accountProvider })] }));
67
+ };
68
+ exports.Header = Header;
69
+ const Container = ({ children, className, style = {} }) => {
70
+ return ((0, jsx_runtime_1.jsx)("div", { className: (0, clsx_1.default)({
71
+ "rujira-header": true,
72
+ [`${className}`]: className,
73
+ }), style: style, children: children }));
74
+ };
75
+ exports.Container = Container;
76
+ const Logo = () => {
77
+ const size = (0, useWindowSize_1.useWindowSize)();
78
+ return ((0, jsx_runtime_1.jsx)(RujiraLogo_1.RujiraLogo, { textColor: "#fff", className: "rujira-header__logo", showText: size.width >= 520, animate: true }));
79
+ };
80
+ exports.Logo = Logo;
81
+ const MainNav = ({ domain,
82
+ //accountProvider,
83
+ routingElement, }) => {
84
+ const { t } = (0, i18n_1.useTranslation)("header");
85
+ //const { accounts } = accountProvider;
86
+ const [showTrade, setShowTrade] = (0, react_2.useState)(false);
87
+ const [showEarn, setShowEarn] = (0, react_2.useState)(false);
88
+ const [showBorrow, setShowBorrow] = (0, react_2.useState)(false);
89
+ const [showUtilities, setShowUtilities] = (0, react_2.useState)(false);
90
+ const [showEntertainment, setShowEntertainment] = (0, react_2.useState)(false);
91
+ const [showLearn, setShowLearn] = (0, react_2.useState)(false);
92
+ const trade = (0, react_2.useRef)(null);
93
+ const earn = (0, react_2.useRef)(null);
94
+ const borrow = (0, react_2.useRef)(null);
95
+ const utilities = (0, react_2.useRef)(null);
96
+ const entertainment = (0, react_2.useRef)(null);
97
+ const learn = (0, react_2.useRef)(null);
98
+ (0, react_2.useEffect)(() => {
99
+ if (showTrade ||
100
+ showBorrow ||
101
+ showUtilities ||
102
+ showEarn ||
103
+ showEntertainment ||
104
+ showLearn) {
105
+ let popup = null;
106
+ if (showTrade) {
107
+ popup = trade.current;
108
+ }
109
+ else if (showEarn) {
110
+ popup = earn.current;
111
+ }
112
+ else if (showBorrow) {
113
+ popup = borrow.current;
114
+ }
115
+ else if (showUtilities) {
116
+ popup = utilities.current;
117
+ }
118
+ else if (showEntertainment) {
119
+ popup = entertainment.current;
120
+ }
121
+ else if (showLearn) {
122
+ popup = learn.current;
123
+ }
124
+ if (popup) {
125
+ const box = popup.getBoundingClientRect();
126
+ const body = document.body;
127
+ const docEl = document.documentElement;
128
+ const scrollLeft = window.scrollX || docEl.scrollLeft || body.scrollLeft;
129
+ const clientLeft = docEl.clientLeft || body.clientLeft || 0;
130
+ const left = box.left + scrollLeft - clientLeft;
131
+ if (left + box.width > window.innerWidth - 20) {
132
+ const diff = Math.round(left + box.width - window.innerWidth + 20);
133
+ popup.style.transform = "translateX(-" + diff + "px)";
134
+ }
135
+ }
136
+ }
137
+ }, [
138
+ showTrade,
139
+ showBorrow,
140
+ showUtilities,
141
+ showEarn,
142
+ showEntertainment,
143
+ showLearn,
144
+ ]);
145
+ return ((0, jsx_runtime_1.jsxs)("nav", { className: "rujira-header__nav", children: [(0, jsx_runtime_1.jsxs)("span", { onMouseOver: () => setShowTrade(true), onMouseOut: () => setShowTrade(false), children: [t("trade"), (0, jsx_runtime_1.jsx)(Icons_1.AngleDown, {}), (0, jsx_runtime_1.jsx)(react_1.AnimatePresence, { children: showTrade && ((0, jsx_runtime_1.jsx)(SubTrade, { useRef: trade, domain: domain, routingElement: routingElement })) })] }), (0, jsx_runtime_1.jsxs)("span", { onMouseOver: () => setShowEarn(true), onMouseOut: () => setShowEarn(false), children: [t("earn"), (0, jsx_runtime_1.jsx)(Icons_1.AngleDown, {}), (0, jsx_runtime_1.jsx)(react_1.AnimatePresence, { children: showEarn && ((0, jsx_runtime_1.jsx)(SubEarn, { useRef: earn, domain: domain, routingElement: routingElement })) })] }), (0, jsx_runtime_1.jsxs)("span", { onMouseOver: () => setShowBorrow(true), onMouseOut: () => setShowBorrow(false), children: [t("borrow"), (0, jsx_runtime_1.jsx)(Icons_1.AngleDown, {}), (0, jsx_runtime_1.jsx)(react_1.AnimatePresence, { children: showBorrow && ((0, jsx_runtime_1.jsx)(SubBorrow, { useRef: borrow, domain: domain, routingElement: routingElement })) })] }), (0, jsx_runtime_1.jsxs)("span", { onMouseOver: () => setShowUtilities(true), onMouseOut: () => setShowUtilities(false), children: [t("utilities"), (0, jsx_runtime_1.jsx)(Icons_1.AngleDown, {}), (0, jsx_runtime_1.jsx)(react_1.AnimatePresence, { children: showUtilities && ((0, jsx_runtime_1.jsx)(SubUtilities, { useRef: utilities, domain: domain, routingElement: routingElement })) })] }), (0, jsx_runtime_1.jsxs)("span", { onMouseOver: () => setShowEntertainment(true), onMouseOut: () => setShowEntertainment(false), children: [t("entertainment"), (0, jsx_runtime_1.jsx)(Icons_1.AngleDown, {}), (0, jsx_runtime_1.jsx)(react_1.AnimatePresence, { children: showEntertainment && ((0, jsx_runtime_1.jsx)(SubEntertainment, { useRef: entertainment, domain: domain, routingElement: routingElement })) })] }), (0, jsx_runtime_1.jsxs)("span", { onMouseOver: () => setShowLearn(true), onMouseOut: () => setShowLearn(false), children: [t("learnAndHelp"), (0, jsx_runtime_1.jsx)(Icons_1.AngleDown, {}), (0, jsx_runtime_1.jsx)(react_1.AnimatePresence, { children: showLearn && ((0, jsx_runtime_1.jsx)(SubLearn, { useRef: learn, domain: domain, routingElement: routingElement })) })] })] }));
146
+ };
147
+ exports.MainNav = MainNav;
148
+ const MobileNav = ({ domain, routingElement, accountProvider, }) => {
149
+ const { t } = (0, i18n_1.useTranslation)("header");
150
+ const [showDrawer, setShowDrawer] = (0, react_2.useState)(false);
151
+ const { accounts } = accountProvider;
152
+ /*const mobile = useRef<HTMLDivElement | null>(null);
153
+
154
+ useEffect(() => {
155
+ if (showMobile) {
156
+ document.body.style.overflow = "hidden";
157
+ } else {
158
+ document.body.style.overflow = "auto";
159
+ }
160
+ }, [showMobile]);*/
161
+ let url = location.href;
162
+ document.body.addEventListener("click", () => {
163
+ requestAnimationFrame(() => {
164
+ if (url !== location.href) {
165
+ setShowDrawer(false);
166
+ url = location.href;
167
+ }
168
+ });
169
+ }, true);
170
+ return ((0, jsx_runtime_1.jsxs)(vaul_1.Drawer.Root, { direction: "left", open: showDrawer, onOpenChange: (open) => setShowDrawer(open), children: [(0, jsx_runtime_1.jsx)("button", { className: "rujira-header__hamburger", onClick: () => setShowDrawer(true), children: (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512", children: (0, jsx_runtime_1.jsx)("path", { d: "M0 64H448v48H0V64zM0 224H448v48H0V224zM448 384v48H0V384H448z", fill: "currentColor" }) }) }), (0, jsx_runtime_1.jsxs)(vaul_1.Drawer.Portal, { children: [(0, jsx_runtime_1.jsx)(vaul_1.Drawer.Overlay, { className: "drawer__overlay" }), (0, jsx_runtime_1.jsxs)(vaul_1.Drawer.Content, { className: "drawer__content drawer__content--left", children: [(0, jsx_runtime_1.jsx)(vaul_1.Drawer.Description, { className: "visually-hidden", children: "Main navigation menu" }), (0, jsx_runtime_1.jsx)(vaul_1.Drawer.Title, { className: "visually-hidden", children: "Main Menu" }), (0, jsx_runtime_1.jsxs)("div", { className: "drawer__card mobile-drawer", children: [(0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: ".", className: "flex ai-c", children: [(0, jsx_runtime_1.jsx)(Icons_1.Home, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("home") }) })] }), accounts && accounts.length > 0 && ((0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "portfolio", className: "flex ai-c mt-2", children: [(0, jsx_runtime_1.jsx)(Icons_1.Coins, { className: "color-grey h-3.5 w-a block mr-2 no-shrink" }), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("portfolio") }) })] })), (0, jsx_runtime_1.jsx)("h4", { children: t("trade") }), (0, jsx_runtime_1.jsx)(SubTrade, { useRef: (0, react_2.useRef)(null), domain: domain, routingElement: routingElement, className: "" }), (0, jsx_runtime_1.jsx)("h4", { children: t("earn") }), (0, jsx_runtime_1.jsx)(SubEarn, { useRef: (0, react_2.useRef)(null), domain: domain, routingElement: routingElement, className: "" }), (0, jsx_runtime_1.jsx)("h4", { children: t("borrow") }), (0, jsx_runtime_1.jsx)(SubBorrow, { useRef: (0, react_2.useRef)(null), domain: domain, routingElement: routingElement, className: "" }), (0, jsx_runtime_1.jsx)("h4", { children: t("utilities") }), (0, jsx_runtime_1.jsx)(SubUtilities, { useRef: (0, react_2.useRef)(null), domain: domain, routingElement: routingElement, className: "" }), (0, jsx_runtime_1.jsx)("h4", { children: t("entertainment") }), (0, jsx_runtime_1.jsx)(SubEntertainment, { useRef: (0, react_2.useRef)(null), domain: domain, routingElement: routingElement, className: "" }), (0, jsx_runtime_1.jsx)("h4", { children: t("learnAndHelp") }), (0, jsx_runtime_1.jsx)(SubLearn, { useRef: (0, react_2.useRef)(null), domain: domain, routingElement: routingElement, className: "" })] })] })] })] }));
171
+ };
172
+ exports.MobileNav = MobileNav;
173
+ const Popup = ({ children, useRef, className = "rujira-header__popup sub-nav fw-400 p-2", }) => ((0, jsx_runtime_1.jsx)(react_1.motion.div, { ref: useRef, className: className, initial: { opacity: 0, marginTop: -4 }, animate: { opacity: 1, marginTop: 0 }, exit: { opacity: 0, marginTop: -4 }, children: children }));
174
+ const SubTrade = ({ domain, routingElement, useRef, className }) => {
175
+ const { t } = (0, i18n_1.useTranslation)("header");
176
+ return ((0, jsx_runtime_1.jsx)(Popup, { useRef: useRef, className: className, children: (0, jsx_runtime_1.jsxs)("div", { className: "grid w-60 mt-1", children: [(0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "swap", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Swap, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("tokenSwap") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("tokenSwapDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "trade", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Chart, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("spotTrading") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("spotTradingDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "/perps/trade", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.ChartUpDown, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("perps") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("perpsDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "index", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.PieChart, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("index") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("indexDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "options", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.ChartUp, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600 flex ai-c", children: t("options") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("optionsDesc") })] })] })] }) }));
177
+ };
178
+ const SubEarn = ({ domain, routingElement, useRef, className }) => {
179
+ const { t } = (0, i18n_1.useTranslation)("header");
180
+ return ((0, jsx_runtime_1.jsx)(Popup, { useRef: useRef, className: className, children: (0, jsx_runtime_1.jsxs)("div", { className: "grid w-60 mt-1", children: [(0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "strategies/staking/RUJI", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Stake, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("stake") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("stakeDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "strategies", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Building, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("strategies") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("strategiesDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "liquidate", className: "flex", children: [(0, jsx_runtime_1.jsx)(Icons_1.Gavel, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("liquidate") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("liquidateDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "launchpad", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Seedling, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600 flex ai-c", children: t("launchpad") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("launchpadDesc") })] })] })] }) }));
181
+ };
182
+ const SubBorrow = ({ domain, routingElement, useRef, className }) => {
183
+ const { t } = (0, i18n_1.useTranslation)("header");
184
+ return ((0, jsx_runtime_1.jsx)(Popup, { useRef: useRef, className: className, children: (0, jsx_runtime_1.jsxs)("div", { className: "grid w-60 mt-1", children: [(0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "borrow", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.MoneyTransfer, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600 flex ai-c", children: t("borrowMenu") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("borrowDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "mint", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Deposit, { className: "color-grey h-a w-3 block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("mintStablecoin") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("mintStablecoinDesc") })] })] })] }) }));
185
+ };
186
+ const SubUtilities = ({ domain, routingElement, useRef, className, }) => {
187
+ const { t } = (0, i18n_1.useTranslation)("header");
188
+ return ((0, jsx_runtime_1.jsx)(Popup, { useRef: useRef, className: className, children: (0, jsx_runtime_1.jsxs)("div", { className: "grid w-60 mt-1", children: [(0, jsx_runtime_1.jsxs)("a", { href: "https://ai.autorujira.app/", target: "_blank", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Terminal, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("h4", { className: "fs-14 fw-600", children: [t("rujiAi"), (0, jsx_runtime_1.jsx)(Icons_1.External, { className: "h-1.5 w-a ml-1" })] }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("rujiAiDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "dashboard", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.ChartMixed, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("analytics") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("analyticsDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "buy", className: "flex", children: [(0, jsx_runtime_1.jsx)(Icons_1.CreditCard, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("buyCrypto") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("buyCryptoDesc") })] })] }), (0, jsx_runtime_1.jsxs)("a", { href: "https://daodao.zone", target: "_blank", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Users, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("h4", { className: "fs-14 fw-600 flex ai-c", children: [t("daodao"), " ", (0, jsx_runtime_1.jsx)(Icons_1.External, { className: "h-1.5 w-a ml-1" })] }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("daodaoDesc") })] })] })] }) }));
189
+ };
190
+ const SubEntertainment = ({ domain, routingElement, useRef, className, }) => {
191
+ const { t } = (0, i18n_1.useTranslation)("header");
192
+ return ((0, jsx_runtime_1.jsx)(Popup, { useRef: useRef, className: className, children: (0, jsx_runtime_1.jsxs)("div", { className: "grid w-60 mt-1", children: [(0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "leaderboard", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Trophy, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("leagues") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("leaguesDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "games", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Gamepad, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("games") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("gamesDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "predict", className: "flex", children: [(0, jsx_runtime_1.jsx)(Icons_1.ChartUser, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("predict") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("predictDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "omniverse", className: "flex", children: [(0, jsx_runtime_1.jsx)(Icons_1.Nodes, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("omniverse") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("omniverseDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "nfts", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.NFT, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600 flex ai-c", children: t("collections") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("collectionsDesc") })] })] })] }) }));
193
+ };
194
+ const SubLearn = ({ domain, routingElement, useRef, className }) => {
195
+ const { t } = (0, i18n_1.useTranslation)("header");
196
+ return ((0, jsx_runtime_1.jsx)(Popup, { useRef: useRef, className: className, children: (0, jsx_runtime_1.jsxs)("div", { className: "grid w-60 mt-1", children: [(0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "getstarted", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Graduate, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("getStarted") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("getStartedDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "ecosystem", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Earth, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("ecosystem") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("ecosystemDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "education", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Book, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("education") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("educationDesc") })] })] }), (0, jsx_runtime_1.jsxs)("a", { href: "https://docs.rujira.network/", target: "_blank", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Code, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("h4", { className: "fs-14 fw-600 flex ai-c", children: [t("documentation"), " ", (0, jsx_runtime_1.jsx)(Icons_1.External, { className: "h-1.5 w-a ml-1" })] }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("documentationDesc") })] })] }), (0, jsx_runtime_1.jsxs)("a", { href: " https://docs.rujira.network/developers/getting-started", target: "_blank", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Terminal, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("h4", { className: "fs-14 fw-600 flex ai-c", children: [t("developers"), (0, jsx_runtime_1.jsx)(Icons_1.External, { className: "h-1.5 w-a ml-1" })] }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("developersDesc") })] })] }), (0, jsx_runtime_1.jsxs)(ResolveLink_1.ResolveLink, { as: routingElement, domain: domain, to: "support", className: "flex", children: [(0, jsx_runtime_1.jsx)(Icons_1.Support, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)("h4", { className: "fs-14 fw-600", children: t("support") }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("supportDesc") })] })] }), (0, jsx_runtime_1.jsxs)("a", { href: "https://medium.com/rujiranetwork", target: "_blank", className: "flex ai-s", children: [(0, jsx_runtime_1.jsx)(Icons_1.Medium, { className: "color-grey h-3.5 w-a block mr-2 no-shrink mt-0" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("h4", { className: "fs-14 fw-600 flex ai-c", children: [t("articles"), " ", (0, jsx_runtime_1.jsx)(Icons_1.External, { className: "h-1.5 w-a ml-1" })] }), (0, jsx_runtime_1.jsx)("p", { className: "fs-12 mt-0.5", children: t("articlesDesc") })] })] })] }) }));
197
+ };
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PendingDeposits = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("motion/react");
6
+ const react_2 = require("react");
7
+ const clsx_1 = require("clsx");
8
+ const rujira_js_1 = require("rujira.js");
9
+ const alert_gif_1 = require("../../assets/images/alert.gif");
10
+ const alert_png_1 = require("../../assets/images/alert.png");
11
+ const helpers_1 = require("../../helpers");
12
+ const Icons_1 = require("../icons/Icons");
13
+ const NetworkIcon_1 = require("../icons/NetworkIcon");
14
+ const PendingDeposits = ({ deposits, dismissDeposit, clearAll, }) => {
15
+ const [showMenu, setShowMenu] = (0, react_2.useState)(false);
16
+ if (!deposits.length)
17
+ return null;
18
+ const isAlert = !!deposits.find((x) => x.status === "succeeded");
19
+ return ((0, jsx_runtime_1.jsxs)("div", { className: (0, clsx_1.default)({
20
+ "rujira-header__pending": true,
21
+ "rujira-header__alert": isAlert,
22
+ }), onMouseOver: () => setShowMenu(true), onMouseLeave: () => setShowMenu(false), children: [(0, jsx_runtime_1.jsx)("img", { src: isAlert ? alert_gif_1.default : alert_png_1.default, alt: "Pending transactions" }), (0, jsx_runtime_1.jsx)(react_1.AnimatePresence, { children: showMenu && ((0, jsx_runtime_1.jsxs)(react_1.motion.div, { className: "rujira-header__popup sub-nav fw-400 px-2 py-1.5", initial: { opacity: 0, marginTop: -4 }, animate: { opacity: 1, marginTop: 0 }, exit: { opacity: 0, marginTop: -4 }, children: [deposits.length > 0 && ((0, jsx_runtime_1.jsx)("div", { className: "text-right mb-1.5", children: (0, jsx_runtime_1.jsx)("a", { className: "tag tag--md hover-white", onClick: clearAll, children: "clear all" }) })), deposits.sort(sorter).map((x) => ((0, jsx_runtime_1.jsx)(Deposit, { deposit: x, dismiss: () => dismissDeposit(x.hash) }, x.hash)))] })) })] }));
23
+ };
24
+ exports.PendingDeposits = PendingDeposits;
25
+ const Deposit = ({ deposit, dismiss, }) => {
26
+ const { hash, status, network, timestamp, message } = deposit;
27
+ const [elapsed, setElapsed] = (0, react_2.useState)((new Date().getTime() - timestamp.getTime()) / 1000);
28
+ (0, react_2.useEffect)(() => {
29
+ const int = setInterval(() => {
30
+ setElapsed((new Date().getTime() - timestamp.getTime()) / 1000);
31
+ }, 1000);
32
+ return () => clearInterval(int);
33
+ }, []);
34
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "flex rujira-header__pending-tx mb-2", children: [(0, jsx_runtime_1.jsx)(NetworkIcon_1.NetworkIcon, { network: network, className: "w-3 h-3 mr-1" }), (0, jsx_runtime_1.jsxs)("div", { className: "flex dir-c grow", children: [(0, jsx_runtime_1.jsxs)("div", { className: "flex", children: [(0, jsx_runtime_1.jsxs)("div", { className: "fs-14 condensed color-white", children: [(0, helpers_1.nFormatter)(deposit.coin.amount, 6, 8), " ", deposit.coin.symbol] }), (0, jsx_runtime_1.jsxs)("div", { className: "ar flex", children: [status === "pending" && ((0, jsx_runtime_1.jsx)("div", { className: "fs-12 condensed color-grey mr-2 wrap-reset", children: (0, jsx_runtime_1.jsx)("span", { className: "color-white", children: elapsed < 60
35
+ ? `${elapsed}s`
36
+ : elapsed < 3600
37
+ ? `${Math.floor(elapsed / 60)}m ${Math.floor(elapsed % 60)}s`
38
+ : elapsed < 36000
39
+ ? `${Math.floor(elapsed / 3600)}h ${Math.floor((elapsed % 3600) / 60)}m ${Math.floor(elapsed % 60)}s`
40
+ : "> 10h" }) })), (0, jsx_runtime_1.jsxs)("div", { className: (0, clsx_1.default)({
41
+ "tag tag--sm": true,
42
+ "tag--orange": status === "pending",
43
+ "tag--teal": status === "succeeded",
44
+ "tag--red": ["refunded", "failed"].includes(status),
45
+ }), children: [(0, jsx_runtime_1.jsx)("b", {}), " ", status] })] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex mt-0.5", children: [(0, jsx_runtime_1.jsxs)("span", { className: "fs-13 condensed color-grey no-underline mr-3", children: [timestamp.toLocaleTimeString(), " ", timestamp.toLocaleDateString()] }), (0, jsx_runtime_1.jsxs)("a", { href: (0, rujira_js_1.networkTxLink)({ network, txHash: hash }), target: "_blank", className: "fs-13 condensed color-grey no-underline hover-white ar", children: [hash.slice(0, 4), "...", hash.slice(-6)] })] }), message && ((0, jsx_runtime_1.jsx)("div", { className: "flex mt-0.5", children: (0, jsx_runtime_1.jsx)("span", { className: "fs-13 condensed color-orange no-underline mr-3", children: message }) }))] }), status !== "pending" && ((0, jsx_runtime_1.jsx)("button", { className: "transparent ml-1.5 mr-0 color-grey hover-white pointer", onClick: dismiss, children: (0, jsx_runtime_1.jsx)(Icons_1.Xmark, { className: "w-2 h-2" }) }))] }));
46
+ };
47
+ const sorter = (a, b) => b.timestamp.getTime() - a.timestamp.getTime();
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QuickLauncher = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("motion/react");
6
+ const react_2 = require("react");
7
+ const i18n_1 = require("../../i18n");
8
+ const Icons_1 = require("../icons/Icons");
9
+ const ResolveLink_1 = require("./ResolveLink");
10
+ const QuickLauncher = ({ domain, routingElement, }) => {
11
+ const { t } = (0, i18n_1.useTranslation)("header");
12
+ const [showMenu, setShowMenu] = (0, react_2.useState)(false);
13
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "rujira-header__quick", onMouseOver: () => setShowMenu(true), onMouseOut: () => setShowMenu(false), children: [(0, jsx_runtime_1.jsx)(Icons_1.Grid, {}), (0, jsx_runtime_1.jsx)(react_1.AnimatePresence, { children: showMenu && ((0, jsx_runtime_1.jsxs)(react_1.motion.div, { className: "rujira-header__popup sub-nav fw-400 px-2 py-1.5", initial: { opacity: 0, marginTop: -4 }, animate: { opacity: 1, marginTop: 0 }, exit: { opacity: 0, marginTop: -4 }, children: [(0, jsx_runtime_1.jsx)(ResolveLink_1.ResolveLink, { domain: domain, as: routingElement, to: "buy", children: (0, jsx_runtime_1.jsx)("span", { className: "fs-12 fw-500", children: t("buyCrypto") }) }), (0, jsx_runtime_1.jsx)(ResolveLink_1.ResolveLink, { domain: domain, as: routingElement, to: "swap", children: (0, jsx_runtime_1.jsx)("span", { className: "fs-12 fw-500", children: t("tokenSwap") }) }), (0, jsx_runtime_1.jsx)(ResolveLink_1.ResolveLink, { domain: domain, as: routingElement, to: "trade", children: (0, jsx_runtime_1.jsx)("span", { className: "fs-12 fw-500", children: t("spotTrading") }) }), (0, jsx_runtime_1.jsx)(ResolveLink_1.ResolveLink, { domain: domain, as: routingElement, to: "options", children: (0, jsx_runtime_1.jsx)("span", { className: "fs-12 fw-500", children: t("options") }) }), (0, jsx_runtime_1.jsx)(ResolveLink_1.ResolveLink, { domain: domain, as: routingElement, to: "/perps", children: (0, jsx_runtime_1.jsx)("span", { className: "fs-12 fw-500", children: t("perps") }) }), (0, jsx_runtime_1.jsx)(ResolveLink_1.ResolveLink, { domain: domain, as: routingElement, to: "strategies/staking/RUJI", children: (0, jsx_runtime_1.jsx)("span", { className: "fs-12 fw-500", children: t("stake") }) }), (0, jsx_runtime_1.jsx)(ResolveLink_1.ResolveLink, { domain: domain, as: routingElement, to: "lp", children: (0, jsx_runtime_1.jsx)("span", { className: "fs-12 fw-500", children: t("liquidityPools") }) }), (0, jsx_runtime_1.jsx)(ResolveLink_1.ResolveLink, { domain: domain, as: routingElement, to: "money-market", children: (0, jsx_runtime_1.jsx)("span", { className: "fs-12 fw-500", children: t("lendAndBorrow") }) }), (0, jsx_runtime_1.jsx)(ResolveLink_1.ResolveLink, { domain: domain, as: routingElement, to: "liquidate", children: (0, jsx_runtime_1.jsx)("span", { className: "fs-12 fw-500", children: t("liquidate") }) }), (0, jsx_runtime_1.jsx)(ResolveLink_1.ResolveLink, { domain: domain, as: routingElement, to: "ventures", children: (0, jsx_runtime_1.jsx)("span", { className: "fs-12 fw-500", children: t("ventures") }) }), (0, jsx_runtime_1.jsx)(ResolveLink_1.ResolveLink, { domain: domain, as: routingElement, to: "nfts", children: (0, jsx_runtime_1.jsx)("span", { className: "fs-12 fw-500", children: t("collections") }) })] })) })] }));
14
+ };
15
+ exports.QuickLauncher = QuickLauncher;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResolveLink = exports.UnwrappedAnyComponent = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const fixedForwardRef = react_1.forwardRef;
7
+ const UnwrappedAnyComponent = (props, ref) => {
8
+ const { as: Comp = "a", children, domain, ...rest } = props;
9
+ if (!domain ||
10
+ window.location.hostname === "rujira.network" ||
11
+ domain === "") {
12
+ return ((0, jsx_runtime_1.jsx)(Comp, { ...rest, ref: ref, children: children }));
13
+ }
14
+ return ((0, jsx_runtime_1.jsx)("a", { href: props.to || props.href, ...rest, children: children }));
15
+ };
16
+ exports.UnwrappedAnyComponent = UnwrappedAnyComponent;
17
+ exports.ResolveLink = fixedForwardRef(exports.UnwrappedAnyComponent);