llm-simple-router 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +13 -0
- package/LICENSE +21 -0
- package/README.md +121 -0
- package/dist/admin/constants.d.ts +10 -0
- package/dist/admin/constants.js +11 -0
- package/dist/admin/groups.d.ts +7 -0
- package/dist/admin/groups.js +118 -0
- package/dist/admin/logs.d.ts +7 -0
- package/dist/admin/logs.js +43 -0
- package/dist/admin/mappings.d.ts +7 -0
- package/dist/admin/mappings.js +120 -0
- package/dist/admin/metrics.d.ts +7 -0
- package/dist/admin/metrics.js +41 -0
- package/dist/admin/providers.d.ts +8 -0
- package/dist/admin/providers.js +101 -0
- package/dist/admin/retry-rules.d.ts +9 -0
- package/dist/admin/retry-rules.js +98 -0
- package/dist/admin/router-keys.d.ts +8 -0
- package/dist/admin/router-keys.js +85 -0
- package/dist/admin/routes.d.ts +12 -0
- package/dist/admin/routes.js +22 -0
- package/dist/admin/services.d.ts +7 -0
- package/dist/admin/services.js +63 -0
- package/dist/admin/stats.d.ts +7 -0
- package/dist/admin/stats.js +15 -0
- package/dist/config.d.ts +15 -0
- package/dist/config.js +28 -0
- package/dist/db/helpers.d.ts +12 -0
- package/dist/db/helpers.js +28 -0
- package/dist/db/index.d.ts +16 -0
- package/dist/db/index.js +45 -0
- package/dist/db/logs.d.ts +90 -0
- package/dist/db/logs.js +47 -0
- package/dist/db/mappings.d.ts +36 -0
- package/dist/db/mappings.js +55 -0
- package/dist/db/metrics.d.ts +24 -0
- package/dist/db/metrics.js +119 -0
- package/dist/db/migrations/001_init.sql +37 -0
- package/dist/db/migrations/002_add_request_response_body.sql +2 -0
- package/dist/db/migrations/003_add_full_request_chain_log.sql +4 -0
- package/dist/db/migrations/004_rename_to_providers.sql +9 -0
- package/dist/db/migrations/005_add_api_key_preview.sql +1 -0
- package/dist/db/migrations/006_create_request_metrics.sql +20 -0
- package/dist/db/migrations/007_add_retry_fields.sql +2 -0
- package/dist/db/migrations/008_create_router_keys.sql +17 -0
- package/dist/db/migrations/009_add_request_logs_indexes.sql +2 -0
- package/dist/db/migrations/010_add_key_encrypted.sql +1 -0
- package/dist/db/migrations/011_create_mapping_groups.sql +33 -0
- package/dist/db/migrations/012_add_provider_models.sql +2 -0
- package/dist/db/migrations/013_add_retry_strategy.sql +4 -0
- package/dist/db/providers.d.ts +27 -0
- package/dist/db/providers.js +29 -0
- package/dist/db/retry-rules.d.ts +32 -0
- package/dist/db/retry-rules.js +49 -0
- package/dist/db/router-keys.d.ts +29 -0
- package/dist/db/router-keys.js +36 -0
- package/dist/db/stats.d.ts +9 -0
- package/dist/db/stats.js +34 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +131 -0
- package/dist/metrics/metrics-extractor.d.ts +32 -0
- package/dist/metrics/metrics-extractor.js +178 -0
- package/dist/metrics/sse-metrics-transform.d.ts +16 -0
- package/dist/metrics/sse-metrics-transform.js +35 -0
- package/dist/metrics/sse-parser.d.ts +20 -0
- package/dist/metrics/sse-parser.js +81 -0
- package/dist/middleware/admin-auth.d.ts +8 -0
- package/dist/middleware/admin-auth.js +57 -0
- package/dist/middleware/auth.d.ts +14 -0
- package/dist/middleware/auth.js +41 -0
- package/dist/proxy/anthropic.d.ts +12 -0
- package/dist/proxy/anthropic.js +34 -0
- package/dist/proxy/mapping-resolver.d.ts +3 -0
- package/dist/proxy/mapping-resolver.js +27 -0
- package/dist/proxy/openai.d.ts +12 -0
- package/dist/proxy/openai.js +72 -0
- package/dist/proxy/proxy-core.d.ts +75 -0
- package/dist/proxy/proxy-core.js +408 -0
- package/dist/proxy/retry-rules.d.ts +9 -0
- package/dist/proxy/retry-rules.js +27 -0
- package/dist/proxy/retry.d.ts +43 -0
- package/dist/proxy/retry.js +120 -0
- package/dist/proxy/strategy/failover.d.ts +4 -0
- package/dist/proxy/strategy/failover.js +5 -0
- package/dist/proxy/strategy/random.d.ts +4 -0
- package/dist/proxy/strategy/random.js +5 -0
- package/dist/proxy/strategy/round-robin.d.ts +4 -0
- package/dist/proxy/strategy/round-robin.js +5 -0
- package/dist/proxy/strategy/scheduled.d.ts +4 -0
- package/dist/proxy/strategy/scheduled.js +62 -0
- package/dist/proxy/strategy/types.d.ts +13 -0
- package/dist/proxy/strategy/types.js +3 -0
- package/dist/utils/crypto.d.ts +2 -0
- package/dist/utils/crypto.js +32 -0
- package/frontend-dist/assets/CardContent-BE9fukPi.js +1 -0
- package/frontend-dist/assets/CardHeader-D5lVaeAA.js +1 -0
- package/frontend-dist/assets/CardTitle-H-zwhi3Z.js +1 -0
- package/frontend-dist/assets/Checkbox--1gw0dYW.js +1 -0
- package/frontend-dist/assets/CollapsibleTrigger-D_ptA35Y.js +1 -0
- package/frontend-dist/assets/Dashboard-D4AwkULO.js +3 -0
- package/frontend-dist/assets/Label-GiPfoz7u.js +1 -0
- package/frontend-dist/assets/Login-BUet1sbM.js +1 -0
- package/frontend-dist/assets/Logs-yztb_F9t.js +3 -0
- package/frontend-dist/assets/ModelMappings-MbZhdPNv.js +1 -0
- package/frontend-dist/assets/Providers-BjsqH6A2.js +1 -0
- package/frontend-dist/assets/RetryRules-C2vvJvLr.js +1 -0
- package/frontend-dist/assets/RouterKeys-DavrgpAQ.js +1 -0
- package/frontend-dist/assets/RovingFocusItem-DnIa_lwH.js +1 -0
- package/frontend-dist/assets/SelectValue-BB0Ckbjh.js +1 -0
- package/frontend-dist/assets/TableHeader-D2GkiqRx.js +1 -0
- package/frontend-dist/assets/alert-dialog-CWjBke-O.js +1 -0
- package/frontend-dist/assets/badge-_ZHrMEpC.js +3 -0
- package/frontend-dist/assets/button-C4_mChkc.js +1 -0
- package/frontend-dist/assets/client-BWw0R36V.js +12 -0
- package/frontend-dist/assets/dialog-CUHMcTqp.js +1 -0
- package/frontend-dist/assets/index-DEl48bm9.css +1 -0
- package/frontend-dist/assets/index-UZK1BnPG.js +1 -0
- package/frontend-dist/assets/lib-Qs8xoTas.js +1 -0
- package/frontend-dist/assets/useForwardExpose-B-xauF1X.js +1 -0
- package/frontend-dist/assets/x-JBJB26JV.js +1 -0
- package/frontend-dist/favicon.svg +1 -0
- package/frontend-dist/icons.svg +24 -0
- package/frontend-dist/index.html +18 -0
- package/package.json +72 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{A as e,B as t,C as n,I as r,J as i,M as a,N as o,R as s,S as c,T as l,_ as u,_t as d,at as f,f as p,g as m,gt as h,h as g,ht as _,l as v,pt as y,rt as ee,st as b,t as x,u as S,ut as C,v as w,vt as T,x as E,y as D,z as O}from"./client-BWw0R36V.js";import{n as k}from"./lib-Qs8xoTas.js";import{C as A,_ as j,d as M,m as N,p as P,t as F,u as I}from"./badge-_ZHrMEpC.js";import{a as te,i as ne,n as L,r as R,t as z}from"./SelectValue-BB0Ckbjh.js";import{i as B,n as V,r as H}from"./button-C4_mChkc.js";import{c as re,m as ie,t as U}from"./useForwardExpose-B-xauF1X.js";import{n as W,r as G,t as K}from"./CollapsibleTrigger-D_ptA35Y.js";import{i as ae,n as oe,o as se,r as ce,s as le,t as ue}from"./dialog-CUHMcTqp.js";import{n as q,t as de}from"./RovingFocusItem-DnIa_lwH.js";import{n as fe,t as pe}from"./Label-GiPfoz7u.js";import{n as J,t as Y}from"./CardContent-BE9fukPi.js";import{t as me}from"./CardHeader-D5lVaeAA.js";import{a as he,i as X,n as Z,o as ge,r as Q,t as _e}from"./TableHeader-D2GkiqRx.js";var[ve,ye]=A(`TabsRoot`),be=n({__name:`TabsRoot`,props:{defaultValue:{type:null,required:!1},orientation:{type:String,required:!1,default:`horizontal`},dir:{type:String,required:!1},activationMode:{type:String,required:!1,default:`automatic`},modelValue:{type:null,required:!1},unmountOnHide:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=e,a=t,{orientation:o,unmountOnHide:s,dir:c}=C(n),l=j(c);U();let d=re(n,`modelValue`,a,{defaultValue:n.defaultValue,passive:n.modelValue===void 0}),p=f(),m=b(new Set);return ye({modelValue:d,changeModelValue:e=>{d.value=e},orientation:o,dir:l,unmountOnHide:s,activationMode:n.activationMode,baseId:M(void 0,`reka-tabs`),tabsList:p,contentIds:m,registerContent:e=>{m.value=new Set([...m.value,e])},unregisterContent:e=>{let t=new Set(m.value);t.delete(e),m.value=t}}),(e,t)=>(r(),u(y(B),{dir:y(l),"data-orientation":y(o),"as-child":e.asChild,as:e.as},{default:i(()=>[O(e.$slots,`default`,{modelValue:y(d)})]),_:3},8,[`dir`,`data-orientation`,`as-child`,`as`]))}});function xe(e,t){return`${e}-trigger-${t}`}function Se(e,t){return`${e}-content-${t}`}var Ce=n({__name:`TabsContent`,props:{value:{type:[String,Number],required:!0},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n}=U(),s=ve(),l=g(()=>xe(s.baseId,t.value)),p=g(()=>Se(s.baseId,t.value)),m=g(()=>t.value===s.modelValue.value),h=f(m.value);return o(()=>{s.registerContent(t.value),requestAnimationFrame(()=>{h.value=!1})}),a(()=>{s.unregisterContent(t.value)}),(e,t)=>(r(),u(y(I),{present:e.forceMount||m.value,"force-mount":``},{default:i(({present:t})=>[c(y(B),{id:p.value,ref:y(n),"as-child":e.asChild,as:e.as,role:`tabpanel`,"data-state":m.value?`active`:`inactive`,"data-orientation":y(s).orientation.value,"aria-labelledby":l.value,hidden:!t,tabindex:`0`,style:d({animationDuration:h.value?`0s`:void 0})},{default:i(()=>[!y(s).unmountOnHide.value||t?O(e.$slots,`default`,{key:0}):w(`v-if`,!0)]),_:2},1032,[`id`,`as-child`,`as`,`data-state`,`data-orientation`,`aria-labelledby`,`hidden`,`style`])]),_:3},8,[`present`]))}}),we=n({__name:`TabsList`,props:{loop:{type:Boolean,required:!1,default:!0},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let{loop:t}=C(e),{forwardRef:n,currentElement:a}=U(),o=ve();return o.tabsList=a,(e,a)=>(r(),u(y(q),{"as-child":``,orientation:y(o).orientation.value,dir:y(o).dir.value,loop:y(t)},{default:i(()=>[c(y(B),{ref:y(n),role:`tablist`,"as-child":e.asChild,as:e.as,"aria-orientation":y(o).orientation.value},{default:i(()=>[O(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`aria-orientation`])]),_:3},8,[`orientation`,`dir`,`loop`]))}}),Te=n({__name:`TabsTrigger`,props:{value:{type:[String,Number],required:!0},disabled:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,{forwardRef:n}=U(),a=ve(),o=g(()=>xe(a.baseId,t.value)),s=g(()=>a.contentIds.value.has(t.value)?Se(a.baseId,t.value):void 0),l=g(()=>t.value===a.modelValue.value);return(e,t)=>(r(),u(y(de),{"as-child":``,focusable:!e.disabled,active:l.value},{default:i(()=>[c(y(B),{id:o.value,ref:y(n),role:`tab`,type:e.as===`button`?`button`:void 0,as:e.as,"as-child":e.asChild,"aria-selected":l.value?`true`:`false`,"aria-controls":s.value,"data-state":l.value?`active`:`inactive`,disabled:e.disabled,"data-disabled":e.disabled?``:void 0,"data-orientation":y(a).orientation.value,onMousedown:t[0]||=S(t=>{!e.disabled&&t.ctrlKey===!1?y(a).changeModelValue(e.value):t.preventDefault()},[`left`]),onKeydown:t[1]||=v(t=>y(a).changeModelValue(e.value),[`enter`,`space`]),onFocus:t[2]||=()=>{let t=y(a).activationMode!==`manual`;!l.value&&!e.disabled&&t&&y(a).changeModelValue(e.value)}},{default:i(()=>[O(e.$slots,`default`)]),_:3},8,[`id`,`type`,`as`,`as-child`,`aria-selected`,`aria-controls`,`data-state`,`disabled`,`data-disabled`,`data-orientation`])]),_:3},8,[`focusable`,`active`]))}}),Ee=n({__name:`Skeleton`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,n)=>(r(),D(`div`,{"data-slot":`skeleton`,class:_(y(H)(`bg-muted rounded-md animate-pulse`,t.class))},null,2))}}),De=n({__name:`Tabs`,props:{defaultValue:{},orientation:{},dir:{},activationMode:{},modelValue:{},unmountOnHide:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},emits:[`update:modelValue`],setup(t,{emit:n}){let a=t,o=n,s=P(ie(a,`class`),o);return(t,n)=>(r(),u(y(be),e({"data-slot":`tabs`,"data-orientation":y(s).orientation||`horizontal`},y(s),{class:y(H)(`gap-2 group/tabs flex data-horizontal:flex-col`,a.class)}),{default:i(e=>[O(t.$slots,`default`,h(l(e)))]),_:3},16,[`data-orientation`,`class`]))}}),Oe=n({__name:`TabsContent`,props:{value:{},forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t,a=ie(n,`class`);return(t,o)=>(r(),u(y(Ce),e({"data-slot":`tabs-content`,class:y(H)(`text-sm flex-1 outline-none`,n.class)},y(a)),{default:i(()=>[O(t.$slots,`default`)]),_:3},16,[`class`]))}}),ke=n({__name:`TabsList`,props:{loop:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},variant:{default:`default`}},setup(t){let n=t,a=ie(n,`class`,`variant`);return(o,s)=>(r(),u(y(we),e({"data-slot":`tabs-list`,"data-variant":t.variant},y(a),{class:y(H)(`rounded-lg p-[3px] group-data-horizontal/tabs:h-8 data-[variant=line]:rounded-none group/tabs-list inline-flex w-fit items-center justify-center text-muted-foreground group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col`,t.variant===`default`&&`bg-muted`,t.variant===`line`&&`gap-1 bg-transparent`,n.class)}),{default:i(()=>[O(o.$slots,`default`)]),_:3},16,[`data-variant`,`class`]))}}),Ae=n({__name:`TabsTrigger`,props:{value:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t,a=N(ie(n,`class`));return(t,o)=>(r(),u(y(Te),e({"data-slot":`tabs-trigger`,class:y(H)(`gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg:not([class*=size-])]:size-4 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent`,`data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100`,n.class)},y(a)),{default:i(()=>[O(t.$slots,`default`)]),_:3},16,[`class`]))}}),je={class:`relative`},Me={class:`bg-background text-foreground rounded-md p-3 text-xs overflow-auto max-h-[40vh] whitespace-pre-wrap break-all border`},Ne=1500,Pe=n({__name:`JsonCopyBlock`,props:{content:{},hideCopyButton:{type:Boolean}},setup(e){let t=e,n=f(!1);async function a(){await navigator.clipboard.writeText(t.content),n.value=!0,setTimeout(()=>{n.value=!1},Ne)}return(t,o)=>(r(),D(`div`,je,[e.hideCopyButton?w(``,!0):(r(),u(y(V),{key:0,variant:`outline`,size:`sm`,class:`absolute top-2 right-2 h-7 text-xs`,onClick:a},{default:i(()=>[E(T(n.value?`已复制`:`复制`),1)]),_:1})),m(`pre`,Me,T(e.content),1)]))}}),Fe={class:`opacity-70`},$=n({__name:`StatPill`,props:{label:{},value:{},highlight:{type:Boolean}},setup(e){return(t,n)=>(r(),u(y(F),{variant:e.highlight?`default`:`secondary`,class:`font-mono text-sm px-3 py-1.5 rounded-md gap-1`},{default:i(()=>[m(`span`,Fe,T(e.label)+`:`,1),E(` `+T(e.value),1)]),_:1},8,[`variant`]))}}),Ie=n({__name:`TagPill`,props:{label:{}},setup(e){return(t,n)=>(r(),u(y(F),{variant:`outline`,class:`font-mono text-[10px] rounded-full px-2 py-0.5`},{default:i(()=>[E(T(e.label),1)]),_:1}))}}),Le={system:`bg-muted text-muted-foreground`,user:`bg-info-light text-info-dark dark:text-info`,assistant:`bg-success-light text-success-dark dark:text-success`,tool:`bg-warning-light text-warning-dark dark:text-warning`},Re={thinking:`bg-info-light text-info-dark dark:text-info`,tool_use:`bg-warning-light text-warning-dark dark:text-warning`,tool_result:`bg-success-light text-success-dark dark:text-success`,text:`bg-success-light text-success-dark dark:text-success`,error:`bg-danger-light text-danger-dark dark:text-danger`},ze={thinking:`border-info`,tool_use:`border-warning`,tool_result:`border-success`,text:`border-success`,error:`border-danger`},Be={"system-reminder":`bg-muted text-muted-foreground`,thinking:`bg-info-light text-info-dark dark:text-info`,"antml:function_calls":`bg-warning-light text-warning-dark dark:text-warning`,"antml:function_results":`bg-success-light text-success-dark dark:text-success`,tool_use:`bg-warning-light text-warning-dark dark:text-warning`,tool_result:`bg-success-light text-success-dark dark:text-success`,"env-info":`bg-info-light text-info-dark dark:text-info`,feedback:`bg-warning-light text-warning-dark dark:text-warning`,error:`bg-danger-light text-danger-dark dark:text-danger`,"local-command-caveat":`bg-muted text-muted-foreground`,"local-command-stdout":`bg-muted text-muted-foreground`,"command-name":`bg-info-light text-info-dark dark:text-info`,"command-message":`bg-info-light text-info-dark dark:text-info`,"command-args":`bg-info-light text-info-dark dark:text-info`},Ve=`bg-muted text-muted-foreground`,He=e=>Le[e]??Ve,Ue=e=>Re[e]??Ve,We=e=>ze[e]??`border-muted`,Ge=e=>Be[e]??Ve,Ke=2,qe=/<([a-zA-Z][a-zA-Z0-9:_-]*)(?:\s[^>]*)?>([\s\S]*?)<\/\1>/g;function Je(e){let t=new RegExp(qe.source,`g`),n=[],r=0,i;for(;(i=t.exec(e))!==null;){let a=e.slice(r,i.index).trim();a&&n.push({type:`text`,text:a}),n.push({type:i[1],text:i[2]}),r=t.lastIndex}let a=e.slice(r).trim();return a&&n.push({type:`text`,text:a}),n.length>0?n:[{type:`text`,text:e}]}function Ye(e){return typeof e==`string`?Je(e):Array.isArray(e)?e.flatMap(e=>{let t=e,n=String(t.type||`unknown`);if(n===`text`&&typeof t.text==`string`)return Je(t.text);if(n===`image`)return[{type:`image`,text:``}];if(n===`tool_use`){let e=String(t.name||``);return[{type:`tool_use`,text:t.input?JSON.stringify(t.input,null,Ke):``,label:e||void 0}]}if(n===`tool_result`){let e=t.content,n=``;return typeof e==`string`?n=e:Array.isArray(e)&&(n=e.map(e=>typeof e.text==`string`?e.text:JSON.stringify(e)).join(`
|
|
2
|
+
`)),[{type:`tool_result`,text:n}]}return n===`thinking`?[{type:`thinking`,text:String(t.thinking||``)}]:[{type:n,text:typeof t.text==`string`?t.text:``}]}):[{type:`text`,text:String(e??``)}]}var Xe={key:0,class:`flex items-center justify-between py-2 border-b mb-2 sticky top-0 z-10 bg-background`},Ze={key:0,class:`text-destructive text-sm`},Qe={key:1,class:`text-xs text-muted-foreground break-all`},$e={class:`flex flex-wrap gap-2`},et={class:`rounded-md border overflow-hidden mt-1`},tt={key:2,class:`space-y-2`},nt={key:0,class:`text-xs text-muted-foreground`},rt={key:0},it={key:0,class:`text-sm`},at={key:1,class:`text-sm whitespace-pre-wrap break-all`},ot={key:1,class:`text-xs text-muted-foreground`},st={class:`mt-1 whitespace-pre-wrap break-all text-[11px] bg-muted rounded-md p-2 border`},ct={key:2,class:`text-xs`},lt={key:3},ut={class:`flex flex-wrap gap-1`},dt={key:4},ft={key:0},pt={class:`mt-1 whitespace-pre-wrap break-all text-xs bg-muted rounded p-2 border`},mt=8,ht=1024,gt=n({__name:`LogRequestViewer`,props:{raw:{},apiType:{},showUrl:{type:Boolean},mode:{}},setup(e){let n=e,a=f(!1),o=ee({}),l=f(!1),d=f(!1),h=g(()=>{try{return JSON.parse(n.raw)}catch{return{}}}),v=g(()=>{try{return JSON.parse(n.raw),!1}catch{return!0}});async function b(){try{await navigator.clipboard.writeText(n.raw),d.value=!0,setTimeout(()=>{d.value=!1},2e3)}catch{d.value=!1}}let x=g(()=>{let e=h.value.headers||{},t=new Set(Object.keys(e));return Object.entries(e).filter(([e])=>t.has(e)).map(([e,t])=>e.toLowerCase()===`authorization`?[e,`Bearer sk-****`]:[e,t])}),S=g(()=>{let e=h.value.body;if(typeof e==`string`)try{return JSON.parse(e)}catch{return{}}return e||{}}),C=g(()=>(h.value.headers?.[`user-agent`]||``).includes(`claude-cli`)),O=g(()=>{let e=(h.value.headers?.[`user-agent`]||``).match(/claude-cli\/[^\s]+\s+\(([^)]+)\)/);return e?e[1]:`external, cli`}),k=g(()=>{let e=S.value.thinking;return e&&typeof e.budget_tokens==`number`?e.budget_tokens:void 0}),A=g(()=>{let e=S.value.tools;return Array.isArray(e)?e.length:void 0}),j=g(()=>{let e=[];return k.value!=null&&e.push(`thinking: ${k.value} tokens`),A.value!=null&&e.push(`tools: ${A.value} 个`),e}),M=g(()=>(S.value.messages||[]).map(e=>{let t=Ye(e.content),n={};for(let e of t)e.type!==`text`&&e.text&&(n[e.type]=(n[e.type]||0)+1);let r=new Set(Object.keys(n)),i=Object.entries(n).filter(([e])=>r.has(e)).map(([e,t])=>`${e}${t>1?` x${t}`:``}`).join(`, `)||void 0;return{role:e.role,blocks:t,blockSummary:i}})),N=g(()=>(S.value.tools||[]).map(e=>e.function?.name||e.name||`unknown`).filter(Boolean)),P=g(()=>l.value?N.value:N.value.slice(0,mt)),I=g(()=>{let e=S.value.system;return e?Array.isArray(e)?e.map(e=>({type:e.type||`text`,text:e.text||``})):typeof e==`string`?[{type:`text`,text:e}]:[{type:`unknown`,text:JSON.stringify(e)}]:[]}),te=new Set([`model`,`stream`,`max_tokens`,`thinking`,`messages`,`tools`,`system`]),ne=g(()=>{let e={};for(let t of Object.keys(S.value))te.has(t)||(e[t]=S.value[t]);return e}),L=g(()=>Object.keys(ne.value));function R(e){let t=new TextEncoder().encode(e).length;return t<ht?`${t}B`:`${(t/ht).toFixed(1)}KB`}return(n,f)=>{let g=t(`InfoBanner`);return r(),u(y(De),{"default-value":e.mode??`structured`,"model-value":e.mode,class:`w-full`},{default:i(()=>[e.mode?w(``,!0):(r(),D(`div`,Xe,[c(y(ke),null,{default:i(()=>[c(y(Ae),{value:`structured`},{default:i(()=>[...f[2]||=[E(`结构化`,-1)]]),_:1}),c(y(Ae),{value:`raw`},{default:i(()=>[...f[3]||=[E(`原始 JSON`,-1)]]),_:1})]),_:1}),c(y(V),{variant:`ghost`,size:`xs`,class:`h-auto py-1`,onClick:b},{default:i(()=>[E(T(d.value?`已复制`:`复制 JSON`),1)]),_:1})])),c(y(Oe),{value:`structured`,class:`space-y-3`},{default:i(()=>[v.value?(r(),D(`div`,Ze,`解析失败,请切换到原始 JSON 查看`)):(r(),D(p,{key:1},[C.value?(r(),u(g,{key:0,icon:`CC`,title:`Claude Code 请求`,subtitle:`user-agent: ${O.value}`,details:j.value},null,8,[`subtitle`,`details`])):w(``,!0),e.showUrl&&h.value.url?(r(),D(`div`,Qe,T(h.value.url),1)):w(``,!0),m(`div`,$e,[h.value.body?.model?(r(),u($,{key:0,label:`model`,value:String(h.value.body.model),highlight:!0},null,8,[`value`])):w(``,!0),h.value.body?.stream==null?w(``,!0):(r(),u($,{key:1,label:`stream`,value:String(h.value.body.stream)},null,8,[`value`])),h.value.body?.max_tokens==null?w(``,!0):(r(),u($,{key:2,label:`max_tokens`,value:String(h.value.body.max_tokens)},null,8,[`value`])),h.value.body?.thinking==null?w(``,!0):(r(),u(Ie,{key:3,label:`thinking`}))]),c(y(G),{open:a.value,"onUpdate:open":f[0]||=e=>a.value=e},{default:i(()=>[c(y(K),{"as-child":``},{default:i(()=>[c(y(V),{variant:`ghost`,size:`xs`,class:`px-0 h-auto`},{default:i(()=>[E(` Headers (`+T(x.value.length)+` 个) `,1)]),_:1})]),_:1}),c(y(W),null,{default:i(()=>[m(`div`,et,[c(y(ge),null,{default:i(()=>[c(y(_e),null,{default:i(()=>[c(y(Q),null,{default:i(()=>[c(y(Z),{class:`w-1/3`},{default:i(()=>[...f[4]||=[E(`Key`,-1)]]),_:1}),c(y(Z),null,{default:i(()=>[...f[5]||=[E(`Value`,-1)]]),_:1})]),_:1})]),_:1}),c(y(he),null,{default:i(()=>[(r(!0),D(p,null,s(x.value,([e,t])=>(r(),u(y(Q),{key:e},{default:i(()=>[c(y(X),{class:`font-medium`},{default:i(()=>[E(T(e),1)]),_:2},1024),c(y(X),{class:`break-all`},{default:i(()=>[E(T(t),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})])]),_:1})]),_:1},8,[`open`]),M.value.length?(r(),D(`div`,tt,[f[7]||=m(`div`,{class:`text-xs font-medium text-muted-foreground`},`Messages`,-1),(r(!0),D(p,null,s(M.value,(e,t)=>(r(),u(y(J),{key:t,class:`bg-muted/40`},{default:i(()=>[c(y(me),{class:`pb-2 flex flex-row items-center gap-2`},{default:i(()=>[c(y(F),{class:_(y(He)(e.role))},{default:i(()=>[E(T(e.role),1)]),_:2},1032,[`class`]),e.blockSummary?(r(),D(`span`,nt,T(e.blockSummary),1)):w(``,!0)]),_:2},1024),c(y(Y),{class:`space-y-2`},{default:i(()=>[(r(!0),D(p,null,s(e.blocks,(e,n)=>(r(),D(`div`,{key:n},[e.type===`text`?(r(),D(`div`,rt,[e.text.length>120&&!o[`${t}-${n}`]?(r(),D(`div`,it,[E(T(e.text.slice(0,120))+` `,1),c(y(V),{variant:`link`,size:`xs`,class:`px-0 h-auto`,onClick:e=>o[`${t}-${n}`]=!0},{default:i(()=>[...f[6]||=[E(`展开`,-1)]]),_:1},8,[`onClick`])])):(r(),D(`div`,at,T(e.text),1))])):e.text?(r(),D(`div`,ot,[c(y(G),null,{default:i(()=>[c(y(K),{"as-child":``},{default:i(()=>[c(y(V),{variant:`ghost`,size:`xs`,class:`px-0 h-auto`},{default:i(()=>[c(y(F),{class:_([y(Ge)(e.type),`mr-1`])},{default:i(()=>[E(T(e.label||e.type),1)]),_:2},1032,[`class`]),E(` `+T(R(e.text)),1)]),_:2},1024)]),_:2},1024),c(y(W),null,{default:i(()=>[m(`pre`,st,T(e.text),1)]),_:2},1024)]),_:2},1024)])):(r(),D(`div`,ct,[c(y(F),{class:_([y(Ge)(e.type),`mr-1`])},{default:i(()=>[E(T(e.label||e.type),1)]),_:2},1032,[`class`])]))]))),128))]),_:2},1024)]),_:2},1024))),128))])):w(``,!0),N.value.length?(r(),D(`div`,lt,[f[8]||=m(`div`,{class:`text-xs font-medium text-muted-foreground mb-1`},`Tools`,-1),m(`div`,ut,[(r(!0),D(p,null,s(P.value,e=>(r(),u(Ie,{key:e,label:e},null,8,[`label`]))),128)),N.value.length>8?(r(),u(y(V),{key:0,variant:`ghost`,size:`xs`,class:`px-1 h-5`,onClick:f[1]||=e=>l.value=!l.value},{default:i(()=>[E(T(l.value?`收起`:`+${N.value.length-8}`),1)]),_:1})):w(``,!0)])])):w(``,!0),I.value.length?(r(),D(`div`,dt,[f[9]||=m(`div`,{class:`text-xs font-medium text-muted-foreground mb-1`},`System`,-1),c(y(J),{class:`bg-muted/40`},{default:i(()=>[c(y(Y),{class:`space-y-2`},{default:i(()=>[(r(!0),D(p,null,s(I.value,(e,t)=>(r(),D(`div`,{key:t,class:`text-sm whitespace-pre-wrap break-all`},[c(y(F),{variant:`outline`,class:`mb-1`},{default:i(()=>[E(T(e.type),1)]),_:2},1024),e.text?(r(),D(`div`,ft,T(e.text),1)):w(``,!0)]))),128))]),_:1})]),_:1})])):w(``,!0),L.value.length?(r(),u(y(G),{key:5},{default:i(()=>[c(y(K),{"as-child":``},{default:i(()=>[c(y(V),{variant:`ghost`,size:`xs`,class:`px-0 h-auto`},{default:i(()=>[...f[10]||=[E(` 其他字段 `,-1)]]),_:1})]),_:1}),c(y(W),null,{default:i(()=>[m(`pre`,pt,T(JSON.stringify(ne.value,null,2)),1)]),_:1})]),_:1})):w(``,!0)],64))]),_:1}),c(y(Oe),{value:`raw`},{default:i(()=>[c(Pe,{content:e.raw,"hide-copy-button":``},null,8,[`content`])]),_:1})]),_:1},8,[`default-value`,`model-value`])}}}),_t={class:`text-xs text-foreground`},vt=n({__name:`SseEventLine`,props:{eventType:{},summary:{},highlight:{type:Boolean}},setup(e){return(t,n)=>(r(),D(`div`,{class:_([`px-3 py-2 flex items-center gap-2`,e.highlight?`bg-warning/10`:``])},[m(`span`,{class:_([`px-1.5 py-0.5 rounded text-[10px] font-medium`,{"bg-teal-200 text-teal-700 dark:bg-teal-800 dark:text-teal-300":e.eventType===`message_start`,"bg-teal-300 text-teal-700 dark:bg-teal-700 dark:text-teal-200":e.eventType===`content_block_start`,"bg-muted text-muted-foreground":e.eventType===`content_block_delta`,"bg-teal-500 text-white dark:bg-teal-600":e.eventType===`message_delta`,"bg-success-light text-success":e.eventType===`message_stop`}])},T(e.eventType),3),m(`span`,_t,T(e.summary),1)],2))}}),yt=5,bt=2,xt=3;function St(e,t,n){let r=g(()=>{if(!t||!e.value)return[];let n=e.value.split(`
|
|
3
|
+
`),r=[];for(let e of n){let t=e.trim();if(!t.startsWith(`data:`))continue;let n=t.slice(yt).trim();if(n===`[DONE]`){r.push({type:`done`,data:n});continue}try{let e=JSON.parse(n);r.push({type:`data`,data:e})}catch{r.push({type:`raw`,data:n})}}return r});return{sseEvents:r,assembledBlocks:g(()=>{if(!t||!e.value)return[];let n=[],i=null;for(let e of r.value){if(e.type!==`data`)continue;let t=e.data;if(t.type===`content_block_start`){let e=t.content_block;if(i={type:String(e?.type||``),content:``,eventCount:0,toolName:e?.name?String(e.name):void 0},i.type===`tool_use`&&e?.input){let t=e.input;Object.keys(t).length>0&&(i.content=JSON.stringify(t,null,bt))}continue}if(t.type===`content_block_delta`&&i){let e=t.delta;i.content+=e.thinking||e.text||e.partial_json||``,i.eventCount++;continue}t.type===`content_block_stop`&&i&&(n.push(i),i=null)}return i&&n.push(i),n}),sseMeta:g(()=>{let e=``,t=``,n=0,i=0,a=``;for(let o of r.value){if(o.type!==`data`)continue;let r=o.data;if(r.type===`message_start`){let i=r.message;e=String(i?.id||``),t=String(i?.model||``),n=Number(i?.usage?.input_tokens??0)}if(r.type===`message_delta`){let e=r.delta,t=r.usage;a=String(e?.stop_reason||``),i=Number(t?.output_tokens??0)}}return{id:e,model:t,inputTokens:n,outputTokens:i,stopReason:a}}),openaiAssembled:g(()=>{if(n!==`openai`||!t)return null;let e=``,i=``,a=``,o=null,s=0;for(let t of r.value){if(t.type!==`data`)continue;let n=t.data,r=n.choices||[],c=r[0]?.delta;c?.role&&(e=String(c.role)),c?.content&&(i+=String(c.content),s++),r[0]?.finish_reason&&(a=String(r[0].finish_reason)),n.usage&&(o=n.usage)}return{role:e,content:i,contentEventCount:s,finishReason:a,usage:o}}),anthropicMessageStart:g(()=>{for(let e of r.value){if(e.type!==`data`)continue;let t=e.data;if(t.type===`message_start`){let e=t.message;return{id:String(e?.id||``),model:String(e?.model||``),input_tokens:Number(e?.usage?.input_tokens??0)}}}return null}),anthropicContentBlockStarts:g(()=>{let e=[];for(let t of r.value){if(t.type!==`data`)continue;let n=t.data;if(n.type===`content_block_start`){let t=n.content_block;e.push({index:Number(n.index??0),type:String(t?.type||``)})}}return e}),anthropicDeltaGroups:g(()=>{let e={};for(let t of r.value){if(t.type!==`data`)continue;let n=t.data;if(n.type!==`content_block_delta`)continue;let r=n.delta,i=String(r?.type||`unknown`);e[i]||(e[i]={deltaType:i,kept:0,folded:0,foldedChars:0});let a=e[i];if(a.kept<xt)a.kept++;else{a.folded++;let e=r,t=String(e.thinking||e.text||e.partial_json||``);a.foldedChars+=t.length}}return Object.values(e).filter(e=>e.kept>0||e.folded>0)}),anthropicMessageDelta:g(()=>{for(let e of r.value){if(e.type!==`data`)continue;let t=e.data;if(t.type===`message_delta`){let e=t.delta,n=t.usage;return{output_tokens:Number(n?.output_tokens??0),stop_reason:String(e?.stop_reason||``)}}}return null}),anthropicMessageStop:g(()=>r.value.some(e=>e.type===`data`&&e.data.type===`message_stop`)),openaiSseRole:g(()=>{for(let e of r.value){if(e.type!==`data`)continue;let t=(e.data.choices||[])[0]?.delta;if(t?.role)return String(t.role)}return null}),openaiSseFirstContent:g(()=>{for(let e of r.value){if(e.type!==`data`)continue;let t=(e.data.choices||[])[0]?.delta;if(t?.content)return String(t.content)}return null}),openaiSseFinishReason:g(()=>{for(let e of r.value){if(e.type!==`data`)continue;let t=(e.data.choices||[])[0]?.finish_reason;if(t)return String(t)}return null}),openaiSseCollapsedCount:g(()=>{let e=0,t=!1;for(let n of r.value){if(n.type!==`data`)continue;let r=(n.data.choices||[])[0]?.delta;if(!t){r?.content&&(t=!0);continue}(r?.content||r?.role)&&e++}return e}),openaiSseUsage:g(()=>{for(let e=r.value.length-1;e>=0;e--){let t=r.value[e];if(t.type!==`data`)continue;let n=t.data.usage;if(n)return{prompt_tokens:n.prompt_tokens,completion_tokens:n.completion_tokens,total_tokens:n.total_tokens,cached_tokens:n.cached_tokens??n.prompt_tokens_details?.cached_tokens}}return null})}}var Ct={key:0,class:`flex items-center justify-between py-2 border-b mb-2 sticky top-0 z-10 bg-background`},wt={key:0,class:`text-destructive text-sm`},Tt={class:`flex items-center gap-2`},Et={class:`rounded-md border overflow-hidden mt-1`},Dt={class:`flex flex-wrap gap-2`},Ot={key:0,class:`space-y-2`},kt={class:`mt-1 whitespace-pre-wrap break-all text-xs bg-muted rounded-md p-2 border`},At={key:1,class:`grid grid-cols-2 sm:grid-cols-4 gap-2`},jt={class:`font-medium`},Mt={class:`font-medium`},Nt={class:`font-medium`},Pt={class:`font-medium`},Ft={class:`flex flex-wrap gap-2`},It={key:0,class:`space-y-2`},Lt={class:`flex flex-wrap gap-2`},Rt={key:1,class:`grid grid-cols-2 sm:grid-cols-4 gap-2`},zt={class:`font-medium`},Bt={class:`font-medium`},Vt={class:`font-medium`},Ht={class:`font-medium`},Ut={key:1,class:`space-y-3`},Wt={class:`flex gap-1`},Gt={class:`flex flex-wrap gap-2`},Kt={class:`flex items-center gap-2 mb-2`},qt={class:`text-xs text-muted-foreground`},Jt={key:0,class:`text-xs font-mono`},Yt={class:`whitespace-pre-wrap break-all text-sm bg-muted rounded-md p-3 border`},Xt={key:1,class:`whitespace-pre-wrap break-all text-sm bg-muted rounded-md p-3 border max-h-[40vh] overflow-auto`},Zt={class:`flex flex-wrap gap-2`},Qt={class:`flex flex-wrap gap-2`},$t={class:`whitespace-pre-wrap break-all text-sm bg-muted rounded-md p-3 max-h-[40vh] overflow-auto`},en={key:0,class:`grid grid-cols-2 sm:grid-cols-4 gap-2`},tn={class:`font-medium`},nn={class:`font-medium`},rn={class:`font-medium`},an={key:0,class:`text-sm`},on={key:1,class:`text-sm`},sn={key:2,class:`text-sm`},cn={key:3,class:`text-xs text-muted-foreground`},ln={key:4,class:`grid grid-cols-2 sm:grid-cols-4 gap-2`},un={class:`font-medium`},dn={class:`font-medium`},fn={class:`font-medium`},pn={class:`font-medium`},mn=400,hn=n({__name:`LogResponseViewer`,props:{raw:{},apiType:{},isStream:{type:Boolean},mode:{}},setup(e){let t=e,n=g(()=>{try{return JSON.parse(t.raw)}catch{return null}}),a=g(()=>n.value===null),o=g(()=>(n.value?.statusCode??0)>=mn?`destructive`:`default`),l=g(()=>{let e=n.value?.headers||{};return Object.entries(e)}),d=g(()=>{if(!t.isStream&&n.value?.body)try{return JSON.parse(n.value.body)}catch{return{}}return{}}),h=g(()=>(d.value.choices||[]).map(e=>({role:e.message?.role||`assistant`,content:e.message?.content||``,finish_reason:e.finish_reason||``}))),v=g(()=>{let e=d.value.usage;return e?{prompt_tokens:e.prompt_tokens,completion_tokens:e.completion_tokens,total_tokens:e.total_tokens,cached_tokens:e.cached_tokens??e.prompt_tokens_details?.cached_tokens}:null}),b=g(()=>d.value.content||[]),x=g(()=>{let e=d.value.usage;return e?{input_tokens:e.input_tokens,output_tokens:e.output_tokens,cache_creation_input_tokens:e.cache_creation_input_tokens,cache_read_input_tokens:e.cache_read_input_tokens}:null}),{assembledBlocks:S,sseMeta:C,openaiAssembled:O,anthropicMessageStart:k,anthropicContentBlockStarts:A,anthropicDeltaGroups:j,anthropicMessageDelta:M,anthropicMessageStop:N,openaiSseRole:P,openaiSseFirstContent:I,openaiSseFinishReason:te,openaiSseCollapsedCount:ne,openaiSseUsage:L}=St(g(()=>n.value?.body),t.isStream,t.apiType),R=ee({}),z=f(`assembled`),B=f(!1);async function H(){try{await navigator.clipboard.writeText(t.raw),B.value=!0,setTimeout(()=>{B.value=!1},2e3)}catch{B.value=!1}}return(t,f)=>(r(),u(y(De),{"default-value":e.mode??`structured`,"model-value":e.mode,class:`w-full`},{default:i(()=>[e.mode?w(``,!0):(r(),D(`div`,Ct,[c(y(ke),null,{default:i(()=>[c(y(Ae),{value:`structured`},{default:i(()=>[...f[2]||=[E(`结构化`,-1)]]),_:1}),c(y(Ae),{value:`raw`},{default:i(()=>[E(T(e.isStream?`原始 SSE 文本`:`原始 JSON`),1)]),_:1})]),_:1}),c(y(V),{variant:`ghost`,size:`xs`,class:`h-auto py-1`,onClick:H},{default:i(()=>[E(T(B.value?`已复制`:`复制`),1)]),_:1})])),c(y(Oe),{value:`structured`,class:`space-y-3`},{default:i(()=>[a.value?(r(),D(`div`,wt,`解析失败,请切换到原始 JSON 查看`)):(r(),D(p,{key:1},[m(`div`,Tt,[c(y(F),{variant:o.value},{default:i(()=>[E(`status: `+T(n.value.statusCode),1)]),_:1},8,[`variant`])]),c(y(G),null,{default:i(()=>[c(y(K),{"as-child":``},{default:i(()=>[c(y(V),{variant:`ghost`,size:`xs`,class:`px-0 h-auto text-xs`},{default:i(()=>[E(` Headers (`+T(l.value.length)+` 个) `,1)]),_:1})]),_:1}),c(y(W),null,{default:i(()=>[m(`div`,Et,[c(y(ge),null,{default:i(()=>[c(y(_e),null,{default:i(()=>[c(y(Q),null,{default:i(()=>[c(y(Z),{class:`w-1/3`},{default:i(()=>[...f[3]||=[E(`Key`,-1)]]),_:1}),c(y(Z),null,{default:i(()=>[...f[4]||=[E(`Value`,-1)]]),_:1})]),_:1})]),_:1}),c(y(he),null,{default:i(()=>[(r(!0),D(p,null,s(l.value,([e,t])=>(r(),u(y(Q),{key:e},{default:i(()=>[c(y(X),{class:`font-medium`},{default:i(()=>[E(T(e),1)]),_:2},1024),c(y(X),{class:`break-all`},{default:i(()=>[E(T(t),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1})])]),_:1})]),_:1}),e.isStream?(r(),D(`div`,Ut,[m(`div`,Wt,[c(y(V),{variant:`ghost`,class:_([z.value===`assembled`?`bg-secondary`:``,`h-auto py-1`]),size:`xs`,onClick:f[0]||=e=>z.value=`assembled`},{default:i(()=>[...f[16]||=[E(`完整响应`,-1)]]),_:1},8,[`class`]),c(y(V),{variant:`ghost`,class:_([z.value===`raw-events`?`bg-secondary`:``,`h-auto py-1`]),size:`xs`,onClick:f[1]||=e=>z.value=`raw-events`},{default:i(()=>[...f[17]||=[E(`原始事件流`,-1)]]),_:1},8,[`class`])]),z.value===`assembled`?(r(),D(p,{key:0},[e.apiType===`anthropic`?(r(),D(p,{key:0},[m(`div`,Gt,[y(C).id?(r(),u($,{key:0,label:`id`,value:y(C).id},null,8,[`value`])):w(``,!0),y(C).model?(r(),u($,{key:1,label:`model`,value:y(C).model,highlight:!0},null,8,[`value`])):w(``,!0),c($,{label:`input`,value:String(y(C).inputTokens)},null,8,[`value`])]),(r(!0),D(p,null,s(y(S),(e,t)=>(r(),D(`div`,{key:t,class:_([`rounded-md border p-3`,y(We)(e.type)])},[m(`div`,Kt,[c(y(F),{class:_(y(Ue)(e.type))},{default:i(()=>[E(T(e.type),1)]),_:2},1032,[`class`]),m(`span`,qt,T(e.eventCount)+` 个 delta 事件`,1),e.toolName?(r(),D(`span`,Jt,T(e.toolName),1)):w(``,!0)]),e.content.length>500&&!R[t]?(r(),D(p,{key:0},[m(`pre`,Yt,T(e.content.slice(0,500))+`...`,1),c(y(V),{variant:`link`,size:`xs`,class:`px-0`,onClick:e=>R[t]=!0},{default:i(()=>[...f[18]||=[E(`展开全部`,-1)]]),_:1},8,[`onClick`])],64)):(r(),D(`pre`,Xt,T(e.content),1))],2))),128)),m(`div`,Zt,[c($,{label:`stop_reason`,value:y(C).stopReason||`-`},null,8,[`value`]),c($,{label:`output_tokens`,value:String(y(C).outputTokens||`-`)},null,8,[`value`])])],64)):w(``,!0),e.apiType===`openai`&&y(O)?(r(),D(p,{key:1},[m(`div`,Qt,[y(O).role?(r(),u($,{key:0,label:`role`,value:y(O).role},null,8,[`value`])):w(``,!0),c($,{label:`content delta`,value:String(y(O).contentEventCount)},null,8,[`value`]),y(O).finishReason?(r(),u($,{key:1,label:`finish`,value:y(O).finishReason},null,8,[`value`])):w(``,!0)]),m(`div`,{class:_([`rounded-md border p-3`,y(We)(`text`)])},[m(`pre`,$t,T(y(O).content),1)],2),y(O).usage?(r(),D(`div`,en,[c(y(J),{class:`bg-muted/40`},{default:i(()=>[c(y(Y),{class:`py-2 px-3 text-xs`},{default:i(()=>[f[19]||=m(`div`,{class:`text-muted-foreground`},`prompt_tokens`,-1),m(`div`,tn,T(y(O).usage.prompt_tokens??`-`),1)]),_:1})]),_:1}),c(y(J),{class:`bg-muted/40`},{default:i(()=>[c(y(Y),{class:`py-2 px-3 text-xs`},{default:i(()=>[f[20]||=m(`div`,{class:`text-muted-foreground`},`completion_tokens`,-1),m(`div`,nn,T(y(O).usage.completion_tokens??`-`),1)]),_:1})]),_:1}),c(y(J),{class:`bg-muted/40`},{default:i(()=>[c(y(Y),{class:`py-2 px-3 text-xs`},{default:i(()=>[f[21]||=m(`div`,{class:`text-muted-foreground`},`total_tokens`,-1),m(`div`,rn,T(y(O).usage.total_tokens??`-`),1)]),_:1})]),_:1})])):w(``,!0)],64)):w(``,!0)],64)):w(``,!0),z.value===`raw-events`?(r(),D(p,{key:1},[e.apiType===`openai`?(r(),D(p,{key:0},[y(P)?(r(),D(`div`,an,[f[22]||=m(`span`,{class:`text-muted-foreground`},`role:`,-1),E(` `+T(y(P)),1)])):w(``,!0),y(I)?(r(),D(`div`,on,[f[23]||=m(`span`,{class:`text-muted-foreground`},`first content delta:`,-1),E(` `+T(y(I)),1)])):w(``,!0),y(te)?(r(),D(`div`,sn,[f[24]||=m(`span`,{class:`text-muted-foreground`},`finish_reason:`,-1),E(` `+T(y(te)),1)])):w(``,!0),y(ne)>0?(r(),D(`div`,cn,` +`+T(y(ne))+` 个 delta 事件已折叠 `,1)):w(``,!0),y(L)?(r(),D(`div`,ln,[c(y(J),{class:`bg-muted/40`},{default:i(()=>[c(y(Y),{class:`py-2 px-3 text-xs`},{default:i(()=>[f[25]||=m(`div`,{class:`text-muted-foreground`},`prompt_tokens`,-1),m(`div`,un,T(y(L).prompt_tokens??`-`),1)]),_:1})]),_:1}),c(y(J),{class:`bg-muted/40`},{default:i(()=>[c(y(Y),{class:`py-2 px-3 text-xs`},{default:i(()=>[f[26]||=m(`div`,{class:`text-muted-foreground`},`completion_tokens`,-1),m(`div`,dn,T(y(L).completion_tokens??`-`),1)]),_:1})]),_:1}),c(y(J),{class:`bg-muted/40`},{default:i(()=>[c(y(Y),{class:`py-2 px-3 text-xs`},{default:i(()=>[f[27]||=m(`div`,{class:`text-muted-foreground`},`total_tokens`,-1),m(`div`,fn,T(y(L).total_tokens??`-`),1)]),_:1})]),_:1}),c(y(J),{class:`bg-muted/40`},{default:i(()=>[c(y(Y),{class:`py-2 px-3 text-xs`},{default:i(()=>[f[28]||=m(`div`,{class:`text-muted-foreground`},`cached_tokens`,-1),m(`div`,pn,T(y(L).cached_tokens??`-`),1)]),_:1})]),_:1})])):w(``,!0)],64)):w(``,!0),e.apiType===`anthropic`?(r(),D(p,{key:1},[y(k)?(r(),u(vt,{key:0,"event-type":`message_start`,summary:`id=${y(k).id} model=${y(k).model} input_tokens=${y(k).input_tokens}`},null,8,[`summary`])):w(``,!0),(r(!0),D(p,null,s(y(A),(e,t)=>(r(),u(vt,{key:`cbs-`+t,"event-type":`content_block_start`,summary:`[${e.index}] ${e.type}`},null,8,[`summary`]))),128)),(r(!0),D(p,null,s(y(j),(e,t)=>(r(),u(vt,{key:`dg-`+t,"event-type":`content_block_delta`,summary:`${e.deltaType} · keep ${e.kept} 个${e.folded>0?` +${e.folded} 个已折叠 (${e.foldedChars} 字符)`:``}`},null,8,[`summary`]))),128)),y(M)?(r(),u(vt,{key:1,"event-type":`message_delta`,summary:`output_tokens=${y(M).output_tokens} stop_reason=${y(M).stop_reason}`,highlight:!0},null,8,[`summary`])):w(``,!0),y(N)?(r(),u(vt,{key:2,"event-type":`message_stop`,summary:`流结束`})):w(``,!0)],64)):w(``,!0)],64)):w(``,!0)])):(r(),D(p,{key:0},[e.apiType===`openai`?(r(),D(p,{key:0},[m(`div`,Dt,[d.value.id?(r(),u($,{key:0,label:`id`,value:String(d.value.id)},null,8,[`value`])):w(``,!0),d.value.model?(r(),u($,{key:1,label:`model`,value:String(d.value.model),highlight:!0},null,8,[`value`])):w(``,!0),d.value.system_fingerprint?(r(),u($,{key:2,label:`fingerprint`,value:String(d.value.system_fingerprint)},null,8,[`value`])):w(``,!0)]),h.value.length?(r(),D(`div`,Ot,[f[6]||=m(`div`,{class:`text-xs font-medium text-muted-foreground`},`Choices`,-1),(r(!0),D(p,null,s(h.value,(e,t)=>(r(),u(y(J),{key:t,class:`bg-muted/40`},{default:i(()=>[c(y(me),{class:`pb-2 flex flex-row items-center gap-2`},{default:i(()=>[c(y(F),{variant:`secondary`},{default:i(()=>[E(T(e.role||`assistant`),1)]),_:2},1024),e.finish_reason?(r(),u(y(F),{key:0,variant:`outline`},{default:i(()=>[E(T(e.finish_reason),1)]),_:2},1024)):w(``,!0)]),_:2},1024),c(y(Y),null,{default:i(()=>[c(y(G),null,{default:i(()=>[c(y(K),{"as-child":``},{default:i(()=>[c(y(V),{variant:`ghost`,size:`xs`,class:`px-0 h-auto text-xs`},{default:i(()=>[...f[5]||=[E(`内容`,-1)]]),_:1})]),_:1}),c(y(W),null,{default:i(()=>[m(`pre`,kt,T(e.content),1)]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))])):w(``,!0),v.value?(r(),D(`div`,At,[c(y(J),{class:`bg-muted/40`},{default:i(()=>[c(y(Y),{class:`py-2 px-3 text-xs`},{default:i(()=>[f[7]||=m(`div`,{class:`text-muted-foreground`},`prompt_tokens`,-1),m(`div`,jt,T(v.value.prompt_tokens??`-`),1)]),_:1})]),_:1}),c(y(J),{class:`bg-muted/40`},{default:i(()=>[c(y(Y),{class:`py-2 px-3 text-xs`},{default:i(()=>[f[8]||=m(`div`,{class:`text-muted-foreground`},`completion_tokens`,-1),m(`div`,Mt,T(v.value.completion_tokens??`-`),1)]),_:1})]),_:1}),c(y(J),{class:`bg-muted/40`},{default:i(()=>[c(y(Y),{class:`py-2 px-3 text-xs`},{default:i(()=>[f[9]||=m(`div`,{class:`text-muted-foreground`},`total_tokens`,-1),m(`div`,Nt,T(v.value.total_tokens??`-`),1)]),_:1})]),_:1}),c(y(J),{class:`bg-muted/40`},{default:i(()=>[c(y(Y),{class:`py-2 px-3 text-xs`},{default:i(()=>[f[10]||=m(`div`,{class:`text-muted-foreground`},`cached_tokens`,-1),m(`div`,Pt,T(v.value.cached_tokens??`-`),1)]),_:1})]),_:1})])):w(``,!0)],64)):w(``,!0),e.apiType===`anthropic`?(r(),D(p,{key:1},[m(`div`,Ft,[d.value.id?(r(),u($,{key:0,label:`id`,value:String(d.value.id)},null,8,[`value`])):w(``,!0),d.value.type?(r(),u($,{key:1,label:`type`,value:String(d.value.type)},null,8,[`value`])):w(``,!0),d.value.model?(r(),u($,{key:2,label:`model`,value:String(d.value.model),highlight:!0},null,8,[`value`])):w(``,!0),d.value.stop_reason?(r(),u($,{key:3,label:`stop_reason`,value:String(d.value.stop_reason)},null,8,[`value`])):w(``,!0)]),b.value.length?(r(),D(`div`,It,[f[11]||=m(`div`,{class:`text-xs font-medium text-muted-foreground`},`Content`,-1),m(`div`,Lt,[(r(!0),D(p,null,s(b.value,(e,t)=>(r(),u(y(F),{key:t,class:_(y(Ue)(e.type))},{default:i(()=>[E(T(e.type),1)]),_:2},1032,[`class`]))),128))])])):w(``,!0),x.value?(r(),D(`div`,Rt,[c(y(J),{class:`bg-muted/40`},{default:i(()=>[c(y(Y),{class:`py-2 px-3 text-xs`},{default:i(()=>[f[12]||=m(`div`,{class:`text-muted-foreground`},`input_tokens`,-1),m(`div`,zt,T(x.value.input_tokens??`-`),1)]),_:1})]),_:1}),c(y(J),{class:`bg-muted/40`},{default:i(()=>[c(y(Y),{class:`py-2 px-3 text-xs`},{default:i(()=>[f[13]||=m(`div`,{class:`text-muted-foreground`},`output_tokens`,-1),m(`div`,Bt,T(x.value.output_tokens??`-`),1)]),_:1})]),_:1}),c(y(J),{class:`bg-muted/40`},{default:i(()=>[c(y(Y),{class:`py-2 px-3 text-xs`},{default:i(()=>[f[14]||=m(`div`,{class:`text-muted-foreground`},`cache_creation`,-1),m(`div`,Vt,T(x.value.cache_creation_input_tokens??`-`),1)]),_:1})]),_:1}),c(y(J),{class:`bg-muted/40`},{default:i(()=>[c(y(Y),{class:`py-2 px-3 text-xs`},{default:i(()=>[f[15]||=m(`div`,{class:`text-muted-foreground`},`cache_read`,-1),m(`div`,Ht,T(x.value.cache_read_input_tokens??`-`),1)]),_:1})]),_:1})])):w(``,!0)],64)):w(``,!0)],64))],64))]),_:1}),c(y(Oe),{value:`raw`},{default:i(()=>[c(Pe,{content:e.raw,"hide-copy-button":``},null,8,[`content`])]),_:1})]),_:1},8,[`default-value`,`model-value`]))}}),gn={class:`p-6`},_n={class:`flex items-center justify-between mb-4`},vn={class:`flex items-center gap-2`},yn={class:`bg-card rounded-lg border overflow-hidden`},bn={class:`font-mono`},xn={key:1,class:`text-muted-foreground`},Sn={key:1,class:`text-muted-foreground`},Cn={class:`flex items-center justify-between mt-4`},wn={class:`text-sm text-muted-foreground`},Tn={class:`flex gap-1`},En={class:`px-3 py-1 text-sm text-muted-foreground`},Dn={key:0,class:`font-mono text-xs text-muted-foreground font-normal select-all`},On={key:0,class:`space-y-3 py-4`},kn={class:`flex gap-2`},An={key:0,class:`flex items-center gap-2 mb-3 px-1`},jn={class:`text-xs text-muted-foreground`},Mn={class:`bg-muted/50 rounded-md p-3 text-sm grid grid-cols-3 gap-2`},Nn={class:`font-medium font-mono`},Pn={class:`font-medium`},Fn={class:`font-medium`},In={class:`font-medium`},Ln={class:`flex items-center justify-between px-4 py-2 border-b sticky top-0 z-10 bg-background`},Rn={class:`inline-flex h-8 items-center gap-1 rounded-md bg-muted p-1`},zn={class:`p-4`},Bn={class:`flex items-center justify-between px-4 py-2 border-b sticky top-0 z-10 bg-background`},Vn={class:`inline-flex h-8 items-center gap-1 rounded-md bg-muted p-1`},Hn={class:`p-4`},Un={class:`flex items-center justify-between px-4 py-2 border-b sticky top-0 z-10 bg-background`},Wn={class:`inline-flex h-8 items-center gap-1 rounded-md bg-muted p-1`},Gn={class:`p-4`},Kn={class:`flex items-center justify-between px-4 py-2 border-b sticky top-0 z-10 bg-background`},qn={class:`inline-flex h-8 items-center gap-1 rounded-md bg-muted p-1`},Jn={class:`p-4`},Yn={key:2,class:`py-8 text-center text-muted-foreground`},Xn={class:`mb-4`},Zn=20,Qn=n({__name:`Logs`,setup(e){let t=f([]),n=f(0),a=f(1),l=f(`all`),d=f(`all`),h=f([]),g=f(!1),v=f(30),b=f(!1),S=f(!1),C=f(null),O=f(!0),A=f(!1),j=f(!1),M=f(!1),N=ee({client_request:`structured`,upstream_request:`structured`,upstream_response:`structured`,client_response:`structured`}),P=f(null);function I(e){return C.value?{client_request:C.value.client_request||C.value.request_body||`{}`,upstream_request:C.value.upstream_request||`{}`,upstream_response:C.value.upstream_response||C.value.response_body||`{}`,client_response:C.value.client_response||`{}`}[e]:`{}`}async function B(e){try{await navigator.clipboard.writeText(I(e)),P.value=e,setTimeout(()=>{P.value=null},2e3)}catch{k.error(`复制失败`)}}function H(e){return e===`openai`?`openai`:`anthropic`}async function re(e){b.value=!0,S.value=!0,C.value=null,O.value=!0,A.value=!1,j.value=!1,M.value=!1,N.client_request=`structured`,N.upstream_request=`structured`,N.upstream_response=`structured`,N.client_response=`structured`;try{C.value=(await x.getLogDetail(e)).data}catch(e){console.error(`Failed to load log detail:`,e),k.error(`加载日志详情失败`)}finally{S.value=!1}}function ie(e){re(e)}function U(e){return new Date(e).toLocaleString(`zh-CN`)}async function q(){try{let e={page:a.value,limit:Zn};l.value&&l.value!==`all`&&(e.api_type=l.value),d.value&&d.value!==`all`&&(e.router_key_id=d.value);let r=await x.getLogs(e);t.value=r.data.data,n.value=r.data.total}catch(e){console.error(`Failed to load logs:`,e),k.error(`加载日志失败`)}}function de(){a.value=1,q()}function me(){a.value>1&&(a.value--,q())}function ve(){a.value++,q()}async function ye(){try{let e=new Date(Date.now()-v.value*864e5).toISOString(),t=await x.deleteLogsBefore(e);g.value=!1,a.value=1,await q(),k.success(`已清理 ${t.data.deleted} 条日志`)}catch(e){console.error(`Failed to cleanup logs:`,e),k.error(`清理日志失败`)}}async function be(){try{h.value=(await x.getRouterKeys()).data}catch(e){console.error(`Failed to load router keys:`,e),k.error(`加载密钥列表失败`)}}return o(()=>{be(),q()}),(e,o)=>(r(),D(`div`,gn,[m(`div`,_n,[o[29]||=m(`h2`,{class:`text-lg font-semibold text-foreground`},`请求日志`,-1),m(`div`,vn,[c(y(te),{modelValue:l.value,"onUpdate:modelValue":[o[0]||=e=>l.value=e,de]},{default:i(()=>[c(y(L),{class:`w-[140px]`},{default:i(()=>[c(y(z),{placeholder:`全部类型`})]),_:1}),c(y(ne),null,{default:i(()=>[c(y(R),{value:`all`},{default:i(()=>[...o[24]||=[E(`全部类型`,-1)]]),_:1}),c(y(R),{value:`openai`},{default:i(()=>[...o[25]||=[E(`OpenAI`,-1)]]),_:1}),c(y(R),{value:`anthropic`},{default:i(()=>[...o[26]||=[E(`Anthropic`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`]),c(y(te),{modelValue:d.value,"onUpdate:modelValue":[o[1]||=e=>d.value=e,de]},{default:i(()=>[c(y(L),{class:`w-48`},{default:i(()=>[c(y(z),{placeholder:`全部密钥`})]),_:1}),c(y(ne),null,{default:i(()=>[c(y(R),{value:`all`},{default:i(()=>[...o[27]||=[E(`全部密钥`,-1)]]),_:1}),(r(!0),D(p,null,s(h.value,e=>(r(),u(y(R),{key:e.id,value:e.id},{default:i(()=>[E(T(e.name),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`]),c(y(V),{variant:`outline`,class:`text-destructive border-destructive hover:bg-destructive/10`,onClick:o[2]||=e=>g.value=!0},{default:i(()=>[...o[28]||=[E(` 清理日志 `,-1)]]),_:1})])]),m(`div`,yn,[c(y(ge),null,{default:i(()=>[c(y(_e),null,{default:i(()=>[c(y(Q),{class:`bg-muted`},{default:i(()=>[c(y(Z),{class:`text-muted-foreground`},{default:i(()=>[...o[30]||=[E(`ID`,-1)]]),_:1}),c(y(Z),{class:`text-muted-foreground`},{default:i(()=>[...o[31]||=[E(`时间`,-1)]]),_:1}),c(y(Z),{class:`text-muted-foreground`},{default:i(()=>[...o[32]||=[E(`类型`,-1)]]),_:1}),c(y(Z),{class:`text-muted-foreground`},{default:i(()=>[...o[33]||=[E(`模型`,-1)]]),_:1}),c(y(Z),{class:`text-muted-foreground`},{default:i(()=>[...o[34]||=[E(`实际转发`,-1)]]),_:1}),c(y(Z),{class:`text-muted-foreground`},{default:i(()=>[...o[35]||=[E(`状态码`,-1)]]),_:1}),c(y(Z),{class:`text-muted-foreground`},{default:i(()=>[...o[36]||=[E(`延迟`,-1)]]),_:1}),c(y(Z),{class:`text-muted-foreground`},{default:i(()=>[...o[37]||=[E(`流式`,-1)]]),_:1}),c(y(Z),{class:`text-muted-foreground`},{default:i(()=>[...o[38]||=[E(`重试`,-1)]]),_:1}),c(y(Z),{class:`text-muted-foreground`},{default:i(()=>[...o[39]||=[E(`错误`,-1)]]),_:1}),c(y(Z),{class:`text-muted-foreground`},{default:i(()=>[...o[40]||=[E(`操作`,-1)]]),_:1})]),_:1})]),_:1}),c(y(he),null,{default:i(()=>[(r(!0),D(p,null,s(t.value,e=>(r(),u(y(Q),{key:e.id,class:_({"bg-destructive/10":(e.status_code??0)>=400,"bg-warning-light":e.is_retry})},{default:i(()=>[c(y(X),{class:`font-mono text-xs text-muted-foreground`,title:e.id},{default:i(()=>[E(T(e.id.slice(0,8)),1)]),_:2},1032,[`title`]),c(y(X),{class:`text-muted-foreground`},{default:i(()=>[E(T(U(e.created_at)),1)]),_:2},1024),c(y(X),null,{default:i(()=>[c(y(F),{variant:e.api_type===`openai`?`default`:`secondary`},{default:i(()=>[E(T(e.api_type),1)]),_:2},1032,[`variant`])]),_:2},1024),c(y(X),{class:`font-mono text-xs`},{default:i(()=>[E(T(e.model||`-`),1)]),_:2},1024),c(y(X),{class:`text-xs`},{default:i(()=>[e.backend_model||e.provider_name?(r(),D(p,{key:0},[m(`span`,bn,T(e.backend_model||`-`),1),o[41]||=m(`span`,{class:`text-muted-foreground`},` @ `,-1),c(y(F),{variant:`outline`,class:`text-[10px] px-1 py-0`},{default:i(()=>[E(T(e.provider_name||e.provider_id||`-`),1)]),_:2},1024)],64)):(r(),D(`span`,xn,`-`))]),_:2},1024),c(y(X),null,{default:i(()=>[c(y(F),{variant:(e.status_code??0)<400?`default`:`destructive`},{default:i(()=>[E(T(e.status_code||`-`),1)]),_:2},1032,[`variant`])]),_:2},1024),c(y(X),null,{default:i(()=>[E(T(e.latency_ms?e.latency_ms+`ms`:`-`),1)]),_:2},1024),c(y(X),null,{default:i(()=>[E(T(e.is_stream?`Yes`:`No`),1)]),_:2},1024),c(y(X),null,{default:i(()=>[e.is_retry?(r(),u(y(F),{key:0,variant:`outline`,class:`text-warning-dark border-warning`},{default:i(()=>[...o[42]||=[E(`重试`,-1)]]),_:1})):(r(),D(`span`,Sn,`-`))]),_:2},1024),c(y(X),{class:`text-destructive text-xs`},{default:i(()=>[E(T(e.error_message||`-`),1)]),_:2},1024),c(y(X),null,{default:i(()=>[c(y(V),{variant:`ghost`,size:`sm`,onClick:t=>re(e.id)},{default:i(()=>[...o[43]||=[E(`详情`,-1)]]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1032,[`class`]))),128)),t.value.length===0?(r(),u(y(Q),{key:0},{default:i(()=>[c(y(X),{colspan:`10`,class:`text-center text-muted-foreground py-8`},{default:i(()=>[...o[44]||=[E(`暂无日志`,-1)]]),_:1})]),_:1})):w(``,!0)]),_:1})]),_:1})]),m(`div`,Cn,[m(`p`,wn,`共 `+T(n.value)+` 条`,1),m(`div`,Tn,[c(y(V),{variant:`outline`,size:`sm`,onClick:me,disabled:a.value<=1},{default:i(()=>[...o[45]||=[E(`上一页`,-1)]]),_:1},8,[`disabled`]),m(`span`,En,`第 `+T(a.value)+` 页`,1),c(y(V),{variant:`outline`,size:`sm`,onClick:ve,disabled:t.value.length<Zn},{default:i(()=>[...o[46]||=[E(`下一页`,-1)]]),_:1},8,[`disabled`])])]),c(y(le),{open:b.value,"onUpdate:open":o[20]||=e=>b.value=e},{default:i(()=>[c(y(oe),{class:`max-w-4xl max-h-[85vh]`},{default:i(()=>[c(y(ce),null,{default:i(()=>[c(y(ue),{class:`flex items-center gap-2`},{default:i(()=>[o[47]||=E(`请求详情 `,-1),C.value?(r(),D(`span`,Dn,T(C.value.id),1)):w(``,!0)]),_:1})]),_:1}),S.value?(r(),D(`div`,On,[m(`div`,kn,[c(y(Ee),{class:`h-6 w-16`}),c(y(Ee),{class:`h-6 w-48`}),c(y(Ee),{class:`h-6 w-12`})]),(r(),D(p,null,s(4,e=>c(y(Ee),{class:`h-12 w-full`,key:e})),64))])):C.value?(r(),D(p,{key:1},[C.value.is_retry?(r(),D(`div`,An,[c(y(F),{variant:`outline`,class:`text-warning-dark border-warning`},{default:i(()=>[...o[48]||=[E(`重试请求`,-1)]]),_:1}),m(`span`,jn,[o[49]||=E(` 原始请求: `,-1),c(y(V),{variant:`link`,class:`h-auto p-0 text-xs font-mono text-primary underline`,onClick:o[3]||=e=>ie(C.value.original_request_id)},{default:i(()=>[E(T(C.value.original_request_id?.slice(0,8)),1)]),_:1})])])):w(``,!0),m(`div`,Mn,[m(`div`,null,[o[50]||=m(`span`,{class:`text-muted-foreground`},`类型:`,-1),o[51]||=E(),c(y(F),{variant:C.value.api_type===`openai`?`default`:`secondary`,class:`text-xs`},{default:i(()=>[E(T(C.value.api_type),1)]),_:1},8,[`variant`])]),m(`div`,null,[o[52]||=m(`span`,{class:`text-muted-foreground`},`模型:`,-1),o[53]||=E(),m(`span`,Nn,T(C.value.model||`-`),1)]),m(`div`,null,[o[54]||=m(`span`,{class:`text-muted-foreground`},`状态码:`,-1),o[55]||=E(),c(y(F),{variant:(C.value.status_code??0)<400?`default`:`destructive`,class:`text-xs`},{default:i(()=>[E(T(C.value.status_code||`-`),1)]),_:1},8,[`variant`])]),m(`div`,null,[o[56]||=m(`span`,{class:`text-muted-foreground`},`延迟:`,-1),o[57]||=E(),m(`span`,Pn,T(C.value.latency_ms?C.value.latency_ms+`ms`:`-`),1)]),m(`div`,null,[o[58]||=m(`span`,{class:`text-muted-foreground`},`流式:`,-1),o[59]||=E(),m(`span`,Fn,T(C.value.is_stream?`Yes`:`No`),1)]),m(`div`,null,[o[60]||=m(`span`,{class:`text-muted-foreground`},`时间:`,-1),o[61]||=E(),m(`span`,In,T(U(C.value.created_at)),1)])]),c(y(G),{open:O.value,"onUpdate:open":o[7]||=e=>O.value=e,class:`border rounded-md`},{default:i(()=>[c(y(K),{"as-child":``},{default:i(()=>[c(y(V),{variant:`ghost`,class:`w-full px-4 py-3 text-left text-sm font-medium text-foreground bg-muted/50 hover:bg-muted rounded-none rounded-t-md flex items-center gap-2`},{default:i(()=>[m(`span`,{class:_([`text-xs transition-transform`,O.value?`rotate-0`:`-rotate-90`])},`▼`,2),o[62]||=E(` 客户端原始请求 `,-1)]),_:1})]),_:1}),c(y(W),null,{default:i(()=>[m(`div`,Ln,[m(`div`,Rn,[c(y(V),{variant:`ghost`,size:`xs`,class:_(N.client_request===`structured`?`bg-background shadow`:``),onClick:o[4]||=e=>N.client_request=`structured`},{default:i(()=>[...o[63]||=[E(`结构化`,-1)]]),_:1},8,[`class`]),c(y(V),{variant:`ghost`,size:`xs`,class:_(N.client_request===`raw`?`bg-background shadow`:``),onClick:o[5]||=e=>N.client_request=`raw`},{default:i(()=>[...o[64]||=[E(`原始 JSON`,-1)]]),_:1},8,[`class`])]),c(y(V),{variant:`ghost`,size:`xs`,class:`h-auto py-1`,onClick:o[6]||=e=>B(`client_request`)},{default:i(()=>[E(T(P.value===`client_request`?`已复制`:`复制`),1)]),_:1})]),m(`div`,zn,[c(gt,{raw:C.value.client_request||C.value.request_body||`{}`,"api-type":H(C.value.api_type),mode:N.client_request},null,8,[`raw`,`api-type`,`mode`])])]),_:1})]),_:1},8,[`open`]),C.value.upstream_request?(r(),u(y(G),{key:1,open:A.value,"onUpdate:open":o[11]||=e=>A.value=e,class:`border rounded-md`},{default:i(()=>[c(y(K),{"as-child":``},{default:i(()=>[c(y(V),{variant:`ghost`,class:`w-full px-4 py-3 text-left text-sm font-medium text-foreground bg-muted/50 hover:bg-muted rounded-none rounded-t-md flex items-center gap-2`},{default:i(()=>[m(`span`,{class:_([`text-xs transition-transform`,A.value?`rotate-0`:`-rotate-90`])},`▼`,2),o[65]||=E(` Router → LLM API 请求 `,-1)]),_:1})]),_:1}),c(y(W),null,{default:i(()=>[m(`div`,Bn,[m(`div`,Vn,[c(y(V),{variant:`ghost`,size:`xs`,class:_(N.upstream_request===`structured`?`bg-background shadow`:``),onClick:o[8]||=e=>N.upstream_request=`structured`},{default:i(()=>[...o[66]||=[E(`结构化`,-1)]]),_:1},8,[`class`]),c(y(V),{variant:`ghost`,size:`xs`,class:_(N.upstream_request===`raw`?`bg-background shadow`:``),onClick:o[9]||=e=>N.upstream_request=`raw`},{default:i(()=>[...o[67]||=[E(`原始 JSON`,-1)]]),_:1},8,[`class`])]),c(y(V),{variant:`ghost`,size:`xs`,class:`h-auto py-1`,onClick:o[10]||=e=>B(`upstream_request`)},{default:i(()=>[E(T(P.value===`upstream_request`?`已复制`:`复制`),1)]),_:1})]),m(`div`,Hn,[c(gt,{raw:C.value.upstream_request,"api-type":H(C.value.api_type),"show-url":!0,mode:N.upstream_request},null,8,[`raw`,`api-type`,`mode`])])]),_:1})]),_:1},8,[`open`])):w(``,!0),c(y(G),{open:j.value,"onUpdate:open":o[15]||=e=>j.value=e,class:`border rounded-md`},{default:i(()=>[c(y(K),{"as-child":``},{default:i(()=>[c(y(V),{variant:`ghost`,class:`w-full px-4 py-3 text-left text-sm font-medium text-foreground bg-muted/50 hover:bg-muted rounded-none rounded-t-md flex items-center gap-2`},{default:i(()=>[m(`span`,{class:_([`text-xs transition-transform`,j.value?`rotate-0`:`-rotate-90`])},`▼`,2),o[68]||=E(` LLM API 返回的原始响应 `,-1)]),_:1})]),_:1}),c(y(W),null,{default:i(()=>[m(`div`,Un,[m(`div`,Wn,[c(y(V),{variant:`ghost`,size:`xs`,class:_(N.upstream_response===`structured`?`bg-background shadow`:``),onClick:o[12]||=e=>N.upstream_response=`structured`},{default:i(()=>[...o[69]||=[E(`结构化`,-1)]]),_:1},8,[`class`]),c(y(V),{variant:`ghost`,size:`xs`,class:_(N.upstream_response===`raw`?`bg-background shadow`:``),onClick:o[13]||=e=>N.upstream_response=`raw`},{default:i(()=>[E(T(C.value.is_stream?`原始 SSE 文本`:`原始 JSON`),1)]),_:1},8,[`class`])]),c(y(V),{variant:`ghost`,size:`xs`,class:`h-auto py-1`,onClick:o[14]||=e=>B(`upstream_response`)},{default:i(()=>[E(T(P.value===`upstream_response`?`已复制`:`复制`),1)]),_:1})]),m(`div`,Gn,[c(hn,{raw:C.value.upstream_response||C.value.response_body||`{}`,"api-type":H(C.value.api_type),"is-stream":!!C.value.is_stream,mode:N.upstream_response},null,8,[`raw`,`api-type`,`is-stream`,`mode`])])]),_:1})]),_:1},8,[`open`]),C.value.client_response?(r(),u(y(G),{key:2,open:M.value,"onUpdate:open":o[19]||=e=>M.value=e,class:`border rounded-md`},{default:i(()=>[c(y(K),{"as-child":``},{default:i(()=>[c(y(V),{variant:`ghost`,class:`w-full px-4 py-3 text-left text-sm font-medium text-foreground bg-muted/50 hover:bg-muted rounded-none rounded-t-md flex items-center gap-2`},{default:i(()=>[m(`span`,{class:_([`text-xs transition-transform`,M.value?`rotate-0`:`-rotate-90`])},`▼`,2),o[70]||=E(` Router → 客户端响应 `,-1)]),_:1})]),_:1}),c(y(W),null,{default:i(()=>[m(`div`,Kn,[m(`div`,qn,[c(y(V),{variant:`ghost`,size:`xs`,class:_(N.client_response===`structured`?`bg-background shadow`:``),onClick:o[16]||=e=>N.client_response=`structured`},{default:i(()=>[...o[71]||=[E(`结构化`,-1)]]),_:1},8,[`class`]),c(y(V),{variant:`ghost`,size:`xs`,class:_(N.client_response===`raw`?`bg-background shadow`:``),onClick:o[17]||=e=>N.client_response=`raw`},{default:i(()=>[E(T(C.value.is_stream?`原始 SSE 文本`:`原始 JSON`),1)]),_:1},8,[`class`])]),c(y(V),{variant:`ghost`,size:`xs`,class:`h-auto py-1`,onClick:o[18]||=e=>B(`client_response`)},{default:i(()=>[E(T(P.value===`client_response`?`已复制`:`复制`),1)]),_:1})]),m(`div`,Jn,[c(hn,{raw:C.value.client_response,"api-type":H(C.value.api_type),"is-stream":!!C.value.is_stream,mode:N.client_response},null,8,[`raw`,`api-type`,`is-stream`,`mode`])])]),_:1})]),_:1},8,[`open`])):w(``,!0),C.value.error_message?(r(),u(y(J),{key:3,class:`bg-destructive/10 ring-destructive/20`},{default:i(()=>[c(y(Y),{class:`py-3 text-sm text-destructive`},{default:i(()=>[E(T(C.value.error_message),1)]),_:1})]),_:1})):w(``,!0)],64)):(r(),D(`div`,Yn,`未找到日志`))]),_:1})]),_:1},8,[`open`]),c(y(le),{open:g.value,"onUpdate:open":o[23]||=e=>g.value=e},{default:i(()=>[c(y(se),null,{default:i(()=>[c(y(ce),null,{default:i(()=>[c(y(ue),null,{default:i(()=>[...o[72]||=[E(`清理日志`,-1)]]),_:1})]),_:1}),o[76]||=m(`p`,{class:`text-sm text-muted-foreground`},`删除指定天数之前的日志`,-1),m(`div`,Xn,[c(y(pe),{class:`block text-sm font-medium text-foreground mb-1`},{default:i(()=>[...o[73]||=[E(`保留最近天数`,-1)]]),_:1}),c(y(fe),{modelValue:v.value,"onUpdate:modelValue":o[21]||=e=>v.value=e,modelModifiers:{number:!0},type:`number`,min:1},null,8,[`modelValue`])]),c(y(ae),null,{default:i(()=>[c(y(V),{variant:`outline`,onClick:o[22]||=e=>g.value=!1},{default:i(()=>[...o[74]||=[E(`取消`,-1)]]),_:1}),c(y(V),{variant:`destructive`,onClick:ye},{default:i(()=>[...o[75]||=[E(`确认清理`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{Qn as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,I as t,J as n,N as r,R as i,S as a,_ as o,at as s,f as c,g as l,h as u,pt as d,t as f,u as p,v as m,vt as h,x as g,y as _}from"./client-BWw0R36V.js";import{n as v}from"./lib-Qs8xoTas.js";import{t as y}from"./badge-_ZHrMEpC.js";import{a as b,i as x,n as S,r as C,t as w}from"./SelectValue-BB0Ckbjh.js";import{n as T}from"./button-C4_mChkc.js";import{n as E,r as D,t as O}from"./CollapsibleTrigger-D_ptA35Y.js";import{a as k,i as A,o as j,r as M,s as N,t as P}from"./dialog-CUHMcTqp.js";import{a as F,i as I,n as L,o as R,r as z,s as ee,t as te}from"./alert-dialog-CWjBke-O.js";import{n as B,t as V}from"./Label-GiPfoz7u.js";import{n as H,t as U}from"./CardContent-BE9fukPi.js";import{t as W}from"./CardHeader-D5lVaeAA.js";import{t as G}from"./CardTitle-H-zwhi3Z.js";var K={class:`border rounded-lg p-3 space-y-3`},q={class:`flex gap-3`},J={class:`flex-1`},Y={class:`flex-1`},X={class:`border rounded-lg p-3 space-y-3`},Z={class:`flex items-center justify-between`},Q={class:`flex items-end gap-2`},ne={class:`w-24`},re={class:`w-24`},ie={class:`flex gap-2`},ae={class:`flex-1`},oe={class:`flex-1`},se={key:0,class:`text-sm text-muted-foreground`},ce=e({__name:`MappingGroupFormDialog`,props:{open:{type:Boolean},editingId:{},form:{},providers:{},providerModels:{}},emits:[`update:open`,`save`,`addWindow`,`removeWindow`],setup(e,{emit:r}){let s=e,f=r,v=u(()=>s.providerModels.get(s.form.default.provider_id)||[]);function y(e){let t=s.form.windows[e]?.target?.provider_id;return t&&s.providerModels.get(t)||[]}function E(e){if(typeof e!=`string`)return;s.form.default.provider_id=e;let t=s.providerModels.get(e)||[];s.form.default.backend_model=t[0]||``}function D(e,t){if(typeof t!=`string`)return;s.form.windows[e].target.provider_id=t;let n=s.providerModels.get(t)||[];s.form.windows[e].target.backend_model=n[0]||``}function O(){f(`save`)}return(r,s)=>(t(),o(d(N),{open:e.open,"onUpdate:open":s[5]||=e=>f(`update:open`,e)},{default:n(()=>[a(d(j),{class:`max-w-2xl`},{default:n(()=>[a(d(M),null,{default:n(()=>[a(d(P),null,{default:n(()=>[g(h(e.editingId?`编辑分组`:`添加分组`),1)]),_:1}),a(d(k),null,{default:n(()=>[...s[6]||=[g(`配置客户端模型到后端供应商模型的映射规则`,-1)]]),_:1})]),_:1}),l(`form`,{onSubmit:p(O,[`prevent`]),class:`space-y-4`},[l(`div`,null,[a(d(V),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[...s[7]||=[g(`客户端模型`,-1)]]),_:1}),a(d(B),{modelValue:e.form.client_model,"onUpdate:modelValue":s[0]||=t=>e.form.client_model=t,type:`text`,required:``},null,8,[`modelValue`])]),l(`div`,null,[a(d(V),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[...s[8]||=[g(`策略`,-1)]]),_:1}),a(d(b),{modelValue:e.form.strategy,"onUpdate:modelValue":s[1]||=t=>e.form.strategy=t},{default:n(()=>[a(d(S),null,{default:n(()=>[a(d(w),{placeholder:`选择策略`})]),_:1}),a(d(x),null,{default:n(()=>[a(d(C),{value:`scheduled`},{default:n(()=>[...s[9]||=[g(`scheduled`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),l(`div`,K,[s[12]||=l(`div`,{class:`text-sm font-medium text-foreground`},`默认目标`,-1),l(`div`,q,[l(`div`,J,[a(d(V),{class:`block text-xs text-muted-foreground mb-1`},{default:n(()=>[...s[10]||=[g(`供应商`,-1)]]),_:1}),a(d(b),{"model-value":e.form.default.provider_id,"onUpdate:modelValue":E},{default:n(()=>[a(d(S),null,{default:n(()=>[a(d(w),{placeholder:`选择供应商`})]),_:1}),a(d(x),null,{default:n(()=>[(t(!0),_(c,null,i(e.providers,e=>(t(),o(d(C),{key:e.id,value:e.id},{default:n(()=>[g(h(e.name),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`model-value`])]),l(`div`,Y,[a(d(V),{class:`block text-xs text-muted-foreground mb-1`},{default:n(()=>[...s[11]||=[g(`后端模型`,-1)]]),_:1}),a(d(b),{modelValue:e.form.default.backend_model,"onUpdate:modelValue":s[2]||=t=>e.form.default.backend_model=t,disabled:v.value.length===0},{default:n(()=>[a(d(S),null,{default:n(()=>[a(d(w),{placeholder:v.value.length===0?`暂无可用模型`:`选择后端模型`},null,8,[`placeholder`])]),_:1}),a(d(x),null,{default:n(()=>[(t(!0),_(c,null,i(v.value,e=>(t(),o(d(C),{key:e,value:e},{default:n(()=>[g(h(e),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`modelValue`,`disabled`])])])]),l(`div`,X,[l(`div`,Z,[s[14]||=l(`div`,{class:`text-sm font-medium text-foreground`},`时间窗口`,-1),a(d(T),{type:`button`,variant:`outline`,size:`sm`,onClick:s[3]||=e=>f(`addWindow`)},{default:n(()=>[...s[13]||=[g(`添加窗口`,-1)]]),_:1})]),(t(!0),_(c,null,i(e.form.windows,(r,u)=>(t(),_(`div`,{key:u,class:`border rounded-md p-2 space-y-2`},[l(`div`,Q,[l(`div`,ne,[a(d(V),{class:`block text-xs text-muted-foreground mb-1`},{default:n(()=>[...s[15]||=[g(`开始`,-1)]]),_:1}),a(d(B),{modelValue:r.start,"onUpdate:modelValue":e=>r.start=e,type:`text`,placeholder:`HH:MM`,required:``},null,8,[`modelValue`,`onUpdate:modelValue`])]),s[18]||=l(`span`,{class:`text-muted-foreground pb-1.5`},`-`,-1),l(`div`,re,[a(d(V),{class:`block text-xs text-muted-foreground mb-1`},{default:n(()=>[...s[16]||=[g(`结束`,-1)]]),_:1}),a(d(B),{modelValue:r.end,"onUpdate:modelValue":e=>r.end=e,type:`text`,placeholder:`HH:MM`,required:``},null,8,[`modelValue`,`onUpdate:modelValue`])]),s[19]||=l(`div`,{class:`flex-1`},null,-1),a(d(T),{type:`button`,variant:`ghost`,size:`sm`,class:`text-destructive shrink-0`,onClick:e=>f(`removeWindow`,u)},{default:n(()=>[...s[17]||=[g(`删除`,-1)]]),_:1},8,[`onClick`])]),l(`div`,ie,[l(`div`,ae,[a(d(V),{class:`block text-xs text-muted-foreground mb-1`},{default:n(()=>[...s[20]||=[g(`供应商`,-1)]]),_:1}),a(d(b),{"model-value":r.target.provider_id,"onUpdate:modelValue":e=>D(u,e)},{default:n(()=>[a(d(S),null,{default:n(()=>[a(d(w),{placeholder:`选择供应商`})]),_:1}),a(d(x),null,{default:n(()=>[(t(!0),_(c,null,i(e.providers,e=>(t(),o(d(C),{key:e.id,value:e.id},{default:n(()=>[g(h(e.name),1)]),_:2},1032,[`value`]))),128))]),_:1})]),_:1},8,[`model-value`,`onUpdate:modelValue`])]),l(`div`,oe,[a(d(V),{class:`block text-xs text-muted-foreground mb-1`},{default:n(()=>[...s[21]||=[g(`后端模型`,-1)]]),_:1}),a(d(b),{modelValue:r.target.backend_model,"onUpdate:modelValue":e=>r.target.backend_model=e,disabled:y(u).length===0},{default:n(()=>[a(d(S),null,{default:n(()=>[a(d(w),{placeholder:y(u).length===0?`暂无可用模型`:`选择后端模型`},null,8,[`placeholder`])]),_:2},1024),a(d(x),null,{default:n(()=>[(t(!0),_(c,null,i(y(u),e=>(t(),o(d(C),{key:e,value:e},{default:n(()=>[g(h(e),1)]),_:2},1032,[`value`]))),128))]),_:2},1024)]),_:2},1032,[`modelValue`,`onUpdate:modelValue`,`disabled`])])])]))),128)),e.form.windows.length===0?(t(),_(`div`,se,`暂无窗口`)):m(``,!0)]),a(d(A),null,{default:n(()=>[a(d(T),{type:`button`,variant:`outline`,onClick:s[4]||=e=>f(`update:open`,!1)},{default:n(()=>[...s[22]||=[g(`取消`,-1)]]),_:1}),a(d(T),{type:`submit`},{default:n(()=>[...s[23]||=[g(`保存`,-1)]]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]))}}),le=e({__name:`MappingGroupDeleteDialog`,props:{target:{}},emits:[`confirm`,`cancel`],setup(e,{emit:r}){let i=r;return(r,s)=>(t(),o(d(ee),{open:!!e.target,"onUpdate:open":s[1]||=e=>{e||i(`cancel`)}},{default:n(()=>[a(d(F),null,{default:n(()=>[a(d(L),null,{default:n(()=>[a(d(te),null,{default:n(()=>[...s[2]||=[g(`确认删除`,-1)]]),_:1}),a(d(I),null,{default:n(()=>[g(`确定要删除分组「`+h(e.target?.client_model)+`」吗?`,1)]),_:1})]),_:1}),a(d(z),null,{default:n(()=>[a(d(R),null,{default:n(()=>[...s[3]||=[g(`取消`,-1)]]),_:1}),a(d(T),{variant:`destructive`,onClick:s[0]||=e=>i(`confirm`)},{default:n(()=>[...s[4]||=[g(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`]))}}),ue={class:`p-6`},de={class:`flex items-center justify-between mb-4`},fe={class:`space-y-4`},pe={class:`flex items-center gap-3`},$={class:`flex items-center gap-2`},me={class:`space-y-3`},he={class:`flex items-center gap-2 text-sm`},ge={class:`font-mono`},_e={key:0,class:`space-y-2`},ve={class:`font-mono text-xs bg-muted px-2 py-0.5 rounded`},ye={class:`font-mono`},be={key:1,class:`text-sm text-muted-foreground`},xe={key:0,class:`text-center text-muted-foreground py-12 bg-card rounded-xl border`},Se=e({__name:`ModelMappings`,setup(e){let p={client_model:``,strategy:`scheduled`,default:{backend_model:``,provider_id:``},windows:[]},b=s([]),x=s([]),S=s(!1),C=s(null),w=s(null),k=s({...p}),A=u(()=>{let e=new Map;for(let t of x.value)e.set(t.id,t.name);return e}),j=u(()=>{let e=new Map;for(let t of x.value){let n=t.models;Array.isArray(n)&&n.length>0&&e.set(t.id,[...n])}return e}),M=u(()=>b.value.map(e=>{let t={};try{t=JSON.parse(e.rule)}catch{}return{...e,parsedRule:t}}));async function N(){let e=await Promise.allSettled([f.getMappingGroups(),f.getProviders()]);e[0].status===`fulfilled`?b.value=e[0].value.data:console.error(`Failed to load groups:`,e[0].reason),e[1].status===`fulfilled`?x.value=e[1].value:(console.error(`Failed to load providers:`,e[1].reason),v.error(`加载供应商失败`))}function P(){C.value=null;let e=x.value[0]?.id||``,t=j.value.get(e)||[];k.value={...p,default:{backend_model:t[0]||``,provider_id:e}},S.value=!0}function F(e){C.value=e.id;let t={};try{t=JSON.parse(e.rule)}catch{}k.value={client_model:e.client_model,strategy:e.strategy,default:{backend_model:t.default?.backend_model||``,provider_id:t.default?.provider_id||x.value[0]?.id||``},windows:t.windows?JSON.parse(JSON.stringify(t.windows)):[]},S.value=!0}function I(){let e=x.value[0]?.id||``,t=j.value.get(e)||[];k.value.windows.push({start:``,end:``,target:{backend_model:t[0]||``,provider_id:e}})}function L(e){k.value.windows.splice(e,1)}async function R(){try{let e={client_model:k.value.client_model,strategy:k.value.strategy,rule:JSON.stringify({default:k.value.default,windows:k.value.windows})};C.value?await f.updateMappingGroup(C.value,e):await f.createMappingGroup(e),S.value=!1,await N()}catch(e){console.error(`Failed to save mapping group:`,e),v.error(`保存分组失败`)}}async function z(){let e=w.value;if(e){w.value=null;try{await f.deleteMappingGroup(e.id),await N()}catch(e){console.error(`Failed to delete mapping group:`,e),v.error(`删除分组失败`)}}}return r(N),(e,r)=>(t(),_(`div`,ue,[l(`div`,de,[r[3]||=l(`h2`,{class:`text-lg font-semibold text-foreground`},`模型映射`,-1),a(d(T),{onClick:P,class:`flex items-center gap-1`},{default:n(()=>[...r[2]||=[l(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[l(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),g(` 添加分组 `,-1)]]),_:1})]),l(`div`,fe,[(t(!0),_(c,null,i(M.value,e=>(t(),o(d(H),{key:e.id},{default:n(()=>[a(d(D),{"default-open":!1},{default:n(()=>[a(d(W),{class:`flex flex-row items-center justify-between gap-4`},{default:n(()=>[l(`div`,pe,[a(d(G),{class:`font-mono text-sm`},{default:n(()=>[g(h(e.client_model),1)]),_:2},1024),a(d(y),{variant:`secondary`},{default:n(()=>[g(h(e.strategy),1)]),_:2},1024)]),l(`div`,$,[a(d(O),{"as-child":``},{default:n(()=>[a(d(T),{variant:`ghost`,size:`sm`},{default:n(()=>[...r[4]||=[g(` 展开 `,-1)]]),_:1})]),_:1}),a(d(T),{variant:`ghost`,size:`sm`,onClick:t=>F(e)},{default:n(()=>[...r[5]||=[g(`编辑`,-1)]]),_:1},8,[`onClick`]),a(d(T),{variant:`ghost`,size:`sm`,class:`text-destructive hover:text-destructive`,onClick:t=>w.value=e},{default:n(()=>[...r[6]||=[g(`删除`,-1)]]),_:1},8,[`onClick`])])]),_:2},1024),a(d(E),null,{default:n(()=>[a(d(U),null,{default:n(()=>[l(`div`,me,[l(`div`,he,[r[7]||=l(`span`,{class:`text-muted-foreground`},`默认模型:`,-1),l(`span`,ge,h(e.parsedRule.default?.backend_model||`-`),1),r[8]||=l(`span`,{class:`text-muted-foreground`},`/`,-1),l(`span`,null,h(A.value.get(e.parsedRule.default?.provider_id||``)||`-`),1)]),e.parsedRule.windows?.length?(t(),_(`div`,_e,[r[10]||=l(`div`,{class:`text-sm text-muted-foreground`},`时间窗口`,-1),(t(!0),_(c,null,i(e.parsedRule.windows,(e,n)=>(t(),_(`div`,{key:n,class:`flex items-center gap-2 text-sm`},[l(`span`,ve,h(e.start)+` - `+h(e.end),1),l(`span`,ye,h(e.target.backend_model),1),r[9]||=l(`span`,{class:`text-muted-foreground`},`/`,-1),l(`span`,null,h(A.value.get(e.target.provider_id)||e.target.provider_id),1)]))),128))])):(t(),_(`div`,be,`无时间窗口`))])]),_:2},1024)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128)),b.value.length===0?(t(),_(`div`,xe,` 暂无映射分组 `)):m(``,!0)]),a(ce,{open:S.value,"onUpdate:open":r[0]||=e=>S.value=e,"editing-id":C.value,form:k.value,providers:x.value,"provider-models":j.value,onSave:R,onAddWindow:I,onRemoveWindow:L},null,8,[`open`,`editing-id`,`form`,`providers`,`provider-models`]),a(le,{target:w.value,onConfirm:z,onCancel:r[1]||=e=>w.value=null},null,8,[`target`])]))}});export{Se as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,I as t,J as n,N as r,R as i,S as a,_ as o,at as s,f as c,g as l,ht as ee,l as u,pt as d,t as f,u as p,v as m,vt as h,x as g,y as _}from"./client-BWw0R36V.js";import{n as v}from"./lib-Qs8xoTas.js";import{t as y}from"./badge-_ZHrMEpC.js";import{a as b,i as x,n as S,r as C,t as w}from"./SelectValue-BB0Ckbjh.js";import{n as T}from"./button-C4_mChkc.js";import{t as te}from"./Checkbox--1gw0dYW.js";import{i as ne,o as re,r as ie,s as ae,t as oe}from"./dialog-CUHMcTqp.js";import{a as se,i as ce,n as E,o as D,r as O,s as k,t as A}from"./alert-dialog-CWjBke-O.js";import{n as j,t as M}from"./Label-GiPfoz7u.js";import{a as N,i as P,n as F,o as I,r as L,t as R}from"./TableHeader-D2GkiqRx.js";var z={class:`p-6`},B={class:`flex items-center justify-between mb-4`},V={class:`bg-card rounded-lg border overflow-hidden`},le={class:`flex flex-wrap gap-1`},H={key:0,class:`text-muted-foreground text-xs`},U={class:`flex flex-wrap gap-1.5 mb-1.5`},W={class:`flex items-center gap-2`},G=e({__name:`Providers`,setup(e){let G={name:``,api_type:`openai`,base_url:``,api_key:``,models:[],is_active:!0},K=s(``),q=s([]),J=s(!1),Y=s(null),X=s(null),Z=s({...G});async function Q(){try{q.value=await f.getProviders()}catch(e){console.error(`Failed to load providers:`,e),v.error(`加载供应商失败`)}}function ue(){let e=K.value.trim();e&&!Z.value.models.includes(e)&&Z.value.models.push(e),K.value=``}function $(e){Z.value.models.splice(e,1)}function de(){Y.value=null,Z.value={name:``,api_type:`openai`,base_url:``,api_key:``,models:[],is_active:!0},K.value=``,J.value=!0}function fe(e){Y.value=e.id,Z.value={name:e.name,api_type:e.api_type,base_url:e.base_url,api_key:``,models:[...e.models||[]],is_active:!!e.is_active},K.value=``,J.value=!0}function pe(){let e={name:Z.value.name,api_type:Z.value.api_type,base_url:Z.value.base_url,models:Z.value.models,is_active:+!!Z.value.is_active};return Z.value.api_key&&(e.api_key=Z.value.api_key),e}async function me(){try{let e=pe();Y.value?await f.updateProvider(Y.value,e):(e.api_key=Z.value.api_key,await f.createProvider(e)),J.value=!1,await Q()}catch(e){console.error(`Failed to save provider:`,e),v.error(`保存供应商失败`)}}function he(e){X.value=e}async function ge(){let e=X.value;if(e){X.value=null;try{await f.deleteProvider(e.id),await Q()}catch(e){console.error(`Failed to delete provider:`,e),v.error(`删除供应商失败`)}}}return r(Q),(e,r)=>(t(),_(`div`,z,[l(`div`,B,[r[10]||=l(`h2`,{class:`text-lg font-semibold text-foreground`},`供应商`,-1),a(d(T),{onClick:de,class:`flex items-center gap-1`},{default:n(()=>[...r[9]||=[l(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[l(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),g(` 添加供应商 `,-1)]]),_:1})]),l(`div`,V,[a(d(I),null,{default:n(()=>[a(d(R),null,{default:n(()=>[a(d(L),{class:`bg-muted`},{default:n(()=>[a(d(F),{class:`text-muted-foreground`},{default:n(()=>[...r[11]||=[g(`名称`,-1)]]),_:1}),a(d(F),{class:`text-muted-foreground`},{default:n(()=>[...r[12]||=[g(`类型`,-1)]]),_:1}),a(d(F),{class:`text-muted-foreground`},{default:n(()=>[...r[13]||=[g(`Base URL`,-1)]]),_:1}),a(d(F),{class:`text-muted-foreground`},{default:n(()=>[...r[14]||=[g(`API Key`,-1)]]),_:1}),a(d(F),{class:`text-muted-foreground`},{default:n(()=>[...r[15]||=[g(`模型`,-1)]]),_:1}),a(d(F),{class:`text-muted-foreground`},{default:n(()=>[...r[16]||=[g(`状态`,-1)]]),_:1}),a(d(F),{class:`text-right text-muted-foreground`},{default:n(()=>[...r[17]||=[g(`操作`,-1)]]),_:1})]),_:1})]),_:1}),a(d(N),null,{default:n(()=>[(t(!0),_(c,null,i(q.value,e=>(t(),o(d(L),{key:e.id,class:ee({"opacity-60":!e.is_active})},{default:n(()=>[a(d(P),{class:`font-medium`},{default:n(()=>[g(h(e.name),1)]),_:2},1024),a(d(P),null,{default:n(()=>[a(d(y),{variant:e.api_type===`openai`?`default`:`secondary`},{default:n(()=>[g(h(e.api_type),1)]),_:2},1032,[`variant`])]),_:2},1024),a(d(P),{class:`text-muted-foreground`},{default:n(()=>[g(h(e.base_url),1)]),_:2},1024),a(d(P),{class:`text-muted-foreground font-mono text-xs`},{default:n(()=>[g(h(e.api_key),1)]),_:2},1024),a(d(P),null,{default:n(()=>[l(`div`,le,[(t(!0),_(c,null,i(e.models||[],e=>(t(),o(d(y),{key:e,variant:`secondary`,class:`text-xs`},{default:n(()=>[g(h(e),1)]),_:2},1024))),128)),e.models?.length?m(``,!0):(t(),_(`span`,H,`-`))])]),_:2},1024),a(d(P),null,{default:n(()=>[a(d(y),{variant:e.is_active?`default`:`secondary`},{default:n(()=>[g(h(e.is_active?`启用`:`禁用`),1)]),_:2},1032,[`variant`])]),_:2},1024),a(d(P),{class:`text-right`},{default:n(()=>[a(d(T),{variant:`ghost`,size:`sm`,onClick:t=>fe(e),class:`text-muted-foreground hover:text-primary mr-2`},{default:n(()=>[...r[18]||=[g(`编辑`,-1)]]),_:1},8,[`onClick`]),a(d(T),{variant:`ghost`,size:`sm`,onClick:t=>he(e),class:`text-muted-foreground hover:text-destructive`},{default:n(()=>[...r[19]||=[g(`删除`,-1)]]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1032,[`class`]))),128)),q.value.length===0?(t(),o(d(L),{key:0},{default:n(()=>[a(d(P),{colspan:`7`,class:`text-center text-muted-foreground py-8`},{default:n(()=>[...r[20]||=[g(`暂无供应商`,-1)]]),_:1})]),_:1})):m(``,!0)]),_:1})]),_:1})]),a(d(ae),{open:J.value,"onUpdate:open":r[7]||=e=>J.value=e},{default:n(()=>[a(d(re),null,{default:n(()=>[a(d(ie),null,{default:n(()=>[a(d(oe),null,{default:n(()=>[g(h(Y.value?`编辑供应商`:`添加供应商`),1)]),_:1})]),_:1}),l(`form`,{onSubmit:p(me,[`prevent`]),class:`space-y-3`},[l(`div`,null,[a(d(M),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[...r[21]||=[g(`名称`,-1)]]),_:1}),a(d(j),{modelValue:Z.value.name,"onUpdate:modelValue":r[0]||=e=>Z.value.name=e,type:`text`,required:``},null,8,[`modelValue`])]),l(`div`,null,[a(d(M),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[...r[22]||=[g(`类型`,-1)]]),_:1}),a(d(b),{modelValue:Z.value.api_type,"onUpdate:modelValue":r[1]||=e=>Z.value.api_type=e},{default:n(()=>[a(d(S),null,{default:n(()=>[a(d(w),{placeholder:`选择类型`})]),_:1}),a(d(x),null,{default:n(()=>[a(d(C),{value:`openai`},{default:n(()=>[...r[23]||=[g(`OpenAI`,-1)]]),_:1}),a(d(C),{value:`anthropic`},{default:n(()=>[...r[24]||=[g(`Anthropic`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),l(`div`,null,[a(d(M),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[...r[25]||=[g(`Base URL`,-1)]]),_:1}),a(d(j),{modelValue:Z.value.base_url,"onUpdate:modelValue":r[2]||=e=>Z.value.base_url=e,type:`url`,required:``},null,8,[`modelValue`])]),l(`div`,null,[a(d(M),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[g(`API Key `+h(Y.value?`(留空不修改)`:``),1)]),_:1}),a(d(j),{modelValue:Z.value.api_key,"onUpdate:modelValue":r[3]||=e=>Z.value.api_key=e,type:Y.value?`password`:`text`,required:!Y.value},null,8,[`modelValue`,`type`,`required`])]),l(`div`,null,[a(d(M),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[...r[26]||=[g(`可用模型`,-1)]]),_:1}),l(`div`,U,[(t(!0),_(c,null,i(Z.value.models,(e,i)=>(t(),o(d(y),{key:i,variant:`secondary`,class:`gap-1 pr-1`},{default:n(()=>[g(h(e)+` `,1),a(d(T),{type:`button`,variant:`ghost`,size:`icon`,class:`h-4 w-4 rounded-full hover:bg-muted p-0 text-xs leading-none`,onClick:e=>$(i)},{default:n(()=>[...r[27]||=[g(`×`,-1)]]),_:1},8,[`onClick`])]),_:2},1024))),128))]),a(d(j),{modelValue:K.value,"onUpdate:modelValue":r[4]||=e=>K.value=e,placeholder:`输入模型名称,按 Enter 添加`,onKeydown:u(p(ue,[`prevent`]),[`enter`])},null,8,[`modelValue`,`onKeydown`])]),l(`div`,W,[a(d(te),{modelValue:Z.value.is_active,"onUpdate:modelValue":r[5]||=e=>Z.value.is_active=e,id:`svc-active`},null,8,[`modelValue`]),a(d(M),{for:`svc-active`,class:`text-sm text-foreground`},{default:n(()=>[...r[28]||=[g(`启用`,-1)]]),_:1})]),a(d(ne),null,{default:n(()=>[a(d(T),{type:`button`,variant:`outline`,onClick:r[6]||=e=>J.value=!1},{default:n(()=>[...r[29]||=[g(`取消`,-1)]]),_:1}),a(d(T),{type:`submit`},{default:n(()=>[...r[30]||=[g(`保存`,-1)]]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),a(d(k),{open:!!X.value,"onUpdate:open":r[8]||=e=>{e||(X.value=null)}},{default:n(()=>[a(d(se),null,{default:n(()=>[a(d(E),null,{default:n(()=>[a(d(A),null,{default:n(()=>[...r[31]||=[g(`确认删除`,-1)]]),_:1}),a(d(ce),null,{default:n(()=>[g(`确定要删除供应商「`+h(X.value?.name)+`」吗?此操作不可撤销。`,1)]),_:1})]),_:1}),a(d(O),null,{default:n(()=>[a(d(D),null,{default:n(()=>[...r[32]||=[g(`取消`,-1)]]),_:1}),a(d(T),{variant:`destructive`,onClick:ge},{default:n(()=>[...r[33]||=[g(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{G as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,I as t,J as n,N as r,R as i,S as a,_ as o,at as s,f as c,g as l,pt as u,t as d,u as f,v as p,vt as m,x as h,y as g}from"./client-BWw0R36V.js";import{n as _}from"./lib-Qs8xoTas.js";import{t as v}from"./badge-_ZHrMEpC.js";import{a as ee,i as te,n as ne,r as y,t as b}from"./SelectValue-BB0Ckbjh.js";import{n as x}from"./button-C4_mChkc.js";import{t as S}from"./Checkbox--1gw0dYW.js";import{i as C,o as re,r as ie,s as w,t as T}from"./dialog-CUHMcTqp.js";import{a as E,i as ae,n as D,o as O,r as k,s as A,t as j}from"./alert-dialog-CWjBke-O.js";import{n as M,t as N}from"./Label-GiPfoz7u.js";import{a as P,i as F,n as I,o as L,r as R,t as z}from"./TableHeader-D2GkiqRx.js";var B={class:`p-6`},V={class:`flex items-center justify-between mb-4`},oe={class:`bg-card rounded-lg border overflow-hidden`},H={class:`flex items-center gap-2`},U={class:`text-xs text-muted-foreground`},W={class:`grid grid-cols-2 gap-3`},G={key:0},K={class:`flex items-center gap-2`},q=e({__name:`RetryRules`,setup(e){let q={name:``,status_code:429,body_pattern:``,is_active:!0,retry_strategy:`exponential`,retry_delay_ms:5e3,max_retries:10,max_delay_ms:6e4},J=s([]),Y=s(!1),X=s(null),Z=s(null),Q=s({...q});async function $(){try{J.value=(await d.getRetryRules()).data}catch(e){console.error(`Failed to load retry rules:`,e),_.error(`加载数据失败`)}}function se(){X.value=null,Q.value={...q},Y.value=!0}function ce(e){X.value=e.id,Q.value={name:e.name,status_code:e.status_code,body_pattern:e.body_pattern,is_active:!!e.is_active,retry_strategy:e.retry_strategy,retry_delay_ms:e.retry_delay_ms,max_retries:e.max_retries,max_delay_ms:e.max_delay_ms},Y.value=!0}async function le(){try{let e={name:Q.value.name,status_code:Number(Q.value.status_code),body_pattern:Q.value.body_pattern,is_active:+!!Q.value.is_active,retry_strategy:Q.value.retry_strategy,retry_delay_ms:Number(Q.value.retry_delay_ms),max_retries:Number(Q.value.max_retries),max_delay_ms:Number(Q.value.max_delay_ms)};X.value?await d.updateRetryRule(X.value,e):await d.createRetryRule(e),Y.value=!1,await $()}catch(e){console.error(`Failed to save retry rule:`,e),_.error(`保存规则失败`)}}function ue(e){Z.value=e}async function de(){let e=Z.value;if(e){Z.value=null;try{await d.deleteRetryRule(e.id),await $()}catch(e){console.error(`Failed to delete retry rule:`,e),_.error(`删除规则失败`)}}}return r($),(e,r)=>(t(),g(`div`,B,[l(`div`,V,[r[12]||=l(`h2`,{class:`text-lg font-semibold text-foreground`},`重试规则`,-1),a(u(x),{onClick:se,class:`flex items-center gap-1`},{default:n(()=>[...r[11]||=[l(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[l(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),h(` 添加规则 `,-1)]]),_:1})]),l(`div`,oe,[a(u(L),null,{default:n(()=>[a(u(z),null,{default:n(()=>[a(u(R),{class:`bg-muted`},{default:n(()=>[a(u(I),{class:`text-muted-foreground`},{default:n(()=>[...r[13]||=[h(`名称`,-1)]]),_:1}),a(u(I),{class:`text-muted-foreground`},{default:n(()=>[...r[14]||=[h(`HTTP 状态码`,-1)]]),_:1}),a(u(I),{class:`text-muted-foreground`},{default:n(()=>[...r[15]||=[h(`响应体匹配`,-1)]]),_:1}),a(u(I),{class:`text-muted-foreground`},{default:n(()=>[...r[16]||=[h(`重试策略`,-1)]]),_:1}),a(u(I),{class:`text-muted-foreground`},{default:n(()=>[...r[17]||=[h(`状态`,-1)]]),_:1}),a(u(I),{class:`text-right text-muted-foreground`},{default:n(()=>[...r[18]||=[h(`操作`,-1)]]),_:1})]),_:1})]),_:1}),a(u(P),null,{default:n(()=>[(t(!0),g(c,null,i(J.value,e=>(t(),o(u(R),{key:e.id},{default:n(()=>[a(u(F),{class:`font-mono text-sm`},{default:n(()=>[h(m(e.name),1)]),_:2},1024),a(u(F),null,{default:n(()=>[h(m(e.status_code),1)]),_:2},1024),a(u(F),{class:`font-mono text-xs text-muted-foreground`},{default:n(()=>[h(m(e.body_pattern),1)]),_:2},1024),a(u(F),null,{default:n(()=>[l(`div`,H,[a(u(v),{variant:`outline`},{default:n(()=>[h(m(e.retry_strategy===`fixed`?`固定间隔`:`指数退避`),1)]),_:2},1024),l(`span`,U,[h(m(e.retry_delay_ms/1e3)+`s · `+m(e.max_retries)+`次 `,1),e.retry_strategy===`exponential`?(t(),g(c,{key:0},[h(` · 上限`+m(e.max_delay_ms/1e3)+`s`,1)],64)):p(``,!0)])])]),_:2},1024),a(u(F),null,{default:n(()=>[a(u(v),{variant:e.is_active?`default`:`secondary`},{default:n(()=>[h(m(e.is_active?`启用`:`禁用`),1)]),_:2},1032,[`variant`])]),_:2},1024),a(u(F),{class:`text-right`},{default:n(()=>[a(u(x),{variant:`ghost`,size:`sm`,onClick:t=>ce(e),class:`mr-2`},{default:n(()=>[...r[19]||=[h(`编辑`,-1)]]),_:1},8,[`onClick`]),a(u(x),{variant:`ghost`,size:`sm`,class:`text-destructive hover:text-destructive`,onClick:t=>ue(e)},{default:n(()=>[...r[20]||=[h(`删除`,-1)]]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1024))),128)),J.value.length===0?(t(),o(u(R),{key:0},{default:n(()=>[a(u(F),{colspan:`6`,class:`text-center text-muted-foreground py-8`},{default:n(()=>[...r[21]||=[h(`暂无规则`,-1)]]),_:1})]),_:1})):p(``,!0)]),_:1})]),_:1})]),a(u(w),{open:Y.value,"onUpdate:open":r[9]||=e=>Y.value=e},{default:n(()=>[a(u(re),null,{default:n(()=>[a(u(ie),null,{default:n(()=>[a(u(T),null,{default:n(()=>[h(m(X.value?`编辑规则`:`添加规则`),1)]),_:1})]),_:1}),l(`form`,{onSubmit:f(le,[`prevent`]),class:`space-y-3`},[l(`div`,null,[a(u(N),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[...r[22]||=[h(`名称`,-1)]]),_:1}),a(u(M),{modelValue:Q.value.name,"onUpdate:modelValue":r[0]||=e=>Q.value.name=e,type:`text`,required:``},null,8,[`modelValue`])]),l(`div`,null,[a(u(N),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[...r[23]||=[h(`HTTP 状态码`,-1)]]),_:1}),a(u(M),{modelValue:Q.value.status_code,"onUpdate:modelValue":r[1]||=e=>Q.value.status_code=e,modelModifiers:{number:!0},type:`number`,required:``},null,8,[`modelValue`])]),l(`div`,null,[a(u(N),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[...r[24]||=[h(`响应体匹配`,-1)]]),_:1}),a(u(M),{modelValue:Q.value.body_pattern,"onUpdate:modelValue":r[2]||=e=>Q.value.body_pattern=e,type:`text`,placeholder:`正则表达式,例如 .*rate_limit.*`,required:``},null,8,[`modelValue`])]),l(`div`,null,[a(u(N),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[...r[25]||=[h(`重试策略`,-1)]]),_:1}),a(u(ee),{modelValue:Q.value.retry_strategy,"onUpdate:modelValue":r[3]||=e=>Q.value.retry_strategy=e},{default:n(()=>[a(u(ne),{class:`w-full`},{default:n(()=>[a(u(b),{placeholder:`选择策略`})]),_:1}),a(u(te),null,{default:n(()=>[a(u(y),{value:`exponential`},{default:n(()=>[...r[26]||=[h(`指数退避`,-1)]]),_:1}),a(u(y),{value:`fixed`},{default:n(()=>[...r[27]||=[h(`固定间隔`,-1)]]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),l(`div`,W,[l(`div`,null,[a(u(N),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[h(m(Q.value.retry_strategy===`fixed`?`间隔时间 (ms)`:`初始延迟 (ms)`),1)]),_:1}),a(u(M),{modelValue:Q.value.retry_delay_ms,"onUpdate:modelValue":r[4]||=e=>Q.value.retry_delay_ms=e,modelModifiers:{number:!0},type:`number`,min:100,required:``},null,8,[`modelValue`])]),l(`div`,null,[a(u(N),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[...r[28]||=[h(`最大重试次数`,-1)]]),_:1}),a(u(M),{modelValue:Q.value.max_retries,"onUpdate:modelValue":r[5]||=e=>Q.value.max_retries=e,modelModifiers:{number:!0},type:`number`,min:0,max:100,required:``},null,8,[`modelValue`])])]),Q.value.retry_strategy===`exponential`?(t(),g(`div`,G,[a(u(N),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[...r[29]||=[h(`延迟上限 (ms)`,-1)]]),_:1}),a(u(M),{modelValue:Q.value.max_delay_ms,"onUpdate:modelValue":r[6]||=e=>Q.value.max_delay_ms=e,modelModifiers:{number:!0},type:`number`,min:100,required:``},null,8,[`modelValue`])])):p(``,!0),l(`div`,K,[a(u(S),{modelValue:Q.value.is_active,"onUpdate:modelValue":r[7]||=e=>Q.value.is_active=e,id:`rule-active`},null,8,[`modelValue`]),a(u(N),{for:`rule-active`,class:`text-sm text-foreground`},{default:n(()=>[...r[30]||=[h(`启用`,-1)]]),_:1})]),a(u(C),null,{default:n(()=>[a(u(x),{type:`button`,variant:`outline`,onClick:r[8]||=e=>Y.value=!1},{default:n(()=>[...r[31]||=[h(`取消`,-1)]]),_:1}),a(u(x),{type:`submit`},{default:n(()=>[...r[32]||=[h(`保存`,-1)]]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),a(u(A),{open:!!Z.value,"onUpdate:open":r[10]||=e=>{e||(Z.value=null)}},{default:n(()=>[a(u(E),null,{default:n(()=>[a(u(D),null,{default:n(()=>[a(u(j),null,{default:n(()=>[...r[33]||=[h(`确认删除`,-1)]]),_:1}),a(u(ae),null,{default:n(()=>[h(`确定要删除规则「`+m(Z.value?.name)+`」吗?`,1)]),_:1})]),_:1}),a(u(k),null,{default:n(()=>[a(u(O),null,{default:n(()=>[...r[34]||=[h(`取消`,-1)]]),_:1}),a(u(x),{variant:`destructive`,onClick:de},{default:n(()=>[...r[35]||=[h(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{q as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,I as t,J as n,N as r,R as i,S as a,_ as o,at as s,f as c,g as l,ht as ee,pt as u,t as d,u as te,v as f,vt as p,x as m,y as h}from"./client-BWw0R36V.js";import{n as g}from"./lib-Qs8xoTas.js";import{t as _}from"./badge-_ZHrMEpC.js";import{n as v}from"./button-C4_mChkc.js";import{t as y}from"./Checkbox--1gw0dYW.js";import{i as b,o as x,r as S,s as C,t as w}from"./dialog-CUHMcTqp.js";import{a as ne,i as re,n as ie,o as ae,r as oe,s as se,t as ce}from"./alert-dialog-CWjBke-O.js";import{n as le,t as T}from"./Label-GiPfoz7u.js";import{a as ue,i as E,n as D,o as de,r as O,t as fe}from"./TableHeader-D2GkiqRx.js";var pe={class:`p-6`},me={class:`flex items-center justify-between mb-4`},k={class:`bg-card rounded-lg border overflow-hidden`},A={class:`flex items-center gap-1`},j={class:`font-mono text-xs text-muted-foreground`},M={key:0,class:`w-3.5 h-3.5`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},N={key:1,class:`w-3.5 h-3.5 text-success`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},P={key:0,class:`flex flex-wrap gap-1`},F={class:`border rounded-md p-3 max-h-48 overflow-y-auto space-y-2 bg-muted`},I={class:`font-mono text-xs`},L={key:0,class:`text-muted-foreground text-sm text-center py-2`},R={key:0,class:`flex flex-wrap gap-1 mt-2`},z={key:0,class:`flex items-center gap-2`},he={class:`space-y-3`},ge={class:`bg-muted rounded-md p-3 font-mono text-sm break-all select-all`},B=2e3,V=e({__name:`RouterKeys`,setup(e){let V={name:``,allowed_models:[],is_active:!0},H=s([]),U=s([]),W=s(!1),G=s(null),K=s(null),q=s({...V,allowed_models:[]}),J=s(!1),Y=s(``),X=s(!1),Z=s(``);function _e(e){return new Date(e).toLocaleString(`zh-CN`)}function ve(e){let t=q.value.allowed_models.indexOf(e);t>=0&&q.value.allowed_models.splice(t,1)}async function Q(){try{let[e,t]=await Promise.allSettled([d.getRouterKeys(),d.getAvailableModels()]);e.status===`fulfilled`&&(H.value=e.value.data),t.status===`fulfilled`&&(U.value=t.value.data)}catch(e){console.error(`Failed to load data:`,e),g.error(`加载数据失败`)}}function ye(){G.value=null,q.value={...V,allowed_models:[]},W.value=!0}function be(e){G.value=e.id,q.value={name:e.name,allowed_models:e.allowed_models?[...e.allowed_models]:[],is_active:!!e.is_active},W.value=!0}function $(){return{name:q.value.name,allowed_models:q.value.allowed_models.length>0?q.value.allowed_models:null,is_active:+!!q.value.is_active}}function xe(){return{name:q.value.name,allowed_models:q.value.allowed_models.length>0?q.value.allowed_models:null}}async function Se(){try{if(G.value)await d.updateRouterKey(G.value,$());else{let e=await d.createRouterKey(xe());e.data?.key&&(Y.value=e.data.key,J.value=!0)}W.value=!1,await Q()}catch(e){console.error(`Failed to save router key:`,e),g.error(`保存密钥失败`)}}function Ce(e){K.value=e}async function we(){let e=K.value;if(e){K.value=null;try{await d.deleteRouterKey(e.id),await Q()}catch(e){console.error(`Failed to delete router key:`,e),g.error(`删除密钥失败`)}}}async function Te(){try{await navigator.clipboard.writeText(Y.value),X.value=!0,setTimeout(()=>{X.value=!1},B)}catch(e){console.error(`Failed to copy key:`,e),g.error(`复制失败`)}}async function Ee(e,t){try{await navigator.clipboard.writeText(t),Z.value=e,setTimeout(()=>{Z.value=``},B)}catch(e){console.error(`Failed to copy key:`,e),g.error(`复制失败`)}}return r(Q),(e,r)=>(t(),h(`div`,pe,[l(`div`,me,[r[8]||=l(`h2`,{class:`text-lg font-semibold text-foreground`},`API 密钥`,-1),a(u(v),{onClick:ye,class:`flex items-center gap-1`},{default:n(()=>[...r[7]||=[l(`svg`,{class:`w-4 h-4`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[l(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M12 4v16m8-8H4`})],-1),m(` 创建密钥 `,-1)]]),_:1})]),l(`div`,k,[a(u(de),null,{default:n(()=>[a(u(fe),null,{default:n(()=>[a(u(O),{class:`bg-muted`},{default:n(()=>[a(u(D),{class:`text-muted-foreground`},{default:n(()=>[...r[9]||=[m(`名称`,-1)]]),_:1}),a(u(D),{class:`text-muted-foreground`},{default:n(()=>[...r[10]||=[m(`密钥`,-1)]]),_:1}),a(u(D),{class:`text-muted-foreground`},{default:n(()=>[...r[11]||=[m(`白名单模型`,-1)]]),_:1}),a(u(D),{class:`text-muted-foreground`},{default:n(()=>[...r[12]||=[m(`状态`,-1)]]),_:1}),a(u(D),{class:`text-muted-foreground`},{default:n(()=>[...r[13]||=[m(`创建时间`,-1)]]),_:1}),a(u(D),{class:`text-right text-muted-foreground`},{default:n(()=>[...r[14]||=[m(`操作`,-1)]]),_:1})]),_:1})]),_:1}),a(u(ue),null,{default:n(()=>[(t(!0),h(c,null,i(H.value,e=>(t(),o(u(O),{key:e.id,class:ee({"opacity-60":!e.is_active})},{default:n(()=>[a(u(E),{class:`font-medium`},{default:n(()=>[m(p(e.name),1)]),_:2},1024),a(u(E),null,{default:n(()=>[l(`div`,A,[l(`span`,j,p(e.key),1),a(u(v),{variant:`ghost`,size:`sm`,class:`h-6 w-6 p-0`,onClick:t=>Ee(e.id,e.key)},{default:n(()=>[Z.value===e.id?(t(),h(`svg`,N,[...r[16]||=[l(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M5 13l4 4L19 7`},null,-1)]])):(t(),h(`svg`,M,[...r[15]||=[l(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z`},null,-1)]]))]),_:2},1032,[`onClick`])])]),_:2},1024),a(u(E),null,{default:n(()=>[e.allowed_models&&e.allowed_models.length>0?(t(),h(`div`,P,[(t(!0),h(c,null,i(e.allowed_models,e=>(t(),o(u(_),{key:e,variant:`outline`,class:`text-xs`},{default:n(()=>[m(p(e),1)]),_:2},1024))),128))])):(t(),o(u(_),{key:1,variant:`secondary`},{default:n(()=>[...r[17]||=[m(`全部模型`,-1)]]),_:1}))]),_:2},1024),a(u(E),null,{default:n(()=>[a(u(_),{variant:e.is_active?`default`:`secondary`},{default:n(()=>[m(p(e.is_active?`启用`:`禁用`),1)]),_:2},1032,[`variant`])]),_:2},1024),a(u(E),{class:`text-muted-foreground text-sm`},{default:n(()=>[m(p(_e(e.created_at)),1)]),_:2},1024),a(u(E),{class:`text-right`},{default:n(()=>[a(u(v),{variant:`ghost`,size:`sm`,onClick:t=>be(e),class:`text-muted-foreground hover:text-primary mr-2`},{default:n(()=>[...r[18]||=[m(`编辑`,-1)]]),_:1},8,[`onClick`]),a(u(v),{variant:`ghost`,size:`sm`,onClick:t=>Ce(e),class:`text-muted-foreground hover:text-destructive`},{default:n(()=>[...r[19]||=[m(`删除`,-1)]]),_:1},8,[`onClick`])]),_:2},1024)]),_:2},1032,[`class`]))),128)),H.value.length===0?(t(),o(u(O),{key:0},{default:n(()=>[a(u(E),{colspan:`6`,class:`text-center text-muted-foreground py-8`},{default:n(()=>[...r[20]||=[m(`暂无密钥`,-1)]]),_:1})]),_:1})):f(``,!0)]),_:1})]),_:1})]),a(u(C),{open:W.value,"onUpdate:open":r[3]||=e=>W.value=e},{default:n(()=>[a(u(x),{class:`sm:max-w-lg`},{default:n(()=>[a(u(S),null,{default:n(()=>[a(u(w),null,{default:n(()=>[m(p(G.value?`编辑密钥`:`创建密钥`),1)]),_:1})]),_:1}),l(`form`,{onSubmit:te(Se,[`prevent`]),class:`space-y-4`},[l(`div`,null,[a(u(T),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[...r[21]||=[m(`名称`,-1)]]),_:1}),a(u(le),{modelValue:q.value.name,"onUpdate:modelValue":r[0]||=e=>q.value.name=e,type:`text`,required:``,placeholder:`例如:生产环境`},null,8,[`modelValue`])]),l(`div`,null,[a(u(T),{class:`block text-sm font-medium text-foreground mb-1`},{default:n(()=>[...r[22]||=[m(`白名单模型`,-1)]]),_:1}),r[24]||=l(`div`,{class:`text-xs text-muted-foreground mb-2`},`不选择 = 允许所有模型`,-1),l(`div`,F,[(t(!0),h(c,null,i(U.value,e=>(t(),o(u(T),{key:e,class:`flex items-center gap-2 cursor-pointer text-sm font-normal`},{default:n(()=>[a(u(y),{"model-value":q.value.allowed_models.includes(e),"onUpdate:modelValue":t=>{if(t&&t!==`indeterminate`&&!q.value.allowed_models.includes(e))q.value.allowed_models.push(e);else if(!t){let t=q.value.allowed_models.indexOf(e);t>=0&&q.value.allowed_models.splice(t,1)}}},null,8,[`model-value`,`onUpdate:modelValue`]),l(`span`,I,p(e),1)]),_:2},1024))),128)),U.value.length===0?(t(),h(`div`,L,` 暂无可用模型,请先配置模型映射 `)):f(``,!0)]),q.value.allowed_models.length>0?(t(),h(`div`,R,[(t(!0),h(c,null,i(q.value.allowed_models,e=>(t(),o(u(_),{key:e,variant:`outline`,class:`text-xs`},{default:n(()=>[m(p(e)+` `,1),a(u(v),{type:`button`,variant:`ghost`,size:`sm`,class:`ml-1 h-4 w-4 p-0 text-muted-foreground hover:text-destructive`,onClick:t=>ve(e)},{default:n(()=>[...r[23]||=[m(`×`,-1)]]),_:1},8,[`onClick`])]),_:2},1024))),128))])):f(``,!0)]),G.value?(t(),h(`div`,z,[a(u(y),{modelValue:q.value.is_active,"onUpdate:modelValue":r[1]||=e=>q.value.is_active=e,id:`key-active`},null,8,[`modelValue`]),a(u(T),{for:`key-active`,class:`text-sm text-foreground`},{default:n(()=>[...r[25]||=[m(`启用`,-1)]]),_:1})])):f(``,!0),a(u(b),null,{default:n(()=>[a(u(v),{type:`button`,variant:`outline`,onClick:r[2]||=e=>W.value=!1},{default:n(()=>[...r[26]||=[m(`取消`,-1)]]),_:1}),a(u(v),{type:`submit`},{default:n(()=>[...r[27]||=[m(`保存`,-1)]]),_:1})]),_:1})],32)]),_:1})]),_:1},8,[`open`]),a(u(C),{open:J.value,"onUpdate:open":r[5]||=e=>J.value=e},{default:n(()=>[a(u(x),{class:`sm:max-w-lg`},{default:n(()=>[a(u(S),null,{default:n(()=>[a(u(w),null,{default:n(()=>[...r[28]||=[m(`密钥创建成功`,-1)]]),_:1})]),_:1}),l(`div`,he,[r[29]||=l(`p`,{class:`text-sm text-muted-foreground`},`请立即保存此密钥,关闭后将无法再次查看完整密钥。`,-1),l(`div`,ge,p(Y.value),1),a(u(v),{variant:`outline`,size:`sm`,onClick:Te},{default:n(()=>[m(p(X.value?`已复制`:`复制密钥`),1)]),_:1})]),a(u(b),null,{default:n(()=>[a(u(v),{onClick:r[4]||=e=>J.value=!1},{default:n(()=>[...r[30]||=[m(`我已保存密钥`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`]),a(u(se),{open:!!K.value,"onUpdate:open":r[6]||=e=>{e||(K.value=null)}},{default:n(()=>[a(u(ne),null,{default:n(()=>[a(u(ie),null,{default:n(()=>[a(u(ce),null,{default:n(()=>[...r[31]||=[m(`确认删除`,-1)]]),_:1}),a(u(re),null,{default:n(()=>[m(`确定要删除密钥「`+p(K.value?.name)+`」吗?使用此密钥的所有请求将被拒绝,此操作不可撤销。`,1)]),_:1})]),_:1}),a(u(oe),null,{default:n(()=>[a(u(ae),null,{default:n(()=>[...r[32]||=[m(`取消`,-1)]]),_:1}),a(u(v),{variant:`destructive`,onClick:we},{default:n(()=>[...r[33]||=[m(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{V as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,I as t,J as n,N as r,P as i,S as a,_ as o,at as s,h as c,j as l,pt as u,ut as d,z as f}from"./client-BWw0R36V.js";import{C as p,S as m,_ as h,d as g,r as _}from"./badge-_ZHrMEpC.js";import{i as v}from"./button-C4_mChkc.js";import{c as y}from"./useForwardExpose-B-xauF1X.js";var b=`rovingFocusGroup.onEntryFocus`,x={bubbles:!1,cancelable:!0},S={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function C(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}function w(e,t,n){let r=C(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return S[r]}function T(e,t=!1){let n=m();for(let r of e)if(r===n||(r.focus({preventScroll:t}),m()!==n))return}function E(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var[D,O]=p(`RovingFocusGroup`),k=e({__name:`RovingFocusGroup`,props:{orientation:{type:String,required:!1,default:void 0},dir:{type:String,required:!1},loop:{type:Boolean,required:!1,default:!1},currentTabStopId:{type:[String,null],required:!1},defaultCurrentTabStopId:{type:String,required:!1},preventScrollOnEntryFocus:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`entryFocus`,`update:currentTabStopId`],setup(e,{expose:r,emit:i}){let c=e,l=i,{loop:p,orientation:m,dir:g}=d(c),S=h(g),C=y(c,`currentTabStopId`,l,{defaultValue:c.defaultCurrentTabStopId,passive:c.currentTabStopId===void 0}),w=s(!1),E=s(!1),D=s(0),{getItems:k,CollectionSlot:A}=_({isProvider:!0});function j(e){let t=!E.value;if(e.currentTarget&&e.target===e.currentTarget&&t&&!w.value){let t=new CustomEvent(b,x);if(e.currentTarget.dispatchEvent(t),l(`entryFocus`,t),!t.defaultPrevented){let e=k().map(e=>e.ref).filter(e=>e.dataset.disabled!==``);T([e.find(e=>e.getAttribute(`data-active`)===``),e.find(e=>e.getAttribute(`data-highlighted`)===``),e.find(e=>e.id===C.value),...e].filter(Boolean),c.preventScrollOnEntryFocus)}}E.value=!1}function M(){setTimeout(()=>{E.value=!1},1)}return r({getItems:k}),O({loop:p,dir:S,orientation:m,currentTabStopId:C,onItemFocus:e=>{C.value=e},onItemShiftTab:()=>{w.value=!0},onFocusableItemAdd:()=>{D.value++},onFocusableItemRemove:()=>{D.value--}}),(e,r)=>(t(),o(u(A),null,{default:n(()=>[a(u(v),{tabindex:w.value||D.value===0?-1:0,"data-orientation":u(m),as:e.as,"as-child":e.asChild,dir:u(S),style:{outline:`none`},onMousedown:r[0]||=e=>E.value=!0,onMouseup:M,onFocus:j,onBlur:r[1]||=e=>w.value=!1},{default:n(()=>[f(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`as`,`as-child`,`dir`])]),_:3}))}}),A=e({__name:`RovingFocusItem`,props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let s=e,d=D(),p=g(),m=c(()=>s.tabStopId||p),h=c(()=>d.currentTabStopId.value===m.value),{getItems:y,CollectionItem:b}=_();r(()=>{s.focusable&&d.onFocusableItemAdd()}),i(()=>{s.focusable&&d.onFocusableItemRemove()});function x(e){if(e.key===`Tab`&&e.shiftKey){d.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=w(e,d.orientation.value,d.dir.value);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||!s.allowShiftKey&&e.shiftKey)return;e.preventDefault();let n=[...y().map(e=>e.ref).filter(e=>e.dataset.disabled!==``)];if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=d.loop.value?E(n,r+1):n.slice(r+1)}l(()=>T(n))}}return(e,r)=>(t(),o(u(b),null,{default:n(()=>[a(u(v),{tabindex:h.value?0:-1,"data-orientation":u(d).orientation.value,"data-active":e.active?``:void 0,"data-disabled":e.focusable?void 0:``,as:e.as,"as-child":e.asChild,onMousedown:r[0]||=t=>{e.focusable?u(d).onItemFocus(m.value):t.preventDefault()},onFocus:r[1]||=e=>u(d).onItemFocus(m.value),onKeydown:x},{default:n(()=>[f(e.$slots,`default`)]),_:3},8,[`tabindex`,`data-orientation`,`data-active`,`data-disabled`,`as`,`as-child`])]),_:3}))}});export{k as n,A as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,C as t,G as n,I as r,J as i,K as a,M as o,N as s,P as c,Q as l,R as u,S as d,T as f,V as p,_ as m,_t as h,at as g,f as _,g as v,gt as y,h as b,ht as x,j as S,k as C,nt as w,ot as T,p as E,pt as D,q as O,st as k,u as A,ut as j,v as M,vt as ee,x as te,y as N,z as P}from"./client-BWw0R36V.js";import{r as ne}from"./lib-Qs8xoTas.js";import{C as re,S as ie,T as ae,_ as oe,a as se,b as ce,c as le,d as ue,f as de,h as fe,i as pe,m as me,n as he,p as ge,r as _e,s as ve,u as ye,v as be,w as xe,x as Se,y as Ce}from"./badge-_ZHrMEpC.js";import{i as F,r as we}from"./button-C4_mChkc.js";import{c as Te,f as Ee,h as De,i as Oe,l as ke,m as Ae,s as je,t as I}from"./useForwardExpose-B-xauF1X.js";var Me=ne(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),Ne=ne(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]);function Pe(e,t=-1/0,n=1/0){return Math.min(n,Math.max(t,e))}var Fe=0;function Ie(){a(e=>{if(!Ee)return;let t=document.querySelectorAll(`[data-reka-focus-guard]`);document.body.insertAdjacentElement(`afterbegin`,t[0]??Le()),document.body.insertAdjacentElement(`beforeend`,t[1]??Le()),Fe++,e(()=>{Fe===1&&document.querySelectorAll(`[data-reka-focus-guard]`).forEach(e=>e.remove()),Fe--})})}function Le(){let e=document.createElement(`span`);return e.setAttribute(`data-reka-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}function Re(e){let t=g(),n=b(()=>t.value?.width??0),r=b(()=>t.value?.height??0);return s(()=>{let n=Oe(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:n,height:r}}function ze(e){let t=De(``,1e3);return{search:t,handleTypeaheadSearch:(n,r)=>{if(t.value+=n,e)e(n);else{let e=ie(),n=r.map(e=>({...e,textValue:e.value?.textValue??e.ref.textContent?.trim()??``})),i=n.find(t=>t.ref===e),a=Ve(n.map(e=>e.textValue),t.value,i?.textValue),o=n.find(e=>e.textValue===a);return o&&o.ref.focus(),o?.ref}},resetTypeahead:()=>{t.value=``}}}function Be(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Ve(e,t,n){let r=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=n?e.indexOf(n):-1,a=Be(e,Math.max(i,0));r.length===1&&(a=a.filter(e=>e!==n));let o=a.find(e=>e.toLowerCase().startsWith(r.toLowerCase()));return o===n?void 0:o}var[He,Ue]=re(`PopperRoot`),We=t({inheritAttrs:!1,__name:`PopperRoot`,setup(e){let t=g();return Ue({anchor:t,onAnchorChange:e=>t.value=e}),(e,t)=>P(e.$slots,`default`)}}),Ge=t({__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:a}=I(),o=He();return O(()=>{o.onAnchorChange(t.reference??a.value)}),(e,t)=>(r(),m(D(F),{ref:D(n),as:e.as,"as-child":e.asChild},{default:i(()=>[P(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}});function Ke(e){return e!==null}function qe(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]=Je(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 Je(e){let[t,n=`center`]=e.split(`-`);return[t,n]}var Ye=[`top`,`right`,`bottom`,`left`],L=Math.min,R=Math.max,Xe=Math.round,Ze=Math.floor,z=e=>({x:e,y:e}),Qe={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function $e(e,t,n){return R(e,L(t,n))}function B(e,t){return typeof e==`function`?e(t):e}function V(e){return e.split(`-`)[0]}function et(e){return e.split(`-`)[1]}function tt(e){return e===`x`?`y`:`x`}function nt(e){return e===`y`?`height`:`width`}function H(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function rt(e){return tt(H(e))}function it(e,t,n){n===void 0&&(n=!1);let r=et(e),i=rt(e),a=nt(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=pt(o)),[o,pt(o)]}function at(e){let t=pt(e);return[ot(e),t,ot(t)]}function ot(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var st=[`left`,`right`],ct=[`right`,`left`],lt=[`top`,`bottom`],ut=[`bottom`,`top`];function dt(e,t,n){switch(e){case`top`:case`bottom`:return n?t?ct:st:t?st:ct;case`left`:case`right`:return t?lt:ut;default:return[]}}function ft(e,t,n,r){let i=et(e),a=dt(V(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(ot)))),a}function pt(e){let t=V(e);return Qe[t]+e.slice(t.length)}function mt(e){return{top:0,right:0,bottom:0,left:0,...e}}function ht(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:mt(e)}function gt(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 _t(e,t,n){let{reference:r,floating:i}=e,a=H(t),o=rt(t),s=nt(o),c=V(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(et(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 vt(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}=B(t,e),p=ht(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=gt(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=gt(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 yt=50,bt=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:vt},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=_t(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<yt&&(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}=_t(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},xt=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}=B(e,t)||{};if(l==null)return{};let d=ht(u),f={x:n,y:r},p=rt(i),m=nt(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=L(d[_],T),D=L(d[v],T),O=E,k=C-h[m]-D,A=C/2-h[m]/2+w,j=$e(O,A,k),M=!c.arrow&&et(i)!=null&&A!==j&&a.reference[m]/2-(A<O?E:D)-h[m]/2<0,ee=M?A<O?A-O:A-k:0;return{[p]:f[p]+ee,data:{[p]:j,centerOffset:A-j-ee,...M&&{alignmentOffset:ee}},reset:M}}}),St=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}=B(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=V(r),_=H(o),v=V(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[pt(o)]:at(o)),x=p!==`none`;!d&&x&&b.push(...ft(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=it(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`&&_!==H(t))||T.every(e=>H(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=H(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 Ct(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function wt(e){return Ye.some(t=>e[t]>=0)}var Tt=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=B(e,t);switch(i){case`referenceHidden`:{let e=Ct(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:wt(e)}}}case`escaped`:{let e=Ct(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:wt(e)}}}default:return{}}}}},Et=new Set([`left`,`top`]);async function Dt(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=V(n),s=et(n),c=H(n)===`y`,l=Et.has(o)?-1:1,u=a&&c?-1:1,d=B(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 Ot=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 Dt(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}}}}},kt=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}=B(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=H(V(i)),p=tt(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=$e(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=$e(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}}}}}},At=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}=B(e,t),u={x:n,y:r},d=H(i),f=tt(d),p=u[f],m=u[d],h=B(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=Et.has(V(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}}}},jt=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}=B(e,t),u=await o.detectOverflow(t,l),d=V(i),f=et(i),p=H(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=L(h-u[g],v),x=L(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=R(u.left,0),t=R(u.right,0),n=R(u.top,0),r=R(u.bottom,0);p?w=m-2*(e!==0||t!==0?e+t:R(u.left,u.right)):C=h-2*(n!==0||r!==0?n+r:R(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 Mt(){return typeof window<`u`}function U(e){return Nt(e)?(e.nodeName||``).toLowerCase():`#document`}function W(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function G(e){return((Nt(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Nt(e){return Mt()?e instanceof Node||e instanceof W(e).Node:!1}function K(e){return Mt()?e instanceof Element||e instanceof W(e).Element:!1}function q(e){return Mt()?e instanceof HTMLElement||e instanceof W(e).HTMLElement:!1}function Pt(e){return!Mt()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof W(e).ShadowRoot}function Ft(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 It(e){return/^(table|td|th)$/.test(U(e))}function Lt(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var Rt=/transform|translate|scale|rotate|perspective|filter/,zt=/paint|layout|strict|content/,J=e=>!!e&&e!==`none`,Bt;function Vt(e){let t=K(e)?Y(e):e;return J(t.transform)||J(t.translate)||J(t.scale)||J(t.rotate)||J(t.perspective)||!Ut()&&(J(t.backdropFilter)||J(t.filter))||Rt.test(t.willChange||``)||zt.test(t.contain||``)}function Ht(e){let t=X(e);for(;q(t)&&!Wt(t);){if(Vt(t))return t;if(Lt(t))return null;t=X(t)}return null}function Ut(){return Bt??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Bt}function Wt(e){return/^(html|body|#document)$/.test(U(e))}function Y(e){return W(e).getComputedStyle(e)}function Gt(e){return K(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function X(e){if(U(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Pt(e)&&e.host||G(e);return Pt(t)?t.host:t}function Kt(e){let t=X(e);return Wt(t)?e.ownerDocument?e.ownerDocument.body:e.body:q(t)&&Ft(t)?t:Kt(t)}function qt(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Kt(e),i=r===e.ownerDocument?.body,a=W(r);if(i){let e=Jt(a);return t.concat(a,a.visualViewport||[],Ft(r)?r:[],e&&n?qt(e):[])}else return t.concat(r,qt(r,[],n))}function Jt(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Yt(e){let t=Y(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=q(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Xe(n)!==a||Xe(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Xt(e){return K(e)?e:e.contextElement}function Zt(e){let t=Xt(e);if(!q(t))return z(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Yt(t),o=(a?Xe(n.width):n.width)/r,s=(a?Xe(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Qt=z(0);function $t(e){let t=W(e);return!Ut()||!t.visualViewport?Qt:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function en(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==W(e)?!1:t}function Z(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Xt(e),o=z(1);t&&(r?K(r)&&(o=Zt(r)):o=Zt(e));let s=en(a,n,r)?$t(a):z(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=W(a),t=r&&K(r)?W(r):r,n=e,i=Jt(n);for(;i&&r&&t!==n;){let e=Zt(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=W(i),i=Jt(n)}}return gt({width:u,height:d,x:c,y:l})}function tn(e,t){let n=Gt(e).scrollLeft;return t?t.left+n:Z(G(e)).left+n}function nn(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-tn(e,n),y:n.top+t.scrollTop}}function rn(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=G(r),s=t?Lt(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=z(1),u=z(0),d=q(r);if((d||!d&&!a)&&((U(r)!==`body`||Ft(o))&&(c=Gt(r)),d)){let e=Z(r);l=Zt(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?nn(o,c):z(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 an(e){return Array.from(e.getClientRects())}function on(e){let t=G(e),n=Gt(e),r=e.ownerDocument.body,i=R(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),a=R(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight),o=-n.scrollLeft+tn(e),s=-n.scrollTop;return Y(r).direction===`rtl`&&(o+=R(t.clientWidth,r.clientWidth)-i),{width:i,height:a,x:o,y:s}}var sn=25;function cn(e,t){let n=W(e),r=G(e),i=n.visualViewport,a=r.clientWidth,o=r.clientHeight,s=0,c=0;if(i){a=i.width,o=i.height;let e=Ut();(!e||e&&t===`fixed`)&&(s=i.offsetLeft,c=i.offsetTop)}let l=tn(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<=sn&&(a-=o)}else l<=sn&&(a+=l);return{width:a,height:o,x:s,y:c}}function ln(e,t){let n=Z(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=q(e)?Zt(e):z(1);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function un(e,t,n){let r;if(t===`viewport`)r=cn(e,n);else if(t===`document`)r=on(G(e));else if(K(t))r=ln(t,n);else{let n=$t(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return gt(r)}function dn(e,t){let n=X(e);return n===t||!K(n)||Wt(n)?!1:Y(n).position===`fixed`||dn(n,t)}function fn(e,t){let n=t.get(e);if(n)return n;let r=qt(e,[],!1).filter(e=>K(e)&&U(e)!==`body`),i=null,a=Y(e).position===`fixed`,o=a?X(e):e;for(;K(o)&&!Wt(o);){let t=Y(o),n=Vt(o);!n&&t.position===`fixed`&&(i=null),(a?!n&&!i:!n&&t.position===`static`&&i&&(i.position===`absolute`||i.position===`fixed`)||Ft(o)&&!n&&dn(e,o))?r=r.filter(e=>e!==o):i=t,o=X(o)}return t.set(e,r),r}function pn(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Lt(t)?[]:fn(t,this._c):[].concat(n),r],o=un(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=un(t,a[e],i);s=R(n.top,s),c=L(n.right,c),l=L(n.bottom,l),u=R(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function mn(e){let{width:t,height:n}=Yt(e);return{width:t,height:n}}function hn(e,t,n){let r=q(t),i=G(t),a=n===`fixed`,o=Z(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=z(0);function l(){c.x=tn(i)}if(r||!r&&!a)if((U(t)!==`body`||Ft(i))&&(s=Gt(t)),r){let e=Z(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?nn(i,s):z(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 gn(e){return Y(e).position===`static`}function _n(e,t){if(!q(e)||Y(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return G(e)===n&&(n=n.ownerDocument.body),n}function vn(e,t){let n=W(e);if(Lt(e))return n;if(!q(e)){let t=X(e);for(;t&&!Wt(t);){if(K(t)&&!gn(t))return t;t=X(t)}return n}let r=_n(e,t);for(;r&&It(r)&&gn(r);)r=_n(r,t);return r&&Wt(r)&&gn(r)&&!Vt(r)?n:r||Ht(e)||n}var yn=async function(e){let t=this.getOffsetParent||vn,n=this.getDimensions,r=await n(e.floating);return{reference:hn(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function bn(e){return Y(e).direction===`rtl`}var xn={convertOffsetParentRelativeRectToViewportRelativeRect:rn,getDocumentElement:G,getClippingRect:pn,getOffsetParent:vn,getElementRects:yn,getClientRects:an,getDimensions:mn,getScale:Zt,isElement:K,isRTL:bn};function Sn(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Cn(e,t){let n=null,r,i=G(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=Ze(d),h=Ze(i.clientWidth-(u+f)),g=Ze(i.clientHeight-(d+p)),_=Ze(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:R(0,L(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&&!Sn(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 wn(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=Xt(e),u=i||a?[...l?qt(l):[],...t?qt(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n,{passive:!0}),a&&e.addEventListener(`resize`,n)});let d=l&&s?Cn(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?Z(e):null;c&&g();function g(){let t=Z(e);h&&!Sn(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 Tn=Ot,En=kt,Dn=St,On=jt,kn=Tt,An=xt,jn=At,Mn=(e,t,n)=>{let r=new Map,i={platform:xn,...n},a={...i.platform,_c:r};return bt(e,t,{...i,platform:a})};function Nn(e){return typeof e==`object`&&!!e&&`$el`in e}function Pn(e){if(Nn(e)){let t=e.$el;return Nt(t)&&U(t)===`#comment`?null:t}return e}function Fn(e){return typeof e==`function`?e():D(e)}function In(e){return{name:`arrow`,options:e,fn(t){let n=Pn(Fn(e.element));return n==null?{}:An({element:n,padding:e.padding}).fn(t)}}}function Ln(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Rn(e,t){let n=Ln(e);return Math.round(t*n)/n}function zn(e,t,r){r===void 0&&(r={});let i=r.whileElementsMounted,a=b(()=>Fn(r.open)??!0),o=b(()=>Fn(r.middleware)),s=b(()=>Fn(r.placement)??`bottom`),c=b(()=>Fn(r.strategy)??`absolute`),u=b(()=>Fn(r.transform)??!0),d=b(()=>Pn(e.value)),f=b(()=>Pn(t.value)),p=g(0),m=g(0),h=g(c.value),_=g(s.value),v=k({}),y=g(!1),x=b(()=>{let e={position:h.value,left:`0`,top:`0`};if(!f.value)return e;let t=Rn(f.value,p.value),n=Rn(f.value,m.value);return u.value?{...e,transform:`translate(`+t+`px, `+n+`px)`,...Ln(f.value)>=1.5&&{willChange:`transform`}}:{position:h.value,left:t+`px`,top:n+`px`}}),S;function C(){if(d.value==null||f.value==null)return;let e=a.value;Mn(d.value,f.value,{middleware:o.value,placement:s.value,strategy:c.value}).then(t=>{p.value=t.x,m.value=t.y,h.value=t.strategy,_.value=t.placement,v.value=t.middlewareData,y.value=e!==!1})}function E(){typeof S==`function`&&(S(),S=void 0)}function D(){if(E(),i===void 0){C();return}if(d.value!=null&&f.value!=null){S=i(d.value,f.value,C);return}}function O(){a.value||(y.value=!1)}return n([o,s,c,a],C,{flush:`sync`}),n([d,f],D,{flush:`sync`}),n(a,O,{flush:`sync`}),l()&&w(E),{x:T(p),y:T(m),strategy:T(h),placement:T(_),middlewareData:T(v),isPositioned:T(y),floatingStyles:x,update:C}}var Bn={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},[Vn,Hn]=re(`PopperContent`),Un=t({inheritAttrs:!1,__name:`PopperContent`,props:C({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}},{...Bn}),emits:[`placed`],setup(t,{emit:n}){let o=t,s=n,c=He(),{forwardRef:l,currentElement:u}=I(),f=g(),p=g(),{width:m,height:_}=Re(p),v=b(()=>o.side+(o.align===`center`?``:`-${o.align}`)),y=b(()=>typeof o.collisionPadding==`number`?o.collisionPadding:{top:0,right:0,bottom:0,left:0,...o.collisionPadding}),x=b(()=>Array.isArray(o.collisionBoundary)?o.collisionBoundary:[o.collisionBoundary]),S=b(()=>({padding:y.value,boundary:x.value.filter(Ke),altBoundary:x.value.length>0})),C=b(()=>({mainAxis:o.sideFlip,crossAxis:o.alignFlip})),w=ke(()=>[Tn({mainAxis:o.sideOffset+_.value,alignmentAxis:o.alignOffset}),o.prioritizePosition&&o.avoidCollisions&&Dn({...S.value,...C.value}),o.avoidCollisions&&En({mainAxis:!0,crossAxis:!!o.prioritizePosition,limiter:o.sticky===`partial`?jn():void 0,...S.value}),!o.prioritizePosition&&o.avoidCollisions&&Dn({...S.value,...C.value}),On({...S.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`)}}),p.value&&In({element:p.value,padding:o.arrowPadding}),qe({arrowWidth:m.value,arrowHeight:_.value}),o.hideWhenDetached&&kn({strategy:`referenceHidden`,...S.value})]),{floatingStyles:T,placement:E,isPositioned:k,middlewareData:A,update:j}=zn(b(()=>o.reference??c.anchor.value),f,{strategy:o.positionStrategy,placement:v,whileElementsMounted:(...e)=>wn(...e,{layoutShift:!o.disableUpdateOnLayoutShift,animationFrame:o.updatePositionStrategy===`always`}),middleware:w}),M=b(()=>Je(E.value)[0]),ee=b(()=>Je(E.value)[1]);O(()=>{k.value&&s(`placed`)});let te=b(()=>{let e=A.value.arrow?.centerOffset!==0;return o.hideShiftedArrow&&e}),ne=g(``);return a(()=>{u.value&&(ne.value=window.getComputedStyle(u.value).zIndex)}),Hn({placedSide:M,onArrowChange:e=>p.value=e,arrowX:b(()=>A.value.arrow?.x??0),arrowY:b(()=>A.value.arrow?.y??0),shouldHideArrow:te}),(t,n)=>(r(),N(`div`,{ref_key:`floatingRef`,ref:f,"data-reka-popper-content-wrapper":``,style:h({...D(T),transform:D(k)?D(T).transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ne.value,"--reka-popper-transform-origin":[D(A).transformOrigin?.x,D(A).transformOrigin?.y].join(` `),...D(A).hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}})},[d(D(F),e({ref:D(l)},t.$attrs,{"as-child":o.asChild,as:t.as,"data-side":M.value,"data-align":ee.value,style:{animation:D(k)?void 0:`none`}}),{default:i(()=>[P(t.$slots,`default`)]),_:3},16,[`as-child`,`as`,`data-side`,`data-align`,`style`])],4))}});function Wn(e){let t=Ce({nonce:g()});return b(()=>e?.value||t.nonce?.value)}var Gn=[` `,`Enter`,`ArrowUp`,`ArrowDown`],Kn=[` `,`Enter`];function qn(e,t,n){return e===void 0?!1:Array.isArray(e)?e.some(e=>Jn(e,t,n)):Jn(e,t,n)}function Jn(e,t,n){return e===void 0||t===void 0?!1:typeof e==`string`?e===t:typeof n==`function`?n(e,t):typeof n==`string`?e?.[n]===t?.[n]:xe(e,t)}function Yn(e){return e==null||e===``||Array.isArray(e)&&e.length===0}var Xn={key:0,value:``},[Q,Zn]=re(`SelectRoot`),Qn=t({inheritAttrs:!1,__name:`SelectRoot`,props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`,`update:open`],setup(t,{emit:n}){let a=t,o=n,{required:s,disabled:c,multiple:l,dir:d}=j(a),f=Te(a,`modelValue`,o,{defaultValue:a.defaultValue??(l.value?[]:void 0),passive:a.modelValue===void 0,deep:!0}),p=Te(a,`open`,o,{defaultValue:a.defaultOpen,passive:a.open===void 0}),h=g(),v=g(),y=g({x:0,y:0}),x=b(()=>l.value&&Array.isArray(f.value)?f.value?.length===0:ce(f.value));_e({isProvider:!0});let S=oe(d),C=fe(h),w=g(new Set),T=b(()=>Array.from(w.value).map(e=>e.value).join(`;`));function E(e){if(l.value){let t=Array.isArray(f.value)?[...f.value]:[],n=t.findIndex(t=>Jn(t,e,a.by));n===-1?t.push(e):t.splice(n,1),f.value=[...t]}else f.value=e}function O(e){return Array.from(w.value).find(t=>qn(e,t.value,a.by))}return Zn({triggerElement:h,onTriggerChange:e=>{h.value=e},valueElement:v,onValueElementChange:e=>{v.value=e},contentId:``,modelValue:f,onValueChange:E,by:a.by,open:p,multiple:l,required:s,onOpenChange:e=>{p.value=e},dir:S,triggerPointerDownPosRef:y,disabled:c,isEmptyModelValue:x,optionsSet:w,onOptionAdd:e=>{let t=O(e.value);t&&w.value.delete(t),w.value.add(e)},onOptionRemove:e=>{let t=O(e.value);t&&w.value.delete(t)}}),(t,n)=>(r(),m(D(We),null,{default:i(()=>[P(t.$slots,`default`,{modelValue:D(f),open:D(p)}),D(C)&&t.name?(r(),m($n,{key:T.value,"aria-hidden":`true`,tabindex:`-1`,multiple:D(l),required:D(s),name:t.name,autocomplete:t.autocomplete,disabled:D(c),value:D(f)},{default:i(()=>[D(ce)(D(f))?(r(),N(`option`,Xn)):M(`v-if`,!0),(r(!0),N(_,null,u(Array.from(w.value),t=>(r(),N(`option`,e({key:t.value??``},{ref_for:!0},t),null,16))),128))]),_:1},8,[`multiple`,`required`,`name`,`autocomplete`,`disabled`,`value`])):M(`v-if`,!0)]),_:3}))}}),$n=t({__name:`BubbleSelect`,props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(t){let a=t,o=g(),s=Q();n(()=>a.value,(e,t)=>{let n=window.HTMLSelectElement.prototype,r=Object.getOwnPropertyDescriptor(n,`value`).set;if(e!==t&&r&&o.value){let t=new Event(`change`,{bubbles:!0});r.call(o.value,e),o.value.dispatchEvent(t)}});function c(e){s.onValueChange(e.target.value)}return(t,n)=>(r(),m(D(he),{"as-child":``},{default:i(()=>[v(`select`,e({ref_key:`selectElement`,ref:o},a,{onInput:c}),[P(t.$slots,`default`)],16)]),_:3}))}}),er=t({__name:`SelectPopperPosition`,props:{side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},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,default:10},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}},setup(t){let n=me(t);return(t,a)=>(r(),m(D(Un),e(D(n),{style:{boxSizing:`border-box`,"--reka-select-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-select-content-available-width":`var(--reka-popper-available-width)`,"--reka-select-content-available-height":`var(--reka-popper-available-height)`,"--reka-select-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-select-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:i(()=>[P(t.$slots,`default`)]),_:3},16))}}),tr={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[$,nr]=re(`SelectContent`),rr=t({__name:`SelectContentImpl`,props:{position:{type:String,required:!1,default:`item-aligned`},bodyLock:{type:Boolean,required:!1,default:!0},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:`start`},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},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(t,{emit:o}){let s=t,c=o,l=Q();Ie(),be(s.bodyLock);let{CollectionSlot:u,getItems:f}=_e(),h=g();de(h);let{search:_,handleTypeaheadSearch:v}=ze(),y=g(),x=g(),S=g(),C=g(!1),w=g(!1),T=g(!1);function E(){x.value&&h.value&&se([x.value,h.value])}n(C,()=>{E()});let{onOpenChange:O,triggerPointerDownPosRef:k}=l;a(e=>{if(!h.value)return;let t={x:0,y:0},n=e=>{t={x:Math.abs(Math.round(e.pageX)-(k.value?.x??0)),y:Math.abs(Math.round(e.pageY)-(k.value?.y??0))}},r=e=>{e.pointerType!==`touch`&&(t.x<=10&&t.y<=10?e.preventDefault():h.value?.contains(e.target)||O(!1),document.removeEventListener(`pointermove`,n),k.value=null)};k.value!==null&&(document.addEventListener(`pointermove`,n),document.addEventListener(`pointerup`,r,{capture:!0,once:!0})),e(()=>{document.removeEventListener(`pointermove`,n),document.removeEventListener(`pointerup`,r,{capture:!0})})});function j(e){let t=e.ctrlKey||e.altKey||e.metaKey;if(e.key===`Tab`&&e.preventDefault(),!t&&e.key.length===1&&v(e.key,f()),[`ArrowUp`,`ArrowDown`,`Home`,`End`].includes(e.key)){let t=[...f().map(e=>e.ref)];if([`ArrowUp`,`End`].includes(e.key)&&(t=t.slice().reverse()),[`ArrowUp`,`ArrowDown`].includes(e.key)){let n=e.target,r=t.indexOf(n);t=t.slice(r+1)}setTimeout(()=>se(t)),e.preventDefault()}}let M=me(b(()=>s.position===`popper`?s:{}).value);return nr({content:h,viewport:y,onViewportChange:e=>{y.value=e},itemRefCallback:(e,t,n)=>{let r=!w.value&&!n,i=qn(l.modelValue.value,t,l.by);if(l.multiple.value){if(T.value)return;(i||r)&&(x.value=e,i&&(T.value=!0))}else (i||r)&&(x.value=e);r&&(w.value=!0)},selectedItem:x,selectedItemText:S,onItemLeave:()=>{h.value?.focus()},itemTextRefCallback:(e,t,n)=>{let r=!w.value&&!n;(qn(l.modelValue.value,t,l.by)||r)&&(S.value=e)},focusSelectedItem:E,position:s.position,isPositioned:C,searchRef:_}),(t,n)=>(r(),m(D(u),null,{default:i(()=>[d(D(ve),{"as-child":``,onMountAutoFocus:n[6]||=A(()=>{},[`prevent`]),onUnmountAutoFocus:n[7]||=e=>{c(`closeAutoFocus`,e),!e.defaultPrevented&&(D(l).triggerElement.value?.focus({preventScroll:!0}),e.preventDefault())}},{default:i(()=>[d(D(le),{"as-child":``,"disable-outside-pointer-events":t.disableOutsidePointerEvents,onFocusOutside:n[2]||=A(()=>{},[`prevent`]),onDismiss:n[3]||=e=>D(l).onOpenChange(!1),onEscapeKeyDown:n[4]||=e=>c(`escapeKeyDown`,e),onPointerDownOutside:n[5]||=e=>c(`pointerDownOutside`,e)},{default:i(()=>[(r(),m(p(t.position===`popper`?er:or),e({...t.$attrs,...D(M)},{id:D(l).contentId,ref:e=>{if(!e)return;let t=D(Oe)(e);t?.hasAttribute(`data-reka-popper-content-wrapper`)?h.value=t.firstElementChild:h.value=t},role:`listbox`,"data-state":D(l).open.value?`open`:`closed`,dir:D(l).dir.value,style:{display:`flex`,flexDirection:`column`,outline:`none`},onContextmenu:n[0]||=A(()=>{},[`prevent`]),onPlaced:n[1]||=e=>C.value=!0,onKeydown:j}),{default:i(()=>[P(t.$slots,`default`)]),_:3},16,[`id`,`data-state`,`dir`,`onKeydown`]))]),_:3},8,[`disable-outside-pointer-events`])]),_:3})]),_:3}))}}),[ir,ar]=re(`SelectItemAlignedPosition`),or=t({inheritAttrs:!1,__name:`SelectItemAlignedPosition`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`placed`],setup(t,{emit:n}){let a=t,o=n,{getItems:c}=_e(),l=Q(),u=$(),f=g(!1),p=g(!0),m=g(),{forwardRef:_,currentElement:v}=I(),{viewport:y,selectedItem:b,selectedItemText:x,focusSelectedItem:C}=u;function w(){if(l.triggerElement.value&&l.valueElement.value&&m.value&&v.value&&y?.value&&b?.value&&x?.value){let e=l.triggerElement.value.getBoundingClientRect(),t=v.value.getBoundingClientRect(),n=l.valueElement.value.getBoundingClientRect(),r=x.value.getBoundingClientRect();if(l.dir.value!==`rtl`){let i=r.left-t.left,a=n.left-i,o=e.left-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,u=Pe(a,10,Math.max(10,l-c));m.value.style.minWidth=`${s}px`,m.value.style.left=`${u}px`}else{let i=t.right-r.right,a=window.innerWidth-n.right-i,o=window.innerWidth-e.right-a,s=e.width+o,c=Math.max(s,t.width),l=window.innerWidth-10,u=Pe(a,10,Math.max(10,l-c));m.value.style.minWidth=`${s}px`,m.value.style.right=`${u}px`}let i=c().map(e=>e.ref),a=window.innerHeight-20,s=y.value.scrollHeight,u=window.getComputedStyle(v.value),d=Number.parseInt(u.borderTopWidth,10),p=Number.parseInt(u.paddingTop,10),h=Number.parseInt(u.borderBottomWidth,10),g=Number.parseInt(u.paddingBottom,10),_=d+p+s+g+h,S=Math.min(b.value.offsetHeight*5,_),C=window.getComputedStyle(y.value),w=Number.parseInt(C.paddingTop,10),T=Number.parseInt(C.paddingBottom,10),E=e.top+e.height/2-10,D=a-E,O=b.value.offsetHeight/2,k=b.value.offsetTop+O,A=d+p+k,j=_-A;if(A<=E){let e=b.value===i.at(-1);m.value.style.bottom=`0px`;let t=v.value.clientHeight-y.value.offsetTop-y.value.offsetHeight,n=A+Math.max(D,O+(e?T:0)+t+h);m.value.style.height=`${n}px`}else{let e=b.value===i[0];m.value.style.top=`0px`;let t=Math.max(E,d+y.value.offsetTop+(e?w:0)+O)+j;m.value.style.height=`${t}px`,y.value.scrollTop=A-E+y.value.offsetTop}m.value.style.margin=`10px 0`,m.value.style.minHeight=`${S}px`,m.value.style.maxHeight=`${a}px`,o(`placed`),requestAnimationFrame(()=>f.value=!0)}}let T=g(``);s(async()=>{await S(),w(),v.value&&(T.value=window.getComputedStyle(v.value).zIndex)});function E(e){e&&p.value===!0&&(w(),C?.(),p.value=!1)}return je(l.triggerElement,()=>{w()}),ar({contentWrapper:m,shouldExpandOnScrollRef:f,onScrollButtonChange:E}),(t,n)=>(r(),N(`div`,{ref_key:`contentWrapperElement`,ref:m,style:h({display:`flex`,flexDirection:`column`,position:`fixed`,zIndex:T.value})},[d(D(F),e({ref:D(_),style:{boxSizing:`border-box`,maxHeight:`100%`}},{...t.$attrs,...a}),{default:i(()=>[P(t.$slots,`default`)]),_:3},16)],4))}}),sr=t({inheritAttrs:!1,__name:`SelectProvider`,props:{context:{type:Object,required:!0}},setup(e){return Zn(e.context),nr(tr),(e,t)=>P(e.$slots,`default`)}}),cr={key:1},lr=t({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},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},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let a=e,o=ge(a,t),c=Q(),l=g();s(()=>{l.value=new DocumentFragment});let u=g(),p=b(()=>a.forceMount||c.open.value),h=g(p.value);return n(p,()=>{setTimeout(()=>h.value=p.value)}),(e,t)=>p.value||h.value||u.value?.present?(r(),m(D(ye),{key:0,ref_key:`presenceRef`,ref:u,present:p.value},{default:i(()=>[d(rr,y(f({...D(o),...e.$attrs})),{default:i(()=>[P(e.$slots,`default`)]),_:3},16)]),_:3},8,[`present`])):l.value?(r(),N(`div`,cr,[(r(),m(E,{to:l.value},[d(sr,{context:D(c)},{default:i(()=>[P(e.$slots,`default`)]),_:3},8,[`context`])],8,[`to`]))])):M(`v-if`,!0)}}),ur=t({__name:`SelectIcon`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>(r(),m(D(F),{"aria-hidden":`true`,as:e.as,"as-child":e.asChild},{default:i(()=>[P(e.$slots,`default`,{},()=>[t[0]||=te(`▼`)])]),_:3},8,[`as`,`as-child`]))}}),[dr,fr]=re(`SelectItem`),pr=t({__name:`SelectItem`,props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`select`],setup(e,{emit:t}){let n=e,a=t,{disabled:o}=j(n),c=Q(),l=$(),{forwardRef:u,currentElement:f}=I(),{CollectionItem:p}=_e(),h=b(()=>qn(c.modelValue?.value,n.value,c.by)),_=g(!1),v=g(n.textValue??``),y=ue(void 0,`reka-select-item-text`);async function x(e){e.defaultPrevented||Se(`select.select`,C,{originalEvent:e,value:n.value})}async function C(e){await S(),a(`select`,e),!e.defaultPrevented&&(o.value||(c.onValueChange(n.value),c.multiple.value||c.onOpenChange(!1)))}async function w(e){await S(),!e.defaultPrevented&&(o.value?l.onItemLeave?.():e.currentTarget?.focus({preventScroll:!0}))}async function T(e){await S(),!e.defaultPrevented&&e.currentTarget===ie()&&l.onItemLeave?.()}async function E(e){await S(),!e.defaultPrevented&&(l.searchRef?.value!==``&&e.key===` `||(Kn.includes(e.key)&&x(e),e.key===` `&&e.preventDefault()))}if(n.value===``)throw Error(`A <SelectItem /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.`);return s(()=>{f.value&&l.itemRefCallback(f.value,n.value,n.disabled)}),fr({value:n.value,disabled:o,textId:y,isSelected:h,onItemTextChange:e=>{v.value=((v.value||e?.textContent)??``).trim()}}),(e,t)=>(r(),m(D(p),{value:{textValue:v.value}},{default:i(()=>[d(D(F),{ref:D(u),role:`option`,"aria-labelledby":D(y),"data-highlighted":_.value?``:void 0,"aria-selected":h.value,"data-state":h.value?`checked`:`unchecked`,"aria-disabled":D(o)||void 0,"data-disabled":D(o)?``:void 0,tabindex:D(o)?void 0:-1,as:e.as,"as-child":e.asChild,onFocus:t[0]||=e=>_.value=!0,onBlur:t[1]||=e=>_.value=!1,onPointerup:x,onPointerdown:t[2]||=e=>{e.currentTarget.focus({preventScroll:!0})},onTouchend:t[3]||=A(()=>{},[`prevent`,`stop`]),onPointermove:w,onPointerleave:T,onKeydown:E},{default:i(()=>[P(e.$slots,`default`)]),_:3},8,[`aria-labelledby`,`data-highlighted`,`aria-selected`,`data-state`,`aria-disabled`,`data-disabled`,`tabindex`,`as`,`as-child`])]),_:3},8,[`value`]))}}),mr=t({__name:`SelectItemIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(t){let n=t,a=dr();return(t,o)=>D(a).isSelected.value?(r(),m(D(F),e({key:0,"aria-hidden":`true`},n),{default:i(()=>[P(t.$slots,`default`)]),_:3},16)):M(`v-if`,!0)}}),hr=t({inheritAttrs:!1,__name:`SelectItemText`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(t){let n=t,a=Q(),o=$(),l=dr(),{forwardRef:u,currentElement:d}=I(),f=b(()=>({value:l.value,disabled:l.disabled.value,textContent:d.value?.textContent??l.value?.toString()??``}));return s(()=>{d.value&&(l.onItemTextChange(d.value),o.itemTextRefCallback(d.value,l.value,l.disabled.value),a.onOptionAdd(f.value))}),c(()=>{a.onOptionRemove(f.value)}),(t,a)=>(r(),m(D(F),e({id:D(l).textId,ref:D(u)},{...n,...t.$attrs}),{default:i(()=>[P(t.$slots,`default`)]),_:3},16,[`id`]))}}),gr=t({__name:`SelectPortal`,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)=>(r(),m(D(pe),y(f(t)),{default:i(()=>[P(e.$slots,`default`)]),_:3},16))}}),_r=t({__name:`SelectScrollButtonImpl`,emits:[`autoScroll`],setup(t,{emit:n}){let s=n,{getItems:c}=_e(),l=$(),u=g(null);function d(){u.value!==null&&(window.clearInterval(u.value),u.value=null)}a(()=>{c().map(e=>e.ref).find(e=>e===ie())?.scrollIntoView({block:`nearest`})});function f(){u.value===null&&(u.value=window.setInterval(()=>{s(`autoScroll`)},50))}function p(){l.onItemLeave?.(),u.value===null&&(u.value=window.setInterval(()=>{s(`autoScroll`)},50))}return o(()=>d()),(t,n)=>(r(),m(D(F),e({"aria-hidden":`true`,style:{flexShrink:0}},t.$parent?.$props,{onPointerdown:f,onPointermove:p,onPointerleave:n[0]||=()=>{d()}}),{default:i(()=>[P(t.$slots,`default`)]),_:3},16))}}),vr=t({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=$(),o=t.position===`item-aligned`?ir():void 0,{forwardRef:s,currentElement:c}=I(),l=g(!1);return a(e=>{if(t.viewport?.value&&t.isPositioned?.value){let n=t.viewport.value;function r(){let e=n.scrollHeight-n.clientHeight;l.value=Math.ceil(n.scrollTop)<e}r(),n.addEventListener(`scroll`,r),e(()=>n.removeEventListener(`scroll`,r))}}),n(c,()=>{c.value&&o?.onScrollButtonChange(c.value)}),(e,n)=>l.value?(r(),m(_r,{key:0,ref:D(s),onAutoScroll:n[0]||=()=>{let{viewport:e,selectedItem:n}=D(t);e?.value&&n?.value&&(e.value.scrollTop=e.value.scrollTop+n.value.offsetHeight)}},{default:i(()=>[P(e.$slots,`default`)]),_:3},512)):M(`v-if`,!0)}}),yr=t({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=$(),o=t.position===`item-aligned`?ir():void 0,{forwardRef:s,currentElement:c}=I(),l=g(!1);return a(e=>{if(t.viewport?.value&&t.isPositioned?.value){let n=t.viewport.value;function r(){l.value=n.scrollTop>0}r(),n.addEventListener(`scroll`,r),e(()=>n.removeEventListener(`scroll`,r))}}),n(c,()=>{c.value&&o?.onScrollButtonChange(c.value)}),(e,n)=>l.value?(r(),m(_r,{key:0,ref:D(s),onAutoScroll:n[0]||=()=>{let{viewport:e,selectedItem:n}=D(t);e?.value&&n?.value&&(e.value.scrollTop=e.value.scrollTop-n.value.offsetHeight)}},{default:i(()=>[P(e.$slots,`default`)]),_:3},512)):M(`v-if`,!0)}}),br=t({__name:`SelectTrigger`,props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=Q(),{forwardRef:a,currentElement:o}=I(),c=b(()=>n.disabled?.value||t.disabled);n.contentId||=ue(void 0,`reka-select-content`),s(()=>{n.onTriggerChange(o.value)});let{getItems:l}=_e(),{search:u,handleTypeaheadSearch:f,resetTypeahead:p}=ze();function h(){c.value||(n.onOpenChange(!0),p())}function g(e){h(),n.triggerPointerDownPosRef.value={x:Math.round(e.pageX),y:Math.round(e.pageY)}}return(e,t)=>(r(),m(D(Ge),{"as-child":``,reference:e.reference},{default:i(()=>[d(D(F),{ref:D(a),role:`combobox`,type:e.as===`button`?`button`:void 0,"aria-controls":D(n).contentId,"aria-expanded":D(n).open.value||!1,"aria-required":D(n).required?.value,"aria-autocomplete":`none`,disabled:c.value,dir:D(n)?.dir.value,"data-state":D(n)?.open.value?`open`:`closed`,"data-disabled":c.value?``:void 0,"data-placeholder":D(Yn)(D(n).modelValue?.value)?``:void 0,"as-child":e.asChild,as:e.as,onClick:t[0]||=e=>{(e?.currentTarget)?.focus()},onPointerdown:t[1]||=e=>{if(e.pointerType===`touch`)return e.preventDefault();let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),e.button===0&&e.ctrlKey===!1&&(g(e),e.preventDefault())},onPointerup:t[2]||=A(e=>{e.pointerType===`touch`&&g(e)},[`prevent`]),onKeydown:t[3]||=e=>{let t=D(u)!==``;!(e.ctrlKey||e.altKey||e.metaKey)&&e.key.length===1&&t&&e.key===` `||(D(f)(e.key,D(l)()),D(Gn).includes(e.key)&&(h(),e.preventDefault()))}},{default:i(()=>[P(e.$slots,`default`)]),_:3},8,[`type`,`aria-controls`,`aria-expanded`,`aria-required`,`disabled`,`dir`,`data-state`,`data-disabled`,`data-placeholder`,`as-child`,`as`])]),_:3},8,[`reference`]))}}),xr=t({__name:`SelectValue`,props:{placeholder:{type:String,required:!1,default:``},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=e,{forwardRef:n,currentElement:a}=I(),o=Q();s(()=>{o.valueElement=a});let c=b(()=>{let e=[],t=Array.from(o.optionsSet.value),n=e=>t.find(t=>qn(e,t.value,o.by));return e=Array.isArray(o.modelValue.value)?o.modelValue.value.map(e=>n(e)?.textContent??``):[n(o.modelValue.value)?.textContent??``],e.filter(Boolean)}),l=b(()=>c.value.length?c.value.join(`, `):t.placeholder);return(e,a)=>(r(),m(D(F),{ref:D(n),as:e.as,"as-child":e.asChild,style:{pointerEvents:`none`},"data-placeholder":c.value.length?void 0:t.placeholder},{default:i(()=>[P(e.$slots,`default`,{selectedLabel:c.value,modelValue:D(o).modelValue.value},()=>[te(ee(l.value),1)])]),_:3},8,[`as`,`as-child`,`data-placeholder`]))}}),Sr=t({__name:`SelectViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(t){let n=t,{nonce:a}=j(n),o=Wn(a),c=$(),l=c.position===`item-aligned`?ir():void 0,{forwardRef:u,currentElement:f}=I();s(()=>{c?.onViewportChange(f.value)});let p=g(0);function m(e){let t=e.currentTarget,{shouldExpandOnScrollRef:n,contentWrapper:r}=l??{};if(n?.value&&r?.value){let e=Math.abs(p.value-t.scrollTop);if(e>0){let n=window.innerHeight-20,i=Number.parseFloat(r.value.style.minHeight),a=Number.parseFloat(r.value.style.height),o=Math.max(i,a);if(o<n){let i=o+e,a=Math.min(n,i),s=i-a;r.value.style.height=`${a}px`,r.value.style.bottom===`0px`&&(t.scrollTop=s>0?s:0,r.value.style.justifyContent=`flex-end`)}}}p.value=t.scrollTop}return(t,a)=>(r(),N(_,null,[d(D(F),e({ref:D(u),"data-reka-select-viewport":``,role:`presentation`},{...t.$attrs,...n},{style:{position:`relative`,flex:1,overflow:`hidden auto`},onScroll:m}),{default:i(()=>[P(t.$slots,`default`)]),_:3},16),d(D(F),{as:`style`,nonce:D(o)},{default:i(()=>a[0]||=[te(` /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-select-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-select-viewport]::-webkit-scrollbar { display: none; } `)]),_:1,__:[0]},8,[`nonce`])],64))}}),Cr=t({__name:`Select`,props:{open:{type:Boolean},defaultOpen:{type:Boolean},defaultValue:{},modelValue:{},by:{type:[String,Function]},dir:{},multiple:{type:Boolean},autocomplete:{},disabled:{type:Boolean},name:{},required:{type:Boolean}},emits:[`update:modelValue`,`update:open`],setup(t,{emit:n}){let a=ge(t,n);return(t,n)=>(r(),m(D(Qn),e({"data-slot":`select`},D(a)),{default:i(e=>[P(t.$slots,`default`,y(f(e)))]),_:3},16))}}),wr=t({inheritAttrs:!1,__name:`SelectContent`,props:{forceMount:{type:Boolean},position:{default:`item-aligned`},bodyLock:{type:Boolean},side:{},sideOffset:{},sideFlip:{type:Boolean},align:{default:`center`},alignOffset:{},alignFlip:{type:Boolean},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},hideShiftedArrow:{type:Boolean},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},disableUpdateOnLayoutShift:{type:Boolean},prioritizePosition:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},disableOutsidePointerEvents:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]}},emits:[`closeAutoFocus`,`escapeKeyDown`,`pointerDownOutside`],setup(t,{emit:n}){let a=t,o=n,s=ge(Ae(a,`class`),o);return(n,o)=>(r(),m(D(gr),null,{default:i(()=>[d(D(lr),e({"data-slot":`select-content`,"data-align-trigger":t.position===`item-aligned`},{...n.$attrs,...D(s)},{class:D(we)(`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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 min-w-36 rounded-lg shadow-md ring-1 duration-100 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 cn-menu-translucent relative z-dropdown max-h-(--reka-select-content-available-height) origin-(--reka-select-content-transform-origin) overflow-x-hidden overflow-y-auto data-[align-trigger=true]:animate-none`,t.position===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,a.class)}),{default:i(()=>[d(D(Or)),d(D(Sr),{"data-position":t.position,class:x(D(we)(`data-[position=popper]:h-[var(--reka-select-trigger-height)] data-[position=popper]:w-full data-[position=popper]:min-w-[var(--reka-select-trigger-width)]`))},{default:i(()=>[P(n.$slots,`default`)]),_:3},8,[`data-position`,`class`]),d(D(Dr))]),_:3},16,[`data-align-trigger`,`class`])]),_:3}))}}),Tr={class:`pointer-events-none absolute right-2 flex size-4 items-center justify-center`},Er=t({__name:`SelectItem`,props:{value:{},disabled:{type:Boolean},textValue:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t,a=me(Ae(n,`class`));return(t,o)=>(r(),m(D(pr),e({"data-slot":`select-item`},D(a),{class:D(we)(`focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm [&_svg:not([class*=size-])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 relative flex w-full cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0`,n.class)}),{default:i(()=>[v(`span`,Tr,[d(D(mr),null,{default:i(()=>[P(t.$slots,`indicator-icon`,{},()=>[d(D(ae),{class:`pointer-events-none`})])]),_:3})]),d(D(hr),null,{default:i(()=>[P(t.$slots,`default`)]),_:3})]),_:3},16,[`class`]))}}),Dr=t({__name:`SelectScrollDownButton`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t,a=me(Ae(n,`class`));return(t,o)=>(r(),m(D(vr),e({"data-slot":`select-scroll-down-button`},D(a),{class:D(we)(`bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*=size-])]:size-4`,n.class)}),{default:i(()=>[P(t.$slots,`default`,{},()=>[d(D(Me))])]),_:3},16,[`class`]))}}),Or=t({__name:`SelectScrollUpButton`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t,a=me(Ae(n,`class`));return(t,o)=>(r(),m(D(yr),e({"data-slot":`select-scroll-up-button`},D(a),{class:D(we)(`bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*=size-])]:size-4`,n.class)}),{default:i(()=>[P(t.$slots,`default`,{},()=>[d(D(Ne))])]),_:3},16,[`class`]))}}),kr=t({__name:`SelectTrigger`,props:{disabled:{type:Boolean},reference:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},size:{default:`default`}},setup(t){let n=t,a=me(Ae(n,`class`,`size`));return(o,s)=>(r(),m(D(br),e({"data-slot":`select-trigger`,"data-size":t.size},D(a),{class:D(we)(`border-input data-placeholder:text-muted-foreground dark:bg-input/30 dark:hover:bg-input/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 gap-1.5 rounded-lg border bg-transparent py-2 pr-2 pl-2.5 text-sm transition-colors select-none focus-visible:ring-3 aria-invalid:ring-3 data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-md *:data-[slot=select-value]:gap-1.5 [&_svg:not([class*=size-])]:size-4 flex w-fit items-center justify-between whitespace-nowrap outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center [&_svg]:pointer-events-none [&_svg]:shrink-0`,n.class)}),{default:i(()=>[P(o.$slots,`default`),d(D(ur),{"as-child":``},{default:i(()=>[d(D(Me),{class:`text-muted-foreground size-4 pointer-events-none`})]),_:1})]),_:3},16,[`data-size`,`class`]))}}),Ar=t({__name:`SelectValue`,props:{placeholder:{},asChild:{type:Boolean},as:{}},setup(t){let n=t;return(t,a)=>(r(),m(D(xr),e({"data-slot":`select-value`},n),{default:i(()=>[P(t.$slots,`default`)]),_:3},16))}});export{Cr as a,wr as i,kr as n,Er as r,Ar as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{C as e,I as t,g as n,ht as r,pt as i,y as a,z as o}from"./client-BWw0R36V.js";import{r as s}from"./button-C4_mChkc.js";var c={"data-slot":`table-container`,class:`relative w-full overflow-x-auto`},l=e({__name:`Table`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let l=e;return(e,u)=>(t(),a(`div`,c,[n(`table`,{"data-slot":`table`,class:r(i(s)(`w-full caption-bottom text-sm`,l.class))},[o(e.$slots,`default`)],2)]))}}),u=e({__name:`TableBody`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,c)=>(t(),a(`tbody`,{"data-slot":`table-body`,class:r(i(s)(`[&_tr:last-child]:border-0`,n.class))},[o(e.$slots,`default`)],2))}}),d=e({__name:`TableCell`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,c)=>(t(),a(`td`,{"data-slot":`table-cell`,class:r(i(s)(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0`,n.class))},[o(e.$slots,`default`)],2))}}),f=e({__name:`TableRow`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,c)=>(t(),a(`tr`,{"data-slot":`table-row`,class:r(i(s)(`hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors has-aria-expanded:bg-muted/50`,n.class))},[o(e.$slots,`default`)],2))}}),p=e({__name:`TableHead`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,c)=>(t(),a(`th`,{"data-slot":`table-head`,class:r(i(s)(`text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0`,n.class))},[o(e.$slots,`default`)],2))}}),m=e({__name:`TableHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let n=e;return(e,c)=>(t(),a(`thead`,{"data-slot":`table-header`,class:r(i(s)(`[&_tr]:border-b`,n.class))},[o(e.$slots,`default`)],2))}});export{u as a,d as i,p as n,l as o,f as r,m as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,C as t,I as n,J as r,N as i,S as a,T as o,_ as s,at as c,gt as l,ht as u,j as d,pt as f,u as p,y as m,z as h}from"./client-BWw0R36V.js";import{C as g,g as _,i as v,p as y}from"./badge-_ZHrMEpC.js";import{r as b,t as x}from"./button-C4_mChkc.js";import{m as S,t as C}from"./useForwardExpose-B-xauF1X.js";import{c as w,d as T,f as E,l as D,p as O,u as k}from"./dialog-CUHMcTqp.js";var[A,j]=g(`AlertDialogContent`),M=t({__name:`AlertDialogContent`,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:i}){let a=t,o=_(i);C();let l=c();return j({onCancelElementChange:e=>{l.value=e}}),(t,i)=>(n(),s(f(T),e({...a,...f(o)},{role:`alertdialog`,onPointerDownOutside:i[0]||=p(()=>{},[`prevent`]),onInteractOutside:i[1]||=p(()=>{},[`prevent`]),onOpenAutoFocus:i[2]||=()=>{d(()=>{l.value?.focus({preventScroll:!0})})}}),{default:r(()=>[h(t.$slots,`default`)]),_:3},16))}}),N=t({__name:`AlertDialogCancel`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(t){let a=t,o=A(),{forwardRef:c,currentElement:l}=C();return i(()=>{o.onCancelElementChange(l.value)}),(t,i)=>(n(),s(f(E),e(a,{ref:f(c)}),{default:r(()=>[h(t.$slots,`default`)]),_:3},16))}}),P=t({__name:`AlertDialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;return C(),(e,i)=>(n(),s(f(k),l(o(t)),{default:r(()=>[h(e.$slots,`default`)]),_:3},16))}}),F=t({__name:`AlertDialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return C(),(e,i)=>(n(),s(f(D),l(o(t)),{default:r(()=>[h(e.$slots,`default`)]),_:3},16))}}),I=t({__name:`AlertDialogPortal`,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,i)=>(n(),s(f(v),l(o(t)),{default:r(()=>[h(e.$slots,`default`)]),_:3},16))}}),L=t({__name:`AlertDialogRoot`,props:{open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1}},emits:[`update:open`],setup(t,{emit:i}){let a=y(t,i);return C(),(t,i)=>(n(),s(f(O),e(f(a),{modal:!0}),{default:r(e=>[h(t.$slots,`default`,l(o(e)))]),_:3},16))}}),R=t({__name:`AlertDialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e;return C(),(e,i)=>(n(),s(f(w),l(o(t)),{default:r(()=>[h(e.$slots,`default`)]),_:3},16))}}),z=t({__name:`AlertDialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean}},emits:[`update:open`],setup(t,{emit:i}){let a=y(t,i);return(t,i)=>(n(),s(f(L),e({"data-slot":`alert-dialog`},f(a)),{default:r(e=>[h(t.$slots,`default`,l(o(e)))]),_:3},16))}}),B=t({__name:`AlertDialogCancel`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},variant:{default:`outline`},size:{default:`default`}},setup(t){let i=t,a=S(i,`class`,`variant`,`size`);return(o,c)=>(n(),s(f(N),e({"data-slot":`alert-dialog-cancel`},f(a),{class:f(b)(``,f(x)({variant:t.variant,size:t.size}),i.class)}),{default:r(()=>[h(o.$slots,`default`)]),_:3},16,[`class`]))}}),V=t({inheritAttrs:!1,__name:`AlertDialogContent`,props:{forceMount:{type:Boolean},disableOutsidePointerEvents:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},size:{default:`default`}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`openAutoFocus`,`closeAutoFocus`],setup(t,{emit:i}){let o=t,c=i,l=y(S(o,`class`,`size`),c);return(i,c)=>(n(),s(f(I),null,{default:r(()=>[a(f(F),{"data-slot":`alert-dialog-overlay`,class:`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 z-modal`}),a(f(M),e({"data-slot":`alert-dialog-content`,"data-size":t.size},{...i.$attrs,...f(l)},{class:f(b)(`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 bg-popover text-popover-foreground ring-foreground/10 gap-4 rounded-xl p-4 ring-1 duration-fast data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-sm group/alert-dialog-content fixed top-1/2 left-1/2 z-modal grid w-full -translate-x-1/2 -translate-y-1/2 outline-none`,o.class)}),{default:r(()=>[h(i.$slots,`default`)]),_:3},16,[`data-size`,`class`])]),_:3}))}}),H=t({__name:`AlertDialogDescription`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){let i=t,a=S(i,`class`);return(t,o)=>(n(),s(f(P),e({"data-slot":`alert-dialog-description`},f(a),{class:f(b)(`text-muted-foreground *:[a]:hover:text-foreground text-sm text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3`,i.class)}),{default:r(()=>[h(t.$slots,`default`)]),_:3},16,[`class`]))}}),U=t({__name:`AlertDialogFooter`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,r)=>(n(),m(`div`,{"data-slot":`alert-dialog-footer`,class:u(f(b)(`bg-muted/50 -mx-4 -mb-4 rounded-b-xl border-t p-4 flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end`,t.class))},[h(e.$slots,`default`)],2))}}),W=t({__name:`AlertDialogHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e;return(e,r)=>(n(),m(`div`,{"data-slot":`alert-dialog-header`,class:u(f(b)(`grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-4 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]`,t.class))},[h(e.$slots,`default`)],2))}}),G=t({__name:`AlertDialogTitle`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){let i=t,a=S(i,`class`);return(t,o)=>(n(),s(f(R),e({"data-slot":`alert-dialog-title`},f(a),{class:f(b)(`text-base font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2 cn-font-heading`,i.class)}),{default:r(()=>[h(t.$slots,`default`)]),_:3},16,[`class`]))}});export{V as a,H as i,W as n,B as o,U as r,z as s,G as t};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{A as e,C as t,D as n,E as r,G as i,I as a,J as o,K as s,L as c,P as l,U as u,_ as d,_t as f,at as p,dt as m,h,j as g,lt as _,mt as v,o as y,p as ee,pt as b,rt as x,tt as te,ut as ne,v as re,w as S,yt as ie,z as C}from"./client-BWw0R36V.js";import{r as ae}from"./lib-Qs8xoTas.js";import{a as w,i as T,o as oe,r as se,s as ce}from"./button-C4_mChkc.js";import{a as le,d as ue,f as E,g as de,i as D,m as fe,n as pe,o as me,p as O,r as he,t as k,u as ge}from"./useForwardExpose-B-xauF1X.js";var _e=ae(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]);function A(e){return typeof e==`string`?`'${e}'`:new ve().serialize(e)}var ve=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 ye(e,t){return e===t||A(e)===A(t)}function j(e,t){let r=typeof e==`string`&&!t?`${e}Context`:t,i=Symbol(r);return[t=>{let r=n(i,t);if(r||r===null)return r;throw Error(`Injection \`${i.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(`, `)}`:`\`${e}\``}`)},e=>(c(i,e),e)]}function M(){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 N(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 P(e){return e==null}var[F,be]=j(`ConfigProvider`);function I(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 L(e,t,n=`.`,r){if(!I(t))return L(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]]:I(a)&&I(i[t])?i[t]=L(a,i[t],(n?`${n}.`:``)+t.toString(),r):i[t]=a))}return i}function xe(e){return(...t)=>t.reduce((t,n)=>L(t,n,``,e),{})}var Se=xe(),Ce=ue(()=>{let e=p(new Map),t=p(),n=h(()=>{for(let t of e.value.values())if(t)return!0;return!1}),r=F({scrollBody:p(!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??``,O&&a?.(),t.value=void 0};return i(n,(e,i)=>{if(!E)return;if(!e){i&&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=r.scrollBody?.value?typeof r.scrollBody.value==`object`?Se({padding:r.scrollBody.value.padding===!0?s:r.scrollBody.value.padding,margin:r.scrollBody.value.margin===!0?s:r.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`),O&&(a=le(document,`touchmove`,e=>Te(e),{passive:!1})),g(()=>{n.value&&(document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`)})},{immediate:!0,flush:`sync`}),e});function we(e){let t=Math.random().toString(36).substring(2,7),n=Ce();n.value.set(t,e??!1);let r=h({get:()=>n.value.get(t)??!1,set:e=>n.value.set(t,e)});return de(()=>{n.value.delete(t)}),r}function R(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:R(t)}}function Te(e){let t=e||window.event,n=t.target;return n instanceof Element&&R(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function Ee(e){let t=F({dir:p(`ltr`)});return h(()=>e?.value||t.dir?.value||`ltr`)}function z(e){let t=S(),n=t?.type.emits,r={};return n?.length||console.warn(`No emitted event found. Please check component: ${t?.type.__name}`),n?.forEach(t=>{r[ie(v(t))]=(...n)=>e(t,...n)}),r}function De(e){return h(()=>m(e)?!!D(e)?.closest(`form`):!0)}function B(e){let t=S(),n=Object.keys(t?.type.props??{}).reduce((e,n)=>{let r=(t?.type.props[n]).default;return r!==void 0&&(e[n]=r),e},{}),r=_(e);return h(()=>{let e={},i=t?.vnode.props??{};return Object.keys(i).forEach(t=>{e[v(t)]=i[t]}),Object.keys({...n,...e}).reduce((e,t)=>(r.value[t]!==void 0&&(e[t]=r.value[t]),e),{})})}function Oe(e,t){let n=B(e),r=t?z(t):{};return h(()=>({...n.value,...r}))}var ke=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},V=new WeakMap,H=new WeakMap,U={},W=0,G=function(e){return e&&(e.host||G(e.parentNode))},Ae=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=G(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})},je=function(e,t,n,r){var i=Ae(t,Array.isArray(e)?e:[e]);U[n]||(U[n]=new WeakMap);var a=U[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=(V.get(e)||0)+1,l=(a.get(e)||0)+1;V.set(e,c),a.set(e,l),o.push(e),c===1&&i&&H.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(),W++,function(){o.forEach(function(e){var t=V.get(e)-1,i=a.get(e)-1;V.set(e,t),a.set(e,i),t||(H.has(e)||e.removeAttribute(r),H.delete(e)),i||e.removeAttribute(n)}),W--,W||(V=new WeakMap,V=new WeakMap,H=new WeakMap,U={})}},Me=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||ke(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),je(r,i,n,`aria-hidden`)):function(){return null}};function Ne(e){let t;i(()=>D(e),e=>{let n=!1;try{n=!!e?.closest(`[popover]:not(:popover-open)`)}catch{}e&&!n?t=Me(e):t&&t()}),l(()=>{t&&t()})}var Pe=0;function Fe(e,t=`reka`){if(e)return e;let n;return n=`useId`in y?u?.():F({useId:void 0}).useId?.()??`${++Pe}`,t?`${t}-${n}`:n}function Ie(e,t){let n=p(e);function r(e){return t[n.value][e]??n.value}return{state:n,dispatch:e=>{n.value=r(e)}}}function Le(e,t){let n=p({}),r=p(`none`),a=p(e),o=e.value?`mounted`:`unmounted`,s,c=t.value?.ownerDocument.defaultView??pe,{state:u,dispatch:d}=Ie(o,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),f=e=>{if(E){let n=new CustomEvent(e,{bubbles:!1,cancelable:!1});t.value?.dispatchEvent(n)}};i(e,async(e,i)=>{let a=i!==e;if(await g(),a){let a=r.value,o=K(t.value);e?(d(`MOUNT`),f(`enter`),o===`none`&&f(`after-enter`)):o===`none`||o===`undefined`||n.value?.display===`none`?(d(`UNMOUNT`),f(`leave`),f(`after-leave`)):i&&a!==o?(d(`ANIMATION_OUT`),f(`leave`)):(d(`UNMOUNT`),f(`after-leave`))}},{immediate:!0});let m=e=>{let n=K(t.value),r=n.includes(CSS.escape(e.animationName)),i=u.value===`mounted`?`enter`:`leave`;if(e.target===t.value&&r&&(f(`after-${i}`),d(`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`&&d(`ANIMATION_END`)},_=e=>{e.target===t.value&&(r.value=K(t.value))},v=i(t,(e,t)=>{e?(n.value=getComputedStyle(e),e.addEventListener(`animationstart`,_),e.addEventListener(`animationcancel`,m),e.addEventListener(`animationend`,m)):(d(`ANIMATION_END`),s!==void 0&&c?.clearTimeout(s),t?.removeEventListener(`animationstart`,_),t?.removeEventListener(`animationcancel`,m),t?.removeEventListener(`animationend`,m))},{immediate:!0}),y=i(u,()=>{let e=K(t.value);r.value=u.value===`mounted`?e:`none`});return l(()=>{v(),y()}),{isPresent:h(()=>[`mounted`,`unmountSuspended`].includes(u.value))}}function K(e){return e&&getComputedStyle(e).animationName||`none`}var Re=t({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:t,expose:n}){let{present:i,forceMount:a}=ne(e),o=p(),{isPresent:s}=Le(i,o);n({present:s});let c=t.default({present:s.value});c=oe(c||[]);let l=S();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?r(t.default({present:s.value})[0],{ref:e=>{let t=D(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=p();return{primitiveElement:e,currentElement:h(()=>[`#text`,`#comment`].includes(e.value?.$el.nodeName)?e.value?.$el.nextElementSibling:D(e))}}var ze=`dismissableLayer.pointerDownOutside`,Be=`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 Ve(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=p(!1),a=p(()=>{});return s(o=>{if(!E||!m(n))return;let s=async n=>{let o=n.target;if(!(!t?.value||!o)){if(J(t.value,o)){i.value=!1;return}if(n.target&&!i.value){let t={originalEvent:n};function i(){N(ze,e,t)}n.pointerType===`touch`?(r.removeEventListener(`click`,a.value),a.value=i,r.addEventListener(`click`,a.value,{once:!0})):i()}else r.removeEventListener(`click`,a.value);i.value=!1}},c=window.setTimeout(()=>{r.addEventListener(`pointerdown`,s)},0);o(()=>{window.clearTimeout(c),r.removeEventListener(`pointerdown`,s),r.removeEventListener(`click`,a.value)})}),{onPointerDownCapture:()=>{m(n)&&(i.value=!0)}}}function He(e,t,n=!0){let r=t?.value?.ownerDocument??globalThis?.document,i=p(!1);return s(a=>{if(!E||!m(n))return;let o=async n=>{if(!t?.value)return;await g(),await g();let r=n.target;!t.value||!r||J(t.value,r)||n.target&&!i.value&&N(Be,e,{originalEvent:n})};r.addEventListener(`focusin`,o),a(()=>r.removeEventListener(`focusin`,o))}),{onFocusCapture:()=>{m(n)&&(i.value=!0)},onBlurCapture:()=>{m(n)&&(i.value=!1)}}}var Y=x({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set}),Ue=t({__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:c}=k(),l=h(()=>c.value?.ownerDocument??globalThis.document),u=h(()=>Y.layersRoot),p=h(()=>c.value?Array.from(u.value).indexOf(c.value):-1),m=h(()=>Y.layersWithOutsidePointerEventsDisabled.size>0),_=h(()=>{let e=Array.from(u.value),[t]=[...Y.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return p.value>=n}),v=Ve(async e=>{let t=[...Y.branches].some(t=>t?.contains(e.target));!_.value||t||(r(`pointerDownOutside`,e),r(`interactOutside`,e),await g(),e.defaultPrevented||r(`dismiss`))},c),y=He(e=>{[...Y.branches].some(t=>t?.contains(e.target))||(r(`focusOutside`,e),r(`interactOutside`,e),e.defaultPrevented||r(`dismiss`))},c);return he(`Escape`,e=>{p.value===u.value.size-1&&(r(`escapeKeyDown`,e),e.defaultPrevented||r(`dismiss`))}),s(e=>{c.value&&(n.disableOutsidePointerEvents&&(Y.layersWithOutsidePointerEventsDisabled.size===0&&(Y.originalBodyPointerEvents=l.value.body.style.pointerEvents,l.value.body.style.pointerEvents=`none`),Y.layersWithOutsidePointerEventsDisabled.add(c.value)),u.value.add(c.value),e(()=>{n.disableOutsidePointerEvents&&Y.layersWithOutsidePointerEventsDisabled.size===1&&!P(Y.originalBodyPointerEvents)&&(l.value.body.style.pointerEvents=Y.originalBodyPointerEvents)}))}),s(e=>{e(()=>{c.value&&(u.value.delete(c.value),Y.layersWithOutsidePointerEventsDisabled.delete(c.value))})}),(e,t)=>(a(),d(b(T),{ref:b(i),"as-child":e.asChild,as:e.as,"data-dismissable-layer":``,style:f({pointerEvents:m.value?_.value?`auto`:`none`:void 0}),onFocusCapture:b(y).onFocusCapture,onBlurCapture:b(y).onBlurCapture,onPointerdownCapture:b(v).onPointerDownCapture},{default:o(()=>[C(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`style`,`onFocusCapture`,`onBlurCapture`,`onPointerdownCapture`]))}}),We=ge(()=>p([]));function Ge(){let e=We();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=Ke(e.value,t),e.value.unshift(t)},remove(t){e.value=Ke(e.value,t),e.value[0]?.resume()}}}function Ke(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}var X=`focusScope.autoFocusOnMount`,Z=`focusScope.autoFocusOnUnmount`,qe={bubbles:!1,cancelable:!0};function Je(e,{select:t=!1}={}){let n=M();for(let r of e)if($(r,{select:t}),M()!==n)return!0}function Ye(e){let t=Q(e);return[Xe(t,e),Xe(t.reverse(),e)]}function Q(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 Xe(e,t){for(let n of e)if(!Ze(n,{upTo:t}))return n}function Ze(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 Qe(e){return e instanceof HTMLInputElement&&`select`in e}function $(e,{select:t=!1}={}){if(e&&e.focus){let n=M();e.focus({preventScroll:!0}),e!==n&&Qe(e)&&t&&e.select()}}var $e=t({__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,r=t,{currentRef:i,currentElement:c}=k(),l=p(null),u=Ge(),f=x({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});s(e=>{if(!E)return;let t=c.value;if(!n.trapped)return;function r(e){if(f.paused||!t)return;let n=e.target;t.contains(n)?l.value=n:$(l.value,{select:!0})}function i(e){if(f.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||$(l.value,{select:!0}))}function a(e){let n=l.value;n!==null&&e.some(e=>e.removedNodes.length>0)&&(t.contains(n)||$(t))}document.addEventListener(`focusin`,r),document.addEventListener(`focusout`,i);let o=new MutationObserver(a);t&&o.observe(t,{childList:!0,subtree:!0}),e(()=>{document.removeEventListener(`focusin`,r),document.removeEventListener(`focusout`,i),o.disconnect()})}),s(async e=>{let t=c.value;if(await g(),!t)return;u.add(f);let n=M();if(!t.contains(n)){let e=new CustomEvent(X,qe);t.addEventListener(X,e=>r(`mountAutoFocus`,e)),t.dispatchEvent(e),e.defaultPrevented||(Je(Q(t),{select:!0}),M()===n&&$(t))}e(()=>{t.removeEventListener(X,e=>r(`mountAutoFocus`,e));let e=new CustomEvent(Z,qe),i=e=>{r(`unmountAutoFocus`,e)};t.addEventListener(Z,i),t.dispatchEvent(e),setTimeout(()=>{e.defaultPrevented||$(n??document.body,{select:!0}),t.removeEventListener(Z,i),u.remove(f)},0)})});function m(e){if(!n.loop&&!n.trapped||f.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=M();if(t&&r){let t=e.currentTarget,[i,a]=Ye(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)=>(a(),d(b(T),{ref_key:`currentRef`,ref:i,tabindex:`-1`,"as-child":e.asChild,as:e.as,onKeydown:m},{default:o(()=>[C(e.$slots,`default`)]),_:3},8,[`as-child`,`as`]))}}),et=[`Enter`,` `],tt=[`ArrowDown`,`PageUp`,`Home`],nt=[`ArrowUp`,`PageDown`,`End`];[...tt,...nt],[...et],[...et];function rt(e){return e?`open`:`closed`}function it(e){let t=M();for(let n of e)if(n===t||(n.focus(),M()!==t))return}var at=t({__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=me();return(e,n)=>b(t)||e.forceMount?(a(),d(ee,{key:0,to:e.to,disabled:e.disabled,defer:e.defer},[C(e.$slots,`default`)],8,[`to`,`disabled`,`defer`])):re(`v-if`,!0)}}),ot=`data-reka-collection-item`;function st(e={}){let{key:a=``,isProvider:o=!1}=e,l=`${a}CollectionProvider`,u;if(o){let e=p(new Map);u={collectionRef:p(),itemMap:e},c(l,u)}else u=n(l);let d=(e=!1)=>{let t=u.collectionRef.value;if(!t)return[];let n=Array.from(t.querySelectorAll(`[${ot}]`)),r=Array.from(u.itemMap.value.values()).sort((e,t)=>n.indexOf(e.ref)-n.indexOf(t.ref));return e?r:r.filter(e=>e.ref.dataset.disabled!==``)},f=t({name:`CollectionSlot`,inheritAttrs:!1,setup(e,{slots:t,attrs:n}){let{primitiveElement:a,currentElement:o}=q();return i(o,()=>{u.collectionRef.value=o.value}),()=>r(w,{ref:a,...n},t)}}),m=t({name:`CollectionItem`,inheritAttrs:!1,props:{value:{validator:()=>!0}},setup(e,{slots:t,attrs:n}){let{primitiveElement:i,currentElement:a}=q();return s(t=>{if(a.value){let n=te(a.value);u.itemMap.value.set(n,{ref:a.value,value:e.value}),t(()=>u.itemMap.value.delete(n))}}),()=>r(w,{...n,[ot]:``,ref:i},t)}});return{getItems:d,reactiveItems:h(()=>Array.from(u.itemMap.value.values())),itemMapSize:h(()=>u.itemMap.value.size),CollectionSlot:f,CollectionItem:m}}var ct=t({__name:`VisuallyHidden`,props:{feature:{type:String,required:!1,default:`focusable`},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){return(e,t)=>(a(),d(b(T),{as:e.as,"as-child":e.asChild,"aria-hidden":e.feature===`focusable`?`true`:void 0,"data-hidden":e.feature===`fully-hidden`?``:void 0,tabindex:e.feature===`fully-hidden`?`-1`:void 0,style:{position:`absolute`,border:0,width:`1px`,height:`1px`,padding:0,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`,wordWrap:`normal`,top:`-1px`,left:`-1px`}},{default:o(()=>[C(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}}),lt=t({__name:`Badge`,props:{asChild:{type:Boolean},as:{},variant:{},class:{type:[Boolean,null,String,Object,Array]}},setup(t){let n=t,r=fe(n,`class`);return(i,s)=>(a(),d(b(T),e({"data-slot":`badge`,"data-variant":t.variant,class:b(se)(b(ut)({variant:t.variant}),n.class)},b(r)),{default:o(()=>[C(i.$slots,`default`)]),_:3},16,[`data-variant`,`class`]))}}),ut=ce(`h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-3! group/badge inline-flex w-fit shrink-0 items-center justify-center overflow-hidden whitespace-nowrap focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none`,{variants:{variant:{default:`bg-primary text-primary-foreground [a]:hover:bg-primary/80`,secondary:`bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80`,destructive:`bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20`,outline:`border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground`,ghost:`hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50`,link:`text-primary underline-offset-4 hover:underline`}},defaultVariants:{variant:`default`}});export{j as C,M as S,_e as T,Ee as _,it as a,P as b,Ue as c,Fe as d,Ne as f,z as g,De as h,at as i,q as l,B as m,ct as n,rt as o,Oe as p,st as r,$e as s,lt as t,Re as u,we as v,ye as w,N as x,F as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,C as t,E as n,I as r,J as i,_ as a,d as o,f as s,ht as c,m as l,pt as u,z as ee}from"./client-BWw0R36V.js";function d(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`)if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=d(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n);return r}function f(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=d(e))&&(r&&(r+=` `),r+=t);return r}var p=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,m=f,h=(e,t)=>n=>{if(t?.variants==null)return m(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=p(t)||p(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return m(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)};function g(e){return e?e.flatMap(e=>e.type===s?g(e.children):[e]):[]}var _=t({name:`PrimitiveSlot`,inheritAttrs:!1,setup(t,{attrs:n,slots:r}){return()=>{if(!r.default)return null;let t=g(r.default()),i=t.findIndex(e=>e.type!==o);if(i===-1)return t;let a=t[i];delete a.props?.ref;let s=a.props?e(n,a.props):n,c=l({...a,props:{}},s);return t.length===1?c:(t[i]=c,t)}}}),v=[`area`,`img`,`input`],y=t({name:`Primitive`,inheritAttrs:!1,props:{asChild:{type:Boolean,default:!1},as:{type:[String,Object],default:`div`}},setup(e,{attrs:t,slots:r}){let i=e.asChild?`template`:e.as;return typeof i==`string`&&v.includes(i)?()=>n(i,t):i===`template`?()=>n(_,t,{default:r.default}):()=>n(e.as,t,{default:r.default})}}),b=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},te=(e,t)=>({classGroupId:e,validator:t}),x=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),S=`-`,C=[],ne=`arbitrary..`,re=e=>{let t=T(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return ie(e);let n=e.split(S);return w(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?b(i,t):t:i||C}return n[e]||C}}},w=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=w(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(S):e.slice(t).join(S),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},ie=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?ne+r:void 0})(),T=e=>{let{theme:t,classGroups:n}=e;return E(n,t)},E=(e,t)=>{let n=x();for(let r in e){let i=e[r];D(i,n,r,t)}return n},D=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];O(i,t,n,r)}},O=(e,t,n,r)=>{if(typeof e==`string`){k(e,t,n);return}if(typeof e==`function`){A(e,t,n,r);return}j(e,t,n,r)},k=(e,t,n)=>{let r=e===``?t:M(t,e);r.classGroupId=n},A=(e,t,n,r)=>{if(ae(e)){D(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(te(n,e))},j=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];D(o,M(t,a),n,r)}},M=(e,t)=>{let n=e,r=t.split(S),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=x(),n.nextPart.set(t,i)),n=i}return n},ae=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,oe=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},N=`!`,P=`:`,F=[],I=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),se=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===P){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(N)?(c=s.slice(0,-1),l=!0):s.startsWith(N)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return I(t,l,c,u)};if(t){let e=t+P,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):I(F,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},L=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},ce=e=>({cache:oe(e.cacheSize),parseClassName:se(e),sortModifiers:L(e),...re(e)}),R=/\s+/,z=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a}=t,o=[],s=e.trim().split(R),c=``;for(let e=s.length-1;e>=0;--e){let t=s[e],{isExternal:l,modifiers:u,hasImportantModifier:ee,baseClassName:d,maybePostfixModifierPosition:f}=n(t);if(l){c=t+(c.length>0?` `+c:c);continue}let p=!!f,m=r(p?d.substring(0,f):d);if(!m){if(!p){c=t+(c.length>0?` `+c:c);continue}if(m=r(d),!m){c=t+(c.length>0?` `+c:c);continue}p=!1}let h=u.length===0?``:u.length===1?u[0]:a(u).join(`:`),g=ee?h+N:h,_=g+m;if(o.indexOf(_)>-1)continue;o.push(_);let v=i(m,p);for(let e=0;e<v.length;++e){let t=v[e];o.push(g+t)}c=t+(c.length>0?` `+c:c)}return c},B=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=V(n))&&(i&&(i+=` `),i+=r);return i},V=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=V(e[r]))&&(n&&(n+=` `),n+=t);return n},le=(e,...t)=>{let n,r,i,a,o=o=>(n=ce(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=z(e,n);return i(e,a),a};return a=o,(...e)=>a(B(...e))},ue=[],H=e=>{let t=t=>t[e]||ue;return t.isThemeGetter=!0,t},de=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,fe=/^\((?:(\w[\w-]*):)?(.+)\)$/i,pe=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,me=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,he=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,ge=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,_e=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,ve=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,U=e=>pe.test(e),W=e=>!!e&&!Number.isNaN(Number(e)),G=e=>!!e&&Number.isInteger(Number(e)),ye=e=>e.endsWith(`%`)&&W(e.slice(0,-1)),K=e=>me.test(e),be=()=>!0,xe=e=>he.test(e)&&!ge.test(e),Se=()=>!1,Ce=e=>_e.test(e),we=e=>ve.test(e),Te=e=>!q(e)&&!X(e),Ee=e=>Q(e,Be,Se),q=e=>de.test(e),J=e=>Q(e,Ve,xe),De=e=>Q(e,He,W),Oe=e=>Q(e,We,be),ke=e=>Q(e,Ue,Se),Ae=e=>Q(e,Re,Se),je=e=>Q(e,ze,we),Y=e=>Q(e,Ge,Ce),X=e=>fe.test(e),Z=e=>$(e,Ve),Me=e=>$(e,Ue),Ne=e=>$(e,Re),Pe=e=>$(e,Be),Fe=e=>$(e,ze),Ie=e=>$(e,Ge,!0),Le=e=>$(e,We,!0),Q=(e,t,n)=>{let r=de.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},$=(e,t,n=!1)=>{let r=fe.exec(e);return r?r[1]?t(r[1]):n:!1},Re=e=>e===`position`||e===`percentage`,ze=e=>e===`image`||e===`url`,Be=e=>e===`length`||e===`size`||e===`bg-size`,Ve=e=>e===`length`,He=e=>e===`number`,Ue=e=>e===`family-name`,We=e=>e===`number`||e===`weight`,Ge=e=>e===`shadow`,Ke=le(()=>{let e=H(`color`),t=H(`font`),n=H(`text`),r=H(`font-weight`),i=H(`tracking`),a=H(`leading`),o=H(`breakpoint`),s=H(`container`),c=H(`spacing`),l=H(`radius`),u=H(`shadow`),ee=H(`inset-shadow`),d=H(`text-shadow`),f=H(`drop-shadow`),p=H(`blur`),m=H(`perspective`),h=H(`aspect`),g=H(`ease`),_=H(`animate`),v=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],y=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],b=()=>[...y(),X,q],te=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],x=()=>[`auto`,`contain`,`none`],S=()=>[X,q,c],C=()=>[U,`full`,`auto`,...S()],ne=()=>[G,`none`,`subgrid`,X,q],re=()=>[`auto`,{span:[`full`,G,X,q]},G,X,q],w=()=>[G,`auto`,X,q],ie=()=>[`auto`,`min`,`max`,`fr`,X,q],T=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],E=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],D=()=>[`auto`,...S()],O=()=>[U,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...S()],k=()=>[U,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...S()],A=()=>[U,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...S()],j=()=>[e,X,q],M=()=>[...y(),Ne,Ae,{position:[X,q]}],ae=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],oe=()=>[`auto`,`cover`,`contain`,Pe,Ee,{size:[X,q]}],N=()=>[ye,Z,J],P=()=>[``,`none`,`full`,l,X,q],F=()=>[``,W,Z,J],I=()=>[`solid`,`dashed`,`dotted`,`double`],se=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],L=()=>[W,ye,Ne,Ae],ce=()=>[``,`none`,p,X,q],R=()=>[`none`,W,X,q],z=()=>[`none`,W,X,q],B=()=>[W,X,q],V=()=>[U,`full`,...S()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[K],breakpoint:[K],color:[be],container:[K],"drop-shadow":[K],ease:[`in`,`out`,`in-out`],font:[Te],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[K],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[K],shadow:[K],spacing:[`px`,W],text:[K],"text-shadow":[K],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,U,q,X,h]}],container:[`container`],columns:[{columns:[W,q,X,s]}],"break-after":[{"break-after":v()}],"break-before":[{"break-before":v()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:b()}],overflow:[{overflow:te()}],"overflow-x":[{"overflow-x":te()}],"overflow-y":[{"overflow-y":te()}],overscroll:[{overscroll:x()}],"overscroll-x":[{"overscroll-x":x()}],"overscroll-y":[{"overscroll-y":x()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:C()}],"inset-x":[{"inset-x":C()}],"inset-y":[{"inset-y":C()}],start:[{"inset-s":C(),start:C()}],end:[{"inset-e":C(),end:C()}],"inset-bs":[{"inset-bs":C()}],"inset-be":[{"inset-be":C()}],top:[{top:C()}],right:[{right:C()}],bottom:[{bottom:C()}],left:[{left:C()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[G,`auto`,X,q]}],basis:[{basis:[U,`full`,`auto`,s,...S()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[W,U,`auto`,`initial`,`none`,q]}],grow:[{grow:[``,W,X,q]}],shrink:[{shrink:[``,W,X,q]}],order:[{order:[G,`first`,`last`,`none`,X,q]}],"grid-cols":[{"grid-cols":ne()}],"col-start-end":[{col:re()}],"col-start":[{"col-start":w()}],"col-end":[{"col-end":w()}],"grid-rows":[{"grid-rows":ne()}],"row-start-end":[{row:re()}],"row-start":[{"row-start":w()}],"row-end":[{"row-end":w()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":ie()}],"auto-rows":[{"auto-rows":ie()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...T(),`normal`]}],"justify-items":[{"justify-items":[...E(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...E()]}],"align-content":[{content:[`normal`,...T()]}],"align-items":[{items:[...E(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...E(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":T()}],"place-items":[{"place-items":[...E(),`baseline`]}],"place-self":[{"place-self":[`auto`,...E()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pbs:[{pbs:S()}],pbe:[{pbe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:D()}],mx:[{mx:D()}],my:[{my:D()}],ms:[{ms:D()}],me:[{me:D()}],mbs:[{mbs:D()}],mbe:[{mbe:D()}],mt:[{mt:D()}],mr:[{mr:D()}],mb:[{mb:D()}],ml:[{ml:D()}],"space-x":[{"space-x":S()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":S()}],"space-y-reverse":[`space-y-reverse`],size:[{size:O()}],"inline-size":[{inline:[`auto`,...k()]}],"min-inline-size":[{"min-inline":[`auto`,...k()]}],"max-inline-size":[{"max-inline":[`none`,...k()]}],"block-size":[{block:[`auto`,...A()]}],"min-block-size":[{"min-block":[`auto`,...A()]}],"max-block-size":[{"max-block":[`none`,...A()]}],w:[{w:[s,`screen`,...O()]}],"min-w":[{"min-w":[s,`screen`,`none`,...O()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...O()]}],h:[{h:[`screen`,`lh`,...O()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...O()]}],"max-h":[{"max-h":[`screen`,`lh`,...O()]}],"font-size":[{text:[`base`,n,Z,J]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,Le,Oe]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,ye,q]}],"font-family":[{font:[Me,ke,t]}],"font-features":[{"font-features":[q]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,X,q]}],"line-clamp":[{"line-clamp":[W,`none`,X,De]}],leading:[{leading:[a,...S()]}],"list-image":[{"list-image":[`none`,X,q]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,X,q]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:j()}],"text-color":[{text:j()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...I(),`wavy`]}],"text-decoration-thickness":[{decoration:[W,`from-font`,`auto`,X,J]}],"text-decoration-color":[{decoration:j()}],"underline-offset":[{"underline-offset":[W,`auto`,X,q]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:S()}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,X,q]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,X,q]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:M()}],"bg-repeat":[{bg:ae()}],"bg-size":[{bg:oe()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},G,X,q],radial:[``,X,q],conic:[G,X,q]},Fe,je]}],"bg-color":[{bg:j()}],"gradient-from-pos":[{from:N()}],"gradient-via-pos":[{via:N()}],"gradient-to-pos":[{to:N()}],"gradient-from":[{from:j()}],"gradient-via":[{via:j()}],"gradient-to":[{to:j()}],rounded:[{rounded:P()}],"rounded-s":[{"rounded-s":P()}],"rounded-e":[{"rounded-e":P()}],"rounded-t":[{"rounded-t":P()}],"rounded-r":[{"rounded-r":P()}],"rounded-b":[{"rounded-b":P()}],"rounded-l":[{"rounded-l":P()}],"rounded-ss":[{"rounded-ss":P()}],"rounded-se":[{"rounded-se":P()}],"rounded-ee":[{"rounded-ee":P()}],"rounded-es":[{"rounded-es":P()}],"rounded-tl":[{"rounded-tl":P()}],"rounded-tr":[{"rounded-tr":P()}],"rounded-br":[{"rounded-br":P()}],"rounded-bl":[{"rounded-bl":P()}],"border-w":[{border:F()}],"border-w-x":[{"border-x":F()}],"border-w-y":[{"border-y":F()}],"border-w-s":[{"border-s":F()}],"border-w-e":[{"border-e":F()}],"border-w-bs":[{"border-bs":F()}],"border-w-be":[{"border-be":F()}],"border-w-t":[{"border-t":F()}],"border-w-r":[{"border-r":F()}],"border-w-b":[{"border-b":F()}],"border-w-l":[{"border-l":F()}],"divide-x":[{"divide-x":F()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":F()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...I(),`hidden`,`none`]}],"divide-style":[{divide:[...I(),`hidden`,`none`]}],"border-color":[{border:j()}],"border-color-x":[{"border-x":j()}],"border-color-y":[{"border-y":j()}],"border-color-s":[{"border-s":j()}],"border-color-e":[{"border-e":j()}],"border-color-bs":[{"border-bs":j()}],"border-color-be":[{"border-be":j()}],"border-color-t":[{"border-t":j()}],"border-color-r":[{"border-r":j()}],"border-color-b":[{"border-b":j()}],"border-color-l":[{"border-l":j()}],"divide-color":[{divide:j()}],"outline-style":[{outline:[...I(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[W,X,q]}],"outline-w":[{outline:[``,W,Z,J]}],"outline-color":[{outline:j()}],shadow:[{shadow:[``,`none`,u,Ie,Y]}],"shadow-color":[{shadow:j()}],"inset-shadow":[{"inset-shadow":[`none`,ee,Ie,Y]}],"inset-shadow-color":[{"inset-shadow":j()}],"ring-w":[{ring:F()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:j()}],"ring-offset-w":[{"ring-offset":[W,J]}],"ring-offset-color":[{"ring-offset":j()}],"inset-ring-w":[{"inset-ring":F()}],"inset-ring-color":[{"inset-ring":j()}],"text-shadow":[{"text-shadow":[`none`,d,Ie,Y]}],"text-shadow-color":[{"text-shadow":j()}],opacity:[{opacity:[W,X,q]}],"mix-blend":[{"mix-blend":[...se(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":se()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[W]}],"mask-image-linear-from-pos":[{"mask-linear-from":L()}],"mask-image-linear-to-pos":[{"mask-linear-to":L()}],"mask-image-linear-from-color":[{"mask-linear-from":j()}],"mask-image-linear-to-color":[{"mask-linear-to":j()}],"mask-image-t-from-pos":[{"mask-t-from":L()}],"mask-image-t-to-pos":[{"mask-t-to":L()}],"mask-image-t-from-color":[{"mask-t-from":j()}],"mask-image-t-to-color":[{"mask-t-to":j()}],"mask-image-r-from-pos":[{"mask-r-from":L()}],"mask-image-r-to-pos":[{"mask-r-to":L()}],"mask-image-r-from-color":[{"mask-r-from":j()}],"mask-image-r-to-color":[{"mask-r-to":j()}],"mask-image-b-from-pos":[{"mask-b-from":L()}],"mask-image-b-to-pos":[{"mask-b-to":L()}],"mask-image-b-from-color":[{"mask-b-from":j()}],"mask-image-b-to-color":[{"mask-b-to":j()}],"mask-image-l-from-pos":[{"mask-l-from":L()}],"mask-image-l-to-pos":[{"mask-l-to":L()}],"mask-image-l-from-color":[{"mask-l-from":j()}],"mask-image-l-to-color":[{"mask-l-to":j()}],"mask-image-x-from-pos":[{"mask-x-from":L()}],"mask-image-x-to-pos":[{"mask-x-to":L()}],"mask-image-x-from-color":[{"mask-x-from":j()}],"mask-image-x-to-color":[{"mask-x-to":j()}],"mask-image-y-from-pos":[{"mask-y-from":L()}],"mask-image-y-to-pos":[{"mask-y-to":L()}],"mask-image-y-from-color":[{"mask-y-from":j()}],"mask-image-y-to-color":[{"mask-y-to":j()}],"mask-image-radial":[{"mask-radial":[X,q]}],"mask-image-radial-from-pos":[{"mask-radial-from":L()}],"mask-image-radial-to-pos":[{"mask-radial-to":L()}],"mask-image-radial-from-color":[{"mask-radial-from":j()}],"mask-image-radial-to-color":[{"mask-radial-to":j()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":y()}],"mask-image-conic-pos":[{"mask-conic":[W]}],"mask-image-conic-from-pos":[{"mask-conic-from":L()}],"mask-image-conic-to-pos":[{"mask-conic-to":L()}],"mask-image-conic-from-color":[{"mask-conic-from":j()}],"mask-image-conic-to-color":[{"mask-conic-to":j()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:M()}],"mask-repeat":[{mask:ae()}],"mask-size":[{mask:oe()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,X,q]}],filter:[{filter:[``,`none`,X,q]}],blur:[{blur:ce()}],brightness:[{brightness:[W,X,q]}],contrast:[{contrast:[W,X,q]}],"drop-shadow":[{"drop-shadow":[``,`none`,f,Ie,Y]}],"drop-shadow-color":[{"drop-shadow":j()}],grayscale:[{grayscale:[``,W,X,q]}],"hue-rotate":[{"hue-rotate":[W,X,q]}],invert:[{invert:[``,W,X,q]}],saturate:[{saturate:[W,X,q]}],sepia:[{sepia:[``,W,X,q]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,X,q]}],"backdrop-blur":[{"backdrop-blur":ce()}],"backdrop-brightness":[{"backdrop-brightness":[W,X,q]}],"backdrop-contrast":[{"backdrop-contrast":[W,X,q]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,W,X,q]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[W,X,q]}],"backdrop-invert":[{"backdrop-invert":[``,W,X,q]}],"backdrop-opacity":[{"backdrop-opacity":[W,X,q]}],"backdrop-saturate":[{"backdrop-saturate":[W,X,q]}],"backdrop-sepia":[{"backdrop-sepia":[``,W,X,q]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,X,q]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[W,`initial`,X,q]}],ease:[{ease:[`linear`,`initial`,g,X,q]}],delay:[{delay:[W,X,q]}],animate:[{animate:[`none`,_,X,q]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[m,X,q]}],"perspective-origin":[{"perspective-origin":b()}],rotate:[{rotate:R()}],"rotate-x":[{"rotate-x":R()}],"rotate-y":[{"rotate-y":R()}],"rotate-z":[{"rotate-z":R()}],scale:[{scale:z()}],"scale-x":[{"scale-x":z()}],"scale-y":[{"scale-y":z()}],"scale-z":[{"scale-z":z()}],"scale-3d":[`scale-3d`],skew:[{skew:B()}],"skew-x":[{"skew-x":B()}],"skew-y":[{"skew-y":B()}],transform:[{transform:[X,q,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:b()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:V()}],"translate-x":[{"translate-x":V()}],"translate-y":[{"translate-y":V()}],"translate-z":[{"translate-z":V()}],"translate-none":[`translate-none`],accent:[{accent:j()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:j()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,X,q]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mbs":[{"scroll-mbs":S()}],"scroll-mbe":[{"scroll-mbe":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pbs":[{"scroll-pbs":S()}],"scroll-pbe":[{"scroll-pbe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,X,q]}],fill:[{fill:[`none`,...j()]}],"stroke-w":[{stroke:[W,Z,J,De]}],stroke:[{stroke:[`none`,...j()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function qe(...e){return Ke(f(e))}var Je=t({__name:`Button`,props:{variant:{},size:{},class:{type:[Boolean,null,String,Object,Array]},asChild:{type:Boolean},as:{default:`button`}},setup(e){let t=e;return(n,o)=>(r(),a(u(y),{"data-slot":`button`,"data-variant":e.variant,"data-size":e.size,as:e.as,"as-child":e.asChild,class:c(u(qe)(u(Ye)({variant:e.variant,size:e.size}),t.class))},{default:i(()=>[ee(n.$slots,`default`)]),_:3},8,[`data-variant`,`data-size`,`as`,`as-child`,`class`]))}}),Ye=h(`focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-lg border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-3 aria-invalid:ring-3 active:not-aria-[haspopup]:translate-y-px [&_svg:not([class*=size-])]:size-4 group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0`,{variants:{variant:{default:`bg-primary text-primary-foreground [a]:hover:bg-primary/80`,outline:`border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground`,ghost:`hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground`,destructive:`bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`,xs:`h-6 gap-1 rounded-md px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*=size-])]:size-3`,sm:`h-7 gap-1 rounded-md px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*=size-])]:size-3.5`,lg:`h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`,icon:`size-8`,"icon-xs":`size-6 rounded-md in-data-[slot=button-group]:rounded-lg [&_svg:not([class*=size-])]:size-3`,"icon-sm":`size-7 rounded-md in-data-[slot=button-group]:rounded-lg`,"icon-lg":`size-9`}},defaultVariants:{variant:`default`,size:`default`}});export{_ as a,y as i,Je as n,g as o,qe as r,h as s,Ye as t};
|