@wormhole-foundation/wormhole-connect 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.
Files changed (48) hide show
  1. package/README.md +2 -2
  2. package/dist/assets/{cosmos-9t5ds48M.js → cosmos-TcYN7x14.js} +1 -1
  3. package/dist/assets/index-7UgR9Epe.js +3 -0
  4. package/dist/assets/{solana-QOFlt-jY.js → solana-r3vOVfGL.js} +2 -2
  5. package/dist/assets/{solanaEmbed.esm-bag_3ej_.js → solanaEmbed.esm-8lU7Qhqn.js} +1 -1
  6. package/dist/main.js +81 -81
  7. package/dist/src/components/FooterNavBar.d.ts.map +1 -1
  8. package/dist/src/components/Modal.d.ts.map +1 -1
  9. package/lib/{aptos-UAGgJW-c.js → aptos-AmR02Xhn.js} +1 -1
  10. package/lib/{aptos-sQp7-Pbn.mjs → aptos-bgjJGWdx.mjs} +1 -1
  11. package/lib/{ccip-tWrKqmrC.mjs → ccip-0jzIZP4k.mjs} +3 -3
  12. package/lib/{ccip-3-5aDC6j.js → ccip-9jom-vjr.js} +1 -1
  13. package/lib/{cosmos-c0ANwRMm.js → cosmos-3y9vDcfR.js} +1 -1
  14. package/lib/{cosmos-Ut9Azo4e.mjs → cosmos-A4yQRFAh.mjs} +3 -3
  15. package/lib/{evm-TvfKhHM5.mjs → evm-qmzQ2Gf7.mjs} +4 -4
  16. package/lib/{evm-y8VI9cdI.js → evm-rKNnB0WS.js} +3 -3
  17. package/lib/{index-OFCgmgva.js → index-61YO3GC1.js} +1 -1
  18. package/lib/{index-mQGs2c35.js → index-7-k4mNvr.js} +1 -1
  19. package/lib/{index-lCZxCUl7.mjs → index-CAnkw_lf.mjs} +2 -2
  20. package/lib/{index-wJ2yRAWl.js → index-EmNF44zZ.js} +1 -1
  21. package/lib/{index-h6aptDQb.mjs → index-MNnSI-Yg.mjs} +1 -1
  22. package/lib/{index-GHV801ue.js → index-N7deTcq6.js} +1 -1
  23. package/lib/{index-1cOPtvwQ.mjs → index-NUHQsO5_.mjs} +1 -1
  24. package/lib/{index-1YV56LdA.mjs → index-T-tTHNJx.mjs} +3 -3
  25. package/lib/{index-gu6kGHH5.mjs → index-niFlyU4I.mjs} +95 -87
  26. package/lib/{index-5alBFtnd.js → index-xIg_X2Ur.js} +4 -4
  27. package/lib/{index.es-Y-BkjrQb.js → index.es-6-qO16vM.js} +1 -1
  28. package/lib/{index.es-xARlRLjN.js → index.es-KiFU950X.js} +2 -2
  29. package/lib/{index.es-8zczxkxh.mjs → index.es-UHrIJ6HA.mjs} +4 -4
  30. package/lib/{index.es-HPVa6RUM.js → index.es-W9XPcaAI.js} +1 -1
  31. package/lib/{index.es-T8CoHm6Q.mjs → index.es-mluIIub3.mjs} +1 -1
  32. package/lib/{index.es-5qEu2hYx.mjs → index.es-rpqf6luo.mjs} +2 -2
  33. package/lib/index.js +1 -1
  34. package/lib/index.mjs +1 -1
  35. package/lib/{libsodium-wrappers-Xf3S9F8U.js → libsodium-wrappers-K-0Dw1pQ.js} +1 -1
  36. package/lib/{libsodium-wrappers-Osw_Ockb.mjs → libsodium-wrappers-uIN0mQDN.mjs} +1 -1
  37. package/lib/{sei-HANHbz2S.mjs → sei-66eAwSMC.mjs} +2 -2
  38. package/lib/{sei-klsEZJod.js → sei-pCQSS2uT.js} +1 -1
  39. package/lib/{solana-Yvow0N4F.js → solana-m5L2uZJk.js} +1 -1
  40. package/lib/{solana-044Ctc8v.mjs → solana-xIgSDPR3.mjs} +3 -3
  41. package/lib/{solanaEmbed.esm-z7Y2BuKh.mjs → solanaEmbed.esm--PQnDX84.mjs} +2 -2
  42. package/lib/{solanaEmbed.esm-D9vb9koN.js → solanaEmbed.esm-_zfRQrsu.js} +1 -1
  43. package/lib/src/components/FooterNavBar.d.ts.map +1 -1
  44. package/lib/src/components/Modal.d.ts.map +1 -1
  45. package/lib/{sui-s59NViRM.js → sui-IirB7twW.js} +1 -1
  46. package/lib/{sui-_2GUfwPV.mjs → sui-NuwWjuO0.mjs} +1 -1
  47. package/package.json +1 -1
  48. package/dist/assets/index-bti7uInf.js +0 -3
