@aurora-is-near/intents-swap-widget 3.14.0-redesign.2 → 3.14.0-redesign.7

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 (145) hide show
  1. package/dist/components/BlockingError.js +15 -9
  2. package/dist/components/BlockingError.js.map +1 -1
  3. package/dist/components/CloseButton.js +1 -1
  4. package/dist/components/CloseButton.js.map +1 -1
  5. package/dist/{config-Bmc4hOIl.js → config-Behl5hcc.js} +1179 -952
  6. package/dist/config-Behl5hcc.js.map +1 -0
  7. package/dist/config.d.ts +1 -0
  8. package/dist/config.js +4 -6
  9. package/dist/config.js.map +1 -1
  10. package/dist/errors.js +1 -1
  11. package/dist/ext/alchemy/index.js +1 -1
  12. package/dist/ext/index.js +1 -1
  13. package/dist/features/BalanceRpcLoader/TokenBalanceLoader.js +1 -1
  14. package/dist/features/BalanceRpcLoader/index.js +1 -1
  15. package/dist/features/BalanceRpcLoader/useTokenBalanceRpc.js +1 -1
  16. package/dist/features/ChainsDropdown/index.js +1 -1
  17. package/dist/features/DepositMethodSwitcher.js +26 -29
  18. package/dist/features/DepositMethodSwitcher.js.map +1 -1
  19. package/dist/features/ErrorBoundary.js +1 -1
  20. package/dist/features/ExternalDeposit.js +27 -28
  21. package/dist/features/ExternalDeposit.js.map +1 -1
  22. package/dist/features/SendAddress/index.js +1 -1
  23. package/dist/features/SendAddress/useNotification.js +1 -1
  24. package/dist/features/SubmitButton/index.js +1 -1
  25. package/dist/features/SuccessScreen/SummaryItem.js +2 -2
  26. package/dist/features/SuccessScreen/SummaryItem.js.map +1 -1
  27. package/dist/features/SuccessScreen/index.js +20 -20
  28. package/dist/features/SuccessScreen/index.js.map +1 -1
  29. package/dist/features/SwapDirectionSwitcher.js +1 -1
  30. package/dist/features/SwapQuote/SwapQuote.js +1 -1
  31. package/dist/features/SwapQuote/index.js +1 -1
  32. package/dist/features/TokenInput/TokenInput.js +1 -1
  33. package/dist/features/TokenInput/TokenInputEmpty.js +1 -1
  34. package/dist/features/TokenInput/TokenInputSource.js +1 -1
  35. package/dist/features/TokenInput/TokenInputTarget.js +1 -1
  36. package/dist/features/TokenInput/WalletBalance.js +1 -1
  37. package/dist/features/TokenInput/hooks/index.js +1 -1
  38. package/dist/features/TokenInput/hooks/useTokenInputBalance.js +1 -1
  39. package/dist/features/TokenInput/index.js +1 -1
  40. package/dist/features/TokensList/TokenItem.js +1 -1
  41. package/dist/features/TokensList/TokensList.js +1 -1
  42. package/dist/features/TokensList/index.js +1 -1
  43. package/dist/features/TokensModal.js +1 -1
  44. package/dist/features/WalletCompatibilityCheck/WalletCompatibilityModal.js +13 -191
  45. package/dist/features/WalletCompatibilityCheck/WalletCompatibilityModal.js.map +1 -1
  46. package/dist/features/WalletCompatibilityCheck/index.js +21 -26
  47. package/dist/features/WalletCompatibilityCheck/index.js.map +1 -1
  48. package/dist/features/index.js +1 -1
  49. package/dist/hooks/index.js +1 -1
  50. package/dist/hooks/useAllTokens.js +1 -1
  51. package/dist/hooks/useChains.js +1 -1
  52. package/dist/hooks/useCompatibilityCheck.js +1 -1
  53. package/dist/hooks/useDefaultToken.js +1 -1
  54. package/dist/hooks/useExternalDepositStatus/index.js +1 -1
  55. package/dist/hooks/useExternalDepositStatus/usePoaExternalDepositStatus.js +1 -1
  56. package/dist/hooks/useIntentsBalance.js +1 -1
  57. package/dist/hooks/useIsCompatibilityCheckRequired.d.ts +1 -1
  58. package/dist/hooks/useIsCompatibilityCheckRequired.js +2 -2
  59. package/dist/hooks/useIsCompatibilityCheckRequired.js.map +1 -1
  60. package/dist/hooks/useMakeDepositAddress.js +1 -1
  61. package/dist/hooks/useMakeIntentsTransfer.js +1 -1
  62. package/dist/hooks/useMakeNEARFtTransferCall.js +1 -1
  63. package/dist/hooks/useMakeQuote.js +1 -1
  64. package/dist/hooks/useMakeQuoteTransfer.js +1 -1
  65. package/dist/hooks/useMakeTransfer.js +1 -1
  66. package/dist/hooks/useMergedBalance.js +1 -1
  67. package/dist/hooks/useSwitchChain.js +1 -1
  68. package/dist/hooks/useTheme.js +1 -1
  69. package/dist/hooks/useToggleTheme.js +20 -17
  70. package/dist/hooks/useToggleTheme.js.map +1 -1
  71. package/dist/hooks/useTokenInputPair.js +1 -1
  72. package/dist/hooks/useTokens.js +1 -1
  73. package/dist/hooks/useTokensFiltered.js +1 -1
  74. package/dist/hooks/useTokensIntentsUnique.js +1 -1
  75. package/dist/index.js +1 -1
  76. package/dist/machine/computed/getIsDirectNearTokenWithdrawal.js +1 -1
  77. package/dist/machine/computed/getIsDirectNearTokenWithdrawal.js.map +1 -1
  78. package/dist/machine/computed/getIsDirectTokenOnNearDeposit.js +1 -1
  79. package/dist/machine/computed/getIsDirectTokenOnNearDeposit.js.map +1 -1
  80. package/dist/machine/computed/getIsDirectTokenOnNearTransfer.js +1 -1
  81. package/dist/machine/computed/getIsDirectTokenOnNearTransfer.js.map +1 -1
  82. package/dist/machine/effects/index.js +1 -1
  83. package/dist/machine/effects/useAlchemyBalanceEffect.js +1 -1
  84. package/dist/machine/effects/useBalancesUpdateEffect.js +1 -1
  85. package/dist/machine/effects/useMakeQuoteEffect.js +1 -1
  86. package/dist/machine/effects/useSelectedTokensEffect.js +1 -1
  87. package/dist/machine/effects/useSetTokenBalanceEffect.js +1 -1
  88. package/dist/machine/effects/useSetTokenIntentsTargetEffect.js +1 -1
  89. package/dist/machine/effects/useWalletConnEffect.js +1 -1
  90. package/dist/machine/events/index.js +1 -1
  91. package/dist/machine/events/tokenSelect.js +1 -1
  92. package/dist/machine/events/validateInputAndMoveTo.js +1 -1
  93. package/dist/machine/events/validateInputs.js +1 -1
  94. package/dist/machine/index.js +1 -1
  95. package/dist/machine/snap.js +1 -1
  96. package/dist/machine/subscriptions/checkers/isSendAddressAsConnected.js +1 -1
  97. package/dist/machine/subscriptions/index.js +1 -1
  98. package/dist/styles.css +1 -1
  99. package/dist/theme/ThemeProvider.js +7 -24
  100. package/dist/theme/ThemeProvider.js.map +1 -1
  101. package/dist/types/config.d.ts +1 -0
  102. package/dist/types/localisation.d.ts +1 -1
  103. package/dist/utils/intents/signers/near.js +1 -1
  104. package/dist/utils/intents/signers/privy.js +1 -1
  105. package/dist/utils/localstorage.js +41 -28
  106. package/dist/utils/localstorage.js.map +1 -1
  107. package/dist/utils/near/getNearNep141StorageBalance.js +1 -1
  108. package/dist/widgets/WidgetDeposit/WidgetDepositContent.js +11 -12
  109. package/dist/widgets/WidgetDeposit/WidgetDepositContent.js.map +1 -1
  110. package/dist/widgets/WidgetDeposit/WidgetDepositSkeleton.js +1 -1
  111. package/dist/widgets/WidgetSwap/WidgetSwapContent.js +27 -26
  112. package/dist/widgets/WidgetSwap/WidgetSwapContent.js.map +1 -1
  113. package/dist/widgets/WidgetSwap/WidgetSwapSkeleton.js +1 -1
  114. package/dist/widgets/WidgetWithdraw/WidgetWithdrawContent.js +5 -6
  115. package/dist/widgets/WidgetWithdraw/WidgetWithdrawContent.js.map +1 -1
  116. package/dist/widgets/WidgetWithdraw/WidgetWithdrawSkeleton.js +1 -1
  117. package/package.json +3 -2
  118. package/src/components/BlockingError.tsx +7 -4
  119. package/src/components/CloseButton.tsx +1 -1
  120. package/src/features/DepositMethodSwitcher.tsx +5 -17
  121. package/src/features/ExternalDeposit.tsx +8 -7
  122. package/src/features/SubmitButton/index.tsx +40 -0
  123. package/src/features/SuccessScreen/SummaryItem.tsx +2 -2
  124. package/src/features/SuccessScreen/index.tsx +5 -3
  125. package/src/features/SwapQuote/SwapQuote.tsx +1 -1
  126. package/src/features/WalletCompatibilityCheck/WalletCompatibilityModal.tsx +3 -0
  127. package/src/features/WalletCompatibilityCheck/index.tsx +4 -8
  128. package/src/hooks/useExternalDepositStatus/usePoaExternalDepositStatus.ts +2 -1
  129. package/src/hooks/useIsCompatibilityCheckRequired.ts +1 -1
  130. package/src/hooks/useToggleTheme.ts +11 -4
  131. package/src/machine/computed/getIsDirectNearTokenWithdrawal.ts +2 -1
  132. package/src/machine/computed/getIsDirectTokenOnNearDeposit.ts +2 -1
  133. package/src/machine/computed/getIsDirectTokenOnNearTransfer.ts +2 -1
  134. package/src/theme/ThemeProvider.tsx +33 -14
  135. package/src/types/config.ts +1 -0
  136. package/src/types/localisation.ts +4 -0
  137. package/src/utils/localstorage.ts +35 -10
  138. package/src/widgets/WidgetDeposit/WidgetDepositContent.tsx +3 -3
  139. package/src/widgets/WidgetSwap/WidgetSwapContent.tsx +5 -3
  140. package/src/widgets/WidgetWithdraw/WidgetWithdrawContent.tsx +3 -3
  141. package/dist/config-Bmc4hOIl.js.map +0 -1
  142. package/dist/features/SuccessScreen/CloseButton.d.ts +0 -5
  143. package/dist/features/SuccessScreen/CloseButton.js +0 -15
  144. package/dist/features/SuccessScreen/CloseButton.js.map +0 -1
  145. package/src/features/SuccessScreen/CloseButton.tsx +0 -14
