@loicngr/kobo 1.6.14 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (200) hide show
  1. package/README.md +4 -3
  2. package/dist/mcp-server/kobo-tasks-server.js +51 -0
  3. package/dist/server/db/migrations.js +40 -0
  4. package/dist/server/db/schema.js +7 -5
  5. package/dist/server/index.js +12 -11
  6. package/dist/server/routes/workspaces.js +207 -26
  7. package/dist/server/services/agent/engines/claude-code/capabilities.js +1 -1
  8. package/dist/server/services/agent/engines/claude-code/engine.js +237 -132
  9. package/dist/server/services/agent/engines/claude-code/event-mapper.js +234 -0
  10. package/dist/server/services/agent/engines/claude-code/options-builder.js +68 -0
  11. package/dist/server/services/agent/engines/claude-code/precompact-hook.js +27 -0
  12. package/dist/server/services/agent/engines/types.js +1 -0
  13. package/dist/server/services/agent/orchestrator.js +536 -94
  14. package/dist/server/services/agent/session-controller.js +14 -43
  15. package/dist/server/services/auto-loop-service.js +17 -6
  16. package/dist/server/services/content-migration-service.js +24 -94
  17. package/dist/server/services/usage/poller.js +4 -1
  18. package/dist/server/services/wakeup-service.js +8 -9
  19. package/dist/server/services/workspace-service.js +40 -36
  20. package/dist/server/utils/git-ops.js +67 -5
  21. package/package.json +2 -1
  22. package/src/client/dist/spa/assets/ActivityFeed-CIJPN8TH.js +7 -0
  23. package/src/client/dist/spa/assets/ActivityFeed-LXnbg3ff.css +1 -0
  24. package/src/client/dist/spa/assets/ClosePopup-DzB3mDtj.js +1 -0
  25. package/src/client/dist/spa/assets/CreatePage-BE3xfQsC.css +1 -0
  26. package/src/client/dist/spa/assets/CreatePage-U6TtJzNe.js +2 -0
  27. package/src/client/dist/spa/assets/DiffViewer-D1Sdu307.css +1 -0
  28. package/src/client/dist/spa/assets/DiffViewer-Di85TBIi.js +7 -0
  29. package/src/client/dist/spa/assets/HealthPage-B7aWFxAZ.js +1 -0
  30. package/src/client/dist/spa/assets/{MainLayout-C3TUaYvQ.js → MainLayout-BHBrz4c9.js} +17 -17
  31. package/src/client/dist/spa/assets/MainLayout-Dba6SdpU.css +1 -0
  32. package/src/client/dist/spa/assets/QCheckbox-CcY7ZSk9.js +1 -0
  33. package/src/client/dist/spa/assets/QChip-BhT0W2Dg.js +1 -0
  34. package/src/client/dist/spa/assets/QExpansionItem-VS4b4eY6.js +1 -0
  35. package/src/client/dist/spa/assets/QInput-D4WJro4e.js +1 -0
  36. package/src/client/dist/spa/assets/QMenu-CchbRXbp.js +1 -0
  37. package/src/client/dist/spa/assets/{QPage-yqdKDG7-.js → QPage-Cu7zkfc6.js} +1 -1
  38. package/src/client/dist/spa/assets/QRadio-DaZhdLCg.js +1 -0
  39. package/src/client/dist/spa/assets/QResizeObserver-Cf79V-VZ.js +1 -0
  40. package/src/client/dist/spa/assets/QScrollArea-DrVTDLU0.js +1 -0
  41. package/src/client/dist/spa/assets/QTabPanels-HXz-evuj.js +1 -0
  42. package/src/client/dist/spa/assets/QToggle-CGpiJLDJ.js +1 -0
  43. package/src/client/dist/spa/assets/QTooltip-DjJYMTkN.js +1 -0
  44. package/src/client/dist/spa/assets/SearchPage-CVm-sqxH.js +1 -0
  45. package/src/client/dist/spa/assets/SettingsPage-ayDKGo9H.js +1 -0
  46. package/src/client/dist/spa/assets/SettingsPage-wTBCvK6t.css +1 -0
  47. package/src/client/dist/spa/assets/WorkspacePage-DQxGe62K.css +1 -0
  48. package/src/client/dist/spa/assets/WorkspacePage-xaVy8s5i.js +4 -0
  49. package/src/client/dist/spa/assets/build-path-tree-CdY1A6aP.js +1 -0
  50. package/src/client/dist/spa/assets/{cssMode-wNaxOrgG.js → cssMode-BVNBMOxh.js} +1 -1
  51. package/src/client/dist/spa/assets/documents-D6A3wRry.js +1 -0
  52. package/src/client/dist/spa/assets/{editor.api-CcDntllS.js → editor.api-D6Vfp5yv.js} +1 -1
  53. package/src/client/dist/spa/assets/{editor.main-Chu4hc0J.js → editor.main-CTCYF6V4.js} +3 -3
  54. package/src/client/dist/spa/assets/{expand-template-CcQus77v.js → expand-template-vHV2iwXf.js} +1 -1
  55. package/src/client/dist/spa/assets/{formatters-CX2gvLFv.js → formatters-ejxELb0M.js} +1 -1
  56. package/src/client/dist/spa/assets/{freemarker2-CO_b202E.js → freemarker2-nmzwPmzi.js} +1 -1
  57. package/src/client/dist/spa/assets/{handlebars-CJnTWNLs.js → handlebars-CI9lR7Ef.js} +1 -1
  58. package/src/client/dist/spa/assets/{html-DeArYseI.js → html-BQ21REnv.js} +1 -1
  59. package/src/client/dist/spa/assets/{htmlMode-BnNgEgdx.js → htmlMode-io5J5Qr1.js} +1 -1
  60. package/src/client/dist/spa/assets/i18n-Do8Kn8n0.js +1 -0
  61. package/src/client/dist/spa/assets/index-C_e7KOYh.js +2 -0
  62. package/src/client/dist/spa/assets/{javascript-C0pxfNu4.js → javascript--u9PDBCv.js} +1 -1
  63. package/src/client/dist/spa/assets/{jsonMode-ety87201.js → jsonMode-DBG5llk4.js} +1 -1
  64. package/src/client/dist/spa/assets/{kobo-commands-Cpl4IFon.js → kobo-commands-DiUm1Y34.js} +1 -1
  65. package/src/client/dist/spa/assets/{liquid-kanevKvC.js → liquid-DxAS4nYF.js} +1 -1
  66. package/src/client/dist/spa/assets/marked.esm-DuOsJx63.js +60 -0
  67. package/src/client/dist/spa/assets/{mdx-DkmtbRD7.js → mdx-BNXTiODW.js} +1 -1
  68. package/src/client/dist/spa/assets/models-DNYEhFF7.js +1 -0
  69. package/src/client/dist/spa/assets/{monaco.contribution-DsZsua59.js → monaco.contribution-CT3LAK0J.js} +2 -2
  70. package/src/client/dist/spa/assets/{python-DrxH1xl7.js → python-DztNww13.js} +1 -1
  71. package/src/client/dist/spa/assets/{razor-CU4khv8N.js → razor-Cyr82NZF.js} +1 -1
  72. package/src/client/dist/spa/assets/settings-Dbx1_ksA.js +1 -0
  73. package/src/client/dist/spa/assets/symbols-BVRrMH2r.js +1 -0
  74. package/src/client/dist/spa/assets/touch-Co9pfjUU.js +1 -0
  75. package/src/client/dist/spa/assets/{tsMode-CQ5yxoz_.js → tsMode-CbQVgsIP.js} +1 -1
  76. package/src/client/dist/spa/assets/{typescript-CSwKmP7l.js → typescript-UHOe4d1S.js} +1 -1
  77. package/src/client/dist/spa/assets/use-checkbox-DzHmcu7s.js +1 -0
  78. package/src/client/dist/spa/assets/use-id-CDuXkR0Z.js +1 -0
  79. package/src/client/dist/spa/assets/use-panel-Br8QNRMk.js +1 -0
  80. package/src/client/dist/spa/assets/{xml-9bnWANPJ.js → xml-DC88eFpV.js} +1 -1
  81. package/src/client/dist/spa/assets/{yaml-sUtDJGxo.js → yaml-DSTsIRJr.js} +1 -1
  82. package/src/client/dist/spa/index.html +11 -10
  83. package/src/mcp-server/kobo-tasks-server.ts +60 -1
  84. package/dist/server/services/agent/engines/claude-code/args-builder.js +0 -57
  85. package/dist/server/services/agent/engines/claude-code/mcp-config.js +0 -23
  86. package/dist/server/services/agent/engines/claude-code/stream-parser.js +0 -386
  87. package/src/client/dist/spa/assets/ActivityFeed-Be0QQryJ.css +0 -1
  88. package/src/client/dist/spa/assets/ActivityFeed-BtIOkIy6.js +0 -8
  89. package/src/client/dist/spa/assets/ClosePopup-DkLittac.js +0 -1
  90. package/src/client/dist/spa/assets/CreatePage-D6Q3nxkX.js +0 -2
  91. package/src/client/dist/spa/assets/CreatePage-DJbZH8wp.css +0 -1
  92. package/src/client/dist/spa/assets/DiffViewer-1s165rFm.css +0 -1
  93. package/src/client/dist/spa/assets/DiffViewer-D5u9p7il.js +0 -2
  94. package/src/client/dist/spa/assets/HealthPage-Cr7aAUy6.js +0 -1
  95. package/src/client/dist/spa/assets/MainLayout-CBnSwSfy.css +0 -1
  96. package/src/client/dist/spa/assets/QChip-bl3YRhax.js +0 -1
  97. package/src/client/dist/spa/assets/QExpansionItem-CWw6ZujM.js +0 -1
  98. package/src/client/dist/spa/assets/QScrollArea-DpCqRRE0.js +0 -1
  99. package/src/client/dist/spa/assets/QSeparator-DNSiXYrN.js +0 -1
  100. package/src/client/dist/spa/assets/QSlideTransition-BQxI8l5r.js +0 -1
  101. package/src/client/dist/spa/assets/QTabPanels-C4bZGqml.js +0 -1
  102. package/src/client/dist/spa/assets/QTooltip-BIDjo2hJ.js +0 -1
  103. package/src/client/dist/spa/assets/SearchPage-CavRaij6.js +0 -1
  104. package/src/client/dist/spa/assets/SettingsPage-B8DhSZw7.css +0 -1
  105. package/src/client/dist/spa/assets/SettingsPage-C13T1l_t.js +0 -1
  106. package/src/client/dist/spa/assets/TouchPan-vsl78kxF.js +0 -1
  107. package/src/client/dist/spa/assets/WorkspacePage-BEqEuPrb.js +0 -4
  108. package/src/client/dist/spa/assets/WorkspacePage-k2pgeRoy.css +0 -1
  109. package/src/client/dist/spa/assets/build-path-tree-BeAS10oa.js +0 -1
  110. package/src/client/dist/spa/assets/documents-Cw05r3zs.js +0 -60
  111. package/src/client/dist/spa/assets/i18n-CuT4b7ns.js +0 -1
  112. package/src/client/dist/spa/assets/index-CZA4BFN5.js +0 -2
  113. package/src/client/dist/spa/assets/models-CPFeBEQS.js +0 -1
  114. package/src/client/dist/spa/assets/private.use-form-Dlb0iQZh.js +0 -1
  115. package/src/client/dist/spa/assets/scroll-CYWyxBdv.js +0 -1
  116. package/src/client/dist/spa/assets/settings-CAILUJXO.js +0 -1
  117. package/src/client/dist/spa/assets/stats-C3n1k51k.js +0 -1
  118. package/src/client/dist/spa/assets/symbols-DCYodwb2.js +0 -1
  119. package/src/client/dist/spa/assets/touch-Bj_Fr4kC.js +0 -1
  120. package/src/client/dist/spa/assets/use-checkbox-B_o-iLG2.js +0 -1
  121. package/src/client/dist/spa/assets/use-id-C93QQwrt.js +0 -1
  122. /package/src/client/dist/spa/assets/{QBadge-DqtcDv8D.js → QBadge-fsQ2AokU.js} +0 -0
  123. /package/src/client/dist/spa/assets/{QItemLabel-Codqjisk.js → QItemLabel-DWwenW2S.js} +0 -0
  124. /package/src/client/dist/spa/assets/{QItemSection-CiY_LK5Y.js → QItemSection-KFAnxzMK.js} +0 -0
  125. /package/src/client/dist/spa/assets/{QList-Bl9824vi.js → QList-NmIE6Rd9.js} +0 -0
  126. /package/src/client/dist/spa/assets/{QSpace-BNr0AftG.js → QSpace-COlmM_4F.js} +0 -0
  127. /package/src/client/dist/spa/assets/{QSpinnerDots-DEiRooBD.js → QSpinnerDots-DwtnRN2r.js} +0 -0
  128. /package/src/client/dist/spa/assets/{_plugin-vue_export-helper-r4mAJOHR.js → _plugin-vue_export-helper-B8bB5DBd.js} +0 -0
  129. /package/src/client/dist/spa/assets/{abap-Bgec7Keq.js → abap-DzK-OTGh.js} +0 -0
  130. /package/src/client/dist/spa/assets/{apex-VBlPwEoQ.js → apex-Bj60_dRt.js} +0 -0
  131. /package/src/client/dist/spa/assets/{azcli-DKqrEFBx.js → azcli-B6NwaBAZ.js} +0 -0
  132. /package/src/client/dist/spa/assets/{bat-DdgQWy_0.js → bat-bf7wXV68.js} +0 -0
  133. /package/src/client/dist/spa/assets/{bicep-CRMM43EB.js → bicep-C_bg8UgA.js} +0 -0
  134. /package/src/client/dist/spa/assets/{cameligo-UatALtML.js → cameligo-CTWw4D4B.js} +0 -0
  135. /package/src/client/dist/spa/assets/{clojure-D8JU08RA.js → clojure-CgdPoH0r.js} +0 -0
  136. /package/src/client/dist/spa/assets/{coffee-C56wu358.js → coffee-gHQfdA5M.js} +0 -0
  137. /package/src/client/dist/spa/assets/{cpp-CyZLvhJG.js → cpp-BM4Jj4aW.js} +0 -0
  138. /package/src/client/dist/spa/assets/{csharp-BJl3ixva.js → csharp-D8-bh4Cd.js} +0 -0
  139. /package/src/client/dist/spa/assets/{csp-CxEKxmO-.js → csp-CXBxRx0n.js} +0 -0
  140. /package/src/client/dist/spa/assets/{css-B0t_muXd.js → css-DKjIxrmY.js} +0 -0
  141. /package/src/client/dist/spa/assets/{cypher-D1hqiMFD.js → cypher-C5e5inIh.js} +0 -0
  142. /package/src/client/dist/spa/assets/{dart-Bz550Pyv.js → dart-BhRHHm4x.js} +0 -0
  143. /package/src/client/dist/spa/assets/{dockerfile-CIXgVAuA.js → dockerfile-DW5REF8E.js} +0 -0
  144. /package/src/client/dist/spa/assets/{ecl-D9qbvZoA.js → ecl-Bw4Hg3n_.js} +0 -0
  145. /package/src/client/dist/spa/assets/{elixir-b2M38fAy.js → elixir-DHmoBvpZ.js} +0 -0
  146. /package/src/client/dist/spa/assets/{flow9-Dq1UYMkt.js → flow9-BsFExz3v.js} +0 -0
  147. /package/src/client/dist/spa/assets/{fsharp-CFNadkg7.js → fsharp-BaeLhgfq.js} +0 -0
  148. /package/src/client/dist/spa/assets/{go-dSur1iB2.js → go-Bd-NFKIC.js} +0 -0
  149. /package/src/client/dist/spa/assets/{graphql-qyhAo11d.js → graphql-DZVerJfy.js} +0 -0
  150. /package/src/client/dist/spa/assets/{hcl-DFzjMyzm.js → hcl-CAVzrZfH.js} +0 -0
  151. /package/src/client/dist/spa/assets/{ini-TdzA8TIl.js → ini-CyXdX58t.js} +0 -0
  152. /package/src/client/dist/spa/assets/{is-DUKatk8N.js → is-BbsvEMaT.js} +0 -0
  153. /package/src/client/dist/spa/assets/{java-CSGA9pkE.js → java-B5pNgvhy.js} +0 -0
  154. /package/src/client/dist/spa/assets/{julia-9izz5OsY.js → julia-XRhmV3AN.js} +0 -0
  155. /package/src/client/dist/spa/assets/{kotlin-DuPK7AtF.js → kotlin-DOd3J5vr.js} +0 -0
  156. /package/src/client/dist/spa/assets/{less-B8d93iCg.js → less-veZSnyw6.js} +0 -0
  157. /package/src/client/dist/spa/assets/{lexon-DWtEIyu7.js → lexon-QWGkuK0H.js} +0 -0
  158. /package/src/client/dist/spa/assets/{lua-Ciq0OGgt.js → lua-CYGpjuO5.js} +0 -0
  159. /package/src/client/dist/spa/assets/{m3-Cki6JWj_.js → m3-yNnrZkdc.js} +0 -0
  160. /package/src/client/dist/spa/assets/{markdown-Cu47xwU0.js → markdown-BCSWEPSX.js} +0 -0
  161. /package/src/client/dist/spa/assets/{mips-BM8ui995.js → mips-OpYmcC30.js} +0 -0
  162. /package/src/client/dist/spa/assets/{msdax-DqLio0_c.js → msdax-2oxoTO9Z.js} +0 -0
  163. /package/src/client/dist/spa/assets/{mysql-v1wbjJOq.js → mysql-5KlC-K_9.js} +0 -0
  164. /package/src/client/dist/spa/assets/{objective-c-CQl3PGSB.js → objective-c-CcDCgtLx.js} +0 -0
  165. /package/src/client/dist/spa/assets/{pascal-D4iW0ZtD.js → pascal-BZGsbaEV.js} +0 -0
  166. /package/src/client/dist/spa/assets/{pascaligo-BdC9CZdj.js → pascaligo-DtD5qU3G.js} +0 -0
  167. /package/src/client/dist/spa/assets/{perl-BL10m4XD.js → perl-C1jNNS3E.js} +0 -0
  168. /package/src/client/dist/spa/assets/{pgsql-Be_oqVo3.js → pgsql-CT0fhiZa.js} +0 -0
  169. /package/src/client/dist/spa/assets/{php-BtvXSFRI.js → php-D6DrXoPM.js} +0 -0
  170. /package/src/client/dist/spa/assets/{pla-B2vUy15C.js → pla-b3-HN2pF.js} +0 -0
  171. /package/src/client/dist/spa/assets/{postiats-CbmTTfXr.js → postiats-Bin2ApVS.js} +0 -0
  172. /package/src/client/dist/spa/assets/{powerquery-DszLhJGx.js → powerquery-7ASnn-ZG.js} +0 -0
  173. /package/src/client/dist/spa/assets/{powershell-B0dYktF6.js → powershell-t4p7sU1H.js} +0 -0
  174. /package/src/client/dist/spa/assets/{protobuf-CZvaj1VX.js → protobuf-BUGeWa_j.js} +0 -0
  175. /package/src/client/dist/spa/assets/{pug-CPDx1B3S.js → pug-BuKcgC9s.js} +0 -0
  176. /package/src/client/dist/spa/assets/{qsharp-CDP9TFLl.js → qsharp-DSMtI_O7.js} +0 -0
  177. /package/src/client/dist/spa/assets/{r-8DbbFX2l.js → r-DMlFgn7A.js} +0 -0
  178. /package/src/client/dist/spa/assets/{redis-DRWj9MtJ.js → redis-cXItkC5u.js} +0 -0
  179. /package/src/client/dist/spa/assets/{redshift-C6cElE_5.js → redshift-BZVbW7HE.js} +0 -0
  180. /package/src/client/dist/spa/assets/{restructuredtext-W9pS9n3m.js → restructuredtext-BzjxwS8h.js} +0 -0
  181. /package/src/client/dist/spa/assets/{ruby-BKnzWnk-.js → ruby-C5nyLV4l.js} +0 -0
  182. /package/src/client/dist/spa/assets/{rust-YPCclWwe.js → rust-BcmMsHdf.js} +0 -0
  183. /package/src/client/dist/spa/assets/{sb-BgM4DTFb.js → sb-Dnb1iy6B.js} +0 -0
  184. /package/src/client/dist/spa/assets/{scala-fz1OPLMl.js → scala-anMIFYpA.js} +0 -0
  185. /package/src/client/dist/spa/assets/{scheme-8Uz1RIbu.js → scheme-BItQTe08.js} +0 -0
  186. /package/src/client/dist/spa/assets/{scss-Djo3IYXr.js → scss-BOv51BJ5.js} +0 -0
  187. /package/src/client/dist/spa/assets/{shell-CINF5Tx_.js → shell-BsRYRTNN.js} +0 -0
  188. /package/src/client/dist/spa/assets/{solidity-GgiNEuUm.js → solidity-BtuLgGDx.js} +0 -0
  189. /package/src/client/dist/spa/assets/{sophia-Culj97P9.js → sophia-B0Vkc5MF.js} +0 -0
  190. /package/src/client/dist/spa/assets/{sparql-C2ZlpxOY.js → sparql-B7lvkZQM.js} +0 -0
  191. /package/src/client/dist/spa/assets/{sql-BEf5Pg7Y.js → sql-DvP5MpA3.js} +0 -0
  192. /package/src/client/dist/spa/assets/{st-CT6UUoeH.js → st-GVUeyB3U.js} +0 -0
  193. /package/src/client/dist/spa/assets/{swift-B5g0xTG3.js → swift-DSPIoCjm.js} +0 -0
  194. /package/src/client/dist/spa/assets/{systemverilog-CEgQz9DR.js → systemverilog-Icj2-k23.js} +0 -0
  195. /package/src/client/dist/spa/assets/{tcl-D0qL2L0I.js → tcl-Cd8KQcm-.js} +0 -0
  196. /package/src/client/dist/spa/assets/{twig-BFUAVf1E.js → twig-CBHmt8z3.js} +0 -0
  197. /package/src/client/dist/spa/assets/{typespec-CjVVcNKm.js → typespec-Ckc037mq.js} +0 -0
  198. /package/src/client/dist/spa/assets/{vb-CZJr-DQz.js → vb-B97GW9Wb.js} +0 -0
  199. /package/src/client/dist/spa/assets/{vue-i18n-BJlZEYnA.js → vue-i18n-eUDnMrPl.js} +0 -0
  200. /package/src/client/dist/spa/assets/{wgsl-ivoXUo2e.js → wgsl-DIKmb3YH.js} +0 -0
