adam-agent-server 1.7.1 → 1.8.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/README.md +2 -2
- package/dist/index.js +16 -13
- package/package.json +1 -1
- package/web/dist/assets/AlertDialog-B1zj0Qs3.js +51 -0
- package/web/dist/assets/{Button-DuQctNms.js → Button-BehrGSvy.js} +1 -1
- package/web/dist/assets/{Card-rKfViPS2.js → Card-B5E56u94.js} +1 -1
- package/web/dist/assets/ChannelDetail-BaSlX2yb.js +1 -0
- package/web/dist/assets/{Channels-dod8Q4oq.js → Channels-CLhgGEmS.js} +2 -2
- package/web/dist/assets/Chat-BZpf1DSF.js +2 -0
- package/web/dist/assets/{Dashboard-Dl0vA6Ky.js → Dashboard-HR4Qmdwg.js} +1 -1
- package/web/dist/assets/{EmptyState-CIdIlMbn.js → EmptyState-tTclFq_B.js} +1 -1
- package/web/dist/assets/EnvVarEditor-BzJNsDt0.js +1 -0
- package/web/dist/assets/EventDefDetail-CjoqsH0e.js +1 -0
- package/web/dist/assets/Events-IeznRpCj.js +1 -0
- package/web/dist/assets/Evolution-CUn8g34X.js +6 -0
- package/web/dist/assets/GoalDetail-DgPvXb6z.js +1 -0
- package/web/dist/assets/Goals-DYrggK-M.js +1 -0
- package/web/dist/assets/{Logs-6rf0KT0z.js → Logs-CvFC-GbD.js} +1 -1
- package/web/dist/assets/Memories-B5pvI6Oj.js +1 -0
- package/web/dist/assets/{PageHeader-CHSgtxPw.js → PageHeader-B2CgcZ-t.js} +1 -1
- package/web/dist/assets/Plugins-BuE7GImW.js +1 -0
- package/web/dist/assets/{RoleDetail-DJc4CWFN.js → RoleDetail-BBJxaZip.js} +2 -2
- package/web/dist/assets/{Roles-6pmjn04G.js → Roles-C5eVA6LM.js} +1 -1
- package/web/dist/assets/{SectionHeader-C2WpiwJ5.js → SectionHeader-CmXz6PM3.js} +1 -1
- package/web/dist/assets/Settings-BblOdOih.js +1 -0
- package/web/dist/assets/{Strategies-Bmke6qZo.js → Strategies-Ddb5HiUS.js} +1 -1
- package/web/dist/assets/{Switch-CfTpXW9_.js → Switch-yrTepsdl.js} +1 -1
- package/web/dist/assets/{Table-DuOLbyJQ.js → Table-CXAcZ8Ru.js} +1 -1
- package/web/dist/assets/TaskDetail-CHwHgfZq.js +2 -0
- package/web/dist/assets/Work-Corw0ITh.js +1 -0
- package/web/dist/assets/api-Bux34u4-.js +1 -0
- package/web/dist/assets/{dist-Bdqp1ixJ.js → dist-CgGno8kE.js} +1 -1
- package/web/dist/assets/index-B3_4_qY6.js +2 -0
- package/web/dist/assets/index-Cu5neZGw.css +2 -0
- package/web/dist/index.html +6 -5
- package/web/dist/assets/AlertDialog-CfeiyMrc.js +0 -51
- package/web/dist/assets/ChannelDetail-DnL0_h8q.js +0 -1
- package/web/dist/assets/Chat-Dv_Izjx3.js +0 -1
- package/web/dist/assets/EnvVarEditor-C-gErAzC.js +0 -1
- package/web/dist/assets/EventDefDetail-BhJZGNlX.js +0 -1
- package/web/dist/assets/Events-DnNZ9-BN.js +0 -1
- package/web/dist/assets/Evolution-BBWmrrnr.js +0 -6
- package/web/dist/assets/GoalDetail-uqWQCOj3.js +0 -1
- package/web/dist/assets/Goals-CylKmR9j.js +0 -1
- package/web/dist/assets/Memories-CrBTujU7.js +0 -1
- package/web/dist/assets/Plugins-VKUSUcSE.js +0 -1
- package/web/dist/assets/Settings-DW1jmrNj.js +0 -1
- package/web/dist/assets/TaskDetail-CwJ_UKgt.js +0 -2
- package/web/dist/assets/Work-DVdWNBEm.js +0 -1
- package/web/dist/assets/index-D4IubNPI.css +0 -2
- package/web/dist/assets/index-DYsO5Awn.js +0 -2
- /package/web/dist/assets/{NotFound-DitXhq_y.js → NotFound-D-OII_Lp.js} +0 -0
- /package/web/dist/assets/{format-CHfBBLog.js → format-BUYXZqDw.js} +0 -0
- /package/web/dist/assets/{ui-B_uMx2Fy.js → ui-CerQw0jA.js} +0 -0
- /package/web/dist/assets/{useIsMobileLayout-C6KIQjuh.js → useIsMobileLayout-dYzXP1EC.js} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/Dashboard-HR4Qmdwg.js","assets/rolldown-runtime-Dw2cE7zH.js","assets/vendor-react-C6faO6LO.js","assets/vendor-icons-Dk0hMuJz.js","assets/vendor-state-DahK0J-G.js","assets/PageHeader-B2CgcZ-t.js","assets/dist-CgGno8kE.js","assets/SectionHeader-CmXz6PM3.js","assets/Card-B5E56u94.js","assets/format-BUYXZqDw.js","assets/Chat-BZpf1DSF.js","assets/Button-BehrGSvy.js","assets/EmptyState-tTclFq_B.js","assets/api-Bux34u4-.js","assets/ui-CerQw0jA.js","assets/useIsMobileLayout-dYzXP1EC.js","assets/Work-Corw0ITh.js","assets/AlertDialog-B1zj0Qs3.js","assets/Switch-yrTepsdl.js","assets/Goals-DYrggK-M.js","assets/Table-CXAcZ8Ru.js","assets/TaskDetail-CHwHgfZq.js","assets/Plugins-BuE7GImW.js","assets/Strategies-Ddb5HiUS.js","assets/Logs-CvFC-GbD.js","assets/Settings-BblOdOih.js","assets/EnvVarEditor-BzJNsDt0.js","assets/Memories-B5pvI6Oj.js","assets/Evolution-CUn8g34X.js","assets/Channels-CLhgGEmS.js","assets/GoalDetail-DgPvXb6z.js","assets/ChannelDetail-BaSlX2yb.js","assets/Roles-C5eVA6LM.js","assets/RoleDetail-BBJxaZip.js","assets/NotFound-D-OII_Lp.js","assets/Events-IeznRpCj.js","assets/EventDefDetail-CjoqsH0e.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{A as t,F as n,N as r,P as i,X as a,b as o,c as s,ct as c,i as l,k as u,l as d,m as f,n as p,r as m,rt as h,t as g,x as _,z as v}from"./vendor-icons-Dk0hMuJz.js";import{a as y,c as b,h as x,i as S,m as C,n as w,o as T,p as E,s as D,t as O,u as k}from"./vendor-react-C6faO6LO.js";import{n as A,r as j,t as M}from"./dist-CgGno8kE.js";import{_ as N,a as ee,b as P,c as F,d as te,f as ne,g as re,h as ie,i as ae,m as oe,o as se,p as ce,s as le,t as I,u as ue,x as de,y as L}from"./AlertDialog-B1zj0Qs3.js";import{i as R,t as fe}from"./Button-BehrGSvy.js";import{n as pe}from"./vendor-state-DahK0J-G.js";import{a as me,c as he,l as ge,o as _e,r as ve,t as z}from"./api-Bux34u4-.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var ye=C(),B=e(c(),1),V=O(),be=class extends B.Component{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){console.error(`[ErrorBoundary] Uncaught error:`,e,t.componentStack)}render(){return this.state.hasError?(0,V.jsx)(`div`,{className:`flex h-screen items-center justify-center bg-[var(--app-canvas)] p-6`,children:(0,V.jsxs)(`div`,{className:`w-full max-w-md rounded-lg border border-[var(--app-border)] bg-[var(--app-panel)] p-8 text-center`,children:[(0,V.jsx)(`div`,{className:`mx-auto mb-4 flex h-12 w-12 items-center justify-center rounded-full bg-[var(--app-danger)]/10`,children:(0,V.jsx)(`svg`,{className:`h-6 w-6 text-[var(--app-danger)]`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`,children:(0,V.jsx)(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,d:`M12 9v2m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z`})})}),(0,V.jsx)(`h1`,{className:`mb-2 text-lg font-semibold text-[var(--app-text)]`,children:`Something went wrong`}),(0,V.jsx)(`p`,{className:`mb-6 text-sm text-[var(--app-text-muted)]`,children:`An unexpected error occurred. Try reloading the page.`}),this.state.error&&(0,V.jsx)(`pre`,{className:`mb-6 max-h-32 overflow-auto rounded bg-[var(--app-canvas)] p-3 text-left text-xs text-[var(--app-danger)]`,children:this.state.error.message}),(0,V.jsx)(`button`,{onClick:()=>window.location.reload(),className:`rounded-md bg-[var(--app-accent)] px-4 py-2 text-sm font-medium text-white transition-colors hover:bg-[var(--app-accent)] focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 focus:ring-offset-[var(--app-canvas)]`,children:`Reload`})]})}):this.props.children}},xe=[{to:`/`,icon:n,label:`Dashboard`,description:`Live system overview and operational focus.`},{to:`/chat`,icon:u,label:`Chat`,description:`Start a session, monitor execution, and review responses.`},{to:`/work`,icon:r,label:`Work`,description:`Tasks, automations, and goals in one work surface.`},{to:`/roles`,icon:a,label:`Roles`,description:`Role definitions, prompts, permissions, and health.`},{to:`/events`,icon:g,label:`Events`,description:`Event definitions that trigger automations.`},{to:`/strategies`,icon:i,label:`Strategies`,description:`Evaluate and adjust strategy records.`},{to:`/channels`,icon:o,label:`Channels`,description:`Delivery targets, sessions, and routing rules.`},{to:`/goals`,icon:d,label:`Goals`,description:`Long-running outcomes, budgets, and delivery targets.`},{to:`/memories`,icon:h,label:`Memories`,description:`Query memory records and retention patterns.`},{to:`/evolution`,icon:v,label:`Evolution`,description:`Review learning history and rule updates.`},{to:`/plugins`,icon:_,label:`Plugins`,description:`Installed plugins, scope, and activation state.`},{to:`/logs`,icon:s,label:`Logs`,description:`Observe runtime events and system diagnostics.`},{to:`/settings`,icon:f,label:`Settings`,description:`Server, model, and environment configuration.`}],Se=[{test:e=>/^\/tasks\/[^/]+$/.test(e),meta:{title:`Task Detail`,description:`Summary, execution, results, and diagnostics for a single task.`,section:`Work`}},{test:e=>/^\/roles\/[^/]+$/.test(e),meta:{title:`Role Detail`,description:`Role configuration, memory, scores, and activity history.`,section:`Identities`}},{test:e=>/^\/channels\/[^/]+$/.test(e),meta:{title:`Channel Detail`,description:`Channel delivery rules, bindings, and recent activity.`,section:`Delivery`}},{test:e=>/^\/goals\/[^/]+$/.test(e),meta:{title:`Goal Detail`,description:`Goal progress, budgets, and related orchestration state.`,section:`Operations`}}];function Ce(e){let t=xe.find(t=>t.to===e);if(t)return{title:t.label,description:t.description,section:{"/":`Overview`,"/chat":`Sessions`,"/work":`Operations`,"/roles":`Identities`,"/events":`Control Plane`,"/strategies":`Decision Engine`,"/channels":`Delivery`,"/goals":`Operations`,"/memories":`Knowledge`,"/evolution":`Learning`,"/plugins":`Capabilities`,"/logs":`Diagnostics`,"/settings":`Configuration`}[e]??`Control Plane`};let n=Se.find(t=>t.test(e));return n?n.meta:{title:`Adam`,description:`Control plane for tasks, roles, channels, and delivery.`,section:`Control Plane`}}var we=[`top`,`right`,`bottom`,`left`],H=Math.min,U=Math.max,Te=Math.round,Ee=Math.floor,W=e=>({x:e,y:e}),De={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Oe(e,t,n){return U(e,H(t,n))}function G(e,t){return typeof e==`function`?e(t):e}function ke(e){return e.split(`-`)[0]}function Ae(e){return e.split(`-`)[1]}function je(e){return e===`x`?`y`:`x`}function Me(e){return e===`y`?`height`:`width`}function K(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Ne(e){return je(K(e))}function Pe(e,t,n){n===void 0&&(n=!1);let r=Ae(e),i=Ne(e),a=Me(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=Ue(o)),[o,Ue(o)]}function Fe(e){let t=Ue(e);return[Ie(e),t,Ie(t)]}function Ie(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Le=[`left`,`right`],Re=[`right`,`left`],ze=[`top`,`bottom`],Be=[`bottom`,`top`];function Ve(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Re:Le:t?Le:Re;case`left`:case`right`:return t?ze:Be;default:return[]}}function He(e,t,n,r){let i=Ae(e),a=Ve(ke(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(Ie)))),a}function Ue(e){let t=ke(e);return De[t]+e.slice(t.length)}function We(e){return{top:0,right:0,bottom:0,left:0,...e}}function Ge(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:We(e)}function Ke(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function qe(e,t,n){let{reference:r,floating:i}=e,a=K(t),o=Ne(t),s=Me(o),c=ke(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(Ae(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function Je(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=G(t,e),p=Ge(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=Ke(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=Ke(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Ye=50,Xe=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:Je},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=qe(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Ye&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=qe(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},Ze=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=G(e,t)||{};if(l==null)return{};let d=Ge(u),f={x:n,y:r},p=Ne(i),m=Me(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=H(d[_],T),D=H(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=Oe(O,A,k),M=!c.arrow&&Ae(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,N=M?A<O?A-O:A-k:0;return{[p]:f[p]+N,data:{[p]:j,centerOffset:A-j-N,...M&&{alignmentOffset:N}},reset:M}}}),Qe=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=G(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=ke(r),_=K(o),v=ke(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[Ue(o)]:Fe(o)),x=p!==`none`;!d&&x&&b.push(...He(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Pe(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==K(t))||T.every(e=>K(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=K(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function $e(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function et(e){return we.some(t=>e[t]>=0)}var tt=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=G(e,t);switch(i){case`referenceHidden`:{let e=$e(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:et(e)}}}case`escaped`:{let e=$e(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:et(e)}}}default:return{}}}}},nt=new Set([`left`,`top`]);async function rt(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=ke(n),s=Ae(n),c=K(n)===`y`,l=nt.has(o)?-1:1,u=a&&c?-1:1,d=G(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var it=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await rt(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},at=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=G(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=K(ke(i)),p=je(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=Oe(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=Oe(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},ot=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=G(e,t),u={x:n,y:r},d=K(i),f=je(d),p=u[f],m=u[d],h=G(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=nt.has(ke(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},st=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=G(e,t),u=await o.detectOverflow(t,l),d=ke(i),f=Ae(i),p=K(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=H(h-u[g],v),x=H(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=U(u.left,0),t=U(u.right,0),n=U(u.top,0),r=U(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:U(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:U(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function ct(){return typeof window<`u`}function lt(e){return ut(e)?(e.nodeName||``).toLowerCase():`#document`}function q(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function J(e){return((ut(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function ut(e){return ct()?e instanceof Node||e instanceof q(e).Node:!1}function Y(e){return ct()?e instanceof Element||e instanceof q(e).Element:!1}function dt(e){return ct()?e instanceof HTMLElement||e instanceof q(e).HTMLElement:!1}function ft(e){return!ct()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof q(e).ShadowRoot}function pt(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=X(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function mt(e){return/^(table|td|th)$/.test(lt(e))}function ht(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var gt=/transform|translate|scale|rotate|perspective|filter/,_t=/paint|layout|strict|content/,vt=e=>!!e&&e!==`none`,yt;function bt(e){let t=Y(e)?X(e):e;return vt(t.transform)||vt(t.translate)||vt(t.scale)||vt(t.rotate)||vt(t.perspective)||!St()&&(vt(t.backdropFilter)||vt(t.filter))||gt.test(t.willChange||``)||_t.test(t.contain||``)}function xt(e){let t=Tt(e);for(;dt(t)&&!Ct(t);){if(bt(t))return t;if(ht(t))return null;t=Tt(t)}return null}function St(){return yt??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),yt}function Ct(e){return/^(html|body|#document)$/.test(lt(e))}function X(e){return q(e).getComputedStyle(e)}function wt(e){return Y(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Tt(e){if(lt(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||ft(e)&&e.host||J(e);return ft(t)?t.host:t}function Et(e){let t=Tt(e);return Ct(t)?e.ownerDocument?e.ownerDocument.body:e.body:dt(t)&&pt(t)?t:Et(t)}function Dt(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Et(e),i=r===e.ownerDocument?.body,a=q(r);if(i){let e=Ot(a);return t.concat(a,a.visualViewport||[],pt(r)?r:[],e&&n?Dt(e):[])}else return t.concat(r,Dt(r,[],n))}function Ot(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function kt(e){let t=X(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=dt(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Te(n)!==a||Te(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function At(e){return Y(e)?e:e.contextElement}function jt(e){let t=At(e);if(!dt(t))return W(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=kt(t),o=(a?Te(n.width):n.width)/r,s=(a?Te(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Mt=W(0);function Nt(e){let t=q(e);return!St()||!t.visualViewport?Mt:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Pt(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==q(e)?!1:t}function Ft(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=At(e),o=W(1);t&&(r?Y(r)&&(o=jt(r)):o=jt(e));let s=Pt(a,n,r)?Nt(a):W(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=q(a),t=r&&Y(r)?q(r):r,n=e,i=Ot(n);for(;i&&r&&t!==n;){let e=jt(i),t=i.getBoundingClientRect(),r=X(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=q(i),i=Ot(n)}}return Ke({width:u,height:d,x:c,y:l})}function It(e,t){let n=wt(e).scrollLeft;return t?t.left+n:Ft(J(e)).left+n}function Lt(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-It(e,n),y:n.top+t.scrollTop}}function Rt(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=J(r),s=t?ht(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=W(1),u=W(0),d=dt(r);if((d||!d&&!a)&&((lt(r)!==`body`||pt(o))&&(c=wt(r)),d)){let e=Ft(r);l=jt(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Lt(o,c):W(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function zt(e){return Array.from(e.getClientRects())}function Bt(e){let t=J(e),n=wt(e),r=e.ownerDocument.body,i=U(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=U(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+It(e),s=-n.scrollTop;return X(r).direction===`rtl`&&(o+=U(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var Vt=25;function Ht(e,t){let n=q(e),r=J(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=St();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=It(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=Vt&&(a-=o)}else l<=Vt&&(a+=l);return{width:a,height:o,x:s,y:c}}function Ut(e,t){let n=Ft(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=dt(e)?jt(e):W(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function Wt(e,t,n){let r;if(t===`viewport`)r=Ht(e,n);else if(t===`document`)r=Bt(J(e));else if(Y(t))r=Ut(t,n);else{let n=Nt(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return Ke(r)}function Gt(e,t){let n=Tt(e);return n===t||!Y(n)||Ct(n)?!1:X(n).position===`fixed`||Gt(n,t)}function Kt(e,t){let n=t.get(e);if(n)return n;let r=Dt(e,[],!1).filter(e=>Y(e)&<(e)!==`body`),i=null,a=X(e).position===`fixed`,o=a?Tt(e):e;for(;Y(o)&&!Ct(o);){let t=X(o),n=bt(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||pt(o)&&!n&&Gt(e,o))?r=r.filter(e=>e!==o):i=t,o=Tt(o)}return t.set(e,r),r}function qt(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?ht(t)?[]:Kt(t,this._c):[].concat(n),r],o=Wt(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=Wt(t,a[e],i);s=U(n.top,s),c=H(n.right,c),l=H(n.bottom,l),u=U(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function Jt(e){let{width:t,height:n}=kt(e);return{width:t,height:n}}function Yt(e,t,n){let r=dt(t),i=J(t),a=n===`fixed`,o=Ft(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=W(0);function l(){c.x=It(i)}if(r||!r&&!a)if((lt(t)!==`body`||pt(i))&&(s=wt(t)),r){let e=Ft(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?Lt(i,s):W(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function Xt(e){return X(e).position===`static`}function Zt(e,t){if(!dt(e)||X(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return J(e)===n&&(n=n.ownerDocument.body),n}function Qt(e,t){let n=q(e);if(ht(e))return n;if(!dt(e)){let t=Tt(e);for(;t&&!Ct(t);){if(Y(t)&&!Xt(t))return t;t=Tt(t)}return n}let r=Zt(e,t);for(;r&&mt(r)&&Xt(r);)r=Zt(r,t);return r&&Ct(r)&&Xt(r)&&!bt(r)?n:r||xt(e)||n}var $t=async function(e){let t=this.getOffsetParent||Qt,n=this.getDimensions,r=await n(e.floating);return{reference:Yt(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function en(e){return X(e).direction===`rtl`}var tn={convertOffsetParentRelativeRectToViewportRelativeRect:Rt,getDocumentElement:J,getClippingRect:qt,getOffsetParent:Qt,getElementRects:$t,getClientRects:zt,getDimensions:Jt,getScale:jt,isElement:Y,isRTL:en};function nn(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function rn(e,t){let n=null,r,i=J(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=Ee(d),h=Ee(i.clientWidth-(u+f)),g=Ee(i.clientHeight-(d+p)),_=Ee(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:U(0,H(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!nn(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function an(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=At(e),u=i||a?[...l?Dt(l):[],...t?Dt(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?rn(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Ft(e):null;c&&g();function g(){let t=Ft(e);h&&!nn(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var on=it,sn=at,cn=Qe,ln=st,un=tt,dn=Ze,fn=ot,pn=(e,t,n)=>{let r=new Map,i={platform:tn,...n},a={...i.platform,_c:r};return Xe(e,t,{...i,platform:a})},mn=e(x(),1),hn=typeof document<`u`?B.useLayoutEffect:function(){};function gn(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!gn(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!gn(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function _n(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function vn(e,t){let n=_n(e);return Math.round(t*n)/n}function yn(e){let t=B.useRef(e);return hn(()=>{t.current=e}),t}function bn(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=B.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=B.useState(r);gn(f,r)||p(r);let[m,h]=B.useState(null),[g,_]=B.useState(null),v=B.useCallback(e=>{e!==S.current&&(S.current=e,h(e))},[]),y=B.useCallback(e=>{e!==C.current&&(C.current=e,_(e))},[]),b=a||m,x=o||g,S=B.useRef(null),C=B.useRef(null),w=B.useRef(u),T=c!=null,E=yn(c),D=yn(i),O=yn(l),k=B.useCallback(()=>{if(!S.current||!C.current)return;let e={placement:t,strategy:n,middleware:f};D.current&&(e.platform=D.current),pn(S.current,C.current,e).then(e=>{let t={...e,isPositioned:O.current!==!1};A.current&&!gn(w.current,t)&&(w.current=t,mn.flushSync(()=>{d(t)}))})},[f,t,n,D,O]);hn(()=>{l===!1&&w.current.isPositioned&&(w.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let A=B.useRef(!1);hn(()=>(A.current=!0,()=>{A.current=!1}),[]),hn(()=>{if(b&&(S.current=b),x&&(C.current=x),b&&x){if(E.current)return E.current(b,x,k);k()}},[b,x,k,E,T]);let j=B.useMemo(()=>({reference:S,floating:C,setReference:v,setFloating:y}),[v,y]),M=B.useMemo(()=>({reference:b,floating:x}),[b,x]),N=B.useMemo(()=>{let e={position:n,left:0,top:0};if(!M.floating)return e;let t=vn(M.floating,u.x),r=vn(M.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,..._n(M.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,M.floating,u.x,u.y]);return B.useMemo(()=>({...u,update:k,refs:j,elements:M,floatingStyles:N}),[u,k,j,M,N])}var xn=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:dn({element:r.current,padding:i}).fn(n):r?dn({element:r,padding:i}).fn(n):{}}}},Sn=(e,t)=>{let n=on(e);return{name:n.name,fn:n.fn,options:[e,t]}},Cn=(e,t)=>{let n=sn(e);return{name:n.name,fn:n.fn,options:[e,t]}},wn=(e,t)=>({fn:fn(e).fn,options:[e,t]}),Tn=(e,t)=>{let n=cn(e);return{name:n.name,fn:n.fn,options:[e,t]}},En=(e,t)=>{let n=ln(e);return{name:n.name,fn:n.fn,options:[e,t]}},Dn=(e,t)=>{let n=un(e);return{name:n.name,fn:n.fn,options:[e,t]}},On=(e,t)=>{let n=xn(e);return{name:n.name,fn:n.fn,options:[e,t]}},kn=`Arrow`,An=B.forwardRef((e,t)=>{let{children:n,width:r=10,height:i=5,...a}=e;return(0,V.jsx)(N.svg,{...a,ref:t,width:r,height:i,viewBox:`0 0 30 10`,preserveAspectRatio:`none`,children:e.asChild?n:(0,V.jsx)(`polygon`,{points:`0,0 30,0 15,10`})})});An.displayName=kn;var jn=An;function Mn(e){let[t,n]=B.useState(void 0);return oe(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}else n(void 0)},[e]),t}var Nn=`Popper`,[Pn,Fn]=P(Nn),[In,Ln]=Pn(Nn),Rn=e=>{let{__scopePopper:t,children:n}=e,[r,i]=B.useState(null);return(0,V.jsx)(In,{scope:t,anchor:r,onAnchorChange:i,children:n})};Rn.displayName=Nn;var zn=`PopperAnchor`,Bn=B.forwardRef((e,t)=>{let{__scopePopper:n,virtualRef:r,...i}=e,a=Ln(zn,n),o=B.useRef(null),s=R(t,o),c=B.useRef(null);return B.useEffect(()=>{let e=c.current;c.current=r?.current||o.current,e!==c.current&&a.onAnchorChange(c.current)}),r?null:(0,V.jsx)(N.div,{...i,ref:s})});Bn.displayName=zn;var Vn=`PopperContent`,[Hn,Un]=Pn(Vn),Wn=B.forwardRef((e,t)=>{let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:f=!1,updatePositionStrategy:p=`optimized`,onPlaced:m,...h}=e,g=Ln(Vn,n),[_,v]=B.useState(null),y=R(t,e=>v(e)),[b,x]=B.useState(null),S=Mn(b),C=S?.width??0,w=S?.height??0,T=r+(a===`center`?``:`-`+a),E=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},D=Array.isArray(l)?l:[l],O=D.length>0,k={padding:E,boundary:D.filter(Jn),altBoundary:O},{refs:A,floatingStyles:j,placement:M,isPositioned:ee,middlewareData:P}=bn({strategy:`fixed`,placement:T,whileElementsMounted:(...e)=>an(...e,{animationFrame:p===`always`}),elements:{reference:g.anchor},middleware:[Sn({mainAxis:i+w,alignmentAxis:o}),c&&Cn({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?wn():void 0,...k}),c&&Tn({...k}),En({...k,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)}}),b&&On({element:b,padding:s}),Yn({arrowWidth:C,arrowHeight:w}),f&&Dn({strategy:`referenceHidden`,...k})]}),[F,te]=Xn(M),ne=re(m);oe(()=>{ee&&ne?.()},[ee,ne]);let ie=P.arrow?.x,ae=P.arrow?.y,se=P.arrow?.centerOffset!==0,[ce,le]=B.useState();return oe(()=>{_&&le(window.getComputedStyle(_).zIndex)},[_]),(0,V.jsx)(`div`,{ref:A.setFloating,"data-radix-popper-content-wrapper":``,style:{...j,transform:ee?j.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ce,"--radix-popper-transform-origin":[P.transformOrigin?.x,P.transformOrigin?.y].join(` `),...P.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,V.jsx)(Hn,{scope:n,placedSide:F,onArrowChange:x,arrowX:ie,arrowY:ae,shouldHideArrow:se,children:(0,V.jsx)(N.div,{"data-side":F,"data-align":te,...h,ref:y,style:{...h.style,animation:ee?void 0:`none`}})})})});Wn.displayName=Vn;var Gn=`PopperArrow`,Kn={top:`bottom`,right:`left`,bottom:`top`,left:`right`},qn=B.forwardRef(function(e,t){let{__scopePopper:n,...r}=e,i=Un(Gn,n),a=Kn[i.placedSide];return(0,V.jsx)(`span`,{ref:i.onArrowChange,style:{position:`absolute`,left:i.arrowX,top:i.arrowY,[a]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[i.placedSide],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[i.placedSide],visibility:i.shouldHideArrow?`hidden`:void 0},children:(0,V.jsx)(jn,{...r,ref:t,style:{...r.style,display:`block`}})})});qn.displayName=Gn;function Jn(e){return e!==null}var Yn=e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=Xn(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}});function Xn(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Zn=Rn,Qn=Bn,$n=Wn,er=qn,tr=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),nr=`VisuallyHidden`,rr=B.forwardRef((e,t)=>(0,V.jsx)(N.span,{...e,ref:t,style:{...tr,...e.style}}));rr.displayName=nr;var ir=rr,[ar,or]=P(`Tooltip`,[Fn]),sr=Fn(),cr=`TooltipProvider`,lr=700,ur=`tooltip.open`,[dr,fr]=ar(cr),pr=e=>{let{__scopeTooltip:t,delayDuration:n=lr,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=B.useRef(!0),s=B.useRef(!1),c=B.useRef(0);return B.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,V.jsx)(dr,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:B.useCallback(()=>{window.clearTimeout(c.current),o.current=!1},[]),onClose:B.useCallback(()=>{window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r)},[r]),isPointerInTransitRef:s,onPointerInTransitChange:B.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})};pr.displayName=cr;var mr=`Tooltip`,[hr,gr]=ar(mr),_r=e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=fr(mr,e.__scopeTooltip),l=sr(t),[u,d]=B.useState(null),f=ce(),p=B.useRef(0),m=o??c.disableHoverableContent,h=s??c.delayDuration,g=B.useRef(!1),[_,v]=ue({prop:r,defaultProp:i??!1,onChange:e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(ur))):c.onClose(),a?.(e)},caller:mr}),y=B.useMemo(()=>_?g.current?`delayed-open`:`instant-open`:`closed`,[_]),b=B.useCallback(()=>{window.clearTimeout(p.current),p.current=0,g.current=!1,v(!0)},[v]),x=B.useCallback(()=>{window.clearTimeout(p.current),p.current=0,v(!1)},[v]),S=B.useCallback(()=>{window.clearTimeout(p.current),p.current=window.setTimeout(()=>{g.current=!0,v(!0),p.current=0},h)},[h,v]);return B.useEffect(()=>()=>{p.current&&=(window.clearTimeout(p.current),0)},[]),(0,V.jsx)(Zn,{...l,children:(0,V.jsx)(hr,{scope:t,contentId:f,open:_,stateAttribute:y,trigger:u,onTriggerChange:d,onTriggerEnter:B.useCallback(()=>{c.isOpenDelayedRef.current?S():b()},[c.isOpenDelayedRef,S,b]),onTriggerLeave:B.useCallback(()=>{m?x():(window.clearTimeout(p.current),p.current=0)},[x,m]),onOpen:b,onClose:x,disableHoverableContent:m,children:n})})};_r.displayName=mr;var vr=`TooltipTrigger`,yr=B.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=gr(vr,n),a=fr(vr,n),o=sr(n),s=R(t,B.useRef(null),i.onTriggerChange),c=B.useRef(!1),l=B.useRef(!1),u=B.useCallback(()=>c.current=!1,[]);return B.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,V.jsx)(Qn,{asChild:!0,...o,children:(0,V.jsx)(N.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:de(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:de(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:de(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:de(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:de(e.onBlur,i.onClose),onClick:de(e.onClick,i.onClose)})})});yr.displayName=vr;var br=`TooltipPortal`,[xr,Sr]=ar(br,{forceMount:void 0}),Cr=e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=gr(br,t);return(0,V.jsx)(xr,{scope:t,forceMount:n,children:(0,V.jsx)(te,{present:n||a.open,children:(0,V.jsx)(ne,{asChild:!0,container:i,children:r})})})};Cr.displayName=br;var wr=`TooltipContent`,Tr=B.forwardRef((e,t)=>{let n=Sr(wr,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=gr(wr,e.__scopeTooltip);return(0,V.jsx)(te,{present:r||o.open,children:o.disableHoverableContent?(0,V.jsx)(Ar,{side:i,...a,ref:t}):(0,V.jsx)(Er,{side:i,...a,ref:t})})}),Er=B.forwardRef((e,t)=>{let n=gr(wr,e.__scopeTooltip),r=fr(wr,e.__scopeTooltip),i=B.useRef(null),a=R(t,i),[o,s]=B.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=B.useCallback(()=>{s(null),d(!1)},[d]),p=B.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=Pr(r,Nr(r,n.getBoundingClientRect())),a=Fr(t.getBoundingClientRect());s(Lr([...i,...a])),d(!0)},[d]);return B.useEffect(()=>()=>f(),[f]),B.useEffect(()=>{if(c&&u){let e=e=>p(e,u),t=e=>p(e,c);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),B.useEffect(()=>{if(o){let e=e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!Ir(n,o);r?f():i&&(f(),l())};return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,V.jsx)(Ar,{...e,ref:a})}),[Dr,Or]=ar(mr,{isInside:!1}),kr=L(`TooltipContent`),Ar=B.forwardRef((e,t)=>{let{__scopeTooltip:n,children:r,"aria-label":i,onEscapeKeyDown:a,onPointerDownOutside:o,...s}=e,c=gr(wr,n),l=sr(n),{onClose:u}=c;return B.useEffect(()=>(document.addEventListener(ur,u),()=>document.removeEventListener(ur,u)),[u]),B.useEffect(()=>{if(c.trigger){let e=e=>{e.target?.contains(c.trigger)&&u()};return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[c.trigger,u]),(0,V.jsx)(ie,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:a,onPointerDownOutside:o,onFocusOutside:e=>e.preventDefault(),onDismiss:u,children:(0,V.jsxs)($n,{"data-state":c.stateAttribute,...l,...s,ref:t,style:{...s.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,V.jsx)(kr,{children:r}),(0,V.jsx)(Dr,{scope:n,isInside:!0,children:(0,V.jsx)(ir,{id:c.contentId,role:`tooltip`,children:i||r})})]})})});Tr.displayName=wr;var jr=`TooltipArrow`,Mr=B.forwardRef((e,t)=>{let{__scopeTooltip:n,...r}=e,i=sr(n);return Or(jr,n).isInside?null:(0,V.jsx)(er,{...i,...r,ref:t})});Mr.displayName=jr;function Nr(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function Pr(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function Fr(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function Ir(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}function Lr(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:e.y>t.y?1:0),Rr(t)}function Rr(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var zr=pr,Br=_r,Vr=yr,Hr=Cr,Ur=Tr,Wr=zr,Gr=Br,Kr=Vr,qr=B.forwardRef(({className:e,sideOffset:t=4,...n},r)=>(0,V.jsx)(Hr,{children:(0,V.jsx)(Ur,{ref:r,sideOffset:t,className:A(`surface-panel z-50 max-w-xs overflow-hidden rounded-md px-3 py-1.5 text-xs text-[var(--app-text)] shadow-[var(--app-shadow-md)] animate-in fade-in-0 zoom-in-95`,e),...n})}));qr.displayName=Ur.displayName;function Jr({onNavigate:e}){return(0,V.jsxs)(`aside`,{className:`flex h-full w-64 flex-col border-r border-[var(--app-border)] bg-[var(--app-sidebar-bg)]`,children:[(0,V.jsxs)(`div`,{className:`flex h-16 items-center gap-3 border-b border-[var(--app-border)] px-5`,children:[(0,V.jsx)(`div`,{className:`surface-accent flex h-10 w-10 items-center justify-center rounded-lg text-sm font-bold text-white`,children:`A`}),(0,V.jsxs)(`div`,{className:`min-w-0`,children:[(0,V.jsx)(`div`,{className:`text-sm font-semibold tracking-wide text-[var(--app-text)]`,children:`Adam`}),(0,V.jsx)(`div`,{className:`text-[11px] text-[var(--app-text-subtle)]`,children:`Operator workspace`})]}),(0,V.jsx)(`span`,{className:`ml-auto rounded-full border border-[var(--app-border)] bg-white/[0.04] px-2 py-0.5 font-mono text-[10px] text-[var(--app-text-subtle)]`,children:`v2.0`})]}),(0,V.jsx)(Wr,{delayDuration:300,children:(0,V.jsx)(`nav`,{role:`navigation`,"aria-label":`Main navigation`,className:`flex-1 space-y-1 px-3 py-4`,children:xe.map(({to:t,icon:n,label:r,description:i})=>(0,V.jsxs)(Gr,{children:[(0,V.jsx)(Kr,{asChild:!0,children:(0,V.jsx)(S,{to:t,end:t===`/`,onClick:e,className:({isActive:e})=>j(`group flex items-center gap-3 rounded-lg px-3 py-2 transition-colors`,`focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 focus-visible:ring-offset-[var(--app-canvas)]`,e?`surface-panel-elevated text-[var(--app-text)]`:`text-[var(--app-text-muted)] hover:bg-white/[0.04] hover:text-[var(--app-text)]`),children:({isActive:e})=>(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(n,{size:16,className:`flex-shrink-0`}),(0,V.jsx)(`span`,{className:`text-sm font-medium`,children:r}),e&&(0,V.jsx)(`span`,{className:`sr-only`,children:`(current page)`})]})})}),(0,V.jsx)(qr,{side:`right`,children:(0,V.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,V.jsx)(`div`,{className:`font-medium text-[var(--app-text)]`,children:r}),(0,V.jsx)(`div`,{className:`text-[var(--app-text-muted)]`,children:i})]})})]},t))})})]})}function Yr(e){if(!e||typeof document>`u`)return;let t=document.head||document.getElementsByTagName(`head`)[0],n=document.createElement(`style`);n.type=`text/css`,t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}var Xr=e=>{switch(e){case`success`:return $r;case`info`:return ti;case`warning`:return ei;case`error`:return ni;default:return null}},Zr=Array(12).fill(0),Qr=({visible:e,className:t})=>B.createElement(`div`,{className:[`sonner-loading-wrapper`,t].filter(Boolean).join(` `),"data-visible":e},B.createElement(`div`,{className:`sonner-spinner`},Zr.map((e,t)=>B.createElement(`div`,{className:`sonner-loading-bar`,key:`spinner-bar-${t}`})))),$r=B.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},B.createElement(`path`,{fillRule:`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,clipRule:`evenodd`})),ei=B.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`},B.createElement(`path`,{fillRule:`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,clipRule:`evenodd`})),ti=B.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},B.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,clipRule:`evenodd`})),ni=B.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},B.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z`,clipRule:`evenodd`})),ri=B.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`},B.createElement(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),B.createElement(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})),ii=()=>{let[e,t]=B.useState(document.hidden);return B.useEffect(()=>{let e=()=>{t(document.hidden)};return document.addEventListener(`visibilitychange`,e),()=>window.removeEventListener(`visibilitychange`,e)},[]),e},ai=1,Z=new class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{let{message:t,...n}=e,r=typeof e?.id==`number`||e.id?.length>0?e.id:ai++,i=this.toasts.find(e=>e.id===r),a=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:a,title:t}):n):this.addToast({title:t,...n,dismissible:a,id:r}),r},this.dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:`error`}),this.success=(e,t)=>this.create({...t,type:`success`,message:e}),this.info=(e,t)=>this.create({...t,type:`info`,message:e}),this.warning=(e,t)=>this.create({...t,type:`warning`,message:e}),this.loading=(e,t)=>this.create({...t,type:`loading`,message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:`loading`,message:t.loading,description:typeof t.description==`function`?void 0:t.description}));let r=Promise.resolve(e instanceof Function?e():e),i=n!==void 0,a,o=r.then(async e=>{if(a=[`resolve`,e],B.isValidElement(e))i=!1,this.create({id:n,type:`default`,message:e});else if(si(e)&&!e.ok){i=!1;let r=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,a=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description,o=typeof r==`object`&&!B.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(e instanceof Error){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!B.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(t.success!==void 0){i=!1;let r=typeof t.success==`function`?await t.success(e):t.success,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!B.isValidElement(r)?r:{message:r};this.create({id:n,type:`success`,description:a,...o})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!B.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),t.finally==null||t.finally.call(t)}),s=()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:s}:Object.assign(n,{unwrap:s})},this.custom=(e,t)=>{let n=t?.id||ai++;return this.create({jsx:e(n),id:n,...t}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},oi=(e,t)=>{let n=t?.id||ai++;return Z.addToast({title:e,...t,id:n}),n},si=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,ci=Object.assign(oi,{success:Z.success,info:Z.info,warning:Z.warning,error:Z.error,custom:Z.custom,message:Z.message,promise:Z.promise,dismiss:Z.dismiss,loading:Z.loading},{getHistory:()=>Z.toasts,getToasts:()=>Z.getActiveToasts()});Yr(`[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}`);function li(e){return e.label!==void 0}var ui=3,di=`24px`,fi=`16px`,pi=4e3,mi=356,hi=14,gi=45,_i=200;function Q(...e){return e.filter(Boolean).join(` `)}function vi(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}var yi=e=>{let{invert:t,toast:n,unstyled:r,interacting:i,setHeights:a,visibleToasts:o,heights:s,index:c,toasts:l,expanded:u,removeToast:d,defaultRichColors:f,closeButton:p,style:m,cancelButtonStyle:h,actionButtonStyle:g,className:_=``,descriptionClassName:v=``,duration:y,position:b,gap:x,expandByDefault:S,classNames:C,icons:w,closeButtonAriaLabel:T=`Close toast`}=e,[E,D]=B.useState(null),[O,k]=B.useState(null),[A,j]=B.useState(!1),[M,N]=B.useState(!1),[ee,P]=B.useState(!1),[F,te]=B.useState(!1),[ne,re]=B.useState(!1),[ie,ae]=B.useState(0),[oe,se]=B.useState(0),ce=B.useRef(n.duration||y||pi),le=B.useRef(null),I=B.useRef(null),ue=c===0,de=c+1<=o,L=n.type,R=n.dismissible!==!1,fe=n.className||``,pe=n.descriptionClassName||``,me=B.useMemo(()=>s.findIndex(e=>e.toastId===n.id)||0,[s,n.id]),he=B.useMemo(()=>n.closeButton??p,[n.closeButton,p]),ge=B.useMemo(()=>n.duration||y||pi,[n.duration,y]),_e=B.useRef(0),ve=B.useRef(0),z=B.useRef(0),ye=B.useRef(null),[V,be]=b.split(`-`),xe=B.useMemo(()=>s.reduce((e,t,n)=>n>=me?e:e+t.height,0),[s,me]),Se=ii(),Ce=n.invert||t,we=L===`loading`;ve.current=B.useMemo(()=>me*x+xe,[me,xe]),B.useEffect(()=>{ce.current=ge},[ge]),B.useEffect(()=>{j(!0)},[]),B.useEffect(()=>{let e=I.current;if(e){let t=e.getBoundingClientRect().height;return se(t),a(e=>[{toastId:n.id,height:t,position:n.position},...e]),()=>a(e=>e.filter(e=>e.toastId!==n.id))}},[a,n.id]),B.useLayoutEffect(()=>{if(!A)return;let e=I.current,t=e.style.height;e.style.height=`auto`;let r=e.getBoundingClientRect().height;e.style.height=t,se(r),a(e=>e.find(e=>e.toastId===n.id)?e.map(e=>e.toastId===n.id?{...e,height:r}:e):[{toastId:n.id,height:r,position:n.position},...e])},[A,n.title,n.description,a,n.id,n.jsx,n.action,n.cancel]);let H=B.useCallback(()=>{N(!0),ae(ve.current),a(e=>e.filter(e=>e.toastId!==n.id)),setTimeout(()=>{d(n)},_i)},[n,d,a,ve]);B.useEffect(()=>{if(n.promise&&L===`loading`||n.duration===1/0||n.type===`loading`)return;let e;return u||i||Se?(()=>{if(z.current<_e.current){let e=new Date().getTime()-_e.current;ce.current-=e}z.current=new Date().getTime()})():ce.current!==1/0&&(_e.current=new Date().getTime(),e=setTimeout(()=>{n.onAutoClose==null||n.onAutoClose.call(n,n),H()},ce.current)),()=>clearTimeout(e)},[u,i,n,L,Se,H]),B.useEffect(()=>{n.delete&&(H(),n.onDismiss==null||n.onDismiss.call(n,n))},[H,n.delete]);function U(){return w?.loading?B.createElement(`div`,{className:Q(C?.loader,n?.classNames?.loader,`sonner-loader`),"data-visible":L===`loading`},w.loading):B.createElement(Qr,{className:Q(C?.loader,n?.classNames?.loader),visible:L===`loading`})}let Te=n.icon||w?.[L]||Xr(L);return B.createElement(`li`,{tabIndex:0,ref:I,className:Q(_,fe,C?.toast,n?.classNames?.toast,C?.default,C?.[L],n?.classNames?.[L]),"data-sonner-toast":``,"data-rich-colors":n.richColors??f,"data-styled":!(n.jsx||n.unstyled||r),"data-mounted":A,"data-promise":!!n.promise,"data-swiped":ne,"data-removed":M,"data-visible":de,"data-y-position":V,"data-x-position":be,"data-index":c,"data-front":ue,"data-swiping":ee,"data-dismissible":R,"data-type":L,"data-invert":Ce,"data-swipe-out":F,"data-swipe-direction":O,"data-expanded":!!(u||S&&A),"data-testid":n.testId,style:{"--index":c,"--toasts-before":c,"--z-index":l.length-c,"--offset":`${M?ie:ve.current}px`,"--initial-height":S?`auto`:`${oe}px`,...m,...n.style},onDragEnd:()=>{P(!1),D(null),ye.current=null},onPointerDown:e=>{e.button!==2&&(we||!R||(le.current=new Date,ae(ve.current),e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(P(!0),ye.current={x:e.clientX,y:e.clientY})))},onPointerUp:()=>{if(F||!R)return;ye.current=null;let e=Number(I.current?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(I.current?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),r=new Date().getTime()-le.current?.getTime(),i=E===`x`?e:t,a=Math.abs(i)/r;if(Math.abs(i)>=gi||a>.11){ae(ve.current),n.onDismiss==null||n.onDismiss.call(n,n),k(E===`x`?e>0?`right`:`left`:t>0?`down`:`up`),H(),te(!0);return}else{var o,s;(o=I.current)==null||o.style.setProperty(`--swipe-amount-x`,`0px`),(s=I.current)==null||s.style.setProperty(`--swipe-amount-y`,`0px`)}re(!1),P(!1),D(null)},onPointerMove:t=>{var n,r;if(!ye.current||!R||window.getSelection()?.toString().length>0)return;let i=t.clientY-ye.current.y,a=t.clientX-ye.current.x,o=e.swipeDirections??vi(b);!E&&(Math.abs(a)>1||Math.abs(i)>1)&&D(Math.abs(a)>Math.abs(i)?`x`:`y`);let s={x:0,y:0},c=e=>1/(1.5+Math.abs(e)/20);if(E===`y`){if(o.includes(`top`)||o.includes(`bottom`))if(o.includes(`top`)&&i<0||o.includes(`bottom`)&&i>0)s.y=i;else{let e=i*c(i);s.y=Math.abs(e)<Math.abs(i)?e:i}}else if(E===`x`&&(o.includes(`left`)||o.includes(`right`)))if(o.includes(`left`)&&a<0||o.includes(`right`)&&a>0)s.x=a;else{let e=a*c(a);s.x=Math.abs(e)<Math.abs(a)?e:a}(Math.abs(s.x)>0||Math.abs(s.y)>0)&&re(!0),(n=I.current)==null||n.style.setProperty(`--swipe-amount-x`,`${s.x}px`),(r=I.current)==null||r.style.setProperty(`--swipe-amount-y`,`${s.y}px`)}},he&&!n.jsx&&L!==`loading`?B.createElement(`button`,{"aria-label":T,"data-disabled":we,"data-close-button":!0,onClick:we||!R?()=>{}:()=>{H(),n.onDismiss==null||n.onDismiss.call(n,n)},className:Q(C?.closeButton,n?.classNames?.closeButton)},w?.close??ri):null,(L||n.icon||n.promise)&&n.icon!==null&&(w?.[L]!==null||n.icon)?B.createElement(`div`,{"data-icon":``,className:Q(C?.icon,n?.classNames?.icon)},n.promise||n.type===`loading`&&!n.icon?n.icon||U():null,n.type===`loading`?null:Te):null,B.createElement(`div`,{"data-content":``,className:Q(C?.content,n?.classNames?.content)},B.createElement(`div`,{"data-title":``,className:Q(C?.title,n?.classNames?.title)},n.jsx?n.jsx:typeof n.title==`function`?n.title():n.title),n.description?B.createElement(`div`,{"data-description":``,className:Q(v,pe,C?.description,n?.classNames?.description)},typeof n.description==`function`?n.description():n.description):null),B.isValidElement(n.cancel)?n.cancel:n.cancel&&li(n.cancel)?B.createElement(`button`,{"data-button":!0,"data-cancel":!0,style:n.cancelButtonStyle||h,onClick:e=>{li(n.cancel)&&R&&(n.cancel.onClick==null||n.cancel.onClick.call(n.cancel,e),H())},className:Q(C?.cancelButton,n?.classNames?.cancelButton)},n.cancel.label):null,B.isValidElement(n.action)?n.action:n.action&&li(n.action)?B.createElement(`button`,{"data-button":!0,"data-action":!0,style:n.actionButtonStyle||g,onClick:e=>{li(n.action)&&(n.action.onClick==null||n.action.onClick.call(n.action,e),!e.defaultPrevented&&H())},className:Q(C?.actionButton,n?.classNames?.actionButton)},n.action.label):null)};function bi(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}function xi(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?fi:di;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var Si=B.forwardRef(function(e,t){let{id:n,invert:r,position:i=`bottom-right`,hotkey:a=[`altKey`,`KeyT`],expand:o,closeButton:s,className:c,offset:l,mobileOffset:u,theme:d=`light`,richColors:f,duration:p,style:m,visibleToasts:h=ui,toastOptions:g,dir:_=bi(),gap:v=hi,icons:y,containerAriaLabel:b=`Notifications`}=e,[x,S]=B.useState([]),C=B.useMemo(()=>n?x.filter(e=>e.toasterId===n):x.filter(e=>!e.toasterId),[x,n]),w=B.useMemo(()=>Array.from(new Set([i].concat(C.filter(e=>e.position).map(e=>e.position)))),[C,i]),[T,E]=B.useState([]),[D,O]=B.useState(!1),[k,A]=B.useState(!1),[j,M]=B.useState(d===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:d),N=B.useRef(null),ee=a.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),P=B.useRef(null),F=B.useRef(!1),te=B.useCallback(e=>{S(t=>(t.find(t=>t.id===e.id)?.delete||Z.dismiss(e.id),t.filter(({id:t})=>t!==e.id)))},[]);return B.useEffect(()=>Z.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{S(t=>t.map(t=>t.id===e.id?{...t,delete:!0}:t))});return}setTimeout(()=>{mn.flushSync(()=>{S(t=>{let n=t.findIndex(t=>t.id===e.id);return n===-1?[e,...t]:[...t.slice(0,n),{...t[n],...e},...t.slice(n+1)]})})})}),[x]),B.useEffect(()=>{if(d!==`system`){M(d);return}if(d===`system`&&(window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?M(`dark`):M(`light`)),typeof window>`u`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`);try{e.addEventListener(`change`,({matches:e})=>{M(e?`dark`:`light`)})}catch{e.addListener(({matches:e})=>{try{M(e?`dark`:`light`)}catch(e){console.error(e)}})}},[d]),B.useEffect(()=>{x.length<=1&&O(!1)},[x]),B.useEffect(()=>{let e=e=>{if(a.every(t=>e[t]||e.code===t)){var t;O(!0),(t=N.current)==null||t.focus()}e.code===`Escape`&&(document.activeElement===N.current||N.current?.contains(document.activeElement))&&O(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[a]),B.useEffect(()=>{if(N.current)return()=>{P.current&&(P.current.focus({preventScroll:!0}),P.current=null,F.current=!1)}},[N.current]),B.createElement(`section`,{ref:t,"aria-label":`${b} ${ee}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`,suppressHydrationWarning:!0},w.map((t,n)=>{let[i,a]=t.split(`-`);return C.length?B.createElement(`ol`,{key:t,dir:_===`auto`?bi():_,tabIndex:-1,ref:N,className:c,"data-sonner-toaster":!0,"data-sonner-theme":j,"data-y-position":i,"data-x-position":a,style:{"--front-toast-height":`${T[0]?.height||0}px`,"--width":`${mi}px`,"--gap":`${v}px`,...m,...xi(l,u)},onBlur:e=>{F.current&&!e.currentTarget.contains(e.relatedTarget)&&(F.current=!1,P.current&&=(P.current.focus({preventScroll:!0}),null))},onFocus:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||F.current||(F.current=!0,P.current=e.relatedTarget)},onMouseEnter:()=>O(!0),onMouseMove:()=>O(!0),onMouseLeave:()=>{k||O(!1)},onDragEnd:()=>O(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||A(!0)},onPointerUp:()=>A(!1)},C.filter(e=>!e.position&&n===0||e.position===t).map((n,i)=>B.createElement(yi,{key:n.id,icons:y,index:i,toast:n,defaultRichColors:f,duration:g?.duration??p,className:g?.className,descriptionClassName:g?.descriptionClassName,invert:r,visibleToasts:h,closeButton:g?.closeButton??s,interacting:k,position:t,style:g?.style,unstyled:g?.unstyled,classNames:g?.classNames,cancelButtonStyle:g?.cancelButtonStyle,actionButtonStyle:g?.actionButtonStyle,closeButtonAriaLabel:g?.closeButtonAriaLabel,removeToast:te,toasts:C.filter(e=>e.position==n.position),heights:T.filter(e=>e.position==n.position),setHeights:E,expandByDefault:o,gap:v,expanded:D,swipeDirections:e.swipeDirections}))):null}))}),Ci=({...e})=>(0,V.jsx)(Si,{theme:`dark`,className:`toaster group`,toastOptions:{classNames:{toast:`group toast group-[.toaster]:bg-[var(--app-panel)] group-[.toaster]:text-[var(--app-text)] group-[.toaster]:border-[var(--app-border)] group-[.toaster]:shadow-lg`,description:`group-[.toast]:text-[var(--app-text-muted)]`,actionButton:`group-[.toast]:bg-[var(--app-accent)] group-[.toast]:text-white`,cancelButton:`group-[.toast]:bg-[var(--app-panel-elevated)] group-[.toast]:text-[var(--app-text)]`}},...e}),wi=500,Ti=pe((e,t)=>({tasks:[],goals:[],strategies:[],templates:[],readiness:null,stats:{activeTasks:0,queuedTasks:0,totalCostToday:0},logs:[],configVersion:0,pendingPlanApproval:null,planTimeoutNotice:null,roles:[],executionPool:{active:0,max:5,queued:0},deliveryLog:[],wsConnected:!1,_ws:null,_wsReconnectDelay:1e3,fetchTasks:async t=>{let n=new URLSearchParams({limit:`100`});t&&n.set(`status`,t),e({tasks:(await z(`/tasks?${n}`)).tasks})},fetchGoals:async()=>{e({goals:(await z(`/goals`)).goals})},updateGoal:async(t,n)=>{let r=await z(`/goals/${t}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)});return e(e=>({goals:e.goals.map(e=>e.id===t?r.goal:e)})),r.goal},deleteGoal:async t=>{await z(`/goals/${t}`,{method:`DELETE`}),e(e=>({goals:e.goals.filter(e=>e.id!==t)}))},fetchStrategies:async()=>{e({strategies:(await z(`/strategies`)).strategies})},fetchTemplates:async()=>{e({templates:(await z(`/task-templates`)).templates})},fetchExecutionPool:async()=>{try{e({executionPool:(await z(`/stats`)).executionPool})}catch{}},fetchReadiness:async()=>{try{e({readiness:await(await fetch(`/readyz`)).json()})}catch{e({readiness:{status:`not_ready`,checks:{database:!1,config:!1}}})}},connectWebSocket:()=>{let n=t()._ws;if(n&&n.readyState<=1)return;let r=window.location.protocol===`https:`?`wss:`:`ws:`,i=me(),a=new URL(`${r}//${window.location.host}/events`);i&&a.searchParams.set(`api_key`,i);let o=new WebSocket(a.toString()),s=!1;o.onopen=()=>{s=!0,e({wsConnected:!0,_ws:o,_wsReconnectDelay:1e3})},o.onclose=async()=>{if(!s&&i&&!await ge(i).catch(()=>!0)){ve(),_e();return}let n=t()._wsReconnectDelay;e({wsConnected:!1,_ws:null,_wsReconnectDelay:Math.min(n*2,1e4)}),setTimeout(()=>{t().connectWebSocket()},n)},o.onerror=()=>{o.close()},o.onmessage=n=>{try{Ei(JSON.parse(n.data),e,t)}catch{}},e({_ws:o})},disconnectWebSocket:()=>{let n=t()._ws;n&&(n.close(),e({_ws:null,wsConnected:!1}))},addLog:t=>{e(e=>({logs:[...e.logs.slice(-(wi-1)),t]}))},addDeliveryLogEntry:t=>{e(e=>({deliveryLog:[t,...e.deliveryLog].slice(0,100)}))},approvePlan:async(t,n,r)=>{await z(`/tasks/${t}/approve-plan`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({planId:n,decision:`allow`,approvalType:r})}),e({pendingPlanApproval:null})},denyPlan:async(t,n,r)=>{await z(`/tasks/${t}/approve-plan`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({planId:n,decision:`deny`,reason:r??`rejected by user`})}),e({pendingPlanApproval:null})},clearPlanTimeoutNotice:()=>{e({planTimeoutNotice:null})},fetchRoles:async()=>{let{roles:t}=await z(`/roles`);e({roles:t})},createRole:async t=>{let n=await z(`/roles`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});return e(e=>({roles:[...e.roles,n.role]})),n.role},updateRole:async(t,n)=>{let r=await z(`/roles/${t}`,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(n)});return e(e=>({roles:e.roles.map(e=>e.id===t?{...e,...r.role}:e)})),r.role},deleteRole:async t=>{await z(`/roles/${t}`,{method:`DELETE`}),e(e=>({roles:e.roles.filter(e=>e.id!==t)}))}}));function Ei(e,t,n){switch(e.type){case`task_status_change`:t(t=>({tasks:t.tasks.map(t=>t.id===e.taskId?{...t,status:e.newStatus}:t)}));break;case`stats_update`:t(()=>({stats:{activeTasks:e.activeTasks,queuedTasks:e.queuedTasks,totalCostToday:e.totalCostToday}}));break;case`log_event`:n().addLog(e);break;case`goal_status_change`:t(t=>({goals:t.goals.map(t=>t.id===e.goalId?{...t,status:e.newStatus}:t)}));break;case`config_changed`:t(e=>({configVersion:e.configVersion+1}));break;case`execution_slot_change`:t(()=>({executionPool:{active:e.active,max:e.max,queued:e.queued}}));break;case`plan_approval_request`:t(()=>({pendingPlanApproval:{taskId:e.taskId,planId:e.planId,plan:e.plan}}));break;case`plan_approval_decision`:n().pendingPlanApproval?.planId===e.planId&&t(()=>({pendingPlanApproval:null}));break;case`delivery_status_change`:n().addDeliveryLogEntry(e);break}}function Di(){let[e,n]=(0,B.useState)(!1),r=k(),i=Ti(e=>e.wsConnected),a=Ti(e=>e.connectWebSocket),o=Ti(e=>e.fetchReadiness),s=Ce(r.pathname);(0,B.useEffect)(()=>{a(),o();let e=setInterval(o,3e4);return()=>clearInterval(e)},[a,o]);let c=(0,B.useCallback)(()=>n(!1),[]);return(0,V.jsxs)(`div`,{className:`flex h-screen overflow-hidden`,children:[(0,V.jsx)(`a`,{href:`#main-content`,className:`sr-only focus:not-sr-only focus:fixed focus:left-4 focus:top-4 focus:z-50 focus:rounded-md focus:bg-[var(--app-accent)] focus:px-4 focus:py-2 focus:text-sm focus:font-medium focus:text-white focus:outline-none`,children:`Skip to content`}),(0,V.jsx)(`div`,{className:`hidden lg:block`,children:(0,V.jsx)(Jr,{})}),e&&(0,V.jsxs)(`div`,{className:`fixed inset-0 z-40 lg:hidden`,children:[(0,V.jsx)(`div`,{className:`absolute inset-0 bg-black/60`,onClick:c}),(0,V.jsx)(`div`,{className:`relative z-50 h-full w-60`,children:(0,V.jsx)(Jr,{onNavigate:c})})]}),(0,V.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,V.jsx)(`header`,{className:`border-b border-[var(--app-border)] bg-[var(--app-header-bg)] px-4 py-2.5 lg:px-6`,children:(0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,V.jsx)(`button`,{className:`text-[var(--app-text-subtle)] transition-colors hover:text-[var(--app-text)] lg:hidden`,onClick:()=>n(!e),"aria-label":e?`Close menu`:`Open menu`,children:e?(0,V.jsx)(p,{size:20}):(0,V.jsx)(t,{size:20})}),(0,V.jsx)(`div`,{className:`min-w-0 flex-1`,children:(0,V.jsxs)(`p`,{className:`text-sm text-[var(--app-text-muted)]`,children:[(0,V.jsx)(`span`,{className:`text-[var(--app-text)]`,children:s.section}),(0,V.jsx)(`span`,{className:`mx-1.5 text-[var(--app-text-subtle)]`,children:`/`}),(0,V.jsx)(`span`,{className:`font-medium text-[var(--app-text)]`,children:s.title})]})}),(0,V.jsx)(`div`,{className:`surface-panel-muted flex items-center gap-2 rounded-full px-3 py-1 text-xs`,"aria-live":`polite`,children:i?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(m,{size:14,className:`text-[var(--app-success)]`}),(0,V.jsx)(`span`,{className:`text-[var(--app-text)]`,children:`Connected`})]}):(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(l,{size:14,className:`text-[var(--app-danger)]`}),(0,V.jsx)(`span`,{className:`text-[var(--app-text)]`,children:`Disconnected`})]})})]})}),(0,V.jsx)(`main`,{id:`main-content`,role:`main`,className:`flex-1 overflow-y-auto p-4 lg:p-5`,children:(0,V.jsx)(y,{})})]}),(0,V.jsx)(Ci,{position:`bottom-center`})]})}var Oi=M(`inline-flex items-center rounded-md px-2 py-0.5 text-xs font-medium transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2`,{variants:{variant:{default:`bg-[var(--app-panel-muted)] text-[var(--app-text)]`,secondary:`bg-[var(--app-panel-elevated)] text-[var(--app-text-muted)]`,destructive:`bg-[var(--app-danger-soft-bg)] text-[var(--app-danger)] border border-[var(--app-danger-soft-border)]`,outline:`border border-[var(--app-border)] text-[var(--app-text)]`,success:`bg-[var(--app-success-soft-bg)] text-[var(--app-success)] border border-[var(--app-success-soft-border)]`,warning:`bg-[var(--app-warning-soft-bg)] text-[var(--app-warning)] border border-[var(--app-warning-soft-border)]`,info:`bg-[var(--app-accent-soft-bg)] text-[var(--app-accent)] border border-[var(--app-accent-soft-border)]`,muted:`bg-[var(--app-panel-elevated)] text-[var(--app-text-subtle)]`}},defaultVariants:{variant:`default`}});function ki({className:e,variant:t=`default`,...n}){return(0,V.jsx)(`span`,{className:A(Oi({variant:t}),e),...n})}function Ai(e){switch(e){case`blocked`:return`warning`;case`completed`:case`ready`:case`idle`:return`success`;case`running`:case`busy`:case`executing`:case`planning`:case`evaluating`:case`replanning`:return`info`;case`pending`:case`queued`:case`paused`:case`degraded`:return`warning`;case`failed`:case`cancelled`:case`dead`:case`not_ready`:return`destructive`;default:return`muted`}}var ji=300;function Mi(e){return e===`high`?`destructive`:e===`medium`?`outline`:`secondary`}function Ni(){let e=Ti(e=>e.pendingPlanApproval),t=Ti(e=>e.approvePlan),n=Ti(e=>e.denyPlan),r=Ti(e=>e.planTimeoutNotice),i=Ti(e=>e.clearPlanTimeoutNotice),[a,o]=(0,B.useState)(ji),[s,c]=(0,B.useState)(!1);(0,B.useEffect)(()=>{if(!e){o(ji),c(!1);return}let t=setInterval(()=>{o(e=>e<=1?(clearInterval(t),0):e-1)},1e3);return()=>clearInterval(t)},[e?.planId]),(0,B.useEffect)(()=>{a===0&&e&&!s&&(c(!0),n(e.taskId,e.planId,`timeout`).catch(()=>{}))},[a,e,s,n]);let l=async n=>{if(e){c(!0);try{await t(e.taskId,e.planId,n)}catch{c(!1)}}},u=async()=>{if(e){c(!0);try{await n(e.taskId,e.planId)}catch{c(!1)}}},d=e?.plan;return(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(I,{open:!!e,children:(0,V.jsxs)(ae,{className:`max-w-2xl max-h-[80vh] overflow-y-auto`,children:[(0,V.jsxs)(le,{children:[(0,V.jsxs)(F,{className:`flex items-center gap-2`,children:[`Execution Plan — Approval Required`,d&&(0,V.jsxs)(ki,{variant:Mi(d.overallRisk),children:[d.overallRisk.toUpperCase(),` RISK`]})]}),(0,V.jsxs)(ee,{className:`text-xs text-[var(--app-text-muted)]`,children:[`Plan `,e?.planId,` | Task `,e?.taskId,` | `,a,`s remaining`]})]}),d&&(0,V.jsxs)(`div`,{className:`space-y-4 py-2`,children:[(0,V.jsxs)(`div`,{children:[(0,V.jsxs)(`h4`,{className:`text-sm font-medium text-[var(--app-text)] mb-2`,children:[`Plan Steps (`,d.steps.length,`)`]}),(0,V.jsx)(`div`,{className:`space-y-2`,children:d.steps.map(e=>(0,V.jsxs)(`div`,{className:`rounded-md border border-[var(--app-border)] bg-[var(--app-panel-elevated)]/50 p-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-start justify-between gap-2`,children:[(0,V.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,V.jsxs)(`span`,{className:`text-xs font-mono text-[var(--app-text-subtle)]`,children:[`#`,e.index]}),(0,V.jsx)(`span`,{className:`text-sm text-[var(--app-text)]`,children:e.description})]}),(0,V.jsx)(ki,{variant:Mi(e.riskLevel),children:e.riskLevel})]}),(0,V.jsxs)(`div`,{className:`mt-1 text-xs text-[var(--app-text-muted)]`,children:[`Tools: `,e.toolsNeeded.join(`, `)||`none`]})]},e.index))})]}),Object.keys(d.requiredPermissions).length>0&&(0,V.jsxs)(`div`,{children:[(0,V.jsx)(`h4`,{className:`text-sm font-medium text-[var(--app-text)] mb-1`,children:`Required Permissions`}),(0,V.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:Object.keys(d.requiredPermissions).map(e=>(0,V.jsx)(ki,{variant:`secondary`,children:e},e))})]})]}),(0,V.jsxs)(se,{children:[(0,V.jsx)(fe,{variant:`destructive`,onClick:u,disabled:s,children:`Deny`}),(0,V.jsx)(fe,{variant:`outline`,onClick:()=>l(`permanent`),disabled:s,children:`Allow Permanent`}),(0,V.jsx)(fe,{onClick:()=>l(`once`),disabled:s,children:`Allow Once`})]})]})}),r&&(0,V.jsxs)(`div`,{className:`fixed bottom-4 right-4 z-50 rounded-md border border-[var(--app-warning-soft-border)] bg-[var(--app-warning-soft-bg)] px-4 py-2 text-sm text-[var(--app-warning-soft-text)] shadow-[var(--app-shadow-lg)]`,children:[r,(0,V.jsx)(`button`,{className:`ml-3 text-[var(--app-warning)] hover:text-[var(--app-warning-soft-text)]`,onClick:i,children:`Dismiss`})]})]})}function $(e){return(0,B.lazy)(()=>e().catch(e=>{let t=`chunk-reload-`+window.location.pathname;if(!sessionStorage.getItem(t))return sessionStorage.setItem(t,`1`),window.location.reload(),new Promise(()=>{});throw sessionStorage.removeItem(t),e}))}function Pi(){let[e,t]=(0,B.useState)(``),[n,r]=(0,B.useState)(null),[i,a]=(0,B.useState)(!1),o=new URLSearchParams(window.location.search).get(`returnTo`)??`/ui`;async function s(t){t.preventDefault();let n=e.trim();if(!n){r(`API key is required`);return}r(null),a(!0);try{if(!await ge(n)){r(`Invalid API key`),a(!1);return}he(n),window.location.href=o}catch(e){r(e instanceof Error?e.message:`Verification failed`),a(!1)}}return(0,V.jsx)(`div`,{className:`flex h-screen items-center justify-center bg-[var(--app-bg)] text-[var(--app-fg)]`,children:(0,V.jsxs)(`form`,{onSubmit:s,className:`w-full max-w-md rounded-lg border border-[var(--app-border)] bg-[var(--app-panel)] p-8 shadow-lg`,children:[(0,V.jsx)(`h1`,{className:`mb-2 text-2xl font-semibold`,children:`Adam — Sign in`}),(0,V.jsx)(`p`,{className:`mb-6 text-sm text-[var(--app-muted)]`,children:`Paste your API key to continue.`}),(0,V.jsx)(`label`,{className:`mb-1 block text-sm font-medium`,children:`API key`}),(0,V.jsx)(`input`,{type:`password`,value:e,onChange:e=>t(e.target.value),placeholder:`64-character hex string`,className:`mb-4 w-full rounded border border-[var(--app-border)] bg-[var(--app-bg)] px-3 py-2 font-mono text-sm outline-none focus:border-[var(--app-accent)]`,autoFocus:!0,disabled:i}),n&&(0,V.jsx)(`div`,{className:`mb-4 rounded border border-red-500/30 bg-red-500/10 px-3 py-2 text-sm text-red-400`,children:n}),(0,V.jsx)(`button`,{type:`submit`,disabled:i,className:`w-full rounded bg-[var(--app-accent)] px-4 py-2 font-medium text-[var(--app-accent-fg)] transition hover:opacity-90 disabled:opacity-50`,children:i?`Verifying...`:`Sign in`}),(0,V.jsxs)(`details`,{className:`mt-6 text-xs text-[var(--app-muted)]`,children:[(0,V.jsx)(`summary`,{className:`cursor-pointer select-none`,children:`Where do I find my API key?`}),(0,V.jsxs)(`div`,{className:`mt-2 space-y-1 leading-relaxed`,children:[(0,V.jsxs)(`p`,{children:[`Adam generates a random API key on first boot and stores it at`,` `,(0,V.jsx)(`code`,{className:`rounded bg-[var(--app-bg)] px-1`,children:`~/.adam/adam.key`}),`.`]}),(0,V.jsxs)(`p`,{children:[`Local: `,(0,V.jsx)(`code`,{className:`rounded bg-[var(--app-bg)] px-1`,children:`cat ~/.adam/adam.key`})]}),(0,V.jsxs)(`p`,{children:[`Remote (VPS): `,(0,V.jsx)(`code`,{className:`rounded bg-[var(--app-bg)] px-1`,children:`ssh <host> cat ~/.adam/adam.key`})]}),(0,V.jsx)(`p`,{children:`Rotation resets all logged-in sessions. Do it from Settings → API Key.`})]})]})]})})}var Fi=$(()=>E(()=>import(`./Dashboard-HR4Qmdwg.js`).then(e=>({default:e.Dashboard})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]))),Ii=$(()=>E(()=>import(`./Chat-BZpf1DSF.js`).then(e=>({default:e.Chat})),__vite__mapDeps([10,1,2,3,11,6,4,5,12,13,9,14,15]))),Li=$(()=>E(()=>import(`./Work-Corw0ITh.js`).then(e=>({default:e.Work})),__vite__mapDeps([16,1,2,3,17,11,6,18,4,5,7,8,12,19,13,9,20,14,15]))),Ri=$(()=>E(()=>import(`./TaskDetail-CHwHgfZq.js`).then(e=>({default:e.TaskDetail})),__vite__mapDeps([21,1,2,3,11,6,5,7,8,13,9,14]))),zi=$(()=>E(()=>import(`./Plugins-BuE7GImW.js`).then(e=>({default:e.Plugins})),__vite__mapDeps([22,1,2,3,11,6,5,7,8,12,20,13,9,14,15]))),Bi=$(()=>E(()=>import(`./Strategies-Ddb5HiUS.js`).then(e=>({default:e.Strategies})),__vite__mapDeps([23,1,2,3,11,6,5,8,12,20,9]))),Vi=$(()=>E(()=>import(`./Goals-DYrggK-M.js`).then(e=>({default:e.Goals})),__vite__mapDeps([19,1,2,3,17,11,6,5,8,12,13,9]))),Hi=$(()=>E(()=>import(`./Logs-CvFC-GbD.js`).then(e=>({default:e.Logs})),__vite__mapDeps([24,1,2,3,11,6,5,8,12,14]))),Ui=$(()=>E(()=>import(`./Settings-BblOdOih.js`).then(e=>({default:e.Settings})),__vite__mapDeps([25,1,2,3,17,11,6,26,8,13,14,5,7,12,9]))),Wi=$(()=>E(()=>import(`./Memories-B5pvI6Oj.js`).then(e=>({default:e.Memories})),__vite__mapDeps([27,1,2,3,11,6,5,7,8,12,13,9]))),Gi=$(()=>E(()=>import(`./Evolution-CUn8g34X.js`).then(e=>({default:e.Evolution})),__vite__mapDeps([28,1,2,3,11,6,5,8,12,13,9]))),Ki=$(()=>E(()=>import(`./Channels-CLhgGEmS.js`).then(e=>({default:e.Channels})),__vite__mapDeps([29,1,2,3,11,6,5,7,8,12,13,14]))),qi=$(()=>E(()=>import(`./GoalDetail-DgPvXb6z.js`).then(e=>({default:e.GoalDetail})),__vite__mapDeps([30,1,2,3,5,6,7,8,13,9]))),Ji=$(()=>E(()=>import(`./ChannelDetail-BaSlX2yb.js`).then(e=>({default:e.ChannelDetail})),__vite__mapDeps([31,1,2,3,5,6,7,8,13,9]))),Yi=$(()=>E(()=>import(`./Roles-C5eVA6LM.js`).then(e=>({default:e.Roles})),__vite__mapDeps([32,1,2,3,11,6,5,7,8,12,20,9,15]))),Xi=$(()=>E(()=>import(`./RoleDetail-BBJxaZip.js`).then(e=>({default:e.RoleDetail})),__vite__mapDeps([33,1,2,3,17,11,6,18,26,8,13,14,5,7,20,9,15]))),Zi=$(()=>E(()=>import(`./NotFound-D-OII_Lp.js`),__vite__mapDeps([34,2,1,3]))),Qi=$(()=>E(()=>import(`./Events-IeznRpCj.js`).then(e=>({default:e.Events})),__vite__mapDeps([35,1,2,3,17,11,6,18,7,8,12,20,13,9]))),$i=$(()=>E(()=>import(`./EventDefDetail-CjoqsH0e.js`).then(e=>({default:e.EventDefDetail})),__vite__mapDeps([36,1,2,3,11,6,7,8,12,20,13])));function ea(){return(0,V.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,V.jsx)(`div`,{className:`h-8 w-8 animate-spin rounded-full border-2 border-[var(--app-border)] border-t-[var(--app-accent)]`})})}function ta(){let e=window.location.pathname,t=me();return e===`/ui/login`||!t?(0,V.jsx)(Pi,{}):(0,V.jsxs)(B.Suspense,{fallback:(0,V.jsx)(ea,{}),children:[(0,V.jsxs)(D,{children:[(0,V.jsx)(T,{path:`login`,element:(0,V.jsx)(Pi,{})}),(0,V.jsxs)(T,{element:(0,V.jsx)(Di,{}),children:[(0,V.jsx)(T,{index:!0,element:(0,V.jsx)(Fi,{})}),(0,V.jsx)(T,{path:`chat`,element:(0,V.jsx)(Ii,{})}),(0,V.jsx)(T,{path:`work`,element:(0,V.jsx)(Li,{})}),(0,V.jsx)(T,{path:`tasks/:id`,element:(0,V.jsx)(Ri,{})}),(0,V.jsx)(T,{path:`plugins`,element:(0,V.jsx)(zi,{})}),(0,V.jsx)(T,{path:`roles`,element:(0,V.jsx)(Yi,{})}),(0,V.jsx)(T,{path:`roles/:id`,element:(0,V.jsx)(Xi,{})}),(0,V.jsx)(T,{path:`events`,element:(0,V.jsx)(Qi,{})}),(0,V.jsx)(T,{path:`events/:id`,element:(0,V.jsx)($i,{})}),(0,V.jsx)(T,{path:`channels`,element:(0,V.jsx)(Ki,{})}),(0,V.jsx)(T,{path:`channels/:id`,element:(0,V.jsx)(Ji,{})}),(0,V.jsx)(T,{path:`strategies`,element:(0,V.jsx)(Bi,{})}),(0,V.jsx)(T,{path:`goals`,element:(0,V.jsx)(Vi,{})}),(0,V.jsx)(T,{path:`goals/:id`,element:(0,V.jsx)(qi,{})}),(0,V.jsx)(T,{path:`logs`,element:(0,V.jsx)(Hi,{})}),(0,V.jsx)(T,{path:`settings`,element:(0,V.jsx)(Ui,{})}),(0,V.jsx)(T,{path:`memories`,element:(0,V.jsx)(Wi,{})}),(0,V.jsx)(T,{path:`evolution`,element:(0,V.jsx)(Gi,{})}),(0,V.jsx)(T,{path:`*`,element:(0,V.jsx)(Zi,{})})]})]}),(0,V.jsx)(Ni,{})]})}var na=b([{path:`*`,element:(0,V.jsx)(ta,{})}],{basename:`/ui`});(0,ye.createRoot)(document.getElementById(`root`)).render((0,V.jsx)(B.StrictMode,{children:(0,V.jsx)(be,{children:(0,V.jsx)(w,{router:na})})}));export{Mn as a,ci as i,Ai as n,Ti as r,ki as t};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-space-x-reverse:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace;--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-400:oklch(85.2% .199 91.936);--color-green-400:oklch(79.2% .209 151.711);--color-green-900:oklch(39.3% .095 152.535);--color-emerald-500:oklch(69.6% .17 162.48);--color-blue-500:oklch(62.3% .214 259.815);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-800:oklch(27.8% .033 256.848);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-\[50\%\]{top:50%}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-2{left:calc(var(--spacing) * 2)}.left-2\.5{left:calc(var(--spacing) * 2.5)}.left-\[50\%\]{left:50%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mx-1\.5{margin-inline:calc(var(--spacing) * 1.5)}.mx-4{margin-inline:calc(var(--spacing) * 4)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-64{height:calc(var(--spacing) * 64)}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-96{max-height:calc(var(--spacing) * 96)}.max-h-\[80vh\]{max-height:80vh}.max-h-\[calc\(100vh-280px\)\]{max-height:calc(100vh - 280px)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-12{min-height:calc(var(--spacing) * 12)}.min-h-\[10rem\]{min-height:10rem}.min-h-\[24rem\]{min-height:24rem}.w-0\.5{width:calc(var(--spacing) * .5)}.w-2{width:calc(var(--spacing) * 2)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-6{width:calc(var(--spacing) * 6)}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-20{width:calc(var(--spacing) * 20)}.w-28{width:calc(var(--spacing) * 28)}.w-60{width:calc(var(--spacing) * 60)}.w-64{width:calc(var(--spacing) * 64)}.w-72{width:calc(var(--spacing) * 72)}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-\[70\%\]{max-width:70%}.max-w-\[85\%\]{max-width:85%}.max-w-\[120px\]{max-width:120px}.max-w-\[200px\]{max-width:200px}.max-w-\[280px\]{max-width:280px}.max-w-\[300px\]{max-width:300px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[8rem\]{min-width:8rem}.min-w-\[140px\]{min-width:140px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-75{--tw-scale-x:75%;--tw-scale-y:75%;--tw-scale-z:75%;scale:var(--tw-scale-x) var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[minmax\(0\,1fr\)_auto_auto\]{grid-template-columns:minmax(0,1fr) auto auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-\[var\(--app-border\)\]>:not(:last-child)){border-color:var(--app-border)}.self-end{align-self:flex-end}.self-start{align-self:flex-start}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:1rem}.rounded-md{border-radius:.75rem}.rounded-sm{border-radius:.5rem}.rounded-xl{border-radius:1.4rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-\[var\(--app-accent\)\],.border-\[var\(--app-accent\)\]\/40{border-color:var(--app-accent)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--app-accent\)\]\/40{border-color:color-mix(in oklab, var(--app-accent) 40%, transparent)}}.border-\[var\(--app-accent-soft-border\)\]{border-color:var(--app-accent-soft-border)}.border-\[var\(--app-accent-strong\)\]{border-color:var(--app-accent-strong)}.border-\[var\(--app-border\)\]{border-color:var(--app-border)}.border-\[var\(--app-border-strong\)\]{border-color:var(--app-border-strong)}.border-\[var\(--app-danger\)\],.border-\[var\(--app-danger\)\]\/40{border-color:var(--app-danger)}@supports (color:color-mix(in lab, red, red)){.border-\[var\(--app-danger\)\]\/40{border-color:color-mix(in oklab, var(--app-danger) 40%, transparent)}}.border-\[var\(--app-danger-soft-border\)\]{border-color:var(--app-danger-soft-border)}.border-\[var\(--app-success-soft-border\)\]{border-color:var(--app-success-soft-border)}.border-\[var\(--app-warning-soft-border\)\]{border-color:var(--app-warning-soft-border)}.border-red-500\/30{border-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.border-red-500\/30{border-color:color-mix(in oklab, var(--color-red-500) 30%, transparent)}}.border-transparent{border-color:#0000}.border-white\/12{border-color:#ffffff1f}@supports (color:color-mix(in lab, red, red)){.border-white\/12{border-color:color-mix(in oklab, var(--color-white) 12%, transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.border-t-\[var\(--app-accent\)\]{border-top-color:var(--app-accent)}.bg-\[color-mix\(in_oklch\,var\(--app-canvas\)_88\%\,transparent\)\]{background-color:var(--app-canvas)}@supports (color:color-mix(in lab, red, red)){.bg-\[color-mix\(in_oklch\,var\(--app-canvas\)_88\%\,transparent\)\]{background-color:color-mix(in oklch,var(--app-canvas) 88%,transparent)}}.bg-\[color-mix\(in_oklch\,var\(--app-canvas\)_90\%\,transparent\)\]{background-color:var(--app-canvas)}@supports (color:color-mix(in lab, red, red)){.bg-\[color-mix\(in_oklch\,var\(--app-canvas\)_90\%\,transparent\)\]{background-color:color-mix(in oklch,var(--app-canvas) 90%,transparent)}}.bg-\[var\(--app-accent\)\],.bg-\[var\(--app-accent\)\]\/8{background-color:var(--app-accent)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--app-accent\)\]\/8{background-color:color-mix(in oklab, var(--app-accent) 8%, transparent)}}.bg-\[var\(--app-accent-soft-bg\)\]{background-color:var(--app-accent-soft-bg)}.bg-\[var\(--app-bg\)\]{background-color:var(--app-bg)}.bg-\[var\(--app-border\)\]{background-color:var(--app-border)}.bg-\[var\(--app-canvas\)\],.bg-\[var\(--app-canvas\)\]\/40{background-color:var(--app-canvas)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--app-canvas\)\]\/40{background-color:color-mix(in oklab, var(--app-canvas) 40%, transparent)}}.bg-\[var\(--app-canvas\)\]\/50{background-color:var(--app-canvas)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--app-canvas\)\]\/50{background-color:color-mix(in oklab, var(--app-canvas) 50%, transparent)}}.bg-\[var\(--app-danger\)\],.bg-\[var\(--app-danger\)\]\/10{background-color:var(--app-danger)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--app-danger\)\]\/10{background-color:color-mix(in oklab, var(--app-danger) 10%, transparent)}}.bg-\[var\(--app-danger-soft-bg\)\]{background-color:var(--app-danger-soft-bg)}.bg-\[var\(--app-danger-soft-bg-subtle\)\]{background-color:var(--app-danger-soft-bg-subtle)}.bg-\[var\(--app-header-bg\)\]{background-color:var(--app-header-bg)}.bg-\[var\(--app-panel\)\],.bg-\[var\(--app-panel\)\]\/50{background-color:var(--app-panel)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--app-panel\)\]\/50{background-color:color-mix(in oklab, var(--app-panel) 50%, transparent)}}.bg-\[var\(--app-panel\)\]\/60{background-color:var(--app-panel)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--app-panel\)\]\/60{background-color:color-mix(in oklab, var(--app-panel) 60%, transparent)}}.bg-\[var\(--app-panel-elevated\)\],.bg-\[var\(--app-panel-elevated\)\]\/50{background-color:var(--app-panel-elevated)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--app-panel-elevated\)\]\/50{background-color:color-mix(in oklab, var(--app-panel-elevated) 50%, transparent)}}.bg-\[var\(--app-panel-muted\)\]{background-color:var(--app-panel-muted)}.bg-\[var\(--app-sidebar-bg\)\]{background-color:var(--app-sidebar-bg)}.bg-\[var\(--app-success\)\]{background-color:var(--app-success)}.bg-\[var\(--app-success-soft-bg\)\]{background-color:var(--app-success-soft-bg)}.bg-\[var\(--app-warning-soft-bg\)\]{background-color:var(--app-warning-soft-bg)}.bg-\[var\(--app-warning-soft-bg-subtle\)\]{background-color:var(--app-warning-soft-bg-subtle)}.bg-black{background-color:var(--color-black)}.bg-black\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-black\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-gray-800\/30{background-color:#1e29394d}@supports (color:color-mix(in lab, red, red)){.bg-gray-800\/30{background-color:color-mix(in oklab, var(--color-gray-800) 30%, transparent)}}.bg-green-900\/30{background-color:#0d542b4d}@supports (color:color-mix(in lab, red, red)){.bg-green-900\/30{background-color:color-mix(in oklab, var(--color-green-900) 30%, transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\/10{background-color:color-mix(in oklab, var(--color-red-500) 10%, transparent)}}.bg-slate-950{background-color:var(--color-slate-950)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-white\/\[0\.03\]{background-color:#ffffff08}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.03\]{background-color:color-mix(in oklab, var(--color-white) 3%, transparent)}}.bg-white\/\[0\.04\]{background-color:#ffffff0a}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.04\]{background-color:color-mix(in oklab, var(--color-white) 4%, transparent)}}.bg-white\/\[0\.05\]{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.05\]{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.bg-white\/\[0\.06\]{background-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.06\]{background-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.bg-white\/\[0\.08\]{background-color:#ffffff14}@supports (color:color-mix(in lab, red, red)){.bg-white\/\[0\.08\]{background-color:color-mix(in oklab, var(--color-white) 8%, transparent)}}.fill-\[var\(--app-danger\)\]{fill:var(--app-danger)}.fill-\[var\(--app-success\)\]{fill:var(--app-success)}.fill-current{fill:currentColor}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:calc(var(--spacing) * 1)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.16em\]{--tw-tracking:.16em;letter-spacing:.16em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[var\(--app-tracking-micro\)\]{--tw-tracking:var(--app-tracking-micro);letter-spacing:var(--app-tracking-micro)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--app-accent\)\]{color:var(--app-accent)}.text-\[var\(--app-accent-fg\)\]{color:var(--app-accent-fg)}.text-\[var\(--app-accent-strong\)\]{color:var(--app-accent-strong)}.text-\[var\(--app-danger\)\]{color:var(--app-danger)}.text-\[var\(--app-danger-soft-text\)\]{color:var(--app-danger-soft-text)}.text-\[var\(--app-fg\)\]{color:var(--app-fg)}.text-\[var\(--app-indicator-alert\)\]{color:var(--app-indicator-alert)}.text-\[var\(--app-kicker\)\]{color:var(--app-kicker)}.text-\[var\(--app-log-adam\)\]{color:var(--app-log-adam)}.text-\[var\(--app-log-embedding\)\]{color:var(--app-log-embedding)}.text-\[var\(--app-log-manager\)\]{color:var(--app-log-manager)}.text-\[var\(--app-log-scheduler\)\]{color:var(--app-log-scheduler)}.text-\[var\(--app-log-store\)\]{color:var(--app-log-store)}.text-\[var\(--app-log-ws\)\]{color:var(--app-log-ws)}.text-\[var\(--app-muted\)\]{color:var(--app-muted)}.text-\[var\(--app-success\)\]{color:var(--app-success)}.text-\[var\(--app-success-soft-text\)\]{color:var(--app-success-soft-text)}.text-\[var\(--app-text\)\]{color:var(--app-text)}.text-\[var\(--app-text-muted\)\]{color:var(--app-text-muted)}.text-\[var\(--app-text-subtle\)\]{color:var(--app-text-subtle)}.text-\[var\(--app-warning\)\]{color:var(--app-warning)}.text-\[var\(--app-warning-soft-text\)\]{color:var(--app-warning-soft-text)}.text-\[var\(--app-warning-strong\)\]{color:var(--app-warning-strong)}.text-blue-500{color:var(--color-blue-500)}.text-gray-400{color:var(--color-gray-400)}.text-green-400{color:var(--color-green-400)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-slate-100{color:var(--color-slate-100)}.text-white{color:var(--color-white)}.text-white\/45{color:#ffffff73}@supports (color:color-mix(in lab, red, red)){.text-white\/45{color:color-mix(in oklab, var(--color-white) 45%, transparent)}}.text-white\/62{color:#ffffff9e}@supports (color:color-mix(in lab, red, red)){.text-white\/62{color:color-mix(in oklab, var(--color-white) 62%, transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.text-white\/70{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.text-white\/76{color:#ffffffc2}@supports (color:color-mix(in lab, red, red)){.text-white\/76{color:color-mix(in oklab, var(--color-white) 76%, transparent)}}.text-yellow-400{color:var(--color-yellow-400)}.capitalize{text-transform:capitalize}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.placeholder-slate-500::placeholder{color:var(--color-slate-500)}.placeholder-slate-600::placeholder{color:var(--color-slate-600)}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow-\[var\(--app-shadow-accent\)\]{--tw-shadow:var(--app-shadow-accent);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--app-shadow-danger\)\]{--tw-shadow:var(--app-shadow-danger);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--app-shadow-lg\)\]{--tw-shadow:var(--app-shadow-lg);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[var\(--app-shadow-md\)\]{--tw-shadow:var(--app-shadow-md);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-0{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-\[var\(--app-danger\)\]{--tw-ring-color:var(--app-danger)}.ring-offset-\[var\(--app-canvas\)\]{--tw-ring-offset-color:var(--app-canvas)}.ring-offset-slate-950{--tw-ring-offset-color:var(--color-slate-950)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,border-color\,color\,box-shadow\]{transition-property:background-color,border-color,color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,color\,box-shadow\]{transition-property:background-color,color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.duration-200{animation-duration:.2s}.fade-in-0{--tw-enter-opacity:0}.paused{animation-play-state:paused}.running{animation-play-state:running}.slide-in-from-left-1\/2{--tw-enter-translate-x:-50%}.slide-in-from-top-\[48\%\]{--tw-enter-translate-y:-48%}.slide-out-to-left-1\/2{--tw-exit-translate-x:-50%}.slide-out-to-top-\[48\%\]{--tw-exit-translate-y:-48%}.zoom-in-95{--tw-enter-scale:.95}@media (hover:hover){.group-hover\/install\:block:is(:where(.group\/install):hover *){display:block}}.group-\[\.toast\]\:bg-\[var\(--app-accent\)\]:is(:where(.group).toast *){background-color:var(--app-accent)}.group-\[\.toast\]\:bg-\[var\(--app-panel-elevated\)\]:is(:where(.group).toast *){background-color:var(--app-panel-elevated)}.group-\[\.toast\]\:text-\[var\(--app-text\)\]:is(:where(.group).toast *){color:var(--app-text)}.group-\[\.toast\]\:text-\[var\(--app-text-muted\)\]:is(:where(.group).toast *){color:var(--app-text-muted)}.group-\[\.toast\]\:text-white:is(:where(.group).toast *){color:var(--color-white)}.group-\[\.toaster\]\:border-\[var\(--app-border\)\]:is(:where(.group).toaster *){border-color:var(--app-border)}.group-\[\.toaster\]\:bg-\[var\(--app-panel\)\]:is(:where(.group).toaster *){background-color:var(--app-panel)}.group-\[\.toaster\]\:text-\[var\(--app-text\)\]:is(:where(.group).toaster *){color:var(--app-text)}.group-\[\.toaster\]\:shadow-lg:is(:where(.group).toaster *){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.placeholder\:text-\[var\(--app-text-subtle\)\]::placeholder{color:var(--app-text-subtle)}@media (hover:hover){.hover\:border-\[var\(--app-border\)\]:hover{border-color:var(--app-border)}.hover\:border-\[var\(--app-border-strong\)\]:hover{border-color:var(--app-border-strong)}.hover\:border-\[var\(--app-text-muted\)\]:hover{border-color:var(--app-text-muted)}.hover\:bg-\[var\(--app-accent\)\]:hover{background-color:var(--app-accent)}.hover\:bg-\[var\(--app-accent-strong\)\]:hover{background-color:var(--app-accent-strong)}.hover\:bg-\[var\(--app-danger\)\]:hover{background-color:var(--app-danger)}.hover\:bg-\[var\(--app-danger-strong\)\]:hover{background-color:var(--app-danger-strong)}.hover\:bg-\[var\(--app-panel-elevated\)\]:hover,.hover\:bg-\[var\(--app-panel-elevated\)\]\/30:hover{background-color:var(--app-panel-elevated)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-\[var\(--app-panel-elevated\)\]\/30:hover{background-color:color-mix(in oklab, var(--app-panel-elevated) 30%, transparent)}}.hover\:bg-\[var\(--app-panel-muted\)\]:hover{background-color:var(--app-panel-muted)}.hover\:bg-\[var\(--app-success-soft-bg-subtle\)\]:hover{background-color:var(--app-success-soft-bg-subtle)}.hover\:bg-\[var\(--app-warning-soft-bg-subtle\)\]:hover{background-color:var(--app-warning-soft-bg-subtle)}.hover\:bg-white\/14:hover{background-color:#ffffff24}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/14:hover{background-color:color-mix(in oklab, var(--color-white) 14%, transparent)}}.hover\:bg-white\/\[0\.1\]:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/\[0\.1\]:hover{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.hover\:bg-white\/\[0\.04\]:hover{background-color:#ffffff0a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/\[0\.04\]:hover{background-color:color-mix(in oklab, var(--color-white) 4%, transparent)}}.hover\:bg-white\/\[0\.05\]:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/\[0\.05\]:hover{background-color:color-mix(in oklab, var(--color-white) 5%, transparent)}}.hover\:bg-white\/\[0\.06\]:hover{background-color:#ffffff0f}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/\[0\.06\]:hover{background-color:color-mix(in oklab, var(--color-white) 6%, transparent)}}.hover\:text-\[var\(--app-accent\)\]:hover{color:var(--app-accent)}.hover\:text-\[var\(--app-danger\)\]:hover{color:var(--app-danger)}.hover\:text-\[var\(--app-danger-soft-text\)\]:hover{color:var(--app-danger-soft-text)}.hover\:text-\[var\(--app-success\)\]:hover{color:var(--app-success)}.hover\:text-\[var\(--app-success-soft-text\)\]:hover{color:var(--app-success-soft-text)}.hover\:text-\[var\(--app-text\)\]:hover{color:var(--app-text)}.hover\:text-\[var\(--app-warning\)\]:hover{color:var(--app-warning)}.hover\:text-\[var\(--app-warning-soft-text\)\]:hover{color:var(--app-warning-soft-text)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-\[var\(--app-shadow-lg\)\]:hover{--tw-shadow:var(--app-shadow-lg);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus\:not-sr-only:focus{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.focus\:fixed:focus{position:fixed}.focus\:top-4:focus{top:calc(var(--spacing) * 4)}.focus\:left-4:focus{left:calc(var(--spacing) * 4)}.focus\:z-50:focus{z-index:50}.focus\:rounded-md:focus{border-radius:.75rem}.focus\:border-\[var\(--app-accent\)\]:focus{border-color:var(--app-accent)}.focus\:border-\[var\(--app-border-strong\)\]:focus{border-color:var(--app-border-strong)}.focus\:bg-\[var\(--app-accent\)\]:focus{background-color:var(--app-accent)}.focus\:bg-\[var\(--app-panel-elevated\)\]:focus{background-color:var(--app-panel-elevated)}.focus\:px-4:focus{padding-inline:calc(var(--spacing) * 4)}.focus\:py-2:focus{padding-block:calc(var(--spacing) * 2)}.focus\:text-sm:focus{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.focus\:font-medium:focus{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.focus\:text-\[var\(--app-text\)\]:focus{color:var(--app-text)}.focus\:text-white:focus{color:var(--color-white)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-\[var\(--app-accent\)\]:focus{--tw-ring-color:var(--app-accent)}.focus\:ring-blue-500:focus{--tw-ring-color:var(--color-blue-500)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:ring-offset-\[var\(--app-canvas\)\]:focus{--tw-ring-offset-color:var(--app-canvas)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-blue-500:focus-visible{--tw-ring-color:var(--color-blue-500)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:ring-offset-\[var\(--app-canvas\)\]:focus-visible{--tw-ring-offset-color:var(--app-canvas)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.data-\[state\=active\]\:text-\[var\(--app-text\)\][data-state=active]{color:var(--app-text)}.data-\[state\=active\]\:shadow-\[var\(--app-shadow-sm\)\][data-state=active]{--tw-shadow:var(--app-shadow-sm);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=checked\]\:bg-\[var\(--app-accent\)\][data-state=checked]{background-color:var(--app-accent)}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:bg-\[var\(--app-panel-elevated\)\][data-state=open]{background-color:var(--app-panel-elevated)}.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\[state\=unchecked\]\:bg-\[var\(--app-panel-muted\)\][data-state=unchecked]{background-color:var(--app-panel-muted)}@media (width>=40rem){.sm\:mt-0{margin-top:calc(var(--spacing) * 0)}.sm\:inline{display:inline}.sm\:max-w-\[180px\]{max-width:180px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[repeat\(3\,minmax\(0\,1fr\)\)_auto\]{grid-template-columns:repeat(3,minmax(0,1fr)) auto}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:items-start{align-items:flex-start}.sm\:justify-between{justify-content:space-between}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:1rem}.sm\:text-left{text-align:left}}@media (width>=48rem){.md\:inline{display:inline}.md\:w-16{width:calc(var(--spacing) * 16)}.md\:w-48{width:calc(var(--spacing) * 48)}.md\:w-56{width:calc(var(--spacing) * 56)}.md\:shrink-0{flex-shrink:0}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}.md\:justify-end{justify-content:flex-end}.md\:gap-3{gap:calc(var(--spacing) * 3)}.md\:self-auto{align-self:auto}.md\:text-right{text-align:right}}@media (width>=64rem){.lg\:block{display:block}.lg\:hidden{display:none}.lg\:w-auto{width:auto}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:flex-row{flex-direction:row}.lg\:items-end{align-items:flex-end}.lg\:items-start{align-items:flex-start}.lg\:justify-between{justify-content:space-between}.lg\:justify-end{justify-content:flex-end}.lg\:p-5{padding:calc(var(--spacing) * 5)}.lg\:px-4{padding-inline:calc(var(--spacing) * 4)}.lg\:px-5{padding-inline:calc(var(--spacing) * 5)}.lg\:px-6{padding-inline:calc(var(--spacing) * 6)}.lg\:py-3{padding-block:calc(var(--spacing) * 3)}.lg\:py-5{padding-block:calc(var(--spacing) * 5)}.lg\:py-6{padding-block:calc(var(--spacing) * 6)}.lg\:opacity-0{opacity:0}.lg\:group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media (hover:hover){.lg\:group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}}@media (width>=80rem){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}:root{--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--radius:.625rem;--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0);--app-canvas:oklch(19% .012 258);--app-panel:oklch(24.8% .015 258);--app-panel-elevated:oklch(28.4% .021 258);--app-panel-muted:oklch(22.4% .011 258);--app-accent-surface:oklch(34% .055 247);--app-critical-surface:oklch(31% .07 23);--app-border:oklch(38% .018 258/.82);--app-border-strong:oklch(47% .025 258/.95);--app-text:oklch(96% .01 258);--app-text-muted:oklch(76% .018 258);--app-text-subtle:oklch(63% .016 258);--app-kicker:oklch(78% .07 229);--app-accent:oklch(71% .16 235);--app-accent-strong:oklch(76% .18 232);--app-success:oklch(76% .15 158);--app-warning:oklch(83% .16 85);--app-danger:oklch(72% .18 28);--app-header-bg:oklch(22% .014 258);--app-sidebar-bg:oklch(20% .014 258);--app-shadow-sm:0 1px 2px #0206172e, 0 1px 1px #0206171f;--app-shadow-md:0 8px 24px #0206173d;--app-shadow-lg:0 16px 40px #02061742;--app-shadow-accent:0 8px 24px var(--app-accent)}@supports (color:color-mix(in lab, red, red)){.dark{--app-shadow-accent:0 8px 24px color-mix(in oklch, var(--app-accent) 26%, transparent)}}.dark{--app-shadow-danger:0 8px 24px var(--app-danger)}@supports (color:color-mix(in lab, red, red)){.dark{--app-shadow-danger:0 8px 24px color-mix(in oklch, var(--app-danger) 24%, transparent)}}.dark{--app-tracking-micro:.16em;--app-tracking-kicker:.18em;--app-accent-strong-hover:oklch(70% .19 232);--app-danger-strong:oklch(65% .2 26);--app-warning-strong:oklch(76% .17 85);--app-danger-soft-bg:oklch(28% .06 26);--app-danger-soft-bg-subtle:oklch(24% .035 26);--app-danger-soft-border:oklch(42% .09 26);--app-danger-soft-text:oklch(85% .12 26);--app-success-soft-bg:oklch(28% .04 158);--app-success-soft-bg-subtle:oklch(24% .025 158);--app-success-soft-border:oklch(42% .06 158);--app-success-soft-text:oklch(85% .11 158);--app-warning-soft-bg:oklch(28% .035 85);--app-warning-soft-bg-subtle:oklch(24% .02 85);--app-warning-soft-border:oklch(44% .06 85);--app-warning-soft-text:oklch(87% .13 85);--app-accent-soft-bg:oklch(30% .08 235);--app-accent-soft-border:oklch(45% .11 235);--app-indicator-alert:oklch(72% .16 55);--app-log-adam:oklch(72% .16 295);--app-log-manager:oklch(78% .14 210);--app-log-scheduler:oklch(78% .14 60);--app-log-ws:oklch(76% .13 190);--app-log-store:oklch(86% .14 95);--app-log-embedding:oklch(78% .14 340)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(80% 55% at 18% -8%, var(--app-accent) 0%, transparent 52%), var(--app-canvas);min-height:100vh;font-family:IBM Plex Sans,Avenir Next,Segoe UI,system-ui,sans-serif}@supports (color:color-mix(in lab, red, red)){body{background:radial-gradient(80% 55% at 18% -8%, color-mix(in oklch, var(--app-accent) 10%, transparent) 0%, transparent 52%), var(--app-canvas)}}body{color:var(--app-text);background-attachment:fixed}#root{min-height:100vh}.surface-panel{background:var(--app-panel);border:1px solid var(--app-border);box-shadow:var(--app-shadow-md)}.surface-panel-elevated{background:linear-gradient(180deg, oklch(96% 0 0/.06) 0%, transparent 28%), var(--app-panel-elevated);border:1px solid var(--app-border-strong);box-shadow:var(--app-shadow-lg)}.surface-panel-muted{background:var(--app-panel-muted);border:1px solid var(--app-border)}.surface-accent{background:linear-gradient(135deg,oklch(42% .1 232/.7),#0000 58%),oklch(34% .048 247);border:1px solid oklch(50% .12 235/.85)}.surface-critical{background:linear-gradient(135deg,oklch(52% .18 26/.62),#0000 58%),oklch(31% .06 23);border:1px solid oklch(54% .16 26/.82)}.text-kicker{color:var(--app-kicker);letter-spacing:var(--app-tracking-kicker);text-transform:uppercase;font-size:.7rem;font-weight:600}.text-title{color:var(--app-text);font-size:clamp(1.5rem,1.8vw,2rem);font-weight:600;line-height:1.05}.text-section-label{color:var(--app-text);letter-spacing:var(--app-tracking-micro);text-transform:uppercase;font-size:.92rem;font-weight:600}.surface-focus-metric{background:oklch(96% 0 0/.05);border:1px solid oklch(100% 0 0/.08)}.text-meta{color:var(--app-text-subtle);font-size:.78rem}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-slate-700);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-slate-600)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@keyframes spin{to{transform:rotate(360deg)}}
|
package/web/dist/index.html
CHANGED
|
@@ -5,15 +5,16 @@
|
|
|
5
5
|
<link rel="icon" type="image/svg+xml" href="/ui/favicon.svg" />
|
|
6
6
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
7
7
|
<title>Adam</title>
|
|
8
|
-
<script type="module" crossorigin src="/ui/assets/index-
|
|
8
|
+
<script type="module" crossorigin src="/ui/assets/index-B3_4_qY6.js"></script>
|
|
9
9
|
<link rel="modulepreload" crossorigin href="/ui/assets/rolldown-runtime-Dw2cE7zH.js">
|
|
10
10
|
<link rel="modulepreload" crossorigin href="/ui/assets/vendor-icons-Dk0hMuJz.js">
|
|
11
11
|
<link rel="modulepreload" crossorigin href="/ui/assets/vendor-react-C6faO6LO.js">
|
|
12
|
-
<link rel="modulepreload" crossorigin href="/ui/assets/dist-
|
|
13
|
-
<link rel="modulepreload" crossorigin href="/ui/assets/Button-
|
|
14
|
-
<link rel="modulepreload" crossorigin href="/ui/assets/AlertDialog-
|
|
12
|
+
<link rel="modulepreload" crossorigin href="/ui/assets/dist-CgGno8kE.js">
|
|
13
|
+
<link rel="modulepreload" crossorigin href="/ui/assets/Button-BehrGSvy.js">
|
|
14
|
+
<link rel="modulepreload" crossorigin href="/ui/assets/AlertDialog-B1zj0Qs3.js">
|
|
15
15
|
<link rel="modulepreload" crossorigin href="/ui/assets/vendor-state-DahK0J-G.js">
|
|
16
|
-
<link rel="
|
|
16
|
+
<link rel="modulepreload" crossorigin href="/ui/assets/api-Bux34u4-.js">
|
|
17
|
+
<link rel="stylesheet" crossorigin href="/ui/assets/index-Cu5neZGw.css">
|
|
17
18
|
</head>
|
|
18
19
|
<body class="bg-slate-950 text-slate-100">
|
|
19
20
|
<div id="root"></div>
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{ct as t}from"./vendor-icons-Dk0hMuJz.js";import{h as n,t as r}from"./vendor-react-C6faO6LO.js";import{i}from"./dist-Bdqp1ixJ.js";import{i as a,n as o,r as s}from"./Button-DuQctNms.js";typeof window<`u`&&window.document&&window.document.createElement;function c(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),n===!1||!r.defaultPrevented)return t?.(r)}}var l=e(t(),1),u=r();function d(e,t){let n=l.createContext(t),r=e=>{let{children:t,...r}=e,i=l.useMemo(()=>r,Object.values(r));return(0,u.jsx)(n.Provider,{value:i,children:t})};r.displayName=e+`Provider`;function i(r){let i=l.useContext(n);if(i)return i;if(t!==void 0)return t;throw Error(`\`${r}\` must be used within \`${e}\``)}return[r,i]}function f(e,t=[]){let n=[];function r(t,r){let i=l.createContext(r),a=n.length;n=[...n,r];let o=t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=l.useMemo(()=>o,Object.values(o));return(0,u.jsx)(s.Provider,{value:c,children:r})};o.displayName=t+`Provider`;function s(n,o){let s=o?.[e]?.[a]||i,c=l.useContext(s);if(c)return c;if(r!==void 0)return r;throw Error(`\`${n}\` must be used within \`${t}\``)}return[o,s]}let i=()=>{let t=n.map(e=>l.createContext(e));return function(n){let r=n?.[e]||t;return l.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])}};return i.scopeName=e,[r,p(i,...t)]}function p(...e){let t=e[0];if(e.length===1)return t;let n=()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return l.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])}};return n.scopeName=t.scopeName,n}function m(e){let t=h(e),n=l.forwardRef((e,n)=>{let{children:r,...i}=e,a=l.Children.toArray(r),o=a.find(v);if(o){let e=o.props.children,r=a.map(t=>t===o?l.Children.count(e)>1?l.Children.only(null):l.isValidElement(e)?e.props.children:null:t);return(0,u.jsx)(t,{...i,ref:n,children:l.isValidElement(e)?l.cloneElement(e,void 0,r):null})}return(0,u.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function h(e){let t=l.forwardRef((e,t)=>{let{children:n,...r}=e;if(l.isValidElement(n)){let e=b(n),i=y(r,n.props);return n.type!==l.Fragment&&(i.ref=t?s(t,e):e),l.cloneElement(n,i)}return l.Children.count(n)>1?l.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var g=Symbol(`radix.slottable`);function _(e){let t=({children:e})=>(0,u.jsx)(u.Fragment,{children:e});return t.displayName=`${e}.Slottable`,t.__radixId=g,t}function v(e){return l.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===g}function y(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function b(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var x=e(n(),1),S=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=m(`Primitive.${t}`),r=l.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,u.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function C(e,t){e&&x.flushSync(()=>e.dispatchEvent(t))}function w(e){let t=l.useRef(e);return l.useEffect(()=>{t.current=e}),l.useMemo(()=>(...e)=>t.current?.(...e),[])}function ee(e,t=globalThis?.document){let n=w(e);l.useEffect(()=>{let e=e=>{e.key===`Escape`&&n(e)};return t.addEventListener(`keydown`,e,{capture:!0}),()=>t.removeEventListener(`keydown`,e,{capture:!0})},[n,t])}var T=`DismissableLayer`,te=`dismissableLayer.update`,ne=`dismissableLayer.pointerDownOutside`,re=`dismissableLayer.focusOutside`,ie,ae=l.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),oe=l.forwardRef((e,t)=>{let{disableOutsidePointerEvents:n=!1,onEscapeKeyDown:r,onPointerDownOutside:i,onFocusOutside:o,onInteractOutside:s,onDismiss:d,...f}=e,p=l.useContext(ae),[m,h]=l.useState(null),g=m?.ownerDocument??globalThis?.document,[,_]=l.useState({}),v=a(t,e=>h(e)),y=Array.from(p.layers),[b]=[...p.layersWithOutsidePointerEventsDisabled].slice(-1),x=y.indexOf(b),C=m?y.indexOf(m):-1,w=p.layersWithOutsidePointerEventsDisabled.size>0,T=C>=x,ne=le(e=>{let t=e.target,n=[...p.branches].some(e=>e.contains(t));!T||n||(i?.(e),s?.(e),e.defaultPrevented||d?.())},g),re=ue(e=>{let t=e.target;[...p.branches].some(e=>e.contains(t))||(o?.(e),s?.(e),e.defaultPrevented||d?.())},g);return ee(e=>{C===p.layers.size-1&&(r?.(e),!e.defaultPrevented&&d&&(e.preventDefault(),d()))},g),l.useEffect(()=>{if(m)return n&&(p.layersWithOutsidePointerEventsDisabled.size===0&&(ie=g.body.style.pointerEvents,g.body.style.pointerEvents=`none`),p.layersWithOutsidePointerEventsDisabled.add(m)),p.layers.add(m),de(),()=>{n&&p.layersWithOutsidePointerEventsDisabled.size===1&&(g.body.style.pointerEvents=ie)}},[m,g,n,p]),l.useEffect(()=>()=>{m&&(p.layers.delete(m),p.layersWithOutsidePointerEventsDisabled.delete(m),de())},[m,p]),l.useEffect(()=>{let e=()=>_({});return document.addEventListener(te,e),()=>document.removeEventListener(te,e)},[]),(0,u.jsx)(S.div,{...f,ref:v,style:{pointerEvents:w?T?`auto`:`none`:void 0,...e.style},onFocusCapture:c(e.onFocusCapture,re.onFocusCapture),onBlurCapture:c(e.onBlurCapture,re.onBlurCapture),onPointerDownCapture:c(e.onPointerDownCapture,ne.onPointerDownCapture)})});oe.displayName=T;var se=`DismissableLayerBranch`,ce=l.forwardRef((e,t)=>{let n=l.useContext(ae),r=l.useRef(null),i=a(t,r);return l.useEffect(()=>{let e=r.current;if(e)return n.branches.add(e),()=>{n.branches.delete(e)}},[n.branches]),(0,u.jsx)(S.div,{...e,ref:i})});ce.displayName=se;function le(e,t=globalThis?.document){let n=w(e),r=l.useRef(!1),i=l.useRef(()=>{});return l.useEffect(()=>{let e=e=>{if(e.target&&!r.current){let r=function(){fe(ne,n,a,{discrete:!0})},a={originalEvent:e};e.pointerType===`touch`?(t.removeEventListener(`click`,i.current),i.current=r,t.addEventListener(`click`,i.current,{once:!0})):r()}else t.removeEventListener(`click`,i.current);r.current=!1},a=window.setTimeout(()=>{t.addEventListener(`pointerdown`,e)},0);return()=>{window.clearTimeout(a),t.removeEventListener(`pointerdown`,e),t.removeEventListener(`click`,i.current)}},[t,n]),{onPointerDownCapture:()=>r.current=!0}}function ue(e,t=globalThis?.document){let n=w(e),r=l.useRef(!1);return l.useEffect(()=>{let e=e=>{e.target&&!r.current&&fe(re,n,{originalEvent:e},{discrete:!1})};return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:()=>r.current=!0,onBlurCapture:()=>r.current=!1}}function de(){let e=new CustomEvent(te);document.dispatchEvent(e)}function fe(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?C(i,a):i.dispatchEvent(a)}var E=globalThis?.document?l.useLayoutEffect:()=>{},pe=l.useId||(()=>void 0),me=0;function D(e){let[t,n]=l.useState(pe());return E(()=>{e||n(e=>e??String(me++))},[e]),e||(t?`radix-${t}`:``)}var he=`Portal`,ge=l.forwardRef((e,t)=>{let{container:n,...r}=e,[i,a]=l.useState(!1);E(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?x.createPortal((0,u.jsx)(S.div,{...r,ref:t}),o):null});ge.displayName=he;function _e(e,t){return l.useReducer((e,n)=>t[e][n]??e,e)}var O=e=>{let{present:t,children:n}=e,r=ve(t),i=typeof n==`function`?n({present:r.isPresent}):l.Children.only(n),o=a(r.ref,ye(i));return typeof n==`function`||r.isPresent?l.cloneElement(i,{ref:o}):null};O.displayName=`Presence`;function ve(e){let[t,n]=l.useState(),r=l.useRef(null),i=l.useRef(e),a=l.useRef(`none`),[o,s]=_e(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return l.useEffect(()=>{let e=k(r.current);a.current=o===`mounted`?e:`none`},[o]),E(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,o=k(t);e?s(`MOUNT`):o===`none`||t?.display===`none`?s(`UNMOUNT`):s(n&&r!==o?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,s]),E(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=a=>{let o=k(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(s(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},c=e=>{e.target===t&&(a.current=k(r.current))};return t.addEventListener(`animationstart`,c),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,c),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}else s(`ANIMATION_END`)},[t,s]),{isPresent:[`mounted`,`unmountSuspended`].includes(o),ref:l.useCallback(e=>{r.current=e?getComputedStyle(e):null,n(e)},[])}}function k(e){return e?.animationName||`none`}function ye(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var be=l.useInsertionEffect||E;function xe({prop:e,defaultProp:t,onChange:n=()=>{},caller:r}){let[i,a,o]=Se({defaultProp:t,onChange:n}),s=e!==void 0,c=s?e:i;{let t=l.useRef(e!==void 0);l.useEffect(()=>{let e=t.current;e!==s&&console.warn(`${r} is changing from ${e?`controlled`:`uncontrolled`} to ${s?`controlled`:`uncontrolled`}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),t.current=s},[s,r])}return[c,l.useCallback(t=>{if(s){let n=Ce(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}function Se({defaultProp:e,onChange:t}){let[n,r]=l.useState(e),i=l.useRef(n),a=l.useRef(t);return be(()=>{a.current=t},[t]),l.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}function Ce(e){return typeof e==`function`}var we=`focusScope.autoFocusOnMount`,A=`focusScope.autoFocusOnUnmount`,Te={bubbles:!1,cancelable:!0},Ee=`FocusScope`,De=l.forwardRef((e,t)=>{let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:o,...s}=e,[c,d]=l.useState(null),f=w(i),p=w(o),m=l.useRef(null),h=a(t,e=>d(e)),g=l.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;l.useEffect(()=>{if(r){let e=function(e){if(g.paused||!c)return;let t=e.target;c.contains(t)?m.current=t:j(m.current,{select:!0})},t=function(e){if(g.paused||!c)return;let t=e.relatedTarget;t!==null&&(c.contains(t)||j(m.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&j(c)};document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return c&&r.observe(c,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,c,g.paused]),l.useEffect(()=>{if(c){Pe.add(g);let e=document.activeElement;if(!c.contains(e)){let t=new CustomEvent(we,Te);c.addEventListener(we,f),c.dispatchEvent(t),t.defaultPrevented||(Oe(Le(Ae(c)),{select:!0}),document.activeElement===e&&j(c))}return()=>{c.removeEventListener(we,f),setTimeout(()=>{let t=new CustomEvent(A,Te);c.addEventListener(A,p),c.dispatchEvent(t),t.defaultPrevented||j(e??document.body,{select:!0}),c.removeEventListener(A,p),Pe.remove(g)},0)}}},[c,f,p,g]);let _=l.useCallback(e=>{if(!n&&!r||g.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=ke(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&j(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&j(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,g.paused]);return(0,u.jsx)(S.div,{tabIndex:-1,...s,ref:h,onKeyDown:_})});De.displayName=Ee;function Oe(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(j(r,{select:t}),document.activeElement!==n)return}function ke(e){let t=Ae(e);return[je(t,e),je(t.reverse(),e)]}function Ae(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function je(e,t){for(let n of e)if(!Me(n,{upTo:t}))return n}function Me(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function Ne(e){return e instanceof HTMLInputElement&&`select`in e}function j(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&Ne(e)&&t&&e.select()}}var Pe=Fe();function Fe(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=Ie(e,t),e.unshift(t)},remove(t){e=Ie(e,t),e[0]?.resume()}}}function Ie(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}function Le(e){return e.filter(e=>e.tagName!==`A`)}var M=0;function Re(){l.useEffect(()=>{let e=document.querySelectorAll(`[data-radix-focus-guard]`);return document.body.insertAdjacentElement(`afterbegin`,e[0]??ze()),document.body.insertAdjacentElement(`beforeend`,e[1]??ze()),M++,()=>{M===1&&document.querySelectorAll(`[data-radix-focus-guard]`).forEach(e=>e.remove()),M--}},[])}function ze(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}var N=function(){return N=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},N.apply(this,arguments)};function Be(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Ve(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var P=`right-scroll-bar-position`,F=`width-before-scroll-bar`,He=`with-scroll-bars-hidden`,Ue=`--removed-body-scroll-bar-size`;function I(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function We(e,t){var n=(0,l.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var Ge=typeof window<`u`?l.useLayoutEffect:l.useEffect,Ke=new WeakMap;function qe(e,t){var n=We(t||null,function(t){return e.forEach(function(e){return I(e,t)})});return Ge(function(){var t=Ke.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||I(e,null)}),i.forEach(function(e){r.has(e)||I(e,a)})}Ke.set(n,e)},[e]),n}function Je(e){return e}function Ye(e,t){t===void 0&&(t=Je);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function Xe(e){e===void 0&&(e={});var t=Ye(null);return t.options=N({async:!0,ssr:!1},e),t}var Ze=function(e){var t=e.sideCar,n=Be(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return l.createElement(r,N({},n))};Ze.isSideCarExport=!0;function Qe(e,t){return e.useMedium(t),Ze}var $e=Xe(),L=function(){},R=l.forwardRef(function(e,t){var n=l.useRef(null),r=l.useState({onScrollCapture:L,onWheelCapture:L,onTouchMoveCapture:L}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,u=e.removeScrollBar,d=e.enabled,f=e.shards,p=e.sideCar,m=e.noRelative,h=e.noIsolation,g=e.inert,_=e.allowPinchZoom,v=e.as,y=v===void 0?`div`:v,b=e.gapMode,x=Be(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),S=p,C=qe([n,t]),w=N(N({},x),i);return l.createElement(l.Fragment,null,d&&l.createElement(S,{sideCar:$e,removeScrollBar:u,shards:f,noRelative:m,noIsolation:h,inert:g,setCallbacks:a,allowPinchZoom:!!_,lockRef:n,gapMode:b}),o?l.cloneElement(l.Children.only(s),N(N({},w),{ref:C})):l.createElement(y,N({},w,{className:c,ref:C}),s))});R.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},R.classNames={fullWidth:F,zeroRight:P};var et,tt=function(){if(et)return et;if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function nt(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=tt();return t&&e.setAttribute(`nonce`,t),e}function rt(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function it(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var at=function(){var e=0,t=null;return{add:function(n){e==0&&(t=nt())&&(rt(t,n),it(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},ot=function(){var e=at();return function(t,n){l.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},st=function(){var e=ot();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},ct={left:0,top:0,right:0,gap:0},z=function(e){return parseInt(e||``,10)||0},lt=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[z(n),z(r),z(i)]},ut=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return ct;var t=lt(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},dt=st(),B=`data-scroll-locked`,ft=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`
|
|
2
|
-
.${He} {
|
|
3
|
-
overflow: hidden ${r};
|
|
4
|
-
padding-right: ${s}px ${r};
|
|
5
|
-
}
|
|
6
|
-
body[${B}] {
|
|
7
|
-
overflow: hidden ${r};
|
|
8
|
-
overscroll-behavior: contain;
|
|
9
|
-
${[t&&`position: relative ${r};`,n===`margin`&&`
|
|
10
|
-
padding-left: ${i}px;
|
|
11
|
-
padding-top: ${a}px;
|
|
12
|
-
padding-right: ${o}px;
|
|
13
|
-
margin-left:0;
|
|
14
|
-
margin-top:0;
|
|
15
|
-
margin-right: ${s}px ${r};
|
|
16
|
-
`,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.${P} {
|
|
20
|
-
right: ${s}px ${r};
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.${F} {
|
|
24
|
-
margin-right: ${s}px ${r};
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.${P} .${P} {
|
|
28
|
-
right: 0 ${r};
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.${F} .${F} {
|
|
32
|
-
margin-right: 0 ${r};
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
body[${B}] {
|
|
36
|
-
${Ue}: ${s}px;
|
|
37
|
-
}
|
|
38
|
-
`},pt=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},mt=function(){l.useEffect(function(){return document.body.setAttribute(B,(pt()+1).toString()),function(){var e=pt()-1;e<=0?document.body.removeAttribute(B):document.body.setAttribute(B,e.toString())}},[])},ht=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;mt();var a=l.useMemo(function(){return ut(i)},[i]);return l.createElement(dt,{styles:ft(a,!t,i,n?``:`!important`)})},gt=!1;if(typeof window<`u`)try{var V=Object.defineProperty({},`passive`,{get:function(){return gt=!0,!0}});window.addEventListener(`test`,V,V),window.removeEventListener(`test`,V,V)}catch{gt=!1}var H=gt?{passive:!1}:!1,_t=function(e){return e.tagName===`TEXTAREA`},vt=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!_t(e)&&n[t]===`visible`)},yt=function(e){return vt(e,`overflowY`)},bt=function(e){return vt(e,`overflowX`)},xt=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),wt(e,r)){var i=Tt(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},St=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},Ct=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},wt=function(e,t){return e===`v`?yt(t):bt(t)},Tt=function(e,t){return e===`v`?St(t):Ct(t)},Et=function(e,t){return e===`h`&&t===`rtl`?-1:1},Dt=function(e,t,n,r,i){var a=Et(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=Tt(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&wt(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},U=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Ot=function(e){return[e.deltaX,e.deltaY]},kt=function(e){return e&&`current`in e?e.current:e},At=function(e,t){return e[0]===t[0]&&e[1]===t[1]},jt=function(e){return`
|
|
39
|
-
.block-interactivity-${e} {pointer-events: none;}
|
|
40
|
-
.allow-interactivity-${e} {pointer-events: all;}
|
|
41
|
-
`},Mt=0,W=[];function Nt(e){var t=l.useRef([]),n=l.useRef([0,0]),r=l.useRef(),i=l.useState(Mt++)[0],a=l.useState(st)[0],o=l.useRef(e);l.useEffect(function(){o.current=e},[e]),l.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=Ve([e.lockRef.current],(e.shards||[]).map(kt),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=l.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=U(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=xt(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=xt(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return Dt(h,t,e,h===`h`?s:c,!0)},[]),c=l.useCallback(function(e){var n=e;if(!(!W.length||W[W.length-1]!==a)){var r=`deltaY`in n?Ot(n):U(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&At(e.delta,r)})[0];if(i&&i.should){n.cancelable&&n.preventDefault();return}if(!i){var c=(o.current.shards||[]).map(kt).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),u=l.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:Pt(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),d=l.useCallback(function(e){n.current=U(e),r.current=void 0},[]),f=l.useCallback(function(t){u(t.type,Ot(t),t.target,s(t,e.lockRef.current))},[]),p=l.useCallback(function(t){u(t.type,U(t),t.target,s(t,e.lockRef.current))},[]);l.useEffect(function(){return W.push(a),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener(`wheel`,c,H),document.addEventListener(`touchmove`,c,H),document.addEventListener(`touchstart`,d,H),function(){W=W.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,H),document.removeEventListener(`touchmove`,c,H),document.removeEventListener(`touchstart`,d,H)}},[]);var m=e.removeScrollBar,h=e.inert;return l.createElement(l.Fragment,null,h?l.createElement(a,{styles:jt(i)}):null,m?l.createElement(ht,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Pt(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var Ft=Qe($e,Nt),It=l.forwardRef(function(e,t){return l.createElement(R,N({},e,{ref:t,sideCar:Ft}))});It.classNames=R.classNames;var Lt=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},G=new WeakMap,K=new WeakMap,q={},Rt=0,zt=function(e){return e&&(e.host||zt(e.parentNode))},Bt=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=zt(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},Vt=function(e,t,n,r){var i=Bt(t,Array.isArray(e)?e:[e]);q[n]||(q[n]=new WeakMap);var a=q[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(G.get(e)||0)+1,l=(a.get(e)||0)+1;G.set(e,c),a.set(e,l),o.push(e),c===1&&i&&K.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),Rt++,function(){o.forEach(function(e){var t=G.get(e)-1,i=a.get(e)-1;G.set(e,t),a.set(e,i),t||(K.has(e)||e.removeAttribute(r),K.delete(e)),i||e.removeAttribute(n)}),Rt--,Rt||(G=new WeakMap,G=new WeakMap,K=new WeakMap,q={})}},Ht=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Lt(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Vt(r,i,n,`aria-hidden`)):function(){return null}},J=`Dialog`,[Ut,Wt]=f(J),[Gt,Y]=Ut(J),Kt=e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=l.useRef(null),c=l.useRef(null),[d,f]=xe({prop:r,defaultProp:i??!1,onChange:a,caller:J});return(0,u.jsx)(Gt,{scope:t,triggerRef:s,contentRef:c,contentId:D(),titleId:D(),descriptionId:D(),open:d,onOpenChange:f,onOpenToggle:l.useCallback(()=>f(e=>!e),[f]),modal:o,children:n})};Kt.displayName=J;var qt=`DialogTrigger`,Jt=l.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Y(qt,n),o=a(t,i.triggerRef);return(0,u.jsx)(S.button,{type:`button`,"aria-haspopup":`dialog`,"aria-expanded":i.open,"aria-controls":i.contentId,"data-state":pn(i.open),...r,ref:o,onClick:c(e.onClick,i.onOpenToggle)})});Jt.displayName=qt;var Yt=`DialogPortal`,[Xt,Zt]=Ut(Yt,{forceMount:void 0}),Qt=e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=Y(Yt,t);return(0,u.jsx)(Xt,{scope:t,forceMount:n,children:l.Children.map(r,e=>(0,u.jsx)(O,{present:n||a.open,children:(0,u.jsx)(ge,{asChild:!0,container:i,children:e})}))})};Qt.displayName=Yt;var X=`DialogOverlay`,$t=l.forwardRef((e,t)=>{let n=Zt(X,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=Y(X,e.__scopeDialog);return a.modal?(0,u.jsx)(O,{present:r||a.open,children:(0,u.jsx)(tn,{...i,ref:t})}):null});$t.displayName=X;var en=m(`DialogOverlay.RemoveScroll`),tn=l.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Y(X,n);return(0,u.jsx)(It,{as:en,allowPinchZoom:!0,shards:[i.contentRef],children:(0,u.jsx)(S.div,{"data-state":pn(i.open),...r,ref:t,style:{pointerEvents:`auto`,...r.style}})})}),Z=`DialogContent`,nn=l.forwardRef((e,t)=>{let n=Zt(Z,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=Y(Z,e.__scopeDialog);return(0,u.jsx)(O,{present:r||a.open,children:a.modal?(0,u.jsx)(rn,{...i,ref:t}):(0,u.jsx)(an,{...i,ref:t})})});nn.displayName=Z;var rn=l.forwardRef((e,t)=>{let n=Y(Z,e.__scopeDialog),r=l.useRef(null),i=a(t,n.contentRef,r);return l.useEffect(()=>{let e=r.current;if(e)return Ht(e)},[]),(0,u.jsx)(on,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:c(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:c(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:c(e.onFocusOutside,e=>e.preventDefault())})}),an=l.forwardRef((e,t)=>{let n=Y(Z,e.__scopeDialog),r=l.useRef(!1),i=l.useRef(!1);return(0,u.jsx)(on,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})}),on=l.forwardRef((e,t)=>{let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:o,...s}=e,c=Y(Z,n),d=l.useRef(null),f=a(t,d);return Re(),(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(De,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:o,children:(0,u.jsx)(oe,{role:`dialog`,id:c.contentId,"aria-describedby":c.descriptionId,"aria-labelledby":c.titleId,"data-state":pn(c.open),...s,ref:f,onDismiss:()=>c.onOpenChange(!1)})}),(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(_n,{titleId:c.titleId}),(0,u.jsx)(yn,{contentRef:d,descriptionId:c.descriptionId})]})]})}),sn=`DialogTitle`,cn=l.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Y(sn,n);return(0,u.jsx)(S.h2,{id:i.titleId,...r,ref:t})});cn.displayName=sn;var ln=`DialogDescription`,un=l.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Y(ln,n);return(0,u.jsx)(S.p,{id:i.descriptionId,...r,ref:t})});un.displayName=ln;var dn=`DialogClose`,fn=l.forwardRef((e,t)=>{let{__scopeDialog:n,...r}=e,i=Y(dn,n);return(0,u.jsx)(S.button,{type:`button`,...r,ref:t,onClick:c(e.onClick,()=>i.onOpenChange(!1))})});fn.displayName=dn;function pn(e){return e?`open`:`closed`}var mn=`DialogTitleWarning`,[hn,gn]=d(mn,{contentName:Z,titleName:sn,docsSlug:`dialog`}),_n=({titleId:e})=>{let t=gn(mn),n=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
|
|
42
|
-
|
|
43
|
-
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
44
|
-
|
|
45
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return l.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},vn=`DialogDescriptionWarning`,yn=({contentRef:e,descriptionId:t})=>{let n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${gn(vn).contentName}}.`;return l.useEffect(()=>{let r=e.current?.getAttribute(`aria-describedby`);t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},bn=Kt,xn=Jt,Sn=Qt,Cn=$t,wn=nn,Tn=cn,En=un,Dn=fn,On=`AlertDialog`,[kn,An]=f(On,[Wt]),Q=Wt(),jn=e=>{let{__scopeAlertDialog:t,...n}=e,r=Q(t);return(0,u.jsx)(bn,{...r,...n,modal:!0})};jn.displayName=On;var Mn=`AlertDialogTrigger`,Nn=l.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=Q(n);return(0,u.jsx)(xn,{...i,...r,ref:t})});Nn.displayName=Mn;var Pn=`AlertDialogPortal`,Fn=e=>{let{__scopeAlertDialog:t,...n}=e,r=Q(t);return(0,u.jsx)(Sn,{...r,...n})};Fn.displayName=Pn;var In=`AlertDialogOverlay`,Ln=l.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=Q(n);return(0,u.jsx)(Cn,{...i,...r,ref:t})});Ln.displayName=In;var $=`AlertDialogContent`,[Rn,zn]=kn($),Bn=_(`AlertDialogContent`),Vn=l.forwardRef((e,t)=>{let{__scopeAlertDialog:n,children:r,...i}=e,o=Q(n),s=l.useRef(null),d=a(t,s),f=l.useRef(null);return(0,u.jsx)(hn,{contentName:$,titleName:Hn,docsSlug:`alert-dialog`,children:(0,u.jsx)(Rn,{scope:n,cancelRef:f,children:(0,u.jsxs)(wn,{role:`alertdialog`,...o,...i,ref:d,onOpenAutoFocus:c(i.onOpenAutoFocus,e=>{e.preventDefault(),f.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,u.jsx)(Bn,{children:r}),(0,u.jsx)(Xn,{contentRef:s})]})})})});Vn.displayName=$;var Hn=`AlertDialogTitle`,Un=l.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=Q(n);return(0,u.jsx)(Tn,{...i,...r,ref:t})});Un.displayName=Hn;var Wn=`AlertDialogDescription`,Gn=l.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=Q(n);return(0,u.jsx)(En,{...i,...r,ref:t})});Gn.displayName=Wn;var Kn=`AlertDialogAction`,qn=l.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,i=Q(n);return(0,u.jsx)(Dn,{...i,...r,ref:t})});qn.displayName=Kn;var Jn=`AlertDialogCancel`,Yn=l.forwardRef((e,t)=>{let{__scopeAlertDialog:n,...r}=e,{cancelRef:i}=zn(Jn,n),o=Q(n),s=a(t,i);return(0,u.jsx)(Dn,{...o,...r,ref:s})});Yn.displayName=Jn;var Xn=({contentRef:e})=>{let t=`\`${$}\` requires a description for the component to be accessible for screen reader users.
|
|
46
|
-
|
|
47
|
-
You can add a description to the \`${$}\` by passing a \`${Wn}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
|
|
48
|
-
|
|
49
|
-
Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${$}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
|
|
50
|
-
|
|
51
|
-
For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return l.useEffect(()=>{document.getElementById(e.current?.getAttribute(`aria-describedby`))||console.warn(t)},[t,e]),null},Zn=jn,Qn=Nn,$n=Fn,er=Ln,tr=Vn,nr=qn,rr=Yn,ir=Un,ar=Gn,or=Zn,sr=Qn,cr=$n,lr=l.forwardRef(({className:e,...t},n)=>(0,u.jsx)(er,{ref:n,className:i(`fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0`,e),...t}));lr.displayName=er.displayName;var ur=l.forwardRef(({className:e,...t},n)=>(0,u.jsxs)(cr,{children:[(0,u.jsx)(lr,{}),(0,u.jsx)(tr,{ref:n,className:i(`fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-[var(--app-border)] bg-[var(--app-panel)] p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg`,e),...t})]}));ur.displayName=tr.displayName;var dr=({className:e,...t})=>(0,u.jsx)(`div`,{className:i(`flex flex-col space-y-2 text-center sm:text-left`,e),...t});dr.displayName=`AlertDialogHeader`;var fr=({className:e,...t})=>(0,u.jsx)(`div`,{className:i(`flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2`,e),...t});fr.displayName=`AlertDialogFooter`;var pr=l.forwardRef(({className:e,...t},n)=>(0,u.jsx)(ir,{ref:n,className:i(`text-lg font-semibold text-[var(--app-text)]`,e),...t}));pr.displayName=ir.displayName;var mr=l.forwardRef(({className:e,...t},n)=>(0,u.jsx)(ar,{ref:n,className:i(`text-sm text-[var(--app-text-muted)]`,e),...t}));mr.displayName=ar.displayName;var hr=l.forwardRef(({className:e,...t},n)=>(0,u.jsx)(nr,{ref:n,className:i(o(),e),...t}));hr.displayName=nr.displayName;var gr=l.forwardRef(({className:e,...t},n)=>(0,u.jsx)(rr,{ref:n,className:i(o({variant:`ghost`}),`mt-2 sm:mt-0`,e),...t}));gr.displayName=rr.displayName;export{S as _,mr as a,f as b,pr as c,O as d,ge as f,w as g,oe as h,ur as i,sr as l,E as m,hr as n,fr as o,D as p,gr as r,dr as s,or as t,xe as u,m as v,c as x,_ as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{C as t,L as n,O as r,at as i,ct as a,q as o}from"./vendor-icons-Dk0hMuJz.js";import{f as s,r as c,t as l}from"./vendor-react-C6faO6LO.js";import{n as u}from"./dist-Bdqp1ixJ.js";import{t as d}from"./index-DYsO5Awn.js";import{i as f,r as p,t as m}from"./Card-rKfViPS2.js";import{t as h}from"./PageHeader-CHSgtxPw.js";import{t as g}from"./SectionHeader-C2WpiwJ5.js";import{n as _}from"./format-CHfBBLog.js";var v=e(a(),1),y=l();function b(){let{id:e}=s(),[a,l]=(0,v.useState)(null),[b,S]=(0,v.useState)([]),[C,w]=(0,v.useState)([]),[T,E]=(0,v.useState)(null);if((0,v.useEffect)(()=>{e&&((async()=>{try{l((await u(`/channels/${e}`)).channel),E(null)}catch(e){E(e instanceof Error?e.message:`Failed to load channel`)}})(),u(`/delivery-rules`).then(t=>S(t.filter(t=>t.target.type===`channel`&&t.target.channelId===e))).catch(()=>S([])),u(`/delivery-rules`).then(async t=>{let n=t.filter(t=>t.target.type===`channel`&&t.target.channelId===e),r=[];for(let e of n.slice(0,3))try{let t=await u(`/delivery-rules/${e.id}/log`);r.push(...t.log??[])}catch{}r.sort((e,t)=>t.createdAt-e.createdAt),w(r.slice(0,20))}).catch(()=>w([])))},[e]),T)return(0,y.jsxs)(`div`,{className:`space-y-4`,children:[(0,y.jsxs)(c,{to:`/channels`,className:`flex items-center gap-1.5 text-sm text-[var(--app-text-muted)] hover:text-[var(--app-text)]`,children:[(0,y.jsx)(i,{size:14}),` Back to Channels`]}),(0,y.jsx)(m,{className:`text-center text-[var(--app-danger)]`,children:T})]});if(!a)return(0,y.jsxs)(`div`,{className:`space-y-4`,children:[(0,y.jsxs)(c,{to:`/channels`,className:`flex items-center gap-1.5 text-sm text-[var(--app-text-muted)] hover:text-[var(--app-text)]`,children:[(0,y.jsx)(i,{size:14}),` Back to Channels`]}),(0,y.jsx)(m,{className:`text-center text-[var(--app-text-subtle)]`,children:`Loading...`})]});let D=e=>e===`connected`?`success`:e===`connecting`?`warning`:e===`error`?`destructive`:`secondary`,O=e=>{switch(e){case`wechat`:return`WeChat`;case`telegram`:return`Telegram`;case`slack`:return`Slack`;case`discord`:return`Discord`;default:return e.charAt(0).toUpperCase()+e.slice(1)}},k={...a.config};for(let e of[`botToken`,`apiKey`,`secret`,`password`,`token`])e in k&&(k[e]=`********`);return(0,y.jsxs)(`div`,{className:`space-y-5`,children:[(0,y.jsxs)(c,{to:`/channels`,className:`flex items-center gap-1.5 text-sm text-[var(--app-text-muted)] hover:text-[var(--app-text)]`,children:[(0,y.jsx)(i,{size:14}),` Back to Channels`]}),(0,y.jsx)(h,{eyebrow:`Channel`,title:a.name,compact:!0,description:`Connectivity, delivery policy, and recent outbound activity.`,metrics:[{label:`Status`,value:(0,y.jsx)(d,{variant:D(a.status),children:a.status})},{label:`Platform`,value:O(a.platform)},{label:`Enabled`,value:a.enabled?`Yes`:`No`},{label:`Messages`,value:a.messageCount}]}),(0,y.jsxs)(`div`,{className:`grid gap-3 md:grid-cols-4`,children:[(0,y.jsxs)(m,{className:`surface-panel-muted`,children:[(0,y.jsx)(`p`,{className:`text-section-label`,children:`Channel ID`}),(0,y.jsx)(`p`,{className:`mt-2 truncate font-mono text-sm text-[var(--app-text)]`,children:a.id})]}),(0,y.jsxs)(m,{className:`surface-panel-muted`,children:[(0,y.jsx)(`p`,{className:`text-section-label`,children:`Linked role`}),(0,y.jsx)(`p`,{className:`mt-2 text-sm font-medium text-[var(--app-text)]`,children:a.linkedRoleId?`${a.linkedRoleId.slice(0,8)}...`:`None`})]}),(0,y.jsxs)(m,{className:`surface-panel-muted`,children:[(0,y.jsx)(`p`,{className:`text-section-label`,children:`Delivery rules`}),(0,y.jsx)(`p`,{className:`mt-2 text-2xl font-semibold text-[var(--app-text)]`,children:b.length})]}),(0,y.jsxs)(m,{className:`surface-panel-muted`,children:[(0,y.jsx)(`p`,{className:`text-section-label`,children:`Recent delivery events`}),(0,y.jsx)(`p`,{className:`mt-2 text-2xl font-semibold text-[var(--app-text)]`,children:C.length})]})]}),(0,y.jsxs)(`div`,{className:`grid grid-cols-2 gap-3 lg:grid-cols-4`,children:[(0,y.jsx)(x,{icon:o,label:`Created`,value:_(a.createdAt),mono:!0}),(0,y.jsx)(x,{icon:r,label:`Messages`,value:String(a.messageCount),mono:!0}),a.lastMessageAt&&(0,y.jsx)(x,{icon:o,label:`Last Message`,value:_(a.lastMessageAt),mono:!0}),a.linkedRoleId&&(0,y.jsx)(x,{icon:t,label:`Linked Role`,value:a.linkedRoleId.slice(0,8)+`...`,mono:!0})]}),(0,y.jsx)(g,{title:`Configuration`,compact:!0,description:`Raw config stays available below, but status and traffic stay first.`}),(0,y.jsxs)(m,{children:[(0,y.jsx)(p,{children:(0,y.jsx)(f,{children:`Configuration`})}),Object.keys(k).length>0&&(0,y.jsx)(`div`,{className:`mb-4 grid gap-2 sm:grid-cols-2 lg:grid-cols-3`,children:Object.entries(k).slice(0,6).map(([e,t])=>(0,y.jsxs)(`div`,{className:`rounded-xl border border-[var(--app-border)] bg-black/10 px-3 py-2`,children:[(0,y.jsx)(`p`,{className:`text-[10px] uppercase tracking-[0.14em] text-[var(--app-text-subtle)]`,children:e}),(0,y.jsx)(`p`,{className:`mt-1 truncate text-sm text-[var(--app-text)]`,children:String(t)})]},e))}),(0,y.jsx)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap rounded-md bg-[var(--app-panel-elevated)] p-3 font-mono text-xs text-[var(--app-text)]`,children:JSON.stringify(k,null,2)})]}),(0,y.jsx)(g,{title:`Delivery Activity`,compact:!0,description:`Rules and log entries stay grouped as one operational block.`}),b.length>0&&(0,y.jsxs)(m,{children:[(0,y.jsx)(p,{children:(0,y.jsxs)(f,{className:`flex items-center gap-2`,children:[(0,y.jsx)(n,{size:14}),` Delivery Rules (`,b.length,`)`]})}),(0,y.jsx)(`div`,{className:`space-y-2`,children:b.map(e=>(0,y.jsxs)(`div`,{className:`rounded-md border border-[var(--app-border)] bg-[var(--app-panel-elevated)]/50 p-2`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,y.jsx)(d,{variant:`outline`,children:e.eventType}),e.enabled?(0,y.jsx)(d,{variant:`success`,children:`active`}):(0,y.jsx)(d,{variant:`secondary`,children:`disabled`}),(0,y.jsxs)(`span`,{className:`text-xs text-[var(--app-text-subtle)]`,children:[`max `,e.maxPerMinute,`/min`]})]}),(0,y.jsxs)(`p`,{className:`mt-1 text-xs text-[var(--app-text-muted)] font-mono`,children:[`Rule: `,e.id]})]},e.id))})]}),C.length>0&&(0,y.jsxs)(m,{children:[(0,y.jsx)(p,{children:(0,y.jsxs)(f,{className:`flex items-center gap-2`,children:[(0,y.jsx)(r,{size:14}),` Delivery Log (`,C.length,`)`]})}),(0,y.jsx)(`div`,{className:`space-y-2`,children:C.slice(0,10).map(e=>(0,y.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border border-[var(--app-border)] p-2`,children:[(0,y.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-baseline gap-2`,children:[(0,y.jsx)(`span`,{className:`text-sm text-[var(--app-text)] font-mono`,children:e.taskId.slice(0,8)}),(0,y.jsx)(`span`,{className:`text-xs text-[var(--app-text-subtle)]`,children:_(e.createdAt)})]}),(0,y.jsx)(d,{variant:e.status===`delivered`?`default`:e.status===`failed`?`destructive`:`outline`,children:e.status})]},e.id))})]})]})}function x({icon:e,label:t,value:n,mono:r}){return(0,y.jsxs)(m,{className:`flex flex-col gap-1`,children:[(0,y.jsxs)(`div`,{className:`flex items-center gap-1.5 text-[var(--app-text-subtle)]`,children:[(0,y.jsx)(e,{size:12}),(0,y.jsx)(`span`,{className:`text-xs`,children:t})]}),(0,y.jsx)(`span`,{className:`text-sm text-[var(--app-text)] truncate ${r?`font-mono text-xs`:``}`,children:n})]})}export{b as ChannelDetail};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./rolldown-runtime-Dw2cE7zH.js";import{A as t,J as n,S as r,ct as i,d as a,f as o,h as s,k as c,n as l,ot as u,s as d,v as f}from"./vendor-icons-Dk0hMuJz.js";import{t as p}from"./vendor-react-C6faO6LO.js";import{a as m,n as h}from"./dist-Bdqp1ixJ.js";import{t as g}from"./Button-DuQctNms.js";import{n as _}from"./vendor-state-DahK0J-G.js";import{t as v}from"./PageHeader-CHSgtxPw.js";import{a as y}from"./format-CHfBBLog.js";import{t as b}from"./EmptyState-CIdIlMbn.js";import{t as x}from"./ui-B_uMx2Fy.js";import{t as S}from"./useIsMobileLayout-C6KIQjuh.js";var C=e(i(),1),w=_((e,t)=>({sessions:[],activeSessionId:null,messages:[],loading:!1,sending:!1,_chatWs:null,_chatWsReconnectDelay:1e3,fetchSessions:async()=>{try{e({sessions:(await h(`/chat/sessions`)).sessions})}catch{}},fetchMessages:async t=>{e({loading:!0});try{e({messages:(await h(`/chat/sessions/${t}`)).messages,loading:!1})}catch{e({messages:[],loading:!1})}},sendMessage:async n=>{if(t().sending)return null;e({sending:!0});try{let r=await h(`/chat/messages`,{method:`POST`,body:JSON.stringify({content:n,source:{type:`web`},sessionId:t().activeSessionId??void 0})});return e({activeSessionId:r.sessionId,sending:!1}),t().fetchSessions(),r}catch{return e({sending:!1}),null}},createSession:async()=>{try{let t=await h(`/chat/sessions`,{method:`POST`,body:JSON.stringify({source:{type:`web`}})});return e(e=>({sessions:[t.session,...e.sessions],activeSessionId:t.session.id,messages:[]})),t.session}catch{return null}},archiveSession:async t=>{try{await h(`/chat/sessions/${t}/archive`,{method:`POST`}),e(e=>({sessions:e.sessions.map(e=>e.id===t?{...e,status:`archived`}:e),activeSessionId:e.activeSessionId===t?null:e.activeSessionId,messages:e.activeSessionId===t?[]:e.messages}))}catch{}},restoreSession:async t=>{try{await h(`/chat/sessions/${t}/restore`,{method:`POST`}),e(e=>({sessions:e.sessions.map(e=>e.id===t?{...e,status:`active`}:e)}))}catch{}},deleteSession:async t=>{try{await h(`/chat/sessions/${t}`,{method:`DELETE`}),e(e=>({sessions:e.sessions.filter(e=>e.id!==t),activeSessionId:e.activeSessionId===t?null:e.activeSessionId,messages:e.activeSessionId===t?[]:e.messages}))}catch{}},setActiveSession:n=>{e({activeSessionId:n,messages:[]}),n&&t().fetchMessages(n)},connectChatStream:()=>{let n=t()._chatWs;if(n&&n.readyState<=1)return;let r=window.location.protocol===`https:`?`wss:`:`ws:`,i=localStorage.getItem(`adam_api_key`),a=new URL(`${r}//${window.location.host}/chat/stream`);i&&a.searchParams.set(`api_key`,i);let o=new WebSocket(a.toString());o.onopen=()=>{e({_chatWs:o,_chatWsReconnectDelay:1e3})},o.onclose=()=>{let n=t()._chatWsReconnectDelay;e({_chatWs:null,_chatWsReconnectDelay:Math.min(n*2,1e4)}),setTimeout(()=>{t().connectChatStream()},n)},o.onerror=()=>{o.close()},o.onmessage=n=>{try{let r=JSON.parse(n.data);if(r.type===`chat_message`&&r.message){let n=r.message,{activeSessionId:i,messages:a}=t();if(n.sessionId!==i||a.some(e=>e.id===n.id))return;e(e=>({messages:[...e.messages,n]}))}else r.type===`session_created`&&t().fetchSessions()}catch{}},e({_chatWs:o})},disconnectChatStream:()=>{let n=t()._chatWs;n&&(n.onclose=null,n.onerror=null,n.onmessage=null,n.close(),e({_chatWs:null}))}})),T=p();function E({message:e}){let t=e.role===`user`,n=t?`You`:e.taskId?`Adam · execution`:`Adam`;return(0,T.jsx)(`div`,{className:m(`flex`,t?`justify-end`:`justify-start`),children:(0,T.jsxs)(`div`,{className:m(`max-w-[85%] rounded-lg px-4 py-3 text-sm leading-7 shadow-[var(--app-shadow-md)]`,t?`surface-accent text-white`:`surface-panel text-[var(--app-text)]`),children:[(0,T.jsxs)(`div`,{className:`mb-2 flex items-center gap-2 text-[11px] uppercase tracking-[0.16em]`,children:[(0,T.jsx)(`span`,{className:t?`text-white/70`:`text-[var(--app-kicker)]`,children:n}),(0,T.jsx)(`span`,{className:t?`text-white/45`:`text-[var(--app-text-subtle)]`,children:y(typeof e.createdAt==`number`?e.createdAt:new Date(e.createdAt).getTime())})]}),(0,T.jsx)(`div`,{className:`whitespace-pre-wrap break-words`,children:e.content})]})})}function D({onSend:e,disabled:t,placeholder:n=`Type a message...`,starterActions:r=[],showStarterActions:i=!0,compact:a=!1}){let[o,c]=(0,C.useState)(``),l=(0,C.useRef)(null),u=()=>{let n=o.trim();!n||t||(e(n),c(``),l.current&&(l.current.style.height=`auto`))},d=e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),u())},f=()=>{let e=l.current;e&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,120)}px`)};return(0,T.jsxs)(`div`,{className:a?`rounded-xl border border-[var(--app-border)] bg-white/[0.03] p-3`:`surface-panel-elevated rounded-xl p-3`,children:[i&&r.length>0?(0,T.jsx)(`div`,{className:`mb-3 flex flex-wrap gap-2`,children:r.map(e=>(0,T.jsx)(`button`,{type:`button`,onClick:()=>{c(e.value),requestAnimationFrame(()=>l.current?.focus())},className:`rounded-full border border-[var(--app-border)] bg-white/[0.04] px-3 py-1.5 text-xs font-medium text-[var(--app-text-muted)] transition-colors hover:border-[var(--app-border-strong)] hover:text-[var(--app-text)]`,children:e.label},e.label))}):null,(0,T.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,T.jsx)(`textarea`,{ref:l,value:o,onChange:e=>{c(e.target.value),f()},onKeyDown:d,placeholder:n,disabled:t,rows:1,className:`min-h-12 flex-1 resize-none rounded-lg border border-[var(--app-border)] bg-white/[0.04] px-4 py-3 text-sm text-[var(--app-text)] placeholder:text-[var(--app-text-subtle)] focus:border-[var(--app-border-strong)] focus:outline-none focus:ring-1 focus:ring-[var(--app-accent)] disabled:opacity-50`}),(0,T.jsxs)(g,{onClick:u,disabled:t||!o.trim(),size:`default`,"aria-label":`Send message`,children:[(0,T.jsx)(s,{size:16}),`Send`]})]}),(0,T.jsx)(`div`,{className:`mt-2 text-xs text-[var(--app-text-subtle)]`,children:`Enter to send; Shift+Enter for a new line.`})]})}function O({session:e,isActive:t,onSelect:n,onArchive:r,onRestore:i,onDelete:a}){let o=e.status===`archived`,s=(e,t)=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),t())};return(0,T.jsxs)(`div`,{role:`button`,tabIndex:0,onClick:n,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n())},className:m(`group flex w-full flex-col gap-1 rounded-lg border px-3 py-3 text-left transition-colors`,t?`border-[var(--app-border-strong)] bg-white/[0.08] text-[var(--app-text)]`:`border-transparent text-[var(--app-text-muted)] hover:border-[var(--app-border)] hover:bg-white/[0.04] hover:text-[var(--app-text)]`,o&&`opacity-60`),"aria-label":e.title??e.id.slice(0,8),children:[(0,T.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,T.jsx)(`span`,{className:`truncate text-sm font-medium`,children:e.title??e.id.slice(0,8)}),(0,T.jsxs)(`div`,{className:m(`flex gap-0.5 transition-opacity`,t?`opacity-100`:`opacity-100 lg:opacity-0 lg:group-hover:opacity-100 lg:group-focus-within:opacity-100`),children:[o?(0,T.jsx)(g,{variant:`ghost`,size:`icon`,className:`h-6 w-6 text-[var(--app-text-subtle)] hover:text-[var(--app-success)]`,onClick:e=>{e.stopPropagation(),i()},onKeyDown:e=>s(e,i),title:`Restore session`,"aria-label":`Restore session`,children:(0,T.jsx)(f,{size:x.xs})}):(0,T.jsx)(g,{variant:`ghost`,size:`icon`,className:`h-6 w-6 text-[var(--app-text-subtle)] hover:text-[var(--app-warning)]`,onClick:e=>{e.stopPropagation(),r()},onKeyDown:e=>s(e,r),title:`Archive session`,"aria-label":`Archive session`,children:(0,T.jsx)(u,{size:x.xs})}),(0,T.jsx)(g,{variant:`ghost`,size:`icon`,className:`h-6 w-6 text-[var(--app-text-subtle)] hover:text-[var(--app-danger)]`,onClick:e=>{e.stopPropagation(),a()},onKeyDown:e=>s(e,a),title:`Delete session`,"aria-label":`Delete session`,children:(0,T.jsx)(d,{size:x.xs})})]})]}),(0,T.jsxs)(`div`,{className:`flex items-center gap-2 text-[11px] text-[var(--app-text-subtle)]`,children:[(0,T.jsxs)(`span`,{children:[e.messageCount,` turns`]}),(0,T.jsx)(`span`,{children:y(e.lastActiveAt)}),o&&(0,T.jsx)(`span`,{className:`rounded-full border border-[var(--app-border)] bg-white/[0.04] px-1.5 py-0.5 text-[9px] uppercase tracking-[0.16em]`,children:`archived`})]})]})}function k({sessions:e,activeSessionId:t,onSelectSession:n,onNewSession:i,onArchiveSession:a,onRestoreSession:o,onDeleteSession:s,onClose:c}){let{recentSessions:l,earlierSessions:u,archivedSessions:d,activeSessions:f}=(0,C.useMemo)(()=>{let t=Date.now(),n=1440*60*1e3,r=e.filter(e=>e.status===`active`);return{recentSessions:r.filter(e=>t-e.lastActiveAt<n),earlierSessions:r.filter(e=>t-e.lastActiveAt>=n),archivedSessions:e.filter(e=>e.status===`archived`),activeSessions:r}},[e]);return(0,T.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,T.jsxs)(`div`,{className:`flex items-center justify-between border-b border-[var(--app-border)] px-4 py-3`,children:[(0,T.jsxs)(`div`,{children:[(0,T.jsx)(`span`,{className:`text-section-label`,children:`Sessions`}),(0,T.jsx)(`p`,{className:`mt-1 text-xs text-[var(--app-text-subtle)]`,children:`Switch context or reopen archived work.`})]}),(0,T.jsxs)(g,{variant:`ghost`,size:`sm`,onClick:i,"aria-label":`New session`,children:[(0,T.jsx)(r,{size:14}),(0,T.jsx)(`span`,{className:`hidden sm:inline`,children:`New`})]})]}),(0,T.jsxs)(`div`,{className:`flex-1 overflow-y-auto px-2 py-2`,children:[f.length===0&&d.length===0&&(0,T.jsx)(`div`,{className:`px-2 py-6 text-center text-xs text-[var(--app-text-subtle)]`,children:`No sessions yet`}),l.length>0&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{className:`mb-2 px-2 text-[10px] font-semibold uppercase tracking-[0.18em] text-[var(--app-text-subtle)]`,children:`Today`}),(0,T.jsx)(`div`,{className:`space-y-1`,children:l.map(e=>(0,T.jsx)(O,{session:e,isActive:e.id===t,onSelect:()=>{n(e.id),c?.()},onArchive:()=>a(e.id),onRestore:()=>o(e.id),onDelete:()=>s(e.id)},e.id))})]}),u.length>0&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{className:`mb-2 mt-4 px-2 text-[10px] font-semibold uppercase tracking-[0.18em] text-[var(--app-text-subtle)]`,children:`Earlier`}),(0,T.jsx)(`div`,{className:`space-y-1`,children:u.map(e=>(0,T.jsx)(O,{session:e,isActive:e.id===t,onSelect:()=>{n(e.id),c?.()},onArchive:()=>a(e.id),onRestore:()=>o(e.id),onDelete:()=>s(e.id)},e.id))})]}),d.length>0&&(0,T.jsxs)(T.Fragment,{children:[(0,T.jsx)(`div`,{className:`mb-2 mt-4 px-2 text-[10px] font-semibold uppercase tracking-[0.18em] text-[var(--app-text-subtle)]`,children:`Archived`}),(0,T.jsx)(`div`,{className:`space-y-1`,children:d.map(e=>(0,T.jsx)(O,{session:e,isActive:e.id===t,onSelect:()=>{n(e.id),c?.()},onArchive:()=>a(e.id),onRestore:()=>o(e.id),onDelete:()=>s(e.id)},e.id))})]})]})]})}var A=[{label:`Debug a failure`,value:`Review the most recent failed task and explain the next fix.`},{label:`Summarize status`,value:`Summarize the current system status, blockers, and active work.`},{label:`Plan a task`,value:`Break down the next implementation task into a concrete execution plan.`}];function j(){let e=w(e=>e.sessions),i=w(e=>e.activeSessionId),s=w(e=>e.messages),u=w(e=>e.sending),d=w(e=>e.fetchSessions),f=w(e=>e.sendMessage),p=w(e=>e.createSession),m=w(e=>e.archiveSession),h=w(e=>e.restoreSession),_=w(e=>e.deleteSession),y=w(e=>e.setActiveSession),O=w(e=>e.connectChatStream),j=w(e=>e.disconnectChatStream),N=(0,C.useRef)(null),[P,F]=(0,C.useState)(!1),I=S(1024),L=e.filter(e=>e.status===`active`),R=e.filter(e=>e.status===`archived`),z=e.length>0,B=s.length>0,V=e.find(e=>e.id===i)??null;(0,C.useEffect)(()=>{d()},[d]),(0,C.useEffect)(()=>(O(),()=>j()),[O,j]),(0,C.useEffect)(()=>{N.current?.scrollIntoView?.({behavior:`smooth`})},[s]),(0,C.useEffect)(()=>{I||F(!1)},[I]),(0,C.useEffect)(()=>{if(i||e.length===0)return;let t=[...e].filter(e=>e.status===`active`).sort((e,t)=>t.lastActiveAt-e.lastActiveAt)[0]??[...e].sort((e,t)=>t.lastActiveAt-e.lastActiveAt)[0];t&&y(t.id)},[i,e,y]);let H=async e=>{await f(e)};return(0,T.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-5`,children:[(0,T.jsx)(v,{title:`Chat`,description:z?`Resume the latest session, inspect context, and keep the composer in view.`:`Start the first session and use Adam as the working surface for review, debugging, and planning.`,compact:!0,className:`px-4 py-3 lg:px-4 lg:py-3`,actions:(0,T.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,T.jsxs)(g,{variant:`secondary`,size:`sm`,onClick:()=>void p(),children:[(0,T.jsx)(r,{size:14}),`New Session`]}),(0,T.jsxs)(g,{variant:`secondary`,size:`sm`,className:`lg:hidden`,onClick:()=>F(!0),"aria-label":`Manage sessions`,children:[(0,T.jsx)(t,{size:16}),`Sessions`]})]})}),P?(0,T.jsxs)(`div`,{className:`fixed inset-0 z-40 lg:hidden`,role:`dialog`,"aria-modal":`true`,"aria-label":`Session manager`,children:[(0,T.jsx)(`div`,{className:`absolute inset-0 bg-black/60`,onClick:()=>F(!1)}),(0,T.jsxs)(`div`,{className:`relative z-50 h-full w-full max-w-sm border-r border-[var(--app-border)] bg-[var(--app-canvas)] shadow-[var(--app-shadow-lg)]`,children:[(0,T.jsxs)(`div`,{className:`flex items-center justify-between border-b border-[var(--app-border)] px-4 py-3`,children:[(0,T.jsxs)(`div`,{children:[(0,T.jsx)(`p`,{className:`text-section-label`,children:`Sessions`}),(0,T.jsx)(`p`,{className:`mt-1 text-xs text-[var(--app-text-subtle)]`,children:`Switch, archive, restore, or start a new conversation.`})]}),(0,T.jsx)(g,{variant:`ghost`,size:`icon`,onClick:()=>F(!1),"aria-label":`Close session manager`,children:(0,T.jsx)(l,{size:16})})]}),(0,T.jsx)(k,{sessions:e,activeSessionId:i,onSelectSession:y,onNewSession:()=>{p(),F(!1)},onArchiveSession:e=>void m(e),onRestoreSession:e=>void h(e),onDeleteSession:e=>void _(e),onClose:()=>F(!1)})]})]}):null,(0,T.jsxs)(`div`,{className:`flex min-h-0 flex-1 overflow-hidden rounded-xl border border-[var(--app-border)] bg-[color-mix(in_oklch,var(--app-canvas)_88%,transparent)] shadow-[var(--app-shadow-lg)]`,children:[(0,T.jsx)(`div`,{className:`hidden w-72 flex-shrink-0 border-r border-[var(--app-border)] bg-[color-mix(in_oklch,var(--app-canvas)_90%,transparent)] lg:block`,children:(0,T.jsx)(k,{sessions:e,activeSessionId:i,onSelectSession:y,onNewSession:()=>void p(),onArchiveSession:e=>void m(e),onRestoreSession:e=>void h(e),onDeleteSession:e=>void _(e)})}),(0,T.jsxs)(`div`,{className:`flex flex-1 flex-col`,children:[(0,T.jsx)(`div`,{className:`flex-1 overflow-y-auto px-4 py-4 lg:px-6`,children:B?(0,T.jsxs)(`div`,{className:`mx-auto max-w-4xl space-y-3`,children:[s.map(e=>(0,T.jsx)(E,{message:e},e.id)),(0,T.jsx)(`div`,{ref:N})]}):z?(0,T.jsx)(`div`,{className:`mx-auto flex h-full w-full max-w-4xl items-start`,children:(0,T.jsxs)(`div`,{className:`surface-panel-muted flex w-full flex-col gap-4 rounded-xl p-5`,children:[(0,T.jsxs)(`div`,{className:`flex flex-wrap items-start justify-between gap-3`,children:[(0,T.jsxs)(`div`,{className:`space-y-1`,children:[(0,T.jsx)(`p`,{className:`text-kicker`,children:`Working Surface`}),(0,T.jsx)(`h2`,{className:`text-xl font-semibold text-[var(--app-text)]`,children:V?`Session ${V.title??V.id.slice(0,8)}`:`Pick a session to continue`}),(0,T.jsx)(`p`,{className:`max-w-2xl text-sm leading-6 text-[var(--app-text-muted)]`,children:V?`This session has no loaded transcript yet. Continue here or start a new thread without leaving the page.`:`Archived history exists, but no session is active. Select one from the rail or start a new conversation.`})]}),(0,T.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2 text-xs text-[var(--app-text-subtle)]`,children:[(0,T.jsxs)(`span`,{children:[L.length,` active`]}),(0,T.jsxs)(`span`,{children:[R.length,` archived`]})]})]}),(0,T.jsx)(`div`,{className:`grid gap-3 md:grid-cols-3`,children:A.map(e=>(0,T.jsxs)(`button`,{type:`button`,onClick:()=>void H(e.value),className:`rounded-xl border border-[var(--app-border)] bg-white/[0.03] p-4 text-left transition-colors hover:border-[var(--app-border-strong)] hover:bg-white/[0.05]`,children:[(0,T.jsx)(`div`,{className:`text-sm font-semibold text-[var(--app-text)]`,children:e.label}),(0,T.jsx)(`div`,{className:`mt-1 text-sm leading-6 text-[var(--app-text-muted)]`,children:e.value})]},e.label))})]})}):(0,T.jsx)(b,{icon:(0,T.jsx)(c,{size:x.hero}),title:`Start a conversation with Adam`,description:`Use the starter prompts below to inspect recent work, diagnose failures, or create an execution plan.`,className:`h-full min-h-[24rem]`,action:(0,T.jsxs)(`div`,{className:`grid gap-3 text-left sm:grid-cols-3`,children:[(0,T.jsx)(M,{icon:o,title:`Inspect live status`,description:`Summarize active work, risk, and recent changes.`}),(0,T.jsx)(M,{icon:a,title:`Dig into a task`,description:`Review recent execution output and the next concrete step.`}),(0,T.jsx)(M,{icon:n,title:`Recover context`,description:`Continue from the latest session without losing history.`})]})})}),(0,T.jsx)(`div`,{className:`mx-auto w-full max-w-4xl px-4 pb-4 lg:px-6`,children:(0,T.jsx)(D,{onSend:H,disabled:u,starterActions:A,showStarterActions:!z&&!B,compact:z})})]})]})]})}function M({icon:e,title:t,description:n}){return(0,T.jsxs)(`div`,{className:`surface-panel-muted rounded-lg p-4`,children:[(0,T.jsx)(`div`,{className:`mb-3 flex h-10 w-10 items-center justify-center rounded-lg bg-white/[0.05] text-[var(--app-kicker)]`,children:(0,T.jsx)(e,{size:x.lg})}),(0,T.jsx)(`div`,{className:`text-sm font-semibold text-[var(--app-text)]`,children:t}),(0,T.jsx)(`div`,{className:`mt-1 text-sm leading-6 text-[var(--app-text-muted)]`,children:n})]})}export{j as Chat};
|