@loicngr/kobo 1.11.43 → 1.11.44

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 (144) hide show
  1. package/AGENTS.md +36 -1
  2. package/CHANGELOG.md +6 -0
  3. package/dist/mcp-server/kobo-tasks-handlers.js +31 -74
  4. package/dist/mcp-server/kobo-tasks-server.js +51 -4
  5. package/dist/server/db/auto-loop-schema.js +44 -0
  6. package/dist/server/db/migrations.js +4 -0
  7. package/dist/server/db/review-return-schema.js +10 -0
  8. package/dist/server/db/schema.js +4 -0
  9. package/dist/server/index.js +10 -9
  10. package/dist/server/routes/auto-loop-messages.js +51 -0
  11. package/dist/server/routes/workspaces.js +46 -136
  12. package/dist/server/services/agent/engines/claude-code/engine.js +1 -0
  13. package/dist/server/services/agent/engines/codex/engine.js +91 -31
  14. package/dist/server/services/agent/orchestrator.js +237 -88
  15. package/dist/server/services/agent/session-controller.js +42 -2
  16. package/dist/server/services/auto-loop-message-service.js +79 -0
  17. package/dist/server/services/auto-loop-service.js +225 -86
  18. package/dist/server/services/auto-loop-state-service.js +30 -0
  19. package/dist/server/services/cron-service.js +30 -16
  20. package/dist/server/services/quota-backoff-service.js +42 -10
  21. package/dist/server/services/review-return-service.js +64 -0
  22. package/dist/server/services/review-service.js +187 -0
  23. package/dist/server/services/settings-service.js +3 -3
  24. package/dist/server/services/task-mutations.js +186 -0
  25. package/dist/server/services/wakeup-service.js +16 -1
  26. package/dist/server/services/workspace-message-service.js +16 -2
  27. package/dist/server/services/workspace-service.js +25 -36
  28. package/dist/shared/auto-loop-prompts.js +22 -11
  29. package/dist/shared/auto-loop-types.js +1 -0
  30. package/dist/shared/review.js +6 -0
  31. package/dist/shared/task-verification.js +11 -0
  32. package/package.json +12 -12
  33. package/src/client/dist/pwa/assets/{ActivityFeed-D1e-zV3O.js → ActivityFeed-D_y4aikp.js} +1 -1
  34. package/src/client/dist/pwa/assets/{ChangelogPage-DX1WGFea.js → ChangelogPage-DSKCvpr2.js} +1 -1
  35. package/src/client/dist/pwa/assets/{ClosePopup-BqW5dy-O.js → ClosePopup-CWjIRHxu.js} +1 -1
  36. package/src/client/dist/pwa/assets/{ComparisonPanel-B4ne55Xj.js → ComparisonPanel-DDxcsxyC.js} +1 -1
  37. package/src/client/dist/pwa/assets/{CreatePage-Bx_GpUni.js → CreatePage-DKVEknbL.js} +2 -2
  38. package/src/client/dist/pwa/assets/{DashboardPage-Cv6HJEcO.js → DashboardPage-Dg2s9nnv.js} +1 -1
  39. package/src/client/dist/pwa/assets/{DiffViewer-COwGxPt6.js → DiffViewer-BSzNScIr.js} +4 -4
  40. package/src/client/dist/pwa/assets/{DocumentsPanel-DCXpLLb7.js → DocumentsPanel-DfEoI_f7.js} +1 -1
  41. package/src/client/dist/pwa/assets/{DrawerToggleButton-DRL3RCkM.js → DrawerToggleButton-D85PwhKb.js} +1 -1
  42. package/src/client/dist/pwa/assets/GitPanel-CuG8MlgF.js +3 -0
  43. package/src/client/dist/pwa/assets/{HealthPage-XrOuMoDJ.js → HealthPage-CaLCpejR.js} +1 -1
  44. package/src/client/dist/pwa/assets/MainLayout-CDxYIJ_s.js +2 -0
  45. package/src/client/dist/pwa/assets/MainLayout-DTLNunOi.css +1 -0
  46. package/src/client/dist/pwa/assets/{QBadge-DbkxGtht.js → QBadge-FWC1zDCq.js} +1 -1
  47. package/src/client/dist/pwa/assets/{QBanner-DhqH95GW.js → QBanner-CcRI_QIy.js} +1 -1
  48. package/src/client/dist/pwa/assets/QBtn-DEdx_Y1V.js +1 -0
  49. package/src/client/dist/pwa/assets/{QBtnDropdown-163oM6T_.js → QBtnDropdown-qJWGcZpC.js} +1 -1
  50. package/src/client/dist/pwa/assets/{QBtnGroup-DELKYo3u.js → QBtnGroup-CAoD6G0Q.js} +1 -1
  51. package/src/client/dist/pwa/assets/{QBtnToggle-BI3k3Ch2.js → QBtnToggle-C_hQ2UCQ.js} +1 -1
  52. package/src/client/dist/pwa/assets/{QChip-owciRuZu.js → QChip-DCPUhqXX.js} +1 -1
  53. package/src/client/dist/pwa/assets/QDrawer-DX3PhMqC.js +1 -0
  54. package/src/client/dist/pwa/assets/{QItemSection-D_5_0UrX.js → QItemSection-BhqphaH6.js} +1 -1
  55. package/src/client/dist/pwa/assets/{QList-qupzuEqO.js → QList-CHm4JNP0.js} +1 -1
  56. package/src/client/dist/pwa/assets/{QMarkupTable-B9QuKtK_.js → QMarkupTable-CNpiA9oq.js} +1 -1
  57. package/src/client/dist/pwa/assets/{QPage-DaX9sMQC.js → QPage-BXBw2Alx.js} +1 -1
  58. package/src/client/dist/pwa/assets/QSelect-CY4TWW_j.js +1 -0
  59. package/src/client/dist/pwa/assets/{QSpinnerDots-DnCV3VzI.js → QSpinnerDots-BkFiCsH3.js} +1 -1
  60. package/src/client/dist/pwa/assets/{QTooltip-BQWY7aeM.js → QTooltip-cDK5AOQ5.js} +1 -1
  61. package/src/client/dist/pwa/assets/{SchedulePanel-Bos94OyR.js → SchedulePanel-LvHiZ6ZH.js} +1 -1
  62. package/src/client/dist/pwa/assets/{SearchPage-DOHkP5lj.js → SearchPage-BO-J4aNc.js} +1 -1
  63. package/src/client/dist/pwa/assets/{SettingsPage-DtGsd0XH.js → SettingsPage-Aw89fRSq.js} +2 -2
  64. package/src/client/dist/pwa/assets/{SplitWorkspacePage-DL4kp9Ah.js → SplitWorkspacePage-BIEceNwH.js} +1 -1
  65. package/src/client/dist/pwa/assets/{TerminalPanel-DHDnyiYh.js → TerminalPanel-DitOCad1.js} +1 -1
  66. package/src/client/dist/pwa/assets/{TouchPan-BnHXDR6F.js → TouchPan-DvPAhZsa.js} +1 -1
  67. package/src/client/dist/pwa/assets/{TourReplayButton-ClVcB6mO.js → TourReplayButton-CJYdH3Jf.js} +1 -1
  68. package/src/client/dist/pwa/assets/{WorkspaceAttentionLabels-Bxe6oIJI.js → WorkspaceAttentionLabels-CY-9z9nw.js} +1 -1
  69. package/src/client/dist/pwa/assets/WorkspacePage-DAVo-E4p.css +1 -0
  70. package/src/client/dist/pwa/assets/WorkspacePage-xH_OyA3r.js +4 -0
  71. package/src/client/dist/pwa/assets/{browser-Bkx4fbxl.js → browser-BsB6cFv4.js} +1 -1
  72. package/src/client/dist/pwa/assets/build-path-tree-CW-ER1Mt.js +1 -0
  73. package/src/client/dist/pwa/assets/{de-BU0dILBs.js → de-Mu7biceO.js} +2 -2
  74. package/src/client/dist/pwa/assets/documents-SCd3w8xV.js +1 -0
  75. package/src/client/dist/pwa/assets/{editor.api-DreEG0If.js → editor.api-BUdM7I6y.js} +1 -1
  76. package/src/client/dist/pwa/assets/editor.worker-iO5iN0DB.js +33 -0
  77. package/src/client/dist/pwa/assets/efforts-DTJQP9or.js +9 -0
  78. package/src/client/dist/pwa/assets/engineFeatures-B-9jHocY.css +1 -0
  79. package/src/client/dist/pwa/assets/engineFeatures-Bj6Ob41d.js +1 -0
  80. package/src/client/dist/pwa/assets/{es-CNp0s9na.js → es-BY5IfNI2.js} +2 -2
  81. package/src/client/dist/pwa/assets/expand-template-SM8vvYyO.js +1 -0
  82. package/src/client/dist/pwa/assets/{format-B7z3F-Mw.js → format-BjQxf4pe.js} +3 -3
  83. package/src/client/dist/pwa/assets/{formatters-BTBiU0v3.js → formatters-BejhmNTV.js} +1 -1
  84. package/src/client/dist/pwa/assets/{fr-RqJyWSdm.js → fr-BMXCzFCM.js} +2 -2
  85. package/src/client/dist/pwa/assets/{freemarker2-BZNTVQ3K.js → freemarker2-5d5GhyRp.js} +1 -1
  86. package/src/client/dist/pwa/assets/{handlebars-k8tN0dI3.js → handlebars-DaafEsDK.js} +1 -1
  87. package/src/client/dist/pwa/assets/{html-iZL3bbXq.js → html-CwHBDd2A.js} +1 -1
  88. package/src/client/dist/pwa/assets/i18n-CgWW5vfb.js +1 -0
  89. package/src/client/dist/pwa/assets/index-0wtBh1Xt.css +1 -0
  90. package/src/client/dist/pwa/assets/index-Di9Sz5E8.js +20 -0
  91. package/src/client/dist/pwa/assets/{it-DSxNuCwL.js → it-ByPZQK_K.js} +2 -2
  92. package/src/client/dist/pwa/assets/{javascript-TV6gg0MO.js → javascript-DSNIEEH5.js} +1 -1
  93. package/src/client/dist/pwa/assets/{liquid-Cifa5ujF.js → liquid-Dma1UpA1.js} +1 -1
  94. package/src/client/dist/pwa/assets/{mdx-Bnj_8yGE.js → mdx-D8rqEAws.js} +1 -1
  95. package/src/client/dist/pwa/assets/{monaco-contributions-pEh0n9Wk.js → monaco-contributions-2E7O2zoi.js} +1 -1
  96. package/src/client/dist/pwa/assets/{monaco.contribution-D7NmJUJH.js → monaco.contribution-DqOgo72G.js} +2 -2
  97. package/src/client/dist/pwa/assets/{network-auth-3_5p4fdc.js → network-auth-DNmhJTZn.js} +1 -1
  98. package/src/client/dist/pwa/assets/{notify-theme-D_nf9AeF.js → notify-theme-B6Hiwvwb.js} +1 -1
  99. package/src/client/dist/pwa/assets/{pending-diff-open-CUnxC1xw.js → pending-diff-open-CeiVIFZn.js} +1 -1
  100. package/src/client/dist/pwa/assets/permissionModes-DWdtf81n.js +36 -0
  101. package/src/client/dist/pwa/assets/{pinia-BKqmoVru.js → pinia-CTJ3OfP3.js} +1 -1
  102. package/src/client/dist/pwa/assets/{private.use-form-C7umbGO-.js → private.use-form-Bk8ti264.js} +1 -1
  103. package/src/client/dist/pwa/assets/{project-color-CihwpDAA.js → project-color-BCp9SWoI.js} +1 -1
  104. package/src/client/dist/pwa/assets/{python-DOoNBSNL.js → python-f-9NqRlI.js} +1 -1
  105. package/src/client/dist/pwa/assets/{razor-Bvq5vVpJ.js → razor-DsCmoX0h.js} +1 -1
  106. package/src/client/dist/pwa/assets/reactivity.esm-bundler-Bo9anJjg.js +1 -0
  107. package/src/client/dist/pwa/assets/render-chat-markdown-DK5BD9mU.js +67 -0
  108. package/src/client/dist/pwa/assets/{runtime-core.esm-bundler-CDnVUfeZ.js → runtime-core.esm-bundler-CNFKm4ij.js} +1 -1
  109. package/src/client/dist/pwa/assets/{typescript-VVzxoeyM.js → typescript-cEHg4L10.js} +1 -1
  110. package/src/client/dist/pwa/assets/{use-checkbox-FnauAgTp.js → use-checkbox-CnvHBhSK.js} +1 -1
  111. package/src/client/dist/pwa/assets/{use-id-BIuaWKkB.js → use-id-wXd4c8FA.js} +1 -1
  112. package/src/client/dist/pwa/assets/use-is-mobile-DpKI3XMy.js +1 -0
  113. package/src/client/dist/pwa/assets/{use-search-index-status-DtLzygcy.js → use-search-index-status-Bluf9L99.js} +1 -1
  114. package/src/client/dist/pwa/assets/use-tours-BmTbosmB.js +2 -0
  115. package/src/client/dist/pwa/assets/{workspace-templates-1ui80Kqo.js → workspace-templates-DUWDLMIX.js} +1 -1
  116. package/src/client/dist/pwa/assets/{xml-CzGFIxQa.js → xml-Plt-Y7we.js} +1 -1
  117. package/src/client/dist/pwa/assets/{yaml-Bl7nDJeC.js → yaml-ScEmaAeN.js} +1 -1
  118. package/src/client/dist/pwa/index.html +10 -10
  119. package/src/client/dist/pwa/sw.js +1 -1
  120. package/src/mcp-server/kobo-tasks-handlers.ts +68 -104
  121. package/src/mcp-server/kobo-tasks-server.ts +56 -4
  122. package/src/client/dist/pwa/assets/GitPanel-C9mz4GXF.js +0 -3
  123. package/src/client/dist/pwa/assets/MainLayout-BwV89R-l.css +0 -1
  124. package/src/client/dist/pwa/assets/MainLayout-CwWavQjV.js +0 -2
  125. package/src/client/dist/pwa/assets/QBtn-CZaBclNw.js +0 -1
  126. package/src/client/dist/pwa/assets/QDrawer-DNEj8wLZ.js +0 -1
  127. package/src/client/dist/pwa/assets/QSelect-BUlOQe5k.js +0 -1
  128. package/src/client/dist/pwa/assets/WorkspacePage-Clc4Fl3B.js +0 -4
  129. package/src/client/dist/pwa/assets/WorkspacePage-DCg9zSxz.css +0 -1
  130. package/src/client/dist/pwa/assets/build-path-tree-BpSY7N5O.js +0 -1
  131. package/src/client/dist/pwa/assets/documents-BIlWh3o-.js +0 -1
  132. package/src/client/dist/pwa/assets/editor.worker-CwQAd_xr.js +0 -30
  133. package/src/client/dist/pwa/assets/efforts-D_yTzymv.js +0 -9
  134. package/src/client/dist/pwa/assets/engineFeatures-C33LTVkK.js +0 -1
  135. package/src/client/dist/pwa/assets/expand-template-wRhAXT-1.js +0 -1
  136. package/src/client/dist/pwa/assets/flUhRq6tzZclQEJ-Vdg-IuiaDsNa-Dr0goTwe.woff +0 -0
  137. package/src/client/dist/pwa/assets/i18n--PCet00a.js +0 -1
  138. package/src/client/dist/pwa/assets/index-CPfrY38K.js +0 -20
  139. package/src/client/dist/pwa/assets/index-CUoUy6tH.css +0 -1
  140. package/src/client/dist/pwa/assets/permissionModes-DC51Pz84.js +0 -36
  141. package/src/client/dist/pwa/assets/reactivity.esm-bundler-DEJj9cFv.js +0 -1
  142. package/src/client/dist/pwa/assets/render-chat-markdown-BQ_saiy5.js +0 -67
  143. package/src/client/dist/pwa/assets/use-is-mobile-CWjqe8gC.js +0 -1
  144. package/src/client/dist/pwa/assets/use-tours-BKeYrJaQ.js +0 -2
