llm-simple-router 0.4.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/README.md +67 -18
  2. package/dist/admin/monitor.js +8 -0
  3. package/dist/admin/routes.js +2 -0
  4. package/dist/admin/settings-import-export.d.ts +11 -0
  5. package/dist/admin/settings-import-export.js +144 -0
  6. package/dist/admin/settings.js +40 -2
  7. package/dist/db/db-size-monitor.d.ts +22 -0
  8. package/dist/db/db-size-monitor.js +81 -0
  9. package/dist/db/index.d.ts +4 -1
  10. package/dist/db/index.js +4 -1
  11. package/dist/db/log-cleaner.js +16 -7
  12. package/dist/db/logs.d.ts +9 -1
  13. package/dist/db/logs.js +55 -5
  14. package/dist/db/migrations/022_add_session_id_and_incremental_vacuum.sql +5 -0
  15. package/dist/db/settings.d.ts +4 -0
  16. package/dist/db/settings.js +18 -1
  17. package/dist/index.js +5 -0
  18. package/dist/metrics/metrics-extractor.js +4 -0
  19. package/dist/monitor/request-tracker.d.ts +2 -0
  20. package/dist/monitor/request-tracker.js +20 -1
  21. package/dist/monitor/types.d.ts +1 -0
  22. package/dist/proxy/log-helpers.d.ts +2 -0
  23. package/dist/proxy/log-helpers.js +4 -2
  24. package/dist/proxy/model-state.d.ts +2 -0
  25. package/dist/proxy/model-state.js +4 -0
  26. package/dist/proxy/orchestrator.d.ts +2 -0
  27. package/dist/proxy/orchestrator.js +1 -0
  28. package/dist/proxy/proxy-handler.js +66 -34
  29. package/dist/proxy/proxy-logging.d.ts +2 -1
  30. package/dist/proxy/proxy-logging.js +5 -1
  31. package/dist/proxy/semaphore.d.ts +2 -0
  32. package/dist/proxy/semaphore.js +11 -0
  33. package/frontend-dist/assets/{CardContent-3ytnac7B.js → CardContent-CIO85eT6.js} +1 -1
  34. package/frontend-dist/assets/{CardTitle-BHZE8Rty.js → CardTitle-DiqIReMT.js} +1 -1
  35. package/frontend-dist/assets/Checkbox-C2u5pIp4.js +1 -0
  36. package/frontend-dist/assets/CollapsibleTrigger-RKFL41om.js +1 -0
  37. package/frontend-dist/assets/Collection-iiNnuTQj.js +1 -0
  38. package/frontend-dist/assets/{Dashboard-BJslVTg8.js → Dashboard-DOEqP6gF.js} +1 -1
  39. package/frontend-dist/assets/DialogTitle-CEqndrf6.js +1 -0
  40. package/frontend-dist/assets/{Input-JApdUstN.js → Input-l5ZurXX5.js} +1 -1
  41. package/frontend-dist/assets/{Label-IbQFgxLe.js → Label-PgGtS8v2.js} +1 -1
  42. package/frontend-dist/assets/{Login-BjuVvrPV.js → Login-DaN6ZcCx.js} +1 -1
  43. package/frontend-dist/assets/Logs-CleRQ7Xk.js +1 -0
  44. package/frontend-dist/assets/{ModelMappings-DWVmxMy6.js → ModelMappings-CacA_ua_.js} +1 -1
  45. package/frontend-dist/assets/{Monitor-BTEW0evp.js → Monitor-LSMFOBN2.js} +1 -1
  46. package/frontend-dist/assets/PopperContent-zLFHqQP0.js +1 -0
  47. package/frontend-dist/assets/{Providers-BqLSKXuv.js → Providers-NT5MUDU0.js} +1 -1
  48. package/frontend-dist/assets/{ProxyEnhancement-TAHOKnxW.js → ProxyEnhancement-DhOy8nNy.js} +1 -1
  49. package/frontend-dist/assets/{RetryRules-Cn6KHzgB.js → RetryRules-7arWa3jB.js} +1 -1
  50. package/frontend-dist/assets/{RouterKeys-CBgWAJ6-.js → RouterKeys-CdaZunRg.js} +1 -1
  51. package/frontend-dist/assets/SelectValue-CSg-MKW_.js +1 -0
  52. package/frontend-dist/assets/Settings-1ntV9XE3.js +6 -0
  53. package/frontend-dist/assets/{Setup-QKmeMDtB.js → Setup-CXLTDhYJ.js} +1 -1
  54. package/frontend-dist/assets/Switch-DivrIFE3.js +1 -0
  55. package/frontend-dist/assets/TableHeader-Bn0bodWx.js +1 -0
  56. package/frontend-dist/assets/TabsContent-MWvOH_LJ.js +1 -0
  57. package/frontend-dist/assets/TabsTrigger-WKkUfO2M.js +1 -0
  58. package/frontend-dist/assets/Teleport-B0PNXZbP.js +3 -0
  59. package/frontend-dist/assets/UnifiedRequestDialog-B2nt8nLl.css +1 -0
  60. package/frontend-dist/assets/UnifiedRequestDialog-Ba2e7YuJ.js +3 -0
  61. package/frontend-dist/assets/{VisuallyHidden-DPKPka_x.js → VisuallyHidden-BwwTtzb9.js} +1 -1
  62. package/frontend-dist/assets/{VisuallyHiddenInput-Bnglr6yR.js → VisuallyHiddenInput-EGZSP7s8.js} +1 -1
  63. package/frontend-dist/assets/alert-dialog-CS1yFhdV.js +1 -0
  64. package/frontend-dist/assets/{badge-BTjuxlp4.js → badge-C-QcC5n2.js} +1 -1
  65. package/frontend-dist/assets/{button-BKJB3nEQ.js → button-Dbz2Be22.js} +2 -2
  66. package/frontend-dist/assets/{createLucideIcon-igIAnu_Y.js → createLucideIcon-Biq59l_W.js} +1 -1
  67. package/frontend-dist/assets/dialog-Cr0YQlLW.js +1 -0
  68. package/frontend-dist/assets/{file-text-Ci7Mgh3F.js → file-text-DoRW0hQW.js} +1 -1
  69. package/frontend-dist/assets/index-0H2uCGbx.js +1 -0
  70. package/frontend-dist/assets/index-D-cdVNCb.css +1 -0
  71. package/frontend-dist/assets/{lib-BGW4QyKP.js → lib-B0lieqgg.js} +1 -1
  72. package/frontend-dist/assets/{ohash.D__AXeF1-CsY_LBk-.js → ohash.D__AXeF1-BGxYMs6k.js} +1 -1
  73. package/frontend-dist/assets/{useClipboard-wnGQAe3I.js → useClipboard-vaHkvJHw.js} +1 -1
  74. package/frontend-dist/assets/{useForwardExpose-bqtcPo63.js → useForwardExpose-C2_ks3sW.js} +1 -1
  75. package/frontend-dist/assets/useLogRetention-Cs_fiKql.js +1 -0
  76. package/frontend-dist/assets/useNonce-C9do0jOI.js +1 -0
  77. package/frontend-dist/assets/x-BlTnH_0_.js +1 -0
  78. package/frontend-dist/index.html +8 -8
  79. package/package.json +1 -1
  80. package/frontend-dist/assets/Checkbox-CMYgDuxw.js +0 -1
  81. package/frontend-dist/assets/CollapsibleTrigger-DooxvEnx.js +0 -1
  82. package/frontend-dist/assets/Collection-GDvpW_uY.js +0 -3
  83. package/frontend-dist/assets/DialogTitle-lj6NAA5R.js +0 -1
  84. package/frontend-dist/assets/Logs-J08HyZWA.js +0 -1
  85. package/frontend-dist/assets/PopperContent-ZhhkKJo0.js +0 -1
  86. package/frontend-dist/assets/SelectValue-DS4Z8y0u.js +0 -1
  87. package/frontend-dist/assets/Switch-BYebebrY.js +0 -1
  88. package/frontend-dist/assets/TableHeader-B2A48qgy.js +0 -1
  89. package/frontend-dist/assets/TabsContent-BcNBY5CB.js +0 -1
  90. package/frontend-dist/assets/TabsTrigger-8W_mNsGI.js +0 -1
  91. package/frontend-dist/assets/UnifiedRequestDialog-BmEamR1L.js +0 -3
  92. package/frontend-dist/assets/UnifiedRequestDialog-Dk3IIDDx.css +0 -1
  93. package/frontend-dist/assets/alert-dialog-BzyDZnoE.js +0 -1
  94. package/frontend-dist/assets/dialog-C0B-Xn-S.js +0 -1
  95. package/frontend-dist/assets/index-BrDOp_gc.js +0 -1
  96. package/frontend-dist/assets/index-DMdVJThL.css +0 -1
  97. package/frontend-dist/assets/useNonce-DN0Hrw3l.js +0 -1
  98. package/frontend-dist/assets/x-Cy_v5hrA.js +0 -1
  99. /package/frontend-dist/assets/{format-CPdJtjZ5.js → format-DOVIVsQC.js} +0 -0
