tmex-cli 0.5.1 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/runtime/server.js +966 -561
- package/package.json +1 -1
- package/resources/fe-dist/assets/DevicePage-BGPoxSI1.js +36 -0
- package/resources/fe-dist/assets/DevicePage-BGPoxSI1.js.map +1 -0
- package/resources/fe-dist/assets/{DevicesPage-_g8yXgKX.js → DevicesPage-ImyBiwEt.js} +2 -2
- package/resources/fe-dist/assets/{DevicesPage-_g8yXgKX.js.map → DevicesPage-ImyBiwEt.js.map} +1 -1
- package/resources/fe-dist/assets/{SettingsPage-Bi8Kez5a.js → SettingsPage-CyMAR4ec.js} +2 -2
- package/resources/fe-dist/assets/{SettingsPage-Bi8Kez5a.js.map → SettingsPage-CyMAR4ec.js.map} +1 -1
- package/resources/fe-dist/assets/{index-kXpemMRY.js → index-qxM5NVWd.js} +3 -3
- package/resources/fe-dist/assets/{index-kXpemMRY.js.map → index-qxM5NVWd.js.map} +1 -1
- package/resources/fe-dist/assets/{select-v4N0NzCz.js → select-CALI7PWC.js} +2 -2
- package/resources/fe-dist/assets/{select-v4N0NzCz.js.map → select-CALI7PWC.js.map} +1 -1
- package/resources/fe-dist/assets/{switch-BJu9baQM.js → switch-CkhOAzoZ.js} +2 -2
- package/resources/fe-dist/assets/{switch-BJu9baQM.js.map → switch-CkhOAzoZ.js.map} +1 -1
- package/resources/fe-dist/assets/{useValueChanged-D47LrxaP.js → useValueChanged-WtzSkCNQ.js} +2 -2
- package/resources/fe-dist/assets/{useValueChanged-D47LrxaP.js.map → useValueChanged-WtzSkCNQ.js.map} +1 -1
- package/resources/fe-dist/index.html +1 -1
- package/resources/fe-dist/assets/DevicePage-CQuQ0yeD.js +0 -36
- package/resources/fe-dist/assets/DevicePage-CQuQ0yeD.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SettingsPage-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SettingsPage-CyMAR4ec.js","assets/select-CALI7PWC.js","assets/useValueChanged-WtzSkCNQ.js","assets/switch-CkhOAzoZ.js","assets/DevicesPage-ImyBiwEt.js","assets/DevicePage-BGPoxSI1.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
var LT=Object.defineProperty;var $b=t=>{throw TypeError(t)};var zT=(t,n,a)=>n in t?LT(t,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[n]=a;var Le=(t,n,a)=>zT(t,typeof n!="symbol"?n+"":n,a),Qh=(t,n,a)=>n.has(t)||$b("Cannot "+a);var q=(t,n,a)=>(Qh(t,n,"read from private field"),a?a.call(t):n.get(t)),Ge=(t,n,a)=>n.has(t)?$b("Cannot add the same private member more than once"):n instanceof WeakSet?n.add(t):n.set(t,a),Me=(t,n,a,i)=>(Qh(t,n,"write to private field"),i?i.call(t,a):n.set(t,a),a),Et=(t,n,a)=>(Qh(t,n,"access private method"),a);var Lu=(t,n,a,i)=>({set _(s){Me(t,n,s,a)},get _(){return q(t,n,i)}});function UT(t,n){for(var a=0;a<n.length;a++){const i=n[a];if(typeof i!="string"&&!Array.isArray(i)){for(const s in i)if(s!=="default"&&!(s in t)){const l=Object.getOwnPropertyDescriptor(i,s);l&&Object.defineProperty(t,s,l.get?l:{enumerable:!0,get:()=>i[s]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const l of s)if(l.type==="childList")for(const u of l.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&i(u)}).observe(document,{childList:!0,subtree:!0});function a(s){const l={};return s.integrity&&(l.integrity=s.integrity),s.referrerPolicy&&(l.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?l.credentials="include":s.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function i(s){if(s.ep)return;s.ep=!0;const l=a(s);fetch(s.href,l)}})();const HT="modulepreload",jT=function(t){return"/"+t},Zb={},Ep=function(n,a,i){let s=Promise.resolve();if(a&&a.length>0){let u=function(h){return Promise.all(h.map(y=>Promise.resolve(y).then(p=>({status:"fulfilled",value:p}),p=>({status:"rejected",reason:p}))))};document.getElementsByTagName("link");const f=document.querySelector("meta[property=csp-nonce]"),m=(f==null?void 0:f.nonce)||(f==null?void 0:f.getAttribute("nonce"));s=u(a.map(h=>{if(h=jT(h),h in Zb)return;Zb[h]=!0;const y=h.endsWith(".css"),p=y?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${h}"]${p}`))return;const b=document.createElement("link");if(b.rel=y?"stylesheet":HT,y||(b.as="script"),b.crossOrigin="",b.href=h,m&&b.setAttribute("nonce",m),document.head.appendChild(b),y)return new Promise((v,S)=>{b.addEventListener("load",v),b.addEventListener("error",()=>S(new Error(`Unable to preload CSS for ${h}`)))})}))}function l(u){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=u,window.dispatchEvent(f),!f.defaultPrevented)throw u}return s.then(u=>{for(const f of u||[])f.status==="rejected"&&l(f.reason);return n().catch(l)})};function Nw(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Wh={exports:{}},Tl={};/**
|
|
3
3
|
* @license React
|
|
4
4
|
* react-jsx-runtime.production.js
|
|
@@ -211,5 +211,5 @@ ${i}`:i}}const TN=500,wS=new Map,vm=new Map;function kx(t){const n=Date.now(),a=
|
|
|
211
211
|
${u.right}px ${u.top}px,
|
|
212
212
|
${u.left}px ${u.top}px
|
|
213
213
|
)`}return V.jsx("div",{ref:a,role:"presentation","data-base-ui-inert":"",...s,style:{position:"fixed",inset:0,userSelect:"none",WebkitUserSelect:"none",clipPath:l}})}),l4=x.forwardRef(function(n,a){const{keepMounted:i=!1,...s}=n,{store:l}=Ro(),u=l.useState("mounted"),f=l.useState("modal"),m=l.useState("open");return u||i?V.jsx(l1.Provider,{value:i,children:V.jsxs(l3,{ref:a,...s,children:[u&&f===!0&&V.jsx(s4,{ref:l.context.internalBackdropRef,inert:o4(!m)}),n.children]})}):null});function p1(t){const n=x.useRef(!0);n.current&&(n.current=!1,t())}let lw={},cw={},uw="";function c4(t){if(typeof document>"u")return!1;const n=qt(t);return wn(n).innerWidth-n.documentElement.clientWidth>0}function u4(t){if(!(typeof CSS<"u"&&CSS.supports&&CSS.supports("scrollbar-gutter","stable"))||typeof document>"u")return!1;const a=qt(t),i=a.documentElement,s=a.body,l=ki(i)?i:s,u=l.style.overflowY,f=i.style.scrollbarGutter;i.style.scrollbarGutter="stable",l.style.overflowY="scroll";const m=l.offsetWidth;l.style.overflowY="hidden";const h=l.offsetWidth;return l.style.overflowY=u,i.style.scrollbarGutter=f,m===h}function f4(t){const n=qt(t),a=n.documentElement,i=n.body,s=ki(a)?a:i,l={overflowY:s.style.overflowY,overflowX:s.style.overflowX};return Object.assign(s.style,{overflowY:"hidden",overflowX:"hidden"}),()=>{Object.assign(s.style,l)}}function d4(t){var b;const n=qt(t),a=n.documentElement,i=n.body,s=wn(a);let l=0,u=0,f=!1;const m=sn.create();if(eg&&(((b=s.visualViewport)==null?void 0:b.scale)??1)!==1)return()=>{};function h(){const v=s.getComputedStyle(a),S=s.getComputedStyle(i),T=(v.scrollbarGutter||"").includes("both-edges")?"stable both-edges":"stable";l=a.scrollTop,u=a.scrollLeft,lw={scrollbarGutter:a.style.scrollbarGutter,overflowY:a.style.overflowY,overflowX:a.style.overflowX},uw=a.style.scrollBehavior,cw={position:i.style.position,height:i.style.height,width:i.style.width,boxSizing:i.style.boxSizing,overflowY:i.style.overflowY,overflowX:i.style.overflowX,scrollBehavior:i.style.scrollBehavior};const N=a.scrollHeight>a.clientHeight,_=a.scrollWidth>a.clientWidth,M=v.overflowY==="scroll"||S.overflowY==="scroll",P=v.overflowX==="scroll"||S.overflowX==="scroll",H=Math.max(0,s.innerWidth-i.clientWidth),O=Math.max(0,s.innerHeight-i.clientHeight),L=parseFloat(S.marginTop)+parseFloat(S.marginBottom),K=parseFloat(S.marginLeft)+parseFloat(S.marginRight),re=ki(a)?a:i;if(f=u4(t),f){a.style.scrollbarGutter=T,re.style.overflowY="hidden",re.style.overflowX="hidden";return}Object.assign(a.style,{scrollbarGutter:T,overflowY:"hidden",overflowX:"hidden"}),(N||M)&&(a.style.overflowY="scroll"),(_||P)&&(a.style.overflowX="scroll"),Object.assign(i.style,{position:"relative",height:L||O?`calc(100dvh - ${L+O}px)`:"100dvh",width:K||H?`calc(100vw - ${K+H}px)`:"100vw",boxSizing:"border-box",overflow:"hidden",scrollBehavior:"unset"}),i.scrollTop=l,i.scrollLeft=u,a.setAttribute("data-base-ui-scroll-locked",""),a.style.scrollBehavior="unset"}function y(){Object.assign(a.style,lw),Object.assign(i.style,cw),f||(a.scrollTop=l,a.scrollLeft=u,a.removeAttribute("data-base-ui-scroll-locked"),a.style.scrollBehavior=uw)}function p(){y(),m.request(h)}return h(),s.addEventListener("resize",p),()=>{m.cancel(),y(),typeof s.removeEventListener=="function"&&s.removeEventListener("resize",p)}}class h4{constructor(){Le(this,"lockCount",0);Le(this,"restore",null);Le(this,"timeoutLock",da.create());Le(this,"timeoutUnlock",da.create());Le(this,"release",()=>{this.lockCount-=1,this.lockCount===0&&this.restore&&this.timeoutUnlock.start(0,this.unlock)});Le(this,"unlock",()=>{var n;this.lockCount===0&&this.restore&&((n=this.restore)==null||n.call(this),this.restore=null)})}acquire(n){return this.lockCount+=1,this.lockCount===1&&this.restore===null&&this.timeoutLock.start(0,()=>this.lock(n)),this.release}lock(n){if(this.lockCount===0||this.restore!==null)return;const i=qt(n).documentElement,s=wn(i).getComputedStyle(i).overflowY;if(s==="hidden"||s==="clip"){this.restore=Fx;return}const l=mE||!c4(n);this.restore=l?f4(n):d4(n)}}const m4=new h4;function p4(t=!0,n=null){$e(()=>{if(t)return m4.acquire(n)},[t,n])}function g4(t){const n=x.useRef(""),a=x.useCallback(s=>{s.defaultPrevented||(n.current=s.pointerType,t(s,s.pointerType))},[t]);return{onClick:x.useCallback(s=>{if(s.detail===0){t(s,"keyboard");return}"pointerType"in s?t(s,s.pointerType):t(s,n.current),n.current=""},[t]),onPointerDown:a}}function y4(t){const[n,a]=x.useState(null),i=Ye((f,m)=>{t||a(m||(mE?"touch":""))}),s=x.useCallback(()=>{a(null)},[]),{onClick:l,onPointerDown:u}=g4(i);return x.useMemo(()=>({openMethod:n,reset:s,triggerProps:{onClick:l,onPointerDown:u}}),[n,s,l,u])}function v4(t){const{store:n,parentContext:a,actionsRef:i}=t,s=n.useState("open"),l=n.useState("disablePointerDismissal"),u=n.useState("modal"),f=n.useState("popupElement"),{openMethod:m,triggerProps:h,reset:y}=y4(s);t1(n);const{forceUnmount:p}=n1(s,n,()=>{y()}),b=Ye(re=>{const I=Qt(re);return I.preventUnmountOnClose=()=>{n.set("preventUnmountingOnClose",!0)},I}),v=x.useCallback(()=>{n.setOpen(!1,b(qx))},[n,b]);x.useImperativeHandle(i,()=>({unmount:p,close:v}),[p,v]);const S=i1({popupStore:n,onOpenChange:n.setOpen,treatPopupAsFloatingElement:!0,noEmit:!0}),[E,R]=x.useState(0),T=E===0,N=Kz(S),_=WE(S,{outsidePressEvent(){return n.context.internalBackdropRef.current||n.context.backdropRef.current?"intentional":{mouse:u==="trap-focus"?"sloppy":"intentional",touch:"sloppy"}},outsidePress(re){if(!n.context.outsidePressEnabledRef.current||"button"in re&&re.button!==0||"touches"in re&&re.touches.length!==1)return!1;const I=er(re);if(T&&!l){const A=I;return u&&(n.context.internalBackdropRef.current||n.context.backdropRef.current)?n.context.internalBackdropRef.current===A||n.context.backdropRef.current===A||Tt(A,f)&&!(A!=null&&A.hasAttribute("data-base-ui-portal")):!0}return!1},escapeKey:T});p4(s&&u===!0,f);const{getReferenceProps:M,getFloatingProps:P,getTriggerProps:H}=s1([N,_]);n.useContextCallback("onNestedDialogOpen",re=>{R(re+1)}),n.useContextCallback("onNestedDialogClose",()=>{R(0)}),x.useEffect(()=>(a!=null&&a.onNestedDialogOpen&&s&&a.onNestedDialogOpen(E),a!=null&&a.onNestedDialogClose&&!s&&a.onNestedDialogClose(),()=>{a!=null&&a.onNestedDialogClose&&s&&a.onNestedDialogClose()}),[s,a,E]);const O=x.useMemo(()=>M(h),[M,h]),L=x.useMemo(()=>H(h),[H,h]),K=x.useMemo(()=>P(),[P]);n.useSyncedValues({openMethod:m,activeTriggerProps:O,inactiveTriggerProps:L,popupProps:K,floatingRootContext:S,nestedOpenDialogCount:E})}const b4={...a1,modal:ht(t=>t.modal),nested:ht(t=>t.nested),nestedOpenDialogCount:ht(t=>t.nestedOpenDialogCount),disablePointerDismissal:ht(t=>t.disablePointerDismissal),openMethod:ht(t=>t.openMethod),descriptionElementId:ht(t=>t.descriptionElementId),titleElementId:ht(t=>t.titleElementId),viewportElement:ht(t=>t.viewportElement),role:ht(t=>t.role)};class S4 extends sg{constructor(a){super(w4(a),{popupRef:x.createRef(),backdropRef:x.createRef(),internalBackdropRef:x.createRef(),outsidePressEnabledRef:{current:!0},triggerElements:new If,onOpenChange:void 0,onOpenChangeComplete:void 0},b4);Le(this,"setOpen",(a,i)=>{var f,m,h,y;if(i.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},!a&&i.trigger==null&&this.state.activeTriggerId!=null&&(i.trigger=this.state.activeTriggerElement??void 0),(m=(f=this.context).onOpenChange)==null||m.call(f,a,i),i.isCanceled)return;const s={open:a,nativeEvent:i.event,reason:i.reason,nested:this.state.nested};(h=this.state.floatingRootContext.context.events)==null||h.emit("openchange",s);const l={open:a},u=((y=i.trigger)==null?void 0:y.id)??null;(u||a)&&(l.activeTriggerId=u,l.activeTriggerElement=i.trigger??null),this.update(l)})}}function w4(t={}){return{...r1(),modal:!0,disablePointerDismissal:!1,popupElement:null,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,role:"dialog",...t}}function x4(t){const{children:n,open:a,defaultOpen:i=!1,onOpenChange:s,onOpenChangeComplete:l,disablePointerDismissal:u=!1,modal:f=!0,actionsRef:m,handle:h,triggerId:y,defaultTriggerId:p=null}=t,b=Ro(!0),v=!!b,S=Sr(()=>(h==null?void 0:h.store)??new S4({open:i,openProp:a,activeTriggerId:p,triggerIdProp:y,modal:f,disablePointerDismissal:u,nested:v})).current;p1(()=>{a===void 0&&S.state.open===!1&&i===!0&&S.update({open:!0,activeTriggerId:p})}),S.useControlledProp("openProp",a),S.useControlledProp("triggerIdProp",y),S.useSyncedValues({disablePointerDismissal:u,nested:v,modal:f}),S.useContextCallback("onOpenChange",s),S.useContextCallback("onOpenChangeComplete",l);const E=S.useState("payload");v4({store:S,actionsRef:m,parentContext:b==null?void 0:b.store.context});const R=x.useMemo(()=>({store:S}),[S]);return V.jsx(_E.Provider,{value:R,children:typeof n=="function"?n({payload:E}):n})}const E4=x.forwardRef(function(n,a){const{render:i,className:s,id:l,...u}=n,{store:f}=Ro(),m=yc(l);return f.useSyncedValueWithCleanup("titleElementId",m),dn("h2",n,{ref:a,props:[{id:m},u]})});function R4({...t}){return V.jsx(x4,{"data-slot":"sheet",...t})}function T4({...t}){return V.jsx(l4,{"data-slot":"sheet-portal",...t})}function C4({className:t,...n}){return V.jsx($L,{"data-slot":"sheet-overlay",className:st("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/10 duration-100 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 z-50",t),...n})}function O4({className:t,children:n,side:a="right",showCloseButton:i=!0,...s}){return V.jsxs(T4,{children:[V.jsx(C4,{}),V.jsxs(i4,{"data-slot":"sheet-content","data-side":a,className:st("bg-background data-open:animate-in data-closed:animate-out data-[side=right]:data-closed:slide-out-to-right-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=top]:data-closed:slide-out-to-top-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:fade-out-0 data-open:fade-in-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=bottom]:data-open:slide-in-from-bottom-10 fixed z-50 flex flex-col gap-4 bg-clip-padding text-sm shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm",t),...s,children:[n,i&&V.jsxs(ZL,{"data-slot":"sheet-close",render:V.jsx(Jp,{variant:"ghost",className:"absolute top-3 right-3",size:"icon-sm"}),children:[V.jsx(Hx,{}),V.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function M4({className:t,...n}){return V.jsx("div",{"data-slot":"sheet-header",className:st("gap-0.5 p-4 flex flex-col",t),...n})}function A4({className:t,...n}){return V.jsx(E4,{"data-slot":"sheet-title",className:st("text-foreground text-base font-medium",t),...n})}function D4({className:t,...n}){return V.jsx(JL,{"data-slot":"sheet-description",className:st("text-muted-foreground text-sm",t),...n})}const g1=x.createContext(void 0);function xc(t){const n=x.useContext(g1);if(n===void 0&&!t)throw new Error(Br(72));return n}const N4={...a1,disabled:ht(t=>t.disabled),instantType:ht(t=>t.instantType),isInstantPhase:ht(t=>t.isInstantPhase),trackCursorAxis:ht(t=>t.trackCursorAxis),disableHoverablePopup:ht(t=>t.disableHoverablePopup),lastOpenChangeReason:ht(t=>t.openChangeReason),closeDelay:ht(t=>t.closeDelay),hasViewport:ht(t=>t.hasViewport)};class ug extends sg{constructor(a){super({..._4(),...a},{popupRef:x.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:new If},N4);Le(this,"setOpen",(a,i)=>{var h,y;const s=i.reason,l=s===Wr,u=a&&s===af,f=!a&&(s===nc||s===Gp);if(i.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},(y=(h=this.context).onOpenChange)==null||y.call(h,a,i),i.isCanceled)return;const m=()=>{var v;const p={open:a,openChangeReason:s};u?p.instantType="focus":f?p.instantType="dismiss":s===Wr&&(p.instantType=void 0);const b=((v=i.trigger)==null?void 0:v.id)??null;(b||a)&&(p.activeTriggerId=b,p.activeTriggerElement=i.trigger??null),this.update(p)};l?Ni.flushSync(m):m()})}static useStore(a,i){const s=Sr(()=>new ug(i)).current,l=a??s,u=i1({popupStore:l,onOpenChange:l.setOpen});return l.state.floatingRootContext=u,l}}function _4(){return{...r1(),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:"none",disableHoverablePopup:!1,openChangeReason:null,closeDelay:0,hasViewport:!1}}const k4=JE(function(n){const{disabled:a=!1,defaultOpen:i=!1,open:s,disableHoverablePopup:l=!1,trackCursorAxis:u="none",actionsRef:f,onOpenChange:m,onOpenChangeComplete:h,handle:y,triggerId:p,defaultTriggerId:b=null,children:v}=n,S=ug.useStore(y==null?void 0:y.store,{open:i,openProp:s,activeTriggerId:b,triggerIdProp:p});p1(()=>{s===void 0&&S.state.open===!1&&i===!0&&S.update({open:!0,activeTriggerId:b})}),S.useControlledProp("openProp",s),S.useControlledProp("triggerIdProp",p),S.useContextCallback("onOpenChange",m),S.useContextCallback("onOpenChangeComplete",h);const E=S.useState("open"),R=!a&&E,T=S.useState("activeTriggerId"),N=S.useState("payload");S.useSyncedValues({trackCursorAxis:u,disableHoverablePopup:l}),$e(()=>{E&&a&&S.setOpen(!1,Qt(L_))},[E,a,S]),S.useSyncedValue("disabled",a),t1(S);const{forceUnmount:_,transitionStatus:M}=n1(R,S),P=S.useState("isInstantPhase"),H=S.useState("instantType"),O=S.useState("lastOpenChangeReason"),L=x.useRef(null);$e(()=>{M==="ending"&&O===kf||M!=="ending"&&P?(H!=="delay"&&(L.current=H),S.set("instantType","delay")):L.current!==null&&(S.set("instantType",L.current),L.current=null)},[M,P,O,H,S]),$e(()=>{R&&T==null&&S.set("payload",void 0)},[S,T,R]);const K=x.useCallback(()=>{S.setOpen(!1,L4(S,qx))},[S]);x.useImperativeHandle(f,()=>({unmount:_,close:K}),[_,K]);const re=S.useState("floatingRootContext"),I=WE(re,{enabled:!a,referencePress:!0}),A=p3(re,{enabled:!a&&u!=="none",axis:u==="none"?void 0:u}),{getReferenceProps:j,getFloatingProps:W,getTriggerProps:X}=s1([I,A]),D=x.useMemo(()=>j(),[j]),F=x.useMemo(()=>X(),[X]),z=x.useMemo(()=>W(),[W]);return S.useSyncedValues({activeTriggerProps:D,inactiveTriggerProps:F,popupProps:z}),V.jsx(g1.Provider,{value:S,children:typeof v=="function"?v({payload:N}):v})});function L4(t,n){const a=Qt(n);return a.preventUnmountOnClose=()=>{t.set("preventUnmountingOnClose",!0)},a}const z4=x.createContext(void 0);function U4(){return x.useContext(z4)}let H4=(function(t){return t[t.popupOpen=Ef.popupOpen]="popupOpen",t.triggerDisabled="data-trigger-disabled",t})({});const j4=600,B4=Tz(function(n,a){const{className:i,render:s,handle:l,payload:u,disabled:f,delay:m,closeDelay:h,id:y,...p}=n,b=xc(!0),v=(l==null?void 0:l.store)??b;if(!v)throw new Error(Br(82));const S=yc(y),E=v.useState("isTriggerActive",S),R=v.useState("isOpenedByTrigger",S),T=v.useState("floatingRootContext"),N=x.useRef(null),_=m??j4,M=h??0,{registerTrigger:P,isMountedByThisTrigger:H}=zz(S,N,v,{payload:u,closeDelay:M}),O=U4(),{delayRef:L,isInstantPhase:K,hasProvider:re}=r3(T,{open:R});v.useSyncedValue("isInstantPhase",K);const I=v.useState("disabled"),A=f??I,j=v.useState("trackCursorAxis"),W=v.useState("disableHoverablePopup"),X=Gz(T,{enabled:!A,mouseOnly:!0,move:!1,handleClose:!W&&j!=="both"?Wz():null,restMs(){const le=O==null?void 0:O.delay,k=typeof L.current=="object"?L.current.open:void 0;let Q=_;return re&&(k!==0?Q=m??le??_:Q=0),Q},delay(){const le=typeof L.current=="object"?L.current.close:void 0;let k=M;return h==null&&re&&(k=le),{close:k}},triggerElementRef:N,isActiveTrigger:E}),D=Bz(T,{enabled:!A}).reference,F={open:R},z=v.useState("triggerProps",H);return dn("button",n,{state:F,ref:[a,P,N],props:[X,D,z,{id:S,[H4.triggerDisabled]:A?"":void 0},p],stateAttributesMapping:QL})}),y1=x.createContext(void 0);function P4(){const t=x.useContext(y1);if(t===void 0)throw new Error(Br(70));return t}const I4=x.forwardRef(function(n,a){const{children:i,container:s,className:l,render:u,...f}=n,{portalNode:m,portalSubtree:h}=IE({container:s,ref:a,componentProps:n,elementProps:f});return!h&&!m?null:V.jsxs(x.Fragment,{children:[h,m&&Ni.createPortal(i,m)]})}),F4=x.forwardRef(function(n,a){const{keepMounted:i=!1,...s}=n;return xc().useState("mounted")||i?V.jsx(y1.Provider,{value:i,children:V.jsx(I4,{ref:a,...s})}):null}),v1=x.createContext(void 0);function b1(){const t=x.useContext(v1);if(t===void 0)throw new Error(Br(71));return t}const Y4=x.createContext(void 0);function fg(){const t=x.useContext(Y4);return(t==null?void 0:t.direction)??"ltr"}const V4=t=>({name:"arrow",options:t,async fn(n){var ie,le;const{x:a,y:i,placement:s,rects:l,platform:u,elements:f,middlewareData:m}=n,{element:h,padding:y=0,offsetParent:p="real"}=Fa(t,n)||{};if(h==null)return{};const b=SE(y),v={x:a,y:i},S=ag(s),E=rg(S),R=await u.getDimensions(h),T=S==="y",N=T?"top":"left",_=T?"bottom":"right",M=T?"clientHeight":"clientWidth",P=l.reference[E]+l.reference[S]-v[S]-l.floating[E],H=v[S]-l.reference[S],O=p==="real"?await((ie=u.getOffsetParent)==null?void 0:ie.call(u,h)):f.floating;let L=f.floating[M]||l.floating[E];(!L||!await((le=u.isElement)==null?void 0:le.call(u,O)))&&(L=f.floating[M]||l.floating[E]);const K=P/2-H/2,re=L/2-R[E]/2-1,I=Math.min(b[N],re),A=Math.min(b[_],re),j=I,W=L-R[E]-A,X=L/2-R[E]/2+K,D=hp(j,X,W),F=!m.arrow&&Li(s)!=null&&X!==D&&l.reference[E]/2-(X<j?I:A)-R[E]/2<0,z=F?X<j?X-j:X-W:0;return{[S]:v[S]+z,data:{[S]:D,centerOffset:X-D-z,...F&&{alignmentOffset:z}},reset:F}}}),q4=(t,n)=>({...V4(t),options:[t,n]}),G4={name:"hide",async fn(t){var f;const{width:n,height:a,x:i,y:s}=t.rects.reference,l=n===0&&a===0&&i===0&&s===0;return{data:{referenceHidden:((f=(await nz().fn(t)).data)==null?void 0:f.referenceHidden)||l}}}},lf={sideX:"left",sideY:"top"},X4={name:"adaptiveOrigin",async fn(t){var N,_;const{x:n,y:a,rects:{floating:i},elements:{floating:s},platform:l,strategy:u,placement:f}=t,m=wn(s),h=m.getComputedStyle(s);if(!(h.transitionDuration!=="0s"&&h.transitionDuration!==""))return{x:n,y:a,data:lf};const p=await((N=l.getOffsetParent)==null?void 0:N.call(l,s));let b={width:0,height:0};if(u==="fixed"&&(m!=null&&m.visualViewport))b={width:m.visualViewport.width,height:m.visualViewport.height};else if(p===m){const M=qt(s);b={width:M.documentElement.clientWidth,height:M.documentElement.clientHeight}}else await((_=l.isElement)==null?void 0:_.call(l,p))&&(b=await l.getDimensions(p));const v=nr(f);let S=n,E=a;v==="left"&&(S=b.width-(n+i.width)),v==="top"&&(E=b.height-(a+i.height));const R=v==="left"?"right":lf.sideX,T=v==="top"?"bottom":lf.sideY;return{x:S,y:E,data:{sideX:R,sideY:T}}}};function S1(t,n,a){const i=t==="inline-start"||t==="inline-end";return{top:"top",right:i?a?"inline-start":"inline-end":"right",bottom:"bottom",left:i?a?"inline-end":"inline-start":"left"}[n]}function fw(t,n,a){const{rects:i,placement:s}=t;return{side:S1(n,nr(s),a),align:Li(s)||"center",anchor:{width:i.reference.width,height:i.reference.height},positioner:{width:i.floating.width,height:i.floating.height}}}function K4(t){var rr,Yn;const{anchor:n,positionMethod:a="absolute",side:i="bottom",sideOffset:s=0,align:l="center",alignOffset:u=0,collisionBoundary:f,collisionPadding:m=5,sticky:h=!1,arrowPadding:y=5,disableAnchorTracking:p=!1,keepMounted:b=!1,floatingRootContext:v,mounted:S,collisionAvoidance:E,shiftCrossAxis:R=!1,nodeId:T,adaptiveOrigin:N,lazyFlip:_=!1,externalTree:M}=t,[P,H]=x.useState(null);!S&&P!==null&&H(null);const O=E.side||"flip",L=E.align||"flip",K=E.fallbackAxisSide||"end",re=typeof n=="function"?n:void 0,I=Ye(re),A=re?I:n,j=la(n),X=fg()==="rtl",D=P||{top:"top",right:"right",bottom:"bottom",left:"left","inline-end":X?"left":"right","inline-start":X?"right":"left"}[i],F=l==="center"?D:`${D}-${l}`;let z=m;const ie=1,le=i==="bottom"?ie:0,k=i==="top"?ie:0,Q=i==="right"?ie:0,$=i==="left"?ie:0;typeof z=="number"?z={top:z+le,right:z+$,bottom:z+k,left:z+Q}:z&&(z={top:(z.top||0)+le,right:(z.right||0)+$,bottom:(z.bottom||0)+k,left:(z.left||0)+Q});const ce={boundary:f==="clipping-ancestors"?"clippingAncestors":f,padding:z},fe=x.useRef(null),pe=la(s),ye=la(u),Qe=[$3(nt=>{const yt=fw(nt,i,X),Xe=typeof pe.current=="function"?pe.current(yt):pe.current,vt=typeof ye.current=="function"?ye.current(yt):ye.current;return{mainAxis:Xe,crossAxis:vt,alignmentAxis:vt}},[typeof s!="function"?s:0,typeof u!="function"?u:0,X,i])],Je=L==="none"&&O!=="shift",se=!Je&&(h||R||O==="shift"),ge=O==="none"?null:ez({...ce,padding:{top:z.top+ie,right:z.right+ie,bottom:z.bottom+ie,left:z.left+ie},mainAxis:!R&&O==="flip",crossAxis:L==="flip"?"alignment":!1,fallbackAxisSideDirection:K}),ve=Je?null:Z3(nt=>{const yt=qt(nt.elements.floating).documentElement;return{...ce,rootBoundary:R?{x:0,y:0,width:yt.clientWidth,height:yt.clientHeight}:void 0,mainAxis:L!=="none",crossAxis:se,limiter:h||R?void 0:J3(Xe=>{if(!fe.current)return{};const{width:vt,height:Yt}=fe.current.getBoundingClientRect(),je=zr(nr(Xe.placement)),Nt=je==="y"?vt:Yt,Gt=je==="y"?z.left+z.right:z.top+z.bottom;return{offset:Nt/2+Gt/2}})}},[ce,h,R,z,L]);O==="shift"||L==="shift"||l==="center"?Qe.push(ve,ge):Qe.push(ge,ve),Qe.push(tz({...ce,apply({elements:{floating:nt},rects:{reference:yt},availableWidth:Xe,availableHeight:vt}){const Yt=nt.style;Yt.setProperty("--available-width",`${Xe}px`),Yt.setProperty("--available-height",`${vt}px`),Yt.setProperty("--anchor-width",`${yt.width}px`),Yt.setProperty("--anchor-height",`${yt.height}px`)}}),q4(()=>({element:fe.current||document.createElement("div"),padding:y,offsetParent:"floating"}),[y]),{name:"transformOrigin",fn(nt){var Re,Ae,Ke;const{elements:yt,middlewareData:Xe,placement:vt,rects:Yt,y:je}=nt,Nt=nr(vt),Gt=zr(Nt),jt=fe.current,Pn=((Re=Xe.arrow)==null?void 0:Re.x)||0,Bt=((Ae=Xe.arrow)==null?void 0:Ae.y)||0,Tn=(jt==null?void 0:jt.clientWidth)||0,Pr=(jt==null?void 0:jt.clientHeight)||0,U=Pn+Tn/2,G=Bt+Pr/2,ne=Math.abs(((Ke=Xe.shift)==null?void 0:Ke.y)||0),me=Yt.reference.height/2,be=typeof s=="function"?s(fw(nt,i,X)):s,ze=ne>be,Ne={top:`${U}px calc(100% + ${be}px)`,bottom:`${U}px ${-be}px`,left:`calc(100% + ${be}px) ${G}px`,right:`${-be}px ${G}px`}[Nt],xe=`${U}px ${Yt.reference.y+me-je}px`;return yt.floating.style.setProperty("--transform-origin",se&&Gt==="y"&&ze?xe:Ne),{}}},G4,N),$e(()=>{!S&&v&&v.update({referenceElement:null,floatingElement:null,domReferenceElement:null})},[S,v]);const He=x.useMemo(()=>({elementResize:!p&&typeof ResizeObserver<"u",layoutShift:!p&&typeof IntersectionObserver<"u"}),[p]),{refs:Ee,elements:Ce,x:Te,y:Pe,middlewareData:tt,update:Fe,placement:mt,context:lt,isPositioned:Ve,floatingStyles:zt}=jz({rootContext:v,placement:F,middleware:Qe,strategy:a,whileElementsMounted:b?void 0:(...nt)=>ew(...nt,He),nodeId:T,externalTree:M}),{sideX:Wt,sideY:ln}=tt.adaptiveOrigin||lf,it=Ve?a:"fixed",Ct=x.useMemo(()=>{const nt=N?{position:it,[Wt]:Te,[ln]:Pe}:{position:it,...zt};return Ve||(nt.opacity=0),nt},[N,it,Wt,Te,ln,Pe,zt,Ve]),At=x.useRef(null);$e(()=>{if(!S)return;const nt=j.current,yt=typeof nt=="function"?nt():nt,vt=(dw(yt)?yt.current:yt)||null||null;vt!==At.current&&(Ee.setPositionReference(vt),At.current=vt)},[S,Ee,A,j]),x.useEffect(()=>{if(!S)return;const nt=j.current;typeof nt!="function"&&dw(nt)&&nt.current!==At.current&&(Ee.setPositionReference(nt.current),At.current=nt.current)},[S,Ee,A,j]),x.useEffect(()=>{if(b&&S&&Ce.domReference&&Ce.floating)return ew(Ce.domReference,Ce.floating,Fe,He)},[b,S,Ce,Fe,He]);const hn=nr(mt),mn=S1(i,hn,X),Bn=Li(mt)||"center",Dt=!!((rr=tt.hide)!=null&&rr.referenceHidden);$e(()=>{_&&S&&Ve&&H(hn)},[_,S,Ve,hn]);const xn=x.useMemo(()=>{var nt,yt;return{position:"absolute",top:(nt=tt.arrow)==null?void 0:nt.y,left:(yt=tt.arrow)==null?void 0:yt.x}},[tt.arrow]),$t=((Yn=tt.arrow)==null?void 0:Yn.centerOffset)!==0;return x.useMemo(()=>({positionerStyles:Ct,arrowStyles:xn,arrowRef:fe,arrowUncentered:$t,side:mn,align:Bn,physicalSide:hn,anchorHidden:Dt,refs:Ee,context:lt,isPositioned:Ve,update:Fe}),[Ct,xn,fe,$t,mn,Bn,hn,Dt,Ee,lt,Ve,Fe])}function dw(t){return t!=null&&"current"in t}function w1(t){return t==="starting"?w_:gr}const Q4=x.forwardRef(function(n,a){const{render:i,className:s,anchor:l,positionMethod:u="absolute",side:f="top",align:m="center",sideOffset:h=0,alignOffset:y=0,collisionBoundary:p="clipping-ancestors",collisionPadding:b=5,arrowPadding:v=5,sticky:S=!1,disableAnchorTracking:E=!1,collisionAvoidance:R=E_,...T}=n,N=xc(),_=P4(),M=N.useState("open"),P=N.useState("mounted"),H=N.useState("trackCursorAxis"),O=N.useState("disableHoverablePopup"),L=N.useState("floatingRootContext"),K=N.useState("instantType"),re=N.useState("transitionStatus"),I=N.useState("hasViewport"),A=K4({anchor:l,positionMethod:u,floatingRootContext:L,mounted:P,side:f,sideOffset:h,align:m,alignOffset:y,collisionBoundary:p,collisionPadding:b,sticky:S,arrowPadding:v,disableAnchorTracking:E,keepMounted:_,collisionAvoidance:R,adaptiveOrigin:I?X4:void 0}),j=x.useMemo(()=>{const F={};return(!M||H==="both"||O)&&(F.pointerEvents="none"),{role:"presentation",hidden:!P,style:{...A.positionerStyles,...F}}},[M,H,O,P,A.positionerStyles]),W=x.useMemo(()=>({open:M,side:A.side,align:A.align,anchorHidden:A.anchorHidden,instant:H!=="none"?"tracking-cursor":K}),[M,A.side,A.align,A.anchorHidden,H,K]),X=x.useMemo(()=>({...W,arrowRef:A.arrowRef,arrowStyles:A.arrowStyles,arrowUncentered:A.arrowUncentered}),[W,A.arrowRef,A.arrowStyles,A.arrowUncentered]),D=dn("div",n,{state:W,props:[j,w1(re),T],ref:[a,N.useStateSetter("positionerElement")],stateAttributesMapping:wc});return V.jsx(v1.Provider,{value:X,children:D})}),W4={...wc,...vc},$4=x.forwardRef(function(n,a){const{className:i,render:s,...l}=n,u=xc(),{side:f,align:m}=b1(),h=u.useState("open"),y=u.useState("instantType"),p=u.useState("transitionStatus"),b=u.useState("popupProps"),v=u.useState("floatingRootContext");Bf({open:h,ref:u.context.popupRef,onComplete(){var N,_;h&&((_=(N=u.context).onOpenChangeComplete)==null||_.call(N,!0))}});const S=u.useState("disabled"),E=u.useState("closeDelay");return Yz(v,{enabled:!S,closeDelay:E}),dn("div",n,{state:{open:h,side:f,align:m,instant:y,transitionStatus:p},ref:[a,u.context.popupRef,u.useStateSetter("popupElement")],props:[b,w1(p),l],stateAttributesMapping:W4})}),Z4=x.forwardRef(function(n,a){const{className:i,render:s,...l}=n,f=xc().useState("instantType"),{open:m,arrowRef:h,side:y,align:p,arrowUncentered:b,arrowStyles:v}=b1();return dn("div",n,{state:{open:m,side:y,align:p,uncentered:b,instant:f},ref:[a,h],props:[{style:v,"aria-hidden":!0},l],stateAttributesMapping:wc})});function J4({...t}){return V.jsx(k4,{"data-slot":"tooltip",...t})}function eU({...t}){return V.jsx(B4,{"data-slot":"tooltip-trigger",...t})}function tU({className:t,side:n="top",sideOffset:a=4,align:i="center",alignOffset:s=0,children:l,...u}){return V.jsx(F4,{children:V.jsx(Q4,{align:i,alignOffset:s,side:n,sideOffset:a,className:"isolate z-50",children:V.jsxs($4,{"data-slot":"tooltip-content",className:st("data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-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 rounded-md px-3 py-1.5 text-xs data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 bg-foreground text-background z-50 w-fit max-w-xs origin-(--transform-origin)",t),...u,children:[l,V.jsx(Z4,{className:"size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px] data-[side=inline-end]:top-1/2! data-[side=inline-end]:-left-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-right-1 data-[side=inline-start]:-translate-y-1/2 bg-foreground fill-foreground z-50 data-[side=bottom]:top-1 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5"})]})})})}const nU="sidebar_state",rU=3600*24*7,aU="16rem",iU="18rem",oU="3rem",sU="b",x1=x.createContext(null);function Us(){const t=x.useContext(x1);if(!t)throw new Error("useSidebar must be used within a SidebarProvider.");return t}function lU({defaultOpen:t=!0,open:n,onOpenChange:a,className:i,style:s,children:l,...u}){const f=hk(),[m,h]=x.useState(!1),[y,p]=x.useState(t),b=n??y,v=x.useCallback(T=>{const N=typeof T=="function"?T(b):T;a?a(N):p(N),document.cookie=`${nU}=${N}; path=/; max-age=${rU}`},[a,b]),S=x.useCallback(()=>f?h(T=>!T):v(T=>!T),[f,v,h]);x.useEffect(()=>{const T=N=>{N.defaultPrevented||N.target instanceof HTMLElement&&N.target.closest(".xterm")||N.key===sU&&(N.metaKey||N.ctrlKey)&&(N.preventDefault(),S())};return window.addEventListener("keydown",T),()=>window.removeEventListener("keydown",T)},[S]);const E=b?"expanded":"collapsed",R=x.useMemo(()=>({state:E,open:b,setOpen:v,isMobile:f,openMobile:m,setOpenMobile:h,toggleSidebar:S}),[E,b,v,f,m,h,S]);return V.jsx(x1.Provider,{value:R,children:V.jsx("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":aU,"--sidebar-width-icon":oU,...s},className:st("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",i),...u,children:l})})}function cU({side:t="left",variant:n="sidebar",collapsible:a="offcanvas",className:i,children:s,dir:l,...u}){const{isMobile:f,state:m,openMobile:h,setOpenMobile:y}=Us();return a==="none"?V.jsx("div",{"data-slot":"sidebar",className:st("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",i),...u,children:s}):f?V.jsx(R4,{open:h,onOpenChange:y,...u,children:V.jsxs(O4,{dir:l,"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true","data-testid":"mobile-sidebar-sheet",className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",style:{"--sidebar-width":iU},side:t,children:[V.jsxs(M4,{className:"sr-only",children:[V.jsx(A4,{children:"Sidebar"}),V.jsx(D4,{children:"Displays the mobile sidebar."})]}),V.jsx("div",{className:"flex h-full w-full flex-col","data-testid":"sidebar",style:{paddingBottom:"var(--tmex-safe-area-bottom)"},children:s})]})}):V.jsxs("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":m,"data-collapsible":m==="collapsed"?a:"","data-variant":n,"data-side":t,"data-slot":"sidebar",children:[V.jsx("div",{"data-slot":"sidebar-gap",className:st("transition-[width] duration-200 ease-linear relative w-(--sidebar-width) bg-transparent","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",n==="floating"||n==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),V.jsx("div",{"data-slot":"sidebar-container","data-side":t,className:st("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear data-[side=left]:left-0 data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] data-[side=right]:right-0 data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)] md:flex",n==="floating"||n==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",i),...u,children:V.jsx("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner","data-testid":"sidebar",className:"bg-sidebar group-data-[variant=floating]:ring-sidebar-border group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 flex size-full flex-col",style:{paddingBottom:"var(--tmex-safe-area-bottom)"},children:s})})]})}function uU({className:t,onClick:n,...a}){const{toggleSidebar:i}=Us();return V.jsxs(Jp,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon-sm",className:st(t),onClick:s=>{n==null||n(s),i()},...a,children:[V.jsx(GN,{}),V.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})}function fU({className:t,...n}){return V.jsx("main",{"data-slot":"sidebar-inset",className:st("bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2 relative flex w-full flex-1 flex-col",t),...n})}function dU({className:t,...n}){return V.jsx("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:st("gap-2 p-2 flex flex-col",t),...n})}function hU({className:t,...n}){return V.jsx("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:st("gap-2 p-2 flex flex-col",t),...n})}function mU({className:t,...n}){return V.jsx("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:st("no-scrollbar gap-0 flex min-h-0 flex-1 flex-col overflow-auto group-data-[collapsible=icon]:overflow-hidden",t),...n})}function E1({className:t,...n}){return V.jsx("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:st("p-2 relative flex w-full min-w-0 flex-col",t),...n})}function pU({className:t,render:n,...a}){return bc({defaultTagName:"div",props:Eo({className:st("text-sidebar-foreground/70 ring-sidebar-ring h-8 rounded-md px-2 text-xs font-medium transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 flex shrink-0 items-center outline-hidden [&>svg]:shrink-0",t)},a),render:n,state:{slot:"sidebar-group-label",sidebar:"group-label"}})}function gU({className:t,...n}){return V.jsx("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:st("gap-0 flex w-full min-w-0 flex-col",t),...n})}function yU({className:t,...n}){return V.jsx("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:st("group/menu-item relative",t),...n})}const vU=$p("ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground gap-2 rounded-md p-2 text-left text-sm transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! focus-visible:ring-2 data-active:font-medium peer/menu-button flex w-full items-center overflow-hidden outline-hidden group/menu-button disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function bU({render:t,isActive:n=!1,variant:a="default",size:i="default",tooltip:s,className:l,...u}){const{isMobile:f,state:m}=Us(),h=bc({defaultTagName:"button",props:Eo({className:st(vU({variant:a,size:i}),l)},u),render:s?eU:t,state:{slot:"sidebar-menu-button",sidebar:"menu-button",size:i,active:n}});return s?(typeof s=="string"&&(s={children:s}),V.jsxs(J4,{children:[h,V.jsx(tU,{side:"right",align:"center",hidden:m!=="collapsed"||f,...s})]})):h}function SU({className:t,render:n,showOnHover:a=!1,...i}){return bc({defaultTagName:"button",props:Eo({className:st("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 aspect-square w-5 rounded-md p-0 peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 focus-visible:ring-2 [&>svg]:size-4 flex items-center justify-center outline-hidden transition-transform group-data-[collapsible=icon]:hidden after:absolute after:-inset-2 md:after:hidden [&>svg]:shrink-0",a&&"peer-data-active/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 aria-expanded:opacity-100 md:opacity-0",t)},i),render:n,state:{slot:"sidebar-menu-action",sidebar:"menu-action"}})}function wU({className:t,...n}){return V.jsx("ul",{"data-slot":"sidebar-menu-sub","data-sidebar":"menu-sub",className:st("border-sidebar-border mx-3.5 translate-x-px gap-1 border-l px-2.5 py-0.5 group-data-[collapsible=icon]:hidden flex min-w-0 flex-col",t),...n})}function xU({className:t,...n}){return V.jsx("li",{"data-slot":"sidebar-menu-sub-item","data-sidebar":"menu-sub-item",className:st("group/menu-sub-item relative",t),...n})}function EU({render:t,size:n="md",isActive:a=!1,className:i,...s}){return bc({defaultTagName:"a",props:Eo({className:st("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground h-7 gap-2 rounded-md px-2 focus-visible:ring-2 data-[size=md]:text-sm data-[size=sm]:text-xs [&>svg]:size-4 flex min-w-0 -translate-x-px items-center overflow-hidden outline-hidden group-data-[collapsible=icon]:hidden disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:shrink-0",i)},s),render:t,state:{slot:"sidebar-menu-sub-button",sidebar:"menu-sub-button",size:n,active:a}})}function Of({children:t,onClick:n,...a}){const{isMobile:i,setOpenMobile:s}=Us(),l=u=>{i&&s(!1),n==null||n(u)};return V.jsx(Ip,{...a,onClick:l,children:t})}function RU({items:t}){const{t:n}=gc();return V.jsx(E1,{children:V.jsx(gU,{children:t.map(a=>{var i,s;return V.jsxs(uk,{defaultOpen:a.isActive,render:V.jsx(yU,{}),children:[V.jsx(Of,{to:a.url,children:V.jsxs(bU,{tooltip:n(a.title),children:[V.jsx(a.icon,{}),V.jsx("span",{children:n(a.title)})]})}),(i=a.items)!=null&&i.length?V.jsxs(V.Fragment,{children:[V.jsxs(fk,{render:V.jsx(SU,{className:"data-[state=open]:rotate-90"}),children:[V.jsx(HN,{}),V.jsx("span",{className:"sr-only",children:"Toggle"})]}),V.jsx(dk,{children:V.jsx(wU,{children:(s=a.items)==null?void 0:s.map(l=>V.jsx(xU,{children:V.jsx(Of,{to:l.url,children:V.jsx(EU,{children:V.jsx("span",{children:n(l.title)})})})},l.title))})})]}):null]},a.title)})})})}const TU=$p("h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-3! inline-flex items-center justify-center w-fit whitespace-nowrap shrink-0 [&>svg]:pointer-events-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 overflow-hidden group/badge",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});function Sp({className:t,variant:n="default",render:a,...i}){return bc({defaultTagName:"span",props:Eo({className:st(TU({className:t,variant:n}))},i),render:a,state:{slot:"badge",variant:n}})}const CU={auth_failed:"authFailed",agent_unavailable:"agentUnavailable",agent_no_identity:"agentNoIdentity",ssh_config_ref_not_supported:"configRefNotSupported",network_unreachable:"networkUnreachable",connection_refused:"connectionRefused",timeout:"timeout",host_not_found:"hostNotFound",handshake_failed:"handshakeFailed",tmux_unavailable:"tmuxUnavailable",connection_closed:"connectionClosed"};function OU({deviceId:t,className:n}){const{t:a}=gc(),i=Lr(l=>l.deviceReconnecting[t]),s=Lr(l=>l.deviceErrors[t]);if(i)return V.jsxs(Sp,{variant:"outline",title:i.message,className:st("h-5 gap-1 border-amber-400/40 bg-amber-500/10 px-1.5 text-[10px] font-normal text-amber-700 dark:text-amber-300",n),children:[V.jsx(e_,{className:"h-3 w-3 animate-spin"}),V.jsx("span",{className:"truncate max-w-[120px]",children:i.message})]});if(s){const l=CU[s.type]??"unknown",u=a(`deviceStatus.errorBadge.${l}`),f=[u,s.message,s.rawMessage].filter(Boolean).join(`
|
|
214
|
-
`);return V.jsxs(Sp,{variant:"outline",title:f,className:st("h-5 gap-1 border-red-400/40 bg-red-500/10 px-1.5 text-[10px] font-normal text-red-700 dark:text-red-300",n),children:[V.jsx(BN,{className:"h-3 w-3"}),V.jsx("span",{className:"truncate max-w-[120px]",children:u})]})}return null}const R1=x.createContext(void 0);function Ff(){const t=x.useContext(R1);if(t===void 0)throw new Error(Br(53));return t}let Mf=(function(t){return t.scrollAreaCornerHeight="--scroll-area-corner-height",t.scrollAreaCornerWidth="--scroll-area-corner-width",t})({});const $u=500,hw=16;function Ur(t,n,a){if(!t)return 0;const i=getComputedStyle(t),s=a==="x"?"Inline":"Block";return a==="x"&&n==="margin"?parseFloat(i[`${n}InlineStart`])*2:parseFloat(i[`${n}${s}Start`])+parseFloat(i[`${n}${s}End`])}let MU=(function(t){return t.orientation="data-orientation",t.hovering="data-hovering",t.scrolling="data-scrolling",t.hasOverflowX="data-has-overflow-x",t.hasOverflowY="data-has-overflow-y",t.overflowXStart="data-overflow-x-start",t.overflowXEnd="data-overflow-x-end",t.overflowYStart="data-overflow-y-start",t.overflowYEnd="data-overflow-y-end",t})({});const Zu="base-ui-disable-scrollbar",T1={className:Zu,getElement(t){return V.jsx("style",{nonce:t,href:Zu,precedence:"base-ui:low",children:`.${Zu}{scrollbar-width:none}.${Zu}::-webkit-scrollbar{display:none}`})}};let os=(function(t){return t.scrolling="data-scrolling",t.hasOverflowX="data-has-overflow-x",t.hasOverflowY="data-has-overflow-y",t.overflowXStart="data-overflow-x-start",t.overflowXEnd="data-overflow-x-end",t.overflowYStart="data-overflow-y-start",t.overflowYEnd="data-overflow-y-end",t})({});const dg={hasOverflowX:t=>t?{[os.hasOverflowX]:""}:null,hasOverflowY:t=>t?{[os.hasOverflowY]:""}:null,overflowXStart:t=>t?{[os.overflowXStart]:""}:null,overflowXEnd:t=>t?{[os.overflowXEnd]:""}:null,overflowYStart:t=>t?{[os.overflowYStart]:""}:null,overflowYEnd:t=>t?{[os.overflowYEnd]:""}:null,cornerHidden:()=>null},AU=x.createContext(void 0),DU={disableStyleElements:!1};function NU(){return x.useContext(AU)??DU}const _U={x:0,y:0},mw={width:0,height:0},kU={xStart:!1,xEnd:!1,yStart:!1,yEnd:!1},LU={x:!1,y:!1,corner:!1},zU=x.forwardRef(function(n,a){const{render:i,className:s,overflowEdgeThreshold:l,...u}=n,f=UU(l),m=yc(),h=Ia(),y=Ia(),{nonce:p,disableStyleElements:b}=NU(),[v,S]=x.useState(!1),[E,R]=x.useState(!1),[T,N]=x.useState(!1),[_,M]=x.useState(!1),[P,H]=x.useState(mw),[O,L]=x.useState(mw),[K,re]=x.useState(kU),[I,A]=x.useState(LU),j=x.useRef(null),W=x.useRef(null),X=x.useRef(null),D=x.useRef(null),F=x.useRef(null),z=x.useRef(null),ie=x.useRef(null),le=x.useRef(!1),k=x.useRef(0),Q=x.useRef(0),$=x.useRef(0),ce=x.useRef(0),fe=x.useRef("vertical"),pe=x.useRef(_U),ye=Ye(Ce=>{const Te=Ce.x-pe.current.x,Pe=Ce.y-pe.current.y;pe.current=Ce,Pe!==0&&(N(!0),h.start($u,()=>{N(!1)})),Te!==0&&(R(!0),y.start($u,()=>{R(!1)}))}),Oe=Ye(Ce=>{Ce.button===0&&(le.current=!0,k.current=Ce.clientY,Q.current=Ce.clientX,fe.current=Ce.currentTarget.getAttribute(MU.orientation),W.current&&($.current=W.current.scrollTop,ce.current=W.current.scrollLeft),F.current&&fe.current==="vertical"&&F.current.setPointerCapture(Ce.pointerId),z.current&&fe.current==="horizontal"&&z.current.setPointerCapture(Ce.pointerId))}),we=Ye(Ce=>{if(!le.current)return;const Te=Ce.clientY-k.current,Pe=Ce.clientX-Q.current;if(W.current){const tt=W.current.scrollHeight,Fe=W.current.clientHeight,mt=W.current.scrollWidth,lt=W.current.clientWidth;if(F.current&&X.current&&fe.current==="vertical"){const Ve=Ur(X.current,"padding","y"),zt=Ur(F.current,"margin","y"),Wt=F.current.offsetHeight,ln=X.current.offsetHeight-Wt-Ve-zt,it=Te/ln;W.current.scrollTop=$.current+it*(tt-Fe),Ce.preventDefault(),N(!0),h.start($u,()=>{N(!1)})}if(z.current&&D.current&&fe.current==="horizontal"){const Ve=Ur(D.current,"padding","x"),zt=Ur(z.current,"margin","x"),Wt=z.current.offsetWidth,ln=D.current.offsetWidth-Wt-Ve-zt,it=Pe/ln;W.current.scrollLeft=ce.current+it*(mt-lt),Ce.preventDefault(),R(!0),y.start($u,()=>{R(!1)})}}}),Qe=Ye(Ce=>{le.current=!1,F.current&&fe.current==="vertical"&&F.current.releasePointerCapture(Ce.pointerId),z.current&&fe.current==="horizontal"&&z.current.releasePointerCapture(Ce.pointerId)});function Je(Ce){M(Ce.pointerType==="touch")}function se(Ce){if(Je(Ce),Ce.pointerType!=="touch"){const Te=Tt(j.current,Ce.target);S(Te)}}const ge=x.useMemo(()=>({scrolling:E||T,hasOverflowX:!I.x,hasOverflowY:!I.y,overflowXStart:K.xStart,overflowXEnd:K.xEnd,overflowYStart:K.yStart,overflowYEnd:K.yEnd,cornerHidden:I.corner}),[E,T,I.x,I.y,I.corner,K]),ve={role:"presentation",onPointerEnter:se,onPointerMove:se,onPointerDown:Je,onPointerLeave(){S(!1)},style:{position:"relative",[Mf.scrollAreaCornerHeight]:`${P.height}px`,[Mf.scrollAreaCornerWidth]:`${P.width}px`}},He=dn("div",n,{state:ge,ref:[a,j],props:[ve,u],stateAttributesMapping:dg}),Ee=x.useMemo(()=>({handlePointerDown:Oe,handlePointerMove:we,handlePointerUp:Qe,handleScroll:ye,cornerSize:P,setCornerSize:H,thumbSize:O,setThumbSize:L,touchModality:_,cornerRef:ie,scrollingX:E,setScrollingX:R,scrollingY:T,setScrollingY:N,hovering:v,setHovering:S,viewportRef:W,rootRef:j,scrollbarYRef:X,scrollbarXRef:D,thumbYRef:F,thumbXRef:z,rootId:m,hiddenState:I,setHiddenState:A,overflowEdges:K,setOverflowEdges:re,viewportState:ge,overflowEdgeThreshold:f}),[Oe,we,Qe,ye,P,O,_,E,R,T,N,v,S,m,I,K,ge,f]);return V.jsxs(R1.Provider,{value:Ee,children:[!b&&T1.getElement(p),He]})});function UU(t){if(typeof t=="number"){const n=Math.max(0,t);return{xStart:n,xEnd:n,yStart:n,yEnd:n}}return{xStart:Math.max(0,(t==null?void 0:t.xStart)||0),xEnd:Math.max(0,(t==null?void 0:t.xEnd)||0),yStart:Math.max(0,(t==null?void 0:t.yStart)||0),yEnd:Math.max(0,(t==null?void 0:t.yEnd)||0)}}const HU=x.createContext(void 0);function ls(t,n=Number.MIN_SAFE_INTEGER,a=Number.MAX_SAFE_INTEGER){return Math.max(n,Math.min(t,a))}function jU(t,n){if(typeof IntersectionObserver>"u")return()=>{};const a=new IntersectionObserver(i=>{i.forEach(s=>{s.intersectionRatio>0&&(n(),a.disconnect())})});return a.observe(t),()=>{a.disconnect()}}let Oi=(function(t){return t.scrollAreaOverflowXStart="--scroll-area-overflow-x-start",t.scrollAreaOverflowXEnd="--scroll-area-overflow-x-end",t.scrollAreaOverflowYStart="--scroll-area-overflow-y-start",t.scrollAreaOverflowYEnd="--scroll-area-overflow-y-end",t})({});const pw=1;function gw(t,n){if(n<=0)return 0;const a=ls(t,0,n),i=a,s=n-a,l=i<=pw,u=s<=pw;return l&&u?i<=s?0:n:l?0:u?n:a}let yw=!1;function BU(){yw||eg||(typeof CSS<"u"&&"registerProperty"in CSS&&[Oi.scrollAreaOverflowXStart,Oi.scrollAreaOverflowXEnd,Oi.scrollAreaOverflowYStart,Oi.scrollAreaOverflowYEnd].forEach(t=>{try{CSS.registerProperty({name:t,syntax:"<length>",inherits:!1,initialValue:"0px"})}catch{}}),yw=!0)}const PU=x.forwardRef(function(n,a){const{render:i,className:s,...l}=n,{viewportRef:u,scrollbarYRef:f,scrollbarXRef:m,thumbYRef:h,thumbXRef:y,cornerRef:p,cornerSize:b,setCornerSize:v,setThumbSize:S,rootId:E,setHiddenState:R,hiddenState:T,handleScroll:N,setHovering:_,setOverflowEdges:M,overflowEdges:P,overflowEdgeThreshold:H,scrollingX:O,scrollingY:L}=Ff(),K=fg(),re=x.useRef(!0),I=Ia(),A=Ia(),j=Ye(()=>{const ie=u.current,le=f.current,k=m.current,Q=h.current,$=y.current,ce=p.current;if(!ie)return;const fe=ie.scrollHeight,pe=ie.scrollWidth,ye=ie.clientHeight,Oe=ie.clientWidth,we=ie.scrollTop,Qe=ie.scrollLeft;if(fe===0||pe===0)return;const Je=ye>=fe,se=Oe>=pe,ge=Oe/pe,ve=ye/fe,He=Math.max(0,pe-Oe),Ee=Math.max(0,fe-ye);let Ce=0,Te=0;if(!se){let Xe=0;K==="rtl"?Xe=ls(-Qe,0,He):Xe=ls(Qe,0,He),Ce=gw(Xe,He),Te=He-Ce}const Pe=Je?0:ls(we,0,Ee),tt=Je?0:gw(Pe,Ee),Fe=Je?0:Ee-tt,mt=se?0:Oe,lt=Je?0:ye;let Ve=0,zt=0;!se&&!Je&&(Ve=(le==null?void 0:le.offsetWidth)||0,zt=(k==null?void 0:k.offsetHeight)||0);const Wt=b.width===0&&b.height===0,ln=Wt?Ve:0,it=Wt?zt:0,Ct=Ur(k,"padding","x"),At=Ur(le,"padding","y"),hn=Ur($,"margin","x"),mn=Ur(Q,"margin","y"),Bn=mt-Ct-hn,Dt=lt-At-mn,xn=k?Math.min(k.offsetWidth-ln,Bn):Bn,$t=le?Math.min(le.offsetHeight-it,Dt):Dt,rr=Math.max(hw,xn*ge),Yn=Math.max(hw,$t*ve);if(S(Xe=>Xe.height===Yn&&Xe.width===rr?Xe:{width:rr,height:Yn}),le&&Q){const Xe=le.offsetHeight-Yn-At-mn,vt=fe-ye,Yt=vt===0?0:we/vt,je=Math.min(Xe,Math.max(0,Yt*Xe));Q.style.transform=`translate3d(0,${je}px,0)`}if(k&&$){const Xe=k.offsetWidth-rr-Ct-hn,vt=pe-Oe,Yt=vt===0?0:Qe/vt,je=K==="rtl"?ls(Yt*Xe,-Xe,0):ls(Yt*Xe,0,Xe);$.style.transform=`translate3d(${je}px,0,0)`}const nt=[[Oi.scrollAreaOverflowXStart,Ce],[Oi.scrollAreaOverflowXEnd,Te],[Oi.scrollAreaOverflowYStart,tt],[Oi.scrollAreaOverflowYEnd,Fe]];for(const[Xe,vt]of nt)ie.style.setProperty(Xe,`${vt}px`);ce&&(se||Je?v({width:0,height:0}):!se&&!Je&&v({width:Ve,height:zt})),R(Xe=>{const vt=Je||se;return Xe.y===Je&&Xe.x===se&&Xe.corner===vt?Xe:{y:Je,x:se,corner:vt}});const yt={xStart:!se&&Ce>H.xStart,xEnd:!se&&Te>H.xEnd,yStart:!Je&&tt>H.yStart,yEnd:!Je&&Fe>H.yEnd};M(Xe=>Xe.xStart===yt.xStart&&Xe.xEnd===yt.xEnd&&Xe.yStart===yt.yStart&&Xe.yEnd===yt.yEnd?Xe:yt)});$e(()=>{if(!u.current)return;BU();let ie=!1;return jU(u.current,()=>{if(!ie){ie=!0;return}j()})},[j,u]),$e(()=>{queueMicrotask(j)},[j,T,K]),$e(()=>{var ie;(ie=u.current)!=null&&ie.matches(":hover")&&_(!0)},[u,_]),x.useEffect(()=>{const ie=u.current;if(typeof ResizeObserver>"u"||!ie)return;let le=!1;const k=new ResizeObserver(()=>{if(!le){le=!0;return}j()});return k.observe(ie),A.start(0,()=>{const Q=ie.getAnimations({subtree:!0});Q.length!==0&&Promise.allSettled(Q.map($=>$.finished)).then(j).catch(()=>{})}),()=>{k.disconnect(),A.clear()}},[j,u,A]);function W(){re.current=!1}const X={role:"presentation",...E&&{"data-id":`${E}-viewport`},...(!T.x||!T.y)&&{tabIndex:0},className:T1.className,style:{overflow:"scroll"},onScroll(){u.current&&(j(),re.current||N({x:u.current.scrollLeft,y:u.current.scrollTop}),I.start(100,()=>{re.current=!0}))},onWheel:W,onTouchMove:W,onPointerMove:W,onPointerEnter:W,onKeyDown:W},D=x.useMemo(()=>({scrolling:O||L,hasOverflowX:!T.x,hasOverflowY:!T.y,overflowXStart:P.xStart,overflowXEnd:P.xEnd,overflowYStart:P.yStart,overflowYEnd:P.yEnd,cornerHidden:T.corner}),[O,L,T.x,T.y,T.corner,P]),F=dn("div",n,{ref:[a,u],state:D,props:[X,l],stateAttributesMapping:dg}),z=x.useMemo(()=>({computeThumbPosition:j}),[j]);return V.jsx(HU.Provider,{value:z,children:F})}),C1=x.createContext(void 0);function IU(){const t=x.useContext(C1);if(t===void 0)throw new Error(Br(54));return t}let Af=(function(t){return t.scrollAreaThumbHeight="--scroll-area-thumb-height",t.scrollAreaThumbWidth="--scroll-area-thumb-width",t})({});const FU=x.forwardRef(function(n,a){const{render:i,className:s,orientation:l="vertical",keepMounted:u=!1,...f}=n,{hovering:m,scrollingX:h,scrollingY:y,hiddenState:p,overflowEdges:b,scrollbarYRef:v,scrollbarXRef:S,viewportRef:E,thumbYRef:R,thumbXRef:T,handlePointerDown:N,handlePointerUp:_,rootId:M,thumbSize:P}=Ff(),H={hovering:m,scrolling:{horizontal:h,vertical:y}[l],orientation:l,hasOverflowX:!p.x,hasOverflowY:!p.y,overflowXStart:b.xStart,overflowXEnd:b.xEnd,overflowYStart:b.yStart,overflowYEnd:b.yEnd,cornerHidden:p.corner},O=fg();x.useEffect(()=>{const j=E.current,W=l==="vertical"?v.current:S.current;if(!W)return;function X(D){if(!(!j||!W||D.ctrlKey)){if(D.preventDefault(),l==="vertical"){if(j.scrollTop===0&&D.deltaY<0)return}else if(j.scrollLeft===0&&D.deltaX<0)return;if(l==="vertical"){if(j.scrollTop===j.scrollHeight-j.clientHeight&&D.deltaY>0)return}else if(j.scrollLeft===j.scrollWidth-j.clientWidth&&D.deltaX>0)return;l==="vertical"?j.scrollTop+=D.deltaY:j.scrollLeft+=D.deltaX}}return W.addEventListener("wheel",X,{passive:!1}),()=>{W.removeEventListener("wheel",X)}},[l,S,v,E]);const L={...M&&{"data-id":`${M}-scrollbar`},onPointerDown(j){if(j.button===0&&j.currentTarget===j.target&&E.current){if(R.current&&v.current&&l==="vertical"){const W=Ur(R.current,"margin","y"),X=Ur(v.current,"padding","y"),D=R.current.offsetHeight,F=v.current.getBoundingClientRect(),z=j.clientY-F.top-D/2-X+W/2,ie=E.current.scrollHeight,le=E.current.clientHeight,k=v.current.offsetHeight-D-X-W,$=z/k*(ie-le);E.current.scrollTop=$}if(T.current&&S.current&&l==="horizontal"){const W=Ur(T.current,"margin","x"),X=Ur(S.current,"padding","x"),D=T.current.offsetWidth,F=S.current.getBoundingClientRect(),z=j.clientX-F.left-D/2-X+W/2,ie=E.current.scrollWidth,le=E.current.clientWidth,k=S.current.offsetWidth-D-X-W,Q=z/k;let $;O==="rtl"?($=(1-Q)*(ie-le),E.current.scrollLeft<=0&&($=-$)):$=Q*(ie-le),E.current.scrollLeft=$}N(j)}},onPointerUp:_,style:{position:"absolute",touchAction:"none",WebkitUserSelect:"none",userSelect:"none",...l==="vertical"&&{top:0,bottom:`var(${Mf.scrollAreaCornerHeight})`,insetInlineEnd:0,[Af.scrollAreaThumbHeight]:`${P.height}px`},...l==="horizontal"&&{insetInlineStart:0,insetInlineEnd:`var(${Mf.scrollAreaCornerWidth})`,bottom:0,[Af.scrollAreaThumbWidth]:`${P.width}px`}}},K=dn("div",n,{ref:[a,l==="vertical"?v:S],state:H,props:[L,f],stateAttributesMapping:dg}),re=x.useMemo(()=>({orientation:l}),[l]),I=l==="vertical"?p.y:p.x;return u||!I?V.jsx(C1.Provider,{value:re,children:K}):null}),YU=x.forwardRef(function(n,a){const{render:i,className:s,...l}=n,{thumbYRef:u,thumbXRef:f,handlePointerDown:m,handlePointerMove:h,handlePointerUp:y,setScrollingX:p,setScrollingY:b}=Ff(),{orientation:v}=IU();return dn("div",n,{ref:[a,v==="vertical"?u:f],state:{orientation:v},props:[{onPointerDown:m,onPointerMove:h,onPointerUp(R){v==="vertical"&&b(!1),v==="horizontal"&&p(!1),y(R)},style:{...v==="vertical"&&{height:`var(${Af.scrollAreaThumbHeight})`},...v==="horizontal"&&{width:`var(${Af.scrollAreaThumbWidth})`}}},l]})}),VU=x.forwardRef(function(n,a){const{render:i,className:s,...l}=n,{cornerRef:u,cornerSize:f,hiddenState:m}=Ff(),h=dn("div",n,{ref:[a,u],props:[{style:{position:"absolute",bottom:0,insetInlineEnd:0,width:f.width,height:f.height}},l]});return m.corner?null:h});function qU({className:t,children:n,...a}){return V.jsxs(zU,{"data-slot":"scroll-area",className:st("relative",t),...a,children:[V.jsx(PU,{"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:n}),V.jsx(GU,{}),V.jsx(VU,{})]})}function GU({className:t,orientation:n="vertical",...a}){return V.jsx(FU,{"data-slot":"scroll-area-scrollbar","data-orientation":n,orientation:n,className:st("data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent flex touch-none p-px transition-colors select-none","[@media(any-pointer:coarse)]:hidden",t),...a,children:V.jsx(YU,{"data-slot":"scroll-area-thumb",className:"rounded-full bg-border relative flex-1"})})}function DH(t){return t}function XU(t){return encodeURIComponent(t)}function KU(){const{t}=gc(),n=Ya(),a=mx(),{isMobile:i,setOpenMobile:s}=Us(),{toggleDevice:l}=AN(),u=Ql("/devices/:deviceId/windows/:windowId/panes/:paneId",n.pathname),f=u==null?void 0:u.params.deviceId,m=u==null?void 0:u.params.windowId,h=u==null?void 0:u.params.paneId,y=Lr(I=>I.snapshots),p=Lr(I=>I.connectedDevices),b=Lr(I=>I.closeWindow),v=Lr(I=>I.closePane),S=ec(I=>{var A;return((A=I.settings)==null?void 0:A.language)??"en_US"}),{data:E}=TC({queryKey:["devices"],queryFn:async()=>{const I=await fetch("/api/devices");if(!I.ok)throw new Error("Failed to fetch devices");return I.json()},throwOnError:!1}),R=Lr(I=>I.hydrateDeviceErrors);x.useEffect(()=>{E!=null&&E.devices&&R(E.devices.map(I=>({deviceId:I.id,lastError:I.lastError??null,lastErrorType:I.lastErrorType??null})))},[E,R]);const T=x.useCallback((I,A)=>{a(I,{replace:(A==null?void 0:A.replace)??!0}),i&&s(!1)},[a,i,s]),N=x.useCallback((I,A,j)=>{M.current=null,window.dispatchEvent(new CustomEvent("tmex:user-initiated-selection",{detail:{deviceId:I,windowId:A,paneId:j}})),T(`/devices/${I}/windows/${A}/panes/${XU(j)}`)},[T]),_=Lr(I=>I.selectWindow),M=x.useRef(null);x.useEffect(()=>{var z,ie;const I=M.current;if(!I)return;if(Date.now()-I.at>5e3){M.current=null;return}const{deviceId:A,windowId:j}=I,W=y[A],X=(z=W==null?void 0:W.session)==null?void 0:z.windows;if(!X)return;const D=X.find(le=>le.id===j);if(!((ie=D==null?void 0:D.panes)!=null&&ie.length))return;M.current=null;const F=D.panes.find(le=>le.active)??D.panes[0];N(A,j,F.id)},[y,N]);const P=x.useCallback((I,A,j)=>{_(I,A);const W=j.find(X=>X.active)??j[0];W?(N(I,A,W.id),M.current=null):M.current={deviceId:I,windowId:A,at:Date.now()}},[N,_]),H=x.useCallback((I,A)=>{A?I===f&&T("/devices"):T(`/devices/${I}`),l(I,A)},[l,f,T]),O=x.useCallback((I,A)=>{I===f&&A===m&&T("/devices"),b(I,A)},[b,f,m,T]),L=x.useCallback(I=>{Lr.getState().createWindow(I)},[]),K=(E==null?void 0:E.devices)??[],re=x.useMemo(()=>[...K].sort((I,A)=>I.name.localeCompare(A.name,yA(S),{numeric:!0,sensitivity:"base"})),[K,S]);return V.jsxs(E1,{className:"flex flex-col flex-1 min-h-0",children:[V.jsx(pU,{children:t("device.devices")}),V.jsx(qU,{className:"flex-1 min-h-0",children:V.jsxs("div",{className:"space-y-1.5 py-2",children:[re.map(I=>{var A,j;return V.jsx(QU,{device:I,windows:((j=(A=y[I.id])==null?void 0:A.session)==null?void 0:j.windows)??null,isConnected:p.has(I.id),selectedWindowId:m,selectedPaneId:h,onConnectToggle:()=>H(I.id,p.has(I.id)),onCreateWindow:L,onCloseWindow:O,onClosePane:v,onPaneClick:N,onWindowClick:P},I.id)}),re.length===0&&V.jsx("div",{className:"text-center text-sm text-muted-foreground py-4",children:t("sidebar.noDevices")})]})})]})}function QU({device:t,windows:n,isConnected:a,selectedWindowId:i,selectedPaneId:s,onConnectToggle:l,onCreateWindow:u,onCloseWindow:f,onClosePane:m,onPaneClick:h,onWindowClick:y}){const{t:p}=gc(),b=t.type==="local"?Ux:IN;return V.jsxs("div",{"data-testid":`device-item-${t.id}`,className:st("rounded-lg border overflow-hidden text-select-none",a?"bg-card/50":"bg-muted/20"),onClick:a?void 0:l,children:[V.jsx("div",{className:"px-3 py-1 bg-muted/30 border-b",children:V.jsxs("div",{className:"flex items-center gap-2",children:[V.jsx(b,{className:"ml-1 h-4 w-4 text-muted-foreground shrink-0"}),V.jsx("span",{className:"flex-1 truncate text-xs font-medium text-select-none",children:t.name}),V.jsx(OU,{deviceId:t.id,className:"shrink-0"}),V.jsx("div",{className:st("h-2 w-2 rounded-full shrink-0",a?"bg-emerald-500":"bg-gray-400")}),V.jsx(Jp,{variant:"ghost",size:"icon-xs",onClick:v=>{v.stopPropagation(),l()},"data-testid":a?`device-disconnect-${t.id}`:`device-connect-${t.id}`,title:p(a?"device.disconnect":"device.connect"),children:a?V.jsx(WN,{className:"h-3.5 w-3.5 text-orange-500"}):V.jsx(ZN,{className:"h-3.5 w-3.5 text-emerald-500"})})]})}),a&&V.jsxs("div",{className:"p-1 space-y-0.5",children:[!n&&V.jsx("div",{className:"text-xs text-muted-foreground px-2 py-1.5 text-center",children:p("device.connecting")}),(n==null?void 0:n.length)===0&&V.jsx("div",{className:"text-xs text-muted-foreground px-2 py-1.5 text-center",children:p("window.noWindows")}),n==null?void 0:n.map(v=>V.jsx(WU,{deviceId:t.id,window:v,isSelected:v.id===i,selectedPaneId:s,onPaneClick:h,onWindowClick:y,onCloseWindow:f,onClosePane:m},v.id)),V.jsxs("button",{type:"button","data-testid":`window-create-${t.id}`,onPointerDown:v=>v.stopPropagation(),onMouseDown:v=>v.stopPropagation(),onClick:()=>u(t.id),className:"w-full flex items-center gap-2 px-2 py-1.5 rounded-md text-left transition-colors text-muted-foreground hover:text-foreground hover:bg-accent/30 border border-dashed border-border/50 hover:border-border",children:[V.jsx(KN,{className:"h-3.5 w-3.5 shrink-0"}),V.jsx("span",{className:"text-xs",children:p("window.new")})]})]})]})}function WU({deviceId:t,window:n,isSelected:a,selectedPaneId:i,onPaneClick:s,onWindowClick:l,onCloseWindow:u,onClosePane:f}){const m=n.panes.length>1,h=n.panes.find(p=>p.id===i),y=a&&!!h;return V.jsxs("div",{className:"space-y-0.5",children:[V.jsxs("div",{className:"group relative",children:[V.jsxs("button",{type:"button",onClick:()=>l(t,n.id,n.panes),"data-testid":`window-item-${n.id}`,className:st("w-full flex items-center gap-2 px-2 py-1.5 rounded-md text-left transition-colors pr-7",y?"bg-primary/15 text-primary border border-primary/30":"hover:bg-accent/50 text-foreground border border-transparent"),children:[V.jsx(Sp,{variant:y?"default":"outline",className:"h-5 text-[10px] px-1.5 shrink-0",children:n.index}),V.jsx("span",{className:"flex-1 truncate text-xs font-medium",children:n.name}),n.active&&V.jsx("span",{className:st("h-1.5 w-1.5 rounded-full shrink-0",y?"bg-foreground/80":"bg-foreground/50")})]}),V.jsx("button",{type:"button",onClick:p=>{p.stopPropagation(),u(t,n.id)},className:st("absolute right-1.5 top-1/2 -translate-y-1/2 h-5 w-5 flex items-center justify-center rounded text-muted-foreground hover:bg-background hover:text-foreground transition-opacity",y?"opacity-100":"opacity-0 group-hover:opacity-100"),title:"Close window",children:V.jsx("span",{className:"text-xs leading-none",children:"×"})})]}),m&&V.jsx("div",{className:"ml-4 pl-2 border-l border-border/50 space-y-0.5",children:n.panes.map(p=>{const b=p.id===i;return V.jsxs("div",{className:"group relative",children:[V.jsxs("button",{type:"button",onClick:()=>s(t,n.id,p.id),"data-testid":`pane-item-${p.id}`,className:st("w-full flex items-center gap-2 px-2 py-1 rounded-md text-left transition-colors pr-7",b?"bg-primary/10 text-primary border border-primary/20":"hover:bg-accent/30 text-muted-foreground border border-transparent"),children:[V.jsx("span",{className:"text-[10px] font-mono opacity-60 w-4",children:p.index}),V.jsx("span",{className:"flex-1 truncate text-xs",children:p.title||`Pane ${p.index}`}),p.active&&V.jsx("span",{className:st("h-1 w-1 rounded-full shrink-0",b?"bg-foreground/80":"bg-foreground/50")})]}),V.jsx("button",{type:"button",onClick:v=>{v.stopPropagation(),f(t,n.id,p.id,n.panes.length)},className:st("absolute right-1.5 top-1/2 -translate-y-1/2 h-5 w-5 flex items-center justify-center rounded text-muted-foreground hover:bg-background hover:text-foreground transition-opacity",b?"opacity-100":"opacity-0 group-hover:opacity-100"),title:"Close pane",children:V.jsx("span",{className:"text-xs leading-none",children:"×"})})]},p.id)})})]})}function $U(t,n){let a;try{a=t()}catch{return}return{getItem:s=>{var l;const u=m=>m===null?null:JSON.parse(m,void 0),f=(l=a.getItem(s))!=null?l:null;return f instanceof Promise?f.then(u):u(f)},setItem:(s,l)=>a.setItem(s,JSON.stringify(l,void 0)),removeItem:s=>a.removeItem(s)}}const wp=t=>n=>{try{const a=t(n);return a instanceof Promise?a:{then(i){return wp(i)(a)},catch(i){return this}}}catch(a){return{then(i){return this},catch(i){return wp(i)(a)}}}},ZU=(t,n)=>(a,i,s)=>{let l={storage:$U(()=>window.localStorage),partialize:R=>R,version:0,merge:(R,T)=>({...T,...R}),...n},u=!1,f=0;const m=new Set,h=new Set;let y=l.storage;if(!y)return t((...R)=>{console.warn(`[zustand persist middleware] Unable to update item '${l.name}', the given storage is currently unavailable.`),a(...R)},i,s);const p=()=>{const R=l.partialize({...i()});return y.setItem(l.name,{state:R,version:l.version})},b=s.setState;s.setState=(R,T)=>(b(R,T),p());const v=t((...R)=>(a(...R),p()),i,s);s.getInitialState=()=>v;let S;const E=()=>{var R,T;if(!y)return;const N=++f;u=!1,m.forEach(M=>{var P;return M((P=i())!=null?P:v)});const _=((T=l.onRehydrateStorage)==null?void 0:T.call(l,(R=i())!=null?R:v))||void 0;return wp(y.getItem.bind(y))(l.name).then(M=>{if(M)if(typeof M.version=="number"&&M.version!==l.version){if(l.migrate){const P=l.migrate(M.state,M.version);return P instanceof Promise?P.then(H=>[!0,H]):[!0,P]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,M.state];return[!1,void 0]}).then(M=>{var P;if(N!==f)return;const[H,O]=M;if(S=l.merge(O,(P=i())!=null?P:v),a(S,!0),H)return p()}).then(()=>{N===f&&(_==null||_(S,void 0),S=i(),u=!0,h.forEach(M=>M(S)))}).catch(M=>{N===f&&(_==null||_(void 0,M))})};return s.persist={setOptions:R=>{l={...l,...R},R.storage&&(y=R.storage)},clearStorage:()=>{y==null||y.removeItem(l.name)},getOptions:()=>l,rehydrate:()=>E(),hasHydrated:()=>u,onHydrate:R=>(m.add(R),()=>{m.delete(R)}),onFinishHydration:R=>(h.add(R),()=>{h.delete(R)})},l.skipHydration||E(),S||v},JU=ZU,vw=Vp()(JU(t=>({sidebarCollapsed:!1,inputMode:"direct",editorSendWithEnter:!0,theme:"dark",editorHistory:[],editorDrafts:{},setSidebarCollapsed:n=>t({sidebarCollapsed:n}),setInputMode:n=>t({inputMode:n}),setEditorSendWithEnter:n=>t({editorSendWithEnter:n}),setTheme:n=>t({theme:n}),addEditorHistory:n=>t(a=>({editorHistory:[n,...a.editorHistory.slice(0,49)]})),setEditorDraft:(n,a)=>t(i=>({editorDrafts:{...i.editorDrafts,[n]:a}})),removeEditorDraft:n=>t(a=>{if(!(n in a.editorDrafts))return a;const i={...a.editorDrafts};return delete i[n],{editorDrafts:i}})}),{name:"tmex-ui",partialize:t=>({sidebarCollapsed:t.sidebarCollapsed,inputMode:t.inputMode,editorSendWithEnter:t.editorSendWithEnter,theme:t.theme,editorHistory:t.editorHistory,editorDrafts:t.editorDrafts})}));function eH(){const{t}=gc(),{isMobile:n,setOpenMobile:a}=Us(),i=ec(y=>{var p;return(p=y.settings)==null?void 0:p.siteName}),s=ec(y=>y.fetchSettings);x.useEffect(()=>{s()},[s]);const l=i??"tmex",u=vw(y=>y.theme),f=vw(y=>y.setTheme),m=u==="dark",h=()=>{const y=m?"light":"dark";f(y),document.documentElement.classList.toggle("dark",y==="dark")};return V.jsxs("div",{className:"flex items-center gap-2 px-2",children:[V.jsxs(Of,{to:"/",className:"flex flex-1 items-center gap-3 overflow-hidden",children:[V.jsx("div",{className:"h-8 w-8 shrink-0 overflow-hidden rounded-lg border-2 border-black",children:V.jsx("img",{src:"/logo.png",alt:l,className:"h-full w-full object-cover"})}),V.jsx("span",{className:"truncate text-sm font-semibold tracking-tight",children:l})]}),V.jsx("button",{type:"button",onClick:h,className:"inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-sidebar-accent hover:text-foreground","aria-label":t(m?"settings.themeLight":"settings.themeDark"),title:t(m?"settings.themeLight":"settings.themeDark"),children:m?V.jsx(a_,{className:"h-4 w-4"}):V.jsx(VN,{className:"h-4 w-4"})}),V.jsx(Of,{to:"/settings",className:"inline-flex h-8 w-8 mr-[-8px] shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-sidebar-accent hover:text-foreground","aria-label":t("sidebar.settings"),title:t("sidebar.settings"),children:V.jsx(n_,{className:"h-4 w-4"})}),n&&V.jsx("button",{type:"button","data-testid":"mobile-sidebar-close",onClick:()=>a(!1),className:"inline-flex h-8 w-8 mr-[-8px] shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-sidebar-accent hover:text-foreground","aria-label":t("nav.closeSidebar"),title:t("nav.closeSidebar"),children:V.jsx(Hx,{className:"h-4 w-4"})})]})}const tH=[{title:"nav.manageDevices",url:"/devices",icon:Ux}];function nH({...t}){return V.jsxs(cU,{variant:"inset",...t,children:[V.jsx("div",{className:"h-[var(--tmex-safe-area-top)]"}),V.jsx(dU,{className:"py-3",children:V.jsx(eH,{})}),V.jsx(mU,{className:"flex flex-col",children:V.jsx(KU,{})}),V.jsxs(hU,{children:[V.jsx(RU,{items:tH}),V.jsx("div",{className:"h-[var(--tmex-safe-area-bottom)]"})]})]})}function rH(){var t;try{const n=localStorage.getItem("tmex-ui");if(!n){document.documentElement.classList.add("dark");return}const a=JSON.parse(n),i=(t=a==null?void 0:a.state)==null?void 0:t.theme,s=i==="dark"||i===void 0;document.documentElement.classList.toggle("dark",s)}catch{document.documentElement.classList.add("dark")}}rH();const aH=new uC({defaultOptions:{queries:{staleTime:5e3,retry:1}}});function iH(){return V.jsx(DN,{children:V.jsxs(lU,{children:[V.jsx(nH,{}),V.jsxs(fU,{className:"h-dvh overflow-hidden",children:[V.jsx("div",{className:"h-[var(--tmex-safe-area-top)]"}),V.jsx(w2,{}),V.jsx("div",{className:"h-[var(--tmex-safe-area-bottom)]"})]})]})})}function Ll({moduleLoader:t}){const[n,a]=x.useState(null),i=JO();x.useEffect(()=>{t().then(a)},[t]);const s=n==null?void 0:n.default,l=n==null?void 0:n.PageTitle,u=n==null?void 0:n.PageActions;return V.jsxs(V.Fragment,{children:[V.jsxs("header",{className:"sticky top-0 z-10 flex h-12 md:h-16 shrink-0 items-center justify-between gap-2 bg-background/95 backdrop-blur-sm","data-testid":"mobile-topbar",children:[V.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2 px-4",children:[V.jsx(uU,{className:"-ml-1 shrink-0","data-testid":"mobile-sidebar-open"}),V.jsx(YL,{orientation:"vertical",className:"mr-2 shrink-0 data-[orientation=vertical]:h-4"}),V.jsx("span",{className:"min-w-0 flex-1 truncate text-sm font-semibold",children:l?V.jsx(l,{...i}):""})]}),V.jsx("div",{className:"flex shrink-0 items-center gap-1 px-4",children:u&&V.jsx(u,{...i})})]}),V.jsx("div",{className:"flex min-h-0 flex-1 flex-col gap-4 !pt-0 p-2 md:p-4 mb-2",children:V.jsx("div",{className:"bg-muted/50 min-h-0 flex-1 overflow-auto overscroll-auto rounded-xl [-webkit-overflow-scrolling:touch]",children:s?V.jsx(s,{}):null})})]})}const oH=()=>Ep(()=>import("./SettingsPage-Bi8Kez5a.js"),__vite__mapDeps([0,1,2,3])),bw=()=>Ep(()=>import("./DevicesPage-_g8yXgKX.js"),__vite__mapDeps([4,1,2])),Sw=()=>Ep(()=>import("./DevicePage-CQuQ0yeD.js"),__vite__mapDeps([5,2,3])),sH=G2([{path:"/",Component:iH,children:[{index:!0,element:V.jsx(Ll,{moduleLoader:bw})},{path:"devices",element:V.jsx(Ll,{moduleLoader:bw})},{path:"devices/:deviceId",element:V.jsx(Ll,{moduleLoader:Sw})},{path:"devices/:deviceId/windows/:windowId/panes/:paneId",element:V.jsx(Ll,{moduleLoader:Sw})},{path:"settings",element:V.jsx(Ll,{moduleLoader:oH})}]}]),O1=document.getElementById("root");if(!O1)throw new Error("Root element not found");NC.createRoot(O1).render(V.jsx(x.StrictMode,{children:V.jsxs(hC,{client:aH,children:[V.jsx(v2,{router:sH}),V.jsx(NM,{richColors:!0,position:"top-right",closeButton:!0,offset:{top:"calc(16px + var(--tmex-safe-area-top))",right:"16px",bottom:"16px",left:"16px"},mobileOffset:{top:"calc(12px + var(--tmex-safe-area-top))",right:"12px",bottom:"12px",left:"12px"},toastOptions:{duration:6e3}})]})}));export{r1 as $,Yz as A,Jp as B,Yx as C,x4 as D,Qt as E,h3 as F,vc as G,wc as H,cH as I,r4 as J,w1 as K,l3 as L,hH as M,K4 as N,Wr as O,E_ as P,s4 as Q,o4 as R,OH as S,yH as T,sg as U,If as V,a1 as W,Hx as X,Sr as Y,gr as Z,t3 as _,dC as a,Jn as a$,ht as a0,JE as a1,p1 as a2,CH as a3,Ls as a4,$e as a5,As as a6,y4 as a7,t1 as a8,n1 as a9,gH as aA,Gz as aB,Wz as aC,Bz as aD,Ni as aE,RH as aF,Vl as aG,EH as aH,AE as aI,TH as aJ,Rf as aK,dH as aL,FL as aM,Lr as aN,Ux as aO,KN as aP,IN as aQ,Sp as aR,OU as aS,YL as aT,Ip as aU,rL as aV,cc as aW,zm as aX,ql as aY,sC as aZ,zn as a_,Ia as aa,p4 as ab,Ye as ac,af as ad,nc as ae,Gp as af,Vx as ag,pH as ah,qx as ai,i1 as aj,WE as ak,Kz as al,fg as am,uH as an,fH as ao,s1 as ap,MH as aq,nk as ar,bn as as,Ba as at,Pa as au,qt as av,Tz as aw,zs as ax,zz as ay,Tt as az,ec as b,zw as b0,wH as b1,uL as b2,xH as b3,bH as b4,SH as b5,qu as b6,Ua as b7,A_ as b8,kf as b9,mx as bA,DH as bB,XU as bC,Fx as bD,kt as bE,Ro as bF,v4 as bG,_E as bH,S4 as bI,Xp as ba,rc as bb,mL as bc,tg as bd,dp as be,la as bf,HS as bg,Tm as bh,er as bi,dL as bj,hL as bk,Xx as bl,e1 as bm,Hz as bn,AH as bo,HE as bp,_z as bq,QL as br,NU as bs,ls as bt,wn as bu,eg as bv,T1 as bw,vH as bx,Jl as by,JO as bz,br as c,vw as d,TC as e,uf as f,i4 as g,ZL as h,An as i,V as j,st as k,E4 as l,JL as m,l4 as n,$L as o,Br as p,mH as q,x as r,Wp as s,yA as t,gc as u,Eo as v,tc as w,yc as x,dn as y,Bf as z};
|
|
215
|
-
//# sourceMappingURL=index-
|
|
214
|
+
`);return V.jsxs(Sp,{variant:"outline",title:f,className:st("h-5 gap-1 border-red-400/40 bg-red-500/10 px-1.5 text-[10px] font-normal text-red-700 dark:text-red-300",n),children:[V.jsx(BN,{className:"h-3 w-3"}),V.jsx("span",{className:"truncate max-w-[120px]",children:u})]})}return null}const R1=x.createContext(void 0);function Ff(){const t=x.useContext(R1);if(t===void 0)throw new Error(Br(53));return t}let Mf=(function(t){return t.scrollAreaCornerHeight="--scroll-area-corner-height",t.scrollAreaCornerWidth="--scroll-area-corner-width",t})({});const $u=500,hw=16;function Ur(t,n,a){if(!t)return 0;const i=getComputedStyle(t),s=a==="x"?"Inline":"Block";return a==="x"&&n==="margin"?parseFloat(i[`${n}InlineStart`])*2:parseFloat(i[`${n}${s}Start`])+parseFloat(i[`${n}${s}End`])}let MU=(function(t){return t.orientation="data-orientation",t.hovering="data-hovering",t.scrolling="data-scrolling",t.hasOverflowX="data-has-overflow-x",t.hasOverflowY="data-has-overflow-y",t.overflowXStart="data-overflow-x-start",t.overflowXEnd="data-overflow-x-end",t.overflowYStart="data-overflow-y-start",t.overflowYEnd="data-overflow-y-end",t})({});const Zu="base-ui-disable-scrollbar",T1={className:Zu,getElement(t){return V.jsx("style",{nonce:t,href:Zu,precedence:"base-ui:low",children:`.${Zu}{scrollbar-width:none}.${Zu}::-webkit-scrollbar{display:none}`})}};let os=(function(t){return t.scrolling="data-scrolling",t.hasOverflowX="data-has-overflow-x",t.hasOverflowY="data-has-overflow-y",t.overflowXStart="data-overflow-x-start",t.overflowXEnd="data-overflow-x-end",t.overflowYStart="data-overflow-y-start",t.overflowYEnd="data-overflow-y-end",t})({});const dg={hasOverflowX:t=>t?{[os.hasOverflowX]:""}:null,hasOverflowY:t=>t?{[os.hasOverflowY]:""}:null,overflowXStart:t=>t?{[os.overflowXStart]:""}:null,overflowXEnd:t=>t?{[os.overflowXEnd]:""}:null,overflowYStart:t=>t?{[os.overflowYStart]:""}:null,overflowYEnd:t=>t?{[os.overflowYEnd]:""}:null,cornerHidden:()=>null},AU=x.createContext(void 0),DU={disableStyleElements:!1};function NU(){return x.useContext(AU)??DU}const _U={x:0,y:0},mw={width:0,height:0},kU={xStart:!1,xEnd:!1,yStart:!1,yEnd:!1},LU={x:!1,y:!1,corner:!1},zU=x.forwardRef(function(n,a){const{render:i,className:s,overflowEdgeThreshold:l,...u}=n,f=UU(l),m=yc(),h=Ia(),y=Ia(),{nonce:p,disableStyleElements:b}=NU(),[v,S]=x.useState(!1),[E,R]=x.useState(!1),[T,N]=x.useState(!1),[_,M]=x.useState(!1),[P,H]=x.useState(mw),[O,L]=x.useState(mw),[K,re]=x.useState(kU),[I,A]=x.useState(LU),j=x.useRef(null),W=x.useRef(null),X=x.useRef(null),D=x.useRef(null),F=x.useRef(null),z=x.useRef(null),ie=x.useRef(null),le=x.useRef(!1),k=x.useRef(0),Q=x.useRef(0),$=x.useRef(0),ce=x.useRef(0),fe=x.useRef("vertical"),pe=x.useRef(_U),ye=Ye(Ce=>{const Te=Ce.x-pe.current.x,Pe=Ce.y-pe.current.y;pe.current=Ce,Pe!==0&&(N(!0),h.start($u,()=>{N(!1)})),Te!==0&&(R(!0),y.start($u,()=>{R(!1)}))}),Oe=Ye(Ce=>{Ce.button===0&&(le.current=!0,k.current=Ce.clientY,Q.current=Ce.clientX,fe.current=Ce.currentTarget.getAttribute(MU.orientation),W.current&&($.current=W.current.scrollTop,ce.current=W.current.scrollLeft),F.current&&fe.current==="vertical"&&F.current.setPointerCapture(Ce.pointerId),z.current&&fe.current==="horizontal"&&z.current.setPointerCapture(Ce.pointerId))}),we=Ye(Ce=>{if(!le.current)return;const Te=Ce.clientY-k.current,Pe=Ce.clientX-Q.current;if(W.current){const tt=W.current.scrollHeight,Fe=W.current.clientHeight,mt=W.current.scrollWidth,lt=W.current.clientWidth;if(F.current&&X.current&&fe.current==="vertical"){const Ve=Ur(X.current,"padding","y"),zt=Ur(F.current,"margin","y"),Wt=F.current.offsetHeight,ln=X.current.offsetHeight-Wt-Ve-zt,it=Te/ln;W.current.scrollTop=$.current+it*(tt-Fe),Ce.preventDefault(),N(!0),h.start($u,()=>{N(!1)})}if(z.current&&D.current&&fe.current==="horizontal"){const Ve=Ur(D.current,"padding","x"),zt=Ur(z.current,"margin","x"),Wt=z.current.offsetWidth,ln=D.current.offsetWidth-Wt-Ve-zt,it=Pe/ln;W.current.scrollLeft=ce.current+it*(mt-lt),Ce.preventDefault(),R(!0),y.start($u,()=>{R(!1)})}}}),Qe=Ye(Ce=>{le.current=!1,F.current&&fe.current==="vertical"&&F.current.releasePointerCapture(Ce.pointerId),z.current&&fe.current==="horizontal"&&z.current.releasePointerCapture(Ce.pointerId)});function Je(Ce){M(Ce.pointerType==="touch")}function se(Ce){if(Je(Ce),Ce.pointerType!=="touch"){const Te=Tt(j.current,Ce.target);S(Te)}}const ge=x.useMemo(()=>({scrolling:E||T,hasOverflowX:!I.x,hasOverflowY:!I.y,overflowXStart:K.xStart,overflowXEnd:K.xEnd,overflowYStart:K.yStart,overflowYEnd:K.yEnd,cornerHidden:I.corner}),[E,T,I.x,I.y,I.corner,K]),ve={role:"presentation",onPointerEnter:se,onPointerMove:se,onPointerDown:Je,onPointerLeave(){S(!1)},style:{position:"relative",[Mf.scrollAreaCornerHeight]:`${P.height}px`,[Mf.scrollAreaCornerWidth]:`${P.width}px`}},He=dn("div",n,{state:ge,ref:[a,j],props:[ve,u],stateAttributesMapping:dg}),Ee=x.useMemo(()=>({handlePointerDown:Oe,handlePointerMove:we,handlePointerUp:Qe,handleScroll:ye,cornerSize:P,setCornerSize:H,thumbSize:O,setThumbSize:L,touchModality:_,cornerRef:ie,scrollingX:E,setScrollingX:R,scrollingY:T,setScrollingY:N,hovering:v,setHovering:S,viewportRef:W,rootRef:j,scrollbarYRef:X,scrollbarXRef:D,thumbYRef:F,thumbXRef:z,rootId:m,hiddenState:I,setHiddenState:A,overflowEdges:K,setOverflowEdges:re,viewportState:ge,overflowEdgeThreshold:f}),[Oe,we,Qe,ye,P,O,_,E,R,T,N,v,S,m,I,K,ge,f]);return V.jsxs(R1.Provider,{value:Ee,children:[!b&&T1.getElement(p),He]})});function UU(t){if(typeof t=="number"){const n=Math.max(0,t);return{xStart:n,xEnd:n,yStart:n,yEnd:n}}return{xStart:Math.max(0,(t==null?void 0:t.xStart)||0),xEnd:Math.max(0,(t==null?void 0:t.xEnd)||0),yStart:Math.max(0,(t==null?void 0:t.yStart)||0),yEnd:Math.max(0,(t==null?void 0:t.yEnd)||0)}}const HU=x.createContext(void 0);function ls(t,n=Number.MIN_SAFE_INTEGER,a=Number.MAX_SAFE_INTEGER){return Math.max(n,Math.min(t,a))}function jU(t,n){if(typeof IntersectionObserver>"u")return()=>{};const a=new IntersectionObserver(i=>{i.forEach(s=>{s.intersectionRatio>0&&(n(),a.disconnect())})});return a.observe(t),()=>{a.disconnect()}}let Oi=(function(t){return t.scrollAreaOverflowXStart="--scroll-area-overflow-x-start",t.scrollAreaOverflowXEnd="--scroll-area-overflow-x-end",t.scrollAreaOverflowYStart="--scroll-area-overflow-y-start",t.scrollAreaOverflowYEnd="--scroll-area-overflow-y-end",t})({});const pw=1;function gw(t,n){if(n<=0)return 0;const a=ls(t,0,n),i=a,s=n-a,l=i<=pw,u=s<=pw;return l&&u?i<=s?0:n:l?0:u?n:a}let yw=!1;function BU(){yw||eg||(typeof CSS<"u"&&"registerProperty"in CSS&&[Oi.scrollAreaOverflowXStart,Oi.scrollAreaOverflowXEnd,Oi.scrollAreaOverflowYStart,Oi.scrollAreaOverflowYEnd].forEach(t=>{try{CSS.registerProperty({name:t,syntax:"<length>",inherits:!1,initialValue:"0px"})}catch{}}),yw=!0)}const PU=x.forwardRef(function(n,a){const{render:i,className:s,...l}=n,{viewportRef:u,scrollbarYRef:f,scrollbarXRef:m,thumbYRef:h,thumbXRef:y,cornerRef:p,cornerSize:b,setCornerSize:v,setThumbSize:S,rootId:E,setHiddenState:R,hiddenState:T,handleScroll:N,setHovering:_,setOverflowEdges:M,overflowEdges:P,overflowEdgeThreshold:H,scrollingX:O,scrollingY:L}=Ff(),K=fg(),re=x.useRef(!0),I=Ia(),A=Ia(),j=Ye(()=>{const ie=u.current,le=f.current,k=m.current,Q=h.current,$=y.current,ce=p.current;if(!ie)return;const fe=ie.scrollHeight,pe=ie.scrollWidth,ye=ie.clientHeight,Oe=ie.clientWidth,we=ie.scrollTop,Qe=ie.scrollLeft;if(fe===0||pe===0)return;const Je=ye>=fe,se=Oe>=pe,ge=Oe/pe,ve=ye/fe,He=Math.max(0,pe-Oe),Ee=Math.max(0,fe-ye);let Ce=0,Te=0;if(!se){let Xe=0;K==="rtl"?Xe=ls(-Qe,0,He):Xe=ls(Qe,0,He),Ce=gw(Xe,He),Te=He-Ce}const Pe=Je?0:ls(we,0,Ee),tt=Je?0:gw(Pe,Ee),Fe=Je?0:Ee-tt,mt=se?0:Oe,lt=Je?0:ye;let Ve=0,zt=0;!se&&!Je&&(Ve=(le==null?void 0:le.offsetWidth)||0,zt=(k==null?void 0:k.offsetHeight)||0);const Wt=b.width===0&&b.height===0,ln=Wt?Ve:0,it=Wt?zt:0,Ct=Ur(k,"padding","x"),At=Ur(le,"padding","y"),hn=Ur($,"margin","x"),mn=Ur(Q,"margin","y"),Bn=mt-Ct-hn,Dt=lt-At-mn,xn=k?Math.min(k.offsetWidth-ln,Bn):Bn,$t=le?Math.min(le.offsetHeight-it,Dt):Dt,rr=Math.max(hw,xn*ge),Yn=Math.max(hw,$t*ve);if(S(Xe=>Xe.height===Yn&&Xe.width===rr?Xe:{width:rr,height:Yn}),le&&Q){const Xe=le.offsetHeight-Yn-At-mn,vt=fe-ye,Yt=vt===0?0:we/vt,je=Math.min(Xe,Math.max(0,Yt*Xe));Q.style.transform=`translate3d(0,${je}px,0)`}if(k&&$){const Xe=k.offsetWidth-rr-Ct-hn,vt=pe-Oe,Yt=vt===0?0:Qe/vt,je=K==="rtl"?ls(Yt*Xe,-Xe,0):ls(Yt*Xe,0,Xe);$.style.transform=`translate3d(${je}px,0,0)`}const nt=[[Oi.scrollAreaOverflowXStart,Ce],[Oi.scrollAreaOverflowXEnd,Te],[Oi.scrollAreaOverflowYStart,tt],[Oi.scrollAreaOverflowYEnd,Fe]];for(const[Xe,vt]of nt)ie.style.setProperty(Xe,`${vt}px`);ce&&(se||Je?v({width:0,height:0}):!se&&!Je&&v({width:Ve,height:zt})),R(Xe=>{const vt=Je||se;return Xe.y===Je&&Xe.x===se&&Xe.corner===vt?Xe:{y:Je,x:se,corner:vt}});const yt={xStart:!se&&Ce>H.xStart,xEnd:!se&&Te>H.xEnd,yStart:!Je&&tt>H.yStart,yEnd:!Je&&Fe>H.yEnd};M(Xe=>Xe.xStart===yt.xStart&&Xe.xEnd===yt.xEnd&&Xe.yStart===yt.yStart&&Xe.yEnd===yt.yEnd?Xe:yt)});$e(()=>{if(!u.current)return;BU();let ie=!1;return jU(u.current,()=>{if(!ie){ie=!0;return}j()})},[j,u]),$e(()=>{queueMicrotask(j)},[j,T,K]),$e(()=>{var ie;(ie=u.current)!=null&&ie.matches(":hover")&&_(!0)},[u,_]),x.useEffect(()=>{const ie=u.current;if(typeof ResizeObserver>"u"||!ie)return;let le=!1;const k=new ResizeObserver(()=>{if(!le){le=!0;return}j()});return k.observe(ie),A.start(0,()=>{const Q=ie.getAnimations({subtree:!0});Q.length!==0&&Promise.allSettled(Q.map($=>$.finished)).then(j).catch(()=>{})}),()=>{k.disconnect(),A.clear()}},[j,u,A]);function W(){re.current=!1}const X={role:"presentation",...E&&{"data-id":`${E}-viewport`},...(!T.x||!T.y)&&{tabIndex:0},className:T1.className,style:{overflow:"scroll"},onScroll(){u.current&&(j(),re.current||N({x:u.current.scrollLeft,y:u.current.scrollTop}),I.start(100,()=>{re.current=!0}))},onWheel:W,onTouchMove:W,onPointerMove:W,onPointerEnter:W,onKeyDown:W},D=x.useMemo(()=>({scrolling:O||L,hasOverflowX:!T.x,hasOverflowY:!T.y,overflowXStart:P.xStart,overflowXEnd:P.xEnd,overflowYStart:P.yStart,overflowYEnd:P.yEnd,cornerHidden:T.corner}),[O,L,T.x,T.y,T.corner,P]),F=dn("div",n,{ref:[a,u],state:D,props:[X,l],stateAttributesMapping:dg}),z=x.useMemo(()=>({computeThumbPosition:j}),[j]);return V.jsx(HU.Provider,{value:z,children:F})}),C1=x.createContext(void 0);function IU(){const t=x.useContext(C1);if(t===void 0)throw new Error(Br(54));return t}let Af=(function(t){return t.scrollAreaThumbHeight="--scroll-area-thumb-height",t.scrollAreaThumbWidth="--scroll-area-thumb-width",t})({});const FU=x.forwardRef(function(n,a){const{render:i,className:s,orientation:l="vertical",keepMounted:u=!1,...f}=n,{hovering:m,scrollingX:h,scrollingY:y,hiddenState:p,overflowEdges:b,scrollbarYRef:v,scrollbarXRef:S,viewportRef:E,thumbYRef:R,thumbXRef:T,handlePointerDown:N,handlePointerUp:_,rootId:M,thumbSize:P}=Ff(),H={hovering:m,scrolling:{horizontal:h,vertical:y}[l],orientation:l,hasOverflowX:!p.x,hasOverflowY:!p.y,overflowXStart:b.xStart,overflowXEnd:b.xEnd,overflowYStart:b.yStart,overflowYEnd:b.yEnd,cornerHidden:p.corner},O=fg();x.useEffect(()=>{const j=E.current,W=l==="vertical"?v.current:S.current;if(!W)return;function X(D){if(!(!j||!W||D.ctrlKey)){if(D.preventDefault(),l==="vertical"){if(j.scrollTop===0&&D.deltaY<0)return}else if(j.scrollLeft===0&&D.deltaX<0)return;if(l==="vertical"){if(j.scrollTop===j.scrollHeight-j.clientHeight&&D.deltaY>0)return}else if(j.scrollLeft===j.scrollWidth-j.clientWidth&&D.deltaX>0)return;l==="vertical"?j.scrollTop+=D.deltaY:j.scrollLeft+=D.deltaX}}return W.addEventListener("wheel",X,{passive:!1}),()=>{W.removeEventListener("wheel",X)}},[l,S,v,E]);const L={...M&&{"data-id":`${M}-scrollbar`},onPointerDown(j){if(j.button===0&&j.currentTarget===j.target&&E.current){if(R.current&&v.current&&l==="vertical"){const W=Ur(R.current,"margin","y"),X=Ur(v.current,"padding","y"),D=R.current.offsetHeight,F=v.current.getBoundingClientRect(),z=j.clientY-F.top-D/2-X+W/2,ie=E.current.scrollHeight,le=E.current.clientHeight,k=v.current.offsetHeight-D-X-W,$=z/k*(ie-le);E.current.scrollTop=$}if(T.current&&S.current&&l==="horizontal"){const W=Ur(T.current,"margin","x"),X=Ur(S.current,"padding","x"),D=T.current.offsetWidth,F=S.current.getBoundingClientRect(),z=j.clientX-F.left-D/2-X+W/2,ie=E.current.scrollWidth,le=E.current.clientWidth,k=S.current.offsetWidth-D-X-W,Q=z/k;let $;O==="rtl"?($=(1-Q)*(ie-le),E.current.scrollLeft<=0&&($=-$)):$=Q*(ie-le),E.current.scrollLeft=$}N(j)}},onPointerUp:_,style:{position:"absolute",touchAction:"none",WebkitUserSelect:"none",userSelect:"none",...l==="vertical"&&{top:0,bottom:`var(${Mf.scrollAreaCornerHeight})`,insetInlineEnd:0,[Af.scrollAreaThumbHeight]:`${P.height}px`},...l==="horizontal"&&{insetInlineStart:0,insetInlineEnd:`var(${Mf.scrollAreaCornerWidth})`,bottom:0,[Af.scrollAreaThumbWidth]:`${P.width}px`}}},K=dn("div",n,{ref:[a,l==="vertical"?v:S],state:H,props:[L,f],stateAttributesMapping:dg}),re=x.useMemo(()=>({orientation:l}),[l]),I=l==="vertical"?p.y:p.x;return u||!I?V.jsx(C1.Provider,{value:re,children:K}):null}),YU=x.forwardRef(function(n,a){const{render:i,className:s,...l}=n,{thumbYRef:u,thumbXRef:f,handlePointerDown:m,handlePointerMove:h,handlePointerUp:y,setScrollingX:p,setScrollingY:b}=Ff(),{orientation:v}=IU();return dn("div",n,{ref:[a,v==="vertical"?u:f],state:{orientation:v},props:[{onPointerDown:m,onPointerMove:h,onPointerUp(R){v==="vertical"&&b(!1),v==="horizontal"&&p(!1),y(R)},style:{...v==="vertical"&&{height:`var(${Af.scrollAreaThumbHeight})`},...v==="horizontal"&&{width:`var(${Af.scrollAreaThumbWidth})`}}},l]})}),VU=x.forwardRef(function(n,a){const{render:i,className:s,...l}=n,{cornerRef:u,cornerSize:f,hiddenState:m}=Ff(),h=dn("div",n,{ref:[a,u],props:[{style:{position:"absolute",bottom:0,insetInlineEnd:0,width:f.width,height:f.height}},l]});return m.corner?null:h});function qU({className:t,children:n,...a}){return V.jsxs(zU,{"data-slot":"scroll-area",className:st("relative",t),...a,children:[V.jsx(PU,{"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:n}),V.jsx(GU,{}),V.jsx(VU,{})]})}function GU({className:t,orientation:n="vertical",...a}){return V.jsx(FU,{"data-slot":"scroll-area-scrollbar","data-orientation":n,orientation:n,className:st("data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-l data-vertical:border-l-transparent flex touch-none p-px transition-colors select-none","[@media(any-pointer:coarse)]:hidden",t),...a,children:V.jsx(YU,{"data-slot":"scroll-area-thumb",className:"rounded-full bg-border relative flex-1"})})}function DH(t){return t}function XU(t){return encodeURIComponent(t)}function KU(){const{t}=gc(),n=Ya(),a=mx(),{isMobile:i,setOpenMobile:s}=Us(),{toggleDevice:l}=AN(),u=Ql("/devices/:deviceId/windows/:windowId/panes/:paneId",n.pathname),f=u==null?void 0:u.params.deviceId,m=u==null?void 0:u.params.windowId,h=u==null?void 0:u.params.paneId,y=Lr(I=>I.snapshots),p=Lr(I=>I.connectedDevices),b=Lr(I=>I.closeWindow),v=Lr(I=>I.closePane),S=ec(I=>{var A;return((A=I.settings)==null?void 0:A.language)??"en_US"}),{data:E}=TC({queryKey:["devices"],queryFn:async()=>{const I=await fetch("/api/devices");if(!I.ok)throw new Error("Failed to fetch devices");return I.json()},throwOnError:!1}),R=Lr(I=>I.hydrateDeviceErrors);x.useEffect(()=>{E!=null&&E.devices&&R(E.devices.map(I=>({deviceId:I.id,lastError:I.lastError??null,lastErrorType:I.lastErrorType??null})))},[E,R]);const T=x.useCallback((I,A)=>{a(I,{replace:(A==null?void 0:A.replace)??!0}),i&&s(!1)},[a,i,s]),N=x.useCallback((I,A,j)=>{M.current=null,window.dispatchEvent(new CustomEvent("tmex:user-initiated-selection",{detail:{deviceId:I,windowId:A,paneId:j}})),T(`/devices/${I}/windows/${A}/panes/${XU(j)}`)},[T]),_=Lr(I=>I.selectWindow),M=x.useRef(null);x.useEffect(()=>{var z,ie;const I=M.current;if(!I)return;if(Date.now()-I.at>5e3){M.current=null;return}const{deviceId:A,windowId:j}=I,W=y[A],X=(z=W==null?void 0:W.session)==null?void 0:z.windows;if(!X)return;const D=X.find(le=>le.id===j);if(!((ie=D==null?void 0:D.panes)!=null&&ie.length))return;M.current=null;const F=D.panes.find(le=>le.active)??D.panes[0];N(A,j,F.id)},[y,N]);const P=x.useCallback((I,A,j)=>{_(I,A);const W=j.find(X=>X.active)??j[0];W?(N(I,A,W.id),M.current=null):M.current={deviceId:I,windowId:A,at:Date.now()}},[N,_]),H=x.useCallback((I,A)=>{A?I===f&&T("/devices"):T(`/devices/${I}`),l(I,A)},[l,f,T]),O=x.useCallback((I,A)=>{I===f&&A===m&&T("/devices"),b(I,A)},[b,f,m,T]),L=x.useCallback(I=>{Lr.getState().createWindow(I)},[]),K=(E==null?void 0:E.devices)??[],re=x.useMemo(()=>[...K].sort((I,A)=>I.name.localeCompare(A.name,yA(S),{numeric:!0,sensitivity:"base"})),[K,S]);return V.jsxs(E1,{className:"flex flex-col flex-1 min-h-0",children:[V.jsx(pU,{children:t("device.devices")}),V.jsx(qU,{className:"flex-1 min-h-0",children:V.jsxs("div",{className:"space-y-1.5 py-2",children:[re.map(I=>{var A,j;return V.jsx(QU,{device:I,windows:((j=(A=y[I.id])==null?void 0:A.session)==null?void 0:j.windows)??null,isConnected:p.has(I.id),selectedWindowId:m,selectedPaneId:h,onConnectToggle:()=>H(I.id,p.has(I.id)),onCreateWindow:L,onCloseWindow:O,onClosePane:v,onPaneClick:N,onWindowClick:P},I.id)}),re.length===0&&V.jsx("div",{className:"text-center text-sm text-muted-foreground py-4",children:t("sidebar.noDevices")})]})})]})}function QU({device:t,windows:n,isConnected:a,selectedWindowId:i,selectedPaneId:s,onConnectToggle:l,onCreateWindow:u,onCloseWindow:f,onClosePane:m,onPaneClick:h,onWindowClick:y}){const{t:p}=gc(),b=t.type==="local"?Ux:IN;return V.jsxs("div",{"data-testid":`device-item-${t.id}`,className:st("rounded-lg border overflow-hidden text-select-none",a?"bg-card/50":"bg-muted/20"),onClick:a?void 0:l,children:[V.jsx("div",{className:"px-3 py-1 bg-muted/30 border-b",children:V.jsxs("div",{className:"flex items-center gap-2",children:[V.jsx(b,{className:"ml-1 h-4 w-4 text-muted-foreground shrink-0"}),V.jsx("span",{className:"flex-1 truncate text-xs font-medium text-select-none",children:t.name}),V.jsx(OU,{deviceId:t.id,className:"shrink-0"}),V.jsx("div",{className:st("h-2 w-2 rounded-full shrink-0",a?"bg-emerald-500":"bg-gray-400")}),V.jsx(Jp,{variant:"ghost",size:"icon-xs",onClick:v=>{v.stopPropagation(),l()},"data-testid":a?`device-disconnect-${t.id}`:`device-connect-${t.id}`,title:p(a?"device.disconnect":"device.connect"),children:a?V.jsx(WN,{className:"h-3.5 w-3.5 text-orange-500"}):V.jsx(ZN,{className:"h-3.5 w-3.5 text-emerald-500"})})]})}),a&&V.jsxs("div",{className:"p-1 space-y-0.5",children:[!n&&V.jsx("div",{className:"text-xs text-muted-foreground px-2 py-1.5 text-center",children:p("device.connecting")}),(n==null?void 0:n.length)===0&&V.jsx("div",{className:"text-xs text-muted-foreground px-2 py-1.5 text-center",children:p("window.noWindows")}),n==null?void 0:n.map(v=>V.jsx(WU,{deviceId:t.id,window:v,isSelected:v.id===i,selectedPaneId:s,onPaneClick:h,onWindowClick:y,onCloseWindow:f,onClosePane:m},v.id)),V.jsxs("button",{type:"button","data-testid":`window-create-${t.id}`,onPointerDown:v=>v.stopPropagation(),onMouseDown:v=>v.stopPropagation(),onClick:()=>u(t.id),className:"w-full flex items-center gap-2 px-2 py-1.5 rounded-md text-left transition-colors text-muted-foreground hover:text-foreground hover:bg-accent/30 border border-dashed border-border/50 hover:border-border",children:[V.jsx(KN,{className:"h-3.5 w-3.5 shrink-0"}),V.jsx("span",{className:"text-xs",children:p("window.new")})]})]})]})}function WU({deviceId:t,window:n,isSelected:a,selectedPaneId:i,onPaneClick:s,onWindowClick:l,onCloseWindow:u,onClosePane:f}){const m=n.panes.length>1,h=n.panes.find(p=>p.id===i),y=a&&!!h;return V.jsxs("div",{className:"space-y-0.5",children:[V.jsxs("div",{className:"group relative",children:[V.jsxs("button",{type:"button",onClick:()=>l(t,n.id,n.panes),"data-testid":`window-item-${n.id}`,className:st("w-full flex items-center gap-2 px-2 py-1.5 rounded-md text-left transition-colors pr-7",y?"bg-primary/15 text-primary border border-primary/30":"hover:bg-accent/50 text-foreground border border-transparent"),children:[V.jsx(Sp,{variant:y?"default":"outline",className:"h-5 text-[10px] px-1.5 shrink-0",children:n.index}),V.jsx("span",{className:"flex-1 truncate text-xs font-medium",children:n.name}),n.active&&V.jsx("span",{className:st("h-1.5 w-1.5 rounded-full shrink-0",y?"bg-foreground/80":"bg-foreground/50")})]}),V.jsx("button",{type:"button",onClick:p=>{p.stopPropagation(),u(t,n.id)},className:st("absolute right-1.5 top-1/2 -translate-y-1/2 h-5 w-5 flex items-center justify-center rounded text-muted-foreground hover:bg-background hover:text-foreground transition-opacity",y?"opacity-100":"opacity-0 group-hover:opacity-100"),title:"Close window",children:V.jsx("span",{className:"text-xs leading-none",children:"×"})})]}),m&&V.jsx("div",{className:"ml-4 pl-2 border-l border-border/50 space-y-0.5",children:n.panes.map(p=>{const b=p.id===i;return V.jsxs("div",{className:"group relative",children:[V.jsxs("button",{type:"button",onClick:()=>s(t,n.id,p.id),"data-testid":`pane-item-${p.id}`,className:st("w-full flex items-center gap-2 px-2 py-1 rounded-md text-left transition-colors pr-7",b?"bg-primary/10 text-primary border border-primary/20":"hover:bg-accent/30 text-muted-foreground border border-transparent"),children:[V.jsx("span",{className:"text-[10px] font-mono opacity-60 w-4",children:p.index}),V.jsx("span",{className:"flex-1 truncate text-xs",children:p.title||`Pane ${p.index}`}),p.active&&V.jsx("span",{className:st("h-1 w-1 rounded-full shrink-0",b?"bg-foreground/80":"bg-foreground/50")})]}),V.jsx("button",{type:"button",onClick:v=>{v.stopPropagation(),f(t,n.id,p.id,n.panes.length)},className:st("absolute right-1.5 top-1/2 -translate-y-1/2 h-5 w-5 flex items-center justify-center rounded text-muted-foreground hover:bg-background hover:text-foreground transition-opacity",b?"opacity-100":"opacity-0 group-hover:opacity-100"),title:"Close pane",children:V.jsx("span",{className:"text-xs leading-none",children:"×"})})]},p.id)})})]})}function $U(t,n){let a;try{a=t()}catch{return}return{getItem:s=>{var l;const u=m=>m===null?null:JSON.parse(m,void 0),f=(l=a.getItem(s))!=null?l:null;return f instanceof Promise?f.then(u):u(f)},setItem:(s,l)=>a.setItem(s,JSON.stringify(l,void 0)),removeItem:s=>a.removeItem(s)}}const wp=t=>n=>{try{const a=t(n);return a instanceof Promise?a:{then(i){return wp(i)(a)},catch(i){return this}}}catch(a){return{then(i){return this},catch(i){return wp(i)(a)}}}},ZU=(t,n)=>(a,i,s)=>{let l={storage:$U(()=>window.localStorage),partialize:R=>R,version:0,merge:(R,T)=>({...T,...R}),...n},u=!1,f=0;const m=new Set,h=new Set;let y=l.storage;if(!y)return t((...R)=>{console.warn(`[zustand persist middleware] Unable to update item '${l.name}', the given storage is currently unavailable.`),a(...R)},i,s);const p=()=>{const R=l.partialize({...i()});return y.setItem(l.name,{state:R,version:l.version})},b=s.setState;s.setState=(R,T)=>(b(R,T),p());const v=t((...R)=>(a(...R),p()),i,s);s.getInitialState=()=>v;let S;const E=()=>{var R,T;if(!y)return;const N=++f;u=!1,m.forEach(M=>{var P;return M((P=i())!=null?P:v)});const _=((T=l.onRehydrateStorage)==null?void 0:T.call(l,(R=i())!=null?R:v))||void 0;return wp(y.getItem.bind(y))(l.name).then(M=>{if(M)if(typeof M.version=="number"&&M.version!==l.version){if(l.migrate){const P=l.migrate(M.state,M.version);return P instanceof Promise?P.then(H=>[!0,H]):[!0,P]}console.error("State loaded from storage couldn't be migrated since no migrate function was provided")}else return[!1,M.state];return[!1,void 0]}).then(M=>{var P;if(N!==f)return;const[H,O]=M;if(S=l.merge(O,(P=i())!=null?P:v),a(S,!0),H)return p()}).then(()=>{N===f&&(_==null||_(S,void 0),S=i(),u=!0,h.forEach(M=>M(S)))}).catch(M=>{N===f&&(_==null||_(void 0,M))})};return s.persist={setOptions:R=>{l={...l,...R},R.storage&&(y=R.storage)},clearStorage:()=>{y==null||y.removeItem(l.name)},getOptions:()=>l,rehydrate:()=>E(),hasHydrated:()=>u,onHydrate:R=>(m.add(R),()=>{m.delete(R)}),onFinishHydration:R=>(h.add(R),()=>{h.delete(R)})},l.skipHydration||E(),S||v},JU=ZU,vw=Vp()(JU(t=>({sidebarCollapsed:!1,inputMode:"direct",editorSendWithEnter:!0,theme:"dark",editorHistory:[],editorDrafts:{},setSidebarCollapsed:n=>t({sidebarCollapsed:n}),setInputMode:n=>t({inputMode:n}),setEditorSendWithEnter:n=>t({editorSendWithEnter:n}),setTheme:n=>t({theme:n}),addEditorHistory:n=>t(a=>({editorHistory:[n,...a.editorHistory.slice(0,49)]})),setEditorDraft:(n,a)=>t(i=>({editorDrafts:{...i.editorDrafts,[n]:a}})),removeEditorDraft:n=>t(a=>{if(!(n in a.editorDrafts))return a;const i={...a.editorDrafts};return delete i[n],{editorDrafts:i}})}),{name:"tmex-ui",partialize:t=>({sidebarCollapsed:t.sidebarCollapsed,inputMode:t.inputMode,editorSendWithEnter:t.editorSendWithEnter,theme:t.theme,editorHistory:t.editorHistory,editorDrafts:t.editorDrafts})}));function eH(){const{t}=gc(),{isMobile:n,setOpenMobile:a}=Us(),i=ec(y=>{var p;return(p=y.settings)==null?void 0:p.siteName}),s=ec(y=>y.fetchSettings);x.useEffect(()=>{s()},[s]);const l=i??"tmex",u=vw(y=>y.theme),f=vw(y=>y.setTheme),m=u==="dark",h=()=>{const y=m?"light":"dark";f(y),document.documentElement.classList.toggle("dark",y==="dark")};return V.jsxs("div",{className:"flex items-center gap-2 px-2",children:[V.jsxs(Of,{to:"/",className:"flex flex-1 items-center gap-3 overflow-hidden",children:[V.jsx("div",{className:"h-8 w-8 shrink-0 overflow-hidden rounded-lg border-2 border-black",children:V.jsx("img",{src:"/logo.png",alt:l,className:"h-full w-full object-cover"})}),V.jsx("span",{className:"truncate text-sm font-semibold tracking-tight",children:l})]}),V.jsx("button",{type:"button",onClick:h,className:"inline-flex h-8 w-8 shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-sidebar-accent hover:text-foreground","aria-label":t(m?"settings.themeLight":"settings.themeDark"),title:t(m?"settings.themeLight":"settings.themeDark"),children:m?V.jsx(a_,{className:"h-4 w-4"}):V.jsx(VN,{className:"h-4 w-4"})}),V.jsx(Of,{to:"/settings",className:"inline-flex h-8 w-8 mr-[-8px] shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-sidebar-accent hover:text-foreground","aria-label":t("sidebar.settings"),title:t("sidebar.settings"),children:V.jsx(n_,{className:"h-4 w-4"})}),n&&V.jsx("button",{type:"button","data-testid":"mobile-sidebar-close",onClick:()=>a(!1),className:"inline-flex h-8 w-8 mr-[-8px] shrink-0 items-center justify-center rounded-md text-muted-foreground hover:bg-sidebar-accent hover:text-foreground","aria-label":t("nav.closeSidebar"),title:t("nav.closeSidebar"),children:V.jsx(Hx,{className:"h-4 w-4"})})]})}const tH=[{title:"nav.manageDevices",url:"/devices",icon:Ux}];function nH({...t}){return V.jsxs(cU,{variant:"inset",...t,children:[V.jsx("div",{className:"h-[var(--tmex-safe-area-top)]"}),V.jsx(dU,{className:"py-3",children:V.jsx(eH,{})}),V.jsx(mU,{className:"flex flex-col",children:V.jsx(KU,{})}),V.jsxs(hU,{children:[V.jsx(RU,{items:tH}),V.jsx("div",{className:"h-[var(--tmex-safe-area-bottom)]"})]})]})}function rH(){var t;try{const n=localStorage.getItem("tmex-ui");if(!n){document.documentElement.classList.add("dark");return}const a=JSON.parse(n),i=(t=a==null?void 0:a.state)==null?void 0:t.theme,s=i==="dark"||i===void 0;document.documentElement.classList.toggle("dark",s)}catch{document.documentElement.classList.add("dark")}}rH();const aH=new uC({defaultOptions:{queries:{staleTime:5e3,retry:1}}});function iH(){return V.jsx(DN,{children:V.jsxs(lU,{children:[V.jsx(nH,{}),V.jsxs(fU,{className:"h-dvh overflow-hidden",children:[V.jsx("div",{className:"h-[var(--tmex-safe-area-top)]"}),V.jsx(w2,{}),V.jsx("div",{className:"h-[var(--tmex-safe-area-bottom)]"})]})]})})}function Ll({moduleLoader:t}){const[n,a]=x.useState(null),i=JO();x.useEffect(()=>{t().then(a)},[t]);const s=n==null?void 0:n.default,l=n==null?void 0:n.PageTitle,u=n==null?void 0:n.PageActions;return V.jsxs(V.Fragment,{children:[V.jsxs("header",{className:"sticky top-0 z-10 flex h-12 md:h-16 shrink-0 items-center justify-between gap-2 bg-background/95 backdrop-blur-sm","data-testid":"mobile-topbar",children:[V.jsxs("div",{className:"flex min-w-0 flex-1 items-center gap-2 px-4",children:[V.jsx(uU,{className:"-ml-1 shrink-0","data-testid":"mobile-sidebar-open"}),V.jsx(YL,{orientation:"vertical",className:"mr-2 shrink-0 data-[orientation=vertical]:h-4"}),V.jsx("span",{className:"min-w-0 flex-1 truncate text-sm font-semibold",children:l?V.jsx(l,{...i}):""})]}),V.jsx("div",{className:"flex shrink-0 items-center gap-1 px-4",children:u&&V.jsx(u,{...i})})]}),V.jsx("div",{className:"flex min-h-0 flex-1 flex-col gap-4 !pt-0 p-2 md:p-4 mb-2",children:V.jsx("div",{className:"bg-muted/50 min-h-0 flex-1 overflow-auto overscroll-auto rounded-xl [-webkit-overflow-scrolling:touch]",children:s?V.jsx(s,{}):null})})]})}const oH=()=>Ep(()=>import("./SettingsPage-CyMAR4ec.js"),__vite__mapDeps([0,1,2,3])),bw=()=>Ep(()=>import("./DevicesPage-ImyBiwEt.js"),__vite__mapDeps([4,1,2])),Sw=()=>Ep(()=>import("./DevicePage-BGPoxSI1.js"),__vite__mapDeps([5,2,3])),sH=G2([{path:"/",Component:iH,children:[{index:!0,element:V.jsx(Ll,{moduleLoader:bw})},{path:"devices",element:V.jsx(Ll,{moduleLoader:bw})},{path:"devices/:deviceId",element:V.jsx(Ll,{moduleLoader:Sw})},{path:"devices/:deviceId/windows/:windowId/panes/:paneId",element:V.jsx(Ll,{moduleLoader:Sw})},{path:"settings",element:V.jsx(Ll,{moduleLoader:oH})}]}]),O1=document.getElementById("root");if(!O1)throw new Error("Root element not found");NC.createRoot(O1).render(V.jsx(x.StrictMode,{children:V.jsxs(hC,{client:aH,children:[V.jsx(v2,{router:sH}),V.jsx(NM,{richColors:!0,position:"top-right",closeButton:!0,offset:{top:"calc(16px + var(--tmex-safe-area-top))",right:"16px",bottom:"16px",left:"16px"},mobileOffset:{top:"calc(12px + var(--tmex-safe-area-top))",right:"12px",bottom:"12px",left:"12px"},toastOptions:{duration:6e3}})]})}));export{r1 as $,Yz as A,Jp as B,Yx as C,x4 as D,Qt as E,h3 as F,vc as G,wc as H,cH as I,r4 as J,w1 as K,l3 as L,hH as M,K4 as N,Wr as O,E_ as P,s4 as Q,o4 as R,OH as S,yH as T,sg as U,If as V,a1 as W,Hx as X,Sr as Y,gr as Z,t3 as _,dC as a,Jn as a$,ht as a0,JE as a1,p1 as a2,CH as a3,Ls as a4,$e as a5,As as a6,y4 as a7,t1 as a8,n1 as a9,gH as aA,Gz as aB,Wz as aC,Bz as aD,Ni as aE,RH as aF,Vl as aG,EH as aH,AE as aI,TH as aJ,Rf as aK,dH as aL,FL as aM,Lr as aN,Ux as aO,KN as aP,IN as aQ,Sp as aR,OU as aS,YL as aT,Ip as aU,rL as aV,cc as aW,zm as aX,ql as aY,sC as aZ,zn as a_,Ia as aa,p4 as ab,Ye as ac,af as ad,nc as ae,Gp as af,Vx as ag,pH as ah,qx as ai,i1 as aj,WE as ak,Kz as al,fg as am,uH as an,fH as ao,s1 as ap,MH as aq,nk as ar,bn as as,Ba as at,Pa as au,qt as av,Tz as aw,zs as ax,zz as ay,Tt as az,ec as b,zw as b0,wH as b1,uL as b2,xH as b3,bH as b4,SH as b5,qu as b6,Ua as b7,A_ as b8,kf as b9,mx as bA,DH as bB,XU as bC,Fx as bD,kt as bE,Ro as bF,v4 as bG,_E as bH,S4 as bI,Xp as ba,rc as bb,mL as bc,tg as bd,dp as be,la as bf,HS as bg,Tm as bh,er as bi,dL as bj,hL as bk,Xx as bl,e1 as bm,Hz as bn,AH as bo,HE as bp,_z as bq,QL as br,NU as bs,ls as bt,wn as bu,eg as bv,T1 as bw,vH as bx,Jl as by,JO as bz,br as c,vw as d,TC as e,uf as f,i4 as g,ZL as h,An as i,V as j,st as k,E4 as l,JL as m,l4 as n,$L as o,Br as p,mH as q,x as r,Wp as s,yA as t,gc as u,Eo as v,tc as w,yc as x,dn as y,Bf as z};
|
|
215
|
+
//# sourceMappingURL=index-qxM5NVWd.js.map
|