@@ -0,0 +1 @@
1
+ import{S as e,v as t}from"./reactivity.esm-bundler-Bo9anJjg.js";import{A as n,C as r,I as i,J as a,M as o,N as s,O as c,P as l,b as u,j as ee,k as d,l as f}from"./runtime-core.esm-bundler-CNFKm4ij.js";import{$ as p,J as m,S as h,U as g,V as _,W as v,Y as y,Z as b,b as te,ct as x,et as S,g as C,l as w,tt as T,u as E,y as ne}from"./QBtn-DEdx_Y1V.js";import{a as D,i as O}from"./pinia-CTJ3OfP3.js";import{C as k,S as A,_ as re,a as ie,b as j,c as M,f as N,g as ae,h as P,i as F,l as oe,m as se,s as I,u as ce,v as le,x as L,y as R}from"./use-id-wXd4c8FA.js";import{i as ue,r as de}from"./private.use-form-Bk8ti264.js";import{Bt as fe,Ct as pe,Dt as me,Gt as he,Ot as ge,St as _e,bt as ve,kt as z,vt as ye,xt as be,yt as xe}from"./index-Di9Sz5E8.js";import{n as Se,t as Ce}from"./QItemSection-BhqphaH6.js";import{c as we,d as Te,l as Ee,o as De,s as Oe,u as ke}from"./use-tours-BmTbosmB.js";import{t as B}from"./QChip-DCPUhqXX.js";var V=1e3,H=[`start`,`center`,`end`,`start-force`,`center-force`,`end-force`],Ae=Array.prototype.filter,U=window.getComputedStyle(document.body).overflowAnchor===void 0?y:function(e,t){e!==null&&(e._qOverflowAnimationFrame!==void 0&&cancelAnimationFrame(e._qOverflowAnimationFrame),e._qOverflowAnimationFrame=requestAnimationFrame(()=>{if(e===null)return;e._qOverflowAnimationFrame=void 0;let n=e.children||[];Ae.call(n,e=>e.dataset&&e.dataset.qVsAnchor!==void 0).forEach(e=>{delete e.dataset.qVsAnchor});let r=n[t];r?.dataset&&(r.dataset.qVsAnchor=``)}))};function je(e,t){return e+t}function Me(e,t,n,r,i,a,o,s){let c=e===window?document.scrollingElement||document.documentElement:e,l=i?`width`:`height`,u={scrollStart:0,scrollViewSize:-o-s,scrollMaxSize:0,offsetStart:-o,offsetEnd:-s};if(i?(e===window?(u.scrollStart=window.scrollX,u.scrollViewSize+=document.documentElement.clientWidth):(u.scrollStart=c.scrollLeft,u.scrollViewSize+=c.clientWidth),u.scrollMaxSize=c.scrollWidth,a&&(u.scrollStart=-u.scrollStart)):(e===window?(u.scrollStart=window.scrollY,u.scrollViewSize+=document.documentElement.clientHeight):(u.scrollStart=c.scrollTop,u.scrollViewSize+=c.clientHeight),u.scrollMaxSize=c.scrollHeight),n!==null)for(let e=n.previousElementSibling;e!==null;e=e.previousElementSibling)e.classList.contains(`q-virtual-scroll--skip`)||(u.offsetStart+=e.getBoundingClientRect()[l]);if(r!==null)for(let e=r.nextElementSibling;e!==null;e=e.nextElementSibling)e.classList.contains(`q-virtual-scroll--skip`)||(u.offsetEnd+=e.getBoundingClientRect()[l]);if(t!==e){let n=c.getBoundingClientRect(),r=t.getBoundingClientRect();i?(u.offsetStart+=r.left-n.left,u.offsetEnd-=r.width):(u.offsetStart+=r.top-n.top,u.offsetEnd-=r.height),e!==window&&(u.offsetStart+=u.scrollStart),u.offsetEnd+=u.scrollMaxSize-u.offsetStart}return u}function Ne(e,t,n,r){if(t===`end`&&(t=(e===window?document.body:e)[n?`scrollWidth`:`scrollHeight`]),e===window){let e,i;n?(r&&(t=-t),e=t,i=window.scrollY):(e=window.scrollX,i=t),window.scrollTo({left:e,top:i,behavior:`instant`})}else n?(r&&(t=-t),e.scrollTo({left:t,behavior:`instant`})):e.scrollTo({top:t,behavior:`instant`})}function W(e,t,n,r){if(n>=r)return 0;let i=t.length,a=Math.floor(n/V),o=Math.floor((r-1)/V)+1,s=0;for(let t=a;t<o;t++)s+=e[t];if(n%V!==0)for(let e=a*V;e<n;e++)s-=t[e];if(r%V!==0&&r!==i){let e=Math.min(o*V,i);for(let n=r;n<e;n++)s-=t[n]}return s}var Pe={virtualScrollSliceSize:{type:[Number,String],default:10},virtualScrollSliceRatioBefore:{type:[Number,String],default:1},virtualScrollSliceRatioAfter:{type:[Number,String],default:1},virtualScrollItemSize:{type:[Number,String],default:24},virtualScrollStickySizeStart:{type:[Number,String],default:0},virtualScrollStickySizeEnd:{type:[Number,String],default:0},tableColspan:[Number,String]};Object.keys(Pe);var Fe={virtualScrollHorizontal:Boolean,onVirtualScroll:Function,...Pe};function Ie({virtualScrollLength:i,getVirtualScrollTarget:o,getVirtualScrollEl:l,virtualScrollItemSizeComputed:p}){let{props:m,emit:h,proxy:g}=u(),_=ne(),y,b,te,x=[],S,C=t(0),w=t(0),T=t({}),E=e(null),D=e(null),O=e(null),k=t({from:0,to:0}),A=f(()=>m.tableColspan===void 0?100:m.tableColspan);p===void 0&&(p=f(()=>m.virtualScrollItemSize));let re=f(()=>p.value+`;`+m.virtualScrollHorizontal),ie=f(()=>re.value+`;`+m.virtualScrollSliceRatioBefore+`;`+m.virtualScrollSliceRatioAfter);a(ie,()=>{I()}),a(re,j);function j(){se(b,!0)}function M(e){se(e===void 0?b:e)}function N(e,t){let n=o();if(n==null||n.nodeType===8)return;let r=Me(n,l(),E.value,D.value,m.virtualScrollHorizontal,_.lang.rtl,m.virtualScrollStickySizeStart,m.virtualScrollStickySizeEnd);te!==r.scrollViewSize&&I(r.scrollViewSize),P(n,r,Math.min(i.value-1,Math.max(0,Number.parseInt(e,10)||0)),0,H.includes(t)?t:b!==-1&&e>b?`end`:`start`)}function ae(){let e=o();if(e==null||e.nodeType===8)return;let t=Me(e,l(),E.value,D.value,m.virtualScrollHorizontal,_.lang.rtl,m.virtualScrollStickySizeStart,m.virtualScrollStickySizeEnd),n=i.value-1,r=t.scrollMaxSize-t.offsetStart-t.offsetEnd-w.value;if(y===t.scrollStart)return;if(t.scrollMaxSize<=0){P(e,t,0,0);return}te!==t.scrollViewSize&&I(t.scrollViewSize),F(k.value.from);let a=Math.floor(t.scrollMaxSize-Math.max(t.scrollViewSize,t.offsetEnd)-Math.min(S[n],t.scrollViewSize/2));if(a>0&&Math.ceil(t.scrollStart)>=a){P(e,t,n,t.scrollMaxSize-t.offsetEnd-x.reduce(je,0));return}let s=0,c=t.scrollStart-t.offsetStart,u=c;if(c<=r&&c+t.scrollViewSize>=C.value)c-=C.value,s=k.value.from,u=c;else for(let e=0;c>=x[e]&&s<n;e++)c-=x[e],s+=V;for(;c>0&&s<n;)c-=S[s],c>-t.scrollViewSize?(s++,u=c):u=S[s]+c;P(e,t,s,u)}function P(e,t,n,r,a){let o=typeof a==`string`&&a.includes(`-force`),s=o?a.replace(`-force`,``):a,c=s===void 0?`start`:s,l=Math.max(0,n-T.value[c]),u=l+T.value.total;u>i.value&&(u=i.value,l=Math.max(0,u-T.value.total)),y=t.scrollStart;let ee=l!==k.value.from||u!==k.value.to;if(!ee&&s===void 0){le(n);return}let{activeElement:d}=document,f=O.value;ee&&f!==null&&f!==d&&f.contains(d)&&(f.addEventListener(`focusout`,oe),setTimeout(()=>{f?.removeEventListener(`focusout`,oe)},0)),U(f,n-l);let p=s===void 0?0:S.slice(l,n).reduce(je,0);if(ee){let e=u>=k.value.from&&l<=k.value.to?k.value.to:u;k.value={from:l,to:e},C.value=W(x,S,0,l),w.value=W(x,S,u,i.value),requestAnimationFrame(()=>{k.value.to!==u&&y===t.scrollStart&&(k.value={from:k.value.from,to:u},w.value=W(x,S,u,i.value))})}requestAnimationFrame(()=>{if(y!==t.scrollStart)return;ee&&F(l);let i=S.slice(l,n).reduce(je,0),a=i+t.offsetStart+C.value,c=a+S[n],u=a+r;if(s!==void 0){let e=i-p,r=t.scrollStart+e;u=!o&&r<a&&c<r+t.scrollViewSize?r:s===`end`?c-t.scrollViewSize:a-(s===`start`?0:Math.round((t.scrollViewSize-S[n])/2))}y=u,Ne(e,u,m.virtualScrollHorizontal,_.lang.rtl),le(n)})}function F(e){let t=O.value;if(t){let n=Ae.call(t.children,e=>e.classList&&!e.classList.contains(`q-virtual-scroll--skip`)),r=n.length,i=m.virtualScrollHorizontal?e=>e.getBoundingClientRect().width:e=>e.getBoundingClientRect().height,a=e,o,s;for(let e=0;e<r;){for(o=i(n[e]),e++;e<r&&n[e].classList.contains(`q-virtual-scroll--with-prev`);)o+=i(n[e]),e++;s=o-S[a],s!==0&&(S[a]+=s,x[Math.floor(a/V)]+=s),a++}}}function oe(){O.value?.focus({preventScroll:!0})}function se(e,t){let n=Number(p.value);(t||!Array.isArray(S))&&(S=[]);let r=S.length;S.length=i.value;for(let e=i.value-1;e>=r;e--)S[e]=n;let a=Math.floor((i.value-1)/V);x=[];for(let e=0;e<=a;e++){let t=0,n=Math.min((e+1)*V,i.value);for(let r=e*V;r<n;r++)t+=S[r];x.push(t)}b=-1,y=void 0,C.value=W(x,S,0,k.value.from),w.value=W(x,S,k.value.to,i.value),e>=0?(F(k.value.from),c(()=>{N(e)})):L()}function I(e){if(e===void 0&&typeof window<`u`){let t=o();t!=null&&t.nodeType!==8&&(e=Me(t,l(),E.value,D.value,m.virtualScrollHorizontal,_.lang.rtl,m.virtualScrollStickySizeStart,m.virtualScrollStickySizeEnd).scrollViewSize)}te=e;let t=Number.parseFloat(m.virtualScrollSliceRatioBefore)||0,n=Number.parseFloat(m.virtualScrollSliceRatioAfter)||0,r=1+t+n,i=e===void 0||e<=0?1:Math.ceil(e/p.value),a=Math.max(1,i,Math.ceil((m.virtualScrollSliceSize>0?m.virtualScrollSliceSize:10)/r));T.value={total:Math.ceil(a*r),start:Math.ceil(a*t),center:Math.ceil(a*(.5+t)),end:Math.ceil(a*(1+t)),view:i}}function ce(e,t,n){let i=m.virtualScrollHorizontal?`width`:`height`,a={[`--q-virtual-scroll-item-`+i]:p.value+`px`};return[e===`tbody`?r(e,{class:`q-virtual-scroll__padding`,key:`before`,ref:E,"aria-hidden":`true`},[r(`tr`,[r(`td`,{style:{[i]:`${C.value}px`,...a},colspan:A.value})])]):r(e,{class:`q-virtual-scroll__padding`,key:`before`,ref:E,"aria-hidden":`true`,style:{[i]:`${C.value}px`,...a}}),r(e,{class:`q-virtual-scroll__content`,key:`content`,ref:O,tabindex:-1,...n},t.flat()),e===`tbody`?r(e,{class:`q-virtual-scroll__padding`,key:`after`,ref:D,"aria-hidden":`true`},[r(`tr`,[r(`td`,{style:{[i]:`${w.value}px`,...a},colspan:A.value})])]):r(e,{class:`q-virtual-scroll__padding`,key:`after`,ref:D,"aria-hidden":`true`,style:{[i]:`${w.value}px`,...a}})]}function le(e){b!==e&&(m.onVirtualScroll!==void 0&&h(`virtualScroll`,{index:e,from:k.value.from,to:k.value.to-1,direction:e<b?`decrease`:`increase`,ref:g}),b=e)}I();{let e=Math.min(i.value,T.value.total),t=Number(p.value);k.value={from:0,to:e},w.value=Number.isFinite(t)?Math.max(0,(i.value-e)*t):0}let L=v(ae,_.platform.is.ios?120:35);n(()=>{I()});let R=!1;return s(()=>{R=!0}),d(()=>{if(!R)return;let e=o();y!==void 0&&e!=null&&e.nodeType!==8?Ne(e,y,m.virtualScrollHorizontal,_.lang.rtl):N(b)}),ee(()=>{L.cancel()}),Object.assign(g,{scrollTo:N,reset:j,refresh:M}),{virtualScrollSliceRange:k,virtualScrollSliceSizeComputed:T,setVirtualScrollSize:I,onVirtualScrollEvt:L,localResetVirtualScroll:se,padVirtualScroll:ce,scrollTo:N,reset:j,refresh:M}}var Le=T({name:`QItemLabel`,props:{overline:Boolean,caption:Boolean,header:Boolean,lines:[Number,String]},setup(e,{slots:t}){let n=f(()=>Number.parseInt(e.lines,10)),i=f(()=>`q-item__label`+(e.overline?` q-item__label--overline text-overline`:``)+(e.caption?` q-item__label--caption text-caption`:``)+(e.header?` q-item__label--header`:``)+(n.value===1?` ellipsis`:``)),a=f(()=>e.lines!==void 0&&n.value>1?{overflow:`hidden`,display:`-webkit-box`,"-webkit-box-orient":`vertical`,"-webkit-line-clamp":n.value}:null);return()=>r(`div`,{style:a.value,class:i.value},h(t.default))}}),G={left:!0,right:!0,up:!0,down:!0,horizontal:!0,vertical:!0},Re=Object.keys(G);G.all=!0;function ze(e){let t={};for(let n of Re)e[n]&&(t[n]=!0);return Object.keys(t).length===0?G:(t.horizontal?t.left=t.right=!0:t.left&&t.right&&(t.horizontal=!0),t.vertical?t.up=t.down=!0:t.up&&t.down&&(t.vertical=!0),t.horizontal&&t.vertical&&(t.all=!0),t)}var Be=[`INPUT`,`TEXTAREA`];function Ve(e,t){return t.event===void 0&&e.target!==void 0&&!e.target.draggable&&typeof t.handler==`function`&&!Be.includes(e.target.nodeName.toUpperCase())&&(e.qClonedBy===void 0||!e.qClonedBy.includes(t.uid))}function He(e,t,n){return n<=t?t:Math.min(n,Math.max(t,e))}function Ue(e,t,n){if(n<=t)return t;let r=n-t+1,i=t+(e-t)%r;return i<t&&(i=r+i),i===0?0:i}var We={hover:Boolean,hoverDelay:{type:Number,default:0},hoverHideDelay:{type:Number,default:150}};function Ge({props:e,canShow:t,show:n,canHide:r,hide:i}){let{removeTimeout:a,registerTimeout:o}=k();function s(r){e.hover===!0&&r.pointerType!==`touch`&&(a(),t(r)&&(e.hoverDelay>0?o(()=>{n(r)},e.hoverDelay):n(r)))}function c(t){a(),r(t)&&o(()=>{i(t)},e.hoverHideDelay)}function l(t){e.hover===!0&&t.pointerType!==`touch`&&c(t)}function u(e){e.pointerType!==`touch`&&a()}return{clearHoverTimer:a,hoverShow:s,hoverHide:l,scheduleHoverHide:c,onHoverContentEnter:u}}var K=null,{notPassiveCapture:Ke,passiveCapture:qe}=m,q=[];function J(e){K!==null&&(clearTimeout(K),K=null);let t=e.target;if(t===void 0||t.nodeType===8||t.classList.contains(`no-pointer-events`))return;let n=null,r=!1;for(let e=P.length-1;e>=0;e--){let t=P[e].$,i=t.type.name;if(i!==`QTooltip`){if(i===`QDialog`){if(t.props.seamless!==!0){if(r===!1)return;n=new Set(P.slice(e+1).map(e=>e.contentEl));break}continue}r=!0}}for(let r=q.length-1;r>=0;r--){let i=q[r];if(n!==null&&!n.has(i.innerRef.value))return;if((i.anchorEl.value===null||!i.anchorEl.value.contains(t)&&!F(i.anchorEl.value,t))&&(t===document.body||i.innerRef.value!==null&&!i.innerRef.value.contains(t)&&!F(i.innerRef.value,t)))e.qClickOutside=!0,i.onClickOutside(e);else return}}function Y(e){e.pointerType!==`touch`&&(K!==null&&clearTimeout(K),K=setTimeout(()=>{K=null,J(e)},0))}function X(e){q.push(e),q.length===1&&(document.addEventListener(`pointerdown`,Y,qe),document.addEventListener(`mousedown`,J,Ke),document.addEventListener(`touchstart`,J,Ke))}function Je(e){let t=q.indexOf(e);t!==-1&&(q.splice(t,1),q.length===0&&(K!==null&&(clearTimeout(K),K=null),document.removeEventListener(`pointerdown`,Y,qe),document.removeEventListener(`mousedown`,J,Ke),document.removeEventListener(`touchstart`,J,Ke)))}var Ye=`a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex^="-"])`,Xe=T({name:`QMenu`,inheritAttrs:!1,props:{...Te,...j,...D,...re,persistent:Boolean,autoClose:Boolean,separateClosePopup:Boolean,noEscDismiss:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,fit:Boolean,cover:Boolean,square:Boolean,anchor:{type:String,validator:Ee},self:{type:String,validator:Ee},offset:{type:Array,validator:we},touchPosition:Boolean,...We,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null}},emits:[...R,`click`,`escapeKey`],setup(n,{slots:i,emit:o,attrs:s}){let c,l=!1,d=u(),{proxy:p}=d,m=ne(),g=e(null),_=t(!1),v=f(()=>!n.persistent&&!n.noRouteDismiss),y=O(n,m),{registerTick:b,removeTick:te}=L(),{registerTransitionEnd:w}=A(n),{transitionProps:T,transitionStyle:D}=ae(n),{anchorEl:k,canShow:re,anchorEvents:j}=ke({showing:_,getPopupRole:()=>s.role}),{show:P,hide:F}=le({showing:_,canShow:re,canHide(e){return l&&_e()?e?.type!==`click`:!0},handleShow:Ne,handleHide:W,handleRouteChange:Pe,hideOnRouteChange:v,processOnMount:!0}),{clearHoverTimer:R,hoverShow:ue,scheduleHoverHide:de,onHoverContentEnter:pe}=Ge({props:n,canShow:()=>!_.value,show:P,canHide:e=>_.value&&!je(e.relatedTarget),hide:F});Object.assign(j,{hoverShow:ue,hoverHide:Me});let{showPortal:me,hidePortal:he,portalIsOpening:_e,renderPortal:ve}=oe(d,g,ze,`menu`),{captureRefocusTarget:ye,clearRefocusTarget:be,restoreFocus:xe,restoreFocusSync:Se,adoptRefocusTarget:Ce}=fe(n,()=>!n.noFocus&&!l&&_e()),we={anchorEl:k,innerRef:g,onClickOutside(e){if(!n.persistent&&_.value)return F(e),(e.type===`touchstart`||e.target.classList.contains(`q-dialog__backdrop`))&&S(e),!0}},Te=f(()=>Oe(n.anchor||(n.cover?`center middle`:`bottom start`),m.lang.rtl)),Ee=f(()=>n.cover?Te.value:Oe(n.self||`top start`,m.lang.rtl)),B=De({props:n,$q:m,anchorEl:k,innerRef:g,showing:_,anchorOrigin:Te,selfOrigin:Ee}),V=f(()=>`q-menu scroll`+(B.viaCssAnchor?``:` q-position-engine`)+(n.square?` q-menu--square`:``)+(y()?` q-menu--dark q-dark`:``)),H=f(()=>n.autoClose?{onClick:Ie}:{}),Ae=f(()=>_.value&&!n.persistent);a(Ae,e=>{e?(I(G),X(we)):(M(G),Je(we))});function U(){ce(()=>{let e=g.value;e&&e.contains!==void 0&&!e.contains(document.activeElement)&&(e=e.querySelector(`[autofocus][tabindex], [data-autofocus][tabindex]`)||e.querySelector(`[autofocus] [tabindex], [data-autofocus] [tabindex]`)||e.querySelector(`[autofocus], [data-autofocus]`)||e,e.focus({preventScroll:!0}))})}function je(e){if(e==null)return!1;if(k.value!==null&&k.value.contains(e)||g.value!==null&&g.value.contains(e))return!0;let t=se(e);for(;t!=null;){if(t===p)return!0;t=C(t)}return!1}function Me(e){if(e.pointerType===`touch`)return;de(e);let t=C(p);for(;t!=null;)t.$options.name===`QMenu`&&t.$props.hover===!0&&t.__qHoverHide?.(e),t=C(t)}function Ne(e){l=n.hover&&e?.type===`pointerenter`,R(),ye(l),ge(Le),me(!1,l),B.handleShow(!l&&(n.touchPosition||n.contextMenu)?e:void 0),!n.noFocus&&!l&&document.activeElement.blur(),b(()=>{B.handleTick(),!n.noFocus&&!l&&U()}),w(()=>{m.platform.is.ios&&(c=n.autoClose,g.value.click()),B.viaCssAnchor||B.track(),me(!0),o(`show`,e)})}function W(e){l=!1,te(),he(),Fe(!0),e===void 0||!e.qClickOutside?xe(e):be(),w(()=>{he(!0),B.releaseAnchor(!1),o(`hide`,e)})}function Pe(){be()}function Fe(e){R(),B.releaseAnchor(e),(e||_.value)&&(z(Le),Je(we),M(G)),e||be()}function Ie(e){c?c=!1:(N(p,e),o(`click`,e))}function Le(e){Ae.value&&!n.noFocus&&!l&&!E(g.value,e.target)&&!ie(g.value,e.target)&&U()}function G(e){n.noEscDismiss||(o(`escapeKey`),F(e))}function Re(e){if(e.keyCode!==9||e.defaultPrevented||!Ae.value||g.value===null)return;let t=g.value,n=t.querySelectorAll(Ye),r=n.length===0?null:n[e.shiftKey?0:n.length-1];(r===null||document.activeElement===r||e.shiftKey&&document.activeElement===t)&&(z(Le),Se(e),F(e))}function ze(){return r(x,T(),()=>_.value?r(`div`,{...s,ref:g,tabindex:-1,onKeydown:[].concat(s.onKeydown||[],Re),...n.hover?{onPointerenter:[].concat(s.onPointerenter||[],pe),onPointerleave:[].concat(s.onPointerleave||[],Me)}:{},class:[V.value,s.class],style:[s.style,D(),B.positionStyle.value],...H.value},h(i.default)):null)}return ee(()=>{Fe(!1)}),Object.assign(p,{focus:U,updatePosition:B.updatePosition,__adoptRefocusTarget:Ce}),p.__qHoverHide=de,ve}}),Ze=T({name:`QField`,inheritAttrs:!1,props:{..._e,tag:{type:String,default:`label`}},emits:be,setup(){return ve(pe({tagProp:!0}))}}),Qe=e=>[`add`,`add-unique`,`toggle`].includes(e),$e=".*+?^${}()|[]\\",et=Object.keys(_e);function tt(e,t){if(typeof e==`function`)return e;let n=e===void 0?t:e;return e=>typeof e==`object`&&e&&n in e?e[n]:e}var nt=T({name:`QSelect`,inheritAttrs:!1,props:{...Fe,...ue,..._e,modelValue:{required:!0},multiple:Boolean,displayValue:[String,Number],displayValueHtml:Boolean,dropdownIcon:String,options:{type:Array,default:()=>[]},optionValue:[Function,String],optionLabel:[Function,String],optionDisable:[Function,String],hideSelected:Boolean,hideDropdownIcon:Boolean,hideDialogClose:Boolean,fillInput:Boolean,maxValues:[Number,String],optionsDense:Boolean,optionsDark:{type:Boolean,default:null},optionsSelectedClass:String,optionsHtml:Boolean,optionsCover:Boolean,noOptionLabel:String,menuShrink:Boolean,menuAnchor:String,menuSelf:String,menuOffset:Array,popupContentClass:String,popupContentStyle:[String,Array,Object],popupNoRouteDismiss:Boolean,useInput:Boolean,useChips:Boolean,noChipRemove:Boolean,newValueMode:{type:String,validator:Qe},mapOptions:Boolean,emitValue:Boolean,noOptionPrefetch:Boolean,disableTabSelection:Boolean,inputDebounce:{type:[Number,String],default:500},inputClass:[Array,String,Object],inputStyle:[Array,String,Object],tabindex:{type:[String,Number],default:0},autocomplete:String,transitionShow:{},transitionHide:{},transitionDuration:{},behavior:{type:String,validator:e=>[`default`,`menu`,`dialog`].includes(e),default:`default`},...We,virtualScrollItemSize:Fe.virtualScrollItemSize.type,onNewValue:Function,onFilter:Function},emits:[...be,`add`,`remove`,`inputValue`,`keyup`,`keypress`,`keydown`,`popupShow`,`popupHide`,`filterAbort`],setup(n,{slots:s,emit:d}){let{proxy:m}=u(),h=ne(),v=t(!1),y=t(!1),x=t(-1),T=t(``),E=t(!1),D=t(!1),O=null,k=null,A=!1,re=0,ie,j=!1,M,N,ae=!1,P=null,F,oe,I,ce,le=e(null),L=e(null),R=e(null),ue=e(null),fe=e(null),ge=de(n),_e=ye(xt),z=f(()=>Array.isArray(n.options)?n.options.length:0),{virtualScrollSliceRange:be,virtualScrollSliceSizeComputed:we,localResetVirtualScroll:Te,padVirtualScroll:Ee,onVirtualScrollEvt:De,scrollTo:Oe,setVirtualScrollSize:ke}=Ie({virtualScrollLength:z,getVirtualScrollTarget:_t,getVirtualScrollEl:gt,virtualScrollItemSizeComputed:f(()=>n.virtualScrollItemSize===void 0?n.optionsDense?24:48:n.virtualScrollItemSize)}),V=pe(),H=f(()=>{let e=n.mapOptions&&!n.multiple,t=n.modelValue!==void 0&&(n.modelValue!==null||e)?n.multiple&&Array.isArray(n.modelValue)?n.modelValue:[n.modelValue]:[];if(n.mapOptions&&Array.isArray(n.options)){let r=n.mapOptions&&ie!==void 0?ie:[],i=t.map(e=>lt(e,r));return n.modelValue===null&&e?i.filter(e=>e!==null):i}return t}),Ae=f(()=>{let e={};return et.forEach(t=>{let r=n[t];r!==void 0&&(e[t]=r)}),e}),U=f(()=>n.optionsDark===null?V.isDark():n.optionsDark),je=f(()=>xe(H.value)),Me=f(()=>{let e=`q-field__input q-placeholder col`;return n.hideSelected||H.value.length===0?[e,n.inputClass]:(e+=` q-field__input--padding`,n.inputClass===void 0?e:[e,n.inputClass])}),Ne=f(()=>(n.virtualScrollHorizontal?`q-virtual-scroll--horizontal`:``)+(n.popupContentClass?` `+n.popupContentClass:``)),W=f(()=>z.value===0);function Pe(){return s[`no-option`]!==void 0||n.noOptionLabel!==void 0}let Fe=f(()=>H.value.map(e=>Y.value(e)).join(`, `)),G=f(()=>n.displayValue===void 0?Fe.value:n.displayValue),Re=f(()=>n.optionsHtml?()=>!0:e=>e?.html===!0),ze=f(()=>n.displayValueHtml||n.displayValue===void 0&&(n.optionsHtml||H.value.some(Re.value))),Be=f(()=>V.focused.value?n.tabindex:-1),Ve=f(()=>{let e={tabindex:n.disable===!0?void 0:n.tabindex,role:`combobox`,"aria-label":n.label,"aria-readonly":n.readonly?`true`:`false`,"aria-autocomplete":n.useInput?`list`:`none`,"aria-expanded":v.value?`true`:`false`};return v.value&&!W.value&&(e[`aria-controls`]=`${V.targetUid.value}_lb`),x.value>=0&&(e[`aria-activedescendant`]=`${V.targetUid.value}_${x.value}`),e}),He=f(()=>({id:`${V.targetUid.value}_lb`,role:`listbox`,"aria-multiselectable":n.multiple?`true`:`false`})),We=f(()=>H.value.map((e,t)=>({index:t,opt:e,html:Re.value(e),selected:!0,removeAtIndex:it,toggleOption:ot,tabindex:Be.value}))),K=f(()=>{if(z.value===0)return[];let{from:e,to:t}=be.value;return n.options.slice(e,t).map((t,r)=>{let i=X.value(t)===!0,a=ut(t),o=e+r,s={clickable:!0,active:a,activeClass:q.value,manualFocus:!0,focused:!1,disable:i,tabindex:-1,dense:n.optionsDense,dark:U.value,role:`option`,"aria-selected":a?`true`:`false`,"aria-setsize":z.value,"aria-posinset":o+1,id:`${V.targetUid.value}_${o}`,onClick:()=>{ot(t)}};return i||(x.value===o&&(s.focused=!0),s.onPointermove=e=>{e.pointerType!==`touch`&&v.value&&st(o)}),{index:o,opt:t,html:Re.value(t),label:Y.value(t),selected:s.active,focused:s.focused,toggleOption:ot,setOptionIndex:st,itemProps:s}})}),Ke=f(()=>n.dropdownIcon===void 0?h.iconSet.arrow.dropdown:n.dropdownIcon),qe=f(()=>!n.optionsCover&&!n.outlined&&!n.standout&&!n.borderless&&!n.rounded),q=f(()=>n.optionsSelectedClass===void 0?n.color===void 0?``:`text-${n.color}`:n.optionsSelectedClass),J=f(()=>tt(n.optionValue,`value`)),Y=f(()=>tt(n.optionLabel,`label`)),X=f(()=>tt(n.optionDisable,`disable`)),Je=f(()=>H.value.map(J.value)),Ye=f(()=>{let e={onInput:xt,onChange:_e,onKeydown:ht,onKeyup:pt,onKeypress:mt,onFocus:dt,onClick(e){M&&p(e)}};return e.onCompositionstart=e.onCompositionupdate=e.onCompositionend=_e,e});a(H,e=>{ie=e,n.useInput&&n.fillInput&&!n.multiple&&!V.innerLoading.value&&(!y.value&&!v.value||!je.value)&&(N||$(),(y.value||v.value)&&Z(``)),j&&wt()&&(j=!1)},{immediate:!0}),a(()=>n.fillInput,$),a(v,Ht),a(z,Ut);function nt(e){return n.emitValue?J.value(e):e}function rt(e){if(e!==-1&&e<H.value.length){if(n.multiple){let t=[...n.modelValue];d(`remove`,{index:e,value:t.splice(e,1)[0]}),d(`update:modelValue`,t)}else d(`update:modelValue`,null)}}function it(e){rt(e),V.focus()}function at(e,t){let r=nt(e);if(!n.multiple){n.fillInput&&Ct(Y.value(e),!0,!0),d(`update:modelValue`,r);return}if(H.value.length===0){d(`add`,{index:0,value:r}),d(`update:modelValue`,n.multiple?[r]:r);return}if(t&&ut(e)||n.maxValues!==void 0&&n.modelValue.length>=n.maxValues)return;let i=[...n.modelValue];d(`add`,{index:i.length,value:r}),i.push(r),d(`update:modelValue`,i)}function ot(e,t){if(!V.editable.value||e===void 0||X.value(e)===!0)return;let r=J.value(e);if(!n.multiple){let i=!t&&y.value;t||(Ct(n.fillInput?Y.value(e):``,!0,!0),Q()),i||L.value?.focus(),(H.value.length===0||!he(J.value(H.value[0]),r))&&d(`update:modelValue`,n.emitValue?r:e);return}if((!M||E.value)&&V.focus(),dt(),H.value.length===0){let t=n.emitValue?r:e;d(`add`,{index:0,value:t}),d(`update:modelValue`,n.multiple?[t]:t);return}let i=[...n.modelValue],a=Je.value.findIndex(e=>he(e,r));if(a!==-1)d(`remove`,{index:a,value:i.splice(a,1)[0]});else{if(n.maxValues!==void 0&&i.length>=n.maxValues)return;let t=n.emitValue?r:e;d(`add`,{index:i.length,value:t}),i.push(t)}d(`update:modelValue`,i)}function st(e){let t=e!==-1&&e<z.value?e:-1;x.value!==t&&(x.value=t,ae=!1)}function ct(e=1,t){if(v.value){let r=x.value;do r=Ue(r+e,-1,z.value-1);while(r!==-1&&r!==x.value&&X.value(n.options[r])===!0);x.value!==r&&(st(r),Oe(r),!t&&n.useInput&&n.fillInput&&St(r>=0?Y.value(n.options[r]):F,!0))}}function lt(e,t){let r=t=>he(J.value(t),e);return n.options.find(r)||t.find(r)||e}function ut(e){let t=J.value(e);return Je.value.find(e=>he(e,t))!==void 0}function dt(e){n.useInput&&L.value!==null&&(e===void 0||L.value===e.target&&e.target.value===Fe.value)&&L.value.select()}function ft(e){_(e,27)&&v.value&&(p(e),Q(e),$()),d(`keyup`,e)}function pt(e){let{value:t}=e.target;if(e.keyCode!==void 0){ft(e);return}if(e.target.value=``,O!==null&&(clearTimeout(O),O=null),k!==null&&(clearTimeout(k),k=null),$(),typeof t==`string`&&t.length!==0){let e=t.toLocaleLowerCase(),r=t=>{let r=n.options.find(n=>String(t.value(n)).toLocaleLowerCase()===e);return r!==void 0&&(H.value.includes(r)?Q():ot(r),!0)},i=e=>{!r(J)&&!e&&!r(Y)&&Z(t,!0,()=>i(!0))};i()}else V.clearValue(e)}function mt(e){d(`keypress`,e)}function ht(e){if(d(`keydown`,e),e.defaultPrevented||g(e))return;let t=T.value.length!==0&&(n.newValueMode!==void 0||n.onNewValue!==void 0),r=!e.shiftKey&&!n.disableTabSelection&&!n.multiple&&(x.value!==-1||t);if(e.keyCode===27){b(e);return}if(e.keyCode===9&&!r){Pt(e);return}if(e.target===void 0||e.target.id!==V.targetUid.value||!V.editable.value)return;if((e.keyCode===40||e.keyCode===38)&&!V.innerLoading.value&&!v.value){S(e),Vt(e);return}if(e.keyCode===8&&(n.useChips&&!n.noChipRemove||n.clearable)&&!n.hideSelected&&T.value.length===0){(n.clearable||X.value(H.value.at(-1))!==!0)&&(n.multiple&&Array.isArray(n.modelValue)?rt(n.modelValue.length-1):!n.multiple&&n.modelValue!==null&&d(`update:modelValue`,null));return}(e.keyCode===35||e.keyCode===36)&&(typeof T.value!=`string`||T.value.length===0)&&(S(e),x.value=-1,ct(e.keyCode===36?1:-1,n.multiple)),(e.keyCode===33||e.keyCode===34)&&we.value!==void 0&&(S(e),x.value=Math.max(-1,Math.min(z.value,x.value+(e.keyCode===33?-1:1)*we.value.view)),ct(e.keyCode===33?1:-1,n.multiple)),(e.keyCode===38||e.keyCode===40)&&(S(e),ct(e.keyCode===38?-1:1,n.multiple));let i=z.value;if((I===void 0||ce<Date.now())&&(I=``),i>0&&!n.useInput&&e.key!==void 0&&e.key.length===1&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&(e.keyCode!==32||I.length!==0)){v.value||Vt(e);let t=e.key.toLocaleLowerCase(),r=I.length===1&&I[0]===t;ce=Date.now()+1500,r||(S(e),I+=t);let a=RegExp(`^`+[...I].map(e=>$e.includes(e)?`\\`+e:e).join(`.*`),`i`),o=x.value;if(r||o<0||!a.test(Y.value(n.options[o])))do o=Ue(o+1,-1,i-1);while(o!==x.value&&(X.value(n.options[o])===!0||!a.test(Y.value(n.options[o]))));x.value!==o&&c(()=>{st(o),Oe(o),o>=0&&n.useInput&&n.fillInput&&St(Y.value(n.options[o]),!0)});return}if(e.keyCode===13||e.keyCode===32&&!n.useInput&&I===``||e.keyCode===9&&r){if(e.keyCode!==9&&S(e),x.value!==-1&&x.value<i&&!(t&&N&&ae)){ot(n.options[x.value]);return}if(t){let e=(e,t)=>{if(t){if(!Qe(t))return}else t=n.newValueMode;Ct(``,!n.multiple,!0),e!=null&&((t===`toggle`?ot:at)(e,t===`add-unique`),n.multiple||(L.value?.focus(),Q()))};if(n.onNewValue===void 0?e(T.value):d(`newValue`,T.value,e),!n.multiple)return}v.value?Pt(e):V.innerLoading.value||Vt(e)}}function gt(){return M?fe.value:R.value!==null&&R.value.contentEl!==null?R.value.contentEl:void 0}function _t(){return gt()}function vt(){return n.hideSelected?[]:s[`selected-item`]===void 0?s.selected===void 0?n.useChips?We.value.map((e,t)=>r(B,{key:`option-`+t,removable:!n.noChipRemove&&V.editable.value&&X.value(e.opt)!==!0,dense:!0,textColor:n.color,tabindex:Be.value,onRemove(){e.removeAtIndex(t)}},()=>r(`span`,{class:`ellipsis`,[e.html?`innerHTML`:`textContent`]:Y.value(e.opt)}))):[r(`span`,{class:`q-select__selected-value ellipsis`,[ze.value?`innerHTML`:`textContent`]:G.value})]:[s.selected()].flat():We.value.map(e=>s[`selected-item`](e))}function yt(){if(W.value)return s[`no-option`]===void 0?n.noOptionLabel===void 0?void 0:[r(Se,()=>r(Ce,{class:`text-grey`},()=>r(Le,()=>n.noOptionLabel)))]:s[`no-option`]({inputValue:T.value});let e=s.option===void 0?e=>r(Se,{key:e.index,...e.itemProps},()=>r(Ce,()=>r(Le,()=>r(`span`,{[e.html?`innerHTML`:`textContent`]:e.label})))):s.option,t=Ee(`div`,K.value.map(e),He.value);return s[`before-options`]!==void 0&&(t=[s[`before-options`](),...t].flat()),te(s[`after-options`],t)}function bt(e,t){let i=t?{...Ve.value,...V.splitAttrs.attributes.value}:void 0,a={ref:t?L:void 0,key:`i_t`,class:Me.value,style:n.inputStyle,value:T.value===void 0?``:T.value,type:`search`,...i,id:t?V.targetUid.value:void 0,maxlength:n.maxlength,autocomplete:n.autocomplete,"data-autofocus":e===!0||n.autofocus||void 0,disabled:n.disable,readonly:n.readonly,...Ye.value};return t&&Object.assign(a,V.getErrorAriaAttrs(a)),!e&&M&&(Array.isArray(a.class)?a.class=[...a.class,`no-pointer-events`]:a.class+=` no-pointer-events`),r(`input`,a)}function xt(e){O!==null&&(clearTimeout(O),O=null),k!==null&&(clearTimeout(k),k=null),!e?.target?.qComposing&&(St(e.target.value||``),N=!0,F=T.value,!V.focused.value&&(!M||E.value)&&V.focus(),n.onFilter!==void 0&&(M&&!y.value?Vt(e):O=setTimeout(()=>{O=null,Z(T.value)},n.inputDebounce)))}function St(e,t){T.value!==e&&(k!==null&&(clearTimeout(k),k=null),T.value=e,t||n.inputDebounce===0||n.inputDebounce===`0`?d(`inputValue`,e):k=setTimeout(()=>{k=null,d(`inputValue`,e)},n.inputDebounce))}function Ct(e,t,r){N=r!==!0,n.useInput&&(St(e,!0),(t||N)&&(F=e),t||Z(e))}function Z(e,t,r){if(n.onFilter===void 0||!t&&!V.focused.value&&!A)return;V.innerLoading.value?d(`filterAbort`):(V.innerLoading.value=!0,D.value=!0),e!==``&&!n.multiple&&H.value.length!==0&&!N&&e===Y.value(H.value[0])&&(e=``);let i=setTimeout(()=>{v.value&&=!1},10);P!==null&&clearTimeout(P),P=i,d(`filter`,e,(e,n)=>{(t||V.focused.value||A)&&P===i&&(clearTimeout(P),typeof e==`function`&&e(),D.value=!1,c(()=>{V.innerLoading.value=!1,V.editable.value&&(t?v.value&&Q():v.value?Ht(!0):v.value=!0),typeof n==`function`&&c(()=>{n(m)}),typeof r==`function`&&c(()=>{r(m)})}))},()=>{(t||V.focused.value||A)&&P===i&&(clearTimeout(P),V.innerLoading.value=!1,D.value=!1),v.value&&=!1})}function wt(){return z.value!==0||H.value.every(e=>typeof e==`object`&&!!e)?!1:(Z(``,!0,$),!0)}function Tt(){return r(Xe,{ref:R,class:Ne.value,style:n.popupContentStyle,modelValue:v.value,fit:!n.menuShrink,cover:n.optionsCover&&!W.value&&!n.useInput,anchor:n.menuAnchor,self:n.menuSelf,offset:n.menuOffset,dark:U.value,noParentEvent:!0,noRefocus:!0,noFocus:!0,noRouteDismiss:n.popupNoRouteDismiss,square:qe.value,transitionShow:n.transitionShow,transitionHide:n.transitionHide,transitionDuration:n.transitionDuration,separateClosePopup:!0,onScrollPassive:De,onBeforeShow:Gt,onBeforeHide:Et,onShow:Dt,...n.hover?{onPointerenter:zt,onPointerleave:Rt}:{}},yt)}function Et(e){Kt(e),Pt()}function Dt(){ke()}function Ot(e){p(e),L.value?.focus(),E.value=!0,h.platform.is.ios&&window.scrollTo(window.scrollX,0)}function kt(e){p(e),c(()=>{E.value=!1})}function At(){let e=[r(Ze,{class:`col-auto ${V.fieldClass.value}`,...Ae.value,for:V.targetUid.value,dark:U.value,square:!0,loading:D.value,itemAligned:!1,filled:!0,stackLabel:T.value.length!==0,...V.splitAttrs.listeners.value,onFocus:Ot,onBlur:kt},{...s,rawControl:()=>V.getControl(!0),before:void 0,after:void 0,append:n.hideDialogClose?s.append:()=>{let e=r(`button`,{class:`q-select__dialog-close`+(n.color===void 0?``:` text-${n.color}`),type:`button`,tabindex:0,onClick:Q},h.lang.label.close);return s.append===void 0?[e]:[...s.append(),e]}})];return v.value&&e.push(r(`div`,{ref:fe,class:Ne.value+` scroll`,style:n.popupContentStyle,onClick:b,onScrollPassive:De},yt())),r(me,{ref:ue,modelValue:y.value,position:n.useInput?`top`:void 0,noFocus:!0,transitionShow:oe,transitionHide:n.transitionHide,transitionDuration:n.transitionDuration,noRouteDismiss:n.popupNoRouteDismiss,onBeforeShow:Gt,onBeforeHide:jt,onHide:Mt,onShow:Nt},()=>r(`div`,{class:`q-select__dialog`+(U.value?` q-select__dialog--dark q-dark`:``)+(E.value?` q-select__dialog--focused`:``)},e))}function jt(e){if(Kt(e),ue.value!==null){let t=!h.platform.is.mobile||!n.useInput||e!==void 0&&(e.type.indexOf(`key`)===0||e.type===`click`&&e.detail===0)?V.rootRef.value.querySelector(`.q-field__native > .q-select__focus-target, .q-field__native > .q-field__input`):null;ue.value.__updateRefocusTarget(t)}V.focused.value=!1}function Mt(e){Q(),V.focused.value||d(`blur`,e),$()}function Nt(){let e=document.activeElement;(e===null||e.id!==V.targetUid.value)&&L.value!==null&&L.value!==e&&L.value.focus(),ke()}function Pt(e){y.value||(It(),A=!1,x.value=-1,v.value&&(e!==void 0&&(e.qSelectHandled=!0),v.value=!1,R.value?.hide(e)),V.focused.value||(P!==null&&(clearTimeout(P),P=null),V.innerLoading.value&&(d(`filterAbort`),V.innerLoading.value=!1,D.value=!1)))}function Ft(e){if(e==null)return!1;let t=R.value===null?null:R.value.contentEl;if(V.controlRef.value!==null&&V.controlRef.value.contains(e)||t!==null&&t.contains(e))return!0;let n=se(e);for(;n!=null;){if(n===m)return!0;n=C(n)}return!1}let{clearHoverTimer:It,hoverShow:Lt,hoverHide:Rt,onHoverContentEnter:zt}=Ge({props:n,canShow:()=>!M&&!A&&!v.value&&V.editable.value,show:Bt,canHide:e=>A&&!Ft(e.relatedTarget),hide:Q});function Bt(e){(n.onFilter!==void 0||!W.value||Pe())&&(A=!0,re=Date.now(),e.qSelectHandled=!0,n.onFilter===void 0?(v.value=!0,R.value?.show(e)):Z(T.value))}function Vt(e){V.editable.value&&(It(),A=!1,e!==void 0&&(e.qSelectHandled=!0),M?(V.onControlFocusin(e),V.focus(),y.value=!0,ue.value?.show(e),c(()=>{V.focus()})):V.focus(),n.onFilter===void 0?(!W.value||Pe())&&(v.value=!0,R.value?.show(e)):Z(T.value))}function Q(e){y.value&&(e!==void 0&&(e.qSelectHandled=!0),y.value=!1,ue.value?.hide(e)),Pt(e)}function $(){n.useInput&&Ct(!n.multiple&&n.fillInput&&H.value.length!==0?Y.value(H.value[0])??``:``,!0,!0)}function Ht(e){let t=-1;if(e){if(H.value.length!==0){let e=J.value(H.value[0]);t=n.options.findIndex(t=>he(J.value(t),e))}Te(t)}st(t),ae=t!==-1}function Ut(e,t){v.value&&!V.innerLoading.value&&(Te(-1,!0),c(()=>{v.value&&!V.innerLoading.value&&(e>t?Te():Ht(!0))}))}function Wt(){y.value||R.value?.updatePosition()}function Gt(e){e!==void 0&&e.qSelectHandled!==!0&&p(e),d(`popupShow`,e),V.hasPopupOpen=!0,A||V.onControlFocusin(e)}function Kt(e){e!==void 0&&e.qSelectHandled!==!0&&p(e),d(`popupHide`,e),V.hasPopupOpen=!1,V.onControlFocusout(e,$)}function qt(){M=!h.platform.is.mobile&&n.behavior!==`dialog`?!1:n.behavior!==`menu`&&(!n.useInput||Pe()||n.onFilter!==void 0||!W.value),oe=h.platform.is.ios&&M&&n.useInput?`fade`:n.transitionShow}return o(qt),i(Wt),!n.noOptionPrefetch&&n.mapOptions&&n.onFilter!==void 0&&l(()=>{j=!wt()}),qt(),ee(()=>{O!==null&&clearTimeout(O),k!==null&&clearTimeout(k)}),Object.assign(m,{showPopup:Vt,hidePopup:Q,removeAtIndex:rt,add:at,toggleOption:ot,getOptionIndex:()=>x.value,setOptionIndex:st,moveOptionSelection:ct,filter:Z,updateMenuPosition:Wt,updateInputValue:Ct,isOptionSelected:ut,getEmittingOptionValue:nt,isOptionDisabled:(...e)=>X.value(...e)===!0,getOptionValue:(...e)=>J.value(...e),getOptionLabel:(...e)=>Y.value(...e)}),Object.assign(V,{innerValue:H,fieldClass:f(()=>`q-select q-field--auto-height q-select--with${n.useInput?``:`out`}-input q-select--with${n.useChips?``:`out`}-chips q-select--${n.multiple?`multiple`:`single`}`),inputRef:le,targetRef:L,hasValue:je,showPopup:Vt,floatingLabel:f(()=>!n.hideSelected&&je.value||typeof T.value==`number`||T.value.length!==0||xe(n.displayValue)),getControlChild:()=>{if(V.editable.value&&(y.value||!W.value||Pe()))return M?At():Tt();V.hasPopupOpen&&=!1},controlEvents:{onFocusin(e){It(),A=!1,V.onControlFocusin(e)},onFocusout(e){V.onControlFocusout(e,()=>{$(),Pt(e)})},onClick(e){if(b(e),!M&&v.value){if(A&&Date.now()-re<(n.transitionDuration===void 0?300:Number(n.transitionDuration))){A=!1,V.focus();return}Pt(e),L.value?.focus();return}Vt(e)},onPointerenter:Lt,onPointerleave:Rt},getControl:e=>{let t=vt(),i=e===!0||!y.value||!M;if(n.useInput)t.push(bt(e,i));else{let a=i?{...Ve.value,...V.splitAttrs.attributes.value}:void 0,o={ref:i?L:void 0,key:`d_t`,class:`q-select__focus-target`,value:G.value,readonly:!0,"data-autofocus":e===!0||n.autofocus||void 0,...a,disabled:n.disable,id:i?V.targetUid.value:void 0,onKeydown:ht,onKeyup:ft,onKeypress:mt};i&&Object.assign(o,V.getErrorAriaAttrs(o)),t.push(r(`input`,o)),i&&V.editable.value&&typeof n.autocomplete==`string`&&n.autocomplete.length!==0&&t.push(r(`input`,{class:`q-select__autocomplete-input`,autocomplete:n.autocomplete,tabindex:-1,onKeyup:pt}))}if(!n.disable){let e=ge();if(e!==void 0){let i=Je.value.map(e=>r(`option`,{value:e,selected:!0}));t.push(r(`select`,{class:`hidden`,name:e,multiple:n.multiple},i))}}return r(`div`,{class:`q-field__native row items-center`,...V.splitAttrs.listeners.value},t)},shouldHideLoadingIndicator:()=>n.hideDropdownIcon===!0,getInnerAppend:()=>!n.loading&&!D.value&&!n.hideDropdownIcon?[r(w,{class:`q-select__dropdown-icon`+(v.value?` rotate-180`:``),name:Ke.value})]:null}),ve(V)}});export{ze as a,Ie as c,He as i,Fe as l,Ze as n,Ve as o,Xe as r,Le as s,nt as t};
@@ -1 +1 @@
1
- import{C as e}from"./runtime-core.esm-bundler-CDnVUfeZ.js";import{D as t,E as n,T as r,tt as i}from"./QBtn-CZaBclNw.js";var a=`<circle cx="15" cy="15" r="15"></circle><circle cx="60" cy="15" r="9" fill-opacity=".3" style="animation-delay:-.4s"></circle><circle cx="105" cy="15" r="15"></circle>`,o=i({name:`QSpinnerDots`,props:t,setup(t){return()=>{let i=n(t.size);return e(`svg`,{class:r(t.color,`dots`),fill:`currentColor`,width:i,height:i,viewBox:`0 0 120 30`,xmlns:`http://www.w3.org/2000/svg`,innerHTML:a})}}});export{o as t};
1
+ import{C as e}from"./runtime-core.esm-bundler-CNFKm4ij.js";import{D as t,E as n,T as r,tt as i}from"./QBtn-DEdx_Y1V.js";var a=`<circle cx="15" cy="15" r="15"></circle><circle cx="60" cy="15" r="9" fill-opacity=".3" style="animation-delay:-.4s"></circle><circle cx="105" cy="15" r="15"></circle>`,o=i({name:`QSpinnerDots`,props:t,setup(t){return()=>{let i=n(t.size);return e(`svg`,{class:r(t.color,`dots`),fill:`currentColor`,width:i,height:i,viewBox:`0 0 120 30`,xmlns:`http://www.w3.org/2000/svg`,innerHTML:a})}}});export{o as t};
@@ -1 +1 @@
1
- import{S as e,v as t}from"./reactivity.esm-bundler-DEJj9cFv.js";import{C as n,J as ee,b as te,j as ne,l as r}from"./runtime-core.esm-bundler-CDnVUfeZ.js";import{G as i,K as a,S as re,X as o,ct as s,tt as c,y as l}from"./QBtn-CZaBclNw.js";import{S as u,_ as d,b as f,c as p,g as m,l as ie,s as ae,t as h,v as oe,x as se,y as g}from"./use-id-BIuaWKkB.js";import{c as _,f as v,l as y,o as b,p as x,s as S,u as ce}from"./use-tours-BKeYrJaQ.js";var C=0,w=100,T=4;function le(e){return e.pointerType===`touch`||e.pointerType===`pen`&&e.buttons!==0}var E=c({name:`QTooltip`,inheritAttrs:!1,props:{...v,...f,...d,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null},transitionShow:{...d.transitionShow,default:`jump-down`},transitionHide:{...d.transitionHide,default:`jump-up`},anchor:{type:String,default:`bottom middle`,validator:y},self:{type:String,default:`top middle`,validator:y},offset:{type:Array,default:()=>[14,14],validator:_},cursorPosition:Boolean,delay:{type:Number,default:0},hideDelay:{type:Number,default:0},persistent:Boolean},emits:[...g],setup(c,{slots:d,emit:f,attrs:g}){let _,v=!1,y=null,E=null,D,O=te(),k=l(),A=e(null),j=t(!1),ue=h();function M(){return g.id||ue.value}let N=r(()=>S(c.anchor,k.lang.rtl)),P=r(()=>S(c.self,k.lang.rtl)),F=r(()=>!c.persistent),{registerTimeout:I,registerTransitionEnd:L}=u(c),{transitionProps:R,transitionStyle:z}=m(c),{anchorEl:B,canShow:V,anchorEvents:H}=ce({showing:j,configureAnchorEl:be}),{show:U,hide:W}=oe({showing:j,canShow:V,handleShow:me,handleHide:he,hideOnRouteChange:F,processOnMount:!0});Object.assign(H,{delayShow:Y,delayHide:ve,onFocusin:ye,onPointerdown:_e,onCursorMove:ge});let{showPortal:G,hidePortal:K,renderPortal:de}=ie(O,A,we,`tooltip`),{registerTick:fe,removeTick:pe}=se(),q=b({props:c,$q:k,anchorEl:B,innerRef:A,showing:j,anchorOrigin:N,selfOrigin:P,trackContent:!0});ee(()=>(c.modelValue===null||c[`onUpdate:modelValue`])&&j.value===!0&&c.persistent!==!0,e=>{(e===!0?ae:p)(Q)});function me(e){a(H,`cursorTemp`),G(),xe(),q.handleShow(c.cursorPosition?e:void 0),fe(q.handleTick),L(()=>{G(!0),f(`show`,e)})}function he(e){pe(),K(),J(!0),L(()=>{K(!0),q.releaseAnchor(!1),f(`hide`,e)})}function J(e){q.releaseAnchor(e),p(Q),y=null,a(H,`tooltipTemp`),a(H,`cursorTemp`),Se(),$(!1)}function Y(e){if(e.pointerType===`touch`&&e.isPrimary===!1)return;let t=le(e);if(t&&Z(e),c.cursorPosition&&!t){let t=o(e);if(t.left!==void 0){E=t,i(H,`cursorTemp`,[[B.value,`pointermove`,`onCursorMove`,`passive`]]),X(e);return}}I(()=>{U(e)},c.delay)}function X(e){I(()=>{U(e)},Math.max(c.delay,w))}function ge(e){let t=o(e);Math.abs(t.left-E.left)<=T&&Math.abs(t.top-E.top)<=T||(E=t,X(e))}function Z(e){y=e.pointerType,_!==void 0&&(clearTimeout(_),_=void 0),x(),$(!0);let t=B.value,n=[`touchmove`,`touchcancel`,`touchend`,`click`].map(e=>[t,e,`delayHide`,`passiveCapture`]);i(H,`tooltipTemp`,n)}function _e(e){e.pointerType===`pen`&&y===null&&Z(e)}function ve(e){if((e.pointerType!==`touch`||e.isPrimary!==!1)&&!(e.type===`focusout`&&B.value!==null&&B.value.contains(e.relatedTarget))){if(a(H,`cursorTemp`),y!==null){let t=y===`pen`&&(e.type===`click`||e.type===`touchend`);if(y=null,a(H,`tooltipTemp`),x(),_=setTimeout(()=>{_=void 0,$(!1)},10),t)return}I(()=>{W(e)},c.hideDelay)}}function ye(e){let t=e.target;t&&t.matches(`:focus-visible`)&&Y(e)}function Q(e){W(e)}function be(){if(c.noParentEvent||B.value===null)return;let e=[[B.value,`pointerenter`,`delayShow`,`passive`],[B.value,`pointerdown`,`onPointerdown`,`passive`],[B.value,`pointerleave`,`delayHide`,`passive`],[B.value,`focusin`,`onFocusin`,`passive`],[B.value,`focusout`,`delayHide`,`passive`]];i(H,`anchor`,e)}function $(e){v!==e&&(v=e,C+=e?1:-1,document.body.classList.toggle(`non-selectable`,C>0),!e&&_!==void 0&&(clearTimeout(_),_=void 0))}function xe(){let e=B.value,t=M();if(e===null||t===void 0)return;let n=(e.getAttribute(`aria-describedby`)||``).split(/\s+/).filter(Boolean);D={el:e,id:t,added:!n.includes(t)},D.added&&(n.push(t),e.setAttribute(`aria-describedby`,n.join(` `)))}function Se(){if(D?.added===!0){let{el:e,id:t}=D,n=(e.getAttribute(`aria-describedby`)||``).split(/\s+/).filter(e=>e!==``&&e!==t);n.length===0?e.removeAttribute(`aria-describedby`):e.setAttribute(`aria-describedby`,n.join(` `))}D=void 0}function Ce(){return j.value?n(`div`,{...g,id:M(),ref:A,class:[`q-tooltip q-tooltip--style no-pointer-events`+(q.viaCssAnchor?``:` q-position-engine`),g.class],style:[g.style,z(),q.positionStyle.value],role:`tooltip`},re(d.default)):null}function we(){return n(s,R(),Ce)}return ne(()=>{J(!1)}),Object.assign(O.proxy,{updatePosition:q.updatePosition}),de}});export{E as t};
1
+ import{S as e,v as t}from"./reactivity.esm-bundler-Bo9anJjg.js";import{C as n,J as ee,b as te,j as ne,l as r}from"./runtime-core.esm-bundler-CNFKm4ij.js";import{G as i,K as a,S as re,X as o,ct as s,tt as c,y as l}from"./QBtn-DEdx_Y1V.js";import{S as u,_ as d,b as f,c as p,g as m,l as ie,s as ae,t as h,v as oe,x as se,y as g}from"./use-id-wXd4c8FA.js";import{c as _,f as v,l as y,o as b,p as x,s as S,u as ce}from"./use-tours-BmTbosmB.js";var C=0,w=100,T=4;function le(e){return e.pointerType===`touch`||e.pointerType===`pen`&&e.buttons!==0}var E=c({name:`QTooltip`,inheritAttrs:!1,props:{...v,...f,...d,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null},transitionShow:{...d.transitionShow,default:`jump-down`},transitionHide:{...d.transitionHide,default:`jump-up`},anchor:{type:String,default:`bottom middle`,validator:y},self:{type:String,default:`top middle`,validator:y},offset:{type:Array,default:()=>[14,14],validator:_},cursorPosition:Boolean,delay:{type:Number,default:0},hideDelay:{type:Number,default:0},persistent:Boolean},emits:[...g],setup(c,{slots:d,emit:f,attrs:g}){let _,v=!1,y=null,E=null,D,O=te(),k=l(),A=e(null),j=t(!1),ue=h();function M(){return g.id||ue.value}let N=r(()=>S(c.anchor,k.lang.rtl)),P=r(()=>S(c.self,k.lang.rtl)),F=r(()=>!c.persistent),{registerTimeout:I,registerTransitionEnd:L}=u(c),{transitionProps:R,transitionStyle:z}=m(c),{anchorEl:B,canShow:V,anchorEvents:H}=ce({showing:j,configureAnchorEl:be}),{show:U,hide:W}=oe({showing:j,canShow:V,handleShow:me,handleHide:he,hideOnRouteChange:F,processOnMount:!0});Object.assign(H,{delayShow:Y,delayHide:ve,onFocusin:ye,onPointerdown:_e,onCursorMove:ge});let{showPortal:G,hidePortal:K,renderPortal:de}=ie(O,A,we,`tooltip`),{registerTick:fe,removeTick:pe}=se(),q=b({props:c,$q:k,anchorEl:B,innerRef:A,showing:j,anchorOrigin:N,selfOrigin:P,trackContent:!0});ee(()=>(c.modelValue===null||c[`onUpdate:modelValue`])&&j.value===!0&&c.persistent!==!0,e=>{(e===!0?ae:p)(Q)});function me(e){a(H,`cursorTemp`),G(),xe(),q.handleShow(c.cursorPosition?e:void 0),fe(q.handleTick),L(()=>{G(!0),f(`show`,e)})}function he(e){pe(),K(),J(!0),L(()=>{K(!0),q.releaseAnchor(!1),f(`hide`,e)})}function J(e){q.releaseAnchor(e),p(Q),y=null,a(H,`tooltipTemp`),a(H,`cursorTemp`),Se(),$(!1)}function Y(e){if(e.pointerType===`touch`&&e.isPrimary===!1)return;let t=le(e);if(t&&Z(e),c.cursorPosition&&!t){let t=o(e);if(t.left!==void 0){E=t,i(H,`cursorTemp`,[[B.value,`pointermove`,`onCursorMove`,`passive`]]),X(e);return}}I(()=>{U(e)},c.delay)}function X(e){I(()=>{U(e)},Math.max(c.delay,w))}function ge(e){let t=o(e);Math.abs(t.left-E.left)<=T&&Math.abs(t.top-E.top)<=T||(E=t,X(e))}function Z(e){y=e.pointerType,_!==void 0&&(clearTimeout(_),_=void 0),x(),$(!0);let t=B.value,n=[`touchmove`,`touchcancel`,`touchend`,`click`].map(e=>[t,e,`delayHide`,`passiveCapture`]);i(H,`tooltipTemp`,n)}function _e(e){e.pointerType===`pen`&&y===null&&Z(e)}function ve(e){if((e.pointerType!==`touch`||e.isPrimary!==!1)&&!(e.type===`focusout`&&B.value!==null&&B.value.contains(e.relatedTarget))){if(a(H,`cursorTemp`),y!==null){let t=y===`pen`&&(e.type===`click`||e.type===`touchend`);if(y=null,a(H,`tooltipTemp`),x(),_=setTimeout(()=>{_=void 0,$(!1)},10),t)return}I(()=>{W(e)},c.hideDelay)}}function ye(e){let t=e.target;t&&t.matches(`:focus-visible`)&&Y(e)}function Q(e){W(e)}function be(){if(c.noParentEvent||B.value===null)return;let e=[[B.value,`pointerenter`,`delayShow`,`passive`],[B.value,`pointerdown`,`onPointerdown`,`passive`],[B.value,`pointerleave`,`delayHide`,`passive`],[B.value,`focusin`,`onFocusin`,`passive`],[B.value,`focusout`,`delayHide`,`passive`]];i(H,`anchor`,e)}function $(e){v!==e&&(v=e,C+=e?1:-1,document.body.classList.toggle(`non-selectable`,C>0),!e&&_!==void 0&&(clearTimeout(_),_=void 0))}function xe(){let e=B.value,t=M();if(e===null||t===void 0)return;let n=(e.getAttribute(`aria-describedby`)||``).split(/\s+/).filter(Boolean);D={el:e,id:t,added:!n.includes(t)},D.added&&(n.push(t),e.setAttribute(`aria-describedby`,n.join(` `)))}function Se(){if(D?.added===!0){let{el:e,id:t}=D,n=(e.getAttribute(`aria-describedby`)||``).split(/\s+/).filter(e=>e!==``&&e!==t);n.length===0?e.removeAttribute(`aria-describedby`):e.setAttribute(`aria-describedby`,n.join(` `))}D=void 0}function Ce(){return j.value?n(`div`,{...g,id:M(),ref:A,class:[`q-tooltip q-tooltip--style no-pointer-events`+(q.viaCssAnchor?``:` q-position-engine`),g.class],style:[g.style,z(),q.positionStyle.value],role:`tooltip`},re(d.default)):null}function we(){return n(s,R(),Ce)}return ne(()=>{J(!1)}),Object.assign(O.proxy,{updatePosition:q.updatePosition}),de}});export{E as t};
@@ -1 +1 @@
1
- import{j as e,ut as t,v as n}from"./reactivity.esm-bundler-DEJj9cFv.js";import{J as r,L as i,Y as a,_ as o,d as s,f as c,g as ee,l,p as u,r as te,u as d,y as f,z as ne}from"./runtime-core.esm-bundler-CDnVUfeZ.js";import{l as p,t as m,y as re}from"./QBtn-CZaBclNw.js";import{Tt as ie,Ut as h,Vt as g,_t as _,o as ae,p as oe}from"./index-CPfrY38K.js";import{t as se}from"./QSelect-BUlOQe5k.js";import{d as ce}from"./permissionModes-DC51Pz84.js";import{a as v}from"./use-tours-BKeYrJaQ.js";import{t as le}from"./QBadge-DbkxGtht.js";import{t as ue}from"./QChip-owciRuZu.js";import{t as y}from"./QBtnToggle-BI3k3Ch2.js";function de(e,t){let n=Math.max(1,Math.floor(t));switch(e){case`minutes`:return`*/${n} * * * *`;case`hours`:return`0 */${n} * * *`;case`days`:return`0 0 */${n} * *`}}function fe(e){return Math.max(1,Math.floor(e))>1}var pe={class:`column q-pa-md q-gutter-lg`},me={class:`row items-center no-wrap q-gutter-sm`},he={class:`schedule-header__icon`},ge={class:`text-subtitle1 text-weight-medium`},_e={class:`text-caption text-kobo-3`},ve={class:`row items-center justify-between q-mb-sm`},ye={class:`text-subtitle2`},be={class:`text-body2 text-weight-medium`},xe={class:`text-caption text-kobo-3`},Se={key:1,class:`column q-gutter-sm`},b={class:`row items-start no-wrap q-gutter-sm`},x={class:`schedule-item__icon schedule-item__icon--wakeup`},S={class:`col min-width-zero`},C={class:`text-caption text-kobo-3`},w={class:`text-body2 text-weight-medium`},T={key:0,class:`prompt-preview schedule-item__prompt`},E={class:`row items-start no-wrap q-gutter-sm`},D={class:`schedule-item__icon schedule-item__icon--cron`},O={class:`col min-width-zero`},k={class:`text-body2 text-weight-medium ellipsis`},A=[`title`],j={key:1,class:`text-caption text-kobo-3`},Ce={class:`row items-center q-gutter-xs q-mt-sm`},we={key:0,class:`text-caption text-kobo-3`},Te={class:`prompt-preview schedule-item__prompt`},Ee={class:`row items-center justify-between q-mb-sm`},De={class:`text-subtitle2`},Oe={class:`text-caption text-kobo-3`},ke={class:`text-body2 text-weight-medium`},Ae={class:`text-caption text-kobo-3`},je={class:`column q-gutter-y-xs`},Me={class:`field-label`},Ne={class:`text-body2 text-weight-medium`},Pe={class:`text-caption text-kobo-3`},Fe={class:`column q-gutter-y-xs`},Ie={class:`field-label`},Le={class:`row items-center no-wrap q-gutter-sm`},Re={class:`text-body2 text-kobo-2`},ze={key:0,class:`text-caption text-warning`},Be={class:`column q-gutter-y-xs`},Ve={class:`field-label`},M={class:`one-shot-option row items-center justify-between no-wrap q-pa-sm`},He={class:`text-body2`},Ue={class:`text-caption text-kobo-3`},N=v(f({__name:`SchedulePanel`,props:{workspaceId:{}},setup(f){let v=f,{t:N}=ie(),P=re(),F=oe(),I=l(()=>F.pendingWakeups[v.workspaceId]??null),L=l(()=>F.crons[v.workspaceId]??[]),R=l(()=>L.value.filter(e=>!e.validationError).length+ +!!I.value);r(()=>v.workspaceId,e=>{e&&F.fetchCrons(e)},{immediate:!0});function z(e){return new Date(e).toLocaleString(void 0,{weekday:`short`,day:`numeric`,month:`short`,hour:`2-digit`,minute:`2-digit`})}function We(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t)||t<0)return`—`;let n=new Intl.RelativeTimeFormat(void 0,{numeric:`auto`}),r=Math.floor(t/1e3);if(r<60)return n.format(-r,`second`);let i=Math.floor(r/60);if(i<60)return n.format(-i,`minute`);let a=Math.floor(i/60);return a<24?n.format(-a,`hour`):n.format(-Math.floor(a/24),`day`)}async function Ge(){try{let e=await fetch(`/api/workspaces/${v.workspaceId}/pending-wakeup`,{method:`DELETE`});if(!e.ok)throw Error(`HTTP ${e.status}`)}catch(e){P.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}async function Ke(e){try{await F.cancelCron(v.workspaceId,e)}catch(e){P.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}let B=n(`wakeup`),V=n(15),H=n(`minutes`),U=n(``),W=n(``),G=n(``),K=n(`fresh`),q=n(!1),J=n(!1),qe=l(()=>[{label:N(`schedule.typeWakeup`),value:`wakeup`,icon:`alarm`},{label:N(`schedule.typeRecurring`),value:`cron`,icon:`event_repeat`}]),Y=l(()=>[{label:N(`schedule.modeFresh`),value:`fresh`,icon:`add_comment`},{label:N(`schedule.modeResume`),value:`resume`,icon:`history`}]),Je=l(()=>[{label:N(`schedule.unitMinutes`),value:`minutes`},{label:N(`schedule.unitHours`),value:`hours`},{label:N(`schedule.unitDays`),value:`days`}]);async function Ye(){if(W.value.trim()&&!J.value){J.value=!0;try{let e=U.value.trim()||de(H.value,V.value);await F.createCron(v.workspaceId,{expression:e,prompt:W.value,label:G.value.trim()||void 0,mode:K.value,oneShot:q.value}),W.value=``,G.value=``,U.value=``,P.notify({type:`positive`,message:N(`schedule.cronCreated`),position:`top`,timeout:2500})}catch(e){P.notify({type:`negative`,message:String(e instanceof Error?e.message:e),position:`top`,timeout:5e3})}finally{J.value=!1}}}let X=n(15),Z=n(``),Q=n(`fresh`),$=n(!1);async function Xe(){if(Z.value.trim()&&X.value>0&&!$.value){$.value=!0;try{await F.scheduleManualWakeup(v.workspaceId,{delaySeconds:Math.round(X.value*60),prompt:Z.value,mode:Q.value}),Z.value=``,P.notify({type:`positive`,message:N(`schedule.wakeupCreated`),position:`top`,timeout:2500})}catch(e){P.notify({type:`negative`,message:String(e instanceof Error?e.message:e),position:`top`,timeout:5e3})}finally{$.value=!1}}}return(n,r)=>(i(),u(`div`,pe,[d(`header`,me,[d(`div`,he,[o(p,{name:`calendar_month`,size:`22px`})]),d(`div`,null,[d(`div`,ge,t(n.$t(`schedule.panelTitle`)),1),d(`div`,_e,t(n.$t(`schedule.panelDescription`)),1)])]),d(`section`,null,[d(`div`,ve,[d(`div`,ye,t(n.$t(`schedule.activeTitle`)),1),R.value>0?(i(),s(le,{key:0,rounded:``,color:`primary`,label:R.value},null,8,[`label`])):c(``,!0)]),L.value.length===0&&!I.value?(i(),s(g,{key:0,dark:``,flat:``,bordered:``,class:`empty-state row items-center q-gutter-sm q-pa-md`},{default:a(()=>[o(p,{name:`event_available`,size:`24px`,color:`kobo-3`}),d(`div`,null,[d(`div`,be,t(n.$t(`schedule.emptyTitle`)),1),d(`div`,xe,t(n.$t(`schedule.emptyDescription`)),1)])]),_:1})):(i(),u(`div`,Se,[I.value?(i(),s(g,{key:0,dark:``,flat:``,bordered:``,class:`schedule-item schedule-item--wakeup`},{default:a(()=>[o(h,null,{default:a(()=>[d(`div`,b,[d(`div`,x,[o(p,{name:`alarm`,size:`18px`})]),d(`div`,S,[d(`div`,C,t(n.$t(`schedule.wakeupTitle`)),1),d(`div`,w,t(z(I.value.targetAt)),1)]),o(m,{flat:``,dense:``,round:``,icon:`delete_outline`,size:`sm`,color:`kobo-2`,title:n.$t(`schedule.cancelWakeup`),onClick:Ge},null,8,[`title`])]),I.value.reason?(i(),u(`div`,T,t(I.value.reason),1)):c(``,!0)]),_:1})]),_:1})):c(``,!0),(i(!0),u(te,null,ne(L.value,e=>(i(),s(g,{key:e.id,dark:``,flat:``,bordered:``,class:`schedule-item`},{default:a(()=>[o(h,null,{default:a(()=>[d(`div`,E,[d(`div`,D,[o(p,{name:`event_repeat`,size:`18px`})]),d(`div`,O,[d(`div`,k,t(e.label||e.expression),1),e.validationError?(i(),u(`div`,{key:0,class:`text-caption text-negative`,title:e.validationError},t(n.$t(`schedule.invalidCron`)),9,A)):(i(),u(`div`,j,t(n.$t(`schedule.nextFireAt`,{time:z(e.nextFireAt)})),1))]),o(m,{flat:``,dense:``,round:``,icon:`delete_outline`,size:`sm`,color:`kobo-2`,title:n.$t(`schedule.cancelCron`),onClick:t=>Ke(e.id)},null,8,[`title`,`onClick`])]),d(`div`,Ce,[o(ue,{dense:``,square:``,color:`blue-grey-9`,"text-color":`kobo-2`,size:`sm`},{default:a(()=>[ee(t(e.expression),1)]),_:2},1024),e.lastFiredAt?(i(),u(`span`,we,t(n.$t(`schedule.lastFiredAt`,{time:We(e.lastFiredAt)})),1)):c(``,!0)]),d(`div`,Te,t(e.prompt),1)]),_:2},1024)]),_:2},1024))),128))]))]),d(`section`,null,[d(`div`,Ee,[d(`div`,null,[d(`div`,De,t(n.$t(`schedule.createTitle`)),1),d(`div`,Oe,t(n.$t(`schedule.createDescription`)),1)])]),o(g,{dark:``,flat:``,bordered:``,class:`create-card`},{default:a(()=>[o(y,{modelValue:B.value,"onUpdate:modelValue":r[0]||=e=>B.value=e,spread:``,"no-caps":``,unelevated:``,"toggle-color":`primary`,color:`blue-grey-10`,"text-color":`kobo-2`,options:qe.value,class:`type-toggle`},null,8,[`modelValue`,`options`]),B.value===`wakeup`?(i(),s(h,{key:0,class:`column q-gutter-y-md`},{default:a(()=>[d(`div`,null,[d(`div`,ke,t(n.$t(`schedule.addWakeupTitle`)),1),d(`div`,Ae,t(n.$t(`schedule.wakeupDescription`)),1)]),o(_,{modelValue:X.value,"onUpdate:modelValue":r[1]||=e=>X.value=e,modelModifiers:{number:!0},type:`number`,dense:``,dark:``,outlined:``,min:`1`,label:n.$t(`schedule.delayMinutes`)},{prepend:a(()=>[o(p,{name:`timer`,size:`18px`})]),_:1},8,[`modelValue`,`label`]),o(_,{modelValue:Z.value,"onUpdate:modelValue":r[2]||=e=>Z.value=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,label:n.$t(`schedule.promptLabel`),hint:n.$t(`schedule.promptHint`)},null,8,[`modelValue`,`label`,`hint`]),d(`div`,je,[d(`div`,Me,t(n.$t(`schedule.sessionModeTitle`)),1),o(y,{modelValue:Q.value,"onUpdate:modelValue":r[3]||=e=>Q.value=e,spread:``,"no-caps":``,unelevated:``,"toggle-color":`blue-grey-7`,color:`transparent`,"text-color":`kobo-2`,options:Y.value,class:`session-toggle`},null,8,[`modelValue`,`options`])]),o(m,{"no-caps":``,unelevated:``,color:`primary`,icon:`alarm_add`,loading:$.value,disable:!Z.value.trim()||!(X.value>0),label:n.$t(`schedule.addWakeupBtn`),class:`full-width action-button`,onClick:Xe},null,8,[`loading`,`disable`,`label`])]),_:1})):(i(),s(h,{key:1,class:`column q-gutter-y-md`},{default:a(()=>[d(`div`,null,[d(`div`,Ne,t(n.$t(`schedule.addCronTitle`)),1),d(`div`,Pe,t(n.$t(`schedule.cronDescription`)),1)]),o(_,{modelValue:G.value,"onUpdate:modelValue":r[4]||=e=>G.value=e,dense:``,dark:``,outlined:``,label:n.$t(`schedule.labelOptional`)},null,8,[`modelValue`,`label`]),d(`div`,Fe,[d(`div`,Ie,t(n.$t(`schedule.frequencyTitle`)),1),d(`div`,Le,[d(`span`,Re,t(n.$t(`schedule.every`)),1),o(_,{modelValue:V.value,"onUpdate:modelValue":r[5]||=e=>V.value=e,modelModifiers:{number:!0},type:`number`,dense:``,dark:``,outlined:``,min:`1`,class:`frequency-value`},null,8,[`modelValue`]),o(se,{modelValue:H.value,"onUpdate:modelValue":r[6]||=e=>H.value=e,options:Je.value,dense:``,dark:``,outlined:``,"options-dense":``,"emit-value":``,"map-options":``,class:`col min-width-zero`},null,8,[`modelValue`,`options`])]),H.value===`days`&&e(fe)(V.value)?(i(),u(`div`,ze,t(n.$t(`schedule.daysDriftWarning`)),1)):c(``,!0)]),o(_,{modelValue:W.value,"onUpdate:modelValue":r[7]||=e=>W.value=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,label:n.$t(`schedule.promptLabel`),hint:n.$t(`schedule.promptHint`)},null,8,[`modelValue`,`label`,`hint`]),o(ce,{dense:``,"dense-toggle":``,"switch-toggle-side":``,icon:`code`,label:n.$t(`schedule.advancedExpression`),caption:n.$t(`schedule.advancedDescription`),class:`advanced-section`},{default:a(()=>[o(_,{modelValue:U.value,"onUpdate:modelValue":r[8]||=e=>U.value=e,dense:``,dark:``,outlined:``,label:n.$t(`schedule.cronExpressionLabel`),hint:n.$t(`schedule.advancedHint`),class:`q-mt-sm`},null,8,[`modelValue`,`label`,`hint`])]),_:1},8,[`label`,`caption`]),d(`div`,Be,[d(`div`,Ve,t(n.$t(`schedule.sessionModeTitle`)),1),o(y,{modelValue:K.value,"onUpdate:modelValue":r[9]||=e=>K.value=e,spread:``,"no-caps":``,unelevated:``,"toggle-color":`blue-grey-7`,color:`transparent`,"text-color":`kobo-2`,options:Y.value,class:`session-toggle`},null,8,[`modelValue`,`options`])]),d(`div`,M,[d(`div`,null,[d(`div`,He,t(n.$t(`schedule.oneShot`)),1),d(`div`,Ue,t(n.$t(`schedule.oneShotHint`)),1)]),o(ae,{modelValue:q.value,"onUpdate:modelValue":r[10]||=e=>q.value=e,dense:``},null,8,[`modelValue`])]),o(m,{"no-caps":``,unelevated:``,color:`primary`,icon:`add_task`,loading:J.value,disable:!W.value.trim(),label:n.$t(`schedule.addCronBtn`),class:`full-width action-button`,onClick:Ye},null,8,[`loading`,`disable`,`label`])]),_:1}))]),_:1})])]))}}),[[`__scopeId`,`data-v-7194e776`]]);export{N as default};
1
+ import{j as e,ut as t,v as n}from"./reactivity.esm-bundler-Bo9anJjg.js";import{J as r,L as i,Y as a,_ as o,d as s,f as c,g as ee,l,p as u,r as te,u as d,y as f,z as ne}from"./runtime-core.esm-bundler-CNFKm4ij.js";import{l as p,t as m,y as re}from"./QBtn-DEdx_Y1V.js";import{Ht as h,Tt as ie,Wt as g,_t as _,o as ae,p as oe}from"./index-Di9Sz5E8.js";import{t as se}from"./QSelect-CY4TWW_j.js";import{d as ce}from"./permissionModes-DWdtf81n.js";import{a as v}from"./use-tours-BmTbosmB.js";import{t as le}from"./QBadge-FWC1zDCq.js";import{t as ue}from"./QChip-DCPUhqXX.js";import{t as y}from"./QBtnToggle-C_hQ2UCQ.js";function de(e,t){let n=Math.max(1,Math.floor(t));switch(e){case`minutes`:return`*/${n} * * * *`;case`hours`:return`0 */${n} * * *`;case`days`:return`0 0 */${n} * *`}}function fe(e){return Math.max(1,Math.floor(e))>1}var pe={class:`column q-pa-md q-gutter-lg`},me={class:`row items-center no-wrap q-gutter-sm`},he={class:`schedule-header__icon`},ge={class:`text-subtitle1 text-weight-medium`},_e={class:`text-caption text-kobo-3`},ve={class:`row items-center justify-between q-mb-sm`},ye={class:`text-subtitle2`},be={class:`text-body2 text-weight-medium`},xe={class:`text-caption text-kobo-3`},Se={key:1,class:`column q-gutter-sm`},b={class:`row items-start no-wrap q-gutter-sm`},x={class:`schedule-item__icon schedule-item__icon--wakeup`},S={class:`col min-width-zero`},C={class:`text-caption text-kobo-3`},w={class:`text-body2 text-weight-medium`},T={key:0,class:`prompt-preview schedule-item__prompt`},E={class:`row items-start no-wrap q-gutter-sm`},D={class:`schedule-item__icon schedule-item__icon--cron`},O={class:`col min-width-zero`},k={class:`text-body2 text-weight-medium ellipsis`},A=[`title`],j={key:1,class:`text-caption text-kobo-3`},Ce={class:`row items-center q-gutter-xs q-mt-sm`},we={key:0,class:`text-caption text-kobo-3`},Te={class:`prompt-preview schedule-item__prompt`},Ee={class:`row items-center justify-between q-mb-sm`},De={class:`text-subtitle2`},Oe={class:`text-caption text-kobo-3`},ke={class:`text-body2 text-weight-medium`},Ae={class:`text-caption text-kobo-3`},je={class:`column q-gutter-y-xs`},Me={class:`field-label`},Ne={class:`text-body2 text-weight-medium`},Pe={class:`text-caption text-kobo-3`},Fe={class:`column q-gutter-y-xs`},Ie={class:`field-label`},Le={class:`row items-center no-wrap q-gutter-sm`},Re={class:`text-body2 text-kobo-2`},ze={key:0,class:`text-caption text-warning`},Be={class:`column q-gutter-y-xs`},Ve={class:`field-label`},M={class:`one-shot-option row items-center justify-between no-wrap q-pa-sm`},He={class:`text-body2`},Ue={class:`text-caption text-kobo-3`},N=v(f({__name:`SchedulePanel`,props:{workspaceId:{}},setup(f){let v=f,{t:N}=ie(),P=re(),F=oe(),I=l(()=>F.pendingWakeups[v.workspaceId]??null),L=l(()=>F.crons[v.workspaceId]??[]),R=l(()=>L.value.filter(e=>!e.validationError).length+ +!!I.value);r(()=>v.workspaceId,e=>{e&&F.fetchCrons(e)},{immediate:!0});function z(e){return new Date(e).toLocaleString(void 0,{weekday:`short`,day:`numeric`,month:`short`,hour:`2-digit`,minute:`2-digit`})}function We(e){let t=Date.now()-new Date(e).getTime();if(Number.isNaN(t)||t<0)return`—`;let n=new Intl.RelativeTimeFormat(void 0,{numeric:`auto`}),r=Math.floor(t/1e3);if(r<60)return n.format(-r,`second`);let i=Math.floor(r/60);if(i<60)return n.format(-i,`minute`);let a=Math.floor(i/60);return a<24?n.format(-a,`hour`):n.format(-Math.floor(a/24),`day`)}async function Ge(){try{let e=await fetch(`/api/workspaces/${v.workspaceId}/pending-wakeup`,{method:`DELETE`});if(!e.ok)throw Error(`HTTP ${e.status}`)}catch(e){P.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}async function Ke(e){try{await F.cancelCron(v.workspaceId,e)}catch(e){P.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}let B=n(`wakeup`),V=n(15),H=n(`minutes`),U=n(``),W=n(``),G=n(``),K=n(`fresh`),q=n(!1),J=n(!1),qe=l(()=>[{label:N(`schedule.typeWakeup`),value:`wakeup`,icon:`alarm`},{label:N(`schedule.typeRecurring`),value:`cron`,icon:`event_repeat`}]),Y=l(()=>[{label:N(`schedule.modeFresh`),value:`fresh`,icon:`add_comment`},{label:N(`schedule.modeResume`),value:`resume`,icon:`history`}]),Je=l(()=>[{label:N(`schedule.unitMinutes`),value:`minutes`},{label:N(`schedule.unitHours`),value:`hours`},{label:N(`schedule.unitDays`),value:`days`}]);async function Ye(){if(W.value.trim()&&!J.value){J.value=!0;try{let e=U.value.trim()||de(H.value,V.value);await F.createCron(v.workspaceId,{expression:e,prompt:W.value,label:G.value.trim()||void 0,mode:K.value,oneShot:q.value}),W.value=``,G.value=``,U.value=``,P.notify({type:`positive`,message:N(`schedule.cronCreated`),position:`top`,timeout:2500})}catch(e){P.notify({type:`negative`,message:String(e instanceof Error?e.message:e),position:`top`,timeout:5e3})}finally{J.value=!1}}}let X=n(15),Z=n(``),Q=n(`fresh`),$=n(!1);async function Xe(){if(Z.value.trim()&&X.value>0&&!$.value){$.value=!0;try{await F.scheduleManualWakeup(v.workspaceId,{delaySeconds:Math.round(X.value*60),prompt:Z.value,mode:Q.value}),Z.value=``,P.notify({type:`positive`,message:N(`schedule.wakeupCreated`),position:`top`,timeout:2500})}catch(e){P.notify({type:`negative`,message:String(e instanceof Error?e.message:e),position:`top`,timeout:5e3})}finally{$.value=!1}}}return(n,r)=>(i(),u(`div`,pe,[d(`header`,me,[d(`div`,he,[o(p,{name:`calendar_month`,size:`22px`})]),d(`div`,null,[d(`div`,ge,t(n.$t(`schedule.panelTitle`)),1),d(`div`,_e,t(n.$t(`schedule.panelDescription`)),1)])]),d(`section`,null,[d(`div`,ve,[d(`div`,ye,t(n.$t(`schedule.activeTitle`)),1),R.value>0?(i(),s(le,{key:0,rounded:``,color:`primary`,label:R.value},null,8,[`label`])):c(``,!0)]),L.value.length===0&&!I.value?(i(),s(h,{key:0,dark:``,flat:``,bordered:``,class:`empty-state row items-center q-gutter-sm q-pa-md`},{default:a(()=>[o(p,{name:`event_available`,size:`24px`,color:`kobo-3`}),d(`div`,null,[d(`div`,be,t(n.$t(`schedule.emptyTitle`)),1),d(`div`,xe,t(n.$t(`schedule.emptyDescription`)),1)])]),_:1})):(i(),u(`div`,Se,[I.value?(i(),s(h,{key:0,dark:``,flat:``,bordered:``,class:`schedule-item schedule-item--wakeup`},{default:a(()=>[o(g,null,{default:a(()=>[d(`div`,b,[d(`div`,x,[o(p,{name:`alarm`,size:`18px`})]),d(`div`,S,[d(`div`,C,t(n.$t(`schedule.wakeupTitle`)),1),d(`div`,w,t(z(I.value.targetAt)),1)]),o(m,{flat:``,dense:``,round:``,icon:`delete_outline`,size:`sm`,color:`kobo-2`,title:n.$t(`schedule.cancelWakeup`),onClick:Ge},null,8,[`title`])]),I.value.reason?(i(),u(`div`,T,t(I.value.reason),1)):c(``,!0)]),_:1})]),_:1})):c(``,!0),(i(!0),u(te,null,ne(L.value,e=>(i(),s(h,{key:e.id,dark:``,flat:``,bordered:``,class:`schedule-item`},{default:a(()=>[o(g,null,{default:a(()=>[d(`div`,E,[d(`div`,D,[o(p,{name:`event_repeat`,size:`18px`})]),d(`div`,O,[d(`div`,k,t(e.label||e.expression),1),e.validationError?(i(),u(`div`,{key:0,class:`text-caption text-negative`,title:e.validationError},t(n.$t(`schedule.invalidCron`)),9,A)):(i(),u(`div`,j,t(n.$t(`schedule.nextFireAt`,{time:z(e.nextFireAt)})),1))]),o(m,{flat:``,dense:``,round:``,icon:`delete_outline`,size:`sm`,color:`kobo-2`,title:n.$t(`schedule.cancelCron`),onClick:t=>Ke(e.id)},null,8,[`title`,`onClick`])]),d(`div`,Ce,[o(ue,{dense:``,square:``,color:`blue-grey-9`,"text-color":`kobo-2`,size:`sm`},{default:a(()=>[ee(t(e.expression),1)]),_:2},1024),e.lastFiredAt?(i(),u(`span`,we,t(n.$t(`schedule.lastFiredAt`,{time:We(e.lastFiredAt)})),1)):c(``,!0)]),d(`div`,Te,t(e.prompt),1)]),_:2},1024)]),_:2},1024))),128))]))]),d(`section`,null,[d(`div`,Ee,[d(`div`,null,[d(`div`,De,t(n.$t(`schedule.createTitle`)),1),d(`div`,Oe,t(n.$t(`schedule.createDescription`)),1)])]),o(h,{dark:``,flat:``,bordered:``,class:`create-card`},{default:a(()=>[o(y,{modelValue:B.value,"onUpdate:modelValue":r[0]||=e=>B.value=e,spread:``,"no-caps":``,unelevated:``,"toggle-color":`primary`,color:`blue-grey-10`,"text-color":`kobo-2`,options:qe.value,class:`type-toggle`},null,8,[`modelValue`,`options`]),B.value===`wakeup`?(i(),s(g,{key:0,class:`column q-gutter-y-md`},{default:a(()=>[d(`div`,null,[d(`div`,ke,t(n.$t(`schedule.addWakeupTitle`)),1),d(`div`,Ae,t(n.$t(`schedule.wakeupDescription`)),1)]),o(_,{modelValue:X.value,"onUpdate:modelValue":r[1]||=e=>X.value=e,modelModifiers:{number:!0},type:`number`,dense:``,dark:``,outlined:``,min:`1`,label:n.$t(`schedule.delayMinutes`)},{prepend:a(()=>[o(p,{name:`timer`,size:`18px`})]),_:1},8,[`modelValue`,`label`]),o(_,{modelValue:Z.value,"onUpdate:modelValue":r[2]||=e=>Z.value=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,label:n.$t(`schedule.promptLabel`),hint:n.$t(`schedule.promptHint`)},null,8,[`modelValue`,`label`,`hint`]),d(`div`,je,[d(`div`,Me,t(n.$t(`schedule.sessionModeTitle`)),1),o(y,{modelValue:Q.value,"onUpdate:modelValue":r[3]||=e=>Q.value=e,spread:``,"no-caps":``,unelevated:``,"toggle-color":`blue-grey-7`,color:`transparent`,"text-color":`kobo-2`,options:Y.value,class:`session-toggle`},null,8,[`modelValue`,`options`])]),o(m,{"no-caps":``,unelevated:``,color:`primary`,icon:`alarm_add`,loading:$.value,disable:!Z.value.trim()||!(X.value>0),label:n.$t(`schedule.addWakeupBtn`),class:`full-width action-button`,onClick:Xe},null,8,[`loading`,`disable`,`label`])]),_:1})):(i(),s(g,{key:1,class:`column q-gutter-y-md`},{default:a(()=>[d(`div`,null,[d(`div`,Ne,t(n.$t(`schedule.addCronTitle`)),1),d(`div`,Pe,t(n.$t(`schedule.cronDescription`)),1)]),o(_,{modelValue:G.value,"onUpdate:modelValue":r[4]||=e=>G.value=e,dense:``,dark:``,outlined:``,label:n.$t(`schedule.labelOptional`)},null,8,[`modelValue`,`label`]),d(`div`,Fe,[d(`div`,Ie,t(n.$t(`schedule.frequencyTitle`)),1),d(`div`,Le,[d(`span`,Re,t(n.$t(`schedule.every`)),1),o(_,{modelValue:V.value,"onUpdate:modelValue":r[5]||=e=>V.value=e,modelModifiers:{number:!0},type:`number`,dense:``,dark:``,outlined:``,min:`1`,class:`frequency-value`},null,8,[`modelValue`]),o(se,{modelValue:H.value,"onUpdate:modelValue":r[6]||=e=>H.value=e,options:Je.value,dense:``,dark:``,outlined:``,"options-dense":``,"emit-value":``,"map-options":``,class:`col min-width-zero`},null,8,[`modelValue`,`options`])]),H.value===`days`&&e(fe)(V.value)?(i(),u(`div`,ze,t(n.$t(`schedule.daysDriftWarning`)),1)):c(``,!0)]),o(_,{modelValue:W.value,"onUpdate:modelValue":r[7]||=e=>W.value=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,label:n.$t(`schedule.promptLabel`),hint:n.$t(`schedule.promptHint`)},null,8,[`modelValue`,`label`,`hint`]),o(ce,{dense:``,"dense-toggle":``,"switch-toggle-side":``,icon:`code`,label:n.$t(`schedule.advancedExpression`),caption:n.$t(`schedule.advancedDescription`),class:`advanced-section`},{default:a(()=>[o(_,{modelValue:U.value,"onUpdate:modelValue":r[8]||=e=>U.value=e,dense:``,dark:``,outlined:``,label:n.$t(`schedule.cronExpressionLabel`),hint:n.$t(`schedule.advancedHint`),class:`q-mt-sm`},null,8,[`modelValue`,`label`,`hint`])]),_:1},8,[`label`,`caption`]),d(`div`,Be,[d(`div`,Ve,t(n.$t(`schedule.sessionModeTitle`)),1),o(y,{modelValue:K.value,"onUpdate:modelValue":r[9]||=e=>K.value=e,spread:``,"no-caps":``,unelevated:``,"toggle-color":`blue-grey-7`,color:`transparent`,"text-color":`kobo-2`,options:Y.value,class:`session-toggle`},null,8,[`modelValue`,`options`])]),d(`div`,M,[d(`div`,null,[d(`div`,He,t(n.$t(`schedule.oneShot`)),1),d(`div`,Ue,t(n.$t(`schedule.oneShotHint`)),1)]),o(ae,{modelValue:q.value,"onUpdate:modelValue":r[10]||=e=>q.value=e,dense:``},null,8,[`modelValue`])]),o(m,{"no-caps":``,unelevated:``,color:`primary`,icon:`add_task`,loading:J.value,disable:!W.value.trim(),label:n.$t(`schedule.addCronBtn`),class:`full-width action-button`,onClick:Ye},null,8,[`loading`,`disable`,`label`])]),_:1}))]),_:1})])]))}}),[[`__scopeId`,`data-v-7194e776`]]);export{N as default};
@@ -1 +1 @@
1
- import{j as e,ut as t,v as n}from"./reactivity.esm-bundler-DEJj9cFv.js";import{F as r,J as i,L as a,P as o,Y as s,_ as c,d as l,f as u,p as d,r as f,u as p,y as m,z as h}from"./runtime-core.esm-bundler-CDnVUfeZ.js";import{l as g}from"./QBtn-CZaBclNw.js";import{Tt as _,_t as v,l as y,n as b,o as x}from"./index-CPfrY38K.js";import{a as S,i as C,n as w}from"./use-tours-BKeYrJaQ.js";import{t as T}from"./QBadge-DbkxGtht.js";import{t as E}from"./formatters-BTBiU0v3.js";import{t as D}from"./QPage-DaX9sMQC.js";import{t as O}from"./DrawerToggleButton-DRL3RCkM.js";import{t as k}from"./TourReplayButton-ClVcB6mO.js";import{n as A,t as j}from"./use-search-index-status-DtLzygcy.js";var M={class:`search-header`},N={class:`row items-center q-mb-md`},P={class:`text-h5`},ee={"data-tour":`search-input`},F={class:`row items-center q-mt-sm q-gutter-sm`},I={key:0,class:`text-caption text-kobo-3`},L={key:0,class:`text-caption text-kobo-3 q-mt-sm`,role:`status`},R={key:1,class:`text-caption text-negative q-mt-sm`,role:`status`},z={key:2,class:`text-kobo-3 text-caption`},B={key:3,class:`text-negative text-caption`},V={key:4,class:`text-kobo-3 text-caption`},H={key:5,class:`search-results`},U=[`onClick`],W={class:`row items-center q-mb-xs text-caption`},G={class:`text-kobo-2 text-weight-medium`},K={class:`text-kobo-3`},q={class:`search-snippet text-body2 text-kobo-2`},J=S(m({__name:`SearchPage`,setup(m){let S=A();j(()=>S.search(!0));let J=b(),{t:Y}=_(),{timeAgo:X}=E(),{scheduleAutoRun:Z}=w();o(()=>{Z(`search`)});let Q=n(null),$=null;r(()=>{$&&clearTimeout($),S.cancel()});function te(){$&&clearTimeout($),$=setTimeout(()=>{S.search()},250)}i(()=>S.includeArchived,()=>{S.query.trim().length>0&&S.search()});function ne(e){J.push({name:`workspace`,params:{id:e.workspaceId},query:{eventId:e.eventId,...e.sessionId?{session:e.sessionId}:{}}})}function re(e){return e===`user:message`?Y(`search.eventType.userMessage`):e===`agent:output`||e===`agent:event`?Y(`search.eventType.agentOutput`):e}return(n,r)=>(a(),l(D,{class:`q-pa-md search-page`},{default:s(()=>[p(`div`,M,[p(`div`,N,[c(O,{class:`q-mr-sm`}),p(`h2`,P,t(n.$t(`search.title`)),1),c(C),c(k,{"tour-id":`search`})]),p(`div`,ee,[c(v,{ref_key:`inputEl`,ref:Q,modelValue:e(S).query,"onUpdate:modelValue":[r[0]||=t=>e(S).query=t,te],dense:``,dark:``,outlined:``,clearable:``,autofocus:``,placeholder:n.$t(`search.placeholder`),onClear:r[1]||=t=>e(S).clear()},{prepend:s(()=>[c(g,{name:`search`})]),_:1},8,[`modelValue`,`placeholder`])]),p(`div`,F,[c(x,{modelValue:e(S).includeArchived,"onUpdate:modelValue":r[2]||=t=>e(S).includeArchived=t,"data-tour":`search-archived`,label:n.$t(`search.includeArchived`),dense:``,dark:``,color:`primary`,size:`sm`},null,8,[`modelValue`,`label`]),c(C),e(S).results.length>0?(a(),d(`span`,I,t(n.$t(`search.resultCount`,{n:e(S).results.length})),1)):u(``,!0)])]),e(S).indexStatus.state===`building`?(a(),d(`div`,L,t(n.$t(`search.indexing`,{processed:e(S).indexStatus.processed,total:e(S).indexStatus.total})),1)):e(S).indexStatus.state===`error`?(a(),d(`div`,R,t(n.$t(`search.indexUnavailable`)),1)):u(``,!0),c(y,{dark:``,class:`q-my-md`}),e(S).loading?(a(),d(`div`,z,t(n.$t(`search.loading`)),1)):e(S).error?(a(),d(`div`,B,t(n.$t(`search.error`,{message:e(S).error})),1)):e(S).query.trim().length>0&&e(S).results.length===0?(a(),d(`div`,V,t(n.$t(`search.noResults`)),1)):e(S).results.length>0?(a(),d(`div`,H,[(a(!0),d(f,null,h(e(S).results,(r,i)=>(a(),d(`div`,{key:`${r.workspaceId}-${r.timestamp}-${i}`,class:`search-result q-pa-sm q-mb-sm cursor-pointer`,onClick:e=>ne(r)},[p(`div`,W,[p(`span`,G,t(r.workspaceName),1),r.archived?(a(),l(T,{key:0,color:`kobo-3`,class:`q-ml-xs`,label:n.$t(`common.archive`)},null,8,[`label`])):u(``,!0),c(C),c(T,{color:r.type===`user:message`?`blue-grey-7`:`primary`,class:`q-mr-sm`,label:re(r.type)},null,8,[`color`,`label`]),p(`span`,K,t(e(X)(r.timestamp)),1)]),p(`div`,q,t(r.snippet),1)],8,U))),128))])):u(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-2ac4f1d8`]]);export{J as default};
1
+ import{j as e,ut as t,v as n}from"./reactivity.esm-bundler-Bo9anJjg.js";import{F as r,J as i,L as a,P as o,Y as s,_ as c,d as l,f as u,p as d,r as f,u as p,y as m,z as h}from"./runtime-core.esm-bundler-CNFKm4ij.js";import{l as g}from"./QBtn-DEdx_Y1V.js";import{Tt as _,_t as v,l as y,n as b,o as x}from"./index-Di9Sz5E8.js";import{a as S,i as C,n as w}from"./use-tours-BmTbosmB.js";import{t as T}from"./QBadge-FWC1zDCq.js";import{t as E}from"./formatters-BejhmNTV.js";import{t as D}from"./QPage-BXBw2Alx.js";import{t as O}from"./DrawerToggleButton-D85PwhKb.js";import{t as k}from"./TourReplayButton-CJYdH3Jf.js";import{n as A,t as j}from"./use-search-index-status-Bluf9L99.js";var M={class:`search-header`},N={class:`row items-center q-mb-md`},P={class:`text-h5`},ee={"data-tour":`search-input`},F={class:`row items-center q-mt-sm q-gutter-sm`},I={key:0,class:`text-caption text-kobo-3`},L={key:0,class:`text-caption text-kobo-3 q-mt-sm`,role:`status`},R={key:1,class:`text-caption text-negative q-mt-sm`,role:`status`},z={key:2,class:`text-kobo-3 text-caption`},B={key:3,class:`text-negative text-caption`},V={key:4,class:`text-kobo-3 text-caption`},H={key:5,class:`search-results`},U=[`onClick`],W={class:`row items-center q-mb-xs text-caption`},G={class:`text-kobo-2 text-weight-medium`},K={class:`text-kobo-3`},q={class:`search-snippet text-body2 text-kobo-2`},J=S(m({__name:`SearchPage`,setup(m){let S=A();j(()=>S.search(!0));let J=b(),{t:Y}=_(),{timeAgo:X}=E(),{scheduleAutoRun:Z}=w();o(()=>{Z(`search`)});let Q=n(null),$=null;r(()=>{$&&clearTimeout($),S.cancel()});function te(){$&&clearTimeout($),$=setTimeout(()=>{S.search()},250)}i(()=>S.includeArchived,()=>{S.query.trim().length>0&&S.search()});function ne(e){J.push({name:`workspace`,params:{id:e.workspaceId},query:{eventId:e.eventId,...e.sessionId?{session:e.sessionId}:{}}})}function re(e){return e===`user:message`?Y(`search.eventType.userMessage`):e===`agent:output`||e===`agent:event`?Y(`search.eventType.agentOutput`):e}return(n,r)=>(a(),l(D,{class:`q-pa-md search-page`},{default:s(()=>[p(`div`,M,[p(`div`,N,[c(O,{class:`q-mr-sm`}),p(`h2`,P,t(n.$t(`search.title`)),1),c(C),c(k,{"tour-id":`search`})]),p(`div`,ee,[c(v,{ref_key:`inputEl`,ref:Q,modelValue:e(S).query,"onUpdate:modelValue":[r[0]||=t=>e(S).query=t,te],dense:``,dark:``,outlined:``,clearable:``,autofocus:``,placeholder:n.$t(`search.placeholder`),onClear:r[1]||=t=>e(S).clear()},{prepend:s(()=>[c(g,{name:`search`})]),_:1},8,[`modelValue`,`placeholder`])]),p(`div`,F,[c(x,{modelValue:e(S).includeArchived,"onUpdate:modelValue":r[2]||=t=>e(S).includeArchived=t,"data-tour":`search-archived`,label:n.$t(`search.includeArchived`),dense:``,dark:``,color:`primary`,size:`sm`},null,8,[`modelValue`,`label`]),c(C),e(S).results.length>0?(a(),d(`span`,I,t(n.$t(`search.resultCount`,{n:e(S).results.length})),1)):u(``,!0)])]),e(S).indexStatus.state===`building`?(a(),d(`div`,L,t(n.$t(`search.indexing`,{processed:e(S).indexStatus.processed,total:e(S).indexStatus.total})),1)):e(S).indexStatus.state===`error`?(a(),d(`div`,R,t(n.$t(`search.indexUnavailable`)),1)):u(``,!0),c(y,{dark:``,class:`q-my-md`}),e(S).loading?(a(),d(`div`,z,t(n.$t(`search.loading`)),1)):e(S).error?(a(),d(`div`,B,t(n.$t(`search.error`,{message:e(S).error})),1)):e(S).query.trim().length>0&&e(S).results.length===0?(a(),d(`div`,V,t(n.$t(`search.noResults`)),1)):e(S).results.length>0?(a(),d(`div`,H,[(a(!0),d(f,null,h(e(S).results,(r,i)=>(a(),d(`div`,{key:`${r.workspaceId}-${r.timestamp}-${i}`,class:`search-result q-pa-sm q-mb-sm cursor-pointer`,onClick:e=>ne(r)},[p(`div`,W,[p(`span`,G,t(r.workspaceName),1),r.archived?(a(),l(T,{key:0,color:`kobo-3`,class:`q-ml-xs`,label:n.$t(`common.archive`)},null,8,[`label`])):u(``,!0),c(C),c(T,{color:r.type===`user:message`?`blue-grey-7`:`primary`,class:`q-mr-sm`,label:re(r.type)},null,8,[`color`,`label`]),p(`span`,K,t(e(X)(r.timestamp)),1)]),p(`div`,q,t(r.snippet),1)],8,U))),128))])):u(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-2ac4f1d8`]]);export{J as default};