@zhanguym/chatroom 1.1.0-beta.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/dist/native/macos/ChatRoomComputerHelper.app/Contents/MacOS/chatroom-computer-helper +0 -0
  2. package/dist/native/windows/chatroom-computer-helper.exe +0 -0
  3. package/dist/web/assets/{AgentView-BwL3S7sb.js → AgentView-Dd6zCbr-.js} +1 -1
  4. package/dist/web/assets/{CloudView-DH4sOXJr.js → CloudView-DquY1HDZ.js} +1 -1
  5. package/dist/web/assets/CodeViewer.vue_vue_type_script_setup_true_lang-ekOImmBP.js +3 -0
  6. package/dist/web/assets/ComputerView-RD2gMxJZ.js +1 -0
  7. package/dist/web/assets/{MarkdownContent-AdAmmDn5.js → MarkdownContent-CkjR5fs7.js} +1 -1
  8. package/dist/web/assets/{McpToolsView-CPaWUG9h.js → McpToolsView-Dg2-iaDP.js} +1 -1
  9. package/dist/web/assets/{OperationsView-D2FtLkHn.js → OperationsView-C8yCX7WZ.js} +2 -2
  10. package/dist/web/assets/{ProcessesView-BHOsaM2H.js → ProcessesView-C834LC-f.js} +2 -2
  11. package/dist/web/assets/{StateChip.vue_vue_type_script_setup_true_lang-iW1SYlX_.js → StateChip.vue_vue_type_script_setup_true_lang-By2gilBw.js} +1 -1
  12. package/dist/web/assets/{SystemLogsView-By5ijObd.js → SystemLogsView-B6KcZv1J.js} +1 -1
  13. package/dist/web/assets/{VSelect-CLnwhyWJ.js → VSelect-BtAJX-XJ.js} +1 -1
  14. package/dist/web/assets/VSpacer-M8bpkhTH.js +1 -0
  15. package/dist/web/assets/VSwitch-C0VTnwLJ.js +1 -0
  16. package/dist/web/assets/VTabs-g61mykvY.js +1 -0
  17. package/dist/web/assets/VTextarea-CRYQYRqg.js +1 -0
  18. package/dist/web/assets/{WorkspaceDownloadPreview-BjuqUdB9.js → WorkspaceDownloadPreview-BrESF-82.js} +1 -1
  19. package/dist/web/assets/{WorkspaceMediaPreview-D-igEnka.css → WorkspaceMediaPreview-CwtP9xWT.css} +1 -1
  20. package/dist/web/assets/WorkspaceMediaPreview-HYajqgZ3.js +4 -0
  21. package/dist/web/assets/WorkspacePdfPreview-BtZkUHzV.css +1 -0
  22. package/dist/web/assets/WorkspacePdfPreview-CO-ZtDHG.js +55 -0
  23. package/dist/web/assets/{WorkspacesView-DHl28eWf.js → WorkspacesView-BJCnzBLj.js} +1 -1
  24. package/dist/web/assets/{index-BzRlodie.js → index-u-aADQP-.js} +2 -2
  25. package/dist/web/assets/pdf.worker.min-CjEcRF4W.mjs +28 -0
  26. package/dist/web/assets/{useMasterDetailFocus-BQAutDO9.js → useMasterDetailFocus-D1mQ8Qjk.js} +1 -1
  27. package/dist/web/assets/{useOperationLabels-C-zgM_ET.js → useOperationLabels-BjPIVnJW.js} +1 -1
  28. package/dist/web/index.html +1 -1
  29. package/package.json +2 -1
  30. package/dist/web/assets/CodeViewer.vue_vue_type_script_setup_true_lang-BaC1eGzG.js +0 -3
  31. package/dist/web/assets/ComputerView-BJSjCxFr.js +0 -1
  32. package/dist/web/assets/VSpacer-dDRRKhUn.js +0 -1
  33. package/dist/web/assets/VSwitch-CGzxwZuj.js +0 -1
  34. package/dist/web/assets/VTabs-7aSwjrKs.js +0 -1
  35. package/dist/web/assets/VTextarea-D1_2FwMe.js +0 -1
  36. package/dist/web/assets/WorkspaceMediaPreview-LwXeVOY2.js +0 -3
@@ -1 +1 @@
1
- import{a3 as o,a8 as u}from"./index-BzRlodie.js";function i(e){const t=o("layout"),a=o("detailPane");function r(){e.value&&u(()=>{t.value?.scrollIntoView({behavior:"smooth",block:"start"}),a.value?.focus({preventScroll:!0})})}function l(n){e.value&&u(()=>{t.value?.querySelector(n)?.focus({preventScroll:!0})})}return{focusDetail:r,focusMaster:l}}export{i as u};
1
+ import{a5 as o,aa as u}from"./index-u-aADQP-.js";function i(e){const t=o("layout"),a=o("detailPane");function r(){e.value&&u(()=>{t.value?.scrollIntoView({behavior:"smooth",block:"start"}),a.value?.focus({preventScroll:!0})})}function l(n){e.value&&u(()=>{t.value?.querySelector(n)?.focus({preventScroll:!0})})}return{focusDetail:r,focusMaster:l}}export{i as u};
@@ -1 +1 @@
1
- import{a as c,bU as r,bV as u,bW as i}from"./index-BzRlodie.js";function l(){const n=c();function t(a,e){const s=r(a,e);return s?n.t(s):u(e)}function o(a){const e=i(a);return e?n.t(e):a}return{actionLabel:t,sourceLabel:o}}export{l as u};
1
+ import{a as c,bW as r,bX as u,bY as i}from"./index-u-aADQP-.js";function l(){const n=c();function t(a,e){const s=r(a,e);return s?n.t(s):u(e)}function o(a){const e=i(a);return e?n.t(e):a}return{actionLabel:t,sourceLabel:o}}export{l as u};
@@ -10,7 +10,7 @@
10
10
  href="/assets/chatroom-B5p-5n3y.svg"
11
11
  />
