@nexus-cross/dapp-ui 1.4.0-beta.8 → 1.4.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 Mh=Object.create;var ti=Object.defineProperty;var Ah=Object.getOwnPropertyDescriptor;var Lh=Object.getOwnPropertyNames;var Dh=Object.getPrototypeOf,Ph=Object.prototype.hasOwnProperty;var Oh=(e,t)=>{for(var r in t)ti(e,r,{get:t[r],enumerable:!0})},zd=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Lh(t))!Ph.call(e,o)&&o!==r&&ti(e,o,{get:()=>t[o],enumerable:!(n=Ah(t,o))||n.enumerable});return e};var V=(e,t,r)=>(r=e!=null?Mh(Dh(e)):{},zd(t||!e||!e.__esModule?ti(r,"default",{value:e,enumerable:!0}):r,e)),Bh=e=>zd(ti({},"__esModule",{value:!0}),e);var dv={};Oh(dv,{APPLE_ICON:()=>Va,AppLauncher:()=>rl,AppLauncherContent:()=>al,AppLauncherTrigger:()=>nl,BINANCE_ICON:()=>Ha,BridgeFlow:()=>so,CHAINS_CONFIG_FILE:()=>Zo,CONNECTOR_REGISTRY:()=>ra,CROSSX_ICON:()=>_a,ConnectButton:()=>xd,ConnectorId:()=>fi,DEFAULT_SKILLS_HREF:()=>vd,DEFAULT_TRUSTED_FACTORIES:()=>fo,DappUiErrorBoundary:()=>$o,GOOGLE_ICON:()=>Qa,GetOneUsd:()=>wd,METAMASK_ICON:()=>Ga,OnePopBody:()=>Sa,OnePopGetTokenTrigger:()=>ql,PORTFOLIO_SECTIONS:()=>ha,RelayApiError:()=>Ur,RelayDeposit:()=>_o,RelayHistory:()=>ld,RelayRecovery:()=>fd,SOCIAL_REGISTRY:()=>Oi,SendFlow:()=>ia,SkillsButton:()=>kd,StatusTracker:()=>bd,TOKEN_STATS_QUERY_KEY:()=>Mi,USER_BALANCE_QUERY_KEY:()=>Ii,WALLET_REGISTRY:()=>Ao,WalletConnectModal:()=>yd,WalletInfo:()=>co,WalletPortfolio:()=>Fl,WalletPortfolioBody:()=>oo,announceAppLauncherUsage:()=>oi,captureDappUiException:()=>Jo,createRelayClient:()=>Yt,findGetOneUsdToken:()=>Oa,getChainDisplay:()=>Wd,getDappUiSentryScope:()=>Xo,getOneUsdTokenKey:()=>Pa,initDappUiSentry:()=>So,isGetOneUsdActionEnabled:()=>za,isGetOneUsdActionSupported:()=>Qo,isGetOneUsdActionVisible:()=>Ho,isGetOneUsdTargetAvailable:()=>Ba,matchesGetOneUsdToken:()=>zs,normalizeFailureReason:()=>kr,resolveEnvironment:()=>nt,resolveGetOneUsdRoute:()=>Go,setDappUiAnalyticsUser:()=>Yn,trackDappUiEvent:()=>ea,trackDappUiFunnel:()=>Ze,useChainDisplay:()=>ko,useChainsConfig:()=>_d,useGlobalMenu:()=>ta,useRelayConfig:()=>md,useRelayOrders:()=>In,useRelayRecovery:()=>gd,useTokenBalance:()=>yn,useTokenStats:()=>xn,useWalletDetect:()=>Ua});module.exports=Bh(dv);var zh={};function Fd(e){try{return zh.env?.[e]}catch{return}}function Ud(e){if(!(typeof process>"u"))return process.env?.[e]}function nt(e){if(e)return jd(e);let t=Fd("VITE_CROSSX_ENVIRONMENT")??Fd("NEXT_PUBLIC_CROSSX_ENVIRONMENT")??Ud("NEXT_PUBLIC_CROSSX_ENVIRONMENT")??Ud("CROSSX_ENVIRONMENT");return jd(t)}function jd(e){switch(e?.toLowerCase()){case"dev":case"development":return"dev";case"stage":case"staging":case"stg":return"stage";default:return"production"}}var rn=V(require("react"),1),Fh={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"},Uh=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 Ys=new Map;function Vn(e,t){let r=`${Fh[t]}/${e}`,n=Ys.get(r);return n||(n=(async()=>{let o=new AbortController,a=setTimeout(()=>o.abort(),Uh);try{let i=await fetch(r,{cache:"no-store",signal:o.signal});return i.ok?await i.json():null}catch{return null}finally{clearTimeout(a)}})().then(o=>(o===null&&Ys.delete(r),o)),Ys.set(r,n)),n}function jh(e){return typeof e=="string"&&e.startsWith("https://")}async function Ue(e,t){let r=await Vn("endpoints.json",t),n=Dr(r?.apis?.[e],t);if(!jh(n))throw new Error(`[remote-config] endpoints.json missing or invalid api base: ${e} (${t})`);return n}function ri(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 Zo="chains.json";async function Wd(e,t){return(await Vn(Zo,t))?.chains?.[String(e)]??{}}function ko(e,t){let[r,n]=rn.useState({});return rn.useEffect(()=>{if(e==null){n({});return}let o=!0;return Vn(Zo,t).then(a=>{o&&n(a?.chains?.[String(e)]??{})}),()=>{o=!1}},[e,t]),r}function _d(e){let[t,r]=rn.useState({});return rn.useEffect(()=>{let n=!0;return Vn(Zo,e).then(o=>{n&&r(o?.chains??{})}),()=>{n=!1}},[e]),t}function cr(e,t,r){let[n,o]=rn.useState(void 0),a=rn.useRef(r);return a.current=r,rn.useEffect(()=>{let i=!0;return Vn(e,t).then(s=>{if(!i)return;let l=a.current(s);l!==void 0&&o(l)}),()=>{i=!1}},[e,t]),n}var qn="1.4.0-beta.8";var ni="__nexusCrossAppLauncherRuntime";function Wh(){if(typeof window>"u")return null;let e=window;return e[ni]??(e[ni]={mode:"dapp-ui"}),e[ni]}function _h(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${qn}, \uC0AC\uC6A9 \uBAA8\uB4DC: connect-kit)`)}else console.info(`[CROSSx App Launcher] dapp-ui v${qn} \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 oi(e){let t=Wh();t&&(e?.mode==="connect-kit-react"?t.mode="connect-kit-react":t.mode||(t.mode="dapp-ui"),e?.connectKitVersion&&(t.connectKitVersion=e.connectKitVersion),_h(t))}var nn=require("@sentry/react");var Gh="https://5c82aeb32da33b5a0a14b7c5393992ca@o4511668907081728.ingest.de.sentry.io/4511705324126289",Hh=`dapp-ui@${qn}`,Ro=null,Gd=.1;function Hd(){return Gd}function Qh(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=Qh(nt(e?.environment));typeof e?.analyticsSampleRate=="number"&&(Gd=Math.min(1,Math.max(0,e.analyticsSampleRate)));let r=new nn.BrowserClient({dsn:e?.dsn??Gh,transport:nn.makeFetchTransport,stackParser:nn.defaultStackParser,integrations:[(0,nn.linkedErrorsIntegration)()],environment:t,release:Hh,enabled:e?.enabled??t==="prod"}),n=new nn.Scope;return n.setClient(r),n.setTags({package:"dapp-ui",framework:"react",source:"dapp-ui"}),r.init(),Ro=n,Ro}function Xo(){return Ro}function Jo(e,t){let r=Ro??So();if(r)return r.captureException(e,t?{captureContext:{extra:t}}:void 0)}var Qd=require("react");var $o=class extends Qd.Component{constructor(){super(...arguments);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(r,n){Jo(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 Le(...e){return e.filter(Boolean).join(" ")}var Vh=/CROSSx|ONE\s?wallet|ONE\s?pocket/i;function Co(){return typeof window>"u"?!1:Vh.test(window.navigator.userAgent)}var Vd="__nexus_dapp_ui_uid",Ks=null;function qh(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Array.from({length:32},()=>Math.floor(Math.random()*16).toString(16)).join("")}function Zs(){if(Ks)return Ks;let e=null;try{e=window.localStorage.getItem(Vd)}catch{}if(!e||!e.startsWith("anon_")){e=`anon_${qh()}`;try{window.localStorage.setItem(Vd,e)}catch{}}return Ks=e,e}async function qd(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 Yh(){let e=window.navigator.userAgent;return/ipad|tablet|(android(?!.*mobile))/i.test(e)?"tablet":/mobile|iphone|ipod|android/i.test(e)?"mobile":"desktop"}function Zd(){return{host:window.location.hostname,device_type:Yh(),is_cross_inapp:String(Co())}}var Yd=!1;function Xs(){if(typeof window>"u")return null;let e=Xo()??So();return e?(Yd||(Yd=!0,e.setUser({id:Zs()})),e):null}function Xd(){return Math.random()>=Hd()}var Kd=0;function Yn(e){let t=Xs();if(!t)return;let r=++Kd;if(!e){t.setUser({id:Zs()});return}qd(e).then(n=>{n&&r===Kd&&t.setUser({id:n})})}function ea(e,t,r){let n=Xs();!n||Xd()||n.captureMessage(`ui: ${e}_${t}`,"info",{captureContext:{tags:{...Zd(),feature:e,action:t,...r}}})}function Ze(e,t,r){let n=Xs();if(!n||Xd())return;let o=r?.status??"success";n.captureMessage(`funnel: ${e}_${t}`,"info",{captureContext:{tags:{...Zd(),flow:e,funnel_step:`${e}_${t}`,funnel_status:o,...o==="failure"?{failure_reason:r?.reason??"unknown"}:{},...r?.tags}}})}function kr(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 Jd=require("react");var $d=require("react/jsx-runtime");function Ae({feature:e,children:t}){let r=(0,Jd.useCallback)(n=>{let o=n.nativeEvent;if(o.__dappUiTracked)return;let i=n.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");ea(e,s,l?{item_id:l}:void 0)},[e]);return(0,$d.jsx)("div",{style:{display:"contents"},onClick:r,children:t})}var Io=V(require("react"),1),tc=V(require("@radix-ui/react-popover"),1),rc=require("vaul");var ai=require("react"),Js=(0,ai.createContext)(null);function ii(){let e=(0,ai.useContext)(Js);if(!e)throw new Error("AppLauncher compound components must be used within <AppLauncher>");return e}var li=V(require("react"),1),Kh="__dappUiOverlay",Kn=[],No=0,el=0,si=!1,$s=!1;function ec(){if(el>0){el-=1;return}No=Math.max(0,No-1),Kn.pop()?.close(),tl()}function Zh(){si||(window.addEventListener("popstate",ec),si=!0)}function tl(){Kn.length>0||!si||(window.removeEventListener("popstate",ec),si=!1)}function Xh(){$s||($s=!0,queueMicrotask(()=>{$s=!1;let e=No-Kn.length;if(e<=0){tl();return}No-=e,el+=1,window.history.go(-e),tl()}))}function An(e,t){let r=li.useRef(t);r.current=t,li.useEffect(()=>{if(!(!e||typeof window>"u"))return Jh(()=>r.current())},[e])}function Jh(e){let t={close:e};return Kn.push(t),No<Kn.length&&(window.history.pushState({[Kh]:!0},""),No+=1),Zh(),()=>{let r=Kn.lastIndexOf(t);r!==-1&&(Kn.splice(r,1),Xh())}}var di=require("react");function To(e){let[t,r]=(0,di.useState)(!1);return(0,di.useEffect)(()=>{let n=window.matchMedia(e);r(n.matches);let o=a=>r(a.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 Mh=Object.create;var ti=Object.defineProperty;var Ah=Object.getOwnPropertyDescriptor;var Lh=Object.getOwnPropertyNames;var Dh=Object.getPrototypeOf,Ph=Object.prototype.hasOwnProperty;var Oh=(e,t)=>{for(var r in t)ti(e,r,{get:t[r],enumerable:!0})},zd=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Lh(t))!Ph.call(e,o)&&o!==r&&ti(e,o,{get:()=>t[o],enumerable:!(n=Ah(t,o))||n.enumerable});return e};var V=(e,t,r)=>(r=e!=null?Mh(Dh(e)):{},zd(t||!e||!e.__esModule?ti(r,"default",{value:e,enumerable:!0}):r,e)),Bh=e=>zd(ti({},"__esModule",{value:!0}),e);var dv={};Oh(dv,{APPLE_ICON:()=>Va,AppLauncher:()=>rl,AppLauncherContent:()=>al,AppLauncherTrigger:()=>nl,BINANCE_ICON:()=>Ha,BridgeFlow:()=>so,CHAINS_CONFIG_FILE:()=>Zo,CONNECTOR_REGISTRY:()=>ra,CROSSX_ICON:()=>_a,ConnectButton:()=>xd,ConnectorId:()=>fi,DEFAULT_SKILLS_HREF:()=>vd,DEFAULT_TRUSTED_FACTORIES:()=>fo,DappUiErrorBoundary:()=>$o,GOOGLE_ICON:()=>Qa,GetOneUsd:()=>wd,METAMASK_ICON:()=>Ga,OnePopBody:()=>Sa,OnePopGetTokenTrigger:()=>ql,PORTFOLIO_SECTIONS:()=>ha,RelayApiError:()=>Ur,RelayDeposit:()=>_o,RelayHistory:()=>ld,RelayRecovery:()=>fd,SOCIAL_REGISTRY:()=>Oi,SendFlow:()=>ia,SkillsButton:()=>kd,StatusTracker:()=>bd,TOKEN_STATS_QUERY_KEY:()=>Mi,USER_BALANCE_QUERY_KEY:()=>Ii,WALLET_REGISTRY:()=>Ao,WalletConnectModal:()=>yd,WalletInfo:()=>co,WalletPortfolio:()=>Fl,WalletPortfolioBody:()=>oo,announceAppLauncherUsage:()=>oi,captureDappUiException:()=>Jo,createRelayClient:()=>Yt,findGetOneUsdToken:()=>Oa,getChainDisplay:()=>Wd,getDappUiSentryScope:()=>Xo,getOneUsdTokenKey:()=>Pa,initDappUiSentry:()=>So,isGetOneUsdActionEnabled:()=>za,isGetOneUsdActionSupported:()=>Qo,isGetOneUsdActionVisible:()=>Ho,isGetOneUsdTargetAvailable:()=>Ba,matchesGetOneUsdToken:()=>zs,normalizeFailureReason:()=>kr,resolveEnvironment:()=>nt,resolveGetOneUsdRoute:()=>Go,setDappUiAnalyticsUser:()=>Yn,trackDappUiEvent:()=>ea,trackDappUiFunnel:()=>Ze,useChainDisplay:()=>ko,useChainsConfig:()=>_d,useGlobalMenu:()=>ta,useRelayConfig:()=>md,useRelayOrders:()=>In,useRelayRecovery:()=>gd,useTokenBalance:()=>yn,useTokenStats:()=>xn,useWalletDetect:()=>Ua});module.exports=Bh(dv);var zh={};function Fd(e){try{return zh.env?.[e]}catch{return}}function Ud(e){if(!(typeof process>"u"))return process.env?.[e]}function nt(e){if(e)return jd(e);let t=Fd("VITE_CROSSX_ENVIRONMENT")??Fd("NEXT_PUBLIC_CROSSX_ENVIRONMENT")??Ud("NEXT_PUBLIC_CROSSX_ENVIRONMENT")??Ud("CROSSX_ENVIRONMENT");return jd(t)}function jd(e){switch(e?.toLowerCase()){case"dev":case"development":return"dev";case"stage":case"staging":case"stg":return"stage";default:return"production"}}var rn=V(require("react"),1),Fh={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"},Uh=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 Ys=new Map;function Vn(e,t){let r=`${Fh[t]}/${e}`,n=Ys.get(r);return n||(n=(async()=>{let o=new AbortController,a=setTimeout(()=>o.abort(),Uh);try{let i=await fetch(r,{cache:"no-store",signal:o.signal});return i.ok?await i.json():null}catch{return null}finally{clearTimeout(a)}})().then(o=>(o===null&&Ys.delete(r),o)),Ys.set(r,n)),n}function jh(e){return typeof e=="string"&&e.startsWith("https://")}async function Ue(e,t){let r=await Vn("endpoints.json",t),n=Dr(r?.apis?.[e],t);if(!jh(n))throw new Error(`[remote-config] endpoints.json missing or invalid api base: ${e} (${t})`);return n}function ri(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 Zo="chains.json";async function Wd(e,t){return(await Vn(Zo,t))?.chains?.[String(e)]??{}}function ko(e,t){let[r,n]=rn.useState({});return rn.useEffect(()=>{if(e==null){n({});return}let o=!0;return Vn(Zo,t).then(a=>{o&&n(a?.chains?.[String(e)]??{})}),()=>{o=!1}},[e,t]),r}function _d(e){let[t,r]=rn.useState({});return rn.useEffect(()=>{let n=!0;return Vn(Zo,e).then(o=>{n&&r(o?.chains??{})}),()=>{n=!1}},[e]),t}function cr(e,t,r){let[n,o]=rn.useState(void 0),a=rn.useRef(r);return a.current=r,rn.useEffect(()=>{let i=!0;return Vn(e,t).then(s=>{if(!i)return;let l=a.current(s);l!==void 0&&o(l)}),()=>{i=!1}},[e,t]),n}var qn="1.4.0";var ni="__nexusCrossAppLauncherRuntime";function Wh(){if(typeof window>"u")return null;let e=window;return e[ni]??(e[ni]={mode:"dapp-ui"}),e[ni]}function _h(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${qn}, \uC0AC\uC6A9 \uBAA8\uB4DC: connect-kit)`)}else console.info(`[CROSSx App Launcher] dapp-ui v${qn} \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 oi(e){let t=Wh();t&&(e?.mode==="connect-kit-react"?t.mode="connect-kit-react":t.mode||(t.mode="dapp-ui"),e?.connectKitVersion&&(t.connectKitVersion=e.connectKitVersion),_h(t))}var nn=require("@sentry/react");var Gh="https://5c82aeb32da33b5a0a14b7c5393992ca@o4511668907081728.ingest.de.sentry.io/4511705324126289",Hh=`dapp-ui@${qn}`,Ro=null,Gd=.1;function Hd(){return Gd}function Qh(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=Qh(nt(e?.environment));typeof e?.analyticsSampleRate=="number"&&(Gd=Math.min(1,Math.max(0,e.analyticsSampleRate)));let r=new nn.BrowserClient({dsn:e?.dsn??Gh,transport:nn.makeFetchTransport,stackParser:nn.defaultStackParser,integrations:[(0,nn.linkedErrorsIntegration)()],environment:t,release:Hh,enabled:e?.enabled??t==="prod"}),n=new nn.Scope;return n.setClient(r),n.setTags({package:"dapp-ui",framework:"react",source:"dapp-ui"}),r.init(),Ro=n,Ro}function Xo(){return Ro}function Jo(e,t){let r=Ro??So();if(r)return r.captureException(e,t?{captureContext:{extra:t}}:void 0)}var Qd=require("react");var $o=class extends Qd.Component{constructor(){super(...arguments);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(r,n){Jo(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 Le(...e){return e.filter(Boolean).join(" ")}var Vh=/CROSSx|ONE\s?wallet|ONE\s?pocket/i;function Co(){return typeof window>"u"?!1:Vh.test(window.navigator.userAgent)}var Vd="__nexus_dapp_ui_uid",Ks=null;function qh(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Array.from({length:32},()=>Math.floor(Math.random()*16).toString(16)).join("")}function Zs(){if(Ks)return Ks;let e=null;try{e=window.localStorage.getItem(Vd)}catch{}if(!e||!e.startsWith("anon_")){e=`anon_${qh()}`;try{window.localStorage.setItem(Vd,e)}catch{}}return Ks=e,e}async function qd(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 Yh(){let e=window.navigator.userAgent;return/ipad|tablet|(android(?!.*mobile))/i.test(e)?"tablet":/mobile|iphone|ipod|android/i.test(e)?"mobile":"desktop"}function Zd(){return{host:window.location.hostname,device_type:Yh(),is_cross_inapp:String(Co())}}var Yd=!1;function Xs(){if(typeof window>"u")return null;let e=Xo()??So();return e?(Yd||(Yd=!0,e.setUser({id:Zs()})),e):null}function Xd(){return Math.random()>=Hd()}var Kd=0;function Yn(e){let t=Xs();if(!t)return;let r=++Kd;if(!e){t.setUser({id:Zs()});return}qd(e).then(n=>{n&&r===Kd&&t.setUser({id:n})})}function ea(e,t,r){let n=Xs();!n||Xd()||n.captureMessage(`ui: ${e}_${t}`,"info",{captureContext:{tags:{...Zd(),feature:e,action:t,...r}}})}function Ze(e,t,r){let n=Xs();if(!n||Xd())return;let o=r?.status??"success";n.captureMessage(`funnel: ${e}_${t}`,"info",{captureContext:{tags:{...Zd(),flow:e,funnel_step:`${e}_${t}`,funnel_status:o,...o==="failure"?{failure_reason:r?.reason??"unknown"}:{},...r?.tags}}})}function kr(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 Jd=require("react");var $d=require("react/jsx-runtime");function Ae({feature:e,children:t}){let r=(0,Jd.useCallback)(n=>{let o=n.nativeEvent;if(o.__dappUiTracked)return;let i=n.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");ea(e,s,l?{item_id:l}:void 0)},[e]);return(0,$d.jsx)("div",{style:{display:"contents"},onClick:r,children:t})}var Io=V(require("react"),1),tc=V(require("@radix-ui/react-popover"),1),rc=require("vaul");var ai=require("react"),Js=(0,ai.createContext)(null);function ii(){let e=(0,ai.useContext)(Js);if(!e)throw new Error("AppLauncher compound components must be used within <AppLauncher>");return e}var li=V(require("react"),1),Kh="__dappUiOverlay",Kn=[],No=0,el=0,si=!1,$s=!1;function ec(){if(el>0){el-=1;return}No=Math.max(0,No-1),Kn.pop()?.close(),tl()}function Zh(){si||(window.addEventListener("popstate",ec),si=!0)}function tl(){Kn.length>0||!si||(window.removeEventListener("popstate",ec),si=!1)}function Xh(){$s||($s=!0,queueMicrotask(()=>{$s=!1;let e=No-Kn.length;if(e<=0){tl();return}No-=e,el+=1,window.history.go(-e),tl()}))}function An(e,t){let r=li.useRef(t);r.current=t,li.useEffect(()=>{if(!(!e||typeof window>"u"))return Jh(()=>r.current())},[e])}function Jh(e){let t={close:e};return Kn.push(t),No<Kn.length&&(window.history.pushState({[Kh]:!0},""),No+=1),Zh(),()=>{let r=Kn.lastIndexOf(t);r!==-1&&(Kn.splice(r,1),Xh())}}var di=require("react");function To(e){let[t,r]=(0,di.useState)(!1);return(0,di.useEffect)(()=>{let n=window.matchMedia(e);r(n.matches);let o=a=>r(a.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}