@tuwaio/nova-connect 1.0.0-fix-indep-alpha.2.19e398f → 1.0.0-fix-indep-alpha.4.34e33fc
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.
- package/dist/{chunk-OEG3F2P2.js → chunk-5NO4S3N6.js} +3 -3
- package/dist/{chunk-OEG3F2P2.js.map → chunk-5NO4S3N6.js.map} +1 -1
- package/dist/chunk-AIK5PZKK.js +2 -0
- package/dist/chunk-AIK5PZKK.js.map +1 -0
- package/dist/chunk-HD3XOSPF.cjs +2 -0
- package/dist/chunk-HD3XOSPF.cjs.map +1 -0
- package/dist/{chunk-SHVZSXXR.cjs → chunk-HGNQGX55.cjs} +4 -4
- package/dist/{chunk-SHVZSXXR.cjs.map → chunk-HGNQGX55.cjs.map} +1 -1
- package/dist/{chunk-JGLDANME.js → chunk-IJAOXAYK.js} +3 -3
- package/dist/{chunk-JGLDANME.js.map → chunk-IJAOXAYK.js.map} +1 -1
- package/dist/{chunk-S2OWIMXG.cjs → chunk-UKICC3L6.cjs} +3 -3
- package/dist/{chunk-S2OWIMXG.cjs.map → chunk-UKICC3L6.cjs.map} +1 -1
- package/dist/components/index.cjs +1 -1
- package/dist/components/index.js +1 -1
- package/dist/evm/index.cjs +1 -1
- package/dist/evm/index.cjs.map +1 -1
- package/dist/evm/index.d.cts +24 -4
- package/dist/evm/index.d.ts +24 -4
- package/dist/evm/index.js +1 -1
- package/dist/evm/index.js.map +1 -1
- package/dist/evm-6ZNRGFP6.js +2 -0
- package/dist/evm-6ZNRGFP6.js.map +1 -0
- package/dist/evm-HHXFWYBL.cjs +2 -0
- package/dist/evm-HHXFWYBL.cjs.map +1 -0
- package/dist/getChainsListByConnectorType-5S4LY67B.cjs +2 -0
- package/dist/{getChainsListByConnectorType-ZDMZCWJQ.cjs.map → getChainsListByConnectorType-5S4LY67B.cjs.map} +1 -1
- package/dist/{getChainsListByConnectorType-W6UDLFBJ.js → getChainsListByConnectorType-VKIEDNV7.js} +2 -2
- package/dist/{getChainsListByConnectorType-W6UDLFBJ.js.map → getChainsListByConnectorType-VKIEDNV7.js.map} +1 -1
- package/dist/hooks/index.cjs +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +11 -11
- package/dist/index.d.ts +11 -11
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/solana/index.cjs +1 -1
- package/dist/solana/index.cjs.map +1 -1
- package/dist/solana/index.d.cts +21 -6
- package/dist/solana/index.d.ts +21 -6
- package/dist/solana/index.js +1 -1
- package/dist/solana/index.js.map +1 -1
- package/dist/solana-3TFK54UZ.js +2 -0
- package/dist/solana-3TFK54UZ.js.map +1 -0
- package/dist/solana-KOGSMKO4.cjs +2 -0
- package/dist/solana-KOGSMKO4.cjs.map +1 -0
- package/package.json +3 -3
- package/dist/chunk-GEKUE6DA.js +0 -2
- package/dist/chunk-GEKUE6DA.js.map +0 -1
- package/dist/chunk-TCSUZ35B.cjs +0 -2
- package/dist/chunk-TCSUZ35B.cjs.map +0 -1
- package/dist/evm-HEAZFJ7Q.js +0 -2
- package/dist/evm-HEAZFJ7Q.js.map +0 -1
- package/dist/evm-OMPZNXHK.cjs +0 -2
- package/dist/evm-OMPZNXHK.cjs.map +0 -1
- package/dist/getChainsListByConnectorType-ZDMZCWJQ.cjs +0 -2
- package/dist/solana-MGGAOLA3.cjs +0 -2
- package/dist/solana-MGGAOLA3.cjs.map +0 -1
- package/dist/solana-XBTO6NEP.js +0 -2
- package/dist/solana-XBTO6NEP.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/adapters/evm.ts"],"names":["getEvmUtils","error","createEvmAdapter","evmUtils","appChains","chain","id","chains","isEvmAdapterAvailable"],"mappings":"AAgCA,eAAeA,CAAAA,EAA8C,CAC3D,GAAI,CAGF,OADiB,MAAM,OAAO,gBAAW,CAE3C,CAAA,MAASC,CAAAA,CAAO,CACd,OAAA,OAAA,CAAQ,IAAA,CAAK,8BAAA,CAAgCA,CAAK,CAAA,CAC3C,IACT,CACF,CA6BA,eAAsBC,CAAAA,EAA0C,CAC9D,IAAMC,CAAAA,CAAW,MAAMH,CAAAA,EAAY,CAEnC,OAAO,CAOL,MAAM,SAAA,CAAUI,CAAAA,CAA8C,CAE5D,OAAID,CAAAA,EAAU,YAAA,CACL,MAAMA,CAAAA,CAAS,YAAA,CAAaC,CAAS,CAAA,CAI1C,CAAC,KAAA,CAAM,OAAA,CAAQA,CAAS,CAAA,EAAKA,CAAAA,CAAU,MAAA,GAAW,CAAA,CAC7C,EAAC,CAGHA,CAAAA,CACJ,GAAA,CAAKC,CAAAA,EAEA,OAAOA,CAAAA,EAAU,QAAA,EAAYA,CAAAA,EAAO,EAAA,GAAO,OACtCA,CAAAA,CAAM,EAAA,CAGX,OAAOA,CAAAA,EAAU,QAAA,EAAY,OAAOA,CAAAA,EAAU,QAAA,CACzCA,CAAAA,CAEF,IACR,CAAA,CACA,MAAA,CAAQC,CAAAA,EAAmCA,CAAAA,GAAO,IAAA,GAAS,OAAOA,CAAAA,EAAO,QAAA,EAAY,OAAOA,CAAAA,EAAO,QAAA,CAAS,CACjH,CAAA,CASA,WAAA,CAAYC,CAAAA,CAAsC,CAChD,OAAIJ,CAAAA,EAAU,cAAA,CACLA,CAAAA,CAAS,cAAA,CAAeI,CAAM,CAAA,CAIhCA,CAAAA,CAAO,MAAA,CAAS,CAAA,EAAKA,CAAAA,CAAO,KAAA,CAAOF,CAAAA,EAAU,OAAOA,CAAAA,EAAU,QAAQ,CAC/E,CACF,CACF,CAsBA,eAAsBG,CAAAA,EAA0C,CAC9D,GAAI,CACF,OAAA,MAAM,OAAO,gBAAW,CAAA,CACjB,CAAA,CACT,CAAA,KAAQ,CACN,OAAO,MACT,CACF","file":"evm-6ZNRGFP6.js","sourcesContent":["import type { ChainAdapter } from './types';\n\n/**\n * EVM utilities module interface for dynamic imports.\n *\n * @internal\n * @since 1.0.0\n */\ninterface EvmUtilsModule {\n getEvmChains?: (appChains: any) => Promise<(string | number)[]>;\n isEvmChainList?: (chains: (string | number)[]) => boolean;\n initializeEvmUtils?: () => Promise<boolean>;\n}\n\n/**\n * Dynamically imports and checks availability of EVM utilities.\n * This function attempts to load EVM-specific utilities without throwing errors\n * if the EVM package is not installed in the current environment.\n *\n * @internal\n * @returns Promise resolving to EVM utilities module or null if not available\n *\n * @example\n * ```typescript\n * const evmUtils = await getEvmUtils();\n * if (evmUtils?.getEvmChains) {\n * const chains = evmUtils.getEvmChains(appChains);\n * }\n * ```\n *\n * @since 1.0.0\n */\nasync function getEvmUtils(): Promise<EvmUtilsModule | null> {\n try {\n // Dynamic import of EVM utilities - fails gracefully if package not installed\n const evmUtils = await import('../../evm');\n return evmUtils;\n } catch (error) {\n console.warn('EVM utilities not available:', error);\n return null;\n }\n}\n\n/**\n * Creates an EVM chain adapter with dynamic loading and fallback support.\n *\n * This adapter provides EVM-specific functionality while gracefully handling\n * environments where EVM utilities are not available. It uses intelligent\n * fallbacks to ensure basic functionality even without the full EVM package.\n *\n * @returns Promise resolving to a configured EVM ChainAdapter\n *\n * @example\n * ```typescript\n * const adapter = await createEvmAdapter();\n *\n * // Get EVM chain IDs from app configuration\n * const chainIds = adapter.getChains([\n * { id: 1, name: 'Ethereum' },\n * { id: 137, name: 'Polygon' }\n * ]);\n * console.log(chainIds); // [1, 137]\n *\n * // Validate chain list format\n * const isValid = adapter.isChainList([1, 137, 56]);\n * console.log(isValid); // true (numeric IDs are valid for EVM)\n * ```\n *\n * @since 1.0.0\n */\nexport async function createEvmAdapter(): Promise<ChainAdapter> {\n const evmUtils = await getEvmUtils();\n\n return {\n /**\n * Extracts chain IDs from EVM app chain configuration.\n *\n * @param appChains Array of chain configurations or chain identifiers\n * @returns Array of chain IDs (numbers or strings)\n */\n async getChains(appChains: any): Promise<(string | number)[]> {\n // Use imported EVM utilities if available\n if (evmUtils?.getEvmChains) {\n return await evmUtils.getEvmChains(appChains);\n }\n\n // Fallback implementation for basic chain extraction\n if (!Array.isArray(appChains) || appChains.length === 0) {\n return [];\n }\n\n return appChains\n .map((chain: any) => {\n // Handle chain objects with id property\n if (typeof chain === 'object' && chain?.id !== undefined) {\n return chain.id;\n }\n // Handle direct chain identifiers\n if (typeof chain === 'number' || typeof chain === 'string') {\n return chain;\n }\n return null;\n })\n .filter((id: any): id is string | number => id !== null && (typeof id === 'string' || typeof id === 'number'));\n },\n\n /**\n * Validates whether the provided chains list conforms to EVM chain format.\n * EVM chains are typically identified by numeric IDs.\n *\n * @param chains Array of chain identifiers to validate\n * @returns True if the chain list is valid for EVM\n */\n isChainList(chains: (string | number)[]): boolean {\n if (evmUtils?.isEvmChainList) {\n return evmUtils.isEvmChainList(chains);\n }\n\n // Fallback validation: EVM chains should be numbers\n return chains.length > 0 && chains.every((chain) => typeof chain === 'number');\n },\n };\n}\n\n/**\n * Checks if the EVM adapter can be created in the current environment.\n * This function verifies that the required EVM utilities are available\n * by attempting to import them.\n *\n * @returns Promise resolving to true if EVM adapter is available\n *\n * @example\n * ```typescript\n * const hasEvm = await isEvmAdapterAvailable();\n * if (hasEvm) {\n * const adapter = await createEvmAdapter();\n * // Use EVM functionality\n * } else {\n * console.log('EVM support not available in this build');\n * }\n * ```\n *\n * @since 1.0.0\n */\nexport async function isEvmAdapterAvailable(): Promise<boolean> {\n try {\n await import('../../evm');\n return true;\n } catch {\n return false;\n }\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';async function n(){try{return await import('./evm/index.cjs')}catch(r){return console.warn("EVM utilities not available:",r),null}}async function i(){let r=await n();return {async getChains(e){return r?.getEvmChains?await r.getEvmChains(e):!Array.isArray(e)||e.length===0?[]:e.map(t=>typeof t=="object"&&t?.id!==void 0?t.id:typeof t=="number"||typeof t=="string"?t:null).filter(t=>t!==null&&(typeof t=="string"||typeof t=="number"))},isChainList(e){return r?.isEvmChainList?r.isEvmChainList(e):e.length>0&&e.every(t=>typeof t=="number")}}}async function s(){try{return await import('./evm/index.cjs'),!0}catch{return false}}exports.createEvmAdapter=i;exports.isEvmAdapterAvailable=s;//# sourceMappingURL=evm-HHXFWYBL.cjs.map
|
|
2
|
+
//# sourceMappingURL=evm-HHXFWYBL.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/utils/adapters/evm.ts"],"names":["getEvmUtils","error","createEvmAdapter","evmUtils","appChains","chain","id","chains","isEvmAdapterAvailable"],"mappings":"aAgCA,eAAeA,CAAAA,EAA8C,CAC3D,GAAI,CAGF,OADiB,MAAM,OAAO,iBAAW,CAE3C,CAAA,MAASC,CAAAA,CAAO,CACd,OAAA,OAAA,CAAQ,IAAA,CAAK,8BAAA,CAAgCA,CAAK,CAAA,CAC3C,IACT,CACF,CA6BA,eAAsBC,CAAAA,EAA0C,CAC9D,IAAMC,CAAAA,CAAW,MAAMH,CAAAA,EAAY,CAEnC,OAAO,CAOL,MAAM,SAAA,CAAUI,CAAAA,CAA8C,CAE5D,OAAID,CAAAA,EAAU,YAAA,CACL,MAAMA,CAAAA,CAAS,YAAA,CAAaC,CAAS,CAAA,CAI1C,CAAC,KAAA,CAAM,OAAA,CAAQA,CAAS,CAAA,EAAKA,CAAAA,CAAU,MAAA,GAAW,CAAA,CAC7C,EAAC,CAGHA,CAAAA,CACJ,GAAA,CAAKC,CAAAA,EAEA,OAAOA,CAAAA,EAAU,QAAA,EAAYA,CAAAA,EAAO,EAAA,GAAO,OACtCA,CAAAA,CAAM,EAAA,CAGX,OAAOA,CAAAA,EAAU,QAAA,EAAY,OAAOA,CAAAA,EAAU,QAAA,CACzCA,CAAAA,CAEF,IACR,CAAA,CACA,MAAA,CAAQC,CAAAA,EAAmCA,CAAAA,GAAO,IAAA,GAAS,OAAOA,CAAAA,EAAO,QAAA,EAAY,OAAOA,CAAAA,EAAO,QAAA,CAAS,CACjH,CAAA,CASA,WAAA,CAAYC,CAAAA,CAAsC,CAChD,OAAIJ,CAAAA,EAAU,cAAA,CACLA,CAAAA,CAAS,cAAA,CAAeI,CAAM,CAAA,CAIhCA,CAAAA,CAAO,MAAA,CAAS,CAAA,EAAKA,CAAAA,CAAO,KAAA,CAAOF,CAAAA,EAAU,OAAOA,CAAAA,EAAU,QAAQ,CAC/E,CACF,CACF,CAsBA,eAAsBG,CAAAA,EAA0C,CAC9D,GAAI,CACF,OAAA,MAAM,OAAO,iBAAW,CAAA,CACjB,CAAA,CACT,CAAA,KAAQ,CACN,OAAO,MACT,CACF","file":"evm-HHXFWYBL.cjs","sourcesContent":["import type { ChainAdapter } from './types';\n\n/**\n * EVM utilities module interface for dynamic imports.\n *\n * @internal\n * @since 1.0.0\n */\ninterface EvmUtilsModule {\n getEvmChains?: (appChains: any) => Promise<(string | number)[]>;\n isEvmChainList?: (chains: (string | number)[]) => boolean;\n initializeEvmUtils?: () => Promise<boolean>;\n}\n\n/**\n * Dynamically imports and checks availability of EVM utilities.\n * This function attempts to load EVM-specific utilities without throwing errors\n * if the EVM package is not installed in the current environment.\n *\n * @internal\n * @returns Promise resolving to EVM utilities module or null if not available\n *\n * @example\n * ```typescript\n * const evmUtils = await getEvmUtils();\n * if (evmUtils?.getEvmChains) {\n * const chains = evmUtils.getEvmChains(appChains);\n * }\n * ```\n *\n * @since 1.0.0\n */\nasync function getEvmUtils(): Promise<EvmUtilsModule | null> {\n try {\n // Dynamic import of EVM utilities - fails gracefully if package not installed\n const evmUtils = await import('../../evm');\n return evmUtils;\n } catch (error) {\n console.warn('EVM utilities not available:', error);\n return null;\n }\n}\n\n/**\n * Creates an EVM chain adapter with dynamic loading and fallback support.\n *\n * This adapter provides EVM-specific functionality while gracefully handling\n * environments where EVM utilities are not available. It uses intelligent\n * fallbacks to ensure basic functionality even without the full EVM package.\n *\n * @returns Promise resolving to a configured EVM ChainAdapter\n *\n * @example\n * ```typescript\n * const adapter = await createEvmAdapter();\n *\n * // Get EVM chain IDs from app configuration\n * const chainIds = adapter.getChains([\n * { id: 1, name: 'Ethereum' },\n * { id: 137, name: 'Polygon' }\n * ]);\n * console.log(chainIds); // [1, 137]\n *\n * // Validate chain list format\n * const isValid = adapter.isChainList([1, 137, 56]);\n * console.log(isValid); // true (numeric IDs are valid for EVM)\n * ```\n *\n * @since 1.0.0\n */\nexport async function createEvmAdapter(): Promise<ChainAdapter> {\n const evmUtils = await getEvmUtils();\n\n return {\n /**\n * Extracts chain IDs from EVM app chain configuration.\n *\n * @param appChains Array of chain configurations or chain identifiers\n * @returns Array of chain IDs (numbers or strings)\n */\n async getChains(appChains: any): Promise<(string | number)[]> {\n // Use imported EVM utilities if available\n if (evmUtils?.getEvmChains) {\n return await evmUtils.getEvmChains(appChains);\n }\n\n // Fallback implementation for basic chain extraction\n if (!Array.isArray(appChains) || appChains.length === 0) {\n return [];\n }\n\n return appChains\n .map((chain: any) => {\n // Handle chain objects with id property\n if (typeof chain === 'object' && chain?.id !== undefined) {\n return chain.id;\n }\n // Handle direct chain identifiers\n if (typeof chain === 'number' || typeof chain === 'string') {\n return chain;\n }\n return null;\n })\n .filter((id: any): id is string | number => id !== null && (typeof id === 'string' || typeof id === 'number'));\n },\n\n /**\n * Validates whether the provided chains list conforms to EVM chain format.\n * EVM chains are typically identified by numeric IDs.\n *\n * @param chains Array of chain identifiers to validate\n * @returns True if the chain list is valid for EVM\n */\n isChainList(chains: (string | number)[]): boolean {\n if (evmUtils?.isEvmChainList) {\n return evmUtils.isEvmChainList(chains);\n }\n\n // Fallback validation: EVM chains should be numbers\n return chains.length > 0 && chains.every((chain) => typeof chain === 'number');\n },\n };\n}\n\n/**\n * Checks if the EVM adapter can be created in the current environment.\n * This function verifies that the required EVM utilities are available\n * by attempting to import them.\n *\n * @returns Promise resolving to true if EVM adapter is available\n *\n * @example\n * ```typescript\n * const hasEvm = await isEvmAdapterAvailable();\n * if (hasEvm) {\n * const adapter = await createEvmAdapter();\n * // Use EVM functionality\n * } else {\n * console.log('EVM support not available in this build');\n * }\n * ```\n *\n * @since 1.0.0\n */\nexport async function isEvmAdapterAvailable(): Promise<boolean> {\n try {\n await import('../../evm');\n return true;\n } catch {\n return false;\n }\n}\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
'use strict';var chunkHD3XOSPF_cjs=require('./chunk-HD3XOSPF.cjs');Object.defineProperty(exports,"getAdapterStatus",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.k}});Object.defineProperty(exports,"getAllAdaptersStatus",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.l}});Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.g}});Object.defineProperty(exports,"getChainsListByConnectorType",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.a}});Object.defineProperty(exports,"getChainsListByConnectorTypeSync",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.b}});Object.defineProperty(exports,"getWalletChains",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.i}});Object.defineProperty(exports,"isEvmChainList",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.c}});Object.defineProperty(exports,"isEvmChainListSync",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.e}});Object.defineProperty(exports,"isSolanaChainList",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.d}});Object.defineProperty(exports,"isSolanaChainListSync",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.f}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.h}});Object.defineProperty(exports,"preloadChainAdapters",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.j}});//# sourceMappingURL=getChainsListByConnectorType-5S4LY67B.cjs.map
|
|
2
|
+
//# sourceMappingURL=getChainsListByConnectorType-5S4LY67B.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"getChainsListByConnectorType-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"getChainsListByConnectorType-5S4LY67B.cjs"}
|
package/dist/{getChainsListByConnectorType-W6UDLFBJ.js → getChainsListByConnectorType-VKIEDNV7.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{k as getAdapterStatus,l as getAllAdaptersStatus,g as getAvailableSolanaClusters,a as getChainsListByConnectorType,b as getChainsListByConnectorTypeSync,i as getWalletChains,c as isEvmChainList,e as isEvmChainListSync,d as isSolanaChainList,f as isSolanaChainListSync,h as isValidSolanaCluster,j as preloadChainAdapters}from'./chunk-
|
|
2
|
-
//# sourceMappingURL=getChainsListByConnectorType-
|
|
1
|
+
export{k as getAdapterStatus,l as getAllAdaptersStatus,g as getAvailableSolanaClusters,a as getChainsListByConnectorType,b as getChainsListByConnectorTypeSync,i as getWalletChains,c as isEvmChainList,e as isEvmChainListSync,d as isSolanaChainList,f as isSolanaChainListSync,h as isValidSolanaCluster,j as preloadChainAdapters}from'./chunk-AIK5PZKK.js';//# sourceMappingURL=getChainsListByConnectorType-VKIEDNV7.js.map
|
|
2
|
+
//# sourceMappingURL=getChainsListByConnectorType-VKIEDNV7.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"getChainsListByConnectorType-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"getChainsListByConnectorType-VKIEDNV7.js"}
|
package/dist/hooks/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var chunkUKICC3L6_cjs=require('../chunk-UKICC3L6.cjs');require('../chunk-HD3XOSPF.cjs'),require('../chunk-PTHXIVB5.cjs'),require('../chunk-43RGAIHU.cjs');Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.o}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.n}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.k}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.m}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.f}});Object.defineProperty(exports,"useWalletChainsList",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.A}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.B}});//# sourceMappingURL=index.cjs.map
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/hooks/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{g as NovaConnectLabelsContext,c as NovaConnectProviderContext,b as NovaConnectProviderError,o as createLabelsSubset,n as getLabelWithFallback,k as hasLabel,m as isDefaultLabels,a as useGetWalletNameAndAvatar,e as useHasNovaConnectContext,l as useLabelsByCategory,d as useNovaConnect,i as useNovaConnectLabel,h as useNovaConnectLabels,j as useNovaConnectLabelsSubset,f as useNovaConnectOptional,A as useWalletChainsList,B as useWalletNativeBalance}from'../chunk-
|
|
1
|
+
export{g as NovaConnectLabelsContext,c as NovaConnectProviderContext,b as NovaConnectProviderError,o as createLabelsSubset,n as getLabelWithFallback,k as hasLabel,m as isDefaultLabels,a as useGetWalletNameAndAvatar,e as useHasNovaConnectContext,l as useLabelsByCategory,d as useNovaConnect,i as useNovaConnectLabel,h as useNovaConnectLabels,j as useNovaConnectLabelsSubset,f as useNovaConnectOptional,A as useWalletChainsList,B as useWalletNativeBalance}from'../chunk-5NO4S3N6.js';import'../chunk-AIK5PZKK.js';import'../chunk-3BMX6JWH.js';import'../chunk-2T6SPFUT.js';//# sourceMappingURL=index.js.map
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
'use strict';var chunkSHVZSXXR_cjs=require('./chunk-SHVZSXXR.cjs'),chunkS2OWIMXG_cjs=require('./chunk-S2OWIMXG.cjs'),chunkTCSUZ35B_cjs=require('./chunk-TCSUZ35B.cjs'),chunkPTHXIVB5_cjs=require('./chunk-PTHXIVB5.cjs'),chunk43RGAIHU_cjs=require('./chunk-43RGAIHU.cjs'),orbitCore=require('@tuwaio/orbit-core'),novaCore=require('@tuwaio/nova-core'),react=require('react'),reactToastify=require('react-toastify'),jsxRuntime=require('react/jsx-runtime'),outline=require('@heroicons/react/24/outline'),framerMotion=require('framer-motion');var Ce=({title:o,rawError:e,onCopyComplete:r,errorType:a,isConnected:t,...f})=>jsxRuntime.jsx(chunkSHVZSXXR_cjs.D,{title:o,rawError:e,onCopyComplete:r,customization:f.customization}),fe=o=>{let e=chunkS2OWIMXG_cjs.h();return jsxRuntime.jsx(reactToastify.ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":e.somethingWentWrong})},ve=(o,e)=>{o(e.title,e.rawError,e.errorKey);},be=o=>{o();},ge=(o,e)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",e.substring(0,100));},ye=o=>o,Te=o=>o;function No({containerId:o="nova-connect-errors",position:e="top-center",autoClose:r=7e3,draggable:a=false,customization:t}){let f=chunkS2OWIMXG_cjs.h(),u=chunk43RGAIHU_cjs.h(c=>c.switchNetworkError),R=chunk43RGAIHU_cjs.h(c=>c.activeConnection),B=chunk43RGAIHU_cjs.h(c=>c.connectionError),{ToastError:N=Ce,Container:b=fe}=t?.components??{},{showError:d=ve,dismissError:O=be,onCopyComplete:H=ge}=t?.handlers??{},{errorTitle:T=ye,errorHash:E=Te}=t??{},P=react.useRef(new Set),x=react.useRef(null),s=react.useMemo(()=>{let c=!!B,y=!!u,M=!!R?.isConnected;return {hasWalletError:c,hasSwitchError:y,isConnected:M,hasAnyError:c||y,primaryError:B||u||null,errorType:c?"wallet":y?"switch":null}},[B,u,R?.isConnected]),z=react.useMemo(()=>{switch(s.errorType){case "wallet":return f.connectionError;case "switch":return f.errorWhenChainSwitching;default:return f.somethingWentWrong}},[s.errorType,f]),m=react.useMemo(()=>T(z,{errorType:s.errorType}),[T,z,s.errorType]),W=react.useMemo(()=>s.primaryError?`${s.errorType}-${s.primaryError.substring(0,50)}`:null,[s.primaryError,s.errorType]),C=react.useMemo(()=>E(W,{primaryError:s.primaryError,errorType:s.errorType}),[E,W,s.primaryError,s.errorType]),D=react.useCallback(()=>{O(()=>{x.current&&(reactToastify.toast.dismiss(x.current),x.current=null),reactToastify.toast.dismiss({containerId:o});});},[o,O]),F=react.useCallback((c,y)=>{H(c,y,s.errorType);},[H,s.errorType]),n=react.useCallback((c,y,M)=>{if(D(),!P.current.has(M))try{let V={containerId:o,toastId:M,onClose:()=>{P.current.delete(M),x.current=null;}},_=t?.toastOptions?.error?.({title:c,rawError:y,errorType:s.errorType,isConnected:s.isConnected}),q={...V,..._};reactToastify.toast.error(jsxRuntime.jsx(N,{title:c,rawError:y,errorType:s.errorType,isConnected:s.isConnected,onCopyComplete:J=>F(J,y),customization:t?.toastErrorCustomization}),q),P.current.add(M),x.current=M;}catch(V){console.error("Failed to show error toast:",V);}},[D,o,t?.toastOptions?.error,t?.toastErrorCustomization,N,s.errorType,s.isConnected,F]),v=react.useCallback((c,y,M)=>{d(n,{title:c,rawError:y,errorKey:M,errorType:s.errorType});},[n,d,s.errorType]);react.useEffect(()=>{let{hasAnyError:c,isConnected:y,primaryError:M}=s;if(y&&!c){D(),P.current.clear();return}if(c&&M&&C){if(y&&s.errorType!=="switch")return;v(m,M,C);}},[s,m,C,v,D]),react.useEffect(()=>()=>{D(),P.current.clear();},[D]);let g=react.useMemo(()=>t?.classNames?.container?t.classNames.container({hasErrors:s.hasAnyError,errorType:s.errorType}):"novacon:p-0 novacon:bg-transparent",[t,s.hasAnyError,s.errorType]),p=react.useMemo(()=>({containerId:o,position:e,closeOnClick:false,icon:false,closeButton:novaCore.ToastCloseButton,autoClose:r,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:a,pauseOnHover:true,theme:"light",transition:reactToastify.Bounce}),[o,e,r,a]),h=react.useMemo(()=>({...p,...t?.containerProps,className:g}),[p,t?.containerProps,g]);return jsxRuntime.jsx(b,{...h})}No.displayName="ErrorsProvider";function Eo({labels:o,children:e}){let r=react.useMemo(()=>o,[o]);if(process.env.NODE_ENV==="development"){(!o||typeof o!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let t=["connectWallet","disconnect","connecting","connected","error","success"].filter(f=>!(f in o));t.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${t.join(", ")}`);}return jsxRuntime.jsx(chunkS2OWIMXG_cjs.g.Provider,{value:r,children:e})}Eo.displayName="NovaConnectLabelsProvider";function ze(o,e){if(!o||!Array.isArray(o)||!e)return;let r=o.find(a=>a&&typeof a=="object"&&"name"in a&&typeof a.name=="string"?orbitCore.formatConnectorName(a.name)===e:false);return r&&typeof r=="object"&&"name"in r&&typeof r.name=="string"?r.name:void 0}var Qo=react.forwardRef(({className:o,children:e,modalData:r,...a},t)=>jsxRuntime.jsx("div",{ref:t,className:novaCore.cn("novacon:relative novacon:flex novacon:w-full novacon:flex-col",o),...a,children:e}));Qo.displayName="DefaultModalContainer";var Xo=react.forwardRef(({className:o,children:e,modalData:r,...a},t)=>jsxRuntime.jsx("div",{ref:t,className:o,...a,children:jsxRuntime.jsx(novaCore.DialogHeader,{children:e})}));Xo.displayName="DefaultModalHeader";var Yo=react.forwardRef(({className:o,onClick:e,modalData:r,...a},t)=>jsxRuntime.jsx("button",{ref:t,className:novaCore.cn("novacon:cursor-pointer novacon:text-[var(--tuwa-text-secondary)] novacon:transition novacon:duration-300 novacon:ease-in-out novacon:active:scale-75 novacon:hover:scale-110",o),type:"button",onClick:e,...a,children:jsxRuntime.jsx(outline.InformationCircleIcon,{width:20,height:20,className:"novacon:mr-1","aria-hidden":"true"})}));Yo.displayName="DefaultInfoButton";var Zo=react.forwardRef(({className:o,children:e,modalData:r,...a},t)=>jsxRuntime.jsx(novaCore.DialogTitle,{ref:t,className:novaCore.cn("novacon:flex novacon:items-center",o),...a,children:e}));Zo.displayName="DefaultTitle";var oe=react.forwardRef(({className:o,onClick:e,modalData:r,...a},t)=>jsxRuntime.jsx(novaCore.DialogClose,{asChild:true,children:jsxRuntime.jsx("button",{ref:t,type:"button",onClick:e,className:novaCore.cn("novacon:cursor-pointer novacon:rounded-full novacon:p-1 novacon:text-[var(--tuwa-text-tertiary)] novacon:transition-colors novacon:hover:bg-[var(--tuwa-bg-muted)] novacon:hover:text-[var(--tuwa-text-primary)]",o),...a,children:jsxRuntime.jsx(novaCore.CloseIcon,{"aria-hidden":"true"})})}));oe.displayName="DefaultCloseButton";var ee=react.forwardRef(({className:o,children:e,modalData:r,...a},t)=>jsxRuntime.jsx("main",{ref:t,className:novaCore.cn("novacon:flex novacon:flex-col novacon:gap-4 novacon:p-4",o),id:"connect-modal-content",role:"main",...a,children:e}));ee.displayName="DefaultMainContent";var te=react.forwardRef(({className:o,children:e,modalData:r,...a},t)=>jsxRuntime.jsx("footer",{ref:t,className:novaCore.cn("novacon:flex novacon:w-full novacon:items-center novacon:justify-between novacon:border-t novacon:border-[var(--tuwa-border-primary)] novacon:p-4",o),role:"contentinfo",...a,children:e}));te.displayName="DefaultFooter";var ne=react.forwardRef(({className:o,onClick:e,children:r,modalData:a,...t},f)=>jsxRuntime.jsx("button",{ref:f,type:"button",onClick:e,className:novaCore.cn(novaCore.standardButtonClasses,o),...t,children:r}));ne.displayName="DefaultBackButton";var re=react.forwardRef(({className:o,onClick:e,children:r,disabled:a,loading:t,buttonConfig:f,modalData:u,...R},B)=>jsxRuntime.jsx("button",{ref:B,type:"button",onClick:e,disabled:a||t,className:novaCore.cn(novaCore.standardButtonClasses,o),...R,children:t?"Loading...":r}));re.displayName="DefaultActionButton";var ae=react.forwardRef(({className:o,children:e,modalData:r,...a},t)=>jsxRuntime.jsx("span",{ref:t,className:novaCore.cn("novacon:sr-only",o),...a,children:e}));ae.displayName="DefaultActionDescription";var se=react.forwardRef(({children:o,className:e,...r},a)=>{let{modalData:t,...f}=r;return jsxRuntime.jsx("div",{ref:a,className:e,...f,children:o})});se.displayName="DefaultEmptyState";var ho=react.memo(({appChains:o,solanaRPCUrls:e,withImpersonated:r,customization:a={}})=>{let{isConnectModalOpen:t,setIsConnectModalOpen:f,setConnectModalContentType:u,setActiveConnector:R,setImpersonatedAddress:B,setIsConnected:N,connectModalContentType:b,selectedAdapter:d,setSelectedAdapter:O,isConnected:H,activeConnector:T,impersonatedAddress:E}=chunkS2OWIMXG_cjs.d(),P=chunk43RGAIHU_cjs.h(l=>l.connectionError),x=chunk43RGAIHU_cjs.h(l=>l.getConnectors),s=chunk43RGAIHU_cjs.h(l=>l.connect),z=chunk43RGAIHU_cjs.h(l=>l.activeConnection),m=chunkS2OWIMXG_cjs.h(),W=react.useContext(chunk43RGAIHU_cjs.f),C=react.useMemo(()=>{if(t)return x()},[t,x]),D=react.useMemo(()=>chunkS2OWIMXG_cjs.u({connectors:C,selectedAdapter:d}),[C,d]),F=react.useMemo(()=>P?typeof P=="string"?new Error(P):P:null,[P]),n=react.useMemo(()=>({contentType:b,selectedAdapter:d,activeConnector:T,impersonatedAddress:E,isConnected:H,isOpen:t,error:F,connectors:C,filteredConnectors:D,labels:m}),[b,d,T,E,H,t,F,C,D,m]);react.useEffect(()=>{t&&(u("connectors"),O(void 0),R(void 0),B(""),N(false));},[t]);let{components:v={},classNames:g={},handlers:p={},config:h={},childComponents:c={}}=a,y=v.ModalContainer||Qo,M=v.ModalHeader||Xo,V=v.InfoButton||Yo,_=v.Title||Zo,q=v.CloseButton||oe,J=v.MainContent||ee,Q=v.Footer||te,so=v.BackButton||ne,X=v.ActionButton||re,io=v.ActionDescription||ae,G=v.EmptyState||se,vo=v.Dialog||novaCore.Dialog,co=v.DialogContent||novaCore.DialogContent,eo=v.MotionDiv||framerMotion.motion.div,to=react.useCallback(()=>{switch(b){case "about":return m.aboutWallets;case "getWallet":return m.getWallet;case "connecting":return d&&T&&C&&ze(C[d],T)||m.connectingEllipsis;case "impersonate":return m.connectImpersonatedWallet;default:return m.connectWallet}},[b,d,T,C,m]),Y=react.useCallback(()=>"connectors",[b]),Z=react.useCallback(l=>{p?.onOpenChange?p.onOpenChange(l,n):f(l);},[p?.onOpenChange,n,f]),bo=react.useCallback(()=>{let l=()=>u(Y());p?.onBack?p.onBack(n,l):l();},[p?.onBack,n,u,Y]),go=react.useCallback(()=>{p?.onInfoClick?p.onInfoClick(n):u("about");},[p?.onInfoClick,n,u]),j=react.useCallback(async(l,yo)=>{await s({connectorType:l,chainId:chunkS2OWIMXG_cjs.q({appChains:o,selectedAdapter:yo,solanaRPCUrls:e})});try{await orbitCore.waitFor(()=>W?.getState().activeConnection?.isConnected),N(!0);let To=setTimeout(()=>f(!1),400),de=setTimeout(()=>N(!1),500);await orbitCore.delay(null,500),clearTimeout(To),clearTimeout(de);}catch(To){console.error(To);}},[s,o,d,e]),$=react.useCallback(async(l,yo)=>{O(l),u("connecting"),await j(yo,l);},[j]),Bo=react.useCallback(l=>{R(orbitCore.formatConnectorName(l.name)),l.adapters.length===1?(O(l.adapters[0]),u(orbitCore.formatConnectorName(l.name)==="impersonatedwallet"?"impersonate":"connecting")):d?u(orbitCore.formatConnectorName(l.name)==="impersonatedwallet"?"impersonate":"connecting"):orbitCore.formatConnectorName(l.name)==="impersonatedwallet"?u("impersonate"):u("network");},[d]),ce=react.useCallback(()=>{switch(b){case "network":return jsxRuntime.jsx(chunkSHVZSXXR_cjs.B,{activeConnector:T,connectors:D,onClick:$,customization:c.networkSelections});case "connectors":return C?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(chunkSHVZSXXR_cjs.C,{networks:Object.keys(C),selectedAdapter:d,onSelect:l=>O(l),customization:c.networkTabs}),jsxRuntime.jsx(chunkSHVZSXXR_cjs.y,{isOnlyOneNetwork:Object.keys(C).length===1,connectors:D,selectedAdapter:d,onClick:Bo,setContentType:u,appChains:o,solanaRPCUrls:e,setIsConnected:N,setIsOpen:f,withImpersonated:r,customization:c.connectorsSelections})]}):jsxRuntime.jsx(G,{className:g.emptyConnectors?.({modalData:n}),modalData:n,children:"No connectors available"});case "about":return jsxRuntime.jsx(chunkSHVZSXXR_cjs.s,{customization:c.aboutWallets});case "getWallet":return jsxRuntime.jsx(chunkSHVZSXXR_cjs.z,{customization:c.getWallet});case "connecting":return jsxRuntime.jsx(chunkSHVZSXXR_cjs.v,{selectedAdapter:d,connectors:D,activeConnector:T,isConnected:H,customization:c.connecting});case "impersonate":return jsxRuntime.jsx(chunkSHVZSXXR_cjs.A,{selectedAdapter:d,impersonatedAddress:E,setImpersonatedAddress:B,customization:c.impersonateForm})}},[b,T,D,$,c,C,d,Bo,H,E]),K=react.useCallback(()=>{switch(b){case "connectors":return {title:m.iDontHaveWallet,onClick:()=>{p.onActionClick?.connectors?p.onActionClick.connectors(n):u("getWallet");}};case "getWallet":return {title:m.choseWallet,onClick:()=>{p.onActionClick?.getWallet?p.onActionClick.getWallet(n):window.open(chunkS2OWIMXG_cjs.x[d??Object.keys(C)[0]]?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:m.learnMore,onClick:()=>{p.onActionClick?.about?p.onActionClick.about(n):window.open(chunkS2OWIMXG_cjs.x[d??Object.keys(C)[0]]?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:m.connect,onClick:async()=>{if(p.onActionClick?.impersonate)await p.onActionClick.impersonate(n);else {let l=E.trim();if(P||!l||chunkS2OWIMXG_cjs.p(l)||z?.isConnected)return;orbitCore.impersonatedHelpers.setImpersonated(l),u("connecting"),await j(orbitCore.getConnectorTypeFromName(d??orbitCore.OrbitAdapter.EVM,T??""),d??orbitCore.OrbitAdapter.EVM);}}};case "connecting":return P&&d&&T?{title:m.tryAgain,onClick:async()=>{p.onActionClick?.connecting?await p.onActionClick.connecting(n):await j(orbitCore.getConnectorTypeFromName(d,T),d);}}:void 0}},[b,m,p,n,d,C,E,P,j,T])(),le=react.useCallback(()=>{switch(b){case "getWallet":return "Opens external wallet selection page";case "about":return "Opens external documentation";case "impersonate":return "Connects with impersonated wallet address";case "connecting":return "Retries wallet connection";default:return ""}},[b]);return jsxRuntime.jsx(vo,{open:t,onOpenChange:Z,children:jsxRuntime.jsx(co,{className:novaCore.cn("novacon:w-full novacon:sm:max-w-md"),children:jsxRuntime.jsx(eo,{layout:true,transition:{layout:{duration:h.animation?.disabled?0:h.animation?.layoutDuration??1e-4}},children:jsxRuntime.jsxs(y,{className:g.modalContainer?.({modalData:n}),modalData:n,children:[jsxRuntime.jsxs(M,{className:g.header?.({modalData:n}),modalData:n,children:[jsxRuntime.jsxs(_,{className:g.title?.({modalData:n}),modalData:n,children:[b==="connectors"&&jsxRuntime.jsx(V,{className:g.infoButton?.({modalData:n}),onClick:go,"aria-label":h.ariaLabels?.infoButton?.(n)||`${m.learnMore} ${m.aboutWallets}`,modalData:n}),to()]}),jsxRuntime.jsx(q,{className:g.closeButton?.({modalData:n}),onClick:()=>Z(false),"aria-label":h.ariaLabels?.closeButton?.(n)||m.closeModal,modalData:n})]}),jsxRuntime.jsx(J,{className:g.mainContent?.({modalData:n}),modalData:n,children:ce()}),jsxRuntime.jsxs(Q,{className:g.footer?.({modalData:n}),modalData:n,children:[jsxRuntime.jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:b!=="connectors"&&jsxRuntime.jsx(so,{className:g.backButton?.({modalData:n}),onClick:bo,"aria-label":h.ariaLabels?.backButton?.(n)||`${m.back} to previous step`,modalData:n,children:m.back})}),K&&jsxRuntime.jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsxRuntime.jsx(X,{className:g.actionButton?.({modalData:n,buttonConfig:K}),onClick:K.onClick,disabled:K.disabled,loading:K.loading,"aria-describedby":"bottom-action-description",modalData:n,buttonConfig:K,children:K.title}),jsxRuntime.jsx(io,{id:"bottom-action-description",className:g.actionDescription?.({modalData:n}),modalData:n,children:le()})]})]})]})})})})});ho.displayName="ConnectModal";var Fe=({labels:o,children:e})=>jsxRuntime.jsx(Eo,{labels:o,children:e}),Ve=({customization:o})=>jsxRuntime.jsx(No,{customization:o}),Ue=(o,e)=>novaCore.deepMerge(o,e||{}),Ge=o=>o,je=o=>o,$e=(o,e,r)=>o;function Ke({labels:o,children:e,appChains:r,solanaRPCUrls:a,transactionPool:t,pulsarAdapter:f,withImpersonated:u,withBalance:R,withChain:B,customization:N}){let b=chunk43RGAIHU_cjs.h($=>$.activeConnection),d=chunk43RGAIHU_cjs.h($=>$.connectionError),{LabelsProvider:O=Fe,ErrorsProvider:H=Ve}=N?.components??{},{merge:T=Ue,transform:E=Ge}=N?.labels??{},{transform:P=je}=N?.contextValue??{},{providerTree:x=$e}=N?.rendering??{},s=react.useMemo(()=>T(chunkPTHXIVB5_cjs.a,o||{}),[o,T]),[z,m]=react.useState(false),[W,C]=react.useState(false),[D,F]=react.useState(false),[n,v]=react.useState(false),[g,p]=react.useState("idle"),[h,c]=react.useState("connectors"),[y,M]=react.useState(void 0),[V,_]=react.useState(void 0),[q,J]=react.useState(""),[Q,so]=react.useState(false),[X,io]=react.useState("main"),G=react.useMemo(()=>({isConnected:Q,activeConnection:b,connectionError:d,modalStates:{isConnectModalOpen:z,isConnectedModalOpen:W,isChainsListOpen:D,isChainsListOpenMobile:n},contentTypes:{connectModal:h,connectedModal:X},statuses:{connectedButton:g}}),[Q,b,d,z,W,D,n,h,X,g]),vo=react.useMemo(()=>E(s,G),[s,E,G]),co=react.useMemo(()=>P({appChains:r,solanaRPCUrls:a,withImpersonated:u,withBalance:R,withChain:B,isConnectModalOpen:z,setIsConnectModalOpen:m,isConnectedModalOpen:W,setIsConnectedModalOpen:C,isChainsListOpen:D,setIsChainsListOpen:F,isChainsListOpenMobile:n,setIsChainsListOpenMobile:v,connectedButtonStatus:g,setConnectedButtonStatus:p,connectedModalContentType:X,setConnectedModalContentType:io,connectModalContentType:h,setConnectModalContentType:c,selectedAdapter:y,setSelectedAdapter:M,activeConnector:V,setActiveConnector:_,impersonatedAddress:q,setImpersonatedAddress:J,isConnected:Q,setIsConnected:so},G),[r,a,u,R,B,z,m,W,C,D,F,n,v,g,p,X,io,h,c,y,M,V,_,q,J,Q,so,P,G]),eo=jsxRuntime.jsx(H,{customization:N?.errors}),to=jsxRuntime.jsx(O,{labels:vo,children:e}),Y=r||a?jsxRuntime.jsx(ho,{withImpersonated:u,solanaRPCUrls:a,appChains:r,customization:N?.modals?.connectModal}):null,Z=r||a?jsxRuntime.jsx(chunkSHVZSXXR_cjs.r,{solanaRPCUrls:a,appChains:r,transactionPool:t,pulsarAdapter:f,customization:N?.modals?.connectedModal}):null,bo=jsxRuntime.jsxs(chunkS2OWIMXG_cjs.c.Provider,{value:co,children:[eo,to,Y,Z]}),go=jsxRuntime.jsxs(chunkS2OWIMXG_cjs.c.Provider,{value:co,children:[eo,to,Y,Z]}),j=x(go,{ErrorsProvider:eo,LabelsProvider:to,MainContent:bo,ConnectModal:Y||jsxRuntime.jsx(jsxRuntime.Fragment,{}),ConnectedModal:Z||jsxRuntime.jsx(jsxRuntime.Fragment,{})},G);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:j})}Ke.displayName="NovaConnectProvider";async function Jn(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-ZDMZCWJQ.cjs');return {hasEvmUtils:await Co(),hasSolanaUtils:await fo(),adaptersStatus:o()}}async function Co(){try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function fo(){try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function Qn(){try{return await Co()?{available:!0,...await import('./evm/index.cjs')}:{available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function Xn(){try{return await fo()?{available:!0,...await import('./solana/index.cjs')}:{available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function Yn(){let o={evm:false,solana:false,errors:[]};try{let e=await Co(),r=await fo();if(e||r){let{preloadChainAdapters:a}=await import('./getChainsListByConnectorType-ZDMZCWJQ.cjs'),t=[];e&&t.push(orbitCore.OrbitAdapter.EVM),r&&t.push(orbitCore.OrbitAdapter.SOLANA),await a(t),o.evm=e,o.solana=r;}else o.errors.push("No blockchain packages available for initialization");}catch(e){let r=e instanceof Error?e.message:"Unknown initialization error";o.errors.push(r);}return o}async function Zn(o){switch(o){case orbitCore.OrbitAdapter.EVM:return Co();case orbitCore.OrbitAdapter.SOLANA:return fo();case orbitCore.OrbitAdapter.Starknet:return false;default:return false}}Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.o}});Object.defineProperty(exports,"getAvailableChainIds",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.r}});Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.y}});Object.defineProperty(exports,"getConnectChainId",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.q}});Object.defineProperty(exports,"getFilteredConnectors",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.u}});Object.defineProperty(exports,"getGroupedConnectors",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.s}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.n}});Object.defineProperty(exports,"getNetworkIcon",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.w}});Object.defineProperty(exports,"hasAvailableConnectors",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.t}});Object.defineProperty(exports,"hasConnectorsForAdapter",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.v}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.k}});Object.defineProperty(exports,"isAddress",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.p}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.m}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.z}});Object.defineProperty(exports,"networksLinks",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.x}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.f}});Object.defineProperty(exports,"useWalletChainsList",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.A}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunkS2OWIMXG_cjs.B}});Object.defineProperty(exports,"getAdapterStatus",{enumerable:true,get:function(){return chunkTCSUZ35B_cjs.k}});Object.defineProperty(exports,"getAllAdaptersStatus",{enumerable:true,get:function(){return chunkTCSUZ35B_cjs.l}});Object.defineProperty(exports,"getAvailableSolanaClustersAsync",{enumerable:true,get:function(){return chunkTCSUZ35B_cjs.g}});Object.defineProperty(exports,"getChainsListByConnectorType",{enumerable:true,get:function(){return chunkTCSUZ35B_cjs.b}});Object.defineProperty(exports,"getChainsListByConnectorTypeAsync",{enumerable:true,get:function(){return chunkTCSUZ35B_cjs.a}});Object.defineProperty(exports,"getChainsListByConnectorTypeSync",{enumerable:true,get:function(){return chunkTCSUZ35B_cjs.b}});Object.defineProperty(exports,"getWalletChains",{enumerable:true,get:function(){return chunkTCSUZ35B_cjs.i}});Object.defineProperty(exports,"isEvmChainList",{enumerable:true,get:function(){return chunkTCSUZ35B_cjs.e}});Object.defineProperty(exports,"isEvmChainListAsync",{enumerable:true,get:function(){return chunkTCSUZ35B_cjs.c}});Object.defineProperty(exports,"isEvmChainListSync",{enumerable:true,get:function(){return chunkTCSUZ35B_cjs.e}});Object.defineProperty(exports,"isSolanaChainList",{enumerable:true,get:function(){return chunkTCSUZ35B_cjs.f}});Object.defineProperty(exports,"isSolanaChainListAsync",{enumerable:true,get:function(){return chunkTCSUZ35B_cjs.d}});Object.defineProperty(exports,"isSolanaChainListSync",{enumerable:true,get:function(){return chunkTCSUZ35B_cjs.f}});Object.defineProperty(exports,"isValidSolanaClusterAsync",{enumerable:true,get:function(){return chunkTCSUZ35B_cjs.h}});Object.defineProperty(exports,"preloadChainAdapters",{enumerable:true,get:function(){return chunkTCSUZ35B_cjs.j}});exports.ErrorsProvider=No;exports.NovaConnectLabelsProvider=Eo;exports.NovaConnectProvider=Ke;exports.getBlockchainUtilities=Jn;exports.getEvmUtils=Qn;exports.getSolanaUtils=Xn;exports.initializeBlockchainSupport=Yn;exports.isAdapterSupported=Zn;//# sourceMappingURL=index.cjs.map
|
|
1
|
+
'use strict';var chunkHGNQGX55_cjs=require('./chunk-HGNQGX55.cjs'),chunkUKICC3L6_cjs=require('./chunk-UKICC3L6.cjs'),chunkHD3XOSPF_cjs=require('./chunk-HD3XOSPF.cjs'),chunkPTHXIVB5_cjs=require('./chunk-PTHXIVB5.cjs'),chunk43RGAIHU_cjs=require('./chunk-43RGAIHU.cjs'),orbitCore=require('@tuwaio/orbit-core'),novaCore=require('@tuwaio/nova-core'),react=require('react'),reactToastify=require('react-toastify'),jsxRuntime=require('react/jsx-runtime'),outline=require('@heroicons/react/24/outline'),framerMotion=require('framer-motion');var fe=({title:o,rawError:t,onCopyComplete:r,errorType:n,isConnected:e,...l})=>jsxRuntime.jsx(chunkHGNQGX55_cjs.D,{title:o,rawError:t,onCopyComplete:r,customization:l.customization}),ve=o=>{let t=chunkUKICC3L6_cjs.h();return jsxRuntime.jsx(reactToastify.ToastContainer,{...o,role:"alert","aria-live":"assertive","aria-label":t.somethingWentWrong})},ge=(o,t)=>{o(t.title,t.rawError,t.errorKey);},be=o=>{o();},ye=(o,t)=>{o&&process.env.NODE_ENV==="development"&&console.log("Error copied to clipboard:",t.substring(0,100));},Te=o=>o,Ee=o=>o;function Po({containerId:o="nova-connect-errors",position:t="top-center",autoClose:r=7e3,draggable:n=false,customization:e}){let l=chunkUKICC3L6_cjs.h(),s=chunk43RGAIHU_cjs.h(d=>d.switchNetworkError),x=chunk43RGAIHU_cjs.h(d=>d.activeConnection),k=chunk43RGAIHU_cjs.h(d=>d.connectionError),{ToastError:h=fe,Container:g=ve}=e?.components??{},{showError:u=ge,dismissError:O=be,onCopyComplete:H=ye}=e?.handlers??{},{errorTitle:T=Te,errorHash:P=Ee}=e??{},M=react.useRef(new Set),R=react.useRef(null),i=react.useMemo(()=>{let d=!!k,y=!!s,D=!!x?.isConnected;return {hasWalletError:d,hasSwitchError:y,isConnected:D,hasAnyError:d||y,primaryError:k||s||null,errorType:d?"wallet":y?"switch":null}},[k,s,x?.isConnected]),z=react.useMemo(()=>{switch(i.errorType){case "wallet":return l.connectionError;case "switch":return l.errorWhenChainSwitching;default:return l.somethingWentWrong}},[i.errorType,l]),p=react.useMemo(()=>T(z,{errorType:i.errorType}),[T,z,i.errorType]),I=react.useMemo(()=>i.primaryError?`${i.errorType}-${i.primaryError.substring(0,50)}`:null,[i.primaryError,i.errorType]),f=react.useMemo(()=>P(I,{primaryError:i.primaryError,errorType:i.errorType}),[P,I,i.primaryError,i.errorType]),E=react.useCallback(()=>{O(()=>{R.current&&(reactToastify.toast.dismiss(R.current),R.current=null),reactToastify.toast.dismiss({containerId:o});});},[o,O]),F=react.useCallback((d,y)=>{H(d,y,i.errorType);},[H,i.errorType]),a=react.useCallback((d,y,D)=>{if(E(),!M.current.has(D))try{let V={containerId:o,toastId:D,onClose:()=>{M.current.delete(D),R.current=null;}},K=e?.toastOptions?.error?.({title:d,rawError:y,errorType:i.errorType,isConnected:i.isConnected}),J={...V,...K};reactToastify.toast.error(jsxRuntime.jsx(h,{title:d,rawError:y,errorType:i.errorType,isConnected:i.isConnected,onCopyComplete:Q=>F(Q,y),customization:e?.toastErrorCustomization}),J),M.current.add(D),R.current=D;}catch(V){console.error("Failed to show error toast:",V);}},[E,o,e?.toastOptions?.error,e?.toastErrorCustomization,h,i.errorType,i.isConnected,F]),v=react.useCallback((d,y,D)=>{u(a,{title:d,rawError:y,errorKey:D,errorType:i.errorType});},[a,u,i.errorType]);react.useEffect(()=>{let{hasAnyError:d,isConnected:y,primaryError:D}=i;if(y&&!d){E(),M.current.clear();return}if(d&&D&&f){if(y&&i.errorType!=="switch")return;v(p,D,f);}},[i,p,f,v,E]),react.useEffect(()=>()=>{E(),M.current.clear();},[E]);let b=react.useMemo(()=>e?.classNames?.container?e.classNames.container({hasErrors:i.hasAnyError,errorType:i.errorType}):"novacon:p-0 novacon:bg-transparent",[e,i.hasAnyError,i.errorType]),C=react.useMemo(()=>({containerId:o,position:t,closeOnClick:false,icon:false,closeButton:novaCore.ToastCloseButton,autoClose:r,hideProgressBar:false,newestOnTop:false,pauseOnFocusLoss:false,draggable:n,pauseOnHover:true,theme:"light",transition:reactToastify.Bounce}),[o,t,r,n]),N=react.useMemo(()=>({...C,...e?.containerProps,className:b}),[C,e?.containerProps,b]);return jsxRuntime.jsx(g,{...N})}Po.displayName="ErrorsProvider";function No({labels:o,children:t}){let r=react.useMemo(()=>o,[o]);if(process.env.NODE_ENV==="development"){(!o||typeof o!="object")&&console.warn("NovaConnectLabelsProvider: labels prop should be an object");let e=["connectWallet","disconnect","connecting","connected","error","success"].filter(l=>!(l in o));e.length>0&&console.warn(`NovaConnectLabelsProvider: Missing required labels: ${e.join(", ")}`);}return jsxRuntime.jsx(chunkUKICC3L6_cjs.g.Provider,{value:r,children:t})}No.displayName="NovaConnectLabelsProvider";function Ie(o,t){if(!o||!Array.isArray(o)||!t)return;let r=o.find(n=>n&&typeof n=="object"&&"name"in n&&typeof n.name=="string"?orbitCore.formatConnectorName(n.name)===t:false);return r&&typeof r=="object"&&"name"in r&&typeof r.name=="string"?r.name:void 0}var Xo=react.forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsxRuntime.jsx("div",{ref:e,className:novaCore.cn("novacon:relative novacon:flex novacon:w-full novacon:flex-col",o),...n,children:t}));Xo.displayName="DefaultModalContainer";var Yo=react.forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsxRuntime.jsx("div",{ref:e,className:o,...n,children:jsxRuntime.jsx(novaCore.DialogHeader,{children:t})}));Yo.displayName="DefaultModalHeader";var Zo=react.forwardRef(({className:o,onClick:t,modalData:r,...n},e)=>jsxRuntime.jsx("button",{ref:e,className:novaCore.cn("novacon:cursor-pointer novacon:text-[var(--tuwa-text-secondary)] novacon:transition novacon:duration-300 novacon:ease-in-out novacon:active:scale-75 novacon:hover:scale-110",o),type:"button",onClick:t,...n,children:jsxRuntime.jsx(outline.InformationCircleIcon,{width:20,height:20,className:"novacon:mr-1","aria-hidden":"true"})}));Zo.displayName="DefaultInfoButton";var oe=react.forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsxRuntime.jsx(novaCore.DialogTitle,{ref:e,className:novaCore.cn("novacon:flex novacon:items-center",o),...n,children:t}));oe.displayName="DefaultTitle";var ee=react.forwardRef(({className:o,onClick:t,modalData:r,...n},e)=>jsxRuntime.jsx(novaCore.DialogClose,{asChild:true,children:jsxRuntime.jsx("button",{ref:e,type:"button",onClick:t,className:novaCore.cn("novacon:cursor-pointer novacon:rounded-full novacon:p-1 novacon:text-[var(--tuwa-text-tertiary)] novacon:transition-colors novacon:hover:bg-[var(--tuwa-bg-muted)] novacon:hover:text-[var(--tuwa-text-primary)]",o),...n,children:jsxRuntime.jsx(novaCore.CloseIcon,{"aria-hidden":"true"})})}));ee.displayName="DefaultCloseButton";var te=react.forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsxRuntime.jsx("main",{ref:e,className:novaCore.cn("novacon:flex novacon:flex-col novacon:gap-4 novacon:p-4",o),id:"connect-modal-content",role:"main",...n,children:t}));te.displayName="DefaultMainContent";var ne=react.forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsxRuntime.jsx("footer",{ref:e,className:novaCore.cn("novacon:flex novacon:w-full novacon:items-center novacon:justify-between novacon:border-t novacon:border-[var(--tuwa-border-primary)] novacon:p-4",o),role:"contentinfo",...n,children:t}));ne.displayName="DefaultFooter";var re=react.forwardRef(({className:o,onClick:t,children:r,modalData:n,...e},l)=>jsxRuntime.jsx("button",{ref:l,type:"button",onClick:t,className:novaCore.cn(novaCore.standardButtonClasses,o),...e,children:r}));re.displayName="DefaultBackButton";var ae=react.forwardRef(({className:o,onClick:t,children:r,disabled:n,loading:e,buttonConfig:l,modalData:s,...x},k)=>jsxRuntime.jsx("button",{ref:k,type:"button",onClick:t,disabled:n||e,className:novaCore.cn(novaCore.standardButtonClasses,o),...x,children:e?"Loading...":r}));ae.displayName="DefaultActionButton";var se=react.forwardRef(({className:o,children:t,modalData:r,...n},e)=>jsxRuntime.jsx("span",{ref:e,className:novaCore.cn("novacon:sr-only",o),...n,children:t}));se.displayName="DefaultActionDescription";var ie=react.forwardRef(({children:o,className:t,...r},n)=>{let{modalData:e,...l}=r;return jsxRuntime.jsx("div",{ref:n,className:t,...l,children:o})});ie.displayName="DefaultEmptyState";var wo=react.memo(({appChains:o,solanaRPCUrls:t,withImpersonated:r,customization:n={}})=>{let{isConnectModalOpen:e,setIsConnectModalOpen:l,setConnectModalContentType:s,setActiveConnector:x,setImpersonatedAddress:k,setIsConnected:h,connectModalContentType:g,selectedAdapter:u,setSelectedAdapter:O,isConnected:H,activeConnector:T,impersonatedAddress:P}=chunkUKICC3L6_cjs.d(),M=chunk43RGAIHU_cjs.h(m=>m.connectionError),R=chunk43RGAIHU_cjs.h(m=>m.getConnectors),i=chunk43RGAIHU_cjs.h(m=>m.connect),z=chunk43RGAIHU_cjs.h(m=>m.activeConnection),p=chunkUKICC3L6_cjs.h(),I=react.useContext(chunk43RGAIHU_cjs.f),f=react.useMemo(()=>{if(e)return R()},[e,R]),E=react.useMemo(()=>chunkUKICC3L6_cjs.u({connectors:f,selectedAdapter:u}),[f,u]),F=react.useMemo(()=>M?typeof M=="string"?new Error(M):M:null,[M]),a=react.useMemo(()=>({contentType:g,selectedAdapter:u,activeConnector:T,impersonatedAddress:P,isConnected:H,isOpen:e,error:F,connectors:f,filteredConnectors:E,labels:p}),[g,u,T,P,H,e,F,f,E,p]);react.useEffect(()=>{e&&(s("connectors"),O(void 0),x(void 0),k(""),h(false));},[e]);let{components:v={},classNames:b={},handlers:C={},config:N={},childComponents:d={}}=n,y=v.ModalContainer||Xo,D=v.ModalHeader||Yo,V=v.InfoButton||Zo,K=v.Title||oe,J=v.CloseButton||ee,Q=v.MainContent||te,X=v.Footer||ne,io=v.BackButton||re,Y=v.ActionButton||ae,lo=v.ActionDescription||se,G=v.EmptyState||ie,go=v.Dialog||novaCore.Dialog,co=v.DialogContent||novaCore.DialogContent,to=v.MotionDiv||framerMotion.motion.div,no=react.useCallback(()=>{switch(g){case "about":return p.aboutWallets;case "getWallet":return p.getWallet;case "connecting":return u&&T&&f&&Ie(f[u],T)||p.connectingEllipsis;case "impersonate":return p.connectImpersonatedWallet;default:return p.connectWallet}},[g,u,T,f,p]),Z=react.useCallback(()=>"connectors",[g]),oo=react.useCallback(m=>{C?.onOpenChange?C.onOpenChange(m,a):l(m);},[C?.onOpenChange,a,l]),bo=react.useCallback(()=>{let m=()=>s(Z());C?.onBack?C.onBack(a,m):m();},[C?.onBack,a,s,Z]),yo=react.useCallback(()=>{C?.onInfoClick?C.onInfoClick(a):s("about");},[C?.onInfoClick,a,s]),_=react.useCallback(async(m,To)=>{await i({connectorType:m,chainId:chunkUKICC3L6_cjs.q({appChains:o,selectedAdapter:To,solanaRPCUrls:t})});try{await orbitCore.waitFor(()=>I?.getState().activeConnection?.isConnected),h(!0);let Eo=setTimeout(()=>l(!1),400),me=setTimeout(()=>h(!1),500);await orbitCore.delay(null,500),clearTimeout(Eo),clearTimeout(me);}catch(Eo){console.error(Eo);}},[i,o,u,t]),j=react.useCallback(async(m,To)=>{O(m),s("connecting"),await _(To,m);},[_]),Bo=react.useCallback(m=>{x(orbitCore.formatConnectorName(m.name)),m.adapters.length===1?(O(m.adapters[0]),s(orbitCore.formatConnectorName(m.name)==="impersonatedwallet"?"impersonate":"connecting")):u?s(orbitCore.formatConnectorName(m.name)==="impersonatedwallet"?"impersonate":"connecting"):orbitCore.formatConnectorName(m.name)==="impersonatedwallet"?s("impersonate"):s("network");},[u]),ce=react.useCallback(()=>{switch(g){case "network":return jsxRuntime.jsx(chunkHGNQGX55_cjs.B,{activeConnector:T,connectors:E,onClick:j,customization:d.networkSelections});case "connectors":return f?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(chunkHGNQGX55_cjs.C,{networks:Object.keys(f),selectedAdapter:u,onSelect:m=>O(m),customization:d.networkTabs}),jsxRuntime.jsx(chunkHGNQGX55_cjs.y,{isOnlyOneNetwork:Object.keys(f).length===1,connectors:E,selectedAdapter:u,onClick:Bo,setContentType:s,appChains:o,solanaRPCUrls:t,setIsConnected:h,setIsOpen:l,withImpersonated:r,customization:d.connectorsSelections})]}):jsxRuntime.jsx(G,{className:b.emptyConnectors?.({modalData:a}),modalData:a,children:"No connectors available"});case "about":return jsxRuntime.jsx(chunkHGNQGX55_cjs.s,{customization:d.aboutWallets});case "getWallet":return jsxRuntime.jsx(chunkHGNQGX55_cjs.z,{customization:d.getWallet});case "connecting":return jsxRuntime.jsx(chunkHGNQGX55_cjs.v,{selectedAdapter:u,connectors:E,activeConnector:T,isConnected:H,customization:d.connecting});case "impersonate":return jsxRuntime.jsx(chunkHGNQGX55_cjs.A,{selectedAdapter:u,impersonatedAddress:P,setImpersonatedAddress:k,customization:d.impersonateForm})}},[g,T,E,j,d,f,u,Bo,H,P]),$=react.useCallback(()=>{switch(g){case "connectors":return {title:p.iDontHaveWallet,onClick:()=>{C.onActionClick?.connectors?C.onActionClick.connectors(a):s("getWallet");}};case "getWallet":return {title:p.choseWallet,onClick:()=>{C.onActionClick?.getWallet?C.onActionClick.getWallet(a):window.open(chunkUKICC3L6_cjs.x[u??Object.keys(f)[0]]?.choseWallet,"_blank","noopener,noreferrer");}};case "about":return {title:p.learnMore,onClick:()=>{C.onActionClick?.about?C.onActionClick.about(a):window.open(chunkUKICC3L6_cjs.x[u??Object.keys(f)[0]]?.about,"_blank","noopener,noreferrer");}};case "impersonate":return {title:p.connect,onClick:async()=>{if(C.onActionClick?.impersonate)await C.onActionClick.impersonate(a);else {let m=P.trim();if(M||!m||chunkUKICC3L6_cjs.p(m)||z?.isConnected)return;orbitCore.impersonatedHelpers.setImpersonated(m),s("connecting"),await _(orbitCore.getConnectorTypeFromName(u??orbitCore.OrbitAdapter.EVM,T??""),u??orbitCore.OrbitAdapter.EVM);}}};case "connecting":return M&&u&&T?{title:p.tryAgain,onClick:async()=>{C.onActionClick?.connecting?await C.onActionClick.connecting(a):await _(orbitCore.getConnectorTypeFromName(u,T),u);}}:void 0}},[g,p,C,a,u,f,P,M,_,T])(),de=react.useCallback(()=>{switch(g){case "getWallet":return "Opens external wallet selection page";case "about":return "Opens external documentation";case "impersonate":return "Connects with impersonated wallet address";case "connecting":return "Retries wallet connection";default:return ""}},[g]);return jsxRuntime.jsx(go,{open:e,onOpenChange:oo,children:jsxRuntime.jsx(co,{className:novaCore.cn("novacon:w-full novacon:sm:max-w-md"),children:jsxRuntime.jsx(to,{layout:true,transition:{layout:{duration:N.animation?.disabled?0:N.animation?.layoutDuration??1e-4}},children:jsxRuntime.jsxs(y,{className:b.modalContainer?.({modalData:a}),modalData:a,children:[jsxRuntime.jsxs(D,{className:b.header?.({modalData:a}),modalData:a,children:[jsxRuntime.jsxs(K,{className:b.title?.({modalData:a}),modalData:a,children:[g==="connectors"&&jsxRuntime.jsx(V,{className:b.infoButton?.({modalData:a}),onClick:yo,"aria-label":N.ariaLabels?.infoButton?.(a)||`${p.learnMore} ${p.aboutWallets}`,modalData:a}),no()]}),jsxRuntime.jsx(J,{className:b.closeButton?.({modalData:a}),onClick:()=>oo(false),"aria-label":N.ariaLabels?.closeButton?.(a)||p.closeModal,modalData:a})]}),jsxRuntime.jsx(Q,{className:b.mainContent?.({modalData:a}),modalData:a,children:ce()}),jsxRuntime.jsxs(X,{className:b.footer?.({modalData:a}),modalData:a,children:[jsxRuntime.jsx("div",{className:"novacon:flex novacon:items-center novacon:gap-4",children:g!=="connectors"&&jsxRuntime.jsx(io,{className:b.backButton?.({modalData:a}),onClick:bo,"aria-label":N.ariaLabels?.backButton?.(a)||`${p.back} to previous step`,modalData:a,children:p.back})}),$&&jsxRuntime.jsxs("div",{className:"novacon:flex novacon:items-center novacon:gap-3",children:[jsxRuntime.jsx(Y,{className:b.actionButton?.({modalData:a,buttonConfig:$}),onClick:$.onClick,disabled:$.disabled,loading:$.loading,"aria-describedby":"bottom-action-description",modalData:a,buttonConfig:$,children:$.title}),jsxRuntime.jsx(lo,{id:"bottom-action-description",className:b.actionDescription?.({modalData:a}),modalData:a,children:de()})]})]})]})})})})});wo.displayName="ConnectModal";var Ve=({labels:o,children:t})=>jsxRuntime.jsx(No,{labels:o,children:t}),Ue=({customization:o})=>jsxRuntime.jsx(Po,{customization:o}),qe=(o,t)=>novaCore.deepMerge(o,t||{}),Ge=o=>o,_e=o=>o,je=(o,t,r)=>o;function $e({labels:o,children:t,appChains:r,solanaRPCUrls:n,transactionPool:e,pulsarAdapter:l,withImpersonated:s,withBalance:x,withChain:k,customization:h}){let g=chunk43RGAIHU_cjs.h(j=>j.activeConnection),u=chunk43RGAIHU_cjs.h(j=>j.connectionError),{LabelsProvider:O=Ve,ErrorsProvider:H=Ue}=h?.components??{},{merge:T=qe,transform:P=Ge}=h?.labels??{},{transform:M=_e}=h?.contextValue??{},{providerTree:R=je}=h?.rendering??{},i=react.useMemo(()=>T(chunkPTHXIVB5_cjs.a,o||{}),[o,T]),[z,p]=react.useState(false),[I,f]=react.useState(false),[E,F]=react.useState(false),[a,v]=react.useState(false),[b,C]=react.useState("idle"),[N,d]=react.useState("connectors"),[y,D]=react.useState(void 0),[V,K]=react.useState(void 0),[J,Q]=react.useState(""),[X,io]=react.useState(false),[Y,lo]=react.useState("main"),G=react.useMemo(()=>({isConnected:X,activeConnection:g,connectionError:u,modalStates:{isConnectModalOpen:z,isConnectedModalOpen:I,isChainsListOpen:E,isChainsListOpenMobile:a},contentTypes:{connectModal:N,connectedModal:Y},statuses:{connectedButton:b}}),[X,g,u,z,I,E,a,N,Y,b]),go=react.useMemo(()=>P(i,G),[i,P,G]),co=react.useMemo(()=>M({appChains:r,solanaRPCUrls:n,withImpersonated:s,withBalance:x,withChain:k,isConnectModalOpen:z,setIsConnectModalOpen:p,isConnectedModalOpen:I,setIsConnectedModalOpen:f,isChainsListOpen:E,setIsChainsListOpen:F,isChainsListOpenMobile:a,setIsChainsListOpenMobile:v,connectedButtonStatus:b,setConnectedButtonStatus:C,connectedModalContentType:Y,setConnectedModalContentType:lo,connectModalContentType:N,setConnectModalContentType:d,selectedAdapter:y,setSelectedAdapter:D,activeConnector:V,setActiveConnector:K,impersonatedAddress:J,setImpersonatedAddress:Q,isConnected:X,setIsConnected:io},G),[r,n,s,x,k,z,p,I,f,E,F,a,v,b,C,Y,lo,N,d,y,D,V,K,J,Q,X,io,M,G]),to=jsxRuntime.jsx(H,{customization:h?.errors}),no=jsxRuntime.jsx(O,{labels:go,children:t}),Z=r||n?jsxRuntime.jsx(wo,{withImpersonated:s,solanaRPCUrls:n,appChains:r,customization:h?.modals?.connectModal}):null,oo=r||n?jsxRuntime.jsx(chunkHGNQGX55_cjs.r,{solanaRPCUrls:n,appChains:r,transactionPool:e,pulsarAdapter:l,customization:h?.modals?.connectedModal}):null,bo=jsxRuntime.jsxs(chunkUKICC3L6_cjs.c.Provider,{value:co,children:[to,no,Z,oo]}),yo=jsxRuntime.jsxs(chunkUKICC3L6_cjs.c.Provider,{value:co,children:[to,no,Z,oo]}),_=R(yo,{ErrorsProvider:to,LabelsProvider:no,MainContent:bo,ConnectModal:Z||jsxRuntime.jsx(jsxRuntime.Fragment,{}),ConnectedModal:oo||jsxRuntime.jsx(jsxRuntime.Fragment,{})},G);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:_})}$e.displayName="NovaConnectProvider";var so=typeof process<"u"&&process.env?.NODE_ENV==="production";async function Qn(){let{getAllAdaptersStatus:o}=await import('./getChainsListByConnectorType-5S4LY67B.cjs');return {hasEvmUtils:await fo(),hasSolanaUtils:await vo(),adaptersStatus:o()}}async function fo(){if(so)try{return new Function('try { return Boolean(require("@tuwaio/orbit-evm") && require("viem")); } catch { return false; }')()}catch{return false}try{return await import('viem'),await import('@tuwaio/orbit-evm'),!0}catch{return false}}async function vo(){if(so)try{return new Function('try { return Boolean(require("@tuwaio/orbit-solana") && require("gill")); } catch { return false; }')()}catch{return false}try{return await import('gill'),await import('@tuwaio/orbit-solana'),!0}catch{return false}}async function Xn(){try{if(!await fo())return {available:!1,error:"EVM packages (viem, @tuwaio/orbit-evm) not available"};if(so)try{let e=new Function('try { return require("./evm"); } catch { return null; }')();return e?new Promise(l=>{if(typeof e.getEvmExports!="function"){l({available:!1,error:"EVM module does not have getEvmExports function"});return}e.getEvmExports().then(s=>{if(!s.available){l({available:!1,error:s.error||"Failed to load EVM exports"});return}l({...e,...s});}).catch(s=>{l({available:!1,error:s instanceof Error?s.message:"Failed to load EVM exports"});});}):{available:!1,error:"Failed to load EVM module"}}catch(n){return {available:!1,error:n instanceof Error?n.message:"Failed to load EVM module"}}let t=await import('./evm/index.cjs'),r=await t.getEvmExports();return r.available?{...t,...r}:{available:!1,error:r.error||"Failed to load EVM exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"EVM utilities not available"}}}async function Yn(){try{if(!await vo())return {available:!1,error:"Solana packages (gill, @tuwaio/orbit-solana) not available"};if(so)try{let e=new Function('try { return require("./solana"); } catch { return null; }')();return e?new Promise(l=>{if(typeof e.getSolanaExports!="function"){l({available:!1,error:"Solana module does not have getSolanaExports function"});return}e.getSolanaExports().then(s=>{if(!s.available){l({available:!1,error:s.error||"Failed to load Solana exports"});return}l({...e,...s});}).catch(s=>{l({available:!1,error:s instanceof Error?s.message:"Failed to load Solana exports"});});}):{available:!1,error:"Failed to load Solana module"}}catch(n){return {available:!1,error:n instanceof Error?n.message:"Failed to load Solana module"}}let t=await import('./solana/index.cjs'),r=await t.getSolanaExports();return r.available?{...t,...r}:{available:!1,error:r.error||"Failed to load Solana exports"}}catch(o){return {available:false,error:o instanceof Error?o.message:"Solana utilities not available"}}}async function Zn(){let o={evm:false,solana:false,errors:[]};try{let t=await fo(),r=await vo();if(t||r)if(so)try{let e=new Function('try { return require("./utils/getChainsListByConnectorType"); } catch { return null; }')();if(!e)return o.errors.push("Failed to load chain adapter utilities"),o;let l=[];t&&l.push(orbitCore.OrbitAdapter.EVM),r&&l.push(orbitCore.OrbitAdapter.SOLANA),await e.preloadChainAdapters(l),o.evm=t,o.solana=r;}catch(n){let e=n instanceof Error?n.message:"Failed to initialize chain adapters";o.errors.push(e);}else {let{preloadChainAdapters:n}=await import('./getChainsListByConnectorType-5S4LY67B.cjs'),e=[];t&&e.push(orbitCore.OrbitAdapter.EVM),r&&e.push(orbitCore.OrbitAdapter.SOLANA),await n(e),o.evm=t,o.solana=r;}else o.errors.push("No blockchain packages available for initialization");}catch(t){let r=t instanceof Error?t.message:"Unknown initialization error";o.errors.push(r);}return o}async function or(o){return o===orbitCore.OrbitAdapter.Starknet||o!==orbitCore.OrbitAdapter.EVM&&o!==orbitCore.OrbitAdapter.SOLANA?false:o===orbitCore.OrbitAdapter.EVM?fo():vo()}Object.defineProperty(exports,"NovaConnectLabelsContext",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.g}});Object.defineProperty(exports,"NovaConnectProviderContext",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.c}});Object.defineProperty(exports,"NovaConnectProviderError",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.b}});Object.defineProperty(exports,"createLabelsSubset",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.o}});Object.defineProperty(exports,"getAvailableChainIds",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.r}});Object.defineProperty(exports,"getAvailableSolanaClusters",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.y}});Object.defineProperty(exports,"getConnectChainId",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.q}});Object.defineProperty(exports,"getFilteredConnectors",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.u}});Object.defineProperty(exports,"getGroupedConnectors",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.s}});Object.defineProperty(exports,"getLabelWithFallback",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.n}});Object.defineProperty(exports,"getNetworkIcon",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.w}});Object.defineProperty(exports,"hasAvailableConnectors",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.t}});Object.defineProperty(exports,"hasConnectorsForAdapter",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.v}});Object.defineProperty(exports,"hasLabel",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.k}});Object.defineProperty(exports,"isAddress",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.p}});Object.defineProperty(exports,"isDefaultLabels",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.m}});Object.defineProperty(exports,"isValidSolanaCluster",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.z}});Object.defineProperty(exports,"networksLinks",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.x}});Object.defineProperty(exports,"useGetWalletNameAndAvatar",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.a}});Object.defineProperty(exports,"useHasNovaConnectContext",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.e}});Object.defineProperty(exports,"useLabelsByCategory",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.l}});Object.defineProperty(exports,"useNovaConnect",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.d}});Object.defineProperty(exports,"useNovaConnectLabel",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.i}});Object.defineProperty(exports,"useNovaConnectLabels",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.h}});Object.defineProperty(exports,"useNovaConnectLabelsSubset",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.j}});Object.defineProperty(exports,"useNovaConnectOptional",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.f}});Object.defineProperty(exports,"useWalletChainsList",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.A}});Object.defineProperty(exports,"useWalletNativeBalance",{enumerable:true,get:function(){return chunkUKICC3L6_cjs.B}});Object.defineProperty(exports,"getAdapterStatus",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.k}});Object.defineProperty(exports,"getAllAdaptersStatus",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.l}});Object.defineProperty(exports,"getAvailableSolanaClustersAsync",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.g}});Object.defineProperty(exports,"getChainsListByConnectorType",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.b}});Object.defineProperty(exports,"getChainsListByConnectorTypeAsync",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.a}});Object.defineProperty(exports,"getChainsListByConnectorTypeSync",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.b}});Object.defineProperty(exports,"getWalletChains",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.i}});Object.defineProperty(exports,"isEvmChainList",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.e}});Object.defineProperty(exports,"isEvmChainListAsync",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.c}});Object.defineProperty(exports,"isEvmChainListSync",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.e}});Object.defineProperty(exports,"isSolanaChainList",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.f}});Object.defineProperty(exports,"isSolanaChainListAsync",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.d}});Object.defineProperty(exports,"isSolanaChainListSync",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.f}});Object.defineProperty(exports,"isValidSolanaClusterAsync",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.h}});Object.defineProperty(exports,"preloadChainAdapters",{enumerable:true,get:function(){return chunkHD3XOSPF_cjs.j}});exports.ErrorsProvider=Po;exports.NovaConnectLabelsProvider=No;exports.NovaConnectProvider=$e;exports.getBlockchainUtilities=Qn;exports.getEvmUtils=Xn;exports.getSolanaUtils=Yn;exports.initializeBlockchainSupport=Zn;exports.isAdapterSupported=or;//# sourceMappingURL=index.cjs.map
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|