@rash2x/bridge-widget 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -54,7 +54,7 @@ const card = require("@/components/ui/card");
54
54
  const badge = require("@/components/ui/badge");
55
55
  const common$1 = { "connecting": "Connecting…", "initializing": "Initializing...", "loading": "Loading...", "paste": "paste", "close": "Close", "zeroPlaceholder": "0", "nativeToken": "Native Token" };
56
56
  const wallets$1 = { "addTonWallet": "Add TON wallet", "addEvmWallet": "Add EVM wallet", "connectTonWallet": "Connect TON wallet", "connectEvmWallet": "Connect EVM wallet", "initializingMetamask": "Initializing MetaMask SDK...", "initializingTronlink": "Initializing TronLink...", "failedToConnectTon": "Failed to connect to TON wallet", "failedToDisconnect": "Failed to disconnect", "metamaskConnectionError": "MetaMask connection error", "failedToConnectMetamask": "Failed to connect to MetaMask", "failedToDisconnectMetamask": "Failed to disconnect from MetaMask", "selectWallet": "Select Wallet", "tonWallets": "TON", "evmWallets": "EVM", "tronWallets": "TRON", "tonconnect": "TonConnect", "metaMask": "WalletConnect", "tronLink": "TronLink", "addTronWallet": "Add Tron wallet", "comingSoon": "Coming Soon", "connected": "CONNECTED", "disconnect": "Disconnect", "chooseWallet": "Choose wallet", "oneWalletPerEnv": "You can only connect one wallet per environment.", "connect": "Connect", "connectTronWallet": "Connect Tron wallet", "connectWallet": "Connect wallet" };
57
- const bridge$1 = { "max": "Max", "sourceNetwork": "Source network", "destinationNetwork": "Destination network", "selectToken": "Select token", "selectNetwork": "Select network", "searchToken": "Search token", "searchDestinationChain": "Search destination chain", "myTokens": "My tokens", "allTokens": "All tokens", "willChangeSourceChain": "Will change source network", "willChangeSourceNetworkAndToken": "Will change source network and token", "noBalancesFound": "No balances found.", "noResults": "No results", "sendToAnotherAddress": "Send to another address", "youWillReceive": "You will receive", "anotherAddressPlaceholder": "Address", "addressDoesntMatch": "Address doesn't match the {{network}} network", "checkBeforeTransfer": "Check correctness before transfer" };
57
+ const bridge$1 = { "max": "Max", "sourceNetwork": "Source network", "destinationNetwork": "Destination network", "selectToken": "Select token", "selectNetwork": "Select network", "searchToken": "Search token", "searchDestinationChain": "Search destination chain", "myTokens": "My tokens", "allTokens": "All tokens", "willChangeSourceChain": "Will change source network", "willChangeSourceNetworkAndToken": "Will change source token", "noBalancesFound": "No balances found.", "noResults": "No results", "sendToAnotherAddress": "Send to another address", "youWillReceive": "You will receive", "anotherAddressPlaceholder": "Address", "addressDoesntMatch": "Address doesn't match the {{network}} network", "checkBeforeTransfer": "Check correctness before transfer" };
58
58
  const transaction$1 = { "enterAmount": "Enter amount", "transfer": "Transfer", "getQuote": "Get quote", "failed": "Transaction Failed", "confirm": "Confirm transaction", "signTransaction": "Sign in transaction in wallet", "quoting": "Quoting...", "inProgress": "Processing...", "checkingBalance": "Checking balance...", "insufficientBalance": "Insufficient balance", "amountTooSmall": "Min {{min}}", "amountTooLarge": "Max {{max}}", "success": "Success", "successTitle": "Success", "done": "Done", "hashCopied": "Hash copied to clipboard", "bridged": "Bridged", "transferTitle": "Transfer", "hash": "Hash", "finalFee": "Final Fee", "route": "Route", "estTime": "Est. Time", "slippage": "Slippage", "minimumReceived": "Minimum received", "totalFee": "Total Fee", "noRouteFound": "No route found", "notEnoughGas": "Not enough gas", "noRouteFoundForSettings": "No route found for current settings.", "tryAdjustSettings": "Try disabling Gas on Destination, or adjust amount/networks.", "quoteError": "Quote error" };
