opencami 1.3.1 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/_sessionKey-DB95zj1L.js +97 -0
- package/dist/client/assets/agents-LFrWe-HX.js +2 -0
- package/dist/client/assets/agents-screen-CEBBk1yO.js +1 -0
- package/dist/client/assets/bots-CxDwf_WK.js +2 -0
- package/dist/client/assets/bots-screen-D6qma1wK.js +1 -0
- package/dist/client/assets/button-Il3CHIzX.js +1 -0
- package/dist/client/assets/{connect-B8sfEQyb.js → connect-D3baVDFL.js} +1 -1
- package/dist/client/assets/file-explorer-screen-rtV6n-5_.js +1 -0
- package/dist/client/assets/files-DMemuq9D.js +2 -0
- package/dist/client/assets/{index-BfhiL2JN.js → index-ByIsZcHh.js} +1 -1
- package/dist/client/assets/index-CVV4XiZo.js +153 -0
- package/dist/client/assets/keyboard-shortcuts-dialog-DXC0YHoy.js +1 -0
- package/dist/client/assets/{main-BlX7CS2-.js → main-CkIF0soY.js} +9 -9
- package/dist/client/assets/opencami-logo-CIxSO1oo.js +1 -0
- package/dist/client/assets/{react-ONC2UaeC.js → react-BhVdgA5r.js} +1 -1
- package/dist/client/assets/search-dialog-I1jJplIh.js +1 -0
- package/dist/client/assets/session-export-dialog-CH5unryw.js +1 -0
- package/dist/client/assets/settings-dialog-B8v-GVJ8.js +1 -0
- package/dist/client/assets/styles-BaTVzdPa.css +1 -0
- package/dist/client/assets/switch-sQnv1YsK.js +1 -0
- package/dist/client/assets/tooltip-j_viC_EE.js +1 -0
- package/dist/client/assets/use-file-explorer-state-BUH-u7Jv.js +12 -0
- package/dist/client/assets/useButton-9VAzplAB.js +9 -0
- package/dist/client/assets/useControlled-Y306krcC.js +1 -0
- package/dist/client/assets/useMutation-0WgW4xQJ.js +1 -0
- package/dist/server/assets/{_sessionKey-ZF1_Jqbt.js → _sessionKey-BhFH4uWY.js} +360 -62
- package/dist/server/assets/_tanstack-start-manifest_v-BaIrL1VQ.js +4 -0
- package/dist/server/assets/bots-6ryCIgKh.js +11 -0
- package/dist/server/assets/bots-screen-DS_ZF9Ec.js +417 -0
- package/dist/server/assets/{connect-CIDOw12K.js → connect-B8jpGQGK.js} +1 -1
- package/dist/server/assets/{file-explorer-screen-BzvgvV8m.js → file-explorer-screen-DCfS_Ajx.js} +76 -20
- package/dist/server/assets/{files-BxvRDIWU.js → files-D2GIrPF4.js} +1 -1
- package/dist/server/assets/{index-CTTNe_Sf.js → index-B2JHn34C.js} +1 -1
- package/dist/server/assets/{index-CmbNTqa2.js → index-BNSsDaLb.js} +71 -35
- package/dist/server/assets/{keyboard-shortcuts-dialog-7OEtXUlW.js → keyboard-shortcuts-dialog-CqIm8aYF.js} +1 -1
- package/dist/server/assets/{router-D5D0udHV.js → router-Dme7USeO.js} +219 -74
- package/dist/server/assets/{search-dialog-C8Oy-FBs.js → search-dialog-DG0D9KRN.js} +97 -54
- package/dist/server/assets/{session-export-dialog-DRVbC8Q-.js → session-export-dialog-DLPZVlQV.js} +1 -1
- package/dist/server/assets/{settings-dialog-CQFuAt9B.js → settings-dialog-BaGT4e5l.js} +36 -7
- package/dist/server/assets/{use-file-explorer-state-DMHdtb7D.js → use-file-explorer-state-DfAKF2gZ.js} +12 -0
- package/dist/server/server.js +2 -2
- package/package.json +1 -1
- package/dist/client/assets/_sessionKey-CaDTbjXx.js +0 -97
- package/dist/client/assets/agents-CGtqdyBi.js +0 -2
- package/dist/client/assets/agents-screen-DzIMcmHe.js +0 -1
- package/dist/client/assets/button-BcnCTjUT.js +0 -1
- package/dist/client/assets/file-explorer-screen-hjggspl-.js +0 -1
- package/dist/client/assets/files-BHXmS1J5.js +0 -2
- package/dist/client/assets/index-CxJ4zG_W.js +0 -153
- package/dist/client/assets/keyboard-shortcuts-dialog-DEknElTu.js +0 -1
- package/dist/client/assets/opencami-logo-5KynvViW.js +0 -1
- package/dist/client/assets/search-dialog-40gW31ca.js +0 -1
- package/dist/client/assets/session-export-dialog-DSRWU2YO.js +0 -1
- package/dist/client/assets/settings-dialog-AsvYzSBc.js +0 -1
- package/dist/client/assets/styles-BGTCU8mq.css +0 -1
- package/dist/client/assets/switch-dAvZcYA-.js +0 -1
- package/dist/client/assets/use-file-explorer-state-C6lX-h0n.js +0 -12
- package/dist/client/assets/useButton-DhneLsMA.js +0 -9
- package/dist/server/assets/_tanstack-start-manifest_v-C2FijMus.js +0 -4
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as e}from"./main-BlX7CS2-.js";import{D as l,a as c,b as d,c as p,d as m}from"./use-file-explorer-state-C6lX-h0n.js";import{B as x}from"./button-BcnCTjUT.js";import"./useButton-DhneLsMA.js";import"./react-ONC2UaeC.js";const s=typeof navigator<"u"&&navigator.platform.toUpperCase().indexOf("MAC")>=0,h=[{keys:[s?"⌘":"Ctrl","K"],description:"Start a new chat"},{keys:[s?"⌘":"Ctrl","F"],description:"Search current conversation"},{keys:[s?"⌘":"Ctrl","Shift","F"],description:"Search all conversations"},{keys:[s?"⌘":"Ctrl","/"],description:"Focus message input"},{keys:["Esc"],description:"Close dialogs / Clear focus"},{keys:[s?"⌘":"Ctrl","Shift","C"],description:"Copy last response"},{keys:["?"],description:"Show this help dialog"}];function g({open:t,onOpenChange:a}){return e.jsx(l,{open:t,onOpenChange:a,children:e.jsx(c,{className:"w-[min(500px,92vw)]",children:e.jsxs("div",{className:"p-6",children:[e.jsx(d,{className:"mb-2",children:"Keyboard Shortcuts"}),e.jsx(p,{className:"mb-6",children:"Speed up your workflow with these keyboard shortcuts"}),e.jsx("div",{className:"space-y-3",children:h.map((r,o)=>e.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-primary-100 last:border-0",children:[e.jsx("span",{className:"text-sm text-primary-700",children:r.description}),e.jsx("div",{className:"flex items-center gap-1",children:r.keys.map((n,i)=>e.jsxs("span",{className:"inline-flex items-center",children:[e.jsx("kbd",{className:"px-2 py-1 text-xs font-semibold text-primary-800 bg-primary-100 border border-primary-200 rounded",children:n}),i<r.keys.length-1&&e.jsx("span",{className:"mx-1 text-primary-400",children:"+"})]},i))})]},o))}),e.jsx("div",{className:"mt-6 flex justify-end",children:e.jsx(m,{children:e.jsx(x,{variant:"outline",children:"Close"})})})]})})})}export{g as KeyboardShortcutsDialog};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,j as n}from"./main-BlX7CS2-.js";function p({controlled:e,default:s,name:c,state:d="value"}){const{current:a}=t.useRef(e!==void 0),[r,o]=t.useState(s),l=a?e:r,i=t.useCallback(u=>{a||o(u)},[]);return[l,i]}function f({className:e}){return n.jsx("div",{className:e,children:n.jsx("span",{className:"text-xl",children:"🦎"})})}function b({className:e}){return n.jsx("span",{className:e,style:{background:"linear-gradient(90deg, #10b981, #14b8a6, #06b6d4, #8b5cf6, #ec4899)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent",backgroundClip:"text",fontWeight:600},children:"OpenCami"})}export{f as O,b as a,p as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{u as A,r as i,c as L,j as e}from"./main-BlX7CS2-.js";import{H as C,A as K,V as Q,r as M,c as R}from"./button-BcnCTjUT.js";import{D as z,a as $}from"./use-file-explorer-state-C6lX-h0n.js";import{c as D}from"./_sessionKey-CaDTbjXx.js";import"./useButton-DhneLsMA.js";import"./react-ONC2UaeC.js";import"./opencami-logo-5KynvViW.js";import"./index-CxJ4zG_W.js";function V(t){return Array.isArray(t)?t.map(s=>s?.type==="text"&&typeof s.text=="string"?s.text:"").filter(Boolean).join(" "):""}function E(t){const s=V(t.content);return s||(typeof t.text=="string"?t.text:"")}function B({sessions:t,currentFriendlyId:s,currentSessionKey:d}){const h=A(),[o,n]=i.useState(""),[u,f]=i.useState(!1),[y,c]=i.useState([]),N=i.useCallback(p=>{if(!p.trim()||!s||!d)return[];const k=D.history(s,d),v=h.getQueryData(k);if(!v?.messages)return[];const l=p.toLowerCase(),g=[],m=t.find(a=>a.friendlyId===s),I=m?.label||m?.title||m?.derivedTitle||s;return v.messages.forEach((a,b)=>{const w=E(a);if(!w)return;const r=w.toLowerCase().indexOf(l);r!==-1&&g.push({sessionKey:d,friendlyId:s,sessionTitle:I,messageIndex:b,messageRole:a.role||"unknown",messageText:w,matchStart:r,matchEnd:r+p.length,timestamp:a.timestamp})}),g},[s,d,h,t]),j=i.useCallback(async p=>{if(!p.trim())return c([]),[];f(!0);const k=p.toLowerCase(),v=[];try{return await Promise.all(t.map(async l=>{try{const g=D.history(l.friendlyId,l.key);let m=h.getQueryData(g);if(!m){const a=new URLSearchParams({sessionKey:l.key,friendlyId:l.friendlyId,limit:"200"}),b=await fetch(`/api/history?${a.toString()}`);b.ok&&(m=await b.json(),h.setQueryData(g,m))}if(!m?.messages)return;const I=l.label||l.title||l.derivedTitle||l.friendlyId;m.messages.forEach((a,b)=>{const w=E(a);if(!w)return;const r=w.toLowerCase().indexOf(k);r!==-1&&v.push({sessionKey:l.key,friendlyId:l.friendlyId,sessionTitle:I,messageIndex:b,messageRole:a.role||"unknown",messageText:w,matchStart:r,matchEnd:r+p.length,timestamp:a.timestamp})})}catch{}})),v.sort((l,g)=>(g.timestamp||0)-(l.timestamp||0)),c(v),v}finally{f(!1)}},[t,h]),x=i.useCallback(()=>{n(""),c([])},[]);return{query:o,setQuery:n,isSearching:u,globalResults:y,searchCurrentConversation:N,searchAllSessions:j,clearSearch:x}}function H(t,s){if(!s.trim())return null;const d=t.toLowerCase(),h=s.toLowerCase(),o=d.indexOf(h);if(o===-1)return null;const n=40,u=80;let f=Math.max(0,o-n),y=Math.min(t.length,o+s.length+u);if(f>0){const x=t.indexOf(" ",f);x!==-1&&x<o&&(f=x+1)}if(y<t.length){const x=t.lastIndexOf(" ",y);x>o+s.length&&(y=x)}const c=(f>0?"...":"")+t.slice(f,o),N=t.slice(o,o+s.length),j=t.slice(o+s.length,y)+(y<t.length?"...":"");return{before:c,match:N,after:j}}function q({open:t,onOpenChange:s,sessions:d,currentFriendlyId:h,currentSessionKey:o,mode:n,onJumpToMessage:u}){const f=L(),y=i.useRef(null),[c,N]=i.useState(""),[j,x]=i.useState(0),p=i.useRef(null),{isSearching:k,globalResults:v,searchCurrentConversation:l,searchAllSessions:g,clearSearch:m}=B({sessions:d,currentFriendlyId:h,currentSessionKey:o}),I=i.useMemo(()=>n!=="current"?[]:l(c),[n,c,l]),a=n==="global"?v:I;i.useEffect(()=>{if(n!=="global")return;if(!c.trim()){m();return}const r=setTimeout(()=>{g(c)},300);return()=>clearTimeout(r)},[c,n,g,m]),i.useEffect(()=>{t&&(N(""),x(0),m(),setTimeout(()=>{y.current?.focus()},50))},[t,m]),i.useEffect(()=>{x(0)},[a]),i.useEffect(()=>{if(!p.current)return;const r=p.current.querySelector('[data-selected="true"]');r&&r.scrollIntoView({block:"nearest"})},[j]);const b=i.useCallback(r=>{s(!1),n==="current"&&u?u(r):f({to:"/chat/$sessionKey",params:{sessionKey:r.friendlyId}})},[n,f,u,s]),w=i.useCallback(r=>{switch(r.key){case"ArrowDown":r.preventDefault(),x(S=>Math.min(S+1,a.length-1));break;case"ArrowUp":r.preventDefault(),x(S=>Math.max(S-1,0));break;case"Enter":r.preventDefault(),a[j]&&b(a[j]);break;case"Escape":r.preventDefault(),s(!1);break}},[a,j,b,s]),T=n==="global"?"Search across all conversations...":"Search in this conversation...";return e.jsx(z,{open:t,onOpenChange:s,children:e.jsxs($,{className:"w-[min(600px,92vw)] max-h-[80vh] flex flex-col overflow-hidden",children:[e.jsxs("div",{className:"flex items-center gap-3 p-4 border-b border-primary-200",children:[e.jsx(C,{icon:K,size:20,className:"text-primary-500 shrink-0"}),e.jsx("input",{ref:y,type:"text",value:c,onChange:r=>N(r.target.value),onKeyDown:w,placeholder:T,className:"flex-1 bg-transparent text-primary-900 placeholder:text-primary-400 outline-none text-base"}),c&&e.jsx("button",{type:"button",onClick:()=>{N(""),m()},className:"p-1 hover:bg-primary-200 rounded transition-colors",children:e.jsx(C,{icon:Q,size:16,className:"text-primary-500"})}),k&&e.jsx(C,{icon:M,size:20,className:"text-primary-500 animate-spin"})]}),e.jsx("div",{ref:p,className:"flex-1 overflow-y-auto p-2 min-h-0",children:c.trim()?a.length===0&&!k?e.jsxs("div",{className:"text-center text-primary-500 py-8 text-sm",children:['No results found for "',c,'"']}):e.jsx("div",{className:"flex flex-col gap-1",children:a.map((r,S)=>e.jsx(P,{result:r,query:c,isSelected:S===j,showSessionTitle:n==="global",onClick:()=>b(r),onMouseEnter:()=>x(S)},`${r.friendlyId}-${r.messageIndex}`))}):e.jsx("div",{className:"text-center text-primary-500 py-8 text-sm",children:n==="global"?"Type to search across all your conversations":"Type to search within this conversation"})}),e.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-t border-primary-200 text-xs text-primary-500",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("kbd",{className:"px-1.5 py-0.5 bg-primary-100 rounded text-[10px]",children:"↑"}),e.jsx("kbd",{className:"px-1.5 py-0.5 bg-primary-100 rounded text-[10px]",children:"↓"}),"to navigate"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("kbd",{className:"px-1.5 py-0.5 bg-primary-100 rounded text-[10px]",children:"Enter"}),"to select"]}),e.jsxs("span",{className:"flex items-center gap-1",children:[e.jsx("kbd",{className:"px-1.5 py-0.5 bg-primary-100 rounded text-[10px]",children:"Esc"}),"to close"]})]}),a.length>0&&e.jsxs("span",{children:[a.length," result",a.length!==1?"s":""]})]})]})})}function P({result:t,query:s,isSelected:d,showSessionTitle:h,onClick:o,onMouseEnter:n}){const u=H(t.messageText,s),f=t.messageRole==="assistant"?"Assistant":"You";return e.jsxs("button",{type:"button",onClick:o,onMouseEnter:n,"data-selected":d,className:R("w-full text-left px-3 py-2 rounded-lg transition-colors",d?"bg-primary-200":"hover:bg-primary-100"),children:[h&&e.jsx("div",{className:"text-xs font-medium text-primary-600 mb-1 truncate",children:t.sessionTitle}),e.jsx("div",{className:"flex items-center gap-2 mb-0.5",children:e.jsx("span",{className:R("text-[10px] font-medium px-1.5 py-0.5 rounded",t.messageRole==="assistant"?"bg-blue-100 text-blue-700":"bg-green-100 text-green-700"),children:f})}),u&&e.jsxs("div",{className:"text-sm text-primary-700 line-clamp-2",children:[e.jsx("span",{children:u.before}),e.jsx("mark",{className:"bg-yellow-200 text-primary-900 rounded px-0.5",children:u.match}),e.jsx("span",{children:u.after})]})]})}export{q as SearchDialog};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as m,j as e}from"./main-BlX7CS2-.js";import{D as x,a as p,b as h,c as u,d as j}from"./use-file-explorer-state-C6lX-h0n.js";import{B as v}from"./button-BcnCTjUT.js";import"./useButton-DhneLsMA.js";import"./react-ONC2UaeC.js";const f=[{value:"markdown",label:"Markdown (.md)",description:"Nicely formatted with headers and sections"},{value:"json",label:"JSON (.json)",description:"Full data with metadata"},{value:"txt",label:"Plain Text (.txt)",description:"Simple text format"}];function C({open:r,onOpenChange:t,sessionTitle:l,onExport:i,onCancel:o}){const[s,n]=m.useState("markdown"),c=()=>{i(s)};return e.jsx(x,{open:r,onOpenChange:t,children:e.jsx(p,{children:e.jsxs("div",{className:"p-4",children:[e.jsx(h,{className:"mb-1",children:"Export Conversation"}),e.jsxs(u,{className:"mb-4",children:['Export "',l,'" in your preferred format']}),e.jsx("div",{className:"space-y-2 mb-4",children:f.map(a=>e.jsxs("label",{className:"flex items-start gap-3 p-3 rounded-lg border border-primary-200 cursor-pointer hover:bg-primary-100 transition-colors",children:[e.jsx("input",{type:"radio",name:"export-format",value:a.value,checked:s===a.value,onChange:d=>n(d.target.value),className:"mt-1"}),e.jsxs("div",{className:"flex-1",children:[e.jsx("div",{className:"font-medium text-sm text-primary-900",children:a.label}),e.jsx("div",{className:"text-xs text-primary-600",children:a.description})]})]},a.value))}),e.jsxs("div",{className:"flex justify-end gap-2",children:[e.jsx(j,{onClick:o,children:"Cancel"}),e.jsx(v,{onClick:c,children:"Export"})]})]})})})}export{C as SessionExportDialog};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as a,j as e}from"./main-BlX7CS2-.js";import{f as Ee,a as ae,b as Oe,a4 as le,a3 as Ke,c as Q,B as ee,H as J,V as De,ac as He,ad as _e,ae as Be,af as We,ag as Fe,s as Ve,ah as Ye,ai as $e,aj as Ue,ak as Ge,al as qe,o as Je,J as he,am as Xe}from"./button-BcnCTjUT.js";import{C as Re,s as Ze,t as fe,A as Qe,v as et,w as me,x as tt,y as nt,z as at,B as ie,E as st,F as it,G as te,H as oe,I as ot,J as rt,K as lt,L as pe,N as re,O as ct,P as dt,V as ut,Q as ht,R as ft,S as mt,T as pt,D as gt,a as xt,b as bt,c as vt,d as ge}from"./use-file-explorer-state-C6lX-h0n.js";import{S as V}from"./switch-dAvZcYA-.js";import{u as yt}from"./opencami-logo-5KynvViW.js";import{ab as jt,R as St,a$ as xe,m as ke,c as Z,e as ce,a as wt,W as Ct,an as be,l as Tt,g as It,d as ve,n as ye,i as Pt,b0 as Et}from"./useButton-DhneLsMA.js";import{u as Rt,a as kt,g as je}from"./_sessionKey-CaDTbjXx.js";import{d as Mt}from"./index-CxJ4zG_W.js";import"./react-ONC2UaeC.js";function Nt(){const[,n]=a.useState({});return a.useCallback(()=>{n({})},[])}function Se(n){const r=jt(n);let d=parseFloat(r.width)||0,f=parseFloat(r.height)||0;const l=St(n),s=l?n.offsetWidth:d,c=l?n.offsetHeight:f;return(xe(d)!==s||xe(f)!==c)&&(d=s,f=c),{width:d,height:f}}const Me=a.createContext(void 0);function ne(){const n=a.useContext(Me);if(n===void 0)throw new Error(Ee(64));return n}let At=(function(n){return n.activationDirection="data-activation-direction",n.orientation="data-orientation",n})({});const de={tabActivationDirection:n=>({[At.activationDirection]:n})},Lt=a.forwardRef(function(r,d){const{className:f,defaultValue:l=0,onValueChange:s,orientation:c="horizontal",render:T,value:E,...v}=r,I=ke(),y=Object.hasOwn(r,"defaultValue"),m=a.useRef([]),[O,z]=a.useState(()=>new Map),[j,S]=yt({controlled:E,default:l,name:"Tabs",state:"value"}),C=E!==void 0,[g,u]=a.useState(()=>new Map),[R,x]=a.useState("none"),b=Z((i,w)=>{s?.(i,w),!w.isCanceled&&(S(i),x(w.activationDirection))}),p=Z((i,w)=>{z(h=>{if(h.get(i)===w)return h;const P=new Map(h);return P.set(i,w),P})}),N=Z((i,w)=>{z(h=>{if(!h.has(i)||h.get(i)!==w)return h;const P=new Map(h);return P.delete(i),P})}),o=a.useCallback(i=>O.get(i),[O]),k=a.useCallback(i=>{for(const w of g.values())if(i===w?.value)return w?.id},[g]),K=a.useCallback(i=>{if(i===void 0)return null;for(const[w,h]of g.entries())if(h!=null&&i===(h.value??h.index))return w;return null},[g]),A=a.useMemo(()=>({direction:I,getTabElementBySelectedValue:K,getTabIdByPanelValue:k,getTabPanelIdByValue:o,onValueChange:b,orientation:c,registerMountedTabPanel:p,setTabMap:u,unregisterMountedTabPanel:N,tabActivationDirection:R,value:j}),[I,K,k,o,b,c,p,u,N,R,j]),M=a.useMemo(()=>{for(const i of g.values())if(i!=null&&i.value===j)return i},[g,j]),L=a.useMemo(()=>{for(const i of g.values())if(i!=null&&!i.disabled)return i.value},[g]);ce(()=>{if(C||g.size===0)return;const i=M?.disabled,w=M==null&&j!==null;if(y&&i&&j===l||!i&&!w)return;const P=L??null;j!==P&&(S(P),x("none"))},[l,L,y,C,M,x,S,g,j]);const B=ae("div",r,{state:{orientation:c,tabActivationDirection:R},ref:d,props:v,stateAttributesMapping:de});return e.jsx(Me.Provider,{value:A,children:e.jsx(Re,{elementsRef:m,children:B})})}),Ne="data-composite-item-active",Ae=a.createContext(void 0);function Le(){const n=a.useContext(Ae);if(n===void 0)throw new Error(Ee(65));return n}const zt=a.forwardRef(function(r,d){const{className:f,disabled:l=!1,render:s,value:c,id:T,nativeButton:E=!0,...v}=r,{value:I,getTabPanelIdByValue:y,orientation:m}=ne(),{activateOnFocus:O,highlightedTabIndex:z,onTabActivation:j,setHighlightedTabIndex:S,tabsListElement:C}=Le(),g=wt(T),u=a.useMemo(()=>({disabled:l,id:g,value:c}),[l,g,c]),{compositeProps:R,compositeRef:x,index:b}=Ze({metadata:u}),p=c===I,N=a.useRef(!1);ce(()=>{if(N.current){N.current=!1;return}if(!(p&&b>-1&&z!==b))return;const h=C;if(h!=null){const P=Ct(be(h));if(P&&Tt(h,P))return}l||S(b)},[p,b,z,S,l,C]);const{getButtonProps:o,buttonRef:k}=It({disabled:l,native:E,focusableWhenDisabled:!0}),K=y(c),A=a.useRef(!1),M=a.useRef(!1);function L(h){p||l||j(c,ve(ye,h.nativeEvent,void 0,{activationDirection:"none"}))}function _(h){p||(b>-1&&!l&&S(b),!l&&O&&(!A.current||A.current&&M.current)&&j(c,ve(ye,h.nativeEvent,void 0,{activationDirection:"none"})))}function B(h){if(p||l)return;A.current=!0;function P(){A.current=!1,M.current=!1}(!h.button||h.button===0)&&(M.current=!0,be(h.currentTarget).addEventListener("pointerup",P,{once:!0}))}const i=a.useMemo(()=>({disabled:l,active:p,orientation:m}),[l,p,m]);return ae("button",r,{state:i,ref:[d,k,x],props:[R,{role:"tab","aria-controls":K,"aria-selected":p,id:g,onClick:L,onFocus:_,onPointerDown:B,[Ne]:p?"":void 0,onKeyDownCapture(){N.current=!0}},v,o]})}),Ot='!function(){const t=document.currentScript.previousElementSibling;if(!t)return;const e=t.closest(\'[role="tablist"]\');if(!e)return;const i=e.querySelector("[data-active]");if(!i)return;if(0===i.offsetWidth||0===e.offsetWidth)return;let o=0,n=0,h=0,l=0,r=0,f=0;function s(t){const e=getComputedStyle(t);let i=parseFloat(e.width)||0,o=parseFloat(e.height)||0;return(Math.round(i)!==t.offsetWidth||Math.round(o)!==t.offsetHeight)&&(i=t.offsetWidth,o=t.offsetHeight),{width:i,height:o}}if(null!=i&&null!=e){const{width:t,height:c}=s(i),{width:u,height:d}=s(e),a=i.getBoundingClientRect(),g=e.getBoundingClientRect(),p=u>0?g.width/u:1,b=d>0?g.height/d:1;if(Math.abs(p)>Number.EPSILON&&Math.abs(b)>Number.EPSILON){const t=a.left-g.left,i=a.top-g.top;o=t/p+e.scrollLeft-e.clientLeft,h=i/b+e.scrollTop-e.clientTop}else o=i.offsetLeft,h=i.offsetTop;r=t,f=c,n=e.scrollWidth-o-r,l=e.scrollHeight-h-f}function c(e,i){t.style.setProperty(`--active-tab-${e}`,`${i}px`)}c("left",o),c("right",n),c("top",h),c("bottom",l),c("width",r),c("height",f),r>0&&f>0&&t.removeAttribute("hidden")}();';let X=(function(n){return n.activeTabLeft="--active-tab-left",n.activeTabRight="--active-tab-right",n.activeTabTop="--active-tab-top",n.activeTabBottom="--active-tab-bottom",n.activeTabWidth="--active-tab-width",n.activeTabHeight="--active-tab-height",n})({});const Kt={...de,activeTabPosition:()=>null,activeTabSize:()=>null},Dt=a.forwardRef(function(r,d){const{className:f,render:l,renderBeforeHydration:s=!1,...c}=r,{nonce:T}=Rt(),{getTabElementBySelectedValue:E,orientation:v,tabActivationDirection:I,value:y}=ne(),{tabsListElement:m}=Le(),[O,z]=a.useState(!1),{value:j}=ne();Pt(()=>z(!0));const S=Nt();a.useEffect(()=>{if(y!=null&&m!=null&&typeof ResizeObserver<"u"){const L=new ResizeObserver(S);return L.observe(m),()=>{L.disconnect()}}},[y,m,S]);let C=0,g=0,u=0,R=0,x=0,b=0,p=!1;if(y!=null&&m!=null){const L=E(y);if(p=!0,L!=null){const{width:_,height:B}=Se(L),{width:i,height:w}=Se(m),h=L.getBoundingClientRect(),P=m.getBoundingClientRect(),Y=i>0?P.width/i:1,G=w>0?P.height/w:1;if(Math.abs(Y)>Number.EPSILON&&Math.abs(G)>Number.EPSILON){const W=h.left-P.left,U=h.top-P.top;C=W/Y+m.scrollLeft-m.clientLeft,u=U/G+m.scrollTop-m.clientTop}else C=L.offsetLeft,u=L.offsetTop;x=_,b=B,g=m.scrollWidth-C-x,R=m.scrollHeight-u-b}}const N=a.useMemo(()=>p?{left:C,right:g,top:u,bottom:R}:null,[C,g,u,R,p]),o=a.useMemo(()=>p?{width:x,height:b}:null,[x,b,p]),k=a.useMemo(()=>{if(p)return{[X.activeTabLeft]:`${C}px`,[X.activeTabRight]:`${g}px`,[X.activeTabTop]:`${u}px`,[X.activeTabBottom]:`${R}px`,[X.activeTabWidth]:`${x}px`,[X.activeTabHeight]:`${b}px`}},[C,g,u,R,x,b,p]),K=p&&x>0&&b>0,A=a.useMemo(()=>({orientation:v,activeTabPosition:N,activeTabSize:o,tabActivationDirection:I}),[v,N,o,I]),M=ae("span",r,{state:A,ref:d,props:[{role:"presentation",style:k,hidden:!K},c,{suppressHydrationWarning:!0}],stateAttributesMapping:Kt});return j==null?null:e.jsxs(a.Fragment,{children:[M,!O&&s&&e.jsx("script",{nonce:T,dangerouslySetInnerHTML:{__html:Ot},suppressHydrationWarning:!0})]})});function Ht(n){return n==null||n.hasAttribute("disabled")||n.getAttribute("aria-disabled")==="true"}const _t=[];function Bt(n){const{itemSizes:r,cols:d=1,loopFocus:f=!0,dense:l=!1,orientation:s="both",direction:c,highlightedIndex:T,onHighlightedIndexChange:E,rootRef:v,enableHomeAndEndKeys:I=!1,stopEventPropagation:y=!1,disabledIndices:m,modifierKeys:O=_t}=n,[z,j]=a.useState(0),S=d>1,C=a.useRef(null),g=Oe(C,v),u=a.useRef([]),R=a.useRef(!1),x=T??z,b=Z((o,k=!1)=>{if((E??j)(o),k){const K=u.current[o];fe(C.current,K,c,s)}}),p=Z(o=>{if(o.size===0||R.current)return;R.current=!0;const k=Array.from(o.keys()),K=k.find(M=>M?.hasAttribute(Ne))??null,A=K?k.indexOf(K):-1;A!==-1&&b(A),fe(C.current,K,c,s)}),N=a.useMemo(()=>({"aria-orientation":s==="both"?void 0:s,ref:g,onFocus(o){!C.current||!me(o.target)||o.target.setSelectionRange(0,o.target.value.length??0)},onKeyDown(o){const k=I?Qe:et;if(!k.has(o.key)||Wt(o,O)||!C.current)return;const A=c==="rtl",M=A?pe:oe,L={horizontal:M,vertical:te,both:M}[s],_=A?oe:pe,B={horizontal:_,vertical:re,both:_}[s];if(me(o.target)&&!Ht(o.target)){const F=o.target.selectionStart,W=o.target.selectionEnd,U=o.target.value??"";if(F==null||o.shiftKey||F!==W||o.key!==B&&F<U.length||o.key!==L&&F>0)return}let i=x;const w=tt(u,m),h=nt(u,m);if(S){const F=r||Array.from({length:u.current.length},()=>({width:1,height:1})),W=at(F,d,l),U=W.findIndex(t=>t!=null&&!ie(u,t,m)),se=W.reduce((t,H,q)=>H!=null&&!ie(u,H,m)?q:t,-1);i=W[st({current:W.map(t=>t?u.current[t]:null)},{event:o,orientation:s,loopFocus:f,cols:d,disabledIndices:ot([...m||u.current.map((t,H)=>ie(u,H)?H:void 0),void 0],W),minIndex:U,maxIndex:se,prevIndex:it(x>h?w:x,F,W,d,o.key===te?"bl":o.key===oe?"tr":"tl"),rtl:A})]}const P={horizontal:[M],vertical:[te],both:[M,te]}[s],Y={horizontal:[_],vertical:[re],both:[_,re]}[s],G=S?k:{horizontal:I?ft:mt,vertical:I?ut:ht,both:k}[s];I&&(o.key===rt?i=w:o.key===lt&&(i=h)),i===x&&(P.includes(o.key)||Y.includes(o.key))&&(f&&i===h&&P.includes(o.key)?i=w:f&&i===w&&Y.includes(o.key)?i=h:i=ct(u,{startingIndex:i,decrement:Y.includes(o.key),disabledIndices:m})),i!==x&&!dt(u,i)&&(y&&o.stopPropagation(),G.has(o.key)&&o.preventDefault(),b(i,!0),queueMicrotask(()=>{u.current[i]?.focus()}))}}),[d,l,c,m,u,I,x,S,r,f,g,O,b,s,y]);return a.useMemo(()=>({props:N,highlightedIndex:x,onHighlightedIndexChange:b,elementsRef:u,disabledIndices:m,onMapChange:p,relayKeyboardEvent:N.onKeyDown}),[N,x,b,u,m,p])}function Wt(n,r){for(const d of pt.values())if(!r.includes(d)&&n.getModifierState(d))return!0;return!1}function Ft(n){const{render:r,className:d,refs:f=le,props:l=le,state:s=Ke,stateAttributesMapping:c,highlightedIndex:T,onHighlightedIndexChange:E,orientation:v,dense:I,itemSizes:y,loopFocus:m,cols:O,enableHomeAndEndKeys:z,onMapChange:j,stopEventPropagation:S=!0,rootRef:C,disabledIndices:g,modifierKeys:u,highlightItemOnHover:R=!1,tag:x="div",...b}=n,p=ke(),{props:N,highlightedIndex:o,onHighlightedIndexChange:k,elementsRef:K,onMapChange:A,relayKeyboardEvent:M}=Bt({itemSizes:y,cols:O,loopFocus:m,dense:I,orientation:v,highlightedIndex:T,onHighlightedIndexChange:E,rootRef:C,stopEventPropagation:S,enableHomeAndEndKeys:z,direction:p,disabledIndices:g,modifierKeys:u}),L=ae(x,n,{state:s,ref:f,props:[N,...l,b],stateAttributesMapping:c}),_=a.useMemo(()=>({highlightedIndex:o,onHighlightedIndexChange:k,highlightItemOnHover:R,relayKeyboardEvent:M}),[o,k,R,M]);return e.jsx(Et.Provider,{value:_,children:e.jsx(Re,{elementsRef:K,onMapChange:B=>{j?.(B),A(B)},children:L})})}const Vt=a.forwardRef(function(r,d){const{activateOnFocus:f=!1,className:l,loopFocus:s=!0,render:c,...T}=r,{getTabElementBySelectedValue:E,onValueChange:v,orientation:I,value:y,setTabMap:m,tabActivationDirection:O}=ne(),[z,j]=a.useState(0),[S,C]=a.useState(null),g=Yt(y,I,S,E),u=Z((p,N)=>{if(p!==y){const o=g(p);N.activationDirection=o,v(p,N)}}),R=a.useMemo(()=>({orientation:I,tabActivationDirection:O}),[I,O]),x={"aria-orientation":I==="vertical"?"vertical":void 0,role:"tablist"},b=a.useMemo(()=>({activateOnFocus:f,highlightedTabIndex:z,onTabActivation:u,setHighlightedTabIndex:j,tabsListElement:S,value:y}),[f,z,u,j,S,y]);return e.jsx(Ae.Provider,{value:b,children:e.jsx(Ft,{render:c,className:l,state:R,refs:[d,C],props:[x,T],stateAttributesMapping:de,highlightedIndex:z,enableHomeAndEndKeys:!0,loopFocus:s,orientation:I,onHighlightedIndexChange:j,onMapChange:m,disabledIndices:le})})});function we(n,r){const{left:d,top:f}=n.getBoundingClientRect(),{left:l,top:s}=r.getBoundingClientRect(),c=d-l,T=f-s;return{left:c,top:T}}function Yt(n,r,d,f){const[l,s]=a.useState(null);return ce(()=>{if(n==null||d==null){s(null);return}const c=f(n);if(c==null){s(null);return}const{left:T,top:E}=we(c,d);s(r==="horizontal"?T:E)},[r,f,d,n]),a.useCallback(c=>{if(c===n)return"none";if(c==null)return s(null),"none";if(c!=null&&d!=null){const T=f(c);if(T!=null){const{left:E,top:v}=we(T,d);if(l==null)return s(r==="horizontal"?E:v),"none";if(r==="horizontal"){if(E<l)return s(E),"left";if(E>l)return s(E),"right"}else{if(v<l)return s(v),"up";if(v>l)return s(v),"down"}}}return"none"},[f,r,l,d,n])}function Ce({className:n,...r}){return e.jsx(Lt,{className:Q("flex flex-col gap-2 data-[orientation=vertical]:flex-row",n),"data-slot":"tabs",...r})}function Te({variant:n="default",className:r,children:d,...f}){return e.jsxs(Vt,{className:Q("relative z-0 flex w-fit items-center justify-center gap-x-0.5 text-primary-600","data-[orientation=vertical]:flex-col",n==="default"?"p-0.5 text-primary-600/80":"data-[orientation=vertical]:px-1 data-[orientation=horizontal]:py-1",r),"data-slot":"tabs-list",...f,children:[d,e.jsx(Dt,{className:Q("-translate-y-(--active-tab-bottom) absolute bottom-0 left-0 h-(--active-tab-height) w-(--active-tab-width) translate-x-(--active-tab-left) transition-[width,translate] duration-200 ease-in-out",n==="underline"?"data-[orientation=vertical]:-translate-x-px z-10 bg-primary-900 data-[orientation=horizontal]:h-0.5 data-[orientation=vertical]:w-0.5 data-[orientation=horizontal]:translate-y-px":"z-0 rounded-md bg-primary-200"),"data-slot":"tab-indicator"})]})}function Ie({className:n,...r}){return e.jsx(zt,{className:Q('[&_svg]:-mx-0.5 relative z-10 flex h-8 shrink-0 grow cursor-pointer items-center justify-center gap-1.5 whitespace-nowrap rounded-md px-3 text-sm font-medium outline-none transition-[color,background-color,box-shadow] hover:text-primary-900 focus-visible:ring-2 focus-visible:ring-primary-400 data-disabled:pointer-events-none data-[orientation=vertical]:w-full data-[orientation=vertical]:justify-start data-active:text-primary-900 data-disabled:opacity-64 [&_svg:not([class*="size-"])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0',n),"data-slot":"tabs-tab",...r})}function $({title:n,tabId:r,activeTab:d,children:f}){const l=r&&d&&r!==d;return e.jsxs("div",{className:Q("border-b border-primary-200 py-4 last:border-0",l&&"md:hidden"),children:[e.jsx("h3",{className:"mb-3 text-sm font-medium text-primary-900",children:n}),e.jsx("div",{className:"space-y-3",children:f})]})}function D({label:n,description:r,children:d}){return e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex-1 select-none",children:[e.jsx("div",{className:"text-sm text-primary-800",children:n}),r&&e.jsx("div",{className:"text-xs text-primary-500",children:r})]}),e.jsx("div",{className:"flex items-center gap-2",children:d})]})}const ze=[{value:"14px",label:"S"},{value:"16px",label:"M"},{value:"18px",label:"L"},{value:"20px",label:"XL"}];function Pe(n){return ze.some(r=>r.value===n)}function tn({open:n,onOpenChange:r,onClose:d}){const{settings:f,updateSettings:l}=Mt(),{settings:s,updateSettings:c,status:T,testApiKey:E}=kt(),[v,I]=a.useState("appearance"),[y,m]=a.useState(s.llmApiKey),[O,z]=a.useState(!1),[j,S]=a.useState(null),[C,g]=a.useState(()=>{if(typeof window>"u")return"16px";try{const t=localStorage.getItem("opencami-text-size");if(t&&Pe(t))return t}catch{}return"16px"}),[u,R]=a.useState(()=>{if(typeof window>"u")return!0;try{const t=localStorage.getItem("opencami-tts-enabled");return t===null?!0:t==="true"}catch{return!0}}),[x,b]=a.useState(()=>{if(typeof window>"u")return"auto";try{return localStorage.getItem("opencami-tts-provider")||"auto"}catch{return"auto"}}),[p,N]=a.useState(()=>{if(typeof window>"u")return"nova";try{return localStorage.getItem("opencami-tts-voice")||"nova"}catch{return"nova"}}),[o,k]=a.useState(()=>{if(typeof window>"u")return"auto";try{return localStorage.getItem("opencami-stt-provider")||"auto"}catch{return"auto"}}),K=t=>{b(t);try{localStorage.setItem("opencami-tts-provider",t)}catch{}},A=t=>{N(t);try{localStorage.setItem("opencami-tts-voice",t)}catch{}},M=t=>{k(t);try{localStorage.setItem("opencami-stt-provider",t)}catch{}};function L(t){typeof document>"u"||document.documentElement.style.setProperty("--opencami-text-size",t)}const _=t=>{if(Pe(t)){g(t),L(t);try{localStorage.setItem("opencami-text-size",t)}catch{}}},B=t=>{R(t);try{localStorage.setItem("opencami-tts-enabled",String(t))}catch{}window.dispatchEvent(new StorageEvent("storage",{key:"opencami-tts-enabled",newValue:String(t)}))},[i,w]=a.useState(!1),[h,P]=a.useState(()=>{if(typeof window>"u")return!0;try{const t=localStorage.getItem("opencami-personas-enabled");return t===null?!0:t==="true"}catch{return!0}});a.useEffect(()=>{let t=!0;async function H(){try{const q=await fetch("/api/personas");if(!q.ok)return;const ue=await q.json();t&&ue.ok&&w(ue.available)}catch{}}return H(),()=>{t=!1}},[]);const Y=t=>{P(t);try{localStorage.setItem("opencami-personas-enabled",String(t))}catch{}window.dispatchEvent(new StorageEvent("storage",{key:"opencami-personas-enabled",newValue:String(t)}))},G=async()=>{if(y.trim()){z(!0),S(null);try{const t=await E(y.trim());S(t),t.valid&&c({llmApiKey:y.trim()})}finally{z(!1)}}},F=()=>{c({llmApiKey:y.trim()}),S(null)},W=()=>{m(""),c({llmApiKey:""}),S(null)},U=[{value:"system",label:"System",icon:$e},{value:"light",label:"Light",icon:Ue},{value:"dark",label:"Dark",icon:Ge},{value:"chameleon",label:"Chameleon",icon:qe}];function se(t){if(typeof document>"u")return;const H=document.documentElement,q=window.matchMedia("(prefers-color-scheme: dark)");H.classList.remove("light","dark","system","chameleon"),H.classList.add(t),t==="system"&&q.matches&&H.classList.add("dark")}return e.jsx(gt,{open:n,onOpenChange:r,children:e.jsx(xt,{className:"w-[min(720px,92vw)] max-h-[80vh] overflow-hidden",children:e.jsxs("div",{className:"p-4",children:[e.jsxs("div",{className:"flex items-start justify-between",children:[e.jsxs("div",{children:[e.jsx(bt,{className:"mb-1",children:"Settings"}),e.jsx(vt,{className:"hidden",children:"Configure OpenCami"})]}),e.jsx(ge,{render:e.jsx(ee,{size:"icon-sm",variant:"ghost",className:"text-primary-500 hover:bg-primary-100 hover:text-primary-700","aria-label":"Close",children:e.jsx(J,{icon:De,size:20,strokeWidth:1.5})})})]}),e.jsxs("div",{className:"mt-3 flex md:flex-row flex-col md:gap-4 gap-0 md:min-h-[400px]",children:[e.jsx("nav",{className:"hidden md:flex flex-col gap-0.5 min-w-[160px] border-r border-primary-200 pr-3",children:[{id:"connection",label:"Connection",icon:He},{id:"appearance",label:"Appearance",icon:_e},{id:"chat",label:"Chat",icon:Be},{id:"personas",label:"Personas",icon:We},{id:"voice",label:"Voice",icon:Fe},{id:"llm",label:"LLM Features",icon:Ve},{id:"about",label:"About",icon:Ye}].map(t=>e.jsxs("button",{onClick:()=>I(t.id),className:Q("flex items-center gap-2 px-2.5 py-1.5 rounded-md text-sm text-left transition-colors",v===t.id?"bg-primary-100 text-primary-900 font-medium":"text-primary-600 hover:text-primary-900 hover:bg-primary-50"),children:[e.jsx(J,{icon:t.icon,size:16,strokeWidth:1.5}),t.label]},t.id))}),e.jsxs("div",{className:"flex-1 overflow-y-auto md:max-h-[calc(80vh-100px)] max-h-none",children:[e.jsx($,{title:"Connection",tabId:"connection",activeTab:v,children:e.jsx(D,{label:"Status",children:e.jsxs("span",{className:"flex items-center gap-1.5 text-sm text-green-600",children:[e.jsx("span",{className:"size-2 rounded-full bg-green-500"}),"Connected"]})})}),e.jsxs($,{title:"Appearance",tabId:"appearance",activeTab:v,children:[e.jsx(D,{label:"Theme",children:e.jsx(Ce,{value:f.theme,onValueChange:t=>{const H=t;se(H),l({theme:H})},children:e.jsx(Te,{variant:"default",className:"gap-2 *:data-[slot=tab-indicator]:duration-0",children:U.map(t=>e.jsxs(Ie,{value:t.value,children:[e.jsx(J,{icon:t.icon,size:20,strokeWidth:1.5}),e.jsx("span",{children:t.label})]},t.value))})})}),e.jsx(D,{label:"Text Size",description:"Adjust chat and composer text",children:e.jsx(Ce,{value:C,onValueChange:_,children:e.jsx(Te,{variant:"default",className:"gap-2 *:data-[slot=tab-indicator]:duration-0",children:ze.map(t=>e.jsx(Ie,{value:t.value,children:e.jsx("span",{className:"tabular-nums text-xs",children:t.label})},t.value))})})})]}),e.jsxs($,{title:"Chat",tabId:"chat",activeTab:v,children:[e.jsx(D,{label:"Show tool messages",children:e.jsx(V,{checked:f.showToolMessages,onCheckedChange:t=>l({showToolMessages:t})})}),e.jsx(D,{label:"Show reasoning blocks",children:e.jsx(V,{checked:f.showReasoningBlocks,onCheckedChange:t=>l({showReasoningBlocks:t})})}),e.jsx(D,{label:"Show search sources",children:e.jsx(V,{checked:f.showSearchSources,onCheckedChange:t=>l({showSearchSources:t})})}),e.jsx(D,{label:"Agent Manager (Beta)",description:"Show Agent Manager in sidebar for creating and managing agents",children:e.jsx(V,{checked:(()=>{try{return localStorage.getItem("opencami-agent-manager")==="true"}catch{return!1}})(),onCheckedChange:t=>{localStorage.setItem("opencami-agent-manager",String(t)),window.location.reload()}})}),e.jsx(D,{label:"Inline File Preview",description:"Make file paths in messages clickable to preview file contents",children:e.jsx(V,{checked:f.inlineFilePreview,onCheckedChange:t=>l({inlineFilePreview:t})})})]}),e.jsxs($,{title:"Personas",tabId:"personas",activeTab:v,children:[i?e.jsx(D,{label:"Persona Picker",description:"Show persona picker in chat (20 personalities)",children:e.jsx(V,{checked:h,onCheckedChange:Y})}):e.jsx(D,{label:"Persona Picker",description:"Install the Personas skill to unlock 20 AI personalities",children:e.jsx(V,{checked:!1,disabled:!0})}),!i&&e.jsx("div",{className:"pt-1",children:e.jsx("a",{href:"https://www.clawhub.ai/robbyczgw-cla/personas",target:"_blank",rel:"noopener noreferrer",className:"text-xs text-primary-600 hover:text-primary-900 hover:underline",children:"Get it on ClawHub →"})})]}),e.jsxs($,{title:"Text-to-Speech",tabId:"voice",activeTab:v,children:[e.jsx(D,{label:"Voice Playback",description:"Add a 🔊 button to AI messages for text-to-speech",children:e.jsx(V,{checked:u,onCheckedChange:B})}),e.jsx(D,{label:"TTS Provider",description:"Choose which service generates speech",children:e.jsxs("select",{value:x,onChange:t=>K(t.target.value),className:"rounded-md border border-primary-200 bg-surface px-2 py-1 text-sm focus:outline-none focus:ring-2 focus:ring-primary-500",children:[e.jsx("option",{value:"auto",children:"Auto"}),e.jsx("option",{value:"elevenlabs",children:"ElevenLabs"}),e.jsx("option",{value:"openai",children:"OpenAI"}),e.jsx("option",{value:"edge",children:"Edge TTS (free)"})]})}),x==="openai"&&e.jsx(D,{label:"Voice",description:"OpenAI voice selection",children:e.jsx("select",{value:p,onChange:t=>A(t.target.value),className:"rounded-md border border-primary-200 bg-surface px-2 py-1 text-sm focus:outline-none focus:ring-2 focus:ring-primary-500",children:["alloy","echo","fable","onyx","nova","shimmer"].map(t=>e.jsx("option",{value:t,children:t.charAt(0).toUpperCase()+t.slice(1)},t))})})]}),e.jsx($,{title:"Speech-to-Text",tabId:"voice",activeTab:v,children:e.jsx(D,{label:"STT Provider",description:"Choose which service transcribes your voice",children:e.jsxs("select",{value:o,onChange:t=>M(t.target.value),className:"rounded-md border border-primary-200 bg-surface px-2 py-1 text-sm focus:outline-none focus:ring-2 focus:ring-primary-500",children:[e.jsx("option",{value:"auto",children:"Auto"}),e.jsx("option",{value:"elevenlabs",children:"ElevenLabs"}),e.jsx("option",{value:"openai",children:"OpenAI"}),e.jsx("option",{value:"browser",children:"Browser (free)"})]})})}),e.jsxs($,{title:"LLM Features",tabId:"llm",activeTab:v,children:[e.jsxs("div",{className:"text-xs text-primary-500 mb-3",children:["Enhance session titles and follow-up suggestions using an LLM provider.",T.hasEnvKey&&s.llmProvider==="openai"&&e.jsx("span",{className:"block mt-1 text-green-600",children:"✓ Server has OPENAI_API_KEY configured"}),T.hasOpenRouterKey&&s.llmProvider==="openrouter"&&e.jsx("span",{className:"block mt-1 text-green-600",children:"✓ Server has OPENROUTER_API_KEY configured"})]}),e.jsx(D,{label:"Provider",description:"Choose LLM provider for titles & follow-ups",children:e.jsxs("select",{value:s.llmProvider,onChange:t=>{const H=t.target.value;c({llmProvider:H,llmBaseUrl:"",llmModel:""})},className:"px-2 py-1 text-sm rounded-md border border-primary-200 bg-surface focus:outline-none focus:ring-2 focus:ring-primary-500",children:[e.jsx("option",{value:"openai",children:"OpenAI"}),e.jsx("option",{value:"openrouter",children:"OpenRouter"}),e.jsx("option",{value:"ollama",children:"Ollama (local)"}),e.jsx("option",{value:"custom",children:"Custom"})]})}),e.jsx(D,{label:"Smart session titles",description:"Generate concise titles using AI",children:e.jsx(V,{checked:s.useLlmTitles,onCheckedChange:t=>c({useLlmTitles:t}),disabled:!T.isAvailable})}),e.jsx(D,{label:"Smart follow-up suggestions",description:"AI-generated contextual follow-ups",children:e.jsx(V,{checked:s.useLlmFollowUps,onCheckedChange:t=>c({useLlmFollowUps:t}),disabled:!T.isAvailable})}),e.jsxs("div",{className:"mt-2 space-y-2",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-primary-500 mb-1",children:"Model"}),e.jsx("input",{type:"text",value:s.llmModel,onChange:t=>c({llmModel:t.target.value}),placeholder:je(s.llmProvider).model||"model-name",className:"w-full px-3 py-1.5 text-sm rounded-md border border-primary-200 bg-surface focus:outline-none focus:ring-2 focus:ring-primary-500"})]}),(s.llmProvider==="custom"||s.llmProvider==="ollama")&&e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-primary-500 mb-1",children:"Base URL"}),e.jsx("input",{type:"text",value:s.llmBaseUrl,onChange:t=>c({llmBaseUrl:t.target.value}),placeholder:je(s.llmProvider).baseUrl||"https://...",className:"w-full px-3 py-1.5 text-sm rounded-md border border-primary-200 bg-surface focus:outline-none focus:ring-2 focus:ring-primary-500"})]})]}),e.jsxs("div",{className:"mt-4 pt-3 border-t border-primary-100",children:[e.jsx("div",{className:"text-sm text-primary-800 mb-2",children:s.llmProvider==="ollama"?"API Key (optional)":"API Key"}),e.jsx("div",{className:"text-xs text-primary-500 mb-2",children:s.llmProvider==="ollama"?"Not required for local Ollama":T.hasEnvKey&&s.llmProvider==="openai"?"Optional: Override server key with your own":`Required for ${s.llmProvider==="openrouter"?"OpenRouter":"LLM features"} (stored locally)`}),e.jsxs("div",{className:"flex gap-2",children:[e.jsx("input",{type:"password",value:y,onChange:t=>{m(t.target.value),S(null)},placeholder:"sk-...",className:"flex-1 px-3 py-1.5 text-sm rounded-md border border-primary-200 bg-surface focus:outline-none focus:ring-2 focus:ring-primary-500"}),e.jsx(ee,{size:"sm",variant:"outline",onClick:G,disabled:!y.trim()||O,className:"min-w-[60px]",children:O?e.jsx(J,{icon:Je,size:16,className:"animate-spin"}):"Test"})]}),j&&e.jsxs("div",{className:`mt-2 flex items-center gap-1.5 text-xs ${j.valid?"text-green-600":"text-red-600"}`,children:[e.jsx(J,{icon:j.valid?he:Xe,size:14}),j.valid?"API key is valid":j.error||"Invalid API key"]}),s.llmApiKey&&e.jsxs("div",{className:"mt-2 flex items-center justify-between",children:[e.jsxs("span",{className:"text-xs text-green-600 flex items-center gap-1",children:[e.jsx(J,{icon:he,size:14}),"Key saved"]}),e.jsx(ee,{size:"sm",variant:"ghost",onClick:W,className:"text-xs text-red-600 hover:text-red-700 hover:bg-red-50",children:"Clear"})]}),y&&y!==s.llmApiKey&&!j?.valid&&e.jsx(ee,{size:"sm",variant:"outline",onClick:F,className:"mt-2 w-full",children:"Save without testing"})]})]}),e.jsxs($,{title:"About",tabId:"about",activeTab:v,children:[e.jsx("div",{className:"text-sm text-primary-800",children:"OpenCami"}),e.jsxs("div",{className:"flex gap-4 pt-2",children:[e.jsx("a",{href:"https://github.com/robbyczgw-cla/opencami",target:"_blank",rel:"noopener noreferrer",className:"text-sm text-primary-600 hover:text-primary-900 hover:underline",children:"GitHub"}),e.jsx("a",{href:"https://docs.openclaw.ai",target:"_blank",rel:"noopener noreferrer",className:"text-sm text-primary-600 hover:text-primary-900 hover:underline",children:"OpenClaw docs"})]})]})]})]}),e.jsx("div",{className:"mt-4 flex justify-end",children:e.jsx(ge,{onClick:d,children:"Close"})})]})})})}export{tn as SettingsDialog};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@import"https://fonts.googleapis.com/css2?family=EB+Garamond:opsz,wght@8..120,400..800&family=JetBrains+Mono:wght@400;500&display=swap";@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-mono:"JetBrains Mono",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-cyan-300:oklch(86.5% .127 207.078);--color-cyan-400:oklch(78.9% .154 211.53);--color-cyan-500:oklch(71.5% .143 215.221);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-purple-400:oklch(71.4% .203 305.504);--color-purple-500:oklch(62.7% .265 303.9);--color-purple-600:oklch(55.8% .288 302.321);--color-zinc-800:oklch(27.4% .006 286.033);--color-neutral-50:oklch(98.5% 0 0);--color-neutral-100:oklch(97% 0 0);--color-neutral-300:oklch(87% 0 0);--color-neutral-400:oklch(70.8% 0 0);--color-neutral-500:oklch(55.6% 0 0);--color-neutral-700:oklch(37.1% 0 0);--color-neutral-800:oklch(26.9% 0 0);--color-neutral-900:oklch(20.5% 0 0);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0,0,.2,1)infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-surface:var(--color-white);--color-ink:var(--color-black);--color-primary-50:oklch(99.2% .002 80);--color-primary-100:oklch(98.21% 0 89.88);--color-primary-200:oklch(94.61% 0 89.88);--color-primary-300:oklch(95% .004 80);--color-primary-400:oklch(87.5% .005 80);--color-primary-500:oklch(78.5% .006 80);--color-primary-600:oklch(67% .007 80);--color-primary-700:oklch(56% .006 80);--color-primary-800:oklch(45% .005 80);--color-primary-900:oklch(35% .004 80);--color-primary-950:oklch(25% .003 80)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing)*0)}.inset-2{inset:calc(var(--spacing)*2)}.inset-y-0{inset-block:calc(var(--spacing)*0)}.-top-1{top:calc(var(--spacing)*-1)}.top-1\/2{top:50%}.top-full{top:100%}.-right-1{right:calc(var(--spacing)*-1)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-10{right:calc(var(--spacing)*10)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-10{bottom:calc(var(--spacing)*10)}.bottom-full{bottom:100%}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.left-2{left:calc(var(--spacing)*2)}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-40{z-index:40}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-2{margin-inline:calc(var(--spacing)*-2)}.mx-1{margin-inline:calc(var(--spacing)*1)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-3{margin-block:calc(var(--spacing)*3)}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-1\.5{margin-top:calc(var(--spacing)*1.5)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-5{margin-top:calc(var(--spacing)*5)}.mt-6{margin-top:calc(var(--spacing)*6)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.-mb-4{margin-bottom:calc(var(--spacing)*-4)}.mb-0\.5{margin-bottom:calc(var(--spacing)*.5)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-1\.5{margin-bottom:calc(var(--spacing)*1.5)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.ml-0\.5{margin-left:calc(var(--spacing)*.5)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-3{margin-left:calc(var(--spacing)*3)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-1\.5{width:calc(var(--spacing)*1.5);height:calc(var(--spacing)*1.5)}.size-2{width:calc(var(--spacing)*2);height:calc(var(--spacing)*2)}.size-2\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-7{width:calc(var(--spacing)*7);height:calc(var(--spacing)*7)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-11{width:calc(var(--spacing)*11);height:calc(var(--spacing)*11)}.size-12{width:calc(var(--spacing)*12);height:calc(var(--spacing)*12)}.h-\(--active-tab-height\){height:var(--active-tab-height)}.h-\(--collapsible-panel-height\){height:var(--collapsible-panel-height)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-\[calc\(var\(--thumb-size\)\+2px\)\]{height:calc(var(--thumb-size) + 2px)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing)*32)}.max-h-44{max-height:calc(var(--spacing)*44)}.max-h-56{max-height:calc(var(--spacing)*56)}.max-h-80{max-height:calc(var(--spacing)*80)}.max-h-\[60vh\]{max-height:60vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[88vh\]{max-height:88vh}.max-h-\[300px\]{max-height:300px}.max-h-\[360px\]{max-height:360px}.max-h-\[calc\(88vh-72px\)\]{max-height:calc(88vh - 72px)}.max-h-none{max-height:none}.min-h-0{min-height:calc(var(--spacing)*0)}.min-h-8{min-height:calc(var(--spacing)*8)}.min-h-\[28px\]{min-height:28px}.min-h-\[36px\]{min-height:36px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-\(--active-tab-width\){width:var(--active-tab-width)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing)*2)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-\[300px\]{width:300px}.w-\[calc\(var\(--thumb-size\)\*2-2px\)\]{width:calc(var(--thumb-size)*2 - 2px)}.w-\[min\(380px\,90vw\)\]{width:min(380px,90vw)}.w-\[min\(400px\,92vw\)\]{width:min(400px,92vw)}.w-\[min\(420px\,90vw\)\]{width:min(420px,90vw)}.w-\[min\(500px\,92vw\)\]{width:min(500px,92vw)}.w-\[min\(600px\,92vw\)\]{width:min(600px,92vw)}.w-\[min\(720px\,92vw\)\]{width:min(720px,92vw)}.w-\[min\(1000px\,95vw\)\]{width:min(1000px,95vw)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\[85\%\]{max-width:85%}.max-w-\[140px\]{max-width:140px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[250px\]{max-width:250px}.max-w-\[300px\]{max-width:300px}.max-w-\[900px\]{max-width:900px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.min-w-0{min-width:calc(var(--spacing)*0)}.min-w-5{min-width:calc(var(--spacing)*5)}.min-w-\[60px\]{min-width:60px}.min-w-\[80px\]{min-width:80px}.min-w-\[90px\]{min-width:90px}.min-w-\[110px\]{min-width:110px}.min-w-\[140px\]{min-width:140px}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.min-w-\[190px\]{min-width:190px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.origin-left{transform-origin:0}.origin-top-right{transform-origin:100% 0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\(--active-tab-left\){--tw-translate-x:var(--active-tab-left);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-\(--active-tab-bottom\){--tw-translate-y:calc(var(--active-tab-bottom)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing)*4);translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-98{--tw-scale-x:98%;--tw-scale-y:98%;--tw-scale-z:98%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-\[shimmer_2s_infinite_linear\]{animation:2s linear infinite shimmer}.animate-\[shimmer_4s_infinite_linear\]{animation:4s linear infinite shimmer}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-text{cursor:text}.cursor-wait{cursor:wait}.touch-manipulation{touch-action:manipulation}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.scroll-mt-0{scroll-margin-top:calc(var(--spacing)*0)}.scroll-mt-4{scroll-margin-top:calc(var(--spacing)*4)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.grid-cols-\[auto_1fr_auto_auto\]{grid-template-columns:auto 1fr auto auto}.flex-col{flex-direction:column}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0{gap:calc(var(--spacing)*0)}.gap-0\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-px{gap:1px}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*10)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*10)*calc(1 - var(--tw-space-y-reverse)))}.gap-x-0\.5{column-gap:calc(var(--spacing)*.5)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-primary-100>:not(:last-child)){border-color:var(--color-primary-100)}:where(.divide-primary-200>:not(:last-child)){border-color:var(--color-primary-200)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\(--thumb-size\){border-radius:var(--thumb-size)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[12px\]{border-radius:12px}.rounded-\[20px\]{border-radius:20px}.rounded-\[22px\]{border-radius:22px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-current{border-color:currentColor}.border-cyan-500\/10{border-color:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/10{border-color:color-mix(in oklab,var(--color-cyan-500)10%,transparent)}}.border-cyan-500\/20{border-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/20{border-color:color-mix(in oklab,var(--color-cyan-500)20%,transparent)}}.border-cyan-500\/30{border-color:#00b7d74d}@supports (color:color-mix(in lab,red,red)){.border-cyan-500\/30{border-color:color-mix(in oklab,var(--color-cyan-500)30%,transparent)}}.border-primary-100{border-color:var(--color-primary-100)}.border-primary-200{border-color:var(--color-primary-200)}.border-primary-200\/70{border-color:#edededb3}@supports (color:color-mix(in lab,red,red)){.border-primary-200\/70{border-color:color-mix(in oklab,var(--color-primary-200)70%,transparent)}}.border-primary-200\/80{border-color:#edededcc}@supports (color:color-mix(in lab,red,red)){.border-primary-200\/80{border-color:color-mix(in oklab,var(--color-primary-200)80%,transparent)}}.border-primary-300{border-color:var(--color-primary-300)}.border-primary-400{border-color:var(--color-primary-400)}.border-primary-700{border-color:var(--color-primary-700)}.border-primary-900{border-color:var(--color-primary-900)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-t-transparent{border-top-color:#0000}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-500\/15{background-color:#f99c0026}@supports (color:color-mix(in lab,red,red)){.bg-amber-500\/15{background-color:color-mix(in oklab,var(--color-amber-500)15%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab,red,red)){.bg-black\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-500\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab,red,red)){.bg-blue-500\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-cyan-500\/5{background-color:#00b7d70d}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/5{background-color:color-mix(in oklab,var(--color-cyan-500)5%,transparent)}}.bg-cyan-500\/10{background-color:#00b7d71a}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/10{background-color:color-mix(in oklab,var(--color-cyan-500)10%,transparent)}}.bg-cyan-500\/20{background-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.bg-cyan-500\/20{background-color:color-mix(in oklab,var(--color-cyan-500)20%,transparent)}}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\/15{background-color:#00c75826}@supports (color:color-mix(in lab,red,red)){.bg-green-500\/15{background-color:color-mix(in oklab,var(--color-green-500)15%,transparent)}}.bg-ink\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-ink\/40{background-color:color-mix(in oklab,var(--color-ink)40%,transparent)}}.bg-neutral-50{background-color:var(--color-neutral-50)}.bg-neutral-800{background-color:var(--color-neutral-800)}.bg-neutral-900\/95{background-color:#171717f2}@supports (color:color-mix(in lab,red,red)){.bg-neutral-900\/95{background-color:color-mix(in oklab,var(--color-neutral-900)95%,transparent)}}.bg-primary-50{background-color:var(--color-primary-50)}.bg-primary-50\/90{background-color:#fdfcfbe6}@supports (color:color-mix(in lab,red,red)){.bg-primary-50\/90{background-color:color-mix(in oklab,var(--color-primary-50)90%,transparent)}}.bg-primary-100{background-color:var(--color-primary-100)}.bg-primary-100\/70{background-color:#f9f9f9b3}@supports (color:color-mix(in lab,red,red)){.bg-primary-100\/70{background-color:color-mix(in oklab,var(--color-primary-100)70%,transparent)}}.bg-primary-200{background-color:var(--color-primary-200)}.bg-primary-400{background-color:var(--color-primary-400)}.bg-primary-500{background-color:var(--color-primary-500)}.bg-primary-600{background-color:var(--color-primary-600)}.bg-primary-700{background-color:var(--color-primary-700)}.bg-primary-900{background-color:var(--color-primary-900)}.bg-primary-950{background-color:var(--color-primary-950)}.bg-primary-950\/20{background-color:#22212033}@supports (color:color-mix(in lab,red,red)){.bg-primary-950\/20{background-color:color-mix(in oklab,var(--color-primary-950)20%,transparent)}}.bg-purple-500\/10{background-color:#ac4bff1a}@supports (color:color-mix(in lab,red,red)){.bg-purple-500\/10{background-color:color-mix(in oklab,var(--color-purple-500)10%,transparent)}}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-red-600{background-color:var(--color-red-600)}.bg-surface{background-color:var(--color-surface)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-200{background-color:var(--color-yellow-200)}.bg-yellow-500{background-color:var(--color-yellow-500)}.bg-size-\[200\%_auto\]{background-size:200%}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-0\.5{padding:calc(var(--spacing)*.5)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-2\.5{padding:calc(var(--spacing)*2.5)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-5{padding:calc(var(--spacing)*5)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.p-px{padding:1px}.px-0{padding-inline:calc(var(--spacing)*0)}.px-0\.5{padding-inline:calc(var(--spacing)*.5)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-8{padding-block:calc(var(--spacing)*8)}.py-10{padding-block:calc(var(--spacing)*10)}.py-16{padding-block:calc(var(--spacing)*16)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-1{padding-top:calc(var(--spacing)*1)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pt-6{padding-top:calc(var(--spacing)*6)}.pr-0\.5{padding-right:calc(var(--spacing)*.5)}.pr-1{padding-right:calc(var(--spacing)*1)}.pr-2{padding-right:calc(var(--spacing)*2)}.pr-3{padding-right:calc(var(--spacing)*3)}.pb-0\.5{padding-bottom:calc(var(--spacing)*.5)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pl-1\.5{padding-left:calc(var(--spacing)*1.5)}.pl-2{padding-left:calc(var(--spacing)*2)}.pl-4{padding-left:calc(var(--spacing)*4)}.pl-\[18px\]{padding-left:18px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-\[450\]{--tw-font-weight:450;font-weight:450}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-600{color:var(--color-amber-600)}.text-black{color:var(--color-black)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-cyan-300{color:var(--color-cyan-300)}.text-cyan-400{color:var(--color-cyan-400)}.text-cyan-500\/70{color:#00b7d7b3}@supports (color:color-mix(in lab,red,red)){.text-cyan-500\/70{color:color-mix(in oklab,var(--color-cyan-500)70%,transparent)}}.text-emerald-600{color:var(--color-emerald-600)}.text-green-600{color:var(--color-green-600)}.text-green-600\/80{color:#00a544cc}@supports (color:color-mix(in lab,red,red)){.text-green-600\/80{color:color-mix(in oklab,var(--color-green-600)80%,transparent)}}.text-green-700{color:var(--color-green-700)}.text-neutral-300{color:var(--color-neutral-300)}.text-primary-50{color:var(--color-primary-50)}.text-primary-100{color:var(--color-primary-100)}.text-primary-300{color:var(--color-primary-300)}.text-primary-400{color:var(--color-primary-400)}.text-primary-500{color:var(--color-primary-500)}.text-primary-500\/70{color:#bbb9b5b3}@supports (color:color-mix(in lab,red,red)){.text-primary-500\/70{color:color-mix(in oklab,var(--color-primary-500)70%,transparent)}}.text-primary-500\/75{color:#bbb9b5bf}@supports (color:color-mix(in lab,red,red)){.text-primary-500\/75{color:color-mix(in oklab,var(--color-primary-500)75%,transparent)}}.text-primary-500\/80{color:#bbb9b5cc}@supports (color:color-mix(in lab,red,red)){.text-primary-500\/80{color:color-mix(in oklab,var(--color-primary-500)80%,transparent)}}.text-primary-600{color:var(--color-primary-600)}.text-primary-600\/80{color:#979590cc}@supports (color:color-mix(in lab,red,red)){.text-primary-600\/80{color:color-mix(in oklab,var(--color-primary-600)80%,transparent)}}.text-primary-700{color:var(--color-primary-700)}.text-primary-700\/80{color:#767471cc}@supports (color:color-mix(in lab,red,red)){.text-primary-700\/80{color:color-mix(in oklab,var(--color-primary-700)80%,transparent)}}.text-primary-800{color:var(--color-primary-800)}.text-primary-900{color:var(--color-primary-900)}.text-primary-950{color:var(--color-primary-950)}.text-purple-600{color:var(--color-purple-600)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-600\/80{color:#e40014cc}@supports (color:color-mix(in lab,red,red)){.text-red-600\/80{color:color-mix(in oklab,var(--color-red-600)80%,transparent)}}.text-red-700{color:var(--color-red-700)}.text-transparent{color:#0000}.text-white{color:var(--color-white)}.text-yellow-600{color:var(--color-yellow-600)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.decoration-primary-300{-webkit-text-decoration-color:var(--color-primary-300);text-decoration-color:var(--color-primary-300)}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-75{opacity:.75}.opacity-100{opacity:1}.shadow-sm\/5{--tw-shadow-alpha:5%;--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,oklab(0% 0 0/.05)),0 1px 2px -1px var(--tw-shadow-color,oklab(0% 0 0/.05));box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xs{--tw-shadow:0 1px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0px_12px_32px_0px_rgba\(0\,0\,0\,0\.05\)\]{--tw-shadow:0px 12px 32px 0px var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-surface{--tw-ring-color:var(--color-surface)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-black{outline-color:var(--color-black)}.outline-ink\/10{outline-color:#0000001a}@supports (color:color-mix(in lab,red,red)){.outline-ink\/10{outline-color:color-mix(in oklab,var(--color-ink)10%,transparent)}}.outline-primary-900\/10{outline-color:#3c3a381a}@supports (color:color-mix(in lab,red,red)){.outline-primary-900\/10{outline-color:color-mix(in oklab,var(--color-primary-900)10%,transparent)}}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background-color\,box-shadow\]{transition-property:background-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[color\,background-color\,box-shadow\]{transition-property:color,background-color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[width\,translate\]{transition-property:width,translate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-0{--tw-duration:0s;transition-duration:0s}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--thumb-size\:--spacing\(5\)\]{--thumb-size:calc(var(--spacing)*5)}.\[transition\:translate_\.15s\,border-radius_\.15s\,scale_\.1s_\.1s\,transform-origin_\.15s\]{transition:translate .15s,border-radius .15s,scale .1s .1s,transform-origin .15s}.group-focus-within\:opacity-100:is(:where(.group):focus-within *){opacity:1}@media(hover:hover){.group-hover\:pointer-events-auto:is(:where(.group):hover *){pointer-events:auto}.group-hover\:h-2:is(:where(.group):hover *){height:calc(var(--spacing)*2)}.group-hover\:translate-x-0\.5:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*.5);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:scale-100:is(:where(.group):hover *){--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\:text-primary-600:is(:where(.group):hover *){color:var(--color-primary-600)}.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/scroll-area\:opacity-100:is(:where(.group\/scroll-area):hover *){opacity:1}}.group-data-panel-open\:rotate-90:is(:where(.group)[data-panel-open] *){rotate:90deg}.group-data-panel-open\:rotate-180:is(:where(.group)[data-panel-open] *){rotate:180deg}.marker\:text-primary-400 ::marker{color:var(--color-primary-400)}.marker\:text-primary-400::marker{color:var(--color-primary-400)}.marker\:text-primary-400 ::-webkit-details-marker{color:var(--color-primary-400)}.marker\:text-primary-400::-webkit-details-marker{color:var(--color-primary-400)}.marker\:text-primary-500 ::marker{color:var(--color-primary-500)}.marker\:text-primary-500::marker{color:var(--color-primary-500)}.marker\:text-primary-500 ::-webkit-details-marker{color:var(--color-primary-500)}.marker\:text-primary-500::-webkit-details-marker{color:var(--color-primary-500)}.selection\:bg-blue-800\/50 ::selection{background-color:#193cb880}@supports (color:color-mix(in lab,red,red)){.selection\:bg-blue-800\/50 ::selection{background-color:color-mix(in oklab,var(--color-blue-800)50%,transparent)}}.selection\:bg-blue-800\/50::selection{background-color:#193cb880}@supports (color:color-mix(in lab,red,red)){.selection\:bg-blue-800\/50::selection{background-color:color-mix(in oklab,var(--color-blue-800)50%,transparent)}}.placeholder\:text-primary-400::placeholder{color:var(--color-primary-400)}.placeholder\:text-primary-500::placeholder{color:var(--color-primary-500)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media(hover:hover){.hover\:border-primary-300:hover{border-color:var(--color-primary-300)}.hover\:bg-cyan-500\/5:hover{background-color:#00b7d70d}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cyan-500\/5:hover{background-color:color-mix(in oklab,var(--color-cyan-500)5%,transparent)}}.hover\:bg-cyan-500\/20:hover{background-color:#00b7d733}@supports (color:color-mix(in lab,red,red)){.hover\:bg-cyan-500\/20:hover{background-color:color-mix(in oklab,var(--color-cyan-500)20%,transparent)}}.hover\:bg-neutral-800\/80:hover{background-color:#262626cc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-neutral-800\/80:hover{background-color:color-mix(in oklab,var(--color-neutral-800)80%,transparent)}}.hover\:bg-primary-50:hover{background-color:var(--color-primary-50)}.hover\:bg-primary-50\/50:hover{background-color:#fdfcfb80}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary-50\/50:hover{background-color:color-mix(in oklab,var(--color-primary-50)50%,transparent)}}.hover\:bg-primary-100:hover{background-color:var(--color-primary-100)}.hover\:bg-primary-200:hover{background-color:var(--color-primary-200)}.hover\:bg-primary-900:hover{background-color:var(--color-primary-900)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-red-50\/80:hover{background-color:#fef2f2cc}@supports (color:color-mix(in lab,red,red)){.hover\:bg-red-50\/80:hover{background-color:color-mix(in oklab,var(--color-red-50)80%,transparent)}}.hover\:bg-red-200:hover{background-color:var(--color-red-200)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-transparent:hover{background-color:#0000}.hover\:text-primary-600:hover{color:var(--color-primary-600)}.hover\:text-primary-700:hover{color:var(--color-primary-700)}.hover\:text-primary-800:hover{color:var(--color-primary-800)}.hover\:text-primary-900:hover{color:var(--color-primary-900)}.hover\:text-primary-950:hover{color:var(--color-primary-950)}.hover\:text-red-600:hover{color:var(--color-red-600)}.hover\:text-red-700:hover{color:var(--color-red-700)}.hover\:underline:hover{text-decoration-line:underline}.hover\:decoration-primary-500:hover{-webkit-text-decoration-color:var(--color-primary-500);text-decoration-color:var(--color-primary-500)}.hover\:decoration-primary-600:hover{-webkit-text-decoration-color:var(--color-primary-600);text-decoration-color:var(--color-primary-600)}}.focus\:border-primary-300:focus{border-color:var(--color-primary-300)}.focus\:border-primary-400:focus{border-color:var(--color-primary-400)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-primary-500:focus{--tw-ring-color:var(--color-primary-500)}.focus\:ring-primary-500\/20:focus{--tw-ring-color:#bbb9b533}@supports (color:color-mix(in lab,red,red)){.focus\:ring-primary-500\/20:focus{--tw-ring-color:color-mix(in oklab,var(--color-primary-500)20%,transparent)}}.focus\:ring-offset-1:focus{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:bg-primary-100:focus-visible{background-color:var(--color-primary-100)}.focus-visible\:text-primary-900:focus-visible{color:var(--color-primary-900)}.focus-visible\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-primary-300:focus-visible{--tw-ring-color:var(--color-primary-300)}.focus-visible\:ring-primary-400:focus-visible{--tw-ring-color:var(--color-primary-400)}.focus-visible\:ring-primary-950:focus-visible{--tw-ring-color:var(--color-primary-950)}.focus-visible\:ring-red-300:focus-visible{--tw-ring-color:var(--color-red-300)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media(hover:hover){.disabled\:hover\:border-primary-200:disabled:hover{border-color:var(--color-primary-200)}.disabled\:hover\:bg-primary-50:disabled:hover{background-color:var(--color-primary-50)}}:where(:is([role=switch]:active,[data-slot=label]:active)) .in-\[\[role\=switch\]\:active\,\[data-slot\=label\]\:active\]\:rounded-\[var\(--thumb-size\)\/calc\(var\(--thumb-size\)\*1\.1\)\]{border-radius:var(--thumb-size)/calc(var(--thumb-size)*1.1)}:where(:is([role=switch]:active,[data-slot=label]:active)) .in-\[\[role\=switch\]\:active\,\[data-slot\=label\]\:active\]\:not-data-disabled\:scale-x-110:not([data-disabled]){--tw-scale-x:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.aria-expanded\:bg-primary-200[aria-expanded=true]{background-color:var(--color-primary-200)}.aria-expanded\:opacity-100[aria-expanded=true]{opacity:1}.data-active\:text-primary-900[data-active]{color:var(--color-primary-900)}.data-checked\:origin-\[var\(--thumb-size\)_50\%\][data-checked]{transform-origin:var(--thumb-size)50%}.data-checked\:translate-x-\[calc\(var\(--thumb-size\)-4px\)\][data-checked]{--tw-translate-x:calc(var(--thumb-size) - 4px);translate:var(--tw-translate-x)var(--tw-translate-y)}.data-checked\:bg-primary-900[data-checked]{background-color:var(--color-primary-900)}.data-disabled\:pointer-events-none[data-disabled]{pointer-events:none}.data-disabled\:opacity-64[data-disabled]{opacity:.64}.data-ending-style\:h-0[data-ending-style]{height:calc(var(--spacing)*0)}.data-highlighted\:bg-primary-100[data-highlighted]{background-color:var(--color-primary-100)}.data-highlighted\:bg-red-50\/80[data-highlighted]{background-color:#fef2f2cc}@supports (color:color-mix(in lab,red,red)){.data-highlighted\:bg-red-50\/80[data-highlighted]{background-color:color-mix(in oklab,var(--color-red-50)80%,transparent)}}.data-hovering\:opacity-100[data-hovering]{opacity:1}.data-panel-open\:text-primary-700[data-panel-open]{color:var(--color-primary-700)}.data-scrolling\:opacity-100[data-scrolling]{opacity:1}.data-starting-style\:h-0[data-starting-style]{height:calc(var(--spacing)*0)}.data-unchecked\:bg-primary-200[data-unchecked]{background-color:var(--color-primary-200)}.data-\[orientation\=horizontal\]\:h-0\.5[data-orientation=horizontal]{height:calc(var(--spacing)*.5)}.data-\[orientation\=horizontal\]\:translate-y-px[data-orientation=horizontal]{--tw-translate-y:1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[orientation\=horizontal\]\:py-1[data-orientation=horizontal]{padding-block:calc(var(--spacing)*1)}.data-\[orientation\=vertical\]\:w-0\.5[data-orientation=vertical]{width:calc(var(--spacing)*.5)}.data-\[orientation\=vertical\]\:w-full[data-orientation=vertical]{width:100%}.data-\[orientation\=vertical\]\:-translate-x-px[data-orientation=vertical]{--tw-translate-x:-1px;translate:var(--tw-translate-x)var(--tw-translate-y)}.data-\[orientation\=vertical\]\:flex-col[data-orientation=vertical]{flex-direction:column}.data-\[orientation\=vertical\]\:flex-row[data-orientation=vertical]{flex-direction:row}.data-\[orientation\=vertical\]\:justify-start[data-orientation=vertical]{justify-content:flex-start}.data-\[orientation\=vertical\]\:px-1[data-orientation=vertical]{padding-inline:calc(var(--spacing)*1)}:is(.\*\:data-\[slot\=tab-indicator\]\:duration-0>*)[data-slot=tab-indicator]{--tw-duration:0s;transition-duration:0s}.data-\[state\=closed\]\:scale-95[data-state=closed]{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[state\=closed\]\:opacity-0[data-state=closed]{opacity:0}.data-\[state\=open\]\:scale-100[data-state=open]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\[state\=open\]\:opacity-100[data-state=open]{opacity:1}@media(min-width:40rem){.sm\:col-span-1{grid-column:span 1/span 1}.sm\:flex{display:flex}.sm\:max-w-\[768px\]{max-width:768px}.sm\:min-w-\[400px\]{min-width:400px}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:\[--thumb-size\:--spacing\(4\)\]{--thumb-size:calc(var(--spacing)*4)}}@media(min-width:48rem){.md\:right-5{right:calc(var(--spacing)*5)}.md\:left-5{left:calc(var(--spacing)*5)}.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline{display:inline}.md\:max-h-\[calc\(80vh-100px\)\]{max-height:calc(80vh - 100px)}.md\:min-h-\[400px\]{min-height:400px}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:gap-4{gap:calc(var(--spacing)*4)}:where(.md\:space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.md\:px-5{padding-inline:calc(var(--spacing)*5)}.md\:pb-3{padding-bottom:calc(var(--spacing)*3)}}@media(min-width:64rem){.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(min-width:80rem){.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}}.dark\:border-neutral-700:where(.dark,.dark *){border-color:var(--color-neutral-700)}.dark\:border-primary-700:where(.dark,.dark *){border-color:var(--color-primary-700)}.dark\:border-red-800:where(.dark,.dark *){border-color:var(--color-red-800)}.dark\:bg-neutral-700:where(.dark,.dark *){background-color:var(--color-neutral-700)}.dark\:bg-neutral-800:where(.dark,.dark *){background-color:var(--color-neutral-800)}.dark\:bg-neutral-900:where(.dark,.dark *){background-color:var(--color-neutral-900)}.dark\:bg-primary-700:where(.dark,.dark *){background-color:var(--color-primary-700)}.dark\:bg-red-900\/20:where(.dark,.dark *){background-color:#82181a33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-900\/20:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-900)20%,transparent)}}.dark\:bg-surface\/40:where(.dark,.dark *){background-color:#fff6}@supports (color:color-mix(in lab,red,red)){.dark\:bg-surface\/40:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-surface)40%,transparent)}}.dark\:bg-zinc-800:where(.dark,.dark *){background-color:var(--color-zinc-800)}.dark\:text-amber-400:where(.dark,.dark *){color:var(--color-amber-400)}.dark\:text-blue-400:where(.dark,.dark *){color:var(--color-blue-400)}.dark\:text-emerald-400:where(.dark,.dark *){color:var(--color-emerald-400)}.dark\:text-green-400:where(.dark,.dark *){color:var(--color-green-400)}.dark\:text-neutral-100:where(.dark,.dark *){color:var(--color-neutral-100)}.dark\:text-neutral-300:where(.dark,.dark *){color:var(--color-neutral-300)}.dark\:text-neutral-400:where(.dark,.dark *){color:var(--color-neutral-400)}.dark\:text-neutral-500:where(.dark,.dark *){color:var(--color-neutral-500)}.dark\:text-primary-300:where(.dark,.dark *){color:var(--color-primary-300)}.dark\:text-primary-400:where(.dark,.dark *){color:var(--color-primary-400)}.dark\:text-purple-400:where(.dark,.dark *){color:var(--color-purple-400)}.dark\:text-red-400:where(.dark,.dark *){color:var(--color-red-400)}.dark\:text-white:where(.dark,.dark *){color:var(--color-white)}.dark\:text-yellow-400:where(.dark,.dark *){color:var(--color-yellow-400)}@media(hover:hover){.dark\:hover\:bg-neutral-800:where(.dark,.dark *):hover{background-color:var(--color-neutral-800)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:-mx-0\.5 svg{margin-inline:calc(var(--spacing)*-.5)}.\[\&_svg\]\:size-5 svg{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\:not\(\[class\*\=\"size-\"\]\)\]\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\[\&\:hover\:not\(\:has\(button\:hover\)\)\]\:bg-primary-200:hover:not(:has(button:hover)){background-color:var(--color-primary-200)}.\[\&\>pre\]\:overflow-x-auto>pre{overflow-x:auto}.\[\&\>pre\]\:px-3>pre{padding-inline:calc(var(--spacing)*3)}.\[\&\>pre\]\:py-2>pre{padding-block:calc(var(--spacing)*2)}.\[\&\>pre\]\:py-3>pre{padding-block:calc(var(--spacing)*3)}.\[\&\>pre\]\:whitespace-pre>pre{white-space:pre}.\[\&\[hidden\]\:not\(\[hidden\=\"until-found\"\]\)\]\:hidden[hidden]:not([hidden=until-found]){display:none}}.root{isolation:isolate}html{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.safe-area-top{padding-top:env(safe-area-inset-top)}:root{--opencami-text-size:16px}.opencami-text-size{font-size:var(--opencami-text-size)}.dark{color-scheme:dark;--color-primary-50:oklch(12.44% 0 89.88);--color-primary-100:oklch(15.84% 0 89.88);--color-primary-200:oklch(20.78% 0 89.88);--color-primary-300:oklch(30% .006 80);--color-primary-400:oklch(40% .006 80);--color-primary-500:oklch(52% .006 80);--color-primary-600:oklch(65% .006 80);--color-primary-700:oklch(73% .006 80);--color-primary-800:oklch(83% .005 80);--color-primary-900:oklch(89.5% .004 80);--color-primary-950:oklch(94.5% .003 80);--color-surface:var(--color-black);--color-ink:var(--color-white)}.light,.system{color-scheme:light}@media(prefers-color-scheme:dark){.system{color-scheme:dark;--color-primary-50:oklch(12.44% 0 89.88);--color-primary-100:oklch(15.84% 0 89.88);--color-primary-200:oklch(20.78% 0 89.88);--color-primary-300:oklch(30% .006 80);--color-primary-400:oklch(40% .006 80);--color-primary-500:oklch(52% .006 80);--color-primary-600:oklch(65% .006 80);--color-primary-700:oklch(73% .006 80);--color-primary-800:oklch(83% .005 80);--color-primary-900:oklch(89.5% .004 80);--color-primary-950:oklch(94.5% .003 80);--color-surface:var(--color-black);--color-ink:var(--color-white);--color-surface-deep:oklch(18% 0 0)}}.chameleon{color-scheme:light;--color-primary-50:oklch(97.5% .012 155);--color-primary-100:oklch(95.5% .018 155);--color-primary-200:oklch(91.5% .025 155);--color-primary-300:oklch(86% .035 160);--color-primary-400:oklch(75% .045 165);--color-primary-500:oklch(62% .055 168);--color-primary-600:oklch(50% .055 168);--color-primary-700:oklch(42% .045 165);--color-primary-800:oklch(35% .035 160);--color-primary-900:oklch(28% .025 155);--color-primary-950:oklch(22% .018 155);--color-surface:oklch(98% .008 155);--color-ink:oklch(25% .025 155)}html,body{margin:calc(var(--spacing)*0);font-family:var(--font-sans);letter-spacing:-.15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}.font-sans{letter-spacing:-.15px}.inline-code{background:var(--color-primary-100);border:1px solid var(--color-primary-200);color:var(--color-primary-900);white-space:nowrap;border-radius:.5rem;padding:.1rem .4rem;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.95em}.code-block .shiki{margin:0;background:0 0!important}.code-block .shiki code{font-size:.875rem;line-height:1.5;display:block}code{font-family:JetBrains Mono,Menlo,Monaco,Consolas,Courier New,monospace}@keyframes shimmer{0%{background-position:200%}to{background-position:-200%}}@keyframes stream-fade-in{0%{opacity:.4}to{opacity:1}}.stream-fade-in{animation:.25s ease-out stream-fade-in}@media(prefers-reduced-motion:reduce){.stream-fade-in{animation:none}*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as i,a as he,j as V}from"./main-BlX7CS2-.js";import{f as X,a6 as c,a3 as w,b as ve,a7 as pe,a as G,c as H}from"./button-BcnCTjUT.js";import{u as be}from"./opencami-logo-5KynvViW.js";import{c as M,e as x,a as K,b1 as ge,g as xe,b2 as ke,X as ye,d as Ce,n as Ie}from"./useButton-DhneLsMA.js";const Q=i.createContext(void 0);function Ve(){const e=i.useContext(Q);if(e===void 0)throw new Error(X(63));return e}let Y=(function(e){return e.disabled="data-disabled",e.valid="data-valid",e.invalid="data-invalid",e.touched="data-touched",e.dirty="data-dirty",e.filled="data-filled",e.focused="data-focused",e})({});const Re={badInput:!1,customError:!1,patternMismatch:!1,rangeOverflow:!1,rangeUnderflow:!1,stepMismatch:!1,tooLong:!1,tooShort:!1,typeMismatch:!1,valid:null,valueMissing:!1},Ee={valid(e){return e===null?null:e?{[Y.valid]:""}:{[Y.invalid]:""}}};let J=(function(e){return e.checked="data-checked",e.unchecked="data-unchecked",e.disabled="data-disabled",e.readonly="data-readonly",e.required="data-required",e.valid="data-valid",e.invalid="data-invalid",e.touched="data-touched",e.dirty="data-dirty",e.filled="data-filled",e.focused="data-focused",e})({});const W={...Ee,checked(e){return e?{[J.checked]:""}:{[J.unchecked]:""}}};function Pe(e,t){return{...e,state:{...e.state,valid:!t&&e.state.valid}}}const we=i.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:c,validationMode:"onSubmit",submitAttemptedRef:{current:!1}});function Z(){return i.useContext(we)}const Me=i.createContext({invalid:void 0,name:void 0,validityData:{state:Re,errors:[],error:"",value:"",initialValue:null},setValidityData:c,disabled:void 0,touched:!1,setTouched:c,dirty:!1,setDirty:c,filled:!1,setFilled:c,focused:!1,setFocused:c,validate:()=>null,validationMode:"onSubmit",validationDebounceTime:0,shouldValidateOnChange:()=>!1,state:{disabled:!1,valid:null,touched:!1,dirty:!1,filled:!1,focused:!1},markedDirtyRef:{current:!1},validation:{getValidationProps:(e=w)=>e,getInputValidationProps:(e=w)=>e,inputRef:{current:null},commit:async()=>{}}});function T(e=!0){const t=i.useContext(Me);if(t.setValidityData===c&&!e)throw new Error(X(28));return t}function Te(e){const{enabled:t=!0,value:a,id:n,name:f,controlRef:s,commit:d}=e,{formRef:r}=Z(),{invalid:k,markedDirtyRef:y,validityData:C,setValidityData:p}=T(),o=M(e.getValue);x(()=>{if(!t)return;let u=a;u===void 0&&(u=o()),C.initialValue===null&&u!==null&&p(b=>({...b,initialValue:u}))},[t,p,a,C.initialValue,o]),x(()=>{!t||!n||r.current.fields.set(n,{getValue:o,name:f,controlRef:s,validityData:Pe(C,k),validate(u=!0){let b=a;b===void 0&&(b=o()),y.current=!0,u?he.flushSync(()=>d(b)):d(b)}})},[d,s,t,r,o,n,k,y,f,C,a]),x(()=>{const u=r.current.fields;return()=>{n&&u.delete(n)}},[r,n])}const ze=i.createContext({controlId:void 0,setControlId:c,labelId:void 0,setLabelId:c,messageIds:[],setMessageIds:c,getDescriptionProps:e=>e});function $(){return i.useContext(ze)}function Se(e={}){const{id:t,implicit:a=!1,controlRef:n}=e,{controlId:f,setControlId:s}=$(),d=K(t);return x(()=>{if(!(!a&&!t||s===c)){if(a){const r=n?.current;ge(r)&&r.closest("label")!=null?s(t??null):s(f??d)}else t&&s(t);return()=>{t&&s(void 0)}}},[t,n,f,s,a,d]),f??d}function _e(e,t){const a=i.useRef(e),n=M(t);x(()=>{a.current!==e&&n(a.current)},[e,n]),x(()=>{a.current=e},[e])}const Be=i.forwardRef(function(t,a){const{checked:n,className:f,defaultChecked:s,id:d,inputRef:r,name:k,nativeButton:y=!1,onCheckedChange:C,readOnly:p=!1,required:o=!1,disabled:u=!1,render:b,uncheckedValue:z,value:E,...A}=t,{clearErrors:ee}=Z(),{state:S,setTouched:te,setDirty:ae,validityData:ne,setFilled:P,setFocused:_,shouldValidateOnChange:ie,validationMode:se,disabled:le,name:de,validation:m}=T(),{labelId:re}=$(),h=le||u,g=de??k,B=M(C),I=i.useRef(null),L=ve(I,r,m.inputRef),R=i.useRef(null),j=K(),F=Se({id:d,implicit:!1,controlRef:R}),O=y?void 0:F,[l,N]=be({controlled:n,default:!!s,name:"Switch",state:"checked"});Te({id:j,commit:m.commit,value:l,controlRef:R,name:g,getValue:()=>l}),x(()=>{I.current&&P(I.current.checked)},[I,P]),_e(l,()=>{ee(g),ae(l!==ne.initialValue),P(l),ie()?m.commit(l):m.commit(l,!0)});const{getButtonProps:oe,buttonRef:ce}=xe({disabled:h,native:y}),ue={id:y?F:j,role:"switch","aria-checked":l,"aria-readonly":p||void 0,"aria-required":o||void 0,"aria-labelledby":re,onFocus(){h||_(!0)},onBlur(){const v=I.current;!v||h||(te(!0),_(!1),se==="onBlur"&&m.commit(v.checked))},onClick(v){p||h||(v.preventDefault(),I?.current?.click())}},fe=i.useMemo(()=>pe({checked:l,disabled:h,id:O,name:g,required:o,style:g?ke:ye,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:L,onChange(v){if(v.nativeEvent.defaultPrevented)return;const D=v.target.checked,U=Ce(Ie,v.nativeEvent);B?.(D,U),!U.isCanceled&&N(D)},onFocus(){R.current?.focus()}},m.getInputValidationProps,E!==void 0?{value:E}:w),[l,h,L,O,g,B,o,N,m,E]),q=i.useMemo(()=>({...S,checked:l,disabled:h,readOnly:p,required:o}),[S,l,h,p,o]),me=G("span",t,{state:q,ref:[a,R,ce],props:[ue,m.getValidationProps,A,oe],stateAttributesMapping:W});return V.jsxs(Q.Provider,{value:q,children:[me,!l&&g&&z!==void 0&&V.jsx("input",{type:"hidden",name:g,value:z}),V.jsx("input",{...fe})]})}),Le=i.forwardRef(function(t,a){const{render:n,className:f,...s}=t,{state:d}=T(),r=Ve(),k={...d,...r};return G("span",t,{state:k,ref:a,stateAttributesMapping:W,props:s})});function qe({className:e,...t}){return V.jsx(Be,{className:H("inline-flex h-[calc(var(--thumb-size)+2px)] w-[calc(var(--thumb-size)*2-2px)] shrink-0 items-center rounded-full p-px outline-none transition-[background-color,box-shadow] duration-200 [--thumb-size:--spacing(5)] focus-visible:ring-2 focus-visible:ring-primary-950 focus-visible:ring-offset-1 focus-visible:ring-offset-background data-checked:bg-primary-900 data-unchecked:bg-primary-200 data-disabled:opacity-64 sm:[--thumb-size:--spacing(4)]",e),"data-slot":"switch",...t,children:V.jsx(Le,{className:H("pointer-events-none block aspect-square h-full origin-left in-[[role=switch]:active,[data-slot=label]:active]:not-data-disabled:scale-x-110 in-[[role=switch]:active,[data-slot=label]:active]:rounded-[var(--thumb-size)/calc(var(--thumb-size)*1.1)] rounded-(--thumb-size) bg-primary-50 shadow-sm/5 will-change-transform [transition:translate_.15s,border-radius_.15s,scale_.1s_.1s,transform-origin_.15s] data-checked:origin-[var(--thumb-size)_50%] data-checked:translate-x-[calc(var(--thumb-size)-4px)]"),"data-slot":"switch-thumb"})})}export{qe as S};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import{S as ro,s as so,h as $t,e as io,n as dn,u as ao,r as i,f as co,i as uo,j as K,a as Mt}from"./main-BlX7CS2-.js";import{b as lt,a3 as Ye,a4 as ft,a5 as lo,f as Ke,a as Oe,a6 as fo,u as dt,c as We,B as po,a7 as Ot}from"./button-BcnCTjUT.js";import{C as kt,D as he,E as Qe,F as Le,G as Ae,H as zt,I as Te,J as pn,c as le,K as It,L as we,M as Ft,N as go,k as De,h as Nt,O as pt,P as gn,Q as Lt,R as Me,S as qt,U as Xt,V as Fe,e as ne,W as He,l as ae,X as mo,Y as Jt,Z as Ve,_ as mn,$ as hn,a0 as bn,a1 as gt,a2 as Pt,a3 as yn,a4 as ho,a5 as _e,d as pe,a6 as Je,a7 as Rn,a8 as mt,a9 as bo,aa as yo,ab as Ro,ac as Qt,ad as xo,t as at,ae as vo,af as ht,ag as ct,ah as xn,ai as bt,f as At,g as Dt,aj as Eo,a as yt,ak as et,j as vn,al as En,am as Zt,an as Be,ao as Cn,ap as Sn,o as Co,A as So,aq as Tn,ar as wn,as as Mn,at as On,au as In,av as Bt,aw as Pn,ax as kn,ay as Fn,az as Nn,aA as Q,aB as Ln,aC as To,aD as wo,aE as Mo,aF as Oo,aG as Io,aH as Po,aI as ze,aJ as An,aK as Dn,m as ko,aL as Fo,aM as en,aN as No,aO as Lo,aP as Bn,aQ as Ao,aR as Do,aS as Bo,aT as Ho,aU as Ko,aV as Wo,aW as tn,aX as jo,aY as Uo,aZ as _o,a_ as Vo}from"./useButton-DhneLsMA.js";import{c as Go}from"./react-ONC2UaeC.js";var Yo=class extends ro{#t;#o=void 0;#e;#n;constructor(t,n){super(),this.#t=t,this.setOptions(n),this.bindMethods(),this.#r()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(t){const n=this.options;this.options=this.#t.defaultMutationOptions(t),so(this.options,n)||this.#t.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#e,observer:this}),n?.mutationKey&&this.options.mutationKey&&$t(n.mutationKey)!==$t(this.options.mutationKey)?this.reset():this.#e?.state.status==="pending"&&this.#e.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#e?.removeObserver(this)}onMutationUpdate(t){this.#r(),this.#s(t)}getCurrentResult(){return this.#o}reset(){this.#e?.removeObserver(this),this.#e=void 0,this.#r(),this.#s()}mutate(t,n){return this.#n=n,this.#e?.removeObserver(this),this.#e=this.#t.getMutationCache().build(this.#t,this.options),this.#e.addObserver(this),this.#e.execute(t)}#r(){const t=this.#e?.state??io();this.#o={...t,isPending:t.status==="pending",isSuccess:t.status==="success",isError:t.status==="error",isIdle:t.status==="idle",mutate:this.mutate,reset:this.reset}}#s(t){dn.batch(()=>{if(this.#n&&this.hasListeners()){const n=this.#o.variables,o=this.#o.context,s={client:this.#t,meta:this.options.meta,mutationKey:this.options.mutationKey};if(t?.type==="success"){try{this.#n.onSuccess?.(t.data,n,o,s)}catch(r){Promise.reject(r)}try{this.#n.onSettled?.(t.data,null,n,o,s)}catch(r){Promise.reject(r)}}else if(t?.type==="error"){try{this.#n.onError?.(t.error,n,o,s)}catch(r){Promise.reject(r)}try{this.#n.onSettled?.(void 0,t.error,n,o,s)}catch(r){Promise.reject(r)}}}this.listeners.forEach(n=>{n(this.#o)})})}};function Cs(e,t){const n=ao(),[o]=i.useState(()=>new Yo(n,e));i.useEffect(()=>{o.setOptions(e)},[o,e]);const s=i.useSyncExternalStore(i.useCallback(p=>o.subscribe(dn.batchCalls(p)),[o]),()=>o.getCurrentResult(),()=>o.getCurrentResult()),r=i.useCallback((p,u)=>{o.mutate(p,u).catch(co)},[o]);if(s.error&&uo(o.options.throwOnError,[s.error]))throw s.error;return{...s,mutate:r,mutateAsync:s.mutate}}function tt(e,t,n){return Math.floor(e/t)!==n}function qe(e,t){return t<0||t>=e.current.length}function Ct(e,t){return me(e,{disabledIndices:t})}function nn(e,t){return me(e,{decrement:!0,startingIndex:e.current.length,disabledIndices:t})}function me(e,{startingIndex:t=-1,decrement:n=!1,disabledIndices:o,amount:s=1}={}){let r=t;do r+=n?-s:s;while(r>=0&&r<=e.current.length-1&&Xe(e,r,o));return r}function $o(e,{event:t,orientation:n,loopFocus:o,rtl:s,cols:r,disabledIndices:p,minIndex:u,maxIndex:c,prevIndex:d,stopEvent:m=!1}){let g=d;const x=[],v={};let y=!1;{let f=null,l=-1;e.current.forEach((b,E)=>{if(b==null)return;const a=b.closest('[role="row"]');a&&(y=!0),(a!==f||l===-1)&&(f=a,l+=1,x[l]=[]),x[l].push(E),v[E]=l})}const h=y&&x.length>0&&x.some(f=>f.length!==r);function R(f){if(!h||d===-1)return;const l=v[d];if(l==null)return;const b=x[l].indexOf(d);let E=f==="up"?l-1:l+1;o&&(E<0?E=x.length-1:E>=x.length&&(E=0));const a=new Set;for(;E>=0&&E<x.length&&!a.has(E);){a.add(E);const T=x[E];if(T.length===0){E=f==="up"?E-1:E+1;continue}const I=Math.min(b,T.length-1);for(let D=I;D>=0;D-=1){const P=T[D];if(!Xe(e,P,p))return P}E=f==="up"?E-1:E+1,o&&(E<0?E=x.length-1:E>=x.length&&(E=0))}}if(t.key===kt){const f=R("up");if(f!==void 0)m&&he(t),g=f;else{if(m&&he(t),d===-1)g=c;else if(g=me(e,{startingIndex:g,amount:r,decrement:!0,disabledIndices:p}),o&&(d-r<u||g<0)){const l=d%r,b=c%r,E=c-(b-l);b===l?g=c:g=b>l?E:E-r}qe(e,g)&&(g=d)}}if(t.key===Qe){const f=R("down");f!==void 0?(m&&he(t),g=f):(m&&he(t),d===-1?g=u:(g=me(e,{startingIndex:d,amount:r,disabledIndices:p}),o&&d+r>c&&(g=me(e,{startingIndex:d%r-r,amount:r,disabledIndices:p}))),qe(e,g)&&(g=d))}if(n==="both"){const f=zt(d/r);t.key===(s?Le:Ae)&&(m&&he(t),d%r!==r-1?(g=me(e,{startingIndex:d,disabledIndices:p}),o&&tt(g,r,f)&&(g=me(e,{startingIndex:d-d%r-1,disabledIndices:p}))):o&&(g=me(e,{startingIndex:d-d%r-1,disabledIndices:p})),tt(g,r,f)&&(g=d)),t.key===(s?Ae:Le)&&(m&&he(t),d%r!==0?(g=me(e,{startingIndex:d,decrement:!0,disabledIndices:p}),o&&tt(g,r,f)&&(g=me(e,{startingIndex:d+(r-d%r),decrement:!0,disabledIndices:p}))):o&&(g=me(e,{startingIndex:d+(r-d%r),decrement:!0,disabledIndices:p})),tt(g,r,f)&&(g=d));const l=zt(c/r)===f;qe(e,g)&&(o&&l?g=t.key===(s?Ae:Le)?c:me(e,{startingIndex:d-d%r-1,disabledIndices:p}):g=d)}return g}function zo(e,t,n){const o=[];let s=0;return e.forEach(({width:r,height:p},u)=>{let c=!1;for(n&&(s=0);!c;){const d=[];for(let m=0;m<r;m+=1)for(let g=0;g<p;g+=1)d.push(s+m+g*t);s%t+r<=t&&d.every(m=>o[m]==null)?(d.forEach(m=>{o[m]=u}),c=!0):s+=1}}),[...o]}function qo(e,t,n,o,s){if(e===-1)return-1;const r=n.indexOf(e),p=t[e];switch(s){case"tl":return r;case"tr":return p?r+p.width-1:r;case"bl":return p?r+(p.height-1)*o:r;case"br":return n.lastIndexOf(e);default:return-1}}function Xo(e,t){return t.flatMap((n,o)=>e.includes(n)?[o]:[])}function Xe(e,t,n){if(typeof n=="function")return n(t);if(n)return n.includes(t);const o=e.current[t];return o?o.hasAttribute("disabled")||o.getAttribute("aria-disabled")==="true":!1}let on=0;function ut(e,t={}){const{preventScroll:n=!1,cancelPrevious:o=!0,sync:s=!1}=t;o&&cancelAnimationFrame(on);const r=()=>e?.focus({preventScroll:n});s?r():on=requestAnimationFrame(r)}const Ge={inert:new WeakMap,"aria-hidden":new WeakMap,none:new WeakMap};function rn(e){return e==="inert"?Ge.inert:e==="aria-hidden"?Ge["aria-hidden"]:Ge.none}let nt=new WeakSet,ot={},St=0;const Hn=e=>e&&(e.host||Hn(e.parentNode)),Jo=(e,t)=>t.map(n=>{if(e.contains(n))return n;const o=Hn(n);return e.contains(o)?o:null}).filter(n=>n!=null);function Qo(e,t,n,o){const s="data-base-ui-inert",r=o?"inert":n?"aria-hidden":null,p=Jo(t,e),u=new Set,c=new Set(p),d=[];ot[s]||(ot[s]=new WeakMap);const m=ot[s];p.forEach(g),x(t),u.clear();function g(v){!v||u.has(v)||(u.add(v),v.parentNode&&g(v.parentNode))}function x(v){!v||c.has(v)||[].forEach.call(v.children,y=>{if(pn(y)!=="script")if(u.has(y))x(y);else{const h=r?y.getAttribute(r):null,R=h!==null&&h!=="false",f=rn(r),l=(f.get(y)||0)+1,b=(m.get(y)||0)+1;f.set(y,l),m.set(y,b),d.push(y),l===1&&R&&nt.add(y),b===1&&y.setAttribute(s,""),!R&&r&&y.setAttribute(r,r==="inert"?"":"true")}})}return St+=1,()=>{d.forEach(v=>{const y=rn(r),R=(y.get(v)||0)-1,f=(m.get(v)||0)-1;y.set(v,R),m.set(v,f),R||(!nt.has(v)&&r&&v.removeAttribute(r),nt.delete(v)),f||v.removeAttribute(s)}),St-=1,St||(Ge.inert=new WeakMap,Ge["aria-hidden"]=new WeakMap,Ge.none=new WeakMap,nt=new WeakSet,ot={})}}function Zo(e,t=!1,n=!1){const o=Te(e[0]).body;return Qo(e.concat(Array.from(o.querySelectorAll("[aria-live]"))),o,t,n)}function er(e,t){const n=mt(e.target);return e instanceof n.KeyboardEvent?"keyboard":e instanceof n.FocusEvent?t||"keyboard":"pointerType"in e?e.pointerType||"keyboard":"touches"in e?"touch":e instanceof n.MouseEvent?t||(e.detail===0?"keyboard":"mouse"):""}const sn=20;let Ne=[];function Ht(){Ne=Ne.filter(e=>e.isConnected)}function tr(e){Ht(),e&&pn(e)!=="body"&&(Ne.push(e),Ne.length>sn&&(Ne=Ne.slice(-sn)))}function Tt(){return Ht(),Ne[Ne.length-1]}function nr(e){if(!e)return null;const t=Lt();return Rn(e,t)?e:gn(e,t)[0]||e}function or(e){return!e||!e.isConnected?!1:typeof e.checkVisibility=="function"?e.checkVisibility():Ro(e).display!=="none"}function an(e,t){if(!t.current.includes("floating")&&!e.getAttribute("role")?.includes("dialog"))return;const n=Lt(),s=yo(e,n).filter(p=>{const u=p.getAttribute("data-tabindex")||"";return Rn(p,n)||p.hasAttribute("data-tabindex")&&!u.startsWith("-")}),r=e.getAttribute("tabindex");t.current.includes("floating")||s.length===0?r!=="0"&&e.setAttribute("tabindex","0"):(r!=="-1"||e.hasAttribute("data-tabindex")&&e.getAttribute("data-tabindex")!=="-1")&&(e.setAttribute("tabindex","-1"),e.setAttribute("data-tabindex","-1"))}function Kn(e){const{context:t,children:n,disabled:o=!1,order:s=["content"],initialFocus:r=!0,returnFocus:p=!0,restoreFocus:u=!1,modal:c=!0,closeOnFocusOut:d=!0,openInteractionType:m="",getInsideElements:g=()=>[],nextFocusableElement:x,previousFocusableElement:v,beforeContentFocusGuardRef:y,externalTree:h}=e,R="rootStore"in t?t.rootStore:t,f=R.useState("open"),l=R.useState("domReferenceElement"),b=R.useState("floatingElement"),{events:E,dataRef:a}=R.context,T=le(()=>a.current.floatingContext?.nodeId),I=le(g),D=r===!1,P=It(l)&&D,U=we(s),_=we(r),q=we(p),V=we(m),Y=Ft(h),M=go(),G=i.useRef(null),re=i.useRef(null),z=i.useRef(!1),se=i.useRef(!1),O=i.useRef(!1),te=i.useRef(-1),ce=i.useRef(""),k=i.useRef(""),be=i.useRef(null),ye=i.useRef(null),Ce=lt(be,y,M?.beforeInsideRef),ie=lt(ye,M?.afterInsideRef),Re=De(),fe=De(),Z=Nt(),$=M!=null,N=pt(b),ge=le((F=N)=>F?gn(F,Lt()):[]),xe=le(F=>{const w=ge(F);return U.current.map(()=>w).filter(Boolean).flat()});i.useEffect(()=>{if(o||!c)return;function F(H){H.key==="Tab"&&ae(N,He(Te(N)))&&ge().length===0&&!P&&he(H)}const w=Te(N);return w.addEventListener("keydown",F),()=>{w.removeEventListener("keydown",F)}},[o,l,N,c,U,P,ge,xe]),i.useEffect(()=>{if(o||!b)return;function F(w){const H=_e(w),X=ge().indexOf(H);X!==-1&&(te.current=X)}return b.addEventListener("focusin",F),()=>{b.removeEventListener("focusin",F)}},[o,b,ge]),i.useEffect(()=>{if(o||!f)return;const F=Te(N);function w(){O.current=!1}function H(X){const L=_e(X),W=ae(b,L)||ae(l,L)||ae(M?.portalNode,L);O.current=!W,k.current=X.pointerType||"keyboard"}function A(){k.current="keyboard"}return F.addEventListener("pointerdown",H,!0),F.addEventListener("pointerup",w,!0),F.addEventListener("pointercancel",w,!0),F.addEventListener("keydown",A,!0),()=>{F.removeEventListener("pointerdown",H,!0),F.removeEventListener("pointerup",w,!0),F.removeEventListener("pointercancel",w,!0),F.removeEventListener("keydown",A,!0)}},[o,b,l,N,f,M]),i.useEffect(()=>{if(o||!d)return;function F(){se.current=!0,fe.start(0,()=>{se.current=!1})}function w(L){const W=L.relatedTarget,C=L.currentTarget,B=_e(L);queueMicrotask(()=>{const S=T(),J=R.context.triggerElements,oe=W?.hasAttribute(qt("focus-guard"))&&[be.current,ye.current,M?.beforeInsideRef.current,M?.afterInsideRef.current,M?.beforeOutsideRef.current,M?.afterOutsideRef.current,Fe(v),Fe(x)].includes(W),de=!(ae(l,W)||ae(b,W)||ae(W,b)||ae(M?.portalNode,W)||W!=null&&J.hasElement(W)||J.hasMatchingElement(ue=>ae(ue,W))||oe||Y&&(Jt(Y.nodesRef.current,S).find(ue=>ae(ue.context?.elements.floating,W)||ae(ue.context?.elements.domReference,W))||Xt(Y.nodesRef.current,S).find(ue=>[ue.context?.elements.floating,pt(ue.context?.elements.floating)].includes(W)||ue.context?.elements.domReference===W)));if(C===l&&N&&an(N,U),u&&C!==l&&!or(B)&&He(Te(N))===Te(N).body){if(Me(N)&&(N.focus(),u==="popup")){Z.request(()=>{N.focus()});return}const ue=te.current,Ie=ge(),Pe=Ie[ue]||Ie[Ie.length-1]||N;Me(Pe)&&Pe.focus()}if(a.current.insideReactTree){a.current.insideReactTree=!1;return}(P||!c)&&W&&de&&!se.current&&(P||W!==Tt())&&(z.current=!0,R.setOpen(!1,pe(Je,L)))})}function H(){O.current||(a.current.insideReactTree=!0,Re.start(0,()=>{a.current.insideReactTree=!1}))}const A=Me(l)?l:null,X=[];if(!(!b&&!A))return A&&(A.addEventListener("focusout",w),A.addEventListener("pointerdown",F),X.push(()=>{A.removeEventListener("focusout",w),A.removeEventListener("pointerdown",F)})),b&&(b.addEventListener("focusout",w),M&&(b.addEventListener("focusout",H,!0),X.push(()=>{b.removeEventListener("focusout",H,!0)})),X.push(()=>{b.removeEventListener("focusout",w)})),()=>{X.forEach(L=>{L()})}},[o,l,b,N,c,Y,M,R,d,u,ge,P,T,U,a,Re,fe,Z,x,v]),i.useEffect(()=>{if(o||!b||!f)return;const F=Array.from(M?.portalNode?.querySelectorAll(`[${qt("portal")}]`)||[]),H=(Y?Xt(Y.nodesRef.current,T()):[]).find(L=>It(L.context?.elements.domReference||null))?.context?.elements.domReference,A=[b,H,...F,...I(),G.current,re.current,be.current,ye.current,M?.beforeOutsideRef.current,M?.afterOutsideRef.current,Fe(v),Fe(x),P?l:null].filter(L=>L!=null),X=Zo(A,c||P);return()=>{X()}},[f,o,l,b,c,U,M,P,Y,T,I,x,v]),ne(()=>{if(!f||o||!Me(N))return;const F=Te(N),w=He(F);queueMicrotask(()=>{const H=xe(N),A=_.current,X=typeof A=="function"?A(V.current||""):A;if(X===void 0||X===!1)return;let L;X===!0||X===null?L=H[0]||N:L=Fe(X),L=L||H[0]||N,!ae(N,w)&&ut(L,{preventScroll:L===N})})},[o,f,N,D,xe,_,V]),ne(()=>{if(o||!N)return;const F=Te(N),w=He(F);tr(w);function H(L){if(L.open||(ce.current=er(L.nativeEvent,k.current)),L.reason===Ve&&L.nativeEvent.type==="mouseleave"&&(z.current=!0),L.reason===mn)if(L.nested)z.current=!1;else if(hn(L.nativeEvent)||bn(L.nativeEvent))z.current=!1;else{let W=!1;document.createElement("div").focus({get preventScroll(){return W=!0,!1}}),W?z.current=!1:z.current=!0}}E.on("openchange",H);const A=F.createElement("span");A.setAttribute("tabindex","-1"),A.setAttribute("aria-hidden","true"),Object.assign(A.style,mo),$&&l&&l.insertAdjacentElement("afterend",A);function X(){const L=q.current;let W=typeof L=="function"?L(ce.current):L;if(W===void 0||W===!1)return null;if(W===null&&(W=!0),typeof W=="boolean"){const B=l||Tt();return B&&B.isConnected?B:A}const C=l||Tt()||A;return Fe(W)||C}return()=>{E.off("openchange",H);const L=He(F),W=ae(b,L)||Y&&Jt(Y.nodesRef.current,T(),!1).some(B=>ae(B.context?.elements.floating,L)),C=X();queueMicrotask(()=>{const B=nr(C),S=typeof q.current!="boolean";q.current&&!z.current&&Me(B)&&(!(!S&&B!==L&&L!==F.body)||W)&&B.focus({preventScroll:!0}),A.remove()})}},[o,b,N,q,a,E,Y,$,l,T]),i.useEffect(()=>{queueMicrotask(()=>{z.current=!1})},[o]),i.useEffect(()=>{if(o||!f)return;function F(H){_e(H)?.closest(`[${bo}]`)&&(se.current=!0)}const w=Te(N);return w.addEventListener("pointerdown",F,!0),()=>{w.removeEventListener("pointerdown",F,!0)}},[o,f,N]),ne(()=>{if(!o&&M)return M.setFocusManagerState({modal:c,closeOnFocusOut:d,open:f,onOpenChange:R.setOpen,domReference:l}),()=>{M.setFocusManagerState(null)}},[o,M,c,f,R,d,l]),ne(()=>{if(!(o||!N))return an(N,U),()=>{queueMicrotask(Ht)}},[o,N,U]);const Ee=!o&&(c?!P:!0)&&($||c);return K.jsxs(i.Fragment,{children:[Ee&&K.jsx(gt,{"data-type":"inside",ref:Ce,onFocus:F=>{if(c){const w=xe();ut(w[w.length-1])}else M?.portalNode&&(z.current=!1,Pt(F,M.portalNode)?yn(l)?.focus():Fe(v??M.beforeOutsideRef)?.focus())}}),n,Ee&&K.jsx(gt,{"data-type":"inside",ref:ie,onFocus:F=>{c?ut(xe()[0]):M?.portalNode&&(d&&(z.current=!0),Pt(F,M.portalNode)?ho(l)?.focus():Fe(x??M.afterOutsideRef)?.focus())}})]})}function rr(e,t={}){const n="rootStore"in e?e.rootStore:e,o=n.context.dataRef,{enabled:s=!0,event:r="click",toggle:p=!0,ignoreMouse:u=!1,stickIfOpen:c=!0,touchOpenDelay:d=0}=t,m=i.useRef(void 0),g=Nt(),x=De(),v=i.useMemo(()=>({onPointerDown(y){m.current=y.pointerType},onMouseDown(y){const h=m.current,R=y.nativeEvent,f=n.select("open");if(y.button!==0||r==="click"||Qt(h,!0)&&u)return;const l=o.current.openEvent,b=l?.type,E=n.select("domReferenceElement")!==y.currentTarget,a=f&&E||!(f&&p&&(!(l&&c)||b==="click"||b==="mousedown"));if(vo(R.target)){const I=pe(at,R,R.target);a&&h==="touch"&&d>0?x.start(d,()=>{n.setOpen(!0,I)}):n.setOpen(a,I);return}const T=y.currentTarget;g.request(()=>{const I=pe(at,R,T);a&&h==="touch"&&d>0?x.start(d,()=>{n.setOpen(!0,I)}):n.setOpen(a,I)})},onClick(y){if(r==="mousedown-only")return;const h=m.current;if(r==="mousedown"&&h){m.current=void 0;return}if(Qt(h,!0)&&u)return;const R=n.select("open"),f=o.current.openEvent,l=n.select("domReferenceElement")!==y.currentTarget,b=R&&l||!(R&&p&&(!(f&&c)||xo(f))),E=pe(at,y.nativeEvent,y.currentTarget);b&&h==="touch"&&d>0?x.start(d,()=>{n.setOpen(!0,E)}):n.setOpen(b,E)},onKeyDown(){m.current=void 0}}),[o,r,u,n,c,p,g,x,d]);return i.useMemo(()=>s?{reference:v}:Ye,[s,v])}const sr="Escape";function Rt(e,t,n){switch(e){case"vertical":return t;case"horizontal":return n;default:return t||n}}function rt(e,t){return Rt(t,e===kt||e===Qe,e===Le||e===Ae)}function wt(e,t,n){return Rt(t,e===Qe,n?e===Le:e===Ae)||e==="Enter"||e===" "||e===""}function ir(e,t,n){return Rt(t,n?e===Le:e===Ae,e===Qe)}function ar(e,t,n,o){const s=n?e===Ae:e===Le,r=e===kt;return t==="both"||t==="horizontal"&&o&&o>1?e===sr:Rt(t,s,r)}function cr(e,t){const n="rootStore"in e?e.rootStore:e,o=n.useState("open"),s=n.useState("floatingElement"),r=n.useState("domReferenceElement"),p=n.context.dataRef,{listRef:u,activeIndex:c,onNavigate:d=()=>{},enabled:m=!0,selectedIndex:g=null,allowEscape:x=!1,loopFocus:v=!1,nested:y=!1,rtl:h=!1,virtual:R=!1,focusItemOnOpen:f="auto",focusItemOnHover:l=!0,openOnArrowKeyDown:b=!0,disabledIndices:E=void 0,orientation:a="vertical",parentOrientation:T,cols:I=1,scrollItemIntoView:D=!0,itemSizes:P,dense:U=!1,id:_,resetOnPointerLeave:q=!0,externalTree:V}=t,Y=pt(s),M=we(Y),G=ht(),re=Ft(V);ne(()=>{p.current.orientation=a},[p,a]);const z=It(r),se=i.useRef(f),O=i.useRef(g??-1),te=i.useRef(null),ce=i.useRef(!0),k=le(C=>{d(O.current===-1?null:O.current,C)}),be=i.useRef(k),ye=i.useRef(!!s),Ce=i.useRef(o),ie=i.useRef(!1),Re=i.useRef(!1),fe=we(E),Z=we(o),$=we(D),N=we(g),ge=we(q),xe=le(()=>{function C(oe){R?re?.events.emit("virtualfocus",oe):ut(oe,{sync:ie.current,preventScroll:!0})}const B=u.current[O.current],S=Re.current;B&&C(B),(ie.current?oe=>oe():requestAnimationFrame)(()=>{const oe=u.current[O.current]||B;if(!oe)return;B||C(oe);const de=$.current;de&&F&&(S||!ce.current)&&oe.scrollIntoView?.(typeof de=="boolean"?{block:"nearest",inline:"nearest"}:de)})});ne(()=>{m&&(o&&s?(O.current=g??-1,se.current&&g!=null&&(Re.current=!0,k())):ye.current&&(O.current=-1,be.current()))},[m,o,s,g,k]),ne(()=>{if(m){if(!o){ie.current=!1;return}if(s)if(c==null){if(ie.current=!1,N.current!=null)return;if(ye.current&&(O.current=-1,xe()),(!Ce.current||!ye.current)&&se.current&&(te.current!=null||se.current===!0&&te.current==null)){let C=0;const B=()=>{u.current[0]==null?(C<2&&(C?requestAnimationFrame:queueMicrotask)(B),C+=1):(O.current=te.current==null||wt(te.current,a,h)||y?Ct(u):nn(u),te.current=null,k())};B()}}else qe(u,c)||(O.current=c,xe(),Re.current=!1)}},[m,o,s,c,N,y,u,a,h,k,xe,fe]),ne(()=>{if(!m||s||!re||R||!ye.current)return;const C=re.nodesRef.current,B=C.find(oe=>oe.id===G)?.context?.elements.floating,S=He(Te(s)),J=C.some(oe=>oe.context&&ae(oe.context.elements.floating,S));B&&!J&&ce.current&&B.focus({preventScroll:!0})},[m,s,re,G,R]),ne(()=>{be.current=k,Ce.current=o,ye.current=!!s}),ne(()=>{o||(te.current=null,se.current=f)},[o,f]);const Ee=c!=null,F=i.useMemo(()=>{function C(S){if(!Z.current)return;const J=u.current.indexOf(S.currentTarget);J!==-1&&O.current!==J&&(O.current=J,k(S))}return{onFocus(S){ie.current=!0,C(S)},onClick:({currentTarget:S})=>S.focus({preventScroll:!0}),onMouseMove(S){ie.current=!0,Re.current=!1,l&&C(S)},onPointerLeave(S){if(!Z.current||!ce.current||S.pointerType==="touch")return;ie.current=!0;const J=S.relatedTarget;!l||u.current.includes(J)||ge.current&&(O.current=-1,k(S),R||M.current?.focus({preventScroll:!0}))}}},[Z,M,l,u,k,ge,R]),w=i.useCallback(()=>T??re?.nodesRef.current.find(C=>C.id===G)?.context?.dataRef?.current.orientation,[G,re,T]),H=le(C=>{if(ce.current=!1,ie.current=!0,C.which===229||!Z.current&&C.currentTarget===M.current)return;if(y&&ar(C.key,a,h,I)){rt(C.key,w())||he(C),n.setOpen(!1,pe(ct,C.nativeEvent)),Me(r)&&(R?re?.events.emit("virtualfocus",r):r.focus());return}const B=O.current,S=Ct(u,E),J=nn(u,E);if(z||(C.key==="Home"&&(he(C),O.current=S,k(C)),C.key==="End"&&(he(C),O.current=J,k(C))),I>1){const oe=P||Array.from({length:u.current.length},()=>({width:1,height:1})),de=zo(oe,I,U),ue=de.findIndex(Se=>Se!=null&&!Xe(u,Se,E)),Ie=de.reduce((Se,ke,j)=>ke!=null&&!Xe(u,ke,E)?j:Se,-1),Pe=de[$o({current:de.map(Se=>Se!=null?u.current[Se]:null)},{event:C,orientation:a,loopFocus:v,rtl:h,cols:I,disabledIndices:Xo([...(typeof E!="function"?E:null)||u.current.map((Se,ke)=>Xe(u,ke,E)?ke:void 0),void 0],de),minIndex:ue,maxIndex:Ie,prevIndex:qo(O.current>J?S:O.current,oe,de,I,C.key===Qe?"bl":C.key===(h?Le:Ae)?"tr":"tl"),stopEvent:!0})];if(Pe!=null&&(O.current=Pe,k(C)),a==="both")return}if(rt(C.key,a)){if(he(C),o&&!R&&He(C.currentTarget.ownerDocument)===C.currentTarget){O.current=wt(C.key,a,h)?S:J,k(C);return}wt(C.key,a,h)?v?B>=J?x&&B!==u.current.length?O.current=-1:(ie.current=!1,O.current=S):O.current=me(u,{startingIndex:B,disabledIndices:E}):O.current=Math.min(J,me(u,{startingIndex:B,disabledIndices:E})):v?B<=S?x&&B!==-1?O.current=u.current.length:(ie.current=!1,O.current=J):O.current=me(u,{startingIndex:B,decrement:!0,disabledIndices:E}):O.current=Math.max(S,me(u,{startingIndex:B,decrement:!0,disabledIndices:E})),qe(u,O.current)&&(O.current=-1),k(C)}}),A=i.useMemo(()=>R&&o&&Ee&&{"aria-activedescendant":`${_}-${c}`},[R,o,Ee,_,c]),X=i.useMemo(()=>({"aria-orientation":a==="both"?void 0:a,...z?{}:A,onKeyDown(C){if(C.key==="Tab"&&C.shiftKey&&o&&!R){const B=_e(C.nativeEvent);if(B&&!ae(M.current,B))return;he(C),n.setOpen(!1,pe(Je,C.nativeEvent)),Me(r)&&r.focus();return}H(C)},onPointerMove(){ce.current=!0}}),[A,H,M,a,z,n,o,R,r]),L=i.useMemo(()=>{function C(S){f==="auto"&&hn(S.nativeEvent)&&(se.current=!R)}function B(S){se.current=f,f==="auto"&&bn(S.nativeEvent)&&(se.current=!0)}return{onKeyDown(S){const J=n.select("open");ce.current=!1;const oe=S.key.startsWith("Arrow"),de=ir(S.key,w(),h),ue=rt(S.key,a),Ie=(y?de:ue)||S.key==="Enter"||S.key.trim()==="";if(R&&J)return H(S);if(!(!J&&!b&&oe)){if(Ie){const Pe=rt(S.key,w());te.current=y&&Pe?null:S.key}if(y){de&&(he(S),J?(O.current=Ct(u,fe.current),k(S)):n.setOpen(!0,pe(ct,S.nativeEvent,S.currentTarget)));return}ue&&(N.current!=null&&(O.current=N.current),he(S),!J&&b?n.setOpen(!0,pe(ct,S.nativeEvent,S.currentTarget)):H(S),J&&k(S))}},onFocus(S){n.select("open")&&!R&&(O.current=-1,k(S))},onPointerDown:B,onPointerEnter:B,onMouseDown:C,onClick:C}},[H,fe,f,u,y,k,n,b,a,w,h,N,R]),W=i.useMemo(()=>({...A,...L}),[A,L]);return i.useMemo(()=>m?{reference:W,floating:X,item:F,trigger:L}:{},[m,W,X,L,F])}const ur=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);function Wn(e,t={}){const n="rootStore"in e?e.rootStore:e,o=n.useState("open"),s=n.useState("floatingId"),r=n.useState("domReferenceElement"),p=n.useState("floatingElement"),{enabled:u=!0,role:c="dialog"}=t,d=xn(),m=r?.id||d,g=i.useMemo(()=>pt(p)?.id||s,[p,s]),x=ur.get(c)??c,y=ht()!=null,h=i.useMemo(()=>x==="tooltip"||c==="label"?Ye:{"aria-haspopup":x==="alertdialog"?"dialog":x,"aria-expanded":"false",...x==="listbox"&&{role:"combobox"},...x==="menu"&&y&&{role:"menuitem"},...c==="select"&&{"aria-autocomplete":"none"},...c==="combobox"&&{"aria-autocomplete":"list"}},[x,y,c]),R=i.useMemo(()=>x==="tooltip"||c==="label"?{[`aria-${c==="label"?"labelledby":"describedby"}`]:o?g:void 0}:{...h,"aria-expanded":o?"true":"false","aria-controls":o?g:void 0,...x==="menu"&&{id:m}},[x,g,o,m,c,h]),f=i.useMemo(()=>{const b={id:g,...x&&{role:x}};return x==="tooltip"||c==="label"?b:{...b,...x==="menu"&&{"aria-labelledby":m}}},[x,g,m,c]),l=i.useCallback(({active:b,selected:E})=>{const a={role:"option",...b&&{id:`${g}-fui-option`}};switch(c){case"select":case"combobox":return{...a,"aria-selected":E}}return{}},[g,c]);return i.useMemo(()=>u?{reference:R,floating:f,item:l,trigger:h}:{},[u,R,f,h,l])}function lr(e,t){const n="rootStore"in e?e.rootStore:e,o=n.useState("open"),s=n.context.dataRef,{listRef:r,activeIndex:p,onMatch:u,onTypingChange:c,enabled:d=!0,findMatch:m=null,resetMs:g=750,ignoreKeys:x=ft,selectedIndex:v=null}=t,y=De(),h=i.useRef(""),R=i.useRef(v??p??-1),f=i.useRef(null);ne(()=>{o&&(y.clear(),f.current=null,h.current="")},[o,y]),ne(()=>{o&&h.current===""&&(R.current=v??p??-1)},[o,v,p]);const l=le(T=>{T?s.current.typing||(s.current.typing=T,c?.(T)):s.current.typing&&(s.current.typing=T,c?.(T))}),b=le(T=>{function I(q,V,Y){const M=m?m(V,Y):V.find(G=>G?.toLocaleLowerCase().indexOf(Y.toLocaleLowerCase())===0);return M?q.indexOf(M):-1}const D=r.current;if(h.current.length>0&&h.current[0]!==" "&&(I(D,D,h.current)===-1?l(!1):T.key===" "&&he(T)),D==null||x.includes(T.key)||T.key.length!==1||T.ctrlKey||T.metaKey||T.altKey)return;o&&T.key!==" "&&(he(T),l(!0)),D.every(q=>q?q[0]?.toLocaleLowerCase()!==q[1]?.toLocaleLowerCase():!0)&&h.current===T.key&&(h.current="",R.current=f.current),h.current+=T.key,y.start(g,()=>{h.current="",R.current=f.current,l(!1)});const U=R.current,_=I(D,[...D.slice((U||0)+1),...D.slice(0,(U||0)+1)],h.current);_!==-1?(u?.(_),f.current=_):T.key!==" "&&(h.current="",l(!1))}),E=i.useMemo(()=>({onKeyDown:b}),[b]),a=i.useMemo(()=>({onKeyDown:b,onKeyUp(T){T.key===" "&&l(!1)}}),[b,l]);return i.useMemo(()=>d?{reference:E,floating:a}:{},[d,E,a])}function jn(e){return lo(19)?e:e?"true":void 0}const Un=i.createContext(void 0);function je(e){const t=i.useContext(Un);if(e===!1&&t===void 0)throw new Error(Ke(27));return t}const fr={...bt,...At},dr=i.forwardRef(function(t,n){const{render:o,className:s,forceRender:r=!1,...p}=t,{store:u}=je(),c=u.useState("open"),d=u.useState("nested"),m=u.useState("mounted"),g=u.useState("transitionStatus"),x=i.useMemo(()=>({open:c,transitionStatus:g}),[c,g]);return Oe("div",t,{state:x,ref:[u.context.backdropRef,n],stateAttributesMapping:fr,props:[{role:"presentation",hidden:!m,style:{userSelect:"none",WebkitUserSelect:"none"}},p],enabled:r||!d})}),pr=i.forwardRef(function(t,n){const{render:o,className:s,disabled:r=!1,nativeButton:p=!0,...u}=t,{store:c}=je(),d=c.useState("open");function m(y){d&&c.setOpen(!1,pe(Eo,y.nativeEvent))}const{getButtonProps:g,buttonRef:x}=Dt({disabled:r,native:p}),v=i.useMemo(()=>({disabled:r}),[r]);return Oe("button",t,{state:v,ref:[n,x],props:[{onClick:m},u,g]})}),gr=i.forwardRef(function(t,n){const{render:o,className:s,id:r,...p}=t,{store:u}=je(),c=yt(r);return u.useSyncedValueWithCleanup("descriptionElementId",c),Oe("p",t,{ref:n,props:[{id:c},p]})});let mr=(function(e){return e.nestedDialogs="--nested-dialogs",e})({}),hr=(function(e){return e[e.open=et.open]="open",e[e.closed=et.closed]="closed",e[e.startingStyle=et.startingStyle]="startingStyle",e[e.endingStyle=et.endingStyle]="endingStyle",e.nested="data-nested",e.nestedDialogOpen="data-nested-dialog-open",e})({});const _n=i.createContext(void 0);function br(){const e=i.useContext(_n);if(e===void 0)throw new Error(Ke(26));return e}const Kt="ArrowUp",Wt="ArrowDown",jt="ArrowLeft",Ut="ArrowRight",xt="Home",vt="End",yr=new Set([jt,Ut]),Ss=new Set([jt,Ut,xt,vt]),Rr=new Set([Kt,Wt]),Ts=new Set([Kt,Wt,xt,vt]),xr=new Set([...yr,...Rr]),ws=new Set([...xr,xt,vt]),Vn=new Set([Kt,Wt,jt,Ut,xt,vt]),vr="Shift",Er="Control",Cr="Alt",Sr="Meta",Ms=new Set([vr,Er,Cr,Sr]);function Tr(e){return Me(e)&&e.tagName==="INPUT"}function Os(e){return!!(Tr(e)&&e.selectionStart!=null||Me(e)&&e.tagName==="TEXTAREA")}function Is(e,t,n,o){if(!e||!t||!t.scrollTo)return;let s=e.scrollLeft,r=e.scrollTop;const p=e.clientWidth<e.scrollWidth,u=e.clientHeight<e.scrollHeight;if(p&&o!=="vertical"){const c=cn(e,t,"left"),d=st(e),m=st(t);n==="ltr"&&(c+t.offsetWidth+m.scrollMarginRight>e.scrollLeft+e.clientWidth-d.scrollPaddingRight?s=c+t.offsetWidth+m.scrollMarginRight-e.clientWidth+d.scrollPaddingRight:c-m.scrollMarginLeft<e.scrollLeft+d.scrollPaddingLeft&&(s=c-m.scrollMarginLeft-d.scrollPaddingLeft)),n==="rtl"&&(c-m.scrollMarginRight<e.scrollLeft+d.scrollPaddingLeft?s=c-m.scrollMarginLeft-d.scrollPaddingLeft:c+t.offsetWidth+m.scrollMarginRight>e.scrollLeft+e.clientWidth-d.scrollPaddingRight&&(s=c+t.offsetWidth+m.scrollMarginRight-e.clientWidth+d.scrollPaddingRight))}if(u&&o!=="horizontal"){const c=cn(e,t,"top"),d=st(e),m=st(t);c-m.scrollMarginTop<e.scrollTop+d.scrollPaddingTop?r=c-m.scrollMarginTop-d.scrollPaddingTop:c+t.offsetHeight+m.scrollMarginBottom>e.scrollTop+e.clientHeight-d.scrollPaddingBottom&&(r=c+t.offsetHeight+m.scrollMarginBottom-e.clientHeight+d.scrollPaddingBottom)}e.scrollTo({left:s,top:r,behavior:"auto"})}function cn(e,t,n){const o=n==="left"?"offsetLeft":"offsetTop";let s=0;for(;t.offsetParent&&(s+=t[o],t.offsetParent!==e);)t=t.offsetParent;return s}function st(e){const t=getComputedStyle(e);return{scrollMarginTop:parseFloat(t.scrollMarginTop)||0,scrollMarginRight:parseFloat(t.scrollMarginRight)||0,scrollMarginBottom:parseFloat(t.scrollMarginBottom)||0,scrollMarginLeft:parseFloat(t.scrollMarginLeft)||0,scrollPaddingTop:parseFloat(t.scrollPaddingTop)||0,scrollPaddingRight:parseFloat(t.scrollPaddingRight)||0,scrollPaddingBottom:parseFloat(t.scrollPaddingBottom)||0,scrollPaddingLeft:parseFloat(t.scrollPaddingLeft)||0}}const wr={...bt,...At,nestedDialogOpen(e){return e?{[hr.nestedDialogOpen]:""}:null}},Mr=i.forwardRef(function(t,n){const{className:o,finalFocus:s,initialFocus:r,render:p,...u}=t,{store:c}=je(),d=c.useState("descriptionElementId"),m=c.useState("disablePointerDismissal"),g=c.useState("floatingRootContext"),x=c.useState("popupProps"),v=c.useState("modal"),y=c.useState("mounted"),h=c.useState("nested"),R=c.useState("nestedOpenDialogCount"),f=c.useState("open"),l=c.useState("openMethod"),b=c.useState("titleElementId"),E=c.useState("transitionStatus"),a=c.useState("role");br(),vn({open:f,ref:c.context.popupRef,onComplete(){f&&c.context.onOpenChangeComplete?.(!0)}});function T(_){return _==="touch"?c.context.popupRef.current:!0}const I=r===void 0?T:r,D=R>0,P=i.useMemo(()=>({open:f,nested:h,transitionStatus:E,nestedDialogOpen:D}),[f,h,E,D]),U=Oe("div",t,{state:P,props:[x,{"aria-labelledby":b??void 0,"aria-describedby":d??void 0,role:a,tabIndex:-1,hidden:!y,onKeyDown(_){Vn.has(_.key)&&_.stopPropagation()},style:{[mr.nestedDialogs]:R}},u],ref:[n,c.context.popupRef,c.useStateSetter("popupElement")],stateAttributesMapping:wr});return K.jsx(Kn,{context:g,openInteractionType:l,disabled:!y,closeOnFocusOut:!m,initialFocus:I,returnFocus:s,modal:v!==!1,restoreFocus:"popup",children:U})}),Gn=i.forwardRef(function(t,n){const{cutout:o,...s}=t;let r;if(o){const p=o?.getBoundingClientRect();r=`polygon(
|
|
2
|
-
0% 0%,
|
|
3
|
-
100% 0%,
|
|
4
|
-
100% 100%,
|
|
5
|
-
0% 100%,
|
|
6
|
-
0% 0%,
|
|
7
|
-
${p.left}px ${p.top}px,
|
|
8
|
-
${p.left}px ${p.bottom}px,
|
|
9
|
-
${p.right}px ${p.bottom}px,
|
|
10
|
-
${p.right}px ${p.top}px,
|
|
11
|
-
${p.left}px ${p.top}px
|
|
12
|
-
)`}return K.jsx("div",{ref:n,role:"presentation","data-base-ui-inert":"",...s,style:{position:"fixed",inset:0,userSelect:"none",WebkitUserSelect:"none",clipPath:r}})}),Or=i.forwardRef(function(t,n){const{keepMounted:o=!1,...s}=t,{store:r}=je(),p=r.useState("mounted"),u=r.useState("modal"),c=r.useState("open");return p||o?K.jsx(_n.Provider,{value:o,children:K.jsxs(En,{ref:n,...s,children:[p&&u===!0&&K.jsx(Gn,{ref:r.context.internalBackdropRef,inert:jn(!c)}),t.children]})}):null});let un={},ln={},fn="";function Ir(e){if(typeof document>"u")return!1;const t=Be(e);return mt(t).innerWidth-t.documentElement.clientWidth>0}function Pr(e){if(!(typeof CSS<"u"&&CSS.supports&&CSS.supports("scrollbar-gutter","stable"))||typeof document>"u")return!1;const o=Be(e).documentElement,s={scrollbarGutter:o.style.scrollbarGutter,overflowY:o.style.overflowY};o.style.scrollbarGutter="stable",o.style.overflowY="scroll";const r=o.offsetWidth;o.style.overflowY="hidden";const p=o.offsetWidth;return Object.assign(o.style,s),r===p}function kr(e){const t=Be(e),n=t.documentElement,o=t.body,s=Sn(n)?n:o,r=s.style.overflow;return s.style.overflow="hidden",()=>{s.style.overflow=r}}function Fr(e){const t=Be(e),n=t.documentElement,o=t.body,s=mt(n);let r=0,p=0,u=!1;const c=So.create();if(Co&&(s.visualViewport?.scale??1)!==1)return()=>{};function d(){const x=s.getComputedStyle(n),v=s.getComputedStyle(o),R=(x.scrollbarGutter||"").includes("both-edges")?"stable both-edges":"stable";r=n.scrollTop,p=n.scrollLeft,un={scrollbarGutter:n.style.scrollbarGutter,overflowY:n.style.overflowY,overflowX:n.style.overflowX},fn=n.style.scrollBehavior,ln={position:o.style.position,height:o.style.height,width:o.style.width,boxSizing:o.style.boxSizing,overflowY:o.style.overflowY,overflowX:o.style.overflowX,scrollBehavior:o.style.scrollBehavior};const f=n.scrollHeight>n.clientHeight,l=n.scrollWidth>n.clientWidth,b=x.overflowY==="scroll"||v.overflowY==="scroll",E=x.overflowX==="scroll"||v.overflowX==="scroll",a=Math.max(0,s.innerWidth-o.clientWidth),T=Math.max(0,s.innerHeight-o.clientHeight),I=parseFloat(v.marginTop)+parseFloat(v.marginBottom),D=parseFloat(v.marginLeft)+parseFloat(v.marginRight),P=Sn(n)?n:o;if(u=Pr(e),u){n.style.scrollbarGutter=R,P.style.overflowY="hidden",P.style.overflowX="hidden";return}Object.assign(n.style,{scrollbarGutter:R,overflowY:"hidden",overflowX:"hidden"}),(f||b)&&(n.style.overflowY="scroll"),(l||E)&&(n.style.overflowX="scroll"),Object.assign(o.style,{position:"relative",height:I||T?`calc(100dvh - ${I+T}px)`:"100dvh",width:D||a?`calc(100vw - ${D+a}px)`:"100vw",boxSizing:"border-box",overflow:"hidden",scrollBehavior:"unset"}),o.scrollTop=r,o.scrollLeft=p,n.setAttribute("data-base-ui-scroll-locked",""),n.style.scrollBehavior="unset"}function m(){Object.assign(n.style,un),Object.assign(o.style,ln),u||(n.scrollTop=r,n.scrollLeft=p,n.removeAttribute("data-base-ui-scroll-locked"),n.style.scrollBehavior=fn)}function g(){m(),c.request(d)}return d(),s.addEventListener("resize",g),()=>{c.cancel(),m(),typeof s.removeEventListener=="function"&&s.removeEventListener("resize",g)}}class Nr{lockCount=0;restore=null;timeoutLock=Zt.create();timeoutUnlock=Zt.create();acquire(t){return this.lockCount+=1,this.lockCount===1&&this.restore===null&&this.timeoutLock.start(0,()=>this.lock(t)),this.release}release=()=>{this.lockCount-=1,this.lockCount===0&&this.restore&&this.timeoutUnlock.start(0,this.unlock)};unlock=()=>{this.lockCount===0&&this.restore&&(this.restore?.(),this.restore=null)};lock(t){if(this.lockCount===0||this.restore!==null)return;const o=Be(t).documentElement,s=mt(o).getComputedStyle(o).overflowY;if(s==="hidden"||s==="clip"){this.restore=fo;return}const r=Cn||!Ir(t);this.restore=r?kr(t):Fr(t)}}const Lr=new Nr;function Yn(e=!0,t=null){ne(()=>{if(e)return Lr.acquire(t)},[e,t])}function Ar(e){const t=i.useRef(""),n=i.useCallback(s=>{s.defaultPrevented||(t.current=s.pointerType,e(s,s.pointerType))},[e]);return{onClick:i.useCallback(s=>{if(s.detail===0){e(s,"keyboard");return}"pointerType"in s&&e(s,s.pointerType),e(s,t.current),t.current=""},[e]),onPointerDown:n}}function $n(e){const[t,n]=i.useState(null),o=le((u,c)=>{e||n(c||(Cn?"touch":""))}),s=i.useCallback(()=>{n(null)},[]),{onClick:r,onPointerDown:p}=Ar(o);return i.useMemo(()=>({openMethod:t,reset:s,triggerProps:{onClick:r,onPointerDown:p}}),[t,s,r,p])}function Dr(e){const{store:t,parentContext:n,actionsRef:o}=e,s=t.useState("open"),r=t.useState("disablePointerDismissal"),p=t.useState("modal"),u=t.useState("popupElement"),{openMethod:c,triggerProps:d,reset:m}=$n(s);Tn(t);const{forceUnmount:g}=wn(s,t,()=>{m()}),x=le(U=>{const _=pe(U);return _.preventUnmountOnClose=()=>{t.set("preventUnmountingOnClose",!0)},_}),v=i.useCallback(()=>{t.setOpen(!1,x(Mn))},[t,x]);i.useImperativeHandle(o,()=>({unmount:g,close:v}),[g,v]);const y=On({popupStore:t,onOpenChange:t.setOpen,treatPopupAsFloatingElement:!0,noEmit:!0}),[h,R]=i.useState(0),f=h===0,l=Wn(y),b=In(y,{outsidePressEvent(){return t.context.internalBackdropRef.current||t.context.backdropRef.current?"intentional":{mouse:p==="trap-focus"?"sloppy":"intentional",touch:"sloppy"}},outsidePress(U){if("button"in U&&U.button!==0||"touches"in U&&U.touches.length!==1)return!1;const _=_e(U);if(f&&!r){const q=_;return p&&(t.context.internalBackdropRef.current||t.context.backdropRef.current)?t.context.internalBackdropRef.current===q||t.context.backdropRef.current===q||ae(q,u)&&!q?.hasAttribute("data-base-ui-portal"):!0}return!1},escapeKey:f});Yn(s&&p===!0,u);const{getReferenceProps:E,getFloatingProps:a,getTriggerProps:T}=Bt([l,b]);t.useContextCallback("onNestedDialogOpen",U=>{R(U+1)}),t.useContextCallback("onNestedDialogClose",()=>{R(0)}),i.useEffect(()=>(n?.onNestedDialogOpen&&s&&n.onNestedDialogOpen(h),n?.onNestedDialogClose&&!s&&n.onNestedDialogClose(),()=>{n?.onNestedDialogClose&&s&&n.onNestedDialogClose()}),[s,n,h]);const I=i.useMemo(()=>E(d),[E,d]),D=i.useMemo(()=>T(d),[T,d]),P=i.useMemo(()=>a(),[a]);t.useSyncedValues({openMethod:c,activeTriggerProps:I,inactiveTriggerProps:D,popupProps:P,floatingRootContext:y,nestedOpenDialogCount:h})}const Br={...Fn,modal:Q(e=>e.modal),nested:Q(e=>e.nested),nestedOpenDialogCount:Q(e=>e.nestedOpenDialogCount),disablePointerDismissal:Q(e=>e.disablePointerDismissal),openMethod:Q(e=>e.openMethod),descriptionElementId:Q(e=>e.descriptionElementId),titleElementId:Q(e=>e.titleElementId),viewportElement:Q(e=>e.viewportElement),role:Q(e=>e.role)};class Hr extends Pn{constructor(t){super(Kr(t),{popupRef:i.createRef(),backdropRef:i.createRef(),internalBackdropRef:i.createRef(),triggerElements:new kn,onOpenChange:void 0,onOpenChangeComplete:void 0},Br)}setOpen=(t,n)=>{if(n.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},!t&&n.trigger==null&&this.state.activeTriggerId!=null&&(n.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(t,n),n.isCanceled)return;const o={open:t,nativeEvent:n.event,reason:n.reason,nested:this.state.nested};this.state.floatingRootContext.context.events?.emit("openchange",o);const s={open:t},r=n.trigger?.id??null;(r||t)&&(s.activeTriggerId=r,s.activeTriggerElement=n.trigger??null),this.update(s)}}function Kr(e={}){return{...Nn(),modal:!0,disablePointerDismissal:!1,popupElement:null,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,role:"dialog",...e}}function Wr(e){const{children:t,open:n,defaultOpen:o=!1,onOpenChange:s,onOpenChangeComplete:r,disablePointerDismissal:p=!1,modal:u=!0,actionsRef:c,handle:d,triggerId:m,defaultTriggerId:g=null}=e,x=je(!0),v=!!x,y=dt(()=>d?.store??new Hr({open:n??o,activeTriggerId:m!==void 0?m:g,modal:u,disablePointerDismissal:p,nested:v})).current;y.useControlledProp("open",n,o),y.useControlledProp("activeTriggerId",m,g),y.useSyncedValues({disablePointerDismissal:p,nested:v,modal:u}),y.useContextCallback("onOpenChange",s),y.useContextCallback("onOpenChangeComplete",r);const h=y.useState("payload");Dr({store:y,actionsRef:c,parentContext:x?.store.context});const R=i.useMemo(()=>({store:y}),[y]);return K.jsx(Un.Provider,{value:R,children:typeof t=="function"?t({payload:h}):t})}const jr=i.forwardRef(function(t,n){const{render:o,className:s,id:r,...p}=t,{store:u}=je(),c=yt(r);return u.useSyncedValueWithCleanup("titleElementId",c),Oe("h2",t,{ref:n,props:[{id:c},p]})});function Ps({children:e,...t}){return K.jsx(Wr,{...t,children:e})}function ks({className:e,children:t}){return K.jsxs(Or,{children:[K.jsx(dr,{className:"fixed inset-0 bg-ink/40 transition-all duration-150 data-[state=open]:opacity-100 data-[state=closed]:opacity-0 dark:bg-surface/40"}),K.jsx(Mr,{className:We("fixed left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2","w-[min(400px,92vw)] rounded-[20px] border border-primary-200 bg-primary-50 p-0 shadow-lg","transition-all duration-150","data-[state=open]:opacity-100 data-[state=closed]:opacity-0","data-[state=open]:scale-100 data-[state=closed]:scale-95",e),children:t})]})}function Fs({className:e,...t}){return K.jsx(jr,{className:We("text-lg font-medium text-primary-900",e),...t})}function Ns({className:e,...t}){return K.jsx(gr,{className:We("text-sm text-primary-600",e),...t})}function Ls({className:e,render:t,...n}){return K.jsx(pr,{render:t||K.jsx(po,{variant:"outline",className:We(e)}),...n})}const zn=i.createContext(void 0);function qn(e){const t=i.useContext(zn);if(t===void 0&&!e)throw new Error(Ke(33));return t}const Xn=i.createContext(void 0);function Ue(e){const t=i.useContext(Xn);if(t===void 0&&!e)throw new Error(Ke(36));return t}const Ur=i.createContext(void 0);function Et(e=!0){const t=i.useContext(Ur);if(t===void 0&&!e)throw new Error(Ke(25));return t}const _r={type:"regular-item"};function Vr(e){const{closeOnClick:t,disabled:n=!1,highlighted:o,id:s,store:r,nativeButton:p,itemMetadata:u,nodeId:c}=e,d=i.useRef(null),m=Et(!0),g=m!==void 0,{events:x}=r.useState("floatingTreeRoot"),{getButtonProps:v,buttonRef:y}=Dt({disabled:n,focusableWhenDisabled:!0,native:p}),h=i.useCallback(f=>Ot({id:s,role:"menuitem",tabIndex:o?0:-1,onMouseMove(l){c&&x.emit("itemhover",{nodeId:c,target:l.currentTarget})},onMouseEnter(){u.type==="submenu-trigger"&&u.setActive()},onKeyUp(l){l.key===" "&&r.context.typingRef.current&&l.preventBaseUIHandler()},onClick(l){t&&x.emit("close",{domEvent:l,reason:Ln})},onMouseUp(l){if(m){const b=m.initialCursorPointRef.current;if(m.initialCursorPointRef.current=null,g&&b&&Math.abs(l.clientX-b.x)<=1&&Math.abs(l.clientY-b.y)<=1)return}d.current&&r.context.allowMouseUpTriggerRef.current&&(!g||l.button===2)&&u.type==="regular-item"&&d.current.click()}},f,v),[s,o,v,t,x,r,g,m,u,c]),R=lt(d,y);return i.useMemo(()=>({getItemProps:h,itemRef:R}),[h,R])}const Jn=i.createContext({register:()=>{},unregister:()=>{},subscribeMapChange:()=>()=>{},elementsRef:{current:[]},nextIndexRef:{current:0}});function Gr(){return i.useContext(Jn)}let Yr=(function(e){return e[e.None=0]="None",e[e.GuessFromOrder=1]="GuessFromOrder",e})({});function Qn(e={}){const{label:t,metadata:n,textRef:o,indexGuessBehavior:s,index:r}=e,{register:p,unregister:u,subscribeMapChange:c,elementsRef:d,labelsRef:m,nextIndexRef:g}=Gr(),x=i.useRef(-1),[v,y]=i.useState(r??(s===Yr.GuessFromOrder?()=>{if(x.current===-1){const f=g.current;g.current+=1,x.current=f}return x.current}:-1)),h=i.useRef(null),R=i.useCallback(f=>{if(h.current=f,v!==-1&&f!==null&&(d.current[v]=f,m)){const l=t!==void 0;m.current[v]=l?t:o?.current?.textContent??f.textContent}},[v,d,m,t,o]);return ne(()=>{if(r!=null)return;const f=h.current;if(f)return p(f,n),()=>{u(f)}},[r,p,u,n]),ne(()=>{if(r==null)return c(f=>{const l=h.current?f.get(h.current)?.index:null;l!=null&&y(l)})},[r,c,y]),i.useMemo(()=>({ref:R,index:v}),[v,R])}const $r=i.forwardRef(function(t,n){const{render:o,className:s,id:r,label:p,nativeButton:u=!1,disabled:c=!1,closeOnClick:d=!0,...m}=t,g=Qn({label:p}),x=qn(!0),v=yt(r),{store:y}=Ue(),h=y.useState("isActive",g.index),R=y.useState("itemProps"),{getItemProps:f,itemRef:l}=Vr({closeOnClick:d,disabled:c,highlighted:h,id:v,store:y,nativeButton:u,nodeId:x?.nodeId,itemMetadata:_r}),b=i.useMemo(()=>({disabled:c,highlighted:h}),[c,h]);return Oe("div",t,{state:b,props:[R,m,f],ref:[l,n,g.ref]})}),zr=i.createContext(void 0);function qr(e){return i.useContext(zr)}const Xr={...bt,...At},Jr=i.forwardRef(function(t,n){const{render:o,className:s,finalFocus:r,...p}=t,{store:u}=Ue(),{side:c,align:d}=qn(),m=qr()!=null,g=u.useState("open"),x=u.useState("transitionStatus"),v=u.useState("popupProps"),y=u.useState("mounted"),h=u.useState("instantType"),R=u.useState("activeTriggerElement"),f=u.useState("parent"),l=u.useState("lastOpenChangeReason"),b=u.useState("rootId"),E=u.useState("floatingRootContext"),a=u.useState("floatingTreeRoot"),T=u.useState("closeDelay"),I=u.useState("activeTriggerElement"),D=f.type==="context-menu";vn({open:g,ref:u.context.popupRef,onComplete(){g&&u.context.onOpenChangeComplete?.(!0)}}),i.useEffect(()=>{function Y(M){u.setOpen(!1,pe(M.reason,M.domEvent))}return a.events.on("close",Y),()=>{a.events.off("close",Y)}},[a.events,u]);const P=u.useState("hoverEnabled"),U=u.useState("disabled");To(E,{enabled:P&&!U&&!D&&f.type!=="menubar",closeDelay:T});const _=i.useMemo(()=>({transitionStatus:x,side:c,align:d,open:g,nested:f.type==="menu",instant:h}),[x,c,d,g,f.type,h]),q=Oe("div",t,{state:_,ref:[n,u.context.popupRef],stateAttributesMapping:Xr,props:[v,{onKeyDown(Y){m&&Vn.has(Y.key)&&Y.stopPropagation()}},wo(x),p,{"data-rootownerid":b}]});let V=f.type===void 0||D;return(R||f.type==="menubar"&&l!==mn)&&(V=!0),K.jsx(Kn,{context:E,modal:D,disabled:!y,returnFocus:r===void 0?V:r,initialFocus:f.type!=="menu",restoreFocus:!0,externalTree:f.type!=="menubar"?a:void 0,previousFocusableElement:I,nextFocusableElement:f.type===void 0?u.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:f.type===void 0?u.context.beforeContentFocusGuardRef:void 0,children:q})}),Zn=i.createContext(void 0);function Qr(){const e=i.useContext(Zn);if(e===void 0)throw new Error(Ke(32));return e}const Zr=i.forwardRef(function(t,n){const{keepMounted:o=!1,...s}=t,{store:r}=Ue();return r.useState("mounted")||o?K.jsx(Zn.Provider,{value:o,children:K.jsx(En,{ref:n,...s})}):null});function es(e){const{children:t,elementsRef:n,labelsRef:o,onMapChange:s}=e,r=le(s),p=i.useRef(0),u=dt(ns).current,c=dt(ts).current,[d,m]=i.useState(0),g=i.useRef(d),x=le((f,l)=>{c.set(f,l??null),g.current+=1,m(g.current)}),v=le(f=>{c.delete(f),g.current+=1,m(g.current)}),y=i.useMemo(()=>{const f=new Map;return Array.from(c.keys()).filter(b=>b.isConnected).sort(os).forEach((b,E)=>{const a=c.get(b)??{};f.set(b,{...a,index:E})}),f},[c,d]);ne(()=>{if(typeof MutationObserver!="function"||y.size===0)return;const f=new MutationObserver(l=>{const b=new Set,E=a=>b.has(a)?b.delete(a):b.add(a);l.forEach(a=>{a.removedNodes.forEach(E),a.addedNodes.forEach(E)}),b.size===0&&(g.current+=1,m(g.current))});return y.forEach((l,b)=>{b.parentElement&&f.observe(b.parentElement,{childList:!0})}),()=>{f.disconnect()}},[y]),ne(()=>{g.current===d&&(n.current.length!==y.size&&(n.current.length=y.size),o&&o.current.length!==y.size&&(o.current.length=y.size),p.current=y.size),r(y)},[r,y,n,o,d]),ne(()=>()=>{n.current=[]},[n]),ne(()=>()=>{o&&(o.current=[])},[o]);const h=le(f=>(u.add(f),()=>{u.delete(f)}));ne(()=>{u.forEach(f=>f(y))},[u,y]);const R=i.useMemo(()=>({register:x,unregister:v,subscribeMapChange:h,elementsRef:n,labelsRef:o,nextIndexRef:p}),[x,v,h,n,o,p]);return K.jsx(Jn.Provider,{value:R,children:t})}function ts(){return new Map}function ns(){return new Set}function os(e,t){const n=e.compareDocumentPosition(t);return n&Node.DOCUMENT_POSITION_FOLLOWING||n&Node.DOCUMENT_POSITION_CONTAINED_BY?-1:n&Node.DOCUMENT_POSITION_PRECEDING||n&Node.DOCUMENT_POSITION_CONTAINS?1:0}const rs=i.forwardRef(function(t,n){const{anchor:o,positionMethod:s="absolute",className:r,render:p,side:u,align:c,sideOffset:d=0,alignOffset:m=0,collisionBoundary:g="clipping-ancestors",collisionPadding:x=5,arrowPadding:v=5,sticky:y=!1,disableAnchorTracking:h=!1,collisionAvoidance:R=Mo,...f}=t,{store:l}=Ue(),b=Qr(),E=Et(!0),a=l.useState("parent"),T=l.useState("floatingRootContext"),I=l.useState("floatingTreeRoot"),D=l.useState("mounted"),P=l.useState("open"),U=l.useState("modal"),_=l.useState("activeTriggerElement"),q=l.useState("lastOpenChangeReason"),V=l.useState("floatingNodeId"),Y=l.useState("floatingParentNodeId");let M=o,G=d,re=m,z=c,se=R;a.type==="context-menu"&&(M=o??a.context?.anchor,z=z??"start",!u&&z!=="center"&&(re=t.alignOffset??2,G=t.sideOffset??-5));let O=u,te=z;a.type==="menu"?(O=O??"inline-end",te=te??"start",se=t.collisionAvoidance??Oo):a.type==="menubar"&&(O=O??"bottom",te=te??"start");const ce=a.type==="context-menu",k=Io({anchor:M,floatingRootContext:T,positionMethod:E?"fixed":s,mounted:D,side:O,sideOffset:G,align:te,alignOffset:re,arrowPadding:ce?0:v,collisionBoundary:g,collisionPadding:x,sticky:y,nodeId:V,keepMounted:b,disableAnchorTracking:h,collisionAvoidance:se,shiftCrossAxis:ce,externalTree:I}),be=i.useMemo(()=>{const Z={};return P||(Z.pointerEvents="none"),{role:"presentation",hidden:!D,style:{...k.positionerStyles,...Z}}},[P,D,k.positionerStyles]);i.useEffect(()=>{function Z($){$.open?($.parentNodeId===V&&l.set("hoverEnabled",!1),$.nodeId!==V&&$.parentNodeId===l.select("floatingParentNodeId")&&l.setOpen(!1,pe(ze))):$.parentNodeId===V&&$.reason!==ze&&l.set("hoverEnabled",!0)}return I.events.on("menuopenchange",Z),()=>{I.events.off("menuopenchange",Z)}},[l,I.events,V]),i.useEffect(()=>{if(l.select("floatingParentNodeId")==null)return;function Z($){if($.open||$.nodeId!==l.select("floatingParentNodeId"))return;const N=$.reason??ze;l.setOpen(!1,pe(N))}return I.events.on("menuopenchange",Z),()=>{I.events.off("menuopenchange",Z)}},[I.events,l]),i.useEffect(()=>{function Z($){!P||$.nodeId!==l.select("floatingParentNodeId")||$.target&&_&&_!==$.target&&l.setOpen(!1,pe(ze))}return I.events.on("itemhover",Z),()=>{I.events.off("itemhover",Z)}},[I.events,P,_,l]),i.useEffect(()=>{const Z={open:P,nodeId:V,parentNodeId:Y,reason:l.select("lastOpenChangeReason")};I.events.emit("menuopenchange",Z)},[I.events,P,l,V,Y]);const ye=i.useMemo(()=>({open:P,side:k.side,align:k.align,anchorHidden:k.anchorHidden,nested:a.type==="menu"}),[P,k.side,k.align,k.anchorHidden,a.type]),Ce=i.useMemo(()=>({side:k.side,align:k.align,arrowRef:k.arrowRef,arrowUncentered:k.arrowUncentered,arrowStyles:k.arrowStyles,nodeId:k.context.nodeId}),[k.side,k.align,k.arrowRef,k.arrowUncentered,k.arrowStyles,k.context.nodeId]),ie=Oe("div",t,{state:ye,stateAttributesMapping:bt,ref:[n,l.useStateSetter("positionerElement")],props:[be,f]}),Re=D&&a.type!=="menu"&&(a.type!=="menubar"&&U&&q!==Ve||a.type==="menubar"&&a.context.modal);let fe=null;return a.type==="menubar"?fe=a.context.contentElement:a.type===void 0&&(fe=_),K.jsxs(zn.Provider,{value:Ce,children:[Re&&K.jsx(Gn,{ref:a.type==="context-menu"||a.type==="nested-context-menu"?a.context.internalBackdropRef:null,inert:jn(!P),cutout:fe}),K.jsx(Po,{id:V,children:K.jsx(es,{elementsRef:l.context.itemDomElements,labelsRef:l.context.itemLabels,children:ie})})]})}),ss=i.createContext(null);function eo(e){return i.useContext(ss)}const is={...Fn,disabled:Q(e=>e.parent.type==="menubar"&&e.parent.context.disabled||e.disabled),modal:Q(e=>(e.parent.type===void 0||e.parent.type==="context-menu")&&(e.modal??!0)),allowMouseEnter:Q(e=>e.parent.type==="menu"?e.parent.store.select("allowMouseEnter"):e.allowMouseEnter),stickIfOpen:Q(e=>e.stickIfOpen),parent:Q(e=>e.parent),rootId:Q(e=>e.parent.type==="menu"?e.parent.store.select("rootId"):e.parent.type!==void 0?e.parent.context.rootId:e.rootId),activeIndex:Q(e=>e.activeIndex),isActive:Q((e,t)=>e.activeIndex===t),hoverEnabled:Q(e=>e.hoverEnabled),instantType:Q(e=>e.instantType),lastOpenChangeReason:Q(e=>e.openChangeReason),floatingTreeRoot:Q(e=>e.parent.type==="menu"?e.parent.store.select("floatingTreeRoot"):e.floatingTreeRoot),floatingNodeId:Q(e=>e.floatingNodeId),floatingParentNodeId:Q(e=>e.floatingParentNodeId),itemProps:Q(e=>e.itemProps),closeDelay:Q(e=>e.closeDelay),keyboardEventRelay:Q(e=>{if(e.keyboardEventRelay)return e.keyboardEventRelay;if(e.parent.type==="menu")return e.parent.store.select("keyboardEventRelay")})};class _t extends Pn{constructor(t){super({...as(),...t},{positionerRef:i.createRef(),popupRef:i.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:i.createRef(),beforeContentFocusGuardRef:i.createRef(),onOpenChangeComplete:void 0,triggerElements:new kn},is),this.observe(Q(n=>n.allowMouseEnter),(n,o)=>{this.state.parent.type==="menu"&&n!==o&&this.state.parent.store.set("allowMouseEnter",n)}),this.unsubscribeParentListener=this.observe("parent",n=>{if(this.unsubscribeParentListener?.(),n.type==="menu"){this.unsubscribeParentListener=n.store.subscribe(()=>{this.notifyAll()}),this.context.allowMouseUpTriggerRef=n.store.context.allowMouseUpTriggerRef;return}n.type!==void 0&&(this.context.allowMouseUpTriggerRef=n.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(t,n){this.state.floatingRootContext.context.events.emit("setOpen",{open:t,eventDetails:n})}static useStore(t,n){const o=dt(()=>new _t(n)).current;return t??o}unsubscribeParentListener=null}function as(){return{...Nn(),disabled:!1,modal:!0,allowMouseEnter:!0,stickIfOpen:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new An,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:Ye,keyboardEventRelay:void 0,closeDelay:0}}const cs=i.createContext(void 0);function us(){return i.useContext(cs)}function ls(e){const{children:t,open:n,onOpenChange:o,onOpenChangeComplete:s,defaultOpen:r=!1,disabled:p=!1,modal:u,loopFocus:c=!0,orientation:d="vertical",actionsRef:m,closeParentOnEsc:g=!1,handle:x,triggerId:v,defaultTriggerId:y=null,highlightItemOnHover:h=!0}=e,R=Et(!0),f=Ue(!0),l=eo(),b=us(),E=i.useMemo(()=>b&&f?{type:"menu",store:f.store}:l?{type:"menubar",context:l}:R&&!f?{type:"context-menu",context:R}:{type:void 0},[R,f,l,b]),a=_t.useStore(x?.store,{parent:E}),T=a.useState("floatingTreeRoot"),I=Dn(T),D=ht();ne(()=>{R&&!f?a.update({parent:{type:"context-menu",context:R},floatingNodeId:I,floatingParentNodeId:D}):f&&a.update({floatingNodeId:I,floatingParentNodeId:D})},[R,f,I,D,a]),a.useControlledProp("open",n,r),a.useControlledProp("activeTriggerId",v,y),a.useContextCallback("onOpenChangeComplete",s);const P=a.useState("open"),U=a.useState("activeTriggerElement"),_=a.useState("positionerElement"),q=a.useState("hoverEnabled"),V=a.useState("modal"),Y=a.useState("disabled"),M=a.useState("lastOpenChangeReason"),G=a.useState("parent"),re=a.useState("activeIndex"),z=a.useState("payload"),se=a.useState("floatingParentNodeId"),O=i.useRef(null),te=se!=null;let ce;a.useSyncedValues({disabled:p,modal:G.type===void 0?u:void 0,rootId:xn()});const{openMethod:k,triggerProps:be,reset:ye}=$n(P);Tn(a);const{forceUnmount:Ce}=wn(P,a,()=>{a.update({allowMouseEnter:!1,stickIfOpen:!0}),ye()}),ie=i.useRef(G.type!=="context-menu"),Re=De();i.useEffect(()=>{if(P||(O.current=null),G.type==="context-menu"){if(!P){Re.clear(),ie.current=!1;return}Re.start(500,()=>{ie.current=!0})}},[Re,P,G.type]),Yn(P&&V&&M!==Ve&&k!=="touch",_),ne(()=>{!P&&!q&&a.set("hoverEnabled",!0)},[P,q,a]);const fe=i.useRef(!0),Z=De(),$=le((j,ee)=>{const ve=ee.reason;if(P===j&&ee.trigger===U&&M===ve||(ee.preventUnmountOnClose=()=>{a.set("preventUnmountingOnClose",!0)},!j&&ee.trigger==null&&(ee.trigger=U??void 0),o?.(j,ee),ee.isCanceled))return;const no={open:j,nativeEvent:ee.event,reason:ee.reason,nested:te};ce?.emit("openchange",no);const Ze=ee.event;if(j===!1&&Ze?.type==="click"&&Ze.pointerType==="touch"&&!fe.current)return;if(!j&&re!==null){const $e=a.context.itemDomElements.current[re];queueMicrotask(()=>{$e?.setAttribute("tabindex","-1")})}j&&ve===en?(fe.current=!1,Z.start(300,()=>{fe.current=!0})):(fe.current=!0,Z.clear());const Vt=(ve===at||ve===Ln)&&Ze.detail===0&&Ze?.isTrusted,oo=!j&&(ve===No||ve==null);function Gt(){const $e={open:j,openChangeReason:ve};O.current=ee.event??null;const Yt=ee.trigger?.id??null;(Yt||j)&&($e.activeTriggerId=Yt,$e.activeTriggerElement=ee.trigger??null),a.update($e)}ve===Ve?Mt.flushSync(Gt):Gt(),G.type==="menubar"&&(ve===en||ve===Je||ve===Ve||ve===ct||ve===ze)?a.set("instantType","group"):Vt||oo?a.set("instantType",Vt?"click":"dismiss"):a.set("instantType",void 0)}),N=i.useCallback(j=>{const ee=pe(j);return ee.preventUnmountOnClose=()=>{a.set("preventUnmountingOnClose",!0)},ee},[a]),ge=i.useCallback(()=>{a.setOpen(!1,N(Mn))},[a,N]);i.useImperativeHandle(m,()=>({unmount:Ce,close:ge}),[Ce,ge]);let xe;G.type==="context-menu"&&(xe=G.context),i.useImperativeHandle(xe?.positionerRef,()=>_,[_]),i.useImperativeHandle(xe?.actionsRef,()=>({setOpen:$}),[$]);const Ee=On({popupStore:a,onOpenChange:$});ce=Ee.context.events,i.useEffect(()=>{const j=({open:ee,eventDetails:ve})=>$(ee,ve);return ce.on("setOpen",j),()=>{ce?.off("setOpen",j)}},[ce,$]);const F=In(Ee,{enabled:!Y,bubbles:{escapeKey:g&&G.type==="menu"},outsidePress(){return G.type!=="context-menu"||O.current?.type==="contextmenu"?!0:ie.current},externalTree:te?T:void 0}),w=Wn(Ee,{role:"menu"}),H=ko(),A=i.useCallback(j=>{a.select("activeIndex")!==j&&a.set("activeIndex",j)},[a]),X=cr(Ee,{enabled:!Y,listRef:a.context.itemDomElements,activeIndex:re,nested:G.type!==void 0,loopFocus:c,orientation:d,parentOrientation:G.type==="menubar"?G.context.orientation:void 0,rtl:H==="rtl",disabledIndices:ft,onNavigate:A,openOnArrowKeyDown:G.type!=="context-menu",externalTree:te?T:void 0,focusItemOnHover:h}),L=i.useCallback(j=>{a.context.typingRef.current=j},[a]),W=lr(Ee,{listRef:a.context.itemLabels,activeIndex:re,resetMs:Lo,onMatch:j=>{P&&j!==re&&a.set("activeIndex",j)},onTypingChange:L}),{getReferenceProps:C,getFloatingProps:B,getItemProps:S,getTriggerProps:J}=Bt([F,w,X,W]),oe=i.useMemo(()=>{const j=Ot(C(),{onMouseEnter(){a.set("hoverEnabled",!0)},onMouseMove(){a.set("allowMouseEnter",!0)}},be);return delete j.role,j},[C,a,be]),de=i.useMemo(()=>{const j=J();if(!j)return j;const ee=Ot(j,be);return delete ee.role,delete ee["aria-controls"],ee},[J,be]),ue=Nt(),Ie=i.useMemo(()=>B({onMouseEnter(){G.type==="menu"&&ue.request(()=>a.set("hoverEnabled",!1))},onMouseMove(){a.set("allowMouseEnter",!0)},onClick(){a.select("hoverEnabled")&&a.set("hoverEnabled",!1)},onKeyDown(j){const ee=a.select("keyboardEventRelay");ee&&!j.isPropagationStopped()&&ee(j)}}),[B,G.type,ue,a]),Pe=i.useMemo(()=>S(),[S]);a.useSyncedValues({floatingRootContext:Ee,activeTriggerProps:oe,inactiveTriggerProps:de,popupProps:Ie,itemProps:Pe});const Se=i.useMemo(()=>({store:a,parent:E}),[a,E]),ke=K.jsx(Xn.Provider,{value:Se,children:typeof t=="function"?t({payload:z}):t});return G.type===void 0||G.type==="context-menu"?K.jsx(Fo,{externalTree:T,children:ke}):ke}function fs(e){const t=e.getBoundingClientRect(),n=window.getComputedStyle(e,"::before"),o=window.getComputedStyle(e,"::after");if(!(n.content!=="none"||o.content!=="none"))return t;const r=parseFloat(n.width)||0,p=parseFloat(n.height)||0,u=parseFloat(o.width)||0,c=parseFloat(o.height)||0,d=Math.max(t.width,r,u),m=Math.max(t.height,p,c),g=d-t.width,x=m-t.height;return{left:t.left-g/2,right:t.right+g/2,top:t.top-x/2,bottom:t.bottom+x/2}}function ds(e={}){const{highlightItemOnHover:t,highlightedIndex:n,onHighlightedIndexChange:o}=Bn(),{ref:s,index:r}=Qn(e),p=n===r,u=i.useRef(null),c=lt(s,u);return{compositeProps:i.useMemo(()=>({tabIndex:p?0:-1,onFocus(){o(r)},onMouseMove(){const m=u.current;if(!t||!m)return;const g=m.hasAttribute("disabled")||m.ariaDisabled==="true";!p&&!g&&m.focus()}}),[p,o,r,t]),compositeRef:c,index:r}}function ps(e){const{render:t,className:n,state:o=Ye,props:s=ft,refs:r=ft,metadata:p,stateAttributesMapping:u,tag:c="div",...d}=e,{compositeProps:m,compositeRef:g}=ds({metadata:p});return Oe(c,e,{state:o,ref:[...r,g],props:[m,...s,d],stateAttributesMapping:u})}function to(e){if(Me(e)&&e.hasAttribute("data-rootownerid"))return e.getAttribute("data-rootownerid")??void 0;if(!Ao(e))return to(Do(e))}function gs(e){const{enabled:t=!0,mouseDownAction:n,open:o}=e,s=i.useRef(!1);return i.useMemo(()=>t?{onMouseDown:r=>{(n==="open"&&!o||n==="close"&&o)&&(s.current=!0,Be(r.currentTarget).addEventListener("click",()=>{s.current=!1},{once:!0}))},onClick:r=>{s.current&&(s.current=!1,r.preventBaseUIHandler())}}:Ye,[t,n,o])}const it=2,ms=i.forwardRef(function(t,n){const{render:o,className:s,disabled:r=!1,nativeButton:p=!0,id:u,openOnHover:c,delay:d=100,closeDelay:m=0,handle:g,payload:x,...v}=t,y=Ue(!0),h=g?.store??y?.store;if(!h)throw new Error(Ke(85));const R=yt(u),f=h.useState("isTriggerActive",R),l=h.useState("floatingRootContext"),b=h.useState("isOpenedByTrigger",R),E=i.useRef(null),a=bs(),T=Bn(!0),I=Ft(),D=i.useMemo(()=>I??new An,[I]),P=Dn(D),U=ht(),{registerTrigger:_,isMountedByThisTrigger:q}=Bo(R,E,h,{payload:x,closeDelay:m,parent:a,floatingTreeRoot:D,floatingNodeId:P,floatingParentNodeId:U,keyboardEventRelay:T?.relayKeyboardEvent}),V=a.type==="menubar",Y=h.useState("disabled"),M=r||Y||V&&a.context.disabled,{getButtonProps:G,buttonRef:re}=Dt({disabled:M,native:p});i.useEffect(()=>{!b&&a.type===void 0&&(h.context.allowMouseUpTriggerRef.current=!1)},[h,b,a.type]);const z=i.useRef(null),se=De(),O=le(w=>{if(!z.current)return;se.clear(),h.context.allowMouseUpTriggerRef.current=!1;const H=w.target;if(ae(z.current,H)||ae(h.select("positionerElement"),H)||H===z.current||H!=null&&to(H)===h.select("rootId"))return;const A=fs(z.current);w.clientX>=A.left-it&&w.clientX<=A.right+it&&w.clientY>=A.top-it&&w.clientY<=A.bottom+it||D.events.emit("close",{domEvent:w,reason:jo})});i.useEffect(()=>{b&&h.select("lastOpenChangeReason")===Ve&&Be(z.current).addEventListener("mouseup",O,{once:!0})},[b,O,h]);const te=V&&a.context.hasSubmenuOpen,k=Ho(l,{enabled:(c??te)&&!M&&a.type!=="context-menu"&&(!V||te&&!q),handleClose:Ko({blockPointerEvents:!V}),mouseOnly:!0,move:!1,restMs:a.type===void 0?d:void 0,delay:{close:m},triggerElementRef:E,externalTree:D,isActiveTrigger:f}),be=hs(b,h.select("lastOpenChangeReason")),ye=rr(l,{enabled:!M&&a.type!=="context-menu",event:b&&V?"click":"mousedown",toggle:!0,ignoreMouse:!1,stickIfOpen:a.type===void 0?be:!1}),Ce=Wo(l,{enabled:!M&&te}),ie=gs({open:b,enabled:V,mouseDownAction:"open"}),Re=Bt([ye,Ce]),fe=i.useMemo(()=>({disabled:M,open:b}),[M,b]),Z=h.useState("triggerProps",q),$=[z,n,re,_,E],N=[Re.getReferenceProps(),k??Ye,Z,{"aria-haspopup":"menu",id:R,onMouseDown:w=>{if(h.select("open"))return;se.start(200,()=>{h.context.allowMouseUpTriggerRef.current=!0}),Be(w.currentTarget).addEventListener("mouseup",O,{once:!0})}},V?{role:"menuitem"}:{},ie,v,G],ge=i.useRef(null),xe=le(w=>{Mt.flushSync(()=>{h.setOpen(!1,pe(Je,w.nativeEvent,w.currentTarget))}),_o(ge.current)?.focus()}),Ee=le(w=>{const H=h.select("positionerElement");if(H&&Pt(w,H))h.context.beforeContentFocusGuardRef.current?.focus();else{Mt.flushSync(()=>{h.setOpen(!1,pe(Je,w.nativeEvent,w.currentTarget))});let A=Vo(h.context.triggerFocusTargetRef.current||E.current);for(;A!==null&&ae(H,A);){const X=A;if(A=yn(A),A===X)break}A?.focus()}}),F=Oe("button",t,{enabled:!V,stateAttributesMapping:tn,state:fe,ref:$,props:N});return V?K.jsx(ps,{tag:"button",render:o,className:s,state:fe,refs:$,props:N,stateAttributesMapping:tn}):b?K.jsxs(i.Fragment,{children:[K.jsx(gt,{ref:ge,onFocus:xe},`${R}-pre-focus-guard`),K.jsx(i.Fragment,{children:F},R),K.jsx(gt,{ref:h.context.triggerFocusTargetRef,onFocus:Ee},`${R}-post-focus-guard`)]}):K.jsx(i.Fragment,{children:F},R)});function hs(e,t){const n=De(),[o,s]=i.useState(!1);return ne(()=>{e&&t==="trigger-hover"?(s(!0),n.start(Uo,()=>{s(!1)})):e||(n.clear(),s(!1))},[e,t,n]),o}function bs(){const e=Et(!0),t=Ue(!0),n=eo();return i.useMemo(()=>n?{type:"menubar",context:n}:e&&!t?{type:"context-menu",context:e}:{type:void 0},[e,t,n])}function As({children:e,...t}){return K.jsx(ls,{...t,children:e})}function Ds({className:e,...t}){return K.jsx(ms,{className:We(e),...t})}function Bs({className:e,side:t="bottom",align:n="end",children:o}){return K.jsx(Zr,{children:K.jsx(rs,{side:t,align:n,children:K.jsx(Jr,{className:We("min-w-[110px] rounded-lg bg-primary-50 p-1 text-sm text-primary-900 shadow-lg outline outline-primary-900/10",e),children:o})})})}function Hs({className:e,...t}){return K.jsx($r,{className:We("flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-sm text-primary-900 hover:bg-primary-100 data-highlighted:bg-primary-100","select-none font-[450]",e),...t})}const Ks=Go((e,t)=>({currentPath:"/",viewMode:"list",sortBy:"name",sortAsc:!0,selectedFiles:new Set,navigateTo:n=>{e({currentPath:n,selectedFiles:new Set})},setViewMode:n=>{e({viewMode:n})},setSortBy:n=>{const o=t().sortBy;e({sortBy:n,sortAsc:o===n?!t().sortAsc:!0})},toggleSort:()=>{e(n=>({sortAsc:!n.sortAsc}))},selectFile:n=>{e(o=>{const s=new Set(o.selectedFiles);return s.add(n),{selectedFiles:s}})},deselectFile:n=>{e(o=>{const s=new Set(o.selectedFiles);return s.delete(n),{selectedFiles:s}})},clearSelection:()=>{e({selectedFiles:new Set})},toggleFileSelection:n=>{const{selectedFiles:o,selectFile:s,deselectFile:r}=t();o.has(n)?r(n):s(n)}}));export{ws as A,Xe as B,es as C,Ps as D,$o as E,qo as F,Wt as G,Ut as H,Xo as I,xt as J,vt as K,jt as L,As as M,Kt as N,me as O,qe as P,Rr as Q,Ss as R,yr as S,Ms as T,Ts as V,ks as a,Fs as b,Ns as c,Ls as d,Hr as e,Dr as f,Un as g,Or as h,dr as i,Mr as j,jr as k,gr as l,pr as m,Ds as n,Bs as o,Hs as p,Cs as q,Ks as r,ds as s,Is as t,je as u,xr as v,Os as w,Ct as x,nn as y,zo as z};
|