llm-simple-router 0.5.2 → 0.5.4
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/config/recommended-providers.json +234 -19
- package/dist/admin/api-response.d.ts +0 -1
- package/dist/admin/api-response.js +8 -4
- package/dist/admin/groups.js +35 -0
- package/dist/admin/monitor.js +2 -0
- package/dist/admin/providers.js +188 -22
- package/dist/admin/proxy-enhancement.js +9 -9
- package/dist/config/model-context.d.ts +10 -0
- package/dist/config/model-context.js +105 -0
- package/dist/db/index.d.ts +3 -1
- package/dist/db/index.js +2 -1
- package/dist/db/logs.d.ts +4 -0
- package/dist/db/logs.js +7 -3
- package/dist/db/mappings.d.ts +2 -1
- package/dist/db/mappings.js +2 -2
- package/dist/db/migrations/023_create_provider_model_info.sql +8 -0
- package/dist/db/migrations/024_add_mapping_groups_is_active.sql +1 -0
- package/dist/db/migrations/025_add_client_status_code.sql +3 -0
- package/dist/db/model-info.d.ts +14 -0
- package/dist/db/model-info.js +27 -0
- package/dist/db/providers.d.ts +1 -0
- package/dist/db/providers.js +1 -1
- package/dist/index.js +15 -3
- package/dist/middleware/auth.js +1 -1
- package/dist/monitor/request-tracker.d.ts +2 -0
- package/dist/monitor/request-tracker.js +18 -0
- package/dist/proxy/anthropic.js +13 -0
- package/dist/proxy/enhancement/directive-parser.d.ts +8 -2
- package/dist/proxy/enhancement/directive-parser.js +44 -17
- package/dist/proxy/enhancement/enhancement-handler.js +184 -54
- package/dist/proxy/enhancement/index.d.ts +1 -1
- package/dist/proxy/enhancement/index.js +1 -1
- package/dist/proxy/enhancement-config.d.ts +6 -0
- package/dist/proxy/enhancement-config.js +19 -0
- package/dist/proxy/openai.js +40 -3
- package/dist/proxy/overflow.d.ts +18 -0
- package/dist/proxy/overflow.js +128 -0
- package/dist/proxy/patch/deepseek/index.d.ts +6 -0
- package/dist/proxy/patch/deepseek/index.js +11 -0
- package/dist/proxy/patch/deepseek/patch-orphan-tool-results.d.ts +12 -0
- package/dist/proxy/patch/deepseek/patch-orphan-tool-results.js +90 -0
- package/dist/proxy/patch/deepseek/patch-thinking-blocks.d.ts +6 -0
- package/dist/proxy/patch/deepseek/patch-thinking-blocks.js +24 -0
- package/dist/proxy/patch/index.d.ts +9 -0
- package/dist/proxy/patch/index.js +17 -0
- package/dist/proxy/proxy-core.d.ts +9 -2
- package/dist/proxy/proxy-core.js +24 -2
- package/dist/proxy/proxy-handler.js +34 -9
- package/dist/proxy/proxy-logging.js +23 -2
- package/dist/proxy/resilience.d.ts +4 -0
- package/dist/proxy/resilience.js +8 -1
- package/dist/proxy/strategy/types.d.ts +2 -0
- package/dist/proxy/stream-proxy.js +2 -1
- package/dist/proxy/transport-fn.js +3 -2
- package/dist/proxy/transport.js +3 -2
- package/dist/proxy/types.d.ts +3 -1
- package/dist/proxy/types.js +5 -1
- package/dist/upgrade/checker.js +5 -2
- package/dist/utils/time-range.js +28 -13
- package/frontend-dist/assets/CardContent-GNY_j_L3.js +1 -0
- package/frontend-dist/assets/CardTitle-BhXJbSoh.js +1 -0
- package/frontend-dist/assets/Checkbox-n_sh6Lvx.js +1 -0
- package/frontend-dist/assets/CollapsibleTrigger-DDCUOXDR.js +1 -0
- package/frontend-dist/assets/Collection-DbtqQ1jF.js +1 -0
- package/frontend-dist/assets/Dashboard-Dy9frcgO.js +3 -0
- package/frontend-dist/assets/DialogTitle-BEWUnuJQ.js +1 -0
- package/frontend-dist/assets/{Input-O0ebU-Va.js → Input-CmibY9Fx.js} +1 -1
- package/frontend-dist/assets/Label-Cs__wFH0.js +1 -0
- package/frontend-dist/assets/Login-BciEc1TW.js +1 -0
- package/frontend-dist/assets/Logs-BkqwWW0-.js +1 -0
- package/frontend-dist/assets/ModelMappings-DrCJ_TCf.js +1 -0
- package/frontend-dist/assets/Monitor-C-b4qyuI.js +1 -0
- package/frontend-dist/assets/PopoverTrigger-DaKOMSVs.js +1 -0
- package/frontend-dist/assets/PopperContent-DZ6plcjf.js +1 -0
- package/frontend-dist/assets/Providers-u8utX74M.js +1 -0
- package/frontend-dist/assets/ProxyEnhancement-8_xhndGt.js +5 -0
- package/frontend-dist/assets/RetryRules-D1psYDEP.js +1 -0
- package/frontend-dist/assets/RouterKeys-ovPFGhjy.js +1 -0
- package/frontend-dist/assets/RovingFocusItem-Dsv9AkP7.js +1 -0
- package/frontend-dist/assets/SelectValue-BoUWfZAg.js +1 -0
- package/frontend-dist/assets/Settings-DXF-6A8C.js +6 -0
- package/frontend-dist/assets/Setup-rVLqiz0d.js +1 -0
- package/frontend-dist/assets/Switch-po5ZVBE3.js +1 -0
- package/frontend-dist/assets/TableHeader-Zyvq_0p2.js +1 -0
- package/frontend-dist/assets/{TabsTrigger-CPCi2HIa.js → TabsTrigger-CgDhZGkT.js} +1 -1
- package/frontend-dist/assets/Teleport-CgTHarey.js +3 -0
- package/frontend-dist/assets/TooltipTrigger-C2qO21dQ.js +1 -0
- package/frontend-dist/assets/UnifiedRequestDialog-Dksad8eN.js +3 -0
- package/frontend-dist/assets/{VisuallyHidden-Cyk-jWwh.js → VisuallyHidden-fbPmoMwi.js} +1 -1
- package/frontend-dist/assets/VisuallyHiddenInput-7j8wkPrW.js +1 -0
- package/frontend-dist/assets/alert-dialog-DbT3PzoF.js +1 -0
- package/frontend-dist/assets/badge-BVxnlnsH.js +1 -0
- package/frontend-dist/assets/{button-BQ3s7yNh.js → button-BCrIpNwA.js} +2 -2
- package/frontend-dist/assets/chevron-down-CWBwGxSp.js +1 -0
- package/frontend-dist/assets/circle-question-mark-DRkkqjgG.js +1 -0
- package/frontend-dist/assets/dialog-BNlCZpHK.js +1 -0
- package/frontend-dist/assets/file-text-BavS6SrF.js +1 -0
- package/frontend-dist/assets/format-K3VR67cG.js +1 -0
- package/frontend-dist/assets/index-BP4imfye.css +1 -0
- package/frontend-dist/assets/index-DrBJPq6d.js +1 -0
- package/frontend-dist/assets/lib-CGpNhf06.js +1 -0
- package/frontend-dist/assets/loader-circle-Cpd89XQ7.js +1 -0
- package/frontend-dist/assets/ohash.D__AXeF1-DkJnWU8a.js +1 -0
- package/frontend-dist/assets/{useClipboard-Cnnz6AAN.js → useClipboard-Bq8yZunx.js} +1 -1
- package/frontend-dist/assets/useLogRetention-BWPm3G_A.js +1 -0
- package/frontend-dist/assets/useNonce-D5lpSPNk.js +1 -0
- package/frontend-dist/assets/x-BFIp7DLt.js +1 -0
- package/frontend-dist/index.html +20 -17
- package/package.json +2 -1
- package/frontend-dist/assets/CardContent-WrBnGhTg.js +0 -1
- package/frontend-dist/assets/CardTitle-BcDYk7cq.js +0 -1
- package/frontend-dist/assets/Checkbox-MZf0YsDG.js +0 -1
- package/frontend-dist/assets/CollapsibleTrigger-CrOH9HlW.js +0 -1
- package/frontend-dist/assets/Collection-DcTx_Y54.js +0 -1
- package/frontend-dist/assets/Dashboard-D0oDrSLr.js +0 -3
- package/frontend-dist/assets/DialogTitle-Cl5Cd7QH.js +0 -1
- package/frontend-dist/assets/Label-C_S0y7Um.js +0 -1
- package/frontend-dist/assets/Login-DGY7uF8P.js +0 -1
- package/frontend-dist/assets/Logs-ls8pv89b.js +0 -1
- package/frontend-dist/assets/ModelMappings-DGlf0S4s.js +0 -1
- package/frontend-dist/assets/Monitor-BSI87grz.js +0 -1
- package/frontend-dist/assets/PopperContent-C6Q7hDmf.js +0 -1
- package/frontend-dist/assets/Providers-ZkRpj8_m.js +0 -1
- package/frontend-dist/assets/ProxyEnhancement-DFPI1W6Z.js +0 -5
- package/frontend-dist/assets/RetryRules-DtM31qsl.js +0 -1
- package/frontend-dist/assets/RouterKeys-D63tRFKm.js +0 -1
- package/frontend-dist/assets/RovingFocusItem-BJoylAKU.js +0 -1
- package/frontend-dist/assets/SelectValue-CLp5z6_I.js +0 -1
- package/frontend-dist/assets/Settings-DSgRKbTQ.js +0 -6
- package/frontend-dist/assets/Setup-BDmj6CRk.js +0 -1
- package/frontend-dist/assets/Switch-Wz-t_zkv.js +0 -1
- package/frontend-dist/assets/TableHeader-DGtcqGkw.js +0 -1
- package/frontend-dist/assets/Teleport-DdjYHlNK.js +0 -3
- package/frontend-dist/assets/TooltipTrigger-H_QoPY1n.js +0 -1
- package/frontend-dist/assets/UnifiedRequestDialog-BAAfMJJl.js +0 -3
- package/frontend-dist/assets/VisuallyHiddenInput-CYjNe_H8.js +0 -1
- package/frontend-dist/assets/alert-dialog-Bi3dliLl.js +0 -1
- package/frontend-dist/assets/badge-Kkta3e9W.js +0 -1
- package/frontend-dist/assets/createLucideIcon-D1tkPDOQ.js +0 -1
- package/frontend-dist/assets/dialog-DoIATUYw.js +0 -1
- package/frontend-dist/assets/file-text-Dt6QP1bZ.js +0 -1
- package/frontend-dist/assets/format-DOVIVsQC.js +0 -1
- package/frontend-dist/assets/index-BY0E7CHR.js +0 -1
- package/frontend-dist/assets/index-Bnrh1mFY.css +0 -1
- package/frontend-dist/assets/lib-CxwxnlwW.js +0 -1
- package/frontend-dist/assets/ohash.D__AXeF1-b0PiKZB_.js +0 -1
- package/frontend-dist/assets/useLogRetention-DYP5LOAc.js +0 -1
- package/frontend-dist/assets/useNonce-DKbOCfgM.js +0 -1
- package/frontend-dist/assets/x-CAoitXRt.js +0 -1
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{A as e,Ct as t,Dt as n,G as r,H as i,J as a,K as o,Pt as s,Rt as c,U as l,V as u,W as d,ct as ee,gt as f,i as p,it as te,k as m,lt as h,m as g,n as _,nt as v,o as y,ot as b,q as x,r as S,tt as C,x as w,yt as T,z as E,zt as D}from"./button-BCrIpNwA.js";import{b as O,g as k,y as A}from"./Teleport-CgTHarey.js";import{a as ne,c as re,i as ie,n as j,o as ae,r as oe,s as se,t as ce}from"./alert-dialog-DbT3PzoF.js";import{t as M}from"./Label-Cs__wFH0.js";import{n as N}from"./lib-CGpNhf06.js";import{t as P}from"./Input-CmibY9Fx.js";import{t as F}from"./useLogRetention-BWPm3G_A.js";var I=O(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),L=O(`hard-drive`,[[`path`,{d:`M10 16h.01`,key:`1bzywj`}],[`path`,{d:`M2.212 11.577a2 2 0 0 0-.212.896V18a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-5.527a2 2 0 0 0-.212-.896L18.55 5.11A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`18tbho`}],[`path`,{d:`M21.946 12.013H2.054`,key:`zqlbp7`}],[`path`,{d:`M6 16h.01`,key:`1pmjb7`}]]),le=O(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),R=100,[z,B]=A(`ProgressRoot`),V=e=>typeof e==`number`;function H(e,t){return k(e)||V(e)&&!Number.isNaN(e)&&e<=t&&e>=0?e:(console.error(`Invalid prop \`value\` of value \`${e}\` supplied to \`ProgressRoot\`. The \`value\` prop must be:
|
|
2
|
+
- a positive number
|
|
3
|
+
- less than the value passed to \`max\` (or ${R} if no \`max\` prop is set)
|
|
4
|
+
- \`null\` or \`undefined\` if the progress is indeterminate.
|
|
5
|
+
|
|
6
|
+
Defaulting to \`null\`.`),null)}function U(e){return V(e)&&!Number.isNaN(e)&&e>0?e:(console.error(`Invalid prop \`max\` of value \`${e}\` supplied to \`ProgressRoot\`. Only numbers greater than 0 are valid max values. Defaulting to \`${R}\`.`),R)}var W=a({__name:`ProgressRoot`,props:{modelValue:{type:[Number,null],required:!1},max:{type:Number,required:!1,default:R},getValueLabel:{type:Function,required:!1,default:(e,t)=>V(e)?`${Math.round(e/t*R)}%`:void 0},getValueText:{type:Function,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`update:modelValue`,`update:max`],setup(e,{emit:t}){let n=e,r=t;y();let i=g(n,`modelValue`,r,{passive:n.modelValue===void 0}),a=g(n,`max`,r,{passive:n.max===void 0});f(()=>i.value,async e=>{let t=H(e,n.max);t!==e&&(await v(),i.value=t)},{immediate:!0}),f(()=>n.max,e=>{let t=U(n.max);t!==e&&(a.value=t)},{immediate:!0});let o=u(()=>k(i.value)?`indeterminate`:i.value===a.value?`complete`:`loading`);return B({modelValue:i,max:a,progressState:o}),(e,t)=>(b(),l(s(p),{"as-child":e.asChild,as:e.as,"aria-valuemax":s(a),"aria-valuemin":0,"aria-valuenow":V(s(i))?s(i):void 0,"aria-valuetext":e.getValueText?.(s(i),s(a)),"aria-label":e.getValueLabel(s(i),s(a)),role:`progressbar`,"data-state":o.value,"data-value":s(i)??void 0,"data-max":s(a)},{default:T(()=>[h(e.$slots,`default`,{modelValue:s(i)})]),_:3},8,[`as-child`,`as`,`aria-valuemax`,`aria-valuenow`,`aria-valuetext`,`aria-label`,`data-state`,`data-value`,`data-max`]))}}),G=a({__name:`ProgressIndicator`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=z();return y(),(e,r)=>(b(),l(s(p),C(t,{"data-state":s(n).progressState.value,"data-value":s(n).modelValue?.value??void 0,"data-max":s(n).max.value}),{default:T(()=>[h(e.$slots,`default`)]),_:3},16,[`data-state`,`data-value`,`data-max`]))}}),K=a({__name:`Progress`,props:{modelValue:{default:0},max:{},getValueLabel:{},getValueText:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=w(t,`class`);return(e,r)=>(b(),l(s(W),C({"data-slot":`progress`},s(n),{class:s(S)(`bg-muted h-1 rounded-full relative flex w-full items-center overflow-x-hidden`,t.class)}),{default:T(()=>[x(s(G),{"data-slot":`progress-indicator`,class:`bg-primary size-full flex-1 transition-all`,style:c(`transform: translateX(-${100-(t.modelValue??0)}%);`)},null,8,[`style`])]),_:1},16,[`class`]))}}),ue={class:`p-6 space-y-6`},de={class:`bg-card rounded-lg border p-4 space-y-3`},fe={class:`flex items-end gap-4`},pe={class:`space-y-1`},me={key:0,class:`text-sm text-destructive mt-1`},he={class:`bg-card rounded-lg border p-4 space-y-4`},ge={class:`font-medium text-sm text-foreground flex items-center gap-2`},_e={class:`space-y-1`},ve={class:`flex justify-between text-sm`},ye={class:`text-muted-foreground`},be={class:`space-y-1`},xe={class:`flex justify-between text-sm`},Se={class:`text-muted-foreground`},Ce={key:0,class:`text-xs text-muted-foreground`},we={class:`grid grid-cols-2 gap-4 pt-3 border-t`},Te={class:`space-y-1`},Ee={key:0,class:`text-sm text-destructive mt-1`},De={class:`space-y-1`},Oe={key:0,class:`text-sm text-destructive mt-1`},ke={class:`bg-card rounded-lg border p-4 space-y-3`},Ae={class:`flex gap-3`},je={key:0,class:`text-sm space-y-1 p-3 bg-muted rounded-md`},q=1048576,J=1024,Y=100,X=2,Me=10,Z=0,Q=90,$=1,Ne=1024,Pe=800,Fe=a({__name:`Settings`,setup(a){let{retentionDays:c,saveRetention:l}=F(),u=n(null),f=n(Ne),p=n(Pe),h=n(!1),g=n(!1),v=n(null),y=n(!1),S=n(null),C=n(),w=n(``),O=n(``),k=n(``);function A(e){if(e===0)return`0 B`;let t=[`B`,`KB`,`MB`,`GB`],n=Math.min(Math.floor(Math.log(e)/Math.log(J)),t.length-1);return`${(e/J**+n).toFixed(1)} ${t[n]}`}async function R(){h.value=!0;try{let[e,t]=await Promise.allSettled([m.getDbSizeInfo(),m.getLogRetention()]);e.status===`fulfilled`&&(u.value=e.value,f.value=e.value.thresholds.dbMaxSizeMb,p.value=e.value.thresholds.logTableMaxSizeMb),t.status===`fulfilled`&&(c.value=t.value.days)}finally{h.value=!1}}function z(){w.value=``;let e=c.value;return Number.isInteger(e)?e<Z||e>Q?(w.value=`请输入 ${Z}-${Q} 之间的整数`,!1):!0:(w.value=`请输入整数`,!1)}async function B(){z()&&await l()}function V(){O.value=``,k.value=``;let e=!0;return(!Number.isFinite(f.value)||f.value<$)&&(O.value=`请输入不小于 ${$} 的数值`,e=!1),(!Number.isFinite(p.value)||p.value<$)&&(k.value=`请输入不小于 ${$} 的数值`,e=!1),e&&p.value>f.value&&(k.value=`日志表上限不应超过数据库上限`,e=!1),e}async function H(){if(V())try{let e=await m.setDbSizeThresholds({dbMaxSizeMb:f.value,logTableMaxSizeMb:p.value});f.value=e.dbMaxSizeMb,p.value=e.logTableMaxSizeMb,N.success(`存储阈值已更新`),await R()}catch(t){N.error(e(t,`更新失败`))}}async function U(){try{let e=await m.exportConfig(),t=new Blob([JSON.stringify(e,null,X)],{type:`application/json`}),n=URL.createObjectURL(t),r=document.createElement(`a`);r.href=n,r.download=`router-config-${new Date().toISOString().slice(0,Me)}.json`,r.click(),URL.revokeObjectURL(n),N.success(`配置已导出`)}catch(t){N.error(e(t,`导出失败`))}}function W(e){let t=e.target,n=t.files?.[0];if(!n)return;let r=new FileReader;r.onload=()=>{try{let e=JSON.parse(r.result);if(!e.version||e.version!==1){N.error(`不支持的配置文件版本`);return}S.value=e,y.value=!0}catch{N.error(`无效的 JSON 文件`)}},r.readAsText(n),t.value=``}async function G(){if(S.value){g.value=!0;try{v.value=await m.importConfig(S.value),y.value=!1,N.success(`配置已导入`),await R()}catch(t){N.error(e(t,`导入失败`))}finally{g.value=!1,S.value=null}}}return te(R),(e,n)=>(b(),r(`div`,ue,[n[26]||=i(`h2`,{class:`text-lg font-semibold text-foreground`},`系统设置`,-1),i(`div`,de,[n[10]||=i(`h3`,{class:`font-medium text-sm text-foreground`},`日志保留策略`,-1),n[11]||=i(`p`,{class:`text-sm text-muted-foreground`},`超过保留天数的日志将被自动清理`,-1),i(`div`,fe,[i(`div`,pe,[x(s(M),{for:`retention-days`},{default:T(()=>[...n[8]||=[o(`保留天数`,-1)]]),_:1}),x(s(P),{id:`retention-days`,modelValue:s(c),"onUpdate:modelValue":n[0]||=e=>t(c)?c.value=e:null,modelModifiers:{number:!0},type:`number`,min:Z,max:Q,class:`w-32`,onInput:n[1]||=e=>w.value=``},null,8,[`modelValue`]),w.value?(b(),r(`p`,me,D(w.value),1)):d(``,!0)]),x(s(_),{size:`sm`,disabled:h.value,onClick:B},{default:T(()=>[...n[9]||=[o(`保存`,-1)]]),_:1},8,[`disabled`])])]),i(`div`,he,[i(`h3`,ge,[x(s(L),{class:`h-4 w-4`}),n[12]||=o(` 存储管理 `,-1)]),n[17]||=i(`p`,{class:`text-sm text-muted-foreground`},`监控数据库大小并配置自动清理阈值`,-1),u.value?(b(),r(E,{key:0},[i(`div`,_e,[i(`div`,ve,[n[13]||=i(`span`,null,`数据库总大小`,-1),i(`span`,ye,D(A(u.value.totalBytes))+` / `+D(f.value)+` MB `,1)]),x(s(K),{"model-value":Math.min(Y,u.value.totalBytes/(f.value*q)*Y)},null,8,[`model-value`])]),i(`div`,be,[i(`div`,xe,[i(`span`,null,`请求日志大小 (`+D(u.value.logCount)+` 条)`,1),i(`span`,Se,D(A(u.value.logTableBytes))+` / `+D(p.value)+` MB `,1)]),x(s(K),{"model-value":Math.min(Y,u.value.logTableBytes/(p.value*q)*Y)},null,8,[`model-value`])]),u.value.lastChecked?(b(),r(`p`,Ce,` 上次检查:`+D(u.value.lastChecked),1)):d(``,!0)],64)):d(``,!0),i(`div`,we,[i(`div`,Te,[x(s(M),{for:`db-max-size`},{default:T(()=>[...n[14]||=[o(`数据库大小上限 (MB)`,-1)]]),_:1}),x(s(P),{id:`db-max-size`,modelValue:f.value,"onUpdate:modelValue":n[2]||=e=>f.value=e,modelModifiers:{number:!0},type:`number`,min:$,onInput:n[3]||=e=>O.value=``},null,8,[`modelValue`]),O.value?(b(),r(`p`,Ee,D(O.value),1)):d(``,!0)]),i(`div`,De,[x(s(M),{for:`log-max-size`},{default:T(()=>[...n[15]||=[o(`日志表大小上限 (MB)`,-1)]]),_:1}),x(s(P),{id:`log-max-size`,modelValue:p.value,"onUpdate:modelValue":n[4]||=e=>p.value=e,modelModifiers:{number:!0},type:`number`,min:$,onInput:n[5]||=e=>k.value=``},null,8,[`modelValue`]),k.value?(b(),r(`p`,Oe,D(k.value),1)):d(``,!0)])]),x(s(_),{size:`sm`,disabled:h.value,onClick:H},{default:T(()=>[...n[16]||=[o(`保存阈值`,-1)]]),_:1},8,[`disabled`])]),i(`div`,ke,[n[21]||=i(`h3`,{class:`font-medium text-sm text-foreground`},`配置导入导出`,-1),n[22]||=i(`p`,{class:`text-sm text-muted-foreground`},`导出当前配置或从文件恢复`,-1),i(`div`,Ae,[x(s(_),{variant:`outline`,size:`sm`,disabled:h.value,onClick:U},{default:T(()=>[x(s(I),{class:`mr-2 h-4 w-4`}),n[18]||=o(` 导出配置 `,-1)]),_:1},8,[`disabled`]),x(s(_),{variant:`outline`,size:`sm`,disabled:h.value,onClick:n[6]||=e=>C.value?.click()},{default:T(()=>[x(s(le),{class:`mr-2 h-4 w-4`}),n[19]||=o(` 导入配置 `,-1)]),_:1},8,[`disabled`]),i(`input`,{ref_key:`fileInput`,ref:C,type:`file`,accept:`.json`,class:`hidden`,onChange:W},null,544)]),v.value?(b(),r(`div`,je,[n[20]||=i(`p`,{class:`font-medium`},`导入完成:`,-1),(b(!0),r(E,null,ee(v.value,(e,t)=>(b(),r(`p`,{key:t},D(t)+`: `+D(e)+` 条 `,1))),128))])):d(``,!0)]),x(s(re),{open:y.value,"onUpdate:open":n[7]||=e=>y.value=e},{default:T(()=>[x(s(ne),null,{default:T(()=>[x(s(j),null,{default:T(()=>[x(s(ce),null,{default:T(()=>[...n[23]||=[o(`确认导入配置`,-1)]]),_:1}),x(s(ie),null,{default:T(()=>[...n[24]||=[o(` 导入将覆盖当前的供应商、映射、密钥等配置。安全设置(密码、JWT)将保留不变。 此操作不可撤销。 `,-1)]]),_:1})]),_:1}),x(s(oe),null,{default:T(()=>[x(s(ae),{disabled:g.value},{default:T(()=>[...n[25]||=[o(`取消`,-1)]]),_:1},8,[`disabled`]),x(s(se),{disabled:g.value,onClick:G},{default:T(()=>[o(D(g.value?`导入中...`:`确认导入`),1)]),_:1},8,[`disabled`])]),_:1})]),_:1})]),_:1},8,[`open`])]))}});export{Fe as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,Dt as t,G as n,H as r,J as i,K as a,N as o,Pt as s,R as c,W as l,k as u,n as d,ot as f,q as p,yt as m,zt as h}from"./button-BCrIpNwA.js";import{t as g}from"./Label-Cs__wFH0.js";import{n as _,t as v}from"./CardContent-GNY_j_L3.js";import{t as y}from"./Input-CmibY9Fx.js";var b={class:`min-h-screen flex items-center justify-center bg-background`},x={key:0,class:`text-destructive text-sm`},S=i({__name:`Setup`,setup(i){let S=o(),C=t(``),w=t(``),T=t(``),E=t(!1);async function D(){if(!C.value||!w.value){T.value=`请输入密码`;return}if(C.value!==w.value){T.value=`两次密码不一致`;return}if(C.value.length<6){T.value=`密码至少 6 位`;return}T.value=``,E.value=!0;try{await u.initializeSetup(C.value),S.push(`/admin/dashboard`)}catch(t){T.value=e(t,`设置失败`)}finally{E.value=!1}}return(e,t)=>(f(),n(`div`,b,[p(s(_),{class:`w-full max-w-sm shadow-lg`},{default:m(()=>[p(s(v),{class:`pt-6`},{default:m(()=>[t[4]||=r(`div`,{class:`text-center mb-6`},[r(`div`,{class:`w-12 h-12 bg-primary rounded-lg mx-auto mb-3 flex items-center justify-center`},[r(`svg`,{class:`w-7 h-7 text-white`,fill:`none`,stroke:`currentColor`,viewBox:`0 0 24 24`},[r(`path`,{"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`,d:`M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z`})])]),r(`h1`,{class:`text-xl font-semibold text-foreground`},`LLM Simple Router`),r(`p`,{class:`text-sm text-muted-foreground mt-1`},`初始设置 — 设置管理员密码`)],-1),r(`form`,{onSubmit:c(D,[`prevent`]),class:`space-y-4`},[r(`div`,null,[p(s(g),{class:`block text-sm font-medium text-foreground mb-1`},{default:m(()=>[...t[2]||=[a(`密码`,-1)]]),_:1}),p(s(y),{modelValue:C.value,"onUpdate:modelValue":t[0]||=e=>C.value=e,type:`password`,placeholder:`至少 6 位`,disabled:E.value},null,8,[`modelValue`,`disabled`])]),r(`div`,null,[p(s(g),{class:`block text-sm font-medium text-foreground mb-1`},{default:m(()=>[...t[3]||=[a(`确认密码`,-1)]]),_:1}),p(s(y),{modelValue:w.value,"onUpdate:modelValue":t[1]||=e=>w.value=e,type:`password`,placeholder:`再次输入密码`,disabled:E.value},null,8,[`modelValue`,`disabled`])]),T.value?(f(),n(`p`,x,h(T.value),1)):l(``,!0),p(s(d),{type:`submit`,class:`w-full`,disabled:E.value},{default:m(()=>[a(h(E.value?`设置中...`:`完成设置`),1)]),_:1},8,[`disabled`])],32)]),_:1})]),_:1})]))}});export{S as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{J as e,L as t,Lt as n,Mt as r,Pt as i,R as a,U as o,V as s,W as c,X as l,i as u,lt as d,m as f,o as p,ot as m,q as h,r as g,tt as _,x as v,yt as y}from"./button-BCrIpNwA.js";import{u as b,y as x}from"./Teleport-CgTHarey.js";import{n as S}from"./VisuallyHidden-fbPmoMwi.js";import{t as C}from"./VisuallyHiddenInput-7j8wkPrW.js";var[w,T]=x(`SwitchRoot`),E=e({__name:`SwitchRoot`,props:{defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},disabled:{type:Boolean,required:!1},id:{type:String,required:!1},value:{type:String,required:!1,default:`on`},trueValue:{type:null,required:!1,default:()=>!0},falseValue:{type:null,required:!1,default:()=>!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:[`update:modelValue`],setup(e,{emit:n}){let l=e,h=n,{disabled:g}=r(l),v=f(l,`modelValue`,h,{defaultValue:l.defaultValue??l.falseValue,passive:l.modelValue===void 0}),b=s(()=>v.value===l.trueValue);function x(){g.value||(v.value=b.value?l.falseValue:l.trueValue)}let{forwardRef:w,currentElement:E}=p(),D=S(E),O=s(()=>l.id&&E.value?document.querySelector(`[for="${l.id}"]`)?.innerText:void 0);return T({checked:b,toggleCheck:x,disabled:g}),(e,n)=>(m(),o(i(u),_(e.$attrs,{id:e.id,ref:i(w),role:`switch`,type:e.as===`button`?`button`:void 0,value:e.value,"aria-label":e.$attrs[`aria-label`]||O.value,"aria-checked":b.value,"aria-required":e.required,"data-state":b.value?`checked`:`unchecked`,"data-disabled":i(g)?``:void 0,"as-child":e.asChild,as:e.as,disabled:i(g),onClick:x,onKeydown:t(a(x,[`prevent`]),[`enter`])}),{default:y(()=>[d(e.$slots,`default`,{modelValue:i(v),checked:b.value}),i(D)&&e.name?(m(),o(i(C),{key:0,type:`checkbox`,name:e.name,disabled:i(g),required:e.required,value:e.value,checked:b.value},null,8,[`name`,`disabled`,`required`,`value`,`checked`])):c(`v-if`,!0)]),_:3},16,[`id`,`type`,`value`,`aria-label`,`aria-checked`,`aria-required`,`data-state`,`data-disabled`,`as-child`,`as`,`disabled`,`onKeydown`]))}}),D=e({__name:`SwitchThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`span`}},setup(e){let t=w();return p(),(e,n)=>(m(),o(i(u),{"data-state":i(t).checked.value?`checked`:`unchecked`,"data-disabled":i(t).disabled.value?``:void 0,"as-child":e.asChild,as:e.as},{default:y(()=>[d(e.$slots,`default`)]),_:3},8,[`data-state`,`data-disabled`,`as-child`,`as`]))}}),O=e({__name:`Switch`,props:{defaultValue:{},modelValue:{},disabled:{type:Boolean},id:{},value:{},trueValue:{},falseValue:{},asChild:{type:Boolean},as:{},name:{},required:{type:Boolean},class:{type:[Boolean,null,String,Object,Array]},size:{default:`default`}},emits:[`update:modelValue`],setup(e,{emit:t}){let r=e,a=t,s=b(v(r,`class`,`size`),a);return(t,a)=>(m(),o(i(E),_({"data-slot":`switch`,"data-size":e.size},i(s),{class:i(g)(`data-[state=checked]:bg-primary data-[state=unchecked]:bg-input 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 dark:data-[state=unchecked]:bg-input/80 shrink-0 rounded-full border border-transparent focus-visible:ring-3 aria-invalid:ring-3 data-[size=default]:h-[18.4px] data-[size=default]:w-[32px] data-[size=sm]:h-[14px] data-[size=sm]:w-[24px] peer group/switch relative inline-flex items-center transition-all outline-none after:absolute after:-inset-x-3 after:-inset-y-2 data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50`,r.class)}),{default:y(e=>[h(i(D),{"data-slot":`switch-thumb`,class:`bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground rounded-full group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 group-data-[size=default]/switch:data-[state=checked]:translate-x-[calc(100%-2px)] group-data-[size=sm]/switch:data-[state=checked]:translate-x-[calc(100%-2px)] group-data-[size=default]/switch:data-[state=unchecked]:translate-x-0 group-data-[size=sm]/switch:data-[state=unchecked]:translate-x-0 pointer-events-none block ring-0 transition-transform`},{default:y(()=>[d(t.$slots,`thumb`,n(l(e)))]),_:2},1024)]),_:3},16,[`data-size`,`class`]))}});export{O as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{G as e,H as t,It as n,J as r,Pt as i,lt as a,ot as o,r as s}from"./button-BCrIpNwA.js";var c={"data-slot":`table-container`,class:`relative w-full overflow-x-auto`},l=r({__name:`Table`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(r){let l=r;return(r,u)=>(o(),e(`div`,c,[t(`table`,{"data-slot":`table`,class:n(i(s)(`w-full caption-bottom text-sm`,l.class))},[a(r.$slots,`default`)],2)]))}}),u=r({__name:`TableBody`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(t){let r=t;return(t,c)=>(o(),e(`tbody`,{"data-slot":`table-body`,class:n(i(s)(`[&_tr:last-child]:border-0`,r.class))},[a(t.$slots,`default`)],2))}}),d=r({__name:`TableCell`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(t){let r=t;return(t,c)=>(o(),e(`td`,{"data-slot":`table-cell`,class:n(i(s)(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0`,r.class))},[a(t.$slots,`default`)],2))}}),f=r({__name:`TableRow`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(t){let r=t;return(t,c)=>(o(),e(`tr`,{"data-slot":`table-row`,class:n(i(s)(`hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors has-aria-expanded:bg-muted/50`,r.class))},[a(t.$slots,`default`)],2))}}),p=r({__name:`TableHead`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(t){let r=t;return(t,c)=>(o(),e(`th`,{"data-slot":`table-head`,class:n(i(s)(`text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0`,r.class))},[a(t.$slots,`default`)],2))}}),m=r({__name:`TableHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(t){let r=t;return(t,c)=>(o(),e(`thead`,{"data-slot":`table-header`,class:n(i(s)(`[&_tr]:border-b`,r.class))},[a(t.$slots,`default`)],2))}});export{u as a,d as i,p as n,l as o,f as r,m as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Dt as e,J as t,L as n,Lt as r,Mt as i,Pt as a,R as o,U as s,V as c,X as l,i as u,kt as d,lt as f,m as p,o as m,ot as h,q as g,r as _,tt as v,x as y,yt as b}from"./button-BCrIpNwA.js";import{c as x,d as S,u as C,y as w}from"./Teleport-CgTHarey.js";import{r as T}from"./Collection-DbtqQ1jF.js";import{n as E,t as D}from"./RovingFocusItem-Dsv9AkP7.js";var[O,k]=w(`TabsRoot`),A=t({__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(t,{emit:n}){let r=t,o=n,{orientation:c,unmountOnHide:l,dir:g}=i(r),_=T(g);m();let v=p(r,`modelValue`,o,{defaultValue:r.defaultValue,passive:r.modelValue===void 0}),y=e(),S=d(new Set);return k({modelValue:v,changeModelValue:e=>{v.value=e},orientation:c,dir:_,unmountOnHide:l,activationMode:r.activationMode,baseId:x(void 0,`reka-tabs`),tabsList:y,contentIds:S,registerContent:e=>{S.value=new Set([...S.value,e])},unregisterContent:e=>{let t=new Set(S.value);t.delete(e),S.value=t}}),(e,t)=>(h(),s(a(u),{dir:a(_),"data-orientation":a(c),"as-child":e.asChild,as:e.as},{default:b(()=>[f(e.$slots,`default`,{modelValue:a(v)})]),_:3},8,[`dir`,`data-orientation`,`as-child`,`as`]))}});function j(e,t){return`${e}-trigger-${t}`}function M(e,t){return`${e}-content-${t}`}var N=t({__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}=i(e),{forwardRef:n,currentElement:r}=m(),o=O();return o.tabsList=r,(e,r)=>(h(),s(a(E),{"as-child":``,orientation:a(o).orientation.value,dir:a(o).dir.value,loop:a(t)},{default:b(()=>[g(a(u),{ref:a(n),role:`tablist`,"as-child":e.asChild,as:e.as,"aria-orientation":a(o).orientation.value},{default:b(()=>[f(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`aria-orientation`])]),_:3},8,[`orientation`,`dir`,`loop`]))}}),P=t({__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:r}=m(),i=O(),l=c(()=>j(i.baseId,t.value)),d=c(()=>i.contentIds.value.has(t.value)?M(i.baseId,t.value):void 0),p=c(()=>t.value===i.modelValue.value);return(e,t)=>(h(),s(a(D),{"as-child":``,focusable:!e.disabled,active:p.value},{default:b(()=>[g(a(u),{id:l.value,ref:a(r),role:`tab`,type:e.as===`button`?`button`:void 0,as:e.as,"as-child":e.asChild,"aria-selected":p.value?`true`:`false`,"aria-controls":d.value,"data-state":p.value?`active`:`inactive`,disabled:e.disabled,"data-disabled":e.disabled?``:void 0,"data-orientation":a(i).orientation.value,onMousedown:t[0]||=o(t=>{!e.disabled&&t.ctrlKey===!1?a(i).changeModelValue(e.value):t.preventDefault()},[`left`]),onKeydown:t[1]||=n(t=>a(i).changeModelValue(e.value),[`enter`,`space`]),onFocus:t[2]||=()=>{let t=a(i).activationMode!==`manual`;!p.value&&!e.disabled&&t&&a(i).changeModelValue(e.value)}},{default:b(()=>[f(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`]))}}),F=t({__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(e,{emit:t}){let n=e,i=t,o=C(y(n,`class`),i);return(e,t)=>(h(),s(a(A),v({"data-slot":`tabs`,"data-orientation":a(o).orientation||`horizontal`},a(o),{class:a(_)(`gap-2 group/tabs flex data-[orientation=horizontal]:flex-col`,n.class)}),{default:b(t=>[f(e.$slots,`default`,r(l(t)))]),_:3},16,[`data-orientation`,`class`]))}}),I=t({__name:`TabsList`,props:{loop:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},variant:{default:`default`}},setup(e){let t=e,n=y(t,`class`,`variant`);return(r,i)=>(h(),s(a(N),v({"data-slot":`tabs-list`,"data-variant":e.variant},a(n),{class:a(_)(`rounded-lg p-[3px] group-data-[orientation=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-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col`,e.variant===`default`&&`bg-muted`,e.variant===`line`&&`gap-1 bg-transparent`,t.class)}),{default:b(()=>[f(r.$slots,`default`)]),_:3},16,[`data-variant`,`class`]))}}),L=t({__name:`TabsTrigger`,props:{value:{},disabled:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=S(y(t,`class`));return(e,r)=>(h(),s(a(P),v({"data-slot":`tabs-trigger`,class:a(_)(`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-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=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-[orientation=vertical]/tabs:w-full group-data-[orientation=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-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent`,`data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100`,t.class)},a(n)),{default:b(()=>[f(e.$slots,`default`)]),_:3},16,[`class`]))}});export{j as a,M as i,I as n,O as o,F as r,L as t};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{B as e,Bt as t,C as n,Dt as r,Et as i,Ft as a,J as o,Mt as s,Nt as c,P as l,Pt as u,Q as d,Rt as f,U as p,V as m,W as h,Y as g,Z as _,_ as ee,_t as v,at as y,b,c as te,d as ne,f as re,gt as x,i as S,jt as ie,l as ae,lt as C,mt as oe,nt as w,o as T,ot as E,s as se,st as ce,u as le,v as ue,y as D,yt as de}from"./button-BCrIpNwA.js";var fe=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},O=e=>e===``,pe=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),k=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),me=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),he=e=>{let t=me(e);return t.charAt(0).toUpperCase()+t.slice(1)},A={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},ge=({name:e,iconNode:t,absoluteStrokeWidth:n,"absolute-stroke-width":r,strokeWidth:i,"stroke-width":a,size:o=A.width,color:s=A.stroke,...c},{slots:l})=>_(`svg`,{...A,...c,width:o,height:o,stroke:s,"stroke-width":O(n)||O(r)||n===!0||r===!0?Number(i||a||A[`stroke-width`])*24/Number(o):i||a||A[`stroke-width`],class:pe(`lucide`,c.class,...e?[`lucide-${k(he(e))}-icon`,`lucide-${k(e)}`]:[`lucide-icon`]),...!l.default&&!fe(c)&&{"aria-hidden":`true`}},[...t.map(e=>_(...e)),...l.default?[l.default()]:[]]),_e=(e,t)=>(n,{slots:r,attrs:i})=>_(ge,{...i,...n,iconNode:t,name:e},r);function j(e,t){let n=typeof e==`string`&&!t?`${e}Context`:t,r=Symbol(n);return[t=>{let n=d(r,t);if(n||n===null)return n;throw Error(`Injection \`${r.toString()}\` not found. Component must be used within ${Array.isArray(e)?`one of the following components: ${e.join(`, `)}`:`\`${e}\``}`)},e=>(ce(r,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,ve]=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 ye(e){return(...t)=>t.reduce((t,n)=>L(t,n,``,e),{})}var R=ye(),be=ue(()=>{let e=r(new Map),t=r(),n=m(()=>{for(let t of e.value.values())if(t)return!0;return!1}),i=F({scrollBody:r(!0)}),a=null,o=()=>{document.body.style.paddingRight=``,document.body.style.marginRight=``,document.body.style.pointerEvents=``,document.documentElement.style.removeProperty(`--scrollbar-width`),document.body.style.overflow=t.value??``,b&&a?.(),t.value=void 0};return x(n,(e,r)=>{if(!D)return;if(!e){r&&o();return}t.value===void 0&&(t.value=document.body.style.overflow);let s=window.innerWidth-document.documentElement.clientWidth,c={padding:s,margin:0},l=i.scrollBody?.value?typeof i.scrollBody.value==`object`?R({padding:i.scrollBody.value.padding===!0?s:i.scrollBody.value.padding,margin:i.scrollBody.value.margin===!0?s:i.scrollBody.value.margin},c):c:{padding:0,margin:0};s>0&&(document.body.style.paddingRight=typeof l.padding==`number`?`${l.padding}px`:String(l.padding),document.body.style.marginRight=typeof l.margin==`number`?`${l.margin}px`:String(l.margin),document.documentElement.style.setProperty(`--scrollbar-width`,`${s}px`),document.body.style.overflow=`hidden`),b&&(a=ne(document,`touchmove`,e=>Se(e),{passive:!1})),w(()=>{n.value&&(document.body.style.pointerEvents=`none`,document.body.style.overflow=`hidden`)})},{immediate:!0,flush:`sync`}),e});function xe(e){let t=Math.random().toString(36).substring(2,7),r=be();r.value.set(t,e??!1);let i=m({get:()=>r.value.get(t)??!1,set:e=>r.value.set(t,e)});return n(()=>{r.value.delete(t)}),i}function z(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:z(t)}}function Se(e){let t=e||window.event,n=t.target;return n instanceof Element&&z(n)?!1:t.touches.length>1?!0:(t.preventDefault&&t.cancelable&&t.preventDefault(),!1)}function B(e){let n=g(),r=n?.type.emits,i={};return r?.length||console.warn(`No emitted event found. Please check component: ${n?.type.__name}`),r?.forEach(n=>{i[t(a(n))]=(...t)=>e(n,...t)}),i}function V(e){let t=g(),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=ie(e);return m(()=>{let e={},i=t?.vnode.props??{};return Object.keys(i).forEach(t=>{e[a(t)]=i[t]}),Object.keys({...n,...e}).reduce((e,t)=>(r.value[t]!==void 0&&(e[t]=r.value[t]),e),{})})}function Ce(e,t){let n=V(e),r=t?B(t):{};return m(()=>({...n.value,...r}))}var we=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},H=new WeakMap,U=new WeakMap,W={},G=0,K=function(e){return e&&(e.host||K(e.parentNode))},Te=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=K(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})},Ee=function(e,t,n,r){var i=Te(t,Array.isArray(e)?e:[e]);W[n]||(W[n]=new WeakMap);var a=W[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=(H.get(e)||0)+1,l=(a.get(e)||0)+1;H.set(e,c),a.set(e,l),o.push(e),c===1&&i&&U.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(),G++,function(){o.forEach(function(e){var t=H.get(e)-1,i=a.get(e)-1;H.set(e,t),a.set(e,i),t||(U.has(e)||e.removeAttribute(r),U.delete(e)),i||e.removeAttribute(n)}),G--,G||(H=new WeakMap,H=new WeakMap,U=new WeakMap,W={})}},De=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||we(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Ee(r,i,n,`aria-hidden`)):function(){return null}};function Oe(e){let t;x(()=>le(e),e=>{let n=!1;try{n=!!e?.closest(`[popover]:not(:popover-open)`)}catch{}e&&!n?t=De(e):t&&t()}),y(()=>{t&&t()})}var ke=0;function Ae(e,t=`reka`){if(e)return e;let n;return n=`useId`in l?oe?.():F({useId:void 0}).useId?.()??`${++ke}`,t?`${t}-${n}`:n}function q(e,t){let n=r(e);function i(e){return t[n.value][e]??n.value}return{state:n,dispatch:e=>{n.value=i(e)}}}function je(e,t){let n=r({}),i=r(`none`),a=r(e),o=e.value?`mounted`:`unmounted`,s,c=t.value?.ownerDocument.defaultView??te,{state:l,dispatch:u}=q(o,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}}),d=e=>{if(D){let n=new CustomEvent(e,{bubbles:!1,cancelable:!1});t.value?.dispatchEvent(n)}};x(e,async(e,r)=>{let a=r!==e;if(await w(),a){let a=i.value,o=J(t.value);e?(u(`MOUNT`),d(`enter`),o===`none`&&d(`after-enter`)):o===`none`||o===`undefined`||n.value?.display===`none`?(u(`UNMOUNT`),d(`leave`),d(`after-leave`)):r&&a!==o?(u(`ANIMATION_OUT`),d(`leave`)):(u(`UNMOUNT`),d(`after-leave`))}},{immediate:!0});let f=e=>{let n=J(t.value),r=n.includes(CSS.escape(e.animationName)),i=l.value===`mounted`?`enter`:`leave`;if(e.target===t.value&&r&&(d(`after-${i}`),u(`ANIMATION_END`),!a.value)){let e=t.value.style.animationFillMode;t.value.style.animationFillMode=`forwards`,s=c?.setTimeout(()=>{t.value?.style.animationFillMode===`forwards`&&(t.value.style.animationFillMode=e)})}e.target===t.value&&n===`none`&&u(`ANIMATION_END`)},p=e=>{e.target===t.value&&(i.value=J(t.value))},h=x(t,(e,t)=>{e?(n.value=getComputedStyle(e),e.addEventListener(`animationstart`,p),e.addEventListener(`animationcancel`,f),e.addEventListener(`animationend`,f)):(u(`ANIMATION_END`),s!==void 0&&c?.clearTimeout(s),t?.removeEventListener(`animationstart`,p),t?.removeEventListener(`animationcancel`,f),t?.removeEventListener(`animationend`,f))},{immediate:!0}),g=x(l,()=>{let e=J(t.value);i.value=l.value===`mounted`?e:`none`});return y(()=>{h(),g()}),{isPresent:m(()=>[`mounted`,`unmountSuspended`].includes(l.value))}}function J(e){return e&&getComputedStyle(e).animationName||`none`}var Me=o({name:`Presence`,props:{present:{type:Boolean,required:!0},forceMount:{type:Boolean}},slots:{},setup(e,{slots:t,expose:n}){let{present:i,forceMount:a}=s(e),o=r(),{isPresent:c}=je(i,o);n({present:c});let l=t.default({present:c.value});l=se(l||[]);let u=g();if(l&&l?.length>1){let e=u?.parent?.type.name?`<${u.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||c.value?_(t.default({present:c.value})[0],{ref:e=>{let t=le(e);return t?.hasAttribute===void 0||(t?.hasAttribute(`data-reka-popper-content-wrapper`)?o.value=t.firstElementChild:o.value=t),t}}):null}}),Ne=`dismissableLayer.pointerDownOutside`,Pe=`dismissableLayer.focusOutside`;function Fe(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 Ie(e,t,n=!0){let i=t?.value?.ownerDocument??globalThis?.document,a=r(!1),o=r(()=>{});return v(r=>{if(!D||!c(n))return;let s=async n=>{let r=n.target;if(!(!t?.value||!r)){if(Fe(t.value,r)){a.value=!1;return}if(n.target&&!a.value){let t={originalEvent:n};function r(){N(Ne,e,t)}n.pointerType===`touch`?(i.removeEventListener(`click`,o.value),o.value=r,i.addEventListener(`click`,o.value,{once:!0})):r()}else i.removeEventListener(`click`,o.value);a.value=!1}},l=window.setTimeout(()=>{i.addEventListener(`pointerdown`,s)},0);r(()=>{window.clearTimeout(l),i.removeEventListener(`pointerdown`,s),i.removeEventListener(`click`,o.value)})}),{onPointerDownCapture:()=>{c(n)&&(a.value=!0)}}}function Le(e,t,n=!0){let i=t?.value?.ownerDocument??globalThis?.document,a=r(!1);return v(r=>{if(!D||!c(n))return;let o=async n=>{if(!t?.value)return;await w(),await w();let r=n.target;!t.value||!r||Fe(t.value,r)||n.target&&!a.value&&N(Pe,e,{originalEvent:n})};i.addEventListener(`focusin`,o),r(()=>i.removeEventListener(`focusin`,o))}),{onFocusCapture:()=>{c(n)&&(a.value=!0)},onBlurCapture:()=>{c(n)&&(a.value=!1)}}}var Y=i({layersRoot:new Set,layersWithOutsidePointerEventsDisabled:new Set,originalBodyPointerEvents:void 0,branches:new Set}),Re=o({__name:`DismissableLayer`,props:{disableOutsidePointerEvents:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`,`focusOutside`,`interactOutside`,`dismiss`],setup(e,{emit:t}){let n=e,r=t,{forwardRef:i,currentElement:a}=T(),o=m(()=>a.value?.ownerDocument??globalThis.document),s=m(()=>Y.layersRoot),c=m(()=>a.value?Array.from(s.value).indexOf(a.value):-1),l=m(()=>Y.layersWithOutsidePointerEventsDisabled.size>0),d=m(()=>{let e=Array.from(s.value),[t]=[...Y.layersWithOutsidePointerEventsDisabled].slice(-1),n=e.indexOf(t);return c.value>=n}),h=Ie(async e=>{let t=[...Y.branches].some(t=>t?.contains(e.target));!d.value||t||(r(`pointerDownOutside`,e),r(`interactOutside`,e),await w(),e.defaultPrevented||r(`dismiss`))},a),g=Le(e=>{[...Y.branches].some(t=>t?.contains(e.target))||(r(`focusOutside`,e),r(`interactOutside`,e),e.defaultPrevented||r(`dismiss`))},a);return ae(`Escape`,e=>{c.value===s.value.size-1&&(r(`escapeKeyDown`,e),e.defaultPrevented||r(`dismiss`))}),v(e=>{a.value&&(n.disableOutsidePointerEvents&&(Y.layersWithOutsidePointerEventsDisabled.size===0&&(Y.originalBodyPointerEvents=o.value.body.style.pointerEvents,o.value.body.style.pointerEvents=`none`),Y.layersWithOutsidePointerEventsDisabled.add(a.value)),s.value.add(a.value),e(()=>{n.disableOutsidePointerEvents&&Y.layersWithOutsidePointerEventsDisabled.size===1&&!P(Y.originalBodyPointerEvents)&&(o.value.body.style.pointerEvents=Y.originalBodyPointerEvents)}))}),v(e=>{e(()=>{a.value&&(s.value.delete(a.value),Y.layersWithOutsidePointerEventsDisabled.delete(a.value))})}),(e,t)=>(E(),p(u(S),{ref:u(i),"as-child":e.asChild,as:e.as,"data-dismissable-layer":``,style:f({pointerEvents:l.value?d.value?`auto`:`none`:void 0}),onFocusCapture:u(g).onFocusCapture,onBlurCapture:u(g).onBlurCapture,onPointerdownCapture:u(h).onPointerDownCapture},{default:de(()=>[C(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`style`,`onFocusCapture`,`onBlurCapture`,`onPointerdownCapture`]))}}),ze=ee(()=>r([]));function Be(){let e=ze();return{add(t){let n=e.value[0];t!==n&&n?.pause(),e.value=X(e.value,t),e.value.unshift(t)},remove(t){e.value=X(e.value,t),e.value[0]?.resume()}}}function X(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}var Z=`focusScope.autoFocusOnMount`,Q=`focusScope.autoFocusOnUnmount`,Ve={bubbles:!1,cancelable:!0};function He(e,{select:t=!1}={}){let n=M();for(let r of e)if($(r,{select:t}),M()!==n)return!0}function Ue(e){let t=We(e);return[Ge(t,e),Ge(t.reverse(),e)]}function We(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 Ge(e,t){for(let n of e)if(!Ke(n,{upTo:t}))return n}function Ke(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 Je=o({__name:`FocusScope`,props:{loop:{type:Boolean,required:!1,default:!1},trapped:{type:Boolean,required:!1,default:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:[`mountAutoFocus`,`unmountAutoFocus`],setup(e,{emit:t}){let n=e,a=t,{currentRef:o,currentElement:s}=T(),c=r(null),l=Be(),d=i({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}});v(e=>{if(!D)return;let t=s.value;if(!n.trapped)return;function r(e){if(d.paused||!t)return;let n=e.target;t.contains(n)?c.value=n:$(c.value,{select:!0})}function i(e){if(d.paused||!t)return;let n=e.relatedTarget;n!==null&&(t.contains(n)||$(c.value,{select:!0}))}function a(e){let n=c.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()})}),v(async e=>{let t=s.value;if(await w(),!t)return;l.add(d);let n=M();if(!t.contains(n)){let e=new CustomEvent(Z,Ve);t.addEventListener(Z,e=>a(`mountAutoFocus`,e)),t.dispatchEvent(e),e.defaultPrevented||(He(We(t),{select:!0}),M()===n&&$(t))}e(()=>{t.removeEventListener(Z,e=>a(`mountAutoFocus`,e));let e=new CustomEvent(Q,Ve),r=e=>{a(`unmountAutoFocus`,e)};t.addEventListener(Q,r),t.dispatchEvent(e),setTimeout(()=>{e.defaultPrevented||$(n??document.body,{select:!0}),t.removeEventListener(Q,r),l.remove(d)},0)})});function f(e){if(!n.loop&&!n.trapped||d.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,r=M();if(t&&r){let t=e.currentTarget,[i,a]=Ue(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)=>(E(),p(u(S),{ref_key:`currentRef`,ref:o,tabindex:`-1`,"as-child":e.asChild,as:e.as,onKeydown:f},{default:de(()=>[C(e.$slots,`default`)]),_:3},8,[`as-child`,`as`]))}}),Ye=[`Enter`,` `],Xe=[`ArrowDown`,`PageUp`,`Home`],Ze=[`ArrowUp`,`PageDown`,`End`];[...Xe,...Ze],[...Ye],[...Ye];function Qe(e){return e?`open`:`closed`}function $e(e){let t=M();for(let n of e)if(n===t||(n.focus(),M()!==t))return}var et=o({__name:`Teleport`,props:{to:{type:null,required:!1,default:`body`},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(t){let n=re();return(t,r)=>u(n)||t.forceMount?(E(),p(e,{key:0,to:t.to,disabled:t.disabled,defer:t.defer},[C(t.$slots,`default`)],8,[`to`,`disabled`,`defer`])):h(`v-if`,!0)}});export{N as _,Re as a,_e as b,Ae as c,V as d,B as f,P as g,F as h,Je as i,Oe as l,R as m,$e as n,Me as o,xe as p,Qe as r,q as s,et as t,Ce as u,M as v,j as y};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Dt as e,E as t,G as n,J as r,K as i,Lt as a,Mt as o,Pt as s,R as c,Rt as l,S as u,U as d,V as f,X as p,_t as m,d as h,dt as g,ft as _,g as v,gt as y,i as b,it as x,lt as S,m as C,o as w,ot as T,q as E,r as D,tt as O,w as k,x as A,yt as j,zt as ee}from"./button-BCrIpNwA.js";import{a as te,c as ne,d as re,m as ie,o as M,t as N,u as P,y as F}from"./Teleport-CgTHarey.js";import{t as I}from"./VisuallyHidden-fbPmoMwi.js";import{i as L,n as R,r as z,t as B}from"./PopperContent-DZ6plcjf.js";function V(t,n){let r=u(!1,300);k(()=>{r.value=!1});let i=e(null),a=v();function o(){i.value=null,r.value=!1}function s(e,t){if(!t)return;let n=e.currentTarget,a={x:e.clientX,y:e.clientY},o=U(a,H(a,n.getBoundingClientRect()),1),s=W(t.getBoundingClientRect());i.value=K([...o,...s]),r.value=!0}return m(e=>{if(t.value&&n.value){let r=e=>s(e,n.value),i=e=>s(e,t.value);t.value.addEventListener(`pointerleave`,r),n.value.addEventListener(`pointerleave`,i),e(()=>{t.value?.removeEventListener(`pointerleave`,r),n.value?.removeEventListener(`pointerleave`,i)})}}),m(e=>{if(i.value){let r=e=>{if(!i.value||!(e.target instanceof Element))return;let r=e.target,s={x:e.clientX,y:e.clientY},c=t.value?.contains(r)||n.value?.contains(r),l=!G(s,i.value),u=!!r.closest(`[data-grace-area-trigger]`);c?o():(l||u)&&(o(),a.trigger())};t.value?.ownerDocument.addEventListener(`pointermove`,r),e(()=>t.value?.ownerDocument.removeEventListener(`pointermove`,r))}}),{isPointerInTransit:r,onPointerExit:a.on}}function H(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}function U(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n});break}return r}function W(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}function G(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e].x,s=t[e].y,c=t[a].x,l=t[a].y;s>r!=l>r&&n<(c-o)*(r-s)/(l-s)+o&&(i=!i)}return i}function K(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),q(t)}function q(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t.at(-1),n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n.at(-1),t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}var ae={key:0,d:`M0 0L6 6L12 0`},J={key:1,d:`M0 0L4.58579 4.58579C5.36683 5.36683 6.63316 5.36684 7.41421 4.58579L12 0`},oe=r({__name:`Arrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let t=e;return w(),(e,r)=>(T(),d(s(b),O(t,{width:e.width,height:e.height,viewBox:e.asChild?void 0:`0 0 12 6`,preserveAspectRatio:e.asChild?void 0:`none`}),{default:j(()=>[S(e.$slots,`default`,{},()=>[e.rounded?(T(),n(`path`,J)):(T(),n(`path`,ae))])]),_:3},16,[`width`,`height`,`viewBox`,`preserveAspectRatio`]))}}),se={top:`bottom`,right:`left`,bottom:`top`,left:`right`},ce=r({inheritAttrs:!1,__name:`PopperArrow`,props:{width:{type:Number,required:!1},height:{type:Number,required:!1},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let{forwardRef:t}=w(),r=R(),i=f(()=>se[r.placedSide.value]);return(e,a)=>(T(),n(`span`,{ref:e=>{s(r).onArrowChange(e??void 0)},style:l({position:`absolute`,left:s(r).arrowX?.value?`${s(r).arrowX?.value}px`:void 0,top:s(r).arrowY?.value?`${s(r).arrowY?.value}px`:void 0,[i.value]:0,transformOrigin:{top:``,right:`0 0`,bottom:`center 0`,left:`100% 0`}[s(r).placedSide.value],transform:{top:`translateY(100%)`,right:`translateY(50%) rotate(90deg) translateX(-50%)`,bottom:`rotate(180deg)`,left:`translateY(50%) rotate(-90deg) translateX(50%)`}[s(r).placedSide.value],visibility:s(r).shouldHideArrow.value?`hidden`:void 0})},[E(oe,O(e.$attrs,{ref:s(t),style:{display:`block`},as:e.as,"as-child":e.asChild,rounded:e.rounded,width:e.width,height:e.height}),{default:j(()=>[S(e.$slots,`default`)]),_:3},16,[`as`,`as-child`,`rounded`,`width`,`height`])],4))}}),le=r({__name:`TooltipArrow`,props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`svg`}},setup(e){let t=e;return w(),(e,n)=>(T(),d(s(ce),a(p(t)),{default:j(()=>[S(e.$slots,`default`)]),_:3},16))}}),[Y,ue]=F(`TooltipProvider`),de=r({inheritAttrs:!1,__name:`TooltipProvider`,props:{delayDuration:{type:Number,required:!1,default:700},skipDelayDuration:{type:Number,required:!1,default:300},disableHoverableContent:{type:Boolean,required:!1,default:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:!1},content:{type:Object,required:!1}},setup(n){let{delayDuration:r,skipDelayDuration:i,disableHoverableContent:a,disableClosingTrigger:s,ignoreNonKeyboardFocus:c,disabled:l,content:u}=o(n);w();let d=e(!0),f=e(!1),{start:p,stop:m}=t(()=>{d.value=!0},i,{immediate:!1});return ue({isOpenDelayed:d,delayDuration:r,onOpen(){m(),d.value=!1},onClose(){p()},isPointerInTransitRef:f,disableHoverableContent:a,disableClosingTrigger:s,disabled:l,ignoreNonKeyboardFocus:c,content:u}),(e,t)=>S(e.$slots,`default`)}}),X=`tooltip.open`,[Z,fe]=F(`TooltipRoot`),pe=r({__name:`TooltipRoot`,props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:[`update:open`],setup(n,{emit:r}){let i=n,a=r;w();let o=Y(),c=f(()=>i.disableHoverableContent??o.disableHoverableContent.value),l=f(()=>i.disableClosingTrigger??o.disableClosingTrigger.value),u=f(()=>i.disabled??o.disabled.value),p=f(()=>i.delayDuration??o.delayDuration.value),m=f(()=>i.ignoreNonKeyboardFocus??o.ignoreNonKeyboardFocus.value),h=C(i,`open`,a,{defaultValue:i.defaultOpen,passive:i.open===void 0});y(h,e=>{o.onClose&&(e?(o.onOpen(),document.dispatchEvent(new CustomEvent(X))):o.onClose())});let g=e(!1),_=e(),v=f(()=>h.value?g.value?`delayed-open`:`instant-open`:`closed`),{start:b,stop:x}=t(()=>{g.value=!0,h.value=!0},p,{immediate:!1});function E(){x(),g.value=!1,h.value=!0}function D(){x(),h.value=!1}function O(){b()}return fe({contentId:``,open:h,stateAttribute:v,trigger:_,onTriggerChange(e){_.value=e},onTriggerEnter(){o.isOpenDelayed.value?O():E()},onTriggerLeave(){c.value?D():x()},onOpen:E,onClose:D,disableHoverableContent:c,disableClosingTrigger:l,disabled:u,ignoreNonKeyboardFocus:m}),(e,t)=>(T(),d(s(L),null,{default:j(()=>[S(e.$slots,`default`,{open:s(h)})]),_:3}))}}),Q=r({__name:`TooltipContentImpl`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,a=Z(),o=Y(),{forwardRef:l,currentElement:u}=w(),p=f(()=>n.ariaLabel||u.value?.textContent),m=f(()=>{let{ariaLabel:e,...t}=n;return ie(t,o.content.value??{},{side:`top`,sideOffset:0,align:`center`,avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:`partial`,hideWhenDetached:!1})});return x(()=>{h(window,`scroll`,e=>{e.target?.contains(a.trigger.value)&&a.onClose()},{capture:!0}),h(window,X,a.onClose)}),(e,t)=>(T(),d(s(te),{"as-child":``,"disable-outside-pointer-events":!1,onEscapeKeyDown:t[0]||=e=>r(`escapeKeyDown`,e),onPointerDownOutside:t[1]||=e=>{s(a).disableClosingTrigger.value&&s(a).trigger.value?.contains(e.target)&&e.preventDefault(),r(`pointerDownOutside`,e)},onFocusOutside:t[2]||=c(()=>{},[`prevent`]),onDismiss:t[3]||=e=>s(a).onClose()},{default:j(()=>[E(s(B),O({ref:s(l),"data-state":s(a).stateAttribute.value},{...e.$attrs,...m.value},{style:{"--reka-tooltip-content-transform-origin":`var(--reka-popper-transform-origin)`,"--reka-tooltip-content-available-width":`var(--reka-popper-available-width)`,"--reka-tooltip-content-available-height":`var(--reka-popper-available-height)`,"--reka-tooltip-trigger-width":`var(--reka-popper-anchor-width)`,"--reka-tooltip-trigger-height":`var(--reka-popper-anchor-height)`}}),{default:j(()=>[S(e.$slots,`default`),E(s(I),{id:s(a).contentId,role:`tooltip`},{default:j(()=>[i(ee(p.value),1)]),_:1},8,[`id`])]),_:3},16,[`data-state`])]),_:3}))}}),me=r({__name:`TooltipContentHoverable`,props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(e){let t=re(e),{forwardRef:n,currentElement:r}=w(),{trigger:i,onClose:a}=Z(),o=Y(),{isPointerInTransit:c,onPointerExit:l}=V(i,r);return o.isPointerInTransitRef=c,l(()=>{a()}),(e,r)=>(T(),d(Q,O({ref:s(n)},s(t)),{default:j(()=>[S(e.$slots,`default`)]),_:3},16))}}),he=r({__name:`TooltipContent`,props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=Z(),a=P(n,r),{forwardRef:o}=w();return(e,t)=>(T(),d(s(M),{present:e.forceMount||s(i).open.value},{default:j(()=>[(T(),d(g(s(i).disableHoverableContent.value?Q:me),O({ref:s(o)},s(a)),{default:j(()=>[S(e.$slots,`default`)]),_:3},16))]),_:3},8,[`present`]))}}),ge=r({__name:`TooltipPortal`,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)=>(T(),d(s(N),a(p(t)),{default:j(()=>[S(e.$slots,`default`)]),_:3},16))}}),$=r({__name:`TooltipTrigger`,props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(t){let n=t,r=Z(),i=Y();r.contentId||=ne(void 0,`reka-tooltip-content`);let{forwardRef:a,currentElement:o}=w(),c=e(!1),l=e(!1),u=f(()=>r.disabled.value?{}:{click:C,focus:v,pointermove:h,pointerleave:g,pointerdown:m,blur:y});x(()=>{r.onTriggerChange(o.value)});function p(){setTimeout(()=>{c.value=!1},1)}function m(){r.open&&!r.disableClosingTrigger.value&&r.onClose(),c.value=!0,document.addEventListener(`pointerup`,p,{once:!0})}function h(e){e.pointerType!==`touch`&&!l.value&&!i.isPointerInTransitRef.value&&(r.onTriggerEnter(),l.value=!0)}function g(){r.onTriggerLeave(),l.value=!1}function v(e){c.value||r.ignoreNonKeyboardFocus.value&&!e.target.matches?.(`:focus-visible`)||r.onOpen()}function y(){r.onClose()}function C(){r.disableClosingTrigger.value||r.onClose()}return(e,t)=>(T(),d(s(z),{"as-child":``,reference:e.reference},{default:j(()=>[E(s(b),O({ref:s(a),"aria-describedby":s(r).open.value?s(r).contentId:void 0,"data-state":s(r).stateAttribute.value,as:e.as,"as-child":n.asChild,"data-grace-area-trigger":``},_(u.value)),{default:j(()=>[S(e.$slots,`default`)]),_:3},16,[`aria-describedby`,`data-state`,`as`,`as-child`])]),_:3},8,[`reference`]))}}),_e=r({__name:`Tooltip`,props:{defaultOpen:{type:Boolean},open:{type:Boolean},delayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=P(e,t);return(e,t)=>(T(),d(s(pe),O({"data-slot":`tooltip`},s(n)),{default:j(t=>[S(e.$slots,`default`,a(p(t)))]),_:3},16))}}),ve=r({inheritAttrs:!1,__name:`TooltipContent`,props:{forceMount:{type:Boolean},ariaLabel:{},asChild:{type:Boolean},as:{},side:{},sideOffset:{default:0},align:{},alignOffset:{},avoidCollisions:{type:Boolean},collisionBoundary:{},collisionPadding:{},arrowPadding:{},sticky:{},hideWhenDetached:{type:Boolean},positionStrategy:{},updatePositionStrategy:{},class:{type:[Boolean,null,String,Object,Array]}},emits:[`escapeKeyDown`,`pointerDownOutside`],setup(e,{emit:t}){let n=e,r=t,i=P(A(n,`class`),r);return(e,t)=>(T(),d(s(ge),null,{default:j(()=>[E(s(he),O({"data-slot":`tooltip-content`},{...s(i),...e.$attrs},{class:s(D)(`data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-xs has-data-[slot=kbd]:pr-1.5 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-dropdown **:data-[slot=kbd]:rounded-sm bg-foreground text-background z-dropdown w-fit max-w-xs origin-(--reka-tooltip-content-transform-origin)`,n.class)}),{default:j(()=>[S(e.$slots,`default`),E(s(le),{class:`size-2.5 rotate-45 rounded-[2px] bg-foreground fill-foreground z-dropdown translate-y-[calc(-50%_-_2px)]`})]),_:3},16,[`class`])]),_:3}))}}),ye=r({__name:`TooltipProvider`,props:{delayDuration:{default:0},skipDelayDuration:{},disableHoverableContent:{type:Boolean},disableClosingTrigger:{type:Boolean},disabled:{type:Boolean},ignoreNonKeyboardFocus:{type:Boolean},content:{}},setup(e){let t=e;return(e,n)=>(T(),d(s(de),a(p(t)),{default:j(()=>[S(e.$slots,`default`)]),_:3},16))}}),be=r({__name:`TooltipTrigger`,props:{reference:{},asChild:{type:Boolean},as:{}},setup(e){let t=e;return(e,n)=>(T(),d(s($),O({"data-slot":`tooltip-trigger`},t),{default:j(()=>[S(e.$slots,`default`)]),_:3},16))}});export{_e as i,ye as n,ve as r,be as t};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{D as e,Dt as t,G as n,H as r,It as i,J as a,K as o,Lt as s,Mt as c,Pt as l,Rt as u,T as d,U as f,V as p,W as m,X as h,_t as g,at as _,ct as v,dt as y,gt as b,i as x,it as S,lt as C,n as w,o as T,ot as E,p as D,q as O,r as k,tt as A,x as j,yt as M,z as N,zt as P}from"./button-BCrIpNwA.js";import{b as F,o as I,s as L,y as R}from"./Teleport-CgTHarey.js";import{t as ee}from"./chevron-down-CWBwGxSp.js";import{t as z}from"./file-text-BavS6SrF.js";import{n as te,t as ne}from"./useNonce-D5lpSPNk.js";import{r as re}from"./Collection-DbtqQ1jF.js";import{n as ie,r as ae,t as oe}from"./CollapsibleTrigger-DDCUOXDR.js";import{a as se,i as ce,n as le,o as ue,t as de}from"./dialog-BNlCZpHK.js";import{n as fe,r as pe,t as B}from"./TabsTrigger-CgDhZGkT.js";import{t as V}from"./badge-BVxnlnsH.js";import{t as me}from"./useClipboard-Bq8yZunx.js";var he=F(`brain`,[[`path`,{d:`M12 18V5`,key:`adv99a`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`,key:`1e3is1`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`,key:`1gqd8o`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`,key:`iwvgf7`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`,key:`efp6ie`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`,key:`1gq6am`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`,key:`k1g0md`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`,key:`q97ue3`}]]),ge=F(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),H=F(`file-braces`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1`,key:`1oajmo`}],[`path`,{d:`M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1`,key:`mpwhp6`}]]),U=F(`message-square`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]),_e=F(`wrench`,[[`path`,{d:`M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z`,key:`1ngwbx`}]]),[W,ve]=R(`ScrollAreaRoot`),ye=a({__name:`ScrollAreaRoot`,props:{type:{type:String,required:!1,default:`hover`},dir:{type:String,required:!1},scrollHideDelay:{type:Number,required:!1,default:600},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e,{expose:n}){let r=e,i=t(0),a=t(0),o=t(),s=t(),d=t(),p=t(),m=t(!1),h=t(!1),{type:g,dir:_,scrollHideDelay:v}=c(r),y=re(_);function b(){o.value?.scrollTo({top:0})}function S(){o.value?.scrollTo({top:0,left:0})}n({viewport:o,scrollTop:b,scrollTopLeft:S});let{forwardRef:w,currentElement:D}=T();return ve({type:g,dir:y,scrollHideDelay:v,scrollArea:D,viewport:o,onViewportChange:e=>{o.value=e||void 0},content:s,onContentChange:e=>{s.value=e},scrollbarX:d,scrollbarXEnabled:m,scrollbarY:p,scrollbarYEnabled:h,onScrollbarXChange:e=>{d.value=e||void 0},onScrollbarYChange:e=>{p.value=e||void 0},onScrollbarXEnabledChange:e=>{m.value=e},onScrollbarYEnabledChange:e=>{h.value=e},onCornerWidthChange:e=>{i.value=e},onCornerHeightChange:e=>{a.value=e}}),(e,t)=>(E(),f(l(x),{ref:l(w),"as-child":r.asChild,as:e.as,dir:l(y),style:u({position:`relative`,"--reka-scroll-area-corner-width":`${i.value}px`,"--reka-scroll-area-corner-height":`${a.value}px`})},{default:M(()=>[C(e.$slots,`default`)]),_:3},8,[`as-child`,`as`,`dir`,`style`]))}}),be=a({__name:`ScrollAreaCornerImpl`,setup(e){let n=W(),r=t(0),i=t(0),a=p(()=>!!r.value&&!!i.value);function o(){let e=n.scrollbarX.value?.offsetHeight||0;n.onCornerHeightChange(e),i.value=e}function s(){let e=n.scrollbarY.value?.offsetWidth||0;n.onCornerWidthChange(e),r.value=e}return D(n.scrollbarX.value,o),D(n.scrollbarY.value,s),b(()=>n.scrollbarX.value,o),b(()=>n.scrollbarY.value,s),(e,t)=>a.value?(E(),f(l(x),A({key:0,style:{width:`${r.value}px`,height:`${i.value}px`,position:`absolute`,right:l(n).dir.value===`ltr`?0:void 0,left:l(n).dir.value===`rtl`?0:void 0,bottom:0}},e.$parent?.$props),{default:M(()=>[C(e.$slots,`default`)]),_:3},16,[`style`])):m(`v-if`,!0)}}),xe=a({__name:`ScrollAreaCorner`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,{forwardRef:n}=T(),r=W(),i=p(()=>!!r.scrollbarX.value&&!!r.scrollbarY.value),a=p(()=>r.type.value!==`scroll`&&i.value);return(e,r)=>a.value?(E(),f(be,A({key:0},t,{ref:l(n)}),{default:M(()=>[C(e.$slots,`default`)]),_:3},16)):m(`v-if`,!0)}});function Se(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}function G(e){let t=Ce(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}function Ce(e,t){let n=e/t;return Number.isNaN(n)?0:n}function we(e,t=()=>{}){let n={left:e.scrollLeft,top:e.scrollTop},r=0;return(function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)})(),()=>window.cancelAnimationFrame(r)}function Te(e,t,n=`ltr`){let r=G(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=n===`ltr`?[0,o]:[o*-1,0],l=te(e,c[0],c[1]);return Se([0,o],[0,s])(l)}function K(e){return e?Number.parseInt(e,10):0}function Ee(e,t,n,r=`ltr`){let i=G(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return Se([c,l],d)(e)}function De(e,t){return e>0&&e<t}var Oe=a({__name:`ScrollAreaScrollbarX`,setup(e){let t=W(),n=Y(),{forwardRef:r,currentElement:i}=T();S(()=>{i.value&&t.onScrollbarXChange(i.value)});let a=p(()=>n.sizes.value);return(e,i)=>(E(),f(Ie,{ref:l(r),"is-horizontal":!0,"data-orientation":`horizontal`,style:u({bottom:0,left:l(t).dir.value===`rtl`?`var(--reka-scroll-area-corner-width)`:0,right:l(t).dir.value===`ltr`?`var(--reka-scroll-area-corner-width)`:0,"--reka-scroll-area-thumb-width":a.value?`${l(G)(a.value)}px`:void 0}),onOnDragScroll:i[0]||=e=>l(n).onDragScroll(e.x)},{default:M(()=>[C(e.$slots,`default`)]),_:3},8,[`style`]))}}),ke=a({__name:`ScrollAreaScrollbarY`,setup(e){let t=W(),n=Y(),{forwardRef:r,currentElement:i}=T();S(()=>{i.value&&t.onScrollbarYChange(i.value)});let a=p(()=>n.sizes.value);return(e,i)=>(E(),f(Ie,{ref:l(r),"is-horizontal":!1,"data-orientation":`vertical`,style:u({top:0,right:l(t).dir.value===`ltr`?0:void 0,left:l(t).dir.value===`rtl`?0:void 0,bottom:`var(--reka-scroll-area-corner-height)`,"--reka-scroll-area-thumb-height":a.value?`${l(G)(a.value)}px`:void 0}),onOnDragScroll:i[0]||=e=>l(n).onDragScroll(e.y)},{default:M(()=>[C(e.$slots,`default`)]),_:3},8,[`style`]))}}),q=a({__name:`ScrollAreaScrollbarAuto`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let n=W(),r=J(),{forwardRef:i}=T(),a=t(!1),o=d(()=>{if(n.viewport.value){let e=n.viewport.value.offsetWidth<n.viewport.value.scrollWidth,t=n.viewport.value.offsetHeight<n.viewport.value.scrollHeight;a.value=r.isHorizontal.value?e:t}},10);return S(()=>o()),D(n.viewport,o),D(n.content,o),(e,t)=>(E(),f(l(I),{present:e.forceMount||a.value},{default:M(()=>[O(X,A(e.$attrs,{ref:l(i),"data-state":a.value?`visible`:`hidden`}),{default:M(()=>[C(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),Ae=a({inheritAttrs:!1,__name:`ScrollAreaScrollbarGlimpse`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let t=W(),n=J(),{forwardRef:r}=T(),{state:i,dispatch:a}=L(`hidden`,{hidden:{POINTER_ENTER:`glimpse`,SCROLL:`scrolling`},glimpse:{HIDE:`hidden`,POINTER_LEAVE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`glimpse`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}}),o=p(()=>i.value!==`hidden`);function s(){a(`POINTER_ENTER`)}function c(){a(`POINTER_LEAVE`)}let u=d(()=>a(`SCROLL_END`),100);return g(e=>{if(i.value===`glimpse`){let n=window.setTimeout(a,t.scrollHideDelay.value,`HIDE`);e(()=>{window.clearTimeout(n)})}}),g(e=>{if(i.value===`idle`){let n=window.setTimeout(a,t.scrollHideDelay.value,`HIDE`);e(()=>{window.clearTimeout(n)})}}),g(e=>{let r=t.viewport.value,i=n.isHorizontal.value?`scrollLeft`:`scrollTop`;if(r){let t=r[i],n=()=>{let e=r[i];t!==e&&(a(`SCROLL`),u()),t=e};r.addEventListener(`scroll`,n),e(()=>{r.removeEventListener(`scroll`,n)})}}),S(()=>{let e=t.scrollArea.value;e&&(e.addEventListener(`pointerenter`,s),e.addEventListener(`pointerleave`,c))}),_(()=>{let e=t.scrollArea.value;e&&(e.removeEventListener(`pointerenter`,s),e.removeEventListener(`pointerleave`,c))}),(e,t)=>(E(),f(l(I),{present:e.forceMount||o.value},{default:M(()=>[O(q,A(e.$attrs,{ref:l(r),"data-state":o.value?`visible`:`hidden`}),{default:M(()=>[C(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),je=a({inheritAttrs:!1,__name:`ScrollAreaScrollbarHover`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let n=W(),{forwardRef:r}=T(),i,a=t(!1);function o(){window.clearTimeout(i),a.value=!0}function s(){i=window.setTimeout(()=>{a.value=!1},n.scrollHideDelay.value)}return S(()=>{let e=n.scrollArea.value;e&&(e.addEventListener(`pointerenter`,o),e.addEventListener(`pointerleave`,s))}),_(()=>{let e=n.scrollArea.value;e&&(window.clearTimeout(i),e.removeEventListener(`pointerenter`,o),e.removeEventListener(`pointerleave`,s))}),(e,t)=>(E(),f(l(I),{present:e.forceMount||a.value},{default:M(()=>[O(q,A(e.$attrs,{ref:l(r),"data-state":a.value?`visible`:`hidden`}),{default:M(()=>[C(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),Me=a({__name:`ScrollAreaScrollbarScroll`,props:{forceMount:{type:Boolean,required:!1}},setup(e){let t=W(),n=J(),{forwardRef:r}=T(),{state:i,dispatch:a}=L(`hidden`,{hidden:{SCROLL:`scrolling`},scrolling:{SCROLL_END:`idle`,POINTER_ENTER:`interacting`},interacting:{SCROLL:`interacting`,POINTER_LEAVE:`idle`},idle:{HIDE:`hidden`,SCROLL:`scrolling`,POINTER_ENTER:`interacting`}}),o=p(()=>i.value!==`hidden`);g(e=>{if(i.value===`idle`){let n=window.setTimeout(a,t.scrollHideDelay.value,`HIDE`);e(()=>{window.clearTimeout(n)})}});let s=d(()=>a(`SCROLL_END`),100);return g(e=>{let r=t.viewport.value,i=n.isHorizontal.value?`scrollLeft`:`scrollTop`;if(r){let t=r[i],n=()=>{let e=r[i];t!==e&&(a(`SCROLL`),s()),t=e};r.addEventListener(`scroll`,n),e(()=>{r.removeEventListener(`scroll`,n)})}}),(e,t)=>(E(),f(l(I),{present:e.forceMount||o.value},{default:M(()=>[O(X,A(e.$attrs,{ref:l(r),"data-state":o.value?`visible`:`hidden`}),{default:M(()=>[C(e.$slots,`default`)]),_:3},16,[`data-state`])]),_:3},8,[`present`]))}}),[J,Ne]=R(`ScrollAreaScrollbar`),Pe=a({inheritAttrs:!1,__name:`ScrollAreaScrollbar`,props:{orientation:{type:String,required:!1,default:`vertical`},forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`div`}},setup(e){let t=e,{forwardRef:n}=T(),r=W(),i=p(()=>t.orientation===`horizontal`);b(i,()=>{i.value?r.onScrollbarXEnabledChange(!0):r.onScrollbarYEnabledChange(!0)},{immediate:!0}),_(()=>{r.onScrollbarXEnabledChange(!1),r.onScrollbarYEnabledChange(!1)});let{orientation:a,forceMount:o,asChild:s,as:u}=c(t);return Ne({orientation:a,forceMount:o,isHorizontal:i,as:u,asChild:s}),(e,t)=>l(r).type.value===`hover`?(E(),f(je,A({key:0},e.$attrs,{ref:l(n),"force-mount":l(o)}),{default:M(()=>[C(e.$slots,`default`)]),_:3},16,[`force-mount`])):l(r).type.value===`scroll`?(E(),f(Me,A({key:1},e.$attrs,{ref:l(n),"force-mount":l(o)}),{default:M(()=>[C(e.$slots,`default`)]),_:3},16,[`force-mount`])):l(r).type.value===`glimpse`?(E(),f(Ae,A({key:2},e.$attrs,{ref:l(n),"force-mount":l(o)}),{default:M(()=>[C(e.$slots,`default`)]),_:3},16,[`force-mount`])):l(r).type.value===`auto`?(E(),f(q,A({key:3},e.$attrs,{ref:l(n),"force-mount":l(o)}),{default:M(()=>[C(e.$slots,`default`)]),_:3},16,[`force-mount`])):l(r).type.value===`always`?(E(),f(X,A({key:4},e.$attrs,{ref:l(n),"data-state":`visible`}),{default:M(()=>[C(e.$slots,`default`)]),_:3},16)):m(`v-if`,!0)}}),[Y,Fe]=R(`ScrollAreaScrollbarVisible`),X=a({__name:`ScrollAreaScrollbarVisible`,setup(e){let n=W(),r=J(),{forwardRef:i}=T(),a=t({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),o=p(()=>{let e=Ce(a.value.viewport,a.value.content);return e>0&&e<1}),s=t(),c=t(0);function u(e,t){if(_.value){let r=n.viewport.value.scrollLeft+e.deltaY;n.viewport.value.scrollLeft=r,De(r,t)&&e.preventDefault()}else{let r=n.viewport.value.scrollTop+e.deltaY;n.viewport.value.scrollTop=r,De(r,t)&&e.preventDefault()}}function d(e,t){_.value?c.value=t.x:c.value=t.y}function m(e){c.value=0}function h(e){a.value=e}function g(e,t){return Ee(e,c.value,a.value,t)}let _=p(()=>r.isHorizontal.value);function v(e){_.value?n.viewport.value.scrollLeft=g(e,n.dir.value):n.viewport.value.scrollTop=g(e)}function y(){if(_.value){if(n.viewport.value&&s.value){let e=n.viewport.value.scrollLeft,t=Te(e,a.value,n.dir.value);s.value.style.transform=`translate3d(${t}px, 0, 0)`}}else if(n.viewport.value&&s.value){let e=n.viewport.value.scrollTop,t=Te(e,a.value);s.value.style.transform=`translate3d(0, ${t}px, 0)`}}function b(e){s.value=e}return Fe({sizes:a,hasThumb:o,handleWheelScroll:u,handleThumbDown:d,handleThumbUp:m,handleSizeChange:h,onThumbPositionChange:y,onThumbChange:b,onDragScroll:v}),(e,t)=>_.value?(E(),f(Oe,A({key:0},e.$attrs,{ref:l(i)}),{default:M(()=>[C(e.$slots,`default`)]),_:3},16)):(E(),f(ke,A({key:1},e.$attrs,{ref:l(i)}),{default:M(()=>[C(e.$slots,`default`)]),_:3},16))}}),Ie=a({__name:`ScrollAreaScrollbarImpl`,props:{isHorizontal:{type:Boolean,required:!0}},emits:[`onDragScroll`,`onWheelScroll`,`onThumbPointerDown`],setup(e,{emit:n}){let r=e,i=n,a=W(),o=Y(),s=J(),{forwardRef:c,currentElement:u}=T(),d=t(``),p=t();function m(e){p.value&&i(`onDragScroll`,{x:e.clientX-p.value?.left,y:e.clientY-p.value?.top})}function h(e){e.button===0&&(e.target.setPointerCapture(e.pointerId),p.value=u.value.getBoundingClientRect(),d.value=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,a.viewport&&(a.viewport.value.style.scrollBehavior=`auto`),m(e))}function g(e){m(e)}function v(e){let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=d.value,a.viewport&&(a.viewport.value.style.scrollBehavior=``),p.value=void 0}function y(e){let t=e.target,n=u.value?.contains(t),r=o.sizes.value.content-o.sizes.value.viewport;n&&o.handleWheelScroll(e,r)}S(()=>{document.addEventListener(`wheel`,y,{passive:!1})}),_(()=>{document.removeEventListener(`wheel`,y)});function b(){u.value&&(r.isHorizontal?o.handleSizeChange({content:a.viewport.value?.scrollWidth??0,viewport:a.viewport.value?.offsetWidth??0,scrollbar:{size:u.value.clientWidth??0,paddingStart:K(getComputedStyle(u.value).paddingLeft),paddingEnd:K(getComputedStyle(u.value).paddingRight)}}):o.handleSizeChange({content:a.viewport.value?.scrollHeight??0,viewport:a.viewport.value?.offsetHeight??0,scrollbar:{size:u.value?.clientHeight??0,paddingStart:K(getComputedStyle(u.value).paddingTop),paddingEnd:K(getComputedStyle(u.value).paddingBottom)}}),o.onThumbPositionChange())}return D(u,b),D(a.content,b),(e,t)=>(E(),f(l(x),{ref:l(c),style:{position:`absolute`},"data-scrollbarimpl":``,as:l(s).as.value,"as-child":l(s).asChild.value,onPointerdown:h,onPointermove:g,onPointerup:v},{default:M(()=>[C(e.$slots,`default`)]),_:3},8,[`as`,`as-child`]))}}),Le=a({__name:`ScrollAreaThumb`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(n){let r=n,i=W(),a=Y();function o(e){let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;a.handleThumbDown(e,{x:n,y:r})}function s(e){a.handleThumbUp(e)}let{forwardRef:c,currentElement:u}=T(),d=t(),m=p(()=>i.viewport.value);function h(){d.value||(d.value=we(m.value,a.onThumbPositionChange),a.onThumbPositionChange())}return e(p(()=>a.sizes.value),()=>{a.onThumbChange(u.value),m.value&&(a.onThumbPositionChange(),m.value.addEventListener(`scroll`,h))}),_(()=>{m.value.removeEventListener(`scroll`,h),i.viewport.value?.removeEventListener(`scroll`,h)}),(e,t)=>(E(),f(l(x),{ref:l(c),"data-state":l(a).hasThumb?`visible`:`hidden`,style:{width:`var(--reka-scroll-area-thumb-width)`,height:`var(--reka-scroll-area-thumb-height)`},"as-child":r.asChild,as:e.as,onPointerdown:o,onPointerup:s},{default:M(()=>[C(e.$slots,`default`)]),_:3},8,[`data-state`,`as-child`,`as`]))}}),Re=a({inheritAttrs:!1,__name:`ScrollAreaViewport`,props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e,{expose:i}){let a=e,{nonce:s}=c(a),d=ne(s),f=W(),p=t();S(()=>{f.onViewportChange(p.value),f.onContentChange(h.value)}),i({viewportElement:p});let{forwardRef:m,currentElement:h}=T();return(e,t)=>(E(),n(N,null,[r(`div`,A({ref_key:`viewportElement`,ref:p,"data-reka-scroll-area-viewport":``,style:{overflowX:l(f).scrollbarXEnabled.value?`scroll`:`hidden`,overflowY:l(f).scrollbarYEnabled.value?`scroll`:`hidden`}},e.$attrs,{tabindex:0}),[O(l(x),{ref:l(m),style:u({minWidth:l(f).scrollbarXEnabled.value?`fit-content`:void 0}),"as-child":a.asChild,as:e.as},{default:M(()=>[C(e.$slots,`default`)]),_:3},8,[`style`,`as-child`,`as`])],16),O(l(x),{as:`style`,nonce:l(d)},{default:M(()=>t[0]||=[o(` /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-scroll-area-viewport] { scrollbar-width:none; -ms-overflow-style:none; -webkit-overflow-scrolling:touch; } [data-reka-scroll-area-viewport]::-webkit-scrollbar { display:none; } `)]),_:1,__:[0]},8,[`nonce`])],64))}}),ze=a({__name:`BaseSeparator`,props:{orientation:{type:String,required:!1,default:`horizontal`},decorative:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e,n=[`horizontal`,`vertical`];function r(e){return n.includes(e)}let i=p(()=>r(t.orientation)?t.orientation:`horizontal`),a=p(()=>i.value===`vertical`?t.orientation:void 0),o=p(()=>t.decorative?{role:`none`}:{"aria-orientation":a.value,role:`separator`});return(e,t)=>(E(),f(l(x),A({as:e.as,"as-child":e.asChild,"data-orientation":i.value},o.value),{default:M(()=>[C(e.$slots,`default`)]),_:3},16,[`as`,`as-child`,`data-orientation`]))}}),Be=a({__name:`Separator`,props:{orientation:{type:String,required:!1,default:`horizontal`},decorative:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return(e,n)=>(E(),f(ze,s(h(t)),{default:M(()=>[C(e.$slots,`default`)]),_:3},16))}}),Z=a({__name:`Separator`,props:{orientation:{default:`horizontal`},decorative:{type:Boolean,default:!0},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=j(t,`class`);return(e,r)=>(E(),f(l(Be),A({"data-slot":`separator`},l(n),{class:l(k)(`shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch`,t.class)}),null,16,[`class`]))}}),Q=1e3;function Ve(e,t){let n=e.attempts.length>0?e.attempts[e.attempts.length-1]:void 0,r=e.streamMetrics,i=r?.tokensPerSecond??null;if(!i&&r&&r.outputTokens&&r.ttftMs&&e.completedAt){let t=(e.completedAt-e.startTime-r.ttftMs)/Q;t>0&&(i=r.outputTokens/t)}return{id:e.id,model:e.model,backendModel:null,originalModel:null,statusCode:e.status===`completed`?n?.statusCode??null:null,isStream:e.isStream,apiType:e.apiType,providerName:e.providerName,clientIp:e.clientIp,sessionId:e.sessionId??null,latencyMs:e.completedAt?e.completedAt-e.startTime:null,ttftMs:r?.ttftMs??null,inputTokens:r?.inputTokens??null,outputTokens:r?.outputTokens??null,tokensPerSecond:i,cacheReadTokens:r?.cacheReadTokens??null,cacheWriteTokens:null,stopReason:r?.stopReason??null,isComplete:r?.isComplete??!1,attempts:e.attempts.map(e=>({statusCode:e.statusCode,error:e.error,latencyMs:e.latencyMs,providerId:e.providerId})),status:e.status,clientRequest:null,upstreamRequest:null,responseBody:t??null,upstreamResponse:null,errorMessage:null,createdAt:null}}function He(e){if(!e)return null;try{let t=JSON.parse(e);return typeof t.statusCode==`number`&&t.headers&&!t.content&&!t.choices?typeof t.body==`string`?t.body:null:e}catch{return e}}function Ue(e){let t=e.input_tokens??null,n=e.output_tokens??null,r=e.ttft_ms??null,i=e.tokens_per_second??null;if(!i&&n&&r&&e.latency_ms){let t=(e.latency_ms-r)/Q;t>0&&(i=n/t)}let a=He(e.upstream_response)??e.stream_text_content??null;return{id:e.id,model:e.original_model??e.model??`unknown`,backendModel:e.backend_model,originalModel:e.original_model,statusCode:e.status_code,isStream:!!e.is_stream,apiType:e.api_type===`openai`||e.api_type===`anthropic`?e.api_type:`openai`,providerName:e.provider_name,clientIp:void 0,sessionId:e.session_id??null,latencyMs:e.latency_ms,ttftMs:r,inputTokens:t,outputTokens:n,tokensPerSecond:i,cacheReadTokens:e.cache_read_tokens??null,cacheWriteTokens:null,stopReason:e.stop_reason??null,isComplete:!!e.metrics_complete,attempts:[],status:(e.status_code??0)>=400?`failed`:`completed`,clientRequest:e.client_request,upstreamRequest:e.upstream_request,responseBody:a,upstreamResponse:e.upstream_response,errorMessage:e.error_message,createdAt:e.created_at}}var We={class:`w-[280px] border-r pr-3 flex-shrink-0 overflow-y-auto space-y-3`},Ge={class:`flex items-baseline gap-1 min-w-0`},Ke={class:`font-mono text-[11px] font-semibold truncate min-w-0`},qe={class:`text-[10px] text-muted-foreground flex-shrink-0`},Je={class:`flex items-center gap-1.5`},Ye={key:0,class:`flex items-center gap-1.5`},Xe={class:`font-mono text-[11px] text-muted-foreground truncate`},Ze={class:`grid grid-cols-2 gap-1.5`},Qe={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},$e={class:`text-sm font-semibold truncate`},et={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},tt={class:`text-sm font-semibold truncate`},nt={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},rt={class:`text-sm font-semibold truncate`},it={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},at={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},ot={class:`text-sm font-semibold truncate`},st={class:`bg-muted/50 rounded-md px-2 py-1.5 min-w-0`},ct={class:`text-sm font-semibold truncate`},lt={class:`space-y-1.5`},ut={key:0,class:`text-[11px] text-muted-foreground`},dt={class:`text-muted-foreground`},ft={class:`text-muted-foreground`},pt={class:`space-y-1`},mt={key:0,class:`flex items-center justify-between text-[11px]`},ht={class:`font-mono`},gt={key:1,class:`flex items-center justify-between text-[11px]`},_t={class:`font-mono truncate max-w-[160px]`},vt=a({__name:`RequestOverviewPanel`,props:{overview:{}},setup(e){let t=e,a=p(()=>{if(t.overview.status===`pending`)return`pending`;let e=t.overview.statusCode;return t.overview.status===`failed`||e!=null&&e>=400?`error`:`success`}),s=p(()=>t.overview.status===`pending`&&t.overview.outputTokens!=null),c=p(()=>{let e=t.overview.outputTokens;return e==null?`--`:s.value?`+${e}`:String(e)}),u=p(()=>t.overview.status===`pending`&&t.overview.latencyMs==null?`...`:t.overview.latencyMs==null?`--`:`${(t.overview.latencyMs/Q).toFixed(1)}s`),d=p(()=>{if(t.overview.tokensPerSecond!=null)return`${t.overview.tokensPerSecond.toFixed(1)}`;let{outputTokens:e,latencyMs:n}=t.overview;return e&&n?`${(e/n*Q).toFixed(1)}`:`--`});function h(e){return e!=null&&e>=400}return(t,p)=>(E(),n(`div`,We,[r(`div`,Ge,[r(`span`,Ke,P(e.overview.model),1),r(`span`,qe,`@ `+P(e.overview.providerName||`unknown`),1)]),r(`div`,Je,[a.value===`pending`?(E(),f(l(V),{key:0,variant:`outline`,class:`border-warning/30 bg-warning-light text-warning-dark`},{default:M(()=>[...p[0]||=[r(`span`,{class:`w-1.5 h-1.5 rounded-full bg-warning animate-pulse`},null,-1),o(` 进行中 `,-1)]]),_:1})):a.value===`error`?(E(),f(l(V),{key:1,variant:`outline`,class:`border-danger/30 bg-danger-light text-danger-dark`},{default:M(()=>[o(P(e.overview.statusCode??`失败`),1)]),_:1})):(E(),f(l(V),{key:2,variant:`outline`,class:`border-success/30 bg-success-light text-success-dark`},{default:M(()=>[...p[1]||=[r(`span`,{class:`w-1.5 h-1.5 rounded-full bg-success`},null,-1),o(` 已完成 `,-1)]]),_:1})),O(l(V),{variant:`outline`},{default:M(()=>[o(P(e.overview.isStream?`SSE`:`非流式`),1)]),_:1}),O(l(V),{variant:`outline`},{default:M(()=>[o(P(e.overview.apiType),1)]),_:1})]),e.overview.sessionId?(E(),n(`div`,Ye,[O(l(V),{variant:`secondary`,class:`text-[10px]`},{default:M(()=>[...p[2]||=[o(`Session`,-1)]]),_:1}),r(`span`,Xe,P(e.overview.sessionId.slice(0,8)),1)])):m(``,!0),r(`div`,Ze,[r(`div`,Qe,[p[3]||=r(`div`,{class:`text-[10px] text-muted-foreground`},`延迟`,-1),r(`div`,$e,P(u.value),1)]),r(`div`,et,[p[4]||=r(`div`,{class:`text-[10px] text-muted-foreground`},`TTFT`,-1),r(`div`,tt,P(e.overview.ttftMs==null?`--`:`${e.overview.ttftMs}ms`),1)]),r(`div`,nt,[p[5]||=r(`div`,{class:`text-[10px] text-muted-foreground`},`Input Tokens`,-1),r(`div`,rt,P(e.overview.inputTokens==null?`--`:e.overview.inputTokens),1)]),r(`div`,it,[p[6]||=r(`div`,{class:`text-[10px] text-muted-foreground`},`Output Tokens`,-1),r(`div`,{class:i([`text-sm font-semibold truncate`,s.value?`diff-added`:``])},P(c.value),3)]),r(`div`,at,[p[7]||=r(`div`,{class:`text-[10px] text-muted-foreground`},`速度 (tok/s)`,-1),r(`div`,ot,P(d.value),1)]),r(`div`,st,[p[8]||=r(`div`,{class:`text-[10px] text-muted-foreground`},`Cache Read`,-1),r(`div`,ct,P(e.overview.cacheReadTokens==null?`--`:e.overview.cacheReadTokens),1)])]),O(l(Z)),r(`div`,lt,[p[9]||=r(`span`,{class:`text-[10px] text-muted-foreground uppercase tracking-wider`},`尝试历史`,-1),e.overview.attempts.length===0?(E(),n(`div`,ut,`无重试`)):m(``,!0),(E(!0),n(N,null,v(e.overview.attempts,(e,t)=>(E(),n(`div`,{key:t,class:`flex items-center gap-1 text-[11px]`},[r(`span`,dt,`#`+P(t+1),1),r(`span`,{class:i(h(e.statusCode)?`diff-removed`:`diff-added`)},P(e.statusCode??`--`),3),r(`span`,ft,P((e.latencyMs/l(Q)).toFixed(1))+`s`,1)]))),128))]),O(l(Z)),r(`div`,pt,[e.overview.statusCode==null?m(``,!0):(E(),n(`div`,mt,[p[10]||=r(`span`,{class:`text-muted-foreground`},`状态码`,-1),r(`span`,ht,P(e.overview.statusCode),1)])),e.overview.clientIp?(E(),n(`div`,gt,[p[11]||=r(`span`,{class:`text-muted-foreground`},`Client IP`,-1),r(`span`,_t,P(e.overview.clientIp),1)])):m(``,!0)])]))}}),yt=a({__name:`ScrollBar`,props:{orientation:{default:`vertical`},forceMount:{type:Boolean},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=j(t,`class`);return(r,i)=>(E(),f(l(Pe),A({"data-slot":`scroll-area-scrollbar`,"data-orientation":e.orientation},l(n),{class:l(k)(`data-[orientation=horizontal]:h-2.5 data-[orientation=horizontal]:flex-col data-[orientation=horizontal]:border-t data-[orientation=horizontal]:border-t-transparent data-[orientation=vertical]:h-full data-[orientation=vertical]:w-2.5 data-[orientation=vertical]:border-l data-[orientation=vertical]:border-l-transparent flex touch-none p-px transition-colors select-none`,t.class)}),{default:M(()=>[O(l(Le),{"data-slot":`scroll-area-thumb`,class:`rounded-full relative flex-1 bg-border`})]),_:1},16,[`data-orientation`,`class`]))}}),$=a({__name:`ScrollArea`,props:{type:{},dir:{},scrollHideDelay:{},asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=j(t,`class`);return(e,r)=>(E(),f(l(ye),A({"data-slot":`scroll-area`},l(n),{class:l(k)(`relative`,t.class)}),{default:M(()=>[O(l(Re),{"data-slot":`scroll-area-viewport`,class:`size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1`},{default:M(()=>[C(e.$slots,`default`)]),_:3}),O(yt),O(l(xe))]),_:3},16,[`class`]))}}),bt={key:0,class:`rounded-md border bg-card`},xt={class:`flex items-center gap-1.5 px-2.5 py-1.5 border-b`},St={class:`px-2.5 py-2`},Ct={class:`text-xs overflow-y-auto whitespace-pre-wrap break-words`},wt={key:0,class:`inline-block w-1.5 h-3.5 dot-success animate-pulse ml-0.5 align-text-bottom`},Tt={class:`flex items-center gap-1.5 px-2.5 py-1.5 cursor-pointer hover:brightness-95 rounded-t-md`},Et={class:`text-xs font-medium`},Dt={key:0,class:`text-xs text-muted-foreground`},Ot={class:`px-2.5 pb-2`},kt=a({__name:`ContentBlockRenderer`,props:{type:{},content:{},name:{default:void 0},defaultOpen:{type:Boolean,default:!0},showCursor:{type:Boolean,default:!1}},setup(e){let a=e,s=t(a.type===`text`?!0:a.defaultOpen),c=p(()=>{switch(a.type){case`thinking`:return`block-thinking`;case`tool_use`:return`block-tool-use`;case`tool_result`:return`block-tool-result`;default:return`bg-card`}}),u=p(()=>{switch(a.type){case`thinking`:return`block-thinking-content italic`;case`tool_use`:return`block-tool-use-content`;case`tool_result`:return`block-tool-result-content`;default:return`bg-muted/50`}}),d=p(()=>{switch(a.type){case`thinking`:return he;case`tool_use`:return _e;case`tool_result`:return ge;default:return U}}),h=p(()=>{switch(a.type){case`thinking`:return`text-[var(--color-role-thinking)]`;case`tool_use`:return`text-[var(--color-role-tool)]`;case`tool_result`:return`text-[var(--color-role-user)]`;default:return`text-muted-foreground`}}),g=p(()=>{switch(a.type){case`thinking`:return`Thinking`;case`tool_use`:return`Tool Use`;case`tool_result`:return`Tool Result`;default:return``}}),_=p(()=>a.type===`tool_use`?`(等待数据...)`:a.type===`tool_result`?`(无返回数据)`:``);return(t,a)=>e.type===`text`?(E(),n(`div`,bt,[r(`div`,xt,[O(l(U),{class:`h-3.5 w-3.5 diff-added`}),a[1]||=r(`span`,{class:`text-xs font-medium`},`Reply`,-1)]),r(`div`,St,[r(`pre`,Ct,[r(`code`,null,[o(P(e.content),1),e.showCursor?(E(),n(`span`,wt)):m(``,!0)])])])])):(E(),f(l(ae),{key:1,open:s.value,"onUpdate:open":a[0]||=e=>s.value=e,class:i([`rounded-md border`,c.value])},{default:M(()=>[O(l(oe),{"as-child":``},{default:M(()=>[r(`div`,Tt,[O(l(ee),{class:i([`h-3 w-3 transition-transform duration-200`,{"rotate-180":!s.value}])},null,8,[`class`]),(E(),f(y(d.value),{class:i([`h-3.5 w-3.5`,h.value])},null,8,[`class`])),r(`span`,Et,P(g.value),1),e.type===`thinking`?(E(),n(`span`,Dt,`(`+P(e.content.length)+` 字符)`,1)):m(``,!0),e.type===`tool_use`&&e.name?(E(),f(l(V),{key:1,variant:`secondary`,class:`text-xs`},{default:M(()=>[o(P(e.name),1)]),_:1})):m(``,!0)])]),_:1}),O(l(ie),null,{default:M(()=>[r(`div`,Ot,[r(`pre`,{class:i([`text-xs rounded p-2 overflow-y-auto whitespace-pre-wrap break-words`,u.value])},[r(`code`,null,P(e.content||_.value),1)],2)])]),_:1})]),_:1},8,[`open`,`class`]))}}),At=2;function jt(e){return e.map(e=>{let t=e;return t.type===`thinking`?{type:`thinking`,content:String(t.thinking??``)}:t.type===`text`?{type:`text`,content:String(t.text??``)}:t.type===`tool_use`?{type:`tool_use`,content:JSON.stringify(t.input??{},null,At),name:String(t.name??``)}:t.type===`tool_result`?{type:`tool_result`,content:typeof t.content==`string`?t.content:JSON.stringify(t.content)}:{type:`text`,content:JSON.stringify(t)}})}function Mt(e){let t=[];for(let n of e){let e=n.message;if(!e)continue;let r=e.content;if(typeof r==`string`&&r)t.push({type:`text`,content:r});else if(Array.isArray(r))for(let e of r){let n=e;if(n.type===`text`)t.push({type:`text`,content:String(n.text??``)});else if(n.type===`tool_use`||n.type===`function`){let e=n.function??n.input??{};t.push({type:`tool_use`,content:JSON.stringify(e,null,At),name:String(n.name??e.name??``)})}}}return t}function Nt(e,t,n){let r=e||t;if(!r)return[];let i;try{i=JSON.parse(r)}catch{return[]}let a=i;if(typeof a.body==`string`)try{i=JSON.parse(a.body)}catch{i=i}let o=i;return n===`anthropic`&&Array.isArray(o.content)?jt(o.content):n===`openai`&&Array.isArray(o.choices)?Mt(o.choices):[]}var Pt=5,Ft=2,It=3;function Lt(e,t,n){let r=p(()=>{if(!t||!e.value)return[];let n=e.value.split(`
|
|
2
|
+
`),r=[];for(let e of n){let t=e.trim();if(!t.startsWith(`data:`))continue;let n=t.slice(Pt).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:p(()=>{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,Ft))}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:p(()=>{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:p(()=>{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:p(()=>{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:p(()=>{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:p(()=>{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<It)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:p(()=>{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:p(()=>r.value.some(e=>e.type===`data`&&e.data.type===`message_stop`)),openaiSseRole:p(()=>{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:p(()=>{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:p(()=>{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:p(()=>{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:p(()=>{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 Rt={class:`flex flex-col gap-2`},zt={class:`flex items-center justify-between`},Bt={key:0},Vt={key:0,class:`flex flex-col gap-2`},Ht={key:1,class:`text-xs text-muted-foreground`},Ut={key:2,class:`text-xs text-muted-foreground`},Wt={key:3,class:`text-xs text-muted-foreground`},Gt={class:`p-3 text-[11px] whitespace-pre-wrap break-words`},Kt=a({__name:`ResponseViewer`,props:{source:{},apiType:{},isStream:{type:Boolean},streamContent:{default:null},nonStreamBody:{default:null},responseBody:{default:null},upstreamResponse:{default:null},status:{}},setup(e){let i=e,a=t(!1),s=p(()=>!!(i.responseBody||i.upstreamResponse)),{assembledBlocks:c}=Lt(p(()=>{if(i.source!==`history`)return``;let e=i.responseBody||i.upstreamResponse||``;try{return JSON.parse(e).body||e}catch{return e}}),i.isStream,i.apiType),u=p(()=>{if(i.source===`realtime`){let e=i.streamContent?.blocks;if(e&&e.length>0)return e;if(i.responseBody){let e=Nt(i.responseBody,null,i.apiType);if(e.length>0)return e}return[]}let e=Nt(i.responseBody??null,i.upstreamResponse??null,i.apiType);if(e.length>0)return e;if(i.responseBody&&i.responseBody.trim().length>0)return[{type:`text`,content:i.responseBody}];let t=[`thinking`,`text`,`tool_use`,`tool_result`];return c.value.map(e=>({type:t.includes(e.type)?e.type:`text`,content:e.content,...e.toolName?{name:e.toolName}:{}}))}),d=p(()=>i.source===`realtime`?i.streamContent?.rawChunks||i.responseBody||``:i.responseBody||i.upstreamResponse||``);return(e,t)=>(E(),n(`div`,Rt,[r(`div`,zt,[t[1]||=r(`span`,{class:`text-xs font-medium text-muted-foreground`},`响应内容`,-1),O(l(w),{size:`sm`,variant:`outline`,class:`h-6 gap-1 text-xs`,onClick:t[0]||=e=>a.value=!a.value},{default:M(()=>[(E(),f(y(a.value?l(z):l(H)),{class:`h-3 w-3`})),o(` `+P(a.value?`结构化`:i.isStream?`原始 SSE`:`原始 JSON`),1)]),_:1})]),a.value?(E(),f(l($),{key:1,class:`max-h-96 rounded-md border`},{default:M(()=>[r(`pre`,Gt,P(d.value),1)]),_:1})):(E(),n(`div`,Bt,[u.value.length>0?(E(),n(`div`,Vt,[(E(!0),n(N,null,v(u.value,(e,t)=>(E(),f(kt,{key:t,type:e.type,content:e.content,name:e.name,"show-cursor":i.status===`pending`&&t===u.value.length-1},null,8,[`type`,`content`,`name`,`show-cursor`]))),128))])):i.status===`pending`?(E(),n(`p`,Ht,`等待响应数据...`)):i.source===`history`&&i.isStream&&!s.value?(E(),n(`p`,Ut,`流式响应内容未持久化存储`)):(E(),n(`p`,Wt,`无响应内容`))]))]))}}),qt={class:`relative`},Jt={class:`bg-background text-foreground rounded-md p-3 text-xs overflow-auto max-h-[40vh] whitespace-pre-wrap break-all border`},Yt=a({__name:`JsonCopyBlock`,props:{content:{},hideCopyButton:{type:Boolean}},setup(e){let t=e,{copied:i,copy:a}=me();async function s(){await a(t.content)}return(t,a)=>(E(),n(`div`,qt,[e.hideCopyButton?m(``,!0):(E(),f(l(w),{key:0,variant:`outline`,size:`sm`,class:`absolute top-2 right-2 h-7 text-xs`,onClick:s},{default:M(()=>[o(P(l(i)?`已复制`:`复制`),1)]),_:1})),r(`pre`,Jt,P(e.content),1)]))}}),Xt={class:`flex flex-col min-h-0 h-full`},Zt={class:`flex justify-end mb-1 flex-shrink-0`},Qt={key:0,class:`space-y-3`},$t={key:0,class:`text-[11px] text-muted-foreground py-4 text-center`},en={key:1,class:`text-[11px] text-muted-foreground py-2 text-center`},tn={key:2,class:`space-y-4`},nn={key:0},rn={class:`flex items-center gap-2 text-[11px]`},an={class:`font-mono text-muted-foreground`},on={class:`font-mono text-primary font-semibold`},sn={key:1},cn={class:`text-[11px] bg-muted/50 rounded-md border px-2.5 py-2 overflow-y-auto whitespace-pre-wrap break-words max-h-40`},ln={key:2},un={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},dn={class:`space-y-1.5`},fn={class:`flex items-center gap-1.5 mb-1`},pn={key:1,class:`text-[9px] text-muted-foreground`},mn={key:0,class:`diff-removed line-through mb-0.5`},hn={key:1,class:`text-foreground overflow-y-auto max-h-40`},gn={key:2,class:`text-muted-foreground text-[10px]`},_n={key:3},vn={class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},yn={class:`space-y-1`},bn={class:`grid grid-cols-5 gap-1`},xn=[`title`,`onClick`],Sn={key:0,class:`rounded-md border bg-background p-2.5`},Cn={class:`flex items-center gap-2 mb-1`},wn={class:`text-[11px] font-semibold font-mono`},Tn={key:0,class:`text-[11px] text-muted-foreground`},En={key:1,class:`mt-1 flex flex-wrap gap-1`},Dn={key:4},On={class:`flex items-center gap-2 text-[11px]`},kn={key:5},An={class:`flex items-center gap-2 text-[11px]`},jn={class:`font-mono diff-removed line-through`},Mn={class:`font-mono diff-added font-medium`},Nn=4,Pn=5,Fn=a({__name:`RequestDiffViewer`,props:{overview:{}},setup(e){let a=e,s=t(!1);function c(e){if(!e)return null;try{let t=JSON.parse(e);if(typeof t!=`object`||!t)return null;let n=typeof t.headers==`object`&&t.headers!==null?t.headers:{},r=t.body;if(typeof r==`string`)try{r=JSON.parse(r)}catch{}return{headers:n,body:r??{}}}catch{return null}}function u(e){let t=e.content;return typeof t==`string`?t:Array.isArray(t)?t.filter(e=>typeof e==`object`&&!!e&&`text`in e).map(e=>typeof e.text==`string`?e.text:``).join(``):String(t??``)}function d(e){if(!e)return``;let t=e.replace(/^Bearer\s+/i,``);return t.length<=Nn?`***`:`${t.slice(0,Nn)}***`}function h(e,t){let n=t.toLowerCase();for(let[t,r]of Object.entries(e))if(t.toLowerCase()===n)return r}let g=p(()=>c(a.overview.clientRequest)),_=p(()=>c(a.overview.upstreamRequest)),y=p(()=>{let e=g.value?.body?.model,t=_.value?.body?.model;return{hasDiff:!!e&&!!t&&e!==t,from:e??``,to:t??``}}),b=p(()=>{let e=_.value?.body;if(!e)return null;let t=e.system;if(typeof t==`string`)return t;if(Array.isArray(t))return t.filter(e=>typeof e==`object`&&!!e&&`text`in e).map(e=>e.text).join(`
|
|
3
|
+
`);let n=e.messages;if(Array.isArray(n)){let e=n.find(e=>e.role===`system`);if(e)return u(e)}return null}),x=p(()=>{let e=_.value?.body?.messages??[],t=g.value?.body?.messages??[];if(e.length===0)return[];let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=String(i.role??`unknown`);if(a===`system`)continue;let o=u(i),s=t[r],c=s?u(s):null,l=c!==null&&o!==c,d=i.content,f=Array.isArray(d)?d:[],p=f.filter(e=>typeof e==`object`&&!!e&&e.type===`tool_use`).map(e=>e.name).filter(Boolean),m=f.filter(e=>typeof e==`object`&&!!e&&e.type===`tool_result`).length;n.push({role:a,text:o,removedText:l?c:null,modified:l,toolCalls:p,toolResultCount:m})}return n}),S=t(-1),C=p(()=>{let e=[];for(let t=0;t<T.value.length;t+=Pn)e.push({tools:T.value.slice(t,t+Pn),startIdx:t});return e}),T=p(()=>{let e=_.value?.body;if(!e)return[];let t=e.tools;return Array.isArray(t)?t.filter(e=>typeof e?.name==`string`).map(e=>{let t=typeof e.description==`string`?e.description:``,n=e.input_schema?.properties,r=n?Object.keys(n):[];return{name:e.name,description:t,params:r}}):[]}),D=p(()=>{let e=g.value?.body?.stream_options!=null,t=_.value?.body?.stream_options!=null;return!e&&t}),k=p(()=>{if(!g.value?.headers||!_.value?.headers)return{hasDiff:!1,old:``,new:``};let e=h(g.value.headers,`authorization`),t=h(_.value.headers,`authorization`);return{hasDiff:!!e&&!!t&&e!==t,old:d(e),new:d(t)}});return(t,a)=>(E(),n(`div`,Xt,[r(`div`,Zt,[O(l(w),{variant:`outline`,size:`xs`,class:`gap-1`,onClick:a[0]||=e=>s.value=!s.value},{default:M(()=>[s.value?(E(),f(l(H),{key:0,class:`size-3`})):(E(),f(l(z),{key:1,class:`size-3`})),o(` `+P(s.value?`Structured`:`Raw JSON`),1)]),_:1})]),O(l($),{class:`flex-1 min-h-0`},{default:M(()=>[s.value?(E(),n(`div`,Qt,[r(`div`,null,[a[1]||=r(`div`,{class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},` Client Request `,-1),O(Yt,{content:e.overview.clientRequest??`{}`},null,8,[`content`])]),r(`div`,null,[a[2]||=r(`div`,{class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},` Upstream Request `,-1),O(Yt,{content:e.overview.upstreamRequest??`{}`},null,8,[`content`])])])):(E(),n(N,{key:1},[!_.value&&!g.value?(E(),n(`div`,$t,` No request data available `)):m(``,!0),!_.value&&g.value?(E(),n(`div`,en,` 请求进行中,上游请求内容将在完成后显示 `)):(E(),n(`div`,tn,[y.value.hasDiff?(E(),n(`div`,nn,[a[4]||=r(`div`,{class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},` Model Mapping `,-1),r(`div`,rn,[r(`span`,an,P(y.value.from),1),a[3]||=r(`span`,{class:`text-muted-foreground`},`→`,-1),r(`span`,on,P(y.value.to),1)])])):m(``,!0),b.value?(E(),n(`div`,sn,[a[5]||=r(`div`,{class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},` System `,-1),r(`pre`,cn,P(b.value),1)])):m(``,!0),x.value.length>0?(E(),n(`div`,ln,[r(`div`,un,` Messages (`+P(x.value.length)+`) `,1),r(`div`,dn,[(E(!0),n(N,null,v(x.value,(e,t)=>(E(),n(`div`,{key:t,class:i([`rounded-md border px-2.5 py-1.5 text-[11px]`,e.modified?`diff-modified`:`bg-background`])},[r(`div`,fn,[O(l(V),{variant:`outline`,class:i([`text-[9px] px-1.5 py-0 border-transparent`,e.role===`user`?`bg-role-user-bg text-role-user`:e.role===`assistant`?`bg-role-assistant-bg text-role-assistant`:`bg-role-thinking-bg text-role-thinking`])},{default:M(()=>[o(P(e.role),1)]),_:2},1032,[`class`]),e.modified?(E(),f(l(V),{key:0,variant:`outline`,class:`bg-role-thinking-bg text-role-thinking text-[9px] px-1.5 py-0 border-transparent`},{default:M(()=>[...a[6]||=[o(` Modified `,-1)]]),_:1})):m(``,!0),e.toolCalls.length>0?(E(),n(`span`,pn,` → `+P(e.toolCalls.join(`, `)),1)):m(``,!0)]),e.modified&&e.removedText?(E(),n(`div`,mn,P(e.removedText),1)):m(``,!0),e.text?(E(),n(`div`,hn,P(e.text),1)):e.toolResultCount>0?(E(),n(`div`,gn,P(e.toolResultCount)+` tool result(s) `,1)):m(``,!0)],2))),128))])])):m(``,!0),T.value.length>0?(E(),n(`div`,_n,[r(`div`,vn,` Tools (`+P(T.value.length)+`) `,1),r(`div`,yn,[(E(!0),n(N,null,v(C.value,(e,t)=>(E(),n(N,{key:t},[r(`div`,bn,[(E(!0),n(N,null,v(e.tools,(t,r)=>(E(),n(`div`,{key:r,class:i([`cursor-pointer rounded-md border px-1.5 py-1 text-[10px] truncate text-center transition-colors`,S.value===e.startIdx+r?`bg-role-tool-bg text-role-tool border-role-tool`:`bg-background hover:bg-muted`]),title:t.name,onClick:t=>S.value=S.value===e.startIdx+r?-1:e.startIdx+r},P(t.name),11,xn))),128))]),S.value>=e.startIdx&&S.value<e.startIdx+e.tools.length?(E(),n(`div`,Sn,[r(`div`,Cn,[r(`span`,wn,P(T.value[S.value].name),1)]),T.value[S.value].description?(E(),n(`p`,Tn,P(T.value[S.value].description),1)):m(``,!0),T.value[S.value].params.length>0?(E(),n(`div`,En,[(E(!0),n(N,null,v(T.value[S.value].params,e=>(E(),f(l(V),{key:e,variant:`outline`,class:`text-[9px] px-1 py-0`},{default:M(()=>[o(P(e),1)]),_:2},1024))),128))])):m(``,!0)])):m(``,!0)],64))),128))])])):m(``,!0),D.value?(E(),n(`div`,Dn,[a[9]||=r(`div`,{class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},` Stream Options `,-1),r(`div`,On,[O(l(V),{variant:`outline`,class:`bg-success-light text-success-dark text-[9px] px-1.5 py-0 border-transparent`},{default:M(()=>[...a[7]||=[o(`Injected`,-1)]]),_:1}),a[8]||=r(`code`,{class:`font-mono diff-added`},`{ "include_usage": true }`,-1)])])):m(``,!0),k.value.hasDiff?(E(),n(`div`,kn,[a[10]||=r(`div`,{class:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium mb-1`},` Auth Replacement `,-1),r(`div`,An,[r(`span`,jn,P(k.value.old),1),O(l(Z),{orientation:`vertical`,class:`h-3`}),r(`span`,Mn,P(k.value.new),1)])])):m(``,!0)]))],64))]),_:1})]))}}),In={class:`h-[3px] w-full overflow-hidden`},Ln={key:0,class:`h-full w-[40%] progress-active`,style:{animation:`shimmer 1.5s infinite`}},Rn={key:1,class:`h-full w-full progress-failed`},zn={key:2,class:`h-full w-full progress-active`},Bn={key:0,class:`font-mono text-[11px] text-muted-foreground`},Vn={key:0,class:`flex gap-0 px-4 pb-4 h-[calc(85vh-80px)]`},Hn={key:0,class:`px-3 pb-2`},Un={class:`rounded-md bg-destructive/10 px-3 py-2 text-xs text-destructive`},Wn={class:`flex-1 flex flex-col min-w-0 pl-3`},Gn={key:0,class:`flex-1 overflow-y-auto mt-2`},Kn={key:1,class:`flex-1 min-h-0 mt-2`},qn={key:1,class:`flex items-center justify-center h-[calc(85vh-80px)]`},Jn={class:`text-sm text-muted-foreground`},Yn=((e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n})(a({__name:`UnifiedRequestDialog`,props:{open:{type:Boolean},source:{},request:{},streamContent:{},logDetailData:{},logEntry:{}},emits:[`update:open`],setup(e,{emit:i}){let a=e,s=i,c=t(`response`),u=t(null),d=p(()=>{if(a.source===`realtime`){if(!a.request)return null;let e=Ve(a.request,a.logDetailData?.responseBody);return a.logDetailData&&(a.logDetailData.clientRequest&&(e.clientRequest=a.logDetailData.clientRequest),a.logDetailData.upstreamRequest&&(e.upstreamRequest=a.logDetailData.upstreamRequest)),e}return u.value}),h=p(()=>d.value?d.value.status:`pending`);return b([()=>a.open,()=>a.logEntry],([e,t])=>{e&&(c.value=`response`,a.source===`history`&&t&&(u.value=Ue(t)))}),(t,i)=>(E(),f(l(ue),{open:a.open,"onUpdate:open":i[1]||=e=>s(`update:open`,e)},{default:M(()=>[O(l(se),{class:`sm:max-w-6xl max-h-[85vh] p-0 overflow-hidden`},{default:M(()=>[r(`div`,In,[h.value===`pending`?(E(),n(`div`,Ln)):h.value===`failed`?(E(),n(`div`,Rn)):(E(),n(`div`,zn))]),O(l(le),{class:`px-4 pt-2 pb-0`},{default:M(()=>[O(l(de),{class:`text-sm flex items-center gap-2`},{default:M(()=>[i[2]||=o(` 请求详情 `,-1),d.value?(E(),n(`span`,Bn,P(d.value.id.slice(0,8)),1)):m(``,!0)]),_:1}),O(l(ce),{class:`sr-only`},{default:M(()=>[...i[3]||=[o(`查看请求的响应内容和请求内容`,-1)]]),_:1})]),_:1}),d.value?(E(),n(`div`,Vn,[O(vt,{overview:d.value},null,8,[`overview`]),d.value.errorMessage?(E(),n(`div`,Hn,[r(`div`,Un,P(d.value.errorMessage),1)])):m(``,!0),r(`div`,Wn,[O(l(pe),{modelValue:c.value,"onUpdate:modelValue":i[0]||=e=>c.value=e,class:`flex-1 flex flex-col min-h-0`},{default:M(()=>[O(l(fe),{class:`flex-shrink-0`},{default:M(()=>[O(l(B),{value:`response`},{default:M(()=>[...i[4]||=[o(`响应内容`,-1)]]),_:1}),O(l(B),{value:`request`},{default:M(()=>[...i[5]||=[o(`请求内容`,-1)]]),_:1})]),_:1}),c.value===`response`?(E(),n(`div`,Gn,[O(Kt,{source:a.source,"api-type":d.value.apiType,"is-stream":d.value.isStream,"stream-content":a.streamContent,"non-stream-body":e.logDetailData?.responseBody,"response-body":d.value.responseBody,"upstream-response":d.value.upstreamResponse,status:d.value.status},null,8,[`source`,`api-type`,`is-stream`,`stream-content`,`non-stream-body`,`response-body`,`upstream-response`,`status`])])):m(``,!0),c.value===`request`?(E(),n(`div`,Kn,[O(Fn,{overview:d.value},null,8,[`overview`])])):m(``,!0)]),_:1},8,[`modelValue`])])])):(E(),n(`div`,qn,[r(`p`,Jn,P(a.source===`realtime`?`加载中...`:`无选中请求`),1)]))]),_:1})]),_:1},8,[`open`]))}}),[[`__scopeId`,`data-v-125f2b7e`]]);export{$ as n,Z as r,Yn as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{J as e,Nt as t,Pt as n,U as r,V as i,i as a,lt as o,ot as s,u as c,yt as l}from"./button-BCrIpNwA.js";function u(e){return i(()=>t(e)?!!c(e)?.closest(`form`):!0)}var d=e({__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)=>(s(),r(n(a),{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:l(()=>[o(e.$slots,`default`)]),_:3},8,[`as`,`as-child`,`aria-hidden`,`data-hidden`,`tabindex`]))}});export{u as n,d as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{G as e,J as t,U as n,V as r,W as i,ct as a,gt as o,ot as s,tt as c,z as l}from"./button-BCrIpNwA.js";import{n as u}from"./Collection-DbtqQ1jF.js";import{t as d}from"./VisuallyHidden-fbPmoMwi.js";var f=t({inheritAttrs:!1,__name:`VisuallyHiddenInputBubble`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(e){let t=e,{primitiveElement:i,currentElement:a}=u();return o(r(()=>t.checked??t.value),(e,t)=>{if(!a.value)return;let n=a.value,r=window.HTMLInputElement.prototype,i=Object.getOwnPropertyDescriptor(r,`value`).set;if(i&&e!==t){let t=new Event(`input`,{bubbles:!0}),r=new Event(`change`,{bubbles:!0});i.call(n,e),n.dispatchEvent(t),n.dispatchEvent(r)}}),(e,r)=>(s(),n(d,c({ref_key:`primitiveElement`,ref:i},{...t,...e.$attrs},{as:`input`}),null,16))}}),p=t({inheritAttrs:!1,__name:`VisuallyHiddenInput`,props:{name:{type:String,required:!0},value:{type:null,required:!0},checked:{type:Boolean,required:!1,default:void 0},required:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},feature:{type:String,required:!1,default:`fully-hidden`}},setup(t){let o=t,u=r(()=>typeof o.value==`object`&&Array.isArray(o.value)&&o.value.length===0&&o.required),d=r(()=>typeof o.value==`string`||typeof o.value==`number`||typeof o.value==`boolean`||o.value===null||o.value===void 0?[{name:o.name,value:o.value}]:typeof o.value==`object`&&Array.isArray(o.value)?o.value.flatMap((e,t)=>typeof e==`object`?Object.entries(e).map(([e,n])=>({name:`${o.name}[${t}][${e}]`,value:n})):{name:`${o.name}[${t}]`,value:e}):o.value!==null&&typeof o.value==`object`&&!Array.isArray(o.value)?Object.entries(o.value).map(([e,t])=>({name:`${o.name}[${e}]`,value:t})):[]);return(t,r)=>(s(),e(l,null,[i(` We render single input if it's required `),u.value?(s(),n(f,c({key:t.name},{...o,...t.$attrs},{name:t.name,value:t.value}),null,16,[`name`,`value`])):(s(!0),e(l,{key:1},a(d.value,e=>(s(),n(f,c({key:e.name},{ref_for:!0},{...o,...t.$attrs},{name:e.name,value:e.value}),null,16,[`name`,`value`]))),128))],2112))}});export{p as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Dt as e,G as t,It as n,J as r,Lt as i,Pt as a,R as o,U as s,X as c,it as l,lt as u,nt as d,o as f,ot as p,q as m,r as h,t as g,tt as _,x as v,yt as y}from"./button-BCrIpNwA.js";import{f as b,t as x,u as S,y as C}from"./Teleport-CgTHarey.js";import{a as w,i as T,n as E,o as D,r as O,t as k}from"./DialogTitle-BEWUnuJQ.js";var A=r({__name:`AlertDialogAction`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e;return f(),(e,n)=>(p(),s(a(w),i(c(t)),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),[j,M]=C(`AlertDialogContent`),N=r({__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:n}){let r=t,i=b(n);f();let c=e();return M({onCancelElementChange:e=>{c.value=e}}),(e,t)=>(p(),s(a(T),_({...r,...a(i)},{role:`alertdialog`,onPointerDownOutside:t[0]||=o(()=>{},[`prevent`]),onInteractOutside:t[1]||=o(()=>{},[`prevent`]),onOpenAutoFocus:t[2]||=()=>{d(()=>{c.value?.focus({preventScroll:!0})})}}),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),P=r({__name:`AlertDialogCancel`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`button`}},setup(e){let t=e,n=j(),{forwardRef:r,currentElement:i}=f();return l(()=>{n.onCancelElementChange(i.value)}),(e,n)=>(p(),s(a(w),_(t,{ref:a(r)}),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),F=r({__name:`AlertDialogDescription`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`p`}},setup(e){let t=e;return f(),(e,n)=>(p(),s(a(O),i(c(t)),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),I=r({__name:`AlertDialogOverlay`,props:{forceMount:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(e){let t=e;return f(),(e,n)=>(p(),s(a(E),i(c(t)),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),L=r({__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,n)=>(p(),s(a(x),i(c(t)),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),R=r({__name:`AlertDialogRoot`,props:{open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1}},emits:[`update:open`],setup(e,{emit:t}){let n=S(e,t);return f(),(e,t)=>(p(),s(a(D),_(a(n),{modal:!0}),{default:y(t=>[u(e.$slots,`default`,i(c(t)))]),_:3},16))}}),z=r({__name:`AlertDialogTitle`,props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:`h2`}},setup(e){let t=e;return f(),(e,n)=>(p(),s(a(k),i(c(t)),{default:y(()=>[u(e.$slots,`default`)]),_:3},16))}}),B=r({__name:`AlertDialog`,props:{open:{type:Boolean},defaultOpen:{type:Boolean}},emits:[`update:open`],setup(e,{emit:t}){let n=S(e,t);return(e,t)=>(p(),s(a(R),_({"data-slot":`alert-dialog`},a(n)),{default:y(t=>[u(e.$slots,`default`,i(c(t)))]),_:3},16))}}),V=r({__name:`AlertDialogAction`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},variant:{default:`default`},size:{default:`default`}},setup(e){let t=e,n=v(t,`class`,`variant`,`size`);return(r,i)=>(p(),s(a(A),_({"data-slot":`alert-dialog-action`},a(n),{class:a(h)(``,a(g)({variant:e.variant,size:e.size}),t.class)}),{default:y(()=>[u(r.$slots,`default`)]),_:3},16,[`class`]))}}),H=r({__name:`AlertDialogCancel`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]},variant:{default:`outline`},size:{default:`default`}},setup(e){let t=e,n=v(t,`class`,`variant`,`size`);return(r,i)=>(p(),s(a(P),_({"data-slot":`alert-dialog-cancel`},a(n),{class:a(h)(``,a(g)({variant:e.variant,size:e.size}),t.class)}),{default:y(()=>[u(r.$slots,`default`)]),_:3},16,[`class`]))}}),U=r({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(e,{emit:t}){let n=e,r=t,i=S(v(n,`class`,`size`),r);return(t,r)=>(p(),s(a(L),null,{default:y(()=>[m(a(I),{"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`}),m(a(N),_({"data-slot":`alert-dialog-content`,"data-size":e.size},{...t.$attrs,...a(i)},{class:a(h)(`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`,n.class)}),{default:y(()=>[u(t.$slots,`default`)]),_:3},16,[`data-size`,`class`])]),_:3}))}}),W=r({__name:`AlertDialogDescription`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=v(t,`class`);return(e,r)=>(p(),s(a(F),_({"data-slot":`alert-dialog-description`},a(n),{class:a(h)(`text-muted-foreground *:[a]:hover:text-foreground text-sm text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3`,t.class)}),{default:y(()=>[u(e.$slots,`default`)]),_:3},16,[`class`]))}}),G=r({__name:`AlertDialogFooter`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let r=e;return(e,i)=>(p(),t(`div`,{"data-slot":`alert-dialog-footer`,class:n(a(h)(`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`,r.class))},[u(e.$slots,`default`)],2))}}),K=r({__name:`AlertDialogHeader`,props:{class:{type:[Boolean,null,String,Object,Array]}},setup(e){let r=e;return(e,i)=>(p(),t(`div`,{"data-slot":`alert-dialog-header`,class:n(a(h)(`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]`,r.class))},[u(e.$slots,`default`)],2))}}),q=r({__name:`AlertDialogTitle`,props:{asChild:{type:Boolean},as:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,n=v(t,`class`);return(e,r)=>(p(),s(a(z),_({"data-slot":`alert-dialog-title`},a(n),{class:a(h)(`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`,t.class)}),{default:y(()=>[u(e.$slots,`default`)]),_:3},16,[`class`]))}});export{U as a,B as c,W as i,K as n,H as o,G as r,V as s,q as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{J as e,O as t,Pt as n,U as r,i,lt as a,ot as o,r as s,tt as c,x as l,yt as u}from"./button-BCrIpNwA.js";var d=e({__name:`Badge`,props:{asChild:{type:Boolean},as:{},variant:{},class:{type:[Boolean,null,String,Object,Array]}},setup(e){let t=e,d=l(t,`class`);return(l,p)=>(o(),r(n(i),c({"data-slot":`badge`,"data-variant":e.variant,class:n(s)(n(f)({variant:e.variant}),t.class)},n(d)),{default:u(()=>[a(l.$slots,`default`)]),_:3},16,[`data-variant`,`class`]))}}),f=t(`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{d as t};
|