@tequila99/githuman 0.9.0 → 0.10.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 (187) hide show
  1. package/README.md +40 -9
  2. package/dist/cli/config.js +35 -2
  3. package/dist/cli/index.js +2 -1
  4. package/dist/cli/server-runtime.js +14 -11
  5. package/dist/cli/startup-message.js +5 -4
  6. package/dist/server/app.js +48 -5
  7. package/dist/server/db/migrations.js +19 -0
  8. package/dist/server/errors/devices.js +7 -0
  9. package/dist/server/errors/http.js +1 -0
  10. package/dist/server/hooks/access/local-request.js +21 -0
  11. package/dist/server/hooks/access/require-access.js +93 -0
  12. package/dist/server/hooks/agents/local-origin.js +9 -26
  13. package/dist/server/hooks/notes/same-origin.js +7 -34
  14. package/dist/server/hooks/terminal/local-origin.js +8 -22
  15. package/dist/server/repositories/device.repo.js +74 -0
  16. package/dist/server/routes/agent.js +11 -2
  17. package/dist/server/routes/devices.js +130 -0
  18. package/dist/server/routes/events.js +7 -1
  19. package/dist/server/routes/notes.js +3 -3
  20. package/dist/server/routes/terminal.js +10 -2
  21. package/dist/server/services/device-connections.js +79 -0
  22. package/dist/server/services/device.service.js +222 -0
  23. package/dist/server/utils/address-key.js +33 -0
  24. package/dist/server/utils/allowed-hosts.js +38 -0
  25. package/dist/server/utils/device-name.js +27 -0
  26. package/dist/server/utils/lan-addresses.js +35 -0
  27. package/dist/server/utils/request-origin.js +105 -0
  28. package/dist/shared/devices/constants.js +16 -0
  29. package/dist/shared/devices/name.js +12 -0
  30. package/dist/shared/devices/schemas.js +67 -0
  31. package/dist/shared/devices/types.js +1 -0
  32. package/dist/shared/events/types.js +2 -1
  33. package/dist/shared/network/address-url.js +4 -0
  34. package/dist/shared/utils/date.js +3 -0
  35. package/dist/web/assets/AccessPage-CAjilkAc.js +1 -0
  36. package/dist/web/assets/AccessPage-DntcW7f8.css +1 -0
  37. package/dist/web/assets/{ClosePopup-lpH_1Ju2.js → ClosePopup-p9VBZw3j.js} +1 -1
  38. package/dist/web/assets/{CreateButton-Dnpwobd9.js → CreateButton-B7-yiqQx.js} +2 -2
  39. package/dist/web/assets/CreateReviewFabButton-BJOAdPG1.js +1 -0
  40. package/dist/web/assets/IndexPage-B0itnrts.js +1 -0
  41. package/dist/web/assets/MainLayout-CP6Bz7DA.js +6 -0
  42. package/dist/web/assets/{MainLayout-DM30ynlR.css → MainLayout-vDaYlRjL.css} +1 -1
  43. package/dist/web/assets/{NoteVisualEditor-Bj13_oEl.js → NoteVisualEditor-oWUBSuDR.js} +2 -2
  44. package/dist/web/assets/NotesPage-Ou5XG64h.js +4 -0
  45. package/dist/web/assets/PanelResize-D1cRotAi.js +1 -0
  46. package/dist/web/assets/{PdfPreview-C7HomxEg.js → PdfPreview-DIgRK8Vh.js} +1 -1
  47. package/dist/web/assets/QExpansionItem-BouBPgdb.js +4 -0
  48. package/dist/web/assets/{QFab-C-YZWgmW.js → QFab-B5iz2kQR.js} +1 -1
  49. package/dist/web/assets/QForm-tsecXm87.js +1 -0
  50. package/dist/web/assets/QResizeObserver-gIKjGVQ7.js +1 -0
  51. package/dist/web/assets/{QScrollArea-BSSZoaV5.js → QScrollArea-BrOkfO1I.js} +1 -1
  52. package/dist/web/assets/{QSelect-2iOBkp1K.js → QSelect-B5EBNlJ4.js} +1 -1
  53. package/dist/web/assets/QSpace-CqqgY-zX.js +1 -0
  54. package/dist/web/assets/{QVirtualScroll-CZJMBpmR.js → QVirtualScroll-BoXSHM25.js} +1 -1
  55. package/dist/web/assets/ReviewDetailPage-C3NBR_xR.js +1 -0
  56. package/dist/web/assets/{ReviewsPage-RyST0FlH.js → ReviewsPage-Bkinx_Bm.js} +1 -1
  57. package/dist/web/assets/StatusSwitcher-8QUHj5Rq.js +1 -0
  58. package/dist/web/assets/{TerminalView-BAzJgUTq.js → TerminalView-elu1dIYU.js} +2 -2
  59. package/dist/web/assets/{abnfDiagram-O67JEVCF-BNZQ7duT.js → abnfDiagram-O67JEVCF-BMF1j0ZS.js} +1 -1
  60. package/dist/web/assets/access-store-Y2QO4AK-.js +1 -0
  61. package/dist/web/assets/{agent-store-DP6Vrw6L.js → agent-store-1i-UjEzZ.js} +46 -46
  62. package/dist/web/assets/architecture-7GRP2DOG-DcZ4-ijA.js +1 -0
  63. package/dist/web/assets/{architectureDiagram-NJMV4G6O-Bkj0kfFn.js → architectureDiagram-NJMV4G6O-Bz4u-gZC.js} +1 -1
  64. package/dist/web/assets/{blockDiagram-BEXU5L5S-CXO3zN2c.js → blockDiagram-BEXU5L5S-qQW37qVK.js} +1 -1
  65. package/dist/web/assets/{c4Diagram-YGBWAQC7-BHfMeZNf.js → c4Diagram-YGBWAQC7-BBwd76CZ.js} +1 -1
  66. package/dist/web/assets/channel-Cgf35HIt.js +1 -0
  67. package/dist/web/assets/{chunk-3FUC2YCW-z1WbH7Gi.js → chunk-3FUC2YCW-BnhnfUz2.js} +1 -1
  68. package/dist/web/assets/{chunk-5DYCD2WN-K9HPch97.js → chunk-5DYCD2WN-DdK6RzN0.js} +1 -1
  69. package/dist/web/assets/{chunk-742MDFTN-Bhjp9fC-.js → chunk-742MDFTN-e_JaY6d5.js} +1 -1
  70. package/dist/web/assets/{chunk-7INBJB4K-Do0EmU14.js → chunk-7INBJB4K-CQjEZWay.js} +1 -1
  71. package/dist/web/assets/{chunk-7M6MHVWA-veeEjsOh.js → chunk-7M6MHVWA-Dhx8Ycf8.js} +1 -1
  72. package/dist/web/assets/{chunk-7PRAP22T-CPqB5tCK.js → chunk-7PRAP22T-DDWxOzU1.js} +1 -1
  73. package/dist/web/assets/{chunk-GTNCS2PH-Civ1V52P.js → chunk-GTNCS2PH-B-ZscolZ.js} +1 -1
  74. package/dist/web/assets/{chunk-GWA4HPMP-C7LzAlyZ.js → chunk-GWA4HPMP-CboS0KEV.js} +1 -1
  75. package/dist/web/assets/{chunk-MBY4JIJT-DfmJy0o_.js → chunk-MBY4JIJT-CiI_FkjG.js} +1 -1
  76. package/dist/web/assets/{chunk-NETBCI7D-BZIKmMvL.js → chunk-NETBCI7D-D9ennL0_.js} +1 -1
  77. package/dist/web/assets/{chunk-O7XYJQB3-DcHeu6b7.js → chunk-O7XYJQB3-y25ZXdWk.js} +1 -1
  78. package/dist/web/assets/{chunk-UA2S7LBM-0SR2og6x.js → chunk-UA2S7LBM-BRHq7OMm.js} +1 -1
  79. package/dist/web/assets/{chunk-WEXAMYUT-CJMSoM-Z.js → chunk-WEXAMYUT-CQu7edQh.js} +1 -1
  80. package/dist/web/assets/{chunk-Z7XXMR3K-q6fce66x.js → chunk-Z7XXMR3K-B3dBNvo3.js} +1 -1
  81. package/dist/web/assets/{chunk-ZIGJFQKS-DsPzen4Y.js → chunk-ZIGJFQKS-CbyA33sL.js} +1 -1
  82. package/dist/web/assets/{classDiagram-v2-NBCMYWYE-Cpm_bvzb.js → classDiagram-v2-NBCMYWYE-CgFqOQ8k.js} +1 -1
  83. package/dist/web/assets/{cynefin-OW5HDTMX-ZTr5XZMW.js → cynefin-OW5HDTMX-DJ9N0QYa.js} +1 -1
  84. package/dist/web/assets/{cynefinDiagram-VND7K2PF-ByUmUx58.js → cynefinDiagram-VND7K2PF-DIWysrbV.js} +1 -1
  85. package/dist/web/assets/{dagre-6A5THRUB-mQOy0E3r.js → dagre-6A5THRUB-Dt2w_dKa.js} +1 -1
  86. package/dist/web/assets/devices-store-CtEl_8An.js +1 -0
  87. package/dist/web/assets/{diagram-22UHCM2B-BW0LPtyk.js → diagram-22UHCM2B-DYd638CD.js} +1 -1
  88. package/dist/web/assets/{diagram-3UASUU5V-jo148ec5.js → diagram-3UASUU5V-B0a-K-41.js} +1 -1
  89. package/dist/web/assets/{diagram-ATOU4E4O-CJt4F0i4.js → diagram-ATOU4E4O-oH2KoPKR.js} +1 -1
  90. package/dist/web/assets/{diagram-CDSNMT55-DEShJv56.js → diagram-CDSNMT55-B5DGBpGB.js} +1 -1
  91. package/dist/web/assets/{diagram-MLGK6HIB-DOFOADfs.js → diagram-MLGK6HIB-C-bsgsc0.js} +1 -1
  92. package/dist/web/assets/{diagram-MPIPVDR6-ux537BMl.js → diagram-MPIPVDR6-BrlKNYLc.js} +1 -1
  93. package/dist/web/assets/{dist-Bu9yRqTU.js → dist-B8irqXQ_.js} +1 -1
  94. package/dist/web/assets/{dist-CLv-grWO.js → dist-B9umI5Mp.js} +1 -1
  95. package/dist/web/assets/{dist-BbdrgL5V.js → dist-Bf4bAu7y.js} +1 -1
  96. package/dist/web/assets/{dist-BThMRW5U.js → dist-Bi2OWZ35.js} +1 -1
  97. package/dist/web/assets/{dist-CK1va5C_.js → dist-Bso6nKGK.js} +1 -1
  98. package/dist/web/assets/{dist-DL0dBIkt.js → dist-C-lnpukg.js} +1 -1
  99. package/dist/web/assets/{dist-D1EUrS6y.js → dist-CNHlSxJl.js} +1 -1
  100. package/dist/web/assets/{dist-Bo7anpPj.js → dist-CfIeEdHm.js} +1 -1
  101. package/dist/web/assets/{dist-Bvnostf5.js → dist-CxiJzNsC.js} +1 -1
  102. package/dist/web/assets/{dist-7xWvOKEv.js → dist-DMe9nqcB.js} +1 -1
  103. package/dist/web/assets/{dist-BWa3ecCV.js → dist-Dz9Y2yQi.js} +1 -1
  104. package/dist/web/assets/{ebnfDiagram-ZINNZB2B-DEybuZle.js → ebnfDiagram-ZINNZB2B-BEpTgssQ.js} +1 -1
  105. package/dist/web/assets/{elk-276RUBZZ-CZXZRpGb.js → elk-276RUBZZ-lzj6IMyM.js} +1 -1
  106. package/dist/web/assets/{erDiagram-OPXOYQCR-BgRqGAt5.js → erDiagram-OPXOYQCR-CHOMf2bq.js} +1 -1
  107. package/dist/web/assets/eventmodeling-NTZA5JFV-CyXHXiX_.js +1 -0
  108. package/dist/web/assets/flowDiagram-KWPJA3E3-C4espOge.js +1 -0
  109. package/dist/web/assets/{ganttDiagram-FUAMR5RP-CBJwX1gk.js → ganttDiagram-FUAMR5RP-TumKIsrB.js} +1 -1
  110. package/dist/web/assets/{gitGraph-4MIJSDKK-Dw-XA3G1.js → gitGraph-4MIJSDKK-H-1qnbZy.js} +1 -1
  111. package/dist/web/assets/{gitGraphDiagram-X574FWY7-BpGccoWp.js → gitGraphDiagram-X574FWY7-DRIXoFhM.js} +1 -1
  112. package/dist/web/assets/i18n-xttkoi4H.js +1 -0
  113. package/dist/web/assets/index-BQi8n0xV.js +2 -0
  114. package/dist/web/assets/{info-A6RAGUB7-Dj5RfJsg.js → info-A6RAGUB7-W0vgdn7h.js} +1 -1
  115. package/dist/web/assets/{infoDiagram-VRGFBTTK-DyVSH991.js → infoDiagram-VRGFBTTK-Dkb5juPW.js} +1 -1
  116. package/dist/web/assets/init-app-DlPQG9dK.js +1 -0
  117. package/dist/web/assets/{ishikawaDiagram-OU5B5YK6-Cu0n2oqT.js → ishikawaDiagram-OU5B5YK6-BHH8nvlH.js} +1 -1
  118. package/dist/web/assets/{journeyDiagram-ZHPQQLJL-Bz1Ot6Zg.js → journeyDiagram-ZHPQQLJL-DDyceAFf.js} +1 -1
  119. package/dist/web/assets/{kanban-definition-PNTS6WVX-C42vuY7H.js → kanban-definition-PNTS6WVX-DKE8pxuA.js} +1 -1
  120. package/dist/web/assets/{line-C5WKurbS.js → line-Cw6FtNmb.js} +1 -1
  121. package/dist/web/assets/{markdown-DBTEhbhQ.js → markdown-CIA-pqWB.js} +2 -2
  122. package/dist/web/assets/{mermaid-parser.core-B7l8qh8B.js → mermaid-parser.core-CWHLi3M4.js} +3 -3
  123. package/dist/web/assets/{mermaid.core-Drs2mjGg.js → mermaid.core-DbTjxMTH.js} +4 -4
  124. package/dist/web/assets/{mindmap-definition-NLK3R4M7-BV1FNwCn.js → mindmap-definition-NLK3R4M7-B3MzGWwm.js} +1 -1
  125. package/dist/web/assets/{packet-AYTQ26CC-BPmUY1Ig.js → packet-AYTQ26CC-B5qqn_tj.js} +1 -1
  126. package/dist/web/assets/{pegDiagram-GJSIUBJH-D6NPxPdr.js → pegDiagram-GJSIUBJH-DtcoRpgi.js} +1 -1
  127. package/dist/web/assets/{pie-WAS4IAKB-CTp2jNAc.js → pie-WAS4IAKB-BP-vRsnM.js} +1 -1
  128. package/dist/web/assets/{pieDiagram-5QR66LMP-BVkABrg7.js → pieDiagram-5QR66LMP-CYy6L6IC.js} +1 -1
  129. package/dist/web/assets/pinia-CJGnEjj3.js +1 -0
  130. package/dist/web/assets/{quadrantDiagram-O4NWA36T-LZCjVd08.js → quadrantDiagram-O4NWA36T-Hi2aHxKi.js} +1 -1
  131. package/dist/web/assets/{radar-RG4KPBEZ-CCiUrmsg.js → radar-RG4KPBEZ-BumlhyD5.js} +1 -1
  132. package/dist/web/assets/{railroad-74A4TZTK-CZn8VJbK.js → railroad-74A4TZTK-CROMzUe6.js} +1 -1
  133. package/dist/web/assets/railroad-abnf-HS5TGJTU-C5G3FxcO.js +1 -0
  134. package/dist/web/assets/railroad-ebnf-LZEXJU2U-BrTMLAtv.js +1 -0
  135. package/dist/web/assets/railroad-peg-WCYAUIDC-CXVDExl0.js +1 -0
  136. package/dist/web/assets/{railroadDiagram-XR7U4H2S-nopy-mdw.js → railroadDiagram-XR7U4H2S-De5-oSrU.js} +1 -1
  137. package/dist/web/assets/{requirementDiagram-PLB6GJNP-BOeMzf-x.js → requirementDiagram-PLB6GJNP-CBqteg6M.js} +1 -1
  138. package/dist/web/assets/{safe-storage-aRoyeFxv.js → safe-storage-BACMX75F.js} +1 -1
  139. package/dist/web/assets/{sankeyDiagram-IPEJSGJF-Bbk0AQUe.js → sankeyDiagram-IPEJSGJF-DfKF1Ck-.js} +1 -1
  140. package/dist/web/assets/{sequenceDiagram-PO4LG4MO-ZpubjKFc.js → sequenceDiagram-PO4LG4MO-D-sVWt3S.js} +1 -1
  141. package/dist/web/assets/single-flight-DLCbzLI3.js +1 -0
  142. package/dist/web/assets/{stateDiagram-v2-GCMORJYK-DNjDh9yZ.js → stateDiagram-v2-GCMORJYK-DruoQvcn.js} +1 -1
  143. package/dist/web/assets/{swimlanes-2SLR337P-C-_UzZF_.js → swimlanes-2SLR337P-BxFZLbJA.js} +1 -1
  144. package/dist/web/assets/swimlanesDiagram-TC7HE7FX-C3zKO6Gm.js +8 -0
  145. package/dist/web/assets/theme-B01ZDSW1.js +1 -0
  146. package/dist/web/assets/{timeline-definition-EJHVYXUP-BiaJyHdJ.js → timeline-definition-EJHVYXUP-BixIZZx_.js} +1 -1
  147. package/dist/web/assets/{treeView-Q6P3EWNA-CENjlerX.js → treeView-Q6P3EWNA-Nzi6VzwD.js} +1 -1
  148. package/dist/web/assets/{treemap-WGGIJYW6-CBpdf3L2.js → treemap-WGGIJYW6-DmAPjB44.js} +1 -1
  149. package/dist/web/assets/{use-add-agent-context-SApxn9fW.js → use-add-agent-context-BE_z8acF.js} +1 -1
  150. package/dist/web/assets/{use-app-theme-DP8Ymwwb.js → use-app-theme-C1KrIJLx.js} +1 -1
  151. package/dist/web/assets/use-countdown-2uTxlnFE.js +1 -0
  152. package/dist/web/assets/{use-panel-width-CTXD_csP.js → use-panel-width-DFOmK5Az.js} +1 -1
  153. package/dist/web/assets/use-server-events-BrBCbeHu.js +1 -0
  154. package/dist/web/assets/{usecaseDiagram-POWQR4AR-CcJ83_Ve.js → usecaseDiagram-POWQR4AR-BlNkvrZH.js} +1 -1
  155. package/dist/web/assets/{vennDiagram-UO4OBE2U-DBjzpbFr.js → vennDiagram-UO4OBE2U-BFjSeLM4.js} +1 -1
  156. package/dist/web/assets/{wardley-WFR3VGLG-DmlbUWUM.js → wardley-WFR3VGLG-DTs7R1tQ.js} +1 -1
  157. package/dist/web/assets/{wardleyDiagram-VNRHLVJA-CWSZCqf4.js → wardleyDiagram-VNRHLVJA-BNMmP3TU.js} +1 -1
  158. package/dist/web/assets/window-store-CIFm3O3S.js +1 -0
  159. package/dist/web/assets/{xychartDiagram-PMCCYNJV-CMnNSaZv.js → xychartDiagram-PMCCYNJV-Bi24Uotp.js} +1 -1
  160. package/dist/web/index.html +1 -1
  161. package/package.json +3 -1
  162. package/dist/web/assets/CreateReviewFabButton-KvKPEJzI.js +0 -1
  163. package/dist/web/assets/IndexPage-DE-IkAhK.js +0 -1
  164. package/dist/web/assets/MainLayout-wWA8ckBg.js +0 -6
  165. package/dist/web/assets/NotesPage-FidBg83M.js +0 -4
  166. package/dist/web/assets/PanelResize-DY0Nzmql.js +0 -1
  167. package/dist/web/assets/QForm-DpEhYVCa.js +0 -4
  168. package/dist/web/assets/QResizeObserver-DeRFR_WF.js +0 -1
  169. package/dist/web/assets/QSpace-B5NneHAd.js +0 -1
  170. package/dist/web/assets/ReviewDetailPage-BI1iAhSf.js +0 -1
  171. package/dist/web/assets/StatusSwitcher-DAeNzNP7.js +0 -1
  172. package/dist/web/assets/app-info-store-u6ZVFjv5.js +0 -1
  173. package/dist/web/assets/architecture-7GRP2DOG-BSdnjp9Z.js +0 -1
  174. package/dist/web/assets/channel-DmoOM6AB.js +0 -1
  175. package/dist/web/assets/eventmodeling-NTZA5JFV-ZuRq6Sae.js +0 -1
  176. package/dist/web/assets/flowDiagram-KWPJA3E3-DRyHAdLb.js +0 -1
  177. package/dist/web/assets/i18n-sfJvmpVb.js +0 -1
  178. package/dist/web/assets/index-B2CzafCr.js +0 -2
  179. package/dist/web/assets/init-app-DSS44aRI.js +0 -1
  180. package/dist/web/assets/pinia-BVWaJ8NX.js +0 -1
  181. package/dist/web/assets/railroad-abnf-HS5TGJTU-B-9tG9pW.js +0 -1
  182. package/dist/web/assets/railroad-ebnf-LZEXJU2U-D7lUyGOq.js +0 -1
  183. package/dist/web/assets/railroad-peg-WCYAUIDC-ja94t32K.js +0 -1
  184. package/dist/web/assets/swimlanesDiagram-TC7HE7FX-CVSZNvS2.js +0 -8
  185. package/dist/web/assets/theme-CeQhGDjh.js +0 -1
  186. package/dist/web/assets/use-server-events-C13Sw-rU.js +0 -1
  187. package/dist/web/assets/window-store-DNnKUhxs.js +0 -1