@@ -191216,28 +191216,6 @@ var __awaiter$2 = function(e, Re, Fe, Qe) {
191216
191216
  Ze((Qe = Qe.apply(e, Re || [])).next());
191217
191217
  });
191218
191218
  };
191219
- function redeemAndUnwrapOnSolana(e, Re, Fe, Qe, Je, qe) {
191220
- return __awaiter$2(this, void 0, void 0, function* () {
191221
- const We = parseTokenTransferVaa$1(Je), Ke = new PublicKey$4(We.to), dt = yield getMint(e, NATIVE_MINT, qe).then((jn) => We.amount * BigInt(Math.pow(10, jn.decimals - MAX_VAA_DECIMALS))), Ze = yield getMinimumBalanceForRentExemptAccount(e, qe);
191222
- if (dist$7.Buffer.compare(We.tokenAddress, NATIVE_MINT.toBuffer()) != 0)
191223
- return Promise.reject("tokenAddress != NATIVE_MINT");
191224
- const ht = new PublicKey$4(Qe), Kn = Keypair.generate(), Dt = createCompleteTransferNativeInstruction(Fe, Re, ht, Je), Hn = SystemProgram.createAccount({
191225
- fromPubkey: ht,
191226
- newAccountPubkey: Kn.publicKey,
191227
- lamports: Ze,
191228
- space: ACCOUNT_SIZE,
191229
- programId: TOKEN_PROGRAM_ID
191230
- }), Un = createInitializeAccountInstruction(Kn.publicKey, NATIVE_MINT, ht), Fn = createTransferInstruction(Ke, Kn.publicKey, ht, dt.valueOf()), Wn = createCloseAccountInstruction(
191231
- Kn.publicKey,
191232
- //account to close
191233
- ht,
191234
- //Remaining funds destination
191235
- ht
191236
- //authority
191237
- ), { blockhash: er } = yield e.getLatestBlockhash(qe), Zn = new Transaction();
191238
- return Zn.recentBlockhash = er, Zn.feePayer = ht, Zn.add(Dt, Hn, Un, Fn, Wn), Zn.partialSign(Kn), Zn;
191239
- });
191240
- }
191241
191219
  function redeemOnSolana(e, Re, Fe, Qe, Je, qe, We) {
191242
191220
  return __awaiter$2(this, void 0, void 0, function* () {
191243
191221
  const Ke = parseTokenTransferVaa$1(Je), dt = Ke.tokenChain == CHAIN_ID_SOLANA$1 ? createCompleteTransferNativeInstruction : createCompleteTransferWrappedInstruction, Ze = new Transaction().add(dt(Fe, Re, Qe, Ke, qe)), { blockhash: ht } = yield e.getLatestBlockhash(We);
@@ -198565,6 +198543,73 @@ function createReadOnlyTokenBridgeProgramInterface(e, Re) {
198565
198543
  function coder$1() {
198566
198544
  return new TokenBridgeCoder(IDL$4);
198567
198545
  }
198546
+ const DEFAULT_FEE_PERCENTILE = 0.5;
198547
+ async function addComputeBudget(e, Re, Fe = [], Qe = DEFAULT_FEE_PERCENTILE, Je = 0) {
198548
+ Fe.length === 0 && (Fe = Re.instructions.flatMap((We) => We.keys).map((We) => We.isWritable ? We.pubkey : null).filter((We) => We !== null));
198549
+ const qe = await determineComputeBudget(e, Re, Fe, DEFAULT_FEE_PERCENTILE, Je);
198550
+ Re.add(...qe);
198551
+ }
198552
+ async function determineComputeBudget(e, Re, Fe = [], Qe = DEFAULT_FEE_PERCENTILE, Je = 0) {
198553
+ var Ke;
198554
+ let qe = 25e4, We = 1;
198555
+ try {
198556
+ const dt = await e.simulateTransaction(Re);
198557
+ dt.value.err && console.error(`Error simulating Solana transaction: ${dt.value.err}`), (Ke = dt == null ? void 0 : dt.value) != null && Ke.unitsConsumed && (qe = Math.round(dt.value.unitsConsumed * 1.2));
198558
+ } catch (dt) {
198559
+ console.error(`Failed to calculate compute unit limit for Solana transaction: ${dt}`);
198560
+ }
198561
+ try {
198562
+ We = await determinePriorityFee(e, Fe, Qe);
198563
+ } catch (dt) {
198564
+ console.error(`Failed to calculate compute unit price for Solana transaction: ${dt}`);
198565
+ }
198566
+ return We = Math.max(We, Je), console.info(`Setting Solana compute unit budget to ${qe} units`), console.info(`Setting Solana compute unit price to ${We} microLamports`), [
198567
+ ComputeBudgetProgram.setComputeUnitLimit({
198568
+ units: qe
198569
+ }),
198570
+ ComputeBudgetProgram.setComputeUnitPrice({
198571
+ microLamports: We
198572
+ })
198573
+ ];
198574
+ }
198575
+ async function determinePriorityFee(e, Re = [], Fe) {
198576
+ let Qe = 1;
198577
+ try {
198578
+ const Je = await e.getRecentPrioritizationFees({
198579
+ lockedWritableAccounts: Re
198580
+ });
198581
+ if (Je) {
198582
+ const qe = Je.map((We) => We.prioritizationFee).filter((We) => We > 0).sort((We, Ke) => We - Ke);
198583
+ if (qe.length > 0) {
198584
+ const We = qe[Math.floor(qe.length * Fe)];
198585
+ Qe = Math.max(Qe, We);
198586
+ }
198587
+ }
198588
+ } catch (Je) {
198589
+ console.error("Error fetching Solana recent fees", Je);
198590
+ }
198591
+ return Qe;
198592
+ }
198593
+ async function redeemAndUnwrapOnSolana(e, Re, Fe, Qe, Je, qe) {
198594
+ const We = parseTokenTransferVaa$1(Je), Ke = new PublicKey$4(We.to), dt = await getMint(e, NATIVE_MINT, qe).then((jn) => We.amount * BigInt(Math.pow(10, jn.decimals - MAX_VAA_DECIMALS))), Ze = await getMinimumBalanceForRentExemptAccount(e, qe);
198595
+ if (dist$7.Buffer.compare(We.tokenAddress, NATIVE_MINT.toBuffer()) != 0)
198596
+ return Promise.reject("tokenAddress != NATIVE_MINT");
198597
+ const ht = new PublicKey$4(Qe), Kn = Keypair.generate(), Dt = createCompleteTransferNativeInstruction(Fe, Re, ht, Je), Hn = SystemProgram.createAccount({
198598
+ fromPubkey: ht,
198599
+ newAccountPubkey: Kn.publicKey,
198600
+ lamports: Ze,
198601
+ //spl token accounts need rent exemption
198602
+ space: ACCOUNT_SIZE,
198603
+ programId: TOKEN_PROGRAM_ID
198604
+ }), Un = createInitializeAccountInstruction(Kn.publicKey, NATIVE_MINT, ht), Fn = createTransferInstruction(Ke, Kn.publicKey, ht, dt.valueOf()), Wn = createCloseAccountInstruction(
198605
+ Kn.publicKey,
198606
+ //account to close
198607
+ ht,
198608
+ //Remaining funds destination
198609
+ ht
198610
+ ), { blockhash: er } = await e.getLatestBlockhash(qe), Zn = new Transaction();
198611
+ return Zn.recentBlockhash = er, Zn.feePayer = ht, Zn.add(Dt, Hn, Un, Fn, Wn), await addComputeBudget(e, Zn, void 0, 0.9, 5e5), Zn.partialSign(Kn), Zn;
198612
+ }
198568
198613
  function createTransferNativeInstruction(e, Re, Fe, Qe, Je, qe, We, Ke, dt, Ze, ht, Kn) {
198569
198614
  const Dt = createReadOnlyTokenBridgeProgramInterface(Re, e).methods.transferNative(Ke, dt, Ze, dist$7.Buffer.from(ht), Kn);
198570
198615
  return Dt._ixFn(...Dt._args, {
@@ -201815,48 +201860,6 @@ class SolContracts extends ContractsAbstract {
201815
201860
  throw new Error(`Wormhole circle relayer contract for domain ${Re} not found`);
201816
201861
  }
201817
201862
  }
201818
- const DEFAULT_FEE_PERCENTILE = 0.5;
201819
- async function addComputeBudget(e, Re, Fe = []) {
201820
- Fe.length === 0 && (Fe = Re.instructions.flatMap((Je) => Je.keys).map((Je) => Je.isWritable ? Je.pubkey : null).filter((Je) => Je !== null));
201821
- const Qe = await determineComputeBudget(e, Re, Fe);
201822
- Re.add(...Qe);
201823
- }
201824
- async function determineComputeBudget(e, Re, Fe = [], Qe = DEFAULT_FEE_PERCENTILE) {
201825
- var We;
201826
- let Je = 25e4, qe = 1;
201827
- try {
201828
- const Ke = await e.simulateTransaction(Re);
201829
- Ke.value.err && console.error(`Error simulating Solana transaction: ${Ke.value.err}`), (We = Ke == null ? void 0 : Ke.value) != null && We.unitsConsumed && (Je = Math.round(Ke.value.unitsConsumed * 1.2)), qe = await determinePriorityFee(e, Fe, Qe);
201830
- } catch (Ke) {
201831
- console.error(`Failed to get compute budget for Solana transaction: ${Ke}`);
201832
- }
201833
- return console.info(`Setting Solana compute unit budget to ${Je} units`), console.info(`Setting Solana compute unit price to ${qe} microLamports`), [
201834
- ComputeBudgetProgram.setComputeUnitLimit({
201835
- units: Je
201836
- }),
201837
- ComputeBudgetProgram.setComputeUnitPrice({
201838
- microLamports: qe
201839
- })
201840
- ];
201841
- }
201842
- async function determinePriorityFee(e, Re = [], Fe) {
201843
- let Qe = 1;
201844
- try {
201845
- const Je = await e.getRecentPrioritizationFees({
201846
- lockedWritableAccounts: Re
201847
- });
201848
- if (Je) {
201849
- const qe = Je.map((We) => We.prioritizationFee).filter((We) => We > 0).sort((We, Ke) => We - Ke);
201850
- if (qe.length > 0) {
201851
- const We = qe[Math.floor(qe.length * Fe)];
201852
- Qe = Math.max(Qe, We);
201853
- }
201854
- }
201855
- } catch (Je) {
201856
- console.error("Error fetching Solana recent fees", Je);
201857
- }
201858
- return Qe;
201859
- }
201860
201863
  const SOLANA_SEQ_LOG = "Program log: Sequence: ", SOLANA_CHAIN_NAME = MAINNET_CONFIG.chains.solana.key, SOLANA_MAINNET_EMMITER_ID = "ec7372995d5cc8732397fb0ad35c0121e0eaa90d26f828a534cab54391b3a4f5", SOLANA_TESTNET_EMITTER_ID = "3b26409f8aaded3f5ddca184695aa6a0fa829b0c85caf84856324896d214ca98";
201861
201864
  class SolanaContext extends RelayerAbstract {
201862
201865
  constructor(Re, Fe) {
@@ -202170,8 +202173,9 @@ class SolanaContext extends RelayerAbstract {
202170
202173
  const qe = this.contracts.mustGetContracts(SOLANA_CHAIN_NAME);
202171
202174
  if (!qe.core || !qe.token_bridge)
202172
202175
  throw new Error("contracts not found for solana");
202173
- const We = parseTokenTransferVaa(Fe), Ke = new PublicKey$4(We.tokenAddress);
202174
- return We.tokenChain === MAINNET_CHAINS$1.solana && Ke.equals(NATIVE_MINT) ? await redeemAndUnwrapOnSolana(this.connection, qe.core, qe.token_bridge, Je, Fe) : await redeemOnSolana(this.connection, qe.core, qe.token_bridge, Je, Fe);
202176
+ const We = parseTokenTransferVaa(Fe), Ke = new PublicKey$4(We.tokenAddress), dt = We.tokenChain === MAINNET_CHAINS$1.solana && Ke.equals(NATIVE_MINT);
202177
+ let Ze;
202178
+ return dt ? Ze = await redeemAndUnwrapOnSolana(this.connection, qe.core, qe.token_bridge, Je, Fe, "finalized") : (Ze = await redeemOnSolana(this.connection, qe.core, qe.token_bridge, Je, Fe, void 0, "finalized"), await addComputeBudget(this.connection, Ze)), Ze;
202175
202179
  }
202176
202180
  async redeemRelay(Re, Fe, Qe, Je) {
202177
202181
  var er;
@@ -287212,7 +287216,7 @@ const walletConnection = {
287212
287216
  if (Fe.getNetworkInfo().chainId !== e) {
287213
287217
  if (Qe.context === Context.ETH)
287214
287218
  try {
287215
- const { switchChain: qe } = await import("./evm-TvfKhHM5.mjs").then((We) => We.f);
287219
+ const { switchChain: qe } = await import("./evm-qmzQ2Gf7.mjs").then((We) => We.f);
287216
287220
  await qe(Fe, e);
287217
287221
  } catch (qe) {
287218
287222
  if (qe instanceof NotSupported)
@@ -287220,7 +287224,7 @@ const walletConnection = {
287220
287224
  throw qe;
287221
287225
  }
287222
287226
  if (Qe.context === Context.COSMOS) {
287223
- const { switchChain: qe } = await import("./cosmos-Ut9Azo4e.mjs");
287227
+ const { switchChain: qe } = await import("./cosmos-A4yQRFAh.mjs");
287224
287228
  await qe(Fe, e);
287225
287229
  }
287226
287230
  return Fe.getAddress();
@@ -287229,7 +287233,7 @@ const walletConnection = {
287229
287233
  const Re = walletConnection[e];
287230
287234
  Re && await Re.disconnect();
287231
287235
  }, watchAsset = async (e, Re) => {
287232
- const Fe = walletConnection[Re], { watchAsset: Qe } = await import("./evm-TvfKhHM5.mjs").then((Je) => Je.f);
287236
+ const Fe = walletConnection[Re], { watchAsset: Qe } = await import("./evm-qmzQ2Gf7.mjs").then((Je) => Je.f);
287233
287237
  await Qe(e, Fe);
287234
287238
  }, signAndSendTransaction = async (e, Re, Fe) => {
287235
287239
  const Qe = config$1.chains[e], Je = walletConnection[Fe];
@@ -287239,23 +287243,23 @@ const walletConnection = {
287239
287243
  case Context.ETH:
287240
287244
  return Re.transactionHash;
287241
287245
  case Context.SOLANA: {
287242
- const { signAndSendTransaction: qe } = await import("./solana-044Ctc8v.mjs");
287246
+ const { signAndSendTransaction: qe } = await import("./solana-xIgSDPR3.mjs");
287243
287247
  return (await qe(Re, Je)).id;
287244
287248
  }
287245
287249
  case Context.SUI: {
287246
- const { signAndSendTransaction: qe } = await import("./sui-_2GUfwPV.mjs");
287250
+ const { signAndSendTransaction: qe } = await import("./sui-NuwWjuO0.mjs");
287247
287251
  return (await qe(Re, Je)).id;
287248
287252
  }
287249
287253
  case Context.APTOS: {
287250
- const { signAndSendTransaction: qe } = await import("./aptos-sQp7-Pbn.mjs");
287254
+ const { signAndSendTransaction: qe } = await import("./aptos-bgjJGWdx.mjs");
287251
287255
  return (await qe(Re, Je)).id;
287252
287256
  }
287253
287257
  case Context.SEI: {
287254
- const { signAndSendTransaction: qe } = await import("./sei-HANHbz2S.mjs");
287258
+ const { signAndSendTransaction: qe } = await import("./sei-66eAwSMC.mjs");
287255
287259
  return (await qe(Re, Je)).id;
287256
287260
  }
287257
287261
  case Context.COSMOS: {
287258
- const { signAndSendTransaction: qe } = await import("./cosmos-Ut9Azo4e.mjs");
287262
+ const { signAndSendTransaction: qe } = await import("./cosmos-A4yQRFAh.mjs");
287259
287263
  return (await qe(Re, Je)).id;
287260
287264
  }
287261
287265
  default:
@@ -287288,39 +287292,39 @@ const walletConnection = {
287288
287292
  if (e === void 0)
287289
287293
  return [];
287290
287294
  if (e.context === Context.ETH) {
287291
- const { wallets: Re } = await import("./evm-TvfKhHM5.mjs").then((Fe) => Fe.f);
287295
+ const { wallets: Re } = await import("./evm-qmzQ2Gf7.mjs").then((Fe) => Fe.f);
287292
287296
  return Object.values(mapWallets(Re, Context.ETH));
287293
287297
  } else if (e.context === Context.SOLANA) {
287294
- const { fetchOptions: Re } = await import("./solana-044Ctc8v.mjs"), Fe = Re();
287298
+ const { fetchOptions: Re } = await import("./solana-xIgSDPR3.mjs"), Fe = Re();
287295
287299
  return Object.values(mapWallets(Fe, Context.SOLANA));
287296
287300
  } else if (e.context === Context.SUI) {
287297
- const Fe = await (await import("./sui-_2GUfwPV.mjs")).fetchOptions();
287301
+ const Fe = await (await import("./sui-NuwWjuO0.mjs")).fetchOptions();
287298
287302
  return Object.values(mapWallets(Fe, Context.SUI));
287299
287303
  } else if (e.context === Context.APTOS) {
287300
- const Fe = (await import("./aptos-sQp7-Pbn.mjs")).fetchOptions();
287304
+ const Fe = (await import("./aptos-bgjJGWdx.mjs")).fetchOptions();
287301
287305
  return Object.values(mapWallets(Fe, Context.APTOS));
287302
287306
  } else if (e.context === Context.SEI) {
287303
- const Fe = await (await import("./sei-HANHbz2S.mjs")).fetchOptions();
287307
+ const Fe = await (await import("./sei-66eAwSMC.mjs")).fetchOptions();
287304
287308
  return Object.values(mapWallets(Fe, Context.SEI));
287305
287309
  } else if (e.context === Context.COSMOS)
287306
287310
  if (e.id === CHAIN_ID_EVMOS$1) {
287307
287311
  const {
287308
287312
  wallets: { cosmosEvm: Re }
287309
- } = await import("./cosmos-Ut9Azo4e.mjs");
287313
+ } = await import("./cosmos-A4yQRFAh.mjs");
287310
287314
  return Object.values(
287311
287315
  mapWallets(Re, Context.COSMOS, ["OKX Wallet"])
287312
287316
  );
287313
287317
  } else if (e.id === CHAIN_ID_INJECTIVE$1) {
287314
287318
  const {
287315
287319
  wallets: { cosmosEvm: Re }
287316
- } = await import("./cosmos-Ut9Azo4e.mjs");
287320
+ } = await import("./cosmos-A4yQRFAh.mjs");
287317
287321
  return Object.values(
287318
287322
  mapWallets(Re, Context.COSMOS, ["OKX Wallet"])
287319
287323
  );
287320
287324
  } else {
287321
287325
  const {
287322
287326
  wallets: { cosmos: Re }
287323
- } = await import("./cosmos-Ut9Azo4e.mjs");
287327
+ } = await import("./cosmos-A4yQRFAh.mjs");
287324
287328
  return Object.values(mapWallets(Re, Context.COSMOS));
287325
287329
  }
287326
287330
  return [];
@@ -319295,7 +319299,14 @@ function Modal({ open: e, width: Re, closable: Fe, children: Qe, onClose: Je })
319295
319299
  const { classes: qe } = useStyles$B({ width: Re }), We = useCallback((Ke) => {
319296
319300
  Ke.stopPropagation();
319297
319301
  }, []);
319298
- return /* @__PURE__ */ jsxRuntimeExports.jsx(
319302
+ return useEffect(() => {
319303
+ const Ke = (dt) => {
319304
+ (dt.keyCode === 27 || dt.which === 27) && Je();
319305
+ };
319306
+ return document.addEventListener("keyup", Ke), () => {
319307
+ document.removeEventListener("keyup", Ke);
319308
+ };
319309
+ }, []), /* @__PURE__ */ jsxRuntimeExports.jsx(
319299
319310
  Dialog$1,
319300
319311
  {
319301
319312
  open: e,
@@ -321965,10 +321976,7 @@ function FooterNavBar() {
321965
321976
  Re(setRoute(Je));
321966
321977
  },
321967
321978
  [Re]
321968
- ), Qe = useMemo(
321969
- () => config$1.menu.reduce(itemAppender, defaultMenuItems(Fe)),
321970
- [Fe]
321971
- );
321979
+ ), Qe = config$1.menu.reduce(itemAppender, defaultMenuItems(Fe));
321972
321980
  return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: e.menu, children: Qe.map(({ label: Je, handleClick: qe }, We) => /* @__PURE__ */ jsxRuntimeExports.jsx(
321973
321981
  "div",
321974
321982
  {