@@ -1 +0,0 @@
1
- .acceptance-item[data-v-20a94a3d]{padding:2px 0}.acceptance-item[data-v-20a94a3d]:hover{background-color:#ffffff08}.acceptance-item:hover .criterion-delete-btn[data-v-20a94a3d]{opacity:1}.criterion-delete-btn[data-v-20a94a3d]{opacity:0;transition:opacity .15s}.acceptance-title[data-v-20a94a3d]{word-break:break-word;cursor:text;line-height:1.4}.text-strike[data-v-20a94a3d]{opacity:.7;text-decoration:line-through}.criterion-input[data-v-20a94a3d] .q-field__control{height:22px;min-height:22px;padding:0}.criterion-input[data-v-20a94a3d] input{color:#e0e0e0;font-size:12px}.criterion-input[data-v-20a94a3d] input::placeholder{color:#555}.criterion-add-row[data-v-20a94a3d],.todo-item[data-v-6a3613f7]{padding:2px 0}.todo-title[data-v-6a3613f7]{word-break:break-word;line-height:1.4}.text-strike[data-v-6a3613f7]{opacity:.7;text-decoration:line-through}.documents-tree[data-v-89e5de13] .q-tree__node--selected>.q-tree__node-header{background:#7986cb26}.documents-tree[data-v-89e5de13] .q-tree__node-header{padding:2px 4px}.document-content[data-v-89e5de13]{color:#d0d0d0;overflow-wrap:break-word;font-size:12px;line-height:1.6}.document-content[data-v-89e5de13] h1{color:#e0e0e0;margin:16px 0 8px;font-size:16px}.document-content[data-v-89e5de13] h2{color:#e0e0e0;margin:14px 0 6px;font-size:14px}.document-content[data-v-89e5de13] h3{color:#e0e0e0;margin:12px 0 4px;font-size:13px}.document-content[data-v-89e5de13] code{background:#1a1a2e;border-radius:3px;padding:1px 4px;font-family:Roboto Mono,monospace;font-size:11px}.document-content[data-v-89e5de13] pre{background:#1a1a2e;border-radius:6px;padding:8px 12px;font-size:11px;overflow-x:auto}.document-content[data-v-89e5de13] pre code{background:0 0;padding:0}.document-content[data-v-89e5de13] ul,.document-content[data-v-89e5de13] ol{padding-left:20px}.document-content[data-v-89e5de13] li{margin-bottom:2px}.document-content[data-v-89e5de13] input[type=checkbox]{pointer-events:none;margin-right:6px}.document-content[data-v-89e5de13] table{border-collapse:collapse;width:100%;margin:8px 0;font-size:11px}.document-content[data-v-89e5de13] th,.document-content[data-v-89e5de13] td{text-align:left;border:1px solid #2a2a4a;padding:4px 8px}.document-content[data-v-89e5de13] th{color:#e0e0e0;background:#1a1a2e}.document-content[data-v-89e5de13] blockquote{color:#a0a0b0;border-left:3px solid #4a4a6a;margin:8px 0;padding:4px 12px}.document-content[data-v-89e5de13] a{color:#818cf8}.document-content[data-v-89e5de13] hr{border:none;border-top:1px solid #2a2a4a;margin:12px 0}.git-btn[data-v-e61165d6]{padding:2px 8px;font-size:11px}.git-sync-btn[data-v-e61165d6]{padding:2px 0}.git-sync-btn[data-v-e61165d6] .q-btn__content{padding:0 8px}.git-sync-btn[data-v-e61165d6] .q-btn-dropdown__arrow-container{border-left:1px solid #ffffff1f;padding:0 4px}.git-sync-btn[data-v-e61165d6] .q-btn-dropdown--split{gap:0}.commit-toggle[data-v-e61165d6]:hover{background-color:#ffffff08;border-radius:3px}.commit-list[data-v-e61165d6]{border-left:2px solid #ffffff0a;max-height:260px;margin-left:7px;padding-left:6px;overflow-y:auto}.commit-item[data-v-e61165d6]{border-radius:3px;padding:3px 4px;font-size:11px;line-height:1.3;transition:background-color .1s}.commit-item[data-v-e61165d6]:hover{background-color:#818cf814}.commit-item-icon[data-v-e61165d6]{flex-shrink:0}.commit-sha[data-v-e61165d6]{flex-shrink:0;font-family:Roboto Mono,monospace;font-size:10.5px}.commit-subject[data-v-e61165d6]{min-width:0;font-size:11px}.git-branch-code{color:#c7d2fe;white-space:nowrap;background-color:#818cf824;border-radius:3px;padding:1px 5px;font-family:Roboto Mono,monospace;font-size:11px}.stat-group-label[data-v-01285f20]{text-transform:uppercase;letter-spacing:.05em;color:#888;font-size:10px;font-weight:600}.stat-row[data-v-01285f20]{justify-content:space-between;align-items:center;padding:2px 0;display:flex}.stat-label[data-v-01285f20]{color:#999;font-size:12px}.stat-value[data-v-01285f20]{color:#ddd;font-family:Roboto Mono,monospace;font-size:12px;font-weight:500}.stat-value-muted[data-v-01285f20]{color:#999;margin-left:4px;font-size:11px}.stat-subtext[data-v-01285f20]{color:#8a8aa8;font-size:11px}.usage-breakdown[data-v-01285f20]{background:#2a2a4f;border:1px solid #3b3b61;border-radius:999px;width:100%;height:8px;display:flex;overflow:hidden}.usage-breakdown-input[data-v-01285f20]{background:linear-gradient(90deg,#6d76ff 0%,#8f96ff 100%);height:100%}.usage-breakdown-output[data-v-01285f20]{background:linear-gradient(90deg,#7f6bff 0%,#a598ff 100%);height:100%}.stat-value-ellipsis[data-v-01285f20]{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.stat-section[data-v-01285f20]{justify-content:space-between;align-items:center;display:flex}.subagents-panel[data-v-dd805632]{overflow-y:auto}.subagent-item[data-v-dd805632]{background:#1e1e3a;border:1px solid #2a2a4a}.task-item[data-v-4bc9713a]{padding:2px 0}.task-item[data-v-4bc9713a]:hover{background-color:#ffffff08}.task-item:hover .task-delete-btn[data-v-4bc9713a]{opacity:1}.task-delete-btn[data-v-4bc9713a]{opacity:0;transition:opacity .15s}.task-title[data-v-4bc9713a]{word-break:break-word;cursor:text;line-height:1.4}.text-strike[data-v-4bc9713a]{opacity:.7;text-decoration:line-through}.task-input[data-v-4bc9713a] .q-field__control{height:22px;min-height:22px;padding:0}.task-input[data-v-4bc9713a] input{color:#e0e0e0;font-size:12px}.task-input[data-v-4bc9713a] input::placeholder{color:#555}.task-add-row[data-v-4bc9713a]{padding:2px 0}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.xterm .xterm-accessibility-tree:not(.debug) ::-moz-selection{color:#0000}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:-moz-fit-content;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}.log-content[data-v-d988f9ab]{max-height:60vh;overflow-y:auto}.log-text[data-v-d988f9ab]{color:#ccc;white-space:pre-wrap;word-break:break-all;background:#0d0d1a;margin:0;font-family:JetBrains Mono,Fira Code,monospace;font-size:11px}.dd-panel[data-v-9d25d6ee],.tools-panel[data-v-5a159042]{min-height:48px}.auto-loop-spin[data-v-5bfef979]{animation:2s linear infinite auto-loop-spin-5bfef979}@keyframes auto-loop-spin-5bfef979{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.workspace-list[data-v-310c6afd]{background-color:#16162a;overflow-x:hidden}.wl-search[data-v-310c6afd]{background-color:#224;padding:0 8px}.wl-search[data-v-310c6afd] .q-field__control{height:32px}.wl-search[data-v-310c6afd] input{color:#ccc;font-size:12px}.wl-group-header[data-v-310c6afd]:hover{background-color:#ffffff08}.wl-project-group+.wl-project-group[data-v-310c6afd]{margin-top:6px}.wl-project-label[data-v-310c6afd]{align-items:center;padding-bottom:2px;font-size:11px;display:flex}.wl-item[data-v-310c6afd]{background-color:#224;margin-bottom:4px;transition:background-color .15s,box-shadow .15s;position:relative}.wl-item[data-v-310c6afd]:last-child{margin-bottom:0}.wl-item[data-v-310c6afd]:hover{background-color:#2a2a4a}.wl-item--selected[data-v-310c6afd]{background-color:#393969;outline:1.5px solid #6c63fff2;box-shadow:0 0 0 1px #6c63ff4d,0 2px 8px #6c63ff40}.wl-item--selected[data-v-310c6afd]:hover{background-color:#41417a}.wl-item--selected .wl-item-name[data-v-310c6afd]{color:#fff!important;opacity:1!important}.wl-item-action[data-v-310c6afd]{position:absolute;top:4px;right:4px}.wl-item--archived .wl-item-action[data-v-310c6afd]{opacity:0;transition:opacity .15s}.wl-item--archived:hover .wl-item-action[data-v-310c6afd]{opacity:1}.wl-item-unarchive[data-v-310c6afd]{right:28px}.wl-item-delete[data-v-310c6afd]{right:4px}.wl-item--archived[data-v-310c6afd]{opacity:.6;background-color:#1a1a30}.wl-item--archived[data-v-310c6afd]:hover{opacity:.85}.wl-item--archived.wl-item--selected[data-v-310c6afd]{opacity:1}.dd-dot[data-v-310c6afd]{border-radius:50%;flex-shrink:0;width:6px;height:6px}.dd-dot--running[data-v-310c6afd]{background-color:#22c55e;box-shadow:0 0 4px #22c55e80}.bg-dark[data-v-4fdcc6c3]{background-color:#16162a!important;border-color:#2a2a4a!important}.resize-handle[data-v-4fdcc6c3]{cursor:col-resize;z-index:10;width:4px;height:100%;transition:background-color .15s;position:absolute;top:0;right:-2px}.resize-handle[data-v-4fdcc6c3]:hover,.resize-handle[data-v-4fdcc6c3]:active{background-color:#6c63ff80}.resize-handle--right[data-v-4fdcc6c3]{left:-2px;right:auto}.vertical-resize-handle[data-v-4fdcc6c3]{cursor:row-resize;background-color:#2a2a4a;height:4px;transition:background-color .15s}.vertical-resize-handle[data-v-4fdcc6c3]:hover,.vertical-resize-handle[data-v-4fdcc6c3]:active{background-color:#6c63ff80}
@@ -1 +0,0 @@
1
- import{H as e,Q as t,S as n,k as r,l as i,y as a}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{C as o,D as s,M as c,O as l,f as u,i as d,n as f,o as p,p as m,r as h,s as g,t as _}from"./QIcon-B0-pH3Qs.js";import{n as v}from"./QSeparator-DNSiXYrN.js";import{a as y,i as b,o as x,r as S}from"./settings-CAILUJXO.js";import{S as C,_ as w,b as T,g as ee,l as te,n as ne,o as E,u as re,v as ie,x as D,y as O}from"./scroll-CYWyxBdv.js";import{c as k,l as ae}from"./QBtn-DHwAb18J.js";import{a as A,c as oe,i as j,l as se,n as M,o as ce,r as le,s as N,u as P}from"./QTooltip-BIDjo2hJ.js";var F=!1;{let e=document.createElement(`div`);e.setAttribute(`dir`,`rtl`),Object.assign(e.style,{width:`1px`,height:`1px`,overflow:`auto`});let t=document.createElement(`div`);Object.assign(t.style,{width:`1000px`,height:`1px`}),document.body.appendChild(e),e.appendChild(t),e.scrollLeft=-1e3,F=e.scrollLeft>=0,e.remove()}var I=l({name:`QMenu`,inheritAttrs:!1,props:{...P,...T,...h,...w,persistent:Boolean,autoClose:Boolean,separateClosePopup:Boolean,noEscDismiss:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,fit:Boolean,cover:Boolean,square:Boolean,anchor:{type:String,validator:A},self:{type:String,validator:A},offset:{type:Array,validator:j},scrollTarget:E,touchPosition:Boolean,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null}},emits:[...O,`click`,`escapeKey`],setup(l,{slots:u,emit:d,attrs:p}){let m=null,h,_,w,T=a(),{proxy:E}=T,{$q:O}=E,k=t(null),A=t(!1),j=i(()=>l.persistent!==!0&&l.noRouteDismiss!==!0),P=f(l,O),{registerTick:F,removeTick:I}=D(),{registerTimeout:L}=C(),{transitionProps:R,transitionStyle:ue}=ee(l),{localScrollTarget:z,changeScrollEvent:B,unconfigureScrollTarget:de}=oe(l,X),{anchorEl:V,canShow:fe}=se({showing:A}),{hide:H}=ie({showing:A,canShow:fe,handleShow:_e,handleHide:ve,hideOnRouteChange:j,processOnMount:!0}),{showPortal:U,hidePortal:W,renderPortal:pe}=te(T,k,be,`menu`),G={anchorEl:V,innerRef:k,onClickOutside(e){if(l.persistent!==!0&&A.value===!0)return H(e),(e.type===`touchstart`||e.target.classList.contains(`q-dialog__backdrop`))&&s(e),!0}},K=i(()=>M(l.anchor||(l.cover===!0?`center middle`:`bottom start`),O.lang.rtl)),me=i(()=>l.cover===!0?K.value:M(l.self||`top start`,O.lang.rtl)),he=i(()=>(l.square===!0?` q-menu--square`:``)+(P.value===!0?` q-menu--dark q-dark`:``)),ge=i(()=>l.autoClose===!0?{onClick:ye}:{}),q=i(()=>A.value===!0&&l.persistent!==!0);e(q,e=>{e===!0?(y(Q),ce(G)):(x(Q),N(G))});function J(){v(()=>{let e=k.value;e&&e.contains(document.activeElement)!==!0&&(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 _e(t){if(m=l.noRefocus===!1?document.activeElement:null,S(Z),U(),X(),h=void 0,t!==void 0&&(l.touchPosition||l.contextMenu)){let e=o(t);if(e.left!==void 0){let{top:t,left:n}=V.value.getBoundingClientRect();h={left:e.left-n,top:e.top-t}}}_===void 0&&(_=e(()=>O.screen.width+`|`+O.screen.height+`|`+l.self+`|`+l.anchor+`|`+O.lang.rtl,$)),l.noFocus!==!0&&document.activeElement.blur(),F(()=>{$(),l.noFocus!==!0&&J()}),L(()=>{O.platform.is.ios===!0&&(w=l.autoClose,k.value.click()),$(),U(!0),d(`show`,t)},l.transitionDuration)}function ve(e){I(),W(),Y(!0),m!==null&&(e===void 0||e.qClickOutside!==!0)&&(((e?.type.indexOf(`key`)===0?m.closest(`[tabindex]:not([tabindex^="-"])`):void 0)||m).focus(),m=null),L(()=>{W(!0),d(`hide`,e)},l.transitionDuration)}function Y(e){h=void 0,_!==void 0&&(_(),_=void 0),(e===!0||A.value===!0)&&(b(Z),de(),N(G),x(Q)),e!==!0&&(m=null)}function X(){(V.value!==null||l.scrollTarget!==void 0)&&(z.value=ne(V.value,l.scrollTarget),B(z.value,$))}function ye(e){w===!0?w=!1:(re(E,e),d(`click`,e))}function Z(e){q.value===!0&&l.noFocus!==!0&&ae(k.value,e.target)!==!0&&J()}function Q(e){l.noEscDismiss!==!0&&(d(`escapeKey`),H(e))}function $(){le({targetEl:k.value,offset:l.offset,anchorEl:V.value,anchorOrigin:K.value,selfOrigin:me.value,absoluteOffset:h,fit:l.fit,cover:l.cover,maxHeight:l.maxHeight,maxWidth:l.maxWidth})}function be(){return n(c,R.value,()=>A.value===!0?n(`div`,{role:`menu`,...p,ref:k,tabindex:-1,class:[`q-menu q-position-engine scroll`+he.value,p.class],style:[p.style,ue.value],...ge.value},g(u.default)):null)}return r(Y),Object.assign(E,{focus:J,updatePosition:$}),pe}}),L={xs:8,sm:10,md:14,lg:20,xl:24},R=l({name:`QChip`,props:{...h,...m,dense:Boolean,icon:String,iconRight:String,iconRemove:String,iconSelected:String,label:[String,Number],color:String,textColor:String,modelValue:{type:Boolean,default:!0},selected:{type:Boolean,default:null},square:Boolean,outline:Boolean,clickable:Boolean,removable:Boolean,removeAriaLabel:String,tabindex:[String,Number],disable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:[`update:modelValue`,`update:selected`,`remove`,`click`],setup(e,{slots:t,emit:r}){let{proxy:{$q:o}}=a(),c=f(e,o),l=u(e,L),m=i(()=>e.selected===!0||e.icon!==void 0),h=i(()=>e.selected===!0?e.iconSelected||o.iconSet.chip.selected:e.icon),g=i(()=>e.iconRemove||o.iconSet.chip.remove),v=i(()=>e.disable===!1&&(e.clickable===!0||e.selected!==null)),y=i(()=>{let t=e.outline===!0&&e.color||e.textColor;return`q-chip row inline no-wrap items-center`+(e.outline===!1&&e.color!==void 0?` bg-${e.color}`:``)+(t?` text-${t} q-chip--colored`:``)+(e.disable===!0?` disabled`:``)+(e.dense===!0?` q-chip--dense`:``)+(e.outline===!0?` q-chip--outline`:``)+(e.selected===!0?` q-chip--selected`:``)+(v.value===!0?` q-chip--clickable cursor-pointer non-selectable q-hoverable`:``)+(e.square===!0?` q-chip--square`:``)+(c.value===!0?` q-chip--dark q-dark`:``)}),b=i(()=>{let t=e.disable===!0?{tabindex:-1,"aria-disabled":`true`}:{tabindex:e.tabindex||0};return{chip:t,remove:{...t,role:`button`,"aria-hidden":`false`,"aria-label":e.removeAriaLabel||o.lang.label.remove}}});function x(e){e.keyCode===13&&S(e)}function S(t){e.disable||(r(`update:selected`,!e.selected),r(`click`,t))}function C(t){(t.keyCode===void 0||t.keyCode===13)&&(s(t),e.disable===!1&&(r(`update:modelValue`,!1),r(`remove`)))}function w(){let r=[];v.value===!0&&r.push(n(`div`,{class:`q-focus-helper`})),m.value===!0&&r.push(n(_,{class:`q-chip__icon q-chip__icon--left`,name:h.value}));let i=e.label===void 0?void 0:[n(`div`,{class:`ellipsis`},[e.label])];return r.push(n(`div`,{class:`q-chip__content col row no-wrap items-center q-anchor--skip`},p(t.default,i))),e.iconRight&&r.push(n(_,{class:`q-chip__icon q-chip__icon--right`,name:e.iconRight})),e.removable===!0&&r.push(n(_,{class:`q-chip__icon q-chip__icon--remove cursor-pointer`,name:g.value,...b.value.remove,onClick:C,onKeyup:C})),r}return()=>{if(e.modelValue===!1)return;let t={class:y.value,style:l.value};return v.value===!0&&Object.assign(t,b.value.chip,{onClick:S,onKeyup:x}),d(`div`,t,w(),`ripple`,e.ripple!==!1&&e.disable!==!0,()=>[[k,e.ripple]])}}});export{I as n,F as r,R as t};
@@ -1 +0,0 @@
1
- import{$ as e,H as t,Q as n,S as r,W as i,k as a,l as o,y as s}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{D as c,F as l,O as u,n as d,r as f,s as p,t as m}from"./QIcon-B0-pH3Qs.js";import{t as h}from"./QSeparator-DNSiXYrN.js";import{b as g,v as _,y as v}from"./scroll-CYWyxBdv.js";import{a as y}from"./QBtn-DHwAb18J.js";import{n as b,t as x}from"./use-id-C93QQwrt.js";import{n as S,t as C}from"./QItemSection-CiY_LK5Y.js";import{t as w}from"./QItemLabel-Codqjisk.js";import{t as T}from"./QSlideTransition-BQxI8l5r.js";var E=e({}),D=Object.keys(y),O=u({name:`QExpansionItem`,props:{...y,...g,...f,icon:String,label:String,labelLines:[Number,String],caption:String,captionLines:[Number,String],dense:Boolean,toggleAriaLabel:String,expandIcon:String,expandedIcon:String,expandIconClass:[Array,String,Object],duration:{},headerInsetLevel:Number,contentInsetLevel:Number,expandSeparator:Boolean,defaultOpened:Boolean,hideExpandIcon:Boolean,expandIconToggle:Boolean,switchToggleSide:Boolean,denseToggle:Boolean,group:String,popup:Boolean,headerStyle:[Array,String,Object],headerClass:[Array,String,Object]},emits:[...v,`click`,`afterShow`,`afterHide`],setup(e,{slots:u,emit:f}){let{proxy:{$q:g}}=s(),v=d(e,g),y=n(e.modelValue===null?e.defaultOpened:e.modelValue),O=n(null),k=x(),{show:A,hide:j,toggle:M}=_({showing:y}),N,P,F=o(()=>`q-expansion-item q-item-type q-expansion-item--${y.value===!0?`expanded`:`collapsed`} q-expansion-item--${e.popup===!0?`popup`:`standard`}`),I=o(()=>e.contentInsetLevel===void 0?null:{[`padding`+(g.lang.rtl===!0?`Right`:`Left`)]:e.contentInsetLevel*56+`px`}),L=o(()=>e.disable!==!0&&(e.href!==void 0||e.to!==void 0&&e.to!==null&&e.to!==``)),R=o(()=>{let t={};return D.forEach(n=>{t[n]=e[n]}),t}),z=o(()=>L.value===!0||e.expandIconToggle!==!0),B=o(()=>e.expandedIcon!==void 0&&y.value===!0?e.expandedIcon:e.expandIcon||g.iconSet.expansionItem[e.denseToggle===!0?`denseIcon`:`icon`]),V=o(()=>e.disable!==!0&&(L.value===!0||e.expandIconToggle===!0)),H=o(()=>({expanded:y.value===!0,detailsId:k.value,toggle:M,show:A,hide:j})),U=o(()=>{let t=e.toggleAriaLabel===void 0?g.lang.label[y.value===!0?`collapse`:`expand`](e.label):e.toggleAriaLabel;return{role:`button`,"aria-expanded":y.value===!0?`true`:`false`,"aria-controls":k.value,"aria-label":t}});t(()=>e.group,e=>{P?.(),e!==void 0&&Y()});function W(e){L.value!==!0&&M(e),f(`click`,e)}function G(e){e.keyCode===13&&K(e,!0)}function K(e,t){t!==!0&&e.qAvoidFocus!==!0&&O.value?.focus(),M(e),c(e)}function q(){f(`afterShow`)}function J(){f(`afterHide`)}function Y(){N===void 0&&(N=b()),y.value===!0&&(E[e.group]=N);let n=t(y,t=>{t===!0?E[e.group]=N:E[e.group]===N&&delete E[e.group]}),r=t(()=>E[e.group],(e,t)=>{t===N&&e!==void 0&&e!==N&&j()});P=()=>{n(),r(),E[e.group]===N&&delete E[e.group],P=void 0}}function X(){let t={class:[`q-focusable relative-position cursor-pointer${e.denseToggle===!0&&e.switchToggleSide===!0?` items-end`:``}`,e.expandIconClass],side:e.switchToggleSide!==!0,avatar:e.switchToggleSide},n=[r(m,{class:`q-expansion-item__toggle-icon`+(e.expandedIcon===void 0&&y.value===!0?` q-expansion-item__toggle-icon--rotated`:``),name:B.value})];return V.value===!0&&(Object.assign(t,{tabindex:0,...U.value,onClick:K,onKeyup:G}),n.unshift(r(`div`,{ref:O,class:`q-expansion-item__toggle-focus q-icon q-focus-helper q-focus-helper--rounded`,tabindex:-1}))),r(C,t,()=>n)}function Z(){let t;return u.header===void 0?(t=[r(C,()=>[r(w,{lines:e.labelLines},()=>e.label||``),e.caption?r(w,{lines:e.captionLines,caption:!0},()=>e.caption):null])],e.icon&&t[e.switchToggleSide===!0?`push`:`unshift`](r(C,{side:e.switchToggleSide===!0,avatar:e.switchToggleSide!==!0},()=>r(m,{name:e.icon})))):t=[].concat(u.header(H.value)),e.disable!==!0&&e.hideExpandIcon!==!0&&t[e.switchToggleSide===!0?`unshift`:`push`](X()),t}function Q(){let t={ref:`item`,style:e.headerStyle,class:e.headerClass,dark:v.value,disable:e.disable,dense:e.dense,insetLevel:e.headerInsetLevel};return z.value===!0&&(t.clickable=!0,t.onClick=W,Object.assign(t,L.value===!0?R.value:U.value)),r(S,t,Z)}function $(){return i(r(`div`,{key:`e-content`,class:`q-expansion-item__content relative-position`,style:I.value,id:k.value},p(u.default)),[[l,y.value]])}function ee(){let t=[Q(),r(T,{duration:e.duration,onShow:q,onHide:J},$)];return e.expandSeparator===!0&&t.push(r(h,{class:`q-expansion-item__border q-expansion-item__border--top absolute-top`,dark:v.value}),r(h,{class:`q-expansion-item__border q-expansion-item__border--bottom absolute-bottom`,dark:v.value})),t}return e.group!==void 0&&Y(),a(()=>{P?.()}),()=>r(`div`,{class:F.value},[r(`div`,{class:`q-expansion-item__container relative-position`},ee())])}});export{O as t};
@@ -1 +0,0 @@
1
- import{D as e,H as t,Q as n,S as r,W as i,j as a,k as o,l as s,y as c}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{O as l,a as u,n as d,r as f}from"./QIcon-B0-pH3Qs.js";import{o as p}from"./QSeparator-DNSiXYrN.js";import{c as m,s as h}from"./scroll-CYWyxBdv.js";import{r as g}from"./touch-Bj_Fr4kC.js";import{n as _,t as v}from"./TouchPan-vsl78kxF.js";import{d as y}from"./QTooltip-BIDjo2hJ.js";var b=l({props:[`store`,`barStyle`,`verticalBarStyle`,`horizontalBarStyle`],setup(e){return()=>[r(`div`,{class:e.store.scroll.vertical.barClass.value,style:[e.barStyle,e.verticalBarStyle],"aria-hidden":`true`,onMousedown:e.store.onVerticalMousedown}),r(`div`,{class:e.store.scroll.horizontal.barClass.value,style:[e.barStyle,e.horizontalBarStyle],"aria-hidden":`true`,onMousedown:e.store.onHorizontalMousedown}),i(r(`div`,{ref:e.store.scroll.vertical.ref,class:e.store.scroll.vertical.thumbClass.value,style:e.store.scroll.vertical.style.value,"aria-hidden":`true`}),e.store.thumbVertDir),i(r(`div`,{ref:e.store.scroll.horizontal.ref,class:e.store.scroll.horizontal.thumbClass.value,style:e.store.scroll.horizontal.style.value,"aria-hidden":`true`}),e.store.thumbHorizDir)]}}),x=[`vertical`,`horizontal`],S={vertical:{offset:`offsetY`,scroll:`scrollTop`,dir:`down`,dist:`y`},horizontal:{offset:`offsetX`,scroll:`scrollLeft`,dir:`right`,dist:`x`}},C={prevent:!0,mouse:!0,mouseAllDir:!0},w=e=>e>=250?50:Math.ceil(e/5),T=l({name:`QScrollArea`,props:{...f,thumbStyle:Object,verticalThumbStyle:Object,horizontalThumbStyle:Object,barStyle:[Array,String,Object],verticalBarStyle:[Array,String,Object],horizontalBarStyle:[Array,String,Object],verticalOffset:{type:Array,default:[0,0]},horizontalOffset:{type:Array,default:[0,0]},contentStyle:[Array,String,Object],contentActiveStyle:[Array,String,Object],delay:{type:[String,Number],default:1e3},visible:{type:Boolean,default:null},tabindex:[String,Number],onScroll:Function},setup(i,{slots:l,emit:f}){let T=n(!1),E=n(!1),D=n(!1),O={vertical:n(0),horizontal:n(0)},k={vertical:{ref:n(null),position:n(0),size:n(0)},horizontal:{ref:n(null),position:n(0),size:n(0)}},{proxy:A}=c(),j=d(i,A.$q),M=null,N,P=n(null),F=s(()=>`q-scrollarea`+(j.value===!0?` q-scrollarea--dark`:``));Object.assign(O,{verticalInner:s(()=>O.vertical.value-i.verticalOffset[0]-i.verticalOffset[1]),horizontalInner:s(()=>O.horizontal.value-i.horizontalOffset[0]-i.horizontalOffset[1])}),k.vertical.percentage=s(()=>{let e=k.vertical.size.value-O.vertical.value;if(e<=0)return 0;let t=y(k.vertical.position.value/e,0,1);return Math.round(t*1e4)/1e4}),k.vertical.thumbHidden=s(()=>(i.visible===null?D.value:i.visible)!==!0&&T.value===!1&&E.value===!1||k.vertical.size.value<=O.vertical.value+1),k.vertical.thumbStart=s(()=>i.verticalOffset[0]+k.vertical.percentage.value*(O.verticalInner.value-k.vertical.thumbSize.value)),k.vertical.thumbSize=s(()=>Math.round(y(O.verticalInner.value*O.verticalInner.value/k.vertical.size.value,w(O.verticalInner.value),O.verticalInner.value))),k.vertical.style=s(()=>({...i.thumbStyle,...i.verticalThumbStyle,top:`${k.vertical.thumbStart.value}px`,height:`${k.vertical.thumbSize.value}px`,right:`${i.horizontalOffset[1]}px`})),k.vertical.thumbClass=s(()=>`q-scrollarea__thumb q-scrollarea__thumb--v absolute-right`+(k.vertical.thumbHidden.value===!0?` q-scrollarea__thumb--invisible`:``)),k.vertical.barClass=s(()=>`q-scrollarea__bar q-scrollarea__bar--v absolute-right`+(k.vertical.thumbHidden.value===!0?` q-scrollarea__bar--invisible`:``)),k.horizontal.percentage=s(()=>{let e=k.horizontal.size.value-O.horizontal.value;if(e<=0)return 0;let t=y(Math.abs(k.horizontal.position.value)/e,0,1);return Math.round(t*1e4)/1e4}),k.horizontal.thumbHidden=s(()=>(i.visible===null?D.value:i.visible)!==!0&&T.value===!1&&E.value===!1||k.horizontal.size.value<=O.horizontal.value+1),k.horizontal.thumbStart=s(()=>i.horizontalOffset[0]+k.horizontal.percentage.value*(O.horizontalInner.value-k.horizontal.thumbSize.value)),k.horizontal.thumbSize=s(()=>Math.round(y(O.horizontalInner.value*O.horizontalInner.value/k.horizontal.size.value,w(O.horizontalInner.value),O.horizontalInner.value))),k.horizontal.style=s(()=>({...i.thumbStyle,...i.horizontalThumbStyle,[A.$q.lang.rtl===!0?`right`:`left`]:`${k.horizontal.thumbStart.value}px`,width:`${k.horizontal.thumbSize.value}px`,bottom:`${i.verticalOffset[1]}px`})),k.horizontal.thumbClass=s(()=>`q-scrollarea__thumb q-scrollarea__thumb--h absolute-bottom`+(k.horizontal.thumbHidden.value===!0?` q-scrollarea__thumb--invisible`:``)),k.horizontal.barClass=s(()=>`q-scrollarea__bar q-scrollarea__bar--h absolute-bottom`+(k.horizontal.thumbHidden.value===!0?` q-scrollarea__bar--invisible`:``));let I=s(()=>k.vertical.thumbHidden.value===!0&&k.horizontal.thumbHidden.value===!0?i.contentStyle:i.contentActiveStyle);function L(){let e={};return x.forEach(t=>{let n=k[t];Object.assign(e,{[t+`Position`]:n.position.value,[t+`Percentage`]:n.percentage.value,[t+`Size`]:n.size.value,[t+`ContainerSize`]:O[t].value,[t+`ContainerInnerSize`]:O[t+`Inner`].value})}),e}let R=p(()=>{let e=L();e.ref=A,f(`scroll`,e)},0);function z(e,t,n){if(x.includes(e)===!1){console.error(`[QScrollArea]: wrong first param of setScrollPosition (vertical/horizontal)`);return}(e===`vertical`?m:h)(P.value,t,n)}function B({height:e,width:t}){let n=!1;O.vertical.value!==e&&(O.vertical.value=e,n=!0),O.horizontal.value!==t&&(O.horizontal.value=t,n=!0),n===!0&&G()}function V({position:e}){let t=!1;k.vertical.position.value!==e.top&&(k.vertical.position.value=e.top,t=!0),k.horizontal.position.value!==e.left&&(k.horizontal.position.value=e.left,t=!0),t===!0&&G()}function H({height:e,width:t}){k.horizontal.size.value!==t&&(k.horizontal.size.value=t,G()),k.vertical.size.value!==e&&(k.vertical.size.value=e,G())}function U(e,t){let n=k[t];if(e.isFirst===!0){if(n.thumbHidden.value===!0)return;N=n.position.value,E.value=!0}else if(E.value!==!0)return;e.isFinal===!0&&(E.value=!1);let r=S[t],i=(n.size.value-O[t].value)/(O[t+`Inner`].value-n.thumbSize.value),a=e.distance[r.dist];K(N+(e.direction===r.dir?1:-1)*a*i,t)}function W(e,t){let n=k[t];if(n.thumbHidden.value!==!0){let r=t===`vertical`?i.verticalOffset[0]:i.horizontalOffset[0],a=e[S[t].offset]-r,o=n.thumbStart.value-r;(a<o||a>o+n.thumbSize.value)&&K(y((a-n.thumbSize.value/2)/(O[t+`Inner`].value-n.thumbSize.value),0,1)*Math.max(0,n.size.value-O[t].value),t),n.ref.value!==null&&n.ref.value.dispatchEvent(new MouseEvent(e.type,e))}}function G(){T.value=!0,M!==null&&clearTimeout(M),M=setTimeout(()=>{M=null,T.value=!1},i.delay),i.onScroll!==void 0&&R()}function K(e,t){P.value[S[t].scroll]=e}let q=null;function J(){q!==null&&clearTimeout(q),q=setTimeout(()=>{q=null,D.value=!0},A.$q.platform.is.ios?50:0)}function Y(){q!==null&&(clearTimeout(q),q=null),D.value=!1}let X=null;t(()=>A.$q.lang.rtl,e=>{P.value!==null&&h(P.value,Math.abs(k.horizontal.position.value)*(e===!0?-1:1))}),a(()=>{X={top:k.vertical.position.value,left:k.horizontal.position.value}}),e(()=>{if(X===null)return;let e=P.value;e!==null&&(h(e,X.left),m(e,X.top))}),o(R.cancel),Object.assign(A,{getScrollTarget:()=>P.value,getScroll:L,getScrollPosition:()=>({top:k.vertical.position.value,left:k.horizontal.position.value}),getScrollPercentage:()=>({top:k.vertical.percentage.value,left:k.horizontal.percentage.value}),setScrollPosition:z,setScrollPercentage(e,t,n){z(e,t*(k[e].size.value-O[e].value)*(e===`horizontal`&&A.$q.lang.rtl===!0?-1:1),n)}});let Z={scroll:k,thumbVertDir:[[v,e=>{U(e,`vertical`)},void 0,{vertical:!0,...C}]],thumbHorizDir:[[v,e=>{U(e,`horizontal`)},void 0,{horizontal:!0,...C}]],onVerticalMousedown(e){W(e,`vertical`)},onHorizontalMousedown(e){W(e,`horizontal`)}};return()=>r(`div`,{class:F.value,onMouseenter:J,onMouseleave:Y},[r(`div`,{ref:P,class:`q-scrollarea__container scroll relative-position fit hide-scrollbar`,tabindex:i.tabindex===void 0?void 0:i.tabindex},[r(`div`,{class:`q-scrollarea__content absolute`,style:I.value},u(l.default,[r(g,{debounce:0,onResize:H})])),r(_,{axis:`both`,onScroll:V})]),r(g,{debounce:0,onResize:B}),r(b,{store:Z,barStyle:i.barStyle,verticalBarStyle:i.verticalBarStyle,horizontalBarStyle:i.horizontalBarStyle})])}});export{T as t};
@@ -1 +0,0 @@
1
- import{Q as e,S as t,Z as n,l as r,y as i}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{O as a,j as o,n as s,r as c}from"./QIcon-B0-pH3Qs.js";var l=e(!1),u;function d(e,t){let n=/(edg|edge|edga|edgios)\/([\w.]+)/.exec(e)||/(opr)[\/]([\w.]+)/.exec(e)||/(vivaldi)[\/]([\w.]+)/.exec(e)||/(chrome|crios)[\/]([\w.]+)/.exec(e)||/(version)(applewebkit)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+).*(version)[\/]([\w.]+).*(safari)[\/]([\w.]+)/.exec(e)||/(firefox|fxios)[\/]([\w.]+)/.exec(e)||/(webkit)[\/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[\/]([\w.]+)/.exec(e)||[];return{browser:n[5]||n[3]||n[1]||``,version:n[4]||n[2]||`0`,platform:t[0]||``}}function f(e){return/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(silk)/.exec(e)||/(android)/.exec(e)||/(win)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||/(playbook)/.exec(e)||/(bb)/.exec(e)||/(blackberry)/.exec(e)||[]}var p=`ontouchstart`in window||window.navigator.maxTouchPoints>0;function m(e){let t=e.toLowerCase(),n=d(t,f(t)),r={mobile:!1,desktop:!1,cordova:!1,capacitor:!1,nativeMobile:!1,electron:!1,bex:!1,linux:!1,mac:!1,win:!1,cros:!1,chrome:!1,firefox:!1,opera:!1,safari:!1,vivaldi:!1,edge:!1,edgeChromium:!1,ie:!1,webkit:!1,android:!1,ios:!1,ipad:!1,iphone:!1,ipod:!1,kindle:!1,winphone:!1,blackberry:!1,playbook:!1,silk:!1};n.browser&&(r[n.browser]=!0,r.version=n.version,r.versionNumber=parseInt(n.version,10)),n.platform&&(r[n.platform]=!0);let i=r.android||r.ios||r.bb||r.blackberry||r.ipad||r.iphone||r.ipod||r.kindle||r.playbook||r.silk||r[`windows phone`];if(i===!0||t.indexOf(`mobile`)!==-1?r.mobile=!0:r.desktop=!0,r[`windows phone`]&&(r.winphone=!0,delete r[`windows phone`]),r.edga||r.edgios||r.edg?(r.edge=!0,n.browser=`edge`):r.crios?(r.chrome=!0,n.browser=`chrome`):r.fxios&&(r.firefox=!0,n.browser=`firefox`),(r.ipod||r.ipad||r.iphone)&&(r.ios=!0),r.vivaldi&&=(n.browser=`vivaldi`,!0),(r.chrome||r.opr||r.safari||r.vivaldi||r.mobile===!0&&r.ios!==!0&&i!==!0)&&(r.webkit=!0),r.opr&&(n.browser=`opera`,r.opera=!0),r.safari&&(r.blackberry||r.bb?(n.browser=`blackberry`,r.blackberry=!0):r.playbook?(n.browser=`playbook`,r.playbook=!0):r.android?(n.browser=`android`,r.android=!0):r.kindle?(n.browser=`kindle`,r.kindle=!0):r.silk&&=(n.browser=`silk`,!0)),r.name=n.browser,r.platform=n.platform,t.indexOf(`electron`)!==-1)r.electron=!0;else if(document.location.href.indexOf(`-extension://`)!==-1)r.bex=!0;else{if(window.Capacitor===void 0?(window._cordovaNative!==void 0||window.cordova!==void 0)&&(r.cordova=!0,r.nativeMobile=!0,r.nativeMobileWrapper=`cordova`):(r.capacitor=!0,r.nativeMobile=!0,r.nativeMobileWrapper=`capacitor`),l.value===!0&&(u={is:{...r}}),p===!0&&r.mac===!0&&(r.desktop===!0&&r.safari===!0||r.nativeMobile===!0&&r.android!==!0&&r.ios!==!0&&r.ipad!==!0)){delete r.mac,delete r.desktop;let e=Math.min(window.innerHeight,window.innerWidth)>414?`ipad`:`iphone`;Object.assign(r,{mobile:!0,ios:!0,platform:e,[e]:!0})}r.mobile!==!0&&window.navigator.userAgentData&&window.navigator.userAgentData.mobile&&(delete r.desktop,r.mobile=!0)}return r}var h=navigator.userAgent||navigator.vendor||window.opera,g={has:{touch:!1,webStorage:!1},within:{iframe:!1}},_={userAgent:h,is:m(h),has:{touch:p},within:{iframe:window.self!==window.top}},v={install(e){let{$q:t}=e;l.value===!0?(e.onSSRHydrated.push(()=>{Object.assign(t.platform,_),l.value=!1}),t.platform=n(this)):t.platform=this}};{let e;o(_.has,`webStorage`,()=>{if(e!==void 0)return e;try{if(window.localStorage)return e=!0,!0}catch{}return e=!1,!1}),Object.assign(v,_),l.value===!0&&(Object.assign(v,u,g),u=null)}function y(e,t=250,n){let r=null;function i(){let i=arguments;r===null?n===!0&&e.apply(this,i):clearTimeout(r),r=setTimeout(()=>{r=null,n!==!0&&e.apply(this,i)},t)}return i.cancel=()=>{r!==null&&clearTimeout(r)},i}var b=[],x=[];function S(e){x=x.filter(t=>t!==e)}function C(e){S(e),x.push(e)}function w(e){S(e),x.length===0&&b.length!==0&&(b[b.length-1](),b=[])}function T(e){x.length===0?e():b.push(e)}function E(e){b=b.filter(t=>t!==e)}var D={true:`inset`,item:`item-inset`,"item-thumbnail":`item-thumbnail-inset`},O={xs:2,sm:4,md:8,lg:16,xl:24},k=a({name:`QSeparator`,props:{...c,spaced:[Boolean,String],inset:[Boolean,String],vertical:Boolean,color:String,size:String},setup(e){let n=s(e,i().proxy.$q),a=r(()=>e.vertical===!0?`vertical`:`horizontal`),o=r(()=>` q-separator--${a.value}`),c=r(()=>e.inset===!1?``:`${o.value}-${D[e.inset]}`),l=r(()=>`q-separator${o.value}${c.value}`+(e.color===void 0?``:` bg-${e.color}`)+(n.value===!0?` q-separator--dark`:``)),u=r(()=>{let t={};if(e.size!==void 0&&(t[e.vertical===!0?`width`:`height`]=e.size),e.spaced!==!1){let n=e.spaced===!0?`${O.md}px`:e.spaced in O?`${O[e.spaced]}px`:e.spaced,r=e.vertical===!0?[`Left`,`Right`]:[`Top`,`Bottom`];t[`margin${r[0]}`]=t[`margin${r[1]}`]=n}return t});return()=>t(`hr`,{class:l.value,style:u.value,"aria-orientation":a.value})}});export{w as a,_ as c,E as i,l,T as n,y as o,C as r,v as s,k as t};
@@ -1 +0,0 @@
1
- import{S as e,k as t}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{M as n,O as r}from"./QIcon-B0-pH3Qs.js";var i=r({name:`QSlideTransition`,props:{appear:Boolean,duration:{type:Number,default:300}},emits:[`show`,`hide`],setup(r,{slots:i,emit:a}){let o=!1,s,c,l=null,u=null,d,f;function p(){s?.(),s=null,o=!1,l!==null&&(clearTimeout(l),l=null),u!==null&&(clearTimeout(u),u=null),c?.removeEventListener(`transitionend`,d),d=null}function m(e,t,n){t!==void 0&&(e.style.height=`${t}px`),e.style.transition=`height ${r.duration}ms cubic-bezier(.25, .8, .50, 1)`,o=!0,s=n}function h(e,t){e.style.overflowY=null,e.style.height=null,e.style.transition=null,p(),t!==f&&a(t)}function g(e,t){let n=0;c=e,o===!0?(p(),n=e.offsetHeight===e.scrollHeight?0:void 0):(f=`hide`,e.style.overflowY=`hidden`),m(e,n,t),l=setTimeout(()=>{l=null,e.style.height=`${e.scrollHeight}px`,d=t=>{u=null,(Object(t)!==t||t.target===e)&&h(e,`show`)},e.addEventListener(`transitionend`,d),u=setTimeout(d,r.duration*1.1)},100)}function _(e,t){let n;c=e,o===!0?p():(f=`show`,e.style.overflowY=`hidden`,n=e.scrollHeight),m(e,n,t),l=setTimeout(()=>{l=null,e.style.height=0,d=t=>{u=null,(Object(t)!==t||t.target===e)&&h(e,`hide`)},e.addEventListener(`transitionend`,d),u=setTimeout(d,r.duration*1.1)},100)}return t(()=>{o===!0&&p()}),()=>e(n,{css:!1,appear:r.appear,onEnter:g,onLeave:_},i.default)}});export{i as t};
@@ -1 +0,0 @@
1
- import{D as e,H as t,I as n,M as r,Q as i,S as a,W as o,i as s,j as c,k as l,l as u,w as d,y as f}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{C as p,D as m,M as h,O as g,S as _,T as v,_ as y,a as b,b as x,g as S,i as C,k as w,m as T,n as E,r as D,s as O,t as k,v as A}from"./QIcon-B0-pH3Qs.js";import{c as j}from"./QSeparator-DNSiXYrN.js";import{a as M,t as N}from"./symbols-DCYodwb2.js";import{S as ee,x as P}from"./scroll-CYWyxBdv.js";import{t as F}from"./is-DUKatk8N.js";import{c as I,f as L}from"./QBtn-DHwAb18J.js";import{n as R}from"./use-id-C93QQwrt.js";import{n as z,r as te,t as ne}from"./touch-Bj_Fr4kC.js";import{p as re}from"./QTooltip-BIDjo2hJ.js";import{r as ie}from"./QChip-bl3YRhax.js";var ae=0,B=[`click`,`keydown`],V={icon:String,label:[Number,String],alert:[Boolean,String],alertIcon:String,name:{type:[Number,String],default:()=>`t_${ae++}`},noCaps:Boolean,tabindex:[String,Number],disable:Boolean,contentClass:String,ripple:{type:[Boolean,Object],default:!0}};function H(e,t,n,s){let c=d(M,N);if(c===N)return console.error(`QTab/QRouteTab component needs to be child of QTabs`),N;let{proxy:p}=f(),h=i(null),g=i(null),_=i(null),v=u(()=>e.disable===!0||e.ripple===!1?!1:Object.assign({keyCodes:[13,32],early:!0},e.ripple===!0?{}:e.ripple)),y=u(()=>c.currentModel.value===e.name),x=u(()=>`q-tab relative-position self-stretch flex flex-center text-center`+(y.value===!0?` q-tab--active`+(c.tabProps.value.activeClass?` `+c.tabProps.value.activeClass:``)+(c.tabProps.value.activeColor?` text-${c.tabProps.value.activeColor}`:``)+(c.tabProps.value.activeBgColor?` bg-${c.tabProps.value.activeBgColor}`:``):` q-tab--inactive`)+(e.icon&&e.label&&c.tabProps.value.inlineLabel===!1?` q-tab--full`:``)+(e.noCaps===!0||c.tabProps.value.noCaps===!0?` q-tab--no-caps`:``)+(e.disable===!0?` disabled`:` q-focusable q-hoverable cursor-pointer`)+(s===void 0?``:s.linkClass.value)),C=u(()=>`q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable `+(c.tabProps.value.inlineLabel===!0?`row no-wrap q-tab__content--inline`:`column`)+(e.contentClass===void 0?``:` ${e.contentClass}`)),w=u(()=>e.disable===!0||c.hasFocus.value===!0||y.value===!1&&c.hasActiveTab.value===!0?-1:e.tabindex||0);function E(t,r){if(r!==!0&&t?.qAvoidFocus!==!0&&h.value?.focus(),e.disable===!0){s?.hasRouterLink.value===!0&&m(t);return}if(s===void 0){c.updateModel({name:e.name}),n(`click`,t);return}if(s.hasRouterLink.value===!0){let r=(n={})=>{let r,i=n.to===void 0||F(n.to,e.to)===!0?c.avoidRouteWatcher=R():null;return s.navigateToRouterLink(t,{...n,returnRouterError:!0}).catch(e=>{r=e}).then(t=>{if(i===c.avoidRouteWatcher&&(c.avoidRouteWatcher=!1,r===void 0&&(t===void 0||t.message?.startsWith(`Avoided redundant navigation`)===!0)&&c.updateModel({name:e.name})),n.returnRouterError===!0)return r===void 0?t:Promise.reject(r)})};n(`click`,t,r),t.defaultPrevented!==!0&&r();return}n(`click`,t)}function D(e){T(e,[13,32])?E(e,!0):S(e)!==!0&&e.keyCode>=35&&e.keyCode<=40&&e.altKey!==!0&&e.metaKey!==!0&&c.onKbdNavigate(e.keyCode,p.$el)===!0&&m(e),n(`keydown`,e)}function O(){let n=c.tabProps.value.narrowIndicator,r=[],i=a(`div`,{ref:_,class:[`q-tab__indicator`,c.tabProps.value.indicatorClass]});e.icon!==void 0&&r.push(a(k,{class:`q-tab__icon`,name:e.icon})),e.label!==void 0&&r.push(a(`div`,{class:`q-tab__label`},e.label)),e.alert!==!1&&r.push(e.alertIcon===void 0?a(`div`,{class:`q-tab__alert`+(e.alert===!0?``:` text-${e.alert}`)}):a(k,{class:`q-tab__alert-icon`,color:e.alert===!0?void 0:e.alert,name:e.alertIcon})),n===!0&&r.push(i);let o=[a(`div`,{class:`q-focus-helper`,tabindex:-1,ref:h}),a(`div`,{class:C.value},b(t.default,r))];return n===!1&&o.push(i),o}let A={name:u(()=>e.name),rootRef:g,tabIndicatorRef:_,routeData:s};l(()=>{c.unregisterTab(A)}),r(()=>{c.registerTab(A)});function j(t,n){return o(a(t,{ref:g,class:x.value,tabindex:w.value,role:`tab`,"aria-selected":y.value===!0?`true`:`false`,"aria-disabled":e.disable===!0?`true`:void 0,onClick:E,onKeydown:D,...n},O()),[[I,v.value]])}return{renderTab:j,$tabs:c}}var U=g({name:`QTab`,props:V,emits:B,setup(e,{slots:t,emit:n}){let{renderTab:r}=H(e,t,n);return()=>r(`div`)}});function oe(e,t,n){let r=n===!0?[`left`,`right`]:[`top`,`bottom`];return`absolute-${t===!0?r[0]:r[1]}${e?` text-${e}`:``}`}var W=[`left`,`center`,`right`,`justify`],G=g({name:`QTabs`,props:{modelValue:[Number,String],align:{type:String,default:`center`,validator:e=>W.includes(e)},breakpoint:{type:[String,Number],default:600},vertical:Boolean,shrink:Boolean,stretch:Boolean,activeClass:String,activeColor:String,activeBgColor:String,indicatorColor:String,leftIcon:String,rightIcon:String,outsideArrows:Boolean,mobileArrows:Boolean,switchIndicator:Boolean,narrowIndicator:Boolean,inlineLabel:Boolean,noCaps:Boolean,dense:Boolean,contentClass:String,"onUpdate:modelValue":[Function,Array]},setup(r,{slots:o,emit:s}){let{proxy:d}=f(),{$q:p}=d,{registerTick:m}=P(),{registerTick:h}=P(),{registerTick:g}=P(),{registerTimeout:_,removeTimeout:v}=ee(),{registerTimeout:y,removeTimeout:b}=ee(),x=i(null),S=i(null),C=i(r.modelValue),w=i(!1),T=i(!0),E=i(!1),D=i(!1),A=[],j=i(0),N=i(!1),F=null,I=null,L,R=u(()=>({activeClass:r.activeClass,activeColor:r.activeColor,activeBgColor:r.activeBgColor,indicatorClass:oe(r.indicatorColor,r.switchIndicator,r.vertical),narrowIndicator:r.narrowIndicator,inlineLabel:r.inlineLabel,noCaps:r.noCaps})),z=u(()=>{let e=j.value,t=C.value;for(let n=0;n<e;n++)if(A[n].name.value===t)return!0;return!1}),ne=u(()=>`q-tabs__content--align-${w.value===!0?`left`:D.value===!0?`justify`:r.align}`),re=u(()=>`q-tabs row no-wrap items-center q-tabs--${w.value===!0?``:`not-`}scrollable q-tabs--${r.vertical===!0?`vertical`:`horizontal`} q-tabs__arrows--${r.outsideArrows===!0?`outside`:`inside`} q-tabs--mobile-with${r.mobileArrows===!0?``:`out`}-arrows`+(r.dense===!0?` q-tabs--dense`:``)+(r.shrink===!0?` col-shrink`:``)+(r.stretch===!0?` self-stretch`:``)),ae=u(()=>`q-tabs__content scroll--mobile row no-wrap items-center self-stretch hide-scrollbar relative-position `+ne.value+(r.contentClass===void 0?``:` ${r.contentClass}`)),B=u(()=>r.vertical===!0?{container:`height`,content:`offsetHeight`,scroll:`scrollHeight`}:{container:`width`,content:`offsetWidth`,scroll:`scrollWidth`}),V=u(()=>r.vertical!==!0&&p.lang.rtl===!0),H=u(()=>ie===!1&&V.value===!0);t(V,q),t(()=>r.modelValue,e=>{U({name:e,setCurrent:!0,skipEmit:!0})}),t(()=>r.outsideArrows,W);function U({name:e,setCurrent:t,skipEmit:n}){C.value!==e&&(n!==!0&&r[`onUpdate:modelValue`]!==void 0&&s(`update:modelValue`,e),(t===!0||r[`onUpdate:modelValue`]===void 0)&&(se(C.value,e),C.value=e))}function W(){m(()=>{x.value&&G({width:x.value.offsetWidth,height:x.value.offsetHeight})})}function G(e){if(B.value===void 0||S.value===null)return;let t=e[B.value.container],n=Math.min(S.value[B.value.scroll],Array.prototype.reduce.call(S.value.children,(e,t)=>e+(t[B.value.content]||0),0)),i=t>0&&n>t;w.value=i,i===!0&&h(q),D.value=t<parseInt(r.breakpoint,10)}function se(e,t){let n=e!=null&&e!==``?A.find(t=>t.name.value===e):null,i=t!=null&&t!==``?A.find(e=>e.name.value===t):null;if($===!0)$=!1;else if(n&&i){let e=n.tabIndicatorRef.value,t=i.tabIndicatorRef.value;F!==null&&(clearTimeout(F),F=null),e.style.transition=`none`,e.style.transform=`none`,t.style.transition=`none`,t.style.transform=`none`;let a=e.getBoundingClientRect(),o=t.getBoundingClientRect();t.style.transform=r.vertical===!0?`translate3d(0,${a.top-o.top}px,0) scale3d(1,${o.height?a.height/o.height:1},1)`:`translate3d(${a.left-o.left}px,0,0) scale3d(${o.width?a.width/o.width:1},1,1)`,g(()=>{F=setTimeout(()=>{F=null,t.style.transition=`transform .25s cubic-bezier(.4, 0, .2, 1)`,t.style.transform=`none`},70)})}i&&w.value===!0&&K(i.rootRef.value)}function K(e){let{left:t,width:n,top:i,height:a}=S.value.getBoundingClientRect(),o=e.getBoundingClientRect(),s=r.vertical===!0?o.top-i:o.left-t;if(s<0){S.value[r.vertical===!0?`scrollTop`:`scrollLeft`]+=Math.floor(s),q();return}s+=r.vertical===!0?o.height-a:o.width-n,s>0&&(S.value[r.vertical===!0?`scrollTop`:`scrollLeft`]+=Math.ceil(s),q())}function q(){let e=S.value;if(e===null)return;let t=e.getBoundingClientRect(),n=r.vertical===!0?e.scrollTop:Math.abs(e.scrollLeft);V.value===!0?(T.value=Math.ceil(n+t.width)<e.scrollWidth-1,E.value=n>0):(T.value=n>0,E.value=r.vertical===!0?Math.ceil(n+t.height)<e.scrollHeight:Math.ceil(n+t.width)<e.scrollWidth)}function J(e){I!==null&&clearInterval(I),I=setInterval(()=>{ue(e)===!0&&Z()},5)}function Y(){J(H.value===!0?2**53-1:0)}function X(){J(H.value===!0?0:2**53-1)}function Z(){I!==null&&(clearInterval(I),I=null)}function ce(e,t){let n=Array.prototype.filter.call(S.value.children,e=>e===t||e.matches&&e.matches(`.q-tab.q-focusable`)===!0),i=n.length;if(i===0)return;if(e===36)return K(n[0]),n[0].focus(),!0;if(e===35)return K(n[i-1]),n[i-1].focus(),!0;let a=e===(r.vertical===!0?38:37),o=e===(r.vertical===!0?40:39),s=a===!0?-1:o===!0?1:void 0;if(s!==void 0){let e=V.value===!0?-1:1,r=n.indexOf(t)+s*e;return r>=0&&r<i&&(K(n[r]),n[r].focus({preventScroll:!0})),!0}}let le=u(()=>H.value===!0?{get:e=>Math.abs(e.scrollLeft),set:(e,t)=>{e.scrollLeft=-t}}:r.vertical===!0?{get:e=>e.scrollTop,set:(e,t)=>{e.scrollTop=t}}:{get:e=>e.scrollLeft,set:(e,t)=>{e.scrollLeft=t}});function ue(e){let t=S.value,{get:n,set:r}=le.value,i=!1,a=n(t),o=e<a?-1:1;return a+=o*5,a<0?(i=!0,a=0):(o===-1&&a<=e||o===1&&a>=e)&&(i=!0,a=e),r(t,a),q(),i}function de(e,t){for(let n in e)if(e[n]!==t[n])return!1;return!0}function fe(){let e=null,t={matchedLen:0,queryDiff:9999,hrefLen:0},n=A.filter(e=>e.routeData?.hasRouterLink.value===!0),{hash:r,query:i}=d.$route,a=Object.keys(i).length;for(let o of n){let n=o.routeData.exact.value===!0;if(o.routeData[n===!0?`linkIsExactActive`:`linkIsActive`].value!==!0)continue;let{hash:s,query:c,matched:l,href:u}=o.routeData.resolvedLink.value,d=Object.keys(c).length;if(n===!0){if(s!==r||d!==a||de(i,c)===!1)continue;e=o.name.value;break}if(s!==``&&s!==r||d!==0&&de(c,i)===!1)continue;let f={matchedLen:l.length,queryDiff:a-d,hrefLen:u.length-s.length};if(f.matchedLen>t.matchedLen){e=o.name.value,t=f;continue}else if(f.matchedLen!==t.matchedLen)continue;if(f.queryDiff<t.queryDiff)e=o.name.value,t=f;else if(f.queryDiff!==t.queryDiff)continue;f.hrefLen>t.hrefLen&&(e=o.name.value,t=f)}if(e===null&&A.some(e=>e.routeData===void 0&&e.name.value===C.value)===!0){$=!1;return}U({name:e,setCurrent:!0})}function pe(e){if(v(),N.value!==!0&&x.value!==null&&e.target&&typeof e.target.closest==`function`){let t=e.target.closest(`.q-tab`);t&&x.value.contains(t)===!0&&(N.value=!0,w.value===!0&&K(t))}}function me(){_(()=>{N.value=!1},30)}function Q(){ve.avoidRouteWatcher===!1?y(fe):b()}function he(){if(L===void 0){let e=t(()=>d.$route.fullPath,Q);L=()=>{e(),L=void 0}}}function ge(e){A.push(e),j.value++,W(),e.routeData===void 0||d.$route===void 0?y(()=>{if(w.value===!0){let e=C.value,t=e!=null&&e!==``?A.find(t=>t.name.value===e):null;t&&K(t.rootRef.value)}}):(he(),e.routeData.hasRouterLink.value===!0&&Q())}function _e(e){A.splice(A.indexOf(e),1),j.value--,W(),L!==void 0&&e.routeData!==void 0&&(A.every(e=>e.routeData===void 0)===!0&&L(),Q())}let ve={currentModel:C,tabProps:R,hasFocus:N,hasActiveTab:z,registerTab:ge,unregisterTab:_e,verifyRouteModel:Q,updateModel:U,onKbdNavigate:ce,avoidRouteWatcher:!1};n(M,ve);function ye(){F!==null&&clearTimeout(F),Z(),L?.()}let be,$;return l(ye),c(()=>{be=L!==void 0,ye()}),e(()=>{be===!0&&(he(),$=!0,Q()),W()}),()=>a(`div`,{ref:x,class:re.value,role:`tablist`,onFocusin:pe,onFocusout:me},[a(te,{onResize:G}),a(`div`,{ref:S,class:ae.value,onScroll:q},O(o.default)),a(k,{class:`q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon`+(T.value===!0?``:` q-tabs__arrow--faded`),name:r.leftIcon||p.iconSet.tabs[r.vertical===!0?`up`:`left`],onMousedownPassive:Y,onTouchstartPassive:Y,onMouseupPassive:Z,onMouseleavePassive:Z,onTouchendPassive:Z}),a(k,{class:`q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon`+(E.value===!0?``:` q-tabs__arrow--faded`),name:r.rightIcon||p.iconSet.tabs[r.vertical===!0?`down`:`right`],onMousedownPassive:X,onTouchstartPassive:X,onMouseupPassive:Z,onMouseleavePassive:Z,onTouchendPassive:Z})])}});function se(e){let t=[.06,6,50];return typeof e==`string`&&e.length&&e.split(`:`).forEach((e,n)=>{let r=parseFloat(e);r&&(t[n]=r)}),t}var K=w({name:`touch-swipe`,beforeMount(e,{value:t,arg:n,modifiers:r}){if(r.mouse!==!0&&j.has.touch!==!0)return;let i=r.mouseCapture===!0?`Capture`:``,a={handler:t,sensitivity:se(n),direction:ne(r),noop:_,mouseStart(e){z(e,a)&&x(e)&&(y(a,`temp`,[[document,`mousemove`,`move`,`notPassive${i}`],[document,`mouseup`,`end`,`notPassiveCapture`]]),a.start(e,!0))},touchStart(e){if(z(e,a)){let t=e.target;y(a,`temp`,[[t,`touchmove`,`move`,`notPassiveCapture`],[t,`touchcancel`,`end`,`notPassiveCapture`],[t,`touchend`,`end`,`notPassiveCapture`]]),a.start(e)}},start(t,n){j.is.firefox===!0&&v(e,!0);let r=p(t);a.event={x:r.left,y:r.top,time:Date.now(),mouse:n===!0,dir:!1}},move(e){if(a.event===void 0)return;if(a.event.dir!==!1){m(e);return}let t=Date.now()-a.event.time;if(t===0)return;let n=p(e),r=n.left-a.event.x,i=Math.abs(r),o=n.top-a.event.y,s=Math.abs(o);if(a.event.mouse!==!0){if(i<a.sensitivity[1]&&s<a.sensitivity[1]){a.end(e);return}}else if(window.getSelection().toString()!==``){a.end(e);return}else if(i<a.sensitivity[2]&&s<a.sensitivity[2])return;let c=i/t,l=s/t;a.direction.vertical===!0&&i<s&&i<100&&l>a.sensitivity[0]&&(a.event.dir=o<0?`up`:`down`),a.direction.horizontal===!0&&i>s&&s<100&&c>a.sensitivity[0]&&(a.event.dir=r<0?`left`:`right`),a.direction.up===!0&&i<s&&o<0&&i<100&&l>a.sensitivity[0]&&(a.event.dir=`up`),a.direction.down===!0&&i<s&&o>0&&i<100&&l>a.sensitivity[0]&&(a.event.dir=`down`),a.direction.left===!0&&i>s&&r<0&&s<100&&c>a.sensitivity[0]&&(a.event.dir=`left`),a.direction.right===!0&&i>s&&r>0&&s<100&&c>a.sensitivity[0]&&(a.event.dir=`right`),a.event.dir===!1?a.end(e):(m(e),a.event.mouse===!0&&(document.body.classList.add(`no-pointer-events--children`),document.body.classList.add(`non-selectable`),re(),a.styleCleanup=e=>{a.styleCleanup=void 0,document.body.classList.remove(`non-selectable`);let t=()=>{document.body.classList.remove(`no-pointer-events--children`)};e===!0?setTimeout(t,50):t()}),a.handler({evt:e,touch:a.event.mouse!==!0,mouse:a.event.mouse,direction:a.event.dir,duration:t,distance:{x:i,y:s}}))},end(t){a.event!==void 0&&(A(a,`temp`),j.is.firefox===!0&&v(e,!1),a.styleCleanup?.(!0),t!==void 0&&a.event.dir!==!1&&m(t),a.event=void 0)}};e.__qtouchswipe=a,r.mouse===!0&&y(a,`main`,[[e,`mousedown`,`mouseStart`,`passive${r.mouseCapture===!0||r.mousecapture===!0?`Capture`:``}`]]),j.has.touch===!0&&y(a,`main`,[[e,`touchstart`,`touchStart`,`passive${r.capture===!0?`Capture`:``}`],[e,`touchmove`,`noop`,`notPassiveCapture`]])},updated(e,t){let n=e.__qtouchswipe;n!==void 0&&(t.oldValue!==t.value&&(typeof t.value!=`function`&&n.end(),n.handler=t.value),n.direction=ne(t.modifiers))},beforeUnmount(e){let t=e.__qtouchswipe;t!==void 0&&(A(t,`main`),A(t,`temp`),j.is.firefox===!0&&v(e,!1),t.styleCleanup?.(),delete e.__qtouchswipe)}});function q(){let e=Object.create(null);return{getCache:(t,n)=>e[t]===void 0?e[t]=typeof n==`function`?n():n:e[t],setCache(t,n){e[t]=n},hasCache(t){return Object.hasOwnProperty.call(e,t)},clearCache(t){t===void 0?e=Object.create(null):delete e[t]}}}var J={name:{required:!0},disable:Boolean},Y={setup(e,{slots:t}){return()=>a(`div`,{class:`q-panel scroll`,role:`tabpanel`},O(t.default))}},X={modelValue:{required:!0},animated:Boolean,infinite:Boolean,swipeable:Boolean,vertical:Boolean,transitionPrev:String,transitionNext:String,transitionDuration:{type:[String,Number],default:300},keepAlive:Boolean,keepAliveInclude:[String,Array,RegExp],keepAliveExclude:[String,Array,RegExp],keepAliveMax:Number},Z=[`update:modelValue`,`beforeTransition`,`transition`];function ce(){let{props:e,emit:n,proxy:r}=f(),{getCache:o}=q(),{registerTimeout:c}=ee(),l,d,p=i(null),m={value:null};function g(t){let n=e.vertical===!0?`up`:`left`;M((r.$q.lang.rtl===!0?-1:1)*(t.direction===n?1:-1))}let _=u(()=>[[K,g,void 0,{horizontal:e.vertical!==!0,vertical:e.vertical,mouse:!0}]]),v=u(()=>e.transitionPrev||`slide-${e.vertical===!0?`down`:`right`}`),y=u(()=>e.transitionNext||`slide-${e.vertical===!0?`up`:`left`}`),b=u(()=>`--q-transition-duration: ${e.transitionDuration}ms`),x=u(()=>typeof e.modelValue==`string`||typeof e.modelValue==`number`?e.modelValue:String(e.modelValue)),S=u(()=>({include:e.keepAliveInclude,exclude:e.keepAliveExclude,max:e.keepAliveMax})),C=u(()=>e.keepAliveInclude!==void 0||e.keepAliveExclude!==void 0);t(()=>e.modelValue,(t,r)=>{let i=D(t)===!0?k(t):-1;d!==!0&&j(i===-1?0:i<k(r)?-1:1),m.value!==i&&(m.value=i,n(`beforeTransition`,t,r),c(()=>{n(`transition`,t,r)},e.transitionDuration))});function w(){M(1)}function T(){M(-1)}function E(e){n(`update:modelValue`,e)}function D(e){return e!=null&&e!==``}function k(e){return l.findIndex(t=>t.props.name===e&&t.props.disable!==``&&t.props.disable!==!0)}function A(){return l.filter(e=>e.props.disable!==``&&e.props.disable!==!0)}function j(t){let n=t!==0&&e.animated===!0&&m.value!==-1?`q-transition--`+(t===-1?v.value:y.value):null;p.value!==n&&(p.value=n)}function M(t,r=m.value){let i=r+t;for(;i!==-1&&i<l.length;){let e=l[i];if(e!==void 0&&e.props.disable!==``&&e.props.disable!==!0){j(t),d=!0,n(`update:modelValue`,e.props.name),setTimeout(()=>{d=!1});return}i+=t}e.infinite===!0&&l.length!==0&&r!==-1&&r!==l.length&&M(t,t===-1?l.length:-1)}function N(){let t=k(e.modelValue);return m.value!==t&&(m.value=t),!0}function P(){let t=D(e.modelValue)===!0&&N()&&l[m.value];return e.keepAlive===!0?[a(s,S.value,[a(C.value===!0?o(x.value,()=>({...Y,name:x.value})):Y,{key:x.value,style:b.value},()=>t)])]:[a(`div`,{class:`q-panel scroll`,style:b.value,key:x.value,role:`tabpanel`},[t])]}function F(){if(l.length!==0)return e.animated===!0?[a(h,{name:p.value},P)]:P()}function I(e){return l=L(O(e.default,[])).filter(e=>e.props!==null&&e.props.slot===void 0&&D(e.props.name)===!0),l.length}function R(){return l}return Object.assign(r,{next:w,previous:T,goTo:E}),{panelIndex:m,panelDirectives:_,updatePanelsList:I,updatePanelIndex:N,getPanelContent:F,getEnabledPanels:A,getPanels:R,isValidPanelName:D,keepAliveProps:S,needsUniqueKeepAliveWrapper:C,goToPanelByOffset:M,goToPanel:E,nextPanel:w,previousPanel:T}}var le=g({name:`QTabPanel`,props:J,setup(e,{slots:t}){return()=>a(`div`,{class:`q-tab-panel`,role:`tabpanel`},O(t.default))}}),ue=g({name:`QTabPanels`,props:{...X,...D},emits:Z,setup(e,{slots:t}){let n=E(e,f().proxy.$q),{updatePanelsList:r,getPanelContent:i,panelDirectives:a}=ce(),o=u(()=>`q-tab-panels q-panel-parent`+(n.value===!0?` q-tab-panels--dark q-dark`:``));return()=>(r(t),C(`div`,{class:o.value},i(),`pan`,e.swipeable,()=>a.value))}});export{U as i,le as n,G as r,ue as t};
@@ -1 +0,0 @@
1
- import{E as e,H as t,M as n,Q as r,S as i,k as a,l as o,y as s}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{D as c,M as l,O as u,_ as d,m as f,s as p,v as m,w as h,x as g}from"./QIcon-B0-pH3Qs.js";import{c as _,s as v}from"./QSeparator-DNSiXYrN.js";import{S as y,_ as b,b as x,g as S,l as ee,n as te,o as C,p as w,r as T,v as ne,x as re,y as E}from"./scroll-CYWyxBdv.js";function D(){if(window.getSelection!==void 0){let e=window.getSelection();e.empty===void 0?e.removeAllRanges!==void 0&&(e.removeAllRanges(),v.is.mobile!==!0&&e.addRange(document.createRange())):e.empty()}else document.selection!==void 0&&document.selection.empty()}function O(e,t,n){return n<=t?t:Math.min(n,Math.max(t,e))}function k(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 A={target:{type:[Boolean,String,Element],default:!0},noParentEvent:Boolean},j={...A,contextMenu:Boolean};function M({showing:i,avoidEmit:o,configureAnchorEl:c}){let{props:l,proxy:u,emit:p}=s(),g=r(null),_=null;function v(e){return g.value===null?!1:e===void 0||e.touches===void 0||e.touches.length<=1}let y={};c===void 0&&(Object.assign(y,{hide(e){u.hide(e)},toggle(e){u.toggle(e),e.qAnchorHandled=!0},toggleKey(e){f(e,13)===!0&&y.toggle(e)},contextClick(t){u.hide(t),h(t),e(()=>{u.show(t),t.qAnchorHandled=!0})},prevent:h,mobileTouch(e){if(y.mobileCleanup(e),v(e)!==!0)return;u.hide(e),g.value.classList.add(`non-selectable`);let t=e.target;d(y,`anchor`,[[t,`touchmove`,`mobileCleanup`,`passive`],[t,`touchend`,`mobileCleanup`,`passive`],[t,`touchcancel`,`mobileCleanup`,`passive`],[g.value,`contextmenu`,`prevent`,`notPassive`]]),_=setTimeout(()=>{_=null,u.show(e),e.qAnchorHandled=!0},300)},mobileCleanup(e){g.value.classList.remove(`non-selectable`),_!==null&&(clearTimeout(_),_=null),i.value===!0&&e!==void 0&&D()}}),c=function(e=l.contextMenu){if(l.noParentEvent===!0||g.value===null)return;let t;t=e===!0?u.$q.platform.is.mobile===!0?[[g.value,`touchstart`,`mobileTouch`,`passive`]]:[[g.value,`mousedown`,`hide`,`passive`],[g.value,`contextmenu`,`contextClick`,`notPassive`]]:[[g.value,`click`,`toggle`,`passive`],[g.value,`keyup`,`toggleKey`,`passive`]],d(y,`anchor`,t)});function b(){m(y,`anchor`)}function x(e){for(g.value=e;g.value.classList.contains(`q-anchor--skip`);)g.value=g.value.parentNode;c()}function S(){if(l.target===!1||l.target===``||u.$el.parentNode===null)g.value=null;else if(l.target===!0)x(u.$el.parentNode);else{let e=l.target;if(typeof l.target==`string`)try{e=document.querySelector(l.target)}catch{e=void 0}e==null?(g.value=null,console.error(`Anchor: target "${l.target}" not found`)):(g.value=e.$el||e,c())}}return t(()=>l.contextMenu,e=>{g.value!==null&&(b(),c(e))}),t(()=>l.target,()=>{g.value!==null&&b(),S()}),t(()=>l.noParentEvent,e=>{g.value!==null&&(e===!0?b():c())}),n(()=>{S(),o!==!0&&l.modelValue===!0&&g.value===null&&p(`update:modelValue`,!1)}),a(()=>{_!==null&&clearTimeout(_),b()}),{anchorEl:g,canShow:v,anchorEvents:y}}function N(e,n){let i=r(null),o;function s(e,t){let n=`${t===void 0?`remove`:`add`}EventListener`,r=t===void 0?o:t;e!==window&&e[n](`scroll`,r,g.passive),window[n](`scroll`,r,g.passive),o=t}function c(){i.value!==null&&(s(i.value),i.value=null)}return a(t(()=>e.noParentEvent,()=>{i.value!==null&&(c(),n())})),{localScrollTarget:i,unconfigureScrollTarget:c,changeScrollEvent:s}}var P=null,{notPassiveCapture:F}=g,I=[];function L(e){P!==null&&(clearTimeout(P),P=null);let t=e.target;if(t===void 0||t.nodeType===8||t.classList.contains(`no-pointer-events`)===!0)return;let n=w.length-1;for(;n>=0;){let e=w[n].$;if(e.type.name===`QTooltip`){n--;continue}if(e.type.name!==`QDialog`)break;if(e.props.seamless!==!0)return;n--}for(let n=I.length-1;n>=0;n--){let r=I[n];if((r.anchorEl.value===null||r.anchorEl.value.contains(t)===!1)&&(t===document.body||r.innerRef.value!==null&&r.innerRef.value.contains(t)===!1))e.qClickOutside=!0,r.onClickOutside(e);else return}}function R(e){I.push(e),I.length===1&&(document.addEventListener(`mousedown`,L,F),document.addEventListener(`touchstart`,L,F))}function z(e){let t=I.findIndex(t=>t===e);t!==-1&&(I.splice(t,1),I.length===0&&(P!==null&&(clearTimeout(P),P=null),document.removeEventListener(`mousedown`,L,F),document.removeEventListener(`touchstart`,L,F)))}var B,V;function H(e){let t=e.split(` `);return t.length===2?[`top`,`center`,`bottom`].includes(t[0])===!0?[`left`,`middle`,`right`,`start`,`end`].includes(t[1])===!0?!0:(console.error(`Anchor/Self position must end with one of left/middle/right/start/end`),!1):(console.error(`Anchor/Self position must start with one of top/center/bottom`),!1):!1}function U(e){return e?!(e.length!==2||typeof e[0]!=`number`||typeof e[1]!=`number`):!0}var W={"start#ltr":`left`,"start#rtl":`right`,"end#ltr":`right`,"end#rtl":`left`};[`left`,`middle`,`right`].forEach(e=>{W[`${e}#ltr`]=e,W[`${e}#rtl`]=e});function G(e,t){let n=e.split(` `);return{vertical:n[0],horizontal:W[`${n[1]}#${t===!0?`rtl`:`ltr`}`]}}function K(e,t){let{top:n,left:r,right:i,bottom:a,width:o,height:s}=e.getBoundingClientRect();return t!==void 0&&(n-=t[1],r-=t[0],a+=t[1],i+=t[0],o+=t[0],s+=t[1]),{top:n,bottom:a,height:s,left:r,right:i,width:o,middle:r+(i-r)/2,center:n+(a-n)/2}}function q(e,t,n){let{top:r,left:i}=e.getBoundingClientRect();return r+=t.top,i+=t.left,n!==void 0&&(r+=n[1],i+=n[0]),{top:r,bottom:r+1,height:1,left:i,right:i+1,width:1,middle:i,center:r}}function J(e,t){return{top:0,center:t/2,bottom:t,left:0,middle:e/2,right:e}}function Y(e,t,n,r){return{top:e[n.vertical]-t[r.vertical],left:e[n.horizontal]-t[r.horizontal]}}function X(e,t=0){if(e.targetEl===null||e.anchorEl===null||t>5)return;if(e.targetEl.offsetHeight===0||e.targetEl.offsetWidth===0){setTimeout(()=>{X(e,t+1)},10);return}let{targetEl:n,offset:r,anchorEl:i,anchorOrigin:a,selfOrigin:o,absoluteOffset:s,fit:c,cover:l,maxHeight:u,maxWidth:d}=e;if(_.is.ios===!0&&window.visualViewport!==void 0){let e=document.body.style,{offsetLeft:t,offsetTop:n}=window.visualViewport;t!==B&&(e.setProperty(`--q-pe-left`,t+`px`),B=t),n!==V&&(e.setProperty(`--q-pe-top`,n+`px`),V=n)}let{scrollLeft:f,scrollTop:p}=n,m=s===void 0?K(i,l===!0?[0,0]:r):q(i,s,r);Object.assign(n.style,{top:0,left:0,minWidth:null,minHeight:null,maxWidth:d,maxHeight:u,visibility:`visible`});let{offsetWidth:h,offsetHeight:g}=n,{elWidth:v,elHeight:y}=c===!0||l===!0?{elWidth:Math.max(m.width,h),elHeight:l===!0?Math.max(m.height,g):g}:{elWidth:h,elHeight:g},b={maxWidth:d,maxHeight:u};(c===!0||l===!0)&&(b.minWidth=m.width+`px`,l===!0&&(b.minHeight=m.height+`px`)),Object.assign(n.style,b);let x=J(v,y),S=Y(m,x,a,o);if(s===void 0||r===void 0)Z(S,m,x,a,o);else{let{top:e,left:t}=S;Z(S,m,x,a,o);let n=!1;if(S.top!==e){n=!0;let e=2*r[1];m.center=m.top-=e,m.bottom-=e+2}if(S.left!==t){n=!0;let e=2*r[0];m.middle=m.left-=e,m.right-=e+2}n===!0&&(S=Y(m,x,a,o),Z(S,m,x,a,o))}b={top:S.top+`px`,left:S.left+`px`},S.maxHeight!==void 0&&(b.maxHeight=S.maxHeight+`px`,m.height>S.maxHeight&&(b.minHeight=b.maxHeight)),S.maxWidth!==void 0&&(b.maxWidth=S.maxWidth+`px`,m.width>S.maxWidth&&(b.minWidth=b.maxWidth)),Object.assign(n.style,b),n.scrollTop!==p&&(n.scrollTop=p),n.scrollLeft!==f&&(n.scrollLeft=f)}function Z(e,t,n,r,i){let a=n.bottom,o=n.right,s=T(),c=window.innerHeight-s,l=document.body.clientWidth;if(e.top<0||e.top+a>c)if(i.vertical===`center`)e.top=t[r.vertical]>c/2?Math.max(0,c-a):0,e.maxHeight=Math.min(a,c);else if(t[r.vertical]>c/2){let n=Math.min(c,r.vertical===`center`?t.center:r.vertical===i.vertical?t.bottom:t.top);e.maxHeight=Math.min(a,n),e.top=Math.max(0,n-a)}else e.top=Math.max(0,r.vertical===`center`?t.center:r.vertical===i.vertical?t.top:t.bottom),e.maxHeight=Math.min(a,c-e.top);if(e.left<0||e.left+o>l)if(e.maxWidth=Math.min(o,l),i.horizontal===`middle`)e.left=t[r.horizontal]>l/2?Math.max(0,l-o):0;else if(t[r.horizontal]>l/2){let n=Math.min(l,r.horizontal===`middle`?t.middle:r.horizontal===i.horizontal?t.right:t.left);e.maxWidth=Math.min(o,n),e.left=Math.max(0,n-e.maxWidth)}else e.left=Math.max(0,r.horizontal===`middle`?t.middle:r.horizontal===i.horizontal?t.left:t.right),e.maxWidth=Math.min(o,l-e.left)}var Q=u({name:`QTooltip`,inheritAttrs:!1,props:{...A,...x,...b,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null},transitionShow:{...b.transitionShow,default:`jump-down`},transitionHide:{...b.transitionHide,default:`jump-up`},anchor:{type:String,default:`bottom middle`,validator:H},self:{type:String,default:`top middle`,validator:H},offset:{type:Array,default:()=>[14,14],validator:U},scrollTarget:C,delay:{type:Number,default:0},hideDelay:{type:Number,default:0},persistent:Boolean},emits:[...E],setup(e,{slots:n,emit:u,attrs:f}){let h,g,_=s(),{proxy:{$q:v}}=_,b=r(null),x=r(!1),C=o(()=>G(e.anchor,v.lang.rtl)),w=o(()=>G(e.self,v.lang.rtl)),T=o(()=>e.persistent!==!0),{registerTick:E,removeTick:O}=re(),{registerTimeout:k}=y(),{transitionProps:A,transitionStyle:j}=S(e),{localScrollTarget:P,changeScrollEvent:F,unconfigureScrollTarget:I}=N(e,$),{anchorEl:L,canShow:B,anchorEvents:V}=M({showing:x,configureAnchorEl:oe}),{show:H,hide:U}=ne({showing:x,canShow:B,handleShow:J,handleHide:Y,hideOnRouteChange:T,processOnMount:!0});Object.assign(V,{delayShow:ie,delayHide:ae});let{showPortal:W,hidePortal:K,renderPortal:q}=ee(_,b,ce,`tooltip`);if(v.platform.is.mobile===!0){let n={anchorEl:L,innerRef:b,onClickOutside(e){return U(e),e.target.classList.contains(`q-dialog__backdrop`)&&c(e),!0}};t(o(()=>e.modelValue===null&&e.persistent!==!0&&x.value===!0),e=>{(e===!0?R:z)(n)}),a(()=>{z(n)})}function J(n){W(),E(()=>{g=new MutationObserver(()=>Q()),g.observe(b.value,{attributes:!1,childList:!0,characterData:!0,subtree:!0}),Q(),$()}),h===void 0&&(h=t(()=>v.screen.width+`|`+v.screen.height+`|`+e.self+`|`+e.anchor+`|`+v.lang.rtl,Q)),k(()=>{W(!0),u(`show`,n)},e.transitionDuration)}function Y(t){O(),K(),Z(),k(()=>{K(!0),u(`hide`,t)},e.transitionDuration)}function Z(){g!==void 0&&(g.disconnect(),g=void 0),h!==void 0&&(h(),h=void 0),I(),m(V,`tooltipTemp`)}function Q(){X({targetEl:b.value,offset:e.offset,anchorEl:L.value,anchorOrigin:C.value,selfOrigin:w.value,maxHeight:e.maxHeight,maxWidth:e.maxWidth})}function ie(t){if(v.platform.is.mobile===!0){D(),document.body.classList.add(`non-selectable`);let e=L.value;d(V,`tooltipTemp`,[`touchmove`,`touchcancel`,`touchend`,`click`].map(t=>[e,t,`delayHide`,`passiveCapture`]))}k(()=>{H(t)},e.delay)}function ae(t){v.platform.is.mobile===!0&&(m(V,`tooltipTemp`),D(),setTimeout(()=>{document.body.classList.remove(`non-selectable`)},10)),k(()=>{U(t)},e.hideDelay)}function oe(){e.noParentEvent===!0||L.value===null||d(V,`anchor`,v.platform.is.mobile===!0?[[L.value,`touchstart`,`delayShow`,`passive`]]:[[L.value,`mouseenter`,`delayShow`,`passive`],[L.value,`mouseleave`,`delayHide`,`passive`]])}function $(){if(L.value!==null||e.scrollTarget!==void 0){P.value=te(L.value,e.scrollTarget);let t=e.noParentEvent===!0?Q:U;F(P.value,t)}}function se(){return x.value===!0?i(`div`,{...f,ref:b,class:[`q-tooltip q-tooltip--style q-position-engine no-pointer-events`,f.class],style:[f.style,j.value],role:`tooltip`},p(n.default)):null}function ce(){return i(l,A.value,se)}return a(Z),Object.assign(_.proxy,{updatePosition:Q}),q}});export{H as a,N as c,O as d,k as f,U as i,M as l,G as n,R as o,D as p,X as r,z as s,Q as t,j as u};
@@ -1 +0,0 @@
1
- import{F as e,H as t,L as n,Q as r,U as i,bt as a,d as o,f as s,g as c,p as l,r as u,rt as d,u as f,v as p}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{t as m}from"./QIcon-B0-pH3Qs.js";import{t as h}from"./QSeparator-DNSiXYrN.js";import{i as g}from"./use-id-C93QQwrt.js";import{n as _}from"./vue-i18n-BJlZEYnA.js";import{i as v,m as y,n as b}from"./index-CZA4BFN5.js";import{t as x}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as S}from"./QBadge-DqtcDv8D.js";import{t as C}from"./QSpace-BNr0AftG.js";import{t as w}from"./formatters-CX2gvLFv.js";import{t as T}from"./QPage-yqdKDG7-.js";var E=g(`search`,{state:()=>({query:``,includeArchived:!1,results:[],loading:!1,error:``}),actions:{async search(){let e=this.query.trim();if(!e){this.results=[],this.error=``;return}this.loading=!0,this.error=``;try{let t=new URLSearchParams({q:e});this.includeArchived&&t.set(`includeArchived`,`true`);let n=await fetch(`/api/search?${t.toString()}`);if(!n.ok){let e=`HTTP ${n.status}`;try{let t=await n.json();t?.error&&(e=t.error)}catch{}throw Error(e)}this.results=await n.json()}catch(e){this.error=e instanceof Error?e.message:String(e),this.results=[]}finally{this.loading=!1}},clear(){this.query=``,this.results=[],this.error=``}}}),D={class:`search-header`},O={class:`text-h5 q-mb-md`},k={class:`row items-center q-mt-sm q-gutter-sm`},A={key:0,class:`text-caption text-grey-6`},j={key:0,class:`text-grey-6 text-caption`},M={key:1,class:`text-negative text-caption`},N={key:2,class:`text-grey-6 text-caption`},P={key:3,class:`search-results`},F=[`onClick`],I={class:`row items-center q-mb-xs text-caption`},L={class:`text-grey-5 text-weight-medium`},R={class:`text-grey-6`},z={class:`search-snippet text-body2 text-grey-4`},B=x(p({__name:`SearchPage`,setup(p){let g=E(),x=y(),{t:B}=_(),{timeAgo:V}=w(),H=r(null),U=null;function W(){U&&clearTimeout(U),U=setTimeout(()=>{g.search()},250)}t(()=>g.includeArchived,()=>{g.query.trim().length>0&&g.search()});function G(e){x.push({name:`workspace`,params:{id:e}})}function K(e){return e===`user:message`?B(`search.eventType.userMessage`):e===`agent:output`?B(`search.eventType.agentOutput`):e}return(t,r)=>(e(),o(T,{class:`q-pa-md search-page`},{default:i(()=>[f(`div`,D,[f(`h2`,O,a(t.$t(`search.title`)),1),c(v,{ref_key:`inputEl`,ref:H,modelValue:d(g).query,"onUpdate:modelValue":[r[0]||=e=>d(g).query=e,W],dense:``,dark:``,outlined:``,clearable:``,autofocus:``,placeholder:t.$t(`search.placeholder`),onClear:r[1]||=e=>d(g).clear()},{prepend:i(()=>[c(m,{name:`search`})]),_:1},8,[`modelValue`,`placeholder`]),f(`div`,k,[c(b,{modelValue:d(g).includeArchived,"onUpdate:modelValue":r[2]||=e=>d(g).includeArchived=e,label:t.$t(`search.includeArchived`),dense:``,dark:``,color:`indigo-4`,size:`sm`},null,8,[`modelValue`,`label`]),c(C),d(g).results.length>0?(e(),l(`span`,A,a(t.$t(`search.resultCount`,{n:d(g).results.length})),1)):s(``,!0)])]),c(h,{dark:``,class:`q-my-md`}),d(g).loading?(e(),l(`div`,j,a(t.$t(`search.loading`)),1)):d(g).error?(e(),l(`div`,M,a(t.$t(`search.error`,{message:d(g).error})),1)):d(g).query.trim().length>0&&d(g).results.length===0?(e(),l(`div`,N,a(t.$t(`search.noResults`)),1)):d(g).results.length>0?(e(),l(`div`,P,[(e(!0),l(u,null,n(d(g).results,(n,r)=>(e(),l(`div`,{key:`${n.workspaceId}-${n.timestamp}-${r}`,class:`search-result q-pa-sm q-mb-sm cursor-pointer`,onClick:e=>G(n.workspaceId)},[f(`div`,I,[f(`span`,L,a(n.workspaceName),1),n.archived?(e(),o(S,{key:0,color:`grey-7`,class:`q-ml-xs`,label:t.$t(`common.archive`)},null,8,[`label`])):s(``,!0),c(C),c(S,{color:n.type===`user:message`?`blue-grey-7`:`indigo-7`,class:`q-mr-sm`,label:K(n.type)},null,8,[`color`,`label`]),f(`span`,R,a(d(V)(n.timestamp)),1)]),f(`div`,z,a(n.snippet),1)],8,F))),128))])):s(``,!0)]),_:1}))}}),[[`__scopeId`,`data-v-6f728e16`]]);export{B as default};
@@ -1 +0,0 @@
1
- .settings-page[data-v-a469bf16]{background-color:#1a1a2e;min-height:100%;padding:32px 24px}.settings-inner[data-v-a469bf16]{width:100%;max-width:900px;margin:0 auto}.settings-header[data-v-a469bf16]{min-height:48px}.settings-tabs[data-v-a469bf16] .q-tab{color:#888;text-transform:none;font-weight:500}.settings-tabs[data-v-a469bf16] .q-tab--active{color:#6c63ff}.settings-panels[data-v-a469bf16]{background:0 0}.settings-card[data-v-a469bf16]{background:#224;border:1px solid #2a2a4a}.template-card[data-v-a469bf16]{background:#1a1a2e;border:1px solid #2a2a4a}.settings-input[data-v-a469bf16] .q-field__control{background:#1a1a2e;border-color:#2a2a4a}.settings-input[data-v-a469bf16] .q-field__native,.settings-input[data-v-a469bf16] input,.settings-input[data-v-a469bf16] textarea{color:#e0e0e0}.settings-input[data-v-a469bf16] .q-field__label{color:#888}.mono-textarea[data-v-a469bf16] textarea{font-family:JetBrains Mono,Fira Code,monospace;font-size:13px}.readonly-input[data-v-a469bf16] .q-field__control{background:#16162a}.readonly-input[data-v-a469bf16] input{color:#888}.project-list-col[data-v-a469bf16]{flex-shrink:0;width:30%;min-width:200px;max-width:280px;overflow:hidden}.project-form-col[data-v-a469bf16]{flex:1;min-width:0}.project-item[data-v-a469bf16]:hover{background-color:#ffffff08}.project-item--active[data-v-a469bf16]{border-left:3px solid #6c63ff;background-color:#2a2a4a!important}
@@ -1 +0,0 @@
1
- import{F as e,H as t,L as n,M as r,N as i,Q as a,U as o,W as ee,_t as te,bt as s,d as c,f as l,g as u,h as d,l as f,p,r as m,rt as h,u as g,v as ne}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{t as re}from"./QIcon-B0-pH3Qs.js";import{t as _}from"./QSeparator-DNSiXYrN.js";import{n as ie,t as ae}from"./settings-CAILUJXO.js";import{t as v}from"./QBtn-DHwAb18J.js";import{n as oe}from"./vue-i18n-BJlZEYnA.js";import{D as se,T as ce,d as le,i as y,n as b,w as ue}from"./index-CZA4BFN5.js";import{n as de,t as fe}from"./QItemSection-CiY_LK5Y.js";import{t as x}from"./QItemLabel-Codqjisk.js";import{t as pe}from"./QExpansionItem-CWw6ZujM.js";import{t as me}from"./QTooltip-BIDjo2hJ.js";import{t as S}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as he}from"./QSpace-BNr0AftG.js";import{i as C,n as ge,r as _e,t as ve}from"./QTabPanels-C4bZGqml.js";import{t as ye}from"./use-quasar-Cc4smfg5.js";import{t as be}from"./QList-Bl9824vi.js";import{t as xe}from"./ClosePopup-DkLittac.js";import{n as w,t as Se}from"./models-CPFeBEQS.js";import{t as Ce}from"./QPage-yqdKDG7-.js";var we={class:`settings-inner`},Te={class:`settings-header row items-center q-mb-lg`},Ee={class:`text-h5 text-weight-medium text-grey-3`},De={class:`settings-card rounded-borders q-pa-lg`},Oe={class:`text-subtitle1 text-weight-medium q-mb-md text-grey-3`},ke={class:`q-mb-lg`},Ae={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},je={class:`q-mb-lg`},Me={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ne={class:`q-mb-lg`},Pe={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Fe={class:`text-caption text-red-4 q-mt-xs`},Ie={class:`q-mb-lg`},Le={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Re={class:`text-caption text-grey-7 q-mt-xs`},ze={class:`q-mb-lg`},Be={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ve={class:`q-mb-lg`},He={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ue={class:`q-mb-md`},We={class:`q-mb-lg`},Ge={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ke={class:`text-caption text-grey-7 q-mt-xs`},qe={class:`q-mb-lg`},Je={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ye={class:`text-caption text-grey-7 q-mt-xs`},Xe={class:`q-mb-lg`},Ze={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Qe={class:`text-caption text-grey-7 q-mt-xs`},$e={class:`q-mb-lg`},et={class:`field-label text-body2 text-weight-medium q-mb-sm text-grey-6`},tt={class:`q-mb-sm`},nt={class:`field-label-sub text-caption q-mb-xs text-grey-7`},rt={class:`q-mb-sm`},it={class:`field-label-sub text-caption q-mb-xs text-grey-7`},at={class:`text-caption text-grey-7 q-mt-xs`},ot={class:`q-mb-lg`},st={class:`field-label text-body2 text-weight-medium q-mb-sm text-grey-6`},ct={class:`q-mb-sm`},lt={class:`field-label-sub text-caption q-mb-xs text-grey-7`},ut={class:`q-mb-sm`},dt={class:`field-label-sub text-caption q-mb-xs text-grey-7`},ft={class:`text-caption text-grey-7 q-mt-xs`},pt={class:`settings-card q-pa-md rounded-borders`},mt={class:`text-subtitle2 q-mb-sm`},ht={class:`text-caption text-grey-7 q-mb-sm`},gt={class:`settings-card q-pa-md rounded-borders`},_t={class:`text-subtitle2 q-mb-sm`},vt={class:`text-caption text-grey-7 q-mb-sm`},yt={class:`row q-gutter-sm`},bt={class:`row justify-end`},xt={class:`row q-gutter-md`,style:{"min-height":`500px`}},St={class:`project-list-col`},Ct={class:`settings-card rounded-borders`,style:{height:`100%`}},wt={class:`q-pa-sm`},Tt={class:`text-caption text-uppercase text-weight-bold q-px-sm q-py-xs text-grey-6`,style:{"letter-spacing":`0.05em`}},Et={key:0,class:`q-pa-md text-center text-caption text-grey-8`},Dt={class:`q-pa-sm`},Ot={class:`project-form-col`},kt={class:`settings-card rounded-borders q-pa-lg`,style:{height:`100%`}},At={class:`text-subtitle1 text-weight-medium q-mb-md text-grey-3`},jt={class:`q-mb-md`},Mt={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Nt={class:`q-mb-md`},Pt={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ft={class:`q-mb-md`},It={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Lt={class:`q-mb-md`},Rt={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},zt={class:`q-mb-md`},Bt={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Vt={class:`q-mb-md`},Ht={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Ut={class:`q-mb-md`},Wt={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Gt={class:`text-caption text-grey-7 q-mt-xs`},Kt={class:`q-mb-lg`},qt={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},Jt={class:`text-caption text-grey-7 q-mt-xs`},Yt={class:`q-mb-lg`},Xt={class:`field-label text-body2 text-weight-medium q-mb-sm text-grey-6`},Zt={class:`q-mb-md`},Qt={class:`field-label-sub text-caption q-mb-xs text-grey-7`},$t={class:`field-label-sub text-caption q-mb-xs text-grey-7`},en={class:`q-mb-lg`},tn={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},nn={class:`text-caption text-grey-7 q-mb-sm`},rn={class:`q-mb-lg`},an={class:`field-label text-body2 text-weight-medium q-mb-xs text-grey-6`},on={class:`text-caption text-grey-7 q-mb-sm`},sn={class:`row items-center q-gutter-sm`},cn={key:1,class:`column items-center justify-center`,style:{height:`100%`,"min-height":`300px`}},ln={class:`text-body2 text-grey-8`},un={class:`settings-card rounded-borders q-pa-lg`},dn={class:`row items-center justify-between q-mb-md`},fn={class:`text-subtitle1 text-weight-medium text-grey-3`},pn={key:0,class:`text-grey-6 q-py-lg text-center`},mn={key:1,class:`column q-gutter-sm`},hn={class:`row items-start justify-between no-wrap`},gn={class:`col`},_n={class:`text-body1 text-weight-medium`,style:{"font-family":`'Roboto Mono', monospace`}},vn={class:`text-caption text-grey-5 q-mt-xs`},yn={class:`row no-wrap q-gutter-xs`},bn={class:`text-caption text-grey-7 q-mt-lg`,style:{"font-family":`'Roboto Mono', monospace`}},xn={class:`text-subtitle1`},Sn={class:`q-pl-md q-pt-xs`,style:{"font-size":`11px`,"font-family":`'Roboto Mono', monospace`,columns:`2`,"column-gap":`24px`}},Cn={key:0,class:`text-negative text-caption`},T=S(ne({__name:`SettingsPage`,setup(ne){let S=ye(),T=ae(),E=ue(),{t:D,locale:wn}=oe(),O=a(`global`),k=a(`auto`),A=a(!0),j=a(``),M=a(``),N=a(``),P=a(!0),F=a(!0),I=a(``),L=a(``),R=a(`plan`),z=a(``),B=a(``),V=a([]),Tn=a(!1),H=a(-1),U=a(!1),W=a({path:``,displayName:``,defaultSourceBranch:``,defaultModel:``,dangerouslySkipPermissions:!0,prPromptTemplate:``,gitConventions:``,setupScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}}),En=a([]),Dn=a([]);async function On(){try{let e=await fetch(`/api/skills`);e.ok&&(En.value=await e.json())}catch{}}function kn(e,t){t(()=>{let t=e.trim().toLowerCase();Dn.value=t?En.value.filter(e=>e.toLowerCase().includes(t)):En.value.slice()})}let G=a([]),An=a(!1),jn=a(!1),Mn=a(!1),K=a(!1),q=a(null),J=a(``),Y=a(``),X=a(``),Z=a(``),Nn=a(!1),Pn=f(()=>[...E.templates].sort((e,t)=>e.slug.localeCompare(t.slug))),Fn=[`{workspace_name}`,`{working_branch}`,`{source_branch}`,`{project_path}`,`{worktree_path}`,`{commit_count}`,`{unpushed_count}`,`{files_changed}`,`{insertions}`,`{deletions}`,`{pr_number}`,`{pr_url}`,`{pr_state}`,`{session_name}`];function In(){q.value=null,J.value=``,Y.value=``,X.value=``,Z.value=``,K.value=!0}function Ln(e){q.value=e.slug,J.value=e.slug,Y.value=e.description,X.value=e.content,Z.value=``,K.value=!0}async function Rn(){Z.value=``;let e=J.value.trim(),t=Y.value.trim();if(q.value===null&&!/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)){Z.value=D(`templates.slugInvalid`);return}if(!t){Z.value=D(`templates.descriptionRequired`);return}if(!X.value.trim()){Z.value=D(`templates.contentRequired`);return}Nn.value=!0;try{q.value===null?await E.createTemplate({slug:e,description:t,content:X.value}):await E.updateTemplate(q.value,{description:t,content:X.value}),K.value=!1}catch(e){Z.value=e instanceof Error?e.message:D(`templates.createFailed`)}finally{Nn.value=!1}}async function zn(e){S.dialog({title:D(`templates.deleteTemplate`),message:`${D(`templates.deleteConfirm`,{slug:e.slug})}\n\n${D(`templates.deleteConfirmMessage`)}`,dark:!0,cancel:{flat:!0,label:D(`common.cancel`),color:`grey-5`},ok:{flat:!0,label:D(`templates.deleteTemplate`),color:`red-5`}}).onOk(async()=>{try{await E.deleteTemplate(e.slug)}catch(e){S.notify({type:`negative`,message:e instanceof Error?e.message:D(`templates.deleteFailed`),position:`top`})}})}let Bn=[{label:`English`,value:`en`},{label:`Français`,value:`fr`},{label:`Deutsch`,value:`de`},{label:`Español`,value:`es`},{label:`Italiano`,value:`it`}];function Vn(e){wn.value=e,localStorage.setItem(`kobo:locale`,e)}let Hn=f(()=>[...Se.map(e=>({label:D(e.i18nLabelKey),value:e.value}))]),Un=f(()=>[{label:D(`settings.useGlobal`),value:``},...Hn.value]),Wn=f(()=>[{name:`{{pr_number}}`,description:D(`settings.var.prNumber`)},{name:`{{pr_url}}`,description:D(`settings.var.prUrl`)},{name:`{{branch_name}}`,description:D(`settings.var.branchName`)},{name:`{{source_branch}}`,description:D(`settings.var.sourceBranch`)},{name:`{{workspace_name}}`,description:D(`settings.var.workspaceName`)},{name:`{{project_name}}`,description:D(`settings.var.projectName`)},{name:`{{notion_url}}`,description:D(`settings.var.notionUrl`)},{name:`{{commits}}`,description:D(`settings.var.commits`)},{name:`{{diff_stats}}`,description:D(`settings.var.diffStats`)},{name:`{{tasks}}`,description:D(`settings.var.tasks`)},{name:`{{acceptance_criteria}}`,description:D(`settings.var.acceptanceCriteria`)}]),Gn=f(()=>[{label:D(`settings.mcpAutoSelect`),value:``},...T.activeMcpServers.map(e=>({label:e.key,value:e.key}))]),Q=f(()=>H.value<0||H.value>=T.projects.length?null:T.projects[H.value]??null);function Kn(){k.value=T.global.defaultModel,A.value=T.global.dangerouslySkipPermissions??!0,j.value=T.global.prPromptTemplate,M.value=T.global.gitConventions,N.value=T.global.editorCommand??``,P.value=T.global.browserNotifications??!0,F.value=T.global.audioNotifications??!0,I.value=T.global.notionStatusProperty??``,L.value=T.global.notionInProgressStatus??``,R.value=T.global.defaultPermissionMode||`plan`,z.value=T.global.notionMcpKey??``,B.value=T.global.sentryMcpKey??``,V.value=Array.isArray(T.global.tags)?[...T.global.tags]:[]}function qn(e){if(!e){W.value={path:``,displayName:``,defaultSourceBranch:``,defaultModel:``,dangerouslySkipPermissions:!0,prPromptTemplate:``,gitConventions:``,setupScript:``,devServer:{startCommand:``,stopCommand:``},e2e:{framework:``,skill:``,prompt:``},finalization:{prompt:``}},G.value=[];return}W.value={path:e.path,displayName:e.displayName,defaultSourceBranch:e.defaultSourceBranch,defaultModel:e.defaultModel,dangerouslySkipPermissions:e.dangerouslySkipPermissions??!0,prPromptTemplate:e.prPromptTemplate,gitConventions:e.gitConventions??``,setupScript:e.setupScript??``,devServer:{startCommand:e.devServer?.startCommand??``,stopCommand:e.devServer?.stopCommand??``},e2e:{framework:e.e2e?.framework??``,skill:e.e2e?.skill??``,prompt:e.e2e?.prompt??``},finalization:{prompt:e.finalization?.prompt??``}},e.path&&Jn(e.path)}async function Jn(e){if(!e.trim()){G.value=[];return}An.value=!0;try{let t=await fetch(`/api/git/branches?path=${encodeURIComponent(e.trim())}`);if(!t.ok)throw Error(`HTTP ${t.status}`);let n=await t.json();G.value=n.local??n.branches??[]}catch{G.value=[]}finally{An.value=!1}}let $=null;t(()=>W.value.path,e=>{$&&clearTimeout($),$=setTimeout(()=>{Jn(e)},500)}),t(H,()=>{U.value=!1,qn(Q.value)});let Yn=a(null);async function Xn(){try{let e=await fetch(`/api/settings/export`);if(!e.ok)throw Error(`HTTP ${e.status}`);let t=await e.json(),n=new Blob([JSON.stringify(t,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`kobo-config-${new Date().toISOString().replace(/[:.]/g,`-`)}.json`,i.click(),URL.revokeObjectURL(r),S.notify({type:`positive`,message:D(`settings.exportSuccess`),position:`top`,timeout:3e3})}catch(e){S.notify({type:`negative`,message:String(e),position:`top`,timeout:4e3})}}function Zn(){Yn.value?.click()}async function Qn(e){let t=e.target,n=t.files?.[0];if(n)try{S.dialog({title:D(`settings.importConfirmTitle`),message:D(`settings.importConfirmMessage`),cancel:!0,persistent:!0,dark:!0}).onOk(async()=>{try{let e=await n.text(),t=JSON.parse(e),r=await fetch(`/api/settings/import`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(t)});if(!r.ok){let e=await r.json().catch(()=>({}));throw Error(e.error??`HTTP ${r.status}`)}await T.fetchSettings(),Kn(),S.notify({type:`positive`,message:D(`settings.importSuccess`),position:`top`,timeout:3e3})}catch(e){S.notify({type:`negative`,message:String(e),position:`top`,timeout:5e3})}})}finally{t.value=``}}async function $n(){Tn.value=!0;try{await T.updateGlobal({defaultModel:k.value,dangerouslySkipPermissions:A.value,prPromptTemplate:j.value,gitConventions:M.value,editorCommand:N.value,browserNotifications:P.value,audioNotifications:F.value,notionStatusProperty:I.value,notionInProgressStatus:L.value,defaultPermissionMode:R.value,notionMcpKey:z.value,sentryMcpKey:B.value,tags:V.value}),S.notify({type:`positive`,message:D(`settings.saved`),position:`top`})}catch{S.notify({type:`negative`,message:D(`settings.saveError`),position:`top`})}finally{Tn.value=!1}}async function er(){if(!W.value.path.trim()){S.notify({type:`negative`,message:D(`settings.projectPathRequired`),position:`top`});return}jn.value=!0;try{await T.upsertProject(W.value.path.trim(),{displayName:W.value.displayName,defaultSourceBranch:W.value.defaultSourceBranch,defaultModel:W.value.defaultModel,dangerouslySkipPermissions:W.value.dangerouslySkipPermissions,prPromptTemplate:W.value.prPromptTemplate,gitConventions:W.value.gitConventions,setupScript:W.value.setupScript,devServer:W.value.devServer,e2e:W.value.e2e,finalization:W.value.finalization}),U.value=!1;let e=T.projects.findIndex(e=>e.path===W.value.path.trim());e>=0&&(H.value=e),S.notify({type:`positive`,message:D(`settings.projectSaved`),position:`top`})}catch{S.notify({type:`negative`,message:D(`settings.projectSaveError`),position:`top`})}finally{jn.value=!1}}async function tr(){if(Q.value){Mn.value=!0;try{await T.deleteProject(Q.value.path),H.value=-1,U.value=!1,qn(null),S.notify({type:`positive`,message:D(`settings.projectDeleted`),position:`top`})}catch{S.notify({type:`negative`,message:D(`settings.projectDeleteError`),position:`top`})}finally{Mn.value=!1}}}function nr(){H.value=-1,U.value=!0,qn(null)}function rr(e){U.value=!1,H.value=e}function ir(e){if(e.displayName)return e.displayName;let t=e.path.split(`/`);return t[t.length-1]??e.path}let ar=a([]);function or(e,t){t(()=>{ar.value=e?G.value.filter(t=>t.toLowerCase().includes(e.toLowerCase())):G.value})}return r(async()=>{await Promise.all([T.fetchSettings(),T.fetchActiveMcpServers(),On()]),Kn()}),i(()=>{$&&clearTimeout($)}),(t,r)=>(e(),c(Ce,{class:`settings-page`},{default:o(()=>[g(`div`,we,[g(`div`,Te,[u(re,{name:`settings`,size:`24px`,color:`indigo-4`,class:`q-mr-sm`}),g(`span`,Ee,s(t.$t(`settings.title`)),1)]),u(_e,{modelValue:O.value,"onUpdate:modelValue":r[0]||=e=>O.value=e,dense:``,"active-color":`indigo-4`,"indicator-color":`indigo-4`,class:`settings-tabs q-mb-lg`,align:`left`,"narrow-indicator":``},{default:o(()=>[u(C,{name:`global`,label:t.$t(`settings.global`)},null,8,[`label`]),u(C,{name:`projects`,label:t.$t(`settings.projects`)},null,8,[`label`]),u(C,{name:`templates`,label:t.$t(`templates.title`)},null,8,[`label`])]),_:1},8,[`modelValue`]),u(ve,{modelValue:O.value,"onUpdate:modelValue":r[29]||=e=>O.value=e,animated:``,class:`settings-panels`},{default:o(()=>[u(ge,{name:`global`,class:`q-pa-none`},{default:o(()=>[g(`div`,De,[g(`div`,Oe,s(t.$t(`settings.globalSettings`)),1),u(_,{dark:``,class:`q-mb-md`}),g(`div`,ke,[g(`div`,Ae,s(t.$t(`settings.language`)),1),u(w,{"model-value":h(wn),options:Bn,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`,"onUpdate:modelValue":Vn},null,8,[`model-value`])]),g(`div`,je,[g(`div`,Me,s(t.$t(`settings.defaultModel`)),1),u(w,{modelValue:k.value,"onUpdate:modelValue":r[1]||=e=>k.value=e,options:Hn.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),g(`div`,Ne,[g(`div`,Pe,s(t.$t(`settings.agentPermissions`)),1),u(b,{modelValue:A.value,"onUpdate:modelValue":r[2]||=e=>A.value=e,label:t.$t(`settings.skipPermissions`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),g(`div`,Fe,s(t.$t(`settings.skipPermissionsWarning`)),1)]),g(`div`,Ie,[g(`div`,Le,s(t.$t(`settings.defaultPermissionMode`)),1),u(w,{modelValue:R.value,"onUpdate:modelValue":r[3]||=e=>R.value=e,options:[{label:t.$t(`permissionMode.plan`),value:`plan`},{label:t.$t(`permissionMode.autoAccept`),value:`auto-accept`}],"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`]),g(`div`,Re,s(t.$t(`settings.defaultPermissionModeHint`)),1)]),g(`div`,ze,[g(`div`,Be,s(t.$t(`settings.activityFeed`)),1),u(b,{"model-value":h(T).showVerboseSystemMessages,label:t.$t(`settings.verboseMessages`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`,"onUpdate:modelValue":r[4]||=e=>h(T).toggleVerboseSystemMessages()},null,8,[`model-value`,`label`])]),g(`div`,Ve,[g(`div`,He,s(t.$t(`settings.notifications`)),1),u(b,{modelValue:P.value,"onUpdate:modelValue":r[5]||=e=>P.value=e,label:t.$t(`settings.browserNotifications`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`]),u(b,{modelValue:F.value,"onUpdate:modelValue":r[6]||=e=>F.value=e,label:t.$t(`settings.audioNotifications`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`])]),g(`div`,Ue,[u(pe,{dense:``,dark:``,icon:`code`,label:t.$t(`settings.availableVariables`),class:`variables-panel rounded-borders`},{default:o(()=>[u(be,{dense:``,dark:``,class:`q-pa-sm`},{default:o(()=>[(e(!0),p(m,null,n(Wn.value,t=>(e(),c(de,{key:t.name,dense:``},{default:o(()=>[u(fe,null,{default:o(()=>[u(x,{class:`text-caption`,style:{"font-family":`monospace`}},{default:o(()=>[d(s(t.name),1)]),_:2},1024),u(x,{caption:``,class:`text-grey-7`},{default:o(()=>[d(s(t.description),1)]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1})]),_:1},8,[`label`])]),g(`div`,We,[g(`div`,Ge,s(t.$t(`settings.prPromptTemplate`)),1),u(y,{modelValue:j.value,"onUpdate:modelValue":r[7]||=e=>j.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:t.$t(`settings.prPromptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),g(`div`,Ke,s(t.$t(`settings.prPromptHint`)),1)]),g(`div`,qe,[g(`div`,Je,s(t.$t(`settings.gitConventions`)),1),u(y,{modelValue:M.value,"onUpdate:modelValue":r[8]||=e=>M.value=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:8,placeholder:t.$t(`settings.gitConventionsPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),g(`div`,Ye,s(t.$t(`settings.gitConventionsHint`)),1)]),g(`div`,Xe,[g(`div`,Ze,s(t.$t(`settings.editorCommand`)),1),u(y,{modelValue:N.value,"onUpdate:modelValue":r[9]||=e=>N.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.editorCommandPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`]),g(`div`,Qe,s(t.$t(`settings.editorCommandHint`)),1)]),g(`div`,$e,[g(`div`,et,s(t.$t(`settings.mcpSelection`)),1),g(`div`,tt,[g(`div`,nt,s(t.$t(`settings.notionMcp`)),1),u(w,{modelValue:z.value,"onUpdate:modelValue":r[10]||=e=>z.value=e,options:Gn.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),g(`div`,rt,[g(`div`,it,s(t.$t(`settings.sentryMcp`)),1),u(w,{modelValue:B.value,"onUpdate:modelValue":r[11]||=e=>B.value=e,options:Gn.value,"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),g(`div`,at,s(t.$t(`settings.mcpSelectionHint`)),1)]),g(`div`,ot,[g(`div`,st,s(t.$t(`settings.notionStatus`)),1),g(`div`,ct,[g(`div`,lt,s(t.$t(`settings.notionStatusProperty`)),1),u(y,{modelValue:I.value,"onUpdate:modelValue":r[12]||=e=>I.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionStatusPropertyPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),g(`div`,ut,[g(`div`,dt,s(t.$t(`settings.notionInProgressStatus`)),1),u(y,{modelValue:L.value,"onUpdate:modelValue":r[13]||=e=>L.value=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.notionInProgressStatusPlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),g(`div`,ft,s(t.$t(`settings.notionStatusHint`)),1)]),g(`div`,pt,[g(`div`,mt,s(t.$t(`settings.tagsTitle`)),1),g(`div`,ht,s(t.$t(`settings.tagsHint`)),1),u(w,{modelValue:V.value,"onUpdate:modelValue":r[14]||=e=>V.value=e,label:t.$t(`settings.tagsLabel`),dark:``,outlined:``,multiple:``,"use-input":``,"use-chips":``,"new-value-mode":`add-unique`,"hide-dropdown-icon":``,"input-debounce":`0`,class:`settings-input`},null,8,[`modelValue`,`label`])]),g(`div`,gt,[g(`div`,_t,s(t.$t(`settings.shareTitle`)),1),g(`div`,vt,s(t.$t(`settings.shareHint`)),1),g(`div`,yt,[u(v,{label:t.$t(`settings.exportConfig`),icon:`download`,"no-caps":``,outline:``,color:`grey-4`,onClick:Xn},null,8,[`label`]),u(v,{label:t.$t(`settings.importConfig`),icon:`upload`,"no-caps":``,outline:``,color:`grey-4`,onClick:Zn},null,8,[`label`]),g(`input`,{ref_key:`importFileInput`,ref:Yn,type:`file`,accept:`application/json,.json`,style:{display:`none`},onChange:Qn},null,544)])]),g(`div`,bt,[u(v,{label:t.$t(`common.save`),"no-caps":``,unelevated:``,color:`primary`,loading:Tn.value,onClick:$n},null,8,[`label`,`loading`])])])]),_:1}),u(ge,{name:`projects`,class:`q-pa-none`},{default:o(()=>[g(`div`,xt,[g(`div`,St,[g(`div`,Ct,[g(`div`,wt,[g(`div`,Tt,s(t.$t(`settings.configuredProjects`)),1)]),u(_,{dark:``}),u(be,{dark:``,dense:``,class:`q-py-xs`},{default:o(()=>[(e(!0),p(m,null,n(h(T).projects,(t,n)=>(e(),c(de,{key:t.path,clickable:``,active:H.value===n&&!U.value,"active-class":`project-item--active`,class:`project-item q-mx-xs rounded-borders`,style:{"min-height":`40px`},onClick:e=>rr(n)},{default:o(()=>[u(fe,null,{default:o(()=>[u(x,{class:`text-body2 text-grey-3`},{default:o(()=>[d(s(ir(t)),1)]),_:2},1024),u(x,{caption:``,class:`text-grey-7 ellipsis`,style:{"font-size":`11px`,"font-family":`monospace`}},{default:o(()=>[d(s(t.path),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,[`active`,`onClick`]))),128))]),_:1}),h(T).projects.length===0&&!h(T).loading?(e(),p(`div`,Et,s(t.$t(`settings.noProjects`)),1)):l(``,!0),u(_,{dark:``}),g(`div`,Dt,[u(v,{label:t.$t(`settings.addProject`),icon:`add`,"no-caps":``,flat:``,dense:``,class:`full-width`,color:`indigo-4`,onClick:nr},null,8,[`label`])])])]),g(`div`,Ot,[g(`div`,kt,[Q.value||U.value?(e(),p(m,{key:0},[g(`div`,At,s(U.value?t.$t(`settings.newProject`):t.$t(`settings.editProject`)),1),u(_,{dark:``,class:`q-mb-md`}),g(`div`,jt,[g(`div`,Mt,s(t.$t(`settings.projectPath`)),1),u(y,{modelValue:W.value.path,"onUpdate:modelValue":r[15]||=e=>W.value.path=e,dense:``,dark:``,outlined:``,readonly:!U.value,placeholder:t.$t(`settings.projectPathPlaceholder`),class:te([`settings-input`,{"readonly-input":!U.value}])},null,8,[`modelValue`,`readonly`,`placeholder`,`class`])]),g(`div`,Nt,[g(`div`,Pt,s(t.$t(`settings.displayName`)),1),u(y,{modelValue:W.value.displayName,"onUpdate:modelValue":r[16]||=e=>W.value.displayName=e,dense:``,dark:``,outlined:``,placeholder:t.$t(`settings.displayNamePlaceholder`),class:`settings-input`},null,8,[`modelValue`,`placeholder`])]),g(`div`,Ft,[g(`div`,It,s(t.$t(`settings.defaultSourceBranch`)),1),u(w,{modelValue:W.value.defaultSourceBranch,"onUpdate:modelValue":r[17]||=e=>W.value.defaultSourceBranch=e,options:ar.value,dense:``,dark:``,outlined:``,"use-input":``,"emit-value":``,loading:An.value,class:`settings-input`,placeholder:`main`,onFilter:or},{"no-option":o(()=>[u(de,null,{default:o(()=>[u(fe,{class:`text-grey-6 text-caption`},{default:o(()=>[d(s(W.value.path.trim()?t.$t(`createPage.noBranches`):t.$t(`createPage.enterPath`)),1)]),_:1})]),_:1})]),_:1},8,[`modelValue`,`options`,`loading`])]),g(`div`,Lt,[g(`div`,Rt,s(t.$t(`settings.defaultModel.project`)),1),u(w,{modelValue:W.value.defaultModel,"onUpdate:modelValue":r[18]||=e=>W.value.defaultModel=e,options:Un.value,"emit-value":``,"map-options":``,"option-value":`value`,"option-label":`label`,dense:``,dark:``,outlined:``,class:`settings-input`},null,8,[`modelValue`,`options`])]),g(`div`,zt,[g(`div`,Bt,s(t.$t(`settings.agentPermissions`)),1),u(b,{modelValue:W.value.dangerouslySkipPermissions,"onUpdate:modelValue":r[19]||=e=>W.value.dangerouslySkipPermissions=e,label:t.$t(`settings.skipPermissions.project`),dark:``,dense:``,color:`indigo-4`,class:`text-grey-5 text-caption`},null,8,[`modelValue`,`label`])]),g(`div`,Vt,[g(`div`,Ht,s(t.$t(`settings.prPromptTemplate.project`)),1),u(y,{modelValue:W.value.prPromptTemplate,"onUpdate:modelValue":r[20]||=e=>W.value.prPromptTemplate=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:4,placeholder:t.$t(`settings.prPromptPlaceholder.project`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),g(`div`,Ut,[g(`div`,Wt,s(t.$t(`settings.gitConventions.project`)),1),u(y,{modelValue:W.value.gitConventions,"onUpdate:modelValue":r[21]||=e=>W.value.gitConventions=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:6,placeholder:t.$t(`settings.gitConventionsEmpty`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),g(`div`,Gt,s(t.$t(`settings.gitConventionsEmpty`)),1)]),g(`div`,Kt,[g(`div`,qt,s(t.$t(`settings.setupScript`)),1),u(y,{modelValue:W.value.setupScript,"onUpdate:modelValue":r[22]||=e=>W.value.setupScript=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:5,placeholder:t.$t(`settings.setupScriptPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`]),g(`div`,Jt,s(t.$t(`settings.setupScriptHint`)),1)]),g(`div`,Yt,[g(`div`,Xt,s(t.$t(`settings.devServer`)),1),g(`div`,Zt,[g(`div`,Qt,s(t.$t(`settings.devServerStart`)),1),u(y,{modelValue:W.value.devServer.startCommand,"onUpdate:modelValue":r[23]||=e=>W.value.devServer.startCommand=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:3,placeholder:t.$t(`settings.devServerStartPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])]),g(`div`,null,[g(`div`,$t,s(t.$t(`settings.devServerStop`)),1),u(y,{modelValue:W.value.devServer.stopCommand,"onUpdate:modelValue":r[24]||=e=>W.value.devServer.stopCommand=e,type:`textarea`,dense:``,dark:``,outlined:``,rows:3,placeholder:t.$t(`settings.devServerStopPlaceholder`),class:`settings-input mono-textarea`},null,8,[`modelValue`,`placeholder`])])]),g(`div`,en,[g(`div`,tn,s(t.$t(`settings.e2e.title`)),1),g(`div`,nn,s(t.$t(`settings.e2e.helpText`)),1),u(w,{modelValue:W.value.e2e.framework,"onUpdate:modelValue":r[25]||=e=>W.value.e2e.framework=e,options:[{label:t.$t(`settings.e2e.frameworkNone`),value:``},{label:`Cypress`,value:`cypress`},{label:`Playwright`,value:`playwright`},{label:`Jest`,value:`jest`},{label:`Vitest`,value:`vitest`},{label:t.$t(`settings.e2e.frameworkOther`),value:`other`}],"emit-value":``,"map-options":``,dense:``,dark:``,outlined:``,class:`settings-input q-mb-sm`,label:t.$t(`settings.e2e.framework`)},null,8,[`modelValue`,`options`,`label`]),W.value.e2e.framework?(e(),p(m,{key:0},[u(w,{modelValue:W.value.e2e.skill,"onUpdate:modelValue":r[26]||=e=>W.value.e2e.skill=e,options:Dn.value,"use-input":``,"fill-input":``,"hide-selected":``,"hide-dropdown-icon":``,"input-debounce":`200`,"new-value-mode":`add-unique`,dense:``,dark:``,outlined:``,class:`settings-input q-mb-sm`,label:t.$t(`settings.e2e.skill`),placeholder:t.$t(`settings.e2e.skillPlaceholder`),onFilter:kn},null,8,[`modelValue`,`options`,`label`,`placeholder`]),u(y,{modelValue:W.value.e2e.prompt,"onUpdate:modelValue":r[27]||=e=>W.value.e2e.prompt=e,type:`textarea`,autogrow:``,dense:``,dark:``,outlined:``,class:`settings-input mono-textarea`,label:t.$t(`settings.e2e.prompt`),placeholder:t.$t(`settings.e2e.promptPlaceholder`)},null,8,[`modelValue`,`label`,`placeholder`])],64)):l(``,!0)]),g(`div`,rn,[g(`div`,an,s(t.$t(`settings.finalization.title`)),1),g(`div`,on,s(t.$t(`settings.finalization.helpText`)),1),u(y,{modelValue:W.value.finalization.prompt,"onUpdate:modelValue":r[28]||=e=>W.value.finalization.prompt=e,type:`textarea`,autogrow:``,rows:`4`,dense:``,dark:``,outlined:``,class:`settings-input mono-textarea q-mb-sm`,label:t.$t(`settings.finalization.prompt`),placeholder:t.$t(`settings.finalization.promptPlaceholder`)},null,8,[`modelValue`,`label`,`placeholder`])]),g(`div`,sn,[U.value?l(``,!0):(e(),c(v,{key:0,label:t.$t(`common.delete`),"no-caps":``,flat:``,color:`red-5`,loading:Mn.value,onClick:tr},null,8,[`label`,`loading`])),u(he),u(v,{label:t.$t(`common.save`),"no-caps":``,unelevated:``,color:`primary`,loading:jn.value,onClick:er},null,8,[`label`,`loading`])])],64)):(e(),p(`div`,cn,[u(re,{name:`folder_open`,size:`48px`,color:`grey-7`,class:`q-mb-md`}),g(`div`,ln,s(t.$t(`settings.selectProject`)),1)]))])])])]),_:1}),u(ge,{name:`templates`,class:`q-pa-none`},{default:o(()=>[g(`div`,un,[g(`div`,dn,[g(`div`,fn,s(t.$t(`templates.title`)),1),u(v,{color:`primary`,icon:`add`,label:t.$t(`templates.newTemplate`),dense:``,"no-caps":``,onClick:In},null,8,[`label`])]),u(_,{dark:``,class:`q-mb-md`}),Pn.value.length===0?(e(),p(`div`,pn,s(t.$t(`templates.empty`)),1)):(e(),p(`div`,mn,[(e(!0),p(m,null,n(Pn.value,n=>(e(),c(ce,{key:n.slug,dark:``,flat:``,bordered:``,class:`q-pa-md template-card`},{default:o(()=>[g(`div`,hn,[g(`div`,gn,[g(`div`,_n,` /`+s(n.slug),1),g(`div`,vn,s(n.description),1)]),g(`div`,yn,[u(v,{flat:``,dense:``,round:``,size:`sm`,icon:`edit`,color:`grey-5`,onClick:e=>Ln(n)},{default:o(()=>[u(me,null,{default:o(()=>[d(s(t.$t(`templates.editTemplate`)),1)]),_:1})]),_:1},8,[`onClick`]),u(v,{flat:``,dense:``,round:``,size:`sm`,icon:`delete`,color:`red-4`,onClick:e=>zn(n)},{default:o(()=>[u(me,null,{default:o(()=>[d(s(t.$t(`templates.deleteTemplate`)),1)]),_:1})]),_:1},8,[`onClick`])])])]),_:2},1024))),128))])),g(`div`,bn,s(t.$t(`templates.filePath`,{path:`~/.config/kobo/templates.json`})),1)])]),_:1})]),_:1},8,[`modelValue`])]),u(ie,{modelValue:K.value,"onUpdate:modelValue":r[33]||=e=>K.value=e,persistent:``},{default:o(()=>[u(ce,{dark:``,style:{"min-width":`560px`,"max-width":`800px`,width:`80vw`}},{default:o(()=>[u(se,null,{default:o(()=>[g(`div`,xn,s(q.value===null?t.$t(`templates.newTemplate`):t.$t(`templates.editTemplate`)),1)]),_:1}),u(se,{class:`q-gutter-md`},{default:o(()=>[u(y,{modelValue:J.value,"onUpdate:modelValue":r[30]||=e=>J.value=e,label:t.$t(`templates.slug`),hint:t.$t(`templates.slugHint`),dark:``,dense:``,prefix:`/`,disable:q.value!==null,rules:[e=>/^[a-z0-9][a-z0-9-]{0,63}$/.test(e)||t.$t(`templates.slugInvalid`)],"lazy-rules":``},null,8,[`modelValue`,`label`,`hint`,`disable`,`rules`]),u(y,{modelValue:Y.value,"onUpdate:modelValue":r[31]||=e=>Y.value=e,label:t.$t(`templates.description`),hint:t.$t(`templates.descriptionHint`),dark:``,dense:``,counter:``,maxlength:`120`,rules:[e=>e&&e.trim().length>0||``]},null,8,[`modelValue`,`label`,`hint`,`rules`]),u(y,{modelValue:X.value,"onUpdate:modelValue":r[32]||=e=>X.value=e,label:t.$t(`templates.content`),hint:t.$t(`templates.contentHint`),dark:``,dense:``,type:`textarea`,autogrow:``,counter:``,maxlength:`4096`,rules:[e=>e&&e.trim().length>0||``]},null,8,[`modelValue`,`label`,`hint`,`rules`]),u(pe,{dense:``,"dense-toggle":``,label:t.$t(`templates.availableVars`),"header-class":`text-grey-6 text-caption q-pa-none`,style:{"font-size":`11px`}},{default:o(()=>[g(`div`,Sn,[(e(),p(m,null,n(Fn,e=>g(`div`,{key:e,class:`text-grey-5 q-mb-xs`},s(e),1)),64))])]),_:1},8,[`label`]),Z.value?(e(),p(`div`,Cn,s(Z.value),1)):l(``,!0)]),_:1}),u(le,{align:`right`},{default:o(()=>[ee(u(v,{flat:``,label:t.$t(`common.cancel`)},null,8,[`label`]),[[xe]]),u(v,{flat:``,color:`primary`,label:q.value===null?t.$t(`templates.create`):t.$t(`templates.save`),loading:Nn.value,onClick:Rn},null,8,[`label`,`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),[[`__scopeId`,`data-v-a469bf16`]]);export{T as default};
@@ -1 +0,0 @@
1
- import{H as e,M as t,k as n,y as r}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{C as i,D as a,E as o,O as s,S as c,T as l,_ as u,b as d,k as f,v as p,w as m,x as h}from"./QIcon-B0-pH3Qs.js";import{c as g}from"./QSeparator-DNSiXYrN.js";import{i as _,n as v,o as y,t as b}from"./scroll-CYWyxBdv.js";import{n as x,t as S}from"./touch-Bj_Fr4kC.js";import{p as C}from"./QTooltip-BIDjo2hJ.js";var{passive:w}=h,T=[`both`,`horizontal`,`vertical`],E=s({name:`QScrollObserver`,props:{axis:{type:String,validator:e=>T.includes(e),default:`vertical`},debounce:[String,Number],scrollTarget:y},emits:[`scroll`],setup(i,{emit:a}){let o={position:{top:0,left:0},direction:`down`,directionChanged:!1,delta:{top:0,left:0},inflectionPoint:{top:0,left:0}},s=null,l,u;e(()=>i.scrollTarget,()=>{p(),f()});function d(){s?.();let e=Math.max(0,_(l)),t=b(l),n={top:e-o.position.top,left:t-o.position.left};if(i.axis===`vertical`&&n.top===0||i.axis===`horizontal`&&n.left===0)return;let r=Math.abs(n.top)>=Math.abs(n.left)?n.top<0?`up`:`down`:n.left<0?`left`:`right`;o.position={top:e,left:t},o.directionChanged=o.direction!==r,o.delta=n,o.directionChanged===!0&&(o.direction=r,o.inflectionPoint=o.position),a(`scroll`,{...o})}function f(){l=v(u,i.scrollTarget),l.addEventListener(`scroll`,m,w),m(!0)}function p(){l!==void 0&&(l.removeEventListener(`scroll`,m,w),l=void 0)}function m(e){if(e===!0||i.debounce===0||i.debounce===`0`)d();else if(s===null){let[e,t]=i.debounce?[setTimeout(d,i.debounce),clearTimeout]:[requestAnimationFrame(d),cancelAnimationFrame];s=()=>{t(e),s=null}}}let{proxy:h}=r();return e(()=>h.$q.lang.rtl,d),t(()=>{u=h.$el.parentNode,f()}),n(()=>{s?.(),p()}),Object.assign(h,{trigger:m,getPosition:()=>o}),c}});function D(e,t,n){let r=i(e),a,o=r.left-t.event.x,s=r.top-t.event.y,c=Math.abs(o),l=Math.abs(s),u=t.direction;u.horizontal===!0&&u.vertical!==!0?a=o<0?`left`:`right`:u.horizontal!==!0&&u.vertical===!0?a=s<0?`up`:`down`:u.up===!0&&s<0?(a=`up`,c>l&&(u.left===!0&&o<0?a=`left`:u.right===!0&&o>0&&(a=`right`))):u.down===!0&&s>0?(a=`down`,c>l&&(u.left===!0&&o<0?a=`left`:u.right===!0&&o>0&&(a=`right`))):u.left===!0&&o<0?(a=`left`,c<l&&(u.up===!0&&s<0?a=`up`:u.down===!0&&s>0&&(a=`down`))):u.right===!0&&o>0&&(a=`right`,c<l&&(u.up===!0&&s<0?a=`up`:u.down===!0&&s>0&&(a=`down`)));let d=!1;if(a===void 0&&n===!1){if(t.event.isFirst===!0||t.event.lastDir===void 0)return{};a=t.event.lastDir,d=!0,a===`left`||a===`right`?(r.left-=o,c=0,o=0):(r.top-=s,l=0,s=0)}return{synthetic:d,payload:{evt:e,touch:t.event.mouse!==!0,mouse:t.event.mouse===!0,position:r,direction:a,isFirst:t.event.isFirst,isFinal:n===!0,duration:Date.now()-t.event.time,distance:{x:c,y:l},offset:{x:o,y:s},delta:{x:r.left-t.event.lastX,y:r.top-t.event.lastY}}}}var O=0,k=f({name:`touch-pan`,beforeMount(e,{value:t,modifiers:n}){if(n.mouse!==!0&&g.has.touch!==!0)return;function r(e,t){n.mouse===!0&&t===!0?a(e):(n.stop===!0&&o(e),n.prevent===!0&&m(e))}let s={uid:`qvtp_`+ O++,handler:t,modifiers:n,direction:S(n),noop:c,mouseStart(e){x(e,s)&&d(e)&&(u(s,`temp`,[[document,`mousemove`,`move`,`notPassiveCapture`],[document,`mouseup`,`end`,`passiveCapture`]]),s.start(e,!0))},touchStart(e){if(x(e,s)){let t=e.target;u(s,`temp`,[[t,`touchmove`,`move`,`notPassiveCapture`],[t,`touchcancel`,`end`,`passiveCapture`],[t,`touchend`,`end`,`passiveCapture`]]),s.start(e)}},start(t,r){if(g.is.firefox===!0&&l(e,!0),s.lastEvt=t,r===!0||n.stop===!0){if(s.direction.all!==!0&&(r!==!0||s.modifiers.mouseAllDir!==!0&&s.modifiers.mousealldir!==!0)){let e=t.type.indexOf(`mouse`)===-1?new TouchEvent(t.type,t):new MouseEvent(t.type,t);t.defaultPrevented===!0&&m(e),t.cancelBubble===!0&&o(e),Object.assign(e,{qKeyEvent:t.qKeyEvent,qClickOutside:t.qClickOutside,qAnchorHandled:t.qAnchorHandled,qClonedBy:t.qClonedBy===void 0?[s.uid]:t.qClonedBy.concat(s.uid)}),s.initialEvent={target:t.target,event:e}}o(t)}let{left:a,top:c}=i(t);s.event={x:a,y:c,time:Date.now(),mouse:r===!0,detected:!1,isFirst:!0,isFinal:!1,lastX:a,lastY:c}},move(e){if(s.event===void 0)return;let t=i(e),a=t.left-s.event.x,o=t.top-s.event.y;if(a===0&&o===0)return;s.lastEvt=e;let c=s.event.mouse===!0,l=()=>{r(e,c);let t;n.preserveCursor!==!0&&n.preservecursor!==!0&&(t=document.documentElement.style.cursor||``,document.documentElement.style.cursor=`grabbing`),c===!0&&document.body.classList.add(`no-pointer-events--children`),document.body.classList.add(`non-selectable`),C(),s.styleCleanup=e=>{if(s.styleCleanup=void 0,t!==void 0&&(document.documentElement.style.cursor=t),document.body.classList.remove(`non-selectable`),c===!0){let t=()=>{document.body.classList.remove(`no-pointer-events--children`)};e===void 0?t():setTimeout(()=>{t(),e()},50)}else e!==void 0&&e()}};if(s.event.detected===!0){s.event.isFirst!==!0&&r(e,s.event.mouse);let{payload:t,synthetic:n}=D(e,s,!1);t!==void 0&&(s.handler(t)===!1?s.end(e):(s.styleCleanup===void 0&&s.event.isFirst===!0&&l(),s.event.lastX=t.position.left,s.event.lastY=t.position.top,s.event.lastDir=n===!0?void 0:t.direction,s.event.isFirst=!1));return}if(s.direction.all===!0||c===!0&&(s.modifiers.mouseAllDir===!0||s.modifiers.mousealldir===!0)){l(),s.event.detected=!0,s.move(e);return}let u=Math.abs(a),d=Math.abs(o);u!==d&&(s.direction.horizontal===!0&&u>d||s.direction.vertical===!0&&u<d||s.direction.up===!0&&u<d&&o<0||s.direction.down===!0&&u<d&&o>0||s.direction.left===!0&&u>d&&a<0||s.direction.right===!0&&u>d&&a>0?(s.event.detected=!0,s.move(e)):s.end(e,!0))},end(t,n){if(s.event!==void 0){if(p(s,`temp`),g.is.firefox===!0&&l(e,!1),n===!0)s.styleCleanup?.(),s.event.detected!==!0&&s.initialEvent!==void 0&&s.initialEvent.target.dispatchEvent(s.initialEvent.event);else if(s.event.detected===!0){s.event.isFirst===!0&&s.handler(D(t===void 0?s.lastEvt:t,s).payload);let{payload:e}=D(t===void 0?s.lastEvt:t,s,!0),n=()=>{s.handler(e)};s.styleCleanup===void 0?n():s.styleCleanup(n)}s.event=void 0,s.initialEvent=void 0,s.lastEvt=void 0}}};e.__qtouchpan=s,n.mouse===!0&&u(s,`main`,[[e,`mousedown`,`mouseStart`,`passive${n.mouseCapture===!0||n.mousecapture===!0?`Capture`:``}`]]),g.has.touch===!0&&u(s,`main`,[[e,`touchstart`,`touchStart`,`passive${n.capture===!0?`Capture`:``}`],[e,`touchmove`,`noop`,`notPassiveCapture`]])},updated(e,t){let n=e.__qtouchpan;n!==void 0&&(t.oldValue!==t.value&&(typeof value!=`function`&&n.end(),n.handler=t.value),n.direction=S(t.modifiers))},beforeUnmount(e){let t=e.__qtouchpan;t!==void 0&&(t.event!==void 0&&t.end(),p(t,`main`),p(t,`temp`),g.is.firefox===!0&&l(e,!1),t.styleCleanup?.(),delete e.__qtouchpan)}});export{E as n,k as t};
@@ -1,4 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/ActivityFeed-BtIOkIy6.js","assets/index-CZA4BFN5.js","assets/vue-i18n-BJlZEYnA.js","assets/runtime-core.esm-bundler-C3IgBgY5.js","assets/QIcon-B0-pH3Qs.js","assets/use-id-C93QQwrt.js","assets/QSeparator-DNSiXYrN.js","assets/QBtn-DHwAb18J.js","assets/use-checkbox-B_o-iLG2.js","assets/private.use-form-Dlb0iQZh.js","assets/settings-CAILUJXO.js","assets/scroll-CYWyxBdv.js","assets/is-DUKatk8N.js","assets/symbols-DCYodwb2.js","assets/index-eX_lKHSg.css","assets/_plugin-vue_export-helper-r4mAJOHR.js","assets/documents-Cw05r3zs.js","assets/QExpansionItem-CWw6ZujM.js","assets/QItemSection-CiY_LK5Y.js","assets/QItemLabel-Codqjisk.js","assets/QSlideTransition-BQxI8l5r.js","assets/QScrollArea-DpCqRRE0.js","assets/touch-Bj_Fr4kC.js","assets/TouchPan-vsl78kxF.js","assets/QTooltip-BIDjo2hJ.js","assets/QSpinnerDots-DEiRooBD.js","assets/ActivityFeed-Be0QQryJ.css"])))=>i.map(i=>d[i]);
2
- import{E as e,F as t,H as n,L as r,M as i,Q as a,S as o,T as s,U as c,W as l,_ as u,_t as d,a as f,bt as p,d as m,f as h,g,h as _,k as v,l as y,p as b,r as x,rt as S,u as C,v as w,w as T,y as E}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{I as ee,L as te,O as D,n as O,r as ne,s as k,t as A}from"./QIcon-B0-pH3Qs.js";import{t as re}from"./QSeparator-DNSiXYrN.js";import{n as j}from"./settings-CAILUJXO.js";import{t as M}from"./QBtn-DHwAb18J.js";import{n as N}from"./vue-i18n-BJlZEYnA.js";import{D as ie,E as P,S as ae,T as oe,b as F,d as se,f as ce,g as le,i as ue,m as I,p as de,v as L,w as fe}from"./index-CZA4BFN5.js";import{t as pe}from"./QSpinnerDots-DEiRooBD.js";import{n as me,t as he}from"./QItemSection-CiY_LK5Y.js";import{t as ge}from"./QItemLabel-Codqjisk.js";import{t as R}from"./QTooltip-BIDjo2hJ.js";import{t as z}from"./_plugin-vue_export-helper-r4mAJOHR.js";import{t as _e}from"./QBadge-DqtcDv8D.js";import{t as ve}from"./QSpace-BNr0AftG.js";import{n as B,t as V}from"./QChip-bl3YRhax.js";import{t as H}from"./kobo-commands-Cpl4IFon.js";import{t as ye}from"./use-quasar-Cc4smfg5.js";import{t as be}from"./ClosePopup-DkLittac.js";import{t as xe}from"./formatters-CX2gvLFv.js";import{i as U,n as W,r as G,t as Se}from"./stats-C3n1k51k.js";import{n as Ce,t as we}from"./models-CPFeBEQS.js";import{t as Te}from"./QPage-yqdKDG7-.js";import{i as K,n as q,r as Ee,t as De}from"./expand-template-CcQus77v.js";var Oe={key:0,class:`row items-center q-pa-xs q-px-sm bg-dark text-grey-5 text-caption`},J={key:0,class:`q-ml-xs`},ke=w({__name:`AgentBusyBanner`,setup(e){let{t:n}=N(),r=L(),i=T(`openDrawerTab`),a=y(()=>r.currentSubagents.filter(e=>e.status===`running`).length),o=y(()=>{let e=r.selectedWorkspace;return e?F(e.status):!1});function s(){i?.(`subagents`)}return(e,r)=>o.value?(t(),b(`div`,Oe,[g(pe,{size:`14px`,color:`indigo-4`,class:`q-mr-sm`}),C(`span`,null,p(S(n)(`agentBusy.banner`)),1),a.value>0?(t(),b(`span`,J,` — `+p(S(n)(`agentBusy.subagentsRunning`,{n:a.value},a.value)),1)):h(``,!0),a.value>0?(t(),b(x,{key:1},[g(ve),C(`span`,{class:`text-indigo-4 cursor-pointer`,style:{"text-decoration":`underline`},onClick:s},p(S(n)(`agentBusy.viewSubagents`)),1)],64)):h(``,!0)])):h(``,!0)}}),Y=D({name:`QBanner`,props:{...ne,inlineActions:Boolean,dense:Boolean,rounded:Boolean},setup(e,{slots:t}){let{proxy:{$q:n}}=E(),r=O(e,n),i=y(()=>`q-banner row items-center`+(e.dense===!0?` q-banner--dense`:``)+(r.value===!0?` q-banner--dark q-dark`:``)+(e.rounded===!0?` rounded-borders`:``)),a=y(()=>`q-banner__actions row items-center justify-end col-${e.inlineActions===!0?`auto`:`all`}`);return()=>{let n=[o(`div`,{class:`q-banner__avatar col-auto row items-center self-start`},k(t.avatar)),o(`div`,{class:`q-banner__content col text-body2`},k(t.default))],r=k(t.action);return r!==void 0&&n.push(o(`div`,{class:a.value},r)),o(`div`,{class:i.value+(e.inlineActions===!1&&r!==void 0?` q-banner--top-padding`:``),role:`alert`},n)}}}),X={class:`text-subtitle2`},Z={class:`text-caption`},Q=w({__name:`AgentErrorBanner`,props:{workspaceId:{}},setup(e){let n=e,{t:r}=N(),i=ae();function a(e){let t=e.replace(/\u001b\[\d+m/g,``).trim();return/^warning:/i.test(t)}let o=y(()=>{let e=i.eventsFor(n.workspaceId);for(let t=e.length-1;t>=0;t--){let n=e[t];if(!(n.kind!==`error`||n.category===`quota`)&&!(n.category===`other`&&a(n.message)))return n}return null});return(e,n)=>o.value?(t(),m(Y,{key:0,class:`bg-negative text-white q-ma-sm`},{avatar:c(()=>[g(A,{name:`error_outline`})]),default:c(()=>[C(`div`,X,p(S(r)(`agent.error.${o.value.category}`)),1),C(`div`,Z,p(o.value.message),1)]),_:1})):h(``,!0)}}),Ae=w({__name:`AutoLoopChip`,setup(e){let{t:n}=N(),r=L(),i=y(()=>r.selectedWorkspace),a=y(()=>i.value?r.autoLoopStates[i.value.id]??null:null),o=y(()=>!!a.value?.auto_loop),s=y(()=>!!a.value?.auto_loop_ready),l=y(()=>r.tasks.filter(e=>e.status===`done`).length),u=y(()=>r.tasks.length);return(e,r)=>o.value&&!s.value?(t(),m(V,{key:0,dense:``,square:``,size:`sm`,color:`indigo-4`,"text-color":`white`,icon:`hourglass_top`,class:`q-ml-sm`},{default:c(()=>[_(p(S(n)(`autoLoop.preparing`))+` `,1),g(R,null,{default:c(()=>[_(p(S(n)(`autoLoop.preparingTooltip`)),1)]),_:1})]),_:1})):o.value?(t(),m(V,{key:1,dense:``,square:``,size:`sm`,color:`amber-9`,"text-color":`white`,icon:`autorenew`,class:`q-ml-sm`},{default:c(()=>[_(p(S(n)(`autoLoop.progress`,{done:l.value,total:u.value})),1)]),_:1})):h(``,!0)}}),je={class:`quota-footer`},Me={key:0,class:`text-grey-7`},$={class:`text-negative text-weight-medium`},Ne={class:`text-weight-medium q-mb-sm`},Pe={class:`text-caption q-mb-sm`},Fe={class:`text-orange text-weight-medium`},Ie={class:`text-weight-medium q-mb-sm`},Le={class:`text-caption text-orange q-mb-sm`},Re={class:`text-grey-8`},ze={class:`text-weight-medium q-mb-sm`},Be={class:`row items-center justify-between q-mb-xs`},Ve={key:0,class:`text-caption q-mt-xs`},He={class:`text-caption q-mt-sm`},Ue={class:`row q-gutter-sm q-mt-sm`},We=z(w({__name:`QuotaFooter`,setup(e){let n=L(),i=Se(),{t:o}=N(),s=y(()=>n.currentProviderUsage),l=a(!1),u=y(()=>{let e=s.value;if(!e)return``;try{return new Date(e.fetchedAt).toLocaleTimeString()}catch{return e.fetchedAt}});function f(e,t){let n=s.value?.buckets[t];return n?W({id:n.id,label:e,usedPct:n.usedPct,resetAt:n.resetsAt},t,o):o(`stats.usageBucket`,{n:t+1})}async function m(){if(!l.value){l.value=!0;try{await n.requestUsageRefresh(`claude-code`)}finally{l.value=!1}}}function _(){i.requestOpenStats()}return(e,n)=>(t(),b(`span`,je,[s.value?s.value.status===`unauthenticated`?(t(),b(x,{key:1},[g(A,{name:`warning`,color:`negative`,size:`14px`,class:`q-mr-xs`}),C(`span`,$,p(e.$t(`quotaFooter.popover.unauthenticated`)),1),g(B,{anchor:`top right`,self:`bottom right`,class:`q-pa-md quota-menu`},{default:c(()=>[C(`div`,Ne,p(e.$t(`quotaFooter.popover.title`)),1),C(`div`,Pe,p(e.$t(`quotaFooter.popover.unauthenticatedHint`)),1),g(M,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,label:e.$t(`quotaFooter.popover.refreshNow`),loading:l.value,disable:l.value,onClick:m},null,8,[`label`,`loading`,`disable`])]),_:1})],64)):s.value.status===`error`?(t(),b(x,{key:2},[g(A,{name:`error_outline`,color:`orange`,size:`14px`,class:`q-mr-xs`}),C(`span`,Fe,p(e.$t(`quotaFooter.popover.error`)),1),g(B,{anchor:`top right`,self:`bottom right`,class:`q-pa-md quota-menu`},{default:c(()=>[C(`div`,Ie,p(e.$t(`quotaFooter.popover.title`)),1),C(`div`,Le,p(s.value.errorMessage),1),g(M,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,label:e.$t(`quotaFooter.popover.refreshNow`),loading:l.value,disable:l.value,onClick:m},null,8,[`label`,`loading`,`disable`])]),_:1})],64)):(t(),b(x,{key:3},[(t(!0),b(x,null,r(s.value.buckets,(e,n)=>(t(),b(`span`,{key:e.id,class:`quota-bucket-compact`},[C(`span`,Re,p(f(e.label,n)),1),g(P,{value:Math.max(0,Math.min(1,e.usedPct/100)),color:S(U)(e.usedPct),"track-color":`grey-9`,class:`quota-bar`},null,8,[`value`,`color`]),C(`span`,{class:d([`bucket-pct`,`text-${S(U)(e.usedPct)}`])},p(e.usedPct.toFixed(0))+`%`,3)]))),128)),g(B,{anchor:`top right`,self:`bottom right`,class:`q-pa-md quota-menu`},{default:c(()=>[C(`div`,ze,p(e.$t(`quotaFooter.popover.title`)),1),(t(!0),b(x,null,r(s.value.buckets,(n,r)=>(t(),b(`div`,{key:n.id,class:`q-mb-sm`},[C(`div`,Be,[C(`span`,null,p(f(n.label,r)),1),C(`span`,{class:d(`text-${S(U)(n.usedPct)}`)},p(n.usedPct.toFixed(0))+`%`,3)]),g(P,{value:Math.max(0,Math.min(1,n.usedPct/100)),color:S(U)(n.usedPct),"track-color":`grey-9`,class:`full-bar`},null,8,[`value`,`color`]),n.resetsAt?(t(),b(`div`,Ve,p(e.$t(`quotaFooter.popover.resetsIn`,{value:S(G)(n.resetsAt)})),1)):h(``,!0)]))),128)),C(`div`,He,p(e.$t(`quotaFooter.lastUpdated`,{time:u.value})),1),C(`div`,Ue,[g(M,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`refresh`,label:e.$t(`quotaFooter.popover.refreshNow`),loading:l.value,disable:l.value,onClick:m},null,8,[`label`,`loading`,`disable`]),g(M,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`bar_chart`,label:e.$t(`quotaFooter.popover.openStatsPanel`),onClick:_},null,8,[`label`])])]),_:1})],64)):(t(),b(`span`,Me,p(e.$t(`quotaFooter.empty`)),1))]))}}),[[`__scopeId`,`data-v-e345e200`]]),Ge={key:0,class:`row items-center q-gutter-xs q-mb-xs q-px-xs`,style:{"flex-wrap":`wrap`}},Ke={class:`text-caption image-tag-label`},qe={key:2,class:`queue-banner row items-center q-pa-xs q-px-sm text-caption text-amber-6`},Je={key:3,class:`autoloop-banner row items-center no-wrap q-pa-xs q-px-sm text-caption text-indigo-3`},Ye={class:`col`},Xe={class:`row items-center q-gutter-sm`},Ze={class:`chat-hint row items-center text-caption text-grey-8`},Qe=z(w({__name:`ChatInput`,props:{workspaceId:{}},setup(i){let o=i,{t:s}=N(),l=ye(),u=L(),f=le(),v=fe(),w=a(``),T=a(!1),E=y(()=>F(u.selectedWorkspace?.status));async function ee(){if(o.workspaceId){T.value=!0;try{await u.interruptAgent(o.workspaceId),l.notify({type:`info`,message:s(`workspacePage.interrupted`),position:`top`,timeout:3e3})}catch(e){let t=e instanceof Error?e.message:s(`workspacePage.interruptFailed`);l.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{T.value=!1}}}let te=y(()=>F(u.selectedWorkspace?.status)),D=y(()=>!!u.queuedMessages[o.workspaceId]),O=a(null);function ne(){let e=O.value;return e?e.getNativeElement?.()??null:null}let{showSkills:k,skillFilter:re,selectedSkillIndex:j,groupedDropdown:ie,flatDropdown:P,fetchSkills:ae,detectSlashFragment:oe,replaceFragmentWith:se,closeDropdown:ce}=Ee(w,()=>ne()),I=a([]),de=a(null),me=a(!1),he=[`image/png`,`image/jpeg`,`image/gif`,`image/webp`];function ge(t){let n=ne(),r=n?.selectionStart??w.value.length,i=w.value.slice(0,r),a=w.value.slice(r);w.value=i+t+a,e(()=>{if(n){let e=r+t.length;n.focus(),n.setSelectionRange(e,e)}})}function z(){let e=`[image: ${s(`chatInput.uploading`)}]`,t=new Set(I.value.map(e=>e.placeholder));if(!t.has(e))return e;let n=2;for(;t.has(`[image: ${s(`chatInput.uploading`)} ${n}]`);)n++;return`[image: ${s(`chatInput.uploading`)} ${n}]`}async function _e(e){if(!he.includes(e.type))return;let t=crypto.randomUUID(),n=e.name||`pasted-image.png`,r=z(),i={tempId:t,originalName:n,placeholder:r,status:`uploading`};I.value.push(i),ge(r);try{let n=new FormData;n.append(`image`,e);let r=await fetch(`/api/workspaces/${o.workspaceId}/images`,{method:`POST`,body:n});if(!r.ok){let e=await r.json();throw Error(e.error||`Upload failed`)}let i=await r.json(),a=I.value.find(e=>e.tempId===t);if(a){a.uid=i.uid,a.path=i.path,a.status=`ready`;let e=`[image: ${i.path}]`;e!==a.placeholder&&(w.value=w.value.split(a.placeholder).join(e),a.placeholder=e)}}catch{let e=I.value.find(e=>e.tempId===t);e&&(e.status=`error`)}}function B(e,t){fetch(`/api/workspaces/${e}/images/${t}`,{method:`DELETE`}).catch(()=>{})}function V(e){let t=I.value.find(t=>t.tempId===e);if(t){I.value=I.value.filter(t=>t.tempId!==e);{let e=t.placeholder.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);w.value=w.value.replace(RegExp(`${e}\\s?`,`g`),``)}t.uid&&B(o.workspaceId,t.uid)}}function be(e){if(e.clipboardData){for(let t of Array.from(e.clipboardData.items))if(t.type.startsWith(`image/`)){let e=t.getAsFile();e&&_e(e)}}}function xe(e){if(e.preventDefault(),me.value=!1,e.dataTransfer)for(let t of Array.from(e.dataTransfer.files))he.includes(t.type)&&_e(t)}function U(e){e.preventDefault(),me.value=!0}function W(){me.value=!1}function G(e){let t=e.target;if(t.files){for(let e of Array.from(t.files))_e(e);t.value=``}}let Se=y(()=>I.value.some(e=>e.status===`uploading`)),Ce=y(()=>u.sessions.find(e=>e.id===u.selectedSessionId)??null);ae(),n(()=>u.chatDraft,e=>{e&&(w.value=w.value?`${w.value}\n${e}`:e,u.chatDraft=``)});let we=!1;function Te(){we=!0,u.cancelQueuedMessage(o.workspaceId)}n(D,(e,t)=>{t&&!e&&!we&&(w.value=``),we=!1}),n(()=>o.workspaceId,e=>{let t=u.queuedMessages[e];w.value=t?t.content:``}),n(w,async()=>{await e(),await oe();let t=[];for(let e of I.value)w.value.includes(e.placeholder)||t.push(e.tempId);for(let e of t)V(e)});function Oe(e){if(!e)return;if(e.type===`template`){let t=v.templates.find(t=>t.slug===e.name);if(!t)return;let n=u.workspaces.find(e=>e.id===o.workspaceId)??null,r=u.gitStatsCache[o.workspaceId]??null,i=u.sessions.find(e=>e.id===u.selectedSessionId)??null,a=null;if(i)if(i.name)a=i.name;else{let e=u.sessions.findIndex(e=>e.id===i.id);a=s(`workspacePage.session`,{n:u.sessions.length-e})}let c;if(r?.prUrl){let e=r.prUrl.match(/\/pull\/(\d+)/);e&&(c=parseInt(e[1],10))}let l=De({workspace:n?{name:n.name,workingBranch:n.workingBranch,sourceBranch:n.sourceBranch,projectPath:n.projectPath}:null,gitStats:r?{commitCount:r.commitCount,unpushedCount:r.unpushedCount,filesChanged:r.filesChanged,insertions:r.insertions,deletions:r.deletions,prNumber:c,prUrl:r.prUrl,prState:r.prState}:null,sessionName:a});se(q(t.content,l)),ce();return}let t=`/${e.name}`;if(e.type===`kobo`&&H[t]){w.value=t,ce(),$();return}se(`${t} `),ce()}let J=y(()=>{let e=o.workspaceId;if(!e)return!1;let t=u.autoLoopStates[e];return t?.auto_loop===!0&&t?.auto_loop_ready===!0}),ke=y(()=>!o.workspaceId||J.value),Y=a(!1);async function X(){if(!(!o.workspaceId||Y.value)){Y.value=!0;try{await u.disableAutoLoop(o.workspaceId)}finally{Y.value=!1}}}let Z=a(JSON.parse(localStorage.getItem(`kobo:chatHistory`)??`[]`)),Q=a(-1),Ae=a(``);function je(e){e&&Z.value[0]!==e&&(Z.value.unshift(e),Z.value.length>50&&Z.value.pop(),localStorage.setItem(`kobo:chatHistory`,JSON.stringify(Z.value)))}function Me(){Q.value=-1,Ae.value=``}async function $(){let e=w.value.trim();if(!e&&I.value.length===0||ke.value||Se.value)return;let t=Ce.value,n=H[e];if(n){f.sendChatMessage(o.workspaceId,n.prompt,u.selectedSessionId??void 0),u.markRead(o.workspaceId),u.addActivityItem(o.workspaceId,{id:`user-${Date.now()}`,type:`text`,content:n.prompt,timestamp:new Date().toISOString(),sessionId:u.selectedSessionId??void 0,meta:{sender:`user`,pending:!0}}),je(e),Me(),w.value=``;return}if(te.value){u.queueMessage(o.workspaceId,e,u.selectedSessionId??void 0);return}u.cancelQueuedMessage(o.workspaceId);let r=e,i=I.value.filter(e=>e.status===`ready`&&e.path&&!r.includes(`[image: ${e.path}]`)).map(e=>`[image: ${e.path}]`).join(` `);i&&(r=`${r} ${i}`.trim());let a=u.selectedSessionId??void 0;if((t?.status===`completed`||t?.status===`error`)&&!t.engineSessionId){l.notify({type:`warning`,message:s(`workspacePage.sessionEndedNotice`),position:`top`,timeout:5e3});return}let c=`user-${Date.now()}`;u.markRead(o.workspaceId),u.addActivityItem(o.workspaceId,{id:c,type:`text`,content:r,timestamp:new Date().toISOString(),sessionId:a,meta:{sender:`user`,pending:!0}});let d=e;je(e),Me(),w.value=``,I.value=[];let p=(e,t)=>{console.error(`[ChatInput] ${t} failed:`,e),u.removeActivityItem(o.workspaceId,c),w.value=d;let n=e instanceof Error?e.message:null;l.notify({type:`negative`,message:n??s(`workspacePage.startFailed`),position:`top`,timeout:6e3})};if(t?.status===`idle`)try{await u.startWorkspace(o.workspaceId,r,t.id),await u.fetchSessions(o.workspaceId)}catch(e){p(e,`startWorkspace`)}else if(t?.status===`completed`||t?.status===`error`)try{await u.startWorkspace(o.workspaceId,r,t.id,!0),await u.fetchSessions(o.workspaceId)}catch(e){p(e,`resume session`)}else f.sendChatMessage(o.workspaceId,r,u.selectedSessionId??void 0)}function Ne(e){if(k.value&&P.value.length>0){if(e.key===`ArrowDown`){e.preventDefault(),j.value=Math.min(j.value+1,P.value.length-1);return}if(e.key===`ArrowUp`){e.preventDefault(),j.value=Math.max(j.value-1,0);return}if(e.key===`Tab`||e.key===`Enter`&&!e.shiftKey){e.preventDefault(),Oe(P.value[j.value]);return}if(e.key===`Escape`){e.preventDefault(),ce();return}}if(e.key===`ArrowUp`&&Z.value.length>0){let t=e.target;if(!(!t||t.selectionStart<=(w.value.indexOf(`
3
- `)===-1?w.value.length:w.value.indexOf(`
4
- `)))&&Q.value===-1)return;e.preventDefault(),Q.value===-1&&(Ae.value=w.value),Q.value<Z.value.length-1&&(Q.value++,w.value=Z.value[Q.value]);return}if(e.key===`ArrowDown`&&Q.value>=0){e.preventDefault(),Q.value--,w.value=Q.value>=0?Z.value[Q.value]:Ae.value;return}e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),$())}return(e,n)=>(t(),b(`div`,{class:d([`chat-input-container column q-pa-sm`,{"chat-input-dragging":me.value}]),onDragover:U,onDragleave:W,onDrop:xe},[I.value.length>0?(t(),b(`div`,Ge,[(t(!0),b(x,null,r(I.value,n=>(t(),b(`div`,{key:n.tempId,class:d([`image-tag row items-center q-px-sm q-py-xs rounded-borders`,{"image-tag--uploading":n.status===`uploading`,"image-tag--ready":n.status===`ready`,"image-tag--error":n.status===`error`}])},[n.status===`uploading`?(t(),m(pe,{key:0,size:`14px`,color:`grey-6`,class:`q-mr-xs`})):n.status===`ready`?(t(),m(A,{key:1,name:`image`,size:`14px`,color:`green-6`,class:`q-mr-xs`})):(t(),m(A,{key:2,name:`error`,size:`14px`,color:`red-6`,class:`q-mr-xs`})),C(`span`,Ke,p(n.status===`uploading`?e.$t(`chatInput.uploading`):n.path||n.originalName),1),g(M,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,class:`q-ml-xs image-tag-close`,onClick:e=>V(n.tempId)},{default:c(()=>[g(R,null,{default:c(()=>[_(p(e.$t(`tooltip.removeImage`)),1)]),_:1})]),_:1},8,[`onClick`])],2))),128))])):h(``,!0),S(k)&&S(P).length>0?(t(),m(K,{key:1,class:`chat-slash-popup`,"grouped-dropdown":S(ie),"flat-dropdown":S(P),"selected-index":S(j),onSelect:Oe},null,8,[`grouped-dropdown`,`flat-dropdown`,`selected-index`])):h(``,!0),D.value?(t(),b(`div`,qe,[g(A,{name:`schedule`,size:`14px`,color:`amber-6`,class:`q-mr-sm`}),C(`span`,null,p(e.$t(`chatInput.queueBanner`)),1)])):h(``,!0),J.value?(t(),b(`div`,Je,[g(A,{name:`all_inclusive`,size:`14px`,color:`indigo-4`,class:`q-mr-sm`}),C(`span`,Ye,p(e.$t(`chatInput.autoLoopBanner`)),1),g(M,{flat:``,dense:``,"no-caps":``,size:`sm`,icon:`stop_circle`,color:`orange-4`,label:e.$t(`chatInput.autoLoopStop`),loading:Y.value,disable:Y.value,onClick:X},null,8,[`label`,`loading`,`disable`])])):h(``,!0),C(`div`,Xe,[g(ue,{ref_key:`chatInputRef`,ref:O,modelValue:w.value,"onUpdate:modelValue":n[0]||=e=>w.value=e,dense:``,dark:``,borderless:``,autogrow:``,readonly:D.value,placeholder:e.$t(`chatInput.placeholder`),class:`chat-input col rounded-borders`,disable:ke.value,onKeydown:Ne,onPaste:be},null,8,[`modelValue`,`readonly`,`placeholder`,`disable`]),C(`input`,{ref_key:`fileInputRef`,ref:de,type:`file`,accept:`image/png,image/jpeg,image/gif,image/webp`,multiple:``,style:{display:`none`},onChange:G},null,544),g(M,{flat:``,dense:``,icon:`attach_file`,color:`grey-6`,disable:ke.value,onClick:n[1]||=e=>de.value?.click()},{default:c(()=>[g(R,null,{default:c(()=>[_(p(e.$t(`chatInput.attachImage`)),1)]),_:1})]),_:1},8,[`disable`]),D.value?(t(),m(M,{key:0,flat:``,dense:``,icon:`cancel`,color:`orange`,onClick:Te},{default:c(()=>[g(R,null,{default:c(()=>[_(p(e.$t(`chatInput.cancelQueue`)),1)]),_:1})]),_:1})):(t(),m(M,{key:1,flat:``,dense:``,icon:`send`,color:`primary`,disable:ke.value||!w.value.trim()&&I.value.length===0||Se.value,onClick:$},{default:c(()=>[g(R,null,{default:c(()=>[_(p(e.$t(`tooltip.sendMessage`)),1)]),_:1})]),_:1},8,[`disable`]))]),C(`div`,Ze,[C(`div`,null,[n[2]||=C(`kbd`,null,`Enter`,-1),_(` `+p(e.$t(`common.send`))+` `,1),n[3]||=C(`span`,{class:`q-mx-xs`},`·`,-1),n[4]||=_(),n[5]||=C(`kbd`,null,`Shift+Enter`,-1),_(` `+p(e.$t(`common.newLine`))+` `,1),n[6]||=C(`span`,{class:`q-mx-xs`},`·`,-1),n[7]||=_(),n[8]||=C(`kbd`,null,`↑↓`,-1),_(` `+p(e.$t(`common.history`)),1)]),g(ve),g(We,{class:`q-mr-md`}),E.value?(t(),m(M,{key:0,flat:``,dense:``,"no-caps":``,size:`sm`,color:`orange-4`,icon:`pause`,label:e.$t(`workspacePage.interrupt`),loading:T.value,disable:T.value,onClick:ee},{default:c(()=>[g(R,null,{default:c(()=>[_(p(e.$t(`workspacePage.interruptTooltip`)),1)]),_:1})]),_:1},8,[`label`,`loading`,`disable`])):h(``,!0)])],34))}}),[[`__scopeId`,`data-v-7fe8f2c8`]]),$e={class:`text-subtitle2`},et={class:`text-caption`},tt=w({__name:`StaleSessionBanner`,props:{workspaceId:{}},setup(e){let n=e,r=L(),i=y(()=>{if(!r.selectedSessionId||r.sessions.length<2)return!1;let e=r.sessions[0];if(!e||e.id===r.selectedSessionId)return!1;let t=r.workspaces.find(e=>e.id===n.workspaceId);return!t||!F(t.status)?!1:r.autoLoopStates[n.workspaceId]?.auto_loop===!0});function a(){let e=r.sessions[0];e&&r.selectSession(e.id)}return(e,n)=>i.value?(t(),m(Y,{key:0,class:`bg-indigo-9 text-white q-ma-sm`,rounded:``},{avatar:c(()=>[g(A,{name:`loop`})]),action:c(()=>[g(M,{flat:``,dense:``,"no-caps":``,label:e.$t(`staleSessionBanner.switchToCurrent`),onClick:a},null,8,[`label`])]),default:c(()=>[C(`div`,$e,p(e.$t(`staleSessionBanner.title`)),1),C(`div`,et,p(e.$t(`staleSessionBanner.message`)),1)]),_:1})):h(``,!0)}}),nt={key:0,class:`row items-center q-pa-xs q-px-sm bg-dark text-grey-5 text-caption`},rt=w({__name:`WakeupBanner`,setup(e){let{t:n}=N(),r=L(),o=a(Date.now()),s=null;i(()=>{s=setInterval(()=>{o.value=Date.now()},1e3)}),v(()=>{s&&clearInterval(s)});let l=y(()=>{let e=r.selectedWorkspace;return e?r.pendingWakeups[e.id]??null:null}),u=y(()=>r.selectedWorkspace?!!l.value:!1),d=y(()=>{if(!l.value)return 0;let e=Math.ceil((new Date(l.value.targetAt).getTime()-o.value)/1e3);return Math.max(0,e)}),f=y(()=>d.value===0?n(`wakeup.firing`):n(`wakeup.scheduledIn`,{n:d.value}));function x(){let e=r.selectedWorkspace;e&&r.cancelPendingWakeup(e.id)}return(e,r)=>u.value?(t(),b(`div`,nt,[g(A,{name:`schedule`,size:`14px`,color:`amber-4`,class:`q-mr-sm`}),C(`span`,null,[_(p(f.value)+` `,1),l.value?.reason?(t(),m(R,{key:0,anchor:`top middle`,self:`bottom middle`,offset:[0,6]},{default:c(()=>[_(p(S(n)(`wakeup.reason`,{reason:l.value.reason})),1)]),_:1})):h(``,!0)]),g(ve),g(M,{flat:``,dense:``,round:``,size:`xs`,icon:`close`,color:`grey-5`,"aria-label":S(n)(`wakeup.cancel`),onClick:x},{default:c(()=>[g(R,null,{default:c(()=>[_(p(S(n)(`wakeup.cancel`)),1)]),_:1})]),_:1},8,[`aria-label`])])):h(``,!0)}}),it={class:`wp-header row items-center q-px-md q-py-sm no-wrap`},at={class:`text-body1 text-weight-medium text-grey-3 ellipsis`,style:{"max-width":`480px`}},ot={class:`row items-center no-wrap text-caption text-grey-5`},st={class:`row items-center no-wrap text-caption text-grey-5`},ct={class:`row items-center no-wrap text-caption text-grey-5`},lt={key:1,class:`text-body2 text-grey-8`},ut={class:`col column items-center justify-center`},dt={class:`text-grey-6 text-caption q-mt-sm`},ft={class:`text-subtitle1`},pt=z(w({__name:`WorkspacePage`,setup(e){let r=u(()=>Promise.all([ce(()=>import(`./ActivityFeed-BtIOkIy6.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26])),new Promise(e=>setTimeout(e,500))]).then(([e])=>e)),o=ye(),v=L(),{t:w}=N(),{timeAgo:T}=xe();a(!1);let E=a(!1),D=new Set,O=a(new Set),ne=y(()=>F(v.selectedWorkspace?.status));n(ne,e=>{e||(O.value=new Set)}),n(()=>v.selectedWorkspaceId,e=>{O.value=new Set,e&&v.fetchPendingWakeup(e)},{immediate:!0});function k(e){if(!ne.value)return;let t=new Set(O.value);t.add(e),O.value=t}function P(e){D.add(e),e.finally(()=>{D.delete(e)})}a(!1);async function ae(){if(v.selectedWorkspaceId){E.value=!0;try{await v.stopWorkspace(v.selectedWorkspaceId)}catch(e){let t=e instanceof Error?e.message:w(`workspacePage.stopFailed`);o.notify({type:`negative`,message:t,position:`top`,timeout:6e3})}finally{E.value=!1}}}let le=y(()=>[...we.map(e=>({label:w(e.i18nLabelKey),value:e.value}))]),fe=y(()=>[{label:H(w(`reasoning.auto`)),value:`auto`},{label:H(w(`reasoning.low`)),value:`low`},{label:H(w(`reasoning.medium`)),value:`medium`},{label:H(w(`reasoning.high`)),value:`high`},{label:H(w(`reasoning.xhigh`)),value:`xhigh`},{label:H(w(`reasoning.max`)),value:`max`}]),z=y(()=>[{label:w(`permissionMode.autoAccept`),value:`auto-accept`},{label:w(`permissionMode.plan`),value:`plan`}]),B=y({get:()=>v.selectedWorkspace?.model??`auto`,set:e=>{v.selectedWorkspaceId&&(k(`model`),P(v.updateModel(v.selectedWorkspaceId,e)))}}),V=y({get:()=>v.selectedWorkspace?.reasoningEffort??`auto`,set:e=>{v.selectedWorkspaceId&&(k(`reasoningEffort`),P(v.updateReasoningEffort(v.selectedWorkspaceId,e)))}});function H(e){let t=e.indexOf(`:`);return t>=0?e.slice(t+1).trim():e}function U(e){return fe.value.find(t=>t.value===e)?.label??e}let W=y({get:()=>v.selectedWorkspace?.permissionMode??`auto-accept`,set:e=>{v.selectedWorkspaceId&&(k(`permissionMode`),P(v.updatePermissionMode(v.selectedWorkspaceId,e)))}}),G=de(),Se=I(),K=y(()=>v.selectedWorkspaceId),q=y(()=>v.selectedWorkspace),Ee=y(()=>v.sessions),De=y({get:()=>v.selectedSessionId,set:e=>{if(e===`__new__`){$();return}if(!e)return;v.selectSession(e);let t={...G.query};t.session=e,Se.replace({query:t})}}),Oe=y(()=>[...v.sessions.map((e,t)=>({label:e.name??w(`workspacePage.session`,{n:v.sessions.length-t}),value:e.id,caption:T(e.startedAt),isSession:!0})),{label:w(`workspacePage.newSession`),value:`__new__`,caption:``,isSession:!1}]),J=a(!1),Y=a(null),X=a(``),Z=a(!1);function je(e,t){let n=v.sessions.find(t=>t.id===e);n&&(Y.value={id:e},X.value=n.name??t,J.value=!0)}async function Me(){if(!(!Y.value||!v.selectedWorkspaceId))try{await v.renameSession(v.selectedWorkspaceId,Y.value.id,X.value.trim())}catch(e){console.error(`[WorkspacePage] renameSession failed:`,e),o.notify({type:`negative`,message:w(`workspacePage.renameFailed`),position:`top`})}finally{J.value=!1}}async function $(){if(v.selectedWorkspaceId){Z.value=!0;try{await v.createSession(v.selectedWorkspaceId)}catch(e){console.error(`[WorkspacePage] createSession failed:`,e);let t=e instanceof Error?e.message:null;o.notify({type:`negative`,message:t??w(`workspacePage.createSessionFailed`),position:`top`,timeout:6e3})}finally{Z.value=!1}}}return i(()=>{let e=G.params.id;e&&(v.selectWorkspace(e),v.fetchPendingWakeup(e));let t=G.query.session;t&&v.selectSession(t)}),n(()=>G.params.id,e=>{e&&e!==v.selectedWorkspaceId&&v.selectWorkspace(e)}),(e,n)=>(t(),m(Te,{class:`column no-wrap`,style:{height:`100vh`}},{default:c(()=>[C(`div`,it,[q.value?(t(),b(x,{key:0},[C(`span`,at,[_(p(q.value.name)+` `,1),g(R,null,{default:c(()=>[_(p(q.value.name),1)]),_:1})]),g(_e,{label:q.value.status,color:[`error`,`quota`].includes(q.value.status)?`red-9`:S(F)(q.value.status)?`green-9`:`grey-8`,class:`q-ml-sm`,style:{"font-size":`10px`}},null,8,[`label`,`color`]),g(Ae),Ee.value.length>0?(t(),m(Ce,{key:0,modelValue:De.value,"onUpdate:modelValue":n[0]||=e=>De.value=e,options:Oe.value,"emit-value":``,"map-options":``,dense:``,dark:``,borderless:``,"options-dense":``,loading:Z.value,disable:Z.value,class:`q-ml-sm`,style:{"min-width":`160px`,"max-width":`220px`,"font-size":`11px`}},{option:c(e=>[e.opt.isSession?h(``,!0):(t(),m(re,{key:0,spaced:``})),g(me,s(e.itemProps,{clickable:``,dense:``,class:`row items-center no-wrap`}),{default:c(()=>[g(he,null,{default:c(()=>[g(ge,{class:d(e.opt.isSession?``:`text-grey-5`)},{default:c(()=>[_(p(e.opt.label),1)]),_:2},1032,[`class`]),e.opt.caption?(t(),m(ge,{key:0,caption:``},{default:c(()=>[_(p(e.opt.caption),1)]),_:2},1024)):h(``,!0)]),_:2},1024),e.opt.isSession?(t(),m(he,{key:0,side:``},{default:c(()=>[g(M,{icon:`more_vert`,flat:``,dense:``,round:``,size:`xs`,color:`grey-6`,onClick:te(t=>je(e.opt.value,e.opt.label),[`stop`])},null,8,[`onClick`])]),_:2},1024)):h(``,!0)]),_:2},1040)]),_:1},8,[`modelValue`,`options`,`loading`,`disable`])):h(``,!0),g(ve),g(Ce,{modelValue:W.value,"onUpdate:modelValue":n[1]||=e=>W.value=e,options:z.value,"emit-value":``,"map-options":``,dense:``,dark:``,borderless:``,"options-dense":``,class:`q-mr-xs`,style:{"min-width":`80px`,"max-width":`140px`,"font-size":`11px`}},{selected:c(()=>[C(`span`,ot,[g(A,{name:W.value===`plan`?`visibility`:`flash_on`,size:`12px`,color:`amber-6`,class:`q-mr-xs`},null,8,[`name`]),_(` `+p(z.value.find(e=>e.value===W.value)?.label??W.value)+` `,1),O.value.has(`permissionMode`)?(t(),m(A,{key:0,name:`schedule`,size:`11px`,color:`orange-6`,class:`q-ml-xs`},{default:c(()=>[g(R,null,{default:c(()=>[_(p(e.$t(`workspacePage.pendingNextRun`)),1)]),_:1})]),_:1})):h(``,!0)])]),_:1},8,[`modelValue`,`options`]),g(Ce,{modelValue:B.value,"onUpdate:modelValue":n[2]||=e=>B.value=e,options:le.value,"emit-value":``,"map-options":``,dense:``,dark:``,borderless:``,"options-dense":``,class:`q-mr-sm model-select`,style:{"min-width":`100px`,"max-width":`160px`,"font-size":`11px`}},{selected:c(()=>[C(`span`,st,[g(A,{name:`auto_awesome`,size:`12px`,color:`indigo-4`,class:`q-mr-xs`}),_(` `+p(le.value.find(e=>e.value===B.value)?.label??B.value)+` `,1),O.value.has(`model`)?(t(),m(A,{key:0,name:`schedule`,size:`11px`,color:`orange-6`,class:`q-ml-xs`},{default:c(()=>[g(R,null,{default:c(()=>[_(p(e.$t(`workspacePage.pendingNextRun`)),1)]),_:1})]),_:1})):h(``,!0)])]),_:1},8,[`modelValue`,`options`]),g(Ce,{modelValue:V.value,"onUpdate:modelValue":n[3]||=e=>V.value=e,options:fe.value,"emit-value":``,"map-options":``,dense:``,dark:``,borderless:``,"options-dense":``,class:`q-mr-sm`,style:{"min-width":`90px`,"max-width":`140px`,"font-size":`11px`}},{selected:c(()=>[C(`span`,ct,[g(A,{name:`psychology`,size:`12px`,color:`amber-6`,class:`q-mr-xs`}),_(` `+p(U(V.value))+` `,1),O.value.has(`reasoningEffort`)?(t(),m(A,{key:0,name:`schedule`,size:`11px`,color:`orange-6`,class:`q-ml-xs`},{default:c(()=>[g(R,null,{default:c(()=>[_(p(e.$t(`workspacePage.pendingNextRun`)),1)]),_:1})]),_:1})):h(``,!0)])]),_:1},8,[`modelValue`,`options`]),S(F)(q.value.status)?(t(),m(M,{key:1,dense:``,"no-caps":``,size:`sm`,color:`negative`,icon:`stop`,label:e.$t(`common.stop`),class:`q-mr-xs`,loading:E.value,disable:E.value,onClick:ae},null,8,[`label`,`loading`,`disable`])):h(``,!0)],64)):(t(),b(`span`,lt,p(e.$t(`workspacePage.selectWorkspace`)),1))]),g(re,{dark:``}),K.value?(t(),m(Q,{key:0,"workspace-id":K.value},null,8,[`workspace-id`])):h(``,!0),K.value?(t(),m(tt,{key:1,"workspace-id":K.value},null,8,[`workspace-id`])):h(``,!0),K.value?(t(),m(f,{key:2},{fallback:c(()=>[C(`div`,ut,[g(pe,{size:`40px`,color:`indigo-4`}),C(`div`,dt,p(e.$t(`common.loading`)),1)])]),default:c(()=>[g(S(r),{class:`col`,style:{"min-height":`0`},"workspace-id":K.value},null,8,[`workspace-id`])]),_:1})):h(``,!0),g(ke),g(rt),K.value?(t(),m(Qe,{key:3,"workspace-id":K.value},null,8,[`workspace-id`])):h(``,!0),g(j,{modelValue:J.value,"onUpdate:modelValue":n[5]||=e=>J.value=e,persistent:``},{default:c(()=>[g(oe,{dark:``,style:{"min-width":`320px`}},{default:c(()=>[g(ie,null,{default:c(()=>[C(`div`,ft,p(S(w)(`workspacePage.renameSessionTitle`)),1)]),_:1}),g(ie,null,{default:c(()=>[g(ue,{modelValue:X.value,"onUpdate:modelValue":n[4]||=e=>X.value=e,label:S(w)(`workspacePage.sessionNameLabel`),dark:``,dense:``,autofocus:``,onKeyup:ee(Me,[`enter`])},null,8,[`modelValue`,`label`])]),_:1}),g(se,{align:`right`},{default:c(()=>[l(g(M,{flat:``,label:S(w)(`common.cancel`)},null,8,[`label`]),[[be]]),g(M,{flat:``,color:`primary`,label:S(w)(`workspacePage.renameSession`),disable:!X.value.trim(),onClick:Me},null,8,[`label`,`disable`])]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}}),[[`__scopeId`,`data-v-49a19603`]]);export{pt as default};
@@ -1 +0,0 @@
1
- .quota-footer[data-v-e345e200]{white-space:nowrap;cursor:pointer;align-items:center;gap:.5rem;display:inline-flex}.quota-bucket-compact[data-v-e345e200]{align-items:center;gap:.3rem;display:inline-flex}.bucket-pct[data-v-e345e200]{font-variant-numeric:tabular-nums}.quota-bar[data-v-e345e200]{border-radius:3px;width:32px;height:5px}.full-bar[data-v-e345e200]{border-radius:3px;height:6px}.quota-menu[data-v-e345e200]{min-width:240px}.chat-input-container[data-v-7fe8f2c8]{background-color:#16162a;border-top:1px solid #2a2a4a;min-height:48px;position:relative}.chat-input-container.chat-input-dragging[data-v-7fe8f2c8]{outline-offset:-2px;outline:2px dashed #6c63ff}.chat-input[data-v-7fe8f2c8]{background-color:#224;padding:4px 12px}.chat-input[data-v-7fe8f2c8] .q-field__control{min-height:32px}.chat-input[data-v-7fe8f2c8] textarea,.chat-input[data-v-7fe8f2c8] input{color:#ccc;font-size:13px}.chat-slash-popup[data-v-7fe8f2c8]{z-index:9999;position:absolute;bottom:calc(100% + 4px);left:8px;right:48px}.image-tag[data-v-7fe8f2c8]{font-family:Roboto Mono,monospace;font-size:12px;line-height:1}.image-tag--uploading[data-v-7fe8f2c8]{color:#88a;background-color:#2a2a4a;border:1px solid #3a3a5a}.image-tag--ready[data-v-7fe8f2c8]{color:#6aaa6a;background-color:#1a2a1a;border:1px solid #2a4a2a}.image-tag--error[data-v-7fe8f2c8]{color:#aa6a6a;background-color:#2a1a1a;border:1px solid #4a2a2a}.image-tag-label[data-v-7fe8f2c8]{text-overflow:ellipsis;white-space:nowrap;max-width:250px;overflow:hidden}.chat-hint[data-v-7fe8f2c8]{text-align:left;padding:2px 4px 0;font-size:10px}.chat-hint kbd[data-v-7fe8f2c8]{background-color:#2a2a4a;border-radius:3px;padding:1px 4px;font-family:Roboto Mono,monospace;font-size:9px}.queue-banner[data-v-7fe8f2c8]{background-color:#2a2a1a;border-bottom:1px solid #4a4a2a}.autoloop-banner[data-v-7fe8f2c8]{background-color:#1e1e36;border-top:1px solid #6c63ff66;border-bottom:1px solid #6c63ff66}.image-tag-close[data-v-7fe8f2c8]{color:#a44;opacity:.7}.image-tag-close[data-v-7fe8f2c8]:hover{opacity:1}.wp-header[data-v-49a19603]{background-color:#16162a;border-bottom:1px solid #2a2a4a;min-height:48px}
@@ -1 +0,0 @@
1
- import{A as e,E as t,H as n,Q as r,S as i,W as a,l as o,y as s}from"./runtime-core.esm-bundler-C3IgBgY5.js";import{D as c,F as l,O as u,g as d,j as f,l as p,n as m,r as h,s as g,t as _}from"./QIcon-B0-pH3Qs.js";import{r as v}from"./index-CZA4BFN5.js";import{t as y}from"./QSlideTransition-BQxI8l5r.js";var b=u({name:`QBtnGroup`,props:{unelevated:Boolean,outline:Boolean,flat:Boolean,rounded:Boolean,square:Boolean,push:Boolean,stretch:Boolean,glossy:Boolean,spread:Boolean},setup(e,{slots:t}){let n=o(()=>{let t=[`unelevated`,`outline`,`flat`,`rounded`,`square`,`push`,`stretch`,`glossy`].filter(t=>e[t]===!0).map(e=>`q-btn-group--${e}`).join(` `);return`q-btn-group row no-wrap${t.length===0?``:` `+t}`+(e.spread===!0?` q-btn-group--spread`:` inline`)});return()=>i(`div`,{class:n.value},g(t.default))}}),x=[`none`,`strict`,`leaf`,`leaf-filtered`],S=u({name:`QTree`,props:{...h,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=>x.includes(e)},ticked:Array,expanded:Array,selected:{},noSelectionUnset:Boolean,defaultExpandAll:Boolean,accordion:Boolean,filter:String,filterMethod:Function,duration:{},noConnectors:Boolean,noTransition:Boolean,noNodesLabel:String,noResultsLabel:String},emits:[`update:expanded`,`update:ticked`,`update:selected`,`lazyLoad`,`afterShow`,`afterHide`],setup(u,{slots:h,emit:g}){let{proxy:b}=s(),{$q:x}=b,S=m(u,x),C=r({}),w=r(u.ticked||[]),T=r(u.expanded||[]),E={};e(()=>{E={}});let D=o(()=>`q-tree q-tree--${u.dense===!0?`dense`:`standard`}`+(u.noConnectors===!0?` q-tree--no-connectors`:``)+(S.value===!0?` q-tree--dark`:``)+(u.color===void 0?``:` text-${u.color}`)),O=o(()=>u.selected!==void 0),k=o(()=>u.icon||x.iconSet.tree.icon),A=o(()=>u.controlColor||u.color),j=o(()=>u.textColor===void 0?``:` text-${u.textColor}`),M=o(()=>{let e=u.selectedColor||u.color;return e?` text-${e}`:``}),N=o(()=>u.filterMethod===void 0?(e,t)=>{let n=t.toLowerCase();return e[u.labelKey]&&e[u.labelKey].toLowerCase().indexOf(n)!==-1}:u.filterMethod),P=o(()=>{let e={},t=(n,r)=>{let i=n.tickStrategy||(r?r.tickStrategy:u.tickStrategy),a=n[u.nodeKey],o=n[u.childrenKey]&&Array.isArray(n[u.childrenKey])&&n[u.childrenKey].length!==0,s=n.disabled!==!0&&O.value===!0&&n.selectable!==!1,c=n.disabled!==!0&&n.expandable!==!1,l=i!==`none`,d=i===`strict`,f=i===`leaf-filtered`,p=i===`leaf`||i===`leaf-filtered`,m=n.disabled!==!0&&n.tickable!==!1;p===!0&&m===!0&&r&&r.tickable!==!0&&(m=!1);let h=n.lazy;h===!0&&C.value[a]!==void 0&&Array.isArray(n[u.childrenKey])===!0&&(h=C.value[a]);let g={key:a,parent:r,isParent:o,lazy:h,disabled:n.disabled,link:n.disabled!==!0&&(s===!0||c===!0&&(o===!0||h===!0)),children:[],matchesFilter:u.filter?N.value(n,u.filter):!0,selected:a===u.selected&&s===!0,selectable:s,expanded:o===!0?T.value.includes(a):!1,expandable:c,noTick:n.noTick===!0||d!==!0&&h&&h!==`loaded`,tickable:m,tickStrategy:i,hasTicking:l,strictTicking:d,leafFilteredTicking:f,leafTicking:p,ticked:d===!0?w.value.includes(a):o===!0?!1:w.value.includes(a)};if(e[a]=g,o===!0&&(g.children=n[u.childrenKey].map(e=>t(e,g)),u.filter&&(g.matchesFilter===!0?g.noTick!==!0&&g.disabled!==!0&&g.tickable===!0&&f===!0&&g.children.every(e=>e.matchesFilter!==!0||e.noTick===!0||e.tickable!==!0)===!0&&(g.tickable=!1):g.matchesFilter=g.children.some(e=>e.matchesFilter)),g.matchesFilter===!0&&(g.noTick!==!0&&d!==!0&&g.children.every(e=>e.noTick)===!0&&(g.noTick=!0),p))){if(g.ticked=!1,g.indeterminate=g.children.some(e=>e.indeterminate===!0),g.tickable=g.tickable===!0&&g.children.some(e=>e.tickable),g.indeterminate!==!0){let e=g.children.reduce((e,t)=>t.ticked===!0?e+1:e,0);e===g.children.length?g.ticked=!0:e>0&&(g.indeterminate=!0)}g.indeterminate===!0&&(g.indeterminateNextState=g.children.every(e=>e.tickable!==!0||e.ticked!==!0))}return g};return u.nodes.forEach(e=>t(e,null)),e});n(()=>u.ticked,e=>{w.value=e}),n(()=>u.expanded,e=>{T.value=e});function F(e){let t=[].reduce,n=(r,i)=>{if(r||!i)return r;if(Array.isArray(i)===!0)return t.call(Object(i),n,r);if(i[u.nodeKey]===e)return i;if(i[u.childrenKey])return n(null,i[u.childrenKey])};return n(null,u.nodes)}function I(){return w.value.map(e=>F(e))}function L(){return T.value.map(e=>F(e))}function R(e){return e&&P.value[e]?P.value[e].expanded:!1}function z(){u.expanded===void 0?T.value=[]:g(`update:expanded`,[])}function B(){let e=[],t=n=>{n[u.childrenKey]&&n[u.childrenKey].length!==0&&n.expandable!==!1&&n.disabled!==!0&&(e.push(n[u.nodeKey]),n[u.childrenKey].forEach(t))};u.nodes.forEach(t),u.expanded===void 0?T.value=e:g(`update:expanded`,e)}function V(e,n,r=F(e),i=P.value[e]){if(i.lazy&&i.lazy!==`loaded`){if(i.lazy===`loading`)return;C.value[e]=`loading`,Array.isArray(r[u.childrenKey])!==!0&&(r[u.childrenKey]=[]),g(`lazyLoad`,{node:r,key:e,done:n=>{C.value[e]=`loaded`,r[u.childrenKey]=Array.isArray(n)===!0?n:[],t(()=>{P.value[e]?.isParent===!0&&H(e,!0)})},fail:()=>{delete C.value[e],r[u.childrenKey].length===0&&delete r[u.childrenKey]}})}else i.isParent===!0&&i.expandable===!0&&H(e,n)}function H(e,t){let n=T.value,r=u.expanded!==void 0;if(r===!0&&(n=n.slice()),t){if(u.accordion&&P.value[e]){let t=[];P.value[e].parent?P.value[e].parent.children.forEach(n=>{n.key!==e&&n.expandable===!0&&t.push(n.key)}):u.nodes.forEach(n=>{let r=n[u.nodeKey];r!==e&&t.push(r)}),t.length!==0&&(n=n.filter(e=>t.includes(e)===!1))}n=n.concat([e]).filter((e,t,n)=>n.indexOf(e)===t)}else n=n.filter(t=>t!==e);r===!0?g(`update:expanded`,n):T.value=n}function U(e){return e&&P.value[e]?P.value[e].ticked:!1}function W(e,t){let n=w.value,r=u.ticked!==void 0;r===!0&&(n=n.slice()),n=t?n.concat(e).filter((e,t,n)=>n.indexOf(e)===t):n.filter(t=>e.includes(t)===!1),r===!0&&g(`update:ticked`,n)}function G(e,t,n){let r={tree:b,node:e,key:n,color:u.color,dark:S.value};return f(r,`expanded`,()=>t.expanded,e=>{e!==t.expanded&&V(n,e)}),f(r,`ticked`,()=>t.ticked,e=>{e!==t.ticked&&W([n],e)}),r}function K(e){return(u.filter?e.filter(e=>P.value[e[u.nodeKey]].matchesFilter):e).map(e=>X(e))}function q(e){if(e.icon!==void 0)return i(_,{class:`q-tree__icon q-mr-sm`,name:e.icon,color:e.iconColor});let t=e.img||e.avatar;if(t)return i(`img`,{class:`q-tree__${e.img?`img`:`avatar`} q-mr-sm`,src:t})}function J(){g(`afterShow`)}function Y(){g(`afterHide`)}function X(e){let t=e[u.nodeKey],n=P.value[t],r=e.header&&h[`header-${e.header}`]||h[`default-header`],o=n.isParent===!0?K(e[u.childrenKey]):[],s=o.length!==0||n.lazy&&n.lazy!==`loaded`,f=e.body&&h[`body-${e.body}`]||h[`default-body`],m=r!==void 0||f!==void 0?G(e,n,t):null;return f!==void 0&&(f=i(`div`,{class:`q-tree__node-body relative-position`},[i(`div`,{class:j.value},[f(m)])])),i(`div`,{key:t,class:`q-tree__node relative-position q-tree__node--${s===!0?`parent`:`child`}`},[i(`div`,{class:`q-tree__node-header relative-position row no-wrap items-center`+(n.link===!0?` q-tree__node--link q-hoverable q-focusable`:``)+(n.selected===!0?` q-tree__node--selected`:``)+(n.disabled===!0?` q-tree__node--disabled`:``),tabindex:n.link===!0?0:-1,ariaExpanded:o.length>0?n.expanded:null,role:`treeitem`,onClick:t=>{Q(e,n,t)},onKeypress(t){d(t)!==!0&&(t.keyCode===13?Q(e,n,t,!0):t.keyCode===32&&$(e,n,t,!0))}},[i(`div`,{class:`q-focus-helper`,tabindex:-1,ref:e=>{E[n.key]=e}}),n.lazy===`loading`?i(p,{class:`q-tree__spinner`,color:A.value}):s===!0?i(_,{class:`q-tree__arrow`+(n.expanded===!0?` q-tree__arrow--rotate`:``),name:k.value,onClick(t){$(e,n,t)}}):null,n.hasTicking===!0&&n.noTick!==!0?i(v,{class:`q-tree__tickbox`,modelValue:n.indeterminate===!0?null:n.ticked,color:A.value,dark:S.value,dense:!0,keepColor:!0,disable:n.tickable!==!0,onKeydown:c,"onUpdate:modelValue":e=>{ee(n,e)}}):null,i(`div`,{class:`q-tree__node-header-content col row no-wrap items-center`+(n.selected===!0?M.value:j.value)},[r?r(m):[q(e),i(`div`,e[u.labelKey])]])]),s===!0?u.noTransition===!0?n.expanded===!0?i(`div`,{class:`q-tree__node-collapsible`+j.value,key:`${t}__q`},[f,i(`div`,{class:`q-tree__children`+(n.disabled===!0?` q-tree__node--disabled`:``),role:`group`},o)]):null:i(y,{duration:u.duration,onShow:J,onHide:Y},()=>a(i(`div`,{class:`q-tree__node-collapsible`+j.value,key:`${t}__q`},[f,i(`div`,{class:`q-tree__children`+(n.disabled===!0?` q-tree__node--disabled`:``),role:`group`},o)]),[[l,n.expanded]])):f])}function Z(e){E[e]?.focus()}function Q(e,t,n,r){r!==!0&&t.selectable!==!1&&Z(t.key),O.value&&t.selectable?u.noSelectionUnset===!1?g(`update:selected`,t.key===u.selected?null:t.key):t.key!==u.selected&&g(`update:selected`,t.key===void 0?null:t.key):$(e,t,n,r),typeof e.handler==`function`&&e.handler(e)}function $(e,t,n,r){n!==void 0&&c(n),r!==!0&&t.selectable!==!1&&Z(t.key),V(t.key,!t.expanded,e,t)}function ee(e,t){if(e.indeterminate===!0&&(t=e.indeterminateNextState),e.strictTicking)W([e.key],t);else if(e.leafTicking){let n=[],r=e=>{e.isParent?(t!==!0&&e.noTick!==!0&&e.tickable===!0&&n.push(e.key),e.leafTicking===!0&&e.children.forEach(r)):e.noTick!==!0&&e.tickable===!0&&(e.leafFilteredTicking!==!0||e.matchesFilter===!0)&&n.push(e.key)};r(e),W(n,t)}}return u.defaultExpandAll===!0&&B(),Object.assign(b,{getNodeByKey:F,getTickedNodes:I,getExpandedNodes:L,isExpanded:R,collapseAll:z,expandAll:B,setExpanded:V,isTicked:U,setTicked:W}),()=>{let e=K(u.nodes);return i(`div`,{class:D.value,role:`tree`},e.length===0?u.filter?u.noResultsLabel||x.lang.tree.noResults:u.noNodesLabel||x.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}export{b as i,w as n,S as r,C as t};