@loicngr/kobo 2.1.5 → 2.1.7

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 (105) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/mcp-server/kobo-tasks-handlers.js +17 -4
  3. package/dist/mcp-server/kobo-tasks-server.js +14 -2
  4. package/dist/server/routes/workspaces.js +45 -34
  5. package/dist/server/services/agent/engines/claude-code/event-mapper.js +33 -0
  6. package/dist/server/services/agent/engines/codex/engine.js +10 -1
  7. package/dist/server/services/agent/engines/codex/event-mapper.js +2 -0
  8. package/dist/server/services/agent/streaming-batcher.js +14 -3
  9. package/dist/server/services/dev-server-service.js +7 -1
  10. package/dist/shared/codex-models.js +0 -48
  11. package/dist/shared/models.js +6 -54
  12. package/package.json +6 -6
  13. package/src/client/dist/pwa/assets/ActivityFeed-B8tJgXwD.js +2 -0
  14. package/src/client/dist/pwa/assets/ActivityFeed-BfMUdSXQ.css +1 -0
  15. package/src/client/dist/pwa/assets/{ChangelogPage-BL5Jh8-v.js → ChangelogPage-YjWYsB_s.js} +1 -1
  16. package/src/client/dist/pwa/assets/{ComparisonPanel-Bv2SZrVZ.js → ComparisonPanel-azVvpfGW.js} +1 -1
  17. package/src/client/dist/pwa/assets/CreatePage-BVNtCTdA.js +2 -0
  18. package/src/client/dist/pwa/assets/CreatePage-C7fLOpai.css +1 -0
  19. package/src/client/dist/pwa/assets/{DashboardPage-BEXXRguE.js → DashboardPage-DydscFLA.js} +1 -1
  20. package/src/client/dist/pwa/assets/{DiffViewer-B92w_jd7.js → DiffViewer-DfMqxOYw.js} +3 -3
  21. package/src/client/dist/pwa/assets/DocumentsPanel-DCGgj9pc.js +1 -0
  22. package/src/client/dist/pwa/assets/{DrawerToggleButton-Btx8QwHo.js → DrawerToggleButton-CQVSfKpY.js} +1 -1
  23. package/src/client/dist/pwa/assets/GitPanel-D6ZCZPbj.js +3 -0
  24. package/src/client/dist/pwa/assets/{HealthPage-CDhgJQkL.js → HealthPage-D_A6DTiH.js} +1 -1
  25. package/src/client/dist/pwa/assets/MainLayout-CFLswVqP.css +1 -0
  26. package/src/client/dist/pwa/assets/MainLayout-CeHg73-f.js +2 -0
  27. package/src/client/dist/pwa/assets/{QBanner-7EWRdc4U.js → QBanner-CtppfNDn.js} +1 -1
  28. package/src/client/dist/pwa/assets/{QBtnDropdown-vjat4GZl.js → QBtnDropdown-D8I04HPE.js} +1 -1
  29. package/src/client/dist/pwa/assets/{QChip-CG1kWhFm.js → QChip-Btg1Lp_6.js} +1 -1
  30. package/src/client/dist/pwa/assets/{QExpansionItem-BQuy89vv.js → QExpansionItem-DmzCAbka.js} +1 -1
  31. package/src/client/dist/pwa/assets/{QItemSection-BrVklYfM.js → QItemSection-BhGnulVQ.js} +1 -1
  32. package/src/client/dist/pwa/assets/{QList-BVX-b8nc.js → QList-Cw2xs69W.js} +1 -1
  33. package/src/client/dist/pwa/assets/{QMarkupTable-B8_FKLvo.js → QMarkupTable-Ck2E2TaI.js} +1 -1
  34. package/src/client/dist/pwa/assets/QScrollArea-BmBuij9J.js +1 -0
  35. package/src/client/dist/pwa/assets/{QSelect-DBW_TZri.js → QSelect-DUuWu79L.js} +1 -1
  36. package/src/client/dist/pwa/assets/{QTooltip-DzYbguTR.js → QTooltip-Dhy3hNTO.js} +1 -1
  37. package/src/client/dist/pwa/assets/{SchedulePanel-BX6iKh6S.js → SchedulePanel-BCiV6rMr.js} +1 -1
  38. package/src/client/dist/pwa/assets/{SearchPage-_In2gH2P.js → SearchPage-of0gPqV4.js} +1 -1
  39. package/src/client/dist/pwa/assets/{SettingsPage-BqkNYzC5.js → SettingsPage-BPg3-Lhb.js} +1 -1
  40. package/src/client/dist/pwa/assets/{SplitWorkspacePage-DRoXbSRP.js → SplitWorkspacePage-BcdPVE9B.js} +1 -1
  41. package/src/client/dist/pwa/assets/{TerminalPanel-CfqiuSuk.js → TerminalPanel-auHWDK9i.js} +1 -1
  42. package/src/client/dist/pwa/assets/ToolCallItem-BQmqNcfF.js +8 -0
  43. package/src/client/dist/pwa/assets/ToolCallItem-DhjdG8vp.css +1 -0
  44. package/src/client/dist/pwa/assets/{TouchPan-DcOCRf7x.js → TouchPan-DKpZbMAf.js} +1 -1
  45. package/src/client/dist/pwa/assets/{TourReplayButton-gp7m6tSV.js → TourReplayButton-uCZpvYlj.js} +1 -1
  46. package/src/client/dist/pwa/assets/{WorkspaceAttentionLabels-IcoMGkJh.js → WorkspaceAttentionLabels-jDKgkf3G.js} +1 -1
  47. package/src/client/dist/pwa/assets/{WorkspacePage-BnW-gp3u.css → WorkspacePage-Ba0jAHhn.css} +1 -1
  48. package/src/client/dist/pwa/assets/WorkspacePage-DQ-jvLEj.js +4 -0
  49. package/src/client/dist/pwa/assets/{browser-BveHkbe-.js → browser-CU7taghA.js} +1 -1
  50. package/src/client/dist/pwa/assets/{build-path-tree-Dtp7rlxS.js → build-path-tree-fw6KlTB4.js} +1 -1
  51. package/src/client/dist/pwa/assets/{custom-sounds-CBoWzJ85.js → custom-sounds-Dfi-grUv.js} +1 -1
  52. package/src/client/dist/pwa/assets/{de-BJsWkZro.js → de-C_20Oxyv.js} +2 -2
  53. package/src/client/dist/pwa/assets/{editor.api-CbkPxoJf.js → editor.api-CBaHnF7Q.js} +1 -1
  54. package/src/client/dist/pwa/assets/{efforts-BCli1Unj.js → efforts-CNJXztO0.js} +1 -1
  55. package/src/client/dist/pwa/assets/{es-tNYw7itB.js → es-B3_j4CWr.js} +2 -2
  56. package/src/client/dist/pwa/assets/{expand-template-CfaEhb2f.js → expand-template-BtpC0GKE.js} +1 -1
  57. package/src/client/dist/pwa/assets/{format-BRl2DUlm.js → format-MtzcnR3z.js} +1 -1
  58. package/src/client/dist/pwa/assets/{formatters-C5TjPSR_.js → formatters-BZm4POkA.js} +1 -1
  59. package/src/client/dist/pwa/assets/{fr-B5sFski4.js → fr-DbPOG-xd.js} +2 -2
  60. package/src/client/dist/pwa/assets/{freemarker2-CDmvOQyn.js → freemarker2-BtVwKuc0.js} +1 -1
  61. package/src/client/dist/pwa/assets/{handlebars-Bx_w8mx1.js → handlebars-Bhl5yJrV.js} +1 -1
  62. package/src/client/dist/pwa/assets/{html-DVRfiRkS.js → html-DKXLlkkM.js} +1 -1
  63. package/src/client/dist/pwa/assets/i18n-B9eF3pgw.js +1 -0
  64. package/src/client/dist/pwa/assets/{i18n-D21JKsVt.js → i18n-CPFleoLe.js} +4 -4
  65. package/src/client/dist/pwa/assets/{index-C7vFf6p2.js → index-BVJWwOvK.js} +2 -2
  66. package/src/client/dist/pwa/assets/{it-Bc2FncM9.js → it--6niM3qU.js} +2 -2
  67. package/src/client/dist/pwa/assets/{javascript-CPvttU5J.js → javascript-Cdfy_faM.js} +1 -1
  68. package/src/client/dist/pwa/assets/{latest-request-CN4-B22z.js → latest-request-7rgsEfKZ.js} +1 -1
  69. package/src/client/dist/pwa/assets/{liquid-CI0gQddb.js → liquid-0NoEATfB.js} +1 -1
  70. package/src/client/dist/pwa/assets/{mdx-BveBwYJH.js → mdx-hvP0EAwa.js} +1 -1
  71. package/src/client/dist/pwa/assets/{monaco-contributions-CHXFh4P2.js → monaco-contributions-Be_o6s3m.js} +1 -1
  72. package/src/client/dist/pwa/assets/{monaco.contribution-DOK8t_9B.js → monaco.contribution-DRQLCBp8.js} +2 -2
  73. package/src/client/dist/pwa/assets/{network-auth-CItnNZDh.js → network-auth-DVXmkvPH.js} +1 -1
  74. package/src/client/dist/pwa/assets/{notify-theme-BO6r1Rd7.js → notify-theme-I_sWGwy6.js} +1 -1
  75. package/src/client/dist/pwa/assets/{permissionModes-Cc5VaOdC.js → permissionModes-BDi77lhg.js} +1 -1
  76. package/src/client/dist/pwa/assets/preload-helper-DjzSQ1t3.js +1 -0
  77. package/src/client/dist/pwa/assets/{project-color-Bnv02P9D.js → project-color-i2bg2TfP.js} +1 -1
  78. package/src/client/dist/pwa/assets/{python-BesLCxpi.js → python-Bz-bbYMw.js} +1 -1
  79. package/src/client/dist/pwa/assets/{razor-Dv1PMxuY.js → razor-CyafkF-1.js} +1 -1
  80. package/src/client/dist/pwa/assets/{typescript-26L2Xsu9.js → typescript-BSLweq4l.js} +1 -1
  81. package/src/client/dist/pwa/assets/{use-checkbox-BLeif5-t.js → use-checkbox-BAt9fjK-.js} +1 -1
  82. package/src/client/dist/pwa/assets/{use-search-index-status-Mv3pIO6p.js → use-search-index-status-BzsGSHGh.js} +1 -1
  83. package/src/client/dist/pwa/assets/{use-tours-B5uIqxRS.js → use-tours-CM4E53aB.js} +1 -1
  84. package/src/client/dist/pwa/assets/use-worktree-restore-C__ResAR.js +1 -0
  85. package/src/client/dist/pwa/assets/{workspace-templates-CDY-MiH2.js → workspace-templates-TOa0yVyr.js} +1 -1
  86. package/src/client/dist/pwa/assets/{xml-CkRojTcc.js → xml-DOY7F605.js} +1 -1
  87. package/src/client/dist/pwa/assets/{yaml-DKkQHwew.js → yaml-CnWF0ZRJ.js} +1 -1
  88. package/src/client/dist/pwa/index.html +5 -5
  89. package/src/client/dist/pwa/sw.js +1 -1
  90. package/src/mcp-server/kobo-tasks-handlers.ts +24 -9
  91. package/src/mcp-server/kobo-tasks-server.ts +14 -2
  92. package/src/client/dist/pwa/assets/ActivityFeed-B4lTKMVE.css +0 -1
  93. package/src/client/dist/pwa/assets/ActivityFeed-DXWXioW9.js +0 -8
  94. package/src/client/dist/pwa/assets/CreatePage-CMyl2j8Z.css +0 -1
  95. package/src/client/dist/pwa/assets/CreatePage-d43ITOC1.js +0 -2
  96. package/src/client/dist/pwa/assets/DocumentsPanel-C9JXyqHg.js +0 -1
  97. package/src/client/dist/pwa/assets/GitPanel-Cgz9crLN.js +0 -3
  98. package/src/client/dist/pwa/assets/MainLayout-DTTtj9sq.js +0 -2
  99. package/src/client/dist/pwa/assets/MainLayout-knNNtkre.css +0 -1
  100. package/src/client/dist/pwa/assets/WorkspacePage-CR2xAzW_.js +0 -4
  101. package/src/client/dist/pwa/assets/documents-sb2sQ4JC.js +0 -1
  102. package/src/client/dist/pwa/assets/i18n-Bm-L4nW3.js +0 -1
  103. package/src/client/dist/pwa/assets/pending-diff-open-DpS4iyDM.js +0 -1
  104. package/src/client/dist/pwa/assets/preload-helper-BZ1Pz5am.js +0 -1
  105. package/src/client/dist/pwa/assets/use-worktree-restore-BBChALUM.js +0 -1