12
12
  <title>ChatRoom Runtime</title>
13
- <script type="module" crossorigin src="/assets/index-BzRlodie.js"></script>
13
+ <script type="module" crossorigin src="/assets/index-u-aADQP-.js"></script>
14
14
  <link rel="stylesheet" crossorigin href="/assets/index-CZ-4tJlF.css">
15
15
  </head>
16
16
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhanguym/chatroom",
3
- "version": "1.1.0-beta.1",
3
+ "version": "1.1.0",
4
4
  "type": "module",
5
5
  "description": "Local MCP runtime for ChatGPT with workspace, process, Cloud, and WebUI controls.",
6
6
  "bin": {
@@ -34,6 +34,7 @@
34
34
  "@simplewebauthn/server": "13.3.2",
35
35
  "compression": "^1.8.2",
36
36
  "express": "^5.1.0",
37
+ "pdfjs-dist": "6.4.299",
37
38
  "ws": "^8.18.3",
38
39
  "zod": "^4.0.17"
39
40
  },
@@ -1,3 +0,0 @@
1
- import{aa as F,bf as H,aJ as O,c8 as U,c9 as j,bd as z,aR as A,ak as M,aw as N,bn as G,bF as I,aE as J,bp as Q,bq as W,aD as q,c0 as X,aQ as K,ca as Y,g as m,a2 as Z,Q as V,b$ as ee,aP as ae,d as oe,a as te,w as _,cb as le,a4 as se,o as d,c as L,f as ne,v as b,F as re,p as w,J as ie,l as v,k as C,r as S,n as ce,t as B,E as y,B as P}from"./index-BzRlodie.js";import{V as ue}from"./VSpacer-dDRRKhUn.js";const de=N({color:String,...Y(),...K(),...X(),...q(),...W(),...Q(),...J(),...I(),...G()},"VSheet"),ve=F()({name:"VSheet",props:de(),setup(e,{slots:a}){const{themeClasses:h}=H(e),{backgroundColorClasses:g,backgroundColorStyles:n}=O(()=>e.color),{borderClasses:r}=U(e),{dimensionStyles:t}=ee(e),{elevationClasses:i}=ae(e),{locationStyles:s}=j(e),{positionClasses:c}=z(e),{roundedClasses:u,roundedStyles:f}=A(e);return M(()=>m(e.tag,{class:V(["v-sheet",h.value,g.value,r.value,i.value,c.value,u.value,e.class]),style:Z([n.value,t.value,s.value,f.value,e.style])},a)),{}}}),me={class:"code-toolbar"},he={class:"code-actions"},fe={key:1,class:"code-copy-error",role:"alert"},ye=["innerHTML"],ge={key:1},pe=2e5,be=120,Ce=oe({__name:"CodeViewer",props:{value:{},text:{},filename:{default:"chatroom-output.txt"},language:{},toolbar:{type:Boolean,default:!0},showDownload:{type:Boolean,default:!0},highlight:{type:Boolean,default:!0}},setup(e){const a=e,h=y(""),g=y(""),n=y(!0),r=y(null),t=te(),i=y("");let s=null,c=0;const u=P(()=>a.text??JSON.stringify(a.value??null,null,2)),f=P(()=>{const l=g.value.toLocaleLowerCase();return l?u.value.split(`
2
- `).filter(o=>o.toLocaleLowerCase().includes(l)).join(`
3
- `):u.value});_(h,l=>{s&&clearTimeout(s),s=setTimeout(()=>{g.value=l,s=null},be)}),_([f,()=>a.filename,()=>a.language,()=>a.value!==void 0,()=>a.highlight],async(l,o,p)=>{const T=++c;p(()=>{c+=1}),r.value=null;const k=f.value;if(!a.highlight||!k||k.length>pe)return;const E={filename:a.filename,language:a.language??(a.value!==void 0?"json":null)};try{const{highlightSource:R}=await le(async()=>{const{highlightSource:D}=await import("./syntax-highlight-C_fuMcwC.js");return{highlightSource:D}},[]);if(T!==c)return;r.value=R(k,E)}catch{}},{immediate:!0}),se(()=>{s&&clearTimeout(s),c+=1});async function $(){i.value="";try{await navigator.clipboard.writeText(u.value)}catch{i.value=t.t("$vuetify.chatroom.code.copyFailed")}}function x(){const l=URL.createObjectURL(new Blob([u.value],{type:"text/plain;charset=utf-8"})),o=document.createElement("a");o.href=l,o.download=a.filename,o.click(),URL.revokeObjectURL(l)}return(l,o)=>(d(),L(ve,{border:e.toolbar,rounded:e.toolbar?"lg":0,"overflow-hidden":"",class:V(["code-viewer",{"code-viewer-plain":!e.toolbar}])},{default:ne(()=>[e.toolbar?(d(),b(re,{key:0},[w("div",me,[m(ie,{modelValue:h.value,"onUpdate:modelValue":o[0]||(o[0]=p=>h.value=p),placeholder:v(t).t("$vuetify.chatroom.code.search"),"aria-label":v(t).t("$vuetify.chatroom.code.search"),"prepend-inner-icon":"$mdiMagnify",density:"compact","hide-details":"",class:"code-search"},null,8,["modelValue","placeholder","aria-label"]),m(ue),w("div",he,[m(C,{icon:"$mdiContentCopy",size:"small",variant:"text","aria-label":v(t).t("$vuetify.chatroom.code.copy"),onClick:$},null,8,["aria-label"]),m(C,{icon:n.value?"$mdiWrap":"$mdiFormatAlignLeft",size:"small",variant:"text","aria-label":v(t).t(n.value?"$vuetify.chatroom.code.disableWrap":"$vuetify.chatroom.code.enableWrap"),onClick:o[1]||(o[1]=p=>n.value=!n.value)},null,8,["icon","aria-label"]),e.showDownload?(d(),L(C,{key:0,icon:"$mdiDownloadOutline",size:"small",variant:"text","aria-label":v(t).t("$vuetify.chatroom.code.download"),onClick:x},null,8,["aria-label"])):S("",!0)])]),m(ce)],64)):S("",!0),i.value?(d(),b("div",fe,B(i.value),1)):S("",!0),w("pre",{class:V(["code-block",{wrap:n.value}])},[r.value?(d(),b("code",{key:0,class:"hljs",innerHTML:r.value},null,8,ye)):(d(),b("code",ge,B(f.value||v(t).t("$vuetify.chatroom.code.noOutput")),1))],2)]),_:1},8,["border","rounded","class"]))}});export{ve as V,Ce as _};
@@ -1 +0,0 @@
1
- import{u as _e}from"./useOperationLabels-C-zgM_ET.js";import{d as Y,a as re,o as d,c as w,f as m,p as l,t as c,l as s,g as p,k as J,n as W,O as se,v as q,F as ae,N as de,R as H,U as Ce,j as C,W as Se,X as pe,I as ie,V as Q,w as ve,r as _,s as j,q as Re,Z as Be,B as oe,E as k,Q as ce,S as G,T as xe,b as A,e as qe,$ as fe}from"./index-BzRlodie.js";import{d as ye}from"./utils-rtPwWNel.js";import{_ as Ie}from"./StateChip.vue_vue_type_script_setup_true_lang-iW1SYlX_.js";import{_ as Z}from"./_plugin-vue_export-helper-DlAUqK2U.js";import{V as me}from"./VSwitch-CGzxwZuj.js";const Pe={class:"panel-header compact-header"},Ae={class:"panel-title"},Ve={class:"computer-operation-scroll"},Le=Y({__name:"ComputerOperations",props:{operations:{},busy:{type:Boolean}},emits:["refresh"],setup(e,{emit:S}){const i=S,t=re(),{sourceLabel:v}=_e();function f(a){if(a.action==="snapshot")return t.t("$vuetify.chatroom.computer.log.snapshot");if(a.action==="settings.set")return t.t("$vuetify.chatroom.computer.log.settings");if(a.action!=="action")return a.action;const o=b(a.input),n=Array.isArray(o.actions)?o.actions:[];return n.length?n.map(g).join(" · "):t.t("$vuetify.chatroom.computer.log.action")}function g(a){const o=b(a),n=String(o.type??"action"),h=typeof o.elementId=="number"?` #${o.elementId}`:"";switch(n){case"activate_app":return t.t("$vuetify.chatroom.computer.log.activateApp",String(o.app??""));case"activate_window":return t.t("$vuetify.chatroom.computer.log.activateWindow",h.trim());case"click":return t.t("$vuetify.chatroom.computer.log.click",h.trim()||y(o));case"double_click":return t.t("$vuetify.chatroom.computer.log.doubleClick",h.trim()||y(o));case"right_click":return t.t("$vuetify.chatroom.computer.log.rightClick",h.trim()||y(o));case"move":return t.t("$vuetify.chatroom.computer.log.move",y(o));case"drag":return t.t("$vuetify.chatroom.computer.log.drag");case"scroll":return t.t("$vuetify.chatroom.computer.log.scroll",String(o.deltaY??0));case"keypress":return t.t("$vuetify.chatroom.computer.log.keypress",Array.isArray(o.keys)?o.keys.join("+"):"");case"type_text":case"set_value":return t.t("$vuetify.chatroom.computer.log.typeText",String(o.characters??0));case"invoke":return t.t("$vuetify.chatroom.computer.log.invoke",h.trim());case"select_text":return t.t("$vuetify.chatroom.computer.log.selectText",h.trim());case"move_window":return t.t("$vuetify.chatroom.computer.log.moveWindow",h.trim());case"resize_window":return t.t("$vuetify.chatroom.computer.log.resizeWindow",h.trim());case"wait":return t.t("$vuetify.chatroom.computer.log.wait",String(o.ms??0));default:return n}}function y(a){return`(${Math.round(Number(a.x??0))}, ${Math.round(Number(a.y??0))})`}function b(a){return a&&typeof a=="object"?a:{}}return(a,o)=>(d(),w(Q,{rounded:"xl",variant:"flat",border:"",class:"panel-card"},{default:m(()=>[l("div",Pe,[l("div",Ae,c(s(t).t("$vuetify.chatroom.computer.recentOperations")),1),p(J,{size:"small",variant:"text",icon:"$mdiRefresh",loading:e.busy,"aria-label":s(t).t("$vuetify.chatroom.computer.refreshOperations"),onClick:o[0]||(o[0]=n=>i("refresh"))},null,8,["loading","aria-label"])]),p(W),l("div",Ve,[e.operations.length?(d(),w(se,{key:0,lines:"two",density:"compact",class:"computer-operation-list"},{default:m(()=>[(d(!0),q(ae,null,de(e.operations,n=>(d(),w(H,{key:n.operationId},{append:m(()=>[p(Ie,{value:n.status},null,8,["value"])]),default:m(()=>[p(Ce,null,{default:m(()=>[C(c(f(n)),1)]),_:2},1024),p(Se,null,{default:m(()=>[C(c(s(ye)(n.startedAt,s(pe)(s(t).current.value)))+" · "+c(s(v)(n.source)),1)]),_:2},1024)]),_:2},1024))),128))]),_:1})):(d(),w(ie,{key:1,class:"muted"},{default:m(()=>[C(c(s(t).t("$vuetify.chatroom.computer.noOperations")),1)]),_:1}))])]),_:1}))}}),Oe=Z(Le,[["__scopeId","data-v-e1119403"]]),ze={class:"panel-header compact-header"},Te={class:"computer-preview-heading"},Ne={class:"panel-title"},Ue={key:0,class:"computer-preview-time"},De=["aria-busy"],Ee=["src","alt"],We={key:2,class:"computer-screen-empty"},je={key:3,class:"computer-preview-meta"},Fe={class:"text-truncate"},Me=Y({__name:"ComputerPreview",props:{preview:{},enabled:{type:Boolean},busy:{type:Boolean},remotePreviewBlocked:{type:Boolean}},emits:["refresh"],setup(e,{emit:S}){const i=e,t=S,v=re(),f=oe(()=>{const a=i.preview;return a?.screenshot?"/api/computer/preview/image?snapshotId="+encodeURIComponent(a.snapshotId)+"&v="+encodeURIComponent(String(a.revision)):""}),g=k(!1),y=k(!1);ve(f,a=>{g.value=!!a,y.value=!1},{immediate:!0});const b=oe(()=>{const a=i.preview?.capturedAt;return a?ye(a,pe(v.current.value)):""});return(a,o)=>(d(),w(Q,{rounded:"xl",variant:"flat",border:"",class:"panel-card"},{default:m(()=>[l("div",ze,[l("div",Te,[l("div",Ne,c(s(v).t("$vuetify.chatroom.computer.latestScreen")),1),b.value?(d(),q("div",Ue,c(s(v).t("$vuetify.chatroom.computer.capturedAt",b.value)),1)):_("",!0)]),p(J,{size:"small",variant:"tonal","prepend-icon":"$mdiRefresh",loading:e.busy,disabled:!e.enabled,onClick:o[0]||(o[0]=n=>t("refresh"))},{default:m(()=>[C(c(s(v).t("$vuetify.chatroom.computer.refreshScreen")),1)]),_:1},8,["loading","disabled"])]),p(W),p(ie,{class:"computer-preview-content"},{default:m(()=>[e.remotePreviewBlocked?(d(),w(j,{key:0,type:"info",variant:"tonal",density:"compact",class:"mb-3"},{default:m(()=>[C(c(s(v).t("$vuetify.chatroom.computer.remoteDisabled")),1)]),_:1})):_("",!0),f.value?(d(),q("div",{key:1,class:"computer-screen-shell","aria-busy":g.value},[g.value?(d(),w(Re,{key:0,indeterminate:""})):_("",!0),y.value?(d(),w(j,{key:1,type:"error",variant:"tonal"},{default:m(()=>[C(c(s(v).t("$vuetify.chatroom.common.imageLoadFailed")),1)]),_:1})):(d(),q("img",{key:f.value,decoding:"async",onLoad:o[1]||(o[1]=n=>g.value=!1),onError:o[2]||(o[2]=n=>{g.value=!1,y.value=!0}),src:f.value,alt:s(v).t("$vuetify.chatroom.computer.latestScreen")},null,40,Ee))],8,De)):(d(),q("div",We,[p(Be,{icon:"$mdiMonitorScreenshot",size:"42"}),l("span",null,c(s(v).t("$vuetify.chatroom.computer.noSnapshot")),1)])),e.preview?(d(),q("div",je,[l("div",null,[l("span",null,c(s(v).t("$vuetify.chatroom.computer.activeApp")),1),l("strong",null,c(e.preview.activeApp||"—"),1)]),l("div",null,[l("span",null,c(s(v).t("$vuetify.chatroom.computer.activeWindow")),1),l("strong",Fe,c(e.preview.activeWindow||"—"),1)]),l("div",null,[l("span",null,c(s(v).t("$vuetify.chatroom.computer.elements")),1),l("strong",null,c(e.preview.elementCount),1)])])):_("",!0)]),_:1})]),_:1}))}}),Xe=Z(Me,[["__scopeId","data-v-f2938466"]]),Ge={class:"panel-header compact-header"},He={class:"panel-title"},Je={class:"computer-status-row"},Qe={class:"computer-status-label"},Ye={class:"computer-status-value"},Ze={class:"computer-status-row"},Ke={class:"computer-status-label"},et={class:"computer-status-value"},tt={class:"computer-status-row"},st={class:"computer-status-label"},at={class:"computer-permission-value"},ot={class:"computer-status-row"},rt={class:"computer-status-label"},it={class:"computer-permission-value"},nt={class:"panel-header compact-header"},lt={class:"panel-title"},ut=Y({__name:"ComputerStatus",props:{status:{},settingsBusy:{type:Boolean},permissionBusy:{},permissionRequestsAllowed:{type:Boolean}},emits:["updateSetting","requestPermission"],setup(e,{emit:S}){const i=S,t=re();function v(a){return t.t(`$vuetify.chatroom.computer.platformStates.${a}`)}function f(a){return t.t(`$vuetify.chatroom.computer.helperStates.${a}`)}function g(a){return t.t(`$vuetify.chatroom.computer.permissionStates.${a}`)}function y(a){return a==="granted"?"is-granted":a==="denied"?"is-denied":"is-muted"}function b(a){const o=a.primary?` · ${t.t("$vuetify.chatroom.computer.primaryDisplay")}`:"";return`${a.width}×${a.height} · ${a.scale}x${o}`}return(a,o)=>e.status?(d(),q(ae,{key:0},[p(Q,{rounded:"xl",variant:"flat",border:"",class:"panel-card"},{default:m(()=>[l("div",Ge,[l("div",He,c(s(t).t("$vuetify.chatroom.computer.title")),1)]),p(W),p(ie,{class:"computer-status-list"},{default:m(()=>[e.status.unavailableReason==="no_x11_session"?(d(),w(j,{key:0,type:"info",variant:"tonal",density:"compact"},{default:m(()=>[C(c(s(t).t("$vuetify.chatroom.computer.noX11Session")),1)]),_:1})):_("",!0),l("div",Je,[l("span",Qe,c(s(t).t("$vuetify.chatroom.computer.platform")),1),l("strong",Ye,c(v(e.status.platform)),1)]),l("div",Ze,[l("span",Ke,c(s(t).t("$vuetify.chatroom.computer.helper")),1),l("strong",et,c(f(e.status.helper)),1)]),l("div",tt,[l("span",st,c(s(t).t("$vuetify.chatroom.computer.accessibility")),1),l("div",at,[l("strong",{class:ce(["computer-permission-state",y(e.status.permissions.accessibility)])},c(g(e.status.permissions.accessibility)),3),e.status.platform==="macos"&&e.status.permissions.accessibility!=="granted"?(d(),w(J,{key:0,class:"computer-permission-btn",color:"primary",size:"small",variant:"tonal",loading:e.permissionBusy==="accessibility",disabled:!e.permissionRequestsAllowed||e.permissionBusy!==null,onClick:o[0]||(o[0]=n=>i("requestPermission","accessibility"))},{default:m(()=>[C(c(s(t).t("$vuetify.chatroom.computer.requestPermission")),1)]),_:1},8,["loading","disabled"])):_("",!0)])]),l("div",ot,[l("span",rt,c(s(t).t("$vuetify.chatroom.computer.screenRecording")),1),l("div",it,[l("strong",{class:ce(["computer-permission-state",y(e.status.permissions.screenRecording)])},c(g(e.status.permissions.screenRecording)),3),e.status.platform==="macos"&&e.status.permissions.screenRecording!=="granted"?(d(),w(J,{key:0,class:"computer-permission-btn",color:"primary",size:"small",variant:"tonal",loading:e.permissionBusy==="screenRecording",disabled:!e.permissionRequestsAllowed||e.permissionBusy!==null,onClick:o[1]||(o[1]=n=>i("requestPermission","screenRecording"))},{default:m(()=>[C(c(s(t).t("$vuetify.chatroom.computer.requestPermission")),1)]),_:1},8,["loading","disabled"])):_("",!0)])]),e.status.platform==="macos"&&!e.permissionRequestsAllowed&&(e.status.permissions.accessibility!=="granted"||e.status.permissions.screenRecording!=="granted")?(d(),w(j,{key:1,type:"info",variant:"tonal",density:"compact",class:"computer-permission-alert"},{default:m(()=>[C(c(s(t).t("$vuetify.chatroom.computer.permissionLocalOnly")),1)]),_:1})):_("",!0)]),_:1}),p(W),p(se,{density:"compact",class:"computer-settings-list"},{default:m(()=>[p(H,{title:s(t).t("$vuetify.chatroom.computer.enabled")},{append:m(()=>[p(me,{"model-value":e.status.settings.enabled,"aria-label":s(t).t("$vuetify.chatroom.computer.enabled"),disabled:e.settingsBusy,"onUpdate:modelValue":o[2]||(o[2]=n=>i("updateSetting","enabled",!!n))},null,8,["model-value","aria-label","disabled"])]),_:1},8,["title"]),p(H,{title:s(t).t("$vuetify.chatroom.computer.remoteAccess")},{append:m(()=>[p(me,{"model-value":e.status.settings.remoteAccess,"aria-label":s(t).t("$vuetify.chatroom.computer.remoteAccess"),disabled:e.settingsBusy,"onUpdate:modelValue":o[3]||(o[3]=n=>i("updateSetting","remoteAccess",!!n))},null,8,["model-value","aria-label","disabled"])]),_:1},8,["title"])]),_:1})]),_:1}),e.status.displays.length?(d(),w(Q,{key:0,rounded:"xl",variant:"flat",border:"",class:"panel-card"},{default:m(()=>[l("div",nt,[l("div",lt,c(s(t).t("$vuetify.chatroom.computer.displays")),1)]),p(W),p(se,{density:"compact",class:"computer-display-list"},{default:m(()=>[(d(!0),q(ae,null,de(e.status.displays,n=>(d(),w(H,{key:n.id,title:n.name,subtitle:b(n)},null,8,["title","subtitle"]))),128))]),_:1})]),_:1})):_("",!0)],64)):_("",!0)}}),ct=Z(ut,[["__scopeId","data-v-fbaed594"]]);function mt(e,S){const i=k(null),t=k(null),v=k([]),f=k(""),g=k(!1),y=k(!1),b=k(!1),a=k(!1),o=k(null),n=G(),h=G(),L=G(),O=G(),$=new Set,N=new Map;let I=!1,z=!1,U=null,T=!1;window.addEventListener("focus",le),K(),xe(()=>{window.removeEventListener("focus",le),T=!0,I=!1,$.clear(),N.clear(),n.invalidate(),h.invalidate(),L.invalidate(),O.invalidate()});const ne=oe(()=>["localhost","127.0.0.1","::1","[::1]"].includes(window.location.hostname));ve(e,()=>{he(S())});async function K(){f.value="",I=!1,$.clear(),O.invalidate(),await Promise.all([F(),M(),te()])}async function he(r){if(r===null){await K();return}const u=[];if(r.status&&u.push(F()),r.preview&&(!r.previewSnapshotId||t.value?.snapshotId!==r.previewSnapshotId)&&u.push(te()),r.operationsReset)I=!1,$.clear(),O.invalidate(),u.push(M());else if(r.operationIds.length){for(const R of r.operationIds)$.add(R);I&&!z?u.push(ee()):z||u.push(M())}await Promise.all(u)}async function F(){const r=n.begin();try{const u=await A("/computer/status",{signal:r.signal});n.isCurrent(r)&&(i.value=u)}catch(u){n.isCurrent(r)&&V(u)}}async function M(){const r=L.begin();z=!0,a.value=!0;try{const u=await A("/operations?pluginId=computer&limit=50",{signal:r.signal});if(T||!L.isCurrent(r))return;v.value=u,I=!0}catch(u){L.isCurrent(r)&&V(u)}finally{L.isCurrent(r)&&(z=!1,a.value=!1)}L.isCurrent(r)&&$.size&&await ee()}async function ge(r){if(T||!r.length)return;const u=O.begin(),R=await Promise.allSettled(r.map(async P=>{try{return await A("/operations/"+encodeURIComponent(P),{signal:u.signal})}catch(x){if(x instanceof fe&&x.status===404)return null;throw x}}));if(T||!O.isCurrent(u))return;const B=[...v.value];for(let P=0;P<R.length;P+=1){const x=R[P],D=r[P];if(x.status==="rejected"){const X=(N.get(D)??0)+1;X<=1?(N.set(D,X),$.add(D)):(N.delete(D),V(x.reason));continue}N.delete(D);const E=x.value;if(!E||E.pluginId!=="computer")continue;const ue=B.findIndex(X=>X.operationId===E.operationId);ue>=0?B[ue]=E:B.push(E)}B.sort((P,x)=>x.startedAt.localeCompare(P.startedAt)),v.value=B.slice(0,50)}function ee(){return U||(U=Promise.resolve().then(async()=>{for(;!T&&I&&!z&&$.size;){const r=[...$];$.clear(),await ge(r)}}).finally(()=>{U=null,!T&&I&&!z&&$.size&&ee()}),U)}async function te(){const r=h.begin();g.value=!1;try{const u=await A("/computer/preview",{signal:r.signal});h.isCurrent(r)&&(t.value=u)}catch(u){if(!h.isCurrent(r))return;if(dt(u)){t.value=null,g.value=!0;return}V(u)}}async function le(){if(i.value?.unavailableReason==="no_x11_session"){await F();return}if(i.value?.platform!=="macos"||i.value.permissions.accessibility==="granted"&&i.value.permissions.screenRecording==="granted")return;const r=n.begin();try{const u=await A("/computer/status",{signal:r.signal});n.isCurrent(r)&&(i.value=u)}catch{}}async function we(r,u){if(!b.value){b.value=!0,f.value="";try{await A("/computer/settings",{method:"PATCH",body:JSON.stringify({[r]:u})}),await Promise.all([F(),te()])}catch(R){V(R)}finally{b.value=!1}}}async function be(r){if(!ne.value||o.value)return;o.value=r,f.value="";const u=r==="accessibility"?"/computer/permissions/accessibility/request":"/computer/permissions/screen-recording/request",R=n.begin();try{const B=await A(u,{method:"POST",signal:R.signal});n.isCurrent(R)&&(i.value=B)}catch(B){n.isCurrent(R)&&V(B)}finally{o.value=null}}async function $e(){if(y.value)return;const r=h.begin();y.value=!0,f.value="";try{const u=await A("/computer/snapshot",{method:"POST",signal:r.signal});if(!h.isCurrent(r))return;t.value=u,g.value=!1}catch(u){h.isCurrent(r)&&V(u)}finally{y.value=!1}}async function ke(){f.value="",I=!1,$.clear(),O.invalidate(),await M()}function V(r){f.value||(f.value=qe(r))}return{status:i,preview:t,operations:v,error:f,remotePreviewBlocked:g,snapshotBusy:y,settingsBusy:b,operationsBusy:a,permissionBusy:o,permissionRequestsAllowed:ne,load:K,updateSetting:we,requestPermission:be,refreshSnapshot:$e,refreshOperations:ke}}function dt(e){return!(e instanceof fe)||e.code!=="FORBIDDEN"||!e.details||typeof e.details!="object"?!1:"reason"in e.details&&e.details.reason==="remote_computer_disabled"}const pt={class:"computer-view"},vt=Y({__name:"ComputerView",props:{revision:{},changes:{}},setup(e){const S=e,i=mt(()=>S.revision,()=>S.changes);return(t,v)=>(d(),q("div",pt,[s(i).error.value?(d(),w(j,{key:0,type:"error",variant:"tonal"},{default:m(()=>[C(c(s(i).error.value),1)]),_:1})):_("",!0),p(Xe,{preview:s(i).preview.value,enabled:s(i).status.value?.settings.enabled??!1,busy:s(i).snapshotBusy.value,"remote-preview-blocked":s(i).remotePreviewBlocked.value,onRefresh:s(i).refreshSnapshot},null,8,["preview","enabled","busy","remote-preview-blocked","onRefresh"]),p(Oe,{operations:s(i).operations.value,busy:s(i).operationsBusy.value,onRefresh:s(i).refreshOperations},null,8,["operations","busy","onRefresh"]),p(ct,{status:s(i).status.value,"settings-busy":s(i).settingsBusy.value,"permission-busy":s(i).permissionBusy.value,"permission-requests-allowed":s(i).permissionRequestsAllowed.value,onUpdateSetting:s(i).updateSetting,onRequestPermission:s(i).requestPermission},null,8,["status","settings-busy","permission-busy","permission-requests-allowed","onUpdateSetting","onRequestPermission"])]))}}),$t=Z(vt,[["__scopeId","data-v-2084f1f6"]]);export{$t as default};
@@ -1 +0,0 @@
1
- import{cc as c}from"./index-BzRlodie.js";const e=c("v-spacer","div","VSpacer");export{e as V};
@@ -1 +0,0 @@
1
- import{aa as X,ae as x,bt as Y,aS as p,aJ as ee,bu as ae,bb as te,ak as le,as as ne,aw as ue,bv as se,bw as ie,ax as oe,aT as re,aW as de,aV as _,bx as A,g as n,a1 as F,p as i,a2 as w,Q as k,ar as ce,aO as ve,Z as fe,by as me,a9 as he,F as ge,a7 as I,au as d}from"./index-BzRlodie.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},Ve=X()({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=x(e,"indeterminate"),u=x(e,"modelValue"),{loaderClasses:B}=Y(e),{isFocused:T,focus:R,blur:N}=p(e),{backgroundColorClasses:q,backgroundColorStyles:D}=ee(()=>e.thumbColor),S=I(),V=I(),c=ae&&window.matchMedia("(forced-colors: active)").matches,U=d(()=>typeof e.loading=="string"&&e.loading!==""?e.loading:e.color),L=te(),O=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(),S.value?.input?.click()}return le(()=>{const[r,H]=de(M),J=_.filterProps(e),Q=A.filterProps(e),l=["material","square"].includes(String(e.inset)),C=!c&&!!e.thumbColor;return n(_,F({ref:V,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,J,{modelValue:u.value,"onUpdate:modelValue":m=>u.value=m,id:O.value,focused:T.value,style:[{"--v-switch-scale":v.value?void 0:Number(e.size)/32},e.style]}),{...a,default:({id:m,messagesId:W,isDisabled:Z,isReadonly:j,isValid:y})=>{const h={model:u,isValid:y};return n(A,F({ref:S},Q,{modelValue:u.value,"onUpdate:modelValue":[s=>u.value=s,$],id:m.value,"aria-describedby":W.value,type:"checkbox","aria-checked":o.value?"mixed":void 0,disabled:Z.value,readonly:j.value,onFocus:R,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:K})=>i(ge,null,[s,i("div",{class:k(["v-switch__thumb",{"v-switch__thumb--filled":t||e.loading},c?void 0:C&&z.value?q.value:l?g.value:e.inset?void 0:g.value]),style:w([C&&z.value?D.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:U.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?K.value:void 0),icon:t,size:l?f.value:"x-small"},null)]})])])})}})}),ne({},V)}});export{Ve as V};
@@ -1 +0,0 @@
1
- import{aa as R,ac as ve,aJ as J,ak as W,as as fe,aw as A,ax as Z,bz as he,k as X,g as x,p as P,a2 as O,Q as H,F as p,a1 as I,a7 as M,bA as me,bB as be,B as C,bC as z,bf as ge,aA as we,a as ye,bD as Te,w as Se,aj as U,bE as Ce,a8 as D,E as L,bn as xe,bF as ee,aQ as te,aM as ne,bG as Ve,aL as _,au as S,aG as ke,aI as oe,ae,bH as Be,bI as Pe,bJ as Ee,bK as Ie,bL as _e,aN as Re,bM as We,bN as Ae,be as $e,bO as Ye,bP as De,bQ as Xe,bR as He,bS as K,bT as Me}from"./index-BzRlodie.js";const N=Symbol.for("vuetify:v-tabs"),se=A({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],Y=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,j=1.5;return{transform:[`translate${T}(${V}px) scale${T}(${de})`,`translate${T}(${V/j}px) scale${T}(${(F-1)/j+1})`,"none"],transformOrigin:Array(3).fill(Y)}}function $({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":$}),{...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:O([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 Ge(e,n){const t=e.changedTouches[0];n.touchstartX=t.clientX,n.touchstartY=t.clientY,n.start?.({originalEvent:e,...n})}function Oe(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=>Ge(t,n),touchend:t=>Oe(t,n),touchmove:t=>Ne(t,n)}}function je(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 Ue(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 G={mounted:je,unmounted:Ue},ie=Symbol.for("vuetify:v-window"),le=Symbol.for("vuetify:v-window-group"),re=A({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:G},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};U&&r>=0&&(d=Ce(u.value),B.left=d?.scrollLeft,B.top=d?.scrollTop);const V=o.items.value.length,Y=V-1;V<=2?v.value=s<r:s===Y&&r===0?v.value=!1:s===0&&r===Y?v.value=!0:v.value=s<r,D(()=>{if(!U||!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),$=S(()=>e.continuous||E.value!==o.items.value.length-1);function g(){b.value&&o.prev()}function w(){$.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($.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(()=>{$.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:O([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})]}),[[G,y.value]])),{group:o}}}),Ke=A({...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=A({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...te(),..._e(),...Ie()},"VWindowItem"),q=R()({name:"VWindowItem",directives:{vTouch:G},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:O(e.style)},[E.value&&n.default?.()]),[[Re,a.isSelected.value]])]})),{groupItem:a}}}),qe=A({...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=A({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}=Ae(e),{backgroundColorClasses:u,backgroundColorStyles:c}=J(()=>e.bgColor),{scopeId:v}=$e();return Ye({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{aa as ue,a$ as U,ae as oe,aS as ie,aZ as re,b0 as se,a7 as g,b1 as ce,_ as de,w as c,a4 as fe,ak as ve,as as me,a8 as F,aL as R,aB as xe,aw as ge,b2 as he,ax as we,aT as be,b3 as Ve,E as ye,aW as Fe,aV as $,b4 as W,g as A,p as o,F as B,b5 as Ce,a1 as M,aM as O,b6 as Pe,Q as ke,B as C,b7 as Ie,b8 as Se,b9 as Ne}from"./index-BzRlodie.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(),...we(be(),["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:k,slots:d}){const l=oe(e,"modelValue"),{isFocused:f,focus:j,blur:L}=ie(e),{onIntersect:Q}=Se(e),Z=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(),w=g(),T=ye(""),v=g(),I=g(0),{platform:J}=re(),b=se(e),K=C(()=>e.persistentPlaceholder||f.value||e.active);function S(){b.isSuppressing.value&&b.update(),v.value!==Ne()&&v.value?.focus(),f.value||j()}function X(t){S(),k("click:control",t)}function Y(t){k("mousedown:control",t)}function p(t){t.stopPropagation(),S(),F(()=>{l.value="",Ie(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){I.value=12;return}const{offsetWidth:t,clientWidth:a}=v.value;I.value=Math.max(0,t-a)}),e.autoGrow&&F(()=>{if(!m.value||!w.value)return;const t=getComputedStyle(m.value),a=getComputedStyle(w.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"))),N=e.maxHeight?parseFloat(e.maxHeight):parseFloat(e.maxRows)*r+u||1/0,n=xe(x??0,s,N);h.value=Math.floor((n-u)/r),T.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=>{k("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),N={...W.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(I.value)},e.style]},u,s,{centerAffix:h.value===1&&!V.value,focused:f.value,indentDetails:e.indentDetails??!V.value}),{...d,default:({id:n,isDisabled:_,isDirty:E,isReadonly:te,isValid:ae,hasDetails:le})=>A(W,M({ref:w,style:{"--v-textarea-control-height":T.value},onClick:X,onMousedown:Y,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"]},N,{id:n.value,active:K.value||E.value,labelId:`${n.value}-label`,centerAffix:h.value===1&&!V.value,dirty:E.value||e.dirty,disabled:_.value,focused:f.value,details:le.value,error:ae.value===!1}),{...d,default:({props:{class:G,...D},controlRef:ne})=>o(B,null,[e.prefix&&o("span",{class:"v-text-field__prefix"},[e.prefix]),O(o("textarea",M({ref:H=>v.value=ne.value=H,class:G,value:l.value,onInput:ee,autofocus:e.autofocus,readonly:te.value,disabled:_.value,placeholder:e.placeholder,rows:e.rows,name:b.fieldName.value,autocomplete:b.fieldAutocomplete.value,onFocus:S,onBlur:L,"aria-labelledby":`${n.value}-label`},D,x),null),[[U,{handler:Q},null,{once:!0}]]),e.autoGrow&&O(o("textarea",{class:ke([G,"v-textarea__sizer"]),id:`${D.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:Z.value,max:q.value,disabled:e.disabled},d.counter)])]):void 0})}),me({},z,w,v)}});export{Ae as V};
@@ -1,3 +0,0 @@
1
- import{d as P,a as V,w as R,o as t,v as s,p as i,t as f,l as k,g as x,k as B,r as b,c as W,s as E,f as L,j as M,F as $,N as C,E as A,B as w}from"./index-BzRlodie.js";import{_ as N}from"./_plugin-vue_export-helper-DlAUqK2U.js";function F(e,p,c=2001,a=100){const d=[];let u=[],o="",n=!1,g=!1,y=!1;const l=e.charCodeAt(0)===65279?e.slice(1):e,v=()=>{u.length<a?u.push(o):g=!0,o=""},m=()=>{v(),d.length<c?d.push(u):y=!0,u=[]};for(let h=0;h<l.length;h+=1){const r=l[h];if(r==='"')n&&l[h+1]==='"'?(o+='"',h+=1):n?n=!1:o?o+=r:n=!0;else if(!n&&r===p)v();else if(!n&&(r===`
2
- `||r==="\r")){if(m(),r==="\r"&&l[h+1]===`
3
- `&&(h+=1),d.length===c&&h<l.length-1){y=!0;break}}else o+=r}return!y&&(o||u.length||n)&&m(),{rows:d,truncatedRows:y,truncatedColumns:g}}const I={class:"workspace-csv-preview"},S={class:"workspace-csv-toolbar"},T={key:0,class:"workspace-csv-pages"},z={class:"workspace-csv-scroll"},D={class:"workspace-csv-table"},j={scope:"row"},q=["title"],G={key:0,class:"empty-inline"},_=100,O=P({__name:"WorkspaceCsvPreview",props:{content:{},path:{},truncated:{type:Boolean}},setup(e){const p=e,c=V(),a=A(1),d=w(()=>F(p.content,/\.tsv$/i.test(p.path)?" ":",")),u=w(()=>d.value.rows[0]??[]),o=w(()=>d.value.rows.slice(1)),n=w(()=>Math.max(1,Math.ceil(o.value.length/_))),g=w(()=>o.value.slice((a.value-1)*_,a.value*_));return R(()=>[p.content,p.path],()=>a.value=1),(y,l)=>(t(),s("div",I,[i("div",S,[i("span",null,f(k(c).t("$vuetify.chatroom.files.tableSummary",o.value.length,u.value.length)),1),n.value>1?(t(),s("div",T,[x(B,{icon:"$mdiChevronLeft",size:"x-small",variant:"text",disabled:a.value===1,"aria-label":k(c).t("$vuetify.chatroom.files.previousPage"),onClick:l[0]||(l[0]=v=>a.value--)},null,8,["disabled","aria-label"]),i("span",null,f(a.value)+" / "+f(n.value),1),x(B,{icon:"$mdiChevronRight",size:"x-small",variant:"text",disabled:a.value===n.value,"aria-label":k(c).t("$vuetify.chatroom.files.nextPage"),onClick:l[1]||(l[1]=v=>a.value++)},null,8,["disabled","aria-label"])])):b("",!0)]),e.truncated||d.value.truncatedRows||d.value.truncatedColumns?(t(),W(E,{key:0,type:"info",density:"compact",variant:"tonal"},{default:L(()=>[M(f(k(c).t("$vuetify.chatroom.files.tableLimited")),1)]),_:1})):b("",!0),i("div",z,[i("table",D,[i("thead",null,[i("tr",null,[l[2]||(l[2]=i("th",{scope:"col"},"#",-1)),(t(!0),s($,null,C(u.value,(v,m)=>(t(),s("th",{key:m,scope:"col"},f(v||k(c).t("$vuetify.chatroom.files.column",m+1)),1))),128))])]),i("tbody",null,[(t(!0),s($,null,C(g.value,(v,m)=>(t(),s("tr",{key:(a.value-1)*_+m},[i("th",j,f((a.value-1)*_+m+1),1),(t(!0),s($,null,C(u.value,(h,r)=>(t(),s("td",{key:r,title:v[r]??""},f(v[r]??""),9,q))),128))]))),128))])]),u.value.length?b("",!0):(t(),s("div",G,f(k(c).t("$vuetify.chatroom.files.emptyTable")),1))])]))}}),ee=N(O,[["__scopeId","data-v-88d1ee33"]]),Z={class:"workspace-media-preview"},H=["src","title"],J=["src"],K=["src"],Q=["href"],U=P({__name:"WorkspaceMediaPreview",props:{kind:{},path:{},url:{}},setup(e){const p=V();return(c,a)=>(t(),s("div",Z,[e.kind==="pdf"?(t(),s("iframe",{key:0,class:"workspace-pdf-frame",src:e.url,title:e.path},null,8,H)):e.kind==="video"?(t(),s("video",{key:e.url,class:"workspace-video-player",src:e.url,preload:"metadata",playsinline:"",controls:""},null,8,J)):(t(),s("audio",{key:e.url,class:"workspace-audio-player",src:e.url,preload:"metadata",controls:""},null,8,K)),i("a",{href:e.url,target:"_blank",rel:"noopener noreferrer"},f(k(p).t("$vuetify.chatroom.files.openOriginal")),9,Q)]))}}),te=N(U,[["__scopeId","data-v-8549eb31"]]);export{te as W,ee as a};