@tequila99/githuman 0.2.2 → 0.3.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 (248) hide show
  1. package/README.md +27 -13
  2. package/dist/cli/commands/export.js +4 -3
  3. package/dist/cli/index.js +7 -4
  4. package/dist/cli/server-runtime.js +13 -1
  5. package/dist/cli/startup-message.js +3 -2
  6. package/dist/server/adapters/agents/event-mapper.js +140 -0
  7. package/dist/server/app.js +27 -14
  8. package/dist/server/config/agents.js +141 -0
  9. package/dist/server/errors/agents.js +12 -0
  10. package/dist/server/errors/comments.js +2 -0
  11. package/dist/server/errors/export.js +2 -0
  12. package/dist/server/errors/http.js +4 -0
  13. package/dist/server/errors/reviews.js +3 -0
  14. package/dist/server/hooks/agents/local-origin.js +33 -0
  15. package/dist/server/repositories/review.repo.js +1 -3
  16. package/dist/server/routes/agent.js +135 -0
  17. package/dist/server/routes/comments.js +25 -72
  18. package/dist/server/routes/diff.js +5 -6
  19. package/dist/server/routes/events.js +9 -3
  20. package/dist/server/routes/export.js +7 -16
  21. package/dist/server/routes/git.js +12 -21
  22. package/dist/server/routes/reviews.js +11 -43
  23. package/dist/server/services/agent/agent-session.js +497 -0
  24. package/dist/server/services/agent/context-builder.js +137 -0
  25. package/dist/server/services/agent/file-index.js +58 -0
  26. package/dist/server/services/agent/session-registry.js +100 -0
  27. package/dist/server/services/comment.service.js +1 -2
  28. package/dist/server/services/diff.service.js +2 -1
  29. package/dist/server/services/export.service.js +208 -28
  30. package/dist/server/services/git.service.js +9 -7
  31. package/dist/server/services/review.service.js +3 -3
  32. package/dist/server/utils/executable.js +26 -0
  33. package/dist/server/utils/file-name.js +6 -0
  34. package/dist/server/utils/sse.js +11 -0
  35. package/dist/server/utils/text.js +29 -0
  36. package/dist/shared/agents/chat-names.js +17 -0
  37. package/dist/shared/agents/constants.js +6 -0
  38. package/dist/shared/agents/context-format.js +17 -0
  39. package/dist/shared/agents/file-search.js +48 -0
  40. package/dist/shared/agents/schemas.js +51 -0
  41. package/dist/shared/agents/types.js +11 -0
  42. package/dist/shared/app/types.js +1 -0
  43. package/dist/shared/comments/types.js +1 -0
  44. package/dist/shared/events/types.js +14 -0
  45. package/dist/shared/git/types.js +1 -0
  46. package/dist/shared/http/types.js +1 -0
  47. package/dist/shared/network/loopback.js +4 -0
  48. package/dist/shared/reviews/types.js +1 -0
  49. package/dist/shared/utils/error-message.js +3 -0
  50. package/dist/shared/utils/guards.js +4 -0
  51. package/dist/web/assets/AppPage-CSb8txs5.js +1 -0
  52. package/dist/web/assets/CreateReviewFabButton-B18DLuH6.js +1 -0
  53. package/dist/web/assets/CreateReviewFabButton-Cufd8hVJ.css +1 -0
  54. package/dist/web/assets/{ErrorNotFound-DMYc7a3H.js → ErrorNotFound-B5uYICL4.js} +1 -1
  55. package/dist/web/assets/IndexPage-B-hkrnvt.css +1 -0
  56. package/dist/web/assets/IndexPage-Cm_ssBeC.js +1 -0
  57. package/dist/web/assets/MainLayout-ChxXEt_Q.css +1 -0
  58. package/dist/web/assets/MainLayout-ClBPF545.js +7 -0
  59. package/dist/web/assets/QBtn-E32fUOKx.js +1 -0
  60. package/dist/web/assets/QItemLabel-Co6oCEUr.js +1 -0
  61. package/dist/web/assets/QMenu-BZ1eK_rS.js +1 -0
  62. package/dist/web/assets/QSelect-D1V4tbDr.js +1 -0
  63. package/dist/web/assets/ReviewDetailPage-BWa3EEkv.css +1 -0
  64. package/dist/web/assets/ReviewDetailPage-Ct0hXwZL.js +1 -0
  65. package/dist/web/assets/ReviewsPage-CbLAU6OM.js +1 -0
  66. package/dist/web/assets/ReviewsPage-Lb74-4L2.css +1 -0
  67. package/dist/web/assets/StatusSwitcher-C0k4efwK.js +4 -0
  68. package/dist/web/assets/StatusSwitcher-CZYtI0ID.css +1 -0
  69. package/dist/web/assets/abnfDiagram-O67JEVCF-DkOrqZLn.js +1 -0
  70. package/dist/web/assets/agent-icon-BKoq2a6T.js +17 -0
  71. package/dist/web/assets/agent-icon-BUd-vCRS.css +1 -0
  72. package/dist/web/assets/agent-store-CEQ6MmTC.js +1 -0
  73. package/dist/web/assets/app-info-store-CIqmSeWK.js +1 -0
  74. package/dist/web/assets/arc-BALAYY3f.js +1 -0
  75. package/dist/web/assets/architecture-7GRP2DOG-CTkghkmX.js +1 -0
  76. package/dist/web/assets/architectureDiagram-NJMV4G6O-C-xtrMea.js +36 -0
  77. package/dist/web/assets/array-BifhSqXX.js +1 -0
  78. package/dist/web/assets/blockDiagram-BEXU5L5S-DYo9Os-m.js +140 -0
  79. package/dist/web/assets/c4Diagram-YGBWAQC7-BpSFjUAX.js +38 -0
  80. package/dist/web/assets/channel-f9cE6NV9.js +1 -0
  81. package/dist/web/assets/chunk-2Q5K7J3B-C1jixKkw.js +1 -0
  82. package/dist/web/assets/chunk-3FUC2YCW-DtUqbu5K.js +2 -0
  83. package/dist/web/assets/chunk-5DYCD2WN-DeYTIM8k.js +1 -0
  84. package/dist/web/assets/chunk-5VM5RSS4-ZNzvKenW.js +15 -0
  85. package/dist/web/assets/chunk-742MDFTN-8BfKAsu6.js +1 -0
  86. package/dist/web/assets/chunk-7INBJB4K-PXK092EZ.js +62 -0
  87. package/dist/web/assets/chunk-7M6MHVWA-Db9reT-V.js +213 -0
  88. package/dist/web/assets/chunk-7PRAP22T-CNFpjNaH.js +1 -0
  89. package/dist/web/assets/chunk-DUW6YSOI-Dgx8z5s3.js +1 -0
  90. package/dist/web/assets/chunk-FOHPRMQF-CoA4358r.js +161 -0
  91. package/dist/web/assets/chunk-GTNCS2PH-C5gqOp1W.js +88 -0
  92. package/dist/web/assets/chunk-GWA4HPMP-BquHLG8L.js +1 -0
  93. package/dist/web/assets/chunk-J5ZVWO5B-oDCd-gWO.js +1 -0
  94. package/dist/web/assets/chunk-JWPE2WC7-DVXcaiue.js +1 -0
  95. package/dist/web/assets/chunk-MBY4JIJT-DyOEFgCh.js +72 -0
  96. package/dist/web/assets/chunk-NETBCI7D-Bd3ij3-b.js +1 -0
  97. package/dist/web/assets/chunk-O7XYJQB3-DQvIvDe6.js +126 -0
  98. package/dist/web/assets/chunk-UA2S7LBM-BDIHwgCZ.js +1 -0
  99. package/dist/web/assets/chunk-WEXAMYUT-DwQKTsK-.js +1 -0
  100. package/dist/web/assets/chunk-XXDRQBXY-DTdiON6C.js +1 -0
  101. package/dist/web/assets/chunk-Y2CYZVJY-DsF7k-Jl.js +1 -0
  102. package/dist/web/assets/chunk-Z7XXMR3K-CIvnaGnU.js +10 -0
  103. package/dist/web/assets/chunk-ZIGJFQKS-BdT_T5CV.js +2 -0
  104. package/dist/web/assets/classDiagram-v2-NBCMYWYE-BUoclHlO.js +217 -0
  105. package/dist/web/assets/{core-Ruj7F7dx.js → core-B8kUiZoM.js} +1 -1
  106. package/dist/web/assets/cose-bilkent-JH36ORCC-C16eW6pc.js +1 -0
  107. package/dist/web/assets/create-B9ZqyTxV.js +1 -0
  108. package/dist/web/assets/cynefin-OW5HDTMX-1mS7ZeoM.js +1 -0
  109. package/dist/web/assets/cynefinDiagram-VND7K2PF-D1PC4YT4.js +62 -0
  110. package/dist/web/assets/cytoscape.esm-B-1iW2ft.js +321 -0
  111. package/dist/web/assets/dagre-6A5THRUB-amODOP74.js +4 -0
  112. package/dist/web/assets/debounce-CDIE7CV6.js +1 -0
  113. package/dist/web/assets/defaultLocale-BFoDCU3G.js +1 -0
  114. package/dist/web/assets/diagram-22UHCM2B-wUvcsN_B.js +200 -0
  115. package/dist/web/assets/diagram-3UASUU5V-CLiOVs2l.js +24 -0
  116. package/dist/web/assets/diagram-ATOU4E4O-Cs5cFGgz.js +3 -0
  117. package/dist/web/assets/diagram-CDSNMT55-C8Jb-YeE.js +30 -0
  118. package/dist/web/assets/diagram-MLGK6HIB-DA6C9fVB.js +24 -0
  119. package/dist/web/assets/diagram-MPIPVDR6-BOaFKuUi.js +41 -0
  120. package/dist/web/assets/dist-DuFVAX6Y.js +1 -0
  121. package/dist/web/assets/ebnfDiagram-ZINNZB2B-e5jvn-EE.js +1 -0
  122. package/dist/web/assets/elk-276RUBZZ-D7Gcu17D.js +27 -0
  123. package/dist/web/assets/engine-oniguruma-HbxpIAu4.js +1 -0
  124. package/dist/web/assets/erDiagram-OPXOYQCR-Cn1bBUF8.js +99 -0
  125. package/dist/web/assets/event-rR76ioXz.js +1 -0
  126. package/dist/web/assets/eventmodeling-NTZA5JFV-BjGpd42n.js +1 -0
  127. package/dist/web/assets/export-file-Di_2jvjP.js +1 -0
  128. package/dist/web/assets/fira-code-symbols2-400-normal-9X26I2LK.woff2 +0 -0
  129. package/dist/web/assets/fira-code-symbols2-500-normal-B5s_njw3.woff2 +0 -0
  130. package/dist/web/assets/fira-code-symbols2-600-normal-Bu3RnO39.woff2 +0 -0
  131. package/dist/web/assets/flowDiagram-KWPJA3E3-a3N8MVB8.js +1 -0
  132. package/dist/web/assets/ganttDiagram-FUAMR5RP-C3U8jeJB.js +292 -0
  133. package/dist/web/assets/gitGraph-4MIJSDKK-C165DC0H.js +1 -0
  134. package/dist/web/assets/gitGraphDiagram-X574FWY7-CVHdT1OC.js +106 -0
  135. package/dist/web/assets/golos-text-cyrillic-400-normal-BwL4n7Pb.woff +0 -0
  136. package/dist/web/assets/golos-text-cyrillic-400-normal-C7us6pn1.woff2 +0 -0
  137. package/dist/web/assets/golos-text-cyrillic-500-normal-BSLQUuP1.woff2 +0 -0
  138. package/dist/web/assets/golos-text-cyrillic-500-normal-hXinzVVQ.woff +0 -0
  139. package/dist/web/assets/golos-text-cyrillic-ext-400-normal-Bo67NYBq.woff2 +0 -0
  140. package/dist/web/assets/golos-text-cyrillic-ext-400-normal-D592xEk3.woff +0 -0
  141. package/dist/web/assets/golos-text-cyrillic-ext-500-normal-CLsu_eDI.woff2 +0 -0
  142. package/dist/web/assets/golos-text-cyrillic-ext-500-normal-InHNvB7v.woff +0 -0
  143. package/dist/web/assets/golos-text-latin-400-normal-Coi1FYaD.woff2 +0 -0
  144. package/dist/web/assets/golos-text-latin-400-normal-DOuJOmdK.woff +0 -0
  145. package/dist/web/assets/golos-text-latin-500-normal-BQo4s7Kn.woff +0 -0
  146. package/dist/web/assets/golos-text-latin-500-normal-BznAvurO.woff2 +0 -0
  147. package/dist/web/assets/golos-text-latin-ext-400-normal-BXgyX_iE.woff +0 -0
  148. package/dist/web/assets/golos-text-latin-ext-400-normal-BjKcJWKY.woff2 +0 -0
  149. package/dist/web/assets/golos-text-latin-ext-500-normal-9vZPKadr.woff2 +0 -0
  150. package/dist/web/assets/golos-text-latin-ext-500-normal-BmtMVntR.woff +0 -0
  151. package/dist/web/assets/graphlib-DS17s2tU.js +1 -0
  152. package/dist/web/assets/i18n-CyUPETur.js +1 -0
  153. package/dist/web/assets/{index-JAYe_SFI.css → index-C6ArNnKs.css} +1 -1
  154. package/dist/web/assets/index-C_B6Z2lc.js +2 -0
  155. package/dist/web/assets/info-A6RAGUB7-cbWtF3FJ.js +1 -0
  156. package/dist/web/assets/infoDiagram-VRGFBTTK-C_kWn3Ai.js +2 -0
  157. package/dist/web/assets/init-C-OQMol4.js +1 -0
  158. package/dist/web/assets/init-app-DnfYD-0k.js +1 -0
  159. package/dist/web/assets/is-ChHvR1Z-.js +1 -0
  160. package/dist/web/assets/ishikawaDiagram-OU5B5YK6-Xb9cDRr7.js +70 -0
  161. package/dist/web/assets/jetbrains-mono-cyrillic-ext-400-normal-Bh0R7Dhr.woff +0 -0
  162. package/dist/web/assets/jetbrains-mono-cyrillic-ext-400-normal-C_uLvvQ5.woff2 +0 -0
  163. package/dist/web/assets/jetbrains-mono-cyrillic-ext-500-normal-C9ShMxGR.woff2 +0 -0
  164. package/dist/web/assets/jetbrains-mono-cyrillic-ext-500-normal-CEVyPk4Y.woff +0 -0
  165. package/dist/web/assets/jetbrains-mono-cyrillic-ext-600-normal-DVvC-yKp.woff +0 -0
  166. package/dist/web/assets/jetbrains-mono-cyrillic-ext-600-normal-Dj6eZy5f.woff2 +0 -0
  167. package/dist/web/assets/jetbrains-mono-vietnamese-400-normal-ByoDsISC.woff2 +0 -0
  168. package/dist/web/assets/jetbrains-mono-vietnamese-500-normal-BvH7FW2L.woff2 +0 -0
  169. package/dist/web/assets/jetbrains-mono-vietnamese-600-normal-Dtizs43-.woff2 +0 -0
  170. package/dist/web/assets/journeyDiagram-ZHPQQLJL-6eZcefap.js +139 -0
  171. package/dist/web/assets/kanban-definition-PNTS6WVX-D_z_AsKR.js +89 -0
  172. package/dist/web/assets/katex-ZlcWpGUi.js +257 -0
  173. package/dist/web/assets/line-v7JtZ-Za.js +1 -0
  174. package/dist/web/assets/linear-hp1KWmiC.js +1 -0
  175. package/dist/web/assets/mermaid-parser.core-Cwwk5NqO.js +7 -0
  176. package/dist/web/assets/mermaid.core-BjPJhwW0.js +44 -0
  177. package/dist/web/assets/mindmap-definition-NLK3R4M7-lQohhDXq.js +96 -0
  178. package/dist/web/assets/ordinal-BDEzSJ7C.js +1 -0
  179. package/dist/web/assets/packet-AYTQ26CC-DxiGe6nt.js +1 -0
  180. package/dist/web/assets/path-fybaL0A-.js +1 -0
  181. package/dist/web/assets/pegDiagram-GJSIUBJH-XZRpQTLx.js +1 -0
  182. package/dist/web/assets/pie-WAS4IAKB-fxN0O90k.js +1 -0
  183. package/dist/web/assets/pieDiagram-5QR66LMP-M_bBKE-n.js +39 -0
  184. package/dist/web/assets/pinia-0B8sIOgD.js +1 -0
  185. package/dist/web/assets/pinia-DbmXdZbT.js +1 -0
  186. package/dist/web/assets/quadrantDiagram-O4NWA36T-BNxVPrq3.js +7 -0
  187. package/dist/web/assets/radar-RG4KPBEZ-Cd-5aokk.js +1 -0
  188. package/dist/web/assets/railroad-74A4TZTK-BvSKL8Ze.js +1 -0
  189. package/dist/web/assets/railroad-abnf-HS5TGJTU-CB32K25L.js +1 -0
  190. package/dist/web/assets/railroad-ebnf-LZEXJU2U-CqQR3zRl.js +1 -0
  191. package/dist/web/assets/railroad-peg-WCYAUIDC-DRSdB-oL.js +1 -0
  192. package/dist/web/assets/railroadDiagram-XR7U4H2S-D664lPSL.js +1 -0
  193. package/dist/web/assets/requirementDiagram-PLB6GJNP-B_1Dl0-3.js +84 -0
  194. package/dist/web/assets/rough.esm-Dy-Kn_BL.js +1 -0
  195. package/dist/web/assets/runtime-core.esm-bundler-Carm8LUR.js +1 -0
  196. package/dist/web/assets/safe-storage-CWaD6Dq3.js +1 -0
  197. package/dist/web/assets/sankeyDiagram-IPEJSGJF-BvFmMC_F.js +40 -0
  198. package/dist/web/assets/sequenceDiagram-PO4LG4MO-DMK1ey4g.js +169 -0
  199. package/dist/web/assets/single-flight-r8B7stt1.js +1 -0
  200. package/dist/web/assets/sizeCapture-INFHLROL-B0uUizjq.js +1 -0
  201. package/dist/web/assets/src-Cy0hT8a0.js +1 -0
  202. package/dist/web/assets/stateDiagram-v2-GCMORJYK-VVElU-_E.js +291 -0
  203. package/dist/web/assets/swimlanes-2SLR337P-DyfYJvHL.js +1 -0
  204. package/dist/web/assets/swimlanesDiagram-TC7HE7FX-BQ0mK2BI.js +8 -0
  205. package/dist/web/assets/theme-BFceB3b9.js +1 -0
  206. package/dist/web/assets/timeline-definition-EJHVYXUP-DBoRb7uC.js +120 -0
  207. package/dist/web/assets/treeView-Q6P3EWNA-D8AoZg1Y.js +1 -0
  208. package/dist/web/assets/treemap-WGGIJYW6-DhcVtZsu.js +1 -0
  209. package/dist/web/assets/use-app-theme-DxZW-eOR.js +1 -0
  210. package/dist/web/assets/use-panel-width-CY75Fomr.js +1 -0
  211. package/dist/web/assets/usecaseDiagram-POWQR4AR-BCfvWOH4.js +328 -0
  212. package/dist/web/assets/vennDiagram-UO4OBE2U-BIk6-FLo.js +34 -0
  213. package/dist/web/assets/{vue-i18n.runtime-DSeWNwrW.js → vue-i18n.runtime-BQwnBdmC.js} +2 -2
  214. package/dist/web/assets/wardley-WFR3VGLG-BMHH70A3.js +1 -0
  215. package/dist/web/assets/wardleyDiagram-VNRHLVJA-DB-cxlSq.js +78 -0
  216. package/dist/web/assets/xychartDiagram-PMCCYNJV-BejE-3gi.js +7 -0
  217. package/dist/web/index.html +8 -6
  218. package/package.json +18 -8
  219. package/dist/web/assets/AppPage-BeqKILJT.js +0 -1
  220. package/dist/web/assets/CreateReviewFabButton-BqWdgfEf.css +0 -1
  221. package/dist/web/assets/CreateReviewFabButton-wjxKeOL1.js +0 -1
  222. package/dist/web/assets/IndexPage-BQ0T9rLY.css +0 -1
  223. package/dist/web/assets/IndexPage-CSaToIzA.js +0 -1
  224. package/dist/web/assets/MainLayout-BRPoh8y0.css +0 -1
  225. package/dist/web/assets/MainLayout-xQ92tgGe.js +0 -1
  226. package/dist/web/assets/Platform-CEDL_PgC.js +0 -1
  227. package/dist/web/assets/QBtn-Cf6WtiKt.js +0 -1
  228. package/dist/web/assets/QTooltip-IUM54Nhj.js +0 -1
  229. package/dist/web/assets/ReviewDetailPage-DJHzinT1.css +0 -1
  230. package/dist/web/assets/ReviewDetailPage-DdufL7Rh.js +0 -1
  231. package/dist/web/assets/ReviewsPage-D8u1IeQ4.js +0 -1
  232. package/dist/web/assets/ReviewsPage-D9TFy2OP.css +0 -1
  233. package/dist/web/assets/StatusSwitcher-7Yqs8azq.css +0 -1
  234. package/dist/web/assets/StatusSwitcher-CUOMaD34.js +0 -3
  235. package/dist/web/assets/app-info-store-BpeVVjNB.js +0 -1
  236. package/dist/web/assets/client-De34x_P_.js +0 -1
  237. package/dist/web/assets/engine-oniguruma-Bon2Icja.js +0 -1
  238. package/dist/web/assets/event-BQt_DXaR.js +0 -1
  239. package/dist/web/assets/format-BWCY39oA.js +0 -1
  240. package/dist/web/assets/i18n-DHrLpaJV.js +0 -1
  241. package/dist/web/assets/index-DphTOTJs.js +0 -2
  242. package/dist/web/assets/init-app-5wT4mURp.js +0 -1
  243. package/dist/web/assets/pinia-CrBjT8X4.js +0 -1
  244. package/dist/web/assets/pinia-DK4OjQ7o.js +0 -1
  245. package/dist/web/assets/runtime-core.esm-bundler-Wxr8ezGp.js +0 -1
  246. package/dist/web/assets/theme-CrTbazqt.js +0 -1
  247. package/dist/web/assets/use-app-theme-CsAmLZfp.js +0 -1
  248. /package/dist/shared/{types.js → diff/types.js} +0 -0
@@ -1,7 +1,9 @@
1
- <!doctype html><html><head><title>GitHuman</title><meta charset=utf-8><meta name=description content="Review AI agent code changes before commit — Vue edition"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=Content-Security-Policy content="default-src 'self'; script-src 'self' 'wasm-unsafe-eval'; style-src 'self' 'unsafe-inline';"><link rel=icon type=image/png sizes=128x128 href=/icons/favicon-128x128.png><link rel=icon type=image/png sizes=96x96 href=/icons/favicon-96x96.png><link rel=icon type=image/png sizes=32x32 href=/icons/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/icons/favicon-16x16.png><link rel=icon type=image/ico href=/favicon.ico> <script type="module" crossorigin src="/assets/index-DphTOTJs.js"></script>
2
- <link rel="modulepreload" crossorigin href="/assets/runtime-core.esm-bundler-Wxr8ezGp.js">
3
- <link rel="modulepreload" crossorigin href="/assets/event-BQt_DXaR.js">
4
- <link rel="modulepreload" crossorigin href="/assets/QBtn-Cf6WtiKt.js">
5
- <link rel="modulepreload" crossorigin href="/assets/Platform-CEDL_PgC.js">
6
- <link rel="stylesheet" crossorigin href="/assets/index-JAYe_SFI.css">
1
+ <!doctype html><html><head><title>GitHuman</title><meta charset=utf-8><meta name=description content="Review AI agent code changes before commit — Vue edition"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="width=device-width,initial-scale=1"><meta http-equiv=Content-Security-Policy content="default-src 'self'; script-src 'self' 'wasm-unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:;"><link rel=icon type=image/png sizes=128x128 href=/icons/favicon-128x128.png><link rel=icon type=image/png sizes=96x96 href=/icons/favicon-96x96.png><link rel=icon type=image/png sizes=32x32 href=/icons/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/icons/favicon-16x16.png><link rel=icon type=image/ico href=/favicon.ico> <script type="module" crossorigin src="/assets/index-C_B6Z2lc.js"></script>
2
+ <link rel="modulepreload" crossorigin href="/assets/runtime-core.esm-bundler-Carm8LUR.js">
3
+ <link rel="modulepreload" crossorigin href="/assets/event-rR76ioXz.js">
4
+ <link rel="modulepreload" crossorigin href="/assets/create-B9ZqyTxV.js">
5
+ <link rel="modulepreload" crossorigin href="/assets/QBtn-E32fUOKx.js">
6
+ <link rel="modulepreload" crossorigin href="/assets/is-ChHvR1Z-.js">
7
+ <link rel="modulepreload" crossorigin href="/assets/debounce-CDIE7CV6.js">
8
+ <link rel="stylesheet" crossorigin href="/assets/index-C6ArNnKs.css">
7
9
  </head><body><div id=q-app></div></body></html>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tequila99/githuman",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "description": "Review AI agent code changes before commit — Vue edition",
5
5
  "homepage": "https://github.com/tequila99/githuman#readme",
6
6
  "bugs": {
@@ -24,27 +24,31 @@
24
24
  },
25
25
  "scripts": {
26
26
  "dev": "quasar dev",
27
- "dev:server": "node --watch-path=src src/cli/index.ts serve --no-open",
27
+ "dev:server": "node --watch-path=src/server --watch-path=src/cli --watch-path=src/shared src/cli/index.ts serve --no-open",
28
28
  "clean": "rm -rf dist",
29
- "build": "npm run build:server && npm run build:web",
29
+ "build": "pnpm run build:server && pnpm run build:web",
30
30
  "build:server": "tsc -p tsconfig.build.json && chmod +x dist/cli/index.js",
31
31
  "build:web": "quasar build",
32
32
  "start": "node dist/cli/index.js serve",
33
- "test": "npm run test:server && npm run test:cli && npm run test:web",
33
+ "test": "pnpm run test:server && pnpm run test:cli && pnpm run test:shared && pnpm run test:web && pnpm run test:lint-rules",
34
34
  "test:server": "node --test 'tests/server/**/*.test.ts'",
35
35
  "test:cli": "node --test 'tests/cli/**/*.test.ts'",
36
36
  "test:web": "node --import ./tests/web/register-web-alias-loader.mjs --test 'tests/web/**/*.test.ts'",
37
+ "test:lint-rules": "node --test 'tests/lint-rules/**/*.test.ts'",
37
38
  "test:e2e": "playwright test",
38
- "typecheck": "npm run typecheck:server && npm run typecheck:web",
39
+ "typecheck": "pnpm run typecheck:server && pnpm run typecheck:web",
39
40
  "typecheck:server": "tsc --noEmit -p tsconfig.server.json",
40
41
  "typecheck:web": "vue-tsc --noEmit",
41
- "lint": "oxfmt && oxlint --fix",
42
+ "lint": "oxfmt && oxlint --fix && oxfmt",
42
43
  "lint:check": "oxfmt --check && oxlint",
43
44
  "postinstall": "node -e \"require('node:fs').existsSync('quasar.config.ts')&&require('node:child_process').execSync('quasar prepare --silent',{stdio:'inherit'})\"",
44
- "prepublishOnly": "npm run build && npm run typecheck && npm test"
45
+ "prepublishOnly": "pnpm run build && pnpm run typecheck && pnpm test",
46
+ "test:shared": "node --test 'tests/shared/**/*.test.ts'"
45
47
  },
46
48
  "dependencies": {
49
+ "@agentclientprotocol/sdk": "^1.5.1",
47
50
  "@fastify/cors": "^10.0.0",
51
+ "@fastify/error": "^4.2.0",
48
52
  "@fastify/one-line-logger": "^2.0.2",
49
53
  "@fastify/sse": "^0.4.0",
50
54
  "@fastify/static": "^8.0.0",
@@ -60,17 +64,23 @@
60
64
  },
