jim800121chen 3d30fdc580 feat(local-agent): TLS skip opt-in for self-signed stage + exchange envelope 對齊
- 新增 VISIONA_INSECURE_SKIP_TLS_VERIFY(DEV/TEST ONLY、須明確 opt-in "true"):
  pairing exchange HTTP client、tunnel WSS dialer、設定頁 TestConnection 三路徑
  共用 TLSConfigForDial(含 ALPN 釘 http/1.1);NewApp 唯一 env 讀取點注入欄位
- exchangeResponse 對齊雲端 /api/pairing/exchange success envelope
  (account/relay_url 選填 fallback 保留、舊頂層格式回歸防護)
- .gitignore:.env.stage* + !.env.stage.example + *.pptx(堵 secrets 誤入)
- start-agent.sh(新增):public 模式 export skip env + 預檢 curl https 帶 -k
- 測試:自簽 TLS server 行為級(預設拒絕驗 x509 / 開啟通過)+ opt-in 規則
  11+5 案例 + TestConnection 3 測試;go build/vet/test 3 packages 全綠
- review:2 輪通過(.autoflow/05-implementation/review/tls-skip-uncommitted-batch-review.md)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-10 09:01:10 +08:00

11 lines
124 KiB
JavaScript

(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,52683,e=>{"use strict";let t,r;var n,a,o,i,s,l,c,d=e.i(98134),u=e.i(75201),f=e.i(3790);let p=(0,f.default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]),v=(0,f.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),h=(0,f.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);var m=e.i(42092),g=e.i(7284);let x=e=>"boolean"==typeof e?`${e}`:0===e?"0":e,b=g.clsx,y=(e,t)=>r=>{var n;if((null==t?void 0:t.variants)==null)return b(e,null==r?void 0:r.class,null==r?void 0:r.className);let{variants:a,defaultVariants:o}=t,i=Object.keys(a).map(e=>{let t=null==r?void 0:r[e],n=null==o?void 0:o[e];if(null===t)return null;let i=x(t)||x(n);return a[e][i]}),s=r&&Object.entries(r).reduce((e,t)=>{let[r,n]=t;return void 0===n||(e[r]=n),e},{});return b(e,i,null==t||null==(n=t.compoundVariants)?void 0:n.reduce((e,t)=>{let{class:r,className:n,...a}=t;return Object.entries(a).every(e=>{let[t,r]=e;return Array.isArray(r)?r.includes({...o,...s}[t]):({...o,...s})[t]===r})?[...e,r,n]:e},[]),null==r?void 0:r.class,null==r?void 0:r.className)};var w=e.i(97245),w=w,j=e.i(75157);let S=y("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",xs:"h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function C({className:e,variant:t="default",size:r="default",asChild:n=!1,...a}){let o=n?w.Root:"button";return(0,d.jsx)(o,{"data-slot":"button","data-variant":t,"data-size":r,className:(0,j.cn)(S({variant:t,size:r,className:e})),...a})}var k=e.i(46798),E=e.i(44674),R=e.i(6901),N=e.i(84344),N=N,A=e.i(84086),A=A;let T=(0,f.default)("power-off",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),P=(0,f.default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),I=(0,f.default)("unlink",[["path",{d:"m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71",key:"yqzxt4"}],["path",{d:"m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71",key:"4qinb0"}],["line",{x1:"8",x2:"8",y1:"2",y2:"5",key:"1041cp"}],["line",{x1:"2",x2:"5",y1:"8",y2:"8",key:"14m1p5"}],["line",{x1:"16",x2:"16",y1:"19",y2:"22",key:"rzdirn"}],["line",{x1:"19",x2:"22",y1:"16",y2:"16",key:"ox905f"}]]),L={online:{i18nKey:"connection.online",Icon:A.default,dotClass:"bg-status-online"},offline:{i18nKey:"connection.offline",Icon:T,dotClass:"bg-status-offline"},reconnecting:{i18nKey:"connection.reconnecting",Icon:P,dotClass:"bg-status-reconnecting motion-safe:animate-pulse",animate:!0,iconAnimate:!0},"not-paired":{i18nKey:"connection.notPaired",Icon:I,dotClass:"bg-status-idle"},error:{i18nKey:"connection.error",Icon:N.default,dotClass:"bg-status-error"}};function D({status:e="not-paired",className:t}){let r=(0,E.useT)(),n=L[e],a=r(n.i18nKey);return(0,d.jsxs)("span",{role:"status","aria-live":"polite","aria-label":a,"data-testid":"connection-status-badge","data-status":e,className:(0,j.cn)("inline-flex items-center gap-1.5 rounded-full border px-2.5 py-1 text-xs font-medium","border-border bg-card text-foreground/80",t),children:[(0,d.jsx)("span",{"aria-hidden":"true",className:(0,j.cn)("inline-block size-2 shrink-0 rounded-full",n.dotClass)}),(0,d.jsx)(n.Icon,{"aria-hidden":"true",className:(0,j.cn)("size-3.5 shrink-0",n.iconAnimate&&"motion-safe:animate-spin")}),(0,d.jsx)("span",{children:a})]})}function z(){let e=(0,E.useT)();return(0,d.jsxs)("header",{"data-slot":"header",className:(0,j.cn)("flex h-14 shrink-0 items-center gap-3 border-b px-4","bg-sidebar text-sidebar-foreground border-sidebar-border"),children:[(0,d.jsxs)("div",{className:"flex items-center gap-2","aria-label":e("app.title"),children:[(0,d.jsx)("span",{"aria-hidden":"true",className:"bg-primary text-primary-foreground grid size-7 place-items-center rounded-md text-xs font-bold",children:"vA"}),(0,d.jsx)("span",{className:"text-sm font-semibold",children:e("app.title")})]}),(0,d.jsx)("div",{className:"flex-1"}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(D,{}),(0,d.jsx)(_,{}),(0,d.jsx)(M,{})]})]})}function _(){let{locale:e,setLocale:t}=(0,E.useLocale)(),r=(0,E.useT)();return(0,d.jsxs)(k.Tooltip,{children:[(0,d.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,d.jsx)(C,{variant:"ghost",size:"icon-sm","aria-label":r("header.toggleLocale"),onClick:function(){let r=R.SUPPORTED_LOCALES.indexOf(e);t(R.SUPPORTED_LOCALES[(r+1)%R.SUPPORTED_LOCALES.length])},"data-testid":"locale-toggle",children:(0,d.jsx)(p,{className:"size-4","aria-hidden":"true"})})}),(0,d.jsxs)(k.TooltipContent,{side:"bottom",children:[r("header.toggleLocale")," · ",e]})]})}function M(){let{theme:e,setTheme:t,resolvedTheme:r}=(0,m.useTheme)(),n=(0,E.useT)();return(0,d.jsxs)(k.Tooltip,{children:[(0,d.jsx)(k.TooltipTrigger,{asChild:!0,children:(0,d.jsx)(C,{variant:"ghost",size:"icon-sm","aria-label":n("header.toggleTheme"),onClick:function(){"dark"===r?t("light"):t("dark")},"data-testid":"theme-toggle",children:"dark"===e||"dark"===r?(0,d.jsx)(v,{className:"size-4","aria-hidden":"true"}):(0,d.jsx)(h,{className:"size-4","aria-hidden":"true"})})}),(0,d.jsx)(k.TooltipContent,{side:"bottom",children:n("header.toggleTheme")})]})}function O({children:e}){return(0,d.jsxs)("div",{className:"flex min-h-dvh flex-col","data-testid":"agent-app-shell",children:[(0,d.jsx)(z,{}),(0,d.jsx)("main",{className:"flex-1 min-w-0 overflow-y-auto",children:e})]})}var H=e.i(91967),F=e.i(38082),U=e.i(50888),K=w;function B(e){let t=e+"CollectionProvider",[r,n]=(0,F.createContextScope)(t),[a,o]=r(t,{collectionRef:{current:null},itemMap:new Map}),i=e=>{let{scope:t,children:r}=e,n=u.default.useRef(null),o=u.default.useRef(new Map).current;return(0,d.jsx)(a,{scope:t,itemMap:o,collectionRef:n,children:r})};i.displayName=t;let s=e+"CollectionSlot",l=(0,K.createSlot)(s),c=u.default.forwardRef((e,t)=>{let{scope:r,children:n}=e,a=o(s,r),i=(0,U.useComposedRefs)(t,a.collectionRef);return(0,d.jsx)(l,{ref:i,children:n})});c.displayName=s;let f=e+"CollectionItemSlot",p="data-radix-collection-item",v=(0,K.createSlot)(f),h=u.default.forwardRef((e,t)=>{let{scope:r,children:n,...a}=e,i=u.default.useRef(null),s=(0,U.useComposedRefs)(t,i),l=o(f,r);return u.default.useEffect(()=>(l.itemMap.set(i,{ref:i,...a}),()=>void l.itemMap.delete(i))),(0,d.jsx)(v,{...{[p]:""},ref:s,children:n})});return h.displayName=f,[{Provider:i,Slot:c,ItemSlot:h},function(t){let r=o(e+"CollectionConsumer",t);return u.default.useCallback(()=>{let e=r.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${p}]`));return Array.from(r.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[r.collectionRef,r.itemMap])},n]}var V=new WeakMap;function W(e,t){var r,n;let a,o,i;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let s=(r=e,n=t,a=r.length,(i=(o=$(n))>=0?o:a+o)<0||i>=a?-1:i);return -1===s?void 0:e[s]}function $(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],V.set(this,!0)}set(e,t){return V.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let n,a=this.has(t),o=this.#e.length,i=$(e),s=i>=0?i:o+i,l=s<0||s>=o?-1:s;if(l===this.size||a&&l===this.size-1||-1===l)return this.set(t,r),this;let c=this.size+ +!a;i<0&&s++;let d=[...this.#e],u=!1;for(let e=s;e<c;e++)if(s===e){let o=d[e];d[e]===t&&(o=d[e+1]),a&&this.delete(t),n=this.get(o),this.set(t,r)}else{u||d[e-1]!==t||(u=!0);let r=d[u?e:e-1],a=n;n=this.get(r),this.delete(r),this.set(r,a)}return this}with(t,r,n){let a=new e(this);return a.insert(t,r,n),a}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=W(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=W(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return W(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.at(n)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.keyAt(n)}find(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return n;r++}}findIndex(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return r;r++}return -1}filter(t,r){let n=[],a=0;for(let e of this)Reflect.apply(t,r,[e,a,this])&&n.push(e),a++;return new e(n)}map(t,r){let n=[],a=0;for(let e of this)n.push([e[0],Reflect.apply(t,r,[e,a,this])]),a++;return new e(n)}reduce(...e){let[t,r]=e,n=0,a=r??this.at(0);for(let r of this)a=0===n&&1===e.length?r:Reflect.apply(t,this,[a,r,n,this]),n++;return a}reduceRight(...e){let[t,r]=e,n=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let a=this.at(r);n=r===this.size-1&&1===e.length?a:Reflect.apply(t,this,[n,a,r,this])}return n}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),n=this.get(r);t.set(r,n)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let n=new e,a=this.size-1;if(void 0===t)return n;t<0&&(t+=this.size),void 0!==r&&r>0&&(a=r-1);for(let e=t;e<=a;e++){let t=this.keyAt(e),r=this.get(t);n.set(t,r)}return n}every(e,t){let r=0;for(let n of this){if(!Reflect.apply(e,t,[n,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return!0;r++}return!1}});var q=e.i(54041),Y=e.i(85381),X=e.i(84080),G=e.i(38185),Z=u.createContext(void 0);function J(e){let t=u.useContext(Z);return e||t||"ltr"}var Q="rovingFocusGroup.onEntryFocus",ee={bubbles:!1,cancelable:!0},et="RovingFocusGroup",[er,en,ea]=B(et),[eo,ei]=(0,F.createContextScope)(et,[ea]),[es,el]=eo(et),ec=u.forwardRef((e,t)=>(0,d.jsx)(er.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(er.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,d.jsx)(ed,{...e,ref:t})})}));ec.displayName=et;var ed=u.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:r,orientation:n,loop:a=!1,dir:o,currentTabStopId:i,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:l,onEntryFocus:c,preventScrollOnEntryFocus:f=!1,...p}=e,v=u.useRef(null),h=(0,U.useComposedRefs)(t,v),m=J(o),[g,x]=(0,G.useControllableState)({prop:i,defaultProp:s??null,onChange:l,caller:et}),[b,y]=u.useState(!1),w=(0,X.useCallbackRef)(c),j=en(r),S=u.useRef(!1),[C,k]=u.useState(0);return u.useEffect(()=>{let e=v.current;if(e)return e.addEventListener(Q,w),()=>e.removeEventListener(Q,w)},[w]),(0,d.jsx)(es,{scope:r,orientation:n,dir:m,loop:a,currentTabStopId:g,onItemFocus:u.useCallback(e=>x(e),[x]),onItemShiftTab:u.useCallback(()=>y(!0),[]),onFocusableItemAdd:u.useCallback(()=>k(e=>e+1),[]),onFocusableItemRemove:u.useCallback(()=>k(e=>e-1),[]),children:(0,d.jsx)(Y.Primitive.div,{tabIndex:b||0===C?-1:0,"data-orientation":n,...p,ref:h,style:{outline:"none",...e.style},onMouseDown:(0,H.composeEventHandlers)(e.onMouseDown,()=>{S.current=!0}),onFocus:(0,H.composeEventHandlers)(e.onFocus,e=>{let t=!S.current;if(e.target===e.currentTarget&&t&&!b){let t=new CustomEvent(Q,ee);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=j().filter(e=>e.focusable);ev([e.find(e=>e.active),e.find(e=>e.id===g),...e].filter(Boolean).map(e=>e.ref.current),f)}}S.current=!1}),onBlur:(0,H.composeEventHandlers)(e.onBlur,()=>y(!1))})})}),eu="RovingFocusGroupItem",ef=u.forwardRef((e,t)=>{let{__scopeRovingFocusGroup:r,focusable:n=!0,active:a=!1,tabStopId:o,children:i,...s}=e,l=(0,q.useId)(),c=o||l,f=el(eu,r),p=f.currentTabStopId===c,v=en(r),{onFocusableItemAdd:h,onFocusableItemRemove:m,currentTabStopId:g}=f;return u.useEffect(()=>{if(n)return h(),()=>m()},[n,h,m]),(0,d.jsx)(er.ItemSlot,{scope:r,id:c,focusable:n,active:a,children:(0,d.jsx)(Y.Primitive.span,{tabIndex:p?0:-1,"data-orientation":f.orientation,...s,ref:t,onMouseDown:(0,H.composeEventHandlers)(e.onMouseDown,e=>{n?f.onItemFocus(c):e.preventDefault()}),onFocus:(0,H.composeEventHandlers)(e.onFocus,()=>f.onItemFocus(c)),onKeyDown:(0,H.composeEventHandlers)(e.onKeyDown,e=>{if("Tab"===e.key&&e.shiftKey)return void f.onItemShiftTab();if(e.target!==e.currentTarget)return;let t=function(e,t,r){var n;let a=(n=e.key,"rtl"!==r?n:"ArrowLeft"===n?"ArrowRight":"ArrowRight"===n?"ArrowLeft":n);if(!("vertical"===t&&["ArrowLeft","ArrowRight"].includes(a))&&!("horizontal"===t&&["ArrowUp","ArrowDown"].includes(a)))return ep[a]}(e,f.orientation,f.dir);if(void 0!==t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let a=v().filter(e=>e.focusable).map(e=>e.ref.current);if("last"===t)a.reverse();else if("prev"===t||"next"===t){var r,n;"prev"===t&&a.reverse();let o=a.indexOf(e.currentTarget);a=f.loop?(r=a,n=o+1,r.map((e,t)=>r[(n+t)%r.length])):a.slice(o+1)}setTimeout(()=>ev(a))}}),children:"function"==typeof i?i({isCurrentTabStop:p,hasTabStop:null!=g}):i})})});ef.displayName=eu;var ep={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function ev(e,t=!1){let r=document.activeElement;for(let n of e)if(n===r||(n.focus({preventScroll:t}),document.activeElement!==r))return}var eh=e.i(69060),em="Tabs",[eg,ex]=(0,F.createContextScope)(em,[ei]),eb=ei(),[ey,ew]=eg(em),ej=u.forwardRef((e,t)=>{let{__scopeTabs:r,value:n,onValueChange:a,defaultValue:o,orientation:i="horizontal",dir:s,activationMode:l="automatic",...c}=e,u=J(s),[f,p]=(0,G.useControllableState)({prop:n,onChange:a,defaultProp:o??"",caller:em});return(0,d.jsx)(ey,{scope:r,baseId:(0,q.useId)(),value:f,onValueChange:p,orientation:i,dir:u,activationMode:l,children:(0,d.jsx)(Y.Primitive.div,{dir:u,"data-orientation":i,...c,ref:t})})});ej.displayName=em;var eS="TabsList",eC=u.forwardRef((e,t)=>{let{__scopeTabs:r,loop:n=!0,...a}=e,o=ew(eS,r),i=eb(r);return(0,d.jsx)(ec,{asChild:!0,...i,orientation:o.orientation,dir:o.dir,loop:n,children:(0,d.jsx)(Y.Primitive.div,{role:"tablist","aria-orientation":o.orientation,...a,ref:t})})});eC.displayName=eS;var ek="TabsTrigger",eE=u.forwardRef((e,t)=>{let{__scopeTabs:r,value:n,disabled:a=!1,...o}=e,i=ew(ek,r),s=eb(r),l=eA(i.baseId,n),c=eT(i.baseId,n),u=n===i.value;return(0,d.jsx)(ef,{asChild:!0,...s,focusable:!a,active:u,children:(0,d.jsx)(Y.Primitive.button,{type:"button",role:"tab","aria-selected":u,"aria-controls":c,"data-state":u?"active":"inactive","data-disabled":a?"":void 0,disabled:a,id:l,...o,ref:t,onMouseDown:(0,H.composeEventHandlers)(e.onMouseDown,e=>{a||0!==e.button||!1!==e.ctrlKey?e.preventDefault():i.onValueChange(n)}),onKeyDown:(0,H.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&i.onValueChange(n)}),onFocus:(0,H.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==i.activationMode;u||a||!e||i.onValueChange(n)})})})});eE.displayName=ek;var eR="TabsContent",eN=u.forwardRef((e,t)=>{let{__scopeTabs:r,value:n,forceMount:a,children:o,...i}=e,s=ew(eR,r),l=eA(s.baseId,n),c=eT(s.baseId,n),f=n===s.value,p=u.useRef(f);return u.useEffect(()=>{let e=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,d.jsx)(eh.Presence,{present:a||f,children:({present:r})=>(0,d.jsx)(Y.Primitive.div,{"data-state":f?"active":"inactive","data-orientation":s.orientation,role:"tabpanel","aria-labelledby":l,hidden:!r,id:c,tabIndex:0,...i,ref:t,style:{...e.style,animationDuration:p.current?"0s":void 0},children:r&&o})})});function eA(e,t){return`${e}-trigger-${t}`}function eT(e,t){return`${e}-content-${t}`}eN.displayName=eR,e.s(["Content",()=>eN,"List",()=>eC,"Root",()=>ej,"Tabs",()=>ej,"TabsContent",()=>eN,"TabsList",()=>eC,"TabsTrigger",()=>eE,"Trigger",()=>eE,"createTabsScope",()=>ex],26941);var eP=e.i(26941),eP=eP;function eI({className:e,orientation:t="horizontal",...r}){return(0,d.jsx)(eP.Root,{"data-slot":"tabs","data-orientation":t,orientation:t,className:(0,j.cn)("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col",e),...r})}let eL=y("rounded-lg p-[3px] group-data-[orientation=horizontal]/tabs:h-9 data-[variant=line]:rounded-none group/tabs-list text-muted-foreground inline-flex w-fit items-center justify-center group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col",{variants:{variant:{default:"bg-muted",line:"gap-1 bg-transparent"}},defaultVariants:{variant:"default"}});function eD({className:e,variant:t="default",...r}){return(0,d.jsx)(eP.List,{"data-slot":"tabs-list","data-variant":t,className:(0,j.cn)(eL({variant:t}),e),...r})}function ez({className:e,...t}){return(0,d.jsx)(eP.Trigger,{"data-slot":"tabs-trigger",className:(0,j.cn)("focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring text-foreground/60 hover:text-foreground dark:text-muted-foreground dark:hover:text-foreground relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent","data-[state=active]:bg-background dark:data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 data-[state=active]:text-foreground","after:bg-foreground after:absolute after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100",e),...t})}function e_({className:e,...t}){return(0,d.jsx)(eP.Content,{"data-slot":"tabs-content",className:(0,j.cn)("flex-1 outline-none",e),...t})}let eM=[{value:"status",i18nKey:"nav.status"},{value:"pair",i18nKey:"nav.pair"},{value:"settings",i18nKey:"nav.settings"}];function eO(){let e=(0,E.useT)();return(0,d.jsx)(eD,{"data-testid":"agent-tab-list","aria-label":e("nav.status"),className:"w-full",children:eM.map(({value:t,i18nKey:r})=>(0,d.jsx)(ez,{value:t,"data-testid":`agent-tab-trigger-${t}`,children:e(r)},t))})}let eH=(0,f.default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);var eF=e.i(54219);let eU=(0,f.default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);var A=A;function eK({className:e,type:t,...r}){return(0,d.jsx)("input",{type:t,"data-slot":"input",className:(0,j.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...r})}var eB=u.forwardRef((e,t)=>(0,d.jsx)(Y.Primitive.label,{...e,ref:t,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));eB.displayName="Label",e.s(["Label",()=>eB,"Root",()=>eB],36763);var eV=e.i(36763),eV=eV;function eW({className:e,...t}){return(0,d.jsx)(eV.Root,{"data-slot":"label",className:(0,j.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...t})}let e$=/^vAc_[a-f0-9]{32}$/i;function eq(e){let t=e.trim();return 0===t.length?"empty":e$.test(t)?"valid":"invalid"}function eY({id:e="pairing-token",value:t,onChange:r,onSubmit:n,disabled:a=!1,autoFocus:o=!1}){let i=(0,E.useT)(),s=eq(t),l=`${e}-hint`,c="invalid"===s?"border-destructive focus-visible:ring-destructive/30":"valid"===s?"border-status-online focus-visible:ring-status-online/30":"";return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(eW,{htmlFor:e,children:i("pair.input.label")}),(0,d.jsx)(eK,{id:e,type:"text",value:t,onChange:function(e){r(e.target.value.replace(/\s+/g,""))},onFocus:function(e){e.currentTarget.select()},onKeyDown:function(e){"Enter"===e.key&&"valid"===s&&n&&(e.preventDefault(),n())},disabled:a,autoFocus:o,spellCheck:!1,autoCapitalize:"none",autoComplete:"off",placeholder:i("pair.input.placeholder"),"aria-invalid":"invalid"===s,"aria-describedby":l,"data-testid":"token-input","data-validity":s,className:(0,j.cn)("font-mono text-sm",c)}),(0,d.jsx)(eX,{id:l,validity:s})]})}function eX({id:e,validity:t}){let r=(0,E.useT)();return"empty"===t?(0,d.jsx)("p",{id:e,className:"text-muted-foreground flex items-center gap-1.5 text-xs",children:r("pair.input.hintEmpty")}):"invalid"===t?(0,d.jsxs)("p",{id:e,"aria-live":"polite",className:"text-destructive flex items-center gap-1.5 text-xs",children:[(0,d.jsx)(eU,{"aria-hidden":"true",className:"size-3.5 shrink-0"}),(0,d.jsx)("span",{children:r("pair.input.errorFormat")})]}):(0,d.jsxs)("p",{id:e,"aria-live":"polite",className:"text-status-online flex items-center gap-1.5 text-xs",children:[(0,d.jsx)(A.default,{"aria-hidden":"true",className:"size-3.5 shrink-0"}),(0,d.jsx)("span",{children:r("pair.input.valid")})]})}let eG=y("relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",{variants:{variant:{default:"bg-card text-card-foreground",destructive:"text-destructive bg-card border-destructive/40 [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90",info:"border-blue-300/60 bg-blue-50 text-blue-900 dark:border-blue-500/30 dark:bg-blue-950/30 dark:text-blue-100 *:data-[slot=alert-description]:text-blue-800/90 dark:*:data-[slot=alert-description]:text-blue-200/80"}},defaultVariants:{variant:"default"}});function eZ({className:e,variant:t,...r}){return(0,d.jsx)("div",{"data-slot":"alert","data-variant":t??"default",role:"alert",className:(0,j.cn)(eG({variant:t}),e),...r})}function eJ({className:e,...t}){return(0,d.jsx)("div",{"data-slot":"alert-description",className:(0,j.cn)("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",e),...t})}function eQ({className:e,...t}){return(0,d.jsx)("div",{"data-slot":"card",className:(0,j.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...t})}function e0({className:e,...t}){return(0,d.jsx)("div",{"data-slot":"card-content",className:(0,j.cn)("px-6",e),...t})}var e1=e.i(462);let e2={sm:"size-4",md:"size-5",lg:"size-8"};function e4({size:e="md",label:t="Loading",className:r,...n}){return(0,d.jsxs)("span",{role:"status","aria-live":"polite","data-slot":"spinner",className:(0,j.cn)("inline-flex items-center justify-center",r),...n,children:[(0,d.jsx)(e1.Loader2Icon,{className:(0,j.cn)("animate-spin",e2[e]),"aria-hidden":!0}),(0,d.jsx)("span",{className:"sr-only",children:t})]})}function e3(){let e=window;return!!e.go?.main?.App}let e5=()=>{};function e6(){let e=window,t=e.go?.main?.App;if(!t)throw Error("agent-api: Wails binding not available (window.go.main.App missing)");return t}function e8(e){let t={state:function(e){switch(e){case"notPaired":case"connecting":case"online":case"reconnecting":case"offline":case"error":return e;default:return"error"}}(e.state),relayUrl:e.relayUrl??""};return e.error&&(t.error=e.error),e.attemptNo&&(t.attemptNo=e.attemptNo),e.account&&(t.account=e.account),e.connectedSince&&e.connectedSince>0&&(t.connectedSince=new Date(e.connectedSince).toISOString()),e.sessionTokenPreview&&(t.sessionTokenPreview=e.sessionTokenPreview),t}let e9={state:"notPaired",relayUrl:"wss://relay.visionA.cloud"},e7={relayUrl:"wss://relay.visionA.cloud",autoStart:!1,reconnectStrategy:"auto",logLevel:"info"},te={...e7},tt={getConnectionStatus:async()=>({...e9}),async pair(e){if(await tr(800),!/^vAc_[a-f0-9]{32}$/i.test(e))throw{code:"token_invalid"}},async unpair(){te={...e7}},async reconnect(){},async disconnect(){},getAgentSettings:async()=>({...te}),async saveAgentSettings(e){te={...e}},testConnection:async e=>(await tr(500),/^wss?:\/\//i.test(e))?{ok:!0,latencyMs:42}:{ok:!1,reason:"URL must start with ws:// or wss://"},async resetAllSettings(){te={...e7}},getRecentLogs:async()=>[],exportLog:async()=>(await tr(300),"~/Downloads/visionA-agent-log-mock.zip")};function tr(e){return new Promise(t=>setTimeout(t,e))}let tn={getConnectionStatus:async()=>e3()?e8(await e6().GetConnectionStatus()):tt.getConnectionStatus(),async pair(e){if(!e3())return tt.pair(e);try{await e6().Pair(e)}catch(t){let e;throw{code:(e=(t instanceof Error?t.message:String(t)).toLowerCase()).includes("token")&&e.includes("format")?"token_invalid":e.includes("token")&&e.includes("expired")?"token_expired":e.includes("token")&&e.includes("already used")?"token_used":e.includes("token")&&e.includes("revoked")?"token_revoked":e.includes("token")&&e.includes("invalid")?"token_invalid":e.includes("relay")||e.includes("websocket")||e.includes("dial")||e.includes("connection refused")?"relay_unreachable":e.includes("network")||e.includes("timeout")||e.includes("no such host")?"network_error":"unknown"}}},unpair:async()=>e3()?e6().Unpair():tt.unpair(),reconnect:async()=>e3()?e6().Reconnect():tt.reconnect(),disconnect:async()=>e3()?e6().Disconnect():tt.disconnect(),async getAgentSettings(){if(!e3())return tt.getAgentSettings();let e=await e6().GetAgentSettings();return{relayUrl:e.relayUrl,autoStart:e.autoStart,reconnectStrategy:e.reconnectStrategy,logLevel:e.logLevel}},saveAgentSettings:async e=>e3()?e6().SaveAgentSettings({relayUrl:e.relayUrl,autoStart:e.autoStart,reconnectStrategy:e.reconnectStrategy,logLevel:e.logLevel}):tt.saveAgentSettings(e),async testConnection(e){if(!e3())return tt.testConnection(e);let t=await e6().TestConnection(e);return{ok:t.ok,latencyMs:t.latencyMs,reason:t.reason}},resetAllSettings:async()=>e3()?e6().ResetAllSettings():tt.resetAllSettings(),getRecentLogs:async e=>e3()?[]:tt.getRecentLogs(),exportLog:async()=>e3()?e6().ExportLog():tt.exportLog(),openURL(e){if(e3()){let t=window,r=t.runtime?.BrowserOpenURL;if(r)return void r(e)}window.open(e,"_blank","noopener,noreferrer")}};function ta({snapshot:e,className:t}){let r=(0,E.useT)(),n=function(e){if(!e)return null;let t=new Date(e);if(Number.isNaN(t.getTime()))return null;let r=t.getFullYear(),n=String(t.getMonth()+1).padStart(2,"0"),a=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),i=String(t.getMinutes()).padStart(2,"0");return`${r}-${n}-${a} ${o}:${i}`}(e.connectedSince),a=function(e){if(!e)return null;let t=e.match(/([a-zA-Z0-9]{2,})\s*$/);return t?t[1].slice(-4):null}(e.sessionTokenPreview),o=[{label:r("status.info.account"),value:e.account??"—"},{label:r("status.info.relayUrl"),value:e.relayUrl},{label:r("status.info.connectedAt"),value:n??"—"},{label:r("status.info.sessionToken"),value:e.sessionTokenPreview??"—","aria-label":a?r("status.info.sessionToken.aria").replace("{last4}",a):void 0}];return(0,d.jsx)("dl",{"data-testid":"info-card",className:(0,j.cn)("grid gap-3 text-sm",t),children:o.map(e=>(0,d.jsxs)("div",{className:"grid grid-cols-[120px_1fr] items-baseline gap-3",children:[(0,d.jsx)("dt",{className:"text-muted-foreground",children:e.label}),(0,d.jsx)("dd",{className:(0,j.cn)("font-mono break-all",e.valueClass),"aria-label":e["aria-label"],children:e.value})]},e.label))})}var A=A;let to=(0,f.default)("power",[["path",{d:"M12 2v10",key:"mnfbl"}],["path",{d:"M18.4 6.6a9 9 0 1 1-12.77.04",key:"obofu9"}]]),ti=(0,f.default)("settings",[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);var ts=e.i(88577);function tl(e,[t,r]){return Math.min(r,Math.max(t,e))}var tc="ScrollArea",[td,tu]=(0,F.createContextScope)(tc),[tf,tp]=td(tc),tv=u.forwardRef((e,t)=>{let{__scopeScrollArea:r,type:n="hover",dir:a,scrollHideDelay:o=600,...i}=e,[s,l]=u.useState(null),[c,f]=u.useState(null),[p,v]=u.useState(null),[h,m]=u.useState(null),[g,x]=u.useState(null),[b,y]=u.useState(0),[w,j]=u.useState(0),[S,C]=u.useState(!1),[k,E]=u.useState(!1),R=(0,U.useComposedRefs)(t,e=>l(e)),N=J(a);return(0,d.jsx)(tf,{scope:r,type:n,dir:N,scrollHideDelay:o,scrollArea:s,viewport:c,onViewportChange:f,content:p,onContentChange:v,scrollbarX:h,onScrollbarXChange:m,scrollbarXEnabled:S,onScrollbarXEnabledChange:C,scrollbarY:g,onScrollbarYChange:x,scrollbarYEnabled:k,onScrollbarYEnabledChange:E,onCornerWidthChange:y,onCornerHeightChange:j,children:(0,d.jsx)(Y.Primitive.div,{dir:N,...i,ref:R,style:{position:"relative","--radix-scroll-area-corner-width":b+"px","--radix-scroll-area-corner-height":w+"px",...e.style}})})});tv.displayName=tc;var th="ScrollAreaViewport",tm=u.forwardRef((e,t)=>{let{__scopeScrollArea:r,children:n,nonce:a,...o}=e,i=tp(th,r),s=u.useRef(null),l=(0,U.useComposedRefs)(t,s,i.onViewportChange);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:a}),(0,d.jsx)(Y.Primitive.div,{"data-radix-scroll-area-viewport":"",...o,ref:l,style:{overflowX:i.scrollbarXEnabled?"scroll":"hidden",overflowY:i.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,d.jsx)("div",{ref:i.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});tm.displayName=th;var tg="ScrollAreaScrollbar",tx=u.forwardRef((e,t)=>{let{forceMount:r,...n}=e,a=tp(tg,e.__scopeScrollArea),{onScrollbarXEnabledChange:o,onScrollbarYEnabledChange:i}=a,s="horizontal"===e.orientation;return u.useEffect(()=>(s?o(!0):i(!0),()=>{s?o(!1):i(!1)}),[s,o,i]),"hover"===a.type?(0,d.jsx)(tb,{...n,ref:t,forceMount:r}):"scroll"===a.type?(0,d.jsx)(ty,{...n,ref:t,forceMount:r}):"auto"===a.type?(0,d.jsx)(tw,{...n,ref:t,forceMount:r}):"always"===a.type?(0,d.jsx)(tj,{...n,ref:t}):null});tx.displayName=tg;var tb=u.forwardRef((e,t)=>{let{forceMount:r,...n}=e,a=tp(tg,e.__scopeScrollArea),[o,i]=u.useState(!1);return u.useEffect(()=>{let e=a.scrollArea,t=0;if(e){let r=()=>{window.clearTimeout(t),i(!0)},n=()=>{t=window.setTimeout(()=>i(!1),a.scrollHideDelay)};return e.addEventListener("pointerenter",r),e.addEventListener("pointerleave",n),()=>{window.clearTimeout(t),e.removeEventListener("pointerenter",r),e.removeEventListener("pointerleave",n)}}},[a.scrollArea,a.scrollHideDelay]),(0,d.jsx)(eh.Presence,{present:r||o,children:(0,d.jsx)(tw,{"data-state":o?"visible":"hidden",...n,ref:t})})}),ty=u.forwardRef((e,t)=>{var r;let{forceMount:n,...a}=e,o=tp(tg,e.__scopeScrollArea),i="horizontal"===e.orientation,s=tF(()=>c("SCROLL_END"),100),[l,c]=(r={hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}},u.useReducer((e,t)=>r[e][t]??e,"hidden"));return u.useEffect(()=>{if("idle"===l){let e=window.setTimeout(()=>c("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(e)}},[l,o.scrollHideDelay,c]),u.useEffect(()=>{let e=o.viewport,t=i?"scrollLeft":"scrollTop";if(e){let r=e[t],n=()=>{let n=e[t];r!==n&&(c("SCROLL"),s()),r=n};return e.addEventListener("scroll",n),()=>e.removeEventListener("scroll",n)}},[o.viewport,i,c,s]),(0,d.jsx)(eh.Presence,{present:n||"hidden"!==l,children:(0,d.jsx)(tj,{"data-state":"hidden"===l?"hidden":"visible",...a,ref:t,onPointerEnter:(0,H.composeEventHandlers)(e.onPointerEnter,()=>c("POINTER_ENTER")),onPointerLeave:(0,H.composeEventHandlers)(e.onPointerLeave,()=>c("POINTER_LEAVE"))})})}),tw=u.forwardRef((e,t)=>{let r=tp(tg,e.__scopeScrollArea),{forceMount:n,...a}=e,[o,i]=u.useState(!1),s="horizontal"===e.orientation,l=tF(()=>{if(r.viewport){let e=r.viewport.offsetWidth<r.viewport.scrollWidth,t=r.viewport.offsetHeight<r.viewport.scrollHeight;i(s?e:t)}},10);return tU(r.viewport,l),tU(r.content,l),(0,d.jsx)(eh.Presence,{present:n||o,children:(0,d.jsx)(tj,{"data-state":o?"visible":"hidden",...a,ref:t})})}),tj=u.forwardRef((e,t)=>{let{orientation:r="vertical",...n}=e,a=tp(tg,e.__scopeScrollArea),o=u.useRef(null),i=u.useRef(0),[s,l]=u.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),c=tz(s.viewport,s.content),f={...n,sizes:s,onSizesChange:l,hasThumb:!!(c>0&&c<1),onThumbChange:e=>o.current=e,onThumbPointerUp:()=>i.current=0,onThumbPointerDown:e=>i.current=e};function p(e,t){return function(e,t,r,n="ltr"){let a=t_(r),o=t||a/2,i=r.scrollbar.paddingStart+o,s=r.scrollbar.size-r.scrollbar.paddingEnd-(a-o),l=r.content-r.viewport;return tO([i,s],"ltr"===n?[0,l]:[-1*l,0])(e)}(e,i.current,s,t)}return"horizontal"===r?(0,d.jsx)(tS,{...f,ref:t,onThumbPositionChange:()=>{if(a.viewport&&o.current){let e=tM(a.viewport.scrollLeft,s,a.dir);o.current.style.transform=`translate3d(${e}px, 0, 0)`}},onWheelScroll:e=>{a.viewport&&(a.viewport.scrollLeft=e)},onDragScroll:e=>{a.viewport&&(a.viewport.scrollLeft=p(e,a.dir))}}):"vertical"===r?(0,d.jsx)(tC,{...f,ref:t,onThumbPositionChange:()=>{if(a.viewport&&o.current){let e=tM(a.viewport.scrollTop,s);o.current.style.transform=`translate3d(0, ${e}px, 0)`}},onWheelScroll:e=>{a.viewport&&(a.viewport.scrollTop=e)},onDragScroll:e=>{a.viewport&&(a.viewport.scrollTop=p(e))}}):null}),tS=u.forwardRef((e,t)=>{let{sizes:r,onSizesChange:n,...a}=e,o=tp(tg,e.__scopeScrollArea),[i,s]=u.useState(),l=u.useRef(null),c=(0,U.useComposedRefs)(t,l,o.onScrollbarXChange);return u.useEffect(()=>{l.current&&s(getComputedStyle(l.current))},[l]),(0,d.jsx)(tR,{"data-orientation":"horizontal",...a,ref:c,sizes:r,style:{bottom:0,left:"rtl"===o.dir?"var(--radix-scroll-area-corner-width)":0,right:"ltr"===o.dir?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":t_(r)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,r)=>{if(o.viewport){var n,a;let i=o.viewport.scrollLeft+t.deltaX;e.onWheelScroll(i),n=i,a=r,n>0&&n<a&&t.preventDefault()}},onResize:()=>{l.current&&o.viewport&&i&&n({content:o.viewport.scrollWidth,viewport:o.viewport.offsetWidth,scrollbar:{size:l.current.clientWidth,paddingStart:tD(i.paddingLeft),paddingEnd:tD(i.paddingRight)}})}})}),tC=u.forwardRef((e,t)=>{let{sizes:r,onSizesChange:n,...a}=e,o=tp(tg,e.__scopeScrollArea),[i,s]=u.useState(),l=u.useRef(null),c=(0,U.useComposedRefs)(t,l,o.onScrollbarYChange);return u.useEffect(()=>{l.current&&s(getComputedStyle(l.current))},[l]),(0,d.jsx)(tR,{"data-orientation":"vertical",...a,ref:c,sizes:r,style:{top:0,right:"ltr"===o.dir?0:void 0,left:"rtl"===o.dir?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":t_(r)+"px",...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,r)=>{if(o.viewport){var n,a;let i=o.viewport.scrollTop+t.deltaY;e.onWheelScroll(i),n=i,a=r,n>0&&n<a&&t.preventDefault()}},onResize:()=>{l.current&&o.viewport&&i&&n({content:o.viewport.scrollHeight,viewport:o.viewport.offsetHeight,scrollbar:{size:l.current.clientHeight,paddingStart:tD(i.paddingTop),paddingEnd:tD(i.paddingBottom)}})}})}),[tk,tE]=td(tg),tR=u.forwardRef((e,t)=>{let{__scopeScrollArea:r,sizes:n,hasThumb:a,onThumbChange:o,onThumbPointerUp:i,onThumbPointerDown:s,onThumbPositionChange:l,onDragScroll:c,onWheelScroll:f,onResize:p,...v}=e,h=tp(tg,r),[m,g]=u.useState(null),x=(0,U.useComposedRefs)(t,e=>g(e)),b=u.useRef(null),y=u.useRef(""),w=h.viewport,j=n.content-n.viewport,S=(0,X.useCallbackRef)(f),C=(0,X.useCallbackRef)(l),k=tF(p,10);function E(e){b.current&&c({x:e.clientX-b.current.left,y:e.clientY-b.current.top})}return u.useEffect(()=>{let e=e=>{let t=e.target;m?.contains(t)&&S(e,j)};return document.addEventListener("wheel",e,{passive:!1}),()=>document.removeEventListener("wheel",e,{passive:!1})},[w,m,j,S]),u.useEffect(C,[n,C]),tU(m,k),tU(h.content,k),(0,d.jsx)(tk,{scope:r,scrollbar:m,hasThumb:a,onThumbChange:(0,X.useCallbackRef)(o),onThumbPointerUp:(0,X.useCallbackRef)(i),onThumbPositionChange:C,onThumbPointerDown:(0,X.useCallbackRef)(s),children:(0,d.jsx)(Y.Primitive.div,{...v,ref:x,style:{position:"absolute",...v.style},onPointerDown:(0,H.composeEventHandlers)(e.onPointerDown,e=>{0===e.button&&(e.target.setPointerCapture(e.pointerId),b.current=m.getBoundingClientRect(),y.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",h.viewport&&(h.viewport.style.scrollBehavior="auto"),E(e))}),onPointerMove:(0,H.composeEventHandlers)(e.onPointerMove,E),onPointerUp:(0,H.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=y.current,h.viewport&&(h.viewport.style.scrollBehavior=""),b.current=null})})})}),tN="ScrollAreaThumb",tA=u.forwardRef((e,t)=>{let{forceMount:r,...n}=e,a=tE(tN,e.__scopeScrollArea);return(0,d.jsx)(eh.Presence,{present:r||a.hasThumb,children:(0,d.jsx)(tT,{ref:t,...n})})}),tT=u.forwardRef((e,t)=>{let{__scopeScrollArea:r,style:n,...a}=e,o=tp(tN,r),i=tE(tN,r),{onThumbPositionChange:s}=i,l=(0,U.useComposedRefs)(t,e=>i.onThumbChange(e)),c=u.useRef(void 0),f=tF(()=>{c.current&&(c.current(),c.current=void 0)},100);return u.useEffect(()=>{let e=o.viewport;if(e){let t=()=>{f(),c.current||(c.current=tH(e,s),s())};return s(),e.addEventListener("scroll",t),()=>e.removeEventListener("scroll",t)}},[o.viewport,f,s]),(0,d.jsx)(Y.Primitive.div,{"data-state":i.hasThumb?"visible":"hidden",...a,ref:l,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:(0,H.composeEventHandlers)(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),r=e.clientX-t.left,n=e.clientY-t.top;i.onThumbPointerDown({x:r,y:n})}),onPointerUp:(0,H.composeEventHandlers)(e.onPointerUp,i.onThumbPointerUp)})});tA.displayName=tN;var tP="ScrollAreaCorner",tI=u.forwardRef((e,t)=>{let r=tp(tP,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return"scroll"!==r.type&&n?(0,d.jsx)(tL,{...e,ref:t}):null});tI.displayName=tP;var tL=u.forwardRef((e,t)=>{let{__scopeScrollArea:r,...n}=e,a=tp(tP,r),[o,i]=u.useState(0),[s,l]=u.useState(0),c=!!(o&&s);return tU(a.scrollbarX,()=>{let e=a.scrollbarX?.offsetHeight||0;a.onCornerHeightChange(e),l(e)}),tU(a.scrollbarY,()=>{let e=a.scrollbarY?.offsetWidth||0;a.onCornerWidthChange(e),i(e)}),c?(0,d.jsx)(Y.Primitive.div,{...n,ref:t,style:{width:o,height:s,position:"absolute",right:"ltr"===a.dir?0:void 0,left:"rtl"===a.dir?0:void 0,bottom:0,...e.style}}):null});function tD(e){return e?parseInt(e,10):0}function tz(e,t){let r=e/t;return isNaN(r)?0:r}function t_(e){let t=tz(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd;return Math.max((e.scrollbar.size-r)*t,18)}function tM(e,t,r="ltr"){let n=t_(t),a=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,o=t.scrollbar.size-a,i=t.content-t.viewport,s=tl(e,"ltr"===r?[0,i]:[-1*i,0]);return tO([0,i],[0,o-n])(s)}function tO(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}var tH=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return!function a(){let o={left:e.scrollLeft,top:e.scrollTop},i=r.left!==o.left,s=r.top!==o.top;(i||s)&&t(),r=o,n=window.requestAnimationFrame(a)}(),()=>window.cancelAnimationFrame(n)};function tF(e,t){let r=(0,X.useCallbackRef)(e),n=u.useRef(0);return u.useEffect(()=>()=>window.clearTimeout(n.current),[]),u.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,t)},[r,t])}function tU(e,t){let r=(0,X.useCallbackRef)(t);(0,ts.useLayoutEffect)(()=>{let t=0;if(e){let n=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(r)});return n.observe(e),()=>{window.cancelAnimationFrame(t),n.unobserve(e)}}},[e,r])}e.s(["Corner",()=>tI,"Root",()=>tv,"ScrollArea",()=>tv,"ScrollAreaCorner",()=>tI,"ScrollAreaScrollbar",()=>tx,"ScrollAreaThumb",()=>tA,"ScrollAreaViewport",()=>tm,"Scrollbar",()=>tx,"Thumb",()=>tA,"Viewport",()=>tm,"createScrollAreaScope",()=>tu],95146);var tK=e.i(95146),tK=tK;function tB({className:e,children:t,...r}){return(0,d.jsxs)(tK.Root,{"data-slot":"scroll-area",className:(0,j.cn)("relative",e),...r,children:[(0,d.jsx)(tK.Viewport,{"data-slot":"scroll-area-viewport",className:"focus-visible:ring-ring/50 size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:outline-1",children:t}),(0,d.jsx)(tV,{}),(0,d.jsx)(tK.Corner,{})]})}function tV({className:e,orientation:t="vertical",...r}){return(0,d.jsx)(tK.ScrollAreaScrollbar,{"data-slot":"scroll-area-scrollbar",orientation:t,className:(0,j.cn)("flex touch-none p-px transition-colors select-none","vertical"===t&&"h-full w-2.5 border-l border-l-transparent","horizontal"===t&&"h-2.5 flex-col border-t border-t-transparent",e),...r,children:(0,d.jsx)(tK.ScrollAreaThumb,{"data-slot":"scroll-area-thumb",className:"bg-border relative flex-1 rounded-full"})})}let tW={connected:{Icon:A.default,colorClass:"text-status-online"},connecting:{Icon:P,colorClass:"text-status-reconnecting"},failed:{Icon:eU,colorClass:"text-destructive"},started:{Icon:to,colorClass:"text-muted-foreground"},stopped:{Icon:T,colorClass:"text-muted-foreground"},settings:{Icon:ti,colorClass:"text-muted-foreground"}};function t$({logs:e,max:t=10,className:r}){let n=(0,E.useT)(),a=e.slice(0,t);return(0,d.jsxs)("section",{"data-testid":"recent-log","aria-labelledby":"recent-log-heading",className:(0,j.cn)("space-y-2",r),children:[(0,d.jsx)("h3",{id:"recent-log-heading",className:"text-sm font-medium",children:n("status.log.title")}),0===a.length?(0,d.jsx)("p",{className:"text-muted-foreground text-xs",children:n("status.log.empty")}):(0,d.jsx)(tB,{className:"h-40 rounded-md border",children:(0,d.jsx)("ol",{className:"divide-border divide-y",children:a.map((e,t)=>{let r=tW[e.kind];return(0,d.jsxs)("li",{className:"flex items-center gap-3 px-3 py-1.5 font-mono text-xs",children:[(0,d.jsx)("span",{className:"text-muted-foreground",children:function(e){let t=new Date(e);if(Number.isNaN(t.getTime()))return"--:--";let r=String(t.getHours()).padStart(2,"0"),n=String(t.getMinutes()).padStart(2,"0");return`${r}:${n}`}(e.ts)}),(0,d.jsx)(r.Icon,{"aria-hidden":"true",className:(0,j.cn)("size-3.5 shrink-0",r.colorClass)}),(0,d.jsx)("span",{className:"flex-1 truncate",children:e.text})]},`${e.ts}-${t}`)})})})]})}var N=N,A=A;let tq={online:{i18nKey:"status.hero.online",Icon:A.default,dotClass:"bg-status-online",dotAnimate:!1,iconSpin:!1},offline:{i18nKey:"status.hero.offline",Icon:T,dotClass:"bg-status-offline",dotAnimate:!1,iconSpin:!1},reconnecting:{i18nKey:"status.hero.reconnecting",Icon:P,dotClass:"bg-status-reconnecting",dotAnimate:!0,iconSpin:!0},notPaired:{i18nKey:"status.hero.notPaired",Icon:I,dotClass:"bg-status-idle",dotAnimate:!1,iconSpin:!1},error:{i18nKey:"status.hero.error",Icon:N.default,dotClass:"bg-status-error",dotAnimate:!1,iconSpin:!1,labelClass:"text-destructive"}};function tY({state:e,attemptNo:t,errorMessage:r,className:n}){let a=(0,E.useT)(),o="connecting"===e?"reconnecting":e,i=tq[o],s=a(i.i18nKey),l="reconnecting"===o&&"number"==typeof t?a("status.hero.attemptNo").replace("{n}",String(t)):"error"===o&&r?r:null;return(0,d.jsxs)("div",{role:"status","aria-live":"polite","aria-label":l?`${s}, ${l}`:s,"data-testid":"status-hero","data-state":o,className:(0,j.cn)("flex flex-col items-center gap-3 py-4",n),children:[(0,d.jsx)("div",{"aria-hidden":"true",className:(0,j.cn)("flex size-20 items-center justify-center rounded-full text-white shadow-sm",i.dotClass,i.dotAnimate&&"motion-safe:animate-pulse"),children:(0,d.jsx)(i.Icon,{className:(0,j.cn)("size-8",i.iconSpin&&"motion-safe:animate-spin")})}),(0,d.jsxs)("div",{className:"flex flex-col items-center gap-1 text-center",children:[(0,d.jsx)("p",{className:(0,j.cn)("text-xl font-semibold",i.labelClass),children:s}),l&&(0,d.jsx)("p",{className:(0,j.cn)("text-xs","error"===o?"text-destructive":"text-muted-foreground"),children:l})]})]})}var tX=e.i(72416),tG="focusScope.autoFocusOnMount",tZ="focusScope.autoFocusOnUnmount",tJ={bubbles:!1,cancelable:!0},tQ=u.forwardRef((e,t)=>{let{loop:r=!1,trapped:n=!1,onMountAutoFocus:a,onUnmountAutoFocus:o,...i}=e,[s,l]=u.useState(null),c=(0,X.useCallbackRef)(a),f=(0,X.useCallbackRef)(o),p=u.useRef(null),v=(0,U.useComposedRefs)(t,e=>l(e)),h=u.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;u.useEffect(()=>{if(n){let e=function(e){if(h.paused||!s)return;let t=e.target;s.contains(t)?p.current=t:t2(p.current,{select:!0})},t=function(e){if(h.paused||!s)return;let t=e.relatedTarget;null!==t&&(s.contains(t)||t2(p.current,{select:!0}))};document.addEventListener("focusin",e),document.addEventListener("focusout",t);let r=new MutationObserver(function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&t2(s)});return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",e),document.removeEventListener("focusout",t),r.disconnect()}}},[n,s,h.paused]),u.useEffect(()=>{if(s){t4.add(h);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(tG,tJ);s.addEventListener(tG,c),s.dispatchEvent(t),t.defaultPrevented||(function(e,{select:t=!1}={}){let r=document.activeElement;for(let n of e)if(t2(n,{select:t}),document.activeElement!==r)return}(t0(s).filter(e=>"A"!==e.tagName),{select:!0}),document.activeElement===e&&t2(s))}return()=>{s.removeEventListener(tG,c),setTimeout(()=>{let t=new CustomEvent(tZ,tJ);s.addEventListener(tZ,f),s.dispatchEvent(t),t.defaultPrevented||t2(e??document.body,{select:!0}),s.removeEventListener(tZ,f),t4.remove(h)},0)}}},[s,c,f,h]);let m=u.useCallback(e=>{if(!r&&!n||h.paused)return;let t="Tab"===e.key&&!e.altKey&&!e.ctrlKey&&!e.metaKey,a=document.activeElement;if(t&&a){var o;let t,n=e.currentTarget,[i,s]=[t1(t=t0(o=n),o),t1(t.reverse(),o)];i&&s?e.shiftKey||a!==s?e.shiftKey&&a===i&&(e.preventDefault(),r&&t2(s,{select:!0})):(e.preventDefault(),r&&t2(i,{select:!0})):a===n&&e.preventDefault()}},[r,n,h.paused]);return(0,d.jsx)(Y.Primitive.div,{tabIndex:-1,...i,ref:v,onKeyDown:m})});function t0(e){let t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t="INPUT"===e.tagName&&"hidden"===e.type;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function t1(e,t){for(let r of e)if(!function(e,{upTo:t}){if("hidden"===getComputedStyle(e).visibility)return!0;for(;e&&(void 0===t||e!==t);){if("none"===getComputedStyle(e).display)return!0;e=e.parentElement}return!1}(r,{upTo:t}))return r}function t2(e,{select:t=!1}={}){if(e&&e.focus){var r;let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&(r=e)instanceof HTMLInputElement&&"select"in r&&t&&e.select()}}tQ.displayName="FocusScope";var t4=(r=[],{add(e){let t=r[0];e!==t&&t?.pause(),(r=t3(r,e)).unshift(e)},remove(e){r=t3(r,e),r[0]?.resume()}});function t3(e,t){let r=[...e],n=r.indexOf(t);return -1!==n&&r.splice(n,1),r}var t5=e.i(1404),t6=0;function t8(){u.useEffect(()=>{let e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??t9()),document.body.insertAdjacentElement("beforeend",e[1]??t9()),t6++,()=>{1===t6&&document.querySelectorAll("[data-radix-focus-guard]").forEach(e=>e.remove()),t6--}},[])}function t9(){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 t7=function(){return(t7=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var a in t=arguments[r])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)};function re(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&0>t.indexOf(n)&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var a=0,n=Object.getOwnPropertySymbols(e);a<n.length;a++)0>t.indexOf(n[a])&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(r[n[a]]=e[n[a]]);return r}var rt=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),rr="width-before-scroll-bar";function rn(e,t){return"function"==typeof e?e(t):e&&(e.current=t),e}var ra="u">typeof window?u.useLayoutEffect:u.useEffect,ro=new WeakMap,ri=(void 0===n&&(n={}),(void 0===a&&(a=function(e){return e}),o=[],i=!1,s={read:function(){if(i)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return o.length?o[o.length-1]:null},useMedium:function(e){var t=a(e,i);return o.push(t),function(){o=o.filter(function(e){return e!==t})}},assignSyncMedium:function(e){for(i=!0;o.length;){var t=o;o=[],t.forEach(e)}o={push:function(t){return e(t)},filter:function(){return o}}},assignMedium:function(e){i=!0;var t=[];if(o.length){var r=o;o=[],r.forEach(e),t=o}var n=function(){var r=t;t=[],r.forEach(e)},a=function(){return Promise.resolve().then(n)};a(),o={push:function(e){t.push(e),a()},filter:function(e){return t=t.filter(e),o}}}}).options=t7({async:!0,ssr:!1},n),s),rs=function(){},rl=u.forwardRef(function(e,t){var r,n,a,o,i=u.useRef(null),s=u.useState({onScrollCapture:rs,onWheelCapture:rs,onTouchMoveCapture:rs}),l=s[0],c=s[1],d=e.forwardProps,f=e.children,p=e.className,v=e.removeScrollBar,h=e.enabled,m=e.shards,g=e.sideCar,x=e.noRelative,b=e.noIsolation,y=e.inert,w=e.allowPinchZoom,j=e.as,S=e.gapMode,C=re(e,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),k=(r=[i,t],n=function(e){return r.forEach(function(t){return rn(t,e)})},(a=(0,u.useState)(function(){return{value:null,callback:n,facade:{get current(){return a.value},set current(value){var e=a.value;e!==value&&(a.value=value,a.callback(value,e))}}}})[0]).callback=n,o=a.facade,ra(function(){var e=ro.get(o);if(e){var t=new Set(e),n=new Set(r),a=o.current;t.forEach(function(e){n.has(e)||rn(e,null)}),n.forEach(function(e){t.has(e)||rn(e,a)})}ro.set(o,r)},[r]),o),E=t7(t7({},C),l);return u.createElement(u.Fragment,null,h&&u.createElement(g,{sideCar:ri,removeScrollBar:v,shards:m,noRelative:x,noIsolation:b,inert:y,setCallbacks:c,allowPinchZoom:!!w,lockRef:i,gapMode:S}),d?u.cloneElement(u.Children.only(f),t7(t7({},E),{ref:k})):u.createElement(void 0===j?"div":j,t7({},E,{className:p,ref:k}),f))});rl.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},rl.classNames={fullWidth:rr,zeroRight:rt};var rc=function(e){var t=e.sideCar,r=re(e,["sideCar"]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var n=t.read();if(!n)throw Error("Sidecar medium not found");return u.createElement(n,t7({},r))};rc.isSideCarExport=!0;var rd=function(){var e=0,t=null;return{add:function(r){if(0==e&&(t=function(){if(!document)return null;var e=document.createElement("style");e.type="text/css";var t=c||("u">typeof __webpack_nonce__?__webpack_nonce__:void 0);return t&&e.setAttribute("nonce",t),e}())){var n,a;(n=t).styleSheet?n.styleSheet.cssText=r:n.appendChild(document.createTextNode(r)),a=t,(document.head||document.getElementsByTagName("head")[0]).appendChild(a)}e++},remove:function(){--e||!t||(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},ru=function(){var e=rd();return function(t,r){u.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&r])}},rf=function(){var e=ru();return function(t){return e(t.styles,t.dynamic),null}},rp={left:0,top:0,right:0,gap:0},rv=function(e){return parseInt(e||"",10)||0},rh=function(e){var t=window.getComputedStyle(document.body),r=t["padding"===e?"paddingLeft":"marginLeft"],n=t["padding"===e?"paddingTop":"marginTop"],a=t["padding"===e?"paddingRight":"marginRight"];return[rv(r),rv(n),rv(a)]},rm=function(e){if(void 0===e&&(e="margin"),"u"<typeof window)return rp;var t=rh(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},rg=rf(),rx="data-scroll-locked",rb=function(e,t,r,n){var a=e.left,o=e.top,i=e.right,s=e.gap;return void 0===r&&(r="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(n,";\n padding-right: ").concat(s,"px ").concat(n,";\n }\n body[").concat(rx,"] {\n overflow: hidden ").concat(n,";\n overscroll-behavior: contain;\n ").concat([t&&"position: relative ".concat(n,";"),"margin"===r&&"\n padding-left: ".concat(a,"px;\n padding-top: ").concat(o,"px;\n padding-right: ").concat(i,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(s,"px ").concat(n,";\n "),"padding"===r&&"padding-right: ".concat(s,"px ").concat(n,";")].filter(Boolean).join(""),"\n }\n \n .").concat(rt," {\n right: ").concat(s,"px ").concat(n,";\n }\n \n .").concat(rr," {\n margin-right: ").concat(s,"px ").concat(n,";\n }\n \n .").concat(rt," .").concat(rt," {\n right: 0 ").concat(n,";\n }\n \n .").concat(rr," .").concat(rr," {\n margin-right: 0 ").concat(n,";\n }\n \n body[").concat(rx,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(s,"px;\n }\n")},ry=function(){var e=parseInt(document.body.getAttribute(rx)||"0",10);return isFinite(e)?e:0},rw=function(){u.useEffect(function(){return document.body.setAttribute(rx,(ry()+1).toString()),function(){var e=ry()-1;e<=0?document.body.removeAttribute(rx):document.body.setAttribute(rx,e.toString())}},[])},rj=function(e){var t=e.noRelative,r=e.noImportant,n=e.gapMode,a=void 0===n?"margin":n;rw();var o=u.useMemo(function(){return rm(a)},[a]);return u.createElement(rg,{styles:rb(o,!t,a,r?"":"!important")})},rS=!1;if("u">typeof window)try{var rC=Object.defineProperty({},"passive",{get:function(){return rS=!0,!0}});window.addEventListener("test",rC,rC),window.removeEventListener("test",rC,rC)}catch(e){rS=!1}var rk=!!rS&&{passive:!1},rE=function(e,t){if(!(e instanceof Element))return!1;var r=window.getComputedStyle(e);return"hidden"!==r[t]&&(r.overflowY!==r.overflowX||"TEXTAREA"===e.tagName||"visible"!==r[t])},rR=function(e,t){var r=t.ownerDocument,n=t;do{if("u">typeof ShadowRoot&&n instanceof ShadowRoot&&(n=n.host),rN(e,n)){var a=rA(e,n);if(a[1]>a[2])return!0}n=n.parentNode}while(n&&n!==r.body)return!1},rN=function(e,t){return"v"===e?rE(t,"overflowY"):rE(t,"overflowX")},rA=function(e,t){return"v"===e?[t.scrollTop,t.scrollHeight,t.clientHeight]:[t.scrollLeft,t.scrollWidth,t.clientWidth]},rT=function(e,t,r,n,a){var o,i=(o=window.getComputedStyle(t).direction,"h"===e&&"rtl"===o?-1:1),s=i*n,l=r.target,c=t.contains(l),d=!1,u=s>0,f=0,p=0;do{if(!l)break;var v=rA(e,l),h=v[0],m=v[1]-v[2]-i*h;(h||m)&&rN(e,l)&&(f+=m,p+=h);var g=l.parentNode;l=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&l!==document.body||c&&(t.contains(l)||t===l))return u&&(a&&1>Math.abs(f)||!a&&s>f)?d=!0:!u&&(a&&1>Math.abs(p)||!a&&-s>p)&&(d=!0),d},rP=function(e){return"changedTouches"in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},rI=function(e){return[e.deltaX,e.deltaY]},rL=function(e){return e&&"current"in e?e.current:e},rD=0,rz=[];let r_=(l=function(e){var t=u.useRef([]),r=u.useRef([0,0]),n=u.useRef(),a=u.useState(rD++)[0],o=u.useState(rf)[0],i=u.useRef(e);u.useEffect(function(){i.current=e},[e]),u.useEffect(function(){if(e.inert){document.body.classList.add("block-interactivity-".concat(a));var t=(function(e,t,r){if(r||2==arguments.length)for(var n,a=0,o=t.length;a<o;a++)!n&&a in t||(n||(n=Array.prototype.slice.call(t,0,a)),n[a]=t[a]);return e.concat(n||Array.prototype.slice.call(t))})([e.lockRef.current],(e.shards||[]).map(rL),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add("allow-interactivity-".concat(a))}),function(){document.body.classList.remove("block-interactivity-".concat(a)),t.forEach(function(e){return e.classList.remove("allow-interactivity-".concat(a))})}}},[e.inert,e.lockRef.current,e.shards]);var s=u.useCallback(function(e,t){if("touches"in e&&2===e.touches.length||"wheel"===e.type&&e.ctrlKey)return!i.current.allowPinchZoom;var a,o=rP(e),s=r.current,l="deltaX"in e?e.deltaX:s[0]-o[0],c="deltaY"in e?e.deltaY:s[1]-o[1],d=e.target,u=Math.abs(l)>Math.abs(c)?"h":"v";if("touches"in e&&"h"===u&&"range"===d.type)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===d||p.contains(d)))return!1;var v=rR(u,d);if(!v)return!0;if(v?a=u:(a="v"===u?"h":"v",v=rR(u,d)),!v)return!1;if(!n.current&&"changedTouches"in e&&(l||c)&&(n.current=a),!a)return!0;var h=n.current||a;return rT(h,t,e,"h"===h?l:c,!0)},[]),l=u.useCallback(function(e){if(rz.length&&rz[rz.length-1]===o){var r="deltaY"in e?rI(e):rP(e),n=t.current.filter(function(t){var n;return t.name===e.type&&(t.target===e.target||e.target===t.shadowParent)&&(n=t.delta,n[0]===r[0]&&n[1]===r[1])})[0];if(n&&n.should){e.cancelable&&e.preventDefault();return}if(!n){var a=(i.current.shards||[]).map(rL).filter(Boolean).filter(function(t){return t.contains(e.target)});(a.length>0?s(e,a[0]):!i.current.noIsolation)&&e.cancelable&&e.preventDefault()}}},[]),c=u.useCallback(function(e,r,n,a){var o={name:e,delta:r,target:n,should:a,shadowParent:function(e){for(var t=null;null!==e;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}(n)};t.current.push(o),setTimeout(function(){t.current=t.current.filter(function(e){return e!==o})},1)},[]),d=u.useCallback(function(e){r.current=rP(e),n.current=void 0},[]),f=u.useCallback(function(t){c(t.type,rI(t),t.target,s(t,e.lockRef.current))},[]),p=u.useCallback(function(t){c(t.type,rP(t),t.target,s(t,e.lockRef.current))},[]);u.useEffect(function(){return rz.push(o),e.setCallbacks({onScrollCapture:f,onWheelCapture:f,onTouchMoveCapture:p}),document.addEventListener("wheel",l,rk),document.addEventListener("touchmove",l,rk),document.addEventListener("touchstart",d,rk),function(){rz=rz.filter(function(e){return e!==o}),document.removeEventListener("wheel",l,rk),document.removeEventListener("touchmove",l,rk),document.removeEventListener("touchstart",d,rk)}},[]);var v=e.removeScrollBar,h=e.inert;return u.createElement(u.Fragment,null,h?u.createElement(o,{styles:"\n .block-interactivity-".concat(a," {pointer-events: none;}\n .allow-interactivity-").concat(a," {pointer-events: all;}\n")}):null,v?u.createElement(rj,{noRelative:e.noRelative,gapMode:e.gapMode}):null)},ri.useMedium(l),rc);var rM=u.forwardRef(function(e,t){return u.createElement(rl,t7({},e,{ref:t,sideCar:r_}))});rM.classNames=rl.classNames;var rO=new WeakMap,rH=new WeakMap,rF={},rU=0,rK=function(e){return e&&(e.host||rK(e.parentNode))},rB=function(e,t,r,n){var a=(Array.isArray(e)?e:[e]).map(function(e){if(t.contains(e))return e;var r=rK(e);return r&&t.contains(r)?r:(console.error("aria-hidden",e,"in not contained inside",t,". Doing nothing"),null)}).filter(function(e){return!!e});rF[r]||(rF[r]=new WeakMap);var o=rF[r],i=[],s=new Set,l=new Set(a),c=function(e){!e||s.has(e)||(s.add(e),c(e.parentNode))};a.forEach(c);var d=function(e){!e||l.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))d(e);else try{var t=e.getAttribute(n),a=null!==t&&"false"!==t,l=(rO.get(e)||0)+1,c=(o.get(e)||0)+1;rO.set(e,l),o.set(e,c),i.push(e),1===l&&a&&rH.set(e,!0),1===c&&e.setAttribute(r,"true"),a||e.setAttribute(n,"true")}catch(t){console.error("aria-hidden: cannot operate on ",e,t)}})};return d(t),s.clear(),rU++,function(){i.forEach(function(e){var t=rO.get(e)-1,a=o.get(e)-1;rO.set(e,t),o.set(e,a),t||(rH.has(e)||e.removeAttribute(n),rH.delete(e)),a||e.removeAttribute(r)}),--rU||(rO=new WeakMap,rO=new WeakMap,rH=new WeakMap,rF={})}},rV=function(e,t,r){void 0===r&&(r="data-aria-hidden");var n=Array.from(Array.isArray(e)?e:[e]),a=t||("u"<typeof document?null:(Array.isArray(e)?e[0]:e).ownerDocument.body);return a?(n.push.apply(n,Array.from(a.querySelectorAll("[aria-live], script"))),rB(n,a,r,"aria-hidden")):function(){return null}},rW=w,r$="Dialog",[rq,rY]=(0,F.createContextScope)(r$),[rX,rG]=rq(r$),rZ=e=>{let{__scopeDialog:t,children:r,open:n,defaultOpen:a,onOpenChange:o,modal:i=!0}=e,s=u.useRef(null),l=u.useRef(null),[c,f]=(0,G.useControllableState)({prop:n,defaultProp:a??!1,onChange:o,caller:r$});return(0,d.jsx)(rX,{scope:t,triggerRef:s,contentRef:l,contentId:(0,q.useId)(),titleId:(0,q.useId)(),descriptionId:(0,q.useId)(),open:c,onOpenChange:f,onOpenToggle:u.useCallback(()=>f(e=>!e),[f]),modal:i,children:r})};rZ.displayName=r$;var rJ="DialogTrigger",rQ=u.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=rG(rJ,r),o=(0,U.useComposedRefs)(t,a.triggerRef);return(0,d.jsx)(Y.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":a.open,"aria-controls":a.contentId,"data-state":nc(a.open),...n,ref:o,onClick:(0,H.composeEventHandlers)(e.onClick,a.onOpenToggle)})});rQ.displayName=rJ;var r0="DialogPortal",[r1,r2]=rq(r0,{forceMount:void 0}),r4=e=>{let{__scopeDialog:t,forceMount:r,children:n,container:a}=e,o=rG(r0,t);return(0,d.jsx)(r1,{scope:t,forceMount:r,children:u.Children.map(n,e=>(0,d.jsx)(eh.Presence,{present:r||o.open,children:(0,d.jsx)(t5.Portal,{asChild:!0,container:a,children:e})}))})};r4.displayName=r0;var r3="DialogOverlay",r5=u.forwardRef((e,t)=>{let r=r2(r3,e.__scopeDialog),{forceMount:n=r.forceMount,...a}=e,o=rG(r3,e.__scopeDialog);return o.modal?(0,d.jsx)(eh.Presence,{present:n||o.open,children:(0,d.jsx)(r8,{...a,ref:t})}):null});r5.displayName=r3;var r6=(0,rW.createSlot)("DialogOverlay.RemoveScroll"),r8=u.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=rG(r3,r);return(0,d.jsx)(rM,{as:r6,allowPinchZoom:!0,shards:[a.contentRef],children:(0,d.jsx)(Y.Primitive.div,{"data-state":nc(a.open),...n,ref:t,style:{pointerEvents:"auto",...n.style}})})}),r9="DialogContent",r7=u.forwardRef((e,t)=>{let r=r2(r9,e.__scopeDialog),{forceMount:n=r.forceMount,...a}=e,o=rG(r9,e.__scopeDialog);return(0,d.jsx)(eh.Presence,{present:n||o.open,children:o.modal?(0,d.jsx)(ne,{...a,ref:t}):(0,d.jsx)(nt,{...a,ref:t})})});r7.displayName=r9;var ne=u.forwardRef((e,t)=>{let r=rG(r9,e.__scopeDialog),n=u.useRef(null),a=(0,U.useComposedRefs)(t,r.contentRef,n);return u.useEffect(()=>{let e=n.current;if(e)return rV(e)},[]),(0,d.jsx)(nr,{...e,ref:a,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,H.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),r.triggerRef.current?.focus()}),onPointerDownOutside:(0,H.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,r=0===t.button&&!0===t.ctrlKey;(2===t.button||r)&&e.preventDefault()}),onFocusOutside:(0,H.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault())})}),nt=u.forwardRef((e,t)=>{let r=rG(r9,e.__scopeDialog),n=u.useRef(!1),a=u.useRef(!1);return(0,d.jsx)(nr,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(n.current||r.triggerRef.current?.focus(),t.preventDefault()),n.current=!1,a.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(n.current=!0,"pointerdown"===t.detail.originalEvent.type&&(a.current=!0));let o=t.target;r.triggerRef.current?.contains(o)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&a.current&&t.preventDefault()}})}),nr=u.forwardRef((e,t)=>{let{__scopeDialog:r,trapFocus:n,onOpenAutoFocus:a,onCloseAutoFocus:o,...i}=e,s=rG(r9,r),l=u.useRef(null),c=(0,U.useComposedRefs)(t,l);return t8(),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(tQ,{asChild:!0,loop:!0,trapped:n,onMountAutoFocus:a,onUnmountAutoFocus:o,children:(0,d.jsx)(tX.DismissableLayer,{role:"dialog",id:s.contentId,"aria-describedby":s.descriptionId,"aria-labelledby":s.titleId,"data-state":nc(s.open),...i,ref:c,onDismiss:()=>s.onOpenChange(!1)})}),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(np,{titleId:s.titleId}),(0,d.jsx)(nv,{contentRef:l,descriptionId:s.descriptionId})]})]})}),nn="DialogTitle",na=u.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=rG(nn,r);return(0,d.jsx)(Y.Primitive.h2,{id:a.titleId,...n,ref:t})});na.displayName=nn;var no="DialogDescription",ni=u.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=rG(no,r);return(0,d.jsx)(Y.Primitive.p,{id:a.descriptionId,...n,ref:t})});ni.displayName=no;var ns="DialogClose",nl=u.forwardRef((e,t)=>{let{__scopeDialog:r,...n}=e,a=rG(ns,r);return(0,d.jsx)(Y.Primitive.button,{type:"button",...n,ref:t,onClick:(0,H.composeEventHandlers)(e.onClick,()=>a.onOpenChange(!1))})});function nc(e){return e?"open":"closed"}nl.displayName=ns;var nd="DialogTitleWarning",[nu,nf]=(0,F.createContext)(nd,{contentName:r9,titleName:nn,docsSlug:"dialog"}),np=({titleId:e})=>{let t=nf(nd),r=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return u.useEffect(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},nv=({contentRef:e,descriptionId:t})=>{let r=nf("DialogDescriptionWarning"),n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${r.contentName}}.`;return u.useEffect(()=>{let r=e.current?.getAttribute("aria-describedby");t&&r&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},nh=w,nm="AlertDialog",[ng,nx]=(0,F.createContextScope)(nm,[rY]),nb=rY(),ny=e=>{let{__scopeAlertDialog:t,...r}=e,n=nb(t);return(0,d.jsx)(rZ,{...n,...r,modal:!0})};ny.displayName=nm;var nw=u.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,a=nb(r);return(0,d.jsx)(rQ,{...a,...n,ref:t})});nw.displayName="AlertDialogTrigger";var nj=e=>{let{__scopeAlertDialog:t,...r}=e,n=nb(t);return(0,d.jsx)(r4,{...n,...r})};nj.displayName="AlertDialogPortal";var nS=u.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,a=nb(r);return(0,d.jsx)(r5,{...a,...n,ref:t})});nS.displayName="AlertDialogOverlay";var nC="AlertDialogContent",[nk,nE]=ng(nC),nR=(0,nh.createSlottable)("AlertDialogContent"),nN=u.forwardRef((e,t)=>{let{__scopeAlertDialog:r,children:n,...a}=e,o=nb(r),i=u.useRef(null),s=(0,U.useComposedRefs)(t,i),l=u.useRef(null);return(0,d.jsx)(nu,{contentName:nC,titleName:nA,docsSlug:"alert-dialog",children:(0,d.jsx)(nk,{scope:r,cancelRef:l,children:(0,d.jsxs)(r7,{role:"alertdialog",...o,...a,ref:s,onOpenAutoFocus:(0,H.composeEventHandlers)(a.onOpenAutoFocus,e=>{e.preventDefault(),l.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,d.jsx)(nR,{children:n}),(0,d.jsx)(n_,{contentRef:i})]})})})});nN.displayName=nC;var nA="AlertDialogTitle",nT=u.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,a=nb(r);return(0,d.jsx)(na,{...a,...n,ref:t})});nT.displayName=nA;var nP="AlertDialogDescription",nI=u.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,a=nb(r);return(0,d.jsx)(ni,{...a,...n,ref:t})});nI.displayName=nP;var nL=u.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,a=nb(r);return(0,d.jsx)(nl,{...a,...n,ref:t})});nL.displayName="AlertDialogAction";var nD="AlertDialogCancel",nz=u.forwardRef((e,t)=>{let{__scopeAlertDialog:r,...n}=e,{cancelRef:a}=nE(nD,r),o=nb(r),i=(0,U.useComposedRefs)(t,a);return(0,d.jsx)(nl,{...o,...n,ref:i})});nz.displayName=nD;var n_=({contentRef:e})=>{let t=`\`${nC}\` requires a description for the component to be accessible for screen reader users.
You can add a description to the \`${nC}\` by passing a \`${nP}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
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 \`${nC}\`. 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.
For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return u.useEffect(()=>{document.getElementById(e.current?.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null};e.s(["Action",()=>nL,"AlertDialog",()=>ny,"AlertDialogAction",()=>nL,"AlertDialogCancel",()=>nz,"AlertDialogContent",()=>nN,"AlertDialogDescription",()=>nI,"AlertDialogOverlay",()=>nS,"AlertDialogPortal",()=>nj,"AlertDialogTitle",()=>nT,"AlertDialogTrigger",()=>nw,"Cancel",()=>nz,"Content",()=>nN,"Description",()=>nI,"Overlay",()=>nS,"Portal",()=>nj,"Root",()=>ny,"Title",()=>nT,"Trigger",()=>nw,"createAlertDialogScope",()=>nx],30239);var nM=e.i(30239),nM=nM;function nO({...e}){return(0,d.jsx)(nM.Root,{"data-slot":"alert-dialog",...e})}function nH({...e}){return(0,d.jsx)(nM.Trigger,{"data-slot":"alert-dialog-trigger",...e})}function nF({...e}){return(0,d.jsx)(nM.Portal,{"data-slot":"alert-dialog-portal",...e})}function nU({className:e,...t}){return(0,d.jsx)(nM.Overlay,{"data-slot":"alert-dialog-overlay",className:(0,j.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...t})}function nK({className:e,size:t="default",...r}){return(0,d.jsxs)(nF,{children:[(0,d.jsx)(nU,{}),(0,d.jsx)(nM.Content,{"data-slot":"alert-dialog-content","data-size":t,className:(0,j.cn)("bg-background 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 group/alert-dialog-content fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg",e),...r})]})}function nB({className:e,...t}){return(0,d.jsx)("div",{"data-slot":"alert-dialog-header",className:(0,j.cn)("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",e),...t})}function nV({className:e,...t}){return(0,d.jsx)("div",{"data-slot":"alert-dialog-footer",className:(0,j.cn)("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",e),...t})}function nW({className:e,...t}){return(0,d.jsx)(nM.Title,{"data-slot":"alert-dialog-title",className:(0,j.cn)("text-lg font-semibold sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",e),...t})}function n$({className:e,...t}){return(0,d.jsx)(nM.Description,{"data-slot":"alert-dialog-description",className:(0,j.cn)("text-muted-foreground text-sm",e),...t})}function nq({className:e,variant:t="default",size:r="default",...n}){return(0,d.jsx)(C,{variant:t,size:r,asChild:!0,children:(0,d.jsx)(nM.Action,{"data-slot":"alert-dialog-action",className:(0,j.cn)(e),...n})})}function nY({className:e,variant:t="outline",size:r="default",...n}){return(0,d.jsx)(C,{variant:t,size:r,asChild:!0,children:(0,d.jsx)(nM.Cancel,{"data-slot":"alert-dialog-cancel",className:(0,j.cn)(e),...n})})}function nX({icon:e,title:t,description:r,action:n,secondaryAction:a}){return(0,d.jsxs)("div",{className:"flex h-64 flex-col items-center justify-center gap-4 text-center",children:[(0,d.jsx)("div",{className:"bg-muted rounded-full p-4",children:(0,d.jsx)(e,{className:"text-muted-foreground h-8 w-8"})}),(0,d.jsxs)("div",{className:"space-y-1",children:[(0,d.jsx)("h3",{className:"text-base font-medium",children:t}),(0,d.jsx)("p",{className:"text-muted-foreground max-w-sm text-sm",children:r})]}),(n||a)&&(0,d.jsxs)("div",{className:"flex gap-2",children:[n&&(0,d.jsx)(C,{onClick:n.onClick,size:"sm",children:n.label}),a&&(0,d.jsx)(C,{onClick:a.onClick,size:"sm",variant:"outline",children:a.label})]})]})}let nG="agent:switch-tab",nZ=function(e){window.dispatchEvent(new CustomEvent(nG,{detail:{value:e}}))};function nJ(){let e=(0,E.useT)(),{snapshot:t,loading:r}=function(){let[e,t]=(0,u.useState)(null),[r,n]=(0,u.useState)(!0),[a,o]=(0,u.useState)(null),i=(0,u.useRef)(!0),s=(0,u.useCallback)(()=>tn.getConnectionStatus().then(e=>{i.current&&(t(e),o(null))}).catch(e=>{i.current&&o(e instanceof Error?e.message:String(e))}).finally(()=>{i.current&&n(!1)}),[]);return(0,u.useEffect)(()=>{i.current=!0,s();let e=function(e){if(!e3())return e5;let t=window.runtime;return t?t.EventsOn("connection:status",(...t)=>{let r=t[0];r&&e(e8(r))}):e5}(e=>{i.current&&(t(e),o(null))});return()=>{i.current=!1,e()}},[s]),{snapshot:e,loading:r,error:a,refresh:s}}(),{logs:n}=function(e=10){let[t,r]=(0,u.useState)([]),[n,a]=(0,u.useState)(!0),o=(0,u.useRef)(!0);return(0,u.useEffect)(()=>{o.current=!0,tn.getRecentLogs(e).then(t=>{o.current&&r(t.slice(-e))}).finally(()=>{o.current&&a(!1)});let t=function(e){if(!e3())return e5;let t=window.runtime;return t?t.EventsOn("connection:log",(...t)=>{let r=t[0];r&&e(r)}):e5}(t=>{o.current&&r(r=>{let n=[...r,t];return n.length>e?n.slice(-e):n})});return()=>{o.current=!1,t()}},[e]),{logs:t,loading:n}}(10);return r||!t?(0,d.jsxs)("section",{"data-testid":"status-view","aria-labelledby":"status-view-heading",className:"flex flex-col items-center gap-3 py-12",children:[(0,d.jsx)("h2",{id:"status-view-heading",className:"sr-only",children:e("nav.status")}),(0,d.jsx)(e4,{size:"lg",label:e("common.loading")})]}):"notPaired"===t.state?(0,d.jsxs)("section",{"data-testid":"status-view","aria-labelledby":"status-view-heading",className:"py-6",children:[(0,d.jsx)("h2",{id:"status-view-heading",className:"sr-only",children:e("nav.status")}),(0,d.jsx)(nX,{icon:I,title:e("status.empty.title"),description:e("status.empty.description"),action:{label:e("status.action.goPair"),onClick:()=>nZ("pair")}})]}):(0,d.jsxs)("section",{"data-testid":"status-view","aria-labelledby":"status-view-heading",className:"flex flex-col gap-6 py-4",children:[(0,d.jsx)("h2",{id:"status-view-heading",className:"sr-only",children:e("nav.status")}),(0,d.jsx)(tY,{state:t.state,attemptNo:t.attemptNo,errorMessage:t.error}),(0,d.jsx)(eQ,{children:(0,d.jsxs)(e0,{className:"space-y-4",children:[(0,d.jsx)(ta,{snapshot:t}),(0,d.jsx)(nQ,{state:t.state})]})}),(0,d.jsx)(t$,{logs:n,max:10})]})}function nQ({state:e}){let t=(0,E.useT)();switch(e){case"online":return(0,d.jsx)("div",{className:"flex flex-wrap gap-2",children:(0,d.jsx)(n1,{})});case"offline":return(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,d.jsx)(C,{"data-testid":"status-action-reconnect",variant:"default",onClick:()=>{tn.reconnect().catch(e=>{eF.toast.error(e instanceof Error?e.message:String(e))})},children:t("status.action.reconnect")}),(0,d.jsx)(n0,{})]});case"reconnecting":case"connecting":return(0,d.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,d.jsxs)(C,{"data-testid":"status-action-reconnect",variant:"outline",disabled:!0,children:[(0,d.jsx)(e4,{size:"sm",label:t("common.loading")}),(0,d.jsx)("span",{children:t("connection.reconnecting")})]})});case"error":return(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,d.jsx)(C,{"data-testid":"status-action-retry",variant:"default",onClick:()=>{tn.reconnect().catch(e=>{eF.toast.error(e instanceof Error?e.message:String(e))})},children:t("status.action.retry")}),(0,d.jsx)(n0,{})]});default:return null}}function n0(){let e=(0,E.useT)();return(0,d.jsx)(C,{type:"button",variant:"outline","data-testid":"status-action-repair","aria-label":e("status.action.repair"),title:e("status.action.repair"),onClick:()=>nZ("pair"),children:e("status.action.repair")})}function n1(){let e=(0,E.useT)();return(0,d.jsxs)(nO,{children:[(0,d.jsx)(nH,{asChild:!0,children:(0,d.jsx)(C,{variant:"destructive","data-testid":"status-action-disconnect",children:e("status.action.disconnect")})}),(0,d.jsxs)(nK,{children:[(0,d.jsxs)(nB,{children:[(0,d.jsx)(nW,{children:e("status.confirm.disconnect.title")}),(0,d.jsx)(n$,{children:e("status.confirm.disconnect.description")})]}),(0,d.jsxs)(nV,{children:[(0,d.jsx)(nY,{children:e("common.cancel")}),(0,d.jsx)(nq,{variant:"destructive","data-testid":"status-action-disconnect-confirm",onClick:()=>{tn.disconnect().catch(e=>{eF.toast.error(e instanceof Error?e.message:String(e))})},children:e("status.action.disconnect")})]})]})]})}let n2={token_expired:"pair.error.tokenExpired",token_used:"pair.error.tokenUsed",token_invalid:"pair.error.tokenInvalid",token_revoked:"pair.error.tokenRevoked",network_error:"pair.error.network",relay_unreachable:"pair.error.relayUnreachable",unknown:"pair.error.unknown"};function n4(){window.dispatchEvent(new CustomEvent(nG,{detail:{value:"status"}}))}function n3(){let e,t=(0,E.useT)(),{pair:r,submitting:n,lastError:a,reset:o}=function(){let[e,t]=(0,u.useState)(!1),[r,n]=(0,u.useState)(null);return{pair:(0,u.useCallback)(async e=>{t(!0),n(null);try{await tn.pair(e)}catch(t){let e="object"==typeof t&&null!==t&&"code"in t&&"string"==typeof t.code?t:{code:"unknown"};throw n(e),e}finally{t(!1)}},[]),submitting:e,lastError:r,reset:(0,u.useCallback)(()=>n(null),[])}}(),[i,s]=(0,u.useState)(""),l="valid"===eq(i)&&!n,c=(0,u.useRef)(n);async function f(){if(l)try{await r(i),eF.toast.success(t("pair.success")),window.setTimeout(n4,500)}catch{}}return(0,u.useEffect)(()=>{c.current=n},[n]),(0,u.useEffect)(()=>{function e(e){"Escape"!==e.key||c.current||(e.preventDefault(),n4())}return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]),(0,d.jsxs)("section",{"data-testid":"pair-view","aria-labelledby":"pair-view-heading",className:"flex flex-col gap-6 py-4",children:[(0,d.jsxs)("div",{className:"space-y-1 text-center",children:[(0,d.jsx)("h2",{id:"pair-view-heading",className:"text-2xl font-semibold",children:t("pair.title")}),(0,d.jsx)("p",{className:"text-muted-foreground text-sm",children:t("pair.description")})]}),(0,d.jsx)(eQ,{children:(0,d.jsxs)(e0,{className:"space-y-4",children:[(0,d.jsx)(eY,{value:i,onChange:function(e){s(e),a&&o()},onSubmit:f,disabled:n,autoFocus:!0}),a&&(0,d.jsx)(eZ,{variant:"destructive","data-testid":"pair-error",children:(0,d.jsx)(eJ,{children:(e=t(n2[a.code]),"relay_unreachable"===a.code&&a.relayUrl?e.replace("{url}",a.relayUrl):e)})}),(0,d.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[(0,d.jsxs)(C,{type:"button",variant:"link",size:"sm",className:"h-auto p-0 text-xs",onClick:function(){tn.openURL("https://visionA.cloud/devices/pair")},"data-testid":"pair-link-cloud",children:[t("pair.linkCloud"),(0,d.jsx)(eH,{"aria-hidden":"true",className:"ml-0.5 size-3"})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(C,{type:"button",variant:"ghost",onClick:function(){s(""),o(),n4()},disabled:n,"data-testid":"pair-button-cancel",children:t("pair.button.cancel")}),(0,d.jsx)(C,{type:"button",variant:"default",onClick:f,disabled:!l,"aria-busy":n,"data-testid":"pair-button-submit",children:n?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e4,{size:"sm",label:t("pair.button.submitting")}),(0,d.jsx)("span",{children:t("pair.button.submitting")})]}):t("pair.button.submit")})]})]})]})}),(0,d.jsx)(eZ,{variant:"info","data-testid":"pair-alert-security",children:(0,d.jsx)(eJ,{children:t("pair.alert.security")})})]})}let n5=(0,f.default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);function n6(e){let t=u.useRef({value:e,previous:e});return u.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var n8=e.i(65048),n9="Checkbox",[n7,ae]=(0,F.createContextScope)(n9),[at,ar]=n7(n9);function an(e){let{__scopeCheckbox:t,checked:r,children:n,defaultChecked:a,disabled:o,form:i,name:s,onCheckedChange:l,required:c,value:f="on",internal_do_not_use_render:p}=e,[v,h]=(0,G.useControllableState)({prop:r,defaultProp:a??!1,onChange:l,caller:n9}),[m,g]=u.useState(null),[x,b]=u.useState(null),y=u.useRef(!1),w=!m||!!i||!!m.closest("form"),j={checked:v,disabled:o,setChecked:h,control:m,setControl:g,name:s,form:i,value:f,hasConsumerStoppedPropagationRef:y,required:c,defaultChecked:!au(a)&&a,isFormControl:w,bubbleInput:x,setBubbleInput:b};return(0,d.jsx)(at,{scope:t,...j,children:"function"==typeof p?p(j):n})}var aa="CheckboxTrigger",ao=u.forwardRef(({__scopeCheckbox:e,onKeyDown:t,onClick:r,...n},a)=>{let{control:o,value:i,disabled:s,checked:l,required:c,setControl:f,setChecked:p,hasConsumerStoppedPropagationRef:v,isFormControl:h,bubbleInput:m}=ar(aa,e),g=(0,U.useComposedRefs)(a,f),x=u.useRef(l);return u.useEffect(()=>{let e=o?.form;if(e){let t=()=>p(x.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[o,p]),(0,d.jsx)(Y.Primitive.button,{type:"button",role:"checkbox","aria-checked":au(l)?"mixed":l,"aria-required":c,"data-state":af(l),"data-disabled":s?"":void 0,disabled:s,value:i,...n,ref:g,onKeyDown:(0,H.composeEventHandlers)(t,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,H.composeEventHandlers)(r,e=>{p(e=>!!au(e)||!e),m&&h&&(v.current=e.isPropagationStopped(),v.current||e.stopPropagation())})})});ao.displayName=aa;var ai=u.forwardRef((e,t)=>{let{__scopeCheckbox:r,name:n,checked:a,defaultChecked:o,required:i,disabled:s,value:l,onCheckedChange:c,form:u,...f}=e;return(0,d.jsx)(an,{__scopeCheckbox:r,checked:a,defaultChecked:o,disabled:s,required:i,onCheckedChange:c,name:n,form:u,value:l,internal_do_not_use_render:({isFormControl:e})=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(ao,{...f,ref:t,__scopeCheckbox:r}),e&&(0,d.jsx)(ad,{__scopeCheckbox:r})]})})});ai.displayName=n9;var as="CheckboxIndicator",al=u.forwardRef((e,t)=>{let{__scopeCheckbox:r,forceMount:n,...a}=e,o=ar(as,r);return(0,d.jsx)(eh.Presence,{present:n||au(o.checked)||!0===o.checked,children:(0,d.jsx)(Y.Primitive.span,{"data-state":af(o.checked),"data-disabled":o.disabled?"":void 0,...a,ref:t,style:{pointerEvents:"none",...e.style}})})});al.displayName=as;var ac="CheckboxBubbleInput",ad=u.forwardRef(({__scopeCheckbox:e,...t},r)=>{let{control:n,hasConsumerStoppedPropagationRef:a,checked:o,defaultChecked:i,required:s,disabled:l,name:c,value:f,form:p,bubbleInput:v,setBubbleInput:h}=ar(ac,e),m=(0,U.useComposedRefs)(r,h),g=n6(o),x=(0,n8.useSize)(n);u.useEffect(()=>{if(!v)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!a.current;if(g!==o&&e){let r=new Event("click",{bubbles:t});v.indeterminate=au(o),e.call(v,!au(o)&&o),v.dispatchEvent(r)}},[v,g,o,a]);let b=u.useRef(!au(o)&&o);return(0,d.jsx)(Y.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:i??b.current,required:s,disabled:l,name:c,value:f,form:p,...t,tabIndex:-1,ref:m,style:{...t.style,...x,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function au(e){return"indeterminate"===e}function af(e){return au(e)?"indeterminate":e?"checked":"unchecked"}ad.displayName=ac,e.s(["Checkbox",()=>ai,"CheckboxIndicator",()=>al,"Indicator",()=>al,"Root",()=>ai,"createCheckboxScope",()=>ae,"unstable_BubbleInput",()=>ad,"unstable_CheckboxBubbleInput",()=>ad,"unstable_CheckboxProvider",()=>an,"unstable_CheckboxTrigger",()=>ao,"unstable_Provider",()=>an,"unstable_Trigger",()=>ao],70615);var ap=e.i(70615),ap=ap;function av({className:e,...t}){return(0,d.jsx)(ap.Root,{"data-slot":"checkbox",className:(0,j.cn)("peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:(0,d.jsx)(ap.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none",children:(0,d.jsx)(n5,{className:"size-3.5"})})})}let ah=(0,f.default)("circle",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);var am="Radio",[ag,ax]=(0,F.createContextScope)(am),[ab,ay]=ag(am),aw=u.forwardRef((e,t)=>{let{__scopeRadio:r,name:n,checked:a=!1,required:o,disabled:i,value:s="on",onCheck:l,form:c,...f}=e,[p,v]=u.useState(null),h=(0,U.useComposedRefs)(t,e=>v(e)),m=u.useRef(!1),g=!p||c||!!p.closest("form");return(0,d.jsxs)(ab,{scope:r,checked:a,disabled:i,children:[(0,d.jsx)(Y.Primitive.button,{type:"button",role:"radio","aria-checked":a,"data-state":ak(a),"data-disabled":i?"":void 0,disabled:i,value:s,...f,ref:h,onClick:(0,H.composeEventHandlers)(e.onClick,e=>{a||l?.(),g&&(m.current=e.isPropagationStopped(),m.current||e.stopPropagation())})}),g&&(0,d.jsx)(aC,{control:p,bubbles:!m.current,name:n,value:s,checked:a,required:o,disabled:i,form:c,style:{transform:"translateX(-100%)"}})]})});aw.displayName=am;var aj="RadioIndicator",aS=u.forwardRef((e,t)=>{let{__scopeRadio:r,forceMount:n,...a}=e,o=ay(aj,r);return(0,d.jsx)(eh.Presence,{present:n||o.checked,children:(0,d.jsx)(Y.Primitive.span,{"data-state":ak(o.checked),"data-disabled":o.disabled?"":void 0,...a,ref:t})})});aS.displayName=aj;var aC=u.forwardRef(({__scopeRadio:e,control:t,checked:r,bubbles:n=!0,...a},o)=>{let i=u.useRef(null),s=(0,U.useComposedRefs)(i,o),l=n6(r),c=(0,n8.useSize)(t);return u.useEffect(()=>{let e=i.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set;if(l!==r&&t){let a=new Event("click",{bubbles:n});t.call(e,r),e.dispatchEvent(a)}},[l,r,n]),(0,d.jsx)(Y.Primitive.input,{type:"radio","aria-hidden":!0,defaultChecked:r,...a,tabIndex:-1,ref:s,style:{...a.style,...c,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});function ak(e){return e?"checked":"unchecked"}aC.displayName="RadioBubbleInput";var aE=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],aR="RadioGroup",[aN,aA]=(0,F.createContextScope)(aR,[ei,ax]),aT=ei(),aP=ax(),[aI,aL]=aN(aR),aD=u.forwardRef((e,t)=>{let{__scopeRadioGroup:r,name:n,defaultValue:a,value:o,required:i=!1,disabled:s=!1,orientation:l,dir:c,loop:u=!0,onValueChange:f,...p}=e,v=aT(r),h=J(c),[m,g]=(0,G.useControllableState)({prop:o,defaultProp:a??null,onChange:f,caller:aR});return(0,d.jsx)(aI,{scope:r,name:n,required:i,disabled:s,value:m,onValueChange:g,children:(0,d.jsx)(ec,{asChild:!0,...v,orientation:l,dir:h,loop:u,children:(0,d.jsx)(Y.Primitive.div,{role:"radiogroup","aria-required":i,"aria-orientation":l,"data-disabled":s?"":void 0,dir:h,...p,ref:t})})})});aD.displayName=aR;var az="RadioGroupItem",a_=u.forwardRef((e,t)=>{let{__scopeRadioGroup:r,disabled:n,...a}=e,o=aL(az,r),i=o.disabled||n,s=aT(r),l=aP(r),c=u.useRef(null),f=(0,U.useComposedRefs)(t,c),p=o.value===a.value,v=u.useRef(!1);return u.useEffect(()=>{let e=e=>{aE.includes(e.key)&&(v.current=!0)},t=()=>v.current=!1;return document.addEventListener("keydown",e),document.addEventListener("keyup",t),()=>{document.removeEventListener("keydown",e),document.removeEventListener("keyup",t)}},[]),(0,d.jsx)(ef,{asChild:!0,...s,focusable:!i,active:p,children:(0,d.jsx)(aw,{disabled:i,required:o.required,checked:p,...l,...a,name:o.name,ref:f,onCheck:()=>o.onValueChange(a.value),onKeyDown:(0,H.composeEventHandlers)(e=>{"Enter"===e.key&&e.preventDefault()}),onFocus:(0,H.composeEventHandlers)(a.onFocus,()=>{v.current&&c.current?.click()})})})});a_.displayName=az;var aM=u.forwardRef((e,t)=>{let{__scopeRadioGroup:r,...n}=e,a=aP(r);return(0,d.jsx)(aS,{...a,...n,ref:t})});aM.displayName="RadioGroupIndicator",e.s(["Indicator",()=>aM,"Item",()=>a_,"RadioGroup",()=>aD,"RadioGroupIndicator",()=>aM,"RadioGroupItem",()=>a_,"Root",()=>aD,"createRadioGroupScope",()=>aA],51843);var aO=e.i(51843),aO=aO;function aH({className:e,...t}){return(0,d.jsx)(aO.Root,{"data-slot":"radio-group",className:(0,j.cn)("grid gap-3",e),...t})}function aF({className:e,...t}){return(0,d.jsx)(aO.Item,{"data-slot":"radio-group-item",className:(0,j.cn)("border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive","dark:bg-input/30 aspect-square size-4 shrink-0 rounded-full border shadow-xs outline-none","transition-[color,box-shadow] focus-visible:ring-[3px]","disabled:cursor-not-allowed disabled:opacity-50",e),...t,children:(0,d.jsx)(aO.Indicator,{"data-slot":"radio-group-indicator",className:"relative flex items-center justify-center",children:(0,d.jsx)(ah,{className:"fill-primary absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2"})})})}let aU=(0,f.default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),aK=(0,f.default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);var aB=e.i(29080),aV=e.i(70253),aW=w,a$=e.i(36765),aq=[" ","Enter","ArrowUp","ArrowDown"],aY=[" ","Enter"],aX="Select",[aG,aZ,aJ]=B(aX),[aQ,a0]=(0,F.createContextScope)(aX,[aJ,aV.createPopperScope]),a1=(0,aV.createPopperScope)(),[a2,a4]=aQ(aX),[a3,a5]=aQ(aX),a6=e=>{let{__scopeSelect:t,children:r,open:n,defaultOpen:a,onOpenChange:o,value:i,defaultValue:s,onValueChange:l,dir:c,name:f,autoComplete:p,disabled:v,required:h,form:m}=e,g=a1(t),[x,b]=u.useState(null),[y,w]=u.useState(null),[j,S]=u.useState(!1),C=J(c),[k,E]=(0,G.useControllableState)({prop:n,defaultProp:a??!1,onChange:o,caller:aX}),[R,N]=(0,G.useControllableState)({prop:i,defaultProp:s,onChange:l,caller:aX}),A=u.useRef(null),T=!x||m||!!x.closest("form"),[P,I]=u.useState(new Set),L=Array.from(P).map(e=>e.props.value).join(";");return(0,d.jsx)(aV.Root,{...g,children:(0,d.jsxs)(a2,{required:h,scope:t,trigger:x,onTriggerChange:b,valueNode:y,onValueNodeChange:w,valueNodeHasChildren:j,onValueNodeHasChildrenChange:S,contentId:(0,q.useId)(),value:R,onValueChange:N,open:k,onOpenChange:E,dir:C,triggerPointerDownPosRef:A,disabled:v,children:[(0,d.jsx)(aG.Provider,{scope:t,children:(0,d.jsx)(a3,{scope:e.__scopeSelect,onNativeOptionAdd:u.useCallback(e=>{I(t=>new Set(t).add(e))},[]),onNativeOptionRemove:u.useCallback(e=>{I(t=>{let r=new Set(t);return r.delete(e),r})},[]),children:r})}),T?(0,d.jsxs)(oM,{"aria-hidden":!0,required:h,tabIndex:-1,name:f,autoComplete:p,value:R,onChange:e=>N(e.target.value),disabled:v,form:m,children:[void 0===R?(0,d.jsx)("option",{value:""}):null,Array.from(P)]},L):null]})})};a6.displayName=aX;var a8="SelectTrigger",a9=u.forwardRef((e,t)=>{let{__scopeSelect:r,disabled:n=!1,...a}=e,o=a1(r),i=a4(a8,r),s=i.disabled||n,l=(0,U.useComposedRefs)(t,i.onTriggerChange),c=aZ(r),f=u.useRef("touch"),[p,v,h]=oH(e=>{let t=c().filter(e=>!e.disabled),r=t.find(e=>e.value===i.value),n=oF(t,e,r);void 0!==n&&i.onValueChange(n.value)}),m=e=>{s||(i.onOpenChange(!0),h()),e&&(i.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,d.jsx)(aV.Anchor,{asChild:!0,...o,children:(0,d.jsx)(Y.Primitive.button,{type:"button",role:"combobox","aria-controls":i.contentId,"aria-expanded":i.open,"aria-required":i.required,"aria-autocomplete":"none",dir:i.dir,"data-state":i.open?"open":"closed",disabled:s,"data-disabled":s?"":void 0,"data-placeholder":oO(i.value)?"":void 0,...a,ref:l,onClick:(0,H.composeEventHandlers)(a.onClick,e=>{e.currentTarget.focus(),"mouse"!==f.current&&m(e)}),onPointerDown:(0,H.composeEventHandlers)(a.onPointerDown,e=>{f.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(m(e),e.preventDefault())}),onKeyDown:(0,H.composeEventHandlers)(a.onKeyDown,e=>{let t=""!==p.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||v(e.key),(!t||" "!==e.key)&&aq.includes(e.key)&&(m(),e.preventDefault())})})})});a9.displayName=a8;var a7="SelectValue",oe=u.forwardRef((e,t)=>{let{__scopeSelect:r,className:n,style:a,children:o,placeholder:i="",...s}=e,l=a4(a7,r),{onValueNodeHasChildrenChange:c}=l,u=void 0!==o,f=(0,U.useComposedRefs)(t,l.onValueNodeChange);return(0,ts.useLayoutEffect)(()=>{c(u)},[c,u]),(0,d.jsx)(Y.Primitive.span,{...s,ref:f,style:{pointerEvents:"none"},children:oO(l.value)?(0,d.jsx)(d.Fragment,{children:i}):o})});oe.displayName=a7;var ot=u.forwardRef((e,t)=>{let{__scopeSelect:r,children:n,...a}=e;return(0,d.jsx)(Y.Primitive.span,{"aria-hidden":!0,...a,ref:t,children:n||"▼"})});ot.displayName="SelectIcon";var or=e=>(0,d.jsx)(t5.Portal,{asChild:!0,...e});or.displayName="SelectPortal";var on="SelectContent",oa=u.forwardRef((e,t)=>{let r=a4(on,e.__scopeSelect),[n,a]=u.useState();return((0,ts.useLayoutEffect)(()=>{a(new DocumentFragment)},[]),r.open)?(0,d.jsx)(ol,{...e,ref:t}):n?aB.createPortal((0,d.jsx)(oo,{scope:e.__scopeSelect,children:(0,d.jsx)(aG.Slot,{scope:e.__scopeSelect,children:(0,d.jsx)("div",{children:e.children})})}),n):null});oa.displayName=on;var[oo,oi]=aQ(on),os=(0,aW.createSlot)("SelectContent.RemoveScroll"),ol=u.forwardRef((e,t)=>{let{__scopeSelect:r,position:n="item-aligned",onCloseAutoFocus:a,onEscapeKeyDown:o,onPointerDownOutside:i,side:s,sideOffset:l,align:c,alignOffset:f,arrowPadding:p,collisionBoundary:v,collisionPadding:h,sticky:m,hideWhenDetached:g,avoidCollisions:x,...b}=e,y=a4(on,r),[w,j]=u.useState(null),[S,C]=u.useState(null),k=(0,U.useComposedRefs)(t,e=>j(e)),[E,R]=u.useState(null),[N,A]=u.useState(null),T=aZ(r),[P,I]=u.useState(!1),L=u.useRef(!1);u.useEffect(()=>{if(w)return rV(w)},[w]),t8();let D=u.useCallback(e=>{let[t,...r]=T().map(e=>e.ref.current),[n]=r.slice(-1),a=document.activeElement;for(let r of e)if(r===a||(r?.scrollIntoView({block:"nearest"}),r===t&&S&&(S.scrollTop=0),r===n&&S&&(S.scrollTop=S.scrollHeight),r?.focus(),document.activeElement!==a))return},[T,S]),z=u.useCallback(()=>D([E,w]),[D,E,w]);u.useEffect(()=>{P&&z()},[P,z]);let{onOpenChange:_,triggerPointerDownPosRef:M}=y;u.useEffect(()=>{if(w){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(M.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(M.current?.y??0))}},r=r=>{e.x<=10&&e.y<=10?r.preventDefault():w.contains(r.target)||_(!1),document.removeEventListener("pointermove",t),M.current=null};return null!==M.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",r,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",r,{capture:!0})}}},[w,_,M]),u.useEffect(()=>{let e=()=>_(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[_]);let[O,F]=oH(e=>{let t=T().filter(e=>!e.disabled),r=t.find(e=>e.ref.current===document.activeElement),n=oF(t,e,r);n&&setTimeout(()=>n.ref.current.focus())}),K=u.useCallback((e,t,r)=>{let n=!L.current&&!r;(void 0!==y.value&&y.value===t||n)&&(R(e),n&&(L.current=!0))},[y.value]),B=u.useCallback(()=>w?.focus(),[w]),V=u.useCallback((e,t,r)=>{let n=!L.current&&!r;(void 0!==y.value&&y.value===t||n)&&A(e)},[y.value]),W="popper"===n?od:oc,$=W===od?{side:s,sideOffset:l,align:c,alignOffset:f,arrowPadding:p,collisionBoundary:v,collisionPadding:h,sticky:m,hideWhenDetached:g,avoidCollisions:x}:{};return(0,d.jsx)(oo,{scope:r,content:w,viewport:S,onViewportChange:C,itemRefCallback:K,selectedItem:E,onItemLeave:B,itemTextRefCallback:V,focusSelectedItem:z,selectedItemText:N,position:n,isPositioned:P,searchRef:O,children:(0,d.jsx)(rM,{as:os,allowPinchZoom:!0,children:(0,d.jsx)(tQ,{asChild:!0,trapped:y.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,H.composeEventHandlers)(a,e=>{y.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,d.jsx)(tX.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:o,onPointerDownOutside:i,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>y.onOpenChange(!1),children:(0,d.jsx)(W,{role:"listbox",id:y.contentId,"data-state":y.open?"open":"closed",dir:y.dir,onContextMenu:e=>e.preventDefault(),...b,...$,onPlaced:()=>I(!0),ref:k,style:{display:"flex",flexDirection:"column",outline:"none",...b.style},onKeyDown:(0,H.composeEventHandlers)(b.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||F(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=T().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let r=e.target,n=t.indexOf(r);t=t.slice(n+1)}setTimeout(()=>D(t)),e.preventDefault()}})})})})})})});ol.displayName="SelectContentImpl";var oc=u.forwardRef((e,t)=>{let{__scopeSelect:r,onPlaced:n,...a}=e,o=a4(on,r),i=oi(on,r),[s,l]=u.useState(null),[c,f]=u.useState(null),p=(0,U.useComposedRefs)(t,e=>f(e)),v=aZ(r),h=u.useRef(!1),m=u.useRef(!0),{viewport:g,selectedItem:x,selectedItemText:b,focusSelectedItem:y}=i,w=u.useCallback(()=>{if(o.trigger&&o.valueNode&&s&&c&&g&&x&&b){let e=o.trigger.getBoundingClientRect(),t=c.getBoundingClientRect(),r=o.valueNode.getBoundingClientRect(),a=b.getBoundingClientRect();if("rtl"!==o.dir){let n=a.left-t.left,o=r.left-n,i=e.left-o,l=e.width+i,c=Math.max(l,t.width),d=tl(o,[10,Math.max(10,window.innerWidth-10-c)]);s.style.minWidth=l+"px",s.style.left=d+"px"}else{let n=t.right-a.right,o=window.innerWidth-r.right-n,i=window.innerWidth-e.right-o,l=e.width+i,c=Math.max(l,t.width),d=tl(o,[10,Math.max(10,window.innerWidth-10-c)]);s.style.minWidth=l+"px",s.style.right=d+"px"}let i=v(),l=window.innerHeight-20,d=g.scrollHeight,u=window.getComputedStyle(c),f=parseInt(u.borderTopWidth,10),p=parseInt(u.paddingTop,10),m=parseInt(u.borderBottomWidth,10),y=f+p+d+parseInt(u.paddingBottom,10)+m,w=Math.min(5*x.offsetHeight,y),j=window.getComputedStyle(g),S=parseInt(j.paddingTop,10),C=parseInt(j.paddingBottom,10),k=e.top+e.height/2-10,E=x.offsetHeight/2,R=f+p+(x.offsetTop+E);if(R<=k){let e=i.length>0&&x===i[i.length-1].ref.current;s.style.bottom="0px";let t=Math.max(l-k,E+(e?C:0)+(c.clientHeight-g.offsetTop-g.offsetHeight)+m);s.style.height=R+t+"px"}else{let e=i.length>0&&x===i[0].ref.current;s.style.top="0px";let t=Math.max(k,f+g.offsetTop+(e?S:0)+E);s.style.height=t+(y-R)+"px",g.scrollTop=R-k+g.offsetTop}s.style.margin="10px 0",s.style.minHeight=w+"px",s.style.maxHeight=l+"px",n?.(),requestAnimationFrame(()=>h.current=!0)}},[v,o.trigger,o.valueNode,s,c,g,x,b,o.dir,n]);(0,ts.useLayoutEffect)(()=>w(),[w]);let[j,S]=u.useState();(0,ts.useLayoutEffect)(()=>{c&&S(window.getComputedStyle(c).zIndex)},[c]);let C=u.useCallback(e=>{e&&!0===m.current&&(w(),y?.(),m.current=!1)},[w,y]);return(0,d.jsx)(ou,{scope:r,contentWrapper:s,shouldExpandOnScrollRef:h,onScrollButtonChange:C,children:(0,d.jsx)("div",{ref:l,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:j},children:(0,d.jsx)(Y.Primitive.div,{...a,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...a.style}})})})});oc.displayName="SelectItemAlignedPosition";var od=u.forwardRef((e,t)=>{let{__scopeSelect:r,align:n="start",collisionPadding:a=10,...o}=e,i=a1(r);return(0,d.jsx)(aV.Content,{...i,...o,ref:t,align:n,collisionPadding:a,style:{boxSizing:"border-box",...o.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});od.displayName="SelectPopperPosition";var[ou,of]=aQ(on,{}),op="SelectViewport",ov=u.forwardRef((e,t)=>{let{__scopeSelect:r,nonce:n,...a}=e,o=oi(op,r),i=of(op,r),s=(0,U.useComposedRefs)(t,o.onViewportChange),l=u.useRef(0);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:n}),(0,d.jsx)(aG.Slot,{scope:r,children:(0,d.jsx)(Y.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...a,ref:s,style:{position:"relative",flex:1,overflow:"hidden auto",...a.style},onScroll:(0,H.composeEventHandlers)(a.onScroll,e=>{let t=e.currentTarget,{contentWrapper:r,shouldExpandOnScrollRef:n}=i;if(n?.current&&r){let e=Math.abs(l.current-t.scrollTop);if(e>0){let n=window.innerHeight-20,a=Math.max(parseFloat(r.style.minHeight),parseFloat(r.style.height));if(a<n){let o=a+e,i=Math.min(n,o),s=o-i;r.style.height=i+"px","0px"===r.style.bottom&&(t.scrollTop=s>0?s:0,r.style.justifyContent="flex-end")}}}l.current=t.scrollTop})})})]})});ov.displayName=op;var oh="SelectGroup",[om,og]=aQ(oh),ox=u.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,a=(0,q.useId)();return(0,d.jsx)(om,{scope:r,id:a,children:(0,d.jsx)(Y.Primitive.div,{role:"group","aria-labelledby":a,...n,ref:t})})});ox.displayName=oh;var ob="SelectLabel",oy=u.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,a=og(ob,r);return(0,d.jsx)(Y.Primitive.div,{id:a.id,...n,ref:t})});oy.displayName=ob;var ow="SelectItem",[oj,oS]=aQ(ow),oC=u.forwardRef((e,t)=>{let{__scopeSelect:r,value:n,disabled:a=!1,textValue:o,...i}=e,s=a4(ow,r),l=oi(ow,r),c=s.value===n,[f,p]=u.useState(o??""),[v,h]=u.useState(!1),m=(0,U.useComposedRefs)(t,e=>l.itemRefCallback?.(e,n,a)),g=(0,q.useId)(),x=u.useRef("touch"),b=()=>{a||(s.onValueChange(n),s.onOpenChange(!1))};if(""===n)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,d.jsx)(oj,{scope:r,value:n,disabled:a,textId:g,isSelected:c,onItemTextChange:u.useCallback(e=>{p(t=>t||(e?.textContent??"").trim())},[]),children:(0,d.jsx)(aG.ItemSlot,{scope:r,value:n,disabled:a,textValue:f,children:(0,d.jsx)(Y.Primitive.div,{role:"option","aria-labelledby":g,"data-highlighted":v?"":void 0,"aria-selected":c&&v,"data-state":c?"checked":"unchecked","aria-disabled":a||void 0,"data-disabled":a?"":void 0,tabIndex:a?void 0:-1,...i,ref:m,onFocus:(0,H.composeEventHandlers)(i.onFocus,()=>h(!0)),onBlur:(0,H.composeEventHandlers)(i.onBlur,()=>h(!1)),onClick:(0,H.composeEventHandlers)(i.onClick,()=>{"mouse"!==x.current&&b()}),onPointerUp:(0,H.composeEventHandlers)(i.onPointerUp,()=>{"mouse"===x.current&&b()}),onPointerDown:(0,H.composeEventHandlers)(i.onPointerDown,e=>{x.current=e.pointerType}),onPointerMove:(0,H.composeEventHandlers)(i.onPointerMove,e=>{x.current=e.pointerType,a?l.onItemLeave?.():"mouse"===x.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,H.composeEventHandlers)(i.onPointerLeave,e=>{e.currentTarget===document.activeElement&&l.onItemLeave?.()}),onKeyDown:(0,H.composeEventHandlers)(i.onKeyDown,e=>{(l.searchRef?.current===""||" "!==e.key)&&(aY.includes(e.key)&&b()," "===e.key&&e.preventDefault())})})})})});oC.displayName=ow;var ok="SelectItemText",oE=u.forwardRef((e,t)=>{let{__scopeSelect:r,className:n,style:a,...o}=e,i=a4(ok,r),s=oi(ok,r),l=oS(ok,r),c=a5(ok,r),[f,p]=u.useState(null),v=(0,U.useComposedRefs)(t,e=>p(e),l.onItemTextChange,e=>s.itemTextRefCallback?.(e,l.value,l.disabled)),h=f?.textContent,m=u.useMemo(()=>(0,d.jsx)("option",{value:l.value,disabled:l.disabled,children:h},l.value),[l.disabled,l.value,h]),{onNativeOptionAdd:g,onNativeOptionRemove:x}=c;return(0,ts.useLayoutEffect)(()=>(g(m),()=>x(m)),[g,x,m]),(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(Y.Primitive.span,{id:l.textId,...o,ref:v}),l.isSelected&&i.valueNode&&!i.valueNodeHasChildren?aB.createPortal(o.children,i.valueNode):null]})});oE.displayName=ok;var oR="SelectItemIndicator",oN=u.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e;return oS(oR,r).isSelected?(0,d.jsx)(Y.Primitive.span,{"aria-hidden":!0,...n,ref:t}):null});oN.displayName=oR;var oA="SelectScrollUpButton",oT=u.forwardRef((e,t)=>{let r=oi(oA,e.__scopeSelect),n=of(oA,e.__scopeSelect),[a,o]=u.useState(!1),i=(0,U.useComposedRefs)(t,n.onScrollButtonChange);return(0,ts.useLayoutEffect)(()=>{if(r.viewport&&r.isPositioned){let e=function(){o(t.scrollTop>0)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),a?(0,d.jsx)(oL,{...e,ref:i,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});oT.displayName=oA;var oP="SelectScrollDownButton",oI=u.forwardRef((e,t)=>{let r=oi(oP,e.__scopeSelect),n=of(oP,e.__scopeSelect),[a,o]=u.useState(!1),i=(0,U.useComposedRefs)(t,n.onScrollButtonChange);return(0,ts.useLayoutEffect)(()=>{if(r.viewport&&r.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;o(Math.ceil(t.scrollTop)<e)},t=r.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[r.viewport,r.isPositioned]),a?(0,d.jsx)(oL,{...e,ref:i,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=r;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});oI.displayName=oP;var oL=u.forwardRef((e,t)=>{let{__scopeSelect:r,onAutoScroll:n,...a}=e,o=oi("SelectScrollButton",r),i=u.useRef(null),s=aZ(r),l=u.useCallback(()=>{null!==i.current&&(window.clearInterval(i.current),i.current=null)},[]);return u.useEffect(()=>()=>l(),[l]),(0,ts.useLayoutEffect)(()=>{let e=s().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[s]),(0,d.jsx)(Y.Primitive.div,{"aria-hidden":!0,...a,ref:t,style:{flexShrink:0,...a.style},onPointerDown:(0,H.composeEventHandlers)(a.onPointerDown,()=>{null===i.current&&(i.current=window.setInterval(n,50))}),onPointerMove:(0,H.composeEventHandlers)(a.onPointerMove,()=>{o.onItemLeave?.(),null===i.current&&(i.current=window.setInterval(n,50))}),onPointerLeave:(0,H.composeEventHandlers)(a.onPointerLeave,()=>{l()})})}),oD=u.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e;return(0,d.jsx)(Y.Primitive.div,{"aria-hidden":!0,...n,ref:t})});oD.displayName="SelectSeparator";var oz="SelectArrow",o_=u.forwardRef((e,t)=>{let{__scopeSelect:r,...n}=e,a=a1(r),o=a4(oz,r),i=oi(oz,r);return o.open&&"popper"===i.position?(0,d.jsx)(aV.Arrow,{...a,...n,ref:t}):null});o_.displayName=oz;var oM=u.forwardRef(({__scopeSelect:e,value:t,...r},n)=>{let a=u.useRef(null),o=(0,U.useComposedRefs)(n,a),i=n6(t);return u.useEffect(()=>{let e=a.current;if(!e)return;let r=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(i!==t&&r){let n=new Event("change",{bubbles:!0});r.call(e,t),e.dispatchEvent(n)}},[i,t]),(0,d.jsx)(Y.Primitive.select,{...r,style:{...a$.VISUALLY_HIDDEN_STYLES,...r.style},ref:o,defaultValue:t})});function oO(e){return""===e||void 0===e}function oH(e){let t=(0,X.useCallbackRef)(e),r=u.useRef(""),n=u.useRef(0),a=u.useCallback(e=>{let a=r.current+e;t(a),function e(t){r.current=t,window.clearTimeout(n.current),""!==t&&(n.current=window.setTimeout(()=>e(""),1e3))}(a)},[t]),o=u.useCallback(()=>{r.current="",window.clearTimeout(n.current)},[]);return u.useEffect(()=>()=>window.clearTimeout(n.current),[]),[r,a,o]}function oF(e,t,r){var n,a;let o=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=r?e.indexOf(r):-1,s=(n=e,a=Math.max(i,0),n.map((e,t)=>n[(a+t)%n.length]));1===o.length&&(s=s.filter(e=>e!==r));let l=s.find(e=>e.textValue.toLowerCase().startsWith(o.toLowerCase()));return l!==r?l:void 0}oM.displayName="SelectBubbleInput",e.s(["Arrow",()=>o_,"Content",()=>oa,"Group",()=>ox,"Icon",()=>ot,"Item",()=>oC,"ItemIndicator",()=>oN,"ItemText",()=>oE,"Label",()=>oy,"Portal",()=>or,"Root",()=>a6,"ScrollDownButton",()=>oI,"ScrollUpButton",()=>oT,"Select",()=>a6,"SelectArrow",()=>o_,"SelectContent",()=>oa,"SelectGroup",()=>ox,"SelectIcon",()=>ot,"SelectItem",()=>oC,"SelectItemIndicator",()=>oN,"SelectItemText",()=>oE,"SelectLabel",()=>oy,"SelectPortal",()=>or,"SelectScrollDownButton",()=>oI,"SelectScrollUpButton",()=>oT,"SelectSeparator",()=>oD,"SelectTrigger",()=>a9,"SelectValue",()=>oe,"SelectViewport",()=>ov,"Separator",()=>oD,"Trigger",()=>a9,"Value",()=>oe,"Viewport",()=>ov,"createSelectScope",()=>a0],65347);var oU=e.i(65347),oU=oU;function oK({...e}){return(0,d.jsx)(oU.Root,{"data-slot":"select",...e})}function oB({...e}){return(0,d.jsx)(oU.Value,{"data-slot":"select-value",...e})}function oV({className:e,size:t="default",children:r,...n}){return(0,d.jsxs)(oU.Trigger,{"data-slot":"select-trigger","data-size":t,className:(0,j.cn)("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...n,children:[r,(0,d.jsx)(oU.Icon,{asChild:!0,children:(0,d.jsx)(aU,{className:"size-4 opacity-50"})})]})}function oW({className:e,children:t,position:r="item-aligned",align:n="center",...a}){return(0,d.jsx)(oU.Portal,{children:(0,d.jsxs)(oU.Content,{"data-slot":"select-content",className:(0,j.cn)("bg-popover text-popover-foreground 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-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md","popper"===r&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:r,align:n,...a,children:[(0,d.jsx)(oq,{}),(0,d.jsx)(oU.Viewport,{className:(0,j.cn)("p-1","popper"===r&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),(0,d.jsx)(oY,{})]})})}function o$({className:e,children:t,...r}){return(0,d.jsxs)(oU.Item,{"data-slot":"select-item",className:(0,j.cn)("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...r,children:[(0,d.jsx)("span",{"data-slot":"select-item-indicator",className:"absolute right-2 flex size-3.5 items-center justify-center",children:(0,d.jsx)(oU.ItemIndicator,{children:(0,d.jsx)(n5,{className:"size-4"})})}),(0,d.jsx)(oU.ItemText,{children:t})]})}function oq({className:e,...t}){return(0,d.jsx)(oU.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:(0,j.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,d.jsx)(aK,{className:"size-4"})})}function oY({className:e,...t}){return(0,d.jsx)(oU.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:(0,j.cn)("flex cursor-default items-center justify-center py-1",e),...t,children:(0,d.jsx)(aU,{className:"size-4"})})}var oX="horizontal",oG=["horizontal","vertical"],oZ=u.forwardRef((e,t)=>{var r;let{decorative:n,orientation:a=oX,...o}=e,i=(r=a,oG.includes(r))?a:oX;return(0,d.jsx)(Y.Primitive.div,{"data-orientation":i,...n?{role:"none"}:{"aria-orientation":"vertical"===i?i:void 0,role:"separator"},...o,ref:t})});oZ.displayName="Separator",e.s(["Root",()=>oZ,"Separator",()=>oZ],63082);var oJ=e.i(63082),oJ=oJ;function oQ({className:e,orientation:t="horizontal",decorative:r=!0,...n}){return(0,d.jsx)(oJ.Root,{"data-slot":"separator",decorative:r,orientation:t,className:(0,j.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",e),...n})}let o0={relayUrl:"wss://relay.visionA.cloud",autoStart:!1,reconnectStrategy:"auto",logLevel:"info"};function o1(){let[e,t]=(0,u.useState)(o0),[r,n]=(0,u.useState)(!0),[a,o]=(0,u.useState)(null),i=(0,u.useRef)(!0);(0,u.useEffect)(()=>(i.current=!0,tn.getAgentSettings().then(e=>{i.current&&(t(e),o(null))}).catch(e=>{i.current&&o(e instanceof Error?e.message:String(e))}).finally(()=>{i.current&&n(!1)}),()=>{i.current=!1}),[]);let s=(0,u.useCallback)(async r=>{let n={...e,...r};t(n);try{await tn.saveAgentSettings(n),o(null)}catch(e){o(e instanceof Error?e.message:String(e))}},[e]);return{settings:e,loading:r,lastError:a,save:s,resetAll:(0,u.useCallback)(async()=>{try{await tn.resetAllSettings(),t(o0),o(null)}catch(e){o(e instanceof Error?e.message:String(e))}},[])}}let o2=e=>{let t,r=new Set,n=(e,n)=>{let a="function"==typeof e?e(t):e;if(!Object.is(a,t)){let e=t;t=(null!=n?n:"object"!=typeof a||null===a)?a:Object.assign({},t,a),r.forEach(r=>r(t,e))}},a=()=>t,o={setState:n,getState:a,getInitialState:()=>i,subscribe:e=>(r.add(e),()=>r.delete(e))},i=t=e(n,a,o);return o},o4=e=>{let t=e?o2(e):o2,r=e=>(function(e,t=e=>e){let r=u.default.useSyncExternalStore(e.subscribe,u.default.useCallback(()=>t(e.getState()),[e,t]),u.default.useCallback(()=>t(e.getInitialState()),[e,t]));return u.default.useDebugValue(r),r})(t,e);return Object.assign(r,t),r},o3=(t=(e,t)=>({draftRelayUrl:void 0,draftAutoStart:void 0,draftReconnectStrategy:void 0,draftLogLevel:void 0,setDraft:(t,r)=>e({[t]:r}),clearAll:()=>e({draftRelayUrl:void 0,draftAutoStart:void 0,draftReconnectStrategy:void 0,draftLogLevel:void 0}),hasUnsaved:e=>{let r=t();return void 0!==r.draftRelayUrl&&r.draftRelayUrl!==e.relayUrl||void 0!==r.draftAutoStart&&r.draftAutoStart!==e.autoStart||void 0!==r.draftReconnectStrategy&&r.draftReconnectStrategy!==e.reconnectStrategy||void 0!==r.draftLogLevel&&r.draftLogLevel!==e.logLevel}}))?o4(t):o4,o5={macos:"~/Library/Application Support/visionA Agent/logs/",windows:"%APPDATA%\\visionA Agent\\logs\\",linux:"~/.config/visionA-agent/logs/"};function o6(){let e=(0,E.useT)(),{settings:t}=o1(),r=o3(e=>e.hasUnsaved(t));return(0,d.jsxs)("section",{"data-testid":"settings-view","aria-labelledby":"settings-view-heading",className:"flex flex-col gap-8 py-4",children:[(0,d.jsxs)("div",{className:"flex items-center justify-between",children:[(0,d.jsx)("h2",{id:"settings-view-heading",className:"sr-only",children:e("nav.settings")}),r&&(0,d.jsx)("span",{"data-testid":"settings-unsaved-badge",role:"status","aria-live":"polite",className:"text-amber-600 dark:text-amber-400 ml-auto inline-flex items-center gap-1 rounded-full border border-amber-300 bg-amber-50 px-2 py-0.5 text-xs font-medium dark:border-amber-700/40 dark:bg-amber-950/30",children:e("settings.unsavedChanges")})]}),(0,d.jsx)(o8,{}),(0,d.jsx)(oQ,{}),(0,d.jsx)(o9,{}),(0,d.jsx)(oQ,{}),(0,d.jsx)(o7,{}),(0,d.jsx)(oQ,{}),(0,d.jsx)(ie,{}),(0,d.jsx)(oQ,{}),(0,d.jsx)(it,{})]})}function o8(){let e=(0,E.useT)(),{settings:t,save:r}=o1(),{test:n,testing:a}=function(){let[e,t]=(0,u.useState)(!1);return{test:(0,u.useCallback)(async e=>{t(!0);try{return await tn.testConnection(e)}catch(e){return{ok:!1,reason:e instanceof Error?e.message:String(e)}}finally{t(!1)}},[]),testing:e}}(),o=o3(e=>e.draftRelayUrl),i=o3(e=>e.setDraft),s=o3(e=>e.clearAll),l=o??t.relayUrl,c=/^wss?:\/\/.+/i.test(l),f=l!==t.relayUrl;async function p(){let t=await n(l);t.ok?eF.toast.success(e("settings.testConnection.success").replace("{latency}",String(t.latencyMs??0))):eF.toast.error(e("settings.testConnection.failed").replace("{url}",l).replace("{reason}",t.reason??""))}return(0,d.jsx)(ir,{titleKey:"settings.section.connection",t:e,children:(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(eW,{htmlFor:"settings-relay-url",children:e("settings.relayUrl.label")}),(0,d.jsxs)("div",{className:"flex gap-2",children:[(0,d.jsx)(eK,{id:"settings-relay-url",type:"text",value:l,onChange:e=>{var r;(r=e.target.value)===t.relayUrl?i("draftRelayUrl",void 0):i("draftRelayUrl",r)},onBlur:function(){f&&c&&(r({relayUrl:l}),s())},"aria-invalid":!c,"data-testid":"settings-relay-url",className:"font-mono text-sm"}),(0,d.jsx)(C,{type:"button",variant:"outline",size:"sm",onClick:p,disabled:!c||a,"data-testid":"settings-test-connection",children:a?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e4,{size:"sm",label:e("common.loading")}),(0,d.jsx)("span",{children:e("settings.testConnection.testing")})]}):e("settings.testConnection.button")})]}),(0,d.jsx)("p",{className:(0,j.cn)("text-xs",c?"text-muted-foreground":"text-destructive"),children:c?e("settings.relayUrl.hint"):e("settings.relayUrl.invalidProtocol")})]})})}function o9(){let e=(0,E.useT)(),{settings:t,save:r}=o1();return(0,d.jsxs)(ir,{titleKey:"settings.section.behavior",t:e,children:[(0,d.jsxs)("label",{className:"flex items-center gap-2 text-sm",children:[(0,d.jsx)(av,{checked:t.autoStart,onCheckedChange:e=>r({autoStart:!0===e}),"data-testid":"settings-autostart"}),(0,d.jsx)("span",{children:e("settings.autoStart.label")})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(eW,{children:e("settings.reconnect.label")}),(0,d.jsxs)(aH,{value:t.reconnectStrategy,onValueChange:e=>r({reconnectStrategy:e}),"data-testid":"settings-reconnect-strategy",children:[(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(aF,{value:"auto",id:"reconnect-auto"}),(0,d.jsx)(eW,{htmlFor:"reconnect-auto",className:"font-normal",children:e("settings.reconnect.auto")})]}),(0,d.jsxs)("div",{className:"flex items-center gap-2",children:[(0,d.jsx)(aF,{value:"manual",id:"reconnect-manual"}),(0,d.jsx)(eW,{htmlFor:"reconnect-manual",className:"font-normal",children:e("settings.reconnect.manual")})]})]})]})]})}function o7(){let e=(0,E.useT)(),{settings:t,save:r}=o1(),{exportLog:n,exporting:a}=function(){let[e,t]=(0,u.useState)(!1),[r,n]=(0,u.useState)(null);return{exportLog:(0,u.useCallback)(async()=>{t(!0),n(null);try{return await tn.exportLog()||null}catch(e){return n(e instanceof Error?e.message:String(e)),null}finally{t(!1)}},[]),exporting:e,lastError:r}}(),[o]=(0,u.useState)(()=>(function(){if("u"<typeof navigator)return"macos";let e=navigator.platform.toLowerCase();return e.includes("mac")?"macos":e.includes("win")?"windows":"linux"})());async function i(){let t=await n();t&&eF.toast.success(e("settings.log.exported").replace("{path}",t))}return(0,d.jsxs)(ir,{titleKey:"settings.section.log",t:e,children:[(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(eW,{htmlFor:"settings-log-level",children:e("settings.log.level")}),(0,d.jsxs)(oK,{value:t.logLevel,onValueChange:e=>r({logLevel:e}),children:[(0,d.jsx)(oV,{id:"settings-log-level","data-testid":"settings-log-level",className:"w-40",children:(0,d.jsx)(oB,{})}),(0,d.jsxs)(oW,{children:[(0,d.jsx)(o$,{value:"debug",children:e("settings.log.level.debug")}),(0,d.jsx)(o$,{value:"info",children:e("settings.log.level.info")}),(0,d.jsx)(o$,{value:"warn",children:e("settings.log.level.warn")}),(0,d.jsx)(o$,{value:"error",children:e("settings.log.level.error")})]})]})]}),(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsx)(eW,{children:e("settings.log.location")}),(0,d.jsx)("p",{className:"text-muted-foreground break-all font-mono text-xs","data-testid":"settings-log-location",children:o5[o]})]}),(0,d.jsx)("div",{children:(0,d.jsx)(C,{type:"button",variant:"outline",size:"sm",onClick:i,disabled:a,"data-testid":"settings-export-log",children:a?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(e4,{size:"sm",label:e("common.loading")}),(0,d.jsx)("span",{children:e("settings.log.exporting")})]}):e("settings.log.export")})})]})}function ie(){let e=(0,E.useT)();function t(e){tn.openURL(e)}return(0,d.jsxs)(ir,{titleKey:"settings.section.about",t:e,children:[(0,d.jsxs)("div",{className:"grid grid-cols-[120px_1fr] items-center gap-3 text-sm",children:[(0,d.jsx)("span",{className:"text-muted-foreground",children:e("settings.about.version")}),(0,d.jsxs)("span",{className:"font-mono","data-testid":"settings-version",children:["visionA Agent ","0.1.0"]})]}),(0,d.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,d.jsx)(C,{type:"button",variant:"outline",size:"sm",disabled:!0,title:e("settings.about.checkUpdate.phase1"),"aria-describedby":"check-update-phase-hint","data-testid":"settings-check-update",children:e("settings.about.checkUpdate")}),(0,d.jsx)("span",{id:"check-update-phase-hint",className:"sr-only",children:e("settings.about.checkUpdate.phase1")}),(0,d.jsx)(C,{type:"button",variant:"outline",size:"sm",onClick:()=>t("https://docs.visionA.cloud/agent"),children:e("settings.about.docs")}),(0,d.jsx)(C,{type:"button",variant:"outline",size:"sm",onClick:()=>t("https://github.com/innovedus/visionA-agent"),children:e("settings.about.github")})]})]})}function it(){let e=(0,E.useT)(),{resetAll:t}=o1();return(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)("h3",{className:"text-destructive text-sm font-medium",children:e("settings.section.danger")}),(0,d.jsxs)(nO,{children:[(0,d.jsx)(nH,{asChild:!0,children:(0,d.jsx)(C,{type:"button",variant:"destructive",size:"sm","data-testid":"settings-reset",children:e("settings.reset.button")})}),(0,d.jsxs)(nK,{children:[(0,d.jsxs)(nB,{children:[(0,d.jsx)(nW,{children:e("settings.reset.confirm.title")}),(0,d.jsx)(n$,{children:e("settings.reset.confirm.description")})]}),(0,d.jsxs)(nV,{children:[(0,d.jsx)(nY,{children:e("common.cancel")}),(0,d.jsx)(nq,{variant:"destructive",onClick:function(){t(),eF.toast.success(e("settings.reset.done"))},"data-testid":"settings-reset-confirm",children:e("settings.reset.confirm.ok")})]})]})]})]})}function ir({titleKey:e,t,children:r}){return(0,d.jsxs)("div",{className:"space-y-3",children:[(0,d.jsx)("h3",{className:"text-sm font-medium",children:t(e)}),(0,d.jsx)("div",{className:"space-y-4",children:r})]})}function ia(){let[e,t]=(0,u.useState)("status");return(0,u.useEffect)(()=>{function e(e){let r=e.detail;r?.value&&("status"===r.value||"pair"===r.value||"settings"===r.value)&&t(r.value)}return window.addEventListener(nG,e),()=>window.removeEventListener(nG,e)},[]),(0,d.jsx)(O,{children:(0,d.jsxs)(eI,{value:e,onValueChange:e=>t(e),className:"mx-auto w-full max-w-2xl px-4 py-3","data-testid":"agent-tabs",children:[(0,d.jsx)(eO,{}),(0,d.jsx)(e_,{value:"status",children:(0,d.jsx)(nJ,{})}),(0,d.jsx)(e_,{value:"pair",children:(0,d.jsx)(n3,{})}),(0,d.jsx)(e_,{value:"settings",children:(0,d.jsx)(o6,{})})]})})}e.s(["default",()=>ia],52683)}]);