@@ -1 +1 @@
1
- import{S as e,v as t}from"./reactivity.esm-bundler-tuEvQ47f.js";import{C as n,J as r,N as i,O as a,P as o,R as s,T as c,b as l,j as u,k as d,l as f}from"./runtime-core.esm-bundler-DOiZcasU.js";import{T as p,W as ee,Y as te,b as ne,ct as m,l as re,nt as h,tt as g}from"./QBtn-b_baQtAt.js";import{m as _,p as ie}from"./latest-request-CN4-B22z.js";import{Rt as ae,Vt as v,l as oe}from"./index-C7vFf6p2.js";import{c as se,l as y}from"./QSelect-DBW_TZri.js";import{t as ce}from"./use-slide-transition-C5eDGOmu.js";var b=[`none`,`strict`,`leaf`,`leaf-filtered`],le=Symbol(`QTree`),ue={display:`none`},de=h({name:`QTreeNode`,props:{node:{type:Object,required:!0}},setup(e){let t=c(le),n=t.useCollapsible(e);return()=>t.renderNode(e.node,n)}});function x(e){let n=new Map,i=new Set(e());return r(e,e=>{let t=new Set(e);i.forEach(e=>{if(!t.has(e)){let t=n.get(e);t!==void 0&&(t.value=!1)}}),t.forEach(e=>{if(!i.has(e)){let t=n.get(e);t!==void 0&&(t.value=!0)}}),i=t},{flush:`sync`}),{has(e){let r=n.get(e);return r===void 0&&(r=t(i.has(e)),n.set(e,r)),r.value},prune(e){n.forEach((t,r)=>{e.has(r)||n.delete(r)})}}}function fe(e,t){if(e.depth===0)return[];let r=e.lines.map(e=>n(`div`,{class:`q-tree__vguide`+(e?` q-tree__vguide--line`:``)}));return r.push(n(`div`,{class:`q-tree__vguide`+(t?` q-tree__vguide--connector`:``)+(e.cont?` q-tree__vguide--line`:``)})),r}function pe(e){if(e.icon!==void 0)return n(re,{class:`q-tree__icon q-mr-sm`,name:e.icon,color:e.iconColor});let t=e.img||e.avatar;if(t)return n(`img`,{class:`q-tree__${e.img?`img`:`avatar`} q-mr-sm`,src:t})}var S=h({name:`QTree`,props:{..._,nodes:{type:Array,required:!0},nodeKey:{type:String,required:!0},labelKey:{type:String,default:`label`},childrenKey:{type:String,default:`children`},dense:Boolean,color:String,controlColor:String,textColor:String,selectedColor:String,icon:String,tickStrategy:{type:String,default:`none`,validator:e=>b.includes(e)},ticked:Array,expanded:Array,selected:{},noSelectionUnset:Boolean,defaultExpandAll:Boolean,accordion:Boolean,filter:String,filterMethod:Function,duration:{type:Number,default:300},noConnectors:Boolean,noTransition:Boolean,virtualScroll:Boolean,virtualScrollTarget:v,virtualScrollItemSize:y.virtualScrollItemSize.type,virtualScrollSliceSize:y.virtualScrollSliceSize,virtualScrollSliceRatioBefore:y.virtualScrollSliceRatioBefore,virtualScrollSliceRatioAfter:y.virtualScrollSliceRatioAfter,virtualScrollStickySizeStart:y.virtualScrollStickySizeStart,virtualScrollStickySizeEnd:y.virtualScrollStickySizeEnd,onVirtualScroll:Function,noNodesLabel:String,noResultsLabel:String},emits:[`update:expanded`,`update:ticked`,`update:selected`,`lazyLoad`,`afterShow`,`afterHide`],setup(c,{slots:h,emit:_}){let{proxy:v}=l(),y=ne(),b=ie(c,y),S=t({}),C=t(c.ticked||[]),w=t(c.expanded||[]),T=f(()=>new Set(w.value)),E=null,D=null,O=new Set,k={},A={},me=f(()=>`q-tree q-tree--${c.dense?`dense`:`standard`}`+(c.noConnectors?` q-tree--no-connectors`:``)+(b()?` q-tree--dark`:``)+(c.color===void 0?``:` text-${c.color}`)),j=t(c.selected!==void 0);r(()=>c.selected!==void 0,e=>{j.value=e},{flush:`sync`});let he=f(()=>c.icon||y.iconSet.tree.icon),ge=f(()=>c.controlColor||c.color),M=f(()=>c.textColor===void 0?``:` text-${c.textColor}`),_e=f(()=>{let e=c.selectedColor||c.color;return e?` text-${e}`:``}),ve=f(()=>c.filterMethod===void 0?(e,t)=>{let n=t.toLowerCase();return e[c.labelKey]&&e[c.labelKey].toLowerCase().includes(n)}:c.filterMethod),N=f(()=>{let e=new Map,t=[],n=(t,r,i)=>{let a=t.tickStrategy||(i===null?c.tickStrategy:i.tickStrategy),o=t[c.nodeKey],s=t[c.childrenKey],l=Array.isArray(s)&&s.length!==0,u=a===`strict`,d=t.lazy;d===!0&&S.value[o]!==void 0&&Array.isArray(s)&&(d=S.value[o]);let f={key:o,node:t,parentKey:r,childKeys:[],isParent:l,lazy:d,disabled:t.disabled,expandable:!t.disabled&&t.expandable!==!1,selectableBase:t.selectable!==!1,tickableBase:!t.disabled&&t.tickable!==!1,noTickBase:t.noTick===!0||!u&&d&&d!==`loaded`,tickStrategy:a,hasTicking:a!==`none`,strictTicking:u,leafFilteredTicking:a===`leaf-filtered`,leafTicking:a===`leaf`||a===`leaf-filtered`};return e.set(o,f),l&&s.forEach(e=>{f.childKeys.push(n(e,o,f).key)}),f};return c.nodes.forEach(e=>{t.push(n(e,null,null).key)}),{map:e,rootKeys:t}}),P=f(()=>{if(!c.filter)return null;let e=new Set,t=new Set,n=r=>{let i=r[c.nodeKey],a=!!ve.value(r,c.filter);return a&&e.add(i),Array.isArray(r[c.childrenKey])&&r[c.childrenKey].forEach(e=>{n(e)&&(a=!0)}),a&&t.add(i),a};return c.nodes.forEach(n),{own:e,visible:t}});function ye(e){let t=P.value;return t===null||t.visible.has(e)}let F=new Map,I=new Map,L=new Map,R=new Map,be=x(()=>C.value),xe=x(()=>w.value),Se=x(()=>c.selected!==void 0&&c.selected!==null?[c.selected]:[]);function Ce(e){let t=F.get(e);return t===void 0&&(t=f(()=>{let t=N.value.map.get(e);return t===void 0||!t.tickableBase?!1:!t.leafTicking||t.parentKey===null||Ce(t.parentKey).value}),F.set(e,t)),t}function z(e){let t=I.get(e);if(t===void 0){let n;t=f(()=>{let t=N.value.map.get(e);if(t===void 0){n=void 0;return}let r=t.noTickBase,i=Ce(e).value,a=t.strictTicking||!t.isParent?be.has(e):!1,o,s;if(t.isParent){let n=t.childKeys.map(e=>z(e).value),c=P.value,l=c===null||c.visible.has(e);if(c!==null&&c.own.has(e)&&r!==!0&&t.disabled!==!0&&i&&t.leafFilteredTicking&&t.childKeys.every((e,t)=>!c.visible.has(e)||n[t].noTick===!0||!n[t].tickable)&&(i=!1),l&&(r!==!0&&!t.strictTicking&&n.every(e=>e.noTick)&&(r=!0),t.leafTicking)){if(a=!1,o=n.some(e=>e.indeterminate===!0),i&&=n.some(e=>e.tickable),!o){let e=n.reduce((e,t)=>t.ticked?e+1:e,0);e===n.length?a=!0:e>0&&(o=!0)}o&&(s=n.every(e=>!e.tickable||!e.ticked))}}return n!==void 0&&n.noTick===r&&n.tickable===i&&n.ticked===a&&n.indeterminate===o&&n.indeterminateNextState===s||(n={noTick:r,tickable:i,ticked:a,indeterminate:o,indeterminateNextState:s}),n}),I.set(e,t)}return t}function B(e){let t=L.get(e);if(t===void 0){let n,r,i;t=f(()=>{let t=N.value.map.get(e);if(t===void 0){n=r=i=void 0;return}let a=z(e).value,o=P.value,s=!t.disabled&&j.value&&t.selectableBase,c=!t.disabled&&(s||t.expandable&&(t.isParent||t.lazy===!0)),l=o===null||o.visible.has(e),u=Se.has(e)&&s,d=t.isParent?xe.has(e):!1,f=t.isParent&&(o===null||t.childKeys.some(e=>o.visible.has(e)));return n!==void 0&&r===t&&i===a&&n.link===c&&n.matchesFilter===l&&n.selected===u&&n.selectable===s&&n.expanded===d&&n.hasVisibleChildren===f?n:(r=t,i=a,n={key:e,isParent:t.isParent,lazy:t.lazy,disabled:t.disabled,link:c,matchesFilter:l,selected:u,selectable:s,expanded:d,expandable:t.expandable,noTick:a.noTick,tickable:a.tickable,tickStrategy:t.tickStrategy,hasTicking:t.hasTicking,strictTicking:t.strictTicking,leafFilteredTicking:t.leafFilteredTicking,leafTicking:t.leafTicking,ticked:a.ticked,indeterminate:a.indeterminate,indeterminateNextState:a.indeterminateNextState,hasVisibleChildren:f},n)}),L.set(e,t)}return t}function V(e){return B(e).value}function we(e){let t=R.get(e);return t===void 0&&(t=f(()=>ye(e)),R.set(e,t)),t}r(N,({map:e})=>{let t=t=>{t.forEach((n,r)=>{e.has(r)||t.delete(r)})};t(F),t(I),t(L),t(R),be.prune(e),xe.prune(e),Se.prune(e),O.forEach(t=>{e.has(t)||O.delete(t)})},{flush:`post`});let H=f(()=>{let e=[],{map:t,rootKeys:n}=N.value,r=P.value,i=T.value,a=(n,o,s,c)=>{let l=r===null?n:n.filter(e=>r.visible.has(e)),u=l.length-1;l.forEach((n,r)=>{let l=t.get(n),d=r<u;e.push({key:n,node:l.node,depth:o,lines:s,cont:d,posinset:r+1,setsize:u+1,parentDisabled:c}),l.isParent&&i.has(n)&&a(l.childKeys,o+1,o===0?s:[...s,d],c||l.disabled===!0)})};return a(n,0,[],!1),e}),Te=f(()=>c.virtualScroll?H.value.length:0),Ee=f(()=>c.virtualScrollItemSize===void 0?c.dense?23:35:c.virtualScrollItemSize),U=e(null),W;function De(){return U.value}function Oe(){return W}let{virtualScrollSliceRange:ke,localResetVirtualScroll:G,padVirtualScroll:Ae,onVirtualScrollEvt:je,scrollTo:Me}=se({virtualScrollLength:Te,getVirtualScrollTarget:Oe,getVirtualScrollEl:De,virtualScrollItemSizeComputed:Ee});function K(){c.virtualScroll&&U.value!==null&&(W=ae(U.value,c.virtualScrollTarget),W.addEventListener(`scroll`,je,te.passive))}function q(){W!==void 0&&(W.removeEventListener(`scroll`,je,te.passive),W=void 0)}r(Te,()=>{c.virtualScroll&&G()}),r(()=>c.virtualScroll,e=>{q(),e&&(G(),a(K))}),r(()=>c.virtualScrollTarget,()=>{q(),K()}),o(K),d(K),i(q),u(q);let Ne=f(()=>{let e=[],{map:t,rootKeys:n}=N.value,r=P.value,i=n=>{if(r!==null&&!r.visible.has(n))return;e.push(n);let a=t.get(n);a.isParent&&T.value.has(n)&&a.childKeys.forEach(i)};return n.forEach(i),e});function Pe(){let e=Ne.value;return E!==null&&e.includes(E)?E:c.selected!==void 0&&c.selected!==null&&e.includes(c.selected)&&V(c.selected)?.selected===!0?c.selected:e[0]}function J(e){e!==D&&(D!=null&&A[D]?.setAttribute(`tabindex`,-1),A[e]?.setAttribute(`tabindex`,0),D=e)}r(()=>c.ticked,e=>{C.value=e}),r(()=>c.expanded,e=>{w.value=e});function Fe(e){let t=(n,r)=>{if(n||!r)return n;if(Array.isArray(r))return r.reduce(t,n);if(r[c.nodeKey]===e)return r;if(r[c.childrenKey])return t(null,r[c.childrenKey])};return t(null,c.nodes)}function Ie(e){let{map:t}=N.value,n=t.get(e);return n!==void 0&&n.parentKey!==null?t.get(n.parentKey).node:void 0}function Le(e){let{map:t}=N.value;return e.map(e=>t.get(e)?.node)}function Re(){return Le(C.value)}function ze(){let e=[];return N.value.map.forEach((t,n)=>{t.isParent&&t.leafTicking&&z(n).value.indeterminate===!0&&e.push(t.node)}),e}function Be(){return Le(w.value)}function Ve(e){return e?V(e)?.expanded===!0:!1}function He(){c.expanded===void 0?w.value=[]:_(`update:expanded`,[])}function Ue(){let e=[],t=n=>{n[c.childrenKey]&&n[c.childrenKey].length!==0&&n.expandable!==!1&&n.disabled!==!0&&(e.push(n[c.nodeKey]),n[c.childrenKey].forEach(t))};c.nodes.forEach(t),c.expanded===void 0?w.value=e:_(`update:expanded`,e)}function Y(e,t,n=Fe(e),r=V(e)){if(r.disabled!==!0){if(r.lazy&&r.lazy!==`loaded`){if(r.lazy===`loading`)return;S.value[e]=`loading`,Array.isArray(n[c.childrenKey])||(n[c.childrenKey]=[]),_(`lazyLoad`,{node:n,key:e,done:t=>{S.value[e]=`loaded`,n[c.childrenKey]=Array.isArray(t)?t:[],a(()=>{V(e)?.isParent===!0&&We(e,!0)})},fail:()=>{delete S.value[e],n[c.childrenKey].length===0&&delete n[c.childrenKey]}})}else r.isParent&&r.expandable&&We(e,t)}}function We(e,t){let n=w.value,r=c.expanded!==void 0;if(r&&(n=[...n]),t){let t=c.accordion?N.value.map.get(e):void 0;if(t!==void 0){let{map:r}=N.value,i=[];t.parentKey===null?N.value.rootKeys.forEach(t=>{t!==e&&i.push(t)}):r.get(t.parentKey).childKeys.forEach(t=>{t!==e&&r.get(t).expandable&&i.push(t)}),i.length!==0&&(n=n.filter(e=>!i.includes(e)))}n=[...n,e].filter((e,t,n)=>n.indexOf(e)===t)}else n=n.filter(t=>t!==e);r?_(`update:expanded`,n):w.value=n}function Ge(e){return e?V(e)?.ticked===!0:!1}function Ke(e){return e?V(e)?.indeterminate===!0:!1}function qe(e){let t=e?V(e):void 0;return t===void 0?!1:t.indeterminate===!0?null:t.ticked}function X(e,t){let n=C.value,r=c.ticked!==void 0;r&&(n=[...n]),n=t?[...n,...e].filter((e,t,n)=>n.indexOf(e)===t):n.filter(t=>!e.includes(t)),r?_(`update:ticked`,n):C.value=n}function Je(e,t,n){let r={tree:v,node:e,key:n,color:c.color,dark:b()};return m(r,`expanded`,()=>t.expanded,e=>{e!==t.expanded&&Y(n,e)}),m(r,`ticked`,()=>t.ticked,e=>{e!==t.ticked&&X([n],e)}),m(r,`indeterminate`,()=>t.indeterminate===!0),r}function Ye(e){return(c.filter?e.filter(e=>we(e[c.nodeKey]).value):e).map(e=>n(de,{key:e[c.nodeKey],node:e}))}function Xe(e){_(e===`show`?`afterShow`:`afterHide`)}function Ze(n){let i=e(null),o=f(()=>B(n.node[c.nodeKey]).value?.expanded===!0),s=t(!o.value),{onEnter:l,onLeave:u}=ce(()=>c.duration,Xe);function d(){s.value=!0}function p(){i.value!==null&&l(i.value)}return r(o,e=>{c.noTransition?s.value=!e:e?s.value?(s.value=!1,a(p)):p():i.value===null?d():u(i.value,d)}),{elRef:i,hidden:s}}function Qe(e,t,r,i,a,o,s){return n(`div`,{class:`q-tree__node-header relative-position row no-wrap items-center q-focusable`+(t.link?` q-tree__node--link q-hoverable`:``)+(t.selected?` q-tree__node--selected`:``)+(t.disabled===!0?` q-tree__node--disabled`:``),ref:e=>{e===null?delete A[r]:A[r]=e},tabindex:r===D?0:-1,"aria-expanded":i?t.expanded?`true`:`false`:null,"aria-selected":t.selectable?t.selected?`true`:`false`:null,"aria-checked":t.hasTicking&&t.noTick!==!0?t.indeterminate===!0?`mixed`:t.ticked?`true`:`false`:null,"aria-disabled":t.disabled===!0?`true`:null,role:`treeitem`,...s,onFocus(){E=r,J(r)},onClick:t=>{at(e,r,t)},onKeydown(n){n.target===n.currentTarget&&ee(n)!==!0&&(n.keyCode===13?at(e,r,n,!0):n.keyCode===32?t.hasTicking&&t.noTick!==!0&&t.tickable?(g(n),ot(r,!t.ticked)):$(e,r,n,!0):it(r,n.keyCode)&&g(n))}},[n(`div`,{class:`q-focus-helper`,tabindex:-1,ref:e=>{e===null?delete k[r]:k[r]=e}}),t.lazy===`loading`?n(p,{class:`q-tree__spinner`,color:ge.value}):i?n(re,{class:`q-tree__arrow`+(t.expanded?` q-tree__arrow--rotate`:``),name:he.value,onClick(t){$(e,r,t)}}):null,t.hasTicking&&t.noTick!==!0?n(oe,{class:`q-tree__tickbox`,modelValue:t.indeterminate===!0?null:t.ticked,color:ge.value,dark:b(),dense:!0,keepColor:!0,disable:!t.tickable,tabindex:-1,"aria-hidden":`true`,onMousedown(e){e.preventDefault(),E=r,J(r),Z(r)},"onUpdate:modelValue":e=>{ot(r,e)}}):null,n(`div`,{class:`q-tree__node-header-content col row no-wrap items-center`+(t.selected?_e.value:M.value)},[o?o(a):[pe(e),n(`div`,e[c.labelKey])]])])}function $e(e,t){let r=e[c.nodeKey],i=B(r).value,a=e.header&&h[`header-${e.header}`]||h[`default-header`];if(i===void 0)return null;i.expanded&&O.add(r);let o=i.expanded||c.noTransition!==!0&&O.has(r),s=i.isParent&&o?Ye(e[c.childrenKey]):[],l=i.hasVisibleChildren||i.lazy&&i.lazy!==`loaded`,u=e.body&&h[`body-${e.body}`]||h[`default-body`],d=a!==void 0||u!==void 0?Je(e,i,r):null;return u!==void 0&&(u=n(`div`,{class:`q-tree__node-body relative-position`},[n(`div`,{class:M.value},[u(d)])])),n(`div`,{key:r,class:`q-tree__node relative-position q-tree__node--${l?`parent`:`child`}`},[Qe(e,i,r,l,d,a),l?c.noTransition?i.expanded?n(`div`,{class:`q-tree__node-collapsible`+M.value,key:`${r}__q`},[u,n(`div`,{class:`q-tree__children`+(i.disabled===!0?` q-tree__node--disabled`:``),role:`group`},s)]):null:o?n(`div`,{ref:t.elRef,class:`q-tree__node-collapsible`+M.value,style:t.hidden.value?ue:null,key:`${r}__q`},[u,n(`div`,{class:`q-tree__children`+(i.disabled===!0?` q-tree__node--disabled`:``),role:`group`},s)]):null:u])}function et(e){let{key:t,node:r,depth:i}=e,a=B(t).value;if(a===void 0)return null;let o=a.hasVisibleChildren||a.lazy&&a.lazy!==`loaded`,s=r.header&&h[`header-${r.header}`]||h[`default-header`],c=r.body&&h[`body-${r.body}`]||h[`default-body`],l=s!==void 0||c!==void 0?Je(r,a,t):null;return c=c!==void 0&&(!a.isParent||a.expanded)?n(`div`,{class:`q-tree__vnode-body row no-wrap items-stretch`},[...fe(e,!1),n(`div`,{class:`q-tree__node-body relative-position`},[n(`div`,{class:M.value},[c(l)])])]):null,n(`div`,{key:t,class:`q-tree__vnode q-tree__vnode--${o?`parent`:`child`}`+(i===0?` q-tree__vnode--root`:``)+(a.disabled===!0||e.parentDisabled?` q-tree__node--disabled`:``)},[n(`div`,{class:`q-tree__vnode-header row no-wrap items-stretch`},[...fe(e,!0),Qe(r,a,t,o,l,s,{"aria-level":i+1,"aria-setsize":e.setsize,"aria-posinset":e.posinset})]),c])}function tt(){let e=H.value,t;if(e.length===0)t=c.filter?c.noResultsLabel||y.lang.tree.noResults:c.noNodesLabel||y.lang.tree.noNodes;else{let{from:n,to:r}=ke.value,i=e.slice(n,r),a=Pe();i.length!==0&&(a===void 0||!i.some(e=>e.key===a))&&(a=i[0].key),J(a),t=Ae(`div`,i.map(et),{role:`tree`})}return n(`div`,{class:me.value+` q-tree--virtual q-virtual-scroll q-virtual-scroll--vertical`+(c.virtualScrollTarget===void 0?` scroll`:``),ref:U},t)}function nt(e,t){if(c.virtualScroll){let n=H.value.findIndex(t=>t.key===e);n!==-1&&Me(n,t)}}function Z(e){k[e]?.focus({preventScroll:!0})}function Q(e){if(e!==void 0){E=e,J(e);let t=A[e];if(t!==void 0)t.focus();else if(c.virtualScroll){let t=H.value.findIndex(t=>t.key===e);t!==-1&&(Me(t),a(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{A[e]?.focus()})})}))}}}function rt(e){return e.find(ye)}function it(e,t){let n=V(e);if(n===void 0)return!1;let r=Ne.value,i=r.indexOf(e);if(t===36)return Q(r[0]),!0;if(t===35)return Q(r.at(-1)),!0;if(t===38)return Q(r[i-1]),!0;if(t===40)return Q(r[i+1]),!0;if(t===39)return!n.isParent&&!n.lazy||(n.expanded?Q(rt(N.value.map.get(e).childKeys)):Y(e,!0)),!0;if(t===37){if(n.expanded)Y(e,!1);else{let t=N.value.map.get(e).parentKey;Q(t===null?void 0:t)}return!0}return!1}function at(e,t,n,r){let i=V(t);i!==void 0&&i.disabled!==!0&&(E=t,J(t),r!==!0&&i.selectable&&Z(t),j.value&&i.selectable?c.noSelectionUnset?t!==c.selected&&_(`update:selected`,t===void 0?null:t):_(`update:selected`,t===c.selected?null:t):$(e,t,n,r),typeof e.handler==`function`&&e.handler(e))}function $(e,t,n,r){n!==void 0&&g(n);let i=V(t);i!==void 0&&i.disabled!==!0&&(E=t,J(t),r!==!0&&i.selectable&&Z(t),Y(t,!i.expanded,e,i))}function ot(e,t){let n=V(e);if(n!==void 0){if(n.indeterminate===!0&&(t=n.indeterminateNextState),n.strictTicking)X([e],t);else if(n.leafTicking){let n=[],{map:r}=N.value,i=e=>{let a=V(e);a.isParent?(t!==!0&&a.noTick!==!0&&a.tickable&&n.push(e),a.leafTicking&&r.get(e).childKeys.forEach(i)):a.noTick!==!0&&a.tickable&&(!a.leafFilteredTicking||a.matchesFilter)&&n.push(e)};i(e),X(n,t)}}}return c.defaultExpandAll&&Ue(),c.virtualScroll&&G(),s(le,{renderNode:$e,useCollapsible:Ze}),Object.assign(v,{getNodeByKey:Fe,getParentNode:Ie,getTickedNodes:Re,getIndeterminateNodes:ze,getExpandedNodes:Be,isExpanded:Ve,collapseAll:He,expandAll:Ue,setExpanded:Y,isTicked:Ge,isIndeterminate:Ke,getTickState:qe,setTicked:X,scrollTo:nt}),()=>{if(c.virtualScroll)return tt();J(Pe());let e=Ye(c.nodes);return n(`div`,{class:me.value,role:`tree`},e.length===0?c.filter?c.noResultsLabel||y.lang.tree.noResults:c.noNodesLabel||y.lang.tree.noNodes:e)}}});function C(e){let t=[];for(let n of e){let e=n.path.split(`/`).filter(e=>e.length>0);if(e.length===0)continue;let r=t,i=``;for(let t=0;t<e.length-1;t++){let n=e[t];i=i?`${i}/${n}`:n;let a=r.find(e=>e.isFolder&&e.label===n);a||(a={label:n,nodeKey:`dir:${i}`,isFolder:!0,children:[]},r.push(a)),r=a.children}r.push({label:e[e.length-1],nodeKey:`file:${n.path}`,file:n})}function n(e){e.sort((e,t)=>{let n=e.isFolder===!0;return n===(t.isFolder===!0)?e.label.localeCompare(t.label):n?-1:1});for(let t of e)t.children&&n(t.children)}return n(t),t}function w(e){let t=0;for(let n of e)n.file&&t++,n.children&&(t+=w(n.children));return t}function T(e,t=1/0){let n=[],r=(e,i)=>{if(!(i>t))for(let t of e)t.isFolder&&(n.push(t.nodeKey),t.children&&r(t.children,i+1))};return r(e,1),n}export{S as i,T as n,w as r,C as t};
1
+ import{S as e,v as t}from"./reactivity.esm-bundler-tuEvQ47f.js";import{C as n,J as r,N as i,O as a,P as o,R as s,T as c,b as l,j as u,k as d,l as f}from"./runtime-core.esm-bundler-DOiZcasU.js";import{T as p,W as ee,Y as te,b as ne,ct as m,l as re,nt as h,tt as g}from"./QBtn-b_baQtAt.js";import{m as _,p as ie}from"./latest-request-7rgsEfKZ.js";import{Rt as ae,Vt as v,l as oe}from"./index-BVJWwOvK.js";import{c as se,l as y}from"./QSelect-DUuWu79L.js";import{t as ce}from"./use-slide-transition-C5eDGOmu.js";var b=[`none`,`strict`,`leaf`,`leaf-filtered`],le=Symbol(`QTree`),ue={display:`none`},de=h({name:`QTreeNode`,props:{node:{type:Object,required:!0}},setup(e){let t=c(le),n=t.useCollapsible(e);return()=>t.renderNode(e.node,n)}});function x(e){let n=new Map,i=new Set(e());return r(e,e=>{let t=new Set(e);i.forEach(e=>{if(!t.has(e)){let t=n.get(e);t!==void 0&&(t.value=!1)}}),t.forEach(e=>{if(!i.has(e)){let t=n.get(e);t!==void 0&&(t.value=!0)}}),i=t},{flush:`sync`}),{has(e){let r=n.get(e);return r===void 0&&(r=t(i.has(e)),n.set(e,r)),r.value},prune(e){n.forEach((t,r)=>{e.has(r)||n.delete(r)})}}}function fe(e,t){if(e.depth===0)return[];let r=e.lines.map(e=>n(`div`,{class:`q-tree__vguide`+(e?` q-tree__vguide--line`:``)}));return r.push(n(`div`,{class:`q-tree__vguide`+(t?` q-tree__vguide--connector`:``)+(e.cont?` q-tree__vguide--line`:``)})),r}function pe(e){if(e.icon!==void 0)return n(re,{class:`q-tree__icon q-mr-sm`,name:e.icon,color:e.iconColor});let t=e.img||e.avatar;if(t)return n(`img`,{class:`q-tree__${e.img?`img`:`avatar`} q-mr-sm`,src:t})}var S=h({name:`QTree`,props:{..._,nodes:{type:Array,required:!0},nodeKey:{type:String,required:!0},labelKey:{type:String,default:`label`},childrenKey:{type:String,default:`children`},dense:Boolean,color:String,controlColor:String,textColor:String,selectedColor:String,icon:String,tickStrategy:{type:String,default:`none`,validator:e=>b.includes(e)},ticked:Array,expanded:Array,selected:{},noSelectionUnset:Boolean,defaultExpandAll:Boolean,accordion:Boolean,filter:String,filterMethod:Function,duration:{type:Number,default:300},noConnectors:Boolean,noTransition:Boolean,virtualScroll:Boolean,virtualScrollTarget:v,virtualScrollItemSize:y.virtualScrollItemSize.type,virtualScrollSliceSize:y.virtualScrollSliceSize,virtualScrollSliceRatioBefore:y.virtualScrollSliceRatioBefore,virtualScrollSliceRatioAfter:y.virtualScrollSliceRatioAfter,virtualScrollStickySizeStart:y.virtualScrollStickySizeStart,virtualScrollStickySizeEnd:y.virtualScrollStickySizeEnd,onVirtualScroll:Function,noNodesLabel:String,noResultsLabel:String},emits:[`update:expanded`,`update:ticked`,`update:selected`,`lazyLoad`,`afterShow`,`afterHide`],setup(c,{slots:h,emit:_}){let{proxy:v}=l(),y=ne(),b=ie(c,y),S=t({}),C=t(c.ticked||[]),w=t(c.expanded||[]),T=f(()=>new Set(w.value)),E=null,D=null,O=new Set,k={},A={},me=f(()=>`q-tree q-tree--${c.dense?`dense`:`standard`}`+(c.noConnectors?` q-tree--no-connectors`:``)+(b()?` q-tree--dark`:``)+(c.color===void 0?``:` text-${c.color}`)),j=t(c.selected!==void 0);r(()=>c.selected!==void 0,e=>{j.value=e},{flush:`sync`});let he=f(()=>c.icon||y.iconSet.tree.icon),ge=f(()=>c.controlColor||c.color),M=f(()=>c.textColor===void 0?``:` text-${c.textColor}`),_e=f(()=>{let e=c.selectedColor||c.color;return e?` text-${e}`:``}),ve=f(()=>c.filterMethod===void 0?(e,t)=>{let n=t.toLowerCase();return e[c.labelKey]&&e[c.labelKey].toLowerCase().includes(n)}:c.filterMethod),N=f(()=>{let e=new Map,t=[],n=(t,r,i)=>{let a=t.tickStrategy||(i===null?c.tickStrategy:i.tickStrategy),o=t[c.nodeKey],s=t[c.childrenKey],l=Array.isArray(s)&&s.length!==0,u=a===`strict`,d=t.lazy;d===!0&&S.value[o]!==void 0&&Array.isArray(s)&&(d=S.value[o]);let f={key:o,node:t,parentKey:r,childKeys:[],isParent:l,lazy:d,disabled:t.disabled,expandable:!t.disabled&&t.expandable!==!1,selectableBase:t.selectable!==!1,tickableBase:!t.disabled&&t.tickable!==!1,noTickBase:t.noTick===!0||!u&&d&&d!==`loaded`,tickStrategy:a,hasTicking:a!==`none`,strictTicking:u,leafFilteredTicking:a===`leaf-filtered`,leafTicking:a===`leaf`||a===`leaf-filtered`};return e.set(o,f),l&&s.forEach(e=>{f.childKeys.push(n(e,o,f).key)}),f};return c.nodes.forEach(e=>{t.push(n(e,null,null).key)}),{map:e,rootKeys:t}}),P=f(()=>{if(!c.filter)return null;let e=new Set,t=new Set,n=r=>{let i=r[c.nodeKey],a=!!ve.value(r,c.filter);return a&&e.add(i),Array.isArray(r[c.childrenKey])&&r[c.childrenKey].forEach(e=>{n(e)&&(a=!0)}),a&&t.add(i),a};return c.nodes.forEach(n),{own:e,visible:t}});function ye(e){let t=P.value;return t===null||t.visible.has(e)}let F=new Map,I=new Map,L=new Map,R=new Map,be=x(()=>C.value),xe=x(()=>w.value),Se=x(()=>c.selected!==void 0&&c.selected!==null?[c.selected]:[]);function Ce(e){let t=F.get(e);return t===void 0&&(t=f(()=>{let t=N.value.map.get(e);return t===void 0||!t.tickableBase?!1:!t.leafTicking||t.parentKey===null||Ce(t.parentKey).value}),F.set(e,t)),t}function z(e){let t=I.get(e);if(t===void 0){let n;t=f(()=>{let t=N.value.map.get(e);if(t===void 0){n=void 0;return}let r=t.noTickBase,i=Ce(e).value,a=t.strictTicking||!t.isParent?be.has(e):!1,o,s;if(t.isParent){let n=t.childKeys.map(e=>z(e).value),c=P.value,l=c===null||c.visible.has(e);if(c!==null&&c.own.has(e)&&r!==!0&&t.disabled!==!0&&i&&t.leafFilteredTicking&&t.childKeys.every((e,t)=>!c.visible.has(e)||n[t].noTick===!0||!n[t].tickable)&&(i=!1),l&&(r!==!0&&!t.strictTicking&&n.every(e=>e.noTick)&&(r=!0),t.leafTicking)){if(a=!1,o=n.some(e=>e.indeterminate===!0),i&&=n.some(e=>e.tickable),!o){let e=n.reduce((e,t)=>t.ticked?e+1:e,0);e===n.length?a=!0:e>0&&(o=!0)}o&&(s=n.every(e=>!e.tickable||!e.ticked))}}return n!==void 0&&n.noTick===r&&n.tickable===i&&n.ticked===a&&n.indeterminate===o&&n.indeterminateNextState===s||(n={noTick:r,tickable:i,ticked:a,indeterminate:o,indeterminateNextState:s}),n}),I.set(e,t)}return t}function B(e){let t=L.get(e);if(t===void 0){let n,r,i;t=f(()=>{let t=N.value.map.get(e);if(t===void 0){n=r=i=void 0;return}let a=z(e).value,o=P.value,s=!t.disabled&&j.value&&t.selectableBase,c=!t.disabled&&(s||t.expandable&&(t.isParent||t.lazy===!0)),l=o===null||o.visible.has(e),u=Se.has(e)&&s,d=t.isParent?xe.has(e):!1,f=t.isParent&&(o===null||t.childKeys.some(e=>o.visible.has(e)));return n!==void 0&&r===t&&i===a&&n.link===c&&n.matchesFilter===l&&n.selected===u&&n.selectable===s&&n.expanded===d&&n.hasVisibleChildren===f?n:(r=t,i=a,n={key:e,isParent:t.isParent,lazy:t.lazy,disabled:t.disabled,link:c,matchesFilter:l,selected:u,selectable:s,expanded:d,expandable:t.expandable,noTick:a.noTick,tickable:a.tickable,tickStrategy:t.tickStrategy,hasTicking:t.hasTicking,strictTicking:t.strictTicking,leafFilteredTicking:t.leafFilteredTicking,leafTicking:t.leafTicking,ticked:a.ticked,indeterminate:a.indeterminate,indeterminateNextState:a.indeterminateNextState,hasVisibleChildren:f},n)}),L.set(e,t)}return t}function V(e){return B(e).value}function we(e){let t=R.get(e);return t===void 0&&(t=f(()=>ye(e)),R.set(e,t)),t}r(N,({map:e})=>{let t=t=>{t.forEach((n,r)=>{e.has(r)||t.delete(r)})};t(F),t(I),t(L),t(R),be.prune(e),xe.prune(e),Se.prune(e),O.forEach(t=>{e.has(t)||O.delete(t)})},{flush:`post`});let H=f(()=>{let e=[],{map:t,rootKeys:n}=N.value,r=P.value,i=T.value,a=(n,o,s,c)=>{let l=r===null?n:n.filter(e=>r.visible.has(e)),u=l.length-1;l.forEach((n,r)=>{let l=t.get(n),d=r<u;e.push({key:n,node:l.node,depth:o,lines:s,cont:d,posinset:r+1,setsize:u+1,parentDisabled:c}),l.isParent&&i.has(n)&&a(l.childKeys,o+1,o===0?s:[...s,d],c||l.disabled===!0)})};return a(n,0,[],!1),e}),Te=f(()=>c.virtualScroll?H.value.length:0),Ee=f(()=>c.virtualScrollItemSize===void 0?c.dense?23:35:c.virtualScrollItemSize),U=e(null),W;function De(){return U.value}function Oe(){return W}let{virtualScrollSliceRange:ke,localResetVirtualScroll:G,padVirtualScroll:Ae,onVirtualScrollEvt:je,scrollTo:Me}=se({virtualScrollLength:Te,getVirtualScrollTarget:Oe,getVirtualScrollEl:De,virtualScrollItemSizeComputed:Ee});function K(){c.virtualScroll&&U.value!==null&&(W=ae(U.value,c.virtualScrollTarget),W.addEventListener(`scroll`,je,te.passive))}function q(){W!==void 0&&(W.removeEventListener(`scroll`,je,te.passive),W=void 0)}r(Te,()=>{c.virtualScroll&&G()}),r(()=>c.virtualScroll,e=>{q(),e&&(G(),a(K))}),r(()=>c.virtualScrollTarget,()=>{q(),K()}),o(K),d(K),i(q),u(q);let Ne=f(()=>{let e=[],{map:t,rootKeys:n}=N.value,r=P.value,i=n=>{if(r!==null&&!r.visible.has(n))return;e.push(n);let a=t.get(n);a.isParent&&T.value.has(n)&&a.childKeys.forEach(i)};return n.forEach(i),e});function Pe(){let e=Ne.value;return E!==null&&e.includes(E)?E:c.selected!==void 0&&c.selected!==null&&e.includes(c.selected)&&V(c.selected)?.selected===!0?c.selected:e[0]}function J(e){e!==D&&(D!=null&&A[D]?.setAttribute(`tabindex`,-1),A[e]?.setAttribute(`tabindex`,0),D=e)}r(()=>c.ticked,e=>{C.value=e}),r(()=>c.expanded,e=>{w.value=e});function Fe(e){let t=(n,r)=>{if(n||!r)return n;if(Array.isArray(r))return r.reduce(t,n);if(r[c.nodeKey]===e)return r;if(r[c.childrenKey])return t(null,r[c.childrenKey])};return t(null,c.nodes)}function Ie(e){let{map:t}=N.value,n=t.get(e);return n!==void 0&&n.parentKey!==null?t.get(n.parentKey).node:void 0}function Le(e){let{map:t}=N.value;return e.map(e=>t.get(e)?.node)}function Re(){return Le(C.value)}function ze(){let e=[];return N.value.map.forEach((t,n)=>{t.isParent&&t.leafTicking&&z(n).value.indeterminate===!0&&e.push(t.node)}),e}function Be(){return Le(w.value)}function Ve(e){return e?V(e)?.expanded===!0:!1}function He(){c.expanded===void 0?w.value=[]:_(`update:expanded`,[])}function Ue(){let e=[],t=n=>{n[c.childrenKey]&&n[c.childrenKey].length!==0&&n.expandable!==!1&&n.disabled!==!0&&(e.push(n[c.nodeKey]),n[c.childrenKey].forEach(t))};c.nodes.forEach(t),c.expanded===void 0?w.value=e:_(`update:expanded`,e)}function Y(e,t,n=Fe(e),r=V(e)){if(r.disabled!==!0){if(r.lazy&&r.lazy!==`loaded`){if(r.lazy===`loading`)return;S.value[e]=`loading`,Array.isArray(n[c.childrenKey])||(n[c.childrenKey]=[]),_(`lazyLoad`,{node:n,key:e,done:t=>{S.value[e]=`loaded`,n[c.childrenKey]=Array.isArray(t)?t:[],a(()=>{V(e)?.isParent===!0&&We(e,!0)})},fail:()=>{delete S.value[e],n[c.childrenKey].length===0&&delete n[c.childrenKey]}})}else r.isParent&&r.expandable&&We(e,t)}}function We(e,t){let n=w.value,r=c.expanded!==void 0;if(r&&(n=[...n]),t){let t=c.accordion?N.value.map.get(e):void 0;if(t!==void 0){let{map:r}=N.value,i=[];t.parentKey===null?N.value.rootKeys.forEach(t=>{t!==e&&i.push(t)}):r.get(t.parentKey).childKeys.forEach(t=>{t!==e&&r.get(t).expandable&&i.push(t)}),i.length!==0&&(n=n.filter(e=>!i.includes(e)))}n=[...n,e].filter((e,t,n)=>n.indexOf(e)===t)}else n=n.filter(t=>t!==e);r?_(`update:expanded`,n):w.value=n}function Ge(e){return e?V(e)?.ticked===!0:!1}function Ke(e){return e?V(e)?.indeterminate===!0:!1}function qe(e){let t=e?V(e):void 0;return t===void 0?!1:t.indeterminate===!0?null:t.ticked}function X(e,t){let n=C.value,r=c.ticked!==void 0;r&&(n=[...n]),n=t?[...n,...e].filter((e,t,n)=>n.indexOf(e)===t):n.filter(t=>!e.includes(t)),r?_(`update:ticked`,n):C.value=n}function Je(e,t,n){let r={tree:v,node:e,key:n,color:c.color,dark:b()};return m(r,`expanded`,()=>t.expanded,e=>{e!==t.expanded&&Y(n,e)}),m(r,`ticked`,()=>t.ticked,e=>{e!==t.ticked&&X([n],e)}),m(r,`indeterminate`,()=>t.indeterminate===!0),r}function Ye(e){return(c.filter?e.filter(e=>we(e[c.nodeKey]).value):e).map(e=>n(de,{key:e[c.nodeKey],node:e}))}function Xe(e){_(e===`show`?`afterShow`:`afterHide`)}function Ze(n){let i=e(null),o=f(()=>B(n.node[c.nodeKey]).value?.expanded===!0),s=t(!o.value),{onEnter:l,onLeave:u}=ce(()=>c.duration,Xe);function d(){s.value=!0}function p(){i.value!==null&&l(i.value)}return r(o,e=>{c.noTransition?s.value=!e:e?s.value?(s.value=!1,a(p)):p():i.value===null?d():u(i.value,d)}),{elRef:i,hidden:s}}function Qe(e,t,r,i,a,o,s){return n(`div`,{class:`q-tree__node-header relative-position row no-wrap items-center q-focusable`+(t.link?` q-tree__node--link q-hoverable`:``)+(t.selected?` q-tree__node--selected`:``)+(t.disabled===!0?` q-tree__node--disabled`:``),ref:e=>{e===null?delete A[r]:A[r]=e},tabindex:r===D?0:-1,"aria-expanded":i?t.expanded?`true`:`false`:null,"aria-selected":t.selectable?t.selected?`true`:`false`:null,"aria-checked":t.hasTicking&&t.noTick!==!0?t.indeterminate===!0?`mixed`:t.ticked?`true`:`false`:null,"aria-disabled":t.disabled===!0?`true`:null,role:`treeitem`,...s,onFocus(){E=r,J(r)},onClick:t=>{at(e,r,t)},onKeydown(n){n.target===n.currentTarget&&ee(n)!==!0&&(n.keyCode===13?at(e,r,n,!0):n.keyCode===32?t.hasTicking&&t.noTick!==!0&&t.tickable?(g(n),ot(r,!t.ticked)):$(e,r,n,!0):it(r,n.keyCode)&&g(n))}},[n(`div`,{class:`q-focus-helper`,tabindex:-1,ref:e=>{e===null?delete k[r]:k[r]=e}}),t.lazy===`loading`?n(p,{class:`q-tree__spinner`,color:ge.value}):i?n(re,{class:`q-tree__arrow`+(t.expanded?` q-tree__arrow--rotate`:``),name:he.value,onClick(t){$(e,r,t)}}):null,t.hasTicking&&t.noTick!==!0?n(oe,{class:`q-tree__tickbox`,modelValue:t.indeterminate===!0?null:t.ticked,color:ge.value,dark:b(),dense:!0,keepColor:!0,disable:!t.tickable,tabindex:-1,"aria-hidden":`true`,onMousedown(e){e.preventDefault(),E=r,J(r),Z(r)},"onUpdate:modelValue":e=>{ot(r,e)}}):null,n(`div`,{class:`q-tree__node-header-content col row no-wrap items-center`+(t.selected?_e.value:M.value)},[o?o(a):[pe(e),n(`div`,e[c.labelKey])]])])}function $e(e,t){let r=e[c.nodeKey],i=B(r).value,a=e.header&&h[`header-${e.header}`]||h[`default-header`];if(i===void 0)return null;i.expanded&&O.add(r);let o=i.expanded||c.noTransition!==!0&&O.has(r),s=i.isParent&&o?Ye(e[c.childrenKey]):[],l=i.hasVisibleChildren||i.lazy&&i.lazy!==`loaded`,u=e.body&&h[`body-${e.body}`]||h[`default-body`],d=a!==void 0||u!==void 0?Je(e,i,r):null;return u!==void 0&&(u=n(`div`,{class:`q-tree__node-body relative-position`},[n(`div`,{class:M.value},[u(d)])])),n(`div`,{key:r,class:`q-tree__node relative-position q-tree__node--${l?`parent`:`child`}`},[Qe(e,i,r,l,d,a),l?c.noTransition?i.expanded?n(`div`,{class:`q-tree__node-collapsible`+M.value,key:`${r}__q`},[u,n(`div`,{class:`q-tree__children`+(i.disabled===!0?` q-tree__node--disabled`:``),role:`group`},s)]):null:o?n(`div`,{ref:t.elRef,class:`q-tree__node-collapsible`+M.value,style:t.hidden.value?ue:null,key:`${r}__q`},[u,n(`div`,{class:`q-tree__children`+(i.disabled===!0?` q-tree__node--disabled`:``),role:`group`},s)]):null:u])}function et(e){let{key:t,node:r,depth:i}=e,a=B(t).value;if(a===void 0)return null;let o=a.hasVisibleChildren||a.lazy&&a.lazy!==`loaded`,s=r.header&&h[`header-${r.header}`]||h[`default-header`],c=r.body&&h[`body-${r.body}`]||h[`default-body`],l=s!==void 0||c!==void 0?Je(r,a,t):null;return c=c!==void 0&&(!a.isParent||a.expanded)?n(`div`,{class:`q-tree__vnode-body row no-wrap items-stretch`},[...fe(e,!1),n(`div`,{class:`q-tree__node-body relative-position`},[n(`div`,{class:M.value},[c(l)])])]):null,n(`div`,{key:t,class:`q-tree__vnode q-tree__vnode--${o?`parent`:`child`}`+(i===0?` q-tree__vnode--root`:``)+(a.disabled===!0||e.parentDisabled?` q-tree__node--disabled`:``)},[n(`div`,{class:`q-tree__vnode-header row no-wrap items-stretch`},[...fe(e,!0),Qe(r,a,t,o,l,s,{"aria-level":i+1,"aria-setsize":e.setsize,"aria-posinset":e.posinset})]),c])}function tt(){let e=H.value,t;if(e.length===0)t=c.filter?c.noResultsLabel||y.lang.tree.noResults:c.noNodesLabel||y.lang.tree.noNodes;else{let{from:n,to:r}=ke.value,i=e.slice(n,r),a=Pe();i.length!==0&&(a===void 0||!i.some(e=>e.key===a))&&(a=i[0].key),J(a),t=Ae(`div`,i.map(et),{role:`tree`})}return n(`div`,{class:me.value+` q-tree--virtual q-virtual-scroll q-virtual-scroll--vertical`+(c.virtualScrollTarget===void 0?` scroll`:``),ref:U},t)}function nt(e,t){if(c.virtualScroll){let n=H.value.findIndex(t=>t.key===e);n!==-1&&Me(n,t)}}function Z(e){k[e]?.focus({preventScroll:!0})}function Q(e){if(e!==void 0){E=e,J(e);let t=A[e];if(t!==void 0)t.focus();else if(c.virtualScroll){let t=H.value.findIndex(t=>t.key===e);t!==-1&&(Me(t),a(()=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>{A[e]?.focus()})})}))}}}function rt(e){return e.find(ye)}function it(e,t){let n=V(e);if(n===void 0)return!1;let r=Ne.value,i=r.indexOf(e);if(t===36)return Q(r[0]),!0;if(t===35)return Q(r.at(-1)),!0;if(t===38)return Q(r[i-1]),!0;if(t===40)return Q(r[i+1]),!0;if(t===39)return!n.isParent&&!n.lazy||(n.expanded?Q(rt(N.value.map.get(e).childKeys)):Y(e,!0)),!0;if(t===37){if(n.expanded)Y(e,!1);else{let t=N.value.map.get(e).parentKey;Q(t===null?void 0:t)}return!0}return!1}function at(e,t,n,r){let i=V(t);i!==void 0&&i.disabled!==!0&&(E=t,J(t),r!==!0&&i.selectable&&Z(t),j.value&&i.selectable?c.noSelectionUnset?t!==c.selected&&_(`update:selected`,t===void 0?null:t):_(`update:selected`,t===c.selected?null:t):$(e,t,n,r),typeof e.handler==`function`&&e.handler(e))}function $(e,t,n,r){n!==void 0&&g(n);let i=V(t);i!==void 0&&i.disabled!==!0&&(E=t,J(t),r!==!0&&i.selectable&&Z(t),Y(t,!i.expanded,e,i))}function ot(e,t){let n=V(e);if(n!==void 0){if(n.indeterminate===!0&&(t=n.indeterminateNextState),n.strictTicking)X([e],t);else if(n.leafTicking){let n=[],{map:r}=N.value,i=e=>{let a=V(e);a.isParent?(t!==!0&&a.noTick!==!0&&a.tickable&&n.push(e),a.leafTicking&&r.get(e).childKeys.forEach(i)):a.noTick!==!0&&a.tickable&&(!a.leafFilteredTicking||a.matchesFilter)&&n.push(e)};i(e),X(n,t)}}}return c.defaultExpandAll&&Ue(),c.virtualScroll&&G(),s(le,{renderNode:$e,useCollapsible:Ze}),Object.assign(v,{getNodeByKey:Fe,getParentNode:Ie,getTickedNodes:Re,getIndeterminateNodes:ze,getExpandedNodes:Be,isExpanded:Ve,collapseAll:He,expandAll:Ue,setExpanded:Y,isTicked:Ge,isIndeterminate:Ke,getTickState:qe,setTicked:X,scrollTo:nt}),()=>{if(c.virtualScroll)return tt();J(Pe());let e=Ye(c.nodes);return n(`div`,{class:me.value,role:`tree`},e.length===0?c.filter?c.noResultsLabel||y.lang.tree.noResults:c.noNodesLabel||y.lang.tree.noNodes:e)}}});function C(e){let t=[];for(let n of e){let e=n.path.split(`/`).filter(e=>e.length>0);if(e.length===0)continue;let r=t,i=``;for(let t=0;t<e.length-1;t++){let n=e[t];i=i?`${i}/${n}`:n;let a=r.find(e=>e.isFolder&&e.label===n);a||(a={label:n,nodeKey:`dir:${i}`,isFolder:!0,children:[]},r.push(a)),r=a.children}r.push({label:e[e.length-1],nodeKey:`file:${n.path}`,file:n})}function n(e){e.sort((e,t)=>{let n=e.isFolder===!0;return n===(t.isFolder===!0)?e.label.localeCompare(t.label):n?-1:1});for(let t of e)t.children&&n(t.children)}return n(t),t}function w(e){let t=0;for(let n of e)n.file&&t++,n.children&&(t+=w(n.children));return t}function T(e,t=1/0){let n=[],r=(e,i)=>{if(!(i>t))for(let t of e)t.isFolder&&(n.push(t.nodeKey),t.children&&r(t.children,i+1))};return r(e,1),n}export{S as i,T as n,w as r,C as t};
@@ -1 +1 @@
1
- import{dt as e,v as t}from"./reactivity.esm-bundler-tuEvQ47f.js";import{C as n,J as r,L as i,O as a,P as o,T as s,X as c,Y as l,_ as u,b as d,d as f,f as p,g as m,j as h,l as g,p as _,r as ee,u as te,y as v,z as y}from"./runtime-core.esm-bundler-DOiZcasU.js";import{C as b,F as x,L as ne,T as S,b as re,c as C,l as w,nt as T,t as E}from"./QBtn-b_baQtAt.js";import{d as D,i as O,l as k,m as ie,o as A,p as ae,r as j}from"./latest-request-CN4-B22z.js";import{S as M,T as oe,b as se,c as ce,s as le,x as N}from"./use-id-b4A2I8LB.js";import{Gt as ue,J as P,Jt as F,Kt as de,Pt as fe,St as pe,U as I,W as me,Y as L,jt as R}from"./index-C7vFf6p2.js";import{t as z}from"./QList-BVX-b8nc.js";import{i as B}from"./QSelect-DBW_TZri.js";import{n as V,t as H}from"./QItemSection-BrVklYfM.js";import{i as U}from"./use-tours-B5uIqxRS.js";import{t as W}from"./TouchPan-DcOCRf7x.js";import{t as G}from"./ClosePopup-C1a82pL9.js";import{t as K}from"./QBanner-7EWRdc4U.js";var he=150;function ge(e,t){e.value!==t&&(e.value=t)}var q=T({name:`QDrawer`,inheritAttrs:!1,props:{...M,...ie,side:{type:String,default:`left`,validator:e=>[`left`,`right`].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>[`default`,`desktop`,`mobile`].includes(e),default:`default`},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...N,`onLayout`,`miniState`,`escapeKey`,`pan`],setup(e,{slots:i,emit:l,attrs:u}){let f=d(),p=re(),m=ae(e,p),{preventBodyScroll:_}=fe(),{registerTimeout:ee,removeTimeout:te}=oe(),v=s(ne,x);if(v===x)return console.error(`QDrawer needs to be child of QLayout`),x;let y,S=null,C,w=t(e.behavior===`mobile`||e.behavior!==`desktop`&&v.totalWidth.value<=e.breakpoint),T=g(()=>e.mini&&!w.value),E=g(()=>T.value?e.miniWidth:e.width),D=g(()=>e.overlay||e.miniToOverlay||v.view.value.includes(R.value?`R`:`L`)||p.platform.is.ios&&v.isContainer.value),O=t(e.showIfAbove&&!w.value||e.modelValue===!0),k=g(()=>!e.overlay&&O.value&&!w.value),ie=g(()=>e.overlay&&O.value&&!w.value),A=g(()=>!e.persistent&&(w.value||ie.value));function j(e,t){if(F(),e!==!1&&v.animate(),Z(0),w.value){let e=v.instances[K.value];e?.belowBreakpoint.value&&e.hide(!1),Q(1),v.isContainer.value||_(!0)}else Q(0),e!==!1&&Ee(!1);ee(()=>{e!==!1&&Ee(!0),t||l(`show`,e)},he)}function M(e,t){de(),e!==!1&&v.animate(),Q(0),Z(z.value*E.value),Ae(),t?te():ee(()=>{l(`hide`,e)},he)}let{show:N,hide:P}=se({showing:O,hideOnRouteChange:A,handleShow:j,handleHide:M}),{addToHistory:F,removeFromHistory:de}=ue(O,P,A),pe=g(()=>O.value&&A.value);function I(e){l(`escapeKey`),P(e)}function me(e){e?le(I):ce(I)}let L={belowBreakpoint:w,hide:P},R=g(()=>e.side===`right`),z=g(()=>(p.lang.rtl?-1:1)*(R.value?1:-1)),V=t(0),H=t(!1),U=t(!1),G=t(E.value*z.value),K=g(()=>R.value?`left`:`right`),q=g(()=>O.value&&!w.value&&!e.overlay?e.miniToOverlay?e.miniWidth:E.value:0),_e=g(()=>`fullscreen q-drawer__backdrop`+(!O.value&&!H.value?` hidden`:``)),ve=g(()=>({backgroundColor:`rgba(0,0,0,${V.value*.4})`})),J=g(()=>R.value?v.rows.value.top[2]===`r`:v.rows.value.top[0]===`l`),ye=g(()=>R.value?v.rows.value.bottom[2]===`r`:v.rows.value.bottom[0]===`l`),Y=g(()=>{let e={};return v.header.space&&!J.value&&(D.value?e.top=`${v.header.offset}px`:v.header.space&&(e.top=`${v.header.size}px`)),v.footer.space&&!ye.value&&(D.value?e.bottom=`${v.footer.offset}px`:v.footer.space&&(e.bottom=`${v.footer.size}px`)),e}),be=g(()=>{let e={"--q-drawer-width":`${E.value}px`,transform:`translateX(${G.value}px)`};return w.value?e:Object.assign(e,Y.value)}),xe=g(()=>`q-drawer__content fit `+(v.isContainer.value?`overflow-auto`:`scroll`)),Se=g(()=>`q-drawer q-drawer--${e.side}`+(U.value?` q-drawer--mini-animate`:``)+(e.bordered?` q-drawer--bordered`:``)+(m()?` q-drawer--dark q-dark`:``)+(H.value?` no-transition`:O.value?``:` q-layout--prevent-focus`)+(w.value?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${T.value?`mini`:`standard`}`+(D.value||!k.value?` fixed`:``)+(e.overlay||e.miniToOverlay?` q-drawer--on-top`:``)+(J.value?` q-drawer--top-padding`:``))),Ce=g(()=>{let t=p.lang.rtl?e.side:K.value;return[[W,Oe,void 0,{[t]:!0,mouse:!0,prevent:!0}]]}),we=g(()=>{let t=p.lang.rtl?K.value:e.side;return[[W,w.value&&!e.noSwipeClose?ke:void 0,void 0,{[t]:!0,mouse:!0}]]}),Te=g(()=>{let t=p.lang.rtl?K.value:e.side;return[[W,O.value&&!e.noSwipeBackdrop?ke:void 0,void 0,{[t]:!0,mouse:!0,mouseAllDir:!0,prevent:!0}]]});function X(){ge(w,e.behavior===`mobile`||e.behavior!==`desktop`&&v.totalWidth.value<=e.breakpoint)}r(w,t=>{t?(y=O.value,O.value&&P(!1)):O.value?(Z(0),Q(0),Ae()):!e.overlay&&e.behavior!==`mobile`&&y!==!1&&N(!1)}),r(()=>e.side,(e,t)=>{v.instances[t]===L&&(v.instances[t]=void 0,v[t].space=!1,v[t].offset=0),v.instances[e]=L,v[e].size=E.value,v[e].space=k.value,v[e].offset=q.value}),r(v.totalWidth,()=>{(v.isContainer.value||!document.qScrollPrevented)&&X()}),r(()=>e.behavior+e.breakpoint,X),r(v.isContainer,e=>{O.value&&_(!e),e&&X()}),r(v.scrollbarWidth,()=>{Z(O.value?0:void 0)}),r(q,e=>{$(`offset`,e)}),r(k,e=>{l(`onLayout`,e),$(`space`,e)}),r(R,()=>{Z()}),r(E,t=>{Z(),je(e.miniToOverlay,t)}),r(()=>e.miniToOverlay,e=>{je(e,E.value)}),r(()=>p.lang.rtl,()=>{Z()}),r(()=>e.mini,()=>{e.noMiniAnimation||e.modelValue&&(De(),v.animate())}),r(T,e=>{l(`miniState`,e)});function Z(e){e===void 0?a(()=>{e=O.value?0:E.value,Z(z.value*e)}):(v.isContainer.value&&R.value&&(w.value||Math.abs(e)===E.value)&&(e+=z.value*v.scrollbarWidth.value),G.value=e)}function Q(e){V.value=e}function Ee(e){let t=e?`remove`:v.isContainer.value?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function De(){S!==null&&clearTimeout(S),f.proxy&&f.proxy.$el&&f.proxy.$el.classList.add(`q-drawer--mini-animate`),U.value=!0,S=setTimeout(()=>{S=null,U.value=!1,f?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function Oe(e){if(O.value)return;let t=E.value,n=B(e.distance.x,0,t);if(e.isFinal){n>=Math.min(75,t)?(N(),l(`pan`,{type:`open`,stage:`end`})):(v.animate(),Q(0),Z(z.value*t),l(`pan`,{type:`open`,stage:`cancel`})),H.value=!1;return}Z((p.lang.rtl?!R.value:R.value)?Math.max(t-n,0):Math.min(0,n-t)),Q(B(n/t,0,1)),e.isFirst&&(H.value=!0,l(`pan`,{type:`open`,stage:`start`}))}function ke(t){if(!O.value)return;let n=E.value,r=t.direction===e.side,i=(p.lang.rtl?!r:r)?B(t.distance.x,0,n):0;if(t.isFinal){Math.abs(i)<Math.min(75,n)?(v.animate(),Q(1),Z(0),l(`pan`,{type:`close`,stage:`cancel`})):(P(),l(`pan`,{type:`close`,stage:`end`})),H.value=!1;return}Z(z.value*i),Q(B(1-i/n,0,1)),t.isFirst&&(H.value=!0,l(`pan`,{type:`close`,stage:`start`}))}function Ae(){_(!1),Ee(!0)}function $(t,n){v.update(e.side,t,n)}function je(t,n){$(`size`,t?e.miniWidth:n)}return v.instances[e.side]=L,je(e.miniToOverlay,E.value),$(`space`,k.value),$(`offset`,q.value),e.showIfAbove&&!e.modelValue&&O.value&&e[`onUpdate:modelValue`]!==void 0&&l(`update:modelValue`,!0),o(()=>{l(`onLayout`,k.value),l(`miniState`,T.value),r(pe,me,{immediate:!0}),y=e.showIfAbove;let t=()=>{(O.value?j:M)(!1,!0)};if(v.totalWidth.value!==0){a(t);return}C=r(v.totalWidth,()=>{C(),C=void 0,!O.value&&e.showIfAbove&&!w.value?N(!1):t()})}),h(()=>{C?.(),ce(I),S!==null&&(clearTimeout(S),S=null),O.value&&Ae(),v.instances[e.side]===L&&(v.instances[e.side]=void 0,$(`size`,0),$(`offset`,0),$(`space`,!1))}),()=>{let t=[];w.value&&(e.noSwipeOpen||t.push(c(n(`div`,{key:`open`,class:`q-drawer__opener fixed-${e.side}`,"aria-hidden":`true`}),Ce.value)),t.push(c(n(`div`,{ref:`backdrop`,class:_e.value,style:ve.value,"aria-hidden":`true`,onClick:P}),Te.value)));let r={},a={};for(let e in u)e===`role`||e.startsWith(`aria-`)?r[e]=u[e]:a[e]=u[e];let o=T.value&&i.mini!==void 0,s=[n(`div`,{...a,key:String(o),class:[xe.value,u.class]},o?i.mini():b(i.default))];return e.elevated&&O.value&&s.push(n(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),t.push(c(n(`aside`,{ref:`content`,class:Se.value,style:be.value,...r},s),we.value)),n(`div`,{class:`q-drawer-container`},t)}}}),_e={class:`text-h6`},ve=[`title`],J={key:1,class:`row justify-center q-mt-sm`},ye=v({__name:`FolderPickerDialog`,props:{modelValue:{type:Boolean},initialPath:{}},emits:[`update:modelValue`,`select`],setup(n,{emit:a}){let o=n,s=a,d=t(``),h=t(null),g=t([]),v=t(!1),b=t(``);async function x(e){v.value=!0,b.value=``;try{let t=e?`?path=${encodeURIComponent(e)}`:``,n=await A(`/api/fs/list-dirs${t}`),r=await n.json();if(!n.ok){b.value=r?.error??`HTTP ${n.status}`;return}d.value=r.path??``,h.value=r.parent??null,g.value=Array.isArray(r.entries)?r.entries:[]}catch(e){b.value=e instanceof Error?e.message:String(e)}finally{v.value=!1}}function ne(){d.value&&(s(`select`,d.value),s(`update:modelValue`,!1))}return r(()=>o.modelValue,e=>{e&&x(o.initialPath||void 0)}),(t,r)=>(i(),f(R,{"model-value":n.modelValue,"onUpdate:modelValue":r[1]||=e=>t.$emit(`update:modelValue`,e)},{default:l(()=>[u(de,{class:`text-kobo-1`,style:{"min-width":`480px`,"max-width":`90vw`,background:`var(--kobo-surface)`}},{default:l(()=>[u(F,{class:`row items-center q-pb-none`},{default:l(()=>[te(`div`,_e,e(t.$t(`folderPicker.title`)),1),u(U),c(u(E,{flat:``,dense:``,round:``,icon:`close`,color:`kobo-2`},null,512),[[G]])]),_:1}),u(F,null,{default:l(()=>[te(`div`,{class:`text-caption text-kobo-3 ellipsis q-mb-sm`,style:{"font-family":`monospace`},title:d.value},e(d.value||`…`),9,ve),b.value?(i(),f(K,{key:0,dense:``,class:`bg-red-9 text-white q-mb-sm rounded-borders`},{default:l(()=>[m(e(b.value),1)]),_:1})):p(``,!0),u(z,{bordered:``,separator:``,class:`rounded-borders`,style:{"max-height":`320px`,"overflow-y":`auto`}},{default:l(()=>[h.value?c((i(),f(V,{key:0,clickable:``,onClick:r[0]||=e=>x(h.value)},{default:l(()=>[u(H,{avatar:``},{default:l(()=>[u(w,{name:`arrow_upward`,color:`kobo-2`})]),_:1}),u(H,null,{default:l(()=>[m(e(t.$t(`folderPicker.parent`)),1)]),_:1})]),_:1})),[[C]]):p(``,!0),(i(!0),_(ee,null,y(g.value,t=>c((i(),f(V,{key:t.path,clickable:``,onClick:e=>x(t.path)},{default:l(()=>[u(H,{avatar:``},{default:l(()=>[u(w,{name:`folder`,color:`amber-6`})]),_:1}),u(H,null,{default:l(()=>[m(e(t.name),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[C]])),128)),!v.value&&g.value.length===0?(i(),f(V,{key:1},{default:l(()=>[u(H,{class:`text-kobo-3`},{default:l(()=>[m(e(t.$t(`folderPicker.empty`)),1)]),_:1})]),_:1})):p(``,!0)]),_:1}),v.value?(i(),_(`div`,J,[u(S,{size:`20px`,color:`kobo-2`})])):p(``,!0)]),_:1}),u(pe,{align:`right`},{default:l(()=>[c(u(E,{flat:``,label:t.$t(`common.cancel`),color:`kobo-2`},null,8,[`label`]),[[G]]),u(E,{flat:``,label:t.$t(`folderPicker.select`),color:`primary`,disable:!d.value||v.value,onClick:ne},null,8,[`label`,`disable`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),Y=new Map;function be(e){let t=Y.get(e);t&&URL.revokeObjectURL(t),Y.delete(e)}async function xe(e){if(!Y.has(e))try{let t=await A(I(e));if(!t.ok)throw await k(t);let n=URL.createObjectURL(await t.blob());if(Y.has(e)||!me(e)){URL.revokeObjectURL(n);return}Y.set(e,n),P(e,n)}catch(e){console.error(`[custom-sounds store] preload failed:`,e)}}var Se=D(`customSounds`,{state:()=>({sounds:[],loaded:!1,busy:!1}),getters:{options:e=>e.sounds.map(e=>({label:e.name,value:e.reference}))},actions:{apply(e){this.sounds=e,L(e.map(e=>e.reference));for(let t of Y.keys())e.some(e=>e.reference===t)||be(t);for(let t of e)xe(t.reference)},async fetchSounds(){if(!this.busy){this.busy=!0;try{this.apply((await O(`/api/sounds`)).sounds),this.loaded=!0}catch(e){console.error(`[custom-sounds store] fetchSounds failed:`,e)}finally{this.busy=!1}}},async uploadSound(e){let t=new FormData;t.append(`sound`,e),this.busy=!0;try{let e=await O(`/api/sounds`,{method:`POST`,body:t});return this.apply([...this.sounds,e]),e}finally{this.busy=!1}},async removeSound(e){this.busy=!0;try{await O(`/api/sounds/${encodeURIComponent(e)}`,{method:`DELETE`})}catch(e){if(!(e instanceof j)||e.status!==404)throw e}finally{this.busy=!1}this.apply(this.sounds.filter(t=>t.id!==e))}}});export{ye as n,q as r,Se as t};
1
+ import{dt as e,v as t}from"./reactivity.esm-bundler-tuEvQ47f.js";import{C as n,J as r,L as i,O as a,P as o,T as s,X as c,Y as l,_ as u,b as d,d as f,f as p,g as m,j as h,l as g,p as _,r as ee,u as te,y as v,z as y}from"./runtime-core.esm-bundler-DOiZcasU.js";import{C as b,F as x,L as ne,T as S,b as re,c as C,l as w,nt as T,t as E}from"./QBtn-b_baQtAt.js";import{d as D,i as O,l as k,m as ie,o as A,p as ae,r as j}from"./latest-request-7rgsEfKZ.js";import{S as M,T as oe,b as se,c as ce,s as le,x as N}from"./use-id-b4A2I8LB.js";import{Gt as ue,J as P,Jt as F,Kt as de,Pt as fe,St as pe,U as I,W as me,Y as L,jt as R}from"./index-BVJWwOvK.js";import{t as z}from"./QList-Cw2xs69W.js";import{i as B}from"./QSelect-DUuWu79L.js";import{n as V,t as H}from"./QItemSection-BhGnulVQ.js";import{i as U}from"./use-tours-CM4E53aB.js";import{t as W}from"./TouchPan-DKpZbMAf.js";import{t as G}from"./ClosePopup-C1a82pL9.js";import{t as K}from"./QBanner-CtppfNDn.js";var he=150;function ge(e,t){e.value!==t&&(e.value=t)}var q=T({name:`QDrawer`,inheritAttrs:!1,props:{...M,...ie,side:{type:String,default:`left`,validator:e=>[`left`,`right`].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>[`default`,`desktop`,`mobile`].includes(e),default:`default`},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...N,`onLayout`,`miniState`,`escapeKey`,`pan`],setup(e,{slots:i,emit:l,attrs:u}){let f=d(),p=re(),m=ae(e,p),{preventBodyScroll:_}=fe(),{registerTimeout:ee,removeTimeout:te}=oe(),v=s(ne,x);if(v===x)return console.error(`QDrawer needs to be child of QLayout`),x;let y,S=null,C,w=t(e.behavior===`mobile`||e.behavior!==`desktop`&&v.totalWidth.value<=e.breakpoint),T=g(()=>e.mini&&!w.value),E=g(()=>T.value?e.miniWidth:e.width),D=g(()=>e.overlay||e.miniToOverlay||v.view.value.includes(R.value?`R`:`L`)||p.platform.is.ios&&v.isContainer.value),O=t(e.showIfAbove&&!w.value||e.modelValue===!0),k=g(()=>!e.overlay&&O.value&&!w.value),ie=g(()=>e.overlay&&O.value&&!w.value),A=g(()=>!e.persistent&&(w.value||ie.value));function j(e,t){if(F(),e!==!1&&v.animate(),Z(0),w.value){let e=v.instances[K.value];e?.belowBreakpoint.value&&e.hide(!1),Q(1),v.isContainer.value||_(!0)}else Q(0),e!==!1&&Ee(!1);ee(()=>{e!==!1&&Ee(!0),t||l(`show`,e)},he)}function M(e,t){de(),e!==!1&&v.animate(),Q(0),Z(z.value*E.value),Ae(),t?te():ee(()=>{l(`hide`,e)},he)}let{show:N,hide:P}=se({showing:O,hideOnRouteChange:A,handleShow:j,handleHide:M}),{addToHistory:F,removeFromHistory:de}=ue(O,P,A),pe=g(()=>O.value&&A.value);function I(e){l(`escapeKey`),P(e)}function me(e){e?le(I):ce(I)}let L={belowBreakpoint:w,hide:P},R=g(()=>e.side===`right`),z=g(()=>(p.lang.rtl?-1:1)*(R.value?1:-1)),V=t(0),H=t(!1),U=t(!1),G=t(E.value*z.value),K=g(()=>R.value?`left`:`right`),q=g(()=>O.value&&!w.value&&!e.overlay?e.miniToOverlay?e.miniWidth:E.value:0),_e=g(()=>`fullscreen q-drawer__backdrop`+(!O.value&&!H.value?` hidden`:``)),ve=g(()=>({backgroundColor:`rgba(0,0,0,${V.value*.4})`})),J=g(()=>R.value?v.rows.value.top[2]===`r`:v.rows.value.top[0]===`l`),ye=g(()=>R.value?v.rows.value.bottom[2]===`r`:v.rows.value.bottom[0]===`l`),Y=g(()=>{let e={};return v.header.space&&!J.value&&(D.value?e.top=`${v.header.offset}px`:v.header.space&&(e.top=`${v.header.size}px`)),v.footer.space&&!ye.value&&(D.value?e.bottom=`${v.footer.offset}px`:v.footer.space&&(e.bottom=`${v.footer.size}px`)),e}),be=g(()=>{let e={"--q-drawer-width":`${E.value}px`,transform:`translateX(${G.value}px)`};return w.value?e:Object.assign(e,Y.value)}),xe=g(()=>`q-drawer__content fit `+(v.isContainer.value?`overflow-auto`:`scroll`)),Se=g(()=>`q-drawer q-drawer--${e.side}`+(U.value?` q-drawer--mini-animate`:``)+(e.bordered?` q-drawer--bordered`:``)+(m()?` q-drawer--dark q-dark`:``)+(H.value?` no-transition`:O.value?``:` q-layout--prevent-focus`)+(w.value?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${T.value?`mini`:`standard`}`+(D.value||!k.value?` fixed`:``)+(e.overlay||e.miniToOverlay?` q-drawer--on-top`:``)+(J.value?` q-drawer--top-padding`:``))),Ce=g(()=>{let t=p.lang.rtl?e.side:K.value;return[[W,Oe,void 0,{[t]:!0,mouse:!0,prevent:!0}]]}),we=g(()=>{let t=p.lang.rtl?K.value:e.side;return[[W,w.value&&!e.noSwipeClose?ke:void 0,void 0,{[t]:!0,mouse:!0}]]}),Te=g(()=>{let t=p.lang.rtl?K.value:e.side;return[[W,O.value&&!e.noSwipeBackdrop?ke:void 0,void 0,{[t]:!0,mouse:!0,mouseAllDir:!0,prevent:!0}]]});function X(){ge(w,e.behavior===`mobile`||e.behavior!==`desktop`&&v.totalWidth.value<=e.breakpoint)}r(w,t=>{t?(y=O.value,O.value&&P(!1)):O.value?(Z(0),Q(0),Ae()):!e.overlay&&e.behavior!==`mobile`&&y!==!1&&N(!1)}),r(()=>e.side,(e,t)=>{v.instances[t]===L&&(v.instances[t]=void 0,v[t].space=!1,v[t].offset=0),v.instances[e]=L,v[e].size=E.value,v[e].space=k.value,v[e].offset=q.value}),r(v.totalWidth,()=>{(v.isContainer.value||!document.qScrollPrevented)&&X()}),r(()=>e.behavior+e.breakpoint,X),r(v.isContainer,e=>{O.value&&_(!e),e&&X()}),r(v.scrollbarWidth,()=>{Z(O.value?0:void 0)}),r(q,e=>{$(`offset`,e)}),r(k,e=>{l(`onLayout`,e),$(`space`,e)}),r(R,()=>{Z()}),r(E,t=>{Z(),je(e.miniToOverlay,t)}),r(()=>e.miniToOverlay,e=>{je(e,E.value)}),r(()=>p.lang.rtl,()=>{Z()}),r(()=>e.mini,()=>{e.noMiniAnimation||e.modelValue&&(De(),v.animate())}),r(T,e=>{l(`miniState`,e)});function Z(e){e===void 0?a(()=>{e=O.value?0:E.value,Z(z.value*e)}):(v.isContainer.value&&R.value&&(w.value||Math.abs(e)===E.value)&&(e+=z.value*v.scrollbarWidth.value),G.value=e)}function Q(e){V.value=e}function Ee(e){let t=e?`remove`:v.isContainer.value?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function De(){S!==null&&clearTimeout(S),f.proxy&&f.proxy.$el&&f.proxy.$el.classList.add(`q-drawer--mini-animate`),U.value=!0,S=setTimeout(()=>{S=null,U.value=!1,f?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function Oe(e){if(O.value)return;let t=E.value,n=B(e.distance.x,0,t);if(e.isFinal){n>=Math.min(75,t)?(N(),l(`pan`,{type:`open`,stage:`end`})):(v.animate(),Q(0),Z(z.value*t),l(`pan`,{type:`open`,stage:`cancel`})),H.value=!1;return}Z((p.lang.rtl?!R.value:R.value)?Math.max(t-n,0):Math.min(0,n-t)),Q(B(n/t,0,1)),e.isFirst&&(H.value=!0,l(`pan`,{type:`open`,stage:`start`}))}function ke(t){if(!O.value)return;let n=E.value,r=t.direction===e.side,i=(p.lang.rtl?!r:r)?B(t.distance.x,0,n):0;if(t.isFinal){Math.abs(i)<Math.min(75,n)?(v.animate(),Q(1),Z(0),l(`pan`,{type:`close`,stage:`cancel`})):(P(),l(`pan`,{type:`close`,stage:`end`})),H.value=!1;return}Z(z.value*i),Q(B(1-i/n,0,1)),t.isFirst&&(H.value=!0,l(`pan`,{type:`close`,stage:`start`}))}function Ae(){_(!1),Ee(!0)}function $(t,n){v.update(e.side,t,n)}function je(t,n){$(`size`,t?e.miniWidth:n)}return v.instances[e.side]=L,je(e.miniToOverlay,E.value),$(`space`,k.value),$(`offset`,q.value),e.showIfAbove&&!e.modelValue&&O.value&&e[`onUpdate:modelValue`]!==void 0&&l(`update:modelValue`,!0),o(()=>{l(`onLayout`,k.value),l(`miniState`,T.value),r(pe,me,{immediate:!0}),y=e.showIfAbove;let t=()=>{(O.value?j:M)(!1,!0)};if(v.totalWidth.value!==0){a(t);return}C=r(v.totalWidth,()=>{C(),C=void 0,!O.value&&e.showIfAbove&&!w.value?N(!1):t()})}),h(()=>{C?.(),ce(I),S!==null&&(clearTimeout(S),S=null),O.value&&Ae(),v.instances[e.side]===L&&(v.instances[e.side]=void 0,$(`size`,0),$(`offset`,0),$(`space`,!1))}),()=>{let t=[];w.value&&(e.noSwipeOpen||t.push(c(n(`div`,{key:`open`,class:`q-drawer__opener fixed-${e.side}`,"aria-hidden":`true`}),Ce.value)),t.push(c(n(`div`,{ref:`backdrop`,class:_e.value,style:ve.value,"aria-hidden":`true`,onClick:P}),Te.value)));let r={},a={};for(let e in u)e===`role`||e.startsWith(`aria-`)?r[e]=u[e]:a[e]=u[e];let o=T.value&&i.mini!==void 0,s=[n(`div`,{...a,key:String(o),class:[xe.value,u.class]},o?i.mini():b(i.default))];return e.elevated&&O.value&&s.push(n(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),t.push(c(n(`aside`,{ref:`content`,class:Se.value,style:be.value,...r},s),we.value)),n(`div`,{class:`q-drawer-container`},t)}}}),_e={class:`text-h6`},ve=[`title`],J={key:1,class:`row justify-center q-mt-sm`},ye=v({__name:`FolderPickerDialog`,props:{modelValue:{type:Boolean},initialPath:{}},emits:[`update:modelValue`,`select`],setup(n,{emit:a}){let o=n,s=a,d=t(``),h=t(null),g=t([]),v=t(!1),b=t(``);async function x(e){v.value=!0,b.value=``;try{let t=e?`?path=${encodeURIComponent(e)}`:``,n=await A(`/api/fs/list-dirs${t}`),r=await n.json();if(!n.ok){b.value=r?.error??`HTTP ${n.status}`;return}d.value=r.path??``,h.value=r.parent??null,g.value=Array.isArray(r.entries)?r.entries:[]}catch(e){b.value=e instanceof Error?e.message:String(e)}finally{v.value=!1}}function ne(){d.value&&(s(`select`,d.value),s(`update:modelValue`,!1))}return r(()=>o.modelValue,e=>{e&&x(o.initialPath||void 0)}),(t,r)=>(i(),f(R,{"model-value":n.modelValue,"onUpdate:modelValue":r[1]||=e=>t.$emit(`update:modelValue`,e)},{default:l(()=>[u(de,{class:`text-kobo-1`,style:{"min-width":`480px`,"max-width":`90vw`,background:`var(--kobo-surface)`}},{default:l(()=>[u(F,{class:`row items-center q-pb-none`},{default:l(()=>[te(`div`,_e,e(t.$t(`folderPicker.title`)),1),u(U),c(u(E,{flat:``,dense:``,round:``,icon:`close`,color:`kobo-2`},null,512),[[G]])]),_:1}),u(F,null,{default:l(()=>[te(`div`,{class:`text-caption text-kobo-3 ellipsis q-mb-sm`,style:{"font-family":`monospace`},title:d.value},e(d.value||`…`),9,ve),b.value?(i(),f(K,{key:0,dense:``,class:`bg-red-9 text-white q-mb-sm rounded-borders`},{default:l(()=>[m(e(b.value),1)]),_:1})):p(``,!0),u(z,{bordered:``,separator:``,class:`rounded-borders`,style:{"max-height":`320px`,"overflow-y":`auto`}},{default:l(()=>[h.value?c((i(),f(V,{key:0,clickable:``,onClick:r[0]||=e=>x(h.value)},{default:l(()=>[u(H,{avatar:``},{default:l(()=>[u(w,{name:`arrow_upward`,color:`kobo-2`})]),_:1}),u(H,null,{default:l(()=>[m(e(t.$t(`folderPicker.parent`)),1)]),_:1})]),_:1})),[[C]]):p(``,!0),(i(!0),_(ee,null,y(g.value,t=>c((i(),f(V,{key:t.path,clickable:``,onClick:e=>x(t.path)},{default:l(()=>[u(H,{avatar:``},{default:l(()=>[u(w,{name:`folder`,color:`amber-6`})]),_:1}),u(H,null,{default:l(()=>[m(e(t.name),1)]),_:2},1024)]),_:2},1032,[`onClick`])),[[C]])),128)),!v.value&&g.value.length===0?(i(),f(V,{key:1},{default:l(()=>[u(H,{class:`text-kobo-3`},{default:l(()=>[m(e(t.$t(`folderPicker.empty`)),1)]),_:1})]),_:1})):p(``,!0)]),_:1}),v.value?(i(),_(`div`,J,[u(S,{size:`20px`,color:`kobo-2`})])):p(``,!0)]),_:1}),u(pe,{align:`right`},{default:l(()=>[c(u(E,{flat:``,label:t.$t(`common.cancel`),color:`kobo-2`},null,8,[`label`]),[[G]]),u(E,{flat:``,label:t.$t(`folderPicker.select`),color:`primary`,disable:!d.value||v.value,onClick:ne},null,8,[`label`,`disable`])]),_:1})]),_:1})]),_:1},8,[`model-value`]))}}),Y=new Map;function be(e){let t=Y.get(e);t&&URL.revokeObjectURL(t),Y.delete(e)}async function xe(e){if(!Y.has(e))try{let t=await A(I(e));if(!t.ok)throw await k(t);let n=URL.createObjectURL(await t.blob());if(Y.has(e)||!me(e)){URL.revokeObjectURL(n);return}Y.set(e,n),P(e,n)}catch(e){console.error(`[custom-sounds store] preload failed:`,e)}}var Se=D(`customSounds`,{state:()=>({sounds:[],loaded:!1,busy:!1}),getters:{options:e=>e.sounds.map(e=>({label:e.name,value:e.reference}))},actions:{apply(e){this.sounds=e,L(e.map(e=>e.reference));for(let t of Y.keys())e.some(e=>e.reference===t)||be(t);for(let t of e)xe(t.reference)},async fetchSounds(){if(!this.busy){this.busy=!0;try{this.apply((await O(`/api/sounds`)).sounds),this.loaded=!0}catch(e){console.error(`[custom-sounds store] fetchSounds failed:`,e)}finally{this.busy=!1}}},async uploadSound(e){let t=new FormData;t.append(`sound`,e),this.busy=!0;try{let e=await O(`/api/sounds`,{method:`POST`,body:t});return this.apply([...this.sounds,e]),e}finally{this.busy=!1}},async removeSound(e){this.busy=!0;try{await O(`/api/sounds/${encodeURIComponent(e)}`,{method:`DELETE`})}catch(e){if(!(e instanceof j)||e.status!==404)throw e}finally{this.busy=!1}this.apply(this.sounds.filter(t=>t.id!==e))}}});export{ye as n,q as r,Se as t};