@piwitests/server 0.19.0 → 0.20.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 (418) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/_nuxt/{eptP4pGv.js → -f7BAm1H.js} +1 -1
  3. package/.output/public/_nuxt/{Bti38m-M.js → 4gYNA-d4.js} +1 -1
  4. package/.output/public/_nuxt/{CHEFCN8Q.js → 5A6ITZXj.js} +1 -1
  5. package/.output/public/_nuxt/{DoUy4UHi.js → 8PUUncmO.js} +2 -2
  6. package/.output/public/_nuxt/{DS636elg.js → A1pj0VnG.js} +1 -1
  7. package/.output/public/_nuxt/{B9WhzpKO.js → AbmKWFQQ.js} +1 -1
  8. package/.output/public/_nuxt/{rWNTSFD6.js → B3obW6cw.js} +3 -3
  9. package/.output/public/_nuxt/{Bu2aaVIY.js → B7FTvFWq.js} +1 -1
  10. package/.output/public/_nuxt/{CpjgB2aY.js → B8zkOmwo.js} +1 -1
  11. package/.output/public/_nuxt/B96M2gdj.js +1 -0
  12. package/.output/public/_nuxt/{FUXhyidq.js → B99fbi73.js} +1 -1
  13. package/.output/public/_nuxt/{DslPMqfa.js → B9OLmp0f.js} +1 -1
  14. package/.output/public/_nuxt/{BccXfBfI.js → BKkF4pPD.js} +1 -1
  15. package/.output/public/_nuxt/{DP8hfJ9h.js → BT3wGCTI.js} +1 -1
  16. package/.output/public/_nuxt/{B3B9Ii2A.js → BUa0V0Ly.js} +1 -1
  17. package/.output/public/_nuxt/{B3HO8kuh.js → BUkim3TM.js} +1 -1
  18. package/.output/public/_nuxt/{BVaxh6Nl.js → BVc14Ncz.js} +3 -3
  19. package/.output/public/_nuxt/{DW0xl3I6.js → BY0HxR3t.js} +1 -1
  20. package/.output/public/_nuxt/B_xAMWQS.js +2 -0
  21. package/.output/public/_nuxt/{C2_3mdPC.js → BdQoBaOv.js} +1 -1
  22. package/.output/public/_nuxt/{DT53RWbC.js → BdfhYr-u.js} +1 -1
  23. package/.output/public/_nuxt/{CtQBsNUb.js → BgRu_3tT.js} +1 -1
  24. package/.output/public/_nuxt/{SlIRLREZ.js → BiO7RBWb.js} +1 -1
  25. package/.output/public/_nuxt/BicAJ6U8.js +1 -0
  26. package/.output/public/_nuxt/{C7P1UCO2.js → Bm62iDV5.js} +1 -1
  27. package/.output/public/_nuxt/{CZfMdzfk.js → BmUfSNMV.js} +1 -1
  28. package/.output/public/_nuxt/{tvgqrYDd.js → Bnxf8nbZ.js} +1 -1
  29. package/.output/public/_nuxt/{ndShiWE8.js → Bow4tTR0.js} +1 -1
  30. package/.output/public/_nuxt/{D0HNloZ9.js → BrQEE053.js} +1 -1
  31. package/.output/public/_nuxt/{CV9-fTmY.js → BzRRzmwm.js} +1 -1
  32. package/.output/public/_nuxt/{DprVVyUQ.js → C0_yH0N7.js} +1 -1
  33. package/.output/public/_nuxt/{DLSrtpsA.js → C1gTN4Q8.js} +1 -1
  34. package/.output/public/_nuxt/{ClOqkAcc.js → C2hkrSey.js} +1 -1
  35. package/.output/public/_nuxt/{ZFiQCMUB.js → C8e1EbJI.js} +1 -1
  36. package/.output/public/_nuxt/{nv9-6vBK.js → CA9B2HE5.js} +1 -1
  37. package/.output/public/_nuxt/{KnfsST6Y.js → CAAwCT7H.js} +1 -1
  38. package/.output/public/_nuxt/{ybDYeNxd.js → CAvY22RE.js} +1 -1
  39. package/.output/public/_nuxt/{C5iG7O4O.js → CEfS4-oS.js} +1 -1
  40. package/.output/public/_nuxt/{Bp5ELvx9.js → CIoSMkpp.js} +1 -1
  41. package/.output/public/_nuxt/{C95YAaJq.js → CIrFl3MW.js} +1 -1
  42. package/.output/public/_nuxt/{DiOLdHBC.js → CJFtzlQ4.js} +1 -1
  43. package/.output/public/_nuxt/{BX9ZXe98.js → CNyV9YpI.js} +1 -1
  44. package/.output/public/_nuxt/CSJ-eOQM.js +1 -0
  45. package/.output/public/_nuxt/{fVcG504p.js → CTU1mrhq.js} +1 -1
  46. package/.output/public/_nuxt/{279D2RYp.js → CXEH9OPk.js} +1 -1
  47. package/.output/public/_nuxt/CahpB9Z2.js +5 -0
  48. package/.output/public/_nuxt/{B7NBP1C-.js → Cbh--1MW.js} +1 -1
  49. package/.output/public/_nuxt/CeG9pBAD.js +1 -0
  50. package/.output/public/_nuxt/{D55D4EYo.js → CeW8v31b.js} +1 -1
  51. package/.output/public/_nuxt/{BuMC3WjZ.js → CjPfj7ya.js} +1 -1
  52. package/.output/public/_nuxt/{HXerICAi.js → Cnsmicv2.js} +1 -1
  53. package/.output/public/_nuxt/{DgE2YE3R.js → CsLojMwR.js} +1 -1
  54. package/.output/public/_nuxt/{C9_jrmk9.js → Cus22Ud3.js} +2 -2
  55. package/.output/public/_nuxt/{DX-MDGb3.js → CwGWJbiy.js} +1 -1
  56. package/.output/public/_nuxt/{BJ0XQElc.js → Cx6gc2VW.js} +1 -1
  57. package/.output/public/_nuxt/{cHAnlQbv.js → CxyAzHr3.js} +1 -1
  58. package/.output/public/_nuxt/{BxCKKeYs.js → CzAPFPpL.js} +1 -1
  59. package/.output/public/_nuxt/{B33iXw77.js → D--H4jLI.js} +1 -1
  60. package/.output/public/_nuxt/D1POo6S4.js +10 -0
  61. package/.output/public/_nuxt/{BDicZ1gQ.js → D5tke0B5.js} +1 -1
  62. package/.output/public/_nuxt/D8nkF-OO.js +3 -0
  63. package/.output/public/_nuxt/{CzGyac8q.js → DA25RkyK.js} +1 -1
  64. package/.output/public/_nuxt/{CUtJobDm.js → DIB-5fUJ.js} +1 -1
  65. package/.output/public/_nuxt/{BPRffDuo.js → DJmoLeVt.js} +1 -1
  66. package/.output/public/_nuxt/{DGfAxLHV.js → DJxlKFGb.js} +1 -1
  67. package/.output/public/_nuxt/{81InBX9v.js → DMec-OLo.js} +1 -1
  68. package/.output/public/_nuxt/{CK_2LZBS.js → DPCxhHri.js} +1 -1
  69. package/.output/public/_nuxt/{Bn0YQDyy.js → DSqHUrvO.js} +1 -1
  70. package/.output/public/_nuxt/{BqV0l12c.js → DabzhQB1.js} +1 -1
  71. package/.output/public/_nuxt/{BfTuX0wq.js → DdwHkKfV.js} +1 -1
  72. package/.output/public/_nuxt/{C-elpgyr.js → DeY2JkR2.js} +1 -1
  73. package/.output/public/_nuxt/{DEFEpYzn.js → DfgOx_ou.js} +1 -1
  74. package/.output/public/_nuxt/DmkUdSS4.js +1 -0
  75. package/.output/public/_nuxt/{Ar3IelOY.js → DoIREDVb.js} +1 -1
  76. package/.output/public/_nuxt/DpZ1r1HA.js +1 -0
  77. package/.output/public/_nuxt/{Jo8kRmHz.js → Dpd16JVI.js} +1 -1
  78. package/.output/public/_nuxt/{BSIxhGsh.js → DqcKngf3.js} +1 -1
  79. package/.output/public/_nuxt/{BMvCSA6h.js → DrfE8IY0.js} +1 -1
  80. package/.output/public/_nuxt/{eaVkJRSa.js → DsesNydr.js} +1 -1
  81. package/.output/public/_nuxt/{zQyPuvV1.js → DtHJgCS8.js} +1 -1
  82. package/.output/public/_nuxt/Dtd4rC58.js +9 -0
  83. package/.output/public/_nuxt/{NQikbhmK.js → Du2W7Jne.js} +37 -36
  84. package/.output/public/_nuxt/{CDk0q2hV.js → DuwtTfO8.js} +1 -1
  85. package/.output/public/_nuxt/{B44A4LSJ.js → Dy-TJ0Mt.js} +1 -1
  86. package/.output/public/_nuxt/{-09h6CA9.js → Dy86h-7P.js} +1 -1
  87. package/.output/public/_nuxt/{Cdff9XNh.js → Dyeqn3aG.js} +1 -1
  88. package/.output/public/_nuxt/{Dnpkl-1q.js → FaFoMVKo.js} +1 -1
  89. package/.output/public/_nuxt/GPNI1ffD.js +4 -0
  90. package/.output/public/_nuxt/{BCMuIgP5.js → H94BMf3L.js} +1 -1
  91. package/.output/public/_nuxt/HPNQD6v3.js +1 -0
  92. package/.output/public/_nuxt/HXadJrHu.js +2 -0
  93. package/.output/public/_nuxt/{YVN7WG7q.js → KyA_4Ks-.js} +1 -1
  94. package/.output/public/_nuxt/{CYsTqbBS.js → L3kAWB2a.js} +1 -1
  95. package/.output/public/_nuxt/{Dk9fwOCm.js → McL25vkx.js} +2 -2
  96. package/.output/public/_nuxt/Nn93e_Mz.js +1 -0
  97. package/.output/public/_nuxt/UdR3DBPS.js +1 -0
  98. package/.output/public/_nuxt/{SfMRXW25.js → Und3xXFc.js} +1 -1
  99. package/.output/public/_nuxt/_mj6CfPa.js +1 -0
  100. package/.output/public/_nuxt/{BPQoBGg5.js → b-GYfcrQ.js} +1 -1
  101. package/.output/public/_nuxt/{DHDtnj7p.js → bLcjFslv.js} +1 -1
  102. package/.output/public/_nuxt/builds/latest.json +1 -1
  103. package/.output/public/_nuxt/builds/meta/e659b3e1-0e61-4971-940e-10063f9f4763.json +1 -0
  104. package/.output/public/_nuxt/entry.DmptwB51.css +1 -0
  105. package/.output/public/_nuxt/{y17lMTFy.js → hC_z4G8p.js} +1 -1
  106. package/.output/public/_nuxt/{CTxDO9fB.js → hNh4CIL0.js} +1 -1
  107. package/.output/public/_nuxt/{CGNkHojN.js → l5WKbU4h.js} +1 -1
  108. package/.output/public/_nuxt/{DcmZRa_F.js → oAClCn_h.js} +1 -1
  109. package/.output/public/_nuxt/{IvQlbZk6.js → pQqGiNch.js} +1 -1
  110. package/.output/public/_nuxt/ryMzSDUj.js +2 -0
  111. package/.output/server/chunks/_/collect.mjs +1 -1
  112. package/.output/server/chunks/_/markers.mjs +1 -1
  113. package/.output/server/chunks/_/quarantine.mjs +1 -1
  114. package/.output/server/chunks/_/users.mjs +1 -1
  115. package/.output/server/chunks/build/{BrowserBadge-D33lqUcj.mjs → BrowserBadge-MFvBwxmD.mjs} +66 -6
  116. package/.output/server/chunks/build/BrowserBadge-MFvBwxmD.mjs.map +1 -0
  117. package/.output/server/chunks/build/{Checkbox-DvUBGagc.mjs → Checkbox-4Q5d0fa0.mjs} +4 -4
  118. package/.output/server/chunks/build/Checkbox-4Q5d0fa0.mjs.map +1 -0
  119. package/.output/server/chunks/build/CiEnvCard-DB5DvBh1.mjs +1492 -0
  120. package/.output/server/chunks/build/CiEnvCard-DB5DvBh1.mjs.map +1 -0
  121. package/.output/server/chunks/build/CodeBlock-BgE-NSmE.mjs +1 -1
  122. package/.output/server/chunks/build/DashboardSidebarToggle-DCTnHiIv.mjs +1 -1
  123. package/.output/server/chunks/build/{DiagnosisPanel-B646dK4p.mjs → DiagnosisPanel-CALyEmcJ.mjs} +3 -3
  124. package/.output/server/chunks/build/DiagnosisPanel-CALyEmcJ.mjs.map +1 -0
  125. package/.output/server/chunks/build/{EmptyState-Dtlab7S9.mjs → EmptyState-DC2q_7TD.mjs} +3 -3
  126. package/.output/server/chunks/build/EmptyState-DC2q_7TD.mjs.map +1 -0
  127. package/.output/server/chunks/build/{EntityLinks-D3fp57pR.mjs → EntityLinks-BBHWssHH.mjs} +4 -4
  128. package/.output/server/chunks/build/EntityLinks-BBHWssHH.mjs.map +1 -0
  129. package/.output/server/chunks/build/{EnvManagedBadge-Bg3FSiU1.mjs → EnvManagedBadge-UwD2b9v2.mjs} +2 -2
  130. package/.output/server/chunks/build/EnvManagedBadge-UwD2b9v2.mjs.map +1 -0
  131. package/.output/server/chunks/build/{Modal-Ck2XLt8d.mjs → Modal-pSDlXzT3.mjs} +2 -2
  132. package/.output/server/chunks/build/Modal-pSDlXzT3.mjs.map +1 -0
  133. package/.output/server/chunks/build/{OpenInIdeLink-C4MXA8ya.mjs → OpenInIdeLink-CQWKKChd.mjs} +3 -3
  134. package/.output/server/chunks/build/{OpenInIdeLink-C4MXA8ya.mjs.map → OpenInIdeLink-CQWKKChd.mjs.map} +1 -1
  135. package/.output/server/chunks/build/{ProjectTestCasesTable-CxfQ5wtN.mjs → ProjectTestCasesTable-Bo61P5K1.mjs} +8 -8
  136. package/.output/server/chunks/build/{ProjectTestCasesTable-CxfQ5wtN.mjs.map → ProjectTestCasesTable-Bo61P5K1.mjs.map} +1 -1
  137. package/.output/server/chunks/build/{RovingFocusItem-BJSzTBjy.mjs → RovingFocusItem--OEHI2P3.mjs} +2 -2
  138. package/.output/server/chunks/build/RovingFocusItem--OEHI2P3.mjs.map +1 -0
  139. package/.output/server/chunks/build/RunReports-DFLv51TX.mjs +1 -1
  140. package/.output/server/chunks/build/{Select-CUqj50wi.mjs → Select-5DK9frQ7.mjs} +3 -3
  141. package/.output/server/chunks/build/Select-5DK9frQ7.mjs.map +1 -0
  142. package/.output/server/chunks/build/{SelectMenu-Db7osY7J.mjs → SelectMenu-D-2FSqBU.mjs} +939 -7
  143. package/.output/server/chunks/build/{SelectMenu-Db7osY7J.mjs.map → SelectMenu-D-2FSqBU.mjs.map} +1 -1
  144. package/.output/server/chunks/build/{SettingsField-D6iEYbEc.mjs → SettingsField-BZfx4ma1.mjs} +2 -2
  145. package/.output/server/chunks/build/SettingsField-BZfx4ma1.mjs.map +1 -0
  146. package/.output/server/chunks/build/{Slideover-DgCa80mf.mjs → Slideover-D270EZZD.mjs} +3 -3
  147. package/.output/server/chunks/build/Slideover-D270EZZD.mjs.map +1 -0
  148. package/.output/server/chunks/build/{Switch-CgUioOYB.mjs → Switch-B5Fp8ULt.mjs} +2 -2
  149. package/.output/server/chunks/build/Switch-B5Fp8ULt.mjs.map +1 -0
  150. package/.output/server/chunks/build/Table-BRk04Hd2.mjs +1 -1
  151. package/.output/server/chunks/build/{Tabs-Bbsg9wag.mjs → Tabs-BkSOnbaB.mjs} +2 -2
  152. package/.output/server/chunks/build/Tabs-BkSOnbaB.mjs.map +1 -0
  153. package/.output/server/chunks/build/{TestCaseHistoryChart-nMLPhdvD.mjs → TestCaseHistoryChart-CSi64vVA.mjs} +5 -5
  154. package/.output/server/chunks/build/TestCaseHistoryChart-CSi64vVA.mjs.map +1 -0
  155. package/.output/server/chunks/build/{TestStatusBar-j6h2Jp6A.mjs → TestStatusBar-DX3EhlyP.mjs} +2 -2
  156. package/.output/server/chunks/build/TestStatusBar-DX3EhlyP.mjs.map +1 -0
  157. package/.output/server/chunks/build/{Tooltip-BOazooWP.mjs → Tooltip-Dv4htNP6.mjs} +3 -3
  158. package/.output/server/chunks/build/Tooltip-Dv4htNP6.mjs.map +1 -0
  159. package/.output/server/chunks/build/{VisuallyHiddenInput-D6kBJxVd.mjs → VisuallyHiddenInput-BHvzNumK.mjs} +2 -2
  160. package/.output/server/chunks/build/VisuallyHiddenInput-BHvzNumK.mjs.map +1 -0
  161. package/.output/server/chunks/build/{_id_-z5N6HPyC.mjs → _id_-BdG37K7s.mjs} +12 -12
  162. package/.output/server/chunks/build/_id_-BdG37K7s.mjs.map +1 -0
  163. package/.output/server/chunks/build/{_id_-BHh65pfg.mjs → _id_-BdJs7BJZ.mjs} +57 -33
  164. package/.output/server/chunks/build/{_id_-BHh65pfg.mjs.map → _id_-BdJs7BJZ.mjs.map} +1 -1
  165. package/.output/server/chunks/build/{_id_-B78ky13D.mjs → _id_-BxA6IgWr.mjs} +96 -73
  166. package/.output/server/chunks/build/_id_-BxA6IgWr.mjs.map +1 -0
  167. package/.output/server/chunks/build/{_id_-Rzkqx55x.mjs → _id_-C_uSBiyU.mjs} +22 -23
  168. package/.output/server/chunks/build/{_id_-Rzkqx55x.mjs.map → _id_-C_uSBiyU.mjs.map} +1 -1
  169. package/.output/server/chunks/build/{about-CvSP73Ug.mjs → about-BE0UV-8-.mjs} +365 -18
  170. package/.output/server/chunks/build/about-BE0UV-8-.mjs.map +1 -0
  171. package/.output/server/chunks/build/{ai-B4VJ9K1K.mjs → ai-Cn05ch0u.mjs} +9 -9
  172. package/.output/server/chunks/build/{ai-B4VJ9K1K.mjs.map → ai-Cn05ch0u.mjs.map} +1 -1
  173. package/.output/server/chunks/build/{analytics-CJPC6t4L.mjs → analytics-Bo_B_jko.mjs} +20 -21
  174. package/.output/server/chunks/build/analytics-Bo_B_jko.mjs.map +1 -0
  175. package/.output/server/chunks/build/client.precomputed.mjs +1 -1
  176. package/.output/server/chunks/build/{default-zvbFgDJG.mjs → default-CbNHaFsy.mjs} +603 -71
  177. package/.output/server/chunks/build/default-CbNHaFsy.mjs.map +1 -0
  178. package/.output/server/chunks/build/{docs-DyuVEgtB.mjs → docs-B_llWMxx.mjs} +6 -6
  179. package/.output/server/chunks/build/{docs-DyuVEgtB.mjs.map → docs-B_llWMxx.mjs.map} +1 -1
  180. package/.output/server/chunks/build/{edit-CFR5g2Qf.mjs → edit-J0asTFg8.mjs} +4 -5
  181. package/.output/server/chunks/build/edit-J0asTFg8.mjs.map +1 -0
  182. package/.output/server/chunks/build/fetch-B4FwBOzu.mjs +1 -1
  183. package/.output/server/chunks/build/{import-CZo3djDi.mjs → import-CS9oylTN.mjs} +4 -4
  184. package/.output/server/chunks/build/import-CS9oylTN.mjs.map +1 -0
  185. package/.output/server/chunks/build/{index-Stqw0dEI.mjs → index-DE45ycdZ.mjs} +9 -9
  186. package/.output/server/chunks/build/index-DE45ycdZ.mjs.map +1 -0
  187. package/.output/server/chunks/build/{index-gCw_y4ZJ.mjs → index-e9skCi-V.mjs} +10 -11
  188. package/.output/server/chunks/build/{index-gCw_y4ZJ.mjs.map → index-e9skCi-V.mjs.map} +1 -1
  189. package/.output/server/chunks/build/{index-D7fe97l3.mjs → index-hGHlmyxj.mjs} +299 -91
  190. package/.output/server/chunks/build/index-hGHlmyxj.mjs.map +1 -0
  191. package/.output/server/chunks/build/isValueEqualOrExist-D2qw9YEr.mjs +1 -1
  192. package/.output/server/chunks/build/login-Da4u1IlW.mjs +1 -1
  193. package/.output/server/chunks/build/{mcp-B3IUvRgD.mjs → mcp-uhVCCwQM.mjs} +339 -10
  194. package/.output/server/chunks/build/mcp-uhVCCwQM.mjs.map +1 -0
  195. package/.output/server/chunks/build/{notifications-abDv0id8.mjs → notifications-fx_qnKGA.mjs} +4 -4
  196. package/.output/server/chunks/build/notifications-fx_qnKGA.mjs.map +1 -0
  197. package/.output/server/chunks/build/{pr-feedback-DjZID6q-.mjs → pr-feedback-X6-70iF0.mjs} +3 -3
  198. package/.output/server/chunks/build/pr-feedback-X6-70iF0.mjs.map +1 -0
  199. package/.output/server/chunks/build/server.mjs +24 -24
  200. package/.output/server/chunks/build/{settings-Du7YqF8i.mjs → settings-CCYe7rsc.mjs} +3 -3
  201. package/.output/server/chunks/build/settings-CCYe7rsc.mjs.map +1 -0
  202. package/.output/server/chunks/build/{storage-B4vzxd8G.mjs → storage-CJEmviCD.mjs} +5 -5
  203. package/.output/server/chunks/build/storage-CJEmviCD.mjs.map +1 -0
  204. package/.output/server/chunks/build/{test-cases-DUvaO1He.mjs → test-cases-thBbAykw.mjs} +9 -9
  205. package/.output/server/chunks/build/test-cases-thBbAykw.mjs.map +1 -0
  206. package/.output/server/chunks/build/{useAiStatus-CWvIo32Q.mjs → useAiStatus-CxjMmDDY.mjs} +8 -8
  207. package/.output/server/chunks/build/useAiStatus-CxjMmDDY.mjs.map +1 -0
  208. package/.output/server/chunks/build/{useCopyRich-BemRsKgv.mjs → useCopyRich-RJKhWoyj.mjs} +74 -44
  209. package/.output/server/chunks/build/useCopyRich-RJKhWoyj.mjs.map +1 -0
  210. package/.output/server/chunks/build/{useDesktopDownload-D49JRQSw.mjs → useDesktopDownload-BepjqxOt.mjs} +2 -2
  211. package/.output/server/chunks/build/useDesktopDownload-BepjqxOt.mjs.map +1 -0
  212. package/.output/server/chunks/build/{useOpenInIde-4GFf-kdi.mjs → useOpenInIde-BbTnPhFA.mjs} +2 -2
  213. package/.output/server/chunks/build/useOpenInIde-BbTnPhFA.mjs.map +1 -0
  214. package/.output/server/chunks/build/{useSettingsNav-C3O866KC.mjs → useSettingsNav-DnQKacz8.mjs} +4 -4
  215. package/.output/server/chunks/build/useSettingsNav-DnQKacz8.mjs.map +1 -0
  216. package/.output/server/chunks/build/useTauri-Kf3HE_42.mjs +11 -0
  217. package/.output/server/chunks/build/useTauri-Kf3HE_42.mjs.map +1 -0
  218. package/.output/server/chunks/build/{wasted-time-lYkx5YO4.mjs → wasted-time-BNTPIyrC.mjs} +4 -4
  219. package/.output/server/chunks/build/wasted-time-BNTPIyrC.mjs.map +1 -0
  220. package/.output/server/chunks/nitro/nitro.mjs +3471 -2802
  221. package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
  222. package/.output/server/chunks/routes/__piwi/session.get.mjs +1 -1
  223. package/.output/server/chunks/routes/api/desktop/import-local.post.mjs +88 -0
  224. package/.output/server/chunks/routes/api/desktop/import-local.post.mjs.map +1 -0
  225. package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs +1 -1
  226. package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs +1 -1
  227. package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs +1 -1
  228. package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs +1 -1
  229. package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs +1 -1
  230. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs +1 -1
  231. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs +1 -1
  232. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs +1 -1
  233. package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs +1 -1
  234. package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs +1 -1
  235. package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs +1 -1
  236. package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs +1 -1
  237. package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs +1 -1
  238. package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs +1 -1
  239. package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs +1 -1
  240. package/.output/server/chunks/routes/api/files/_...path_.get.mjs +1 -1
  241. package/.output/server/chunks/routes/api/health.get.mjs +1 -1
  242. package/.output/server/chunks/routes/api/index.get2.mjs +1 -1
  243. package/.output/server/chunks/routes/api/index.get3.mjs +1 -1
  244. package/.output/server/chunks/routes/api/index.get4.mjs +1 -1
  245. package/.output/server/chunks/routes/api/index.post2.mjs +1 -1
  246. package/.output/server/chunks/routes/api/index.post3.mjs +1 -1
  247. package/.output/server/chunks/routes/api/index.post4.mjs +1 -1
  248. package/.output/server/chunks/routes/api/index.post5.mjs +1 -1
  249. package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs +1 -1
  250. package/.output/server/chunks/routes/api/links/_id_.delete.mjs +1 -1
  251. package/.output/server/chunks/routes/api/links/_id_.patch.mjs +1 -1
  252. package/.output/server/chunks/routes/api/markers/_id_.delete.mjs +1 -1
  253. package/.output/server/chunks/routes/api/markers/_id_.put.mjs +1 -1
  254. package/.output/server/chunks/routes/api/notifications/stream.get.mjs +1 -1
  255. package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs +1 -1
  256. package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs +1 -1
  257. package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs +1 -1
  258. package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs +1 -1
  259. package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs +1 -1
  260. package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs +1 -1
  261. package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs +1 -1
  262. package/.output/server/chunks/routes/api/projects/_id/members.get.mjs +1 -1
  263. package/.output/server/chunks/routes/api/projects/_id/members.put.mjs +1 -1
  264. package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs +1 -1
  265. package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs +1 -1
  266. package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs +1 -1
  267. package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs +1 -1
  268. package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs +1 -1
  269. package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs +1 -1
  270. package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs +1 -1
  271. package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs +1 -1
  272. package/.output/server/chunks/routes/api/projects/_id_.delete.mjs +1 -1
  273. package/.output/server/chunks/routes/api/projects/_id_.get.mjs +1 -1
  274. package/.output/server/chunks/routes/api/projects/_id_.put.mjs +1 -1
  275. package/.output/server/chunks/routes/api/projects/menu.get.mjs +1 -1
  276. package/.output/server/chunks/routes/api/projects/overview.get.mjs +1 -1
  277. package/.output/server/chunks/routes/api/projects.get.mjs +1 -1
  278. package/.output/server/chunks/routes/api/search.get.mjs +1 -1
  279. package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs +1 -1
  280. package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs +1 -1
  281. package/.output/server/chunks/routes/api/settings/ai/test.post.mjs +1 -1
  282. package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs +1 -1
  283. package/.output/server/chunks/routes/api/settings/ai.get.mjs +1 -1
  284. package/.output/server/chunks/routes/api/settings/ai.put.mjs +1 -1
  285. package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs +1 -1
  286. package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs +1 -1
  287. package/.output/server/chunks/routes/api/settings/smtp.get.mjs +1 -1
  288. package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs +1 -1
  289. package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs +1 -1
  290. package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs +1 -1
  291. package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs +1 -1
  292. package/.output/server/chunks/routes/api/stream.get.mjs +1 -1
  293. package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs +1 -1
  294. package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs +1 -1
  295. package/.output/server/chunks/routes/api/tags/_id_.delete.mjs +1 -1
  296. package/.output/server/chunks/routes/api/tags/_id_.put.mjs +1 -1
  297. package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs +1 -1
  298. package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs +1 -1
  299. package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs +1 -1
  300. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs +1 -1
  301. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs +1 -1
  302. package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs +1 -1
  303. package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs +1 -1
  304. package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs +1 -1
  305. package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs +1 -1
  306. package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs +1 -1
  307. package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs +1 -1
  308. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs +5 -3
  309. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs.map +1 -1
  310. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs +1 -1
  311. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs +1 -1
  312. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs +1 -1
  313. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs +1 -1
  314. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs +1 -1
  315. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs +1 -1
  316. package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs +1 -1
  317. package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs +1 -1
  318. package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs +1 -1
  319. package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs +1 -1
  320. package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs +1 -1
  321. package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs +1 -1
  322. package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs +1 -1
  323. package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs +1 -1
  324. package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs +1 -1
  325. package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs +1 -1
  326. package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs +1 -1
  327. package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs +1 -1
  328. package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs +1 -1
  329. package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs +1 -1
  330. package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs +1 -2
  331. package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs.map +1 -1
  332. package/.output/server/chunks/routes/api/test-runs/import.post.mjs +4 -128
  333. package/.output/server/chunks/routes/api/test-runs/import.post.mjs.map +1 -1
  334. package/.output/server/chunks/routes/api/test-runs/recent.get.mjs +1 -1
  335. package/.output/server/chunks/routes/api/test-runs/setup.post.mjs +1 -1
  336. package/.output/server/chunks/routes/api/test-runs/start.post.mjs +1 -1
  337. package/.output/server/chunks/routes/api/test-runs/submit.post.mjs +1 -1
  338. package/.output/server/chunks/routes/api/test-runs/upload.post.mjs +1 -1
  339. package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs +3 -1
  340. package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs.map +1 -1
  341. package/.output/server/chunks/routes/api/traces/check.post.mjs +1 -1
  342. package/.output/server/chunks/routes/api/users/_id/index.post.mjs +1 -1
  343. package/.output/server/chunks/routes/api/users/_id/invite.post.mjs +1 -1
  344. package/.output/server/chunks/routes/api/users/_id/projects.get.mjs +1 -1
  345. package/.output/server/chunks/routes/api/users/_id/projects.put.mjs +1 -1
  346. package/.output/server/chunks/routes/api/version.get.mjs +1 -1
  347. package/.output/server/chunks/routes/mcp.post.mjs +1 -1
  348. package/.output/server/chunks/routes/renderer.mjs +1 -1
  349. package/.output/server/index.mjs +1 -1
  350. package/.output/server/package.json +1 -1
  351. package/package.json +1 -1
  352. package/.output/public/_nuxt/BYDaY0Z7.js +0 -1
  353. package/.output/public/_nuxt/Bc8mOoz9.js +0 -4
  354. package/.output/public/_nuxt/BeLWlVK0.js +0 -1
  355. package/.output/public/_nuxt/BpUaY9nH.js +0 -2
  356. package/.output/public/_nuxt/CHNwfU1y.js +0 -1
  357. package/.output/public/_nuxt/CNFYDQmj.js +0 -1
  358. package/.output/public/_nuxt/CU5S9GCh.js +0 -1
  359. package/.output/public/_nuxt/CrwJAwhk.js +0 -1
  360. package/.output/public/_nuxt/CuSVQEkS.js +0 -3
  361. package/.output/public/_nuxt/CylWPruw.js +0 -1
  362. package/.output/public/_nuxt/DDDpCFpF.js +0 -1
  363. package/.output/public/_nuxt/DVDXJYq2.js +0 -2
  364. package/.output/public/_nuxt/Dgf5N4Ng.js +0 -1
  365. package/.output/public/_nuxt/DiZyJYez.js +0 -1
  366. package/.output/public/_nuxt/OSduWzyz.js +0 -1
  367. package/.output/public/_nuxt/WsxFTEFq.js +0 -10
  368. package/.output/public/_nuxt/aQgs_c6e.js +0 -9
  369. package/.output/public/_nuxt/builds/meta/ab473028-4b37-4884-b243-b8f6e5046e5e.json +0 -1
  370. package/.output/public/_nuxt/dYCKgE-3.js +0 -5
  371. package/.output/public/_nuxt/entry.CPhW41mh.css +0 -1
  372. package/.output/public/_nuxt/g26aVPxc.js +0 -1
  373. package/.output/server/chunks/_/import-runs.mjs +0 -351
  374. package/.output/server/chunks/_/import-runs.mjs.map +0 -1
  375. package/.output/server/chunks/build/BrowserBadge-D33lqUcj.mjs.map +0 -1
  376. package/.output/server/chunks/build/Checkbox-DvUBGagc.mjs.map +0 -1
  377. package/.output/server/chunks/build/CiEnvCard-CrjOM17n.mjs +0 -631
  378. package/.output/server/chunks/build/CiEnvCard-CrjOM17n.mjs.map +0 -1
  379. package/.output/server/chunks/build/DiagnosisPanel-B646dK4p.mjs.map +0 -1
  380. package/.output/server/chunks/build/EmptyState-Dtlab7S9.mjs.map +0 -1
  381. package/.output/server/chunks/build/EntityLinks-D3fp57pR.mjs.map +0 -1
  382. package/.output/server/chunks/build/EnvManagedBadge-Bg3FSiU1.mjs.map +0 -1
  383. package/.output/server/chunks/build/Modal-Ck2XLt8d.mjs.map +0 -1
  384. package/.output/server/chunks/build/RovingFocusItem-BJSzTBjy.mjs.map +0 -1
  385. package/.output/server/chunks/build/Select-CUqj50wi.mjs.map +0 -1
  386. package/.output/server/chunks/build/SettingsField-D6iEYbEc.mjs.map +0 -1
  387. package/.output/server/chunks/build/Slideover-DgCa80mf.mjs.map +0 -1
  388. package/.output/server/chunks/build/Switch-CgUioOYB.mjs.map +0 -1
  389. package/.output/server/chunks/build/Tabs-Bbsg9wag.mjs.map +0 -1
  390. package/.output/server/chunks/build/TestCaseHistoryChart-nMLPhdvD.mjs.map +0 -1
  391. package/.output/server/chunks/build/TestStatusBar-j6h2Jp6A.mjs.map +0 -1
  392. package/.output/server/chunks/build/Tooltip-BOazooWP.mjs.map +0 -1
  393. package/.output/server/chunks/build/VisuallyHiddenInput-D6kBJxVd.mjs.map +0 -1
  394. package/.output/server/chunks/build/_id_-B78ky13D.mjs.map +0 -1
  395. package/.output/server/chunks/build/_id_-z5N6HPyC.mjs.map +0 -1
  396. package/.output/server/chunks/build/about-CvSP73Ug.mjs.map +0 -1
  397. package/.output/server/chunks/build/analytics-CJPC6t4L.mjs.map +0 -1
  398. package/.output/server/chunks/build/default-zvbFgDJG.mjs.map +0 -1
  399. package/.output/server/chunks/build/edit-CFR5g2Qf.mjs.map +0 -1
  400. package/.output/server/chunks/build/import-CZo3djDi.mjs.map +0 -1
  401. package/.output/server/chunks/build/index-D7fe97l3.mjs.map +0 -1
  402. package/.output/server/chunks/build/index-Stqw0dEI.mjs.map +0 -1
  403. package/.output/server/chunks/build/mcp-B3IUvRgD.mjs.map +0 -1
  404. package/.output/server/chunks/build/notifications-abDv0id8.mjs.map +0 -1
  405. package/.output/server/chunks/build/pr-feedback-DjZID6q-.mjs.map +0 -1
  406. package/.output/server/chunks/build/settings-Du7YqF8i.mjs.map +0 -1
  407. package/.output/server/chunks/build/storage-B4vzxd8G.mjs.map +0 -1
  408. package/.output/server/chunks/build/test-cases-DUvaO1He.mjs.map +0 -1
  409. package/.output/server/chunks/build/useAiStatus-CWvIo32Q.mjs.map +0 -1
  410. package/.output/server/chunks/build/useCopyRich-BemRsKgv.mjs.map +0 -1
  411. package/.output/server/chunks/build/useDesktopDownload-D49JRQSw.mjs.map +0 -1
  412. package/.output/server/chunks/build/useOpenInIde-4GFf-kdi.mjs.map +0 -1
  413. package/.output/server/chunks/build/useSettingsNav-C3O866KC.mjs.map +0 -1
  414. package/.output/server/chunks/build/useTauri-lRT8zkLv.mjs +0 -7
  415. package/.output/server/chunks/build/useTauri-lRT8zkLv.mjs.map +0 -1
  416. package/.output/server/chunks/build/virtualizer-Cd1hhlxC.mjs +0 -940
  417. package/.output/server/chunks/build/virtualizer-Cd1hhlxC.mjs.map +0 -1
  418. package/.output/server/chunks/build/wasted-time-lYkx5YO4.mjs.map +0 -1