61
65
  "devDependencies": {
62
66
  "@fontsource/fira-code": "^5.3.0",
67
+ "@fontsource/golos-text": "^5.3.0",
63
68
  "@fontsource/jetbrains-mono": "^5.3.0",
64
69
  "@fontsource/syne": "^5.3.0",
65
70
  "@intlify/unplugin-vue-i18n": "^11.0.0",
71
+ "@mdi/js": "^7.4.47",
66
72
  "@playwright/test": "^1.57.0",
67
73
  "@quasar/app-vite": "^3.8.1",
68
74
  "@quasar/extras": "^2.0.4",
69
75
  "@types/diff": "^5.2.0",
76
+ "@types/markdown-it": "^14.2.0",
70
77
  "@types/node": "^22.19.11",
71
78
  "autoprefixer": "^10.4.27",
79
+ "dompurify": "^3.4.16",
80
+ "markdown-it": "^15.0.2",
81
+ "mermaid": "^12.0.0",
72
82
  "oxfmt": "^0.x",
73
- "oxlint": "^1.x",
83
+ "oxlint": "~1.82.0",
74
84
  "oxlint-tsgolint": "^7.0.2001",
75
85
  "pinia": "^4.0.2",
76
86
  "postcss": "^8.5.8",
@@ -1 +0,0 @@
1
- import{$ as e,E as t,F as n,H as r,M as i,O as a,S as o,U as s,V as c,Z as l,b as u,g as ee,h as d,l as f,rt as p,s as m,v as h,w as g}from"./runtime-core.esm-bundler-Wxr8ezGp.js";import{D as _,P as te,S as v,f as ne,g as y,j as b,m as x,t as S,w as C,y as w}from"./QBtn-Cf6WtiKt.js";import{d as T,f as E,i as D,u as re}from"./event-BQt_DXaR.js";import{B as ie,D as ae,E as O,G as k,H as A,I as j,J as M,K as N,L as oe,R as se,S as ce,T as P,U as F,V as I,W as le,X as ue,Y as de,Z as fe,_ as pe,ot as L,q as me,v as R,w as he,x as z,z as ge}from"./index-DphTOTJs.js";import{n as _e}from"./vue-i18n.runtime-DSeWNwrW.js";import{_ as ve,c as ye,d as be,f as B,g as V,l as xe,r as H,s as Se,t as U,u as Ce}from"./format-BWCY39oA.js";function W(e){if(e.length<2||e[0]!==`"`||e[e.length-1]!==`"`)return e;let t=e.slice(1,-1),n=[];for(let e=0;e<t.length;e++){let r=t[e];r===`\\`&&/^[0-7]{3}$/.test(t.slice(e+1,e+4))?(n.push(parseInt(t.slice(e+1,e+4),8)),e+=3):r===`\\`&&t[e+1]===`"`?(n.push(34),e+=1):r===`\\`&&t[e+1]===`\\`?(n.push(92),e+=1):n.push((r??``).charCodeAt(0))}return new TextDecoder(`utf-8`).decode(new Uint8Array(n))}function G(e,t){let n=new EventSource(`/api/events`);for(let r of e)n.addEventListener(r,()=>t());return n.addEventListener(`open`,()=>t()),{close:()=>n.close()}}var we=T({props:[`store`,`barStyle`,`verticalBarStyle`,`horizontalBarStyle`],setup(e){return()=>[h(`div`,{class:e.store.scroll.vertical.barClass.value,style:[e.barStyle,e.verticalBarStyle],"aria-hidden":`true`,onMousedown:e.store.onVerticalMousedown}),h(`div`,{class:e.store.scroll.horizontal.barClass.value,style:[e.barStyle,e.horizontalBarStyle],"aria-hidden":`true`,onMousedown:e.store.onHorizontalMousedown}),s(h(`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),s(h(`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)]}}),Te=[`vertical`,`horizontal`],K={vertical:{offset:`offsetY`,scroll:`scrollTop`,dir:`down`,dist:`y`},horizontal:{offset:`offsetX`,scroll:`scrollLeft`,dir:`right`,dist:`x`}},Ee={prevent:!0,mouse:!0,mouseAllDir:!0},De=e=>e>=250?50:Math.ceil(e/5),q=(e,t)=>t?-e:e;function Oe(e,t){return Te.includes(e)?!0:(console.error(`[QScrollArea]: wrong first param of ${t} (vertical/horizontal)`),!1)}var J=T({name:`QScrollArea`,props:{...R,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(n,{slots:r,emit:i}){let o=l(!1),s=l(!1),u=l(!1),d={vertical:l(0),horizontal:l(0)},f={vertical:{ref:e(null),position:l(0),size:l(0)},horizontal:{ref:e(null),position:l(0),size:l(0)}},{proxy:p}=ee(),_=v(),te=pe(n,_),y=null,b,x=e(null),S=m(()=>`q-scrollarea`+(te()?` q-scrollarea--dark`:``));Object.assign(d,{verticalInner:m(()=>d.vertical.value-n.verticalOffset[0]-n.verticalOffset[1]),horizontalInner:m(()=>d.horizontal.value-n.horizontalOffset[0]-n.horizontalOffset[1])}),f.vertical.percentage=m(()=>{let e=f.vertical.size.value-d.vertical.value;if(e<=0)return 0;let t=U(f.vertical.position.value/e,0,1);return Math.round(t*1e4)/1e4}),f.vertical.thumbHidden=m(()=>!(n.visible===null?u.value:n.visible)&&!o.value&&!s.value||f.vertical.size.value<=d.vertical.value+1),f.vertical.thumbStart=m(()=>n.verticalOffset[0]+f.vertical.percentage.value*(d.verticalInner.value-f.vertical.thumbSize.value)),f.vertical.thumbSize=m(()=>Math.round(U(d.verticalInner.value*d.verticalInner.value/f.vertical.size.value,De(d.verticalInner.value),d.verticalInner.value))),f.vertical.style=m(()=>({...n.thumbStyle,...n.verticalThumbStyle,top:`${f.vertical.thumbStart.value}px`,height:`${f.vertical.thumbSize.value}px`,[_.lang.rtl?`left`:`right`]:`${n.horizontalOffset[+!_.lang.rtl]}px`})),f.vertical.thumbClass=m(()=>`q-scrollarea__thumb q-scrollarea__thumb--v absolute-right`+(f.vertical.thumbHidden.value?` q-scrollarea__thumb--invisible`:``)),f.vertical.barClass=m(()=>`q-scrollarea__bar q-scrollarea__bar--v absolute-right`+(f.vertical.thumbHidden.value?` q-scrollarea__bar--invisible`:``)),f.horizontal.percentage=m(()=>{let e=f.horizontal.size.value-d.horizontal.value;if(e<=0)return 0;let t=U(q(f.horizontal.position.value,_.lang.rtl)/e,0,1);return Math.round(t*1e4)/1e4}),f.horizontal.thumbHidden=m(()=>!(n.visible===null?u.value:n.visible)&&!o.value&&!s.value||f.horizontal.size.value<=d.horizontal.value+1),f.horizontal.thumbStart=m(()=>n.horizontalOffset[+!!_.lang.rtl]+f.horizontal.percentage.value*(d.horizontalInner.value-f.horizontal.thumbSize.value)),f.horizontal.thumbSize=m(()=>Math.round(U(d.horizontalInner.value*d.horizontalInner.value/f.horizontal.size.value,De(d.horizontalInner.value),d.horizontalInner.value))),f.horizontal.style=m(()=>({...n.thumbStyle,...n.horizontalThumbStyle,[_.lang.rtl?`right`:`left`]:`${f.horizontal.thumbStart.value}px`,width:`${f.horizontal.thumbSize.value}px`,bottom:`${n.verticalOffset[1]}px`})),f.horizontal.thumbClass=m(()=>`q-scrollarea__thumb q-scrollarea__thumb--h absolute-bottom`+(f.horizontal.thumbHidden.value?` q-scrollarea__thumb--invisible`:``)),f.horizontal.barClass=m(()=>`q-scrollarea__bar q-scrollarea__bar--h absolute-bottom`+(f.horizontal.thumbHidden.value?` q-scrollarea__bar--invisible`:``));let C=m(()=>n.tabindex===void 0?f.vertical.size.value>d.vertical.value+1||f.horizontal.size.value>d.horizontal.value+1?0:void 0:n.tabindex),w=m(()=>f.vertical.thumbHidden.value&&f.horizontal.thumbHidden.value?n.contentStyle:n.contentActiveStyle);function T(){return{verticalPosition:f.vertical.position.value,verticalPercentage:f.vertical.percentage.value,verticalSize:f.vertical.size.value,verticalContainerSize:d.vertical.value,verticalContainerInnerSize:d.verticalInner.value,horizontalPosition:f.horizontal.position.value,horizontalPercentage:f.horizontal.percentage.value,horizontalSize:f.horizontal.size.value,horizontalContainerSize:d.horizontal.value,horizontalContainerInnerSize:d.horizontalInner.value}}let E=L(()=>{let e=T();e.ref=p,i(`scroll`,e)},0);function D(e,t,n){Oe(e,`setScrollPosition`)&&(e===`vertical`?oe:j)(x.value,t,n)}function re({height:e,width:t}){let n=!1;d.vertical.value!==e&&(d.vertical.value=e,n=!0),d.horizontal.value!==t&&(d.horizontal.value=t,n=!0),n&&A()}function ie({position:e}){let t=!1;f.vertical.position.value!==e.top&&(f.vertical.position.value=e.top,t=!0),f.horizontal.position.value!==e.left&&(f.horizontal.position.value=e.left,t=!0),t&&A()}function ae({height:e,width:t}){f.horizontal.size.value!==t&&(f.horizontal.size.value=t,A()),f.vertical.size.value!==e&&(f.vertical.size.value=e,A())}function O(e,t){let n=f[t];if(e.isFirst){if(n.thumbHidden.value)return;b=t===`horizontal`?q(n.position.value,_.lang.rtl):n.position.value,s.value=!0}else if(!s.value)return;e.isFinal&&(s.value=!1);let r=K[t],i=(n.size.value-d[t].value)/(d[t+`Inner`].value-n.thumbSize.value),a=e.distance[r.dist],o=(e.direction===r.dir?1:-1)*(t===`horizontal`&&_.lang.rtl?-1:1),c=b+o*a*i;M(t===`horizontal`?q(c,_.lang.rtl):c,t)}function k(e,t){let r=f[t];if(!r.thumbHidden.value){let i=t===`horizontal`&&_.lang.rtl,a=t===`vertical`?n.verticalOffset[0]:n.horizontalOffset[+!!i],o=(i?d.horizontal.value-e.offsetX:e[K[t].offset])-a,s=r.thumbStart.value-a;if(o<s||o>s+r.thumbSize.value){let e=o-r.thumbSize.value/2,n=U(e/(d[t+`Inner`].value-r.thumbSize.value),0,1);M(i?q(n*Math.max(0,r.size.value-d[t].value),_.lang.rtl):n*Math.max(0,r.size.value-d[t].value),t)}r.ref.value!==null&&r.ref.value.dispatchEvent(new MouseEvent(e.type,e))}}function A(){o.value=!0,y!==null&&clearTimeout(y),y=setTimeout(()=>{y=null,o.value=!1},n.delay),n.onScroll!==void 0&&E()}function M(e,t){x.value[K[t].scroll]=e}let N=null;function se(){N!==null&&clearTimeout(N),N=setTimeout(()=>{N=null,u.value=!0},_.platform.is.ios?50:0)}function ce(){N!==null&&(clearTimeout(N),N=null),u.value=!1}let P=null;c(()=>_.lang.rtl,(e,t)=>{x.value!==null&&j(x.value,q(q(f.horizontal.position.value,t),e))}),a(()=>{P={top:f.vertical.position.value,left:f.horizontal.position.value}}),g(()=>{if(P===null)return;let e=x.value;e!==null&&(j(e,P.left),oe(e,P.top))}),t(E.cancel),Object.assign(p,{getScrollTarget:()=>x.value,getScroll:T,getScrollPosition:()=>({top:f.vertical.position.value,left:f.horizontal.position.value}),getScrollPercentage:()=>({top:f.vertical.percentage.value,left:f.horizontal.percentage.value}),setScrollPosition:D,setScrollPercentage(e,t,n){if(!Oe(e,`setScrollPercentage`))return;let r=t*(f[e].size.value-d[e].value);D(e,e===`horizontal`?q(r,_.lang.rtl):r,n)}});let F={scroll:f,thumbVertDir:[[H,e=>{O(e,`vertical`)},void 0,{vertical:!0,...Ee}]],thumbHorizDir:[[H,e=>{O(e,`horizontal`)},void 0,{horizontal:!0,...Ee}]],onVerticalMousedown(e){k(e,`vertical`)},onHorizontalMousedown(e){k(e,`horizontal`)}};return()=>h(`div`,{class:S.value,onMouseenter:se,onMouseleave:ce},[h(`div`,{ref:x,class:`q-scrollarea__container scroll relative-position fit hide-scrollbar`,tabindex:C.value},[h(`div`,{class:`q-scrollarea__content absolute`,style:w.value},ne(r.default,[h(V,{debounce:0,onResize:ae})])),h(ve,{axis:`both`,onScroll:ie})]),h(V,{debounce:0,onResize:re}),h(we,{store:F,barStyle:n.barStyle,verticalBarStyle:n.verticalBarStyle,horizontalBarStyle:n.horizontalBarStyle})])}}),Y=d({__name:`CancelButton`,setup(e){let{t}=_e();return(e,n)=>(i(),f(S,o({padding:`2px 8px`},e.$attrs,{dense:``,flat:``,color:`warning`,label:p(t)(`reviews.comments.cancel`)}),null,16,[`label`]))}}),ke=d({__name:`CreateButton`,setup(e){let{t}=_e();return(e,n)=>(i(),f(S,o({padding:`2px 8px`,label:p(t)(`reviews.create.submit`)},e.$attrs,{unelevated:``,dense:``,color:`accent`}),null,16,[`label`]))}}),Ae={hover:Boolean,hoverDelay:{type:Number,default:0},hoverHideDelay:{type:Number,default:150}};function je({props:e,canShow:t,show:n,canHide:r,hide:i}){let{removeTimeout:a,registerTimeout:o}=fe();function s(r){e.hover===!0&&r.pointerType!==`touch`&&(a(),t(r)&&(e.hoverDelay>0?o(()=>{n(r)},e.hoverDelay):n(r)))}function c(t){a(),r(t)&&o(()=>{i(t)},e.hoverHideDelay)}function l(t){e.hover===!0&&t.pointerType!==`touch`&&c(t)}function u(e){e.pointerType!==`touch`&&a()}return{clearHoverTimer:a,hoverShow:s,hoverHide:l,scheduleHoverHide:c,onHoverContentEnter:u}}var X=null,{notPassiveCapture:Z,passiveCapture:Me}=D,Q=[];function $(e){X!==null&&(clearTimeout(X),X=null);let t=e.target;if(t===void 0||t.nodeType===8||t.classList.contains(`no-pointer-events`))return;let n=null,r=!1;for(let e=F.length-1;e>=0;e--){let t=F[e].$,i=t.type.name;if(i!==`QTooltip`){if(i===`QDialog`){if(t.props.seamless!==!0){if(r===!1)return;n=new Set(F.slice(e+1).map(e=>e.contentEl));break}continue}r=!0}}for(let r=Q.length-1;r>=0;r--){let i=Q[r];if(n!==null&&!n.has(i.innerRef.value))return;if((i.anchorEl.value===null||!i.anchorEl.value.contains(t)&&!z(i.anchorEl.value,t))&&(t===document.body||i.innerRef.value!==null&&!i.innerRef.value.contains(t)&&!z(i.innerRef.value,t)))e.qClickOutside=!0,i.onClickOutside(e);else return}}function Ne(e){e.pointerType!==`touch`&&(X!==null&&clearTimeout(X),X=setTimeout(()=>{X=null,$(e)},0))}function Pe(e){Q.push(e),Q.length===1&&(document.addEventListener(`pointerdown`,Ne,Me),document.addEventListener(`mousedown`,$,Z),document.addEventListener(`touchstart`,$,Z))}function Fe(e){let t=Q.indexOf(e);t!==-1&&(Q.splice(t,1),Q.length===0&&(X!==null&&(clearTimeout(X),X=null),document.removeEventListener(`pointerdown`,Ne,Me),document.removeEventListener(`mousedown`,$,Z),document.removeEventListener(`touchstart`,$,Z)))}var Ie=`a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex^="-"])`,Le=T({name:`QMenu`,inheritAttrs:!1,props:{...B,...M,...R,...k,persistent:Boolean,autoClose:Boolean,separateClosePopup:Boolean,noEscDismiss:Boolean,noRouteDismiss:Boolean,noRefocus:Boolean,noFocus:Boolean,fit:Boolean,cover:Boolean,square:Boolean,anchor:{type:String,validator:Ce},self:{type:String,validator:Ce},offset:{type:Array,validator:xe},touchPosition:Boolean,...Ae,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null}},emits:[...me,`click`,`escapeKey`],setup(n,{slots:r,emit:i,attrs:a}){let o=null,s,u=!1,d=ee(),{proxy:f}=d,p=v(),g=e(null),_=l(!1),ne=m(()=>!n.persistent&&!n.noRouteDismiss),b=pe(n,p),{registerTick:S,removeTick:C}=de(),{registerTransitionEnd:T}=ue(n),{transitionProps:E,transitionStyle:D}=le(n),{anchorEl:k,canShow:j,anchorEvents:M}=be({showing:_,getPopupRole:()=>a.role}),{show:oe,hide:F}=N({showing:_,canShow:j,canHide(e){return u&&!_e.value?e?.type!==`click`:!0},handleShow:K,handleHide:Ee,handleRouteChange:De,hideOnRouteChange:ne,processOnMount:!0}),{clearHoverTimer:I,hoverShow:fe,scheduleHoverHide:L,onHoverContentEnter:me}=je({props:n,canShow:()=>!_.value,show:oe,canHide:e=>_.value&&!we(e.relatedTarget),hide:F});Object.assign(M,{hoverShow:fe,hoverHide:Te});let{showPortal:R,hidePortal:z,portalIsAccessible:_e,renderPortal:ve}=se(d,g,Ae,`menu`),B={anchorEl:k,innerRef:g,onClickOutside(e){if(!n.persistent&&_.value)return F(e),(e.type===`touchstart`||e.target.classList.contains(`q-dialog__backdrop`))&&re(e),!0}},V=m(()=>ye(n.anchor||(n.cover?`center middle`:`bottom start`),p.lang.rtl)),xe=m(()=>n.cover?V.value:ye(n.self||`top start`,p.lang.rtl)),H=Se({props:n,$q:p,anchorEl:k,innerRef:g,showing:_,anchorOrigin:V,selfOrigin:xe}),U=m(()=>`q-menu scroll`+(H.viaCssAnchor?``:` q-position-engine`)+(n.square?` q-menu--square`:``)+(b()?` q-menu--dark q-dark`:``)),Ce=m(()=>n.autoClose?{onClick:Oe}:{}),W=m(()=>_.value&&!n.persistent);c(W,e=>{e?(O(Y),Pe(B)):(ae(Y),Fe(B))});function G(){ge(()=>{let e=g.value;e&&e.contains!==void 0&&!e.contains(document.activeElement)&&(e=e.querySelector(`[autofocus][tabindex], [data-autofocus][tabindex]`)||e.querySelector(`[autofocus] [tabindex], [data-autofocus] [tabindex]`)||e.querySelector(`[autofocus], [data-autofocus]`)||e,e.focus({preventScroll:!0}))})}function we(e){if(e==null)return!1;if(k.value!==null&&k.value.contains(e)||g.value!==null&&g.value.contains(e))return!0;let t=A(e);for(;t!=null;){if(t===f)return!0;t=w(t)}return!1}function Te(e){if(e.pointerType===`touch`)return;L(e);let t=w(f);for(;t!=null;)t.$options.name===`QMenu`&&t.$props.hover===!0&&t.__qHoverHide?.(e),t=w(t)}function K(e){u=n.hover&&e?.type===`pointerenter`,I(),o=n.noRefocus||u?null:document.activeElement,he(J),R(!1,u),H.handleShow(!u&&(n.touchPosition||n.contextMenu)?e:void 0),!n.noFocus&&!u&&document.activeElement.blur(),S(()=>{H.handleTick(),!n.noFocus&&!u&&G()}),T(()=>{p.platform.is.ios&&(s=n.autoClose,g.value.click()),H.viaCssAnchor||H.track(),R(!0),i(`show`,e)})}function Ee(e){if(u=!1,C(),z(),q(!0),o!==null&&(e===void 0||!e.qClickOutside)){let t=(e?.type.indexOf(`key`)===0?o.closest(`[tabindex]:not([tabindex^="-"])`):void 0)||o;o=null,ge(()=>{t.isConnected&&t.focus({preventScroll:!0})})}T(()=>{z(!0),H.releaseAnchor(!1),i(`hide`,e)})}function De(){o=null}function q(e){I(),H.releaseAnchor(e),(e||_.value)&&(P(J),Fe(B),ae(Y)),e||(o=null)}function Oe(e){s?s=!1:(ie(f,e),i(`click`,e))}function J(e){W.value&&!n.noFocus&&!u&&!y(g.value,e.target)&&!ce(g.value,e.target)&&G()}function Y(e){n.noEscDismiss||(i(`escapeKey`),F(e))}function ke(e){if(e.keyCode!==9||e.defaultPrevented||!W.value||g.value===null)return;let t=g.value,n=t.querySelectorAll(Ie),r=n.length===0?null:n[e.shiftKey?0:n.length-1];(r===null||document.activeElement===r||e.shiftKey&&document.activeElement===t)&&(P(J),o!==null&&o.isConnected&&(o.closest(`[tabindex]:not([tabindex^="-"])`)||o).focus({preventScroll:!0}),o=null,F(e))}function Ae(){return h(te,E(),()=>_.value?h(`div`,{...a,ref:g,tabindex:-1,onKeydown:[].concat(a.onKeydown||[],ke),...n.hover?{onPointerenter:[].concat(a.onPointerenter||[],me),onPointerleave:[].concat(a.onPointerleave||[],Te)}:{},class:[U.value,a.class],style:[a.style,D(),H.positionStyle.value],...Ce.value},x(r.default)):null)}return t(()=>{q(!1)}),Object.assign(f,{focus:G,updatePosition:H.updatePosition}),f.__qHoverHide=L,ve}});function Re(e){return e===!1?0:e===!0||e===void 0?1:Number.parseInt(e,10)||0}function ze(e){let t=e.currentTarget,n=t.__qclosepopup;n!==0&&setTimeout(()=>{let r=A(t);r!==void 0&&I(r,e,n)},0)}function Be(e){b(e,13)&&ze(e)}var Ve=E({name:`close-popup`,beforeMount(e,{value:t}){e.__qclosepopup=Re(t),e.addEventListener(`click`,ze),e.addEventListener(`keyup`,Be)},updated(e,{value:t,oldValue:n}){t!==n&&e.__qclosepopup!==void 0&&(e.__qclosepopup=Re(t))},beforeUnmount(e){e.__qclosepopup!==void 0&&(e.removeEventListener(`click`,ze),e.removeEventListener(`keyup`,Be),e.__qclosepopup=void 0)}}),He=T({name:`QPage`,props:{padding:Boolean,styleFn:Function},setup(e,{slots:t}){let n=v(),r=u(_,C);if(r===C)return console.error(`QPage needs to be a deep child of QLayout`),C;if(u(`_q_pc_`,C)===C)return console.error(`QPage needs to be child of QPageContainer`),C;let i=m(()=>{let t=(r.header.space?r.header.size:0)+(r.footer.space?r.footer.size:0);if(typeof e.styleFn==`function`){let i=r.isContainer.value?r.containerHeight.value:n.screen.height;return e.styleFn(t,i)}return{minHeight:r.isContainer.value?r.containerHeight.value-t+`px`:n.screen.height===0?t===0?`100vh`:`calc(100vh - ${t}px)`:n.screen.height-t+`px`}}),a=m(()=>`q-page${e.padding?` q-layout-padding`:``}`);return()=>h(`main`,{class:a.value,style:i.value},x(t.default))}}),Ue=d({__name:`AppPage`,setup(e){function t(e,t){return{height:`${t-e}px`}}return(e,a)=>(i(),f(He,{"style-fn":t},{default:r(()=>[n(e.$slots,`default`)]),_:3}))}});export{Ae as a,J as c,je as i,G as l,Ve as n,ke as o,Le as r,Y as s,Ue as t,W as u};
@@ -1 +0,0 @@
1
- .review-create-dialog[data-v-c9b736c2]{width:420px;max-width:90vw}
@@ -1 +0,0 @@
1
- import{$ as e,A as t,H as n,M as r,N as i,S as a,U as o,V as s,Z as c,b as l,c as u,d,g as f,h as p,k as m,l as h,m as g,r as _,rt as v,s as y,v as b,x,yt as S,z as C}from"./runtime-core.esm-bundler-Wxr8ezGp.js";import{C as w,D as T,L as E,S as D,T as ee,c as O,f as te,m as k,t as A,w as j}from"./QBtn-Cf6WtiKt.js";import{d as M}from"./event-BQt_DXaR.js";import{J as N,K as ne,d as re,g as P,h as F,m as ie,n as I,q as ae,y as oe}from"./index-DphTOTJs.js";import{n as se}from"./vue-i18n.runtime-DSeWNwrW.js";import{n as L,r as R}from"./pinia-DK4OjQ7o.js";import{a as z,i as B,n as ce,r as V,t as H}from"./client-De34x_P_.js";import{r as U}from"./format-BWCY39oA.js";import{a as W,i as G,l as le,n as ue,o as de,s as fe,u as K}from"./AppPage-BeqKILJT.js";function q(e){return{...e,oldPath:K(e.oldPath),newPath:K(e.newPath)}}function J(e,t){let n=new Map(e.map(e=>[e.newPath||e.oldPath,e]));return t.map(e=>{let t=n.get(e.newPath||e.oldPath);return t&&JSON.stringify(t)===JSON.stringify(e)?t:e})}var Y=L(`diff`,()=>{let e=c([]),t=c([]),n=c(!1),r=c(null),i=y(()=>[...e.value,...t.value].map(e=>e.newPath||e.oldPath));async function a(){n.value=!0,r.value=null;try{let[n,r]=await Promise.all([V(`/api/diff/staged`),V(`/api/diff/unstaged`)]);e.value=J(e.value,n.map(q)),t.value=J(t.value,r.map(q))}catch(n){e.value=[],t.value=[],r.value=n instanceof Error?n.message:String(n)}finally{n.value=!1}}return{stagedFiles:e,unstagedFiles:t,loading:n,error:r,changedPaths:i,fetchDiff:a}}),X=L(`active-review`,()=>{let e=c(null),t=c([]),n=c(!1),r=y(()=>{let e=new Map;for(let n of t.value){let t=e.get(n.filePath);t?t.push(n):e.set(n.filePath,[n])}return e});async function i(){n.value=!0;try{let n=(await V(`/api/reviews`)).filter(e=>e.status===`in_progress`).sort((e,t)=>t.createdAt.localeCompare(e.createdAt));e.value=n[0]??null,t.value=e.value?await V(`/api/reviews/${e.value.id}/comments`):[]}finally{n.value=!1}}function a(n){e.value=n,t.value=[]}async function o(t){e.value&&(await B(`/api/reviews/${e.value.id}`,{status:t}),await i())}async function s(n){if(!e.value)throw Error(`No active review`);let r=await z(`/api/reviews/${e.value.id}/comments`,n);return t.value=[...t.value,r],r}async function l(e,n){let r=await B(`/api/comments/${e}`,{content:n});t.value=t.value.map(t=>t.id===e?r:t)}async function u(e){await ce(`/api/comments/${e}`),t.value=t.value.filter(t=>t.id!==e)}async function d(e){let n=await B(`/api/comments/${e}/resolve`);t.value=t.value.map(t=>t.id===e?n:t)}async function f(e){let n=await B(`/api/comments/${e}/unresolve`);t.value=t.value.map(t=>t.id===e?n:t)}return{activeReview:e,comments:t,loading:n,commentsByFile:r,refresh:i,setActiveReview:a,setStatus:o,createComment:s,editComment:l,deleteComment:u,resolveComment:d,unresolveComment:f}}),pe=p({__name:`SearchInput`,props:{modelValue:{},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=C(e,`modelValue`);return(e,i)=>(r(),h(I,a({modelValue:t.value,"onUpdate:modelValue":i[0]||=e=>t.value=e},e.$attrs,{dense:``,outlined:``,clearable:``}),{prepend:n(()=>[g(O,{name:`search`,size:`xs`})]),_:1},16,[`modelValue`]))}}),me=M({name:`QItemLabel`,props:{overline:Boolean,caption:Boolean,header:Boolean,lines:[Number,String]},setup(e,{slots:t}){let n=y(()=>Number.parseInt(e.lines,10)),r=y(()=>`q-item__label`+(e.overline?` q-item__label--overline text-overline`:``)+(e.caption?` q-item__label--caption text-caption`:``)+(e.header?` q-item__label--header`:``)+(n.value===1?` ellipsis`:``)),i=y(()=>e.lines!==void 0&&n.value>1?{overflow:`hidden`,display:`-webkit-box`,"-webkit-box-orient":`vertical`,"-webkit-line-clamp":n.value}:null);return()=>b(`div`,{style:i.value,class:r.value},k(t.default))}}),he=[`top`,`right`,`bottom`,`left`],Z={type:{type:String,default:`a`},outline:Boolean,push:Boolean,flat:Boolean,unelevated:Boolean,color:String,textColor:String,glossy:Boolean,square:Boolean,padding:String,label:{type:[String,Number],default:``},labelPosition:{type:String,default:`right`,validator:e=>he.includes(e)},externalLabel:Boolean,hideLabel:{type:Boolean},labelClass:[Array,String,Object],labelStyle:[Array,String,Object],disable:Boolean,tabindex:[Number,String]},ge=[`label`],_e=Object.keys(Z).filter(e=>!ge.includes(e)&&A.props[e]!==void 0);function ve(e){let t={};for(let n of _e)t[n]=e[n];return t}function ye(e,t){return{formClass:y(()=>`q-fab--form-${e.square?`square`:`rounded`}`),stacked:y(()=>!e.externalLabel&&[`top`,`bottom`].includes(e.labelPosition)),labelProps:y(()=>{if(e.externalLabel){let n=e.hideLabel===null?!t.value:e.hideLabel;return{action:`push`,data:{class:[e.labelClass,`q-fab__label q-tooltip--style q-fab__label--external q-fab__label--external-${e.labelPosition}`+(n?` q-fab__label--external-hidden`:``)],style:e.labelStyle}}}return{action:[`left`,`top`].includes(e.labelPosition)?`unshift`:`push`,data:{class:[e.labelClass,`q-fab__label q-fab__label--internal q-fab__label--internal-${e.labelPosition}`+(e.hideLabel?` q-fab__label--internal-hidden`:``)],style:e.labelStyle}}})}}var be=[`up`,`right`,`down`,`left`],xe=[`left`,`center`,`right`],Q=180,Se=M({name:`QFab`,props:{...Z,...N,icon:String,activeIcon:String,hideIcon:Boolean,hideLabel:{...Z.hideLabel,default:null},direction:{type:String,default:`right`,validator:e=>be.includes(e)},...W,persistent:Boolean,stagger:{type:Number,default:40},verticalActionsAlign:{type:String,default:`center`,validator:e=>xe.includes(e)}},emits:ae,setup(t,{slots:n}){let r=e(null),a=c(t.modelValue===!0),o=re(),l=D(),{formClass:u,stacked:d,labelProps:f}=ye(t,a),p=y(()=>!t.persistent),{show:m,hide:h,toggle:g}=ne({showing:a,hideOnRouteChange:p}),_=0,{clearHoverTimer:v,hoverShow:x,hoverHide:S}=G({props:t,canShow:()=>!a.value,show:e=>{_=Date.now(),m(e)},canHide:()=>a.value,hide:h});s(a,v);function C(e){a.value&&Date.now()-_<Q||g(e)}let w=y(()=>({opened:a.value})),T=y(()=>`q-fab z-fab row inline justify-center q-fab--align-${t.verticalActionsAlign} ${u.value}`+(a.value?` q-fab--opened`:` q-fab--closed`)),E=y(()=>`q-fab__actions flex no-wrap inline q-fab__actions--${t.direction} q-fab__actions--${a.value?`opened`:`closed`}`),j=y(()=>t.hover?{onPointerenter:x,onPointerleave:S}:{}),M=y(()=>{let e={id:o.value,style:`--q-fab-stagger: ${t.stagger}ms`};return a.value||(e[`aria-hidden`]=`true`),e}),N=y(()=>`q-fab__icon-holder q-fab__icon-holder--${a.value?`opened`:`closed`}`);function P(e,r){let i=n[e],a=`q-fab__${e} absolute-full`;return i===void 0?b(O,{class:a,name:t[r]||l.iconSet.fab[r]}):b(`div`,{class:a},i(w.value))}function F(){let e=[];return t.hideIcon||e.push(b(`div`,{class:N.value},[P(`icon`,`icon`),P(`active-icon`,`activeIcon`)])),(t.label!==``||n.label!==void 0)&&e[f.value.action](b(`div`,f.value.data,n.label===void 0?[t.label]:n.label(w.value))),te(n.tooltip,e)}return i(ee,{showing:a,onChildClick(e){h(e),e?.qAvoidFocus!==!0&&r.value?.$el.focus()}}),()=>b(`div`,{class:T.value,...j.value},[b(A,{ref:r,class:u.value,...ve(t),noWrap:!0,stack:d.value,noCaps:!0,fab:!0,"aria-expanded":a.value?`true`:`false`,"aria-controls":o.value,onClick:C},F),b(`div`,{class:E.value,...M.value},k(n.default))])}}),Ce={position:{type:String,default:`bottom-right`,validator:e=>[`top-right`,`top-left`,`bottom-right`,`bottom-left`,`top`,`right`,`bottom`,`left`].includes(e)},offset:{type:Array,validator:e=>e.length===2},expand:Boolean};function we(){let{props:e}=f(),t=D(),n=l(T,j);if(n===j)return console.error(`QPageSticky needs to be child of QLayout`),j;let r=y(()=>{let t=e.position;return{top:t.includes(`top`),right:t.includes(`right`),bottom:t.includes(`bottom`),left:t.includes(`left`),vertical:t===`top`||t===`bottom`,horizontal:t===`left`||t===`right`}}),i=y(()=>n.header.offset),a=y(()=>n.right.offset),o=y(()=>n.footer.offset),s=y(()=>n.left.offset),c=y(()=>{let n=0,c=0,l=r.value,u=t.lang.rtl?-1:1;l.top&&i.value!==0?c=`${i.value}px`:l.bottom&&o.value!==0&&(c=`${-o.value}px`),l.left&&s.value!==0?n=`${u*s.value}px`:l.right&&a.value!==0&&(n=`${-u*a.value}px`);let d={transform:`translate(${n}, ${c})`};return e.offset&&(d.margin=`${e.offset[1]}px ${e.offset[0]}px`),l.vertical?(s.value!==0&&(d[t.lang.rtl?`right`:`left`]=`${s.value}px`),a.value!==0&&(d[t.lang.rtl?`left`:`right`]=`${a.value}px`)):l.horizontal&&(i.value!==0&&(d.top=`${i.value}px`),o.value!==0&&(d.bottom=`${o.value}px`)),d}),u=y(()=>`q-page-sticky row flex-center fixed-${e.position} q-page-sticky--${e.expand?`expand`:`shrink`}`);function d(t){let n=k(t.default);return b(`div`,{class:u.value,style:c.value},e.expand?n:[b(`div`,n)])}return{$layout:n,getStickyContent:d}}var Te=M({name:`QPageSticky`,props:Ce,setup(e,{slots:t}){let{getStickyContent:n}=we();return()=>n(t)}});function Ee(e){let t=new URLSearchParams;e.search&&t.set(`search`,e.search),e.createdFrom&&t.set(`createdFrom`,e.createdFrom),e.createdTo&&t.set(`createdTo`,e.createdTo),e.files&&e.files.length>0&&t.set(`files`,e.files.join(`,`));let n=t.toString();return n?`?${n}`:``}var $=L(`reviews`,()=>{let e=c([]),t=c(!1),n=c(null);async function r(r={}){t.value=!0,n.value=null;try{e.value=await V(`/api/reviews${Ee(r)}`)}catch(t){e.value=[],n.value=t instanceof Error?t.message:String(t)}finally{t.value=!1}}async function i(t){let n=await z(`/api/reviews`,t);return e.value=[n,...e.value],n}return{reviews:e,loading:t,error:n,fetchReviews:r,createReview:i}}),De={class:`text-h6`},Oe=w(p({__name:`ReviewCreateDialog`,props:{modelValue:{type:Boolean,required:!0},modelModifiers:{}},emits:x([`created`,`hide`],[`update:modelValue`]),setup(e,{emit:t}){let i=C(e,`modelValue`),a=t,{t:s}=se(),l=$(),d=c(``),f=c(!1),p=c(null);function m(){d.value=``,f.value=!1,p.value=null}async function _(){f.value=!0,p.value=null;try{let e=d.value.trim(),t=await l.createReview(e?{name:e}:{});i.value=!1,m(),a(`created`,t)}catch(e){p.value=e instanceof H||e instanceof Error?e.message:String(e)}finally{f.value=!1}}function y(){m(),a(`hide`)}return(e,t)=>(r(),h(oe,{modelValue:i.value,"onUpdate:modelValue":t[1]||=e=>i.value=e,onHide:y},{default:n(()=>[g(P,{class:`review-create-dialog`},{default:n(()=>[g(F,null,{default:n(()=>[u(`div`,De,S(v(s)(`reviews.create.title`)),1)]),_:1}),g(F,{class:`q-gutter-y-md`},{default:n(()=>[g(I,{modelValue:d.value,"onUpdate:modelValue":t[0]||=e=>d.value=e,dense:``,outlined:``,label:v(s)(`reviews.create.nameLabel`),hint:v(s)(`reviews.create.nameHint`),error:!!p.value,"error-message":p.value??void 0,onKeyup:E(_,[`enter`])},null,8,[`modelValue`,`label`,`hint`,`error`,`error-message`])]),_:1}),g(ie,{align:`right`},{default:n(()=>[o(g(fe,null,null,512),[[ue]]),g(de,{loading:f.value,onClick:_},null,8,[`loading`])]),_:1})]),_:1})]),_:1},8,[`modelValue`]))}}),[[`__scopeId`,`data-v-c9b736c2`]]),ke=p({__name:`CreateReviewFabButton`,emits:[`created`],setup(e,{emit:i}){let a=i,s=X(),l=Y(),{activeReview:u}=R(s),{changedPaths:f}=R(l),p=c(!1),h=c(!1),v=c([18,18]),b=c(!1),x=y(()=>f.value.length===0||u.value!==null);function S(){l.fetchDiff(),s.refresh()}m(S);let C=le([`files:changed`,`review:created`,`review:updated`,`review:deleted`],S);t(()=>C.close());function w(e){b.value=e.isFirst!==!0&&e.isFinal!==!0,v.value=[v.value[0]-(e.delta?.x??0),v.value[1]-(e.delta?.y??0)]}function T(e){s.setActiveReview(e),a(`created`,e)}return(e,t)=>(r(),d(_,null,[g(Te,{position:`bottom-right`,offset:v.value},{default:n(()=>[o(g(Se,{modelValue:h.value,"onUpdate:modelValue":t[0]||=e=>h.value=e,icon:`add`,color:`accent`,disable:x.value||b.value,onClick:t[1]||=e=>p.value=!0},null,8,[`modelValue`,`disable`]),[[U,w,void 0,{prevent:!0,mouse:!0}]])]),_:1},8,[`offset`]),g(Oe,{modelValue:p.value,"onUpdate:modelValue":t[2]||=e=>p.value=e,onCreated:T,onHide:t[3]||=e=>h.value=!1},null,8,[`modelValue`])],64))}});export{X as a,pe as i,$ as n,Y as o,me as r,ke as t};
@@ -1 +0,0 @@
1
- .file-explorer[data-v-1ce1b104]{height:100%}[data-v-1ce1b104] .file-explorer__panel{flex-direction:column;flex-shrink:0;min-width:0;height:100%;display:flex}[data-v-1ce1b104] .file-explorer__content{flex-direction:column;flex-wrap:no-wrap;display:flex}.file-tree-node__icon-section[data-v-43168dd7]{min-width:0!important;padding-right:6px!important}.file-tree-node__label[data-v-43168dd7]{width:100%;min-width:0}.file-tree-node__chevron[data-v-43168dd7]{transition:transform .15s}.file-tree-node__chevron--expanded[data-v-43168dd7]{transform:rotate(90deg)}.file-tree-node--selected[data-v-43168dd7]{font-weight:500}.file-list-item__icon-section[data-v-77d2a0e7]{min-width:0!important;padding-right:6px!important}.file-list-item__path-label[data-v-77d2a0e7]{width:100%;min-width:0}.file-list-item--selected[data-v-77d2a0e7],[data-v-77d2a0e7] .file-list-item--selected{font-weight:500}.file-list-item__actions[data-v-77d2a0e7]{gap:2px;flex-direction:row!important;padding:0 0 0 6px!important}.file-list-item__stats[data-v-77d2a0e7]{padding-right:0!important}.file-list-panel__scroll[data-v-704ed3e1] .q-scrollarea__content{width:100%}.active-review-bar[data-v-725a73f5]{min-height:36px}
@@ -1 +0,0 @@
1
- import{$ as e,A as t,C as n,E as r,F as i,H as a,I as o,M as s,N as c,O as l,P as u,U as d,V as f,Z as p,_t as m,b as h,c as g,d as _,g as v,h as y,k as b,l as x,m as S,p as C,q as w,r as T,rt as E,s as D,u as O,v as k,vt as A,w as ee,x as j,yt as M,z as N}from"./runtime-core.esm-bundler-Wxr8ezGp.js";import{A as te,C as P,N as ne,R as re,S as F,c as I,f as ie,j as ae,m as oe,o as L,s as R,t as z,w as B}from"./QBtn-Cf6WtiKt.js";import{d as V,u as se}from"./event-BQt_DXaR.js";import{Y as ce,Z as le,_ as H,d as U,f as ue,it as de,p as W,t as G,v as fe}from"./index-DphTOTJs.js";import{n as K}from"./vue-i18n.runtime-DSeWNwrW.js";import{n as pe,r as q}from"./pinia-DK4OjQ7o.js";import{a as me,r as he}from"./client-De34x_P_.js";import{a as J,g as ge,h as _e,o as Y,r as ve}from"./format-BWCY39oA.js";import{n as ye,t as X}from"./QTooltip-IUM54Nhj.js";import{c as Z,l as Q,t as be,u as xe}from"./AppPage-BeqKILJT.js";import{a as Se,i as Ce,o as we,r as Te,t as Ee}from"./CreateReviewFabButton-wjxKeOL1.js";import{a as De,c as $,i as Oe,l as ke,n as Ae,o as je,r as Me,s as Ne,t as Pe}from"./StatusSwitcher-CUOMaD34.js";function Fe(e){return e.toSorted((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1).map(e=>({...e,children:e.children?Fe(e.children):void 0}))}function Ie(e,t){let n=[];for(let r of e){let e=r.split(`/`),i=n;for(let n=0;n<e.length;n++){let a=e[n];if(!a)continue;let o=n===e.length-1,s=e.slice(0,n+1).join(`/`),c=i.find(e=>e.name===a);c||(c={name:a,path:s,type:o?`file`:`directory`,isChanged:o?t.has(r):!1,children:o?void 0:[]},i.push(c)),!o&&c.children&&(i=c.children)}}return Fe(n)}function Le(e,t){if(!t.trim())return e;let n=t.toLowerCase(),r=e=>{if(e.type===`file`)return e.path.toLowerCase().includes(n)?e:null;let t=e.children?.map(r).filter(e=>e!==null);return t&&t.length>0?{...e,children:t}:e.name.toLowerCase().includes(n)?e:null};return e.map(r).filter(e=>e!==null)}function Re(){let e=p([]),t=p(!1),n=p(null);async function r(r,i=[]){t.value=!0,n.value=null;try{let t=await he(`/api/git/tree/${encodeURIComponent(r)}`);e.value=Ie(t.files.map(xe),new Set(i))}catch(t){n.value=t instanceof Error?t.message:String(t),e.value=[]}finally{t.value=!1}}return{tree:e,loading:t,error:n,fetchTree:r}}function ze(e){return e.type===`file`?e.isChanged:e.children?.some(ze)??!1}var Be=pe(`file-explorer`,()=>{let e=we(),{tree:t,loading:r,fetchTree:i}=Re(),{lines:a,isBinary:o,loading:s,fetchContent:c,reset:l}=ke(),u=p(`staged`),d=p(!1),m=p(``),h=p(null),g=p(new Set),_=p(new Set),v=D(()=>u.value===`staged`?e.stagedFiles:e.unstagedFiles),y=D(()=>{let e=(m.value??``).trim().toLowerCase();return e?v.value.filter(t=>$(t).toLowerCase().includes(e)):v.value}),b=D(()=>Le(t.value,m.value??``)),x=D(()=>{let e=0,n=t=>{for(let r of t)r.type===`file`?e++:r.children&&n(r.children)};return n(t.value),e});f(t,e=>{let t=new Set,n=e=>{for(let r of e)r.type===`directory`&&r.children&&(ze(r)&&t.add(r.path),n(r.children))};n(e),g.value=t},{immediate:!0}),f(d,t=>{m.value=``,h.value=null,t&&i(`WORKTREE`,e.changedPaths)}),f(u,()=>{h.value=null,_.value=new Set}),f(h,e=>{if(d.value){if(!e){l();return}c(e,`WORKTREE`)}});function S(e){let t=new Set(g.value);t.has(e)?t.delete(e):t.add(e),g.value=t}function C(e){let t=new Set(_.value);t.has(e)?t.delete(e):t.add(e),_.value=t}function w(e){h.value=e,C(e)}function T(e){h.value=e,_.value.has(e)||(_.value=new Set(_.value).add(e))}function E(){_.value=new Set(v.value.map($))}function O(){_.value=new Set}function k(e){h.value=e,!d.value&&(_.value.has(e)||(_.value=new Set(_.value).add(e)),n(()=>{document.getElementById(`diff-file-${e}`)?.scrollIntoView({block:`nearest`})}))}let A=null,ee=0;function j(){return A??=(async()=>{await e.fetchDiff(),d.value&&(await i(`WORKTREE`,e.changedPaths),h.value&&await c(h.value,`WORKTREE`))})().finally(()=>{A=null})}async function M(){ee=Date.now(),await j()}async function N(){Date.now()-ee<400||await j()}return{source:u,browseMode:d,filter:m,selectedPath:h,expandedFolders:g,expandedFiles:_,tree:t,treeLoading:r,browseFileLines:a,browseFileIsBinary:o,browseFileLoading:s,diffFiles:v,filteredDiffFiles:y,filteredTree:b,totalTreeFiles:x,toggleFolder:S,toggleFileCard:C,handleCardToggle:w,expandFile:T,expandAllFiles:E,collapseAllFiles:O,selectFile:k,refresh:M,refreshFromServerEvent:N}}),Ve=V({name:`QSplitter`,props:{...fe,modelValue:{type:Number,required:!0},reverse:Boolean,unit:{type:String,default:`%`,validator:e=>[`%`,`px`].includes(e)},limits:{type:Array,validator:e=>e.length!==2||typeof e[0]!=`number`||typeof e[1]!=`number`?!1:e[0]>=0&&e[0]<=e[1]},emitImmediately:Boolean,horizontal:Boolean,disable:Boolean,beforeClass:[Array,String,Object],afterClass:[Array,String,Object],separatorClass:[Array,String,Object],separatorStyle:[Array,String,Object],separatorAriaLabel:String},emits:[`update:modelValue`],setup(t,{slots:r,emit:i}){let a=F(),o=H(t,a),s=e(null),c={before:e(null),after:e(null)},l=U(),u=D(()=>`q-splitter no-wrap ${t.horizontal?`q-splitter--horizontal column`:`q-splitter--vertical row`} q-splitter--${t.disable?`disabled`:`workable`}`+(o()?` q-splitter--dark`:``)),p=D(()=>t.horizontal?`height`:`width`),m=D(()=>t.reverse?`after`:`before`),h=D(()=>t.limits===void 0?t.unit===`%`?[10,90]:[50,1/0]:t.limits);function g(e){return(t.unit===`%`?e:Math.round(e))+t.unit}let _=D(()=>({[m.value]:{[p.value]:g(t.modelValue)}})),v,y,b,x,S;function C(e){if(e.isFirst){let e=s.value.getBoundingClientRect()[p.value];v=t.horizontal?`up`:`left`,y=t.unit===`%`?100:e,b=Math.min(y,h.value[1],Math.max(h.value[0],t.modelValue)),x=(t.reverse?-1:1)*(t.horizontal?1:a.lang.rtl?-1:1)*(t.unit===`%`?e===0?0:100/e:1),s.value.classList.add(`q-splitter--active`);return}if(e.isFinal){S!==t.modelValue&&i(`update:modelValue`,S),s.value.classList.remove(`q-splitter--active`);return}let n=b+x*(e.direction===v?-1:1)*e.distance[t.horizontal?`y`:`x`];S=Math.min(y,h.value[1],Math.max(h.value[0],n)),c[m.value].value.style[p.value]=g(S),t.emitImmediately&&t.modelValue!==S&&i(`update:modelValue`,S)}let w=D(()=>[[ve,t.disable?void 0:C,void 0,{[t.horizontal?`vertical`:`horizontal`]:!0,prevent:!0,stop:!0,mouse:!0,mouseAllDir:!0}]]),T=D(()=>{let e={role:`separator`,"aria-orientation":t.horizontal?`horizontal`:`vertical`,"aria-label":t.separatorAriaLabel||a.lang.label.resize};if(t.disable)e[`aria-disabled`]=`true`;else{let n=h.value;e.tabindex=0,e[`aria-controls`]=l.value,e[`aria-valuemin`]=n[0],n[1]!==1/0&&(e[`aria-valuemax`]=n[1]),e[`aria-valuenow`]=Math.round(t.modelValue*100)/100}return e}),E=null;function O(e){let{keyCode:n}=e,r=t.horizontal?[38,40]:[37,39];if(n!==13&&n!==36&&n!==35&&!r.includes(n))return;se(e);let o=h.value,c=t.unit===`%`?100:s.value.getBoundingClientRect()[p.value],l;if(n===13)t.modelValue===o[0]?l=E===null?t.modelValue:E:(E=t.modelValue,l=o[0]);else if(n===36)l=o[0];else if(n===35)l=o[1];else{let e=(n===r[0]?-1:1)*(t.reverse?-1:1)*(t.horizontal?1:a.lang.rtl?-1:1);l=t.modelValue+e*(t.unit===`%`?1:10)}let u=Math.min(c,o[1],Math.max(o[0],l));u!==t.modelValue&&i(`update:modelValue`,u)}function A(e,t){e<t[0]?i(`update:modelValue`,t[0]):e>t[1]&&i(`update:modelValue`,t[1])}return f(()=>t.modelValue,e=>{A(e,h.value)}),f(()=>t.limits,()=>{n(()=>{A(t.modelValue,h.value)})}),()=>{let e=[k(`div`,{ref:c.before,id:m.value===`before`?l.value:void 0,class:[`q-splitter__panel q-splitter__before`+(t.reverse?` col`:``),t.beforeClass],style:_.value.before},oe(r.before)),k(`div`,{class:[`q-splitter__separator`,t.separatorClass],style:t.separatorStyle,...T.value,onKeydown:t.disable?void 0:O},[d(k(`div`,{class:`q-splitter__separator-area absolute-full`},oe(r.separator)),w.value)]),k(`div`,{ref:c.after,id:m.value===`after`?l.value:void 0,class:[`q-splitter__panel q-splitter__after`+(t.reverse?``:` col`),t.afterClass],style:_.value.after},oe(r.after))];return k(`div`,{class:u.value,ref:s},ie(r.default,e))}}}),He=260,Ue=220,We=600,Ge=P(y({__name:`PanelResize`,setup(e){let t=p(He),n=D(()=>[Ue,We]);return(e,r)=>(s(),x(Ve,{modelValue:t.value,"onUpdate:modelValue":r[0]||=e=>t.value=e,limits:n.value,unit:`px`,class:`file-explorer`,"before-class":`file-explorer__panel`,"after-class":`file-explorer__content`},{before:a(()=>[i(e.$slots,`panel`,{},void 0,!0)]),after:a(()=>[i(e.$slots,`content`,{},void 0,!0)]),_:3},8,[`modelValue`,`limits`]))}}),[[`__scopeId`,`data-v-1ce1b104`]]),Ke=0,qe=[`click`,`keydown`],Je={icon:String,label:[Number,String],alert:[Boolean,String],alertIcon:String,name:{type:[Number,String],default:()=>`t_${Ke++}`},noCaps:Boolean,tabindex:[String,Number],disable:Boolean,contentClass:String,ripple:{type:[Boolean,Object],default:!0}},Ye=[13,32];function Xe(t,n,i,a){let o=h(te,B);if(o===B)return console.error(`QTab/QRouteTab component needs to be child of QTabs`),B;let{proxy:s}=v(),c=e(null),l=e(null),u=e(null);function f(){return t.disable||t.ripple===!1?!1:{keyCodes:Ye,early:!0,...t.ripple===!0?{}:t.ripple}}function p(e){let n=o.tabProps.value;return`q-tab relative-position self-stretch flex flex-center text-center`+(e?` q-tab--active`+(n.activeClass?` `+n.activeClass:``)+(n.activeColor?` text-${n.activeColor}`:``)+(n.activeBgColor?` bg-${n.activeBgColor}`:``):` q-tab--inactive`)+(t.icon&&t.label&&!n.inlineLabel?` q-tab--full`:``)+(t.noCaps||n.noCaps?` q-tab--no-caps`:``)+(t.disable?` disabled`:` q-focusable q-hoverable cursor-pointer`)+(a===void 0?``:a.linkClass.value)}function m(){return`q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable `+(o.tabProps.value.inlineLabel?`row no-wrap q-tab__content--inline`:`column`)+(t.contentClass===void 0?``:` ${t.contentClass}`)}let g=D(()=>o.currentModel.value===t.name),_=D(()=>{if(t.disable||o.hasFocus.value)return-1;let e=o.tabStopName.value;return e===null||e===t.name?t.tabindex||0:-1});function y(e,n){if(!n&&!e?.qAvoidFocus&&c.value?.focus({preventScroll:!0}),t.disable){a?.hasRouterLink.value===!0&&se(e);return}if(a===void 0){o.updateModel({name:t.name}),i(`click`,e);return}if(a.hasRouterLink.value){let n=(n={})=>{let r,i=n.to===void 0||de(n.to,t.to)?o.avoidRouteWatcher=ue():null;return a.navigateToRouterLink(e,{...n,returnRouterError:!0}).catch(e=>{r=e}).then(e=>{if(i===o.avoidRouteWatcher&&(o.avoidRouteWatcher=!1,r===void 0&&(e===void 0||e.message?.startsWith(`Avoided redundant navigation`)===!0)&&o.updateModel({name:t.name})),n.returnRouterError)return r===void 0?e:Promise.reject(r)})};i(`click`,e,n),e.defaultPrevented||n();return}i(`click`,e)}function x(e){i(`keydown`,e),!e.defaultPrevented&&(ae(e,[13,32])?y(e,!0):e.keyCode>=35&&e.keyCode<=40&&!e.altKey&&!e.metaKey&&!ne(e)&&o.onKbdNavigate(e.keyCode,s.$el)&&se(e))}function S(){let e=o.tabProps.value,r=e.narrowIndicator,i=[],a=k(`div`,{ref:u,class:[`q-tab__indicator`,e.indicatorClass]});t.icon!==void 0&&i.push(k(I,{class:`q-tab__icon`,name:t.icon})),t.label!==void 0&&i.push(k(`div`,{class:`q-tab__label`},t.label)),t.alert&&i.push(t.alertIcon===void 0?k(`div`,{class:`q-tab__alert`+(t.alert===!0?``:` text-${t.alert}`)}):k(I,{class:`q-tab__alert-icon`,color:t.alert===!0?void 0:t.alert,name:t.alertIcon})),r&&i.push(a);let s=[k(`div`,{class:`q-focus-helper`,tabindex:-1,ref:c}),k(`div`,{class:m()},ie(n.default,i))];return r||s.push(a),s}let C={name:D(()=>t.name),disable:D(()=>t.disable),rootRef:l,tabIndicatorRef:u,routeData:a};r(()=>{o.unregisterTab(C)}),b(()=>{o.registerTab(C)});function w(e,n){let r={ref:l,class:p(g.value),tabindex:_.value,role:`tab`,"aria-selected":g.value?`true`:`false`,"aria-disabled":t.disable?`true`:void 0,onClick:y,onKeydown:x,...n};return d(k(e,r,S()),[[L,f()]])}return{renderTab:w,$tabs:o}}var Ze=V({name:`QTab`,props:Je,emits:qe,setup(e,{slots:t,emit:n}){let{renderTab:r}=Xe(e,t,n);return()=>r(`div`)}});function Qe(e,t,n){let r=n?[`left`,`right`]:[`top`,`bottom`];return`absolute-${t?r[0]:r[1]}${e?` text-${e}`:``}`}function $e(e,t){for(let n in e)if(e[n]!==t[n])return!1;return!0}var et=[`left`,`center`,`right`,`justify`],tt=V({name:`QTabs`,props:{modelValue:[Number,String],align:{type:String,default:`center`,validator:e=>et.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(t,{slots:n,emit:i}){let{proxy:a}=v(),o=F(),{registerTick:s}=ce(),{registerTick:u}=ce(),{registerTick:d}=ce(),{registerTimeout:m,removeTimeout:h}=le(),{registerTimeout:g,removeTimeout:_}=le(),y=e(null),b=e(null),x=p(t.modelValue),S=p(!1),C=p(!0),w=p(!1),T=p(!1),E=[],O=p(0),A=p(!1),j=null,M=null,N,P=D(()=>({activeClass:t.activeClass,activeColor:t.activeColor,activeBgColor:t.activeBgColor,indicatorClass:Qe(t.indicatorColor,t.switchIndicator,t.vertical),narrowIndicator:t.narrowIndicator,inlineLabel:t.inlineLabel,noCaps:t.noCaps})),ne=D(()=>{let e=O.value,t=x.value,n=null;for(let r=0;r<e;r++){let e=E[r];if(!e.disable.value){if(e.name.value===t)return t;n===null&&(n=e.name.value)}}return n}),re=D(()=>`q-tabs__content--align-${S.value?`left`:T.value?`justify`:t.align}`),ie=D(()=>`q-tabs row no-wrap items-center q-tabs--${S.value?``:`not-`}scrollable q-tabs--${t.vertical?`vertical`:`horizontal`} q-tabs__arrows--${t.outsideArrows?`outside`:`inside`} q-tabs--mobile-with${t.mobileArrows?``:`out`}-arrows`+(t.dense?` q-tabs--dense`:``)+(t.shrink?` col-shrink`:``)+(t.stretch?` self-stretch`:``)),ae=D(()=>`q-tabs__content row no-wrap items-center self-stretch hide-scrollbar relative-position `+re.value+(t.contentClass===void 0?``:` ${t.contentClass}`)),L=D(()=>t.vertical?`height`:`width`),R=D(()=>!t.vertical&&o.lang.rtl===!0);f(R,U),f(()=>t.modelValue,e=>{z({name:e,setCurrent:!0,skipEmit:!0})}),f(()=>t.outsideArrows,B);function z({name:e,setCurrent:n,skipEmit:r}){x.value!==e&&(!r&&t[`onUpdate:modelValue`]!==void 0&&i(`update:modelValue`,e),(n||t[`onUpdate:modelValue`]===void 0)&&(se(x.value,e),x.value=e))}function B(){s(()=>{y.value&&V({width:y.value.offsetWidth,height:y.value.offsetHeight})})}function V(e){if(b.value===null)return;let n=e[L.value],r=Array.prototype.reduce.call(b.value.children,(e,t)=>e+t.getBoundingClientRect()[L.value],0),i=n>0&&r-n>1;S.value=i,i&&u(U),T.value=n<Number.parseInt(t.breakpoint,10)}function se(e,n){let r=e!=null&&e!==``?E.find(t=>t.name.value===e):null,i=n!=null&&n!==``?E.find(e=>e.name.value===n):null;if(Q)Q=!1;else if(r&&i){let e=r.tabIndicatorRef.value,n=i.tabIndicatorRef.value;j!==null&&(clearTimeout(j),j=null),e.style.transition=`none`,e.style.transform=`none`,n.style.transition=`none`,n.style.transform=`none`;let a=e.getBoundingClientRect(),o=n.getBoundingClientRect();n.style.transform=t.vertical?`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)`,d(()=>{j=setTimeout(()=>{j=null,n.style.transition=`transform .25s cubic-bezier(.4, 0, .2, 1)`,n.style.transform=`none`},70)})}i&&S.value&&H(i.rootRef.value)}function H(e){let{left:n,width:r,top:i,height:a}=b.value.getBoundingClientRect(),o=e.getBoundingClientRect(),s=t.vertical?o.top-i:o.left-n;if(s<0){b.value[t.vertical?`scrollTop`:`scrollLeft`]+=Math.floor(s),U();return}s+=t.vertical?o.height-a:o.width-r,s>0&&(b.value[t.vertical?`scrollTop`:`scrollLeft`]+=Math.ceil(s),U())}function U(){let e=b.value;if(e===null)return;let n=e.getBoundingClientRect(),r=t.vertical?e.scrollTop:Math.abs(e.scrollLeft);R.value?(C.value=Math.ceil(r+n.width)<e.scrollWidth-1,w.value=r>0):(C.value=r>0,w.value=t.vertical?Math.ceil(r+n.height)<e.scrollHeight:Math.ceil(r+n.width)<e.scrollWidth)}function ue(e){M!==null&&clearInterval(M),M=setInterval(()=>{pe(e)&&G()},5)}function de(){ue(R.value?2**53-1:0)}function W(){ue(R.value?0:2**53-1)}function G(){M!==null&&(clearInterval(M),M=null)}function fe(e,n){let r=Array.prototype.filter.call(b.value.children,e=>e===n||e.matches?.(`.q-tab.q-focusable`)),i=r.length;if(i===0)return;if(e===36)return H(r[0]),r[0].focus(),!0;if(e===35)return H(r[i-1]),r[i-1].focus(),!0;let a=e===(t.vertical?38:37),o=e===(t.vertical?40:39),s=a?-1:o?1:void 0;if(s!==void 0){let e=t.vertical!==!0&&R.value?-1:1,a=(r.indexOf(n)+s*e+i)%i;return H(r[a]),r[a].focus({preventScroll:!0}),!0}}let K=D(()=>R.value?{get:e=>Math.abs(e.scrollLeft),set:(e,t)=>{e.scrollLeft=-t}}:t.vertical?{get:e=>e.scrollTop,set:(e,t)=>{e.scrollTop=t}}:{get:e=>e.scrollLeft,set:(e,t)=>{e.scrollLeft=t}});function pe(e){let t=b.value,{get:n,set:r}=K.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),U(),i}function q(){let e=null,t={matchedLen:0,queryDiff:9999,hrefLen:0},n=E.filter(e=>e.routeData?.hasRouterLink.value===!0),{hash:r,query:i}=a.$route,o=Object.keys(i).length;for(let a of n){let n=a.routeData.exact.value===!0;if(!a.routeData[n?`linkIsExactActive`:`linkIsActive`].value)continue;let{hash:s,query:c,matched:l,href:u}=a.routeData.resolvedLink.value,d=Object.keys(c).length;if(n){if(s!==r||d!==o||!$e(i,c))continue;e=a.name.value;break}if(s!==``&&s!==r||d!==0&&!$e(c,i))continue;let f={matchedLen:l.length,queryDiff:o-d,hrefLen:u.length-s.length};if(f.matchedLen>t.matchedLen){e=a.name.value,t=f;continue}if(f.matchedLen===t.matchedLen){if(f.queryDiff<t.queryDiff)e=a.name.value,t=f;else if(f.queryDiff!==t.queryDiff)continue;f.hrefLen>t.hrefLen&&(e=a.name.value,t=f)}}if(e===null&&E.some(e=>e.routeData===void 0&&e.name.value===x.value)){Q=!1;return}z({name:e,setCurrent:!0})}function me(e){if(h(),!A.value&&y.value!==null&&e.target&&typeof e.target.closest==`function`){let t=e.target.closest(`.q-tab`);t&&y.value.contains(t)&&(A.value=!0,S.value&&H(t))}}function he(){m(()=>{A.value=!1},30)}function J(){ye.avoidRouteWatcher===!1?g(q):_()}function _e(){if(N===void 0){let e=f(()=>a.$route.fullPath,J);N=()=>{e(),N=void 0}}}function Y(e){E.push(e),O.value++,B(),e.routeData===void 0||a.$route===void 0?g(()=>{if(S.value){let e=x.value,t=e!=null&&e!==``?E.find(t=>t.name.value===e):null;t&&H(t.rootRef.value)}}):(_e(),e.routeData.hasRouterLink.value&&J())}function ve(e){E.splice(E.indexOf(e),1),O.value--,B(),N!==void 0&&e.routeData!==void 0&&(E.every(e=>e.routeData===void 0)&&N(),J())}let ye={currentModel:x,tabProps:P,hasFocus:A,tabStopName:ne,registerTab:Y,unregisterTab:ve,verifyRouteModel:J,updateModel:z,onKbdNavigate:fe,avoidRouteWatcher:!1};c(te,ye);function X(){j!==null&&clearTimeout(j),G(),N?.()}let Z=!1,Q=!1;return r(X),l(()=>{Z=N!==void 0,X()}),ee(()=>{Z&&(_e(),Q=!0,J()),B()}),()=>k(`div`,{ref:y,class:ie.value,role:`tablist`,"aria-orientation":t.vertical?`vertical`:`horizontal`,onFocusin:me,onFocusout:he},[k(ge,{onResize:V}),k(`div`,{ref:b,class:ae.value,onScroll:U},oe(n.default)),k(I,{class:`q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon`+(C.value?``:` q-tabs__arrow--faded`),name:t.leftIcon||o.iconSet.tabs[t.vertical?`up`:`left`],onMousedownPassive:de,onTouchstartPassive:de,onMouseupPassive:G,onMouseleavePassive:G,onTouchendPassive:G}),k(I,{class:`q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon`+(w.value?``:` q-tabs__arrow--faded`),name:t.rightIcon||o.iconSet.tabs[t.vertical?`down`:`right`],onMousedownPassive:W,onTouchstartPassive:W,onMouseupPassive:G,onMouseleavePassive:G,onTouchendPassive:G})])}}),nt={class:`row items-center no-wrap q-gutter-x-xs`},rt={class:`row items-center no-wrap q-gutter-x-xs`},it=y({__name:`FileExplorerTabs`,props:j({stagedFilesLength:{},unstagedFilesLength:{}},{modelValue:{default:`staged`},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=N(e,`modelValue`),{t:n}=K();return(r,i)=>(s(),x(tt,{modelValue:t.value,"onUpdate:modelValue":i[0]||=e=>t.value=e,dense:``,"no-caps":``,align:`left`,"narrow-indicator":``,class:`text-primary q-mb-sm`},{default:a(()=>[S(Ze,{name:`staged`},{default:a(()=>[g(`div`,nt,[g(`span`,null,M(E(n)(`changes.staged`)),1),S(_e,{color:`positive`,rounded:``},{default:a(()=>[C(M(e.stagedFilesLength),1)]),_:1})])]),_:1}),S(Ze,{name:`unstaged`},{default:a(()=>[g(`div`,rt,[g(`span`,null,M(E(n)(`changes.unstaged`)),1),S(_e,{color:`warning`,rounded:``},{default:a(()=>[C(M(e.unstagedFilesLength),1)]),_:1})])]),_:1})]),_:1},8,[`modelValue`]))}}),at={class:`file-tree-node`},ot={class:`row items-center no-wrap q-gutter-x-xs`},st={class:`ellipsis file-tree-node__label`},ct={class:`ellipsis file-tree-node__label`},lt={key:2},ut=P(y({__name:`FileTreeNode`,props:{node:{},selectedPath:{},expandedFolders:{},level:{}},emits:[`toggle-folder`,`file-select`],setup(e,{emit:t}){let n=e,r=t,i=8+n.level*12;return(t,n)=>{let c=o(`FileTreeNode`,!0);return s(),_(`div`,at,[e.node.type===`directory`?d((s(),x(J,{key:0,clickable:``,dense:``,style:A({paddingLeft:`${i}px`}),onClick:n[0]||=t=>r(`toggle-folder`,e.node.path)},{default:a(()=>[S(Y,{avatar:``,class:`file-tree-node__icon-section`},{default:a(()=>[g(`div`,ot,[S(I,{name:`chevron_right`,size:`xs`,class:m([`file-tree-node__chevron`,{"file-tree-node__chevron--expanded":e.expandedFolders.has(e.node.path)}])},null,8,[`class`]),S(I,{name:e.expandedFolders.has(e.node.path)?`folder_open`:`folder`,size:`xs`,color:`warning`},null,8,[`name`])])]),_:1}),S(Y,{class:`text-mono`},{default:a(()=>[g(`div`,st,[C(M(e.node.name)+` `,1),S(X,{anchor:`top middle`,self:`bottom middle`},{default:a(()=>[C(M(e.node.path),1)]),_:1})])]),_:1}),e.node.children?(s(),x(Y,{key:0,side:``,class:`text-caption text-grey-6`},{default:a(()=>[C(M(e.node.children.length),1)]),_:1})):O(``,!0)]),_:1},8,[`style`])),[[L]]):d((s(),x(J,{key:1,clickable:``,dense:``,active:e.node.path===e.selectedPath,"active-class":`file-tree-node--selected`,style:A({paddingLeft:`${i+20}px`}),onClick:n[1]||=t=>r(`file-select`,e.node.path)},{default:a(()=>[S(Y,{avatar:``,class:`file-tree-node__icon-section`},{default:a(()=>[S(I,{name:`insert_drive_file`,size:`xs`,color:`grey-6`})]),_:1}),S(Y,{class:`text-mono`},{default:a(()=>[g(`div`,ct,[C(M(e.node.name)+` `,1),S(X,{anchor:`top middle`,self:`bottom middle`},{default:a(()=>[C(M(e.node.path),1)]),_:1})])]),_:1}),e.node.isChanged?(s(),x(Y,{key:0,side:``},{default:a(()=>[S(I,{name:`fiber_manual_record`,size:`8px`,color:`warning`})]),_:1})):O(``,!0)]),_:1},8,[`active`,`style`])),[[L]]),e.node.type===`directory`&&e.expandedFolders.has(e.node.path)&&e.node.children?(s(),_(`div`,lt,[(s(!0),_(T,null,u(e.node.children,t=>(s(),x(c,{key:t.path,node:t,"selected-path":e.selectedPath,"expanded-folders":e.expandedFolders,level:e.level+1,onToggleFolder:n[2]||=e=>r(`toggle-folder`,e),onFileSelect:n[3]||=e=>r(`file-select`,e)},null,8,[`node`,`selected-path`,`expanded-folders`,`level`]))),128))])):O(``,!0)])}}}),[[`__scopeId`,`data-v-43168dd7`]]);function dt(){let e=F(),{t}=K(),n=Be();async function r(r,i,a){try{await me(i,{paths:[r]}),await n.refresh()}catch(n){e.notify({type:`negative`,message:t(a),caption:n instanceof Error?n.message:String(n)})}}function i(e){return r(e,`/api/git/stage`,`changes.actions.stageError`)}function a(e){return r(e,`/api/git/unstage`,`changes.actions.unstageError`)}function o(n){e.dialog({title:t(`changes.actions.discardConfirmTitle`),message:t(`changes.actions.discardConfirmMessage`,{path:n}),persistent:!0,ok:{label:t(`changes.actions.discardConfirmOk`),color:`negative`,flat:!0},cancel:{label:t(`changes.actions.discardConfirmCancel`),flat:!0}}).onOk(()=>{r(n,`/api/git/discard`,`changes.actions.discardError`)})}return{stage:i,unstage:a,discard:o}}var ft={class:`ellipsis file-list-item__path-label`},pt={class:`text-caption`},mt={class:`text-positive`},ht={class:`text-negative q-ml-xs`},gt=P(y({__name:`FileListItem`,props:{file:{},selected:{type:Boolean},source:{}},emits:[`click`],setup(e){let{t}=K(),{stage:n,unstage:r,discard:i}=dt(),o={added:`A`,modified:`M`,deleted:`D`,renamed:`R`},c={added:`positive`,modified:`warning`,deleted:`negative`,renamed:`purple`};return(l,u)=>d((s(),x(J,{clickable:``,dense:``,active:e.selected,"active-class":`file-list-item--selected`,onClick:u[3]||=e=>l.$emit(`click`)},{default:a(()=>[S(Y,{avatar:``,class:`file-list-item__icon-section`},{default:a(()=>[g(`span`,{class:m([`text-caption text-weight-bold text-mono`,`text-${c[e.file.status]}`])},M(o[e.file.status]),3)]),_:1}),S(Y,{class:`text-mono`},{default:a(()=>[g(`div`,ft,[C(M(E($)(e.file))+` `,1),S(X,{anchor:`top middle`,self:`bottom middle`},{default:a(()=>[C(M(E($)(e.file)),1)]),_:1})])]),_:1}),S(Y,{side:``,class:`file-list-item__stats`},{default:a(()=>[g(`span`,pt,[g(`span`,mt,`+`+M(e.file.additions),1),g(`span`,ht,`-`+M(e.file.deletions),1)])]),_:1}),S(Y,{side:``,class:`file-list-item__actions`},{default:a(()=>[e.source===`unstaged`?(s(),_(T,{key:0},[d((s(),x(z,{flat:``,dense:``,round:``,size:`sm`,icon:`undo`,"aria-label":E(t)(`changes.actions.discard`),onClick:u[0]||=re(t=>E(i)(E($)(e.file)),[`stop`])},{default:a(()=>[S(X,null,{default:a(()=>[C(M(E(t)(`changes.actions.discard`)),1)]),_:1})]),_:1},8,[`aria-label`])),[[L]]),d((s(),x(z,{flat:``,dense:``,round:``,size:`sm`,icon:`add`,"aria-label":E(t)(`changes.actions.stage`),onClick:u[1]||=re(t=>E(n)(E($)(e.file)),[`stop`])},{default:a(()=>[S(X,null,{default:a(()=>[C(M(E(t)(`changes.actions.stage`)),1)]),_:1})]),_:1},8,[`aria-label`])),[[L]])],64)):d((s(),x(z,{key:1,flat:``,dense:``,round:``,size:`sm`,icon:`remove`,"aria-label":E(t)(`changes.actions.unstage`),onClick:u[2]||=re(t=>E(r)(E($)(e.file)),[`stop`])},{default:a(()=>[S(X,null,{default:a(()=>[C(M(E(t)(`changes.actions.unstage`)),1)]),_:1})]),_:1},8,[`aria-label`])),[[L]])]),_:1})]),_:1},8,[`active`])),[[L]])}}),[[`__scopeId`,`data-v-77d2a0e7`]]),_t=y({__name:`BrowseModeToggle`,props:{modelValue:{type:Boolean,default:!1},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=N(e,`modelValue`),{t:n}=K();return(e,r)=>(s(),x(J,null,{default:a(()=>[S(Y,null,{default:a(()=>[S(Te,null,{default:a(()=>[C(M(E(n)(`browse.toggle`)),1)]),_:1})]),_:1}),S(Y,{side:``},{default:a(()=>[S(G,{modelValue:t.value,"onUpdate:modelValue":r[0]||=e=>t.value=e,dense:``,size:`xs`},null,8,[`modelValue`])]),_:1})]),_:1}))}}),vt={class:`file-list-panel__header q-pa-sm`},yt={key:1,class:`text-subtitle2 q-mb-sm`},bt={class:`text-primary`},xt={key:0,class:`row justify-center q-pa-lg`},St={key:0,class:`text-caption text-grey-6 q-px-md q-py-sm`},Ct={key:0,class:`text-caption text-grey-6 q-px-md q-py-sm`},wt=P(y({__name:`FileListPanel`,setup(e){let{t}=K(),{stagedFiles:n,unstagedFiles:r,loading:i}=q(we()),o=Be(),{source:c,browseMode:l,filter:d,selectedPath:f,expandedFolders:p,treeLoading:m,filteredDiffFiles:h,filteredTree:v,totalTreeFiles:y}=q(o);return(e,b)=>(s(),_(T,null,[g(`div`,vt,[E(l)?(s(),_(`div`,yt,[C(M(E(t)(`browse.allFiles`))+` `,1),g(`span`,bt,`(`+M(E(y))+`)`,1)])):(s(),x(it,{key:0,modelValue:E(c),"onUpdate:modelValue":b[0]||=e=>w(c)?c.value=e:null,"staged-files-length":E(n).length,"unstaged-files-length":E(r).length},null,8,[`modelValue`,`staged-files-length`,`unstaged-files-length`])),S(Ce,{modelValue:E(d),"onUpdate:modelValue":b[1]||=e=>w(d)?d.value=e:null,placeholder:E(l)?E(t)(`browse.searchPlaceholder`):E(t)(`changes.filterPlaceholder`)},null,8,[`modelValue`,`placeholder`])]),S(W),S(Z,{class:`col file-list-panel__scroll`,"content-style":`padding: 4px 0`,"content-active-style":`padding: 4px 0`},{default:a(()=>[(E(l)?E(m):E(i))?(s(),_(`div`,xt,[S(R,{color:`primary`,size:`2em`})])):E(l)?(s(),_(T,{key:1},[E(v).length===0?(s(),_(`p`,St,M(E(d)?E(t)(`browse.noMatchingFiles`):E(t)(`browse.noFiles`)),1)):O(``,!0),(s(!0),_(T,null,u(E(v),e=>(s(),x(ut,{key:e.path,node:e,"selected-path":E(f),"expanded-folders":E(p),level:0,onToggleFolder:E(o).toggleFolder,onFileSelect:E(o).selectFile},null,8,[`node`,`selected-path`,`expanded-folders`,`onToggleFolder`,`onFileSelect`]))),128))],64)):(s(),_(T,{key:2},[E(h).length===0?(s(),_(`p`,Ct,M(E(d)?E(t)(`browse.noMatchingFiles`):E(t)(`changes.emptyFileList`)),1)):O(``,!0),(s(!0),_(T,null,u(E(h),e=>(s(),x(gt,{key:E($)(e),file:e,selected:E(f)===E($)(e),source:E(c),onClick:t=>E(o).selectFile(E($)(e))},null,8,[`file`,`selected`,`source`,`onClick`]))),128))],64))]),_:1}),S(W),S(_t,{modelValue:E(l),"onUpdate:modelValue":b[2]||=e=>w(l)?l.value=e:null},null,8,[`modelValue`])],64))}}),[[`__scopeId`,`data-v-704ed3e1`]]),Tt={class:`diff-status-bar row items-center q-gutter-x-md q-pa-sm text-body2`},Et={class:`text-weight-medium`},Dt={class:`text-positive`},Ot={class:`text-negative`},kt={key:0,class:`text-grey-6`},At={key:1,class:`text-grey-6`},jt={key:2,class:`text-grey-6`},Mt={key:3,class:`text-grey-6`},Nt=y({__name:`DiffStatusBar`,props:{files:{}},emits:[`expand-all`,`collapse-all`],setup(e,{emit:t}){let n=e,r=t,{t:i}=K(),a=D(()=>{let e=n.files.reduce((e,t)=>e+t.additions,0),t=n.files.reduce((e,t)=>e+t.deletions,0),r=n.files.filter(e=>e.status===`added`).length,i=n.files.filter(e=>e.status===`modified`).length,a=n.files.filter(e=>e.status===`deleted`).length,o=n.files.filter(e=>e.status===`renamed`).length;return{total:n.files.length,additions:e,deletions:t,added:r,modified:i,deleted:a,renamed:o}});return(e,t)=>(s(),_(`div`,Tt,[g(`span`,Et,M(E(i)(`changes.filesChanged`,{count:a.value.total})),1),g(`span`,Dt,` +`+M(a.value.additions)+` `+M(E(i)(`changes.additions`)),1),g(`span`,Ot,` -`+M(a.value.deletions)+` `+M(E(i)(`changes.deletions`)),1),a.value.added?(s(),_(`span`,kt,M(a.value.added)+` `+M(E(i)(`changes.added`)),1)):O(``,!0),a.value.modified?(s(),_(`span`,At,M(a.value.modified)+` `+M(E(i)(`changes.modified`)),1)):O(``,!0),a.value.deleted?(s(),_(`span`,jt,M(a.value.deleted)+` `+M(E(i)(`changes.deletedPlural`)),1)):O(``,!0),a.value.renamed?(s(),_(`span`,Mt,M(a.value.renamed)+` `+M(E(i)(`changes.renamed`)),1)):O(``,!0),S(ye),S(z,{dense:``,flat:``,"no-caps":``,size:`sm`,icon:`unfold_more`,label:E(i)(`changes.expandAll`),onClick:t[0]||=e=>r(`expand-all`)},null,8,[`label`]),S(z,{dense:``,flat:``,"no-caps":``,size:`sm`,icon:`unfold_less`,label:E(i)(`changes.collapseAll`),onClick:t[1]||=e=>r(`collapse-all`)},null,8,[`label`])]))}}),Pt={key:0,class:`active-review-bar row items-center q-gutter-x-sm q-px-sm no-wrap`},Ft={class:`text-body2 ellipsis`},It=P(y({__name:`ActiveReviewBar`,setup(e){let{t}=K(),n=F(),r=Se(),{activeReview:i}=q(r);function a(e){r.setStatus(e).catch(e=>{n.notify({type:`negative`,message:t(`reviews.comments.error`),caption:e instanceof Error?e.message:String(e)})})}return(e,n)=>E(i)?(s(),_(`div`,Pt,[S(I,{name:`rate_review`,size:`18px`,color:`primary`}),g(`span`,Ft,M(E(i).name??E(t)(`reviews.list.unnamed`)),1),S(ye),S(Pe,{status:E(i).status,onChange:a},null,8,[`status`])])):O(``,!0)}}),[[`__scopeId`,`data-v-725a73f5`]]),Lt={key:0,class:`q-pa-md text-grey-6`},Rt=y({__name:`DiffPanel`,setup(e){let{t}=K(),n=F(),r=Be(),i=Se(),{source:o,diffFiles:c,expandedFiles:l}=q(r),{activeReview:d,commentsByFile:f}=q(i);async function p(e){try{await e()}catch(e){n.notify({type:`negative`,message:t(`reviews.comments.error`),caption:e instanceof Error?e.message:String(e)})}}function m(e){p(()=>i.createComment(e))}function h(e,t){p(()=>i.editComment(e,t))}function g(e){p(()=>i.deleteComment(e))}function v(e){p(()=>i.resolveComment(e))}function y(e){p(()=>i.unresolveComment(e))}return(e,n)=>(s(),_(T,null,[E(c).length===0?(s(),_(`div`,Lt,M(E(t)(`changes.emptyDiffPanel`)),1)):(s(),_(T,{key:1},[S(It),E(d)?(s(),x(W,{key:0})):O(``,!0),S(Nt,{files:E(c),onExpandAll:E(r).expandAllFiles,onCollapseAll:E(r).collapseAllFiles},null,8,[`files`,`onExpandAll`,`onCollapseAll`]),S(W),S(Z,{class:`col`,"content-style":`padding: 8px; width: 100%; max-width: 100%`,"content-active-style":`padding: 8px; width: 100%; max-width: 100%`},{default:a(()=>[(s(!0),_(T,null,u(E(c),e=>(s(),x(Ae,{key:E($)(e),file:e,source:E(o),expanded:E(l).has(E($)(e)),commentable:!!E(d),"comments-editable":!!E(d),comments:E(f).get(E($)(e))??[],onToggle:t=>E(r).handleCardToggle(E($)(e)),onExpand:t=>E(r).expandFile(E($)(e)),onCreateComment:m,onEditComment:h,onDeleteComment:g,onResolveComment:v,onUnresolveComment:y},null,8,[`file`,`source`,`expanded`,`commentable`,`comments-editable`,`comments`,`onToggle`,`onExpand`]))),128))]),_:1})],64)),!E(d)&&E(c).length>0?(s(),x(Ee,{key:2})):O(``,!0)],64))}}),zt={key:0,class:`q-pa-md text-grey-6`},Bt={key:0,class:`row justify-center q-pa-lg`},Vt={key:1,class:`q-pa-md text-grey-6`},Ht=y({__name:`FileContentPanel`,setup(e){let{t}=K(),n=Be(),{selectedPath:r,browseFileLines:i,browseFileIsBinary:o,browseFileLoading:c}=q(n),l=p(!1);return f(r,e=>{l.value=e?Me(e):!1},{immediate:!0}),(e,n)=>E(r)?(s(),x(je,{key:1,class:`col`},{header:a(()=>[S(De,{path:E(r)},{default:a(()=>[S(Oe,{modelValue:l.value,"onUpdate:modelValue":n[0]||=e=>l.value=e},null,8,[`modelValue`])]),_:1},8,[`path`])]),default:a(()=>[E(c)?(s(),_(`div`,Bt,[S(R,{color:`primary`,size:`2em`})])):E(o)?(s(),_(`div`,Vt,M(E(t)(`changes.binaryFile`)),1)):(s(),x(Z,{key:2,class:`col`,"content-style":`padding: 8px`,"content-active-style":`padding: 8px`},{default:a(()=>[S(Ne,{path:E(r),lines:E(i),wrap:l.value},null,8,[`path`,`lines`,`wrap`])]),_:1}))]),_:1})):(s(),_(`div`,zt,M(E(t)(`browse.selectFile`)),1))}}),Ut=y({__name:`FileExplorer`,setup(e){let n=Be(),r=Se(),{browseMode:i}=q(n);b(()=>{n.refresh(),r.refresh()});let o=Q([`files:changed`],()=>void n.refreshFromServerEvent());t(()=>o.close());let c=Q([`review:created`,`review:updated`,`review:deleted`,`comment:created`,`comment:updated`,`comment:deleted`],()=>void r.refresh());return t(()=>c.close()),(e,t)=>(s(),x(Ge,null,{panel:a(()=>[S(wt)]),content:a(()=>[E(i)?(s(),x(Ht,{key:0})):(s(),x(Rt,{key:1}))]),_:1}))}}),Wt=y({__name:`IndexPage`,setup(e){return(e,t)=>(s(),x(be,null,{default:a(()=>[S(Ut)]),_:1}))}});export{Wt as default};
@@ -1 +0,0 @@
1
- .repo-info[data-v-a2aececf]{line-height:1}
@@ -1 +0,0 @@
1
- import{$ as e,A as t,C as n,E as r,H as i,I as a,M as o,N as s,U as c,V as l,X as u,Z as d,_t as f,b as p,c as m,d as h,g as ee,h as g,k as te,l as _,m as v,p as y,r as b,rt as x,s as S,u as C,v as w,yt as T,z as E}from"./runtime-core.esm-bundler-Wxr8ezGp.js";import{C as D,D as ne,S as re,c as O,f as k,h as ie,k as ae,m as A,o as j,t as M,w as N}from"./QBtn-Cf6WtiKt.js";import{d as P}from"./event-BQt_DXaR.js";import{r as oe}from"./Platform-CEDL_PgC.js";import{A as se,D as ce,E as le,J as F,K as ue,N as I,O as de,Q as fe,Z as pe,_ as me,k as L,q as R,v as z}from"./index-DphTOTJs.js";import{n as B}from"./vue-i18n.runtime-DSeWNwrW.js";import{r as V}from"./pinia-DK4OjQ7o.js";import{n as H,t as he}from"./app-info-store-BpeVVjNB.js";import{n as U}from"./use-app-theme-CsAmLZfp.js";import{_ as W,a as G,g as ge,h as K,i as _e,o as q,r as ve,t as J}from"./format-BWCY39oA.js";import{n as ye,t as be}from"./QTooltip-IUM54Nhj.js";var xe=P({name:`QPageContainer`,setup(e,{slots:t}){let n=re(),r=p(ne,N);if(r===N)return console.error(`QPageContainer needs to be child of QLayout`),N;s(ae,!0);let i=S(()=>{let e={};return r.header.space&&(e.paddingTop=`${r.header.size}px`),r.right.space&&(e[`padding${n.lang.rtl?`Left`:`Right`}`]=`${r.right.size}px`),r.footer.space&&(e.paddingBottom=`${r.footer.size}px`),r.left.space&&(e[`padding${n.lang.rtl?`Right`:`Left`}`]=`${r.left.size}px`),e});return()=>w(`div`,{class:`q-page-container`,style:i.value},A(t.default))}}),Se=/^(h|l)h(h|r) lpr (f|l)f(f|r)$/,Ce=P({name:`QLayout`,props:{container:Boolean,view:{type:String,default:`hhh lpr fff`,validator:e=>Se.test(e.toLowerCase())},onScroll:Function,onScrollHeight:Function,onResize:Function},setup(n,{slots:r,emit:i}){let a=re(),o=e(null),c=d(a.screen.height),f=d(n.container?0:a.screen.width),p=d({position:0,direction:`down`,inflectionPoint:0}),m=d(0),h=d(oe.value?0:I()),ee=S(()=>`q-layout q-layout--`+(n.container?`containerized`:`standard`)),g=S(()=>n.container?null:{minHeight:a.screen.height+`px`}),te=S(()=>h.value===0?null:{[a.lang.rtl?`left`:`right`]:`${h.value}px`}),_=S(()=>h.value===0?null:{[a.lang.rtl?`right`:`left`]:0,[a.lang.rtl?`left`:`right`]:`-${h.value}px`,width:`calc(100% + ${h.value}px)`}),v=null;function y(e){let t={position:e.position.top,direction:e.direction,directionChanged:e.directionChanged,inflectionPoint:e.inflectionPoint.top,delta:e.delta.top};n.container||!document.qScrollPrevented?(v=null,b(t)):v=t}function b(e){p.value=e,n.onScroll!==void 0&&i(`scroll`,e)}function x(e){let{height:t,width:r}=e,a=!1;c.value!==t&&(a=!0,c.value=t,n.onScrollHeight!==void 0&&i(`scrollHeight`,t),T()),f.value!==r&&(a=!0,f.value=r),a&&n.onResize!==void 0&&i(`resize`,e)}function C({height:e}){m.value!==e&&(m.value=e,T())}function T(){if(n.container){let e=c.value>m.value?I():0;h.value!==e&&(h.value=e)}}let E=null,D={instances:{},view:S(()=>n.view),isContainer:S(()=>n.container),rootRef:o,height:c,containerHeight:m,scrollbarWidth:h,totalWidth:S(()=>n.container?f.value+h.value:a.screen.width),rows:S(()=>{let e=n.view.toLowerCase().split(` `);return{top:[...e[0]],middle:[...e[1]],bottom:[...e[2]]}}),header:u({size:0,offset:0,space:!1}),right:u({size:300,offset:0,space:!1}),footer:u({size:0,offset:0,space:!1}),left:u({size:300,offset:0,space:!1}),scroll:p,animate(){E===null?document.body.classList.add(`q-body--layout-animate`):clearTimeout(E),E=setTimeout(()=>{E=null,document.body.classList.remove(`q-body--layout-animate`)},155)},update(e,t,n){D[e][t]=n}};s(ne,D);{let e=()=>{if(v!==null){let e=v;v=null,b(e)}};L(e),t(()=>{se(e)})}if(I()>0){let e=null,r=document.documentElement,i=()=>{e=null,r.classList.remove(`hide-scrollbar`)},o=()=>{if(e===null){if(r.scrollHeight>a.screen.height)return;r.classList.add(`hide-scrollbar`)}else clearTimeout(e);e=setTimeout(i,300)},s=t=>{e!==null&&t===`remove`&&(clearTimeout(e),i()),window[`${t}EventListener`](`resize`,o)};l(()=>n.container?`remove`:`add`,s),n.container||s(`add`),t(()=>{s(`remove`)})}return()=>{let e=k(r.default,[w(W,{onScroll:y}),w(ge,{onResize:x})]),t=w(`div`,{class:ee.value,style:g.value,ref:n.container?void 0:o,tabindex:-1},e);return n.container?w(`div`,{class:`q-layout-container overflow-hidden`,ref:o},[w(ge,{onResize:C}),w(`div`,{class:`absolute-full`,style:te.value},[w(`div`,{class:`scroll`,style:_.value},[t])])]):t}}}),we=P({name:`QToolbarTitle`,props:{shrink:Boolean},setup(e,{slots:t}){return()=>w(`div`,{class:`q-toolbar__title ellipsis`+(e.shrink?` col-shrink`:``)},A(t.default))}}),Y=P({name:`QToolbar`,props:{inset:Boolean},setup(e,{slots:t}){let n=S(()=>`q-toolbar row no-wrap items-center`+(e.inset?` q-toolbar--inset`:``));return()=>w(`div`,{class:n.value,role:`toolbar`},A(t.default))}});function X(e,t){e.value!==t&&(e.value=t)}var Z=P({name:`QHeader`,props:{modelValue:{type:Boolean,default:!0},reveal:Boolean,revealOffset:{type:Number,default:250},bordered:Boolean,elevated:Boolean,heightHint:{type:[String,Number],default:50}},emits:[`reveal`,`focusin`],setup(e,{slots:t,emit:n}){let i=re(),a=p(ne,N);if(a===N)return console.error(`QHeader needs to be child of QLayout`),N;let o=d(Number.parseInt(e.heightHint,10)),s=d(!0),c=S(()=>e.reveal||a.view.value.includes(`H`)||i.platform.is.ios&&a.isContainer.value),u=S(()=>{if(!e.modelValue)return 0;if(c.value)return s.value?o.value:0;let t=o.value-a.scroll.value.position;return Math.max(t,0)}),f=S(()=>!e.modelValue||c.value&&!s.value),m=S(()=>e.modelValue&&f.value&&e.reveal),h=S(()=>`q-header q-layout__section--marginal `+(c.value?`fixed`:`absolute`)+`-top`+(e.bordered?` q-header--bordered`:``)+(f.value?` q-header--hidden`:``)+(e.modelValue?``:` q-layout--prevent-focus`)),ee=S(()=>{let e=a.rows.value.top,t={};return e[0]===`l`&&a.left.space&&(t[i.lang.rtl?`right`:`left`]=`${a.left.size}px`),e[2]===`r`&&a.right.space&&(t[i.lang.rtl?`left`:`right`]=`${a.right.size}px`),t});function g(e,t){a.update(`header`,e,t)}function te({height:e}){X(o,e),g(`size`,e)}function _(e){m.value&&X(s,!0),n(`focusin`,e)}l(()=>e.modelValue,e=>{g(`space`,e),X(s,!0),a.animate()}),l(u,e=>{g(`offset`,e)}),l(()=>e.reveal,t=>{t||X(s,e.modelValue)}),l(s,e=>{a.animate(),n(`reveal`,e)}),l(a.scroll,t=>{e.reveal&&X(s,t.direction===`up`||t.position<=e.revealOffset||t.position-t.inflectionPoint<100)});let v={};return a.instances.header=v,e.modelValue&&g(`size`,o.value),g(`space`,e.modelValue),g(`offset`,u.value),r(()=>{a.instances.header===v&&(a.instances.header=void 0,g(`size`,0),g(`offset`,0),g(`space`,!1))}),()=>{let n=ie(t.default,[]);return e.elevated&&n.push(w(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),n.push(w(ge,{debounce:0,onResize:te})),w(`header`,{class:h.value,style:ee.value,onFocusin:_},n)}}}),Te={class:`text-weight-medium`},Ee={class:`row items-center gt-sm`},De=D(g({__name:`MainHeader`,emits:[`toggle-drawer`],setup(e,{emit:t}){let n=t,{t:r}=B(),{info:a}=V(H()),{version:s}=V(he()),{isDark:l,toggleTheme:u}=U();return(e,t)=>(o(),_(Z,{class:f(x(l)?`bg-dark text-white`:`bg-white text-dark`),bordered:``},{default:i(()=>[v(Y,null,{default:i(()=>[c(v(M,{flat:``,dense:``,round:``,icon:`menu`,"aria-label":x(r)(`nav.menu`),class:`q-mr-sm`,onClick:t[0]||=e=>n(`toggle-drawer`)},null,8,[`aria-label`]),[[j]]),v(we,{shrink:``,class:`text-weight-bold gt-xs`},{default:i(()=>[y(T(x(r)(`app.title`)),1)]),_:1}),x(s)?(o(),_(K,{key:0,outline:``,rounded:``,class:`text-primary q-ml-xs`},{default:i(()=>[y(` v`+T(x(s)),1)]),_:1})):C(``,!0),x(a)?(o(),h(`div`,{key:1,class:f([`row items-center q-gutter-x-sm text-body2 q-ml-md gt-sm repo-info`,x(l)?`text-grey-5`:`text-grey-7`])},[m(`span`,Te,T(x(a).name),1),x(a).branch?(o(),h(b,{key:0},[t[1]||=m(`span`,null,`/`,-1),v(K,{outline:``,class:`text-body2 text-primary`,rounded:``},{default:i(()=>[y(T(x(a).branch),1)]),_:1})],64)):C(``,!0)],2)):C(``,!0),v(ye),m(`div`,Ee,[v(M,{to:{path:`/`},flat:``,"no-caps":``,label:x(r)(`nav.changes`)},null,8,[`label`]),v(M,{to:{path:`/reviews`},flat:``,"no-caps":``,label:x(r)(`nav.reviews`)},null,8,[`label`])]),c((o(),_(M,{flat:``,round:``,dense:``,size:`sm`,icon:x(l)?`light_mode`:`dark_mode`,"aria-label":x(l)?x(r)(`theme.switchToLight`):x(r)(`theme.switchToDark`),class:`q-ml-xs gt-xs`,onClick:x(u)},{default:i(()=>[v(be,null,{default:i(()=>[y(T(x(l)?x(r)(`theme.switchToLight`):x(r)(`theme.switchToDark`)),1)]),_:1})]),_:1},8,[`icon`,`aria-label`,`onClick`])),[[j]])]),_:1})]),_:1},8,[`class`]))}}),[[`__scopeId`,`data-v-a2aececf`]]),Oe=150;function ke(e,t){e.value!==t&&(e.value=t)}var Ae=P({name:`QDrawer`,inheritAttrs:!1,props:{...F,...z,side:{type:String,default:`left`,validator:e=>[`left`,`right`].includes(e)},width:{type:Number,default:300},mini:Boolean,miniToOverlay:Boolean,miniWidth:{type:Number,default:57},noMiniAnimation:Boolean,breakpoint:{type:Number,default:1023},showIfAbove:Boolean,behavior:{type:String,validator:e=>[`default`,`desktop`,`mobile`].includes(e),default:`default`},bordered:Boolean,elevated:Boolean,overlay:Boolean,persistent:Boolean,noSwipeOpen:Boolean,noSwipeClose:Boolean,noSwipeBackdrop:Boolean},emits:[...R,`onLayout`,`miniState`,`escapeKey`],setup(e,{slots:t,emit:i,attrs:a}){let o=ee(),s=re(),u=me(e,s),{preventBodyScroll:f}=de(),{registerTimeout:m,removeTimeout:h}=pe(),g=p(ne,N);if(g===N)return console.error(`QDrawer needs to be child of QLayout`),N;let _,v=null,y,b=d(e.behavior===`mobile`||e.behavior!==`desktop`&&g.totalWidth.value<=e.breakpoint),x=S(()=>e.mini&&!b.value),C=S(()=>x.value?e.miniWidth:e.width),T=S(()=>e.overlay||e.miniToOverlay||g.view.value.includes(R.value?`R`:`L`)||s.platform.is.ios&&g.isContainer.value),E=d(e.showIfAbove&&!b.value||e.modelValue===!0),D=S(()=>!e.overlay&&E.value&&!b.value),O=S(()=>e.overlay&&E.value&&!b.value),k=S(()=>!e.persistent&&(b.value||O.value));function ie(e,t){if(P(),e!==!1&&g.animate(),X(0),b.value){let e=g.instances[U.value];e?.belowBreakpoint.value&&e.hide(!1),Z(1),g.isContainer.value||f(!0)}else Z(0),e!==!1&&Te(!1);m(()=>{e!==!1&&Te(!0),t||i(`show`,e)},Oe)}function ae(e,t){oe(),e!==!1&&g.animate(),Z(0),X(z.value*C.value),je(),t?h():m(()=>{i(`hide`,e)},Oe)}let{show:j,hide:M}=ue({showing:E,hideOnRouteChange:k,handleShow:ie,handleHide:ae}),{addToHistory:P,removeFromHistory:oe}=fe(E,M,k),se=S(()=>E.value&&k.value);function F(e){i(`escapeKey`),M(e)}function I(e){e?le(F):ce(F)}let L={belowBreakpoint:b,hide:M},R=S(()=>e.side===`right`),z=S(()=>(s.lang.rtl?-1:1)*(R.value?1:-1)),B=d(0),V=d(!1),H=d(!1),he=d(C.value*z.value),U=S(()=>R.value?`left`:`right`),W=S(()=>E.value&&!b.value&&!e.overlay?e.miniToOverlay?e.miniWidth:C.value:0),G=S(()=>`fullscreen q-drawer__backdrop`+(!E.value&&!V.value?` hidden`:``)),ge=S(()=>({backgroundColor:`rgba(0,0,0,${B.value*.4})`})),K=S(()=>R.value?g.rows.value.top[2]===`r`:g.rows.value.top[0]===`l`),_e=S(()=>R.value?g.rows.value.bottom[2]===`r`:g.rows.value.bottom[0]===`l`),q=S(()=>{let e={};return g.header.space&&!K.value&&(T.value?e.top=`${g.header.offset}px`:g.header.space&&(e.top=`${g.header.size}px`)),g.footer.space&&!_e.value&&(T.value?e.bottom=`${g.footer.offset}px`:g.footer.space&&(e.bottom=`${g.footer.size}px`)),e}),ye=S(()=>{let e={width:`${C.value}px`,transform:`translateX(${he.value}px)`};return b.value?e:Object.assign(e,q.value)}),be=S(()=>`q-drawer__content fit `+(g.isContainer.value?`overflow-auto`:`scroll`)),xe=S(()=>`q-drawer q-drawer--${e.side}`+(H.value?` q-drawer--mini-animate`:``)+(e.bordered?` q-drawer--bordered`:``)+(u()?` q-drawer--dark q-dark`:``)+(V.value?` no-transition`:E.value?``:` q-layout--prevent-focus`)+(b.value?` fixed q-drawer--on-top q-drawer--mobile q-drawer--top-padding`:` q-drawer--${x.value?`mini`:`standard`}`+(T.value||!D.value?` fixed`:``)+(e.overlay||e.miniToOverlay?` q-drawer--on-top`:``)+(K.value?` q-drawer--top-padding`:``))),Se=S(()=>{let t=s.lang.rtl?e.side:U.value;return[[ve,De,void 0,{[t]:!0,mouse:!0}]]}),Ce=S(()=>{let t=s.lang.rtl?U.value:e.side;return[[ve,b.value&&!e.noSwipeClose?Ae:void 0,void 0,{[t]:!0,mouse:!0}]]}),we=S(()=>{let t=s.lang.rtl?U.value:e.side;return[[ve,E.value&&!e.noSwipeBackdrop?Ae:void 0,void 0,{[t]:!0,mouse:!0,mouseAllDir:!0}]]});function Y(){ke(b,e.behavior===`mobile`||e.behavior!==`desktop`&&g.totalWidth.value<=e.breakpoint)}l(b,t=>{t?(_=E.value,E.value&&M(!1)):E.value?(X(0),Z(0),je()):!e.overlay&&e.behavior!==`mobile`&&_!==!1&&j(!1)}),l(()=>e.side,(e,t)=>{g.instances[t]===L&&(g.instances[t]=void 0,g[t].space=!1,g[t].offset=0),g.instances[e]=L,g[e].size=C.value,g[e].space=D.value,g[e].offset=W.value}),l(g.totalWidth,()=>{(g.isContainer.value||!document.qScrollPrevented)&&Y()}),l(()=>e.behavior+e.breakpoint,Y),l(g.isContainer,e=>{E.value&&f(!e),e&&Y()}),l(g.scrollbarWidth,()=>{X(E.value?0:void 0)}),l(W,e=>{Q(`offset`,e)}),l(D,e=>{i(`onLayout`,e),Q(`space`,e)}),l(R,()=>{X()}),l(C,t=>{X(),$(e.miniToOverlay,t)}),l(()=>e.miniToOverlay,e=>{$(e,C.value)}),l(()=>s.lang.rtl,()=>{X()}),l(()=>e.mini,()=>{e.noMiniAnimation||e.modelValue&&(Ee(),g.animate())}),l(x,e=>{i(`miniState`,e)});function X(e){e===void 0?n(()=>{e=E.value?0:C.value,X(z.value*e)}):(g.isContainer.value&&R.value&&(b.value||Math.abs(e)===C.value)&&(e+=z.value*g.scrollbarWidth.value),he.value=e)}function Z(e){B.value=e}function Te(e){let t=e?`remove`:g.isContainer.value?``:`add`;t!==``&&document.body.classList[t](`q-body--drawer-toggle`)}function Ee(){v!==null&&clearTimeout(v),o.proxy&&o.proxy.$el&&o.proxy.$el.classList.add(`q-drawer--mini-animate`),H.value=!0,v=setTimeout(()=>{v=null,H.value=!1,o?.proxy?.$el?.classList.remove(`q-drawer--mini-animate`)},150)}function De(e){if(E.value)return;let t=C.value,n=J(e.distance.x,0,t);if(e.isFinal){n>=Math.min(75,t)?j():(g.animate(),Z(0),X(z.value*t)),V.value=!1;return}X((s.lang.rtl?!R.value:R.value)?Math.max(t-n,0):Math.min(0,n-t)),Z(J(n/t,0,1)),e.isFirst&&(V.value=!0)}function Ae(t){if(!E.value)return;let n=C.value,r=t.direction===e.side,i=(s.lang.rtl?!r:r)?J(t.distance.x,0,n):0;if(t.isFinal){Math.abs(i)<Math.min(75,n)?(g.animate(),Z(1),X(0)):M(),V.value=!1;return}X(z.value*i),Z(J(1-i/n,0,1)),t.isFirst&&(V.value=!0)}function je(){f(!1),Te(!0)}function Q(t,n){g.update(e.side,t,n)}function $(t,n){Q(`size`,t?e.miniWidth:n)}return g.instances[e.side]=L,$(e.miniToOverlay,C.value),Q(`space`,D.value),Q(`offset`,W.value),e.showIfAbove&&!e.modelValue&&E.value&&e[`onUpdate:modelValue`]!==void 0&&i(`update:modelValue`,!0),te(()=>{i(`onLayout`,D.value),i(`miniState`,x.value),l(se,I,{immediate:!0}),_=e.showIfAbove;let t=()=>{(E.value?ie:ae)(!1,!0)};if(g.totalWidth.value!==0){n(t);return}y=l(g.totalWidth,()=>{y(),y=void 0,!E.value&&e.showIfAbove&&!b.value?j(!1):t()})}),r(()=>{y?.(),ce(F),v!==null&&(clearTimeout(v),v=null),E.value&&je(),g.instances[e.side]===L&&(g.instances[e.side]=void 0,Q(`size`,0),Q(`offset`,0),Q(`space`,!1))}),()=>{let n=[];b.value&&(e.noSwipeOpen||n.push(c(w(`div`,{key:`open`,class:`q-drawer__opener fixed-${e.side}`,"aria-hidden":`true`}),Se.value)),n.push(c(w(`div`,{ref:`backdrop`,class:G.value,style:ge.value,"aria-hidden":`true`,onClick:M}),we.value)));let r={},i={};for(let e in a)e===`role`||e.startsWith(`aria-`)?r[e]=a[e]:i[e]=a[e];let o=x.value&&t.mini!==void 0,s=[w(`div`,{...i,key:String(o),class:[be.value,a.class]},o?t.mini():A(t.default))];return e.elevated&&E.value&&s.push(w(`div`,{class:`q-layout__shadow absolute-full overflow-hidden no-pointer-events`})),n.push(c(w(`aside`,{ref:`content`,class:xe.value,style:ye.value,...r},s),Ce.value)),w(`div`,{class:`q-drawer-container`},n)}}}),je={class:`fit column no-wrap`},Q=g({__name:`MainMenu`,props:{modelValue:{type:[Boolean,null],required:!0},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=E(e,`modelValue`),{t:n}=B(),{isDark:r,toggleTheme:a}=U();return(e,s)=>(o(),_(Ae,{modelValue:t.value,"onUpdate:modelValue":s[0]||=e=>t.value=e,"show-if-above":``,bordered:``,width:220,dark:x(r)},{default:i(()=>[m(`div`,je,[v(_e,{class:`col scroll`},{default:i(()=>[c((o(),_(G,{clickable:``,to:{path:`/`}},{default:i(()=>[v(q,{avatar:``},{default:i(()=>[v(O,{name:`compare_arrows`})]),_:1}),v(q,null,{default:i(()=>[y(T(x(n)(`nav.changes`)),1)]),_:1})]),_:1})),[[j]]),c((o(),_(G,{clickable:``,to:{path:`/reviews`}},{default:i(()=>[v(q,{avatar:``},{default:i(()=>[v(O,{name:`rate_review`})]),_:1}),v(q,null,{default:i(()=>[y(T(x(n)(`nav.reviews`)),1)]),_:1})]),_:1})),[[j]])]),_:1}),v(_e,{bordered:``,dark:x(r)},{default:i(()=>[c((o(),_(G,{clickable:``,onClick:x(a)},{default:i(()=>[v(q,{avatar:``},{default:i(()=>[v(O,{name:x(r)?`light_mode`:`dark_mode`},null,8,[`name`])]),_:1}),v(q,null,{default:i(()=>[y(T(x(r)?x(n)(`theme.switchToLight`):x(n)(`theme.switchToDark`)),1)]),_:1})]),_:1},8,[`onClick`])),[[j]])]),_:1},8,[`dark`])])]),_:1},8,[`modelValue`,`dark`]))}}),$=g({__name:`MainLayout`,setup(e){let t=d(!1);function n(){t.value=!t.value}return(e,r)=>{let s=a(`router-view`);return o(),_(Ce,{view:`hHh lpr fFf`},{default:i(()=>[v(De,{onToggleDrawer:n}),v(Q,{modelValue:t.value,"onUpdate:modelValue":r[0]||=e=>t.value=e},null,8,[`modelValue`]),v(xe,null,{default:i(()=>[v(s)]),_:1})]),_:1})}}});export{$ as default};
@@ -1 +0,0 @@
1
- import{X as e,Z as t}from"./runtime-core.esm-bundler-Wxr8ezGp.js";import{m as n}from"./event-BQt_DXaR.js";var r=t(!1),i,a=512;function o(e){return typeof e==`string`?e.slice(0,a).toLowerCase():``}var s=/(?:^|\s)version\/([\w.]+)/,c=/(?:^|\s)applewebkit\/[\w.]+/,l=/(?:^|\s)safari\/[\w.]+/;function u(e){let t=s.exec(e);return t!==null&&c.test(e)&&l.test(e)?{browser:`safari`,version:t[1]}:null}var d=/(edg|edga|edgios)\/([\w.]+)/,f=/(opr)[\/]([\w.]+)/,p=/(vivaldi)[\/]([\w.]+)/,m=/(chrome|crios)[\/]([\w.]+)/,h=/(firefox|fxios)[\/]([\w.]+)/,g=/(webkit)[\/]([\w.]+)/;function _(e,t){let n=d.exec(e)||f.exec(e)||p.exec(e)||m.exec(e);if(n===null){let r=u(e);if(r!==null)return{...r,platform:t[0]||``};n=h.exec(e)||g.exec(e)||[]}return{browser:n[5]||n[3]||n[1]||``,version:n[4]||n[2]||`0`,platform:t[0]||``}}var v=/(ipad)/,y=/(ipod)/,b=/(iphone)/,x=/(android)/,S=/(win)/,C=/(mac)/,w=/(linux)/,T=/(cros)/;function E(e){return v.exec(e)||y.exec(e)||b.exec(e)||x.exec(e)||S.exec(e)||C.exec(e)||w.exec(e)||T.exec(e)||[]}var D=`ontouchstart`in window||window.navigator.maxTouchPoints>0;function O(e){let t=o(e),n=_(t,E(t)),a={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,webkit:!1,android:!1,ios:!1,ipad:!1,iphone:!1,ipod:!1};n.browser&&(a[n.browser]=!0,a.version=n.version,a.versionNumber=Number.parseInt(n.version,10)),n.platform&&(a[n.platform]=!0);let s=a.android||a.ios||a.ipad||a.iphone||a.ipod;if(s===!0||t.includes(`mobile`)?a.mobile=!0:a.desktop=!0,a.edga||a.edgios||a.edg?(a.edge=!0,n.browser=`edge`):a.crios?(a.chrome=!0,n.browser=`chrome`):a.fxios&&(a.firefox=!0,n.browser=`firefox`),(a.ipod||a.ipad||a.iphone)&&(a.ios=!0),a.vivaldi&&=(n.browser=`vivaldi`,!0),(a.chrome||a.opr||a.safari||a.vivaldi||a.mobile&&!a.ios&&!s)&&(a.webkit=!0),a.opr&&(n.browser=`opera`,a.opera=!0),a.name=n.browser,a.platform=n.platform,t.includes(`electron`))a.electron=!0;else if(document.location.href.includes(`-extension://`))a.bex=!0;else{if(window.Capacitor===void 0?(window._cordovaNative!==void 0||window.cordova!==void 0)&&(a.cordova=!0,a.nativeMobile=!0,a.nativeMobileWrapper=`cordova`):(a.capacitor=!0,a.nativeMobile=!0,a.nativeMobileWrapper=`capacitor`),r.value&&(i={is:{...a}}),D&&a.mac&&(a.desktop&&a.safari||a.nativeMobile&&!a.android&&!a.ios&&!a.ipad)){delete a.mac,delete a.desktop;let e=Math.min(window.innerHeight,window.innerWidth)>414?`ipad`:`iphone`;Object.assign(a,{mobile:!0,ios:!0,platform:e,[e]:!0})}!a.mobile&&window.navigator.userAgentData&&window.navigator.userAgentData.mobile&&(delete a.desktop,a.mobile=!0)}return a}var k=navigator.userAgent,A={has:{touch:!1,webStorage:!1},within:{iframe:!1}},j={userAgent:k,is:O(k),has:{touch:D},within:{iframe:window.self!==window.top}},M={install(t){let{$q:n}=t;r.value?(t.onSSRHydrated.push(()=>{Object.assign(n.platform,j),r.value=!1}),n.platform=e(this)):n.platform=this}};{let e;n(j.has,`webStorage`,()=>{if(e!==void 0)return e;try{if(window.localStorage)return e=!0,!0}catch{}return e=!1,!1}),Object.assign(M,j),r.value&&(Object.assign(M,i,A),i=null)}export{j as n,r,M as t};
@@ -1 +0,0 @@
1
- import{$ as e,B as t,E as n,L as r,R as i,U as a,_ as o,at as s,b as c,bt as l,ct as u,dt as d,et as f,f as p,ft as m,g as h,gt as g,ht as _,it as v,j as y,lt as b,m as x,mt as S,n as C,o as w,ot as T,pt as E,r as D,rt as O,s as k,st as A,t as ee,ut as te,v as j}from"./runtime-core.esm-bundler-Wxr8ezGp.js";import{d as M,f as N,i as P,l as ne,o as re,s as ie,u as F}from"./event-BQt_DXaR.js";var ae=void 0,oe=typeof window<`u`&&window.trustedTypes;if(oe)try{ae=oe.createPolicy(`vue`,{createHTML:e=>e})}catch{}var se=ae?e=>ae.createHTML(e):e=>e,ce=`http://www.w3.org/2000/svg`,le=`http://www.w3.org/1998/Math/MathML`,I=typeof document<`u`?document:null,ue=I&&I.createElement(`template`),de={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?I.createElementNS(ce,e):t===`mathml`?I.createElementNS(le,e):n?I.createElement(e,{is:n}):I.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>I.createTextNode(e),createComment:e=>I.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>I.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),i!==a&&(i=i.nextSibling););else{ue.innerHTML=se(r===`svg`?`<svg>${e}</svg>`:r===`mathml`?`<math>${e}</math>`:e);let i=ue.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},L=`transition`,R=`animation`,z=Symbol(`_vtc`),fe={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},pe=T({},C,fe),me=(e=>(e.displayName=`Transition`,e.props=pe,e))((e,{slots:t})=>j(ee,ge(e),t)),B=(e,t=[])=>{b(e)?e.forEach(e=>e(...t)):e&&e(...t)},he=e=>e?b(e)?e.some(e=>e.length>1):e.length>1:!1;function ge(e){let t={};for(let n in e)n in fe||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:c=a,appearActiveClass:l=o,appearToClass:u=s,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,m=_e(i),h=m&&m[0],g=m&&m[1],{onBeforeEnter:_,onEnter:v,onEnterCancelled:y,onLeave:b,onLeaveCancelled:x,onBeforeAppear:S=_,onAppear:C=v,onAppearCancelled:w=y}=t,E=(e,t,n,r)=>{e._enterCancelled=r,H(e,t?u:s),H(e,t?l:o),n&&n()},D=(e,t)=>{e._isLeaving=!1,H(e,d),H(e,p),H(e,f),t&&t()},O=e=>(t,n)=>{let i=e?C:v,o=()=>E(t,e,n);B(i,[t,o]),ye(()=>{H(t,e?c:a),V(t,e?u:s),he(i)||xe(t,r,h,o)})};return T(t,{onBeforeEnter(e){B(_,[e]),V(e,a),V(e,o)},onBeforeAppear(e){B(S,[e]),V(e,c),V(e,l)},onEnter:O(!1),onAppear:O(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>D(e,t);V(e,d),e._enterCancelled?(V(e,f),U(e)):(U(e),V(e,f)),ye(()=>{e._isLeaving&&(H(e,d),V(e,p),he(b)||xe(e,r,g,n))}),B(b,[e,n])},onEnterCancelled(e){E(e,!1,void 0,!0),B(y,[e])},onAppearCancelled(e){E(e,!0,void 0,!0),B(w,[e])},onLeaveCancelled(e){D(e),B(x,[e])}})}function _e(e){if(e==null)return null;if(m(e))return[ve(e.enter),ve(e.leave)];{let t=ve(e);return[t,t]}}function ve(e){return l(e)}function V(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[z]||(e[z]=new Set)).add(t)}function H(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[z];n&&(n.delete(t),n.size||(e[z]=void 0))}function ye(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var be=0;function xe(e,t,n,r){let i=e._endId=++be,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=Se(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u<c&&d()},s+1),e.addEventListener(l,f)}function Se(e,t){let n=window.getComputedStyle(e),r=e=>(n[e]||``).split(`, `),i=r(`${L}Delay`),a=r(`${L}Duration`),o=Ce(i,a),s=r(`${R}Delay`),c=r(`${R}Duration`),l=Ce(s,c),u=null,d=0,f=0;t===L?o>0&&(u=L,d=o,f=a.length):t===R?l>0&&(u=R,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?L:R:null,f=u?u===L?a.length:c.length:0);let p=u===L&&/\b(?:transform|all)(?:,|$)/.test(r(`${L}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function Ce(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((t,n)=>we(t)+we(e[n])))}function we(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function U(e){return(e?e.ownerDocument:document).body.offsetHeight}function Te(e,t,n){let r=e[z];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var Ee=Symbol(`_vod`),De=Symbol(`_vsh`),Oe=Symbol(``),ke=/(?:^|;)\s*display\s*:/;function Ae(e,t,n){let r=e.style,i=_(n),a=!1;if(n&&!i){if(t){if(_(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??G(r,t,``)}else for(let e in t)n[e]??G(r,e,``)}for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?G(r,i,``):Pe(e,i,!_(t)&&t?t[i]:void 0,o)||G(r,i,o)}}else if(i){if(t!==n){let e=r[Oe];e&&(n+=`;`+e),r.cssText=n,a=ke.test(n)}}else t&&e.removeAttribute(`style`);Ee in e&&(e[Ee]=a?r.display:``,e[De]&&(r.display=`none`))}var W=/\s*!important$/;function G(e,t,n){if(b(n))n.forEach(n=>G(e,t,n));else if(n??=``,t.startsWith(`--`))W.test(n)?e.setProperty(t,n.replace(W,``),`important`):e.setProperty(t,n);else{let r=Ne(e,t);W.test(n)?e.setProperty(A(r),n.replace(W,``),`important`):e[r]=n}}var je=[`Webkit`,`Moz`,`ms`],Me={};function Ne(e,t){let n=Me[t];if(n)return n;let r=v(t);if(r!==`filter`&&r in e)return Me[t]=r;r=s(r);for(let n=0;n<je.length;n++){let i=je[n]+r;if(i in e)return Me[t]=i}return t}function Pe(e,t,n,r){return e.tagName===`TEXTAREA`&&(t===`width`||t===`height`)&&_(r)&&n===r}var Fe=`http://www.w3.org/1999/xlink`;function Ie(e,t,n,r,i,a=S(t)){r&&t.startsWith(`xlink:`)?n==null?e.removeAttributeNS(Fe,t.slice(6,t.length)):e.setAttributeNS(Fe,t,n):n==null||a&&!u(n)?e.removeAttribute(t):e.setAttribute(t,a?``:g(n)?String(n):n)}function Le(e,t,n,r,i){if(t===`innerHTML`||t===`textContent`){n!=null&&(e[t]=t===`innerHTML`?se(n):n);return}let a=e.tagName;if(t===`value`&&a!==`PROGRESS`&&!a.includes(`-`)){let r=a===`OPTION`?e.getAttribute(`value`)||``:e.value,i=n==null?e.type===`checkbox`?`on`:``:String(n);(r!==i||!(`_value`in e))&&(e.value=i),n??e.removeAttribute(t),e._value=n;return}let o=!1;if(n===``||n==null){let r=typeof e[t];r===`boolean`?n=u(n):n==null&&r===`string`?(n=``,o=!0):r===`number`&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(i||t)}function Re(e,t,n,r){e.addEventListener(t,n,r)}function ze(e,t,n,r){e.removeEventListener(t,n,r)}var Be=Symbol(`_vei`);function Ve(e,t,n,r,i=null){let a=e[Be]||(e[Be]={}),o=a[t];if(r&&o)o.value=r;else{let[n,s]=We(t);r?Re(e,n,a[t]=Je(r,i),s):o&&(ze(e,n,o,s),a[t]=void 0)}}var He=/(Once|Passive|Capture)$/,Ue=/^on:?(?:Once|Passive|Capture)$/;function We(e){let t,n;for(;(n=e.match(He))&&!Ue.test(e);)t||={},e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===`:`?e.slice(3):A(e.slice(2)),t]}var Ge=0,Ke=Promise.resolve(),qe=()=>Ge||=(Ke.then(()=>Ge=0),Date.now());function Je(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(b(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;n<i.length&&!e._stopped;n++){let e=i[n];e&&w(e,t,5,a)}}else w(r,t,5,[e])};return n.value=e,n.attached=qe(),n}var Ye=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Xe=(e,t,n,r,i,a)=>{let o=i===`svg`;t===`class`?Te(e,r,o):t===`style`?Ae(e,n,r):E(t)?d(t)||Ve(e,t,n,r,a):(t[0]===`.`?(t=t.slice(1),1):t[0]===`^`?(t=t.slice(1),0):Ze(e,t,r,o))?(Le(e,t,r),!e.tagName.includes(`-`)&&(t===`value`||t===`checked`||t===`selected`)&&Ie(e,t,r,o,a,t!==`value`)):e._isVueCE&&(Qe(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!_(r)))?Le(e,v(t),r,a,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),Ie(e,t,r,o))};function Ze(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&Ye(t)&&te(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return Ye(t)&&_(n)?!1:t in e}function Qe(e,t){let n=e._def.props;if(!n)return!1;let r=v(t);return Array.isArray(n)?n.some(e=>v(e)===r):Object.keys(n).some(e=>v(e)===r)}var $e=new WeakMap,et=new WeakMap,K=Symbol(`_moveCb`),tt=Symbol(`_enterCb`),nt=(e=>(delete e.props.mode,e))({name:`TransitionGroup`,props:T({},pe,{tag:String,moveClass:String}),setup(e,{slots:n}){let a=h(),s=t(),c,l;return y(()=>{if(!c.length)return;let t=e.moveClass||`${e.name||`v`}-move`;if(!st(c[0].el,a.vnode.el,t)){c=[];return}c.forEach(rt),c.forEach(it);let n=c.filter(at);U(a.vnode.el),n.forEach(e=>{let n=e.el,r=n.style;V(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[K]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[K]=null,H(n,t))};n.addEventListener(`transitionend`,i)}),c=[]}),()=>{let t=f(e),u=ge(t),d=t.tag||D;if(c=[],l)for(let e=0;e<l.length;e++){let t=l[e];t.el&&t.el instanceof Element&&!t.el[De]&&(c.push(t),i(t,r(t,u,s,a)),$e.set(t,ot(t.el)))}l=n.default?o(n.default()):[];for(let e=0;e<l.length;e++){let t=l[e];t.key!=null&&i(t,r(t,u,s,a))}return x(d,null,l)}}});function rt(e){let t=e.el;t[K]&&t[K](),t[tt]&&t[tt]()}function it(e){et.set(e,ot(e.el))}function at(e){let t=$e.get(e),n=et.get(e),r=t.left-n.left,i=t.top-n.top;if(r||i){let t=e.el,n=t.style,a=t.getBoundingClientRect(),o=1,s=1;return t.offsetWidth&&(o=a.width/t.offsetWidth),t.offsetHeight&&(s=a.height/t.offsetHeight),(!Number.isFinite(o)||o===0)&&(o=1),(!Number.isFinite(s)||s===0)&&(s=1),Math.abs(o-1)<.01&&(o=1),Math.abs(s-1)<.01&&(s=1),n.transform=n.webkitTransform=`translate(${r/o}px,${i/s}px)`,n.transitionDuration=`0s`,e}}function ot(e){let t=e.getBoundingClientRect();return{left:t.left,top:t.top}}function st(e,t,n){let r=e.cloneNode(),i=e[z];i&&i.forEach(e=>{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=Se(r);return a.removeChild(r),o}var ct=[`ctrl`,`shift`,`alt`,`meta`],lt={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>ct.some(n=>e[`${n}Key`]&&!t.includes(n))},ut=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e<t.length;e++){let r=lt[t[e]];if(r&&r(n,t))return}return e(n,...r)}))},dt={esc:`escape`,space:` `,up:`arrow-up`,left:`arrow-left`,right:`arrow-right`,down:`arrow-down`,delete:`backspace`},ft=(e,t)=>{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=A(n.key);if(t.some(e=>e===r||dt[e]===r))return e(n)}))},pt=T({patchProp:Xe},de),mt;function ht(){return mt||=p(pt)}var gt=((...e)=>{let t=ht().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=vt(e);if(!r)return;let i=t._component;!te(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,_t(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t});function _t(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function vt(e){return _(e)?document.querySelector(e):e}var yt=!1;function bt(e){yt=e.isComposing===!0}function xt(e){return yt||e!==Object(e)||e.isComposing||e.qKeyEvent}function q(e,t){return!xt(e)&&(Array.isArray(t)?t.includes(e.keyCode):t===e.keyCode)}var St=`_q_l_`,Ct=`_q_li_`,wt=`_q_pc_`,Tt=`_q_f_`,Et=`_q_fo_`,Dt=`_q_tabs_`;function Ot(){}var kt=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n};function At(){return h()?.appContext.config.globalProperties.$q??c(`_q_`)}function jt(e){if(Object(e.$parent)===e.$parent)return e.$parent;let{parent:t}=e.$;for(;Object(t)===t;){if(Object(t.proxy)===t.proxy)return t.proxy;t=t.parent}}function Mt(e){return e.appContext.config.globalProperties.$router!==void 0}function Nt(e){return e.isUnmounted===!0||e.isDeactivated===!0}function Pt(e,t){let n=e.style;for(let e in t)n[e]=t[e]}function Ft(e){if(e==null)return;if(typeof e==`string`)try{return document.querySelector(e)||void 0}catch{return}let t=O(e);if(t)return t.$el||t}function It(e,t){if(e==null||e.contains(t))return!0;for(let n=e.nextElementSibling;n!==null;n=n.nextElementSibling)if(n.contains(t))return!0;return!1}function Lt(e,t){return e===void 0?t:e()||t}function Rt(e,t){if(e!==void 0){let t=e();if(t!=null)return[...t]}return t}function J(e,t){return e===void 0?t:t.concat(e())}function zt(e,t){return e===void 0?t:t===void 0?e():t.concat(e())}var Bt={xs:18,sm:24,md:32,lg:38,xl:46},Vt={size:String};function Ht(e){let t=new Map;return n=>{if(n===void 0)return null;let r=t.get(n);return r===void 0&&(t.size>500&&t.clear(),r={fontSize:n in e?`${e[n]}px`:n},t.set(n,r)),r}}var Ut=Ht(Bt),Wt=`0 0 24 24`,Gt={"mdi-":`mdi `,"icon-":``,"fa-":``,"bt-":`bt `,"eva-":`eva `,"iconfont ":``,"ti-":`themify-icon `,"bi-":`bootstrap-icons `,"i-":``},Kt=Object.keys(Gt),qt={o_:`-outlined`,r_:`-round`,s_:`-sharp`},Jt={sym_o_:`-outlined`,sym_r_:`-rounded`,sym_s_:`-sharp`};function Yt(e){let t=e.codePointAt(0);if(t!==102&&t!==108||e.codePointAt(1)!==97)return!1;let n=e.codePointAt(2);return n===32||e.codePointAt(3)===32&&(n===115||n===114||n===108||n===98||n===100||n===107)}function Xt(e){return e===32||e>=9&&e<=13||e===160||e===5760||e>=8192&&e<=8202||e===8232||e===8233||e===8239||e===8287||e===12288||e===65279}function Zt(e){let t=e.codePointAt(0);if(t!==77&&t!==109)return!1;let n=1,r=e.codePointAt(n);return Xt(r)&&(r=e.codePointAt(++n)),(r===43||r===45)&&(r=e.codePointAt(++n)),r===46&&(r=e.codePointAt(++n)),r>=48&&r<=57}var Qt={cls:``},$t={"aria-hidden":`true`};function en(e,t){if(e.startsWith(`img:`))return{cls:``,img:!0,src:e.slice(4)};if(e.startsWith(`svguse:`)){let[t,n]=e.split(`|`);return{cls:``,svguse:!0,src:t.slice(7),viewBox:n||Wt}}if(e.startsWith(`ion-`))return{cls:` ionicons `+(e.startsWith(`ion-md`)||e.startsWith(`ion-ios`)||e.startsWith(`ion-logo`)?e:`ion-${t?`ios`:`md`}${e.slice(3)}`)};if(e.startsWith(`sym_`)){let t=Jt[e.slice(0,6)];if(t!==void 0)return{cls:` notranslate material-symbols`+t,content:e.slice(6),ligature:!0}}for(let t of Kt)if(e.startsWith(t))return{cls:` ${Gt[t]}${e}`};if(Yt(e))return{cls:` `+e};if(Zt(e)){let[t,n]=e.split(`|`);return{cls:``,svg:!0,viewBox:n||Wt,nodes:t.split(`&&`).map(e=>{let[t,n,r]=e.split(`@@`);return{d:t,style:n,transform:r}})}}let n=` notranslate material-icons`,r=qt[e.slice(0,2)];return r===void 0?{cls:n,content:e,ligature:!0}:{cls:n+r,content:e.slice(2),ligature:!0}}var tn=new Map,nn=new Map;function rn(e,t){let n=t?nn:tn,r=n.get(e);return r===void 0&&(n.size>1e3&&n.clear(),r=en(e,t),n.set(e,r)),r}var an=new WeakMap;function on(e,t,n){let r=an.get(e);r===void 0&&(r=new Map,an.set(e,r));let i=(n===!0?`ios;`:`md;`)+t,a=r.get(i);if(a===void 0){r.size>1e3&&r.clear();let o=e(t);if(o===void 0)a=rn(t,n);else if(o.icon!==void 0)a=o.icon===`none`||!o.icon?Qt:rn(o.icon,n);else{let{cls:e,content:t}=o;a={cls:e===void 0?``:` `+e,content:t,ligature:t!==void 0&&t.trim().length!==0}}r.set(i,a)}return a}var sn=M({name:`QIcon`,props:{...Vt,tag:{type:String,default:`i`},name:String,color:String,left:Boolean,right:Boolean},setup(e,{slots:t}){let n=At(),r=n.platform.is.ios,i=null,a=Qt,o=null;return()=>{let s=e.name;(s!==i||n.iconMapFn!==o)&&(i=s,o=n.iconMapFn,a=s===`none`||!s?Qt:o===null?rn(s,r):on(o,s,r));let c=a,l={"aria-hidden":`true`,class:`q-icon`+(e.left?` on-left`:``)+(e.right?` on-right`:``)+(e.color===void 0?``:` text-${e.color}`)+c.cls};return e.size!==void 0&&(l.style=Ut(e.size)),c.content===void 0?c.img?j(e.tag,l,J(t.default,[j(`img`,{src:c.src})])):c.svg?j(e.tag,l,J(t.default,[j(`svg`,{viewBox:c.viewBox},c.nodes.map(e=>j(`path`,e)))])):c.svguse?j(e.tag,l,J(t.default,[j(`svg`,{viewBox:c.viewBox},[j(`use`,{"xlink:href":c.src})])])):j(e.tag,l,Lt(t.default)):j(e.tag,l,J(t.default,[c.ligature?j(`span`,$t,c.content):c.content]))}}}),cn={size:{type:[String,Number],default:`1em`},color:String};function ln(e){return e in Bt?`${Bt[e]}px`:e}function un(e,t){return`q-spinner`+(t?` q-spinner-${t}`:``)+(e?` text-${e}`:``)}var dn=M({name:`QSpinner`,props:{...cn,thickness:{type:Number,default:5}},setup(e){return()=>{let t=ln(e.size);return j(`svg`,{class:un(e.color,`mat`),width:t,height:t,viewBox:`0 0 50 50`},[j(`circle`,{class:`path`,cx:`25`,cy:`25`,r:`20`,fill:`none`,stroke:`currentColor`,"stroke-width":e.thickness,"stroke-miterlimit":`10`})])}}}),fn=50,pn=100,mn=300,{passive:hn}=P,gn=[[],[[`click`,vn],[`keyup`,yn]],[[`pointerdown`,vn],[`pointercancel`,bn],[`pointerleave`,bn],[`keydown`,yn]]];function _n(e,t,n,r){n.stop&&ne(e);let i=n.color,a=n.center||r===!0,o=document.createElement(`span`),s=document.createElement(`span`),c=re(e),{left:l,top:u,width:d,height:f}=t.getBoundingClientRect(),p=Math.hypot(d,f),m=p/2,h=`${(d-p)/2}px`,g=a?h:`${c.left-l-m}px`,_=`${(f-p)/2}px`,v=a?_:`${c.top-u-m}px`;s.className=`q-ripple__inner`,Pt(s,{height:`${p}px`,width:`${p}px`,transform:`translate3d(${g},${v},0) scale3d(.2,.2,1)`,opacity:0}),o.className=`q-ripple${i?` text-`+i:``}`,o.setAttribute(`dir`,`ltr`),o.append(s),t.append(o);let y,b=0,x=()=>{o.remove();let e=n.ripples.indexOf(w);e!==-1&&n.ripples.splice(e,1)},S=()=>{b=2,s.classList.remove(`q-ripple__inner--enter`),s.classList.add(`q-ripple__inner--leave`),s.style.opacity=0,y=setTimeout(x,275)},C=()=>{b=1,s.classList.add(`q-ripple__inner--enter`),s.style.transform=`translate3d(${h},${_},0) scale3d(1,1,1)`,s.style.opacity=.2,y=setTimeout(S,250)},w={pointerId:e.type===`pointerdown`?e.pointerId:null,abort(){clearTimeout(y),o.remove()},cancel(){w.pointerId=null,b!==2&&(clearTimeout(y),b===0?x():S())}};n.ripples.push(w),y=setTimeout(C,e.type===`pointerdown`&&e.pointerType===`touch`?pn:fn)}function vn(e){if(!e.qSkipRipple){let t=e.currentTarget;_n(e,t,t.__qripple,e.qKeyEvent===!0)}}function yn(e){let t=e.currentTarget,n=t.__qripple;if(!e.qSkipRipple&&q(e,n.keyCodes)){let r=Date.now();r-n.keyTime>=mn&&(n.keyTime=r,_n(e,t,n,!0))}}function bn(e){if(e.type===`pointerleave`&&e.buttons===0)return;let{ripples:t}=e.currentTarget.__qripple;for(let n=t.length-1;n>=0;n--){let r=t[n];r.pointerId===e.pointerId&&r.cancel()}}function xn(e,t){return e!==t&&(e.early!==t.early||e.stop!==t.stop||e.center!==t.center)}function Sn(e,{modifiers:t,value:n,arg:r}){let i={...e.cfg,...t,...n},a=i.keyCodes||13;e.arg=r,e.modifiers=t,e.early=i.early===!0,e.stop=i.stop===!0,e.center=i.center===!0,e.color=i.color||r,e.keyCodes=Array.isArray(a)?a.flat():a}function Cn(e,t){let n=t.enabled?t.early?2:1:0;if(n!==t.bound){for(let[n,r]of gn[t.bound])e.removeEventListener(n,r,hn);for(let[t,r]of gn[n])e.addEventListener(t,r,hn);t.bound=n}}var wn=N({name:`ripple`,beforeMount(e,t){let n=t.instance.$.appContext.config.globalProperties.$q.config||{};if(n.ripple===!1)return;let r={cfg:n.ripple,enabled:t.value!==!1,arg:void 0,modifiers:void 0,early:!1,stop:!1,center:!1,color:void 0,keyCodes:13,keyTime:0,bound:0,ripples:[]};Sn(r,t),e.__qripple=r,Cn(e,r)},updated(e,t){let n=e.__qripple;if(n===void 0)return;let{value:r,oldValue:i,arg:a,modifiers:o}=t;n.enabled=r!==!1,n.enabled&&(r!==i||a!==n.arg||xn(o,n.modifiers))&&Sn(n,t),Cn(e,n)},beforeUnmount(e){let t=e.__qripple;t!==void 0&&(t.ripples.forEach(e=>{e.abort()}),t.enabled=!1,Cn(e,t),e.__qripple=void 0)}}),Tn={left:`start`,center:`center`,right:`end`,between:`between`,around:`around`,evenly:`evenly`,stretch:`stretch`},En=Object.keys(Tn),Dn={align:{type:String,validator:e=>En.includes(e)}};function On(e){return()=>{let t=e.align===void 0?e.vertical?`stretch`:`left`:e.align;return`${e.vertical?`items`:`justify`}-${Tn[t]}`}}function kn(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}function An(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function jn(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!Array.isArray(i)||i.length!==r.length||r.some((e,t)=>e!==i[t]))return!1}return!0}function Mn(e,t){return Array.isArray(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function Nn(e,t){return Array.isArray(e)?Mn(e,t):Array.isArray(t)?Mn(t,e):e===t}function Pn(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(!Nn(e[n],t[n]))return!1;return!0}var Fn={to:[String,Object],replace:Boolean,href:String,target:String,disable:Boolean},In={...Fn,exact:Boolean,activeClass:{type:String,default:`q-router-link--active`},exactActiveClass:{type:String,default:`q-router-link--exact-active`}},Ln={},Rn={value:!1},zn={value:null},Bn={value:``};function Vn({fallbackTag:e,useDisableForRouterLinkProps:t=!0}={}){let n=h(),{props:r,proxy:i,emit:a}=n,o=k(()=>!r.disable&&r.href!==void 0);if(!Mt(n))return{hasRouterLink:Rn,hasHrefLink:o,hasLink:o,linkTag:k(()=>r.type===`a`||o.value?`a`:r.tag||e||`div`),resolvedLink:zn,linkIsActive:Rn,linkIsExactActive:Rn,linkClass:Bn,linkAttrs:k(()=>o.value?{href:r.href,target:r.target}:Ln),getLink:()=>null,navigateToRouterLink(e){return e.preventDefault(),Promise.resolve(!1)},navigateOnClick(e){a(`click`,e)}};let s=k(t?()=>!r.disable&&!o.value&&r.to!==void 0&&r.to!==null&&r.to!==``:()=>!o.value&&r.to!==void 0&&r.to!==null&&r.to!==``),c=k(()=>s.value?v(r.to):null),l=k(()=>c.value!==null),u=k(()=>o.value||l.value),d=k(()=>r.type===`a`||u.value?`a`:r.tag||e||`div`),f=k(()=>o.value?{href:r.href,target:r.target}:l.value?{href:c.value.href,target:r.target}:Ln),p=k(()=>{if(!l.value)return-1;let{matched:e}=c.value,{length:t}=e,n=e[t-1];if(n===void 0)return-1;let r=i.$route.matched;if(r.length===0)return-1;let a=r.findIndex(An.bind(null,n));if(a!==-1)return a;let o=kn(e[t-2]);return t>1&&kn(n)===o&&r.at(-1).path!==o?r.findIndex(An.bind(null,e[t-2])):a}),m=k(()=>l.value&&p.value!==-1&&jn(i.$route.params,c.value.params)),g=k(()=>m.value&&p.value===i.$route.matched.length-1&&Pn(i.$route.params,c.value.params)),_=k(()=>l.value?g.value?` ${r.exactActiveClass} ${r.activeClass}`:r.exact?``:m.value?` ${r.activeClass}`:``:``);function v(e){try{return i.$router.resolve(e)}catch{}return null}function y(e,{returnRouterError:t,to:n=r.to,replace:a=r.replace}={}){if(r.disable)return e.preventDefault(),Promise.resolve(!1);if(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||e.button!==void 0&&e.button!==0||r.target===`_blank`)return Promise.resolve(!1);e.preventDefault();let o=i.$router[a?`replace`:`push`](n);return t?o:o.then(()=>{}).catch(()=>{})}function b(e){if(l.value){let t=t=>y(e,t);a(`click`,e,t),e.defaultPrevented||t()}else a(`click`,e)}return{hasRouterLink:l,hasHrefLink:o,hasLink:u,linkTag:d,resolvedLink:c,linkIsActive:m,linkIsExactActive:g,linkClass:_,linkAttrs:f,getLink:v,navigateToRouterLink:y,navigateOnClick:b}}var Hn={none:0,xs:4,sm:8,md:16,lg:24,xl:32},Un=Ht({xs:8,sm:10,md:14,lg:20,xl:24}),Wn=[`button`,`submit`,`reset`],Gn=/[^\s]\/[^\s]/,Kn=[`flat`,`outline`,`push`,`unelevated`];function qn(e,t){return e.flat?`flat`:e.outline?`outline`:e.push?`push`:e.unelevated?`unelevated`:t}var Jn={...Vt,...Fn,type:{type:String,default:`button`},label:[Number,String],icon:String,iconRight:String,...Kn.reduce((e,t)=>(e[t]=Boolean)&&e,{}),square:Boolean,rounded:Boolean,glossy:Boolean,size:String,fab:Boolean,fabMini:Boolean,padding:String,color:String,textColor:String,noCaps:Boolean,noWrap:Boolean,dense:Boolean,tabindex:[Number,String],ripple:{type:[Boolean,Object],default:!0},align:{...Dn.align,default:`center`},stack:Boolean,stretch:Boolean,loading:{type:Boolean,default:null},disable:Boolean,round:Boolean};function Yn(e){let t=On(e),{hasRouterLink:n,hasLink:r,linkTag:i,linkAttrs:a,navigateOnClick:o}=Vn({fallbackTag:`button`}),s=k(()=>{let t=e.fab||e.fabMini?{}:Un(e.size);return e.padding===void 0?t:{...t,padding:e.padding.split(/\s+/).map(e=>e in Hn?Hn[e]+`px`:e).join(` `),minWidth:`0`,minHeight:`0`}}),c=k(()=>e.rounded||e.fab||e.fabMini),l=k(()=>!e.disable&&!e.loading),u=k(()=>l.value?e.tabindex||0:-1),d=k(()=>qn(e,`standard`)),f=k(()=>{let t={tabindex:u.value};return r.value?Object.assign(t,a.value):Wn.includes(e.type)&&(t.type=e.type),i.value===`a`?(e.disable&&(t[`aria-disabled`]=`true`),t.href===void 0&&(t.role=`button`),!n.value&&Gn.test(e.type)&&(t.type=e.type)):e.disable&&(t.disabled=``,t[`aria-disabled`]=`true`),e.loading&&e.percentage!==void 0&&Object.assign(t,{role:`progressbar`,"aria-valuemin":0,"aria-valuemax":100,"aria-valuenow":e.percentage}),t});return{classes:k(()=>{let t;e.color===void 0?e.textColor&&(t=`text-${e.textColor}`):t=e.flat||e.outline?`text-${e.textColor||e.color}`:`bg-${e.color} text-${e.textColor||`white`}`;let n=e.round?`round`:`rectangle${c.value?` q-btn--rounded`:e.square?` q-btn--square`:``}`;return`q-btn--${d.value} q-btn--${n}`+(t===void 0?``:` `+t)+(l.value?` q-btn--actionable q-focusable q-hoverable`:e.disable?` disabled`:``)+(e.fab?` q-btn--fab`:e.fabMini?` q-btn--fab-mini`:``)+(e.noCaps?` q-btn--no-uppercase`:``)+(e.dense?` q-btn--dense`:``)+(e.stretch?` no-border-radius self-stretch`:``)+(e.glossy?` glossy`:``)+(e.square?` q-btn--square`:``)}),style:s,innerClasses:k(()=>t()+(e.stack?` column`:` row`)+(e.noWrap?` no-wrap text-no-wrap`:``)+(e.loading?` q-btn__content--hidden`:``)),attributes:f,hasLink:r,linkTag:i,navigateOnClick:o,isActionable:l}}var{passiveCapture:Y}=P,X=null,Z=null,Q=null;function $(e){F(e),e.qSkipRipple=!0}var Xn=M({name:`QBtn`,props:{...Jn,percentage:Number,darkPercentage:Boolean,onTouchstart:[Function,Array]},emits:[`click`,`keydown`,`mousedown`,`keyup`],setup(t,{slots:r,emit:i}){let{proxy:o}=h(),s=At(),{classes:c,style:l,innerClasses:u,attributes:d,hasLink:f,linkTag:p,navigateOnClick:m,isActionable:g}=Yn(t),_=e(null),v=e(null),y=null,b,x=null,S=null,C=k(()=>t.label!==void 0&&t.label!==null&&t.label!==``),w=k(()=>t.disable||t.ripple===!1?!1:{keyCodes:f.value?[13,32]:[13],...t.ripple===!0?{}:t.ripple}),T=k(()=>({center:t.round})),E=k(()=>{let e=Math.max(0,Math.min(100,t.percentage));return e>0?{transition:`transform 0.6s`,transform:`translateX(${e-100}%)`}:{}}),D=k(()=>{if(t.loading)return{onMousedown:$,onTouchstart:$,onClick:$,onKeydown:$,onKeyup:$};if(g.value){let e={onClick:A,onKeydown:ee,onMousedown:M};if(s.platform.has.touch){let n=t.onTouchstart===void 0?`Passive`:``;e[`onTouchstart${n}`]=te}return e}return{onClick:F}}),O=k(()=>({ref:_,class:`q-btn q-btn-item non-selectable no-outline `+c.value,style:l.value,...d.value,...D.value}));function A(e){if(_.value!==null){if(e!==void 0){if(e.defaultPrevented)return;let n=document.activeElement;if(t.type===`submit`&&n!==document.body&&!_.value.contains(n)&&!n.contains(_.value)){e.qAvoidFocus||_.value.focus();let t=()=>{S=null,document.removeEventListener(`keydown`,F,!0),document.removeEventListener(`keyup`,t,Y),_.value?.removeEventListener(`blur`,t,Y)};S=t,document.addEventListener(`keydown`,F,!0),document.addEventListener(`keyup`,t,Y),_.value.addEventListener(`blur`,t,Y)}}m(e)}}function ee(e){_.value!==null&&(i(`keydown`,e),q(e,[13,32])&&Z!==_.value&&(Z!==null&&P(),e.defaultPrevented||(e.qAvoidFocus||_.value.focus(),Z=_.value,_.value.classList.add(`q-btn--active`),document.addEventListener(`keyup`,N,!0),_.value.addEventListener(`blur`,N,Y)),F(e)))}function te(e){_.value!==null&&(i(`touchstart`,e),!e.defaultPrevented&&(X!==_.value&&(X!==null&&P(),X=_.value,y=e.target,y.addEventListener(`touchcancel`,N,Y),y.addEventListener(`touchend`,N,Y)),b=!0,x!==null&&clearTimeout(x),x=setTimeout(()=>{x=null,b=!1},200)))}function M(e){_.value!==null&&(e.qSkipRipple=b===!0,i(`mousedown`,e),!e.defaultPrevented&&Q!==_.value&&(Q!==null&&P(),Q=_.value,_.value.classList.add(`q-btn--active`),document.addEventListener(`mouseup`,N,Y)))}function N(e){if(_.value!==null){if(e?.type===`keyup`){if(Z===_.value&&q(e,[13,32])){let t=new MouseEvent(`click`,e);t.qKeyEvent=!0,e.defaultPrevented&&ie(t),e.cancelBubble&&ne(t),_.value.dispatchEvent(t),F(e),e.qKeyEvent=!0}i(`keyup`,e)}P()}}function P(e){S?.();let t=v.value;!e&&(X===_.value||Q===_.value)&&t!==null&&t!==document.activeElement&&(t.setAttribute(`tabindex`,-1),t.focus({preventScroll:!0})),X===_.value&&(y!==null&&(y.removeEventListener(`touchcancel`,N,Y),y.removeEventListener(`touchend`,N,Y)),X=y=null),Q===_.value&&(document.removeEventListener(`mouseup`,N,Y),Q=null),Z===_.value&&(document.removeEventListener(`keyup`,N,!0),_.value?.removeEventListener(`blur`,N,Y),Z=null),_.value?.classList.remove(`q-btn--active`)}return n(()=>{P(!0)}),Object.assign(o,{click:e=>{g.value&&A(e)}}),()=>{let e=[];t.icon!==void 0&&e.push(j(sn,{name:t.icon,left:!t.stack&&C.value,role:`img`})),C.value&&e.push(j(`span`,{class:`block`},[t.label])),e=J(r.default,e),t.iconRight!==void 0&&!t.round&&e.push(j(sn,{name:t.iconRight,right:!t.stack&&C.value,role:`img`}));let n=[j(`span`,{class:`q-focus-helper`,ref:v})];return t.loading&&t.percentage!==void 0&&n.push(j(`span`,{class:`q-btn__progress absolute-full overflow-hidden`+(t.darkPercentage?` q-btn__progress--dark`:``)},[j(`span`,{class:`q-btn__progress-indicator fit block`,style:E.value})])),n.push(j(`span`,{class:`q-btn__content text-center col items-center q-anchor--skip `+u.value},e)),t.loading!==null&&n.push(j(me,{name:`q-transition--fade`},()=>t.loading?[j(`span`,{key:`loading`,class:`absolute-full flex flex-center`},r.loading===void 0?[j(dn)]:r.loading())]:null)),a(j(p.value,O.value,n),[[wn,w.value,void 0,T.value]])}}});export{Dt as A,kt as C,St as D,Et as E,nt as F,gt as I,ft as L,bt as M,xt as N,Ct as O,me as P,ut as R,At as S,Tt as T,Pt as _,Dn as a,Mt as b,sn as c,Vt as d,J as f,It as g,Rt as h,On as i,q as j,wt as k,Ht as l,Lt as m,Vn as n,wn as o,zt as p,In as r,dn as s,Xn as t,Ut as u,Ft as v,Ot as w,Nt as x,jt as y};
@@ -1 +0,0 @@
1
- import{$ as e,E as t,V as n,Z as r,g as i,s as a,v as o}from"./runtime-core.esm-bundler-Wxr8ezGp.js";import{P as ee,S as te,m as s}from"./QBtn-Cf6WtiKt.js";import{d as c,n as l,o as u,t as d}from"./event-BQt_DXaR.js";import{D as f,E as p,G as m,J as h,K as ne,R as re,W as ie,X as ae,Y as oe,d as se,q as g}from"./index-DphTOTJs.js";import{c as _,d as ce,l as v,m as y,p as b,s as x,u as S}from"./format-BWCY39oA.js";var C=c({name:`QSpace`,setup(){let e=o(`div`,{class:`q-space`});return()=>e}}),w=0,le=100,T=4;function ue(e){return e.pointerType===`touch`||e.pointerType===`pen`&&e.buttons!==0}var E=c({name:`QTooltip`,inheritAttrs:!1,props:{...b,...h,...m,maxHeight:{type:String,default:null},maxWidth:{type:String,default:null},transitionShow:{...m.transitionShow,default:`jump-down`},transitionHide:{...m.transitionHide,default:`jump-up`},anchor:{type:String,default:`bottom middle`,validator:S},self:{type:String,default:`top middle`,validator:S},offset:{type:Array,default:()=>[14,14],validator:v},cursorPosition:Boolean,delay:{type:Number,default:0},hideDelay:{type:Number,default:0},persistent:Boolean},emits:[...g],setup(c,{slots:m,emit:h,attrs:g}){let v,b=!1,S=null,C=null,E,D=i(),O=te(),k=e(null),A=r(!1),de=se();function j(){return g.id||de.value}let M=a(()=>_(c.anchor,O.lang.rtl)),N=a(()=>_(c.self,O.lang.rtl)),P=a(()=>!c.persistent),{registerTimeout:F,registerTransitionEnd:I}=ae(c),{transitionProps:L,transitionStyle:R}=ie(c),{anchorEl:z,canShow:B,anchorEvents:V}=ce({showing:A,configureAnchorEl:be}),{show:H,hide:U}=ne({showing:A,canShow:B,handleShow:he,handleHide:ge,hideOnRouteChange:P,processOnMount:!0});Object.assign(V,{delayShow:J,delayHide:ve,onFocusin:ye,onPointerdown:_e,onCursorMove:X});let{showPortal:W,hidePortal:G,renderPortal:fe}=re(D,k,we,`tooltip`),{registerTick:pe,removeTick:me}=oe(),K=x({props:c,$q:O,anchorEl:z,innerRef:k,showing:A,anchorOrigin:M,selfOrigin:N,trackContent:!0});n(()=>(c.modelValue===null||c[`onUpdate:modelValue`])&&A.value===!0&&c.persistent!==!0,e=>{(e===!0?p:f)(Q)});function he(e){l(V,`cursorTemp`),W(),xe(),K.handleShow(c.cursorPosition?e:void 0),pe(K.handleTick),I(()=>{W(!0),h(`show`,e)})}function ge(e){me(),G(),q(!0),I(()=>{G(!0),K.releaseAnchor(!1),h(`hide`,e)})}function q(e){K.releaseAnchor(e),f(Q),S=null,l(V,`tooltipTemp`),l(V,`cursorTemp`),Se(),$(!1)}function J(e){if(e.pointerType===`touch`&&e.isPrimary===!1)return;let t=ue(e);if(t&&Z(e),c.cursorPosition&&!t){let t=u(e);if(t.left!==void 0){C=t,d(V,`cursorTemp`,[[z.value,`pointermove`,`onCursorMove`,`passive`]]),Y(e);return}}F(()=>{H(e)},c.delay)}function Y(e){F(()=>{H(e)},Math.max(c.delay,le))}function X(e){let t=u(e);Math.abs(t.left-C.left)<=T&&Math.abs(t.top-C.top)<=T||(C=t,Y(e))}function Z(e){S=e.pointerType,v!==void 0&&(clearTimeout(v),v=void 0),y(),$(!0);let t=z.value,n=[`touchmove`,`touchcancel`,`touchend`,`click`].map(e=>[t,e,`delayHide`,`passiveCapture`]);d(V,`tooltipTemp`,n)}function _e(e){e.pointerType===`pen`&&S===null&&Z(e)}function ve(e){if((e.pointerType!==`touch`||e.isPrimary!==!1)&&!(e.type===`focusout`&&z.value!==null&&z.value.contains(e.relatedTarget))){if(l(V,`cursorTemp`),S!==null){let t=S===`pen`&&(e.type===`click`||e.type===`touchend`);if(S=null,l(V,`tooltipTemp`),y(),v=setTimeout(()=>{v=void 0,$(!1)},10),t)return}F(()=>{U(e)},c.hideDelay)}}function ye(e){let t=e.target;t&&t.matches(`:focus-visible`)&&J(e)}function Q(e){U(e)}function be(){if(c.noParentEvent||z.value===null)return;let e=[[z.value,`pointerenter`,`delayShow`,`passive`],[z.value,`pointerdown`,`onPointerdown`,`passive`],[z.value,`pointerleave`,`delayHide`,`passive`],[z.value,`focusin`,`onFocusin`,`passive`],[z.value,`focusout`,`delayHide`,`passive`]];d(V,`anchor`,e)}function $(e){b!==e&&(b=e,w+=e?1:-1,document.body.classList.toggle(`non-selectable`,w>0),!e&&v!==void 0&&(clearTimeout(v),v=void 0))}function xe(){let e=z.value,t=j();if(e===null||t===void 0)return;let n=(e.getAttribute(`aria-describedby`)||``).split(/\s+/).filter(Boolean);E={el:e,id:t,added:!n.includes(t)},E.added&&(n.push(t),e.setAttribute(`aria-describedby`,n.join(` `)))}function Se(){if(E?.added===!0){let{el:e,id:t}=E,n=(e.getAttribute(`aria-describedby`)||``).split(/\s+/).filter(e=>e!==``&&e!==t);n.length===0?e.removeAttribute(`aria-describedby`):e.setAttribute(`aria-describedby`,n.join(` `))}E=void 0}function Ce(){return A.value?o(`div`,{...g,id:j(),ref:k,class:[`q-tooltip q-tooltip--style no-pointer-events`+(K.viaCssAnchor?``:` q-position-engine`),g.class],style:[g.style,R(),K.positionStyle.value],role:`tooltip`},s(m.default)):null}function we(){return o(ee,L(),Ce)}return t(()=>{q(!1)}),Object.assign(D.proxy,{updatePosition:K.updatePosition}),fe}});export{C as n,E as t};
@@ -1 +0,0 @@
1
- .review-detail-page[data-v-1bd24089]{height:100%}
@@ -1 +0,0 @@
1
- import{A as e,H as t,M as n,P as r,S as i,V as a,Z as o,c as s,d as c,h as l,k as u,l as d,m as f,p,r as m,rt as h,s as g,u as _,yt as v}from"./runtime-core.esm-bundler-Wxr8ezGp.js";import{C as y,R as b,S as x,c as ee,s as te,t as S}from"./QBtn-Cf6WtiKt.js";import{et as C,p as w,tt as T}from"./index-DphTOTJs.js";import{n as E}from"./vue-i18n.runtime-DSeWNwrW.js";import{n as D,r as O}from"./pinia-DK4OjQ7o.js";import{i as k,n as A,r as j}from"./client-De34x_P_.js";import{n as M,t as N}from"./QTooltip-IUM54Nhj.js";import{c as P,l as ne,t as F,u as I}from"./AppPage-BeqKILJT.js";import{c as L,n as R,t as z}from"./StatusSwitcher-CUOMaD34.js";function B(e){return{...e,oldPath:I(e.oldPath),newPath:I(e.newPath)}}var V=D(`review-detail`,()=>{let e=o(null),t=o([]),n=o(!1),r=o(null),i=g(()=>e.value?JSON.parse(e.value.snapshotData).map(B):[]),a=g(()=>{let e=new Map;for(let n of t.value){let t=e.get(n.filePath);t?t.push(n):e.set(n.filePath,[n])}return e});async function s(i){n.value=!0,r.value=null;try{let[n,r]=await Promise.all([j(`/api/reviews/${i}`),j(`/api/reviews/${i}/comments`)]);e.value=n,t.value=r}catch(n){e.value=null,t.value=[],r.value=n instanceof Error?n.message:String(n)}finally{n.value=!1}}async function c(){e.value&&(t.value=await j(`/api/reviews/${e.value.id}/comments`))}async function l(t){e.value&&=await k(`/api/reviews/${e.value.id}`,{status:t})}async function u(e,n){let r=await k(`/api/comments/${e}`,{content:n});t.value=t.value.map(t=>t.id===e?r:t)}async function d(e){await A(`/api/comments/${e}`),t.value=t.value.filter(t=>t.id!==e)}async function f(e){let n=await k(`/api/comments/${e}/resolve`);t.value=t.value.map(t=>t.id===e?n:t)}async function p(e){let n=await k(`/api/comments/${e}/unresolve`);t.value=t.value.map(t=>t.id===e?n:t)}return{review:e,comments:t,loading:n,error:r,files:i,commentsByFile:a,load:s,refreshComments:c,setStatus:l,editComment:u,deleteComment:d,resolveComment:f,unresolveComment:p}}),H=l({__name:`DownloadButton`,props:{url:{},filename:{},tooltip:{}},setup(e){let r=e,a=x(),{t:s}=E(),c=o(!1);async function l(){c.value=!0;try{let e=await fetch(r.url);if(!e.ok)throw Error(`Request failed with status ${e.status}`);let t=await e.text(),n=URL.createObjectURL(new Blob([t],{type:`text/markdown`})),i=document.createElement(`a`);i.href=n,i.download=r.filename,i.click(),URL.revokeObjectURL(n)}catch(e){a.notify({type:`negative`,message:s(`reviews.detail.downloadError`),caption:e instanceof Error?e.message:String(e)})}finally{c.value=!1}}return(r,a)=>(n(),d(S,i(r.$attrs,{padding:`4px`,flat:``,dense:``,round:``,loading:c.value,icon:`download`,"aria-label":e.tooltip,onClick:b(l,[`stop`])}),{default:t(()=>[e.tooltip?(n(),d(N,{key:0},{default:t(()=>[p(v(e.tooltip),1)]),_:1})):_(``,!0)]),_:1},16,[`loading`,`aria-label`]))}}),U={class:`review-detail-page__header q-pa-sm`},W={class:`row items-center q-gutter-x-sm`},G={class:`text-h6 ellipsis`},K={class:`row items-center q-gutter-x-sm q-mt-xs`},q={class:`text-caption text-grey-6`},J={key:0,class:`q-pa-md text-grey-6`},Y=y(l({__name:`ReviewDetailPage`,setup(i){let{t:l}=E(),y=x(),b=C(),D=T(),k=V(),{review:A,files:j,commentsByFile:N,loading:I}=O(k),B=g(()=>String(b.params.id)),Y=o(new Set),X=g(()=>j.value.filter(e=>(N.value.get(L(e))??[]).length>0)),re=g(()=>`/api/reviews/${B.value}/export?format=markdown`),ie=g(()=>`${(A.value?.name??A.value?.id??`review`).replace(/[/\\:*?"<>|]/g,`-`)}.md`);function Z(){k.load(B.value),Y.value=new Set}u(Z),a(B,Z);let ae=ne([`comment:created`,`comment:updated`,`comment:deleted`],()=>void k.refreshComments());e(()=>ae.close());function Q(e){let t=new Set(Y.value);t.has(e)?t.delete(e):t.add(e),Y.value=t}function oe(e){Y.value=new Set(Y.value).add(e)}function se(e){k.setStatus(e)}async function $(e){try{await e()}catch(e){y.notify({type:`negative`,message:l(`reviews.comments.error`),caption:e instanceof Error?e.message:String(e)})}}function ce(e,t){$(()=>k.editComment(e,t))}function le(e){$(()=>k.deleteComment(e))}function ue(e){$(()=>k.resolveComment(e))}function de(e){$(()=>k.unresolveComment(e))}function fe(){D.push(`/reviews`)}return(e,i)=>h(I)?(n(),d(F,{key:0,class:`row justify-center q-pa-lg`},{default:t(()=>[f(te,{color:`primary`,size:`2em`})]),_:1})):h(A)?(n(),d(F,{key:2,class:`review-detail-page column no-wrap q-pa-md`},{default:t(()=>[s(`div`,U,[s(`div`,W,[f(S,{flat:``,dense:``,round:``,icon:`arrow_back`,onClick:fe}),s(`div`,G,v(h(A).name??h(l)(`reviews.list.unnamed`)),1),f(M),f(H,{url:re.value,filename:ie.value,tooltip:h(l)(`reviews.detail.download`)},null,8,[`url`,`filename`,`tooltip`])]),s(`div`,K,[s(`span`,q,[f(ee,{name:`account_tree`,size:`14px`}),p(` `+v(h(A).branch??h(l)(`reviews.list.unknownBranch`)),1)]),f(M),f(z,{status:h(A).status,onChange:se},null,8,[`status`])])]),f(w),f(P,{class:`col`,"content-style":`padding: 8px`},{default:t(()=>[X.value.length===0?(n(),c(`p`,J,v(h(l)(`reviews.detail.noComments`)),1)):_(``,!0),(n(!0),c(m,null,r(X.value,e=>(n(),d(R,{key:h(L)(e),file:e,source:`unstaged`,"target-ref":`WORKTREE`,expanded:Y.value.has(h(L)(e)),comments:h(N).get(h(L)(e))??[],"comments-only":``,"comments-editable":``,"no-full-file":``,onToggle:t=>Q(h(L)(e)),onExpand:t=>oe(h(L)(e)),onEditComment:ce,onDeleteComment:le,onResolveComment:ue,onUnresolveComment:de},null,8,[`file`,`expanded`,`comments`,`onToggle`,`onExpand`]))),128))]),_:1})]),_:1})):(n(),d(F,{key:1,class:`q-pa-lg text-grey-6`},{default:t(()=>[p(v(h(l)(`reviews.detail.notFound`)),1)]),_:1}))}}),[[`__scopeId`,`data-v-1bd24089`]]);export{Y as default};
@@ -1 +0,0 @@
1
- import{$ as e,A as t,C as n,D as r,E as i,H as a,M as o,O as s,P as c,T as l,U as u,V as d,Z as f,c as p,d as m,g as h,h as g,j as _,k as ee,l as v,m as y,p as b,r as x,rt as S,s as C,u as w,v as T,w as te,yt as E,z as D}from"./runtime-core.esm-bundler-Wxr8ezGp.js";import{C as O,N as ne,S as re,c as k,d as ie,f as ae,j as oe,l as A,o as j,p as M,s as se,t as N,y as ce}from"./QBtn-Cf6WtiKt.js";import{a as P,d as F,l as I,s as L,u as R}from"./event-BQt_DXaR.js";import{H as le,_ as ue,a as de,c as fe,i as pe,it as me,l as z,n as he,o as ge,ot as _e,p as ve,r as ye,s as be,tt as xe,u as Se,v as Ce,y as we}from"./index-DphTOTJs.js";import{n as Te}from"./vue-i18n.runtime-DSeWNwrW.js";import{r as Ee}from"./pinia-DK4OjQ7o.js";import{a as De,h as B,i as V,n as Oe,o as ke}from"./format-BWCY39oA.js";import{a as Ae,c as je,i as Me,l as Ne,r as Pe,t as Fe}from"./AppPage-BeqKILJT.js";import{i as Ie,n as H,r as Le,t as Re}from"./CreateReviewFabButton-wjxKeOL1.js";var ze=F({name:`QField`,inheritAttrs:!1,props:{...z,tag:{type:String,default:`label`}},emits:fe,setup(){return be(Se({tagProp:!0}))}});function Be(e){e.keyCode===32&&R(e)}var Ve=A({xs:8,sm:10,md:14,lg:20,xl:24}),He=F({name:`QChip`,props:{...Ce,...ie,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:{type:Boolean,default:null},onClick:Function,removable:Boolean,removeAriaLabel:String,tabindex:[String,Number],disable:Boolean,ripple:{type:[Boolean,Object],default:!0}},emits:[`update:modelValue`,`update:selected`,`remove`],setup(e,{slots:t,emit:n}){let r=re(),i=ue(e,r),a=C(()=>e.selected||e.icon!==void 0),o=C(()=>e.selected?e.iconSelected||r.iconSet.chip.selected:e.icon),s=C(()=>e.iconRemove||r.iconSet.chip.remove),c=C(()=>(e.clickable===null?e.onClick!==void 0:e.clickable)||e.selected!==null),l=C(()=>!e.disable&&c.value),d=C(()=>{let t=e.outline&&e.color||e.textColor;return`q-chip row inline no-wrap items-center`+(!e.outline&&e.color!==void 0?` bg-${e.color}`:``)+(t?` text-${t} q-chip--colored`:``)+(e.disable?` disabled`:``)+(e.dense?` q-chip--dense`:``)+(e.outline?` q-chip--outline`:``)+(e.selected?` q-chip--selected`:``)+(l.value?` q-chip--clickable cursor-pointer non-selectable q-hoverable`:``)+(e.square?` q-chip--square`:``)+(i()?` q-chip--dark q-dark`:``)}),f=C(()=>({chip:e.disable?{role:`button`,tabindex:-1,"aria-disabled":`true`}:{role:`button`,tabindex:e.tabindex||0,...e.selected===null?{}:{"aria-pressed":e.selected?`true`:`false`}},remove:{role:`button`,"aria-hidden":`false`,"aria-label":e.removeAriaLabel||r.lang.label.remove,...e.disable?{tabindex:-1,"aria-disabled":`true`}:{tabindex:e.tabindex||0}}}));function p(e){[13,32].includes(e.keyCode)&&(m(e),R(e))}function m(t){e.disable||(n(`update:selected`,!e.selected),n(`click`,t))}function h(t){(t.keyCode===void 0||[13,32].includes(t.keyCode))&&(R(t),e.disable||(n(`update:modelValue`,!1),n(`remove`)))}function g(){let n=[];l.value&&n.push(T(`div`,{class:`q-focus-helper`})),a.value&&n.push(T(k,{class:`q-chip__icon q-chip__icon--left`,name:o.value}));let r=e.label===void 0?void 0:[T(`div`,{class:`ellipsis`},[e.label])];return n.push(T(`div`,{class:`q-chip__content col row no-wrap items-center q-anchor--skip`},M(t.default,r))),e.iconRight&&n.push(T(k,{class:`q-chip__icon q-chip__icon--right`,name:e.iconRight})),e.removable&&n.push(T(k,{class:`q-chip__icon q-chip__icon--remove cursor-pointer`,name:s.value,...f.value.remove,onClick:h,onKeydown:Be,onKeyup:h})),n}return()=>{if(!e.modelValue)return;let t={class:d.value};return e.size!==void 0&&(t.style=Ve(e.size)),c.value&&Object.assign(t,f.value.chip),l.value&&Object.assign(t,{onClick:m,onKeydown:Be,onKeyup:p}),u(T(`div`,t,g()),[[j,e.disable||e.ripple===!1?!1:e.ripple]])}}}),U=1e3,Ue=[`start`,`center`,`end`,`start-force`,`center-force`,`end-force`],We=Array.prototype.filter,Ge=window.getComputedStyle(document.body).overflowAnchor===void 0?P:function(e,t){e!==null&&(e._qOverflowAnimationFrame!==void 0&&cancelAnimationFrame(e._qOverflowAnimationFrame),e._qOverflowAnimationFrame=requestAnimationFrame(()=>{if(e===null)return;e._qOverflowAnimationFrame=void 0;let n=e.children||[];We.call(n,e=>e.dataset&&e.dataset.qVsAnchor!==void 0).forEach(e=>{delete e.dataset.qVsAnchor});let r=n[t];r?.dataset&&(r.dataset.qVsAnchor=``)}))};function Ke(e,t){return e+t}function qe(e,t,n,r,i,a,o,s){let c=e===window?document.scrollingElement||document.documentElement:e,l=i?`width`:`height`,u={scrollStart:0,scrollViewSize:-o-s,scrollMaxSize:0,offsetStart:-o,offsetEnd:-s};if(i?(e===window?(u.scrollStart=window.scrollX,u.scrollViewSize+=document.documentElement.clientWidth):(u.scrollStart=c.scrollLeft,u.scrollViewSize+=c.clientWidth),u.scrollMaxSize=c.scrollWidth,a&&(u.scrollStart=-u.scrollStart)):(e===window?(u.scrollStart=window.scrollY,u.scrollViewSize+=document.documentElement.clientHeight):(u.scrollStart=c.scrollTop,u.scrollViewSize+=c.clientHeight),u.scrollMaxSize=c.scrollHeight),n!==null)for(let e=n.previousElementSibling;e!==null;e=e.previousElementSibling)e.classList.contains(`q-virtual-scroll--skip`)||(u.offsetStart+=e.getBoundingClientRect()[l]);if(r!==null)for(let e=r.nextElementSibling;e!==null;e=e.nextElementSibling)e.classList.contains(`q-virtual-scroll--skip`)||(u.offsetEnd+=e.getBoundingClientRect()[l]);if(t!==e){let n=c.getBoundingClientRect(),r=t.getBoundingClientRect();i?(u.offsetStart+=r.left-n.left,u.offsetEnd-=r.width):(u.offsetStart+=r.top-n.top,u.offsetEnd-=r.height),e!==window&&(u.offsetStart+=u.scrollStart),u.offsetEnd+=u.scrollMaxSize-u.offsetStart}return u}function Je(e,t,n,r){if(t===`end`&&(t=(e===window?document.body:e)[n?`scrollWidth`:`scrollHeight`]),e===window){let e,i;n?(r&&(t=-t),e=t,i=window.scrollY):(e=window.scrollX,i=t),window.scrollTo({left:e,top:i,behavior:`instant`})}else n?(r&&(t=-t),e.scrollTo({left:t,behavior:`instant`})):e.scrollTo({top:t,behavior:`instant`})}function W(e,t,n,r){if(n>=r)return 0;let i=t.length,a=Math.floor(n/U),o=Math.floor((r-1)/U)+1,s=0;for(let t=a;t<o;t++)s+=e[t];if(n%U!==0)for(let e=a*U;e<n;e++)s-=t[e];if(r%U!==0&&r!==i){let e=Math.min(o*U,i);for(let n=r;n<e;n++)s-=t[n]}return s}var Ye={virtualScrollSliceSize:{type:[Number,String],default:10},virtualScrollSliceRatioBefore:{type:[Number,String],default:1},virtualScrollSliceRatioAfter:{type:[Number,String],default:1},virtualScrollItemSize:{type:[Number,String],default:24},virtualScrollStickySizeStart:{type:[Number,String],default:0},virtualScrollStickySizeEnd:{type:[Number,String],default:0},tableColspan:[Number,String]};Object.keys(Ye);var Xe={virtualScrollHorizontal:Boolean,onVirtualScroll:Function,...Ye};function Ze({virtualScrollLength:t,getVirtualScrollTarget:r,getVirtualScrollEl:a,virtualScrollItemSizeComputed:o}){let{props:c,emit:u,proxy:p}=h(),m=re(),g,_,ee,v=[],y,b=f(0),x=f(0),S=f({}),w=e(null),E=e(null),D=e(null),O=f({from:0,to:0}),ne=C(()=>c.tableColspan===void 0?100:c.tableColspan);o===void 0&&(o=C(()=>c.virtualScrollItemSize));let k=C(()=>o.value+`;`+c.virtualScrollHorizontal),ie=C(()=>k.value+`;`+c.virtualScrollSliceRatioBefore+`;`+c.virtualScrollSliceRatioAfter);d(ie,()=>{P()}),d(k,ae);function ae(){ce(_,!0)}function oe(e){ce(e===void 0?_:e)}function A(e,n){let i=r();if(i==null||i.nodeType===8)return;let o=qe(i,a(),w.value,E.value,c.virtualScrollHorizontal,m.lang.rtl,c.virtualScrollStickySizeStart,c.virtualScrollStickySizeEnd);ee!==o.scrollViewSize&&P(o.scrollViewSize),M(i,o,Math.min(t.value-1,Math.max(0,Number.parseInt(e,10)||0)),0,Ue.includes(n)?n:_!==-1&&e>_?`end`:`start`)}function j(){let e=r();if(e==null||e.nodeType===8)return;let n=qe(e,a(),w.value,E.value,c.virtualScrollHorizontal,m.lang.rtl,c.virtualScrollStickySizeStart,c.virtualScrollStickySizeEnd),i=t.value-1,o=n.scrollMaxSize-n.offsetStart-n.offsetEnd-x.value;if(g===n.scrollStart)return;if(n.scrollMaxSize<=0){M(e,n,0,0);return}ee!==n.scrollViewSize&&P(n.scrollViewSize),se(O.value.from);let s=Math.floor(n.scrollMaxSize-Math.max(n.scrollViewSize,n.offsetEnd)-Math.min(y[i],n.scrollViewSize/2));if(s>0&&Math.ceil(n.scrollStart)>=s){M(e,n,i,n.scrollMaxSize-n.offsetEnd-v.reduce(Ke,0));return}let l=0,u=n.scrollStart-n.offsetStart,d=u;if(u<=o&&u+n.scrollViewSize>=b.value)u-=b.value,l=O.value.from,d=u;else for(let e=0;u>=v[e]&&l<i;e++)u-=v[e],l+=U;for(;u>0&&l<i;)u-=y[l],u>-n.scrollViewSize?(l++,d=u):d=y[l]+u;M(e,n,l,d)}function M(e,n,r,i,a){let o=typeof a==`string`&&a.includes(`-force`),s=o?a.replace(`-force`,``):a,l=s===void 0?`start`:s,u=Math.max(0,r-S.value[l]),d=u+S.value.total;d>t.value&&(d=t.value,u=Math.max(0,d-S.value.total)),g=n.scrollStart;let f=u!==O.value.from||d!==O.value.to;if(!f&&s===void 0){I(r);return}let{activeElement:p}=document,h=D.value;f&&h!==null&&h!==p&&h.contains(p)&&(h.addEventListener(`focusout`,N),setTimeout(()=>{h?.removeEventListener(`focusout`,N)},0)),Ge(h,r-u);let _=s===void 0?0:y.slice(u,r).reduce(Ke,0);if(f){let e=d>=O.value.from&&u<=O.value.to?O.value.to:d;O.value={from:u,to:e},b.value=W(v,y,0,u),x.value=W(v,y,d,t.value),requestAnimationFrame(()=>{O.value.to!==d&&g===n.scrollStart&&(O.value={from:O.value.from,to:d},x.value=W(v,y,d,t.value))})}requestAnimationFrame(()=>{if(g!==n.scrollStart)return;f&&se(u);let t=y.slice(u,r).reduce(Ke,0),a=t+n.offsetStart+b.value,l=a+y[r],d=a+i;if(s!==void 0){let e=t-_,i=n.scrollStart+e;d=!o&&i<a&&l<i+n.scrollViewSize?i:s===`end`?l-n.scrollViewSize:a-(s===`start`?0:Math.round((n.scrollViewSize-y[r])/2))}g=d,Je(e,d,c.virtualScrollHorizontal,m.lang.rtl),I(r)})}function se(e){let t=D.value;if(t){let n=We.call(t.children,e=>e.classList&&!e.classList.contains(`q-virtual-scroll--skip`)),r=n.length,i=c.virtualScrollHorizontal?e=>e.getBoundingClientRect().width:e=>e.getBoundingClientRect().height,a=e,o,s;for(let e=0;e<r;){for(o=i(n[e]),e++;e<r&&n[e].classList.contains(`q-virtual-scroll--with-prev`);)o+=i(n[e]),e++;s=o-y[a],s!==0&&(y[a]+=s,v[Math.floor(a/U)]+=s),a++}}}function N(){D.value?.focus({preventScroll:!0})}function ce(e,r){let i=Number(o.value);(r||!Array.isArray(y))&&(y=[]);let a=y.length;y.length=t.value;for(let e=t.value-1;e>=a;e--)y[e]=i;let s=Math.floor((t.value-1)/U);v=[];for(let e=0;e<=s;e++){let n=0,r=Math.min((e+1)*U,t.value);for(let t=e*U;t<r;t++)n+=y[t];v.push(n)}_=-1,g=void 0,b.value=W(v,y,0,O.value.from),x.value=W(v,y,O.value.to,t.value),e>=0?(se(O.value.from),n(()=>{A(e)})):L()}function P(e){if(e===void 0&&typeof window<`u`){let t=r();t!=null&&t.nodeType!==8&&(e=qe(t,a(),w.value,E.value,c.virtualScrollHorizontal,m.lang.rtl,c.virtualScrollStickySizeStart,c.virtualScrollStickySizeEnd).scrollViewSize)}ee=e;let t=Number.parseFloat(c.virtualScrollSliceRatioBefore)||0,n=Number.parseFloat(c.virtualScrollSliceRatioAfter)||0,i=1+t+n,s=e===void 0||e<=0?1:Math.ceil(e/o.value),l=Math.max(1,s,Math.ceil((c.virtualScrollSliceSize>0?c.virtualScrollSliceSize:10)/i));S.value={total:Math.ceil(l*i),start:Math.ceil(l*t),center:Math.ceil(l*(.5+t)),end:Math.ceil(l*(1+t)),view:s}}function F(e,t,n){let r=c.virtualScrollHorizontal?`width`:`height`,i={[`--q-virtual-scroll-item-`+r]:o.value+`px`};return[e===`tbody`?T(e,{class:`q-virtual-scroll__padding`,key:`before`,ref:w,"aria-hidden":`true`},[T(`tr`,[T(`td`,{style:{[r]:`${b.value}px`,...i},colspan:ne.value})])]):T(e,{class:`q-virtual-scroll__padding`,key:`before`,ref:w,"aria-hidden":`true`,style:{[r]:`${b.value}px`,...i}}),T(e,{class:`q-virtual-scroll__content`,key:`content`,ref:D,tabindex:-1,...n},t.flat()),e===`tbody`?T(e,{class:`q-virtual-scroll__padding`,key:`after`,ref:E,"aria-hidden":`true`},[T(`tr`,[T(`td`,{style:{[r]:`${x.value}px`,...i},colspan:ne.value})])]):T(e,{class:`q-virtual-scroll__padding`,key:`after`,ref:E,"aria-hidden":`true`,style:{[r]:`${x.value}px`,...i}})]}function I(e){_!==e&&(c.onVirtualScroll!==void 0&&u(`virtualScroll`,{index:e,from:O.value.from,to:O.value.to-1,direction:e<_?`decrease`:`increase`,ref:p}),_=e)}P();{let e=Math.min(t.value,S.value.total),n=Number(o.value);O.value={from:0,to:e},x.value=Number.isFinite(n)?Math.max(0,(t.value-e)*n):0}let L=_e(j,m.platform.is.ios?120:35);l(()=>{P()});let R=!1;return s(()=>{R=!0}),te(()=>{if(!R)return;let e=r();g!==void 0&&e!=null&&e.nodeType!==8?Je(e,g,c.virtualScrollHorizontal,m.lang.rtl):A(_)}),i(()=>{L.cancel()}),Object.assign(p,{scrollTo:A,reset:ae,refresh:oe}),{virtualScrollSliceRange:O,virtualScrollSliceSizeComputed:S,setVirtualScrollSize:P,onVirtualScrollEvt:L,localResetVirtualScroll:ce,padVirtualScroll:F,scrollTo:A,reset:ae,refresh:oe}}var Qe=e=>[`add`,`add-unique`,`toggle`].includes(e),$e=".*+?^${}()|[]\\",et=Object.keys(z);function tt(e,t){if(typeof e==`function`)return e;let n=e===void 0?t:e;return e=>typeof e==`object`&&e&&n in e?e[n]:e}var G=F({name:`QSelect`,inheritAttrs:!1,props:{...Xe,...de,...z,modelValue:{required:!0},multiple:Boolean,displayValue:[String,Number],displayValueHtml:Boolean,dropdownIcon:String,options:{type:Array,default:()=>[]},optionValue:[Function,String],optionLabel:[Function,String],optionDisable:[Function,String],hideSelected:Boolean,hideDropdownIcon:Boolean,hideDialogClose:Boolean,fillInput:Boolean,maxValues:[Number,String],optionsDense:Boolean,optionsDark:{type:Boolean,default:null},optionsSelectedClass:String,optionsHtml:Boolean,optionsCover:Boolean,noOptionLabel:String,menuShrink:Boolean,menuAnchor:String,menuSelf:String,menuOffset:Array,popupContentClass:String,popupContentStyle:[String,Array,Object],popupNoRouteDismiss:Boolean,useInput:Boolean,useChips:Boolean,noChipRemove:Boolean,newValueMode:{type:String,validator:Qe},mapOptions:Boolean,emitValue:Boolean,noOptionPrefetch:Boolean,disableTabSelection:Boolean,inputDebounce:{type:[Number,String],default:500},inputClass:[Array,String,Object],inputStyle:[Array,String,Object],tabindex:{type:[String,Number],default:0},autocomplete:String,transitionShow:{},transitionHide:{},transitionDuration:{},behavior:{type:String,validator:e=>[`default`,`menu`,`dialog`].includes(e),default:`default`},...Ae,virtualScrollItemSize:Xe.virtualScrollItemSize.type,onNewValue:Function,onFilter:Function},emits:[...fe,`add`,`remove`,`inputValue`,`keyup`,`keypress`,`keydown`,`popupShow`,`popupHide`,`filterAbort`],setup(t,{slots:a,emit:o}){let{proxy:s}=h(),c=re(),l=f(!1),u=f(!1),p=f(-1),m=f(``),g=f(!1),v=f(!1),y=null,b=null,x=!1,S=0,w,te=!1,E,D,O=null,ie,A,j,M,se=e(null),N=e(null),P=e(null),F=e(null),ue=e(null),de=pe(t),fe=ye(xt),z=C(()=>Array.isArray(t.options)?t.options.length:0),{virtualScrollSliceRange:he,virtualScrollSliceSizeComputed:_e,localResetVirtualScroll:ve,padVirtualScroll:xe,onVirtualScrollEvt:Ce,scrollTo:Te,setVirtualScrollSize:Ee}=Ze({virtualScrollLength:z,getVirtualScrollTarget:_t,getVirtualScrollEl:gt,virtualScrollItemSizeComputed:C(()=>t.virtualScrollItemSize===void 0?t.optionsDense?24:48:t.virtualScrollItemSize)}),B=Se(),V=C(()=>{let e=t.mapOptions&&!t.multiple,n=t.modelValue!==void 0&&(t.modelValue!==null||e)?t.multiple&&Array.isArray(t.modelValue)?t.modelValue:[t.modelValue]:[];if(t.mapOptions&&Array.isArray(t.options)){let r=t.mapOptions&&w!==void 0?w:[],i=n.map(e=>lt(e,r));return t.modelValue===null&&e?i.filter(e=>e!==null):i}return n}),Ae=C(()=>{let e={};return et.forEach(n=>{let r=t[n];r!==void 0&&(e[n]=r)}),e}),je=C(()=>t.optionsDark===null?B.isDark():t.optionsDark),Ne=C(()=>ge(V.value)),Fe=C(()=>{let e=`q-field__input q-placeholder col`;return t.hideSelected||V.value.length===0?[e,t.inputClass]:(e+=` q-field__input--padding`,t.inputClass===void 0?e:[e,t.inputClass])}),Ie=C(()=>(t.virtualScrollHorizontal?`q-virtual-scroll--horizontal`:``)+(t.popupContentClass?` `+t.popupContentClass:``)),H=C(()=>z.value===0);function Re(){return a[`no-option`]!==void 0||t.noOptionLabel!==void 0}let Be=C(()=>V.value.map(e=>K.value(e)).join(`, `)),Ve=C(()=>t.displayValue===void 0?Be.value:t.displayValue),U=C(()=>t.optionsHtml?()=>!0:e=>e?.html===!0),Ue=C(()=>t.displayValueHtml||t.displayValue===void 0&&(t.optionsHtml||V.value.some(U.value))),We=C(()=>B.focused.value?t.tabindex:-1),Ge=C(()=>{let e={tabindex:t.disable===!0?void 0:t.tabindex,role:`combobox`,"aria-label":t.label,"aria-readonly":t.readonly?`true`:`false`,"aria-autocomplete":t.useInput?`list`:`none`,"aria-expanded":l.value?`true`:`false`};return l.value&&!H.value&&(e[`aria-controls`]=`${B.targetUid.value}_lb`),p.value>=0&&(e[`aria-activedescendant`]=`${B.targetUid.value}_${p.value}`),e}),Ke=C(()=>({id:`${B.targetUid.value}_lb`,role:`listbox`,"aria-multiselectable":t.multiple?`true`:`false`})),qe=C(()=>V.value.map((e,t)=>({index:t,opt:e,html:U.value(e),selected:!0,removeAtIndex:at,toggleOption:Y,tabindex:We.value}))),Je=C(()=>{if(z.value===0)return[];let{from:e,to:n}=he.value;return t.options.slice(e,n).map((n,r)=>{let i=q.value(n)===!0,a=ut(n),o=e+r,s={clickable:!0,active:a,activeClass:Xe.value,manualFocus:!0,focused:!1,disable:i,tabindex:-1,dense:t.optionsDense,dark:je.value,role:`option`,"aria-selected":a?`true`:`false`,"aria-setsize":z.value,"aria-posinset":o+1,id:`${B.targetUid.value}_${o}`,onClick:()=>{Y(n)}};return i||(p.value===o&&(s.focused=!0),s.onPointermove=e=>{e.pointerType!==`touch`&&l.value&&st(o)}),{index:o,opt:n,html:U.value(n),label:K.value(n),selected:s.active,focused:s.focused,toggleOption:Y,setOptionIndex:st,itemProps:s}})}),W=C(()=>t.dropdownIcon===void 0?c.iconSet.arrow.dropdown:t.dropdownIcon),Ye=C(()=>!t.optionsCover&&!t.outlined&&!t.standout&&!t.borderless&&!t.rounded),Xe=C(()=>t.optionsSelectedClass===void 0?t.color===void 0?``:`text-${t.color}`:t.optionsSelectedClass),G=C(()=>tt(t.optionValue,`value`)),K=C(()=>tt(t.optionLabel,`label`)),q=C(()=>tt(t.optionDisable,`disable`)),J=C(()=>V.value.map(G.value)),nt=C(()=>{let e={onInput:xt,onChange:fe,onKeydown:ht,onKeyup:pt,onKeypress:mt,onFocus:dt,onClick(e){E&&I(e)}};return e.onCompositionstart=e.onCompositionupdate=e.onCompositionend=fe,e});d(V,e=>{w=e,t.useInput&&t.fillInput&&!t.multiple&&!B.innerLoading.value&&(!u.value&&!l.value||!Ne.value)&&(D||$(),(u.value||l.value)&&X(``)),te&&wt()&&(te=!1)},{immediate:!0}),d(()=>t.fillInput,$),d(l,Vt),d(z,Ht);function rt(e){return t.emitValue?G.value(e):e}function it(e){if(e!==-1&&e<V.value.length){if(t.multiple){let n=[...t.modelValue];o(`remove`,{index:e,value:n.splice(e,1)[0]}),o(`update:modelValue`,n)}else o(`update:modelValue`,null)}}function at(e){it(e),B.focus()}function ot(e,n){let r=rt(e);if(!t.multiple){t.fillInput&&Ct(K.value(e),!0,!0),o(`update:modelValue`,r);return}if(V.value.length===0){o(`add`,{index:0,value:r}),o(`update:modelValue`,t.multiple?[r]:r);return}if(n&&ut(e)||t.maxValues!==void 0&&t.modelValue.length>=t.maxValues)return;let i=[...t.modelValue];o(`add`,{index:i.length,value:r}),i.push(r),o(`update:modelValue`,i)}function Y(e,n){if(!B.editable.value||e===void 0||q.value(e)===!0)return;let r=G.value(e);if(!t.multiple){let i=!n&&u.value;n||(Ct(t.fillInput?K.value(e):``,!0,!0),Q()),i||N.value?.focus(),(V.value.length===0||!me(G.value(V.value[0]),r))&&o(`update:modelValue`,t.emitValue?r:e);return}if((!E||g.value)&&B.focus(),dt(),V.value.length===0){let n=t.emitValue?r:e;o(`add`,{index:0,value:n}),o(`update:modelValue`,t.multiple?[n]:n);return}let i=[...t.modelValue],a=J.value.findIndex(e=>me(e,r));if(a!==-1)o(`remove`,{index:a,value:i.splice(a,1)[0]});else{if(t.maxValues!==void 0&&i.length>=t.maxValues)return;let n=t.emitValue?r:e;o(`add`,{index:i.length,value:n}),i.push(n)}o(`update:modelValue`,i)}function st(e){let t=e!==-1&&e<z.value?e:-1;p.value!==t&&(p.value=t)}function ct(e=1,n){if(l.value){let r=p.value;do r=Oe(r+e,-1,z.value-1);while(r!==-1&&r!==p.value&&q.value(t.options[r])===!0);p.value!==r&&(st(r),Te(r),!n&&t.useInput&&t.fillInput&&St(r>=0?K.value(t.options[r]):ie,!0))}}function lt(e,n){let r=t=>me(G.value(t),e);return t.options.find(r)||n.find(r)||e}function ut(e){let t=G.value(e);return J.value.find(e=>me(e,t))!==void 0}function dt(e){t.useInput&&N.value!==null&&(e===void 0||N.value===e.target&&e.target.value===Be.value)&&N.value.select()}function ft(e){oe(e,27)&&l.value&&(I(e),Q(e),$()),o(`keyup`,e)}function pt(e){let{value:n}=e.target;if(e.keyCode!==void 0){ft(e);return}if(e.target.value=``,y!==null&&(clearTimeout(y),y=null),b!==null&&(clearTimeout(b),b=null),$(),typeof n==`string`&&n.length!==0){let e=n.toLocaleLowerCase(),r=n=>{let r=t.options.find(t=>String(n.value(t)).toLocaleLowerCase()===e);return r!==void 0&&(V.value.includes(r)?Q():Y(r),!0)},i=e=>{!r(G)&&!e&&!r(K)&&X(n,!0,()=>i(!0))};i()}else B.clearValue(e)}function mt(e){o(`keypress`,e)}function ht(e){if(o(`keydown`,e),e.defaultPrevented||ne(e))return;let r=m.value.length!==0&&(t.newValueMode!==void 0||t.onNewValue!==void 0),i=!e.shiftKey&&!t.disableTabSelection&&!t.multiple&&(p.value!==-1||r);if(e.keyCode===27){L(e);return}if(e.keyCode===9&&!i){Pt(e);return}if(e.target===void 0||e.target.id!==B.targetUid.value||!B.editable.value)return;if((e.keyCode===40||e.keyCode===38)&&!B.innerLoading.value&&!l.value){R(e),Z(e);return}if(e.keyCode===8&&(t.useChips&&!t.noChipRemove||t.clearable)&&!t.hideSelected&&m.value.length===0){(t.clearable||q.value(V.value.at(-1))!==!0)&&(t.multiple&&Array.isArray(t.modelValue)?it(t.modelValue.length-1):!t.multiple&&t.modelValue!==null&&o(`update:modelValue`,null));return}(e.keyCode===35||e.keyCode===36)&&(typeof m.value!=`string`||m.value.length===0)&&(R(e),p.value=-1,ct(e.keyCode===36?1:-1,t.multiple)),(e.keyCode===33||e.keyCode===34)&&_e.value!==void 0&&(R(e),p.value=Math.max(-1,Math.min(z.value,p.value+(e.keyCode===33?-1:1)*_e.value.view)),ct(e.keyCode===33?1:-1,t.multiple)),(e.keyCode===38||e.keyCode===40)&&(R(e),ct(e.keyCode===38?-1:1,t.multiple));let a=z.value;if((j===void 0||M<Date.now())&&(j=``),a>0&&!t.useInput&&e.key!==void 0&&e.key.length===1&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&(e.keyCode!==32||j.length!==0)){l.value||Z(e);let r=e.key.toLocaleLowerCase(),i=j.length===1&&j[0]===r;M=Date.now()+1500,i||(R(e),j+=r);let o=RegExp(`^`+[...j].map(e=>$e.includes(e)?`\\`+e:e).join(`.*`),`i`),s=p.value;if(i||s<0||!o.test(K.value(t.options[s])))do s=Oe(s+1,-1,a-1);while(s!==p.value&&(q.value(t.options[s])===!0||!o.test(K.value(t.options[s]))));p.value!==s&&n(()=>{st(s),Te(s),s>=0&&t.useInput&&t.fillInput&&St(K.value(t.options[s]),!0)});return}if(e.keyCode===13||e.keyCode===32&&!t.useInput&&j===``||e.keyCode===9&&i){if(e.keyCode!==9&&R(e),p.value!==-1&&p.value<a){Y(t.options[p.value]);return}if(r){let e=(e,n)=>{if(n){if(!Qe(n))return}else n=t.newValueMode;Ct(``,!t.multiple,!0),e!=null&&((n===`toggle`?Y:ot)(e,n===`add-unique`),t.multiple||(N.value?.focus(),Q()))};if(t.onNewValue===void 0?e(m.value):o(`newValue`,m.value,e),!t.multiple)return}l.value?Pt(e):B.innerLoading.value||Z(e)}}function gt(){return E?ue.value:P.value!==null&&P.value.contentEl!==null?P.value.contentEl:void 0}function _t(){return gt()}function vt(){return t.hideSelected?[]:a[`selected-item`]===void 0?a.selected===void 0?t.useChips?qe.value.map((e,n)=>T(He,{key:`option-`+n,removable:!t.noChipRemove&&B.editable.value&&q.value(e.opt)!==!0,dense:!0,textColor:t.color,tabindex:We.value,onRemove(){e.removeAtIndex(n)}},()=>T(`span`,{class:`ellipsis`,[e.html?`innerHTML`:`textContent`]:K.value(e.opt)}))):[T(`span`,{class:`q-select__selected-value ellipsis`,[Ue.value?`innerHTML`:`textContent`]:Ve.value})]:[a.selected()].flat():qe.value.map(e=>a[`selected-item`](e))}function yt(){if(H.value)return a[`no-option`]===void 0?t.noOptionLabel===void 0?void 0:[T(De,()=>T(ke,{class:`text-grey`},()=>T(Le,()=>t.noOptionLabel)))]:a[`no-option`]({inputValue:m.value});let e=a.option===void 0?e=>T(De,{key:e.index,...e.itemProps},()=>T(ke,()=>T(Le,()=>T(`span`,{[e.html?`innerHTML`:`textContent`]:e.label})))):a.option,n=xe(`div`,Je.value.map(e),Ke.value);return a[`before-options`]!==void 0&&(n=[a[`before-options`](),...n].flat()),ae(a[`after-options`],n)}function bt(e,n){let r=n?{...Ge.value,...B.splitAttrs.attributes.value}:void 0,i={ref:n?N:void 0,key:`i_t`,class:Fe.value,style:t.inputStyle,value:m.value===void 0?``:m.value,type:`search`,...r,id:n?B.targetUid.value:void 0,maxlength:t.maxlength,autocomplete:t.autocomplete,"data-autofocus":e===!0||t.autofocus||void 0,disabled:t.disable,readonly:t.readonly,...nt.value};return n&&Object.assign(i,B.getErrorAriaAttrs(i)),!e&&E&&(Array.isArray(i.class)?i.class=[...i.class,`no-pointer-events`]:i.class+=` no-pointer-events`),T(`input`,i)}function xt(e){y!==null&&(clearTimeout(y),y=null),b!==null&&(clearTimeout(b),b=null),!e?.target?.qComposing&&(St(e.target.value||``),D=!0,ie=m.value,!B.focused.value&&(!E||g.value)&&B.focus(),t.onFilter!==void 0&&(E&&!u.value?Z(e):y=setTimeout(()=>{y=null,X(m.value)},t.inputDebounce)))}function St(e,n){m.value!==e&&(b!==null&&(clearTimeout(b),b=null),m.value=e,n||t.inputDebounce===0||t.inputDebounce===`0`?o(`inputValue`,e):b=setTimeout(()=>{b=null,o(`inputValue`,e)},t.inputDebounce))}function Ct(e,n,r){D=r!==!0,t.useInput&&(St(e,!0),(n||D)&&(ie=e),n||X(e))}function X(e,r,i){if(t.onFilter===void 0||!r&&!B.focused.value&&!x)return;B.innerLoading.value?o(`filterAbort`):(B.innerLoading.value=!0,v.value=!0),e!==``&&!t.multiple&&V.value.length!==0&&!D&&e===K.value(V.value[0])&&(e=``);let a=setTimeout(()=>{l.value&&=!1},10);O!==null&&clearTimeout(O),O=a,o(`filter`,e,(e,t)=>{(r||B.focused.value||x)&&O===a&&(clearTimeout(O),typeof e==`function`&&e(),v.value=!1,n(()=>{B.innerLoading.value=!1,B.editable.value&&(r?l.value&&Q():l.value?Vt(!0):l.value=!0),typeof t==`function`&&n(()=>{t(s)}),typeof i==`function`&&n(()=>{i(s)})}))},()=>{(r||B.focused.value||x)&&O===a&&(clearTimeout(O),B.innerLoading.value=!1,v.value=!1),l.value&&=!1})}function wt(){return z.value!==0||V.value.every(e=>typeof e==`object`&&!!e)?!1:(X(``,!0,$),!0)}function Tt(){return T(Pe,{ref:P,class:Ie.value,style:t.popupContentStyle,modelValue:l.value,fit:!t.menuShrink,cover:t.optionsCover&&!H.value&&!t.useInput,anchor:t.menuAnchor,self:t.menuSelf,offset:t.menuOffset,dark:je.value,noParentEvent:!0,noRefocus:!0,noFocus:!0,noRouteDismiss:t.popupNoRouteDismiss,square:Ye.value,transitionShow:t.transitionShow,transitionHide:t.transitionHide,transitionDuration:t.transitionDuration,separateClosePopup:!0,onScrollPassive:Ce,onBeforeShow:Wt,onBeforeHide:Et,onShow:Dt,...t.hover?{onPointerenter:zt,onPointerleave:Rt}:{}},yt)}function Et(e){Gt(e),Pt()}function Dt(){Ee()}function Ot(e){I(e),N.value?.focus(),g.value=!0,c.platform.is.ios&&window.scrollTo(window.scrollX,0)}function kt(e){I(e),n(()=>{g.value=!1})}function At(){let e=[T(ze,{class:`col-auto ${B.fieldClass.value}`,...Ae.value,for:B.targetUid.value,dark:je.value,square:!0,loading:v.value,itemAligned:!1,filled:!0,stackLabel:m.value.length!==0,...B.splitAttrs.listeners.value,onFocus:Ot,onBlur:kt},{...a,rawControl:()=>B.getControl(!0),before:void 0,after:void 0,append:t.hideDialogClose?a.append:()=>{let e=T(`button`,{class:`q-select__dialog-close`+(t.color===void 0?``:` text-${t.color}`),type:`button`,tabindex:0,onClick:Q},c.lang.label.close);return a.append===void 0?[e]:[...a.append(),e]}})];return l.value&&e.push(T(`div`,{ref:ue,class:Ie.value+` scroll`,style:t.popupContentStyle,onClick:L,onScrollPassive:Ce},yt())),T(we,{ref:F,modelValue:u.value,position:t.useInput?`top`:void 0,noFocus:!0,transitionShow:A,transitionHide:t.transitionHide,transitionDuration:t.transitionDuration,noRouteDismiss:t.popupNoRouteDismiss,onBeforeShow:Wt,onBeforeHide:jt,onHide:Mt,onShow:Nt},()=>T(`div`,{class:`q-select__dialog`+(je.value?` q-select__dialog--dark q-dark`:``)+(g.value?` q-select__dialog--focused`:``)},e))}function jt(e){if(Gt(e),F.value!==null){let n=!c.platform.is.mobile||!t.useInput||e!==void 0&&(e.type.indexOf(`key`)===0||e.type===`click`&&e.detail===0)?B.rootRef.value.querySelector(`.q-field__native > .q-select__focus-target, .q-field__native > .q-field__input`):null;F.value.__updateRefocusTarget(n)}B.focused.value=!1}function Mt(e){Q(),B.focused.value||o(`blur`,e),$()}function Nt(){let e=document.activeElement;(e===null||e.id!==B.targetUid.value)&&N.value!==null&&N.value!==e&&N.value.focus(),Ee()}function Pt(e){u.value||(It(),x=!1,p.value=-1,l.value&&(e!==void 0&&(e.qSelectHandled=!0),l.value=!1,P.value?.hide(e)),B.focused.value||(O!==null&&(clearTimeout(O),O=null),B.innerLoading.value&&(o(`filterAbort`),B.innerLoading.value=!1,v.value=!1)))}function Ft(e){if(e==null)return!1;let t=P.value===null?null:P.value.contentEl;if(B.controlRef.value!==null&&B.controlRef.value.contains(e)||t!==null&&t.contains(e))return!0;let n=le(e);for(;n!=null;){if(n===s)return!0;n=ce(n)}return!1}let{clearHoverTimer:It,hoverShow:Lt,hoverHide:Rt,onHoverContentEnter:zt}=Me({props:t,canShow:()=>!E&&!x&&!l.value&&B.editable.value,show:Bt,canHide:e=>x&&!Ft(e.relatedTarget),hide:Q});function Bt(e){(t.onFilter!==void 0||!H.value||Re())&&(x=!0,S=Date.now(),e.qSelectHandled=!0,t.onFilter===void 0?(l.value=!0,P.value?.show(e)):X(m.value))}function Z(e){B.editable.value&&(It(),x=!1,e!==void 0&&(e.qSelectHandled=!0),E?(B.onControlFocusin(e),B.focus(),u.value=!0,F.value?.show(e),n(()=>{B.focus()})):B.focus(),t.onFilter===void 0?(!H.value||Re())&&(l.value=!0,P.value?.show(e)):X(m.value))}function Q(e){u.value&&(e!==void 0&&(e.qSelectHandled=!0),u.value=!1,F.value?.hide(e)),Pt(e)}function $(){t.useInput&&Ct(!t.multiple&&t.fillInput&&V.value.length!==0?K.value(V.value[0])??``:``,!0,!0)}function Vt(e){let n=-1;if(e){if(V.value.length!==0){let e=G.value(V.value[0]);n=t.options.findIndex(t=>me(G.value(t),e))}ve(n)}st(n)}function Ht(e,t){l.value&&!B.innerLoading.value&&(ve(-1,!0),n(()=>{l.value&&!B.innerLoading.value&&(e>t?ve():Vt(!0))}))}function Ut(){u.value||P.value?.updatePosition()}function Wt(e){e!==void 0&&e.qSelectHandled!==!0&&I(e),o(`popupShow`,e),B.hasPopupOpen=!0,x||B.onControlFocusin(e)}function Gt(e){e!==void 0&&e.qSelectHandled!==!0&&I(e),o(`popupHide`,e),B.hasPopupOpen=!1,B.onControlFocusout(e,$)}function Kt(){E=!c.platform.is.mobile&&t.behavior!==`dialog`?!1:t.behavior!==`menu`&&(!t.useInput||Re()||t.onFilter!==void 0||!H.value),A=c.platform.is.ios&&E&&t.useInput?`fade`:t.transitionShow}return r(Kt),_(Ut),!t.noOptionPrefetch&&t.mapOptions&&t.onFilter!==void 0&&ee(()=>{te=!wt()}),Kt(),i(()=>{y!==null&&clearTimeout(y),b!==null&&clearTimeout(b)}),Object.assign(s,{showPopup:Z,hidePopup:Q,removeAtIndex:it,add:ot,toggleOption:Y,getOptionIndex:()=>p.value,setOptionIndex:st,moveOptionSelection:ct,filter:X,updateMenuPosition:Ut,updateInputValue:Ct,isOptionSelected:ut,getEmittingOptionValue:rt,isOptionDisabled:(...e)=>q.value(...e)===!0,getOptionValue:(...e)=>G.value(...e),getOptionLabel:(...e)=>K.value(...e)}),Object.assign(B,{innerValue:V,fieldClass:C(()=>`q-select q-field--auto-height q-select--with${t.useInput?``:`out`}-input q-select--with${t.useChips?``:`out`}-chips q-select--${t.multiple?`multiple`:`single`}`),inputRef:se,targetRef:N,hasValue:Ne,showPopup:Z,floatingLabel:C(()=>!t.hideSelected&&Ne.value||typeof m.value==`number`||m.value.length!==0||ge(t.displayValue)),getControlChild:()=>{if(B.editable.value&&(u.value||!H.value||Re()))return E?At():Tt();B.hasPopupOpen&&=!1},controlEvents:{onFocusin(e){It(),x=!1,B.onControlFocusin(e)},onFocusout(e){B.onControlFocusout(e,()=>{$(),Pt(e)})},onClick(e){if(L(e),!E&&l.value){if(x&&Date.now()-S<(t.transitionDuration===void 0?300:Number(t.transitionDuration))){x=!1,B.focus();return}Pt(e),N.value?.focus();return}Z(e)},onPointerenter:Lt,onPointerleave:Rt},getControl:e=>{let n=vt(),r=e===!0||!u.value||!E;if(t.useInput)n.push(bt(e,r));else{let i=r?{...Ge.value,...B.splitAttrs.attributes.value}:void 0,a={ref:r?N:void 0,key:`d_t`,class:`q-select__focus-target`,value:Ve.value,readonly:!0,"data-autofocus":e===!0||t.autofocus||void 0,...i,disabled:t.disable,id:r?B.targetUid.value:void 0,onKeydown:ht,onKeyup:ft,onKeypress:mt};r&&Object.assign(a,B.getErrorAriaAttrs(a)),n.push(T(`input`,a)),r&&B.editable.value&&typeof t.autocomplete==`string`&&t.autocomplete.length!==0&&n.push(T(`input`,{class:`q-select__autocomplete-input`,autocomplete:t.autocomplete,tabindex:-1,onKeyup:pt}))}if(!t.disable){let e=de();if(e!==void 0){let r=J.value.map(e=>T(`option`,{value:e,selected:!0}));n.push(T(`select`,{class:`hidden`,name:e,multiple:t.multiple},r))}}return T(`div`,{class:`q-field__native row items-center`,...B.splitAttrs.listeners.value},n)},shouldHideLoadingIndicator:()=>t.hideDropdownIcon===!0,getInnerAppend:()=>!t.loading&&!v.value&&!t.hideDropdownIcon?[T(k,{class:`q-select__dropdown-icon`+(l.value?` rotate-180`:``),name:W.value})]:null}),be(B)}}),K={class:`review-filters q-pa-md q-gutter-y-sm`},q={class:`row q-gutter-x-sm`},J=500,nt=g({__name:`ReviewFilters`,props:{search:{required:!0},searchModifiers:{},createdFrom:{required:!0},createdFromModifiers:{},createdTo:{required:!0},createdToModifiers:{},files:{required:!0},filesModifiers:{}},emits:[`update:search`,`update:createdFrom`,`update:createdTo`,`update:files`],setup(e){let t=D(e,`search`),n=D(e,`createdFrom`),r=D(e,`createdTo`),i=D(e,`files`),{t:a}=Te();return(e,s)=>(o(),m(`div`,K,[y(Ie,{modelValue:t.value,"onUpdate:modelValue":s[0]||=e=>t.value=e,debounce:J,placeholder:S(a)(`reviews.filters.searchPlaceholder`)},null,8,[`modelValue`,`placeholder`]),p(`div`,q,[y(he,{modelValue:n.value,"onUpdate:modelValue":s[1]||=e=>n.value=e,dense:``,outlined:``,type:`date`,class:`col`,debounce:J,label:S(a)(`reviews.filters.from`)},null,8,[`modelValue`,`label`]),y(he,{modelValue:r.value,"onUpdate:modelValue":s[2]||=e=>r.value=e,dense:``,outlined:``,type:`date`,class:`col`,debounce:J,label:S(a)(`reviews.filters.to`)},null,8,[`modelValue`,`label`])]),y(G,{modelValue:i.value,"onUpdate:modelValue":s[3]||=e=>i.value=e,dense:``,outlined:``,multiple:``,"use-input":``,"use-chips":``,"hide-dropdown-icon":``,"new-value-mode":`add-unique`,label:S(a)(`reviews.filters.files`),hint:S(a)(`reviews.filters.filesHint`)},null,8,[`modelValue`,`label`,`hint`])]))}}),rt=g({__name:`ReviewListItem`,props:{review:{}},emits:[`click`],setup(e){let t=e,{t:n}=Te(),r={in_progress:`grey-7`,approved:`positive`,changes_requested:`negative`},i=C(()=>t.review.name??n(`reviews.list.unnamed`)),s=C(()=>t.review.branch??n(`reviews.list.unknownBranch`)),c=C(()=>new Date(t.review.createdAt).toLocaleString());return(t,l)=>u((o(),v(De,{clickable:``,onClick:l[0]||=e=>t.$emit(`click`)},{default:a(()=>[y(ke,{avatar:``},{default:a(()=>[y(k,{color:r[e.review.status],name:`rate_review`},null,8,[`color`])]),_:1}),y(ke,null,{default:a(()=>[y(Le,{class:`text-body2`},{default:a(()=>[b(E(i.value),1)]),_:1}),y(Le,{caption:``},{default:a(()=>[y(k,{name:`account_tree`,size:`14px`,class:`q-mr-xs`}),b(E(s.value)+` `,1),l[1]||=p(`span`,{class:`q-mx-sm`},`·`,-1),b(` `+E(c.value),1)]),_:1})]),_:1}),y(ke,{side:``},{default:a(()=>[y(B,{color:r[e.review.status],outline:``,rounded:``},{default:a(()=>[b(E(S(n)(`reviews.status.${e.review.status}`)),1)]),_:1},8,[`color`])]),_:1})]),_:1})),[[j]])}}),it={class:`text-h6 q-px-sm`},at={key:0,class:`row justify-center q-pa-lg`},ot={key:1,class:`q-pa-lg text-center text-grey-6`},Y=O(g({__name:`ReviewsPage`,setup(e){let{t:n}=Te(),r=xe(),i=H(),{reviews:s,loading:l}=Ee(i),u=f(null),h=f(null),g=f(null),_=f([]);function b(){i.fetchReviews({search:u.value??``,createdFrom:h.value,createdTo:g.value,files:_.value})}ee(b),d([u,h,g,_],b);let C=Ne([`review:created`,`review:updated`,`review:deleted`],b);t(()=>C.close());function T(e){r.push(`/reviews/${e}`)}function te(e){r.push(`/reviews/${e.id}`)}return(e,t)=>(o(),v(Fe,{class:`reviews-page column no-wrap`},{default:a(()=>[p(`div`,it,E(S(n)(`nav.reviews`)),1),y(ve),y(nt,{search:u.value,"onUpdate:search":t[0]||=e=>u.value=e,"created-from":h.value,"onUpdate:createdFrom":t[1]||=e=>h.value=e,"created-to":g.value,"onUpdate:createdTo":t[2]||=e=>g.value=e,files:_.value,"onUpdate:files":t[3]||=e=>_.value=e},null,8,[`search`,`created-from`,`created-to`,`files`]),y(ve),y(je,{class:`col`},{default:a(()=>[S(l)?(o(),m(`div`,at,[y(se,{color:`primary`,size:`2em`})])):S(s).length===0?(o(),m(`div`,ot,[p(`p`,null,E(S(n)(`reviews.list.empty`)),1),y(N,{flat:``,color:`primary`,label:S(n)(`reviews.list.emptyAction`),to:{path:`/`}},null,8,[`label`])])):w(``,!0),y(V,{class:`q-pa-md`,separator:``,padding:``},{default:a(()=>[(o(!0),m(x,null,c(S(s),e=>(o(),v(rt,{key:e.id,review:e,onClick:t=>T(e.id)},null,8,[`review`,`onClick`]))),128))]),_:1})]),_:1}),y(Re,{onCreated:te})]),_:1}))}}),[[`__scopeId`,`data-v-612b9915`]]);export{Y as default};
@@ -1 +0,0 @@
1
- .reviews-page[data-v-612b9915]{height:100%;display:flex}
@@ -1 +0,0 @@
1
- .diff-line[data-v-ea9014d8]{font-size:var(--code-font-size);line-height:20px}.diff-line--added[data-v-ea9014d8]{background:var(--diff-added-bg)}.diff-line--removed[data-v-ea9014d8]{background:var(--diff-removed-bg)}.diff-line__gutter[data-v-ea9014d8]{text-align:right;-webkit-user-select:none;user-select:none;width:40px;color:var(--diff-gutter-color);flex:none;padding-right:8px}.diff-line__gutter--selectable[data-v-ea9014d8]{cursor:pointer}.diff-line__gutter--selectable[data-v-ea9014d8]:hover{background:color-mix(in srgb, var(--q-primary) 15%, transparent)}.diff-line__gutter--selected[data-v-ea9014d8]{background:color-mix(in srgb, var(--q-primary) 30%, transparent)}.diff-line__prefix[data-v-ea9014d8]{text-align:center;-webkit-user-select:none;user-select:none;flex:none;width:16px;font-weight:600}.diff-line--added .diff-line__prefix[data-v-ea9014d8]{color:var(--q-positive)}.diff-line--removed .diff-line__prefix[data-v-ea9014d8]{color:var(--q-negative)}.diff-line__content[data-v-ea9014d8]{white-space:pre;flex:1}.diff-line--wrap[data-v-ea9014d8]{align-items:flex-start}.diff-line--wrap .diff-line__content[data-v-ea9014d8]{white-space:pre-wrap;overflow-wrap:anywhere}.comment-form[data-v-55b62a05]{background:var(--diff-header-bg);border-radius:4px}.comment-form[data-v-55b62a05] .q-field__control,.comment-form[data-v-55b62a05] .q-field__native{font-size:var(--comment-font-size)}.comment-form[data-v-55b62a05] .q-textarea.q-field--dense .q-field__native{min-height:calc(var(--comment-font-size) * 1.4 * 3.5)}.comment-form__line-range[data-v-55b62a05]{font-size:var(--comment-font-size);color:var(--diff-gutter-color)}.comment-item[data-v-7d4ab512]{border:1px solid color-mix(in srgb, currentColor 30%, transparent);border-radius:4px}.comment-item--resolved[data-v-7d4ab512]{opacity:.7}.comment-item__body[data-v-7d4ab512]{white-space:pre-wrap;font-size:var(--comment-font-size);color:color-mix(in srgb, currentColor 72%, transparent)}.comment-item__suggestion[data-v-7d4ab512]{font-size:var(--code-font-size);background:var(--diff-header-bg);border-radius:4px;padding:4px 6px;overflow-x:auto}.comment-thread[data-v-df7fb8e9]{background:color-mix(in srgb, var(--q-primary) 4%, transparent);margin-left:var(--comment-form-indent,0);border-top:1px solid #80808033;border-bottom:1px solid #80808033}.diff-hunk[data-v-ae5a0122]{--comment-form-indent:96px}.diff-hunk__header[data-v-ae5a0122]{font-size:var(--code-font-size);padding:2px 12px}.file-content-line[data-v-44846ade]{font-size:var(--code-font-size);line-height:20px}.file-content-line__gutter[data-v-44846ade]{text-align:right;-webkit-user-select:none;user-select:none;width:48px;color:var(--diff-gutter-color);flex:none;padding-right:8px}.file-content-line__gutter--selectable[data-v-44846ade]{cursor:pointer}.file-content-line__gutter--selectable[data-v-44846ade]:hover{background:color-mix(in srgb, var(--q-primary) 15%, transparent)}.file-content-line__gutter--selected[data-v-44846ade]{background:color-mix(in srgb, var(--q-primary) 30%, transparent)}.file-content-line__content[data-v-44846ade]{white-space:pre;flex:1}.file-content-line--wrap[data-v-44846ade]{align-items:flex-start}.file-content-line--wrap .file-content-line__content[data-v-44846ade]{white-space:pre-wrap;overflow-wrap:anywhere}.file-content-view[data-v-a2eed3df]{--comment-form-indent:48px}.file-card-frame[data-v-e02b3e52]{border:1px solid #80808033;border-radius:4px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.file-card-header[data-v-28b34b1f]{background:var(--diff-header-bg);column-gap:8px;width:100%;min-width:0;padding:6px 12px}.file-card-header__name[data-v-28b34b1f]{flex:0 auto;column-gap:4px;min-width:0}.file-card-header__path[data-v-28b34b1f]{min-width:0}.comment-count-badge[data-v-1178be5a]{color:var(--diff-gutter-color);margin-left:8px}.comment-count-badge[data-v-1178be5a] .q-badge--floating{top:-7px;right:-9px}.diff-file-card[data-v-5c63ed0a]{margin-bottom:8px}.diff-file-card__header-item[data-v-5c63ed0a]{min-height:0;padding:0}.diff-file-card__chevron[data-v-5c63ed0a]{transition:transform .15s}.diff-file-card__chevron--expanded[data-v-5c63ed0a]{transform:rotate(90deg)}.diff-file-card__toggle-section[data-v-5c63ed0a]{justify-content:flex-end;min-width:160px;display:flex}.diff-file-card__status-section[data-v-5c63ed0a]{justify-content:flex-end;min-width:92px;display:flex}.diff-file-card__stats[data-v-5c63ed0a]{text-align:right;min-width:76px;display:inline-block}.diff-file-card__body[data-v-5c63ed0a]{border-top:1px solid #80808033;overflow:auto hidden}