opencami 1.8.6 → 1.8.8

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.
Files changed (89) hide show
  1. package/README.md +0 -1
  2. package/dist/client/assets/{CSPContext-6t3O1emU.js → CSPContext-nHSyQniZ.js} +1 -1
  3. package/dist/client/assets/{DirectionContext-C6goXEY_.js → DirectionContext-B1cuzwIr.js} +1 -1
  4. package/dist/client/assets/_sessionKey-CNw4O2rY.js +19 -0
  5. package/dist/client/assets/agents-C6Ev94B1.js +2 -0
  6. package/dist/client/assets/agents-screen-DpNSh5Ok.js +1 -0
  7. package/dist/client/assets/bots-B2_u-OmP.js +2 -0
  8. package/dist/client/assets/bots-screen-Qh_IK9hC.js +1 -0
  9. package/dist/client/assets/button-DdG8c-XQ.js +1 -0
  10. package/dist/client/assets/{composite-feK0c-xF.js → composite-Cx-QHT9o.js} +1 -1
  11. package/dist/client/assets/{connect-02tmQV_v.js → connect-CSbeSBTn.js} +1 -1
  12. package/dist/client/assets/{dashboard-DQ0zDQKd.js → dashboard-DA1fTRcH.js} +1 -1
  13. package/dist/client/assets/event-Dwf9IDxK.js +1 -0
  14. package/dist/client/assets/file-explorer-screen-DzDX4HcB.js +1 -0
  15. package/dist/client/assets/files-PsZnGOUx.js +2 -0
  16. package/dist/client/assets/follow-up-suggestions-BYWq-d8P.js +5 -0
  17. package/dist/client/assets/{index-lK3yGoTI.js → index-B551ln24.js} +1 -1
  18. package/dist/client/assets/index-BxsgifDH.js +3 -0
  19. package/dist/client/assets/keyboard-shortcuts-dialog-BX-hH4Wf.js +1 -0
  20. package/dist/client/assets/main-DBmooBKx.js +210 -0
  21. package/dist/client/assets/markdown-Bpat4kTr.js +87 -0
  22. package/dist/client/assets/memory-Bs8hOoEv.js +2 -0
  23. package/dist/client/assets/memory-screen-1DgDLyZf.js +1 -0
  24. package/dist/client/assets/menu-ByR1BVmq.js +1 -0
  25. package/dist/client/assets/{opencami-logo-zuSBm5Br.js → opencami-logo-BV1uPYe6.js} +1 -1
  26. package/dist/client/assets/popupStateMapping-CGDLUl5Y.js +1 -0
  27. package/dist/client/assets/proxy-DYrSkM35.js +9 -0
  28. package/dist/client/assets/{react-BLyCEWpN.js → react-dSDkXQu6.js} +1 -1
  29. package/dist/client/assets/search-dialog-B3XJLq-O.js +1 -0
  30. package/dist/client/assets/search-sources-badge-CTd0gLuz.js +1 -0
  31. package/dist/client/assets/session-export-dialog-Cib97JLm.js +1 -0
  32. package/dist/client/assets/settings-dialog-B4NLq1ZS.js +1 -0
  33. package/dist/client/assets/{skills-panel-BH27r3nC.js → skills-panel-Cj7yHGbX.js} +1 -1
  34. package/dist/client/assets/skills-pueagQNc.js +2 -0
  35. package/dist/client/assets/styles-Ce2xZzc4.css +1 -0
  36. package/dist/client/assets/switch-kXs1I0oW.js +1 -0
  37. package/dist/client/assets/tabs-B6GW7TBf.js +1 -0
  38. package/dist/client/assets/thinking-DTP9JDQl.js +1 -0
  39. package/dist/client/assets/tooltip-CtHpm-sQ.js +1 -0
  40. package/dist/client/assets/use-file-explorer-state-C-D2CShe.js +12 -0
  41. package/dist/client/assets/{useBaseUiId-MgM4ouhx.js → useBaseUiId-Ckx_aJky.js} +1 -1
  42. package/dist/client/assets/useCompositeItem-CkvfeGmG.js +1 -0
  43. package/dist/client/assets/{useControlled-BQxTgsOd.js → useControlled-8D4PSDAL.js} +1 -1
  44. package/dist/client/assets/{useMutation-12DyB3Ox.js → useMutation-DckvFKPC.js} +1 -1
  45. package/dist/client/assets/{useQuery-Ctiljcrr.js → useQuery-CtUiG53w.js} +1 -1
  46. package/dist/server/assets/{_sessionKey-DzsJfprr.js → _sessionKey-LV6xK9IM.js} +548 -947
  47. package/dist/server/assets/{_tanstack-start-manifest_v-C5HBDfQB.js → _tanstack-start-manifest_v-qVhiIEVc.js} +1 -1
  48. package/dist/server/assets/{connect-CbgijWz4.js → connect-BNabuqpW.js} +1 -1
  49. package/dist/server/assets/follow-up-suggestions-CSSc4PDe.js +336 -0
  50. package/dist/server/assets/{index-Dl2BOKP7.js → index-BEWnDAH6.js} +24 -5
  51. package/dist/server/assets/{index-BFHEmXpN.js → index-DMKS4aeI.js} +1 -1
  52. package/dist/server/assets/{markdown-BFE5y9YH.js → markdown-DoX5Q7qh.js} +50 -26
  53. package/dist/server/assets/{memory-BqZOoD7Q.js → memory-Cxu7i8ej.js} +1 -1
  54. package/dist/server/assets/{memory-screen-BK5phS8K.js → memory-screen-B5l1NZRY.js} +2 -2
  55. package/dist/server/assets/{router-BZPatFG9.js → router-Cr2xCvGA.js} +5 -5
  56. package/dist/server/assets/{search-dialog-DQRkARXw.js → search-dialog-DR6zBnui.js} +4 -4
  57. package/dist/server/assets/search-sources-badge-B0rAEDs_.js +106 -0
  58. package/dist/server/assets/{settings-dialog-Bc1ta26X.js → settings-dialog-DEMlCMCP.js} +4 -4
  59. package/dist/server/assets/thinking-BpAc3itF.js +92 -0
  60. package/dist/server/server.js +38 -195
  61. package/package.json +2 -6
  62. package/dist/client/assets/_sessionKey-B5Viv43f.js +0 -23
  63. package/dist/client/assets/agents-BmE6QOwl.js +0 -2
  64. package/dist/client/assets/agents-screen-pHUzJxX5.js +0 -1
  65. package/dist/client/assets/bots-BeOkwrXr.js +0 -2
  66. package/dist/client/assets/bots-screen-B79bAYvf.js +0 -1
  67. package/dist/client/assets/button-CK8tKQ-Z.js +0 -1
  68. package/dist/client/assets/event-BsD1rqGT.js +0 -1
  69. package/dist/client/assets/file-explorer-screen-Ds7LeJTd.js +0 -1
  70. package/dist/client/assets/files-e40B1zFy.js +0 -2
  71. package/dist/client/assets/index-rljDU_1M.js +0 -3
  72. package/dist/client/assets/keyboard-shortcuts-dialog-Bb_GOr9L.js +0 -1
  73. package/dist/client/assets/main-Dq6jpr6-.js +0 -210
  74. package/dist/client/assets/markdown-C7_Aipwd.js +0 -87
  75. package/dist/client/assets/memory-C7UG-1le.js +0 -2
  76. package/dist/client/assets/memory-screen-CUFBWsq5.js +0 -1
  77. package/dist/client/assets/menu-n6L--M9R.js +0 -1
  78. package/dist/client/assets/proxy-BU8Bw1Vt.js +0 -9
  79. package/dist/client/assets/search-dialog-yB4w5ajo.js +0 -1
  80. package/dist/client/assets/session-export-dialog-qbZgd2Zo.js +0 -1
  81. package/dist/client/assets/settings-dialog-CHJbvpgk.js +0 -1
  82. package/dist/client/assets/skills-DoKPPhNY.js +0 -2
  83. package/dist/client/assets/styles-CXV5jZiD.css +0 -1
  84. package/dist/client/assets/switch-BD3a0LRm.js +0 -1
  85. package/dist/client/assets/tabs-DI1e-kzz.js +0 -1
  86. package/dist/client/assets/tooltip-BbH3QWvK.js +0 -1
  87. package/dist/client/assets/use-file-explorer-state-DBfLeAyz.js +0 -12
  88. package/dist/client/assets/useCompositeItem-OhltNFdZ.js +0 -1
  89. package/dist/client/assets/useOnFirstRender-7qoaK5sI.js +0 -1