59
59
  const app$1 = { "stargateWidgetName": "Stargate Bridge Widget", "liveWidget": "Live Widget", "getStarted": "Get Started" };
60
60
  const settings$1 = { "title": "Settings", "gasOnDestination": "Gas on destination", "slippageTolerance": "Slippage tolerance", "routePriority": "Route Priority", "highSlippageWarning": "High slippage warning", "gasPresets": { "auto": "Auto", "none": "None", "medium": "Medium", "max": "Max" }, "routePresets": { "fastest": "Fastest", "cheapest": "Cheapest", "recommended": "Recommended" } };
@@ -70,7 +70,7 @@ const en = {
70
70
  };
71
71
  const common = { "connecting": "Подключение…", "initializing": "Инициализация...", "loading": "Загрузка...", "paste": "вставить", "close": "Закрыть", "zeroPlaceholder": "0", "nativeToken": "Нативный токен" };
72
72
  const wallets = { "addTonWallet": "Добавить TON кошелёк", "addEvmWallet": "Добавить EVM кошелёк", "connectTonWallet": "Подключить TON кошелёк", "connectEvmWallet": "Подключить EVM кошелёк", "initializingMetamask": "Инициализация MetaMask SDK...", "initializingTronlink": "Инициализация TronLink...", "failedToConnectTon": "Не удалось подключиться к TON кошельку", "failedToDisconnect": "Не удалось отключиться", "metamaskConnectionError": "Ошибка подключения MetaMask", "failedToConnectMetamask": "Не удалось подключиться к MetaMask", "failedToDisconnectMetamask": "Не удалось отключиться от MetaMask", "selectWallet": "Выберите кошелёк", "tonWallets": "TON", "evmWallets": "EVM", "tronWallets": "TRON", "tonconnect": "TonConnect", "metaMask": "WalletConnect", "tronLink": "TronLink", "addTronWallet": "Добавить Tron кошелёк", "comingSoon": "Скоро", "connected": "ПОДКЛЮЧЕНО", "disconnect": "Отключить", "chooseWallet": "Выберите кошелёк", "oneWalletPerEnv": "Можно подключить только один кошелёк на окружение.", "connect": "Подключить", "connectTronWallet": "Подключить Tron кошелёк", "connectWallet": "Подключить кошелёк" };
73
- const bridge = { "max": "Макс", "sourceNetwork": "Исходная сеть", "destinationNetwork": "Целевая сеть", "selectToken": "Выбрать токен", "selectNetwork": "Выбрать сеть", "searchToken": "Поиск токена", "searchDestinationChain": "Поиск целевой сети", "myTokens": "Мои токены", "allTokens": "Все токены", "willChangeSourceChain": "Сменит исходную сеть", "willChangeSourceNetworkAndToken": "Сменит исходную сеть и токен", "noBalancesFound": "Балансы не найдены.", "noResults": "Нет результатов", "sendToAnotherAddress": "Отправить на другой адрес", "youWillReceive": "Вы получите", "anotherAddressPlaceholder": "Адрес", "addressDoesntMatch": "Адрес не соответствует сети {{network}}", "checkBeforeTransfer": "Проверьте корректность перед переводом" };
73
+ const bridge = { "max": "Макс", "sourceNetwork": "Исходная сеть", "destinationNetwork": "Целевая сеть", "selectToken": "Выбрать токен", "selectNetwork": "Выбрать сеть", "searchToken": "Поиск токена", "searchDestinationChain": "Поиск целевой сети", "myTokens": "Мои токены", "allTokens": "Все токены", "willChangeSourceChain": "Сменит исходную сеть", "willChangeSourceNetworkAndToken": "Сменит исходный токен", "noBalancesFound": "Балансы не найдены.", "noResults": "Нет результатов", "sendToAnotherAddress": "Отправить на другой адрес", "youWillReceive": "Вы получите", "anotherAddressPlaceholder": "Адрес", "addressDoesntMatch": "Адрес не соответствует сети {{network}}", "checkBeforeTransfer": "Проверьте корректность перед переводом" };
74
74
  const transaction = { "enterAmount": "Введите сумму", "transfer": "Перевести", "getQuote": "Получить котировку", "quoting": "Расчет котировки...", "failed": "Ошибка транзакции", "confirm": "Подтвердите транзакцию", "signTransaction": "Подпишите транзакцию в кошельке", "inProgress": "Выполнение...", "checkingBalance": "Проверка баланса...", "insufficientBalance": "Недостаточно средств", "amountTooSmall": "Минимум {{min}}", "amountTooLarge": "Максимум {{max}}", "success": "Успех", "successTitle": "Успех", "done": "Готово", "hashCopied": "Хэш скопирован в буфер обмена", "bridged": "Переведено", "transferTitle": "Перевод", "hash": "Хэш", "finalFee": "Итоговая комиссия", "route": "Маршрут", "estTime": "Время", "slippage": "Проскальзывание", "minimumReceived": "Минимум к получению", "totalFee": "Общая комиссия", "noRouteFound": "Маршрут не найден", "notEnoughGas": "Недостаточно газа", "noRouteFoundForSettings": "Маршрут не найден для текущих настроек.", "tryAdjustSettings": "Попробуйте отключить Gas on Destination или измените сумму/сети.", "quoteError": "Ошибка котировки" };
