@piwitests/server 0.23.0 → 0.25.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.
- package/.output/nitro.json +1 -1
- package/.output/public/_nuxt/{DZECGgZm.js → 5nOoVJzL.js} +1 -1
- package/.output/public/_nuxt/6DSY_93j.js +1 -0
- package/.output/public/_nuxt/7vRR5W2L.js +1 -0
- package/.output/public/_nuxt/{CC8wk-N0.js → 9Dtlg-K4.js} +1 -1
- package/.output/public/_nuxt/9Yziijlb.js +1 -0
- package/.output/public/_nuxt/{DAhv9aNg.js → B-onBCAB.js} +1 -1
- package/.output/public/_nuxt/B2bK5uNR.js +1 -0
- package/.output/public/_nuxt/{B2L0-Lzp.js → B63B19Iv.js} +2 -2
- package/.output/public/_nuxt/{oSLbl-p0.js → B77w1Eib.js} +1 -1
- package/.output/public/_nuxt/{pZbe82l5.js → BC5bqlfM.js} +1 -1
- package/.output/public/_nuxt/{jR2xm3_t.js → BF5JDf9_.js} +1 -1
- package/.output/public/_nuxt/BFVrl1ss.js +1 -0
- package/.output/public/_nuxt/{Bj_v57Zu.js → BIHMeNW-.js} +1 -1
- package/.output/public/_nuxt/BKqOGcst.js +1 -0
- package/.output/public/_nuxt/{Bsc11YIJ.js → BLqooxh5.js} +1 -1
- package/.output/public/_nuxt/{Ce_j5NtN.js → BMfTUMYy.js} +1 -1
- package/.output/public/_nuxt/{CmTzxoQt.js → BOrnSpTA.js} +1 -1
- package/.output/public/_nuxt/{Bq4_kqIp.js → BPQNVV4M.js} +1 -1
- package/.output/public/_nuxt/{FJTsZ5Aa.js → BSKLNgre.js} +1 -1
- package/.output/public/_nuxt/BTCWUyBX.js +1 -0
- package/.output/public/_nuxt/BUYmGTVP.js +1 -0
- package/.output/public/_nuxt/{mi22nGUC.js → BWddBCom.js} +1 -1
- package/.output/public/_nuxt/{axj2iIDK.js → BYQ9lXQb.js} +1 -1
- package/.output/public/_nuxt/BYWQ47QQ.js +5 -0
- package/.output/public/_nuxt/{Bag08cIY.js → BYnqoVCE.js} +1 -1
- package/.output/public/_nuxt/{Clg2Qx0r.js → BaU2hm4B.js} +1 -1
- package/.output/public/_nuxt/{roaTZkYi.js → BbXvpkBp.js} +1 -1
- package/.output/public/_nuxt/Bb_925DD.js +1 -0
- package/.output/public/_nuxt/BcHU1KNK.js +1 -0
- package/.output/public/_nuxt/BdUGUwvE.js +1 -0
- package/.output/public/_nuxt/{D1Ucra3E.js → BeQq85yJ.js} +2 -2
- package/.output/public/_nuxt/Bg8yOdSf.js +1 -0
- package/.output/public/_nuxt/BhzfJaPC.js +1 -0
- package/.output/public/_nuxt/{499RbBSX.js → Bkb-0yS0.js} +4 -4
- package/.output/public/_nuxt/BmweLu9g.js +2 -0
- package/.output/public/_nuxt/Boyv6hLW.js +1 -0
- package/.output/public/_nuxt/{DXkFgrsT.js → Bq4xEWLF.js} +4 -4
- package/.output/public/_nuxt/{7_9fts7T.js → BraJd4EA.js} +1 -1
- package/.output/public/_nuxt/BvXrhZ8k.js +1 -0
- package/.output/public/_nuxt/{DNKZmhbX.js → Bw4oIhct.js} +1 -1
- package/.output/public/_nuxt/BxSrScjV.js +1 -0
- package/.output/public/_nuxt/Byqt8JHG.js +1 -0
- package/.output/public/_nuxt/{CNu3kken.js → BzBaMPgu.js} +4 -4
- package/.output/public/_nuxt/{PDSNX4Te.js → C1-8_6cB.js} +1 -1
- package/.output/public/_nuxt/{Ce89VyHE.js → C7SG50jD.js} +1 -1
- package/.output/public/_nuxt/{CBJFORiZ.js → C8WgBDU1.js} +1 -1
- package/.output/public/_nuxt/C8uZoJVq.js +1 -0
- package/.output/public/_nuxt/{D3SJGdl4.js → CBQXv4bU.js} +2 -2
- package/.output/public/_nuxt/CDEmotIt.js +1 -0
- package/.output/public/_nuxt/CIBOv3Ge.js +2 -0
- package/.output/public/_nuxt/CO7j4p5r.js +1 -0
- package/.output/public/_nuxt/COMhp7lz.js +1 -0
- package/.output/public/_nuxt/{jxc14CqP.js → CPiLUjjx.js} +1 -1
- package/.output/public/_nuxt/{DZ-KbUZi.js → CTYlay1H.js} +1 -1
- package/.output/public/_nuxt/{5QBnDbs_.js → CVEk4D8I.js} +1 -1
- package/.output/public/_nuxt/{LTMoFvEY.js → CbuK1HIv.js} +1 -1
- package/.output/public/_nuxt/{2yLW7WU0.js → CdLqOMvN.js} +1 -1
- package/.output/public/_nuxt/CdM2qNYM.js +2 -0
- package/.output/public/_nuxt/Ch8sGLqE.js +1 -0
- package/.output/public/_nuxt/CkdznmkX.js +1 -0
- package/.output/public/_nuxt/{DJzFYrBt.js → Cmuwgbf4.js} +1 -1
- package/.output/public/_nuxt/{C9I1Dp3S.js → CnRNwiuE.js} +1 -1
- package/.output/public/_nuxt/{Bb2mDqKr.js → CnsaoeEq.js} +1 -1
- package/.output/public/_nuxt/{DgEa6_av.js → Cp0V2FeW.js} +1 -1
- package/.output/public/_nuxt/Cvw4EFTy.js +17 -0
- package/.output/public/_nuxt/CwDej2Lz.js +1 -0
- package/.output/public/_nuxt/D-wlhH6J.js +1 -0
- package/.output/public/_nuxt/D5Mhpp98.js +1 -0
- package/.output/public/_nuxt/{CTTmX4gy.js → D8ixf-ZR.js} +5 -5
- package/.output/public/_nuxt/{HbnAkiyK.js → DBvdRbTA.js} +2 -2
- package/.output/public/_nuxt/DDho3MJD.js +1 -0
- package/.output/public/_nuxt/DEGHW4pO.js +1 -0
- package/.output/public/_nuxt/{C77tM5Hz.js → DHSYRMJp.js} +1 -1
- package/.output/public/_nuxt/DH_LEqhd.js +2 -0
- package/.output/public/_nuxt/{CUOS6S13.js → DIqik40e.js} +1 -1
- package/.output/public/_nuxt/DLwuL-qR.js +1 -0
- package/.output/public/_nuxt/{AQ86C4c2.js → DPDFGVb_.js} +2 -2
- package/.output/public/_nuxt/DRNHuVn4.js +2 -0
- package/.output/public/_nuxt/{B_MVJP17.js → DUtYU4Sb.js} +1 -1
- package/.output/public/_nuxt/{CAoQUDI4.js → DWl73MJR.js} +1 -1
- package/.output/public/_nuxt/{BZFiz2UB.js → DWz_bHNP.js} +1 -1
- package/.output/public/_nuxt/{CGDPUNcO.js → D_SCB-z2.js} +1 -1
- package/.output/public/_nuxt/{Ce47NgZw.js → D_j436ND.js} +1 -1
- package/.output/public/_nuxt/DamzjN7l.js +1 -0
- package/.output/public/_nuxt/Db5xe__T.js +1 -0
- package/.output/public/_nuxt/{BuGAn4f7.js → DcUBmKKE.js} +1 -1
- package/.output/public/_nuxt/DiP18sFE.js +1 -0
- package/.output/public/_nuxt/Die1200X.js +1 -0
- package/.output/public/_nuxt/DihSeDlY.js +9 -0
- package/.output/public/_nuxt/{BAbrtVp3.js → DkGXOZRW.js} +1 -1
- package/.output/public/_nuxt/{ZLfZolDM.js → DnOtRv65.js} +1 -1
- package/.output/public/_nuxt/DnV-BkUA.js +1 -0
- package/.output/public/_nuxt/DpeRrg68.js +1 -0
- package/.output/public/_nuxt/Dq6_-84R.js +1 -0
- package/.output/public/_nuxt/DqKFKS1b.js +1 -0
- package/.output/public/_nuxt/DrbO0dl5.js +6 -0
- package/.output/public/_nuxt/{B3G-TIoP.js → Ds8_6Fzl.js} +1 -1
- package/.output/public/_nuxt/{QZYo3ErV.js → DvewDI9t.js} +1 -1
- package/.output/public/_nuxt/E26Y1NWH.js +1 -0
- package/.output/public/_nuxt/Hp-_W7z4.js +1 -0
- package/.output/public/_nuxt/OanUGF_v.js +1 -0
- package/.output/public/_nuxt/{9_aJhhcm.js → RSS6R9Te.js} +12 -12
- package/.output/public/_nuxt/{BfcMJBTf.js → VqLetC2g.js} +1 -1
- package/.output/public/_nuxt/WCZdf9Ln.js +1 -0
- package/.output/public/_nuxt/{DBWM_xs-.js → Yl6iqHwK.js} +4 -4
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/03f2d81b-8c58-4ea8-9a9d-7553c8ca4af6.json +1 -0
- package/.output/public/_nuxt/entry.DVKh2Fd6.css +1 -0
- package/.output/public/_nuxt/iUf7K_JR.js +1 -0
- package/.output/public/_nuxt/{B_JSV0yG.js → kDEwM7SQ.js} +1 -1
- package/.output/public/_nuxt/{BDUfBn3i.js → knaDbxMJ.js} +1 -1
- package/.output/public/_nuxt/lnpLc047.js +1 -0
- package/.output/public/_nuxt/{C2_7XZo0.js → mhvG7mu8.js} +1 -1
- package/.output/public/_nuxt/{Ck_fTH5z.js → qUaN2ZW8.js} +4 -4
- package/.output/public/_nuxt/qeqzb80l.js +1 -0
- package/.output/public/_nuxt/{BwwfasRt.js → uj92NYTx.js} +2 -2
- package/.output/public/_nuxt/vOZZ2cLi.js +1 -0
- package/.output/public/_nuxt/{CLWMETf9.js → zAFiz2Mg.js} +1 -1
- package/.output/public/demo/seed.version.json +2 -2
- package/.output/server/chunks/_/collect.mjs +1 -1
- package/.output/server/chunks/_/markers.mjs +1 -1
- package/.output/server/chunks/_/quarantine.mjs +1 -1
- package/.output/server/chunks/_/users.mjs +1 -1
- package/.output/server/chunks/build/{Alert-He-UxEt6.mjs → Alert-BhTWQzM5.mjs} +2 -2
- package/.output/server/chunks/build/Alert-BhTWQzM5.mjs.map +1 -0
- package/.output/server/chunks/build/{Breadcrumb-DEP2dVCZ.mjs → Breadcrumb-BJnPB2AW.mjs} +3 -3
- package/.output/server/chunks/build/Breadcrumb-BJnPB2AW.mjs.map +1 -0
- package/.output/server/chunks/build/{BreadcrumbNav-y6nMDYcR.mjs → BreadcrumbNav-C6Cun6tF.mjs} +3 -3
- package/.output/server/chunks/build/BreadcrumbNav-C6Cun6tF.mjs.map +1 -0
- package/.output/server/chunks/build/{BrowserBadge-DIASU8Gf.mjs → BrowserBadge-T1KRMIXA.mjs} +4 -4
- package/.output/server/chunks/build/BrowserBadge-T1KRMIXA.mjs.map +1 -0
- package/.output/server/chunks/build/{ChartCard-ZTsCvItQ.mjs → ChartCard-D_asI_WF.mjs} +2 -2
- package/.output/server/chunks/build/ChartCard-D_asI_WF.mjs.map +1 -0
- package/.output/server/chunks/build/{ChartMarkerTooltip-u_1DUHh-.mjs → ChartMarkerTooltip-DscESDg7.mjs} +3 -3
- package/.output/server/chunks/build/ChartMarkerTooltip-DscESDg7.mjs.map +1 -0
- package/.output/server/chunks/build/{Checkbox-BisdHf8n.mjs → Checkbox-Y9ZiIRkJ.mjs} +7 -7
- package/.output/server/chunks/build/Checkbox-Y9ZiIRkJ.mjs.map +1 -0
- package/.output/server/chunks/build/{CodeBlock-B8BNtZAe.mjs → CodeBlock-Bnn_ps9O.mjs} +5 -5
- package/.output/server/chunks/build/CodeBlock-Bnn_ps9O.mjs.map +1 -0
- package/.output/server/chunks/build/{DashboardNavbar-D7-3zBUU.mjs → DashboardNavbar-D37dPEtR.mjs} +3 -3
- package/.output/server/chunks/build/DashboardNavbar-D37dPEtR.mjs.map +1 -0
- package/.output/server/chunks/build/{DashboardSidebarToggle-C3HdHvlE.mjs → DashboardSidebarToggle-DzwsZHVx.mjs} +3 -3
- package/.output/server/chunks/build/DashboardSidebarToggle-DzwsZHVx.mjs.map +1 -0
- package/.output/server/chunks/build/{DataLocationCard-CC2-lHiP.mjs → DataLocationCard-CUXgZQEs.mjs} +4 -4
- package/.output/server/chunks/build/DataLocationCard-CUXgZQEs.mjs.map +1 -0
- package/.output/server/chunks/build/{DesktopRunLocallyButton-iNzrDsEs.mjs → DesktopRunLocallyButton-BCmQklj6.mjs} +15 -76
- package/.output/server/chunks/build/DesktopRunLocallyButton-BCmQklj6.mjs.map +1 -0
- package/.output/server/chunks/build/{DiagnosisPanel-BVb2LgHu.mjs → DiagnosisPanel-haHS2azn.mjs} +8 -8
- package/.output/server/chunks/build/DiagnosisPanel-haHS2azn.mjs.map +1 -0
- package/.output/server/chunks/build/{DiagnosisResult-xVgZlfKK.mjs → DiagnosisResult-DqTIOelM.mjs} +11 -11
- package/.output/server/chunks/build/DiagnosisResult-DqTIOelM.mjs.map +1 -0
- package/.output/server/chunks/build/{DurationValue-UX9uajQJ.mjs → DurationValue-D6fQEi5S.mjs} +2 -2
- package/.output/server/chunks/build/DurationValue-D6fQEi5S.mjs.map +1 -0
- package/.output/server/chunks/build/{EmptyState-DC2q_7TD.mjs → EmptyState-C-mCzGhO.mjs} +2 -2
- package/.output/server/chunks/build/EmptyState-C-mCzGhO.mjs.map +1 -0
- package/.output/server/chunks/build/{EntityLinks-Dzn73fbq.mjs → EntityLinks-CRJQM9Vy.mjs} +4 -4
- package/.output/server/chunks/build/EntityLinks-CRJQM9Vy.mjs.map +1 -0
- package/.output/server/chunks/build/{EnvManagedBadge-C-agmABK.mjs → EnvManagedBadge-hyelwXrw.mjs} +4 -4
- package/.output/server/chunks/build/EnvManagedBadge-hyelwXrw.mjs.map +1 -0
- package/.output/server/chunks/build/{ErrorState-CktYyeEZ.mjs → ErrorState-9UPssp7w.mjs} +2 -2
- package/.output/server/chunks/build/ErrorState-9UPssp7w.mjs.map +1 -0
- package/.output/server/chunks/build/{FeatureUnavailable-DHFkwI7t.mjs → FeatureUnavailable-CDw3__eq.mjs} +3 -3
- package/.output/server/chunks/build/FeatureUnavailable-CDw3__eq.mjs.map +1 -0
- package/.output/server/chunks/build/{FormField-GYHKiSI6.mjs → FormField-8vSc-3mb.mjs} +2 -2
- package/.output/server/chunks/build/FormField-8vSc-3mb.mjs.map +1 -0
- package/.output/server/chunks/build/{GetStartedWizard-BpcGYsm2.mjs → GetStartedWizard-Dp_tjhry.mjs} +4 -4
- package/.output/server/chunks/build/GetStartedWizard-Dp_tjhry.mjs.map +1 -0
- package/.output/server/chunks/build/{HelpHint-plioHKA0.mjs → HelpHint-Bfyo3ar6.mjs} +31 -4
- package/.output/server/chunks/build/HelpHint-Bfyo3ar6.mjs.map +1 -0
- package/.output/server/chunks/build/{LoadingState-CwpfmI0W.mjs → LoadingState-CxfFwac9.mjs} +2 -2
- package/.output/server/chunks/build/LoadingState-CxfFwac9.mjs.map +1 -0
- package/.output/server/chunks/build/{MarkerBadge-Biz5--h2.mjs → MarkerBadge-DmubzeuF.mjs} +2 -2
- package/.output/server/chunks/build/MarkerBadge-DmubzeuF.mjs.map +1 -0
- package/.output/server/chunks/build/{MetaStripGroup-A0a72vt5.mjs → MetaStripGroup-C-cNBfC9.mjs} +6 -6
- package/.output/server/chunks/build/MetaStripGroup-C-cNBfC9.mjs.map +1 -0
- package/.output/server/chunks/build/{Modal-hKLvVFNp.mjs → Modal-DcNzjvnm.mjs} +2 -2
- package/.output/server/chunks/build/Modal-DcNzjvnm.mjs.map +1 -0
- package/.output/server/chunks/build/{NavbarActions-_YjrSUat.mjs → NavbarActions-VCHW0u67.mjs} +2 -2
- package/.output/server/chunks/build/NavbarActions-VCHW0u67.mjs.map +1 -0
- package/.output/server/chunks/build/{NavigationMenu-RfBOyS32.mjs → NavigationMenu-DG6V0R9Y.mjs} +5 -5
- package/.output/server/chunks/build/NavigationMenu-DG6V0R9Y.mjs.map +1 -0
- package/.output/server/chunks/build/{OpenInIdeLink-Jp6SzEtD.mjs → OpenInIdeLink-CLj2cTkc.mjs} +6 -6
- package/.output/server/chunks/build/{OpenInIdeLink-Jp6SzEtD.mjs.map → OpenInIdeLink-CLj2cTkc.mjs.map} +1 -1
- package/.output/server/chunks/build/{ProjectTestCasesTable-DxOTfhi4.mjs → ProjectTestCasesTable-BNd5Fn_G.mjs} +15 -15
- package/.output/server/chunks/build/{ProjectTestCasesTable-DxOTfhi4.mjs.map → ProjectTestCasesTable-BNd5Fn_G.mjs.map} +1 -1
- package/.output/server/chunks/build/{RovingFocusItem-BOSx1Z9Z.mjs → RovingFocusItem-DkZadRuK.mjs} +2 -2
- package/.output/server/chunks/build/RovingFocusItem-DkZadRuK.mjs.map +1 -0
- package/.output/server/chunks/build/{RunReports-nuLb-Nm3.mjs → RunReports-CnyGcU8K.mjs} +4 -4
- package/.output/server/chunks/build/RunReports-CnyGcU8K.mjs.map +1 -0
- package/.output/server/chunks/build/{RunStatusBadge-CvWmcFYM.mjs → RunStatusBadge-DTqX18X-.mjs} +3 -3
- package/.output/server/chunks/build/RunStatusBadge-DTqX18X-.mjs.map +1 -0
- package/.output/server/chunks/build/{SectionCard-DHAFvJxm.mjs → SectionCard-taTpPtua.mjs} +3 -3
- package/.output/server/chunks/build/SectionCard-taTpPtua.mjs.map +1 -0
- package/.output/server/chunks/build/{Select-CEyw7HGK.mjs → Select-BChKOOsc.mjs} +4 -4
- package/.output/server/chunks/build/Select-BChKOOsc.mjs.map +1 -0
- package/.output/server/chunks/build/{SelectMenu-C02Hs2_F.mjs → SelectMenu-DLkMyBsW.mjs} +5 -5
- package/.output/server/chunks/build/{SelectMenu-C02Hs2_F.mjs.map → SelectMenu-DLkMyBsW.mjs.map} +1 -1
- package/.output/server/chunks/build/{Separator-lrN70ODV.mjs → Separator-Dn-4PN3P.mjs} +2 -2
- package/.output/server/chunks/build/Separator-Dn-4PN3P.mjs.map +1 -0
- package/.output/server/chunks/build/{SettingsField-tRmytcEJ.mjs → SettingsField-BLO1C7uY.mjs} +6 -6
- package/.output/server/chunks/build/SettingsField-BLO1C7uY.mjs.map +1 -0
- package/.output/server/chunks/build/{Slideover-D6cRIqch.mjs → Slideover-BiDJaQrt.mjs} +3 -3
- package/.output/server/chunks/build/Slideover-BiDJaQrt.mjs.map +1 -0
- package/.output/server/chunks/build/{Switch-R2n82ncQ.mjs → Switch-Ca3fYrSH.mjs} +4 -4
- package/.output/server/chunks/build/Switch-Ca3fYrSH.mjs.map +1 -0
- package/.output/server/chunks/build/{Table-qZdnm9t2.mjs → Table-DQb34a0A.mjs} +3 -3
- package/.output/server/chunks/build/Table-DQb34a0A.mjs.map +1 -0
- package/.output/server/chunks/build/{Tabs-BDP7MWl4.mjs → Tabs-_ALhm_oG.mjs} +3 -3
- package/.output/server/chunks/build/Tabs-_ALhm_oG.mjs.map +1 -0
- package/.output/server/chunks/build/{TestCaseHistoryChart-CKDXQ2GI.mjs → TestCaseHistoryChart-D-TEUsZ8.mjs} +3 -3
- package/.output/server/chunks/build/TestCaseHistoryChart-D-TEUsZ8.mjs.map +1 -0
- package/.output/server/chunks/build/{TestMetaBadges-BlyKmfeP.mjs → TestMetaBadges-G2dAHnT-.mjs} +2 -2
- package/.output/server/chunks/build/TestMetaBadges-G2dAHnT-.mjs.map +1 -0
- package/.output/server/chunks/build/{TestStatusBar-CvsmKJ4D.mjs → TestStatusBar-CseETAdn.mjs} +2 -2
- package/.output/server/chunks/build/TestStatusBar-CseETAdn.mjs.map +1 -0
- package/.output/server/chunks/build/{Textarea-DpmpM-lN.mjs → Textarea-CXOoRq7y.mjs} +2 -2
- package/.output/server/chunks/build/Textarea-CXOoRq7y.mjs.map +1 -0
- package/.output/server/chunks/build/{Tooltip-BI3WQErw.mjs → Tooltip-trltUr5c.mjs} +3 -3
- package/.output/server/chunks/build/Tooltip-trltUr5c.mjs.map +1 -0
- package/.output/server/chunks/build/{VisuallyHiddenInput-D4E5aJCQ.mjs → VisuallyHiddenInput-CGURvg3N.mjs} +2 -2
- package/.output/server/chunks/build/VisuallyHiddenInput-CGURvg3N.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-CrGTZymJ.mjs → _id_-B-G4eG5U.mjs} +40 -40
- package/.output/server/chunks/build/{_id_-CrGTZymJ.mjs.map → _id_-B-G4eG5U.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-T965GKYC.mjs → _id_-Cnzg8n21.mjs} +41 -38
- package/.output/server/chunks/build/_id_-Cnzg8n21.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-wiULjAVc.mjs → _id_-Dp_d6gT7.mjs} +63 -55
- package/.output/server/chunks/build/{_id_-wiULjAVc.mjs.map → _id_-Dp_d6gT7.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-D7UtAIPR.mjs → _id_-t2AWaYuK.mjs} +59 -52
- package/.output/server/chunks/build/{_id_-D7UtAIPR.mjs.map → _id_-t2AWaYuK.mjs.map} +1 -1
- package/.output/server/chunks/build/{about-B3V_OEiu.mjs → about-BFsHkJwE.mjs} +8 -8
- package/.output/server/chunks/build/about-BFsHkJwE.mjs.map +1 -0
- package/.output/server/chunks/build/{account-DpBdYE46.mjs → account-CZAq8kVg.mjs} +8 -8
- package/.output/server/chunks/build/account-CZAq8kVg.mjs.map +1 -0
- package/.output/server/chunks/build/{ai-DYhpzbqp.mjs → ai-BGP3GcCR.mjs} +21 -21
- package/.output/server/chunks/build/{ai-DYhpzbqp.mjs.map → ai-BGP3GcCR.mjs.map} +1 -1
- package/.output/server/chunks/build/{analytics-CZJEU0an.mjs → analytics-CXl5OWV-.mjs} +25 -25
- package/.output/server/chunks/build/{analytics-CZJEU0an.mjs.map → analytics-CXl5OWV-.mjs.map} +1 -1
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/{db.client-Bdqk_eYQ.mjs → db.client-DijpEH6i.mjs} +3 -1
- package/.output/server/chunks/build/db.client-DijpEH6i.mjs.map +1 -0
- package/.output/server/chunks/build/{default-DO1izI2V.mjs → default-4ixAePum.mjs} +209 -77
- package/.output/server/chunks/build/default-4ixAePum.mjs.map +1 -0
- package/.output/server/chunks/build/{docs-C8bndVXg.mjs → docs-Cgsd01H9.mjs} +16 -16
- package/.output/server/chunks/build/{docs-C8bndVXg.mjs.map → docs-Cgsd01H9.mjs.map} +1 -1
- package/.output/server/chunks/build/{edit-BdfF9er2.mjs → edit-BEQ-ozj9.mjs} +436 -40
- package/.output/server/chunks/build/edit-BEQ-ozj9.mjs.map +1 -0
- package/.output/server/chunks/build/{fetch-tkz5_OA-.mjs → fetch-B5TVXZ1s.mjs} +3 -3
- package/.output/server/chunks/build/fetch-B5TVXZ1s.mjs.map +1 -0
- package/.output/server/chunks/build/{forgot-password-swZRcvXE.mjs → forgot-password-mqE1mpDI.mjs} +4 -4
- package/.output/server/chunks/build/forgot-password-mqE1mpDI.mjs.map +1 -0
- package/.output/server/chunks/build/{help-content-C876a9WD.mjs → help-content-Bc99BajS.mjs} +6 -1
- package/.output/server/chunks/build/help-content-Bc99BajS.mjs.map +1 -0
- package/.output/server/chunks/build/{import-B27Sv7h5.mjs → import-DqDDTcSc.mjs} +15 -15
- package/.output/server/chunks/build/import-DqDDTcSc.mjs.map +1 -0
- package/.output/server/chunks/build/{index-ID913tUa.mjs → index-Bpdj6TXV.mjs} +5 -5
- package/.output/server/chunks/build/index-Bpdj6TXV.mjs.map +1 -0
- package/.output/server/chunks/build/{index-vRwzDXLs.mjs → index-DBFsIsjA.mjs} +534 -262
- package/.output/server/chunks/build/index-DBFsIsjA.mjs.map +1 -0
- package/.output/server/chunks/build/{index-C7m32bRI.mjs → index-DSufXCZq.mjs} +22 -18
- package/.output/server/chunks/build/index-DSufXCZq.mjs.map +1 -0
- package/.output/server/chunks/build/{index-BdZmxLtC.mjs → index-WXE60AXk.mjs} +24 -24
- package/.output/server/chunks/build/{index-BdZmxLtC.mjs.map → index-WXE60AXk.mjs.map} +1 -1
- package/.output/server/chunks/build/{index-ByWTzqF6.mjs → index-okKjrRhL.mjs} +15 -4
- package/.output/server/chunks/build/index-okKjrRhL.mjs.map +1 -0
- package/.output/server/chunks/build/{isValueEqualOrExist-D4lZ8uRY.mjs → isValueEqualOrExist-C-9DzL4K.mjs} +3 -3
- package/.output/server/chunks/build/isValueEqualOrExist-C-9DzL4K.mjs.map +1 -0
- package/.output/server/chunks/build/{login-hxCF06JT.mjs → login-eQ88UoBW.mjs} +7 -7
- package/.output/server/chunks/build/login-eQ88UoBW.mjs.map +1 -0
- package/.output/server/chunks/build/{mcp-BVW1llyW.mjs → mcp-frcSP2Zg.mjs} +14 -14
- package/.output/server/chunks/build/mcp-frcSP2Zg.mjs.map +1 -0
- package/.output/server/chunks/build/{notifications-Dn-evqXM.mjs → notifications-DAtRd5V6.mjs} +14 -14
- package/.output/server/chunks/build/notifications-DAtRd5V6.mjs.map +1 -0
- package/.output/server/chunks/build/{performance-CV8qm94u.mjs → performance-BcQzGXE7.mjs} +13 -13
- package/.output/server/chunks/build/performance-BcQzGXE7.mjs.map +1 -0
- package/.output/server/chunks/build/{pr-feedback-gKDz8LyA.mjs → pr-feedback-BHtgvegy.mjs} +11 -11
- package/.output/server/chunks/build/pr-feedback-BHtgvegy.mjs.map +1 -0
- package/.output/server/chunks/build/{reset-password-DtEISa1I.mjs → reset-password-DMHrp14-.mjs} +4 -4
- package/.output/server/chunks/build/reset-password-DMHrp14-.mjs.map +1 -0
- package/.output/server/chunks/build/server.mjs +34 -34
- package/.output/server/chunks/build/{settings-BJDnuLpc.mjs → settings-Bo5OETop.mjs} +11 -11
- package/.output/server/chunks/build/settings-Bo5OETop.mjs.map +1 -0
- package/.output/server/chunks/build/{settings-metadata-DnAK4Rzg.mjs → settings-metadata-BHbsWQ2g.mjs} +3 -3
- package/.output/server/chunks/build/settings-metadata-BHbsWQ2g.mjs.map +1 -0
- package/.output/server/chunks/build/{setup-BO9tXa_G.mjs → setup-DAXcxuNY.mjs} +18 -18
- package/.output/server/chunks/build/{setup-BO9tXa_G.mjs.map → setup-DAXcxuNY.mjs.map} +1 -1
- package/.output/server/chunks/build/{storage-zN92cA9q.mjs → storage-BPK0fVwx.mjs} +13 -13
- package/.output/server/chunks/build/storage-BPK0fVwx.mjs.map +1 -0
- package/.output/server/chunks/build/{tags-CJFnoyQc.mjs → tags-CoxErA5m.mjs} +8 -8
- package/.output/server/chunks/build/tags-CoxErA5m.mjs.map +1 -0
- package/.output/server/chunks/build/{test-cases-0Q6rT73d.mjs → test-cases-D8rn-0le.mjs} +27 -27
- package/.output/server/chunks/build/test-cases-D8rn-0le.mjs.map +1 -0
- package/.output/server/chunks/build/{test-functions-DVRJgiWo.mjs → test-functions-pWs9mhbJ.mjs} +13 -13
- package/.output/server/chunks/build/test-functions-pWs9mhbJ.mjs.map +1 -0
- package/.output/server/chunks/build/{useCopyRich-CZxJ7IY_.mjs → useCopyRich-BqVfhnoH.mjs} +90 -33
- package/.output/server/chunks/build/{useCopyRich-CZxJ7IY_.mjs.map → useCopyRich-BqVfhnoH.mjs.map} +1 -1
- package/.output/server/chunks/build/{useDesktopDownload-Dyf0fR47.mjs → useDesktopDownload-l80DQJ9e.mjs} +2 -2
- package/.output/server/chunks/build/useDesktopDownload-l80DQJ9e.mjs.map +1 -0
- package/.output/server/chunks/build/{useDesktopLocalRuns-k7Gw3Fv3.mjs → useDesktopLocalRuns-Dil3YzyU.mjs} +68 -6
- package/.output/server/chunks/build/useDesktopLocalRuns-Dil3YzyU.mjs.map +1 -0
- package/.output/server/chunks/build/{useDesktopProjectLink-WwLte59P.mjs → useDesktopProjectLink-BnIONB--.mjs} +21 -4
- package/.output/server/chunks/build/useDesktopProjectLink-BnIONB--.mjs.map +1 -0
- package/.output/server/chunks/build/{useFormControl-8skMOTIf.mjs → useFormControl-CXKztoWk.mjs} +2 -2
- package/.output/server/chunks/build/useFormControl-CXKztoWk.mjs.map +1 -0
- package/.output/server/chunks/build/{useOpenInIde-D74FmDNg.mjs → useOpenInIde-CbbYW3pd.mjs} +2 -2
- package/.output/server/chunks/build/useOpenInIde-CbbYW3pd.mjs.map +1 -0
- package/.output/server/chunks/build/{useSettingsNav-BLTHducV.mjs → useSettingsNav-C6NpD4Ab.mjs} +2 -2
- package/.output/server/chunks/build/useSettingsNav-C6NpD4Ab.mjs.map +1 -0
- package/.output/server/chunks/build/{users-C9bjOBde.mjs → users-C2MuCf5G.mjs} +9 -9
- package/.output/server/chunks/build/users-C2MuCf5G.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +1032 -721
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/routes/__piwi/session.get.mjs +1 -1
- package/.output/server/chunks/routes/api/ai/step-resolution.post.mjs +88 -0
- package/.output/server/chunks/routes/api/ai/step-resolution.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/change-password.post.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/login.post.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/logout.post.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/me.get.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/reset-password.post.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/setup.get.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/setup.post.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/verify-email.get.mjs +1 -1
- package/.output/server/chunks/routes/api/channels/_id/test.post.mjs +1 -1
- package/.output/server/chunks/routes/api/channels/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs +1 -1
- package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs +1 -1
- package/.output/server/chunks/routes/api/desktop/import-local.post.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/files/_...path_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/health.get.mjs +1 -1
- package/.output/server/chunks/routes/api/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/index.get2.mjs +1 -1
- package/.output/server/chunks/routes/api/index.get3.mjs +1 -1
- package/.output/server/chunks/routes/api/index.get4.mjs +1 -1
- package/.output/server/chunks/routes/api/index.get5.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post2.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post3.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post4.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post5.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post6.mjs +1 -1
- package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs +1 -1
- package/.output/server/chunks/routes/api/links/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/links/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/markers/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/markers/_id_.put.mjs +1 -1
- package/.output/server/chunks/routes/api/notifications/stream.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/ai-steps.get.mjs +63 -0
- package/.output/server/chunks/routes/api/projects/_id/ai-steps.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/members.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/members.put.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/test-functions/extract.post.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/test-functions/validate-proposal.post.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/test-functions.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/test-functions.post.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id_.put.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/menu.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/overview.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects.get.mjs +1 -1
- package/.output/server/chunks/routes/api/search.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/ai/test.post.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/ai.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/ai.put.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/smtp.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs +1 -1
- package/.output/server/chunks/routes/api/setup-status.get.mjs +1 -1
- package/.output/server/chunks/routes/api/stream.get.mjs +1 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/tags/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/tags/_id_.put.mjs +1 -1
- package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-functions/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/test-functions/_id_.put.mjs +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/import.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/recent.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/setup.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/start.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/submit.post.mjs +3 -1
- package/.output/server/chunks/routes/api/test-runs/submit.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/upload.post.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/upload.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs +2 -1
- package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/traces/check.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id/invite.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id/projects.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id/projects.put.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/version.get.mjs +1 -1
- package/.output/server/chunks/routes/mcp.post.mjs +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/database/migrations/0045_productive_stingray.sql +1 -0
- package/.output/server/database/migrations/meta/0045_snapshot.json +3779 -0
- package/.output/server/database/migrations/meta/_journal.json +7 -0
- package/.output/server/database/migrations-pg/0046_gorgeous_hercules.sql +1 -0
- package/.output/server/database/migrations-pg/meta/0046_snapshot.json +4486 -0
- package/.output/server/database/migrations-pg/meta/_journal.json +7 -0
- package/.output/server/index.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/package.json +1 -1
- package/.output/public/_nuxt/5SkLJHl8.js +0 -1
- package/.output/public/_nuxt/6sA-GK37.js +0 -1
- package/.output/public/_nuxt/6vX5JdHr.js +0 -1
- package/.output/public/_nuxt/B070fjS-.js +0 -1
- package/.output/public/_nuxt/B0tmRAhY.js +0 -1
- package/.output/public/_nuxt/B3AG2m76.js +0 -1
- package/.output/public/_nuxt/B4mZElvM.js +0 -1
- package/.output/public/_nuxt/B7tiBVLW.js +0 -1
- package/.output/public/_nuxt/BFYkWpPx.js +0 -1
- package/.output/public/_nuxt/BM5BPKlc.js +0 -1
- package/.output/public/_nuxt/BNyTWIad.js +0 -9
- package/.output/public/_nuxt/BOvtXn3m.js +0 -1
- package/.output/public/_nuxt/BVyjw9Bi.js +0 -1
- package/.output/public/_nuxt/BZOykMLD.js +0 -1
- package/.output/public/_nuxt/BjMo2tKC.js +0 -6
- package/.output/public/_nuxt/BjOFxi54.js +0 -1
- package/.output/public/_nuxt/BjaRappk.js +0 -1
- package/.output/public/_nuxt/BtZNYmZO.js +0 -1
- package/.output/public/_nuxt/C6t4kxaa.js +0 -1
- package/.output/public/_nuxt/CEai-PWF.js +0 -1
- package/.output/public/_nuxt/CF_eDZHu.js +0 -1
- package/.output/public/_nuxt/CIQeRUSy.js +0 -17
- package/.output/public/_nuxt/CPQRQqXU.js +0 -1
- package/.output/public/_nuxt/CYhm2FBS.js +0 -5
- package/.output/public/_nuxt/CdEzDaDI.js +0 -1
- package/.output/public/_nuxt/CfhOanaF.js +0 -1
- package/.output/public/_nuxt/CvVbKrcH.js +0 -1
- package/.output/public/_nuxt/Cz7SCzdW.js +0 -1
- package/.output/public/_nuxt/D7fxV-UA.js +0 -1
- package/.output/public/_nuxt/D7t0Dn3h.js +0 -1
- package/.output/public/_nuxt/DCE2_MKD.js +0 -2
- package/.output/public/_nuxt/DFfqRQxk.js +0 -1
- package/.output/public/_nuxt/DNqm5cWU.js +0 -1
- package/.output/public/_nuxt/DTrPCv7R.js +0 -1
- package/.output/public/_nuxt/DYjxDsYC.js +0 -1
- package/.output/public/_nuxt/Dbf8eT28.js +0 -1
- package/.output/public/_nuxt/DeewM3Wg.js +0 -2
- package/.output/public/_nuxt/DiWxW-w3.js +0 -2
- package/.output/public/_nuxt/DmqCquDx.js +0 -1
- package/.output/public/_nuxt/DnxrNGE_.js +0 -1
- package/.output/public/_nuxt/DprkT7rM.js +0 -1
- package/.output/public/_nuxt/DuBtaw3j.js +0 -1
- package/.output/public/_nuxt/DylyATWU.js +0 -2
- package/.output/public/_nuxt/HIGGZ_c-.js +0 -1
- package/.output/public/_nuxt/RkNtgoTD.js +0 -1
- package/.output/public/_nuxt/Wk7ZKG4B.js +0 -1
- package/.output/public/_nuxt/Ya8ZzWuY.js +0 -1
- package/.output/public/_nuxt/a8Z6VC7V.js +0 -2
- package/.output/public/_nuxt/builds/meta/6d1766a0-0aba-46b8-9d97-7dd174130359.json +0 -1
- package/.output/public/_nuxt/dUPMBJ4f.js +0 -1
- package/.output/public/_nuxt/eT2oObCh.js +0 -1
- package/.output/public/_nuxt/entry.D_eWXrnD.css +0 -1
- package/.output/public/_nuxt/kWnH8yJq.js +0 -1
- package/.output/public/_nuxt/sqqg4oXL.js +0 -1
- package/.output/public/_nuxt/xZQGtnVA.js +0 -1
- package/.output/server/chunks/build/Alert-He-UxEt6.mjs.map +0 -1
- package/.output/server/chunks/build/Breadcrumb-DEP2dVCZ.mjs.map +0 -1
- package/.output/server/chunks/build/BreadcrumbNav-y6nMDYcR.mjs.map +0 -1
- package/.output/server/chunks/build/BrowserBadge-DIASU8Gf.mjs.map +0 -1
- package/.output/server/chunks/build/ChartCard-ZTsCvItQ.mjs.map +0 -1
- package/.output/server/chunks/build/ChartMarkerTooltip-u_1DUHh-.mjs.map +0 -1
- package/.output/server/chunks/build/Checkbox-BisdHf8n.mjs.map +0 -1
- package/.output/server/chunks/build/CodeBlock-B8BNtZAe.mjs.map +0 -1
- package/.output/server/chunks/build/DashboardNavbar-D7-3zBUU.mjs.map +0 -1
- package/.output/server/chunks/build/DashboardSidebarToggle-C3HdHvlE.mjs.map +0 -1
- package/.output/server/chunks/build/DataLocationCard-CC2-lHiP.mjs.map +0 -1
- package/.output/server/chunks/build/DesktopRunLocallyButton-iNzrDsEs.mjs.map +0 -1
- package/.output/server/chunks/build/DiagnosisPanel-BVb2LgHu.mjs.map +0 -1
- package/.output/server/chunks/build/DiagnosisResult-xVgZlfKK.mjs.map +0 -1
- package/.output/server/chunks/build/DurationValue-UX9uajQJ.mjs.map +0 -1
- package/.output/server/chunks/build/EmptyState-DC2q_7TD.mjs.map +0 -1
- package/.output/server/chunks/build/EntityLinks-Dzn73fbq.mjs.map +0 -1
- package/.output/server/chunks/build/EnvManagedBadge-C-agmABK.mjs.map +0 -1
- package/.output/server/chunks/build/ErrorState-CktYyeEZ.mjs.map +0 -1
- package/.output/server/chunks/build/FeatureUnavailable-DHFkwI7t.mjs.map +0 -1
- package/.output/server/chunks/build/FormField-GYHKiSI6.mjs.map +0 -1
- package/.output/server/chunks/build/GetStartedWizard-BpcGYsm2.mjs.map +0 -1
- package/.output/server/chunks/build/HelpHint-plioHKA0.mjs.map +0 -1
- package/.output/server/chunks/build/LoadingState-CwpfmI0W.mjs.map +0 -1
- package/.output/server/chunks/build/MarkerBadge-Biz5--h2.mjs.map +0 -1
- package/.output/server/chunks/build/MetaStripGroup-A0a72vt5.mjs.map +0 -1
- package/.output/server/chunks/build/Modal-hKLvVFNp.mjs.map +0 -1
- package/.output/server/chunks/build/NavbarActions-_YjrSUat.mjs.map +0 -1
- package/.output/server/chunks/build/NavigationMenu-RfBOyS32.mjs.map +0 -1
- package/.output/server/chunks/build/RovingFocusItem-BOSx1Z9Z.mjs.map +0 -1
- package/.output/server/chunks/build/RunReports-nuLb-Nm3.mjs.map +0 -1
- package/.output/server/chunks/build/RunStatusBadge-CvWmcFYM.mjs.map +0 -1
- package/.output/server/chunks/build/SectionCard-DHAFvJxm.mjs.map +0 -1
- package/.output/server/chunks/build/Select-CEyw7HGK.mjs.map +0 -1
- package/.output/server/chunks/build/Separator-lrN70ODV.mjs.map +0 -1
- package/.output/server/chunks/build/SettingsField-tRmytcEJ.mjs.map +0 -1
- package/.output/server/chunks/build/Slideover-D6cRIqch.mjs.map +0 -1
- package/.output/server/chunks/build/Switch-R2n82ncQ.mjs.map +0 -1
- package/.output/server/chunks/build/Table-qZdnm9t2.mjs.map +0 -1
- package/.output/server/chunks/build/Tabs-BDP7MWl4.mjs.map +0 -1
- package/.output/server/chunks/build/TestCaseHistoryChart-CKDXQ2GI.mjs.map +0 -1
- package/.output/server/chunks/build/TestMetaBadges-BlyKmfeP.mjs.map +0 -1
- package/.output/server/chunks/build/TestStatusBar-CvsmKJ4D.mjs.map +0 -1
- package/.output/server/chunks/build/Textarea-DpmpM-lN.mjs.map +0 -1
- package/.output/server/chunks/build/Tooltip-BI3WQErw.mjs.map +0 -1
- package/.output/server/chunks/build/VisuallyHiddenInput-D4E5aJCQ.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-T965GKYC.mjs.map +0 -1
- package/.output/server/chunks/build/about-B3V_OEiu.mjs.map +0 -1
- package/.output/server/chunks/build/account-DpBdYE46.mjs.map +0 -1
- package/.output/server/chunks/build/db.client-Bdqk_eYQ.mjs.map +0 -1
- package/.output/server/chunks/build/default-DO1izI2V.mjs.map +0 -1
- package/.output/server/chunks/build/edit-BdfF9er2.mjs.map +0 -1
- package/.output/server/chunks/build/fetch-tkz5_OA-.mjs.map +0 -1
- package/.output/server/chunks/build/forgot-password-swZRcvXE.mjs.map +0 -1
- package/.output/server/chunks/build/help-content-C876a9WD.mjs.map +0 -1
- package/.output/server/chunks/build/import-B27Sv7h5.mjs.map +0 -1
- package/.output/server/chunks/build/index-ByWTzqF6.mjs.map +0 -1
- package/.output/server/chunks/build/index-C7m32bRI.mjs.map +0 -1
- package/.output/server/chunks/build/index-ID913tUa.mjs.map +0 -1
- package/.output/server/chunks/build/index-vRwzDXLs.mjs.map +0 -1
- package/.output/server/chunks/build/isValueEqualOrExist-D4lZ8uRY.mjs.map +0 -1
- package/.output/server/chunks/build/login-hxCF06JT.mjs.map +0 -1
- package/.output/server/chunks/build/mcp-BVW1llyW.mjs.map +0 -1
- package/.output/server/chunks/build/notifications-Dn-evqXM.mjs.map +0 -1
- package/.output/server/chunks/build/performance-CV8qm94u.mjs.map +0 -1
- package/.output/server/chunks/build/pr-feedback-gKDz8LyA.mjs.map +0 -1
- package/.output/server/chunks/build/reset-password-DtEISa1I.mjs.map +0 -1
- package/.output/server/chunks/build/settings-BJDnuLpc.mjs.map +0 -1
- package/.output/server/chunks/build/settings-metadata-DnAK4Rzg.mjs.map +0 -1
- package/.output/server/chunks/build/storage-zN92cA9q.mjs.map +0 -1
- package/.output/server/chunks/build/tags-CJFnoyQc.mjs.map +0 -1
- package/.output/server/chunks/build/test-cases-0Q6rT73d.mjs.map +0 -1
- package/.output/server/chunks/build/test-functions-DVRJgiWo.mjs.map +0 -1
- package/.output/server/chunks/build/useDesktopDownload-Dyf0fR47.mjs.map +0 -1
- package/.output/server/chunks/build/useDesktopLocalRuns-k7Gw3Fv3.mjs.map +0 -1
- package/.output/server/chunks/build/useDesktopProjectLink-WwLte59P.mjs.map +0 -1
- package/.output/server/chunks/build/useFormControl-8skMOTIf.mjs.map +0 -1
- package/.output/server/chunks/build/useOpenInIde-D74FmDNg.mjs.map +0 -1
- package/.output/server/chunks/build/useSettingsNav-BLTHducV.mjs.map +0 -1
- package/.output/server/chunks/build/users-C9bjOBde.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as
|
|
1
|
+
import{d as m,b1 as I,aB as y,b2 as F,C as g,ad as h,a as C,o as K,e as S,f as i,h as w,b as r,X as B,V as R,v as u,b3 as T,b4 as q,L as x,b5 as _}from"./BzBaMPgu.js";var k=m({__name:"RovingFocusItem",props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(d){const n=d,a=I(),f=y(),l=u(()=>n.tabStopId||f),c=u(()=>a.currentTabStopId.value===l.value),{getItems:p,CollectionItem:b}=F();g(()=>{n.focusable&&a.onFocusableItemAdd()}),h(()=>{n.focusable&&a.onFocusableItemRemove()}),C(()=>n.focusable,(e,t)=>{e!==t&&(e?a.onFocusableItemAdd():a.onFocusableItemRemove())});function v(e){if(e.key==="Tab"&&e.shiftKey){a.onItemShiftTab();return}if(e.target!==e.currentTarget)return;const t=T(e,a.orientation.value,a.dir.value);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||!n.allowShiftKey&&e.shiftKey)return;e.preventDefault();let o=[...p().map(s=>s.ref).filter(s=>s.dataset.disabled!=="")];if(t==="last")o.reverse();else if(t==="prev"||t==="next"){t==="prev"&&o.reverse();const s=o.indexOf(e.currentTarget);o=a.loop.value?q(o,s+1):o.slice(s+1)}x(()=>_(o))}}return(e,t)=>(K(),S(r(b),null,{default:i(()=>[w(r(B),{tabindex:c.value?0:-1,"data-orientation":r(a).orientation.value,"data-active":e.active?"":void 0,"data-disabled":e.focusable?void 0:"",as:e.as,"as-child":e.asChild,onMousedown:t[0]||(t[0]=o=>{e.focusable?r(a).onItemFocus(l.value):o.preventDefault()}),onFocus:t[1]||(t[1]=o=>r(a).onItemFocus(l.value)),onKeydown:v},{default:i(()=>[R(e.$slots,"default")]),_:3},8,["tabindex","data-orientation","data-active","data-disabled","as","as-child"])]),_:3}))}}),D=k;export{D as R};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as T,U as P,o as u,f as v,g as n,V as q,a0 as L,a1 as $,k as e,bM as V,c0 as O,Z as W,J as U,c1 as G,bC as J,h as b,r as S,$ as X,B as K,aS as I,j as w,bL as Y,W as m,bY as Z,m as Q,t as A,C as ee,bK as te,ba as R,bI as ae,c2 as re,bN as oe,ag as se,aE as le,bO as ne,aC as ie,X as ue,c3 as de,bE as pe,a2 as fe,a3 as ce,a5 as ge,a6 as ve,a7 as ye,bP as be,v as N,bS as _e,c as E,q as H,F as me,y as qe,c4 as Ce,b9 as F,a8 as he}from"./CNu3kken.js";var Te=T({__name:"TooltipArrow",props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"svg"}},setup(i){const d=i;return P(),(t,p)=>(u(),v(e(V),L($(d)),{default:n(()=>[q(t.$slots,"default")]),_:3},16))}}),we=Te;const j="tooltip.open",[x,Pe]=X("TooltipRoot");var ke=T({__name:"TooltipRoot",props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:["update:open"],setup(i,{emit:d}){const t=i,p=d;P();const r=O(),a=b(()=>t.disableHoverableContent??r.disableHoverableContent.value),g=b(()=>t.disableClosingTrigger??r.disableClosingTrigger.value),f=b(()=>t.disabled??r.disabled.value),y=b(()=>t.delayDuration??r.delayDuration.value),_=b(()=>t.ignoreNonKeyboardFocus??r.ignoreNonKeyboardFocus.value),o=W(t,"open",p,{defaultValue:t.defaultOpen,passive:t.open===void 0});U(o,B=>{r.onClose&&(B?(r.onOpen(),document.dispatchEvent(new CustomEvent(j))):r.onClose())});const s=S(!1),l=S(),C=b(()=>o.value?s.value?"delayed-open":"instant-open":"closed"),{start:D,stop:h}=G(()=>{s.value=!0,o.value=!0},y,{immediate:!1});function c(){h(),s.value=!1,o.value=!0}function k(){h(),o.value=!1}function z(){D()}return Pe({contentId:"",open:o,stateAttribute:C,trigger:l,onTriggerChange(B){l.value=B},onTriggerEnter(){r.isOpenDelayed.value?z():c()},onTriggerLeave(){a.value?k():h()},onOpen:c,onClose:k,disableHoverableContent:a,disableClosingTrigger:g,disabled:f,ignoreNonKeyboardFocus:_}),(B,Ie)=>(u(),v(e(J),null,{default:n(()=>[q(B.$slots,"default",{open:e(o)})]),_:3}))}}),Be=ke,Oe=T({__name:"TooltipContentImpl",props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:["escapeKeyDown","pointerDownOutside"],setup(i,{emit:d}){const t=i,p=d,r=x(),a=O(),{forwardRef:g,currentElement:f}=P(),y=b(()=>t.ariaLabel||f.value?.textContent),_=b(()=>{const{ariaLabel:o,...s}=t;return R(s,a.content.value??{},{side:"top",sideOffset:0,align:"center",avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:"partial",hideWhenDetached:!1})});return K(()=>{I(window,"scroll",o=>{o.target?.contains(r.trigger.value)&&r.onClose()},{capture:!0}),I(window,j,r.onClose)}),(o,s)=>(u(),v(e(te),{"as-child":"","disable-outside-pointer-events":!1,onEscapeKeyDown:s[0]||(s[0]=l=>p("escapeKeyDown",l)),onPointerDownOutside:s[1]||(s[1]=l=>{e(r).disableClosingTrigger.value&&e(r).trigger.value?.contains(l.target)&&l.preventDefault(),p("pointerDownOutside",l)}),onFocusOutside:s[2]||(s[2]=ee(()=>{},["prevent"])),onDismiss:s[3]||(s[3]=l=>e(r).onClose())},{default:n(()=>[w(e(Y),m({ref:e(g),"data-state":e(r).stateAttribute.value},{...o.$attrs,..._.value},{style:{"--reka-tooltip-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-tooltip-content-available-width":"var(--reka-popper-available-width)","--reka-tooltip-content-available-height":"var(--reka-popper-available-height)","--reka-tooltip-trigger-width":"var(--reka-popper-anchor-width)","--reka-tooltip-trigger-height":"var(--reka-popper-anchor-height)"}}),{default:n(()=>[q(o.$slots,"default"),w(e(Z),{id:e(r).contentId,role:"tooltip"},{default:n(()=>[Q(A(y.value),1)]),_:1},8,["id"])]),_:3},16,["data-state"])]),_:3}))}}),M=Oe,De=T({__name:"TooltipContentHoverable",props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(i){const t=ae(i),{forwardRef:p,currentElement:r}=P(),{trigger:a,onClose:g}=x(),f=O(),{isPointerInTransit:y,onPointerExit:_}=re(a,r);return f.isPointerInTransitRef=y,_(()=>{g()}),(o,s)=>(u(),v(M,m({ref:e(p)},e(t)),{default:n(()=>[q(o.$slots,"default")]),_:3},16))}}),Ne=De,Se=T({__name:"TooltipContent",props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:["escapeKeyDown","pointerDownOutside"],setup(i,{emit:d}){const t=i,p=d,r=x(),a=oe(t,p),{forwardRef:g}=P();return(f,y)=>(u(),v(e(le),{present:f.forceMount||e(r).open.value},{default:n(()=>[(u(),v(se(e(r).disableHoverableContent.value?M:Ne),m({ref:e(g)},e(a)),{default:n(()=>[q(f.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),xe=Se,Ee=T({__name:"TooltipPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(i){const d=i;return(t,p)=>(u(),v(e(ne),L($(d)),{default:n(()=>[q(t.$slots,"default")]),_:3},16))}}),Fe=Ee,Re=T({__name:"TooltipTrigger",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(i){const d=i,t=x(),p=O();t.contentId||=ie(void 0,"reka-tooltip-content");const{forwardRef:r,currentElement:a}=P(),g=S(!1),f=S(!1),y=b(()=>t.disabled.value?{}:{click:h,focus:C,pointermove:s,pointerleave:l,pointerdown:o,blur:D});K(()=>{t.onTriggerChange(a.value)});function _(){setTimeout(()=>{g.value=!1},1)}function o(){t.open&&!t.disableClosingTrigger.value&&t.onClose(),g.value=!0,document.addEventListener("pointerup",_,{once:!0})}function s(c){c.pointerType!=="touch"&&!f.value&&!p.isPointerInTransitRef.value&&(t.onTriggerEnter(),f.value=!0)}function l(){t.onTriggerLeave(),f.value=!1}function C(c){g.value||t.ignoreNonKeyboardFocus.value&&!c.target.matches?.(":focus-visible")||t.onOpen()}function D(){t.onClose()}function h(){t.disableClosingTrigger.value||t.onClose()}return(c,k)=>(u(),v(e(pe),{"as-child":"",reference:c.reference},{default:n(()=>[w(e(ue),m({ref:e(r),"aria-describedby":e(t).open.value?e(t).contentId:void 0,"data-state":e(t).stateAttribute.value,as:c.as,"as-child":d.asChild,"data-grace-area-trigger":""},de(y.value)),{default:n(()=>[q(c.$slots,"default")]),_:3},16,["aria-describedby","data-state","as","as-child"])]),_:3},8,["reference"]))}}),Le=Re;const $e={slots:{content:"flex items-center gap-1 bg-default text-highlighted shadow-sm rounded-sm ring ring-default h-6 px-2.5 py-1 text-xs select-none data-[state=delayed-open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-tooltip-content-transform-origin) pointer-events-auto",arrow:"fill-bg stroke-default",text:"truncate",kbds:"hidden lg:inline-flex items-center shrink-0 gap-0.5 not-first-of-type:before:content-['·'] not-first-of-type:before:me-0.5",kbdsSize:"sm"}},Ke={__name:"UTooltip",props:{text:{type:String,required:!1},kbds:{type:Array,required:!1},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},reference:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},delayDuration:{type:Number,required:!1},disableHoverableContent:{type:Boolean,required:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1}},emits:["update:open"],setup(i,{emit:d}){const t=i,p=d,r=fe(),a=ce("tooltip",t),g=ge(),f=O(),y=ve(ye(a,"defaultOpen","open","delayDuration","disableHoverableContent","disableClosingTrigger","ignoreNonKeyboardFocus"),p),_=be(F(()=>a.portal)),o=F(()=>R(a.content,f.content.value,{side:"bottom",sideOffset:8,collisionPadding:8})),s=F(()=>R(a.arrow,{rounded:!0})),l=b(()=>he({extend:$e,...g.ui?.tooltip||{}})({side:o.value.side}));return(C,D)=>(u(),v(e(Be),m(e(y),{disabled:!(e(a).text||e(a).kbds?.length||r.content)||e(a).disabled}),{default:n(({open:h})=>[r.default||e(a).reference?(u(),v(e(Le),m({key:0},C.$attrs,{"as-child":"",reference:e(a).reference,class:e(a).class}),{default:n(()=>[q(C.$slots,"default",{open:h})]),_:2},1040,["reference","class"])):N("",!0),w(e(Fe),L($(e(_))),{default:n(()=>[w(e(_e),null,{default:n(()=>[w(e(xe),m(o.value,{"data-slot":"content",class:l.value.content({class:[!r.default&&e(a).class,e(a).ui?.content]})}),{default:n(()=>[q(C.$slots,"content",{ui:l.value},()=>[e(a).text?(u(),E("span",{key:0,"data-slot":"text",class:H(l.value.text({class:e(a).ui?.text}))},A(e(a).text),3)):N("",!0),e(a).kbds?.length?(u(),E("span",{key:1,"data-slot":"kbds",class:H(l.value.kbds({class:e(a).ui?.kbds}))},[(u(!0),E(me,null,qe(e(a).kbds,(c,k)=>(u(),v(Ce,m({key:k,size:e(a).ui?.kbdsSize||l.value.kbdsSize()},{ref_for:!0},typeof c=="string"?{value:c}:c),null,16,["size"]))),128))],2)):N("",!0)]),e(a).arrow?(u(),v(e(we),m({key:0},s.value,{"data-slot":"arrow",class:l.value.arrow({class:e(a).ui?.arrow})}),null,16,["class"])):N("",!0)]),_:3},16,["class"])]),_:3})]),_:3},16)]),_:3},16,["disabled"]))}};export{Ke as _};
|
|
1
|
+
import{d as T,U as P,o as u,e as v,f as n,V as q,a0 as L,a1 as $,b as e,bL as V,b$ as O,Z as W,a as U,c0 as G,bB as X,v as b,r as x,$ as J,C as K,aR as H,h as w,bK as Z,W as m,bX as Q,k as Y,t as A,D as ee,bJ as te,b9 as E,bH as ae,c1 as re,bM as oe,ag as se,aD as le,bN as ne,aB as ie,X as ue,c2 as de,bD as pe,a2 as fe,a3 as ce,a5 as ge,a6 as ve,a7 as ye,bO as be,l as N,bR as _e,c as R,i as I,F as me,z as qe,c3 as Ce,b8 as F,a8 as he}from"./BzBaMPgu.js";var Te=T({__name:"TooltipArrow",props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"svg"}},setup(i){const d=i;return P(),(t,p)=>(u(),v(e(V),L($(d)),{default:n(()=>[q(t.$slots,"default")]),_:3},16))}}),we=Te;const M="tooltip.open",[S,Pe]=J("TooltipRoot");var ke=T({__name:"TooltipRoot",props:{defaultOpen:{type:Boolean,required:!1,default:!1},open:{type:Boolean,required:!1,default:void 0},delayDuration:{type:Number,required:!1,default:void 0},disableHoverableContent:{type:Boolean,required:!1,default:void 0},disableClosingTrigger:{type:Boolean,required:!1,default:void 0},disabled:{type:Boolean,required:!1,default:void 0},ignoreNonKeyboardFocus:{type:Boolean,required:!1,default:void 0}},emits:["update:open"],setup(i,{emit:d}){const t=i,p=d;P();const r=O(),a=b(()=>t.disableHoverableContent??r.disableHoverableContent.value),g=b(()=>t.disableClosingTrigger??r.disableClosingTrigger.value),f=b(()=>t.disabled??r.disabled.value),y=b(()=>t.delayDuration??r.delayDuration.value),_=b(()=>t.ignoreNonKeyboardFocus??r.ignoreNonKeyboardFocus.value),o=W(t,"open",p,{defaultValue:t.defaultOpen,passive:t.open===void 0});U(o,B=>{r.onClose&&(B?(r.onOpen(),document.dispatchEvent(new CustomEvent(M))):r.onClose())});const s=x(!1),l=x(),C=b(()=>o.value?s.value?"delayed-open":"instant-open":"closed"),{start:D,stop:h}=G(()=>{s.value=!0,o.value=!0},y,{immediate:!1});function c(){h(),s.value=!1,o.value=!0}function k(){h(),o.value=!1}function z(){D()}return Pe({contentId:"",open:o,stateAttribute:C,trigger:l,onTriggerChange(B){l.value=B},onTriggerEnter(){r.isOpenDelayed.value?z():c()},onTriggerLeave(){a.value?k():h()},onOpen:c,onClose:k,disableHoverableContent:a,disableClosingTrigger:g,disabled:f,ignoreNonKeyboardFocus:_}),(B,He)=>(u(),v(e(X),null,{default:n(()=>[q(B.$slots,"default",{open:e(o)})]),_:3}))}}),Be=ke,Oe=T({__name:"TooltipContentImpl",props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1,default:void 0},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1,default:void 0},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1,default:void 0},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:["escapeKeyDown","pointerDownOutside"],setup(i,{emit:d}){const t=i,p=d,r=S(),a=O(),{forwardRef:g,currentElement:f}=P(),y=b(()=>t.ariaLabel||f.value?.textContent),_=b(()=>{const{ariaLabel:o,...s}=t;return E(s,a.content.value??{},{side:"top",sideOffset:0,align:"center",avoidCollisions:!0,collisionBoundary:[],collisionPadding:0,arrowPadding:0,sticky:"partial",hideWhenDetached:!1})});return K(()=>{H(window,"scroll",o=>{o.target?.contains(r.trigger.value)&&r.onClose()},{capture:!0}),H(window,M,r.onClose)}),(o,s)=>(u(),v(e(te),{"as-child":"","disable-outside-pointer-events":!1,onEscapeKeyDown:s[0]||(s[0]=l=>p("escapeKeyDown",l)),onPointerDownOutside:s[1]||(s[1]=l=>{e(r).disableClosingTrigger.value&&e(r).trigger.value?.contains(l.target)&&l.preventDefault(),p("pointerDownOutside",l)}),onFocusOutside:s[2]||(s[2]=ee(()=>{},["prevent"])),onDismiss:s[3]||(s[3]=l=>e(r).onClose())},{default:n(()=>[w(e(Z),m({ref:e(g),"data-state":e(r).stateAttribute.value},{...o.$attrs,..._.value},{style:{"--reka-tooltip-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-tooltip-content-available-width":"var(--reka-popper-available-width)","--reka-tooltip-content-available-height":"var(--reka-popper-available-height)","--reka-tooltip-trigger-width":"var(--reka-popper-anchor-width)","--reka-tooltip-trigger-height":"var(--reka-popper-anchor-height)"}}),{default:n(()=>[q(o.$slots,"default"),w(e(Q),{id:e(r).contentId,role:"tooltip"},{default:n(()=>[Y(A(y.value),1)]),_:1},8,["id"])]),_:3},16,["data-state"])]),_:3}))}}),j=Oe,De=T({__name:"TooltipContentHoverable",props:{ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},setup(i){const t=ae(i),{forwardRef:p,currentElement:r}=P(),{trigger:a,onClose:g}=S(),f=O(),{isPointerInTransit:y,onPointerExit:_}=re(a,r);return f.isPointerInTransitRef=y,_(()=>{g()}),(o,s)=>(u(),v(j,m({ref:e(p)},e(t)),{default:n(()=>[q(o.$slots,"default")]),_:3},16))}}),Ne=De,xe=T({__name:"TooltipContent",props:{forceMount:{type:Boolean,required:!1},ariaLabel:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1}},emits:["escapeKeyDown","pointerDownOutside"],setup(i,{emit:d}){const t=i,p=d,r=S(),a=oe(t,p),{forwardRef:g}=P();return(f,y)=>(u(),v(e(le),{present:f.forceMount||e(r).open.value},{default:n(()=>[(u(),v(se(e(r).disableHoverableContent.value?j:Ne),m({ref:e(g)},e(a)),{default:n(()=>[q(f.$slots,"default")]),_:3},16))]),_:3},8,["present"]))}}),Se=xe,Re=T({__name:"TooltipPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(i){const d=i;return(t,p)=>(u(),v(e(ne),L($(d)),{default:n(()=>[q(t.$slots,"default")]),_:3},16))}}),Fe=Re,Ee=T({__name:"TooltipTrigger",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(i){const d=i,t=S(),p=O();t.contentId||=ie(void 0,"reka-tooltip-content");const{forwardRef:r,currentElement:a}=P(),g=x(!1),f=x(!1),y=b(()=>t.disabled.value?{}:{click:h,focus:C,pointermove:s,pointerleave:l,pointerdown:o,blur:D});K(()=>{t.onTriggerChange(a.value)});function _(){setTimeout(()=>{g.value=!1},1)}function o(){t.open&&!t.disableClosingTrigger.value&&t.onClose(),g.value=!0,document.addEventListener("pointerup",_,{once:!0})}function s(c){c.pointerType!=="touch"&&!f.value&&!p.isPointerInTransitRef.value&&(t.onTriggerEnter(),f.value=!0)}function l(){t.onTriggerLeave(),f.value=!1}function C(c){g.value||t.ignoreNonKeyboardFocus.value&&!c.target.matches?.(":focus-visible")||t.onOpen()}function D(){t.onClose()}function h(){t.disableClosingTrigger.value||t.onClose()}return(c,k)=>(u(),v(e(pe),{"as-child":"",reference:c.reference},{default:n(()=>[w(e(ue),m({ref:e(r),"aria-describedby":e(t).open.value?e(t).contentId:void 0,"data-state":e(t).stateAttribute.value,as:c.as,"as-child":d.asChild,"data-grace-area-trigger":""},de(y.value)),{default:n(()=>[q(c.$slots,"default")]),_:3},16,["aria-describedby","data-state","as","as-child"])]),_:3},8,["reference"]))}}),Le=Ee;const $e={slots:{content:"flex items-center gap-1 bg-default text-highlighted shadow-sm rounded-sm ring ring-default h-6 px-2.5 py-1 text-xs select-none data-[state=delayed-open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in] origin-(--reka-tooltip-content-transform-origin) pointer-events-auto",arrow:"fill-bg stroke-default",text:"truncate",kbds:"hidden lg:inline-flex items-center shrink-0 gap-0.5 not-first-of-type:before:content-['·'] not-first-of-type:before:me-0.5",kbdsSize:"sm"}},Ke={__name:"UTooltip",props:{text:{type:String,required:!1},kbds:{type:Array,required:!1},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},reference:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},defaultOpen:{type:Boolean,required:!1},open:{type:Boolean,required:!1},delayDuration:{type:Number,required:!1},disableHoverableContent:{type:Boolean,required:!1},disableClosingTrigger:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},ignoreNonKeyboardFocus:{type:Boolean,required:!1}},emits:["update:open"],setup(i,{emit:d}){const t=i,p=d,r=fe(),a=ce("tooltip",t),g=ge(),f=O(),y=ve(ye(a,"defaultOpen","open","delayDuration","disableHoverableContent","disableClosingTrigger","ignoreNonKeyboardFocus"),p),_=be(F(()=>a.portal)),o=F(()=>E(a.content,f.content.value,{side:"bottom",sideOffset:8,collisionPadding:8})),s=F(()=>E(a.arrow,{rounded:!0})),l=b(()=>he({extend:$e,...g.ui?.tooltip||{}})({side:o.value.side}));return(C,D)=>(u(),v(e(Be),m(e(y),{disabled:!(e(a).text||e(a).kbds?.length||r.content)||e(a).disabled}),{default:n(({open:h})=>[r.default||e(a).reference?(u(),v(e(Le),m({key:0},C.$attrs,{"as-child":"",reference:e(a).reference,class:e(a).class}),{default:n(()=>[q(C.$slots,"default",{open:h})]),_:2},1040,["reference","class"])):N("",!0),w(e(Fe),L($(e(_))),{default:n(()=>[w(e(_e),null,{default:n(()=>[w(e(Se),m(o.value,{"data-slot":"content",class:l.value.content({class:[!r.default&&e(a).class,e(a).ui?.content]})}),{default:n(()=>[q(C.$slots,"content",{ui:l.value},()=>[e(a).text?(u(),R("span",{key:0,"data-slot":"text",class:I(l.value.text({class:e(a).ui?.text}))},A(e(a).text),3)):N("",!0),e(a).kbds?.length?(u(),R("span",{key:1,"data-slot":"kbds",class:I(l.value.kbds({class:e(a).ui?.kbds}))},[(u(!0),R(me,null,qe(e(a).kbds,(c,k)=>(u(),v(Ce,m({key:k,size:e(a).ui?.kbdsSize||l.value.kbdsSize()},{ref_for:!0},typeof c=="string"?{value:c}:c),null,16,["size"]))),128))],2)):N("",!0)]),e(a).arrow?(u(),v(e(we),m({key:0},s.value,{"data-slot":"arrow",class:l.value.arrow({class:e(a).ui?.arrow})}),null,16,["class"])):N("",!0)]),_:3},16,["class"])]),_:3})]),_:3},16)]),_:3},16,["disabled"]))}};export{Ke as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as S,o,e as i,f,V as x,W as h,b as a,X as C,v as c,a0 as k,a1 as B,a2 as w,a3 as P,a5 as O,a6 as V,a7 as $,b7 as N,c as y,h as z,g as _,i as d,t as R,_ as A,aJ as F,l as b,F as g,a8 as T}from"./BzBaMPgu.js";var j=S({__name:"BaseSeparator",props:{orientation:{type:String,required:!1,default:"horizontal"},decorative:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(n){const s=n,l=["horizontal","vertical"];function e(r){return l.includes(r)}const u=c(()=>e(s.orientation)?s.orientation:"horizontal"),v=c(()=>u.value==="vertical"?s.orientation:void 0),m=c(()=>s.decorative?{role:"none"}:{"aria-orientation":v.value,role:"separator"});return(r,p)=>(o(),i(a(C),h({as:r.as,"as-child":r.asChild,"data-orientation":u.value},m.value),{default:f(()=>[x(r.$slots,"default")]),_:3},16,["as","as-child","data-orientation"]))}}),D=j,E=S({__name:"Separator",props:{orientation:{type:String,required:!1,default:"horizontal"},decorative:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(n){const s=n;return(l,e)=>(o(),i(D,k(B(s)),{default:f(()=>[x(l.$slots,"default")]),_:3},16))}}),I=E;const J={slots:{root:"flex items-center align-center text-center",border:"",container:"font-medium text-default flex",icon:"shrink-0 size-5",avatar:"shrink-0",avatarSize:"2xs",label:"text-sm"},variants:{color:{primary:{border:"border-primary"},secondary:{border:"border-secondary"},success:{border:"border-success"},info:{border:"border-info"},warning:{border:"border-warning"},error:{border:"border-error"},neutral:{border:"border-default"}},orientation:{horizontal:{root:"w-full flex-row",border:"w-full",container:"whitespace-nowrap"},vertical:{root:"h-full flex-col",border:"h-full",container:""}},size:{xs:"",sm:"",md:"",lg:"",xl:""},position:{start:"",center:"",end:""},type:{solid:{border:"border-solid"},dashed:{border:"border-dashed"},dotted:{border:"border-dotted"}}},compoundVariants:[{orientation:"horizontal",position:"start",class:{container:"me-3"}},{orientation:"horizontal",position:"center",class:{container:"mx-3"}},{orientation:"horizontal",position:"end",class:{container:"ms-3"}},{orientation:"vertical",position:"start",class:{container:"mb-2"}},{orientation:"vertical",position:"center",class:{container:"my-2"}},{orientation:"vertical",position:"end",class:{container:"mt-2"}},{orientation:"horizontal",size:"xs",class:{border:"border-t"}},{orientation:"horizontal",size:"sm",class:{border:"border-t-[2px]"}},{orientation:"horizontal",size:"md",class:{border:"border-t-[3px]"}},{orientation:"horizontal",size:"lg",class:{border:"border-t-[4px]"}},{orientation:"horizontal",size:"xl",class:{border:"border-t-[5px]"}},{orientation:"vertical",size:"xs",class:{border:"border-s"}},{orientation:"vertical",size:"sm",class:{border:"border-s-[2px]"}},{orientation:"vertical",size:"md",class:{border:"border-s-[3px]"}},{orientation:"vertical",size:"lg",class:{border:"border-s-[4px]"}},{orientation:"vertical",size:"xl",class:{border:"border-s-[5px]"}}],defaultVariants:{color:"neutral",size:"xs",type:"solid"}},X=Object.assign({inheritAttrs:!1},{__name:"USeparator",props:{as:{type:null,required:!1},label:{type:String,required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},color:{type:null,required:!1},size:{type:null,required:!1},type:{type:null,required:!1},orientation:{type:null,required:!1,default:"horizontal"},position:{type:null,required:!1,default:"center"},class:{type:null,required:!1},ui:{type:null,required:!1},decorative:{type:Boolean,required:!1}},setup(n){const s=n,l=w(),e=P("separator",s),u=O(),v=V($(e,"as","decorative","orientation")),[m,r]=N(),p=c(()=>!!(e.label||e.icon||e.avatar||l.default)),t=c(()=>T({extend:J,...u.ui?.separator||{}})({color:e.color,orientation:e.orientation,size:e.size,position:e.position,type:e.type}));return(q,U)=>(o(),y(g,null,[z(a(m),null,{default:f(()=>[_("div",{"data-slot":"container",class:d(t.value.container({class:a(e).ui?.container}))},[x(q.$slots,"default",{ui:t.value},()=>[a(e).label?(o(),y("span",{key:0,"data-slot":"label",class:d(t.value.label({class:a(e).ui?.label}))},R(a(e).label),3)):a(e).icon?(o(),i(A,{key:1,name:a(e).icon,"data-slot":"icon",class:d(t.value.icon({class:a(e).ui?.icon}))},null,8,["name","class"])):a(e).avatar?(o(),i(F,h({key:2,size:a(e).ui?.avatarSize||t.value.avatarSize()},a(e).avatar,{"data-slot":"avatar",class:t.value.avatar({class:a(e).ui?.avatar})}),null,16,["size","class"])):b("",!0)])],2)]),_:3}),z(a(I),h({"data-slot":"root"},{...a(v),...q.$attrs},{class:t.value.root({class:[a(e).ui?.root,a(e).class]})}),{default:f(()=>[p.value&&a(e).position==="start"?(o(),i(a(r),{key:0})):b("",!0),_("div",{"data-slot":"border",class:d(t.value.border({class:a(e).ui?.border}))},null,2),p.value&&a(e).position==="center"?(o(),y(g,{key:1},[z(a(r)),_("div",{"data-slot":"border",class:d(t.value.border({class:a(e).ui?.border}))},null,2)],64)):b("",!0),p.value&&a(e).position==="end"?(o(),i(a(r),{key:2})):b("",!0)]),_:1},16,["class"])],64))}});export{X as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{aS as We,$ as ke,d as P,Y as Ye,b2 as Ne,bo as qt,aA as nt,Z as Ae,a as Me,o as c,e as _,f as g,V as w,b as e,l as H,L as ue,X as Y,bp as Oe,r as G,bq as Re,b3 as It,br as St,bs as st,h as F,S as Se,D as we,bt as wt,C as ge,ad as He,v as V,bu as ut,aB as Ee,W as A,U as ae,bv as dt,aQ as kt,a2 as pt,bw as Et,bx as zt,by as ct,bz as Bt,c as W,F as se,z as De,ag as ft,R as Ft,bA as At,x as vt,bB as Lt,av as Ot,bC as Tt,bD as Vt,bE as Kt,bF as Pt,bG as Rt,bH as Dt,bI as mt,bJ as $t,bK as Mt,a0 as qe,bL as Nt,bM as Ht,aD as Gt,k as Ce,t as ve,a1 as Le,bN as jt,aI as xe,a3 as Ut,I as Wt,a4 as Yt,a5 as Jt,a6 as Qt,a7 as Xt,bO as Zt,aM as ea,bP as ta,aN as aa,b7 as et,aO as je,b8 as fe,i as K,g as Be,_ as Pe,aJ as tt,bQ as la,j as ia,bR as oa,G as ra,J as at,bS as lt,b9 as Fe,ax as na,aP as sa,a8 as ua,bT as da,bU as pa,bV as ca}from"./BzBaMPgu.js";import{u as fa}from"./DDho3MJD.js";import{V as va}from"./Boyv6hLW.js";import{u as ma}from"./BOrnSpTA.js";function $e(n,r,a){const l=n.findIndex(d=>We(d,r)),i=n.findIndex(d=>We(d,a));if(l===-1||i===-1)return[];const[o,t]=[l,i].sort((d,b)=>d-b);return n.slice(o,t+1)}function ga(){return{ALT:"Alt",ARROW_DOWN:"ArrowDown",ARROW_LEFT:"ArrowLeft",ARROW_RIGHT:"ArrowRight",ARROW_UP:"ArrowUp",BACKSPACE:"Backspace",CAPS_LOCK:"CapsLock",CONTROL:"Control",DELETE:"Delete",END:"End",ENTER:"Enter",ESCAPE:"Escape",F1:"F1",F10:"F10",F11:"F11",F12:"F12",F2:"F2",F3:"F3",F4:"F4",F5:"F5",F6:"F6",F7:"F7",F8:"F8",F9:"F9",HOME:"Home",META:"Meta",PAGE_DOWN:"PageDown",PAGE_UP:"PageUp",SHIFT:"Shift",SPACE:" ",TAB:"Tab",CTRL:"Control",ASTERISK:"*",SPACE_CODE:"Space"}}function it(n){return n?.querySelector("[data-state=checked]")}function ba(n,r,a){return n===void 0?!1:Array.isArray(n)?n.some(l=>me(l,r,a)):me(n,r,a)}function me(n,r,a){return n===void 0||r===void 0?!1:typeof n=="string"?n===r:typeof a=="function"?a(n,r):typeof a=="string"?n?.[a]===r?.[a]:We(n,r)}const[Te,ha]=ke("ListboxRoot");var ya=P({__name:"ListboxRoot",props:{modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},multiple:{type:Boolean,required:!1},orientation:{type:String,required:!1,default:"vertical"},dir:{type:String,required:!1},disabled:{type:Boolean,required:!1},selectionBehavior:{type:String,required:!1,default:"toggle"},highlightOnHover:{type:Boolean,required:!1},by:{type:[String,Function],required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","highlight","entryFocus","leave"],setup(n,{expose:r,emit:a}){const l=n,i=a,{multiple:o,highlightOnHover:t,orientation:d,disabled:b,selectionBehavior:B,dir:I}=Ye(l),{getItems:z}=Ne({isProvider:!0}),{handleTypeaheadSearch:v}=qt(),{primitiveElement:h,currentElement:m}=Oe(),p=ga(),C=nt(I),k=fa(m),$=G(),S=G(!1),L=G(!0),E=Ae(l,"modelValue",i,{defaultValue:l.defaultValue??(o.value?[]:void 0),passive:l.modelValue===void 0,deep:!0});function de(u){if(S.value=!0,l.multiple){const x=Array.isArray(E.value)?[...E.value]:[],q=x.findIndex(T=>me(T,u,l.by));l.selectionBehavior==="toggle"?(q===-1?x.push(u):x.splice(q,1),E.value=x):(E.value=[u],$.value=u)}else l.selectionBehavior==="toggle"&&me(E.value,u,l.by)?E.value=void 0:E.value=u;setTimeout(()=>{S.value=!1},1)}const O=G(null),ie=G(null),X=G(!1),oe=G(!1),pe=Re(),be=Re(),re=Re();function ce(){return z().map(u=>u.ref).filter(u=>u.dataset.disabled!=="")}function N(u,x=!0,q){if(!u)return;O.value=u,(q??L.value)&&O.value.focus(),x&&O.value.scrollIntoView({block:"nearest"});const T=z().find(j=>j.ref===u);i("highlight",T)}function R(u){if(X.value)re.trigger(u);else{const x=z().find(q=>me(q.value,u,l.by));x&&(O.value=x.ref,N(x.ref))}}function J(u){if(O.value&&O.value.isConnected){if(u.ctrlKey||u.metaKey||u.altKey)return;u.preventDefault(),u.stopPropagation(),oe.value||O.value.click()}}function Q(u){if(L.value){if(S.value=!0,X.value)be.trigger(u);else{const x=u.altKey||u.ctrlKey||u.metaKey;if(x&&u.key==="a"&&o.value){const q=z(),T=q.map(ye=>ye.value);E.value=[...T],u.preventDefault();const j=q.at(-1);j&&N(j.ref)}else if(!x){const q=v(u.key,z());q&&N(q)}}setTimeout(()=>{S.value=!1},1)}}function ne(){oe.value=!0}function he(){ue(()=>{oe.value=!1})}function Z(){ue(()=>{const u=new KeyboardEvent("keydown",{key:"PageUp"});y(u)})}function ee(u){const x=O.value;x?.isConnected&&(ie.value=x),O.value=null,i("leave",u)}function Ve(u){const x=new CustomEvent("listbox.entryFocus",{bubbles:!1,cancelable:!0});if(u.currentTarget?.dispatchEvent(x),i("entryFocus",x),!x.defaultPrevented)if(ie.value)N(ie.value);else{const q=ce()?.[0];N(q)}}function y(u){const x=It(u,d.value,C.value);if(!x)return;let q=ce();if(O.value){if(x==="last")q.reverse();else if(x==="prev"||x==="next"){x==="prev"&&q.reverse();const T=q.indexOf(O.value);q=q.slice(T+1)}Ge(u,q[0])}if(q.length){const T=!O.value&&x==="prev"?q.length-1:0;N(q[T])}if(X.value)return be.trigger(u)}function Ge(u,x){if(!(X.value||l.selectionBehavior!=="replace"||!o.value||!Array.isArray(E.value)||(u.altKey||u.ctrlKey||u.metaKey)&&!u.shiftKey)&&u.shiftKey){const T=z().filter(_e=>_e.ref.dataset.disabled!=="");let j=T.find(_e=>_e.ref===x)?.value;if(u.key===p.END?j=T.at(-1)?.value:u.key===p.HOME&&(j=T[0]?.value),!j||!$.value)return;const ye=$e(T.map(_e=>_e.value),$.value,j);E.value=ye}}async function Ie(u,x=!0){if(St)if(await ue(),X.value)pe.trigger({event:u,scroll:x});else{const q=ce(),T=q.find(ye=>ye.dataset.state==="checked"),j=x?void 0:!1;T?N(T,x,j):q.length&&N(q[0],x,j)}}let ze=!1;return Me(E,()=>{if(!S.value){const u=ze;ze=!0,ue(()=>{Ie(void 0,u)})}},{immediate:!0,deep:!0}),r({highlightedElement:O,highlightItem:R,highlightFirstItem:Z,highlightSelected:Ie,getItems:z}),ha({modelValue:E,onValueChange:de,multiple:o,orientation:d,dir:C,disabled:b,highlightOnHover:t,highlightedElement:O,isVirtual:X,virtualFocusHook:pe,virtualKeydownHook:be,virtualHighlightHook:re,by:l.by,firstValue:$,selectionBehavior:B,focusable:L,onLeave:ee,onEnter:Ve,changeHighlight:N,onKeydownEnter:J,onKeydownNavigation:y,onKeydownTypeAhead:Q,onCompositionStart:ne,onCompositionEnd:he,highlightFirstItem:Z}),(u,x)=>(c(),_(e(Y),{ref_key:"primitiveElement",ref:h,as:u.as,"as-child":u.asChild,dir:e(C),"data-disabled":e(b)?"":void 0,onPointerleave:ee,onFocusout:x[0]||(x[0]=async q=>{const T=q.relatedTarget||q.target;await ue(),O.value&&e(m)&&!e(m).contains(T)&&ee(q)})},{default:g(()=>[w(u.$slots,"default",{modelValue:e(E)}),e(k)&&u.name?(c(),_(e(va),{key:0,name:u.name,value:e(E),disabled:e(b),required:u.required},null,8,["name","value","disabled","required"])):H("v-if",!0)]),_:3},8,["as","as-child","dir","data-disabled"]))}}),_a=ya,xa=P({__name:"ListboxContent",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(n){const{CollectionSlot:r}=Ne(),a=Te(),l=st(!1,10);return(i,o)=>(c(),_(e(r),null,{default:g(()=>[F(e(Y),{role:"listbox",as:i.as,"as-child":i.asChild,tabindex:e(a).focusable.value?e(a).highlightedElement.value?"-1":"0":"-1","aria-orientation":e(a).orientation.value,"aria-multiselectable":!!e(a).multiple.value,"data-orientation":e(a).orientation.value,onMousedown:o[0]||(o[0]=we(t=>l.value=!0,["left"])),onFocus:o[1]||(o[1]=t=>{e(l)||e(a).onEnter(t)}),onKeydown:[o[2]||(o[2]=Se(t=>{e(a).orientation.value==="vertical"&&(t.key==="ArrowLeft"||t.key==="ArrowRight")||e(a).orientation.value==="horizontal"&&(t.key==="ArrowUp"||t.key==="ArrowDown")||(t.preventDefault(),e(a).focusable.value&&e(a).onKeydownNavigation(t))},["down","up","left","right","home","end"])),Se(e(a).onKeydownEnter,["enter"]),e(a).onKeydownTypeAhead]},{default:g(()=>[w(i.$slots,"default")]),_:3},8,["as","as-child","tabindex","aria-orientation","aria-multiselectable","data-orientation","onKeydown"])]),_:3}))}}),Ca=xa,qa=P({__name:"ListboxFilter",props:{modelValue:{type:String,required:!1},autoFocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"input"}},emits:["update:modelValue"],setup(n,{emit:r}){const a=n,i=Ae(a,"modelValue",r,{defaultValue:"",passive:a.modelValue===void 0}),o=Te(),{primitiveElement:t,currentElement:d}=Oe(),b=V(()=>a.disabled||o.disabled.value||!1),B=G();wt(()=>B.value=o.highlightedElement.value?.id),ge(()=>{o.focusable.value=!1,setTimeout(()=>{a.autoFocus&&d.value?.focus()},1)}),He(()=>{o.focusable.value=!0});const{isComposing:I,handleCompositionStart:z,handleCompositionEnd:v}=ut(k=>{i.value=k.target.value,o.onCompositionEnd(),o.highlightFirstItem()});function h(){o.onCompositionStart(),z()}function m(k){I.value||(i.value=k.target.value,o.highlightFirstItem())}function p(k){I.value||(k.preventDefault(),o.onKeydownNavigation(k))}function C(k){I.value||o.onKeydownEnter(k)}return(k,$)=>(c(),_(e(Y),{ref_key:"primitiveElement",ref:t,as:k.as,"as-child":k.asChild,value:e(i),disabled:b.value?"":void 0,"data-disabled":b.value?"":void 0,"aria-disabled":b.value??void 0,"aria-activedescendant":B.value,type:"text",onKeydown:[Se(p,["down","up","home","end"]),Se(C,["enter"])],onInput:m,onCompositionstart:h,onCompositionend:e(v)},{default:g(()=>[w(k.$slots,"default",{modelValue:e(i)})]),_:3},8,["as","as-child","value","disabled","data-disabled","aria-disabled","aria-activedescendant","onCompositionend"]))}}),Ia=qa;const[Il,Sa]=ke("ListboxGroup");var wa=P({__name:"ListboxGroup",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(n){const r=n,a=Ee(void 0,"reka-listbox-group");return Sa({id:a}),(l,i)=>(c(),_(e(Y),A({role:"group"},r,{"aria-labelledby":e(a)}),{default:g(()=>[w(l.$slots,"default")]),_:3},16,["aria-labelledby"]))}}),ka=wa;const Ea="listbox.select",[za,Ba]=ke("ListboxItem");var Fa=P({__name:"ListboxItem",props:{value:{type:null,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},emits:["select"],setup(n,{emit:r}){const a=n,l=r,i=Ee(void 0,"reka-listbox-item"),{CollectionItem:o}=Ne(),{forwardRef:t,currentElement:d}=ae(),b=Te(),B=V(()=>d.value!=null&&d.value===b.highlightedElement.value),I=V(()=>ba(b.modelValue.value,a.value,b.by)),z=V(()=>b.disabled.value||a.disabled);async function v(m){l("select",m),!m?.defaultPrevented&&!z.value&&m&&(b.onValueChange(a.value),b.changeHighlight(d.value))}function h(m){const p={originalEvent:m,value:a.value};kt(Ea,v,p)}return Ba({isSelected:I}),(m,p)=>(c(),_(e(o),{value:m.value},{default:g(()=>[dt([B.value,I.value,z.value,e(b).focusable.value],()=>F(e(Y),A({id:e(i)},m.$attrs,{ref:e(t),role:"option",tabindex:e(b).focusable.value?B.value?"0":"-1":-1,"aria-selected":I.value,as:m.as,"as-child":m.asChild,disabled:z.value?"":void 0,"data-disabled":z.value?"":void 0,"data-highlighted":B.value?"":void 0,"data-state":I.value?"checked":"unchecked",onClick:h,onKeydown:Se(we(h,["prevent"]),["space"]),onPointermove:p[0]||(p[0]=()=>{e(b).highlightedElement.value!==e(d)&&e(b).highlightOnHover.value&&e(b).changeHighlight(e(d),!1,!1)})}),{default:g(()=>[w(m.$slots,"default")]),_:3},16,["id","tabindex","aria-selected","as","as-child","disabled","data-disabled","data-highlighted","data-state","onKeydown"]),p,1)]),_:3},8,["value"]))}}),Aa=Fa,La=P({__name:"ListboxItemIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(n){const r=n;ae();const a=za();return(l,i)=>e(a).isSelected.value?(c(),_(e(Y),A({key:0,"aria-hidden":"true"},r),{default:g(()=>[w(l.$slots,"default")]),_:3},16)):H("v-if",!0)}}),Oa=La,Ta=P({__name:"ListboxVirtualizer",props:{options:{type:Array,required:!0},overscan:{type:Number,required:!1},estimateSize:{type:[Number,Function],required:!1},textContent:{type:Function,required:!1}},setup(n){const r=n,a=pt(),l=Te(),i=Et(),{getItems:o}=Ne();l.isVirtual.value=!0;const t=V(()=>{const v=i.value;if(v){const h=window.getComputedStyle(v);return{start:Number.parseFloat(h.paddingBlockStart||h.paddingTop),end:Number.parseFloat(h.paddingBlockEnd||h.paddingBottom)}}else return{start:0,end:0}}),d=ma({get scrollPaddingStart(){return t.value.start},get scrollPaddingEnd(){return t.value.end},get count(){return r.options.length},get horizontal(){return l.orientation.value==="horizontal"},estimateSize(v){return typeof r.estimateSize=="function"?r.estimateSize(v):r.estimateSize??28},getScrollElement(){return i.value},overscan:r.overscan??12}),b=V(()=>d.value.getVirtualItems().map(v=>{const h=a.default({option:r.options[v.index],virtualizer:d.value,virtualItem:v})[0],m=h.type===se&&Array.isArray(h.children)?h.children.find(p=>typeof p.type!="symbol"):h;return{item:v,is:At(m,{key:`${v.key}`,"data-index":v.index,"aria-setsize":r.options.length,"aria-posinset":v.index+1,style:{position:"absolute",top:0,left:0,transform:`translateY(${v.start}px)`,overflowAnchor:"none"}})}}));l.virtualFocusHook.on(({event:v,scroll:h})=>{const m=r.options.findIndex(p=>Array.isArray(l.modelValue.value)?me(p,l.modelValue.value[0],l.by):me(p,l.modelValue.value,l.by));m!==-1?(v?.preventDefault(),d.value.scrollToIndex(m,{align:"start"}),requestAnimationFrame(()=>{const p=it(i.value);p&&(l.changeHighlight(p,h,h?void 0:!1),v&&p?.focus())})):h?l.highlightFirstItem():requestAnimationFrame(()=>{const p=o().find(C=>C.ref.dataset.disabled!=="")?.ref;p&&l.changeHighlight(p,!1,!1)})}),l.virtualHighlightHook.on(v=>{const h=r.options.findIndex(m=>me(m,v,l.by));d.value.scrollToIndex(h,{align:"start"}),requestAnimationFrame(()=>{const m=it(i.value);m&&l.changeHighlight(m)})});const B=st("",1e3),I=V(()=>{const v=h=>r.textContent?r.textContent(h):h?.toString().toLowerCase();return r.options.map((h,m)=>({index:m,textContent:v(h)}))});function z(v,h){if(!l.firstValue?.value||!l.multiple.value||!Array.isArray(l.modelValue.value))return;const p=o().filter(k=>k.ref.dataset.disabled!=="").find(k=>k.ref===l.highlightedElement.value)?.value;if(!p)return;let C=null;switch(h){case"prev":case"next":{C=$e(r.options,l.firstValue.value,p);break}case"first":{C=$e(r.options,l.firstValue.value,r.options?.[0]);break}case"last":{C=$e(r.options,l.firstValue.value,r.options.at(-1));break}}l.modelValue.value=C}return l.virtualKeydownHook.on(v=>{const h=v.altKey||v.ctrlKey||v.metaKey;if(v.key==="Tab"&&!h)return;let p=zt[v.key];if(h&&v.key==="a"&&l.multiple.value?(v.preventDefault(),l.modelValue.value=[...r.options],p="last"):v.shiftKey&&p&&z(v,p),["first","last"].includes(p)){v.preventDefault();const C=p==="first"?0:r.options.length-1;d.value.scrollToIndex(C),requestAnimationFrame(()=>{const k=o(),$=p==="first"?k[0]:k.at(-1);$&&l.changeHighlight($.ref)})}else if(!p&&!h){B.value+=v.key;const C=Number(ct()?.getAttribute("data-index")),k=I.value[C].textContent,$=I.value.map(E=>E.textContent??""),S=Bt($,B.value,k),L=I.value.find(E=>E.textContent===S);L&&(d.value.scrollToIndex(L.index,{align:"start"}),requestAnimationFrame(()=>{const E=i.value.querySelector(`[data-index="${L.index}"]`);E instanceof HTMLElement&&l.changeHighlight(E)}))}}),(v,h)=>(c(),W("div",{"data-reka-virtualizer":"",style:Ft({position:"relative",width:"100%",height:`${e(d).getTotalSize()}px`})},[(c(!0),W(se,null,De(b.value,({is:m,item:p})=>(c(),_(ft(m),{key:p.index}))),128))],4))}}),Va=Ta;const[le,Ka]=ke("ComboboxRoot");var Pa=P({__name:"ComboboxRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},resetSearchTermOnBlur:{type:Boolean,required:!1,default:!0},resetSearchTermOnSelect:{type:Boolean,required:!1,default:!0},openOnFocus:{type:Boolean,required:!1,default:!1},openOnClick:{type:Boolean,required:!1,default:!1},ignoreFilter:{type:Boolean,required:!1},resetModelValueOnClear:{type:Boolean,required:!1,default:!1},modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},multiple:{type:Boolean,required:!1},dir:{type:String,required:!1},disabled:{type:Boolean,required:!1},highlightOnHover:{type:Boolean,required:!1,default:!0},by:{type:[String,Function],required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","highlight","update:open"],setup(n,{expose:r,emit:a}){const l=n,i=a,{primitiveElement:o,currentElement:t}=Oe(),{multiple:d,disabled:b,ignoreFilter:B,resetSearchTermOnSelect:I,openOnFocus:z,openOnClick:v,dir:h,resetModelValueOnClear:m,highlightOnHover:p}=Ye(l),C=nt(h),k=Ae(l,"modelValue",i,{defaultValue:l.defaultValue??(d.value?[]:void 0),passive:l.modelValue===void 0,deep:!0}),$=Ae(l,"open",i,{defaultValue:l.defaultOpen,passive:l.open===void 0});async function S(R){$.value=R,re.value="",R?(await ue(),o.value?.highlightSelected(),E.value=!0,O.value?.focus()):(E.value=!1,setTimeout(()=>{!R&&l.resetSearchTermOnBlur&&L.trigger()},1))}const L=Re(),E=G(!1),de=G(!1),O=G(),ie=G(),X=V(()=>o.value?.highlightedElement??void 0),oe=G(new Map),pe=G(new Map),{contains:be}=Tt({sensitivity:"base"}),re=G(""),ce=V(R=>{if(!re.value||l.ignoreFilter||de.value)return{count:oe.value.size,items:R?.items??new Map,groups:R?.groups??new Set(pe.value.keys())};let J=0;const Q=new Map,ne=new Set;for(const[he,Z]of oe.value){const ee=be(Z,re.value);Q.set(he,ee?1:0),ee&&J++}for(const[he,Z]of pe.value)for(const ee of Z)if(Q.get(ee)>0){ne.add(he);break}return{count:J,items:Q,groups:ne}}),N=Ot();return ge(()=>{N?.exposed&&(N.exposed.highlightItem=o.value?.highlightItem,N.exposed.highlightFirstItem=o.value?.highlightFirstItem,N.exposed.highlightSelected=o.value?.highlightSelected)}),r({filtered:ce,highlightedElement:X,highlightItem:o.value?.highlightItem,highlightFirstItem:o.value?.highlightFirstItem,highlightSelected:o.value?.highlightSelected}),Ka({modelValue:k,multiple:d,disabled:b,open:$,onOpenChange:S,contentId:"",isUserInputted:E,isVirtual:de,inputElement:O,highlightedElement:X,onInputElementChange:R=>O.value=R,triggerElement:ie,onTriggerElementChange:R=>ie.value=R,parentElement:t,resetSearchTermOnSelect:I,onResetSearchTerm:L.on,allItems:oe,allGroups:pe,filterSearch:re,filterState:ce,ignoreFilter:B,openOnFocus:z,openOnClick:v,resetModelValueOnClear:m}),(R,J)=>(c(),_(e(Lt),null,{default:g(()=>[F(e(_a),A({ref_key:"primitiveElement",ref:o},R.$attrs,{modelValue:e(k),"onUpdate:modelValue":J[0]||(J[0]=Q=>vt(k)?k.value=Q:null),style:{pointerEvents:e($)?"auto":void 0},as:R.as,"as-child":R.asChild,dir:e(C),multiple:e(d),name:R.name,required:R.required,disabled:e(b),"highlight-on-hover":e(p),by:l.by,onHighlight:J[1]||(J[1]=Q=>i("highlight",Q))}),{default:g(()=>[w(R.$slots,"default",{open:e($),modelValue:e(k)})]),_:3},16,["modelValue","style","as","as-child","dir","multiple","name","required","disabled","highlight-on-hover","by"])]),_:3}))}}),Ra=Pa,Da=P({__name:"ComboboxAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(n){const{forwardRef:r}=ae();return(a,l)=>(c(),_(e(Vt),{"as-child":"",reference:a.reference},{default:g(()=>[F(e(Y),A({ref:e(r),"as-child":a.asChild,as:a.as},a.$attrs),{default:g(()=>[w(a.$slots,"default")]),_:3},16,["as-child","as"])]),_:3},8,["reference"]))}}),$a=Da;const[Ma,Na]=ke("ComboboxContent");var Ha=P({__name:"ComboboxContentImpl",props:{position:{type:String,required:!1,default:"inline"},bodyLock:{type:Boolean,required:!1},hideWhenEmpty:{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:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside"],setup(n,{emit:r}){const a=n,l=r,{position:i}=Ye(a),o=le(),t=V(()=>o.ignoreFilter.value?o.allItems.value.size===0:o.filterState.value.count===0),{forwardRef:d,currentElement:b}=ae();Kt(a.bodyLock),Pt(),Rt(o.parentElement);const B=V(()=>a.position==="popper"?a:{}),I=Dt(B.value),z={boxSizing:"border-box","--reka-combobox-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-combobox-content-available-width":"var(--reka-popper-available-width)","--reka-combobox-content-available-height":"var(--reka-popper-available-height)","--reka-combobox-trigger-width":"var(--reka-popper-anchor-width)","--reka-combobox-trigger-height":"var(--reka-popper-anchor-height)"};Na({position:i});const v=G(!1);ge(()=>{o.inputElement.value&&(v.value=b.value.contains(o.inputElement.value),v.value&&o.inputElement.value.focus())}),He(()=>{const m=ct();v.value&&(!m||m===document.body)&&o.triggerElement.value?.focus()});function h(m){if(o.parentElement.value?.contains(m))return!0;const C=(m instanceof Element?m.closest("label"):null)?.control;return!!C&&!!o.parentElement.value?.contains(C)}return(m,p)=>(c(),_(e(Ca),{"as-child":""},{default:g(()=>[F(e(mt),{"as-child":"",onMountAutoFocus:p[5]||(p[5]=we(()=>{},["prevent"])),onUnmountAutoFocus:p[6]||(p[6]=we(()=>{},["prevent"]))},{default:g(()=>[F(e($t),{"as-child":"","disable-outside-pointer-events":m.disableOutsidePointerEvents,onDismiss:p[0]||(p[0]=C=>e(o).onOpenChange(!1)),onFocusOutside:p[1]||(p[1]=C=>{h(C.target)&&C.preventDefault(),l("focusOutside",C)}),onInteractOutside:p[2]||(p[2]=C=>l("interactOutside",C)),onEscapeKeyDown:p[3]||(p[3]=C=>l("escapeKeyDown",C)),onPointerDownOutside:p[4]||(p[4]=C=>{h(C.target)&&C.preventDefault(),l("pointerDownOutside",C)})},{default:g(()=>[(c(),_(ft(e(i)==="popper"?e(Mt):e(Y)),A({...m.$attrs,...e(I)},{id:e(o).contentId,ref:e(d),"memo-dependencies":e(i)==="popper"?[e(o).filterSearch.value,e(o).filterState.value]:void 0,"data-state":e(o).open.value?"open":"closed","data-empty":t.value?"":void 0,style:{display:a.hideWhenEmpty&&t.value?"none":"flex",flexDirection:"column",outline:"none",...e(i)==="popper"?z:{}}}),{default:g(()=>[w(m.$slots,"default")]),_:3},16,["id","memo-dependencies","data-state","data-empty","style"]))]),_:3},8,["disable-outside-pointer-events"])]),_:3})]),_:3}))}}),Ga=Ha,ja=P({__name:"ComboboxArrow",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(n){const r=n,a=le(),l=Ma();return ae(),(i,o)=>e(a).open.value&&e(l).position.value==="popper"?(c(),_(e(Nt),qe(A({key:0},r)),{default:g(()=>[w(i.$slots,"default")]),_:3},16)):H("v-if",!0)}}),Ua=ja,Wa=P({__name:"ComboboxCancel",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(n){const r=n;ae();const a=le();function l(){a.filterSearch.value="",a.inputElement.value&&(a.inputElement.value.value="",a.inputElement.value.focus()),a.resetModelValueOnClear?.value&&(a.modelValue.value=a.multiple.value?[]:null)}return(i,o)=>(c(),_(e(Y),A({type:i.as==="button"?"button":void 0},r,{tabindex:"-1",onClick:l}),{default:g(()=>[w(i.$slots,"default")]),_:3},16,["type"]))}}),Ya=Wa,Ja=P({__name:"ComboboxContent",props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},hideWhenEmpty:{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:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside"],setup(n,{emit:r}){const i=Ht(n,r),{forwardRef:o}=ae(),t=le();return t.contentId||=Ee(void 0,"reka-combobox-content"),(d,b)=>(c(),_(e(Gt),{present:d.forceMount||e(t).open.value},{default:g(()=>[F(Ga,A({...e(i),...d.$attrs},{ref:e(o)}),{default:g(()=>[w(d.$slots,"default")]),_:3},16)]),_:3},8,["present"]))}}),Qa=Ja,Xa=P({__name:"ComboboxEmpty",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(n){const r=n,a=le(),l=V(()=>a.ignoreFilter.value?a.allItems.value.size===0:a.filterState.value.count===0);return(i,o)=>l.value?(c(),_(e(Y),qe(A({key:0},r)),{default:g(()=>[w(i.$slots,"default",{},()=>[o[0]||(o[0]=Ce("No options"))])]),_:3},16)):H("v-if",!0)}}),Za=Xa;const[gt,el]=ke("ComboboxGroup");var tl=P({__name:"ComboboxGroup",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(n){const r=n,a=Ee(void 0,"reka-combobox-group"),l=le(),i=V(()=>l.ignoreFilter.value?!0:l.filterSearch.value?l.filterState.value.groups.has(a):!0),o=el({id:a,labelId:""});return ge(()=>{l.allGroups.value.has(a)||l.allGroups.value.set(a,new Set)}),He(()=>{l.allGroups.value.delete(a)}),(t,d)=>(c(),_(e(ka),A({id:e(a),"aria-labelledby":e(o).labelId},r,{hidden:i.value?void 0:!0}),{default:g(()=>[w(t.$slots,"default")]),_:3},16,["id","aria-labelledby","hidden"]))}}),Ue=tl,al=P({__name:"ComboboxInput",props:{displayValue:{type:Function,required:!1},modelValue:{type:String,required:!1},autoFocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"input"}},emits:["update:modelValue"],setup(n,{emit:r}){const a=n,l=r,i=le(),o=Te(),{primitiveElement:t,currentElement:d}=Oe(),b=Ae(a,"modelValue",l,{passive:a.modelValue===void 0});ge(()=>{d.value&&i.onInputElementChange(d.value)});const{isComposing:B,handleCompositionStart:I,handleCompositionEnd:z}=ut(S=>{const L=S.target;L&&h(L.value)});function v(S){B.value||(S.preventDefault(),i.open.value||i.onOpenChange(!0))}function h(S){i.open.value?i.filterSearch.value=S:(i.onOpenChange(!0),ue(()=>{S&&(i.filterSearch.value=S,o.highlightFirstItem())}))}function m(S){B.value||h(S.target.value)}function p(){i.openOnFocus.value&&!i.open.value&&i.onOpenChange(!0)}function C(S){if(!i.open.value)return;const L=S.relatedTarget;if(!L)return;const E=i.parentElement.value?.contains(L),de=document.getElementById(i.contentId)?.contains(L);!E&&!de&&requestAnimationFrame(()=>{if(!i.open.value)return;const O=document.activeElement;!i.parentElement.value?.contains(O)&&!document.getElementById(i.contentId)?.contains(O)&&i.onOpenChange(!1)})}function k(){i.openOnClick.value&&!i.open.value&&i.onOpenChange(!0)}function $(){const S=i.modelValue.value;a.displayValue?b.value=a.displayValue(S):!i.multiple.value&&S&&!Array.isArray(S)&&typeof S!="object"?b.value=S.toString():b.value="",ue(()=>{b.value=b.value})}return i.onResetSearchTerm(()=>{$()}),Me(i.modelValue,async()=>{!i.isUserInputted.value&&i.resetSearchTermOnSelect.value&&$()},{immediate:!0,deep:!0}),Me(i.filterState,(S,L)=>{!i.isVirtual.value&&L.count===0&&o.highlightFirstItem()}),(S,L)=>(c(),_(e(Ia),{ref_key:"primitiveElement",ref:t,modelValue:e(b),"onUpdate:modelValue":L[0]||(L[0]=E=>vt(b)?b.value=E:null),as:S.as,"as-child":S.asChild,"auto-focus":S.autoFocus,disabled:S.disabled,"aria-expanded":e(i).open.value,"aria-controls":e(i).contentId,"aria-autocomplete":"list",role:"combobox",autocomplete:"off",onClick:k,onInput:m,onKeydown:Se(v,["down","up"]),onFocus:p,onBlur:C,onCompositionstart:e(I),onCompositionend:e(z)},{default:g(()=>[w(S.$slots,"default")]),_:3},8,["modelValue","as","as-child","auto-focus","disabled","aria-expanded","aria-controls","onCompositionstart","onCompositionend"]))}}),ll=al,il=P({__name:"ComboboxItem",props:{textValue:{type:String,required:!1},value:{type:null,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(n,{emit:r}){const a=n,l=r,i=Ee(void 0,"reka-combobox-item"),o=le(),t=gt(null),{primitiveElement:d,currentElement:b}=Oe();if(a.value==="")throw new Error("A <ComboboxItem /> must have a value prop that is not an empty string. This is because the Combobox value can be set to an empty string to clear the selection and show the placeholder.");const B=V(()=>{if(o.isVirtual.value||o.ignoreFilter.value||!o.filterSearch.value)return!0;{const I=o.filterState.value.items.get(i);return I===void 0?!0:I>0}});return ge(()=>{o.allItems.value.set(i,a.textValue||b.value.textContent||b.value.innerText);const I=t?.id;I&&(o.allGroups.value.has(I)?o.allGroups.value.get(I)?.add(i):o.allGroups.value.set(I,new Set([i])))}),He(()=>{o.allItems.value.delete(i)}),(I,z)=>B.value?dt([B.value,e(o).filterSearch.value,e(o).disabled.value,I.disabled,a.value,a.as,a.asChild,...Object.values(I.$attrs)],()=>(c(),_(e(Aa),A({key:0},a,{id:e(i),ref_key:"primitiveElement",ref:d,disabled:e(o).disabled.value||I.disabled,onSelect:z[0]||(z[0]=v=>{l("select",v),!v.defaultPrevented&&(!e(o).multiple.value&&!I.disabled&&!e(o).disabled.value?(v.preventDefault(),e(o).onOpenChange(!1),e(o).modelValue.value=a.value):e(o).multiple.value&&e(o).inputElement.value?.focus())})}),{default:g(()=>[w(I.$slots,"default",{},()=>[Ce(ve(I.value),1)])]),_:3},16,["id","disabled"])),z,1):H("v-if",!0)}}),ot=il,ol=P({__name:"ComboboxItemIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(n){const r=n;return(a,l)=>(c(),_(e(Oa),qe(Le(r)),{default:g(()=>[w(a.$slots,"default")]),_:3},16))}}),rl=ol,nl=P({__name:"ComboboxLabel",props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(n){const r=n;ae();const a=gt({id:"",labelId:""});return a.labelId||=Ee(void 0,"reka-combobox-group-label"),(l,i)=>(c(),_(e(Y),A(r,{id:e(a).labelId}),{default:g(()=>[w(l.$slots,"default")]),_:3},16,["id"]))}}),sl=nl,ul=P({__name:"ComboboxPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(n){const r=n;return(a,l)=>(c(),_(e(jt),qe(Le(r)),{default:g(()=>[w(a.$slots,"default")]),_:3},16))}}),dl=ul,pl=P({__name:"ComboboxSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(n){const r=n;return ae(),(a,l)=>(c(),_(e(Y),A(r,{"aria-hidden":"true"}),{default:g(()=>[w(a.$slots,"default")]),_:3},16))}}),cl=pl,fl=P({__name:"ComboboxTrigger",props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(n){const r=n,{forwardRef:a,currentElement:l}=ae(),i=le(),o=V(()=>r.disabled||i.disabled.value||!1);return ge(()=>{l.value&&i.onTriggerElementChange(l.value)}),(t,d)=>(c(),_(e(Y),A(r,{ref:e(a),type:t.as==="button"?"button":void 0,tabindex:"-1","aria-label":"Show popup","aria-haspopup":"listbox","aria-expanded":e(i).open.value,"aria-controls":e(i).contentId,"data-state":e(i).open.value?"open":"closed",disabled:o.value,"data-disabled":o.value?"":void 0,"aria-disabled":o.value??void 0,onClick:d[0]||(d[0]=b=>e(i).onOpenChange(!e(i).open.value))}),{default:g(()=>[w(t.$slots,"default")]),_:3},16,["type","aria-expanded","aria-controls","data-state","disabled","data-disabled","aria-disabled"]))}}),vl=fl,ml=P({__name:"ComboboxVirtualizer",props:{options:{type:Array,required:!0},overscan:{type:Number,required:!1},estimateSize:{type:[Number,Function],required:!1},textContent:{type:Function,required:!1}},setup(n){const r=n,a=le();return a.isVirtual.value=!0,(l,i)=>(c(),_(Va,qe(Le(r)),{default:g(o=>[w(l.$slots,"default",qe(Le(o)))]),_:3},16))}}),gl=ml;function bl(n,r){if(typeof n!="object"||n===null)return!1;const a=xe(n,r);return a!=null&&a!==""}function rt(n,r){return r?{xs:44,sm:48,md:52,lg:56,xl:60}[n]:{xs:24,sm:28,md:32,lg:36,xl:40}[n]}function hl(n,r,a,l){const i=rt(r,!0),o=rt(r,!1);return l?()=>i:a?t=>bl(n[t],a)?i:o:()=>o}const yl={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","max-h-[min(15rem,var(--reka-combobox-content-available-height,15rem))] origin-(--reka-combobox-content-transform-origin) w-(--reka-combobox-trigger-width)"],viewport:"relative 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",input:"border-b border-default",focusScope:"flex flex-col min-h-0",trailingClear:"p-0"},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:""},virtualize:{true:{viewport:"p-1 isolate"},false:{viewport:"divide-y divide-default"}}},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"}},Sl=Object.assign({inheritAttrs:!1},{__name:"USelectMenu",props:at({id:{type:String,required:!1},placeholder:{type:String,required:!1},searchInput:{type:[Boolean,Object],required:!1,default:!0},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},required:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},selectedIcon:{type:null,required:!1},clear:{type:[Boolean,Object],required:!1},clearIcon:{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},virtualize:{type:[Boolean,Object],required:!1,default:!1},valueKey:{type:null,required:!1},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},createItem:{type:[Boolean,String,Object],required:!1},filterFields:{type:Array,required:!1},ignoreFilter:{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},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},resetSearchTermOnBlur:{type:Boolean,required:!1,default:!0},resetSearchTermOnSelect:{type:Boolean,required:!1,default:!0},resetModelValueOnClear:{type:Boolean,required:!1,default:!0},highlightOnHover:{type:Boolean,required:!1},by:{type:[String,Function],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}},{searchTerm:{type:String,default:""},searchTermModifiers:{}}),emits:at(["change","blur","focus","create","clear","highlight","update:modelValue","update:open"],["update:searchTerm"]),setup(n,{expose:r,emit:a}){const l=n,i=a,o=pt(),t=Ut("selectMenu",l),d=Wt(n,"searchTerm",{type:String,default:""}),{t:b}=Yt(),B=Jt(),{filterGroups:I}=ca(),z=Qt(Xt(t,"modelValue","defaultValue","open","defaultOpen","required","multiple","resetSearchTermOnBlur","resetSearchTermOnSelect","resetModelValueOnClear","highlightOnHover","by"),i),v=Zt(fe(()=>t.portal)),h=fe(()=>Fe(t.content,{side:"bottom",sideOffset:8,collisionPadding:8,position:"popper"})),m=fe(()=>Fe(t.arrow,{rounded:!0})),p=V(()=>typeof t.clear=="object"?t.clear:{}),C=fe(()=>t.virtualize?Fe(typeof t.virtualize=="boolean"?{}:t.virtualize,{estimateSize:hl(x.value,ne.value||"md",t.descriptionKey,!!o["item-description"])}):!1),k=fe(()=>Fe(t.searchInput,{placeholder:b("selectMenu.search"),variant:"none"})),{emitFormBlur:$,emitFormFocus:S,emitFormInput:L,emitFormChange:E,size:de,color:O,id:ie,name:X,highlight:oe,disabled:pe,ariaAttrs:be}=ea(l),{orientation:re,size:ce}=ta(l),{isLeading:N,isTrailing:R,leadingIconName:J,trailingIconName:Q}=aa(fe(()=>Fe(t,{trailingIcon:B.ui.icons.chevronDown}))),ne=V(()=>ce.value||de.value),[he,Z]=et(),[ee,Ve]=et({props:{item:{type:[Object,String,Number,Boolean],required:!0},index:{type:Number,required:!1}}}),y=V(()=>ua({extend:yl,...B.ui?.selectMenu||{}})({color:O.value??t.color,variant:t.variant,size:ne?.value??t.size,loading:t.loading,highlight:oe.value??t.highlight,leading:N.value||!!t.avatar||!!o.leading,trailing:R.value||!!o.trailing,fieldGroup:re.value,virtualize:!!t.virtualize,multiple:t.multiple}));function Ge(f){if(t.multiple&&Array.isArray(f)){const D=f.map(s=>lt(ze.value,s,{labelKey:t.labelKey,valueKey:t.valueKey,by:t.by})).filter(s=>s!=null&&s!=="");return D.length>0?D.join(", "):void 0}return lt(ze.value,f,{labelKey:t.labelKey,valueKey:t.valueKey,by:t.by})}const Ie=V(()=>t.items?.length?pa(t.items)?t.items:[t.items]:[]),ze=V(()=>Ie.value.flatMap(f=>f)),u=V(()=>{if(t.ignoreFilter||!d.value)return Ie.value;const f=Array.isArray(t.filterFields)?t.filterFields:[t.labelKey];return I(Ie.value,d.value,{fields:f,isStructural:D=>M(D)&&!!D.type&&["label","separator"].includes(D.type)})}),x=V(()=>u.value.flatMap(f=>f)),q=V(()=>{if(!t.createItem||!d.value)return!1;const f=t.valueKey?{[t.valueKey]:d.value}:d.value;return typeof t.createItem=="object"&&t.createItem.when==="always"||t.createItem==="always"?!x.value.find(D=>da(D,f,t.by??t.valueKey)):!x.value.length}),T=V(()=>typeof t.createItem=="object"?t.createItem.position:"bottom"),j=je("triggerRef");function ye(){t.autofocus&&j.value?.$el?.focus({focusVisible:!0})}ge(()=>{setTimeout(()=>{ye()},t.autofocusDelay)});function _e(f){if(na(t.modelValue)===f)return;t.modelModifiers?.trim&&(typeof f=="string"||f===null||f===void 0)&&(f=f?.trim()??null),t.modelModifiers?.number&&(f=sa(f)),t.modelModifiers?.nullable&&(f??=null),t.modelModifiers?.optional&&!t.modelModifiers?.nullable&&f!==null&&(f??=void 0);const D=new Event("change",{target:{value:f}});i("change",D),E(),L(),t.resetSearchTermOnSelect&&(d.value="")}const Je=G(!1);function bt(f){Je.value=f;let D;if(f){const s=new FocusEvent("focus");i("focus",s),S(),clearTimeout(D)}else{const s=new FocusEvent("blur");i("blur",s),$(),t.resetSearchTermOnBlur&&(D=setTimeout(()=>{d.value=""},100))}}function ht(f){f.preventDefault(),f.stopPropagation(),i("create",d.value)}function yt(f,D){if(M(D)){if(D.disabled){f.preventDefault();return}D.onSelect?.(f)}}function M(f){return typeof f=="object"&&f!==null}function _t(f){return t.multiple&&Array.isArray(f)?f.length===0:f==null||f===""}function xt(){i("clear")}const Qe=je("viewportRef"),Xe=je("comboboxRootRef");return Me(()=>t.items,async()=>{!Je.value||!t.createItem||(await ue(),Xe.value?.highlightFirstItem?.())},{flush:"post"}),r({triggerRef:fe(()=>j.value?.$el),viewportRef:fe(()=>Qe.value)}),(f,D)=>(c(),W(se,null,[F(e(he),null,{default:g(()=>[F(e(ot),{"data-slot":"item",class:K(y.value.item({class:e(t).ui?.item})),value:d.value,onSelect:ht},{default:g(()=>[Be("span",{"data-slot":"itemLabel",class:K(y.value.itemLabel({class:e(t).ui?.itemLabel}))},[w(f.$slots,"create-item-label",{item:d.value},()=>[Ce(ve(e(b)("selectMenu.create",{label:d.value})),1)])],2)]),_:3},8,["class","value"])]),_:3}),F(e(ee),null,{default:g(({item:s,index:te})=>[M(s)&&s.type==="label"?(c(),_(e(sl),{key:0,"data-slot":"label",class:K(y.value.label({class:[e(t).ui?.label,s.ui?.label,s.class]}))},{default:g(()=>[Ce(ve(e(xe)(s,e(t).labelKey)),1)]),_:2},1032,["class"])):M(s)&&s.type==="separator"?(c(),_(e(cl),{key:1,"data-slot":"separator",class:K(y.value.separator({class:[e(t).ui?.separator,s.ui?.separator,s.class]}))},null,8,["class"])):(c(),_(e(ot),{key:2,"data-slot":"item",class:K(y.value.item({class:[e(t).ui?.item,M(s)&&s.ui?.item,M(s)&&s.class]})),disabled:M(s)&&s.disabled,value:e(t).valueKey&&M(s)?e(xe)(s,e(t).valueKey):s,onSelect:U=>yt(U,s)},{default:g(()=>[w(f.$slots,"item",{item:s,index:te,ui:y.value},()=>[w(f.$slots,"item-leading",{item:s,index:te,ui:y.value},()=>[M(s)&&s.icon?(c(),_(Pe,{key:0,name:s.icon,"data-slot":"itemLeadingIcon",class:K(y.value.itemLeadingIcon({class:[e(t).ui?.itemLeadingIcon,s.ui?.itemLeadingIcon]}))},null,8,["name","class"])):M(s)&&s.avatar?(c(),_(tt,A({key:1,size:s.ui?.itemLeadingAvatarSize||e(t).ui?.itemLeadingAvatarSize||y.value.itemLeadingAvatarSize()},s.avatar,{"data-slot":"itemLeadingAvatar",class:y.value.itemLeadingAvatar({class:[e(t).ui?.itemLeadingAvatar,s.ui?.itemLeadingAvatar]})}),null,16,["size","class"])):M(s)&&s.chip?(c(),_(la,A({key:2,size:s.ui?.itemLeadingChipSize||e(t).ui?.itemLeadingChipSize||y.value.itemLeadingChipSize(),inset:"",standalone:""},s.chip,{"data-slot":"itemLeadingChip",class:y.value.itemLeadingChip({class:[e(t).ui?.itemLeadingChip,s.ui?.itemLeadingChip]})}),null,16,["size","class"])):H("",!0)]),Be("span",{"data-slot":"itemWrapper",class:K(y.value.itemWrapper({class:[e(t).ui?.itemWrapper,M(s)&&s.ui?.itemWrapper]}))},[Be("span",{"data-slot":"itemLabel",class:K(y.value.itemLabel({class:[e(t).ui?.itemLabel,M(s)&&s.ui?.itemLabel]}))},[w(f.$slots,"item-label",{item:s,index:te},()=>[Ce(ve(M(s)?e(xe)(s,e(t).labelKey):s),1)])],2),M(s)&&(e(xe)(s,e(t).descriptionKey)||o["item-description"])?(c(),W("span",{key:0,"data-slot":"itemDescription",class:K(y.value.itemDescription({class:[e(t).ui?.itemDescription,M(s)&&s.ui?.itemDescription]}))},[w(f.$slots,"item-description",{item:s,index:te},()=>[Ce(ve(e(xe)(s,e(t).descriptionKey)),1)])],2)):H("",!0)],2),Be("span",{"data-slot":"itemTrailing",class:K(y.value.itemTrailing({class:[e(t).ui?.itemTrailing,M(s)&&s.ui?.itemTrailing]}))},[w(f.$slots,"item-trailing",{item:s,index:te,ui:y.value}),F(e(rl),{"as-child":""},{default:g(()=>[F(Pe,{name:e(t).selectedIcon||e(B).ui.icons.check,"data-slot":"itemTrailingIcon",class:K(y.value.itemTrailingIcon({class:[e(t).ui?.itemTrailingIcon,M(s)&&s.ui?.itemTrailingIcon]}))},null,8,["name","class"])]),_:2},1024)],2)])]),_:2},1032,["class","disabled","value","onSelect"]))]),_:3}),F(e(Ra),A({ref_key:"comboboxRootRef",ref:Xe},e(z),{"ignore-filter":"","as-child":"",name:e(X),disabled:e(pe),"onUpdate:modelValue":_e,"onUpdate:open":bt}),{default:g(({modelValue:s,open:te})=>[F(e($a),{"as-child":""},{default:g(()=>[F(e(vl),A({id:e(ie),ref_key:"triggerRef",ref:j,"data-slot":"base",class:y.value.base({class:[e(t).ui?.base,e(t).class]}),tabindex:"0"},{...f.$attrs,...e(be)}),{default:g(()=>[e(N)||e(t).avatar||o.leading?(c(),W("span",{key:0,"data-slot":"leading",class:K(y.value.leading({class:e(t).ui?.leading}))},[w(f.$slots,"leading",{modelValue:s,open:te,ui:y.value},()=>[e(N)&&e(J)?(c(),_(Pe,{key:0,name:e(J),"data-slot":"leadingIcon",class:K(y.value.leadingIcon({class:e(t).ui?.leadingIcon}))},null,8,["name","class"])):e(t).avatar?(c(),_(tt,A({key:1,size:e(t).ui?.itemLeadingAvatarSize||y.value.itemLeadingAvatarSize()},e(t).avatar,{"data-slot":"itemLeadingAvatar",class:y.value.itemLeadingAvatar({class:e(t).ui?.itemLeadingAvatar})}),null,16,["size","class"])):H("",!0)])],2)):H("",!0),w(f.$slots,"default",{modelValue:s,open:te,ui:y.value},()=>[(c(!0),W(se,null,De([Ge(s)],U=>(c(),W(se,{key:U},[U!=null?(c(),W("span",{key:0,"data-slot":"value",class:K(y.value.value({class:e(t).ui?.value}))},ve(U),3)):(c(),W("span",{key:1,"data-slot":"placeholder",class:K(y.value.placeholder({class:e(t).ui?.placeholder}))},ve(e(t).placeholder??" "),3))],64))),128))]),e(R)||o.trailing||e(t).clear?(c(),W("span",{key:1,"data-slot":"trailing",class:K(y.value.trailing({class:e(t).ui?.trailing}))},[w(f.$slots,"trailing",{modelValue:s,open:te,ui:y.value},()=>[e(t).clear&&!_t(s)?(c(),_(e(Ya),{key:0,"as-child":""},{default:g(()=>[F(ia,A({as:"span",icon:e(t).clearIcon||e(B).ui.icons.close,size:ne.value,variant:"link",color:"neutral",tabindex:"-1"},p.value,{"data-slot":"trailingClear",class:y.value.trailingClear({class:e(t).ui?.trailingClear}),onClick:we(xt,["stop"])}),null,16,["icon","size","class"])]),_:1})):e(Q)?(c(),_(Pe,{key:1,name:e(Q),"data-slot":"trailingIcon",class:K(y.value.trailingIcon({class:e(t).ui?.trailingIcon}))},null,8,["name","class"])):H("",!0)])],2)):H("",!0)]),_:2},1040,["id","class"])]),_:2},1024),F(e(dl),qe(Le(e(v))),{default:g(()=>[F(e(oa),null,{default:g(()=>[F(e(Qa),A({"data-slot":"content",class:y.value.content({class:e(t).ui?.content})},h.value),{default:g(()=>[F(e(mt),{trapped:"","data-slot":"focusScope",class:K(y.value.focusScope({class:e(t).ui?.focusScope}))},{default:g(()=>[w(f.$slots,"content-top"),e(t).searchInput?(c(),_(e(ll),{key:0,modelValue:d.value,"onUpdate:modelValue":D[1]||(D[1]=U=>d.value=U),"display-value":()=>d.value,"as-child":""},{default:g(()=>[F(ra,A({autofocus:"",autocomplete:"off",size:ne.value},k.value,{"model-modifiers":{trim:e(t).modelModifiers?.trim},"data-slot":"input",class:y.value.input({class:e(t).ui?.input}),onChange:D[0]||(D[0]=we(()=>{},["stop"]))}),null,16,["size","model-modifiers","class"])]),_:1},8,["modelValue","display-value"])):H("",!0),F(e(Za),{"data-slot":"empty",class:K(y.value.empty({class:e(t).ui?.empty}))},{default:g(()=>[w(f.$slots,"empty",{searchTerm:d.value},()=>[Ce(ve(d.value?e(b)("selectMenu.noMatch",{searchTerm:d.value}):e(b)("selectMenu.noData")),1)])]),_:3},8,["class"]),Be("div",{ref_key:"viewportRef",ref:Qe,role:"presentation","data-slot":"viewport",class:K(y.value.viewport({class:e(t).ui?.viewport}))},[e(t).virtualize?(c(),W(se,{key:0},[q.value&&T.value==="top"?(c(),_(e(Z),{key:0})):H("",!0),F(e(gl),A({options:x.value,"text-content":U=>M(U)?e(xe)(U,e(t).labelKey):String(U)},C.value),{default:g(({option:U,virtualItem:Ke})=>[F(e(Ve),{item:U,index:Ke.index},null,8,["item","index"])]),_:1},16,["options","text-content"]),q.value&&T.value==="bottom"?(c(),_(e(Z),{key:1})):H("",!0)],64)):(c(),W(se,{key:1},[q.value&&T.value==="top"?(c(),_(e(Ue),{key:0,"data-slot":"group",class:K(y.value.group({class:e(t).ui?.group}))},{default:g(()=>[F(e(Z))]),_:1},8,["class"])):H("",!0),(c(!0),W(se,null,De(u.value,(U,Ke)=>(c(),_(e(Ue),{key:`group-${Ke}`,"data-slot":"group",class:K(y.value.group({class:e(t).ui?.group}))},{default:g(()=>[(c(!0),W(se,null,De(U,(Ct,Ze)=>(c(),_(e(Ve),{key:`group-${Ke}-${Ze}`,item:Ct,index:Ze},null,8,["item","index"]))),128))]),_:2},1032,["class"]))),128)),q.value&&T.value==="bottom"?(c(),_(e(Ue),{key:1,"data-slot":"group",class:K(y.value.group({class:e(t).ui?.group}))},{default:g(()=>[F(e(Z))]),_:1},8,["class"])):H("",!0)],64))],2),w(f.$slots,"content-bottom")]),_:3},8,["class"]),e(t).arrow?(c(),_(e(Ua),A({key:0},m.value,{"data-slot":"arrow",class:y.value.arrow({class:e(t).ui?.arrow})}),null,16,["class"])):H("",!0)]),_:3},16,["class"])]),_:3})]),_:3},16)]),_:3},16,["name","disabled"])],64))}});export{Aa as L,Sl as _,Oa as a,Ia as b,Ca as c,Va as d,ka as e,_a as f,hl as g,Il as i};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as oe}from"./
|
|
1
|
+
import{_ as oe}from"./qeqzb80l.js";import{_ as se}from"./Db5xe__T.js";import{d as ne,q as le,u as ie,p as re,w as de,a as ce,C as ue,c,b as t,e as p,f as o,F as D,h as s,ac as me,l as w,o as l,g as d,k as r,G as pe,x as $,j as fe,_ as ye,t as H,z as ge,m as ve,v as E,r as u,B as we}from"./BzBaMPgu.js";import{_ as _e}from"./Bg8yOdSf.js";import{_ as ke}from"./D_j436ND.js";import{u as he}from"./CDEmotIt.js";import"./BcHU1KNK.js";import"./CTYlay1H.js";import"./kDEwM7SQ.js";const xe={class:"space-y-6"},be={class:"inline-flex items-center gap-1.5"},Pe={class:"flex justify-end"},Ce={class:"space-y-3"},Ve={key:0,class:"flex items-center gap-2 text-sm text-success-600 dark:text-success-400"},$e={key:1,class:"flex items-center gap-2 text-sm text-warning-600 dark:text-warning-400"},Ee={key:2,class:"text-xs text-gray-400"},Se={class:"flex justify-end"},Ae={class:"space-y-3"},Ue={class:"flex items-center gap-2 text-sm"},Fe={key:1,class:"text-xs text-gray-400",title:"Set a password first to keep a way to sign in"},Ne={key:2,class:"text-xs text-gray-400"},Be={class:"space-y-4"},Te={class:"flex justify-end"},qe={class:"text-sm text-gray-500"},Ye=ne({__name:"account",async setup(ze){let S,O;const i=le(),y=ie(),L=re(),U=we(),{data:m,refresh:A}=([S,O]=de(()=>he("/api/auth/me","$6LbuOgDH4R")),S=await S,O(),S),g=E(()=>m.value?.user?.oauthProvider??null),I=E(()=>!!m.value?.user?.hasPassword),_=E(()=>!!g.value&&!I.value),F={google:{label:"Google",icon:"i-lucide-chrome"},github:{label:"GitHub",icon:"i-lucide-github"}},j=E(()=>U.public.demoMode?[]:(U.public.oauthProviders||[]).filter(a=>F[a])),k=u(""),N=u(!1),h=u(""),B=u(!1),T=u(!1),x=u(""),f=u(""),b=u(""),q=u(!1),z=u("");ce(()=>m.value?.user,a=>{a&&(k.value=a.name||"",h.value=a.email||"")},{immediate:!0});const M={"already-linked":"That provider account is already linked to another user.","link-requires-login":"Please sign in before connecting a provider.","domain-not-allowed":"That account’s email domain is not allowed.","org-not-allowed":"You are not a member of an allowed organization.","invalid-state":"Connecting failed (invalid state). Please try again.","access-denied":"Authorization was cancelled.","oauth-failed":"Connecting the provider failed."};ue(()=>{y.query.verified&&i.add({title:"Email verified",color:"success"}),y.query.linked&&(i.add({title:"Account connected",color:"success"}),A());const a=y.query.error;a&&i.add({title:"Could not connect account",description:M[a]||"Please try again.",color:"error"}),(y.query.linked||y.query.error||y.query.verified)&&L.replace({query:{}})});async function G(){N.value=!0;try{await $fetch(`/api/users/${m.value?.user?.id}`,{method:"PATCH",body:{name:k.value||null}}),await A(),i.add({title:"Display name updated",color:"success"})}catch(a){i.add({title:"Failed to update display name",description:String(a?.message??a),color:"error"})}finally{N.value=!1}}async function Y(){B.value=!0;try{await $fetch(`/api/users/${m.value?.user?.id}`,{method:"PATCH",body:{email:h.value||null}}),await A(),i.add({title:"Email updated",color:"success"})}catch(a){i.add({title:"Failed to update email",description:String(a?.message??a),color:"error"})}finally{B.value=!1}}async function W(){T.value=!0;try{await $fetch("/api/auth/send-verify-email",{method:"POST"}),i.add({title:"Verification email sent",description:"Check your inbox.",color:"success"})}catch(a){i.add({title:"Failed to send verification",description:String(a?.message??a),color:"error"})}finally{T.value=!1}}async function K(){if(f.value.length<8){i.add({title:"Password too short",description:"At least 8 characters required",color:"error"});return}if(f.value!==b.value){i.add({title:"Passwords do not match",color:"error"});return}q.value=!0;try{await $fetch("/api/auth/change-password",{method:"POST",body:{currentPassword:x.value,newPassword:f.value}}),x.value="",f.value="",b.value="",i.add({title:"Password changed",color:"success"})}catch(a){i.add({title:"Failed to change password",description:String(a?.message??a),color:"error"})}finally{q.value=!1}}function J(a){window.location.href=`/api/auth/oauth/${a}/login?link=1`}async function Q(a){z.value=a;try{await $fetch(`/api/auth/oauth/${a}/unlink`,{method:"POST"}),await A(),i.add({title:"Account disconnected",color:"success"})}catch(e){i.add({title:"Failed to disconnect",description:String(e?.data?.message??e?.message??e),color:"error"})}finally{z.value=""}}const X=E(()=>U.public.authEnabled);return(a,e)=>{const Z=oe,ee=se,P=pe,C=_e,v=fe,V=ke,R=ye,te=ve;return l(),c("div",xe,[t(X)?t(m)?.user?(l(),c(D,{key:1},[s(V,{icon:"i-lucide-user",title:"Display name",help:"account.display-name"},{footer:o(()=>[d("div",Pe,[s(v,{color:"primary",loading:t(N),icon:"i-lucide-save",onClick:G},{default:o(()=>[...e[8]||(e[8]=[r(" Save name ",-1)])]),_:1},8,["loading"])])]),default:o(()=>[s(C,{label:"Display name",name:"name"},{default:o(()=>[s(P,{modelValue:t(k),"onUpdate:modelValue":e[0]||(e[0]=n=>$(k)?k.value=n:null),placeholder:"Your display name (optional)",class:"w-full"},null,8,["modelValue"])]),_:1})]),_:1}),s(V,{icon:"i-lucide-mail",title:"Email address",help:"account.email"},me({default:o(()=>[d("div",Ce,[t(m).user.emailVerified?(l(),c("div",Ve,[s(R,{name:"i-lucide-circle-check-big",class:"size-4"}),e[9]||(e[9]=r(" Verified ",-1))])):t(m).user.email?(l(),c("div",$e,[s(R,{name:"i-lucide-circle-alert",class:"size-4"}),e[11]||(e[11]=r(" Not verified ",-1)),t(_)?w("",!0):(l(),p(v,{key:0,size:"xs",variant:"soft",color:"warning",loading:t(T),onClick:W},{default:o(()=>[...e[10]||(e[10]=[r(" Send verification email ",-1)])]),_:1},8,["loading"]))])):w("",!0),s(C,{label:"Email",name:"email"},{default:o(()=>[s(P,{modelValue:t(h),"onUpdate:modelValue":e[1]||(e[1]=n=>$(h)?h.value=n:null),type:"email",placeholder:"you@example.com",disabled:t(_),class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),t(_)?(l(),c("p",Ee,[e[12]||(e[12]=r(" Email is managed by ",-1)),d("strong",null,H(t(g)),1),e[13]||(e[13]=r(". ",-1))])):w("",!0)])]),_:2},[t(_)?void 0:{name:"footer",fn:o(()=>[d("div",Se,[s(v,{color:"primary",loading:t(B),icon:"i-lucide-save",onClick:Y},{default:o(()=>[...e[14]||(e[14]=[r(" Save email ",-1)])]),_:1},8,["loading"])])]),key:"0"}]),1024),t(j).length>0?(l(),p(V,{key:0,icon:"i-lucide-link",title:"Connected accounts",help:"account.connected-accounts"},{default:o(()=>[d("div",Ae,[(l(!0),c(D,null,ge(t(j),n=>(l(),c("div",{key:n,class:"flex items-center justify-between gap-3 rounded-md border border-default px-3 py-2"},[d("div",Ue,[s(R,{name:F[n].icon,class:"size-5"},null,8,["name"]),d("span",null,H(F[n].label),1),t(g)===n?(l(),p(te,{key:0,color:"success",variant:"subtle",size:"sm"},{default:o(()=>[...e[15]||(e[15]=[r("Connected",-1)])]),_:1})):w("",!0)]),t(g)===n?(l(),c(D,{key:0},[t(I)?(l(),p(v,{key:0,size:"xs",color:"error",variant:"soft",icon:"i-lucide-unlink",loading:t(z)===n,onClick:ae=>Q(n)},{default:o(()=>[...e[16]||(e[16]=[r(" Disconnect ",-1)])]),_:1},8,["loading","onClick"])):(l(),c("span",Fe," Set a password to disconnect "))],64)):t(g)?(l(),c("span",Ne,"Another provider is connected")):(l(),p(v,{key:1,size:"xs",variant:"outline",color:"neutral",icon:"i-lucide-plus",onClick:ae=>J(n)},{default:o(()=>[...e[17]||(e[17]=[r(" Connect ",-1)])]),_:1},8,["onClick"]))]))),128)),e[18]||(e[18]=d("p",{class:"text-xs text-gray-400"},"One provider can be connected per account.",-1))])]),_:1})):w("",!0),t(_)?(l(),p(V,{key:2,icon:"i-lucide-lock",title:"Password"},{default:o(()=>[d("p",qe,[e[20]||(e[20]=r(" Your account is managed by ",-1)),d("strong",null,H(t(g)),1),e[21]||(e[21]=r(". Password management is handled by that provider. ",-1))])]),_:1})):(l(),p(V,{key:1,icon:"i-lucide-lock",title:"Change password",help:"account.password"},{footer:o(()=>[d("div",Te,[s(v,{color:"primary",loading:t(q),icon:"i-lucide-key-round",onClick:K},{default:o(()=>[...e[19]||(e[19]=[r(" Change password ",-1)])]),_:1},8,["loading"])])]),default:o(()=>[d("div",Be,[s(C,{label:"Current password",name:"currentPassword"},{default:o(()=>[s(P,{modelValue:t(x),"onUpdate:modelValue":e[2]||(e[2]=n=>$(x)?x.value=n:null),type:"password",placeholder:"Current password",autocomplete:"current-password",class:"w-full"},null,8,["modelValue"])]),_:1}),s(C,{label:"New password",name:"newPassword",description:"Minimum 8 characters"},{default:o(()=>[s(P,{modelValue:t(f),"onUpdate:modelValue":e[3]||(e[3]=n=>$(f)?f.value=n:null),type:"password",placeholder:"New password",autocomplete:"new-password",class:"w-full"},null,8,["modelValue"])]),_:1}),s(C,{label:"Confirm new password",name:"confirmPassword"},{default:o(()=>[s(P,{modelValue:t(b),"onUpdate:modelValue":e[4]||(e[4]=n=>$(b)?b.value=n:null),type:"password",placeholder:"Repeat new password",autocomplete:"new-password",class:"w-full"},null,8,["modelValue"])]),_:1})])]),_:1}))],64)):w("",!0):(l(),p(ee,{key:0,color:"warning",icon:"i-lucide-lock-open",title:"Authentication disabled",description:"Enable PIWI_AUTH_ENABLED=true to manage your account."},{description:o(()=>[d("span",be,[e[5]||(e[5]=r(" Enable ",-1)),e[6]||(e[6]=d("code",{class:"font-mono text-xs"},"PIWI_AUTH_ENABLED=true",-1)),e[7]||(e[7]=r(" to manage your account. ",-1)),s(Z,{topic:"settings.auth-toggle"})])]),_:1}))])}}});export{Ye as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as x,a as $}from"./
|
|
1
|
+
import{_ as x,a as $}from"./D5Mhpp98.js";import{_ as w,a as y}from"./CdLqOMvN.js";import{_ as C}from"./DpeRrg68.js";import{a3 as B,a5 as M,o as m,e as d,f as l,V as c,g as u,i as p,b as t,X as S,v as U,a8 as D,C as N,r as P,d as k,s as T,h as o,aK as q}from"./BzBaMPgu.js";import{u as V}from"./Byqt8JHG.js";import"./DWz_bHNP.js";import"./DcUBmKKE.js";import"./BSKLNgre.js";import"./VqLetC2g.js";import"./BcHU1KNK.js";import"./E26Y1NWH.js";const j={slots:{root:"shrink-0 flex items-center justify-between border-b border-default px-4 sm:px-6 gap-1.5 overflow-x-auto min-h-[49px]",left:"flex items-center gap-1.5",right:"flex items-center gap-1.5"}},H={__name:"UDashboardToolbar",props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(s){const a=B("dashboardToolbar",s),e=M(),r=U(()=>D({extend:j,...e.ui?.dashboardToolbar||{}})());return(i,f)=>(m(),d(t(S),{as:t(a).as,"data-slot":"root",class:p(r.value.root({class:[t(a).ui?.root,t(a).class]}))},{default:l(()=>[c(i.$slots,"default",{},()=>[u("div",{"data-slot":"left",class:p(r.value.left({class:[t(a).ui?.left]}))},[c(i.$slots,"left")],2),u("div",{"data-slot":"right",class:p(r.value.right({class:[t(a).ui?.right]}))},[c(i.$slots,"right")],2)])]),_:3},8,["as","class"]))}};function z(){const s=P({account:!1,users:!1,notifications:!1,tags:!1,storage:!1,performance:!1,"pr-feedback":!1,ai:!1,about:!1});async function n(){const a=[];a.push($fetch("/api/settings/ai").then(e=>{s.value.ai=!!e.envManaged}).catch(()=>{})),a.push($fetch("/api/settings/wasted-waits").then(e=>{s.value.performance=!!e.envManaged}).catch(()=>{})),a.push($fetch("/api/settings/smtp").then(e=>{s.value.notifications=!!(e.envManaged&&e.configured)}).catch(()=>{})),await Promise.all(a)}return N(()=>{n()}),{envManaged:s,refresh:n}}const A={class:"flex flex-col gap-4 sm:gap-6 lg:gap-12 w-full lg:max-w-4xl mx-auto"},W=k({__name:"settings",setup(s){T({title:"Settings — Piwi Dashboard"});const{envManaged:n}=z(),a=V(n);return(e,r)=>{const i=x,f=$,_=y,g=C,h=H,b=q,v=w;return m(),d(v,{id:"settings",ui:{body:"lg:py-12"}},{header:l(()=>[o(_,null,{leading:l(()=>[o(i),o(f,{items:[{label:"Home",icon:"i-lucide-house",to:"/"},{label:"Settings"}]})]),_:1}),o(h,null,{default:l(()=>[o(g,{items:t(a),highlight:"",class:"-mx-1 flex-1",ui:{list:"overflow-x-auto",root:"min-w-0"}},null,8,["items"])]),_:1})]),body:l(()=>[u("div",A,[o(b)])]),_:1})}}});export{W as default};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{d as pe,q as Je,o,e as F,f as A,h as _,j as Ie,k as P,g as p,b as t,x as Le,r as G,K as xt,v as L,B as ze,c as u,P as vt,V as Oe,ae as bt,S as _e,D as $e,_ as we,i as me,l as T,t as $,F as te,L as kt,z as ge,m as Pe,I as at,a as Ee,af as Ae,C as rt,G as _t,R as et,J as We,ac as Re,H as $t,W as Ne,ag as Se,T as wt,ad as Ct,ah as Tt,ai as St,aj as At,a0 as Lt,a1 as Rt}from"./BzBaMPgu.js";import{_ as it,a as It}from"./qeqzb80l.js";import{_ as zt}from"./BTCWUyBX.js";import{u as Pt}from"./CPiLUjjx.js";import{a as He,u as Ue}from"./CDEmotIt.js";import{e as lt,v as Bt,w as Et,f as Ye,x as ct,n as Me,y as Ot}from"./CdM2qNYM.js";import{_ as Ge}from"./Db5xe__T.js";import{_ as je}from"./D_j436ND.js";import{_ as Mt}from"./BbXvpkBp.js";import{_ as Nt}from"./Dq6_-84R.js";import{_ as Ut}from"./BSKLNgre.js";import{_ as jt}from"./Cmuwgbf4.js";import{u as Dt,i as Kt,b as Vt}from"./RSS6R9Te.js";import{f as Ht}from"./D-c8ZSws.js";import{_ as ut}from"./BMfTUMYy.js";import{_ as Ft}from"./kDEwM7SQ.js";const qt={class:"w-64 p-1 space-y-0.5"},Zt={class:"flex items-center justify-between px-2 pt-1 pb-1"},Wt=pe({__name:"ExportMenu",props:{endpoint:{},baseName:{}},setup(e){const r=e,{download:a}=Pt(),{copy:c}=He(),n=Je(),s=G(!1),l=G(""),f=L(()=>(ze().app?.baseURL??"/").replace(/\/$/,""));function i(S){return`${f.value}${S}`}async function m(S){s.value=!1,await a(i(`${r.endpoint}?format=${S}`),`${r.baseName}.${S}`,{binary:S==="zip"})}function v(){s.value=!1,window.open(i(`${r.endpoint}?format=html&print=1`),"_blank")}async function R(S,k,C){l.value=k;try{const K=await fetch(i(S));if(!K.ok)throw new Error(`Request failed (${K.status})`);const M=await K.text();c(C?C(M):M,{toast:`${k} copied`}),s.value=!1}catch(K){n.add({title:`Could not copy ${k.toLowerCase()}`,description:lt(K),color:"error"})}finally{l.value=""}}function g(){return R(`${r.endpoint}?format=md`,"Report")}return(S,k)=>{const C=Ie,K=it,M=zt,Z=xt;return o(),F(Z,{open:t(s),"onUpdate:open":k[4]||(k[4]=E=>Le(s)?s.value=E:null)},{content:A(()=>[p("div",qt,[p("div",Zt,[k[6]||(k[6]=p("p",{class:"text-xs font-medium text-gray-500"},"Download",-1)),_(K,{topic:"export.offline"})]),_(C,{block:"",size:"sm",color:"neutral",variant:"ghost",class:"justify-start",icon:"i-lucide-file-code",title:"One self-contained HTML file with screenshots and video embedded",onClick:k[0]||(k[0]=E=>m("html"))},{default:A(()=>[...k[7]||(k[7]=[P(" HTML — single file ",-1)])]),_:1}),_(C,{block:"",size:"sm",color:"neutral",variant:"ghost",class:"justify-start",icon:"i-lucide-file-archive",title:"Report plus the raw artifacts, including trace archives and data.json",onClick:k[1]||(k[1]=E=>m("zip"))},{default:A(()=>[...k[8]||(k[8]=[P(" ZIP — with all evidence ",-1)])]),_:1}),_(C,{block:"",size:"sm",color:"neutral",variant:"ghost",class:"justify-start",icon:"i-lucide-printer",title:"Opens the report with your browser's print dialog, for Save as PDF",onClick:v},{default:A(()=>[...k[9]||(k[9]=[P(" PDF — via print ",-1)])]),_:1}),_(C,{block:"",size:"sm",color:"neutral",variant:"ghost",class:"justify-start",icon:"i-lucide-file-text",title:"The Markdown report as a file",onClick:k[2]||(k[2]=E=>m("md"))},{default:A(()=>[...k[10]||(k[10]=[P(" Markdown ",-1)])]),_:1}),_(C,{block:"",size:"sm",color:"neutral",variant:"ghost",class:"justify-start",icon:"i-lucide-file-json",title:"Everything the report contains, machine-readable",onClick:k[3]||(k[3]=E=>m("json"))},{default:A(()=>[...k[11]||(k[11]=[P(" JSON ",-1)])]),_:1}),_(M,{class:"my-1"}),k[13]||(k[13]=p("p",{class:"text-xs font-medium text-gray-500 px-2 pt-1 pb-1"},"Copy to clipboard",-1)),_(C,{block:"",size:"sm",color:"neutral",variant:"ghost",class:"justify-start",icon:"i-lucide-clipboard-list",loading:t(l)==="Report",title:"The whole investigation as Markdown, for an issue or a chat",onClick:g},{default:A(()=>[...k[12]||(k[12]=[P(" Report (Markdown) ",-1)])]),_:1},8,["loading"])])]),default:A(()=>[_(C,{icon:"i-lucide-share",size:"xs",color:"neutral",variant:"outline",title:"Take this investigation away"},{default:A(()=>[...k[5]||(k[5]=[P(" Export ",-1)])]),_:1})]),_:1},8,["open"])}}}),ja=Object.assign(Wt,{__name:"ExportMenu"}),Jt={class:"flex items-center justify-between gap-2"},Yt=["aria-expanded","title"],Gt={class:"text-lg font-medium inline-flex items-center gap-1 shrink-0"},Qt={key:2,class:"min-w-0 flex-1 truncate text-sm text-gray-500 dark:text-gray-400"},Xt={key:0,class:"flex items-center gap-1 shrink-0"},en={key:0,class:"text-sm text-gray-500 mt-1 ml-11"},tn=pe({__name:"CollapsibleSectionCard",props:{title:{},icon:{},subtitle:{},count:{},iconClass:{default:"text-primary"},help:{},storageKey:{},defaultFolded:{type:Boolean,default:!0}},setup(e,{expose:r}){const a=e,{folded:c,toggle:n,setFolded:s}=Dt(`piwi-section-fold-${a.storageKey}`,a.defaultFolded),l=G(null);function f(){s(!1),kt(()=>l.value?.scrollIntoView({behavior:"smooth",block:"start"}))}return r({setFolded:s,reveal:f}),(i,m)=>{const v=we,R=it,g=Ft;return o(),u("div",{ref_key:"rootEl",ref:l,class:"scroll-mt-4"},[_(g,{ui:{header:"p-3 sm:px-4 sm:py-3",body:t(c)?"p-0 sm:p-0":""},class:me(t(c)&&"divide-y-0")},{header:A(()=>[p("div",Jt,[p("div",{class:"flex items-center gap-2 min-w-0 flex-1 cursor-pointer select-none rounded-sm outline-none focus-visible:outline-2 focus-visible:outline-primary",role:"button",tabindex:"0","aria-expanded":!t(c),title:t(c)?"Expand section":"Collapse section",onClick:m[1]||(m[1]=(...S)=>t(n)&&t(n)(...S)),onKeydown:[m[2]||(m[2]=_e((...S)=>t(n)&&t(n)(...S),["enter"])),m[3]||(m[3]=_e($e((...S)=>t(n)&&t(n)(...S),["prevent"]),["space"]))]},[_(v,{name:t(c)?"i-lucide-chevron-right":"i-lucide-chevron-down",class:"size-4 shrink-0 text-gray-400"},null,8,["name"]),e.icon?(o(),F(v,{key:0,name:e.icon,class:me(["size-5 shrink-0",e.iconClass])},null,8,["name","class"])):T("",!0),p("h3",Gt,[P($(e.title),1),e.count!=null?(o(),u(te,{key:0},[P(" ("+$(e.count)+")",1)],64)):T("",!0)]),e.help?(o(),u("span",{key:1,onClick:m[0]||(m[0]=$e(()=>{},["stop"]))},[_(R,{topic:e.help},null,8,["topic"])])):T("",!0),t(c)&&i.$slots.folded?(o(),u("span",Qt,[Oe(i.$slots,"folded")])):T("",!0)],40,Yt),i.$slots.actions?(o(),u("div",Xt,[Oe(i.$slots,"actions")])):T("",!0)]),!t(c)&&(e.subtitle||i.$slots.subtitle)?(o(),u("p",en,[Oe(i.$slots,"subtitle",{},()=>[P($(e.subtitle),1)])])):T("",!0)]),default:A(()=>[vt(p("div",null,[Oe(i.$slots,"default")],512),[[bt,!t(c)]])]),_:3},8,["ui","class"])],512)}}}),De=Object.assign(tn,{__name:"CollapsibleSectionCard"}),nn=/('(?:\\.|[^'])*'|"(?:\\.|[^"])*")|([A-Za-z_$][\w$]*)(?=\s*\()|([A-Za-z_$][\w$]*)(?=\s*:)|(true|false|null|\d+)|([{}(),.])/g;function on(e){const r=[],a=new RegExp(nn.source,"g");let c=0,n;for(;(n=a.exec(e))!==null;){n.index>c&&r.push({kind:"plain",text:e.slice(c,n.index)});const s=n[1]?"string":n[2]?"method":n[3]?"option":n[4]?"literal":"punctuation";r.push({kind:s,text:n[0]}),c=a.lastIndex}return c<e.length&&r.push({kind:"plain",text:e.slice(c)}),r}const sn=["title"],an=pe({__name:"LocatorCode",props:{locator:{},truncate:{type:Boolean,default:!1}},setup(e){const r=e,a={method:"text-violet-700 dark:text-violet-300",string:"text-green-700 dark:text-green-300",option:"text-blue-700 dark:text-blue-300",literal:"text-amber-700 dark:text-amber-300",punctuation:"text-gray-500 dark:text-gray-400",plain:""},c=L(()=>on(r.locator));return(n,s)=>(o(),u("code",{class:me(["font-mono",e.truncate?"block truncate":"break-words"]),title:e.locator},[(o(!0),u(te,null,ge(t(c),(l,f)=>(o(),u("span",{key:f,class:me(a[l.kind])},$(l.text),3))),128))],10,sn))}}),Qe=Object.assign(an,{__name:"LocatorCode"}),rn={class:"overflow-x-auto text-xs font-mono"},ln=pe({__name:"DiffPatch",props:{patch:{}},setup(e){return(r,a)=>(o(),u("div",rn,[(o(!0),u(te,null,ge(("parsePatchLines"in r?r.parsePatchLines:t(Et))(e.patch),(c,n)=>(o(),u("div",{key:n,class:me(["px-3 py-px whitespace-pre leading-5 min-w-0",("patchLineClass"in r?r.patchLineClass:t(Bt))[c.type]])},$(c.text||" "),3))),128))]))}}),cn=Object.assign(ln,{__name:"DiffPatch"}),un=["role","aria-checked","tabindex"],dn={class:"flex-1 min-w-0"},pn={key:0,class:"text-[11px] leading-4 text-gray-500 truncate"},fn=pe({__name:"LocatorAlternativeRow",props:{alt:{},note:{default:void 0},copied:{type:Boolean,default:!1},dense:{type:Boolean,default:!1},selectable:{type:Boolean,default:!1},selected:{type:Boolean,default:!1}},emits:["copy","select"],setup(e){const r=e;function a(s){return s>=80?"success":s>=50?"warning":"error"}function c(s){const{method:l,score:f,args:i}=s;return i&&(i.anchorTestId||i.anchorSelector||i.anchorRole)?"scoped to a stable ancestor — survives renames":f>=100?"most stable — purpose-built for testing":l==="getByRole"&&i&&!("name"in i)?"name-free role — survives renames":l==="getByRole"?"browser ARIA tree — semantic and stable":l==="getByLabel"?"associated <label> element":l==="getByPlaceholder"?"input placeholder":l==="getByText"?"visible text":l==="getByAltText"?"image alt text":l==="getByTitle"?"title attribute":l==="locator"&&f>=50?"stable selector":l==="locator"?"CSS class — may be fragile":""}const n=L(()=>r.note??c(r.alt));return(s,l)=>{const f=Pe,i=Qe,m=we,v=Ie;return o(),u("div",{class:me(["flex items-center gap-2 rounded border",[e.dense?"py-1 px-2":"py-1.5 px-2.5",e.selectable?"cursor-pointer hover:bg-elevated transition-colors focus-visible:outline-2 focus-visible:outline-primary":"",e.selectable&&e.selected?"border-primary/60 ring-1 ring-primary/50":"border-default/50"]]),role:e.selectable?"radio":void 0,"aria-checked":e.selectable?e.selected:void 0,tabindex:e.selectable?0:void 0,onClick:l[1]||(l[1]=R=>e.selectable&&s.$emit("select")),onKeydown:[l[2]||(l[2]=_e($e(R=>e.selectable&&s.$emit("select"),["prevent"]),["enter"])),l[3]||(l[3]=_e($e(R=>e.selectable&&s.$emit("select"),["prevent"]),["space"]))]},[_(f,{size:"xs",color:a(e.alt.score),variant:"subtle",class:me(["shrink-0 font-mono tabular-nums cursor-default text-center",e.dense?"min-w-[2.25rem]":"min-w-[2.5rem]"]),title:`Stability score: ${e.alt.score}/100`},{default:A(()=>[P($(e.alt.score),1)]),_:1},8,["color","class","title"]),p("div",dn,[_(i,{locator:e.alt.locator,truncate:"",class:"text-xs"},null,8,["locator"]),t(n)?(o(),u("p",pn,$(t(n)),1)):T("",!0)]),e.alt.pickedByUser&&e.dense?(o(),F(m,{key:0,name:"i-lucide-user-check",class:"size-3.5 text-primary shrink-0",title:"Confirmed with the locator picker"})):e.alt.pickedByUser?(o(),F(f,{key:1,size:"xs",color:"primary",variant:"subtle",icon:"i-lucide-user-check",class:"shrink-0",title:"Confirmed with the locator picker on the failing page"})):T("",!0),_(v,{size:"xs",variant:"ghost",color:"neutral",icon:e.copied?"i-lucide-check":"i-lucide-copy",title:e.copied?"Copied!":"Copy",class:"shrink-0",onClick:l[0]||(l[0]=$e(R=>s.$emit("copy"),["stop"]))},null,8,["icon","title"])],42,un)}}}),dt=Object.assign(fn,{__name:"LocatorAlternativeRow"}),tt={getByTestId:"testid",getByRole:"semantic",getByLabel:"label",getByPlaceholder:"label",getByText:"text",getByAltText:"text",getByTitle:"text",locator:"css","page.locator":"css"},mn=50;function pt(e,r,a=mn){const c=r[0]??null;if(!c)return{recommended:null,durable:null,preservesConvention:!1,hasDurableAlternative:!1,suggestAddTestId:!1};const n=e?tt[e]:void 0,s=(e?r.find(i=>i.method===e&&i.score>=a):void 0)??(n?r.find(i=>tt[i.method]===n&&i.score>=a):void 0),f=r.find(i=>i.pickedByUser)??s??c;return{recommended:f,durable:c,preservesConvention:!!s&&f===s,hasDurableAlternative:f.locator!==c.locator,suggestAddTestId:c.score<a}}const ft={a:"link",button:"button",nav:"navigation",main:"main",article:"article",section:"region",form:"form",img:"img",figure:"figure",figcaption:"caption",blockquote:"blockquote",table:"table",caption:"caption",thead:"rowgroup",tbody:"rowgroup",tfoot:"rowgroup",tr:"row",td:"cell",ul:"list",ol:"list",li:"listitem",dialog:"dialog",output:"status",progress:"progressbar",meter:"meter",textarea:"textbox",h1:"heading",h2:"heading",h3:"heading",h4:"heading",h5:"heading",h6:"heading",details:"group",summary:"button",search:"search"},gn={button:"button",submit:"button",reset:"button",image:"button",checkbox:"checkbox",radio:"radio",range:"slider",search:"searchbox",number:"spinbutton",text:"textbox",email:"textbox",tel:"textbox",url:"textbox",password:"textbox"},hn=["id","class","name","data-testid","placeholder","alt","title","aria-label","aria-labelledby","aria-level","role","type","href","multiple"];function yn(e){const r=e.attributes.role;if(r)return r;const a=e.tagName;if(!a)return null;if(a==="input"){const c=(e.attributes.type??"text").toLowerCase();return gn[c]??"textbox"}return a==="select"?e.attributes.multiple!=null?"listbox":"combobox":a==="a"?e.attributes.href!=null?"link":null:ft[a]??null}function xn(e,r){if(r!=="heading")return null;const a=e.tagName.match(/^h([1-6])$/);if(a)return Number(a[1]);const c=e.attributes["aria-level"];return c&&/^\d+$/.test(c)?Number(c):null}const Ce=(e,r)=>e.attributes[r]||null,xe=e=>e.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),Ve=e=>e.replace(/\\/g,"\\\\").replace(/"/g,'\\"'),nt=e=>/^[A-Za-z][A-Za-z0-9_-]*$/.test(e);function vn(e){return/[a-f0-9]{8,}/i.test(e)?10:/^(?:css|sc|emotion|styled)-/i.test(e)?15:/^(bg|text|border|shadow|opacity|font|w-|h-|m[tblrxy]?-|p[tblrxy]?-|flex|grid|gap|rounded|absolute|relative|fixed|sticky|block|inline|hidden|overflow|z-|top-|right-|bottom-|left-|inset-|justify-|items-|self-|content-|order-|col-|row-)/.test(e)?25:/__/.test(e)||/--/.test(e)?35:/^[a-z]+(-[a-z]+)+$/.test(e)||/^[a-z]+[A-Z][a-zA-Z]+$/.test(e)?40:(e.includes("_")||/^[a-z]+-[a-z0-9]{5,}$/.test(e)&&/[0-9]/.test(e),15)}function ot(e){return!!(/^[a-f0-9]{8}-([a-f0-9]{4}-){3}[a-f0-9]{12}$/i.test(e)||/^[a-f0-9]{8,}$/i.test(e)||/^[a-z]+-\d{4,}$/.test(e)||/^(tab|panel|input|select|option|dialog|modal|popup|tooltip|menu|listbox|combobox|checkbox|radio|textarea|button|field|label|accordion|collapse|step|slider|toggle|switch|dropdown|overlay|portal|layer)-\d+$/i.test(e)||/^(emotion-|styled-|css-|sc-)/.test(e)||e.startsWith("ng-")||/^(radix-|headlessui-|mui-|mantine-|chakra-)/i.test(e)||/^:r[0-9a-z]+:$/i.test(e)||/^«r[0-9a-z]+»$/i.test(e))}const bn=new Set(["data-test","data-test-id","data-qa","data-qa-id","data-cy","data-e2e"]);function kn(e){const r=[],a=new Set,c=h=>{a.has(h.locator)||(a.add(h.locator),r.push(h))},{accessibleName:n}=e,s=e.tagName,l=yn(e),f=e.selectorCounts,i=h=>h==null||h<=1,m=h=>h!=null&&h>1?45:0,v=e.textContent?e.textContent.replace(/\s+/g," ").trim():null,R=Ce(e,"data-testid");R&&i(f?.testId)&&c({locator:`getByTestId('${xe(R)}')`,method:"getByTestId",args:{testId:R},score:100});const g=xn(e,l),S=g!=null?`, level: ${g}`:"",k=h=>g!=null?{...h,level:g}:h;l&&n&&c({locator:`getByRole('${l}', { name: '${xe(n)}'${S} })`,method:"getByRole",args:k({role:l,name:n}),score:90-m(f?.roleName)});const C=Ce(e,"aria-label");if(l&&C&&C!==n&&c({locator:`getByRole('${l}', { name: '${xe(C)}'${S} })`,method:"getByRole",args:k({role:l,name:C}),score:85-m(f?.roleName)}),n&&["input","select","textarea"].includes(s)){const h=Ce(e,"aria-label");(e.hasLabel===void 0||e.hasLabel===!0||h===n)&&c({locator:`getByLabel('${xe(n)}')`,method:"getByLabel",args:{label:n},score:85})}const K=Ce(e,"placeholder");K&&c({locator:`getByPlaceholder('${xe(K)}')`,method:"getByPlaceholder",args:{placeholder:K},score:80-m(f?.placeholder)}),v&&v.length<80&&c({locator:`getByText('${xe(v)}')`,method:"getByText",args:{text:v},score:75-m(f?.text)});const M=Ce(e,"id");if(M&&!ot(M)&&i(f?.id)){const h=nt(M)?`#${M}`:`[id="${Ve(M)}"]`;c({locator:`locator('${xe(h)}')`,method:"locator",args:{selector:h},score:65})}const Z=Ce(e,"name");if(Z&&i(f?.name)){const h=`[name="${Ve(Z)}"]`;c({locator:`locator('${xe(h)}')`,method:"locator",args:{selector:h},score:60})}const E=Ce(e,"alt");E&&c({locator:`getByAltText('${xe(E)}')`,method:"getByAltText",args:{text:E},score:60-m(f?.alt)});const W=Ce(e,"title");W&&c({locator:`getByTitle('${xe(W)}')`,method:"getByTitle",args:{title:W},score:50-m(f?.title)});const J=!!(R&&i(f?.testId)),x=(h,V,O)=>{let N=!1,Q=!1,ve=!1,he=!1,ue=!1;for(const Y of e.ancestors??[]){if(V(Y)!==1)continue;if(!N&&Y.testId&&Y.testIdCount===1&&(N=!0,c({locator:`getByTestId('${xe(Y.testId)}').${h.expr}`,method:h.method,args:{...h.args,anchorTestId:Y.testId},score:O.testId})),!Q&&Y.id&&!ot(Y.id)&&Y.idCount===1){Q=!0;const B=nt(Y.id)?`#${Y.id}`:`[id="${Ve(Y.id)}"]`;c({locator:`locator('${xe(B)}').${h.expr}`,method:h.method,args:{...h.args,anchorSelector:B},score:O.id})}if(!he&&Y.dataAttr&&Y.dataAttrCount===1){he=!0;const{name:B,value:ae}=Y.dataAttr,w=`[${B}="${Ve(ae)}"]`;c({locator:`locator('${xe(w)}').${h.expr}`,method:h.method,args:{...h.args,anchorSelector:w},score:bn.has(B)?O.testData:O.data})}const de=Y.role||ft[Y.tag]||null;!ve&&de&&de!==h.role&&Y.roleCount===1&&(ve=!0,c({locator:`getByRole('${xe(de)}').${h.expr}`,method:h.method,args:{...h.args,anchorRole:de},score:O.role})),!ue&&de&&Y.filterText&&Y.filterRoleCount===1&&(ue=!0,c({locator:`getByRole('${xe(de)}').filter({ hasText: '${xe(Y.filterText)}' }).${h.expr}`,method:h.method,args:{...h.args,anchorRole:de,anchorHasText:Y.filterText},score:O.filter}))}};if(l&&!J){const h=g!=null?`'${l}', { level: ${g} }`:`'${l}'`,V=k({role:l});x({expr:`getByRole(${h})`,method:"getByRole",args:V,role:l},N=>N.scopedRoleCount,{testId:72,testData:70,id:64,data:60,role:55,filter:53});const O=e.rolePosition;O&&O.role===l&&(O.count===1||g!=null&&O.levelCount===1)&&c({locator:`getByRole(${h})`,method:"getByRole",args:V,score:58})}else!l&&v&&v.length<80&&!J&&x({expr:`getByText('${xe(v)}')`,method:"getByText",args:{text:v},role:null},h=>h.scopedTextCount,{testId:68,testData:66,id:60,data:56,role:51,filter:49});const j=Ce(e,"class");if(j){const h=f?.classes,V=j.split(/\s+/).filter(O=>O.length>1&&/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(O)&&i(h?.[O])).map(O=>({cls:O,score:vn(O)})).sort((O,N)=>N.score-O.score).slice(0,3);for(const{cls:O,score:N}of V)c({locator:`locator('.${xe(O)}')`,method:"locator",args:{selector:`.${O}`},score:N})}return r.sort((h,V)=>V.score-h.score)}function _n(e){const r=e.attributes,a=r["aria-label"];if(a)return a;if(e.textContent)return e.textContent;const c=r.title;if(c)return c;const n=r.placeholder;return n||null}function $n(e,r){const{keep:a,tagRoles:c,inputRoles:n,roleSources:s,includeStructural:l,includeLabelText:f}=r,i={};for(const C of a){const K=e.getAttribute(C)??e[C];i[C]=typeof K=="string"?K.slice(0,200):K?String(K).slice(0,200):null}const m=e.getBoundingClientRect(),v={};try{const C=e.ownerDocument,K=E=>C.defaultView.CSS.escape(E),M=E=>{try{return C.querySelectorAll(E).length}catch{return}};i["data-testid"]&&(v.testId=M(`[data-testid=${JSON.stringify(i["data-testid"])}]`)),i.id&&(v.id=M(`#${K(i.id)}`)),i.name&&(v.name=M(`[name=${JSON.stringify(i.name)}]`)),i.placeholder&&(v.placeholder=M(`[placeholder=${JSON.stringify(i.placeholder)}]`)),i.alt&&(v.alt=M(`[alt=${JSON.stringify(i.alt)}]`)),i.title&&(v.title=M(`[title=${JSON.stringify(i.title)}]`));const Z=(i.class||"").split(/\s+/).filter(E=>E.length>1).slice(0,10);if(Z.length>0){const E={};for(const W of Z){const J=M(`.${K(W)}`);J!==void 0&&(E[W]=J)}v.classes=E}}catch{}let R=null;const g=[];if(l&&c&&n&&s)try{const C=e.ownerDocument,K=B=>C.defaultView.CSS.escape(B),M=B=>{try{return C.querySelectorAll(B).length}catch{return}},Z=new Map,E=new Map,W=B=>{const ae=Z.get(B);if(ae!==void 0)return ae;let w;const d=B.getAttribute("role");if(d)w=d;else{const q=(B.tagName||"").toLowerCase();q==="input"?w=n[(B.getAttribute("type")||"text").toLowerCase()]??"textbox":q==="select"?w=B.getAttribute("multiple")!=null?"listbox":"combobox":q==="a"?w=B.getAttribute("href")!=null?"link":null:w=c[q]??null}return Z.set(B,w),w},J=B=>{const ae=/^h([1-6])$/.exec((B.tagName||"").toLowerCase());if(ae)return Number(ae[1]);const w=B.getAttribute("aria-level");return w&&/^\d+$/.test(w)?Number(w):null},x=W(e),j=x==="heading"?J(e):null,h=B=>{const ae=B.getAttribute("aria-label");if(ae)return ae;const w=(B.textContent||"").replace(/\s+/g," ").trim();return w||B.getAttribute("title")||B.getAttribute("placeholder")||null},V=h(e),O=(e.textContent||"").replace(/\s+/g," ").trim(),N=O?O.toLowerCase():null,Q=B=>{const ae=E.get(B);if(ae!==void 0)return ae;const w=(B.textContent||"").replace(/\s+/g," ").trim().toLowerCase();return E.set(B,w),w},ve=2,he=(B,ae)=>{if(!N)return-1;const w=B.querySelectorAll("*");if(w.length>ae)return-1;let d=0;for(let q=0;q<w.length;q++){const ne=w[q];if(Q(ne).indexOf(N)===-1)continue;let y=!1;const z=ne.children;for(let D=0;D<z.length;D++)if(Q(z[D]).indexOf(N)!==-1){y=!0;break}if(y||d++,d>=ve)return d}return d},ue=C.querySelectorAll(s),Y=ue.length<=4e3,de=!!x&&Y;if(de){let B=0,ae=-1,w=0,d=0;for(let q=0;q<ue.length;q++){const ne=ue[q];W(ne)===x&&(ne===e&&(ae=B),B++,j!=null&&J(ne)===j&&w++,V!=null&&h(ne)===V&&d++)}V!=null&&(v.roleName=d),ae!==-1&&(R={role:x,count:B,index:ae,...j!=null?{levelCount:w}:{}})}if(N){const B=he(C.body||C.documentElement,4e3);B>=0&&(v.text=B)}if(de||N){const B=["form","nav","main","article","section","dialog","table","li","tr"],ae=/^data-(v-[0-9a-f]+|reactid|react-checksum|svelte-\w+|ng-\w+|ember\w*)$/i,w=/^data-(index|idx|i|key|row|rownum|col|column|position|pos|order|sort|offset|page)$/i,d=["data-test","data-test-id","data-qa","data-qa-id","data-cy","data-e2e"],q=(U,se)=>!U||U.slice(0,5)!=="data-"||U==="data-testid"||ae.test(U)||w.test(U)?!1:!!se&&se.length<=120,ne=U=>{const se=U.attributes;if(!se)return null;let le=null;for(let fe=0;fe<se.length;fe++){const ce=se[fe].name,ye=se[fe].value;if(q(ce,ye)){if(d.indexOf(ce.toLowerCase())!==-1)return{name:ce,value:ye};le||(le={name:ce,value:ye})}}return le},y=U=>{let se=0;for(let le=0;le<ue.length;le++)W(ue[le])===U&&se++;return se},z=U=>(U.textContent||"").replace(/\s+/g," ").trim(),D=U=>{const se=U.replace(/[^A-Za-z]/g,"").length;return se<2?!1:U.replace(/[^0-9]/g,"").length<=se},H=U=>!!U&&U.length<=60&&U!==O&&D(U),re=U=>{const se=U.querySelector('h1,h2,h3,h4,h5,h6,[role="heading"]');if(se){const fe=z(se);if(H(fe))return fe}const le=U.querySelectorAll("*");if(le.length>200)return null;for(let fe=0;fe<le.length;fe++){const ce=le[fe];if(ce===e||ce.children.length>0)continue;const ye=z(ce);if(H(ye))return ye}return null},X=(U,se)=>{const le=se.toLowerCase();let fe=0;for(let ce=0;ce<ue.length;ce++)W(ue[ce])===U&&Q(ue[ce]).indexOf(le)!==-1&&fe++;return fe};let oe=e.parentElement,ee=0;for(;oe&&ee<12&&g.length<4;){ee++;const U=(oe.tagName||"").toLowerCase();if(U==="body"||U==="html")break;const se=oe.getAttribute("data-testid"),le=oe.getAttribute("id"),fe=oe.getAttribute("role"),ce=oe.getAttribute("aria-label"),ye=fe||(B.includes(U)?c[U]:null)||null,Te=ne(oe);if(se||le||ye||ce||Te){let I=-1;if(de){const be=oe.querySelectorAll(s);if(be.length<=2e3){I=0;for(let Be=0;Be<be.length;Be++){const Ke=be[Be];W(Ke)===x&&(j!=null&&J(Ke)!==j||I++)}}}const b=he(oe,2e3);let ie=null;try{ye&&Y&&(ie=re(oe))}catch{ie=null}g.push({tag:U,depth:ee,testId:se||null,id:le||null,role:fe||null,ariaLabel:ce||null,...I>=0?{scopedRoleCount:I}:{},...b>=0?{scopedTextCount:b}:{},...se?{testIdCount:M(`[data-testid=${JSON.stringify(se)}]`)}:{},...le?{idCount:M(`#${K(le)}`)}:{},...ye&&Y?{roleCount:y(ye)}:{},...ie?{filterText:ie,filterRoleCount:X(ye,ie)}:{},...Te?{dataAttr:Te,dataAttrCount:M(`[${Te.name}=${JSON.stringify(Te.value)}]`)}:{}})}oe=oe.parentElement}}}catch{}const S=!!(e.labels&&e.labels.length>0);let k;if(f){k=null;try{const C=S?e.labels[0]:null;k=(C&&C.textContent||"").replace(/\s+/g," ").trim().slice(0,120)||null}catch{k=null}}return{tagName:e.tagName?.toLowerCase?.()??"unknown",attributes:i,textContent:(e.textContent||"").replace(/\s+/g," ").trim().slice(0,80),center:{x:Math.round(m.x+m.width/2),y:Math.round(m.y+m.height/2)},hasLabel:S,...f?{labelText:k}:{},selectorCounts:v,...l?{rolePosition:R,ancestors:g}:{}}}function wn(e){const r=globalThis,a=r.document;if(!a||!a.body){e.transport==="postMessage"?r.parent.postMessage({type:"pickerClosed"},"*"):r.__piwiPickState="skipped";return}const c=2147483600,n=a.createElement("div");n.id="__piwi_picker_highlight",n.style.cssText=`position:fixed;pointer-events:none;z-index:${c};display:none;box-sizing:border-box;border:2px solid #a855f7;background:rgba(168,85,247,.14);border-radius:4px;box-shadow:0 0 0 1px rgba(255,255,255,.9),0 0 0 3px rgba(59,7,100,.55),inset 0 0 0 1px rgba(255,255,255,.5);`;const s=a.createElement("div");s.id="__piwi_picker_banner",s.style.cssText=`position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:${c+2};background:#111827;color:#f9fafb;font:13px/1.5 system-ui,sans-serif;border:1px solid #312e81;padding:10px 16px;border-radius:10px;box-shadow:0 4px 24px rgba(0,0,0,.5);max-width:min(680px,86vw);`;const l=y=>{const z=oe=>oe.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"),D=/('(?:\\.|[^'])*'|"(?:\\.|[^"])*")|([A-Za-z_$][\w$]*)(?=\s*\()|([A-Za-z_$][\w$]*)(?=\s*:)|(true|false|null|\d+)|([{}(),.])/g;let H="",re=0,X;for(;(X=D.exec(y))!==null;){X.index>re&&(H+=z(y.slice(re,X.index)));const oe=X[1]?"#86efac":X[2]?"#d8b4fe":X[3]?"#93c5fd":X[4]?"#fcd34d":"#9ca3af";H+=`<span style="color:${oe}">${z(X[0])}</span>`,re=D.lastIndex}return re<y.length&&(H+=z(y.slice(re))),H},f="ui-monospace,SFMono-Regular,Menlo,Consolas,monospace",i=y=>`<code style="font-family:${f}">${l(y)}</code>`,m=a.createElement("div");m.innerHTML=e.transport==="postMessage"?"Click an element to generate locators":e.failing?`Piwi locator picker — click the element that should replace ${i(e.failing)}`:"Piwi inspector — click any element to generate locators for it";const v=a.createElement("div");v.id="__piwi_picker_locator",v.style.cssText=`display:none;margin-top:7px;padding:5px 9px;border-radius:7px;background:#0b1120;border:1px solid #4c1d95;font:13.5px/1.55 ${f};word-break:break-word;overflow-wrap:anywhere;`;const R=a.createElement("div");R.id="__piwi_picker_foot",R.style.cssText="color:#9ca3af;margin-top:6px;font-size:12px;",R.textContent="↑ parent · ↓ child · Esc skip",s.appendChild(m),s.appendChild(v),s.appendChild(R);const g=a.createElement("div");g.id="__piwi_picker_label",g.style.cssText=`position:fixed;pointer-events:none;z-index:${c+1};display:none;box-sizing:border-box;max-width:min(620px,92vw);background:#0b1120;color:#f9fafb;border:1px solid #7c3aed;border-radius:7px;padding:4px 8px;font:12.5px/1.45 ${f};white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 4px 18px rgba(0,0,0,.5);`,a.body.appendChild(n),a.body.appendChild(g),a.body.appendChild(s);const S=y=>y.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),k=y=>{const z=(y.tagName||"?").toLowerCase(),D=y.getAttribute&&y.getAttribute("data-testid");if(D)return`getByTestId('${S(D)}')`;if(y.labels&&y.labels.length>0){const U=(y.labels[0].textContent||"").replace(/\s+/g," ").trim().slice(0,80);if(U)return`getByLabel('${S(U)}')`}const H=y.getAttribute&&y.getAttribute("aria-label");if(H)return`getByLabel('${S(H)}')`;const re=y.getAttribute&&y.getAttribute("placeholder");if(re)return`getByPlaceholder('${S(re)}')`;const X=y.getAttribute&&y.getAttribute("alt");if(X)return`getByAltText('${S(X)}')`;const oe=y.getAttribute&&y.getAttribute("title");if(oe)return`getByTitle('${S(oe)}')`;if(y.id)return`locator('#${S(y.id)}')`;const ee=(y.getAttribute&&y.getAttribute("class")||"").split(/\s+/).find(U=>U.length>1);return ee?`locator('.${S(ee)}')`:z},C=y=>{const z=[];let D=y;for(;D&&z.length<15;){const H=(D.tagName||"").toLowerCase();if(H==="body"||H==="html")break;z.push(D),D=D.parentElement}return z.length?z:[y]},K=["button","a","input","select","textarea","summary","option"],M=y=>{for(let z=0;z<Math.min(y.length,4);z++){const D=y[z],H=(D.tagName||"").toLowerCase();if(K.includes(H)||D.getAttribute&&(D.getAttribute("role")||D.getAttribute("data-testid")))return z}return 0},Z=y=>{const z=r.__piwiDescribeElement;if(typeof z=="function")try{const D=z(y);if(typeof D=="string"&&D)return D}catch{}return k(y)};let E=[],W=0,J=null,x=null;const j=y=>{g.style.display="block";const z=g.getBoundingClientRect(),D=r.innerWidth||a.documentElement.clientWidth||0,H=r.innerHeight||a.documentElement.clientHeight||0;let re=y.top-z.height-6;re<4&&(re=y.bottom+6),re+z.height>H-4&&(re=Math.max(4,H-z.height-4));let X=y.left;X+z.width>D-6&&(X=D-z.width-6),X<6&&(X=6),g.style.left=X+"px",g.style.top=re+"px"},h=()=>E[W]??null,V=()=>{const y=h();if(!y){n.style.display="none",g.style.display="none";return}const z=y.getBoundingClientRect();if(n.style.display="block",n.style.left=z.left+"px",n.style.top=z.top+"px",n.style.width=z.width+"px",n.style.height=z.height+"px",y!==x){x=y;const D=(y.tagName||"?").toLowerCase(),H=l(Z(y));g.innerHTML=`<span style="color:#c4b5fd"><${D}></span> ${H}`,v.innerHTML=H,v.style.display="block"}j(z),R.textContent="click to pick · ↑ parent · ↓ child · Esc skip"},O=y=>{y.preventDefault(),y.stopImmediatePropagation()},N=y=>y===s||y===n||y===g||s.contains&&s.contains(y)||!!(y&&y.__piwiHint);let Q="top";const ve=y=>{Q!==y&&(Q=y,y==="bottom"?(s.style.top="auto",s.style.bottom="12px"):(s.style.top="12px",s.style.bottom="auto"))},he=y=>{const z=y.target;if(!z||N(z)){n.style.display="none",g.style.display="none";return}z!==J&&(J=z,E=C(z),W=M(E)),V();const D=h();if(D){const H=D.getBoundingClientRect(),re=s.getBoundingClientRect(),X=8;H.left<re.right+X&&H.right>re.left-X&&H.top<re.bottom+X&&H.bottom>re.top-X&&ve(Q==="top"?"bottom":"top")}},ue=["mousedown","mouseup","pointerdown","pointerup","auxclick","dblclick"],Y=()=>{a.removeEventListener("mousemove",he,!0),a.removeEventListener("click",d,!0),a.removeEventListener("keydown",q,!0),e.transport==="postMessage"&&r.removeEventListener("message",ne,!1)},de=()=>{for(const y of ue)a.removeEventListener(y,O,!0)},B=()=>{n.remove(),g.remove(),s.remove()},ae=y=>{if(Y(),n.style.display="none",g.style.display="none",e.transport==="postMessage"){const z=r.__piwiProbe,D=typeof z=="function"?z(y,e.probeArg):null;r.__piwiSnapshotExtras?.onPick?.(),a.addEventListener("click",O,!0),a.addEventListener("keydown",O,!0),R.textContent="Analyzing element…",r.parent.postMessage({type:"elementPicked",attrs:D},"*")}else de(),r.__piwiPickedElement=y,r.__piwiPickState="picked",R.textContent="Analyzing element…"},w=()=>{Y(),e.transport==="postMessage"?(a.removeEventListener("click",O,!0),a.removeEventListener("keydown",O,!0),de(),r.__piwiSnapshotExtras?.onClose?.(),B(),r.parent.postMessage({type:"pickerClosed"},"*")):(de(),r.__piwiPickState="skipped",B())},d=y=>{O(y);const z=h();!z||N(y.target)||ae(z)},q=y=>{if(y.key==="Escape"){O(y),w();return}(y.key==="ArrowUp"||y.key==="ArrowDown")&&(O(y),y.key==="ArrowUp"?W=Math.min(W+1,E.length-1):W=Math.max(W-1,0),V())},ne=y=>{const z=y.data;!z||typeof z.type!="string"||z.type!=="piwiPickerKey"||typeof z.key!="string"||q({key:z.key,preventDefault(){},stopImmediatePropagation(){}})};r.__piwiPickCleanup=B,a.addEventListener("mousemove",he,!0),a.addEventListener("click",d,!0),a.addEventListener("keydown",q,!0);for(const y of ue)a.addEventListener(y,O,!0);e.transport==="postMessage"&&(r.addEventListener("message",ne,!1),r.parent.postMessage({type:"pickerReady"},"*"))}function Cn(){var e=document,r=window,a=2147483600,c=[];function n(){for(var x=0;x<c.length;x++)c[x].parentNode&&c[x].parentNode.removeChild(c[x]);c=[]}function s(x){return(x||"").replace(/\s+/g," ").trim().toLowerCase()}function l(x){var j=s(x);if(j.length<2)return[];for(var h=e.querySelectorAll("button,a,[role],h1,h2,h3,h4,h5,h6,label,summary,input,textarea,select,option,span,li,td,th,p"),V=[],O=[],N=0;N<h.length;N++){var Q=h[N],ve=s(Q.textContent);if(!ve){var he=s(Q.getAttribute&&(Q.getAttribute("placeholder")||Q.getAttribute("aria-label"))||"");he&&(he===j||he.indexOf(j)!==-1)&&V.push(Q);continue}ve.length>120||(ve===j?V.push(Q):ve.indexOf(j)!==-1&&ve.length<j.length+30&&O.push(Q))}return V.concat(O)}function f(x,j){var h=x.getBoundingClientRect();if(h.width===0&&h.height===0)return null;var V=e.createElement("div");return V.__piwiHint=!0,V.style.cssText="position:fixed;pointer-events:none;z-index:"+(a+1)+";box-sizing:border-box;border-radius:3px;transition:opacity .3s;border:2px solid "+j+";box-shadow:0 0 0 3px "+j+"55;left:"+h.left+"px;top:"+h.top+"px;width:"+h.width+"px;height:"+h.height+"px;",e.body.appendChild(V),c.push(V),V}function i(x){var j=x.getBoundingClientRect();r.parent.postMessage({type:"piwiScrollTo",y:j.top},"*")}function m(x){if(n(),!(!x||!x.length)){for(var j=null,h=0;h<x.length;h++)for(var V=x[h],O=l(V&&V.text),N=0;N<Math.min(O.length,3);N++)f(O[N],"#f59e0b"),j||(j=O[N]);j&&i(j),setTimeout(function(){for(var Q=0;Q<c.length;Q++)c[Q].style.opacity="0"},2600),setTimeout(n,3e3)}}var v=[],R=0;function g(){r.parent.postMessage({type:"piwiSearchResult",count:v.length,index:v.length?R:-1},"*")}function S(){n();var x=v[R];x&&(f(x,"#7c3aed"),i(x),g())}function k(x){if(v=l(x),R=0,!v.length){n(),g();return}S()}function C(){v.length&&(R=(R+1)%v.length,S())}function K(x){var j=x.data;if(!(!j||typeof j.type!="string")){if(j.type==="piwiHighlight")try{m(j.hints)}catch{}else if(j.type==="piwiSearch")try{k(j.q)}catch{}else if(j.type==="piwiSearchNext")try{C()}catch{}else if(j.type==="piwiClearHints")try{n()}catch{}}}r.addEventListener("message",K,!1);function M(x){x.preventDefault(),x.stopImmediatePropagation()}for(var Z=["mousedown","mouseup","pointerdown","pointerup","auxclick","dblclick","contextmenu","submit","beforeinput","input","change","paste","cut","drop","dragstart","keypress","keyup","touchstart","touchend"],E=0;E<Z.length;E++)e.addEventListener(Z[E],M,!0);r.__piwiSnapshotExtras={onPick:function(){n()},onClose:function(){n(),r.removeEventListener("message",K,!1);for(var x=0;x<Z.length;x++)e.removeEventListener(Z[x],M,!0)}};function W(){var x=Math.max(e.documentElement?e.documentElement.scrollHeight:0,e.body?e.body.scrollHeight:0);x>0&&r.parent.postMessage({type:"piwiContentHeight",height:x},"*")}W();try{if(r.ResizeObserver){var J=new r.ResizeObserver(W);e.documentElement&&J.observe(e.documentElement),e.body&&J.observe(e.body)}}catch{}}function Tn(e){const r=[],a=new Set,c=s=>{if(typeof s!="string")return;const l=s.trim();if(l.length<2||l.length>80)return;const f=l.toLowerCase();a.has(f)||(a.add(f),r.push({text:l}))},n=s=>s&&(s.name??s.text??s.label??s.placeholder??s.alt??s.title);c(n(e.failingLocator?.args));for(const s of e.fromElementMatch??[])c(n(s.args));for(const s of e.fromAriaSnapshot??[])c(n(s.args));return r.slice(0,6)}const qe=e=>e.replace(/<\/(script)/gi,"<\\/$1");function Sn(e){const a={transport:"postMessage",probeArg:{keep:e.probedAttrs,includeStructural:!1,includeLabelText:!0}},c=qe(String($n)),n=qe(String(Cn)),s=qe(String(wn));return`<script>globalThis.__piwiProbe = (${c});(${n})();(${s})(${JSON.stringify(a)});<\/script>`}function An(e){return e.replace(/<base\b[^>]*>/gi,"")}function Ln(e,r){return An(e)+Sn(r)}const Rn={key:0,class:"flex items-center justify-center py-20"},In={key:1,class:"py-8 text-center"},zn={class:"text-xs text-gray-400 mt-1"},Pn={key:2,class:"py-8 text-center"},Bn={class:"mb-2 flex items-center gap-2 flex-wrap"},En={key:1,class:"ml-auto inline-flex rounded-md border border-default overflow-hidden text-xs"},On={key:0,class:"flex items-center gap-1 mb-1.5 text-xs text-gray-500"},Mn={class:"tabular-nums w-11 text-center select-none"},Nn={class:"ml-auto text-gray-400 tabular-nums"},Un={key:1,class:"flex items-center gap-2 mb-1.5"},jn={key:0,class:"text-xs text-gray-500 tabular-nums"},Dn={key:1,class:"text-xs text-gray-400"},Kn={key:0,class:"absolute inset-0 flex items-center justify-center bg-white dark:bg-gray-900 z-10"},Vn=["src"],Hn={key:2,class:"mt-4 space-y-3"},Fn={class:"flex items-center gap-3 bg-elevated rounded-lg p-3"},qn={class:"flex-1 min-w-0"},Zn={class:"text-sm font-medium"},Wn={class:"text-xs"},Jn={key:0,class:"text-xs text-gray-400 ml-1"},Yn={key:0,class:"text-xs text-gray-500 mt-0.5 truncate"},Gn={class:"space-y-1",role:"radiogroup","aria-label":"Alternative locators"},Qn={class:"flex-1 min-w-0"},Xn={class:"text-xs font-medium text-primary"},eo={class:"flex justify-between w-full"},to={key:1},no={class:"flex gap-2"},oo=pe({__name:"SnapshotLocatorPicker",props:We({runId:{},testRunsCaseId:{},failingLocator:{},healing:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:We(["close","confirmed"],["update:open"]),setup(e,{emit:r}){const a=e,c=r,n=at(e,"open"),s=G(!1),l=G(null),f=G(null),i=G(void 0);async function m(){s.value=!0,f.value=null;try{const I=new URLSearchParams({inlineStyles:"1"});i.value&&I.set("source",i.value);const b=`?${I.toString()}`;l.value=await $fetch(`/api/test-runs/${a.runId}/cases/${a.testRunsCaseId}/dom-snapshot${b}`),l.value?.source&&(i.value=l.value.source)}catch(I){f.value=I instanceof Error?I.message:"Unknown error"}finally{s.value=!1}}const v=L(()=>l.value?.availableSources??[]);function R(I){I===i.value||s.value||(i.value=I,k.value=!1,g.value="pick-element",J.value=0,j.value=!1,C.value=null,K.value=[],H.value=null,w.value="",d.value=0,q.value=-1,m())}Ee(n,I=>{I&&(l.value=null,k.value=!1,g.value="pick-element",J.value=0,j.value=!1,i.value=void 0,C.value=null,K.value=[],H.value=null,w.value="",d.value=0,q.value=-1,m())});const g=G("pick-element"),S=G(null),k=G(!1),C=G(null),K=G([]),M=G(void 0);function Z(I){return URL.createObjectURL(new Blob([Ln(I,{probedAttrs:hn})],{type:"text/html"}))}Ee(()=>l.value?.html,I=>{M.value&&(URL.revokeObjectURL(M.value),M.value=void 0),I&&(M.value=Z(I))},{immediate:!0});const E=G(null),W=G(0),J=G(0),x=G(1),j=G(!1),h=L(()=>l.value?.viewport??null),V=L(()=>{const I=h.value;return!I?.width||!W.value?1:Math.min(W.value/I.width,1)}),O=L(()=>{const I=h.value;if(!I)return{width:"100%",height:J.value?`${J.value}px`:"100%"};const b=J.value||I.height;return{width:`${Math.round(I.width*x.value)}px`,height:`${Math.round(b*x.value)}px`}}),N=L(()=>{const I=h.value;if(!I)return{width:"100%",height:J.value?`${J.value}px`:"100%",border:"0"};const b=J.value||I.height;return{width:`${I.width}px`,height:`${b}px`,transform:`scale(${x.value})`,transformOrigin:"top left",border:"0"}}),Q=L(()=>Math.round(x.value*100)),ve=I=>Math.min(4,Math.max(.1,I));function he(I){j.value=!0,x.value=ve(x.value*I)}function ue(){j.value=!1,x.value=V.value}Ee([V,h],()=>{j.value||(x.value=V.value)});let Y=null;Ee(E,I=>{Y?.disconnect(),I&&(W.value=I.clientWidth,Y=new ResizeObserver(b=>{for(const ie of b)W.value=ie.contentRect.width}),Y.observe(I))}),Ae(()=>{Y?.disconnect()}),Ae(()=>{M.value&&URL.revokeObjectURL(M.value)});function de(I){if(!S.value||I.source!==S.value.contentWindow)return;const b=I.data;if(b?.type==="pickerReady"){k.value=!0,ae();return}if(b?.type==="piwiContentHeight"&&typeof b.height=="number"){J.value=Math.max(b.height,h.value?.height??0);return}if(b?.type==="piwiScrollTo"&&typeof b.y=="number"){const ie=E.value;ie&&ie.scrollTo({top:Math.max(0,b.y*x.value-80),behavior:"smooth"});return}if(b?.type==="piwiSearchResult"){d.value=typeof b.count=="number"?b.count:0,q.value=typeof b.index=="number"?b.index:-1;return}if(b?.type==="elementPicked"&&b.attrs){const{labelText:ie,...be}=b.attrs;C.value={...be,accessibleName:ie??_n(be)},K.value=kn(C.value),H.value=null,g.value="review"}b?.type==="pickerClosed"&&se()}function B(I){S.value?.contentWindow?.postMessage(I,"*")}function ae(){const I=Tn({failingLocator:a.failingLocator,fromElementMatch:a.healing?.fromElementMatch??null,fromAriaSnapshot:a.healing?.fromAriaSnapshot??null});I.length&&B({type:"piwiHighlight",hints:I})}const w=G(""),d=G(0),q=G(-1);let ne=null;Ee(w,I=>{ne&&clearTimeout(ne),ne=setTimeout(()=>B({type:"piwiSearch",q:I}),180)});function y(){B({type:"piwiSearchNext"})}Ae(()=>{ne&&clearTimeout(ne)});function z(I){if(!n.value||g.value!=="pick-element"||!k.value||I.key!=="ArrowUp"&&I.key!=="ArrowDown")return;const b=(document.activeElement?.tagName??"").toLowerCase();if(b==="input"||b==="textarea")return;const ie=S.value?.contentWindow;ie&&(I.preventDefault(),ie.postMessage({type:"piwiPickerKey",key:I.key},"*"))}function D(){S.value&&(S.value.src="about:blank")}rt(()=>{window.addEventListener("message",de),window.addEventListener("keydown",z,!0)}),Ae(()=>{window.removeEventListener("message",de),window.removeEventListener("keydown",z,!0)});const H=G(null),re=G(!1);function X(I){H.value=I}const oe=L(()=>pt(a.failingLocator.method,K.value)),ee=Je();async function U(){if(H.value){re.value=!0;try{(await $fetch(`/api/test-runs/${a.runId}/cases/${a.testRunsCaseId}/locator-pick`,{method:"POST",body:{failingLocator:a.failingLocator,pickedLocator:H.value,element:C.value}})).status==="ok"?c("confirmed",H.value):ee.add({title:"Pick not saved",description:"This failure has no call-site or locator signature to attach the pick to.",color:"warning",icon:"i-lucide-alert-triangle"}),n.value=!1}catch(I){ee.add({title:"Could not save the pick",description:lt(I),color:"error",icon:"i-lucide-alert-triangle"})}finally{re.value=!1}}}function se(){D(),n.value=!1}function le(){C.value=null,K.value=[],H.value=null,g.value="pick-element",k.value=!1,w.value="",d.value=0,q.value=-1;const I=l.value?.html;I&&(M.value&&URL.revokeObjectURL(M.value),M.value=Z(I))}const{copy:fe}=He(),ce=G(null);let ye=null;function Te(I,b){fe(I,{toast:"Locator copied"}),ce.value=b,ye&&clearTimeout(ye),ye=setTimeout(()=>{ce.value=null},2e3)}return Ae(()=>{ye&&clearTimeout(ye)}),(I,b)=>{const ie=we,be=Ie,Be=_t,Ke=Pe,gt=Qe,ht=Mt;return o(),F(ht,{open:n.value,"onUpdate:open":b[8]||(b[8]=ke=>n.value=ke),ui:{content:"max-w-6xl w-[95vw]"},onAfterLeave:se},{header:A(()=>[...b[9]||(b[9]=[p("div",null,[p("h3",{class:"text-lg font-medium"},"Pick a locator from the DOM snapshot"),p("p",{class:"text-sm text-gray-500 mt-0.5"}," Click the element the failing locator should target. Use ↑↓ to walk the DOM tree. ")],-1)])]),body:A(()=>[t(s)?(o(),u("div",Rn,[_(ie,{name:"i-lucide-loader",class:"size-6 animate-spin text-gray-400"}),b[10]||(b[10]=p("span",{class:"ml-2 text-sm text-gray-500"},"Loading DOM snapshot...",-1))])):t(f)?(o(),u("div",In,[_(ie,{name:"i-lucide-alert-triangle",class:"size-8 text-red-300 mx-auto mb-2"}),b[12]||(b[12]=p("p",{class:"text-sm text-red-500"},"Failed to load snapshot",-1)),p("p",zn,$(t(f)),1),_(be,{size:"xs",variant:"outline",color:"neutral",class:"mt-3",onClick:m},{default:A(()=>[...b[11]||(b[11]=[P("Retry",-1)])]),_:1})])):t(l)?.status!=="ok"||!t(l).html?(o(),u("div",Pn,[_(ie,{name:"i-lucide-file-x",class:"size-8 text-gray-300 mx-auto mb-2"}),b[13]||(b[13]=p("p",{class:"text-sm text-gray-500"},"No DOM snapshot or ARIA data available for this execution",-1)),b[14]||(b[14]=p("p",{class:"text-xs text-gray-400 mt-1"},"This test run has no stored trace or ARIA snapshot to pick from.",-1))])):(o(),u(te,{key:3},[p("div",Bn,[t(l).source?(o(),u("div",{key:0,class:me(["text-xs flex items-center gap-1",t(l).source==="aria"?"text-amber-600 dark:text-amber-400":"text-green-600 dark:text-green-400"])},[_(ie,{name:t(l).source==="aria"?"i-lucide-accessibility":"i-lucide-check",class:"size-3.5 shrink-0"},null,8,["name"]),t(l).source==="aria"?(o(),u(te,{key:0},[P(" Accessibility tree from the failure-time ARIA snapshot — element styles are approximate ")],64)):(o(),u(te,{key:1},[P(" Rendered from the failure-time DOM snapshot ")],64))],2)):T("",!0),t(v).length>1?(o(),u("div",En,[p("button",{type:"button",class:me(["px-2 py-1 flex items-center gap-1 transition-colors",t(i)==="dom"?"bg-primary/10 text-primary font-medium":"text-gray-500 hover:bg-elevated"]),title:"Rendered page from the trace",onClick:b[0]||(b[0]=ke=>R("dom"))},[_(ie,{name:"i-lucide-layout-panel-top",class:"size-3.5"}),b[15]||(b[15]=P(" DOM ",-1))],2),p("button",{type:"button",class:me(["px-2 py-1 flex items-center gap-1 border-l border-default transition-colors",t(i)==="aria"?"bg-primary/10 text-primary font-medium":"text-gray-500 hover:bg-elevated"]),title:"Accessibility tree from the ARIA snapshot",onClick:b[1]||(b[1]=ke=>R("aria"))},[_(ie,{name:"i-lucide-accessibility",class:"size-3.5"}),b[16]||(b[16]=P(" Tree ",-1))],2)])):T("",!0)]),t(h)?(o(),u("div",On,[_(be,{size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-zoom-out",title:"Zoom out",onClick:b[2]||(b[2]=ke=>he(1/1.25))}),p("span",Mn,$(t(Q))+"%",1),_(be,{size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-zoom-in",title:"Zoom in",onClick:b[3]||(b[3]=ke=>he(1.25))}),_(be,{size:"xs",variant:"outline",color:"neutral",class:"ml-1",onClick:ue},{default:A(()=>[...b[17]||(b[17]=[P("Fit",-1)])]),_:1}),p("span",Nn,$(t(h).width)+"×"+$(t(h).height),1)])):T("",!0),t(g)==="pick-element"?(o(),u("div",Un,[_(Be,{modelValue:t(w),"onUpdate:modelValue":b[4]||(b[4]=ke=>Le(w)?w.value=ke:null),size:"xs",icon:"i-lucide-search",placeholder:"Find an element by its text…",class:"max-w-xs",onKeydown:_e($e(y,["prevent"]),["enter"])},null,8,["modelValue","onKeydown"]),t(w)&&t(d)>0?(o(),u("span",jn,$(t(q)+1)+"/"+$(t(d)),1)):t(w)?(o(),u("span",Dn,"no matches")):T("",!0),t(d)>1?(o(),F(be,{key:2,size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-chevron-down",title:"Next match (Enter)",onClick:y})):T("",!0)])):T("",!0),p("div",{ref_key:"stageRef",ref:E,class:me(["relative border border-default rounded-lg overflow-auto",[t(g)==="pick-element"?"h-[75vh]":"h-80",t(h)?"bg-gray-100 dark:bg-gray-800":""]])},[t(k)?T("",!0):(o(),u("div",Kn,[_(ie,{name:"i-lucide-loader",class:"size-5 animate-spin text-gray-400"}),b[18]||(b[18]=p("span",{class:"ml-2 text-sm text-gray-500"},"Initializing picker...",-1))])),p("div",{style:et(t(O))},[p("iframe",{ref_key:"iframeRef",ref:S,src:t(M),style:et(t(N)),class:"bg-white",sandbox:"allow-scripts",title:"DOM snapshot"},null,12,Vn)],4)],2),t(g)==="review"&&t(C)?(o(),u("div",Hn,[p("div",Fn,[_(ie,{name:"i-lucide-crosshair",class:"size-5 text-primary shrink-0"}),p("div",qn,[p("p",Zn,[b[19]||(b[19]=P(" Picked: ",-1)),p("code",Wn,$(t(C).tagName),1),t(C).attributes.id?(o(),u("code",Jn,"#"+$(t(C).attributes.id),1)):T("",!0),t(C).attributes["data-testid"]?(o(),F(Ke,{key:1,size:"xs",color:"primary",variant:"subtle",class:"ml-1"},{default:A(()=>[P($(t(C).attributes["data-testid"]),1)]),_:1})):T("",!0)]),t(C).textContent?(o(),u("p",Yn,' "'+$(t(C).textContent)+'" ',1)):T("",!0)]),_(be,{size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-rotate-ccw",title:"Pick a different element",onClick:le})]),p("div",Gn,[(o(!0),u(te,null,ge(t(K),(ke,Fe)=>(o(),F(dt,{key:Fe,alt:ke,copied:t(ce)===`picked-${Fe}`,dense:!0,selectable:!0,selected:t(H)?.locator===ke.locator,onCopy:yt=>Te(ke.locator,`picked-${Fe}`),onSelect:yt=>X(ke)},null,8,["alt","copied","selected","onCopy","onSelect"]))),128))]),t(oe).recommended?(o(),u("div",{key:0,class:"rounded-lg border border-primary/40 bg-primary/5 p-3 flex items-center gap-3 cursor-pointer",role:"button",tabindex:"0",title:"Select this locator for Confirm",onClick:b[6]||(b[6]=ke=>X(t(oe).recommended)),onKeydown:b[7]||(b[7]=_e($e(ke=>X(t(oe).recommended),["prevent"]),["enter"]))},[_(ie,{name:"i-lucide-star",class:"size-5 text-primary shrink-0"}),p("div",Qn,[p("p",Xn," Recommended (score: "+$(t(oe).recommended.score)+") ",1),_(gt,{locator:t(oe).recommended.locator,truncate:"",class:"text-sm mt-0.5"},null,8,["locator"])]),_(be,{size:"sm",color:"primary",variant:"solid","trailing-icon":t(ce)==="rec"?"i-lucide-check":"i-lucide-copy",onClick:b[5]||(b[5]=$e(ke=>Te(t(oe).recommended.locator,"rec"),["stop"]))},{default:A(()=>[...b[20]||(b[20]=[P(" Copy ",-1)])]),_:1},8,["trailing-icon"])],32)):T("",!0)])):T("",!0)],64))]),footer:A(()=>[p("div",eo,[t(g)==="review"?(o(),F(be,{key:0,size:"sm",variant:"outline",color:"neutral",icon:"i-lucide-rotate-ccw",onClick:le},{default:A(()=>[...b[21]||(b[21]=[P(" Pick a different element ",-1)])]),_:1})):(o(),u("div",to)),p("div",no,[_(be,{size:"sm",variant:"outline",color:"neutral",onClick:se},{default:A(()=>[...b[22]||(b[22]=[P("Cancel",-1)])]),_:1}),t(g)==="review"?(o(),F(be,{key:0,size:"sm",color:"primary",loading:t(re),disabled:!t(H),onClick:U},{default:A(()=>[...b[23]||(b[23]=[P(" Confirm pick ",-1)])]),_:1},8,["loading","disabled"])):T("",!0)])])]),_:1},8,["open"])}}}),so=Object.assign(oo,{__name:"SnapshotLocatorPicker"});function ao(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ro(e,r){let a=0,c=null;for(let n=r;n<e.length;n++){const s=e[n];if(c){if(s==="\\"){n++;continue}s===c&&(c=null);continue}if(s==="'"||s==='"'||s==="`"){c=s;continue}if(s==="(")a++;else if(s===")"&&(a--,a===0))return n}return-1}function io(e,r,a){if(!e||!r||!a)return null;const c=new RegExp(`${ao(r)}\\s*\\(`,"g");let n;for(;(n=c.exec(e))!==null;){const s=n.index,l=s>0?e[s-1]:"";if(l&&/[A-Za-z0-9_$]/.test(l))continue;const f=s+n[0].lastIndexOf("("),i=ro(e,f);if(i===-1)return null;const m=e.slice(0,s)+a+e.slice(i+1);return m===e?null:{old:e,new:m}}return null}function lo(e,r){return`${r?`@@ ${r} @@
|
|
2
|
+
`:""}-${e.old.trimEnd()}
|
|
3
|
+
+${e.new.trimEnd()}`}function co(e,r){const a=e??{},c=r??{},n=l=>l==null?null:typeof l=="string"?l:JSON.stringify(l),s=[];for(const l of new Set([...Object.keys(a),...Object.keys(c)])){const f=n(a[l]),i=n(c[l]);f!==i&&s.push({key:l,from:f,to:i})}return s}function uo(e){const a=[`In ${e.location??(e.sourceLine?`line ${e.sourceLine.line}`:"the failing test")}, the Playwright locator \`${e.failing}\` no longer matches its element.`,`Replace it with \`${e.recommended}\`.`];return e.sourceLine&&a.push("","Current line:",e.sourceLine.text.trim()),a.join(`
|
|
4
|
+
`)}const po={key:1},fo={class:"flex items-center gap-1"},mo={key:1,class:"rounded-lg border border-primary/50 bg-primary/10 p-3 mb-3 flex items-center gap-3"},go={class:"flex-1 min-w-0"},ho={class:"text-xs font-medium text-primary flex items-center gap-1.5"},yo={key:2,class:"bg-elevated rounded p-2 mb-3 border border-red-200 dark:border-red-800"},xo={class:"flex items-center gap-2"},vo={class:"text-xs font-mono text-red-600 dark:text-red-400 flex-1 truncate"},bo={key:0,class:"flex items-center gap-2 mt-1.5 pl-6"},ko={class:"text-xs text-gray-500"},_o={class:"font-medium text-gray-700 dark:text-gray-300"},$o={key:4,class:"rounded-lg border border-primary/40 bg-primary/5 p-3 mb-3 space-y-2"},wo={class:"flex items-center gap-2 min-w-0"},Co={key:0,class:"text-[11px] text-gray-500 truncate min-w-0"},To={key:0,class:"rounded border border-default overflow-hidden bg-default"},So={key:0,class:"text-xs flex flex-wrap items-center gap-x-1.5 gap-y-0.5"},Ao={class:"font-mono text-gray-500"},Lo={key:0,class:"font-mono text-red-500 line-through"},Ro={key:1,class:"text-gray-400"},Io={key:2,class:"font-mono text-green-600 dark:text-green-400"},zo={key:3,class:"text-gray-400"},Po={key:2,class:"text-xs text-gray-500"},Bo={key:3,class:"text-xs text-primary/90 flex items-center gap-1"},Eo={class:"flex items-center gap-2"},Oo={key:5,class:"rounded-lg border border-default bg-elevated p-3 mb-3 flex items-center gap-3"},Mo={class:"flex-1 min-w-0"},No={class:"text-xs font-medium text-success-600 dark:text-success-400"},Uo={class:"space-y-2"},jo={key:6,class:"mt-3"},Do={class:"space-y-2"},Ko={class:"flex items-center gap-1"},st=3,Vo=pe({__name:"LocatorHealingPanel",props:{runId:{},testRunsCaseId:{},storageKey:{},affectedCount:{},aiIntents:{}},setup(e){const r=e,a=L(()=>r.storageKey?De:je),c=L(()=>r.storageKey?{storageKey:r.storageKey}:{}),{data:n,pending:s,error:l}=Ue(()=>`/api/test-runs/${r.runId}/cases/${r.testRunsCaseId}/locator-healing`,{lazy:!0},"$Zgad3xb7ix"),f=L(()=>!!n.value&&n.value.source!=="none"&&!!(n.value.fromElementMatch?.length||n.value.fromPriorSuccess?.length||n.value.fromAriaSnapshot?.length)),i=L(()=>n.value?n.value.fromElementMatch??n.value.fromPriorSuccess??n.value.fromAriaSnapshot??[]:[]),m=L(()=>i.value.find(w=>w.pickedByUser)??null),v=L(()=>n.value?.recommendation?n.value.recommendation:n.value?.priorNameMayBeStale||!i.value.length?null:pt(n.value?.failingLocator?.method,i.value)),R=L(()=>n.value?.priorNameMayBeStale&&n.value.fromPriorSuccess?.length?n.value.fromAriaSnapshot??[]:[]),g=L(()=>{const w=v.value;return w?.recommended?w.recommended.pickedByUser?"Confirmed with the locator picker on the failing page":w.preservesConvention?"Keeps your original locator style — minimal, idiomatic edit":w.suggestAddTestId?"Most stable available, but still fragile":"Most stable available — a sturdier style than the original":""}),S=L(()=>{const w=n.value?.priorNameMayBeStale,d=(()=>{switch(n.value?.source){case"prior-run":return w?"Pre-captured from the last passing run — the element looks changed since":"Pre-captured from the last passing run — highest confidence";case"element-match":return"The element looks renamed or moved — these are fresh locators for its current identity on the failing page";case"fingerprint":return"Matched by locator signature (line numbers shifted)";case"cross-test":return"Captured by another test in this project that uses the same locator";case"aria-snapshot":return"Generated from the failure-time ARIA snapshot — limited, no HTML attributes";default:return""}})(),q=n.value?.capturedAt;return q?`${d} · captured ${Ye(q)}`:d}),k=L(()=>{if(n.value?.priorNameMayBeStale)return"text-warning-600 dark:text-warning-400";switch(n.value?.source){case"prior-run":case"fingerprint":case"cross-test":return"text-success-600 dark:text-success-400";case"element-match":return"text-primary-600 dark:text-primary-400";default:return"text-warning-600 dark:text-warning-400"}}),C=L(()=>{const w=n.value?.failingLocator;return w?`${w.method}(${JSON.stringify(w.args)})`:""});function K(w){return w.toLowerCase().replace(/[\s'"`{}[\]]/g,"")}const M=L(()=>{if(!r.aiIntents?.length||!C.value)return null;const w=K(C.value);return r.aiIntents.find(d=>K(d.locator)===w)??null}),Z=ze(),{data:E}=Ue(()=>`/api/test-run-cases/${r.testRunsCaseId}/traces`,{lazy:!0},"$eLKRphd7VZ"),W=L(()=>{const w=E.value?.[0];if(!w)return null;const d=!!Z.public.demoMode&&w.filePath.startsWith("demo/");return ct(w.filePath,Z.app?.baseURL,d)}),J=G(!1);async function x(){await wt(`/api/test-runs/${r.runId}/cases/${r.testRunsCaseId}/locator-healing`)}const{copy:j}=He(),h=G(null);let V=null;function O(w,d,q){j(w,{toast:q}),h.value=d,V&&clearTimeout(V),V=setTimeout(()=>{h.value=null},2e3)}function N(w,d){O(w,d,"Locator copied")}Ae(()=>{V&&clearTimeout(V)});const Q=L(()=>v.value?.recommended??null),ve=L(()=>r.affectedCount&&r.affectedCount>1&&Q.value?`Same break affects ${r.affectedCount} tests in this cluster — one fix`:""),he=L(()=>{if(Q.value?.pickedByUser)return"your confirmed pick";switch(n.value?.source){case"prior-run":return"from the last passing run";case"fingerprint":return"from a prior run (line shifted)";case"cross-test":return"from another test in this project";case"element-match":return"from the current failing page";case"aria-snapshot":return"from the ARIA snapshot";default:return""}}),ue=L(()=>{const w=n.value?.sourceLine,d=Q.value;if(!w||!d)return null;const q=io(w.text,n.value?.failingLocator?.method,d.locator);return q?{edit:q,patch:lo(q,n.value?.location??null)}:null}),Y=L(()=>{if(ue.value)return[];const w=n.value?.failingLocator,d=Q.value;return!w||!d||d.method!==w.method?[]:co(w.args,d.args)});function de(){const w=Q.value;!w||!n.value||O(uo({location:n.value.location??null,sourceLine:n.value.sourceLine??null,failing:C.value,recommended:w.locator}),"fix-prompt","Fix prompt copied")}const B=G(!1),ae=L(()=>B.value?i.value:i.value.slice(0,st));return(w,d)=>{const q=Qe,ne=Ie,y=$t,z=Ge,D=we,H=Pe,re=cn,X=dt,oe=It;return o(),u(te,null,[!t(s)&&!t(l)&&t(f)?(o(),F(Se(t(a)),Ne({key:0},t(c),{"data-shot":"alternative-locators",icon:"i-lucide-bandage",title:"Alternative locators",count:t(i).length,help:"locator-healing"}),Re({subtitle:A(()=>[p("span",{class:me(t(k))},$(t(S)),3)]),default:A(()=>[t(n)?.healedInRunId?(o(),F(z,{key:0,class:"mb-3",color:"success",icon:"i-lucide-circle-check",variant:"subtle",title:"Locator healed"},{description:A(()=>[d[11]||(d[11]=P(" The recommended locator now passes at this call site — ",-1)),_(y,{to:`/test-runs/${t(n).healedInRunId}`,class:"underline font-medium"},{default:A(()=>[P(" see run #"+$(t(n).healedInRunId),1)]),_:1},8,["to"]),d[12]||(d[12]=P(". ",-1))]),_:1})):T("",!0),t(m)?(o(),u("div",mo,[_(D,{name:"i-lucide-user-check",class:"size-5 text-primary shrink-0"}),p("div",go,[p("p",ho,[d[14]||(d[14]=P(" Your pick ",-1)),_(H,{size:"sm",color:"primary",variant:"subtle"},{default:A(()=>[...d[13]||(d[13]=[P("confirmed on the failing page",-1)])]),_:1})]),_(q,{locator:t(m).locator,truncate:"",class:"text-sm mt-0.5"},null,8,["locator"])]),_(ne,{size:"sm",color:"primary",variant:"solid","trailing-icon":t(h)==="user-pick"?"i-lucide-check":"i-lucide-copy",onClick:d[1]||(d[1]=ee=>N(t(m).locator,"user-pick"))},{default:A(()=>[...d[15]||(d[15]=[P(" Copy ",-1)])]),_:1},8,["trailing-icon"])])):T("",!0),t(n)?.failingLocator?(o(),u("div",yo,[p("div",xo,[_(D,{name:"i-lucide-x-circle",class:"size-4 text-red-500 shrink-0"}),p("code",vo,$(t(C)),1),_(ne,{size:"xs",variant:"ghost",color:"neutral",icon:t(h)==="failing"?"i-lucide-check":"i-lucide-copy",title:t(h)==="failing"?"Copied!":"Copy",onClick:d[2]||(d[2]=ee=>N(t(C),"failing"))},null,8,["icon","title"])]),t(M)?(o(),u("div",bo,[_(D,{name:"i-lucide-wand-sparkles",class:"size-3.5 text-primary shrink-0"}),p("span",ko,[d[19]||(d[19]=P(" Compiled from prompt ",-1)),p("span",_o,"“"+$(t(M).template)+"”",1),t(M).kind==="run"?(o(),u(te,{key:0},[d[16]||(d[16]=P(" (a ",-1)),d[17]||(d[17]=p("code",{class:"text-xs"},"piwiRun",-1)),d[18]||(d[18]=P(" flow step)",-1))],64)):T("",!0)])])):T("",!0)])):T("",!0),t(n)?.priorNameMayBeStale?(o(),F(z,{key:3,class:"mb-3",color:"warning",icon:"i-lucide-alert-triangle",variant:"subtle",title:"The element's name looks changed",description:"The captured accessible name no longer appears on the failing page, so name-based alternatives (and the failing locator itself) probably no longer match. Prefer the structural options, or the failing-page candidates below."})):T("",!0),t(Q)?(o(),u("div",$o,[p("div",wo,[_(D,{name:"i-lucide-star",class:"size-4 text-primary shrink-0"}),d[20]||(d[20]=p("p",{class:"text-xs font-medium text-primary shrink-0"},"Recommended fix",-1)),t(he)?(o(),u("span",Co," · "+$(t(he)),1)):T("",!0),d[21]||(d[21]=p("span",{class:"flex-1"},null,-1)),_(H,{size:"xs",color:"primary",variant:"subtle",class:"font-mono tabular-nums shrink-0"},{default:A(()=>[P($(t(Q).score),1)]),_:1})]),t(ue)?(o(),u("div",To,[_(re,{patch:t(ue).patch},null,8,["patch"])])):(o(),u(te,{key:1},[_(q,{locator:t(Q).locator,truncate:"",class:"text-sm"},null,8,["locator"]),t(Y).length?(o(),u("p",So,[(o(!0),u(te,null,ge(t(Y),(ee,U)=>(o(),u(te,{key:U},[p("span",Ao,$(ee.key)+":",1),ee.from?(o(),u("span",Lo,$(ee.from),1)):(o(),u("span",Ro,"—")),_(D,{name:"i-lucide-arrow-right",class:"size-3 text-gray-400"}),ee.to?(o(),u("span",Io,$(ee.to),1)):(o(),u("span",zo,"removed"))],64))),128))])):T("",!0)],64)),t(g)?(o(),u("p",Po,$(t(g)),1)):T("",!0),t(ve)?(o(),u("p",Bo,[_(D,{name:"i-lucide-layers",class:"size-3 shrink-0"}),P($(t(ve)),1)])):T("",!0),p("div",Eo,[_(ne,{size:"xs",color:"primary",variant:"solid","trailing-icon":t(h)==="top"?"i-lucide-check":"i-lucide-copy",onClick:d[3]||(d[3]=ee=>N(t(Q).locator,"top"))},{default:A(()=>[...d[22]||(d[22]=[P(" Copy locator ",-1)])]),_:1},8,["trailing-icon"]),_(ne,{size:"xs",color:"neutral",variant:"outline",icon:t(h)==="fix-prompt"?"i-lucide-check":"i-lucide-sparkles",title:"Copy an instruction an AI coding agent can apply directly to the test",onClick:de},{default:A(()=>[...d[23]||(d[23]=[P(" Copy fix prompt ",-1)])]),_:1},8,["icon"])])])):T("",!0),t(v)?.hasDurableAlternative&&t(v).durable?(o(),u("div",Oo,[_(D,{name:"i-lucide-shield-check",class:"size-5 text-success shrink-0"}),p("div",Mo,[p("p",No," Most stable option (score: "+$(t(v).durable.score)+") ",1),_(q,{locator:t(v).durable.locator,truncate:"",class:"text-sm mt-0.5"},null,8,["locator"]),d[24]||(d[24]=p("p",{class:"text-xs text-gray-500 mt-0.5"},"Sturdier, but changes the locator style",-1))]),_(ne,{size:"sm",color:"neutral",variant:"outline","trailing-icon":t(h)==="durable"?"i-lucide-check":"i-lucide-copy",onClick:d[4]||(d[4]=ee=>N(t(v).durable.locator,"durable"))},{default:A(()=>[...d[25]||(d[25]=[P(" Copy ",-1)])]),_:1},8,["trailing-icon"])])):T("",!0),p("div",Uo,[d[26]||(d[26]=p("p",{class:"text-xs font-medium text-gray-500"},"All alternatives",-1)),(o(!0),u(te,null,ge(t(ae),(ee,U)=>(o(),F(X,{key:U,alt:ee,copied:t(h)===`alt-${U}`,onCopy:se=>N(ee.locator,`alt-${U}`)},null,8,["alt","copied","onCopy"]))),128)),t(i).length>st?(o(),F(ne,{key:0,size:"xs",variant:"ghost",color:"neutral",block:"",icon:t(B)?"i-lucide-chevron-up":"i-lucide-chevron-down",onClick:d[5]||(d[5]=ee=>B.value=!t(B))},{default:A(()=>[P($(t(B)?"Show fewer":`Show all ${t(i).length} alternatives`),1)]),_:1},8,["icon"])):T("",!0)]),t(R).length?(o(),u("div",jo,[d[27]||(d[27]=p("p",{class:"text-xs font-medium text-gray-500 mb-2"},"From the failing page",-1)),p("div",Do,[(o(!0),u(te,null,ge(t(R),(ee,U)=>(o(),F(X,{key:U,alt:ee,note:"candidate from the failure-time ARIA snapshot",copied:t(h)===`supp-${U}`,onCopy:se=>N(ee.locator,`supp-${U}`)},null,8,["alt","copied","onCopy"]))),128))])])):T("",!0),t(v)?.suggestAddTestId?(o(),F(z,{key:7,class:"mt-3",color:"warning",icon:"i-lucide-info",variant:"subtle",title:"All alternatives are fragile",description:"Every captured locator scores below 50. Add a stable data-testid attribute to this element in the app for a durable fix."})):T("",!0),t(n)?.source==="aria-snapshot"?(o(),F(z,{key:8,class:"mt-3",color:"info",icon:"i-lucide-info",variant:"subtle"},{description:A(()=>[d[29]||(d[29]=P(" No HTML attributes were available. ",-1)),_(oe,{to:"capture-fixtures","no-icon":"",class:"text-primary hover:underline"},{default:A(()=>[...d[28]||(d[28]=[P("Enable Piwi fixture capture",-1)])]),_:1}),d[30]||(d[30]=P(" for full alternatives including data-testid and CSS selectors. ",-1))]),_:1})):T("",!0)]),_:2},[e.storageKey?{name:"folded",fn:A(()=>[t(v)?.recommended?(o(),F(q,{key:0,locator:t(v).recommended.locator,class:"text-xs"},null,8,["locator"])):(o(),u("span",po,$(t(i).length)+" alternative"+$(t(i).length===1?"":"s"),1))]),key:"0"}:void 0,t(W)||t(n)?.failingLocator?{name:"actions",fn:A(()=>[p("div",fo,[t(n)?.failingLocator?(o(),F(ne,{key:0,size:"xs",color:"neutral",variant:"outline",icon:"i-lucide-mouse-pointer",title:"Open the failure-time DOM snapshot and click the element to pick a locator",onClick:d[0]||(d[0]=ee=>J.value=!0)},{default:A(()=>[...d[9]||(d[9]=[P(" Pick from snapshot ",-1)])]),_:1})):T("",!0),t(W)?(o(),F(ne,{key:1,to:t(W),target:"_blank",size:"xs",color:"neutral",variant:"outline",icon:"i-lucide-crosshair",title:"Open the failure trace in the trace viewer — its Pick locator tool works on the recorded page snapshots"},{default:A(()=>[...d[10]||(d[10]=[P(" Pick from trace ",-1)])]),_:1},8,["to"])):T("",!0)])]),key:"1"}:void 0]),1040,["count"])):!t(s)&&!t(l)&&!t(f)?(o(),F(Se(t(a)),Ne({key:1},t(c),{icon:"i-lucide-bandage",title:"Alternative locators",subtitle:"No alternatives available",help:"locator-healing"}),Re({default:A(()=>[_(z,{color:"neutral",icon:"i-lucide-info",variant:"subtle"},{description:A(()=>[d[35]||(d[35]=P(" No pre-captured alternatives — this locator has never passed in a previous run. ",-1)),_(oe,{to:"capture-fixtures","no-icon":"",class:"text-primary hover:underline"},{default:A(()=>[...d[34]||(d[34]=[P("Enable Piwi dashboard fixtures",-1)])]),_:1}),d[36]||(d[36]=P(" to capture element attributes at test time, or use “Pick from snapshot” above to choose a locator by hand on the failure-time page. ",-1))]),_:1})]),_:2},[e.storageKey?{name:"folded",fn:A(()=>[d[31]||(d[31]=p("span",null,"No alternatives available",-1))]),key:"0"}:void 0,t(W)||t(n)?.failingLocator?{name:"actions",fn:A(()=>[p("div",Ko,[t(n)?.failingLocator?(o(),F(ne,{key:0,size:"xs",color:"neutral",variant:"outline",icon:"i-lucide-mouse-pointer",title:"Open the failure-time DOM snapshot and click the element to pick a locator",onClick:d[6]||(d[6]=ee=>J.value=!0)},{default:A(()=>[...d[32]||(d[32]=[P(" Pick from snapshot ",-1)])]),_:1})):T("",!0),t(W)?(o(),F(ne,{key:1,to:t(W),target:"_blank",size:"xs",color:"neutral",variant:"outline",icon:"i-lucide-crosshair",title:"Open the failure trace in the trace viewer — its Pick locator tool works on the recorded page snapshots"},{default:A(()=>[...d[33]||(d[33]=[P(" Pick from trace ",-1)])]),_:1},8,["to"])):T("",!0)])]),key:"1"}:void 0]),1040)):T("",!0),t(n)?.failingLocator?(o(),F(so,{key:2,open:t(J),"onUpdate:open":d[7]||(d[7]=ee=>Le(J)?J.value=ee:null),"run-id":e.runId,"test-runs-case-id":e.testRunsCaseId,"failing-locator":t(n).failingLocator,healing:t(n),onConfirmed:x,onClose:d[8]||(d[8]=ee=>J.value=!1)},null,8,["open","run-id","test-runs-case-id","failing-locator","healing"])):T("",!0)],64)}}}),Da=Object.assign(Vo,{__name:"LocatorHealingPanel"}),Ho={key:1,class:"space-y-2"},Fo={class:"text-xs font-medium text-gray-500 dark:text-gray-400 sm:w-40 shrink-0"},qo={class:"flex flex-wrap items-center gap-1.5 min-w-0 text-xs font-mono"},Zo={class:"rounded bg-red-50 px-1.5 py-0.5 text-red-700 dark:bg-red-950/30 dark:text-red-400 break-all"},Wo={class:"rounded bg-green-50 px-1.5 py-0.5 text-green-700 dark:bg-green-950/30 dark:text-green-400 break-all"},Jo={key:0,class:"text-xs text-gray-400 dark:text-gray-500"},Yo={key:0},Go=pe({__name:"EnvironmentDiffCard",props:{runId:{},testRunsCaseId:{},storageKey:{}},setup(e,{expose:r}){const a=e,c=L(()=>a.storageKey?De:je),n=L(()=>a.storageKey?{storageKey:a.storageKey}:{}),{data:s,pending:l,error:f}=Ue(()=>`/api/test-runs/${a.runId}/cases/${a.testRunsCaseId}/environment-diff`,{lazy:!0},"$0pD8W6UYqF"),i=L(()=>s.value?.entries??[]),m=L(()=>i.value.filter(k=>!k.informational)),v=L(()=>i.value.filter(k=>k.informational)),R=L(()=>{const k=s.value?.baseline;if(!k)return"";const C=k.startTime?` · ${Ye(new Date(k.startTime))}`:"";return`vs last pass in run #${k.runId}${C}`}),g=L(()=>{if(s.value?.status!=="ok")return"No passing baseline to compare against";const k=m.value.length;return k===0?"Identical to last pass — no environment drift":`${k} change${k===1?"":"s"}: ${m.value.map(C=>C.label).join(", ")}`}),S=G(null);return r({reveal:()=>S.value?.reveal?.()}),(k,C)=>{const K=Ge,M=we;return!t(l)&&!t(f)&&t(s)?.status==="ok"?(o(),F(Se(t(c)),Ne({key:0,ref_key:"card",ref:S},t(n),{icon:"i-lucide-git-compare-arrows",title:"Environment diff",count:t(m).length||void 0,help:"environment-diff",subtitle:t(R)}),Re({default:A(()=>[t(i).length===0?(o(),F(K,{key:0,color:"success",icon:"i-lucide-check-circle",variant:"subtle",description:"The environment is identical to the last passing run — environment drift is unlikely to explain this failure."})):(o(),u("div",Ho,[(o(!0),u(te,null,ge(t(m),Z=>(o(),u("div",{key:Z.key,class:"rounded-lg border border-default p-3 flex flex-col gap-1 sm:flex-row sm:items-center sm:gap-3"},[p("span",Fo,$(Z.label),1),p("div",qo,[p("code",Zo,$(Z.failing??"(unset)"),1),_(M,{name:"i-lucide-arrow-left",class:"size-3 shrink-0 text-gray-400"}),p("code",Wo,$(Z.baseline??"(unset)"),1)])]))),128)),t(v).length>0?(o(),u("p",Jo,[C[0]||(C[0]=P(" Also changed (varies naturally between runs): ",-1)),(o(!0),u(te,null,ge(t(v),(Z,E)=>(o(),u("span",{key:Z.key},[P($(Z.label.toLowerCase())+" "+$(Z.baseline??"—")+" → "+$(Z.failing??"—"),1),E<t(v).length-1?(o(),u("span",Yo,", ")):T("",!0)]))),128))])):T("",!0)]))]),_:2},[e.storageKey?{name:"folded",fn:A(()=>[p("span",null,$(t(g)),1)]),key:"0"}:void 0]),1040,["count","subtitle"])):T("",!0)}}}),Ka=Object.assign(Go,{__name:"EnvironmentDiffCard"}),Qo={class:"absolute top-4 left-4 text-white/70 text-sm font-medium"},Xo=["src","alt"],es=pe({__name:"ScreenshotLightbox",props:{images:{},modelValue:{}},emits:["update:modelValue"],setup(e,{emit:r}){const a=e,c=r,n=L(()=>a.modelValue!==null);function s(){c("update:modelValue",null)}function l(){a.modelValue!==null&&a.modelValue>0&&c("update:modelValue",a.modelValue-1)}function f(){a.modelValue!==null&&a.modelValue<a.images.length-1&&c("update:modelValue",a.modelValue+1)}const i=L(()=>a.modelValue===null?null:a.images[a.modelValue]??null);function m(v){n.value&&(v.key==="Escape"&&s(),v.key==="ArrowLeft"&&l(),v.key==="ArrowRight"&&f())}return rt(()=>window.addEventListener("keydown",m)),Ct(()=>window.removeEventListener("keydown",m)),(v,R)=>{const g=we;return o(),F(Tt,{to:"body"},[_(St,{name:"lightbox"},{default:A(()=>[n.value?(o(),u("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/90",onClick:$e(s,["self"])},[p("button",{class:"absolute top-4 right-4 size-10 flex items-center justify-center rounded-full bg-white/10 text-white hover:bg-white/20 transition-colors",onClick:s},[_(g,{name:"i-lucide-x",class:"size-6"})]),p("div",Qo,$((e.modelValue??0)+1)+" / "+$(e.images.length),1),e.images.length>1&&(e.modelValue??0)>0?(o(),u("button",{key:0,class:"absolute left-4 size-10 flex items-center justify-center rounded-full bg-white/10 text-white hover:bg-white/20 transition-colors",onClick:l},[_(g,{name:"i-lucide-chevron-left",class:"size-6"})])):T("",!0),i.value?(o(),u("img",{key:1,src:i.value.src,alt:i.value.name,class:"max-h-[90vh] max-w-[90vw] object-contain rounded-lg",onClick:R[0]||(R[0]=$e(()=>{},["stop"]))},null,8,Xo)):T("",!0),e.images.length>1&&(e.modelValue??0)<e.images.length-1?(o(),u("button",{key:2,class:"absolute right-4 size-10 flex items-center justify-center rounded-full bg-white/10 text-white hover:bg-white/20 transition-colors",onClick:f},[_(g,{name:"i-lucide-chevron-right",class:"size-6"})])):T("",!0)])):T("",!0)]),_:1})])}}}),mt=Object.assign(At(es,[["__scopeId","data-v-c02b1e9b"]]),{__name:"ScreenshotLightbox"}),ts={class:"flex justify-end mb-2"},ns={key:1,class:"rounded overflow-hidden border border-default bg-gray-50 dark:bg-gray-900"},os=["src"],ss={key:2,class:"grid grid-cols-1 sm:grid-cols-2 gap-2"},as={class:"rounded overflow-hidden border border-red-200 dark:border-red-900 bg-gray-50 dark:bg-gray-900"},rs=["src"],is={class:"rounded overflow-hidden border border-green-200 dark:border-green-900 bg-gray-50 dark:bg-gray-900"},ls={class:"px-2 py-1 text-[10px] font-medium text-green-600 dark:text-green-400"},cs=["src"],us=pe({__name:"VisualDiffCard",props:{runId:{},testRunsCaseId:{},storageKey:{}},setup(e,{expose:r}){const a=e,c=L(()=>a.storageKey?De:je),n=L(()=>a.storageKey?{storageKey:a.storageKey}:{}),s=ze(),{data:l,pending:f,error:i}=Ue(()=>`/api/test-runs/${a.runId}/cases/${a.testRunsCaseId}/visual-diff`,{lazy:!0},"$QAhY8Q5pJg"),m=L(()=>l.value?.status==="ok"?l.value.diff??null:null),v=G("overlay"),R=[{label:"Overlay",value:"overlay"},{label:"Side by side",value:"side-by-side"}],g=L(()=>m.value?Me(m.value.path,"image/png",s.app?.baseURL):""),S=L(()=>m.value?Me(m.value.failingPath,null,s.app?.baseURL):""),k=L(()=>m.value?Me(m.value.baselinePath,null,s.app?.baseURL):""),C=L(()=>m.value?(m.value.changedPixelRatio*100).toFixed(2):"0"),K=L(()=>{const J=m.value?.changedPixelRatio??0;return J>.1?"error":J>.01?"warning":"success"}),M=L(()=>m.value?m.value.dimensionMismatch?`${C.value}% changed — dimensions differ, unreliable`:`${C.value}% of pixels changed vs last pass`:"No comparable screenshots"),Z=L(()=>m.value?[{src:S.value,name:"Failing screenshot"},{src:k.value,name:"Last passing screenshot"},{src:g.value,name:"Diff overlay"}]:[]),E=G(null),W=G(null);return r({reveal:()=>W.value?.reveal?.()}),(J,x)=>{const j=Pe,h=Ge,V=Nt,O=mt;return!t(f)&&!t(i)&&t(m)?(o(),F(Se(t(c)),Ne({key:0,ref_key:"card",ref:W},t(n),{icon:"i-lucide-images",title:"Visual diff",help:"visual-diff"}),Re({subtitle:A(()=>[p("span",null,"vs last pass in run #"+$(t(m).baselineRunId),1)]),actions:A(()=>[_(j,{color:t(K),variant:"subtle",size:"sm",class:"font-mono tabular-nums"},{default:A(()=>[P($(t(C))+"% changed ",1)]),_:1},8,["color"])]),default:A(()=>[t(m).dimensionMismatch?(o(),F(h,{key:0,class:"mb-3",color:"warning",icon:"i-lucide-alert-triangle",variant:"subtle",title:"Screenshot dimensions differ",description:"The failing and passing screenshots have different sizes (viewport change?). They are compared on a padded canvas, so the changed-pixel ratio is inflated and unreliable."})):T("",!0),p("div",ts,[_(V,{modelValue:t(v),"onUpdate:modelValue":x[0]||(x[0]=N=>Le(v)?v.value=N:null),items:R,size:"xs",content:!1,ui:{list:"overflow-x-auto",trigger:"shrink-0"}},null,8,["modelValue"])]),t(v)==="overlay"?(o(),u("div",ns,[p("img",{src:t(g),alt:"Diff overlay (red = changed pixels)",class:"w-full max-h-96 object-contain cursor-zoom-in outline-none focus-visible:outline-2 focus-visible:outline-primary",loading:"lazy",role:"button",tabindex:"0","aria-label":"Open diff overlay in lightbox",onClick:x[1]||(x[1]=N=>E.value=2),onKeydown:[x[2]||(x[2]=_e(N=>E.value=2,["enter"])),x[3]||(x[3]=_e($e(N=>E.value=2,["prevent"]),["space"]))]},null,40,os),x[11]||(x[11]=p("p",{class:"px-2 py-1 text-[10px] text-gray-500"},"Red pixels mark differences against the last passing run",-1))])):(o(),u("div",ss,[p("div",as,[x[12]||(x[12]=p("p",{class:"px-2 py-1 text-[10px] font-medium text-red-600 dark:text-red-400"},"Failing",-1)),p("img",{src:t(S),alt:"Failing screenshot",class:"w-full max-h-80 object-contain cursor-zoom-in outline-none focus-visible:outline-2 focus-visible:outline-primary",loading:"lazy",role:"button",tabindex:"0","aria-label":"Open failing screenshot in lightbox",onClick:x[4]||(x[4]=N=>E.value=0),onKeydown:[x[5]||(x[5]=_e(N=>E.value=0,["enter"])),x[6]||(x[6]=_e($e(N=>E.value=0,["prevent"]),["space"]))]},null,40,rs)]),p("div",is,[p("p",ls," Last pass (run #"+$(t(m).baselineRunId)+") ",1),p("img",{src:t(k),alt:"Last passing screenshot",class:"w-full max-h-80 object-contain cursor-zoom-in outline-none focus-visible:outline-2 focus-visible:outline-primary",loading:"lazy",role:"button",tabindex:"0","aria-label":"Open last passing screenshot in lightbox",onClick:x[7]||(x[7]=N=>E.value=1),onKeydown:[x[8]||(x[8]=_e(N=>E.value=1,["enter"])),x[9]||(x[9]=_e($e(N=>E.value=1,["prevent"]),["space"]))]},null,40,cs)])])),_(O,{modelValue:t(E),"onUpdate:modelValue":x[10]||(x[10]=N=>Le(E)?E.value=N:null),images:t(Z)},null,8,["modelValue","images"])]),_:2},[e.storageKey?{name:"folded",fn:A(()=>[p("span",null,$(t(M)),1)]),key:"0"}:void 0]),1040)):T("",!0)}}}),Va=Object.assign(us,{__name:"VisualDiffCard"}),ds={class:"max-h-96 overflow-y-auto"},ps={key:0,class:"mt-2 text-xs text-gray-400 dark:text-gray-500"},Ze=2e4,fs=pe({__name:"DomSnapshotCard",props:{runId:{},testRunsCaseId:{},storageKey:{}},setup(e,{expose:r}){const a=e,c=L(()=>a.storageKey?De:je),n=L(()=>a.storageKey?{storageKey:a.storageKey}:{}),{data:s,pending:l,error:f}=Ue(()=>`/api/test-runs/${a.runId}/cases/${a.testRunsCaseId}/dom-snapshot`,{lazy:!0},"$rAu-vOWv77"),i=L(()=>(s.value?.html??"").slice(0,Ze)),m=L(()=>(s.value?.html?.length??0)>Ze),v=L(()=>{const k=s.value;return!k||k.status!=="ok"?"":`${Math.round((k.html?.length??0)/1024)} KB · rendered from the uploaded trace${k.snapshotName?` (${k.snapshotName})`:""}`}),{copy:R,copied:g}=He(),S=G(null);return r({reveal:()=>S.value?.reveal?.()}),(k,C)=>{const K=Ie,M=Ut,Z=jt;return!t(l)&&!t(f)&&t(s)?.status==="ok"&&t(s).html?(o(),F(Se(t(c)),Ne({key:0,ref_key:"card",ref:S},t(n),{icon:"i-lucide-file-code",title:"DOM snapshot",help:"dom-snapshot",subtitle:t(v)}),Re({actions:A(()=>[_(M,{text:t(g)?"Copied!":"Copy full HTML"},{default:A(()=>[_(K,{size:"xs",variant:"ghost",color:"neutral",icon:t(g)?"i-lucide-check":"i-lucide-clipboard",onClick:C[0]||(C[0]=E=>t(R)(t(s).html))},null,8,["icon"])]),_:1},8,["text"])]),default:A(()=>[p("div",ds,[_(Z,{code:t(i),lang:"xml"},null,8,["code"])]),t(m)||t(s).truncated?(o(),u("p",ps,[t(m)?(o(),u(te,{key:0},[P("Showing the first "+$(Math.round(Ze/1e3))+"k characters — use Copy for the full document.",1)],64)):(o(),u(te,{key:1},[P("The snapshot was truncated to its size cap.")],64))])):T("",!0)]),_:2},[e.storageKey?{name:"folded",fn:A(()=>[p("span",null,"Failure-time HTML extracted from the trace — "+$(Math.round((t(s).html.length??0)/1024))+" KB",1)]),key:"0"}:void 0]),1040,["subtitle"])):T("",!0)}}}),Ha=Object.assign(fs,{__name:"DomSnapshotCard"}),ms={class:"rounded-md border border-default overflow-hidden"},gs={class:"text-xs font-semibold text-gray-600 dark:text-gray-300 flex-1"},hs={key:0,class:"text-gray-400 font-normal ml-1"},ys={key:0},xs=pe({__name:"TestEvidenceSection",props:We({icon:{},label:{},count:{},collapsible:{type:Boolean}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:["update:open"],setup(e){const r=e,a=at(e,"open"),c=L(()=>r.collapsible===!1||a.value);return(n,s)=>{const l=we;return o(),u("div",ms,[(o(),F(Se(e.collapsible===!1?"div":"button"),{class:me(["w-full flex items-center gap-1.5 px-3 py-2 bg-elevated border-b border-default text-left",e.collapsible!==!1&&"hover:bg-gray-100 dark:hover:bg-gray-800 transition-colors cursor-pointer"]),onClick:s[0]||(s[0]=f=>e.collapsible!==!1&&(a.value=!a.value))},{default:A(()=>[_(l,{name:e.icon,class:"size-3.5 shrink-0 text-primary/70"},null,8,["name"]),p("span",gs,[P($(e.label),1),e.count!=null?(o(),u("span",hs,"("+$(e.count)+")",1)):T("",!0)]),e.collapsible!==!1?(o(),F(l,{key:0,name:a.value?"i-lucide-chevron-up":"i-lucide-chevron-down",class:"size-3.5 text-gray-400"},null,8,["name"])):T("",!0)]),_:1},8,["class"])),t(c)?(o(),u("div",ys,[Oe(n.$slots,"default")])):T("",!0)])}}}),Xe=Object.assign(xs,{__name:"TestEvidenceSection"}),vs={class:"grid grid-cols-2 gap-2 p-2 bg-gray-50 dark:bg-gray-900"},bs=["aria-label","onClick","onKeydown"],ks=["src","alt"],_s={class:"absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity bg-black/30"},$s={class:"absolute bottom-0 inset-x-0 px-1.5 py-0.5 text-[10px] text-white bg-black/50 truncate"},ws=pe({__name:"TestEvidenceScreenshots",props:{attachments:{}},setup(e){const r=e,a=ze();function c(l){return l.split("/").pop()||l}const n=L(()=>r.attachments.filter(l=>Kt(l.path,l.contentType)).map(l=>({src:Me(l.path,l.contentType,a.app?.baseURL),name:l.name||c(l.path)}))),s=G(null);return(l,f)=>{const i=we,m=mt,v=Xe;return t(n).length>0?(o(),F(v,{key:0,icon:"i-lucide-image",label:"Screenshots",count:t(n).length,collapsible:!1},{default:A(()=>[p("div",vs,[(o(!0),u(te,null,ge(t(n),(R,g)=>(o(),u("div",{key:R.src,class:"relative group cursor-pointer rounded overflow-hidden border border-default outline-none focus-visible:outline-2 focus-visible:outline-primary",role:"button",tabindex:"0","aria-label":`View screenshot ${R.name}`,onClick:S=>s.value=g,onKeydown:[_e(S=>s.value=g,["enter"]),_e($e(S=>s.value=g,["prevent"]),["space"])]},[p("img",{src:R.src,alt:R.name,class:"w-full h-28 object-cover object-top transition-opacity group-hover:opacity-80",loading:"lazy"},null,8,ks),p("div",_s,[_(i,{name:"i-lucide-zoom-in",class:"size-5 text-white"})]),p("p",$s,$(R.name),1)],40,bs))),128))]),_(m,{modelValue:t(s),"onUpdate:modelValue":f[0]||(f[0]=R=>Le(s)?s.value=R:null),images:t(n)},null,8,["modelValue","images"])]),_:1},8,["count"])):T("",!0)}}}),Fa=Object.assign(ws,{__name:"TestEvidenceScreenshots"}),Cs={class:"m-0"},Ts={class:"bg-black rounded overflow-hidden"},Ss=["src"],As=["title"],Ls=pe({__name:"VideoPlayer",props:{src:{},label:{}},setup(e){return(r,a)=>(o(),u("figure",Cs,[p("div",Ts,[p("video",{src:e.src,controls:"",preload:"metadata",class:"w-full max-h-96"}," Your browser does not support the video tag. ",8,Ss)]),e.label?(o(),u("figcaption",{key:0,class:"mt-1 text-xs text-gray-400 truncate",title:e.label},$(e.label),9,As)):T("",!0)]))}}),Rs=Object.assign(Ls,{__name:"VideoPlayer"}),Is={class:"space-y-2 p-2 bg-gray-50 dark:bg-gray-900"},zs=pe({__name:"TestEvidenceVideos",props:{attachments:{}},setup(e){const r=e,a=ze();function c(s){return s.split("/").pop()||s}const n=L(()=>r.attachments.filter(s=>Vt(s.path,s.contentType)).map(s=>({src:Me(s.path,s.contentType,a.app?.baseURL),name:s.name||c(s.path)})));return(s,l)=>{const f=Rs,i=Xe;return t(n).length>0?(o(),F(i,{key:0,icon:"i-lucide-video",label:"Videos",count:t(n).length,collapsible:!1},{default:A(()=>[p("div",Is,[(o(!0),u(te,null,ge(t(n),m=>(o(),F(f,{key:m.src,src:m.src,label:m.name},null,8,["src","label"]))),128))])]),_:1},8,["count"])):T("",!0)}}}),qa=Object.assign(zs,{__name:"TestEvidenceVideos"}),Ps={class:"flex items-center justify-between gap-2"},Bs={class:"flex items-center gap-2 min-w-0"},Es={class:"text-sm truncate"},Os={key:0,class:"text-xs text-gray-400 shrink-0"},Ms={key:1,class:"text-xs text-gray-400 shrink-0"},Ns={class:"flex items-center gap-1.5 shrink-0"},Us=pe({__name:"TraceListItem",props:{trace:{},showTime:{type:Boolean,default:!0}},setup(e){const r=e,a=ze(),c=L(()=>(a.app?.baseURL??"/").replace(/\/$/,"")),n=L(()=>!!a.public.demoMode&&r.trace.filePath.startsWith("demo/")),s=L(()=>r.trace.filePath.split("/").pop()||r.trace.filePath),l=L(()=>ct(r.trace.filePath,a.app?.baseURL,n.value)),f=L(()=>n.value?`${c.value}/${r.trace.filePath}`:`${c.value}/api/files/${Ot(r.trace.filePath)}`);return(i,m)=>{const v=we,R=Ie;return o(),u("div",Ps,[p("div",Bs,[_(v,{name:"i-lucide-file-archive",class:"size-4 text-gray-400 shrink-0"}),p("span",Es,$(t(s)),1),e.trace.size?(o(),u("span",Os,$(("formatBytes"in i?i.formatBytes:t(Ht))(e.trace.size)),1)):T("",!0),e.showTime?(o(),u("span",Ms,$(("formatRelativeTime"in i?i.formatRelativeTime:t(Ye))(e.trace.createdAt)),1)):T("",!0)]),p("div",Ns,[_(R,{to:t(l),target:"_blank",icon:"i-lucide-bug-play",size:"xs",label:"View trace"},null,8,["to"]),_(R,{to:t(f),target:"_blank",icon:"i-lucide-download",size:"xs",color:"neutral",variant:"soft",label:"Download"},null,8,["to"])])])}}}),js=Object.assign(Us,{__name:"TraceListItem"}),Ds={key:0,class:"flex items-center justify-center py-4"},Ks={key:1,class:"divide-y divide-default"},Vs=pe({__name:"TestEvidenceTraces",props:{traces:{},loading:{type:Boolean}},setup(e){return(r,a)=>{const c=we,n=js,s=Xe;return e.loading||e.traces.length>0?(o(),F(s,{key:0,icon:"i-lucide-bug-play",label:"Traces",count:e.traces.length||null,collapsible:!1},{default:A(()=>[e.loading&&!e.traces.length?(o(),u("div",Ds,[_(c,{name:"i-lucide-loader-circle",class:"size-4 animate-spin text-gray-400"})])):(o(),u("div",Ks,[(o(!0),u(te,null,ge(e.traces,l=>(o(),F(n,{key:l.id,trace:l,class:"px-3 py-2"},null,8,["trace"]))),128))]))]),_:1},8,["count"])):T("",!0)}}}),Za=Object.assign(Vs,{__name:"TestEvidenceTraces"}),Hs={class:"space-y-2"},Fs={key:0,class:"rounded-lg border border-default overflow-hidden"},qs=["title"],Zs={key:2,class:"truncate text-gray-400 dark:text-gray-500"},Ws={class:"font-mono"},Js={key:0,class:"overflow-x-auto text-xs font-mono leading-relaxed py-1"},Ys={class:"min-w-max"},Gs={key:1,class:"rounded-lg border border-dashed border-default"},Qs=["onClick"],Xs={key:0,class:"px-3 pb-2 space-y-1"},ea=["title"],ta={key:0,class:"truncate font-mono shrink-0"},na=pe({__name:"TraceCallStack",props:{frames:{},projectKey:{},projectName:{}},setup(e){const r=e,a=L(()=>{if(!r.frames.some(R=>R.inProject))return r.frames.map((R,g)=>({kind:"frame",frame:R,frameIndex:g}));const i=[];let m=[];const v=()=>{m.length!==0&&(i.push({kind:"group",frames:m,key:`group-${i.length}`}),m=[])};return r.frames.forEach((R,g)=>{R.inProject?(v(),i.push({kind:"frame",frame:R,frameIndex:g})):m.push(R)}),v(),i}),c=L(()=>{const f=r.frames.findIndex(i=>i.inProject);return f>=0?f:0}),n=G(new Set);function s(f){const i=new Set(n.value);i.has(f)?i.delete(f):i.add(f),n.value=i}function l(f){return f.source?f.source.lines.map((i,m)=>{const v=f.source.startLine+m;return{lineNo:v,text:i,failing:v===f.line}}):[]}return(f,i)=>{const m=we,v=ut,R=Pe;return o(),u("div",Hs,[(o(!0),u(te,null,ge(t(a),g=>(o(),u(te,{key:g.kind==="frame"?`f-${g.frameIndex}`:g.key},[g.kind==="frame"?(o(),u("div",Fs,[p("div",{class:me(["flex items-center gap-2 px-3 py-1.5 bg-elevated/40 text-xs",g.frame.source?"border-b border-default":""])},[_(m,{name:g.frameIndex===t(c)?"i-lucide-circle-x":"i-lucide-corner-left-up",class:me([g.frameIndex===t(c)?"text-red-500":"text-gray-400","size-3.5 shrink-0"])},null,8,["name","class"]),g.frame.inProject?(o(),F(v,{key:0,"file-path":g.frame.file,line:g.frame.line,column:g.frame.column,"project-key":e.projectKey,"project-name":e.projectName,class:"min-w-0"},null,8,["file-path","line","column","project-key","project-name"])):(o(),u("code",{key:1,class:"truncate text-gray-500 dark:text-gray-400",title:g.frame.absFile||g.frame.file},$(g.frame.file)+":"+$(g.frame.line),9,qs)),g.frame.functionName?(o(),u("span",Zs,[i[0]||(i[0]=P(" in ",-1)),p("span",Ws,$(g.frame.functionName),1)])):T("",!0),_(R,{color:g.frameIndex===t(c)?"error":"neutral",variant:"subtle",size:"xs",class:"ml-auto shrink-0"},{default:A(()=>[P($(g.frameIndex===t(c)?"Failed here":"Caller"),1)]),_:2},1032,["color"])],2),g.frame.source?(o(),u("div",Js,[p("div",Ys,[(o(!0),u(te,null,ge(l(g.frame),S=>(o(),u("div",{key:S.lineNo,class:me(["px-3 whitespace-pre flex",S.failing?"bg-red-50 dark:bg-red-950/30 text-red-700 dark:text-red-300 font-medium":"text-gray-600 dark:text-gray-400"])},[p("span",{class:me(["w-10 shrink-0 text-right pr-3 tabular-nums select-none",S.failing?"text-red-400 dark:text-red-500":"text-gray-300 dark:text-gray-600"])},$(S.lineNo),3),p("span",null,$(S.text),1)],2))),128))])])):T("",!0)])):(o(),u("div",Gs,[p("button",{type:"button",class:"w-full flex items-center gap-2 px-3 py-1.5 text-xs text-gray-400 dark:text-gray-500 hover:text-gray-600 dark:hover:text-gray-300",onClick:S=>s(g.key)},[_(m,{name:t(n).has(g.key)?"i-lucide-chevron-down":"i-lucide-chevron-right",class:"size-3.5 shrink-0"},null,8,["name"]),P(" "+$(g.frames.length)+" frame"+$(g.frames.length===1?"":"s")+" in dependencies ",1)],8,Qs),t(n).has(g.key)?(o(),u("div",Xs,[(o(!0),u(te,null,ge(g.frames,(S,k)=>(o(),u("div",{key:k,class:"flex items-center gap-2 text-xs text-gray-400 dark:text-gray-500 min-w-0"},[_(m,{name:"i-lucide-corner-left-up",class:"size-3 shrink-0"}),p("code",{class:"truncate",title:S.absFile||S.file},$(S.file)+":"+$(S.line),9,ea),S.functionName?(o(),u("span",ta,$(S.functionName),1)):T("",!0)]))),128))])):T("",!0)]))],64))),128))])}}}),Wa=Object.assign(na,{__name:"TraceCallStack"}),oa={class:"space-y-2"},sa={class:"flex items-center gap-2 px-3 py-1.5 bg-elevated/40 border-b border-default text-xs"},aa={class:"overflow-x-auto text-xs font-mono leading-relaxed py-1"},ra={class:"min-w-max"},ia=pe({__name:"TestSourceStack",props:{frames:{},projectKey:{},projectName:{}},setup(e){function r(a){return a.split(`
|
|
5
|
+
`).map(c=>({text:c,failing:c.startsWith(">")}))}return(a,c)=>{const n=we,s=ut,l=Pe;return o(),u("div",oa,[(o(!0),u(te,null,ge(e.frames,(f,i)=>(o(),u("div",{key:`${f.file}:${f.line}:${i}`,class:"rounded-lg border border-default overflow-hidden"},[p("div",sa,[_(n,{name:i===0?"i-lucide-circle-x":"i-lucide-corner-left-up",class:me([i===0?"text-red-500":"text-gray-400","size-3.5 shrink-0"])},null,8,["name","class"]),_(s,{"file-path":f.file,line:f.line,"project-key":e.projectKey,"project-name":e.projectName,class:"min-w-0"},null,8,["file-path","line","project-key","project-name"]),_(l,{color:i===0?"error":"neutral",variant:"subtle",size:"xs",class:"ml-auto shrink-0"},{default:A(()=>[P($(i===0?"Failed here":"Caller"),1)]),_:2},1032,["color"])]),p("div",aa,[p("div",ra,[(o(!0),u(te,null,ge(r(f.snippet),(m,v)=>(o(),u("div",{key:v,class:me(["px-3 whitespace-pre",m.failing?"bg-red-50 dark:bg-red-950/30 text-red-700 dark:text-red-300 font-medium":"text-gray-600 dark:text-gray-400"])},$(m.text),3))),128))])])]))),128))])}}}),Ja=Object.assign(ia,{__name:"TestSourceStack"}),la={class:"space-y-3 text-sm"},ca={key:0,class:"flex flex-col gap-0.5"},ua={class:"text-xs font-mono break-all"},da={key:1,class:"flex flex-col gap-0.5"},pa={class:"text-xs font-mono break-all"},fa={class:"grid grid-cols-1 gap-3 sm:grid-cols-2"},ma={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},ga={key:0,class:"text-xs text-gray-400"},ha={key:1,class:"mt-1 space-y-0.5"},ya={class:"text-gray-400"},xa={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},va={key:0,class:"text-xs text-gray-400"},ba={key:1,class:"mt-1 space-y-0.5"},ka={key:0,class:"text-gray-400"},_a={class:"text-gray-400"},$a=pe({__name:"PageStateCard",props:{pageState:{},storageKey:{},plain:{type:Boolean}},setup(e){const r=e,a=L(()=>r.plain?"div":r.storageKey?De:je),c=L(()=>r.plain?{}:{icon:"i-lucide-database",title:"App state at test end",help:"page-state",...r.storageKey?{storageKey:r.storageKey}:{}}),n=l=>[l.httpOnly?"HttpOnly":null,l.secure?"Secure":null,l.sameSite??null].filter(Boolean).join(", "),s=L(()=>{const l=r.pageState;return[`${l.localStorage.length} localStorage`,`${l.sessionStorage.length} sessionStorage`,`${l.cookies.length} cookie${l.cookies.length===1?"":"s"}`].join(" · ")});return(l,f)=>(o(),F(Se(t(a)),Lt(Rt(t(c))),Re({default:A(()=>[p("div",la,[e.pageState.url?(o(),u("div",ca,[f[0]||(f[0]=p("span",{class:"text-xs font-medium text-gray-500 dark:text-gray-400"},"URL",-1)),p("code",ua,$(e.pageState.url)+$(e.pageState.hash??""),1)])):T("",!0),e.pageState.historyState?(o(),u("div",da,[f[1]||(f[1]=p("span",{class:"text-xs font-medium text-gray-500 dark:text-gray-400"},"History state",-1)),p("code",pa,$(e.pageState.historyState),1)])):T("",!0),p("div",fa,[(o(!0),u(te,null,ge({localStorage:e.pageState.localStorage,sessionStorage:e.pageState.sessionStorage},(i,m)=>(o(),u("div",{key:m},[p("span",ma,$(m)+" ("+$(i.length)+")",1),i.length===0?(o(),u("p",ga,"empty")):(o(),u("ul",ha,[(o(!0),u(te,null,ge(i,v=>(o(),u("li",{key:v.key,class:"text-xs font-mono truncate"},[P($(v.key)+" ",1),p("span",ya,"("+$(v.length)+" ch)",1)]))),128))]))]))),128))]),p("div",null,[p("span",xa,"Cookies ("+$(e.pageState.cookies.length)+")",1),e.pageState.cookies.length===0?(o(),u("p",va,"none")):(o(),u("ul",ba,[(o(!0),u(te,null,ge(e.pageState.cookies,i=>(o(),u("li",{key:i.name+i.domain,class:"text-xs font-mono truncate"},[P($(i.name)+" ",1),n(i)?(o(),u("span",ka,"["+$(n(i))+"]",1)):T("",!0),p("span",_a,"· "+$(i.domain),1)]))),128))]))]),f[2]||(f[2]=p("p",{class:"text-[11px] text-gray-400 dark:text-gray-500"}," Storage values and cookie values are never captured — key names, lengths and flags only. ",-1))])]),_:2},[e.storageKey&&!e.plain?{name:"folded",fn:A(()=>[p("span",null,$(t(s)),1)]),key:"0"}:void 0]),1040))}}),Ya=Object.assign($a,{__name:"PageStateCard"});function Ga(e={}){const r=G(!1),a=Je();let c=null;async function n(s,l,f={}){try{typeof ClipboardItem<"u"?await navigator.clipboard.write([new ClipboardItem({"text/plain":new Blob([s],{type:"text/plain"}),"text/html":new Blob([l],{type:"text/html"})})]):await navigator.clipboard.writeText(s),r.value=!0,c&&clearTimeout(c),c=setTimeout(()=>{r.value=!1,c=null},e.duration??2e3),f.toast&&a.add({title:typeof f.toast=="string"?f.toast:"Copied to clipboard",icon:"i-lucide-check",color:"success",duration:2e3})}catch{}}return{copyRich:n,copied:r}}export{Xe as _,Fa as a,qa as b,Za as c,Wa as d,Ja as e,Ya as f,cn as g,De as h,Da as i,Ka as j,Va as k,Ha as l,ja as m,js as n,Rs as o,mt as p,Ga as u};
|