@nexus-cross/dapp-ui 2.4.0-beta.1 → 2.4.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var Ch=Object.create;var Xi=Object.defineProperty;var Nh=Object.getOwnPropertyDescriptor;var Th=Object.getOwnPropertyNames;var Ih=Object.getPrototypeOf,Eh=Object.prototype.hasOwnProperty;var Mh=(e,t)=>{for(var r in t)Xi(e,r,{get:t[r],enumerable:!0})},Dd=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Th(t))!Eh.call(e,o)&&o!==r&&Xi(e,o,{get:()=>t[o],enumerable:!(n=Nh(t,o))||n.enumerable});return e};var V=(e,t,r)=>(r=e!=null?Ch(Ih(e)):{},Dd(t||!e||!e.__esModule?Xi(r,"default",{value:e,enumerable:!0}):r,e)),Ah=e=>Dd(Xi({},"__esModule",{value:!0}),e);var ov={};Mh(ov,{APPLE_ICON:()=>Qi,AppLauncher:()=>$s,AppLauncherContent:()=>rl,AppLauncherTrigger:()=>el,BINANCE_ICON:()=>Gi,BridgeFlow:()=>lo,CHAINS_CONFIG_FILE:()=>Xo,CONNECTOR_REGISTRY:()=>ni,CROSSX_ICON:()=>Wi,ConnectButton:()=>bd,ConnectorId:()=>da,DEFAULT_SKILLS_HREF:()=>wd,DEFAULT_TRUSTED_FACTORIES:()=>mo,DappUiErrorBoundary:()=>ei,GOOGLE_ICON:()=>Hi,GetOneUsd:()=>gd,METAMASK_ICON:()=>_i,OnePopBody:()=>Si,PORTFOLIO_SECTIONS:()=>bi,RelayApiError:()=>Ur,RelayDeposit:()=>_o,RelayHistory:()=>id,RelayRecovery:()=>cd,SOCIAL_REGISTRY:()=>Aa,SendFlow:()=>si,SkillsButton:()=>yd,StatusTracker:()=>md,TOKEN_STATS_QUERY_KEY:()=>Na,USER_BALANCE_QUERY_KEY:()=>Sa,WALLET_REGISTRY:()=>Ao,WalletConnectModal:()=>hd,WalletInfo:()=>po,WalletPortfolio:()=>Ol,WalletPortfolioBody:()=>io,announceAppLauncherUsage:()=>ea,captureDappUiException:()=>$o,createRelayClient:()=>qt,findGetOneUsdToken:()=>Pi,getChainDisplay:()=>zd,getDappUiSentryScope:()=>Jo,getOneUsdTokenKey:()=>Di,initDappUiSentry:()=>So,isGetOneUsdActionEnabled:()=>Bi,isGetOneUsdActionSupported:()=>Qo,isGetOneUsdActionVisible:()=>Ho,isGetOneUsdTargetAvailable:()=>Oi,matchesGetOneUsdToken:()=>Ds,normalizeFailureReason:()=>vr,resolveEnvironment:()=>nt,resolveGetOneUsdRoute:()=>Go,setDappUiAnalyticsUser:()=>Kn,trackDappUiEvent:()=>ti,trackDappUiFunnel:()=>Ye,useChainDisplay:()=>ko,useChainsConfig:()=>Fd,useGlobalMenu:()=>ri,useRelayConfig:()=>pd,useRelayOrders:()=>Mn,useRelayRecovery:()=>ud,useTokenBalance:()=>vn,useTokenStats:()=>kn,useWalletDetect:()=>Fi});module.exports=Ah(ov);var Lh={};function Pd(e){try{return Lh.env?.[e]}catch{return}}function Od(e){if(!(typeof process>"u"))return process.env?.[e]}function nt(e){if(e)return Bd(e);let t=Pd("VITE_CROSSX_ENVIRONMENT")??Pd("NEXT_PUBLIC_CROSSX_ENVIRONMENT")??Od("NEXT_PUBLIC_CROSSX_ENVIRONMENT")??Od("CROSSX_ENVIRONMENT");return Bd(t)}function Bd(e){switch(e?.toLowerCase()){case"dev":case"development":return"dev";case"stage":case"staging":case"stg":return"stage";default:return"production"}}var nn=V(require("react"),1),Dh={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"},Ph=3e3;function Dr(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 Qs=new Map;function qn(e,t){let r=`${Dh[t]}/${e}`,n=Qs.get(r);return n||(n=(async()=>{let o=new AbortController,i=setTimeout(()=>o.abort(),Ph);try{let a=await fetch(r,{cache:"no-store",signal:o.signal});return a.ok?await a.json():null}catch{return null}finally{clearTimeout(i)}})().then(o=>(o===null&&Qs.delete(r),o)),Qs.set(r,n)),n}function Oh(e){return typeof e=="string"&&e.startsWith("https://")}async function ze(e,t){let r=await qn("endpoints.json",t),n=Dr(r?.apis?.[e],t);if(!Oh(n))throw new Error(`[remote-config] endpoints.json missing or invalid api base: ${e} (${t})`);return n}function Ji(e,t){let r=Dr(e?.relay?.forwarderFactories,t),n=[r?.standingForwarderFactory,r?.depositorForwarderFactory].filter(o=>typeof o=="string");return n.length>0?n:void 0}var Xo="chains.json";async function zd(e,t){return(await qn(Xo,t))?.chains?.[String(e)]??{}}function ko(e,t){let[r,n]=nn.useState({});return nn.useEffect(()=>{if(e==null){n({});return}let o=!0;return qn(Xo,t).then(i=>{o&&n(i?.chains?.[String(e)]??{})}),()=>{o=!1}},[e,t]),r}function Fd(e){let[t,r]=nn.useState({});return nn.useEffect(()=>{let n=!0;return qn(Xo,e).then(o=>{n&&r(o?.chains??{})}),()=>{n=!1}},[e]),t}function pr(e,t,r){let[n,o]=nn.useState(void 0),i=nn.useRef(r);return i.current=r,nn.useEffect(()=>{let a=!0;return qn(e,t).then(s=>{if(!a)return;let l=i.current(s);l!==void 0&&o(l)}),()=>{a=!1}},[e,t]),n}var Yn="2.4.0-beta.1";var $i="__nexusCrossAppLauncherRuntime";function Bh(){if(typeof window>"u")return null;let e=window;return e[$i]??(e[$i]={mode:"dapp-ui"}),e[$i]}function zh(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 r=e.connectKitVersion??"unknown";console.info(`[CROSSx App Launcher] connect-kit-react v${r} \uCD08\uAE30\uD654 \uC644\uB8CC (dapp-ui v${Yn}, \uC0AC\uC6A9 \uBAA8\uB4DC: connect-kit)`)}else console.info(`[CROSSx App Launcher] dapp-ui v${Yn} \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 ea(e){let t=Bh();t&&(e?.mode==="connect-kit-react"?t.mode="connect-kit-react":t.mode||(t.mode="dapp-ui"),e?.connectKitVersion&&(t.connectKitVersion=e.connectKitVersion),zh(t))}var on=require("@sentry/react");var Fh="https://5c82aeb32da33b5a0a14b7c5393992ca@o4511668907081728.ingest.de.sentry.io/4511705324126289",Uh=`dapp-ui@${Yn}`,Ro=null,Ud=.1;function jd(){return Ud}function jh(e){switch(e){case"dev":return"dev";case"stage":return"stg";default:return"prod"}}function So(e){if(Ro)return Ro;if(typeof window>"u")return null;let t=jh(nt(e?.environment));typeof e?.analyticsSampleRate=="number"&&(Ud=Math.min(1,Math.max(0,e.analyticsSampleRate)));let r=new on.BrowserClient({dsn:e?.dsn??Fh,transport:on.makeFetchTransport,stackParser:on.defaultStackParser,integrations:[(0,on.linkedErrorsIntegration)()],environment:t,release:Uh,enabled:e?.enabled??t==="prod"}),n=new on.Scope;return n.setClient(r),n.setTags({package:"dapp-ui",framework:"react",source:"dapp-ui"}),r.init(),Ro=n,Ro}function Jo(){return Ro}function $o(e,t){let r=Ro??So();if(r)return r.captureException(e,t?{captureContext:{extra:t}}:void 0)}var Wd=require("react");var ei=class extends Wd.Component{constructor(){super(...arguments);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(r,n){$o(r,{componentStack:n.componentStack??void 0,boundary:this.props.name??"dapp-ui"})}render(){return this.state.hasError?this.props.fallback??null:this.props.children}};function Me(...e){return e.filter(Boolean).join(" ")}var Wh=/CROSSx|ONE\s?wallet|ONE\s?pocket/i;function Co(){return typeof window>"u"?!1:Wh.test(window.navigator.userAgent)}var _d="__nexus_dapp_ui_uid",Vs=null;function _h(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Array.from({length:32},()=>Math.floor(Math.random()*16).toString(16)).join("")}function qs(){if(Vs)return Vs;let e=null;try{e=window.localStorage.getItem(_d)}catch{}if(!e||!e.startsWith("anon_")){e=`anon_${_h()}`;try{window.localStorage.setItem(_d,e)}catch{}}return Vs=e,e}async function Gd(e){if(typeof crypto>"u"||!crypto.subtle)return null;try{let t=new TextEncoder().encode(e.trim().toLowerCase()),r=await crypto.subtle.digest("SHA-256",t);return`wallet_${Array.from(new Uint8Array(r),o=>o.toString(16).padStart(2,"0")).join("").slice(0,16)}`}catch{return null}}function Gh(){let e=window.navigator.userAgent;return/ipad|tablet|(android(?!.*mobile))/i.test(e)?"tablet":/mobile|iphone|ipod|android/i.test(e)?"mobile":"desktop"}function Vd(){return{host:window.location.hostname,device_type:Gh(),is_cross_inapp:String(Co())}}var Hd=!1;function Ys(){if(typeof window>"u")return null;let e=Jo()??So();return e?(Hd||(Hd=!0,e.setUser({id:qs()})),e):null}function qd(){return Math.random()>=jd()}var Qd=0;function Kn(e){let t=Ys();if(!t)return;let r=++Qd;if(!e){t.setUser({id:qs()});return}Gd(e).then(n=>{n&&r===Qd&&t.setUser({id:n})})}function ti(e,t,r){let n=Ys();!n||qd()||n.captureMessage(`ui: ${e}_${t}`,"info",{captureContext:{tags:{...Vd(),feature:e,action:t,...r}}})}function Ye(e,t,r){let n=Ys();if(!n||qd())return;let o=r?.status??"success";n.captureMessage(`funnel: ${e}_${t}`,"info",{captureContext:{tags:{...Vd(),flow:e,funnel_step:`${e}_${t}`,funnel_status:o,...o==="failure"?{failure_reason:r?.reason??"unknown"}:{},...r?.tags}}})}function vr(e){let t=e,r=String((t&&typeof t=="object"&&"message"in t?t.message:e)??"").toLowerCase();return t?.code===4001||/reject|denied|declin|cancel/i.test(r)?"user-rejected":/insufficient (funds|gas|balance)|exceeds balance/i.test(r)?"insufficient-gas":/timeout|timed out|deadline/i.test(r)?"timeout":/revert|execution failed/i.test(r)?"contract-reverted":/network|fetch|connection|disconnected|offline/i.test(r)?"network":"unknown"}var Yd=require("react");var Kd=require("react/jsx-runtime");function Ie({feature:e,children:t}){let r=(0,Yd.useCallback)(n=>{let o=n.nativeEvent;if(o.__dappUiTracked)return;let a=n.target?.closest?.("[data-track]");if(!a)return;let s=a.getAttribute("data-track");if(!s)return;o.__dappUiTracked=!0;let l=a.getAttribute("data-track-id");ti(e,s,l?{item_id:l}:void 0)},[e]);return(0,Kd.jsx)("div",{style:{display:"contents"},onClick:r,children:t})}var Io=V(require("react"),1),Xd=V(require("@radix-ui/react-popover"),1),Jd=require("vaul");var ta=require("react"),Ks=(0,ta.createContext)(null);function ra(){let e=(0,ta.useContext)(Ks);if(!e)throw new Error("AppLauncher compound components must be used within <AppLauncher>");return e}var oa=V(require("react"),1),Hh="__dappUiOverlay",Zn=[],No=0,Xs=0,na=!1,Zs=!1;function Zd(){if(Xs>0){Xs-=1;return}No=Math.max(0,No-1),Zn.pop()?.close(),Js()}function Qh(){na||(window.addEventListener("popstate",Zd),na=!0)}function Js(){Zn.length>0||!na||(window.removeEventListener("popstate",Zd),na=!1)}function Vh(){Zs||(Zs=!0,queueMicrotask(()=>{Zs=!1;let e=No-Zn.length;if(e<=0){Js();return}No-=e,Xs+=1,window.history.go(-e),Js()}))}function Dn(e,t){let r=oa.useRef(t);r.current=t,oa.useEffect(()=>{if(!(!e||typeof window>"u"))return qh(()=>r.current())},[e])}function qh(e){let t={close:e};return Zn.push(t),No<Zn.length&&(window.history.pushState({[Hh]:!0},""),No+=1),Qh(),()=>{let r=Zn.lastIndexOf(t);r!==-1&&(Zn.splice(r,1),Vh())}}var ia=require("react");function To(e){let[t,r]=(0,ia.useState)(!1);return(0,ia.useEffect)(()=>{let n=window.matchMedia(e);r(n.matches);let o=i=>r(i.matches);return n.addEventListener("change",o),()=>n.removeEventListener("change",o)},[e]),t}function ye(e,{insertAt:t}={}){if(!e||typeof document>"u")return;let r=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t==="top"&&r.firstChild?r.insertBefore(n,r.firstChild):r.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}ye(`[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, #422a1f);--al-badge-text: var(--ds-accent-primary-default, #f0640d);--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, #fff5ee);--al-badge-text: var(--ds-accent-primary-default, #ff8438);--al-drawer-overlay: var(--ds-overlay-dim, #00000080)}
1
+ "use strict";var Ch=Object.create;var Xi=Object.defineProperty;var Nh=Object.getOwnPropertyDescriptor;var Th=Object.getOwnPropertyNames;var Ih=Object.getPrototypeOf,Eh=Object.prototype.hasOwnProperty;var Mh=(e,t)=>{for(var r in t)Xi(e,r,{get:t[r],enumerable:!0})},Dd=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Th(t))!Eh.call(e,o)&&o!==r&&Xi(e,o,{get:()=>t[o],enumerable:!(n=Nh(t,o))||n.enumerable});return e};var V=(e,t,r)=>(r=e!=null?Ch(Ih(e)):{},Dd(t||!e||!e.__esModule?Xi(r,"default",{value:e,enumerable:!0}):r,e)),Ah=e=>Dd(Xi({},"__esModule",{value:!0}),e);var ov={};Mh(ov,{APPLE_ICON:()=>Qi,AppLauncher:()=>$s,AppLauncherContent:()=>rl,AppLauncherTrigger:()=>el,BINANCE_ICON:()=>Gi,BridgeFlow:()=>lo,CHAINS_CONFIG_FILE:()=>Xo,CONNECTOR_REGISTRY:()=>ni,CROSSX_ICON:()=>Wi,ConnectButton:()=>bd,ConnectorId:()=>da,DEFAULT_SKILLS_HREF:()=>wd,DEFAULT_TRUSTED_FACTORIES:()=>mo,DappUiErrorBoundary:()=>ei,GOOGLE_ICON:()=>Hi,GetOneUsd:()=>gd,METAMASK_ICON:()=>_i,OnePopBody:()=>Si,PORTFOLIO_SECTIONS:()=>bi,RelayApiError:()=>Ur,RelayDeposit:()=>_o,RelayHistory:()=>id,RelayRecovery:()=>cd,SOCIAL_REGISTRY:()=>Aa,SendFlow:()=>si,SkillsButton:()=>yd,StatusTracker:()=>md,TOKEN_STATS_QUERY_KEY:()=>Na,USER_BALANCE_QUERY_KEY:()=>Sa,WALLET_REGISTRY:()=>Ao,WalletConnectModal:()=>hd,WalletInfo:()=>po,WalletPortfolio:()=>Ol,WalletPortfolioBody:()=>io,announceAppLauncherUsage:()=>ea,captureDappUiException:()=>$o,createRelayClient:()=>qt,findGetOneUsdToken:()=>Pi,getChainDisplay:()=>zd,getDappUiSentryScope:()=>Jo,getOneUsdTokenKey:()=>Di,initDappUiSentry:()=>So,isGetOneUsdActionEnabled:()=>Bi,isGetOneUsdActionSupported:()=>Qo,isGetOneUsdActionVisible:()=>Ho,isGetOneUsdTargetAvailable:()=>Oi,matchesGetOneUsdToken:()=>Ds,normalizeFailureReason:()=>vr,resolveEnvironment:()=>nt,resolveGetOneUsdRoute:()=>Go,setDappUiAnalyticsUser:()=>Kn,trackDappUiEvent:()=>ti,trackDappUiFunnel:()=>Ye,useChainDisplay:()=>ko,useChainsConfig:()=>Fd,useGlobalMenu:()=>ri,useRelayConfig:()=>pd,useRelayOrders:()=>Mn,useRelayRecovery:()=>ud,useTokenBalance:()=>vn,useTokenStats:()=>kn,useWalletDetect:()=>Fi});module.exports=Ah(ov);var Lh={};function Pd(e){try{return Lh.env?.[e]}catch{return}}function Od(e){if(!(typeof process>"u"))return process.env?.[e]}function nt(e){if(e)return Bd(e);let t=Pd("VITE_CROSSX_ENVIRONMENT")??Pd("NEXT_PUBLIC_CROSSX_ENVIRONMENT")??Od("NEXT_PUBLIC_CROSSX_ENVIRONMENT")??Od("CROSSX_ENVIRONMENT");return Bd(t)}function Bd(e){switch(e?.toLowerCase()){case"dev":case"development":return"dev";case"stage":case"staging":case"stg":return"stage";default:return"production"}}var nn=V(require("react"),1),Dh={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"},Ph=3e3;function Dr(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 Qs=new Map;function qn(e,t){let r=`${Dh[t]}/${e}`,n=Qs.get(r);return n||(n=(async()=>{let o=new AbortController,i=setTimeout(()=>o.abort(),Ph);try{let a=await fetch(r,{cache:"no-store",signal:o.signal});return a.ok?await a.json():null}catch{return null}finally{clearTimeout(i)}})().then(o=>(o===null&&Qs.delete(r),o)),Qs.set(r,n)),n}function Oh(e){return typeof e=="string"&&e.startsWith("https://")}async function ze(e,t){let r=await qn("endpoints.json",t),n=Dr(r?.apis?.[e],t);if(!Oh(n))throw new Error(`[remote-config] endpoints.json missing or invalid api base: ${e} (${t})`);return n}function Ji(e,t){let r=Dr(e?.relay?.forwarderFactories,t),n=[r?.standingForwarderFactory,r?.depositorForwarderFactory].filter(o=>typeof o=="string");return n.length>0?n:void 0}var Xo="chains.json";async function zd(e,t){return(await qn(Xo,t))?.chains?.[String(e)]??{}}function ko(e,t){let[r,n]=nn.useState({});return nn.useEffect(()=>{if(e==null){n({});return}let o=!0;return qn(Xo,t).then(i=>{o&&n(i?.chains?.[String(e)]??{})}),()=>{o=!1}},[e,t]),r}function Fd(e){let[t,r]=nn.useState({});return nn.useEffect(()=>{let n=!0;return qn(Xo,e).then(o=>{n&&r(o?.chains??{})}),()=>{n=!1}},[e]),t}function pr(e,t,r){let[n,o]=nn.useState(void 0),i=nn.useRef(r);return i.current=r,nn.useEffect(()=>{let a=!0;return qn(e,t).then(s=>{if(!a)return;let l=i.current(s);l!==void 0&&o(l)}),()=>{a=!1}},[e,t]),n}var Yn="2.4.0-beta.2";var $i="__nexusCrossAppLauncherRuntime";function Bh(){if(typeof window>"u")return null;let e=window;return e[$i]??(e[$i]={mode:"dapp-ui"}),e[$i]}function zh(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 r=e.connectKitVersion??"unknown";console.info(`[CROSSx App Launcher] connect-kit-react v${r} \uCD08\uAE30\uD654 \uC644\uB8CC (dapp-ui v${Yn}, \uC0AC\uC6A9 \uBAA8\uB4DC: connect-kit)`)}else console.info(`[CROSSx App Launcher] dapp-ui v${Yn} \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 ea(e){let t=Bh();t&&(e?.mode==="connect-kit-react"?t.mode="connect-kit-react":t.mode||(t.mode="dapp-ui"),e?.connectKitVersion&&(t.connectKitVersion=e.connectKitVersion),zh(t))}var on=require("@sentry/react");var Fh="https://5c82aeb32da33b5a0a14b7c5393992ca@o4511668907081728.ingest.de.sentry.io/4511705324126289",Uh=`dapp-ui@${Yn}`,Ro=null,Ud=.1;function jd(){return Ud}function jh(e){switch(e){case"dev":return"dev";case"stage":return"stg";default:return"prod"}}function So(e){if(Ro)return Ro;if(typeof window>"u")return null;let t=jh(nt(e?.environment));typeof e?.analyticsSampleRate=="number"&&(Ud=Math.min(1,Math.max(0,e.analyticsSampleRate)));let r=new on.BrowserClient({dsn:e?.dsn??Fh,transport:on.makeFetchTransport,stackParser:on.defaultStackParser,integrations:[(0,on.linkedErrorsIntegration)()],environment:t,release:Uh,enabled:e?.enabled??t==="prod"}),n=new on.Scope;return n.setClient(r),n.setTags({package:"dapp-ui",framework:"react",source:"dapp-ui"}),r.init(),Ro=n,Ro}function Jo(){return Ro}function $o(e,t){let r=Ro??So();if(r)return r.captureException(e,t?{captureContext:{extra:t}}:void 0)}var Wd=require("react");var ei=class extends Wd.Component{constructor(){super(...arguments);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(r,n){$o(r,{componentStack:n.componentStack??void 0,boundary:this.props.name??"dapp-ui"})}render(){return this.state.hasError?this.props.fallback??null:this.props.children}};function Me(...e){return e.filter(Boolean).join(" ")}var Wh=/CROSSx|ONE\s?wallet|ONE\s?pocket/i;function Co(){return typeof window>"u"?!1:Wh.test(window.navigator.userAgent)}var _d="__nexus_dapp_ui_uid",Vs=null;function _h(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Array.from({length:32},()=>Math.floor(Math.random()*16).toString(16)).join("")}function qs(){if(Vs)return Vs;let e=null;try{e=window.localStorage.getItem(_d)}catch{}if(!e||!e.startsWith("anon_")){e=`anon_${_h()}`;try{window.localStorage.setItem(_d,e)}catch{}}return Vs=e,e}async function Gd(e){if(typeof crypto>"u"||!crypto.subtle)return null;try{let t=new TextEncoder().encode(e.trim().toLowerCase()),r=await crypto.subtle.digest("SHA-256",t);return`wallet_${Array.from(new Uint8Array(r),o=>o.toString(16).padStart(2,"0")).join("").slice(0,16)}`}catch{return null}}function Gh(){let e=window.navigator.userAgent;return/ipad|tablet|(android(?!.*mobile))/i.test(e)?"tablet":/mobile|iphone|ipod|android/i.test(e)?"mobile":"desktop"}function Vd(){return{host:window.location.hostname,device_type:Gh(),is_cross_inapp:String(Co())}}var Hd=!1;function Ys(){if(typeof window>"u")return null;let e=Jo()??So();return e?(Hd||(Hd=!0,e.setUser({id:qs()})),e):null}function qd(){return Math.random()>=jd()}var Qd=0;function Kn(e){let t=Ys();if(!t)return;let r=++Qd;if(!e){t.setUser({id:qs()});return}Gd(e).then(n=>{n&&r===Qd&&t.setUser({id:n})})}function ti(e,t,r){let n=Ys();!n||qd()||n.captureMessage(`ui: ${e}_${t}`,"info",{captureContext:{tags:{...Vd(),feature:e,action:t,...r}}})}function Ye(e,t,r){let n=Ys();if(!n||qd())return;let o=r?.status??"success";n.captureMessage(`funnel: ${e}_${t}`,"info",{captureContext:{tags:{...Vd(),flow:e,funnel_step:`${e}_${t}`,funnel_status:o,...o==="failure"?{failure_reason:r?.reason??"unknown"}:{},...r?.tags}}})}function vr(e){let t=e,r=String((t&&typeof t=="object"&&"message"in t?t.message:e)??"").toLowerCase();return t?.code===4001||/reject|denied|declin|cancel/i.test(r)?"user-rejected":/insufficient (funds|gas|balance)|exceeds balance/i.test(r)?"insufficient-gas":/timeout|timed out|deadline/i.test(r)?"timeout":/revert|execution failed/i.test(r)?"contract-reverted":/network|fetch|connection|disconnected|offline/i.test(r)?"network":"unknown"}var Yd=require("react");var Kd=require("react/jsx-runtime");function Ie({feature:e,children:t}){let r=(0,Yd.useCallback)(n=>{let o=n.nativeEvent;if(o.__dappUiTracked)return;let a=n.target?.closest?.("[data-track]");if(!a)return;let s=a.getAttribute("data-track");if(!s)return;o.__dappUiTracked=!0;let l=a.getAttribute("data-track-id");ti(e,s,l?{item_id:l}:void 0)},[e]);return(0,Kd.jsx)("div",{style:{display:"contents"},onClick:r,children:t})}var Io=V(require("react"),1),Xd=V(require("@radix-ui/react-popover"),1),Jd=require("vaul");var ta=require("react"),Ks=(0,ta.createContext)(null);function ra(){let e=(0,ta.useContext)(Ks);if(!e)throw new Error("AppLauncher compound components must be used within <AppLauncher>");return e}var oa=V(require("react"),1),Hh="__dappUiOverlay",Zn=[],No=0,Xs=0,na=!1,Zs=!1;function Zd(){if(Xs>0){Xs-=1;return}No=Math.max(0,No-1),Zn.pop()?.close(),Js()}function Qh(){na||(window.addEventListener("popstate",Zd),na=!0)}function Js(){Zn.length>0||!na||(window.removeEventListener("popstate",Zd),na=!1)}function Vh(){Zs||(Zs=!0,queueMicrotask(()=>{Zs=!1;let e=No-Zn.length;if(e<=0){Js();return}No-=e,Xs+=1,window.history.go(-e),Js()}))}function Dn(e,t){let r=oa.useRef(t);r.current=t,oa.useEffect(()=>{if(!(!e||typeof window>"u"))return qh(()=>r.current())},[e])}function qh(e){let t={close:e};return Zn.push(t),No<Zn.length&&(window.history.pushState({[Hh]:!0},""),No+=1),Qh(),()=>{let r=Zn.lastIndexOf(t);r!==-1&&(Zn.splice(r,1),Vh())}}var ia=require("react");function To(e){let[t,r]=(0,ia.useState)(!1);return(0,ia.useEffect)(()=>{let n=window.matchMedia(e);r(n.matches);let o=i=>r(i.matches);return n.addEventListener("change",o),()=>n.removeEventListener("change",o)},[e]),t}function ye(e,{insertAt:t}={}){if(!e||typeof document>"u")return;let r=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t==="top"&&r.firstChild?r.insertBefore(n,r.firstChild):r.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}ye(`[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, #422a1f);--al-badge-text: var(--ds-accent-primary-default, #f0640d);--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, #fff5ee);--al-badge-text: var(--ds-accent-primary-default, #ff8438);--al-drawer-overlay: var(--ds-overlay-dim, #00000080)}
2
2
  `);ye(`.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
  `);ye(`@keyframes al-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
4
4
  `);ye(`.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}