75
75
  const app = { "stargateWidgetName": "Виджет Stargate Bridge", "liveWidget": "Живой виджет", "getStarted": "Начало работы" };
76
76
  const settings = { "title": "Настройки", "gasOnDestination": "Газ на назначении", "slippageTolerance": "Толерантность к проскальзыванию", "routePriority": "Приоритет маршрута", "highSlippageWarning": "Высокое проскальзывание", "gasPresets": { "auto": "Авто", "none": "Нет", "medium": "Средний", "max": "Макс" }, "routePresets": { "fastest": "Быстрейший", "cheapest": "Дешевейший", "recommended": "Рекомендуемый" } };
@@ -2285,7 +2285,7 @@ const SwapButton = () => {
2285
2285
  variant: "secondary",
2286
2286
  size: "sm",
2287
2287
  className: utils.cn(
2288
- "bg-card text-card-foreground hover:text-card-foreground backdrop-blur-md h-9",
2288
+ "backdrop-blur-md h-9 w-9",
2289
2289
  "absolute top-1/2 -translate-y-1/2 left-1/2 -translate-x-1/2",
2290
2290
  !canSwap || isSwapping ? "opacity-50 cursor-not-allowed" : "hover:scale-110"
2291
2291
  ),
@@ -2322,7 +2322,7 @@ const WalletBalance = (props) => {
2322
2322
  variant: "ghost",
2323
2323
  size: "sm",
2324
2324
  onClick: onMaxClick,
2325
- className: "h-auto p-0 px-0 text-xs font-medium border-b border-foreground rounded-none",
2325
+ className: "h-auto p-0 px-0 text-xs text-link font-medium underline hover:opacity-70 cursor-pointer rounded-none",
2326
2326
  children: t("bridge.max")
2327
2327
  }
2328
2328
  )
@@ -2410,7 +2410,7 @@ const TokenInput = react.forwardRef(
2410
2410
  [max, onAmountChange]
2411
2411
  );
2412
2412
  if (showSkeleton && readOnly) {
2413
- return /* @__PURE__ */ jsxRuntime.jsx(skeleton.Skeleton, { className: utils.cn("h-8 my-2 w-1/3 rounded-md", className) });
2413
+ return /* @__PURE__ */ jsxRuntime.jsx(skeleton.Skeleton, { className: utils.cn("h-8 my-2 w-1/3 bg-secondary rounded-md", className) });
2414
2414
  }
