@nexus-cross/dapp-ui 1.5.0-beta.3 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var Ib=Object.create;var fi=Object.defineProperty;var Eb=Object.getOwnPropertyDescriptor;var Ab=Object.getOwnPropertyNames;var Mb=Object.getPrototypeOf,Lb=Object.prototype.hasOwnProperty;var Db=(e,t)=>{for(var n in t)fi(e,n,{get:t[n],enumerable:!0})},Dc=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ab(t))!Lb.call(e,o)&&o!==n&&fi(e,o,{get:()=>t[o],enumerable:!(r=Eb(t,o))||r.enumerable});return e};var H=(e,t,n)=>(n=e!=null?Ib(Mb(e)):{},Dc(t||!e||!e.__esModule?fi(n,"default",{value:e,enumerable:!0}):n,e)),Pb=e=>Dc(fi({},"__esModule",{value:!0}),e);var H2={};Db(H2,{APPLE_ICON:()=>ri,AppLauncher:()=>Ul,AppLauncherContent:()=>Gl,AppLauncherTrigger:()=>jl,BINANCE_ICON:()=>ti,BridgeFlow:()=>go,CHAINS_CONFIG_FILE:()=>to,CONNECTOR_REGISTRY:()=>pa,CROSSX_ICON:()=>$a,ConnectButton:()=>hc,ConnectorId:()=>Ii,DEFAULT_SKILLS_HREF:()=>bc,DEFAULT_TRUSTED_FACTORIES:()=>ko,DappUiErrorBoundary:()=>sa,GOOGLE_ICON:()=>ni,GetOneUsd:()=>mc,METAMASK_ICON:()=>ei,OnePopBody:()=>Da,OnePopGetTokenTrigger:()=>Ud,PORTFOLIO_SECTIONS:()=>Na,RelayApiError:()=>Wn,RelayDeposit:()=>Yo,RelayHistory:()=>nc,RelayRecovery:()=>sc,SOCIAL_REGISTRY:()=>ns,SendFlow:()=>ha,SkillsButton:()=>wc,StatusTracker:()=>pc,TOKEN_STATS_QUERY_KEY:()=>Ki,USER_BALANCE_QUERY_KEY:()=>qi,WALLET_PORTFOLIO_QUERY_PREFIX:()=>md,WALLET_REGISTRY:()=>Fo,WalletConnectModal:()=>gc,WalletInfo:()=>yo,WalletInfoPage:()=>Gd,WalletPortfolio:()=>Rd,WalletPortfolioBody:()=>uo,announceAppLauncherUsage:()=>yi,captureDappUiException:()=>ia,createRelayClient:()=>rn,findGetOneUsdToken:()=>Va,getChainDisplay:()=>jc,getDappUiSentryScope:()=>aa,getOneUsdTokenKey:()=>_a,initDappUiSentry:()=>Mo,invalidateWalletPortfolioQueries:()=>Ar,isGetOneUsdActionEnabled:()=>qa,isGetOneUsdActionSupported:()=>Xo,isGetOneUsdActionVisible:()=>Zo,isGetOneUsdTargetAvailable:()=>Qa,matchesGetOneUsdToken:()=>il,normalizeFailureReason:()=>Nn,resolveEnvironment:()=>it,resolveGetOneUsdRoute:()=>Ko,selectChainMeta:()=>bi,setDappUiAnalyticsUser:()=>ro,trackDappUiEvent:()=>la,trackDappUiFunnel:()=>Je,useChainDisplay:()=>Fr,useChainsConfig:()=>Wc,useGlobalMenu:()=>da,useRelayConfig:()=>lc,useRelayOrders:()=>Pr,useRelayRecovery:()=>dc,useTokenBalance:()=>Tr,useTokenStats:()=>Ir,useWalletDetect:()=>Za});module.exports=Pb(H2);var Ob={};function Pc(e){try{return Ob.env?.[e]}catch{return}}function Oc(e){if(!(typeof process>"u"))return process.env?.[e]}function it(e){if(e)return Bc(e);let t=Pc("VITE_CROSSX_ENVIRONMENT")??Pc("NEXT_PUBLIC_CROSSX_ENVIRONMENT")??Oc("NEXT_PUBLIC_CROSSX_ENVIRONMENT")??Oc("CROSSX_ENVIRONMENT");return Bc(t)}function Bc(e){switch(e?.toLowerCase()){case"dev":case"development":return"dev";case"stage":case"staging":case"stg":return"stage";default:return"production"}}var ar=H(require("react"),1);var oa="eip155";function On(e){return`${oa}:${e}`}function zc(e){let t=e.indexOf(":");return t>0?e.slice(0,t):void 0}function Fc(e){let t=zc(e);return t===void 0||t===oa}function mi(e){if(typeof e=="number")return Number.isSafeInteger(e)&&e>0?e:void 0;if(typeof e!="string")return;let t=e.trim(),n=zc(t);if(n!==void 0&&n!==oa)return;let r=n===oa?t.slice(oa.length+1):t;if(!/^\d+$/.test(r))return;let o=Number(r);return Number.isSafeInteger(o)&&o>0?o:void 0}function Uc(e){let t=mi(e);return t===void 0?void 0:On(t)}var Bb={dev:"https://stg-contents.crosstoken.io/frontend/common/app-launcher",stage:"https://stg-contents.crosstoken.io/frontend/common/app-launcher",production:"https://contents.crosstoken.io/frontend/common/app-launcher"},zb=3e3;function Bn(e,t){if(e!=null)return typeof e=="object"&&!Array.isArray(e)&&("dev"in e||"stage"in e||"production"in e)?e[t]:e}var Ml=new Map;function kr(e,t){let n=`${Bb[t]}/${e}`,r=Ml.get(n);return r||(r=(async()=>{let o=new AbortController,a=setTimeout(()=>o.abort(),zb);try{let i=await fetch(n,{cache:"no-store",signal:o.signal});return i.ok?await i.json():null}catch{return null}finally{clearTimeout(a)}})().then(o=>(o===null&&Ml.delete(n),o)),Ml.set(n,r)),r}function Fb(e){return typeof e=="string"&&e.startsWith("https://")}async function Be(e,t){let n=await kr("endpoints.json",t),r=Bn(n?.apis?.[e],t);if(!Fb(r))throw new Error(`[remote-config] endpoints.json missing or invalid api base: ${e} (${t})`);return r}var gi="apps.json";function hi(e,t){let n=Bn(e?.relay?.forwarderFactories,t),r=[n?.standingForwarderFactory,n?.depositorForwarderFactory].filter(o=>typeof o=="string");return r.length>0?r:void 0}var to="chains.json";function bi(e,t){return e?e[On(t)]??e[String(t)]??{}:{}}async function jc(e,t){let n=await kr(to,t);return bi(n?.chains,e)}function Fr(e,t){let[n,r]=ar.useState({});return ar.useEffect(()=>{if(e==null){r({});return}let o=!0;return kr(to,t).then(a=>{o&&r(bi(a?.chains,e))}),()=>{o=!1}},[e,t]),n}function Wc(e){let[t,n]=ar.useState({});return ar.useEffect(()=>{let r=!0;return kr(to,e).then(o=>{r&&n(o?.chains??{})}),()=>{r=!1}},[e]),t}function Xt(e,t,n){let[r,o]=ar.useState(void 0),a=ar.useRef(n);return a.current=n,ar.useEffect(()=>{let i=!0;return kr(e,t).then(s=>{if(!i)return;let l=a.current(s);l!==void 0&&o(l)}),()=>{i=!1}},[e,t]),r}var no="1.5.0-beta.3";var wi="__nexusCrossAppLauncherRuntime";function Ub(){if(typeof window>"u")return null;let e=window;return e[wi]??(e[wi]={mode:"dapp-ui"}),e[wi]}function jb(e){if(e.scheduled)return;e.scheduled=!0;let t=()=>{if(e.scheduled=!1,e.loggedMode!==e.mode){if(e.mode==="connect-kit-react"){let n=e.connectKitVersion??"unknown";console.info(`[CROSSx App Launcher] connect-kit-react v${n} \uCD08\uAE30\uD654 \uC644\uB8CC (dapp-ui v${no}, \uC0AC\uC6A9 \uBAA8\uB4DC: connect-kit)`)}else console.info(`[CROSSx App Launcher] dapp-ui v${no} \uCD08\uAE30\uD654 \uC644\uB8CC (\uC0AC\uC6A9 \uBAA8\uB4DC: dapp-ui only)`);e.loggedMode=e.mode}};typeof queueMicrotask=="function"?queueMicrotask(t):Promise.resolve().then(t)}function yi(e){let t=Ub();t&&(e?.mode==="connect-kit-react"?t.mode="connect-kit-react":t.mode||(t.mode="dapp-ui"),e?.connectKitVersion&&(t.connectKitVersion=e.connectKitVersion),jb(t))}var ir=require("@sentry/react");var Wb="https://5c82aeb32da33b5a0a14b7c5393992ca@o4511668907081728.ingest.de.sentry.io/4511705324126289",Gb=`dapp-ui@${no}`,Ao=null,Gc=.1;function Hc(){return Gc}function Hb(e){switch(e){case"dev":return"dev";case"stage":return"stg";default:return"prod"}}function Mo(e){if(Ao)return Ao;if(typeof window>"u")return null;let t=Hb(it(e?.environment));typeof e?.analyticsSampleRate=="number"&&(Gc=Math.min(1,Math.max(0,e.analyticsSampleRate)));let n=new ir.BrowserClient({dsn:e?.dsn??Wb,transport:ir.makeFetchTransport,stackParser:ir.defaultStackParser,integrations:[(0,ir.linkedErrorsIntegration)()],environment:t,release:Gb,enabled:e?.enabled??t==="prod"}),r=new ir.Scope;return r.setClient(n),r.setTags({package:"dapp-ui",framework:"react",source:"dapp-ui"}),n.init(),Ao=r,Ao}function aa(){return Ao}function ia(e,t){let n=Ao??Mo();if(n)return n.captureException(e,t?{captureContext:{extra:t}}:void 0)}var _c=require("react");var sa=class extends _c.Component{constructor(){super(...arguments);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(n,r){ia(n,{componentStack:r.componentStack??void 0,boundary:this.props.name??"dapp-ui"})}render(){return this.state.hasError?this.props.fallback??null:this.props.children}};function Ie(...e){return e.filter(Boolean).join(" ")}var _b=/CROSSx|ONE\s?wallet|ONE\s?pocket/i;function Lo(){return typeof window>"u"?!1:_b.test(window.navigator.userAgent)}var Vc="__nexus_dapp_ui_uid",Ll=null;function Vb(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Array.from({length:32},()=>Math.floor(Math.random()*16).toString(16)).join("")}function Dl(){if(Ll)return Ll;let e=null;try{e=window.localStorage.getItem(Vc)}catch{}if(!e||!e.startsWith("anon_")){e=`anon_${Vb()}`;try{window.localStorage.setItem(Vc,e)}catch{}}return Ll=e,e}async function Qc(e){if(typeof crypto>"u"||!crypto.subtle)return null;try{let t=new TextEncoder().encode(e.trim().toLowerCase()),n=await crypto.subtle.digest("SHA-256",t);return`wallet_${Array.from(new Uint8Array(n),o=>o.toString(16).padStart(2,"0")).join("").slice(0,16)}`}catch{return null}}function Qb(){let e=window.navigator.userAgent;return/ipad|tablet|(android(?!.*mobile))/i.test(e)?"tablet":/mobile|iphone|ipod|android/i.test(e)?"mobile":"desktop"}function Kc(){return{host:window.location.hostname,device_type:Qb(),is_cross_inapp:String(Lo())}}var qc=!1;function Pl(){if(typeof window>"u")return null;let e=aa()??Mo();return e?(qc||(qc=!0,e.setUser({id:Dl()})),e):null}function Zc(){return Math.random()>=Hc()}var Yc=0;function ro(e){let t=Pl();if(!t)return;let n=++Yc;if(!e){t.setUser({id:Dl()});return}Qc(e).then(r=>{r&&n===Yc&&t.setUser({id:r})})}function la(e,t,n){let r=Pl();!r||Zc()||r.captureMessage(`ui: ${e}_${t}`,"info",{captureContext:{tags:{...Kc(),feature:e,action:t,...n}}})}function Je(e,t,n){let r=Pl();if(!r||Zc())return;let o=n?.status??"success";r.captureMessage(`funnel: ${e}_${t}`,"info",{captureContext:{tags:{...Kc(),flow:e,funnel_step:`${e}_${t}`,funnel_status:o,...o==="failure"?{failure_reason:n?.reason??"unknown"}:{},...n?.tags}}})}function Nn(e){let t=e,n=String((t&&typeof t=="object"&&"message"in t?t.message:e)??"").toLowerCase();return t?.code===4001||/reject|denied|declin|cancel/i.test(n)?"user-rejected":/insufficient (funds|gas|balance)|exceeds balance/i.test(n)?"insufficient-gas":/timeout|timed out|deadline/i.test(n)?"timeout":/revert|execution failed/i.test(n)?"contract-reverted":/network|fetch|connection|disconnected|offline/i.test(n)?"network":"unknown"}var Xc=require("react");var Jc=require("react/jsx-runtime");function Me({feature:e,children:t}){let n=(0,Xc.useCallback)(r=>{let o=r.nativeEvent;if(o.__dappUiTracked)return;let i=r.target?.closest?.("[data-track]");if(!i)return;let s=i.getAttribute("data-track");if(!s)return;o.__dappUiTracked=!0;let l=i.getAttribute("data-track-id");la(e,s,l?{item_id:l}:void 0)},[e]);return(0,Jc.jsx)("div",{style:{display:"contents"},onClick:n,children:t})}var Oo=H(require("react"),1),ep=H(require("@radix-ui/react-popover"),1),tp=require("vaul");var xi=require("react"),Ol=(0,xi.createContext)(null);function vi(){let e=(0,xi.useContext)(Ol);if(!e)throw new Error("AppLauncher compound components must be used within <AppLauncher>");return e}var Ci=H(require("react"),1),qb="__dappUiOverlay",oo=[],Do=0,zl=0,ki=!1,Bl=!1;function $c(){if(zl>0){zl-=1;return}Do=Math.max(0,Do-1),oo.pop()?.close(),Fl()}function Yb(){ki||(window.addEventListener("popstate",$c),ki=!0)}function Fl(){oo.length>0||!ki||(window.removeEventListener("popstate",$c),ki=!1)}function Kb(){Bl||(Bl=!0,queueMicrotask(()=>{Bl=!1;let e=Do-oo.length;if(e<=0){Fl();return}Do-=e,zl+=1,window.history.go(-e),Fl()}))}function Qn(e,t){let n=Ci.useRef(t);n.current=t,Ci.useEffect(()=>{if(!(!e||typeof window>"u"))return Zb(()=>n.current())},[e])}function Zb(e){let t={close:e};return oo.push(t),Do<oo.length&&(window.history.pushState({[qb]:!0},""),Do+=1),Yb(),()=>{let n=oo.lastIndexOf(t);n!==-1&&(oo.splice(n,1),Kb())}}var Ri=require("react");function Po(e){let[t,n]=(0,Ri.useState)(!1);return(0,Ri.useEffect)(()=>{let r=window.matchMedia(e);n(r.matches);let o=a=>n(a.matches);return r.addEventListener("change",o),()=>r.removeEventListener("change",o)},[e]),t}function he(e,{insertAt:t}={}){if(!e||typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}he(`[data-theme=dark]{--al-bg: var(--ds-surface-default, #1e232e);--al-bg-hover: var(--ds-surface-medium, #252b39);--al-text: var(--ds-content-highest, #ffffff);--al-text-secondary: var(--ds-content-medium, #ffffffa6);--al-border: var(--ds-border-default, #ffffff12);--al-shadow: var(--ds-shadow-modal, 0px 4px 30px -1px rgba(0, 0, 0, .7));--al-primary: #f3742e;--al-primary-hover: #ff8a4a;--al-primary-soft: #3a261f;--al-new-ribbon-bg: #ed0a72;--al-badge-bg: var(--ds-accent-primary-low, #2e2854);--al-badge-text: var(--ds-accent-primary-default, #a392ff);--al-drawer-overlay: var(--ds-overlay-dim, #000000b3)}[data-theme=light]{--al-bg: var(--ds-surface-default, #ffffff);--al-bg-hover: var(--ds-surface-medium, #f5f7fa);--al-text: var(--ds-content-highest, #000000);--al-text-secondary: var(--ds-content-medium, #000000a6);--al-border: var(--ds-border-default, #00000012);--al-shadow: var(--ds-shadow-modal, 0px 4px 30px -1px rgba(0, 0, 0, .15));--al-primary: #f3742e;--al-primary-hover: #ff8a4a;--al-primary-soft: #fff1eb;--al-new-ribbon-bg: #ed0a72;--al-badge-bg: var(--ds-accent-primary-low, #f5f3ff);--al-badge-text: var(--ds-accent-primary-default, #7e54f4);--al-drawer-overlay: var(--ds-overlay-dim, #00000080)}
1
+ "use strict";var Ib=Object.create;var fi=Object.defineProperty;var Eb=Object.getOwnPropertyDescriptor;var Ab=Object.getOwnPropertyNames;var Mb=Object.getPrototypeOf,Lb=Object.prototype.hasOwnProperty;var Db=(e,t)=>{for(var n in t)fi(e,n,{get:t[n],enumerable:!0})},Dc=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Ab(t))!Lb.call(e,o)&&o!==n&&fi(e,o,{get:()=>t[o],enumerable:!(r=Eb(t,o))||r.enumerable});return e};var H=(e,t,n)=>(n=e!=null?Ib(Mb(e)):{},Dc(t||!e||!e.__esModule?fi(n,"default",{value:e,enumerable:!0}):n,e)),Pb=e=>Dc(fi({},"__esModule",{value:!0}),e);var H2={};Db(H2,{APPLE_ICON:()=>ri,AppLauncher:()=>Ul,AppLauncherContent:()=>Gl,AppLauncherTrigger:()=>jl,BINANCE_ICON:()=>ti,BridgeFlow:()=>go,CHAINS_CONFIG_FILE:()=>to,CONNECTOR_REGISTRY:()=>pa,CROSSX_ICON:()=>$a,ConnectButton:()=>hc,ConnectorId:()=>Ii,DEFAULT_SKILLS_HREF:()=>bc,DEFAULT_TRUSTED_FACTORIES:()=>ko,DappUiErrorBoundary:()=>sa,GOOGLE_ICON:()=>ni,GetOneUsd:()=>mc,METAMASK_ICON:()=>ei,OnePopBody:()=>Da,OnePopGetTokenTrigger:()=>Ud,PORTFOLIO_SECTIONS:()=>Na,RelayApiError:()=>Wn,RelayDeposit:()=>Yo,RelayHistory:()=>nc,RelayRecovery:()=>sc,SOCIAL_REGISTRY:()=>ns,SendFlow:()=>ha,SkillsButton:()=>wc,StatusTracker:()=>pc,TOKEN_STATS_QUERY_KEY:()=>Ki,USER_BALANCE_QUERY_KEY:()=>qi,WALLET_PORTFOLIO_QUERY_PREFIX:()=>md,WALLET_REGISTRY:()=>Fo,WalletConnectModal:()=>gc,WalletInfo:()=>yo,WalletInfoPage:()=>Gd,WalletPortfolio:()=>Rd,WalletPortfolioBody:()=>uo,announceAppLauncherUsage:()=>yi,captureDappUiException:()=>ia,createRelayClient:()=>rn,findGetOneUsdToken:()=>Va,getChainDisplay:()=>jc,getDappUiSentryScope:()=>aa,getOneUsdTokenKey:()=>_a,initDappUiSentry:()=>Mo,invalidateWalletPortfolioQueries:()=>Ar,isGetOneUsdActionEnabled:()=>qa,isGetOneUsdActionSupported:()=>Xo,isGetOneUsdActionVisible:()=>Zo,isGetOneUsdTargetAvailable:()=>Qa,matchesGetOneUsdToken:()=>il,normalizeFailureReason:()=>Nn,resolveEnvironment:()=>it,resolveGetOneUsdRoute:()=>Ko,selectChainMeta:()=>bi,setDappUiAnalyticsUser:()=>ro,trackDappUiEvent:()=>la,trackDappUiFunnel:()=>Je,useChainDisplay:()=>Fr,useChainsConfig:()=>Wc,useGlobalMenu:()=>da,useRelayConfig:()=>lc,useRelayOrders:()=>Pr,useRelayRecovery:()=>dc,useTokenBalance:()=>Tr,useTokenStats:()=>Ir,useWalletDetect:()=>Za});module.exports=Pb(H2);var Ob={};function Pc(e){try{return Ob.env?.[e]}catch{return}}function Oc(e){if(!(typeof process>"u"))return process.env?.[e]}function it(e){if(e)return Bc(e);let t=Pc("VITE_CROSSX_ENVIRONMENT")??Pc("NEXT_PUBLIC_CROSSX_ENVIRONMENT")??Oc("NEXT_PUBLIC_CROSSX_ENVIRONMENT")??Oc("CROSSX_ENVIRONMENT");return Bc(t)}function Bc(e){switch(e?.toLowerCase()){case"dev":case"development":return"dev";case"stage":case"staging":case"stg":return"stage";default:return"production"}}var ar=H(require("react"),1);var oa="eip155";function On(e){return`${oa}:${e}`}function zc(e){let t=e.indexOf(":");return t>0?e.slice(0,t):void 0}function Fc(e){let t=zc(e);return t===void 0||t===oa}function mi(e){if(typeof e=="number")return Number.isSafeInteger(e)&&e>0?e:void 0;if(typeof e!="string")return;let t=e.trim(),n=zc(t);if(n!==void 0&&n!==oa)return;let r=n===oa?t.slice(oa.length+1):t;if(!/^\d+$/.test(r))return;let o=Number(r);return Number.isSafeInteger(o)&&o>0?o:void 0}function Uc(e){let t=mi(e);return t===void 0?void 0:On(t)}var Bb={dev:"https://stg-contents.crosstoken.io/frontend/common/app-launcher",stage:"https://stg-contents.crosstoken.io/frontend/common/app-launcher",production:"https://contents.crosstoken.io/frontend/common/app-launcher"},zb=3e3;function Bn(e,t){if(e!=null)return typeof e=="object"&&!Array.isArray(e)&&("dev"in e||"stage"in e||"production"in e)?e[t]:e}var Ml=new Map;function kr(e,t){let n=`${Bb[t]}/${e}`,r=Ml.get(n);return r||(r=(async()=>{let o=new AbortController,a=setTimeout(()=>o.abort(),zb);try{let i=await fetch(n,{cache:"no-store",signal:o.signal});return i.ok?await i.json():null}catch{return null}finally{clearTimeout(a)}})().then(o=>(o===null&&Ml.delete(n),o)),Ml.set(n,r)),r}function Fb(e){return typeof e=="string"&&e.startsWith("https://")}async function Be(e,t){let n=await kr("endpoints.json",t),r=Bn(n?.apis?.[e],t);if(!Fb(r))throw new Error(`[remote-config] endpoints.json missing or invalid api base: ${e} (${t})`);return r}var gi="apps.json";function hi(e,t){let n=Bn(e?.relay?.forwarderFactories,t),r=[n?.standingForwarderFactory,n?.depositorForwarderFactory].filter(o=>typeof o=="string");return r.length>0?r:void 0}var to="chains.json";function bi(e,t){return e?e[On(t)]??e[String(t)]??{}:{}}async function jc(e,t){let n=await kr(to,t);return bi(n?.chains,e)}function Fr(e,t){let[n,r]=ar.useState({});return ar.useEffect(()=>{if(e==null){r({});return}let o=!0;return kr(to,t).then(a=>{o&&r(bi(a?.chains,e))}),()=>{o=!1}},[e,t]),n}function Wc(e){let[t,n]=ar.useState({});return ar.useEffect(()=>{let r=!0;return kr(to,e).then(o=>{r&&n(o?.chains??{})}),()=>{r=!1}},[e]),t}function Xt(e,t,n){let[r,o]=ar.useState(void 0),a=ar.useRef(n);return a.current=n,ar.useEffect(()=>{let i=!0;return kr(e,t).then(s=>{if(!i)return;let l=a.current(s);l!==void 0&&o(l)}),()=>{i=!1}},[e,t]),r}var no="1.5.0";var wi="__nexusCrossAppLauncherRuntime";function Ub(){if(typeof window>"u")return null;let e=window;return e[wi]??(e[wi]={mode:"dapp-ui"}),e[wi]}function jb(e){if(e.scheduled)return;e.scheduled=!0;let t=()=>{if(e.scheduled=!1,e.loggedMode!==e.mode){if(e.mode==="connect-kit-react"){let n=e.connectKitVersion??"unknown";console.info(`[CROSSx App Launcher] connect-kit-react v${n} \uCD08\uAE30\uD654 \uC644\uB8CC (dapp-ui v${no}, \uC0AC\uC6A9 \uBAA8\uB4DC: connect-kit)`)}else console.info(`[CROSSx App Launcher] dapp-ui v${no} \uCD08\uAE30\uD654 \uC644\uB8CC (\uC0AC\uC6A9 \uBAA8\uB4DC: dapp-ui only)`);e.loggedMode=e.mode}};typeof queueMicrotask=="function"?queueMicrotask(t):Promise.resolve().then(t)}function yi(e){let t=Ub();t&&(e?.mode==="connect-kit-react"?t.mode="connect-kit-react":t.mode||(t.mode="dapp-ui"),e?.connectKitVersion&&(t.connectKitVersion=e.connectKitVersion),jb(t))}var ir=require("@sentry/react");var Wb="https://5c82aeb32da33b5a0a14b7c5393992ca@o4511668907081728.ingest.de.sentry.io/4511705324126289",Gb=`dapp-ui@${no}`,Ao=null,Gc=.1;function Hc(){return Gc}function Hb(e){switch(e){case"dev":return"dev";case"stage":return"stg";default:return"prod"}}function Mo(e){if(Ao)return Ao;if(typeof window>"u")return null;let t=Hb(it(e?.environment));typeof e?.analyticsSampleRate=="number"&&(Gc=Math.min(1,Math.max(0,e.analyticsSampleRate)));let n=new ir.BrowserClient({dsn:e?.dsn??Wb,transport:ir.makeFetchTransport,stackParser:ir.defaultStackParser,integrations:[(0,ir.linkedErrorsIntegration)()],environment:t,release:Gb,enabled:e?.enabled??t==="prod"}),r=new ir.Scope;return r.setClient(n),r.setTags({package:"dapp-ui",framework:"react",source:"dapp-ui"}),n.init(),Ao=r,Ao}function aa(){return Ao}function ia(e,t){let n=Ao??Mo();if(n)return n.captureException(e,t?{captureContext:{extra:t}}:void 0)}var _c=require("react");var sa=class extends _c.Component{constructor(){super(...arguments);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(n,r){ia(n,{componentStack:r.componentStack??void 0,boundary:this.props.name??"dapp-ui"})}render(){return this.state.hasError?this.props.fallback??null:this.props.children}};function Ie(...e){return e.filter(Boolean).join(" ")}var _b=/CROSSx|ONE\s?wallet|ONE\s?pocket/i;function Lo(){return typeof window>"u"?!1:_b.test(window.navigator.userAgent)}var Vc="__nexus_dapp_ui_uid",Ll=null;function Vb(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Array.from({length:32},()=>Math.floor(Math.random()*16).toString(16)).join("")}function Dl(){if(Ll)return Ll;let e=null;try{e=window.localStorage.getItem(Vc)}catch{}if(!e||!e.startsWith("anon_")){e=`anon_${Vb()}`;try{window.localStorage.setItem(Vc,e)}catch{}}return Ll=e,e}async function Qc(e){if(typeof crypto>"u"||!crypto.subtle)return null;try{let t=new TextEncoder().encode(e.trim().toLowerCase()),n=await crypto.subtle.digest("SHA-256",t);return`wallet_${Array.from(new Uint8Array(n),o=>o.toString(16).padStart(2,"0")).join("").slice(0,16)}`}catch{return null}}function Qb(){let e=window.navigator.userAgent;return/ipad|tablet|(android(?!.*mobile))/i.test(e)?"tablet":/mobile|iphone|ipod|android/i.test(e)?"mobile":"desktop"}function Kc(){return{host:window.location.hostname,device_type:Qb(),is_cross_inapp:String(Lo())}}var qc=!1;function Pl(){if(typeof window>"u")return null;let e=aa()??Mo();return e?(qc||(qc=!0,e.setUser({id:Dl()})),e):null}function Zc(){return Math.random()>=Hc()}var Yc=0;function ro(e){let t=Pl();if(!t)return;let n=++Yc;if(!e){t.setUser({id:Dl()});return}Qc(e).then(r=>{r&&n===Yc&&t.setUser({id:r})})}function la(e,t,n){let r=Pl();!r||Zc()||r.captureMessage(`ui: ${e}_${t}`,"info",{captureContext:{tags:{...Kc(),feature:e,action:t,...n}}})}function Je(e,t,n){let r=Pl();if(!r||Zc())return;let o=n?.status??"success";r.captureMessage(`funnel: ${e}_${t}`,"info",{captureContext:{tags:{...Kc(),flow:e,funnel_step:`${e}_${t}`,funnel_status:o,...o==="failure"?{failure_reason:n?.reason??"unknown"}:{},...n?.tags}}})}function Nn(e){let t=e,n=String((t&&typeof t=="object"&&"message"in t?t.message:e)??"").toLowerCase();return t?.code===4001||/reject|denied|declin|cancel/i.test(n)?"user-rejected":/insufficient (funds|gas|balance)|exceeds balance/i.test(n)?"insufficient-gas":/timeout|timed out|deadline/i.test(n)?"timeout":/revert|execution failed/i.test(n)?"contract-reverted":/network|fetch|connection|disconnected|offline/i.test(n)?"network":"unknown"}var Xc=require("react");var Jc=require("react/jsx-runtime");function Me({feature:e,children:t}){let n=(0,Xc.useCallback)(r=>{let o=r.nativeEvent;if(o.__dappUiTracked)return;let i=r.target?.closest?.("[data-track]");if(!i)return;let s=i.getAttribute("data-track");if(!s)return;o.__dappUiTracked=!0;let l=i.getAttribute("data-track-id");la(e,s,l?{item_id:l}:void 0)},[e]);return(0,Jc.jsx)("div",{style:{display:"contents"},onClick:n,children:t})}var Oo=H(require("react"),1),ep=H(require("@radix-ui/react-popover"),1),tp=require("vaul");var xi=require("react"),Ol=(0,xi.createContext)(null);function vi(){let e=(0,xi.useContext)(Ol);if(!e)throw new Error("AppLauncher compound components must be used within <AppLauncher>");return e}var Ci=H(require("react"),1),qb="__dappUiOverlay",oo=[],Do=0,zl=0,ki=!1,Bl=!1;function $c(){if(zl>0){zl-=1;return}Do=Math.max(0,Do-1),oo.pop()?.close(),Fl()}function Yb(){ki||(window.addEventListener("popstate",$c),ki=!0)}function Fl(){oo.length>0||!ki||(window.removeEventListener("popstate",$c),ki=!1)}function Kb(){Bl||(Bl=!0,queueMicrotask(()=>{Bl=!1;let e=Do-oo.length;if(e<=0){Fl();return}Do-=e,zl+=1,window.history.go(-e),Fl()}))}function Qn(e,t){let n=Ci.useRef(t);n.current=t,Ci.useEffect(()=>{if(!(!e||typeof window>"u"))return Zb(()=>n.current())},[e])}function Zb(e){let t={close:e};return oo.push(t),Do<oo.length&&(window.history.pushState({[qb]:!0},""),Do+=1),Yb(),()=>{let n=oo.lastIndexOf(t);n!==-1&&(oo.splice(n,1),Kb())}}var Ri=require("react");function Po(e){let[t,n]=(0,Ri.useState)(!1);return(0,Ri.useEffect)(()=>{let r=window.matchMedia(e);n(r.matches);let o=a=>n(a.matches);return r.addEventListener("change",o),()=>r.removeEventListener("change",o)},[e]),t}function he(e,{insertAt:t}={}){if(!e||typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",t==="top"&&n.firstChild?n.insertBefore(r,n.firstChild):n.appendChild(r),r.styleSheet?r.styleSheet.cssText=e:r.appendChild(document.createTextNode(e))}he(`[data-theme=dark]{--al-bg: var(--ds-surface-default, #1e232e);--al-bg-hover: var(--ds-surface-medium, #252b39);--al-text: var(--ds-content-highest, #ffffff);--al-text-secondary: var(--ds-content-medium, #ffffffa6);--al-border: var(--ds-border-default, #ffffff12);--al-shadow: var(--ds-shadow-modal, 0px 4px 30px -1px rgba(0, 0, 0, .7));--al-primary: #f3742e;--al-primary-hover: #ff8a4a;--al-primary-soft: #3a261f;--al-new-ribbon-bg: #ed0a72;--al-badge-bg: var(--ds-accent-primary-low, #2e2854);--al-badge-text: var(--ds-accent-primary-default, #a392ff);--al-drawer-overlay: var(--ds-overlay-dim, #000000b3)}[data-theme=light]{--al-bg: var(--ds-surface-default, #ffffff);--al-bg-hover: var(--ds-surface-medium, #f5f7fa);--al-text: var(--ds-content-highest, #000000);--al-text-secondary: var(--ds-content-medium, #000000a6);--al-border: var(--ds-border-default, #00000012);--al-shadow: var(--ds-shadow-modal, 0px 4px 30px -1px rgba(0, 0, 0, .15));--al-primary: #f3742e;--al-primary-hover: #ff8a4a;--al-primary-soft: #fff1eb;--al-new-ribbon-bg: #ed0a72;--al-badge-bg: var(--ds-accent-primary-low, #f5f3ff);--al-badge-text: var(--ds-accent-primary-default, #7e54f4);--al-drawer-overlay: var(--ds-overlay-dim, #00000080)}
2
2
  `);he(`.al-trigger-btn{--at-bg: transparent;--at-bg-hover: #eaedf1;--at-color: var(--ds-content-high, rgba(0, 0, 0, .85));--at-border: none;--at-border-radius: 8px;--at-size: 36px;--at-padding: 0;--at-press-scale: .95;--at-transition: background-color .15s ease;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:var(--at-size);height:var(--at-size);padding:var(--at-padding);border:var(--at-border);background:var(--at-bg);border-radius:var(--at-border-radius);color:var(--at-color);cursor:pointer;transition:var(--at-transition)}.al-trigger-btn:hover,.al-trigger-btn[data-state=open]{background:var(--at-bg-hover)}.al-trigger-btn:active:not(:disabled){background:var(--at-bg-hover);transform:scale(var(--at-press-scale))}.al-trigger-btn[data-theme=dark]{--at-color: var(--ds-content-high, rgba(255, 255, 255, .85));--at-bg-hover: #252b39}.al-trigger-btn[data-theme=light]{--at-color: var(--ds-content-high, rgba(0, 0, 0, .85))}
3
3
  `);he(`@keyframes al-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
4
4
  `);he(`.al-popover-content{-webkit-font-smoothing:antialiased;z-index:100001;border-radius:24px;background:var(--al-bg);border:1px solid var(--al-popover-border, var(--al-border));box-shadow:var(--al-popover-shadow, var(--al-shadow));animation:al-fade-in .15s ease-out;max-height:80vh;overflow-x:hidden;overflow-y:auto;padding:20px 4px;box-sizing:border-box}.al-popover-content .al-menu{display:flex;flex-direction:column;width:424px;max-width:calc(100vw - 32px);padding:0 12px;box-sizing:border-box}.al-popover-content .al-grid{display:grid;grid-template-columns:repeat(4,100px);row-gap:12px;column-gap:0;justify-content:center;align-items:start}.al-popover-content .al-grid-item{position:relative;flex-direction:column;justify-content:flex-start;align-items:center;gap:6px;padding:12px 0;width:100px;min-width:0;border-radius:10px}.al-popover-content .al-grid-item-left{flex-direction:column;align-items:center;gap:8px;width:100%;overflow:visible}.al-popover-content .al-grid-item-icon{width:50px;height:50px;border-radius:10.125px;overflow:visible}.al-popover-content .al-grid-item-icon img{object-fit:cover}.al-popover-content .al-grid-item-label{font-family:Inter,sans-serif;font-size:12px;font-weight:500;line-height:1.1;letter-spacing:0;text-align:center;color:var(--al-text);max-width:100%;white-space:normal;overflow-wrap:anywhere}.al-popover-content .al-grid-item-text{flex-direction:column;align-items:center;justify-content:center;gap:2px;max-width:100%;min-height:26px}.al-popover-content .al-grid-item-status-text{font-size:10px;line-height:1.1}.al-popover-content .al-badge-list{display:none}.al-drawer-overlay{position:fixed;inset:0;z-index:100000;background:var(--al-drawer-overlay)}.al-drawer-content{-webkit-font-smoothing:antialiased;position:fixed;top:0;right:0;bottom:0;z-index:100001;width:100vw;background:var(--al-bg);overflow-x:hidden;overflow-y:hidden;display:flex;flex-direction:column;box-sizing:border-box}.al-drawer-body{flex:1;overflow-y:auto;overscroll-behavior-y:contain;min-height:0}.al-drawer-content .al-menu{display:flex;flex-direction:column;min-height:0}.al-drawer-content .al-grid{display:flex;flex-direction:column;grid-template-columns:none;max-width:100%;overflow:hidden;flex-shrink:0;gap:0;row-gap:0;column-gap:0;padding:8px 16px}.al-drawer-content .al-grid-item{width:100%;max-width:100%;gap:8px;padding:16px 12px;border-radius:8px;overflow:hidden;background:transparent}.al-drawer-content .al-grid-item:hover,.al-drawer-content .al-grid-item[data-active=true]{background:var(--al-bg-hover)}.al-drawer-content .al-grid-item-left{gap:8px;flex:1 1 auto;min-width:0;overflow:visible}.al-drawer-content .al-grid-item-icon{width:32px;height:32px;border-radius:6.75px;overflow:visible}.al-drawer-content .al-grid-item-icon img{width:100%;height:100%;object-fit:cover;border-radius:6.75px}.al-drawer-content .al-grid-item-label{font-size:16px;line-height:1.35;letter-spacing:0;font-weight:400}.al-drawer-content .al-grid-item[data-active=true] .al-grid-item-label{font-weight:500}.al-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px;flex-shrink:0}.al-drawer-title{font-family:Inter,sans-serif;font-size:16px;font-weight:500;line-height:1.5;letter-spacing:0;color:var(--al-text);margin:0}.al-drawer-close{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:none;background:transparent;border-radius:4px;cursor:pointer;color:var(--al-text-secondary);transition:opacity .15s ease}.al-drawer-close:hover{opacity:.7}.al-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;padding:8px}.al-grid-item{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:16px 12px;border:none;background:var(--al-bg);border-radius:8px;cursor:pointer;transition:none;color:var(--al-text);text-align:left;font-family:Inter,sans-serif;flex-shrink:0}.al-grid-item:hover,.al-grid-item[data-active=true]{background:var(--al-bg-hover)!important}.al-grid-item-left{display:flex;align-items:center;gap:8px;min-width:0;overflow:visible}.al-grid-item-text{display:flex;flex-direction:column;align-items:flex-start;gap:1px;max-width:100%;min-width:0}.al-grid-item-icon{display:flex;align-items:center;justify-content:center;position:relative;width:24px;height:24px;overflow:visible;border-radius:5px;flex-shrink:0}.al-grid-item-icon img{width:100%;height:100%;object-fit:contain;border-radius:inherit}.al-grid-item-label{font-family:Inter,sans-serif;font-size:16px;font-weight:500;line-height:150%;letter-spacing:0;color:var(--al-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.al-grid-item-status-text{font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:1.15;letter-spacing:0;color:var(--al-text);white-space:nowrap}.al-status-ribbon{position:absolute;top:-6px;right:-6px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;box-sizing:border-box;border-radius:999px;color:#fff;font-family:Pretendard,Inter,sans-serif;font-size:12px;font-weight:800;line-height:1;pointer-events:none;box-shadow:0 1px 3px #0000002e}.al-status-ribbon-new{background:var(--al-new-ribbon-bg)}.al-badge{display:flex;padding:1px 4px 2px;justify-content:center;align-items:center;gap:2px;border-radius:3px;background:var(--al-badge-bg);color:var(--al-badge-text);font-family:Pretendard,Inter,sans-serif;font-size:10px;font-weight:600;line-height:150%;letter-spacing:0;white-space:nowrap;flex-shrink:0}