@piwitests/server 0.18.2 → 0.19.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/{BlnwU1OO.js → -09h6CA9.js} +1 -1
- package/.output/public/_nuxt/279D2RYp.js +1 -0
- package/.output/public/_nuxt/81InBX9v.js +1 -0
- package/.output/public/_nuxt/{CUvGJXY3.js → Ar3IelOY.js} +1 -1
- package/.output/public/_nuxt/B33iXw77.js +1 -0
- package/.output/public/_nuxt/B3B9Ii2A.js +1 -0
- package/.output/public/_nuxt/B3HO8kuh.js +1 -0
- package/.output/public/_nuxt/B44A4LSJ.js +1 -0
- package/.output/public/_nuxt/{C8OCrfDP.js → B7NBP1C-.js} +1 -1
- package/.output/public/_nuxt/{DZ3Vfcpz.js → B9WhzpKO.js} +1 -1
- package/.output/public/_nuxt/{DWowvnwc.js → BCMuIgP5.js} +1 -1
- package/.output/public/_nuxt/BDicZ1gQ.js +1 -0
- package/.output/public/_nuxt/BJ0XQElc.js +1 -0
- package/.output/public/_nuxt/{xqiPI_FQ.js → BMvCSA6h.js} +1 -1
- package/.output/public/_nuxt/BPQoBGg5.js +1 -0
- package/.output/public/_nuxt/BPRffDuo.js +1 -0
- package/.output/public/_nuxt/BSIxhGsh.js +1 -0
- package/.output/public/_nuxt/BVaxh6Nl.js +4 -0
- package/.output/public/_nuxt/{hgHc4teu.js → BX9ZXe98.js} +1 -1
- package/.output/public/_nuxt/{CcXaak_K.js → BYDaY0Z7.js} +1 -1
- package/.output/public/_nuxt/{S5DLdEpg.js → Bc8mOoz9.js} +2 -2
- package/.output/public/_nuxt/BccXfBfI.js +1 -0
- package/.output/public/_nuxt/{Bd3HqPMF.js → BeLWlVK0.js} +1 -1
- package/.output/public/_nuxt/{D5oNv2cB.js → BfTuX0wq.js} +1 -1
- package/.output/public/_nuxt/BjaRappk.js +1 -0
- package/.output/public/_nuxt/{By4YL7mx.js → Bn0YQDyy.js} +1 -1
- package/.output/public/_nuxt/Bp5ELvx9.js +1 -0
- package/.output/public/_nuxt/BpUaY9nH.js +2 -0
- package/.output/public/_nuxt/BqV0l12c.js +1 -0
- package/.output/public/_nuxt/{BjCHB89N.js → Bti38m-M.js} +1 -1
- package/.output/public/_nuxt/{QmMoMxLM.js → Bu2aaVIY.js} +3 -3
- package/.output/public/_nuxt/{DZUgX70W.js → BuMC3WjZ.js} +1 -1
- package/.output/public/_nuxt/{BJtlcTrb.js → BxCKKeYs.js} +1 -1
- package/.output/public/_nuxt/{CfOLBbW9.js → C-elpgyr.js} +1 -1
- package/.output/public/_nuxt/C2_3mdPC.js +1 -0
- package/.output/public/_nuxt/{BLIRKrbM.js → C5iG7O4O.js} +4 -4
- package/.output/public/_nuxt/C7P1UCO2.js +1 -0
- package/.output/public/_nuxt/{hH1UFE3Z.js → C95YAaJq.js} +1 -1
- package/.output/public/_nuxt/{BXY_PWcx.js → C9_jrmk9.js} +2 -2
- package/.output/public/_nuxt/CDk0q2hV.js +2 -0
- package/.output/public/_nuxt/{kjYMoWWx.js → CGNkHojN.js} +3 -3
- package/.output/public/_nuxt/CHEFCN8Q.js +1 -0
- package/.output/public/_nuxt/CHNwfU1y.js +1 -0
- package/.output/public/_nuxt/CK_2LZBS.js +1 -0
- package/.output/public/_nuxt/CNFYDQmj.js +1 -0
- package/.output/public/_nuxt/{DZOS7Fh7.js → CTxDO9fB.js} +1 -1
- package/.output/public/_nuxt/{kS3boz40.js → CU5S9GCh.js} +1 -1
- package/.output/public/_nuxt/{DZ1zNBVM.js → CUtJobDm.js} +1 -1
- package/.output/public/_nuxt/CV9-fTmY.js +1 -0
- package/.output/public/_nuxt/{e7zD3uJ0.js → CYsTqbBS.js} +1 -1
- package/.output/public/_nuxt/{C9YzQCiq.js → CZfMdzfk.js} +1 -1
- package/.output/public/_nuxt/{B-IcwqZ2.js → Cdff9XNh.js} +1 -1
- package/.output/public/_nuxt/{CNMoZYMv.js → ClOqkAcc.js} +1 -1
- package/.output/public/_nuxt/{DXbPFI1d.js → CpjgB2aY.js} +1 -1
- package/.output/public/_nuxt/CrwJAwhk.js +1 -0
- package/.output/public/_nuxt/CtQBsNUb.js +1 -0
- package/.output/public/_nuxt/CuSVQEkS.js +3 -0
- package/.output/public/_nuxt/{Df7kUO0m.js → CylWPruw.js} +1 -1
- package/.output/public/_nuxt/CzGyac8q.js +1 -0
- package/.output/public/_nuxt/D-c8ZSws.js +1 -0
- package/.output/public/_nuxt/{B2oUeBbA.js → D0HNloZ9.js} +1 -1
- package/.output/public/_nuxt/{DBtBvrYc.js → D55D4EYo.js} +1 -1
- package/.output/public/_nuxt/{CfPSts5n.js → DDDpCFpF.js} +1 -1
- package/.output/public/_nuxt/{CPLJeOCb.js → DEFEpYzn.js} +1 -1
- package/.output/public/_nuxt/DGfAxLHV.js +1 -0
- package/.output/public/_nuxt/DHDtnj7p.js +1 -0
- package/.output/public/_nuxt/DLSrtpsA.js +1 -0
- package/.output/public/_nuxt/DP8hfJ9h.js +1 -0
- package/.output/public/_nuxt/DS636elg.js +1 -0
- package/.output/public/_nuxt/{Cng9gj7q.js → DT53RWbC.js} +1 -1
- package/.output/public/_nuxt/DVDXJYq2.js +2 -0
- package/.output/public/_nuxt/DW0xl3I6.js +17 -0
- package/.output/public/_nuxt/{4TxgDGVa.js → DX-MDGb3.js} +1 -1
- package/.output/public/_nuxt/DcmZRa_F.js +1 -0
- package/.output/public/_nuxt/DgE2YE3R.js +1 -0
- package/.output/public/_nuxt/Dgf5N4Ng.js +1 -0
- package/.output/public/_nuxt/DiOLdHBC.js +1 -0
- package/.output/public/_nuxt/DiZyJYez.js +1 -0
- package/.output/public/_nuxt/Dk9fwOCm.js +34 -0
- package/.output/public/_nuxt/{BlA8mIS-.js → Dnpkl-1q.js} +1 -1
- package/.output/public/_nuxt/DoUy4UHi.js +44 -0
- package/.output/public/_nuxt/{CN1mJlvD.js → DprVVyUQ.js} +1 -1
- package/.output/public/_nuxt/{DD5HpaW9.js → DslPMqfa.js} +1 -1
- package/.output/public/_nuxt/{BFP6M-20.js → FUXhyidq.js} +1 -1
- package/.output/public/_nuxt/HXerICAi.js +79 -0
- package/.output/public/_nuxt/{gnCL8GjZ.js → IvQlbZk6.js} +1 -1
- package/.output/public/_nuxt/{BOCwBVnz.js → Jo8kRmHz.js} +1 -1
- package/.output/public/_nuxt/{oFM1KLWA.js → KnfsST6Y.js} +1 -1
- package/.output/public/_nuxt/NQikbhmK.js +253 -0
- package/.output/public/_nuxt/OSduWzyz.js +1 -0
- package/.output/public/_nuxt/SfMRXW25.js +5 -0
- package/.output/public/_nuxt/{BBK2-Krn.js → SlIRLREZ.js} +2 -2
- package/.output/public/_nuxt/TagBadge.By1E6r4y.css +1 -0
- package/.output/public/_nuxt/WsxFTEFq.js +10 -0
- package/.output/public/_nuxt/YVN7WG7q.js +1 -0
- package/.output/public/_nuxt/{rTvJTef_.js → ZFiQCMUB.js} +1 -1
- package/.output/public/_nuxt/aQgs_c6e.js +9 -0
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/ab473028-4b37-4884-b243-b8f6e5046e5e.json +1 -0
- package/.output/public/_nuxt/{B1X__ilH.js → cHAnlQbv.js} +1 -1
- package/.output/public/_nuxt/dYCKgE-3.js +5 -0
- package/.output/public/_nuxt/{BeFDVhpA.js → eaVkJRSa.js} +1 -1
- package/.output/public/_nuxt/entry.CPhW41mh.css +1 -0
- package/.output/public/_nuxt/{Dwws9U0D.js → eptP4pGv.js} +1 -1
- package/.output/public/_nuxt/fVcG504p.js +1 -0
- package/.output/public/_nuxt/g26aVPxc.js +1 -0
- package/.output/public/_nuxt/{CsUoYK75.js → ndShiWE8.js} +1 -1
- package/.output/public/_nuxt/nv9-6vBK.js +1 -0
- package/.output/public/_nuxt/rWNTSFD6.js +3 -0
- package/.output/public/_nuxt/tvgqrYDd.js +1 -0
- package/.output/public/_nuxt/{wHnZ9OaL.js → y17lMTFy.js} +1 -1
- package/.output/public/_nuxt/{qpI-_f9Q.js → ybDYeNxd.js} +1 -1
- package/.output/public/_nuxt/{D0cnIs93.js → zQyPuvV1.js} +1 -1
- package/.output/public/demo/seed.version.json +2 -2
- package/.output/server/chunks/_/ai-prompt-preview.mjs +38 -0
- package/.output/server/chunks/_/ai-prompt-preview.mjs.map +1 -0
- package/.output/server/chunks/_/collect.mjs +122 -0
- package/.output/server/chunks/_/collect.mjs.map +1 -0
- package/.output/server/chunks/_/import-runs.mjs +351 -0
- package/.output/server/chunks/_/import-runs.mjs.map +1 -0
- package/.output/server/chunks/_/markers.mjs +1 -1
- package/.output/server/chunks/_/quarantine.mjs +112 -0
- package/.output/server/chunks/_/quarantine.mjs.map +1 -0
- package/.output/server/chunks/_/users.mjs +1 -1
- package/.output/server/chunks/build/{Alert-Bp1Wz_sq.mjs → Alert-C4xq8lao.mjs} +2 -2
- package/.output/server/chunks/build/Alert-C4xq8lao.mjs.map +1 -0
- package/.output/server/chunks/build/{Breadcrumb-C9ZPTLym.mjs → Breadcrumb-Ak2Lg3oM.mjs} +3 -3
- package/.output/server/chunks/build/Breadcrumb-Ak2Lg3oM.mjs.map +1 -0
- package/.output/server/chunks/build/{BreadcrumbNav-C3y42Vun.mjs → BreadcrumbNav-DO7I_z-n.mjs} +3 -3
- package/.output/server/chunks/build/BreadcrumbNav-DO7I_z-n.mjs.map +1 -0
- package/.output/server/chunks/build/{BrowserBadge-DNCp9pF-.mjs → BrowserBadge-D33lqUcj.mjs} +5 -5
- package/.output/server/chunks/build/BrowserBadge-D33lqUcj.mjs.map +1 -0
- package/.output/server/chunks/build/{ChartCard-Fr557IbV.mjs → ChartCard-Y1UKwMsf.mjs} +2 -2
- package/.output/server/chunks/build/ChartCard-Y1UKwMsf.mjs.map +1 -0
- package/.output/server/chunks/build/{Checkbox-cVOSIY93.mjs → Checkbox-DvUBGagc.mjs} +8 -8
- package/.output/server/chunks/build/Checkbox-DvUBGagc.mjs.map +1 -0
- package/.output/server/chunks/build/{CiEnvCard-DXPOhdSG.mjs → CiEnvCard-CrjOM17n.mjs} +25 -34
- package/.output/server/chunks/build/CiEnvCard-CrjOM17n.mjs.map +1 -0
- package/.output/server/chunks/build/{CodeBlock-BGwNmJ8J.mjs → CodeBlock-BgE-NSmE.mjs} +7 -22
- package/.output/server/chunks/build/CodeBlock-BgE-NSmE.mjs.map +1 -0
- package/.output/server/chunks/build/{DashboardNavbar-Bdp-OwTN.mjs → DashboardNavbar-BHmMSPX7.mjs} +3 -3
- package/.output/server/chunks/build/DashboardNavbar-BHmMSPX7.mjs.map +1 -0
- package/.output/server/chunks/build/{DashboardSidebarToggle-Ji6ADuqF.mjs → DashboardSidebarToggle-DCTnHiIv.mjs} +3 -3
- package/.output/server/chunks/build/DashboardSidebarToggle-DCTnHiIv.mjs.map +1 -0
- package/.output/server/chunks/build/{DataLocationCard-D6xSOrme.mjs → DataLocationCard-B_YHdzSz.mjs} +3 -3
- package/.output/server/chunks/build/DataLocationCard-B_YHdzSz.mjs.map +1 -0
- package/.output/server/chunks/build/{DiagnosisPanel-DV1xwGu4.mjs → DiagnosisPanel-B646dK4p.mjs} +17 -528
- package/.output/server/chunks/build/DiagnosisPanel-B646dK4p.mjs.map +1 -0
- package/.output/server/chunks/build/DurationValue-D20oGbnc.mjs +43 -0
- package/.output/server/chunks/build/DurationValue-D20oGbnc.mjs.map +1 -0
- package/.output/server/chunks/build/{EmptyState-DV3oT_xz.mjs → EmptyState-Dtlab7S9.mjs} +3 -3
- package/.output/server/chunks/build/EmptyState-Dtlab7S9.mjs.map +1 -0
- package/.output/server/chunks/build/{EntityLinks-DeOP13Kr.mjs → EntityLinks-D3fp57pR.mjs} +6 -6
- package/.output/server/chunks/build/EntityLinks-D3fp57pR.mjs.map +1 -0
- package/.output/server/chunks/build/{EnvManagedBadge-Qpn58Nmr.mjs → EnvManagedBadge-Bg3FSiU1.mjs} +3 -3
- package/.output/server/chunks/build/EnvManagedBadge-Bg3FSiU1.mjs.map +1 -0
- package/.output/server/chunks/build/{FormField-B-GSn_VR.mjs → FormField-B0HKsdMd.mjs} +3 -3
- package/.output/server/chunks/build/FormField-B0HKsdMd.mjs.map +1 -0
- package/.output/server/chunks/build/{HelpHint-YEMWtKu1.mjs → HelpHint-DrcIv-Oj.mjs} +53 -6
- package/.output/server/chunks/build/HelpHint-DrcIv-Oj.mjs.map +1 -0
- package/.output/server/chunks/build/{Label-DBvbHd3A.mjs → Label-DYDR1Oeh.mjs} +2 -2
- package/.output/server/chunks/build/Label-DYDR1Oeh.mjs.map +1 -0
- package/.output/server/chunks/build/{MiniRunBars-C3HG-EYm.mjs → MiniRunBars-CZMugDrh.mjs} +2 -2
- package/.output/server/chunks/build/MiniRunBars-CZMugDrh.mjs.map +1 -0
- package/.output/server/chunks/build/{Modal-CfA78Hm1.mjs → Modal-Ck2XLt8d.mjs} +2 -2
- package/.output/server/chunks/build/Modal-Ck2XLt8d.mjs.map +1 -0
- package/.output/server/chunks/build/{OpenInIdeLink-B92wosXu.mjs → OpenInIdeLink-C4MXA8ya.mjs} +6 -6
- package/.output/server/chunks/build/{OpenInIdeLink-B92wosXu.mjs.map → OpenInIdeLink-C4MXA8ya.mjs.map} +1 -1
- package/.output/server/chunks/build/{ProjectTestCasesTable-9Ia825h8.mjs → ProjectTestCasesTable-CxfQ5wtN.mjs} +120 -45
- package/.output/server/chunks/build/ProjectTestCasesTable-CxfQ5wtN.mjs.map +1 -0
- package/.output/server/chunks/build/{RovingFocusItem-CxhHdNGo.mjs → RovingFocusItem-BJSzTBjy.mjs} +2 -2
- package/.output/server/chunks/build/RovingFocusItem-BJSzTBjy.mjs.map +1 -0
- package/.output/server/chunks/build/{RunReports-BpJqLHY9.mjs → RunReports-DFLv51TX.mjs} +8 -6
- package/.output/server/chunks/build/RunReports-DFLv51TX.mjs.map +1 -0
- package/.output/server/chunks/build/{RunStatusBadge-BhmJ_RKM.mjs → RunStatusBadge-FfGb6bkW.mjs} +3 -2
- package/.output/server/chunks/build/RunStatusBadge-FfGb6bkW.mjs.map +1 -0
- package/.output/server/chunks/build/{SectionCard-COd9TuDq.mjs → SectionCard-CN-v0FZ_.mjs} +2 -2
- package/.output/server/chunks/build/SectionCard-CN-v0FZ_.mjs.map +1 -0
- package/.output/server/chunks/build/{Select-ppPz926C.mjs → Select-CUqj50wi.mjs} +4 -4
- package/.output/server/chunks/build/Select-CUqj50wi.mjs.map +1 -0
- package/.output/server/chunks/build/{SelectMenu-799c_Ils.mjs → SelectMenu-Db7osY7J.mjs} +4 -4
- package/.output/server/chunks/build/{SelectMenu-799c_Ils.mjs.map → SelectMenu-Db7osY7J.mjs.map} +1 -1
- package/.output/server/chunks/build/{Separator-CxZdx8kw.mjs → Separator-CR4WcEKD.mjs} +2 -2
- package/.output/server/chunks/build/Separator-CR4WcEKD.mjs.map +1 -0
- package/.output/server/chunks/build/{SettingsField-DDD4oqys.mjs → SettingsField-D6iEYbEc.mjs} +6 -6
- package/.output/server/chunks/build/SettingsField-D6iEYbEc.mjs.map +1 -0
- package/.output/server/chunks/build/{Slideover-B95Rj237.mjs → Slideover-DgCa80mf.mjs} +3 -3
- package/.output/server/chunks/build/Slideover-DgCa80mf.mjs.map +1 -0
- package/.output/server/chunks/build/{Switch-xQQ3_ME1.mjs → Switch-CgUioOYB.mjs} +5 -5
- package/.output/server/chunks/build/Switch-CgUioOYB.mjs.map +1 -0
- package/.output/server/chunks/build/{Table-CPhhVzDv.mjs → Table-BRk04Hd2.mjs} +3 -3
- package/.output/server/chunks/build/Table-BRk04Hd2.mjs.map +1 -0
- package/.output/server/chunks/build/{Tabs-BV9XqjoO.mjs → Tabs-Bbsg9wag.mjs} +3 -3
- package/.output/server/chunks/build/Tabs-Bbsg9wag.mjs.map +1 -0
- package/.output/server/chunks/build/TagBadge-DwzoFCBb.mjs +31 -0
- package/.output/server/chunks/build/TagBadge-DwzoFCBb.mjs.map +1 -0
- package/.output/server/chunks/build/TagBadge-styles.jhuZ4NjP.mjs +8 -0
- package/.output/server/chunks/build/TagBadge-styles.jhuZ4NjP.mjs.map +1 -0
- package/.output/server/chunks/build/{TestCaseHistoryChart-DMb-xSJa.mjs → TestCaseHistoryChart-nMLPhdvD.mjs} +6 -6
- package/.output/server/chunks/build/TestCaseHistoryChart-nMLPhdvD.mjs.map +1 -0
- package/.output/server/chunks/build/TestMetaBadges-D5_yUtIP.mjs +200 -0
- package/.output/server/chunks/build/TestMetaBadges-D5_yUtIP.mjs.map +1 -0
- package/.output/server/chunks/build/{TestStatusBar-CEzt76wk.mjs → TestStatusBar-j6h2Jp6A.mjs} +15 -15
- package/.output/server/chunks/build/TestStatusBar-j6h2Jp6A.mjs.map +1 -0
- package/.output/server/chunks/build/{Textarea-DrrqQUVG.mjs → Textarea-Dv2-lOvW.mjs} +2 -2
- package/.output/server/chunks/build/Textarea-Dv2-lOvW.mjs.map +1 -0
- package/.output/server/chunks/build/{Tooltip-7vwuDPrZ.mjs → Tooltip-BOazooWP.mjs} +3 -3
- package/.output/server/chunks/build/Tooltip-BOazooWP.mjs.map +1 -0
- package/.output/server/chunks/build/{VisuallyHiddenInput-C9eJVpPW.mjs → VisuallyHiddenInput-D6kBJxVd.mjs} +2 -2
- package/.output/server/chunks/build/VisuallyHiddenInput-D6kBJxVd.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-B2yirIuA.mjs → _id_-B78ky13D.mjs} +798 -358
- package/.output/server/chunks/build/_id_-B78ky13D.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-bWcP2xFl.mjs → _id_-BHh65pfg.mjs} +690 -443
- package/.output/server/chunks/build/_id_-BHh65pfg.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-B4V5fop6.mjs → _id_-Rzkqx55x.mjs} +297 -60
- package/.output/server/chunks/build/{_id_-B4V5fop6.mjs.map → _id_-Rzkqx55x.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-CE0Gso6i.mjs → _id_-z5N6HPyC.mjs} +89 -40
- package/.output/server/chunks/build/_id_-z5N6HPyC.mjs.map +1 -0
- package/.output/server/chunks/build/{about-CoJjvUwM.mjs → about-CvSP73Ug.mjs} +100 -52
- package/.output/server/chunks/build/about-CvSP73Ug.mjs.map +1 -0
- package/.output/server/chunks/build/{account-Cn-eZqXM.mjs → account-DAfvaD-F.mjs} +21 -9
- package/.output/server/chunks/build/account-DAfvaD-F.mjs.map +1 -0
- package/.output/server/chunks/build/{ai-7jdaPOmj.mjs → ai-B4VJ9K1K.mjs} +45 -23
- package/.output/server/chunks/build/{ai-7jdaPOmj.mjs.map → ai-B4VJ9K1K.mjs.map} +1 -1
- package/.output/server/chunks/build/{analytics-B276WPeU.mjs → analytics-CJPC6t4L.mjs} +65 -39
- package/.output/server/chunks/build/{analytics-B276WPeU.mjs.map → analytics-CJPC6t4L.mjs.map} +1 -1
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/compare-RxHSOdsO.mjs +12 -0
- package/.output/server/chunks/build/{db.client-aHcD0wyX.mjs → db.client-CQoVTYB9.mjs} +83 -5
- package/.output/server/chunks/build/db.client-CQoVTYB9.mjs.map +1 -0
- package/.output/server/chunks/build/{default-BSzdkM_L.mjs → default-zvbFgDJG.mjs} +36 -24
- package/.output/server/chunks/build/default-zvbFgDJG.mjs.map +1 -0
- package/.output/server/chunks/build/{docs-BN_x1OW3.mjs → docs-DyuVEgtB.mjs} +30 -49
- package/.output/server/chunks/build/{docs-BN_x1OW3.mjs.map → docs-DyuVEgtB.mjs.map} +1 -1
- package/.output/server/chunks/build/{edit-C9Z7oZeu.mjs → edit-CFR5g2Qf.mjs} +30 -18
- package/.output/server/chunks/build/edit-CFR5g2Qf.mjs.map +1 -0
- package/.output/server/chunks/build/{fetch-8kznMtBM.mjs → fetch-B4FwBOzu.mjs} +3 -3
- package/.output/server/chunks/build/fetch-B4FwBOzu.mjs.map +1 -0
- package/.output/server/chunks/build/{forgot-password-BqPF4Rxs.mjs → forgot-password-CC__1OnV.mjs} +17 -5
- package/.output/server/chunks/build/forgot-password-CC__1OnV.mjs.map +1 -0
- package/.output/server/chunks/build/{help-content-DmFnuhNu.mjs → help-content-C876a9WD.mjs} +37 -8
- package/.output/server/chunks/build/help-content-C876a9WD.mjs.map +1 -0
- package/.output/server/chunks/build/import-CZo3djDi.mjs +1021 -0
- package/.output/server/chunks/build/import-CZo3djDi.mjs.map +1 -0
- package/.output/server/chunks/build/{index-CULN3-en.mjs → index-CU2nZhAa.mjs} +113 -42
- package/.output/server/chunks/build/index-CU2nZhAa.mjs.map +1 -0
- package/.output/server/chunks/build/{index-DVUtBexc.mjs → index-D7fe97l3.mjs} +1305 -281
- package/.output/server/chunks/build/index-D7fe97l3.mjs.map +1 -0
- package/.output/server/chunks/build/{index-BR9hw6qk.mjs → index-Stqw0dEI.mjs} +50 -30
- package/.output/server/chunks/build/index-Stqw0dEI.mjs.map +1 -0
- package/.output/server/chunks/build/{index-BK9PTRpd.mjs → index-gCw_y4ZJ.mjs} +87 -70
- package/.output/server/chunks/build/{index-BK9PTRpd.mjs.map → index-gCw_y4ZJ.mjs.map} +1 -1
- package/.output/server/chunks/build/{index-Ba-Fifra.mjs → index-tR6owKzj.mjs} +18 -6
- package/.output/server/chunks/build/index-tR6owKzj.mjs.map +1 -0
- package/.output/server/chunks/build/{isValueEqualOrExist-DBZjbD_3.mjs → isValueEqualOrExist-D2qw9YEr.mjs} +3 -3
- package/.output/server/chunks/build/isValueEqualOrExist-D2qw9YEr.mjs.map +1 -0
- package/.output/server/chunks/build/{login-D2XZDuek.mjs → login-Da4u1IlW.mjs} +19 -7
- package/.output/server/chunks/build/login-Da4u1IlW.mjs.map +1 -0
- package/.output/server/chunks/build/{mcp-_o6cMS6m.mjs → mcp-B3IUvRgD.mjs} +27 -21
- package/.output/server/chunks/build/mcp-B3IUvRgD.mjs.map +1 -0
- package/.output/server/chunks/build/{notifications-Dzm9c0u_.mjs → notifications-abDv0id8.mjs} +27 -21
- package/.output/server/chunks/build/notifications-abDv0id8.mjs.map +1 -0
- package/.output/server/chunks/build/pr-feedback-DjZID6q-.mjs +368 -0
- package/.output/server/chunks/build/pr-feedback-DjZID6q-.mjs.map +1 -0
- package/.output/server/chunks/build/{reset-password-gpFzIEDj.mjs → reset-password-BmrUS4ZD.mjs} +17 -5
- package/.output/server/chunks/build/reset-password-BmrUS4ZD.mjs.map +1 -0
- package/.output/server/chunks/build/server.mjs +238 -36
- package/.output/server/chunks/build/{settings-pNyPBXVa.mjs → settings-Du7YqF8i.mjs} +23 -10
- package/.output/server/chunks/build/settings-Du7YqF8i.mjs.map +1 -0
- package/.output/server/chunks/build/{settings-metadata-B0wo5R-W.mjs → settings-metadata-DrEqWcW-.mjs} +11 -2
- package/.output/server/chunks/build/settings-metadata-DrEqWcW-.mjs.map +1 -0
- package/.output/server/chunks/build/{storage-XelzuyPy.mjs → storage-B4vzxd8G.mjs} +41 -31
- package/.output/server/chunks/build/storage-B4vzxd8G.mjs.map +1 -0
- package/.output/server/chunks/build/styles.mjs +1 -0
- package/.output/server/chunks/build/{tags-DrCQ7QSw.mjs → tags-DauTe_F-.mjs} +22 -10
- package/.output/server/chunks/build/tags-DauTe_F-.mjs.map +1 -0
- package/.output/server/chunks/build/{test-cases-pmOxi-AN.mjs → test-cases-DUvaO1He.mjs} +38 -24
- package/.output/server/chunks/build/test-cases-DUvaO1He.mjs.map +1 -0
- package/.output/server/chunks/build/{timeout-hygiene-CNs71Iah.mjs → timeout-hygiene-CbnSaVbK.mjs} +20 -8
- package/.output/server/chunks/build/timeout-hygiene-CbnSaVbK.mjs.map +1 -0
- package/.output/server/chunks/build/{useAiStatus-ZO987RY7.mjs → useAiStatus-CWvIo32Q.mjs} +89 -89
- package/.output/server/chunks/build/useAiStatus-CWvIo32Q.mjs.map +1 -0
- package/.output/server/chunks/build/{useCopy-BQQKcwlq.mjs → useCopy-CeKWgHyT.mjs} +2 -2
- package/.output/server/chunks/build/useCopy-CeKWgHyT.mjs.map +1 -0
- package/.output/server/chunks/build/{PageStateCard-Bwee6JTk.mjs → useCopyRich-BemRsKgv.mjs} +418 -39
- package/.output/server/chunks/build/useCopyRich-BemRsKgv.mjs.map +1 -0
- package/.output/server/chunks/build/useDesktopDownload-D49JRQSw.mjs +46 -0
- package/.output/server/chunks/build/useDesktopDownload-D49JRQSw.mjs.map +1 -0
- package/.output/server/chunks/build/{useFormControl-BLpq1s4O.mjs → useFormControl-CZ9So7iX.mjs} +2 -2
- package/.output/server/chunks/build/useFormControl-CZ9So7iX.mjs.map +1 -0
- package/.output/server/chunks/build/{useOpenInIde-kMZ7Jw5c.mjs → useOpenInIde-4GFf-kdi.mjs} +2 -2
- package/.output/server/chunks/build/useOpenInIde-4GFf-kdi.mjs.map +1 -0
- package/.output/server/chunks/build/{useSettingsNav-NjI2seBy.mjs → useSettingsNav-C3O866KC.mjs} +6 -6
- package/.output/server/chunks/build/useSettingsNav-C3O866KC.mjs.map +1 -0
- package/.output/server/chunks/build/{useTreeViewCookie-DVYpxW-p.mjs → useTreeViewCookie-CQjQdTkH.mjs} +2 -2
- package/.output/server/chunks/build/useTreeViewCookie-CQjQdTkH.mjs.map +1 -0
- package/.output/server/chunks/build/{users-NmAUZs3i.mjs → users-CTUqXyGh.mjs} +22 -10
- package/.output/server/chunks/build/users-CTUqXyGh.mjs.map +1 -0
- package/.output/server/chunks/build/{virtualizer-ZaqK4guJ.mjs → virtualizer-Cd1hhlxC.mjs} +5 -5
- package/.output/server/chunks/build/virtualizer-Cd1hhlxC.mjs.map +1 -0
- package/.output/server/chunks/build/{wasted-time-CguAF9zc.mjs → wasted-time-lYkx5YO4.mjs} +26 -14
- package/.output/server/chunks/build/wasted-time-lYkx5YO4.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +4960 -1155
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/routes/__piwi/session.get.mjs +13 -1
- package/.output/server/chunks/routes/__piwi/session.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs +12 -0
- package/.output/server/chunks/routes/api/admin/cleanup.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/admin/stats.get.mjs +12 -0
- package/.output/server/chunks/routes/api/admin/stats.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/ai/status.get.mjs +12 -0
- package/.output/server/chunks/routes/api/ai/status.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs +12 -0
- package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/change-password.post.mjs +12 -0
- package/.output/server/chunks/routes/api/auth/change-password.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs +12 -0
- package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/login.post.mjs +12 -0
- package/.output/server/chunks/routes/api/auth/login.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/logout.post.mjs +12 -0
- package/.output/server/chunks/routes/api/auth/logout.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/me.get.mjs +12 -0
- package/.output/server/chunks/routes/api/auth/me.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs +12 -0
- package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs +12 -0
- package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs +12 -0
- package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/reset-password.post.mjs +12 -0
- package/.output/server/chunks/routes/api/auth/reset-password.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs +12 -0
- package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/setup.get.mjs +12 -0
- package/.output/server/chunks/routes/api/auth/setup.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/setup.post.mjs +12 -0
- package/.output/server/chunks/routes/api/auth/setup.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/verify-email.get.mjs +12 -0
- package/.output/server/chunks/routes/api/auth/verify-email.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/channels/_id/test.post.mjs +12 -0
- package/.output/server/chunks/routes/api/channels/_id/test.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/channels/_id_.delete.mjs +12 -0
- package/.output/server/chunks/routes/api/channels/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs +12 -0
- package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs +12 -0
- package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs +12 -0
- package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs +12 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs +12 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs +12 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs +12 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs +24 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs +13 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs +13 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs +13 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs +13 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs +64 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/export.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs +13 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs +56 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/fix-plan.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs +13 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs +12 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs +13 -1
- package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/files/_...path_.get.mjs +13 -32
- package/.output/server/chunks/routes/api/files/_...path_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/health.get.mjs +13 -1
- package/.output/server/chunks/routes/api/health.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get.mjs +12 -0
- package/.output/server/chunks/routes/api/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get2.mjs +13 -1
- package/.output/server/chunks/routes/api/index.get2.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get3.mjs +13 -1
- package/.output/server/chunks/routes/api/index.get3.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get4.mjs +13 -1
- package/.output/server/chunks/routes/api/index.get4.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.get5.mjs +12 -0
- package/.output/server/chunks/routes/api/index.get5.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post.mjs +12 -0
- package/.output/server/chunks/routes/api/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post2.mjs +13 -1
- package/.output/server/chunks/routes/api/index.post2.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post3.mjs +13 -1
- package/.output/server/chunks/routes/api/index.post3.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post4.mjs +13 -1
- package/.output/server/chunks/routes/api/index.post4.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post5.mjs +13 -1
- package/.output/server/chunks/routes/api/index.post5.mjs.map +1 -1
- package/.output/server/chunks/routes/api/index.post6.mjs +12 -0
- package/.output/server/chunks/routes/api/index.post6.mjs.map +1 -1
- package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs +13 -1
- package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/links/_id_.delete.mjs +13 -1
- package/.output/server/chunks/routes/api/links/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/links/_id_.patch.mjs +13 -1
- package/.output/server/chunks/routes/api/links/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/markers/_id_.delete.mjs +13 -1
- package/.output/server/chunks/routes/api/markers/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/markers/_id_.put.mjs +13 -1
- package/.output/server/chunks/routes/api/markers/_id_.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/notifications/stream.get.mjs +13 -1
- package/.output/server/chunks/routes/api/notifications/stream.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs +22 -2
- package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/members.get.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/_id/members.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/members.put.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/_id/members.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs +58 -0
- package/.output/server/chunks/routes/api/projects/_id/quarantine/_testCaseId_.delete.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs +57 -0
- package/.output/server/chunks/routes/api/projects/_id/quarantine.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs +72 -0
- package/.output/server/chunks/routes/api/projects/_id/quarantine.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id_.delete.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id_.get.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/_id_.put.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/_id_.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/menu.get.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/menu.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects/overview.get.mjs +13 -1
- package/.output/server/chunks/routes/api/projects/overview.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/projects.get.mjs +13 -1
- package/.output/server/chunks/routes/api/projects.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/search.get.mjs +13 -1
- package/.output/server/chunks/routes/api/search.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs +13 -1
- package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs +13 -1
- package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai/models.post.mjs +12 -0
- package/.output/server/chunks/routes/api/settings/ai/models.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai/test.post.mjs +13 -1
- package/.output/server/chunks/routes/api/settings/ai/test.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs +13 -1
- package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai.get.mjs +13 -1
- package/.output/server/chunks/routes/api/settings/ai.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/ai.put.mjs +13 -1
- package/.output/server/chunks/routes/api/settings/ai.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs +57 -0
- package/.output/server/chunks/routes/api/settings/pr-feedback.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs +63 -0
- package/.output/server/chunks/routes/api/settings/pr-feedback.put.mjs.map +1 -0
- package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs +12 -0
- package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/smtp.get.mjs +13 -1
- package/.output/server/chunks/routes/api/settings/smtp.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs +13 -1
- package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs +13 -1
- package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs +13 -1
- package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs +13 -1
- package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/stream.get.mjs +13 -1
- package/.output/server/chunks/routes/api/stream.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs +13 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs +13 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tags/_id_.delete.mjs +13 -1
- package/.output/server/chunks/routes/api/tags/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tags/_id_.put.mjs +13 -1
- package/.output/server/chunks/routes/api/tags/_id_.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs +13 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs +25 -3
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs +60 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/export.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs +15 -1
- package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs +196 -0
- package/.output/server/chunks/routes/api/test-runs/_id/gate.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs +78 -0
- package/.output/server/chunks/routes/api/test-runs/import/check.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-runs/import.post.mjs +201 -0
- package/.output/server/chunks/routes/api/test-runs/import.post.mjs.map +1 -0
- package/.output/server/chunks/routes/api/test-runs/recent.get.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/recent.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/setup.post.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/setup.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/start.post.mjs +13 -1
- package/.output/server/chunks/routes/api/test-runs/start.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/submit.post.mjs +32 -15
- 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 +21 -6
- package/.output/server/chunks/routes/api/test-runs/upload.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs +154 -3
- package/.output/server/chunks/routes/api/tests/cleanup.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/traces/check.post.mjs +13 -1
- package/.output/server/chunks/routes/api/traces/check.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs +12 -0
- package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id/index.get.mjs +12 -0
- package/.output/server/chunks/routes/api/users/_id/index.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id/index.post.mjs +13 -1
- package/.output/server/chunks/routes/api/users/_id/index.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id/invite.post.mjs +13 -1
- package/.output/server/chunks/routes/api/users/_id/invite.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id/projects.get.mjs +13 -1
- package/.output/server/chunks/routes/api/users/_id/projects.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id/projects.put.mjs +13 -1
- package/.output/server/chunks/routes/api/users/_id/projects.put.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id_.delete.mjs +12 -0
- package/.output/server/chunks/routes/api/users/_id_.delete.mjs.map +1 -1
- package/.output/server/chunks/routes/api/users/_id_.patch.mjs +12 -0
- package/.output/server/chunks/routes/api/users/_id_.patch.mjs.map +1 -1
- package/.output/server/chunks/routes/api/version.get.mjs +13 -1
- package/.output/server/chunks/routes/api/version.get.mjs.map +1 -1
- package/.output/server/chunks/routes/mcp.post.mjs +13 -1
- package/.output/server/chunks/routes/mcp.post.mjs.map +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/chunks/tasks/sweep.mjs +12 -0
- package/.output/server/chunks/tasks/sweep.mjs.map +1 -1
- package/.output/server/chunks/tasks/sweep2.mjs +12 -0
- package/.output/server/chunks/tasks/sweep2.mjs.map +1 -1
- package/.output/server/database/migrations/0039_remarkable_jean_grey.sql +2 -0
- package/.output/server/database/migrations/0040_organic_phalanx.sql +8 -0
- package/.output/server/database/migrations/0041_tense_gravity.sql +5 -0
- package/.output/server/database/migrations/0042_burly_hemingway.sql +19 -0
- package/.output/server/database/migrations/meta/0039_snapshot.json +3403 -0
- package/.output/server/database/migrations/meta/0040_snapshot.json +3457 -0
- package/.output/server/database/migrations/meta/0041_snapshot.json +3492 -0
- package/.output/server/database/migrations/meta/0042_snapshot.json +3618 -0
- package/.output/server/database/migrations/meta/_journal.json +28 -0
- package/.output/server/database/migrations-pg/0040_lazy_layla_miller.sql +2 -0
- package/.output/server/database/migrations-pg/0041_light_screwball.sql +8 -0
- package/.output/server/database/migrations-pg/0042_serious_layla_miller.sql +5 -0
- package/.output/server/database/migrations-pg/0043_wonderful_mordo.sql +19 -0
- package/.output/server/database/migrations-pg/meta/0040_snapshot.json +4060 -0
- package/.output/server/database/migrations-pg/meta/0041_snapshot.json +4123 -0
- package/.output/server/database/migrations-pg/meta/0042_snapshot.json +4153 -0
- package/.output/server/database/migrations-pg/meta/0043_snapshot.json +4308 -0
- package/.output/server/database/migrations-pg/meta/_journal.json +28 -0
- package/.output/server/index.mjs +13 -1
- package/.output/server/index.mjs.map +1 -1
- package/.output/server/node_modules/fflate/esm/index.mjs +2710 -0
- package/.output/server/node_modules/fflate/package.json +128 -0
- package/.output/server/node_modules/highlight.js/es/languages/yaml.js +213 -0
- package/.output/server/node_modules/marked/lib/marked.esm.js +72 -0
- package/.output/server/node_modules/marked/package.json +103 -0
- package/.output/server/package.json +3 -1
- package/package.json +2 -2
- package/.output/public/_nuxt/9-wVZMur.js +0 -4
- package/.output/public/_nuxt/B-5GukRk.js +0 -1
- package/.output/public/_nuxt/B1G3GGhQ.js +0 -1
- package/.output/public/_nuxt/B1zMFx24.js +0 -1
- package/.output/public/_nuxt/B4jvLMfS.js +0 -1
- package/.output/public/_nuxt/BBnX5xw4.js +0 -2
- package/.output/public/_nuxt/BHpUiv6j.js +0 -3
- package/.output/public/_nuxt/BLOUs6AE.js +0 -5
- package/.output/public/_nuxt/BT6p4Pgt.js +0 -2
- package/.output/public/_nuxt/BUXSUkJ_.js +0 -1
- package/.output/public/_nuxt/BVf6Yx9V.js +0 -26
- package/.output/public/_nuxt/BbS6Bwby.js +0 -1
- package/.output/public/_nuxt/BeKvLsja.js +0 -2
- package/.output/public/_nuxt/BeUm5UNV.js +0 -1
- package/.output/public/_nuxt/BfV444H3.js +0 -3
- package/.output/public/_nuxt/BjKamgHq.js +0 -1
- package/.output/public/_nuxt/BoJdjCVl.js +0 -4
- package/.output/public/_nuxt/BreO2PiA.js +0 -1
- package/.output/public/_nuxt/BvIDC_R-.js +0 -1
- package/.output/public/_nuxt/ByuJWADR.js +0 -34
- package/.output/public/_nuxt/C1dyLp_j.js +0 -1
- package/.output/public/_nuxt/CAUgpKsF.js +0 -2
- package/.output/public/_nuxt/CL9-VLTJ.js +0 -1
- package/.output/public/_nuxt/CazDIG_m.js +0 -1
- package/.output/public/_nuxt/CdMuck_X.js +0 -1
- package/.output/public/_nuxt/CfROFPse.js +0 -1
- package/.output/public/_nuxt/Cnapl7lZ.js +0 -1
- package/.output/public/_nuxt/CscWZxCi.js +0 -1
- package/.output/public/_nuxt/CuicKV-B.js +0 -34
- package/.output/public/_nuxt/Cyiu1VQD.js +0 -1
- package/.output/public/_nuxt/D6PUPmRC.js +0 -1
- package/.output/public/_nuxt/DCl2yo4g.js +0 -8
- package/.output/public/_nuxt/DHXWp5yD.js +0 -1
- package/.output/public/_nuxt/DHltYerF.js +0 -114
- package/.output/public/_nuxt/DLXydYJb.js +0 -47
- package/.output/public/_nuxt/DRPSi76A.js +0 -1
- package/.output/public/_nuxt/DS53kyHJ.js +0 -1
- package/.output/public/_nuxt/DWhBqv_7.js +0 -1
- package/.output/public/_nuxt/Dd0kK5WH.js +0 -1
- package/.output/public/_nuxt/Dga3Av-m.js +0 -1
- package/.output/public/_nuxt/DgwTpwfB.js +0 -1
- package/.output/public/_nuxt/DkI145a5.js +0 -1
- package/.output/public/_nuxt/DoFBTaDR.js +0 -1
- package/.output/public/_nuxt/Dr_dI5hB.js +0 -1
- package/.output/public/_nuxt/EPZOxdgq.js +0 -1
- package/.output/public/_nuxt/R1nNqTru.js +0 -1
- package/.output/public/_nuxt/builds/meta/7caf3cb3-d272-4dbd-bb3f-1eeb64fab5d1.json +0 -1
- package/.output/public/_nuxt/entry.ChQMshd4.css +0 -1
- package/.output/public/_nuxt/gCELhaU9.js +0 -1
- package/.output/public/_nuxt/ipDzNHcs.js +0 -5
- package/.output/public/_nuxt/qH_j2A3a.js +0 -1
- package/.output/public/_nuxt/r3SBLxtE.js +0 -1
- package/.output/public/_nuxt/rsiRgrVM.js +0 -1
- package/.output/public/_nuxt/swrbBdtB.js +0 -1
- package/.output/public/sw.js +0 -1
- package/.output/public/workbox-2fbc6a65.js +0 -1
- package/.output/server/chunks/build/Alert-Bp1Wz_sq.mjs.map +0 -1
- package/.output/server/chunks/build/Breadcrumb-C9ZPTLym.mjs.map +0 -1
- package/.output/server/chunks/build/BreadcrumbNav-C3y42Vun.mjs.map +0 -1
- package/.output/server/chunks/build/BrowserBadge-DNCp9pF-.mjs.map +0 -1
- package/.output/server/chunks/build/ChartCard-Fr557IbV.mjs.map +0 -1
- package/.output/server/chunks/build/Checkbox-cVOSIY93.mjs.map +0 -1
- package/.output/server/chunks/build/CiEnvCard-DXPOhdSG.mjs.map +0 -1
- package/.output/server/chunks/build/CodeBlock-BGwNmJ8J.mjs.map +0 -1
- package/.output/server/chunks/build/DashboardNavbar-Bdp-OwTN.mjs.map +0 -1
- package/.output/server/chunks/build/DashboardSidebarToggle-Ji6ADuqF.mjs.map +0 -1
- package/.output/server/chunks/build/DataLocationCard-D6xSOrme.mjs.map +0 -1
- package/.output/server/chunks/build/DiagnosisPanel-DV1xwGu4.mjs.map +0 -1
- package/.output/server/chunks/build/EmptyState-DV3oT_xz.mjs.map +0 -1
- package/.output/server/chunks/build/EntityLinks-DeOP13Kr.mjs.map +0 -1
- package/.output/server/chunks/build/EnvManagedBadge-Qpn58Nmr.mjs.map +0 -1
- package/.output/server/chunks/build/FormField-B-GSn_VR.mjs.map +0 -1
- package/.output/server/chunks/build/HelpHint-YEMWtKu1.mjs.map +0 -1
- package/.output/server/chunks/build/Label-DBvbHd3A.mjs.map +0 -1
- package/.output/server/chunks/build/MiniRunBars-C3HG-EYm.mjs.map +0 -1
- package/.output/server/chunks/build/Modal-CfA78Hm1.mjs.map +0 -1
- package/.output/server/chunks/build/PageStateCard-Bwee6JTk.mjs.map +0 -1
- package/.output/server/chunks/build/ProjectTestCasesTable-9Ia825h8.mjs.map +0 -1
- package/.output/server/chunks/build/RovingFocusItem-CxhHdNGo.mjs.map +0 -1
- package/.output/server/chunks/build/RunReports-BpJqLHY9.mjs.map +0 -1
- package/.output/server/chunks/build/RunStatusBadge-BhmJ_RKM.mjs.map +0 -1
- package/.output/server/chunks/build/SectionCard-COd9TuDq.mjs.map +0 -1
- package/.output/server/chunks/build/Select-ppPz926C.mjs.map +0 -1
- package/.output/server/chunks/build/Separator-CxZdx8kw.mjs.map +0 -1
- package/.output/server/chunks/build/SettingsField-DDD4oqys.mjs.map +0 -1
- package/.output/server/chunks/build/Slideover-B95Rj237.mjs.map +0 -1
- package/.output/server/chunks/build/Switch-xQQ3_ME1.mjs.map +0 -1
- package/.output/server/chunks/build/Table-CPhhVzDv.mjs.map +0 -1
- package/.output/server/chunks/build/Tabs-BV9XqjoO.mjs.map +0 -1
- package/.output/server/chunks/build/TagBadge-BDcvvGxw.mjs +0 -47
- package/.output/server/chunks/build/TagBadge-BDcvvGxw.mjs.map +0 -1
- package/.output/server/chunks/build/TestCaseHistoryChart-DMb-xSJa.mjs.map +0 -1
- package/.output/server/chunks/build/TestStatusBar-CEzt76wk.mjs.map +0 -1
- package/.output/server/chunks/build/Textarea-DrrqQUVG.mjs.map +0 -1
- package/.output/server/chunks/build/Tooltip-7vwuDPrZ.mjs.map +0 -1
- package/.output/server/chunks/build/VisuallyHiddenInput-C9eJVpPW.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-B2yirIuA.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-CE0Gso6i.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-bWcP2xFl.mjs.map +0 -1
- package/.output/server/chunks/build/about-CoJjvUwM.mjs.map +0 -1
- package/.output/server/chunks/build/account-Cn-eZqXM.mjs.map +0 -1
- package/.output/server/chunks/build/db.client-aHcD0wyX.mjs.map +0 -1
- package/.output/server/chunks/build/default-BSzdkM_L.mjs.map +0 -1
- package/.output/server/chunks/build/edit-C9Z7oZeu.mjs.map +0 -1
- package/.output/server/chunks/build/fetch-8kznMtBM.mjs.map +0 -1
- package/.output/server/chunks/build/forgot-password-BqPF4Rxs.mjs.map +0 -1
- package/.output/server/chunks/build/help-content-DmFnuhNu.mjs.map +0 -1
- package/.output/server/chunks/build/index-BR9hw6qk.mjs.map +0 -1
- package/.output/server/chunks/build/index-Ba-Fifra.mjs.map +0 -1
- package/.output/server/chunks/build/index-CULN3-en.mjs.map +0 -1
- package/.output/server/chunks/build/index-DVUtBexc.mjs.map +0 -1
- package/.output/server/chunks/build/isValueEqualOrExist-DBZjbD_3.mjs.map +0 -1
- package/.output/server/chunks/build/login-D2XZDuek.mjs.map +0 -1
- package/.output/server/chunks/build/mcp-_o6cMS6m.mjs.map +0 -1
- package/.output/server/chunks/build/notifications-Dzm9c0u_.mjs.map +0 -1
- package/.output/server/chunks/build/reset-password-gpFzIEDj.mjs.map +0 -1
- package/.output/server/chunks/build/settings-metadata-B0wo5R-W.mjs.map +0 -1
- package/.output/server/chunks/build/settings-pNyPBXVa.mjs.map +0 -1
- package/.output/server/chunks/build/storage-XelzuyPy.mjs.map +0 -1
- package/.output/server/chunks/build/tags-DrCQ7QSw.mjs.map +0 -1
- package/.output/server/chunks/build/test-cases-pmOxi-AN.mjs.map +0 -1
- package/.output/server/chunks/build/timeout-hygiene-CNs71Iah.mjs.map +0 -1
- package/.output/server/chunks/build/useAiStatus-ZO987RY7.mjs.map +0 -1
- package/.output/server/chunks/build/useCopy-BQQKcwlq.mjs.map +0 -1
- package/.output/server/chunks/build/useFormControl-BLpq1s4O.mjs.map +0 -1
- package/.output/server/chunks/build/useOpenInIde-kMZ7Jw5c.mjs.map +0 -1
- package/.output/server/chunks/build/useSettingsNav-NjI2seBy.mjs.map +0 -1
- package/.output/server/chunks/build/useTreeViewCookie-DVYpxW-p.mjs.map +0 -1
- package/.output/server/chunks/build/users-NmAUZs3i.mjs.map +0 -1
- package/.output/server/chunks/build/virtualizer-ZaqK4guJ.mjs.map +0 -1
- package/.output/server/chunks/build/wasted-time-CguAF9zc.mjs.map +0 -1
- /package/.output/public/_nuxt/{PageStateCard.BrM5HWjY.css → useCopyRich.BrM5HWjY.css} +0 -0
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import{d as oe,o as n,c as l,j as $,g as S,M as mt,i as d,T as Re,ac as ft,k as t,Q as ge,H as he,v as ye,f as P,p as re,q as k,m as L,t as p,F as D,G as pt,r as j,y as ne,s as Ie,_ as Me,h as w,z as ot,B as Be,ad as Le,C as st,b as gt,D as ht,l as Oe,O as Qe,A as qe,aa as Ae,x as vt,U as Ue,ae as Se,K as je,R as yt,ab as xt,af as bt,ag as kt,ah as _t,Z as $t,$ as wt}from"./DHltYerF.js";import{_ as Ze}from"./B2oUeBbA.js";import{q as Ct,u as St,e as Tt,f as We,v as at,l as Pe,k as Lt,w as At}from"./BeKvLsja.js";import{_ as It,a as zt}from"./DHXWp5yD.js";import{_ as Ne}from"./CN1mJlvD.js";import{_ as Bt}from"./B-5GukRk.js";import{u as Ge}from"./By4YL7mx.js";import{u as Ee}from"./DXbPFI1d.js";import{_ as Rt}from"./B1X__ilH.js";import{_ as Pt}from"./D6PUPmRC.js";import{_ as Ot}from"./BHpUiv6j.js";import{l as Ut,i as Et,b as Mt}from"./BVf6Yx9V.js";import{_ as rt}from"./swrbBdtB.js";import{_ as jt}from"./Dwws9U0D.js";const Nt={class:"flex items-center justify-between gap-2"},Kt=["aria-expanded","title"],Vt={class:"text-lg font-medium inline-flex items-center gap-1 shrink-0"},Dt={key:2,class:"min-w-0 flex-1 truncate text-sm text-gray-500 dark:text-gray-400"},Ht={key:0,class:"flex items-center gap-1 shrink-0"},Ft={key:0,class:"text-sm text-gray-500 mt-1 ml-11"},qt=oe({__name:"CollapsibleSectionCard",props:{title:{},icon:{},subtitle:{},count:{},iconClass:{default:"text-primary"},help:{},storageKey:{},defaultFolded:{type:Boolean,default:!0}},setup(e,{expose:r}){const i=e,{folded:m,toggle:o,setFolded:a}=Ut(`piwi-section-fold-${i.storageKey}`,i.defaultFolded),s=j(null);function g(){a(!1),pt(()=>s.value?.scrollIntoView({behavior:"smooth",block:"start"}))}return r({setFolded:a,reveal:g}),(c,h)=>{const C=ye,T=It,x=jt;return n(),l("div",{ref_key:"rootEl",ref:s,class:"scroll-mt-4"},[$(x,{ui:{header:"p-3 sm:px-4 sm:py-3",body:t(m)?"p-0 sm:p-0":""},class:re(t(m)&&"divide-y-0")},{header:S(()=>[d("div",Nt,[d("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(m),title:t(m)?"Expand section":"Collapse section",onClick:h[1]||(h[1]=(...A)=>t(o)&&t(o)(...A)),onKeydown:[h[2]||(h[2]=ge((...A)=>t(o)&&t(o)(...A),["enter"])),h[3]||(h[3]=ge(he((...A)=>t(o)&&t(o)(...A),["prevent"]),["space"]))]},[$(C,{name:t(m)?"i-lucide-chevron-right":"i-lucide-chevron-down",class:"size-4 shrink-0 text-gray-400"},null,8,["name"]),e.icon?(n(),P(C,{key:0,name:e.icon,class:re(["size-5 shrink-0",e.iconClass])},null,8,["name","class"])):k("",!0),d("h3",Vt,[L(p(e.title),1),e.count!=null?(n(),l(D,{key:0},[L(" ("+p(e.count)+")",1)],64)):k("",!0)]),e.help?(n(),l("span",{key:1,onClick:h[0]||(h[0]=he(()=>{},["stop"]))},[$(T,{topic:e.help},null,8,["topic"])])):k("",!0),t(m)&&c.$slots.folded?(n(),l("span",Dt,[Re(c.$slots,"folded")])):k("",!0)],40,Kt),c.$slots.actions?(n(),l("div",Ht,[Re(c.$slots,"actions")])):k("",!0)]),!t(m)&&(e.subtitle||c.$slots.subtitle)?(n(),l("p",Ft,[Re(c.$slots,"subtitle",{},()=>[L(p(e.subtitle),1)])])):k("",!0)]),default:S(()=>[mt(d("div",null,[Re(c.$slots,"default")],512),[[ft,!t(m)]])]),_:3},8,["ui","class"])],512)}}}),Ke=Object.assign(qt,{__name:"CollapsibleSectionCard"}),Zt={class:"overflow-x-auto text-xs font-mono"},Wt=oe({__name:"DiffPatch",props:{patch:{}},setup(e){return(r,i)=>(n(),l("div",Zt,[(n(!0),l(D,null,ne(("parsePatchLines"in r?r.parsePatchLines:t(St))(e.patch),(m,o)=>(n(),l("div",{key:o,class:re(["px-3 py-px whitespace-pre leading-5 min-w-0",("patchLineClass"in r?r.patchLineClass:t(Ct))[m.type]])},p(m.text||" "),3))),128))]))}}),Gt=Object.assign(Wt,{__name:"DiffPatch"}),Yt=["role","aria-checked","tabindex"],Jt={class:"flex-1 min-w-0"},Qt=["title"],Xt={key:0,class:"text-[11px] leading-4 text-gray-500 truncate"},en=oe({__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 i(a){return a>=80?"success":a>=50?"warning":"error"}function m(a){const{method:s,score:g,args:c}=a;return c&&(c.anchorTestId||c.anchorSelector||c.anchorRole)?"scoped to a stable ancestor — survives renames":g>=100?"most stable — purpose-built for testing":s==="getByRole"&&c&&!("name"in c)?"name-free role — survives renames":s==="getByRole"?"browser ARIA tree — semantic and stable":s==="getByLabel"?"associated <label> element":s==="getByPlaceholder"?"input placeholder":s==="getByText"?"visible text":s==="getByAltText"?"image alt text":s==="getByTitle"?"title attribute":s==="locator"&&g>=50?"stable selector":s==="locator"?"CSS class — may be fragile":""}const o=w(()=>r.note??m(r.alt));return(a,s)=>{const g=Ie,c=ye,h=Me;return n(),l("div",{class:re(["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:s[1]||(s[1]=C=>e.selectable&&a.$emit("select")),onKeydown:[s[2]||(s[2]=ge(he(C=>e.selectable&&a.$emit("select"),["prevent"]),["enter"])),s[3]||(s[3]=ge(he(C=>e.selectable&&a.$emit("select"),["prevent"]),["space"]))]},[$(g,{size:"xs",color:i(e.alt.score),variant:"subtle",class:re(["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:S(()=>[L(p(e.alt.score),1)]),_:1},8,["color","class","title"]),d("div",Jt,[d("code",{class:"text-xs font-mono block truncate",title:e.alt.locator},p(e.alt.locator),9,Qt),t(o)?(n(),l("p",Xt,p(t(o)),1)):k("",!0)]),e.alt.pickedByUser&&e.dense?(n(),P(c,{key:0,name:"i-lucide-user-check",class:"size-3.5 text-primary shrink-0",title:"Confirmed with the locator picker"})):e.alt.pickedByUser?(n(),P(g,{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"})):k("",!0),$(h,{size:"xs",variant:"ghost",color:"neutral",icon:e.copied?"i-lucide-check":"i-lucide-copy",title:e.copied?"Copied!":"Copy",class:"shrink-0",onClick:s[0]||(s[0]=he(C=>a.$emit("copy"),["stop"]))},null,8,["icon","title"])],42,Yt)}}}),it=Object.assign(en,{__name:"LocatorAlternativeRow"}),Xe={getByTestId:"testid",getByRole:"semantic",getByLabel:"label",getByPlaceholder:"label",getByText:"text",getByAltText:"text",getByTitle:"text",locator:"css","page.locator":"css"},tn=50;function lt(e,r,i=tn){const m=r[0]??null;if(!m)return{recommended:null,durable:null,preservesConvention:!1,hasDurableAlternative:!1,suggestAddTestId:!1};const o=e?Xe[e]:void 0,a=(e?r.find(c=>c.method===e&&c.score>=i):void 0)??(o?r.find(c=>Xe[c.method]===o&&c.score>=i):void 0),g=r.find(c=>c.pickedByUser)??a??m;return{recommended:g,durable:m,preservesConvention:!!a&&g===a,hasDurableAlternative:g.locator!==m.locator,suggestAddTestId:m.score<i}}const ct={a:"link",button:"button",nav:"navigation",main:"main",article:"article",section:"region",form:"form",img:"img",figure:"figure",figcaption:"caption",blockquote:"blockquote",table:"table",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"},nn={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"},on=["id","class","name","data-testid","placeholder","alt","title","aria-label","aria-level","role","type","href","multiple"];function sn(e){const r=e.attributes.role;if(r)return r;const i=e.tagName;if(!i)return null;if(i==="input"){const m=(e.attributes.type??"text").toLowerCase();return nn[m]??"textbox"}return i==="select"?e.attributes.multiple!=null?"listbox":"combobox":i==="a"?e.attributes.href!=null?"link":null:ct[i]??null}function an(e,r){if(r!=="heading")return null;const i=e.tagName.match(/^h([1-6])$/);if(i)return Number(i[1]);const m=e.attributes["aria-level"];return m&&/^\d+$/.test(m)?Number(m):null}const $e=(e,r)=>e.attributes[r]||null,pe=e=>e.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),He=e=>e.replace(/\\/g,"\\\\").replace(/"/g,'\\"'),et=e=>/^[A-Za-z][A-Za-z0-9_-]*$/.test(e);function rn(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 tt(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+$/.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))}function ln(e){const r=[],i=new Set,m=y=>{i.has(y.locator)||(i.add(y.locator),r.push(y))},{accessibleName:o}=e,a=e.tagName,s=sn(e),g=e.selectorCounts,c=y=>y==null||y<=1,h=e.textContent?e.textContent.replace(/\s+/g," ").trim():null,C=$e(e,"data-testid");C&&c(g?.testId)&&m({locator:`getByTestId('${pe(C)}')`,method:"getByTestId",args:{testId:C},score:100});const T=an(e,s),x=T!=null?`, level: ${T}`:"",A=y=>T!=null?{...y,level:T}:y;s&&o&&m({locator:`getByRole('${s}', { name: '${pe(o)}'${x} })`,method:"getByRole",args:A({role:s,name:o}),score:90});const z=$e(e,"aria-label");if(s&&z&&z!==o&&m({locator:`getByRole('${s}', { name: '${pe(z)}'${x} })`,method:"getByRole",args:A({role:s,name:z}),score:85}),o&&["input","select","textarea"].includes(a)){const y=$e(e,"aria-label");(e.hasLabel===void 0||e.hasLabel===!0||y===o)&&m({locator:`getByLabel('${pe(o)}')`,method:"getByLabel",args:{label:o},score:85})}const B=$e(e,"placeholder");B&&m({locator:`getByPlaceholder('${pe(B)}')`,method:"getByPlaceholder",args:{placeholder:B},score:80}),h&&h.length<80&&m({locator:`getByText('${pe(h)}')`,method:"getByText",args:{text:h},score:75});const Z=$e(e,"id");if(Z&&!tt(Z)&&c(g?.id)){const y=et(Z)?`#${Z}`:`[id="${He(Z)}"]`;m({locator:`locator('${pe(y)}')`,method:"locator",args:{selector:y},score:65})}const Y=$e(e,"name");if(Y&&c(g?.name)){const y=`[name="${He(Y)}"]`;m({locator:`locator('${pe(y)}')`,method:"locator",args:{selector:y},score:60})}const E=$e(e,"alt");E&&m({locator:`getByAltText('${pe(E)}')`,method:"getByAltText",args:{text:E},score:60});const O=$e(e,"title");O&&m({locator:`getByTitle('${pe(O)}')`,method:"getByTitle",args:{title:O},score:50});const ce=!!(C&&c(g?.testId));if(s&&!ce){const y=T!=null?`'${s}', { level: ${T} }`:`'${s}'`,H=A({role:s});let M=!1,K=!1,W=!1;for(const Q of e.ancestors??[]){if(Q.scopedRoleCount!==1)continue;if(!M&&Q.testId&&Q.testIdCount===1&&(M=!0,m({locator:`getByTestId('${pe(Q.testId)}').getByRole(${y})`,method:"getByRole",args:{...H,anchorTestId:Q.testId},score:72})),!K&&Q.id&&!tt(Q.id)&&Q.idCount===1){K=!0;const xe=et(Q.id)?`#${Q.id}`:`[id="${He(Q.id)}"]`;m({locator:`locator('${pe(xe)}').getByRole(${y})`,method:"getByRole",args:{...H,anchorSelector:xe},score:64})}const ve=Q.role||ct[Q.tag]||null;!W&&ve&&ve!==s&&Q.roleCount===1&&(W=!0,m({locator:`getByRole('${pe(ve)}').getByRole(${y})`,method:"getByRole",args:{...H,anchorRole:ve},score:55}))}const F=e.rolePosition;F&&F.role===s&&(F.count===1||T!=null&&F.levelCount===1)&&m({locator:`getByRole(${y})`,method:"getByRole",args:H,score:58})}const ee=$e(e,"class");if(ee){const y=g?.classes,H=ee.split(/\s+/).filter(M=>M.length>1&&/^[A-Za-z_-][A-Za-z0-9_-]*$/.test(M)&&c(y?.[M])).map(M=>({cls:M,score:rn(M)})).sort((M,K)=>K.score-M.score).slice(0,3);for(const{cls:M,score:K}of H)m({locator:`locator('.${pe(M)}')`,method:"locator",args:{selector:`.${M}`},score:K})}return r.sort((y,H)=>H.score-y.score)}function cn(e){const r=e.attributes,i=r["aria-label"];if(i)return i;if(e.textContent)return e.textContent;const m=r.title;if(m)return m;const o=r.placeholder;return o||null}function un(e){if(window.__piwiPickerInstalled)return;window.__piwiPickerInstalled=!0;var r=document,i=window,m=2147483600,o=e.probedAttrs,a=r.createElement("div");a.id="__piwi_picker_highlight",a.style.cssText="position:fixed;pointer-events:none;z-index:"+m+";display:none;box-sizing:border-box;border:2px solid #7c3aed;background:rgba(124,58,237,.12);border-radius:3px;",r.body.appendChild(a);var s=r.createElement("div");s.id="__piwi_picker_banner",s.style.cssText="position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:"+(m+2)+";background:#111827;color:#f9fafb;font:13px/1.5 system-ui,sans-serif;padding:10px 16px;border-radius:8px;box-shadow:0 4px 24px rgba(0,0,0,.4);max-width:80vw;",s.innerHTML='<div>Click an element to generate locators</div><div style="color:#9ca3af;margin-top:3px;font-size:11px">↑ parent · ↓ child · Esc skip</div>',r.body.appendChild(s),i.parent.postMessage({type:"pickerReady"},"*");function g(u){var b=(u.tagName||"?").toLowerCase(),I=u.getAttribute&&u.getAttribute("data-testid");if(I)return"getByTestId('"+I+"')";if(u.labels&&u.labels.length>0){var U=(u.labels[0].textContent||"").replace(/\s+/g," ").trim().slice(0,80);if(U)return"getByLabel('"+U+"')"}var X=u.getAttribute&&u.getAttribute("aria-label");if(X)return"getByLabel('"+X+"')";var J=u.getAttribute&&u.getAttribute("placeholder");if(J)return"getByPlaceholder('"+J+"')";var q=u.getAttribute&&u.getAttribute("alt");if(q)return"getByAltText('"+q+"')";var ae=u.getAttribute&&u.getAttribute("title");if(ae)return"getByTitle('"+ae+"')";if(u.id)return"locator('#"+u.id+"')";var fe=(u.getAttribute&&u.getAttribute("class")||"").split(/\s+/).find(function(_){return _.length>1});return fe?"locator('."+fe+"')":b}function c(u){for(var b=[],I=u;I&&b.length<15;){var U=(I.tagName||"").toLowerCase();if(U==="body"||U==="html")break;b.push(I),I=I.parentElement}return b.length?b:[u]}var h=["button","a","input","select","textarea","summary","option"];function C(u){for(var b=0;b<Math.min(u.length,4);b++){var I=u[b],U=(I.tagName||"").toLowerCase();if(h.indexOf(U)!==-1||I.getAttribute&&(I.getAttribute("role")||I.getAttribute("data-testid")))return b}return 0}var T=[],x=0,A=null;function z(){return T[x]||null}function B(){var u=z();if(!u){a.style.display="none";return}var b=u.getBoundingClientRect();a.style.display="block",a.style.left=b.left+"px",a.style.top=b.top+"px",a.style.width=b.width+"px",a.style.height=b.height+"px";var I=r.getElementById("__piwi_picker_foot");I&&(I.textContent=g(u)+" — click to pick · ↑ parent · ↓ child · Esc skip")}var Z=s.querySelector("[style*=margin]");Z&&(Z.id="__piwi_picker_foot");function Y(u){for(var b={},I=0;I<o.length;I++){var U=o[I],X=u.getAttribute(U)||u[U];b[U]=typeof X=="string"?X.slice(0,200):X?String(X).slice(0,200):null}var J=u.getBoundingClientRect(),q={};try{var ae=function(we){return i.CSS.escape(we)},fe=function(we){try{return r.querySelectorAll(we).length}catch{return}};b["data-testid"]&&(q.testId=fe("[data-testid="+JSON.stringify(b["data-testid"])+"]")),b.id&&(q.id=fe("#"+ae(b.id))),b.name&&(q.name=fe("[name="+JSON.stringify(b.name)+"]"));var _=(b.class||"").split(/\s+/).filter(function(we){return we.length>1}).slice(0,10);if(_.length>0){for(var v={},G=0;G<_.length;G++){var le=fe("."+ae(_[G]));le!==void 0&&(v[_[G]]=le)}q.classes=v}}catch{}var Ve=null;return u.labels&&u.labels.length>0&&(Ve=(u.labels[0].textContent||"").replace(/\s+/g," ").trim().slice(0,120)||null),{tagName:(u.tagName||"").toLowerCase(),attributes:b,textContent:(u.textContent||"").replace(/\s+/g," ").trim().slice(0,80)||null,center:{x:Math.round(J.x+J.width/2),y:Math.round(J.y+J.height/2)},hasLabel:!!(u.labels&&u.labels.length>0),labelText:Ve,selectorCounts:q}}function E(u){u.preventDefault(),u.stopImmediatePropagation()}function O(u){return u===s||u===a||s.contains&&s.contains(u)||u&&u.__piwiHint}var ce="top";function ee(u){ce!==u&&(ce=u,u==="bottom"?(s.style.top="auto",s.style.bottom="12px"):(s.style.top="12px",s.style.bottom="auto"))}function y(u){var b=u.target;if(!b||O(b)){a.style.display="none";return}b!==A&&(A=b,T=c(b),x=C(T)),B();var I=z();if(I){var U=I.getBoundingClientRect(),X=s.getBoundingClientRect(),J=8;U.left<X.right+J&&U.right>X.left-J&&U.top<X.bottom+J&&U.bottom>X.top-J&&ee(ce==="top"?"bottom":"top")}}function H(u){if(u==="Escape"){Te();return}u==="ArrowUp"&&(x=Math.min(x+1,T.length-1),B()),u==="ArrowDown"&&(x=Math.max(x-1,0),B())}function M(u){(u.key==="Escape"||u.key==="ArrowUp"||u.key==="ArrowDown")&&(E(u),H(u.key))}var K=[];function W(){for(var u=0;u<K.length;u++)K[u].parentNode&&K[u].parentNode.removeChild(K[u]);K=[]}function F(u){return(u||"").replace(/\s+/g," ").trim().toLowerCase()}function Q(u){var b=F(u);if(b.length<2)return[];for(var I=r.querySelectorAll("button,a,[role],h1,h2,h3,h4,h5,h6,label,summary,input,textarea,select,option,span,li,td,th,p"),U=[],X=[],J=0;J<I.length;J++){var q=I[J],ae=F(q.textContent);if(!ae){var fe=F(q.getAttribute&&(q.getAttribute("placeholder")||q.getAttribute("aria-label"))||"");fe&&(fe===b||fe.indexOf(b)!==-1)&&U.push(q);continue}ae.length>120||(ae===b?U.push(q):ae.indexOf(b)!==-1&&ae.length<b.length+30&&X.push(q))}return U.concat(X)}function ve(u,b){var I=u.getBoundingClientRect();if(I.width===0&&I.height===0)return null;var U=r.createElement("div");return U.__piwiHint=!0,U.style.cssText="position:fixed;pointer-events:none;z-index:"+(m+1)+";box-sizing:border-box;border-radius:3px;transition:opacity .3s;border:2px solid "+b+";box-shadow:0 0 0 3px "+b+"55;left:"+I.left+"px;top:"+I.top+"px;width:"+I.width+"px;height:"+I.height+"px;",r.body.appendChild(U),K.push(U),U}function xe(u){var b=u.getBoundingClientRect();i.parent.postMessage({type:"piwiScrollTo",y:b.top},"*")}function ze(u){if(W(),!(!u||!u.length)){for(var b=null,I=0;I<u.length;I++)for(var U=u[I],X=Q(U&&U.text),J=0;J<Math.min(X.length,3);J++)ve(X[J],"#f59e0b"),b||(b=X[J]);b&&xe(b),setTimeout(function(){for(var q=0;q<K.length;q++)K[q].style.opacity="0"},2600),setTimeout(W,3e3)}}var te=[],ke=0;function R(){i.parent.postMessage({type:"piwiSearchResult",count:te.length,index:te.length?ke:-1},"*")}function f(){W();var u=te[ke];u&&(ve(u,"#7c3aed"),xe(u),R())}function N(u){if(te=Q(u),ke=0,!te.length){W(),R();return}f()}function be(){te.length&&(ke=(ke+1)%te.length,f())}function me(u){var b=u.data;if(!(!b||typeof b.type!="string")){if(b.type==="piwiPickerKey"&&typeof b.key=="string")H(b.key);else if(b.type==="piwiHighlight")try{ze(b.hints)}catch{}else if(b.type==="piwiSearch")try{N(b.q)}catch{}else if(b.type==="piwiSearchNext")try{be()}catch{}else if(b.type==="piwiClearHints")try{W()}catch{}}}function ue(u){E(u);var b=z();if(!(!b||O(u.target))){var I=Y(b);a.style.display="none",W(),s.innerHTML='<div style="text-align:center;color:#9ca3af;">Analyzing element…</div>',Ce(),i.parent.postMessage({type:"elementPicked",attrs:I},"*")}}var _e=["mousedown","mouseup","pointerdown","pointerup","auxclick","dblclick"];function Ce(){r.removeEventListener("mousemove",y,!0),r.removeEventListener("click",ue,!0),r.removeEventListener("keydown",M,!0),i.removeEventListener("message",me,!1);for(var u=0;u<_e.length;u++)r.removeEventListener(_e[u],E,!0)}function Te(){Ce(),W(),a.remove(),s.remove(),i.parent.postMessage({type:"pickerClosed"},"*")}r.addEventListener("mousemove",y,!0),r.addEventListener("click",ue,!0),r.addEventListener("keydown",M,!0),i.addEventListener("message",me,!1);for(var se=0;se<_e.length;se++)r.addEventListener(_e[se],E,!0);function V(){var u=Math.max(r.documentElement?r.documentElement.scrollHeight:0,r.body?r.body.scrollHeight:0);u>0&&i.parent.postMessage({type:"piwiContentHeight",height:u},"*")}V();try{if(i.ResizeObserver){var ie=new i.ResizeObserver(V);r.documentElement&&ie.observe(r.documentElement),r.body&&ie.observe(r.body)}}catch{}}function dn(e){const r=[],i=new Set,m=a=>{if(typeof a!="string")return;const s=a.trim();if(s.length<2||s.length>80)return;const g=s.toLowerCase();i.has(g)||(i.add(g),r.push({text:s}))},o=a=>a&&(a.name??a.text??a.label??a.placeholder??a.alt??a.title);m(o(e.failingLocator?.args));for(const a of e.fromElementMatch??[])m(o(a.args));for(const a of e.fromAriaSnapshot??[])m(o(a.args));return r.slice(0,6)}function mn(e){return`<script>(${String(un).replace(/<\/(script)/gi,"<\\/$1")})(${JSON.stringify(e)})<\/script>`}function fn(e){return e.replace(/<base\b[^>]*>/gi,"")}function pn(e,r){return fn(e)+mn(r)}const gn={key:0,class:"flex items-center justify-center py-20"},hn={key:1,class:"py-8 text-center"},vn={class:"text-xs text-gray-400 mt-1"},yn={key:2,class:"py-8 text-center"},xn={class:"mb-2 flex items-center gap-2 flex-wrap"},bn={key:1,class:"ml-auto inline-flex rounded-md border border-default overflow-hidden text-xs"},kn={key:0,class:"flex items-center gap-1 mb-1.5 text-xs text-gray-500"},_n={class:"tabular-nums w-11 text-center select-none"},$n={class:"ml-auto text-gray-400 tabular-nums"},wn={key:1,class:"flex items-center gap-2 mb-1.5"},Cn={key:0,class:"text-xs text-gray-500 tabular-nums"},Sn={key:1,class:"text-xs text-gray-400"},Tn={key:0,class:"absolute inset-0 flex items-center justify-center bg-white dark:bg-gray-900 z-10"},Ln=["src"],An={key:2,class:"mt-4 space-y-3"},In={class:"flex items-center gap-3 bg-elevated rounded-lg p-3"},zn={class:"flex-1 min-w-0"},Bn={class:"text-sm font-medium"},Rn={class:"text-xs"},Pn={key:0,class:"text-xs text-gray-400 ml-1"},On={key:0,class:"text-xs text-gray-500 mt-0.5 truncate"},Un={class:"space-y-1",role:"radiogroup","aria-label":"Alternative locators"},En={class:"flex-1 min-w-0"},Mn={class:"text-xs font-medium text-primary"},jn={class:"text-sm font-mono block truncate mt-0.5"},Nn={class:"flex justify-between w-full"},Kn={key:1},Vn={class:"flex gap-2"},Dn=oe({__name:"SnapshotLocatorPicker",props:qe({runId:{},testRunsCaseId:{},failingLocator:{},healing:{}},{open:{type:Boolean,required:!0},openModifiers:{}}),emits:qe(["close","confirmed"],["update:open"]),setup(e,{emit:r}){const i=e,m=r,o=ot(e,"open"),a=j(!1),s=j(null),g=j(null),c=j(void 0);async function h(){a.value=!0,g.value=null;try{const _=c.value?`?source=${c.value}`:"";s.value=await $fetch(`/api/test-runs/${i.runId}/cases/${i.testRunsCaseId}/dom-snapshot${_}`),s.value?.source&&(c.value=s.value.source)}catch(_){g.value=_ instanceof Error?_.message:"Unknown error"}finally{a.value=!1}}const C=w(()=>s.value?.availableSources??[]);function T(_){_===c.value||a.value||(c.value=_,z.value=!1,x.value="pick-element",ee.value=0,H.value=!1,B.value=null,Z.value=[],se.value=null,N.value="",be.value=0,me.value=-1,h())}Be(o,_=>{_&&(s.value=null,z.value=!1,x.value="pick-element",ee.value=0,H.value=!1,c.value=void 0,B.value=null,Z.value=[],se.value=null,N.value="",be.value=0,me.value=-1,h())});const x=j("pick-element"),A=j(null),z=j(!1),B=j(null),Z=j([]),Y=j(void 0);function E(_){return URL.createObjectURL(new Blob([pn(_,{probedAttrs:on})],{type:"text/html"}))}Be(()=>s.value?.html,_=>{Y.value&&(URL.revokeObjectURL(Y.value),Y.value=void 0),_&&(Y.value=E(_))},{immediate:!0});const O=j(null),ce=j(0),ee=j(0),y=j(1),H=j(!1),M=w(()=>s.value?.viewport??null),K=w(()=>{const _=M.value;return!_?.width||!ce.value?1:Math.min(ce.value/_.width,1)}),W=w(()=>{const _=M.value;if(!_)return{width:"100%",height:ee.value?`${ee.value}px`:"100%"};const v=ee.value||_.height;return{width:`${Math.round(_.width*y.value)}px`,height:`${Math.round(v*y.value)}px`}}),F=w(()=>{const _=M.value;if(!_)return{width:"100%",height:ee.value?`${ee.value}px`:"100%",border:"0"};const v=ee.value||_.height;return{width:`${_.width}px`,height:`${v}px`,transform:`scale(${y.value})`,transformOrigin:"top left",border:"0"}}),Q=w(()=>Math.round(y.value*100)),ve=_=>Math.min(4,Math.max(.1,_));function xe(_){H.value=!0,y.value=ve(y.value*_)}function ze(){H.value=!1,y.value=K.value}Be([K,M],()=>{H.value||(y.value=K.value)});let te=null;Be(O,_=>{te?.disconnect(),_&&(ce.value=_.clientWidth,te=new ResizeObserver(v=>{for(const G of v)ce.value=G.contentRect.width}),te.observe(_))}),Le(()=>{te?.disconnect()}),Le(()=>{Y.value&&URL.revokeObjectURL(Y.value)});function ke(_){if(!A.value||_.source!==A.value.contentWindow)return;const v=_.data;if(v?.type==="pickerReady"){z.value=!0,f();return}if(v?.type==="piwiContentHeight"&&typeof v.height=="number"){ee.value=Math.max(v.height,M.value?.height??0);return}if(v?.type==="piwiScrollTo"&&typeof v.y=="number"){const G=O.value;G&&G.scrollTo({top:Math.max(0,v.y*y.value-80),behavior:"smooth"});return}if(v?.type==="piwiSearchResult"){be.value=typeof v.count=="number"?v.count:0,me.value=typeof v.index=="number"?v.index:-1;return}if(v?.type==="elementPicked"&&v.attrs){const{labelText:G,...le}=v.attrs;B.value={...le,accessibleName:G??cn(le)},Z.value=ln(B.value),se.value=null,x.value="review"}v?.type==="pickerClosed"&&U()}function R(_){A.value?.contentWindow?.postMessage(_,"*")}function f(){const _=dn({failingLocator:i.failingLocator,fromElementMatch:i.healing?.fromElementMatch??null,fromAriaSnapshot:i.healing?.fromAriaSnapshot??null});_.length&&R({type:"piwiHighlight",hints:_})}const N=j(""),be=j(0),me=j(-1);let ue=null;Be(N,_=>{ue&&clearTimeout(ue),ue=setTimeout(()=>R({type:"piwiSearch",q:_}),180)});function _e(){R({type:"piwiSearchNext"})}Le(()=>{ue&&clearTimeout(ue)});function Ce(_){if(!o.value||x.value!=="pick-element"||!z.value||_.key!=="ArrowUp"&&_.key!=="ArrowDown")return;const v=(document.activeElement?.tagName??"").toLowerCase();if(v==="input"||v==="textarea")return;const G=A.value?.contentWindow;G&&(_.preventDefault(),G.postMessage({type:"piwiPickerKey",key:_.key},"*"))}function Te(){A.value&&(A.value.src="about:blank")}st(()=>{window.addEventListener("message",ke),window.addEventListener("keydown",Ce,!0)}),Le(()=>{window.removeEventListener("message",ke),window.removeEventListener("keydown",Ce,!0)});const se=j(null),V=j(!1);function ie(_){se.value=_}const u=w(()=>lt(i.failingLocator.method,Z.value)),b=gt();async function I(){if(se.value){V.value=!0;try{(await $fetch(`/api/test-runs/${i.runId}/cases/${i.testRunsCaseId}/locator-pick`,{method:"POST",body:{failingLocator:i.failingLocator,pickedLocator:se.value,element:B.value}})).status==="ok"?m("confirmed",se.value):b.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"}),o.value=!1}catch(_){b.add({title:"Could not save the pick",description:Tt(_),color:"error",icon:"i-lucide-alert-triangle"})}finally{V.value=!1}}}function U(){Te(),o.value=!1}function X(){B.value=null,Z.value=[],se.value=null,x.value="pick-element",z.value=!1,N.value="",be.value=0,me.value=-1;const _=s.value?.html;_&&(Y.value&&URL.revokeObjectURL(Y.value),Y.value=E(_))}const{copy:J}=Ge(),q=j(null);let ae=null;function fe(_,v){J(_,{toast:"Locator copied"}),q.value=v,ae&&clearTimeout(ae),ae=setTimeout(()=>{q.value=null},2e3)}return Le(()=>{ae&&clearTimeout(ae)}),(_,v)=>{const G=ye,le=Me,Ve=ht,we=Ie,Je=Bt;return n(),P(Je,{open:o.value,"onUpdate:open":v[8]||(v[8]=de=>o.value=de),ui:{content:"max-w-6xl w-[95vw]"},onAfterLeave:U},{header:S(()=>[...v[9]||(v[9]=[d("div",null,[d("h3",{class:"text-lg font-medium"},"Pick a locator from the DOM snapshot"),d("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:S(()=>[t(a)?(n(),l("div",gn,[$(G,{name:"i-lucide-loader",class:"size-6 animate-spin text-gray-400"}),v[10]||(v[10]=d("span",{class:"ml-2 text-sm text-gray-500"},"Loading DOM snapshot...",-1))])):t(g)?(n(),l("div",hn,[$(G,{name:"i-lucide-alert-triangle",class:"size-8 text-red-300 mx-auto mb-2"}),v[12]||(v[12]=d("p",{class:"text-sm text-red-500"},"Failed to load snapshot",-1)),d("p",vn,p(t(g)),1),$(le,{size:"xs",variant:"outline",color:"neutral",class:"mt-3",onClick:h},{default:S(()=>[...v[11]||(v[11]=[L("Retry",-1)])]),_:1})])):t(s)?.status!=="ok"||!t(s).html?(n(),l("div",yn,[$(G,{name:"i-lucide-file-x",class:"size-8 text-gray-300 mx-auto mb-2"}),v[13]||(v[13]=d("p",{class:"text-sm text-gray-500"},"No DOM snapshot or ARIA data available for this execution",-1)),v[14]||(v[14]=d("p",{class:"text-xs text-gray-400 mt-1"},"This test run has no stored trace or ARIA snapshot to pick from.",-1))])):(n(),l(D,{key:3},[d("div",xn,[t(s).source?(n(),l("div",{key:0,class:re(["text-xs flex items-center gap-1",t(s).source==="aria"?"text-amber-600 dark:text-amber-400":"text-green-600 dark:text-green-400"])},[$(G,{name:t(s).source==="aria"?"i-lucide-accessibility":"i-lucide-check",class:"size-3.5 shrink-0"},null,8,["name"]),t(s).source==="aria"?(n(),l(D,{key:0},[L(" Accessibility tree from the failure-time ARIA snapshot — element styles are approximate ")],64)):(n(),l(D,{key:1},[L(" Rendered from the failure-time DOM snapshot ")],64))],2)):k("",!0),t(C).length>1?(n(),l("div",bn,[d("button",{type:"button",class:re(["px-2 py-1 flex items-center gap-1 transition-colors",t(c)==="dom"?"bg-primary/10 text-primary font-medium":"text-gray-500 hover:bg-elevated"]),title:"Rendered page from the trace",onClick:v[0]||(v[0]=de=>T("dom"))},[$(G,{name:"i-lucide-layout-panel-top",class:"size-3.5"}),v[15]||(v[15]=L(" DOM ",-1))],2),d("button",{type:"button",class:re(["px-2 py-1 flex items-center gap-1 border-l border-default transition-colors",t(c)==="aria"?"bg-primary/10 text-primary font-medium":"text-gray-500 hover:bg-elevated"]),title:"Accessibility tree from the ARIA snapshot",onClick:v[1]||(v[1]=de=>T("aria"))},[$(G,{name:"i-lucide-accessibility",class:"size-3.5"}),v[16]||(v[16]=L(" Tree ",-1))],2)])):k("",!0)]),t(M)?(n(),l("div",kn,[$(le,{size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-zoom-out",title:"Zoom out",onClick:v[2]||(v[2]=de=>xe(1/1.25))}),d("span",_n,p(t(Q))+"%",1),$(le,{size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-zoom-in",title:"Zoom in",onClick:v[3]||(v[3]=de=>xe(1.25))}),$(le,{size:"xs",variant:"outline",color:"neutral",class:"ml-1",onClick:ze},{default:S(()=>[...v[17]||(v[17]=[L("Fit",-1)])]),_:1}),d("span",$n,p(t(M).width)+"×"+p(t(M).height),1)])):k("",!0),t(x)==="pick-element"?(n(),l("div",wn,[$(Ve,{modelValue:t(N),"onUpdate:modelValue":v[4]||(v[4]=de=>Oe(N)?N.value=de:null),size:"xs",icon:"i-lucide-search",placeholder:"Find an element by its text…",class:"max-w-xs",onKeydown:ge(he(_e,["prevent"]),["enter"])},null,8,["modelValue","onKeydown"]),t(N)&&t(be)>0?(n(),l("span",Cn,p(t(me)+1)+"/"+p(t(be)),1)):t(N)?(n(),l("span",Sn,"no matches")):k("",!0),t(be)>1?(n(),P(le,{key:2,size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-chevron-down",title:"Next match (Enter)",onClick:_e})):k("",!0)])):k("",!0),d("div",{ref_key:"stageRef",ref:O,class:re(["relative border border-default rounded-lg overflow-auto",[t(x)==="pick-element"?"h-[75vh]":"h-80",t(M)?"bg-gray-100 dark:bg-gray-800":""]])},[t(z)?k("",!0):(n(),l("div",Tn,[$(G,{name:"i-lucide-loader",class:"size-5 animate-spin text-gray-400"}),v[18]||(v[18]=d("span",{class:"ml-2 text-sm text-gray-500"},"Initializing picker...",-1))])),d("div",{style:Qe(t(W))},[d("iframe",{ref_key:"iframeRef",ref:A,src:t(Y),style:Qe(t(F)),class:"bg-white",sandbox:"allow-scripts",title:"DOM snapshot"},null,12,Ln)],4)],2),t(x)==="review"&&t(B)?(n(),l("div",An,[d("div",In,[$(G,{name:"i-lucide-crosshair",class:"size-5 text-primary shrink-0"}),d("div",zn,[d("p",Bn,[v[19]||(v[19]=L(" Picked: ",-1)),d("code",Rn,p(t(B).tagName),1),t(B).attributes.id?(n(),l("code",Pn,"#"+p(t(B).attributes.id),1)):k("",!0),t(B).attributes["data-testid"]?(n(),P(we,{key:1,size:"xs",color:"primary",variant:"subtle",class:"ml-1"},{default:S(()=>[L(p(t(B).attributes["data-testid"]),1)]),_:1})):k("",!0)]),t(B).textContent?(n(),l("p",On,' "'+p(t(B).textContent)+'" ',1)):k("",!0)]),$(le,{size:"xs",variant:"ghost",color:"neutral",icon:"i-lucide-rotate-ccw",title:"Pick a different element",onClick:X})]),d("div",Un,[(n(!0),l(D,null,ne(t(Z),(de,De)=>(n(),P(it,{key:De,alt:de,copied:t(q)===`picked-${De}`,dense:!0,selectable:!0,selected:t(se)?.locator===de.locator,onCopy:dt=>fe(de.locator,`picked-${De}`),onSelect:dt=>ie(de)},null,8,["alt","copied","selected","onCopy","onSelect"]))),128))]),t(u).recommended?(n(),l("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:v[6]||(v[6]=de=>ie(t(u).recommended)),onKeydown:v[7]||(v[7]=ge(he(de=>ie(t(u).recommended),["prevent"]),["enter"]))},[$(G,{name:"i-lucide-star",class:"size-5 text-primary shrink-0"}),d("div",En,[d("p",Mn," Recommended (score: "+p(t(u).recommended.score)+") ",1),d("code",jn,p(t(u).recommended.locator),1)]),$(le,{size:"sm",color:"primary",variant:"solid","trailing-icon":t(q)==="rec"?"i-lucide-check":"i-lucide-copy",onClick:v[5]||(v[5]=he(de=>fe(t(u).recommended.locator,"rec"),["stop"]))},{default:S(()=>[...v[20]||(v[20]=[L(" Copy ",-1)])]),_:1},8,["trailing-icon"])],32)):k("",!0)])):k("",!0)],64))]),footer:S(()=>[d("div",Nn,[t(x)==="review"?(n(),P(le,{key:0,size:"sm",variant:"outline",color:"neutral",icon:"i-lucide-rotate-ccw",onClick:X},{default:S(()=>[...v[21]||(v[21]=[L(" Pick a different element ",-1)])]),_:1})):(n(),l("div",Kn)),d("div",Vn,[$(le,{size:"sm",variant:"outline",color:"neutral",onClick:U},{default:S(()=>[...v[22]||(v[22]=[L("Cancel",-1)])]),_:1}),t(x)==="review"?(n(),P(le,{key:0,size:"sm",color:"primary",loading:t(V),disabled:!t(se),onClick:I},{default:S(()=>[...v[23]||(v[23]=[L(" Confirm pick ",-1)])]),_:1},8,["loading","disabled"])):k("",!0)])])]),_:1},8,["open"])}}}),Hn=Object.assign(Dn,{__name:"SnapshotLocatorPicker"});function Fn(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function qn(e,r){let i=0,m=null;for(let o=r;o<e.length;o++){const a=e[o];if(m){if(a==="\\"){o++;continue}a===m&&(m=null);continue}if(a==="'"||a==='"'||a==="`"){m=a;continue}if(a==="(")i++;else if(a===")"&&(i--,i===0))return o}return-1}function Zn(e,r,i){if(!e||!r||!i)return null;const m=new RegExp(`${Fn(r)}\\s*\\(`,"g");let o;for(;(o=m.exec(e))!==null;){const a=o.index,s=a>0?e[a-1]:"";if(s&&/[A-Za-z0-9_$]/.test(s))continue;const g=a+o[0].lastIndexOf("("),c=qn(e,g);if(c===-1)return null;const h=e.slice(0,a)+i+e.slice(c+1);return h===e?null:{old:e,new:h}}return null}function Wn(e,r){return`${r?`@@ ${r} @@
|
|
2
|
-
`:""}-${e.old.trimEnd()}
|
|
3
|
-
+${e.new.trimEnd()}`}function Gn(e,r){const i=e??{},m=r??{},o=s=>s==null?null:typeof s=="string"?s:JSON.stringify(s),a=[];for(const s of new Set([...Object.keys(i),...Object.keys(m)])){const g=o(i[s]),c=o(m[s]);g!==c&&a.push({key:s,from:g,to:c})}return a}function Yn(e){const i=[`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&&i.push("","Current line:",e.sourceLine.text.trim()),i.join(`
|
|
4
|
-
`)}const Jn={key:0,class:"text-xs font-mono"},Qn={key:1},Xn={class:"flex items-center gap-1"},eo={key:1,class:"rounded-lg border border-primary/50 bg-primary/10 p-3 mb-3 flex items-center gap-3"},to={class:"flex-1 min-w-0"},no={class:"text-xs font-medium text-primary flex items-center gap-1.5"},oo={class:"text-sm font-mono block truncate mt-0.5"},so={key:2,class:"flex items-center gap-2 bg-elevated rounded p-2 mb-3 border border-red-200 dark:border-red-800"},ao={class:"text-xs font-mono text-red-600 dark:text-red-400 flex-1 truncate"},ro={key:4,class:"rounded-lg border border-primary/40 bg-primary/5 p-3 mb-3 space-y-2"},io={class:"flex items-center gap-2 min-w-0"},lo={key:0,class:"text-[11px] text-gray-500 truncate min-w-0"},co={key:0,class:"rounded border border-default overflow-hidden bg-default"},uo={class:"text-sm font-mono block truncate"},mo={key:0,class:"text-xs flex flex-wrap items-center gap-x-1.5 gap-y-0.5"},fo={class:"font-mono text-gray-500"},po={key:0,class:"font-mono text-red-500 line-through"},go={key:1,class:"text-gray-400"},ho={key:2,class:"font-mono text-green-600 dark:text-green-400"},vo={key:3,class:"text-gray-400"},yo={key:2,class:"text-xs text-gray-500"},xo={key:3,class:"text-xs text-primary/90 flex items-center gap-1"},bo={class:"flex items-center gap-2"},ko={key:5,class:"rounded-lg border border-default bg-elevated p-3 mb-3 flex items-center gap-3"},_o={class:"flex-1 min-w-0"},$o={class:"text-xs font-medium text-success-600 dark:text-success-400"},wo={class:"text-sm font-mono block truncate mt-0.5"},Co={class:"space-y-2"},So={key:6,class:"mt-3"},To={class:"space-y-2"},Lo={class:"flex items-center gap-1"},nt=3,Ao=oe({__name:"LocatorHealingPanel",props:{runId:{},testRunsCaseId:{},storageKey:{},affectedCount:{}},setup(e){const r=e,i=w(()=>r.storageKey?Ke:Ne),m=w(()=>r.storageKey?{storageKey:r.storageKey}:{}),{data:o,pending:a,error:s}=Ee(()=>`/api/test-runs/${r.runId}/cases/${r.testRunsCaseId}/locator-healing`,{lazy:!0},"$z1C7vU2CXe"),g=w(()=>!!o.value&&o.value.source!=="none"&&!!(o.value.fromElementMatch?.length||o.value.fromPriorSuccess?.length||o.value.fromAriaSnapshot?.length)),c=w(()=>o.value?o.value.fromElementMatch??o.value.fromPriorSuccess??o.value.fromAriaSnapshot??[]:[]),h=w(()=>c.value.find(R=>R.pickedByUser)??null),C=w(()=>o.value?.recommendation?o.value.recommendation:o.value?.priorNameMayBeStale||!c.value.length?null:lt(o.value?.failingLocator?.method,c.value)),T=w(()=>o.value?.priorNameMayBeStale&&o.value.fromPriorSuccess?.length?o.value.fromAriaSnapshot??[]:[]),x=w(()=>{const R=C.value;return R?.recommended?R.recommended.pickedByUser?"Confirmed with the locator picker on the failing page":R.preservesConvention?"Keeps your original locator style — minimal, idiomatic edit":R.suggestAddTestId?"Most stable available, but still fragile":"Most stable available — a sturdier style than the original":""}),A=w(()=>{const R=o.value?.priorNameMayBeStale,f=(()=>{switch(o.value?.source){case"prior-run":return R?"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""}})(),N=o.value?.capturedAt;return N?`${f} · captured ${We(N)}`:f}),z=w(()=>{if(o.value?.priorNameMayBeStale)return"text-warning-600 dark:text-warning-400";switch(o.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"}}),B=w(()=>{const R=o.value?.failingLocator;return R?`${R.method}(${JSON.stringify(R.args)})`:""}),Z=je(),{data:Y}=Ee(()=>`/api/test-run-cases/${r.testRunsCaseId}/traces`,{lazy:!0},"$vsBboELop9"),E=w(()=>{const R=Y.value?.[0];if(!R)return null;const f=!!Z.public.demoMode&&R.filePath.startsWith("demo/");return at(R.filePath,Z.app?.baseURL,f)}),O=j(!1);async function ce(){await yt(`/api/test-runs/${r.runId}/cases/${r.testRunsCaseId}/locator-healing`)}const{copy:ee}=Ge(),y=j(null);let H=null;function M(R,f,N){ee(R,{toast:N}),y.value=f,H&&clearTimeout(H),H=setTimeout(()=>{y.value=null},2e3)}function K(R,f){M(R,f,"Locator copied")}Le(()=>{H&&clearTimeout(H)});const W=w(()=>C.value?.recommended??null),F=w(()=>r.affectedCount&&r.affectedCount>1&&W.value?`Same break affects ${r.affectedCount} tests in this cluster — one fix`:""),Q=w(()=>{if(W.value?.pickedByUser)return"your confirmed pick";switch(o.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""}}),ve=w(()=>{const R=o.value?.sourceLine,f=W.value;if(!R||!f)return null;const N=Zn(R.text,o.value?.failingLocator?.method,f.locator);return N?{edit:N,patch:Wn(N,o.value?.location??null)}:null}),xe=w(()=>{if(ve.value)return[];const R=o.value?.failingLocator,f=W.value;return!R||!f||f.method!==R.method?[]:Gn(R.args,f.args)});function ze(){const R=W.value;!R||!o.value||M(Yn({location:o.value.location??null,sourceLine:o.value.sourceLine??null,failing:B.value,recommended:R.locator}),"fix-prompt","Fix prompt copied")}const te=j(!1),ke=w(()=>te.value?c.value:c.value.slice(0,nt));return(R,f)=>{const N=Me,be=vt,me=Ze,ue=ye,_e=Ie,Ce=Gt,Te=it,se=zt;return n(),l(D,null,[!t(a)&&!t(s)&&t(g)?(n(),P(Se(t(i)),Ue({key:0},t(m),{icon:"i-lucide-bandage",title:"Alternative locators",count:t(c).length,help:"locator-healing"}),Ae({subtitle:S(()=>[d("span",{class:re(t(z))},p(t(A)),3)]),default:S(()=>[t(o)?.healedInRunId?(n(),P(me,{key:0,class:"mb-3",color:"success",icon:"i-lucide-circle-check",variant:"subtle",title:"Locator healed"},{description:S(()=>[f[11]||(f[11]=L(" The recommended locator now passes at this call site — ",-1)),$(be,{to:`/test-runs/${t(o).healedInRunId}`,class:"underline font-medium"},{default:S(()=>[L(" see run #"+p(t(o).healedInRunId),1)]),_:1},8,["to"]),f[12]||(f[12]=L(". ",-1))]),_:1})):k("",!0),t(h)?(n(),l("div",eo,[$(ue,{name:"i-lucide-user-check",class:"size-5 text-primary shrink-0"}),d("div",to,[d("p",no,[f[14]||(f[14]=L(" Your pick ",-1)),$(_e,{size:"sm",color:"primary",variant:"subtle"},{default:S(()=>[...f[13]||(f[13]=[L("confirmed on the failing page",-1)])]),_:1})]),d("code",oo,p(t(h).locator),1)]),$(N,{size:"sm",color:"primary",variant:"solid","trailing-icon":t(y)==="user-pick"?"i-lucide-check":"i-lucide-copy",onClick:f[1]||(f[1]=V=>K(t(h).locator,"user-pick"))},{default:S(()=>[...f[15]||(f[15]=[L(" Copy ",-1)])]),_:1},8,["trailing-icon"])])):k("",!0),t(o)?.failingLocator?(n(),l("div",so,[$(ue,{name:"i-lucide-x-circle",class:"size-4 text-red-500 shrink-0"}),d("code",ao,p(t(B)),1),$(N,{size:"xs",variant:"ghost",color:"neutral",icon:t(y)==="failing"?"i-lucide-check":"i-lucide-copy",title:t(y)==="failing"?"Copied!":"Copy",onClick:f[2]||(f[2]=V=>K(t(B),"failing"))},null,8,["icon","title"])])):k("",!0),t(o)?.priorNameMayBeStale?(n(),P(me,{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."})):k("",!0),t(W)?(n(),l("div",ro,[d("div",io,[$(ue,{name:"i-lucide-star",class:"size-4 text-primary shrink-0"}),f[16]||(f[16]=d("p",{class:"text-xs font-medium text-primary shrink-0"},"Recommended fix",-1)),t(Q)?(n(),l("span",lo," · "+p(t(Q)),1)):k("",!0),f[17]||(f[17]=d("span",{class:"flex-1"},null,-1)),$(_e,{size:"xs",color:"primary",variant:"subtle",class:"font-mono tabular-nums shrink-0"},{default:S(()=>[L(p(t(W).score),1)]),_:1})]),t(ve)?(n(),l("div",co,[$(Ce,{patch:t(ve).patch},null,8,["patch"])])):(n(),l(D,{key:1},[d("code",uo,p(t(W).locator),1),t(xe).length?(n(),l("p",mo,[(n(!0),l(D,null,ne(t(xe),(V,ie)=>(n(),l(D,{key:ie},[d("span",fo,p(V.key)+":",1),V.from?(n(),l("span",po,p(V.from),1)):(n(),l("span",go,"—")),$(ue,{name:"i-lucide-arrow-right",class:"size-3 text-gray-400"}),V.to?(n(),l("span",ho,p(V.to),1)):(n(),l("span",vo,"removed"))],64))),128))])):k("",!0)],64)),t(x)?(n(),l("p",yo,p(t(x)),1)):k("",!0),t(F)?(n(),l("p",xo,[$(ue,{name:"i-lucide-layers",class:"size-3 shrink-0"}),L(p(t(F)),1)])):k("",!0),d("div",bo,[$(N,{size:"xs",color:"primary",variant:"solid","trailing-icon":t(y)==="top"?"i-lucide-check":"i-lucide-copy",onClick:f[3]||(f[3]=V=>K(t(W).locator,"top"))},{default:S(()=>[...f[18]||(f[18]=[L(" Copy locator ",-1)])]),_:1},8,["trailing-icon"]),$(N,{size:"xs",color:"neutral",variant:"outline",icon:t(y)==="fix-prompt"?"i-lucide-check":"i-lucide-sparkles",title:"Copy an instruction an AI coding agent can apply directly to the test",onClick:ze},{default:S(()=>[...f[19]||(f[19]=[L(" Copy fix prompt ",-1)])]),_:1},8,["icon"])])])):k("",!0),t(C)?.hasDurableAlternative&&t(C).durable?(n(),l("div",ko,[$(ue,{name:"i-lucide-shield-check",class:"size-5 text-success shrink-0"}),d("div",_o,[d("p",$o," Most stable option (score: "+p(t(C).durable.score)+") ",1),d("code",wo,p(t(C).durable.locator),1),f[20]||(f[20]=d("p",{class:"text-xs text-gray-500 mt-0.5"},"Sturdier, but changes the locator style",-1))]),$(N,{size:"sm",color:"neutral",variant:"outline","trailing-icon":t(y)==="durable"?"i-lucide-check":"i-lucide-copy",onClick:f[4]||(f[4]=V=>K(t(C).durable.locator,"durable"))},{default:S(()=>[...f[21]||(f[21]=[L(" Copy ",-1)])]),_:1},8,["trailing-icon"])])):k("",!0),d("div",Co,[f[22]||(f[22]=d("p",{class:"text-xs font-medium text-gray-500"},"All alternatives",-1)),(n(!0),l(D,null,ne(t(ke),(V,ie)=>(n(),P(Te,{key:ie,alt:V,copied:t(y)===`alt-${ie}`,onCopy:u=>K(V.locator,`alt-${ie}`)},null,8,["alt","copied","onCopy"]))),128)),t(c).length>nt?(n(),P(N,{key:0,size:"xs",variant:"ghost",color:"neutral",block:"",icon:t(te)?"i-lucide-chevron-up":"i-lucide-chevron-down",onClick:f[5]||(f[5]=V=>te.value=!t(te))},{default:S(()=>[L(p(t(te)?"Show fewer":`Show all ${t(c).length} alternatives`),1)]),_:1},8,["icon"])):k("",!0)]),t(T).length?(n(),l("div",So,[f[23]||(f[23]=d("p",{class:"text-xs font-medium text-gray-500 mb-2"},"From the failing page",-1)),d("div",To,[(n(!0),l(D,null,ne(t(T),(V,ie)=>(n(),P(Te,{key:ie,alt:V,note:"candidate from the failure-time ARIA snapshot",copied:t(y)===`supp-${ie}`,onCopy:u=>K(V.locator,`supp-${ie}`)},null,8,["alt","copied","onCopy"]))),128))])])):k("",!0),t(C)?.suggestAddTestId?(n(),P(me,{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."})):k("",!0),t(o)?.source==="aria-snapshot"?(n(),P(me,{key:8,class:"mt-3",color:"info",icon:"i-lucide-info",variant:"subtle"},{description:S(()=>[f[25]||(f[25]=L(" No HTML attributes were available. ",-1)),$(se,{to:"capture-fixtures","no-icon":"",class:"text-primary hover:underline"},{default:S(()=>[...f[24]||(f[24]=[L("Enable Piwi fixture capture",-1)])]),_:1}),f[26]||(f[26]=L(" for full alternatives including data-testid and CSS selectors. ",-1))]),_:1})):k("",!0)]),_:2},[e.storageKey?{name:"folded",fn:S(()=>[t(C)?.recommended?(n(),l("code",Jn,p(t(C).recommended.locator),1)):(n(),l("span",Qn,p(t(c).length)+" alternative"+p(t(c).length===1?"":"s"),1))]),key:"0"}:void 0,t(E)||t(o)?.failingLocator?{name:"actions",fn:S(()=>[d("div",Xn,[t(o)?.failingLocator?(n(),P(N,{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:f[0]||(f[0]=V=>O.value=!0)},{default:S(()=>[...f[9]||(f[9]=[L(" Pick from snapshot ",-1)])]),_:1})):k("",!0),t(E)?(n(),P(N,{key:1,to:t(E),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:S(()=>[...f[10]||(f[10]=[L(" Pick from trace ",-1)])]),_:1},8,["to"])):k("",!0)])]),key:"1"}:void 0]),1040,["count"])):!t(a)&&!t(s)&&!t(g)?(n(),P(Se(t(i)),Ue({key:1},t(m),{icon:"i-lucide-bandage",title:"Alternative locators",subtitle:"No alternatives available",help:"locator-healing"}),Ae({default:S(()=>[$(me,{color:"neutral",icon:"i-lucide-info",variant:"subtle"},{description:S(()=>[f[31]||(f[31]=L(" No pre-captured alternatives — this locator has never passed in a previous run. ",-1)),$(se,{to:"capture-fixtures","no-icon":"",class:"text-primary hover:underline"},{default:S(()=>[...f[30]||(f[30]=[L("Enable Piwi dashboard fixtures",-1)])]),_:1}),f[32]||(f[32]=L(" 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:S(()=>[f[27]||(f[27]=d("span",null,"No alternatives available",-1))]),key:"0"}:void 0,t(E)||t(o)?.failingLocator?{name:"actions",fn:S(()=>[d("div",Lo,[t(o)?.failingLocator?(n(),P(N,{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:f[6]||(f[6]=V=>O.value=!0)},{default:S(()=>[...f[28]||(f[28]=[L(" Pick from snapshot ",-1)])]),_:1})):k("",!0),t(E)?(n(),P(N,{key:1,to:t(E),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:S(()=>[...f[29]||(f[29]=[L(" Pick from trace ",-1)])]),_:1},8,["to"])):k("",!0)])]),key:"1"}:void 0]),1040)):k("",!0),t(o)?.failingLocator?(n(),P(Hn,{key:2,open:t(O),"onUpdate:open":f[7]||(f[7]=V=>Oe(O)?O.value=V:null),"run-id":e.runId,"test-runs-case-id":e.testRunsCaseId,"failing-locator":t(o).failingLocator,healing:t(o),onConfirmed:ce,onClose:f[8]||(f[8]=V=>O.value=!1)},null,8,["open","run-id","test-runs-case-id","failing-locator","healing"])):k("",!0)],64)}}}),wa=Object.assign(Ao,{__name:"LocatorHealingPanel"}),Io={key:1,class:"space-y-2"},zo={class:"text-xs font-medium text-gray-500 dark:text-gray-400 sm:w-40 shrink-0"},Bo={class:"flex flex-wrap items-center gap-1.5 min-w-0 text-xs font-mono"},Ro={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"},Po={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"},Oo={key:0,class:"text-xs text-gray-400 dark:text-gray-500"},Uo={key:0},Eo=oe({__name:"EnvironmentDiffCard",props:{runId:{},testRunsCaseId:{},storageKey:{}},setup(e,{expose:r}){const i=e,m=w(()=>i.storageKey?Ke:Ne),o=w(()=>i.storageKey?{storageKey:i.storageKey}:{}),{data:a,pending:s,error:g}=Ee(()=>`/api/test-runs/${i.runId}/cases/${i.testRunsCaseId}/environment-diff`,{lazy:!0},"$yASgALxNz3"),c=w(()=>a.value?.entries??[]),h=w(()=>c.value.filter(z=>!z.informational)),C=w(()=>c.value.filter(z=>z.informational)),T=w(()=>{const z=a.value?.baseline;if(!z)return"";const B=z.startTime?` · ${We(new Date(z.startTime))}`:"";return`vs last pass in run #${z.runId}${B}`}),x=w(()=>{if(a.value?.status!=="ok")return"No passing baseline to compare against";const z=h.value.length;return z===0?"Identical to last pass — no environment drift":`${z} change${z===1?"":"s"}: ${h.value.map(B=>B.label).join(", ")}`}),A=j(null);return r({reveal:()=>A.value?.reveal?.()}),(z,B)=>{const Z=Ze,Y=ye;return!t(s)&&!t(g)&&t(a)?.status==="ok"?(n(),P(Se(t(m)),Ue({key:0,ref_key:"card",ref:A},t(o),{icon:"i-lucide-git-compare-arrows",title:"Environment diff",count:t(h).length||void 0,help:"environment-diff",subtitle:t(T)}),Ae({default:S(()=>[t(c).length===0?(n(),P(Z,{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."})):(n(),l("div",Io,[(n(!0),l(D,null,ne(t(h),E=>(n(),l("div",{key:E.key,class:"rounded-lg border border-default p-3 flex flex-col gap-1 sm:flex-row sm:items-center sm:gap-3"},[d("span",zo,p(E.label),1),d("div",Bo,[d("code",Ro,p(E.failing??"(unset)"),1),$(Y,{name:"i-lucide-arrow-left",class:"size-3 shrink-0 text-gray-400"}),d("code",Po,p(E.baseline??"(unset)"),1)])]))),128)),t(C).length>0?(n(),l("p",Oo,[B[0]||(B[0]=L(" Also changed (varies naturally between runs): ",-1)),(n(!0),l(D,null,ne(t(C),(E,O)=>(n(),l("span",{key:E.key},[L(p(E.label.toLowerCase())+" "+p(E.baseline??"—")+" → "+p(E.failing??"—"),1),O<t(C).length-1?(n(),l("span",Uo,", ")):k("",!0)]))),128))])):k("",!0)]))]),_:2},[e.storageKey?{name:"folded",fn:S(()=>[d("span",null,p(t(x)),1)]),key:"0"}:void 0]),1040,["count","subtitle"])):k("",!0)}}}),Ca=Object.assign(Eo,{__name:"EnvironmentDiffCard"}),Mo={class:"absolute top-4 left-4 text-white/70 text-sm font-medium"},jo=["src","alt"],No=oe({__name:"ScreenshotLightbox",props:{images:{},modelValue:{}},emits:["update:modelValue"],setup(e,{emit:r}){const i=e,m=r,o=w(()=>i.modelValue!==null);function a(){m("update:modelValue",null)}function s(){i.modelValue!==null&&i.modelValue>0&&m("update:modelValue",i.modelValue-1)}function g(){i.modelValue!==null&&i.modelValue<i.images.length-1&&m("update:modelValue",i.modelValue+1)}const c=w(()=>i.modelValue===null?null:i.images[i.modelValue]??null);function h(C){o.value&&(C.key==="Escape"&&a(),C.key==="ArrowLeft"&&s(),C.key==="ArrowRight"&&g())}return st(()=>window.addEventListener("keydown",h)),xt(()=>window.removeEventListener("keydown",h)),(C,T)=>{const x=ye;return n(),P(bt,{to:"body"},[$(kt,{name:"lightbox"},{default:S(()=>[o.value?(n(),l("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center bg-black/90",onClick:he(a,["self"])},[d("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:a},[$(x,{name:"i-lucide-x",class:"size-6"})]),d("div",Mo,p((e.modelValue??0)+1)+" / "+p(e.images.length),1),e.images.length>1&&(e.modelValue??0)>0?(n(),l("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:s},[$(x,{name:"i-lucide-chevron-left",class:"size-6"})])):k("",!0),c.value?(n(),l("img",{key:1,src:c.value.src,alt:c.value.name,class:"max-h-[90vh] max-w-[90vw] object-contain rounded-lg",onClick:T[0]||(T[0]=he(()=>{},["stop"]))},null,8,jo)):k("",!0),e.images.length>1&&(e.modelValue??0)<e.images.length-1?(n(),l("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:g},[$(x,{name:"i-lucide-chevron-right",class:"size-6"})])):k("",!0)])):k("",!0)]),_:1})])}}}),ut=Object.assign(_t(No,[["__scopeId","data-v-c02b1e9b"]]),{__name:"ScreenshotLightbox"}),Ko={class:"flex justify-end mb-2"},Vo={key:1,class:"rounded overflow-hidden border border-default bg-gray-50 dark:bg-gray-900"},Do=["src"],Ho={key:2,class:"grid grid-cols-1 sm:grid-cols-2 gap-2"},Fo={class:"rounded overflow-hidden border border-red-200 dark:border-red-900 bg-gray-50 dark:bg-gray-900"},qo=["src"],Zo={class:"rounded overflow-hidden border border-green-200 dark:border-green-900 bg-gray-50 dark:bg-gray-900"},Wo={class:"px-2 py-1 text-[10px] font-medium text-green-600 dark:text-green-400"},Go=["src"],Yo=oe({__name:"VisualDiffCard",props:{runId:{},testRunsCaseId:{},storageKey:{}},setup(e,{expose:r}){const i=e,m=w(()=>i.storageKey?Ke:Ne),o=w(()=>i.storageKey?{storageKey:i.storageKey}:{}),a=je(),{data:s,pending:g,error:c}=Ee(()=>`/api/test-runs/${i.runId}/cases/${i.testRunsCaseId}/visual-diff`,{lazy:!0},"$nTbSHl3faK"),h=w(()=>s.value?.status==="ok"?s.value.diff??null:null),C=j("overlay"),T=[{label:"Overlay",value:"overlay"},{label:"Side by side",value:"side-by-side"}],x=w(()=>h.value?Pe(h.value.path,"image/png",a.app?.baseURL):""),A=w(()=>h.value?Pe(h.value.failingPath,null,a.app?.baseURL):""),z=w(()=>h.value?Pe(h.value.baselinePath,null,a.app?.baseURL):""),B=w(()=>h.value?(h.value.changedPixelRatio*100).toFixed(2):"0"),Z=w(()=>{const ee=h.value?.changedPixelRatio??0;return ee>.1?"error":ee>.01?"warning":"success"}),Y=w(()=>h.value?h.value.dimensionMismatch?`${B.value}% changed — dimensions differ, unreliable`:`${B.value}% of pixels changed vs last pass`:"No comparable screenshots"),E=w(()=>h.value?[{src:A.value,name:"Failing screenshot"},{src:z.value,name:"Last passing screenshot"},{src:x.value,name:"Diff overlay"}]:[]),O=j(null),ce=j(null);return r({reveal:()=>ce.value?.reveal?.()}),(ee,y)=>{const H=Ie,M=Ze,K=Rt,W=ut;return!t(g)&&!t(c)&&t(h)?(n(),P(Se(t(m)),Ue({key:0,ref_key:"card",ref:ce},t(o),{icon:"i-lucide-images",title:"Visual diff",help:"visual-diff"}),Ae({subtitle:S(()=>[d("span",null,"vs last pass in run #"+p(t(h).baselineRunId),1)]),actions:S(()=>[$(H,{color:t(Z),variant:"subtle",size:"sm",class:"font-mono tabular-nums"},{default:S(()=>[L(p(t(B))+"% changed ",1)]),_:1},8,["color"])]),default:S(()=>[t(h).dimensionMismatch?(n(),P(M,{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."})):k("",!0),d("div",Ko,[$(K,{modelValue:t(C),"onUpdate:modelValue":y[0]||(y[0]=F=>Oe(C)?C.value=F:null),items:T,size:"xs",content:!1,ui:{list:"overflow-x-auto",trigger:"shrink-0"}},null,8,["modelValue"])]),t(C)==="overlay"?(n(),l("div",Vo,[d("img",{src:t(x),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:y[1]||(y[1]=F=>O.value=2),onKeydown:[y[2]||(y[2]=ge(F=>O.value=2,["enter"])),y[3]||(y[3]=ge(he(F=>O.value=2,["prevent"]),["space"]))]},null,40,Do),y[11]||(y[11]=d("p",{class:"px-2 py-1 text-[10px] text-gray-500"},"Red pixels mark differences against the last passing run",-1))])):(n(),l("div",Ho,[d("div",Fo,[y[12]||(y[12]=d("p",{class:"px-2 py-1 text-[10px] font-medium text-red-600 dark:text-red-400"},"Failing",-1)),d("img",{src:t(A),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:y[4]||(y[4]=F=>O.value=0),onKeydown:[y[5]||(y[5]=ge(F=>O.value=0,["enter"])),y[6]||(y[6]=ge(he(F=>O.value=0,["prevent"]),["space"]))]},null,40,qo)]),d("div",Zo,[d("p",Wo," Last pass (run #"+p(t(h).baselineRunId)+") ",1),d("img",{src:t(z),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:y[7]||(y[7]=F=>O.value=1),onKeydown:[y[8]||(y[8]=ge(F=>O.value=1,["enter"])),y[9]||(y[9]=ge(he(F=>O.value=1,["prevent"]),["space"]))]},null,40,Go)])])),$(W,{modelValue:t(O),"onUpdate:modelValue":y[10]||(y[10]=F=>Oe(O)?O.value=F:null),images:t(E)},null,8,["modelValue","images"])]),_:2},[e.storageKey?{name:"folded",fn:S(()=>[d("span",null,p(t(Y)),1)]),key:"0"}:void 0]),1040)):k("",!0)}}}),Sa=Object.assign(Yo,{__name:"VisualDiffCard"}),Jo={class:"max-h-96 overflow-y-auto"},Qo={key:0,class:"mt-2 text-xs text-gray-400 dark:text-gray-500"},Fe=2e4,Xo=oe({__name:"DomSnapshotCard",props:{runId:{},testRunsCaseId:{},storageKey:{}},setup(e,{expose:r}){const i=e,m=w(()=>i.storageKey?Ke:Ne),o=w(()=>i.storageKey?{storageKey:i.storageKey}:{}),{data:a,pending:s,error:g}=Ee(()=>`/api/test-runs/${i.runId}/cases/${i.testRunsCaseId}/dom-snapshot`,{lazy:!0},"$AxHFpokm2o"),c=w(()=>(a.value?.html??"").slice(0,Fe)),h=w(()=>(a.value?.html?.length??0)>Fe),C=w(()=>{const z=a.value;return!z||z.status!=="ok"?"":`${Math.round((z.html?.length??0)/1024)} KB · rendered from the uploaded trace${z.snapshotName?` (${z.snapshotName})`:""}`}),{copy:T,copied:x}=Ge(),A=j(null);return r({reveal:()=>A.value?.reveal?.()}),(z,B)=>{const Z=Me,Y=Pt,E=Ot;return!t(s)&&!t(g)&&t(a)?.status==="ok"&&t(a).html?(n(),P(Se(t(m)),Ue({key:0,ref_key:"card",ref:A},t(o),{icon:"i-lucide-file-code",title:"DOM snapshot",help:"dom-snapshot",subtitle:t(C)}),Ae({actions:S(()=>[$(Y,{text:t(x)?"Copied!":"Copy full HTML"},{default:S(()=>[$(Z,{size:"xs",variant:"ghost",color:"neutral",icon:t(x)?"i-lucide-check":"i-lucide-clipboard",onClick:B[0]||(B[0]=O=>t(T)(t(a).html))},null,8,["icon"])]),_:1},8,["text"])]),default:S(()=>[d("div",Jo,[$(E,{code:t(c),lang:"xml"},null,8,["code"])]),t(h)||t(a).truncated?(n(),l("p",Qo,[t(h)?(n(),l(D,{key:0},[L("Showing the first "+p(Math.round(Fe/1e3))+"k characters — use Copy for the full document.",1)],64)):(n(),l(D,{key:1},[L("The snapshot was truncated to its size cap.")],64))])):k("",!0)]),_:2},[e.storageKey?{name:"folded",fn:S(()=>[d("span",null,"Failure-time HTML extracted from the trace — "+p(Math.round((t(a).html.length??0)/1024))+" KB",1)]),key:"0"}:void 0]),1040,["subtitle"])):k("",!0)}}}),Ta=Object.assign(Xo,{__name:"DomSnapshotCard"}),es={class:"rounded-md border border-default overflow-hidden"},ts={class:"text-xs font-semibold text-gray-600 dark:text-gray-300 flex-1"},ns={key:0,class:"text-gray-400 font-normal ml-1"},os={key:0},ss=oe({__name:"TestEvidenceSection",props:qe({icon:{},label:{},count:{},collapsible:{type:Boolean}},{open:{type:Boolean,default:!1},openModifiers:{}}),emits:["update:open"],setup(e){const r=e,i=ot(e,"open"),m=w(()=>r.collapsible===!1||i.value);return(o,a)=>{const s=ye;return n(),l("div",es,[(n(),P(Se(e.collapsible===!1?"div":"button"),{class:re(["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:a[0]||(a[0]=g=>e.collapsible!==!1&&(i.value=!i.value))},{default:S(()=>[$(s,{name:e.icon,class:"size-3.5 shrink-0 text-primary/70"},null,8,["name"]),d("span",ts,[L(p(e.label),1),e.count!=null?(n(),l("span",ns,"("+p(e.count)+")",1)):k("",!0)]),e.collapsible!==!1?(n(),P(s,{key:0,name:i.value?"i-lucide-chevron-up":"i-lucide-chevron-down",class:"size-3.5 text-gray-400"},null,8,["name"])):k("",!0)]),_:1},8,["class"])),t(m)?(n(),l("div",os,[Re(o.$slots,"default")])):k("",!0)])}}}),Ye=Object.assign(ss,{__name:"TestEvidenceSection"}),as={class:"grid grid-cols-2 gap-2 p-2 bg-gray-50 dark:bg-gray-900"},rs=["aria-label","onClick","onKeydown"],is=["src","alt"],ls={class:"absolute inset-0 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity bg-black/30"},cs={class:"absolute bottom-0 inset-x-0 px-1.5 py-0.5 text-[10px] text-white bg-black/50 truncate"},us=oe({__name:"TestEvidenceScreenshots",props:{attachments:{}},setup(e){const r=e,i=je();function m(s){return s.split("/").pop()||s}const o=w(()=>r.attachments.filter(s=>Et(s.path,s.contentType)).map(s=>({src:Pe(s.path,s.contentType,i.app?.baseURL),name:s.name||m(s.path)}))),a=j(null);return(s,g)=>{const c=ye,h=ut,C=Ye;return t(o).length>0?(n(),P(C,{key:0,icon:"i-lucide-image",label:"Screenshots",count:t(o).length,collapsible:!1},{default:S(()=>[d("div",as,[(n(!0),l(D,null,ne(t(o),(T,x)=>(n(),l("div",{key:T.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 ${T.name}`,onClick:A=>a.value=x,onKeydown:[ge(A=>a.value=x,["enter"]),ge(he(A=>a.value=x,["prevent"]),["space"])]},[d("img",{src:T.src,alt:T.name,class:"w-full h-28 object-cover object-top transition-opacity group-hover:opacity-80",loading:"lazy"},null,8,is),d("div",ls,[$(c,{name:"i-lucide-zoom-in",class:"size-5 text-white"})]),d("p",cs,p(T.name),1)],40,rs))),128))]),$(h,{modelValue:t(a),"onUpdate:modelValue":g[0]||(g[0]=T=>Oe(a)?a.value=T:null),images:t(o)},null,8,["modelValue","images"])]),_:1},8,["count"])):k("",!0)}}}),La=Object.assign(us,{__name:"TestEvidenceScreenshots"}),ds={class:"m-0"},ms={class:"bg-black rounded overflow-hidden"},fs=["src"],ps=["title"],gs=oe({__name:"VideoPlayer",props:{src:{},label:{}},setup(e){return(r,i)=>(n(),l("figure",ds,[d("div",ms,[d("video",{src:e.src,controls:"",preload:"metadata",class:"w-full max-h-96"}," Your browser does not support the video tag. ",8,fs)]),e.label?(n(),l("figcaption",{key:0,class:"mt-1 text-xs text-gray-400 truncate",title:e.label},p(e.label),9,ps)):k("",!0)]))}}),hs=Object.assign(gs,{__name:"VideoPlayer"}),vs={class:"space-y-2 p-2 bg-gray-50 dark:bg-gray-900"},ys=oe({__name:"TestEvidenceVideos",props:{attachments:{}},setup(e){const r=e,i=je();function m(a){return a.split("/").pop()||a}const o=w(()=>r.attachments.filter(a=>Mt(a.path,a.contentType)).map(a=>({src:Pe(a.path,a.contentType,i.app?.baseURL),name:a.name||m(a.path)})));return(a,s)=>{const g=hs,c=Ye;return t(o).length>0?(n(),P(c,{key:0,icon:"i-lucide-video",label:"Videos",count:t(o).length,collapsible:!1},{default:S(()=>[d("div",vs,[(n(!0),l(D,null,ne(t(o),h=>(n(),P(g,{key:h.src,src:h.src,label:h.name},null,8,["src","label"]))),128))])]),_:1},8,["count"])):k("",!0)}}}),Aa=Object.assign(ys,{__name:"TestEvidenceVideos"}),xs={class:"flex items-center justify-between gap-2"},bs={class:"flex items-center gap-2 min-w-0"},ks={class:"text-sm truncate"},_s={key:0,class:"text-xs text-gray-400 shrink-0"},$s={key:1,class:"text-xs text-gray-400 shrink-0"},ws={class:"flex items-center gap-1.5 shrink-0"},Cs=oe({__name:"TraceListItem",props:{trace:{},showTime:{type:Boolean,default:!0}},setup(e){const r=e,i=je(),m=w(()=>(i.app?.baseURL??"/").replace(/\/$/,"")),o=w(()=>!!i.public.demoMode&&r.trace.filePath.startsWith("demo/")),a=w(()=>r.trace.filePath.split("/").pop()||r.trace.filePath),s=w(()=>at(r.trace.filePath,i.app?.baseURL,o.value)),g=w(()=>o.value?`${m.value}/${r.trace.filePath}`:`${m.value}/api/files/${At(r.trace.filePath)}`);return(c,h)=>{const C=ye,T=Me;return n(),l("div",xs,[d("div",bs,[$(C,{name:"i-lucide-file-archive",class:"size-4 text-gray-400 shrink-0"}),d("span",ks,p(t(a)),1),e.trace.size?(n(),l("span",_s,p(("formatBytes"in c?c.formatBytes:t(Lt))(e.trace.size)),1)):k("",!0),e.showTime?(n(),l("span",$s,p(("formatRelativeTime"in c?c.formatRelativeTime:t(We))(e.trace.createdAt)),1)):k("",!0)]),d("div",ws,[$(T,{to:t(s),target:"_blank",icon:"i-lucide-bug-play",size:"xs",label:"View trace"},null,8,["to"]),$(T,{to:t(g),target:"_blank",icon:"i-lucide-download",size:"xs",color:"neutral",variant:"soft",label:"Download"},null,8,["to"])])])}}}),Ss=Object.assign(Cs,{__name:"TraceListItem"}),Ts={key:0,class:"flex items-center justify-center py-4"},Ls={key:1,class:"divide-y divide-default"},As=oe({__name:"TestEvidenceTraces",props:{traces:{},loading:{type:Boolean}},setup(e){return(r,i)=>{const m=ye,o=Ss,a=Ye;return e.loading||e.traces.length>0?(n(),P(a,{key:0,icon:"i-lucide-bug-play",label:"Traces",count:e.traces.length||null,collapsible:!1},{default:S(()=>[e.loading&&!e.traces.length?(n(),l("div",Ts,[$(m,{name:"i-lucide-loader-circle",class:"size-4 animate-spin text-gray-400"})])):(n(),l("div",Ls,[(n(!0),l(D,null,ne(e.traces,s=>(n(),P(o,{key:s.id,trace:s,class:"px-3 py-2"},null,8,["trace"]))),128))]))]),_:1},8,["count"])):k("",!0)}}}),Ia=Object.assign(As,{__name:"TestEvidenceTraces"}),Is={class:"space-y-2"},zs={key:0,class:"rounded-lg border border-default overflow-hidden"},Bs=["title"],Rs={key:2,class:"truncate text-gray-400 dark:text-gray-500"},Ps={class:"font-mono"},Os={key:0,class:"overflow-x-auto text-xs font-mono leading-relaxed py-1"},Us={class:"min-w-max"},Es={key:1,class:"rounded-lg border border-dashed border-default"},Ms=["onClick"],js={key:0,class:"px-3 pb-2 space-y-1"},Ns=["title"],Ks={key:0,class:"truncate font-mono shrink-0"},Vs=oe({__name:"TraceCallStack",props:{frames:{},projectKey:{},projectName:{}},setup(e){const r=e,i=w(()=>{if(!r.frames.some(T=>T.inProject))return r.frames.map((T,x)=>({kind:"frame",frame:T,frameIndex:x}));const c=[];let h=[];const C=()=>{h.length!==0&&(c.push({kind:"group",frames:h,key:`group-${c.length}`}),h=[])};return r.frames.forEach((T,x)=>{T.inProject?(C(),c.push({kind:"frame",frame:T,frameIndex:x})):h.push(T)}),C(),c}),m=w(()=>{const g=r.frames.findIndex(c=>c.inProject);return g>=0?g:0}),o=j(new Set);function a(g){const c=new Set(o.value);c.has(g)?c.delete(g):c.add(g),o.value=c}function s(g){return g.source?g.source.lines.map((c,h)=>{const C=g.source.startLine+h;return{lineNo:C,text:c,failing:C===g.line}}):[]}return(g,c)=>{const h=ye,C=rt,T=Ie;return n(),l("div",Is,[(n(!0),l(D,null,ne(t(i),x=>(n(),l(D,{key:x.kind==="frame"?`f-${x.frameIndex}`:x.key},[x.kind==="frame"?(n(),l("div",zs,[d("div",{class:re(["flex items-center gap-2 px-3 py-1.5 bg-elevated/40 text-xs",x.frame.source?"border-b border-default":""])},[$(h,{name:x.frameIndex===t(m)?"i-lucide-circle-x":"i-lucide-corner-left-up",class:re([x.frameIndex===t(m)?"text-red-500":"text-gray-400","size-3.5 shrink-0"])},null,8,["name","class"]),x.frame.inProject?(n(),P(C,{key:0,"file-path":x.frame.file,line:x.frame.line,column:x.frame.column,"project-key":e.projectKey,"project-name":e.projectName,class:"min-w-0"},null,8,["file-path","line","column","project-key","project-name"])):(n(),l("code",{key:1,class:"truncate text-gray-500 dark:text-gray-400",title:x.frame.absFile||x.frame.file},p(x.frame.file)+":"+p(x.frame.line),9,Bs)),x.frame.functionName?(n(),l("span",Rs,[c[0]||(c[0]=L(" in ",-1)),d("span",Ps,p(x.frame.functionName),1)])):k("",!0),$(T,{color:x.frameIndex===t(m)?"error":"neutral",variant:"subtle",size:"xs",class:"ml-auto shrink-0"},{default:S(()=>[L(p(x.frameIndex===t(m)?"Failed here":"Caller"),1)]),_:2},1032,["color"])],2),x.frame.source?(n(),l("div",Os,[d("div",Us,[(n(!0),l(D,null,ne(s(x.frame),A=>(n(),l("div",{key:A.lineNo,class:re(["px-3 whitespace-pre flex",A.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"])},[d("span",{class:re(["w-10 shrink-0 text-right pr-3 tabular-nums select-none",A.failing?"text-red-400 dark:text-red-500":"text-gray-300 dark:text-gray-600"])},p(A.lineNo),3),d("span",null,p(A.text),1)],2))),128))])])):k("",!0)])):(n(),l("div",Es,[d("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:A=>a(x.key)},[$(h,{name:t(o).has(x.key)?"i-lucide-chevron-down":"i-lucide-chevron-right",class:"size-3.5 shrink-0"},null,8,["name"]),L(" "+p(x.frames.length)+" frame"+p(x.frames.length===1?"":"s")+" in dependencies ",1)],8,Ms),t(o).has(x.key)?(n(),l("div",js,[(n(!0),l(D,null,ne(x.frames,(A,z)=>(n(),l("div",{key:z,class:"flex items-center gap-2 text-xs text-gray-400 dark:text-gray-500 min-w-0"},[$(h,{name:"i-lucide-corner-left-up",class:"size-3 shrink-0"}),d("code",{class:"truncate",title:A.absFile||A.file},p(A.file)+":"+p(A.line),9,Ns),A.functionName?(n(),l("span",Ks,p(A.functionName),1)):k("",!0)]))),128))])):k("",!0)]))],64))),128))])}}}),za=Object.assign(Vs,{__name:"TraceCallStack"}),Ds={class:"space-y-2"},Hs={class:"flex items-center gap-2 px-3 py-1.5 bg-elevated/40 border-b border-default text-xs"},Fs={class:"overflow-x-auto text-xs font-mono leading-relaxed py-1"},qs={class:"min-w-max"},Zs=oe({__name:"TestSourceStack",props:{frames:{},projectKey:{},projectName:{}},setup(e){function r(i){return i.split(`
|
|
5
|
-
`).map(m=>({text:m,failing:m.startsWith(">")}))}return(i,m)=>{const o=ye,a=rt,s=Ie;return n(),l("div",Ds,[(n(!0),l(D,null,ne(e.frames,(g,c)=>(n(),l("div",{key:`${g.file}:${g.line}:${c}`,class:"rounded-lg border border-default overflow-hidden"},[d("div",Hs,[$(o,{name:c===0?"i-lucide-circle-x":"i-lucide-corner-left-up",class:re([c===0?"text-red-500":"text-gray-400","size-3.5 shrink-0"])},null,8,["name","class"]),$(a,{"file-path":g.file,line:g.line,"project-key":e.projectKey,"project-name":e.projectName,class:"min-w-0"},null,8,["file-path","line","project-key","project-name"]),$(s,{color:c===0?"error":"neutral",variant:"subtle",size:"xs",class:"ml-auto shrink-0"},{default:S(()=>[L(p(c===0?"Failed here":"Caller"),1)]),_:2},1032,["color"])]),d("div",Fs,[d("div",qs,[(n(!0),l(D,null,ne(r(g.snippet),(h,C)=>(n(),l("div",{key:C,class:re(["px-3 whitespace-pre",h.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(h.text),3))),128))])])]))),128))])}}}),Ba=Object.assign(Zs,{__name:"TestSourceStack"}),Ws={class:"space-y-3 text-sm"},Gs={key:0,class:"flex flex-col gap-0.5"},Ys={class:"text-xs font-mono break-all"},Js={key:1,class:"flex flex-col gap-0.5"},Qs={class:"text-xs font-mono break-all"},Xs={class:"grid grid-cols-1 gap-3 sm:grid-cols-2"},ea={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},ta={key:0,class:"text-xs text-gray-400"},na={key:1,class:"mt-1 space-y-0.5"},oa={class:"text-gray-400"},sa={class:"text-xs font-medium text-gray-500 dark:text-gray-400"},aa={key:0,class:"text-xs text-gray-400"},ra={key:1,class:"mt-1 space-y-0.5"},ia={key:0,class:"text-gray-400"},la={class:"text-gray-400"},ca=oe({__name:"PageStateCard",props:{pageState:{},storageKey:{},plain:{type:Boolean}},setup(e){const r=e,i=w(()=>r.plain?"div":r.storageKey?Ke:Ne),m=w(()=>r.plain?{}:{icon:"i-lucide-database",title:"App state at test end",help:"page-state",...r.storageKey?{storageKey:r.storageKey}:{}}),o=s=>[s.httpOnly?"HttpOnly":null,s.secure?"Secure":null,s.sameSite??null].filter(Boolean).join(", "),a=w(()=>{const s=r.pageState;return[`${s.localStorage.length} localStorage`,`${s.sessionStorage.length} sessionStorage`,`${s.cookies.length} cookie${s.cookies.length===1?"":"s"}`].join(" · ")});return(s,g)=>(n(),P(Se(t(i)),$t(wt(t(m))),Ae({default:S(()=>[d("div",Ws,[e.pageState.url?(n(),l("div",Gs,[g[0]||(g[0]=d("span",{class:"text-xs font-medium text-gray-500 dark:text-gray-400"},"URL",-1)),d("code",Ys,p(e.pageState.url)+p(e.pageState.hash??""),1)])):k("",!0),e.pageState.historyState?(n(),l("div",Js,[g[1]||(g[1]=d("span",{class:"text-xs font-medium text-gray-500 dark:text-gray-400"},"History state",-1)),d("code",Qs,p(e.pageState.historyState),1)])):k("",!0),d("div",Xs,[(n(!0),l(D,null,ne({localStorage:e.pageState.localStorage,sessionStorage:e.pageState.sessionStorage},(c,h)=>(n(),l("div",{key:h},[d("span",ea,p(h)+" ("+p(c.length)+")",1),c.length===0?(n(),l("p",ta,"empty")):(n(),l("ul",na,[(n(!0),l(D,null,ne(c,C=>(n(),l("li",{key:C.key,class:"text-xs font-mono truncate"},[L(p(C.key)+" ",1),d("span",oa,"("+p(C.length)+" ch)",1)]))),128))]))]))),128))]),d("div",null,[d("span",sa,"Cookies ("+p(e.pageState.cookies.length)+")",1),e.pageState.cookies.length===0?(n(),l("p",aa,"none")):(n(),l("ul",ra,[(n(!0),l(D,null,ne(e.pageState.cookies,c=>(n(),l("li",{key:c.name+c.domain,class:"text-xs font-mono truncate"},[L(p(c.name)+" ",1),o(c)?(n(),l("span",ia,"["+p(o(c))+"]",1)):k("",!0),d("span",la,"· "+p(c.domain),1)]))),128))]))]),g[2]||(g[2]=d("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:S(()=>[d("span",null,p(t(a)),1)]),key:"0"}:void 0]),1040))}}),Ra=Object.assign(ca,{__name:"PageStateCard"});export{Ye as _,La as a,Aa as b,Ia as c,za as d,Ba as e,Ra as f,Gt as g,Ke as h,wa as i,Ca as j,Sa as k,Ta as l,Ss as m,hs as n,ut as o};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{d as ve,o as k,f as L,g as T,T as N,U as Y,k as l,V as na,a0 as Le,a1 as Ee,b3 as at,a4 as je,b0 as Ua,a2 as Ke,a3 as $e,c as V,j as E,_ as xe,bC as sa,aa as At,i as X,p as K,F as he,y as _e,bD as ia,q as z,Z as Te,$ as Ie,h as O,bE as nt,b4 as De,bx as Be,a6 as Me,bF as la,L as Va,ao as oa,O as ra,K as Ne,at as Tt,H as Wa,r as U,bo as Ga,W as Ja,Y as Ya,B as re,G as It,as as Qa,C as Dt,ad as Xa,ab as Za,a5 as st,bs as en,bv as tn,bG as an,bH as nn,m as me,t as ce,ae as sn,bI as ln,bJ as ua,al as ca,z as ze,u as Bt,aO as on,A as it,aA as rn,a9 as ge,bK as un,bL as cn,aP as da,aJ as fa,b1 as dn,aG as pe,b2 as fn,v as Ae,aH as pn,bu as hn,D as pa,Q as mn,bM as vn,bN as gn,aL as yn,a7 as ha,bO as bn,l as Pe,a as ma,w as va,bP as wn,b as kn,a_ as Sn,bQ as _n}from"./DHltYerF.js";import{a as ga,b as xn,_ as $n,c as Cn,p as An}from"./BbS6Bwby.js";import{_ as Tn}from"./D6PUPmRC.js";import{u as In,_ as Dn}from"./DRPSi76A.js";import{u as ya,I as Ht,V as Ut,J as Bn}from"./Df7kUO0m.js";import{_ as Ln}from"./CscWZxCi.js";import{D as En,a as Mn,b as On,c as Rn,d as Fn,e as ut,f as ct,g as Pn,_ as Lt}from"./B-5GukRk.js";import{h as jn,d as zn,e as qn,c as Kn,a as Nn,f as Hn,b as Un,L as Vn,g as Wn}from"./Bd3HqPMF.js";import{a as Gn,_ as Jn}from"./DHXWp5yD.js";import{_ as Yn}from"./B1zMFx24.js";import{_ as Qn}from"./DZ3Vfcpz.js";import{_ as Xn}from"./BOCwBVnz.js";import{_ as Zn}from"./BUXSUkJ_.js";import{_ as es}from"./B2oUeBbA.js";import{u as ba}from"./DXbPFI1d.js";import{u as wa,s as ts}from"./DWowvnwc.js";import{u as as}from"./hH1UFE3Z.js";import{u as ns}from"./oFM1KLWA.js";import"./CPLJeOCb.js";import"./C8OCrfDP.js";import"./r3SBLxtE.js";import"./Cnapl7lZ.js";import"./qH_j2A3a.js";import"./CcXaak_K.js";import"./BFP6M-20.js";import"./By4YL7mx.js";import"./e7zD3uJ0.js";import"./DkI145a5.js";var ss=ve({__name:"ListboxGroupLabel",props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(e){const t=e,n=jn({id:""});return(s,i)=>(k(),L(l(na),Y(t,{id:l(n).id}),{default:T(()=>[N(s.$slots,"default")]),_:3},16,["id"]))}}),is=ss;const ls={slots:{base:"",label:"",trailing:"hidden lg:flex items-center gap-0.5 ms-auto"},variants:{collapsed:{true:{label:"hidden",trailing:"lg:hidden"}}}},os=Object.assign({inheritAttrs:!1},{__name:"UDashboardSearchButton",props:{icon:{type:[String,Boolean],required:!1,skipCheck:!0},label:{type:String,required:!1},color:{type:null,required:!1,default:"neutral"},variant:{type:null,required:!1},collapsed:{type:Boolean,required:!1,default:!1},tooltip:{type:[Boolean,Object],required:!1,default:!1},kbds:{type:Array,required:!1,default:()=>["meta","k"]},ui:{type:Object,required:!1},class:{type:null,required:!1},activeColor:{type:null,required:!1},activeVariant:{type:null,required:!1},size:{type:null,required:!1},square:{type:Boolean,required:!1},block:{type:Boolean,required:!1},loadingAuto:{type:Boolean,required:!1},onClick:{type:[Function,Array],required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1},as:{type:null,required:!1},type:{type:null,required:!1},disabled:{type:Boolean,required:!1},exactActiveClass:{type:String,required:!1},viewTransition:{type:Boolean,required:!1}},setup(e){const t=e,n=Le(),s=Ee("dashboardSearchButton",t),[i,a]=at(),o=()=>nt(n,["trailing"]),u=je(Ua(s,"icon","label","variant","collapsed","tooltip","kbds","class","ui")),r=De(()=>Be(typeof s.tooltip=="boolean"?{}:s.tooltip,{delayDuration:0,content:{side:"right"}})),{t:v}=Ke(),h=$e(),{toggleSearch:m}=ga({toggleSearch:()=>{}}),f=O(()=>Me({extend:ls,...h.ui?.dashboardSearchButton||{}})({collapsed:s.collapsed}));return(c,p)=>(k(),V(he,null,[E(l(i),null,{default:T(()=>[E(xe,Y({icon:l(s).icon===!1?void 0:l(s).icon??l(h).ui.icons.search,label:l(s).label||l(v)("dashboardSearchButton.label"),variant:l(s).variant||(l(s).collapsed?"ghost":"outline")},{...l(u),...l(s).collapsed?{square:!0,"aria-label":l(s).label||l(v)("dashboardSearchButton.label")}:{},...c.$attrs},{class:f.value.base({class:[l(s).ui?.base,l(s).class]}),ui:l(sa)(f.value,l(s).ui),onClick:l(m)}),At({trailing:T(({ui:y})=>[X("span",{"data-slot":"trailing",class:K(f.value.trailing({class:l(s).ui?.trailing}))},[N(c.$slots,"trailing",{ui:y},()=>[l(s).kbds?.length?(k(!0),V(he,{key:0},_e(l(s).kbds,(I,j)=>(k(),L(ia,Y({key:j,variant:"subtle"},{ref_for:!0},typeof I=="string"?{value:I}:I),null,16))),128)):z("",!0)])],2)]),_:2},[_e(o(),(y,I)=>({name:I,fn:T(j=>[N(c.$slots,I,Te(Ie(j)))])}))]),1040,["icon","label","variant","class","ui","onClick"])]),_:3}),l(s).collapsed&&l(s).tooltip?(k(),L(Tn,Y({key:0,text:l(s).label||l(v)("dashboardSearchButton.label")},r.value),{default:T(()=>[E(l(a))]),_:1},16,["text"])):(k(),L(l(a),{key:1}))],64))}}),rs={class:"inline-flex items-center justify-center shrink-0 size-5"},us=ve({__name:"UserMenu",props:{collapsed:{type:Boolean}},setup(e){const t=la(),n=$e(),s=Ne(),{authState:i,logout:a}=Va(),o=In(),{openSettings:u}=ya(),r=["red","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose"],v=["slate","gray","zinc","neutral","stone"],h=O(()=>{if(s.public.authEnabled&&i.value.authenticated&&i.value.user){const f=i.value.user.avatarUrl;return{name:i.value.user.name||i.value.user.username,icon:f?void 0:"i-lucide-user",avatar:f?{src:f}:void 0,role:i.value.user.role}}return{name:"Configuration",icon:"i-lucide-cog"}}),m=O(()=>{const f=[];(!s.public.authEnabled||i.value.authenticated&&i.value.user?.role==="administrator")&&f.push(...o.value);const c=[f,[{label:"Theme",icon:"i-lucide-palette",children:[{label:"Primary",slot:"chip",chip:n.ui.colors.primary,content:{align:"center",collisionPadding:16},children:r.map(p=>({label:p,chip:p,slot:"chip",checked:n.ui.colors.primary===p,type:"checkbox",onSelect:y=>{y.preventDefault(),n.ui.colors.primary=p}}))},{label:"Neutral",slot:"chip",chip:n.ui.colors.neutral==="neutral"?"old-neutral":n.ui.colors.neutral,content:{align:"end",collisionPadding:16},children:v.map(p=>({label:p,chip:p==="neutral"?"old-neutral":p,slot:"chip",type:"checkbox",checked:n.ui.colors.neutral===p,onSelect:y=>{y.preventDefault(),n.ui.colors.neutral=p}}))}]},{label:"Appearance",icon:"i-lucide-sun-moon",children:[{label:"Light",icon:"i-lucide-sun",type:"checkbox",checked:t.value==="light",onSelect(p){p.preventDefault(),t.preference="light"}},{label:"Dark",icon:"i-lucide-moon",type:"checkbox",checked:t.value==="dark",onUpdateChecked(p){p&&(t.preference="dark")},onSelect(p){p.preventDefault()}}]},{label:"Open in IDE…",icon:"i-lucide-external-link",onSelect:p=>{p.preventDefault(),u()}}],[{label:"GitHub repository",icon:"i-lucide-github",to:"https://github.com/piwitests/platform",target:"_blank"}]];return s.public.authEnabled&&i.value.authenticated&&!s.public.demoMode&&c.push([{label:"Logout",icon:"i-lucide-log-out",onSelect:async p=>{p.preventDefault(),await a()}}]),c});return(f,c)=>{const p=xe,y=oa;return k(),L(y,{items:l(m),content:{align:"center",collisionPadding:12},ui:{content:e.collapsed?"w-48":"w-(--reka-dropdown-menu-trigger-width)"}},{"chip-leading":T(({item:I})=>[X("div",rs,[X("span",{class:"rounded-full ring ring-bg bg-(--chip-light) dark:bg-(--chip-dark) size-2",style:ra({"--chip-light":`var(--color-${I.chip}-500)`,"--chip-dark":`var(--color-${I.chip}-400)`})},null,4)])]),default:T(()=>[E(p,Y({...l(h),label:e.collapsed?void 0:l(h)?.name,trailingIcon:e.collapsed?void 0:"i-lucide-chevrons-up-down"},{color:"neutral",variant:"ghost",block:"",square:e.collapsed,class:"data-[state=open]:bg-elevated",ui:{trailingIcon:"text-dimmed"}}),null,16,["square"])]),_:1},8,["items","ui"])}}}),cs=Object.assign(us,{__name:"UserMenu"});(function(){var e;try{if(typeof document<"u"){var t=document.createElement("style");t.nonce=(e=document.head.querySelector("meta[property=csp-nonce]"))==null?void 0:e.content,t.appendChild(document.createTextNode('[data-vaul-drawer]{touch-action:none;will-change:transform;transition:transform .5s cubic-bezier(.32,.72,0,1);animation-duration:.5s;animation-timing-function:cubic-bezier(.32,.72,0,1)}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=open]{animation-name:slideFromBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=bottom][data-state=closed]{animation-name:slideToBottom}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=open]{animation-name:slideFromTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=top][data-state=closed]{animation-name:slideToTop}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=open]{animation-name:slideFromLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=left][data-state=closed]{animation-name:slideToLeft}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=open]{animation-name:slideFromRight}[data-vaul-drawer][data-vaul-snap-points=false][data-vaul-drawer-direction=right][data-state=closed]{animation-name:slideToRight}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--initial-transform, 100%),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=top]{transform:translate3d(0,calc(var(--initial-transform, 100%) * -1),0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=left]{transform:translate3d(calc(var(--initial-transform, 100%) * -1),0,0)}[data-vaul-drawer][data-vaul-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--initial-transform, 100%),0,0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=top],[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=bottom]{transform:translate3d(0,var(--snap-point-height, 0),0)}[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=left],[data-vaul-drawer][data-vaul-delayed-snap-points=true][data-vaul-drawer-direction=right]{transform:translate3d(var(--snap-point-height, 0),0,0)}[data-vaul-overlay][data-vaul-snap-points=false]{animation-duration:.5s;animation-timing-function:cubic-bezier(.32,.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=false][data-state=open]{animation-name:fadeIn}[data-vaul-overlay][data-state=closed]{animation-name:fadeOut}[data-vaul-animate=false]{animation:none!important}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:0;transition:opacity .5s cubic-bezier(.32,.72,0,1)}[data-vaul-overlay][data-vaul-snap-points=true]{opacity:1}[data-vaul-drawer]:not([data-vaul-custom-container=true]):after{content:"";position:absolute;background:inherit;background-color:inherit}[data-vaul-drawer][data-vaul-drawer-direction=top]:after{top:initial;bottom:100%;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=bottom]:after{top:100%;bottom:initial;left:0;right:0;height:200%}[data-vaul-drawer][data-vaul-drawer-direction=left]:after{left:initial;right:100%;top:0;bottom:0;width:200%}[data-vaul-drawer][data-vaul-drawer-direction=right]:after{left:100%;right:initial;top:0;bottom:0;width:200%}[data-vaul-overlay][data-vaul-snap-points=true]:not([data-vaul-snap-points-overlay=true]):not([data-state=closed]){opacity:0}[data-vaul-overlay][data-vaul-snap-points-overlay=true]{opacity:1}[data-vaul-handle]{display:block;position:relative;opacity:.7;background:#e2e2e4;margin-left:auto;margin-right:auto;height:5px;width:32px;border-radius:1rem;touch-action:pan-y}[data-vaul-handle]:hover,[data-vaul-handle]:active{opacity:1}[data-vaul-handle-hitarea]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max(100%,2.75rem);height:max(100%,2.75rem);touch-action:inherit}@media (hover: hover) and (pointer: fine){[data-vaul-drawer]{-webkit-user-select:none;user-select:none}}@media (pointer: fine){[data-vaul-handle-hitarea]:{width:100%;height:100%}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{to{opacity:0}}@keyframes slideFromBottom{0%{transform:translate3d(0,var(--initial-transform, 100%),0)}to{transform:translateZ(0)}}@keyframes slideToBottom{to{transform:translate3d(0,var(--initial-transform, 100%),0)}}@keyframes slideFromTop{0%{transform:translate3d(0,calc(var(--initial-transform, 100%) * -1),0)}to{transform:translateZ(0)}}@keyframes slideToTop{to{transform:translate3d(0,calc(var(--initial-transform, 100%) * -1),0)}}@keyframes slideFromLeft{0%{transform:translate3d(calc(var(--initial-transform, 100%) * -1),0,0)}to{transform:translateZ(0)}}@keyframes slideToLeft{to{transform:translate3d(calc(var(--initial-transform, 100%) * -1),0,0)}}@keyframes slideFromRight{0%{transform:translate3d(var(--initial-transform, 100%),0,0)}to{transform:translateZ(0)}}@keyframes slideToRight{to{transform:translate3d(var(--initial-transform, 100%),0,0)}}')),document.head.appendChild(t)}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}})();const ds=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const fs=e=>typeof e<"u";function ps(e){return JSON.parse(JSON.stringify(e))}function Vt(e,t,n,s={}){var i,a,o;const{clone:u=!1,passive:r=!1,eventName:v,deep:h=!1,defaultValue:m,shouldEmit:f}=s,c=Qa(),p=n||c?.emit||((i=c?.$emit)==null?void 0:i.bind(c))||((o=(a=c?.proxy)==null?void 0:a.$emit)==null?void 0:o.bind(c?.proxy));let y=v;t||(t="modelValue"),y=y||`update:${t.toString()}`;const I=S=>u?typeof u=="function"?u(S):ps(S):S,j=()=>fs(e[t])?I(e[t]):m,C=S=>{f?f(S)&&p(y,S):p(y,S)};if(r){const S=j(),g=U(S);let _=!1;return re(()=>e[t],x=>{_||(_=!0,g.value=I(x),It(()=>_=!1))}),re(g,x=>{!_&&(x!==e[t]||h)&&C(x)},{deep:h}),g}else return O({get(){return j()},set(S){C(S)}})}const[He,hs]=Ya("DrawerRoot"),ka=new WeakMap;function ne(e,t,n=!1){if(!e||!(e instanceof HTMLElement)||!t)return;const s={};Object.entries(t).forEach(([i,a])=>{if(i.startsWith("--")){e.style.setProperty(i,a);return}s[i]=e.style[i],e.style[i]=a}),!n&&ka.set(e,s)}function ms(e,t){if(!e||!(e instanceof HTMLElement))return;const n=ka.get(e);n&&Object.entries(n).forEach(([s,i])=>{e.style[s]=i})}function Je(e,t){const n=window.getComputedStyle(e),s=n.transform||n.webkitTransform||n.mozTransform;let i=s.match(/^matrix3d\((.+)\)$/);return i?Number.parseFloat(i[1].split(", ")[ee(t)?13:12]):(i=s.match(/^matrix\((.+)\)$/),i?Number.parseFloat(i[1].split(", ")[ee(t)?5:4]):null)}function vs(e){return 8*(Math.log(e+1)-2)}function ee(e){switch(e){case"top":case"bottom":return!0;case"left":case"right":return!1;default:return e}}function dt(e,t){if(!e)return()=>{};const n=e.style.cssText;return Object.assign(e.style,t),()=>{e.style.cssText=n}}function gs(...e){return(...t)=>{for(const n of e)typeof n=="function"&&n(...t)}}const Q={DURATION:.5,EASE:[.32,.72,0,1]},Sa=.4,ys=.25,bs=100,_a=8,Ye=16,xa=26,Wt="vaul-dragging";function ws({activeSnapPoint:e,snapPoints:t,drawerRef:n,overlayRef:s,fadeFromIndex:i,onSnapPointChange:a,direction:o}){const u=U(typeof window<"u"?{innerWidth:window.innerWidth,innerHeight:window.innerHeight}:void 0);function r(){u.value={innerWidth:window.innerWidth,innerHeight:window.innerHeight}}Dt(()=>{typeof window<"u"&&window.addEventListener("resize",r)}),Xa(()=>{typeof window<"u"&&window.removeEventListener("resize",r)});const v=O(()=>(t.value&&e.value===t.value[t.value.length-1])??null),h=O(()=>t.value&&t.value.length>0&&(i?.value||i?.value===0)&&!Number.isNaN(i?.value)&&t.value[i?.value??-1]===e.value||!t.value),m=O(()=>{var C;return((C=t.value)==null?void 0:C.findIndex(S=>S===e.value))??null}),f=O(()=>{var C;return((C=t.value)==null?void 0:C.map(S=>{const g=typeof S=="string";let _=0;if(g&&(_=Number.parseInt(S,10)),ee(o.value)){const w=g?_:u.value?S*u.value.innerHeight:0;return u.value?o.value==="bottom"?u.value.innerHeight-w:-u.value.innerHeight+w:w}const x=g?_:u.value?S*u.value.innerWidth:0;return u.value?o.value==="right"?u.value.innerWidth-x:-u.value.innerWidth+x:x}))??[]}),c=O(()=>{var C;return m.value!==null?(C=f.value)==null?void 0:C[m.value]:null}),p=C=>{var S,g,_,x;const w=((S=f.value)==null?void 0:S.findIndex(B=>B===C))??null;It(()=>{var B;a(w,f.value),ne((B=n.value)==null?void 0:B.$el,{transition:`transform ${Q.DURATION}s cubic-bezier(${Q.EASE.join(",")})`,transform:ee(o.value)?`translate3d(0, ${C}px, 0)`:`translate3d(${C}px, 0, 0)`})}),f.value&&w!==f.value.length-1&&w!==i?.value?ne((g=s.value)==null?void 0:g.$el,{transition:`opacity ${Q.DURATION}s cubic-bezier(${Q.EASE.join(",")})`,opacity:"0"}):ne((_=s.value)==null?void 0:_.$el,{transition:`opacity ${Q.DURATION}s cubic-bezier(${Q.EASE.join(",")})`,opacity:"1"}),e.value=w!==null?((x=t.value)==null?void 0:x[w])??null:null};re([e,f,t],()=>{var C;if(e.value){const S=((C=t.value)==null?void 0:C.findIndex(g=>g===e.value))??-1;f.value&&S!==-1&&typeof f.value[S]=="number"&&p(f.value[S])}},{immediate:!0});function y({draggedDistance:C,closeDrawer:S,velocity:g,dismissible:_}){var x,w,B;if(i.value===void 0)return;const b=o.value==="bottom"||o.value==="right"?(c.value??0)-C:(c.value??0)+C,A=m.value===i.value-1,R=m.value===0,W=C>0;if(A&&ne((x=s.value)==null?void 0:x.$el,{transition:`opacity ${Q.DURATION}s cubic-bezier(${Q.EASE.join(",")})`}),g>2&&!W){_?S():p(f.value[0]);return}if(g>2&&W&&f&&t.value){p(f.value[t.value.length-1]);return}const H=(w=f.value)==null?void 0:w.reduce((F,d)=>typeof F!="number"||typeof d!="number"?F:Math.abs(d-b)<Math.abs(F-b)?d:F),$=ee(o.value)?window.innerHeight:window.innerWidth;if(g>Sa&&Math.abs(C)<$*.4){const F=W?1:-1;if(F>0&&v){p(f.value[(((B=t.value)==null?void 0:B.length)??0)-1]);return}if(R&&F<0&&_&&S(),m.value===null)return;p(f.value[m.value+F]);return}p(H)}function I({draggedDistance:C}){var S;if(c.value===null)return;const g=o.value==="bottom"||o.value==="right"?c.value-C:c.value+C;(o.value==="bottom"||o.value==="right")&&g<f.value[f.value.length-1]||(o.value==="top"||o.value==="left")&&g>f.value[f.value.length-1]||ne((S=n.value)==null?void 0:S.$el,{transform:ee(o.value)?`translate3d(0, ${g}px, 0)`:`translate3d(${g}px, 0, 0)`})}function j(C,S){if(!t.value||typeof m.value!="number"||!f.value||i.value===void 0)return null;const g=m.value===i.value-1;if(m.value>=i.value&&S)return 0;if(g&&!S)return 1;if(!h.value&&!g)return null;const _=g?m.value+1:m.value-1,x=g?f.value[_]-f.value[_-1]:f.value[_+1]-f.value[_],w=C/Math.abs(x);return g?1-w:w}return{isLastSnapPoint:v,shouldFade:h,getPercentageDragged:j,activeSnapPointIndex:m,onRelease:y,onDrag:I,snapPointsOffset:f}}function Gt(){return/^((?!chrome|android).)*safari/i.test(navigator.userAgent)}let Re=null;function ks(e){const{isOpen:t,modal:n,nested:s,hasBeenOpened:i,preventScrollRestoration:a,noBodyStyles:o}=e,u=U(typeof window<"u"?window.location.href:""),r=U(0);function v(){if(Gt()&&Re===null&&t.value&&!o.value){Re={position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,height:document.body.style.height};const{scrollX:m,innerHeight:f}=window;document.body.style.setProperty("position","fixed","important"),Object.assign(document.body.style,{top:`${-r.value}px`,left:`${-m}px`,right:"0px",height:"auto"}),setTimeout(()=>{requestAnimationFrame(()=>{const c=f-window.innerHeight;c&&r.value>=f&&(document.body.style.top=`-${r.value+c}px`)})},300)}}function h(){if(Gt()&&Re!==null&&!o.value){const m=-Number.parseInt(document.body.style.top,10),f=-Number.parseInt(document.body.style.left,10);Object.assign(document.body.style,Re),window.requestAnimationFrame(()=>{if(a.value&&u.value!==window.location.href){u.value=window.location.href;return}window.scrollTo(f,m)}),Re=null}}return Dt(()=>{function m(){r.value=window.scrollY}m(),window.addEventListener("scroll",m),Za(()=>{window.removeEventListener("scroll",m)})}),re([t,i,u],()=>{s.value||!i.value||(t.value?(window.matchMedia("(display-mode: standalone)").matches||v(),n.value||setTimeout(()=>{h()},500)):h())}),{restorePositionSetting:h}}function Ss(e,t){return e&&e.value?e:t}function _s(e){const{emitDrag:t,emitRelease:n,emitClose:s,emitOpenChange:i,open:a,dismissible:o,nested:u,modal:r,shouldScaleBackground:v,setBackgroundColorOnScale:h,scrollLockTimeout:m,closeThreshold:f,activeSnapPoint:c,fadeFromIndex:p,direction:y,noBodyStyles:I,handleOnly:j,preventScrollRestoration:C}=e,S=U(a.value??!1),g=U(!1),_=U(!1),x=U(!1),w=U(null),B=U(null),b=U(null),A=U(null),R=U(null),W=U(!1),H=U(null),$=U(0),F=U(!1),d=U(null),q=O(()=>{var P;return((P=d.value)==null?void 0:P.$el.getBoundingClientRect().height)||0}),D=Ss(e.snapPoints,U(void 0)),G=O(()=>{var P;return D&&(((P=D.value)==null?void 0:P.length)??0)>0}),ie=U(null),{activeSnapPointIndex:te,onRelease:ye,snapPointsOffset:fe,onDrag:Oa,shouldFade:Ft,getPercentageDragged:Ra}=ws({snapPoints:D,activeSnapPoint:c,drawerRef:d,fadeFromIndex:p,overlayRef:w,onSnapPointChange:Fa,direction:y});function Fa(P,Z){D.value&&P===Z.length-1&&(B.value=new Date)}ks({isOpen:S,modal:r,nested:u,hasBeenOpened:g,noBodyStyles:I,preventScrollRestoration:C});function Ue(){return(window.innerWidth-xa)/window.innerWidth}function Pt(P,Z){var ae;if(!P)return!1;let J=P;const se=(ae=window.getSelection())==null?void 0:ae.toString(),oe=d.value?Je(d.value.$el,y.value):null,de=new Date;if(J.hasAttribute("data-vaul-no-drag")||J.closest("[data-vaul-no-drag]"))return!1;if(y.value==="right"||y.value==="left")return!0;if(B.value&&de.getTime()-B.value.getTime()<500)return!1;if(oe!==null&&(y.value==="bottom"?oe>0:oe<0))return!0;if(se&&se.length>0)return!1;if(R.value&&de.getTime()-R.value.getTime()<m.value&&oe===0||Z)return R.value=de,!1;for(;J;){if(J.scrollHeight>J.clientHeight){if(J.scrollTop!==0)return R.value=new Date,!1;if(J.getAttribute("role")==="dialog")return!0}J=J.parentNode}return!0}function Pa(P){!o.value&&!D.value||d.value&&!d.value.$el.contains(P.target)||(_.value=!0,b.value=new Date,P.target.setPointerCapture(P.pointerId),$.value=ee(y.value)?P.clientY:P.clientX)}function ja(P){var Z,ae,J,se,oe,de;if(d.value&&_.value){const Ce=y.value==="bottom"||y.value==="right"?1:-1,Ve=($.value-(ee(y.value)?P.clientY:P.clientX))*Ce,We=Ve>0,zt=D.value&&!o.value&&!We;if(zt&&te.value===0)return;const rt=Math.abs(Ve),qt=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");let ke=rt/q.value;const Kt=Ra(rt,We);if(Kt!==null&&(ke=Kt),zt&&ke>=1||!W.value&&!Pt(P.target,We))return;if((Z=d?.value)==null||Z.$el.classList.add(Wt),W.value=!0,ne((ae=d.value)==null?void 0:ae.$el,{transition:"none"}),ne((J=w.value)==null?void 0:J.$el,{transition:"none"}),D.value&&Oa({draggedDistance:Ve}),We&&!D.value){const Se=vs(Ve),Ge=Math.min(Se*-1,0)*Ce;ne((se=d.value)==null?void 0:se.$el,{transform:ee(y.value)?`translate3d(0, ${Ge}px, 0)`:`translate3d(${Ge}px, 0, 0)`});return}const Ha=1-ke;if((Ft.value||p.value&&te.value===p.value-1)&&(t(ke),ne((oe=w.value)==null?void 0:oe.$el,{opacity:`${Ha}`,transition:"none"},!0)),qt&&w.value&&v.value){const Se=Math.min(Ue()+ke*(1-Ue()),1),Ge=8-ke*8,Nt=Math.max(0,14-ke*14);ne(qt,{borderRadius:`${Ge}px`,transform:ee(y.value)?`scale(${Se}) translate3d(0, ${Nt}px, 0)`:`scale(${Se}) translate3d(${Nt}px, 0, 0)`,transition:"none"},!0)}if(!D.value){const Se=rt*Ce;ne((de=d.value)==null?void 0:de.$el,{transform:ee(y.value)?`translate3d(0, ${Se}px, 0)`:`translate3d(${Se}px, 0, 0)`})}}}function jt(){var P;if(!d.value)return;const Z=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]"),ae=Je(d.value.$el,y.value);ne(d.value.$el,{transform:"translate3d(0, 0, 0)",transition:`transform ${Q.DURATION}s cubic-bezier(${Q.EASE.join(",")})`}),ne((P=w.value)==null?void 0:P.$el,{transition:`opacity ${Q.DURATION}s cubic-bezier(${Q.EASE.join(",")})`,opacity:"1"}),v.value&&ae&&ae>0&&S.value&&ne(Z,{borderRadius:`${_a}px`,overflow:"hidden",...ee(y.value)?{transform:`scale(${Ue()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,transformOrigin:"top"}:{transform:`scale(${Ue()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,transformOrigin:"left"},transitionProperty:"transform, border-radius",transitionDuration:`${Q.DURATION}s`,transitionTimingFunction:`cubic-bezier(${Q.EASE.join(",")})`},!0)}function Oe(P){d.value&&(s(),P||(S.value=!1),window.setTimeout(()=>{D.value&&(c.value=D.value[0])},Q.DURATION*1e3))}Tt(()=>{if(!S.value&&v.value&&ds){const P=setTimeout(()=>{ms(document.body)},200);return()=>clearTimeout(P)}}),re(a,()=>{S.value=a.value,a.value||Oe()});function za(P){if(!_.value||!d.value)return;d.value.$el.classList.remove(Wt),W.value=!1,_.value=!1,A.value=new Date;const Z=Je(d.value.$el,y.value);if(!Pt(P.target,!1)||!Z||Number.isNaN(Z)||b.value===null)return;const ae=A.value.getTime()-b.value.getTime(),J=$.value-(ee(y.value)?P.clientY:P.clientX),se=Math.abs(J)/ae;if(se>.05&&(x.value=!0,window.setTimeout(()=>{x.value=!1},200)),D.value){const de=y.value==="bottom"||y.value==="right"?1:-1;ye({draggedDistance:J*de,closeDrawer:Oe,velocity:se,dismissible:o.value}),n(!0);return}if(y.value==="bottom"||y.value==="right"?J>0:J<0){jt(),n(!0);return}if(se>Sa){Oe(),n(!1);return}const oe=Math.min(d.value.$el.getBoundingClientRect().height??0,window.innerHeight);if(Z>=oe*f.value){Oe(),n(!1);return}n(!0),jt()}re(S,P=>{P&&(B.value=new Date),i(P)},{immediate:!0});function qa(P){var Z,ae;const J=P?(window.innerWidth-Ye)/window.innerWidth:1,se=P?-16:0;H.value&&window.clearTimeout(H.value),ne((Z=d.value)==null?void 0:Z.$el,{transition:`transform ${Q.DURATION}s cubic-bezier(${Q.EASE.join(",")})`,transform:`scale(${J}) translate3d(0, ${se}px, 0)`}),!P&&(ae=d.value)!=null&&ae.$el&&(H.value=window.setTimeout(()=>{var oe,de;const Ce=Je((oe=d.value)==null?void 0:oe.$el,y.value);ne((de=d.value)==null?void 0:de.$el,{transition:"none",transform:ee(y.value)?`translate3d(0, ${Ce}px, 0)`:`translate3d(${Ce}px, 0, 0)`})},500))}function Ka(P){var Z;if(P<0)return;const ae=ee(y.value)?window.innerHeight:window.innerWidth,J=(ae-Ye)/ae,se=J+P*(1-J),oe=-16+P*Ye;ne((Z=d.value)==null?void 0:Z.$el,{transform:ee(y.value)?`scale(${se}) translate3d(0, ${oe}px, 0)`:`scale(${se}) translate3d(${oe}px, 0, 0)`,transition:"none"})}function Na(P){var Z;const ae=ee(y.value)?window.innerHeight:window.innerWidth,J=P?(ae-Ye)/ae:1,se=P?-16:0;P&&ne((Z=d.value)==null?void 0:Z.$el,{transition:`transform ${Q.DURATION}s cubic-bezier(${Q.EASE.join(",")})`,transform:ee(y.value)?`scale(${J}) translate3d(0, ${se}px, 0)`:`scale(${J}) translate3d(${se}px, 0, 0)`})}return{open:a,isOpen:S,modal:r,keyboardIsOpen:F,hasBeenOpened:g,drawerRef:d,drawerHeightRef:q,overlayRef:w,handleRef:ie,isDragging:_,dragStartTime:b,isAllowedToDrag:W,snapPoints:D,activeSnapPoint:c,hasSnapPoints:G,pointerStart:$,dismissible:o,snapPointsOffset:fe,direction:y,shouldFade:Ft,fadeFromIndex:p,shouldScaleBackground:v,setBackgroundColorOnScale:h,onPress:Pa,onDrag:ja,onRelease:za,closeDrawer:Oe,onNestedDrag:Ka,onNestedRelease:Na,onNestedOpenChange:qa,emitClose:s,emitDrag:t,emitRelease:n,emitOpenChange:i,nested:u,handleOnly:j,noBodyStyles:I}}const $a=ve({__name:"DrawerRoot",props:{activeSnapPoint:{default:void 0},closeThreshold:{default:ys},shouldScaleBackground:{type:Boolean,default:void 0},setBackgroundColorOnScale:{type:Boolean,default:!0},scrollLockTimeout:{default:bs},fixed:{type:Boolean,default:void 0},dismissible:{type:Boolean,default:!0},modal:{type:Boolean,default:!0},open:{type:Boolean,default:void 0},defaultOpen:{type:Boolean,default:void 0},nested:{type:Boolean,default:!1},direction:{default:"bottom"},noBodyStyles:{type:Boolean},handleOnly:{type:Boolean,default:!1},preventScrollRestoration:{type:Boolean},snapPoints:{default:void 0},fadeFromIndex:{default:void 0}},emits:["drag","release","close","update:open","update:activeSnapPoint","animationEnd"],setup(e,{expose:t,emit:n}){const s=e,i=n;Le();const a=O(()=>s.fadeFromIndex??(s.snapPoints&&s.snapPoints.length-1)),o=Vt(s,"open",i,{defaultValue:s.defaultOpen,passive:s.open===void 0}),u=Vt(s,"activeSnapPoint",i,{passive:s.activeSnapPoint===void 0}),r={emitDrag:p=>i("drag",p),emitRelease:p=>i("release",p),emitClose:()=>i("close"),emitOpenChange:p=>{i("update:open",p),setTimeout(()=>{i("animationEnd",p)},Q.DURATION*1e3)}},{closeDrawer:v,hasBeenOpened:h,modal:m,isOpen:f}=hs(_s({...r,...Ja(s),activeSnapPoint:u,fadeFromIndex:a,open:o}));function c(p){if(o.value!==void 0){r.emitOpenChange(p);return}f.value=p,p?h.value=!0:v()}return t({open:f}),(p,y)=>(k(),L(l(On),{open:l(f),modal:l(m),"onUpdate:open":c},{default:T(()=>[N(p.$slots,"default",{open:l(f)})]),_:3},8,["open","modal"]))}}),xs=ve({__name:"DrawerRootNested",props:{activeSnapPoint:{},closeThreshold:{},shouldScaleBackground:{type:Boolean},setBackgroundColorOnScale:{type:Boolean},scrollLockTimeout:{},fixed:{type:Boolean},dismissible:{type:Boolean},modal:{type:Boolean},open:{type:Boolean},defaultOpen:{type:Boolean},nested:{type:Boolean},direction:{},noBodyStyles:{type:Boolean},handleOnly:{type:Boolean},preventScrollRestoration:{type:Boolean},snapPoints:{},fadeFromIndex:{}},emits:["drag","release","close","update:open","update:activeSnapPoint","animationEnd"],setup(e,{emit:t}){const n=e,s=t,{onNestedDrag:i,onNestedOpenChange:a,onNestedRelease:o}=He();function u(){a(!1)}function r(m){i(m)}function v(m){m&&a(m),s("update:open",m)}const h=Ga(n,s);return(m,f)=>(k(),L($a,Y(l(h),{nested:"",onClose:u,onDrag:r,onRelease:l(o),"onUpdate:open":v}),{default:T(()=>[N(m.$slots,"default")]),_:3},16,["onRelease"]))}}),$s=ve({__name:"DrawerOverlay",setup(e){const{overlayRef:t,hasSnapPoints:n,isOpen:s,shouldFade:i}=He();return(a,o)=>(k(),L(l(En),{ref_key:"overlayRef",ref:t,"data-vaul-overlay":"","data-vaul-snap-points":l(s)&&l(n)?"true":"false","data-vaul-snap-points-overlay":l(s)&&l(i)?"true":"false"},null,8,["data-vaul-snap-points","data-vaul-snap-points-overlay"]))}}),Cs=()=>()=>{};function As(){const{direction:e,isOpen:t,shouldScaleBackground:n,setBackgroundColorOnScale:s,noBodyStyles:i}=He(),a=U(null),o=U(document.body.style.backgroundColor);function u(){return(window.innerWidth-xa)/window.innerWidth}Tt(r=>{if(t.value&&n.value){a.value&&clearTimeout(a.value);const v=document.querySelector("[data-vaul-drawer-wrapper]")||document.querySelector("[vaul-drawer-wrapper]");if(!v)return;gs(s.value&&!i.value?dt(document.body,{background:"black"}):Cs,dt(v,{transformOrigin:ee(e.value)?"top":"left",transitionProperty:"transform, border-radius",transitionDuration:`${Q.DURATION}s`,transitionTimingFunction:`cubic-bezier(${Q.EASE.join(",")})`}));const h=dt(v,{borderRadius:`${_a}px`,overflow:"hidden",...ee(e.value)?{transform:`scale(${u()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`}:{transform:`scale(${u()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`}});r(()=>{h(),a.value=window.setTimeout(()=>{o.value?document.body.style.background=o.value:document.body.style.removeProperty("background")},Q.DURATION*1e3)})}},{flush:"pre"})}const Ts=ve({__name:"DrawerContent",setup(e){const{open:t,isOpen:n,snapPointsOffset:s,hasSnapPoints:i,drawerRef:a,onPress:o,onDrag:u,onRelease:r,modal:v,emitOpenChange:h,dismissible:m,keyboardIsOpen:f,closeDrawer:c,direction:p,handleOnly:y}=He();As();const I=U(!1),j=O(()=>s.value&&s.value.length>0?`${s.value[0]}px`:"0");function C(_){if(!v.value||_.defaultPrevented){_.preventDefault();return}f.value&&(f.value=!1),m.value?h(!1):_.preventDefault()}function S(_){y.value||o(_)}function g(_){y.value||u(_)}return Tt(()=>{i.value&&window.requestAnimationFrame(()=>{I.value=!0})}),(_,x)=>(k(),L(l(Mn),{ref_key:"drawerRef",ref:a,"data-vaul-drawer":"","data-vaul-drawer-direction":l(p),"data-vaul-delayed-snap-points":I.value?"true":"false","data-vaul-snap-points":l(n)&&l(i)?"true":"false",style:ra({"--snap-point-height":j.value}),onPointerdown:S,onPointermove:g,onPointerup:l(r),onPointerDownOutside:C,onOpenAutoFocus:x[0]||(x[0]=Wa(()=>{},["prevent"])),onEscapeKeyDown:x[1]||(x[1]=w=>{l(m)||w.preventDefault()})},{default:T(()=>[N(_.$slots,"default")]),_:3},8,["data-vaul-drawer-direction","data-vaul-delayed-snap-points","data-vaul-snap-points","style","onPointerup"]))}}),Is=["data-vaul-drawer-visible"],Ds={"data-vaul-handle-hitarea":"","aria-hidden":"true"},Bs=250,Ls=120,Es=ve({__name:"DrawerHandle",props:{preventCycle:{type:Boolean,default:!1}},setup(e){const t=e,{onPress:n,onDrag:s,handleRef:i,handleOnly:a,isOpen:o,snapPoints:u,activeSnapPoint:r,isDragging:v,dismissible:h,closeDrawer:m}=He(),f=U(null),c=U(!1);function p(){if(c.value){j();return}window.setTimeout(()=>{y()},Ls)}function y(){if(v.value||t.preventCycle||c.value){j();return}if(j(),!u.value||u.value.length===0){h.value||m();return}const g=r.value===u.value[u.value.length-1];if(g&&h.value){m();return}const _=u.value.findIndex(w=>w===r.value);if(_===-1)return;const x=g?0:_+1;r.value=u.value[x]}function I(){f.value=window.setTimeout(()=>{c.value=!0},Bs)}function j(){f.value&&window.clearTimeout(f.value),c.value=!1}function C(g){a.value&&n(g),I()}function S(g){a.value&&s(g)}return(g,_)=>(k(),V("div",{ref_key:"handleRef",ref:i,"data-vaul-drawer-visible":l(o)?"true":"false","data-vaul-handle":"","aria-hidden":"true",onClick:p,onPointercancel:j,onPointerdown:C,onPointermove:S},[X("span",Ds,[N(g.$slots,"default")])],40,Is))}}),Ms={slots:{overlay:"fixed inset-0 bg-elevated/75",content:"fixed bg-default ring ring-default flex focus:outline-none",handle:["shrink-0 !bg-accented","transition-opacity"],container:"w-full flex flex-col gap-4 p-4 overflow-y-auto",header:"flex items-center gap-1.5 min-h-8",wrapper:"min-w-0 flex-1",title:"text-highlighted font-semibold",description:"mt-1 text-muted text-sm",actions:"flex items-center gap-1.5 shrink-0 ms-auto",body:"flex-1",footer:"flex flex-col gap-1.5",close:""},variants:{direction:{top:{content:"mb-24 flex-col-reverse",handle:"mb-4"},right:{content:"flex-row rtl:flex-row-reverse",handle:"!ml-4"},bottom:{content:"mt-24 flex-col",handle:"mt-4"},left:{content:"flex-row-reverse rtl:flex-row",handle:"!mr-4"}},inset:{true:{content:"rounded-lg after:hidden overflow-hidden [--initial-transform:calc(100%+1.5rem)]"}},snapPoints:{true:""}},compoundVariants:[{direction:["top","bottom"],class:{content:"h-auto max-h-[96%]",handle:"!w-12 !h-1.5 mx-auto"}},{direction:["top","bottom"],snapPoints:!0,class:{content:"h-full"}},{direction:["right","left"],class:{content:"w-auto max-w-[calc(100%-2rem)]",handle:"!h-12 !w-1.5 mt-auto mb-auto"}},{direction:["right","left"],snapPoints:!0,class:{content:"w-full"}},{direction:"top",inset:!0,class:{content:"inset-x-4 top-4"}},{direction:"top",inset:!1,class:{content:"inset-x-0 top-0 rounded-b-lg"}},{direction:"bottom",inset:!0,class:{content:"inset-x-4 bottom-4"}},{direction:"bottom",inset:!1,class:{content:"inset-x-0 bottom-0 rounded-t-lg"}},{direction:"left",inset:!0,class:{content:"inset-y-4 left-4"}},{direction:"left",inset:!1,class:{content:"inset-y-0 left-0 rounded-r-lg"}},{direction:"right",inset:!0,class:{content:"inset-y-4 right-4"}},{direction:"right",inset:!1,class:{content:"inset-y-0 right-0 rounded-l-lg"}}]},Os={__name:"UDrawer",props:{as:{type:null,required:!1},title:{type:String,required:!1},description:{type:String,required:!1},inset:{type:Boolean,required:!1},content:{type:Object,required:!1},overlay:{type:Boolean,required:!1,default:!0},handle:{type:Boolean,required:!1,default:!0},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},nested:{type:Boolean,required:!1},close:{type:[Boolean,Object],required:!1},closeIcon:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},activeSnapPoint:{type:[Number,String,null],required:!1},closeThreshold:{type:Number,required:!1},shouldScaleBackground:{type:Boolean,required:!1},setBackgroundColorOnScale:{type:Boolean,required:!1},scrollLockTimeout:{type:Number,required:!1},fixed:{type:Boolean,required:!1},dismissible:{type:Boolean,required:!1,default:!0},modal:{type:Boolean,required:!1,default:!0},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},direction:{type:String,required:!1,default:"bottom"},noBodyStyles:{type:Boolean,required:!1},handleOnly:{type:Boolean,required:!1},preventScrollRestoration:{type:Boolean,required:!1},snapPoints:{type:Array,required:!1}},emits:["close:prevent","drag","release","close","update:open","update:activeSnapPoint","animationEnd"],setup(e,{emit:t}){const n=e,s=t,i=Le(),a=Ee("drawer",n),{t:o}=Ke(),u=$e(),r=je(st(a,"activeSnapPoint","closeThreshold","shouldScaleBackground","setBackgroundColorOnScale","scrollLockTimeout","fixed","dismissible","modal","open","defaultOpen","nested","direction","noBodyStyles","handleOnly","preventScrollRestoration","snapPoints"),s),v=en(De(()=>a.portal)),h=De(()=>a.content),m=O(()=>a.dismissible?{pointerDownOutside:ln}:["interactOutside","escapeKeyDown"].reduce((p,y)=>(p[y]=I=>{I.preventDefault(),s("close:prevent")},p),{})),f=O(()=>Me({extend:Ms,...u.ui?.drawer||{}})({direction:a.direction,inset:a.inset,snapPoints:a.snapPoints&&a.snapPoints.length>0}));return(c,p)=>(k(),L(sn(l(a).nested?l(xs):l($a)),Te(Ie(l(r))),{default:T(()=>[i.default?(k(),L(l(Rn),{key:0,"as-child":"",class:K(l(a).class)},{default:T(()=>[N(c.$slots,"default")]),_:3},8,["class"])):z("",!0),E(l(Fn),Te(Ie(l(v))),{default:T(()=>[E(l(tn),null,{default:T(()=>[l(a).overlay?(k(),L(l($s),{key:0,"data-slot":"overlay",class:K(f.value.overlay({class:l(a).ui?.overlay}))},null,8,["class"])):z("",!0),E(l(Ts),Y({"data-slot":"content",class:f.value.content({class:[!i.default&&l(a).class,l(a).ui?.content]})},h.value,an(m.value)),{default:T(()=>[l(a).handle?(k(),L(l(Es),{key:0,"data-slot":"handle",class:K(f.value.handle({class:l(a).ui?.handle}))},null,8,["class"])):z("",!0),!l(a).title&&!i.title||!l(a).description&&!i.description||i.content?(k(),L(l(nn),{key:1},{default:T(()=>[!l(a).title&&!i.title?(k(),L(l(ut),{key:0})):i.content?(k(),L(l(ut),{key:1},{default:T(()=>[N(c.$slots,"title",{},()=>[me(ce(l(a).title),1)])]),_:3})):z("",!0),!l(a).description&&!i.description?(k(),L(l(ct),{key:2})):i.content?(k(),L(l(ct),{key:3},{default:T(()=>[N(c.$slots,"description",{},()=>[me(ce(l(a).description),1)])]),_:3})):z("",!0)]),_:3})):z("",!0),N(c.$slots,"content",{},()=>[X("div",{"data-slot":"container",class:K(f.value.container({class:l(a).ui?.container}))},[i.header||l(a).title||i.title||l(a).description||i.description||l(a).close||i.close||i.actions?(k(),V("div",{key:0,"data-slot":"header",class:K(f.value.header({class:l(a).ui?.header}))},[N(c.$slots,"header",{},()=>[l(a).title||i.title||l(a).description||i.description?(k(),V("div",{key:0,"data-slot":"wrapper",class:K(f.value.wrapper({class:l(a).ui?.wrapper}))},[l(a).title||i.title?(k(),L(l(ut),{key:0,"data-slot":"title",class:K(f.value.title({class:l(a).ui?.title}))},{default:T(()=>[N(c.$slots,"title",{},()=>[me(ce(l(a).title),1)])]),_:3},8,["class"])):z("",!0),l(a).description||i.description?(k(),L(l(ct),{key:1,"data-slot":"description",class:K(f.value.description({class:l(a).ui?.description}))},{default:T(()=>[N(c.$slots,"description",{},()=>[me(ce(l(a).description),1)])]),_:3},8,["class"])):z("",!0)],2)):z("",!0),i.actions||l(a).close||i.close?(k(),V("div",{key:1,"data-slot":"actions",class:K(f.value.actions({class:l(a).ui?.actions}))},[N(c.$slots,"actions"),l(a).close||i.close?(k(),L(l(Pn),{key:0,"as-child":""},{default:T(()=>[N(c.$slots,"close",{ui:f.value},()=>[l(a).close?(k(),L(xe,Y({key:0,icon:l(a).closeIcon||l(u).ui.icons.close,color:"neutral",variant:"ghost","aria-label":l(o)("drawer.close")},typeof l(a).close=="object"?l(a).close:{},{"data-slot":"close",class:f.value.close({class:l(a).ui?.close})}),null,16,["icon","aria-label","class"])):z("",!0)])]),_:3})):z("",!0)],2)):z("",!0)])],2)):z("",!0),i.body?(k(),V("div",{key:1,"data-slot":"body",class:K(f.value.body({class:l(a).ui?.body}))},[N(c.$slots,"body")],2)):z("",!0),i.footer?(k(),V("div",{key:2,"data-slot":"footer",class:K(f.value.footer({class:l(a).ui?.footer}))},[N(c.$slots,"footer")],2)):z("",!0)],2)])]),_:3},16,["class"])]),_:3})]),_:3},16)]),_:3},16))}},Rs={slots:{root:"relative hidden lg:flex flex-col min-h-svh min-w-16 w-(--width) shrink-0",header:"h-(--ui-header-height) shrink-0 flex items-center gap-1.5 px-4",body:"flex flex-col gap-4 flex-1 overflow-y-auto px-4 py-2",footer:"shrink-0 flex items-center gap-1.5 px-4 py-2",toggle:"",handle:"",content:"lg:hidden",overlay:"lg:hidden"},variants:{menu:{true:{header:"sm:px-6",body:"sm:px-6",footer:"sm:px-6"}},side:{left:{root:"border-e border-default"},right:{root:""}},toggleSide:{left:{toggle:""},right:{toggle:"ms-auto"}}}};function gt(e,t){const s=ua().hook(e,t);ca(s)}const Fs=["data-collapsed","data-dragging"],Ps=Object.assign({inheritAttrs:!1},{__name:"UDashboardSidebar",props:it({mode:{type:null,required:!1,default:"slideover"},menu:{type:null,required:!1},toggle:{type:[Boolean,Object],required:!1,default:!0},toggleSide:{type:String,required:!1,default:"left"},autoClose:{type:Boolean,required:!1,default:!0},class:{type:null,required:!1},ui:{type:Object,required:!1},id:{type:String,required:!1},side:{type:String,required:!1,default:"left"},minSize:{type:Number,required:!1,default:10},maxSize:{type:Number,required:!1,default:20},defaultSize:{type:Number,required:!1,default:15},resizable:{type:Boolean,required:!1,default:!1},collapsible:{type:Boolean,required:!1,default:!1},collapsedSize:{type:Number,required:!1,default:0}},{open:{type:Boolean,default:!1},openModifiers:{},collapsed:{type:Boolean,default:!1},collapsedModifiers:{}}),emits:["update:open","update:collapsed"],setup(e){const t=e,n=Le(),s=Ee("dashboardSidebar",t),i=ze(e,"open",{type:Boolean,default:!1}),a=ze(e,"collapsed",{type:Boolean,default:!1}),o=Bt(),{t:u}=Ke(),r=$e(),v=ga({storageKey:"dashboard",unit:"%",sidebarOpen:U(!1),sidebarCollapsed:U(!1)}),h=`${v.storageKey}-sidebar-${s.id||on()}`,{el:m,size:f,collapse:c,isCollapsed:p,isDragging:y,onMouseDown:I,onTouchStart:j,onDoubleClick:C}=xn(h,De(()=>({...v,...s})),{collapsed:a}),[S,g]=at(),[_,x]=at();gt("dashboard:sidebar:toggle",()=>{i.value=!i.value}),gt("dashboard:sidebar:collapse",R=>{p.value=R}),re(i,()=>v.sidebarOpen.value=i.value,{immediate:!0}),re(p,()=>v.sidebarCollapsed.value=p.value,{immediate:!0}),re(()=>o.fullPath,()=>{s.autoClose&&(i.value=!1)});const w=O(()=>Me({extend:Rs,...r.ui?.dashboardSidebar||{}})({side:s.side})),B=O(()=>({slideover:Ln,modal:Lt,drawer:Os})[s.mode]),b=De(()=>Be(s.menu,{},s.mode==="modal"?{fullscreen:!0,transition:!1}:s.mode==="slideover"?{side:"left"}:{}));function A(){i.value=!i.value}return(R,W)=>(k(),V(he,null,[E(l(S),null,{default:T(()=>[N(R.$slots,"toggle",{open:i.value,toggle:A,ui:w.value},()=>[l(s).toggle?(k(),L($n,Y({key:0},typeof l(s).toggle=="object"?l(s).toggle:{},{side:l(s).toggleSide,"data-slot":"toggle",class:w.value.toggle({class:l(s).ui?.toggle,toggleSide:l(s).toggleSide})}),null,16,["side","class"])):z("",!0)])]),_:3}),E(l(_),null,{default:T(()=>[N(R.$slots,"resize-handle",{onMouseDown:l(I),onTouchStart:l(j),onDoubleClick:l(C),ui:w.value},()=>[l(s).resizable?(k(),L(Cn,{key:0,"aria-controls":h,"data-slot":"handle",class:K(w.value.handle({class:l(s).ui?.handle})),onMousedown:l(I),onTouchstart:l(j),onDblclick:l(C)},null,8,["class","onMousedown","onTouchstart","onDblclick"])):z("",!0)])]),_:3}),l(s).side==="right"?(k(),L(l(x),{key:0})):z("",!0),X("div",Y({id:h,ref_key:"el",ref:m,"data-slot":"root"},R.$attrs,{"data-collapsed":l(p),"data-dragging":l(y),class:w.value.root({class:[l(s).ui?.root,l(s).class]}),style:{"--width":`${l(f)||0}${l(v).unit}`}}),[n.header?(k(),V("div",{key:0,"data-slot":"header",class:K(w.value.header({class:l(s).ui?.header}))},[N(R.$slots,"header",{collapsed:l(p),collapse:l(c)})],2)):z("",!0),X("div",{"data-slot":"body",class:K(w.value.body({class:l(s).ui?.body}))},[N(R.$slots,"default",{collapsed:l(p),collapse:l(c)})],2),n.footer?(k(),V("div",{key:1,"data-slot":"footer",class:K(w.value.footer({class:l(s).ui?.footer}))},[N(R.$slots,"footer",{collapsed:l(p),collapse:l(c)})],2)):z("",!0)],16,Fs),l(s).side==="left"?(k(),L(l(x),{key:1})):z("",!0),E(l(B),Y({open:i.value,"onUpdate:open":W[0]||(W[0]=H=>i.value=H),title:l(u)("dashboardSidebar.title"),description:l(u)("dashboardSidebar.description")},b.value,{ui:{overlay:w.value.overlay({class:l(s).ui?.overlay}),content:w.value.content({class:l(s).ui?.content})}}),{content:T(H=>[N(R.$slots,"content",Te(Ie(H)),()=>[n.header||l(s).mode!=="drawer"?(k(),V("div",{key:0,"data-slot":"header",class:K(w.value.header({class:l(s).ui?.header,menu:!0}))},[l(s).mode!=="drawer"&&l(s).toggleSide==="left"?(k(),L(l(g),{key:0})):z("",!0),N(R.$slots,"header",{collapsed:!1,collapse:()=>{}}),l(s).mode!=="drawer"&&l(s).toggleSide==="right"?(k(),L(l(g),{key:1})):z("",!0)],2)):z("",!0),X("div",{"data-slot":"body",class:K(w.value.body({class:l(s).ui?.body,menu:!0}))},[N(R.$slots,"default",{collapsed:!1,collapse:()=>{}})],2),n.footer?(k(),V("div",{key:1,"data-slot":"footer",class:K(w.value.footer({class:l(s).ui?.footer,menu:!0}))},[N(R.$slots,"footer",{collapsed:!1,collapse:()=>{}})],2)):z("",!0)])]),_:3},16,["open","title","description","ui"])],64))}});function be(e){return Array.isArray?Array.isArray(e):Aa(e)==="[object Array]"}function js(e){if(typeof e=="string")return e;if(typeof e=="bigint")return e.toString();const t=e+"";return t=="0"&&1/e==-1/0?"-0":t}function yt(e){return e==null?"":js(e)}function le(e){return typeof e=="string"}function Ze(e){return typeof e=="number"}function zs(e){return e===!0||e===!1||qs(e)&&Aa(e)=="[object Boolean]"}function Ca(e){return typeof e=="object"}function qs(e){return Ca(e)&&e!==null}function ue(e){return e!=null}function Qe(e){return!e.trim().length}function Aa(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const Ks="Incorrect 'index' type",bt="Invalid doc index: must be a non-negative integer within the bounds of the docs array",Ns=e=>`Invalid value for key ${e}`,Hs=e=>`Pattern length exceeds max of ${e}.`,Us=e=>`Missing ${e} property in key`,Vs=e=>`Property 'weight' in key '${e}' must be a positive integer`,Ws="Fuse.match does not support useTokenSearch: token search requires corpus-level statistics (df, fieldCount) that a one-off string comparison does not have. Use new Fuse(...).search(...) instead.",Jt=Object.prototype.hasOwnProperty;var Gs=class{constructor(e){this._keys=[],this._keyMap={};let t=0;e.forEach(n=>{const s=Ta(n);this._keys.push(s),this._keyMap[s.id]=s,t+=s.weight}),this._keys.forEach(n=>{n.weight/=t})}get(e){return this._keyMap[e]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}};function Ta(e){let t=null,n=null,s=null,i=1,a=null;if(le(e)||be(e))s=e,t=Yt(e),n=et(e);else{if(!Jt.call(e,"name"))throw new Error(Us("name"));const o=e.name;if(s=o,Jt.call(e,"weight")&&e.weight!==void 0&&(i=e.weight,i<=0))throw new Error(Vs(et(o)));t=Yt(o),n=et(o),a=e.getFn??null}return{path:t,id:n,weight:i,src:s,getFn:a}}function Yt(e){return be(e)?e:e.split(".")}function et(e){return be(e)?e.join("."):e}function Js(e,t){const n=[];let s=!1;const i=(a,o,u,r)=>{if(ue(a))if(!o[u])n.push(r!==void 0?{v:a,i:r}:a);else{const v=a[o[u]];if(!ue(v))return;if(u===o.length-1&&(le(v)||Ze(v)||zs(v)||typeof v=="bigint"))n.push(r!==void 0?{v:yt(v),i:r}:yt(v));else if(be(v)){s=!0;for(let h=0,m=v.length;h<m;h+=1)i(v[h],o,u+1,h)}else o.length&&i(v,o,u+1,r)}};return i(e,le(t)?t.split("."):t,0),s?n:n[0]}const Ys={includeMatches:!1,findAllMatches:!1,minMatchCharLength:1},Qs={isCaseSensitive:!1,ignoreDiacritics:!1,includeScore:!1,keys:[],shouldSort:!0,sortFn:(e,t)=>e.score===t.score?e.idx<t.idx?-1:1:e.score<t.score?-1:1},Xs={location:0,threshold:.6,distance:100},Zs={useExtendedSearch:!1,useTokenSearch:!1,tokenize:void 0,tokenMatch:"any",getFn:Js,ignoreLocation:!1,ignoreFieldNorm:!1,fieldNormWeight:1},M=Object.freeze({...Qs,...Ys,...Xs,...Zs});function ei(e){return e>=9&&e<=13||e===32||e===160}function ti(e=1,t=3){const n=new Map,s=Math.pow(10,t);return{get(i){let a=0,o=!1;for(let r=0;r<i.length;r++)ei(i.charCodeAt(r))?o=!1:o||(a++,o=!0);if(a===0&&(a=1),n.has(a))return n.get(a);const u=Math.round(s/Math.pow(a,.5*e))/s;return n.set(a,u),u},clear(){n.clear()}}}var Et=class{constructor({getFn:e=M.getFn,fieldNormWeight:t=M.fieldNormWeight}={}){this.norm=ti(t,3),this.getFn=e,this.isCreated=!1,this.docs=[],this.keys=[],this._keysMap={},this.setIndexRecords()}setSources(e=[]){this.docs=e}setIndexRecords(e=[]){this.records=e}setKeys(e=[]){this.keys=e,this._keysMap={},e.forEach((t,n)=>{this._keysMap[t.id]=n})}create(){if(this.isCreated||!this.docs.length)return;this.isCreated=!0;const e=this.docs.length;this.records=new Array(e);let t=0;if(le(this.docs[0]))for(let n=0;n<e;n++){const s=this._createStringRecord(this.docs[n],n);s&&(this.records[t++]=s)}else for(let n=0;n<e;n++)this.records[t++]=this._createObjectRecord(this.docs[n],n);this.records.length=t,this.norm.clear()}add(e,t){if(!Number.isInteger(t)||t<0)throw new Error(bt);if(le(e)){const s=this._createStringRecord(e,t);return s&&this.records.push(s),s}const n=this._createObjectRecord(e,t);return this.records.push(n),n}removeAt(e){if(!Number.isInteger(e)||e<0)throw new Error(bt);for(let t=0,n=this.records.length;t<n;t+=1)if(this.records[t].i===e){this.records.splice(t,1);break}for(let t=0,n=this.records.length;t<n;t+=1)this.records[t].i>e&&(this.records[t].i-=1)}removeAll(e){const t=new Set;for(const s of e)Number.isInteger(s)&&s>=0&&t.add(s);if(t.size===0)return;this.records=this.records.filter(s=>!t.has(s.i));const n=Array.from(t).sort((s,i)=>s-i);for(const s of this.records){let i=0,a=n.length;for(;i<a;){const o=i+a>>>1;n[o]<s.i?i=o+1:a=o}s.i-=i}}getValueForItemAtKeyId(e,t){return e[this._keysMap[t]]}size(){return this.records.length}_createStringRecord(e,t){return!ue(e)||Qe(e)?null:{v:e,i:t,n:this.norm.get(e)}}_createObjectRecord(e,t){const n={i:t,$:{}};for(let s=0,i=this.keys.length;s<i;s++){const a=this.keys[s],o=a.getFn?a.getFn(e):this.getFn(e,a.path);if(ue(o)){if(be(o)){const u=[];for(let r=0,v=o.length;r<v;r+=1){const h=o[r];if(ue(h)){if(le(h)){if(!Qe(h)){const m={v:h,i:r,n:this.norm.get(h)};u.push(m)}}else if(ue(h.v)){const m=le(h.v)?h.v:yt(h.v);if(!Qe(m)){const f={v:m,i:h.i,n:this.norm.get(m)};u.push(f)}}}}n.$[s]=u}else if(le(o)&&!Qe(o)){const u={v:o,n:this.norm.get(o)};n.$[s]=u}}}return n}toJSON(){return{keys:this.keys.map(({getFn:e,...t})=>t),records:this.records}}};function Ia(e,t,{getFn:n=M.getFn,fieldNormWeight:s=M.fieldNormWeight}={}){const i=new Et({getFn:n,fieldNormWeight:s});return i.setKeys(e.map(Ta)),i.setSources(t),i.create(),i}function ai(e,{getFn:t=M.getFn,fieldNormWeight:n=M.fieldNormWeight}={}){const{keys:s,records:i}=e,a=new Et({getFn:t,fieldNormWeight:n});return a.setKeys(s),a.setIndexRecords(i),a}function ni(e=[],t=M.minMatchCharLength){const n=[];let s=-1,i=-1,a=0;for(let o=e.length;a<o;a+=1){const u=e[a];u&&s===-1?s=a:!u&&s!==-1&&(i=a-1,i-s+1>=t&&n.push([s,i]),s=-1)}return e[a-1]&&a-s>=t&&n.push([s,a-1]),n}function si(e,t,n,{location:s=M.location,distance:i=M.distance,threshold:a=M.threshold,findAllMatches:o=M.findAllMatches,minMatchCharLength:u=M.minMatchCharLength,includeMatches:r=M.includeMatches,ignoreLocation:v=M.ignoreLocation}={}){if(t.length>32)throw new Error(Hs(32));const h=t.length,m=e.length,f=Math.max(0,Math.min(s,m));let c=a,p=f;const y=(b,A)=>{const R=b/h;if(v)return R;const W=Math.abs(f-A);return i?R+W/i:W?1:R},I=u>1||r,j=I?Array(m):[];let C;for(;(C=e.indexOf(t,p))>-1;){const b=y(0,C);if(c=Math.min(b,c),p=C+h,I){let A=0;for(;A<h;)j[C+A]=1,A+=1}}p=-1;let S=[],g=1,_=0,x=h+m;const w=1<<h-1;for(let b=0;b<h;b+=1){let A=0,R=x;for(;A<R;)y(b,f+R)<=c?A=R:x=R,R=Math.floor((x-A)/2+A);x=R;let W=Math.max(1,f-R+1);const H=o?m:Math.min(f+R,m)+h,$=Array(H+2);$[H+1]=(1<<b)-1;for(let F=H;F>=W;F-=1){const d=F-1,q=n[e[d]];if($[F]=($[F+1]<<1|1)&q,b&&($[F]|=(S[F+1]|S[F])<<1|1|S[F+1]),$[F]&w&&(g=y(b,d),g<=c)){if(c=g,p=d,_=b,p<=f)break;W=Math.max(1,2*f-p)}}if(y(b+1,f)>c)break;S=$}if(I&&p>=0){const b=Math.min(m-1,p+h-1+_);for(let A=p;A<=b;A+=1)n[e[A]]&&(j[A]=1)}const B={isMatch:p>=0,score:Math.max(.001,g)};if(I){const b=ni(j,u);b.length?r&&(B.indices=b):B.isMatch=!1}return B}function ii(e){const t={};for(let n=0,s=e.length;n<s;n+=1){const i=e.charAt(n);t[i]=(t[i]||0)|1<<s-n-1}return t}function Mt(e){if(e.length<=1)return e;e.sort((n,s)=>n[0]-s[0]||n[1]-s[1]);const t=[e[0]];for(let n=1,s=e.length;n<s;n+=1){const i=t[t.length-1],a=e[n];a[0]<=i[1]+1?i[1]=Math.max(i[1],a[1]):t.push(a)}return t}const Da={ł:"l",Ł:"L",đ:"d",Đ:"D",ø:"o",Ø:"O",ħ:"h",Ħ:"H",ŧ:"t",Ŧ:"T",ı:"i",ß:"ss"},li=new RegExp("["+Object.keys(Da).join("")+"]","g"),qe=typeof String.prototype.normalize=="function"?e=>e.normalize("NFD").replace(/[\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D3-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C04\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DF9\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA8FF\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F]/g,"").replace(li,t=>Da[t]):e=>e;var Ot=class{constructor(e,{location:t=M.location,threshold:n=M.threshold,distance:s=M.distance,includeMatches:i=M.includeMatches,findAllMatches:a=M.findAllMatches,minMatchCharLength:o=M.minMatchCharLength,isCaseSensitive:u=M.isCaseSensitive,ignoreDiacritics:r=M.ignoreDiacritics,ignoreLocation:v=M.ignoreLocation}={}){if(this.options={location:t,threshold:n,distance:s,includeMatches:i,findAllMatches:a,minMatchCharLength:o,isCaseSensitive:u,ignoreDiacritics:r,ignoreLocation:v},e=u?e:e.toLowerCase(),e=r?qe(e):e,this.pattern=e,this.chunks=[],!this.pattern.length)return;const h=(f,c)=>{this.chunks.push({pattern:f,alphabet:ii(f),startIndex:c})},m=this.pattern.length;if(m>32){let f=0;const c=m%32,p=m-c;for(;f<p;)h(this.pattern.substr(f,32),f),f+=32;if(c){const y=m-32;h(this.pattern.substr(y),y)}}else h(this.pattern,0)}searchIn(e){const{isCaseSensitive:t,ignoreDiacritics:n,includeMatches:s}=this.options;if(e=t?e:e.toLowerCase(),e=n?qe(e):e,this.pattern===e){if(e.length<this.options.minMatchCharLength)return{isMatch:!1,score:1};const p={isMatch:!0,score:0};return s&&(p.indices=[[0,e.length-1]]),p}const{location:i,distance:a,threshold:o,findAllMatches:u,minMatchCharLength:r,ignoreLocation:v}=this.options,h=[];let m=0,f=!1;this.chunks.forEach(({pattern:p,alphabet:y,startIndex:I})=>{const{isMatch:j,score:C,indices:S}=si(e,p,y,{location:i+I,distance:a,threshold:o,findAllMatches:u,minMatchCharLength:r,includeMatches:s,ignoreLocation:v});j&&(f=!0),m+=C,j&&S&&h.push(...S)});const c={isMatch:f,score:f?m/this.chunks.length:1};return f&&s&&(c.indices=Mt(h)),c}};const oi=new Set(["fuzzy","include"]);function ri(e){return e.startsWith("inverse")}const wt=[{type:"exact",multiRegex:/^="(.*)"$/,singleRegex:/^=(.*)$/,create:e=>({type:"exact",search(t){const n=t===e;return{isMatch:n,score:n?0:1,indices:[0,e.length-1]}}})},{type:"include",multiRegex:/^'"(.*)"$/,singleRegex:/^'(.*)$/,create:e=>({type:"include",search(t){let n=0,s;const i=[],a=e.length;for(;(s=t.indexOf(e,n))>-1;)n=s+a,i.push([s,n-1]);const o=!!i.length;return{isMatch:o,score:o?0:1,indices:i}}})},{type:"prefix-exact",multiRegex:/^\^"(.*)"$/,singleRegex:/^\^(.*)$/,create:e=>({type:"prefix-exact",search(t){const n=t.startsWith(e);return{isMatch:n,score:n?0:1,indices:[0,e.length-1]}}})},{type:"inverse-prefix-exact",multiRegex:/^!\^"(.*)"$/,singleRegex:/^!\^(.*)$/,create:e=>({type:"inverse-prefix-exact",search(t){const n=!t.startsWith(e);return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}})},{type:"inverse-suffix-exact",multiRegex:/^!"(.*)"\$$/,singleRegex:/^!(.*)\$$/,create:e=>({type:"inverse-suffix-exact",search(t){const n=!t.endsWith(e);return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}})},{type:"suffix-exact",multiRegex:/^"(.*)"\$$/,singleRegex:/^(.*)\$$/,create:e=>({type:"suffix-exact",search(t){const n=t.endsWith(e);return{isMatch:n,score:n?0:1,indices:[t.length-e.length,t.length-1]}}})},{type:"inverse-exact",multiRegex:/^!"(.*)"$/,singleRegex:/^!(.*)$/,create:e=>({type:"inverse-exact",search(t){const n=t.indexOf(e)===-1;return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}})},{type:"fuzzy",multiRegex:/^"(.*)"$/,singleRegex:/^(.*)$/,create:(e,t={})=>{const n=new Ot(e,{location:t.location??M.location,threshold:t.threshold??M.threshold,distance:t.distance??M.distance,includeMatches:t.includeMatches??M.includeMatches,findAllMatches:t.findAllMatches??M.findAllMatches,minMatchCharLength:t.minMatchCharLength??M.minMatchCharLength,isCaseSensitive:t.isCaseSensitive??M.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics??M.ignoreDiacritics,ignoreLocation:t.ignoreLocation??M.ignoreLocation});return{type:"fuzzy",search(s){return n.searchIn(s)}}}}],Qt=wt.length,ui="\0",ci="|";function di(e){const t=[],n=e.length;let s=0;for(;s<n;){for(;s<n&&e[s]===" ";)s++;if(s>=n)break;let i=s;for(;i<n&&e[i]!==" "&&e[i]!=='"';)i++;if(i<n&&e[i]==='"'){for(i++;i<n;){if(e[i]==='"'){const a=i+1;if(a>=n||e[a]===" "){i++;break}if(e[a]==="$"&&(a+1>=n||e[a+1]===" ")){i+=2;break}}i++}t.push(e.substring(s,i)),s=i}else{for(;i<n&&e[i]!==" ";)i++;t.push(e.substring(s,i)),s=i}}return t}function Xt(e,t){const n=e.match(t);return n?n[1]:null}function fi(e,t={}){return e.replace(/\\\|/g,ui).split(ci).map(n=>{const s=di(n.replace(/\u0000/g,"|").trim()).filter(a=>a&&!!a.trim()),i=[];for(let a=0,o=s.length;a<o;a+=1){const u=s[a];let r=!1,v=-1;for(;!r&&++v<Qt;){const h=wt[v],m=Xt(u,h.multiRegex);m&&(i.push(h.create(m,t)),r=!0)}if(!r)for(v=-1;++v<Qt;){const h=wt[v],m=Xt(u,h.singleRegex);if(m){i.push(h.create(m,t));break}}}return i})}var pi=class{constructor(e,{isCaseSensitive:t=M.isCaseSensitive,ignoreDiacritics:n=M.ignoreDiacritics,includeMatches:s=M.includeMatches,minMatchCharLength:i=M.minMatchCharLength,ignoreLocation:a=M.ignoreLocation,findAllMatches:o=M.findAllMatches,location:u=M.location,threshold:r=M.threshold,distance:v=M.distance}={}){this.query=null,this.options={isCaseSensitive:t,ignoreDiacritics:n,includeMatches:s,minMatchCharLength:i,findAllMatches:o,ignoreLocation:a,location:u,threshold:r,distance:v},e=t?e:e.toLowerCase(),e=n?qe(e):e,this.pattern=e,this.query=fi(this.pattern,this.options)}static condition(e,t){return t.useExtendedSearch}searchIn(e){const t=this.query;if(!t)return{isMatch:!1,score:1};const{includeMatches:n,isCaseSensitive:s,ignoreDiacritics:i}=this.options;e=s?e:e.toLowerCase(),e=i?qe(e):e;let a=0;const o=[];let u=0,r=!1;for(let v=0,h=t.length;v<h;v+=1){const m=t[v];o.length=0,a=0,r=!1;for(let f=0,c=m.length;f<c;f+=1){const p=m[f],{isMatch:y,indices:I,score:j}=p.search(e);if(y)a+=1,u+=j,ri(p.type)&&(r=!0),n&&(oi.has(p.type)?o.push(...I):o.push(I));else{u=0,a=0,o.length=0,r=!1;break}}if(a){const f={isMatch:!0,score:u/a};return r&&(f.hasInverse=!0),n&&(f.indices=Mt(o)),f}}return{isMatch:!1,score:1}}};const kt=[];function Rt(...e){kt.push(...e)}function lt(e,t){for(let n=0,s=kt.length;n<s;n+=1){const i=kt[n];if(i.condition(e,t))return new i(e,t)}return new Ot(e,t)}const ot={AND:"$and",OR:"$or"},St={PATH:"$path",PATTERN:"$val"},_t=e=>!!(e[ot.AND]||e[ot.OR]),hi=e=>!!e[St.PATH],mi=e=>!be(e)&&Ca(e)&&!_t(e),Zt=e=>({[ot.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function Ba(e,t,{auto:n=!0}={}){const s=i=>{if(le(i)){const r={keyId:null,pattern:i};return n&&(r.searcher=lt(i,t)),r}const a=Object.keys(i),o=hi(i);if(!o&&a.length>1&&!_t(i))return s(Zt(i));if(mi(i)){const r=o?i[St.PATH]:a[0],v=o?i[St.PATTERN]:i[r];if(!le(v))throw new Error(Ns(r));const h={keyId:et(r),pattern:v};return n&&(h.searcher=lt(v,t)),h}const u={children:[],operator:a[0]};return a.forEach(r=>{const v=i[r];be(v)&&v.forEach(h=>{u.children.push(s(h))})}),u};return _t(e)||(e=Zt(e)),s(e)}function xt(e,{ignoreFieldNorm:t=M.ignoreFieldNorm}){let n=1;return e.forEach(({key:s,norm:i,score:a})=>{const o=s?s.weight:null;n*=Math.pow(a===0&&o?Number.EPSILON:a,(o||1)*(t?1:i))}),n}function vi(e,{ignoreFieldNorm:t=M.ignoreFieldNorm}){e.forEach(n=>{n.score=xt(n.matches,{ignoreFieldNorm:t})})}var gi=class{constructor(e,t){this.limit=e,this.heap=[],this.comparator=t}get size(){return this.heap.length}insert(e){this.size<this.limit?(this.heap.push(e),this._bubbleUp(this.size-1)):this.comparator(e,this.heap[0])<0&&(this.heap[0]=e,this._sinkDown(0))}extractSorted(){return this.heap.sort(this.comparator)}_bubbleUp(e){const t=this.heap;for(;e>0;){const n=e-1>>1;if(this.comparator(t[e],t[n])<=0)break;const s=t[e];t[e]=t[n],t[n]=s,e=n}}_sinkDown(e){const t=this.heap,n=t.length;let s=e;do{e=s;const i=2*e+1,a=2*e+2;if(i<n&&this.comparator(t[i],t[s])>0&&(s=i),a<n&&this.comparator(t[a],t[s])>0&&(s=a),s!==e){const o=t[e];t[e]=t[s],t[s]=o}}while(s!==e)}};function yi(e){const t=[];return e.matches.forEach(n=>{if(!ue(n.indices)||!n.indices.length)return;const s={indices:n.indices,value:n.value};n.key&&(s.key=n.key.id),n.idx>-1&&(s.refIndex=n.idx),t.push(s)}),t}function bi(e,t,{includeMatches:n=M.includeMatches,includeScore:s=M.includeScore}={}){return e.map(i=>{const{idx:a}=i,o={item:t[a],refIndex:a};return n&&(o.matches=yi(i)),s&&(o.score=i.score),o})}const wi=/[\p{L}\p{M}\p{N}_]+/gu,ea=new WeakSet;function ki(e){ea.has(e)||(ea.add(e),console.warn(`[Fuse] tokenize regex ${e} lacks the global flag; only the first match per text will be returned. Add the 'g' flag.`))}function Si(e){if(typeof e=="function"){let t=!1;return n=>{const s=e(n);if(!t&&(t=!0,!Array.isArray(s)||s.some(i=>typeof i!="string")))throw new Error(`[Fuse] tokenize function must return string[]; received ${Array.isArray(s)?"array containing non-strings":typeof s}.`);return s}}return e instanceof RegExp?(e.global||ki(e),t=>t.match(e)||[]):t=>t.match(wi)||[]}function $t({isCaseSensitive:e=!1,ignoreDiacritics:t=!1,tokenize:n}={}){const s=Si(n);return{tokenize(i){return e||(i=i.toLowerCase()),t&&(i=qe(i)),s(i)}}}var _i=class{static condition(e,t){return t.useTokenSearch}constructor(e,t){this.options=t,this.analyzer=$t({isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,tokenize:t.tokenize});const n=this.analyzer.tokenize(e),{df:s,fieldCount:i}=t._invertedIndex;this.termSearchers=[],this.idfWeights=[];for(const a of n){this.termSearchers.push(new Ot(a,{location:t.location,threshold:t.threshold,distance:t.distance,includeMatches:t.includeMatches,findAllMatches:t.findAllMatches,minMatchCharLength:t.minMatchCharLength,isCaseSensitive:t.isCaseSensitive,ignoreDiacritics:t.ignoreDiacritics,ignoreLocation:!0}));const o=s.get(a)||0,u=Math.log(1+(i-o+.5)/(o+.5));this.idfWeights.push(u)}this.combineAll=t.tokenMatch==="all",this.numTerms=this.termSearchers.length,this.useMask=this.numTerms<=31}searchIn(e){if(!this.termSearchers.length)return{isMatch:!1,score:1};const t=[];let n=0,s=0,i=0,a=0;const o=this.combineAll&&!this.useMask?new Set:null;for(let v=0;v<this.termSearchers.length;v++){const h=this.termSearchers[v].searchIn(e),m=this.idfWeights[v];s+=m,h.isMatch&&(i++,n+=m*(1-h.score),h.indices&&t.push(...h.indices),this.combineAll&&(this.useMask?a|=1<<v:o.add(v)))}if(i===0)return{isMatch:!1,score:1};const u=s>0?1-n/s:0,r={isMatch:!0,score:Math.max(.001,u)};return this.options.includeMatches&&t.length&&(r.indices=Mt(t)),this.combineAll&&(this.useMask?r.matchedMask=a:r.matchedTerms=o,r.termCount=this.numTerms),r}};function ft(e,t,n,s){const i=s.tokenize(t);if(!i.length)return;e.fieldCount++,e.docFieldCount.set(n,(e.docFieldCount.get(n)||0)+1);const a=new Set(i);let o=e.docTermFieldHits.get(n);o||(o=new Map,e.docTermFieldHits.set(n,o));for(const u of a)o.set(u,(o.get(u)||0)+1),e.df.set(u,(e.df.get(u)||0)+1)}function La(e,t,n,s){const{i,v:a,$:o}=t;if(a!==void 0){ft(e,a,i,s);return}if(o)for(let u=0;u<n;u++){const r=o[u];if(r)if(Array.isArray(r))for(const v of r)ft(e,v.v,i,s);else ft(e,r.v,i,s)}}function xi(e,t,n){const s={fieldCount:0,df:new Map,docFieldCount:new Map,docTermFieldHits:new Map};for(const i of e)La(s,i,t,n);return s}function $i(e,t,n,s){La(e,t,n,s)}function Ci(e,t){const n=e.docFieldCount.get(t);if(n===void 0)return;e.fieldCount-=n,e.docFieldCount.delete(t);const s=e.docTermFieldHits.get(t);if(s){for(const[i,a]of s){const o=(e.df.get(i)||0)-a;o<=0?e.df.delete(i):e.df.set(i,o)}e.docTermFieldHits.delete(t)}}function ta(e,t){if(t.length===0)return;const n=Array.from(new Set(t)).sort((u,r)=>u-r);for(const u of n)Ci(e,u);const s=u=>{let r=0,v=n.length;for(;r<v;){const h=r+v>>>1;n[h]<u?r=h+1:v=h}return u-r},i=n[0],a=new Map;for(const[u,r]of e.docFieldCount)a.set(u>i?s(u):u,r);e.docFieldCount=a;const o=new Map;for(const[u,r]of e.docTermFieldHits)o.set(u>i?s(u):u,r);e.docTermFieldHits=o}var we=class{constructor(e,t,n){this.options={...M,...t},this.options.useExtendedSearch,this.options.useTokenSearch,this._keyStore=new Gs(this.options.keys),this._docs=e,this._myIndex=null,this._invertedIndex=null,this.setCollection(e,n),this._lastQuery=null,this._lastSearcher=null}_getSearcher(e){if(this._lastQuery===e)return this._lastSearcher;const t=lt(e,this._invertedIndex?{...this.options,_invertedIndex:this._invertedIndex}:this.options);return this._lastQuery=e,this._lastSearcher=t,t}setCollection(e,t){if(this._docs=e,t&&!(t instanceof Et))throw new Error(Ks);if(this._myIndex=t||Ia(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight}),this.options.useTokenSearch){const n=$t({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});this._invertedIndex=xi(this._myIndex.records,this._myIndex.keys.length,n)}this._invalidateSearcherCache()}add(e){if(!ue(e))return;this._docs.push(e);const t=this._myIndex.add(e,this._docs.length-1);if(this._invertedIndex&&t){const n=$t({isCaseSensitive:this.options.isCaseSensitive,ignoreDiacritics:this.options.ignoreDiacritics,tokenize:this.options.tokenize});$i(this._invertedIndex,t,this._myIndex.keys.length,n)}this._invalidateSearcherCache()}remove(e=()=>!1){const t=[],n=[];for(let s=0,i=this._docs.length;s<i;s+=1)e(this._docs[s],s)&&(t.push(this._docs[s]),n.push(s));if(n.length){this._invertedIndex&&ta(this._invertedIndex,n);const s=new Set(n);this._docs=this._docs.filter((i,a)=>!s.has(a)),this._myIndex.removeAll(n),this._invalidateSearcherCache()}return t}removeAt(e){if(!Number.isInteger(e)||e<0||e>=this._docs.length)throw new Error(bt);this._invertedIndex&&ta(this._invertedIndex,[e]);const t=this._docs.splice(e,1)[0];return this._myIndex.removeAt(e),this._invalidateSearcherCache(),t}_invalidateSearcherCache(){this._lastQuery=null,this._lastSearcher=null}getIndex(){return this._myIndex}_normalizedKeys(){return this._myIndex.keys.map(e=>this._keyStore.get(e.id)||e)}search(e,t){const{limit:n=-1}=t||{},{includeMatches:s,includeScore:i,shouldSort:a,sortFn:o,ignoreFieldNorm:u}=this.options;if(le(e)&&!e.trim()){let f=this._docs.map((c,p)=>({item:c,refIndex:p}));return Ze(n)&&n>-1&&(f=f.slice(0,n)),f}const r=a&&Ze(n)&&n>0&&le(e),v=o,h=(f,c)=>v(f,c)||f.idx-c.idx;let m;if(r){const f=new gi(n,h);le(this._docs[0])?this._searchStringList(e,{heap:f,ignoreFieldNorm:u}):this._searchObjectList(e,{heap:f,ignoreFieldNorm:u}),m=f.extractSorted()}else m=le(e)?le(this._docs[0])?this._searchStringList(e):this._searchObjectList(e):this._searchLogical(e),vi(m,{ignoreFieldNorm:u}),a&&m.sort(le(e)?h:v),Ze(n)&&n>-1&&(m=m.slice(0,n));return bi(m,this._docs,{includeMatches:s,includeScore:i})}_searchStringList(e,{heap:t,ignoreFieldNorm:n}={}){const s=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch==="all",{records:a}=this._myIndex,o=t?null:[];return a.forEach(({v:u,i:r,n:v})=>{if(!ue(u))return;const h=s.searchIn(u);if(h.isMatch){const m={score:h.score,value:u,norm:v,indices:h.indices};i&&(m.matchedMask=h.matchedMask,m.matchedTerms=h.matchedTerms,m.termCount=h.termCount);const f=[m];if(!i||this._coversAllTokens(f)){const c={item:u,idx:r,matches:f};t?(c.score=xt(c.matches,{ignoreFieldNorm:n}),t.insert(c)):o.push(c)}}}),o}_searchLogical(e){const t=Ba(e,this.options),n=this._normalizedKeys(),s=(u,r,v)=>{if(!("children"in u)){const{keyId:c,searcher:p}=u;let y;return c===null?(y=[],n.forEach((I,j)=>{y.push(...this._findMatches({key:I,value:r[j],searcher:p}))})):y=this._findMatches({key:this._keyStore.get(c),value:this._myIndex.getValueForItemAtKeyId(r,c),searcher:p}),y&&y.length?[{idx:v,item:r,matches:y}]:[]}const{children:h,operator:m}=u,f=[];for(let c=0,p=h.length;c<p;c+=1){const y=h[c],I=s(y,r,v);if(I.length)f.push(...I);else if(m===ot.AND)return[]}return f},i=this._myIndex.records,a=new Map,o=[];return i.forEach(({$:u,i:r})=>{if(ue(u)){const v=s(t,u,r);v.length&&(a.has(r)||(a.set(r,{idx:r,item:u,matches:[]}),o.push(a.get(r))),v.forEach(({matches:h})=>{a.get(r).matches.push(...h)}))}}),o}_searchObjectList(e,{heap:t,ignoreFieldNorm:n}={}){const s=this._getSearcher(e),i=this.options.useTokenSearch&&this.options.tokenMatch==="all",{records:a}=this._myIndex,o=this._normalizedKeys(),u=t?null:[];return a.forEach(({$:r,i:v})=>{if(!ue(r))return;const h=[];let m=!1,f=!1;if(o.forEach((c,p)=>{const y=this._findMatches({key:c,value:r[p],searcher:s});y.length?(h.push(...y),y[0].hasInverse&&(f=!0)):m=!0}),!(f&&m)&&h.length&&(!i||this._coversAllTokens(h))){const c={idx:v,item:r,matches:h};t?(c.score=xt(c.matches,{ignoreFieldNorm:n}),t.insert(c)):u.push(c)}}),u}_findMatches({key:e,value:t,searcher:n}){if(!ue(t))return[];const s=[];if(be(t))t.forEach(({v:i,i:a,n:o})=>{if(!ue(i))return;const u=n.searchIn(i);if(u.isMatch){const r={score:u.score,key:e,value:i,idx:a,norm:o,indices:u.indices,hasInverse:u.hasInverse};u.termCount!==void 0&&(r.matchedMask=u.matchedMask,r.matchedTerms=u.matchedTerms,r.termCount=u.termCount),s.push(r)}});else{const{v:i,n:a}=t,o=n.searchIn(i);if(o.isMatch){const u={score:o.score,key:e,value:i,norm:a,indices:o.indices,hasInverse:o.hasInverse};o.termCount!==void 0&&(u.matchedMask=o.matchedMask,u.matchedTerms=o.matchedTerms,u.termCount=o.termCount),s.push(u)}}return s}_coversAllTokens(e){const t=e.length?e[0].termCount:void 0;if(t===void 0)return!0;if(t<=31){let s=0;for(let i=0;i<e.length;i++)s|=e[i].matchedMask||0;return s===2**t-1}const n=new Set;for(let s=0;s<e.length;s++){const i=e[s].matchedTerms;if(i)for(const a of i)n.add(a)}return n.size===t}};we.version="7.5.0";we.createIndex=Ia;we.parseIndex=ai;we.config=M;we.match=function(e,t,n){if(n&&n.useTokenSearch)throw new Error(Ws);return lt(e,{...M,...n}).searchIn(t)};we.parseQuery=Ba;Rt(pi);Rt(_i);we.use=function(...e){e.forEach(t=>Rt(t))};var Ai=we;function Ti(e,t,n){const s=()=>{var a,o;return new Ai((a=ge(t))!==null&&a!==void 0?a:[],(o=ge(n))===null||o===void 0?void 0:o.fuseOptions)},i=rn(s());return re(()=>{var a;return(a=ge(n))===null||a===void 0?void 0:a.fuseOptions},()=>{i.value=s()},{deep:!0}),re(()=>ge(t),a=>{i.value.setCollection(a)},{deep:!0}),{fuse:i,results:O(()=>{const a=ge(n);if(a?.matchAllWhenSearchEmpty&&!ge(e))return ge(t).map((u,r)=>({item:u,refIndex:r}));const o=a?.resultLimit;return i.value.search(ge(e),o?{limit:o}:void 0)})}}const Ii={"&":"&","<":"<",">":">",'"':""","'":"'"};function Di(e){return e.replace(/[&<>"']/g,t=>Ii[t])}function Bi(e){return/&(?:amp|lt|gt|quot|#39);/.test(e)}function pt(e){return Bi(e)?e:Di(e)}function Li(e,t){let n="",s=0,i=!1;for(let a=e.length-1;a>=0;a--){if(e[a]===">")i=!0;else if(e[a]==="<"){i=!1,n=e[a]+n;continue}if(i||s++,s<=t)n=e[a]+n;else{n="..."+n;break}}return n}function ht(e,t,n,s,i){const a=i?t.match(/[\p{L}\p{M}\p{N}_]+/gu)||[]:[],o=a.length>0?Math.min(...a.map(r=>r.length)):t.length;function u(r,v=[]){r=r||"";let h="",m=0;v.forEach(c=>{if(c.length===2&&c[0]===c[1])return;const p=c[1]+1,y=p-c[0]>=o;h+=[pt(r.substring(m,c[0])),y&&"<mark>",pt(r.substring(c[0],p)),y&&"</mark>"].filter(Boolean).join(""),m=p}),h+=pt(r.substring(m));const f=h.indexOf("<mark>");return f!==-1&&(h=Li(h,h.length-f)),h}if(e.matches?.length){for(const r of e.matches)if(!(n&&r.key!==n)&&!s?.includes(r.key))return u(r.value,r.indices)}}const Ei={slots:{root:"flex flex-col min-h-0 min-w-0 divide-y divide-default",input:"",close:"",back:"p-0",content:"relative overflow-hidden flex flex-col",footer:"p-1",viewport:"relative scroll-py-1 overflow-y-auto flex-1 focus:outline-none",group:"p-1 isolate",empty:"text-center text-muted",label:"font-semibold text-highlighted",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",itemLeadingIcon:"shrink-0",itemLeadingAvatar:"shrink-0",itemLeadingAvatarSize:"",itemLeadingChip:"shrink-0",itemLeadingChipSize:"",itemTrailing:"ms-auto inline-flex items-center",itemTrailingIcon:"shrink-0",itemTrailingHighlightedIcon:"shrink-0 text-dimmed hidden group-data-highlighted:inline-flex",itemTrailingKbds:"hidden lg:inline-flex items-center shrink-0",itemTrailingKbdsSize:"",itemWrapper:"flex-1 flex flex-col text-start min-w-0",itemLabel:"truncate space-x-1 text-dimmed",itemLabelBase:"text-highlighted [&>mark]:text-primary [&>mark]:bg-primary/15",itemLabelPrefix:"text-default",itemLabelSuffix:"text-dimmed [&>mark]:text-primary [&>mark]:bg-primary/15",itemDescription:"truncate text-muted [&>mark]:text-primary [&>mark]:bg-primary/15"},variants:{virtualize:{true:{viewport:"p-1 isolate"},false:{viewport:"divide-y divide-default"}},size:{xs:{input:"[&>input]:h-10",empty:"py-3 text-xs",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",itemTrailing:"gap-1",itemTrailingIcon:"size-4",itemTrailingHighlightedIcon:"size-4",itemTrailingKbds:"gap-0.5",itemTrailingKbdsSize:"sm"},sm:{input:"[&>input]:h-11",empty:"py-4 text-xs",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",itemTrailing:"gap-1.5",itemTrailingIcon:"size-4",itemTrailingHighlightedIcon:"size-4",itemTrailingKbds:"gap-0.5",itemTrailingKbdsSize:"sm"},md:{input:"[&>input]:h-12",empty:"py-6 text-sm",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",itemTrailing:"gap-1.5",itemTrailingIcon:"size-5",itemTrailingHighlightedIcon:"size-5",itemTrailingKbds:"gap-0.5",itemTrailingKbdsSize:"md"},lg:{input:"[&>input]:h-13",empty:"py-7 text-sm",label:"p-2 text-xs gap-2",item:"p-2 text-sm gap-2",itemLeadingIcon:"size-5",itemLeadingAvatarSize:"2xs",itemLeadingChip:"size-5",itemLeadingChipSize:"md",itemTrailing:"gap-2",itemTrailingIcon:"size-5",itemTrailingHighlightedIcon:"size-5",itemTrailingKbds:"gap-0.5",itemTrailingKbdsSize:"md"},xl:{input:"[&>input]:h-14",empty:"py-8 text-base",label:"p-2 text-sm gap-2",item:"p-2 text-base gap-2",itemLeadingIcon:"size-6",itemLeadingAvatarSize:"xs",itemLeadingChip:"size-6",itemLeadingChipSize:"lg",itemTrailing:"gap-2",itemTrailingIcon:"size-6",itemTrailingHighlightedIcon:"size-6",itemTrailingKbds:"gap-0.5",itemTrailingKbdsSize:"lg"}},active:{true:{item:"text-highlighted before:bg-elevated",itemLeadingIcon:"text-default"},false:{item:["text-default data-highlighted:not-data-disabled:text-highlighted data-highlighted:not-data-disabled:before:bg-elevated/50","transition-colors before:transition-colors"],itemLeadingIcon:["text-dimmed group-data-highlighted:not-group-data-disabled:text-default","transition-colors"]}},loading:{true:{itemLeadingIcon:"animate-spin"}}},defaultVariants:{size:"md"}},Mi=["innerHTML"],Oi=["innerHTML"],Ri=["innerHTML"],Fi=Object.assign({inheritAttrs:!1},{__name:"UCommandPalette",props:it({as:{type:null,required:!1},size:{type:null,required:!1},icon:{type:[String,Boolean],required:!1,skipCheck:!0},trailingIcon:{type:null,required:!1},selectedIcon:{type:null,required:!1},childrenIcon:{type:null,required:!1},placeholder:{type:String,required:!1},autofocus:{type:Boolean,required:!1,default:!0},close:{type:[Boolean,Object],required:!1},closeIcon:{type:null,required:!1},back:{type:[Boolean,Object],required:!1,default:!0},backIcon:{type:null,required:!1},input:{type:[Boolean,Object],required:!1,default:!0},groups:{type:Array,required:!1},fuse:{type:Object,required:!1},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"},preserveGroupOrder:{type:Boolean,required:!1,default:!1},searchDelay:{type:Number,required:!1,default:0},class:{type:null,required:!1},ui:{type:Object,required:!1},multiple:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},highlightOnHover:{type:Boolean,required:!1,default:!0},selectionBehavior:{type:String,required:!1},by:{type:[String,Function],required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},{searchTerm:{type:String,default:""},searchTermModifiers:{}}),emits:it(["update:modelValue","highlight","entryFocus","leave","update:open"],["update:searchTerm"]),setup(e,{emit:t}){const n=e,s=t,i=Le(),a=Ee("commandPalette",n),o=ze(e,"searchTerm",{type:String,default:""}),{t:u}=Ke(),r=$e(),v=je(st(a,"as","disabled","multiple","modelValue","defaultValue","highlightOnHover","by"),s),h=De(()=>a.virtualize?Be(typeof a.virtualize=="boolean"?{}:a.virtualize,{estimateSize:Wn(B.value,"md",a.descriptionKey,!!i["item-description"])}):!1),[m,f]=at({props:{item:{type:Object,required:!0},group:{type:Object,required:!1},index:{type:Number,required:!1}}}),c=O(()=>Me({extend:Ei,...r.ui?.commandPalette||{}})({size:a.size,virtualize:!!a.virtualize})),p=O(()=>Be({},a.fuse,{fuseOptions:{ignoreLocation:!0,threshold:.1,keys:[a.labelKey,a.descriptionKey,"suffix"]},resultLimit:12,matchAllWhenSearchEmpty:!0})),y=U([]),I=O(()=>y.value[y.value.length-1]?.placeholder||a.placeholder||u("commandPalette.placeholder")),j=O(()=>y.value?.length?[y.value[y.value.length-1]]:a.groups),C=O(()=>j.value?.filter($=>$.id?!$.ignoreFilter:(console.warn("[@nuxt/ui] CommandPalette group is missing an `id` property"),!1))?.flatMap($=>$.items?.map(F=>({...F,group:$.id}))||[])||[]),S=un(o,()=>a.searchDelay),{results:g}=Ti(S,C,p),_=cn(g,16,!0);function x($,F){let d=F;return $?.postFilter&&typeof $.postFilter=="function"&&(d=$.postFilter(S.value,d)),{...$,items:d.slice(0,p.value.resultLimit).map(q=>({...q,labelHtml:q.labelHtml??ht(q,S.value,a.labelKey,void 0,p.value.fuseOptions?.useTokenSearch),suffixHtml:q.suffixHtml??ht(q,S.value,"suffix",[a.labelKey],p.value.fuseOptions?.useTokenSearch),descriptionHtml:q.descriptionHtml??ht(q,S.value,a.descriptionKey,[a.labelKey,"suffix"],p.value.fuseOptions?.useTokenSearch)}))}}const w=O(()=>{const $=j.value,F=_.value.reduce((D,G)=>{const{item:ie,matches:te}=G;return ie.group&&(D[ie.group]||=[],D[ie.group]?.push({...ie,matches:te})),D},{});if(a.preserveGroupOrder){const D=[];for(const G of $||[]){if(!G.items?.length)continue;const ie=G.ignoreFilter?G.items:F[G.id];if(!ie?.length)continue;const te=x(G,ie);te.items?.length&&D.push(te)}return D}const q=[...Object.entries(F).map(([D,G])=>{const ie=$?.find(ye=>ye.id===D);if(!ie)return;const te=x(ie,G);return te.items?.length?te:void 0}).filter(D=>!!D)];for(const D of $||[]){if(!D.ignoreFilter||!D.items?.length)continue;const G=x(D,D.items);if(!G.items?.length)continue;const ie=$.indexOf(D),te=new Set;for(let fe=0;fe<ie;fe++)te.add($[fe].id);let ye=-1;for(let fe=0;fe<q.length;fe++)te.has(q[fe].id)&&(ye=fe);q.splice(ye+1,0,G)}return q}),B=O(()=>w.value.flatMap($=>$.items||[])),b=da("rootRef");re(w,()=>{It(()=>{const $=b.value;$?.$el?.contains(document.activeElement)?$?.highlightFirstItem():$?.highlightSelected(void 0,!1)})});function A($){$.children?.length&&(y.value.push({id:`history-${y.value.length}`,label:$.label,slot:$.slot,placeholder:$.placeholder,items:$.children}),o.value="",b.value?.highlightFirstItem())}function R(){y.value.length&&(y.value.pop(),o.value="",b.value?.highlightFirstItem())}function W(){o.value||R()}function H($,F){F.children?.length?($.preventDefault(),A(F)):F.onSelect?.($)}return($,F)=>(k(),V(he,null,[E(l(m),null,{default:T(({item:d,index:q,group:D})=>[E(fa,Y(l(dn)(d),{custom:""}),{default:T(({active:G,...ie})=>[E(l(zn),{value:l(a).valueKey?l(pe)(d,l(a).valueKey):l(nt)(d,["matches","group","onSelect","labelHtml","suffixHtml","descriptionHtml","children"]),disabled:d.disabled,"as-child":"",onSelect:te=>H(te,d)},{default:T(()=>[E(fn,Y(ie,{"data-slot":"item",class:c.value.item({class:[l(a).ui?.item,d.ui?.item,d.class],active:G||d.active})}),{default:T(()=>[N($.$slots,d.slot||D?.slot||"item",{item:d,index:q,ui:c.value},()=>[N($.$slots,d.slot?`${d.slot}-leading`:D?.slot?`${D.slot}-leading`:"item-leading",{item:d,index:q,ui:c.value},()=>[d.loading?(k(),L(Ae,{key:0,name:l(a).loadingIcon||l(r).ui.icons.loading,"data-slot":"itemLeadingIcon",class:K(c.value.itemLeadingIcon({class:[l(a).ui?.itemLeadingIcon,d.ui?.itemLeadingIcon],loading:!0}))},null,8,["name","class"])):d.icon?(k(),L(Ae,{key:1,name:d.icon,"data-slot":"itemLeadingIcon",class:K(c.value.itemLeadingIcon({class:[l(a).ui?.itemLeadingIcon,d.ui?.itemLeadingIcon],active:G||d.active}))},null,8,["name","class"])):d.avatar?(k(),L(pn,Y({key:2,size:d.ui?.itemLeadingAvatarSize||l(a).ui?.itemLeadingAvatarSize||c.value.itemLeadingAvatarSize()},d.avatar,{"data-slot":"itemLeadingAvatar",class:c.value.itemLeadingAvatar({class:[l(a).ui?.itemLeadingAvatar,d.ui?.itemLeadingAvatar],active:G||d.active})}),null,16,["size","class"])):d.chip?(k(),L(hn,Y({key:3,size:d.ui?.itemLeadingChipSize||l(a).ui?.itemLeadingChipSize||c.value.itemLeadingChipSize(),inset:"",standalone:""},d.chip,{"data-slot":"itemLeadingChip",class:c.value.itemLeadingChip({class:[l(a).ui?.itemLeadingChip,d.ui?.itemLeadingChip],active:G||d.active})}),null,16,["size","class"])):z("",!0)]),d.prefix||d.labelHtml||l(pe)(d,l(a).labelKey)||d.suffixHtml||d.suffix||i[d.slot?`${d.slot}-label`:D?.slot?`${D.slot}-label`:"item-label"]||l(pe)(d,l(a).descriptionKey)||i[d.slot?`${d.slot}-description`:D?.slot?`${D.slot}-description`:"item-description"]?(k(),V("span",{key:0,"data-slot":"itemWrapper",class:K(c.value.itemWrapper({class:[l(a).ui?.itemWrapper,d.ui?.itemWrapper]}))},[X("span",{"data-slot":"itemLabel",class:K(c.value.itemLabel({class:[l(a).ui?.itemLabel,d.ui?.itemLabel],active:G||d.active}))},[N($.$slots,d.slot?`${d.slot}-label`:D?.slot?`${D.slot}-label`:"item-label",{item:d,index:q,ui:c.value},()=>[d.prefix?(k(),V("span",{key:0,"data-slot":"itemLabelPrefix",class:K(c.value.itemLabelPrefix({class:[l(a).ui?.itemLabelPrefix,d.ui?.itemLabelPrefix]}))},ce(d.prefix),3)):z("",!0),d.labelHtml?(k(),V("span",{key:1,"data-slot":"itemLabelBase",class:K(c.value.itemLabelBase({class:[l(a).ui?.itemLabelBase,d.ui?.itemLabelBase],active:G||d.active})),innerHTML:d.labelHtml},null,10,Mi)):(k(),V("span",{key:2,"data-slot":"itemLabelBase",class:K(c.value.itemLabelBase({class:[l(a).ui?.itemLabelBase,d.ui?.itemLabelBase],active:G||d.active}))},ce(l(pe)(d,l(a).labelKey)),3)),d.suffixHtml?(k(),V("span",{key:3,"data-slot":"itemLabelSuffix",class:K(c.value.itemLabelSuffix({class:[l(a).ui?.itemLabelSuffix,d.ui?.itemLabelSuffix],active:G||d.active})),innerHTML:d.suffixHtml},null,10,Oi)):d.suffix?(k(),V("span",{key:4,"data-slot":"itemLabelSuffix",class:K(c.value.itemLabelSuffix({class:[l(a).ui?.itemLabelSuffix,d.ui?.itemLabelSuffix],active:G||d.active}))},ce(d.suffix),3)):z("",!0)])],2),d.descriptionHtml?(k(),V("span",{key:0,"data-slot":"itemDescription",class:K(c.value.itemDescription({class:[l(a).ui?.itemDescription,d.ui?.itemDescription]})),innerHTML:d.descriptionHtml},null,10,Ri)):l(pe)(d,l(a).descriptionKey)||i[d.slot?`${d.slot}-description`:D?.slot?`${D.slot}-description`:"item-description"]?(k(),V("span",{key:1,"data-slot":"itemDescription",class:K(c.value.itemDescription({class:[l(a).ui?.itemDescription,d.ui?.itemDescription]}))},[N($.$slots,d.slot?`${d.slot}-description`:D?.slot?`${D.slot}-description`:"item-description",{item:d,index:q,ui:c.value},()=>[me(ce(l(pe)(d,l(a).descriptionKey)),1)])],2)):z("",!0)],2)):z("",!0),X("span",{"data-slot":"itemTrailing",class:K(c.value.itemTrailing({class:[l(a).ui?.itemTrailing,d.ui?.itemTrailing]}))},[N($.$slots,d.slot?`${d.slot}-trailing`:D?.slot?`${D.slot}-trailing`:"item-trailing",{item:d,index:q,ui:c.value},()=>[d.children&&d.children.length>0?(k(),L(Ae,{key:0,name:l(a).childrenIcon||l(r).ui.icons.chevronRight,"data-slot":"itemTrailingIcon",class:K(c.value.itemTrailingIcon({class:[l(a).ui?.itemTrailingIcon,d.ui?.itemTrailingIcon]}))},null,8,["name","class"])):d.kbds?.length?(k(),V("span",{key:1,"data-slot":"itemTrailingKbds",class:K(c.value.itemTrailingKbds({class:[l(a).ui?.itemTrailingKbds,d.ui?.itemTrailingKbds]}))},[(k(!0),V(he,null,_e(d.kbds,(te,ye)=>(k(),L(ia,Y({key:ye,size:d.ui?.itemTrailingKbdsSize||l(a).ui?.itemTrailingKbdsSize||c.value.itemTrailingKbdsSize()},{ref_for:!0},typeof te=="string"?{value:te}:te),null,16,["size"]))),128))],2)):D?.highlightedIcon?(k(),L(Ae,{key:2,name:D.highlightedIcon,"data-slot":"itemTrailingHighlightedIcon",class:K(c.value.itemTrailingHighlightedIcon({class:[l(a).ui?.itemTrailingHighlightedIcon,d.ui?.itemTrailingHighlightedIcon]}))},null,8,["name","class"])):z("",!0)]),d.children?.length?z("",!0):(k(),L(l(qn),{key:0,"as-child":""},{default:T(()=>[E(Ae,{name:l(a).selectedIcon||l(r).ui.icons.check,"data-slot":"itemTrailingIcon",class:K(c.value.itemTrailingIcon({class:[l(a).ui?.itemTrailingIcon,d.ui?.itemTrailingIcon]}))},null,8,["name","class"])]),_:2},1024))],2)])]),_:2},1040,["class"])]),_:2},1032,["value","disabled","onSelect"])]),_:2},1040)]),_:3}),E(l(Vn),Y({ref_key:"rootRef",ref:b,"data-slot":"root"},{...l(v),...$.$attrs},{"selection-behavior":l(a).selectionBehavior,class:c.value.root({class:[l(a).ui?.root,l(a).class]})}),{default:T(()=>[l(a).input?(k(),L(l(Kn),{key:0,modelValue:o.value,"onUpdate:modelValue":F[1]||(F[1]=d=>o.value=d),"as-child":""},{default:T(()=>[E(pa,Y({variant:"none",size:l(a).size,placeholder:I.value,autofocus:l(a).autofocus,loading:l(a).loading,"loading-icon":l(a).loadingIcon,"trailing-icon":l(a).trailingIcon,icon:l(a).icon===!1?void 0:l(a).icon??l(r).ui.icons.search},typeof l(a).input=="object"?l(a).input:{},{"data-slot":"input",class:c.value.input({class:l(a).ui?.input}),onKeydown:mn(W,["backspace"])}),At({_:2},[y.value?.length&&(l(a).back||i.back)?{name:"leading",fn:T(()=>[N($.$slots,"back",{ui:c.value},()=>[E(xe,Y({size:l(a).size,icon:l(a).backIcon||l(r).ui.icons.arrowLeft,color:"neutral",variant:"link","aria-label":l(u)("commandPalette.back")},typeof l(a).back=="object"?l(a).back:{},{"data-slot":"back",class:c.value.back({class:l(a).ui?.back}),onClick:R}),null,16,["size","icon","aria-label","class"])])]),key:"0"}:void 0,l(a).close||i.close?{name:"trailing",fn:T(()=>[N($.$slots,"close",{ui:c.value},()=>[l(a).close?(k(),L(xe,Y({key:0,size:l(a).size,icon:l(a).closeIcon||l(r).ui.icons.close,color:"neutral",variant:"ghost","aria-label":l(u)("commandPalette.close")},typeof l(a).close=="object"?l(a).close:{},{"data-slot":"close",class:c.value.close({class:l(a).ui?.close}),onClick:F[0]||(F[0]=d=>s("update:open",!1))}),null,16,["size","icon","aria-label","class"])):z("",!0)])]),key:"1"}:void 0]),1040,["size","placeholder","autofocus","loading","loading-icon","trailing-icon","icon","class"])]),_:3},8,["modelValue"])):z("",!0),E(l(Nn),{"data-slot":"content",class:K(c.value.content({class:l(a).ui?.content}))},{default:T(()=>[w.value?.length?(k(),V("div",{key:0,role:"presentation","data-slot":"viewport",class:K(c.value.viewport({class:l(a).ui?.viewport}))},[l(a).virtualize?(k(),L(l(Hn),Y({key:0,options:B.value,"text-content":d=>l(pe)(d,l(a).labelKey)},h.value),{default:T(({option:d,virtualItem:q})=>[E(l(f),{item:d,index:q.index},null,8,["item","index"])]),_:1},16,["options","text-content"])):(k(!0),V(he,{key:1},_e(w.value,d=>(k(),L(l(Un),{key:`group-${d.id}`,"data-slot":"group",class:K(c.value.group({class:l(a).ui?.group}))},{default:T(()=>[l(pe)(d,l(a).labelKey)||i[d.slot?`${d.slot}-group-label`:"group-label"]?(k(),L(l(is),{key:0,"data-slot":"label",class:K(c.value.label({class:l(a).ui?.label}))},{default:T(()=>[N($.$slots,d.slot?`${d.slot}-group-label`:"group-label",{group:d,label:l(pe)(d,l(a).labelKey),ui:c.value},()=>[me(ce(l(pe)(d,l(a).labelKey)),1)])]),_:2},1032,["class"])):z("",!0),(k(!0),V(he,null,_e(d.items,(q,D)=>(k(),L(l(f),{key:`group-${d.id}-${D}`,item:q,index:D,group:d},null,8,["item","index","group"]))),128))]),_:2},1032,["class"]))),128))],2)):(k(),V("div",{key:1,"data-slot":"empty",class:K(c.value.empty({class:l(a).ui?.empty}))},[N($.$slots,"empty",{searchTerm:o.value},()=>[me(ce(o.value?l(u)("commandPalette.noMatch",{searchTerm:o.value}):l(u)("commandPalette.noData")),1)])],2))]),_:3},8,["class"]),i.footer?(k(),V("div",{key:1,"data-slot":"footer",class:K(c.value.footer({class:l(a).ui?.footer}))},[N($.$slots,"footer",{ui:c.value})],2)):z("",!0)]),_:3},16,["selection-behavior","class"])],64))}}),Pi={slots:{modal:"",input:""},variants:{fullscreen:{false:{modal:"sm:max-w-3xl h-full sm:h-[28rem]"}},size:{xs:{},sm:{},md:{},lg:{},xl:{}}},defaultVariants:{size:"md"}},ji=/^[^-]+.*-.*[^-]+$/,zi=/^[^_]+.*_.*[^_]+$/,aa=["arrowleft","arrowright","arrowup","arrowdown","tab","escape","enter","backspace"];function Xe(e){return/^[a-z]$/i.test(e)?`Key${e.toUpperCase()}`:/^\d$/.test(e)?`Digit${e}`:/^f\d+$/i.test(e)?e.toUpperCase():{space:"Space",enter:"Enter",escape:"Escape",tab:"Tab",backspace:"Backspace",delete:"Delete",arrowup:"ArrowUp",arrowdown:"ArrowDown",arrowleft:"ArrowLeft",arrowright:"ArrowRight"}[e.toLowerCase()]||e}function Ea(e,t={}){const n=t.chainDelay??800,s=U([]),i=()=>{s.value.splice(0,s.value.length)},a=ha(i,n);let o;const u=()=>{o=void 0,v.stop()},r=()=>{const g=o;if(u(),!g)return;const _=C.value.find(x=>x.key===g.shortcut.key&&!x.metaKey&&!x.ctrlKey&&!x.altKey&&!x.shiftKey);_?.enabled&&_.handler(g.event)},v=vn(()=>{r(),i()},n,{immediate:!1}),{macOS:h}=gn(),m=bn(),f=t.layoutIndependent??!1,c=aa.map(g=>Xe(g)),p=g=>{if(!g.key)return;const _=f||g.altKey,x=_?/^Key[A-Z]$/i.test(g.code):/^[a-z]{1}$/i.test(g.key),w=_?c.includes(g.code):aa.includes(g.key.toLowerCase());let B;if(s.value.push(f?g.code:g.key),s.value.length>=2){B=s.value.slice(-2).join("-");for(const b of j.value)if(b.key===B){b.enabled?(u(),g.preventDefault(),b.handler(g)):r(),i();return}}r();for(const b of C.value){if(f){if(g.code!==b.key)continue}else if(b.altKey&&g.altKey){if(g.code!==Xe(b.key))continue}else if(g.key.toLowerCase()!==b.key)continue;if(g.metaKey!==b.metaKey||g.ctrlKey!==b.ctrlKey||g.altKey!==b.altKey||(x||w||b.shiftKey||g.shiftKey&&(g.metaKey||g.ctrlKey))&&g.shiftKey!==b.shiftKey)continue;if(!b.metaKey&&!b.ctrlKey&&!b.altKey&&!b.shiftKey&&S.value.has(b.key)){b.enabled&&g.preventDefault(),o={shortcut:b,event:g},v.start();return}b.enabled&&(g.preventDefault(),b.handler(g)),i();return}a()},y=O(()=>{const g=m.value?.tagName,_=m.value?.contentEditable;return g==="INPUT"||g==="TEXTAREA"||_==="true"||_==="plaintext-only"?m.value?.name||!0:!1}),I=O(()=>Object.entries(ge(e)).map(([g,_])=>{if(!_)return null;let x;g.includes("-")&&g!=="-"&&!g.includes("_")&&!g.match(ji)?.length&&console.trace(`[Shortcut] Invalid key: "${g}"`),g.includes("_")&&g!=="_"&&!g.match(zi)?.length&&console.trace(`[Shortcut] Invalid key: "${g}"`);const w=g.includes("-")&&g!=="-"&&!g.includes("_");if(w)f?x={key:g.split("-").map(A=>Xe(A)).join("-"),metaKey:!1,ctrlKey:!1,shiftKey:!1,altKey:!1}:x={key:g.toLowerCase(),metaKey:!1,ctrlKey:!1,shiftKey:!1,altKey:!1};else{const b=g.toLowerCase().split("_").map(R=>R);let A=b.filter(R=>!["meta","command","ctrl","shift","alt","option"].includes(R)).join("_");f&&(A=Xe(A)),x={key:A,metaKey:b.includes("meta")||b.includes("command"),ctrlKey:b.includes("ctrl"),shiftKey:b.includes("shift"),altKey:b.includes("alt")||b.includes("option")}}if(x.chained=w,!h.value&&x.metaKey&&!x.ctrlKey&&(x.metaKey=!1,x.ctrlKey=!0),typeof _=="function"?x.handler=_:typeof _=="object"&&(x={...x,handler:_.handler}),!x.handler)return console.trace("[Shortcut] Invalid value"),null;let B=!0;return _.usingInput?typeof _.usingInput=="string"&&(B=y.value===_.usingInput):B=!y.value,x.enabled=B,x}).filter(Boolean)),j=O(()=>I.value.filter(g=>g.chained)),C=O(()=>I.value.filter(g=>!g.chained)),S=O(()=>new Set(j.value.map(g=>g.key.split("-")[0])));return yn("keydown",p)}const qi={__name:"UDashboardSearch",props:it({size:{type:null,required:!1},close:{type:[Boolean,Object],required:!1,default:!0},input:{type:[Boolean,Object],required:!1},shortcut:{type:String,required:!1,default:"meta_k"},fuse:{type:Object,required:!1},searchDelay:{type:Number,required:!1,default:100},colorMode:{type:Boolean,required:!1,default:!0},class:{type:null,required:!1},ui:{type:Object,required:!1},title:{type:String,required:!1},description:{type:String,required:!1},overlay:{type:Boolean,required:!1},transition:{type:Boolean,required:!1},content:{type:Object,required:!1},dismissible:{type:Boolean,required:!1},fullscreen:{type:Boolean,required:!1,default:!1},modal:{type:Boolean,required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0},unmountOnHide:{type:Boolean,required:!1},icon:{type:[String,Boolean],required:!1,skipCheck:!0},trailingIcon:{type:null,required:!1},selectedIcon:{type:null,required:!1},childrenIcon:{type:null,required:!1},placeholder:{type:String,required:!1},autofocus:{type:Boolean,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1},closeIcon:{type:null,required:!1},back:{type:[Boolean,Object],required:!1},backIcon:{type:null,required:!1},disabled:{type:Boolean,required:!1},highlightOnHover:{type:Boolean,required:!1},labelKey:{type:null,required:!1},descriptionKey:{type:null,required:!1},preserveGroupOrder:{type:Boolean,required:!1},virtualize:{type:[Boolean,Object],required:!1},groups:{type:Array,required:!1}},{open:{type:Boolean,default:!1},openModifiers:{},searchTerm:{type:String,default:""},searchTermModifiers:{}}),emits:["update:open","update:searchTerm"],setup(e,{expose:t}){const n=e,s=Le(),i=Ee("dashboardSearch",n),a=ze(e,"open",{type:Boolean,default:!1}),o=ze(e,"searchTerm",{type:String,default:""});gt("dashboard:search:toggle",()=>{a.value=!a.value});const{t:u}=Ke(),r=la(),v=$e(),h=je(st(i,"size","icon","trailingIcon","selectedIcon","childrenIcon","placeholder","autofocus","loading","loadingIcon","close","closeIcon","back","backIcon","disabled","highlightOnHover","labelKey","descriptionKey","preserveGroupOrder","virtualize","searchDelay")),m=je(st(i,"overlay","transition","content","dismissible","fullscreen","modal","portal","unmountOnHide")),f=O(()=>i.input===!1?!1:Be(typeof i.input=="object"?i.input:{},{fixed:!0})),c=()=>nt(s,["content"]),p=O(()=>Be({},i.fuse,{fuseOptions:{useTokenSearch:!0}})),y=O(()=>Me({extend:Pi,...v.ui?.dashboardSearch||{}})({size:i.size,fullscreen:i.fullscreen})),I=O(()=>{const S=[];return S.push(...i.groups||[]),i.colorMode&&!r?.forced&&S.push({id:"theme",label:u("dashboardSearch.theme"),items:[{label:u("colorMode.system"),icon:v.ui.icons.system,active:r.preference==="system",onSelect:()=>{r.preference="system"}},{label:u("colorMode.light"),icon:v.ui.icons.light,active:r.preference==="light",onSelect:()=>{r.preference="light"}},{label:u("colorMode.dark"),icon:v.ui.icons.dark,active:r.preference==="dark",onSelect:()=>{r.preference="dark"}}]}),S}),j=da("commandPaletteRef");function C(S){S.disabled||(a.value=!1,o.value="")}return Ea({[i.shortcut]:{usingInput:!0,handler:()=>a.value=!a.value}}),t({commandPaletteRef:j}),(S,g)=>(k(),L(Lt,Y({open:a.value,"onUpdate:open":g[2]||(g[2]=_=>a.value=_),title:l(i).title||l(u)("dashboardSearch.title"),description:l(i).description||l(u)("dashboardSearch.description")},l(m),{"data-slot":"modal",class:y.value.modal({class:[l(i).ui?.modal,l(i).class]})}),{content:T(_=>[N(S.$slots,"content",Te(Ie(_)),()=>[E(Fi,Y({ref_key:"commandPaletteRef",ref:j,"search-term":o.value,"onUpdate:searchTerm":g[0]||(g[0]=x=>o.value=x)},l(h),{groups:I.value,fuse:p.value,input:f.value,ui:l(sa)(l(nt)(y.value,["modal"]),l(i).ui),"onUpdate:modelValue":C,"onUpdate:open":g[1]||(g[1]=x=>a.value=x)}),At({_:2},[_e(c(),(x,w)=>({name:w,fn:T(B=>[N(S.$slots,w,Te(Ie(B)))])}))]),1040,["search-term","groups","fuse","input","ui"])])]),_:3},16,["open","title","description","class"]))}},Ki={class:"flex items-center gap-2"},Ni={class:"space-y-4"},Hi={class:"grid grid-cols-2 gap-3"},Ui={id:"jb-products"},Vi=["value"],Wi={class:"flex items-center gap-2"},Gi={class:"text-xs font-medium text-muted uppercase tracking-wider"},Ji={class:"flex items-center justify-between pt-1"},Yi=ve({__name:"OpenInIdeSettingsModal",setup(e){const{prefs:t,settingsOpen:n,settingsContext:s}=ya(),i=Object.keys(Ht).map(c=>({label:Ht[c],value:c})),a=Object.keys(Ut).map(c=>({label:Ut[c],value:c})),o=O(()=>t.value.method==="auto"||t.value.method==="vscode"),u=O(()=>t.value.method!=="vscode"),r=O(()=>s.value.projectKey??null),v=O(()=>s.value.projectName||(r.value?`project ${r.value}`:""));function h(c){return O({get:()=>r.value?t.value[c][r.value]??"":"",set:p=>{const y=r.value;if(!y)return;const I={...t.value[c]};p.trim()?I[y]=p:delete I[y],t.value[c]=I}})}const m=h("projectRoots"),f=h("jetbrainsProjectNames");return(c,p)=>{const y=Ae,I=Jn,j=Yn,C=Qn,S=pa,g=Xn,_=Zn,x=es,w=Gn,B=xe,b=Lt;return k(),L(b,{open:l(n),"onUpdate:open":p[9]||(p[9]=A=>Pe(n)?n.value=A:null),ui:{content:"max-w-lg"}},{header:T(()=>[X("div",Ki,[E(y,{name:"i-lucide-external-link",class:"size-5 text-primary"}),p[10]||(p[10]=X("h2",{class:"text-base font-semibold"},"Open in IDE",-1)),E(I,{topic:"ide.open"})])]),body:T(()=>[X("div",Ni,[p[14]||(p[14]=X("p",{class:"text-sm text-muted"}," Click a source path anywhere in the dashboard to open it in your editor. These preferences are stored in this browser only. ",-1)),E(C,{label:"Method",name:"method",description:"Auto probes the JetBrains local server first, then falls back to a URL launch."},{default:T(()=>[E(j,{modelValue:l(t).method,"onUpdate:modelValue":p[0]||(p[0]=A=>l(t).method=A),items:l(i),class:"w-full"},null,8,["modelValue","items"])]),_:1}),E(C,{label:"Workspace root",name:"defaultRoot",description:"Absolute path to your local checkout — repo-relative paths are joined onto it (VS Code needs this)."},{default:T(()=>[E(S,{modelValue:l(t).defaultRoot,"onUpdate:modelValue":p[1]||(p[1]=A=>l(t).defaultRoot=A),placeholder:"/home/me/my-repo",class:"w-full"},null,8,["modelValue"])]),_:1}),l(o)?(k(),L(C,{key:0,label:"VS Code flavor",name:"vscodeScheme"},{default:T(()=>[E(j,{modelValue:l(t).vscodeScheme,"onUpdate:modelValue":p[2]||(p[2]=A=>l(t).vscodeScheme=A),items:l(a),class:"w-full"},null,8,["modelValue","items"])]),_:1})):z("",!0),l(u)?(k(),V(he,{key:1},[X("div",Hi,[E(C,{label:"JetBrains product",name:"jetbrainsProduct",description:"e.g. idea, webstorm, pycharm."},{default:T(()=>[E(S,{modelValue:l(t).jetbrainsProduct,"onUpdate:modelValue":p[3]||(p[3]=A=>l(t).jetbrainsProduct=A),placeholder:"idea",list:"jb-products",class:"w-full"},null,8,["modelValue"]),X("datalist",Ui,[(k(!0),V(he,null,_e(l(Bn),A=>(k(),V("option",{key:A,value:A},null,8,Vi))),128))])]),_:1}),E(C,{label:"Local server port",name:"jetbrainsPort",description:"Remote Control plugin."},{default:T(()=>[E(S,{modelValue:l(t).jetbrainsPort,"onUpdate:modelValue":p[4]||(p[4]=A=>l(t).jetbrainsPort=A),modelModifiers:{number:!0},type:"number",class:"w-full"},null,8,["modelValue"])]),_:1})]),E(C,{name:"jetbrainsHttpUsesRelativePath"},{default:T(()=>[X("div",Wi,[E(g,{modelValue:l(t).jetbrainsHttpUsesRelativePath,"onUpdate:modelValue":p[5]||(p[5]=A=>l(t).jetbrainsHttpUsesRelativePath=A)},null,8,["modelValue"]),p[11]||(p[11]=X("span",{class:"text-sm"},"Send a content-root-relative path to the local server",-1))])]),_:1})],64)):z("",!0),l(r)?(k(),V(he,{key:2},[E(_),X("p",Gi,"Override for "+ce(l(v)),1),E(C,{label:"Workspace root override",name:"projectRoot",description:"Use a different local folder for this project (monorepos, multiple checkouts)."},{default:T(()=>[E(S,{modelValue:l(m),"onUpdate:modelValue":p[6]||(p[6]=A=>Pe(m)?m.value=A:null),placeholder:l(t).defaultRoot||"/home/me/this-project",class:"w-full"},null,8,["modelValue","placeholder"])]),_:1}),l(u)?(k(),L(C,{key:0,label:"JetBrains project name",name:"projectJbName",description:"The open IDE project name for the jetbrains:// link."},{default:T(()=>[E(S,{modelValue:l(f),"onUpdate:modelValue":p[7]||(p[7]=A=>Pe(f)?f.value=A:null),placeholder:l(v),class:"w-full"},null,8,["modelValue","placeholder"])]),_:1})):z("",!0)],64)):z("",!0),l(u)?(k(),L(x,{key:3,color:"neutral",variant:"soft",icon:"i-lucide-info",title:"JetBrains prerequisites",description:"The jetbrains:// link needs JetBrains Toolbox. The local server needs the IDE Remote Control plugin with 'Allow unsigned requests', and browsers block it when this dashboard is served over HTTPS."})):z("",!0),X("div",Ji,[E(w,{to:"ide-integration"},{default:T(()=>[...p[12]||(p[12]=[me("Learn more",-1)])]),_:1}),E(B,{color:"neutral",onClick:p[8]||(p[8]=A=>n.value=!1)},{default:T(()=>[...p[13]||(p[13]=[me("Done",-1)])]),_:1})])])]),_:1},8,["open"])}}}),Qi=Object.assign(Yi,{__name:"OpenInIdeSettingsModal"}),Xi={base:"fixed inset-0 flex overflow-hidden"},Zi={__name:"UDashboardGroup",props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1},storage:{type:String,required:!1,default:"cookie"},storageKey:{type:String,required:!1,default:"dashboard"},storageOptions:{type:Object,required:!1},persistent:{type:Boolean,required:!1,default:!0},unit:{type:String,required:!1,default:"%"}},setup(e){const n=Ee("dashboardGroup",e),s=ua(),i=$e(),a=O(()=>Me({extend:Xi,...i.ui?.dashboardGroup||{}})),o=U(!1),u=U(!1);return An({storage:n.storage,storageKey:n.storageKey,storageOptions:n.storageOptions,persistent:n.persistent,unit:n.unit,sidebarOpen:o,toggleSidebar:()=>{s.hooks.callHook("dashboard:sidebar:toggle")},sidebarCollapsed:u,collapseSidebar:r=>{s.hooks.callHook("dashboard:sidebar:collapse",r)},toggleSearch:()=>{s.hooks.callHook("dashboard:search:toggle")}}),(r,v)=>(k(),L(l(na),{as:l(n).as,class:K(a.value({class:[l(n).ui?.base,l(n).class]}))},{default:T(()=>[N(r.$slots,"default")]),_:3},8,["as","class"]))}},el=ve({__name:"ProjectsMenu",props:{collapsed:{type:Boolean}},async setup(e){let t,n;const s=Bt(),i=ma(),{data:a,refresh:o}=([t,n]=va(()=>ba("/api/projects/menu","$J9hspuqfo0")),t=await t,n(),t);wa(o);const u=O(()=>{const h=s.params.id;return h?parseInt(h):null}),r=O(()=>{if(!u.value||!a.value)return{label:"All projects",icon:"i-lucide-folder-open"};const h=a.value.find(m=>m.id===u.value);return h?{label:h.label||h.name,icon:"i-lucide-folder"}:{label:"All projects",icon:"i-lucide-folder-open"}}),v=O(()=>{const h=[{label:"All projects",icon:"i-lucide-folder-open",onSelect(){i.push("/projects")}}];return a.value&&a.value.length>0&&h.push(...a.value.map(m=>({label:m.label||m.name,icon:"i-lucide-folder",onSelect(){i.push(`/projects/${m.id}`)}}))),[h]});return(h,m)=>{const f=xe,c=oa;return k(),L(c,{items:l(v),content:{align:"center",collisionPadding:12},ui:{content:e.collapsed?"w-40":"w-(--reka-dropdown-menu-trigger-width)"}},{default:T(()=>[E(f,Y({...l(r),label:e.collapsed?void 0:l(r)?.label,trailingIcon:e.collapsed?void 0:"i-lucide-chevrons-up-down"},{color:"neutral",variant:"ghost",block:"",square:e.collapsed,class:["data-[state=open]:bg-elevated",[!e.collapsed&&"py-2"]],ui:{trailingIcon:"text-dimmed"}}),null,16,["square","class"])]),_:1},8,["items","ui"])}}}),tl=Object.assign(el,{__name:"ProjectsMenu"});let mt=null,vt=!1,tt=!0;window.addEventListener("focus",()=>{tt=!0}),window.addEventListener("blur",()=>{tt=!1}),tt=document.hasFocus();let Fe=null;function al(e){const t=[];switch(e.type){case"run.finished":case"run.failed":case"run.failed.default_branch":case"flakiness.spike":case"perf.regression":{const n=e.projectName??`Project #${e.projectId}`,s=e.branch&&e.type!=="perf.regression"?` on ${e.branch}`:"";if(e.type==="run.finished"?t.push(`${n}${s}: ${e.status??"finished"}`):e.type==="run.failed"?t.push(`${n}${s}: ${e.failedTests??0}/${e.totalTests??0} tests failed`):e.type==="run.failed.default_branch"?t.push(`${n}: ${e.failedTests??0} failures on default branch`):e.type==="flakiness.spike"?t.push(`${n}: flakiness spike detected`):e.type==="perf.regression"&&t.push(`${n}: performance regression detected`),e.failedTests&&t.push(`${e.failedTests} failed, ${e.totalTests} total`),e.topFailures?.length){const[i,...a]=e.topFailures;t.push(a.length?`${i.title} +${a.length} more`:i.title)}break}case"cluster.new":t.push(`${e.projectName??`Project #${e.projectId}`}: new failure cluster`),e.signature&&t.push(e.signature);break;case"diagnosis.completed":case"diagnosis-completed":t.push(e.summary||e.rootCause||""),e.category&&t.push(`Category: ${e.category}`),e.confidence&&t.push(`Confidence: ${e.confidence}`);break}return t.filter(Boolean).join(`
|
|
2
|
-
`)}function nl(e){return e.clusterId?`/failure-clusters/${e.clusterId}`:e.runId&&e.projectId?`/test-runs/${e.runId}`:null}let Ct=null;function Ma(e){if(!("Notification"in window)||Notification.permission!=="granted"||document.visibilityState==="visible"&&tt||(e.type==="diagnosis.completed"||e.type==="diagnosis-completed")&&Ct&&!Ct.value)return;if(Fe&&e.projectId!=null){const o=Fe.isEventSubscribed(e.projectId,e.type);if(console.log("[notify-stream] GATE: cookie filter",{projectId:e.projectId,type:e.type,subscribed:o,cookieProjects:Object.keys(Fe.stored.value.projects),matchingEvents:Fe.stored.value.projects[e.projectId]?.events??[]}),!o)return}const t=al(e);if(!t)return;const n=e.clusterId??e.runId??e.signature??e.type,s=`piwi-${e.type}-${n}`,i=new Notification("Piwi Dashboard",{body:t,tag:s,icon:"/logo.svg"});console.log("[notify-stream] notification fired",{type:e.type,projectId:e.projectId});const a=nl(e);a?i.onclick=()=>{window.focus(),window.location.href=a,i.close()}:i.onclick=()=>{window.focus(),i.close()}}async function sl(){if(Ne().public.demoMode)return!0;if(!("Notification"in window)||Notification.permission!=="granted")return!1;try{return(await $fetch("/api/channels")).channels.some(t=>t.type==="browser")}catch{return!1}}async function il(){const e=Ne();return e.public.demoMode?!0:e.public.authEnabled?sl():!0}function ll(){ts(e=>{e.scope==="notification"&&Ma(e.event)})}function ol(){mt=new EventSource("/api/notifications/stream"),mt.onmessage=e=>{try{const t=JSON.parse(e.data);Ma(t)}catch{}},mt.onerror=()=>{}}function rl(){if(vt)return;vt=!0,vt=!0;const{active:e}=as();Ct=e;const t=Ne();t.public.authEnabled||(Fe=ns()),il().then(n=>{n&&(t.public.demoMode?ll():ol())}),ca(()=>{})}const ul=()=>{const e=ma();return Ea({"g-h":()=>e.push("/"),"g-p":()=>e.push("/projects"),"g-a":()=>e.push("/analytics"),"g-s":()=>e.push("/settings")}),{}},cl=wn(ul),dl={class:"flex flex-col gap-1 w-full"},fl=10,ql=ve({__name:"default",async setup(e){let t,n;const s=Bt(),i=kn(),a=Ne(),o=U(!1),u=U(""),r=U(null),v=ha(async w=>{if(w.trim().length<2){r.value=null;return}try{r.value=await $fetch("/api/search",{query:{q:w.trim()}})}catch{r.value=null}},250);re(u,v),re(()=>o.value,w=>{w||(u.value="",r.value=null)});const{data:h,refresh:m}=([t,n]=va(()=>ba("/api/projects",{key:"projects",lazy:!0,default:()=>[]},"$mSkRqWqjLe")),t=await t,n(),t);wa(m),rl(),cl();const f=O(()=>{const w=s.path.match(/^\/projects\/(\d+)/);return w?.[1]?parseInt(w[1],10):null}),c=O(()=>{if(!h.value||h.value.length===0)return[];const w=Date.now()-fl*24*60*60*1e3,B=[...h.value].sort((H,$)=>{const F=(H.label||H.name).toLowerCase(),d=($.label||$.name).toLowerCase();return F.localeCompare(d)}),b=B.filter(H=>H.latestRun&&new Date(H.latestRun.startTime).getTime()>w),A=B.filter(H=>!H.latestRun||new Date(H.latestRun.startTime).getTime()<=w);function R(H){const $=f.value!==null&&f.value===H.id,F=H.latestRun?.status==="running"||H.latestRun?.status==="initialising",d=H.latestRun?.status||"unknown",q=d==="passed"?"i-lucide-circle-check-big":d==="failed"?"i-lucide-circle-x":"i-lucide-circle",D=d==="passed"?"success":d==="failed"?"error":F?"info":"neutral";return{label:H.label||H.name,icon:F?"i-lucide-loader-circle":"i-lucide-circle",ui:F?{linkLeadingIcon:"animate-spin"}:void 0,badge:{icon:q,color:D},value:`project-${H.id}`,type:"link",to:`/projects/${H.id}`,active:$}}const W=[];return b.length>0&&(W.push({label:`Active (${b.length})`,type:"label"}),W.push(...b.map(R))),A.length>0&&(W.push({label:`Others (${A.length})`,type:"label"}),W.push(...A.map(R))),W}),p=O(()=>{const w=[{label:"GitHub",icon:"i-lucide-github",to:"https://github.com/piwitests/platform",target:"_blank"}];return w.unshift({label:"MCP server",icon:"i-lucide-bot",to:"/mcp",onSelect:()=>{o.value=!1}}),w.unshift({label:"API Docs",icon:"i-lucide-book-open",to:"/docs",onSelect:()=>{o.value=!1}}),[[{label:"Home",icon:"i-lucide-house",to:"/",onSelect:()=>{o.value=!1}},{label:"Analytics",icon:"i-lucide-chart-line",to:"/analytics",onSelect:()=>{o.value=!1}},{label:"Projects",icon:"i-lucide-folder",to:"/projects",onSelect:()=>{o.value=!1}},...c.value],w]}),y=w=>({label:typeof w.label=="string"?w.label:void 0,icon:w.icon,to:w.to,target:w.target,active:w.active,disabled:w.disabled,suffix:typeof w.badge=="string"?w.badge:void 0,children:w.children?.map(B=>y(B)),onSelect:w.onSelect}),I=O(()=>{const w="https://github.com/piwitests/platform/blob/main/application/app/pages",B="https://github.com/piwitests/platform/tree/main/application/app/pages",b=s.matched[s.matched.length-1]?.path??s.path;return b.includes(":")?B:`${w}${b==="/"?"/index":b}.vue`});function j(w){return w==="passed"?"i-lucide-circle-check-big":w==="failed"?"i-lucide-circle-x":w==="running"||w==="initialising"?"i-lucide-loader-circle":"i-lucide-circle"}const C=O(()=>{const w=[{id:"links",label:"Go to",items:p.value.flat().map(b=>y(b))},{id:"code",label:"Code",items:[{id:"source",label:"View page source",icon:"i-lucide-github",to:I.value,target:"_blank"}]}];if(f.value){const b=f.value,A=[["test-runs","Test runs","i-lucide-play"],["failure-clusters","Failure clusters","i-lucide-layers"],["flaky-tests","Flaky tests","i-lucide-shuffle"],["performance","Performance","i-lucide-trending-up"],["test-cases","Test cases","i-lucide-flask-conical"],["compare","Compare","i-lucide-git-compare-arrows"],["spec-health","Spec health","i-lucide-table-2"],["timeline","Timeline","i-lucide-git-commit-horizontal"]];w.unshift({id:"project-tabs",label:"This project",items:A.map(([R,W,H])=>({id:`project-tab-${R}`,label:W,icon:H,to:`/projects/${b}?tab=${R}`,onSelect:()=>{o.value=!1}}))})}if(!r.value)return w;const B=[];return r.value.projects.length>0&&B.push({id:"search-projects",label:"Projects",ignoreFilter:!0,items:r.value.projects.map(b=>({id:`project-${b.id}`,label:b.label||b.name,description:b.label&&b.label!==b.name?b.name:void 0,icon:"i-lucide-folder",to:`/projects/${b.id}`}))}),r.value.runs.length>0&&B.push({id:"search-runs",label:"Test runs",ignoreFilter:!0,items:r.value.runs.map(b=>({id:`run-${b.id}`,label:b.label?`Run #${b.id} — ${b.label}`:`Run #${b.id}`,description:b.projectLabel||b.projectName,suffix:b.status,icon:j(b.status),to:`/test-runs/${b.id}`}))}),r.value.cases.length>0&&B.push({id:"search-cases",label:"Test cases",ignoreFilter:!0,items:r.value.cases.map(b=>({id:`case-${b.id}`,label:b.title,description:`${b.projectLabel||b.projectName} · ${b.filePath}`,icon:"i-lucide-flask-conical",to:`/test-cases/${b.id}`}))}),[...B,...w]}),S=a.public.demoMode,g=a.public.demoDataVersion,_=a.public.appVersion,{resetDemo:x}=Sn();return Dt(async()=>{if(S&&g){const w=await _n();w!==null&&w!==g&&i.add({title:"New demo data available",description:'The demo seed data has been updated since your last visit. Click "Refresh" to reload with the latest data.',duration:0,color:"warning",actions:[{label:"Refresh",color:"warning",onClick:()=>{x()}},{label:"Dismiss",color:"neutral",variant:"ghost"}]})}}),(w,B)=>{const b=os,A=Dn,R=cs,W=fa,H=Ps,$=qi,F=Qi,d=Zi;return k(),L(d,{unit:"rem",style:{top:"var(--demo-banner-height, 0px)",height:"calc(100dvh - var(--demo-banner-height, 0px))"}},{default:T(()=>[B[2]||(B[2]=X("a",{href:"#main-content",class:"sr-only focus:not-sr-only focus:fixed focus:top-2 focus:left-2 focus:z-[100] focus:rounded-md focus:bg-primary focus:px-3 focus:py-2 focus:text-sm focus:font-medium focus:text-inverted focus:shadow-lg focus:outline-2 focus:outline-primary"}," Skip to main content ",-1)),E(H,{id:"default",open:l(o),"onUpdate:open":B[0]||(B[0]=q=>Pe(o)?o.value=q:null),collapsible:"",resizable:"",width:"20",class:"bg-elevated/25",ui:{root:"min-h-full",footer:"lg:border-t lg:border-default"}},{header:T(({collapsed:q})=>[E(tl,{collapsed:q},null,8,["collapsed"])]),default:T(({collapsed:q})=>[E(b,{collapsed:q,class:"bg-transparent ring-default"},null,8,["collapsed"]),(k(),L(A,{key:l(f)??void 0,collapsed:q,items:l(p)[0],orientation:"vertical",tooltip:"",popover:""},null,8,["collapsed","items"])),E(A,{collapsed:q,items:l(p)[1],orientation:"vertical",tooltip:"",class:"mt-auto"},null,8,["collapsed","items"])]),footer:T(({collapsed:q})=>[X("div",dl,[E(R,{collapsed:q},null,8,["collapsed"]),q?z("",!0):(k(),L(W,{key:0,to:"/settings/about",class:"text-xs text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 text-center",title:"View version and build info"},{default:T(()=>[me(" v"+ce(l(_)),1)]),_:1}))])]),_:1},8,["open"]),E($,{"search-term":l(u),"onUpdate:searchTerm":B[1]||(B[1]=q=>Pe(u)?u.value=q:null),groups:l(C),"preserve-group-order":!!l(r)},null,8,["search-term","groups","preserve-group-order"]),B[3]||(B[3]=X("span",{id:"main-content",tabindex:"-1",class:"sr-only"},"Main content",-1)),N(w.$slots,"default"),E(F)]),_:3})}}});export{ql as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as S,o,f as i,g as f,T as x,U as h,k as a,V as k,h as c,Z as C,$ as B,a0 as w,a1 as P,a3 as O,a4 as V,a5 as $,b3 as N,c as y,j as z,i as _,p as d,t as R,v as T,aH as j,q as b,F as g,a6 as A}from"./DHltYerF.js";var F=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(k),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=F,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,C(B(s)),{default:f(()=>[x(l.$slots,"default")]),_:3},16))}}),I=E;const U={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"}},G=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(()=>A({extend:U,...u.ui?.separator||{}})({color:e.color,orientation:e.orientation,size:e.size,position:e.position,type:e.type}));return(q,H)=>(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(T,{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(j,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{G as _};
|