2415
2415
  return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx(
2416
2416
  input.Input,
@@ -2475,7 +2475,6 @@ const ChainSelectModal = ({
2475
2475
  const [query, setQuery] = react.useState("");
2476
2476
  const { setFromChain, chains, fromChain, toChain } = useChainsStore();
2477
2477
  const { assetMatrix, selectedAssetSymbol, setSelectedAssetSymbol } = useTokensStore();
2478
- console.log("allowedItems", allowedItems);
2479
2478
  const handleClose = react.useCallback(() => {
2480
2479
  setQuery("");
2481
2480
  onClose();
@@ -2539,7 +2538,11 @@ const ChainSelectModal = ({
2539
2538
  const filtered = q ? (items ?? []).filter(
2540
2539
  (c) => c.name.toLowerCase().includes(q) || c.chainKey.toLowerCase().includes(q)
2541
2540
  ) : items ?? [];
2542
- const groups = { available: [], willChangeSrc: [], willChangeTokenAndSrc: [] };
2541
+ const groups = {
2542
+ available: [],
2543
+ willChangeSrc: [],
2544
+ willChangeTokenAndSrc: []
2545
+ };
2543
2546
  for (const chain of filtered) {
2544
2547
  const isAllowed = allowedItems?.some((c) => c.chainKey === chain.chainKey) || false;
2545
2548
  if (isAllowed) {
@@ -2560,7 +2563,13 @@ const ChainSelectModal = ({
2560
2563
  groups.willChangeSrc.sort((a, b) => a.name.localeCompare(b.name));
2561
2564
  groups.willChangeTokenAndSrc.sort((a, b) => a.name.localeCompare(b.name));
2562
2565
  return groups;
2563
- }, [items, query, allowedItems, findCompatibleSrcChain, findCompatibleTokenAndSrcChain]);
2566
+ }, [
2567
+ items,
2568
+ query,
2569
+ allowedItems,
2570
+ findCompatibleSrcChain,
2571
+ findCompatibleTokenAndSrcChain
2572
+ ]);
2564
2573
  const onChainPick = (chain, willChangeSrc = false, willChangeTokenAndSrc = false) => {
2565
2574
  if (willChangeTokenAndSrc) {
2566
2575
  const result = findCompatibleTokenAndSrcChain(chain);
@@ -2581,7 +2590,11 @@ const ChainSelectModal = ({
2581
2590
  button.Button,
2582
2591
  {
2583
2592
  onClick: () => onChainPick(chain, willChangeSrc, willChangeTokenAndSrc),
2584
- className: `w-full cursor-pointer flex shadow-none rounded-xs items-center justify-between gap-3 px-5 py-4 h-13 font-semibold capitalize bg-transparent hover:scale-100 hover:bg-accent ${isSelected ? "border border-ring" : ""}`,
2593
+ className: utils.cn(
2594
+ "w-full cursor-pointer flex shadow-none rounded-xs items-center justify-between gap-3 px-5 py-4 h-13 font-semibold capitalize bg-transparent hover:scale-100 hover:bg-accent",
2595
+ isSelected ? "bg-accent" : "",
2596
+ willChangeSrc || willChangeTokenAndSrc ? "opacity-50 hover:opacity-100" : ""
2597
+ ),
2585
2598
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
2586
2599
  /* @__PURE__ */ jsxRuntime.jsx(
2587
2600
  NetworkSymbol,
@@ -2597,8 +2610,8 @@ const ChainSelectModal = ({
2597
2610
  chain.chainKey
2598
2611
  );
2599
2612
  };
2600
- return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog, { open: isOpen, onOpenChange: (open) => !open && handleClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(dialog.DialogContent, { className: "md:max-h-[90dvh] md:h-[90dvh] overflow-hidden flex flex-col", children: [
2601
- /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogHeader, { className: "text-left", children: /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogTitle, { children: t("bridge.selectNetwork") }) }),
2613
+ return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog, { open: isOpen, onOpenChange: (open) => !open && handleClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(dialog.DialogContent, { className: "md:max-h-[90dvh] md:h-[90dvh] overflow-hidden flex flex-col p-10", children: [
2614
+ /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogHeader, { className: "text-left", children: /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogTitle, { className: "text-2xl leading-8", children: t("bridge.selectNetwork") }) }),
2602
2615
  /* @__PURE__ */ jsxRuntime.jsx(
2603
2616
  SearchInput,
2604
2617
  {
@@ -2611,13 +2624,25 @@ const ChainSelectModal = ({
2611
2624
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1 overflow-y-auto", children: [
2612
2625
  groupedChains.available.length > 0 && groupedChains.available.map((c) => renderChainItem(c, false)),
2613
2626
  groupedChains.willChangeSrc.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2614
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: `px-5 py-2 leading-4 text-base font-semibold text-muted-foreground uppercase ${groupedChains.available.length > 0 ? "mt-10" : ""}`, children: t("bridge.willChangeSourceChain") }),
2627
+ /* @__PURE__ */ jsxRuntime.jsx(
2628
+ "p",
2629
+ {
2630
+ className: `px-5 py-2 leading-4 text-base font-semibold text-muted-foreground uppercase ${groupedChains.available.length > 0 ? "mt-10" : ""}`,
2631
+ children: t("bridge.willChangeSourceChain")
2632
+ }
2633
+ ),
2615
2634
  groupedChains.willChangeSrc.map(
2616
2635
  (c) => renderChainItem(c, true, false)
2617
2636
  )
2618
2637
  ] }),
2619
2638
  groupedChains.willChangeTokenAndSrc.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
2620
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: `px-5 py-2 leading-4 text-base font-semibold text-muted-foreground uppercase ${groupedChains.available.length > 0 || groupedChains.willChangeSrc.length > 0 ? "mt-10" : ""}`, children: t("bridge.willChangeSourceNetworkAndToken") }),
2639
+ /* @__PURE__ */ jsxRuntime.jsx(
2640
+ "p",
2641
+ {
2642
+ className: `px-5 py-2 leading-4 text-base font-semibold text-muted-foreground uppercase ${groupedChains.available.length > 0 || groupedChains.willChangeSrc.length > 0 ? "mt-10" : ""}`,
2643
+ children: t("bridge.willChangeSourceNetworkAndToken")
2644
+ }
2645
+ ),
2621
2646
  groupedChains.willChangeTokenAndSrc.map(
2622
2647
  (c) => renderChainItem(c, false, true)
2623
2648
  )
@@ -3965,9 +3990,9 @@ const WalletSelectModal = () => {
3965
3990
  wallets: tronWallets.filter(notConnected)
3966
3991
  }
3967
3992
  ].filter((category) => category.wallets.length > 0);
3968
- return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog, { open: isOpen, onOpenChange: (open) => !open && onClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(dialog.DialogContent, { children: [
3993
+ return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog, { open: isOpen, onOpenChange: (open) => !open && onClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(dialog.DialogContent, { className: "p-10", children: [
3969
3994
  /* @__PURE__ */ jsxRuntime.jsxs(dialog.DialogHeader, { className: "text-left", children: [
3970
- /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogTitle, { children: t("wallets.chooseWallet") }),
3995
+ /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogTitle, { className: "text-2xl leading-8", children: t("wallets.chooseWallet") }),
3971
3996
  /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogDescription, { children: t("wallets.oneWalletPerEnv") })
3972
3997
  ] }),
3973
3998
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4", children: [
@@ -6044,8 +6069,8 @@ const SettingsModal = ({ isOpen, onClose }) => {
6044
6069
  );
6045
6070
  const activeBtn = "bg-primary hover:bg-primary/80 text-primary-foreground transition-colors";
6046
6071
  const notActiveBtn = "bg-accent hover:bg-accent/80 text-accent-foreground transition-colors";
6047
- return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog, { open: isOpen, onOpenChange: (open) => !open && onClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(dialog.DialogContent, { onOpenAutoFocus: (e) => e.preventDefault(), children: [
6048
- /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogHeader, { className: "text-left", children: /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogTitle, { children: t("settings.title") }) }),
6072
+ return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog, { open: isOpen, onOpenChange: (open) => !open && onClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(dialog.DialogContent, { onOpenAutoFocus: (e) => e.preventDefault(), className: "p-10", children: [
6073
+ /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogHeader, { className: "text-left", children: /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogTitle, { className: "text-2xl leading-8", children: t("settings.title") }) }),
6049
6074
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-5", children: [
6050
6075
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-5", children: [
6051
6076
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between items-center", children: [
@@ -6073,9 +6098,8 @@ const SettingsModal = ({ isOpen, onClose }) => {
6073
6098
  badge.Badge,
6074
6099
  {
6075
6100
  onClick: () => setGasPreset(g),
6076
- size: "lg",
6077
6101
  className: utils.cn(
6078
- "cursor-pointer",
6102
+ "cursor-pointer h-7 rounded px-2",
6079
6103
  gasPreset === g ? activeBtn : notActiveBtn
6080
6104
  ),
6081
6105
  children: t(`settings.gasPresets.${g}`)
@@ -6100,13 +6124,12 @@ const SettingsModal = ({ isOpen, onClose }) => {
6100
6124
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center gap-2", children: slippagePresets.map((p) => /* @__PURE__ */ jsxRuntime.jsx(
6101
6125
  badge.Badge,
6102
6126
  {
6103
- size: "lg",
6104
6127
  onClick: () => {
6105
6128
  const bps = parseFloat(p.replace("%", "")) * 100;
6106
6129
  setSlippageBps(bps);
6107
6130
  },
6108
6131
  className: utils.cn(
6109
- "cursor-pointer",
6132
+ "cursor-pointer h-7 rounded px-2",
6110
6133
  activeSlippagePreset === p ? activeBtn : notActiveBtn
6111
6134
  ),
6112
6135
  children: p
@@ -6124,10 +6147,9 @@ const SettingsModal = ({ isOpen, onClose }) => {
6124
6147
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex items-center justify-end gap-2", children: routePresets.map((r) => /* @__PURE__ */ jsxRuntime.jsx(
6125
6148
  badge.Badge,
6126
6149
  {
6127
- size: "lg",
6128
6150
  onClick: () => setRoutePriority(r),
6129
6151
  className: utils.cn(
6130
- "cursor-pointer",
6152
+ "cursor-pointer h-7 rounded px-2",
6131
6153
  routePriority === r ? activeBtn : notActiveBtn
6132
6154
  ),
6133
6155
  children: t(`settings.routePresets.${r}`)
@@ -6152,7 +6174,7 @@ const TokenRow = ({
6152
6174
  button.Button,
6153
6175
  {
6154
6176
  onClick: onPick,
6155
- className: `w-full rounded-xs bg-transparent flex items-center justify-between gap-3 px-3 hover:bg-accent hover:scale-100 ${isSelected ? "bg-accent hover:bg-accent/50" : ""}`,
6177
+ className: `w-full px-5 rounded-xs bg-transparent flex items-center justify-between gap-3 hover:bg-accent hover:scale-100 ${isSelected ? "bg-accent hover:bg-accent/50" : ""}`,
6156
6178
  children: [
6157
6179
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
6158
6180
  /* @__PURE__ */ jsxRuntime.jsx(
@@ -6164,15 +6186,15 @@ const TokenRow = ({
6164
6186
  }
6165
6187
  ),
6166
6188
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-start gap-1", children: [
6167
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold text-foreground text-lg leading-4 truncate flex items-center gap-1", children: symbol }),
6168
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs leading-3 font-semibold text-muted-foreground truncate", children: name })
6189
+ /* @__PURE__ */ jsxRuntime.jsx("p", { className: "font-semibold text-foreground text-sm leading-4 truncate flex items-center gap-1", children: symbol }),
6190
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs leading-3 text-muted-foreground truncate", children: name })
6169
6191
  ] })
6170
6192
  ] }),
6171
6193
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-right space-y-1", children: isBalanceLoading && hasAnyWallet ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-end gap-1", children: [
6172
6194
  /* @__PURE__ */ jsxRuntime.jsx(skeleton.Skeleton, { className: "h-5 w-16 rounded-md" }),
6173
6195
  /* @__PURE__ */ jsxRuntime.jsx(skeleton.Skeleton, { className: "h-3 w-12 rounded-md" })
6174
6196
  ] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6175
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-semibold text-foreground text-lg leading-4 truncate", children: hasAnyWallet ? formatBalance(balance) : "—" }),
6197
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-semibold text-foreground text-sm leading-4 truncate", children: hasAnyWallet ? formatBalance(balance) : "—" }),
6176
6198
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs leading-3 text-muted-foreground/50", children: hasAnyWallet && balance > 0 && usdValue > 0 ? formatUsd(usdValue) : "—" })
6177
6199
  ] }) })
6178
6200
  ]
@@ -6316,8 +6338,8 @@ const TokenSelectModal = ({
6316
6338
  [groupedTokens.willChangeSrcChain]
6317
6339
  );
6318
6340
  const hasNoResults = tokensToRender.length === 0 && willChangeSrcTokens.length === 0;
6319
- return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog, { open: isOpen, onOpenChange: (open) => !open && handleClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(dialog.DialogContent, { className: "md:max-h-[90dvh] md:h-[90dvh] overflow-hidden flex flex-col", children: [
6320
- /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogHeader, { className: "text-left", children: /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogTitle, { children: t("bridge.selectToken") }) }),
6341
+ return /* @__PURE__ */ jsxRuntime.jsx(dialog.Dialog, { open: isOpen, onOpenChange: (open) => !open && handleClose(), children: /* @__PURE__ */ jsxRuntime.jsxs(dialog.DialogContent, { className: "md:max-h-[90dvh] md:h-[90dvh] overflow-hidden flex flex-col p-10", children: [
6342
+ /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogHeader, { className: "text-left", children: /* @__PURE__ */ jsxRuntime.jsx(dialog.DialogTitle, { className: "text-2xl leading-8", children: t("bridge.selectToken") }) }),
6321
6343
  /* @__PURE__ */ jsxRuntime.jsx(
6322
6344
  SearchInput,
6323
6345
  {
@@ -6333,7 +6355,7 @@ const TokenSelectModal = ({
6333
6355
  variant: tab === "my" ? "default" : "ghost",
6334
6356
  onClick: () => setTab("my"),
6335
6357
  size: "sm",
6336
- className: utils.cn(tab !== "my" && "bg-muted hover:bg-accent"),
6358
+ className: utils.cn("px-4", tab !== "my" && "bg-muted hover:bg-accent"),
6337
6359
  children: t("bridge.myTokens")
6338
6360
  }
6339
6361
  ),
@@ -6343,13 +6365,16 @@ const TokenSelectModal = ({
6343
6365
  variant: tab === "all" ? "default" : "ghost",
6344
6366
  onClick: () => setTab("all"),
6345
6367
  size: "sm",
6346
- className: utils.cn(tab !== "all" && "bg-muted hover:bg-accent"),
6368
+ className: utils.cn(
6369
+ "px-4",
6370
+ tab !== "all" && "bg-muted hover:bg-accent"
6371
+ ),
6347
6372
  children: t("bridge.allTokens")
6348
6373
  }
6349
6374
  )
6350
6375
  ] }),
6351
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 overflow-auto px-1", children: hasNoResults ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground px-5 py-4", children: t("bridge.noResults") }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6352
- effectiveTab === "my" && myTokens.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "leading-4 text-base font-semibold text-muted-foreground uppercase py-2", children: t("bridge.noBalancesFound") }),
6376
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 overflow-y-auto -mx-5", children: hasNoResults ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm text-muted-foreground px-5 py-4", children: t("bridge.noResults") }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6377
+ effectiveTab === "my" && myTokens.length === 0 && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "leading-4 px-5 text-base text-muted-foreground uppercase py-2", children: t("bridge.noBalancesFound") }),
6353
6378
  tokensToRender.map(({ token, willChangeSrc }) => {
6354
6379
  const bal = getBalance(token.symbol);
6355
6380
  const usd = getTokenUsdValue(token.symbol, token.price?.usd);
@@ -6370,7 +6395,7 @@ const TokenSelectModal = ({
6370
6395
  );
6371
6396
  }),
6372
6397
  effectiveTab === "all" && willChangeSrcTokens.length > 0 && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
6373
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-5 flex leading-4 text-base py-2 font-semibold text-muted-foreground uppercase mt-8", children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: t("bridge.willChangeSourceChain") }) }),
6398
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "px-5 flex leading-4 text-base py-2 text-muted-foreground uppercase mt-8", children: /* @__PURE__ */ jsxRuntime.jsx("p", { children: t("bridge.willChangeSourceChain") }) }),
6374
6399
  willChangeSrcTokens.map(({ token, willChangeSrc }) => {
6375
6400
  const bal = getBalance(token.symbol);
6376
6401
  const usd = getTokenUsdValue(