@zhanguym/chatroom 1.1.0 → 1.2.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/runtime/child-environment.js +3 -2
- package/dist/infrastructure/http/http-server.js +7 -1
- package/dist/native/macos/ChatRoomComputerHelper.app/Contents/MacOS/chatroom-computer-helper +0 -0
- package/dist/native/windows/chatroom-computer-helper.exe +0 -0
- package/dist/plugins/cloud/tunnel-client.d.ts +2 -84
- package/dist/plugins/cloud/tunnel-client.js +2 -426
- package/dist/plugins/cloud/v2/stream.d.ts +48 -0
- package/dist/plugins/cloud/v2/stream.js +156 -0
- package/dist/plugins/cloud/v2/tunnel-client.d.ts +45 -0
- package/dist/plugins/cloud/v2/tunnel-client.js +426 -0
- package/dist/plugins/process/backend.d.ts +3 -0
- package/dist/plugins/process/infrastructure/pty-process-backend.d.ts +2 -0
- package/dist/plugins/process/infrastructure/pty-process-backend.js +5 -2
- package/dist/plugins/process/infrastructure/terminal-shell.d.ts +4 -0
- package/dist/plugins/process/infrastructure/terminal-shell.js +10 -0
- package/dist/plugins/process/process-supervisor.d.ts +6 -0
- package/dist/plugins/process/process-supervisor.js +26 -0
- package/dist/plugins/process/types.d.ts +2 -0
- package/dist/plugins/web/http/api-router.d.ts +2 -1
- package/dist/plugins/web/http/api-router.js +5 -1
- package/dist/plugins/web/http/logs-api-router.js +2 -2
- package/dist/plugins/web/http/process-api-router.js +48 -0
- package/dist/plugins/web/http/rtc-api-router.d.ts +4 -0
- package/dist/plugins/web/http/rtc-api-router.js +316 -0
- package/dist/plugins/web/http/runtime-api-router.js +2 -2
- package/dist/plugins/web/http/terminal-api-router.d.ts +4 -0
- package/dist/plugins/web/http/terminal-api-router.js +132 -0
- package/dist/web/assets/{AgentView-BGLIBoxF.css → AgentView-CMxIn3KB.css} +1 -1
- package/dist/web/assets/AgentView-DQr-5aLK.js +4 -0
- package/dist/web/assets/CloudView-B2VBut3O.js +1 -0
- package/dist/web/assets/CloudView-Bgp5G965.css +1 -0
- package/dist/web/assets/CodeViewer.vue_vue_type_script_setup_true_lang-DkN8x_6L.js +3 -0
- package/dist/web/assets/ComputerView-CIFF1zUb.js +1 -0
- package/dist/web/assets/{MarkdownContent-CkjR5fs7.js → MarkdownContent-DRZp88_G.js} +2 -2
- package/dist/web/assets/McpToolsView-CSEru3ck.js +1 -0
- package/dist/web/assets/OperationsView-B_Nv1Mgi.js +4 -0
- package/dist/web/assets/ProcessesView-5K8wNiPC.js +5 -0
- package/dist/web/assets/ProcessesView-BmNdR3C0.css +1 -0
- package/dist/web/assets/StateChip.vue_vue_type_script_setup_true_lang-CQEj-YRM.js +1 -0
- package/dist/web/assets/SystemLogsView-CBINILPo.js +1 -0
- package/dist/web/assets/SystemLogsView-COvwamo5.css +1 -0
- package/dist/web/assets/TerminalView-DNaKG3II.css +1 -0
- package/dist/web/assets/TerminalView-Dvyy2GKF.js +16 -0
- package/dist/web/assets/VSelect-CBX17QQj.js +1 -0
- package/dist/web/assets/VSpacer-9N_Ffoce.js +1 -0
- package/dist/web/assets/VSwitch-CvQYU48e.js +1 -0
- package/dist/web/assets/VTabs-CftrBFlF.js +1 -0
- package/dist/web/assets/VTextarea-Dcui00tn.js +1 -0
- package/dist/web/assets/WorkspaceDownloadPreview-DJKSNaZ_.css +1 -0
- package/dist/web/assets/WorkspaceDownloadPreview-DzM2p_xl.js +1 -0
- package/dist/web/assets/WorkspaceMediaPreview-ctIyG3Ru.js +4 -0
- package/dist/web/assets/{WorkspacePdfPreview-CO-ZtDHG.js → WorkspacePdfPreview-CeizxEAH.js} +2 -2
- package/dist/web/assets/WorkspacesView-DcmqHGvr.js +2 -0
- package/dist/web/assets/index-BRI_re-n.css +1 -0
- package/dist/web/assets/index-DTyxBHlJ.js +19 -0
- package/dist/web/assets/{useMasterDetailFocus-D1mQ8Qjk.js → useMasterDetailFocus-DR5N95_A.js} +1 -1
- package/dist/web/assets/useOperationLabels-Dou4m0ac.js +1 -0
- package/dist/web/index.html +2 -2
- package/dist/web/transport-sw.js +411 -0
- package/package.json +9 -4
- package/scripts/ensure-pty-helper.mjs +28 -0
- package/dist/web/assets/AgentView-Dd6zCbr-.js +0 -4
- package/dist/web/assets/CloudView-DVVvwuWW.css +0 -1
- package/dist/web/assets/CloudView-DquY1HDZ.js +0 -1
- package/dist/web/assets/CodeViewer.vue_vue_type_script_setup_true_lang-ekOImmBP.js +0 -3
- package/dist/web/assets/ComputerView-RD2gMxJZ.js +0 -1
- package/dist/web/assets/McpToolsView-Dg2-iaDP.js +0 -1
- package/dist/web/assets/OperationsView-C8yCX7WZ.js +0 -4
- package/dist/web/assets/ProcessesView-C834LC-f.js +0 -4
- package/dist/web/assets/ProcessesView-Ce6iVwjA.css +0 -1
- package/dist/web/assets/StateChip.vue_vue_type_script_setup_true_lang-By2gilBw.js +0 -1
- package/dist/web/assets/SystemLogsView-B6KcZv1J.js +0 -1
- package/dist/web/assets/SystemLogsView-CofP4Jvi.css +0 -1
- package/dist/web/assets/VSelect-BtAJX-XJ.js +0 -1
- package/dist/web/assets/VSpacer-M8bpkhTH.js +0 -1
- package/dist/web/assets/VSwitch-C0VTnwLJ.js +0 -1
- package/dist/web/assets/VTabs-g61mykvY.js +0 -1
- package/dist/web/assets/VTextarea-CRYQYRqg.js +0 -1
- package/dist/web/assets/WorkspaceDownloadPreview-BrESF-82.js +0 -1
- package/dist/web/assets/WorkspaceDownloadPreview-DnxhH5Q7.css +0 -1
- package/dist/web/assets/WorkspaceMediaPreview-HYajqgZ3.js +0 -4
- package/dist/web/assets/WorkspacesView-BJCnzBLj.js +0 -2
- package/dist/web/assets/_plugin-vue_export-helper-DlAUqK2U.js +0 -1
- package/dist/web/assets/index-CZ-4tJlF.css +0 -1
- package/dist/web/assets/index-u-aADQP-.js +0 -19
- package/dist/web/assets/useOperationLabels-BjPIVnJW.js +0 -1
- package/dist/web/assets/utils-rtPwWNel.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{S as G,w as Q,_ as Y,a6 as H,b as J,e as W,E as k,d as ee,a as te,a$ as le,o as d,v as p,l as e,g as _,f as b,p as t,t as s,k as D,P as se,b0 as X,F as q,N as Z,c as I,j as N,n as F,Z as ae,r as V,Q as oe,Y as ne,s as ie,V as P,X as ue,B as T}from"./index-u-aADQP-.js";import{u as re}from"./useMasterDetailFocus-D1mQ8Qjk.js";import{c as ce,d as de}from"./utils-rtPwWNel.js";import{_ as me}from"./CodeViewer.vue_vue_type_script_setup_true_lang-ekOImmBP.js";import{V as ve}from"./VSelect-BtAJX-XJ.js";import"./VSpacer-M8bpkhTH.js";const fe=100,x=1e3;function ge(){const u=k([]),r=k(null),l=k("all"),a=k("all"),v=k(null),S=k(!1),h=k(!1),L=k(""),o=k(!1),w=G(),f=G(),M=new Map;let C=null,E=!1;Q([l,a],()=>{E&&R()}),Y(()=>{E=!0,U(),R()}),H(()=>{E=!1,C?.close(),C=null});async function R(){f.invalidate(),h.value=!1,M.clear();const n=w.begin();S.value=!0,L.value="",o.value=!1;try{const g=await J(K(l.value,a.value),{signal:n.signal});if(!w.isCurrent(n))return;const c=j(g.items,[...M.values()]);u.value=c.slice(0,x),o.value=c.length>x||u.value.length>=x&&g.nextCursor!==null,v.value=o.value?null:g.nextCursor,r.value&&(r.value=u.value.find($=>$.id===r.value?.id)??null),M.clear()}catch(g){w.isCurrent(n)&&(L.value=W(g))}finally{w.isCurrent(n)&&(S.value=!1)}}async function B(){if(S.value||!v.value||h.value)return;const n=f.begin(),g=v.value;h.value=!0,L.value="";try{const c=await J(K(l.value,a.value,g),{signal:n.signal});if(!f.isCurrent(n))return;const $=j(u.value,c.items);u.value=$.slice(0,x),o.value=$.length>x||u.value.length>=x&&c.nextCursor!==null,v.value=o.value?null:c.nextCursor}catch(c){f.isCurrent(n)&&(L.value=W(c))}finally{f.isCurrent(n)&&(h.value=!1)}}function U(){C?.close();const n=new EventSource("/api/logs/stream");C=n,n.addEventListener("open",()=>{C===n&&R()}),n.addEventListener("log",g=>{if(C!==n)return;const c=ye(g);if(!c||!O(c))return;S.value&&M.set(c.id,c);const $=j([c],u.value);$.length>x&&(o.value=!0),u.value=$.slice(0,x),o.value&&(v.value=null),r.value?.id===c.id&&(r.value=c)})}function O(n){return(l.value==="all"||n.level===l.value)&&(a.value==="all"||n.module===a.value)}function z(n){r.value=n}function A(){r.value=null}return{records:u,selected:r,level:l,module:a,nextCursor:v,loading:S,loadingMore:h,error:L,limitReached:o,loadInitial:R,loadMore:B,select:z,clearSelection:A}}function j(u,r){const l=new Map;for(const a of r)l.set(a.id,a);for(const a of u)l.set(a.id,a);return[...l.values()].sort((a,v)=>v.timestamp.localeCompare(a.timestamp)||v.id.localeCompare(a.id))}function ye(u){if(!(u instanceof MessageEvent)||typeof u.data!="string")return null;try{const r=JSON.parse(u.data);return typeof r?.id=="string"&&typeof r?.message=="string"?r:null}catch{return null}}function K(u,r,l){const a=new URLSearchParams({limit:String(fe)});return u!=="all"&&a.set("level",u),r!=="all"&&a.set("module",r),l&&a.set("cursor",l),`/logs?${a}`}const pe={ref:"layout",class:"master-detail-layout system-logs-layout"},_e={key:0,class:"master-pane"},he={class:"panel-header system-logs-header"},Le={class:"panel-title"},Ce={class:"panel-subtitle"},$e={class:"system-log-controls"},ke={key:0,class:"panel-error",role:"alert"},we={key:1,class:"system-log-list"},be={class:"system-log-header","aria-hidden":"true"},Ve=["aria-current","data-log-id","onClick"],xe=["title"],Se={class:"system-log-level"},Re={class:"system-log-module mono"},Me={class:"system-log-message"},Ee={class:"mono"},Ie={key:2,class:"empty-inline"},De={key:4,class:"system-log-load-more"},Ne={key:1,ref:"detailPane",class:"detail-pane",tabindex:"-1"},Be={class:"panel-header compact-header"},Ue={class:"min-w-0 detail-header-title"},Oe={class:"panel-title text-truncate"},ze={class:"panel-subtitle mono text-truncate"},Ae={class:"detail-facts system-log-facts"},qe={class:"system-log-detail-data"},Fe={class:"detail-section-label"},Pe={class:"empty-panel"},Ke=ee({__name:"SystemLogsView",setup(u){const r=["app","http","auth","cloud","plugin","mcp"],l=te(),{mdAndDown:a}=le(),{focusDetail:v,focusMaster:S}=re(a),h=ge(),{records:L,selected:o,level:w,module:f,nextCursor:M,loading:C,loadingMore:E,error:R,limitReached:B,loadInitial:U,loadMore:O}=h,z=T(()=>[{title:l.t("$vuetify.chatroom.systemLogs.allLevels"),value:"all"},{title:"INFO",value:"info"},{title:"WARN",value:"warn"},{title:"ERROR",value:"error"},{title:"DEBUG",value:"debug"}]),A=T(()=>{const m=new Set(r);for(const y of L.value)m.add(y.module);return f.value!=="all"&&m.add(f.value),[{title:l.t("$vuetify.chatroom.systemLogs.allModules"),value:"all"},...[...m].sort((y,i)=>y.localeCompare(i)).map(y=>({title:y,value:y}))]}),n=T(()=>o.value?.data?JSON.stringify(o.value.data,null,2):"");function g(m){if(m==="error")return"error";if(m==="warn")return"warning";if(m==="info")return"primary"}function c(m){h.select(m),v()}function $(){const m=o.value?.id??null;h.clearSelection(),m&&S(`[data-log-id="${CSS.escape(m)}"]`)}return(m,y)=>(d(),p("div",pe,[!e(a)||!e(o)?(d(),p("div",_e,[_(P,{class:"panel-card"},{default:b(()=>[t("div",he,[t("div",null,[t("div",Le,s(e(l).t("$vuetify.chatroom.systemLogs.title")),1),t("div",Ce,s(e(l).t("$vuetify.chatroom.systemLogs.subtitle")),1)]),_(D,{icon:"$mdiRefresh",size:"small",variant:"text",loading:e(C),"aria-label":e(l).t("$vuetify.chatroom.systemLogs.refresh"),onClick:e(U)},null,8,["loading","aria-label","onClick"])]),t("div",$e,[_(se,{modelValue:e(w),"onUpdate:modelValue":y[0]||(y[0]=i=>X(w)?w.value=i:null),mandatory:"",variant:"text",class:"record-filters"},{default:b(()=>[(d(!0),p(q,null,Z(z.value,i=>(d(),I(D,{key:i.value,value:i.value,size:"small"},{default:b(()=>[N(s(i.title),1)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),_(ve,{modelValue:e(f),"onUpdate:modelValue":y[1]||(y[1]=i=>X(f)?f.value=i:null),items:A.value,"item-title":"title","item-value":"value","aria-label":e(l).t("$vuetify.chatroom.systemLogs.module"),density:"compact",variant:"outlined","hide-details":"",class:"system-log-module-filter"},null,8,["modelValue","items","aria-label"])]),_(F),e(R)?(d(),p("div",ke,[_(ae,{icon:"$mdiAlertCircleOutline",size:"18"}),t("span",null,s(e(R)),1)])):V("",!0),e(L).length?(d(),p("div",we,[t("div",be,[t("span",null,s(e(l).t("$vuetify.chatroom.systemLogs.time")),1),t("span",null,s(e(l).t("$vuetify.chatroom.systemLogs.level")),1),t("span",null,s(e(l).t("$vuetify.chatroom.systemLogs.module")),1),t("span",null,s(e(l).t("$vuetify.chatroom.systemLogs.message")),1)]),(d(!0),p(q,null,Z(e(L),i=>(d(),p("button",{key:i.id,type:"button",class:oe(["system-log-row",{"selected-row":e(o)?.id===i.id}]),"aria-current":e(o)?.id===i.id?"true":void 0,"data-log-id":i.id,onClick:Te=>c(i)},[t("span",{class:"system-log-time mono",title:i.timestamp},s(e(ce)(i.timestamp)),9,xe),t("span",Se,[_(ne,{size:"x-small",variant:"tonal",color:g(i.level)},{default:b(()=>[N(s(i.level.toUpperCase()),1)]),_:2},1032,["color"])]),t("span",Re,s(i.module),1),t("span",Me,[t("strong",null,s(i.message),1),t("small",Ee,s(i.event),1)])],10,Ve))),128))])):e(C)?V("",!0):(d(),p("div",Ie,s(e(l).t("$vuetify.chatroom.systemLogs.empty")),1)),e(B)?(d(),I(ie,{key:3,type:"info",variant:"tonal",density:"compact",class:"system-log-window-limit"},{default:b(()=>[N(s(e(l).t("$vuetify.chatroom.systemLogs.windowLimit")),1)]),_:1})):V("",!0),e(M)?(d(),p("div",De,[_(D,{variant:"text",size:"small",loading:e(E),onClick:e(O)},{default:b(()=>[N(s(e(l).t("$vuetify.chatroom.systemLogs.loadMore")),1)]),_:1},8,["loading","onClick"])])):V("",!0)]),_:1})])):V("",!0),!e(a)||e(o)?(d(),p("div",Ne,[e(o)?(d(),I(P,{key:0,class:"panel-card"},{default:b(()=>[t("div",Be,[e(a)?(d(),I(D,{key:0,icon:"$mdiArrowLeft",size:"small",variant:"text","aria-label":e(l).t("$vuetify.chatroom.systemLogs.back"),onClick:$},null,8,["aria-label"])):V("",!0),t("div",Ue,[t("div",Oe,s(e(o).message),1),t("div",ze,s(e(o).event),1)])]),_(F),t("div",Ae,[t("div",null,[t("span",null,s(e(l).t("$vuetify.chatroom.systemLogs.time")),1),t("strong",null,s(e(de)(e(o).timestamp,e(ue)(e(l).current.value))),1)]),t("div",null,[t("span",null,s(e(l).t("$vuetify.chatroom.systemLogs.level")),1),t("strong",null,s(e(o).level.toUpperCase()),1)]),t("div",null,[t("span",null,s(e(l).t("$vuetify.chatroom.systemLogs.module")),1),t("strong",null,s(e(o).module),1)]),t("div",null,[t("span",null,s(e(l).t("$vuetify.chatroom.systemLogs.event")),1),t("strong",null,s(e(o).event),1)])]),n.value?(d(),p(q,{key:0},[_(F),t("div",qe,[t("div",Fe,s(e(l).t("$vuetify.chatroom.systemLogs.data")),1),_(me,{text:n.value,filename:"log.json",language:"json",toolbar:!1},null,8,["text"])])],64)):V("",!0)]),_:1})):(d(),I(P,{key:1,class:"panel-card"},{default:b(()=>[t("div",Pe,s(e(l).t("$vuetify.chatroom.systemLogs.select")),1)]),_:1}))],512)):V("",!0)],512))}});export{Ke as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.system-logs-layout{grid-template-columns:minmax(0,1.65fr) minmax(0,.85fr)}.system-log-controls{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px}.system-log-controls .record-filters{min-width:0;overflow-x:auto;scrollbar-width:none}.system-log-controls .record-filters::-webkit-scrollbar{display:none}.system-log-module-filter{min-width:0;max-width:45%;flex:1 1 auto}.system-log-list{container-type:inline-size}.system-log-header,.system-log-row{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,.5fr) minmax(0,.65fr) minmax(0,3.15fr);column-gap:12px;align-items:center}.system-log-header{padding:6px 12px;border-bottom:1px solid rgb(var(--v-theme-outline),.08);background:rgb(var(--v-theme-on-surface),.018);color:rgb(var(--v-theme-on-surface),.46);font-size:11px;font-weight:600}.system-log-header>span:nth-child(2),.system-log-header>span:nth-child(3){justify-self:center;text-align:center}.system-log-row{width:100%;content-visibility:auto;contain-intrinsic-size:40px;min-width:0;padding:5px 12px;border:0;border-bottom:1px solid rgb(var(--v-theme-outline),.08);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.system-log-row:hover,.system-log-row.selected-row{background:rgb(var(--v-theme-primary),.045)}.system-log-time,.system-log-module{color:rgb(var(--v-theme-on-surface),.56);font-size:11px;white-space:nowrap}.system-log-module{min-inline-size:0;overflow:hidden;text-overflow:ellipsis}.system-log-level,.system-log-module{width:100%;justify-self:stretch;text-align:center}.system-log-message{display:flex;min-width:0;flex-direction:column;gap:2px;overflow:hidden}.system-log-message strong,.system-log-message small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.system-log-message strong{font-size:12px;font-weight:600}.system-log-message small{color:rgb(var(--v-theme-on-surface),.48);font-size:10.5px}.system-log-load-more{display:flex;justify-content:center;padding:8px 12px}.system-log-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.system-log-facts strong{overflow-wrap:anywhere}.system-log-detail-data{padding:12px 18px 18px}@container (max-width: 620px){.system-log-header{display:none}.system-log-row{grid-template-columns:max-content max-content minmax(0,1fr);grid-template-areas:"time level module" "message message message";gap:4px 8px}.system-log-time{grid-area:time}.system-log-level{grid-area:level}.system-log-module{grid-area:module;min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis}.system-log-message{grid-area:message}}@media(max-width:1100px){.system-logs-layout{grid-template-columns:minmax(0,1fr)}.system-logs-layout .detail-pane{position:static}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ac as Ae,be as Be,w as ae,am as xe,p as x,F as fe,a3 as j,ay as Z,aS as Ee,a$ as Je,b3 as Ie,E as G,T as Le,aD as ce,a9 as J,b_ as Xe,B as L,aa as Ce,al as ge,b$ as Ke,c0 as Ze,bk as et,_ as tt,bG as lt,g as A,aN as ve,a4 as He,Q as $e,aw as pe,c1 as nt,c2 as at,c3 as X,ah as ye,c4 as ot,ae as rt,bH as st,c5 as ze,l as me,bd as ut,a as it,ad as ct,ag as we,ai as ft,b2 as dt,af as vt,au as mt,ak as Se,c6 as ht,c7 as gt,az as pt,aA as yt,bn as bt,c8 as kt,J as Pe,Z as Te,a2 as wt,O as St,R as Re,ao as Vt,n as It,ap as Ct,aq as At,ar as xt,Y as Me,as as Ft,at as Pt,j as Tt,bb as Rt,av as _e,c9 as Oe}from"./index-u-aADQP-.js";import{V as Mt}from"./CodeViewer.vue_vue_type_script_setup_true_lang-ekOImmBP.js";const _t=Z({renderless:Boolean,...Ee()},"VVirtualScrollItem"),Ot=Ae()({name:"VVirtualScrollItem",inheritAttrs:!1,props:_t(),emits:{"update:height":e=>!0},setup(e,{attrs:t,emit:o,slots:l}){const{resizeRef:a,contentRect:u}=Be(void 0,"border");ae(()=>u.value?.height,i=>{i!=null&&o("update:height",i)}),xe(()=>e.renderless?x(fe,null,[l.default?.({itemRef:a})]):x("div",j({ref:a,class:["v-virtual-scroll__item",e.class],style:e.style},t),[l.default?.()]))}}),Dt=-1,Bt=1,he=100,Et=Z({itemHeight:{type:[Number,String],default:null},itemKey:{type:[String,Array,Function],default:null},height:[Number,String]},"virtual");function Lt(e,t){const o=Je(),l=G(0);Ie(()=>{l.value=parseFloat(e.itemHeight||0)});const a=G(0),u=G(Math.ceil((parseInt(e.height)||o.height.value)/(l.value||16))||1),i=G(0),r=G(0),s=J(),c=J();let k=0;const{resizeRef:g,contentRect:h}=Be();Ie(()=>{g.value=s.value});const m=L(()=>s.value===document.documentElement?o.height.value:h.value?.height||parseInt(e.height)||0),d=L(()=>!!(s.value&&c.value&&m.value&&l.value));let S=Array.from({length:t.value.length}),p=Array.from({length:t.value.length});const W=G(0);let P=-1;function T(f){return S[f]||l.value}const K=Xe(()=>{const f=performance.now();p[0]=0;const b=t.value.length;for(let V=1;V<=b;V++)p[V]=(p[V-1]||0)+T(V-1);W.value=Math.max(W.value,performance.now()-f),H()},W),be=ae(d,f=>{f&&(be(),k=c.value.offsetTop,K.immediate(),H(),~P&&Ce(()=>{ge&&window.requestAnimationFrame(()=>{~P&&oe(P)})}))});Le(()=>{K.clear()});function z(f,b){const V=S[f],C=l.value;b>0&&(l.value=C?Math.min(C,b):b),(V!==b||C!==l.value)&&(S[f]=b,K())}function I(f){f=ce(f,0,t.value.length);const b=Math.floor(f),V=f%1,C=b+1,q=p[b]||0,R=p[C]||q;return q+(R-q)*V}function re(f){return Kt(p,f)}let N=0,D=0,_=0;ae(m,(f,b)=>{H(),f<b&&requestAnimationFrame(()=>{D=0,H()})});let ee=-1;function se(){if(!s.value||!c.value)return;const f=s.value.scrollTop,b=performance.now();b-_>500?(D=Math.sign(f-N),k=c.value.offsetTop):D=f-N,N=f,_=b,window.clearTimeout(ee),ee=window.setTimeout(w,500),H()}function w(){!s.value||!c.value||(D=0,_=0,window.clearTimeout(ee),H())}let de=-1;function H(){cancelAnimationFrame(de),de=requestAnimationFrame(ke)}function ke(){if(!s.value||!m.value||!l.value)return;const f=N-k,b=Math.sign(D),V=Math.max(0,f-he),C=ce(re(V),0,t.value.length),q=f+m.value+he,R=ce(re(q)+1,C+1,t.value.length);if((b!==Dt||C<a.value)&&(b!==Bt||R>u.value)){const te=I(a.value)-I(C),Q=I(R)-I(u.value);Math.max(te,Q)>he?(a.value=C,u.value=R):(C<=0&&(a.value=C),R>=t.value.length&&(u.value=R,a.value=C))}i.value=I(a.value),r.value=I(t.value.length)-I(u.value)}function oe(f){const b=I(f);if(!s.value||f&&!b){P=f;return}const V=l.value||16,C=Math.ceil(he/V),q=Math.max(1,Math.ceil((m.value||0)/V));a.value=ce(f-C,0,Math.max(0,t.value.length-1)),u.value=ce(f+q+C,a.value+1,t.value.length),i.value=I(a.value),r.value=I(t.value.length)-I(u.value),D=0,_=0,P=f,Ce(()=>{const R=s.value;if(!R||!~P||P!==f)return;const te=I(f);R.scrollTop=te,N=R.scrollTop;const Q=I(t.value.length)+k;f&&R.scrollTop<te-1&&R.scrollHeight<Q-1?ge&&requestAnimationFrame(()=>{P===f&&oe(f)}):(P=-1,H())})}const O=L(()=>t.value.slice(a.value,u.value).map((f,b)=>{const V=b+a.value;return{raw:f,index:V,key:Ke(f,e.itemKey,V)}}));return ae(t,()=>{S=Array.from({length:t.value.length}),p=Array.from({length:t.value.length}),K.immediate(),H()},{deep:1}),{calculateVisibleItems:H,containerRef:s,markerRef:c,computedItems:O,paddingTop:i,paddingBottom:r,scrollToIndex:oe,handleScroll:se,handleScrollend:w,handleItemResize:z}}function Kt(e,t){let o=e.length-1,l=0,a=0,u=null,i=-1;if(e[o]<t)return o;for(;l<=o;)if(a=l+o>>1,u=e[a],u>t)o=a-1;else if(u<t)i=a,l=a+1;else return u===t?a:l;return i}const Ht=Z({items:{type:Array,default:()=>[]},renderless:Boolean,...Et(),...Ee(),...at()},"VVirtualScroll"),$t=Ae()({name:"VVirtualScroll",props:Ht(),setup(e,{slots:t}){const o=Ze("VVirtualScroll"),{dimensionStyles:l}=nt(e),{calculateVisibleItems:a,containerRef:u,markerRef:i,handleScroll:r,handleScrollend:s,handleItemResize:c,scrollToIndex:k,paddingTop:g,paddingBottom:h,computedItems:m}=Lt(e,pe(()=>e.items));return et(()=>e.renderless,()=>{function d(S=!1){const p=S?"addEventListener":"removeEventListener";ge&&(u.value===document.documentElement?(document[p]("scroll",r,{passive:!0}),document[p]("scrollend",s)):(u.value?.[p]("scroll",r,{passive:!0}),u.value?.[p]("scrollend",s)))}tt(()=>{u.value=lt(o.vnode.el,!0),d(!0)}),Le(d)}),xe(()=>{const d=m.value.map(S=>A(Ot,{key:S.key,renderless:e.renderless,"onUpdate:height":p=>c(S.index,p)},{default:p=>t.default?.({item:S.raw,index:S.index,...p})}));return e.renderless?x(fe,null,[x("div",{ref:i,class:"v-virtual-scroll__spacer",style:{paddingTop:ve(g.value)}},null),d,x("div",{class:"v-virtual-scroll__spacer",style:{paddingBottom:ve(h.value)}},null)]):x("div",{ref:u,class:$e(["v-virtual-scroll",e.class]),onScrollPassive:r,onScrollend:s,style:He([l.value,e.style])},[x("div",{ref:i,class:"v-virtual-scroll__container",style:{paddingTop:ve(g.value),paddingBottom:ve(h.value)}},[d])])}),{calculateVisibleItems:a,scrollToIndex:k}}});function Ne(e){const t=e.filter(l=>l[0]<l[1]).toSorted((l,a)=>l[0]-a[0]),o=[];for(const l of t){const a=o.at(-1);a&&l[0]<=a[1]?a[1]=Math.max(a[1],l[1]):o.push([l[0],l[1]])}return o}function De(e,t){const o=[];let l=0;for(const[a,u]of t)l<a&&o.push({text:e.slice(l,a),match:!1}),o.push({text:e.slice(a,u),match:!0}),l=u;return l<e.length&&o.push({text:e.slice(l),match:!1}),o}function zt(e,t,o,l){const a=ye(t).filter(Boolean),u=l?e.toLocaleLowerCase():e,i=[];for(const r of a){const s=l?r.toLocaleLowerCase():r;let c=u.indexOf(s);if(c!==-1&&(i.push([c,c+r.length]),o))for(c=u.indexOf(s,c+r.length);c!==-1;)i.push([c,c+r.length]),c=u.indexOf(s,c+r.length)}return Ne(i)}function Nt(e,t,o={}){const l=X(e),a=X(t),u=X(o.matches),i=X(o.matchAll)??!1,r=X(o.ignoreCase)??!1;if(u?.length)return De(l,Ne(u));if(a){const s=zt(l,a,i,r);return s.length>0?De(l,s):[{text:l,match:!1}]}return[{text:l,match:!1}]}const Ut=Z({text:{type:String,default:""},query:[String,Array],matches:Array,matchAll:Boolean,ignoreCase:Boolean,color:String,opacity:[String,Number],markClass:String,...st({tag:"span"})},"VHighlight"),jt=ot({name:"VHighlight",props:Ut(),setup(e){const t=L(()=>Nt(()=>e.text,()=>e.query,{matches:()=>e.matches,matchAll:()=>e.matchAll,ignoreCase:()=>e.ignoreCase})),{textColorClasses:o,textColorStyles:l}=rt(()=>e.color);return()=>A(e.tag,{class:"v-highlight"},{default:()=>[t.value.map((a,u)=>a.match?x("mark",{key:u,class:$e(["v-highlight__mark",o.value,e.markClass]),style:He([l.value,{"--v-highlight-opacity":e.opacity}])},[a.text]):x("span",{key:u},[a.text]))]})}});function Gt(e,t,o){return function(a){return!a.relatedTarget&&document.activeElement===document.body&&e.value?(requestAnimationFrame(()=>{if(!e.value)return;const u=t();((u&&ze(u)[0])??o())?.focus({preventScroll:!0})}),!0):!1}}function qt(e,t){const o=G(!1);let l;function a(r){cancelAnimationFrame(l),o.value=!0,l=requestAnimationFrame(()=>{l=requestAnimationFrame(()=>{o.value=!1})})}async function u(){await new Promise(r=>requestAnimationFrame(r)),await new Promise(r=>requestAnimationFrame(r)),await new Promise(r=>requestAnimationFrame(r)),await new Promise(r=>{if(o.value){const s=ae(o,()=>{s(),r()})}else r()})}async function i(r){if(r.key==="Tab"&&t.value?.focus(),!["PageDown","PageUp","Home","End"].includes(r.key))return;const s=e.value?.$el;if(!s)return;(r.key==="Home"||r.key==="End")&&s.scrollTo({top:r.key==="Home"?0:s.scrollHeight,behavior:"smooth"}),await u();const c=s.querySelectorAll(":scope > :not(.v-virtual-scroll__spacer)");if(r.key==="PageDown"||r.key==="Home"){const k=s.getBoundingClientRect().top;for(const g of c)if(g.getBoundingClientRect().top>=k){g.focus();break}}else{const k=s.getBoundingClientRect().bottom;for(const g of[...c].reverse())if(g.getBoundingClientRect().bottom<=k){g.focus();break}}}return{onScrollPassive:a,onKeydown:i}}function Wt({groups:e,onLeave:t}){function o(i){return i.type==="list"?i.contentRef.value?.$el:i.contentRef.value}function l(i){const r=o(i);return r?ze(r):[]}function a(i){const r=i.target,s=i.shiftKey?"backward":"forward",c=e.map(l),k=e.map(h=>h.type==="list"?h.contentRef.value?.$el:h.contentRef.value).findIndex(h=>h?.contains(r)),g=u(c,k,s,r);if(g===null){const h=e[k],m=c[k];(h.type==="list"||(s==="forward"?m.at(-1)===i.target:m.at(0)===i.target))&&t()}else{i.preventDefault(),i.stopImmediatePropagation();const h=e[g];if(h.type==="list"&&X(h.displayItemsCount)>0)h.contentRef.value?.focus(0);else{const m=s==="forward";c[g].at(m?0:-1).focus()}}}function u(i,r,s,c){const k=e[r],g=i[r];if(k.type!=="list"&&!(s==="forward"?g.at(-1)===c:g.at(0)===c))return null;const h=s==="forward"?1:-1;for(let m=r+h;m>=0&&m<e.length;m+=h){const d=e[m];if(i[m].length>0||d.type==="list"&&X(d.displayItemsCount)>0)return m}return null}return{onTabKeydown:a}}const Qt=(e,t,o)=>{if(e==null||t==null)return-1;if(!t.length)return 0;e=e.toString().toLocaleLowerCase(),t=t.toString().toLocaleLowerCase();const l=[];let a=e.indexOf(t);for(;~a;)l.push([a,a+t.length]),a=e.indexOf(t,a+t.length);return l.length?l:-1};function Ve(e,t){if(!(e==null||typeof e=="boolean"||e===-1))return typeof e=="number"?[[e,e+t.length]]:Array.isArray(e[0])?e:[e]}const Yt=Z({customFilter:Function,customKeyFilter:Object,filterKeys:[Array,String],filterMode:{type:String,default:"intersection"},noFilter:Boolean},"filter");function Jt(e,t,o){const l=[],a=o?.default??Qt,u=o?.filterKeys?ye(o.filterKeys):!1,i=Object.keys(o?.customKeyFilter??{}).length;if(!e?.length)return l;let r=[];e:for(let s=0;s<e.length;s++){const[c,k=c]=ye(e[s]),g={},h={};let m=-1;if((t||i>0)&&!o?.noFilter){let d=!1;if(typeof c=="object"){if(c.type==="divider"||c.type==="subheader"){(r.at(-1)?.type!=="divider"||c.type!=="subheader")&&(r=[]),r.push({index:s,matches:{},type:c.type});continue}const W=u||Object.keys(k);d=W.length===i;for(const P of W){const T=Ke(k,P),K=o?.customKeyFilter?.[P];if(m=K?K(T,t,c):a(T,t,c),m!==-1&&m!==!1)K?g[P]=Ve(m,t):h[P]=Ve(m,t);else if(o?.filterMode==="every")continue e}}else m=a(c,t,c),m!==-1&&m!==!1&&(h.title=Ve(m,t));const S=Object.keys(h).length,p=Object.keys(g).length;if(!S&&!p||o?.filterMode==="union"&&p!==i&&!S||o?.filterMode==="intersection"&&(p!==i||!S&&i>0&&!d))continue}r.length&&(l.push(...r),r=[]),l.push({index:s,matches:{...h,...g}})}return l}function Xt(e,t,o,l){const a=G([]),u=G(new Map),i=L(()=>me(t));Ie(()=>{const s=typeof o=="function"?o():me(o),c=typeof s!="string"&&typeof s!="number"?"":String(s),k=Jt(i.value,c,{customKeyFilter:{...e.customKeyFilter,...me(l?.customKeyFilter)},default:e.customFilter,filterKeys:e.filterKeys,filterMode:e.filterMode,noFilter:e.noFilter}),g=me(t),h=[],m=new Map;k.forEach(({index:d,matches:S})=>{const p=g[d];h.push(p),p.value!==void 0&&m.set(p.value,S)}),a.value=h,u.value=m});function r(s){return u.value.get(s.value)}return{filteredItems:a,filteredMatches:u,getMatches:r}}const Zt=Z({closeText:{type:String,default:"$vuetify.close"},openText:{type:String,default:"$vuetify.open"}},"autocomplete");function el(e,t){const o=ut(),l=L(()=>`menu-${o}`),a=pe(()=>X(t)),u=pe(()=>l.value);return{menuId:l,ariaExpanded:a,ariaControls:u}}const tl=Z({chips:Boolean,closableChips:Boolean,eager:Boolean,hideNoData:Boolean,hideSelected:Boolean,listProps:{type:Object},menu:Boolean,menuElevation:[Number,String],menuIcon:{type:bt,default:"$dropdown"},menuProps:{type:Object},multiple:Boolean,noDataText:{type:String,default:"$vuetify.noDataText"},openOnClear:Boolean,itemColor:String,noAutoScroll:Boolean,...Zt(),...kt({itemChildren:!1})},"Select"),ll=Z({search:String,...Yt({filterKeys:["title"]}),...tl(),...pt(yt({modelValue:null,role:"combobox"}),["validationValue","dirty"]),...ht({transition:{component:gt}})},"VSelect"),ol=Ae()({name:"VSelect",props:ll(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:menu":e=>!0,"update:search":e=>!0},setup(e,{slots:t}){const{t:o}=it(),l=J(),a=J(),u=J(),i=J(),r=J(),{items:s,transformIn:c,transformOut:k}=ct(e),g=we(e,"search",""),{filteredItems:h,getMatches:m}=Xt(e,s,()=>g.value),d=we(e,"modelValue",[],n=>c(n===null?[null]:ye(n)),n=>{const y=k(n);return e.multiple?y:y[0]??null}),S=L(()=>typeof e.counterValue=="function"?e.counterValue(d.value):typeof e.counterValue=="number"?e.counterValue:d.value.length),p=ft(e),W=dt(e),P=L(()=>d.value.map(n=>n.value)),T=G(!1),K=pe(()=>e.closableChips&&!p.isReadonly.value&&!p.isDisabled.value),{InputIcon:be}=vt(e);let z="",I=0,re,N=!1,D=null;const _=L(()=>{const n=g.value?h.value:s.value;return e.hideSelected?n.filter(y=>!d.value.some(M=>(e.valueComparator||Se)(M,y))):n}),ee=L(()=>e.hideNoData&&!_.value.length||p.isReadonly.value||p.isDisabled.value),se=we(e,"menu"),w=L({get:()=>se.value,set:n=>{se.value&&!n&&a.value?.ΨopenChildren.size||n&&ee.value||(se.value=n)}}),{menuId:de,ariaExpanded:H,ariaControls:ke}=el(e,w),oe=L(()=>({...e.menuProps,activatorProps:{...e.menuProps?.activatorProps||{},"aria-haspopup":"listbox"}})),O=J(),f=qt(O,l),b=Gt(w,()=>a.value?.contentEl,()=>l.value?.controlRef),{onTabKeydown:V}=Wt({groups:[{type:"element",contentRef:u},{type:"list",contentRef:O,displayItemsCount:()=>_.value.length},{type:"element",contentRef:i}],onLeave:()=>{w.value=!1,l.value?.focus()}});function C(n){e.openOnClear&&(w.value=!0)}function q(){ee.value||(N=!1,D=null,w.value=!w.value)}function R(n){n.key==="Tab"&&V(n),O.value?.$el.contains(n.target)&&_e(n)&&te(n)}function te(n){if(!n.key||p.isReadonly.value)return;if(["Enter"," ","ArrowDown","ArrowUp","Home","End"].includes(n.key)&&n.preventDefault(),["ArrowDown","ArrowUp"].includes(n.key)?D=n.key==="ArrowDown"?"next":"prev":["Enter"," "].includes(n.key)&&(D=null),["Enter","ArrowDown"," "].includes(n.key)&&(N=!0,w.value=!0),["Escape","Tab"].includes(n.key)&&(w.value=!1),e.clearable&&n.key==="Backspace"){n.preventDefault(),d.value=[],C();return}n.key==="Home"?O.value?.focus("first"):n.key==="End"&&O.value?.focus("last");const y=1e3;if(!_e(n))return;const M=performance.now();M-re>y&&(z="",I=0),z+=n.key.toLowerCase(),re=M;const le=_.value;function Y(){let F=ne();return F||z.at(-1)===z.at(-2)&&(z=z.slice(0,-1),I++,F=ne(),F)||(I=0,F=ne(),F)?F:(z=n.key.toLowerCase(),ne())}function ne(){for(let F=I;F<le.length;F++){const U=le[F];if(U.title.toLowerCase().startsWith(z))return[U,F]}}const $=Y();if(!$)return;const[v,B]=$;I=B,O.value?.focus(B),e.multiple||(d.value=[v])}function Q(n,y=!0){if(!n.props.disabled)if(e.multiple){const M=d.value.findIndex(Y=>(e.valueComparator||Se)(Y.value,n.value)),le=y??!~M;if(~M){const Y=le?[...d.value,n]:[...d.value];Y.splice(M,1),d.value=Y}else le&&(d.value=[...d.value,n])}else{const M=y!==!1;d.value=M?[n]:[],Ce(()=>{w.value=!1})}}function Fe(n){const y=n.target;l.value?.$el.contains(y)||(w.value=!1)}function Ue(){return _.value.findIndex(n=>d.value.some(y=>(e.valueComparator||Se)(y.value,n.value)))}function je(n){const y=O.value?.$el?.querySelector?.('[aria-selected="true"]');return y?(y.focus(n),!0):!1}function Ge(){if(e.eager&&r.value?.calculateVisibleItems(),!O.value||!T.value||O.value.$el?.contains(Rt()))return;const n={focusVisible:!1,preventScroll:e.noAutoScroll};if(D){O.value.focus(D,n);return}je(n)||N&&O.value.focus("first",n)}function qe(){g.value="",T.value&&(a.value?.contentEl?._clickOutside?.lastMousedownWasOutside?T.value=!1:l.value?.focus())}function We(n){T.value=!0}function Qe(n){if(!l.value?.$el.contains(n.relatedTarget)&&!n.currentTarget.contains(n.relatedTarget)){if(b(n))return;T.value=!1}}function Ye(n){if(n==null)d.value=[];else if(Oe(l.value,":autofill")||Oe(l.value,":-webkit-autofill")){const y=s.value.find(M=>M.title===n);y&&Q(y)}else l.value&&(l.value.value="")}return ae(w,n=>{if(n||(N=!1,D=null),!e.hideSelected&&w.value&&d.value.length){const y=Ue();ge&&!e.noAutoScroll&&window.requestAnimationFrame(()=>{y>=0&&r.value?.scrollToIndex(y)})}}),ae(s,(n,y)=>{w.value||T.value&&e.hideNoData&&!y.length&&n.length&&(w.value=!0)}),xe(()=>{const n=!!(e.chips||t.chip),y=!!(!e.hideNoData||_.value.length||t["prepend-item"]||t["append-item"]||t["no-data"]),M=d.value.length>0,le=Pe.filterProps(e),Y=M||!T.value&&e.label&&!e.persistentPlaceholder?void 0:e.placeholder,ne={search:g,filteredItems:h.value};return A(Pe,j({ref:l},le,{modelValue:d.value.map($=>$.props.title).join(", "),name:void 0,"onUpdate:modelValue":Ye,focused:T.value,"onUpdate:focused":$=>T.value=$,validationValue:d.externalValue,counterValue:S.value,dirty:M,class:["v-select",{"v-select--active-menu":w.value,"v-select--chips":!!e.chips,[`v-select--${e.multiple?"multiple":"single"}`]:!0,"v-select--selected":d.value.length,"v-select--selection-slot":!!t.selection},e.class],style:e.style,inputmode:"none",placeholder:Y,"onClick:clear":C,"onMousedown:control":q,onBlur:Fe,onKeydown:te,"aria-expanded":H.value,"aria-controls":ke.value}),{...t,default:({id:$})=>x(fe,null,[x("select",{hidden:!0,multiple:e.multiple,name:W.fieldName.value},[s.value.map(v=>x("option",{key:v.value,value:v.value,selected:P.value.includes(v.value)},null))]),A(wt,j({id:de.value,ref:a,modelValue:w.value,"onUpdate:modelValue":v=>w.value=v,activator:"parent",captureFocus:!1,disabled:ee.value,eager:e.eager,maxHeight:310,openOnClick:!1,closeOnContentClick:!1,transition:e.transition,onAfterEnter:Ge,onAfterLeave:qe},oe.value,{contentClass:["v-select__content",oe.value.contentClass]}),{default:()=>[A(Mt,{elevation:e.menuElevation,onFocusin:We,onFocusout:Qe,onKeydown:R},{default:()=>[t["menu-header"]&&x("header",{ref:u},[t["menu-header"](ne)]),y&&A(St,j({key:"select-list",ref:O,selected:P.value,selectStrategy:e.multiple?"independent":"single-independent",tabindex:"-1",selectable:!!_.value.length,"aria-live":"polite","aria-labelledby":`${$.value}-label`,"aria-multiselectable":e.multiple,color:e.itemColor??e.color},f,e.listProps),{default:()=>[t["prepend-item"]?.(),!_.value.length&&!e.hideNoData&&(t["no-data"]?.()??A(Re,{key:"no-data",title:o(e.noDataText)},null)),A($t,{ref:r,renderless:!0,items:_.value,itemKey:"value"},{default:({item:v,index:B,itemRef:F})=>{const U=Vt(v.props),ue=j(v.props,{ref:F,key:v.value,onClick:()=>Q(v,null),"aria-posinset":B+1,"aria-setsize":_.value.length});return v.type==="divider"?t.divider?.({props:v.raw,index:B})??A(It,j(v.props,{key:`divider-${B}`}),null):v.type==="subheader"?t.subheader?.({props:v.raw,index:B})??A(Ct,j(v.props,{key:`subheader-${B}`}),null):t.item?.({item:v.raw,internalItem:v,index:B,props:ue})??A(Re,j(ue,{role:"option"}),{prepend:({isSelected:ie})=>x(fe,null,[e.multiple&&!e.hideSelected?A(At,{key:v.value,modelValue:ie,ripple:!1,tabindex:"-1","aria-hidden":!0,onClick:E=>E.preventDefault()},null):void 0,U.prependAvatar&&A(xt,{image:U.prependAvatar},null),U.prependIcon&&A(Te,{icon:U.prependIcon},null)]),title:()=>g.value?A(jt,{text:v.title,matches:m(v)?.title,markClass:"v-select__mask",matchAll:!0,ignoreCase:!0},null):v.title})}}),t["append-item"]?.()]}),t["menu-footer"]&&x("footer",{ref:i},[t["menu-footer"](ne)])]})]}),d.value.map((v,B)=>{function F(E){E.stopPropagation(),E.preventDefault(),Q(v,!1)}const U=j(Me.filterProps(v.props),{"onClick:close":F,onKeydown(E){E.key!=="Enter"&&E.key!==" "||(E.preventDefault(),E.stopPropagation(),F(E))},onMousedown(E){E.preventDefault(),E.stopPropagation()},modelValue:!0,"onUpdate:modelValue":void 0}),ue=n?!!t.chip:!!t.selection,ie=ue?Ft(n?t.chip({item:v.raw,internalItem:v,index:B,props:U}):t.selection({item:v.raw,internalItem:v,index:B})):void 0;if(!(ue&&!ie))return x("div",{key:v.value,class:"v-select__selection"},[n?t.chip?A(Pt,{key:"chip-defaults",defaults:{VChip:{closable:K.value,size:"small",text:v.title}}},{default:()=>[ie]}):A(Me,j({key:"chip",closable:K.value,size:"small",text:v.title,disabled:v.props.disabled},U),null):ie??x("span",{class:"v-select__selection-text"},[v.title,e.multiple&&B<d.value.length-1&&x("span",{class:"v-select__selection-comma"},[Tt(",")])])])})]),"append-inner":(...$)=>x(fe,null,[t["append-inner"]?.(...$),e.menuIcon?A(Te,{class:"v-select__menu-icon",color:l.value?.fieldIconColor,icon:e.menuIcon,"aria-hidden":!0},null):void 0,e.appendInnerIcon&&A(be,{key:"append-icon",name:"appendInner",color:$[0].iconColor.value},null)])})}),mt({isFocused:T,menu:w,search:g,filteredItems:h,select:Q},l)}});export{ol as V,el as a,$t as b,jt as c,qt as d,Yt as e,Wt as f,Gt as g,tl as m,Xt as u};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{cd as a}from"./index-u-aADQP-.js";const e=a("v-spacer","div","VSpacer");export{e as V};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ac as K,ag as _,bv as W,aU as p,aL as ee,bw as ae,bd as te,am as le,au as ne,ay as ue,bx as se,by as ie,az as oe,aV as re,aY as de,aX as x,bz as A,g as n,a3 as F,p as i,a4 as w,Q as k,at as ce,aQ as ve,Z as fe,bA as me,ab as he,F as ge,a9 as I,aw as d}from"./index-u-aADQP-.js";const be=ue({inset:{type:[Boolean,String],default:!1},flat:Boolean,thumbColor:String,loading:{type:[Boolean,String],default:!1},...oe(re(),["glow"]),...ie(),...se()},"VSwitch"),we=["x-small","small","default","large","x-large"],ke={"x-small":11,small:14,default:16,large:18,"x-large":22},Ce=K()({name:"VSwitch",inheritAttrs:!1,props:be(),emits:{"update:focused":e=>!0,"update:modelValue":e=>!0,"update:indeterminate":e=>!0},setup(e,{attrs:M,slots:a}){const o=_(e,"indeterminate"),u=_(e,"modelValue"),{loaderClasses:B}=W(e),{isFocused:R,focus:T,blur:N}=p(e),{backgroundColorClasses:U,backgroundColorStyles:q}=ee(()=>e.thumbColor),V=I(),C=I(),c=ae&&window.matchMedia("(forced-colors: active)").matches,D=d(()=>typeof e.loading=="string"&&e.loading!==""?e.loading:e.color),L=te(),Q=d(()=>e.id||`switch-${L}`),v=d(()=>we.includes(e.size)),f=d(()=>v.value?ke[e.size]:Math.round(16*Number(e.size)/32));function $(){o.value&&(o.value=!1)}function E(r){r.stopPropagation(),r.preventDefault(),V.value?.input?.click()}return le(()=>{const[r,H]=de(M),O=x.filterProps(e),X=A.filterProps(e),l=["material","square"].includes(String(e.inset)),S=!c&&!!e.thumbColor;return n(x,F({ref:C,class:["v-switch",{"v-switch--flat":e.flat},{"v-switch--inset":!!e.inset},{"v-switch--inset-material":l},{"v-switch--inset-square":e.inset==="square"},{"v-switch--indeterminate":o.value},v.value?`v-switch--size-${e.size}`:void 0,B.value,e.class]},r,O,{modelValue:u.value,"onUpdate:modelValue":m=>u.value=m,id:Q.value,focused:R.value,style:[{"--v-switch-scale":v.value?void 0:Number(e.size)/32},e.style]}),{...a,default:({id:m,messagesId:Y,isDisabled:Z,isReadonly:j,isValid:y})=>{const h={model:u,isValid:y};return n(A,F({ref:V},X,{modelValue:u.value,"onUpdate:modelValue":[s=>u.value=s,$],id:m.value,"aria-describedby":Y.value,type:"checkbox","aria-checked":o.value?"mixed":void 0,disabled:Z.value,readonly:j.value,onFocus:T,onBlur:N},H),{...a,default:({backgroundColorClasses:s,backgroundColorStyles:t})=>i("div",{class:k(["v-switch__track",c?void 0:s.value]),style:w(t.value),onClick:E},[a["track-true"]&&i("div",{key:"prepend",class:"v-switch__track-true"},[a["track-true"](h)]),a["track-false"]&&i("div",{key:"append",class:"v-switch__track-false"},[a["track-false"](h)])]),input:({inputNode:s,icon:t,model:z,backgroundColorClasses:g,backgroundColorStyles:P,textColorClasses:G,textColorStyles:J})=>i(ge,null,[s,i("div",{class:k(["v-switch__thumb",{"v-switch__thumb--filled":t||e.loading},c?void 0:S&&z.value?U.value:l?g.value:e.inset?void 0:g.value]),style:w([S&&z.value?q.value:l?g.value.length||P.value.backgroundColor?{backgroundColor:"currentColor"}:void 0:e.inset?void 0:P.value])},[a.thumb?n(ce,{defaults:{VIcon:{icon:t,size:l?f.value:"x-small"}}},{default:()=>[a.thumb({...h,icon:t})]}):n(ve,null,{default:()=>[e.loading?n(me,{name:"v-switch",active:!0,color:y.value===!1?void 0:D.value},{default:b=>a.loader?a.loader(b):n(he,{active:b.isActive,color:b.color,indeterminate:!0,size:f.value,width:"2"},null)}):t&&n(fe,{key:String(t),class:k(l?G.value:void 0),style:w(l?J.value:void 0),icon:t,size:l?f.value:"x-small"},null)]})])])})}})}),ne({},C)}});export{Ce as V};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ac as R,ae as ve,aL as J,am as W,au as fe,ay as $,az as Z,bB as he,k as X,g as x,p as P,a4 as G,Q as H,F as p,a3 as I,a9 as M,bC as me,bD as be,B as C,bE as z,bh as ge,aC as we,a as ye,bF as Te,w as Se,al as j,bG as Ce,aa as D,E as L,bp as xe,bH as ee,aS as te,aO as ne,bI as Ve,aN as _,aw as S,aI as ke,aK as oe,ag as ae,bJ as Be,bK as Pe,bL as Ee,bM as Ie,bN as _e,aP as Re,bO as We,bP as $e,bg as Ye,bQ as Ae,bR as De,bS as Xe,bT as He,bU as K,bV as Me}from"./index-u-aADQP-.js";const N=Symbol.for("vuetify:v-tabs"),se=$({fixed:Boolean,sliderColor:String,sliderTransition:String,sliderTransitionDuration:[String,Number],hideSlider:Boolean,inset:Boolean,direction:{type:String,default:"horizontal"},...Z(he({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),ze=R()({name:"VTab",props:se(),setup(e,{slots:n,attrs:t}){const{textColorClasses:a,textColorStyles:i}=ve(()=>e.sliderColor),{backgroundColorClasses:o,backgroundColorStyles:u}=J(()=>e.sliderColor),c=M(),v=M(),f=C(()=>e.direction==="horizontal"),m=C(()=>c.value?.group?.isSelected.value??!1);function l(g,w){return{opacity:[0,1]}}function E(g,w){return e.direction==="vertical"?{transform:["scaleY(0)","scaleY(1)"]}:{transform:["scaleX(0)","scaleX(1)"]}}function b(g,w){const h=w.getBoundingClientRect(),y=g.getBoundingClientRect(),k=f.value?"x":"y",T=f.value?"X":"Y",s=f.value?"right":"bottom",r=f.value?"width":"height",d=h[k],B=y[k],V=d>B?h[s]-y[s]:h[k]-y[k],A=Math.sign(V)>0?f.value?"right":"bottom":Math.sign(V)<0?f.value?"left":"top":"center",F=(Math.abs(V)+(Math.sign(V)<0?h[r]:y[r]))/Math.max(h[r],y[r])||0,de=h[r]/y[r]||0,U=1.5;return{transform:[`translate${T}(${V}px) scale${T}(${de})`,`translate${T}(${V/U}px) scale${T}(${(F-1)/U+1})`,"none"],transformOrigin:Array(3).fill(A)}}function Y({value:g}){if(g){const w=c.value?.$el.parentElement?.querySelector(".v-tab--selected .v-tab__slider"),h=v.value;if(!w||!h)return;const y=getComputedStyle(w).backgroundColor,k={fade:l,grow:E,shift:b}[e.sliderTransition??"shift"]??b,T=Number(e.sliderTransitionDuration)||({fade:400,grow:350,shift:225}[e.sliderTransition??"shift"]??225);me(h,{backgroundColor:[y,y],...k(h,w)},{duration:T,easing:be})}}return W(()=>{const g=X.filterProps(e);return x(X,I({symbol:N,ref:c,class:["v-tab",e.class,m.value&&e.inset?o.value:[]],style:[e.style,m.value&&e.inset?u.value:[],{backgroundColor:m.value&&e.inset?"transparent !important":void 0}],tabindex:m.value?0:-1,role:"tab","aria-selected":String(m.value),active:!1},g,t,{block:e.fixed,maxWidth:e.fixed?300:void 0,"onGroup:selected":Y}),{...n,default:()=>P(p,null,[n.default?.()??e.text,!e.hideSlider&&P("div",{ref:v,class:H(["v-tab__slider",e.inset?o.value:a.value]),style:G([i.value,e.inset?u.value:a.value])},null)])})}),fe({},c)}}),Le=e=>{const{touchstartX:n,touchendX:t,touchstartY:a,touchendY:i}=e,o=.5,u=16;e.offsetX=t-n,e.offsetY=i-a,Math.abs(e.offsetY)<o*Math.abs(e.offsetX)&&(e.left&&t<n-u&&e.left(e),e.right&&t>n+u&&e.right(e)),Math.abs(e.offsetX)<o*Math.abs(e.offsetY)&&(e.up&&i<a-u&&e.up(e),e.down&&i>a+u&&e.down(e))};function Oe(e,n){const t=e.changedTouches[0];n.touchstartX=t.clientX,n.touchstartY=t.clientY,n.start?.({originalEvent:e,...n})}function Ge(e,n){const t=e.changedTouches[0];n.touchendX=t.clientX,n.touchendY=t.clientY,n.end?.({originalEvent:e,...n}),Le(n)}function Ne(e,n){const t=e.changedTouches[0];n.touchmoveX=t.clientX,n.touchmoveY=t.clientY,n.move?.({originalEvent:e,...n})}function Fe(e={}){const n={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:e.left,right:e.right,up:e.up,down:e.down,start:e.start,move:e.move,end:e.end};return{touchstart:t=>Oe(t,n),touchend:t=>Ge(t,n),touchmove:t=>Ne(t,n)}}function Ue(e,n){const t=n.value,a=t?.parent?e.parentElement:e,i=t?.options??{passive:!0},o=n.instance?.$.uid;if(!a||o===void 0)return;const u=Fe(n.value);a._touchHandlers=a._touchHandlers??Object.create(null),a._touchHandlers[o]=u,z(u).forEach(c=>{a.addEventListener(c,u[c],i)})}function je(e,n){const t=n.value?.parent?e.parentElement:e,a=n.instance?.$.uid;if(!t?._touchHandlers||a===void 0)return;const i=t._touchHandlers[a];i&&(z(i).forEach(o=>{t.removeEventListener(o,i[o])}),delete t._touchHandlers[a],z(t._touchHandlers).length||delete t._touchHandlers)}const O={mounted:Ue,unmounted:je},ie=Symbol.for("vuetify:v-window"),le=Symbol.for("vuetify:v-window-group"),re=$({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:"$next"},prevIcon:{type:[Boolean,String,Function,Object],default:"$prev"},reverse:Boolean,showArrows:{type:[Boolean,String],validator:e=>typeof e=="boolean"||e==="hover"},verticalArrows:[Boolean,String],touch:{type:[Object,Boolean],default:void 0},direction:{type:String,default:"horizontal"},modelValue:null,disabled:Boolean,selectedClass:{type:String,default:"v-window-item--active"},mandatory:{type:[Boolean,String],default:"force"},crossfade:Boolean,transitionDuration:Number,...te(),...ee(),...xe()},"VWindow"),q=R()({name:"VWindow",directives:{vTouch:O},props:re(),emits:{"update:modelValue":e=>!0},setup(e,{slots:n}){const{themeClasses:t}=ge(e),{isRtl:a}=we(),{t:i}=ye(),o=Te(e,le),u=M(),c=C(()=>a.value?!e.reverse:e.reverse),v=L(!1),f=C(()=>{if(e.crossfade)return"v-window-crossfade-transition";const s=e.direction==="vertical"?"y":"x",d=(c.value?!v.value:v.value)?"-reverse":"";return`v-window-${s}${d}-transition`}),m=L(0),l=M(void 0),E=C(()=>o.items.value.findIndex(s=>o.selected.value.includes(s.id)));Se(E,(s,r)=>{let d;const B={left:0,top:0};j&&r>=0&&(d=Ce(u.value),B.left=d?.scrollLeft,B.top=d?.scrollTop);const V=o.items.value.length,A=V-1;V<=2?v.value=s<r:s===A&&r===0?v.value=!1:s===0&&r===A?v.value=!0:v.value=s<r,D(()=>{if(!j||!d)return;d.scrollTop!==B.top&&d.scrollTo({...B,behavior:"instant"}),requestAnimationFrame(()=>{if(!d)return;d.scrollTop!==B.top&&d.scrollTo({...B,behavior:"instant"})})})},{flush:"sync"}),ke(ie,{transition:f,isReversed:v,transitionCount:m,transitionHeight:l,rootRef:u});const b=S(()=>e.continuous||E.value!==0),Y=S(()=>e.continuous||E.value!==o.items.value.length-1);function g(){b.value&&o.prev()}function w(){Y.value&&o.next()}const h=C(()=>{const s=[],r={icon:a.value?e.nextIcon:e.prevIcon,class:`v-window__${c.value?"right":"left"}`,onClick:o.prev,"aria-label":i("$vuetify.carousel.prev")};s.push(b.value?n.prev?n.prev({props:r}):x(X,r,null):P("div",null,null));const d={icon:a.value?e.prevIcon:e.nextIcon,class:`v-window__${c.value?"left":"right"}`,onClick:o.next,"aria-label":i("$vuetify.carousel.next")};return s.push(Y.value?n.next?n.next({props:d}):x(X,d,null):P("div",null,null)),s}),y=C(()=>e.touch===!1?e.touch:{...{left:()=>{c.value?g():w()},right:()=>{c.value?w():g()},start:({originalEvent:r})=>{r.stopPropagation()}},...e.touch===!0?{}:e.touch});function k(s){(e.direction==="horizontal"&&s.key==="ArrowLeft"||e.direction==="vertical"&&s.key==="ArrowUp")&&(s.preventDefault(),g(),D(()=>{b.value?T(0):T(1)})),(e.direction==="horizontal"&&s.key==="ArrowRight"||e.direction==="vertical"&&s.key==="ArrowDown")&&(s.preventDefault(),w(),D(()=>{Y.value?T(1):T(0)}))}function T(s){const r=h.value[s];if(!r)return;(Array.isArray(r)?r[0]:r).el?.focus()}return W(()=>ne(x(e.tag,{ref:u,class:H(["v-window",{"v-window--show-arrows-on-hover":e.showArrows==="hover","v-window--vertical-arrows":!!e.verticalArrows,"v-window--crossfade":!!e.crossfade},t.value,e.class]),style:G([e.style,{"--v-window-transition-duration":Ve()?null:_(e.transitionDuration,"ms")}])},{default:()=>[P("div",{class:"v-window__container",style:{height:l.value}},[n.default?.({group:o}),e.showArrows!==!1&&P("div",{class:H(["v-window__controls",{"v-window__controls--left":e.verticalArrows==="left"||e.verticalArrows===!0},{"v-window__controls--right":e.verticalArrows==="right"}]),onKeydown:k},[h.value])]),n.additional?.({group:o})]}),[[O,y.value]])),{group:o}}}),Ke=$({...Z(re(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),qe=R()({name:"VTabsWindow",props:Ke(),emits:{"update:modelValue":e=>!0},setup(e,{slots:n}){const t=oe(N,null),a=ae(e,"modelValue"),i=C({get(){return a.value!=null||!t?a.value:t.items.value.find(o=>t.selected.value.includes(o.id))?.value},set(o){a.value=o}});return W(()=>{const o=q.filterProps(e);return x(q,I({_as:"VTabsWindow"},o,{modelValue:i.value,"onUpdate:modelValue":u=>i.value=u,class:["v-tabs-window",e.class],style:e.style,mandatory:!1,touch:!1}),n)}),{}}}),ue=$({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...te(),..._e(),...Ie()},"VWindowItem"),Q=R()({name:"VWindowItem",directives:{vTouch:O},props:ue(),emits:{"group:selected":e=>!0},setup(e,{slots:n}){const t=oe(ie),a=Be(e,le),{isBooted:i}=Pe();if(!t||!a)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const o=L(!1),u=C(()=>i.value&&(t.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function c(){!o.value||!t||(o.value=!1,t.transitionCount.value>0&&(t.transitionCount.value-=1,t.transitionCount.value===0&&(t.transitionHeight.value=void 0)))}function v(){o.value||!t||(o.value=!0,t.transitionCount.value===0&&(t.transitionHeight.value=_(t.rootRef.value?.clientHeight)),t.transitionCount.value+=1)}function f(){c()}function m(b){o.value&&D(()=>{!u.value||!o.value||!t||(t.transitionHeight.value=_(b.clientHeight))})}const l=C(()=>{const b=t.isReversed.value?e.reverseTransition:e.transition;return u.value?{name:typeof b!="string"?t.transition.value:b,onBeforeEnter:v,onAfterEnter:c,onEnterCancelled:f,onBeforeLeave:v,onAfterLeave:c,onLeaveCancelled:f,onEnter:m}:!1}),{hasContent:E}=Ee(e,a.isSelected);return W(()=>x(We,{transition:l.value,disabled:!i.value},{default:()=>[ne(P("div",{class:H(["v-window-item",a.selectedClass.value,e.class]),style:G(e.style)},[E.value&&n.default?.()]),[[Re,a.isSelected.value]])]})),{groupItem:a}}}),Qe=$({...ue()},"VTabsWindowItem"),Je=R()({name:"VTabsWindowItem",props:Qe(),setup(e,{slots:n}){return W(()=>{const t=Q.filterProps(e);return x(Q,I({_as:"VTabsWindowItem"},t,{class:["v-tabs-window-item",e.class],style:e.style}),n)}),{}}});function Ze(e){return e?e.map(n=>Me(n)?n:{text:n,value:n}):[]}const pe=$({alignTabs:{type:String,default:"start"},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,inset:Boolean,insetPadding:[String,Number],insetRadius:[String,Number],sliderColor:String,...He(se(),["spaced","sliderTransition","sliderTransitionDuration"]),...Xe({mandatory:"force",selectedClass:"v-tab-item--selected"}),...De(),...ee()},"VTabs"),tt=R()({name:"VTabs",props:pe(),emits:{"update:modelValue":e=>!0},setup(e,{attrs:n,slots:t}){const a=ae(e,"modelValue"),i=C(()=>Ze(e.items)),{densityClasses:o}=$e(e),{backgroundColorClasses:u,backgroundColorStyles:c}=J(()=>e.bgColor),{scopeId:v}=Ye();return Ae({VTab:{color:S(e,"color"),direction:S(e,"direction"),stacked:S(e,"stacked"),fixed:S(e,"fixedTabs"),inset:S(e,"inset"),sliderColor:S(e,"sliderColor"),sliderTransition:S(e,"sliderTransition"),sliderTransitionDuration:S(e,"sliderTransitionDuration"),hideSlider:S(e,"hideSlider")}}),W(()=>{const f=K.filterProps(e),m=!!(t.window||e.items.length>0);return P(p,null,[x(K,I(f,{modelValue:a.value,"onUpdate:modelValue":l=>a.value=l,class:["v-tabs",`v-tabs--${e.direction}`,`v-tabs--align-tabs-${e.alignTabs}`,{"v-tabs--fixed-tabs":e.fixedTabs,"v-tabs--grow":e.grow,"v-tabs--inset":e.inset,"v-tabs--stacked":e.stacked},o.value,u.value,e.class],style:[{"--v-tabs-height":_(e.height),"--v-tabs-inset-padding":e.inset?_(e.insetPadding):void 0,"--v-tabs-inset-radius":e.inset?_(e.insetRadius):void 0},c.value,e.style],role:"tablist",symbol:N},v,n),{default:t.default??(()=>i.value.map(l=>t.tab?.({item:l})??x(ze,I(l,{key:l.text,value:l.value,spaced:e.spaced}),{default:t[`tab.${l.value}`]?()=>t[`tab.${l.value}`]?.({item:l}):void 0}))),prev:t.prev,next:t.next}),m&&x(qe,I({modelValue:a.value,"onUpdate:modelValue":l=>a.value=l,key:"tabs-window"},v),{default:()=>[i.value.map(l=>t.item?.({item:l})??x(Je,{value:l.value},{default:()=>t[`item.${l.value}`]?.({item:l})})),t.window?.()]})])}),{}}});export{tt as V,ze as a,q as b,Q as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ac as ue,b1 as U,ag as oe,aU as ie,a$ as re,b2 as se,a9 as g,b3 as ce,_ as de,w as c,a6 as fe,am as ve,au as me,aa as F,aN as R,aD as xe,ay as ge,b4 as he,az as be,aV as we,b5 as Ve,E as ye,aY as Fe,aX as $,b6 as O,g as A,p as o,F as B,b7 as Ce,a3 as M,aO as W,b8 as Pe,Q as Ie,B as C,b9 as Ne,ba as ke,bb as Se}from"./index-u-aADQP-.js";const He=ge({autoGrow:Boolean,autofocus:Boolean,counter:[Boolean,Number,String],counterValue:Function,prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,noResize:Boolean,rows:{type:[Number,String],default:5,validator:e=>!isNaN(parseFloat(e))},maxHeight:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},maxRows:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},suffix:String,modelModifiers:Object,...Ve(),...be(we(),["direction"]),...he()},"VTextarea"),Ae=ue()({name:"VTextarea",directives:{vIntersect:U},inheritAttrs:!1,props:He(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,"update:rows":e=>!0},setup(e,{attrs:P,emit:I,slots:d}){const l=oe(e,"modelValue"),{isFocused:f,focus:j,blur:Q}=ie(e),{onIntersect:X}=ke(e),Y=C(()=>typeof e.counterValue=="function"?e.counterValue(l.value):(l.value||"").toString().length),q=C(()=>{if(P.maxlength)return P.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),z=g(),b=g(),_=ye(""),v=g(),N=g(0),{platform:J}=re(),w=se(e),K=C(()=>e.persistentPlaceholder||f.value||e.active);function k(){w.isSuppressing.value&&w.update(),v.value!==Se()&&v.value?.focus(),f.value||j()}function L(t){k(),I("click:control",t)}function Z(t){I("mousedown:control",t)}function p(t){t.stopPropagation(),k(),F(()=>{l.value="",Ne(e["onClick:clear"],t)})}function ee(t){const a=t.target;if(!e.modelModifiers?.trim){l.value=a.value;return}const u=a.value,x=a.selectionStart,r=a.selectionEnd;l.value=u,F(()=>{let s=0;u.trimStart().length===a.value.length&&(s=u.length-a.value.length),x!=null&&(a.selectionStart=x-s),r!=null&&(a.selectionEnd=r-s)})}const m=g(),h=g(Number(e.rows)),V=C(()=>["plain","underlined"].includes(e.variant));ce(()=>{e.autoGrow||(h.value=Number(e.rows))});function i(){F(()=>{if(!v.value)return;if(J.value.firefox){N.value=12;return}const{offsetWidth:t,clientWidth:a}=v.value;N.value=Math.max(0,t-a)}),e.autoGrow&&F(()=>{if(!m.value||!b.value)return;const t=getComputedStyle(m.value),a=getComputedStyle(b.value.$el),u=parseFloat(t.getPropertyValue("--v-field-padding-top"))+parseFloat(t.getPropertyValue("--v-input-padding-top"))+parseFloat(t.getPropertyValue("--v-field-padding-bottom")),x=m.value.scrollHeight,r=parseFloat(t.lineHeight),s=Math.max(parseFloat(e.rows)*r+u,parseFloat(a.getPropertyValue("--v-input-control-height"))),S=e.maxHeight?parseFloat(e.maxHeight):parseFloat(e.maxRows)*r+u||1/0,n=xe(x??0,s,S);h.value=Math.floor((n-u)/r),_.value=R(n)})}de(i),c(l,i),c(()=>e.rows,i),c(()=>e.maxHeight,i),c(()=>e.maxRows,i),c(()=>e.density,i),c(h,t=>{I("update:rows",t)});let y;return c(m,t=>{t?(y=new ResizeObserver(i),y.observe(m.value)):y?.disconnect()}),fe(()=>{y?.disconnect()}),ve(()=>{const t=!!(d.counter||e.counter||e.counterValue),a=e.hideDetails!==!0&&!!(d.details||t&&(e.persistentCounter||e.hideDetails===!1||f.value)),[u,x]=Fe(P),{modelValue:r,...s}=$.filterProps(e),S={...O.filterProps(e),"onClick:clear":p};return A($,M({ref:z,modelValue:l.value,"onUpdate:modelValue":n=>l.value=n,class:["v-textarea v-text-field",{"v-textarea--prefixed":e.prefix,"v-textarea--suffixed":e.suffix,"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-textarea--auto-grow":e.autoGrow,"v-textarea--no-resize":e.noResize||e.autoGrow,"v-input--plain-underlined":V.value},e.class],style:[{"--v-textarea-max-height":e.maxHeight?R(e.maxHeight):void 0,"--v-textarea-scroll-bar-width":R(N.value)},e.style]},u,s,{centerAffix:h.value===1&&!V.value,focused:f.value,indentDetails:e.indentDetails??!V.value}),{...d,default:({id:n,isDisabled:T,isDirty:D,isReadonly:te,isValid:ae,hasDetails:le})=>A(O,M({ref:b,style:{"--v-textarea-control-height":_.value},onClick:L,onMousedown:Z,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"]},S,{id:n.value,active:K.value||D.value,labelId:`${n.value}-label`,centerAffix:h.value===1&&!V.value,dirty:D.value||e.dirty,disabled:T.value,focused:f.value,details:le.value,error:ae.value===!1}),{...d,default:({props:{class:E,...G},controlRef:ne})=>o(B,null,[e.prefix&&o("span",{class:"v-text-field__prefix"},[e.prefix]),W(o("textarea",M({ref:H=>v.value=ne.value=H,class:E,value:l.value,onInput:ee,autofocus:e.autofocus,readonly:te.value,disabled:T.value,placeholder:e.placeholder,rows:e.rows,name:w.fieldName.value,autocomplete:w.fieldAutocomplete.value,onFocus:k,onBlur:Q,"aria-labelledby":`${n.value}-label`},G,x),null),[[U,{handler:X},null,{once:!0}]]),e.autoGrow&&W(o("textarea",{class:Ie([E,"v-textarea__sizer"]),id:`${G.id}-sizer`,"onUpdate:modelValue":H=>l.value=H,ref:m,readonly:!0,"aria-hidden":"true"},null),[[Pe,l.value]]),e.suffix&&o("span",{class:"v-text-field__suffix"},[e.suffix])])}),details:a?n=>o(B,null,[d.details?.(n),t&&o(B,null,[o("span",null,null),A(Ce,{active:e.persistentCounter||f.value,value:Y.value,max:q.value,disabled:e.disabled},d.counter)])]):void 0})}),me({},z,b,v)}});export{Ae as V};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as P,u as B,a as U,w as N,b as T,e as W,o as e,c as l,f as r,g as s,V as F,h as L,i as S,j as w,t as k,k as C,l as i,m as _,n as A,p as E,q as O,r as g,s as D,v as M,F as R,x as q,y as j,z,A as I,B as x,C as K,D as Q,E as b}from"./index-u-aADQP-.js";import{_ as G}from"./CodeViewer.vue_vue_type_script_setup_true_lang-ekOImmBP.js";import{M as H}from"./MarkdownContent-CkjR5fs7.js";import{W as J,a as X}from"./WorkspaceMediaPreview-HYajqgZ3.js";import{_ as Y}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./VSpacer-M8bpkhTH.js";import"./syntax-highlight-C_fuMcwC.js";const Z={class:"workspace-download-preview-body"},ee=["src","alt"],ae=P({__name:"WorkspaceDownloadPreview",props:I({workspace:{},path:{}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const o=a,d=B(a,"modelValue"),v=U(),t=x(()=>K(o.path)),h=x(()=>Q(o.path)),$=x(()=>`/api/workspace/file/${t.value==="image"?"image":"preview"}?${new URLSearchParams({workspace:o.workspace,path:o.path})}`),n=b(null),p=b(!1),m=b("");return N([d,()=>o.workspace,()=>o.path],([y],u,f)=>{if(n.value=null,m.value="",p.value=!1,!y||t.value!=="text")return;const c=new AbortController;f(()=>c.abort()),p.value=!0,T(`/workspace/file?${new URLSearchParams({workspace:o.workspace,path:o.path})}`,{signal:c.signal}).then(V=>{c.signal.aborted||(n.value=V)}).catch(V=>{c.signal.aborted||(m.value=W(V))}).finally(()=>{c.signal.aborted||(p.value=!1)})},{immediate:!0}),(y,u)=>(e(),l(z,{modelValue:d.value,"onUpdate:modelValue":u[1]||(u[1]=f=>d.value=f),fullscreen:""},{default:r(()=>[s(F,{class:"workspace-download-preview"},{default:r(()=>[s(L,{density:"comfortable",color:"surface"},{default:r(()=>[s(S,{class:"text-body-1 text-truncate",title:a.path},{default:r(()=>[w(k(h.value),1)]),_:1},8,["title"]),s(C,{variant:"text","prepend-icon":"$mdiDownloadOutline",href:i(_)(a.workspace,a.path),download:h.value},{default:r(()=>[w(k(i(v).t("$vuetify.chatroom.files.download")),1)]),_:1},8,["href","download"]),s(C,{icon:"$mdiClose",variant:"text","aria-label":i(v).t("$vuetify.chatroom.common.close"),onClick:u[0]||(u[0]=f=>d.value=!1)},null,8,["aria-label"])]),_:1}),s(A),E("div",Z,[p.value?(e(),l(O,{key:0,indeterminate:""})):g("",!0),m.value?(e(),l(D,{key:1,type:"error",variant:"tonal",density:"compact"},{default:r(()=>[w(k(m.value),1)]),_:1})):t.value==="pdf"||t.value==="video"||t.value==="audio"?(e(),l(J,{key:2,kind:t.value,path:a.path,url:$.value},null,8,["kind","path","url"])):t.value==="image"?(e(),M("img",{key:3,class:"workspace-download-preview-image",src:$.value,alt:h.value},null,8,ee)):t.value==="text"&&n.value?(e(),M(R,{key:4},[n.value.truncated?(e(),l(D,{key:0,type:"warning",variant:"tonal",density:"compact"},{default:r(()=>[w(k(i(v).t("$vuetify.chatroom.files.previewTruncated")),1)]),_:1})):g("",!0),/\.(csv|tsv)$/i.test(a.path)?(e(),l(X,{key:1,content:n.value.content,path:a.path,truncated:n.value.truncated},null,8,["content","path","truncated"])):i(q)(a.path)?(e(),l(H,{key:2,text:n.value.content},null,8,["text"])):(e(),l(G,{key:3,text:n.value.content,filename:a.path,"show-download":!1},null,8,["text","filename"]))],64)):t.value==="unsupported"?(e(),l(j,{key:5,icon:"$mdiFileQuestionOutline",title:i(v).t("$vuetify.chatroom.files.previewUnavailable")},null,8,["title"])):g("",!0)])]),_:1})]),_:1},8,["modelValue"]))}}),ue=Y(ae,[["__scopeId","data-v-017e407c"]]);export{ue as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.workspace-download-preview[data-v-017e407c]{display:flex;flex-direction:column}.workspace-download-preview-body[data-v-017e407c]{flex:1;min-height:0;min-width:0;overflow:auto;padding:12px}.workspace-download-preview-image[data-v-017e407c]{display:block;max-width:100%;max-height:100%;margin:auto;object-fit:contain}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/WorkspacePdfPreview-CO-ZtDHG.js","assets/index-u-aADQP-.js","assets/index-CZ-4tJlF.css","assets/_plugin-vue_export-helper-DlAUqK2U.js","assets/WorkspacePdfPreview-BtZkUHzV.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{d as B,a as V,w as W,o as t,v as l,p as c,t as p,l as k,g as x,k as P,r as b,c as E,s as A,f as L,j as N,F as $,N as C,E as I,B as y,$ as M,a0 as T}from"./index-u-aADQP-.js";import{_ as R}from"./_plugin-vue_export-helper-DlAUqK2U.js";function D(e,f,o=2001,a=100){const u=[];let d=[],n="",r=!1,g=!1,_=!1;const s=e.charCodeAt(0)===65279?e.slice(1):e,v=()=>{d.length<a?d.push(n):g=!0,n=""},m=()=>{v(),u.length<o?u.push(d):_=!0,d=[]};for(let h=0;h<s.length;h+=1){const i=s[h];if(i==='"')r&&s[h+1]==='"'?(n+='"',h+=1):r?r=!1:n?n+=i:r=!0;else if(!r&&i===f)v();else if(!r&&(i===`
|
|
3
|
-
`||i==="\r")){if(m(),i==="\r"&&s[h+1]===`
|
|
4
|
-
`&&(h+=1),u.length===o&&h<s.length-1){_=!0;break}}else n+=i}return!_&&(n||d.length||r)&&m(),{rows:u,truncatedRows:_,truncatedColumns:g}}const F={class:"workspace-csv-preview"},S={class:"workspace-csv-toolbar"},z={key:0,class:"workspace-csv-pages"},O={class:"workspace-csv-scroll"},j={class:"workspace-csv-table"},q={scope:"row"},G=["title"],Z={key:0,class:"empty-inline"},w=100,H=B({__name:"WorkspaceCsvPreview",props:{content:{},path:{},truncated:{type:Boolean}},setup(e){const f=e,o=V(),a=I(1),u=y(()=>D(f.content,/\.tsv$/i.test(f.path)?" ":",")),d=y(()=>u.value.rows[0]??[]),n=y(()=>u.value.rows.slice(1)),r=y(()=>Math.max(1,Math.ceil(n.value.length/w))),g=y(()=>n.value.slice((a.value-1)*w,a.value*w));return W(()=>[f.content,f.path],()=>a.value=1),(_,s)=>(t(),l("div",F,[c("div",S,[c("span",null,p(k(o).t("$vuetify.chatroom.files.tableSummary",n.value.length,d.value.length)),1),r.value>1?(t(),l("div",z,[x(P,{icon:"$mdiChevronLeft",size:"x-small",variant:"text",disabled:a.value===1,"aria-label":k(o).t("$vuetify.chatroom.files.previousPage"),onClick:s[0]||(s[0]=v=>a.value--)},null,8,["disabled","aria-label"]),c("span",null,p(a.value)+" / "+p(r.value),1),x(P,{icon:"$mdiChevronRight",size:"x-small",variant:"text",disabled:a.value===r.value,"aria-label":k(o).t("$vuetify.chatroom.files.nextPage"),onClick:s[1]||(s[1]=v=>a.value++)},null,8,["disabled","aria-label"])])):b("",!0)]),e.truncated||u.value.truncatedRows||u.value.truncatedColumns?(t(),E(A,{key:0,type:"info",density:"compact",variant:"tonal"},{default:L(()=>[N(p(k(o).t("$vuetify.chatroom.files.tableLimited")),1)]),_:1})):b("",!0),c("div",O,[c("table",j,[c("thead",null,[c("tr",null,[s[2]||(s[2]=c("th",{scope:"col"},"#",-1)),(t(!0),l($,null,C(d.value,(v,m)=>(t(),l("th",{key:m,scope:"col"},p(v||k(o).t("$vuetify.chatroom.files.column",m+1)),1))),128))])]),c("tbody",null,[(t(!0),l($,null,C(g.value,(v,m)=>(t(),l("tr",{key:(a.value-1)*w+m},[c("th",q,p((a.value-1)*w+m+1),1),(t(!0),l($,null,C(d.value,(h,i)=>(t(),l("td",{key:i,title:v[i]??""},p(v[i]??""),9,G))),128))]))),128))])]),d.value.length?b("",!0):(t(),l("div",Z,p(k(o).t("$vuetify.chatroom.files.emptyTable")),1))])]))}}),te=R(H,[["__scopeId","data-v-88d1ee33"]]),J={class:"workspace-media-preview"},K=["src"],Q=["src"],U=["href"],X=B({__name:"WorkspaceMediaPreview",props:{kind:{},path:{},url:{}},setup(e){const f=M(()=>T(()=>import("./WorkspacePdfPreview-CO-ZtDHG.js"),__vite__mapDeps([0,1,2,3,4]))),o=V();return(a,u)=>(t(),l("div",J,[e.kind==="pdf"?(t(),E(k(f),{key:0,url:e.url,path:e.path},null,8,["url","path"])):e.kind==="video"?(t(),l("video",{key:e.url,class:"workspace-video-player",src:e.url,preload:"metadata",playsinline:"",controls:""},null,8,K)):(t(),l("audio",{key:e.url,class:"workspace-audio-player",src:e.url,preload:"metadata",controls:""},null,8,Q)),c("a",{href:e.url,target:"_blank",rel:"noopener noreferrer"},p(k(o).t("$vuetify.chatroom.files.openOriginal")),9,U)]))}}),ae=R(X,[["__scopeId","data-v-47104036"]]);export{ae as W,te as a};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{d as ne,u as Ne,a as re,w as X,o as i,c as y,f as t,g as a,V as ve,G as pe,H as he,j as c,t as o,l as e,k as L,I as ge,J as Pe,K as Se,v as R,p as n,r as S,s as Z,L as ye,z as ke,A as Te,E as _,B as K,M as Ee,F as j,N as ie,O as _e,D as Le,m as Ge,x as He,P as je,n as De,q as ce,y as ae,Q as Ie,R as $e,S as se,T as Ke,b as J,e as le,U as Ce,W as xe,X as Je,Y as Ae,Z as Qe,_ as Xe}from"./index-u-aADQP-.js";import{V as Fe}from"./VSelect-BtAJX-XJ.js";import{_ as qe}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{b as Ye}from"./utils-rtPwWNel.js";import{_ as Oe,V as ze}from"./CodeViewer.vue_vue_type_script_setup_true_lang-ekOImmBP.js";import{W as Ze,a as et}from"./WorkspaceMediaPreview-HYajqgZ3.js";import{M as tt}from"./MarkdownContent-CkjR5fs7.js";import{V as Ve}from"./VSpacer-M8bpkhTH.js";import{V as We}from"./VTextarea-CRYQYRqg.js";import{V as at,a as fe,b as lt,c as me}from"./VTabs-g61mykvY.js";import"./syntax-highlight-C_fuMcwC.js";const ot={key:1,class:"workspace-create-location"},it={key:2,class:"workspace-create-location"},st=ne({__name:"WorkspaceCreateDialog",props:Te({roots:{},busy:{type:Boolean},error:{}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:Te(["create"],["update:modelValue"]),setup(T,{emit:C}){const l=T,m=C,u=Ne(T,"modelValue"),p=_(""),k=_(""),P=re();X(()=>[u.value,l.roots],()=>{u.value&&(l.roots.includes(k.value)||(k.value=l.roots[0]??""))},{immediate:!0,deep:!0}),X(u,v=>{v&&(p.value="")});const r=K(()=>{const v=k.value.replace(/[\\/]+$/,""),f=v.includes("\\")&&!v.includes("/")?"\\":"/";return p.value.trim()?`${v}${f}${p.value.trim()}`:v});function $(){!k.value||!p.value.trim()||m("create",k.value,p.value.trim())}return(v,f)=>(i(),y(ke,{modelValue:u.value,"onUpdate:modelValue":f[4]||(f[4]=h=>u.value=h),width:"auto"},{default:t(()=>[a(ve,null,{default:t(()=>[a(pe,{"prepend-icon":"$mdiFolderOutline"},{append:t(()=>[a(L,{icon:"$mdiClose",variant:"text",size:"small","aria-label":e(P).t("$vuetify.chatroom.common.close"),onClick:f[0]||(f[0]=h=>u.value=!1)},null,8,["aria-label"])]),default:t(()=>[a(he,null,{default:t(()=>[c(o(e(P).t("$vuetify.chatroom.workspaces.createTitle")),1)]),_:1})]),_:1}),a(ge,{class:"workspace-create-form"},{default:t(()=>[a(Pe,{modelValue:p.value,"onUpdate:modelValue":f[1]||(f[1]=h=>p.value=h),label:e(P).t("$vuetify.chatroom.workspaces.projectName"),autofocus:"","hide-details":"auto",onKeyup:Se($,["enter"])},null,8,["modelValue","label"]),T.roots.length>1?(i(),y(Fe,{key:0,modelValue:k.value,"onUpdate:modelValue":f[2]||(f[2]=h=>k.value=h),items:T.roots,label:e(P).t("$vuetify.chatroom.workspaces.createLocation"),"hide-details":"auto"},null,8,["modelValue","items","label"])):k.value?(i(),R("div",ot,[n("span",null,o(e(P).t("$vuetify.chatroom.workspaces.createLocation")),1),n("code",null,o(k.value),1)])):S("",!0),k.value?(i(),R("div",it,[n("span",null,o(e(P).t("$vuetify.chatroom.workspaces.projectPath")),1),n("code",null,o(r.value),1)])):S("",!0),T.error?(i(),y(Z,{key:3,type:"error",variant:"tonal",density:"compact"},{default:t(()=>[c(o(T.error),1)]),_:1})):S("",!0)]),_:1}),a(ye,{class:"justify-end"},{default:t(()=>[a(L,{variant:"text",onClick:f[3]||(f[3]=h=>u.value=!1)},{default:t(()=>[c(o(e(P).t("$vuetify.chatroom.workspaces.cancel")),1)]),_:1}),a(L,{color:"primary",variant:"flat",loading:T.busy,disabled:!k.value||!p.value.trim(),onClick:$},{default:t(()=>[c(o(e(P).t("$vuetify.chatroom.workspaces.create")),1)]),_:1},8,["loading","disabled"])]),_:1})]),_:1})]),_:1},8,["modelValue"]))}}),nt=qe(st,[["__scopeId","data-v-f24d3eec"]]),rt={class:"workspace-files-pane"},ut={class:"workspace-files-layout"},ct={class:"workspace-file-browser"},dt={class:"workspace-file-breadcrumbs"},vt={class:"workspace-breadcrumb-items"},ft={key:0,class:"workspace-breadcrumb-separator"},mt=["onClick"],pt={key:0,class:"workspace-file-load-more"},ht=["aria-busy"],gt={key:0,class:"workspace-preview-toolbar"},yt=["title"],kt={class:"workspace-preview-content"},_t={class:"workspace-markdown-header"},$t={key:0,class:"workspace-markdown-body"},wt={key:1,class:"workspace-markdown-source"},bt={class:"workspace-image-stage"},Ct=["src","alt"],xt=ne({__name:"WorkspaceFilesPane",props:{root:{}},setup(T){const C=T,l=re(),m=_("preview"),u=_(!1),p=_(!1),k=Ee(()=>C.root),{entries:P,file:r,selectedPath:$,previewLoading:v,breadcrumbs:f,parentPath:h,nextOffset:O,loading:w,loadingMore:s,error:b,loadDirectory:N,loadMore:M,navigate:W,openEntry:B}=k;X(()=>r.value?.path??null,()=>{m.value="preview"}),X(()=>r.value?.kind==="image"?r.value.url:null,D=>{u.value=!!D,p.value=!1});const A=K(()=>P.value.find(D=>D.path===$.value&&D.type==="file"));function V(D){return D==="file"?l.t("$vuetify.chatroom.files.file"):D==="directory"?l.t("$vuetify.chatroom.files.directory"):D==="symlink"?l.t("$vuetify.chatroom.files.symlink"):D}return(D,U)=>(i(),R("div",rt,[e(b)?(i(),y(Z,{key:0,type:"error",variant:"tonal",density:"compact"},{default:t(()=>[c(o(e(b)),1)]),_:1})):S("",!0),n("div",ut,[n("div",ct,[n("div",dt,[a(L,{icon:"$mdiArrowUp",size:"x-small",variant:"text",disabled:e(h)===null,"aria-label":e(l).t("$vuetify.chatroom.files.parentDirectory"),onClick:U[0]||(U[0]=z=>e(h)&&e(W)(e(h)))},null,8,["disabled","aria-label"]),n("div",vt,[(i(!0),R(j,null,ie(e(f),(z,G)=>(i(),R(j,{key:z.path},[G?(i(),R("span",ft,"/")):S("",!0),n("button",{type:"button",class:Ie(["workspace-breadcrumb",{active:G===e(f).length-1}]),onClick:oe=>e(W)(z.path)},o(z.title),11,mt)],64))),128))]),a(L,{icon:"$mdiRefresh",size:"x-small",variant:"text",loading:e(w),"aria-label":e(l).t("$vuetify.chatroom.files.refresh"),onClick:U[1]||(U[1]=z=>e(N)())},null,8,["loading","aria-label"])]),a(_e,{density:"compact",border:"",rounded:"lg",class:"workspace-file-list"},{default:t(()=>[(i(!0),R(j,null,ie(e(P),z=>(i(),y($e,{key:z.path,active:e($)===z.path,title:e(Le)(z.path),subtitle:z.type==="file"?`${V(z.type)} · ${e(Ye)(z.size)}`:V(z.type),"prepend-icon":z.type==="directory"?"$mdiFolderOutline":z.type==="symlink"?"$mdiLinkVariant":"$mdiFileOutline","append-icon":z.type==="directory"?"$mdiChevronRight":void 0,onClick:G=>e(B)(z)},null,8,["active","title","subtitle","prepend-icon","append-icon","onClick"]))),128))]),_:1}),e(O)!==null?(i(),R("div",pt,[a(L,{size:"small",variant:"text",loading:e(s),disabled:e(w),onClick:e(M)},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.files.loadMore")),1)]),_:1},8,["loading","disabled","onClick"])])):S("",!0)]),n("div",{class:"workspace-file-preview","aria-busy":e(v)||u.value},[A.value?(i(),R("div",gt,[n("span",{class:"workspace-preview-filename mono",title:A.value.path},o(A.value.path),9,yt),a(L,{size:"small",variant:"tonal","prepend-icon":"$mdiDownloadOutline",href:e(Ge)(C.root,A.value.path),download:e(Le)(A.value.path)},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.files.download")),1)]),_:1},8,["href","download"])])):S("",!0),n("div",kt,[e(v)?(i(),y(ce,{key:0,indeterminate:""})):S("",!0),e(r)?.kind==="text"&&e(r).truncated?(i(),y(Z,{key:1,type:"warning",variant:"tonal",density:"compact",class:"workspace-preview-truncated"},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.files.previewTruncated")),1)]),_:1})):S("",!0),e(r)&&(e(r).kind==="pdf"||e(r).kind==="video"||e(r).kind==="audio")?(i(),y(Ze,{key:e(r).url,kind:e(r).kind,path:e(r).path,url:e(r).url},null,8,["kind","path","url"])):e(r)?.kind==="text"&&/\.(csv|tsv)$/i.test(e(r).path)?(i(),y(et,{key:3,content:e(r).content,path:e(r).path,truncated:e(r).truncated},null,8,["content","path","truncated"])):e(r)?.kind==="text"&&e(He)(e(r).path)?(i(),y(ze,{key:4,border:"",rounded:"lg",class:"workspace-markdown-preview"},{default:t(()=>[n("div",_t,[a(je,{modelValue:m.value,"onUpdate:modelValue":U[2]||(U[2]=z=>m.value=z),mandatory:"",density:"compact",variant:"text",divided:"",class:"workspace-markdown-mode"},{default:t(()=>[a(L,{value:"preview",size:"small"},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.files.preview")),1)]),_:1}),a(L,{value:"source",size:"small"},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.files.source")),1)]),_:1})]),_:1},8,["modelValue"])]),a(De),m.value==="preview"?(i(),R("div",$t,[a(tt,{text:e(r).content},null,8,["text"])])):(i(),R("div",wt,[a(Oe,{text:e(r).content,filename:e(r).path,toolbar:!1},null,8,["text","filename"])]))]),_:1})):e(r)?.kind==="text"?(i(),y(Oe,{key:5,text:e(r).content,filename:e(r).path,"show-download":!1},null,8,["text","filename"])):e(r)?.kind==="image"?(i(),y(ze,{key:6,border:"",rounded:"lg",class:"workspace-image-preview"},{default:t(()=>[n("div",bt,[u.value?(i(),y(ce,{key:0,indeterminate:""})):S("",!0),p.value?(i(),y(ae,{key:1,icon:"$mdiAlertCircleOutline",title:e(l).t("$vuetify.chatroom.common.imageLoadFailed")},null,8,["title"])):(i(),R("img",{key:e(r).url,src:e(r).url,alt:e(r).path,decoding:"async",onLoad:U[3]||(U[3]=z=>u.value=!1),onError:U[4]||(U[4]=z=>{u.value=!1,p.value=!0})},null,40,Ct))])]),_:1})):e(r)?.kind==="unsupported"?(i(),y(ae,{key:7,icon:"$mdiFileQuestionOutline",title:e(l).t("$vuetify.chatroom.files.previewUnavailable"),text:e(r).path},null,8,["title","text"])):e(v)?S("",!0):(i(),y(ae,{key:8,icon:"$mdiFileEyeOutline",title:e(l).t("$vuetify.chatroom.files.select"),text:e(l).t("$vuetify.chatroom.files.readOnly")},null,8,["title","text"]))])],8,ht)])]))}});function Vt(T){const C=_(null),l=_([]),m=_([]),u=_(null),p=_(null),k=_(!1),P=_(!1),r=_(null),$=_("");let v=0;const f=se(),h=se(),O=se();let w=!1;Ke(()=>{w=!0,v+=1,f.invalidate(),h.invalidate(),O.invalidate()});const s=()=>typeof T=="function"?T():String(T.value??""),b=K(()=>C.value?.changes??[]),N=K(()=>b.value.find(d=>d.path===u.value)??null),M=K(()=>b.value.filter(Be).map(d=>d.path)),W=K(()=>b.value.filter(Me).map(d=>d.path));X(T,()=>{v+=1,f.invalidate(),h.invalidate(),O.invalidate(),r.value=null,C.value=null,l.value=[],m.value=[],u.value=null,p.value=null,B()},{immediate:!0});async function B(){if(w||r.value)return;const d=++v,q=f.begin(),F=s();k.value=!0,$.value="";try{const E=await J(`/git/status?root=${encodeURIComponent(F)}`,{signal:q.signal});if(d!==v||!f.isCurrent(q)||s()!==F)return;if(C.value=E,!E){l.value=[],m.value=[],u.value=null,p.value=null;return}if(await A(d,F,q.signal),d!==v||!f.isCurrent(q)||s()!==F)return;H(),await D()}catch(E){d===v&&f.isCurrent(q)&&s()===F&&($.value=le(E))}finally{d===v&&f.isCurrent(q)&&s()===F&&(k.value=!1)}}async function A(d,q,F){const E=encodeURIComponent(q),ue=F?{signal:F}:{},[Q,I]=await Promise.all([J(`/git/branches?root=${E}`,ue),J(`/git/log?root=${E}&limit=20`,ue)]);d!==v||s()!==q||(l.value=Q,m.value=I)}function V(d){u.value!==d&&(u.value=d,p.value=null,D())}async function D(){const d=u.value,q=s();if(!d||!C.value?.head){h.invalidate(),P.value=!1,p.value=null;return}const F=h.begin();P.value=!0;try{const E=await J(`/git/diff?root=${encodeURIComponent(q)}&path=${encodeURIComponent(d)}`,{signal:F.signal});h.isCurrent(F)&&s()===q&&u.value===d&&(p.value=E)}catch(E){h.isCurrent(F)&&s()===q&&(p.value=null,$.value=le(E))}finally{h.isCurrent(F)&&s()===q&&(P.value=!1)}}async function U(d,q,F,E,ue=6e4){if(w||r.value)return!1;const Q=s(),I=++v,x=O.begin();f.invalidate(),h.invalidate(),k.value=!1,P.value=!1,r.value=d,$.value="";try{const g=await J(q,{method:F,body:JSON.stringify({root:Q,...E}),timeoutMs:ue,signal:x.signal});return w||I!==v||!O.isCurrent(x)||s()!==Q||(C.value=g,H(),await A(I,Q,x.signal),w||I!==v||!O.isCurrent(x)||s()!==Q)?!1:(await D(),!0)}catch(g){return!w&&I===v&&O.isCurrent(x)&&s()===Q&&($.value=le(g)),!1}finally{!w&&I===v&&O.isCurrent(x)&&s()===Q&&(r.value=null)}}async function z(d){return d.length?U("stage","/git/stage","POST",{paths:d}):!1}async function G(d){return d.length?U("unstage","/git/unstage","POST",{paths:d}):!1}function oe(d){return U("restore","/git/restore","POST",{path:d})}function we(d){return U("commit","/git/commit","POST",{message:d})}function be(d){return U("branch","/git/branches","POST",{name:d})}function ee(d){return U("branch","/git/switch","POST",{name:d})}function Y(d){return U("branch","/git/branches","DELETE",{name:d})}function te(d){return U(d,`/git/${d}`,"POST",{},5*6e4)}function H(){b.value.some(d=>d.path===u.value)||(u.value=b.value[0]?.path??null)}return{status:C,branches:l,commits:m,selectedPath:u,selectPath:V,diff:p,loading:k,diffLoading:P,busy:r,error:$,changes:b,selectedChange:N,stagedPaths:M,unstagedPaths:W,load:B,stage:z,unstage:G,restore:oe,commit:we,createBranch:be,switchBranch:ee,deleteBranch:Y,remote:te,isStaged:Be,isUnstaged:Me,statusCode:Pt}}function Be(T){return T.indexStatus!==" "&&T.indexStatus!=="?"}function Me(T){return T.indexStatus==="?"||T.workingTreeStatus!==" "&&T.workingTreeStatus!=="?"}function Pt(T){return`${T.indexStatus}${T.workingTreeStatus}`.replaceAll(" ","·")}const St={class:"git-diff-viewer"},Rt={class:"git-diff-content"},Tt={class:"git-diff-line-number"},Lt={class:"git-diff-line-number"},Ot={class:"git-diff-line"},zt={key:0,class:"git-diff-expand"},Wt={key:1},Ue=500,Bt=500,de=2500,Mt=ne({__name:"GitDiffViewer",props:{text:{}},setup(T){const C=T,l=re(),m=_(Ue);X(()=>C.text,()=>{m.value=Ue});const u=K(()=>f(C.text)),p=K(()=>v(C.text,Math.min(m.value,de))),k=K(()=>Math.max(0,u.value-p.value.length)),P=K(()=>p.value.length<Math.min(u.value,de)),r=K(()=>u.value>de&&p.value.length>=de);function $(){m.value=Math.min(de,m.value+Bt)}function v(O,w){const s=[],b=new Map;let N=0,M=0,W=!1,B="header";const A=(V,D,U,z)=>{const G=B+":"+D+":"+(U??"-")+":"+(z??"-")+":"+h(V),oe=b.get(G)??0;b.set(G,oe+1),s.push({key:G+":"+oe,text:V,kind:D,oldLine:U,newLine:z})};for(const V of O.split(`
|
|
2
|
-
`,w)){const D=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/.exec(V);if(D){N=Number(D[1]),M=Number(D[2]),W=!0,B=V,A(V,"hunk",null,null);continue}if(!W||V.startsWith("diff --git ")||V.startsWith("index ")||V.startsWith("--- ")||V.startsWith("+++ ")||V.startsWith("new file mode ")||V.startsWith("deleted file mode ")||V.startsWith("Binary files ")||V.startsWith("GIT binary patch")||V.startsWith("\\ No newline")){V.startsWith("diff --git ")&&(B=V),A(V,"meta",null,null);continue}V.startsWith("+")?(A(V,"add",null,M),M+=1):V.startsWith("-")?(A(V,"delete",N,null),N+=1):(A(V,"context",N,M),N+=1,M+=1)}return s}function f(O){if(!O)return 1;let w=1;for(let s=0;s<O.length;s+=1)O.charCodeAt(s)===10&&(w+=1);return w}function h(O){let w=2166136261;for(let s=0;s<O.length;s+=1)w^=O.charCodeAt(s),w=Math.imul(w,16777619);return(w>>>0).toString(36)}return(O,w)=>(i(),R("div",St,[n("div",Rt,[(i(!0),R(j,null,ie(p.value,s=>(i(),R("div",{key:s.key,class:Ie(["git-diff-row",`git-diff-row-${s.kind}`])},[n("span",Tt,o(s.oldLine??""),1),n("span",Lt,o(s.newLine??""),1),n("code",Ot,o(s.text),1)],2))),128))]),k.value?(i(),R("div",zt,[n("span",null,o(e(l).t("$vuetify.chatroom.git.diffRowsHidden",String(k.value))),1),P.value?(i(),y(L,{key:0,size:"small",variant:"text",onClick:$},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.git.showMoreDiff")),1)]),_:1})):r.value?(i(),R("span",Wt,o(e(l).t("$vuetify.chatroom.git.diffRenderLimit")),1)):S("",!0)])):S("",!0)]))}}),Ut={class:"workspace-git-pane"},Dt={class:"git-toolbar"},It={class:"git-facts"},At={class:"mono"},Ft={class:"mono"},qt={class:"mono"},Nt={key:0},Et={class:"git-toolbar-actions"},Gt={class:"git-section-header"},Ht={class:"git-section-actions"},jt={key:0,class:"git-workbench"},Kt={class:"git-change-code mono"},Jt={class:"git-diff-pane"},Qt={class:"git-file-toolbar"},Xt={class:"mono git-selected-path"},Yt={class:"git-file-actions"},Zt={class:"git-commit-bar"},ea={class:"git-history"},ta={class:"git-section-header"},aa={class:"git-commit-hash mono"},la={class:"git-new-branch"},oa={class:"mono mt-2 text-break"},ia={class:"mono mt-2 text-break"},sa=ne({__name:"WorkspaceGitPane",props:{root:{}},setup(T){const C=T,l=re(),m=Vt(()=>C.root),{status:u,branches:p,commits:k,selectedPath:P,selectPath:r,diff:$,loading:v,diffLoading:f,busy:h,error:O,changes:w,selectedChange:s,stagedPaths:b,unstagedPaths:N,load:M,stage:W,unstage:B,restore:A,commit:V,createBranch:D,switchBranch:U,deleteBranch:z,remote:G,isStaged:oe,isUnstaged:we,statusCode:be}=m,ee=_(""),Y=_(!1),te=_(""),H=_(null),d=_(null);X(()=>C.root,()=>{ee.value="",Y.value=!1,te.value="",H.value=null,d.value=null});async function q(){const I=H.value;I&&await A(I.path)&&(H.value=null)}async function F(){const I=ee.value.trim();I&&await V(I)&&(ee.value="")}async function E(){const I=te.value.trim();I&&await D(I)&&(te.value="",Y.value=!1)}async function ue(I){I.current||await U(I.name)&&(Y.value=!1)}async function Q(){const I=d.value;I&&await z(I.name)&&(d.value=null)}return(I,x)=>(i(),R("div",Ut,[e(v)?(i(),y(ce,{key:0,indeterminate:""})):S("",!0),e(O)?(i(),y(Z,{key:1,type:"error",variant:"tonal",density:"compact"},{default:t(()=>[c(o(e(O)),1)]),_:1})):S("",!0),!e(v)&&!e(u)?(i(),y(ae,{key:2,icon:"$mdiSourceBranch",title:e(l).t("$vuetify.chatroom.git.notRepository")},null,8,["title"])):e(u)?(i(),R(j,{key:3},[n("div",Dt,[n("div",It,[n("div",null,[n("span",null,o(e(l).t("$vuetify.chatroom.git.branch")),1),n("strong",At,o(e(u).branch??"—"),1)]),n("div",null,[n("span",null,o(e(l).t("$vuetify.chatroom.git.head")),1),n("strong",Ft,o(e(u).head?.slice(0,12)??"—"),1)]),n("div",null,[n("span",null,o(e(l).t("$vuetify.chatroom.git.upstream")),1),n("strong",qt,o(e(u).upstream??"—"),1)]),e(u).upstream?(i(),R("div",Nt,[n("span",null,o(e(l).t("$vuetify.chatroom.git.sync")),1),n("strong",null,"↑ "+o(e(u).ahead)+" · ↓ "+o(e(u).behind),1)])):S("",!0)]),n("div",Et,[a(L,{icon:"$mdiRefresh",size:"small",variant:"text",loading:e(v),disabled:e(h)!==null,"aria-label":e(l).t("$vuetify.chatroom.git.refresh"),onClick:e(M)},null,8,["loading","disabled","aria-label","onClick"]),a(L,{"prepend-icon":"$mdiSourceBranch",size:"small",variant:"tonal",onClick:x[0]||(x[0]=g=>Y.value=!0)},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.git.branches")),1)]),_:1}),a(L,{size:"small",variant:"text",loading:e(h)==="fetch",onClick:x[1]||(x[1]=g=>e(G)("fetch"))},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.git.fetch")),1)]),_:1},8,["loading"]),a(L,{size:"small",variant:"text",disabled:!e(u).upstream,loading:e(h)==="pull",onClick:x[2]||(x[2]=g=>e(G)("pull"))},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.git.pull")),1)]),_:1},8,["disabled","loading"]),a(L,{size:"small",variant:"text",loading:e(h)==="push",onClick:x[3]||(x[3]=g=>e(G)("push"))},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.git.push")),1)]),_:1},8,["loading"])])]),n("div",Gt,[n("div",null,[n("strong",null,o(e(l).t("$vuetify.chatroom.git.changes")),1),n("span",null,o(e(w).length),1)]),n("div",Ht,[a(L,{size:"small",variant:"text",disabled:!e(N).length,loading:e(h)==="stage",onClick:x[4]||(x[4]=g=>e(W)(e(N)))},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.git.stageAll")),1)]),_:1},8,["disabled","loading"]),a(L,{size:"small",variant:"text",disabled:!e(b).length,loading:e(h)==="unstage",onClick:x[5]||(x[5]=g=>e(B)(e(b)))},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.git.unstageAll")),1)]),_:1},8,["disabled","loading"])])]),e(w).length?(i(),R("div",jt,[a(_e,{density:"compact",class:"git-change-list"},{default:t(()=>[(i(!0),R(j,null,ie(e(w),g=>(i(),y($e,{key:g.path,active:e(P)===g.path,onClick:Re=>e(r)(g.path)},{prepend:t(()=>[n("span",Kt,o(e(be)(g)),1)]),default:t(()=>[a(Ce,{class:"mono"},{default:t(()=>[c(o(g.path),1)]),_:2},1024),g.originalPath?(i(),y(xe,{key:0,class:"mono"},{default:t(()=>[c(o(g.originalPath)+" → "+o(g.path),1)]),_:2},1024)):S("",!0)]),_:2},1032,["active","onClick"]))),128))]),_:1}),n("div",Jt,[e(s)?(i(),R(j,{key:0},[n("div",Qt,[n("div",Xt,o(e(s).path),1),n("div",Yt,[e(we)(e(s))?(i(),y(L,{key:0,size:"small",variant:"text",loading:e(h)==="stage",onClick:x[6]||(x[6]=g=>e(W)([e(s).path]))},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.git.stage")),1)]),_:1},8,["loading"])):S("",!0),e(oe)(e(s))?(i(),y(L,{key:1,size:"small",variant:"text",loading:e(h)==="unstage",onClick:x[7]||(x[7]=g=>e(B)([e(s).path]))},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.git.unstage")),1)]),_:1},8,["loading"])):S("",!0),a(L,{color:"error",size:"small",variant:"text",disabled:!e(u).head&&e(s).kind!=="untracked",onClick:x[8]||(x[8]=g=>H.value=e(s))},{default:t(()=>[c(o(e(s).kind==="untracked"?e(l).t("$vuetify.chatroom.git.deleteFile"):e(l).t("$vuetify.chatroom.git.restore")),1)]),_:1},8,["disabled"])])]),e(f)?(i(),y(ce,{key:0,indeterminate:""})):S("",!0),e($)?.truncated?(i(),y(Z,{key:1,type:"info",variant:"tonal",density:"compact"},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.git.diffTruncated")),1)]),_:1})):S("",!0),e($)?.diff?(i(),y(Mt,{key:2,text:e($).diff},null,8,["text"])):e(f)?S("",!0):(i(),y(ae,{key:3,icon:"$mdiFileCompare",title:e(u).head?e(l).t("$vuetify.chatroom.git.noDiff"):e(l).t("$vuetify.chatroom.git.noHead")},null,8,["title"]))],64)):S("",!0)])])):(i(),y(ae,{key:1,icon:"$mdiCheckCircleOutline",title:e(l).t("$vuetify.chatroom.git.clean")},null,8,["title"])),n("div",Zt,[a(Pe,{modelValue:ee.value,"onUpdate:modelValue":x[9]||(x[9]=g=>ee.value=g),label:e(l).t("$vuetify.chatroom.git.commitMessage"),density:"compact",variant:"outlined","hide-details":"",disabled:!e(b).length,onKeyup:Se(F,["enter"])},null,8,["modelValue","label","disabled"]),a(L,{color:"primary",variant:"flat",disabled:!e(b).length||!ee.value.trim(),loading:e(h)==="commit",onClick:F},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.git.commit")),1)]),_:1},8,["disabled","loading"])]),n("div",ea,[n("div",ta,[n("strong",null,o(e(l).t("$vuetify.chatroom.git.recentCommits")),1)]),e(k).length?(i(),y(_e,{key:0,density:"compact"},{default:t(()=>[(i(!0),R(j,null,ie(e(k),g=>(i(),y($e,{key:g.hash},{prepend:t(()=>[n("span",aa,o(g.shortHash),1)]),default:t(()=>[a(Ce,null,{default:t(()=>[c(o(g.subject),1)]),_:2},1024),a(xe,null,{default:t(()=>[c(o(g.author)+" · "+o(new Date(g.date).toLocaleString(e(Je)(e(l).current.value))),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):S("",!0)])],64)):S("",!0),a(ke,{modelValue:Y.value,"onUpdate:modelValue":x[12]||(x[12]=g=>Y.value=g),width:"auto","max-width":"42rem"},{default:t(()=>[a(ve,null,{default:t(()=>[a(pe,{"prepend-icon":"$mdiSourceBranch"},{default:t(()=>[a(he,null,{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.git.branches")),1)]),_:1})]),_:1}),a(ge,null,{default:t(()=>[n("div",la,[a(Pe,{modelValue:te.value,"onUpdate:modelValue":x[10]||(x[10]=g=>te.value=g),label:e(l).t("$vuetify.chatroom.git.newBranch"),density:"compact",variant:"outlined","hide-details":"",onKeyup:Se(E,["enter"])},null,8,["modelValue","label"]),a(L,{color:"primary",variant:"flat",disabled:!te.value.trim(),loading:e(h)==="branch",onClick:E},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.git.create")),1)]),_:1},8,["disabled","loading"])]),a(_e,{class:"mt-3",density:"compact",border:"",rounded:"lg"},{default:t(()=>[(i(!0),R(j,null,ie(e(p),g=>(i(),y($e,{key:g.name},{append:t(()=>[g.current?(i(),y(Ae,{key:0,size:"x-small",variant:"tonal"},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.git.current")),1)]),_:1})):(i(),R(j,{key:1},[a(L,{size:"x-small",variant:"text",onClick:Re=>ue(g)},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.git.switch")),1)]),_:1},8,["onClick"]),a(L,{icon:"$mdiDeleteOutline",size:"x-small",color:"error",variant:"text","aria-label":e(l).t("$vuetify.chatroom.git.deleteBranch"),onClick:Re=>d.value=g},null,8,["aria-label","onClick"])],64))]),default:t(()=>[a(Ce,{class:"mono"},{default:t(()=>[c(o(g.name),1)]),_:2},1024),g.upstream?(i(),y(xe,{key:0,class:"mono"},{default:t(()=>[c(o(g.upstream),1)]),_:2},1024)):S("",!0)]),_:2},1024))),128))]),_:1})]),_:1}),a(ye,null,{default:t(()=>[a(Ve),a(L,{variant:"text",onClick:x[11]||(x[11]=g=>Y.value=!1)},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.common.close")),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(ke,{"model-value":H.value!==null,width:"auto","max-width":"32rem"},{default:t(()=>[a(ve,null,{default:t(()=>[a(pe,{"prepend-icon":"$mdiAlertCircleOutline",class:"text-error"},{default:t(()=>[a(he,null,{default:t(()=>[c(o(H.value?.kind==="untracked"?e(l).t("$vuetify.chatroom.git.deleteTitle"):e(l).t("$vuetify.chatroom.git.restoreTitle")),1)]),_:1})]),_:1}),a(ge,null,{default:t(()=>[c(o(H.value?.kind==="untracked"?e(l).t("$vuetify.chatroom.git.deleteDescription"):e(l).t("$vuetify.chatroom.git.restoreDescription"))+" ",1),n("div",oa,o(H.value?.path),1)]),_:1}),a(ye,null,{default:t(()=>[a(Ve),a(L,{variant:"text",onClick:x[13]||(x[13]=g=>H.value=null)},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.common.cancel")),1)]),_:1}),a(L,{color:"error",variant:"flat",loading:e(h)==="restore",onClick:q},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.git.confirm")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["model-value"]),a(ke,{"model-value":d.value!==null,width:"auto","max-width":"32rem"},{default:t(()=>[a(ve,null,{default:t(()=>[a(pe,{"prepend-icon":"$mdiAlertCircleOutline",class:"text-error"},{default:t(()=>[a(he,null,{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.git.deleteBranchTitle")),1)]),_:1})]),_:1}),a(ge,null,{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.git.deleteBranchDescription"))+" ",1),n("div",ia,o(d.value?.name),1)]),_:1}),a(ye,null,{default:t(()=>[a(Ve),a(L,{variant:"text",onClick:x[14]||(x[14]=g=>d.value=null)},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.common.cancel")),1)]),_:1}),a(L,{color:"error",variant:"flat",loading:e(h)==="branch",onClick:Q},{default:t(()=>[c(o(e(l).t("$vuetify.chatroom.git.confirm")),1)]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1},8,["model-value"])]))}}),na={class:"workspace-prompt-pane"},ra={class:"workspace-prompt-form"},ua={class:"workspace-prompt-actions"},ca=".chatroom/summary.md",da=".chatroom/prompt.md",va=ne({__name:"WorkspacePromptPane",props:{root:{}},setup(T){const C=T,l=_(""),m=_(""),u=_(""),p=_(""),k=_(!1),P=_(!1),r=_(!1),$=_(""),v=_(null),f=re(),h=se(),O=se(),w=K(()=>v.value===C.root&&(l.value!==u.value||m.value!==p.value));X(()=>C.root,()=>{h.invalidate(),O.invalidate(),l.value="",m.value="",u.value="",p.value="",v.value=null,P.value=!1,r.value=!1,$.value="",s()},{immediate:!0});async function s(){const M=h.begin(),W=C.root;k.value=!0,$.value="",r.value=!1;try{const B=await J(`/workspace?root=${encodeURIComponent(W)}`,{signal:M.signal});if(!h.isCurrent(M)||C.root!==W)return;l.value=B.summary??"",m.value=B.presetPrompt??"",u.value=l.value,p.value=m.value,v.value=W}catch(B){h.isCurrent(M)&&($.value=le(B))}finally{h.isCurrent(M)&&(k.value=!1)}}async function b(M,W,B,A){await J("/workspace/file",{method:"PUT",body:JSON.stringify({root:M,path:W,content:B}),signal:A})}async function N(){if(!w.value||P.value||v.value!==C.root)return;const M=O.begin(),W=C.root,B=l.value,A=m.value;P.value=!0,$.value="",r.value=!1;try{const V=[];if(B!==u.value&&V.push(b(W,ca,B,M.signal)),A!==p.value&&V.push(b(W,da,A,M.signal)),await Promise.all(V),!O.isCurrent(M)||C.root!==W)return;u.value=B,p.value=A,r.value=!0}catch(V){O.isCurrent(M)&&C.root===W&&($.value=le(V))}finally{O.isCurrent(M)&&C.root===W&&(P.value=!1)}}return(M,W)=>(i(),R("div",na,[k.value?(i(),y(ce,{key:0,indeterminate:""})):S("",!0),n("div",ra,[a(We,{modelValue:l.value,"onUpdate:modelValue":W[0]||(W[0]=B=>l.value=B),label:e(f).t("$vuetify.chatroom.workspaces.summary"),rows:"3","auto-grow":"",maxlength:"2048",counter:"",disabled:k.value},null,8,["modelValue","label","disabled"]),a(We,{modelValue:m.value,"onUpdate:modelValue":W[1]||(W[1]=B=>m.value=B),label:e(f).t("$vuetify.chatroom.workspaces.presetPrompt"),rows:"10","auto-grow":"",maxlength:"16384",counter:"",disabled:k.value},null,8,["modelValue","label","disabled"]),$.value?(i(),y(Z,{key:0,type:"error",variant:"tonal",density:"compact"},{default:t(()=>[c(o($.value),1)]),_:1})):r.value?(i(),y(Z,{key:1,type:"success",variant:"tonal",density:"compact"},{default:t(()=>[c(o(e(f).t("$vuetify.chatroom.workspaces.saved")),1)]),_:1})):S("",!0),n("div",ua,[a(L,{color:"primary",variant:"flat",loading:P.value,disabled:k.value||!w.value,onClick:N},{default:t(()=>[c(o(e(f).t("$vuetify.chatroom.workspaces.save")),1)]),_:1},8,["loading","disabled"])])])]))}}),fa=qe(va,[["__scopeId","data-v-0b6d6c75"]]),ma={class:"workspace-skills-pane"},pa={key:2,class:"workspace-skill-grid"},ha={class:"workspace-skill-header"},ga={class:"workspace-skill-title"},ya={class:"workspace-skill-description"},ka={class:"workspace-skill-path"},_a=ne({__name:"WorkspaceSkillsPane",props:{root:{}},setup(T){const C=T,l=_(null),m=_(!1),u=_(""),p=re(),k=se();X(()=>C.root,()=>{l.value=null,P()},{immediate:!0});async function P(){const $=k.begin(),v=C.root;m.value=!0,u.value="";try{const f=await J(`/workspace?root=${encodeURIComponent(v)}`,{signal:$.signal});if(!k.isCurrent($)||C.root!==v)return;l.value=f}catch(f){k.isCurrent($)&&(u.value=le(f))}finally{k.isCurrent($)&&(m.value=!1)}}function r($){return $.path.startsWith(".claude/skills/")?p.t("$vuetify.chatroom.skills.sources.claude"):$.path.startsWith(".chatroom/skills/")?p.t("$vuetify.chatroom.skills.sources.chatRoom"):p.t("$vuetify.chatroom.skills.sources.agent")}return($,v)=>(i(),R("div",ma,[m.value?(i(),y(ce,{key:0,indeterminate:""})):S("",!0),u.value?(i(),y(Z,{key:1,type:"error",variant:"tonal",density:"compact"},{default:t(()=>[c(o(u.value),1)]),_:1})):S("",!0),l.value?.skills.length?(i(),R("div",pa,[(i(!0),R(j,null,ie(l.value.skills,f=>(i(),R("div",{key:f.path,class:"workspace-skill-card"},[n("div",ha,[n("div",ga,[a(Qe,{icon:"$mdiPuzzleOutline",size:"18"}),n("strong",null,o(f.name),1)]),a(Ae,{size:"x-small",variant:"tonal"},{default:t(()=>[c(o(r(f)),1)]),_:2},1024)]),n("div",ya,o(f.description||e(p).t("$vuetify.chatroom.skills.noDescription")),1),n("div",ka,o(f.path),1)]))),128))])):!m.value&&!u.value?(i(),y(ae,{key:3,icon:"$mdiPuzzleOutline",title:e(p).t("$vuetify.chatroom.skills.empty")},null,8,["title"])):S("",!0)]))}}),$a={class:"workspace-layout"},wa={class:"workspace-header"},ba={class:"workspace-identity min-w-0"},Ca={class:"workspace-meta-row"},xa=["title"],Va={class:"workspace-actions"},Da=ne({__name:"WorkspacesView",setup(T){const C=_([]),l=_([]),m=_(window.localStorage.getItem("chatroom.workspace.root")),u=_("git"),p=_(!1),k=_(""),P=_(!1),r=_(!1),$=_(""),v=re(),f=se();Xe(()=>{h()}),X(m,w=>{w?window.localStorage.setItem("chatroom.workspace.root",w):window.localStorage.removeItem("chatroom.workspace.root")});async function h(){const w=f.begin();p.value=!0,k.value="";try{const[s,b]=await Promise.all([J("/workspaces",{signal:w.signal}),J("/workspace/roots",{signal:w.signal})]);if(!f.isCurrent(w))return;C.value=s,l.value=b,C.value.some(N=>N.root===m.value)||(m.value=C.value[0]?.root??null)}catch(s){f.isCurrent(w)&&(k.value=le(s))}finally{f.isCurrent(w)&&(p.value=!1)}}async function O(w,s){if(!r.value){r.value=!0,$.value="";try{const b=await J("/workspaces",{method:"POST",body:JSON.stringify({parent:w,name:s})});await h(),m.value=b.root,P.value=!1}catch(b){$.value=le(b)}finally{r.value=!1}}}return(w,s)=>(i(),R("div",$a,[a(ve,{class:"workspace-detail panel-card"},{default:t(()=>[n("div",wa,[n("div",ba,[a(Fe,{modelValue:m.value,"onUpdate:modelValue":s[0]||(s[0]=b=>m.value=b),items:C.value.map(b=>({title:b.name,value:b.root})),loading:p.value,"aria-label":e(v).t("$vuetify.chatroom.workspaces.workspace"),density:"compact",variant:"outlined","hide-details":"","prepend-inner-icon":"$mdiFolderOutline",class:"workspace-switcher"},null,8,["modelValue","items","loading","aria-label"]),n("div",Ca,[m.value?(i(),R("div",{key:0,class:"workspace-path",title:m.value},o(m.value),9,xa)):S("",!0),n("div",Va,[a(L,{icon:"$mdiPlus",size:"small",variant:"text","aria-label":e(v).t("$vuetify.chatroom.workspaces.createTitle"),onClick:s[1]||(s[1]=b=>{$.value="",P.value=!0})},null,8,["aria-label"]),a(L,{icon:"$mdiRefresh",size:"small",variant:"text",loading:p.value,"aria-label":e(v).t("$vuetify.chatroom.workspaces.refresh"),onClick:h},null,8,["loading","aria-label"])])])])]),k.value?(i(),y(Z,{key:0,type:"error",variant:"tonal",density:"compact"},{default:t(()=>[c(o(k.value),1)]),_:1})):S("",!0),m.value?(i(),R(j,{key:1},[a(at,{modelValue:u.value,"onUpdate:modelValue":s[2]||(s[2]=b=>u.value=b),density:"compact",class:"workspace-tabs"},{default:t(()=>[a(fe,{value:"git"},{default:t(()=>[c(o(e(v).t("$vuetify.chatroom.workspaces.git")),1)]),_:1}),a(fe,{value:"prompt"},{default:t(()=>[c(o(e(v).t("$vuetify.chatroom.workspaces.prompt")),1)]),_:1}),a(fe,{value:"files"},{default:t(()=>[c(o(e(v).t("$vuetify.chatroom.workspaces.files")),1)]),_:1}),a(fe,{value:"skills"},{default:t(()=>[c(o(e(v).t("$vuetify.chatroom.workspaces.skills")),1)]),_:1})]),_:1},8,["modelValue"]),a(De),a(lt,{modelValue:u.value,"onUpdate:modelValue":s[3]||(s[3]=b=>u.value=b),touch:!1},{default:t(()=>[a(me,{value:"git"},{default:t(()=>[a(sa,{root:m.value},null,8,["root"])]),_:1}),a(me,{value:"prompt"},{default:t(()=>[a(fa,{root:m.value},null,8,["root"])]),_:1}),a(me,{value:"files"},{default:t(()=>[a(xt,{root:m.value},null,8,["root"])]),_:1}),a(me,{value:"skills"},{default:t(()=>[a(_a,{root:m.value},null,8,["root"])]),_:1})]),_:1},8,["modelValue"])],64)):p.value?S("",!0):(i(),y(ae,{key:2,icon:"$mdiFolderOutline",title:e(v).t("$vuetify.chatroom.workspaces.empty")},null,8,["title"]))]),_:1}),a(nt,{modelValue:P.value,"onUpdate:modelValue":s[4]||(s[4]=b=>P.value=b),roots:l.value,busy:r.value,error:$.value,onCreate:O},null,8,["modelValue","roots","busy","error"])]))}});export{Da as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const s=(t,r)=>{const o=t.__vccOpts||t;for(const[c,e]of r)o[c]=e;return o};export{s as _};
|