@@ -0,0 +1,4 @@
1
+ import{K as e,O as t,T as n,b as r,ct as i,ot as a,s as o,st as s}from"./runtime-core.esm-bundler-BKFI1w28.js";import{o as c,p as l,r as u}from"./use-router-link-BGc0noIO.js";import{u as d}from"./event-rR76ioXz.js";import{t as f}from"./create-BSmXD9Zr.js";import{d as p,f as m}from"./QInput-DJgTh2Qy.js";import{l as h}from"./QBtn-DoggJe1Q.js";import{n as g,t as _}from"./use-dark-BHObfh0O.js";import{Q as v,X as y,Z as b,i as x}from"./index-BQi8n0xV.js";import{r as S}from"./use-virtual-scroll-BSXYZjZ5.js";import{c as C,s as w}from"./ClosePopup-p9VBZw3j.js";function T(e){return e.endsWith(`/`)}function E(e){return e.replace(/\/+$/,``)}function D(e){let t=T(e),n=E(e),r=n.lastIndexOf(`/`),i=r===-1?n:n.slice(r+1);return{name:t?`${i}/`:i,parent:r===-1?``:n.slice(0,r),directory:t}}function O(e){let t=/(?:^|\s)@([^\s@]*)$/.exec(e);if(!t)return null;let n=t[1]??``;return{query:n,start:e.length-n.length-1}}function k(e,t){let{name:n,parent:r}=D(e),i=t.some(t=>t!==e&&D(t).name===n),a=r.split(`/`).at(-1)??``;return i&&a!==``?`${a}/${n}`:n}function A(e){return e.map(e=>T(e)?{kind:`directory`,path:E(e)}:{kind:`file`,path:e})}function j(e){let t=[],n=``;function r(e){for(let i of e)i.type===`text`?n+=i.text:i.type===`br`?n+=`
2
+ `:i.type===`mention`?(n+=`@${i.path}`,t.includes(i.path)||t.push(i.path)):(n!==``&&!n.endsWith(`
3
+ `)&&(n+=`
4
+ `),r(i.children))}return r(e),{text:n.replace(/ /g,` `).trim(),paths:t}}var M=()=>{},N=`cubic-bezier(.25, .8, .50, 1)`,P=`calc-size(auto, size)`,F=[{height:`0px`},{height:P}],I=[{height:P},{height:`0px`}],L=typeof CSS<`u`&&CSS.supports(`height`,P)?R:z;function R(e,n=M){let r=null,i,a,o=null;function s(){o!==null&&(clearTimeout(o),o=null),r?.cancel(),r=null}function c(){s(),i?.(),i=null}function l(e,t){e.style.overflowY=null,c(),t!==a&&n(t)}function u(t,n,s,c){let u=e(),d=r!==null&&r.effect.target===t;if(r===null?a=s===`show`?`hide`:`show`:(d||i?.(),clearTimeout(o)),i=n,u<=0){l(t,s);return}d?r.reverse():(r?.cancel(),t.style.overflowY=`hidden`,r=t.animate(c,{duration:u,easing:N,fill:`forwards`})),r.onfinish=()=>{l(t,s)},o=setTimeout(r.onfinish,u*1.1)}function d(e,t){u(e,t,`show`,F)}function f(e,t){u(e,t,`hide`,I)}return t(()=>{r!==null&&c()}),{onEnter:d,onLeave:f}}function z(e,n=M){let r=!1,i,a,o=null,s,c;function l(){r=!1,o!==null&&(clearTimeout(o),o=null),a?.removeEventListener(`transitionend`,s),s=null}function u(){l(),i?.(),i=null}function d(e){a!==e&&i?.(),i=null,l()}function f(t,n,a){return n!==void 0&&(t.style.height=`${n}px`),t.style.transition=`height ${e()}ms ${N}`,r=!0,i=a,t.scrollHeight}function p(e,t){e.style.overflowY=null,e.style.height=null,e.style.transition=null,u(),t!==c&&n(t)}function m(t,n){let l=0,u=r,m=e();if(u?d(t):c=`hide`,a=t,m<=0){i=n,p(t,`show`);return}u?l=t.offsetHeight===t.scrollHeight?0:void 0:t.style.overflowY=`hidden`;let h=f(t,l,n);t.style.height=`${h}px`,s=e=>{(Object(e)!==e||e.target===t)&&p(t,`show`)},t.addEventListener(`transitionend`,s),o=setTimeout(s,m*1.1)}function h(t,n){let l,u=r,m=e();if(u?d(t):c=`show`,a=t,m<=0){i=n,p(t,`hide`);return}u===!1&&(t.style.overflowY=`hidden`,l=t.scrollHeight),f(t,l,n),t.style.height=0,s=e=>{(Object(e)!==e||e.target===t)&&p(t,`hide`)},t.addEventListener(`transitionend`,s),o=setTimeout(s,m*1.1)}return t(()=>{r&&u()}),{onEnter:m,onLeave:h}}var B=s({});function V(e){e.keyCode===32&&d(e)}var H=Object.keys(u),U=f({name:`QExpansionItem`,props:{...u,...v,...g,icon:String,label:String,labelLines:[Number,String],caption:String,captionLines:[Number,String],dense:Boolean,toggleAriaLabel:String,expandIcon:String,expandedIcon:String,expandIconClass:[Array,String,Object],duration:{type:Number,default:300},headerInsetLevel:Number,contentInsetLevel:Number,expandSeparator:Boolean,defaultOpened:Boolean,hideExpandIcon:Boolean,expandIconToggle:Boolean,switchToggleSide:Boolean,denseToggle:Boolean,group:String,popup:Boolean,headerStyle:[Array,String,Object],headerClass:[Array,String,Object]},emits:[...b,`click`,`afterShow`,`afterHide`],setup(s,{slots:u,emit:f}){let g=l(),v=_(s,g),b=a(s.modelValue===null?s.defaultOpened:s.modelValue),T=i(null),E=i(null),D=p(),{show:O,hide:k,toggle:A}=y({showing:b}),j=a(!b.value),{onEnter:M,onLeave:N}=L(()=>s.duration,X),P,F,I=o(()=>`q-expansion-item q-item-type q-expansion-item--${b.value?`expanded`:`collapsed`} q-expansion-item--${s.popup?`popup`:`standard`}`),R=o(()=>{let e=j.value?{display:`none`}:{};if(s.contentInsetLevel!==void 0){let t=g.lang.rtl?`Right`:`Left`;e[`padding`+t]=s.contentInsetLevel*56+`px`}return e}),z=o(()=>!s.disable&&(s.href!==void 0||s.to!==void 0&&s.to!==null&&s.to!==``)),U=o(()=>{let e={};return H.forEach(t=>{e[t]=s[t]}),e}),W=o(()=>z.value||!s.expandIconToggle),G=o(()=>s.expandedIcon!==void 0&&b.value?s.expandedIcon:s.expandIcon||g.iconSet.expansionItem[s.denseToggle?`denseIcon`:`icon`]),K=o(()=>!s.disable&&(z.value||s.expandIconToggle)),q=o(()=>({expanded:b.value,detailsId:D.value,toggle:A,show:O,hide:k})),J=o(()=>{let e=s.toggleAriaLabel===void 0?g.lang.label[b.value?`collapse`:`expand`](s.label):s.toggleAriaLabel;return{role:`button`,"aria-expanded":b.value?`true`:`false`,"aria-controls":D.value,"aria-label":e}});e(()=>s.group,e=>{F?.(),e!==void 0&&$()});function ee(e){z.value||A(e),f(`click`,e)}function te(e){[13,32].includes(e.keyCode)&&Y(e,!0)}function Y(e,t){!t&&!e.qAvoidFocus&&T.value?.focus({preventScroll:!0}),A(e),d(e)}function X(e){f(e===`show`?`afterShow`:`afterHide`)}function Z(){j.value=!0}function Q(){E.value!==null&&M(E.value)}e(b,e=>{e?j.value?(j.value=!1,n(Q)):Q():E.value===null?(Z(),X(`hide`)):N(E.value,Z)});function $(){P===void 0&&(P=m()),b.value&&(B[s.group]=P);let t=e(b,e=>{e?B[s.group]=P:B[s.group]===P&&delete B[s.group]}),n=e(()=>B[s.group],(e,t)=>{t===P&&e!==void 0&&e!==P&&k()});F=()=>{t(),n(),B[s.group]===P&&delete B[s.group],F=void 0}}function ne(){let e={class:[`q-expansion-item__toggle-section${s.switchToggleSide?` q-expansion-item__toggle-section--switched`:``} q-focusable relative-position cursor-pointer${s.denseToggle&&s.switchToggleSide?` items-end`:``}`,s.expandIconClass],side:!0},t=[r(h,{class:`q-expansion-item__toggle-icon`+(s.expandedIcon===void 0&&b.value?` q-expansion-item__toggle-icon--rotated`:``),name:G.value})];return K.value&&(Object.assign(e,{tabindex:0,...J.value,onClick:Y,onKeydown:V,onKeyup:te}),t.unshift(r(`div`,{ref:T,class:`q-expansion-item__toggle-focus q-icon q-focus-helper q-focus-helper--rounded`,tabindex:-1}))),r(C,e,()=>t)}function re(){let e;return u.header===void 0?(e=[r(C,()=>[r(S,{lines:s.labelLines},()=>s.label||``),s.caption?r(S,{lines:s.captionLines,caption:!0},()=>s.caption):null])],s.icon&&e[s.switchToggleSide?`push`:`unshift`](r(C,{class:`q-expansion-item__icon-section`,avatar:!0},()=>r(h,{name:s.icon})))):e=[u.header(q.value)].flat(),!s.disable&&!s.hideExpandIcon&&e[s.switchToggleSide?`unshift`:`push`](ne()),e}function ie(){let e={ref:`item`,style:s.headerStyle,class:s.headerClass,dark:v(),disable:s.disable,dense:s.dense,insetLevel:s.headerInsetLevel};return W.value&&(e.clickable=!0,e.onClick=ee,Object.assign(e,z.value?U.value:J.value)),r(w,e,re)}function ae(){let e=[ie(),r(`div`,{ref:E,class:`q-expansion-item__content relative-position`,style:R.value,id:D.value},c(u.default))];return s.expandSeparator&&e.push(r(x,{class:`q-expansion-item__border q-expansion-item__border--top absolute-top`,dark:v()}),r(x,{class:`q-expansion-item__border q-expansion-item__border--bottom absolute-bottom`,dark:v()})),e}return s.group!==void 0&&$(),t(()=>{F?.()}),()=>r(`div`,{class:I.value},[r(`div`,{class:`q-expansion-item__container relative-position`},ae())])}});export{k as a,A as i,L as n,j as o,O as r,D as s,U as t};
@@ -1 +1 @@
1
- import{F as e,K as t,b as n,ct as r,ot as i,s as a}from"./runtime-core.esm-bundler-BKFI1w28.js";import{h as o,i as s,o as c,p as l}from"./use-router-link-BGc0noIO.js";import{t as u}from"./create-BSmXD9Zr.js";import{d}from"./QInput-DJgTh2Qy.js";import{l as f,t as p}from"./QBtn-DoggJe1Q.js";import{Q as m,X as h,Z as g}from"./index-B2CzafCr.js";import{i as _,r as v}from"./ClosePopup-lpH_1Ju2.js";var y=[`top`,`right`,`bottom`,`left`],b={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=>y.includes(e)},externalLabel:Boolean,hideLabel:{type:Boolean},labelClass:[Array,String,Object],labelStyle:[Array,String,Object],disable:Boolean,tabindex:[Number,String]},x=[`label`],S=Object.keys(b).filter(e=>!x.includes(e)&&p.props[e]!==void 0);function C(e){let t={};for(let n of S)t[n]=e[n];return t}function w(e,t){return{formClass:a(()=>`q-fab--form-${e.square?`square`:`rounded`}`),stacked:a(()=>!e.externalLabel&&[`top`,`bottom`].includes(e.labelPosition)),labelProps:a(()=>{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 T=[`up`,`right`,`down`,`left`],E=[`left`,`center`,`right`],D=180,O=u({name:`QFab`,props:{...b,...m,icon:String,activeIcon:String,hideIcon:Boolean,hideLabel:{...b.hideLabel,default:null},direction:{type:String,default:`right`,validator:e=>T.includes(e)},..._,persistent:Boolean,stagger:{type:Number,default:40},verticalActionsAlign:{type:String,default:`center`,validator:e=>E.includes(e)}},emits:g,setup(u,{slots:m}){let g=r(null),_=i(u.modelValue===!0),y=d(),b=l(),{formClass:x,stacked:S,labelProps:T}=w(u,_),E=a(()=>!u.persistent),{show:O,hide:k,toggle:A}=h({showing:_,hideOnRouteChange:E}),j=0,{clearHoverTimer:M,hoverShow:N,hoverHide:P}=v({props:u,canShow:()=>!_.value,show:e=>{j=Date.now(),O(e)},canHide:()=>_.value,hide:k});t(_,M);function F(e){_.value&&Date.now()-j<D||A(e)}let I=a(()=>({opened:_.value})),L=a(()=>`q-fab z-fab row inline justify-center q-fab--align-${u.verticalActionsAlign} ${x.value}`+(_.value?` q-fab--opened`:` q-fab--closed`)),R=a(()=>`q-fab__actions flex no-wrap inline q-fab__actions--${u.direction} q-fab__actions--${_.value?`opened`:`closed`}`),z=a(()=>u.hover?{onPointerenter:N,onPointerleave:P}:{}),B=a(()=>{let e={id:y.value,style:`--q-fab-stagger: ${u.stagger}ms`};return _.value||(e[`aria-hidden`]=`true`),e}),V=a(()=>`q-fab__icon-holder q-fab__icon-holder--${_.value?`opened`:`closed`}`);function H(e,t){let r=m[e],i=`q-fab__${e} absolute-full`;return r===void 0?n(f,{class:i,name:u[t]||b.iconSet.fab[t]}):n(`div`,{class:i},r(I.value))}function U(){let e=[];return u.hideIcon||e.push(n(`div`,{class:V.value},[H(`icon`,`icon`),H(`active-icon`,`activeIcon`)])),(u.label!==``||m.label!==void 0)&&e[T.value.action](n(`div`,T.value.data,m.label===void 0?[u.label]:m.label(I.value))),s(m.tooltip,e)}return e(o,{showing:_,onChildClick(e){k(e),e?.qAvoidFocus!==!0&&g.value?.$el.focus()}}),()=>n(`div`,{class:L.value,...z.value},[n(p,{ref:g,class:x.value,...C(u),noWrap:!0,stack:S.value,noCaps:!0,fab:!0,"aria-expanded":_.value?`true`:`false`,"aria-controls":y.value,onClick:F},U),n(`div`,{class:R.value,...B.value},c(m.default))])}});export{b as i,C as n,w as r,O as t};
1
+ import{F as e,K as t,b as n,ct as r,ot as i,s as a}from"./runtime-core.esm-bundler-BKFI1w28.js";import{h as o,i as s,o as c,p as l}from"./use-router-link-BGc0noIO.js";import{t as u}from"./create-BSmXD9Zr.js";import{d}from"./QInput-DJgTh2Qy.js";import{l as f,t as p}from"./QBtn-DoggJe1Q.js";import{Q as m,X as h,Z as g}from"./index-BQi8n0xV.js";import{i as _,r as v}from"./ClosePopup-p9VBZw3j.js";var y=[`top`,`right`,`bottom`,`left`],b={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=>y.includes(e)},externalLabel:Boolean,hideLabel:{type:Boolean},labelClass:[Array,String,Object],labelStyle:[Array,String,Object],disable:Boolean,tabindex:[Number,String]},x=[`label`],S=Object.keys(b).filter(e=>!x.includes(e)&&p.props[e]!==void 0);function C(e){let t={};for(let n of S)t[n]=e[n];return t}function w(e,t){return{formClass:a(()=>`q-fab--form-${e.square?`square`:`rounded`}`),stacked:a(()=>!e.externalLabel&&[`top`,`bottom`].includes(e.labelPosition)),labelProps:a(()=>{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 T=[`up`,`right`,`down`,`left`],E=[`left`,`center`,`right`],D=180,O=u({name:`QFab`,props:{...b,...m,icon:String,activeIcon:String,hideIcon:Boolean,hideLabel:{...b.hideLabel,default:null},direction:{type:String,default:`right`,validator:e=>T.includes(e)},..._,persistent:Boolean,stagger:{type:Number,default:40},verticalActionsAlign:{type:String,default:`center`,validator:e=>E.includes(e)}},emits:g,setup(u,{slots:m}){let g=r(null),_=i(u.modelValue===!0),y=d(),b=l(),{formClass:x,stacked:S,labelProps:T}=w(u,_),E=a(()=>!u.persistent),{show:O,hide:k,toggle:A}=h({showing:_,hideOnRouteChange:E}),j=0,{clearHoverTimer:M,hoverShow:N,hoverHide:P}=v({props:u,canShow:()=>!_.value,show:e=>{j=Date.now(),O(e)},canHide:()=>_.value,hide:k});t(_,M);function F(e){_.value&&Date.now()-j<D||A(e)}let I=a(()=>({opened:_.value})),L=a(()=>`q-fab z-fab row inline justify-center q-fab--align-${u.verticalActionsAlign} ${x.value}`+(_.value?` q-fab--opened`:` q-fab--closed`)),R=a(()=>`q-fab__actions flex no-wrap inline q-fab__actions--${u.direction} q-fab__actions--${_.value?`opened`:`closed`}`),z=a(()=>u.hover?{onPointerenter:N,onPointerleave:P}:{}),B=a(()=>{let e={id:y.value,style:`--q-fab-stagger: ${u.stagger}ms`};return _.value||(e[`aria-hidden`]=`true`),e}),V=a(()=>`q-fab__icon-holder q-fab__icon-holder--${_.value?`opened`:`closed`}`);function H(e,t){let r=m[e],i=`q-fab__${e} absolute-full`;return r===void 0?n(f,{class:i,name:u[t]||b.iconSet.fab[t]}):n(`div`,{class:i},r(I.value))}function U(){let e=[];return u.hideIcon||e.push(n(`div`,{class:V.value},[H(`icon`,`icon`),H(`active-icon`,`activeIcon`)])),(u.label!==``||m.label!==void 0)&&e[T.value.action](n(`div`,T.value.data,m.label===void 0?[u.label]:m.label(I.value))),s(m.tooltip,e)}return e(o,{showing:_,onChildClick(e){k(e),e?.qAvoidFocus!==!0&&g.value?.$el.focus()}}),()=>n(`div`,{class:L.value,...z.value},[n(p,{ref:g,class:x.value,...C(u),noWrap:!0,stack:S.value,noCaps:!0,fab:!0,"aria-expanded":_.value?`true`:`false`,"aria-controls":y.value,onClick:F},U),n(`div`,{class:R.value,...B.value},c(m.default))])}});export{b as i,C as n,w as r,O as t};
@@ -0,0 +1 @@
1
+ import{A as e,E as t,F as n,T as r,b as i,ct as a,j as o,v as s}from"./runtime-core.esm-bundler-BKFI1w28.js";import{f as c,g as l,o as u}from"./use-router-link-BGc0noIO.js";import{u as d}from"./event-rR76ioXz.js";import{t as f}from"./create-BSmXD9Zr.js";import{p}from"./QInput-DJgTh2Qy.js";function m(e){let t;try{t=e.validate()}catch(t){return Promise.resolve({valid:!1,comp:e,err:t})}return typeof t?.then==`function`?t.then(t=>({valid:t,comp:e}),t=>({valid:!1,comp:e,err:t})):Promise.resolve({valid:t,comp:e})}var h=f({name:`QForm`,props:{autofocus:Boolean,noErrorFocus:Boolean,noResetFocus:Boolean,greedy:Boolean,onSubmit:Function},emits:[`reset`,`validationSuccess`,`validationError`],setup(f,{slots:h,emit:g}){let _=s(),v=a(null),y=0,b=[];function x(e){let t=typeof e==`boolean`?e:!f.noErrorFocus,n=++y,r=(e,t)=>{g(`validation${e?`Success`:`Error`}`,t)};return(f.greedy?Promise.all(b.map(m)).then(e=>e.filter(e=>!e.valid)):b.reduce((e,t)=>e.then(()=>m(t)).then(e=>{if(!e.valid)throw e}),Promise.resolve()).catch(e=>[e])).then(e=>{if(e===void 0||e.length===0)return n===y&&r(!0),!0;if(n===y){let{comp:n,err:i}=e[0];if(i!==void 0&&console.error(i),r(!1,n),t){let t=e.find(({comp:e})=>typeof e.focus==`function`&&!c(e.$));t!==void 0&&t.comp.focus()}}return!1})}function S(){y++,b.forEach(e=>{typeof e.resetValidation==`function`&&e.resetValidation()})}function C(e){e!==void 0&&d(e);let t=y+1;x().then(n=>{t===y&&n&&(f.onSubmit===void 0?e?.target!==void 0&&typeof e.target.submit==`function`&&e.target.submit():g(`submit`,e))})}function w(e){e!==void 0&&d(e),g(`reset`),r(()=>{S(),f.autofocus&&!f.noResetFocus&&T()})}function T(){p(()=>{v.value!==null&&(v.value.querySelector(`[autofocus][tabindex], [data-autofocus][tabindex]`)||v.value.querySelector(`[autofocus] [tabindex], [data-autofocus] [tabindex]`)||v.value.querySelector(`[autofocus], [data-autofocus]`)||Array.prototype.find.call(v.value.querySelectorAll(`[tabindex]`),e=>e.tabIndex!==-1))?.focus({preventScroll:!0})})}n(l,{bindComponent(e){b.push(e)},unbindComponent(e){let t=b.indexOf(e);t!==-1&&b.splice(t,1)}});let E=!1;return e(()=>{E=!0}),t(()=>{E&&f.autofocus&&T()}),o(()=>{f.autofocus&&T()}),Object.assign(_.proxy,{validate:x,resetValidation:S,submit:C,reset:w,focus:T,getValidationComponents:()=>b}),()=>i(`form`,{class:`q-form`,ref:v,onSubmit:C,onReset:w},u(h.default))}});export{h as t};
@@ -0,0 +1 @@
1
+ import{T as e,ct as t,j as n,ot as r,rt as i,s as a,v as o}from"./runtime-core.esm-bundler-BKFI1w28.js";import{a as s}from"./event-rR76ioXz.js";import{t as c}from"./create-BSmXD9Zr.js";import{t as l}from"./debounce-rZaFFwsz.js";import{V as u,l as d,u as f}from"./index-BQi8n0xV.js";import{n as p}from"./pinia-DCsnCHsH.js";import{a as m,m as h,n as g,p as _,r as v,t as y}from"./single-flight-DLCbzLI3.js";import{f as b,m as x,n as S,t as C}from"./window-store-CIFm3O3S.js";import{t as w}from"./safe-storage-BACMX75F.js";import{t as T}from"./agent-store-1i-UjEzZ.js";import{t as E}from"./markdown-CIA-pqWB.js";import{i as D}from"./QScrollArea-BrOkfO1I.js";var O=2166136261,k=16777619;function A(e){let t=O;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,k);return`${e.length}:${t>>>0}`}function j(e){return e.type===`local`?JSON.stringify([`local`,e.id]):e.type===`file`?JSON.stringify([`file`,e.ref,e.path]):JSON.stringify([`message`,e.sessionId,e.messageId])}function M(e){if(!h(e)||typeof e.id!=`string`||typeof e.title!=`string`||typeof e.fingerprint!=`string`||e.kind!==`markdown`&&e.kind!==`diagram`&&e.kind!==`image`)return null;let t=e.source;if(!h(t))return null;let n;if(t.type===`file`&&typeof t.path==`string`&&typeof t.ref==`string`&&t.path&&t.ref)n={type:`file`,path:t.path,ref:t.ref};else if(t.type===`message`&&typeof t.sessionId==`string`&&typeof t.messageId==`string`)n={type:`message`,sessionId:t.sessionId,messageId:t.messageId};else return null;if(!Number.isSafeInteger(e.index)||typeof e.index!=`number`||e.index<0)return null;let r=h(e.scroll)?e.scroll:{};return{id:e.id,kind:e.kind,source:n,title:e.title,index:e.index,fingerprint:e.fingerprint,scroll:{x:_(r.x)?Math.max(0,r.x):0,y:_(r.y)?Math.max(0,r.y):0},scale:_(e.scale)?Math.max(b,Math.min(4,e.scale)):1}}function N(e,t,n){if(e[t]!==void 0&&A(e[t])===n)return t;let r=e.map((e,t)=>({position:t,fingerprint:A(e)})).filter(e=>e.fingerprint===n);return r.sort((e,n)=>Math.abs(e.position-t)-Math.abs(n.position-t)),r[0]?.position??(e[t]===void 0?-1:t)}function P(e){setTimeout(()=>{window.URL.revokeObjectURL(e.href)},1e4),e.remove()}function F(e,t,n={}){let{mimeType:r,byteOrderMark:i,encoding:a}=typeof n==`string`?{mimeType:n}:n,o=a===void 0?t:new TextEncoder(a).encode([t]),s=new Blob(i===void 0?[o]:[i,o],{type:r||`application/octet-stream`}),c=document.createElement(`a`);c.href=window.URL.createObjectURL(s),c.setAttribute(`download`,e),c.download===void 0&&c.setAttribute(`target`,`_blank`),c.classList.add(`hidden`),c.style.position=`fixed`,document.body.append(c);try{return c.click(),P(c),!0}catch(e){return P(c),e}}var I=class extends Error{};function L(e){return e.kind===`attachment`&&e.mimeType.startsWith(`image/`)}function R(e){return`data:${e.mimeType};base64,${e.data}`}function z(e){let t=atob(e.data),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}function B(e){F(e.name,z(e),e.mimeType)}function V(e){return new Promise((t,n)=>{let r=new FileReader;r.addEventListener(`load`,()=>t(typeof r.result==`string`?r.result:``)),r.addEventListener(`error`,()=>n(r.error)),r.readAsDataURL(e)})}async function H(e){if(e.size>10485760)throw new I(e.name);let t=await V(e),n=e.type||`application/octet-stream`;return{kind:`attachment`,name:e.name||`pasted.${n.split(`/`)[1]??`bin`}`,mimeType:n,data:t.slice(t.indexOf(`,`)+1)}}function U(e){return e?[...e.items].filter(e=>e.kind===`file`&&e.type.startsWith(`image/`)).map(e=>e.getAsFile()).filter(e=>e!==null):[]}var W=`.md,.markdown,.pdf,image/*`;function G(e){return/\.(md|markdown)$/i.test(e.name)?`markdown`:/\.pdf$/i.test(e.name)||e.type===`application/pdf`?`pdf`:e.type.startsWith(`image/`)||/\.(png|jpe?g|gif|webp|svg|bmp|avif|ico)$/i.test(e.name)?`image`:null}var K=`githuman:preview:v1`,q=1,J=.75,Y=.25/2;function X(){return{text:``,image:``,pdf:null,loading:!1,error:null,missing:null,loaded:!1,stale:!0}}var Z=p(`preview`,()=>{let e=C(),t=r([]),n=r(null),o=r({}),s=r({}),c=e.ensure(x),l=new Map,u=new Map,d=new Map;try{let e=JSON.parse(w.get(K)??`null`);if(h(e)&&e.version===q&&Array.isArray(e.tabs)){let r=new Set;t.value=e.tabs.flatMap(e=>{let t=M(e);return!t||r.has(t.id)?[]:(r.add(t.id),o.value[t.id]=X(),[t])}),n.value=typeof e.activeId==`string`&&r.has(e.activeId)?e.activeId:t.value[0]?.id??null}}catch{}let f=a(()=>t.value.find(e=>e.id===n.value));function p(){w.set(K,JSON.stringify({version:q,tabs:t.value.filter(e=>e.source.type!==`local`),activeId:n.value}))}function _(){!c.windowSize&&typeof window<`u`&&(c.windowSize={width:window.innerWidth*J,height:window.innerHeight*J},c.position={x:window.innerWidth*Y,y:window.innerHeight*Y}),e.focus(x)}function b(e){n.value=e,_(),p()}function D(e,n,{title:r,index:i=0,content:a=``,sourceText:c,anchor:l}){if(e===`diagram`&&c!==void 0){let e=E(c);for(let r of t.value){if(r.kind!==`diagram`||j(r.source)!==j(n))continue;let t=N(e,r.index,r.fingerprint);t<0||(r.index=t,r.fingerprint=A(e[t]),r.title=r.title.replace(/ · \d+$/,` · ${t+1}`))}}let u=A(a);if(e===`diagram`&&a){let a=t.value.find(t=>t.kind===e&&j(t.source)===j(n)&&t.index===i);if(a)return a.fingerprint=u,a.title=r,L(a.id).stale=!0,b(a.id),a.id}let d=t.value.find(t=>t.kind===e&&j(t.source)===j(n)&&(e===`markdown`||t.index===i&&t.fingerprint===u));if(d)return l?s.value[d.id]=l:l!==void 0&&delete s.value[d.id],b(d.id),d.id;let f=crypto.randomUUID();return t.value.push({id:f,kind:e,source:n,title:r,index:i,fingerprint:u,scroll:{x:0,y:0},scale:1}),o.value[f]=X(),l&&(s.value[f]=l),b(f),f}function O(e){let t=G(e);if(!t)return null;let n=crypto.randomUUID();return l.set(n,e),D(t,{type:`local`,id:n},{title:e.name})}function k(e){if(e.type!==`local`||t.value.some(t=>j(t.source)===j(e)))return;l.delete(e.id);let n=u.get(e.id);n&&URL.revokeObjectURL(n),u.delete(e.id)}i(()=>{for(let e of u.values())URL.revokeObjectURL(e);u.clear(),l.clear()});function P(r){let i=t.value.find(e=>e.id===r),a=t.value.findIndex(e=>e.id===r);i&&t.value.length===1&&e.close(x),t.value=t.value.filter(e=>e.id!==r),i&&S(x,()=>k(i.source)),delete o.value[r],delete s.value[r],d.delete(r),n.value===r&&(n.value=t.value[a]?.id??t.value[a-1]?.id??null),t.value.length||e.close(x),p()}function F(){e.close(x);for(let e of t.value)P(e.id)}function I(){for(let e of t.value)e.source.type===`file`&&(e.source.ref===`WORKTREE`||e.source.ref===`INDEX`)&&(L(e.id).stale=!0)}function L(e){return o.value[e]??=X()}function z(e){let t=d.get(e);return t||(t=y(()=>B(e)),d.set(e,t)),t()}async function B(e){let n=t.value.find(t=>t.id===e);if(!n)return;let r=L(e);r.loading=!0,r.stale=!1;let i=``,a=``,o=null,s=null,c=null;try{if(n.source.type===`local`){let e=l.get(n.source.id);if(!e)s=`file`;else if(n.kind===`markdown`||n.kind===`diagram`)i=await e.text();else if(n.kind===`pdf`)o=e;else{let t=u.get(n.source.id);t||(t=URL.createObjectURL(e),u.set(n.source.id,t)),a=t}}else if(n.source.type===`file`){let e=n.source.path.split(`/`).map(encodeURIComponent).join(`/`),t=await m(`/api/git/file/${e}?ref=${encodeURIComponent(n.source.ref)}&strict=true`);t.isBinary?s=`binary`:i=t.content}else{let e=T().chats[n.source.sessionId],t=n.source,r=e?.chat.items.find(e=>e.id===t.messageId);if(!r)s=`message`;else if(n.kind===`image`){let e=r.kind===`user`?r.context[n.index]:void 0;!e||e.kind!==`attachment`||!e.mimeType.startsWith(`image/`)||A(e.data)!==n.fingerprint?s=`attachment`:a=R(e)}else`text`in r?i=r.text:s=`message`}if(n.kind===`diagram`&&!s){let e=E(i),t=N(e,n.index,n.fingerprint);t<0?s=`diagram`:(n.index=t,i=e[t],n.fingerprint=A(i),n.title=n.title.replace(/ · \d+$/,` · ${t+1}`),p())}}catch(e){e instanceof v&&e.status===404?s=`file`:c=g(e)}finally{t.value.includes(n)&&Object.assign(r,{text:i,image:a,pdf:o,missing:s,error:c,loading:!1,loaded:!0})}}return{tabs:t,activeId:n,activeTab:f,data:o,anchorRequests:s,show:_,open:D,openLocal:O,activate:b,close:P,closeAll:F,remember:p,runtime:L,load:z,invalidateFiles:I}});function ee(e){let t=document.createElement(`textarea`);t.value=e,t.contentEditable=`true`,t.style.position=`fixed`;let n=()=>{};d(n),document.body.append(t),t.focus(),t.select();let r=document.execCommand(`copy`);return t.remove(),f(n),r}function Q(e){if(navigator.clipboard)return navigator.clipboard.writeText(e);let t=ee(e);return t?Promise.resolve(!0):Promise.reject(t)}var $=1500;function te(e=Q){let t=new Map,n=0;function r(){n++;for(let e of t.values())e.cancel(),e.restore();t.clear()}async function i(r,i){let a=n,o=r.closest(`.agent-code`)?.querySelector(`pre`)?.textContent;try{await e(o??``)}catch{return!1}if(a!==n)return!0;let s=t.get(r);s&&s.cancel(),r.dataset.copied=`true`,r.setAttribute(`aria-label`,i.copied);let c=()=>{delete r.dataset.copied,r.setAttribute(`aria-label`,i.copy)},u=l(()=>{t.delete(r),c()},$);return t.set(r,{cancel:()=>u.cancel(),restore:c}),u(),!0}return{copyCodeBlock:i,reset:r}}var ne=c({name:`QResizeObserver`,props:{debounce:{type:[String,Number],default:100}},emits:[`resize`],setup(r,{emit:i}){let{proxy:a}=o(),c=t(null),{refreshElementSize:l}=D(()=>({target:c,debounce:r.debounce,onResize(e){i(`resize`,e)}})),{registerTimeout:d,isTimeoutPending:f}=u();a.trigger=e=>{e===!0||r.debounce===0||r.debounce===`0`?l():f.value||d(l,r.debounce)};let p=t=>{c.value=a.$el.parentNode,c.value===null&&!t&&e(()=>{p(!0)})};return n(()=>{p()}),s}});export{Z as a,R as c,L as d,H as f,Q as i,U as l,$ as n,W as o,F as p,te as r,I as s,ne as t,B as u};
@@ -1 +1 @@
1
- import{A as e,E as t,K as n,O as r,X as i,Y as a,b as o,ct as s,ft as c,j as l,ot as u,s as d,v as f,x as p}from"./runtime-core.esm-bundler-BKFI1w28.js";import{i as m,o as h,p as g,u as _}from"./use-router-link-BGc0noIO.js";import{i as v}from"./event-rR76ioXz.js";import{t as y}from"./create-BSmXD9Zr.js";import{t as b}from"./debounce-rZaFFwsz.js";import{n as x,t as S}from"./use-dark-BHObfh0O.js";import{_ as C,b as w,h as T,m as E,y as D}from"./index-B2CzafCr.js";import{r as O}from"./use-server-events-C13Sw-rU.js";import{a as k}from"./ClosePopup-lpH_1Ju2.js";function A(e){let t=s({width:0,height:0}),n=f(),a=null,o=null,u=null,d=0,p,m={width:-1,height:-1};function h(){u!==null&&(clearTimeout(u),u=null)}function g(){if(h(),o===null)return;let{offsetWidth:e,offsetHeight:n}=a;(e!==m.width||n!==m.height)&&(m={width:e,height:n},t.value=m,p?.(m))}function v(){d>0?u===null&&(u=setTimeout(g,d)):g()}function y(){h(),o!==null&&(o.disconnect(),o=null)}let b=new i(()=>{let t=c(e)??{},r=_(t.target,n);if(d=Number(t.debounce)||0,p=t.onResize,r!==a&&(y(),a=r,m={width:-1,height:-1}),t.disabled===!0||a===null){y();return}o===null&&(o=new ResizeObserver(v),o.observe(a,{box:`border-box`}),g())});return b.scheduler=()=>{b.run()},n===null?b.run():(l(()=>{b.run()}),r(y)),{elementSize:t,refreshElementSize:g,stopElementSize(){y(),a=null,b.stop()}}}var{passive:j}=v;function M(e){let t=s({top:0,left:0}),n=u(`down`),a=u(!1),o=s({top:0,left:0}),d=s({top:0,left:0}),m={scrollPosition:t,scrollDirection:n,scrollDirectionChanged:a,scrollDelta:o,scrollInflectionPoint:d},h=f(),v=h!==null||p()?g():void 0,y=null,b=!1,x=null,S=`vertical`,w,D,O,k=0,A=0,M=`down`,N={top:0,left:0};function P(){x!==null&&(x(),x=null)}function F(){if(P(),y===null)return;let e=Math.max(0,C(y)),r=E(y),i=e-k,s=r-A;if(S===`vertical`&&i===0||S===`horizontal`&&s===0||i===0&&s===0)return;let c=Math.abs(i)>=Math.abs(s)?i<0?`up`:`down`:s<0?`left`:`right`,l=M!==c,u={top:e,left:r},f={top:i,left:s};k=e,A=r,t.value=u,o.value=f,a.value=l,l&&(M=c,N=u,n.value=c,d.value=u),O?.({position:u,direction:c,directionChanged:l,delta:f,inflectionPoint:N})}function I(){if(w===0)F();else if(x===null){if(w===void 0){let e=requestAnimationFrame(F);x=()=>{cancelAnimationFrame(e)}}else{let e=setTimeout(F,w);x=()=>{clearTimeout(e)}}}}function L(){P(),b&&=(y.removeEventListener(`scroll`,I,j),!1)}let R=new i(()=>{let r=c(e)??{},i=c(r.scrollTarget),s=_(r.target,h),l=i==null?s===null?null:T(s):T(s,i);S=r.axis??`vertical`,w=r.debounce===void 0||r.debounce===null?void 0:Number(r.debounce)||0,O=r.onScroll,l!==y&&(L(),y=l,(k!==0||A!==0)&&(k=A=0,t.value={top:k,left:A},o.value={top:k,left:A}),M!==`down`&&(M=`down`,n.value=M),a.value&&=!1,(N.top!==0||N.left!==0)&&(N={top:0,left:0},d.value=N));let u=v?.lang.rtl===!0,f=D!==void 0&&D!==u;if(D=u,r.disabled===!0||y===null){L();return}b?f&&F():(y.addEventListener(`scroll`,I,j),b=!0,F())});return R.scheduler=()=>{R.run()},h===null?R.run():(l(()=>{R.run()}),r(L)),{...m,refreshScroll:F,stopScroll(){L(),y=null,R.stop()}}}var N=[`top`,`middle`,`bottom`],P=y({name:`QBadge`,props:{color:String,textColor:String,floating:Boolean,transparent:Boolean,multiLine:Boolean,outline:Boolean,rounded:Boolean,label:[Number,String],align:{type:String,validator:e=>N.includes(e)}},setup(e,{slots:t}){let n=d(()=>e.align===void 0?null:{verticalAlign:e.align}),r=d(()=>{let t=e.outline&&e.color||e.textColor;return`q-badge flex inline items-center no-wrap q-badge--${e.multiLine?`multi`:`single`}-line`+(e.outline?` q-badge--outline`:e.color===void 0?``:` bg-${e.color}`)+(t===void 0?``:` text-${t}`)+(e.floating?` q-badge--floating`:``)+(e.rounded?` q-badge--rounded`:``)+(e.transparent?` q-badge--transparent`:``)});return()=>o(`div`,{class:r.value,style:n.value,role:`status`,"aria-label":e.label},m(t.default,e.label===void 0?[]:[e.label]))}}),F=y({props:[`store`,`barStyle`,`verticalBarStyle`,`horizontalBarStyle`],setup(e){return()=>[o(`div`,{class:e.store.scroll.vertical.barClass.value,style:[e.barStyle,e.verticalBarStyle],"aria-hidden":`true`,onMousedown:e.store.onVerticalMousedown}),o(`div`,{class:e.store.scroll.horizontal.barClass.value,style:[e.barStyle,e.horizontalBarStyle],"aria-hidden":`true`,onMousedown:e.store.onHorizontalMousedown}),a(o(`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),a(o(`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)]}}),I=[`vertical`,`horizontal`],L={vertical:{offset:`offsetY`,scroll:`scrollTop`,dir:`down`,dist:`y`},horizontal:{offset:`offsetX`,scroll:`scrollLeft`,dir:`right`,dist:`x`}},R={prevent:!0,mouse:!0,mouseAllDir:!0},z=e=>e>=250?50:Math.ceil(e/5),B=(e,t)=>t?-e:e;function V(e,t){return I.includes(e)?!0:(console.error(`[QScrollArea]: wrong first param of ${t} (vertical/horizontal)`),!1)}var H=y({name:`QScrollArea`,props:{...x,thumbStyle:Object,verticalThumbStyle:Object,horizontalThumbStyle:Object,barStyle:[Array,String,Object],verticalBarStyle:[Array,String,Object],horizontalBarStyle:[Array,String,Object],verticalOffset:{type:Array,default:()=>[0,0]},horizontalOffset:{type:Array,default:()=>[0,0]},contentStyle:[Array,String,Object],contentActiveStyle:[Array,String,Object],delay:{type:[String,Number],default:1e3},visible:{type:Boolean,default:null},tabindex:[String,Number],onScroll:Function},setup(i,{slots:a,emit:c}){let l=u(!1),p=u(!1),m=u(!1),_={vertical:u(0),horizontal:u(0)},v={vertical:{ref:s(null),position:u(0),size:u(0)},horizontal:{ref:s(null),position:u(0),size:u(0)}},{proxy:y}=f(),x=g(),C=S(i,x),T=null,E,j=s(null),N=s(null),P=d(()=>`q-scrollarea`+(C()?` q-scrollarea--dark`:``));Object.assign(_,{verticalInner:d(()=>_.vertical.value-i.verticalOffset[0]-i.verticalOffset[1]),horizontalInner:d(()=>_.horizontal.value-i.horizontalOffset[0]-i.horizontalOffset[1])}),v.vertical.percentage=d(()=>{let e=v.vertical.size.value-_.vertical.value;if(e<=0)return 0;let t=O(v.vertical.position.value/e,0,1);return Math.round(t*1e4)/1e4}),v.vertical.thumbHidden=d(()=>!(i.visible===null?m.value:i.visible)&&!l.value&&!p.value||v.vertical.size.value<=_.vertical.value+1),v.vertical.thumbStart=d(()=>i.verticalOffset[0]+v.vertical.percentage.value*(_.verticalInner.value-v.vertical.thumbSize.value)),v.vertical.thumbSize=d(()=>Math.round(O(_.verticalInner.value*_.verticalInner.value/v.vertical.size.value,z(_.verticalInner.value),_.verticalInner.value))),v.vertical.style=d(()=>({...i.thumbStyle,...i.verticalThumbStyle,top:`${v.vertical.thumbStart.value}px`,height:`${v.vertical.thumbSize.value}px`,[x.lang.rtl?`left`:`right`]:`${i.horizontalOffset[+!x.lang.rtl]}px`})),v.vertical.thumbClass=d(()=>`q-scrollarea__thumb q-scrollarea__thumb--v absolute-right`+(v.vertical.thumbHidden.value?` q-scrollarea__thumb--invisible`:``)),v.vertical.barClass=d(()=>`q-scrollarea__bar q-scrollarea__bar--v absolute-right`+(v.vertical.thumbHidden.value?` q-scrollarea__bar--invisible`:``)),v.horizontal.percentage=d(()=>{let e=v.horizontal.size.value-_.horizontal.value;if(e<=0)return 0;let t=O(B(v.horizontal.position.value,x.lang.rtl)/e,0,1);return Math.round(t*1e4)/1e4}),v.horizontal.thumbHidden=d(()=>!(i.visible===null?m.value:i.visible)&&!l.value&&!p.value||v.horizontal.size.value<=_.horizontal.value+1),v.horizontal.thumbStart=d(()=>i.horizontalOffset[+!!x.lang.rtl]+v.horizontal.percentage.value*(_.horizontalInner.value-v.horizontal.thumbSize.value)),v.horizontal.thumbSize=d(()=>Math.round(O(_.horizontalInner.value*_.horizontalInner.value/v.horizontal.size.value,z(_.horizontalInner.value),_.horizontalInner.value))),v.horizontal.style=d(()=>({...i.thumbStyle,...i.horizontalThumbStyle,[x.lang.rtl?`right`:`left`]:`${v.horizontal.thumbStart.value}px`,width:`${v.horizontal.thumbSize.value}px`,bottom:`${i.verticalOffset[1]}px`})),v.horizontal.thumbClass=d(()=>`q-scrollarea__thumb q-scrollarea__thumb--h absolute-bottom`+(v.horizontal.thumbHidden.value?` q-scrollarea__thumb--invisible`:``)),v.horizontal.barClass=d(()=>`q-scrollarea__bar q-scrollarea__bar--h absolute-bottom`+(v.horizontal.thumbHidden.value?` q-scrollarea__bar--invisible`:``));let I=d(()=>i.tabindex===void 0?v.vertical.size.value>_.vertical.value+1||v.horizontal.size.value>_.horizontal.value+1?0:void 0:i.tabindex),H=d(()=>v.vertical.thumbHidden.value&&v.horizontal.thumbHidden.value?i.contentStyle:i.contentActiveStyle);function U(){return{verticalPosition:v.vertical.position.value,verticalPercentage:v.vertical.percentage.value,verticalSize:v.vertical.size.value,verticalContainerSize:_.vertical.value,verticalContainerInnerSize:_.verticalInner.value,horizontalPosition:v.horizontal.position.value,horizontalPercentage:v.horizontal.percentage.value,horizontalSize:v.horizontal.size.value,horizontalContainerSize:_.horizontal.value,horizontalContainerInnerSize:_.horizontalInner.value}}let W=b(()=>{let e=U();e.ref=y,c(`scroll`,e)},0);function G(e,t,n){V(e,`setScrollPosition`)&&(e===`vertical`?w:D)(j.value,t,n)}function K({height:e,width:t}){let n=!1;_.vertical.value!==e&&(_.vertical.value=e,n=!0),_.horizontal.value!==t&&(_.horizontal.value=t,n=!0),n&&X()}function q({position:e}){let t=!1;v.vertical.position.value!==e.top&&(v.vertical.position.value=e.top,t=!0),v.horizontal.position.value!==e.left&&(v.horizontal.position.value=e.left,t=!0),t&&X()}function ee({height:e,width:t}){v.horizontal.size.value!==t&&(v.horizontal.size.value=t,X()),v.vertical.size.value!==e&&(v.vertical.size.value=e,X())}A({debounce:0,onResize:K}),A({target:N,debounce:0,onResize:ee}),M({scrollTarget:j,axis:`both`,onScroll:q});function J(e,t){let n=v[t];if(e.isFirst){if(n.thumbHidden.value)return;E=t===`horizontal`?B(n.position.value,x.lang.rtl):n.position.value,p.value=!0}else if(!p.value)return;e.isFinal&&(p.value=!1);let r=L[t],i=(n.size.value-_[t].value)/(_[t+`Inner`].value-n.thumbSize.value),a=e.distance[r.dist],o=(e.direction===r.dir?1:-1)*(t===`horizontal`&&x.lang.rtl?-1:1),s=E+o*a*i;Z(t===`horizontal`?B(s,x.lang.rtl):s,t)}function Y(e,t){let n=v[t];if(!n.thumbHidden.value){let r=t===`horizontal`&&x.lang.rtl,a=t===`vertical`?i.verticalOffset[0]:i.horizontalOffset[+!!r],o=(r?_.horizontal.value-e.offsetX:e[L[t].offset])-a,s=n.thumbStart.value-a;if(o<s||o>s+n.thumbSize.value){let e=o-n.thumbSize.value/2,i=O(e/(_[t+`Inner`].value-n.thumbSize.value),0,1);Z(r?B(i*Math.max(0,n.size.value-_[t].value),x.lang.rtl):i*Math.max(0,n.size.value-_[t].value),t)}n.ref.value!==null&&n.ref.value.dispatchEvent(new MouseEvent(e.type,e))}}function X(){l.value=!0,T!==null&&clearTimeout(T),T=setTimeout(()=>{T=null,l.value=!1},i.delay),i.onScroll!==void 0&&W()}function Z(e,t){j.value[L[t].scroll]=e}let Q=null;function te(){Q!==null&&clearTimeout(Q),Q=setTimeout(()=>{Q=null,m.value=!0},x.platform.is.ios?50:0)}function ne(){Q!==null&&(clearTimeout(Q),Q=null),m.value=!1}let $=null;n(()=>x.lang.rtl,(e,t)=>{j.value!==null&&D(j.value,B(B(v.horizontal.position.value,t),e))}),e(()=>{$={top:v.vertical.position.value,left:v.horizontal.position.value}}),t(()=>{if($===null)return;let e=j.value;e!==null&&(D(e,$.left),w(e,$.top))}),r(W.cancel),Object.assign(y,{getScrollTarget:()=>j.value,getScroll:U,getScrollPosition:()=>({top:v.vertical.position.value,left:v.horizontal.position.value}),getScrollPercentage:()=>({top:v.vertical.percentage.value,left:v.horizontal.percentage.value}),setScrollPosition:G,setScrollPercentage(e,t,n){if(!V(e,`setScrollPercentage`))return;let r=t*(v[e].size.value-_[e].value);G(e,e===`horizontal`?B(r,x.lang.rtl):r,n)}});let re={scroll:v,thumbVertDir:[[k,e=>{J(e,`vertical`)},void 0,{vertical:!0,...R}]],thumbHorizDir:[[k,e=>{J(e,`horizontal`)},void 0,{horizontal:!0,...R}]],onVerticalMousedown(e){Y(e,`vertical`)},onHorizontalMousedown(e){Y(e,`horizontal`)}};return()=>o(`div`,{class:P.value,onMouseenter:te,onMouseleave:ne},[o(`div`,{ref:j,class:`q-scrollarea__container scroll relative-position fit hide-scrollbar`,tabindex:I.value},[o(`div`,{ref:N,class:`q-scrollarea__content absolute`,style:H.value},h(a.default))]),o(F,{store:re,barStyle:i.barStyle,verticalBarStyle:i.verticalBarStyle,horizontalBarStyle:i.horizontalBarStyle})])}});export{A as i,P as n,M as r,H as t};
1
+ import{A as e,E as t,K as n,O as r,X as i,Y as a,b as o,ct as s,ft as c,j as l,ot as u,s as d,v as f,x as p}from"./runtime-core.esm-bundler-BKFI1w28.js";import{i as m,o as h,p as g,u as _}from"./use-router-link-BGc0noIO.js";import{i as v}from"./event-rR76ioXz.js";import{t as y}from"./create-BSmXD9Zr.js";import{t as b}from"./debounce-rZaFFwsz.js";import{n as x,t as S}from"./use-dark-BHObfh0O.js";import{_ as C,b as w,h as T,m as E,y as D}from"./index-BQi8n0xV.js";import{r as O}from"./use-server-events-BrBCbeHu.js";import{a as k}from"./ClosePopup-p9VBZw3j.js";function A(e){let t=s({width:0,height:0}),n=f(),a=null,o=null,u=null,d=0,p,m={width:-1,height:-1};function h(){u!==null&&(clearTimeout(u),u=null)}function g(){if(h(),o===null)return;let{offsetWidth:e,offsetHeight:n}=a;(e!==m.width||n!==m.height)&&(m={width:e,height:n},t.value=m,p?.(m))}function v(){d>0?u===null&&(u=setTimeout(g,d)):g()}function y(){h(),o!==null&&(o.disconnect(),o=null)}let b=new i(()=>{let t=c(e)??{},r=_(t.target,n);if(d=Number(t.debounce)||0,p=t.onResize,r!==a&&(y(),a=r,m={width:-1,height:-1}),t.disabled===!0||a===null){y();return}o===null&&(o=new ResizeObserver(v),o.observe(a,{box:`border-box`}),g())});return b.scheduler=()=>{b.run()},n===null?b.run():(l(()=>{b.run()}),r(y)),{elementSize:t,refreshElementSize:g,stopElementSize(){y(),a=null,b.stop()}}}var{passive:j}=v;function M(e){let t=s({top:0,left:0}),n=u(`down`),a=u(!1),o=s({top:0,left:0}),d=s({top:0,left:0}),m={scrollPosition:t,scrollDirection:n,scrollDirectionChanged:a,scrollDelta:o,scrollInflectionPoint:d},h=f(),v=h!==null||p()?g():void 0,y=null,b=!1,x=null,S=`vertical`,w,D,O,k=0,A=0,M=`down`,N={top:0,left:0};function P(){x!==null&&(x(),x=null)}function F(){if(P(),y===null)return;let e=Math.max(0,C(y)),r=E(y),i=e-k,s=r-A;if(S===`vertical`&&i===0||S===`horizontal`&&s===0||i===0&&s===0)return;let c=Math.abs(i)>=Math.abs(s)?i<0?`up`:`down`:s<0?`left`:`right`,l=M!==c,u={top:e,left:r},f={top:i,left:s};k=e,A=r,t.value=u,o.value=f,a.value=l,l&&(M=c,N=u,n.value=c,d.value=u),O?.({position:u,direction:c,directionChanged:l,delta:f,inflectionPoint:N})}function I(){if(w===0)F();else if(x===null){if(w===void 0){let e=requestAnimationFrame(F);x=()=>{cancelAnimationFrame(e)}}else{let e=setTimeout(F,w);x=()=>{clearTimeout(e)}}}}function L(){P(),b&&=(y.removeEventListener(`scroll`,I,j),!1)}let R=new i(()=>{let r=c(e)??{},i=c(r.scrollTarget),s=_(r.target,h),l=i==null?s===null?null:T(s):T(s,i);S=r.axis??`vertical`,w=r.debounce===void 0||r.debounce===null?void 0:Number(r.debounce)||0,O=r.onScroll,l!==y&&(L(),y=l,(k!==0||A!==0)&&(k=A=0,t.value={top:k,left:A},o.value={top:k,left:A}),M!==`down`&&(M=`down`,n.value=M),a.value&&=!1,(N.top!==0||N.left!==0)&&(N={top:0,left:0},d.value=N));let u=v?.lang.rtl===!0,f=D!==void 0&&D!==u;if(D=u,r.disabled===!0||y===null){L();return}b?f&&F():(y.addEventListener(`scroll`,I,j),b=!0,F())});return R.scheduler=()=>{R.run()},h===null?R.run():(l(()=>{R.run()}),r(L)),{...m,refreshScroll:F,stopScroll(){L(),y=null,R.stop()}}}var N=[`top`,`middle`,`bottom`],P=y({name:`QBadge`,props:{color:String,textColor:String,floating:Boolean,transparent:Boolean,multiLine:Boolean,outline:Boolean,rounded:Boolean,label:[Number,String],align:{type:String,validator:e=>N.includes(e)}},setup(e,{slots:t}){let n=d(()=>e.align===void 0?null:{verticalAlign:e.align}),r=d(()=>{let t=e.outline&&e.color||e.textColor;return`q-badge flex inline items-center no-wrap q-badge--${e.multiLine?`multi`:`single`}-line`+(e.outline?` q-badge--outline`:e.color===void 0?``:` bg-${e.color}`)+(t===void 0?``:` text-${t}`)+(e.floating?` q-badge--floating`:``)+(e.rounded?` q-badge--rounded`:``)+(e.transparent?` q-badge--transparent`:``)});return()=>o(`div`,{class:r.value,style:n.value,role:`status`,"aria-label":e.label},m(t.default,e.label===void 0?[]:[e.label]))}}),F=y({props:[`store`,`barStyle`,`verticalBarStyle`,`horizontalBarStyle`],setup(e){return()=>[o(`div`,{class:e.store.scroll.vertical.barClass.value,style:[e.barStyle,e.verticalBarStyle],"aria-hidden":`true`,onMousedown:e.store.onVerticalMousedown}),o(`div`,{class:e.store.scroll.horizontal.barClass.value,style:[e.barStyle,e.horizontalBarStyle],"aria-hidden":`true`,onMousedown:e.store.onHorizontalMousedown}),a(o(`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),a(o(`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)]}}),I=[`vertical`,`horizontal`],L={vertical:{offset:`offsetY`,scroll:`scrollTop`,dir:`down`,dist:`y`},horizontal:{offset:`offsetX`,scroll:`scrollLeft`,dir:`right`,dist:`x`}},R={prevent:!0,mouse:!0,mouseAllDir:!0},z=e=>e>=250?50:Math.ceil(e/5),B=(e,t)=>t?-e:e;function V(e,t){return I.includes(e)?!0:(console.error(`[QScrollArea]: wrong first param of ${t} (vertical/horizontal)`),!1)}var H=y({name:`QScrollArea`,props:{...x,thumbStyle:Object,verticalThumbStyle:Object,horizontalThumbStyle:Object,barStyle:[Array,String,Object],verticalBarStyle:[Array,String,Object],horizontalBarStyle:[Array,String,Object],verticalOffset:{type:Array,default:()=>[0,0]},horizontalOffset:{type:Array,default:()=>[0,0]},contentStyle:[Array,String,Object],contentActiveStyle:[Array,String,Object],delay:{type:[String,Number],default:1e3},visible:{type:Boolean,default:null},tabindex:[String,Number],onScroll:Function},setup(i,{slots:a,emit:c}){let l=u(!1),p=u(!1),m=u(!1),_={vertical:u(0),horizontal:u(0)},v={vertical:{ref:s(null),position:u(0),size:u(0)},horizontal:{ref:s(null),position:u(0),size:u(0)}},{proxy:y}=f(),x=g(),C=S(i,x),T=null,E,j=s(null),N=s(null),P=d(()=>`q-scrollarea`+(C()?` q-scrollarea--dark`:``));Object.assign(_,{verticalInner:d(()=>_.vertical.value-i.verticalOffset[0]-i.verticalOffset[1]),horizontalInner:d(()=>_.horizontal.value-i.horizontalOffset[0]-i.horizontalOffset[1])}),v.vertical.percentage=d(()=>{let e=v.vertical.size.value-_.vertical.value;if(e<=0)return 0;let t=O(v.vertical.position.value/e,0,1);return Math.round(t*1e4)/1e4}),v.vertical.thumbHidden=d(()=>!(i.visible===null?m.value:i.visible)&&!l.value&&!p.value||v.vertical.size.value<=_.vertical.value+1),v.vertical.thumbStart=d(()=>i.verticalOffset[0]+v.vertical.percentage.value*(_.verticalInner.value-v.vertical.thumbSize.value)),v.vertical.thumbSize=d(()=>Math.round(O(_.verticalInner.value*_.verticalInner.value/v.vertical.size.value,z(_.verticalInner.value),_.verticalInner.value))),v.vertical.style=d(()=>({...i.thumbStyle,...i.verticalThumbStyle,top:`${v.vertical.thumbStart.value}px`,height:`${v.vertical.thumbSize.value}px`,[x.lang.rtl?`left`:`right`]:`${i.horizontalOffset[+!x.lang.rtl]}px`})),v.vertical.thumbClass=d(()=>`q-scrollarea__thumb q-scrollarea__thumb--v absolute-right`+(v.vertical.thumbHidden.value?` q-scrollarea__thumb--invisible`:``)),v.vertical.barClass=d(()=>`q-scrollarea__bar q-scrollarea__bar--v absolute-right`+(v.vertical.thumbHidden.value?` q-scrollarea__bar--invisible`:``)),v.horizontal.percentage=d(()=>{let e=v.horizontal.size.value-_.horizontal.value;if(e<=0)return 0;let t=O(B(v.horizontal.position.value,x.lang.rtl)/e,0,1);return Math.round(t*1e4)/1e4}),v.horizontal.thumbHidden=d(()=>!(i.visible===null?m.value:i.visible)&&!l.value&&!p.value||v.horizontal.size.value<=_.horizontal.value+1),v.horizontal.thumbStart=d(()=>i.horizontalOffset[+!!x.lang.rtl]+v.horizontal.percentage.value*(_.horizontalInner.value-v.horizontal.thumbSize.value)),v.horizontal.thumbSize=d(()=>Math.round(O(_.horizontalInner.value*_.horizontalInner.value/v.horizontal.size.value,z(_.horizontalInner.value),_.horizontalInner.value))),v.horizontal.style=d(()=>({...i.thumbStyle,...i.horizontalThumbStyle,[x.lang.rtl?`right`:`left`]:`${v.horizontal.thumbStart.value}px`,width:`${v.horizontal.thumbSize.value}px`,bottom:`${i.verticalOffset[1]}px`})),v.horizontal.thumbClass=d(()=>`q-scrollarea__thumb q-scrollarea__thumb--h absolute-bottom`+(v.horizontal.thumbHidden.value?` q-scrollarea__thumb--invisible`:``)),v.horizontal.barClass=d(()=>`q-scrollarea__bar q-scrollarea__bar--h absolute-bottom`+(v.horizontal.thumbHidden.value?` q-scrollarea__bar--invisible`:``));let I=d(()=>i.tabindex===void 0?v.vertical.size.value>_.vertical.value+1||v.horizontal.size.value>_.horizontal.value+1?0:void 0:i.tabindex),H=d(()=>v.vertical.thumbHidden.value&&v.horizontal.thumbHidden.value?i.contentStyle:i.contentActiveStyle);function U(){return{verticalPosition:v.vertical.position.value,verticalPercentage:v.vertical.percentage.value,verticalSize:v.vertical.size.value,verticalContainerSize:_.vertical.value,verticalContainerInnerSize:_.verticalInner.value,horizontalPosition:v.horizontal.position.value,horizontalPercentage:v.horizontal.percentage.value,horizontalSize:v.horizontal.size.value,horizontalContainerSize:_.horizontal.value,horizontalContainerInnerSize:_.horizontalInner.value}}let W=b(()=>{let e=U();e.ref=y,c(`scroll`,e)},0);function G(e,t,n){V(e,`setScrollPosition`)&&(e===`vertical`?w:D)(j.value,t,n)}function K({height:e,width:t}){let n=!1;_.vertical.value!==e&&(_.vertical.value=e,n=!0),_.horizontal.value!==t&&(_.horizontal.value=t,n=!0),n&&X()}function q({position:e}){let t=!1;v.vertical.position.value!==e.top&&(v.vertical.position.value=e.top,t=!0),v.horizontal.position.value!==e.left&&(v.horizontal.position.value=e.left,t=!0),t&&X()}function ee({height:e,width:t}){v.horizontal.size.value!==t&&(v.horizontal.size.value=t,X()),v.vertical.size.value!==e&&(v.vertical.size.value=e,X())}A({debounce:0,onResize:K}),A({target:N,debounce:0,onResize:ee}),M({scrollTarget:j,axis:`both`,onScroll:q});function J(e,t){let n=v[t];if(e.isFirst){if(n.thumbHidden.value)return;E=t===`horizontal`?B(n.position.value,x.lang.rtl):n.position.value,p.value=!0}else if(!p.value)return;e.isFinal&&(p.value=!1);let r=L[t],i=(n.size.value-_[t].value)/(_[t+`Inner`].value-n.thumbSize.value),a=e.distance[r.dist],o=(e.direction===r.dir?1:-1)*(t===`horizontal`&&x.lang.rtl?-1:1),s=E+o*a*i;Z(t===`horizontal`?B(s,x.lang.rtl):s,t)}function Y(e,t){let n=v[t];if(!n.thumbHidden.value){let r=t===`horizontal`&&x.lang.rtl,a=t===`vertical`?i.verticalOffset[0]:i.horizontalOffset[+!!r],o=(r?_.horizontal.value-e.offsetX:e[L[t].offset])-a,s=n.thumbStart.value-a;if(o<s||o>s+n.thumbSize.value){let e=o-n.thumbSize.value/2,i=O(e/(_[t+`Inner`].value-n.thumbSize.value),0,1);Z(r?B(i*Math.max(0,n.size.value-_[t].value),x.lang.rtl):i*Math.max(0,n.size.value-_[t].value),t)}n.ref.value!==null&&n.ref.value.dispatchEvent(new MouseEvent(e.type,e))}}function X(){l.value=!0,T!==null&&clearTimeout(T),T=setTimeout(()=>{T=null,l.value=!1},i.delay),i.onScroll!==void 0&&W()}function Z(e,t){j.value[L[t].scroll]=e}let Q=null;function te(){Q!==null&&clearTimeout(Q),Q=setTimeout(()=>{Q=null,m.value=!0},x.platform.is.ios?50:0)}function ne(){Q!==null&&(clearTimeout(Q),Q=null),m.value=!1}let $=null;n(()=>x.lang.rtl,(e,t)=>{j.value!==null&&D(j.value,B(B(v.horizontal.position.value,t),e))}),e(()=>{$={top:v.vertical.position.value,left:v.horizontal.position.value}}),t(()=>{if($===null)return;let e=j.value;e!==null&&(D(e,$.left),w(e,$.top))}),r(W.cancel),Object.assign(y,{getScrollTarget:()=>j.value,getScroll:U,getScrollPosition:()=>({top:v.vertical.position.value,left:v.horizontal.position.value}),getScrollPercentage:()=>({top:v.vertical.percentage.value,left:v.horizontal.percentage.value}),setScrollPosition:G,setScrollPercentage(e,t,n){if(!V(e,`setScrollPercentage`))return;let r=t*(v[e].size.value-_[e].value);G(e,e===`horizontal`?B(r,x.lang.rtl):r,n)}});let re={scroll:v,thumbVertDir:[[k,e=>{J(e,`vertical`)},void 0,{vertical:!0,...R}]],thumbHorizDir:[[k,e=>{J(e,`horizontal`)},void 0,{horizontal:!0,...R}]],onVerticalMousedown(e){Y(e,`vertical`)},onHorizontalMousedown(e){Y(e,`horizontal`)}};return()=>o(`div`,{class:P.value,onMouseenter:te,onMouseleave:ne},[o(`div`,{ref:j,class:`q-scrollarea__container scroll relative-position fit hide-scrollbar`,tabindex:I.value},[o(`div`,{ref:N,class:`q-scrollarea__content absolute`,style:H.value},h(a.default))]),o(F,{store:re,barStyle:i.barStyle,verticalBarStyle:i.verticalBarStyle,horizontalBarStyle:i.horizontalBarStyle})])}});export{A as i,P as n,M as r,H as t};
@@ -1 +1 @@
1
- import{K as e,N as t,O as n,T as r,Y as i,b as a,ct as o,j as s,k as ee,ot as c,s as l,v as te}from"./runtime-core.esm-bundler-BKFI1w28.js";import{C as u,a as d,i as ne,l as re,p as ie,x as ae}from"./use-router-link-BGc0noIO.js";import{l as f,s as p,u as m}from"./event-rR76ioXz.js";import{n as h}from"./is-CE4jkrGQ.js";import{t as g}from"./create-BSmXD9Zr.js";import{a as _,c as v,i as oe,l as y,n as se,o as ce,s as le,u as ue}from"./QInput-DJgTh2Qy.js";import{f as b,i as x,l as de,u as S}from"./QBtn-DoggJe1Q.js";import{n as C,t as w}from"./use-dark-BHObfh0O.js";import{J as fe,c as pe}from"./index-B2CzafCr.js";import{a as me}from"./use-server-events-C13Sw-rU.js";import{n as T,r as he,t as ge}from"./use-virtual-scroll-BSXYZjZ5.js";import{c as _e,i as E,n as ve,r as ye,s as be}from"./ClosePopup-lpH_1Ju2.js";function D(e){e.keyCode===32&&m(e)}var xe=S({xs:8,sm:10,md:14,lg:20,xl:24}),Se=g({name:`QChip`,props:{...C,...b,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=ie(),o=w(e,r),s=l(()=>e.selected||e.icon!==void 0),ee=l(()=>e.selected?e.iconSelected||r.iconSet.chip.selected:e.icon),c=l(()=>e.iconRemove||r.iconSet.chip.remove),te=l(()=>(e.clickable===null?e.onClick!==void 0:e.clickable)||e.selected!==null),u=l(()=>!e.disable&&te.value),ne=l(()=>{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`:``)+(u.value?` q-chip--clickable cursor-pointer non-selectable q-hoverable`:``)+(e.square?` q-chip--square`:``)+(o()?` q-chip--dark q-dark`:``)}),re=l(()=>({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 ae(e){[13,32].includes(e.keyCode)&&(f(e),m(e))}function f(t){e.disable||(n(`update:selected`,!e.selected),n(`click`,t))}function p(t){(t.keyCode===void 0||[13,32].includes(t.keyCode))&&(m(t),e.disable||(n(`update:modelValue`,!1),n(`remove`)))}function h(){let n=[];u.value&&n.push(a(`div`,{class:`q-focus-helper`})),s.value&&n.push(a(de,{class:`q-chip__icon q-chip__icon--left`,name:ee.value}));let r=e.label===void 0?void 0:[a(`div`,{class:`ellipsis`},[e.label])];return n.push(a(`div`,{class:`q-chip__content col row no-wrap items-center q-anchor--skip`},d(t.default,r))),e.iconRight&&n.push(a(de,{class:`q-chip__icon q-chip__icon--right`,name:e.iconRight})),e.removable&&n.push(a(de,{class:`q-chip__icon q-chip__icon--remove cursor-pointer`,name:c.value,...re.value.remove,onClick:p,onKeydown:D,onKeyup:p})),n}return()=>{if(!e.modelValue)return;let t={class:ne.value};return e.size!==void 0&&(t.style=xe(e.size)),te.value&&Object.assign(t,re.value.chip),u.value&&Object.assign(t,{onClick:f,onKeydown:D,onKeyup:ae}),i(a(`div`,t,h()),[[x,e.disable||e.ripple===!1?!1:e.ripple]])}}}),Ce=g({name:`QField`,inheritAttrs:!1,props:{...y,tag:{type:String,default:`label`}},emits:v,setup(){return le(ue({tagProp:!0}))}}),we=e=>[`add`,`add-unique`,`toggle`].includes(e),Te=".*+?^${}()|[]\\",Ee=Object.keys(y);function De(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 O=g({name:`QSelect`,inheritAttrs:!1,props:{...T,..._,...y,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:we},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`},...E,virtualScrollItemSize:T.virtualScrollItemSize.type,onNewValue:Function,onFilter:Function},emits:[...v,`add`,`remove`,`inputValue`,`keyup`,`keypress`,`keydown`,`popupShow`,`popupHide`,`filterAbort`],setup(i,{slots:d,emit:g}){let{proxy:_}=te(),v=ie(),y=c(!1),b=c(!1),x=c(-1),S=c(``),C=c(!1),w=c(!1),T=null,E=null,D=!1,xe=0,O,Oe=!1,k,A,ke=!1,j=null,Ae,je,M,Me,Ne=o(null),N=o(null),P=o(null),F=o(null),Pe=o(null),Fe=oe(i),Ie=se(Et),I=l(()=>Array.isArray(i.options)?i.options.length:0),Le=l(()=>i.virtualScrollItemSize===void 0?i.optionsDense?24:48:i.virtualScrollItemSize),{virtualScrollSliceRange:Re,virtualScrollSliceSizeComputed:ze,localResetVirtualScroll:Be,padVirtualScroll:Ve,onVirtualScrollEvt:He,scrollTo:Ue,setVirtualScrollSize:We}=ge({virtualScrollLength:I,getVirtualScrollTarget:St,getVirtualScrollEl:xt,virtualScrollItemSizeComputed:Le}),L=ue(),R=l(()=>{let e=i.mapOptions&&!i.multiple,t=i.modelValue!==void 0&&(i.modelValue!==null||e)?i.multiple&&Array.isArray(i.modelValue)?i.modelValue:[i.modelValue]:[];if(i.mapOptions&&Array.isArray(i.options)){let n=i.mapOptions&&O!==void 0?O:[],r=t.map(e=>mt(e,n));return i.modelValue===null&&e?r.filter(e=>e!==null):r}return t}),Ge=l(()=>{let e={};return Ee.forEach(t=>{let n=i[t];n!==void 0&&(e[t]=n)}),e}),Ke=l(()=>i.optionsDark===null?L.isDark():i.optionsDark),qe=l(()=>ce(R.value)),Je=l(()=>{let e=`q-field__input q-placeholder col`;return i.hideSelected||R.value.length===0?[e,i.inputClass]:(e+=` q-field__input--padding`,i.inputClass===void 0?e:[e,i.inputClass])}),Ye=l(()=>(i.virtualScrollHorizontal?`q-virtual-scroll--horizontal`:``)+(i.popupContentClass?` `+i.popupContentClass:``)),z=l(()=>I.value===0);function B(){return d[`no-option`]!==void 0||i.noOptionLabel!==void 0}let Xe=l(()=>R.value.map(e=>H.value(e)).join(`, `)),Ze=l(()=>i.displayValue===void 0?Xe.value:i.displayValue),Qe=l(()=>i.optionsHtml?()=>!0:e=>e?.html===!0),$e=l(()=>i.displayValueHtml||i.displayValue===void 0&&(i.optionsHtml||R.value.some(Qe.value))),et=l(()=>L.focused.value?i.tabindex:-1),tt=l(()=>{let e={tabindex:i.disable===!0?void 0:i.tabindex,role:`combobox`,"aria-label":i.label,"aria-readonly":i.readonly?`true`:`false`,"aria-autocomplete":i.useInput?`list`:`none`,"aria-expanded":y.value?`true`:`false`};return y.value&&!z.value&&(e[`aria-controls`]=`${L.targetUid.value}_lb`),x.value>=0&&(e[`aria-activedescendant`]=`${L.targetUid.value}_${x.value}`),e}),nt=l(()=>({id:`${L.targetUid.value}_lb`,role:`listbox`,"aria-multiselectable":i.multiple?`true`:`false`})),rt=l(()=>R.value.map((e,t)=>({index:t,opt:e,html:Qe.value(e),selected:!0,removeAtIndex:ft,toggleOption:W,tabindex:et.value}))),it=l(()=>{if(I.value===0)return[];let{from:e,to:t}=Re.value;return i.options.slice(e,t).map((t,n)=>{let r=U.value(t)===!0,a=ht(t),o=e+n,s={clickable:!0,active:a,activeClass:st.value,manualFocus:!0,focused:!1,disable:r,tabindex:-1,dense:i.optionsDense,dark:Ke.value,role:`option`,"aria-selected":a?`true`:`false`,"aria-setsize":I.value,"aria-posinset":o+1,id:`${L.targetUid.value}_${o}`,onClick:()=>{W(t)}};return r||(x.value===o&&(s.focused=!0),s.onPointermove=e=>{e.pointerType!==`touch`&&y.value&&G(o)}),{index:o,opt:t,html:Qe.value(t),label:H.value(t),selected:s.active,focused:s.focused,toggleOption:W,setOptionIndex:G,itemProps:s}})}),at=l(()=>i.dropdownIcon===void 0?v.iconSet.arrow.dropdown:i.dropdownIcon),ot=l(()=>!i.optionsCover&&!i.outlined&&!i.standout&&!i.borderless&&!i.rounded),st=l(()=>i.optionsSelectedClass===void 0?i.color===void 0?``:`text-${i.color}`:i.optionsSelectedClass),V=l(()=>De(i.optionValue,`value`)),H=l(()=>De(i.optionLabel,`label`)),U=l(()=>De(i.optionDisable,`disable`)),ct=l(()=>R.value.map(V.value)),lt=l(()=>{let e={onInput:Et,onChange:Ie,onKeydown:bt,onKeyup:vt,onKeypress:yt,onFocus:gt,onClick(e){k&&f(e)}};return e.onCompositionstart=e.onCompositionupdate=e.onCompositionend=Ie,e});e(R,e=>{O=e,i.useInput&&i.fillInput&&!i.multiple&&!L.innerLoading.value&&(!b.value&&!y.value||!qe.value)&&(A||$(),(b.value||y.value)&&Y(``)),Oe&&Dt()&&(Oe=!1)},{immediate:!0}),e(()=>i.fillInput,$),e(y,Ut),e(I,Wt);function ut(e){return i.emitValue?V.value(e):e}function dt(e){if(e!==-1&&e<R.value.length){if(i.multiple){let t=[...i.modelValue];g(`remove`,{index:e,value:t.splice(e,1)[0]}),g(`update:modelValue`,t)}else g(`update:modelValue`,null)}}function ft(e){dt(e),L.focus()}function pt(e,t){let n=ut(e);if(!i.multiple){i.fillInput&&J(H.value(e),!0,!0),g(`update:modelValue`,n);return}if(R.value.length===0){g(`add`,{index:0,value:n}),g(`update:modelValue`,i.multiple?[n]:n);return}if(t&&ht(e)||i.maxValues!==void 0&&i.modelValue.length>=i.maxValues)return;let r=[...i.modelValue];g(`add`,{index:r.length,value:n}),r.push(n),g(`update:modelValue`,r)}function W(e,t){if(!L.editable.value||e===void 0||U.value(e)===!0)return;let n=V.value(e);if(!i.multiple){let r=!t&&b.value;t||(J(i.fillInput?H.value(e):``,!0,!0),Q()),r||N.value?.focus(),(R.value.length===0||!h(V.value(R.value[0]),n))&&g(`update:modelValue`,i.emitValue?n:e);return}if((!k||C.value)&&L.focus(),gt(),R.value.length===0){let t=i.emitValue?n:e;g(`add`,{index:0,value:t}),g(`update:modelValue`,i.multiple?[t]:t);return}let r=[...i.modelValue],a=ct.value.findIndex(e=>h(e,n));if(a!==-1)g(`remove`,{index:a,value:r.splice(a,1)[0]});else{if(i.maxValues!==void 0&&r.length>=i.maxValues)return;let t=i.emitValue?n:e;g(`add`,{index:r.length,value:t}),r.push(t)}g(`update:modelValue`,r)}function G(e){let t=e!==-1&&e<I.value?e:-1;x.value!==t&&(x.value=t,ke=!1)}function K(e=1,t){if(y.value){let n=x.value;do n=me(n+e,-1,I.value-1);while(n!==-1&&n!==x.value&&U.value(i.options[n])===!0);x.value!==n&&(G(n),Ue(n),!t&&i.useInput&&i.fillInput&&q(n>=0?H.value(i.options[n]):Ae,!0))}}function mt(e,t){let n=t=>h(V.value(t),e);return i.options.find(n)||t.find(n)||e}function ht(e){let t=V.value(e);return ct.value.find(e=>h(e,t))!==void 0}function gt(e){i.useInput&&N.value!==null&&(e===void 0||N.value===e.target&&e.target.value===Xe.value)&&N.value.select()}function _t(e){ae(e,27)&&y.value&&(f(e),Q(e),$()),g(`keyup`,e)}function vt(e){let{value:t}=e.target;if(e.keyCode!==void 0){_t(e);return}if(e.target.value=``,T!==null&&(clearTimeout(T),T=null),E!==null&&(clearTimeout(E),E=null),$(),typeof t==`string`&&t.length!==0){let e=t.toLocaleLowerCase(),n=t=>{let n=i.options.find(n=>String(t.value(n)).toLocaleLowerCase()===e);return n!==void 0&&(R.value.includes(n)?Q():W(n),!0)},r=e=>{!n(V)&&!e&&!n(H)&&Y(t,!0,()=>r(!0))};r()}else L.clearValue(e)}function yt(e){g(`keypress`,e)}function bt(e){if(g(`keydown`,e),e.defaultPrevented||u(e))return;let t=S.value.length!==0&&(i.newValueMode!==void 0||i.onNewValue!==void 0),n=!e.shiftKey&&!i.disableTabSelection&&!i.multiple&&(x.value!==-1||t);if(e.keyCode===27){p(e);return}if(e.keyCode===9&&!n){X(e);return}if(e.target===void 0||e.target.id!==L.targetUid.value||!L.editable.value)return;if((e.keyCode===40||e.keyCode===38)&&!L.innerLoading.value&&!y.value){m(e),Z(e);return}if(e.keyCode===8&&(i.useChips&&!i.noChipRemove||i.clearable)&&!i.hideSelected&&S.value.length===0){(i.clearable||U.value(R.value.at(-1))!==!0)&&(i.multiple&&Array.isArray(i.modelValue)?dt(i.modelValue.length-1):!i.multiple&&i.modelValue!==null&&g(`update:modelValue`,null));return}(e.keyCode===35||e.keyCode===36)&&(typeof S.value!=`string`||S.value.length===0)&&(m(e),x.value=-1,K(e.keyCode===36?1:-1,i.multiple)),(e.keyCode===33||e.keyCode===34)&&ze.value!==void 0&&(m(e),x.value=Math.max(-1,Math.min(I.value,x.value+(e.keyCode===33?-1:1)*ze.value.view)),K(e.keyCode===33?1:-1,i.multiple)),(e.keyCode===38||e.keyCode===40)&&(m(e),K(e.keyCode===38?-1:1,i.multiple));let a=I.value;if((M===void 0||Me<Date.now())&&(M=``),a>0&&!i.useInput&&e.key!==void 0&&e.key.length===1&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&(e.keyCode!==32||M.length!==0)){y.value||Z(e);let t=e.key.toLocaleLowerCase(),n=M.length===1&&M[0]===t;Me=Date.now()+1500,n||(m(e),M+=t);let o=RegExp(`^`+[...M].map(e=>Te.includes(e)?`\\`+e:e).join(`.*`),`i`),s=x.value;if(n||s<0||!o.test(H.value(i.options[s])))do s=me(s+1,-1,a-1);while(s!==x.value&&(U.value(i.options[s])===!0||!o.test(H.value(i.options[s]))));x.value!==s&&r(()=>{G(s),Ue(s),s>=0&&i.useInput&&i.fillInput&&q(H.value(i.options[s]),!0)});return}if(e.keyCode===13||e.keyCode===32&&!i.useInput&&M===``||e.keyCode===9&&n){if(e.keyCode!==9&&m(e),x.value!==-1&&x.value<a&&!(t&&A&&ke)){W(i.options[x.value]);return}if(t){let e=(e,t)=>{if(t){if(!we(t))return}else t=i.newValueMode;J(``,!i.multiple,!0),e!=null&&((t===`toggle`?W:pt)(e,t===`add-unique`),i.multiple||(N.value?.focus(),Q()))};if(i.onNewValue===void 0?e(S.value):g(`newValue`,S.value,e),!i.multiple)return}y.value?X(e):L.innerLoading.value||Z(e)}}function xt(){return k?Pe.value:P.value!==null&&P.value.contentEl!==null?P.value.contentEl:void 0}function St(){return xt()}function Ct(){return i.hideSelected?[]:d[`selected-item`]===void 0?d.selected===void 0?i.useChips?rt.value.map((e,t)=>a(Se,{key:`option-`+t,removable:!i.noChipRemove&&L.editable.value&&U.value(e.opt)!==!0,dense:!0,textColor:i.color,tabindex:et.value,onRemove(){e.removeAtIndex(t)}},()=>a(`span`,{class:`ellipsis`,[e.html?`innerHTML`:`textContent`]:H.value(e.opt)}))):[a(`span`,{class:`q-select__selected-value ellipsis`,[$e.value?`innerHTML`:`textContent`]:Ze.value})]:[d.selected()].flat():rt.value.map(e=>d[`selected-item`](e))}function wt(){if(z.value)return d[`no-option`]===void 0?i.noOptionLabel===void 0?void 0:[a(be,()=>a(_e,{class:`text-grey`},()=>a(he,()=>i.noOptionLabel)))]:d[`no-option`]({inputValue:S.value});let e=d.option===void 0?e=>a(be,{key:e.index,...e.itemProps},()=>a(_e,()=>a(he,()=>a(`span`,{[e.html?`innerHTML`:`textContent`]:e.label})))):d.option,t=Ve(`div`,it.value.map(e),nt.value);return d[`before-options`]!==void 0&&(t=[d[`before-options`](),...t].flat()),ne(d[`after-options`],t)}function Tt(e,t){let n=t?{...tt.value,...L.splitAttrs.attributes.value}:void 0,r={ref:t?N:void 0,key:`i_t`,class:Je.value,style:i.inputStyle,value:S.value===void 0?``:S.value,type:`search`,...n,id:t?L.targetUid.value:void 0,maxlength:i.maxlength,autocomplete:i.autocomplete,"data-autofocus":e===!0||i.autofocus||void 0,disabled:i.disable,readonly:i.readonly,...lt.value};return t&&Object.assign(r,L.getErrorAriaAttrs(r)),!e&&k&&(Array.isArray(r.class)?r.class=[...r.class,`no-pointer-events`]:r.class+=` no-pointer-events`),a(`input`,r)}function Et(e){T!==null&&(clearTimeout(T),T=null),E!==null&&(clearTimeout(E),E=null),!e?.target?.qComposing&&(q(e.target.value||``),A=!0,Ae=S.value,!L.focused.value&&(!k||C.value)&&L.focus(),i.onFilter!==void 0&&(k&&!b.value?Z(e):T=setTimeout(()=>{T=null,Y(S.value)},i.inputDebounce)))}function q(e,t){S.value!==e&&(E!==null&&(clearTimeout(E),E=null),S.value=e,t||i.inputDebounce===0||i.inputDebounce===`0`?g(`inputValue`,e):E=setTimeout(()=>{E=null,g(`inputValue`,e)},i.inputDebounce))}function J(e,t,n){A=n!==!0,i.useInput&&(q(e,!0),(t||A)&&(Ae=e),t||Y(e))}function Y(e,t,n){if(i.onFilter===void 0||!t&&!L.focused.value&&!D)return;L.innerLoading.value?g(`filterAbort`):(L.innerLoading.value=!0,w.value=!0),e!==``&&!i.multiple&&R.value.length!==0&&!A&&e===H.value(R.value[0])&&(e=``);let a=setTimeout(()=>{y.value&&=!1},10);j!==null&&clearTimeout(j),j=a,g(`filter`,e,(e,i)=>{(t||L.focused.value||D)&&j===a&&(clearTimeout(j),typeof e==`function`&&e(),w.value=!1,r(()=>{L.innerLoading.value=!1,L.editable.value&&(t?y.value&&Q():y.value?Ut(!0):y.value=!0),typeof i==`function`&&r(()=>{i(_)}),typeof n==`function`&&r(()=>{n(_)})}))},()=>{(t||L.focused.value||D)&&j===a&&(clearTimeout(j),L.innerLoading.value=!1,w.value=!1),y.value&&=!1})}function Dt(){return I.value!==0||R.value.every(e=>typeof e==`object`&&!!e)?!1:(Y(``,!0,$),!0)}function Ot(){return a(ve,{ref:P,class:Ye.value,style:i.popupContentStyle,modelValue:y.value,fit:!i.menuShrink,cover:i.optionsCover&&!z.value&&!i.useInput,anchor:i.menuAnchor,self:i.menuSelf,offset:i.menuOffset,dark:Ke.value,noParentEvent:!0,noRefocus:!0,noFocus:!0,noRouteDismiss:i.popupNoRouteDismiss,square:ot.value,transitionShow:i.transitionShow,transitionHide:i.transitionHide,transitionDuration:i.transitionDuration,separateClosePopup:!0,onScrollPassive:He,onBeforeShow:Kt,onBeforeHide:kt,onShow:At,...i.hover?{onPointerenter:Vt,onPointerleave:Bt}:{}},wt)}function kt(e){qt(e),X()}function At(){We()}function jt(e){f(e),N.value?.focus(),C.value=!0,v.platform.is.ios&&window.scrollTo(window.scrollX,0)}function Mt(e){f(e),r(()=>{C.value=!1})}function Nt(){let e=[a(Ce,{class:`col-auto ${L.fieldClass.value}`,...Ge.value,for:L.targetUid.value,dark:Ke.value,square:!0,loading:w.value,itemAligned:!1,filled:!0,stackLabel:S.value.length!==0,...L.splitAttrs.listeners.value,onFocus:jt,onBlur:Mt},{...d,rawControl:()=>L.getControl(!0),before:void 0,after:void 0,append:i.hideDialogClose?d.append:()=>{let e=a(`button`,{class:`q-select__dialog-close`+(i.color===void 0?``:` text-${i.color}`),type:`button`,tabindex:0,onClick:Q},v.lang.label.close);return d.append===void 0?[e]:[...d.append(),e]}})];return y.value&&e.push(a(`div`,{ref:Pe,class:Ye.value+` scroll`,style:i.popupContentStyle,onClick:p,onScrollPassive:He},wt())),a(pe,{ref:F,modelValue:b.value,position:i.useInput?`top`:void 0,noFocus:!0,transitionShow:je,transitionHide:i.transitionHide,transitionDuration:i.transitionDuration,noRouteDismiss:i.popupNoRouteDismiss,onBeforeShow:Kt,onBeforeHide:Pt,onHide:Ft,onShow:It},()=>a(`div`,{class:`q-select__dialog`+(Ke.value?` q-select__dialog--dark q-dark`:``)+(C.value?` q-select__dialog--focused`:``)},e))}function Pt(e){if(qt(e),F.value!==null){let t=!v.platform.is.mobile||!i.useInput||e!==void 0&&(e.type.indexOf(`key`)===0||e.type===`click`&&e.detail===0)?L.rootRef.value.querySelector(`.q-field__native > .q-select__focus-target, .q-field__native > .q-field__input`):null;F.value.__updateRefocusTarget(t)}L.focused.value=!1}function Ft(e){Q(),L.focused.value||g(`blur`,e),$()}function It(){let e=document.activeElement;(e===null||e.id!==L.targetUid.value)&&N.value!==null&&N.value!==e&&N.value.focus(),We()}function X(e){b.value||(Rt(),D=!1,x.value=-1,y.value&&(e!==void 0&&(e.qSelectHandled=!0),y.value=!1,P.value?.hide(e)),L.focused.value||(j!==null&&(clearTimeout(j),j=null),L.innerLoading.value&&(g(`filterAbort`),L.innerLoading.value=!1,w.value=!1)))}function Lt(e){if(e==null)return!1;let t=P.value===null?null:P.value.contentEl;if(L.controlRef.value!==null&&L.controlRef.value.contains(e)||t!==null&&t.contains(e))return!0;let n=fe(e);for(;n!=null;){if(n===_)return!0;n=re(n)}return!1}let{clearHoverTimer:Rt,hoverShow:zt,hoverHide:Bt,onHoverContentEnter:Vt}=ye({props:i,canShow:()=>!k&&!D&&!y.value&&L.editable.value,show:Ht,canHide:e=>D&&!Lt(e.relatedTarget),hide:Q});function Ht(e){(i.onFilter!==void 0||!z.value||B())&&(D=!0,xe=Date.now(),e.qSelectHandled=!0,i.onFilter===void 0?(y.value=!0,P.value?.show(e)):Y(S.value))}function Z(e){L.editable.value&&(Rt(),D=!1,e!==void 0&&(e.qSelectHandled=!0),k?(L.onControlFocusin(e),L.focus(),b.value=!0,F.value?.show(e),r(()=>{L.focus()})):L.focus(),i.onFilter===void 0?(!z.value||B())&&(y.value=!0,P.value?.show(e)):Y(S.value))}function Q(e){b.value&&(e!==void 0&&(e.qSelectHandled=!0),b.value=!1,F.value?.hide(e)),X(e)}function $(){i.useInput&&J(!i.multiple&&i.fillInput&&R.value.length!==0?H.value(R.value[0])??``:``,!0,!0)}function Ut(e){let t=-1;if(e){if(R.value.length!==0){let e=V.value(R.value[0]);t=i.options.findIndex(t=>h(V.value(t),e))}Be(t)}G(t),ke=t!==-1}function Wt(e,t){y.value&&!L.innerLoading.value&&(Be(-1,!0),r(()=>{y.value&&!L.innerLoading.value&&(e>t?Be():Ut(!0))}))}function Gt(){b.value||P.value?.updatePosition()}function Kt(e){e!==void 0&&e.qSelectHandled!==!0&&f(e),g(`popupShow`,e),L.hasPopupOpen=!0,D||L.onControlFocusin(e)}function qt(e){e!==void 0&&e.qSelectHandled!==!0&&f(e),g(`popupHide`,e),L.hasPopupOpen=!1,L.onControlFocusout(e,$)}function Jt(){k=!v.platform.is.mobile&&i.behavior!==`dialog`?!1:i.behavior!==`menu`&&(!i.useInput||B()||i.onFilter!==void 0||!z.value),je=v.platform.is.ios&&k&&i.useInput?`fade`:i.transitionShow}return ee(Jt),t(Gt),!i.noOptionPrefetch&&i.mapOptions&&i.onFilter!==void 0&&s(()=>{Oe=!Dt()}),Jt(),n(()=>{T!==null&&clearTimeout(T),E!==null&&clearTimeout(E)}),Object.assign(_,{showPopup:Z,hidePopup:Q,removeAtIndex:dt,add:pt,toggleOption:W,getOptionIndex:()=>x.value,setOptionIndex:G,moveOptionSelection:K,filter:Y,updateMenuPosition:Gt,updateInputValue:J,isOptionSelected:ht,getEmittingOptionValue:ut,isOptionDisabled:(...e)=>U.value(...e)===!0,getOptionValue:(...e)=>V.value(...e),getOptionLabel:(...e)=>H.value(...e)}),Object.assign(L,{innerValue:R,fieldClass:l(()=>`q-select q-field--auto-height q-select--with${i.useInput?``:`out`}-input q-select--with${i.useChips?``:`out`}-chips q-select--${i.multiple?`multiple`:`single`}`),inputRef:Ne,targetRef:N,hasValue:qe,showPopup:Z,floatingLabel:l(()=>!i.hideSelected&&qe.value||typeof S.value==`number`||S.value.length!==0||ce(i.displayValue)),getControlChild:()=>{if(L.editable.value&&(b.value||!z.value||B()))return k?Nt():Ot();L.hasPopupOpen&&=!1},controlEvents:{onFocusin(e){Rt(),D=!1,L.onControlFocusin(e)},onFocusout(e){L.onControlFocusout(e,()=>{$(),X(e)})},onClick(e){if(p(e),!k&&y.value){if(D&&Date.now()-xe<(i.transitionDuration===void 0?300:Number(i.transitionDuration))){D=!1,L.focus();return}X(e),N.value?.focus();return}Z(e)},onPointerenter:zt,onPointerleave:Bt},getControl:e=>{let t=Ct(),n=e===!0||!b.value||!k;if(i.useInput)t.push(Tt(e,n));else{let r=n?{...tt.value,...L.splitAttrs.attributes.value}:void 0,o={ref:n?N:void 0,key:`d_t`,class:`q-select__focus-target`,value:Ze.value,readonly:!0,"data-autofocus":e===!0||i.autofocus||void 0,...r,disabled:i.disable,id:n?L.targetUid.value:void 0,onKeydown:bt,onKeyup:_t,onKeypress:yt};n&&Object.assign(o,L.getErrorAriaAttrs(o)),t.push(a(`input`,o)),n&&L.editable.value&&typeof i.autocomplete==`string`&&i.autocomplete.length!==0&&t.push(a(`input`,{class:`q-select__autocomplete-input`,autocomplete:i.autocomplete,tabindex:-1,onKeyup:vt}))}if(!i.disable){let e=Fe();if(e!==void 0){let n=ct.value.map(e=>a(`option`,{value:e,selected:!0}));t.push(a(`select`,{class:`hidden`,name:e,multiple:i.multiple},n))}}return a(`div`,{class:`q-field__native row items-center`,...L.splitAttrs.listeners.value},t)},shouldHideLoadingIndicator:()=>i.hideDropdownIcon===!0,getInnerAppend:()=>!i.loading&&!w.value&&!i.hideDropdownIcon?[a(de,{class:`q-select__dropdown-icon`+(y.value?` rotate-180`:``),name:at.value})]:null}),le(L)}});export{Se as n,O as t};
1
+ import{K as e,N as t,O as n,T as r,Y as i,b as a,ct as o,j as s,k as ee,ot as c,s as l,v as te}from"./runtime-core.esm-bundler-BKFI1w28.js";import{C as u,a as d,i as ne,l as re,p as ie,x as ae}from"./use-router-link-BGc0noIO.js";import{l as f,s as p,u as m}from"./event-rR76ioXz.js";import{n as h}from"./is-CE4jkrGQ.js";import{t as g}from"./create-BSmXD9Zr.js";import{a as _,c as v,i as oe,l as y,n as se,o as ce,s as le,u as ue}from"./QInput-DJgTh2Qy.js";import{f as b,i as x,l as de,u as S}from"./QBtn-DoggJe1Q.js";import{n as C,t as w}from"./use-dark-BHObfh0O.js";import{J as fe,c as pe}from"./index-BQi8n0xV.js";import{a as me}from"./use-server-events-BrBCbeHu.js";import{n as T,r as he,t as ge}from"./use-virtual-scroll-BSXYZjZ5.js";import{c as _e,i as E,n as ve,r as ye,s as be}from"./ClosePopup-p9VBZw3j.js";function D(e){e.keyCode===32&&m(e)}var xe=S({xs:8,sm:10,md:14,lg:20,xl:24}),Se=g({name:`QChip`,props:{...C,...b,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=ie(),o=w(e,r),s=l(()=>e.selected||e.icon!==void 0),ee=l(()=>e.selected?e.iconSelected||r.iconSet.chip.selected:e.icon),c=l(()=>e.iconRemove||r.iconSet.chip.remove),te=l(()=>(e.clickable===null?e.onClick!==void 0:e.clickable)||e.selected!==null),u=l(()=>!e.disable&&te.value),ne=l(()=>{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`:``)+(u.value?` q-chip--clickable cursor-pointer non-selectable q-hoverable`:``)+(e.square?` q-chip--square`:``)+(o()?` q-chip--dark q-dark`:``)}),re=l(()=>({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 ae(e){[13,32].includes(e.keyCode)&&(f(e),m(e))}function f(t){e.disable||(n(`update:selected`,!e.selected),n(`click`,t))}function p(t){(t.keyCode===void 0||[13,32].includes(t.keyCode))&&(m(t),e.disable||(n(`update:modelValue`,!1),n(`remove`)))}function h(){let n=[];u.value&&n.push(a(`div`,{class:`q-focus-helper`})),s.value&&n.push(a(de,{class:`q-chip__icon q-chip__icon--left`,name:ee.value}));let r=e.label===void 0?void 0:[a(`div`,{class:`ellipsis`},[e.label])];return n.push(a(`div`,{class:`q-chip__content col row no-wrap items-center q-anchor--skip`},d(t.default,r))),e.iconRight&&n.push(a(de,{class:`q-chip__icon q-chip__icon--right`,name:e.iconRight})),e.removable&&n.push(a(de,{class:`q-chip__icon q-chip__icon--remove cursor-pointer`,name:c.value,...re.value.remove,onClick:p,onKeydown:D,onKeyup:p})),n}return()=>{if(!e.modelValue)return;let t={class:ne.value};return e.size!==void 0&&(t.style=xe(e.size)),te.value&&Object.assign(t,re.value.chip),u.value&&Object.assign(t,{onClick:f,onKeydown:D,onKeyup:ae}),i(a(`div`,t,h()),[[x,e.disable||e.ripple===!1?!1:e.ripple]])}}}),Ce=g({name:`QField`,inheritAttrs:!1,props:{...y,tag:{type:String,default:`label`}},emits:v,setup(){return le(ue({tagProp:!0}))}}),we=e=>[`add`,`add-unique`,`toggle`].includes(e),Te=".*+?^${}()|[]\\",Ee=Object.keys(y);function De(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 O=g({name:`QSelect`,inheritAttrs:!1,props:{...T,..._,...y,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:we},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`},...E,virtualScrollItemSize:T.virtualScrollItemSize.type,onNewValue:Function,onFilter:Function},emits:[...v,`add`,`remove`,`inputValue`,`keyup`,`keypress`,`keydown`,`popupShow`,`popupHide`,`filterAbort`],setup(i,{slots:d,emit:g}){let{proxy:_}=te(),v=ie(),y=c(!1),b=c(!1),x=c(-1),S=c(``),C=c(!1),w=c(!1),T=null,E=null,D=!1,xe=0,O,Oe=!1,k,A,ke=!1,j=null,Ae,je,M,Me,Ne=o(null),N=o(null),P=o(null),F=o(null),Pe=o(null),Fe=oe(i),Ie=se(Et),I=l(()=>Array.isArray(i.options)?i.options.length:0),Le=l(()=>i.virtualScrollItemSize===void 0?i.optionsDense?24:48:i.virtualScrollItemSize),{virtualScrollSliceRange:Re,virtualScrollSliceSizeComputed:ze,localResetVirtualScroll:Be,padVirtualScroll:Ve,onVirtualScrollEvt:He,scrollTo:Ue,setVirtualScrollSize:We}=ge({virtualScrollLength:I,getVirtualScrollTarget:St,getVirtualScrollEl:xt,virtualScrollItemSizeComputed:Le}),L=ue(),R=l(()=>{let e=i.mapOptions&&!i.multiple,t=i.modelValue!==void 0&&(i.modelValue!==null||e)?i.multiple&&Array.isArray(i.modelValue)?i.modelValue:[i.modelValue]:[];if(i.mapOptions&&Array.isArray(i.options)){let n=i.mapOptions&&O!==void 0?O:[],r=t.map(e=>mt(e,n));return i.modelValue===null&&e?r.filter(e=>e!==null):r}return t}),Ge=l(()=>{let e={};return Ee.forEach(t=>{let n=i[t];n!==void 0&&(e[t]=n)}),e}),Ke=l(()=>i.optionsDark===null?L.isDark():i.optionsDark),qe=l(()=>ce(R.value)),Je=l(()=>{let e=`q-field__input q-placeholder col`;return i.hideSelected||R.value.length===0?[e,i.inputClass]:(e+=` q-field__input--padding`,i.inputClass===void 0?e:[e,i.inputClass])}),Ye=l(()=>(i.virtualScrollHorizontal?`q-virtual-scroll--horizontal`:``)+(i.popupContentClass?` `+i.popupContentClass:``)),z=l(()=>I.value===0);function B(){return d[`no-option`]!==void 0||i.noOptionLabel!==void 0}let Xe=l(()=>R.value.map(e=>H.value(e)).join(`, `)),Ze=l(()=>i.displayValue===void 0?Xe.value:i.displayValue),Qe=l(()=>i.optionsHtml?()=>!0:e=>e?.html===!0),$e=l(()=>i.displayValueHtml||i.displayValue===void 0&&(i.optionsHtml||R.value.some(Qe.value))),et=l(()=>L.focused.value?i.tabindex:-1),tt=l(()=>{let e={tabindex:i.disable===!0?void 0:i.tabindex,role:`combobox`,"aria-label":i.label,"aria-readonly":i.readonly?`true`:`false`,"aria-autocomplete":i.useInput?`list`:`none`,"aria-expanded":y.value?`true`:`false`};return y.value&&!z.value&&(e[`aria-controls`]=`${L.targetUid.value}_lb`),x.value>=0&&(e[`aria-activedescendant`]=`${L.targetUid.value}_${x.value}`),e}),nt=l(()=>({id:`${L.targetUid.value}_lb`,role:`listbox`,"aria-multiselectable":i.multiple?`true`:`false`})),rt=l(()=>R.value.map((e,t)=>({index:t,opt:e,html:Qe.value(e),selected:!0,removeAtIndex:ft,toggleOption:W,tabindex:et.value}))),it=l(()=>{if(I.value===0)return[];let{from:e,to:t}=Re.value;return i.options.slice(e,t).map((t,n)=>{let r=U.value(t)===!0,a=ht(t),o=e+n,s={clickable:!0,active:a,activeClass:st.value,manualFocus:!0,focused:!1,disable:r,tabindex:-1,dense:i.optionsDense,dark:Ke.value,role:`option`,"aria-selected":a?`true`:`false`,"aria-setsize":I.value,"aria-posinset":o+1,id:`${L.targetUid.value}_${o}`,onClick:()=>{W(t)}};return r||(x.value===o&&(s.focused=!0),s.onPointermove=e=>{e.pointerType!==`touch`&&y.value&&G(o)}),{index:o,opt:t,html:Qe.value(t),label:H.value(t),selected:s.active,focused:s.focused,toggleOption:W,setOptionIndex:G,itemProps:s}})}),at=l(()=>i.dropdownIcon===void 0?v.iconSet.arrow.dropdown:i.dropdownIcon),ot=l(()=>!i.optionsCover&&!i.outlined&&!i.standout&&!i.borderless&&!i.rounded),st=l(()=>i.optionsSelectedClass===void 0?i.color===void 0?``:`text-${i.color}`:i.optionsSelectedClass),V=l(()=>De(i.optionValue,`value`)),H=l(()=>De(i.optionLabel,`label`)),U=l(()=>De(i.optionDisable,`disable`)),ct=l(()=>R.value.map(V.value)),lt=l(()=>{let e={onInput:Et,onChange:Ie,onKeydown:bt,onKeyup:vt,onKeypress:yt,onFocus:gt,onClick(e){k&&f(e)}};return e.onCompositionstart=e.onCompositionupdate=e.onCompositionend=Ie,e});e(R,e=>{O=e,i.useInput&&i.fillInput&&!i.multiple&&!L.innerLoading.value&&(!b.value&&!y.value||!qe.value)&&(A||$(),(b.value||y.value)&&Y(``)),Oe&&Dt()&&(Oe=!1)},{immediate:!0}),e(()=>i.fillInput,$),e(y,Ut),e(I,Wt);function ut(e){return i.emitValue?V.value(e):e}function dt(e){if(e!==-1&&e<R.value.length){if(i.multiple){let t=[...i.modelValue];g(`remove`,{index:e,value:t.splice(e,1)[0]}),g(`update:modelValue`,t)}else g(`update:modelValue`,null)}}function ft(e){dt(e),L.focus()}function pt(e,t){let n=ut(e);if(!i.multiple){i.fillInput&&J(H.value(e),!0,!0),g(`update:modelValue`,n);return}if(R.value.length===0){g(`add`,{index:0,value:n}),g(`update:modelValue`,i.multiple?[n]:n);return}if(t&&ht(e)||i.maxValues!==void 0&&i.modelValue.length>=i.maxValues)return;let r=[...i.modelValue];g(`add`,{index:r.length,value:n}),r.push(n),g(`update:modelValue`,r)}function W(e,t){if(!L.editable.value||e===void 0||U.value(e)===!0)return;let n=V.value(e);if(!i.multiple){let r=!t&&b.value;t||(J(i.fillInput?H.value(e):``,!0,!0),Q()),r||N.value?.focus(),(R.value.length===0||!h(V.value(R.value[0]),n))&&g(`update:modelValue`,i.emitValue?n:e);return}if((!k||C.value)&&L.focus(),gt(),R.value.length===0){let t=i.emitValue?n:e;g(`add`,{index:0,value:t}),g(`update:modelValue`,i.multiple?[t]:t);return}let r=[...i.modelValue],a=ct.value.findIndex(e=>h(e,n));if(a!==-1)g(`remove`,{index:a,value:r.splice(a,1)[0]});else{if(i.maxValues!==void 0&&r.length>=i.maxValues)return;let t=i.emitValue?n:e;g(`add`,{index:r.length,value:t}),r.push(t)}g(`update:modelValue`,r)}function G(e){let t=e!==-1&&e<I.value?e:-1;x.value!==t&&(x.value=t,ke=!1)}function K(e=1,t){if(y.value){let n=x.value;do n=me(n+e,-1,I.value-1);while(n!==-1&&n!==x.value&&U.value(i.options[n])===!0);x.value!==n&&(G(n),Ue(n),!t&&i.useInput&&i.fillInput&&q(n>=0?H.value(i.options[n]):Ae,!0))}}function mt(e,t){let n=t=>h(V.value(t),e);return i.options.find(n)||t.find(n)||e}function ht(e){let t=V.value(e);return ct.value.find(e=>h(e,t))!==void 0}function gt(e){i.useInput&&N.value!==null&&(e===void 0||N.value===e.target&&e.target.value===Xe.value)&&N.value.select()}function _t(e){ae(e,27)&&y.value&&(f(e),Q(e),$()),g(`keyup`,e)}function vt(e){let{value:t}=e.target;if(e.keyCode!==void 0){_t(e);return}if(e.target.value=``,T!==null&&(clearTimeout(T),T=null),E!==null&&(clearTimeout(E),E=null),$(),typeof t==`string`&&t.length!==0){let e=t.toLocaleLowerCase(),n=t=>{let n=i.options.find(n=>String(t.value(n)).toLocaleLowerCase()===e);return n!==void 0&&(R.value.includes(n)?Q():W(n),!0)},r=e=>{!n(V)&&!e&&!n(H)&&Y(t,!0,()=>r(!0))};r()}else L.clearValue(e)}function yt(e){g(`keypress`,e)}function bt(e){if(g(`keydown`,e),e.defaultPrevented||u(e))return;let t=S.value.length!==0&&(i.newValueMode!==void 0||i.onNewValue!==void 0),n=!e.shiftKey&&!i.disableTabSelection&&!i.multiple&&(x.value!==-1||t);if(e.keyCode===27){p(e);return}if(e.keyCode===9&&!n){X(e);return}if(e.target===void 0||e.target.id!==L.targetUid.value||!L.editable.value)return;if((e.keyCode===40||e.keyCode===38)&&!L.innerLoading.value&&!y.value){m(e),Z(e);return}if(e.keyCode===8&&(i.useChips&&!i.noChipRemove||i.clearable)&&!i.hideSelected&&S.value.length===0){(i.clearable||U.value(R.value.at(-1))!==!0)&&(i.multiple&&Array.isArray(i.modelValue)?dt(i.modelValue.length-1):!i.multiple&&i.modelValue!==null&&g(`update:modelValue`,null));return}(e.keyCode===35||e.keyCode===36)&&(typeof S.value!=`string`||S.value.length===0)&&(m(e),x.value=-1,K(e.keyCode===36?1:-1,i.multiple)),(e.keyCode===33||e.keyCode===34)&&ze.value!==void 0&&(m(e),x.value=Math.max(-1,Math.min(I.value,x.value+(e.keyCode===33?-1:1)*ze.value.view)),K(e.keyCode===33?1:-1,i.multiple)),(e.keyCode===38||e.keyCode===40)&&(m(e),K(e.keyCode===38?-1:1,i.multiple));let a=I.value;if((M===void 0||Me<Date.now())&&(M=``),a>0&&!i.useInput&&e.key!==void 0&&e.key.length===1&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&(e.keyCode!==32||M.length!==0)){y.value||Z(e);let t=e.key.toLocaleLowerCase(),n=M.length===1&&M[0]===t;Me=Date.now()+1500,n||(m(e),M+=t);let o=RegExp(`^`+[...M].map(e=>Te.includes(e)?`\\`+e:e).join(`.*`),`i`),s=x.value;if(n||s<0||!o.test(H.value(i.options[s])))do s=me(s+1,-1,a-1);while(s!==x.value&&(U.value(i.options[s])===!0||!o.test(H.value(i.options[s]))));x.value!==s&&r(()=>{G(s),Ue(s),s>=0&&i.useInput&&i.fillInput&&q(H.value(i.options[s]),!0)});return}if(e.keyCode===13||e.keyCode===32&&!i.useInput&&M===``||e.keyCode===9&&n){if(e.keyCode!==9&&m(e),x.value!==-1&&x.value<a&&!(t&&A&&ke)){W(i.options[x.value]);return}if(t){let e=(e,t)=>{if(t){if(!we(t))return}else t=i.newValueMode;J(``,!i.multiple,!0),e!=null&&((t===`toggle`?W:pt)(e,t===`add-unique`),i.multiple||(N.value?.focus(),Q()))};if(i.onNewValue===void 0?e(S.value):g(`newValue`,S.value,e),!i.multiple)return}y.value?X(e):L.innerLoading.value||Z(e)}}function xt(){return k?Pe.value:P.value!==null&&P.value.contentEl!==null?P.value.contentEl:void 0}function St(){return xt()}function Ct(){return i.hideSelected?[]:d[`selected-item`]===void 0?d.selected===void 0?i.useChips?rt.value.map((e,t)=>a(Se,{key:`option-`+t,removable:!i.noChipRemove&&L.editable.value&&U.value(e.opt)!==!0,dense:!0,textColor:i.color,tabindex:et.value,onRemove(){e.removeAtIndex(t)}},()=>a(`span`,{class:`ellipsis`,[e.html?`innerHTML`:`textContent`]:H.value(e.opt)}))):[a(`span`,{class:`q-select__selected-value ellipsis`,[$e.value?`innerHTML`:`textContent`]:Ze.value})]:[d.selected()].flat():rt.value.map(e=>d[`selected-item`](e))}function wt(){if(z.value)return d[`no-option`]===void 0?i.noOptionLabel===void 0?void 0:[a(be,()=>a(_e,{class:`text-grey`},()=>a(he,()=>i.noOptionLabel)))]:d[`no-option`]({inputValue:S.value});let e=d.option===void 0?e=>a(be,{key:e.index,...e.itemProps},()=>a(_e,()=>a(he,()=>a(`span`,{[e.html?`innerHTML`:`textContent`]:e.label})))):d.option,t=Ve(`div`,it.value.map(e),nt.value);return d[`before-options`]!==void 0&&(t=[d[`before-options`](),...t].flat()),ne(d[`after-options`],t)}function Tt(e,t){let n=t?{...tt.value,...L.splitAttrs.attributes.value}:void 0,r={ref:t?N:void 0,key:`i_t`,class:Je.value,style:i.inputStyle,value:S.value===void 0?``:S.value,type:`search`,...n,id:t?L.targetUid.value:void 0,maxlength:i.maxlength,autocomplete:i.autocomplete,"data-autofocus":e===!0||i.autofocus||void 0,disabled:i.disable,readonly:i.readonly,...lt.value};return t&&Object.assign(r,L.getErrorAriaAttrs(r)),!e&&k&&(Array.isArray(r.class)?r.class=[...r.class,`no-pointer-events`]:r.class+=` no-pointer-events`),a(`input`,r)}function Et(e){T!==null&&(clearTimeout(T),T=null),E!==null&&(clearTimeout(E),E=null),!e?.target?.qComposing&&(q(e.target.value||``),A=!0,Ae=S.value,!L.focused.value&&(!k||C.value)&&L.focus(),i.onFilter!==void 0&&(k&&!b.value?Z(e):T=setTimeout(()=>{T=null,Y(S.value)},i.inputDebounce)))}function q(e,t){S.value!==e&&(E!==null&&(clearTimeout(E),E=null),S.value=e,t||i.inputDebounce===0||i.inputDebounce===`0`?g(`inputValue`,e):E=setTimeout(()=>{E=null,g(`inputValue`,e)},i.inputDebounce))}function J(e,t,n){A=n!==!0,i.useInput&&(q(e,!0),(t||A)&&(Ae=e),t||Y(e))}function Y(e,t,n){if(i.onFilter===void 0||!t&&!L.focused.value&&!D)return;L.innerLoading.value?g(`filterAbort`):(L.innerLoading.value=!0,w.value=!0),e!==``&&!i.multiple&&R.value.length!==0&&!A&&e===H.value(R.value[0])&&(e=``);let a=setTimeout(()=>{y.value&&=!1},10);j!==null&&clearTimeout(j),j=a,g(`filter`,e,(e,i)=>{(t||L.focused.value||D)&&j===a&&(clearTimeout(j),typeof e==`function`&&e(),w.value=!1,r(()=>{L.innerLoading.value=!1,L.editable.value&&(t?y.value&&Q():y.value?Ut(!0):y.value=!0),typeof i==`function`&&r(()=>{i(_)}),typeof n==`function`&&r(()=>{n(_)})}))},()=>{(t||L.focused.value||D)&&j===a&&(clearTimeout(j),L.innerLoading.value=!1,w.value=!1),y.value&&=!1})}function Dt(){return I.value!==0||R.value.every(e=>typeof e==`object`&&!!e)?!1:(Y(``,!0,$),!0)}function Ot(){return a(ve,{ref:P,class:Ye.value,style:i.popupContentStyle,modelValue:y.value,fit:!i.menuShrink,cover:i.optionsCover&&!z.value&&!i.useInput,anchor:i.menuAnchor,self:i.menuSelf,offset:i.menuOffset,dark:Ke.value,noParentEvent:!0,noRefocus:!0,noFocus:!0,noRouteDismiss:i.popupNoRouteDismiss,square:ot.value,transitionShow:i.transitionShow,transitionHide:i.transitionHide,transitionDuration:i.transitionDuration,separateClosePopup:!0,onScrollPassive:He,onBeforeShow:Kt,onBeforeHide:kt,onShow:At,...i.hover?{onPointerenter:Vt,onPointerleave:Bt}:{}},wt)}function kt(e){qt(e),X()}function At(){We()}function jt(e){f(e),N.value?.focus(),C.value=!0,v.platform.is.ios&&window.scrollTo(window.scrollX,0)}function Mt(e){f(e),r(()=>{C.value=!1})}function Nt(){let e=[a(Ce,{class:`col-auto ${L.fieldClass.value}`,...Ge.value,for:L.targetUid.value,dark:Ke.value,square:!0,loading:w.value,itemAligned:!1,filled:!0,stackLabel:S.value.length!==0,...L.splitAttrs.listeners.value,onFocus:jt,onBlur:Mt},{...d,rawControl:()=>L.getControl(!0),before:void 0,after:void 0,append:i.hideDialogClose?d.append:()=>{let e=a(`button`,{class:`q-select__dialog-close`+(i.color===void 0?``:` text-${i.color}`),type:`button`,tabindex:0,onClick:Q},v.lang.label.close);return d.append===void 0?[e]:[...d.append(),e]}})];return y.value&&e.push(a(`div`,{ref:Pe,class:Ye.value+` scroll`,style:i.popupContentStyle,onClick:p,onScrollPassive:He},wt())),a(pe,{ref:F,modelValue:b.value,position:i.useInput?`top`:void 0,noFocus:!0,transitionShow:je,transitionHide:i.transitionHide,transitionDuration:i.transitionDuration,noRouteDismiss:i.popupNoRouteDismiss,onBeforeShow:Kt,onBeforeHide:Pt,onHide:Ft,onShow:It},()=>a(`div`,{class:`q-select__dialog`+(Ke.value?` q-select__dialog--dark q-dark`:``)+(C.value?` q-select__dialog--focused`:``)},e))}function Pt(e){if(qt(e),F.value!==null){let t=!v.platform.is.mobile||!i.useInput||e!==void 0&&(e.type.indexOf(`key`)===0||e.type===`click`&&e.detail===0)?L.rootRef.value.querySelector(`.q-field__native > .q-select__focus-target, .q-field__native > .q-field__input`):null;F.value.__updateRefocusTarget(t)}L.focused.value=!1}function Ft(e){Q(),L.focused.value||g(`blur`,e),$()}function It(){let e=document.activeElement;(e===null||e.id!==L.targetUid.value)&&N.value!==null&&N.value!==e&&N.value.focus(),We()}function X(e){b.value||(Rt(),D=!1,x.value=-1,y.value&&(e!==void 0&&(e.qSelectHandled=!0),y.value=!1,P.value?.hide(e)),L.focused.value||(j!==null&&(clearTimeout(j),j=null),L.innerLoading.value&&(g(`filterAbort`),L.innerLoading.value=!1,w.value=!1)))}function Lt(e){if(e==null)return!1;let t=P.value===null?null:P.value.contentEl;if(L.controlRef.value!==null&&L.controlRef.value.contains(e)||t!==null&&t.contains(e))return!0;let n=fe(e);for(;n!=null;){if(n===_)return!0;n=re(n)}return!1}let{clearHoverTimer:Rt,hoverShow:zt,hoverHide:Bt,onHoverContentEnter:Vt}=ye({props:i,canShow:()=>!k&&!D&&!y.value&&L.editable.value,show:Ht,canHide:e=>D&&!Lt(e.relatedTarget),hide:Q});function Ht(e){(i.onFilter!==void 0||!z.value||B())&&(D=!0,xe=Date.now(),e.qSelectHandled=!0,i.onFilter===void 0?(y.value=!0,P.value?.show(e)):Y(S.value))}function Z(e){L.editable.value&&(Rt(),D=!1,e!==void 0&&(e.qSelectHandled=!0),k?(L.onControlFocusin(e),L.focus(),b.value=!0,F.value?.show(e),r(()=>{L.focus()})):L.focus(),i.onFilter===void 0?(!z.value||B())&&(y.value=!0,P.value?.show(e)):Y(S.value))}function Q(e){b.value&&(e!==void 0&&(e.qSelectHandled=!0),b.value=!1,F.value?.hide(e)),X(e)}function $(){i.useInput&&J(!i.multiple&&i.fillInput&&R.value.length!==0?H.value(R.value[0])??``:``,!0,!0)}function Ut(e){let t=-1;if(e){if(R.value.length!==0){let e=V.value(R.value[0]);t=i.options.findIndex(t=>h(V.value(t),e))}Be(t)}G(t),ke=t!==-1}function Wt(e,t){y.value&&!L.innerLoading.value&&(Be(-1,!0),r(()=>{y.value&&!L.innerLoading.value&&(e>t?Be():Ut(!0))}))}function Gt(){b.value||P.value?.updatePosition()}function Kt(e){e!==void 0&&e.qSelectHandled!==!0&&f(e),g(`popupShow`,e),L.hasPopupOpen=!0,D||L.onControlFocusin(e)}function qt(e){e!==void 0&&e.qSelectHandled!==!0&&f(e),g(`popupHide`,e),L.hasPopupOpen=!1,L.onControlFocusout(e,$)}function Jt(){k=!v.platform.is.mobile&&i.behavior!==`dialog`?!1:i.behavior!==`menu`&&(!i.useInput||B()||i.onFilter!==void 0||!z.value),je=v.platform.is.ios&&k&&i.useInput?`fade`:i.transitionShow}return ee(Jt),t(Gt),!i.noOptionPrefetch&&i.mapOptions&&i.onFilter!==void 0&&s(()=>{Oe=!Dt()}),Jt(),n(()=>{T!==null&&clearTimeout(T),E!==null&&clearTimeout(E)}),Object.assign(_,{showPopup:Z,hidePopup:Q,removeAtIndex:dt,add:pt,toggleOption:W,getOptionIndex:()=>x.value,setOptionIndex:G,moveOptionSelection:K,filter:Y,updateMenuPosition:Gt,updateInputValue:J,isOptionSelected:ht,getEmittingOptionValue:ut,isOptionDisabled:(...e)=>U.value(...e)===!0,getOptionValue:(...e)=>V.value(...e),getOptionLabel:(...e)=>H.value(...e)}),Object.assign(L,{innerValue:R,fieldClass:l(()=>`q-select q-field--auto-height q-select--with${i.useInput?``:`out`}-input q-select--with${i.useChips?``:`out`}-chips q-select--${i.multiple?`multiple`:`single`}`),inputRef:Ne,targetRef:N,hasValue:qe,showPopup:Z,floatingLabel:l(()=>!i.hideSelected&&qe.value||typeof S.value==`number`||S.value.length!==0||ce(i.displayValue)),getControlChild:()=>{if(L.editable.value&&(b.value||!z.value||B()))return k?Nt():Ot();L.hasPopupOpen&&=!1},controlEvents:{onFocusin(e){Rt(),D=!1,L.onControlFocusin(e)},onFocusout(e){L.onControlFocusout(e,()=>{$(),X(e)})},onClick(e){if(p(e),!k&&y.value){if(D&&Date.now()-xe<(i.transitionDuration===void 0?300:Number(i.transitionDuration))){D=!1,L.focus();return}X(e),N.value?.focus();return}Z(e)},onPointerenter:zt,onPointerleave:Bt},getControl:e=>{let t=Ct(),n=e===!0||!b.value||!k;if(i.useInput)t.push(Tt(e,n));else{let r=n?{...tt.value,...L.splitAttrs.attributes.value}:void 0,o={ref:n?N:void 0,key:`d_t`,class:`q-select__focus-target`,value:Ze.value,readonly:!0,"data-autofocus":e===!0||i.autofocus||void 0,...r,disabled:i.disable,id:n?L.targetUid.value:void 0,onKeydown:bt,onKeyup:_t,onKeypress:yt};n&&Object.assign(o,L.getErrorAriaAttrs(o)),t.push(a(`input`,o)),n&&L.editable.value&&typeof i.autocomplete==`string`&&i.autocomplete.length!==0&&t.push(a(`input`,{class:`q-select__autocomplete-input`,autocomplete:i.autocomplete,tabindex:-1,onKeyup:vt}))}if(!i.disable){let e=Fe();if(e!==void 0){let n=ct.value.map(e=>a(`option`,{value:e,selected:!0}));t.push(a(`select`,{class:`hidden`,name:e,multiple:i.multiple},n))}}return a(`div`,{class:`q-field__native row items-center`,...L.splitAttrs.listeners.value},t)},shouldHideLoadingIndicator:()=>i.hideDropdownIcon===!0,getInnerAppend:()=>!i.loading&&!w.value&&!i.hideDropdownIcon?[a(de,{class:`q-select__dropdown-icon`+(y.value?` rotate-180`:``),name:at.value})]:null}),le(L)}});export{Se as n,O as t};
@@ -0,0 +1 @@
1
+ import{b as e,s as t}from"./runtime-core.esm-bundler-BKFI1w28.js";import{o as n,p as r}from"./use-router-link-BGc0noIO.js";import{t as i}from"./create-BSmXD9Zr.js";import{n as a,t as o}from"./use-dark-BHObfh0O.js";import{n as s}from"./single-flight-DLCbzLI3.js";import{g as c,m as l}from"./agent-store-1i-UjEzZ.js";var u=i({name:`QBanner`,props:{...a,inlineActions:Boolean,dense:Boolean,rounded:Boolean},setup(i,{slots:a}){let s=r(),c=o(i,s),l=t(()=>`q-banner row items-center`+(i.dense?` q-banner--dense`:``)+(c()?` q-banner--dark q-dark`:``)+(i.rounded?` rounded-borders`:``)),u=t(()=>`q-banner__actions row items-center justify-end col-${i.inlineActions?`auto`:`all`}`);return()=>{let t=[e(`div`,{class:`q-banner__avatar col-auto row items-center self-start`},n(a.avatar)),e(`div`,{class:`q-banner__content col text-body2`},n(a.default))],r=n(a.action);return r!==void 0&&t.push(e(`div`,{class:u.value},r)),e(`div`,{class:l.value+(!i.inlineActions&&r!==void 0?` q-banner--top-padding`:``),role:`alert`},t)}}});function d(e){return e.toLowerCase().replace(/[^\p{L}\p{N}_\s-]/gu,``).trim().replace(/\s+/g,`-`)}var f=[{extension:`png`,mime:`image/png`,label:`PNG`,display:`image`,maxBytes:l,aliases:[`apng`]},{extension:`jpg`,mime:`image/jpeg`,label:`JPEG`,display:`image`,maxBytes:l,aliases:[`jpeg`]},{extension:`gif`,mime:`image/gif`,label:`GIF`,display:`image`,maxBytes:l,aliases:[]},{extension:`webp`,mime:`image/webp`,label:`WebP`,display:`image`,maxBytes:l,aliases:[]},{extension:`pdf`,mime:`application/pdf`,label:`PDF`,display:`link`,maxBytes:c,aliases:[]}],p=`^[a-f0-9]{64}\\.(${f.map(e=>e.extension).join(`|`)})$`;f.map(e=>e.label).join(`, `);var m=f.filter(e=>e.display===`image`).flatMap(e=>[e.extension,...e.aliases]);function h(){let e=r();return(t,n)=>{e.notify({type:`negative`,message:t,caption:s(n)})}}var g=`M14,12V19.88C14.04,20.18 13.94,20.5 13.71,20.71C13.32,21.1 12.69,21.1 12.3,20.71L10.29,18.7C10.06,18.47 9.96,18.16 10,17.87V12H9.97L4.21,4.62C3.87,4.19 3.95,3.56 4.38,3.22C4.57,3.08 4.78,3 5,3V3H19V3C19.22,3 19.43,3.08 19.62,3.22C20.05,3.56 20.13,4.19 19.79,4.62L14.03,12H14Z`,_=`M15,19.88C15.04,20.18 14.94,20.5 14.71,20.71C14.32,21.1 13.69,21.1 13.3,20.71L9.29,16.7C9.06,16.47 8.96,16.16 9,15.87V10.75L4.21,4.62C3.87,4.19 3.95,3.56 4.38,3.22C4.57,3.08 4.78,3 5,3V3H19V3C19.22,3 19.43,3.08 19.62,3.22C20.05,3.56 20.13,4.19 19.79,4.62L15,10.75V19.88M7.04,5L11,10.06V15.58L13,17.58V10.05L16.96,5H7.04Z`,v=`M14.73,20.83L17.58,18L14.73,15.17L16.15,13.76L19,16.57L21.8,13.76L23.22,15.17L20.41,18L23.22,20.83L21.8,22.24L19,19.4L16.15,22.24L14.73,20.83M13,19.88C13.04,20.18 12.94,20.5 12.71,20.71C12.32,21.1 11.69,21.1 11.3,20.71L7.29,16.7C7.06,16.47 6.96,16.16 7,15.87V10.75L2.21,4.62C1.87,4.19 1.95,3.56 2.38,3.22C2.57,3.08 2.78,3 3,3V3H17V3C17.22,3 17.43,3.08 17.62,3.22C18.05,3.56 18.13,4.19 17.79,4.62L13,10.75V19.88M5.04,5L9,10.06V15.58L11,17.58V10.05L14.96,5H5.04Z`,y=`M13 19C13 19.34 13.04 19.67 13.09 20H4C2.9 20 2 19.11 2 18V6C2 4.89 2.89 4 4 4H10L12 6H20C21.1 6 22 6.89 22 8V13.81C21.39 13.46 20.72 13.22 20 13.09V8H4V18H13.09C13.04 18.33 13 18.66 13 19M20 18V15H18V18H15V20H18V23H20V20H23V18H20Z`,b=`M10.5 15.5C10.5 15.87 10.4 16.2 10.22 16.5C9.88 15.91 9.24 15.5 8.5 15.5S7.12 15.91 6.78 16.5C6.61 16.2 6.5 15.87 6.5 15.5C6.5 14.4 7.4 13.5 8.5 13.5S10.5 14.4 10.5 15.5M23 15V18C23 18.55 22.55 19 22 19H21V20C21 21.11 20.11 22 19 22H5C3.9 22 3 21.11 3 20V19H2C1.45 19 1 18.55 1 18V15C1 14.45 1.45 14 2 14H3C3 10.13 6.13 7 10 7H11V5.73C10.4 5.39 10 4.74 10 4C10 2.9 10.9 2 12 2S14 2.9 14 4C14 4.74 13.6 5.39 13 5.73V7H14C17.87 7 21 10.13 21 14H22C22.55 14 23 14.45 23 15M21 16H19V14C19 11.24 16.76 9 14 9H10C7.24 9 5 11.24 5 14V16H3V17H5V20H19V17H21V16M15.5 13.5C14.4 13.5 13.5 14.4 13.5 15.5C13.5 15.87 13.61 16.2 13.78 16.5C14.12 15.91 14.76 15.5 15.5 15.5S16.88 15.91 17.22 16.5C17.4 16.2 17.5 15.87 17.5 15.5C17.5 14.4 16.61 13.5 15.5 13.5Z`,x=`add_comment`,S=i({name:`QSpace`,setup(){let t=e(`div`,{class:`q-space`});return()=>t}});export{_ as a,h as c,d,u as f,g as i,p as l,x as n,v as o,b as r,y as s,S as t,m as u};
@@ -1 +1 @@
1
- import{A as e,E as t,F as n,K as r,O as i,S as a,Y as o,b as s,ct as c,j as l,ot as u,s as d,v as f}from"./runtime-core.esm-bundler-BKFI1w28.js";import{C as p,b as m,i as h,m as g,o as _,p as v,x as y}from"./use-router-link-BGc0noIO.js";import{i as b,u as x}from"./event-rR76ioXz.js";import{n as S}from"./is-CE4jkrGQ.js";import{t as C}from"./create-BSmXD9Zr.js";import{f as w}from"./QInput-DJgTh2Qy.js";import{i as T,l as E}from"./QBtn-DoggJe1Q.js";import{n as D,t as O}from"./use-dark-BHObfh0O.js";import{H as k,V as A,h as j,v as M}from"./index-B2CzafCr.js";import{n as N,t as P}from"./use-virtual-scroll-BSXYZjZ5.js";import{o as F}from"./ClosePopup-lpH_1Ju2.js";import{i as I}from"./QScrollArea-BSSZoaV5.js";var L=0,R=[`click`,`keydown`],z={icon:String,label:[Number,String],alert:[Boolean,String],alertIcon:String,name:{type:[Number,String],default:()=>`t_${L++}`},noCaps:Boolean,tabindex:[String,Number],disable:Boolean,contentClass:String,ripple:{type:[Boolean,Object],default:!0}},B=[13,32];function V(e,t,n,r){let u=a(m,g);if(u===g)return console.error(`QTab/QRouteTab component needs to be child of QTabs`),g;let{proxy:_}=f(),v=c(null),b=c(null),C=c(null);function D(){return e.disable||e.ripple===!1?!1:{keyCodes:B,early:!0,...e.ripple===!0?{}:e.ripple}}function O(t){let n=u.tabProps.value;return`q-tab relative-position self-stretch flex flex-center text-center`+(t?` q-tab--active`+(n.activeClass?` `+n.activeClass:``)+(n.activeColor?` text-${n.activeColor}`:``)+(n.activeBgColor?` bg-${n.activeBgColor}`:``):` q-tab--inactive`)+(e.icon&&e.label&&!n.inlineLabel?` q-tab--full`:``)+(e.noCaps||n.noCaps?` q-tab--no-caps`:``)+(e.disable?` disabled`:` q-focusable q-hoverable cursor-pointer`)+(r===void 0?``:r.linkClass.value)}function k(){return`q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable `+(u.tabProps.value.inlineLabel?`row no-wrap q-tab__content--inline`:`column`)+(e.contentClass===void 0?``:` ${e.contentClass}`)}let A=d(()=>u.currentModel.value===e.name),j=d(()=>{if(e.disable||u.hasFocus.value)return-1;let t=u.tabStopName.value;return t===null||t===e.name?e.tabindex||0:-1});function M(t,i){if(!i&&!t?.qAvoidFocus&&v.value?.focus({preventScroll:!0}),e.disable){r?.hasRouterLink.value===!0&&x(t);return}if(r===void 0){u.updateModel({name:e.name}),n(`click`,t);return}if(r.hasRouterLink.value){let i=(n={})=>{let i,a=n.to===void 0||S(n.to,e.to)?u.avoidRouteWatcher=w():null;return r.navigateToRouterLink(t,{...n,returnRouterError:!0}).catch(e=>{i=e}).then(t=>{if(a===u.avoidRouteWatcher&&(u.avoidRouteWatcher=!1,i===void 0&&(t===void 0||t.message?.startsWith(`Avoided redundant navigation`)===!0)&&u.updateModel({name:e.name})),n.returnRouterError)return i===void 0?t:Promise.reject(i)})};n(`click`,t,i),t.defaultPrevented||i();return}n(`click`,t)}function N(e){n(`keydown`,e),!e.defaultPrevented&&(y(e,[13,32])?M(e,!0):e.keyCode>=35&&e.keyCode<=40&&!e.altKey&&!e.metaKey&&!p(e)&&u.onKbdNavigate(e.keyCode,_.$el)&&x(e))}function P(){let n=u.tabProps.value,r=n.narrowIndicator,i=[],a=s(`div`,{ref:C,class:[`q-tab__indicator`,n.indicatorClass]});e.icon!==void 0&&i.push(s(E,{class:`q-tab__icon`,name:e.icon})),e.label!==void 0&&i.push(s(`div`,{class:`q-tab__label`},e.label)),e.alert&&i.push(e.alertIcon===void 0?s(`div`,{class:`q-tab__alert`+(e.alert===!0?``:` text-${e.alert}`)}):s(E,{class:`q-tab__alert-icon`,color:e.alert===!0?void 0:e.alert,name:e.alertIcon})),r&&i.push(a);let o=[s(`div`,{class:`q-focus-helper`,tabindex:-1,ref:v}),s(`div`,{class:k()},h(t.default,i))];return r||o.push(a),o}let F={name:d(()=>e.name),disable:d(()=>e.disable),rootRef:b,tabIndicatorRef:C,routeData:r};i(()=>{u.unregisterTab(F)}),l(()=>{u.registerTab(F)});function I(t,n){let r={ref:b,class:O(A.value),tabindex:j.value,role:`tab`,"aria-selected":A.value?`true`:`false`,"aria-disabled":e.disable?`true`:void 0,onClick:M,onKeydown:N,...n};return o(s(t,r,P()),[[T,D()]])}return{renderTab:I,$tabs:u}}var ee=C({name:`QTab`,props:z,emits:R,setup(e,{slots:t,emit:n}){let{renderTab:r}=V(e,t,n);return()=>r(`div`)}});function te(e,t,n){let r=n?[`left`,`right`]:[`top`,`bottom`];return`absolute-${t?r[0]:r[1]}${e?` text-${e}`:``}`}function H(e,t){for(let n in e)if(e[n]!==t[n])return!1;return!0}var U=[`left`,`center`,`right`,`justify`],ne=C({name:`QTabs`,props:{modelValue:[Number,String],align:{type:String,default:`center`,validator:e=>U.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(a,{slots:o,emit:l}){let{proxy:p}=f(),h=v(),{registerTick:g}=k(),{registerTick:y}=k(),{registerTick:b}=k(),{registerTimeout:x,removeTimeout:S}=A(),{registerTimeout:C,removeTimeout:w}=A(),T=c(null),D=c(null),O=u(a.modelValue),j=u(!1),M=u(!0),N=u(!1),P=u(!1),F=[],L=u(0),R=u(!1),z=null,B=null,V,ee=d(()=>({activeClass:a.activeClass,activeColor:a.activeColor,activeBgColor:a.activeBgColor,indicatorClass:te(a.indicatorColor,a.switchIndicator,a.vertical),narrowIndicator:a.narrowIndicator,inlineLabel:a.inlineLabel,noCaps:a.noCaps})),U=d(()=>{let e=L.value,t=O.value,n=null;for(let r=0;r<e;r++){let e=F[r];if(!e.disable.value){if(e.name.value===t)return t;n===null&&(n=e.name.value)}}return n}),ne=d(()=>`q-tabs__content--align-${j.value?`left`:P.value?`justify`:a.align}`),re=d(()=>`q-tabs row no-wrap items-center q-tabs--${j.value?``:`not-`}scrollable q-tabs--${a.vertical?`vertical`:`horizontal`} q-tabs__arrows--${a.outsideArrows?`outside`:`inside`} q-tabs--mobile-with${a.mobileArrows?``:`out`}-arrows`+(a.dense?` q-tabs--dense`:``)+(a.shrink?` col-shrink`:``)+(a.stretch?` self-stretch`:``)),ie=d(()=>`q-tabs__content row no-wrap items-center self-stretch hide-scrollbar relative-position `+ne.value+(a.contentClass===void 0?``:` ${a.contentClass}`)),W=d(()=>a.vertical?`height`:`width`),G=d(()=>!a.vertical&&h.lang.rtl===!0);r(G,X),r(()=>a.modelValue,e=>{K({name:e,setCurrent:!0,skipEmit:!0})}),r(()=>a.outsideArrows,q);function K({name:e,setCurrent:t,skipEmit:n}){O.value!==e&&(!n&&a[`onUpdate:modelValue`]!==void 0&&l(`update:modelValue`,e),(t||a[`onUpdate:modelValue`]===void 0)&&(ae(O.value,e),O.value=e))}function q(){g(()=>{T.value&&J({width:T.value.offsetWidth,height:T.value.offsetHeight})})}function J(e){if(D.value===null)return;let t=e[W.value],n=Array.prototype.reduce.call(D.value.children,(e,t)=>e+t.getBoundingClientRect()[W.value],0),r=t>0&&n-t>1;j.value=r,r&&y(X),P.value=t<Number.parseInt(a.breakpoint,10)}I({debounce:100,onResize:J});function ae(e,t){let n=e!=null&&e!==``?F.find(t=>t.name.value===e):null,r=t!=null&&t!==``?F.find(e=>e.name.value===t):null;if($)$=!1;else if(n&&r){let e=n.tabIndicatorRef.value,t=r.tabIndicatorRef.value;z!==null&&(clearTimeout(z),z=null),e.style.transition=`none`,e.style.transform=`none`,t.style.transition=`none`,t.style.transform=`none`;let i=e.getBoundingClientRect(),o=t.getBoundingClientRect();t.style.transform=a.vertical?`translateY(${i.top-o.top}px) scaleY(${o.height?i.height/o.height:1})`:`translateX(${i.left-o.left}px) scaleX(${o.width?i.width/o.width:1})`,b(()=>{z=setTimeout(()=>{z=null,t.style.transition=`transform .25s cubic-bezier(.4, 0, .2, 1)`,t.style.transform=`none`},70)})}r&&j.value&&Y(r.rootRef.value)}function Y(e){let{left:t,width:n,top:r,height:i}=D.value.getBoundingClientRect(),o=e.getBoundingClientRect(),s=a.vertical?o.top-r:o.left-t;if(s<0){D.value[a.vertical?`scrollTop`:`scrollLeft`]+=Math.floor(s),X();return}s+=a.vertical?o.height-i:o.width-n,s>0&&(D.value[a.vertical?`scrollTop`:`scrollLeft`]+=Math.ceil(s),X())}function X(){let e=D.value;if(e===null)return;let t=e.getBoundingClientRect(),n=a.vertical?e.scrollTop:Math.abs(e.scrollLeft);G.value?(M.value=Math.ceil(n+t.width)<e.scrollWidth-1,N.value=n>0):(M.value=n>0,N.value=a.vertical?Math.ceil(n+t.height)<e.scrollHeight:Math.ceil(n+t.width)<e.scrollWidth)}function oe(e){B!==null&&clearInterval(B),B=setInterval(()=>{de(e)&&Z()},5)}function se(){oe(G.value?2**53-1:0)}function ce(){oe(G.value?0:2**53-1)}function Z(){B!==null&&(clearInterval(B),B=null)}function le(e,t){let n=Array.prototype.filter.call(D.value.children,e=>e===t||e.matches?.(`.q-tab.q-focusable`)),r=n.length;if(r===0)return;if(e===36)return Y(n[0]),n[0].focus(),!0;if(e===35)return Y(n[r-1]),n[r-1].focus(),!0;let i=e===(a.vertical?38:37),o=e===(a.vertical?40:39),s=i?-1:o?1:void 0;if(s!==void 0){let e=a.vertical!==!0&&G.value?-1:1,i=(n.indexOf(t)+s*e+r)%r;return Y(n[i]),n[i].focus({preventScroll:!0}),!0}}let ue=d(()=>G.value?{get:e=>Math.abs(e.scrollLeft),set:(e,t)=>{e.scrollLeft=-t}}:a.vertical?{get:e=>e.scrollTop,set:(e,t)=>{e.scrollTop=t}}:{get:e=>e.scrollLeft,set:(e,t)=>{e.scrollLeft=t}});function de(e){let t=D.value,{get:n,set:r}=ue.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),X(),i}function fe(){let e=null,t={matchedLen:0,queryDiff:9999,hrefLen:0},n=F.filter(e=>e.routeData?.hasRouterLink.value===!0),{hash:r,query:i}=p.$route,a=Object.keys(i).length;for(let o of n){let n=o.routeData.exact.value===!0;if(!o.routeData[n?`linkIsExactActive`:`linkIsActive`].value)continue;let{hash:s,query:c,matched:l,href:u}=o.routeData.resolvedLink.value,d=Object.keys(c).length;if(n){if(s!==r||d!==a||!H(i,c))continue;e=o.name.value;break}if(s!==``&&s!==r||d!==0&&!H(c,i))continue;let f={matchedLen:l.length,queryDiff:a-d,hrefLen:u.length-s.length};if(f.matchedLen>t.matchedLen){e=o.name.value,t=f;continue}if(f.matchedLen===t.matchedLen){if(f.queryDiff<t.queryDiff)e=o.name.value,t=f;else if(f.queryDiff!==t.queryDiff)continue;f.hrefLen>t.hrefLen&&(e=o.name.value,t=f)}}if(e===null&&F.some(e=>e.routeData===void 0&&e.name.value===O.value)){$=!1;return}K({name:e,setCurrent:!0})}function pe(e){if(S(),!R.value&&T.value!==null&&e.target&&typeof e.target.closest==`function`){let t=e.target.closest(`.q-tab`);t&&T.value.contains(t)&&(R.value=!0,j.value&&Y(t))}}function me(){x(()=>{R.value=!1},30)}function Q(){ve.avoidRouteWatcher===!1?C(fe):w()}function he(){if(V===void 0){let e=r(()=>p.$route.fullPath,Q);V=()=>{e(),V=void 0}}}function ge(e){F.push(e),L.value++,q(),e.routeData===void 0||p.$route===void 0?C(()=>{if(j.value){let e=O.value,t=e!=null&&e!==``?F.find(t=>t.name.value===e):null;t&&Y(t.rootRef.value)}}):(he(),e.routeData.hasRouterLink.value&&Q())}function _e(e){F.splice(F.indexOf(e),1),L.value--,q(),V!==void 0&&e.routeData!==void 0&&(F.every(e=>e.routeData===void 0)&&V(),Q())}let ve={currentModel:O,tabProps:ee,hasFocus:R,tabStopName:U,registerTab:ge,unregisterTab:_e,verifyRouteModel:Q,updateModel:K,onKbdNavigate:le,avoidRouteWatcher:!1};n(m,ve);function ye(){z!==null&&clearTimeout(z),Z(),V?.()}let be=!1,$=!1;return i(ye),e(()=>{be=V!==void 0,ye()}),t(()=>{be&&(he(),$=!0,Q()),q()}),()=>s(`div`,{ref:T,class:re.value,role:`tablist`,"aria-orientation":a.vertical?`vertical`:`horizontal`,onFocusin:pe,onFocusout:me},[s(`div`,{ref:D,class:ie.value,onScroll:X},_(o.default)),s(E,{class:`q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon`+(M.value?``:` q-tabs__arrow--faded`),name:a.leftIcon||h.iconSet.tabs[a.vertical?`up`:`left`],onMousedownPassive:se,onTouchstartPassive:se,onMouseupPassive:Z,onMouseleavePassive:Z,onTouchendPassive:Z}),s(E,{class:`q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon`+(N.value?``:` q-tabs__arrow--faded`),name:a.rightIcon||h.iconSet.tabs[a.vertical?`down`:`right`],onMousedownPassive:ce,onTouchstartPassive:ce,onMouseupPassive:Z,onMouseleavePassive:Z,onTouchendPassive:Z})])}}),re=[`horizontal`,`vertical`,`cell`,`none`],ie=C({name:`QMarkupTable`,props:{...D,dense:Boolean,flat:Boolean,bordered:Boolean,square:Boolean,wrapCells:Boolean,separator:{type:String,default:`horizontal`,validator:e=>re.includes(e)}},setup(e,{slots:t}){let n=v(),r=O(e,n),i=d(()=>`q-markup-table q-table__container q-table__card q-table--${e.separator}-separator`+(r()?` q-table--dark q-table__card--dark q-dark`:``)+(e.dense?` q-table--dense`:``)+(e.flat?` q-table--flat`:``)+(e.bordered?` q-table--bordered`:``)+(e.square?` q-table--square`:``)+(e.wrapCells?``:` q-table--no-wrap`));return()=>s(`div`,{class:i.value,tabindex:0},[s(`table`,{class:`q-table`},_(t.default))])}});function W(e,t){return s(`div`,e,[s(`table`,{class:`q-table`},t)])}var G={list:F,table:ie},K=[`list`,`table`,`__qtable`],q=C({name:`QVirtualScroll`,props:{...N,type:{type:String,default:`list`,validator:e=>K.includes(e)},items:{type:Array,default:()=>[]},itemsFn:Function,itemsSize:Number,scrollTarget:M},setup(n,{slots:a,attrs:o}){let u,f=c(null),p=d(()=>n.itemsSize>=0&&n.itemsFn!==void 0?Number.parseInt(n.itemsSize,10):Array.isArray(n.items)?n.items.length:0),{virtualScrollSliceRange:m,localResetVirtualScroll:g,padVirtualScroll:_,onVirtualScrollEvt:v}=P({virtualScrollLength:p,getVirtualScrollTarget:w,getVirtualScrollEl:C}),y=d(()=>{if(p.value===0)return[];let e=(e,t)=>({index:m.value.from+t,item:e});return n.itemsFn===void 0?n.items.slice(m.value.from,m.value.to).map(e):n.itemsFn(m.value.from,m.value.to-m.value.from).map(e)}),x=d(()=>`q-virtual-scroll q-virtual-scroll`+(n.virtualScrollHorizontal?`--horizontal`:`--vertical`)+(n.scrollTarget===void 0?` scroll`:``)),S=d(()=>n.scrollTarget===void 0?{tabindex:0}:{});r(p,()=>{g()}),r(()=>n.scrollTarget,()=>{E(),T()});function C(){let e=f.value;return e===null?null:e.$el||e}function w(){return u}function T(){let e=C();e!==null&&(u=j(e,n.scrollTarget),u.addEventListener(`scroll`,v,b.passive))}function E(){u!==void 0&&(u.removeEventListener(`scroll`,v,b.passive),u=void 0)}function D(){let e=_(n.type===`list`?`div`:`tbody`,y.value.map(a.default));return a.before!==void 0&&(e=a.before().concat(e)),h(a.after,e)}return g(),l(()=>{T()}),t(()=>{T()}),e(()=>{E()}),i(()=>{E()}),()=>{if(a.default===void 0){console.error(`QVirtualScroll: default scoped slot is required for rendering`);return}return n.type===`__qtable`?W({ref:f,class:`q-table__middle `+x.value,tabindex:0},D()):s(G[n.type],{...o,ref:f,class:[o.class,x.value],...S.value},D)}}});export{ne as n,ee as r,q as t};
1
+ import{A as e,E as t,F as n,K as r,O as i,S as a,Y as o,b as s,ct as c,j as l,ot as u,s as d,v as f}from"./runtime-core.esm-bundler-BKFI1w28.js";import{C as p,b as m,i as h,m as g,o as _,p as v,x as y}from"./use-router-link-BGc0noIO.js";import{i as b,u as x}from"./event-rR76ioXz.js";import{n as S}from"./is-CE4jkrGQ.js";import{t as C}from"./create-BSmXD9Zr.js";import{f as w}from"./QInput-DJgTh2Qy.js";import{i as T,l as E}from"./QBtn-DoggJe1Q.js";import{n as D,t as O}from"./use-dark-BHObfh0O.js";import{H as k,V as A,h as j,v as M}from"./index-BQi8n0xV.js";import{n as N,t as P}from"./use-virtual-scroll-BSXYZjZ5.js";import{o as F}from"./ClosePopup-p9VBZw3j.js";import{i as I}from"./QScrollArea-BrOkfO1I.js";var L=0,R=[`click`,`keydown`],z={icon:String,label:[Number,String],alert:[Boolean,String],alertIcon:String,name:{type:[Number,String],default:()=>`t_${L++}`},noCaps:Boolean,tabindex:[String,Number],disable:Boolean,contentClass:String,ripple:{type:[Boolean,Object],default:!0}},B=[13,32];function V(e,t,n,r){let u=a(m,g);if(u===g)return console.error(`QTab/QRouteTab component needs to be child of QTabs`),g;let{proxy:_}=f(),v=c(null),b=c(null),C=c(null);function D(){return e.disable||e.ripple===!1?!1:{keyCodes:B,early:!0,...e.ripple===!0?{}:e.ripple}}function O(t){let n=u.tabProps.value;return`q-tab relative-position self-stretch flex flex-center text-center`+(t?` q-tab--active`+(n.activeClass?` `+n.activeClass:``)+(n.activeColor?` text-${n.activeColor}`:``)+(n.activeBgColor?` bg-${n.activeBgColor}`:``):` q-tab--inactive`)+(e.icon&&e.label&&!n.inlineLabel?` q-tab--full`:``)+(e.noCaps||n.noCaps?` q-tab--no-caps`:``)+(e.disable?` disabled`:` q-focusable q-hoverable cursor-pointer`)+(r===void 0?``:r.linkClass.value)}function k(){return`q-tab__content self-stretch flex-center relative-position q-anchor--skip non-selectable `+(u.tabProps.value.inlineLabel?`row no-wrap q-tab__content--inline`:`column`)+(e.contentClass===void 0?``:` ${e.contentClass}`)}let A=d(()=>u.currentModel.value===e.name),j=d(()=>{if(e.disable||u.hasFocus.value)return-1;let t=u.tabStopName.value;return t===null||t===e.name?e.tabindex||0:-1});function M(t,i){if(!i&&!t?.qAvoidFocus&&v.value?.focus({preventScroll:!0}),e.disable){r?.hasRouterLink.value===!0&&x(t);return}if(r===void 0){u.updateModel({name:e.name}),n(`click`,t);return}if(r.hasRouterLink.value){let i=(n={})=>{let i,a=n.to===void 0||S(n.to,e.to)?u.avoidRouteWatcher=w():null;return r.navigateToRouterLink(t,{...n,returnRouterError:!0}).catch(e=>{i=e}).then(t=>{if(a===u.avoidRouteWatcher&&(u.avoidRouteWatcher=!1,i===void 0&&(t===void 0||t.message?.startsWith(`Avoided redundant navigation`)===!0)&&u.updateModel({name:e.name})),n.returnRouterError)return i===void 0?t:Promise.reject(i)})};n(`click`,t,i),t.defaultPrevented||i();return}n(`click`,t)}function N(e){n(`keydown`,e),!e.defaultPrevented&&(y(e,[13,32])?M(e,!0):e.keyCode>=35&&e.keyCode<=40&&!e.altKey&&!e.metaKey&&!p(e)&&u.onKbdNavigate(e.keyCode,_.$el)&&x(e))}function P(){let n=u.tabProps.value,r=n.narrowIndicator,i=[],a=s(`div`,{ref:C,class:[`q-tab__indicator`,n.indicatorClass]});e.icon!==void 0&&i.push(s(E,{class:`q-tab__icon`,name:e.icon})),e.label!==void 0&&i.push(s(`div`,{class:`q-tab__label`},e.label)),e.alert&&i.push(e.alertIcon===void 0?s(`div`,{class:`q-tab__alert`+(e.alert===!0?``:` text-${e.alert}`)}):s(E,{class:`q-tab__alert-icon`,color:e.alert===!0?void 0:e.alert,name:e.alertIcon})),r&&i.push(a);let o=[s(`div`,{class:`q-focus-helper`,tabindex:-1,ref:v}),s(`div`,{class:k()},h(t.default,i))];return r||o.push(a),o}let F={name:d(()=>e.name),disable:d(()=>e.disable),rootRef:b,tabIndicatorRef:C,routeData:r};i(()=>{u.unregisterTab(F)}),l(()=>{u.registerTab(F)});function I(t,n){let r={ref:b,class:O(A.value),tabindex:j.value,role:`tab`,"aria-selected":A.value?`true`:`false`,"aria-disabled":e.disable?`true`:void 0,onClick:M,onKeydown:N,...n};return o(s(t,r,P()),[[T,D()]])}return{renderTab:I,$tabs:u}}var ee=C({name:`QTab`,props:z,emits:R,setup(e,{slots:t,emit:n}){let{renderTab:r}=V(e,t,n);return()=>r(`div`)}});function te(e,t,n){let r=n?[`left`,`right`]:[`top`,`bottom`];return`absolute-${t?r[0]:r[1]}${e?` text-${e}`:``}`}function H(e,t){for(let n in e)if(e[n]!==t[n])return!1;return!0}var U=[`left`,`center`,`right`,`justify`],ne=C({name:`QTabs`,props:{modelValue:[Number,String],align:{type:String,default:`center`,validator:e=>U.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(a,{slots:o,emit:l}){let{proxy:p}=f(),h=v(),{registerTick:g}=k(),{registerTick:y}=k(),{registerTick:b}=k(),{registerTimeout:x,removeTimeout:S}=A(),{registerTimeout:C,removeTimeout:w}=A(),T=c(null),D=c(null),O=u(a.modelValue),j=u(!1),M=u(!0),N=u(!1),P=u(!1),F=[],L=u(0),R=u(!1),z=null,B=null,V,ee=d(()=>({activeClass:a.activeClass,activeColor:a.activeColor,activeBgColor:a.activeBgColor,indicatorClass:te(a.indicatorColor,a.switchIndicator,a.vertical),narrowIndicator:a.narrowIndicator,inlineLabel:a.inlineLabel,noCaps:a.noCaps})),U=d(()=>{let e=L.value,t=O.value,n=null;for(let r=0;r<e;r++){let e=F[r];if(!e.disable.value){if(e.name.value===t)return t;n===null&&(n=e.name.value)}}return n}),ne=d(()=>`q-tabs__content--align-${j.value?`left`:P.value?`justify`:a.align}`),re=d(()=>`q-tabs row no-wrap items-center q-tabs--${j.value?``:`not-`}scrollable q-tabs--${a.vertical?`vertical`:`horizontal`} q-tabs__arrows--${a.outsideArrows?`outside`:`inside`} q-tabs--mobile-with${a.mobileArrows?``:`out`}-arrows`+(a.dense?` q-tabs--dense`:``)+(a.shrink?` col-shrink`:``)+(a.stretch?` self-stretch`:``)),ie=d(()=>`q-tabs__content row no-wrap items-center self-stretch hide-scrollbar relative-position `+ne.value+(a.contentClass===void 0?``:` ${a.contentClass}`)),W=d(()=>a.vertical?`height`:`width`),G=d(()=>!a.vertical&&h.lang.rtl===!0);r(G,X),r(()=>a.modelValue,e=>{K({name:e,setCurrent:!0,skipEmit:!0})}),r(()=>a.outsideArrows,q);function K({name:e,setCurrent:t,skipEmit:n}){O.value!==e&&(!n&&a[`onUpdate:modelValue`]!==void 0&&l(`update:modelValue`,e),(t||a[`onUpdate:modelValue`]===void 0)&&(ae(O.value,e),O.value=e))}function q(){g(()=>{T.value&&J({width:T.value.offsetWidth,height:T.value.offsetHeight})})}function J(e){if(D.value===null)return;let t=e[W.value],n=Array.prototype.reduce.call(D.value.children,(e,t)=>e+t.getBoundingClientRect()[W.value],0),r=t>0&&n-t>1;j.value=r,r&&y(X),P.value=t<Number.parseInt(a.breakpoint,10)}I({debounce:100,onResize:J});function ae(e,t){let n=e!=null&&e!==``?F.find(t=>t.name.value===e):null,r=t!=null&&t!==``?F.find(e=>e.name.value===t):null;if($)$=!1;else if(n&&r){let e=n.tabIndicatorRef.value,t=r.tabIndicatorRef.value;z!==null&&(clearTimeout(z),z=null),e.style.transition=`none`,e.style.transform=`none`,t.style.transition=`none`,t.style.transform=`none`;let i=e.getBoundingClientRect(),o=t.getBoundingClientRect();t.style.transform=a.vertical?`translateY(${i.top-o.top}px) scaleY(${o.height?i.height/o.height:1})`:`translateX(${i.left-o.left}px) scaleX(${o.width?i.width/o.width:1})`,b(()=>{z=setTimeout(()=>{z=null,t.style.transition=`transform .25s cubic-bezier(.4, 0, .2, 1)`,t.style.transform=`none`},70)})}r&&j.value&&Y(r.rootRef.value)}function Y(e){let{left:t,width:n,top:r,height:i}=D.value.getBoundingClientRect(),o=e.getBoundingClientRect(),s=a.vertical?o.top-r:o.left-t;if(s<0){D.value[a.vertical?`scrollTop`:`scrollLeft`]+=Math.floor(s),X();return}s+=a.vertical?o.height-i:o.width-n,s>0&&(D.value[a.vertical?`scrollTop`:`scrollLeft`]+=Math.ceil(s),X())}function X(){let e=D.value;if(e===null)return;let t=e.getBoundingClientRect(),n=a.vertical?e.scrollTop:Math.abs(e.scrollLeft);G.value?(M.value=Math.ceil(n+t.width)<e.scrollWidth-1,N.value=n>0):(M.value=n>0,N.value=a.vertical?Math.ceil(n+t.height)<e.scrollHeight:Math.ceil(n+t.width)<e.scrollWidth)}function oe(e){B!==null&&clearInterval(B),B=setInterval(()=>{de(e)&&Z()},5)}function se(){oe(G.value?2**53-1:0)}function ce(){oe(G.value?0:2**53-1)}function Z(){B!==null&&(clearInterval(B),B=null)}function le(e,t){let n=Array.prototype.filter.call(D.value.children,e=>e===t||e.matches?.(`.q-tab.q-focusable`)),r=n.length;if(r===0)return;if(e===36)return Y(n[0]),n[0].focus(),!0;if(e===35)return Y(n[r-1]),n[r-1].focus(),!0;let i=e===(a.vertical?38:37),o=e===(a.vertical?40:39),s=i?-1:o?1:void 0;if(s!==void 0){let e=a.vertical!==!0&&G.value?-1:1,i=(n.indexOf(t)+s*e+r)%r;return Y(n[i]),n[i].focus({preventScroll:!0}),!0}}let ue=d(()=>G.value?{get:e=>Math.abs(e.scrollLeft),set:(e,t)=>{e.scrollLeft=-t}}:a.vertical?{get:e=>e.scrollTop,set:(e,t)=>{e.scrollTop=t}}:{get:e=>e.scrollLeft,set:(e,t)=>{e.scrollLeft=t}});function de(e){let t=D.value,{get:n,set:r}=ue.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),X(),i}function fe(){let e=null,t={matchedLen:0,queryDiff:9999,hrefLen:0},n=F.filter(e=>e.routeData?.hasRouterLink.value===!0),{hash:r,query:i}=p.$route,a=Object.keys(i).length;for(let o of n){let n=o.routeData.exact.value===!0;if(!o.routeData[n?`linkIsExactActive`:`linkIsActive`].value)continue;let{hash:s,query:c,matched:l,href:u}=o.routeData.resolvedLink.value,d=Object.keys(c).length;if(n){if(s!==r||d!==a||!H(i,c))continue;e=o.name.value;break}if(s!==``&&s!==r||d!==0&&!H(c,i))continue;let f={matchedLen:l.length,queryDiff:a-d,hrefLen:u.length-s.length};if(f.matchedLen>t.matchedLen){e=o.name.value,t=f;continue}if(f.matchedLen===t.matchedLen){if(f.queryDiff<t.queryDiff)e=o.name.value,t=f;else if(f.queryDiff!==t.queryDiff)continue;f.hrefLen>t.hrefLen&&(e=o.name.value,t=f)}}if(e===null&&F.some(e=>e.routeData===void 0&&e.name.value===O.value)){$=!1;return}K({name:e,setCurrent:!0})}function pe(e){if(S(),!R.value&&T.value!==null&&e.target&&typeof e.target.closest==`function`){let t=e.target.closest(`.q-tab`);t&&T.value.contains(t)&&(R.value=!0,j.value&&Y(t))}}function me(){x(()=>{R.value=!1},30)}function Q(){ve.avoidRouteWatcher===!1?C(fe):w()}function he(){if(V===void 0){let e=r(()=>p.$route.fullPath,Q);V=()=>{e(),V=void 0}}}function ge(e){F.push(e),L.value++,q(),e.routeData===void 0||p.$route===void 0?C(()=>{if(j.value){let e=O.value,t=e!=null&&e!==``?F.find(t=>t.name.value===e):null;t&&Y(t.rootRef.value)}}):(he(),e.routeData.hasRouterLink.value&&Q())}function _e(e){F.splice(F.indexOf(e),1),L.value--,q(),V!==void 0&&e.routeData!==void 0&&(F.every(e=>e.routeData===void 0)&&V(),Q())}let ve={currentModel:O,tabProps:ee,hasFocus:R,tabStopName:U,registerTab:ge,unregisterTab:_e,verifyRouteModel:Q,updateModel:K,onKbdNavigate:le,avoidRouteWatcher:!1};n(m,ve);function ye(){z!==null&&clearTimeout(z),Z(),V?.()}let be=!1,$=!1;return i(ye),e(()=>{be=V!==void 0,ye()}),t(()=>{be&&(he(),$=!0,Q()),q()}),()=>s(`div`,{ref:T,class:re.value,role:`tablist`,"aria-orientation":a.vertical?`vertical`:`horizontal`,onFocusin:pe,onFocusout:me},[s(`div`,{ref:D,class:ie.value,onScroll:X},_(o.default)),s(E,{class:`q-tabs__arrow q-tabs__arrow--left absolute q-tab__icon`+(M.value?``:` q-tabs__arrow--faded`),name:a.leftIcon||h.iconSet.tabs[a.vertical?`up`:`left`],onMousedownPassive:se,onTouchstartPassive:se,onMouseupPassive:Z,onMouseleavePassive:Z,onTouchendPassive:Z}),s(E,{class:`q-tabs__arrow q-tabs__arrow--right absolute q-tab__icon`+(N.value?``:` q-tabs__arrow--faded`),name:a.rightIcon||h.iconSet.tabs[a.vertical?`down`:`right`],onMousedownPassive:ce,onTouchstartPassive:ce,onMouseupPassive:Z,onMouseleavePassive:Z,onTouchendPassive:Z})])}}),re=[`horizontal`,`vertical`,`cell`,`none`],ie=C({name:`QMarkupTable`,props:{...D,dense:Boolean,flat:Boolean,bordered:Boolean,square:Boolean,wrapCells:Boolean,separator:{type:String,default:`horizontal`,validator:e=>re.includes(e)}},setup(e,{slots:t}){let n=v(),r=O(e,n),i=d(()=>`q-markup-table q-table__container q-table__card q-table--${e.separator}-separator`+(r()?` q-table--dark q-table__card--dark q-dark`:``)+(e.dense?` q-table--dense`:``)+(e.flat?` q-table--flat`:``)+(e.bordered?` q-table--bordered`:``)+(e.square?` q-table--square`:``)+(e.wrapCells?``:` q-table--no-wrap`));return()=>s(`div`,{class:i.value,tabindex:0},[s(`table`,{class:`q-table`},_(t.default))])}});function W(e,t){return s(`div`,e,[s(`table`,{class:`q-table`},t)])}var G={list:F,table:ie},K=[`list`,`table`,`__qtable`],q=C({name:`QVirtualScroll`,props:{...N,type:{type:String,default:`list`,validator:e=>K.includes(e)},items:{type:Array,default:()=>[]},itemsFn:Function,itemsSize:Number,scrollTarget:M},setup(n,{slots:a,attrs:o}){let u,f=c(null),p=d(()=>n.itemsSize>=0&&n.itemsFn!==void 0?Number.parseInt(n.itemsSize,10):Array.isArray(n.items)?n.items.length:0),{virtualScrollSliceRange:m,localResetVirtualScroll:g,padVirtualScroll:_,onVirtualScrollEvt:v}=P({virtualScrollLength:p,getVirtualScrollTarget:w,getVirtualScrollEl:C}),y=d(()=>{if(p.value===0)return[];let e=(e,t)=>({index:m.value.from+t,item:e});return n.itemsFn===void 0?n.items.slice(m.value.from,m.value.to).map(e):n.itemsFn(m.value.from,m.value.to-m.value.from).map(e)}),x=d(()=>`q-virtual-scroll q-virtual-scroll`+(n.virtualScrollHorizontal?`--horizontal`:`--vertical`)+(n.scrollTarget===void 0?` scroll`:``)),S=d(()=>n.scrollTarget===void 0?{tabindex:0}:{});r(p,()=>{g()}),r(()=>n.scrollTarget,()=>{E(),T()});function C(){let e=f.value;return e===null?null:e.$el||e}function w(){return u}function T(){let e=C();e!==null&&(u=j(e,n.scrollTarget),u.addEventListener(`scroll`,v,b.passive))}function E(){u!==void 0&&(u.removeEventListener(`scroll`,v,b.passive),u=void 0)}function D(){let e=_(n.type===`list`?`div`:`tbody`,y.value.map(a.default));return a.before!==void 0&&(e=a.before().concat(e)),h(a.after,e)}return g(),l(()=>{T()}),t(()=>{T()}),e(()=>{E()}),i(()=>{E()}),()=>{if(a.default===void 0){console.error(`QVirtualScroll: default scoped slot is required for rendering`);return}return n.type===`__qtable`?W({ref:f,class:`q-table__middle `+x.value,tabindex:0},D()):s(G[n.type],{...o,ref:f,class:[o.class,x.value],...S.value},D)}}});export{ne as n,ee as r,q as t};
@@ -0,0 +1 @@
1
+ import{I as e,J as t,K as n,M as r,P as i,_ as a,c as o,ct as s,d as c,h as l,j as u,kt as d,l as f,m as p,ot as m,pt as h,r as g,s as _,u as v,w as y}from"./runtime-core.esm-bundler-BKFI1w28.js";import{k as b}from"./use-router-link-BGc0noIO.js";import{a as ee,l as x,t as S}from"./QBtn-DoggJe1Q.js";import{D as C,E as w,i as T,j as E}from"./index-BQi8n0xV.js";import{n as D}from"./vue-i18n.runtime-BpRrzZrT.js";import{n as O,r as k}from"./pinia-DCsnCHsH.js";import{a as A,i as j,n as M,o as N,s as P}from"./single-flight-DLCbzLI3.js";import{n as F}from"./use-server-events-BrBCbeHu.js";import{c as I,t as L}from"./QSpace-CqqgY-zX.js";import{t as R}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as z}from"./QScrollArea-BrOkfO1I.js";import{p as B}from"./QResizeObserver-gIKjGVQ7.js";import{d as V,f as H,i as U}from"./CreateButton-B7-yiqQx.js";import{t as W}from"./AppPage-DdmqiV2R.js";import{m as G,n as K,t as q}from"./StatusSwitcher-8QUHj5Rq.js";function J(e){return{...e,oldPath:H(e.oldPath),newPath:H(e.newPath)}}var Y=O(`review-detail`,()=>{let e=m(null),t=s([]),n=m([]),r=m(!1),i=m(null),a=_(()=>{let e=new Map;for(let t of n.value){let n=e.get(t.filePath);n?n.push(t):e.set(t.filePath,[t])}return e});async function o(a){r.value=!0,i.value=null;try{let[r,i]=await Promise.all([A(`/api/reviews/${a}`),A(`/api/reviews/${a}/comments`)]),o=JSON.parse(r.snapshotData);t.value=o.map(J),e.value=U(r),n.value=i}catch(r){e.value=null,t.value=[],n.value=[],i.value=M(r)}finally{r.value=!1}}async function c(){e.value&&(n.value=await A(`/api/reviews/${e.value.id}/comments`))}async function l(t){if(!e.value)return;let n=e.value.id,r=await P(`/api/reviews/${n}`,{status:t});e.value?.id===n&&(e.value=r)}async function u(e,t){let r=await P(`/api/comments/${e}`,{content:t});n.value=n.value.map(t=>t.id===e?r:t)}async function d(e){await j(`/api/comments/${e}`),n.value=n.value.filter(t=>t.id!==e)}async function f(e){let t=await P(`/api/comments/${e}/resolve`);n.value=n.value.map(n=>n.id===e?t:n)}async function p(e){let t=await P(`/api/comments/${e}/unresolve`);n.value=n.value.map(n=>n.id===e?t:n)}return{review:e,comments:n,loading:r,error:i,files:t,commentsByFile:a,load:o,refreshComments:c,setStatus:l,editComment:u,deleteComment:d,resolveComment:f,unresolveComment:p}}),X=a({__name:`DownloadButton`,props:{url:{},filename:{},tooltip:{}},setup(e){let n=e,{t:r}=D(),a=I(),o=m(!1);async function s(){o.value=!0;try{let e=await N(n.url),t=B(n.filename,e,`text/markdown`);if(t!==!0)throw t}catch(e){a(r(`reviews.detail.downloadError`),e)}finally{o.value=!1}}return(n,r)=>(i(),f(S,y(n.$attrs,{padding:`4px`,flat:``,dense:``,round:``,loading:o.value,icon:`download`,"aria-label":e.tooltip,onClick:b(s,[`stop`])}),{default:t(()=>[e.tooltip?(i(),f(E,{key:0,delay:h(500)},{default:t(()=>[p(d(e.tooltip),1)]),_:1},8,[`delay`])):v(``,!0)]),_:1},16,[`loading`,`aria-label`]))}}),Z={class:`review-detail-page__header q-pa-sm`},Q={class:`row items-center q-gutter-x-sm`},te={class:`text-h6 ellipsis`},ne={class:`row items-center q-gutter-x-sm q-mt-xs`},re={class:`text-caption text-grey-6`},ie={key:0,class:`q-pa-md text-grey-6`},$=R(a({__name:`ReviewDetailPage`,setup(a){let{t:s}=D(),y=w(),b=C(),E=Y(),{review:O,files:A,commentsByFile:j,loading:M}=k(E),N=_(()=>String(y.params.id)),P=m(new Set),I=_(()=>A.value.filter(e=>(j.value.get(V(e))??[]).length>0)),R=_(()=>`/api/reviews/${N.value}/export?format=markdown`),B=_(()=>`${(O.value?.name??O.value?.id??`review`).replace(/[/\\:*?"<>|]/g,`-`)}.md`);function H(){E.load(N.value),P.value=new Set}u(H),n(N,H);let U=F([`comment:created`,`comment:updated`,`comment:deleted`],()=>void E.refreshComments());r(()=>U.close());function J(e){let t=new Set(P.value);t.has(e)?t.delete(e):t.add(e),P.value=t}function $(e){P.value=new Set(P.value).add(e)}function ae(e){E.setStatus(e)}G({create:async()=>{throw Error(`A saved review gets no new comments`)},edit:(e,t)=>E.editComment(e,t),remove:e=>E.deleteComment(e),resolve:e=>E.resolveComment(e),unresolve:e=>E.unresolveComment(e)});function oe(){b.push(`/reviews`)}return(n,r)=>h(M)?(i(),f(W,{key:0,class:`row justify-center q-pa-lg`},{default:t(()=>[l(ee,{color:`primary`,size:`2em`})]),_:1})):h(O)?(i(),f(W,{key:2,class:`review-detail-page column no-wrap q-pa-md`},{default:t(()=>[o(`div`,Z,[o(`div`,Q,[l(S,{flat:``,dense:``,round:``,icon:`arrow_back`,onClick:oe}),o(`div`,te,d(h(O).name??h(s)(`reviews.list.unnamed`)),1),l(L),l(X,{url:R.value,filename:B.value,tooltip:h(s)(`reviews.detail.download`)},null,8,[`url`,`filename`,`tooltip`])]),o(`div`,ne,[o(`span`,re,[l(x,{name:`account_tree`,size:`14px`}),p(` `+d(h(O).branch??h(s)(`reviews.list.unknownBranch`)),1)]),l(L),l(q,{status:h(O).status,onChange:ae},null,8,[`status`])])]),l(T),l(z,{class:`col sticky-header-scroll`,"content-style":`padding: 8px`},{default:t(()=>[I.value.length===0?(i(),c(`p`,ie,d(h(s)(`reviews.detail.noComments`)),1)):v(``,!0),(i(!0),c(g,null,e(I.value,e=>(i(),f(K,{key:h(V)(e),file:e,"preview-ref":h(E).review?.sourceType===`commits`||h(E).review?.sourceType===`branch`?h(E).review.sourceRef??void 0:void 0,expanded:P.value.has(h(V)(e)),comments:h(j).get(h(V)(e))??[],"comments-only":``,"comments-editable":``,"no-full-file":``,onToggle:t=>J(h(V)(e)),onExpand:t=>$(h(V)(e))},null,8,[`file`,`preview-ref`,`expanded`,`comments`,`onToggle`,`onExpand`]))),128))]),_:1})]),_:1})):(i(),f(W,{key:1,class:`q-pa-lg text-grey-6`},{default:t(()=>[p(d(h(s)(`reviews.detail.notFound`)),1)]),_:1}))}}),[[`__scopeId`,`data-v-bb658542`]]);export{$ as default};
@@ -1 +1 @@
1
- import{I as e,J as t,K as n,M as r,P as i,U as a,Y as o,_ as s,c,d as l,h as u,j as d,kt as f,l as p,m,ot as h,pt as g,r as _,s as v,u as y}from"./runtime-core.esm-bundler-BKFI1w28.js";import{t as b}from"./QInput-DJgTh2Qy.js";import{a as x,i as S,l as C,t as w}from"./QBtn-DoggJe1Q.js";import{D as T,i as E}from"./index-B2CzafCr.js";import{n as D}from"./vue-i18n.runtime-BpRrzZrT.js";import{r as O}from"./pinia-DCsnCHsH.js";import{n as k}from"./use-server-events-C13Sw-rU.js";import{r as A}from"./use-virtual-scroll-BSXYZjZ5.js";import{c as j,o as M,s as N}from"./ClosePopup-lpH_1Ju2.js";import{t as P}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as F,t as I}from"./QScrollArea-BSSZoaV5.js";import{t as L}from"./QSelect-2iOBkp1K.js";import{a as R,r as z}from"./CreateButton-Dnpwobd9.js";import{t as B}from"./AppPage-DdmqiV2R.js";import{n as V,r as H,t as U}from"./CreateReviewFabButton-KvKPEJzI.js";var W={class:`review-filters q-pa-md q-gutter-y-sm`},G={class:`row q-gutter-x-sm`},K=500,q=s({__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=a(e,`search`),n=a(e,`createdFrom`),r=a(e,`createdTo`),o=a(e,`files`),{t:s}=D();return(e,a)=>(i(),l(`div`,W,[u(H,{modelValue:t.value,"onUpdate:modelValue":a[0]||=e=>t.value=e,debounce:K,placeholder:g(s)(`reviews.filters.searchPlaceholder`)},null,8,[`modelValue`,`placeholder`]),c(`div`,G,[u(b,{modelValue:n.value,"onUpdate:modelValue":a[1]||=e=>n.value=e,dense:``,outlined:``,type:`date`,class:`col`,debounce:K,label:g(s)(`reviews.filters.from`)},null,8,[`modelValue`,`label`]),u(b,{modelValue:r.value,"onUpdate:modelValue":a[2]||=e=>r.value=e,dense:``,outlined:``,type:`date`,class:`col`,debounce:K,label:g(s)(`reviews.filters.to`)},null,8,[`modelValue`,`label`])]),u(L,{modelValue:o.value,"onUpdate:modelValue":a[3]||=e=>o.value=e,dense:``,outlined:``,multiple:``,"use-input":``,"use-chips":``,"hide-dropdown-icon":``,"new-value-mode":`add-unique`,label:g(s)(`reviews.filters.files`),hint:g(s)(`reviews.filters.filesHint`)},null,8,[`modelValue`,`label`,`hint`])]))}}),J=s({__name:`ReviewListItem`,props:{review:{}},emits:[`click`],setup(e){let n={in_progress:`grey-7`,approved:`positive`,changes_requested:`negative`},r=e,{t:a}=D(),s=v(()=>r.review.name??a(`reviews.list.unnamed`)),l=v(()=>r.review.branch??a(`reviews.list.unknownBranch`)),d=v(()=>new Date(r.review.createdAt).toLocaleString());return(r,h)=>o((i(),p(N,{clickable:``,onClick:h[0]||=e=>r.$emit(`click`)},{default:t(()=>[u(j,{avatar:``},{default:t(()=>[u(C,{color:n[e.review.status],name:`rate_review`},null,8,[`color`])]),_:1}),u(j,null,{default:t(()=>[u(A,{class:`text-body2`},{default:t(()=>[m(f(s.value),1)]),_:1}),u(A,{caption:``},{default:t(()=>[u(C,{name:`account_tree`,size:`14px`,class:`q-mr-xs`}),m(f(l.value)+` `,1),h[1]||=c(`span`,{class:`q-mx-sm`},`·`,-1),m(` `+f(d.value),1)]),_:1})]),_:1}),u(j,{side:``},{default:t(()=>[u(F,{color:n[e.review.status],outline:``,rounded:``},{default:t(()=>[m(f(g(a)(`reviews.status.${e.review.status}`)),1)]),_:1},8,[`color`])]),_:1})]),_:1})),[[S]])}}),Y={class:`text-h6 q-px-sm`},X={key:0,class:`row justify-center q-pa-lg`},Z={key:1,class:`q-pa-lg text-center text-grey-6`},Q=P(s({__name:`ReviewsPage`,setup(a){let{t:o}=D(),s=T(),m=V(),v=R(),b=z(),{reviews:S,loading:C}=O(m),A=h(null),j=h(null),N=h(null),P=h([]);function F(){m.fetchReviews({search:A.value??``,createdFrom:j.value,createdTo:N.value,files:P.value})}d(F),n([A,j,N,P],F),d(()=>{v.fetchDiff(),b.refresh()});let L=k([`review:created`,`review:updated`,`review:deleted`],()=>{F(),b.refresh()});r(()=>L.close());let H=k([`files:changed`],()=>void v.fetchDiff());r(()=>H.close());function W(e){s.push(`/reviews/${e}`)}function G(e){s.push(`/reviews/${e.id}`)}return(n,r)=>(i(),p(B,{class:`reviews-page column no-wrap`},{default:t(()=>[c(`div`,Y,f(g(o)(`nav.reviews`)),1),u(E),u(q,{search:A.value,"onUpdate:search":r[0]||=e=>A.value=e,"created-from":j.value,"onUpdate:createdFrom":r[1]||=e=>j.value=e,"created-to":N.value,"onUpdate:createdTo":r[2]||=e=>N.value=e,files:P.value,"onUpdate:files":r[3]||=e=>P.value=e},null,8,[`search`,`created-from`,`created-to`,`files`]),u(E),u(I,{class:`col`},{default:t(()=>[g(C)?(i(),l(`div`,X,[u(x,{color:`primary`,size:`2em`})])):g(S).length===0?(i(),l(`div`,Z,[c(`p`,null,f(g(o)(`reviews.list.empty`)),1),u(w,{flat:``,color:`primary`,label:g(o)(`reviews.list.emptyAction`),to:{path:`/`}},null,8,[`label`])])):y(``,!0),u(M,{class:`q-pa-md`,separator:``,padding:``},{default:t(()=>[(i(!0),l(_,null,e(g(S),e=>(i(),p(J,{key:e.id,review:e,onClick:t=>W(e.id)},null,8,[`review`,`onClick`]))),128))]),_:1})]),_:1}),u(U,{onCreated:G})]),_:1}))}}),[[`__scopeId`,`data-v-38ce03eb`]]);export{Q as default};
1
+ import{I as e,J as t,K as n,M as r,P as i,U as a,Y as o,_ as s,c,d as l,h as u,j as d,kt as f,l as p,m,ot as h,pt as g,r as _,s as v,u as y}from"./runtime-core.esm-bundler-BKFI1w28.js";import{t as b}from"./QInput-DJgTh2Qy.js";import{a as x,i as S,l as C,t as w}from"./QBtn-DoggJe1Q.js";import{D as T,i as E}from"./index-BQi8n0xV.js";import{n as D}from"./vue-i18n.runtime-BpRrzZrT.js";import{r as O}from"./pinia-DCsnCHsH.js";import{n as k}from"./use-server-events-BrBCbeHu.js";import{r as A}from"./use-virtual-scroll-BSXYZjZ5.js";import{c as j,o as M,s as N}from"./ClosePopup-p9VBZw3j.js";import{t as P}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as F,t as I}from"./QScrollArea-BrOkfO1I.js";import{t as L}from"./QSelect-B5EBNlJ4.js";import{a as R,r as z}from"./CreateButton-B7-yiqQx.js";import{t as B}from"./AppPage-DdmqiV2R.js";import{n as V,r as H,t as U}from"./CreateReviewFabButton-BJOAdPG1.js";var W={class:`review-filters q-pa-md q-gutter-y-sm`},G={class:`row q-gutter-x-sm`},K=500,q=s({__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=a(e,`search`),n=a(e,`createdFrom`),r=a(e,`createdTo`),o=a(e,`files`),{t:s}=D();return(e,a)=>(i(),l(`div`,W,[u(H,{modelValue:t.value,"onUpdate:modelValue":a[0]||=e=>t.value=e,debounce:K,placeholder:g(s)(`reviews.filters.searchPlaceholder`)},null,8,[`modelValue`,`placeholder`]),c(`div`,G,[u(b,{modelValue:n.value,"onUpdate:modelValue":a[1]||=e=>n.value=e,dense:``,outlined:``,type:`date`,class:`col`,debounce:K,label:g(s)(`reviews.filters.from`)},null,8,[`modelValue`,`label`]),u(b,{modelValue:r.value,"onUpdate:modelValue":a[2]||=e=>r.value=e,dense:``,outlined:``,type:`date`,class:`col`,debounce:K,label:g(s)(`reviews.filters.to`)},null,8,[`modelValue`,`label`])]),u(L,{modelValue:o.value,"onUpdate:modelValue":a[3]||=e=>o.value=e,dense:``,outlined:``,multiple:``,"use-input":``,"use-chips":``,"hide-dropdown-icon":``,"new-value-mode":`add-unique`,label:g(s)(`reviews.filters.files`),hint:g(s)(`reviews.filters.filesHint`)},null,8,[`modelValue`,`label`,`hint`])]))}}),J=s({__name:`ReviewListItem`,props:{review:{}},emits:[`click`],setup(e){let n={in_progress:`grey-7`,approved:`positive`,changes_requested:`negative`},r=e,{t:a}=D(),s=v(()=>r.review.name??a(`reviews.list.unnamed`)),l=v(()=>r.review.branch??a(`reviews.list.unknownBranch`)),d=v(()=>new Date(r.review.createdAt).toLocaleString());return(r,h)=>o((i(),p(N,{clickable:``,onClick:h[0]||=e=>r.$emit(`click`)},{default:t(()=>[u(j,{avatar:``},{default:t(()=>[u(C,{color:n[e.review.status],name:`rate_review`},null,8,[`color`])]),_:1}),u(j,null,{default:t(()=>[u(A,{class:`text-body2`},{default:t(()=>[m(f(s.value),1)]),_:1}),u(A,{caption:``},{default:t(()=>[u(C,{name:`account_tree`,size:`14px`,class:`q-mr-xs`}),m(f(l.value)+` `,1),h[1]||=c(`span`,{class:`q-mx-sm`},`·`,-1),m(` `+f(d.value),1)]),_:1})]),_:1}),u(j,{side:``},{default:t(()=>[u(F,{color:n[e.review.status],outline:``,rounded:``},{default:t(()=>[m(f(g(a)(`reviews.status.${e.review.status}`)),1)]),_:1},8,[`color`])]),_:1})]),_:1})),[[S]])}}),Y={class:`text-h6 q-px-sm`},X={key:0,class:`row justify-center q-pa-lg`},Z={key:1,class:`q-pa-lg text-center text-grey-6`},Q=P(s({__name:`ReviewsPage`,setup(a){let{t:o}=D(),s=T(),m=V(),v=R(),b=z(),{reviews:S,loading:C}=O(m),A=h(null),j=h(null),N=h(null),P=h([]);function F(){m.fetchReviews({search:A.value??``,createdFrom:j.value,createdTo:N.value,files:P.value})}d(F),n([A,j,N,P],F),d(()=>{v.fetchDiff(),b.refresh()});let L=k([`review:created`,`review:updated`,`review:deleted`],()=>{F(),b.refresh()});r(()=>L.close());let H=k([`files:changed`],()=>void v.fetchDiff());r(()=>H.close());function W(e){s.push(`/reviews/${e}`)}function G(e){s.push(`/reviews/${e.id}`)}return(n,r)=>(i(),p(B,{class:`reviews-page column no-wrap`},{default:t(()=>[c(`div`,Y,f(g(o)(`nav.reviews`)),1),u(E),u(q,{search:A.value,"onUpdate:search":r[0]||=e=>A.value=e,"created-from":j.value,"onUpdate:createdFrom":r[1]||=e=>j.value=e,"created-to":N.value,"onUpdate:createdTo":r[2]||=e=>N.value=e,files:P.value,"onUpdate:files":r[3]||=e=>P.value=e},null,8,[`search`,`created-from`,`created-to`,`files`]),u(E),u(I,{class:`col`},{default:t(()=>[g(C)?(i(),l(`div`,X,[u(x,{color:`primary`,size:`2em`})])):g(S).length===0?(i(),l(`div`,Z,[c(`p`,null,f(g(o)(`reviews.list.empty`)),1),u(w,{flat:``,color:`primary`,label:g(o)(`reviews.list.emptyAction`),to:{path:`/`}},null,8,[`label`])])):y(``,!0),u(M,{class:`q-pa-md`,separator:``,padding:``},{default:t(()=>[(i(!0),l(_,null,e(g(S),e=>(i(),p(J,{key:e.id,review:e,onClick:t=>W(e.id)},null,8,[`review`,`onClick`]))),128))]),_:1})]),_:1}),u(U,{onCreated:G})]),_:1}))}}),[[`__scopeId`,`data-v-38ce03eb`]]);export{Q as default};
@@ -0,0 +1 @@
1
+ import{A as e,C as t,Dt as n,F as r,I as i,J as a,K as o,L as s,M as c,O as l,Ot as u,P as d,S as f,T as p,U as m,W as h,Y as g,_,at as v,c as y,ct as b,d as x,ft as S,h as C,j as w,kt as T,l as E,lt as ee,m as D,ot as O,pt as k,q as te,r as A,rt as ne,s as j,tt as re,u as M,w as N,z as P}from"./runtime-core.esm-bundler-BKFI1w28.js";import{D as ie,O as ae,k as F,p as oe}from"./use-router-link-BGc0noIO.js";import{n as se}from"./create-BSmXD9Zr.js";import{t as ce}from"./QInput-DJgTh2Qy.js";import{a as le,i as ue,l as I,t as L}from"./QBtn-DoggJe1Q.js";import{V as de,i as fe,j as R,t as pe}from"./index-BQi8n0xV.js";import{n as z}from"./vue-i18n.runtime-BpRrzZrT.js";import{n as me}from"./pinia-DCsnCHsH.js";import{a as he,n as ge}from"./single-flight-DLCbzLI3.js";import{n as _e}from"./use-server-events-BrBCbeHu.js";import{f as ve,t as ye}from"./agent-store-1i-UjEzZ.js";import{c as be,f as xe,n as Se,t as B}from"./QSpace-CqqgY-zX.js";import{c as V,n as Ce,o as we,s as H,t as U}from"./ClosePopup-p9VBZw3j.js";import{t as W}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as G}from"./QScrollArea-BrOkfO1I.js";import{a as Te,i as Ee,n as De,t as Oe}from"./QResizeObserver-gIKjGVQ7.js";import{a as ke,c as Ae,d as K,l as je,n as Me,o as Ne,r as Pe,s as Fe,t as Ie,u as Le}from"./CreateButton-B7-yiqQx.js";import{n as Re}from"./AppPage-DdmqiV2R.js";import{t as ze}from"./use-add-agent-context-BE_z8acF.js";var Be=Re(1e5,e=>e.lines.length+1);function Ve(e={}){let t=b([]),n=O(!1),r=O(!1),i=O(!1),a=O(null),o=0,s=null;async function c(c,u){let d=`${u}:${c}`;if(d!==s){l(),s=d;let r=e.cache?Be.get(d):void 0;r&&(t.value=r.lines,n.value=r.isBinary,i.value=!0)}let f=++o;r.value=!0;try{let r=c.split(`/`).map(encodeURIComponent).join(`/`),s=await he(`/api/git/file/${r}?ref=${encodeURIComponent(u)}`);if(f!==o)return;ve(t.value,s.lines)||(t.value=s.lines),n.value=s.isBinary,a.value=null,i.value=!0,e.cache&&Be.set(d,{lines:t.value,isBinary:s.isBinary})}catch(e){if(f!==o)return;a.value=ge(e)}finally{f===o&&(r.value=!1)}}function l(){++o,r.value=!1,i.value=!1,s=null,t.value=[],n.value=!1,a.value=null}return{lines:t,isBinary:n,loading:r,loaded:i,error:a,fetchContent:c,reset:l}}var He=W(_({__name:`CommentCountBadge`,props:{count:{},compact:{type:Boolean}},setup(e){let{t}=z();return(r,i)=>e.count>0?(d(),x(`span`,{key:0,class:n([`comment-count-badge relative-position inline-block`,{"comment-count-badge--compact":e.compact}])},[C(I,{name:`mode_comment`,size:e.compact?`15px`:`20px`},null,8,[`size`]),C(G,{color:`primary`,floating:``,rounded:``},{default:a(()=>[D(T(e.count),1)]),_:1}),C(R,{delay:k(500)},{default:a(()=>[D(T(k(t)(`reviews.comments.count`,{count:e.count})),1)]),_:1},8,[`delay`])],2)):M(``,!0)}}),[[`__scopeId`,`data-v-e3e956c6`]]),Ue=Symbol(`scroll-root`);function We(){let e=f(Ue,void 0);return t=>e?.()??t?.closest(`.q-scrollarea__container`)??null}var Ge=3e3;function Ke(e,t){return t.getBoundingClientRect().top-e.getBoundingClientRect().top-e.clientTop}function qe(e,t){return Ke(e,t)<0}function Je(e,t){return Math.max(0,Math.min(e.scrollHeight-e.clientHeight,e.scrollTop+Ke(e,t)))}function Ye(e){let t=e.now??(()=>performance.now()),n=e.requestFrame??(e=>requestAnimationFrame(e)),r=e.cancelFrame??(e=>cancelAnimationFrame(e)),i=t()+Ge,a=!1,o;function s(){a=!0,o!==void 0&&r(o),o=void 0}function c(){if(o=void 0,a)return;if(t()>=i){s();return}let r=e.target();if(r){let t=e.root,n=Je(t,r);Math.abs(n-t.scrollTop)>.5&&(t.scrollTop=n)}o=n(c)}return o=n(c),s}function Xe(e){return e.lineType===`removed`?`old`:`new`}function q(e){let t=new Map;for(let n of e){if(n.lineNumberEnd===null)continue;let e=t.get(n.lineNumberEnd);e?e.push(n):t.set(n.lineNumberEnd,[n])}return t}function Ze(e){return{old:q(e.filter(e=>Xe(e)===`old`)),new:q(e.filter(e=>Xe(e)===`new`))}}function Qe(e,t){return[...e.oldLineNumber===null?[]:t.old.get(e.oldLineNumber)??[],...e.newLineNumber===null?[]:t.new.get(e.newLineNumber)??[]]}function $e(e,t=200){if(e.length<=t)return{segmented:!1,groups:[{start:0,rows:[...e]}]};let n=[];for(let t=0;t<e.length;t+=25)n.push({start:t,rows:e.slice(t,t+25)});return{segmented:!0,groups:n}}function et(e,t){return{minHeight:e*20+t*90,cost:10+e+t*10}}function tt(e,t=e.lines.length*20){return t+25}function J(e,t){let n=!1,r=[];for(let[i,a]of e.rows.entries()){let e=t.comments(a),o=t.hasForm(a);n||=o,(e.length>0||o)&&r.push([i,o,e])}let i=r.length>0;return{...et(e.rows.length,r.length),keep:n,heightOwner:t.owner,heightKey:t.slot??`rows:${e.start}`,heightVersion:JSON.stringify([e.rows.length,t.wrap,t.commentsEditable,r.map(([e,t,n])=>[e,t,n.map(e=>[e.id,e.content,e.suggestion,!!e.resolved])])]),cacheHeight:(t.cacheHeight??!0)&&!t.wrap&&!i,widthSensitive:t.wrap||i}}var nt=80;function rt(e,t){return t?t.hunks.reduce((e,t)=>e+tt(t),0):(e.additions+e.deletions)*20+nt}function it(e,t){if(t===`full`)return q(e.filter(e=>e.lineType===null)).size*90;let n=Ze(e.filter(e=>e.lineType!==null));return(n.old.size+n.new.size)*90}var at=Symbol(`comment-actions`);function ot(e){let{t}=z(),n=be();function i(e){return async(...r)=>{try{await e(...r)}catch(e){throw n(t(`reviews.comments.error`),e),e}}}r(at,{create:i(e.create),edit:i(e.edit),remove:i(e.remove),resolve:i(e.resolve),unresolve:i(e.unresolve)})}async function Y(){throw Error(`No comment actions are provided here`)}function st(){return f(at,void 0)||{create:Y,edit:Y,remove:Y,resolve:Y,unresolve:Y}}function ct(e){e.catch(()=>void 0)}var X=new Set,lt=!1,ut=e=>requestAnimationFrame(e);function dt(){lt=!1;let e=[...X],t=[...e.filter(e=>e.visible),...e.filter(e=>!e.visible)],n=0;try{for(let e of t){if(!X.has(e))continue;let t=e.visible?120:40;if(n>0&&n+e.cost>t)break;X.delete(e),n+=e.cost,e.run()}}finally{X.size>0&&ft()}}function ft(){lt||(lt=!0,ut(dt))}function pt(e,t,n=!1){let r={cost:Math.max(1,e),visible:n,run:t};return X.add(r),ft(),{setVisible:e=>{r.visible=e},cancel:()=>{X.delete(r)}}}var mt=2e3,Z=new WeakMap;function ht(e,t){let n=Z.get(e);n||(n=new Map,Z.set(e,n));let r=n.get(t);if(r)return r;let i=new Map,a={near:new IntersectionObserver(e=>{for(let t of e)i.get(t.target)?.near(t.isIntersecting,t.target)},{root:e,rootMargin:`${t}px 0px`}),visible:new IntersectionObserver(e=>{for(let t of e)i.get(t.target)?.visible(t.isIntersecting)},{root:e}),handlers:i};return n.set(t,a),a}function gt(e,t,n,r=mt){let i=ht(e,r);return i.handlers.set(t,n),i.near.observe(t),i.visible.observe(t),()=>{if(i.handlers.get(t)!==n||(i.handlers.delete(t),i.near.unobserve(t),i.visible.unobserve(t),i.handlers.size>0))return;i.near.disconnect(),i.visible.disconnect();let a=Z.get(e);a?.delete(r),a?.size===0&&Z.delete(e)}}var _t=new WeakMap;function vt(e,t){let n=_t.get(e);if(!n){let t={width:e.clientWidth,handlers:new Set,observer:new ResizeObserver(()=>{let n=e.clientWidth;if(n!==t.width){t.width=n;for(let e of t.handlers)e()}})};n=t,_t.set(e,n),n.observer.observe(e)}let r=n;r.handlers.add(t);let i=!1;return()=>{i||(i=!0,r.handlers.delete(t),!(r.handlers.size>0)&&(r.observer.disconnect(),_t.delete(e)))}}var yt=new WeakMap;function bt(e,t,n){let r=yt.get(e)?.get(t);return r&&r.version===n?r.px:void 0}function xt(e,t,n,r){let i=yt.get(e);i||(i=new Map,yt.set(e,i)),i.set(t,{version:n,px:r})}var St=5;function Ct(e){let[t,n]=e.slice(St);return[e.slice(0,St),t,n]}function wt(e,t){let n=O(!1),r=O(e.minHeight),i=!1,a=!1,s=!1,c=!1,l=!1,u,d,f;function p(){return e.cacheHeight&&e.heightOwner&&e.heightKey!==void 0?bt(e.heightOwner,e.heightKey,e.heightVersion??``):void 0}function m(){let t=p();i=t!==void 0,r.value=t??e.minHeight}function h(){let a=t();n.value&&a&&(r.value=a.offsetHeight,i=!0,e.cacheHeight&&e.heightOwner&&e.heightKey!==void 0&&xt(e.heightOwner,e.heightKey,e.heightVersion??``,r.value))}function g(){u?.cancel(),u=void 0}function _(){if(a&&c&&!n.value&&!u){if(e.queued===!1){n.value=!0;return}u=pt(e.cost??Math.ceil(r.value/20),()=>{u=void 0,n.value=!0},l)}}function y(){m(),g(),_()}function b(r){if(a)return;a=!0;let i=t();if(e.immediate||!i||!r){s=!0,n.value=!0;return}d=gt(r,i,{near:t=>{if(c=t,c)_();else{if(g(),e.keep)return;h(),n.value=!1}},visible:e=>{l=e,u?.setVisible(e)}},e.mountMargin),f=vt(r,()=>{e.widthSensitive&&y()})}function x(){a&&(e.cacheHeight&&e.heightOwner&&e.heightKey!==void 0&&h(),a=!1,g(),d?.(),f?.(),d=void 0,f=void 0)}return m(),o([()=>e.heightOwner,()=>e.heightKey,()=>e.heightVersion,()=>e.cacheHeight,()=>e.widthSensitive,()=>e.minHeight,()=>e.cost,()=>e.keep],(t,o)=>{let[l,u,d]=Ct(t),[f,p,v]=Ct(o),y=l.some((e,t)=>e!==f[t]);y?m():i||(r.value=e.minHeight),(y||u!==p||d!==v)&&(g(),_()),a&&!s&&!c&&!e.keep&&n.value&&(h(),n.value=!1)},{flush:`post`}),ne(x),{mounted:v(n),height:v(r),start:b,stop:x}}var Tt=`\0`,Et=[`pending:`,`draft:`,`busy:`,`edit:`],Dt=me(`card-state`,()=>{let e=O({});function t(e,t){return`${e}${Tt}${t}`}function n(n,r){return e.value[t(n,r)]}function r(n,r,i){e.value[t(n,r)]=i}function i(n,r){delete e.value[t(n,r)]}function a(t){for(let n of Object.keys(e.value)){let r=n.slice(0,n.indexOf(Tt));t.has(r)||delete e.value[n]}}function s(e){return e.slice(e.indexOf(Tt)+1)}function c(t){for(let n of Object.keys(e.value))t(s(n))&&delete e.value[n]}let l=ke();o(()=>[l.loaded,l.stagedFiles,l.unstagedFiles],([e,t,n])=>{e&&a(new Set([...t.map(e=>Le(`staged`,K(e))),...n.map(e=>Le(`unstaged`,K(e)))]))},{immediate:!0});let u=Pe();return o(()=>u.activeReview?.id,()=>c(e=>Et.some(t=>e.startsWith(t)))),o(()=>u.comments.map(e=>e.id),(e,t)=>{let n=new Set(e),r=new Set(t.filter(e=>!n.has(e)));r.size!==0&&c(e=>[...r].some(t=>[`edit:${t}`,`draft:edit:${t}`,`busy:edit:${t}`].includes(e)))}),{get:n,set:r,remove:i,prune:a}}),Ot=Symbol(`card-state-key`);function Q(e,t,n={}){let r=n.local?void 0:n.key??f(Ot,void 0);if(r===void 0){let e=O(t());return Object.assign(j({get:()=>e.value,set:t=>{e.value=t}}),{reset(){e.value=t()}})}let i=Dt();return Object.assign(j({get:()=>i.get(r,e)??t(),set:t=>i.set(r,e,t)}),{reset(){i.remove(r,e)}})}var kt=`pending:diff`;function At(e={}){return Q(kt,()=>null,e)}var jt=`pending:full`;function Mt(e={}){return Q(jt,()=>null,e)}function Nt(e){return je(e)===`markdown`}var Pt={class:`diff-line__prefix`},Ft={class:`diff-line__content`},It=W(_({__name:`DiffLineRow`,props:{line:{},tokens:{},oldSelected:{type:Boolean},newSelected:{type:Boolean},selectable:{type:Boolean},wrap:{type:Boolean}},emits:[`old-mousedown`,`old-mouseenter`,`new-mousedown`,`new-mouseenter`],setup(e,{emit:t}){let r=e,a=t,o=j(()=>({added:`+`,removed:`-`,context:` `})[r.line.type]),s=j(()=>r.line.type===`added`?`diff-line--added`:r.line.type===`removed`?`diff-line--removed`:``);function c(e){return e.colorLight&&e.colorDark?`light-dark(${e.colorLight}, ${e.colorDark})`:e.colorLight??e.colorDark}return(t,r)=>(d(),x(`div`,{class:n([`diff-line row no-wrap text-mono`,[s.value,{"diff-line--wrap":e.wrap}]])},[y(`span`,{class:n([`diff-line__gutter`,{"diff-line__gutter--selectable":e.selectable&&e.line.oldLineNumber,"diff-line__gutter--selected":e.oldSelected}]),onMousedown:r[0]||=t=>e.line.oldLineNumber&&a(`old-mousedown`),onMouseenter:r[1]||=t=>e.line.oldLineNumber&&a(`old-mouseenter`)},T(e.line.oldLineNumber??``),35),y(`span`,{class:n([`diff-line__gutter`,{"diff-line__gutter--selectable":e.selectable&&e.line.newLineNumber,"diff-line__gutter--selected":e.newSelected}]),onMousedown:r[2]||=t=>e.line.newLineNumber&&a(`new-mousedown`),onMouseenter:r[3]||=t=>e.line.newLineNumber&&a(`new-mouseenter`)},T(e.line.newLineNumber??``),35),y(`span`,Pt,T(o.value),1),y(`span`,Ft,[e.tokens?(d(!0),x(A,{key:0},i(e.tokens,(e,t)=>(d(),x(`span`,{key:t,style:u({color:c(e)})},T(e.content),5))),128)):(d(),x(A,{key:1},[D(T(e.line.content),1)],64))])],2))}}),[[`__scopeId`,`data-v-2b9e2a1a`]]),$=_({__name:`RowSegment`,props:{minHeight:{},keep:{type:Boolean,default:!1},cost:{default:void 0},immediate:{type:Boolean,default:!1},queued:{type:Boolean,default:!0},heightOwner:{default:void 0},heightKey:{default:void 0},heightVersion:{default:void 0},cacheHeight:{type:Boolean,default:!1},widthSensitive:{type:Boolean,default:!1}},emits:[`change`],setup(e,{emit:t}){let n=e,r=t,i=We(),a=h(`el`),{mounted:c,height:f,start:p,stop:m}=wt(n,()=>a.value);return w(()=>p(a.value?i(a.value):null)),o(c,e=>r(`change`,e)),l(m),(e,t)=>(d(),x(`div`,{ref_key:`el`,ref:a,style:u(k(c)?void 0:{height:`${k(f)}px`})},[k(c)?s(e.$slots,`default`,{},void 0,void 0,0):M(``,!0)],4))}}),Lt={class:`comment-form q-pa-sm`},Rt={class:`row items-center justify-between q-mt-xs`},zt={key:0,class:`text-caption comment-form__line-range`},Bt={class:`row q-gutter-x-sm`},Vt=W(_({__name:`CommentForm`,props:{initialContent:{},submitLabel:{},lineRange:{default:null},draftKey:{},send:{}},emits:[`cancel`],setup(e,{emit:t}){let n=e,r=t,{t:i}=z(),a=n.draftKey?{}:{local:!0},o=Q(`draft:${n.draftKey}`,()=>n.initialContent??``,a),s=Q(`busy:${n.draftKey}`,()=>!1,a),c=o.value!==(n.initialContent??``);async function l(){let e=o.value.trim();if(e&&!s.value){s.value=!0;try{await n.send(e),o.reset()}catch{}finally{s.reset()}}}function u(){s.value||(o.reset(),r(`cancel`))}return(t,n)=>(d(),x(`div`,Lt,[C(ce,{modelValue:k(o),"onUpdate:modelValue":n[0]||=e=>re(o)?o.value=e:null,dense:``,outlined:``,autofocus:!c,type:`textarea`,autogrow:``,placeholder:k(i)(`reviews.comments.placeholder`),readonly:k(s),onKeyup:ae(F(l,[`ctrl`]),[`enter`])},null,8,[`modelValue`,`autofocus`,`placeholder`,`readonly`,`onKeyup`]),y(`div`,Rt,[e.lineRange?(d(),x(`span`,zt,T(e.lineRange.start===e.lineRange.end?k(i)(`reviews.comments.line`,{line:e.lineRange.start}):k(i)(`reviews.comments.lineRange`,{start:e.lineRange.start,end:e.lineRange.end})),1)):M(``,!0),C(B),y(`div`,Bt,[C(Me,{size:`sm`,disable:k(s),onClick:u},null,8,[`disable`]),C(Ie,{size:`sm`,label:e.submitLabel,disable:!k(o).trim(),loading:k(s),onClick:l},null,8,[`label`,`disable`,`loading`])])])]))}}),[[`__scopeId`,`data-v-349d56ab`]]),Ht=_({__name:`DeleteButton`,props:{tooltip:{}},setup(e){return(t,n)=>(d(),E(L,N(t.$attrs,{padding:`4px`,flat:``,dense:``,round:``,icon:`delete_outline`,color:`warning`}),{default:a(()=>[e.tooltip?(d(),E(R,{key:0,delay:k(500)},{default:a(()=>[D(T(e.tooltip),1)]),_:1},8,[`delay`])):M(``,!0)]),_:1},16))}}),Ut=_({__name:`EditButton`,props:{tooltip:{}},setup(e){return(t,n)=>(d(),E(L,N(t.$attrs,{padding:`4px`,flat:``,dense:``,round:``,icon:`edit`,color:`secondary`}),{default:a(()=>[e.tooltip?(d(),E(R,{key:0,delay:k(500)},{default:a(()=>[D(T(e.tooltip),1)]),_:1},8,[`delay`])):M(``,!0)]),_:1},16))}}),Wt={class:`comment-item__body`},Gt={key:0,class:`comment-item__suggestion text-mono`},Kt={class:`row items-center q-gutter-x-xs q-mt-xs`},qt=W(_({__name:`CommentItem`,props:{comment:{},readonly:{type:Boolean}},setup(e){let t=e,r=oe(),{t:i}=z(),o=Q(`edit:${t.comment.id}`,()=>!1),s=st();function c(){r.dialog({title:i(`reviews.comments.deleteConfirmTitle`),message:i(`reviews.comments.deleteConfirmMessage`),persistent:!0,ok:{label:i(`reviews.comments.deleteConfirmOk`),color:`negative`,flat:!0},cancel:{label:i(`reviews.comments.deleteConfirmCancel`),flat:!0}}).onOk(()=>{ct(s.remove(t.comment.id))})}async function l(e){await s.edit(t.comment.id,e),o.reset()}function u(){o.reset()}function f(){t.comment.resolved?ct(s.unresolve(t.comment.id)):ct(s.resolve(t.comment.id))}return(t,r)=>(d(),x(`div`,{class:n([`comment-item q-pa-sm`,{"comment-item--resolved":e.comment.resolved}])},[k(o)&&!e.readonly?(d(),E(Vt,{key:0,"initial-content":e.comment.content,"draft-key":`edit:${e.comment.id}`,"submit-label":k(i)(`reviews.comments.save`),send:l,onCancel:u},null,8,[`initial-content`,`draft-key`,`submit-label`])):(d(),x(A,{key:1},[y(`div`,Wt,T(e.comment.content),1),e.comment.suggestion?(d(),x(`pre`,Gt,T(e.comment.suggestion),1)):M(``,!0),y(`div`,Kt,[e.comment.resolved?(d(),E(G,{key:0,color:`positive`,outline:``},{default:a(()=>[D(T(k(i)(`reviews.comments.resolved`)),1)]),_:1})):M(``,!0),C(B),e.readonly?M(``,!0):(d(),x(A,{key:1},[C(L,{flat:``,dense:``,rounded:``,padding:`4px 12px`,size:`sm`,color:`primary`,label:e.comment.resolved?k(i)(`reviews.comments.unresolve`):k(i)(`reviews.comments.resolve`),onClick:f},null,8,[`label`]),C(Ut,{size:`sm`,tooltip:k(i)(`reviews.comments.edit`),onClick:r[0]||=e=>o.value=!0},null,8,[`tooltip`]),C(Ht,{size:`sm`,tooltip:k(i)(`reviews.comments.delete`),onClick:c},null,8,[`tooltip`])],64))])],64))],2))}}),[[`__scopeId`,`data-v-3af2187b`]]),Jt={class:`comment-thread q-pa-sm q-gutter-y-sm`},Yt=W(_({__name:`CommentThread`,props:{comments:{},showNewForm:{type:Boolean},readonly:{type:Boolean},pendingLineRange:{default:null},newDraftKey:{},submitNew:{type:Function,default:async()=>{throw Error(`No submit handler`)}}},emits:[`cancel-new`],setup(e,{emit:t}){let n=t,{t:r}=z();return(t,a)=>(d(),x(`div`,Jt,[(d(!0),x(A,null,i(e.comments,t=>(d(),E(qt,{key:t.id,comment:t,readonly:e.readonly},null,8,[`comment`,`readonly`]))),128)),e.showNewForm&&!e.readonly?(d(),E(Vt,{key:0,"submit-label":k(r)(`reviews.comments.submit`),"line-range":e.pendingLineRange,"draft-key":e.newDraftKey,send:e.submitNew,onCancel:a[0]||=e=>n(`cancel-new`)},null,8,[`submit-label`,`line-range`,`draft-key`,`send`])):M(``,!0)]))}}),[[`__scopeId`,`data-v-352fcd01`]]);function Xt(e){let t=O(null);function n(e,n){t.value={column:e,start:n,current:n}}function r(e,n){t.value&&t.value.column===e&&(t.value.current=n)}function i(e,n){if(!t.value||t.value.column!==e)return!1;let r=Math.min(t.value.start,t.value.current),i=Math.max(t.value.start,t.value.current);return n>=r&&n<=i}function a(){if(!t.value)return;let{column:n,start:r,current:i}=t.value;t.value=null,e({column:n,startKey:Math.min(r,i),endKey:Math.max(r,i)})}return w(()=>window.addEventListener(`mouseup`,a)),c(()=>window.removeEventListener(`mouseup`,a)),{start:n,enter:r,isSelected:i}}function Zt(e,t,n){return e.filter(e=>e.key!==null&&e.key>=t&&e.key<=n).map(e=>e.text)}function Qt(e,t,n,r){return{column:e,startKey:t,endKey:n,fingerprint:JSON.stringify(Zt(r,t,n))}}function $t(e,t){return t.some(t=>t.key===e.endKey)?JSON.stringify(Zt(t,e.startKey,e.endKey))===e.fingerprint?`valid`:`stale`:`absent`}function en(e,t,n){return e!==null&&n!==null&&e.column===t&&e.endKey===n}function tn(e,t){return en(e,`old`,t.oldLineNumber)||en(e,`new`,t.newLineNumber)}var nn={key:0,class:`diff-hunk`},rn={class:`diff-hunk__header text-mono text-primary`},an=W(_({__name:`DiffHunkView`,props:{path:{},hunk:{},lineTokens:{},commentable:{type:Boolean},comments:{},commentsOnly:{type:Boolean},commentsEditable:{type:Boolean},wrap:{type:Boolean}},setup(e){let t=e,n=st(),r=j(()=>`@@ -${t.hunk.oldStart},${t.hunk.oldLines} +${t.hunk.newStart},${t.hunk.newLines} @@`),o=At();function s(e){return t.hunk.lines.map(t=>({key:e===`old`?t.oldLineNumber:t.newLineNumber,text:`${t.type}\u0000${t.content}`}))}let c=j(()=>o.value?$t(o.value,s(o.value.column)):`absent`);te(()=>{c.value===`stale`&&o.reset()});let l=j(()=>c.value===`valid`?o.value:null),u=Xt(e=>{let n=t.hunk.lines.find(t=>e.column===`old`?t.oldLineNumber===e.startKey:t.newLineNumber===e.startKey);o.value={...Qt(e.column,e.startKey,e.endKey,s(e.column)),lineType:n?.type??`context`}});function f(e,n){t.commentable&&n!==null&&u.start(e,n)}function p(e,n){t.commentable&&n!==null&&u.enter(e,n)}function m(e,n){return!t.commentable||n===null?!1:l.value&&l.value.column===e&&n>=l.value.startKey&&n<=l.value.endKey?!0:u.isSelected(e,n)}function h(e){return(t.comments??[]).some(t=>{if(t.lineNumber===null||t.lineNumberEnd===null)return!1;let n=Xe(t)===`old`?e.oldLineNumber:e.newLineNumber;return n!==null&&n>=t.lineNumber&&n<=t.lineNumberEnd})}let g=j(()=>{let e=Ze(t.comments??[]);return t.hunk.lines.map((t,n)=>({line:t,index:n,comments:Qe(t,e)})).filter(e=>!t.commentsOnly||h(e.line))}),_=j(()=>$e(g.value,t.commentsOnly?void 0:0)),v=j(()=>_.value.groups.map(e=>({...e,props:J(e,{comments:e=>e.comments,hasForm:e=>S(e.line),owner:t.hunk,wrap:!!t.wrap,commentsEditable:!!t.commentsEditable})}))),b=j(()=>l.value?{start:l.value.startKey,end:l.value.endKey}:null);function S(e){return tn(l.value,e)}async function w(e){let r=l.value;r&&(await n.create({filePath:t.path,lineNumber:r.startKey,lineNumberEnd:r.endKey,lineType:r.lineType,content:e}),o.reset())}function ee(){o.reset()}return(t,n)=>!e.commentsOnly||g.value.length>0?(d(),x(`div`,nn,[y(`div`,rn,T(r.value),1),(d(!0),x(A,null,i(v.value,t=>(d(),E(P(_.value.segmented?$:`div`),N({key:t.start},{ref_for:!0},_.value.segmented?t.props:{}),{default:a(()=>[(d(!0),x(A,null,i(t.rows,({line:t,index:n,comments:r})=>(d(),x(A,{key:n},[C(It,{line:t,tokens:e.lineTokens?.[n],selectable:e.commentable,wrap:e.wrap,"old-selected":m(`old`,t.oldLineNumber),"new-selected":m(`new`,t.newLineNumber),onOldMousedown:e=>f(`old`,t.oldLineNumber),onOldMouseenter:e=>p(`old`,t.oldLineNumber),onNewMousedown:e=>f(`new`,t.newLineNumber),onNewMouseenter:e=>p(`new`,t.newLineNumber)},null,8,[`line`,`tokens`,`selectable`,`wrap`,`old-selected`,`new-selected`,`onOldMousedown`,`onOldMouseenter`,`onNewMousedown`,`onNewMouseenter`]),r.length>0||S(t)?(d(),E(Yt,{key:0,comments:r,readonly:!e.commentsEditable,"show-new-form":S(t),"pending-line-range":b.value,"new-draft-key":`new:diff`,"submit-new":w,onCancelNew:ee},null,8,[`comments`,`readonly`,`show-new-form`,`pending-line-range`])):M(``,!0)],64))),128))]),_:2},1040))),128))])):M(``,!0)}}),[[`__scopeId`,`data-v-3c7417b1`]]);function on(e){let t=b(null);return o([()=>S(e.lines),()=>S(e.isBinary),()=>S(e.loaded),()=>S(e.error),()=>S(e.deleted)],([e,n,r,i,a])=>{if(!r||i)return;let o=a?`deleted`:n?`binary`:e.length?`text`:`empty`;(t.value?.lines!==e||t.value.kind!==o)&&(t.value={lines:e,kind:o})},{immediate:!0}),t}var sn={class:`file-content-line__content`},cn=W(_({__name:`FileContentLine`,props:{lineNumber:{},content:{},tokens:{},selected:{type:Boolean},selectable:{type:Boolean},wrap:{type:Boolean}},emits:[`gutter-mousedown`,`gutter-mouseenter`],setup(e,{emit:t}){let r=t;function a(e){return e.colorLight&&e.colorDark?`light-dark(${e.colorLight}, ${e.colorDark})`:e.colorLight??e.colorDark}return(t,o)=>(d(),x(`div`,{class:n([`file-content-line row no-wrap text-mono`,{"file-content-line--wrap":e.wrap}])},[y(`span`,{class:n([`file-content-line__gutter`,{"file-content-line__gutter--selectable":e.selectable,"file-content-line__gutter--selected":e.selected}]),onMousedown:o[0]||=e=>r(`gutter-mousedown`),onMouseenter:o[1]||=e=>r(`gutter-mouseenter`)},T(e.lineNumber),35),y(`span`,sn,[e.tokens?(d(!0),x(A,{key:0},i(e.tokens,(e,t)=>(d(),x(`span`,{key:t,style:u({color:a(e)})},T(e.content),5))),128)):(d(),x(A,{key:1},[D(T(e.content||` `),1)],64))])],2))}}),[[`__scopeId`,`data-v-967eefee`]]),ln=300;function un(e,t){let n=b(null),r=O(!1),i=O(!1),a=!1,s;function c(){s?.abort(),s=void 0}let l=j(()=>{let t=S(e);return t&&Fe(t.path)?t:null}),u=j(()=>{let e=l.value;return e?ee(e.key):null});o(u,()=>{c(),n.value=null,a=!1});function d(e){n.value=e,a=!0,r.value=!0}o(()=>[u.value,S(t)],async([e,t])=>{if(!t){c();return}let i=l.value;if(!e||!i||a||s)return;let o=Ne(e);if(o!==void 0){d(o);return}let u=new AbortController;s=u;let f;try{f=await Ae(e,i.path,i.lines,u.signal,e=>{u.signal.aborted||n.value&&e.length<=n.value.length||(n.value=e,r.value=!0)},i.documents)}catch{f=null}u.signal.aborted||f===void 0||(s=void 0,d(f))},{immediate:!0});let f=j(()=>S(t)&&!r.value&&l.value!==null),p;function m(){clearTimeout(p),p=void 0}return o(f,e=>{m(),e&&!i.value&&(p=setTimeout(()=>{i.value=!0},ln))},{immediate:!0}),ne(()=>{c(),m()}),{tokens:n,holdForTokens:j(()=>f.value&&!i.value)}}var dn={key:1,class:`file-content-view`},fn=W(_({__name:`FileContentView`,props:{path:{},lines:{},commentable:{type:Boolean},comments:{},commentsEditable:{type:Boolean},wrap:{type:Boolean}},setup(e){let t=e,n=st(),{tokens:r,holdForTokens:o}=un(()=>{let e=t.lines;return e.length===0?null:{key:e,path:t.path,lines:()=>e}},!0),s=Mt();function c(){return t.lines.map((e,t)=>({key:t+1,text:e}))}let l=j(()=>s.value?$t(s.value,c()):`absent`);te(()=>{l.value===`stale`&&s.reset()});let f=j(()=>l.value===`valid`?s.value:null),p=Xt(e=>{s.value=Qt(e.column,e.startKey,e.endKey,c())});function m(e){return t.commentable?f.value&&e>=f.value.startKey&&e<=f.value.endKey?!0:p.isSelected(`full`,e):!1}let h=j(()=>{let e=q(t.comments??[]);return t.lines.map((t,n)=>({line:t,index:n,lineNumber:n+1,comments:e.get(n+1)??[]}))}),g=j(()=>$e(h.value)),_=j(()=>g.value.groups.map(e=>({...e,props:J(e,{comments:e=>e.comments,hasForm:e=>en(f.value,`full`,e.lineNumber),owner:t.lines,wrap:!!t.wrap,commentsEditable:!!t.commentsEditable})}))),v=j(()=>f.value?{start:f.value.startKey,end:f.value.endKey}:null);function y(e){t.commentable&&p.start(`full`,e)}function b(e){t.commentable&&p.enter(`full`,e)}async function S(e){let r=f.value;r&&(await n.create({filePath:t.path,lineType:null,lineNumber:r.startKey,lineNumberEnd:r.endKey,content:e}),s.reset())}function w(){s.reset()}return(t,n)=>k(o)?(d(),x(`div`,{key:0,class:`row justify-center items-start q-pa-lg`,style:u({minHeight:`${e.lines.length*k(20)}px`})},[C(le,{color:`primary`,size:`2em`})],4)):(d(),x(`div`,dn,[(d(!0),x(A,null,i(_.value,t=>(d(),E(P(g.value.segmented?$:`div`),N({key:t.start},{ref_for:!0},g.value.segmented?t.props:{}),{default:a(()=>[(d(!0),x(A,null,i(t.rows,({line:t,index:n,lineNumber:i,comments:a})=>(d(),x(A,{key:n},[C(cn,{"line-number":i,content:t,tokens:k(r)?.[n],selectable:e.commentable,selected:m(i),wrap:e.wrap,onGutterMousedown:e=>y(i),onGutterMouseenter:e=>b(i)},null,8,[`line-number`,`content`,`tokens`,`selectable`,`selected`,`wrap`,`onGutterMousedown`,`onGutterMouseenter`]),a.length>0||f.value?.endKey===i?(d(),E(Yt,{key:0,comments:a,readonly:!e.commentsEditable,"show-new-form":f.value?.endKey===i,"pending-line-range":v.value,"new-draft-key":`new:full`,"submit-new":S,onCancelNew:w},null,8,[`comments`,`readonly`,`show-new-form`,`pending-line-range`])):M(``,!0)],64))),128))]),_:2},1040))),128))]))}}),[[`__scopeId`,`data-v-18b068d7`]]),pn={key:0,class:`row justify-center q-pa-lg`},mn={key:1,class:`text-caption text-grey-6 q-pa-md q-mb-none`},hn={key:2,class:`text-caption text-grey-6 q-pa-md`},gn={key:3,class:`text-caption text-grey-6 q-pa-md q-mb-none`},_n=_({__name:`DiffFileFullView`,props:{path:{},commentable:{type:Boolean,default:!1},comments:{default:()=>[]},commentsEditable:{type:Boolean},wrap:{type:Boolean}},emits:[`content-version`],setup(e,{emit:t}){let n=e,r=t,{t:i}=z(),{lines:a,isBinary:s,loading:l,loaded:u,error:f,fetchContent:p}=Ve({cache:!0});o(()=>n.path,e=>{p(e,`WORKTREE`)},{immediate:!0});let m=_e([`files:changed`],()=>{p(n.path,`WORKTREE`)});c(()=>m.close());let h=ke(),g=j(()=>h.unstagedFiles.some(e=>e.status===`deleted`&&K(e)===n.path)),_=on({lines:a,isBinary:s,loaded:u,error:f,deleted:g});return o(_,e=>{e&&r(`content-version`,e)},{immediate:!0}),(t,n)=>k(l)&&k(a).length===0&&!k(f)?(d(),x(`div`,pn,[C(le,{color:`primary`,size:`2em`})])):g.value?(d(),x(`p`,mn,T(k(i)(`changes.fullFileDeleted`)),1)):k(f)?(d(),x(`div`,hn,[D(T(k(i)(`changes.fullFileLoadError`))+` `,1),y(`div`,null,T(k(f)),1)])):k(s)?(d(),x(`p`,gn,T(k(i)(`changes.binaryFile`)),1)):(d(),E(fn,{key:4,path:e.path,lines:k(a),commentable:e.commentable,"comments-editable":e.commentsEditable,comments:e.comments,wrap:e.wrap},null,8,[`path`,`lines`,`commentable`,`comments-editable`,`comments`,`wrap`]))}}),vn={childList:!0,subtree:!0,attributes:!0,characterData:!0,attributeOldValue:!0,characterDataOldValue:!0};function yn(e,t,n){if(typeof n!=`function`){t.handler=void 0,t.observer!==void 0&&(t.observer.disconnect(),t.observer=void 0);return}t.handler=n,t.observer===void 0&&(t.observer=new MutationObserver(n=>{(t.handler(n)===!1||t.once===!0)&&bn(e)}),t.observer.observe(e,t.opts))}function bn(e){let t=e.__qmutation;t!==void 0&&(t.observer?.disconnect(),e.__qmutation=void 0)}var xn=se({name:`mutation`,mounted(e,{modifiers:{once:t,...n},value:r}){let i={once:t,opts:Object.keys(n).length===0?vn:n};yn(e,i,r),e.__qmutation=i},updated(e,{oldValue:t,value:n}){if(t!==n){let t=e.__qmutation;t!==void 0&&yn(e,t,n)}},beforeUnmount:bn}),Sn={class:`horizontal-scroll-body`},Cn=[`tabindex`,`aria-label`],wn=W(_({__name:`HorizontalScrollBody`,props:{label:{},resetKey:{}},setup(e){let t=e,n=h(`viewport`),r=h(`bar`),i=O(0),a=O(!1),c=O(0),f=!1,m=!0,_=0;function v(){let e=n.value;e&&!f&&m&&(i.value=e.scrollWidth,a.value=e.scrollWidth>e.clientWidth+1,a.value&&e.scrollWidth>c.value&&(c.value=e.scrollWidth))}o(()=>t.resetKey??[],async(e,t)=>{if(ve(e,t))return;let i=++_;f=!0,c.value=0,await p(),m&&i===_&&(f=!1,v(),await p(),m&&i===_&&b(n.value,r.value))}),o([i,a],()=>b(n.value,r.value),{flush:`post`});function b(e,t){e&&t&&t.scrollLeft!==e.scrollLeft&&(t.scrollLeft=e.scrollLeft)}return l(()=>{m=!1,_++}),(t,o)=>(d(),x(`div`,Sn,[g((d(),x(`div`,{ref_key:`viewport`,ref:n,class:`horizontal-scroll-body__viewport`,tabindex:a.value?0:void 0,role:`group`,"aria-label":e.label,onScroll:o[0]||=e=>b(n.value,r.value)},[y(`div`,{class:`horizontal-scroll-body__content`,style:u(c.value?{"--content-width":`${c.value}px`}:void 0)},[s(t.$slots,`default`,{},void 0,!0)],4),C(Oe,{debounce:0,onResize:v})],40,Cn)),[[xn,v,void 0,{childList:!0,subtree:!0,characterData:!0}]]),g(y(`div`,{ref_key:`bar`,ref:r,class:`horizontal-scroll-body__bar`,"aria-hidden":`true`,tabindex:`-1`,onScroll:o[1]||=e=>b(r.value,n.value)},[y(`div`,{style:u({width:`${i.value}px`,height:`1px`})},null,4)],544),[[ie,a.value]])]))}}),[[`__scopeId`,`data-v-a1552724`]]),Tn={role:`alert`},En={class:`text-caption`},Dn=_({__name:`LoadErrorBanner`,props:{title:{},message:{},loading:{type:Boolean}},emits:[`retry`],setup(e,{emit:t}){let n=t,{t:r}=z();return(t,i)=>(d(),E(xe,{dense:``,class:`bg-negative text-white`,role:`none`},{action:a(()=>[C(L,{flat:``,dense:``,color:`white`,label:k(r)(`changes.retry`),loading:e.loading,onClick:i[0]||=e=>n(`retry`)},null,8,[`label`,`loading`])]),default:a(()=>[y(`div`,Tn,[D(T(e.title)+` `,1),y(`div`,En,T(e.message),1)])]),_:1}))}}),On={key:0,class:`text-caption text-grey-6 q-pa-md q-mb-none`},kn={key:1,class:`text-caption text-grey-6 q-pa-md q-mb-none`},An=W(_({__name:`DiffFileCardBody`,props:{file:{},path:{},viewMode:{},wrap:{type:Boolean},hunkTokens:{},hunksState:{default:`ready`},hunksError:{default:void 0},holdForTokens:{type:Boolean,default:!1},loadingHeight:{default:0},commentable:{type:Boolean,default:!1},commentsEditable:{type:Boolean},commentsOnly:{type:Boolean},comments:{default:()=>[]}},emits:[`retry-hunks`],setup(e,{emit:t}){let n=e,r=t,{t:o}=z(),s=j(()=>n.hunksState===`ready`&&n.holdForTokens),c=j(()=>n.comments.filter(e=>e.lineType!==null)),l=j(()=>n.comments.filter(e=>e.lineType===null)),f=At(),p=b(null),m=j(()=>{if(n.commentsOnly)return[];let e=Ze(c.value);return n.file.hunks.map(t=>{let r=J({start:0,rows:t.lines},{comments:t=>Qe(t,e),hasForm:e=>tn(f.value,e),owner:t,wrap:n.wrap,commentsEditable:!!n.commentsEditable,slot:`hunk`,cacheHeight:!1});return{...r,queued:!1,minHeight:tt(t,r.minHeight)}})});return(t,n)=>(d(),E(wn,{class:`diff-file-card__body`,label:e.path,"reset-key":[e.path,e.viewMode,e.wrap,e.viewMode===`full`?p.value:e.file]},{default:a(()=>[e.viewMode===`full`?(d(),E(_n,{key:0,path:e.path,commentable:e.commentable,"comments-editable":e.commentsEditable,comments:l.value,wrap:e.wrap,onContentVersion:n[0]||=e=>p.value=e},null,8,[`path`,`commentable`,`comments-editable`,`comments`,`wrap`])):(d(),x(A,{key:1},[e.file.isBinary?(d(),x(`p`,On,T(k(o)(`changes.binaryFile`)),1)):e.hunksState===`loading`||s.value?(d(),x(`div`,{key:1,class:`diff-file-card__loading row flex-center`,style:u({minHeight:`${e.loadingHeight}px`})},[C(le,{size:`md`,color:`grey-6`,"aria-label":k(o)(`changes.hunksLoading`)},null,8,[`aria-label`])],4)):(d(),x(A,{key:2},[e.hunksState===`error`?(d(),E(Dn,{key:0,title:k(o)(`changes.hunksLoadError`),message:e.hunksError??``,loading:!1,onRetry:n[1]||=e=>r(`retry-hunks`)},null,8,[`title`,`message`])):e.file.hunks.length===0?(d(),x(`p`,kn,T(k(o)(`changes.noTextChanges`)),1)):M(``,!0)],64)),(d(!0),x(A,null,i(s.value?[]:e.file.hunks,(t,n)=>(d(),E(P(e.commentsOnly?`div`:$),N({key:`${t.oldStart}:${t.newStart}`},{ref_for:!0},m.value[n]??{}),{default:a(()=>[C(an,{path:e.path,hunk:t,"line-tokens":e.hunkTokens?.[n]??null,commentable:e.commentable,"comments-editable":e.commentsEditable,comments:c.value,"comments-only":e.commentsOnly,wrap:e.wrap},null,8,[`path`,`hunk`,`line-tokens`,`commentable`,`comments-editable`,`comments`,`comments-only`,`wrap`])]),_:2},1040))),128))],64))]),_:1},8,[`label`,`reset-key`]))}}),[[`__scopeId`,`data-v-5d547d15`]]),jn=_({__name:`CopyButton`,props:{value:{},tooltip:{}},setup(t){let n=t,r=O(!1),{registerTimeout:i}=de(),o=0;function s(){o++,r.value=!1}l(s),e(s);async function c(){let e=o;try{if(await Ee(n.value),e!==o)return;r.value=!0,i(()=>{r.value=!1},De)}catch{}}return(e,n)=>g((d(),E(L,{flat:``,dense:``,round:``,size:`sm`,color:r.value?`positive`:void 0,icon:r.value?`check`:`content_copy`,"aria-label":t.tooltip,onClick:F(c,[`stop`])},{default:a(()=>[C(R,{delay:k(500)},{default:a(()=>[D(T(t.tooltip),1)]),_:1},8,[`delay`])]),_:1},8,[`color`,`icon`,`aria-label`])),[[ue]])}}),Mn={class:`file-card-header row items-center no-wrap`},Nn={class:`file-card-header__name row items-center no-wrap`},Pn={class:`ellipsis text-mono file-card-header__path`},Fn=W(_({__name:`FileCardHeader`,props:{path:{}},setup(e){let{t}=z();return(n,r)=>(d(),x(`div`,Mn,[s(n.$slots,`leading`,{},void 0,!0),y(`div`,Nn,[y(`span`,Pn,T(e.path),1),C(jn,{value:e.path,tooltip:k(t)(`common.copyPath`)},null,8,[`value`,`tooltip`]),s(n.$slots,`badges`,{},void 0,!0)]),C(B),s(n.$slots,`default`,{},void 0,!0)]))}}),[[`__scopeId`,`data-v-28b34b1f`]]),In=_({__name:`FileHeaderMenu`,props:t({path:{},diffSource:{},previewRef:{}},{modelValue:{type:Boolean,required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=m(e,`modelValue`),n=e,{t:r}=z(),i=ye(),o=ze(),s=j(()=>/\.(md|markdown)$/i.test(n.path??``)),c=Te();function l(){if(!n.path)return;let e=n.previewRef??(n.diffSource===`staged`?`INDEX`:`WORKTREE`);c.open(`markdown`,{type:`file`,path:n.path,ref:e},{title:`${n.path} · ${e}`})}function u(){n.path&&o({kind:`file`,path:n.path})}function f(){n.path&&n.diffSource&&o({kind:`diff`,source:n.diffSource,path:n.path})}return(n,o)=>g((d(),E(L,{flat:``,round:``,dense:``,size:`sm`,icon:`more_vert`,"aria-label":k(r)(`changes.fileActions`)},{default:a(()=>[C(Ce,null,{default:a(()=>[C(we,{dense:``,class:`agent-menu`},{default:a(()=>[g((d(),E(H,{clickable:``,onClick:o[0]||=e=>t.value=!t.value},{default:a(()=>[C(V,{side:``},{default:a(()=>[C(I,{name:t.value?`check_box`:`check_box_outline_blank`},null,8,[`name`])]),_:1}),C(V,null,{default:a(()=>[D(T(k(r)(`changes.wrapLines`)),1)]),_:1})]),_:1})),[[U]]),s.value&&e.path?g((d(),E(H,{key:0,clickable:``,onClick:l},{default:a(()=>[C(V,{side:``},{default:a(()=>[C(I,{name:`visibility`})]),_:1}),C(V,null,{default:a(()=>[D(T(k(r)(`changes.previewMarkdown`)),1)]),_:1})]),_:1})),[[U]]):M(``,!0),k(i).enabled&&e.path?(d(),x(A,{key:1},[C(fe),e.diffSource?g((d(),E(H,{key:0,clickable:``,onClick:f},{default:a(()=>[C(V,{side:``},{default:a(()=>[C(I,{name:k(Se)},null,8,[`name`])]),_:1}),C(V,null,{default:a(()=>[D(T(k(r)(`agent.context.addDiff`)),1)]),_:1})]),_:1})),[[U]]):M(``,!0),g((d(),E(H,{clickable:``,onClick:u},{default:a(()=>[C(V,{side:``},{default:a(()=>[C(I,{name:k(Se)},null,8,[`name`])]),_:1}),C(V,null,{default:a(()=>[D(T(k(r)(`agent.context.addFile`)),1)]),_:1})]),_:1})),[[U]])],64)):M(``,!0)]),_:1})]),_:1})]),_:1},8,[`aria-label`])),[[ue]])}}),Ln={class:`diff-file-card__status-section`},Rn={class:`text-caption diff-file-card__stats`},zn={class:`text-positive`},Bn={class:`text-negative q-ml-xs`},Vn=W(_({__name:`DiffFileCardHeader`,props:t({path:{},status:{},additions:{},deletions:{},expanded:{type:Boolean},commentCount:{},fullFileToggle:{type:Boolean},agentSource:{},previewRef:{}},{showFullFile:{type:Boolean,required:!0},showFullFileModifiers:{},wrap:{type:Boolean,required:!0},wrapModifiers:{}}),emits:t([`toggle`],[`update:showFullFile`,`update:wrap`]),setup(e){let t={added:`positive`,modified:`warning`,deleted:`negative`,renamed:`purple`},r=m(e,`showFullFile`),i=m(e,`wrap`),{t:o}=z();return(s,c)=>g((d(),E(H,{clickable:``,dense:``,class:`diff-file-card__header-item`,onClick:c[4]||=e=>s.$emit(`toggle`)},{default:a(()=>[C(Fn,{path:e.path},{leading:a(()=>[C(I,{name:`chevron_right`,size:`xs`,class:n([`diff-file-card__chevron`,{"diff-file-card__chevron--expanded":e.expanded}])},null,8,[`class`])]),badges:a(()=>[C(He,{compact:``,count:e.commentCount},null,8,[`count`])]),default:a(()=>[e.fullFileToggle?(d(),x(`div`,{key:0,class:`diff-file-card__toggle-section`,onClick:c[1]||=F(()=>{},[`stop`])},[C(pe,{modelValue:r.value,"onUpdate:modelValue":c[0]||=e=>r.value=e,"left-label":``,dense:``,size:`xs`,label:k(o)(`changes.showFullFile`)},null,8,[`modelValue`,`label`])])):M(``,!0),y(`div`,Ln,[C(G,{color:t[e.status],outline:``,rounded:``},{default:a(()=>[D(T(k(o)(`changes.fileStatus.${e.status}`)),1)]),_:1},8,[`color`])]),y(`span`,Rn,[y(`span`,zn,`+`+T(e.additions),1),y(`span`,Bn,`-`+T(e.deletions),1)]),y(`div`,{onClick:c[3]||=F(()=>{},[`stop`])},[C(In,{modelValue:i.value,"onUpdate:modelValue":c[2]||=e=>i.value=e,path:e.path,"diff-source":e.agentSource,"preview-ref":r.value?`WORKTREE`:e.previewRef},null,8,[`modelValue`,`path`,`diff-source`,`preview-ref`])])]),_:1},8,[`path`])]),_:1})),[[ue]])}}),[[`__scopeId`,`data-v-bbcc3e58`]]),Hn={class:`file-card-frame`},Un=W(_({__name:`FileCardFrame`,props:{stickyHeader:{type:Boolean}},setup(e){return(t,r)=>(d(),x(`div`,Hn,[y(`div`,{class:n([`file-card-frame__header`,{"file-card-frame__header--sticky":e.stickyHeader}])},[s(t.$slots,`header`,{},void 0,!0)],2),s(t.$slots,`default`,{},void 0,!0)]))}}),[[`__scopeId`,`data-v-4e9fd541`]]);function Wn(e){if(!e.some(e=>e.preamble&&e.preamble.length>0))return{lines:e.flatMap(e=>e.lines.map(e=>e.content)),documents:void 0};let t=[],n=[];for(let r of e){let e=r.preamble??[];t.push(...e,...r.lines.map(e=>e.content)),n.push({length:e.length+r.lines.length,skip:e.length})}return{lines:t,documents:n}}function Gn(e,t){let{tokens:n,holdForTokens:r}=un(()=>{let t=ee(S(e));if(!t.hunks.some(e=>e.lines.length>0))return null;let n,r=()=>n??=Wn(t.hunks);return{key:t,path:K(t),lines:()=>r().lines,documents:()=>r().documents}},t);return{hunkTokens:j(()=>{let t=n.value;if(!t)return null;let r=0;return S(e).hunks.map(e=>{let n=t.slice(r,r+e.lines.length);return r+=e.lines.length,n})}),holdForTokens:r}}function Kn(e){let t=O(!1);return o(()=>S(e.expanded),n=>{n||(t.value=!1,e.onCollapsed?.())}),o([()=>S(e.expanded)&&t.value&&!S(e.loaded)&&!S(e.error),()=>S(e.version)],([t])=>{t&&e.onNeeded()},{immediate:!0}),{bodyMounted:t}}var qn=W(_({__name:`DiffFileCard`,props:{file:{},expanded:{type:Boolean},commentable:{type:Boolean,default:!1},comments:{default:()=>[]},commentsOnly:{type:Boolean},commentsEditable:{type:Boolean},agentSource:{},previewRef:{},stateKey:{},detail:{},hunksLoaded:{type:Boolean,default:!0},hunksError:{},noFullFile:{type:Boolean,default:!1}},emits:[`toggle`,`load-hunks`,`retry-hunks`,`clear-hunks-error`,`expand`],setup(e,{emit:t}){let n=e,i=t,s=j(()=>K(n.file)),c=j(()=>n.detail??n.file),l=h(`frame`),u=We();async function f(){let e=l.value?.$el,t=e instanceof Element?u(e):null,r=n.expanded&&e instanceof Element&&t!==null&&qe(t,e);i(`toggle`),r&&(await p(),!n.expanded&&(t.scrollTop=Je(t,e)))}r(Ot,n.stateKey);let m=n.stateKey?{key:n.stateKey}:{local:!0},g=Q(`wrap`,()=>Nt(s.value),m),_=Q(`viewMode`,()=>`diff`,m);o(()=>n.file.status,e=>{e===`deleted`&&_.reset()},{immediate:!0});let v=j(()=>rt(n.file,n.detail)),{bodyMounted:y}=Kn({expanded:()=>n.expanded,loaded:()=>n.hunksLoaded,error:()=>n.hunksError,version:()=>n.file,onNeeded:()=>i(`load-hunks`),onCollapsed:()=>i(`clear-hunks-error`)}),b=j(()=>n.hunksLoaded?`ready`:n.hunksError?`error`:n.detail?`ready`:`loading`),{hunkTokens:x,holdForTokens:S}=Gn(c,()=>n.expanded&&_.value===`diff`&&(n.detail!==void 0||n.hunksLoaded)),w=j({get:()=>_.value===`full`,set:e=>{e?(_.value=`full`,n.expanded||i(`expand`)):n.expanded&&(_.value=`diff`)}});return(t,n)=>(d(),E(Un,{id:`diff-file-${s.value}`,ref_key:`frame`,ref:l,"sticky-header":``,class:`diff-file-card`},{header:a(()=>[C(Vn,{"show-full-file":w.value,"onUpdate:showFullFile":n[0]||=e=>w.value=e,wrap:k(g),"onUpdate:wrap":n[1]||=e=>re(g)?g.value=e:null,path:s.value,status:e.file.status,additions:e.file.additions,deletions:e.file.deletions,expanded:e.expanded,"comment-count":e.comments.length,"full-file-toggle":!e.noFullFile&&e.file.status!==`deleted`,"agent-source":e.agentSource,"preview-ref":e.previewRef,onToggle:f},null,8,[`show-full-file`,`wrap`,`path`,`status`,`additions`,`deletions`,`expanded`,`comment-count`,`full-file-toggle`,`agent-source`,`preview-ref`])]),default:a(()=>[e.expanded?(d(),E($,{key:0,immediate:``,"min-height":v.value,onChange:n[3]||=e=>y.value=e},{default:a(()=>[C(An,{file:c.value,path:s.value,"view-mode":k(_),wrap:k(g),"hunk-tokens":k(x),"hunks-state":b.value,"hold-for-tokens":k(S),"hunks-error":e.hunksError,"loading-height":v.value,commentable:e.commentable,"comments-editable":e.commentsEditable,"comments-only":e.commentsOnly,comments:e.comments,onRetryHunks:n[2]||=e=>i(`retry-hunks`)},null,8,[`file`,`path`,`view-mode`,`wrap`,`hunk-tokens`,`hunks-state`,`hold-for-tokens`,`hunks-error`,`loading-height`,`commentable`,`comments-editable`,`comments-only`,`comments`])]),_:1},8,[`min-height`])):M(``,!0)]),_:1},8,[`id`]))}}),[[`__scopeId`,`data-v-1c09c45f`]]),Jn={class:`row q-gutter-x-sm no-wrap`},Yn=_({__name:`StatusSwitcher`,props:{status:{}},emits:[`change`],setup(e,{emit:t}){let n=[{value:`in_progress`,color:`grey-7`},{value:`approved`,color:`primary`},{value:`changes_requested`,color:`warning`}],r=e,a=t,{t:o}=z(),s=oe();function c(e){e.value!==r.status&&s.dialog({title:o(`reviews.confirmStatusChange.title`),message:o(`reviews.confirmStatusChange.message`,{status:o(`reviews.status.${e.value}`)}),persistent:!0,ok:{label:o(`reviews.confirmStatusChange.ok`),color:`accent`},cancel:{label:o(`reviews.confirmStatusChange.cancel`),flat:!0}}).onOk(()=>{a(`change`,e.value)})}return(t,r)=>(d(),x(`div`,Jn,[(d(),x(A,null,i(n,t=>C(L,{key:t.value,dense:``,size:`sm`,padding:`2px 8px`,"no-caps":``,outline:e.status!==t.value,unelevated:e.status===t.value,color:t.color,label:k(o)(`reviews.status.${t.value}`),onClick:e=>c(t)},null,8,[`outline`,`unelevated`,`color`,`label`,`onClick`])),64))]))}});export{Ye as _,Fn as a,He as b,Nt as c,Q as d,wt as f,rt as g,it as h,In as i,Mt as l,ot as m,qn as n,Dn as o,vt as p,Un as r,fn as s,Yn as t,At as u,Ue as v,Ve as x,We as y};