@@ -1 +1 @@
1
- import{Y as e}from"./button-BKJB3nEQ.js";var t=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},n=e=>e===``,r=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),i=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),a=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),o=e=>{let t=a(e);return t.charAt(0).toUpperCase()+t.slice(1)},s={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},c=({name:a,iconNode:c,absoluteStrokeWidth:l,"absolute-stroke-width":u,strokeWidth:d,"stroke-width":f,size:p=s.width,color:m=s.stroke,...h},{slots:g})=>e(`svg`,{...s,...h,width:p,height:p,stroke:m,"stroke-width":n(l)||n(u)||l===!0||u===!0?Number(d||f||s[`stroke-width`])*24/Number(p):d||f||s[`stroke-width`],class:r(`lucide`,h.class,...a?[`lucide-${i(o(a))}-icon`,`lucide-${i(a)}`]:[`lucide-icon`]),...!g.default&&!t(h)&&{"aria-hidden":`true`}},[...c.map(t=>e(...t)),...g.default?[g.default()]:[]]),l=(t,n)=>(r,{slots:i,attrs:a})=>e(c,{...a,...r,iconNode:n,name:t},i);export{l as t};
1
+ import{Y as e}from"./button-Dbz2Be22.js";var t=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},n=e=>e===``,r=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),i=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),a=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),o=e=>{let t=a(e);return t.charAt(0).toUpperCase()+t.slice(1)},s={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},c=({name:a,iconNode:c,absoluteStrokeWidth:l,"absolute-stroke-width":u,strokeWidth:d,"stroke-width":f,size:p=s.width,color:m=s.stroke,...h},{slots:g})=>e(`svg`,{...s,...h,width:p,height:p,stroke:m,"stroke-width":n(l)||n(u)||l===!0||u===!0?Number(d||f||s[`stroke-width`])*24/Number(p):d||f||s[`stroke-width`],class:r(`lucide`,h.class,...a?[`lucide-${i(o(a))}-icon`,`lucide-${i(a)}`]:[`lucide-icon`]),...!g.default&&!t(h)&&{"aria-hidden":`true`}},[...c.map(t=>e(...t)),...g.default?[g.default()]:[]]),l=(t,n)=>(r,{slots:i,attrs:a})=>e(c,{...a,...r,iconNode:n,name:t},i);export{l as t};
@@ -0,0 +1 @@
1
+ import{$ as e,B as t,G as n,H as r,It as i,J as a,K as o,Lt as s,Pt as c,U as l,V as u,W as d,at as f,b as p,ct as m,n as h,r as g,vt as _}from"./button-Dbz2Be22.js";import{t as v}from"./x-BlTnH_0_.js";import{d as y,t as b,u as x}from"./Teleport-B0PNXZbP.js";import{a as S,i as C,n as w,o as T,r as E,t as D}from"./DialogTitle-CEqndrf6.js";var O=o({__name:`DialogPortal`,props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=e;return(e,n)=>(f(),u(c(b),s(a(t)),{default:_(()=>[m(e.$slots,`default`)]),_:3},16))}}),k=o({__name:`Dialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},modal:{type:Boolean}},emits:[`update:open`],setup(t,{emit:n}){let r=x(t,n);return(t,n)=>(f(),u(c(T),e({"data-slot":`dialog`},c(r)),{default:_(e=>[m(t.$slots,`default`,s(a(e)))]),_:3},16))}}),A=o({__name:`DialogOverlay`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t,r=p(n,`class`);return(t,i)=>(f(),u(c(w),e({"data-slot":`dialog-overlay`},c(r),{class:c(g)(`data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-overlay-light duration-fast supports-backdrop-filter:backdrop-blur-xs fixed inset-0 isolate z-modal`,n.class)}),{default:_(()=>[m(t.$slots,`default`)]),_:3},16,[`class`]))}}),j=o({inheritAttrs:!1,__name:`DialogContent`,props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},showCloseButton:{type:Boolean,default:!0}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(i,{emit:a}){let o=i,s=a,l=x(p(o,`class`),s);return(a,s)=>(f(),u(c(O),null,{default:_(()=>[n(A),n(c(C),e({"data-slot":`dialog-content`},{...a.$attrs,...c(l)},{class:c(g)(`bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 ring-foreground/10 grid max-w-[calc(100%-2rem)] max-h-[90vh] overflow-y-auto gap-4 rounded-xl p-4 text-sm ring-1 duration-fast sm:max-w-sm fixed top-1/2 left-1/2 z-modal w-full -translate-x-1/2 -translate-y-1/2 outline-none`,o.class)}),{default:_(()=>[m(a.$slots,`default`),i.showCloseButton?(f(),u(c(S),{key:0,"data-slot":`dialog-close`,"as-child":``},{default:_(()=>[n(c(h),{variant:`ghost`,class:`absolute top-2 right-2`,size:`icon-sm`},{default:_(()=>[n(c(v)),s[0]||=t(`span`,{class:`sr-only`},`Close`,-1)]),_:1})]),_:1})):r(``,!0)]),_:3},16,[`class`])]),_:3}))}}),M=o({__name:`DialogDescription`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t,r=y(p(n,`class`));return(t,i)=>(f(),u(c(E),e({"data-slot":`dialog-description`},c(r),{class:c(g)(`text-muted-foreground *:[a]:hover:text-foreground text-sm *:[a]:underline *:[a]:underline-offset-3`,n.class)}),{default:_(()=>[m(t.$slots,`default`)]),_:3},16,[`class`]))}}),N=o({__name:`DialogFooter`,props:{class:{type:[Boolean,null,String,Object,Array]},showCloseButton:{type:Boolean,default:!1}},setup(e){let t=e;return(a,o)=>(f(),l(`div`,{"data-slot":`dialog-footer`,class:i(c(g)(`bg-muted/50 -mx-4 -mb-4 rounded-b-xl border-t p-4 flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,t.class))},[m(a.$slots,`default`),e.showCloseButton?(f(),u(c(S),{key:0,"as-child":``},{default:_(()=>[n(c(h),{variant:`outline`},{default:_(()=>[...o[0]||=[d(` Close `,-1)]]),_:1})]),_:1})):r(``,!0)],2))}}),P=o({__name:`DialogHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,n)=>(f(),l(`div`,{"data-slot":`dialog-header`,class:i(c(g)(`gap-2 flex flex-col`,t.class))},[m(e.$slots,`default`)],2))}}),F=o({__name:`DialogTitle`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t,r=y(p(n,`class`));return(t,i)=>(f(),u(c(D),e({"data-slot":`dialog-title`},c(r),{class:c(g)(`text-base leading-none font-medium cn-font-heading`,n.class)}),{default:_(()=>[m(t.$slots,`default`)]),_:3},16,[`class`]))}});export{j as a,M as i,P as n,k as o,N as r,F as t};
@@ -1 +1 @@
1
- import{t as e}from"./createLucideIcon-igIAnu_Y.js";var t=e(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]);export{t};
1
+ import{t as e}from"./createLucideIcon-Biq59l_W.js";var t=e(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]);export{t};
@@ -0,0 +1 @@
1
+ import{$ as e,A as t,B as n,Et as r,G as i,It as a,K as o,L as s,N as c,O as l,Pt as u,U as d,V as f,W as p,at as m,ht as h,j as g,k as _,lt as v,n as y,r as b,st as x,ut as S,vt as C,zt as w}from"./button-Dbz2Be22.js";import{t as T}from"./createLucideIcon-Biq59l_W.js";import{t as E}from"./file-text-DoRW0hQW.js";import{t as D}from"./x-BlTnH_0_.js";import{t as O}from"./badge-C-QcC5n2.js";import{t as k}from"./lib-B0lieqgg.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var A=T(`activity`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),j=T(`arrow-left-right`,[[`path`,{d:`M8 3 4 7l4 4`,key:`9rb6wj`}],[`path`,{d:`M4 7h16`,key:`6tx8e3`}],[`path`,{d:`m16 21 4-4-4-4`,key:`siv7j2`}],[`path`,{d:`M20 17H4`,key:`h6l3hr`}]]),M=T(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),N=T(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),P=T(`key-round`,[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]),F=T(`layout-dashboard`,[[`rect`,{width:`7`,height:`9`,x:`3`,y:`3`,rx:`1`,key:`10lvy0`}],[`rect`,{width:`7`,height:`5`,x:`14`,y:`3`,rx:`1`,key:`16une8`}],[`rect`,{width:`7`,height:`9`,x:`14`,y:`12`,rx:`1`,key:`1hutg5`}],[`rect`,{width:`7`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`ldoo1y`}]]),I=T(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),L=T(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),R=T(`octagon-x`,[[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`,key:`2d38gg`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),z=T(`refresh-ccw`,[[`path`,{d:`M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`14sxne`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16`,key:`1hlbsb`}],[`path`,{d:`M16 16h5v5`,key:`ccwih5`}]]),B=T(`server`,[[`rect`,{width:`20`,height:`8`,x:`2`,y:`2`,rx:`2`,ry:`2`,key:`ngkwjq`}],[`rect`,{width:`20`,height:`8`,x:`2`,y:`14`,rx:`2`,ry:`2`,key:`iecqi9`}],[`line`,{x1:`6`,x2:`6.01`,y1:`6`,y2:`6`,key:`16zg32`}],[`line`,{x1:`6`,x2:`6.01`,y1:`18`,y2:`18`,key:`nzw8ys`}]]),V=T(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),H=T(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),U=T(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),W={class:`w-56 bg-sidebar text-sidebar-foreground flex-shrink-0 flex flex-col`},G={class:`p-4 border-b border-sidebar-border`},K={class:`flex items-center gap-2`},q={class:`flex-1 p-2 space-y-1`},J={class:`p-3 border-t border-sidebar-border`},Y=o({__name:`Sidebar`,setup(e){let r=[{path:`/`,label:`仪表盘`,icon:F},{path:`/providers`,label:`供应商`,icon:B},{path:`/mappings`,label:`模型映射`,icon:j},{path:`/router-keys`,label:`API 密钥`,icon:P},{path:`/retry-rules`,label:`重试规则`,icon:z},{path:`/proxy-enhancement`,label:`代理增强(实验性)`,icon:H},{path:`/monitor`,label:`实时监控`,icon:A},{path:`/logs`,label:`请求日志`,icon:E},{path:`/settings`,label:`系统设置`,icon:V}],o=t(),c=g();function h(e){return e===`/`?o.path===`/`:o.path.startsWith(e)}async function _(){try{await l.logout()}finally{c.push(`/login`)}}return(e,t)=>{let o=v(`router-link`);return m(),d(`aside`,W,[n(`div`,G,[n(`div`,K,[t[0]||=n(`div`,{class:`w-8 h-8 bg-sidebar-primary rounded-lg flex items-center justify-center`},[n(`svg`,{class:`w-5 h-5 text-sidebar-primary-foreground`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[n(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z`})])],-1),t[1]||=n(`span`,{class:`font-semibold text-sm`},`LLM Router`,-1),i(u(O),{variant:`secondary`,class:`text-[10px] px-1.5 py-0 h-4 leading-none`},{default:C(()=>[p(`v`+w(u(`0.5.0`)),1)]),_:1})])]),n(`nav`,q,[(m(),d(s,null,x(r,e=>i(o,{key:e.path,to:e.path,class:a([`flex items-center gap-3 px-3 py-2 rounded-lg text-sm transition-colors`,h(e.path)?`bg-sidebar-accent text-sidebar-primary`:`text-sidebar-foreground hover:bg-sidebar-accent`])},{default:C(()=>[(m(),f(S(e.icon),{class:`w-4 h-4`})),p(` `+w(e.label),1)]),_:2},1032,[`to`,`class`])),64))]),n(`div`,J,[i(u(y),{variant:`ghost`,class:`w-full justify-start text-sidebar-foreground hover:text-sidebar-foreground hover:bg-sidebar-accent`,onClick:_},{default:C(()=>[i(u(L),{class:`w-4 h-4`}),t[2]||=p(` 登出 `,-1)]),_:1})])])}}}),X=o({__name:`Sonner`,props:{id:{},invert:{type:Boolean},theme:{},position:{},closeButtonPosition:{},hotkey:{},richColors:{type:Boolean},expand:{type:Boolean},duration:{},gap:{},visibleToasts:{},closeButton:{type:Boolean},toastOptions:{},class:{},style:{},offset:{},mobileOffset:{},dir:{},swipeDirections:{},icons:{},containerAriaLabel:{}},setup(t){let r=t;return(t,a)=>(m(),f(u(k),e({class:u(b)(`toaster group`,r.class),style:{"--normal-bg":`var(--popover)`,"--normal-text":`var(--popover-foreground)`,"--normal-border":`var(--border)`,"--border-radius":`var(--radius)`}},r),{"success-icon":C(()=>[i(u(M),{class:`size-4`})]),"info-icon":C(()=>[i(u(N),{class:`size-4`})]),"warning-icon":C(()=>[i(u(U),{class:`size-4`})]),"error-icon":C(()=>[i(u(R),{class:`size-4`})]),"loading-icon":C(()=>[n(`div`,null,[i(u(I),{class:`size-4 animate-spin`})])]),"close-icon":C(()=>[i(u(D),{class:`size-4`})]),_:1},16,[`class`]))}}),Z={key:0,class:`min-h-screen flex`},Q={class:`flex-1 overflow-auto bg-muted`},$=c(o({__name:`App`,setup(e){let a=g(),o=t(),c=r(!1),p=[`/login`,`/setup`];async function _(){if(p.includes(o.path)){c.value=!1;return}try{await l.getStats(),c.value=!0}catch{c.value=!1,a.push(`/login`)}}return _(),h(()=>o.path,_),(e,t)=>{let r=v(`router-view`);return m(),d(s,null,[c.value?(m(),d(`div`,Z,[i(Y),n(`main`,Q,[i(r)])])):(m(),f(r,{key:1})),i(u(X),{richColors:``,position:`top-center`})],64)}}}));$.use(_),$.mount(`#app`);
@@ -0,0 +1 @@
1
+ @import "https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&display=swap";:root{--color-teal-50:oklch(97% .02 175);--color-teal-100:oklch(93% .04 175);--color-teal-200:oklch(87% .07 175);--color-teal-300:oklch(78% .1 175);--color-teal-400:oklch(68% .13 175);--color-teal-500:oklch(58% .14 175);--color-teal-600:oklch(48% .12 175);--color-teal-700:oklch(40% .1 175);--color-teal-800:oklch(32% .08 175);--color-teal-900:oklch(25% .06 175);--color-success:oklch(65% .17 150);--color-success-light:oklch(92% .05 150);--color-success-dark:oklch(45% .15 150);--color-warning:oklch(78% .16 80);--color-warning-light:oklch(94% .06 80);--color-warning-dark:oklch(55% .14 80);--color-danger:oklch(58% .22 25);--color-danger-light:oklch(90% .08 25);--color-danger-dark:oklch(40% .18 25);--color-info:oklch(62% .18 250);--color-info-light:oklch(91% .06 250);--color-info-dark:oklch(43% .16 250);--color-bg-page:var(--background);--color-bg-card:var(--card);--color-bg-sidebar:oklch(20.5% 0 0);--color-text-primary:var(--foreground);--color-text-secondary:var(--muted-foreground);--color-text-tertiary:oklch(65% 0 0);--color-role-user:oklch(78% .1 175);--color-role-user-bg:oklch(97% .02 175);--color-role-assistant:oklch(65% .14 260);--color-role-assistant-bg:oklch(93% .04 260);--color-role-tool:oklch(60% .08 30);--color-role-tool-bg:oklch(96% .02 30);--color-role-thinking:oklch(58% .12 290);--color-role-thinking-bg:oklch(91% .03 290);--color-sse-message-start:oklch(68% .13 175);--color-sse-content-block-start:oklch(58% .14 175);--color-sse-content-block-delta:oklch(48% .12 175);--color-sse-message-delta:oklch(40% .1 175);--color-sse-message-stop:oklch(65% .17 150);--spacing-dense-xs:.25rem;--spacing-dense-sm:.375rem;--spacing-dense-md:.5rem;--spacing-page:1.5rem;--spacing-section:1.25rem;--spacing-card:1rem;--spacing-tight:.5rem;--gap-icon-text:.375rem;--radius-pill:9999px;--color-overlay-light:oklch(0% 0 0/.1);--color-overlay:oklch(0% 0 0/.8);--shadow-card:0 1px 3px oklch(0% 0 0/.1);--shadow-elevated:0 4px 12px oklch(0% 0 0/.12);--shadow-focus:0 0 0 2px oklch(58% .14 175);--duration-fast:.15s;--duration-normal:.2s;--ease-default:cubic-bezier(.4, 0, .2, 1);--z-modal:100;--z-dropdown:150;--z-toast:200}.dark{--color-success-light:oklch(30% .05 150);--color-warning-light:oklch(32% .06 80);--color-danger-light:oklch(28% .08 25);--color-info-light:oklch(28% .06 250);--color-bg-sidebar:oklch(14.5% 0 0);--color-text-tertiary:oklch(55.6% 0 0);--color-role-user-bg:oklch(28% .04 175);--color-role-user:oklch(72% .08 175);--color-role-assistant-bg:oklch(25% .05 260);--color-role-assistant:oklch(60% .1 260);--color-role-tool-bg:oklch(22% .03 30);--color-role-tool:oklch(65% .06 30);--color-role-thinking-bg:oklch(23% .04 290);--color-role-thinking:oklch(55% .09 290)}*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}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(--font-mono);font-feature-settings:normal;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(48% .12 175);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(58% .14 175);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--radius:.375rem;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:calc(var(--radius) + 2px);--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0);--font-sans:"Geist Variable", sans-serif;--font-heading:var(--font-sans);--font-mono:"JetBrains Mono", "Fira Code", ui-monospace, monospace}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(68% .13 175);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(78% .1 175);--chart-1:oklch(87% 0 0);--chart-2:oklch(55.6% 0 0);--chart-3:oklch(43.9% 0 0);--chart-4:oklch(37.1% 0 0);--chart-5:oklch(26.9% 0 0);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(68% .13 175);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.6% 0 0)}*{border-color:var(--border)}body{background-color:var(--background);color:var(--foreground);font-family:var(--font-sans)}.dot-success{background-color:var(--color-success)}.block-thinking{background-color:var(--color-role-thinking-bg)}.block-tool-use{background-color:var(--color-role-tool-bg)}.block-tool-result{background-color:var(--color-role-user-bg)}.block-thinking-content{background-color:oklch(from var(--color-role-thinking-bg) l c h / .5);color:var(--muted-foreground)}.block-tool-use-content{background-color:oklch(from var(--color-role-tool-bg) l c h / .5)}.block-tool-result-content{background-color:oklch(from var(--color-role-user-bg) l c h / .5)}.diff-modified{background-color:var(--color-warning-light);border-color:var(--color-warning)}.diff-removed{color:var(--color-danger)}.diff-added{color:var(--color-success)}.progress-active{background-color:var(--color-success)}.progress-failed{background-color:var(--color-danger)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.bottom-0{bottom:0}.left-1\/2{left:50%}.right-0{right:0}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-2{top:.5rem}.top-4{top:1rem}.isolate{isolation:isolate}.z-10{z-index:10}.z-dropdown{z-index:var(--z-dropdown)}.z-modal{z-index:var(--z-modal)}.col-span-2{grid-column:span 2/span 2}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-8{margin-top:2rem;margin-bottom:2rem}.-mb-4{margin-bottom:-1rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-4{margin-left:1rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-row{display:table-row}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1}.size-10{width:2.5rem;height:2.5rem}.size-2\.5{width:.625rem;height:.625rem}.size-3{width:.75rem;height:.75rem}.size-4{width:1rem;height:1rem}.size-6{width:1.5rem;height:1.5rem}.size-7{width:1.75rem;height:1.75rem}.size-8{width:2rem;height:2rem}.size-9{width:2.25rem;height:2.25rem}.size-full{width:100%;height:100%}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[3px\]{height:3px}.h-\[calc\(100\%-1px\)\]{height:calc(100% - 1px)}.h-\[calc\(85vh-80px\)\]{height:calc(85vh - 80px)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-40{max-height:10rem}.max-h-48{max-height:12rem}.max-h-96{max-height:24rem}.max-h-\[40vh\]{max-height:40vh}.max-h-\[85vh\]{max-height:85vh}.max-h-\[90vh\]{max-height:90vh}.min-h-0{min-height:0}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-1\/3{width:33.3333%}.w-10{width:2.5rem}.w-12{width:3rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-\[280px\]{width:280px}.w-\[40\%\]{width:40%}.w-fit{width:fit-content}.w-full{width:100%}.min-w-0{min-width:0}.min-w-36{min-width:9rem}.max-w-2xl{max-width:42rem}.max-w-\[160px\]{max-width:160px}.max-w-\[200px\]{max-width:200px}.max-w-\[calc\(100\%-2rem\)\]{max-width:calc(100% - 2rem)}.max-w-lg{max-width:32rem}.max-w-sm{max-width:24rem}.max-w-xs{max-width:20rem}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[calc\(-50\%_-_2px\)\]{--tw-translate-y:calc(-50% - 2px);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate:-90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.cursor-default{cursor:default}.cursor-help{cursor:help}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.scroll-my-1{scroll-margin-top:.25rem;scroll-margin-bottom:.25rem}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-rows-\[auto_1fr\]{grid-template-rows:auto 1fr}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.-space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(-.5rem * var(--tw-space-x-reverse));margin-left:calc(-.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.justify-self-end{justify-self:end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-\[2px\]{border-radius:2px}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-b-xl{border-bottom-right-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.rounded-t-md{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.rounded-t-xl{border-top-left-radius:var(--radius-xl);border-top-right-radius:var(--radius-xl)}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-border{border-color:var(--border)}.border-danger{border-color:var(--color-danger)}.border-destructive{border-color:var(--destructive)}.border-info{border-color:var(--color-info)}.border-input{border-color:var(--input)}.border-muted{border-color:var(--muted)}.border-role-tool{border-color:var(--color-role-tool)}.border-sidebar-border{border-color:var(--sidebar-border)}.border-success{border-color:var(--color-success)}.border-teal-200{border-color:var(--color-teal-200)}.border-transparent{border-color:#0000}.border-warning{border-color:var(--color-warning)}.bg-background{background-color:var(--background)}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-danger-light{background-color:var(--color-danger-light)}.bg-foreground{background-color:var(--foreground)}.bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.bg-info-light{background-color:var(--color-info-light)}.bg-muted{background-color:var(--muted)}.bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.bg-overlay{background-color:var(--color-overlay)}.bg-overlay-light{background-color:var(--color-overlay-light)}.bg-popover{background-color:var(--popover)}.bg-primary{background-color:var(--primary)}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.bg-role-assistant-bg{background-color:var(--color-role-assistant-bg)}.bg-role-thinking-bg{background-color:var(--color-role-thinking-bg)}.bg-role-tool-bg{background-color:var(--color-role-tool-bg)}.bg-role-user-bg{background-color:var(--color-role-user-bg)}.bg-secondary{background-color:var(--secondary)}.bg-sidebar{background-color:var(--sidebar)}.bg-sidebar-accent{background-color:var(--sidebar-accent)}.bg-sidebar-primary{background-color:var(--sidebar-primary)}.bg-success{background-color:var(--color-success)}.bg-success-light{background-color:var(--color-success-light)}.bg-teal-200{background-color:var(--color-teal-200)}.bg-teal-300{background-color:var(--color-teal-300)}.bg-teal-50{background-color:var(--color-teal-50)}.bg-teal-500{background-color:var(--color-teal-500)}.bg-teal-600{background-color:var(--color-teal-600)}.bg-transparent{background-color:#0000}.bg-warning{background-color:var(--color-warning)}.bg-warning-light{background-color:var(--color-warning-light)}.bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.bg-clip-padding{background-clip:padding-box}.fill-foreground{fill:var(--foreground)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\[3px\]{padding:3px}.p-px{padding:1px}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-0{padding-bottom:0}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pl-1\.5{padding-left:.375rem}.pl-10{padding-left:2.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-8{padding-right:2rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-text-bottom{vertical-align:text-bottom}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.8rem\]{font-size:.8rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wider{letter-spacing:.05em}.text-\[var\(--color-role-thinking\)\]{color:var(--color-role-thinking)}.text-\[var\(--color-role-tool\)\]{color:var(--color-role-tool)}.text-\[var\(--color-role-user\)\]{color:var(--color-role-user)}.text-background{color:var(--background)}.text-card-foreground{color:var(--card-foreground)}.text-current{color:currentColor}.text-danger-dark{color:var(--color-danger-dark)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.text-info-dark{color:var(--color-info-dark)}.text-muted-foreground{color:var(--muted-foreground)}.text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-role-assistant{color:var(--color-role-assistant)}.text-role-thinking{color:var(--color-role-thinking)}.text-role-tool{color:var(--color-role-tool)}.text-role-user{color:var(--color-role-user)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-sidebar-foreground{color:var(--sidebar-foreground)}.text-sidebar-primary{color:var(--sidebar-primary)}.text-sidebar-primary-foreground{color:var(--sidebar-primary-foreground)}.text-success{color:var(--color-success)}.text-success-dark{color:var(--color-success-dark)}.text-teal-200{color:var(--color-teal-200)}.text-teal-300{color:var(--color-teal-300)}.text-teal-700{color:var(--color-teal-700)}.text-teal-900{color:var(--color-teal-900)}.text-warning-dark{color:var(--color-warning-dark)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.line-through{text-decoration-line:line-through}.underline-offset-4{text-underline-offset:4px}.opacity-25{opacity:.25}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.bg-blend-color{background-blend-mode:color}.shadow-elevated{--tw-shadow:var(--shadow-elevated);--tw-shadow-colored:var(--shadow-elevated);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.ring-background{--tw-ring-color:var(--background)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-\[color\,box-shadow\]{transition-property:color,box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-none{transition-property:none}.transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-fast{transition-duration:var(--duration-fast)}.duration-normal{transition-duration:var(--duration-normal)}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0), var(--tw-enter-translate-y,0), 0) scale3d(var(--tw-enter-scale,1), var(--tw-enter-scale,1), var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0), var(--tw-exit-translate-y,0), 0) scale3d(var(--tw-exit-scale,1), var(--tw-exit-scale,1), var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.duration-100{animation-duration:.1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-fast{animation-duration:var(--duration-fast)}.duration-normal{animation-duration:var(--duration-normal)}.file\:inline-flex::file-selector-button{display:inline-flex}.file\:h-6::file-selector-button{height:1.5rem}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:var(--foreground)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-0:after{content:var(--tw-content);inset:0}.after\:-inset-x-3:after{content:var(--tw-content);left:-.75rem;right:-.75rem}.after\:-inset-y-2:after{content:var(--tw-content);top:-.5rem;bottom:-.5rem}.after\:rounded-full:after{content:var(--tw-content);border-radius:9999px}.after\:border:after{content:var(--tw-content);border-width:1px}.after\:border-border:after{content:var(--tw-content);border-color:var(--border)}.after\:bg-foreground:after{content:var(--tw-content);background-color:var(--foreground)}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:mix-blend-darken:after{content:var(--tw-content);mix-blend-mode:darken}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:bg-secondary:hover{background-color:var(--secondary)}.hover\:bg-sidebar-accent:hover{background-color:var(--sidebar-accent)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:text-foreground:hover{color:var(--foreground)}.hover\:text-muted-foreground:hover{color:var(--muted-foreground)}.hover\:text-primary:hover{color:var(--primary)}.hover\:text-sidebar-foreground:hover{color:var(--sidebar-foreground)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:brightness-95:hover{--tw-brightness:brightness(.95);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)}.focus\:bg-accent:focus{background-color:var(--accent)}.focus\:text-accent-foreground:focus{color:var(--accent-foreground)}.focus-visible\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\:outline-1:focus-visible{outline-width:1px}.focus-visible\:outline-ring:focus-visible{outline-color:var(--ring)}.focus-visible\:ring-\[3px\]:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-50{opacity:.5}.has-\[\>img\:first-child\]\:pt-0:has(>img:first-child){padding-top:0}.aria-expanded\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[size\=lg\]\:size-10[data-size=lg]{width:2.5rem;height:2.5rem}.data-\[size\=sm\]\:size-6[data-size=sm]{width:1.5rem;height:1.5rem}.data-\[orientation\=horizontal\]\:h-2\.5[data-orientation=horizontal]{height:.625rem}.data-\[orientation\=horizontal\]\:h-px[data-orientation=horizontal]{height:1px}.data-\[orientation\=vertical\]\:h-full[data-orientation=vertical]{height:100%}.data-\[position\=popper\]\:h-\[var\(--reka-select-trigger-height\)\][data-position=popper]{height:var(--reka-select-trigger-height)}.data-\[size\=default\]\:h-8[data-size=default]{height:2rem}.data-\[size\=default\]\:h-\[18\.4px\][data-size=default]{height:18.4px}.data-\[size\=sm\]\:h-7[data-size=sm]{height:1.75rem}.data-\[size\=sm\]\:h-\[14px\][data-size=sm]{height:14px}.data-\[orientation\=horizontal\]\:w-full[data-orientation=horizontal]{width:100%}.data-\[orientation\=vertical\]\:w-2\.5[data-orientation=vertical]{width:.625rem}.data-\[orientation\=vertical\]\:w-px[data-orientation=vertical]{width:1px}.data-\[position\=popper\]\:w-full[data-position=popper]{width:100%}.data-\[size\=default\]\:w-\[32px\][data-size=default]{width:32px}.data-\[size\=sm\]\:w-\[24px\][data-size=sm]{width:24px}.data-\[position\=popper\]\:min-w-\[var\(--reka-select-trigger-width\)\][data-position=popper]{min-width:var(--reka-select-trigger-width)}.data-\[size\=default\]\:max-w-xs[data-size=default],.data-\[size\=sm\]\:max-w-xs[data-size=sm]{max-width:20rem}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-.25rem;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[align-trigger\=true\]\:animate-none[data-align-trigger=true]{animation:none}.data-\[disabled\]\:cursor-not-allowed[data-disabled]{cursor:not-allowed}.data-\[orientation\=horizontal\]\:flex-col[data-orientation=horizontal]{flex-direction:column}.data-\[size\=sm\]\:gap-3[data-size=sm]{gap:.75rem}.data-\[orientation\=vertical\]\:self-stretch[data-orientation=vertical]{align-self:stretch}.data-\[size\=sm\]\:rounded-md[data-size=sm]{border-radius:var(--radius-md)}.data-\[variant\=line\]\:rounded-none[data-variant=line]{border-radius:0}.data-\[orientation\=horizontal\]\:border-t[data-orientation=horizontal]{border-top-width:1px}.data-\[orientation\=vertical\]\:border-l[data-orientation=vertical]{border-left-width:1px}.data-\[state\=checked\]\:border-primary[data-state=checked]{border-color:var(--primary)}.data-\[orientation\=horizontal\]\:border-t-transparent[data-orientation=horizontal]{border-top-color:#0000}.data-\[orientation\=vertical\]\:border-l-transparent[data-orientation=vertical]{border-left-color:#0000}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:var(--background)}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:var(--primary)}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:var(--muted)}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:var(--input)}.data-\[size\=sm\]\:py-3[data-size=sm]{padding-top:.75rem;padding-bottom:.75rem}.data-\[error\=true\]\:text-destructive[data-error=true]{color:var(--destructive)}.data-\[state\=active\]\:text-foreground[data-state=active]{color:var(--foreground)}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:var(--primary-foreground)}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=delayed-open\]\:animate-in[data-state=delayed-open],.data-\[state\=open\]\:animate-in[data-state=open]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-name:enter;animation-duration:.15s}.data-\[state\=closed\]\:animate-out[data-state=closed]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-name:exit;animation-duration:.15s}.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=delayed-open\]\:fade-in-0[data-state=delayed-open],.data-\[state\=open\]\:fade-in-0[data-state=open]{--tw-enter-opacity:0}.data-\[state\=delayed-open\]\:zoom-in-95[data-state=delayed-open]{--tw-enter-scale:.95}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-.5rem}.data-\[side\=inline-end\]\:slide-in-from-left-2[data-side=inline-end]{--tw-enter-translate-x:-.5rem}.data-\[side\=inline-start\]\:slide-in-from-right-2[data-side=inline-start],.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:.5rem}.\*\:data-\[slot\=select-value\]\:line-clamp-1[data-slot=select-value]>*{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.\*\:data-\[slot\=select-value\]\:flex[data-slot=select-value]>*{display:flex}.\*\:data-\[slot\=select-value\]\:items-center[data-slot=select-value]>*{align-items:center}.\*\:data-\[slot\=select-value\]\:gap-1\.5[data-slot=select-value]>*{gap:.375rem}.\*\:data-\[slot\=avatar\]\:ring-2[data-slot=avatar]>*{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.\*\:data-\[slot\=avatar\]\:ring-background[data-slot=avatar]>*{--tw-ring-color:var(--background)}.group[data-disabled=true] .group-data-\[disabled\=true\]\:pointer-events-none{pointer-events:none}.group\/alert-dialog-content[data-size=sm] .group-data-\[size\=sm\]\/alert-dialog-content\:grid{display:grid}.group\/avatar[data-size=default] .group-data-\[size\=default\]\/avatar\:size-2\.5{width:.625rem;height:.625rem}.group\/switch[data-size=default] .group-data-\[size\=default\]\/switch\:size-4{width:1rem;height:1rem}.group\/avatar[data-size=lg] .group-data-\[size\=lg\]\/avatar\:size-3{width:.75rem;height:.75rem}.group\/avatar[data-size=sm] .group-data-\[size\=sm\]\/avatar\:size-2{width:.5rem;height:.5rem}.group\/switch[data-size=sm] .group-data-\[size\=sm\]\/switch\:size-3{width:.75rem;height:.75rem}.group\/tabs[data-orientation=horizontal] .group-data-\[orientation\=horizontal\]\/tabs\:h-8{height:2rem}.group\/tabs[data-orientation=vertical] .group-data-\[orientation\=vertical\]\/tabs\:h-fit{height:fit-content}.group\/tabs[data-orientation=vertical] .group-data-\[orientation\=vertical\]\/tabs\:w-full{width:100%}.group\/alert-dialog-content[data-size=sm] .group-data-\[size\=sm\]\/alert-dialog-content\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.group\/tabs[data-orientation=vertical] .group-data-\[orientation\=vertical\]\/tabs\:flex-col{flex-direction:column}.group\/tabs[data-orientation=vertical] .group-data-\[orientation\=vertical\]\/tabs\:justify-start{justify-content:flex-start}.group\/tabs-list[data-variant=line] .group-data-\[variant\=line\]\/tabs-list\:bg-transparent{background-color:#0000}.group\/card[data-size=sm] .group-data-\[size\=sm\]\/card\:p-3{padding:.75rem}.group\/card[data-size=sm] .group-data-\[size\=sm\]\/card\:px-3{padding-left:.75rem;padding-right:.75rem}.group\/avatar[data-size=sm] .group-data-\[size\=sm\]\/avatar\:text-xs{font-size:.75rem;line-height:1rem}.group\/card[data-size=sm] .group-data-\[size\=sm\]\/card\:text-sm{font-size:.875rem;line-height:1.25rem}.group[data-disabled=true] .group-data-\[disabled\=true\]\:opacity-50{opacity:.5}.group\/tabs[data-orientation=horizontal] .group-data-\[orientation\=horizontal\]\/tabs\:after\:inset-x-0:after{content:var(--tw-content);left:0;right:0}.group\/tabs[data-orientation=vertical] .group-data-\[orientation\=vertical\]\/tabs\:after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.group\/tabs[data-orientation=horizontal] .group-data-\[orientation\=horizontal\]\/tabs\:after\:bottom-\[-5px\]:after{content:var(--tw-content);bottom:-5px}.group\/tabs[data-orientation=vertical] .group-data-\[orientation\=vertical\]\/tabs\:after\:-right-1:after{content:var(--tw-content);right:-.25rem}.group\/tabs[data-orientation=horizontal] .group-data-\[orientation\=horizontal\]\/tabs\:after\:h-0\.5:after{content:var(--tw-content);height:.125rem}.group\/tabs[data-orientation=vertical] .group-data-\[orientation\=vertical\]\/tabs\:after\:w-0\.5:after{content:var(--tw-content);width:.125rem}.group\/switch[data-size=default] .group-data-\[size\=default\]\/switch\:data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x:calc(100% - 2px);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/switch[data-size=default] .group-data-\[size\=default\]\/switch\:data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/switch[data-size=sm] .group-data-\[size\=sm\]\/switch\:data-\[state\=checked\]\:translate-x-\[calc\(100\%-2px\)\][data-state=checked]{--tw-translate-x:calc(100% - 2px);transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/switch[data-size=sm] .group-data-\[size\=sm\]\/switch\:data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group\/tabs-list[data-variant=line] .group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent[data-state=active]{background-color:#0000}.group\/tabs-list[data-variant=default] .group-data-\[variant\=default\]\/tabs-list\:data-\[state\=active\]\:shadow-sm[data-state=active]{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group\/tabs-list[data-variant=line] .group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:shadow-none[data-state=active]{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.group\/tabs-list[data-variant=line] .group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:after\:opacity-100[data-state=active]:after{content:var(--tw-content);opacity:1}.dark\:border-input:is(.dark *){border-color:var(--input)}.dark\:border-teal-800:is(.dark *){border-color:var(--color-teal-800)}.dark\:bg-teal-600:is(.dark *){background-color:var(--color-teal-600)}.dark\:bg-teal-700:is(.dark *){background-color:var(--color-teal-700)}.dark\:bg-teal-800:is(.dark *){background-color:var(--color-teal-800)}.dark\:bg-teal-900:is(.dark *){background-color:var(--color-teal-900)}.dark\:text-danger:is(.dark *){color:var(--color-danger)}.dark\:text-green-400:is(.dark *){--tw-text-opacity:1;color:rgb(74 222 128/var(--tw-text-opacity,1))}.dark\:text-info:is(.dark *){color:var(--color-info)}.dark\:text-muted-foreground:is(.dark *){color:var(--muted-foreground)}.dark\:text-orange-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.dark\:text-red-400:is(.dark *){--tw-text-opacity:1;color:rgb(248 113 113/var(--tw-text-opacity,1))}.dark\:text-success:is(.dark *){color:var(--color-success)}.dark\:text-teal-100:is(.dark *){color:var(--color-teal-100)}.dark\:text-teal-200:is(.dark *){color:var(--color-teal-200)}.dark\:text-teal-300:is(.dark *){color:var(--color-teal-300)}.dark\:text-warning:is(.dark *){color:var(--color-warning)}.dark\:text-yellow-400:is(.dark *){--tw-text-opacity:1;color:rgb(250 204 21/var(--tw-text-opacity,1))}.dark\:after\:mix-blend-lighten:is(.dark *):after{content:var(--tw-content);mix-blend-mode:lighten}.dark\:hover\:text-foreground:hover:is(.dark *){color:var(--foreground)}.dark\:data-\[state\=active\]\:border-input[data-state=active]:is(.dark *){border-color:var(--input)}.dark\:data-\[state\=checked\]\:bg-primary[data-state=checked]:is(.dark *){background-color:var(--primary)}.dark\:data-\[state\=checked\]\:bg-primary-foreground[data-state=checked]:is(.dark *){background-color:var(--primary-foreground)}.dark\:data-\[state\=unchecked\]\:bg-foreground[data-state=unchecked]:is(.dark *){background-color:var(--foreground)}.dark\:data-\[state\=active\]\:text-foreground[data-state=active]:is(.dark *){color:var(--foreground)}.group\/tabs-list[data-variant=line] .dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:border-transparent[data-state=active]:is(.dark *){border-color:#0000}.group\/tabs-list[data-variant=line] .dark\:group-data-\[variant\=line\]\/tabs-list\:data-\[state\=active\]\:bg-transparent[data-state=active]:is(.dark *){background-color:#0000}@media (width>=640px){.sm\:max-w-6xl{max-width:72rem}.sm\:max-w-lg{max-width:32rem}.sm\:max-w-sm{max-width:24rem}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:rounded-lg{border-radius:var(--radius-lg)}.data-\[size\=default\]\:sm\:max-w-sm[data-size=default]{max-width:24rem}.group\/alert-dialog-content[data-size=default] .sm\:group-data-\[size\=default\]\/alert-dialog-content\:row-span-2{grid-row:span 2/span 2}.group\/alert-dialog-content[data-size=default] .sm\:group-data-\[size\=default\]\/alert-dialog-content\:place-items-start{place-items:start}.group\/alert-dialog-content[data-size=default] .sm\:group-data-\[size\=default\]\/alert-dialog-content\:text-left{text-align:left}}@media (width>=768px){.md\:w-full{width:100%}.md\:text-pretty{text-wrap:pretty}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (width>=1024px){.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>svg\]\:pointer-events-none>svg{pointer-events:none}.\[\&\>svg\]\:size-3\.5>svg{width:.875rem;height:.875rem}.\[\&\>svg\]\:size-4>svg{width:1rem;height:1rem}.group\/avatar[data-size=sm] .group-data-\[size\=sm\]\/avatar\:\[\&\>svg\]\:hidden>svg{display:none}.group\/avatar[data-size=default] .group-data-\[size\=default\]\/avatar\:\[\&\>svg\]\:size-2>svg,.group\/avatar[data-size=lg] .group-data-\[size\=lg\]\/avatar\:\[\&\>svg\]\:size-2>svg{width:.5rem;height:.5rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&_svg\:not\(\[class\*\=size-\]\)\]\:size-3 svg:not([class*=size-]){width:.75rem;height:.75rem}.\[\&_svg\:not\(\[class\*\=size-\]\)\]\:size-3\.5 svg:not([class*=size-]){width:.875rem;height:.875rem}.\[\&_svg\:not\(\[class\*\=size-\]\)\]\:size-4 svg:not([class*=size-]){width:1rem;height:1rem}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}
@@ -1 +1 @@
1
- import{$ as e,B as t,Et as n,G as r,H as i,It as a,K as o,L as s,Lt as c,Pt as l,Rt as u,U as d,V as f,W as p,Z as m,at as h,ct as g,et as ee,ft as _,gt as v,ht as y,nt as b,st as x,tt as S,ut as C,vt as w,z as T,zt as E}from"./button-BKJB3nEQ.js";var D=1,O=new class{subscribers;toasts;dismissedToasts;constructor(){this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)});publish=e=>{this.subscribers.forEach(t=>t(e))};addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]};create=e=>{let{message:t,...n}=e,r=typeof e.id==`number`||e.id&&e.id?.length>0?e.id:D++,i=this.toasts.find(e=>e.id===r),a=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:a,title:t}):n):this.addToast({title:t,...n,dismissible:a,id:r}),r};dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e);message=(e,t)=>this.create({...t,message:e,type:`default`});error=(e,t)=>this.create({...t,type:`error`,message:e});success=(e,t)=>this.create({...t,type:`success`,message:e});info=(e,t)=>this.create({...t,type:`info`,message:e});warning=(e,t)=>this.create({...t,type:`warning`,message:e});loading=(e,t)=>this.create({...t,type:`loading`,message:e});promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:`loading`,message:t.loading,description:typeof t.description==`function`?void 0:t.description}));let r=Promise.resolve(e instanceof Function?e():e),i=n!==void 0,a,o=r.then(async e=>{if(a=[`resolve`,e],m(e))i=!1,this.create({id:n,type:`default`,message:e});else if(A(e)&&!e.ok){i=!1;let r=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,a=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description,o=typeof r==`object`&&!m(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}else if(e instanceof Error){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!m(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}else if(t.success!==void 0){i=!1;let r=typeof t.success==`function`?await t.success(e):t.success,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!m(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`success`,description:a,...o})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!m(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),t.finally?.()}),s=()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:s}:Object.assign(n,{unwrap:s})};custom=(e,t)=>{let n=t?.id||D++,r=this.toasts.find(e=>e.id===n),i=t?.dismissible===void 0?!0:t.dismissible;return this.dismissedToasts.has(n)&&this.dismissedToasts.delete(n),r?this.toasts=this.toasts.map(r=>r.id===n?(this.publish({...r,component:e,dismissible:i,id:n,...t}),{...r,component:e,dismissible:i,id:n,...t}):r):this.addToast({component:e,dismissible:i,id:n,...t}),n};getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id))};function k(e,t){let n=t?.id||D++;return O.create({message:e,id:n,type:`default`,...t}),n}var A=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,j=Object.assign(k,{success:O.success,info:O.info,warning:O.warning,error:O.error,custom:O.custom,message:O.message,promise:O.promise,dismiss:O.dismiss,loading:O.loading},{getHistory:()=>O.toasts,getToasts:()=>O.getActiveToasts()});function M(e){return e.label!==void 0}var N=3,P=`24px`,F=`16px`,I=4e3,L=356,R=14,te=45,ne=200;function z(){let e=n(!1);return v(()=>{let t=()=>{e.value=document.hidden};return document.addEventListener(`visibilitychange`,t),()=>window.removeEventListener(`visibilitychange`,t)}),{isDocumentHidden:e}}function B(...e){return e.filter(Boolean).join(` `)}function V(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}function re(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?F:P;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var ie=[`data-rich-colors`,`data-styled`,`data-mounted`,`data-promise`,`data-swiped`,`data-removed`,`data-visible`,`data-y-position`,`data-x-position`,`data-index`,`data-front`,`data-swiping`,`data-dismissible`,`data-type`,`data-invert`,`data-swipe-out`,`data-swipe-direction`,`data-expanded`,`data-testid`],ae=[`aria-label`,`data-disabled`,`data-close-button-position`],oe=o({__name:`Toast`,props:{toast:{},toasts:{},index:{},swipeDirections:{},expanded:{type:Boolean},invert:{type:Boolean},heights:{},gap:{},position:{},closeButtonPosition:{},visibleToasts:{},expandByDefault:{type:Boolean},closeButton:{type:Boolean},interacting:{type:Boolean},style:{},cancelButtonStyle:{},actionButtonStyle:{},duration:{},class:{},unstyled:{type:Boolean},descriptionClass:{},loadingIcon:{},classes:{},icons:{},closeButtonAriaLabel:{},defaultRichColors:{type:Boolean}},emits:[`update:heights`,`update:height`,`removeToast`],setup(r,{emit:o}){let m=r,_=o,x=n(null),w=n(null),D=n(!1),O=n(!1),k=n(!1),A=n(!1),j=n(!1),N=n(0),P=n(0),F=n(m.toast.duration||m.duration||I),L=n(null),R=n(null),re=T(()=>m.index===0),oe=T(()=>m.index+1<=m.visibleToasts),H=T(()=>m.toast.type),U=T(()=>m.toast.dismissible!==!1),se=T(()=>m.toast.class||``),ce=T(()=>m.descriptionClass||``),W=T(()=>{let e=m.toast.position||m.position,t=m.heights.filter(t=>t.position===e).findIndex(e=>e.toastId===m.toast.id);return t>=0?t:0}),le=T(()=>{let e=m.toast.position||m.position;return m.heights.filter(t=>t.position===e).reduce((e,t,n)=>n>=W.value?e:e+t.height,0)}),G=T(()=>W.value*m.gap+le.value||0),ue=T(()=>m.toast.closeButton??m.closeButton),de=T(()=>m.toast.duration||m.duration||I),K=n(0),q=n(0),J=n(null),Y=T(()=>m.position.split(`-`)),fe=T(()=>Y.value[0]),pe=T(()=>Y.value[1]),me=T(()=>typeof m.toast.title!=`string`),he=T(()=>typeof m.toast.description!=`string`),{isDocumentHidden:X}=z(),Z=T(()=>H.value&&H.value===`loading`);b(()=>{D.value=!0,F.value=de.value}),v(async()=>{if(!D.value||!R.value)return;await ee();let e=R.value,t=e.style.height;e.style.height=`auto`;let n=e.getBoundingClientRect().height;e.style.height=t,P.value=n,_(`update:height`,{toastId:m.toast.id,height:n,position:m.toast.position||m.position})});function Q(){O.value=!0,N.value=G.value,setTimeout(()=>{_(`removeToast`,m.toast)},ne)}function $(){if(Z.value||!U.value)return{};Q(),m.toast.onDismiss?.(m.toast)}function ge(e){e.button!==2&&(Z.value||!U.value||(L.value=new Date,N.value=G.value,e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(k.value=!0,J.value={x:e.clientX,y:e.clientY})))}function _e(){if(A.value||!U.value)return;J.value=null;let e=Number(R.value?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(R.value?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),n=new Date().getTime()-(L.value?.getTime()||0),r=x.value===`x`?e:t,i=Math.abs(r)/n;if(Math.abs(r)>=te||i>.11){N.value=G.value,m.toast.onDismiss?.(m.toast),x.value===`x`?w.value=e>0?`right`:`left`:w.value=t>0?`down`:`up`,Q(),A.value=!0;return}else R.value?.style.setProperty(`--swipe-amount-x`,`0px`),R.value?.style.setProperty(`--swipe-amount-y`,`0px`);j.value=!1,k.value=!1,x.value=null}function ve(e){if(!J.value||!U.value||(window?.getSelection()?.toString()?.length??!1))return;let t=e.clientY-J.value.y,n=e.clientX-J.value.x,r=m.swipeDirections??V(m.position);!x.value&&(Math.abs(n)>1||Math.abs(t)>1)&&(x.value=Math.abs(n)>Math.abs(t)?`x`:`y`);let i={x:0,y:0},a=e=>1/(1.5+Math.abs(e)/20);if(x.value===`y`){if(r.includes(`top`)||r.includes(`bottom`))if(r.includes(`top`)&&t<0||r.includes(`bottom`)&&t>0)i.y=t;else{let e=t*a(t);i.y=Math.abs(e)<Math.abs(t)?e:t}}else if(x.value===`x`&&(r.includes(`left`)||r.includes(`right`)))if(r.includes(`left`)&&n<0||r.includes(`right`)&&n>0)i.x=n;else{let e=n*a(n);i.x=Math.abs(e)<Math.abs(n)?e:n}(Math.abs(i.x)>0||Math.abs(i.y)>0)&&(j.value=!0),R.value?.style.setProperty(`--swipe-amount-x`,`${i.x}px`),R.value?.style.setProperty(`--swipe-amount-y`,`${i.y}px`)}b(()=>{if(D.value=!0,!R.value)return;let e=R.value.getBoundingClientRect().height;P.value=e,_(`update:heights`,[{toastId:m.toast.id,height:e,position:m.toast.position},...m.heights])}),S(()=>{R.value&&_(`removeToast`,m.toast)}),v(e=>{if(m.toast.promise&&H.value===`loading`||m.toast.duration===1/0||m.toast.type===`loading`)return;let t;m.expanded||m.interacting||X.value?(()=>{if(q.value<K.value){let e=new Date().getTime()-K.value;F.value-=e}q.value=new Date().getTime()})():F.value!==1/0&&(K.value=new Date().getTime(),t=setTimeout(()=>{m.toast.onAutoClose?.(m.toast),Q()},F.value)),e(()=>{clearTimeout(t)})}),y(()=>m.toast.delete,e=>{e!==void 0&&e&&(Q(),m.toast.onDismiss?.(m.toast))},{deep:!0});function ye(){k.value=!1,x.value=null,J.value=null}return(n,r)=>(h(),d(`li`,{tabindex:`0`,ref_key:`toastRef`,ref:R,class:a(l(B)(m.class,se.value,n.classes?.toast,n.toast.classes?.toast,n.classes?.[H.value],n.toast?.classes?.[H.value])),"data-sonner-toast":``,"data-rich-colors":n.toast.richColors??n.defaultRichColors,"data-styled":!(n.toast.component||n.toast?.unstyled||n.unstyled),"data-mounted":D.value,"data-promise":!!n.toast.promise,"data-swiped":j.value,"data-removed":O.value,"data-visible":oe.value,"data-y-position":fe.value,"data-x-position":pe.value,"data-index":n.index,"data-front":re.value,"data-swiping":k.value,"data-dismissible":U.value,"data-type":H.value,"data-invert":n.toast.invert||n.invert,"data-swipe-out":A.value,"data-swipe-direction":w.value,"data-expanded":!!(n.expanded||n.expandByDefault&&D.value),"data-testid":n.toast.testId,style:u({"--index":n.index,"--toasts-before":n.index,"--z-index":n.toasts.length-n.index,"--offset":`${O.value?N.value:G.value}px`,"--initial-height":n.expandByDefault?`auto`:`${P.value}px`,...n.style,...m.toast.style}),onDragend:ye,onPointerdown:ge,onPointerup:_e,onPointermove:ve},[ue.value&&!n.toast.component&&H.value!==`loading`?(h(),d(`button`,{key:0,"aria-label":n.closeButtonAriaLabel||`Close toast`,"data-disabled":Z.value,"data-close-button":`true`,"data-close-button-position":n.closeButtonPosition,class:a(l(B)(n.classes?.closeButton,n.toast?.classes?.closeButton)),onClick:$},[n.icons?.close?(h(),f(C(n.icons?.close),{key:0})):g(n.$slots,`close-icon`,{key:1})],10,ae)):i(`v-if`,!0),n.toast.component?(h(),f(C(n.toast.component),e({key:1},n.toast.componentProps,{onCloseToast:$,isPaused:n.$props.expanded||n.$props.interacting||l(X)}),null,16,[`isPaused`])):(h(),d(s,{key:2},[H.value!==`default`||n.toast.icon||n.toast.promise?(h(),d(`div`,{key:0,"data-icon":``,class:a(l(B)(n.classes?.icon,n.toast?.classes?.icon))},[n.toast.icon?(h(),f(C(n.toast.icon),{key:0})):(h(),d(s,{key:1},[H.value===`loading`?g(n.$slots,`loading-icon`,{key:0}):H.value===`success`?g(n.$slots,`success-icon`,{key:1}):H.value===`error`?g(n.$slots,`error-icon`,{key:2}):H.value===`warning`?g(n.$slots,`warning-icon`,{key:3}):H.value===`info`?g(n.$slots,`info-icon`,{key:4}):i(`v-if`,!0)],64))],2)):i(`v-if`,!0),t(`div`,{"data-content":``,class:a(l(B)(n.classes?.content,n.toast?.classes?.content))},[t(`div`,{"data-title":``,class:a(l(B)(n.classes?.title,n.toast.classes?.title))},[me.value?(h(),f(C(n.toast.title),c(e({key:0},n.toast.componentProps)),null,16)):(h(),d(s,{key:1},[p(E(n.toast.title),1)],64))],2),n.toast.description?(h(),d(`div`,{key:0,"data-description":``,class:a(l(B)(n.descriptionClass,ce.value,n.classes?.description,n.toast.classes?.description))},[he.value?(h(),f(C(n.toast.description),c(e({key:0},n.toast.componentProps)),null,16)):(h(),d(s,{key:1},[p(E(n.toast.description),1)],64))],2)):i(`v-if`,!0)],2),n.toast.cancel?(h(),d(`button`,{key:1,style:u(n.toast.cancelButtonStyle||n.cancelButtonStyle),class:a(l(B)(n.classes?.cancelButton,n.toast.classes?.cancelButton)),"data-button":``,"data-cancel":``,onClick:r[0]||=e=>{l(M)(n.toast.cancel)&&U.value&&(n.toast.cancel.onClick?.(e),Q())}},E(l(M)(n.toast.cancel)?n.toast.cancel?.label:n.toast.cancel),7)):i(`v-if`,!0),n.toast.action?(h(),d(`button`,{key:2,style:u(n.toast.actionButtonStyle||n.actionButtonStyle),class:a(l(B)(n.classes?.actionButton,n.toast.classes?.actionButton)),"data-button":``,"data-action":``,onClick:r[1]||=e=>{l(M)(n.toast.action)&&(n.toast.action.onClick?.(e),!e.defaultPrevented&&Q())}},E(l(M)(n.toast.action)?n.toast.action?.label:n.toast.action),7)):i(`v-if`,!0)],64))],46,ie))}}),H=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},U={},se={xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stoke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function ce(e,n){return h(),d(`svg`,se,n[0]||=[t(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`},null,-1),t(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`},null,-1)])}var W=H(U,[[`render`,ce]]),le=[`data-visible`],G={class:`sonner-spinner`},ue=o({__name:`Loader`,props:{visible:{type:Boolean}},setup(e){let n=Array(12).fill(0);return(e,r)=>(h(),d(`div`,{class:`sonner-loading-wrapper`,"data-visible":e.visible},[t(`div`,G,[(h(!0),d(s,null,x(l(n),e=>(h(),d(`div`,{key:`spinner-bar-${e}`,class:`sonner-loading-bar`}))),128))])],8,le))}}),de={},K={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function q(e,n){return h(),d(`svg`,K,n[0]||=[t(`path`,{"fill-rule":`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,"clip-rule":`evenodd`},null,-1)])}var J=H(de,[[`render`,q]]),Y={},fe={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function pe(e,n){return h(),d(`svg`,fe,n[0]||=[t(`path`,{"fill-rule":`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,"clip-rule":`evenodd`},null,-1)])}var me=H(Y,[[`render`,pe]]),he={},X={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`};function Z(e,n){return h(),d(`svg`,X,n[0]||=[t(`path`,{"fill-rule":`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,"clip-rule":`evenodd`},null,-1)])}var Q=H(he,[[`render`,Z]]),$={},ge={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function _e(e,n){return h(),d(`svg`,ge,n[0]||=[t(`path`,{"fill-rule":`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z`,"clip-rule":`evenodd`},null,-1)])}var ve=H($,[[`render`,_e]]),ye=[`aria-label`],be=[`data-sonner-theme`,`dir`,`data-theme`,`data-rich-colors`,`data-y-position`,`data-x-position`],xe=typeof window<`u`&&typeof document<`u`;function Se(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}var Ce=o({name:`Toaster`,inheritAttrs:!1,__name:`Toaster`,props:{id:{},invert:{type:Boolean,default:!1},theme:{default:`light`},position:{default:`bottom-right`},closeButtonPosition:{default:`top-left`},hotkey:{default:()=>[`altKey`,`KeyT`]},richColors:{type:Boolean,default:!1},expand:{type:Boolean,default:!1},duration:{},gap:{default:R},visibleToasts:{default:N},closeButton:{type:Boolean,default:!1},toastOptions:{default:()=>({})},class:{default:``},style:{},offset:{default:P},mobileOffset:{default:F},dir:{default:`auto`},swipeDirections:{},icons:{},containerAriaLabel:{default:`Notifications`}},setup(o){let c=o,p=_(),m=n([]),y=T(()=>c.id?m.value.filter(e=>e.toasterId===c.id):m.value.filter(e=>!e.toasterId));function b(e,t){return y.value.filter(n=>!n.position&&t===0||n.position===e)}let S=T(()=>{let e=y.value.filter(e=>e.position).map(e=>e.position);return e.length>0?Array.from(new Set([c.position].concat(e))):[c.position]}),C=T(()=>{let e={};return S.value.forEach(t=>{e[t]=m.value.filter(e=>e.position===t)}),e}),E=n([]),D=n({}),k=n(!1);v(()=>{S.value.forEach(e=>{e in D.value||(D.value[e]=!1)})});let A=n(c.theme===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:c.theme),j=n(null),M=n(null),N=n(!1),P=c.hotkey.join(`+`).replace(/Key/g,``).replace(/Digit/g,``);function F(e){m.value.find(t=>t.id===e.id)?.delete||O.dismiss(e.id),m.value=m.value.filter(({id:t})=>t!==e.id),setTimeout(()=>{m.value.find(t=>t.id===e.id)||(E.value=E.value.filter(t=>t.toastId!==e.id))},ne+50)}function I(e){N.value&&!e.currentTarget?.contains?.(e.relatedTarget)&&(N.value=!1,M.value&&=(M.value.focus({preventScroll:!0}),null))}function R(e){e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||N.value||(N.value=!0,M.value=e.relatedTarget)}function te(e){e.target&&e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||(k.value=!0)}v(e=>{e(O.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{m.value=m.value.map(t=>t.id===e.id?{...t,delete:!0}:t)});return}ee(()=>{let t=m.value.findIndex(t=>t.id===e.id);t===-1?m.value=[e,...m.value]:m.value=[...m.value.slice(0,t),{...m.value[t],...e},...m.value.slice(t+1)]})}))}),v(e=>{if(typeof window>`u`)return;if(c.theme!==`system`){A.value=c.theme;return}let t=window.matchMedia(`(prefers-color-scheme: dark)`),n=e=>{A.value=e?`dark`:`light`};n(t.matches);let r=e=>{n(e.matches)};try{t.addEventListener(`change`,r)}catch{t.addListener(r)}e(()=>{try{t.removeEventListener(`change`,r)}catch{t.removeListener(r)}})}),v(()=>{j.value&&M.value&&(M.value.focus({preventScroll:!0}),M.value=null,N.value=!1)}),v(()=>{m.value.length<=1&&Object.keys(D.value).forEach(e=>{D.value[e]=!1})}),v(e=>{function t(e){let t=c.hotkey.every(t=>e[t]||e.code===t),n=Array.isArray(j.value)?j.value[0]:j.value;t&&(S.value.forEach(e=>{D.value[e]=!0}),n?.focus());let r=document.activeElement===j.value||n?.contains(document.activeElement);e.code===`Escape`&&r&&S.value.forEach(e=>{D.value[e]=!1})}xe&&(document.addEventListener(`keydown`,t),e(()=>{document.removeEventListener(`keydown`,t)}))});function z(e){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);D.value[n]=!0}function B(e){if(!k.value){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);D.value[n]=!1}}function V(){Object.keys(D.value).forEach(e=>{D.value[e]=!1})}function ie(){k.value=!1}function ae(e){E.value=e}function H(e){let t=E.value.findIndex(t=>t.toastId===e.toastId);if(t!==-1)E.value[t]=e;else{let t=E.value.findIndex(t=>t.position===e.position);t===-1?E.value.unshift(e):E.value.splice(t,0,e)}}return(n,o)=>(h(),d(s,null,[i(` Remove item from normal navigation flow, only available via hotkey `),t(`section`,{"aria-label":`${n.containerAriaLabel} ${l(P)}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`},[(h(!0),d(s,null,x(S.value,(t,i)=>(h(),d(`ol`,e({key:t,ref_for:!0,ref_key:`listRef`,ref:j,"data-sonner-toaster":``,"data-sonner-theme":A.value,class:c.class,dir:n.dir===`auto`?Se():n.dir,tabIndex:-1,"data-theme":n.theme,"data-rich-colors":n.richColors,"data-y-position":t.split(`-`)[0],"data-x-position":t.split(`-`)[1],style:{"--front-toast-height":`${E.value[0]?.height||0}px`,"--width":`${l(L)}px`,"--gap":`${n.gap}px`,...n.style,...l(p).style,...l(re)(n.offset,n.mobileOffset)}},{ref_for:!0},n.$attrs,{onBlur:I,onFocus:R,onMouseenter:z,onMousemove:z,onMouseleave:B,onDragend:V,onPointerdown:te,onPointerup:ie}),[(h(!0),d(s,null,x(b(t,i),(e,i)=>(h(),f(oe,{key:e.id,heights:E.value,icons:n.icons,index:i,toast:e,defaultRichColors:n.richColors,duration:n.toastOptions?.duration??n.duration,class:a(n.toastOptions?.class??``),descriptionClass:n.toastOptions?.descriptionClass,invert:n.invert,visibleToasts:n.visibleToasts,closeButton:n.toastOptions?.closeButton??n.closeButton,interacting:k.value,position:t,closeButtonPosition:n.toastOptions?.closeButtonPosition??n.closeButtonPosition,style:u(n.toastOptions?.style),unstyled:n.toastOptions?.unstyled,classes:n.toastOptions?.classes,cancelButtonStyle:n.toastOptions?.cancelButtonStyle,actionButtonStyle:n.toastOptions?.actionButtonStyle,"close-button-aria-label":n.toastOptions?.closeButtonAriaLabel,toasts:C.value[t],expandByDefault:n.expand,gap:n.gap,expanded:D.value[t]||!1,swipeDirections:c.swipeDirections,"onUpdate:heights":ae,"onUpdate:height":H,onRemoveToast:F},{"close-icon":w(()=>[g(n.$slots,`close-icon`,{},()=>[r(W)])]),"loading-icon":w(()=>[g(n.$slots,`loading-icon`,{},()=>[r(ue,{visible:e.type===`loading`},null,8,[`visible`])])]),"success-icon":w(()=>[g(n.$slots,`success-icon`,{},()=>[r(J)])]),"error-icon":w(()=>[g(n.$slots,`error-icon`,{},()=>[r(ve)])]),"warning-icon":w(()=>[g(n.$slots,`warning-icon`,{},()=>[r(Q)])]),"info-icon":w(()=>[g(n.$slots,`info-icon`,{},()=>[r(me)])]),_:2},1032,[`heights`,`icons`,`index`,`toast`,`defaultRichColors`,`duration`,`class`,`descriptionClass`,`invert`,`visibleToasts`,`closeButton`,`interacting`,`position`,`closeButtonPosition`,`style`,`unstyled`,`classes`,`cancelButtonStyle`,`actionButtonStyle`,`close-button-aria-label`,`toasts`,`expandByDefault`,`gap`,`expanded`,`swipeDirections`]))),128))],16,be))),128))],8,ye)],2112))}});export{j as n,Ce as t};
1
+ import{$ as e,B as t,Et as n,G as r,H as i,It as a,K as o,L as s,Lt as c,Pt as l,Rt as u,U as d,V as f,W as p,Z as m,at as h,ct as g,et as ee,ft as _,gt as v,ht as y,nt as b,st as x,tt as S,ut as C,vt as w,z as T,zt as E}from"./button-Dbz2Be22.js";var D=1,O=new class{subscribers;toasts;dismissedToasts;constructor(){this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)});publish=e=>{this.subscribers.forEach(t=>t(e))};addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]};create=e=>{let{message:t,...n}=e,r=typeof e.id==`number`||e.id&&e.id?.length>0?e.id:D++,i=this.toasts.find(e=>e.id===r),a=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:a,title:t}):n):this.addToast({title:t,...n,dismissible:a,id:r}),r};dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e);message=(e,t)=>this.create({...t,message:e,type:`default`});error=(e,t)=>this.create({...t,type:`error`,message:e});success=(e,t)=>this.create({...t,type:`success`,message:e});info=(e,t)=>this.create({...t,type:`info`,message:e});warning=(e,t)=>this.create({...t,type:`warning`,message:e});loading=(e,t)=>this.create({...t,type:`loading`,message:e});promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:`loading`,message:t.loading,description:typeof t.description==`function`?void 0:t.description}));let r=Promise.resolve(e instanceof Function?e():e),i=n!==void 0,a,o=r.then(async e=>{if(a=[`resolve`,e],m(e))i=!1,this.create({id:n,type:`default`,message:e});else if(A(e)&&!e.ok){i=!1;let r=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,a=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description,o=typeof r==`object`&&!m(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}else if(e instanceof Error){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!m(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}else if(t.success!==void 0){i=!1;let r=typeof t.success==`function`?await t.success(e):t.success,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!m(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`success`,description:a,...o})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!m(r)?r:{message:r||``,id:n||``};this.create({id:n,type:`error`,description:a,...o})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),t.finally?.()}),s=()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:s}:Object.assign(n,{unwrap:s})};custom=(e,t)=>{let n=t?.id||D++,r=this.toasts.find(e=>e.id===n),i=t?.dismissible===void 0?!0:t.dismissible;return this.dismissedToasts.has(n)&&this.dismissedToasts.delete(n),r?this.toasts=this.toasts.map(r=>r.id===n?(this.publish({...r,component:e,dismissible:i,id:n,...t}),{...r,component:e,dismissible:i,id:n,...t}):r):this.addToast({component:e,dismissible:i,id:n,...t}),n};getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id))};function k(e,t){let n=t?.id||D++;return O.create({message:e,id:n,type:`default`,...t}),n}var A=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,j=Object.assign(k,{success:O.success,info:O.info,warning:O.warning,error:O.error,custom:O.custom,message:O.message,promise:O.promise,dismiss:O.dismiss,loading:O.loading},{getHistory:()=>O.toasts,getToasts:()=>O.getActiveToasts()});function M(e){return e.label!==void 0}var N=3,P=`24px`,F=`16px`,I=4e3,L=356,R=14,te=45,ne=200;function z(){let e=n(!1);return v(()=>{let t=()=>{e.value=document.hidden};return document.addEventListener(`visibilitychange`,t),()=>window.removeEventListener(`visibilitychange`,t)}),{isDocumentHidden:e}}function B(...e){return e.filter(Boolean).join(` `)}function V(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}function re(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?F:P;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var ie=[`data-rich-colors`,`data-styled`,`data-mounted`,`data-promise`,`data-swiped`,`data-removed`,`data-visible`,`data-y-position`,`data-x-position`,`data-index`,`data-front`,`data-swiping`,`data-dismissible`,`data-type`,`data-invert`,`data-swipe-out`,`data-swipe-direction`,`data-expanded`,`data-testid`],ae=[`aria-label`,`data-disabled`,`data-close-button-position`],oe=o({__name:`Toast`,props:{toast:{},toasts:{},index:{},swipeDirections:{},expanded:{type:Boolean},invert:{type:Boolean},heights:{},gap:{},position:{},closeButtonPosition:{},visibleToasts:{},expandByDefault:{type:Boolean},closeButton:{type:Boolean},interacting:{type:Boolean},style:{},cancelButtonStyle:{},actionButtonStyle:{},duration:{},class:{},unstyled:{type:Boolean},descriptionClass:{},loadingIcon:{},classes:{},icons:{},closeButtonAriaLabel:{},defaultRichColors:{type:Boolean}},emits:[`update:heights`,`update:height`,`removeToast`],setup(r,{emit:o}){let m=r,_=o,x=n(null),w=n(null),D=n(!1),O=n(!1),k=n(!1),A=n(!1),j=n(!1),N=n(0),P=n(0),F=n(m.toast.duration||m.duration||I),L=n(null),R=n(null),re=T(()=>m.index===0),oe=T(()=>m.index+1<=m.visibleToasts),H=T(()=>m.toast.type),U=T(()=>m.toast.dismissible!==!1),se=T(()=>m.toast.class||``),ce=T(()=>m.descriptionClass||``),W=T(()=>{let e=m.toast.position||m.position,t=m.heights.filter(t=>t.position===e).findIndex(e=>e.toastId===m.toast.id);return t>=0?t:0}),le=T(()=>{let e=m.toast.position||m.position;return m.heights.filter(t=>t.position===e).reduce((e,t,n)=>n>=W.value?e:e+t.height,0)}),G=T(()=>W.value*m.gap+le.value||0),ue=T(()=>m.toast.closeButton??m.closeButton),de=T(()=>m.toast.duration||m.duration||I),K=n(0),q=n(0),J=n(null),Y=T(()=>m.position.split(`-`)),fe=T(()=>Y.value[0]),pe=T(()=>Y.value[1]),me=T(()=>typeof m.toast.title!=`string`),he=T(()=>typeof m.toast.description!=`string`),{isDocumentHidden:X}=z(),Z=T(()=>H.value&&H.value===`loading`);b(()=>{D.value=!0,F.value=de.value}),v(async()=>{if(!D.value||!R.value)return;await ee();let e=R.value,t=e.style.height;e.style.height=`auto`;let n=e.getBoundingClientRect().height;e.style.height=t,P.value=n,_(`update:height`,{toastId:m.toast.id,height:n,position:m.toast.position||m.position})});function Q(){O.value=!0,N.value=G.value,setTimeout(()=>{_(`removeToast`,m.toast)},ne)}function $(){if(Z.value||!U.value)return{};Q(),m.toast.onDismiss?.(m.toast)}function ge(e){e.button!==2&&(Z.value||!U.value||(L.value=new Date,N.value=G.value,e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(k.value=!0,J.value={x:e.clientX,y:e.clientY})))}function _e(){if(A.value||!U.value)return;J.value=null;let e=Number(R.value?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(R.value?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),n=new Date().getTime()-(L.value?.getTime()||0),r=x.value===`x`?e:t,i=Math.abs(r)/n;if(Math.abs(r)>=te||i>.11){N.value=G.value,m.toast.onDismiss?.(m.toast),x.value===`x`?w.value=e>0?`right`:`left`:w.value=t>0?`down`:`up`,Q(),A.value=!0;return}else R.value?.style.setProperty(`--swipe-amount-x`,`0px`),R.value?.style.setProperty(`--swipe-amount-y`,`0px`);j.value=!1,k.value=!1,x.value=null}function ve(e){if(!J.value||!U.value||(window?.getSelection()?.toString()?.length??!1))return;let t=e.clientY-J.value.y,n=e.clientX-J.value.x,r=m.swipeDirections??V(m.position);!x.value&&(Math.abs(n)>1||Math.abs(t)>1)&&(x.value=Math.abs(n)>Math.abs(t)?`x`:`y`);let i={x:0,y:0},a=e=>1/(1.5+Math.abs(e)/20);if(x.value===`y`){if(r.includes(`top`)||r.includes(`bottom`))if(r.includes(`top`)&&t<0||r.includes(`bottom`)&&t>0)i.y=t;else{let e=t*a(t);i.y=Math.abs(e)<Math.abs(t)?e:t}}else if(x.value===`x`&&(r.includes(`left`)||r.includes(`right`)))if(r.includes(`left`)&&n<0||r.includes(`right`)&&n>0)i.x=n;else{let e=n*a(n);i.x=Math.abs(e)<Math.abs(n)?e:n}(Math.abs(i.x)>0||Math.abs(i.y)>0)&&(j.value=!0),R.value?.style.setProperty(`--swipe-amount-x`,`${i.x}px`),R.value?.style.setProperty(`--swipe-amount-y`,`${i.y}px`)}b(()=>{if(D.value=!0,!R.value)return;let e=R.value.getBoundingClientRect().height;P.value=e,_(`update:heights`,[{toastId:m.toast.id,height:e,position:m.toast.position},...m.heights])}),S(()=>{R.value&&_(`removeToast`,m.toast)}),v(e=>{if(m.toast.promise&&H.value===`loading`||m.toast.duration===1/0||m.toast.type===`loading`)return;let t;m.expanded||m.interacting||X.value?(()=>{if(q.value<K.value){let e=new Date().getTime()-K.value;F.value-=e}q.value=new Date().getTime()})():F.value!==1/0&&(K.value=new Date().getTime(),t=setTimeout(()=>{m.toast.onAutoClose?.(m.toast),Q()},F.value)),e(()=>{clearTimeout(t)})}),y(()=>m.toast.delete,e=>{e!==void 0&&e&&(Q(),m.toast.onDismiss?.(m.toast))},{deep:!0});function ye(){k.value=!1,x.value=null,J.value=null}return(n,r)=>(h(),d(`li`,{tabindex:`0`,ref_key:`toastRef`,ref:R,class:a(l(B)(m.class,se.value,n.classes?.toast,n.toast.classes?.toast,n.classes?.[H.value],n.toast?.classes?.[H.value])),"data-sonner-toast":``,"data-rich-colors":n.toast.richColors??n.defaultRichColors,"data-styled":!(n.toast.component||n.toast?.unstyled||n.unstyled),"data-mounted":D.value,"data-promise":!!n.toast.promise,"data-swiped":j.value,"data-removed":O.value,"data-visible":oe.value,"data-y-position":fe.value,"data-x-position":pe.value,"data-index":n.index,"data-front":re.value,"data-swiping":k.value,"data-dismissible":U.value,"data-type":H.value,"data-invert":n.toast.invert||n.invert,"data-swipe-out":A.value,"data-swipe-direction":w.value,"data-expanded":!!(n.expanded||n.expandByDefault&&D.value),"data-testid":n.toast.testId,style:u({"--index":n.index,"--toasts-before":n.index,"--z-index":n.toasts.length-n.index,"--offset":`${O.value?N.value:G.value}px`,"--initial-height":n.expandByDefault?`auto`:`${P.value}px`,...n.style,...m.toast.style}),onDragend:ye,onPointerdown:ge,onPointerup:_e,onPointermove:ve},[ue.value&&!n.toast.component&&H.value!==`loading`?(h(),d(`button`,{key:0,"aria-label":n.closeButtonAriaLabel||`Close toast`,"data-disabled":Z.value,"data-close-button":`true`,"data-close-button-position":n.closeButtonPosition,class:a(l(B)(n.classes?.closeButton,n.toast?.classes?.closeButton)),onClick:$},[n.icons?.close?(h(),f(C(n.icons?.close),{key:0})):g(n.$slots,`close-icon`,{key:1})],10,ae)):i(`v-if`,!0),n.toast.component?(h(),f(C(n.toast.component),e({key:1},n.toast.componentProps,{onCloseToast:$,isPaused:n.$props.expanded||n.$props.interacting||l(X)}),null,16,[`isPaused`])):(h(),d(s,{key:2},[H.value!==`default`||n.toast.icon||n.toast.promise?(h(),d(`div`,{key:0,"data-icon":``,class:a(l(B)(n.classes?.icon,n.toast?.classes?.icon))},[n.toast.icon?(h(),f(C(n.toast.icon),{key:0})):(h(),d(s,{key:1},[H.value===`loading`?g(n.$slots,`loading-icon`,{key:0}):H.value===`success`?g(n.$slots,`success-icon`,{key:1}):H.value===`error`?g(n.$slots,`error-icon`,{key:2}):H.value===`warning`?g(n.$slots,`warning-icon`,{key:3}):H.value===`info`?g(n.$slots,`info-icon`,{key:4}):i(`v-if`,!0)],64))],2)):i(`v-if`,!0),t(`div`,{"data-content":``,class:a(l(B)(n.classes?.content,n.toast?.classes?.content))},[t(`div`,{"data-title":``,class:a(l(B)(n.classes?.title,n.toast.classes?.title))},[me.value?(h(),f(C(n.toast.title),c(e({key:0},n.toast.componentProps)),null,16)):(h(),d(s,{key:1},[p(E(n.toast.title),1)],64))],2),n.toast.description?(h(),d(`div`,{key:0,"data-description":``,class:a(l(B)(n.descriptionClass,ce.value,n.classes?.description,n.toast.classes?.description))},[he.value?(h(),f(C(n.toast.description),c(e({key:0},n.toast.componentProps)),null,16)):(h(),d(s,{key:1},[p(E(n.toast.description),1)],64))],2)):i(`v-if`,!0)],2),n.toast.cancel?(h(),d(`button`,{key:1,style:u(n.toast.cancelButtonStyle||n.cancelButtonStyle),class:a(l(B)(n.classes?.cancelButton,n.toast.classes?.cancelButton)),"data-button":``,"data-cancel":``,onClick:r[0]||=e=>{l(M)(n.toast.cancel)&&U.value&&(n.toast.cancel.onClick?.(e),Q())}},E(l(M)(n.toast.cancel)?n.toast.cancel?.label:n.toast.cancel),7)):i(`v-if`,!0),n.toast.action?(h(),d(`button`,{key:2,style:u(n.toast.actionButtonStyle||n.actionButtonStyle),class:a(l(B)(n.classes?.actionButton,n.toast.classes?.actionButton)),"data-button":``,"data-action":``,onClick:r[1]||=e=>{l(M)(n.toast.action)&&(n.toast.action.onClick?.(e),!e.defaultPrevented&&Q())}},E(l(M)(n.toast.action)?n.toast.action?.label:n.toast.action),7)):i(`v-if`,!0)],64))],46,ie))}}),H=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},U={},se={xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stoke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`};function ce(e,n){return h(),d(`svg`,se,n[0]||=[t(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`},null,-1),t(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`},null,-1)])}var W=H(U,[[`render`,ce]]),le=[`data-visible`],G={class:`sonner-spinner`},ue=o({__name:`Loader`,props:{visible:{type:Boolean}},setup(e){let n=Array(12).fill(0);return(e,r)=>(h(),d(`div`,{class:`sonner-loading-wrapper`,"data-visible":e.visible},[t(`div`,G,[(h(!0),d(s,null,x(l(n),e=>(h(),d(`div`,{key:`spinner-bar-${e}`,class:`sonner-loading-bar`}))),128))])],8,le))}}),de={},K={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function q(e,n){return h(),d(`svg`,K,n[0]||=[t(`path`,{"fill-rule":`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,"clip-rule":`evenodd`},null,-1)])}var J=H(de,[[`render`,q]]),Y={},fe={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function pe(e,n){return h(),d(`svg`,fe,n[0]||=[t(`path`,{"fill-rule":`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,"clip-rule":`evenodd`},null,-1)])}var me=H(Y,[[`render`,pe]]),he={},X={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`};function Z(e,n){return h(),d(`svg`,X,n[0]||=[t(`path`,{"fill-rule":`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,"clip-rule":`evenodd`},null,-1)])}var Q=H(he,[[`render`,Z]]),$={},ge={xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`};function _e(e,n){return h(),d(`svg`,ge,n[0]||=[t(`path`,{"fill-rule":`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z`,"clip-rule":`evenodd`},null,-1)])}var ve=H($,[[`render`,_e]]),ye=[`aria-label`],be=[`data-sonner-theme`,`dir`,`data-theme`,`data-rich-colors`,`data-y-position`,`data-x-position`],xe=typeof window<`u`&&typeof document<`u`;function Se(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}var Ce=o({name:`Toaster`,inheritAttrs:!1,__name:`Toaster`,props:{id:{},invert:{type:Boolean,default:!1},theme:{default:`light`},position:{default:`bottom-right`},closeButtonPosition:{default:`top-left`},hotkey:{default:()=>[`altKey`,`KeyT`]},richColors:{type:Boolean,default:!1},expand:{type:Boolean,default:!1},duration:{},gap:{default:R},visibleToasts:{default:N},closeButton:{type:Boolean,default:!1},toastOptions:{default:()=>({})},class:{default:``},style:{},offset:{default:P},mobileOffset:{default:F},dir:{default:`auto`},swipeDirections:{},icons:{},containerAriaLabel:{default:`Notifications`}},setup(o){let c=o,p=_(),m=n([]),y=T(()=>c.id?m.value.filter(e=>e.toasterId===c.id):m.value.filter(e=>!e.toasterId));function b(e,t){return y.value.filter(n=>!n.position&&t===0||n.position===e)}let S=T(()=>{let e=y.value.filter(e=>e.position).map(e=>e.position);return e.length>0?Array.from(new Set([c.position].concat(e))):[c.position]}),C=T(()=>{let e={};return S.value.forEach(t=>{e[t]=m.value.filter(e=>e.position===t)}),e}),E=n([]),D=n({}),k=n(!1);v(()=>{S.value.forEach(e=>{e in D.value||(D.value[e]=!1)})});let A=n(c.theme===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:c.theme),j=n(null),M=n(null),N=n(!1),P=c.hotkey.join(`+`).replace(/Key/g,``).replace(/Digit/g,``);function F(e){m.value.find(t=>t.id===e.id)?.delete||O.dismiss(e.id),m.value=m.value.filter(({id:t})=>t!==e.id),setTimeout(()=>{m.value.find(t=>t.id===e.id)||(E.value=E.value.filter(t=>t.toastId!==e.id))},ne+50)}function I(e){N.value&&!e.currentTarget?.contains?.(e.relatedTarget)&&(N.value=!1,M.value&&=(M.value.focus({preventScroll:!0}),null))}function R(e){e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||N.value||(N.value=!0,M.value=e.relatedTarget)}function te(e){e.target&&e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||(k.value=!0)}v(e=>{e(O.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{m.value=m.value.map(t=>t.id===e.id?{...t,delete:!0}:t)});return}ee(()=>{let t=m.value.findIndex(t=>t.id===e.id);t===-1?m.value=[e,...m.value]:m.value=[...m.value.slice(0,t),{...m.value[t],...e},...m.value.slice(t+1)]})}))}),v(e=>{if(typeof window>`u`)return;if(c.theme!==`system`){A.value=c.theme;return}let t=window.matchMedia(`(prefers-color-scheme: dark)`),n=e=>{A.value=e?`dark`:`light`};n(t.matches);let r=e=>{n(e.matches)};try{t.addEventListener(`change`,r)}catch{t.addListener(r)}e(()=>{try{t.removeEventListener(`change`,r)}catch{t.removeListener(r)}})}),v(()=>{j.value&&M.value&&(M.value.focus({preventScroll:!0}),M.value=null,N.value=!1)}),v(()=>{m.value.length<=1&&Object.keys(D.value).forEach(e=>{D.value[e]=!1})}),v(e=>{function t(e){let t=c.hotkey.every(t=>e[t]||e.code===t),n=Array.isArray(j.value)?j.value[0]:j.value;t&&(S.value.forEach(e=>{D.value[e]=!0}),n?.focus());let r=document.activeElement===j.value||n?.contains(document.activeElement);e.code===`Escape`&&r&&S.value.forEach(e=>{D.value[e]=!1})}xe&&(document.addEventListener(`keydown`,t),e(()=>{document.removeEventListener(`keydown`,t)}))});function z(e){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);D.value[n]=!0}function B(e){if(!k.value){let t=e.currentTarget,n=t.getAttribute(`data-y-position`)+`-`+t.getAttribute(`data-x-position`);D.value[n]=!1}}function V(){Object.keys(D.value).forEach(e=>{D.value[e]=!1})}function ie(){k.value=!1}function ae(e){E.value=e}function H(e){let t=E.value.findIndex(t=>t.toastId===e.toastId);if(t!==-1)E.value[t]=e;else{let t=E.value.findIndex(t=>t.position===e.position);t===-1?E.value.unshift(e):E.value.splice(t,0,e)}}return(n,o)=>(h(),d(s,null,[i(` Remove item from normal navigation flow, only available via hotkey `),t(`section`,{"aria-label":`${n.containerAriaLabel} ${l(P)}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`},[(h(!0),d(s,null,x(S.value,(t,i)=>(h(),d(`ol`,e({key:t,ref_for:!0,ref_key:`listRef`,ref:j,"data-sonner-toaster":``,"data-sonner-theme":A.value,class:c.class,dir:n.dir===`auto`?Se():n.dir,tabIndex:-1,"data-theme":n.theme,"data-rich-colors":n.richColors,"data-y-position":t.split(`-`)[0],"data-x-position":t.split(`-`)[1],style:{"--front-toast-height":`${E.value[0]?.height||0}px`,"--width":`${l(L)}px`,"--gap":`${n.gap}px`,...n.style,...l(p).style,...l(re)(n.offset,n.mobileOffset)}},{ref_for:!0},n.$attrs,{onBlur:I,onFocus:R,onMouseenter:z,onMousemove:z,onMouseleave:B,onDragend:V,onPointerdown:te,onPointerup:ie}),[(h(!0),d(s,null,x(b(t,i),(e,i)=>(h(),f(oe,{key:e.id,heights:E.value,icons:n.icons,index:i,toast:e,defaultRichColors:n.richColors,duration:n.toastOptions?.duration??n.duration,class:a(n.toastOptions?.class??``),descriptionClass:n.toastOptions?.descriptionClass,invert:n.invert,visibleToasts:n.visibleToasts,closeButton:n.toastOptions?.closeButton??n.closeButton,interacting:k.value,position:t,closeButtonPosition:n.toastOptions?.closeButtonPosition??n.closeButtonPosition,style:u(n.toastOptions?.style),unstyled:n.toastOptions?.unstyled,classes:n.toastOptions?.classes,cancelButtonStyle:n.toastOptions?.cancelButtonStyle,actionButtonStyle:n.toastOptions?.actionButtonStyle,"close-button-aria-label":n.toastOptions?.closeButtonAriaLabel,toasts:C.value[t],expandByDefault:n.expand,gap:n.gap,expanded:D.value[t]||!1,swipeDirections:c.swipeDirections,"onUpdate:heights":ae,"onUpdate:height":H,onRemoveToast:F},{"close-icon":w(()=>[g(n.$slots,`close-icon`,{},()=>[r(W)])]),"loading-icon":w(()=>[g(n.$slots,`loading-icon`,{},()=>[r(ue,{visible:e.type===`loading`},null,8,[`visible`])])]),"success-icon":w(()=>[g(n.$slots,`success-icon`,{},()=>[r(J)])]),"error-icon":w(()=>[g(n.$slots,`error-icon`,{},()=>[r(ve)])]),"warning-icon":w(()=>[g(n.$slots,`warning-icon`,{},()=>[r(Q)])]),"info-icon":w(()=>[g(n.$slots,`info-icon`,{},()=>[r(me)])]),_:2},1032,[`heights`,`icons`,`index`,`toast`,`defaultRichColors`,`duration`,`class`,`descriptionClass`,`invert`,`visibleToasts`,`closeButton`,`interacting`,`position`,`closeButtonPosition`,`style`,`unstyled`,`classes`,`cancelButtonStyle`,`actionButtonStyle`,`close-button-aria-label`,`toasts`,`expandByDefault`,`gap`,`expanded`,`swipeDirections`]))),128))],16,be))),128))],8,ye)],2112))}});export{j as n,Ce as t};
@@ -1 +1 @@
1
- import{t as e}from"./createLucideIcon-igIAnu_Y.js";var t=e(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]);function n(e){return typeof e==`string`?`'${e}'`:new r().serialize(e)}var r=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?e.localeCompare(t):n===`number`&&r===`number`?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t?.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e}();function i(e,t){return e===t||n(e)===n(t)}export{t as n,i as t};
1
+ import{t as e}from"./createLucideIcon-Biq59l_W.js";var t=e(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]);function n(e){return typeof e==`string`?`'${e}'`:new r().serialize(e)}var r=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?e.localeCompare(t):n===`number`&&r===`number`?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t?.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e}();function i(e,t){return e===t||n(e)===n(t)}export{t as n,i as t};
@@ -1 +1 @@
1
- import{Et as e}from"./button-BKJB3nEQ.js";var t=2e3;function n(){let n=e(!1);async function i(e){try{return navigator.clipboard?.writeText?await navigator.clipboard.writeText(e):r(e),n.value=!0,setTimeout(()=>{n.value=!1},t),!0}catch{try{return r(e),n.value=!0,setTimeout(()=>{n.value=!1},t),!0}catch{return!1}}}return{copied:n,copy:i}}function r(e){let t=document.createElement(`textarea`);if(t.value=e,t.style.cssText=`position:fixed;left:-9999px;opacity:0`,document.body.appendChild(t),t.select(),!document.execCommand(`copy`))throw Error(`execCommand copy failed`);document.body.removeChild(t)}export{n as t};
1
+ import{Et as e}from"./button-Dbz2Be22.js";var t=2e3;function n(){let n=e(!1);async function i(e){try{return navigator.clipboard?.writeText?await navigator.clipboard.writeText(e):r(e),n.value=!0,setTimeout(()=>{n.value=!1},t),!0}catch{try{return r(e),n.value=!0,setTimeout(()=>{n.value=!1},t),!0}catch{return!1}}}return{copied:n,copy:i}}function r(e){let t=document.createElement(`textarea`);if(t.value=e,t.style.cssText=`position:fixed;left:-9999px;opacity:0`,document.body.appendChild(t),t.select(),!document.execCommand(`copy`))throw Error(`execCommand copy failed`);document.body.removeChild(t)}export{n as t};
@@ -1 +1 @@
1
- import{Et as e,Nt as t,it as n,l as r,q as i,z as a}from"./button-BKJB3nEQ.js";function o(){let o=i(),s=e(),c=a(()=>l());n(()=>{c.value!==l()&&t(s)});function l(){return s.value&&`$el`in s.value&&[`#text`,`#comment`].includes(s.value.$el.nodeName)?s.value.$el.nextElementSibling:r(s)}let u=Object.assign({},o.exposed),d={};for(let e in o.props)Object.defineProperty(d,e,{enumerable:!0,configurable:!0,get:()=>o.props[e]});if(Object.keys(u).length>0)for(let e in u)Object.defineProperty(d,e,{enumerable:!0,configurable:!0,get:()=>u[e]});Object.defineProperty(d,`$el`,{enumerable:!0,configurable:!0,get:()=>o.vnode.el}),o.exposed=d;function f(e){if(s.value=e,e&&(Object.defineProperty(d,`$el`,{enumerable:!0,configurable:!0,get:()=>e instanceof Element?e:e.$el}),!(e instanceof Element)&&!Object.hasOwn(e,`$el`))){let t=e.$.exposed,n=Object.assign({},d);for(let e in t)Object.defineProperty(n,e,{enumerable:!0,configurable:!0,get:()=>t[e]});o.exposed=n}}return{forwardRef:f,currentRef:s,currentElement:c}}export{o as t};
1
+ import{Et as e,Nt as t,it as n,l as r,q as i,z as a}from"./button-Dbz2Be22.js";function o(){let o=i(),s=e(),c=a(()=>l());n(()=>{c.value!==l()&&t(s)});function l(){return s.value&&`$el`in s.value&&[`#text`,`#comment`].includes(s.value.$el.nodeName)?s.value.$el.nextElementSibling:r(s)}let u=Object.assign({},o.exposed),d={};for(let e in o.props)Object.defineProperty(d,e,{enumerable:!0,configurable:!0,get:()=>o.props[e]});if(Object.keys(u).length>0)for(let e in u)Object.defineProperty(d,e,{enumerable:!0,configurable:!0,get:()=>u[e]});Object.defineProperty(d,`$el`,{enumerable:!0,configurable:!0,get:()=>o.vnode.el}),o.exposed=d;function f(e){if(s.value=e,e&&(Object.defineProperty(d,`$el`,{enumerable:!0,configurable:!0,get:()=>e instanceof Element?e:e.$el}),!(e instanceof Element)&&!Object.hasOwn(e,`$el`))){let t=e.$.exposed,n=Object.assign({},d);for(let e in t)Object.defineProperty(n,e,{enumerable:!0,configurable:!0,get:()=>t[e]});o.exposed=n}}return{forwardRef:f,currentRef:s,currentElement:c}}export{o as t};
@@ -0,0 +1 @@
1
+ import{Et as e,O as t}from"./button-Dbz2Be22.js";import{n}from"./lib-B0lieqgg.js";var r=3;function i(){let i=e(r),a=e(!1);async function o(){a.value=!0;try{i.value=(await t.setLogRetention(i.value)).days,n.success(`日志保留天数已更新`)}catch{n.error(`更新保留天数失败`)}finally{a.value=!1}}async function s(){try{let{days:e}=await t.getLogRetention();i.value=e}catch{n.error(`加载保留天数失败,使用默认值`)}}return{retentionDays:i,retentionSaving:a,saveRetention:o,loadRetention:s}}export{i as t};
@@ -0,0 +1 @@
1
+ import{Et as e,z as t}from"./button-Dbz2Be22.js";import{t as n}from"./createLucideIcon-Biq59l_W.js";import{h as r}from"./Teleport-B0PNXZbP.js";var i=n(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]);function a(e,t=-1/0,n=1/0){return Math.min(n,Math.max(t,e))}function o(n){let i=r({nonce:e()});return t(()=>n?.value||i.nonce?.value)}export{a as n,i as r,o as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-Biq59l_W.js";var t=e(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]);export{t};
@@ -5,14 +5,14 @@
5
5
  <link rel="icon" type="image/svg+xml" href="/admin/favicon.svg" />
6
6
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
7
  <title>frontend</title>
8
- <script type="module" crossorigin src="/admin/assets/index-BrDOp_gc.js"></script>
9
- <link rel="modulepreload" crossorigin href="/admin/assets/button-BKJB3nEQ.js">
10
- <link rel="modulepreload" crossorigin href="/admin/assets/createLucideIcon-igIAnu_Y.js">
11
- <link rel="modulepreload" crossorigin href="/admin/assets/file-text-Ci7Mgh3F.js">
12
- <link rel="modulepreload" crossorigin href="/admin/assets/x-Cy_v5hrA.js">
13
- <link rel="modulepreload" crossorigin href="/admin/assets/lib-BGW4QyKP.js">
14
- <link rel="modulepreload" crossorigin href="/admin/assets/badge-BTjuxlp4.js">
15
- <link rel="stylesheet" crossorigin href="/admin/assets/index-DMdVJThL.css">
8
+ <script type="module" crossorigin src="/admin/assets/index-0H2uCGbx.js"></script>
9
+ <link rel="modulepreload" crossorigin href="/admin/assets/button-Dbz2Be22.js">
10
+ <link rel="modulepreload" crossorigin href="/admin/assets/createLucideIcon-Biq59l_W.js">
11
+ <link rel="modulepreload" crossorigin href="/admin/assets/file-text-DoRW0hQW.js">
12
+ <link rel="modulepreload" crossorigin href="/admin/assets/x-BlTnH_0_.js">
13
+ <link rel="modulepreload" crossorigin href="/admin/assets/lib-B0lieqgg.js">
14
+ <link rel="modulepreload" crossorigin href="/admin/assets/badge-C-QcC5n2.js">
15
+ <link rel="stylesheet" crossorigin href="/admin/assets/index-D-cdVNCb.css">
16
16
  </head>
17
17
  <body>
18
18
  <div id="app"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "llm-simple-router",
3
- "version": "0.4.2",
3
+ "version": "0.5.0",
4
4
  "description": "LLM API proxy router with OpenAI/Anthropic support, model mapping, retry strategies, and admin dashboard",
5
5
  "license": "MIT",
6
6
  "author": "ZZzzswszzZZ",
@@ -1 +0,0 @@
1
- import{$ as e,F as t,G as n,H as r,I as i,J as a,K as o,Lt as s,Pt as c,V as l,at as u,b as d,ct as f,i as p,p as m,r as h,ut as g,vt as _,z as v}from"./button-BKJB3nEQ.js";import{n as y,t as b}from"./ohash.D__AXeF1-CsY_LBk-.js";import{S as x,c as S,f as C,y as w}from"./Collection-GDvpW_uY.js";import{n as T}from"./VisuallyHidden-DPKPka_x.js";import{t as E}from"./useForwardExpose-bqtcPo63.js";import{t as D}from"./VisuallyHiddenInput-Bnglr6yR.js";import{s as O}from"./TableHeader-B2A48qgy.js";function k(e,t){return w(e)?!1:Array.isArray(e)?e.some(e=>b(e,t)):b(e,t)}var[A,j]=x(`CheckboxGroupRoot`);function M(e){return e===`indeterminate`}function N(e){return M(e)?`indeterminate`:e?`checked`:`unchecked`}var[P,F]=x(`CheckboxRoot`),I=o({inheritAttrs:!1,__name:`CheckboxRoot`,props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},value:{type:null,required:!1,default:`on`},id:{type:String,required:!1},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`],setup(n,{emit:a}){let o=n,s=a,{forwardRef:d,currentElement:h}=E(),y=A(null),x=m(o,`modelValue`,s,{defaultValue:o.defaultValue??o.falseValue,passive:o.modelValue===void 0}),S=v(()=>y?.disabled.value||o.disabled),C=v(()=>b(x.value,o.trueValue)),j=v(()=>w(y?.modelValue.value)?x.value===`indeterminate`?`indeterminate`:C.value:k(y.modelValue.value,o.value));function P(){if(w(y?.modelValue.value))x.value===`indeterminate`?x.value=o.trueValue:x.value=C.value?o.falseValue:o.trueValue;else{let e=[...y.modelValue.value||[]];if(k(e,o.value)){let t=e.findIndex(e=>b(e,o.value));e.splice(t,1)}else e.push(o.value);y.modelValue.value=e}}let I=T(h),L=v(()=>o.id&&h.value?document.querySelector(`[for="${o.id}"]`)?.innerText:void 0);return F({disabled:S,state:j}),(n,a)=>(u(),l(g(c(y)?.rovingFocus.value?c(O):c(p)),e(n.$attrs,{id:n.id,ref:c(d),role:`checkbox`,"as-child":n.asChild,as:n.as,type:n.as===`button`?`button`:void 0,"aria-checked":c(M)(j.value)?`mixed`:j.value,"aria-required":n.required,"aria-label":n.$attrs[`aria-label`]||L.value,"data-state":c(N)(j.value),"data-disabled":S.value?``:void 0,disabled:S.value,focusable:c(y)?.rovingFocus.value?!S.value:void 0,onKeydown:t(i(()=>{},[`prevent`]),[`enter`]),onClick:P}),{default:_(()=>[f(n.$slots,`default`,{modelValue:c(x),state:j.value}),c(I)&&n.name&&!c(y)?(u(),l(c(D),{key:0,type:`checkbox`,checked:!!j.value,name:n.name,value:n.value,disabled:S.value,required:n.required},null,8,[`checked`,`name`,`value`,`disabled`,`required`])):r(`v-if`,!0)]),_:3},16,[`id`,`as-child`,`as`,`type`,`aria-checked`,`aria-required`,`aria-label`,`data-state`,`data-disabled`,`disabled`,`focusable`,`onKeydown`]))}}),L=o({__name:`CheckboxIndicator`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(t){let{forwardRef:r}=E(),i=P();return(t,a)=>(u(),l(c(S),{present:t.forceMount||c(M)(c(i).state.value)||c(i).state.value===!0},{default:_(()=>[n(c(p),e({ref:c(r),"data-state":c(N)(c(i).state.value),"data-disabled":c(i).disabled.value?``:void 0,style:{pointerEvents:`none`},"as-child":t.asChild,as:t.as},t.$attrs),{default:_(()=>[f(t.$slots,`default`)]),_:3},16,[`data-state`,`data-disabled`,`as-child`,`as`])]),_:3},8,[`present`]))}}),R=o({__name:`Checkbox`,props:{defaultValue:{},modelValue:{},disabled:{type:Boolean},value:{},id:{},trueValue:{},falseValue:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`],setup(t,{emit:r}){let i=t,o=r,p=C(d(i,`class`),o);return(t,r)=>(u(),l(c(I),e({"data-slot":`checkbox`},c(p),{class:c(h)(`border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary aria-invalid:aria-checked:border-primary aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 flex size-4 items-center justify-center rounded-md border transition-colors group-has-disabled/field:opacity-50 focus-visible:ring-3 aria-invalid:ring-3 peer relative shrink-0 outline-none after:absolute after:-inset-x-3 after:-inset-y-2 disabled:cursor-not-allowed disabled:opacity-50`,i.class)}),{default:_(e=>[n(c(L),{"data-slot":`checkbox-indicator`,class:`[&>svg]:size-3.5 grid place-content-center text-current transition-none`},{default:_(()=>[f(t.$slots,`default`,s(a(e)),()=>[n(c(y))])]),_:2},1024)]),_:3},16,[`class`]))}});export{R as t};
@@ -1 +0,0 @@
1
- import{$ as e,Et as t,G as n,H as r,J as i,K as a,Lt as o,Pt as s,V as c,at as l,ct as u,et as d,ht as f,i as p,jt as m,nt as h,p as g,u as _,vt as v,z as y}from"./button-BKJB3nEQ.js";import{S as b,c as x,f as S,u as C}from"./Collection-GDvpW_uY.js";import{t as w}from"./useForwardExpose-bqtcPo63.js";var[T,E]=b(`CollapsibleRoot`),D=a({__name:`CollapsibleRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:open`],setup(e,{expose:t,emit:n}){let r=e,i=g(r,`open`,n,{defaultValue:r.defaultOpen,passive:r.open===void 0}),{disabled:a,unmountOnHide:o}=m(r);return E({contentId:``,disabled:a,open:i,unmountOnHide:o,onOpenToggle:()=>{a.value||(i.value=!i.value)}}),t({open:i}),w(),(e,t)=>(l(),c(s(p),{as:e.as,"as-child":r.asChild,"data-state":s(i)?`open`:`closed`,"data-disabled":s(a)?``:void 0},{default:v(()=>[u(e.$slots,`default`,{open:s(i)})]),_:3},8,[`as`,`as-child`,`data-state`,`data-disabled`]))}}),O=a({inheritAttrs:!1,__name:`CollapsibleContent`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`contentFound`],setup(i,{emit:a}){let o=i,m=a,g=T();g.contentId||=C(void 0,`reka-collapsible-content`);let b=t(),{forwardRef:S,currentElement:E}=w(),D=t(0),O=t(0),k=y(()=>g.open.value),A=t(k.value),j=t();f(()=>[k.value,b.value?.present],async()=>{await d();let e=E.value;if(!e)return;j.value=j.value||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration=`0s`,e.style.animationName=`none`;let t=e.getBoundingClientRect();O.value=t.height,D.value=t.width,A.value||(e.style.transitionDuration=j.value.transitionDuration,e.style.animationName=j.value.animationName)},{immediate:!0});let M=y(()=>A.value&&g.open.value);return h(()=>{requestAnimationFrame(()=>{A.value=!1})}),_(E,`beforematch`,e=>{requestAnimationFrame(()=>{g.onOpenToggle(),m(`contentFound`)})}),(t,i)=>(l(),c(s(x),{ref_key:`presentRef`,ref:b,present:t.forceMount||s(g).open.value,"force-mount":!0},{default:v(({present:i})=>[n(s(p),e(t.$attrs,{id:s(g).contentId,ref:s(S),"as-child":o.asChild,as:t.as,hidden:i?void 0:s(g).unmountOnHide.value?``:`until-found`,"data-state":M.value?void 0:s(g).open.value?`open`:`closed`,"data-disabled":s(g).disabled?.value?``:void 0,style:{"--reka-collapsible-content-height":`${O.value}px`,"--reka-collapsible-content-width":`${D.value}px`}}),{default:v(()=>[!s(g).unmountOnHide.value||i?u(t.$slots,`default`,{key:0}):r(`v-if`,!0)]),_:2},1040,[`id`,`as-child`,`as`,`hidden`,`data-state`,`data-disabled`,`style`])]),_:3},8,[`present`]))}}),k=a({__name:`CollapsibleTrigger`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;w();let n=T();return(e,r)=>(l(),c(s(p),{type:e.as===`button`?`button`:void 0,as:e.as,"as-child":t.asChild,"aria-controls":s(n).contentId,"aria-expanded":s(n).open.value,"data-state":s(n).open.value?`open`:`closed`,"data-disabled":s(n).disabled?.value?``:void 0,disabled:s(n).disabled?.value,onClick:s(n).onOpenToggle},{default:v(()=>[u(e.$slots,`default`)]),_:3},8,[`type`,`as`,`as-child`,`aria-controls`,`aria-expanded`,`data-state`,`data-disabled`,`disabled`,`onClick`]))}}),A=a({__name:`Collapsible`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},disabled:{type:Boolean},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{}},emits:[`update:open`],setup(t,{emit:n}){let r=S(t,n);return(t,n)=>(l(),c(s(D),e({"data-slot":`collapsible`},s(r)),{default:v(e=>[u(t.$slots,`default`,o(i(e)))]),_:3},16))}}),j=a({__name:`CollapsibleContent`,props:{forceMount:{type:Boolean},asChild:{type:Boolean},as:{}},setup(t){let n=t;return(t,r)=>(l(),c(s(O),e({"data-slot":`collapsible-content`},n),{default:v(()=>[u(t.$slots,`default`)]),_:3},16))}}),M=a({__name:`CollapsibleTrigger`,props:{asChild:{type:Boolean},as:{}},setup(t){let n=t;return(t,r)=>(l(),c(s(k),e({"data-slot":`collapsible-trigger`},n),{default:v(()=>[u(t.$slots,`default`)]),_:3},16))}});export{j as n,A as r,M as t};
@@ -1,3 +0,0 @@
1
- import{At as e,Bt as t,Ct as n,Et as r,Ft as i,H as a,K as o,M as s,Mt as c,Pt as l,R as u,Rt as d,S as f,Tt as p,V as m,X as h,Y as g,_ as ee,a as _,at as v,c as te,ct as y,d as ne,et as b,g as re,gt as x,ht as S,i as C,jt as ie,l as w,o as ae,ot as oe,pt as se,q as T,rt as E,s as ce,u as le,v as D,vt as O,y as k,z as A}from"./button-BKJB3nEQ.js";import{t as j}from"./useForwardExpose-bqtcPo63.js";function M(e,t){let n=typeof e==`string`&&!t?`${e}Context`:t,r=Symbol(n);return[t=>{let n=h(r,t);if(n||n===null)return n;throw Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(`, `)}`:`\`${e}\``}`)},e=>(oe(r,e),e)]}function N(){let e=document.activeElement;if(e==null)return null;for(;e!=null&&e.shadowRoot!=null&&e.shadowRoot.activeElement!=null;)e=e.shadowRoot.activeElement;return e}function P(e,t,n){let r=n.originalEvent.target,i=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&r.addEventListener(e,t,{once:!0}),r.dispatchEvent(i)}function F(e){return e==null}var[I,ue]=M(`ConfigProvider`);function L(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function R(e,t,n=`.`,r){if(!L(t))return R(e,{},n,r);let i={...t};for(let t of Object.keys(e)){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(Array.isArray(a)&&Array.isArray(i[t])?i[t]=[...a,...i[t]]:L(a)&&L(i[t])?i[t]=R(a,i[t],(n?`${n}.`:``)+t.toString(),r):i[t]=a))}return i}function de(e){return(...t)=>t.reduce((t,n)=>R(t,n,``,e),{})}var z=de(),fe=ee(()=>{let e=r(new Map),t=r(),n=A(()=>{for(let t of e.value.values())if(t)return!0;return!1}),i=I({scrollBody:r(!0)}),a=null,o=()=>{document.body.style.paddingRight=``,document.body.style.marginRight=``,document.body.style.pointerEvents=``,document.documentElement.style.removeProperty(`--scrollbar-width`),document.body.style.overflow=t.value??``,k&&a?.(),t.value=void 0};return S(n,(e,r)=>{if(!D)return;if(!e){r&&o();return}t.value===void 0&&(t.value=document.body.style.overflow);let s=window.innerWidth-document.documentElement.clientWidth,c={padding:s,margin:0},l=i.scrollBody?.value?typeof i.scrollBody.value==`object`?z({padding:i.scrollBody.value.padding===!0?s:i.scrollBody.value.padding,margin:i.scrollBody.value.margin===!0?s:i.scrollBody.value.margin},c):c:{padding:0,margin:0};s>0&&(document.body.style.paddingRight=typeof l.padding==`number`?`${l.padding}px`:String(l.padding),document.body.style.marginRight=typeof l.margin==`number`?`${l.margin}px`:String(l.margin),document.documentElement.style.setProperty(`--scrollbar-width`,`${s}px`),document.body.style.overflow=`hidden`),k&&(a=le(document,`touchmove`,e=>he(e),{passive:!1})),b(()=>{n.value&&(document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`)})},{immediate:!0,flush:`sync`}),e});function pe(e){let t=Math.random().toString(36).substring(2,7),n=fe();n.value.set(t,e??!1);let r=A({get:()=>n.value.get(t)??!1,set:e=>n.value.set(t,e)});return f(()=>{n.value.delete(t)}),r}function me(e){let t=window.getComputedStyle(e);if(t.overflowX===`scroll`||t.overflowY===`scroll`||t.overflowX===`auto`&&e.clientWidth<e.scrollWidth||t.overflowY===`auto`&&e.clientHeight<e.scrollHeight)return!0;{let t=e.parentNode;return!(t instanceof Element)||t.tagName===`BODY`?!1:me(t)}}function he(e){let t=e||window.event,n=t.target;return n instanceof Element&&me(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function ge(e){let t=I({dir:r(`ltr`)});return A(()=>e?.value||t.dir?.value||`ltr`)}function _e(e){let n=T(),r=n?.type.emits,a={};return r?.length||console.warn(`No emitted event found. Please check component: ${n?.type.__name}`),r?.forEach(n=>{a[t(i(n))]=(...t)=>e(n,...t)}),a}function ve(t){let n=T(),r=Object.keys(n?.type.props??{}).reduce((e,t)=>{let r=(n?.type.props[t]).default;return r!==void 0&&(e[t]=r),e},{}),a=e(t);return A(()=>{let e={},t=n?.vnode.props??{};return Object.keys(t).forEach(n=>{e[i(n)]=t[n]}),Object.keys({...r,...e}).reduce((e,t)=>(a.value[t]!==void 0&&(e[t]=a.value[t]),e),{})})}function ye(e,t){let n=ve(e),r=t?_e(t):{};return A(()=>({...n.value,...r}))}var be=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},B=new WeakMap,V=new WeakMap,H={},U=0,W=function(e){return e&&(e.host||W(e.parentNode))},xe=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=W(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},Se=function(e,t,n,r){var i=xe(t,Array.isArray(e)?e:[e]);H[n]||(H[n]=new WeakMap);var a=H[n],o=[],s=new Set,c=new Set(i),l=function(e){!e||s.has(e)||(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){!e||c.has(e)||Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(B.get(e)||0)+1,l=(a.get(e)||0)+1;B.set(e,c),a.set(e,l),o.push(e),c===1&&i&&V.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),U++,function(){o.forEach(function(e){var t=B.get(e)-1,i=a.get(e)-1;B.set(e,t),a.set(e,i),t||(V.has(e)||e.removeAttribute(r),V.delete(e)),i||e.removeAttribute(n)}),U--,U||(B=new WeakMap,B=new WeakMap,V=new WeakMap,H={})}},Ce=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||be(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Se(r,i,n,`aria-hidden`)):function(){return null}};function we(e){let t;S(()=>w(e),e=>{let n=!1;try{n=!!e?.closest(`[popover]:not(:popover-open)`)}catch{}e&&!n?t=Ce(e):t&&t()}),E(()=>{t&&t()})}var Te=0;function Ee(e,t=`reka`){if(e)return e;let n;return n=`useId`in s?se?.():I({useId:void 0}).useId?.()??`${++Te}`,t?`${t}-${n}`:n}function G(e,t){let n=r(e);function i(e){return t[n.value][e]??n.value}return{state:n,dispatch:e=>{n.value=i(e)}}}function De(e,t){let n=r({}),i=r(`none`),a=r(e),o=e.value?`mounted`:`unmounted`,s,c=t.value?.ownerDocument.defaultView??ce,{state:l,dispatch:u}=G(o,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),d=e=>{if(D){let n=new CustomEvent(e,{bubbles:!1,cancelable:!1});t.value?.dispatchEvent(n)}};S(e,async(e,r)=>{let a=r!==e;if(await b(),a){let a=i.value,o=K(t.value);e?(u(`MOUNT`),d(`enter`),o===`none`&&d(`after-enter`)):o===`none`||o===`undefined`||n.value?.display===`none`?(u(`UNMOUNT`),d(`leave`),d(`after-leave`)):r&&a!==o?(u(`ANIMATION_OUT`),d(`leave`)):(u(`UNMOUNT`),d(`after-leave`))}},{immediate:!0});let f=e=>{let n=K(t.value),r=n.includes(CSS.escape(e.animationName)),i=l.value===`mounted`?`enter`:`leave`;if(e.target===t.value&&r&&(d(`after-${i}`),u(`ANIMATION_END`),!a.value)){let e=t.value.style.animationFillMode;t.value.style.animationFillMode=`forwards`,s=c?.setTimeout(()=>{t.value?.style.animationFillMode===`forwards`&&(t.value.style.animationFillMode=e)})}e.target===t.value&&n===`none`&&u(`ANIMATION_END`)},p=e=>{e.target===t.value&&(i.value=K(t.value))},m=S(t,(e,t)=>{e?(n.value=getComputedStyle(e),e.addEventListener(`animationstart`,p),e.addEventListener(`animationcancel`,f),e.addEventListener(`animationend`,f)):(u(`ANIMATION_END`),s!==void 0&&c?.clearTimeout(s),t?.removeEventListener(`animationstart`,p),t?.removeEventListener(`animationcancel`,f),t?.removeEventListener(`animationend`,f))},{immediate:!0}),h=S(l,()=>{let e=K(t.value);i.value=l.value===`mounted`?e:`none`});return E(()=>{m(),h()}),{isPresent:A(()=>[`mounted`,`unmountSuspended`].includes(l.value))}}function K(e){return e&&getComputedStyle(e).animationName||`none`}var Oe=o({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:t,expose:n}){let{present:i,forceMount:a}=ie(e),o=r(),{isPresent:s}=De(i,o);n({present:s});let c=t.default({present:s.value});c=ae(c||[]);let l=T();if(c&&c?.length>1){let e=l?.parent?.type.name?`<${l.parent.type.name} />`:`component`;throw Error([`Detected an invalid children for \`${e}\` for \`Presence\` component.`,``,"Note: Presence works similarly to `v-if` directly, but it waits for animation/transition to finished before unmounting. So it expect only one direct child of valid VNode type.",`You can apply a few solutions:`,["Provide a single child element so that `presence` directive attach correctly.",`Ensure the first child is an actual element instead of a raw text node or comment node.`].map(e=>` - ${e}`).join(`
2
- `)].join(`
3
- `))}return()=>a.value||i.value||s.value?g(t.default({present:s.value})[0],{ref:e=>{let t=w(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?o.value=t.firstElementChild:o.value=t),t}}):null}});function q(){let e=r();return{primitiveElement:e,currentElement:A(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:w(e))}}var ke=`dismissableLayer.pointerDownOutside`,Ae=`dismissableLayer.focusOutside`;function J(e,t){if(!(t instanceof Element))return!1;let n=t.closest(`[data-dismissable-layer]`),r=e.dataset.dismissableLayer===``?e:e.querySelector(`[data-dismissable-layer]`),i=Array.from(e.ownerDocument.querySelectorAll(`[data-dismissable-layer]`));return!!(n&&(r===n||i.indexOf(r)<i.indexOf(n)))}function je(e,t,n=!0){let i=t?.value?.ownerDocument??globalThis?.document,a=r(!1),o=r(()=>{});return x(r=>{if(!D||!c(n))return;let s=async n=>{let r=n.target;if(!(!t?.value||!r)){if(J(t.value,r)){a.value=!1;return}if(n.target&&!a.value){let t={originalEvent:n};function r(){P(ke,e,t)}n.pointerType===`touch`?(i.removeEventListener(`click`,o.value),o.value=r,i.addEventListener(`click`,o.value,{once:!0})):r()}else i.removeEventListener(`click`,o.value);a.value=!1}},l=window.setTimeout(()=>{i.addEventListener(`pointerdown`,s)},0);r(()=>{window.clearTimeout(l),i.removeEventListener(`pointerdown`,s),i.removeEventListener(`click`,o.value)})}),{onPointerDownCapture:()=>{c(n)&&(a.value=!0)}}}function Me(e,t,n=!0){let i=t?.value?.ownerDocument??globalThis?.document,a=r(!1);return x(r=>{if(!D||!c(n))return;let o=async n=>{if(!t?.value)return;await b(),await b();let r=n.target;!t.value||!r||J(t.value,r)||n.target&&!a.value&&P(Ae,e,{originalEvent:n})};i.addEventListener(`focusin`,o),r(()=>i.removeEventListener(`focusin`,o))}),{onFocusCapture:()=>{c(n)&&(a.value=!0)},onBlurCapture:()=>{c(n)&&(a.value=!1)}}}var Y=p({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set}),Ne=o({__name:`DismissableLayer`,props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`dismiss`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i,currentElement:a}=j(),o=A(()=>a.value?.ownerDocument??globalThis.document),s=A(()=>Y.layersRoot),c=A(()=>a.value?Array.from(s.value).indexOf(a.value):-1),u=A(()=>Y.layersWithOutsidePointerEventsDisabled.size>0),f=A(()=>{let e=Array.from(s.value),[t]=[...Y.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return c.value>=n}),p=je(async e=>{let t=[...Y.branches].some(t=>t?.contains(e.target));!f.value||t||(r(`pointerDownOutside`,e),r(`interactOutside`,e),await b(),e.defaultPrevented||r(`dismiss`))},a),h=Me(e=>{[...Y.branches].some(t=>t?.contains(e.target))||(r(`focusOutside`,e),r(`interactOutside`,e),e.defaultPrevented||r(`dismiss`))},a);return te(`Escape`,e=>{c.value===s.value.size-1&&(r(`escapeKeyDown`,e),e.defaultPrevented||r(`dismiss`))}),x(e=>{a.value&&(n.disableOutsidePointerEvents&&(Y.layersWithOutsidePointerEventsDisabled.size===0&&(Y.originalBodyPointerEvents=o.value.body.style.pointerEvents,o.value.body.style.pointerEvents=`none`),Y.layersWithOutsidePointerEventsDisabled.add(a.value)),s.value.add(a.value),e(()=>{n.disableOutsidePointerEvents&&Y.layersWithOutsidePointerEventsDisabled.size===1&&!F(Y.originalBodyPointerEvents)&&(o.value.body.style.pointerEvents=Y.originalBodyPointerEvents)}))}),x(e=>{e(()=>{a.value&&(s.value.delete(a.value),Y.layersWithOutsidePointerEventsDisabled.delete(a.value))})}),(e,t)=>(v(),m(l(C),{ref:l(i),"as-child":e.asChild,as:e.as,"data-dismissable-layer":``,style:d({pointerEvents:u.value?f.value?`auto`:`none`:void 0}),onFocusCapture:l(h).onFocusCapture,onBlurCapture:l(h).onBlurCapture,onPointerdownCapture:l(p).onPointerDownCapture},{default:O(()=>[y(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`style`,`onFocusCapture`,`onBlurCapture`,`onPointerdownCapture`]))}}),Pe=re(()=>r([]));function Fe(){let e=Pe();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=X(e.value,t),e.value.unshift(t)},remove(t){e.value=X(e.value,t),e.value[0]?.resume()}}}function X(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}var Z=`focusScope.autoFocusOnMount`,Q=`focusScope.autoFocusOnUnmount`,Ie={bubbles:!1,cancelable:!0};function Le(e,{select:t=!1}={}){let n=N();for(let r of e)if($(r,{select:t}),N()!==n)return!0}function Re(e){let t=ze(e);return[Be(t,e),Be(t.reverse(),e)]}function ze(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;n.nextNode();)t.push(n.currentNode);return t}function Be(e,t){for(let n of e)if(!Ve(n,{upTo:t}))return n}function Ve(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}function He(e){return e instanceof HTMLInputElement&&`select`in e}function $(e,{select:t=!1}={}){if(e&&e.focus){let n=N();e.focus({preventScroll:!0}),e!==n&&He(e)&&t&&e.select()}}var Ue=o({__name:`FocusScope`,props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`mountAutoFocus`,`unmountAutoFocus`],setup(e,{emit:t}){let n=e,i=t,{currentRef:a,currentElement:o}=j(),s=r(null),c=Fe(),u=p({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});x(e=>{if(!D)return;let t=o.value;if(!n.trapped)return;function r(e){if(u.paused||!t)return;let n=e.target;t.contains(n)?s.value=n:$(s.value,{select:!0})}function i(e){if(u.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||$(s.value,{select:!0}))}function a(e){let n=s.value;n!==null&&e.some(e=>e.removedNodes.length>0)&&(t.contains(n)||$(t))}document.addEventListener(`focusin`,r),document.addEventListener(`focusout`,i);let c=new MutationObserver(a);t&&c.observe(t,{childList:!0,subtree:!0}),e(()=>{document.removeEventListener(`focusin`,r),document.removeEventListener(`focusout`,i),c.disconnect()})}),x(async e=>{let t=o.value;if(await b(),!t)return;c.add(u);let n=N();if(!t.contains(n)){let e=new CustomEvent(Z,Ie);t.addEventListener(Z,e=>i(`mountAutoFocus`,e)),t.dispatchEvent(e),e.defaultPrevented||(Le(ze(t),{select:!0}),N()===n&&$(t))}e(()=>{t.removeEventListener(Z,e=>i(`mountAutoFocus`,e));let e=new CustomEvent(Q,Ie),r=e=>{i(`unmountAutoFocus`,e)};t.addEventListener(Q,r),t.dispatchEvent(e),setTimeout(()=>{e.defaultPrevented||$(n??document.body,{select:!0}),t.removeEventListener(Q,r),c.remove(u)},0)})});function d(e){if(!n.loop&&!n.trapped||u.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=N();if(t&&r){let t=e.currentTarget,[i,a]=Re(t);i&&a?!e.shiftKey&&r===a?(e.preventDefault(),n.loop&&$(i,{select:!0})):e.shiftKey&&r===i&&(e.preventDefault(),n.loop&&$(a,{select:!0})):r===t&&e.preventDefault()}}return(e,t)=>(v(),m(l(C),{ref_key:`currentRef`,ref:a,tabindex:`-1`,"as-child":e.asChild,as:e.as,onKeydown:d},{default:O(()=>[y(e.$slots,`default`)]),_:3},8,[`as-child`,`as`]))}}),We=[`Enter`,` `],Ge=[`ArrowDown`,`PageUp`,`Home`],Ke=[`ArrowUp`,`PageDown`,`End`];[...Ge,...Ke],[...We],[...We];function qe(e){return e?`open`:`closed`}function Je(e){let t=N();for(let n of e)if(n===t||(n.focus(),N()!==t))return}var Ye=o({__name:`Teleport`,props:{to:{type:null,required:!1,default:`body`},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(e){let t=ne();return(e,n)=>l(t)||e.forceMount?(v(),m(u,{key:0,to:e.to,disabled:e.disabled,defer:e.defer},[y(e.$slots,`default`)],8,[`to`,`disabled`,`defer`])):a(`v-if`,!0)}}),Xe=`data-reka-collection-item`;function Ze(e={}){let{key:t=``,isProvider:i=!1}=e,a=`${t}CollectionProvider`,s;if(i){let e=r(new Map);s={collectionRef:r(),itemMap:e},oe(a,s)}else s=h(a);let c=(e=!1)=>{let t=s.collectionRef.value;if(!t)return[];let n=Array.from(t.querySelectorAll(`[${Xe}]`)),r=Array.from(s.itemMap.value.values()).sort((e,t)=>n.indexOf(e.ref)-n.indexOf(t.ref));return e?r:r.filter(e=>e.ref.dataset.disabled!==``)},l=o({name:`CollectionSlot`,inheritAttrs:!1,setup(e,{slots:t,attrs:n}){let{primitiveElement:r,currentElement:i}=q();return S(i,()=>{s.collectionRef.value=i.value}),()=>g(_,{ref:r,...n},t)}}),u=o({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(e,{slots:t,attrs:r}){let{primitiveElement:i,currentElement:a}=q();return x(t=>{if(a.value){let r=n(a.value);s.itemMap.value.set(r,{ref:a.value,value:e.value}),t(()=>s.itemMap.value.delete(r))}}),()=>g(_,{...r,[Xe]:``,ref:i},t)}});return{getItems:c,reactiveItems:A(()=>Array.from(s.itemMap.value.values())),itemMapSize:A(()=>s.itemMap.value.size),CollectionSlot:l,CollectionItem:u}}export{M as S,z as _,Ue as a,P as b,Oe as c,we as d,ye as f,pe as g,ge as h,qe as i,G as l,_e as m,Ye as n,Ne as o,ve as p,Je as r,q as s,Ze as t,Ee as u,I as v,N as x,F as y};
@@ -1 +0,0 @@
1
- import{$ as e,Et as t,G as n,H as r,K as i,Pt as a,V as o,at as s,ct as c,i as l,jt as u,nt as d,p as f,vt as p}from"./button-BKJB3nEQ.js";import{S as m,a as h,c as g,d as _,g as v,i as y,m as b,o as x,u as S,x as C}from"./Collection-GDvpW_uY.js";import{t as w}from"./useForwardExpose-bqtcPo63.js";var[T,E]=m(`DialogRoot`),D=i({inheritAttrs:!1,__name:`DialogRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1,default:!0}},emits:[`update:open`],setup(e,{emit:n}){let r=e,i=f(r,`open`,n,{defaultValue:r.defaultOpen,passive:r.open===void 0}),o=t(),s=t(),{modal:l}=u(r);return E({open:i,modal:l,openModal:()=>{i.value=!0},onOpenChange:e=>{i.value=e},onOpenToggle:()=>{i.value=!i.value},contentId:``,titleId:``,descriptionId:``,triggerElement:o,contentElement:s}),(e,t)=>c(e.$slots,`default`,{open:a(i),close:()=>i.value=!1})}}),O=i({__name:`DialogClose`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(t){let n=t;w();let r=T();return(t,i)=>(s(),o(a(l),e(n,{type:t.as===`button`?`button`:void 0,onClick:i[0]||=e=>a(r).onOpenChange(!1)}),{default:p(()=>[c(t.$slots,`default`)]),_:3},16,[`type`]))}}),k=i({__name:`DialogContentImpl`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(t,{emit:r}){let i=t,l=r,u=T(),{forwardRef:f,currentElement:m}=w();return u.titleId||=S(void 0,`reka-dialog-title`),u.descriptionId||=S(void 0,`reka-dialog-description`),d(()=>{u.contentElement=m,C()!==document.body&&(u.triggerElement.value=C())}),(t,r)=>(s(),o(a(h),{"as-child":``,loop:``,trapped:i.trapFocus,onMountAutoFocus:r[5]||=e=>l(`openAutoFocus`,e),onUnmountAutoFocus:r[6]||=e=>l(`closeAutoFocus`,e)},{default:p(()=>[n(a(x),e({id:a(u).contentId,ref:a(f),as:t.as,"as-child":t.asChild,"disable-outside-pointer-events":t.disableOutsidePointerEvents,role:`dialog`,"aria-describedby":a(u).descriptionId,"aria-labelledby":a(u).titleId,"data-state":a(y)(a(u).open.value)},t.$attrs,{onDismiss:r[0]||=e=>a(u).onOpenChange(!1),onEscapeKeyDown:r[1]||=e=>l(`escapeKeyDown`,e),onFocusOutside:r[2]||=e=>l(`focusOutside`,e),onInteractOutside:r[3]||=e=>l(`interactOutside`,e),onPointerDownOutside:r[4]||=e=>l(`pointerDownOutside`,e)}),{default:p(()=>[c(t.$slots,`default`)]),_:3},16,[`id`,`as`,`as-child`,`disable-outside-pointer-events`,`aria-describedby`,`aria-labelledby`,`data-state`])]),_:3},8,[`trapped`]))}}),A=i({__name:`DialogContentModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(t,{emit:n}){let r=t,i=n,l=T(),u=b(i),{forwardRef:d,currentElement:f}=w();return _(f),(t,n)=>(s(),o(k,e({...r,...a(u)},{ref:a(d),"trap-focus":a(l).open.value,"disable-outside-pointer-events":!0,onCloseAutoFocus:n[0]||=e=>{e.defaultPrevented||(e.preventDefault(),a(l).triggerElement.value?.focus())},onPointerDownOutside:n[1]||=e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()},onFocusOutside:n[2]||=e=>{e.preventDefault()}}),{default:p(()=>[c(t.$slots,`default`)]),_:3},16,[`trap-focus`]))}}),j=i({__name:`DialogContentNonModal`,props:{forceMount:{type:Boolean,required:!1},trapFocus:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(n,{emit:r}){let i=n,l=b(r);w();let u=T(),d=t(!1),f=t(!1);return(t,n)=>(s(),o(k,e({...i,...a(l)},{"trap-focus":!1,"disable-outside-pointer-events":!1,onCloseAutoFocus:n[0]||=e=>{e.defaultPrevented||(d.value||a(u).triggerElement.value?.focus(),e.preventDefault()),d.value=!1,f.value=!1},onInteractOutside:n[1]||=e=>{e.defaultPrevented||(d.value=!0,e.detail.originalEvent.type===`pointerdown`&&(f.value=!0));let t=e.target;a(u).triggerElement.value?.contains(t)&&e.preventDefault(),e.detail.originalEvent.type===`focusin`&&f.value&&e.preventDefault()}}),{default:p(()=>[c(t.$slots,`default`)]),_:3},16))}}),M=i({__name:`DialogContent`,props:{forceMount:{type:Boolean,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(t,{emit:n}){let r=t,i=n,l=T(),u=b(i),{forwardRef:d}=w();return(t,n)=>(s(),o(a(g),{present:t.forceMount||a(l).open.value},{default:p(()=>[a(l).modal.value?(s(),o(A,e({key:0,ref:a(d)},{...r,...a(u),...t.$attrs}),{default:p(()=>[c(t.$slots,`default`)]),_:3},16)):(s(),o(j,e({key:1,ref:a(d)},{...r,...a(u),...t.$attrs}),{default:p(()=>[c(t.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),N=i({__name:`DialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(t){let n=t;w();let r=T();return(t,i)=>(s(),o(a(l),e(n,{id:a(r).descriptionId}),{default:p(()=>[c(t.$slots,`default`)]),_:3},16,[`id`]))}}),P=i({__name:`DialogOverlayImpl`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=T();return v(!0),w(),(e,n)=>(s(),o(a(l),{as:e.as,"as-child":e.asChild,"data-state":a(t).open.value?`open`:`closed`,style:{"pointer-events":`auto`}},{default:p(()=>[c(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`data-state`]))}}),F=i({__name:`DialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){let i=T(),{forwardRef:l}=w();return(t,u)=>a(i)?.modal.value?(s(),o(a(g),{key:0,present:t.forceMount||a(i).open.value},{default:p(()=>[n(P,e(t.$attrs,{ref:a(l),as:t.as,"as-child":t.asChild}),{default:p(()=>[c(t.$slots,`default`)]),_:3},16,[`as`,`as-child`])]),_:3},8,[`present`])):r(`v-if`,!0)}}),I=i({__name:`DialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(t){let n=t,r=T();return w(),(t,i)=>(s(),o(a(l),e(n,{id:a(r).titleId}),{default:p(()=>[c(t.$slots,`default`)]),_:3},16,[`id`]))}});export{O as a,M as i,F as n,D as o,N as r,I as t};
@@ -1 +0,0 @@
1
- import{B as e,Et as t,G as n,H as r,It as i,K as a,L as o,O as s,Pt as c,St as l,U as u,V as d,W as f,at as p,ht as m,n as h,nt as g,r as _,st as v,vt as y,z as b,zt as x}from"./button-BKJB3nEQ.js";import{r as S,t as C}from"./UnifiedRequestDialog-BmEamR1L.js";import{a as w,i as T,n as E,r as D,t as O}from"./SelectValue-DS4Z8y0u.js";import{a as ee,n as te,o as ne,r as re,t as ie}from"./dialog-C0B-Xn-S.js";import{a as ae,i as k,n as A,o as oe,r as j,t as se}from"./TableHeader-B2A48qgy.js";import{t as ce}from"./Label-IbQFgxLe.js";import{t as M}from"./badge-BTjuxlp4.js";import{n as N}from"./lib-BGW4QyKP.js";import{t as P}from"./Input-JApdUstN.js";import{t as F}from"./format-CPdJtjZ5.js";var le=a({__name:`Skeleton`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,n)=>(p(),u(`div`,{"data-slot":`skeleton`,class:i(c(_)(`bg-muted rounded-md animate-pulse`,t.class))},null,2))}}),I={key:1,class:`ml-4 text-muted-foreground text-xs`},L={class:`font-mono`},ue={key:2,class:`text-muted-foreground`},de={key:1,class:`text-muted-foreground`},fe={key:1,class:`text-muted-foreground`},R=a({__name:`LogTableRow`,props:{log:{},isChild:{type:Boolean,default:!1},expanded:{type:Boolean,default:!1}},emits:[`toggleExpand`,`openDetail`],setup(t,{emit:a}){let s=a;function l(e){if(!e)return`未知`;try{let t=JSON.parse(e);return t.action?t.detail?`${t.action}: ${t.detail}`:t.action:e}catch{return`未知`}}return(a,m)=>(p(),d(c(j),{class:i({"bg-destructive/10":!t.isChild&&(t.log.status_code??0)>=400,"bg-muted/20":t.isChild})},{default:y(()=>[n(c(k),{class:`w-10`},{default:y(()=>[!t.isChild&&t.log.child_count?(p(),d(c(h),{key:0,variant:`ghost`,size:`xs`,onClick:m[0]||=e=>s(`toggleExpand`,t.log)},{default:y(()=>[e(`span`,{class:i([`text-xs transition-transform`,t.expanded?``:`-rotate-90`])},`▼`,2)]),_:1})):r(``,!0),t.isChild?(p(),u(`span`,I,`└`)):r(``,!0)]),_:1}),n(c(k),{class:`font-mono text-xs text-muted-foreground`,title:t.log.id},{default:y(()=>[f(x(t.log.id.slice(0,8)),1)]),_:1},8,[`title`]),n(c(k),{class:`text-muted-foreground`},{default:y(()=>[f(x(c(F)(t.log.created_at)),1)]),_:1}),n(c(k),null,{default:y(()=>[n(c(M),{variant:t.log.api_type===`openai`?`default`:`secondary`},{default:y(()=>[f(x(t.log.api_type),1)]),_:1},8,[`variant`])]),_:1}),n(c(k),{class:`font-mono text-xs`},{default:y(()=>[f(x(t.log.model||`-`)+` `,1),!t.isChild&&t.log.original_model?(p(),d(c(M),{key:0,variant:`secondary`,class:`ml-1 text-xs`},{default:y(()=>[...m[2]||=[f(`已替换`,-1)]]),_:1})):r(``,!0)]),_:1}),n(c(k),{class:`text-xs`},{default:y(()=>[!t.isChild&&t.log.provider_id===c(`router`)?(p(),d(c(M),{key:0,variant:`secondary`,class:`text-[10px] px-1 py-0`},{default:y(()=>[f(` 代理增强:`+x(l(t.log.upstream_request)),1)]),_:1})):t.log.backend_model||t.log.provider_name?(p(),u(o,{key:1},[e(`span`,L,x(t.log.backend_model||`-`),1),m[3]||=e(`span`,{class:`text-muted-foreground`},` @ `,-1),n(c(M),{variant:`outline`,class:`text-[10px] px-1 py-0`},{default:y(()=>[f(x(t.log.provider_name||t.log.provider_id||`-`),1)]),_:1})],64)):(p(),u(`span`,ue,`-`))]),_:1}),n(c(k),null,{default:y(()=>[n(c(M),{variant:(t.log.status_code??0)<400?`default`:`destructive`},{default:y(()=>[f(x(t.log.status_code||`-`),1)]),_:1},8,[`variant`])]),_:1}),n(c(k),null,{default:y(()=>[f(x(t.log.latency_ms?t.log.latency_ms+`ms`:`-`),1)]),_:1}),n(c(k),null,{default:y(()=>[f(x(t.log.is_stream?`Yes`:`No`),1)]),_:1}),n(c(k),null,{default:y(()=>[t.log.is_retry?(p(),d(c(M),{key:0,variant:`outline`,class:`text-warning-dark border-warning`},{default:y(()=>[...m[4]||=[f(`重试`,-1)]]),_:1})):(p(),u(`span`,de,`-`))]),_:1}),n(c(k),null,{default:y(()=>[t.log.is_failover?(p(),d(c(M),{key:0,variant:`outline`,class:`text-danger-dark border-danger`},{default:y(()=>[...m[5]||=[f(`故障转移`,-1)]]),_:1})):(p(),u(`span`,fe,`-`))]),_:1}),n(c(k),{class:`text-destructive text-xs`},{default:y(()=>[f(x(t.log.error_message||`-`),1)]),_:1}),n(c(k),null,{default:y(()=>[n(c(h),{variant:`ghost`,size:`sm`,onClick:m[1]||=e=>s(`openDetail`,t.log.id)},{default:y(()=>[...m[6]||=[f(`详情`,-1)]]),_:1})]),_:1})]),_:1},8,[`class`]))}}),pe=[{label:`1h`,value:`1h`},{label:`5h`,value:`5h`},{label:`24h`,value:`24h`},{label:`7d`,value:`7d`},{label:`30d`,value:`30d`}];function me(){let e=t(`5h`),n=t({start:``,end:``}),r=t(`all`),i=t(`all`),a=t(`all`),o=t(`all`),c=t([]),l=t([]),u=t([]),d=b(()=>n.value.start&&n.value.end&&n.value.start<n.value.end),f=b(()=>{let{start:e,end:t}=n.value;return!e||!t?``:e>=t?`结束时间须晚于开始时间`:``}),p=b(()=>{if(r.value===`all`)return u.value;let e=c.value.find(e=>e.id===r.value);if(!e)return u.value;let t=new Set(e.models);return u.value.filter(e=>t.has(e))});function m(e){return e.includes(`T`)?`${e}:00.000Z`:`${e}T00:00:00.000Z`}function h(e){return e.includes(`T`)?`${e}:59.999Z`:`${e}T23:59:59.999Z`}let _={"1h":36e5,"5h":18e6,"24h":864e5,"7d":6048e5,"30d":2592e6};function v(){let t={};if(d.value)t.start_time=m(n.value.start),t.end_time=h(n.value.end);else{let n=_[e.value];n&&(t.start_time=new Date(Date.now()-n).toISOString())}return o.value!==`all`&&(t.api_type=o.value),r.value!==`all`&&(t.provider_id=r.value),i.value!==`all`&&(t.model=i.value),a.value!==`all`&&(t.router_key_id=a.value),t}function y(){n.value={start:``,end:``}}async function x(){try{c.value=await s.getProviders()}catch(e){console.error(`Failed to load providers:`,e),N.error(`加载供应商列表失败`)}}async function S(){try{l.value=await s.getRouterKeys()}catch(e){console.error(`Failed to load router keys:`,e),N.error(`加载密钥列表失败`)}}async function C(){try{let e=await s.getMetricsSummary({period:`30d`});u.value=[...new Set(e.map(e=>e.backend_model))]}catch{u.value=[]}}return g(()=>{Promise.allSettled([x(),S(),C()])}),{PERIODS:pe,period:e,dateRange:n,dateRangeError:f,providerFilter:r,modelFilter:i,keyFilter:a,apiTypeFilter:o,providers:c,routerKeys:l,filteredModelOptions:p,hasDateRange:d,clearDateRange:y,buildFilterParams:v}}var z=20,B=864e5;function he(){let e=t([]),n=t(0),r=t(1),i=t(`all`),a=t(`all`),o=t([]),c=t(30),l=t(!1),u=t(new Set),d=t({}),f=t({}),p=t(!1),m=t(null),h=b(()=>e.value.length>=z);async function g(){try{let t={page:r.value,limit:z,view:`grouped`};i.value&&i.value!==`all`&&(t.api_type=i.value),a.value&&a.value!==`all`&&(t.router_key_id=a.value);let o=await s.getLogs(t);e.value=o.data,n.value=o.total,u.value.clear(),d.value={},f.value={}}catch(e){console.error(`Failed to load logs:`,e),N.error(`加载日志失败`)}}function _(){r.value=1,g()}function v(){r.value>1&&(r.value--,g())}function y(){r.value++,g()}async function x(){try{let e=new Date(Date.now()-c.value*B).toISOString(),t=await s.deleteLogsBefore(e);l.value=!1,r.value=1,await g(),N.success(`已清理 ${t.deleted} 条日志`)}catch(e){console.error(`Failed to cleanup logs:`,e),N.error(`清理日志失败`)}}async function S(){try{o.value=await s.getRouterKeys()}catch(e){console.error(`Failed to load router keys:`,e),N.error(`加载密钥列表失败`)}}async function C(e){let t=e.id;if(u.value.has(t)){u.value.delete(t);return}if(u.value.add(t),!d.value[t]){f.value[t]=!0;try{d.value[t]=await s.getLogChildren(t)}catch(e){console.error(`Failed to load child logs:`,e),N.error(`加载子请求失败`)}finally{f.value[t]=!1}}}async function w(e){try{m.value=await s.getLogDetail(e),p.value=!0}catch(e){console.error(`Failed to load log detail:`,e),N.error(`加载日志详情失败`)}}function T(){S(),g()}return{logs:e,total:n,page:r,filterType:i,filterRouterKey:a,routerKeys:o,cleanupDays:c,showCleanup:l,expandedRows:u,childLogs:d,childLoading:f,logDetailOpen:p,selectedLogEntry:m,hasMore:h,loadLogs:g,handleFilterChange:_,prevPage:v,nextPage:y,handleCleanup:x,toggleExpand:C,openLogDetail:w,init:T}}var ge={class:`p-6`},_e={class:`flex items-center justify-between mb-4`},ve={class:`flex flex-wrap items-center gap-2 mb-4`},ye={class:`flex gap-1`},be={class:`flex items-center gap-1`},xe={key:1,class:`text-xs text-destructive whitespace-nowrap`},Se={class:`bg-card rounded-lg border overflow-hidden`},Ce={class:`flex items-center justify-between mt-4`},we={class:`text-sm text-muted-foreground`},Te={class:`flex gap-1`},Ee={class:`px-3 py-1 text-sm text-muted-foreground`},De={class:`mb-4`},Oe={class:`space-y-3`},ke={class:`flex items-center gap-3`},Ae={class:`flex justify-end`},V=13,je=20,Me=300,Ne=3,H=a({__name:`Logs`,setup(i){let{PERIODS:a,period:_,dateRange:b,dateRangeError:M,providerFilter:F,modelFilter:I,keyFilter:L,providers:ue,routerKeys:de,filteredModelOptions:fe,clearDateRange:pe,buildFilterParams:z}=me(),{logs:B,total:H,page:U,hasMore:Pe,cleanupDays:W,showCleanup:G,expandedRows:K,childLogs:q,childLoading:Fe,logDetailOpen:J,selectedLogEntry:Ie,handleCleanup:Le,toggleExpand:Re,openLogDetail:Y}=he();async function X(){try{let e=z(),t=await s.getLogs({page:U.value,limit:je,view:`grouped`,...e});B.value=t.data,H.value=t.total,K.value.clear(),q.value={},Fe.value={}}catch(e){console.error(`Failed to load logs:`,e),N.error(`加载日志失败`)}}function ze(){U.value>1&&(U.value--,X())}function Be(){U.value++,X()}let Z=t(Ne),Q=t(!1);async function Ve(){Q.value=!0;try{await s.setLogRetention(Z.value),N.success(`保留天数已更新`)}catch{N.error(`更新失败`)}finally{Q.value=!1}}async function He(){try{let{days:e}=await s.getLogRetention();Z.value=e}catch{N.error(`加载保留天数失败,使用默认值`)}}let $=null;return m([_,b,F,I,L],()=>{U.value=1,$&&clearTimeout($),$=setTimeout(()=>X(),Me)},{deep:!0}),g(()=>{X(),He()}),(t,i)=>(p(),u(`div`,ge,[e(`div`,_e,[i[12]||=e(`h2`,{class:`text-lg font-semibold text-foreground`},`请求日志`,-1),n(c(h),{variant:`outline`,class:`text-destructive border-destructive hover:bg-destructive/10`,onClick:i[0]||=e=>G.value=!0},{default:y(()=>[...i[11]||=[f(` 清理日志 `,-1)]]),_:1})]),e(`div`,ve,[e(`div`,ye,[(p(!0),u(o,null,v(c(a),e=>(p(),d(c(h),{key:e.value,variant:c(_)===e.value?`default`:`ghost`,size:`sm`,onClick:t=>_.value=e.value},{default:y(()=>[f(x(e.label),1)]),_:2},1032,[`variant`,`onClick`]))),128))]),e(`div`,be,[n(c(P),{type:`datetime-local`,modelValue:c(b).start,"onUpdate:modelValue":i[1]||=e=>c(b).start=e,class:`w-44`},null,8,[`modelValue`]),i[14]||=e(`span`,{class:`text-muted-foreground text-sm`},`-`,-1),n(c(P),{type:`datetime-local`,modelValue:c(b).end,"onUpdate:modelValue":i[2]||=e=>c(b).end=e,class:`w-44`},null,8,[`modelValue`]),c(b).start||c(b).end?(p(),d(c(h),{key:0,variant:`ghost`,size:`sm`,onClick:c(pe)},{default:y(()=>[...i[13]||=[f(`清除`,-1)]]),_:1},8,[`onClick`])):r(``,!0),c(M)?(p(),u(`span`,xe,x(c(M)),1)):r(``,!0)]),n(c(w),{modelValue:c(F),"onUpdate:modelValue":i[3]||=e=>l(F)?F.value=e:null},{default:y(()=>[n(c(E),{class:`w-28 truncate`},{default:y(()=>[n(c(O),{placeholder:`全部供应商`})]),_:1}),n(c(T),null,{default:y(()=>[n(c(D),{value:`all`},{default:y(()=>[...i[15]||=[f(`全部供应商`,-1)]]),_:1}),(p(!0),u(o,null,v(c(ue),e=>(p(),d(c(D),{key:e.id,value:e.id},{default:y(()=>[f(x(e.name),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`]),n(c(w),{modelValue:c(I),"onUpdate:modelValue":i[4]||=e=>l(I)?I.value=e:null},{default:y(()=>[n(c(E),{class:`w-32 truncate`},{default:y(()=>[n(c(O),{placeholder:`全部模型`})]),_:1}),n(c(T),null,{default:y(()=>[n(c(D),{value:`all`},{default:y(()=>[...i[16]||=[f(`全部模型`,-1)]]),_:1}),(p(!0),u(o,null,v(c(fe),e=>(p(),d(c(D),{key:e,value:e},{default:y(()=>[f(x(e),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`]),n(c(w),{modelValue:c(L),"onUpdate:modelValue":i[5]||=e=>l(L)?L.value=e:null},{default:y(()=>[n(c(E),{class:`w-32 truncate`},{default:y(()=>[n(c(O),{placeholder:`全部密钥`})]),_:1}),n(c(T),null,{default:y(()=>[n(c(D),{value:`all`},{default:y(()=>[...i[17]||=[f(`全部密钥`,-1)]]),_:1}),(p(!0),u(o,null,v(c(de),e=>(p(),d(c(D),{key:e.id,value:e.id},{default:y(()=>[f(x(e.name),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`])]),e(`div`,Se,[n(c(oe),null,{default:y(()=>[n(c(se),null,{default:y(()=>[n(c(j),{class:`bg-muted`},{default:y(()=>[n(c(A),{class:`w-10`}),n(c(A),{class:`text-muted-foreground`},{default:y(()=>[...i[18]||=[f(`ID`,-1)]]),_:1}),n(c(A),{class:`text-muted-foreground`},{default:y(()=>[...i[19]||=[f(`时间`,-1)]]),_:1}),n(c(A),{class:`text-muted-foreground`},{default:y(()=>[...i[20]||=[f(`类型`,-1)]]),_:1}),n(c(A),{class:`text-muted-foreground`},{default:y(()=>[...i[21]||=[f(`模型`,-1)]]),_:1}),n(c(A),{class:`text-muted-foreground`},{default:y(()=>[...i[22]||=[f(`实际转发`,-1)]]),_:1}),n(c(A),{class:`text-muted-foreground`},{default:y(()=>[...i[23]||=[f(`状态码`,-1)]]),_:1}),n(c(A),{class:`text-muted-foreground`},{default:y(()=>[...i[24]||=[f(`延迟`,-1)]]),_:1}),n(c(A),{class:`text-muted-foreground`},{default:y(()=>[...i[25]||=[f(`流式`,-1)]]),_:1}),n(c(A),{class:`text-muted-foreground`},{default:y(()=>[...i[26]||=[f(`重试`,-1)]]),_:1}),n(c(A),{class:`text-muted-foreground`},{default:y(()=>[...i[27]||=[f(`故障转移`,-1)]]),_:1}),n(c(A),{class:`text-muted-foreground`},{default:y(()=>[...i[28]||=[f(`错误`,-1)]]),_:1}),n(c(A),{class:`text-muted-foreground`},{default:y(()=>[...i[29]||=[f(`操作`,-1)]]),_:1})]),_:1})]),_:1}),n(c(ae),null,{default:y(()=>[(p(!0),u(o,null,v(c(B),e=>(p(),u(o,{key:e.id},[n(R,{log:e,expanded:c(K).has(e.id),onToggleExpand:c(Re),onOpenDetail:c(Y)},null,8,[`log`,`expanded`,`onToggleExpand`,`onOpenDetail`]),c(K).has(e.id)?(p(),u(o,{key:0},[c(Fe)[e.id]?(p(),d(c(j),{key:0},{default:y(()=>[n(c(k),{colspan:V,class:`text-center py-2 pl-10`},{default:y(()=>[n(c(le),{class:`h-4 w-32 mx-auto`})]),_:1})]),_:1})):c(q)[e.id]?.length?(p(!0),u(o,{key:1},v(c(q)[e.id],e=>(p(),d(R,{key:e.id,log:e,"is-child":!0,onOpenDetail:c(Y)},null,8,[`log`,`onOpenDetail`]))),128)):r(``,!0)],64)):r(``,!0)],64))),128)),c(B).length===0?(p(),d(c(j),{key:0},{default:y(()=>[n(c(k),{colspan:V,class:`text-center text-muted-foreground py-8`},{default:y(()=>[...i[30]||=[f(`暂无日志`,-1)]]),_:1})]),_:1})):r(``,!0)]),_:1})]),_:1})]),e(`div`,Ce,[e(`p`,we,`共 `+x(c(H))+` 条`,1),e(`div`,Te,[n(c(h),{variant:`outline`,size:`sm`,onClick:ze,disabled:c(U)<=1},{default:y(()=>[...i[31]||=[f(`上一页`,-1)]]),_:1},8,[`disabled`]),e(`span`,Ee,`第 `+x(c(U))+` 页`,1),n(c(h),{variant:`outline`,size:`sm`,onClick:Be,disabled:!c(Pe)},{default:y(()=>[...i[32]||=[f(`下一页`,-1)]]),_:1},8,[`disabled`])])]),n(C,{open:c(J),"onUpdate:open":i[6]||=e=>l(J)?J.value=e:null,source:`history`,"log-entry":c(Ie)},null,8,[`open`,`log-entry`]),n(c(ne),{open:c(G),"onUpdate:open":i[10]||=e=>l(G)?G.value=e:null},{default:y(()=>[n(c(ee),null,{default:y(()=>[n(c(te),null,{default:y(()=>[n(c(ie),null,{default:y(()=>[...i[33]||=[f(`清理日志`,-1)]]),_:1})]),_:1}),i[41]||=e(`p`,{class:`text-sm text-muted-foreground`},`删除指定天数之前的日志`,-1),e(`div`,De,[n(c(ce),{class:`block text-sm font-medium text-foreground mb-1`},{default:y(()=>[...i[34]||=[f(`保留最近天数`,-1)]]),_:1}),n(c(P),{modelValue:c(W),"onUpdate:modelValue":i[7]||=e=>l(W)?W.value=e:null,modelModifiers:{number:!0},type:`number`,min:1},null,8,[`modelValue`])]),n(c(S)),e(`div`,Oe,[i[38]||=e(`div`,{class:`text-sm font-medium`},`自动清理设置`,-1),e(`div`,ke,[n(c(ce),{class:`whitespace-nowrap`},{default:y(()=>[...i[35]||=[f(`保留天数`,-1)]]),_:1}),n(c(P),{type:`number`,modelValue:Z.value,"onUpdate:modelValue":i[8]||=e=>Z.value=e,modelModifiers:{number:!0},min:0,max:90,class:`w-20`},null,8,[`modelValue`]),i[36]||=e(`span`,{class:`text-xs text-muted-foreground`},`0 = 不自动清理`,-1)]),e(`div`,Ae,[n(c(h),{size:`sm`,onClick:Ve,disabled:Q.value},{default:y(()=>[...i[37]||=[f(` 保存设置 `,-1)]]),_:1},8,[`disabled`])])]),n(c(re),null,{default:y(()=>[n(c(h),{variant:`outline`,onClick:i[9]||=e=>G.value=!1},{default:y(()=>[...i[39]||=[f(`取消`,-1)]]),_:1}),n(c(h),{variant:`destructive`,onClick:c(Le)},{default:y(()=>[...i[40]||=[f(`确认清理`,-1)]]),_:1},8,[`onClick`])]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{H as default};
@@ -1 +0,0 @@
1
- import{$ as e,Dt as t,Et as n,G as r,K as i,Ot as a,Pt as o,Q as s,Rt as c,U as l,V as u,_t as d,at as f,bt as p,ct as m,gt as h,ht as g,i as _,l as v,m as y,nt as b,vt as x,wt as S,z as C}from"./button-BKJB3nEQ.js";import{S as w}from"./Collection-GDvpW_uY.js";import{t as T}from"./useForwardExpose-bqtcPo63.js";function E(e){let t=n(),r=C(()=>t.value?.width??0),i=C(()=>t.value?.height??0);return b(()=>{let n=v(e);if(n){t.value={width:n.offsetWidth,height:n.offsetHeight};let e=new ResizeObserver(e=>{if(!Array.isArray(e)||!e.length)return;let r=e[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=n.offsetWidth,a=n.offsetHeight;t.value={width:i,height:a}});return e.observe(n,{box:`border-box`}),()=>e.unobserve(n)}else t.value=void 0}),{width:r,height:i}}var[D,O]=w(`PopperRoot`),ee=i({inheritAttrs:!1,__name:`PopperRoot`,setup(e){let t=n();return O({anchor:t,onAnchorChange:e=>t.value=e}),(e,t)=>m(e.$slots,`default`)}}),k=i({__name:`PopperAnchor`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n,currentElement:r}=T(),i=D();return d(()=>{i.onAnchorChange(t.reference??r.value)}),(e,t)=>(f(),u(o(_),{ref:o(n),as:e.as,"as-child":e.asChild},{default:x(()=>[m(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}});function te(e){return e!==null}function ne(e){return{name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=A(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}}}function A(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var j=[`top`,`right`,`bottom`,`left`],M=Math.min,N=Math.max,P=Math.round,F=Math.floor,I=e=>({x:e,y:e}),L={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function re(e,t,n){return N(e,M(t,n))}function R(e,t){return typeof e==`function`?e(t):e}function z(e){return e.split(`-`)[0]}function B(e){return e.split(`-`)[1]}function ie(e){return e===`x`?`y`:`x`}function ae(e){return e===`y`?`height`:`width`}function V(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function oe(e){return ie(V(e))}function se(e,t,n){n===void 0&&(n=!1);let r=B(e),i=oe(e),a=ae(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=ge(o)),[o,ge(o)]}function ce(e){let t=ge(e);return[le(e),t,le(t)]}function le(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var ue=[`left`,`right`],de=[`right`,`left`],fe=[`top`,`bottom`],pe=[`bottom`,`top`];function me(e,t,n){switch(e){case`top`:case`bottom`:return n?t?de:ue:t?ue:de;case`left`:case`right`:return t?fe:pe;default:return[]}}function he(e,t,n,r){let i=B(e),a=me(z(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(le)))),a}function ge(e){let t=z(e);return L[t]+e.slice(t.length)}function _e(e){return{top:0,right:0,bottom:0,left:0,...e}}function ve(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:_e(e)}function ye(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function be(e,t,n){let{reference:r,floating:i}=e,a=V(t),o=oe(t),s=ae(o),c=z(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}switch(B(t)){case`start`:p[o]-=f*(n&&l?-1:1);break;case`end`:p[o]+=f*(n&&l?-1:1);break}return p}async function xe(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=R(t,e),p=ve(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=ye(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=ye(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var Se=50,Ce=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:xe},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=be(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<Se&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=be(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},we=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=R(e,t)||{};if(l==null)return{};let d=ve(u),f={x:n,y:r},p=oe(i),m=ae(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=M(d[_],T),D=M(d[v],T),O=E,ee=C-h[m]-D,k=C/2-h[m]/2+w,te=re(O,k,ee),ne=!c.arrow&&B(i)!=null&&k!==te&&a.reference[m]/2-(k<O?E:D)-h[m]/2<0,A=ne?k<O?k-O:k-ee:0;return{[p]:f[p]+A,data:{[p]:te,centerOffset:k-te-A,...ne&&{alignmentOffset:A}},reset:ne}}}),Te=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=R(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=z(r),_=V(o),v=z(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[ge(o)]:ce(o)),x=p!==`none`;!d&&x&&b.push(...he(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=se(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(!(u===`alignment`&&_!==V(t))||T.every(e=>V(e.placement)===_?e.overflows[0]>0:!0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=V(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o;break}if(r!==n)return{reset:{placement:n}}}return{}}}};function Ee(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function De(e){return j.some(t=>e[t]>=0)}var Oe=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=R(e,t);switch(i){case`referenceHidden`:{let e=Ee(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:De(e)}}}case`escaped`:{let e=Ee(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:De(e)}}}default:return{}}}}},ke=new Set([`left`,`top`]);async function Ae(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=z(n),s=B(n),c=V(n)===`y`,l=ke.has(o)?-1:1,u=a&&c?-1:1,d=R(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var je=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await Ae(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},Me=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=R(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=V(z(i)),p=ie(f),m=u[p],h=u[f];if(o){let e=p===`y`?`top`:`left`,t=p===`y`?`bottom`:`right`,n=m+d[e],r=m-d[t];m=re(n,m,r)}if(s){let e=f===`y`?`top`:`left`,t=f===`y`?`bottom`:`right`,n=h+d[e],r=h-d[t];h=re(n,h,r)}let g=c.fn({...t,[p]:m,[f]:h});return{...g,data:{x:g.x-n,y:g.y-r,enabled:{[p]:o,[f]:s}}}}}},Ne=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=R(e,t),u={x:n,y:r},d=V(i),f=ie(d),p=u[f],m=u[d],h=R(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:0,crossAxis:0,...h};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=ke.has(z(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},Pe=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){var n,r;let{placement:i,rects:a,platform:o,elements:s}=t,{apply:c=()=>{},...l}=R(e,t),u=await o.detectOverflow(t,l),d=z(i),f=B(i),p=V(i)===`y`,{width:m,height:h}=a.floating,g,_;d===`top`||d===`bottom`?(g=d,_=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?`start`:`end`)?`left`:`right`):(_=d,g=f===`end`?`top`:`bottom`);let v=h-u.top-u.bottom,y=m-u.left-u.right,b=M(h-u[g],v),x=M(m-u[_],y),S=!t.middlewareData.shift,C=b,w=x;if((n=t.middlewareData.shift)!=null&&n.enabled.x&&(w=y),(r=t.middlewareData.shift)!=null&&r.enabled.y&&(C=v),S&&!f){let e=N(u.left,0),t=N(u.right,0),n=N(u.top,0),r=N(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:N(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:N(u.top,u.bottom))}await c({...t,availableWidth:w,availableHeight:C});let T=await o.getDimensions(s.floating);return m!==T.width||h!==T.height?{reset:{rects:!0}}:{}}}};function Fe(){return typeof window<`u`}function H(e){return Ie(e)?(e.nodeName||``).toLowerCase():`#document`}function U(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function W(e){return((Ie(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Ie(e){return Fe()?e instanceof Node||e instanceof U(e).Node:!1}function G(e){return Fe()?e instanceof Element||e instanceof U(e).Element:!1}function K(e){return Fe()?e instanceof HTMLElement||e instanceof U(e).HTMLElement:!1}function Le(e){return!Fe()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof U(e).ShadowRoot}function Re(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=Y(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function ze(e){return/^(table|td|th)$/.test(H(e))}function Be(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Ve=/transform|translate|scale|rotate|perspective|filter/,He=/paint|layout|strict|content/,q=e=>!!e&&e!==`none`,Ue;function We(e){let t=G(e)?Y(e):e;return q(t.transform)||q(t.translate)||q(t.scale)||q(t.rotate)||q(t.perspective)||!Ke()&&(q(t.backdropFilter)||q(t.filter))||Ve.test(t.willChange||``)||He.test(t.contain||``)}function Ge(e){let t=X(e);for(;K(t)&&!J(t);){if(We(t))return t;if(Be(t))return null;t=X(t)}return null}function Ke(){return Ue??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Ue}function J(e){return/^(html|body|#document)$/.test(H(e))}function Y(e){return U(e).getComputedStyle(e)}function qe(e){return G(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function X(e){if(H(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Le(e)&&e.host||W(e);return Le(t)?t.host:t}function Je(e){let t=X(e);return J(t)?e.ownerDocument?e.ownerDocument.body:e.body:K(t)&&Re(t)?t:Je(t)}function Ye(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Je(e),i=r===e.ownerDocument?.body,a=U(r);if(i){let e=Xe(a);return t.concat(a,a.visualViewport||[],Re(r)?r:[],e&&n?Ye(e):[])}else return t.concat(r,Ye(r,[],n))}function Xe(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ze(e){let t=Y(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=K(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=P(n)!==a||P(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Qe(e){return G(e)?e:e.contextElement}function Z(e){let t=Qe(e);if(!K(t))return I(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Ze(t),o=(a?P(n.width):n.width)/r,s=(a?P(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var $e=I(0);function et(e){let t=U(e);return!Ke()||!t.visualViewport?$e:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function tt(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==U(e)?!1:t}function Q(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Qe(e),o=I(1);t&&(r?G(r)&&(o=Z(r)):o=Z(e));let s=tt(a,n,r)?et(a):I(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a){let e=U(a),t=r&&G(r)?U(r):r,n=e,i=Xe(n);for(;i&&r&&t!==n;){let e=Z(i),t=i.getBoundingClientRect(),r=Y(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=U(i),i=Xe(n)}}return ye({width:u,height:d,x:c,y:l})}function nt(e,t){let n=qe(e).scrollLeft;return t?t.left+n:Q(W(e)).left+n}function rt(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-nt(e,n),y:n.top+t.scrollTop}}function it(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=W(r),s=t?Be(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=I(1),u=I(0),d=K(r);if((d||!d&&!a)&&((H(r)!==`body`||Re(o))&&(c=qe(r)),d)){let e=Q(r);l=Z(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?rt(o,c):I(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function at(e){return Array.from(e.getClientRects())}function ot(e){let t=W(e),n=qe(e),r=e.ownerDocument.body,i=N(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=N(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+nt(e),s=-n.scrollTop;return Y(r).direction===`rtl`&&(o+=N(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var st=25;function ct(e,t){let n=U(e),r=W(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Ke();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=nt(r);if(l<=0){let e=r.ownerDocument,t=e.body,n=getComputedStyle(t),i=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,o=Math.abs(r.clientWidth-t.clientWidth-i);o<=st&&(a-=o)}else l<=st&&(a+=l);return{width:a,height:o,x:s,y:c}}function lt(e,t){let n=Q(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=K(e)?Z(e):I(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function ut(e,t,n){let r;if(t===`viewport`)r=ct(e,n);else if(t===`document`)r=ot(W(e));else if(G(t))r=lt(t,n);else{let n=et(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return ye(r)}function dt(e,t){let n=X(e);return n===t||!G(n)||J(n)?!1:Y(n).position===`fixed`||dt(n,t)}function ft(e,t){let n=t.get(e);if(n)return n;let r=Ye(e,[],!1).filter(e=>G(e)&&H(e)!==`body`),i=null,a=Y(e).position===`fixed`,o=a?X(e):e;for(;G(o)&&!J(o);){let t=Y(o),n=We(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Re(o)&&!n&&dt(e,o))?r=r.filter(e=>e!==o):i=t,o=X(o)}return t.set(e,r),r}function pt(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Be(t)?[]:ft(t,this._c):[].concat(n),r],o=ut(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=ut(t,a[e],i);s=N(n.top,s),c=M(n.right,c),l=M(n.bottom,l),u=N(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function mt(e){let{width:t,height:n}=Ze(e);return{width:t,height:n}}function ht(e,t,n){let r=K(t),i=W(t),a=n===`fixed`,o=Q(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=I(0);function l(){c.x=nt(i)}if(r||!r&&!a)if((H(t)!==`body`||Re(i))&&(s=qe(t)),r){let e=Q(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}else i&&l();a&&!r&&i&&l();let u=i&&!r&&!a?rt(i,s):I(0);return{x:o.left+s.scrollLeft-c.x-u.x,y:o.top+s.scrollTop-c.y-u.y,width:o.width,height:o.height}}function gt(e){return Y(e).position===`static`}function _t(e,t){if(!K(e)||Y(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return W(e)===n&&(n=n.ownerDocument.body),n}function vt(e,t){let n=U(e);if(Be(e))return n;if(!K(e)){let t=X(e);for(;t&&!J(t);){if(G(t)&&!gt(t))return t;t=X(t)}return n}let r=_t(e,t);for(;r&&ze(r)&&gt(r);)r=_t(r,t);return r&&J(r)&&gt(r)&&!We(r)?n:r||Ge(e)||n}var yt=async function(e){let t=this.getOffsetParent||vt,n=this.getDimensions,r=await n(e.floating);return{reference:ht(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function bt(e){return Y(e).direction===`rtl`}var xt={convertOffsetParentRelativeRectToViewportRelativeRect:it,getDocumentElement:W,getClippingRect:pt,getOffsetParent:vt,getElementRects:yt,getClientRects:at,getDimensions:mt,getScale:Z,isElement:G,isRTL:bt};function St(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Ct(e,t){let n=null,r,i=W(e);function a(){var e;clearTimeout(r),(e=n)==null||e.disconnect(),n=null}function o(s,c){s===void 0&&(s=!1),c===void 0&&(c=1),a();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(s||t(),!f||!p)return;let m=F(d),h=F(i.clientWidth-(u+f)),g=F(i.clientHeight-(d+p)),_=F(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:N(0,M(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(n!==c){if(!y)return o();n?o(!1,n):r=setTimeout(()=>{o(!1,1e-7)},1e3)}n===1&&!St(l,e.getBoundingClientRect())&&o(),y=!1}try{n=new IntersectionObserver(b,{...v,root:i.ownerDocument})}catch{n=new IntersectionObserver(b,v)}n.observe(e)}return o(!0),a}function wt(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Qe(e),u=i||a?[...l?Ye(l):[],...t?Ye(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Ct(l,n):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Q(e):null;c&&g();function g(){let t=Q(e);h&&!St(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var Tt=je,Et=Me,Dt=Te,Ot=Pe,kt=Oe,At=we,jt=Ne,Mt=(e,t,n)=>{let r=new Map,i={platform:xt,...n},a={...i.platform,_c:r};return Ce(e,t,{...i,platform:a})};function Nt(e){return typeof e==`object`&&!!e&&`$el`in e}function Pt(e){if(Nt(e)){let t=e.$el;return Ie(t)&&H(t)===`#comment`?null:t}return e}function $(e){return typeof e==`function`?e():o(e)}function Ft(e){return{name:`arrow`,options:e,fn(t){let n=Pt($(e.element));return n==null?{}:At({element:n,padding:e.padding}).fn(t)}}}function It(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Lt(e,t){let n=It(e);return Math.round(t*n)/n}function Rt(e,r,i){i===void 0&&(i={});let o=i.whileElementsMounted,s=C(()=>$(i.open)??!0),c=C(()=>$(i.middleware)),l=C(()=>$(i.placement)??`bottom`),u=C(()=>$(i.strategy)??`absolute`),d=C(()=>$(i.transform)??!0),f=C(()=>Pt(e.value)),m=C(()=>Pt(r.value)),h=n(0),_=n(0),v=n(u.value),y=n(l.value),b=a({}),x=n(!1),w=C(()=>{let e={position:v.value,left:`0`,top:`0`};if(!m.value)return e;let t=Lt(m.value,h.value),n=Lt(m.value,_.value);return d.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...It(m.value)>=1.5&&{willChange:`transform`}}:{position:v.value,left:t+`px`,top:n+`px`}}),T;function E(){if(f.value==null||m.value==null)return;let e=s.value;Mt(f.value,m.value,{middleware:c.value,placement:l.value,strategy:u.value}).then(t=>{h.value=t.x,_.value=t.y,v.value=t.strategy,y.value=t.placement,b.value=t.middlewareData,x.value=e!==!1})}function D(){typeof T==`function`&&(T(),T=void 0)}function O(){if(D(),o===void 0){E();return}if(f.value!=null&&m.value!=null){T=o(f.value,m.value,E);return}}function ee(){s.value||(x.value=!1)}return g([c,l,u,s],E,{flush:`sync`}),g([f,m],O,{flush:`sync`}),g(s,ee,{flush:`sync`}),p()&&S(D),{x:t(h),y:t(_),strategy:t(v),placement:t(y),middlewareData:t(b),isPositioned:t(x),floatingStyles:w,update:E}}var zt={side:`bottom`,sideOffset:0,sideFlip:!0,align:`center`,alignOffset:0,alignFlip:!0,arrowPadding:0,hideShiftedArrow:!0,avoidCollisions:!0,collisionBoundary:()=>[],collisionPadding:0,sticky:`partial`,hideWhenDetached:!1,positionStrategy:`fixed`,updatePositionStrategy:`optimized`,prioritizePosition:!1},[Bt,Vt]=w(`PopperContent`),Ht=i({inheritAttrs:!1,__name:`PopperContent`,props:s({side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},{...zt}),emits:[`placed`],setup(t,{emit:i}){let a=t,s=i,u=D(),{forwardRef:p,currentElement:g}=T(),v=n(),b=n(),{width:S,height:w}=E(b),O=C(()=>a.side+(a.align===`center`?``:`-${a.align}`)),ee=C(()=>typeof a.collisionPadding==`number`?a.collisionPadding:{top:0,right:0,bottom:0,left:0,...a.collisionPadding}),k=C(()=>Array.isArray(a.collisionBoundary)?a.collisionBoundary:[a.collisionBoundary]),j=C(()=>({padding:ee.value,boundary:k.value.filter(te),altBoundary:k.value.length>0})),M=C(()=>({mainAxis:a.sideFlip,crossAxis:a.alignFlip})),N=y(()=>[Tt({mainAxis:a.sideOffset+w.value,alignmentAxis:a.alignOffset}),a.prioritizePosition&&a.avoidCollisions&&Dt({...j.value,...M.value}),a.avoidCollisions&&Et({mainAxis:!0,crossAxis:!!a.prioritizePosition,limiter:a.sticky===`partial`?jt():void 0,...j.value}),!a.prioritizePosition&&a.avoidCollisions&&Dt({...j.value,...M.value}),Ot({...j.value,apply:({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--reka-popper-available-width`,`${n}px`),o.setProperty(`--reka-popper-available-height`,`${r}px`),o.setProperty(`--reka-popper-anchor-width`,`${i}px`),o.setProperty(`--reka-popper-anchor-height`,`${a}px`)}}),b.value&&Ft({element:b.value,padding:a.arrowPadding}),ne({arrowWidth:S.value,arrowHeight:w.value}),a.hideWhenDetached&&kt({strategy:`referenceHidden`,...j.value})]),{floatingStyles:P,placement:F,isPositioned:I,middlewareData:L,update:re}=Rt(C(()=>a.reference??u.anchor.value),v,{strategy:a.positionStrategy,placement:O,whileElementsMounted:(...e)=>wt(...e,{layoutShift:!a.disableUpdateOnLayoutShift,animationFrame:a.updatePositionStrategy===`always`}),middleware:N}),R=C(()=>A(F.value)[0]),z=C(()=>A(F.value)[1]);d(()=>{I.value&&s(`placed`)});let B=C(()=>{let e=L.value.arrow?.centerOffset!==0;return a.hideShiftedArrow&&e}),ie=n(``);return h(()=>{g.value&&(ie.value=window.getComputedStyle(g.value).zIndex)}),Vt({placedSide:R,onArrowChange:e=>b.value=e,arrowX:C(()=>L.value.arrow?.x??0),arrowY:C(()=>L.value.arrow?.y??0),shouldHideArrow:B}),(t,n)=>(f(),l(`div`,{ref_key:`floatingRef`,ref:v,"data-reka-popper-content-wrapper":``,style:c({...o(P),transform:o(I)?o(P).transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ie.value,"--reka-popper-transform-origin":[o(L).transformOrigin?.x,o(L).transformOrigin?.y].join(` `),...o(L).hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}})},[r(o(_),e({ref:o(p)},t.$attrs,{"as-child":a.asChild,as:t.as,"data-side":R.value,"data-align":z.value,style:{animation:o(I)?void 0:`none`}}),{default:x(()=>[m(t.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`style`])],4))}});export{ee as i,Bt as n,k as r,Ht as t};