@@ -0,0 +1 @@
1
+ import{r as o,j as t}from"./main-DBmooBKx.js";import{c as Fe}from"./react-dSDkXQu6.js";import{B as O,H as C,V as Ke,z as ze,f as Be,P as Re,S as Me,g as De,R as _e,s as Ue,j as Ye,c as L,o as Ge,v as He,k as qe,m as Je,n as Xe,h as $e,J as Y,t as Qe}from"./button-DdG8c-XQ.js";import{D as Ze,a as et,b as tt,c as at,d as G}from"./use-file-explorer-state-C-D2CShe.js";import{S as m}from"./switch-kXs1I0oW.js";import{T as y,a as v,b as j}from"./tabs-B6GW7TBf.js";import{u as rt}from"./index-BxsgifDH.js";import{u as st,g as H}from"./_sessionKey-CNw4O2rY.js";import"./useBaseUiId-Ckx_aJky.js";import"./event-Dwf9IDxK.js";import"./popupStateMapping-CGDLUl5Y.js";import"./visuallyHidden-COI6QeQH.js";import"./composite-Cx-QHT9o.js";import"./useControlled-8D4PSDAL.js";import"./useCompositeItem-CkvfeGmG.js";import"./DirectionContext-B1cuzwIr.js";import"./CSPContext-nHSyQniZ.js";import"./useQuery-CtUiG53w.js";import"./tooltip-CtHpm-sQ.js";import"./useMutation-DckvFKPC.js";import"./menu-ByR1BVmq.js";import"./opencami-logo-BV1uPYe6.js";import"./proxy-DYrSkM35.js";import"./markdown-Bpat4kTr.js";import"./index-T4TOjvD0.js";function lt(){if(typeof window>"u")return!1;try{return window.localStorage.getItem("feature_artifacts")==="true"}catch{return!1}}const nt=Fe()(n=>({isEnabled:lt(),isPanelOpen:!1,content:"",type:null,setArtifact:function(h,a){n({content:h,type:a,isPanelOpen:!0})},clearArtifact:function(){n({content:"",type:null})},openPanel:function(){n({isPanelOpen:!0})},closePanel:function(){n({isPanelOpen:!1})},setEnabled:function(h){if(typeof window<"u")try{window.localStorage.setItem("feature_artifacts",String(h))}catch{}n({isEnabled:h})}}));function b({title:n,tabId:l,activeTab:h,children:a}){const c=l&&h&&l!==h;return t.jsxs("div",{className:L("border-b border-primary-200 py-2 last:border-0",c&&"md:hidden"),children:[t.jsx("h3",{className:"mb-1.5 text-sm font-semibold text-primary-700",children:n}),t.jsx("div",{className:"space-y-1.5",children:a})]})}function s({label:n,description:l,inline:h,children:a}){return h?t.jsxs("div",{className:"flex items-center justify-between",children:[t.jsxs("div",{className:"flex-1 select-none",children:[t.jsx("div",{className:"text-[13px] font-medium text-primary-800",children:n}),l&&t.jsx("div",{className:"text-xs text-primary-500",children:l})]}),t.jsx("div",{className:"flex items-center gap-2",children:a})]}):t.jsxs("div",{className:"space-y-1",children:[t.jsxs("div",{className:"select-none",children:[t.jsx("div",{className:"text-[13px] font-medium text-primary-800",children:n}),l&&t.jsx("div",{className:"text-xs text-primary-500",children:l})]}),t.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:a})]})}const te=[{value:"14px",label:"S"},{value:"16px",label:"M"},{value:"18px",label:"L"},{value:"20px",label:"XL"}],W=[{value:"system",label:"System",cssValue:'-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif',previewClass:"font-sans"},{value:"inter",label:"Inter",cssValue:'"Inter", sans-serif',previewClass:'font-["Inter",sans-serif]'},{value:"roboto",label:"Roboto",cssValue:'"Roboto", sans-serif',previewClass:'font-["Roboto",sans-serif]'}],ae=[{value:"compact",label:"Compact"},{value:"comfortable",label:"Comfortable"},{value:"spacious",label:"Spacious"}],F=[{value:"green",label:"Green",accent:"#22c55e",hover:"#16a34a",light:"rgba(34, 197, 94, 0.10)"},{value:"blue",label:"Blue",accent:"#3b82f6",hover:"#2563eb",light:"rgba(59, 130, 246, 0.10)"},{value:"purple",label:"Purple",accent:"#8b5cf6",hover:"#7c3aed",light:"rgba(139, 92, 246, 0.10)"},{value:"orange",label:"Orange",accent:"#f97316",hover:"#ea580c",light:"rgba(249, 115, 22, 0.10)"},{value:"pink",label:"Pink",accent:"#ec4899",hover:"#db2777",light:"rgba(236, 72, 153, 0.10)"},{value:"red",label:"Red",accent:"#ef4444",hover:"#dc2626",light:"rgba(239, 68, 68, 0.10)"},{value:"cyan",label:"Cyan",accent:"#06b6d4",hover:"#0891b2",light:"rgba(6, 182, 212, 0.10)"},{value:"yellow",label:"Yellow",accent:"#eab308",hover:"#ca8a04",light:"rgba(234, 179, 8, 0.10)"}],K=[{value:"narrow",label:"Narrow",cssValue:"640px"},{value:"medium",label:"Medium",cssValue:"800px"},{value:"wide",label:"Wide",cssValue:"1000px"},{value:"full",label:"Full",cssValue:"100%"}],z=[{value:"compact",label:"Compact",cssValue:"200px"},{value:"normal",label:"Normal",cssValue:"260px"},{value:"wide",label:"Wide",cssValue:"320px"},{value:"xl",label:"XL",cssValue:"400px"}],re=[{value:"default",label:"Default"},{value:"bubbles",label:"Bubbles"},{value:"minimal",label:"Minimal"}];function q(n){return te.some(l=>l.value===n)}function J(n){return W.some(l=>l.value===n)}function X(n){return ae.some(l=>l.value===n)}function $(n){return F.some(l=>l.value===n)}function Q(n){return K.some(l=>l.value===n)}function Z(n){return z.some(l=>l.value===n)}function ee(n){return re.some(l=>l.value===n)}function Vt({open:n,onOpenChange:l,onClose:h}){const{settings:a,updateSettings:c}=rt(),{settings:u,updateSettings:f,status:w,testApiKey:se}=st(),[p,le]=o.useState("appearance"),[g,R]=o.useState(u.llmApiKey),[M,D]=o.useState(!1),[S,k]=o.useState(null),[ne,ie]=o.useState(()=>{if(typeof window>"u")return"16px";try{const e=localStorage.getItem("opencami-text-size");if(e&&q(e))return e}catch{}return"16px"}),[oe,ce]=o.useState(()=>{if(typeof window>"u")return!0;try{const e=localStorage.getItem("opencami-tts-enabled");return e===null?!0:e==="true"}catch{return!0}}),[_,de]=o.useState(()=>{if(typeof window>"u")return"auto";try{return localStorage.getItem("opencami-tts-provider")||"auto"}catch{return"auto"}}),[ue,me]=o.useState(()=>{if(typeof window>"u")return"nova";try{return localStorage.getItem("opencami-tts-voice")||"nova"}catch{return"nova"}}),[he,pe]=o.useState(()=>{if(typeof window>"u")return"auto";try{return localStorage.getItem("opencami-stt-provider")||"auto"}catch{return"auto"}});o.useEffect(()=>{if(!(typeof window>"u"))try{const e=localStorage.getItem("opencami-font-family");e&&J(e)?(I(e),a.fontFamily!==e&&c({fontFamily:e})):I(a.fontFamily);const r=localStorage.getItem("opencami-density");r&&X(r)?(N(r),a.density!==r&&c({density:r})):N(a.density);const i=localStorage.getItem("opencami-accent-color");i&&$(i)?(P(i),a.accentColor!==i&&c({accentColor:i})):P(a.accentColor);const d=localStorage.getItem("opencami-chat-width");d&&Q(d)?(A(d),a.chatWidth!==d&&c({chatWidth:d})):A(a.chatWidth);const x=localStorage.getItem("opencami-sidebar-width");x&&Z(x)?(E(x),a.sidebarWidth!==x&&c({sidebarWidth:x})):E(a.sidebarWidth);const V=localStorage.getItem("opencami-bubble-style");V&&ee(V)?(T(V),a.bubbleStyle!==V&&c({bubbleStyle:V})):T(a.bubbleStyle)}catch{I(a.fontFamily),N(a.density),P(a.accentColor),A(a.chatWidth),E(a.sidebarWidth),T(a.bubbleStyle)}},[]),o.useEffect(()=>{I(a.fontFamily)},[a.fontFamily]),o.useEffect(()=>{N(a.density)},[a.density]),o.useEffect(()=>{P(a.accentColor)},[a.accentColor]),o.useEffect(()=>{A(a.chatWidth)},[a.chatWidth]),o.useEffect(()=>{E(a.sidebarWidth)},[a.sidebarWidth]),o.useEffect(()=>{T(a.bubbleStyle)},[a.bubbleStyle]);const xe=e=>{de(e);try{localStorage.setItem("opencami-tts-provider",e)}catch{}},be=e=>{me(e);try{localStorage.setItem("opencami-tts-voice",e)}catch{}},fe=e=>{pe(e);try{localStorage.setItem("opencami-stt-provider",e)}catch{}};function ge(e){typeof document>"u"||document.documentElement.style.setProperty("--opencami-text-size",e)}function I(e){if(typeof document>"u")return;const i=W.find(d=>d.value===e)?.cssValue??W[0].cssValue;document.documentElement.style.setProperty("--opencami-font-family",i)}function N(e){if(typeof document>"u")return;const r=document.documentElement;if(r.style.setProperty("--opencami-density",e),e==="compact"){r.style.setProperty("--opencami-msg-padding-y","0.25rem"),r.style.setProperty("--opencami-msg-gap","0.25rem"),r.style.setProperty("--opencami-user-bubble-py","0.4rem");return}if(e==="spacious"){r.style.setProperty("--opencami-msg-padding-y","1.25rem"),r.style.setProperty("--opencami-msg-gap","1rem"),r.style.setProperty("--opencami-user-bubble-py","1rem");return}r.style.setProperty("--opencami-msg-padding-y","0.75rem"),r.style.setProperty("--opencami-msg-gap","0.5rem"),r.style.setProperty("--opencami-user-bubble-py","0.625rem")}function P(e){if(typeof document>"u")return;const r=F.find(d=>d.value===e)??F[0],i=document.documentElement;i.style.setProperty("--opencami-accent",r.accent),i.style.setProperty("--opencami-accent-hover",r.hover),i.style.setProperty("--opencami-accent-light",r.light)}function A(e){if(typeof document>"u")return;const r=K.find(i=>i.value===e)??K[2];document.documentElement.style.setProperty("--opencami-chat-width",r.cssValue)}function E(e){if(typeof document>"u")return;const r=z.find(i=>i.value===e)??z[1];document.documentElement.style.setProperty("--opencami-sidebar-width",r.cssValue)}function T(e){typeof document>"u"||document.documentElement.setAttribute("data-opencami-bubble-style",e)}const ye=e=>{if(q(e)){ie(e),ge(e);try{localStorage.setItem("opencami-text-size",e)}catch{}}},ve=e=>{if(J(e)){I(e),c({fontFamily:e});try{localStorage.setItem("opencami-font-family",e)}catch{}}},je=e=>{if(X(e)){N(e),c({density:e});try{localStorage.setItem("opencami-density",e)}catch{}}},we=e=>{if($(e)){P(e),c({accentColor:e});try{localStorage.setItem("opencami-accent-color",e)}catch{}}},Se=e=>{if(Q(e)){A(e),c({chatWidth:e});try{localStorage.setItem("opencami-chat-width",e)}catch{}}},Ce=e=>{if(Z(e)){E(e),c({sidebarWidth:e});try{localStorage.setItem("opencami-sidebar-width",e)}catch{}}},ke=e=>{if(ee(e)){T(e),c({bubbleStyle:e});try{localStorage.setItem("opencami-bubble-style",e)}catch{}}},Ie=e=>{ce(e);try{localStorage.setItem("opencami-tts-enabled",String(e))}catch{}window.dispatchEvent(new StorageEvent("storage",{key:"opencami-tts-enabled",newValue:String(e)}))},[U,Ne]=o.useState(!1),B=o.useRef(null),[Pe,Ae]=o.useState(()=>{if(typeof window>"u")return!0;try{const e=localStorage.getItem("opencami-personas-enabled");return e===null?!0:e==="true"}catch{return!0}});o.useEffect(()=>{let e=!0;async function r(){B.current?.abort();const i=new AbortController;B.current=i;try{const d=await fetch("/api/personas",{signal:i.signal});if(!d.ok)return;const x=await d.json();e&&x.ok&&Ne(x.available)}catch(d){if(d instanceof Error&&d.name==="AbortError")return}}return r(),()=>{e=!1,B.current?.abort()}},[]);const Ee=e=>{Ae(e);try{localStorage.setItem("opencami-personas-enabled",String(e))}catch{}window.dispatchEvent(new StorageEvent("storage",{key:"opencami-personas-enabled",newValue:String(e)}))},Te=async()=>{if(g.trim()){D(!0),k(null);try{const e=await se(g.trim());k(e),e.valid&&f({llmApiKey:g.trim()})}finally{D(!1)}}},Ve=()=>{f({llmApiKey:g.trim()}),k(null)},Oe=()=>{R(""),f({llmApiKey:""}),k(null)},Le=[{value:"system",label:"Auto",icon:Ge},{value:"light",label:"Light",icon:He},{value:"dark",label:"Dark",icon:qe},{value:"chameleon",label:"Cham",icon:Je},{value:"frost-light",label:"Ice",icon:Xe}];function We(e){if(typeof document>"u")return;const r=document.documentElement,i=window.matchMedia("(prefers-color-scheme: dark)");r.classList.remove("light","dark","system","chameleon","frost","frost-light","frost-dark"),r.style.colorScheme="",r.classList.add(e);const d=e==="frost-light",x=e==="frost-dark";(d||x)&&r.classList.add("frost"),x&&r.classList.add("dark"),e==="system"&&i.matches&&r.classList.add("dark"),d&&(r.classList.remove("dark"),r.style.colorScheme="light")}return t.jsx(Ze,{open:n,onOpenChange:l,children:t.jsx(et,{className:"w-[min(680px,92vw)] max-h-[85vh] overflow-y-auto",children:t.jsxs("div",{className:"p-3",children:[t.jsxs("div",{className:"flex items-start justify-between",children:[t.jsxs("div",{children:[t.jsx(tt,{className:"mb-1",children:"Settings"}),t.jsx(at,{className:"hidden",children:"Configure OpenCami"})]}),t.jsx(G,{render:t.jsx(O,{size:"icon-sm",variant:"ghost",className:"text-primary-500 hover:bg-primary-100 hover:text-primary-700","aria-label":"Close",children:t.jsx(C,{icon:Ke,size:20,strokeWidth:1.5})})})]}),t.jsxs("div",{className:"mt-2 flex md:flex-row flex-col md:gap-3 gap-0 md:min-h-[400px]",children:[t.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:ze},{id:"appearance",label:"Appearance",icon:Be},{id:"chat",label:"Chat",icon:Re},{id:"workspace",label:"Workspace",icon:Me},{id:"personas",label:"Personas",icon:De},{id:"voice",label:"Voice",icon:_e},{id:"llm",label:"LLM Features",icon:Ue},{id:"about",label:"About",icon:Ye}].map(e=>t.jsxs("button",{onClick:()=>le(e.id),className:L("flex items-center gap-2 px-2.5 py-1.5 rounded-md text-sm text-left transition-colors",p===e.id?"text-primary-900 font-medium":"text-primary-600 hover:text-primary-900 hover:bg-primary-50"),style:p===e.id?{backgroundColor:"var(--opencami-accent-light)"}:void 0,children:[t.jsx(C,{icon:e.icon,size:16,strokeWidth:1.5}),e.label]},e.id))}),t.jsxs("div",{className:"flex-1 overflow-y-auto md:max-h-[calc(85vh-90px)] max-h-none",children:[t.jsx(b,{title:"Connection",tabId:"connection",activeTab:p,children:t.jsx(s,{inline:!0,label:"Status",children:t.jsxs("span",{className:"flex items-center gap-1.5 text-sm text-green-600",children:[t.jsx("span",{className:"size-2 rounded-full bg-green-500"}),"Connected"]})})}),t.jsxs(b,{title:"Appearance",tabId:"appearance",activeTab:p,children:[t.jsx(s,{label:"Theme",children:t.jsx(y,{value:a.theme,onValueChange:e=>{const r=e;We(r),c({theme:r})},children:t.jsx(v,{variant:"default",className:"gap-1.5 flex-wrap *:data-[slot=tab-indicator]:duration-0",children:Le.map(e=>t.jsxs(j,{value:e.value,className:"text-[11px] px-1 py-0.5 gap-0.5",children:[e.icon&&t.jsx(C,{icon:e.icon,size:13,strokeWidth:1.5}),t.jsx("span",{children:e.label})]},e.value))})})}),t.jsx(s,{label:"Accent Color",children:t.jsx("div",{className:"flex gap-0.5 flex-wrap",children:F.map(e=>{const r=a.accentColor===e.value;return t.jsx("button",{type:"button",onClick:()=>we(e.value),className:L("flex items-center justify-center rounded-md p-1 transition-all duration-150",r?"scale-110":"hover:bg-primary-50 hover:scale-105"),children:t.jsx("span",{className:L("size-6 rounded-full transition-shadow duration-150",r?"ring-2 ring-offset-2":"border-2 border-primary-200"),style:{backgroundColor:e.accent,...r?{"--tw-ring-color":e.accent}:{}}})},e.value)})})}),t.jsx(s,{label:"Text Size",children:t.jsx(y,{value:ne,onValueChange:ye,children:t.jsx(v,{variant:"default",className:"gap-2 *:data-[slot=tab-indicator]:duration-0",children:te.map(e=>t.jsx(j,{value:e.value,children:t.jsx("span",{className:"tabular-nums text-xs",children:e.label})},e.value))})})}),t.jsx(s,{inline:!0,label:"Font",children:t.jsx(y,{value:a.fontFamily,onValueChange:ve,children:t.jsx(v,{variant:"default",className:"gap-1 *:data-[slot=tab-indicator]:duration-0",children:W.map(e=>t.jsx(j,{value:e.value,children:t.jsx("span",{className:"text-xs",style:{fontFamily:e.cssValue},children:e.label})},e.value))})})}),t.jsx(s,{inline:!0,label:"Density",children:t.jsx(y,{value:a.density,onValueChange:je,children:t.jsx(v,{variant:"default",className:"gap-1 *:data-[slot=tab-indicator]:duration-0",children:ae.map(e=>t.jsx(j,{value:e.value,children:t.jsx("span",{className:"text-xs",children:e.label})},e.value))})})}),t.jsx(s,{inline:!0,label:"Bubbles",children:t.jsx(y,{value:a.bubbleStyle,onValueChange:ke,children:t.jsx(v,{variant:"default",className:"gap-1 *:data-[slot=tab-indicator]:duration-0",children:re.map(e=>t.jsx(j,{value:e.value,children:t.jsx("span",{className:"text-xs",children:e.label})},e.value))})})}),t.jsx(s,{inline:!0,label:"Chat Width",children:t.jsx(y,{value:a.chatWidth,onValueChange:Se,children:t.jsx(v,{variant:"default",className:"gap-1 *:data-[slot=tab-indicator]:duration-0",children:K.map(e=>t.jsx(j,{value:e.value,children:t.jsx("span",{className:"text-xs",children:e.label})},e.value))})})}),t.jsx(s,{inline:!0,label:"Sidebar",children:t.jsx(y,{value:a.sidebarWidth,onValueChange:Ce,children:t.jsx(v,{variant:"default",className:"gap-1 *:data-[slot=tab-indicator]:duration-0",children:z.map(e=>t.jsx(j,{value:e.value,children:t.jsx("span",{className:"text-xs",children:e.label})},e.value))})})})]}),t.jsxs(b,{title:"Chat",tabId:"chat",activeTab:p,children:[t.jsx(s,{inline:!0,label:"Show tool messages",children:t.jsx(m,{checked:a.showToolMessages,onCheckedChange:e=>c({showToolMessages:e})})}),t.jsx(s,{inline:!0,label:"Show reasoning blocks",children:t.jsx(m,{checked:a.showReasoningBlocks,onCheckedChange:e=>c({showReasoningBlocks:e})})}),t.jsx(s,{inline:!0,label:"Show search sources",children:t.jsx(m,{checked:a.showSearchSources,onCheckedChange:e=>c({showSearchSources:e})})}),t.jsx(s,{inline:!0,label:"Inline File Preview",description:"Make file paths in messages clickable to preview file contents",children:t.jsx(m,{checked:a.inlineFilePreview,onCheckedChange:e=>c({inlineFilePreview:e})})})]}),t.jsxs(b,{title:"Workspace",tabId:"workspace",activeTab:p,children:[t.jsx(s,{inline:!0,label:"File Explorer",description:"Browse and edit workspace files from the sidebar",children:t.jsx(m,{checked:(()=>{try{const e=localStorage.getItem("opencami-file-explorer");return e===null?!0:e==="true"}catch{return!0}})(),onCheckedChange:e=>{localStorage.setItem("opencami-file-explorer",String(e)),window.location.reload()}})}),t.jsx(s,{inline:!0,label:"Memory Viewer",description:"Browse and edit MEMORY.md and daily memory files",children:t.jsx(m,{checked:(()=>{try{const e=localStorage.getItem("opencami-memory-viewer");return e===null?!0:e==="true"}catch{return!0}})(),onCheckedChange:e=>{localStorage.setItem("opencami-memory-viewer",String(e)),window.location.reload()}})}),t.jsx(s,{inline:!0,label:"Agent Manager (Beta)",description:"Show Agent Manager in sidebar for creating and managing agents",children:t.jsx(m,{checked:(()=>{try{return localStorage.getItem("opencami-agent-manager")==="true"}catch{return!1}})(),onCheckedChange:e=>{localStorage.setItem("opencami-agent-manager",String(e)),window.location.reload()}})}),t.jsx(s,{inline:!0,label:"Skills Browser (Beta)",description:"Browse and install skills from ClawHub",children:t.jsx(m,{checked:(()=>{try{return localStorage.getItem("opencami-skills-browser")==="true"}catch{return!1}})(),onCheckedChange:e=>{localStorage.setItem("opencami-skills-browser",String(e)),window.location.reload()}})}),t.jsx(s,{inline:!0,label:"Cron Jobs Panel (Beta)",description:"Show Cron Jobs in sidebar for managing OpenClaw cron schedules",children:t.jsx(m,{checked:(()=>{try{return localStorage.getItem("opencami-cron-manager")==="true"}catch{return!1}})(),onCheckedChange:e=>{localStorage.setItem("opencami-cron-manager",String(e)),window.location.reload()}})}),t.jsx(s,{inline:!0,label:"Dashboard (Beta)",description:"Show Dashboard in sidebar with system and gateway widgets",children:t.jsx(m,{checked:(()=>{try{return localStorage.getItem("feature_dashboard")==="true"}catch{return!1}})(),onCheckedChange:e=>{localStorage.setItem("feature_dashboard",String(e)),window.location.reload()}})}),t.jsx(s,{inline:!0,label:"Artifacts Preview (Beta)",description:"Show live HTML/SVG preview panel when AI generates code",children:t.jsx(m,{checked:(()=>{try{return localStorage.getItem("feature_artifacts")==="true"}catch{return!1}})(),onCheckedChange:e=>{localStorage.setItem("feature_artifacts",String(e)),nt.getState().setEnabled(e)}})})]}),t.jsxs(b,{title:"Personas",tabId:"personas",activeTab:p,children:[U?t.jsx(s,{inline:!0,label:"Persona Picker",description:"Show persona picker in chat (20 personalities)",children:t.jsx(m,{checked:Pe,onCheckedChange:Ee})}):t.jsx(s,{inline:!0,label:"Persona Picker",description:"Install the Personas skill to unlock 20 AI personalities",children:t.jsx(m,{checked:!1,disabled:!0})}),!U&&t.jsx("div",{className:"pt-1",children:t.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 →"})})]}),t.jsxs(b,{title:"Text-to-Speech",tabId:"voice",activeTab:p,children:[t.jsx(s,{inline:!0,label:"Voice Playback",description:"Add a 🔊 button to AI messages for text-to-speech",children:t.jsx(m,{checked:oe,onCheckedChange:Ie})}),t.jsx(s,{inline:!0,label:"TTS Provider",description:"Choose which service generates speech",children:t.jsxs("select",{value:_,onChange:e=>xe(e.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:[t.jsx("option",{value:"auto",children:"Auto"}),t.jsx("option",{value:"elevenlabs",children:"ElevenLabs"}),t.jsx("option",{value:"openai",children:"OpenAI"}),t.jsx("option",{value:"edge",children:"Edge TTS (free)"})]})}),_==="openai"&&t.jsx(s,{inline:!0,label:"Voice",description:"OpenAI voice selection",children:t.jsx("select",{value:ue,onChange:e=>be(e.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(e=>t.jsx("option",{value:e,children:e.charAt(0).toUpperCase()+e.slice(1)},e))})})]}),t.jsx(b,{title:"Speech-to-Text",tabId:"voice",activeTab:p,children:t.jsx(s,{inline:!0,label:"STT Provider",description:"Choose which service transcribes your voice",children:t.jsxs("select",{value:he,onChange:e=>fe(e.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:[t.jsx("option",{value:"auto",children:"Auto"}),t.jsx("option",{value:"elevenlabs",children:"ElevenLabs"}),t.jsx("option",{value:"openai",children:"OpenAI"}),t.jsx("option",{value:"browser",children:"Browser (free)"})]})})}),t.jsxs(b,{title:"LLM Features",tabId:"llm",activeTab:p,children:[t.jsxs("div",{className:"text-xs text-primary-500 mb-3",children:["Enhance session titles and follow-up suggestions using an LLM provider.",w.hasEnvKey&&t.jsx("span",{className:"block mt-1 text-green-600",children:"✓ Server has OPENAI_API_KEY configured"}),w.hasOpenRouterKey&&t.jsx("span",{className:"block mt-1 text-green-600",children:"✓ Server has OPENROUTER_API_KEY configured"}),w.hasKilocodeKey&&t.jsx("span",{className:"block mt-1 text-green-600",children:"✓ Server has KILOCODE_API_KEY configured"})]}),t.jsx(s,{inline:!0,label:"Provider",description:"Choose LLM provider for titles & follow-ups",children:t.jsxs("select",{value:u.llmProvider,onChange:e=>{const r=e.target.value;f({llmProvider:r,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:[t.jsx("option",{value:"openai",children:"OpenAI"}),t.jsx("option",{value:"openrouter",children:"OpenRouter"}),t.jsx("option",{value:"kilocode",children:"Kilo Gateway"}),t.jsx("option",{value:"ollama",children:"Ollama (local)"}),t.jsx("option",{value:"custom",children:"Custom"})]})}),t.jsx(s,{inline:!0,label:"Smart session titles",description:"Generate concise titles using AI",children:t.jsx(m,{checked:u.useLlmTitles,onCheckedChange:e=>f({useLlmTitles:e}),disabled:!w.isAvailable})}),t.jsx(s,{inline:!0,label:"Smart follow-up suggestions",description:"AI-generated contextual follow-ups",children:t.jsx(m,{checked:u.useLlmFollowUps,onCheckedChange:e=>f({useLlmFollowUps:e}),disabled:!w.isAvailable})}),t.jsxs("div",{className:"mt-2 space-y-2",children:[t.jsxs("div",{children:[t.jsx("div",{className:"text-xs text-primary-500 mb-1",children:"Model"}),t.jsx("input",{type:"text",value:u.llmModel,onChange:e=>f({llmModel:e.target.value}),placeholder:H(u.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"})]}),(u.llmProvider==="custom"||u.llmProvider==="ollama")&&t.jsxs("div",{children:[t.jsx("div",{className:"text-xs text-primary-500 mb-1",children:"Base URL"}),t.jsx("input",{type:"text",value:u.llmBaseUrl,onChange:e=>f({llmBaseUrl:e.target.value}),placeholder:H(u.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"})]})]}),t.jsxs("div",{className:"mt-4 pt-3 border-t border-primary-100",children:[t.jsx("div",{className:"text-sm text-primary-800 mb-2",children:u.llmProvider==="ollama"?"API Key (optional)":"API Key"}),t.jsx("div",{className:"text-xs text-primary-500 mb-2",children:u.llmProvider==="ollama"?"Not required for local Ollama":w.hasEnvKey&&u.llmProvider==="openai"?"Optional: Override server key with your own":`Required for ${u.llmProvider==="openrouter"?"OpenRouter":u.llmProvider==="kilocode"?"Kilo Gateway":"LLM features"} (stored locally)`}),t.jsxs("div",{className:"text-xs text-amber-600 bg-amber-50 border border-amber-200 rounded-md px-2 py-1.5 mb-2",children:["⚠️ ",t.jsx("strong",{children:"Security Note:"})," API keys are stored in your browser's localStorage. This is convenient but not secure for shared computers. For production use, configure keys server-side via environment variables (OPENAI_API_KEY, OPENROUTER_API_KEY, KILOCODE_API_KEY)."]}),t.jsxs("div",{className:"flex gap-2",children:[t.jsx("input",{type:"password",value:g,onChange:e=>{R(e.target.value),k(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"}),t.jsx(O,{size:"sm",variant:"outline",onClick:Te,disabled:!g.trim()||M,className:"min-w-[60px]",children:M?t.jsx(C,{icon:$e,size:16,className:"animate-spin"}):"Test"})]}),S&&t.jsxs("div",{className:`mt-2 flex items-center gap-1.5 text-xs ${S.valid?"text-green-600":"text-red-600"}`,children:[t.jsx(C,{icon:S.valid?Y:Qe,size:14}),S.valid?"API key is valid":S.error||"Invalid API key"]}),u.llmApiKey&&t.jsxs("div",{className:"mt-2 flex items-center justify-between",children:[t.jsxs("span",{className:"text-xs text-green-600 flex items-center gap-1",children:[t.jsx(C,{icon:Y,size:14}),"Key saved"]}),t.jsx(O,{size:"sm",variant:"ghost",onClick:Oe,className:"text-xs text-red-600 hover:text-red-700 hover:bg-red-50",children:"Clear"})]}),g&&g!==u.llmApiKey&&!S?.valid&&t.jsx(O,{size:"sm",variant:"outline",onClick:Ve,className:"mt-2 w-full",children:"Save without testing"})]})]}),t.jsxs(b,{title:"About",tabId:"about",activeTab:p,children:[t.jsx("div",{className:"text-sm text-primary-800",children:"OpenCami"}),t.jsxs("div",{className:"flex gap-4 pt-2",children:[t.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"}),t.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"})]})]})]})]}),t.jsx("div",{className:"mt-2 flex justify-end",children:t.jsx(G,{onClick:h,children:"Close"})})]})})})}export{Vt as SettingsDialog};
@@ -1,4 +1,4 @@
1
- import{r as o,j as e,L as H}from"./main-Dq6jpr6-.js";import{H as m,r as W,h as f,d as D,D as A,y as E,J as I,A as R,e as _,B as J,i as F}from"./button-CK8tKQ-Z.js";import{T as K,a as Q,b as k}from"./tabs-DI1e-kzz.js";import"./useControlled-BQxTgsOd.js";import"./useBaseUiId-MgM4ouhx.js";import"./useCompositeItem-OhltNFdZ.js";import"./DirectionContext-C6goXEY_.js";import"./event-BsD1rqGT.js";import"./composite-feK0c-xF.js";import"./CSPContext-6t3O1emU.js";async function v(s){const n=await fetch(s);if(!n.ok)throw new Error(`HTTP ${n.status}`);const r=await n.json();if(!r.ok)throw new Error(r.error||"Unknown error");return r.skills}function b(){const[s,n]=o.useState([]),[r,l]=o.useState(!0),[c,a]=o.useState(null),i=o.useCallback(async()=>{l(!0),a(null);try{const t=await v("/api/skills?action=installed");n(t)}catch(t){a(t instanceof Error?t.message:String(t))}finally{l(!1)}},[]);return o.useEffect(()=>{i()},[i]),{skills:s,loading:r,error:c,refresh:i}}function Z(s,n){const[r,l]=o.useState([]),[c,a]=o.useState(!0),[i,t]=o.useState(null);return o.useEffect(()=>{let x=!1;return a(!0),t(null),v(`/api/skills?action=explore&sort=${s}&limit=${n}`).then(d=>{x||l(d)}).catch(d=>{x||t(d instanceof Error?d.message:String(d))}).finally(()=>{x||a(!1)}),()=>{x=!0}},[s,n]),{skills:r,loading:c,error:i}}function q(s){const[n,r]=o.useState([]),[l,c]=o.useState(!1),[a,i]=o.useState(null),t=o.useRef(null);return o.useEffect(()=>{if(t.current&&clearTimeout(t.current),!s.trim()){r([]),c(!1);return}return c(!0),t.current=setTimeout(()=>{v(`/api/skills?action=search&q=${encodeURIComponent(s)}&limit=10`).then(r).catch(x=>i(x instanceof Error?x.message:String(x))).finally(()=>c(!1))},400),()=>{t.current&&clearTimeout(t.current)}},[s]),{skills:n,loading:l,error:a}}function V(){const[s,n]=o.useState([]),[r,l]=o.useState(!0),[c,a]=o.useState(null),i=o.useCallback(async()=>{l(!0),a(null);try{const t=await v("/api/skills?action=my-skills");n(t)}catch(t){a(t instanceof Error?t.message:String(t))}finally{l(!1)}},[]);return o.useEffect(()=>{i()},[i]),{skills:s,loading:r,error:c,refresh:i}}function G(){const[s,n]=o.useState([]),[r,l]=o.useState(!0),[c,a]=o.useState(null),i=o.useCallback(async()=>{l(!0),a(null);try{const t=await v("/api/skills?action=recommended");n(t)}catch(t){a(t instanceof Error?t.message:String(t))}finally{l(!1)}},[]);return o.useEffect(()=>{i()},[i]),{skills:s,loading:r,error:c,refresh:i}}function M(){const[s,n]=o.useState(null),[r,l]=o.useState(null);return{install:o.useCallback(async a=>{n(a),l(null);try{const t=await(await fetch("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"install",slug:a})})).json();if(!t.ok)throw new Error(t.error||"Install failed")}catch(i){throw l(i instanceof Error?i.message:String(i)),i}finally{n(null)}},[]),installing:s,error:r}}function X(){const[s,n]=o.useState(null),[r,l]=o.useState(null);return{update:o.useCallback(async a=>{n(a),l(null);try{const t=await(await fetch("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"update",slug:a})})).json();if(!t.ok)throw new Error(t.error||"Update failed")}catch(i){throw l(i instanceof Error?i.message:String(i)),i}finally{n(null)}},[]),updating:s,error:r}}const Y=new Set(["openclaw","clawhub","anthropic","robbyczgw-cla"]),ee=100;function U(s,n){if(n)return{type:"installed",label:"Installed"};const r=s.publisher||s.author||"",l=s.stats?.downloads||0;return Y.has(r.toLowerCase())||l>=ee?{type:"verified",label:"Verified"}:{type:"community",label:"Community"}}function $({type:s,label:n}){const r={verified:"bg-emerald-50 text-emerald-600 border-emerald-100",community:"bg-primary-50 text-primary-500 border-primary-100",installed:"bg-sky-50 text-sky-600 border-sky-100"};return e.jsxs("span",{className:`inline-flex items-center gap-1 px-1.5 py-0.5 text-[10px] font-medium rounded-full border ${r[s]}`,title:`${n} Skill`,children:[e.jsx(m,{icon:s==="installed"?I:F,size:10,strokeWidth:2}),n]})}function B({skill:s,installed:n,installing:r,onInstall:l,onUpdate:c,updating:a,showUpdate:i,onClick:t}){const x=s.slug||"",d=s.displayName||x,p=s.summary,h=s.version||s.latestVersion?.version||"",y=s.stats?.downloads,j=U(s,n);return e.jsxs("div",{className:`
1
+ import{r as o,j as e,L as H}from"./main-DBmooBKx.js";import{H as m,r as W,h as f,d as D,D as A,y as E,J as I,e as R,A as _,B as J,i as F}from"./button-DdG8c-XQ.js";import{T as K,a as Q,b as k}from"./tabs-B6GW7TBf.js";import"./useControlled-8D4PSDAL.js";import"./useBaseUiId-Ckx_aJky.js";import"./useCompositeItem-CkvfeGmG.js";import"./DirectionContext-B1cuzwIr.js";import"./event-Dwf9IDxK.js";import"./composite-Cx-QHT9o.js";import"./CSPContext-nHSyQniZ.js";async function v(s){const n=await fetch(s);if(!n.ok)throw new Error(`HTTP ${n.status}`);const r=await n.json();if(!r.ok)throw new Error(r.error||"Unknown error");return r.skills}function b(){const[s,n]=o.useState([]),[r,l]=o.useState(!0),[c,a]=o.useState(null),i=o.useCallback(async()=>{l(!0),a(null);try{const t=await v("/api/skills?action=installed");n(t)}catch(t){a(t instanceof Error?t.message:String(t))}finally{l(!1)}},[]);return o.useEffect(()=>{i()},[i]),{skills:s,loading:r,error:c,refresh:i}}function Z(s,n){const[r,l]=o.useState([]),[c,a]=o.useState(!0),[i,t]=o.useState(null);return o.useEffect(()=>{let x=!1;return a(!0),t(null),v(`/api/skills?action=explore&sort=${s}&limit=${n}`).then(d=>{x||l(d)}).catch(d=>{x||t(d instanceof Error?d.message:String(d))}).finally(()=>{x||a(!1)}),()=>{x=!0}},[s,n]),{skills:r,loading:c,error:i}}function q(s){const[n,r]=o.useState([]),[l,c]=o.useState(!1),[a,i]=o.useState(null),t=o.useRef(null);return o.useEffect(()=>{if(t.current&&clearTimeout(t.current),!s.trim()){r([]),c(!1);return}return c(!0),t.current=setTimeout(()=>{v(`/api/skills?action=search&q=${encodeURIComponent(s)}&limit=10`).then(r).catch(x=>i(x instanceof Error?x.message:String(x))).finally(()=>c(!1))},400),()=>{t.current&&clearTimeout(t.current)}},[s]),{skills:n,loading:l,error:a}}function V(){const[s,n]=o.useState([]),[r,l]=o.useState(!0),[c,a]=o.useState(null),i=o.useCallback(async()=>{l(!0),a(null);try{const t=await v("/api/skills?action=my-skills");n(t)}catch(t){a(t instanceof Error?t.message:String(t))}finally{l(!1)}},[]);return o.useEffect(()=>{i()},[i]),{skills:s,loading:r,error:c,refresh:i}}function G(){const[s,n]=o.useState([]),[r,l]=o.useState(!0),[c,a]=o.useState(null),i=o.useCallback(async()=>{l(!0),a(null);try{const t=await v("/api/skills?action=recommended");n(t)}catch(t){a(t instanceof Error?t.message:String(t))}finally{l(!1)}},[]);return o.useEffect(()=>{i()},[i]),{skills:s,loading:r,error:c,refresh:i}}function M(){const[s,n]=o.useState(null),[r,l]=o.useState(null);return{install:o.useCallback(async a=>{n(a),l(null);try{const t=await(await fetch("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"install",slug:a})})).json();if(!t.ok)throw new Error(t.error||"Install failed")}catch(i){throw l(i instanceof Error?i.message:String(i)),i}finally{n(null)}},[]),installing:s,error:r}}function X(){const[s,n]=o.useState(null),[r,l]=o.useState(null);return{update:o.useCallback(async a=>{n(a),l(null);try{const t=await(await fetch("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"update",slug:a})})).json();if(!t.ok)throw new Error(t.error||"Update failed")}catch(i){throw l(i instanceof Error?i.message:String(i)),i}finally{n(null)}},[]),updating:s,error:r}}const Y=new Set(["openclaw","clawhub","anthropic","robbyczgw-cla"]),ee=100;function U(s,n){if(n)return{type:"installed",label:"Installed"};const r=s.publisher||s.author||"",l=s.stats?.downloads||0;return Y.has(r.toLowerCase())||l>=ee?{type:"verified",label:"Verified"}:{type:"community",label:"Community"}}function $({type:s,label:n}){const r={verified:"bg-emerald-50 text-emerald-600 border-emerald-100",community:"bg-primary-50 text-primary-500 border-primary-100",installed:"bg-sky-50 text-sky-600 border-sky-100"};return e.jsxs("span",{className:`inline-flex items-center gap-1 px-1.5 py-0.5 text-[10px] font-medium rounded-full border ${r[s]}`,title:`${n} Skill`,children:[e.jsx(m,{icon:s==="installed"?I:F,size:10,strokeWidth:2}),n]})}function B({skill:s,installed:n,installing:r,onInstall:l,onUpdate:c,updating:a,showUpdate:i,onClick:t}){const x=s.slug||"",d=s.displayName||x,p=s.summary,h=s.version||s.latestVersion?.version||"",y=s.stats?.downloads,j=U(s,n);return e.jsxs("div",{className:`
2
2
  group rounded-lg border border-primary-100 bg-surface p-4
3
3
  transition-all duration-150 ease-out
4
4
  ${t?"cursor-pointer hover:border-primary-200 hover:shadow-sm":""}
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/skills-panel-Cj7yHGbX.js","assets/main-DBmooBKx.js","assets/button-DdG8c-XQ.js","assets/tabs-B6GW7TBf.js","assets/useControlled-8D4PSDAL.js","assets/useBaseUiId-Ckx_aJky.js","assets/useCompositeItem-CkvfeGmG.js","assets/DirectionContext-B1cuzwIr.js","assets/event-Dwf9IDxK.js","assets/composite-Cx-QHT9o.js","assets/CSPContext-nHSyQniZ.js"])))=>i.map(i=>d[i]);
2
+ import{j as e,r as t,_ as r}from"./main-DBmooBKx.js";const l=t.lazy(()=>r(()=>import("./skills-panel-Cj7yHGbX.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10])).then(s=>({default:s.SkillsPanel})));function a(){return e.jsx(t.Suspense,{fallback:e.jsx("div",{className:"flex h-screen items-center justify-center text-primary-500 text-sm",children:"Loading…"}),children:e.jsx(l,{})})}export{a as component};
@@ -0,0 +1 @@
1
+ @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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-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;--tw-content:""}}}@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-red-950:oklch(25.8% .092 26.042);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-400:oklch(82.8% .189 84.429);--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-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-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--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-sky-50:oklch(97.7% .013 236.62);--color-sky-100:oklch(95.1% .026 236.824);--color-sky-500:oklch(68.5% .169 237.323);--color-sky-600:oklch(58.8% .158 241.966);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-600:oklch(54.1% .281 293.009);--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-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--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 components;@layer utilities{.pointer-events-auto{pointer-events:auto}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.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\.5{top:calc(var(--spacing)*-1.5)}.top-1\/2{top:50%}.top-full{top:100%}.-right-1{right:calc(var(--spacing)*-1)}.-right-1\.5{right:calc(var(--spacing)*-1.5)}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.right-10{right:calc(var(--spacing)*10)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-4{bottom:calc(var(--spacing)*4)}.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)}.left-3{left:calc(var(--spacing)*3)}.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-3{margin-inline:calc(var(--spacing)*3)}.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-1\.5{margin-right:calc(var(--spacing)*1.5)}.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-1\.5{margin-left:calc(var(--spacing)*-1.5)}.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-block{display:inline-block}.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-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.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\(100vh-48px\)\]{height:calc(100vh - 48px)}.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-\[70vh\]{max-height:70vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[85vh\]{max-height:85vh}.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-\[60vh\]{min-height:60vh}.min-h-\[340px\]{min-height:340px}.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-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-32{width:calc(var(--spacing)*32)}.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\(680px\,92vw\)\]{width:min(680px,92vw)}.w-\[min\(1000px\,95vw\)\]{width:min(1000px,95vw)}.w-\[var\(--opencami-sidebar-width\)\]{width:var(--opencami-sidebar-width)}.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-\[160px\]{max-width:160px}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[300px\]{max-width:300px}.max-w-\[var\(--opencami-chat-width\)\]{max-width:var(--opencami-chat-width)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-none{max-width:none}.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)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;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-1{grid-template-columns:repeat(1,minmax(0,1fr))}.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}.grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.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-6{gap:calc(var(--spacing)*6)}.gap-\[var\(--opencami-msg-gap\)\]{gap:var(--opencami-msg-gap)}.gap-px{gap:1px}:where(.space-y-0\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-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-x-hidden{overflow-x:hidden}.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-y{border-block-style:var(--tw-border-style);border-block-width:1px}.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-amber-100{border-color:var(--color-amber-100)}.border-amber-200{border-color:var(--color-amber-200)}.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-emerald-100{border-color:var(--color-emerald-100)}.border-primary-50{border-color:var(--color-primary-50)}.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-100{border-color:var(--color-red-100)}.border-red-200{border-color:var(--color-red-200)}.border-red-300{border-color:var(--color-red-300)}.border-red-300\/40{border-color:#ffa3a366}@supports (color:color-mix(in lab,red,red)){.border-red-300\/40{border-color:color-mix(in oklab,var(--color-red-300)40%,transparent)}}.border-sky-100{border-color:var(--color-sky-100)}.border-transparent{border-color:#0000}.border-violet-100{border-color:var(--color-violet-100)}.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-\[var\(--opencami-accent\)\]{background-color:var(--opencami-accent)}.bg-\[var\(--opencami-accent-light\)\]{background-color:var(--opencami-accent-light)}.bg-amber-50{background-color:var(--color-amber-50)}.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-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-50{background-color:var(--color-emerald-50)}.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-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\/50{background-color:#fdfcfb80}@supports (color:color-mix(in lab,red,red)){.bg-primary-50\/50{background-color:color-mix(in oklab,var(--color-primary-50)50%,transparent)}}.bg-primary-50\/60{background-color:#fdfcfb99}@supports (color:color-mix(in lab,red,red)){.bg-primary-50\/60{background-color:color-mix(in oklab,var(--color-primary-50)60%,transparent)}}.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-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-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-500\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab,red,red)){.bg-red-500\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-sky-50{background-color:var(--color-sky-50)}.bg-surface{background-color:var(--color-surface)}.bg-transparent{background-color:#0000}.bg-violet-50{background-color:var(--color-violet-50)}.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-1\.5{padding:calc(var(--spacing)*1.5)}.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-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.py-\[var\(--opencami-msg-padding-y\)\]{padding-block:var(--opencami-msg-padding-y)}.py-\[var\(--opencami-user-bubble-py\)\]{padding-block:var(--opencami-user-bubble-py)}.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-4{padding-top:calc(var(--spacing)*4)}.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)}.pb-3{padding-bottom:calc(var(--spacing)*3)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.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-9{padding-left:calc(var(--spacing)*9)}.pl-\[18px\]{padding-left:18px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-\[\"Inter\"\,sans-serif\]{font-family:Inter,sans-serif}.font-\[\"Roboto\"\,sans-serif\]{font-family:Roboto,sans-serif}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.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-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.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-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.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-\[var\(--opencami-accent\)\]{color:var(--opencami-accent)}.text-amber-400{color:var(--color-amber-400)}.text-amber-600{color:var(--color-amber-600)}.text-blue-500{color:var(--color-blue-500)}.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-500{color:var(--color-emerald-500)}.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-red-400{color:var(--color-red-400)}.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-sky-500{color:var(--color-sky-500)}.text-sky-600{color:var(--color-sky-600)}.text-transparent{color:#0000}.text-violet-600{color:var(--color-violet-600)}.text-white{color:var(--color-white)}.text-yellow-600{color:var(--color-yellow-600)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.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-\[var\(--opencami-accent-light\)\]{-webkit-text-decoration-color:var(--opencami-accent-light);text-decoration-color:var(--opencami-accent-light)}.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)}.ring-offset-2{--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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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)}}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.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,)}.backdrop-filter{-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-shadow{transition-property:box-shadow;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-300{--tw-duration:.3s;transition-duration:.3s}.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\:text-primary-700:is(:where(.group):hover *){color:var(--color-primary-700)}.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-300::placeholder{color:var(--color-primary-300)}.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\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\:border-primary-100:hover{border-color:var(--color-primary-100)}.hover\:border-primary-200:hover{border-color:var(--color-primary-200)}.hover\:border-primary-300:hover{border-color:var(--color-primary-300)}.hover\:bg-\[var\(--opencami-accent-hover\)\]:hover{background-color:var(--opencami-accent-hover)}.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-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-600:hover{-webkit-text-decoration-color:var(--color-primary-600);text-decoration-color:var(--color-primary-600)}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-sm:hover{--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)}}.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\:rounded-lg:focus-visible{border-radius:var(--radius-lg)}.focus-visible\:bg-primary-50:focus-visible{background-color:var(--color-primary-50)}.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-\[var\(--opencami-accent\)\]:focus-visible{--tw-ring-color:var(--opencami-accent)}.focus-visible\:ring-primary-300:focus-visible{--tw-ring-color:var(--color-primary-300)}.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\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.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\:grid{display:grid}.md\:hidden{display:none}.md\:inline{display:inline}.md\:h-full{height:100%}.md\:max-h-\[calc\(85vh-90px\)\]{max-height:calc(85vh - 90px)}.md\:min-h-\[400px\]{min-height:400px}.md\:w-72{width:calc(var(--spacing)*72)}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[18rem_1fr\]{grid-template-columns:18rem 1fr}.md\:flex-row{flex-direction:row}.md\:gap-3{gap:calc(var(--spacing)*3)}: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-3{grid-template-columns:repeat(3,minmax(0,1fr))}.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\:border-red-900\/40:where(.dark,.dark *){border-color:#82181a66}@supports (color:color-mix(in lab,red,red)){.dark\:border-red-900\/40:where(.dark,.dark *){border-color:color-mix(in oklab,var(--color-red-900)40%,transparent)}}.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-red-950\/40:where(.dark,.dark *){background-color:#46080966}@supports (color:color-mix(in lab,red,red)){.dark\:bg-red-950\/40:where(.dark,.dark *){background-color:color-mix(in oklab,var(--color-red-950)40%,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-emerald-400:where(.dark,.dark *){color:var(--color-emerald-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-red-200:where(.dark,.dark *){color:var(--color-red-200)}.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)}}.\[\&_\.line\]\:break-words .line{overflow-wrap:break-word}.\[\&_\.line\]\:whitespace-pre-wrap .line{white-space:pre-wrap}.\[\&_\.line\]\:before\:mr-4 .line:before{content:var(--tw-content);margin-right:calc(var(--spacing)*4)}.\[\&_\.line\]\:before\:inline-block .line:before{content:var(--tw-content);display:inline-block}.\[\&_\.line\]\:before\:w-8 .line:before{content:var(--tw-content);width:calc(var(--spacing)*8)}.\[\&_\.line\]\:before\:text-right .line:before{content:var(--tw-content);text-align:right}.\[\&_\.line\]\:before\:text-primary-500\/60 .line:before{content:var(--tw-content);color:#bbb9b599}@supports (color:color-mix(in lab,red,red)){.\[\&_\.line\]\:before\:text-primary-500\/60 .line:before{color:color-mix(in oklab,var(--color-primary-500)60%,transparent)}}.\[\&_\.line\]\:before\:content-\[counter\(line\)\] .line:before{--tw-content:counter(line);content:var(--tw-content)}.\[\&_\.line\]\:before\:select-none .line:before{content:var(--tw-content);-webkit-user-select:none;user-select:none}.\[\&_\.line\]\:before\:\[counter-increment\:line\] .line:before{content:var(--tw-content);counter-increment:line}.\[\&_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\]\:w-full>pre{width:100%}.\[\&\>pre\]\:max-w-full>pre{max-width:100%}.\[\&\>pre\]\:min-w-0>pre{min-width:calc(var(--spacing)*0)}.\[\&\>pre\]\:overflow-x-auto>pre{overflow-x:auto}.\[\&\>pre\]\:px-3>pre{padding-inline:calc(var(--spacing)*3)}.\[\&\>pre\]\:py-3>pre{padding-block:calc(var(--spacing)*3)}.\[\&\>pre\]\:break-words>pre{overflow-wrap:break-word}.\[\&\>pre\]\:whitespace-pre>pre{white-space:pre}.\[\&\>pre\]\:whitespace-pre-wrap>pre{white-space:pre-wrap}.\[\&\>pre\]\:\[counter-reset\:line\]>pre{counter-reset:line}.\[\&\[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-font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--opencami-density:comfortable;--opencami-msg-padding-y:.75rem;--opencami-msg-gap:.5rem;--opencami-user-bubble-py:.625rem;--opencami-accent:#22c55e;--opencami-accent-hover:#16a34a;--opencami-accent-light:#22c55e1a;--opencami-chat-width:1000px;--opencami-sidebar-width:260px}.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)}.frost{color-scheme:light;--color-primary-50:oklch(98.5% .008 250);--color-primary-100:oklch(96% .01 250);--color-primary-200:oklch(90.5% .015 250);--color-primary-300:oklch(84% .018 250);--color-primary-400:oklch(73% .02 250);--color-primary-500:oklch(60% .02 250);--color-primary-600:oklch(50% .018 250);--color-primary-700:oklch(40% .015 250);--color-primary-800:oklch(30% .012 250);--color-primary-900:oklch(24% .01 250);--color-primary-950:oklch(18% .008 250);--color-surface:oklch(99% .005 250);--color-ink:oklch(24% .01 250)}.frost.dark:not(.frost-light),.frost-dark{color-scheme:dark;--color-primary-50:oklch(15% .01 260);--color-primary-100:oklch(19% .012 260);--color-primary-200:oklch(24% .014 260);--color-primary-300:oklch(34% .014 260);--color-primary-400:oklch(44% .012 260);--color-primary-500:oklch(56% .012 260);--color-primary-600:oklch(68% .01 260);--color-primary-700:oklch(76% .01 260);--color-primary-800:oklch(86% .008 260);--color-primary-900:oklch(93% .005 260);--color-primary-950:oklch(97% .003 260);--color-surface:oklch(6% .008 260);--color-ink:oklch(97% .003 260)}@media(prefers-color-scheme:dark){.frost:not(.frost-light):not(:where(.light,.light *)){color-scheme:dark;--color-primary-50:oklch(15% .01 260);--color-primary-100:oklch(19% .012 260);--color-primary-200:oklch(24% .014 260);--color-primary-300:oklch(34% .014 260);--color-primary-400:oklch(44% .012 260);--color-primary-500:oklch(56% .012 260);--color-primary-600:oklch(68% .01 260);--color-primary-700:oklch(76% .01 260);--color-primary-800:oklch(86% .008 260);--color-primary-900:oklch(93% .005 260);--color-primary-950:oklch(97% .003 260);--color-surface:oklch(6% .008 260);--color-ink:oklch(97% .003 260)}}html.frost body{background:radial-gradient(1200px 700px at -10% -10%,var(--opencami-accent),transparent 60%),radial-gradient(900px 500px at 110% -5%,var(--opencami-accent),transparent 65%),linear-gradient(180deg,#ffffff59,#fff3)}@supports (color:color-mix(in lab,red,red)){html.frost body{background:radial-gradient(1200px 700px at -10% -10%,color-mix(in srgb,var(--opencami-accent)14%,transparent),transparent 60%),radial-gradient(900px 500px at 110% -5%,color-mix(in srgb,var(--opencami-accent)10%,transparent),transparent 65%),linear-gradient(180deg,#ffffff59,#fff3)}}html.frost.dark:not(.frost-light) body,html.frost-dark body{background:radial-gradient(1200px 700px at -10% -10%,var(--opencami-accent),transparent 62%),radial-gradient(900px 500px at 110% -5%,var(--opencami-accent),transparent 68%),linear-gradient(180deg,#0a0c12eb,#0a0c12db)}@supports (color:color-mix(in lab,red,red)){html.frost.dark:not(.frost-light) body,html.frost-dark body{background:radial-gradient(1200px 700px at -10% -10%,color-mix(in srgb,var(--opencami-accent)18%,transparent),transparent 62%),radial-gradient(900px 500px at 110% -5%,color-mix(in srgb,var(--opencami-accent)14%,transparent),transparent 68%),linear-gradient(180deg,#0a0c12eb,#0a0c12db)}}@media(prefers-color-scheme:dark){html.frost:not(.frost-light) body{background:radial-gradient(1200px 700px at -10% -10%,var(--opencami-accent),transparent 62%),radial-gradient(900px 500px at 110% -5%,var(--opencami-accent),transparent 68%),linear-gradient(180deg,#0a0c12eb,#0a0c12db)}@supports (color:color-mix(in lab,red,red)){html.frost:not(.frost-light) body{background:radial-gradient(1200px 700px at -10% -10%,color-mix(in srgb,var(--opencami-accent)18%,transparent),transparent 62%),radial-gradient(900px 500px at 110% -5%,color-mix(in srgb,var(--opencami-accent)14%,transparent),transparent 68%),linear-gradient(180deg,#0a0c12eb,#0a0c12db)}}}.frost aside,.frost .tauri-drag-header,.frost .DialogPopup,.frost [role=dialog],.frost .opencami-frost-panel,.frost .bg-surface.cursor-text{-webkit-backdrop-filter:blur(20px)}.frost aside,.frost .tauri-drag-header,.frost .bg-surface.cursor-text{box-shadow:0 8px 32px #00000014;background:#fff9!important;border-color:#ffffff4d!important}@media(prefers-color-scheme:dark){.frost:not(.frost-light) aside,.frost:not(.frost-light) .tauri-drag-header,.frost:not(.frost-light) .bg-surface.cursor-text{box-shadow:0 8px 32px #00000059;background:#0f0f0fb3!important;border-color:#ffffff29!important}}.frost .group.inline-flex.items-center.justify-between{border:1px solid #0000}.frost .group.inline-flex.items-center.justify-between:hover{background:#fff6;border-color:#ffffff52}.frost .group.inline-flex.items-center.justify-between.bg-\[var\(--opencami-accent-light\)\]{box-shadow:0 0 0 1px var(--opencami-accent),0 8px 24px var(--opencami-accent)}@supports (color:color-mix(in lab,red,red)){.frost .group.inline-flex.items-center.justify-between.bg-\[var\(--opencami-accent-light\)\]{box-shadow:0 0 0 1px color-mix(in srgb,var(--opencami-accent)38%,transparent),0 8px 24px color-mix(in srgb,var(--opencami-accent)22%,transparent)}}.frost .opencami-message-user{background:var(--opencami-accent)}@supports (color:color-mix(in lab,red,red)){.frost .opencami-message-user{background:color-mix(in srgb,var(--opencami-accent)18%,#ffffff80)}}.frost .opencami-message-user{border:1px solid var(--opencami-accent)}@supports (color:color-mix(in lab,red,red)){.frost .opencami-message-user{border:1px solid color-mix(in srgb,var(--opencami-accent)28%,#fff6)}}.frost .opencami-message-user{box-shadow:0 4px 16px #00000014}.frost .opencami-message-assistant{background:#ffffff59;border:1px solid #ffffff3d;border-radius:14px;padding:.5rem .75rem}@media(prefers-color-scheme:dark){.frost:not(.frost-light) .opencami-message-assistant{background:#16181e80;border-color:#ffffff26}}.frost [data-slot=tabs-list],.frost [role=menu],.frost [data-slot=button][class*=outline],.frost [role=dialog]{-webkit-backdrop-filter:blur(20px)}.frost [role=dialog],.frost [role=menu]{background:#ffffff8c;border:1px solid #ffffff4d;box-shadow:0 8px 32px #0000001a}@media(prefers-color-scheme:dark){.frost:not(.frost-light) [role=dialog],.frost:not(.frost-light) [role=menu]{background:#0f0f0fb8;border-color:#ffffff2e;box-shadow:0 8px 32px #00000059}}@media(pointer:coarse),(max-width:768px){.frost aside,.frost .tauri-drag-header,.frost .DialogPopup,.frost [role=dialog],.frost .opencami-frost-panel,.frost .bg-surface.cursor-text,.frost [data-slot=tabs-list],.frost [role=menu],.frost [data-slot=button][class*=outline]{-webkit-backdrop-filter:blur(8px)}.frost aside,.frost .tauri-drag-header,.frost .bg-surface.cursor-text,.frost [role=dialog],.frost [role=menu]{background:#ffffffd1!important;border-color:#ffffff6b!important}.frost .opencami-message-assistant{background:#ffffff94;border-color:#ffffff4d}}@media(pointer:coarse),(max-width:768px)and (prefers-color-scheme:dark){.frost:not(.frost-light) aside,.frost:not(.frost-light) .tauri-drag-header,.frost:not(.frost-light) .bg-surface.cursor-text,.frost:not(.frost-light) [role=dialog],.frost:not(.frost-light) [role=menu]{background:#0f0f0fd6!important;border-color:#ffffff38!important}.frost:not(.frost-light) .opencami-message-assistant{background:#16181ead;border-color:#ffffff2e}}.frost .opencami-accent-bg,.frost .opencami-accent-bg-hover:hover,.frost [data-slot=button]:focus-visible{box-shadow:0 0 0 1px var(--opencami-accent),0 8px 24px var(--opencami-accent)}@supports (color:color-mix(in lab,red,red)){.frost .opencami-accent-bg,.frost .opencami-accent-bg-hover:hover,.frost [data-slot=button]:focus-visible{box-shadow:0 0 0 1px color-mix(in srgb,var(--opencami-accent)42%,transparent),0 8px 24px color-mix(in srgb,var(--opencami-accent)24%,transparent)}}html,body{margin:calc(var(--spacing)*0);font-family:var(--opencami-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);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(max-width:768px){.stream-fade-in{animation-duration:.16s}.opencami-message-highlight{animation-duration:1s}.group\/scroll-area,[data-radix-scroll-area-viewport],[data-slot=scroll-area-viewport]{-webkit-overflow-scrolling:touch}}@keyframes message-highlight-pulse{0%{background-color:color-mix(in srgb,var(--opencami-accent,#22c55e)18%,transparent)}to{background-color:#0000}}.opencami-message-highlight{border-radius:.75rem;animation:1.8s ease-out message-highlight-pulse}@media(prefers-reduced-motion:reduce){.stream-fade-in,.opencami-message-highlight{animation:none}*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.tauri-drag-header{padding-left:env(titlebar-area-x,1rem)}@supports (padding-left:env(titlebar-area-x)){.tauri-drag-header{padding-left:calc(env(titlebar-area-x) + env(titlebar-area-width) + .5rem)}}html.tauri .tauri-drag-header{padding-left:5rem}::selection{background:var(--opencami-accent-light)}.opencami-accent-text{color:var(--opencami-accent)}.opencami-accent-bg{background:var(--opencami-accent);color:#fff}.opencami-accent-bg-hover:hover{background:var(--opencami-accent-hover)}.opencami-accent-soft{background:var(--opencami-accent-light);color:var(--opencami-accent)}.opencami-message-item{contain:content}.group\/scroll-area,[data-radix-scroll-area-viewport],[data-slot=scroll-area-viewport],.opencami-scroll-viewport{will-change:transform;backface-visibility:hidden;transform:translateZ(0)}img[loading=lazy]{contain:content}[data-opencami-bubble-style=bubbles] .opencami-message-assistant{background:var(--color-primary-100);max-width:80%;padding:.75rem 1rem}[data-opencami-bubble-style=bubbles] .opencami-message-user{background:var(--opencami-accent);color:#fff;max-width:80%}[data-opencami-bubble-style=minimal] .opencami-message-assistant,[data-opencami-bubble-style=minimal] .opencami-message-user{background:0 0;border-radius:0;max-width:100%;padding:0}[data-opencami-bubble-style=minimal] .opencami-message-item{border-top:1px solid var(--color-primary-200);padding-top:.75rem}@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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-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}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}
@@ -0,0 +1 @@
1
+ import{r as i,w as he,j as V}from"./main-DBmooBKx.js";import{ac as G,af as c,ab as P,E as ve,ad as pe,ag as K,c as H}from"./button-DdG8c-XQ.js";import{u as be}from"./useControlled-8D4PSDAL.js";import{a as M,u as x,d as Q,e as ge,f as xe,g as ke,n as ye}from"./useBaseUiId-Ckx_aJky.js";import{v as Ce,a as Ie}from"./visuallyHidden-COI6QeQH.js";const W=i.createContext(void 0);function Ve(){const e=i.useContext(W);if(e===void 0)throw new Error(G(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 X={...Ee,checked(e){return e?{[J.checked]:""}:{[J.unchecked]:""}}};function we(e,t){return{...e,state:{...e.state,valid:!t&&e.state.valid}}}const Pe=i.createContext({formRef:{current:{fields:new Map}},errors:{},clearErrors:c,validationMode:"onSubmit",submitAttemptedRef:{current:!1}});function Z(){return i.useContext(Pe)}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=P)=>e,getInputValidationProps:(e=P)=>e,inputRef:{current:null},commit:async()=>{}}});function T(e=!0){const t=i.useContext(Me);if(t.setValidityData===c&&!e)throw new Error(G(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:we(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=Q(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:w,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=Q(),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&&w(I.current.checked)},[I,w]),_e(l,()=>{ee(g),ae(l!==ne.initialValue),w(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?Ce:Ie,tabIndex:-1,type:"checkbox","aria-hidden":!0,ref:L,onChange(v){if(v.nativeEvent.defaultPrevented)return;const D=v.target.checked,U=ke(ye,v.nativeEvent);B?.(D,U),!U.isCanceled&&N(D)},onFocus(){R.current?.focus()}},m.getInputValidationProps,E!==void 0?{value:E}:P),[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=K("span",t,{state:q,ref:[a,R,ce],props:[ue,m.getValidationProps,A,oe],stateAttributesMapping:X});return V.jsxs(W.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 K("span",t,{state:k,ref:a,stateAttributesMapping:X,props:s})});function De({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{De as S};
@@ -0,0 +1 @@
1
+ import{r as o,j as z}from"./main-DBmooBKx.js";import{ac as ht,ag as q,E as Rt,ah as et,ab as Mt,c as Z}from"./button-DdG8c-XQ.js";import{u as yt}from"./useControlled-8D4PSDAL.js";import{h as Et,i as Ct,a as Y,u as nt,d as St,f as wt,g as it,n as at,C as Pt}from"./useBaseUiId-Ckx_aJky.js";import{C as gt,u as At,g as Ht,a as Lt,c as Dt,i as J,b as Ot,d as kt,e as zt,f as _t,h as Kt}from"./useCompositeItem-CkvfeGmG.js";import{r as st,u as bt}from"./DirectionContext-B1cuzwIr.js";import{s as rt,A as Nt,a as Bt,i as lt,b as U,c as Q,H as Wt,E as jt,d as ct,e as tt,V as Ft,f as Yt,g as $t,h as Vt,M as Gt}from"./composite-Cx-QHT9o.js";import{d as Ut,o as ut,e as Zt,u as Xt}from"./event-Dwf9IDxK.js";import{u as qt}from"./CSPContext-nHSyQniZ.js";function Jt(){const[,t]=o.useState({});return o.useCallback(()=>{t({})},[])}function dt(t){const s=Et(t);let l=parseFloat(s.width)||0,b=parseFloat(s.height)||0;const i=Ct(t),a=i?t.offsetWidth:l,r=i?t.offsetHeight:b;return(st(l)!==a||st(b)!==r)&&(l=a,b=r),{width:l,height:b}}const pt=o.createContext(void 0);function X(){const t=o.useContext(pt);if(t===void 0)throw new Error(ht(64));return t}let Qt=(function(t){return t.activationDirection="data-activation-direction",t.orientation="data-orientation",t})({});const ot={tabActivationDirection:t=>({[Qt.activationDirection]:t})},te=o.forwardRef(function(s,l){const{className:b,defaultValue:i=0,onValueChange:a,orientation:r="horizontal",render:w,value:R,...P}=s,x=bt(),y=Object.hasOwn(s,"defaultValue"),d=o.useRef([]),[k,D]=o.useState(()=>new Map),[T,M]=yt({controlled:R,default:i,name:"Tabs",state:"value"}),v=R!==void 0,[h,c]=o.useState(()=>new Map),[E,p]=o.useState("none"),g=Y((e,m)=>{a?.(e,m),!m.isCanceled&&(M(e),p(m.activationDirection))}),f=Y((e,m)=>{D(u=>{if(u.get(e)===m)return u;const I=new Map(u);return I.set(e,m),I})}),A=Y((e,m)=>{D(u=>{if(!u.has(e)||u.get(e)!==m)return u;const I=new Map(u);return I.delete(e),I})}),n=o.useCallback(e=>k.get(e),[k]),C=o.useCallback(e=>{for(const m of h.values())if(e===m?.value)return m?.id},[h]),O=o.useCallback(e=>{if(e===void 0)return null;for(const[m,u]of h.entries())if(u!=null&&e===(u.value??u.index))return m;return null},[h]),H=o.useMemo(()=>({direction:x,getTabElementBySelectedValue:O,getTabIdByPanelValue:C,getTabPanelIdByValue:n,onValueChange:g,orientation:r,registerMountedTabPanel:f,setTabMap:c,unregisterMountedTabPanel:A,tabActivationDirection:E,value:T}),[x,O,C,n,g,r,f,c,A,E,T]),S=o.useMemo(()=>{for(const e of h.values())if(e!=null&&e.value===T)return e},[h,T]),L=o.useMemo(()=>{for(const e of h.values())if(e!=null&&!e.disabled)return e.value},[h]);nt(()=>{if(v||h.size===0)return;const e=S?.disabled,m=S==null&&T!==null;if(y&&e&&T===i||!e&&!m)return;const I=L??null;T!==I&&(M(I),p("none"))},[i,L,y,v,S,p,M,h,T]);const K=q("div",s,{state:{orientation:r,tabActivationDirection:E},ref:l,props:P,stateAttributesMapping:ot});return z.jsx(pt.Provider,{value:H,children:z.jsx(gt,{elementsRef:d,children:K})})}),mt="data-composite-item-active",vt=o.createContext(void 0);function xt(){const t=o.useContext(vt);if(t===void 0)throw new Error(ht(65));return t}const ee=o.forwardRef(function(s,l){const{className:b,disabled:i=!1,render:a,value:r,id:w,nativeButton:R=!0,...P}=s,{value:x,getTabPanelIdByValue:y,orientation:d}=X(),{activateOnFocus:k,highlightedTabIndex:D,onTabActivation:T,setHighlightedTabIndex:M,tabsListElement:v}=xt(),h=St(w),c=o.useMemo(()=>({disabled:i,id:h,value:r}),[i,h,r]),{compositeProps:E,compositeRef:p,index:g}=At({metadata:c}),f=r===x,A=o.useRef(!1);nt(()=>{if(A.current){A.current=!1;return}if(!(f&&g>-1&&D!==g))return;const u=v;if(u!=null){const I=Ut(ut(u));if(I&&Zt(u,I))return}i||M(g)},[f,g,D,M,i,v]);const{getButtonProps:n,buttonRef:C}=wt({disabled:i,native:R,focusableWhenDisabled:!0}),O=y(r),H=o.useRef(!1),S=o.useRef(!1);function L(u){f||i||T(r,it(at,u.nativeEvent,void 0,{activationDirection:"none"}))}function _(u){f||(g>-1&&!i&&M(g),!i&&k&&(!H.current||H.current&&S.current)&&T(r,it(at,u.nativeEvent,void 0,{activationDirection:"none"})))}function K(u){if(f||i)return;H.current=!0;function I(){H.current=!1,S.current=!1}(!u.button||u.button===0)&&(S.current=!0,ut(u.currentTarget).addEventListener("pointerup",I,{once:!0}))}const e=o.useMemo(()=>({disabled:i,active:f,orientation:d}),[i,f,d]);return q("button",s,{state:e,ref:[l,C,p],props:[E,{role:"tab","aria-controls":O,"aria-selected":f,id:h,onClick:L,onFocus:_,onPointerDown:K,[mt]:f?"":void 0,onKeyDownCapture(){A.current=!0}},P,n]})}),ne='!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 F=(function(t){return t.activeTabLeft="--active-tab-left",t.activeTabRight="--active-tab-right",t.activeTabTop="--active-tab-top",t.activeTabBottom="--active-tab-bottom",t.activeTabWidth="--active-tab-width",t.activeTabHeight="--active-tab-height",t})({});const oe={...ot,activeTabPosition:()=>null,activeTabSize:()=>null},ie=o.forwardRef(function(s,l){const{className:b,render:i,renderBeforeHydration:a=!1,...r}=s,{nonce:w}=qt(),{getTabElementBySelectedValue:R,orientation:P,tabActivationDirection:x,value:y}=X(),{tabsListElement:d}=xt(),[k,D]=o.useState(!1),{value:T}=X();Xt(()=>D(!0));const M=Jt();o.useEffect(()=>{if(y!=null&&d!=null&&typeof ResizeObserver<"u"){const L=new ResizeObserver(M);return L.observe(d),()=>{L.disconnect()}}},[y,d,M]);let v=0,h=0,c=0,E=0,p=0,g=0,f=!1;if(y!=null&&d!=null){const L=R(y);if(f=!0,L!=null){const{width:_,height:K}=dt(L),{width:e,height:m}=dt(d),u=L.getBoundingClientRect(),I=d.getBoundingClientRect(),j=e>0?I.width/e:1,G=m>0?I.height/m:1;if(Math.abs(j)>Number.EPSILON&&Math.abs(G)>Number.EPSILON){const N=u.left-I.left,$=u.top-I.top;v=N/j+d.scrollLeft-d.clientLeft,c=$/G+d.scrollTop-d.clientTop}else v=L.offsetLeft,c=L.offsetTop;p=_,g=K,h=d.scrollWidth-v-p,E=d.scrollHeight-c-g}}const A=o.useMemo(()=>f?{left:v,right:h,top:c,bottom:E}:null,[v,h,c,E,f]),n=o.useMemo(()=>f?{width:p,height:g}:null,[p,g,f]),C=o.useMemo(()=>{if(f)return{[F.activeTabLeft]:`${v}px`,[F.activeTabRight]:`${h}px`,[F.activeTabTop]:`${c}px`,[F.activeTabBottom]:`${E}px`,[F.activeTabWidth]:`${p}px`,[F.activeTabHeight]:`${g}px`}},[v,h,c,E,p,g,f]),O=f&&p>0&&g>0,H=o.useMemo(()=>({orientation:P,activeTabPosition:A,activeTabSize:n,tabActivationDirection:x}),[P,A,n,x]),S=q("span",s,{state:H,ref:l,props:[{role:"presentation",style:C,hidden:!O},r,{suppressHydrationWarning:!0}],stateAttributesMapping:oe});return T==null?null:z.jsxs(o.Fragment,{children:[S,!k&&a&&z.jsx("script",{nonce:w,dangerouslySetInnerHTML:{__html:ne},suppressHydrationWarning:!0})]})});function ae(t){return t==null||t.hasAttribute("disabled")||t.getAttribute("aria-disabled")==="true"}const se=[];function re(t){const{itemSizes:s,cols:l=1,loopFocus:b=!0,dense:i=!1,orientation:a="both",direction:r,highlightedIndex:w,onHighlightedIndexChange:R,rootRef:P,enableHomeAndEndKeys:x=!1,stopEventPropagation:y=!1,disabledIndices:d,modifierKeys:k=se}=t,[D,T]=o.useState(0),M=l>1,v=o.useRef(null),h=Rt(v,P),c=o.useRef([]),E=o.useRef(!1),p=w??D,g=Y((n,C=!1)=>{if((R??T)(n),C){const O=c.current[n];rt(v.current,O,r,a)}}),f=Y(n=>{if(n.size===0||E.current)return;E.current=!0;const C=Array.from(n.keys()),O=C.find(S=>S?.hasAttribute(mt))??null,H=O?C.indexOf(O):-1;H!==-1&&g(H),rt(v.current,O,r,a)}),A=o.useMemo(()=>({"aria-orientation":a==="both"?void 0:a,ref:h,onFocus(n){!v.current||!lt(n.target)||n.target.setSelectionRange(0,n.target.value.length??0)},onKeyDown(n){const C=x?Nt:Bt;if(!C.has(n.key)||le(n,k)||!v.current)return;const H=r==="rtl",S=H?ct:Q,L={horizontal:S,vertical:U,both:S}[a],_=H?Q:ct,K={horizontal:_,vertical:tt,both:_}[a];if(lt(n.target)&&!ae(n.target)){const B=n.target.selectionStart,N=n.target.selectionEnd,$=n.target.value??"";if(B==null||n.shiftKey||B!==N||n.key!==K&&B<$.length||n.key!==L&&B>0)return}let e=p;const m=Ht(c,d),u=Lt(c,d);if(M){const B=s||Array.from({length:c.current.length},()=>({width:1,height:1})),N=Dt(B,l,i),$=N.findIndex(W=>W!=null&&!J(c,W,d)),Tt=N.reduce((W,V,It)=>V!=null&&!J(c,V,d)?It:W,-1);e=N[Ot({current:N.map(W=>W?c.current[W]:null)},{event:n,orientation:a,loopFocus:b,cols:l,disabledIndices:zt([...d||c.current.map((W,V)=>J(c,V)?V:void 0),void 0],N),minIndex:$,maxIndex:Tt,prevIndex:kt(p>u?m:p,B,N,l,n.key===U?"bl":n.key===Q?"tr":"tl"),rtl:H})]}const I={horizontal:[S],vertical:[U],both:[S,U]}[a],j={horizontal:[_],vertical:[tt],both:[_,tt]}[a],G=M?C:{horizontal:x?$t:Vt,vertical:x?Ft:Yt,both:C}[a];x&&(n.key===Wt?e=m:n.key===jt&&(e=u)),e===p&&(I.includes(n.key)||j.includes(n.key))&&(b&&e===u&&I.includes(n.key)?e=m:b&&e===m&&j.includes(n.key)?e=u:e=_t(c,{startingIndex:e,decrement:j.includes(n.key),disabledIndices:d})),e!==p&&!Kt(c,e)&&(y&&n.stopPropagation(),G.has(n.key)&&n.preventDefault(),g(e,!0),queueMicrotask(()=>{c.current[e]?.focus()}))}}),[l,i,r,d,c,x,p,M,s,b,h,k,g,a,y]);return o.useMemo(()=>({props:A,highlightedIndex:p,onHighlightedIndexChange:g,elementsRef:c,disabledIndices:d,onMapChange:f,relayKeyboardEvent:A.onKeyDown}),[A,p,g,c,d,f])}function le(t,s){for(const l of Gt.values())if(!s.includes(l)&&t.getModifierState(l))return!0;return!1}function ce(t){const{render:s,className:l,refs:b=et,props:i=et,state:a=Mt,stateAttributesMapping:r,highlightedIndex:w,onHighlightedIndexChange:R,orientation:P,dense:x,itemSizes:y,loopFocus:d,cols:k,enableHomeAndEndKeys:D,onMapChange:T,stopEventPropagation:M=!0,rootRef:v,disabledIndices:h,modifierKeys:c,highlightItemOnHover:E=!1,tag:p="div",...g}=t,f=bt(),{props:A,highlightedIndex:n,onHighlightedIndexChange:C,elementsRef:O,onMapChange:H,relayKeyboardEvent:S}=re({itemSizes:y,cols:k,loopFocus:d,dense:x,orientation:P,highlightedIndex:w,onHighlightedIndexChange:R,rootRef:v,stopEventPropagation:M,enableHomeAndEndKeys:D,direction:f,disabledIndices:h,modifierKeys:c}),L=q(p,t,{state:a,ref:b,props:[A,...i,g],stateAttributesMapping:r}),_=o.useMemo(()=>({highlightedIndex:n,onHighlightedIndexChange:C,highlightItemOnHover:E,relayKeyboardEvent:S}),[n,C,E,S]);return z.jsx(Pt.Provider,{value:_,children:z.jsx(gt,{elementsRef:O,onMapChange:K=>{T?.(K),H(K)},children:L})})}const ue=o.forwardRef(function(s,l){const{activateOnFocus:b=!1,className:i,loopFocus:a=!0,render:r,...w}=s,{getTabElementBySelectedValue:R,onValueChange:P,orientation:x,value:y,setTabMap:d,tabActivationDirection:k}=X(),[D,T]=o.useState(0),[M,v]=o.useState(null),h=de(y,x,M,R),c=Y((f,A)=>{if(f!==y){const n=h(f);A.activationDirection=n,P(f,A)}}),E=o.useMemo(()=>({orientation:x,tabActivationDirection:k}),[x,k]),p={"aria-orientation":x==="vertical"?"vertical":void 0,role:"tablist"},g=o.useMemo(()=>({activateOnFocus:b,highlightedTabIndex:D,onTabActivation:c,setHighlightedTabIndex:T,tabsListElement:M,value:y}),[b,D,c,T,M,y]);return z.jsx(vt.Provider,{value:g,children:z.jsx(ce,{render:r,className:i,state:E,refs:[l,v],props:[p,w],stateAttributesMapping:ot,highlightedIndex:D,enableHomeAndEndKeys:!0,loopFocus:a,orientation:x,onHighlightedIndexChange:T,onMapChange:d,disabledIndices:et})})});function ft(t,s){const{left:l,top:b}=t.getBoundingClientRect(),{left:i,top:a}=s.getBoundingClientRect(),r=l-i,w=b-a;return{left:r,top:w}}function de(t,s,l,b){const[i,a]=o.useState(null);return nt(()=>{if(t==null||l==null){a(null);return}const r=b(t);if(r==null){a(null);return}const{left:w,top:R}=ft(r,l);a(s==="horizontal"?w:R)},[s,b,l,t]),o.useCallback(r=>{if(r===t)return"none";if(r==null)return a(null),"none";if(r!=null&&l!=null){const w=b(r);if(w!=null){const{left:R,top:P}=ft(w,l);if(i==null)return a(s==="horizontal"?R:P),"none";if(s==="horizontal"){if(R<i)return a(R),"left";if(R>i)return a(R),"right"}else{if(P<i)return a(P),"up";if(P>i)return a(P),"down"}}}return"none"},[b,s,i,l,t])}function Ie({className:t,...s}){return z.jsx(te,{className:Z("flex flex-col gap-2 data-[orientation=vertical]:flex-row",t),"data-slot":"tabs",...s})}function Re({variant:t="default",className:s,children:l,...b}){return z.jsxs(ue,{className:Z("relative z-0 flex w-fit items-center justify-center gap-x-0.5 text-primary-600","data-[orientation=vertical]:flex-col",t==="default"?"p-0.5 text-primary-600/80":"data-[orientation=vertical]:px-1 data-[orientation=horizontal]:py-1",s),"data-slot":"tabs-list",...b,children:[l,z.jsx(ie,{className:Z("-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",t==="underline"?"data-[orientation=vertical]:-translate-x-px z-10 bg-[var(--opencami-accent)] data-[orientation=horizontal]:h-0.5 data-[orientation=vertical]:w-0.5 data-[orientation=horizontal]:translate-y-px":"z-0 rounded-md bg-[var(--opencami-accent-light)]"),"data-slot":"tab-indicator"})]})}function Me({className:t,...s}){return z.jsx(ee,{className:Z('[&_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-[var(--opencami-accent)] 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',t),"data-slot":"tabs-tab",...s})}export{Ie as T,Re as a,Me as b};
@@ -0,0 +1 @@
1
+ import{j as t,r as s}from"./main-DBmooBKx.js";import{C as a,a as m,b as p}from"./_sessionKey-CNw4O2rY.js";import{H as l,T as c,B as d}from"./button-DdG8c-XQ.js";import"./useQuery-CtUiG53w.js";import"./tooltip-CtHpm-sQ.js";import"./popupStateMapping-CGDLUl5Y.js";import"./useBaseUiId-Ckx_aJky.js";import"./event-Dwf9IDxK.js";import"./visuallyHidden-COI6QeQH.js";import"./DirectionContext-B1cuzwIr.js";import"./useMutation-DckvFKPC.js";import"./use-file-explorer-state-C-D2CShe.js";import"./composite-Cx-QHT9o.js";import"./react-dSDkXQu6.js";import"./useControlled-8D4PSDAL.js";import"./CSPContext-nHSyQniZ.js";import"./menu-ByR1BVmq.js";import"./useCompositeItem-CkvfeGmG.js";import"./opencami-logo-BV1uPYe6.js";import"./proxy-DYrSkM35.js";import"./markdown-Bpat4kTr.js";import"./index-BxsgifDH.js";import"./index-T4TOjvD0.js";function x(){const[i,e]=s.useState(()=>typeof window<"u"?window.innerWidth<768:!1);return s.useEffect(()=>{if(typeof window>"u")return;const r=window.matchMedia("(max-width: 767px)"),o=n=>e(n.matches);return r.addEventListener("change",o),e(r.matches),()=>r.removeEventListener("change",o)},[]),i}function P({content:i}){const e=x();return t.jsx("div",{className:"inline-flex flex-col",children:t.jsxs(a,{defaultOpen:!e,children:[t.jsxs(m,{render:t.jsx(d,{variant:"ghost",className:"h-auto gap-1.5 px-1.5 py-0.5 -mx-2"}),children:[t.jsx("span",{className:"text-sm font-medium text-primary-900",children:"Thinking"}),t.jsx(l,{icon:c,size:14,strokeWidth:1.5,className:"text-primary-900 transition-transform duration-150 group-data-panel-open:rotate-180"})]}),t.jsx(p,{children:t.jsx("div",{className:"pt-1 mb-3",children:t.jsx("p",{className:"text-sm text-primary-700 whitespace-pre-wrap",children:i})})})]})})}export{P as Thinking};
@@ -0,0 +1 @@
1
+ import{r as p,j as G,w as _e}from"./main-DBmooBKx.js";import{C as qt,ab as Vn,ac as Ue,ag as lt,c as Kt}from"./button-DdG8c-XQ.js";import{a as $e,E as Gt,c as Qt,W as $n,g as Jt,d as at,K as Zt,b as Re,N as Wn,X as jn,R as Nn,h as Yn,o as Xn,k as _n,i as me,m as Un,n as zn,q as qn,r as Kn,v as Gn,Y as Qn,Z as Jn,P as Zn,p as en,e as eo,t as to}from"./popupStateMapping-CGDLUl5Y.js";import{u as z,g as K,n as tn,a as Z,z as le,E as st,e as j,F as ge,G as kt,h as ue,i as fe,H as nn,I as ut,x as Pe,w as We,J as no,K as on,L as oo,B as ft,A as dt,M as ze,p as ro,q as Fe,t as rn,r as sn,m as ce,N as so,v as io,d as co}from"./useBaseUiId-Ckx_aJky.js";import{i as Oe,l as qe,e as ee,d as Ft,g as lo,r as ao,k as Ae,t as uo,v as fo,T as go,o as cn}from"./event-Dwf9IDxK.js";import{e as de,g as te,a as re,b as mo,c as po,d as ho,h as yo,i as be,m as Me,j as J,s as xo,k as ln,l as an,n as je,o as un,p as it,q as fn,t as ae,f as ke,r as Ne,u as vo}from"./DirectionContext-B1cuzwIr.js";const Ye={isSidebarCollapsed:!1},dn=["chat","ui"];function Kr(t){const e=t.getQueryData(dn);return e&&typeof e=="object"?{...Ye,...e}:Ye}function Gr(t,e){t.setQueryData(dn,function(o){const r=o&&typeof o=="object"?{...Ye,...o}:Ye;return e(r)})}function He(t,e,n){if(n&&!Oe(n))return 0;if(typeof t=="number")return t;if(typeof t=="function"){const o=t();return typeof o=="number"?o:o?.[e]}return t?.[e]}const gn=p.createContext({hasProvider:!1,timeoutMs:0,delayRef:{current:0},initialDelayRef:{current:0},timeout:new Gt,currentIdRef:{current:null},currentContextRef:{current:null}});function Ro(t){const{children:e,delay:n,timeoutMs:o=0}=t,r=p.useRef(n),s=p.useRef(n),i=p.useRef(null),c=p.useRef(null),a=$e();return G.jsx(gn.Provider,{value:p.useMemo(()=>({hasProvider:!0,delayRef:r,initialDelayRef:s,currentIdRef:i,timeoutMs:o,currentContextRef:c,timeout:a}),[o,a]),children:e})}function wo(t,e={open:!1}){const n="rootStore"in t?t.rootStore:t,o=n.useState("floatingId"),{enabled:r=!0,open:s}=e,i=p.useContext(gn),{currentIdRef:c,delayRef:a,timeoutMs:d,initialDelayRef:u,currentContextRef:f,hasProvider:m,timeout:l}=i,[g,h]=p.useState(!1);return z(()=>{function R(){h(!1),f.current?.setIsInstantPhase(!1),c.current=null,f.current=null,a.current=u.current}if(r&&c.current&&!s&&c.current===o){if(h(!1),d){const x=o;return l.start(d,()=>{n.select("open")||c.current&&c.current!==x||R()}),()=>{l.clear()}}R()}},[r,s,o,c,a,d,u,f,l,n]),z(()=>{if(!r||!s)return;const R=f.current,x=c.current;l.clear(),f.current={onOpenChange:n.setOpen,setIsInstantPhase:h},c.current=o,a.current={open:0,close:He(u.current,"close")},x!==null&&x!==o?(h(!0),R?.setIsInstantPhase(!0),R?.onOpenChange(!1,K(tn))):(h(!1),R?.setIsInstantPhase(!1))},[r,s,o,n,c,a,d,u,f,l]),z(()=>()=>{f.current=null},[f]),p.useMemo(()=>({hasProvider:m,delayRef:a,isInstantPhase:g}),[m,a,g])}function bo(t,e){let n=null,o=null,r=!1;return{contextElement:t||void 0,getBoundingClientRect(){const s=t?.getBoundingClientRect()||{width:0,height:0,x:0,y:0},i=e.axis==="x"||e.axis==="both",c=e.axis==="y"||e.axis==="both",a=["mouseenter","mousemove"].includes(e.dataRef.current.openEvent?.type||"")&&e.pointerType!=="touch";let d=s.width,u=s.height,f=s.x,m=s.y;return n==null&&e.x&&i&&(n=s.x-e.x),o==null&&e.y&&c&&(o=s.y-e.y),f-=n||0,m-=o||0,d=0,u=0,!r||a?(d=e.axis==="y"?s.width:0,u=e.axis==="x"?s.height:0,f=i&&e.x!=null?e.x:f,m=c&&e.y!=null?e.y:m):r&&!a&&(u=e.axis==="x"?s.height:u,d=e.axis==="y"?s.width:d),r=!0,{width:d,height:u,x:f,y:m,top:m,right:f+d,bottom:m+u,left:f}}}}function Ht(t){return t!=null&&t.clientX!=null}function Eo(t,e={}){const n="rootStore"in t?t.rootStore:t,o=n.useState("open"),r=n.useState("floatingElement"),s=n.useState("domReferenceElement"),i=n.context.dataRef,{enabled:c=!0,axis:a="both",x:d=null,y:u=null}=e,f=p.useRef(!1),m=p.useRef(null),[l,g]=p.useState(),[h,R]=p.useState([]),x=Z((S,b,O)=>{f.current||i.current.openEvent&&!Ht(i.current.openEvent)||n.set("positionReference",bo(O??s,{x:S,y:b,axis:a,dataRef:i,pointerType:l}))}),v=Z(S=>{d!=null||u!=null||(o?m.current||R([]):x(S.clientX,S.clientY,S.currentTarget))}),E=Oe(l)?r:o,C=p.useCallback(()=>{if(!E||!c||d!=null||u!=null)return;const S=le(r);function b(O){const F=qe(O);ee(r,F)?(S.removeEventListener("mousemove",b),m.current=null):x(O.clientX,O.clientY)}if(!i.current.openEvent||Ht(i.current.openEvent)){S.addEventListener("mousemove",b);const O=()=>{S.removeEventListener("mousemove",b),m.current=null};return m.current=O,O}n.set("positionReference",s)},[E,c,d,u,r,i,s,n,x]);p.useEffect(()=>C(),[C,h]),p.useEffect(()=>{c&&!r&&(f.current=!1)},[c,r]),p.useEffect(()=>{!c&&o&&(f.current=!0)},[c,o]),z(()=>{c&&(d!=null||u!=null)&&(f.current=!1,x(d,u))},[c,d,u,x]);const P=p.useMemo(()=>{function S(b){g(b.pointerType)}return{onPointerDown:S,onPointerEnter:S,onMouseMove:v,onMouseEnter:v}},[v]);return p.useMemo(()=>c?{reference:P,trigger:P}:{},[c,P])}function Bt(t,e,n){let{reference:o,floating:r}=t;const s=re(e),i=ln(e),c=un(i),a=te(e),d=s==="y",u=o.x+o.width/2-r.width/2,f=o.y+o.height/2-r.height/2,m=o[c]/2-r[c]/2;let l;switch(a){case"top":l={x:u,y:o.y-r.height};break;case"bottom":l={x:u,y:o.y+o.height};break;case"right":l={x:o.x+o.width,y:f};break;case"left":l={x:o.x-r.width,y:f};break;default:l={x:o.x,y:o.y}}switch(be(e)){case"start":l[i]-=m*(n&&d?-1:1);break;case"end":l[i]+=m*(n&&d?-1:1);break}return l}async function Co(t,e){var n;e===void 0&&(e={});const{x:o,y:r,platform:s,rects:i,elements:c,strategy:a}=t,{boundary:d="clippingAncestors",rootBoundary:u="viewport",elementContext:f="floating",altBoundary:m=!1,padding:l=0}=de(e,t),g=an(l),R=c[m?f==="floating"?"reference":"floating":f],x=je(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(R)))==null||n?R:R.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(c.floating)),boundary:d,rootBoundary:u,strategy:a})),v=f==="floating"?{x:o,y:r,width:i.floating.width,height:i.floating.height}:i.reference,E=await(s.getOffsetParent==null?void 0:s.getOffsetParent(c.floating)),C=await(s.isElement==null?void 0:s.isElement(E))?await(s.getScale==null?void 0:s.getScale(E))||{x:1,y:1}:{x:1,y:1},P=je(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:c,rect:v,offsetParent:E,strategy:a}):v);return{top:(x.top-P.top+g.top)/C.y,bottom:(P.bottom-x.bottom+g.bottom)/C.y,left:(x.left-P.left+g.left)/C.x,right:(P.right-x.right+g.right)/C.x}}const So=async(t,e,n)=>{const{placement:o="bottom",strategy:r="absolute",middleware:s=[],platform:i}=n,c=s.filter(Boolean),a=await(i.isRTL==null?void 0:i.isRTL(e));let d=await i.getElementRects({reference:t,floating:e,strategy:r}),{x:u,y:f}=Bt(d,o,a),m=o,l={},g=0;for(let R=0;R<c.length;R++){var h;const{name:x,fn:v}=c[R],{x:E,y:C,data:P,reset:S}=await v({x:u,y:f,initialPlacement:o,placement:m,strategy:r,middlewareData:l,rects:d,platform:{...i,detectOverflow:(h=i.detectOverflow)!=null?h:Co},elements:{reference:t,floating:e}});u=E??u,f=C??f,l={...l,[x]:{...l[x],...P}},S&&g<=50&&(g++,typeof S=="object"&&(S.placement&&(m=S.placement),S.rects&&(d=S.rects===!0?await i.getElementRects({reference:t,floating:e,strategy:r}):S.rects),{x:u,y:f}=Bt(d,m,a)),R=-1)}return{x:u,y:f,placement:m,strategy:r,middlewareData:l}},To=function(t){return t===void 0&&(t={}),{name:"flip",options:t,async fn(e){var n,o;const{placement:r,middlewareData:s,rects:i,initialPlacement:c,platform:a,elements:d}=e,{mainAxis:u=!0,crossAxis:f=!0,fallbackPlacements:m,fallbackStrategy:l="bestFit",fallbackAxisSideDirection:g="none",flipAlignment:h=!0,...R}=de(t,e);if((n=s.arrow)!=null&&n.alignmentOffset)return{};const x=te(r),v=re(c),E=te(c)===c,C=await(a.isRTL==null?void 0:a.isRTL(d.floating)),P=m||(E||!h?[mo(c)]:po(c)),S=g!=="none";!m&&S&&P.push(...ho(c,h,g,C));const b=[c,...P],O=await a.detectOverflow(e,R),F=[];let M=((o=s.flip)==null?void 0:o.overflows)||[];if(u&&F.push(O[x]),f){const D=yo(r,i,C);F.push(O[D[0]],O[D[1]])}if(M=[...M,{placement:r,overflows:F}],!F.every(D=>D<=0)){var k,T;const D=(((k=s.flip)==null?void 0:k.index)||0)+1,I=b[D];if(I&&(!(f==="alignment"?v!==re(I):!1)||M.every(w=>re(w.placement)===v?w.overflows[0]>0:!0)))return{data:{index:D,overflows:M},reset:{placement:I}};let H=(T=M.filter(A=>A.overflows[0]<=0).sort((A,w)=>A.overflows[1]-w.overflows[1])[0])==null?void 0:T.placement;if(!H)switch(l){case"bestFit":{var y;const A=(y=M.filter(w=>{if(S){const L=re(w.placement);return L===v||L==="y"}return!0}).map(w=>[w.placement,w.overflows.filter(L=>L>0).reduce((L,W)=>L+W,0)]).sort((w,L)=>w[1]-L[1])[0])==null?void 0:y[0];A&&(H=A);break}case"initialPlacement":H=c;break}if(r!==H)return{reset:{placement:H}}}return{}}}};function Vt(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function $t(t){return xo.some(e=>t[e]>=0)}const Po=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(e){const{rects:n,platform:o}=e,{strategy:r="referenceHidden",...s}=de(t,e);switch(r){case"referenceHidden":{const i=await o.detectOverflow(e,{...s,elementContext:"reference"}),c=Vt(i,n.reference);return{data:{referenceHiddenOffsets:c,referenceHidden:$t(c)}}}case"escaped":{const i=await o.detectOverflow(e,{...s,altBoundary:!0}),c=Vt(i,n.floating);return{data:{escapedOffsets:c,escaped:$t(c)}}}default:return{}}}}},mn=new Set(["left","top"]);async function Oo(t,e){const{placement:n,platform:o,elements:r}=t,s=await(o.isRTL==null?void 0:o.isRTL(r.floating)),i=te(n),c=be(n),a=re(n)==="y",d=mn.has(i)?-1:1,u=s&&a?-1:1,f=de(e,t);let{mainAxis:m,crossAxis:l,alignmentAxis:g}=typeof f=="number"?{mainAxis:f,crossAxis:0,alignmentAxis:null}:{mainAxis:f.mainAxis||0,crossAxis:f.crossAxis||0,alignmentAxis:f.alignmentAxis};return c&&typeof g=="number"&&(l=c==="end"?g*-1:g),a?{x:l*u,y:m*d}:{x:m*d,y:l*u}}const Ao=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(e){var n,o;const{x:r,y:s,placement:i,middlewareData:c}=e,a=await Oo(e,t);return i===((n=c.offset)==null?void 0:n.placement)&&(o=c.arrow)!=null&&o.alignmentOffset?{}:{x:r+a.x,y:s+a.y,data:{...a,placement:i}}}}},Mo=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){const{x:n,y:o,placement:r,platform:s}=e,{mainAxis:i=!0,crossAxis:c=!1,limiter:a={fn:x=>{let{x:v,y:E}=x;return{x:v,y:E}}},...d}=de(t,e),u={x:n,y:o},f=await s.detectOverflow(e,d),m=re(te(r)),l=fn(m);let g=u[l],h=u[m];if(i){const x=l==="y"?"top":"left",v=l==="y"?"bottom":"right",E=g+f[x],C=g-f[v];g=it(E,g,C)}if(c){const x=m==="y"?"top":"left",v=m==="y"?"bottom":"right",E=h+f[x],C=h-f[v];h=it(E,h,C)}const R=a.fn({...e,[l]:g,[m]:h});return{...R,data:{x:R.x-n,y:R.y-o,enabled:{[l]:i,[m]:c}}}}}},Lo=function(t){return t===void 0&&(t={}),{options:t,fn(e){const{x:n,y:o,placement:r,rects:s,middlewareData:i}=e,{offset:c=0,mainAxis:a=!0,crossAxis:d=!0}=de(t,e),u={x:n,y:o},f=re(r),m=fn(f);let l=u[m],g=u[f];const h=de(c,e),R=typeof h=="number"?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(a){const E=m==="y"?"height":"width",C=s.reference[m]-s.floating[E]+R.mainAxis,P=s.reference[m]+s.reference[E]-R.mainAxis;l<C?l=C:l>P&&(l=P)}if(d){var x,v;const E=m==="y"?"width":"height",C=mn.has(te(r)),P=s.reference[f]-s.floating[E]+(C&&((x=i.offset)==null?void 0:x[f])||0)+(C?0:R.crossAxis),S=s.reference[f]+s.reference[E]+(C?0:((v=i.offset)==null?void 0:v[f])||0)-(C?R.crossAxis:0);g<P?g=P:g>S&&(g=S)}return{[m]:l,[f]:g}}}},Do=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(e){var n,o;const{placement:r,rects:s,platform:i,elements:c}=e,{apply:a=()=>{},...d}=de(t,e),u=await i.detectOverflow(e,d),f=te(r),m=be(r),l=re(r)==="y",{width:g,height:h}=s.floating;let R,x;f==="top"||f==="bottom"?(R=f,x=m===(await(i.isRTL==null?void 0:i.isRTL(c.floating))?"start":"end")?"left":"right"):(x=f,R=m==="end"?"top":"bottom");const v=h-u.top-u.bottom,E=g-u.left-u.right,C=Me(h-u[R],v),P=Me(g-u[x],E),S=!e.middlewareData.shift;let b=C,O=P;if((n=e.middlewareData.shift)!=null&&n.enabled.x&&(O=E),(o=e.middlewareData.shift)!=null&&o.enabled.y&&(b=v),S&&!m){const M=J(u.left,0),k=J(u.right,0),T=J(u.top,0),y=J(u.bottom,0);l?O=g-2*(M!==0||k!==0?M+k:J(u.left,u.right)):b=h-2*(T!==0||y!==0?T+y:J(u.top,u.bottom))}await a({...e,availableWidth:O,availableHeight:b});const F=await i.getDimensions(c.floating);return g!==F.width||h!==F.height?{reset:{rects:!0}}:{}}}};function pn(t){const e=ue(t);let n=parseFloat(e.width)||0,o=parseFloat(e.height)||0;const r=fe(t),s=r?t.offsetWidth:n,i=r?t.offsetHeight:o,c=Ne(n)!==s||Ne(o)!==i;return c&&(n=s,o=i),{width:n,height:o,$:c}}function gt(t){return j(t)?t:t.contextElement}function we(t){const e=gt(t);if(!fe(e))return ae(1);const n=e.getBoundingClientRect(),{width:o,height:r,$:s}=pn(e);let i=(s?Ne(n.width):n.width)/o,c=(s?Ne(n.height):n.height)/r;return(!i||!Number.isFinite(i))&&(i=1),(!c||!Number.isFinite(c))&&(c=1),{x:i,y:c}}const Io=ae(0);function hn(t){const e=le(t);return!nn()||!e.visualViewport?Io:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function ko(t,e,n){return e===void 0&&(e=!1),!n||e&&n!==le(t)?!1:e}function pe(t,e,n,o){e===void 0&&(e=!1),n===void 0&&(n=!1);const r=t.getBoundingClientRect(),s=gt(t);let i=ae(1);e&&(o?j(o)&&(i=we(o)):i=we(t));const c=ko(s,n,o)?hn(s):ae(0);let a=(r.left+c.x)/i.x,d=(r.top+c.y)/i.y,u=r.width/i.x,f=r.height/i.y;if(s){const m=le(s),l=o&&j(o)?le(o):o;let g=m,h=kt(g);for(;h&&o&&l!==g;){const R=we(h),x=h.getBoundingClientRect(),v=ue(h),E=x.left+(h.clientLeft+parseFloat(v.paddingLeft))*R.x,C=x.top+(h.clientTop+parseFloat(v.paddingTop))*R.y;a*=R.x,d*=R.y,u*=R.x,f*=R.y,a+=E,d+=C,g=le(h),h=kt(g)}}return je({width:u,height:f,x:a,y:d})}function Ke(t,e){const n=ze(t).scrollLeft;return e?e.left+n:pe(ge(t)).left+n}function yn(t,e){const n=t.getBoundingClientRect(),o=n.left+e.scrollLeft-Ke(t,n),r=n.top+e.scrollTop;return{x:o,y:r}}function Fo(t){let{elements:e,rect:n,offsetParent:o,strategy:r}=t;const s=r==="fixed",i=ge(o),c=e?ut(e.floating):!1;if(o===i||c&&s)return n;let a={scrollLeft:0,scrollTop:0},d=ae(1);const u=ae(0),f=fe(o);if((f||!f&&!s)&&((ft(o)!=="body"||dt(i))&&(a=ze(o)),fe(o))){const l=pe(o);d=we(o),u.x=l.x+o.clientLeft,u.y=l.y+o.clientTop}const m=i&&!f&&!s?yn(i,a):ae(0);return{width:n.width*d.x,height:n.height*d.y,x:n.x*d.x-a.scrollLeft*d.x+u.x+m.x,y:n.y*d.y-a.scrollTop*d.y+u.y+m.y}}function Ho(t){return Array.from(t.getClientRects())}function Bo(t){const e=ge(t),n=ze(t),o=t.ownerDocument.body,r=J(e.scrollWidth,e.clientWidth,o.scrollWidth,o.clientWidth),s=J(e.scrollHeight,e.clientHeight,o.scrollHeight,o.clientHeight);let i=-n.scrollLeft+Ke(t);const c=-n.scrollTop;return ue(o).direction==="rtl"&&(i+=J(e.clientWidth,o.clientWidth)-r),{width:r,height:s,x:i,y:c}}const Wt=25;function Vo(t,e){const n=le(t),o=ge(t),r=n.visualViewport;let s=o.clientWidth,i=o.clientHeight,c=0,a=0;if(r){s=r.width,i=r.height;const u=nn();(!u||u&&e==="fixed")&&(c=r.offsetLeft,a=r.offsetTop)}const d=Ke(o);if(d<=0){const u=o.ownerDocument,f=u.body,m=getComputedStyle(f),l=u.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,g=Math.abs(o.clientWidth-f.clientWidth-l);g<=Wt&&(s-=g)}else d<=Wt&&(s+=d);return{width:s,height:i,x:c,y:a}}const $o=new Set(["absolute","fixed"]);function Wo(t,e){const n=pe(t,!0,e==="fixed"),o=n.top+t.clientTop,r=n.left+t.clientLeft,s=fe(t)?we(t):ae(1),i=t.clientWidth*s.x,c=t.clientHeight*s.y,a=r*s.x,d=o*s.y;return{width:i,height:c,x:a,y:d}}function jt(t,e,n){let o;if(e==="viewport")o=Vo(t,n);else if(e==="document")o=Bo(ge(t));else if(j(e))o=Wo(e,n);else{const r=hn(t);o={x:e.x-r.x,y:e.y-r.y,width:e.width,height:e.height}}return je(o)}function xn(t,e){const n=Pe(t);return n===e||!j(n)||We(n)?!1:ue(n).position==="fixed"||xn(n,e)}function jo(t,e){const n=e.get(t);if(n)return n;let o=st(t,[],!1).filter(c=>j(c)&&ft(c)!=="body"),r=null;const s=ue(t).position==="fixed";let i=s?Pe(t):t;for(;j(i)&&!We(i);){const c=ue(i),a=on(i);!a&&c.position==="fixed"&&(r=null),(s?!a&&!r:!a&&c.position==="static"&&!!r&&$o.has(r.position)||dt(i)&&!a&&xn(t,i))?o=o.filter(u=>u!==i):r=c,i=Pe(i)}return e.set(t,o),o}function No(t){let{element:e,boundary:n,rootBoundary:o,strategy:r}=t;const i=[...n==="clippingAncestors"?ut(e)?[]:jo(e,this._c):[].concat(n),o],c=i[0],a=i.reduce((d,u)=>{const f=jt(e,u,r);return d.top=J(f.top,d.top),d.right=Me(f.right,d.right),d.bottom=Me(f.bottom,d.bottom),d.left=J(f.left,d.left),d},jt(e,c,r));return{width:a.right-a.left,height:a.bottom-a.top,x:a.left,y:a.top}}function Yo(t){const{width:e,height:n}=pn(t);return{width:e,height:n}}function Xo(t,e,n){const o=fe(e),r=ge(e),s=n==="fixed",i=pe(t,!0,s,e);let c={scrollLeft:0,scrollTop:0};const a=ae(0);function d(){a.x=Ke(r)}if(o||!o&&!s)if((ft(e)!=="body"||dt(r))&&(c=ze(e)),o){const l=pe(e,!0,s,e);a.x=l.x+e.clientLeft,a.y=l.y+e.clientTop}else r&&d();s&&!o&&r&&d();const u=r&&!o&&!s?yn(r,c):ae(0),f=i.left+c.scrollLeft-a.x-u.x,m=i.top+c.scrollTop-a.y-u.y;return{x:f,y:m,width:i.width,height:i.height}}function tt(t){return ue(t).position==="static"}function Nt(t,e){if(!fe(t)||ue(t).position==="fixed")return null;if(e)return e(t);let n=t.offsetParent;return ge(t)===n&&(n=n.ownerDocument.body),n}function vn(t,e){const n=le(t);if(ut(t))return n;if(!fe(t)){let r=Pe(t);for(;r&&!We(r);){if(j(r)&&!tt(r))return r;r=Pe(r)}return n}let o=Nt(t,e);for(;o&&no(o)&&tt(o);)o=Nt(o,e);return o&&We(o)&&tt(o)&&!on(o)?n:o||oo(t)||n}const _o=async function(t){const e=this.getOffsetParent||vn,n=this.getDimensions,o=await n(t.floating);return{reference:Xo(t.reference,await e(t.floating),t.strategy),floating:{x:0,y:0,width:o.width,height:o.height}}};function Uo(t){return ue(t).direction==="rtl"}const zo={convertOffsetParentRelativeRectToViewportRelativeRect:Fo,getDocumentElement:ge,getClippingRect:No,getOffsetParent:vn,getElementRects:_o,getClientRects:Ho,getDimensions:Yo,getScale:we,isElement:j,isRTL:Uo};function Rn(t,e){return t.x===e.x&&t.y===e.y&&t.width===e.width&&t.height===e.height}function qo(t,e){let n=null,o;const r=ge(t);function s(){var c;clearTimeout(o),(c=n)==null||c.disconnect(),n=null}function i(c,a){c===void 0&&(c=!1),a===void 0&&(a=1),s();const d=t.getBoundingClientRect(),{left:u,top:f,width:m,height:l}=d;if(c||e(),!m||!l)return;const g=ke(f),h=ke(r.clientWidth-(u+m)),R=ke(r.clientHeight-(f+l)),x=ke(u),E={rootMargin:-g+"px "+-h+"px "+-R+"px "+-x+"px",threshold:J(0,Me(1,a))||1};let C=!0;function P(S){const b=S[0].intersectionRatio;if(b!==a){if(!C)return i();b?i(!1,b):o=setTimeout(()=>{i(!1,1e-7)},1e3)}b===1&&!Rn(d,t.getBoundingClientRect())&&i(),C=!1}try{n=new IntersectionObserver(P,{...E,root:r.ownerDocument})}catch{n=new IntersectionObserver(P,E)}n.observe(t)}return i(!0),s}function Yt(t,e,n,o){o===void 0&&(o={});const{ancestorScroll:r=!0,ancestorResize:s=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:c=typeof IntersectionObserver=="function",animationFrame:a=!1}=o,d=gt(t),u=r||s?[...d?st(d):[],...st(e)]:[];u.forEach(x=>{r&&x.addEventListener("scroll",n,{passive:!0}),s&&x.addEventListener("resize",n)});const f=d&&c?qo(d,n):null;let m=-1,l=null;i&&(l=new ResizeObserver(x=>{let[v]=x;v&&v.target===d&&l&&(l.unobserve(e),cancelAnimationFrame(m),m=requestAnimationFrame(()=>{var E;(E=l)==null||E.observe(e)})),n()}),d&&!a&&l.observe(d),l.observe(e));let g,h=a?pe(t):null;a&&R();function R(){const x=pe(t);h&&!Rn(h,x)&&n(),h=x,g=requestAnimationFrame(R)}return n(),()=>{var x;u.forEach(v=>{r&&v.removeEventListener("scroll",n),s&&v.removeEventListener("resize",n)}),f?.(),(x=l)==null||x.disconnect(),l=null,a&&cancelAnimationFrame(g)}}const Ko=Ao,Go=Mo,Qo=To,Jo=Do,Zo=Po,er=Lo,tr=(t,e,n)=>{const o=new Map,r={platform:zo,...n},s={...r.platform,_c:o};return So(t,e,{...r,platform:s})};var nr=typeof document<"u",or=function(){},Be=nr?p.useLayoutEffect:or;function Xe(t,e){if(t===e)return!0;if(typeof t!=typeof e)return!1;if(typeof t=="function"&&t.toString()===e.toString())return!0;let n,o,r;if(t&&e&&typeof t=="object"){if(Array.isArray(t)){if(n=t.length,n!==e.length)return!1;for(o=n;o--!==0;)if(!Xe(t[o],e[o]))return!1;return!0}if(r=Object.keys(t),n=r.length,n!==Object.keys(e).length)return!1;for(o=n;o--!==0;)if(!{}.hasOwnProperty.call(e,r[o]))return!1;for(o=n;o--!==0;){const s=r[o];if(!(s==="_owner"&&t.$$typeof)&&!Xe(t[s],e[s]))return!1}return!0}return t!==t&&e!==e}function wn(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function Xt(t,e){const n=wn(t);return Math.round(e*n)/n}function nt(t){const e=p.useRef(t);return Be(()=>{e.current=t}),e}function rr(t){t===void 0&&(t={});const{placement:e="bottom",strategy:n="absolute",middleware:o=[],platform:r,elements:{reference:s,floating:i}={},transform:c=!0,whileElementsMounted:a,open:d}=t,[u,f]=p.useState({x:0,y:0,strategy:n,placement:e,middlewareData:{},isPositioned:!1}),[m,l]=p.useState(o);Xe(m,o)||l(o);const[g,h]=p.useState(null),[R,x]=p.useState(null),v=p.useCallback(w=>{w!==S.current&&(S.current=w,h(w))},[]),E=p.useCallback(w=>{w!==b.current&&(b.current=w,x(w))},[]),C=s||g,P=i||R,S=p.useRef(null),b=p.useRef(null),O=p.useRef(u),F=a!=null,M=nt(a),k=nt(r),T=nt(d),y=p.useCallback(()=>{if(!S.current||!b.current)return;const w={placement:e,strategy:n,middleware:m};k.current&&(w.platform=k.current),tr(S.current,b.current,w).then(L=>{const W={...L,isPositioned:T.current!==!1};D.current&&!Xe(O.current,W)&&(O.current=W,_e.flushSync(()=>{f(W)}))})},[m,e,n,k,T]);Be(()=>{d===!1&&O.current.isPositioned&&(O.current.isPositioned=!1,f(w=>({...w,isPositioned:!1})))},[d]);const D=p.useRef(!1);Be(()=>(D.current=!0,()=>{D.current=!1}),[]),Be(()=>{if(C&&(S.current=C),P&&(b.current=P),C&&P){if(M.current)return M.current(C,P,y);y()}},[C,P,y,M,F]);const I=p.useMemo(()=>({reference:S,floating:b,setReference:v,setFloating:E}),[v,E]),H=p.useMemo(()=>({reference:C,floating:P}),[C,P]),A=p.useMemo(()=>{const w={position:n,left:0,top:0};if(!H.floating)return w;const L=Xt(H.floating,u.x),W=Xt(H.floating,u.y);return c?{...w,transform:"translate("+L+"px, "+W+"px)",...wn(H.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:L,top:W}},[n,c,H.floating,u.x,u.y]);return p.useMemo(()=>({...u,update:y,refs:I,elements:H,floatingStyles:A}),[u,y,I,H,A])}const sr=(t,e)=>({...Ko(t),options:[t,e]}),ir=(t,e)=>({...Go(t),options:[t,e]}),cr=(t,e)=>({...er(t),options:[t,e]}),lr=(t,e)=>({...Qo(t),options:[t,e]}),ar=(t,e)=>({...Jo(t),options:[t,e]}),ur=(t,e)=>({...Zo(t),options:[t,e]});function fr(t){const{open:e=!1,onOpenChange:n,elements:o={}}=t,r=ro(),s=Qt()!=null,i=qt(()=>new $n({open:e,onOpenChange:n,referenceElement:o.reference??null,floatingElement:o.floating??null,triggerElements:o.triggers??new Jt,floatingId:r,nested:s,noEmit:t.noEmit||!1})).current;return z(()=>{const c={open:e,floatingId:r};o.reference!==void 0&&(c.referenceElement=o.reference,c.domReferenceElement=j(o.reference)?o.reference:null),o.floating!==void 0&&(c.floatingElement=o.floating),i.update(c)},[e,r,o.reference,o.floating,i]),i.context.onOpenChange=n,i.context.nested=s,i.context.noEmit=t.noEmit||!1,i}function dr(t={}){const{nodeId:e,externalTree:n}=t,o=fr(t),r=t.rootContext||o,s={reference:r.useState("referenceElement"),floating:r.useState("floatingElement"),domReference:r.useState("domReferenceElement")},[i,c]=p.useState(null),a=p.useRef(null),d=at(n);z(()=>{s.domReference&&(a.current=s.domReference)},[s.domReference]);const u=rr({...t,elements:{...s,...i&&{reference:i}}}),f=p.useCallback(b=>{const O=j(b)?{getBoundingClientRect:()=>b.getBoundingClientRect(),getClientRects:()=>b.getClientRects(),contextElement:b}:b;c(O),u.refs.setReference(O)},[u.refs]),[m,l]=p.useState(null),[g,h]=p.useState(null);r.useSyncedValue("referenceElement",m),r.useSyncedValue("domReferenceElement",j(m)?m:null),r.useSyncedValue("floatingElement",g);const R=p.useCallback(b=>{(j(b)||b===null)&&(a.current=b,l(b)),(j(u.refs.reference.current)||u.refs.reference.current===null||b!==null&&!j(b))&&u.refs.setReference(b)},[u.refs,l]),x=p.useCallback(b=>{h(b),u.refs.setFloating(b)},[u.refs]),v=p.useMemo(()=>({...u.refs,setReference:R,setFloating:x,setPositionReference:f,domReference:a}),[u.refs,R,x,f]),E=p.useMemo(()=>({...u.elements,domReference:s.domReference}),[u.elements,s.domReference]),C=r.useState("open"),P=r.useState("floatingId"),S=p.useMemo(()=>({...u,dataRef:r.context.dataRef,open:C,onOpenChange:r.setOpen,events:r.context.events,floatingId:P,refs:v,elements:E,nodeId:e,rootStore:r}),[u,v,E,e,r,C,P]);return z(()=>{r.context.dataRef.current.floatingContext=S;const b=d?.nodesRef.current.find(O=>O.id===e);b&&(b.context=S)}),p.useMemo(()=>({...u,context:S,refs:v,elements:E,rootStore:r}),[u,v,E,S,r])}const ot=uo&&fo;function gr(t,e={}){const n="rootStore"in t?t.rootStore:t,{events:o,dataRef:r}=n.context,{enabled:s=!0,visibleOnly:i=!0,delay:c}=e,a=p.useRef(!1),d=p.useRef(null),u=$e(),f=p.useRef(!0);p.useEffect(()=>{const l=n.select("domReferenceElement");if(!s)return;const g=le(l);function h(){const v=n.select("domReferenceElement");!n.select("open")&&fe(v)&&v===Ft(Ae(v))&&(a.current=!0)}function R(){f.current=!0}function x(){f.current=!1}return g.addEventListener("blur",h),ot&&(g.addEventListener("keydown",R,!0),g.addEventListener("pointerdown",x,!0)),()=>{g.removeEventListener("blur",h),ot&&(g.removeEventListener("keydown",R,!0),g.removeEventListener("pointerdown",x,!0))}},[n,s]),p.useEffect(()=>{if(!s)return;function l(g){if(g.reason===rn||g.reason===sn){const h=n.select("domReferenceElement");j(h)&&(d.current=h,a.current=!0)}}return o.on("openchange",l),()=>{o.off("openchange",l)}},[o,s,n]);const m=p.useMemo(()=>({onMouseLeave(){a.current=!1,d.current=null},onFocus(l){const g=l.currentTarget;if(a.current){if(d.current===g)return;a.current=!1,d.current=null}const h=qe(l.nativeEvent);if(i&&j(h)){if(ot&&!l.relatedTarget){if(!f.current&&!lo(h))return}else if(!ao(h))return}const R=l.relatedTarget&&n.context.triggerElements.hasElement(l.relatedTarget),{nativeEvent:x,currentTarget:v}=l,E=typeof c=="function"?c():c;if(n.select("open")&&R||E===0||E===void 0){n.setOpen(!0,K(Fe,x,v));return}u.start(E,()=>{a.current||n.setOpen(!0,K(Fe,x,v))})},onBlur(l){a.current=!1,d.current=null;const g=l.relatedTarget,h=l.nativeEvent,R=j(g)&&g.hasAttribute(Zt("focus-guard"))&&g.getAttribute("data-type")==="outside";u.start(0,()=>{const x=n.select("domReferenceElement"),v=Ft(x?x.ownerDocument:document);if(!g&&v===x||ee(r.current.floatingContext?.refs.floating.current,v)||ee(x,v)||R)return;const E=g??v;if(j(E)){const C=n.context.triggerElements;if(C.hasElement(E)||C.hasMatchingElement(P=>ee(P,E)))return}n.setOpen(!1,K(Fe,h))})}}),[r,n,i,u,c]);return p.useMemo(()=>s?{reference:m,trigger:m}:{},[s,m])}const ct=Zt("safe-polygon"),mr=`button,a,[role="button"],select,[tabindex]:not([tabindex="-1"]),${go}`;function pr(t){return t?!!t.closest(mr):!1}function bn(t){const e=p.useRef(void 0),n=p.useRef(!1),o=p.useRef(void 0),r=p.useRef(!0),s=p.useRef(!1),i=p.useRef(()=>{}),c=p.useRef(!1),a=$e(),d=$e(),u=p.useRef(void 0);return p.useMemo(()=>{const f=t.context.dataRef.current;return f.hoverInteractionState||(f.hoverInteractionState={pointerTypeRef:e,interactedInsideRef:n,handlerRef:o,blockMouseMoveRef:r,performedPointerEventsMutationRef:s,unbindMouseMoveRef:i,restTimeoutPendingRef:c,openChangeTimeout:a,restTimeout:d,handleCloseOptionsRef:u}),f.hoverInteractionState},[t,e,n,o,r,s,i,c,a,d,u])}const hr=new Set(["click","mousedown"]);function yr(t,e={}){const n="rootStore"in t?t.rootStore:t,o=n.useState("open"),r=n.useState("floatingElement"),s=n.useState("domReferenceElement"),{dataRef:i}=n.context,{enabled:c=!0,closeDelay:a=0,externalTree:d}=e,{pointerTypeRef:u,interactedInsideRef:f,handlerRef:m,performedPointerEventsMutationRef:l,unbindMouseMoveRef:g,restTimeoutPendingRef:h,openChangeTimeout:R,handleCloseOptionsRef:x}=bn(n),v=at(d),E=Qt(),C=Z(()=>f.current?!0:i.current.openEvent?hr.has(i.current.openEvent.type):!1),P=Z(()=>{const M=i.current.openEvent?.type;return M?.includes("mouse")&&M!=="mousedown"}),S=p.useCallback((M,k=!0)=>{const T=xr(a,u.current);T&&!m.current?R.start(T,()=>n.setOpen(!1,K(ce,M))):k&&(R.clear(),n.setOpen(!1,K(ce,M)))},[a,m,n,u,R]),b=Z(()=>{g.current(),m.current=void 0}),O=Z(()=>{if(l.current){const M=Ae(r).body;M.style.pointerEvents="",M.removeAttribute(ct),l.current=!1}}),F=Z(M=>{const k=qe(M);if(!pr(k)){f.current=!1;return}f.current=!0});z(()=>{o||(u.current=void 0,h.current=!1,f.current=!1,b(),O())},[o,u,h,f,b,O]),p.useEffect(()=>()=>{b()},[b]),p.useEffect(()=>O,[O]),z(()=>{if(c&&o&&x.current?.blockPointerEvents&&P()&&j(s)&&r){l.current=!0;const M=Ae(r).body;M.setAttribute(ct,"");const k=s,T=r,y=v?.nodesRef.current.find(D=>D.id===E)?.context?.elements.floating;return y&&(y.style.pointerEvents=""),M.style.pointerEvents="none",k.style.pointerEvents="auto",T.style.pointerEvents="auto",()=>{M.style.pointerEvents="",k.style.pointerEvents="",T.style.pointerEvents=""}}},[c,o,s,r,x,P,v,E,l]),p.useEffect(()=>{if(!c)return;function M(D){if(C()||!i.current.floatingContext||!n.select("open"))return;const I=n.context.triggerElements;D.relatedTarget&&I.hasElement(D.relatedTarget)||(O(),b(),C()||S(D))}function k(D){R.clear(),O(),m.current?.(D),b()}function T(D){C()||S(D,!1)}const y=r;return y&&(y.addEventListener("mouseleave",M),y.addEventListener("mouseenter",k),y.addEventListener("mouseleave",T),y.addEventListener("pointerdown",F,!0)),()=>{y&&(y.removeEventListener("mouseleave",M),y.removeEventListener("mouseenter",k),y.removeEventListener("mouseleave",T),y.removeEventListener("pointerdown",F,!0))}})}function xr(t,e){return e&&!Oe(e)?0:typeof t=="function"?t():t}function rt(t){return typeof t=="function"?t():t}const vr={current:null};function Rr(t,e={}){const n="rootStore"in t?t.rootStore:t,{dataRef:o,events:r}=n.context,{enabled:s=!0,delay:i=0,handleClose:c=null,mouseOnly:a=!1,restMs:d=0,move:u=!0,triggerElementRef:f=vr,externalTree:m,isActiveTrigger:l=!0}=e,g=at(m),{pointerTypeRef:h,interactedInsideRef:R,handlerRef:x,blockMouseMoveRef:v,performedPointerEventsMutationRef:E,unbindMouseMoveRef:C,restTimeoutPendingRef:P,openChangeTimeout:S,restTimeout:b,handleCloseOptionsRef:O}=bn(n),F=Re(c),M=Re(i),k=Re(d);l&&(O.current=F.current?.__options);const T=Z(()=>R.current?!0:o.current.openEvent?["click","mousedown"].includes(o.current.openEvent.type):!1),y=p.useCallback((A,w=!0)=>{const L=He(M.current,"close",h.current);L&&!x.current?S.start(L,()=>n.setOpen(!1,K(ce,A))):w&&(S.clear(),n.setOpen(!1,K(ce,A)))},[M,x,n,h,S]),D=Z(()=>{C.current(),x.current=void 0}),I=Z(()=>{if(E.current){const A=Ae(n.select("domReferenceElement")).body;A.style.pointerEvents="",A.removeAttribute(ct),E.current=!1}});p.useEffect(()=>{if(!s)return;function A(w){w.open||(S.clear(),b.clear(),v.current=!0,P.current=!1)}return r.on("openchange",A),()=>{r.off("openchange",A)}},[s,r,S,b,v,P]);const H=Z(A=>{if(T()||!o.current.floatingContext)return;const w=n.context.triggerElements;if(A.relatedTarget&&w.hasElement(A.relatedTarget))return;const L=f.current;F.current?.({...o.current.floatingContext,tree:g,x:A.clientX,y:A.clientY,onClose(){I(),D(),!T()&&L===n.select("domReferenceElement")&&y(A)}})(A)});return p.useEffect(()=>{if(!s)return;const A=f.current??(l?n.select("domReferenceElement"):null);if(!j(A))return;function w(V){if(S.clear(),v.current=!1,a&&!Oe(h.current)||rt(k.current)>0&&!He(M.current,"open"))return;const U=He(M.current,"open",h.current),X=n.select("domReferenceElement"),N=n.context.triggerElements,_=(N.hasElement(V.target)||N.hasMatchingElement(se=>ee(se,V.target)))&&(!X||!ee(X,V.target)),B=V.currentTarget??null,$=n.select("open"),ne=!$||_;_&&$?n.setOpen(!0,K(ce,V,B)):U?S.start(U,()=>{ne&&n.setOpen(!0,K(ce,V,B))}):ne&&n.setOpen(!0,K(ce,V,B))}function L(V){if(T()){I();return}C.current();const U=n.select("domReferenceElement"),X=Ae(U);b.clear(),P.current=!1;const N=n.context.triggerElements;if(V.relatedTarget&&N.hasElement(V.relatedTarget))return;if(F.current&&o.current.floatingContext){n.select("open")||S.clear();const B=f.current;x.current=F.current({...o.current.floatingContext,tree:g,x:V.clientX,y:V.clientY,onClose(){I(),D(),!T()&&B===n.select("domReferenceElement")&&y(V,!0)}});const $=x.current;$(V),X.addEventListener("mousemove",$),C.current=()=>{X.removeEventListener("mousemove",$)};return}(h.current!=="touch"||!ee(n.select("floatingElement"),V.relatedTarget))&&y(V)}function W(V){H(V)}return n.select("open")&&A.addEventListener("mouseleave",W),u&&A.addEventListener("mousemove",w,{once:!0}),A.addEventListener("mouseenter",w),A.addEventListener("mouseleave",L),()=>{A.removeEventListener("mouseleave",W),u&&A.removeEventListener("mousemove",w),A.removeEventListener("mouseenter",w),A.removeEventListener("mouseleave",L)}},[D,I,v,o,M,y,n,s,F,H,l,T,a,u,h,k,b,P,S,f,g,C,x]),p.useMemo(()=>{function A(w){h.current=w.pointerType}return{onPointerDown:A,onPointerEnter:A,onMouseMove(w){const{nativeEvent:L}=w,W=w.currentTarget,V=n.select("domReferenceElement"),U=n.context.triggerElements,X=n.select("open"),N=(U.hasElement(w.target)||U.hasMatchingElement(B=>ee(B,w.target)))&&(!V||!ee(V,w.target));if(a&&!Oe(h.current)||X&&!N||rt(k.current)===0||!N&&P.current&&w.movementX**2+w.movementY**2<2)return;b.clear();function _(){if(P.current=!1,T())return;const B=n.select("open");!v.current&&(!B||N)&&n.setOpen(!0,K(ce,L,W))}h.current==="touch"?_e.flushSync(()=>{_()}):N&&X?_():(P.current=!0,b.start(rt(k.current),_))}}},[v,T,a,n,h,k,b,P])}function _t(t,e){const[n,o]=t;let r=!1;const s=e.length;for(let i=0,c=s-1;i<s;c=i++){const[a,d]=e[i]||[0,0],[u,f]=e[c]||[0,0];d>=o!=f>=o&&n<=(u-a)*(o-d)/(f-d)+a&&(r=!r)}return r}function wr(t,e){return t[0]>=e.x&&t[0]<=e.x+e.width&&t[1]>=e.y&&t[1]<=e.y+e.height}function br(t={}){const{buffer:e=.5,blockPointerEvents:n=!1,requireIntent:o=!0}=t,r=new Gt;let s=!1,i=null,c=null,a=typeof performance<"u"?performance.now():0;function d(f,m){const l=performance.now(),g=l-a;if(i===null||c===null||g===0)return i=f,c=m,a=l,null;const h=f-i,R=m-c,v=Math.sqrt(h*h+R*R)/g;return i=f,c=m,a=l,v}const u=({x:f,y:m,placement:l,elements:g,onClose:h,nodeId:R,tree:x})=>function(E){function C(){r.clear(),h()}if(r.clear(),!g.domReference||!g.floating||l==null||f==null||m==null)return;const{clientX:P,clientY:S}=E,b=[P,S],O=qe(E),F=E.type==="mouseleave",M=ee(g.floating,O),k=ee(g.domReference,O),T=g.domReference.getBoundingClientRect(),y=g.floating.getBoundingClientRect(),D=l.split("-")[0],I=f>y.right-y.width/2,H=m>y.bottom-y.height/2,A=wr(b,T),w=y.width>T.width,L=y.height>T.height,W=(w?T:y).left,V=(w?T:y).right,U=(L?T:y).top,X=(L?T:y).bottom;if(M&&(s=!0,!F))return;if(k&&(s=!1),k&&!F){s=!0;return}if(F&&j(E.relatedTarget)&&ee(g.floating,E.relatedTarget)||x&&Wn(x.nodesRef.current,R).some(({context:B})=>B?.open))return;if(D==="top"&&m>=T.bottom-1||D==="bottom"&&m<=T.top+1||D==="left"&&f>=T.right-1||D==="right"&&f<=T.left+1)return C();let N=[];switch(D){case"top":N=[[W,T.top+1],[W,y.bottom-1],[V,y.bottom-1],[V,T.top+1]];break;case"bottom":N=[[W,y.top+1],[W,T.bottom-1],[V,T.bottom-1],[V,y.top+1]];break;case"left":N=[[y.right-1,X],[y.right-1,U],[T.left+1,U],[T.left+1,X]];break;case"right":N=[[T.right-1,X],[T.right-1,U],[y.left+1,U],[y.left+1,X]];break}function _([B,$]){switch(D){case"top":{const ne=[w?B+e/2:I?B+e*4:B-e*4,$+e+1],se=[w?B-e/2:I?B+e*4:B-e*4,$+e+1],oe=[[y.left,I||w?y.bottom-e:y.top],[y.right,I?w?y.bottom-e:y.top:y.bottom-e]];return[ne,se,...oe]}case"bottom":{const ne=[w?B+e/2:I?B+e*4:B-e*4,$-e],se=[w?B-e/2:I?B+e*4:B-e*4,$-e],oe=[[y.left,I||w?y.top+e:y.bottom],[y.right,I?w?y.top+e:y.bottom:y.top+e]];return[ne,se,...oe]}case"left":{const ne=[B+e+1,L?$+e/2:H?$+e*4:$-e*4],se=[B+e+1,L?$-e/2:H?$+e*4:$-e*4];return[...[[H||L?y.right-e:y.left,y.top],[H?L?y.right-e:y.left:y.right-e,y.bottom]],ne,se]}case"right":{const ne=[B-e,L?$+e/2:H?$+e*4:$-e*4],se=[B-e,L?$-e/2:H?$+e*4:$-e*4],oe=[[H||L?y.left+e:y.right,y.top],[H?L?y.left+e:y.right:y.left+e,y.bottom]];return[ne,se,...oe]}default:return[]}}if(!_t([P,S],N)){if(s&&!A)return C();if(!F&&o){const B=d(E.clientX,E.clientY);if(B!==null&&B<.1)return C()}_t([P,S],_([f,m]))?!s&&o&&r.start(40,C):C()}};return u.__options={blockPointerEvents:n},u}function En(t){return t==="starting"?jn:Vn}const Er=t=>({name:"arrow",options:t,async fn(e){const{x:n,y:o,placement:r,rects:s,platform:i,elements:c,middlewareData:a}=e,{element:d,padding:u=0,offsetParent:f="real"}=de(t,e)||{};if(d==null)return{};const m=an(u),l={x:n,y:o},g=ln(r),h=un(g),R=await i.getDimensions(d),x=g==="y",v=x?"top":"left",E=x?"bottom":"right",C=x?"clientHeight":"clientWidth",P=s.reference[h]+s.reference[g]-l[g]-s.floating[h],S=l[g]-s.reference[g],b=f==="real"?await i.getOffsetParent?.(d):c.floating;let O=c.floating[C]||s.floating[h];(!O||!await i.isElement?.(b))&&(O=c.floating[C]||s.floating[h]);const F=P/2-S/2,M=O/2-R[h]/2-1,k=Math.min(m[v],M),T=Math.min(m[E],M),y=k,D=O-R[h]-T,I=O/2-R[h]/2+F,H=it(y,I,D),A=!a.arrow&&be(r)!=null&&I!==H&&s.reference[h]/2-(I<y?k:T)-R[h]/2<0,w=A?I<y?I-y:I-D:0;return{[g]:l[g]+w,data:{[g]:H,centerOffset:I-H-w,...A&&{alignmentOffset:w}},reset:A}}}),Cr=(t,e)=>({...Er(t),options:[t,e]}),Sr={name:"hide",async fn(t){const{width:e,height:n,x:o,y:r}=t.rects.reference,s=e===0&&n===0&&o===0&&r===0;return{data:{referenceHidden:(await ur().fn(t)).data?.referenceHidden||s}}}},Ve={sideX:"left",sideY:"top"},Tr={name:"adaptiveOrigin",async fn(t){const{x:e,y:n,rects:{floating:o},elements:{floating:r},platform:s,strategy:i,placement:c}=t,a=le(r),d=a.getComputedStyle(r);if(!(d.transitionDuration!=="0s"&&d.transitionDuration!==""))return{x:e,y:n,data:Ve};const f=await s.getOffsetParent?.(r);let m={width:0,height:0};if(i==="fixed"&&a?.visualViewport)m={width:a.visualViewport.width,height:a.visualViewport.height};else if(f===a){const v=cn(r);m={width:v.documentElement.clientWidth,height:v.documentElement.clientHeight}}else await s.isElement?.(f)&&(m=await s.getDimensions(f));const l=te(c);let g=e,h=n;l==="left"&&(g=m.width-(e+o.width)),l==="top"&&(h=m.height-(n+o.height));const R=l==="left"?"right":Ve.sideX,x=l==="top"?"bottom":Ve.sideY;return{x:g,y:h,data:{sideX:R,sideY:x}}}};function Cn(t,e,n){const o=t==="inline-start"||t==="inline-end";return{top:"top",right:o?n?"inline-start":"inline-end":"right",bottom:"bottom",left:o?n?"inline-end":"inline-start":"left"}[e]}function Ut(t,e,n){const{rects:o,placement:r}=t;return{side:Cn(e,te(r),n),align:be(r)||"center",anchor:{width:o.reference.width,height:o.reference.height},positioner:{width:o.floating.width,height:o.floating.height}}}function Pr(t){const{anchor:e,positionMethod:n="absolute",side:o="bottom",sideOffset:r=0,align:s="center",alignOffset:i=0,collisionBoundary:c,collisionPadding:a=5,sticky:d=!1,arrowPadding:u=5,disableAnchorTracking:f=!1,keepMounted:m=!1,floatingRootContext:l,mounted:g,collisionAvoidance:h,shiftCrossAxis:R=!1,nodeId:x,adaptiveOrigin:v,lazyFlip:E=!1,externalTree:C}=t,[P,S]=p.useState(null);!g&&P!==null&&S(null);const b=h.side||"flip",O=h.align||"flip",F=h.fallbackAxisSide||"end",M=typeof e=="function"?e:void 0,k=Z(M),T=M?k:e,y=Re(e),I=vo()==="rtl",H=P||{top:"top",right:"right",bottom:"bottom",left:"left","inline-end":I?"left":"right","inline-start":I?"right":"left"}[o],A=s==="center"?H:`${H}-${s}`;let w=a;const L=1,W=o==="bottom"?L:0,V=o==="top"?L:0,U=o==="right"?L:0,X=o==="left"?L:0;typeof w=="number"?w={top:w+W,right:w+X,bottom:w+V,left:w+U}:w&&(w={top:(w.top||0)+W,right:(w.right||0)+X,bottom:(w.bottom||0)+V,left:(w.left||0)+U});const N={boundary:c==="clipping-ancestors"?"clippingAncestors":c,padding:w},_=p.useRef(null),B=Re(r),$=Re(i),oe=[sr(Y=>{const q=Ut(Y,o,I),ie=typeof B.current=="function"?B.current(q):B.current,Q=typeof $.current=="function"?$.current(q):$.current;return{mainAxis:ie,crossAxis:Q,alignmentAxis:Q}},[typeof r!="function"?r:0,typeof i!="function"?i:0,I,o])],pt=O==="none"&&b!=="shift",ht=!pt&&(d||R||b==="shift"),yt=b==="none"?null:lr({...N,padding:{top:w.top+L,right:w.right+L,bottom:w.bottom+L,left:w.left+L},mainAxis:!R&&b==="flip",crossAxis:O==="flip"?"alignment":!1,fallbackAxisSideDirection:F}),xt=pt?null:ir(Y=>{const q=cn(Y.elements.floating).documentElement;return{...N,rootBoundary:R?{x:0,y:0,width:q.clientWidth,height:q.clientHeight}:void 0,mainAxis:O!=="none",crossAxis:ht,limiter:d||R?void 0:cr(ie=>{if(!_.current)return{};const{width:Q,height:xe}=_.current.getBoundingClientRect(),ve=re(te(ie.placement)),Ie=ve==="y"?Q:xe,Ze=ve==="y"?w.left+w.right:w.top+w.bottom;return{offset:Ie/2+Ze/2}})}},[N,d,R,w,O]);b==="shift"||O==="shift"||s==="center"?oe.push(xt,yt):oe.push(yt,xt),oe.push(ar({...N,apply({elements:{floating:Y},rects:{reference:q},availableWidth:ie,availableHeight:Q}){Object.entries({"--available-width":`${ie}px`,"--available-height":`${Q}px`,"--anchor-width":`${q.width}px`,"--anchor-height":`${q.height}px`}).forEach(([xe,ve])=>{Y.style.setProperty(xe,ve)})}}),Cr(()=>({element:_.current||document.createElement("div"),padding:u,offsetParent:"floating"}),[u]),{name:"transformOrigin",fn(Y){const{elements:q,middlewareData:ie,placement:Q,rects:xe,y:ve}=Y,Ie=te(Q),Ze=re(Ie),Dt=_.current,An=ie.arrow?.x||0,Mn=ie.arrow?.y||0,Ln=Dt?.clientWidth||0,Dn=Dt?.clientHeight||0,et=An+Ln/2,It=Mn+Dn/2,In=Math.abs(ie.shift?.y||0),kn=xe.reference.height/2,Te=typeof r=="function"?r(Ut(Y,o,I)):r,Fn=In>Te,Hn={top:`${et}px calc(100% + ${Te}px)`,bottom:`${et}px ${-Te}px`,left:`calc(100% + ${Te}px) ${It}px`,right:`${-Te}px ${It}px`}[Ie],Bn=`${et}px ${xe.reference.y+kn-ve}px`;return q.floating.style.setProperty("--transform-origin",ht&&Ze==="y"&&Fn?Bn:Hn),{}}},Sr,v),z(()=>{!g&&l&&l.update({referenceElement:null,floatingElement:null,domReferenceElement:null})},[g,l]);const Qe=p.useMemo(()=>({elementResize:!f&&typeof ResizeObserver<"u",layoutShift:!f&&typeof IntersectionObserver<"u"}),[f]),{refs:he,elements:Ee,x:vt,y:Rt,middlewareData:ye,update:Le,placement:wt,context:bt,isPositioned:Ce,floatingStyles:Et}=dr({rootContext:l,placement:A,middleware:oe,strategy:n,whileElementsMounted:m?void 0:(...Y)=>Yt(...Y,Qe),nodeId:x,externalTree:C}),{sideX:Ct,sideY:St}=ye.adaptiveOrigin||Ve,Je=Ce?n:"fixed",Tt=p.useMemo(()=>v?{position:Je,[Ct]:vt,[St]:Rt}:{position:Je,...Et},[v,Je,Ct,vt,St,Rt,Et]),De=p.useRef(null);z(()=>{if(!g)return;const Y=y.current,q=typeof Y=="function"?Y():Y,Q=(zt(q)?q.current:q)||null||null;Q!==De.current&&(he.setPositionReference(Q),De.current=Q)},[g,he,T,y]),p.useEffect(()=>{if(!g)return;const Y=y.current;typeof Y!="function"&&zt(Y)&&Y.current!==De.current&&(he.setPositionReference(Y.current),De.current=Y.current)},[g,he,T,y]),p.useEffect(()=>{if(m&&g&&Ee.domReference&&Ee.floating)return Yt(Ee.domReference,Ee.floating,Le,Qe)},[m,g,Ee,Le,Qe]);const Se=te(wt),Pt=Cn(o,Se,I),Ot=be(wt)||"center",At=!!ye.hide?.referenceHidden;z(()=>{E&&g&&Ce&&S(Se)},[E,g,Ce,Se]);const Mt=p.useMemo(()=>({position:"absolute",top:ye.arrow?.y,left:ye.arrow?.x}),[ye.arrow]),Lt=ye.arrow?.centerOffset!==0;return p.useMemo(()=>({positionerStyles:Tt,arrowStyles:Mt,arrowRef:_,arrowUncentered:Lt,side:Pt,align:Ot,physicalSide:Se,anchorHidden:At,refs:he,context:bt,isPositioned:Ce,update:Le}),[Tt,Mt,_,Lt,Pt,Ot,Se,At,he,bt,Ce,Le])}function zt(t){return t!=null&&"current"in t}const Sn=p.createContext(void 0);function Ge(t){const e=p.useContext(Sn);if(e===void 0&&!t)throw new Error(Ue(72));return e}const Or={...Yn,disabled:me(t=>t.disabled),instantType:me(t=>t.instantType),isInstantPhase:me(t=>t.isInstantPhase),trackCursorAxis:me(t=>t.trackCursorAxis),disableHoverablePopup:me(t=>t.disableHoverablePopup),lastOpenChangeReason:me(t=>t.openChangeReason),closeDelay:me(t=>t.closeDelay),hasViewport:me(t=>t.hasViewport)};class mt extends Nn{constructor(e){super({...Ar(),...e},{popupRef:p.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:new Jt},Or)}setOpen=(e,n)=>{const o=n.reason,r=o===ce,s=e&&o===Fe,i=!e&&(o===rn||o===sn);if(n.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},this.context.onOpenChange?.(e,n),n.isCanceled)return;const c=()=>{const a={open:e,openChangeReason:o};s?a.instantType="focus":i?a.instantType="dismiss":o===ce&&(a.instantType=void 0);const d=n.trigger?.id??null;(d||e)&&(a.activeTriggerId=d,a.activeTriggerElement=n.trigger??null),this.update(a)};r?_e.flushSync(c):c()};static useStore(e,n){const o=qt(()=>new mt(n)).current,r=e??o,s=Xn({popupStore:r,onOpenChange:r.setOpen});return r.state.floatingRootContext=s,r}}function Ar(){return{..._n(),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:"none",disableHoverablePopup:!1,openChangeReason:null,closeDelay:0,hasViewport:!1}}function Mr(t){const{disabled:e=!1,defaultOpen:n=!1,open:o,disableHoverablePopup:r=!1,trackCursorAxis:s="none",actionsRef:i,onOpenChange:c,onOpenChangeComplete:a,handle:d,triggerId:u,defaultTriggerId:f=null,children:m}=t,l=mt.useStore(d?.store,{open:o??n,activeTriggerId:u!==void 0?u:f});l.useControlledProp("open",o,n),l.useControlledProp("activeTriggerId",u,f),l.useContextCallback("onOpenChange",c),l.useContextCallback("onOpenChangeComplete",a);const g=l.useState("open"),h=!e&&g,R=l.useState("activeTriggerId"),x=l.useState("payload");l.useSyncedValues({trackCursorAxis:s,disableHoverablePopup:r}),z(()=>{g&&e&&l.setOpen(!1,K(so))},[g,e,l]),l.useSyncedValue("disabled",e),Un(l);const{forceUnmount:v,transitionStatus:E}=zn(h,l),C=l.useState("isInstantPhase"),P=l.useState("instantType"),S=l.useState("lastOpenChangeReason"),b=p.useRef(null);z(()=>{E==="ending"&&S===tn||E!=="ending"&&C?(P!=="delay"&&(b.current=P),l.set("instantType","delay")):b.current!==null&&(l.set("instantType",b.current),b.current=null)},[E,C,S,P,l]),z(()=>{h&&R==null&&l.set("payload",void 0)},[l,R,h]);const O=p.useCallback(()=>{l.setOpen(!1,Lr(l,io))},[l]);p.useImperativeHandle(i,()=>({unmount:v,close:O}),[v,O]);const F=l.useState("floatingRootContext"),M=gr(F,{enabled:!e}),k=qn(F,{enabled:!e,referencePress:!0}),T=Eo(F,{enabled:!e&&s!=="none",axis:s==="none"?void 0:s}),{getReferenceProps:y,getFloatingProps:D,getTriggerProps:I}=Kn([M,k,T]),H=p.useMemo(()=>y(),[y]),A=p.useMemo(()=>I(),[I]),w=p.useMemo(()=>D(),[D]);return l.useSyncedValues({activeTriggerProps:H,inactiveTriggerProps:A,popupProps:w}),G.jsx(Sn.Provider,{value:l,children:typeof m=="function"?m({payload:x}):m})}function Lr(t,e){const n=K(e);return n.preventUnmountOnClose=()=>{t.set("preventUnmountingOnClose",!0)},n}const Tn=p.createContext(void 0);function Dr(){return p.useContext(Tn)}const Ir=600,kr=p.forwardRef(function(e,n){const{className:o,render:r,handle:s,payload:i,disabled:c,delay:a,closeDelay:d,id:u,...f}=e,m=Ge(!0),l=s?.store??m;if(!l)throw new Error(Ue(82));const g=co(u),h=l.useState("isTriggerActive",g),R=l.useState("isOpenedByTrigger",g),x=l.useState("floatingRootContext"),v=p.useRef(null),E=a??Ir,C=d??0,{registerTrigger:P,isMountedByThisTrigger:S}=Gn(g,v,l,{payload:i,closeDelay:C}),b=Dr(),{delayRef:O,isInstantPhase:F,hasProvider:M}=wo(x,{open:R});l.useSyncedValue("isInstantPhase",F);const k=l.useState("disabled"),T=c??k,y=l.useState("trackCursorAxis"),D=l.useState("disableHoverablePopup"),I=Rr(x,{enabled:!T,mouseOnly:!0,move:!1,handleClose:!D&&y!=="both"?br():null,restMs(){const L=b?.delay,W=typeof O.current=="object"?O.current.open:void 0;let V=E;return M&&(W!==0?V=a??L??E:V=0),V},delay(){const L=typeof O.current=="object"?O.current.close:void 0;let W=C;return d==null&&M&&(W=L),{close:W}},triggerElementRef:v,isActiveTrigger:h}),H=p.useMemo(()=>({open:R}),[R]),A=l.useState("triggerProps",S);return lt("button",e,{state:H,ref:[n,P,v],props:[I,A,{id:g},f],stateAttributesMapping:Qn})}),Pn=p.createContext(void 0);function Fr(){const t=p.useContext(Pn);if(t===void 0)throw new Error(Ue(70));return t}const Hr=p.forwardRef(function(e,n){const{children:o,container:r,className:s,render:i,...c}=e,{portalNode:a,portalSubtree:d}=Jn({container:r,ref:n,componentProps:e,elementProps:c});return!d&&!a?null:G.jsxs(p.Fragment,{children:[d,a&&_e.createPortal(o,a)]})}),Br=p.forwardRef(function(e,n){const{keepMounted:o=!1,...r}=e;return Ge().useState("mounted")||o?G.jsx(Pn.Provider,{value:o,children:G.jsx(Hr,{ref:n,...r})}):null}),On=p.createContext(void 0);function Vr(){const t=p.useContext(On);if(t===void 0)throw new Error(Ue(71));return t}const $r=p.forwardRef(function(e,n){const{render:o,className:r,anchor:s,positionMethod:i="absolute",side:c="top",align:a="center",sideOffset:d=0,alignOffset:u=0,collisionBoundary:f="clipping-ancestors",collisionPadding:m=5,arrowPadding:l=5,sticky:g=!1,disableAnchorTracking:h=!1,collisionAvoidance:R=Zn,...x}=e,v=Ge(),E=Fr(),C=v.useState("open"),P=v.useState("mounted"),S=v.useState("trackCursorAxis"),b=v.useState("disableHoverablePopup"),O=v.useState("floatingRootContext"),F=v.useState("instantType"),M=v.useState("transitionStatus"),k=v.useState("hasViewport"),T=Pr({anchor:s,positionMethod:i,floatingRootContext:O,mounted:P,side:c,sideOffset:d,align:a,alignOffset:u,collisionBoundary:f,collisionPadding:m,sticky:g,arrowPadding:l,disableAnchorTracking:h,keepMounted:E,collisionAvoidance:R,adaptiveOrigin:k?Tr:void 0}),y=p.useMemo(()=>{const A={};return(!C||S==="both"||b)&&(A.pointerEvents="none"),{role:"presentation",hidden:!P,style:{...T.positionerStyles,...A}}},[C,S,b,P,T.positionerStyles]),D=p.useMemo(()=>({open:C,side:T.side,align:T.align,anchorHidden:T.anchorHidden,instant:S!=="none"?"tracking-cursor":F}),[C,T.side,T.align,T.anchorHidden,S,F]),I=p.useMemo(()=>({...D,arrowRef:T.arrowRef,arrowStyles:T.arrowStyles,arrowUncentered:T.arrowUncentered}),[D,T.arrowRef,T.arrowStyles,T.arrowUncentered]),H=lt("div",e,{state:D,props:[y,En(M),x],ref:[n,v.useStateSetter("positionerElement")],stateAttributesMapping:en});return G.jsx(On.Provider,{value:I,children:H})}),Wr={...en,...to},jr=p.forwardRef(function(e,n){const{className:o,render:r,...s}=e,i=Ge(),{side:c,align:a}=Vr(),d=i.useState("open"),u=i.useState("instantType"),f=i.useState("transitionStatus"),m=i.useState("popupProps"),l=i.useState("floatingRootContext");eo({open:d,ref:i.context.popupRef,onComplete(){d&&i.context.onOpenChangeComplete?.(!0)}});const g=i.useState("disabled"),h=i.useState("closeDelay");yr(l,{enabled:!g,closeDelay:h});const R=p.useMemo(()=>({open:d,side:c,align:a,instant:u,transitionStatus:f}),[d,c,a,u,f]);return lt("div",e,{state:R,ref:[n,i.context.popupRef,i.useStateSetter("popupElement")],props:[m,En(f),s],stateAttributesMapping:Wr})}),Nr=function(e){const{delay:n,closeDelay:o,timeout:r=400}=e,s=p.useMemo(()=>({delay:n,closeDelay:o}),[n,o]),i=p.useMemo(()=>({open:n,close:o}),[n,o]);return G.jsx(Tn.Provider,{value:s,children:G.jsx(Ro,{delay:i,timeoutMs:r,children:e.children})})};function Qr({children:t}){return G.jsx(Nr,{delay:0,closeDelay:0,timeout:0,children:t})}function Jr({children:t,...e}){return G.jsx(Mr,{...e,children:t})}function Zr({className:t,...e}){return G.jsx(kr,{className:Kt(t),...e})}function es({className:t,side:e="top",children:n}){return G.jsx(Br,{children:G.jsx($r,{side:e,children:G.jsx(jr,{className:Kt("rounded-md border border-primary-900 bg-primary-950 px-2 py-1 text-xs text-primary-50 shadow-sm",t),children:n})})})}export{Qr as T,Jr as a,Zr as b,es as c,dn as d,En as e,Pr as f,Kr as g,Rr as h,br as i,gr as j,Gr as s,yr as u};
@@ -0,0 +1,12 @@
1
+ import{r as a,j as M}from"./main-DBmooBKx.js";import{af as ht,E as Be,ab as yt,ac as Ze,ag as re,ai as vt,C as St,c as pe,B as Et}from"./button-DdG8c-XQ.js";import{u as oe,z as ge,A as et,B as tt,a as Q,i as te,m as xt,o as Ct,g as we,j as Rt,h as wt,p as kt,v as Tt,f as It,D as Ft,d as nt}from"./useBaseUiId-Ckx_aJky.js";import{o as ie,p as ot,q as Ot,k as U,j as je,h as Re,d as ne,e as L,m as Pt,n as Mt,s as Dt,l as se}from"./event-Dwf9IDxK.js";import{E as Ve,G as Lt,b as ce,d as At,H as Nt,a as We,u as Bt,I as st,J as ke,K as Ge,L as $e,M as X,N as Ye,B as qe,x as He,z as jt,O as Vt,Q as rt,S as Wt,U as Gt,c as $t,m as Yt,n as qt,o as Ht,q as Ut,r as Xt,R as Kt,g as zt,h as _t,k as Jt,i as H,p as it,t as at,V as ue,e as Qt,F as Zt}from"./popupStateMapping-CGDLUl5Y.js";import{C as en}from"./composite-Cx-QHT9o.js";import{a as tn}from"./visuallyHidden-COI6QeQH.js";import{c as nn}from"./react-dSDkXQu6.js";let Ue={},Xe={},Ke="";function on(e){if(typeof document>"u")return!1;const n=ie(e);return ge(n).innerWidth-n.documentElement.clientWidth>0}function sn(e){if(!(typeof CSS<"u"&&CSS.supports&&CSS.supports("scrollbar-gutter","stable"))||typeof document>"u")return!1;const o=ie(e).documentElement,s={scrollbarGutter:o.style.scrollbarGutter,overflowY:o.style.overflowY};o.style.scrollbarGutter="stable",o.style.overflowY="scroll";const i=o.offsetWidth;o.style.overflowY="hidden";const l=o.offsetWidth;return Object.assign(o.style,s),i===l}function rn(e){const n=ie(e),t=n.documentElement,o=n.body,s=et(t)?t:o,i=s.style.overflow;return s.style.overflow="hidden",()=>{s.style.overflow=i}}function an(e){const n=ie(e),t=n.documentElement,o=n.body,s=ge(t);let i=0,l=0,u=!1;const r=Lt.create();if(Ot&&(s.visualViewport?.scale??1)!==1)return()=>{};function C(){const f=s.getComputedStyle(t),c=s.getComputedStyle(o),v=(f.scrollbarGutter||"").includes("both-edges")?"stable both-edges":"stable";i=t.scrollTop,l=t.scrollLeft,Ue={scrollbarGutter:t.style.scrollbarGutter,overflowY:t.style.overflowY,overflowX:t.style.overflowX},Ke=t.style.scrollBehavior,Xe={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 S=t.scrollHeight>t.clientHeight,b=t.scrollWidth>t.clientWidth,m=f.overflowY==="scroll"||c.overflowY==="scroll",N=f.overflowX==="scroll"||c.overflowX==="scroll",P=Math.max(0,s.innerWidth-o.clientWidth),A=Math.max(0,s.innerHeight-o.clientHeight),Y=parseFloat(c.marginTop)+parseFloat(c.marginBottom),V=parseFloat(c.marginLeft)+parseFloat(c.marginRight),D=et(t)?t:o;if(u=sn(e),u){t.style.scrollbarGutter=v,D.style.overflowY="hidden",D.style.overflowX="hidden";return}Object.assign(t.style,{scrollbarGutter:v,overflowY:"hidden",overflowX:"hidden"}),(S||m)&&(t.style.overflowY="scroll"),(b||N)&&(t.style.overflowX="scroll"),Object.assign(o.style,{position:"relative",height:Y||A?`calc(100dvh - ${Y+A}px)`:"100dvh",width:V||P?`calc(100vw - ${V+P}px)`:"100vw",boxSizing:"border-box",overflow:"hidden",scrollBehavior:"unset"}),o.scrollTop=i,o.scrollLeft=l,t.setAttribute("data-base-ui-scroll-locked",""),t.style.scrollBehavior="unset"}function R(){Object.assign(t.style,Ue),Object.assign(o.style,Xe),u||(t.scrollTop=i,t.scrollLeft=l,t.removeAttribute("data-base-ui-scroll-locked"),t.style.scrollBehavior=Ke)}function x(){R(),r.request(C)}return C(),s.addEventListener("resize",x),()=>{r.cancel(),R(),typeof s.removeEventListener=="function"&&s.removeEventListener("resize",x)}}class ln{lockCount=0;restore=null;timeoutLock=Ve.create();timeoutUnlock=Ve.create();acquire(n){return this.lockCount+=1,this.lockCount===1&&this.restore===null&&this.timeoutLock.start(0,()=>this.lock(n)),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(n){if(this.lockCount===0||this.restore!==null)return;const o=ie(n).documentElement,s=ge(o).getComputedStyle(o).overflowY;if(s==="hidden"||s==="clip"){this.restore=ht;return}const i=ot||!on(n);this.restore=i?rn(n):an(n)}}const cn=new ln;function un(e=!0,n=null){oe(()=>{if(e)return cn.acquire(n)},[e,n])}let ze=0;function Ee(e,n={}){const{preventScroll:t=!1,cancelPrevious:o=!0,sync:s=!1}=n;o&&cancelAnimationFrame(ze);const i=()=>e?.focus({preventScroll:t});s?i():ze=requestAnimationFrame(i)}const Z={inert:new WeakMap,"aria-hidden":new WeakMap,none:new WeakMap};function _e(e){return e==="inert"?Z.inert:e==="aria-hidden"?Z["aria-hidden"]:Z.none}let de=new WeakSet,fe={},xe=0;const lt=e=>e&&(e.host||lt(e.parentNode)),dn=(e,n)=>n.map(t=>{if(e.contains(t))return t;const o=lt(t);return e.contains(o)?o:null}).filter(t=>t!=null);function fn(e,n,t,o){const s="data-base-ui-inert",i=o?"inert":t?"aria-hidden":null,l=dn(n,e),u=new Set,r=new Set(l),C=[];fe[s]||(fe[s]=new WeakMap);const R=fe[s];l.forEach(x),f(n),u.clear();function x(c){!c||u.has(c)||(u.add(c),c.parentNode&&x(c.parentNode))}function f(c){!c||r.has(c)||[].forEach.call(c.children,d=>{if(tt(d)!=="script")if(u.has(d))f(d);else{const T=i?d.getAttribute(i):null,v=T!==null&&T!=="false",S=_e(i),b=(S.get(d)||0)+1,m=(R.get(d)||0)+1;S.set(d,b),R.set(d,m),C.push(d),b===1&&v&&de.add(d),m===1&&d.setAttribute(s,""),!v&&i&&d.setAttribute(i,i==="inert"?"":"true")}})}return xe+=1,()=>{C.forEach(c=>{const d=_e(i),v=(d.get(c)||0)-1,S=(R.get(c)||0)-1;d.set(c,v),R.set(c,S),v||(!de.has(c)&&i&&c.removeAttribute(i),de.delete(c)),S||c.removeAttribute(s)}),xe-=1,xe||(Z.inert=new WeakMap,Z["aria-hidden"]=new WeakMap,Z.none=new WeakMap,de=new WeakSet,fe={})}}function pn(e,n=!1,t=!1){const o=U(e[0]).body;return fn(e.concat(Array.from(o.querySelectorAll("[aria-live]"))),o,n,t)}function gn(e,n){const t=ge(e.target);return e instanceof t.KeyboardEvent?"keyboard":e instanceof t.FocusEvent?n||"keyboard":"pointerType"in e?e.pointerType||"keyboard":"touches"in e?"touch":e instanceof t.MouseEvent?n||(e.detail===0?"keyboard":"mouse"):""}const Je=20;let K=[];function Te(){K=K.filter(e=>e.isConnected)}function mn(e){Te(),e&&tt(e)!=="body"&&(K.push(e),K.length>Je&&(K=K.slice(-Je)))}function Ce(){return Te(),K[K.length-1]}function bn(e){if(!e)return null;const n=ke();return rt(e,n)?e:st(e,n)[0]||e}function hn(e){return!e||!e.isConnected?!1:typeof e.checkVisibility=="function"?e.checkVisibility():wt(e).display!=="none"}function Qe(e,n){if(!n.current.includes("floating")&&!e.getAttribute("role")?.includes("dialog"))return;const t=ke(),s=Gt(e,t).filter(l=>{const u=l.getAttribute("data-tabindex")||"";return rt(l,t)||l.hasAttribute("data-tabindex")&&!u.startsWith("-")}),i=e.getAttribute("tabindex");n.current.includes("floating")||s.length===0?i!=="0"&&e.setAttribute("tabindex","0"):(i!=="-1"||e.hasAttribute("data-tabindex")&&e.getAttribute("data-tabindex")!=="-1")&&(e.setAttribute("tabindex","-1"),e.setAttribute("data-tabindex","-1"))}function yn(e){const{context:n,children:t,disabled:o=!1,order:s=["content"],initialFocus:i=!0,returnFocus:l=!0,restoreFocus:u=!1,modal:r=!0,closeOnFocusOut:C=!0,openInteractionType:R="",getInsideElements:x=()=>[],nextFocusableElement:f,previousFocusableElement:c,beforeContentFocusGuardRef:d,externalTree:T}=e,v="rootStore"in n?n.rootStore:n,S=v.useState("open"),b=v.useState("domReferenceElement"),m=v.useState("floatingElement"),{events:N,dataRef:P}=v.context,A=Q(()=>P.current.floatingContext?.nodeId),Y=Q(x),V=i===!1,D=je(b)&&V,O=ce(s),B=ce(i),q=ce(l),Ie=ce(R),W=At(T),w=Nt(),dt=a.useRef(null),ft=a.useRef(null),G=a.useRef(!1),ae=a.useRef(!1),me=a.useRef(!1),Fe=a.useRef(-1),Oe=a.useRef(""),be=a.useRef(""),he=a.useRef(null),ye=a.useRef(null),pt=Be(he,d,w?.beforeInsideRef),gt=Be(ye,w?.afterInsideRef),Pe=We(),Me=We(),De=Bt(),ve=w!=null,h=Re(m),z=Q((g=h)=>g?st(g,ke()):[]),ee=Q(g=>{const E=z(g);return O.current.map(()=>E).filter(Boolean).flat()});a.useEffect(()=>{if(o||!r)return;function g(I){I.key==="Tab"&&L(h,ne(U(h)))&&z().length===0&&!D&&Dt(I)}const E=U(h);return E.addEventListener("keydown",g),()=>{E.removeEventListener("keydown",g)}},[o,b,h,r,O,D,z,ee]),a.useEffect(()=>{if(o||!m)return;function g(E){const I=se(E),F=z().indexOf(I);F!==-1&&(Fe.current=F)}return m.addEventListener("focusin",g),()=>{m.removeEventListener("focusin",g)}},[o,m,z]),a.useEffect(()=>{if(o||!S)return;const g=U(h);function E(){me.current=!1}function I(F){const p=se(F),y=L(m,p)||L(b,p)||L(w?.portalNode,p);me.current=!y,be.current=F.pointerType||"keyboard"}function k(){be.current="keyboard"}return g.addEventListener("pointerdown",I,!0),g.addEventListener("pointerup",E,!0),g.addEventListener("pointercancel",E,!0),g.addEventListener("keydown",k,!0),()=>{g.removeEventListener("pointerdown",I,!0),g.removeEventListener("pointerup",E,!0),g.removeEventListener("pointercancel",E,!0),g.removeEventListener("keydown",k,!0)}},[o,m,b,h,S,w]),a.useEffect(()=>{if(o||!C)return;function g(){ae.current=!0,Me.start(0,()=>{ae.current=!1})}function E(p){const y=p.relatedTarget,J=p.currentTarget,j=se(p);queueMicrotask(()=>{const le=A(),Ae=v.context.triggerElements,mt=y?.hasAttribute(Ge("focus-guard"))&&[he.current,ye.current,w?.beforeInsideRef.current,w?.afterInsideRef.current,w?.beforeOutsideRef.current,w?.afterOutsideRef.current,X(c),X(f)].includes(y),bt=!(L(b,y)||L(m,y)||L(y,m)||L(w?.portalNode,y)||y!=null&&Ae.hasElement(y)||Ae.hasMatchingElement($=>L($,y))||mt||W&&(Ye(W.nodesRef.current,le).find($=>L($.context?.elements.floating,y)||L($.context?.elements.domReference,y))||$e(W.nodesRef.current,le).find($=>[$.context?.elements.floating,Re($.context?.elements.floating)].includes(y)||$.context?.elements.domReference===y)));if(J===b&&h&&Qe(h,O),u&&J!==b&&!hn(j)&&ne(U(h))===U(h).body){if(te(h)&&(h.focus(),u==="popup")){De.request(()=>{h.focus()});return}const $=Fe.current,Se=z(),Ne=Se[$]||Se[Se.length-1]||h;te(Ne)&&Ne.focus()}if(P.current.insideReactTree){P.current.insideReactTree=!1;return}(D||!r)&&y&&bt&&!ae.current&&(D||y!==Ce())&&(G.current=!0,v.setOpen(!1,we(Rt,p)))})}function I(){me.current||(P.current.insideReactTree=!0,Pe.start(0,()=>{P.current.insideReactTree=!1}))}const k=te(b)?b:null,F=[];if(!(!m&&!k))return k&&(k.addEventListener("focusout",E),k.addEventListener("pointerdown",g),F.push(()=>{k.removeEventListener("focusout",E),k.removeEventListener("pointerdown",g)})),m&&(m.addEventListener("focusout",E),w&&(m.addEventListener("focusout",I,!0),F.push(()=>{m.removeEventListener("focusout",I,!0)})),F.push(()=>{m.removeEventListener("focusout",E)})),()=>{F.forEach(p=>{p()})}},[o,b,m,h,r,W,w,v,C,u,z,D,A,O,P,Pe,Me,De,f,c]),a.useEffect(()=>{if(o||!m||!S)return;const g=Array.from(w?.portalNode?.querySelectorAll(`[${Ge("portal")}]`)||[]),I=(W?$e(W.nodesRef.current,A()):[]).find(p=>je(p.context?.elements.domReference||null))?.context?.elements.domReference,k=[m,I,...g,...Y(),dt.current,ft.current,he.current,ye.current,w?.beforeOutsideRef.current,w?.afterOutsideRef.current,X(c),X(f),D?b:null].filter(p=>p!=null),F=pn(k,r||D);return()=>{F()}},[S,o,b,m,r,O,w,D,W,A,Y,f,c]),oe(()=>{if(!S||o||!te(h))return;const g=U(h),E=ne(g);queueMicrotask(()=>{const I=ee(h),k=B.current,F=typeof k=="function"?k(Ie.current||""):k;if(F===void 0||F===!1)return;let p;F===!0||F===null?p=I[0]||h:p=X(F),p=p||I[0]||h,!L(h,E)&&Ee(p,{preventScroll:p===h})})},[o,S,h,V,ee,B,Ie]),oe(()=>{if(o||!h)return;const g=U(h),E=ne(g);mn(E);function I(p){if(p.open||(Oe.current=gn(p.nativeEvent,be.current)),p.reason===xt&&p.nativeEvent.type==="mouseleave"&&(G.current=!0),p.reason===Ct)if(p.nested)G.current=!1;else if(Pt(p.nativeEvent)||Mt(p.nativeEvent))G.current=!1;else{let y=!1;document.createElement("div").focus({get preventScroll(){return y=!0,!1}}),y?G.current=!1:G.current=!0}}N.on("openchange",I);const k=g.createElement("span");k.setAttribute("tabindex","-1"),k.setAttribute("aria-hidden","true"),Object.assign(k.style,tn),ve&&b&&b.insertAdjacentElement("afterend",k);function F(){const p=q.current;let y=typeof p=="function"?p(Oe.current):p;if(y===void 0||y===!1)return null;if(y===null&&(y=!0),typeof y=="boolean"){const j=b||Ce();return j&&j.isConnected?j:k}const J=b||Ce()||k;return X(y)||J}return()=>{N.off("openchange",I);const p=ne(g),y=L(m,p)||W&&Ye(W.nodesRef.current,A(),!1).some(j=>L(j.context?.elements.floating,p)),J=F();queueMicrotask(()=>{const j=bn(J),le=typeof q.current!="boolean";q.current&&!G.current&&te(j)&&(!(!le&&j!==p&&p!==g.body)||y)&&j.focus({preventScroll:!0}),k.remove()})}},[o,m,h,q,P,N,W,ve,b,A]),a.useEffect(()=>{queueMicrotask(()=>{G.current=!1})},[o]),a.useEffect(()=>{if(o||!S)return;function g(I){se(I)?.closest(`[${Wt}]`)&&(ae.current=!0)}const E=U(h);return E.addEventListener("pointerdown",g,!0),()=>{E.removeEventListener("pointerdown",g,!0)}},[o,S,h]),oe(()=>{if(!o&&w)return w.setFocusManagerState({modal:r,closeOnFocusOut:C,open:S,onOpenChange:v.setOpen,domReference:b}),()=>{w.setFocusManagerState(null)}},[o,w,r,S,v,C,b]),oe(()=>{if(!(o||!h))return Qe(h,O),()=>{queueMicrotask(Te)}},[o,h,O]);const Le=!o&&(r?!D:!0)&&(ve||r);return M.jsxs(a.Fragment,{children:[Le&&M.jsx(qe,{"data-type":"inside",ref:pt,onFocus:g=>{if(r){const E=ee();Ee(E[E.length-1])}else w?.portalNode&&(G.current=!1,He(g,w.portalNode)?jt(b)?.focus():X(c??w.beforeOutsideRef)?.focus())}}),t,Le&&M.jsx(qe,{"data-type":"inside",ref:gt,onFocus:g=>{r?Ee(ee()[0]):w?.portalNode&&(C&&(G.current=!0),He(g,w.portalNode)?Vt(b)?.focus():X(f??w.afterOutsideRef)?.focus())}})]})}const vn=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);function Sn(e,n={}){const t="rootStore"in e?e.rootStore:e,o=t.useState("open"),s=t.useState("floatingId"),i=t.useState("domReferenceElement"),l=t.useState("floatingElement"),{enabled:u=!0,role:r="dialog"}=n,C=kt(),R=i?.id||C,x=a.useMemo(()=>Re(l)?.id||s,[l,s]),f=vn.get(r)??r,d=$t()!=null,T=a.useMemo(()=>f==="tooltip"||r==="label"?yt:{"aria-haspopup":f==="alertdialog"?"dialog":f,"aria-expanded":"false",...f==="listbox"&&{role:"combobox"},...f==="menu"&&d&&{role:"menuitem"},...r==="select"&&{"aria-autocomplete":"none"},...r==="combobox"&&{"aria-autocomplete":"list"}},[f,d,r]),v=a.useMemo(()=>f==="tooltip"||r==="label"?{[`aria-${r==="label"?"labelledby":"describedby"}`]:o?x:void 0}:{...T,"aria-expanded":o?"true":"false","aria-controls":o?x:void 0,...f==="menu"&&{id:R}},[f,x,o,R,r,T]),S=a.useMemo(()=>{const m={id:x,...f&&{role:f}};return f==="tooltip"||r==="label"?m:{...m,...f==="menu"&&{"aria-labelledby":R}}},[f,x,R,r]),b=a.useCallback(({active:m,selected:N})=>{const P={role:"option",...m&&{id:`${x}-fui-option`}};switch(r){case"select":case"combobox":return{...P,"aria-selected":N}}return{}},[x,r]);return a.useMemo(()=>u?{reference:v,floating:S,item:b,trigger:T}:{},[u,v,S,T,b])}function En(e){const n=a.useRef(""),t=a.useCallback(s=>{s.defaultPrevented||(n.current=s.pointerType,e(s,s.pointerType))},[e]);return{onClick:a.useCallback(s=>{if(s.detail===0){e(s,"keyboard");return}"pointerType"in s&&e(s,s.pointerType),e(s,n.current),n.current=""},[e]),onPointerDown:t}}function xn(e){const[n,t]=a.useState(null),o=Q((u,r)=>{e||t(r||(ot?"touch":""))}),s=a.useCallback(()=>{t(null)},[]),{onClick:i,onPointerDown:l}=En(o);return a.useMemo(()=>({openMethod:n,reset:s,triggerProps:{onClick:i,onPointerDown:l}}),[n,s,i,l])}function Cn(e){const{store:n,parentContext:t,actionsRef:o}=e,s=n.useState("open"),i=n.useState("disablePointerDismissal"),l=n.useState("modal"),u=n.useState("popupElement"),{openMethod:r,triggerProps:C,reset:R}=xn(s);Yt(n);const{forceUnmount:x}=qt(s,n,()=>{R()}),f=Q(O=>{const B=we(O);return B.preventUnmountOnClose=()=>{n.set("preventUnmountingOnClose",!0)},B}),c=a.useCallback(()=>{n.setOpen(!1,f(Tt))},[n,f]);a.useImperativeHandle(o,()=>({unmount:x,close:c}),[x,c]);const d=Ht({popupStore:n,onOpenChange:n.setOpen,treatPopupAsFloatingElement:!0,noEmit:!0}),[T,v]=a.useState(0),S=T===0,b=Sn(d),m=Ut(d,{outsidePressEvent(){return n.context.internalBackdropRef.current||n.context.backdropRef.current?"intentional":{mouse:l==="trap-focus"?"sloppy":"intentional",touch:"sloppy"}},outsidePress(O){if("button"in O&&O.button!==0||"touches"in O&&O.touches.length!==1)return!1;const B=se(O);if(S&&!i){const q=B;return l&&(n.context.internalBackdropRef.current||n.context.backdropRef.current)?n.context.internalBackdropRef.current===q||n.context.backdropRef.current===q||L(q,u)&&!q?.hasAttribute("data-base-ui-portal"):!0}return!1},escapeKey:S});un(s&&l===!0,u);const{getReferenceProps:N,getFloatingProps:P,getTriggerProps:A}=Xt([b,m]);n.useContextCallback("onNestedDialogOpen",O=>{v(O+1)}),n.useContextCallback("onNestedDialogClose",()=>{v(0)}),a.useEffect(()=>(t?.onNestedDialogOpen&&s&&t.onNestedDialogOpen(T),t?.onNestedDialogClose&&!s&&t.onNestedDialogClose(),()=>{t?.onNestedDialogClose&&s&&t.onNestedDialogClose()}),[s,t,T]);const Y=a.useMemo(()=>N(C),[N,C]),V=a.useMemo(()=>A(C),[A,C]),D=a.useMemo(()=>P(),[P]);n.useSyncedValues({openMethod:r,activeTriggerProps:Y,inactiveTriggerProps:V,popupProps:D,floatingRootContext:d,nestedOpenDialogCount:T})}const ct=a.createContext(void 0);function _(e){const n=a.useContext(ct);if(e===!1&&n===void 0)throw new Error(Ze(27));return n}const Rn={..._t,modal:H(e=>e.modal),nested:H(e=>e.nested),nestedOpenDialogCount:H(e=>e.nestedOpenDialogCount),disablePointerDismissal:H(e=>e.disablePointerDismissal),openMethod:H(e=>e.openMethod),descriptionElementId:H(e=>e.descriptionElementId),titleElementId:H(e=>e.titleElementId),viewportElement:H(e=>e.viewportElement),role:H(e=>e.role)};class wn extends Kt{constructor(n){super(kn(n),{popupRef:a.createRef(),backdropRef:a.createRef(),internalBackdropRef:a.createRef(),triggerElements:new zt,onOpenChange:void 0,onOpenChangeComplete:void 0},Rn)}setOpen=(n,t)=>{if(t.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},!n&&t.trigger==null&&this.state.activeTriggerId!=null&&(t.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(n,t),t.isCanceled)return;const o={open:n,nativeEvent:t.event,reason:t.reason,nested:this.state.nested};this.state.floatingRootContext.context.events?.emit("openchange",o);const s={open:n},i=t.trigger?.id??null;(i||n)&&(s.activeTriggerId=i,s.activeTriggerElement=t.trigger??null),this.update(s)}}function kn(e={}){return{...Jt(),modal:!0,disablePointerDismissal:!1,popupElement:null,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,role:"dialog",...e}}const Tn={...it,...at},In=a.forwardRef(function(n,t){const{render:o,className:s,forceRender:i=!1,...l}=n,{store:u}=_(),r=u.useState("open"),C=u.useState("nested"),R=u.useState("mounted"),x=u.useState("transitionStatus"),f=a.useMemo(()=>({open:r,transitionStatus:x}),[r,x]);return re("div",n,{state:f,ref:[u.context.backdropRef,t],stateAttributesMapping:Tn,props:[{role:"presentation",hidden:!R,style:{userSelect:"none",WebkitUserSelect:"none"}},l],enabled:i||!C})}),Fn=a.forwardRef(function(n,t){const{render:o,className:s,disabled:i=!1,nativeButton:l=!0,...u}=n,{store:r}=_(),C=r.useState("open");function R(d){C&&r.setOpen(!1,we(Ft,d.nativeEvent))}const{getButtonProps:x,buttonRef:f}=It({disabled:i,native:l}),c=a.useMemo(()=>({disabled:i}),[i]);return re("button",n,{state:c,ref:[t,f],props:[{onClick:R},u,x]})}),On=a.forwardRef(function(n,t){const{render:o,className:s,id:i,...l}=n,{store:u}=_(),r=nt(i);return u.useSyncedValueWithCleanup("descriptionElementId",r),re("p",n,{ref:t,props:[{id:r},l]})});let Pn=(function(e){return e.nestedDialogs="--nested-dialogs",e})({}),Mn=(function(e){return e[e.open=ue.open]="open",e[e.closed=ue.closed]="closed",e[e.startingStyle=ue.startingStyle]="startingStyle",e[e.endingStyle=ue.endingStyle]="endingStyle",e.nested="data-nested",e.nestedDialogOpen="data-nested-dialog-open",e})({});const ut=a.createContext(void 0);function Dn(){const e=a.useContext(ut);if(e===void 0)throw new Error(Ze(26));return e}const Ln={...it,...at,nestedDialogOpen(e){return e?{[Mn.nestedDialogOpen]:""}:null}},An=a.forwardRef(function(n,t){const{className:o,finalFocus:s,initialFocus:i,render:l,...u}=n,{store:r}=_(),C=r.useState("descriptionElementId"),R=r.useState("disablePointerDismissal"),x=r.useState("floatingRootContext"),f=r.useState("popupProps"),c=r.useState("modal"),d=r.useState("mounted"),T=r.useState("nested"),v=r.useState("nestedOpenDialogCount"),S=r.useState("open"),b=r.useState("openMethod"),m=r.useState("titleElementId"),N=r.useState("transitionStatus"),P=r.useState("role");Dn(),Qt({open:S,ref:r.context.popupRef,onComplete(){S&&r.context.onOpenChangeComplete?.(!0)}});function A(B){return B==="touch"?r.context.popupRef.current:!0}const Y=i===void 0?A:i,V=v>0,D=a.useMemo(()=>({open:S,nested:T,transitionStatus:N,nestedDialogOpen:V}),[S,T,N,V]),O=re("div",n,{state:D,props:[f,{"aria-labelledby":m??void 0,"aria-describedby":C??void 0,role:P,tabIndex:-1,hidden:!d,onKeyDown(B){en.has(B.key)&&B.stopPropagation()},style:{[Pn.nestedDialogs]:v}},u],ref:[t,r.context.popupRef,r.useStateSetter("popupElement")],stateAttributesMapping:Ln});return M.jsx(yn,{context:x,openInteractionType:b,disabled:!d,closeOnFocusOut:!R,initialFocus:Y,returnFocus:s,modal:c!==!1,restoreFocus:"popup",children:O})});function Nn(e){return vt(19)?e:e?"true":void 0}const Bn=a.forwardRef(function(n,t){const{cutout:o,...s}=n;let i;if(o){const l=o?.getBoundingClientRect();i=`polygon(
2
+ 0% 0%,
3
+ 100% 0%,
4
+ 100% 100%,
5
+ 0% 100%,
6
+ 0% 0%,
7
+ ${l.left}px ${l.top}px,
8
+ ${l.left}px ${l.bottom}px,
9
+ ${l.right}px ${l.bottom}px,
10
+ ${l.right}px ${l.top}px,
11
+ ${l.left}px ${l.top}px
12
+ )`}return M.jsx("div",{ref:t,role:"presentation","data-base-ui-inert":"",...s,style:{position:"fixed",inset:0,userSelect:"none",WebkitUserSelect:"none",clipPath:i}})}),jn=a.forwardRef(function(n,t){const{keepMounted:o=!1,...s}=n,{store:i}=_(),l=i.useState("mounted"),u=i.useState("modal"),r=i.useState("open");return l||o?M.jsx(ut.Provider,{value:o,children:M.jsxs(Zt,{ref:t,...s,children:[l&&u===!0&&M.jsx(Bn,{ref:i.context.internalBackdropRef,inert:Nn(!r)}),n.children]})}):null}),Vn=a.forwardRef(function(n,t){const{render:o,className:s,id:i,...l}=n,{store:u}=_(),r=nt(i);return u.useSyncedValueWithCleanup("titleElementId",r),re("h2",n,{ref:t,props:[{id:r},l]})});function Wn(e){const{children:n,open:t,defaultOpen:o=!1,onOpenChange:s,onOpenChangeComplete:i,disablePointerDismissal:l=!1,modal:u=!0,actionsRef:r,handle:C,triggerId:R,defaultTriggerId:x=null}=e,f=_(!0),c=!!f,d=St(()=>C?.store??new wn({open:t??o,activeTriggerId:R!==void 0?R:x,modal:u,disablePointerDismissal:l,nested:c})).current;d.useControlledProp("open",t,o),d.useControlledProp("activeTriggerId",R,x),d.useSyncedValues({disablePointerDismissal:l,nested:c,modal:u}),d.useContextCallback("onOpenChange",s),d.useContextCallback("onOpenChangeComplete",i);const T=d.useState("payload");Cn({store:d,actionsRef:r,parentContext:f?.store.context});const v=a.useMemo(()=>({store:d}),[d]);return M.jsx(ct.Provider,{value:v,children:typeof n=="function"?n({payload:T}):n})}function zn({children:e,...n}){return M.jsx(Wn,{...n,children:e})}function _n({className:e,children:n}){return M.jsxs(jn,{children:[M.jsx(In,{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"}),M.jsx(An,{className:pe("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:n})]})}function Jn({className:e,...n}){return M.jsx(Vn,{className:pe("text-lg font-medium text-primary-900",e),...n})}function Qn({className:e,...n}){return M.jsx(On,{className:pe("text-sm text-primary-600",e),...n})}function Zn({className:e,render:n,...t}){return M.jsx(Fn,{render:n||M.jsx(Et,{variant:"outline",className:pe(e)}),...t})}const eo=nn((e,n)=>({currentPath:"/",viewMode:"list",sortBy:"name",sortAsc:!0,selectedFiles:new Set,editingFile:null,navigateTo:t=>{e({currentPath:t,selectedFiles:new Set})},setViewMode:t=>{e({viewMode:t})},setSortBy:t=>{const o=n().sortBy;e({sortBy:t,sortAsc:o===t?!n().sortAsc:!0})},toggleSort:()=>{e(t=>({sortAsc:!t.sortAsc}))},selectFile:t=>{e(o=>{const s=new Set(o.selectedFiles);return s.add(t),{selectedFiles:s}})},deselectFile:t=>{e(o=>{const s=new Set(o.selectedFiles);return s.delete(t),{selectedFiles:s}})},clearSelection:()=>{e({selectedFiles:new Set})},openInEditor:t=>{const o=t.includes("/")&&t.slice(0,t.lastIndexOf("/"))||"/";e({currentPath:o,editingFile:t,selectedFiles:new Set})},closeEditor:()=>{e({editingFile:null})},toggleFileSelection:t=>{const{selectedFiles:o,selectFile:s,deselectFile:i}=n();o.has(t)?i(t):s(t)}}));export{zn as D,yn as F,Bn as I,_n as a,Jn as b,Qn as c,Zn as d,Ee as e,xn as f,un as g,Sn as h,Nn as i,_ as j,wn as k,Cn as l,ct as m,jn as n,In as o,An as p,Vn as q,On as r,Fn as s,eo as u};