@@ -1,47 +1,60 @@
1
- import { p as a } from "../index-xuotMAFm.js";
2
- import { logger as r } from "../logger.js";
3
- const n = {
1
+ import { p as l } from "../index-xuotMAFm.js";
2
+ import { logger as n } from "../logger.js";
3
+ const a = {
4
4
  verifiedWallets: [],
5
5
  verifiedNearAccounts: [],
6
6
  nearWalletsPk: {}
7
- }, i = typeof window < "u" && !!window.localStorage, s = (e) => {
8
- if (!i)
9
- return a.env.NODE_ENV === "development" && r.debug(
10
- `[WIDGET] Attempted to read ${e} on server; returning default`
11
- ), n[e];
7
+ }, s = typeof window < "u" && !!window.localStorage, i = "sw", o = (e) => `${i}.${e}`, c = (e) => {
8
+ if (!s)
9
+ return l.env.NODE_ENV === "development" && n.debug(
10
+ `[WIDGET] Attempted to read ${o(e)} from localstorage on server; returning default`
11
+ ), a[e];
12
12
  try {
13
- return (
14
- // @ts-expect-error It's ok to pass null to JSON.parse
15
- JSON.parse(window.localStorage.getItem(e)) ?? n[e]
16
- );
13
+ const t = window.localStorage.getItem(e);
14
+ let r = window.localStorage.getItem(o(e));
15
+ return t && !r && (r = t, window.localStorage.setItem(o(e), t), window.localStorage.removeItem(e)), // @ts-expect-error It's ok to pass null to JSON.parse
16
+ JSON.parse(r) ?? a[e];
17
17
  } catch (t) {
18
- return r.warn(`[WIDGET] Failed to parse ${e} from localStorage:`, t), n[e];
18
+ return n.warn(
19
+ `[WIDGET] Failed to parse ${o(e)} from localStorage:`,
20
+ t
21
+ ), a[e];
19
22
  }
20
- }, l = (e, t) => {
21
- if (!i) {
22
- a.env.NODE_ENV === "development" && r.debug(`[WIDGET] Attempted to set ${e} on server; skipping`);
23
+ }, d = (e, t) => {
24
+ if (!s) {
25
+ l.env.NODE_ENV === "development" && n.debug(
26
+ `[WIDGET] Attempted to set ${o(e)} on server; skipping`
27
+ );
23
28
  return;
24
29
  }
25
30
  try {
26
- const o = typeof t == "string" || typeof t == "number" || typeof t == "boolean" ? String(t) : JSON.stringify(t);
27
- window.localStorage.setItem(e, o);
28
- } catch (o) {
29
- r.warn(`[WIDGET] Failed to set ${e} in localStorage:`, o);
31
+ const r = typeof t == "string" || typeof t == "number" || typeof t == "boolean" ? String(t) : JSON.stringify(t);
32
+ window.localStorage.setItem(o(e), r);
33
+ } catch (r) {
34
+ n.warn(
35
+ `[WIDGET] Failed to set ${o(e)} in localStorage:`,
36
+ r
37
+ );
30
38
  }
31
- }, d = (e) => {
32
- if (!i) {
33
- a.env.NODE_ENV === "development" && r.debug(`[WIDGET] Attempted to remove ${e} on server; skipping`);
39
+ }, g = (e) => {
40
+ if (!s) {
41
+ l.env.NODE_ENV === "development" && n.debug(
42
+ `[WIDGET] Attempted to remove ${o(e)} from localstorage on server; skipping`
43
+ );
34
44
  return;
35
45
  }
36
46
  try {
37
- window.localStorage.removeItem(e);
47
+ window.localStorage.removeItem(o(e));
38
48
  } catch (t) {
39
- r.warn(`[WIDGET] Failed to remove ${e} from localStorage:`, t);
49
+ n.warn(
50
+ `[WIDGET] Failed to remove ${o(e)} from localStorage:`,
51
+ t
52
+ );
40
53
  }
41
54
  }, p = {
42
- getItem: s,
43
- setItem: l,
44
- removeItem: d
55
+ getItem: c,
56
+ setItem: d,
57
+ removeItem: g
45
58
  };
46
59
  export {
47
60
  p as localStorageTyped
@@ -1 +1 @@
1
- {"version":3,"file":"localstorage.js","sources":["../../src/utils/localstorage.ts"],"sourcesContent":["import { logger } from '@/logger';\n\ntype LocalStorage = {\n verifiedWallets: string[];\n verifiedNearAccounts: string[];\n nearWalletsPk: Record<string, string>;\n};\n\nconst defaultValues: LocalStorage = {\n verifiedWallets: [],\n verifiedNearAccounts: [],\n nearWalletsPk: {},\n};\n\nconst isBrowser = typeof window !== 'undefined' && !!window.localStorage;\n\nconst getItem = <T extends keyof LocalStorage>(key: T): LocalStorage[T] => {\n if (!isBrowser) {\n if (process.env.NODE_ENV === 'development') {\n logger.debug(\n `[WIDGET] Attempted to read ${key} on server; returning default`,\n );\n }\n\n return defaultValues[key];\n }\n\n try {\n return (\n // @ts-expect-error It's ok to pass null to JSON.parse\n (JSON.parse(window.localStorage.getItem(key)) as LocalStorage[T]) ??\n defaultValues[key]\n );\n } catch (error) {\n logger.warn(`[WIDGET] Failed to parse ${key} from localStorage:`, error);\n\n return defaultValues[key];\n }\n};\n\nconst setItem = <T extends keyof LocalStorage>(\n key: T,\n value: LocalStorage[T],\n) => {\n if (!isBrowser) {\n if (process.env.NODE_ENV === 'development') {\n logger.debug(`[WIDGET] Attempted to set ${key} on server; skipping`);\n }\n\n return;\n }\n\n try {\n const serialized =\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n ? String(value)\n : JSON.stringify(value);\n\n window.localStorage.setItem(key, serialized);\n } catch (error) {\n logger.warn(`[WIDGET] Failed to set ${key} in localStorage:`, error);\n }\n};\n\nconst removeItem = (key: keyof LocalStorage) => {\n if (!isBrowser) {\n if (process.env.NODE_ENV === 'development') {\n logger.debug(`[WIDGET] Attempted to remove ${key} on server; skipping`);\n }\n\n return;\n }\n\n try {\n window.localStorage.removeItem(key);\n } catch (error) {\n logger.warn(`[WIDGET] Failed to remove ${key} from localStorage:`, error);\n }\n};\n\nexport const localStorageTyped = {\n getItem,\n setItem,\n removeItem,\n};\n"],"names":["defaultValues","isBrowser","getItem","key","process","logger","error","setItem","value","serialized","removeItem","localStorageTyped"],"mappings":";;AAQA,MAAMA,IAA8B;AAAA,EAClC,iBAAiB,CAAA;AAAA,EACjB,sBAAsB,CAAA;AAAA,EACtB,eAAe,CAAA;AACjB,GAEMC,IAAY,OAAO,SAAW,OAAe,CAAC,CAAC,OAAO,cAEtDC,IAAU,CAA+BC,MAA4B;AACzE,MAAI,CAACF;AACH,WAAIG,EAAQ,IAAI,aAAa,iBAC3BC,EAAO;AAAA,MACL,8BAA8BF,CAAG;AAAA,IAAA,GAI9BH,EAAcG,CAAG;AAG1B,MAAI;AACF;AAAA;AAAA,MAEG,KAAK,MAAM,OAAO,aAAa,QAAQA,CAAG,CAAC,KAC5CH,EAAcG,CAAG;AAAA;AAAA,EAErB,SAASG,GAAO;AACd,WAAAD,EAAO,KAAK,4BAA4BF,CAAG,uBAAuBG,CAAK,GAEhEN,EAAcG,CAAG;AAAA,EAC1B;AACF,GAEMI,IAAU,CACdJ,GACAK,MACG;AACH,MAAI,CAACP,GAAW;AACd,IAAIG,EAAQ,IAAI,aAAa,iBAC3BC,EAAO,MAAM,6BAA6BF,CAAG,sBAAsB;AAGrE;AAAA,EACF;AAEA,MAAI;AACF,UAAMM,IACJ,OAAOD,KAAU,YACjB,OAAOA,KAAU,YACjB,OAAOA,KAAU,YACb,OAAOA,CAAK,IACZ,KAAK,UAAUA,CAAK;AAE1B,WAAO,aAAa,QAAQL,GAAKM,CAAU;AAAA,EAC7C,SAASH,GAAO;AACd,IAAAD,EAAO,KAAK,0BAA0BF,CAAG,qBAAqBG,CAAK;AAAA,EACrE;AACF,GAEMI,IAAa,CAACP,MAA4B;AAC9C,MAAI,CAACF,GAAW;AACd,IAAIG,EAAQ,IAAI,aAAa,iBAC3BC,EAAO,MAAM,gCAAgCF,CAAG,sBAAsB;AAGxE;AAAA,EACF;AAEA,MAAI;AACF,WAAO,aAAa,WAAWA,CAAG;AAAA,EACpC,SAASG,GAAO;AACd,IAAAD,EAAO,KAAK,6BAA6BF,CAAG,uBAAuBG,CAAK;AAAA,EAC1E;AACF,GAEaK,IAAoB;AAAA,EAC/B,SAAAT;AAAA,EACA,SAAAK;AAAA,EACA,YAAAG;AACF;"}
1
+ {"version":3,"file":"localstorage.js","sources":["../../src/utils/localstorage.ts"],"sourcesContent":["import { logger } from '@/logger';\n\ntype LocalStorage = {\n verifiedWallets: string[];\n verifiedNearAccounts: string[];\n nearWalletsPk: Record<string, string>;\n};\n\nconst defaultValues: LocalStorage = {\n verifiedWallets: [],\n verifiedNearAccounts: [],\n nearWalletsPk: {},\n};\n\nconst isBrowser = typeof window !== 'undefined' && !!window.localStorage;\n\nconst KEY_PREFIX = 'sw';\nconst getStorageKey = (key: string) => `${KEY_PREFIX}.${key}`;\n\nconst getItem = <T extends keyof LocalStorage>(key: T): LocalStorage[T] => {\n if (!isBrowser) {\n if (process.env.NODE_ENV === 'development') {\n logger.debug(\n `[WIDGET] Attempted to read ${getStorageKey(key)} from localstorage on server; returning default`,\n );\n }\n\n return defaultValues[key];\n }\n\n try {\n const storedValueLegacy = window.localStorage.getItem(key);\n let storedValue = window.localStorage.getItem(getStorageKey(key));\n\n // Migrate legacy key to new namespaced key\n if (storedValueLegacy && !storedValue) {\n storedValue = storedValueLegacy;\n window.localStorage.setItem(getStorageKey(key), storedValueLegacy);\n window.localStorage.removeItem(key);\n }\n\n return (\n // @ts-expect-error It's ok to pass null to JSON.parse\n (JSON.parse(storedValue) as LocalStorage[T]) ?? defaultValues[key]\n );\n } catch (error) {\n logger.warn(\n `[WIDGET] Failed to parse ${getStorageKey(key)} from localStorage:`,\n error,\n );\n\n return defaultValues[key];\n }\n};\n\nconst setItem = <T extends keyof LocalStorage>(\n key: T,\n value: LocalStorage[T],\n) => {\n if (!isBrowser) {\n if (process.env.NODE_ENV === 'development') {\n logger.debug(\n `[WIDGET] Attempted to set ${getStorageKey(key)} on server; skipping`,\n );\n }\n\n return;\n }\n\n try {\n const serialized =\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n ? String(value)\n : JSON.stringify(value);\n\n window.localStorage.setItem(getStorageKey(key), serialized);\n } catch (error) {\n logger.warn(\n `[WIDGET] Failed to set ${getStorageKey(key)} in localStorage:`,\n error,\n );\n }\n};\n\nconst removeItem = (key: keyof LocalStorage) => {\n if (!isBrowser) {\n if (process.env.NODE_ENV === 'development') {\n logger.debug(\n `[WIDGET] Attempted to remove ${getStorageKey(key)} from localstorage on server; skipping`,\n );\n }\n\n return;\n }\n\n try {\n window.localStorage.removeItem(getStorageKey(key));\n } catch (error) {\n logger.warn(\n `[WIDGET] Failed to remove ${getStorageKey(key)} from localStorage:`,\n error,\n );\n }\n};\n\nexport const localStorageTyped = {\n getItem,\n setItem,\n removeItem,\n};\n"],"names":["defaultValues","isBrowser","KEY_PREFIX","getStorageKey","key","getItem","process","logger","storedValueLegacy","storedValue","error","setItem","value","serialized","removeItem","localStorageTyped"],"mappings":";;AAQA,MAAMA,IAA8B;AAAA,EAClC,iBAAiB,CAAA;AAAA,EACjB,sBAAsB,CAAA;AAAA,EACtB,eAAe,CAAA;AACjB,GAEMC,IAAY,OAAO,SAAW,OAAe,CAAC,CAAC,OAAO,cAEtDC,IAAa,MACbC,IAAgB,CAACC,MAAgB,GAAGF,CAAU,IAAIE,CAAG,IAErDC,IAAU,CAA+BD,MAA4B;AACzE,MAAI,CAACH;AACH,WAAIK,EAAQ,IAAI,aAAa,iBAC3BC,EAAO;AAAA,MACL,8BAA8BJ,EAAcC,CAAG,CAAC;AAAA,IAAA,GAI7CJ,EAAcI,CAAG;AAG1B,MAAI;AACF,UAAMI,IAAoB,OAAO,aAAa,QAAQJ,CAAG;AACzD,QAAIK,IAAc,OAAO,aAAa,QAAQN,EAAcC,CAAG,CAAC;AAGhE,WAAII,KAAqB,CAACC,MACxBA,IAAcD,GACd,OAAO,aAAa,QAAQL,EAAcC,CAAG,GAAGI,CAAiB,GACjE,OAAO,aAAa,WAAWJ,CAAG;AAAA,IAKjC,KAAK,MAAMK,CAAW,KAAyBT,EAAcI,CAAG;AAAA,EAErE,SAASM,GAAO;AACd,WAAAH,EAAO;AAAA,MACL,4BAA4BJ,EAAcC,CAAG,CAAC;AAAA,MAC9CM;AAAA,IAAA,GAGKV,EAAcI,CAAG;AAAA,EAC1B;AACF,GAEMO,IAAU,CACdP,GACAQ,MACG;AACH,MAAI,CAACX,GAAW;AACd,IAAIK,EAAQ,IAAI,aAAa,iBAC3BC,EAAO;AAAA,MACL,6BAA6BJ,EAAcC,CAAG,CAAC;AAAA,IAAA;AAInD;AAAA,EACF;AAEA,MAAI;AACF,UAAMS,IACJ,OAAOD,KAAU,YACjB,OAAOA,KAAU,YACjB,OAAOA,KAAU,YACb,OAAOA,CAAK,IACZ,KAAK,UAAUA,CAAK;AAE1B,WAAO,aAAa,QAAQT,EAAcC,CAAG,GAAGS,CAAU;AAAA,EAC5D,SAASH,GAAO;AACd,IAAAH,EAAO;AAAA,MACL,0BAA0BJ,EAAcC,CAAG,CAAC;AAAA,MAC5CM;AAAA,IAAA;AAAA,EAEJ;AACF,GAEMI,IAAa,CAACV,MAA4B;AAC9C,MAAI,CAACH,GAAW;AACd,IAAIK,EAAQ,IAAI,aAAa,iBAC3BC,EAAO;AAAA,MACL,gCAAgCJ,EAAcC,CAAG,CAAC;AAAA,IAAA;AAItD;AAAA,EACF;AAEA,MAAI;AACF,WAAO,aAAa,WAAWD,EAAcC,CAAG,CAAC;AAAA,EACnD,SAASM,GAAO;AACd,IAAAH,EAAO;AAAA,MACL,6BAA6BJ,EAAcC,CAAG,CAAC;AAAA,MAC/CM;AAAA,IAAA;AAAA,EAEJ;AACF,GAEaK,IAAoB;AAAA,EAC/B,SAAAV;AAAA,EACA,SAAAM;AAAA,EACA,YAAAG;AACF;"}
@@ -2,7 +2,7 @@ import "../../index-DEq3oXQF.js";
2
2
  import "zod";
3
3
  import "./decodeQueryResult.js";
4
4
  import "./rpc.js";
5
- import { Z as m } from "../../config-Bmc4hOIl.js";
5
+ import { $ as m } from "../../config-Behl5hcc.js";
6
6
  export {
7
7
  m as getNearNep141StorageBalance
8
8
  };
@@ -3,7 +3,7 @@ import { useState as y, useEffect as l, useCallback as B } from "react";
3
3
  import { useTokenModal as R } from "../../hooks/useTokenModal.js";
4
4
  import { useTypedTranslation as A } from "../../localisation.js";
5
5
  import { WidgetDepositSkeleton as b } from "./WidgetDepositSkeleton.js";
6
- import { b as F, u as q, y as N, n as j, c as O, p as Q, o as U, S as K } from "../../config-Bmc4hOIl.js";
6
+ import { b as F, u as q, y as N, n as j, c as O, p as Q, o as U, S as K } from "../../config-Behl5hcc.js";
7
7
  import "@tanstack/react-query";
8
8
  import "@headlessui/react";
9
9
  import "framer-motion";
@@ -27,7 +27,6 @@ import { BlockingError as V } from "../../components/BlockingError.js";
27
27
  import "copy-text-to-clipboard";
28
28
  import "../../components/InputAmount.js";
29
29
  import "../../components/Notes.js";
30
- import "../../theme/ThemeProvider.js";
31
30
  import "zod";
32
31
  import "../../utils/near/rpc.js";
33
32
  import "../../index-DEq3oXQF.js";
@@ -43,21 +42,21 @@ import "viem/chains";
43
42
  import { useTokenInputPair as X } from "../../hooks/useTokenInputPair.js";
44
43
  import { useIsCompatibilityCheckRequired as Z } from "../../hooks/useIsCompatibilityCheckRequired.js";
45
44
  import "browser-or-node";
46
- const Ye = ({
47
- providers: p,
45
+ const Pe = ({
46
+ providers: u,
48
47
  onMsg: n,
49
48
  makeTransfer: w,
50
49
  isLoading: T
51
50
  }) => {
52
- const { ctx: o } = F(), { t: u } = A(), { isDirectNearTokenWithdrawal: x } = q(), {
51
+ const { ctx: o } = F(), { t: p } = A(), { isDirectNearTokenWithdrawal: x } = q(), {
53
52
  chainsFilter: m,
54
53
  alchemyApiKey: C,
55
54
  refetchQuoteInterval: g,
56
55
  intentsAccountType: v,
57
56
  onWalletSignout: D
58
- } = N(), { onChangeAmount: E, onChangeToken: f } = X(), { status: d, refetch: W } = j(), { tokenModalOpen: s, updateTokenModalState: a } = R({ onMsg: n }), k = Z(), [I, i] = y(!0);
57
+ } = N(), { onChangeAmount: E, onChangeToken: f } = X(), { status: d, refetch: W } = j(), { tokenModalOpen: s, updateTokenModalState: a } = R({ onMsg: n }), k = Z(), [I, i] = y(!1);
59
58
  l(() => {
60
- k || i(!1);
59
+ k && i(!0);
61
60
  }, [k]);
62
61
  const [h, c] = y(), M = B(
63
62
  (e) => {
@@ -96,7 +95,7 @@ const Ye = ({
96
95
  return /* @__PURE__ */ t(
97
96
  L,
98
97
  {
99
- providers: p,
98
+ providers: u,
100
99
  onMsg: (e) => {
101
100
  switch (e.type) {
102
101
  case "on_sign_out":
@@ -171,7 +170,7 @@ const Ye = ({
171
170
  Q.Source,
172
171
  {
173
172
  showBalance: !o.isDepositFromExternalWallet,
174
- heading: u("tokenInput.heading.source.deposit", "Sell"),
173
+ heading: p("tokenInput.heading.source.deposit", "Sell"),
175
174
  onMsg: (e) => {
176
175
  switch (e.type) {
177
176
  case "on_select_token":
@@ -204,9 +203,9 @@ const Ye = ({
204
203
  /* @__PURE__ */ t(
205
204
  K,
206
205
  {
207
- providers: p,
206
+ providers: u,
208
207
  makeTransfer: w,
209
- label: u("submit.active.deposit", "Deposit now"),
208
+ label: p("submit.active.deposit", "Deposit now"),
210
209
  onSuccess: (e) => {
211
210
  c(e), n?.({ type: "on_transfer_success" });
212
211
  }
@@ -219,6 +218,6 @@ const Ye = ({
219
218
  }
220
219
  };
221
220
  export {
222
- Ye as WidgetDepositContent
221
+ Pe as WidgetDepositContent
223
222
  };
224
223
  //# sourceMappingURL=WidgetDepositContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetDepositContent.js","sources":["../../../src/widgets/WidgetDeposit/WidgetDepositContent.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport type { CommonWidgetProps, TokenInputType } from '../types';\nimport { useTokenModal } from '../../hooks/useTokenModal';\nimport { useTypedTranslation } from '../../localisation';\nimport { WidgetDepositSkeleton } from './WidgetDepositSkeleton';\nimport {\n DepositMethodSwitcher,\n ExternalDeposit,\n SubmitButton,\n SuccessScreen,\n SwapQuote,\n TokenInput,\n TokensModal,\n} from '@/features';\n\nimport { Banner, BlockingError } from '@/components';\nimport { WalletCompatibilityCheck } from '@/features/WalletCompatibilityCheck';\n\nimport { useStoreSideEffects } from '@/machine/effects';\nimport { useComputedSnapshot, useUnsafeSnapshot } from '@/machine/snap';\nimport { fireEvent } from '@/machine/events/utils/fireEvent';\n\nimport {\n useIsCompatibilityCheckRequired,\n useTokenInputPair,\n useTokens,\n} from '@/hooks';\nimport { useConfig } from '@/config';\n\nimport { isDebug, notReachable } from '@/utils';\n\nimport type { Token, TransferResult } from '@/types';\n\ntype Msg =\n | { type: 'on_select_token'; token: Token; variant: TokenInputType }\n | { type: 'on_change_deposit_type'; isExternal: boolean }\n | { type: 'on_transfer_success' }\n | { type: 'on_tokens_modal_toggled'; isOpen: boolean };\n\nexport type Props = CommonWidgetProps<Msg>;\n\nexport const WidgetDepositContent = ({\n providers,\n onMsg,\n makeTransfer,\n isLoading,\n}: Props) => {\n const { ctx } = useUnsafeSnapshot();\n const { t } = useTypedTranslation();\n const { isDirectNearTokenWithdrawal } = useComputedSnapshot();\n const {\n chainsFilter,\n alchemyApiKey,\n refetchQuoteInterval,\n intentsAccountType,\n onWalletSignout,\n } = useConfig();\n\n const { onChangeAmount, onChangeToken } = useTokenInputPair();\n const { status: tokensStatus, refetch: refetchTokens } = useTokens();\n const { tokenModalOpen, updateTokenModalState } = useTokenModal({ onMsg });\n\n const isCompatibilityCheckRequired = useIsCompatibilityCheckRequired();\n const [isCompatibilityOpen, setIsCompatibilityOpen] = useState(true);\n\n useEffect(() => {\n if (!isCompatibilityCheckRequired) {\n setIsCompatibilityOpen(false);\n }\n }, [isCompatibilityCheckRequired]);\n\n const [transferResult, setTransferResult] = useState<\n TransferResult | undefined\n >();\n\n const handleExternalDepositMsg = useCallback(\n (\n msg:\n | { type: 'on_transaction_received' }\n | { type: 'on_successful_transfer'; transferResult: TransferResult },\n ) => {\n switch (msg.type) {\n case 'on_successful_transfer':\n setTransferResult(msg.transferResult);\n break;\n case 'on_transaction_received':\n // Transaction received, no action needed\n break;\n default:\n notReachable(msg);\n }\n },\n [],\n );\n\n useEffect(() => {\n fireEvent('reset', { clearWalletAddress: true });\n\n return () => {\n fireEvent('depositTypeSet', { isExternal: false });\n };\n }, []);\n\n useStoreSideEffects({\n debug: isDebug(),\n listenTo: [\n 'checkWalletConnection',\n 'setSourceTokenBalance',\n 'setSourceTokenIntentsTarget',\n ['setDefaultSelectedTokens', { skipIntents: true }],\n ['makeQuote', { message: undefined, refetchQuoteInterval }],\n ['setBalancesUsingAlchemyExt', { alchemyApiKey }],\n ],\n });\n\n useEffect(() => {\n onMsg?.({\n type: 'on_change_deposit_type',\n isExternal: ctx.isDepositFromExternalWallet,\n });\n }, [ctx.isDepositFromExternalWallet]);\n\n if (!!isLoading || (tokensStatus !== 'error' && !ctx.sourceToken)) {\n return <WidgetDepositSkeleton />;\n }\n\n if (isCompatibilityOpen) {\n return (\n <WalletCompatibilityCheck\n providers={providers}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_sign_out':\n onWalletSignout?.(intentsAccountType);\n setIsCompatibilityOpen(false);\n break;\n case 'on_close':\n setIsCompatibilityOpen(false);\n break;\n default:\n notReachable(msg.type);\n }\n }}\n />\n );\n }\n\n if (ctx.state === 'transfer_success' && !!transferResult) {\n return (\n <SuccessScreen\n {...transferResult}\n message={[\n 'Your deposit has been successfully completed,',\n 'and the funds are now available in your account.',\n ]}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_dismiss_success':\n setTransferResult(undefined);\n break;\n default:\n notReachable(msg.type);\n }\n }}\n />\n );\n }\n\n switch (tokensStatus) {\n case 'error':\n return (\n <BlockingError\n message=\"Couldn't load tokens list.\"\n onClickRetry={refetchTokens}\n />\n );\n\n case 'success': {\n if (tokenModalOpen !== 'none') {\n return (\n <TokensModal\n showBalances\n showChainsSelector\n variant={tokenModalOpen}\n groupTokens={tokenModalOpen === 'source'}\n chainsFilter={\n tokenModalOpen === 'source'\n ? chainsFilter.source\n : chainsFilter.target\n }\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_select_token':\n onChangeToken(tokenModalOpen, msg.token);\n updateTokenModalState('none');\n onMsg?.({\n type: msg.type,\n token: msg.token,\n variant: tokenModalOpen,\n });\n break;\n case 'on_dismiss_tokens_modal':\n updateTokenModalState('none');\n break;\n default:\n notReachable(msg);\n }\n }}\n />\n );\n }\n\n return (\n <div className=\"gap-sw-2xl flex flex-col\">\n <TokenInput.Source\n showBalance={!ctx.isDepositFromExternalWallet}\n heading={t('tokenInput.heading.source.deposit', 'Sell')}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_select_token':\n onChangeToken('source', msg.token);\n break;\n case 'on_change_amount':\n onChangeAmount('source', msg.amount);\n break;\n case 'on_click_select_token':\n updateTokenModalState('source');\n break;\n default:\n notReachable(msg);\n }\n }}\n />\n\n <DepositMethodSwitcher className=\"mt-sw-md\">\n {({ isExternal }) =>\n isExternal ? (\n <div className=\"gap-sw-2xl flex flex-col justify-between\">\n <ExternalDeposit onMsg={handleExternalDepositMsg} />\n {(ctx.state === 'quote_success_internal' ||\n ctx.state === 'quote_success_external') && (\n <Banner\n multiline\n variant=\"warn\"\n message=\"Match the token, amount and network entered above in your wallet. Incorrect values will cause the deposit to fail and be refunded.\"\n />\n )}\n </div>\n ) : null\n }\n </DepositMethodSwitcher>\n\n {!isDirectNearTokenWithdrawal && <SwapQuote />}\n\n <SubmitButton\n providers={providers}\n makeTransfer={makeTransfer}\n label={t('submit.active.deposit', 'Deposit now')}\n onSuccess={(transfer) => {\n setTransferResult(transfer);\n onMsg?.({ type: 'on_transfer_success' });\n }}\n />\n </div>\n );\n }\n\n case 'pending':\n default:\n return <WidgetDepositSkeleton />;\n }\n};\n"],"names":["WidgetDepositContent","providers","onMsg","makeTransfer","isLoading","ctx","useUnsafeSnapshot","t","useTypedTranslation","isDirectNearTokenWithdrawal","useComputedSnapshot","chainsFilter","alchemyApiKey","refetchQuoteInterval","intentsAccountType","onWalletSignout","useConfig","onChangeAmount","onChangeToken","useTokenInputPair","tokensStatus","refetchTokens","useTokens","tokenModalOpen","updateTokenModalState","useTokenModal","isCompatibilityCheckRequired","useIsCompatibilityCheckRequired","isCompatibilityOpen","setIsCompatibilityOpen","useState","useEffect","transferResult","setTransferResult","handleExternalDepositMsg","useCallback","msg","notReachable","fireEvent","useStoreSideEffects","isDebug","WidgetDepositSkeleton","jsx","WalletCompatibilityCheck","SuccessScreen","BlockingError","TokensModal","jsxs","TokenInput","DepositMethodSwitcher","isExternal","ExternalDeposit","Banner","SwapQuote","SubmitButton","transfer"],"mappings":"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"}
1
+ {"version":3,"file":"WidgetDepositContent.js","sources":["../../../src/widgets/WidgetDeposit/WidgetDepositContent.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport type { CommonWidgetProps, TokenInputType } from '../types';\nimport { useTokenModal } from '../../hooks/useTokenModal';\nimport { useTypedTranslation } from '../../localisation';\nimport { WidgetDepositSkeleton } from './WidgetDepositSkeleton';\nimport {\n DepositMethodSwitcher,\n ExternalDeposit,\n SubmitButton,\n SuccessScreen,\n SwapQuote,\n TokenInput,\n TokensModal,\n} from '@/features';\n\nimport { Banner, BlockingError } from '@/components';\nimport { WalletCompatibilityCheck } from '@/features/WalletCompatibilityCheck';\n\nimport { useStoreSideEffects } from '@/machine/effects';\nimport { useComputedSnapshot, useUnsafeSnapshot } from '@/machine/snap';\nimport { fireEvent } from '@/machine/events/utils/fireEvent';\n\nimport {\n useIsCompatibilityCheckRequired,\n useTokenInputPair,\n useTokens,\n} from '@/hooks';\nimport { useConfig } from '@/config';\n\nimport { isDebug, notReachable } from '@/utils';\n\nimport type { Token, TransferResult } from '@/types';\n\ntype Msg =\n | { type: 'on_select_token'; token: Token; variant: TokenInputType }\n | { type: 'on_change_deposit_type'; isExternal: boolean }\n | { type: 'on_transfer_success' }\n | { type: 'on_tokens_modal_toggled'; isOpen: boolean };\n\nexport type Props = CommonWidgetProps<Msg>;\n\nexport const WidgetDepositContent = ({\n providers,\n onMsg,\n makeTransfer,\n isLoading,\n}: Props) => {\n const { ctx } = useUnsafeSnapshot();\n const { t } = useTypedTranslation();\n const { isDirectNearTokenWithdrawal } = useComputedSnapshot();\n const {\n chainsFilter,\n alchemyApiKey,\n refetchQuoteInterval,\n intentsAccountType,\n onWalletSignout,\n } = useConfig();\n\n const { onChangeAmount, onChangeToken } = useTokenInputPair();\n const { status: tokensStatus, refetch: refetchTokens } = useTokens();\n const { tokenModalOpen, updateTokenModalState } = useTokenModal({ onMsg });\n\n const isCompatibilityCheckRequired = useIsCompatibilityCheckRequired();\n const [isCompatibilityOpen, setIsCompatibilityOpen] = useState(false);\n\n useEffect(() => {\n if (isCompatibilityCheckRequired) {\n setIsCompatibilityOpen(true);\n }\n }, [isCompatibilityCheckRequired]);\n\n const [transferResult, setTransferResult] = useState<\n TransferResult | undefined\n >();\n\n const handleExternalDepositMsg = useCallback(\n (\n msg:\n | { type: 'on_transaction_received' }\n | { type: 'on_successful_transfer'; transferResult: TransferResult },\n ) => {\n switch (msg.type) {\n case 'on_successful_transfer':\n setTransferResult(msg.transferResult);\n break;\n case 'on_transaction_received':\n // Transaction received, no action needed\n break;\n default:\n notReachable(msg);\n }\n },\n [],\n );\n\n useEffect(() => {\n fireEvent('reset', { clearWalletAddress: true });\n\n return () => {\n fireEvent('depositTypeSet', { isExternal: false });\n };\n }, []);\n\n useStoreSideEffects({\n debug: isDebug(),\n listenTo: [\n 'checkWalletConnection',\n 'setSourceTokenBalance',\n 'setSourceTokenIntentsTarget',\n ['setDefaultSelectedTokens', { skipIntents: true }],\n ['makeQuote', { message: undefined, refetchQuoteInterval }],\n ['setBalancesUsingAlchemyExt', { alchemyApiKey }],\n ],\n });\n\n useEffect(() => {\n onMsg?.({\n type: 'on_change_deposit_type',\n isExternal: ctx.isDepositFromExternalWallet,\n });\n }, [ctx.isDepositFromExternalWallet]);\n\n if (!!isLoading || (tokensStatus !== 'error' && !ctx.sourceToken)) {\n return <WidgetDepositSkeleton />;\n }\n\n if (isCompatibilityOpen) {\n return (\n <WalletCompatibilityCheck\n providers={providers}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_sign_out':\n onWalletSignout?.(intentsAccountType);\n setIsCompatibilityOpen(false);\n break;\n case 'on_close':\n setIsCompatibilityOpen(false);\n break;\n default:\n notReachable(msg.type);\n }\n }}\n />\n );\n }\n\n if (ctx.state === 'transfer_success' && !!transferResult) {\n return (\n <SuccessScreen\n {...transferResult}\n message={[\n 'Your deposit has been successfully completed,',\n 'and the funds are now available in your account.',\n ]}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_dismiss_success':\n setTransferResult(undefined);\n break;\n default:\n notReachable(msg.type);\n }\n }}\n />\n );\n }\n\n switch (tokensStatus) {\n case 'error':\n return (\n <BlockingError\n message=\"Couldn't load tokens list.\"\n onClickRetry={refetchTokens}\n />\n );\n\n case 'success': {\n if (tokenModalOpen !== 'none') {\n return (\n <TokensModal\n showBalances\n showChainsSelector\n variant={tokenModalOpen}\n groupTokens={tokenModalOpen === 'source'}\n chainsFilter={\n tokenModalOpen === 'source'\n ? chainsFilter.source\n : chainsFilter.target\n }\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_select_token':\n onChangeToken(tokenModalOpen, msg.token);\n updateTokenModalState('none');\n onMsg?.({\n type: msg.type,\n token: msg.token,\n variant: tokenModalOpen,\n });\n break;\n case 'on_dismiss_tokens_modal':\n updateTokenModalState('none');\n break;\n default:\n notReachable(msg);\n }\n }}\n />\n );\n }\n\n return (\n <div className=\"gap-sw-2xl flex flex-col\">\n <TokenInput.Source\n showBalance={!ctx.isDepositFromExternalWallet}\n heading={t('tokenInput.heading.source.deposit', 'Sell')}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_select_token':\n onChangeToken('source', msg.token);\n break;\n case 'on_change_amount':\n onChangeAmount('source', msg.amount);\n break;\n case 'on_click_select_token':\n updateTokenModalState('source');\n break;\n default:\n notReachable(msg);\n }\n }}\n />\n\n <DepositMethodSwitcher className=\"mt-sw-md\">\n {({ isExternal }) =>\n isExternal ? (\n <div className=\"gap-sw-2xl flex flex-col justify-between\">\n <ExternalDeposit onMsg={handleExternalDepositMsg} />\n {(ctx.state === 'quote_success_internal' ||\n ctx.state === 'quote_success_external') && (\n <Banner\n multiline\n variant=\"warn\"\n message=\"Match the token, amount and network entered above in your wallet. Incorrect values will cause the deposit to fail and be refunded.\"\n />\n )}\n </div>\n ) : null\n }\n </DepositMethodSwitcher>\n\n {!isDirectNearTokenWithdrawal && <SwapQuote />}\n\n <SubmitButton\n providers={providers}\n makeTransfer={makeTransfer}\n label={t('submit.active.deposit', 'Deposit now')}\n onSuccess={(transfer) => {\n setTransferResult(transfer);\n onMsg?.({ type: 'on_transfer_success' });\n }}\n />\n </div>\n );\n }\n\n case 'pending':\n default:\n return <WidgetDepositSkeleton />;\n }\n};\n"],"names":["WidgetDepositContent","providers","onMsg","makeTransfer","isLoading","ctx","useUnsafeSnapshot","t","useTypedTranslation","isDirectNearTokenWithdrawal","useComputedSnapshot","chainsFilter","alchemyApiKey","refetchQuoteInterval","intentsAccountType","onWalletSignout","useConfig","onChangeAmount","onChangeToken","useTokenInputPair","tokensStatus","refetchTokens","useTokens","tokenModalOpen","updateTokenModalState","useTokenModal","isCompatibilityCheckRequired","useIsCompatibilityCheckRequired","isCompatibilityOpen","setIsCompatibilityOpen","useState","useEffect","transferResult","setTransferResult","handleExternalDepositMsg","useCallback","msg","notReachable","fireEvent","useStoreSideEffects","isDebug","WidgetDepositSkeleton","jsx","WalletCompatibilityCheck","SuccessScreen","BlockingError","TokensModal","jsxs","TokenInput","DepositMethodSwitcher","isExternal","ExternalDeposit","Banner","SwapQuote","SubmitButton","transfer"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsxs as o, jsx as e } from "react/jsx-runtime";
2
2
  import a from "clsx";
3
3
  import { SkeletonBox as s } from "../../components/SkeletonBox.js";
4
- import { y as i } from "../../config-Bmc4hOIl.js";
4
+ import { y as i } from "../../config-Behl5hcc.js";
5
5
  const p = () => {
6
6
  const { hideTokenInputHeadings: l } = i();
7
7
  return /* @__PURE__ */ o("div", { className: "w-full gap-sw-xl relative flex flex-col", children: [
@@ -3,7 +3,7 @@ import { useState as b, useEffect as y } from "react";
3
3
  import { useTokenModal as R } from "../../hooks/useTokenModal.js";
4
4
  import { WidgetSwapSkeleton as S } from "./WidgetSwapSkeleton.js";
5
5
  import { useTypedTranslation as D } from "../../localisation.js";
6
- import { b as N, u as O, y as Q, n as j, c as q, p as w, o as F, S as U } from "../../config-Bmc4hOIl.js";
6
+ import { b as N, u as O, y as Q, n as j, c as q, p as w, o as F, S as U } from "../../config-Behl5hcc.js";
7
7
  import "@tanstack/react-query";
8
8
  import "@headlessui/react";
9
9
  import "framer-motion";
@@ -40,12 +40,11 @@ import { BlockingError as V } from "../../components/BlockingError.js";
40
40
  import "copy-text-to-clipboard";
41
41
  import "../../components/InputAmount.js";
42
42
  import "../../components/Notes.js";
43
- import "../../theme/ThemeProvider.js";
44
43
  import { WalletCompatibilityCheck as X } from "../../features/WalletCompatibilityCheck/index.js";
45
- const Ke = ({
44
+ const Ue = ({
46
45
  providers: m,
47
46
  makeTransfer: T,
48
- onMsg: i,
47
+ onMsg: c,
49
48
  isLoading: C,
50
49
  isOneWay: x
51
50
  }) => {
@@ -55,10 +54,12 @@ const Ke = ({
55
54
  refetchQuoteInterval: M,
56
55
  intentsAccountType: A,
57
56
  onWalletSignout: W
58
- } = Q(), { t: r } = D(), { status: f, refetch: B } = j(), { tokenModalOpen: s, updateTokenModalState: a } = R({ onMsg: i }), { onChangeAmount: d, onChangeToken: c, lastChangedInput: p } = J(), u = L(), [E, l] = b(!0);
57
+ } = Q(), { t: a } = D(), { status: d, refetch: B } = j(), { tokenModalOpen: s, updateTokenModalState: i } = R({ onMsg: c }), { onChangeAmount: f, onChangeToken: p, lastChangedInput: u } = J(), r = L(), [E, l] = b(
58
+ r
59
+ );
59
60
  y(() => {
60
- u || l(!1);
61
- }, [u]);
61
+ r && l(r);
62
+ }, [r]);
62
63
  const [h, g] = b();
63
64
  if (y(() => {
64
65
  H("reset", { clearWalletAddress: !0 });
@@ -72,15 +73,15 @@ const Ke = ({
72
73
  "makeQuote",
73
74
  {
74
75
  message: void 0,
75
- type: p === "target" ? "exact_out" : "exact_in",
76
+ type: u === "target" ? "exact_out" : "exact_in",
76
77
  refetchQuoteInterval: M
77
78
  }
78
79
  ],
79
80
  ["setBalancesUsingAlchemyExt", { alchemyApiKey: v }]
80
81
  ]
81
- }), C || f !== "error" && !o.sourceToken)
82
+ }), C || d !== "error" && !o.sourceToken)
82
83
  return /* @__PURE__ */ t(S, {});
83
- if (u && E)
84
+ if (r && E)
84
85
  return /* @__PURE__ */ t(
85
86
  X,
86
87
  {
@@ -119,7 +120,7 @@ const Ke = ({
119
120
  }
120
121
  }
121
122
  );
122
- switch (f) {
123
+ switch (d) {
123
124
  case "error":
124
125
  return /* @__PURE__ */ t(
125
126
  V,
@@ -140,14 +141,14 @@ const Ke = ({
140
141
  onMsg: (e) => {
141
142
  switch (e.type) {
142
143
  case "on_select_token":
143
- c(s, e.token), a("none"), i?.({
144
+ p(s, e.token), i("none"), c?.({
144
145
  type: e.type,
145
146
  token: e.token,
146
147
  variant: s
147
148
  });
148
149
  break;
149
150
  case "on_dismiss_tokens_modal":
150
- a("none");
151
+ i("none");
151
152
  break;
152
153
  default:
153
154
  n(e);
@@ -159,18 +160,18 @@ const Ke = ({
159
160
  /* @__PURE__ */ t(
160
161
  w.Source,
161
162
  {
162
- heading: r("tokenInput.heading.source.swap", "Sell"),
163
- isChanging: p === "source",
163
+ heading: a("tokenInput.heading.source.swap", "Sell"),
164
+ isChanging: u === "source",
164
165
  onMsg: (e) => {
165
166
  switch (e.type) {
166
167
  case "on_select_token":
167
- c("source", e.token);
168
+ p("source", e.token);
168
169
  break;
169
170
  case "on_change_amount":
170
- d("source", e.amount);
171
+ f("source", e.amount);
171
172
  break;
172
173
  case "on_click_select_token":
173
- a("source");
174
+ i("source");
174
175
  break;
175
176
  default:
176
177
  n(e);
@@ -182,18 +183,18 @@ const Ke = ({
182
183
  /* @__PURE__ */ t(
183
184
  w.Target,
184
185
  {
185
- heading: r("tokenInput.heading.target.swap", "Buy"),
186
- isChanging: p === "target",
186
+ heading: a("tokenInput.heading.target.swap", "Buy"),
187
+ isChanging: u === "target",
187
188
  onMsg: (e) => {
188
189
  switch (e.type) {
189
190
  case "on_select_token":
190
- c("target", e.token);
191
+ p("target", e.token);
191
192
  break;
192
193
  case "on_change_amount":
193
- d("target", e.amount);
194
+ f("target", e.amount);
194
195
  break;
195
196
  case "on_click_select_token":
196
- a("target");
197
+ i("target");
197
198
  break;
198
199
  default:
199
200
  n(e);
@@ -221,9 +222,9 @@ const Ke = ({
221
222
  {
222
223
  providers: m,
223
224
  makeTransfer: T,
224
- label: o.sourceToken?.isIntent && o.targetToken?.isIntent ? r("submit.active.swap", "Swap") : r("submit.active.intentsSwap", "Swap & send"),
225
+ label: o.sourceToken?.isIntent && o.targetToken?.isIntent ? a("submit.active.swap", "Swap") : a("submit.active.intentsSwap", "Swap & send"),
225
226
  onSuccess: (e) => {
226
- g(e), i?.({ type: "on_transfer_success" });
227
+ g(e), c?.({ type: "on_transfer_success" });
227
228
  }
228
229
  }
229
230
  )
@@ -234,6 +235,6 @@ const Ke = ({
234
235
  }
235
236
  };
236
237
  export {
237
- Ke as WidgetSwapContent
238
+ Ue as WidgetSwapContent
238
239
  };
239
240
  //# sourceMappingURL=WidgetSwapContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetSwapContent.js","sources":["../../../src/widgets/WidgetSwap/WidgetSwapContent.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { CommonWidgetProps, TokenInputType } from '../types';\nimport { useTokenModal } from '../../hooks/useTokenModal';\nimport { WidgetSwapSkeleton } from './WidgetSwapSkeleton';\nimport { useTypedTranslation } from '../../localisation';\nimport {\n SendAddress,\n SubmitButton,\n SuccessScreen,\n SwapDirectionSwitcher,\n SwapQuote,\n TokenInput,\n TokensModal,\n} from '@/features';\n\nimport { BlockingError } from '@/components';\nimport { WalletCompatibilityCheck } from '@/features/WalletCompatibilityCheck';\n\nimport { useStoreSideEffects } from '@/machine/effects';\nimport { useComputedSnapshot, useUnsafeSnapshot } from '@/machine/snap';\nimport { fireEvent } from '@/machine/events/utils/fireEvent';\n\nimport {\n useIsCompatibilityCheckRequired,\n useTokenInputPair,\n useTokens,\n} from '@/hooks';\nimport { useConfig } from '@/config';\n\nimport { isDebug, notReachable } from '@/utils';\n\nimport type { Token, TransferResult } from '@/types';\n\ntype Msg =\n | { type: 'on_tokens_modal_toggled'; isOpen: boolean }\n | { type: 'on_select_token'; token: Token; variant: TokenInputType }\n | { type: 'on_transfer_success' };\n\nexport type Props = CommonWidgetProps<Msg> & {\n isOneWay?: boolean;\n};\n\nexport const WidgetSwapContent = ({\n providers,\n makeTransfer,\n onMsg,\n isLoading,\n isOneWay,\n}: Props) => {\n const { ctx } = useUnsafeSnapshot();\n const { isDirectNearTokenWithdrawal } = useComputedSnapshot();\n const {\n chainsFilter,\n alchemyApiKey,\n refetchQuoteInterval,\n intentsAccountType,\n onWalletSignout,\n } = useConfig();\n\n const { t } = useTypedTranslation();\n const { status: tokensStatus, refetch: refetchTokens } = useTokens();\n const { tokenModalOpen, updateTokenModalState } = useTokenModal({ onMsg });\n const { onChangeAmount, onChangeToken, lastChangedInput } =\n useTokenInputPair();\n\n const isCompatibilityCheckRequired = useIsCompatibilityCheckRequired();\n const [isCompatibilityOpen, setIsCompatibilityOpen] = useState(true);\n\n useEffect(() => {\n if (!isCompatibilityCheckRequired) {\n setIsCompatibilityOpen(false);\n }\n }, [isCompatibilityCheckRequired]);\n\n const [transferResult, setTransferResult] = useState<\n TransferResult | undefined\n >();\n\n useEffect(() => {\n fireEvent('reset', { clearWalletAddress: true });\n }, []);\n\n useStoreSideEffects({\n debug: isDebug(),\n listenTo: [\n 'checkWalletConnection',\n 'setSourceTokenBalance',\n ['setDefaultSelectedTokens', { skipIntents: false }],\n [\n 'makeQuote',\n {\n message: undefined,\n type: lastChangedInput === 'target' ? 'exact_out' : 'exact_in',\n refetchQuoteInterval,\n },\n ],\n ['setBalancesUsingAlchemyExt', { alchemyApiKey }],\n ],\n });\n\n if (!!isLoading || (tokensStatus !== 'error' && !ctx.sourceToken)) {\n return <WidgetSwapSkeleton />;\n }\n\n if (isCompatibilityCheckRequired && isCompatibilityOpen) {\n return (\n <WalletCompatibilityCheck\n providers={providers}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_sign_out':\n onWalletSignout?.(intentsAccountType);\n setIsCompatibilityOpen(false);\n break;\n case 'on_close':\n setIsCompatibilityOpen(false);\n break;\n default:\n notReachable(msg.type);\n }\n }}\n />\n );\n }\n\n if (ctx.state === 'transfer_success' && !!transferResult) {\n return (\n <SuccessScreen\n {...transferResult}\n message={[\n 'Your swap has been successfully completed,',\n 'and the funds are now available in your account.',\n ]}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_dismiss_success':\n setTransferResult(undefined);\n break;\n default:\n notReachable(msg.type);\n }\n }}\n />\n );\n }\n\n switch (tokensStatus) {\n case 'error':\n return (\n <BlockingError\n message=\"Couldn't load tokens list.\"\n onClickRetry={refetchTokens}\n />\n );\n\n case 'success': {\n if (tokenModalOpen !== 'none') {\n return (\n <TokensModal\n showBalances\n showChainsSelector\n variant={tokenModalOpen}\n groupTokens={tokenModalOpen === 'source'}\n chainsFilter={\n tokenModalOpen === 'source'\n ? chainsFilter.source\n : chainsFilter.target\n }\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_select_token':\n onChangeToken(tokenModalOpen, msg.token);\n updateTokenModalState('none');\n onMsg?.({\n type: msg.type,\n token: msg.token,\n variant: tokenModalOpen,\n });\n break;\n case 'on_dismiss_tokens_modal':\n updateTokenModalState('none');\n break;\n default:\n notReachable(msg);\n }\n }}\n />\n );\n }\n\n return (\n <div className=\"gap-sw-2xl flex flex-col\">\n <div className=\"gap-[10px] relative flex flex-col\">\n <TokenInput.Source\n heading={t('tokenInput.heading.source.swap', 'Sell')}\n isChanging={lastChangedInput === 'source'}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_select_token':\n onChangeToken('source', msg.token);\n break;\n case 'on_change_amount':\n onChangeAmount('source', msg.amount);\n break;\n case 'on_click_select_token':\n updateTokenModalState('source');\n break;\n default:\n notReachable(msg);\n }\n }}\n />\n\n <SwapDirectionSwitcher disabled={isOneWay} />\n\n <TokenInput.Target\n heading={t('tokenInput.heading.target.swap', 'Buy')}\n isChanging={lastChangedInput === 'target'}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_select_token':\n onChangeToken('target', msg.token);\n break;\n case 'on_change_amount':\n onChangeAmount('target', msg.amount);\n break;\n case 'on_click_select_token':\n updateTokenModalState('target');\n break;\n default:\n notReachable(msg);\n }\n }}\n />\n </div>\n\n {!!ctx.walletAddress &&\n ctx.targetToken &&\n !ctx.targetToken.isIntent && (\n <SendAddress\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_change_send_address':\n break;\n default:\n notReachable(msg.type, { throwError: false });\n }\n }}\n />\n )}\n\n {!isDirectNearTokenWithdrawal && <SwapQuote />}\n\n <SubmitButton\n providers={providers}\n makeTransfer={makeTransfer}\n label={\n ctx.sourceToken?.isIntent && ctx.targetToken?.isIntent\n ? t('submit.active.swap', 'Swap')\n : t('submit.active.intentsSwap', 'Swap & send')\n }\n onSuccess={(transfer) => {\n setTransferResult(transfer);\n onMsg?.({ type: 'on_transfer_success' });\n }}\n />\n </div>\n );\n }\n\n case 'pending':\n default:\n return <WidgetSwapSkeleton />;\n }\n};\n"],"names":["WidgetSwapContent","providers","makeTransfer","onMsg","isLoading","isOneWay","ctx","useUnsafeSnapshot","isDirectNearTokenWithdrawal","useComputedSnapshot","chainsFilter","alchemyApiKey","refetchQuoteInterval","intentsAccountType","onWalletSignout","useConfig","t","useTypedTranslation","tokensStatus","refetchTokens","useTokens","tokenModalOpen","updateTokenModalState","useTokenModal","onChangeAmount","onChangeToken","lastChangedInput","useTokenInputPair","isCompatibilityCheckRequired","useIsCompatibilityCheckRequired","isCompatibilityOpen","setIsCompatibilityOpen","useState","useEffect","transferResult","setTransferResult","fireEvent","useStoreSideEffects","isDebug","WidgetSwapSkeleton","jsx","WalletCompatibilityCheck","msg","notReachable","SuccessScreen","BlockingError","TokensModal","jsxs","TokenInput","SwapDirectionSwitcher","SendAddress","SwapQuote","SubmitButton","transfer"],"mappings":"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"}
1
+ {"version":3,"file":"WidgetSwapContent.js","sources":["../../../src/widgets/WidgetSwap/WidgetSwapContent.tsx"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { CommonWidgetProps, TokenInputType } from '../types';\nimport { useTokenModal } from '../../hooks/useTokenModal';\nimport { WidgetSwapSkeleton } from './WidgetSwapSkeleton';\nimport { useTypedTranslation } from '../../localisation';\nimport {\n SendAddress,\n SubmitButton,\n SuccessScreen,\n SwapDirectionSwitcher,\n SwapQuote,\n TokenInput,\n TokensModal,\n} from '@/features';\n\nimport { BlockingError } from '@/components';\nimport { WalletCompatibilityCheck } from '@/features/WalletCompatibilityCheck';\n\nimport { useStoreSideEffects } from '@/machine/effects';\nimport { useComputedSnapshot, useUnsafeSnapshot } from '@/machine/snap';\nimport { fireEvent } from '@/machine/events/utils/fireEvent';\n\nimport {\n useIsCompatibilityCheckRequired,\n useTokenInputPair,\n useTokens,\n} from '@/hooks';\nimport { useConfig } from '@/config';\n\nimport { isDebug, notReachable } from '@/utils';\n\nimport type { Token, TransferResult } from '@/types';\n\ntype Msg =\n | { type: 'on_tokens_modal_toggled'; isOpen: boolean }\n | { type: 'on_select_token'; token: Token; variant: TokenInputType }\n | { type: 'on_transfer_success' };\n\nexport type Props = CommonWidgetProps<Msg> & {\n isOneWay?: boolean;\n};\n\nexport const WidgetSwapContent = ({\n providers,\n makeTransfer,\n onMsg,\n isLoading,\n isOneWay,\n}: Props) => {\n const { ctx } = useUnsafeSnapshot();\n const { isDirectNearTokenWithdrawal } = useComputedSnapshot();\n const {\n chainsFilter,\n alchemyApiKey,\n refetchQuoteInterval,\n intentsAccountType,\n onWalletSignout,\n } = useConfig();\n\n const { t } = useTypedTranslation();\n const { status: tokensStatus, refetch: refetchTokens } = useTokens();\n const { tokenModalOpen, updateTokenModalState } = useTokenModal({ onMsg });\n const { onChangeAmount, onChangeToken, lastChangedInput } =\n useTokenInputPair();\n\n const isCompatibilityCheckRequired = useIsCompatibilityCheckRequired();\n const [isCompatibilityOpen, setIsCompatibilityOpen] = useState(\n isCompatibilityCheckRequired,\n );\n\n useEffect(() => {\n if (isCompatibilityCheckRequired) {\n setIsCompatibilityOpen(isCompatibilityCheckRequired);\n }\n }, [isCompatibilityCheckRequired]);\n\n const [transferResult, setTransferResult] = useState<\n TransferResult | undefined\n >();\n\n useEffect(() => {\n fireEvent('reset', { clearWalletAddress: true });\n }, []);\n\n useStoreSideEffects({\n debug: isDebug(),\n listenTo: [\n 'checkWalletConnection',\n 'setSourceTokenBalance',\n ['setDefaultSelectedTokens', { skipIntents: false }],\n [\n 'makeQuote',\n {\n message: undefined,\n type: lastChangedInput === 'target' ? 'exact_out' : 'exact_in',\n refetchQuoteInterval,\n },\n ],\n ['setBalancesUsingAlchemyExt', { alchemyApiKey }],\n ],\n });\n\n if (!!isLoading || (tokensStatus !== 'error' && !ctx.sourceToken)) {\n return <WidgetSwapSkeleton />;\n }\n\n if (isCompatibilityCheckRequired && isCompatibilityOpen) {\n return (\n <WalletCompatibilityCheck\n providers={providers}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_sign_out':\n onWalletSignout?.(intentsAccountType);\n setIsCompatibilityOpen(false);\n break;\n case 'on_close':\n setIsCompatibilityOpen(false);\n break;\n default:\n notReachable(msg.type);\n }\n }}\n />\n );\n }\n\n if (ctx.state === 'transfer_success' && !!transferResult) {\n return (\n <SuccessScreen\n {...transferResult}\n message={[\n 'Your swap has been successfully completed,',\n 'and the funds are now available in your account.',\n ]}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_dismiss_success':\n setTransferResult(undefined);\n break;\n default:\n notReachable(msg.type);\n }\n }}\n />\n );\n }\n\n switch (tokensStatus) {\n case 'error':\n return (\n <BlockingError\n message=\"Couldn't load tokens list.\"\n onClickRetry={refetchTokens}\n />\n );\n\n case 'success': {\n if (tokenModalOpen !== 'none') {\n return (\n <TokensModal\n showBalances\n showChainsSelector\n variant={tokenModalOpen}\n groupTokens={tokenModalOpen === 'source'}\n chainsFilter={\n tokenModalOpen === 'source'\n ? chainsFilter.source\n : chainsFilter.target\n }\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_select_token':\n onChangeToken(tokenModalOpen, msg.token);\n updateTokenModalState('none');\n onMsg?.({\n type: msg.type,\n token: msg.token,\n variant: tokenModalOpen,\n });\n break;\n case 'on_dismiss_tokens_modal':\n updateTokenModalState('none');\n break;\n default:\n notReachable(msg);\n }\n }}\n />\n );\n }\n\n return (\n <div className=\"gap-sw-2xl flex flex-col\">\n <div className=\"gap-[10px] relative flex flex-col\">\n <TokenInput.Source\n heading={t('tokenInput.heading.source.swap', 'Sell')}\n isChanging={lastChangedInput === 'source'}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_select_token':\n onChangeToken('source', msg.token);\n break;\n case 'on_change_amount':\n onChangeAmount('source', msg.amount);\n break;\n case 'on_click_select_token':\n updateTokenModalState('source');\n break;\n default:\n notReachable(msg);\n }\n }}\n />\n\n <SwapDirectionSwitcher disabled={isOneWay} />\n\n <TokenInput.Target\n heading={t('tokenInput.heading.target.swap', 'Buy')}\n isChanging={lastChangedInput === 'target'}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_select_token':\n onChangeToken('target', msg.token);\n break;\n case 'on_change_amount':\n onChangeAmount('target', msg.amount);\n break;\n case 'on_click_select_token':\n updateTokenModalState('target');\n break;\n default:\n notReachable(msg);\n }\n }}\n />\n </div>\n\n {!!ctx.walletAddress &&\n ctx.targetToken &&\n !ctx.targetToken.isIntent && (\n <SendAddress\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_change_send_address':\n break;\n default:\n notReachable(msg.type, { throwError: false });\n }\n }}\n />\n )}\n\n {!isDirectNearTokenWithdrawal && <SwapQuote />}\n\n <SubmitButton\n providers={providers}\n makeTransfer={makeTransfer}\n label={\n ctx.sourceToken?.isIntent && ctx.targetToken?.isIntent\n ? t('submit.active.swap', 'Swap')\n : t('submit.active.intentsSwap', 'Swap & send')\n }\n onSuccess={(transfer) => {\n setTransferResult(transfer);\n onMsg?.({ type: 'on_transfer_success' });\n }}\n />\n </div>\n );\n }\n\n case 'pending':\n default:\n return <WidgetSwapSkeleton />;\n }\n};\n"],"names":["WidgetSwapContent","providers","makeTransfer","onMsg","isLoading","isOneWay","ctx","useUnsafeSnapshot","isDirectNearTokenWithdrawal","useComputedSnapshot","chainsFilter","alchemyApiKey","refetchQuoteInterval","intentsAccountType","onWalletSignout","useConfig","t","useTypedTranslation","tokensStatus","refetchTokens","useTokens","tokenModalOpen","updateTokenModalState","useTokenModal","onChangeAmount","onChangeToken","lastChangedInput","useTokenInputPair","isCompatibilityCheckRequired","useIsCompatibilityCheckRequired","isCompatibilityOpen","setIsCompatibilityOpen","useState","useEffect","transferResult","setTransferResult","fireEvent","useStoreSideEffects","isDebug","WidgetSwapSkeleton","jsx","WalletCompatibilityCheck","msg","notReachable","SuccessScreen","BlockingError","TokensModal","jsxs","TokenInput","SwapDirectionSwitcher","SendAddress","SwapQuote","SubmitButton","transfer"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsxs as a, jsx as l } from "react/jsx-runtime";
2
2
  import o from "clsx";
3
3
  import { SkeletonBox as s } from "../../components/SkeletonBox.js";
4
- import { y as i } from "../../config-Bmc4hOIl.js";
4
+ import { y as i } from "../../config-Behl5hcc.js";
5
5
  const m = () => {
6
6
  const { hideTokenInputHeadings: e } = i();
7
7
  return /* @__PURE__ */ a("div", { className: "w-full gap-sw-lg relative flex flex-col", children: [
@@ -3,7 +3,7 @@ import { useState as w, useEffect as b } from "react";
3
3
  import { useTokenModal as B } from "../../hooks/useTokenModal.js";
4
4
  import { WidgetWithdrawSkeleton as y } from "./WidgetWithdrawSkeleton.js";
5
5
  import { useTypedTranslation as D } from "../../localisation.js";
6
- import { b as N, u as O, y as Q, n as j, c as q, p as S, o as F, S as U } from "../../config-Bmc4hOIl.js";
6
+ import { b as N, u as O, y as Q, n as j, c as q, p as S, o as F, S as U } from "../../config-Behl5hcc.js";
7
7
  import "@tanstack/react-query";
8
8
  import "@headlessui/react";
9
9
  import "framer-motion";
@@ -41,9 +41,8 @@ import { BlockingError as V } from "../../components/BlockingError.js";
41
41
  import "copy-text-to-clipboard";
42
42
  import "../../components/InputAmount.js";
43
43
  import "../../components/Notes.js";
44
- import "../../theme/ThemeProvider.js";
45
44
  import { WalletCompatibilityCheck as X } from "../../features/WalletCompatibilityCheck/index.js";
46
- const Pe = ({
45
+ const Ke = ({
47
46
  providers: u,
48
47
  makeTransfer: T,
49
48
  onMsg: a,
@@ -55,9 +54,9 @@ const Pe = ({
55
54
  refetchQuoteInterval: W,
56
55
  intentsAccountType: M,
57
56
  onWalletSignout: A
58
- } = Q(), { status: d, refetch: E } = j(), { tokenModalOpen: o, updateTokenModalState: n } = B({ onMsg: a }), { onChangeAmount: f, onChangeToken: c, lastChangedInput: p } = J(), k = L(), [R, l] = w(!0);
57
+ } = Q(), { status: d, refetch: E } = j(), { tokenModalOpen: o, updateTokenModalState: n } = B({ onMsg: a }), { onChangeAmount: f, onChangeToken: c, lastChangedInput: p } = J(), k = L(), [R, l] = w(!1);
59
58
  b(() => {
60
- k || l(!1);
59
+ k && l(!0);
61
60
  }, [k]);
62
61
  const [h, g] = w();
63
62
  if (b(() => {
@@ -243,6 +242,6 @@ const Pe = ({
243
242
  }
244
243
  };
245
244
  export {
246
- Pe as WidgetWithdrawContent
245
+ Ke as WidgetWithdrawContent
247
246
  };
248
247
  //# sourceMappingURL=WidgetWithdrawContent.js.map