@nexus-cross/dapp-ui 1.3.7-beta.1 → 1.3.7-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 Nd=Object.create;var Go=Object.defineProperty;var Ed=Object.getOwnPropertyDescriptor;var Id=Object.getOwnPropertyNames;var Pd=Object.getPrototypeOf,Ld=Object.prototype.hasOwnProperty;var _d=(e,t)=>{for(var n in t)Go(e,n,{get:t[n],enumerable:!0})},ea=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Id(t))!Ld.call(e,r)&&r!==n&&Go(e,r,{get:()=>t[r],enumerable:!(o=Ed(t,r))||o.enumerable});return e};var $=(e,t,n)=>(n=e!=null?Nd(Pd(e)):{},ea(t||!e||!e.__esModule?Go(n,"default",{value:e,enumerable:!0}):n,e)),Ad=e=>ea(Go({},"__esModule",{value:!0}),e);var em={};_d(em,{APPLE_ICON:()=>_o,AppLauncher:()=>Zr,AppLauncherContent:()=>ei,AppLauncherTrigger:()=>Xr,BINANCE_ICON:()=>Po,BridgeFlow:()=>ko,CONNECTOR_REGISTRY:()=>so,CROSSX_ICON:()=>Eo,ConnectButton:()=>Wi,ConnectorId:()=>Qo,DEFAULT_SKILLS_HREF:()=>Ui,DappUiErrorBoundary:()=>ro,GOOGLE_ICON:()=>Lo,METAMASK_ICON:()=>Io,PORTFOLIO_SECTIONS:()=>xo,SOCIAL_REGISTRY:()=>Dr,SendFlow:()=>uo,SkillsButton:()=>Gi,TOKEN_STATS_QUERY_KEY:()=>pr,USER_BALANCE_QUERY_KEY:()=>cr,WALLET_REGISTRY:()=>Mr,WalletConnectModal:()=>Oi,WalletInfo:()=>An,WalletPortfolio:()=>Li,WalletPortfolioBody:()=>In,announceAppLauncherUsage:()=>$o,captureDappUiException:()=>oo,getDappUiSentryScope:()=>no,initDappUiSentry:()=>Dn,normalizeFailureReason:()=>gt,resolveEnvironment:()=>Ue,setDappUiAnalyticsUser:()=>hn,trackDappUiEvent:()=>io,trackDappUiFunnel:()=>Ne,useGlobalMenu:()=>ao,useTokenBalance:()=>en,useTokenStats:()=>tn,useWalletDetect:()=>Co});module.exports=Ad(em);var Fd={};function ta(e){try{return Fd.env?.[e]}catch{return}}function na(e){if(!(typeof process>"u"))return process.env?.[e]}function Ue(e){if(e)return oa(e);let t=ta("VITE_CROSSX_ENVIRONMENT")??ta("NEXT_PUBLIC_CROSSX_ENVIRONMENT")??na("NEXT_PUBLIC_CROSSX_ENVIRONMENT")??na("CROSSX_ENVIRONMENT");return oa(t)}function oa(e){switch(e?.toLowerCase()){case"dev":case"development":return"dev";case"stage":case"staging":case"stg":return"stage";default:return"production"}}var to="1.3.5";var zo="__nexusCrossAppLauncherRuntime";function Bd(){if(typeof window>"u")return null;let e=window;return e[zo]??(e[zo]={mode:"dapp-ui"}),e[zo]}function Md(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${to}, \uC0AC\uC6A9 \uBAA8\uB4DC: connect-kit)`)}else console.info(`[CROSSx App Launcher] dapp-ui v${to} \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 $o(e){let t=Bd();t&&(e?.mode==="connect-kit-react"?t.mode="connect-kit-react":t.mode||(t.mode="dapp-ui"),e?.connectKitVersion&&(t.connectKitVersion=e.connectKitVersion),Md(t))}var Gt=require("@sentry/react");var Dd="https://5c82aeb32da33b5a0a14b7c5393992ca@o4511668907081728.ingest.de.sentry.io/4511705324126289",Od=`dapp-ui@${to}`,Mn=null,ra=1;function ia(){return ra}function Wd(e){switch(e){case"dev":return"dev";case"stage":return"stg";default:return"prod"}}function Dn(e){if(Mn)return Mn;if(typeof window>"u")return null;let t=Wd(Ue(e?.environment));typeof e?.analyticsSampleRate=="number"&&(ra=Math.min(1,Math.max(0,e.analyticsSampleRate)));let n=new Gt.BrowserClient({dsn:e?.dsn??Dd,transport:Gt.makeFetchTransport,stackParser:Gt.defaultStackParser,integrations:[(0,Gt.linkedErrorsIntegration)()],environment:t,release:Od,enabled:e?.enabled??t==="prod"}),o=new Gt.Scope;return o.setClient(n),o.setTags({package:"dapp-ui",framework:"react",source:"dapp-ui"}),n.init(),Mn=o,Mn}function no(){return Mn}function oo(e,t){let n=Mn??Dn();if(n)return n.captureException(e,t?{captureContext:{extra:t}}:void 0)}var aa=require("react");var ro=class extends aa.Component{constructor(){super(...arguments);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(n,o){oo(n,{componentStack:o.componentStack??void 0,boundary:this.props.name??"dapp-ui"})}render(){return this.state.hasError?this.props.fallback??null:this.props.children}};function he(...e){return e.filter(Boolean).join(" ")}function sa(){return typeof window>"u"?!1:window.navigator.userAgent.includes("CROSSx")}var la="__nexus_dapp_ui_uid",qr=null;function Ud(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Array.from({length:32},()=>Math.floor(Math.random()*16).toString(16)).join("")}function Kr(){if(qr)return qr;let e=null;try{e=window.localStorage.getItem(la)}catch{}if(!e||!e.startsWith("anon_")){e=`anon_${Ud()}`;try{window.localStorage.setItem(la,e)}catch{}}return qr=e,e}async function ca(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),r=>r.toString(16).padStart(2,"0")).join("").slice(0,16)}`}catch{return null}}function Gd(){let e=window.navigator.userAgent;return/ipad|tablet|(android(?!.*mobile))/i.test(e)?"tablet":/mobile|iphone|ipod|android/i.test(e)?"mobile":"desktop"}function ua(){return{host:window.location.hostname,device_type:Gd(),is_cross_inapp:String(sa())}}var da=!1;function Yr(){if(typeof window>"u")return null;let e=no()??Dn();return e?(da||(da=!0,e.setUser({id:Kr()})),e):null}function fa(){return Math.random()>=ia()}var pa=0;function hn(e){let t=Yr();if(!t)return;let n=++pa;if(!e){t.setUser({id:Kr()});return}ca(e).then(o=>{o&&n===pa&&t.setUser({id:o})})}function io(e,t,n){let o=Yr();!o||fa()||o.captureMessage(`ui: ${e}_${t}`,"info",{captureContext:{tags:{...ua(),feature:e,action:t,...n}}})}function Ne(e,t,n){let o=Yr();if(!o||fa())return;let r=n?.status??"success";o.captureMessage(`funnel: ${e}_${t}`,"info",{captureContext:{tags:{...ua(),flow:e,funnel_step:`${e}_${t}`,funnel_status:r,...r==="failure"?{failure_reason:n?.reason??"unknown"}:{},...n?.tags}}})}function gt(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 ma=require("react");var ga=require("react/jsx-runtime");function ve({feature:e,children:t}){let n=(0,ma.useCallback)(o=>{let r=o.nativeEvent;if(r.__dappUiTracked)return;let a=o.target?.closest?.("[data-track]");if(!a)return;let s=a.getAttribute("data-track");if(!s)return;r.__dappUiTracked=!0;let d=a.getAttribute("data-track-id");io(e,s,d?{item_id:d}:void 0)},[e]);return(0,ga.jsx)("div",{style:{display:"contents"},onClick:n,children:t})}var Wn=$(require("react"),1),ha=$(require("@radix-ui/react-popover"),1),ba=require("vaul");var Ho=require("react"),Qr=(0,Ho.createContext)(null);function jo(){let e=(0,Ho.useContext)(Qr);if(!e)throw new Error("AppLauncher compound components must be used within <AppLauncher>");return e}var Vo=require("react");function On(e){let[t,n]=(0,Vo.useState)(!1);return(0,Vo.useEffect)(()=>{let o=window.matchMedia(e);n(o.matches);let r=i=>n(i.matches);return o.addEventListener("change",r),()=>o.removeEventListener("change",r)},[e]),t}function J(e,{insertAt:t}={}){if(!e||typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",t==="top"&&n.firstChild?n.insertBefore(o,n.firstChild):n.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}J(`[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, #123235);--al-badge-text: var(--ds-accent-primary-default, #00ceb2);--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, #e7f9f8);--al-badge-text: var(--ds-accent-primary-default, #00b4b7);--al-drawer-overlay: var(--ds-overlay-dim, #00000080)}
1
+ "use strict";var Nd=Object.create;var Go=Object.defineProperty;var Ed=Object.getOwnPropertyDescriptor;var Id=Object.getOwnPropertyNames;var Pd=Object.getPrototypeOf,Ld=Object.prototype.hasOwnProperty;var _d=(e,t)=>{for(var n in t)Go(e,n,{get:t[n],enumerable:!0})},ea=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Id(t))!Ld.call(e,r)&&r!==n&&Go(e,r,{get:()=>t[r],enumerable:!(o=Ed(t,r))||o.enumerable});return e};var $=(e,t,n)=>(n=e!=null?Nd(Pd(e)):{},ea(t||!e||!e.__esModule?Go(n,"default",{value:e,enumerable:!0}):n,e)),Ad=e=>ea(Go({},"__esModule",{value:!0}),e);var em={};_d(em,{APPLE_ICON:()=>_o,AppLauncher:()=>Zr,AppLauncherContent:()=>ei,AppLauncherTrigger:()=>Xr,BINANCE_ICON:()=>Po,BridgeFlow:()=>ko,CONNECTOR_REGISTRY:()=>so,CROSSX_ICON:()=>Eo,ConnectButton:()=>Wi,ConnectorId:()=>Qo,DEFAULT_SKILLS_HREF:()=>Ui,DappUiErrorBoundary:()=>ro,GOOGLE_ICON:()=>Lo,METAMASK_ICON:()=>Io,PORTFOLIO_SECTIONS:()=>xo,SOCIAL_REGISTRY:()=>Dr,SendFlow:()=>uo,SkillsButton:()=>Gi,TOKEN_STATS_QUERY_KEY:()=>pr,USER_BALANCE_QUERY_KEY:()=>cr,WALLET_REGISTRY:()=>Mr,WalletConnectModal:()=>Oi,WalletInfo:()=>An,WalletPortfolio:()=>Li,WalletPortfolioBody:()=>In,announceAppLauncherUsage:()=>$o,captureDappUiException:()=>oo,getDappUiSentryScope:()=>no,initDappUiSentry:()=>Dn,normalizeFailureReason:()=>gt,resolveEnvironment:()=>Ue,setDappUiAnalyticsUser:()=>hn,trackDappUiEvent:()=>io,trackDappUiFunnel:()=>Ne,useGlobalMenu:()=>ao,useTokenBalance:()=>en,useTokenStats:()=>tn,useWalletDetect:()=>Co});module.exports=Ad(em);var Fd={};function ta(e){try{return Fd.env?.[e]}catch{return}}function na(e){if(!(typeof process>"u"))return process.env?.[e]}function Ue(e){if(e)return oa(e);let t=ta("VITE_CROSSX_ENVIRONMENT")??ta("NEXT_PUBLIC_CROSSX_ENVIRONMENT")??na("NEXT_PUBLIC_CROSSX_ENVIRONMENT")??na("CROSSX_ENVIRONMENT");return oa(t)}function oa(e){switch(e?.toLowerCase()){case"dev":case"development":return"dev";case"stage":case"staging":case"stg":return"stage";default:return"production"}}var to="1.3.7-beta.2";var zo="__nexusCrossAppLauncherRuntime";function Bd(){if(typeof window>"u")return null;let e=window;return e[zo]??(e[zo]={mode:"dapp-ui"}),e[zo]}function Md(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${to}, \uC0AC\uC6A9 \uBAA8\uB4DC: connect-kit)`)}else console.info(`[CROSSx App Launcher] dapp-ui v${to} \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 $o(e){let t=Bd();t&&(e?.mode==="connect-kit-react"?t.mode="connect-kit-react":t.mode||(t.mode="dapp-ui"),e?.connectKitVersion&&(t.connectKitVersion=e.connectKitVersion),Md(t))}var Gt=require("@sentry/react");var Dd="https://5c82aeb32da33b5a0a14b7c5393992ca@o4511668907081728.ingest.de.sentry.io/4511705324126289",Od=`dapp-ui@${to}`,Mn=null,ra=1;function ia(){return ra}function Wd(e){switch(e){case"dev":return"dev";case"stage":return"stg";default:return"prod"}}function Dn(e){if(Mn)return Mn;if(typeof window>"u")return null;let t=Wd(Ue(e?.environment));typeof e?.analyticsSampleRate=="number"&&(ra=Math.min(1,Math.max(0,e.analyticsSampleRate)));let n=new Gt.BrowserClient({dsn:e?.dsn??Dd,transport:Gt.makeFetchTransport,stackParser:Gt.defaultStackParser,integrations:[(0,Gt.linkedErrorsIntegration)()],environment:t,release:Od,enabled:e?.enabled??t==="prod"}),o=new Gt.Scope;return o.setClient(n),o.setTags({package:"dapp-ui",framework:"react",source:"dapp-ui"}),n.init(),Mn=o,Mn}function no(){return Mn}function oo(e,t){let n=Mn??Dn();if(n)return n.captureException(e,t?{captureContext:{extra:t}}:void 0)}var aa=require("react");var ro=class extends aa.Component{constructor(){super(...arguments);this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(n,o){oo(n,{componentStack:o.componentStack??void 0,boundary:this.props.name??"dapp-ui"})}render(){return this.state.hasError?this.props.fallback??null:this.props.children}};function he(...e){return e.filter(Boolean).join(" ")}function sa(){return typeof window>"u"?!1:window.navigator.userAgent.includes("CROSSx")}var la="__nexus_dapp_ui_uid",qr=null;function Ud(){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?crypto.randomUUID():Array.from({length:32},()=>Math.floor(Math.random()*16).toString(16)).join("")}function Kr(){if(qr)return qr;let e=null;try{e=window.localStorage.getItem(la)}catch{}if(!e||!e.startsWith("anon_")){e=`anon_${Ud()}`;try{window.localStorage.setItem(la,e)}catch{}}return qr=e,e}async function ca(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),r=>r.toString(16).padStart(2,"0")).join("").slice(0,16)}`}catch{return null}}function Gd(){let e=window.navigator.userAgent;return/ipad|tablet|(android(?!.*mobile))/i.test(e)?"tablet":/mobile|iphone|ipod|android/i.test(e)?"mobile":"desktop"}function ua(){return{host:window.location.hostname,device_type:Gd(),is_cross_inapp:String(sa())}}var da=!1;function Yr(){if(typeof window>"u")return null;let e=no()??Dn();return e?(da||(da=!0,e.setUser({id:Kr()})),e):null}function fa(){return Math.random()>=ia()}var pa=0;function hn(e){let t=Yr();if(!t)return;let n=++pa;if(!e){t.setUser({id:Kr()});return}ca(e).then(o=>{o&&n===pa&&t.setUser({id:o})})}function io(e,t,n){let o=Yr();!o||fa()||o.captureMessage(`ui: ${e}_${t}`,"info",{captureContext:{tags:{...ua(),feature:e,action:t,...n}}})}function Ne(e,t,n){let o=Yr();if(!o||fa())return;let r=n?.status??"success";o.captureMessage(`funnel: ${e}_${t}`,"info",{captureContext:{tags:{...ua(),flow:e,funnel_step:`${e}_${t}`,funnel_status:r,...r==="failure"?{failure_reason:n?.reason??"unknown"}:{},...n?.tags}}})}function gt(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 ma=require("react");var ga=require("react/jsx-runtime");function ve({feature:e,children:t}){let n=(0,ma.useCallback)(o=>{let r=o.nativeEvent;if(r.__dappUiTracked)return;let a=o.target?.closest?.("[data-track]");if(!a)return;let s=a.getAttribute("data-track");if(!s)return;r.__dappUiTracked=!0;let d=a.getAttribute("data-track-id");io(e,s,d?{item_id:d}:void 0)},[e]);return(0,ga.jsx)("div",{style:{display:"contents"},onClick:n,children:t})}var Wn=$(require("react"),1),ha=$(require("@radix-ui/react-popover"),1),ba=require("vaul");var Ho=require("react"),Qr=(0,Ho.createContext)(null);function jo(){let e=(0,Ho.useContext)(Qr);if(!e)throw new Error("AppLauncher compound components must be used within <AppLauncher>");return e}var Vo=require("react");function On(e){let[t,n]=(0,Vo.useState)(!1);return(0,Vo.useEffect)(()=>{let o=window.matchMedia(e);n(o.matches);let r=i=>n(i.matches);return o.addEventListener("change",r),()=>o.removeEventListener("change",r)},[e]),t}function J(e,{insertAt:t}={}){if(!e||typeof document>"u")return;let n=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css",t==="top"&&n.firstChild?n.insertBefore(o,n.firstChild):n.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}J(`[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, #123235);--al-badge-text: var(--ds-accent-primary-default, #00ceb2);--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, #e7f9f8);--al-badge-text: var(--ds-accent-primary-default, #00b4b7);--al-drawer-overlay: var(--ds-overlay-dim, #00000080)}
2
2
  `);J(`.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
  `);J(`@keyframes al-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
4
4
  `);J(`.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}