@@ -1,5 +1,5 @@
1
1
  {
2
- "date": "2026-07-26T15:40:22.042Z",
2
+ "date": "2026-07-27T16:24:28.277Z",
3
3
  "preset": "node-server",
4
4
  "framework": {
5
5
  "name": "nuxt",
@@ -1 +1 @@
1
- import{a2 as m,a3 as y,a5 as g,o as i,f as h,g as b,k as t,c as l,q as o,V as d,m as u,t as c,v as n,X as k,h as x,a8 as q}from"./NQikbhmK.js";const C={slots:{root:"rounded-lg overflow-hidden",header:"p-4 sm:px-6",title:"text-highlighted font-semibold",description:"mt-1 text-muted text-sm",body:"p-4 sm:p-6",footer:"p-4 sm:px-6"},variants:{variant:{solid:{root:"bg-inverted text-inverted",title:"text-inverted",description:"text-dimmed"},outline:{root:"bg-default ring ring-default divide-y divide-default"},soft:{root:"bg-elevated/50 divide-y divide-default"},subtle:{root:"bg-elevated/50 ring ring-default divide-y divide-default"}}},defaultVariants:{variant:"outline"}},V={__name:"UCard",props:{as:{type:null,required:!1},title:{type:String,required:!1},description:{type:String,required:!1},variant:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(p){const v=p,s=m(),e=y("card",v),f=g(),a=x(()=>q({extend:C,...f.ui?.card||{}})({variant:e.variant}));return(r,S)=>(i(),h(t(k),{as:t(e).as,"data-slot":"root",class:o(a.value.root({class:[t(e).ui?.root,t(e).class]}))},{default:b(()=>[s.header||t(e).title||s.title||t(e).description||s.description?(i(),l("div",{key:0,"data-slot":"header",class:o(a.value.header({class:t(e).ui?.header}))},[d(r.$slots,"header",{},()=>[t(e).title||s.title?(i(),l("div",{key:0,"data-slot":"title",class:o(a.value.title({class:t(e).ui?.title}))},[d(r.$slots,"title",{},()=>[u(c(t(e).title),1)])],2)):n("",!0),t(e).description||s.description?(i(),l("div",{key:1,"data-slot":"description",class:o(a.value.description({class:t(e).ui?.description}))},[d(r.$slots,"description",{},()=>[u(c(t(e).description),1)])],2)):n("",!0)])],2)):n("",!0),s.default?(i(),l("div",{key:1,"data-slot":"body",class:o(a.value.body({class:t(e).ui?.body}))},[d(r.$slots,"default")],2)):n("",!0),s.footer?(i(),l("div",{key:2,"data-slot":"footer",class:o(a.value.footer({class:t(e).ui?.footer}))},[d(r.$slots,"footer")],2)):n("",!0)]),_:3},8,["as","class"]))}};export{V as _};
1
+ import{a2 as m,a3 as y,a5 as g,o as i,f as h,g as b,k as t,c as l,q as o,V as d,m as u,t as c,v as n,X as k,h as x,a8 as q}from"./Du2W7Jne.js";const C={slots:{root:"rounded-lg overflow-hidden",header:"p-4 sm:px-6",title:"text-highlighted font-semibold",description:"mt-1 text-muted text-sm",body:"p-4 sm:p-6",footer:"p-4 sm:px-6"},variants:{variant:{solid:{root:"bg-inverted text-inverted",title:"text-inverted",description:"text-dimmed"},outline:{root:"bg-default ring ring-default divide-y divide-default"},soft:{root:"bg-elevated/50 divide-y divide-default"},subtle:{root:"bg-elevated/50 ring ring-default divide-y divide-default"}}},defaultVariants:{variant:"outline"}},V={__name:"UCard",props:{as:{type:null,required:!1},title:{type:String,required:!1},description:{type:String,required:!1},variant:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(p){const v=p,s=m(),e=y("card",v),f=g(),a=x(()=>q({extend:C,...f.ui?.card||{}})({variant:e.variant}));return(r,S)=>(i(),h(t(k),{as:t(e).as,"data-slot":"root",class:o(a.value.root({class:[t(e).ui?.root,t(e).class]}))},{default:b(()=>[s.header||t(e).title||s.title||t(e).description||s.description?(i(),l("div",{key:0,"data-slot":"header",class:o(a.value.header({class:t(e).ui?.header}))},[d(r.$slots,"header",{},()=>[t(e).title||s.title?(i(),l("div",{key:0,"data-slot":"title",class:o(a.value.title({class:t(e).ui?.title}))},[d(r.$slots,"title",{},()=>[u(c(t(e).title),1)])],2)):n("",!0),t(e).description||s.description?(i(),l("div",{key:1,"data-slot":"description",class:o(a.value.description({class:t(e).ui?.description}))},[d(r.$slots,"description",{},()=>[u(c(t(e).description),1)])],2)):n("",!0)])],2)):n("",!0),s.default?(i(),l("div",{key:1,"data-slot":"body",class:o(a.value.body({class:t(e).ui?.body}))},[d(r.$slots,"default")],2)):n("",!0),s.footer?(i(),l("div",{key:2,"data-slot":"footer",class:o(a.value.footer({class:t(e).ui?.footer}))},[d(r.$slots,"footer")],2)):n("",!0)]),_:3},8,["as","class"]))}};export{V as _};
@@ -1 +1 @@
1
- import{d as a,o as s,c as t,V as o,v as n,i as r}from"./NQikbhmK.js";const l={class:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between"},c={key:0,class:"flex flex-wrap items-center gap-2 min-w-0"},i={class:"flex flex-wrap items-center gap-2 min-w-0"},m=a({__name:"FilterToolbar",setup(_){return(e,p)=>(s(),t("div",l,[e.$slots.start?(s(),t("div",c,[o(e.$slots,"start")])):n("",!0),r("div",i,[o(e.$slots,"default")])]))}}),f=Object.assign(m,{__name:"FilterToolbar"});export{f as _};
1
+ import{d as a,o as s,c as t,V as o,v as n,i as r}from"./Du2W7Jne.js";const l={class:"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between"},c={key:0,class:"flex flex-wrap items-center gap-2 min-w-0"},i={class:"flex flex-wrap items-center gap-2 min-w-0"},m=a({__name:"FilterToolbar",setup(_){return(e,p)=>(s(),t("div",l,[e.$slots.start?(s(),t("div",c,[o(e.$slots,"start")])):n("",!0),r("div",i,[o(e.$slots,"default")])]))}}),f=Object.assign(m,{__name:"FilterToolbar"});export{f as _};
@@ -1 +1 @@
1
- import{a2 as P,a3 as D,a5 as C,b3 as B,o as i,c as k,j as w,g as z,V as t,a0 as c,a1 as g,k as e,f as h,W as S,v as f,i as m,q as n,p as O,m as R,t as V,X as M,F as x,h as N,a8 as T,aO as A,b4 as F}from"./NQikbhmK.js";import{a as j,_ as K,b as U,c as E}from"./YVN7WG7q.js";const I={slots:{root:"h-(--ui-header-height) shrink-0 flex items-center justify-between border-b border-default px-4 sm:px-6 gap-1.5",left:"flex items-center gap-1.5 min-w-0",icon:"shrink-0 size-5 self-center me-1.5",title:"flex items-center gap-1.5 font-semibold text-highlighted truncate",center:"hidden lg:flex",right:"flex items-center shrink-0 gap-1.5",toggle:""},variants:{toggleSide:{left:{toggle:""},right:{toggle:""}}}},L=Object.assign({inheritAttrs:!1},{__name:"UDashboardNavbar",props:{as:{type:null,required:!1},icon:{type:null,required:!1},title:{type:String,required:!1},toggle:{type:[Boolean,Object],required:!1,default:!0},toggleSide:{type:String,required:!1,default:"left"},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(b){const q=b,r=P(),s=D("dashboardNavbar",q),p=C(),o=j({}),[y,u]=B(),a=N(()=>T({extend:I,...p.ui?.dashboardNavbar||{}})());return(l,v)=>(i(),k(x,null,[w(e(y),null,{default:z(()=>[t(l.$slots,"toggle",c(g({...e(o),ui:a.value})),()=>[e(s).toggle?(i(),h(K,S({key:0},typeof e(s).toggle=="object"?e(s).toggle:{},{side:e(s).toggleSide,"data-slot":"toggle",class:a.value.toggle({class:e(s).ui?.toggle,toggleSide:e(s).toggleSide})}),null,16,["side","class"])):f("",!0)])]),_:3}),w(e(M),S({as:e(s).as,"data-slot":"root"},l.$attrs,{class:a.value.root({class:[e(s).ui?.root,e(s).class]})}),{default:z(()=>[m("div",{"data-slot":"left",class:n(a.value.left({class:e(s).ui?.left}))},[e(s).toggleSide==="left"?(i(),h(e(u),{key:0})):f("",!0),t(l.$slots,"left",c(g(e(o))),()=>[t(l.$slots,"leading",c(g({...e(o),ui:a.value})),()=>[e(s).icon?(i(),h(O,{key:0,name:e(s).icon,"data-slot":"icon",class:n(a.value.icon({class:e(s).ui?.icon}))},null,8,["name","class"])):f("",!0)]),m("h1",{"data-slot":"title",class:n(a.value.title({class:e(s).ui?.title}))},[t(l.$slots,"title",{},()=>[R(V(e(s).title),1)])],2),t(l.$slots,"trailing",c(g({...e(o),ui:a.value})))])],2),r.default?(i(),k("div",{key:0,"data-slot":"center",class:n(a.value.center({class:e(s).ui?.center}))},[t(l.$slots,"default",c(g(e(o))))],2)):f("",!0),m("div",{"data-slot":"right",class:n(a.value.right({class:e(s).ui?.right}))},[t(l.$slots,"right",c(g(e(o)))),e(s).toggleSide==="right"?(i(),h(e(u),{key:0})):f("",!0)],2)]),_:3},16,["as","class"])],64))}}),W={slots:{root:"relative flex flex-col min-w-0 min-h-svh lg:not-last:border-e lg:not-last:border-default shrink-0",body:"flex flex-col gap-4 sm:gap-6 flex-1 overflow-y-auto p-4 sm:p-6",handle:""},variants:{size:{true:{root:"w-full lg:w-(--width)"},false:{root:"flex-1"}}}},X=["data-dragging"],Q=Object.assign({inheritAttrs:!1},{__name:"UDashboardPanel",props:{class:{type:null,required:!1},ui:{type:Object,required:!1},id:{type:String,required:!1},minSize:{type:Number,required:!1,default:15},maxSize:{type:Number,required:!1},defaultSize:{type:Number,required:!1},resizable:{type:Boolean,required:!1,default:!1}},setup(b){const r=D("dashboardPanel",b),s=C(),p=j({storageKey:"dashboard",unit:"%"}),o=`${p.storageKey}-panel-${r.id||A()}`,{el:y,size:u,isDragging:a,onMouseDown:l,onTouchStart:v,onDoubleClick:_}=U(o,F(()=>({...p,...r}))),$=N(()=>T({extend:W,...s.ui?.dashboardPanel||{}})({size:!!u.value}));return(d,G)=>(i(),k(x,null,[m("div",S({id:o,ref_key:"el",ref:y,"data-slot":"root"},d.$attrs,{"data-dragging":e(a),class:$.value.root({class:[e(r).ui?.root,e(r).class]}),style:[e(u)?{"--width":`${e(u)}${e(p).unit}`}:void 0]}),[t(d.$slots,"default",{},()=>[t(d.$slots,"header"),m("div",{"data-slot":"body",class:n($.value.body({class:e(r).ui?.body}))},[t(d.$slots,"body")],2),t(d.$slots,"footer")])],16,X),t(d.$slots,"resize-handle",{onMouseDown:e(l),onTouchStart:e(v),onDoubleClick:e(_)},()=>[e(r).resizable?(i(),h(E,{key:0,"aria-controls":o,"data-slot":"handle",class:n($.value.handle({class:e(r).ui?.handle})),onMousedown:e(l),onTouchstart:e(v),onDblclick:e(_)},null,8,["class","onMousedown","onTouchstart","onDblclick"])):f("",!0)])],64))}});export{Q as _,L as a};
1
+ import{a2 as j,a3 as D,a5 as C,b4 as B,o as i,c as k,j as w,g as z,V as t,a0 as c,a1 as g,k as e,f as h,W as S,v as f,i as m,q as n,p as O,m as R,t as V,X as M,F as x,h as N,a8 as T,aP as A,b5 as F}from"./Du2W7Jne.js";import{a as P,_ as K,b as U,c as E}from"./KyA_4Ks-.js";const I={slots:{root:"h-(--ui-header-height) shrink-0 flex items-center justify-between border-b border-default px-4 sm:px-6 gap-1.5",left:"flex items-center gap-1.5 min-w-0",icon:"shrink-0 size-5 self-center me-1.5",title:"flex items-center gap-1.5 font-semibold text-highlighted truncate",center:"hidden lg:flex",right:"flex items-center shrink-0 gap-1.5",toggle:""},variants:{toggleSide:{left:{toggle:""},right:{toggle:""}}}},L=Object.assign({inheritAttrs:!1},{__name:"UDashboardNavbar",props:{as:{type:null,required:!1},icon:{type:null,required:!1},title:{type:String,required:!1},toggle:{type:[Boolean,Object],required:!1,default:!0},toggleSide:{type:String,required:!1,default:"left"},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(b){const q=b,r=j(),s=D("dashboardNavbar",q),p=C(),o=P({}),[y,u]=B(),a=N(()=>T({extend:I,...p.ui?.dashboardNavbar||{}})());return(l,v)=>(i(),k(x,null,[w(e(y),null,{default:z(()=>[t(l.$slots,"toggle",c(g({...e(o),ui:a.value})),()=>[e(s).toggle?(i(),h(K,S({key:0},typeof e(s).toggle=="object"?e(s).toggle:{},{side:e(s).toggleSide,"data-slot":"toggle",class:a.value.toggle({class:e(s).ui?.toggle,toggleSide:e(s).toggleSide})}),null,16,["side","class"])):f("",!0)])]),_:3}),w(e(M),S({as:e(s).as,"data-slot":"root"},l.$attrs,{class:a.value.root({class:[e(s).ui?.root,e(s).class]})}),{default:z(()=>[m("div",{"data-slot":"left",class:n(a.value.left({class:e(s).ui?.left}))},[e(s).toggleSide==="left"?(i(),h(e(u),{key:0})):f("",!0),t(l.$slots,"left",c(g(e(o))),()=>[t(l.$slots,"leading",c(g({...e(o),ui:a.value})),()=>[e(s).icon?(i(),h(O,{key:0,name:e(s).icon,"data-slot":"icon",class:n(a.value.icon({class:e(s).ui?.icon}))},null,8,["name","class"])):f("",!0)]),m("h1",{"data-slot":"title",class:n(a.value.title({class:e(s).ui?.title}))},[t(l.$slots,"title",{},()=>[R(V(e(s).title),1)])],2),t(l.$slots,"trailing",c(g({...e(o),ui:a.value})))])],2),r.default?(i(),k("div",{key:0,"data-slot":"center",class:n(a.value.center({class:e(s).ui?.center}))},[t(l.$slots,"default",c(g(e(o))))],2)):f("",!0),m("div",{"data-slot":"right",class:n(a.value.right({class:e(s).ui?.right}))},[t(l.$slots,"right",c(g(e(o)))),e(s).toggleSide==="right"?(i(),h(e(u),{key:0})):f("",!0)],2)]),_:3},16,["as","class"])],64))}}),W={slots:{root:"relative flex flex-col min-w-0 min-h-svh lg:not-last:border-e lg:not-last:border-default shrink-0",body:"flex flex-col gap-4 sm:gap-6 flex-1 overflow-y-auto p-4 sm:p-6",handle:""},variants:{size:{true:{root:"w-full lg:w-(--width)"},false:{root:"flex-1"}}}},X=["data-dragging"],Q=Object.assign({inheritAttrs:!1},{__name:"UDashboardPanel",props:{class:{type:null,required:!1},ui:{type:Object,required:!1},id:{type:String,required:!1},minSize:{type:Number,required:!1,default:15},maxSize:{type:Number,required:!1},defaultSize:{type:Number,required:!1},resizable:{type:Boolean,required:!1,default:!1}},setup(b){const r=D("dashboardPanel",b),s=C(),p=P({storageKey:"dashboard",unit:"%"}),o=`${p.storageKey}-panel-${r.id||A()}`,{el:y,size:u,isDragging:a,onMouseDown:l,onTouchStart:v,onDoubleClick:_}=U(o,F(()=>({...p,...r}))),$=N(()=>T({extend:W,...s.ui?.dashboardPanel||{}})({size:!!u.value}));return(d,G)=>(i(),k(x,null,[m("div",S({id:o,ref_key:"el",ref:y,"data-slot":"root"},d.$attrs,{"data-dragging":e(a),class:$.value.root({class:[e(r).ui?.root,e(r).class]}),style:[e(u)?{"--width":`${e(u)}${e(p).unit}`}:void 0]}),[t(d.$slots,"default",{},()=>[t(d.$slots,"header"),m("div",{"data-slot":"body",class:n($.value.body({class:e(r).ui?.body}))},[t(d.$slots,"body")],2),t(d.$slots,"footer")])],16,X),t(d.$slots,"resize-handle",{onMouseDown:e(l),onTouchStart:e(v),onDoubleClick:e(_)},()=>[e(r).resizable?(i(),h(E,{key:0,"aria-controls":o,"data-slot":"handle",class:n($.value.handle({class:e(r).ui?.handle})),onMousedown:e(l),onTouchstart:e(v),onDblclick:e(_)},null,8,["class","onMousedown","onTouchstart","onDblclick"])):f("",!0)])],64))}});export{Q as _,L as a};
@@ -1,4 +1,4 @@
1
- import{_ as Re,a as we}from"./279D2RYp.js";import{d as X,o as n,c as d,f,g as u,i as e,j as l,p as Z,q as j,t as m,l as se,k as s,v as _,m as c,h as x,_ as ee,D as oe,F as E,y as H,r as Q,B as $e,s as Ce,A as Te,e as Fe,ac as je}from"./NQikbhmK.js";import{_ as Se}from"./DiZyJYez.js";import{_ as Pe}from"./BMvCSA6h.js";import{_ as ze,a as Ie}from"./CHEFCN8Q.js";import{_ as Ue}from"./ybDYeNxd.js";import{_ as Ve}from"./Cdff9XNh.js";import{_ as Ae}from"./D0HNloZ9.js";import{_ as Ne}from"./DcmZRa_F.js";import{_ as Ee}from"./DHDtnj7p.js";import{_ as ie}from"./tvgqrYDd.js";import{_ as le}from"./CV9-fTmY.js";import{_ as De}from"./C9_jrmk9.js";import{_ as Oe}from"./DLSrtpsA.js";import{_ as ue}from"./DprVVyUQ.js";import{f as ne,F as G,g as Be}from"./CDk0q2hV.js";import{a as Le,d as We,_ as He}from"./C7P1UCO2.js";import{_ as Me}from"./rWNTSFD6.js";import{_ as de}from"./eptP4pGv.js";import{u as Ge}from"./CHNwfU1y.js";import{u as re}from"./CpjgB2aY.js";import{u as Ke}from"./BCMuIgP5.js";import{u as Ye}from"./YVN7WG7q.js";import"./BeLWlVK0.js";import"./g26aVPxc.js";import"./BYDaY0Z7.js";import"./FUXhyidq.js";import"./DEFEpYzn.js";import"./CNFYDQmj.js";import"./IvQlbZk6.js";import"./CYsTqbBS.js";import"./BjaRappk.js";import"./Bn0YQDyy.js";const qe={class:"flex items-center gap-3 flex-wrap"},Je={class:"flex items-center gap-1.5"},Qe={key:0,class:"text-gray-500"},Xe={key:1},Ze={key:2},et={class:"flex items-center gap-1.5 cursor-pointer select-none text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 transition-colors"},tt=X({__name:"HomeFilters",props:{modelValue:{},availableEnvironments:{}},emits:["update:modelValue"],setup(D,{emit:w}){const $=D,k=w,z=x({get:()=>$.modelValue.environments,set:T=>k("update:modelValue",{...$.modelValue,environments:T})}),C=x({get:()=>$.modelValue.fullRunsOnly,set:T=>k("update:modelValue",{...$.modelValue,fullRunsOnly:T})}),N=x(()=>$.modelValue.environments.length>0||!$.modelValue.fullRunsOnly);function U(){k("update:modelValue",{environments:[],fullRunsOnly:!0})}return(T,h)=>{const O=Z,o=Se,y=Pe,t=ee;return n(),d("div",qe,[D.availableEnvironments.length>0?(n(),f(o,{key:0,modelValue:s(z),"onUpdate:modelValue":h[0]||(h[0]=p=>se(z)?z.value=p:null),items:D.availableEnvironments,multiple:"",placeholder:"All environments",size:"sm",class:"min-w-[160px]"},{default:u(({modelValue:p})=>[e("div",Je,[l(O,{name:"i-lucide-server",class:j(["size-3.5 shrink-0",p.length?"text-primary":"text-gray-400"])},null,8,["class"]),p.length?p.length===1?(n(),d("span",Xe,m(p[0]),1)):(n(),d("span",Ze,m(p.length)+" environments",1)):(n(),d("span",Qe,"All environments"))])]),_:1},8,["modelValue","items"])):_("",!0),e("label",et,[l(y,{modelValue:s(C),"onUpdate:modelValue":h[1]||(h[1]=p=>se(C)?C.value=p:null),size:"sm"},null,8,["modelValue"]),h[2]||(h[2]=c(" Full runs only ",-1))]),s(N)?(n(),f(t,{key:1,variant:"ghost",size:"sm",color:"neutral",icon:"i-lucide-x",onClick:U},{default:u(()=>[...h[3]||(h[3]=[c(" Reset ",-1)])]),_:1})):_("",!0)])}}}),st=Object.assign(tt,{__name:"HomeFilters"}),nt={class:"hidden md:block overflow-x-auto -mx-4 px-4 sm:mx-0 sm:px-0"},rt={key:0,class:"flex flex-wrap gap-1 mt-0.5"},at={class:"w-40"},ot={key:1,class:"text-gray-400 text-sm"},it={class:"text-xs text-gray-500 dark:text-gray-400"},lt={key:1,class:"text-gray-400 text-sm"},ut={key:0,class:"tabular-nums text-sm text-gray-600 dark:text-gray-400"},dt={key:1,class:"text-gray-400"},ct={class:"space-y-2 md:hidden"},mt={class:"flex items-start justify-between gap-2"},pt={key:0,class:"flex flex-wrap gap-1"},gt={class:"flex items-center justify-between gap-2 text-xs"},ft={class:"text-gray-500 dark:text-gray-400 truncate"},yt={key:1,class:"text-gray-400"},_t={key:2,class:"shrink-0 tabular-nums text-gray-500 dark:text-gray-400"},xt=X({__name:"ProjectTrendTable",props:{projects:{},limit:{default:10}},setup(D){const w=D,$={failing:0,flaky:1,passing:2,unknown:3},k=Q(!1),z=x(()=>w.projects.length>w.limit),C=x(()=>{const o=[...w.projects].sort((y,t)=>{const p=$[y.tendency]-$[t.tendency];if(p!==0)return p;const I=y.latestFullRun?new Date(y.latestFullRun.startTime).getTime():0;return(t.latestFullRun?new Date(t.latestFullRun.startTime).getTime():0)-I});return k.value?o:o.slice(0,w.limit)});function N(o){return o>=90?"text-green-600 dark:text-green-400":o>=50?"text-yellow-600 dark:text-yellow-400":"text-red-600 dark:text-red-400"}function U(o){switch(o){case"failing":return"text-red-700 dark:text-red-400 bg-red-50 dark:bg-red-900/20 border-red-200 dark:border-red-800";case"flaky":return"text-amber-700 dark:text-amber-400 bg-amber-50 dark:bg-amber-900/20 border-amber-200 dark:border-amber-800";case"passing":return"text-green-700 dark:text-green-400 bg-green-50 dark:bg-green-900/20 border-green-200 dark:border-green-800";default:return"text-gray-500 dark:text-gray-400 bg-gray-50 dark:bg-gray-800 border-gray-200 dark:border-gray-700"}}function T(o){return o==="unknown"?"Unknown":o.charAt(0).toUpperCase()+o.slice(1)}function h(o){switch(o){case"failing":return"i-lucide-trending-down";case"flaky":return"i-lucide-shuffle";case"passing":return"i-lucide-trending-up";default:return"i-lucide-minus"}}const O=[{accessorKey:"name",header:"Project"},{id:"recentRuns",header:"Last 20 runs"},{accessorKey:"tendency",header:"Tendency"},{id:"passRate",header:"Pass rate"},{id:"latestRun",header:"Latest run"},{id:"tests",header:"Tests"}];return(o,y)=>{const t=ee,p=oe,I=Ne,v=Ee,V=Z,F=ie,A=le,K=De,b=Oe,B=ue;return n(),f(B,{icon:"i-lucide-layout-dashboard",title:"Project health",help:"home.project-health"},{actions:u(()=>[s(z)&&!s(k)?(n(),f(t,{key:0,variant:"ghost",size:"sm","trailing-icon":"i-lucide-chevron-down",onClick:y[0]||(y[0]=r=>k.value=!0)},{default:u(()=>[c(" Show all "+m(w.projects.length),1)]),_:1})):s(k)?(n(),f(t,{key:1,variant:"ghost",size:"sm","trailing-icon":"i-lucide-chevron-up",onClick:y[1]||(y[1]=r=>k.value=!1)},{default:u(()=>[...y[2]||(y[2]=[c(" Show less ",-1)])]),_:1})):_("",!0),l(t,{to:"/projects",variant:"outline",size:"sm"},{default:u(()=>[...y[3]||(y[3]=[c("View all",-1)])]),_:1})]),default:u(()=>[e("div",nt,[l(K,{data:s(C),columns:O,ui:{base:"min-w-[700px]",td:"py-3",th:"py-3 text-xs uppercase tracking-wide"}},{"name-cell":u(({row:r})=>[l(p,{to:`/projects/${r.original.id}`,class:"font-medium text-primary hover:underline truncate block max-w-[200px]"},{default:u(()=>[c(m(r.original.label||r.original.name),1)]),_:2},1032,["to"]),r.original.tags.length>0?(n(),d("div",rt,[(n(!0),d(E,null,H(r.original.tags,S=>(n(),f(I,{key:S.id,text:S.text,color:S.color},null,8,["text","color"]))),128))])):_("",!0)]),"recentRuns-cell":u(({row:r})=>[e("div",at,[l(v,{runs:r.original.recentRuns,height:28},null,8,["runs"])])]),"tendency-cell":u(({row:r})=>[e("span",{class:j(["inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-xs font-medium border whitespace-nowrap",U(r.original.tendency)])},[l(V,{name:h(r.original.tendency),class:"size-3 shrink-0"},null,8,["name"]),c(" "+m(T(r.original.tendency)),1)],2)]),"passRate-cell":u(({row:r})=>[r.original.latestFullRun?(n(),d("span",{key:0,class:j(["font-semibold tabular-nums text-sm",N(("passRate"in o?o.passRate:s(G))(r.original.latestFullRun))])},m(("passRate"in o?o.passRate:s(G))(r.original.latestFullRun))+"% ",3)):(n(),d("span",ot,"—"))]),"latestRun-cell":u(({row:r})=>[r.original.latestFullRun?(n(),f(p,{key:0,to:`/test-runs/${r.original.latestFullRun.id}`,class:"flex items-center gap-2 min-w-[140px] hover:opacity-80 transition-opacity"},{default:u(()=>[l(F,{status:r.original.latestFullRun.status},null,8,["status"]),e("div",it,[e("div",null,m(("formatRelativeTime"in o?o.formatRelativeTime:s(ne))(r.original.latestFullRun.startTime)),1),r.original.latestFullRun.duration?(n(),f(A,{key:0,ms:r.original.latestFullRun.duration},null,8,["ms"])):_("",!0)])]),_:2},1032,["to"])):(n(),d("span",lt,"No full runs"))]),"tests-cell":u(({row:r})=>[r.original.latestFullRun?(n(),d("span",ut,m(r.original.latestFullRun.passedTests)+"/"+m(r.original.latestFullRun.totalTests),1)):(n(),d("span",dt,"—"))]),_:1},8,["data"])]),e("div",ct,[(n(!0),d(E,null,H(s(C),r=>(n(),d("div",{key:r.id,class:"rounded-lg border border-default p-3 space-y-2"},[e("div",mt,[l(p,{to:`/projects/${r.id}`,class:"font-medium text-primary hover:underline truncate"},{default:u(()=>[c(m(r.label||r.name),1)]),_:2},1032,["to"]),e("span",{class:j(["inline-flex shrink-0 items-center gap-1 rounded border px-1.5 py-0.5 text-xs font-medium whitespace-nowrap",U(r.tendency)])},[l(V,{name:h(r.tendency),class:"size-3 shrink-0"},null,8,["name"]),c(" "+m(T(r.tendency)),1)],2)]),r.tags.length>0?(n(),d("div",pt,[(n(!0),d(E,null,H(r.tags,S=>(n(),f(I,{key:S.id,text:S.text,color:S.color},null,8,["text","color"]))),128))])):_("",!0),l(v,{runs:r.recentRuns,height:24},null,8,["runs"]),e("div",gt,[r.latestFullRun?(n(),f(p,{key:0,to:`/test-runs/${r.latestFullRun.id}`,class:"flex items-center gap-1.5 min-w-0 hover:opacity-80"},{default:u(()=>[l(F,{status:r.latestFullRun.status},null,8,["status"]),e("span",ft,m(("formatRelativeTime"in o?o.formatRelativeTime:s(ne))(r.latestFullRun.startTime)),1)]),_:2},1032,["to"])):(n(),d("span",yt,"No full runs")),r.latestFullRun?(n(),d("span",_t,[e("span",{class:j(["font-semibold",N(("passRate"in o?o.passRate:s(G))(r.latestFullRun))])},m(("passRate"in o?o.passRate:s(G))(r.latestFullRun))+"% ",3),c(" · "+m(r.latestFullRun.passedTests)+"/"+m(r.latestFullRun.totalTests),1)])):_("",!0)])]))),128))]),s(C).length===0?(n(),f(b,{key:0,text:"No projects yet",padded:!1,class:"py-8"})):_("",!0)]),_:1})}}}),ht=Object.assign(xt,{__name:"ProjectTrendTable"}),vt={class:"flex items-center gap-3"},bt={class:"p-2 bg-primary/10 rounded-lg shrink-0"},kt={class:"text-xl font-semibold inline-flex items-center gap-1"},Rt={class:"text-sm text-gray-500 dark:text-gray-400"},wt={class:"flex flex-col items-center shrink-0"},$t={key:1},Ct={key:0,class:"w-px flex-1 mt-2 min-h-6 bg-gray-200 dark:bg-gray-700"},Tt={class:"flex-1 pb-6"},Ft={class:"flex items-center gap-2 mb-1"},jt={class:"font-medium"},St={class:"text-sm text-gray-600 dark:text-gray-400 mb-3"},Pt={class:"border-t border-gray-200 dark:border-gray-700 pt-4 mt-2"},zt={key:0,class:"mt-4 space-y-6"},It={class:"text-sm text-gray-600 dark:text-gray-400 mb-3"},Ut={class:"flex items-center justify-between text-sm text-gray-500 dark:text-gray-400"},Vt=`// tests/fixtures.ts
1
+ import{_ as Re,a as we}from"./CXEH9OPk.js";import{d as X,o as n,c as d,f,g as u,i as e,j as l,p as Z,q as j,t as m,l as se,k as s,v as _,m as c,h as x,_ as ee,D as oe,F as E,y as H,r as Q,B as $e,s as Ce,A as Te,e as Fe,ac as je}from"./Du2W7Jne.js";import{_ as Se}from"./CeG9pBAD.js";import{_ as Pe}from"./DrfE8IY0.js";import{_ as ze,a as Ie}from"./5A6ITZXj.js";import{_ as Ue}from"./CAvY22RE.js";import{_ as Ve}from"./Dyeqn3aG.js";import{_ as Ae}from"./BrQEE053.js";import{_ as Ne}from"./oAClCn_h.js";import{_ as Ee}from"./bLcjFslv.js";import{_ as ie}from"./Bnxf8nbZ.js";import{_ as le}from"./BzRRzmwm.js";import{_ as De}from"./Cus22Ud3.js";import{_ as Oe}from"./C1gTN4Q8.js";import{_ as ue}from"./C0_yH0N7.js";import{f as ne,F as G,g as Be}from"./DuwtTfO8.js";import{a as Le,d as We,_ as He}from"./Bm62iDV5.js";import{_ as Me}from"./B3obW6cw.js";import{_ as de}from"./-f7BAm1H.js";import{u as Ge}from"./_mj6CfPa.js";import{u as re}from"./B8zkOmwo.js";import{u as Ke}from"./H94BMf3L.js";import{u as Ye}from"./KyA_4Ks-.js";import"./UdR3DBPS.js";import"./DmkUdSS4.js";import"./B99fbi73.js";import"./DfgOx_ou.js";import"./Nn93e_Mz.js";import"./pQqGiNch.js";import"./L3kAWB2a.js";import"./BjaRappk.js";import"./DSqHUrvO.js";const qe={class:"flex items-center gap-3 flex-wrap"},Je={class:"flex items-center gap-1.5"},Qe={key:0,class:"text-gray-500"},Xe={key:1},Ze={key:2},et={class:"flex items-center gap-1.5 cursor-pointer select-none text-sm text-gray-600 dark:text-gray-400 hover:text-gray-900 dark:hover:text-gray-100 transition-colors"},tt=X({__name:"HomeFilters",props:{modelValue:{},availableEnvironments:{}},emits:["update:modelValue"],setup(D,{emit:w}){const $=D,k=w,z=x({get:()=>$.modelValue.environments,set:T=>k("update:modelValue",{...$.modelValue,environments:T})}),C=x({get:()=>$.modelValue.fullRunsOnly,set:T=>k("update:modelValue",{...$.modelValue,fullRunsOnly:T})}),N=x(()=>$.modelValue.environments.length>0||!$.modelValue.fullRunsOnly);function U(){k("update:modelValue",{environments:[],fullRunsOnly:!0})}return(T,h)=>{const O=Z,o=Se,y=Pe,t=ee;return n(),d("div",qe,[D.availableEnvironments.length>0?(n(),f(o,{key:0,modelValue:s(z),"onUpdate:modelValue":h[0]||(h[0]=p=>se(z)?z.value=p:null),items:D.availableEnvironments,multiple:"",placeholder:"All environments",size:"sm",class:"min-w-[160px]"},{default:u(({modelValue:p})=>[e("div",Je,[l(O,{name:"i-lucide-server",class:j(["size-3.5 shrink-0",p.length?"text-primary":"text-gray-400"])},null,8,["class"]),p.length?p.length===1?(n(),d("span",Xe,m(p[0]),1)):(n(),d("span",Ze,m(p.length)+" environments",1)):(n(),d("span",Qe,"All environments"))])]),_:1},8,["modelValue","items"])):_("",!0),e("label",et,[l(y,{modelValue:s(C),"onUpdate:modelValue":h[1]||(h[1]=p=>se(C)?C.value=p:null),size:"sm"},null,8,["modelValue"]),h[2]||(h[2]=c(" Full runs only ",-1))]),s(N)?(n(),f(t,{key:1,variant:"ghost",size:"sm",color:"neutral",icon:"i-lucide-x",onClick:U},{default:u(()=>[...h[3]||(h[3]=[c(" Reset ",-1)])]),_:1})):_("",!0)])}}}),st=Object.assign(tt,{__name:"HomeFilters"}),nt={class:"hidden md:block overflow-x-auto -mx-4 px-4 sm:mx-0 sm:px-0"},rt={key:0,class:"flex flex-wrap gap-1 mt-0.5"},at={class:"w-40"},ot={key:1,class:"text-gray-400 text-sm"},it={class:"text-xs text-gray-500 dark:text-gray-400"},lt={key:1,class:"text-gray-400 text-sm"},ut={key:0,class:"tabular-nums text-sm text-gray-600 dark:text-gray-400"},dt={key:1,class:"text-gray-400"},ct={class:"space-y-2 md:hidden"},mt={class:"flex items-start justify-between gap-2"},pt={key:0,class:"flex flex-wrap gap-1"},gt={class:"flex items-center justify-between gap-2 text-xs"},ft={class:"text-gray-500 dark:text-gray-400 truncate"},yt={key:1,class:"text-gray-400"},_t={key:2,class:"shrink-0 tabular-nums text-gray-500 dark:text-gray-400"},xt=X({__name:"ProjectTrendTable",props:{projects:{},limit:{default:10}},setup(D){const w=D,$={failing:0,flaky:1,passing:2,unknown:3},k=Q(!1),z=x(()=>w.projects.length>w.limit),C=x(()=>{const o=[...w.projects].sort((y,t)=>{const p=$[y.tendency]-$[t.tendency];if(p!==0)return p;const I=y.latestFullRun?new Date(y.latestFullRun.startTime).getTime():0;return(t.latestFullRun?new Date(t.latestFullRun.startTime).getTime():0)-I});return k.value?o:o.slice(0,w.limit)});function N(o){return o>=90?"text-green-600 dark:text-green-400":o>=50?"text-yellow-600 dark:text-yellow-400":"text-red-600 dark:text-red-400"}function U(o){switch(o){case"failing":return"text-red-700 dark:text-red-400 bg-red-50 dark:bg-red-900/20 border-red-200 dark:border-red-800";case"flaky":return"text-amber-700 dark:text-amber-400 bg-amber-50 dark:bg-amber-900/20 border-amber-200 dark:border-amber-800";case"passing":return"text-green-700 dark:text-green-400 bg-green-50 dark:bg-green-900/20 border-green-200 dark:border-green-800";default:return"text-gray-500 dark:text-gray-400 bg-gray-50 dark:bg-gray-800 border-gray-200 dark:border-gray-700"}}function T(o){return o==="unknown"?"Unknown":o.charAt(0).toUpperCase()+o.slice(1)}function h(o){switch(o){case"failing":return"i-lucide-trending-down";case"flaky":return"i-lucide-shuffle";case"passing":return"i-lucide-trending-up";default:return"i-lucide-minus"}}const O=[{accessorKey:"name",header:"Project"},{id:"recentRuns",header:"Last 20 runs"},{accessorKey:"tendency",header:"Tendency"},{id:"passRate",header:"Pass rate"},{id:"latestRun",header:"Latest run"},{id:"tests",header:"Tests"}];return(o,y)=>{const t=ee,p=oe,I=Ne,v=Ee,V=Z,F=ie,A=le,K=De,b=Oe,B=ue;return n(),f(B,{icon:"i-lucide-layout-dashboard",title:"Project health",help:"home.project-health"},{actions:u(()=>[s(z)&&!s(k)?(n(),f(t,{key:0,variant:"ghost",size:"sm","trailing-icon":"i-lucide-chevron-down",onClick:y[0]||(y[0]=r=>k.value=!0)},{default:u(()=>[c(" Show all "+m(w.projects.length),1)]),_:1})):s(k)?(n(),f(t,{key:1,variant:"ghost",size:"sm","trailing-icon":"i-lucide-chevron-up",onClick:y[1]||(y[1]=r=>k.value=!1)},{default:u(()=>[...y[2]||(y[2]=[c(" Show less ",-1)])]),_:1})):_("",!0),l(t,{to:"/projects",variant:"outline",size:"sm"},{default:u(()=>[...y[3]||(y[3]=[c("View all",-1)])]),_:1})]),default:u(()=>[e("div",nt,[l(K,{data:s(C),columns:O,ui:{base:"min-w-[700px]",td:"py-3",th:"py-3 text-xs uppercase tracking-wide"}},{"name-cell":u(({row:r})=>[l(p,{to:`/projects/${r.original.id}`,class:"font-medium text-primary hover:underline truncate block max-w-[200px]"},{default:u(()=>[c(m(r.original.label||r.original.name),1)]),_:2},1032,["to"]),r.original.tags.length>0?(n(),d("div",rt,[(n(!0),d(E,null,H(r.original.tags,S=>(n(),f(I,{key:S.id,text:S.text,color:S.color},null,8,["text","color"]))),128))])):_("",!0)]),"recentRuns-cell":u(({row:r})=>[e("div",at,[l(v,{runs:r.original.recentRuns,height:28},null,8,["runs"])])]),"tendency-cell":u(({row:r})=>[e("span",{class:j(["inline-flex items-center gap-1 px-1.5 py-0.5 rounded text-xs font-medium border whitespace-nowrap",U(r.original.tendency)])},[l(V,{name:h(r.original.tendency),class:"size-3 shrink-0"},null,8,["name"]),c(" "+m(T(r.original.tendency)),1)],2)]),"passRate-cell":u(({row:r})=>[r.original.latestFullRun?(n(),d("span",{key:0,class:j(["font-semibold tabular-nums text-sm",N(("passRate"in o?o.passRate:s(G))(r.original.latestFullRun))])},m(("passRate"in o?o.passRate:s(G))(r.original.latestFullRun))+"% ",3)):(n(),d("span",ot,"—"))]),"latestRun-cell":u(({row:r})=>[r.original.latestFullRun?(n(),f(p,{key:0,to:`/test-runs/${r.original.latestFullRun.id}`,class:"flex items-center gap-2 min-w-[140px] hover:opacity-80 transition-opacity"},{default:u(()=>[l(F,{status:r.original.latestFullRun.status},null,8,["status"]),e("div",it,[e("div",null,m(("formatRelativeTime"in o?o.formatRelativeTime:s(ne))(r.original.latestFullRun.startTime)),1),r.original.latestFullRun.duration?(n(),f(A,{key:0,ms:r.original.latestFullRun.duration},null,8,["ms"])):_("",!0)])]),_:2},1032,["to"])):(n(),d("span",lt,"No full runs"))]),"tests-cell":u(({row:r})=>[r.original.latestFullRun?(n(),d("span",ut,m(r.original.latestFullRun.passedTests)+"/"+m(r.original.latestFullRun.totalTests),1)):(n(),d("span",dt,"—"))]),_:1},8,["data"])]),e("div",ct,[(n(!0),d(E,null,H(s(C),r=>(n(),d("div",{key:r.id,class:"rounded-lg border border-default p-3 space-y-2"},[e("div",mt,[l(p,{to:`/projects/${r.id}`,class:"font-medium text-primary hover:underline truncate"},{default:u(()=>[c(m(r.label||r.name),1)]),_:2},1032,["to"]),e("span",{class:j(["inline-flex shrink-0 items-center gap-1 rounded border px-1.5 py-0.5 text-xs font-medium whitespace-nowrap",U(r.tendency)])},[l(V,{name:h(r.tendency),class:"size-3 shrink-0"},null,8,["name"]),c(" "+m(T(r.tendency)),1)],2)]),r.tags.length>0?(n(),d("div",pt,[(n(!0),d(E,null,H(r.tags,S=>(n(),f(I,{key:S.id,text:S.text,color:S.color},null,8,["text","color"]))),128))])):_("",!0),l(v,{runs:r.recentRuns,height:24},null,8,["runs"]),e("div",gt,[r.latestFullRun?(n(),f(p,{key:0,to:`/test-runs/${r.latestFullRun.id}`,class:"flex items-center gap-1.5 min-w-0 hover:opacity-80"},{default:u(()=>[l(F,{status:r.latestFullRun.status},null,8,["status"]),e("span",ft,m(("formatRelativeTime"in o?o.formatRelativeTime:s(ne))(r.latestFullRun.startTime)),1)]),_:2},1032,["to"])):(n(),d("span",yt,"No full runs")),r.latestFullRun?(n(),d("span",_t,[e("span",{class:j(["font-semibold",N(("passRate"in o?o.passRate:s(G))(r.latestFullRun))])},m(("passRate"in o?o.passRate:s(G))(r.latestFullRun))+"% ",3),c(" · "+m(r.latestFullRun.passedTests)+"/"+m(r.latestFullRun.totalTests),1)])):_("",!0)])]))),128))]),s(C).length===0?(n(),f(b,{key:0,text:"No projects yet",padded:!1,class:"py-8"})):_("",!0)]),_:1})}}}),ht=Object.assign(xt,{__name:"ProjectTrendTable"}),vt={class:"flex items-center gap-3"},bt={class:"p-2 bg-primary/10 rounded-lg shrink-0"},kt={class:"text-xl font-semibold inline-flex items-center gap-1"},Rt={class:"text-sm text-gray-500 dark:text-gray-400"},wt={class:"flex flex-col items-center shrink-0"},$t={key:1},Ct={key:0,class:"w-px flex-1 mt-2 min-h-6 bg-gray-200 dark:bg-gray-700"},Tt={class:"flex-1 pb-6"},Ft={class:"flex items-center gap-2 mb-1"},jt={class:"font-medium"},St={class:"text-sm text-gray-600 dark:text-gray-400 mb-3"},Pt={class:"border-t border-gray-200 dark:border-gray-700 pt-4 mt-2"},zt={key:0,class:"mt-4 space-y-6"},It={class:"text-sm text-gray-600 dark:text-gray-400 mb-3"},Ut={class:"flex items-center justify-between text-sm text-gray-500 dark:text-gray-400"},Vt=`// tests/fixtures.ts
2
2
  import { test as base, expect } from '@playwright/test'
3
3
  import { piwiFixtures } from '@piwitests/reporter'
4
4
 
@@ -41,4 +41,4 @@ export default PiwiDashboard.wrapConfig(
41
41
  {
42
42
  ${C(" ")}
43
43
  },
44
- )`),T=x(()=>{const y=[{title:"Start the dashboard",description:"You're already here — the dashboard is running.",done:!0},{title:"Install the reporter",description:"Add the Piwi reporter to your Playwright project.",code:"npm install --save-dev @piwitests/reporter",lang:"bash"}];return $.value&&y.push({title:"Create an API key",description:"Authentication is enabled on this instance, so the reporter needs a key to submit results. Create one, then set it as PIWI_API_KEY in your CI secrets (used by the snippet below).",action:"create-api-key"}),y.push({title:"Configure Playwright",description:k?"Add the reporter to your playwright.config.ts. While this app is running it needs no URL or token — the reporter finds it automatically.":"Add the reporter to your playwright.config.ts.",code:N.value,lang:"typescript"},{title:"Run your tests",description:"Results appear in the dashboard automatically. The project is created on first submit.",code:"npx playwright test",lang:"bash"}),y.map((t,p)=>({id:p+1,...t}))}),h=["zero","one","two","three","four","five","six"],O=x(()=>h[T.value.length]??String(T.value.length)),o=Q(!1);return(y,t)=>{const p=Z,I=He,v=Ce,V=ee,F=Me,A=Le,K=de;return n(),f(K,null,{header:u(()=>[e("div",vt,[e("div",bt,[l(p,{name:"i-lucide-rocket",class:"size-5 text-primary"})]),e("div",null,[e("h2",kt,[t[1]||(t[1]=c(" Get started in 60 seconds ",-1)),l(I,{topic:"home.get-started"})]),e("p",Rt,"Send your first test run in "+m(s(O))+" steps",1)])])]),footer:u(()=>[e("div",Ut,[e("span",null,[t[18]||(t[18]=c("Need more options? See the ",-1)),l(A,{to:"reporter","no-icon":"",class:"text-primary hover:underline"},{default:u(()=>[...t[17]||(t[17]=[c("full reporter docs",-1)])]),_:1}),t[19]||(t[19]=c(".",-1))]),l(V,{to:s(We)("demo/"),target:"_blank",variant:"ghost",size:"sm",color:"neutral","trailing-icon":"i-lucide-external-link"},{default:u(()=>[...t[20]||(t[20]=[c(" View demo with sample data ",-1)])]),_:1},8,["to"])])]),default:u(()=>[e("div",null,[(n(!0),d(E,null,H(s(T),(b,B)=>(n(),d("div",{key:b.id,class:"flex gap-4"},[e("div",wt,[e("div",{class:j(["flex size-8 items-center justify-center rounded-full text-sm font-semibold",b.done?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":"bg-primary/10 text-primary"])},[b.done?(n(),f(p,{key:0,name:"i-lucide-check",class:"size-4"})):(n(),d("span",$t,m(b.id),1))],2),B<s(T).length-1?(n(),d("div",Ct)):_("",!0)]),e("div",Tt,[e("div",Ft,[e("h3",jt,m(b.title),1),b.done?(n(),f(v,{key:0,color:"success",variant:"subtle",size:"xs"},{default:u(()=>[...t[2]||(t[2]=[c("Done",-1)])]),_:1})):_("",!0)]),e("p",St,m(b.description),1),b.action==="create-api-key"?(n(),f(V,{key:0,to:"/settings/users",icon:"i-lucide-key-round",size:"sm",variant:"soft"},{default:u(()=>[...t[3]||(t[3]=[c(" Create an API key ",-1)])]),_:1})):_("",!0),b.code?(n(),f(F,{key:1,code:b.code,lang:b.lang},null,8,["code","lang"])):_("",!0)])]))),128)),e("div",Pt,[e("button",{class:"flex items-center gap-2 text-sm font-medium text-gray-600 dark:text-gray-300 hover:text-primary dark:hover:text-primary transition-colors w-full text-left",onClick:t[0]||(t[0]=b=>o.value=!s(o))},[l(p,{name:"i-lucide-chevron-right",class:j(["size-4 transition-transform duration-200",s(o)?"rotate-90":""])},null,8,["class"]),t[4]||(t[4]=c(" Go further — simpler config & capture fixtures ",-1))]),s(o)?(n(),d("div",zt,[e("div",null,[t[5]||(t[5]=e("h4",{class:"font-medium text-sm mb-1"},[c(" Simpler config with "),e("code",{class:"text-primary text-xs"},"wrapConfig")],-1)),t[6]||(t[6]=e("p",{class:"text-sm text-gray-600 dark:text-gray-400 mb-3"},[c(" Instead of manually adding the reporter array entry, "),e("code",{class:"text-xs bg-gray-100 dark:bg-gray-800 px-1 py-0.5 rounded"},"wrapConfig"),c(" auto-injects the reporter and chains the global setup in one call. It also registers the run on the dashboard "),e("em",null,"before"),c(" your "),e("code",{class:"text-xs bg-gray-100 dark:bg-gray-800 px-1 py-0.5 rounded"},"globalSetup"),c(" runs, so the dashboard shows an initializing state during setup. ")],-1)),l(F,{code:s(U),lang:"typescript"},null,8,["code"])]),e("div",null,[t[14]||(t[14]=e("h4",{class:"font-medium text-sm mb-1"},[c(" Capture fixtures — network, Web Vitals, console & locator healing with "),e("code",{class:"text-primary text-xs"},"piwiFixtures")],-1)),e("p",It,[t[8]||(t[8]=c(" Extend your Playwright ",-1)),t[9]||(t[9]=e("code",{class:"text-xs bg-gray-100 dark:bg-gray-800 px-1 py-0.5 rounded"},"test",-1)),t[10]||(t[10]=c(" with ",-1)),t[11]||(t[11]=e("code",{class:"text-xs bg-gray-100 dark:bg-gray-800 px-1 py-0.5 rounded"},"piwiFixtures",-1)),t[12]||(t[12]=c(" to automatically capture network timing, browser Web Vitals, console errors, ARIA snapshots on failure, and the locator snapshots that power locator healing. See the ",-1)),l(A,{to:"capture-fixtures","no-icon":"",class:"text-primary hover:underline"},{default:u(()=>[...t[7]||(t[7]=[c("capture fixtures guide",-1)])]),_:1}),t[13]||(t[13]=c(". ",-1))]),t[15]||(t[15]=e("p",{class:"text-xs font-semibold uppercase tracking-wide text-gray-400 dark:text-gray-500 mb-2"}," Option A — extend your existing fixtures ",-1)),l(F,{code:Vt,lang:"typescript",class:"mb-3"}),l(F,{code:At,lang:"typescript",class:"mb-4"}),t[16]||(t[16]=e("p",{class:"text-xs font-semibold uppercase tracking-wide text-gray-400 dark:text-gray-500 mb-2"}," Option B — one-line extend ",-1)),l(F,{code:Nt,lang:"typescript"})])])):_("",!0)])])]),_:1})}}}),Dt=Object.assign(Et,{__name:"GetStartedWizard"}),Ot={key:0,class:"p-6"},Bt={key:1,class:"p-6 space-y-8","aria-busy":"true"},Lt={class:"grid grid-cols-1 xl:grid-cols-3 gap-6 items-start"},Wt={class:"xl:col-span-2 space-y-3"},Ht={class:"space-y-3"},Mt={key:2,class:"p-6 space-y-8"},Gt={key:1,class:"flex flex-wrap items-center gap-x-8 gap-y-3 text-sm border border-gray-200 dark:border-gray-700 rounded-xl px-6 py-4 bg-gray-50 dark:bg-gray-900/50"},Kt={class:"flex items-center gap-1.5"},Yt={class:"font-semibold tabular-nums"},qt={class:"flex items-center gap-1.5"},Jt={class:"flex items-center gap-1.5"},Qt={key:0,class:"flex items-center gap-1.5"},Xt={class:"font-semibold tabular-nums"},Zt={class:"flex items-center gap-1.5"},es={class:"font-semibold tabular-nums"},ts={key:2,class:"grid grid-cols-1 xl:grid-cols-3 gap-6 items-start"},ss={class:"xl:col-span-2"},ns={class:"divide-y divide-gray-100 dark:divide-gray-800 text-sm"},rs={class:"flex-1 min-w-0"},as={class:"font-medium truncate"},os={class:"text-xs text-gray-400"},is={class:"text-right tabular-nums shrink-0"},ls={key:3,class:"text-center py-12 text-gray-500 dark:text-gray-400"},us={class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4"},ds={class:"flex flex-col gap-3 h-full"},cs={class:"p-2 bg-primary/10 rounded-lg w-fit"},ms={class:"text-xs font-semibold uppercase tracking-wide text-primary mb-1"},ps={class:"font-semibold mb-1"},gs={class:"text-sm text-gray-600 dark:text-gray-400"},ae=6,Ys=X({__name:"index",setup(D){Fe({title:"Piwi Dashboard"});const{data:w,error:$,refresh:k,status:z}=re("/api/projects/overview",{lazy:!0,default:()=>[]},"$cnA6-rHww6"),{data:C,error:N,refresh:U}=re("/api/test-runs/recent",{lazy:!0},"$LEgADC56ri");Ke(()=>Promise.all([k(),U()]));const T=x(()=>z.value==="pending"&&!w.value?.length),h=x(()=>$.value||N.value);function O(){k(),U()}const o=Ye("piwi-home-filters",{default:()=>({environments:[],fullRunsOnly:!0}),encode:i=>JSON.stringify(i),decode:i=>{try{return i?JSON.parse(i):{environments:[],fullRunsOnly:!0}}catch{return{environments:[],fullRunsOnly:!0}}}}),y=x(()=>{const i=new Set;for(const a of C.value??[])a.environment&&i.add(a.environment);for(const a of w.value??[])for(const R of a.recentRuns)R.environment&&i.add(R.environment);return[...i].sort()});function t(i){return o.value.environments.length===0?!0:!!i&&o.value.environments.includes(i)}const p=x(()=>{let i=C.value??[];return o.value.fullRunsOnly&&(i=i.filter(a=>a.isFullRun)),o.value.environments.length>0&&(i=i.filter(a=>t(a.environment))),i}),I=x(()=>{let i=w.value??[];return o.value.environments.length>0&&(i=i.map(a=>({...a,recentRuns:a.recentRuns.filter(R=>t(R.environment))})).filter(a=>a.recentRuns.length>0)),i}),v=x(()=>{const i=I.value,a=i.length,R=i.filter(P=>P.tendency==="failing").length,M=i.filter(P=>P.tendency==="flaky").length;let L=0,Y=0;for(const P of i)P.latestFullRun&&(L+=P.latestFullRun.passedTests,Y+=P.latestFullRun.totalTests);const q=Y>0?Math.round(L/Y*100):null,te=Date.now()-1440*60*1e3,W=p.value.filter(P=>new Date(P.startTime).getTime()>te).length;return{totalProjects:a,failingNow:R,flakyNow:M,avgPassRate:q,runs24h:W}}),V=new Set(["running","initialising","finalizing"]),F=Q(!1),A=x(()=>[...p.value].sort((a,R)=>{const M=V.has(a.status)?0:1,L=V.has(R.status)?0:1;return M!==L?M-L:new Date(R.startTime).getTime()-new Date(a.startTime).getTime()})),K=x(()=>F.value?A.value:A.value.slice(0,ae)),b=x(()=>A.value.length>ae),B=x(()=>p.value.length>0),r=x(()=>(w.value?.length??0)>0),S=x(()=>o.value.fullRunsOnly?(C.value??[]).filter(R=>t(R.environment)).filter(R=>!R.isFullRun).length:0);function ce(){o.value={...o.value,fullRunsOnly:!1}}function me(i){const a=G(i);return a>=90?"text-green-600 dark:text-green-400":a>=50?"text-yellow-600 dark:text-yellow-400":"text-red-600 dark:text-red-400"}function pe(i){return V.has(i)?"border-l-blue-400":i==="passed"?"border-l-green-500":i==="failed"||i==="timedout"||i==="interrupted"?"border-l-red-500":"border-l-gray-300 dark:border-l-gray-600"}const ge=[{icon:"i-lucide-radio",tagline:"Watch your CI run live",title:"Live streaming",description:"Follow test execution in real time. Investigate failures while the suite is still running — no waiting for the CI job to finish."},{icon:"i-lucide-layers",tagline:"10 failures, 2 root causes",title:"Failure clustering",description:"Tests sharing the same error are grouped automatically. Triage one cluster instead of scrolling through unrelated failures."},{icon:"i-lucide-brain-circuit",tagline:"Diagnosis grounded in your code",title:"AI diagnosis",description:"AI analyzes failure clusters using your actual SCM diff, trace files, and run history — not a generic prompt."},{icon:"i-lucide-archive",tagline:"Every run, forever",title:"Permanent test intelligence",description:"Test results, traces, and HTML reports stored permanently. Compare runs, track flakiness trends, and never lose a CI result again."}];return(i,a)=>{const R=Re,M=we,L=st,Y=Ie,q=ee,te=Ue,W=Ve,P=Ae,J=Z,fe=ht,ye=ie,_e=le,xe=oe,he=ue,ve=Dt,be=de,ke=ze;return n(),f(ke,{id:"home"},{header:u(()=>[l(Y,null,je({leading:u(()=>[l(R),l(M,{items:[{label:"Home",icon:"i-lucide-house",to:"/"}]})]),_:2},[s(r)?{name:"trailing",fn:u(()=>[l(L,{modelValue:s(o),"onUpdate:modelValue":a[0]||(a[0]=g=>se(o)?o.value=g:null),"available-environments":s(y)},null,8,["modelValue","available-environments"])]),key:"0"}:void 0]),1024)]),body:u(()=>[s(h)?(n(),d("div",Ot,[l(te,{text:`Couldn't load the dashboard: ${s(Be)(s(h))}`},{action:u(()=>[l(q,{size:"sm",color:"neutral",variant:"outline",icon:"i-lucide-refresh-cw",onClick:O},{default:u(()=>[...a[3]||(a[3]=[c(" Retry ",-1)])]),_:1})]),_:1},8,["text"])])):s(T)?(n(),d("div",Bt,[a[4]||(a[4]=e("span",{class:"sr-only",role:"status"},"Loading dashboard…",-1)),l(W,{class:"h-14 w-full rounded-xl"}),e("div",Lt,[e("div",Wt,[l(W,{class:"h-7 w-40"}),l(W,{class:"h-72 w-full rounded-lg"})]),e("div",Ht,[l(W,{class:"h-7 w-32"}),(n(),d(E,null,H(5,g=>l(W,{key:g,class:"h-12 w-full rounded-lg"})),64))])])])):(n(),d("div",Mt,[s(S)>0?(n(),f(P,{key:0,icon:"i-lucide-info",color:"primary",variant:"subtle",title:s(S)===1?"1 partial run is hidden":`${s(S)} partial runs are hidden`,description:"The “Full runs only” filter hides runs that only cover part of the suite (e.g. a single spec or --grep).",actions:[{label:"Show them",color:"primary",variant:"solid",size:"xs",onClick:ce}]},null,8,["title","actions"])):_("",!0),s(r)?(n(),d("div",Gt,[e("div",Kt,[l(J,{name:"i-lucide-folder",class:"size-4 text-primary shrink-0"}),e("span",Yt,m(s(v).totalProjects),1),a[5]||(a[5]=e("span",{class:"text-gray-500"},"projects",-1))]),e("div",qt,[e("div",{class:j(["w-2 h-2 rounded-full shrink-0",s(v).failingNow>0?"bg-red-500":"bg-green-500"])},null,2),e("span",{class:j(["font-semibold tabular-nums",s(v).failingNow>0?"text-red-600 dark:text-red-400":""])},m(s(v).failingNow),3),a[6]||(a[6]=e("span",{class:"text-gray-500"},"failing now",-1))]),e("div",Jt,[e("div",{class:j(["w-2 h-2 rounded-full shrink-0",s(v).flakyNow>0?"bg-amber-400":"bg-gray-300 dark:bg-gray-600"])},null,2),e("span",{class:j(["font-semibold tabular-nums",s(v).flakyNow>0?"text-amber-600 dark:text-amber-400":""])},m(s(v).flakyNow),3),a[7]||(a[7]=e("span",{class:"text-gray-500"},"flaky",-1))]),s(v).avgPassRate!==null?(n(),d("div",Qt,[l(J,{name:"i-lucide-check-circle",class:"size-4 text-green-500 shrink-0"}),e("span",Xt,m(s(v).avgPassRate)+"%",1),a[8]||(a[8]=e("span",{class:"text-gray-500"},"avg pass rate",-1))])):_("",!0),e("div",Zt,[l(J,{name:"i-lucide-play-circle",class:"size-4 text-primary shrink-0"}),e("span",es,m(s(v).runs24h),1),a[9]||(a[9]=e("span",{class:"text-gray-500"},"runs today",-1))])])):_("",!0),s(r)||s(B)?(n(),d("div",ts,[e("div",ss,[s(r)?(n(),f(fe,{key:0,projects:s(I)},null,8,["projects"])):_("",!0)]),s(B)?(n(),f(he,{key:0,icon:"i-lucide-activity",title:"Recent activity"},{actions:u(()=>[s(b)&&!s(F)?(n(),f(q,{key:0,variant:"ghost",size:"sm","trailing-icon":"i-lucide-chevron-down",onClick:a[1]||(a[1]=g=>F.value=!0)},{default:u(()=>[c(" Show all "+m(s(A).length),1)]),_:1})):s(F)?(n(),f(q,{key:1,variant:"ghost",size:"sm","trailing-icon":"i-lucide-chevron-up",onClick:a[2]||(a[2]=g=>F.value=!1)},{default:u(()=>[...a[10]||(a[10]=[c(" Show less ",-1)])]),_:1})):_("",!0)]),default:u(()=>[e("div",ns,[(n(!0),d(E,null,H(s(K),g=>(n(),f(xe,{key:g.id,to:`/test-runs/${g.id}`,class:j(["flex items-center gap-3 py-3 pl-3 border-l-2 hover:bg-gray-50 dark:hover:bg-gray-800/60 rounded-r transition-colors",pe(g.status)])},{default:u(()=>[l(ye,{status:g.status},null,8,["status"]),e("div",rs,[e("div",as,m(g.projectLabel||g.projectName),1),e("div",os,"Run #"+m(g.id)+" · "+m(("formatRelativeTime"in i?i.formatRelativeTime:s(ne))(g.startTime)),1)]),e("div",is,[e("div",{class:j(me(g))},m(("passRate"in i?i.passRate:s(G))(g))+"%",3),g.duration?(n(),f(_e,{key:0,ms:g.duration,class:"block text-xs text-gray-400"},null,8,["ms"])):_("",!0)])]),_:2},1032,["to","class"]))),128))])]),_:1})):_("",!0)])):_("",!0),s(r)&&!s(B)&&s(I).length===0?(n(),d("div",ls,[l(J,{name:"i-lucide-filter-x",class:"size-8 mx-auto mb-2 opacity-40"}),a[11]||(a[11]=e("p",null,"No runs match the current filters.",-1))])):_("",!0),s(r)?_("",!0):(n(),d(E,{key:4},[l(ve),e("div",us,[(n(),d(E,null,H(ge,g=>l(be,{key:g.title,class:"flex flex-col"},{default:u(()=>[e("div",ds,[e("div",cs,[l(J,{name:g.icon,class:"size-5 text-primary"},null,8,["name"])]),e("div",null,[e("p",ms,m(g.tagline),1),e("h3",ps,m(g.title),1),e("p",gs,m(g.description),1)])])]),_:2},1024)),64))])],64))]))]),_:1})}}});export{Ys as default};
44
+ )`),T=x(()=>{const y=[{title:"Start the dashboard",description:"You're already here — the dashboard is running.",done:!0},{title:"Install the reporter",description:"Add the Piwi reporter to your Playwright project.",code:"npm install --save-dev @piwitests/reporter",lang:"bash"}];return $.value&&y.push({title:"Create an API key",description:"Authentication is enabled on this instance, so the reporter needs a key to submit results. Create one, then set it as PIWI_API_KEY in your CI secrets (used by the snippet below).",action:"create-api-key"}),y.push({title:"Configure Playwright",description:k?"Add the reporter to your playwright.config.ts. While this app is running it needs no URL or token — the reporter finds it automatically.":"Add the reporter to your playwright.config.ts.",code:N.value,lang:"typescript"},{title:"Run your tests",description:"Results appear in the dashboard automatically. The project is created on first submit.",code:"npx playwright test",lang:"bash"}),y.map((t,p)=>({id:p+1,...t}))}),h=["zero","one","two","three","four","five","six"],O=x(()=>h[T.value.length]??String(T.value.length)),o=Q(!1);return(y,t)=>{const p=Z,I=He,v=Ce,V=ee,F=Me,A=Le,K=de;return n(),f(K,null,{header:u(()=>[e("div",vt,[e("div",bt,[l(p,{name:"i-lucide-rocket",class:"size-5 text-primary"})]),e("div",null,[e("h2",kt,[t[1]||(t[1]=c(" Get started in 60 seconds ",-1)),l(I,{topic:"home.get-started"})]),e("p",Rt,"Send your first test run in "+m(s(O))+" steps",1)])])]),footer:u(()=>[e("div",Ut,[e("span",null,[t[18]||(t[18]=c("Need more options? See the ",-1)),l(A,{to:"reporter","no-icon":"",class:"text-primary hover:underline"},{default:u(()=>[...t[17]||(t[17]=[c("full reporter docs",-1)])]),_:1}),t[19]||(t[19]=c(".",-1))]),l(V,{to:s(We)("demo/"),target:"_blank",variant:"ghost",size:"sm",color:"neutral","trailing-icon":"i-lucide-external-link"},{default:u(()=>[...t[20]||(t[20]=[c(" View demo with sample data ",-1)])]),_:1},8,["to"])])]),default:u(()=>[e("div",null,[(n(!0),d(E,null,H(s(T),(b,B)=>(n(),d("div",{key:b.id,class:"flex gap-4"},[e("div",wt,[e("div",{class:j(["flex size-8 items-center justify-center rounded-full text-sm font-semibold",b.done?"bg-green-100 text-green-700 dark:bg-green-900/30 dark:text-green-400":"bg-primary/10 text-primary"])},[b.done?(n(),f(p,{key:0,name:"i-lucide-check",class:"size-4"})):(n(),d("span",$t,m(b.id),1))],2),B<s(T).length-1?(n(),d("div",Ct)):_("",!0)]),e("div",Tt,[e("div",Ft,[e("h3",jt,m(b.title),1),b.done?(n(),f(v,{key:0,color:"success",variant:"subtle",size:"xs"},{default:u(()=>[...t[2]||(t[2]=[c("Done",-1)])]),_:1})):_("",!0)]),e("p",St,m(b.description),1),b.action==="create-api-key"?(n(),f(V,{key:0,to:"/settings/users",icon:"i-lucide-key-round",size:"sm",variant:"soft"},{default:u(()=>[...t[3]||(t[3]=[c(" Create an API key ",-1)])]),_:1})):_("",!0),b.code?(n(),f(F,{key:1,code:b.code,lang:b.lang},null,8,["code","lang"])):_("",!0)])]))),128)),e("div",Pt,[e("button",{class:"flex items-center gap-2 text-sm font-medium text-gray-600 dark:text-gray-300 hover:text-primary dark:hover:text-primary transition-colors w-full text-left",onClick:t[0]||(t[0]=b=>o.value=!s(o))},[l(p,{name:"i-lucide-chevron-right",class:j(["size-4 transition-transform duration-200",s(o)?"rotate-90":""])},null,8,["class"]),t[4]||(t[4]=c(" Go further — simpler config & capture fixtures ",-1))]),s(o)?(n(),d("div",zt,[e("div",null,[t[5]||(t[5]=e("h4",{class:"font-medium text-sm mb-1"},[c(" Simpler config with "),e("code",{class:"text-primary text-xs"},"wrapConfig")],-1)),t[6]||(t[6]=e("p",{class:"text-sm text-gray-600 dark:text-gray-400 mb-3"},[c(" Instead of manually adding the reporter array entry, "),e("code",{class:"text-xs bg-gray-100 dark:bg-gray-800 px-1 py-0.5 rounded"},"wrapConfig"),c(" auto-injects the reporter and chains the global setup in one call. It also registers the run on the dashboard "),e("em",null,"before"),c(" your "),e("code",{class:"text-xs bg-gray-100 dark:bg-gray-800 px-1 py-0.5 rounded"},"globalSetup"),c(" runs, so the dashboard shows an initializing state during setup. ")],-1)),l(F,{code:s(U),lang:"typescript"},null,8,["code"])]),e("div",null,[t[14]||(t[14]=e("h4",{class:"font-medium text-sm mb-1"},[c(" Capture fixtures — network, Web Vitals, console & locator healing with "),e("code",{class:"text-primary text-xs"},"piwiFixtures")],-1)),e("p",It,[t[8]||(t[8]=c(" Extend your Playwright ",-1)),t[9]||(t[9]=e("code",{class:"text-xs bg-gray-100 dark:bg-gray-800 px-1 py-0.5 rounded"},"test",-1)),t[10]||(t[10]=c(" with ",-1)),t[11]||(t[11]=e("code",{class:"text-xs bg-gray-100 dark:bg-gray-800 px-1 py-0.5 rounded"},"piwiFixtures",-1)),t[12]||(t[12]=c(" to automatically capture network timing, browser Web Vitals, console errors, ARIA snapshots on failure, and the locator snapshots that power locator healing. See the ",-1)),l(A,{to:"capture-fixtures","no-icon":"",class:"text-primary hover:underline"},{default:u(()=>[...t[7]||(t[7]=[c("capture fixtures guide",-1)])]),_:1}),t[13]||(t[13]=c(". ",-1))]),t[15]||(t[15]=e("p",{class:"text-xs font-semibold uppercase tracking-wide text-gray-400 dark:text-gray-500 mb-2"}," Option A — extend your existing fixtures ",-1)),l(F,{code:Vt,lang:"typescript",class:"mb-3"}),l(F,{code:At,lang:"typescript",class:"mb-4"}),t[16]||(t[16]=e("p",{class:"text-xs font-semibold uppercase tracking-wide text-gray-400 dark:text-gray-500 mb-2"}," Option B — one-line extend ",-1)),l(F,{code:Nt,lang:"typescript"})])])):_("",!0)])])]),_:1})}}}),Dt=Object.assign(Et,{__name:"GetStartedWizard"}),Ot={key:0,class:"p-6"},Bt={key:1,class:"p-6 space-y-8","aria-busy":"true"},Lt={class:"grid grid-cols-1 xl:grid-cols-3 gap-6 items-start"},Wt={class:"xl:col-span-2 space-y-3"},Ht={class:"space-y-3"},Mt={key:2,class:"p-6 space-y-8"},Gt={key:1,class:"flex flex-wrap items-center gap-x-8 gap-y-3 text-sm border border-gray-200 dark:border-gray-700 rounded-xl px-6 py-4 bg-gray-50 dark:bg-gray-900/50"},Kt={class:"flex items-center gap-1.5"},Yt={class:"font-semibold tabular-nums"},qt={class:"flex items-center gap-1.5"},Jt={class:"flex items-center gap-1.5"},Qt={key:0,class:"flex items-center gap-1.5"},Xt={class:"font-semibold tabular-nums"},Zt={class:"flex items-center gap-1.5"},es={class:"font-semibold tabular-nums"},ts={key:2,class:"grid grid-cols-1 xl:grid-cols-3 gap-6 items-start"},ss={class:"xl:col-span-2"},ns={class:"divide-y divide-gray-100 dark:divide-gray-800 text-sm"},rs={class:"flex-1 min-w-0"},as={class:"font-medium truncate"},os={class:"text-xs text-gray-400"},is={class:"text-right tabular-nums shrink-0"},ls={key:3,class:"text-center py-12 text-gray-500 dark:text-gray-400"},us={class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4"},ds={class:"flex flex-col gap-3 h-full"},cs={class:"p-2 bg-primary/10 rounded-lg w-fit"},ms={class:"text-xs font-semibold uppercase tracking-wide text-primary mb-1"},ps={class:"font-semibold mb-1"},gs={class:"text-sm text-gray-600 dark:text-gray-400"},ae=6,Ks=X({__name:"index",setup(D){Fe({title:"Piwi Dashboard"});const{data:w,error:$,refresh:k,status:z}=re("/api/projects/overview",{lazy:!0,default:()=>[]},"$cnA6-rHww6"),{data:C,error:N,refresh:U}=re("/api/test-runs/recent",{lazy:!0},"$LEgADC56ri");Ke(()=>Promise.all([k(),U()]));const T=x(()=>z.value==="pending"&&!w.value?.length),h=x(()=>$.value||N.value);function O(){k(),U()}const o=Ye("piwi-home-filters",{default:()=>({environments:[],fullRunsOnly:!0}),encode:i=>JSON.stringify(i),decode:i=>{try{return i?JSON.parse(i):{environments:[],fullRunsOnly:!0}}catch{return{environments:[],fullRunsOnly:!0}}}}),y=x(()=>{const i=new Set;for(const a of C.value??[])a.environment&&i.add(a.environment);for(const a of w.value??[])for(const R of a.recentRuns)R.environment&&i.add(R.environment);return[...i].sort()});function t(i){return o.value.environments.length===0?!0:!!i&&o.value.environments.includes(i)}const p=x(()=>{let i=C.value??[];return o.value.fullRunsOnly&&(i=i.filter(a=>a.isFullRun)),o.value.environments.length>0&&(i=i.filter(a=>t(a.environment))),i}),I=x(()=>{let i=w.value??[];return o.value.environments.length>0&&(i=i.map(a=>({...a,recentRuns:a.recentRuns.filter(R=>t(R.environment))})).filter(a=>a.recentRuns.length>0)),i}),v=x(()=>{const i=I.value,a=i.length,R=i.filter(P=>P.tendency==="failing").length,M=i.filter(P=>P.tendency==="flaky").length;let L=0,Y=0;for(const P of i)P.latestFullRun&&(L+=P.latestFullRun.passedTests,Y+=P.latestFullRun.totalTests);const q=Y>0?Math.round(L/Y*100):null,te=Date.now()-1440*60*1e3,W=p.value.filter(P=>new Date(P.startTime).getTime()>te).length;return{totalProjects:a,failingNow:R,flakyNow:M,avgPassRate:q,runs24h:W}}),V=new Set(["running","initialising","finalizing"]),F=Q(!1),A=x(()=>[...p.value].sort((a,R)=>{const M=V.has(a.status)?0:1,L=V.has(R.status)?0:1;return M!==L?M-L:new Date(R.startTime).getTime()-new Date(a.startTime).getTime()})),K=x(()=>F.value?A.value:A.value.slice(0,ae)),b=x(()=>A.value.length>ae),B=x(()=>p.value.length>0),r=x(()=>(w.value?.length??0)>0),S=x(()=>o.value.fullRunsOnly?(C.value??[]).filter(R=>t(R.environment)).filter(R=>!R.isFullRun).length:0);function ce(){o.value={...o.value,fullRunsOnly:!1}}function me(i){const a=G(i);return a>=90?"text-green-600 dark:text-green-400":a>=50?"text-yellow-600 dark:text-yellow-400":"text-red-600 dark:text-red-400"}function pe(i){return V.has(i)?"border-l-blue-400":i==="passed"?"border-l-green-500":i==="failed"||i==="timedout"||i==="interrupted"?"border-l-red-500":"border-l-gray-300 dark:border-l-gray-600"}const ge=[{icon:"i-lucide-radio",tagline:"Watch your CI run live",title:"Live streaming",description:"Follow test execution in real time. Investigate failures while the suite is still running — no waiting for the CI job to finish."},{icon:"i-lucide-layers",tagline:"10 failures, 2 root causes",title:"Failure clustering",description:"Tests sharing the same error are grouped automatically. Triage one cluster instead of scrolling through unrelated failures."},{icon:"i-lucide-brain-circuit",tagline:"Diagnosis grounded in your code",title:"AI diagnosis",description:"AI analyzes failure clusters using your actual SCM diff, trace files, and run history — not a generic prompt."},{icon:"i-lucide-archive",tagline:"Every run, forever",title:"Permanent test intelligence",description:"Test results, traces, and HTML reports stored permanently. Compare runs, track flakiness trends, and never lose a CI result again."}];return(i,a)=>{const R=Re,M=we,L=st,Y=Ie,q=ee,te=Ue,W=Ve,P=Ae,J=Z,fe=ht,ye=ie,_e=le,xe=oe,he=ue,ve=Dt,be=de,ke=ze;return n(),f(ke,{id:"home"},{header:u(()=>[l(Y,null,je({leading:u(()=>[l(R),l(M,{items:[{label:"Home",icon:"i-lucide-house",to:"/"}]})]),_:2},[s(r)?{name:"trailing",fn:u(()=>[l(L,{modelValue:s(o),"onUpdate:modelValue":a[0]||(a[0]=g=>se(o)?o.value=g:null),"available-environments":s(y)},null,8,["modelValue","available-environments"])]),key:"0"}:void 0]),1024)]),body:u(()=>[s(h)?(n(),d("div",Ot,[l(te,{text:`Couldn't load the dashboard: ${s(Be)(s(h))}`},{action:u(()=>[l(q,{size:"sm",color:"neutral",variant:"outline",icon:"i-lucide-refresh-cw",onClick:O},{default:u(()=>[...a[3]||(a[3]=[c(" Retry ",-1)])]),_:1})]),_:1},8,["text"])])):s(T)?(n(),d("div",Bt,[a[4]||(a[4]=e("span",{class:"sr-only",role:"status"},"Loading dashboard…",-1)),l(W,{class:"h-14 w-full rounded-xl"}),e("div",Lt,[e("div",Wt,[l(W,{class:"h-7 w-40"}),l(W,{class:"h-72 w-full rounded-lg"})]),e("div",Ht,[l(W,{class:"h-7 w-32"}),(n(),d(E,null,H(5,g=>l(W,{key:g,class:"h-12 w-full rounded-lg"})),64))])])])):(n(),d("div",Mt,[s(S)>0?(n(),f(P,{key:0,icon:"i-lucide-info",color:"primary",variant:"subtle",title:s(S)===1?"1 partial run is hidden":`${s(S)} partial runs are hidden`,description:"The “Full runs only” filter hides runs that only cover part of the suite (e.g. a single spec or --grep).",actions:[{label:"Show them",color:"primary",variant:"solid",size:"xs",onClick:ce}]},null,8,["title","actions"])):_("",!0),s(r)?(n(),d("div",Gt,[e("div",Kt,[l(J,{name:"i-lucide-folder",class:"size-4 text-primary shrink-0"}),e("span",Yt,m(s(v).totalProjects),1),a[5]||(a[5]=e("span",{class:"text-gray-500"},"projects",-1))]),e("div",qt,[e("div",{class:j(["w-2 h-2 rounded-full shrink-0",s(v).failingNow>0?"bg-red-500":"bg-green-500"])},null,2),e("span",{class:j(["font-semibold tabular-nums",s(v).failingNow>0?"text-red-600 dark:text-red-400":""])},m(s(v).failingNow),3),a[6]||(a[6]=e("span",{class:"text-gray-500"},"failing now",-1))]),e("div",Jt,[e("div",{class:j(["w-2 h-2 rounded-full shrink-0",s(v).flakyNow>0?"bg-amber-400":"bg-gray-300 dark:bg-gray-600"])},null,2),e("span",{class:j(["font-semibold tabular-nums",s(v).flakyNow>0?"text-amber-600 dark:text-amber-400":""])},m(s(v).flakyNow),3),a[7]||(a[7]=e("span",{class:"text-gray-500"},"flaky",-1))]),s(v).avgPassRate!==null?(n(),d("div",Qt,[l(J,{name:"i-lucide-check-circle",class:"size-4 text-green-500 shrink-0"}),e("span",Xt,m(s(v).avgPassRate)+"%",1),a[8]||(a[8]=e("span",{class:"text-gray-500"},"avg pass rate",-1))])):_("",!0),e("div",Zt,[l(J,{name:"i-lucide-play-circle",class:"size-4 text-primary shrink-0"}),e("span",es,m(s(v).runs24h),1),a[9]||(a[9]=e("span",{class:"text-gray-500"},"runs today",-1))])])):_("",!0),s(r)||s(B)?(n(),d("div",ts,[e("div",ss,[s(r)?(n(),f(fe,{key:0,projects:s(I)},null,8,["projects"])):_("",!0)]),s(B)?(n(),f(he,{key:0,icon:"i-lucide-activity",title:"Recent activity"},{actions:u(()=>[s(b)&&!s(F)?(n(),f(q,{key:0,variant:"ghost",size:"sm","trailing-icon":"i-lucide-chevron-down",onClick:a[1]||(a[1]=g=>F.value=!0)},{default:u(()=>[c(" Show all "+m(s(A).length),1)]),_:1})):s(F)?(n(),f(q,{key:1,variant:"ghost",size:"sm","trailing-icon":"i-lucide-chevron-up",onClick:a[2]||(a[2]=g=>F.value=!1)},{default:u(()=>[...a[10]||(a[10]=[c(" Show less ",-1)])]),_:1})):_("",!0)]),default:u(()=>[e("div",ns,[(n(!0),d(E,null,H(s(K),g=>(n(),f(xe,{key:g.id,to:`/test-runs/${g.id}`,class:j(["flex items-center gap-3 py-3 pl-3 border-l-2 hover:bg-gray-50 dark:hover:bg-gray-800/60 rounded-r transition-colors",pe(g.status)])},{default:u(()=>[l(ye,{status:g.status},null,8,["status"]),e("div",rs,[e("div",as,m(g.projectLabel||g.projectName),1),e("div",os,"Run #"+m(g.id)+" · "+m(("formatRelativeTime"in i?i.formatRelativeTime:s(ne))(g.startTime)),1)]),e("div",is,[e("div",{class:j(me(g))},m(("passRate"in i?i.passRate:s(G))(g))+"%",3),g.duration?(n(),f(_e,{key:0,ms:g.duration,class:"block text-xs text-gray-400"},null,8,["ms"])):_("",!0)])]),_:2},1032,["to","class"]))),128))])]),_:1})):_("",!0)])):_("",!0),s(r)&&!s(B)&&s(I).length===0?(n(),d("div",ls,[l(J,{name:"i-lucide-filter-x",class:"size-8 mx-auto mb-2 opacity-40"}),a[11]||(a[11]=e("p",null,"No runs match the current filters.",-1))])):_("",!0),s(r)?_("",!0):(n(),d(E,{key:4},[l(ve),e("div",us,[(n(),d(E,null,H(ge,g=>l(be,{key:g.title,class:"flex flex-col"},{default:u(()=>[e("div",ds,[e("div",cs,[l(J,{name:g.icon,class:"size-5 text-primary"},null,8,["name"])]),e("div",null,[e("p",ms,m(g.tagline),1),e("h3",ps,m(g.title),1),e("p",gs,m(g.description),1)])])]),_:2},1024)),64))])],64))]))]),_:1})}}});export{Ks as default};
@@ -1 +1 @@
1
- import{bW as Je,r as A,h as K,aM as et,d as D,Y as Ae,Z as $e,b6 as ve,az as tt,o as d,f as w,g as m,V as T,k as e,a$ as Ve,c as H,v as j,F as le,y as Se,W as $,ba as at,$ as me,H as Le,i as Be,bH as lt,bi as He,bm as it,bg as nt,bf as rt,bh as ot,bX as We,au as st,j as N,bk as ut,C as fe,bl as dt,ag as je,bV as ct,bY as De,U as ne,B as Q,K as ce,aE as pt,X as Y,Q as ft,a0 as xe,bn as gt,bo as vt,ad as Ue,a1 as Ee,aC as mt,ah as yt,aA as Oe,aK as ht,bj as bt,br as _t,be as St,m as ie,t as pe,a2 as xt,a3 as qt,a5 as wt,a6 as Ct,a7 as It,bs as Tt,aN as kt,bt as Pt,aY as Bt,aP as Re,b4 as ae,q as M,p as _e,aI as Fe,bv as zt,aH as de,bu as At,bw as Me,bx as Pe,aZ as Lt,a8 as Et,bz as Ot}from"./NQikbhmK.js";import{u as $t}from"./g26aVPxc.js";function Ne(i,s=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY){return Math.min(a,Math.max(s,i))}function Vt(i){const s=Je({nonce:A()});return K(()=>i?.value||s.nonce?.value)}const Dt=[" ","Enter","ArrowUp","ArrowDown"],Rt=[" ","Enter"],G=10;function ge(i,s,a){return i===void 0?!1:Array.isArray(i)?i.some(f=>ze(f,s,a)):ze(i,s,a)}function ze(i,s,a){return i===void 0||s===void 0?!1:typeof i=="string"?i===s:typeof a=="function"?a(i,s):typeof a=="string"?i?.[a]===s?.[a]:et(i,s)}function Ft(i){return i==null||i===""||Array.isArray(i)&&i.length===0}const Mt=["value"],[J,Ge]=me("SelectRoot");var Nt=D({inheritAttrs:!1,__name:"SelectRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},nullableValue:{type:String,required:!1,default:""},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","update:open"],setup(i,{emit:s}){const a=i,f=s,{required:r,disabled:u,multiple:t,dir:c}=Ae(a),g=$e(a,"modelValue",f,{defaultValue:a.defaultValue??(t.value?[]:void 0),passive:a.modelValue===void 0,deep:!0}),v=$e(a,"open",f,{defaultValue:a.defaultOpen,passive:a.open===void 0}),b=A(),y=A(),I=A({x:0,y:0}),C=K(()=>t.value&&Array.isArray(g.value)?g.value?.length===0:Ve(g.value));ve({isProvider:!0});const O=tt(c),F=$t(b),L=A(new Set),h=K(()=>Array.from(L.value).map(l=>l.value).join(";"));function B(l){if(t.value){const _=Array.isArray(g.value)?[...g.value]:[],p=_.findIndex(q=>ze(q,l,a.by));p===-1?_.push(l):_.splice(p,1),g.value=[..._]}else g.value=l}function S(l){return Array.from(L.value).find(_=>ge(l,_.value,a.by))}return Ge({triggerElement:b,onTriggerChange:l=>{b.value=l},valueElement:y,onValueElementChange:l=>{y.value=l},contentId:"",modelValue:g,onValueChange:B,by:a.by,open:v,multiple:t,required:r,onOpenChange:l=>{v.value=l},dir:O,triggerPointerDownPosRef:I,disabled:u,isEmptyModelValue:C,optionsSet:L,onOptionAdd:l=>{const _=S(l.value);_&&L.value.delete(_),L.value.add(l)},onOptionRemove:l=>{const _=S(l.value);_&&L.value.delete(_)}}),(l,_)=>(d(),w(e(at),null,{default:m(()=>[T(l.$slots,"default",{modelValue:e(g),open:e(v)}),e(F)&&l.name?(d(),w(Wt,{key:h.value,"aria-hidden":"true",tabindex:"-1",multiple:e(t),required:e(r),name:l.name,autocomplete:l.autocomplete,disabled:e(u),value:e(g)},{default:m(()=>[e(Ve)(e(g))?(d(),H("option",{key:0,value:l.nullableValue},null,8,Mt)):j("v-if",!0),(d(!0),H(le,null,Se(Array.from(L.value),p=>(d(),H("option",$({key:p.value??""},{ref_for:!0},p),null,16))),128))]),_:1},8,["multiple","required","name","autocomplete","disabled","value"])):j("v-if",!0)]),_:3}))}}),Kt=Nt,Ht=D({__name:"BubbleSelect",props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(i){const s=i,a=A(),f=J();Le(()=>s.value,(u,t)=>{const c=window.HTMLSelectElement.prototype,v=Object.getOwnPropertyDescriptor(c,"value").set;if(u!==t&&v&&a.value){const b=new Event("change",{bubbles:!0});v.call(a.value,u),a.value.dispatchEvent(b)}});function r(u){f.onValueChange(u.target.value)}return(u,t)=>(d(),w(e(lt),{"as-child":""},{default:m(()=>[Be("select",$({ref_key:"selectElement",ref:a},s,{onInput:r}),[T(u.$slots,"default")],16)]),_:3}))}}),Wt=Ht,jt=D({__name:"SelectPopperPosition",props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:"start"},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1,default:G},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const a=He(i);return(f,r)=>(d(),w(e(it),$(e(a),{style:{boxSizing:"border-box","--reka-select-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-select-content-available-width":"var(--reka-popper-available-width)","--reka-select-content-available-height":"var(--reka-popper-available-height)","--reka-select-trigger-width":"var(--reka-popper-anchor-width)","--reka-select-trigger-height":"var(--reka-popper-anchor-height)"}}),{default:m(()=>[T(f.$slots,"default")]),_:3},16))}}),Ut=jt;const Ye={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[ye,Xe]=me("SelectContent");var Gt=D({__name:"SelectContentImpl",props:{position:{type:String,required:!1,default:"item-aligned"},bodyLock:{type:Boolean,required:!1,default:!0},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:"start"},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(i,{emit:s}){const a=i,f=s,r=J();nt(),rt(a.bodyLock);const{CollectionSlot:u,getItems:t}=ve(),c=A();ot(c);const{search:g,handleTypeaheadSearch:v}=We(),b=A(),y=A(),I=A(),C=A(!1),O=A(!1),F=A(!1);function L(){y.value&&c.value&&De([y.value,c.value])}Le(C,()=>{L()});const{onOpenChange:h,triggerPointerDownPosRef:B}=r;st(p=>{if(!c.value)return;let q={x:0,y:0};const k=P=>{q={x:Math.abs(Math.round(P.pageX)-(B.value?.x??0)),y:Math.abs(Math.round(P.pageY)-(B.value?.y??0))}},z=P=>{P.pointerType!=="touch"&&(q.x<=10&&q.y<=10?P.preventDefault():c.value?.contains(P.target)||h(!1),document.removeEventListener("pointermove",k),B.value=null)};B.value!==null&&(document.addEventListener("pointermove",k),document.addEventListener("pointerup",z,{capture:!0,once:!0})),p(()=>{document.removeEventListener("pointermove",k),document.removeEventListener("pointerup",z,{capture:!0})})});function S(p){const q=p.ctrlKey||p.altKey||p.metaKey;if(p.key==="Tab"&&p.preventDefault(),!q&&p.key.length===1&&v(p.key,t()),["ArrowUp","ArrowDown","Home","End"].includes(p.key)){let z=[...t().map(P=>P.ref)];if(["ArrowUp","End"].includes(p.key)&&(z=z.slice().reverse()),["ArrowUp","ArrowDown"].includes(p.key)){const P=p.target,Z=z.indexOf(P);z=z.slice(Z+1)}setTimeout(()=>De(z)),p.preventDefault()}}const l=K(()=>a.position==="popper"?a:{}),_=He(l.value);return Xe({content:c,viewport:b,onViewportChange:p=>{b.value=p},itemRefCallback:(p,q,k)=>{const z=!O.value&&!k,P=ge(r.modelValue.value,q,r.by);if(r.multiple.value){if(F.value)return;(P||z)&&(y.value=p,P&&(F.value=!0))}else(P||z)&&(y.value=p);z&&(O.value=!0)},selectedItem:y,selectedItemText:I,onItemLeave:()=>{c.value?.focus()},itemTextRefCallback:(p,q,k)=>{const z=!O.value&&!k;(ge(r.modelValue.value,q,r.by)||z)&&(I.value=p)},focusSelectedItem:L,position:a.position,isPositioned:C,searchRef:g}),(p,q)=>(d(),w(e(u),null,{default:m(()=>[N(e(ut),{"as-child":"",onMountAutoFocus:q[6]||(q[6]=fe(()=>{},["prevent"])),onUnmountAutoFocus:q[7]||(q[7]=k=>{f("closeAutoFocus",k),!k.defaultPrevented&&(e(r).triggerElement.value?.focus({preventScroll:!0}),k.preventDefault())})},{default:m(()=>[N(e(dt),{"as-child":"","disable-outside-pointer-events":p.disableOutsidePointerEvents,onFocusOutside:q[2]||(q[2]=fe(()=>{},["prevent"])),onDismiss:q[3]||(q[3]=k=>e(r).onOpenChange(!1)),onEscapeKeyDown:q[4]||(q[4]=k=>f("escapeKeyDown",k)),onPointerDownOutside:q[5]||(q[5]=k=>f("pointerDownOutside",k))},{default:m(()=>[(d(),w(je(p.position==="popper"?Ut:Jt),$({...p.$attrs,...e(_)},{id:e(r).contentId,ref:k=>{if(!k)return;const z=e(ct)(k);z?.hasAttribute("data-reka-popper-content-wrapper")?c.value=z.firstElementChild:c.value=z},role:"listbox","data-state":e(r).open.value?"open":"closed",dir:e(r).dir.value,style:{display:"flex",flexDirection:"column",outline:"none"},onContextmenu:q[0]||(q[0]=fe(()=>{},["prevent"])),onPlaced:q[1]||(q[1]=k=>C.value=!0),onKeydown:S}),{default:m(()=>[T(p.$slots,"default")]),_:3},16,["id","data-state","dir","onKeydown"]))]),_:3},8,["disable-outside-pointer-events"])]),_:3})]),_:3}))}}),Yt=Gt;const[Xt,Zt]=me("SelectItemAlignedPosition");var Qt=D({inheritAttrs:!1,__name:"SelectItemAlignedPosition",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["placed"],setup(i,{emit:s}){const a=i,f=s,{getItems:r}=ve(),u=J(),t=ye(),c=A(!1),g=A(!0),v=A(),{forwardRef:b,currentElement:y}=ne(),{viewport:I,selectedItem:C,selectedItemText:O,focusSelectedItem:F}=t;function L(){if(u.triggerElement.value&&u.valueElement.value&&v.value&&y.value&&I?.value&&C?.value&&O?.value){const S=u.triggerElement.value.getBoundingClientRect(),l=y.value.getBoundingClientRect(),_=u.valueElement.value.getBoundingClientRect(),p=O.value.getBoundingClientRect();if(u.dir.value!=="rtl"){const o=p.left-l.left,V=_.left-o,R=S.left-V,W=S.width+R,U=Math.max(W,l.width),ee=window.innerWidth-G,n=Ne(V,G,Math.max(G,ee-U));v.value.style.minWidth=`${W}px`,v.value.style.left=`${n}px`}else{const o=l.right-p.right,V=window.innerWidth-_.right-o,R=window.innerWidth-S.right-V,W=S.width+R,U=Math.max(W,l.width),ee=window.innerWidth-G,n=Ne(V,G,Math.max(G,ee-U));v.value.style.minWidth=`${W}px`,v.value.style.right=`${n}px`}const q=r().map(o=>o.ref),k=window.innerHeight-G*2,z=I.value.scrollHeight,P=window.getComputedStyle(y.value),Z=Number.parseInt(P.borderTopWidth,10),re=Number.parseInt(P.paddingTop,10),oe=Number.parseInt(P.borderBottomWidth,10),qe=Number.parseInt(P.paddingBottom,10),he=Z+re+z+qe+oe,x=Math.min(C.value.offsetHeight*5,he),se=window.getComputedStyle(I.value),be=Number.parseInt(se.paddingTop,10),we=Number.parseInt(se.paddingBottom,10),X=S.top+S.height/2-G,Ce=k-X,ue=C.value.offsetHeight/2,Ie=C.value.offsetTop+ue,E=Z+re+Ie,Te=he-E;if(E<=X){const o=C.value===q.at(-1);v.value.style.bottom="0px";const V=y.value.clientHeight-I.value.offsetTop-I.value.offsetHeight,R=Math.max(Ce,ue+(o?we:0)+V+oe),W=E+R;v.value.style.height=`${W}px`}else{const o=C.value===q[0];v.value.style.top="0px";const R=Math.max(X,Z+I.value.offsetTop+(o?be:0)+ue)+Te;v.value.style.height=`${R}px`,I.value.scrollTop=E-X+I.value.offsetTop}v.value.style.margin=`${G}px 0`,v.value.style.minHeight=`${x}px`,v.value.style.maxHeight=`${k}px`,f("placed"),requestAnimationFrame(()=>c.value=!0)}}const h=A("");Q(async()=>{await ce(),L(),y.value&&(h.value=window.getComputedStyle(y.value).zIndex)});function B(S){S&&g.value===!0&&(L(),F?.(),g.value=!1)}return pt(u.triggerElement,()=>{L()}),Zt({contentWrapper:v,shouldExpandOnScrollRef:c,onScrollButtonChange:B}),(S,l)=>(d(),H("div",{ref_key:"contentWrapperElement",ref:v,style:ft({display:"flex",flexDirection:"column",position:"fixed",zIndex:h.value})},[N(e(Y),$({ref:e(b),style:{boxSizing:"border-box",maxHeight:"100%"}},{...S.$attrs,...a}),{default:m(()=>[T(S.$slots,"default")]),_:3},16)],4))}}),Jt=Qt,ea=D({__name:"SelectArrow",props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"svg"}},setup(i){const s=i,a=ye(Ye);return(f,r)=>e(a).position==="popper"?(d(),w(e(gt),xe($({key:0},s)),{default:m(()=>[T(f.$slots,"default")]),_:3},16)):j("v-if",!0)}}),ta=ea,aa=D({inheritAttrs:!1,__name:"SelectProvider",props:{context:{type:Object,required:!0}},setup(i){return Ge(i.context),Xe(Ye),(a,f)=>T(a.$slots,"default")}}),la=aa;const ia={key:1};var na=D({inheritAttrs:!1,__name:"SelectContent",props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(i,{emit:s}){const a=i,r=vt(a,s),u=J(),t=A();Q(()=>{t.value=new DocumentFragment});const c=A(),g=K(()=>a.forceMount||u.open.value),v=A(g.value);let b;function y(){b&&(clearTimeout(b),b=void 0)}return Le(g,(I,C,O)=>{y(),b=setTimeout(()=>{v.value=g.value,b=void 0}),O(y)}),Ue(y),(I,C)=>g.value||v.value||c.value?.present?(d(),w(e(mt),{key:0,ref_key:"presenceRef",ref:c,present:g.value},{default:m(()=>[N(Yt,xe(Ee({...e(r),...I.$attrs})),{default:m(()=>[T(I.$slots,"default")]),_:3},16)]),_:3},8,["present"])):t.value?(d(),H("div",ia,[(d(),w(yt,{to:t.value},[N(la,{context:e(u)},{default:m(()=>[T(I.$slots,"default")]),_:3},8,["context"])],8,["to"]))])):j("v-if",!0)}}),ra=na;const[oa,sa]=me("SelectGroup");var ua=D({__name:"SelectGroup",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const s=i,a=Oe(void 0,"reka-select-group");return sa({id:a}),(f,r)=>(d(),w(e(Y),$({role:"group"},s,{"aria-labelledby":e(a)}),{default:m(()=>[T(f.$slots,"default")]),_:3},16,["aria-labelledby"]))}}),da=ua;const[Ze,ca]=me("SelectItem");var pa=D({__name:"SelectItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(i,{emit:s}){const a=i,f=s,{disabled:r}=Ae(a),u=J(),t=ye(),{forwardRef:c,currentElement:g}=ne(),{CollectionItem:v}=ve(),b=K(()=>ge(u.modelValue?.value,a.value,u.by)),y=A(!1),I=A(a.textValue??""),C=Oe(void 0,"reka-select-item-text"),O="select.select";async function F(l){if(l.defaultPrevented)return;const _={originalEvent:l,value:a.value};ht(O,L,_)}async function L(l){await ce(),f("select",l),!l.defaultPrevented&&(r.value||(u.onValueChange(a.value),u.multiple.value||u.onOpenChange(!1)))}async function h(l){await ce(),!l.defaultPrevented&&(r.value?t.onItemLeave?.():l.currentTarget?.focus({preventScroll:!0}))}async function B(l){await ce(),!l.defaultPrevented&&l.currentTarget===bt()&&t.onItemLeave?.()}async function S(l){await ce(),!(l.defaultPrevented||t.searchRef?.value!==""&&l.key===" ")&&(Rt.includes(l.key)&&F(l),l.key===" "&&l.preventDefault())}if(a.value==="")throw new Error("A <SelectItem /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return Q(()=>{g.value&&t.itemRefCallback(g.value,a.value,a.disabled)}),ca({value:a.value,disabled:r,textId:C,isSelected:b,onItemTextChange:l=>{I.value=((I.value||l?.textContent)??"").trim()}}),(l,_)=>(d(),w(e(v),{value:{textValue:I.value}},{default:m(()=>[N(e(Y),{ref:e(c),role:"option","aria-labelledby":e(C),"data-highlighted":y.value?"":void 0,"aria-selected":b.value,"data-state":b.value?"checked":"unchecked","aria-disabled":e(r)||void 0,"data-disabled":e(r)?"":void 0,tabindex:e(r)?void 0:-1,as:l.as,"as-child":l.asChild,onFocus:_[0]||(_[0]=p=>y.value=!0),onBlur:_[1]||(_[1]=p=>y.value=!1),onPointerup:F,onPointerdown:_[2]||(_[2]=p=>{p.currentTarget.focus({preventScroll:!0})}),onTouchend:_[3]||(_[3]=fe(()=>{},["prevent","stop"])),onPointermove:h,onPointerleave:B,onKeydown:S},{default:m(()=>[T(l.$slots,"default")]),_:3},8,["aria-labelledby","data-highlighted","aria-selected","data-state","aria-disabled","data-disabled","tabindex","as","as-child"])]),_:3},8,["value"]))}}),fa=pa,ga=D({__name:"SelectItemIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(i){const s=i,a=Ze();return(f,r)=>e(a).isSelected.value?(d(),w(e(Y),$({key:0,"aria-hidden":"true"},s),{default:m(()=>[T(f.$slots,"default")]),_:3},16)):j("v-if",!0)}}),va=ga,ma=D({inheritAttrs:!1,__name:"SelectItemText",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(i){const s=i,a=J(),f=ye(),r=Ze(),{forwardRef:u,currentElement:t}=ne(),c=K(()=>({value:r.value,disabled:r.disabled.value,textContent:t.value?.textContent??r.value?.toString()??""}));return Q(()=>{t.value&&(r.onItemTextChange(t.value),f.itemTextRefCallback(t.value,r.value,r.disabled.value),a.onOptionAdd(c.value))}),Ue(()=>{a.onOptionRemove(c.value)}),(g,v)=>(d(),w(e(Y),$({id:e(r).textId,ref:e(u)},{...s,...g.$attrs}),{default:m(()=>[T(g.$slots,"default")]),_:3},16,["id"]))}}),ya=ma,ha=D({__name:"SelectLabel",props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(i){const s=i,a=oa({id:""});return(f,r)=>(d(),w(e(Y),$(s,{id:e(a).id}),{default:m(()=>[T(f.$slots,"default")]),_:3},16,["id"]))}}),ba=ha,_a=D({__name:"SelectPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(i){const s=i;return(a,f)=>(d(),w(e(_t),xe(Ee(s)),{default:m(()=>[T(a.$slots,"default")]),_:3},16))}}),Sa=_a,xa=D({__name:"SelectSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const s=i;return(a,f)=>(d(),w(e(Y),$({"aria-hidden":"true"},s),{default:m(()=>[T(a.$slots,"default")]),_:3},16))}}),qa=xa,wa=D({__name:"SelectTrigger",props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(i){const s=i,a=J(),{forwardRef:f,currentElement:r}=ne(),u=K(()=>a.disabled?.value||s.disabled);a.contentId||=Oe(void 0,"reka-select-content"),Q(()=>{a.onTriggerChange(r.value)});const{getItems:t}=ve(),{search:c,handleTypeaheadSearch:g,resetTypeahead:v}=We();function b(){u.value||(a.onOpenChange(!0),v())}function y(h){b(),a.triggerPointerDownPosRef.value={x:Math.round(h.pageX),y:Math.round(h.pageY)}}function I(h){return h.button===0&&h.ctrlKey===!1}let C=!1;function O(h){if(h.pointerType==="touch")return h.preventDefault();const B=h.target;B.hasPointerCapture(h.pointerId)&&B.releasePointerCapture(h.pointerId),I(h)&&(y(h),C=!0)}function F(h){I(h)&&h.preventDefault()}function L(h){C||h.currentTarget?.focus(),C=!1}return(h,B)=>(d(),w(e(St),{"as-child":"",reference:h.reference},{default:m(()=>[N(e(Y),{ref:e(f),role:"combobox",type:h.as==="button"?"button":void 0,"aria-controls":e(a).contentId,"aria-expanded":e(a).open.value||!1,"aria-required":e(a).required?.value,"aria-autocomplete":"none",disabled:u.value,dir:e(a)?.dir.value,"data-state":e(a)?.open.value?"open":"closed","data-disabled":u.value?"":void 0,"data-placeholder":e(Ft)(e(a).modelValue?.value)?"":void 0,"as-child":h.asChild,as:h.as,onClick:L,onPointerdown:O,onMousedown:F,onPointerup:B[0]||(B[0]=fe(S=>{S.pointerType==="touch"&&y(S)},["prevent"])),onKeydown:B[1]||(B[1]=S=>{const l=e(c)!=="";!(S.ctrlKey||S.altKey||S.metaKey)&&S.key.length===1&&l&&S.key===" "||(e(g)(S.key,e(t)()),e(Dt).includes(S.key)&&(b(),S.preventDefault()))})},{default:m(()=>[T(h.$slots,"default")]),_:3},8,["type","aria-controls","aria-expanded","aria-required","disabled","dir","data-state","data-disabled","data-placeholder","as-child","as"])]),_:3},8,["reference"]))}}),Ca=wa,Ia=D({__name:"SelectValue",props:{placeholder:{type:String,required:!1,default:""},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(i){const s=i,{forwardRef:a,currentElement:f}=ne(),r=J();Q(()=>{r.valueElement=f});const u=K(()=>{let c=[];const g=Array.from(r.optionsSet.value),v=b=>g.find(y=>ge(b,y.value,r.by));return Array.isArray(r.modelValue.value)?c=r.modelValue.value.map(b=>v(b)?.textContent??""):c=[v(r.modelValue.value)?.textContent??""],c.filter(Boolean)}),t=K(()=>u.value.length?u.value.join(", "):s.placeholder);return(c,g)=>(d(),w(e(Y),{ref:e(a),as:c.as,"as-child":c.asChild,style:{pointerEvents:"none"},"data-placeholder":u.value.length?void 0:s.placeholder},{default:m(()=>[T(c.$slots,"default",{selectedLabel:u.value,modelValue:e(r).modelValue.value},()=>[ie(pe(t.value),1)])]),_:3},8,["as","as-child","data-placeholder"]))}}),Ta=Ia,ka=D({__name:"SelectViewport",props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const s=i,{nonce:a}=Ae(s),f=Vt(a),r=ye(),u=r.position==="item-aligned"?Xt():void 0,{forwardRef:t,currentElement:c}=ne();Q(()=>{r?.onViewportChange(c.value)});const g=A(0);function v(b){const y=b.currentTarget,{shouldExpandOnScrollRef:I,contentWrapper:C}=u??{};if(I?.value&&C?.value){const O=Math.abs(g.value-y.scrollTop);if(O>0){const F=window.innerHeight-G*2,L=Number.parseFloat(C.value.style.minHeight),h=Number.parseFloat(C.value.style.height),B=Math.max(L,h);if(B<F){const S=B+O,l=Math.min(F,S),_=S-l;C.value.style.height=`${l}px`,C.value.style.bottom==="0px"&&(y.scrollTop=_>0?_:0,C.value.style.justifyContent="flex-end")}}}g.value=y.scrollTop}return(b,y)=>(d(),H(le,null,[N(e(Y),$({ref:e(t),"data-reka-select-viewport":"",role:"presentation"},{...b.$attrs,...s},{style:{position:"relative",flex:1,overflow:"hidden auto"},onScroll:v}),{default:m(()=>[T(b.$slots,"default")]),_:3},16),N(e(Y),{as:"style",nonce:e(f)},{default:m(()=>y[0]||(y[0]=[ie(" /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-select-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-select-viewport]::-webkit-scrollbar { display: none; } ")])),_:1,__:[0]},8,["nonce"])],64))}}),Pa=ka;const Ke={slots:{base:["relative group rounded-md inline-flex items-center disabled:cursor-not-allowed disabled:opacity-75","transition-colors"],leading:"absolute inset-y-0 start-0 flex items-center",leadingIcon:"shrink-0 text-dimmed",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailing:"absolute inset-y-0 end-0 flex items-center",trailingIcon:"shrink-0 text-dimmed",value:"truncate pointer-events-none",placeholder:"truncate text-dimmed",arrow:"fill-bg stroke-default",content:"max-h-[min(15rem,var(--reka-select-content-available-height,15rem))] w-(--reka-select-trigger-width) bg-default shadow-lg rounded-md ring ring-default overflow-hidden origin-(--reka-select-content-transform-origin) pointer-events-auto flex flex-col",viewport:"relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1",group:"p-1 isolate",empty:"text-center text-muted",label:"font-semibold text-highlighted",separator:"-mx-1 my-1 h-px bg-border",item:["group relative w-full flex items-start select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75 text-default data-highlighted:not-data-disabled:text-highlighted data-highlighted:not-data-disabled:before:bg-elevated/50","transition-colors before:transition-colors"],itemLeadingIcon:["shrink-0 text-dimmed group-data-highlighted:not-group-data-disabled:text-default","transition-colors"],itemLeadingAvatar:"shrink-0",itemLeadingAvatarSize:"",itemLeadingChip:"shrink-0",itemLeadingChipSize:"",itemTrailing:"ms-auto inline-flex gap-1.5 items-center",itemTrailingIcon:"shrink-0",itemWrapper:"flex-1 flex flex-col min-w-0",itemLabel:"truncate",itemDescription:"truncate text-muted"},variants:{fieldGroup:{horizontal:"not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1]",vertical:"not-only:first:rounded-b-none not-only:last:rounded-t-none not-last:not-first:rounded-none focus-visible:z-[1]"},size:{xs:{base:"px-2 py-1 text-xs gap-1",leading:"ps-2",trailing:"pe-2",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4",label:"p-1 text-[10px]/3 gap-1",item:"p-1 text-xs gap-1",itemLeadingIcon:"size-4",itemLeadingAvatarSize:"3xs",itemLeadingChip:"size-4",itemLeadingChipSize:"sm",itemTrailingIcon:"size-4",empty:"p-2 text-xs"},sm:{base:"px-2.5 py-1.5 text-xs gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4",label:"p-1.5 text-[10px]/3 gap-1.5",item:"p-1.5 text-xs gap-1.5",itemLeadingIcon:"size-4",itemLeadingAvatarSize:"3xs",itemLeadingChip:"size-4",itemLeadingChipSize:"sm",itemTrailingIcon:"size-4",empty:"p-2.5 text-xs"},md:{base:"px-2.5 py-1.5 text-sm gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5",label:"p-1.5 text-xs gap-1.5",item:"p-1.5 text-sm gap-1.5",itemLeadingIcon:"size-5",itemLeadingAvatarSize:"2xs",itemLeadingChip:"size-5",itemLeadingChipSize:"md",itemTrailingIcon:"size-5",empty:"p-2.5 text-sm"},lg:{base:"px-3 py-2 text-sm gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5",label:"p-2 text-xs gap-2",item:"p-2 text-sm gap-2",itemLeadingIcon:"size-5",itemLeadingAvatarSize:"2xs",itemLeadingChip:"size-5",itemLeadingChipSize:"md",itemTrailingIcon:"size-5",empty:"p-3 text-sm"},xl:{base:"px-3 py-2 text-base gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-6",leadingAvatarSize:"xs",trailingIcon:"size-6",label:"p-2 text-sm gap-2",item:"p-2 text-base gap-2",itemLeadingIcon:"size-6",itemLeadingAvatarSize:"xs",itemLeadingChip:"size-6",itemLeadingChipSize:"lg",itemTrailingIcon:"size-6",empty:"p-3 text-base"}},variant:{outline:"text-highlighted bg-default ring ring-inset ring-accented hover:bg-elevated disabled:bg-default",soft:"text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50",subtle:"text-highlighted bg-elevated ring ring-inset ring-accented hover:bg-accented/75 disabled:bg-elevated",ghost:"text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",none:"text-highlighted bg-transparent focus:outline-none"},color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},leading:{true:""},trailing:{true:""},loading:{true:""},highlight:{true:""},fixed:{false:""},type:{file:"file:me-1.5 file:font-medium file:text-muted file:outline-none"},position:{popper:{content:"data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in]"},"item-aligned":{content:""}},multiple:{true:""}},compoundVariants:[{color:"primary",variant:["outline","subtle"],class:"outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary"},{color:"secondary",variant:["outline","subtle"],class:"outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary"},{color:"success",variant:["outline","subtle"],class:"outline-success/25 focus-visible:outline-3 focus-visible:ring-success"},{color:"info",variant:["outline","subtle"],class:"outline-info/25 focus-visible:outline-3 focus-visible:ring-info"},{color:"warning",variant:["outline","subtle"],class:"outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning"},{color:"error",variant:["outline","subtle"],class:"outline-error/25 focus-visible:outline-3 focus-visible:ring-error"},{color:"primary",variant:["soft","ghost"],class:"outline-primary/25 focus-visible:outline-3"},{color:"secondary",variant:["soft","ghost"],class:"outline-secondary/25 focus-visible:outline-3"},{color:"success",variant:["soft","ghost"],class:"outline-success/25 focus-visible:outline-3"},{color:"info",variant:["soft","ghost"],class:"outline-info/25 focus-visible:outline-3"},{color:"warning",variant:["soft","ghost"],class:"outline-warning/25 focus-visible:outline-3"},{color:"error",variant:["soft","ghost"],class:"outline-error/25 focus-visible:outline-3"},{color:"primary",highlight:!0,class:"ring ring-inset ring-primary"},{color:"secondary",highlight:!0,class:"ring ring-inset ring-secondary"},{color:"success",highlight:!0,class:"ring ring-inset ring-success"},{color:"info",highlight:!0,class:"ring ring-inset ring-info"},{color:"warning",highlight:!0,class:"ring ring-inset ring-warning"},{color:"error",highlight:!0,class:"ring ring-inset ring-error"},{color:"neutral",variant:["outline","subtle"],class:"outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted"},{color:"neutral",variant:["soft","ghost"],class:"outline-inverted/25 focus-visible:outline-3"},{color:"neutral",highlight:!0,class:"ring ring-inset ring-inverted"},{leading:!0,size:"xs",class:"ps-7"},{leading:!0,size:"sm",class:"ps-8"},{leading:!0,size:"md",class:"ps-9"},{leading:!0,size:"lg",class:"ps-10"},{leading:!0,size:"xl",class:"ps-11"},{trailing:!0,size:"xs",class:"pe-7"},{trailing:!0,size:"sm",class:"pe-8"},{trailing:!0,size:"md",class:"pe-9"},{trailing:!0,size:"lg",class:"pe-10"},{trailing:!0,size:"xl",class:"pe-11"},{loading:!0,leading:!0,class:{leadingIcon:"animate-spin"}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:"animate-spin"}},{fixed:!1,size:"xs",class:"md:text-xs"},{fixed:!1,size:"sm",class:"md:text-xs"},{fixed:!1,size:"md",class:"md:text-sm"},{fixed:!1,size:"lg",class:"md:text-sm"}],defaultVariants:{size:"md",color:"primary",variant:"outline",position:"popper"}},Aa=Object.assign({inheritAttrs:!1},{__name:"USelect",props:{id:{type:String,required:!1},placeholder:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},trailingIcon:{type:null,required:!1},selectedIcon:{type:null,required:!1},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},valueKey:{type:null,required:!1,default:"value"},labelKey:{type:null,required:!1,default:"label"},descriptionKey:{type:null,required:!1,default:"description"},items:{type:null,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},modelModifiers:{type:null,required:!1},multiple:{type:Boolean,required:!1},highlight:{type:Boolean,required:!1},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},class:{type:null,required:!1},ui:{type:Object,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},nullableValue:{type:String,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},emits:["change","blur","focus","update:modelValue","update:open"],setup(i,{expose:s,emit:a}){const f=i,r=a,u=xt(),t=qt("select",f),c=wt(),g=Ct(It(t,"open","defaultOpen","disabled","autocomplete","required","multiple","nullableValue"),r),v=Tt(ae(()=>t.portal)),b=K(()=>t.content?.position??c.ui?.select?.defaultVariants?.position??Ke.defaultVariants?.position),y=ae(()=>Pe(t.content,{side:"bottom",sideOffset:8,collisionPadding:8,position:b.value})),I=ae(()=>Pe(t.arrow,{rounded:!0})),{emitFormChange:C,emitFormInput:O,emitFormBlur:F,emitFormFocus:L,size:h,color:B,id:S,name:l,highlight:_,disabled:p,ariaAttrs:q}=kt(f),{orientation:k,size:z}=Pt(f),{isLeading:P,isTrailing:Z,leadingIconName:re,trailingIconName:oe}=Bt(ae(()=>Pe(t,{trailingIcon:c.ui.icons.chevronDown}))),qe=K(()=>z.value||h.value),he=K(()=>b.value==="item-aligned"),x=K(()=>Et({extend:Ke,...c.ui?.select||{}})({color:B.value??t.color,variant:t.variant,size:qe.value??t.size,loading:t.loading,highlight:_.value??t.highlight,leading:P.value||!!t.avatar||!!u.leading,trailing:Z.value||!!u.trailing,fieldGroup:k.value,position:b.value,multiple:t.multiple})),se=K(()=>t.items?.length?Ot(t.items)?t.items:[t.items]:[]),be=K(()=>se.value.flatMap(o=>o));function we(o){if(t.multiple&&Array.isArray(o)){const V=o.map(R=>Me(be.value,R,{labelKey:t.labelKey,valueKey:t.valueKey})).filter(R=>R!=null&&R!=="");return V.length>0?V.join(", "):void 0}return Me(be.value,o,{labelKey:t.labelKey,valueKey:t.valueKey})}const X=Re("triggerRef");function Ce(){t.autofocus&&X.value?.$el?.focus({focusVisible:!0})}Q(()=>{setTimeout(()=>{Ce()},t.autofocusDelay)});function ue(o){t.modelModifiers?.trim&&(typeof o=="string"||o===null||o===void 0)&&(o=o?.trim()??null),t.modelModifiers?.number&&(o=Lt(o)),t.modelModifiers?.nullable&&(o??=null),t.modelModifiers?.optional&&!t.modelModifiers?.nullable&&o!==null&&(o??=void 0);const V=new Event("change",{target:{value:o}});r("change",V),C(),O()}function Ie(o){if(o){const V=new FocusEvent("focus");r("focus",V),L()}else{const V=new FocusEvent("blur");r("blur",V),F()}}function E(o){return typeof o=="object"&&o!==null}function Te(o){o||X.value?.$el?.dispatchEvent(new PointerEvent("pointerdown",{bubbles:!0,button:0}))}const ke=Re("viewportRef");return s({triggerRef:ae(()=>X.value?.$el),viewportRef:ae(()=>{const o=ke.value;return o&&typeof o=="object"&&"$el"in o?o.$el:o})}),(o,V)=>(d(),w(e(Kt),$({name:e(l)},e(g),{autocomplete:e(t).autocomplete,disabled:e(p),"default-value":e(t).defaultValue,"model-value":i.modelValue,"onUpdate:modelValue":ue,"onUpdate:open":Ie}),{default:m(({modelValue:R,open:W})=>[N(e(Ca),$({id:e(S),ref_key:"triggerRef",ref:X,"data-slot":"base",class:x.value.base({class:[e(t).ui?.base,e(t).class]})},{...o.$attrs,...e(q)},{onClick:U=>Te(W)}),{default:m(()=>[e(P)||e(t).avatar||u.leading?(d(),H("span",{key:0,"data-slot":"leading",class:M(x.value.leading({class:e(t).ui?.leading}))},[T(o.$slots,"leading",{modelValue:R,open:W,ui:x.value},()=>[e(P)&&e(re)?(d(),w(_e,{key:0,name:e(re),"data-slot":"leadingIcon",class:M(x.value.leadingIcon({class:e(t).ui?.leadingIcon}))},null,8,["name","class"])):e(t).avatar?(d(),w(Fe,$({key:1,size:e(t).ui?.itemLeadingAvatarSize||x.value.itemLeadingAvatarSize()},e(t).avatar,{"data-slot":"itemLeadingAvatar",class:x.value.itemLeadingAvatar({class:e(t).ui?.itemLeadingAvatar})}),null,16,["size","class"])):j("",!0)])],2)):j("",!0),(d(!0),H(le,null,Se([we(R)],U=>(d(),w(e(Ta),{key:U,"data-slot":U!=null?"value":"placeholder",class:M(U!=null?x.value.value({class:e(t).ui?.value}):x.value.placeholder({class:e(t).ui?.placeholder}))},{default:m(()=>[T(o.$slots,"default",{modelValue:R,open:W,ui:x.value},()=>[ie(pe(U??e(t).placeholder??" "),1)])]),_:2},1032,["data-slot","class"]))),128)),e(Z)||u.trailing?(d(),H("span",{key:1,"data-slot":"trailing",class:M(x.value.trailing({class:e(t).ui?.trailing}))},[T(o.$slots,"trailing",{modelValue:R,open:W,ui:x.value},()=>[e(oe)?(d(),w(_e,{key:0,name:e(oe),"data-slot":"trailingIcon",class:M(x.value.trailingIcon({class:e(t).ui?.trailingIcon}))},null,8,["name","class"])):j("",!0)])],2)):j("",!0)]),_:2},1040,["id","class","onClick"]),N(e(Sa),xe(Ee(e(v))),{default:m(()=>[N(e(zt),null,{default:m(()=>[N(e(ra),$({"data-slot":"content",class:x.value.content({class:e(t).ui?.content})},y.value),{default:m(()=>[T(o.$slots,"content-top"),(d(),w(je(he.value?e(Pa):"div"),{ref_key:"viewportRef",ref:ke,role:"presentation","data-slot":"viewport",class:M(x.value.viewport({class:e(t).ui?.viewport}))},{default:m(()=>[(d(!0),H(le,null,Se(se.value,(U,ee)=>(d(),w(e(da),{key:`group-${ee}`,"data-slot":"group",class:M(x.value.group({class:e(t).ui?.group}))},{default:m(()=>[(d(!0),H(le,null,Se(U,(n,te)=>(d(),H(le,{key:`group-${ee}-${te}`},[E(n)&&n.type==="label"?(d(),w(e(ba),{key:0,"data-slot":"label",class:M(x.value.label({class:[e(t).ui?.label,n.ui?.label,n.class]}))},{default:m(()=>[ie(pe(e(de)(n,e(t).labelKey)),1)]),_:2},1032,["class"])):E(n)&&n.type==="separator"?(d(),w(e(qa),{key:1,"data-slot":"separator",class:M(x.value.separator({class:[e(t).ui?.separator,n.ui?.separator,n.class]}))},null,8,["class"])):(d(),w(e(fa),{key:2,"data-slot":"item",class:M(x.value.item({class:[e(t).ui?.item,E(n)&&n.ui?.item,E(n)&&n.class]})),disabled:E(n)&&n.disabled,value:E(n)?e(de)(n,e(t).valueKey):n,onSelect:Qe=>E(n)&&n.onSelect?.(Qe)},{default:m(()=>[T(o.$slots,"item",{item:n,index:te,ui:x.value},()=>[T(o.$slots,"item-leading",{item:n,index:te,ui:x.value},()=>[E(n)&&n.icon?(d(),w(_e,{key:0,name:n.icon,"data-slot":"itemLeadingIcon",class:M(x.value.itemLeadingIcon({class:[e(t).ui?.itemLeadingIcon,n.ui?.itemLeadingIcon]}))},null,8,["name","class"])):E(n)&&n.avatar?(d(),w(Fe,$({key:1,size:n.ui?.itemLeadingAvatarSize||e(t).ui?.itemLeadingAvatarSize||x.value.itemLeadingAvatarSize()},{ref_for:!0},n.avatar,{"data-slot":"itemLeadingAvatar",class:x.value.itemLeadingAvatar({class:[e(t).ui?.itemLeadingAvatar,n.ui?.itemLeadingAvatar]})}),null,16,["size","class"])):E(n)&&n.chip?(d(),w(At,$({key:2,size:n.ui?.itemLeadingChipSize||e(t).ui?.itemLeadingChipSize||x.value.itemLeadingChipSize(),inset:"",standalone:""},{ref_for:!0},n.chip,{"data-slot":"itemLeadingChip",class:x.value.itemLeadingChip({class:[e(t).ui?.itemLeadingChip,n.ui?.itemLeadingChip]})}),null,16,["size","class"])):j("",!0)]),Be("span",{"data-slot":"itemWrapper",class:M(x.value.itemWrapper({class:[e(t).ui?.itemWrapper,E(n)&&n.ui?.itemWrapper]}))},[N(e(ya),{"data-slot":"itemLabel",class:M(x.value.itemLabel({class:[e(t).ui?.itemLabel,E(n)&&n.ui?.itemLabel]}))},{default:m(()=>[T(o.$slots,"item-label",{item:n,index:te},()=>[ie(pe(E(n)?e(de)(n,e(t).labelKey):n),1)])]),_:2},1032,["class"]),E(n)&&(e(de)(n,e(t).descriptionKey)||u["item-description"])?(d(),H("span",{key:0,"data-slot":"itemDescription",class:M(x.value.itemDescription({class:[e(t).ui?.itemDescription,E(n)&&n.ui?.itemDescription]}))},[T(o.$slots,"item-description",{item:n,index:te},()=>[ie(pe(e(de)(n,e(t).descriptionKey)),1)])],2)):j("",!0)],2),Be("span",{"data-slot":"itemTrailing",class:M(x.value.itemTrailing({class:[e(t).ui?.itemTrailing,E(n)&&n.ui?.itemTrailing]}))},[T(o.$slots,"item-trailing",{item:n,index:te,ui:x.value}),N(e(va),{"as-child":""},{default:m(()=>[N(_e,{name:e(t).selectedIcon||e(c).ui.icons.check,"data-slot":"itemTrailingIcon",class:M(x.value.itemTrailingIcon({class:[e(t).ui?.itemTrailingIcon,E(n)&&n.ui?.itemTrailingIcon]}))},null,8,["name","class"])]),_:2},1024)],2)])]),_:2},1032,["class","disabled","value","onSelect"]))],64))),128))]),_:2},1032,["class"]))),128))]),_:3},8,["class"])),T(o.$slots,"content-bottom"),e(t).arrow?(d(),w(e(ta),$({key:0},I.value,{"data-slot":"arrow",class:x.value.arrow({class:e(t).ui?.arrow})}),null,16,["class"])):j("",!0)]),_:3},16,["class"])]),_:3})]),_:3},16)]),_:3},16,["name","autocomplete","disabled","default-value","model-value"]))}});export{Aa as _};
1
+ import{bF as Je,r as z,h as K,aN as et,d as D,Y as ze,Z as $e,b7 as ve,aA as tt,o as d,f as w,g as m,V as T,k as e,b0 as Ve,c as H,v as j,F as le,y as Se,W as $,bG as at,$ as me,H as Le,i as Be,bl as lt,bH as He,bI as it,bJ as nt,bK as rt,bL as ot,bM as We,aw as st,j as M,bN as ut,C as fe,bB as dt,ag as je,bD as ct,bO as De,U as ne,B as Z,K as ce,aF as pt,X as Y,Q as ft,a0 as xe,bP as gt,bh as vt,ad as Ue,a1 as Ee,aD as mt,ah as yt,aB as Oe,aL as ht,bz as bt,bQ as _t,bR as St,m as ie,t as pe,a2 as xt,a3 as qt,a5 as wt,a6 as Ct,a7 as It,bi as Tt,aO as Pt,bS as kt,aZ as Bt,aQ as Re,b5 as ae,q as N,p as _e,aJ as Fe,bj as At,aI as de,bq as zt,bT as Ne,bc as ke,a_ as Lt,a8 as Et,bE as Ot}from"./Du2W7Jne.js";import{u as $t}from"./UdR3DBPS.js";function Me(i,s=Number.NEGATIVE_INFINITY,a=Number.POSITIVE_INFINITY){return Math.min(a,Math.max(s,i))}function Vt(i){const s=Je({nonce:z()});return K(()=>i?.value||s.nonce?.value)}const Dt=[" ","Enter","ArrowUp","ArrowDown"],Rt=[" ","Enter"],G=10;function ge(i,s,a){return i===void 0?!1:Array.isArray(i)?i.some(f=>Ae(f,s,a)):Ae(i,s,a)}function Ae(i,s,a){return i===void 0||s===void 0?!1:typeof i=="string"?i===s:typeof a=="function"?a(i,s):typeof a=="string"?i?.[a]===s?.[a]:et(i,s)}function Ft(i){return i==null||i===""||Array.isArray(i)&&i.length===0}const Nt=["value"],[J,Ge]=me("SelectRoot");var Mt=D({inheritAttrs:!1,__name:"SelectRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1,default:void 0},nullableValue:{type:String,required:!1,default:""},by:{type:[String,Function],required:!1},dir:{type:String,required:!1},multiple:{type:Boolean,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","update:open"],setup(i,{emit:s}){const a=i,f=s,{required:r,disabled:u,multiple:t,dir:c}=ze(a),g=$e(a,"modelValue",f,{defaultValue:a.defaultValue??(t.value?[]:void 0),passive:a.modelValue===void 0,deep:!0}),v=$e(a,"open",f,{defaultValue:a.defaultOpen,passive:a.open===void 0}),b=z(),y=z(),I=z({x:0,y:0}),C=K(()=>t.value&&Array.isArray(g.value)?g.value?.length===0:Ve(g.value));ve({isProvider:!0});const O=tt(c),F=$t(b),L=z(new Set),h=K(()=>Array.from(L.value).map(l=>l.value).join(";"));function B(l){if(t.value){const _=Array.isArray(g.value)?[...g.value]:[],p=_.findIndex(q=>Ae(q,l,a.by));p===-1?_.push(l):_.splice(p,1),g.value=[..._]}else g.value=l}function S(l){return Array.from(L.value).find(_=>ge(l,_.value,a.by))}return Ge({triggerElement:b,onTriggerChange:l=>{b.value=l},valueElement:y,onValueElementChange:l=>{y.value=l},contentId:"",modelValue:g,onValueChange:B,by:a.by,open:v,multiple:t,required:r,onOpenChange:l=>{v.value=l},dir:O,triggerPointerDownPosRef:I,disabled:u,isEmptyModelValue:C,optionsSet:L,onOptionAdd:l=>{const _=S(l.value);_&&L.value.delete(_),L.value.add(l)},onOptionRemove:l=>{const _=S(l.value);_&&L.value.delete(_)}}),(l,_)=>(d(),w(e(at),null,{default:m(()=>[T(l.$slots,"default",{modelValue:e(g),open:e(v)}),e(F)&&l.name?(d(),w(Wt,{key:h.value,"aria-hidden":"true",tabindex:"-1",multiple:e(t),required:e(r),name:l.name,autocomplete:l.autocomplete,disabled:e(u),value:e(g)},{default:m(()=>[e(Ve)(e(g))?(d(),H("option",{key:0,value:l.nullableValue},null,8,Nt)):j("v-if",!0),(d(!0),H(le,null,Se(Array.from(L.value),p=>(d(),H("option",$({key:p.value??""},{ref_for:!0},p),null,16))),128))]),_:1},8,["multiple","required","name","autocomplete","disabled","value"])):j("v-if",!0)]),_:3}))}}),Kt=Mt,Ht=D({__name:"BubbleSelect",props:{autocomplete:{type:String,required:!1},autofocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},form:{type:String,required:!1},multiple:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},size:{type:Number,required:!1},value:{type:null,required:!1}},setup(i){const s=i,a=z(),f=J();Le(()=>s.value,(u,t)=>{const c=window.HTMLSelectElement.prototype,v=Object.getOwnPropertyDescriptor(c,"value").set;if(u!==t&&v&&a.value){const b=new Event("change",{bubbles:!0});v.call(a.value,u),a.value.dispatchEvent(b)}});function r(u){f.onValueChange(u.target.value)}return(u,t)=>(d(),w(e(lt),{"as-child":""},{default:m(()=>[Be("select",$({ref_key:"selectElement",ref:a},s,{onInput:r}),[T(u.$slots,"default")],16)]),_:3}))}}),Wt=Ht,jt=D({__name:"SelectPopperPosition",props:{memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:"start"},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1,default:G},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const a=He(i);return(f,r)=>(d(),w(e(it),$(e(a),{style:{boxSizing:"border-box","--reka-select-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-select-content-available-width":"var(--reka-popper-available-width)","--reka-select-content-available-height":"var(--reka-popper-available-height)","--reka-select-trigger-width":"var(--reka-popper-anchor-width)","--reka-select-trigger-height":"var(--reka-popper-anchor-height)"}}),{default:m(()=>[T(f.$slots,"default")]),_:3},16))}}),Ut=jt;const Ye={onViewportChange:()=>{},itemTextRefCallback:()=>{},itemRefCallback:()=>{}},[ye,Qe]=me("SelectContent");var Gt=D({__name:"SelectContentImpl",props:{position:{type:String,required:!1,default:"item-aligned"},bodyLock:{type:Boolean,required:!1,default:!0},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1,default:"start"},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1,default:!0}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(i,{emit:s}){const a=i,f=s,r=J();nt(),rt(a.bodyLock);const{CollectionSlot:u,getItems:t}=ve(),c=z();ot(c);const{search:g,handleTypeaheadSearch:v}=We(),b=z(),y=z(),I=z(),C=z(!1),O=z(!1),F=z(!1);function L(){y.value&&c.value&&De([y.value,c.value])}Le(C,()=>{L()});const{onOpenChange:h,triggerPointerDownPosRef:B}=r;st(p=>{if(!c.value)return;let q={x:0,y:0};const P=k=>{q={x:Math.abs(Math.round(k.pageX)-(B.value?.x??0)),y:Math.abs(Math.round(k.pageY)-(B.value?.y??0))}},A=k=>{k.pointerType!=="touch"&&(q.x<=10&&q.y<=10?k.preventDefault():c.value?.contains(k.target)||h(!1),document.removeEventListener("pointermove",P),B.value=null)};B.value!==null&&(document.addEventListener("pointermove",P),document.addEventListener("pointerup",A,{capture:!0,once:!0})),p(()=>{document.removeEventListener("pointermove",P),document.removeEventListener("pointerup",A,{capture:!0})})});function S(p){const q=p.ctrlKey||p.altKey||p.metaKey;if(p.key==="Tab"&&p.preventDefault(),!q&&p.key.length===1&&v(p.key,t()),["ArrowUp","ArrowDown","Home","End"].includes(p.key)){let A=[...t().map(k=>k.ref)];if(["ArrowUp","End"].includes(p.key)&&(A=A.slice().reverse()),["ArrowUp","ArrowDown"].includes(p.key)){const k=p.target,X=A.indexOf(k);A=A.slice(X+1)}setTimeout(()=>De(A)),p.preventDefault()}}const l=K(()=>a.position==="popper"?a:{}),_=He(l.value);return Qe({content:c,viewport:b,onViewportChange:p=>{b.value=p},itemRefCallback:(p,q,P)=>{const A=!O.value&&!P,k=ge(r.modelValue.value,q,r.by);if(r.multiple.value){if(F.value)return;(k||A)&&(y.value=p,k&&(F.value=!0))}else(k||A)&&(y.value=p);A&&(O.value=!0)},selectedItem:y,selectedItemText:I,onItemLeave:()=>{c.value?.focus()},itemTextRefCallback:(p,q,P)=>{const A=!O.value&&!P;(ge(r.modelValue.value,q,r.by)||A)&&(I.value=p)},focusSelectedItem:L,position:a.position,isPositioned:C,searchRef:g}),(p,q)=>(d(),w(e(u),null,{default:m(()=>[M(e(ut),{"as-child":"",onMountAutoFocus:q[6]||(q[6]=fe(()=>{},["prevent"])),onUnmountAutoFocus:q[7]||(q[7]=P=>{f("closeAutoFocus",P),!P.defaultPrevented&&(e(r).triggerElement.value?.focus({preventScroll:!0}),P.preventDefault())})},{default:m(()=>[M(e(dt),{"as-child":"","disable-outside-pointer-events":p.disableOutsidePointerEvents,onFocusOutside:q[2]||(q[2]=fe(()=>{},["prevent"])),onDismiss:q[3]||(q[3]=P=>e(r).onOpenChange(!1)),onEscapeKeyDown:q[4]||(q[4]=P=>f("escapeKeyDown",P)),onPointerDownOutside:q[5]||(q[5]=P=>f("pointerDownOutside",P))},{default:m(()=>[(d(),w(je(p.position==="popper"?Ut:Jt),$({...p.$attrs,...e(_)},{id:e(r).contentId,ref:P=>{if(!P)return;const A=e(ct)(P);A?.hasAttribute("data-reka-popper-content-wrapper")?c.value=A.firstElementChild:c.value=A},role:"listbox","data-state":e(r).open.value?"open":"closed",dir:e(r).dir.value,style:{display:"flex",flexDirection:"column",outline:"none"},onContextmenu:q[0]||(q[0]=fe(()=>{},["prevent"])),onPlaced:q[1]||(q[1]=P=>C.value=!0),onKeydown:S}),{default:m(()=>[T(p.$slots,"default")]),_:3},16,["id","data-state","dir","onKeydown"]))]),_:3},8,["disable-outside-pointer-events"])]),_:3})]),_:3}))}}),Yt=Gt;const[Qt,Xt]=me("SelectItemAlignedPosition");var Zt=D({inheritAttrs:!1,__name:"SelectItemAlignedPosition",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["placed"],setup(i,{emit:s}){const a=i,f=s,{getItems:r}=ve(),u=J(),t=ye(),c=z(!1),g=z(!0),v=z(),{forwardRef:b,currentElement:y}=ne(),{viewport:I,selectedItem:C,selectedItemText:O,focusSelectedItem:F}=t;function L(){if(u.triggerElement.value&&u.valueElement.value&&v.value&&y.value&&I?.value&&C?.value&&O?.value){const S=u.triggerElement.value.getBoundingClientRect(),l=y.value.getBoundingClientRect(),_=u.valueElement.value.getBoundingClientRect(),p=O.value.getBoundingClientRect();if(u.dir.value!=="rtl"){const o=p.left-l.left,V=_.left-o,R=S.left-V,W=S.width+R,U=Math.max(W,l.width),ee=window.innerWidth-G,n=Me(V,G,Math.max(G,ee-U));v.value.style.minWidth=`${W}px`,v.value.style.left=`${n}px`}else{const o=l.right-p.right,V=window.innerWidth-_.right-o,R=window.innerWidth-S.right-V,W=S.width+R,U=Math.max(W,l.width),ee=window.innerWidth-G,n=Me(V,G,Math.max(G,ee-U));v.value.style.minWidth=`${W}px`,v.value.style.right=`${n}px`}const q=r().map(o=>o.ref),P=window.innerHeight-G*2,A=I.value.scrollHeight,k=window.getComputedStyle(y.value),X=Number.parseInt(k.borderTopWidth,10),re=Number.parseInt(k.paddingTop,10),oe=Number.parseInt(k.borderBottomWidth,10),qe=Number.parseInt(k.paddingBottom,10),he=X+re+A+qe+oe,x=Math.min(C.value.offsetHeight*5,he),se=window.getComputedStyle(I.value),be=Number.parseInt(se.paddingTop,10),we=Number.parseInt(se.paddingBottom,10),Q=S.top+S.height/2-G,Ce=P-Q,ue=C.value.offsetHeight/2,Ie=C.value.offsetTop+ue,E=X+re+Ie,Te=he-E;if(E<=Q){const o=C.value===q.at(-1);v.value.style.bottom="0px";const V=y.value.clientHeight-I.value.offsetTop-I.value.offsetHeight,R=Math.max(Ce,ue+(o?we:0)+V+oe),W=E+R;v.value.style.height=`${W}px`}else{const o=C.value===q[0];v.value.style.top="0px";const R=Math.max(Q,X+I.value.offsetTop+(o?be:0)+ue)+Te;v.value.style.height=`${R}px`,I.value.scrollTop=E-Q+I.value.offsetTop}v.value.style.margin=`${G}px 0`,v.value.style.minHeight=`${x}px`,v.value.style.maxHeight=`${P}px`,f("placed"),requestAnimationFrame(()=>c.value=!0)}}const h=z("");Z(async()=>{await ce(),L(),y.value&&(h.value=window.getComputedStyle(y.value).zIndex)});function B(S){S&&g.value===!0&&(L(),F?.(),g.value=!1)}return pt(u.triggerElement,()=>{L()}),Xt({contentWrapper:v,shouldExpandOnScrollRef:c,onScrollButtonChange:B}),(S,l)=>(d(),H("div",{ref_key:"contentWrapperElement",ref:v,style:ft({display:"flex",flexDirection:"column",position:"fixed",zIndex:h.value})},[M(e(Y),$({ref:e(b),style:{boxSizing:"border-box",maxHeight:"100%"}},{...S.$attrs,...a}),{default:m(()=>[T(S.$slots,"default")]),_:3},16)],4))}}),Jt=Zt,ea=D({__name:"SelectArrow",props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"svg"}},setup(i){const s=i,a=ye(Ye);return(f,r)=>e(a).position==="popper"?(d(),w(e(gt),xe($({key:0},s)),{default:m(()=>[T(f.$slots,"default")]),_:3},16)):j("v-if",!0)}}),ta=ea,aa=D({inheritAttrs:!1,__name:"SelectProvider",props:{context:{type:Object,required:!0}},setup(i){return Ge(i.context),Qe(Ye),(a,f)=>T(a.$slots,"default")}}),la=aa;const ia={key:1};var na=D({inheritAttrs:!1,__name:"SelectContent",props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["closeAutoFocus","escapeKeyDown","pointerDownOutside"],setup(i,{emit:s}){const a=i,r=vt(a,s),u=J(),t=z();Z(()=>{t.value=new DocumentFragment});const c=z(),g=K(()=>a.forceMount||u.open.value),v=z(g.value);let b;function y(){b&&(clearTimeout(b),b=void 0)}return Le(g,(I,C,O)=>{y(),b=setTimeout(()=>{v.value=g.value,b=void 0}),O(y)}),Ue(y),(I,C)=>g.value||v.value||c.value?.present?(d(),w(e(mt),{key:0,ref_key:"presenceRef",ref:c,present:g.value},{default:m(()=>[M(Yt,xe(Ee({...e(r),...I.$attrs})),{default:m(()=>[T(I.$slots,"default")]),_:3},16)]),_:3},8,["present"])):t.value?(d(),H("div",ia,[(d(),w(yt,{to:t.value},[M(la,{context:e(u)},{default:m(()=>[T(I.$slots,"default")]),_:3},8,["context"])],8,["to"]))])):j("v-if",!0)}}),ra=na;const[oa,sa]=me("SelectGroup");var ua=D({__name:"SelectGroup",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const s=i,a=Oe(void 0,"reka-select-group");return sa({id:a}),(f,r)=>(d(),w(e(Y),$({role:"group"},s,{"aria-labelledby":e(a)}),{default:m(()=>[T(f.$slots,"default")]),_:3},16,["aria-labelledby"]))}}),da=ua;const[Xe,ca]=me("SelectItem");var pa=D({__name:"SelectItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},textValue:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(i,{emit:s}){const a=i,f=s,{disabled:r}=ze(a),u=J(),t=ye(),{forwardRef:c,currentElement:g}=ne(),{CollectionItem:v}=ve(),b=K(()=>ge(u.modelValue?.value,a.value,u.by)),y=z(!1),I=z(a.textValue??""),C=Oe(void 0,"reka-select-item-text"),O="select.select";async function F(l){if(l.defaultPrevented)return;const _={originalEvent:l,value:a.value};ht(O,L,_)}async function L(l){await ce(),f("select",l),!l.defaultPrevented&&(r.value||(u.onValueChange(a.value),u.multiple.value||u.onOpenChange(!1)))}async function h(l){await ce(),!l.defaultPrevented&&(r.value?t.onItemLeave?.():l.currentTarget?.focus({preventScroll:!0}))}async function B(l){await ce(),!l.defaultPrevented&&l.currentTarget===bt()&&t.onItemLeave?.()}async function S(l){await ce(),!(l.defaultPrevented||t.searchRef?.value!==""&&l.key===" ")&&(Rt.includes(l.key)&&F(l),l.key===" "&&l.preventDefault())}if(a.value==="")throw new Error("A <SelectItem /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return Z(()=>{g.value&&t.itemRefCallback(g.value,a.value,a.disabled)}),ca({value:a.value,disabled:r,textId:C,isSelected:b,onItemTextChange:l=>{I.value=((I.value||l?.textContent)??"").trim()}}),(l,_)=>(d(),w(e(v),{value:{textValue:I.value}},{default:m(()=>[M(e(Y),{ref:e(c),role:"option","aria-labelledby":e(C),"data-highlighted":y.value?"":void 0,"aria-selected":b.value,"data-state":b.value?"checked":"unchecked","aria-disabled":e(r)||void 0,"data-disabled":e(r)?"":void 0,tabindex:e(r)?void 0:-1,as:l.as,"as-child":l.asChild,onFocus:_[0]||(_[0]=p=>y.value=!0),onBlur:_[1]||(_[1]=p=>y.value=!1),onPointerup:F,onPointerdown:_[2]||(_[2]=p=>{p.currentTarget.focus({preventScroll:!0})}),onTouchend:_[3]||(_[3]=fe(()=>{},["prevent","stop"])),onPointermove:h,onPointerleave:B,onKeydown:S},{default:m(()=>[T(l.$slots,"default")]),_:3},8,["aria-labelledby","data-highlighted","aria-selected","data-state","aria-disabled","data-disabled","tabindex","as","as-child"])]),_:3},8,["value"]))}}),fa=pa,ga=D({__name:"SelectItemIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(i){const s=i,a=Xe();return(f,r)=>e(a).isSelected.value?(d(),w(e(Y),$({key:0,"aria-hidden":"true"},s),{default:m(()=>[T(f.$slots,"default")]),_:3},16)):j("v-if",!0)}}),va=ga,ma=D({inheritAttrs:!1,__name:"SelectItemText",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(i){const s=i,a=J(),f=ye(),r=Xe(),{forwardRef:u,currentElement:t}=ne(),c=K(()=>({value:r.value,disabled:r.disabled.value,textContent:t.value?.textContent??r.value?.toString()??""}));return Z(()=>{t.value&&(r.onItemTextChange(t.value),f.itemTextRefCallback(t.value,r.value,r.disabled.value),a.onOptionAdd(c.value))}),Ue(()=>{a.onOptionRemove(c.value)}),(g,v)=>(d(),w(e(Y),$({id:e(r).textId,ref:e(u)},{...s,...g.$attrs}),{default:m(()=>[T(g.$slots,"default")]),_:3},16,["id"]))}}),ya=ma,ha=D({__name:"SelectLabel",props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(i){const s=i,a=oa({id:""});return(f,r)=>(d(),w(e(Y),$(s,{id:e(a).id}),{default:m(()=>[T(f.$slots,"default")]),_:3},16,["id"]))}}),ba=ha,_a=D({__name:"SelectPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(i){const s=i;return(a,f)=>(d(),w(e(_t),xe(Ee(s)),{default:m(()=>[T(a.$slots,"default")]),_:3},16))}}),Sa=_a,xa=D({__name:"SelectSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const s=i;return(a,f)=>(d(),w(e(Y),$({"aria-hidden":"true"},s),{default:m(()=>[T(a.$slots,"default")]),_:3},16))}}),qa=xa,wa=D({__name:"SelectTrigger",props:{disabled:{type:Boolean,required:!1},reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(i){const s=i,a=J(),{forwardRef:f,currentElement:r}=ne(),u=K(()=>a.disabled?.value||s.disabled);a.contentId||=Oe(void 0,"reka-select-content"),Z(()=>{a.onTriggerChange(r.value)});const{getItems:t}=ve(),{search:c,handleTypeaheadSearch:g,resetTypeahead:v}=We();function b(){u.value||(a.onOpenChange(!0),v())}function y(h){b(),a.triggerPointerDownPosRef.value={x:Math.round(h.pageX),y:Math.round(h.pageY)}}function I(h){return h.button===0&&h.ctrlKey===!1}let C=!1;function O(h){if(h.pointerType==="touch")return h.preventDefault();const B=h.target;B.hasPointerCapture(h.pointerId)&&B.releasePointerCapture(h.pointerId),I(h)&&(y(h),C=!0)}function F(h){I(h)&&h.preventDefault()}function L(h){C||h.currentTarget?.focus(),C=!1}return(h,B)=>(d(),w(e(St),{"as-child":"",reference:h.reference},{default:m(()=>[M(e(Y),{ref:e(f),role:"combobox",type:h.as==="button"?"button":void 0,"aria-controls":e(a).contentId,"aria-expanded":e(a).open.value||!1,"aria-required":e(a).required?.value,"aria-autocomplete":"none",disabled:u.value,dir:e(a)?.dir.value,"data-state":e(a)?.open.value?"open":"closed","data-disabled":u.value?"":void 0,"data-placeholder":e(Ft)(e(a).modelValue?.value)?"":void 0,"as-child":h.asChild,as:h.as,onClick:L,onPointerdown:O,onMousedown:F,onPointerup:B[0]||(B[0]=fe(S=>{S.pointerType==="touch"&&y(S)},["prevent"])),onKeydown:B[1]||(B[1]=S=>{const l=e(c)!=="";!(S.ctrlKey||S.altKey||S.metaKey)&&S.key.length===1&&l&&S.key===" "||(e(g)(S.key,e(t)()),e(Dt).includes(S.key)&&(b(),S.preventDefault()))})},{default:m(()=>[T(h.$slots,"default")]),_:3},8,["type","aria-controls","aria-expanded","aria-required","disabled","dir","data-state","data-disabled","data-placeholder","as-child","as"])]),_:3},8,["reference"]))}}),Ca=wa,Ia=D({__name:"SelectValue",props:{placeholder:{type:String,required:!1,default:""},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(i){const s=i,{forwardRef:a,currentElement:f}=ne(),r=J();Z(()=>{r.valueElement=f});const u=K(()=>{let c=[];const g=Array.from(r.optionsSet.value),v=b=>g.find(y=>ge(b,y.value,r.by));return Array.isArray(r.modelValue.value)?c=r.modelValue.value.map(b=>v(b)?.textContent??""):c=[v(r.modelValue.value)?.textContent??""],c.filter(Boolean)}),t=K(()=>u.value.length?u.value.join(", "):s.placeholder);return(c,g)=>(d(),w(e(Y),{ref:e(a),as:c.as,"as-child":c.asChild,style:{pointerEvents:"none"},"data-placeholder":u.value.length?void 0:s.placeholder},{default:m(()=>[T(c.$slots,"default",{selectedLabel:u.value,modelValue:e(r).modelValue.value},()=>[ie(pe(t.value),1)])]),_:3},8,["as","as-child","data-placeholder"]))}}),Ta=Ia,Pa=D({__name:"SelectViewport",props:{nonce:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(i){const s=i,{nonce:a}=ze(s),f=Vt(a),r=ye(),u=r.position==="item-aligned"?Qt():void 0,{forwardRef:t,currentElement:c}=ne();Z(()=>{r?.onViewportChange(c.value)});const g=z(0);function v(b){const y=b.currentTarget,{shouldExpandOnScrollRef:I,contentWrapper:C}=u??{};if(I?.value&&C?.value){const O=Math.abs(g.value-y.scrollTop);if(O>0){const F=window.innerHeight-G*2,L=Number.parseFloat(C.value.style.minHeight),h=Number.parseFloat(C.value.style.height),B=Math.max(L,h);if(B<F){const S=B+O,l=Math.min(F,S),_=S-l;C.value.style.height=`${l}px`,C.value.style.bottom==="0px"&&(y.scrollTop=_>0?_:0,C.value.style.justifyContent="flex-end")}}}g.value=y.scrollTop}return(b,y)=>(d(),H(le,null,[M(e(Y),$({ref:e(t),"data-reka-select-viewport":"",role:"presentation"},{...b.$attrs,...s},{style:{position:"relative",flex:1,overflow:"hidden auto"},onScroll:v}),{default:m(()=>[T(b.$slots,"default")]),_:3},16),M(e(Y),{as:"style",nonce:e(f)},{default:m(()=>y[0]||(y[0]=[ie(" /* Hide scrollbars cross-browser and enable momentum scroll for touch devices */ [data-reka-select-viewport] { scrollbar-width:none; -ms-overflow-style: none; -webkit-overflow-scrolling: touch; } [data-reka-select-viewport]::-webkit-scrollbar { display: none; } ")])),_:1,__:[0]},8,["nonce"])],64))}}),ka=Pa;const Ke={slots:{base:["relative group rounded-md inline-flex items-center disabled:cursor-not-allowed disabled:opacity-75","transition-colors"],leading:"absolute inset-y-0 start-0 flex items-center",leadingIcon:"shrink-0 text-dimmed",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailing:"absolute inset-y-0 end-0 flex items-center",trailingIcon:"shrink-0 text-dimmed",value:"truncate pointer-events-none",placeholder:"truncate text-dimmed",arrow:"fill-bg stroke-default",content:"max-h-[min(15rem,var(--reka-select-content-available-height,15rem))] w-(--reka-select-trigger-width) bg-default shadow-lg rounded-md ring ring-default overflow-hidden origin-(--reka-select-content-transform-origin) pointer-events-auto flex flex-col",viewport:"relative divide-y divide-default scroll-py-1 overflow-y-auto flex-1",group:"p-1 isolate",empty:"text-center text-muted",label:"font-semibold text-highlighted",separator:"-mx-1 my-1 h-px bg-border",item:["group relative w-full flex items-start select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75 text-default data-highlighted:not-data-disabled:text-highlighted data-highlighted:not-data-disabled:before:bg-elevated/50","transition-colors before:transition-colors"],itemLeadingIcon:["shrink-0 text-dimmed group-data-highlighted:not-group-data-disabled:text-default","transition-colors"],itemLeadingAvatar:"shrink-0",itemLeadingAvatarSize:"",itemLeadingChip:"shrink-0",itemLeadingChipSize:"",itemTrailing:"ms-auto inline-flex gap-1.5 items-center",itemTrailingIcon:"shrink-0",itemWrapper:"flex-1 flex flex-col min-w-0",itemLabel:"truncate",itemDescription:"truncate text-muted"},variants:{fieldGroup:{horizontal:"not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1]",vertical:"not-only:first:rounded-b-none not-only:last:rounded-t-none not-last:not-first:rounded-none focus-visible:z-[1]"},size:{xs:{base:"px-2 py-1 text-xs gap-1",leading:"ps-2",trailing:"pe-2",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4",label:"p-1 text-[10px]/3 gap-1",item:"p-1 text-xs gap-1",itemLeadingIcon:"size-4",itemLeadingAvatarSize:"3xs",itemLeadingChip:"size-4",itemLeadingChipSize:"sm",itemTrailingIcon:"size-4",empty:"p-2 text-xs"},sm:{base:"px-2.5 py-1.5 text-xs gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4",label:"p-1.5 text-[10px]/3 gap-1.5",item:"p-1.5 text-xs gap-1.5",itemLeadingIcon:"size-4",itemLeadingAvatarSize:"3xs",itemLeadingChip:"size-4",itemLeadingChipSize:"sm",itemTrailingIcon:"size-4",empty:"p-2.5 text-xs"},md:{base:"px-2.5 py-1.5 text-sm gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5",label:"p-1.5 text-xs gap-1.5",item:"p-1.5 text-sm gap-1.5",itemLeadingIcon:"size-5",itemLeadingAvatarSize:"2xs",itemLeadingChip:"size-5",itemLeadingChipSize:"md",itemTrailingIcon:"size-5",empty:"p-2.5 text-sm"},lg:{base:"px-3 py-2 text-sm gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5",label:"p-2 text-xs gap-2",item:"p-2 text-sm gap-2",itemLeadingIcon:"size-5",itemLeadingAvatarSize:"2xs",itemLeadingChip:"size-5",itemLeadingChipSize:"md",itemTrailingIcon:"size-5",empty:"p-3 text-sm"},xl:{base:"px-3 py-2 text-base gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-6",leadingAvatarSize:"xs",trailingIcon:"size-6",label:"p-2 text-sm gap-2",item:"p-2 text-base gap-2",itemLeadingIcon:"size-6",itemLeadingAvatarSize:"xs",itemLeadingChip:"size-6",itemLeadingChipSize:"lg",itemTrailingIcon:"size-6",empty:"p-3 text-base"}},variant:{outline:"text-highlighted bg-default ring ring-inset ring-accented hover:bg-elevated disabled:bg-default",soft:"text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50",subtle:"text-highlighted bg-elevated ring ring-inset ring-accented hover:bg-accented/75 disabled:bg-elevated",ghost:"text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",none:"text-highlighted bg-transparent focus:outline-none"},color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},leading:{true:""},trailing:{true:""},loading:{true:""},highlight:{true:""},fixed:{false:""},type:{file:"file:me-1.5 file:font-medium file:text-muted file:outline-none"},position:{popper:{content:"data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in]"},"item-aligned":{content:""}},multiple:{true:""}},compoundVariants:[{color:"primary",variant:["outline","subtle"],class:"outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary"},{color:"secondary",variant:["outline","subtle"],class:"outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary"},{color:"success",variant:["outline","subtle"],class:"outline-success/25 focus-visible:outline-3 focus-visible:ring-success"},{color:"info",variant:["outline","subtle"],class:"outline-info/25 focus-visible:outline-3 focus-visible:ring-info"},{color:"warning",variant:["outline","subtle"],class:"outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning"},{color:"error",variant:["outline","subtle"],class:"outline-error/25 focus-visible:outline-3 focus-visible:ring-error"},{color:"primary",variant:["soft","ghost"],class:"outline-primary/25 focus-visible:outline-3"},{color:"secondary",variant:["soft","ghost"],class:"outline-secondary/25 focus-visible:outline-3"},{color:"success",variant:["soft","ghost"],class:"outline-success/25 focus-visible:outline-3"},{color:"info",variant:["soft","ghost"],class:"outline-info/25 focus-visible:outline-3"},{color:"warning",variant:["soft","ghost"],class:"outline-warning/25 focus-visible:outline-3"},{color:"error",variant:["soft","ghost"],class:"outline-error/25 focus-visible:outline-3"},{color:"primary",highlight:!0,class:"ring ring-inset ring-primary"},{color:"secondary",highlight:!0,class:"ring ring-inset ring-secondary"},{color:"success",highlight:!0,class:"ring ring-inset ring-success"},{color:"info",highlight:!0,class:"ring ring-inset ring-info"},{color:"warning",highlight:!0,class:"ring ring-inset ring-warning"},{color:"error",highlight:!0,class:"ring ring-inset ring-error"},{color:"neutral",variant:["outline","subtle"],class:"outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted"},{color:"neutral",variant:["soft","ghost"],class:"outline-inverted/25 focus-visible:outline-3"},{color:"neutral",highlight:!0,class:"ring ring-inset ring-inverted"},{leading:!0,size:"xs",class:"ps-7"},{leading:!0,size:"sm",class:"ps-8"},{leading:!0,size:"md",class:"ps-9"},{leading:!0,size:"lg",class:"ps-10"},{leading:!0,size:"xl",class:"ps-11"},{trailing:!0,size:"xs",class:"pe-7"},{trailing:!0,size:"sm",class:"pe-8"},{trailing:!0,size:"md",class:"pe-9"},{trailing:!0,size:"lg",class:"pe-10"},{trailing:!0,size:"xl",class:"pe-11"},{loading:!0,leading:!0,class:{leadingIcon:"animate-spin"}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:"animate-spin"}},{fixed:!1,size:"xs",class:"md:text-xs"},{fixed:!1,size:"sm",class:"md:text-xs"},{fixed:!1,size:"md",class:"md:text-sm"},{fixed:!1,size:"lg",class:"md:text-sm"}],defaultVariants:{size:"md",color:"primary",variant:"outline",position:"popper"}},za=Object.assign({inheritAttrs:!1},{__name:"USelect",props:{id:{type:String,required:!1},placeholder:{type:String,required:!1},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},trailingIcon:{type:null,required:!1},selectedIcon:{type:null,required:!1},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},valueKey:{type:null,required:!1,default:"value"},labelKey:{type:null,required:!1,default:"label"},descriptionKey:{type:null,required:!1,default:"description"},items:{type:null,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},modelModifiers:{type:null,required:!1},multiple:{type:Boolean,required:!1},highlight:{type:Boolean,required:!1},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},class:{type:null,required:!1},ui:{type:Object,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},nullableValue:{type:String,required:!1},autocomplete:{type:String,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},emits:["change","blur","focus","update:modelValue","update:open"],setup(i,{expose:s,emit:a}){const f=i,r=a,u=xt(),t=qt("select",f),c=wt(),g=Ct(It(t,"open","defaultOpen","disabled","autocomplete","required","multiple","nullableValue"),r),v=Tt(ae(()=>t.portal)),b=K(()=>t.content?.position??c.ui?.select?.defaultVariants?.position??Ke.defaultVariants?.position),y=ae(()=>ke(t.content,{side:"bottom",sideOffset:8,collisionPadding:8,position:b.value})),I=ae(()=>ke(t.arrow,{rounded:!0})),{emitFormChange:C,emitFormInput:O,emitFormBlur:F,emitFormFocus:L,size:h,color:B,id:S,name:l,highlight:_,disabled:p,ariaAttrs:q}=Pt(f),{orientation:P,size:A}=kt(f),{isLeading:k,isTrailing:X,leadingIconName:re,trailingIconName:oe}=Bt(ae(()=>ke(t,{trailingIcon:c.ui.icons.chevronDown}))),qe=K(()=>A.value||h.value),he=K(()=>b.value==="item-aligned"),x=K(()=>Et({extend:Ke,...c.ui?.select||{}})({color:B.value??t.color,variant:t.variant,size:qe.value??t.size,loading:t.loading,highlight:_.value??t.highlight,leading:k.value||!!t.avatar||!!u.leading,trailing:X.value||!!u.trailing,fieldGroup:P.value,position:b.value,multiple:t.multiple})),se=K(()=>t.items?.length?Ot(t.items)?t.items:[t.items]:[]),be=K(()=>se.value.flatMap(o=>o));function we(o){if(t.multiple&&Array.isArray(o)){const V=o.map(R=>Ne(be.value,R,{labelKey:t.labelKey,valueKey:t.valueKey})).filter(R=>R!=null&&R!=="");return V.length>0?V.join(", "):void 0}return Ne(be.value,o,{labelKey:t.labelKey,valueKey:t.valueKey})}const Q=Re("triggerRef");function Ce(){t.autofocus&&Q.value?.$el?.focus({focusVisible:!0})}Z(()=>{setTimeout(()=>{Ce()},t.autofocusDelay)});function ue(o){t.modelModifiers?.trim&&(typeof o=="string"||o===null||o===void 0)&&(o=o?.trim()??null),t.modelModifiers?.number&&(o=Lt(o)),t.modelModifiers?.nullable&&(o??=null),t.modelModifiers?.optional&&!t.modelModifiers?.nullable&&o!==null&&(o??=void 0);const V=new Event("change",{target:{value:o}});r("change",V),C(),O()}function Ie(o){if(o){const V=new FocusEvent("focus");r("focus",V),L()}else{const V=new FocusEvent("blur");r("blur",V),F()}}function E(o){return typeof o=="object"&&o!==null}function Te(o){o||Q.value?.$el?.dispatchEvent(new PointerEvent("pointerdown",{bubbles:!0,button:0}))}const Pe=Re("viewportRef");return s({triggerRef:ae(()=>Q.value?.$el),viewportRef:ae(()=>{const o=Pe.value;return o&&typeof o=="object"&&"$el"in o?o.$el:o})}),(o,V)=>(d(),w(e(Kt),$({name:e(l)},e(g),{autocomplete:e(t).autocomplete,disabled:e(p),"default-value":e(t).defaultValue,"model-value":i.modelValue,"onUpdate:modelValue":ue,"onUpdate:open":Ie}),{default:m(({modelValue:R,open:W})=>[M(e(Ca),$({id:e(S),ref_key:"triggerRef",ref:Q,"data-slot":"base",class:x.value.base({class:[e(t).ui?.base,e(t).class]})},{...o.$attrs,...e(q)},{onClick:U=>Te(W)}),{default:m(()=>[e(k)||e(t).avatar||u.leading?(d(),H("span",{key:0,"data-slot":"leading",class:N(x.value.leading({class:e(t).ui?.leading}))},[T(o.$slots,"leading",{modelValue:R,open:W,ui:x.value},()=>[e(k)&&e(re)?(d(),w(_e,{key:0,name:e(re),"data-slot":"leadingIcon",class:N(x.value.leadingIcon({class:e(t).ui?.leadingIcon}))},null,8,["name","class"])):e(t).avatar?(d(),w(Fe,$({key:1,size:e(t).ui?.itemLeadingAvatarSize||x.value.itemLeadingAvatarSize()},e(t).avatar,{"data-slot":"itemLeadingAvatar",class:x.value.itemLeadingAvatar({class:e(t).ui?.itemLeadingAvatar})}),null,16,["size","class"])):j("",!0)])],2)):j("",!0),(d(!0),H(le,null,Se([we(R)],U=>(d(),w(e(Ta),{key:U,"data-slot":U!=null?"value":"placeholder",class:N(U!=null?x.value.value({class:e(t).ui?.value}):x.value.placeholder({class:e(t).ui?.placeholder}))},{default:m(()=>[T(o.$slots,"default",{modelValue:R,open:W,ui:x.value},()=>[ie(pe(U??e(t).placeholder??" "),1)])]),_:2},1032,["data-slot","class"]))),128)),e(X)||u.trailing?(d(),H("span",{key:1,"data-slot":"trailing",class:N(x.value.trailing({class:e(t).ui?.trailing}))},[T(o.$slots,"trailing",{modelValue:R,open:W,ui:x.value},()=>[e(oe)?(d(),w(_e,{key:0,name:e(oe),"data-slot":"trailingIcon",class:N(x.value.trailingIcon({class:e(t).ui?.trailingIcon}))},null,8,["name","class"])):j("",!0)])],2)):j("",!0)]),_:2},1040,["id","class","onClick"]),M(e(Sa),xe(Ee(e(v))),{default:m(()=>[M(e(At),null,{default:m(()=>[M(e(ra),$({"data-slot":"content",class:x.value.content({class:e(t).ui?.content})},y.value),{default:m(()=>[T(o.$slots,"content-top"),(d(),w(je(he.value?e(ka):"div"),{ref_key:"viewportRef",ref:Pe,role:"presentation","data-slot":"viewport",class:N(x.value.viewport({class:e(t).ui?.viewport}))},{default:m(()=>[(d(!0),H(le,null,Se(se.value,(U,ee)=>(d(),w(e(da),{key:`group-${ee}`,"data-slot":"group",class:N(x.value.group({class:e(t).ui?.group}))},{default:m(()=>[(d(!0),H(le,null,Se(U,(n,te)=>(d(),H(le,{key:`group-${ee}-${te}`},[E(n)&&n.type==="label"?(d(),w(e(ba),{key:0,"data-slot":"label",class:N(x.value.label({class:[e(t).ui?.label,n.ui?.label,n.class]}))},{default:m(()=>[ie(pe(e(de)(n,e(t).labelKey)),1)]),_:2},1032,["class"])):E(n)&&n.type==="separator"?(d(),w(e(qa),{key:1,"data-slot":"separator",class:N(x.value.separator({class:[e(t).ui?.separator,n.ui?.separator,n.class]}))},null,8,["class"])):(d(),w(e(fa),{key:2,"data-slot":"item",class:N(x.value.item({class:[e(t).ui?.item,E(n)&&n.ui?.item,E(n)&&n.class]})),disabled:E(n)&&n.disabled,value:E(n)?e(de)(n,e(t).valueKey):n,onSelect:Ze=>E(n)&&n.onSelect?.(Ze)},{default:m(()=>[T(o.$slots,"item",{item:n,index:te,ui:x.value},()=>[T(o.$slots,"item-leading",{item:n,index:te,ui:x.value},()=>[E(n)&&n.icon?(d(),w(_e,{key:0,name:n.icon,"data-slot":"itemLeadingIcon",class:N(x.value.itemLeadingIcon({class:[e(t).ui?.itemLeadingIcon,n.ui?.itemLeadingIcon]}))},null,8,["name","class"])):E(n)&&n.avatar?(d(),w(Fe,$({key:1,size:n.ui?.itemLeadingAvatarSize||e(t).ui?.itemLeadingAvatarSize||x.value.itemLeadingAvatarSize()},{ref_for:!0},n.avatar,{"data-slot":"itemLeadingAvatar",class:x.value.itemLeadingAvatar({class:[e(t).ui?.itemLeadingAvatar,n.ui?.itemLeadingAvatar]})}),null,16,["size","class"])):E(n)&&n.chip?(d(),w(zt,$({key:2,size:n.ui?.itemLeadingChipSize||e(t).ui?.itemLeadingChipSize||x.value.itemLeadingChipSize(),inset:"",standalone:""},{ref_for:!0},n.chip,{"data-slot":"itemLeadingChip",class:x.value.itemLeadingChip({class:[e(t).ui?.itemLeadingChip,n.ui?.itemLeadingChip]})}),null,16,["size","class"])):j("",!0)]),Be("span",{"data-slot":"itemWrapper",class:N(x.value.itemWrapper({class:[e(t).ui?.itemWrapper,E(n)&&n.ui?.itemWrapper]}))},[M(e(ya),{"data-slot":"itemLabel",class:N(x.value.itemLabel({class:[e(t).ui?.itemLabel,E(n)&&n.ui?.itemLabel]}))},{default:m(()=>[T(o.$slots,"item-label",{item:n,index:te},()=>[ie(pe(E(n)?e(de)(n,e(t).labelKey):n),1)])]),_:2},1032,["class"]),E(n)&&(e(de)(n,e(t).descriptionKey)||u["item-description"])?(d(),H("span",{key:0,"data-slot":"itemDescription",class:N(x.value.itemDescription({class:[e(t).ui?.itemDescription,E(n)&&n.ui?.itemDescription]}))},[T(o.$slots,"item-description",{item:n,index:te},()=>[ie(pe(e(de)(n,e(t).descriptionKey)),1)])],2)):j("",!0)],2),Be("span",{"data-slot":"itemTrailing",class:N(x.value.itemTrailing({class:[e(t).ui?.itemTrailing,E(n)&&n.ui?.itemTrailing]}))},[T(o.$slots,"item-trailing",{item:n,index:te,ui:x.value}),M(e(va),{"as-child":""},{default:m(()=>[M(_e,{name:e(t).selectedIcon||e(c).ui.icons.check,"data-slot":"itemTrailingIcon",class:N(x.value.itemTrailingIcon({class:[e(t).ui?.itemTrailingIcon,E(n)&&n.ui?.itemTrailingIcon]}))},null,8,["name","class"])]),_:2},1024)],2)])]),_:2},1032,["class","disabled","value","onSelect"]))],64))),128))]),_:2},1032,["class"]))),128))]),_:3},8,["class"])),T(o.$slots,"content-bottom"),e(t).arrow?(d(),w(e(ta),$({key:0},I.value,{"data-slot":"arrow",class:x.value.arrow({class:e(t).ui?.arrow})}),null,16,["class"])):j("",!0)]),_:3},16,["class"])]),_:3})]),_:3},16)]),_:3},16,["name","autocomplete","disabled","default-value","model-value"]))}});export{za as _};
@@ -1 +1 @@
1
- import{a2 as V,a3 as $,a5 as j,an as y,aU as z,r as S,aO as w,aV as P,H as B,o,f as C,g as b,i as q,q as s,k as t,c as u,j as F,V as n,m as c,t as f,v as m,X as N,h,a8 as O,M as g,c2 as D,c3 as K}from"./NQikbhmK.js";import{L as W}from"./CYsTqbBS.js";const E={slots:{root:"",wrapper:"",labelWrapper:"flex content-center items-center justify-between gap-1",label:"block font-medium text-default",container:"relative",description:"text-muted",error:"mt-2 text-error",hint:"text-muted",help:"mt-2 text-muted"},variants:{size:{xs:{root:"text-xs"},sm:{root:"text-xs"},md:{root:"text-sm"},lg:{root:"text-sm"},xl:{root:"text-base"}},required:{true:{label:"after:content-['*'] after:ms-0.5 after:text-error"}},orientation:{vertical:{container:"mt-1"},horizontal:{root:"flex justify-between place-items-baseline gap-2"}}},defaultVariants:{size:"md"}},L=["id"],U=["id"],A=["id"],H=["id"],G={__name:"UFormField",props:{as:{type:null,required:!1},name:{type:String,required:!1},errorPattern:{type:null,required:!1},label:{type:String,required:!1},description:{type:String,required:!1},help:{type:String,required:!1},error:{type:[Boolean,String],required:!1,default:void 0},hint:{type:String,required:!1},size:{type:null,required:!1},required:{type:Boolean,required:!1},eagerValidation:{type:Boolean,required:!1},validateOnInputDelay:{type:Number,required:!1},orientation:{type:null,required:!1,default:"vertical"},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(x){const _=x,l=V(),e=$("formField",_),I=j(),a=h(()=>O({extend:E,...I.ui?.formField||{}})({size:e.size,required:e.required,orientation:e.orientation})),k=y(z,null),i=h(()=>e.error||k?.value?.find(r=>r.name===e.name||e.errorPattern&&r.name?.match(e.errorPattern))?.message),d=S(w()),p=d.value,v=y(P,void 0);return B(d,()=>{v&&e.name&&(v.value[e.name]={id:d.value,pattern:e.errorPattern})},{immediate:!0}),g(D,d),g(K,h(()=>({error:i.value,name:e.name,size:e.size,eagerValidation:e.eagerValidation,validateOnInputDelay:e.validateOnInputDelay,errorPattern:e.errorPattern,hint:e.hint,description:e.description,help:e.help,ariaId:p}))),(r,M)=>(o(),C(t(N),{as:t(e).as,"data-orientation":t(e).orientation,"data-slot":"root",class:s(a.value.root({class:[t(e).ui?.root,t(e).class]}))},{default:b(()=>[q("div",{"data-slot":"wrapper",class:s(a.value.wrapper({class:t(e).ui?.wrapper}))},[t(e).label||l.label?(o(),u("div",{key:0,"data-slot":"labelWrapper",class:s(a.value.labelWrapper({class:t(e).ui?.labelWrapper}))},[F(t(W),{for:d.value,"data-slot":"label",class:s(a.value.label({class:t(e).ui?.label}))},{default:b(()=>[n(r.$slots,"label",{label:t(e).label},()=>[c(f(t(e).label),1)])]),_:3},8,["for","class"]),t(e).hint||l.hint?(o(),u("span",{key:0,id:`${t(p)}-hint`,"data-slot":"hint",class:s(a.value.hint({class:t(e).ui?.hint}))},[n(r.$slots,"hint",{hint:t(e).hint},()=>[c(f(t(e).hint),1)])],10,L)):m("",!0)],2)):m("",!0),t(e).description||l.description?(o(),u("p",{key:1,id:`${t(p)}-description`,"data-slot":"description",class:s(a.value.description({class:t(e).ui?.description}))},[n(r.$slots,"description",{description:t(e).description},()=>[c(f(t(e).description),1)])],10,U)):m("",!0)],2),q("div",{class:s([(t(e).label||!!l.label||t(e).description||!!l.description)&&a.value.container({class:t(e).ui?.container})])},[n(r.$slots,"default",{error:i.value}),t(e).error!==!1&&(typeof i.value=="string"&&i.value||l.error)?(o(),u("div",{key:0,id:`${t(p)}-error`,"data-slot":"error",class:s(a.value.error({class:t(e).ui?.error}))},[n(r.$slots,"error",{error:i.value},()=>[c(f(i.value),1)])],10,A)):t(e).help||l.help?(o(),u("div",{key:1,id:`${t(p)}-help`,"data-slot":"help",class:s(a.value.help({class:t(e).ui?.help}))},[n(r.$slots,"help",{help:t(e).help},()=>[c(f(t(e).help),1)])],10,H)):m("",!0)],2)]),_:3},8,["as","data-orientation","class"]))}};export{G as _};
1
+ import{a2 as V,a3 as $,a5 as j,an as y,aV as z,r as P,aP as S,aW as w,H as B,o,f as C,g as b,i as q,q as s,k as t,c as u,j as F,V as n,m as c,t as f,v as m,X as N,h,a8 as W,M as g,bZ as D,b_ as K}from"./Du2W7Jne.js";import{L as O}from"./L3kAWB2a.js";const E={slots:{root:"",wrapper:"",labelWrapper:"flex content-center items-center justify-between gap-1",label:"block font-medium text-default",container:"relative",description:"text-muted",error:"mt-2 text-error",hint:"text-muted",help:"mt-2 text-muted"},variants:{size:{xs:{root:"text-xs"},sm:{root:"text-xs"},md:{root:"text-sm"},lg:{root:"text-sm"},xl:{root:"text-base"}},required:{true:{label:"after:content-['*'] after:ms-0.5 after:text-error"}},orientation:{vertical:{container:"mt-1"},horizontal:{root:"flex justify-between place-items-baseline gap-2"}}},defaultVariants:{size:"md"}},L=["id"],A=["id"],H=["id"],M=["id"],Z={__name:"UFormField",props:{as:{type:null,required:!1},name:{type:String,required:!1},errorPattern:{type:null,required:!1},label:{type:String,required:!1},description:{type:String,required:!1},help:{type:String,required:!1},error:{type:[Boolean,String],required:!1,default:void 0},hint:{type:String,required:!1},size:{type:null,required:!1},required:{type:Boolean,required:!1},eagerValidation:{type:Boolean,required:!1},validateOnInputDelay:{type:Number,required:!1},orientation:{type:null,required:!1,default:"vertical"},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(x){const _=x,l=V(),e=$("formField",_),I=j(),a=h(()=>W({extend:E,...I.ui?.formField||{}})({size:e.size,required:e.required,orientation:e.orientation})),k=y(z,null),i=h(()=>e.error||k?.value?.find(r=>r.name===e.name||e.errorPattern&&r.name?.match(e.errorPattern))?.message),d=P(S()),p=d.value,v=y(w,void 0);return B(d,()=>{v&&e.name&&(v.value[e.name]={id:d.value,pattern:e.errorPattern})},{immediate:!0}),g(D,d),g(K,h(()=>({error:i.value,name:e.name,size:e.size,eagerValidation:e.eagerValidation,validateOnInputDelay:e.validateOnInputDelay,errorPattern:e.errorPattern,hint:e.hint,description:e.description,help:e.help,ariaId:p}))),(r,T)=>(o(),C(t(N),{as:t(e).as,"data-orientation":t(e).orientation,"data-slot":"root",class:s(a.value.root({class:[t(e).ui?.root,t(e).class]}))},{default:b(()=>[q("div",{"data-slot":"wrapper",class:s(a.value.wrapper({class:t(e).ui?.wrapper}))},[t(e).label||l.label?(o(),u("div",{key:0,"data-slot":"labelWrapper",class:s(a.value.labelWrapper({class:t(e).ui?.labelWrapper}))},[F(t(O),{for:d.value,"data-slot":"label",class:s(a.value.label({class:t(e).ui?.label}))},{default:b(()=>[n(r.$slots,"label",{label:t(e).label},()=>[c(f(t(e).label),1)])]),_:3},8,["for","class"]),t(e).hint||l.hint?(o(),u("span",{key:0,id:`${t(p)}-hint`,"data-slot":"hint",class:s(a.value.hint({class:t(e).ui?.hint}))},[n(r.$slots,"hint",{hint:t(e).hint},()=>[c(f(t(e).hint),1)])],10,L)):m("",!0)],2)):m("",!0),t(e).description||l.description?(o(),u("p",{key:1,id:`${t(p)}-description`,"data-slot":"description",class:s(a.value.description({class:t(e).ui?.description}))},[n(r.$slots,"description",{description:t(e).description},()=>[c(f(t(e).description),1)])],10,A)):m("",!0)],2),q("div",{class:s([(t(e).label||!!l.label||t(e).description||!!l.description)&&a.value.container({class:t(e).ui?.container})])},[n(r.$slots,"default",{error:i.value}),t(e).error!==!1&&(typeof i.value=="string"&&i.value||l.error)?(o(),u("div",{key:0,id:`${t(p)}-error`,"data-slot":"error",class:s(a.value.error({class:t(e).ui?.error}))},[n(r.$slots,"error",{error:i.value},()=>[c(f(i.value),1)])],10,H)):t(e).help||l.help?(o(),u("div",{key:1,id:`${t(p)}-help`,"data-slot":"help",class:s(a.value.help({class:t(e).ui?.help}))},[n(r.$slots,"help",{help:t(e).help},()=>[c(f(t(e).help),1)])],10,M)):m("",!0)],2)]),_:3},8,["as","data-orientation","class"]))}};export{Z as _};