@piwitests/server 0.15.0 → 0.16.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/{DzbOHjZH.js → -KQO1A4C.js} +1 -1
- package/.output/public/_nuxt/{BEKwVcvQ.js → 1AB111xL.js} +1 -1
- package/.output/public/_nuxt/{CokbKVE6.js → 2xvsvjLO.js} +1 -1
- package/.output/public/_nuxt/{CNzoIhwN.js → ABGJk0pu.js} +1 -1
- package/.output/public/_nuxt/{Cgr8IKY4.js → B2lYFco4.js} +1 -1
- package/.output/public/_nuxt/B33X4zrC.js +1 -0
- package/.output/public/_nuxt/{V1BQiRoh.js → B3NbDoBP.js} +1 -1
- package/.output/public/_nuxt/{ChWPXucC.js → B3sNtVnf.js} +1 -1
- package/.output/public/_nuxt/{too3WhRB.js → B43OGXzV.js} +1 -1
- package/.output/public/_nuxt/{Cf3RuiXF.js → B6Jp7fpa.js} +4 -4
- package/.output/public/_nuxt/{B32ySRXg.js → B7yG1G_l.js} +1 -1
- package/.output/public/_nuxt/{BgR7oL4p.js → BBdfPriC.js} +1 -1
- package/.output/public/_nuxt/{DNP5tTJo.js → BGYbnqA7.js} +1 -1
- package/.output/public/_nuxt/{DAeYEeCC.js → BIf1R_fu.js} +1 -1
- package/.output/public/_nuxt/{nUsJV5qo.js → BIksQZfR.js} +1 -1
- package/.output/public/_nuxt/{B8fs6GU9.js → BPKwYP2Q.js} +31 -31
- package/.output/public/_nuxt/{DjCfCT_5.js → BP_SWi7S.js} +1 -1
- package/.output/public/_nuxt/{CrFCPOnY.js → BQrSEuzu.js} +1 -1
- package/.output/public/_nuxt/{BpepjHwc.js → BR9H8k-L.js} +1 -1
- package/.output/public/_nuxt/{Dejf0f7D.js → BRKa6EQR.js} +3 -3
- package/.output/public/_nuxt/{BMQIO38j.js → BS0gKVuF.js} +1 -1
- package/.output/public/_nuxt/{BW1UOxWn.js → BV83yObd.js} +1 -1
- package/.output/public/_nuxt/{o5WQ5Z7k.js → BVW5qIDP.js} +1 -1
- package/.output/public/_nuxt/{rvaZFYoE.js → BY4oA2IH.js} +1 -1
- package/.output/public/_nuxt/{DZoSxwj6.js → BZekCf_x.js} +1 -1
- package/.output/public/_nuxt/{lRMjXqiA.js → Bb64FEFL.js} +1 -1
- package/.output/public/_nuxt/{2PU-adwy.js → BdFEUAlx.js} +1 -1
- package/.output/public/_nuxt/{CBrCcDzR.js → Bf62wdzp.js} +1 -1
- package/.output/public/_nuxt/{DYDGGqZ3.js → BkDfdHFm.js} +1 -1
- package/.output/public/_nuxt/{CqA3gM8h.js → BoRFLTAO.js} +1 -1
- package/.output/public/_nuxt/{DxXZN6ed.js → BpIsBP5g.js} +1 -1
- package/.output/public/_nuxt/{DkFbpSsi.js → BpNqHxg2.js} +1 -1
- package/.output/public/_nuxt/{DFw8I2FL.js → BpceIssd.js} +1 -1
- package/.output/public/_nuxt/{n7Htv9PJ.js → Br2K9yi_.js} +1 -1
- package/.output/public/_nuxt/{D4nLD93c.js → BuZOa2M3.js} +1 -1
- package/.output/public/_nuxt/{B32-7cBF.js → Bvfmwzgw.js} +1 -1
- package/.output/public/_nuxt/{h-e-Ca3f.js → Bzl2H_vl.js} +1 -1
- package/.output/public/_nuxt/{IdQR_Djw.js → C1K3r_fc.js} +1 -1
- package/.output/public/_nuxt/C219JuBV.js +1 -0
- package/.output/public/_nuxt/{B_80i5Ge.js → C38aZbFJ.js} +1 -1
- package/.output/public/_nuxt/{DHVmXA9K.js → C3r_Sv1p.js} +1 -1
- package/.output/public/_nuxt/{O1A-LRgV.js → C8RBRg7I.js} +1 -1
- package/.output/public/_nuxt/{60-Zii7v.js → CCRRqXez.js} +1 -1
- package/.output/public/_nuxt/{__m3KqHO.js → CJFqA_QW.js} +1 -1
- package/.output/public/_nuxt/{Surk4Lw-.js → CKB_doYB.js} +1 -1
- package/.output/public/_nuxt/{DaKVSp-6.js → CMYQpoOI.js} +1 -1
- package/.output/public/_nuxt/CQeMb57w.js +1 -0
- package/.output/public/_nuxt/{Bq2ZPvIH.js → CSYJwpXG.js} +1 -1
- package/.output/public/_nuxt/{ETOCcsVw.js → CTdvGdc2.js} +1 -1
- package/.output/public/_nuxt/CX1dcT4v.js +1 -0
- package/.output/public/_nuxt/{evCxpgbd.js → CdME81ij.js} +2 -2
- package/.output/public/_nuxt/{DKTDub7I.js → CgoAUz76.js} +1 -1
- package/.output/public/_nuxt/{0KrkW531.js → CoHGrO41.js} +1 -1
- package/.output/public/_nuxt/{BGsuOpiq.js → CpO-ABDW.js} +1 -1
- package/.output/public/_nuxt/CuYYdFBL.js +1 -0
- package/.output/public/_nuxt/{CHMpVLqo.js → D2jhe9JK.js} +1 -1
- package/.output/public/_nuxt/{C7RarFGi.js → D33On6AX.js} +1 -1
- package/.output/public/_nuxt/{Dv2B_nw_.js → D4VpoHDP.js} +1 -1
- package/.output/public/_nuxt/{CKZn0TUX.js → DAWn6Z7h.js} +1 -1
- package/.output/public/_nuxt/{rWwWS3Kj.js → DCpmQ47_.js} +1 -1
- package/.output/public/_nuxt/{B59-l1Cv.js → DIkLLyR6.js} +1 -1
- package/.output/public/_nuxt/{CFn3w5jn.js → DJS3Bf50.js} +1 -1
- package/.output/public/_nuxt/{F07TcX0U.js → DL20rwkA.js} +1 -1
- package/.output/public/_nuxt/DOuoR2Pk.js +34 -0
- package/.output/public/_nuxt/{BC_Wu-fv.js → DRtTLQri.js} +1 -1
- package/.output/public/_nuxt/{DiUGa0CT.js → DbeHHTk-.js} +1 -1
- package/.output/public/_nuxt/DcCNnjKl.js +1 -0
- package/.output/public/_nuxt/{PPFO8UVt.js → DdbrJwT-.js} +1 -1
- package/.output/public/_nuxt/{Cfk2_UCm.js → DfcAIbcX.js} +1 -1
- package/.output/public/_nuxt/{OG2n3p77.js → DgYM3eyi.js} +1 -1
- package/.output/public/_nuxt/{BBJ9Pu3M.js → DhA17dqR.js} +1 -1
- package/.output/public/_nuxt/{DvdOsTLb.js → DjZKuUMz.js} +1 -1
- package/.output/public/_nuxt/{DCCMLWel.js → DqnyWaSQ.js} +1 -1
- package/.output/public/_nuxt/Dsk4Ic18.js +7 -0
- package/.output/public/_nuxt/{BCK4f6Y3.js → DszOHBMG.js} +1 -1
- package/.output/public/_nuxt/{Cpquifvd.js → DuBBqqbF.js} +1 -1
- package/.output/public/_nuxt/{DWzdeQ3Z.js → DuMv-ugy.js} +1 -1
- package/.output/public/_nuxt/{BfshMo9k.js → Dz55UR7w.js} +2 -2
- package/.output/public/_nuxt/{BkhdAGx0.js → Dzz9_Z0u.js} +1 -1
- package/.output/public/_nuxt/{DgZlpN9l.js → HoKG9cc2.js} +1 -1
- package/.output/public/_nuxt/{C9jjVEQU.js → IFqRT_xJ.js} +1 -1
- package/.output/public/_nuxt/{i38YGG9S.js → JCFZINev.js} +1 -1
- package/.output/public/_nuxt/{B9Q_4Mjt.js → Kc7La4sL.js} +1 -1
- package/.output/public/_nuxt/N3pCB6-m.js +4 -0
- package/.output/public/_nuxt/{CFXonrwQ.js → WctJXszi.js} +1 -1
- package/.output/public/_nuxt/{CHgsEM4U.js → bAfTAihV.js} +1 -1
- package/.output/public/_nuxt/builds/latest.json +1 -1
- package/.output/public/_nuxt/builds/meta/5182c9fb-56a6-4df2-9685-4020a08ce7a5.json +1 -0
- package/.output/public/_nuxt/{4fB15L_7.js → d5ZB3uxF.js} +1 -1
- package/.output/public/_nuxt/{CIOQo6gB.js → e1zUTrBb.js} +1 -1
- package/.output/public/_nuxt/entry.BsmKRJzR.css +1 -0
- package/.output/public/_nuxt/{BtJkQ3to.js → iwD5atI2.js} +1 -1
- package/.output/public/_nuxt/jIF87ALb.js +1 -0
- package/.output/public/_nuxt/{CvCF77E-.js → k-z_VVTK.js} +2 -2
- package/.output/public/_nuxt/{CHSkT2s0.js → l0gdGdar.js} +1 -1
- package/.output/public/_nuxt/{DVdOm5Bg.js → mGJLLqyN.js} +1 -1
- package/.output/public/_nuxt/{CU-OXXdh.js → mfzslNx_.js} +1 -1
- package/.output/public/_nuxt/{CD-xwM9N.js → nCjfWTGm.js} +1 -1
- package/.output/public/_nuxt/{DQpa8F03.js → oNq5pd3r.js} +1 -1
- package/.output/public/_nuxt/qzAP_nm7.js +1 -0
- package/.output/public/_nuxt/{3SnTawZW.js → r3SBLxtE.js} +1 -1
- package/.output/public/_nuxt/{DI_-kFec.js → uKeO2H7F.js} +1 -1
- package/.output/public/_nuxt/{DZLrAp2i.js → xUrLy-Zn.js} +1 -1
- package/.output/public/_nuxt/{BY0AkhJh.js → ze9-Ill2.js} +1 -1
- package/.output/public/demo/seed.version.json +2 -2
- package/.output/public/sw.js +1 -1
- package/.output/server/chunks/_/markers.mjs +1 -1
- package/.output/server/chunks/_/users.mjs +1 -1
- package/.output/server/chunks/build/{BrowserBadge-BTA4QU_J.mjs → BrowserBadge-DNCp9pF-.mjs} +3 -3
- package/.output/server/chunks/build/BrowserBadge-DNCp9pF-.mjs.map +1 -0
- package/.output/server/chunks/build/{ChartCard-BqAhMip2.mjs → ChartCard-Fr557IbV.mjs} +2 -2
- package/.output/server/chunks/build/ChartCard-Fr557IbV.mjs.map +1 -0
- package/.output/server/chunks/build/{Checkbox-_1nGm_DR.mjs → Checkbox-7ZiMz60w.mjs} +5 -5
- package/.output/server/chunks/build/Checkbox-7ZiMz60w.mjs.map +1 -0
- package/.output/server/chunks/build/{CiEnvCard-DAufYuJw.mjs → CiEnvCard-DNxBVvx4.mjs} +5 -5
- package/.output/server/chunks/build/CiEnvCard-DNxBVvx4.mjs.map +1 -0
- package/.output/server/chunks/build/{CodeBlock-BVKHuYjU.mjs → CodeBlock-BGwNmJ8J.mjs} +2 -2
- package/.output/server/chunks/build/CodeBlock-BGwNmJ8J.mjs.map +1 -0
- package/.output/server/chunks/build/{DashboardNavbar-BR6j4VLd.mjs → DashboardNavbar-Bdp-OwTN.mjs} +2 -2
- package/.output/server/chunks/build/DashboardNavbar-Bdp-OwTN.mjs.map +1 -0
- package/.output/server/chunks/build/DashboardSidebarToggle-Ji6ADuqF.mjs +1 -1
- package/.output/server/chunks/build/{DiagnosisPanel-BnrdXDvd.mjs → DiagnosisPanel-DV1xwGu4.mjs} +6 -6
- package/.output/server/chunks/build/DiagnosisPanel-DV1xwGu4.mjs.map +1 -0
- package/.output/server/chunks/build/EntityLinks-DeOP13Kr.mjs +1 -1
- package/.output/server/chunks/build/{EnvManagedBadge-DdnEtjIl.mjs → EnvManagedBadge-Qpn58Nmr.mjs} +5 -5
- package/.output/server/chunks/build/EnvManagedBadge-Qpn58Nmr.mjs.map +1 -0
- package/.output/server/chunks/build/{HelpHint-D_GJzMpW.mjs → HelpHint-YEMWtKu1.mjs} +18 -2
- package/.output/server/chunks/build/HelpHint-YEMWtKu1.mjs.map +1 -0
- package/.output/server/chunks/build/{Modal-COIjm3js.mjs → Modal-CfA78Hm1.mjs} +2 -2
- package/.output/server/chunks/build/Modal-CfA78Hm1.mjs.map +1 -0
- package/.output/server/chunks/build/{OpenInIdeLink-D97W6On1.mjs → OpenInIdeLink-B92wosXu.mjs} +3 -3
- package/.output/server/chunks/build/{OpenInIdeLink-D97W6On1.mjs.map → OpenInIdeLink-B92wosXu.mjs.map} +1 -1
- package/.output/server/chunks/build/{PageStateCard-C1HFN4Nv.mjs → PageStateCard-Bwee6JTk.mjs} +10 -10
- package/.output/server/chunks/build/{PageStateCard-C1HFN4Nv.mjs.map → PageStateCard-Bwee6JTk.mjs.map} +1 -1
- package/.output/server/chunks/build/{ProjectTestCasesTable-XFBPQGIX.mjs → ProjectTestCasesTable-9418EI8J.mjs} +9 -9
- package/.output/server/chunks/build/ProjectTestCasesTable-9418EI8J.mjs.map +1 -0
- package/.output/server/chunks/build/{RunReports-ChNkmuWa.mjs → RunReports-BpJqLHY9.mjs} +2 -2
- package/.output/server/chunks/build/RunReports-BpJqLHY9.mjs.map +1 -0
- package/.output/server/chunks/build/{RunStatusBadge-CXpuCUGQ.mjs → RunStatusBadge-BhmJ_RKM.mjs} +2 -2
- package/.output/server/chunks/build/RunStatusBadge-BhmJ_RKM.mjs.map +1 -0
- package/.output/server/chunks/build/{SectionCard-zs9FDzps.mjs → SectionCard-COd9TuDq.mjs} +2 -2
- package/.output/server/chunks/build/SectionCard-COd9TuDq.mjs.map +1 -0
- package/.output/server/chunks/build/{Select-r3S5nkSY.mjs → Select-COwTIQlV.mjs} +3 -3
- package/.output/server/chunks/build/Select-COwTIQlV.mjs.map +1 -0
- package/.output/server/chunks/build/{SelectMenu-Dk6f8i9o.mjs → SelectMenu-BkyAHFCM.mjs} +4 -4
- package/.output/server/chunks/build/{SelectMenu-Dk6f8i9o.mjs.map → SelectMenu-BkyAHFCM.mjs.map} +1 -1
- package/.output/server/chunks/build/{Separator-pqpPG0up.mjs → Separator-CxZdx8kw.mjs} +2 -2
- package/.output/server/chunks/build/Separator-CxZdx8kw.mjs.map +1 -0
- package/.output/server/chunks/build/{SettingsField-Wdpzlt13.mjs → SettingsField-DDD4oqys.mjs} +5 -5
- package/.output/server/chunks/build/SettingsField-DDD4oqys.mjs.map +1 -0
- package/.output/server/chunks/build/{Slideover-02XjJjn0.mjs → Slideover-B95Rj237.mjs} +3 -3
- package/.output/server/chunks/build/Slideover-B95Rj237.mjs.map +1 -0
- package/.output/server/chunks/build/{Switch-gx_JXgCo.mjs → Switch-htSKgC38.mjs} +2 -2
- package/.output/server/chunks/build/Switch-htSKgC38.mjs.map +1 -0
- package/.output/server/chunks/build/{Table-C64RrBp3.mjs → Table-CPhhVzDv.mjs} +3 -3
- package/.output/server/chunks/build/Table-CPhhVzDv.mjs.map +1 -0
- package/.output/server/chunks/build/{TestStatusBar--u4VX_Xf.mjs → TestStatusBar-CEzt76wk.mjs} +2 -2
- package/.output/server/chunks/build/TestStatusBar-CEzt76wk.mjs.map +1 -0
- package/.output/server/chunks/build/{Tooltip-ui_BVvqr.mjs → Tooltip-7vwuDPrZ.mjs} +3 -3
- package/.output/server/chunks/build/Tooltip-7vwuDPrZ.mjs.map +1 -0
- package/.output/server/chunks/build/{VisuallyHiddenInput-mMsqmkjz.mjs → VisuallyHiddenInput-C9eJVpPW.mjs} +2 -2
- package/.output/server/chunks/build/VisuallyHiddenInput-C9eJVpPW.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-CFVnSs8B.mjs → _id_-BDqvTM9D.mjs} +19 -18
- package/.output/server/chunks/build/{_id_-CFVnSs8B.mjs.map → _id_-BDqvTM9D.mjs.map} +1 -1
- package/.output/server/chunks/build/{_id_-pkxJKe17.mjs → _id_-CE0Gso6i.mjs} +11 -11
- package/.output/server/chunks/build/_id_-CE0Gso6i.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-R6KGfZOC.mjs → _id_-CnwAyvvS.mjs} +257 -84
- package/.output/server/chunks/build/_id_-CnwAyvvS.mjs.map +1 -0
- package/.output/server/chunks/build/{_id_-DXJQABO8.mjs → _id_-Dy67M9Dj.mjs} +25 -25
- package/.output/server/chunks/build/{_id_-DXJQABO8.mjs.map → _id_-Dy67M9Dj.mjs.map} +1 -1
- package/.output/server/chunks/build/{about-CmtGYbC6.mjs → about-FB9PYAHK.mjs} +5 -5
- package/.output/server/chunks/build/about-FB9PYAHK.mjs.map +1 -0
- package/.output/server/chunks/build/{account-AbLuwiZP.mjs → account-Cn-eZqXM.mjs} +4 -4
- package/.output/server/chunks/build/account-Cn-eZqXM.mjs.map +1 -0
- package/.output/server/chunks/build/{ai-DR_slopS.mjs → ai-V3YOh3yx.mjs} +17 -17
- package/.output/server/chunks/build/ai-V3YOh3yx.mjs.map +1 -0
- package/.output/server/chunks/build/{analytics-BbT2-Tr-.mjs → analytics-BBlAEmj5.mjs} +235 -64
- package/.output/server/chunks/build/analytics-BBlAEmj5.mjs.map +1 -0
- package/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/.output/server/chunks/build/{db.client-DlA_u5y9.mjs → db.client-aHcD0wyX.mjs} +47 -22
- package/.output/server/chunks/build/db.client-aHcD0wyX.mjs.map +1 -0
- package/.output/server/chunks/build/{default-D6diRCW0.mjs → default-BfMirIgG.mjs} +17 -16
- package/.output/server/chunks/build/default-BfMirIgG.mjs.map +1 -0
- package/.output/server/chunks/build/{docs-DbYoZafk.mjs → docs-DtNcJCyb.mjs} +5 -5
- package/.output/server/chunks/build/{docs-DbYoZafk.mjs.map → docs-DtNcJCyb.mjs.map} +1 -1
- package/.output/server/chunks/build/{edit-CNV4xdYj.mjs → edit-Dsf11mL5.mjs} +8 -8
- package/.output/server/chunks/build/edit-Dsf11mL5.mjs.map +1 -0
- package/.output/server/chunks/build/fetch-8kznMtBM.mjs +1 -1
- package/.output/server/chunks/build/{help-content-BMumoQQF.mjs → help-content-DmFnuhNu.mjs} +6 -1
- package/.output/server/chunks/build/help-content-DmFnuhNu.mjs.map +1 -0
- package/.output/server/chunks/build/{index-Dw526KXV.mjs → index-BR9hw6qk.mjs} +10 -10
- package/.output/server/chunks/build/index-BR9hw6qk.mjs.map +1 -0
- package/.output/server/chunks/build/{index-dwYB76GO.mjs → index-Ba-Fifra.mjs} +4 -4
- package/.output/server/chunks/build/index-Ba-Fifra.mjs.map +1 -0
- package/.output/server/chunks/build/{index-rSHkKNna.mjs → index-BgpEKTSq.mjs} +505 -84
- package/.output/server/chunks/build/index-BgpEKTSq.mjs.map +1 -0
- package/.output/server/chunks/build/{index-DmHBPf7T.mjs → index-CULN3-en.mjs} +11 -2
- package/.output/server/chunks/build/index-CULN3-en.mjs.map +1 -0
- package/.output/server/chunks/build/{index-C3Ou18qD.mjs → index-DzEgjHlB.mjs} +14 -14
- package/.output/server/chunks/build/{index-C3Ou18qD.mjs.map → index-DzEgjHlB.mjs.map} +1 -1
- package/.output/server/chunks/build/{isValueEqualOrExist-DTJ5ejZs.mjs → isValueEqualOrExist-DBZjbD_3.mjs} +3 -3
- package/.output/server/chunks/build/isValueEqualOrExist-DBZjbD_3.mjs.map +1 -0
- package/.output/server/chunks/build/{login-Da5C8jP2.mjs → login-D2XZDuek.mjs} +3 -3
- package/.output/server/chunks/build/login-D2XZDuek.mjs.map +1 -0
- package/.output/server/chunks/build/{mcp-DM1t-9L_.mjs → mcp-CXwa3xU3.mjs} +8 -8
- package/.output/server/chunks/build/mcp-CXwa3xU3.mjs.map +1 -0
- package/.output/server/chunks/build/{notifications-BTPF0xA7.mjs → notifications-hJj8tbAT.mjs} +11 -11
- package/.output/server/chunks/build/notifications-hJj8tbAT.mjs.map +1 -0
- package/.output/server/chunks/build/server.mjs +37 -28
- package/.output/server/chunks/build/{settings-Bmw_JdBS.mjs → settings-Ci_7EXYQ.mjs} +8 -7
- package/.output/server/chunks/build/settings-Ci_7EXYQ.mjs.map +1 -0
- package/.output/server/chunks/build/{settings-metadata-CksLgMun.mjs → settings-metadata-Cp0dx0vm.mjs} +12 -3
- package/.output/server/chunks/build/settings-metadata-Cp0dx0vm.mjs.map +1 -0
- package/.output/server/chunks/build/{storage-BqR4acgi.mjs → storage-CM-Pd-9E.mjs} +191 -14
- package/.output/server/chunks/build/storage-CM-Pd-9E.mjs.map +1 -0
- package/.output/server/chunks/build/{tags-miPAzIr3.mjs → tags-DrCQ7QSw.mjs} +6 -6
- package/.output/server/chunks/build/tags-DrCQ7QSw.mjs.map +1 -0
- package/.output/server/chunks/build/{test-cases-D-LqhLpk.mjs → test-cases-DkGQB027.mjs} +14 -14
- package/.output/server/chunks/build/test-cases-DkGQB027.mjs.map +1 -0
- package/.output/server/chunks/build/timeout-hygiene-CNs71Iah.mjs +318 -0
- package/.output/server/chunks/build/timeout-hygiene-CNs71Iah.mjs.map +1 -0
- package/.output/server/chunks/build/{useAiStatus-FwqbA4gz.mjs → useAiStatus-ZO987RY7.mjs} +8 -7
- package/.output/server/chunks/build/useAiStatus-ZO987RY7.mjs.map +1 -0
- package/.output/server/chunks/build/{useSettingsNav-v_dFuTw9.mjs → useSettingsNav-D2knPCqF.mjs} +6 -6
- package/.output/server/chunks/build/useSettingsNav-D2knPCqF.mjs.map +1 -0
- package/.output/server/chunks/build/{users-D-GDKZmZ.mjs → users-NmAUZs3i.mjs} +6 -6
- package/.output/server/chunks/build/users-NmAUZs3i.mjs.map +1 -0
- package/.output/server/chunks/build/{virtualizer-BcC1XuFf.mjs → virtualizer-0-UBy7xl.mjs} +4 -4
- package/.output/server/chunks/build/virtualizer-0-UBy7xl.mjs.map +1 -0
- package/.output/server/chunks/build/{wasted-time-CFmeT_e2.mjs → wasted-time-L4kBV5Nh.mjs} +8 -8
- package/.output/server/chunks/build/wasted-time-L4kBV5Nh.mjs.map +1 -0
- package/.output/server/chunks/nitro/nitro.mjs +949 -684
- package/.output/server/chunks/nitro/nitro.mjs.map +1 -1
- package/.output/server/chunks/routes/__piwi/session.get.mjs +51 -0
- package/.output/server/chunks/routes/__piwi/session.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/admin/stats.get.mjs +5 -1
- package/.output/server/chunks/routes/api/admin/stats.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs +75 -6
- package/.output/server/chunks/routes/api/analytics/_widget_.get.mjs.map +1 -1
- package/.output/server/chunks/routes/api/auth/change-password.post.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/forgot-password.post.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/login.post.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/logout.post.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/me.get.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/oauth/_provider/callback.get.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/oauth/_provider/login.get.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/oauth/_provider/unlink.post.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/reset-password.post.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/send-verify-email.post.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/setup.get.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/setup.post.mjs +1 -1
- package/.output/server/chunks/routes/api/auth/verify-email.get.mjs +1 -1
- package/.output/server/chunks/routes/api/channels/_id/test.post.mjs +1 -1
- package/.output/server/chunks/routes/api/channels/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/approve.post.mjs +1 -1
- package/.output/server/chunks/routes/api/cluster-merge-suggestions/_id/reject.post.mjs +1 -1
- package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs +45 -0
- package/.output/server/chunks/routes/api/desktop/reporter-config.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/failure-clusters/_id/base-commit.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/branches.get.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/commit-diff.get.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/commits.get.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/context.get.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose/stream.post.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnose.post.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnoses.get.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/diagnosis.get.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/extract-cases.post.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id/status.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-clusters/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/failure-diagnoses/_id/feedback.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/files/_...path_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/health.get.mjs +1 -1
- package/.output/server/chunks/routes/api/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/index.get2.mjs +1 -1
- package/.output/server/chunks/routes/api/index.get3.mjs +1 -1
- package/.output/server/chunks/routes/api/index.get4.mjs +1 -1
- package/.output/server/chunks/routes/api/index.get5.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post2.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post3.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post4.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post5.mjs +1 -1
- package/.output/server/chunks/routes/api/index.post6.mjs +1 -1
- package/.output/server/chunks/routes/api/links/_id/refresh.post.mjs +1 -1
- package/.output/server/chunks/routes/api/links/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/links/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/markers/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/markers/_id_.put.mjs +1 -1
- package/.output/server/chunks/routes/api/notifications/stream.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/cluster-merge-suggestions.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/failure-clusters.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/flaky-classify.post.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/flaky-tests.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/latest-run.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/markers.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/markers.post.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/members.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/members.put.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/performance.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/slow-tests.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/spec-health.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/test-cases.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs +50 -0
- package/.output/server/chunks/routes/api/projects/_id/timeout-opportunities.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/projects/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/_id_.put.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/menu.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects/overview.get.mjs +1 -1
- package/.output/server/chunks/routes/api/projects.get.mjs +1 -1
- package/.output/server/chunks/routes/api/search.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/ai/limits.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/ai/limits.put.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/ai/test.post.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/ai/usage.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/ai.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/ai.put.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/smtp/test.post.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/smtp.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs +40 -0
- package/.output/server/chunks/routes/api/settings/timeout-hygiene.get.mjs.map +1 -0
- package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs +46 -0
- package/.output/server/chunks/routes/api/settings/timeout-hygiene.put.mjs.map +1 -0
- package/.output/server/chunks/routes/api/settings/wasted-waits.get.mjs +1 -1
- package/.output/server/chunks/routes/api/settings/wasted-waits.put.mjs +1 -1
- package/.output/server/chunks/routes/api/stream.get.mjs +1 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/subscriptions/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/tags/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/tags/_id_.put.mjs +1 -1
- package/.output/server/chunks/routes/api/test-cases/_id/history.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-cases/_id/stability-trend.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-cases/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnose.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis-context.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/diagnosis.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id/traces.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-run-cases/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/begin.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/case-files.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/dom-snapshot.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/environment-diff.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-healing.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/locator-pick.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network-body.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-network.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/trace-stacks.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/cases/_caseId/visual-diff.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/events.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/failure-groups.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/finish.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/heartbeat.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/insights.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/network-requests.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/regression-context.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/stream.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id/summary.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/recent.get.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/setup.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/start.post.mjs +1 -1
- package/.output/server/chunks/routes/api/test-runs/submit.post.mjs +3 -1
- package/.output/server/chunks/routes/api/test-runs/submit.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/test-runs/upload.post.mjs +2 -1
- package/.output/server/chunks/routes/api/test-runs/upload.post.mjs.map +1 -1
- package/.output/server/chunks/routes/api/traces/check.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id/api-keys/_keyId_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id/index.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id/index.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id/invite.post.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id/projects.get.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id/projects.put.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id_.delete.mjs +1 -1
- package/.output/server/chunks/routes/api/users/_id_.patch.mjs +1 -1
- package/.output/server/chunks/routes/api/version.get.mjs +1 -1
- package/.output/server/chunks/routes/mcp.post.mjs +1 -1
- package/.output/server/chunks/routes/renderer.mjs +1 -1
- package/.output/server/database/migrations/0037_tired_hellion.sql +1 -0
- package/.output/server/database/migrations/0038_glamorous_ulik.sql +1 -0
- package/.output/server/database/migrations/meta/0037_snapshot.json +3384 -0
- package/.output/server/database/migrations/meta/0038_snapshot.json +3391 -0
- package/.output/server/database/migrations/meta/_journal.json +14 -0
- package/.output/server/database/migrations-pg/0038_tranquil_moira_mactaggert.sql +1 -0
- package/.output/server/database/migrations-pg/0039_fat_starjammers.sql +1 -0
- package/.output/server/database/migrations-pg/meta/0038_snapshot.json +4027 -0
- package/.output/server/database/migrations-pg/meta/0039_snapshot.json +4033 -0
- package/.output/server/database/migrations-pg/meta/_journal.json +14 -0
- package/.output/server/index.mjs +1 -1
- package/.output/server/package.json +1 -1
- package/package.json +1 -1
- package/.output/public/_nuxt/2kfkdDTz.js +0 -1
- package/.output/public/_nuxt/BXEDsEwG.js +0 -1
- package/.output/public/_nuxt/BbgBGuMG.js +0 -1
- package/.output/public/_nuxt/CJGJI2Of.js +0 -34
- package/.output/public/_nuxt/Ce4EdfL_.js +0 -4
- package/.output/public/_nuxt/CkpB9oBr.js +0 -1
- package/.output/public/_nuxt/D1tZEdSi.js +0 -1
- package/.output/public/_nuxt/DK9uMTYX.js +0 -1
- package/.output/public/_nuxt/YDWXnWou.js +0 -1
- package/.output/public/_nuxt/builds/meta/f549de31-8db6-4504-b526-482778a55eba.json +0 -1
- package/.output/public/_nuxt/entry.BxXHl1Vy.css +0 -1
- package/.output/public/_nuxt/wCQds5_f.js +0 -1
- package/.output/server/chunks/build/BrowserBadge-BTA4QU_J.mjs.map +0 -1
- package/.output/server/chunks/build/ChartCard-BqAhMip2.mjs.map +0 -1
- package/.output/server/chunks/build/Checkbox-_1nGm_DR.mjs.map +0 -1
- package/.output/server/chunks/build/CiEnvCard-DAufYuJw.mjs.map +0 -1
- package/.output/server/chunks/build/CodeBlock-BVKHuYjU.mjs.map +0 -1
- package/.output/server/chunks/build/DashboardNavbar-BR6j4VLd.mjs.map +0 -1
- package/.output/server/chunks/build/DiagnosisPanel-BnrdXDvd.mjs.map +0 -1
- package/.output/server/chunks/build/EnvManagedBadge-DdnEtjIl.mjs.map +0 -1
- package/.output/server/chunks/build/HelpHint-D_GJzMpW.mjs.map +0 -1
- package/.output/server/chunks/build/Modal-COIjm3js.mjs.map +0 -1
- package/.output/server/chunks/build/ProjectTestCasesTable-XFBPQGIX.mjs.map +0 -1
- package/.output/server/chunks/build/RunReports-ChNkmuWa.mjs.map +0 -1
- package/.output/server/chunks/build/RunStatusBadge-CXpuCUGQ.mjs.map +0 -1
- package/.output/server/chunks/build/SectionCard-zs9FDzps.mjs.map +0 -1
- package/.output/server/chunks/build/Select-r3S5nkSY.mjs.map +0 -1
- package/.output/server/chunks/build/Separator-pqpPG0up.mjs.map +0 -1
- package/.output/server/chunks/build/SettingsField-Wdpzlt13.mjs.map +0 -1
- package/.output/server/chunks/build/Slideover-02XjJjn0.mjs.map +0 -1
- package/.output/server/chunks/build/Switch-gx_JXgCo.mjs.map +0 -1
- package/.output/server/chunks/build/Table-C64RrBp3.mjs.map +0 -1
- package/.output/server/chunks/build/TestStatusBar--u4VX_Xf.mjs.map +0 -1
- package/.output/server/chunks/build/Tooltip-ui_BVvqr.mjs.map +0 -1
- package/.output/server/chunks/build/VisuallyHiddenInput-mMsqmkjz.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-R6KGfZOC.mjs.map +0 -1
- package/.output/server/chunks/build/_id_-pkxJKe17.mjs.map +0 -1
- package/.output/server/chunks/build/about-CmtGYbC6.mjs.map +0 -1
- package/.output/server/chunks/build/account-AbLuwiZP.mjs.map +0 -1
- package/.output/server/chunks/build/ai-DR_slopS.mjs.map +0 -1
- package/.output/server/chunks/build/analytics-BbT2-Tr-.mjs.map +0 -1
- package/.output/server/chunks/build/db.client-DlA_u5y9.mjs.map +0 -1
- package/.output/server/chunks/build/default-D6diRCW0.mjs.map +0 -1
- package/.output/server/chunks/build/edit-CNV4xdYj.mjs.map +0 -1
- package/.output/server/chunks/build/help-content-BMumoQQF.mjs.map +0 -1
- package/.output/server/chunks/build/index-DmHBPf7T.mjs.map +0 -1
- package/.output/server/chunks/build/index-Dw526KXV.mjs.map +0 -1
- package/.output/server/chunks/build/index-dwYB76GO.mjs.map +0 -1
- package/.output/server/chunks/build/index-rSHkKNna.mjs.map +0 -1
- package/.output/server/chunks/build/isValueEqualOrExist-DTJ5ejZs.mjs.map +0 -1
- package/.output/server/chunks/build/login-Da5C8jP2.mjs.map +0 -1
- package/.output/server/chunks/build/mcp-DM1t-9L_.mjs.map +0 -1
- package/.output/server/chunks/build/notifications-BTPF0xA7.mjs.map +0 -1
- package/.output/server/chunks/build/settings-Bmw_JdBS.mjs.map +0 -1
- package/.output/server/chunks/build/settings-metadata-CksLgMun.mjs.map +0 -1
- package/.output/server/chunks/build/storage-BqR4acgi.mjs.map +0 -1
- package/.output/server/chunks/build/tags-miPAzIr3.mjs.map +0 -1
- package/.output/server/chunks/build/test-cases-D-LqhLpk.mjs.map +0 -1
- package/.output/server/chunks/build/useAiStatus-FwqbA4gz.mjs.map +0 -1
- package/.output/server/chunks/build/useSettingsNav-v_dFuTw9.mjs.map +0 -1
- package/.output/server/chunks/build/users-D-GDKZmZ.mjs.map +0 -1
- package/.output/server/chunks/build/virtualizer-BcC1XuFf.mjs.map +0 -1
- package/.output/server/chunks/build/wasted-time-CFmeT_e2.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as v,b4 as I,ay as y,b5 as F,C as g,ab as h,B as C,o as K,f as S,g as i,j as T,k as r,V as w,T as B,h as u,b6 as R,b7 as q,G as k,b8 as x}from"./
|
|
1
|
+
import{d as v,b4 as I,ay as y,b5 as F,C as g,ab as h,B as C,o as K,f as S,g as i,j as T,k as r,V as w,T as B,h as u,b6 as R,b7 as q,G as k,b8 as x}from"./BPKwYP2Q.js";var _=v({__name:"RovingFocusItem",props:{tabStopId:{type:String,required:!1},focusable:{type:Boolean,required:!1,default:!0},active:{type:Boolean,required:!1},allowShiftKey:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(d){const n=d,a=I(),f=y(),l=u(()=>n.tabStopId||f),c=u(()=>a.currentTabStopId.value===l.value),{getItems:p,CollectionItem:b}=F();g(()=>{n.focusable&&a.onFocusableItemAdd()}),h(()=>{n.focusable&&a.onFocusableItemRemove()}),C(()=>n.focusable,(e,t)=>{e!==t&&(e?a.onFocusableItemAdd():a.onFocusableItemRemove())});function m(e){if(e.key==="Tab"&&e.shiftKey){a.onItemShiftTab();return}if(e.target!==e.currentTarget)return;const t=R(e,a.orientation.value,a.dir.value);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||!n.allowShiftKey&&e.shiftKey)return;e.preventDefault();let o=[...p().map(s=>s.ref).filter(s=>s.dataset.disabled!=="")];if(t==="last")o.reverse();else if(t==="prev"||t==="next"){t==="prev"&&o.reverse();const s=o.indexOf(e.currentTarget);o=a.loop.value?q(o,s+1):o.slice(s+1)}k(()=>x(o))}}return(e,t)=>(K(),S(r(b),null,{default:i(()=>[T(r(w),{tabindex:c.value?0:-1,"data-orientation":r(a).orientation.value,"data-active":e.active?"":void 0,"data-disabled":e.focusable?void 0:"",as:e.as,"as-child":e.asChild,onMousedown:t[0]||(t[0]=o=>{e.focusable?r(a).onItemFocus(l.value):o.preventDefault()}),onFocus:t[1]||(t[1]=o=>r(a).onItemFocus(l.value)),onKeydown:m},{default:i(()=>[B(e.$slots,"default")]),_:3},8,["tabindex","data-orientation","data-active","data-disabled","as","as-child"])]),_:3}))}}),j=_;export{j as R};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as L,W as He,ax as st,X as Le,C as ae,o as n,f as c,g as u,j as y,k as e,U as C,l as Ye,T as v,b9 as nt,ba as Ee,G as Ce,bb as ut,r as G,h as w,as as dt,Y as Te,bc as pt,S as Q,V as le,bd as ct,be as ft,bf as mt,bg as gt,bh as vt,ab as Fe,bi as bt,bj as Xe,H as qe,bk as yt,ae as ht,bl as _t,Z as te,bm as xt,q as A,bn as Ct,ay as Ie,aA as qt,m as ee,B as Ae,Q as It,bo as St,bp as zt,t as X,$ as me,bq as wt,a0 as Bt,a1 as kt,z as Ot,a2 as Lt,a3 as At,a4 as Et,a5 as Tt,br as Ft,aM as Vt,bs as $t,aX as Pt,b2 as Ne,aO as Be,b3 as Y,c as F,p as h,i as ce,aF as se,v as xe,aG as je,bt as Rt,F as J,y as ke,_ as Dt,bu as Mt,D as Kt,A as Ge,bv as Ue,bw as fe,au as Nt,aY as jt,a6 as Gt,bx as Ut,by as Wt,bz as Ht}from"./B8fs6GU9.js";import{L as Yt,a as Xt,b as Qt,i as Zt,c as Jt,d as ea,e as ta,f as aa,g as la}from"./BGsuOpiq.js";const[D,ia]=Te("ComboboxRoot");var oa=L({__name:"ComboboxRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},resetSearchTermOnBlur:{type:Boolean,required:!1,default:!0},resetSearchTermOnSelect:{type:Boolean,required:!1,default:!0},openOnFocus:{type:Boolean,required:!1,default:!1},openOnClick:{type:Boolean,required:!1,default:!1},ignoreFilter:{type:Boolean,required:!1},resetModelValueOnClear:{type:Boolean,required:!1,default:!1},modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},multiple:{type:Boolean,required:!1},dir:{type:String,required:!1},disabled:{type:Boolean,required:!1},highlightOnHover:{type:Boolean,required:!1,default:!0},by:{type:[String,Function],required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","highlight","update:open"],setup(m,{expose:f,emit:o}){const s=m,a=o,{primitiveElement:l,currentElement:t}=Ee(),{multiple:p,disabled:b,ignoreFilter:E,resetSearchTermOnSelect:_,openOnFocus:V,openOnClick:T,dir:M,resetModelValueOnClear:B,highlightOnHover:q}=He(s),I=st(M),K=Le(s,"modelValue",a,{defaultValue:s.defaultValue??(p.value?[]:void 0),passive:s.modelValue===void 0,deep:!0}),N=Le(s,"open",a,{defaultValue:s.defaultOpen,passive:s.open===void 0});async function g(S){N.value=S,oe.value="",S?(await Ce(),l.value?.highlightSelected(),j.value=!0,U.value?.focus()):(j.value=!1,setTimeout(()=>{!S&&s.resetSearchTermOnBlur&&k.trigger()},1))}const k=ut(),j=G(!1),ie=G(!1),U=G(),ne=G(),ge=w(()=>l.value?.highlightedElement??void 0),ue=G(new Map),de=G(new Map),{contains:Se}=pt({sensitivity:"base"}),oe=G(""),ve=w(S=>{if(!oe.value||s.ignoreFilter||ie.value)return{count:ue.value.size,items:S?.items??new Map,groups:S?.groups??new Set(de.value.keys())};let $=0;const P=new Map,Z=new Set;for(const[pe,H]of ue.value){const re=Se(H,oe.value);P.set(pe,re?1:0),re&&$++}for(const[pe,H]of de.value)for(const re of H)if(P.get(re)>0){Z.add(pe);break}return{count:$,items:P,groups:Z}}),W=dt();return ae(()=>{W?.exposed&&(W.exposed.highlightItem=l.value?.highlightItem,W.exposed.highlightFirstItem=l.value?.highlightFirstItem,W.exposed.highlightSelected=l.value?.highlightSelected)}),f({filtered:ve,highlightedElement:ge,highlightItem:l.value?.highlightItem,highlightFirstItem:l.value?.highlightFirstItem,highlightSelected:l.value?.highlightSelected}),ia({modelValue:K,multiple:p,disabled:b,open:N,onOpenChange:g,contentId:"",isUserInputted:j,isVirtual:ie,inputElement:U,highlightedElement:ge,onInputElementChange:S=>U.value=S,triggerElement:ne,onTriggerElementChange:S=>ne.value=S,parentElement:t,resetSearchTermOnSelect:_,onResetSearchTerm:k.on,allItems:ue,allGroups:de,filterSearch:oe,filterState:ve,ignoreFilter:E,openOnFocus:V,openOnClick:T,resetModelValueOnClear:B}),(S,$)=>(n(),c(e(nt),null,{default:u(()=>[y(e(Yt),C({ref_key:"primitiveElement",ref:l},S.$attrs,{modelValue:e(K),"onUpdate:modelValue":$[0]||($[0]=P=>Ye(K)?K.value=P:null),style:{pointerEvents:e(N)?"auto":void 0},as:S.as,"as-child":S.asChild,dir:e(I),multiple:e(p),name:S.name,required:S.required,disabled:e(b),"highlight-on-hover":e(q),by:s.by,onHighlight:$[1]||($[1]=P=>a("highlight",P))}),{default:u(()=>[v(S.$slots,"default",{open:e(N),modelValue:e(K)})]),_:3},16,["modelValue","style","as","as-child","dir","multiple","name","required","disabled","highlight-on-hover","by"])]),_:3}))}}),ra=oa,sa=L({__name:"ComboboxAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(m){const{forwardRef:f}=Q();return(o,s)=>(n(),c(e(ct),{"as-child":"",reference:o.reference},{default:u(()=>[y(e(le),C({ref:e(f),"as-child":o.asChild,as:o.as},o.$attrs),{default:u(()=>[v(o.$slots,"default")]),_:3},16,["as-child","as"])]),_:3},8,["reference"]))}}),na=sa;const[ua,da]=Te("ComboboxContent");var pa=L({__name:"ComboboxContentImpl",props:{position:{type:String,required:!1,default:"inline"},bodyLock:{type:Boolean,required:!1},hideWhenEmpty:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside"],setup(m,{emit:f}){const o=m,s=f,{position:a}=He(o),l=D(),t=w(()=>l.ignoreFilter.value?l.allItems.value.size===0:l.filterState.value.count===0),{forwardRef:p,currentElement:b}=Q();ft(o.bodyLock),mt(),gt(l.parentElement);const E=w(()=>o.position==="popper"?o:{}),_=vt(E.value),V={boxSizing:"border-box","--reka-combobox-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-combobox-content-available-width":"var(--reka-popper-available-width)","--reka-combobox-content-available-height":"var(--reka-popper-available-height)","--reka-combobox-trigger-width":"var(--reka-popper-anchor-width)","--reka-combobox-trigger-height":"var(--reka-popper-anchor-height)"};da({position:a});const T=G(!1);ae(()=>{l.inputElement.value&&(T.value=b.value.contains(l.inputElement.value),T.value&&l.inputElement.value.focus())}),Fe(()=>{const B=bt();T.value&&(!B||B===document.body)&&l.triggerElement.value?.focus()});function M(B){if(l.parentElement.value?.contains(B))return!0;const I=(B instanceof Element?B.closest("label"):null)?.control;return!!I&&!!l.parentElement.value?.contains(I)}return(B,q)=>(n(),c(e(Xt),{"as-child":""},{default:u(()=>[y(e(Xe),{"as-child":"",onMountAutoFocus:q[5]||(q[5]=qe(()=>{},["prevent"])),onUnmountAutoFocus:q[6]||(q[6]=qe(()=>{},["prevent"]))},{default:u(()=>[y(e(yt),{"as-child":"","disable-outside-pointer-events":B.disableOutsidePointerEvents,onDismiss:q[0]||(q[0]=I=>e(l).onOpenChange(!1)),onFocusOutside:q[1]||(q[1]=I=>{M(I.target)&&I.preventDefault(),s("focusOutside",I)}),onInteractOutside:q[2]||(q[2]=I=>s("interactOutside",I)),onEscapeKeyDown:q[3]||(q[3]=I=>s("escapeKeyDown",I)),onPointerDownOutside:q[4]||(q[4]=I=>{M(I.target)&&I.preventDefault(),s("pointerDownOutside",I)})},{default:u(()=>[(n(),c(ht(e(a)==="popper"?e(_t):e(le)),C({...B.$attrs,...e(_)},{id:e(l).contentId,ref:e(p),"memo-dependencies":e(a)==="popper"?[e(l).filterSearch.value,e(l).filterState.value]:void 0,"data-state":e(l).open.value?"open":"closed","data-empty":t.value?"":void 0,style:{display:o.hideWhenEmpty&&t.value?"none":"flex",flexDirection:"column",outline:"none",...e(a)==="popper"?V:{}}}),{default:u(()=>[v(B.$slots,"default")]),_:3},16,["id","memo-dependencies","data-state","data-empty","style"]))]),_:3},8,["disable-outside-pointer-events"])]),_:3})]),_:3}))}}),ca=pa,fa=L({__name:"ComboboxArrow",props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"svg"}},setup(m){const f=m,o=D(),s=ua();return Q(),(a,l)=>e(o).open.value&&e(s).position.value==="popper"?(n(),c(e(xt),te(C({key:0},f)),{default:u(()=>[v(a.$slots,"default")]),_:3},16)):A("v-if",!0)}}),ma=fa,ga=L({__name:"ComboboxCancel",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(m){const f=m;Q();const o=D();function s(){o.filterSearch.value="",o.inputElement.value&&(o.inputElement.value.value="",o.inputElement.value.focus()),o.resetModelValueOnClear?.value&&(o.modelValue.value=o.multiple.value?[]:null)}return(a,l)=>(n(),c(e(le),C({type:a.as==="button"?"button":void 0},f,{tabindex:"-1",onClick:s}),{default:u(()=>[v(a.$slots,"default")]),_:3},16,["type"]))}}),va=ga,ba=L({__name:"ComboboxContent",props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},hideWhenEmpty:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside"],setup(m,{emit:f}){const a=Ct(m,f),{forwardRef:l}=Q(),t=D();return t.contentId||=Ie(void 0,"reka-combobox-content"),(p,b)=>(n(),c(e(qt),{present:p.forceMount||e(t).open.value},{default:u(()=>[y(ca,C({...e(a),...p.$attrs},{ref:e(l)}),{default:u(()=>[v(p.$slots,"default")]),_:3},16)]),_:3},8,["present"]))}}),ya=ba,ha=L({__name:"ComboboxEmpty",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(m){const f=m,o=D(),s=w(()=>o.ignoreFilter.value?o.allItems.value.size===0:o.filterState.value.count===0);return(a,l)=>s.value?(n(),c(e(le),te(C({key:0},f)),{default:u(()=>[v(a.$slots,"default",{},()=>[l[0]||(l[0]=ee("No options"))])]),_:3},16)):A("v-if",!0)}}),_a=ha;const[Qe,xa]=Te("ComboboxGroup");var Ca=L({__name:"ComboboxGroup",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(m){const f=m,o=Ie(void 0,"reka-combobox-group"),s=D(),a=w(()=>s.ignoreFilter.value?!0:s.filterSearch.value?s.filterState.value.groups.has(o):!0),l=xa({id:o,labelId:""});return ae(()=>{s.allGroups.value.has(o)||s.allGroups.value.set(o,new Set)}),Fe(()=>{s.allGroups.value.delete(o)}),(t,p)=>(n(),c(e(Qt),C({id:e(o),"aria-labelledby":e(l).labelId},f,{hidden:a.value?void 0:!0}),{default:u(()=>[v(t.$slots,"default")]),_:3},16,["id","aria-labelledby","hidden"]))}}),Oe=Ca,qa=L({__name:"ComboboxInput",props:{displayValue:{type:Function,required:!1},modelValue:{type:String,required:!1},autoFocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"input"}},emits:["update:modelValue"],setup(m,{emit:f}){const o=m,s=f,a=D(),l=Zt(),{primitiveElement:t,currentElement:p}=Ee(),b=Le(o,"modelValue",s,{passive:o.modelValue===void 0});ae(()=>{p.value&&a.onInputElementChange(p.value)});const{isComposing:E,handleCompositionStart:_,handleCompositionEnd:V}=St(g=>{const k=g.target;k&&M(k.value)});function T(g){E.value||(g.preventDefault(),a.open.value||a.onOpenChange(!0))}function M(g){a.open.value?a.filterSearch.value=g:(a.onOpenChange(!0),Ce(()=>{g&&(a.filterSearch.value=g,l.highlightFirstItem())}))}function B(g){E.value||M(g.target.value)}function q(){a.openOnFocus.value&&!a.open.value&&a.onOpenChange(!0)}function I(g){if(!a.open.value)return;const k=g.relatedTarget;if(!k)return;const j=a.parentElement.value?.contains(k),ie=document.getElementById(a.contentId)?.contains(k);!j&&!ie&&requestAnimationFrame(()=>{if(!a.open.value)return;const U=document.activeElement;!a.parentElement.value?.contains(U)&&!document.getElementById(a.contentId)?.contains(U)&&a.onOpenChange(!1)})}function K(){a.openOnClick.value&&!a.open.value&&a.onOpenChange(!0)}function N(){const g=a.modelValue.value;o.displayValue?b.value=o.displayValue(g):!a.multiple.value&&g&&!Array.isArray(g)&&typeof g!="object"?b.value=g.toString():b.value="",Ce(()=>{b.value=b.value})}return a.onResetSearchTerm(()=>{N()}),Ae(a.modelValue,async()=>{!a.isUserInputted.value&&a.resetSearchTermOnSelect.value&&N()},{immediate:!0,deep:!0}),Ae(a.filterState,(g,k)=>{!a.isVirtual.value&&k.count===0&&l.highlightFirstItem()}),(g,k)=>(n(),c(e(Jt),{ref_key:"primitiveElement",ref:t,modelValue:e(b),"onUpdate:modelValue":k[0]||(k[0]=j=>Ye(b)?b.value=j:null),as:g.as,"as-child":g.asChild,"auto-focus":g.autoFocus,disabled:g.disabled,"aria-expanded":e(a).open.value,"aria-controls":e(a).contentId,"aria-autocomplete":"list",role:"combobox",autocomplete:"off",onClick:K,onInput:B,onKeydown:It(T,["down","up"]),onFocus:q,onBlur:I,onCompositionstart:e(_),onCompositionend:e(V)},{default:u(()=>[v(g.$slots,"default")]),_:3},8,["modelValue","as","as-child","auto-focus","disabled","aria-expanded","aria-controls","onCompositionstart","onCompositionend"]))}}),Ia=qa,Sa=L({__name:"ComboboxItem",props:{textValue:{type:String,required:!1},value:{type:null,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(m,{emit:f}){const o=m,s=f,a=Ie(void 0,"reka-combobox-item"),l=D(),t=Qe(null),{primitiveElement:p,currentElement:b}=Ee();if(o.value==="")throw new Error("A <ComboboxItem /> must have a value prop that is not an empty string. This is because the Combobox value can be set to an empty string to clear the selection and show the placeholder.");const E=w(()=>{if(l.isVirtual.value||l.ignoreFilter.value||!l.filterSearch.value)return!0;{const _=l.filterState.value.items.get(a);return _===void 0?!0:_>0}});return ae(()=>{l.allItems.value.set(a,o.textValue||b.value.textContent||b.value.innerText);const _=t?.id;_&&(l.allGroups.value.has(_)?l.allGroups.value.get(_)?.add(a):l.allGroups.value.set(_,new Set([a])))}),Fe(()=>{l.allItems.value.delete(a)}),(_,V)=>E.value?zt([E.value,e(l).filterSearch.value,e(l).disabled.value,_.disabled,o.value,o.as,o.asChild,...Object.values(_.$attrs)],()=>(n(),c(e(ea),C({key:0},o,{id:e(a),ref_key:"primitiveElement",ref:p,disabled:e(l).disabled.value||_.disabled,onSelect:V[0]||(V[0]=T=>{s("select",T),!T.defaultPrevented&&(!e(l).multiple.value&&!_.disabled&&!e(l).disabled.value?(T.preventDefault(),e(l).onOpenChange(!1),e(l).modelValue.value=o.value):e(l).multiple.value&&e(l).inputElement.value?.focus())})}),{default:u(()=>[v(_.$slots,"default",{},()=>[ee(X(_.value),1)])]),_:3},16,["id","disabled"])),V,1):A("v-if",!0)}}),We=Sa,za=L({__name:"ComboboxItemIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(m){const f=m;return(o,s)=>(n(),c(e(ta),te(me(f)),{default:u(()=>[v(o.$slots,"default")]),_:3},16))}}),wa=za,Ba=L({__name:"ComboboxLabel",props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(m){const f=m;Q();const o=Qe({id:"",labelId:""});return o.labelId||=Ie(void 0,"reka-combobox-group-label"),(s,a)=>(n(),c(e(le),C(f,{id:e(o).labelId}),{default:u(()=>[v(s.$slots,"default")]),_:3},16,["id"]))}}),ka=Ba,Oa=L({__name:"ComboboxPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(m){const f=m;return(o,s)=>(n(),c(e(wt),te(me(f)),{default:u(()=>[v(o.$slots,"default")]),_:3},16))}}),La=Oa,Aa=L({__name:"ComboboxSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(m){const f=m;return Q(),(o,s)=>(n(),c(e(le),C(f,{"aria-hidden":"true"}),{default:u(()=>[v(o.$slots,"default")]),_:3},16))}}),Ea=Aa,Ta=L({__name:"ComboboxTrigger",props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(m){const f=m,{forwardRef:o,currentElement:s}=Q(),a=D(),l=w(()=>f.disabled||a.disabled.value||!1);return ae(()=>{s.value&&a.onTriggerElementChange(s.value)}),(t,p)=>(n(),c(e(le),C(f,{ref:e(o),type:t.as==="button"?"button":void 0,tabindex:"-1","aria-label":"Show popup","aria-haspopup":"listbox","aria-expanded":e(a).open.value,"aria-controls":e(a).contentId,"data-state":e(a).open.value?"open":"closed",disabled:l.value,"data-disabled":l.value?"":void 0,"aria-disabled":l.value??void 0,onClick:p[0]||(p[0]=b=>e(a).onOpenChange(!e(a).open.value))}),{default:u(()=>[v(t.$slots,"default")]),_:3},16,["type","aria-expanded","aria-controls","data-state","disabled","data-disabled","aria-disabled"]))}}),Fa=Ta,Va=L({__name:"ComboboxVirtualizer",props:{options:{type:Array,required:!0},overscan:{type:Number,required:!1},estimateSize:{type:[Number,Function],required:!1},textContent:{type:Function,required:!1}},setup(m){const f=m,o=D();return o.isVirtual.value=!0,(s,a)=>(n(),c(aa,te(me(f)),{default:u(l=>[v(s.$slots,"default",te(me(l)))]),_:3},16))}}),$a=Va;const Pa={slots:{base:["relative group rounded-md inline-flex items-center disabled:cursor-not-allowed disabled:opacity-75","transition-colors"],leading:"absolute inset-y-0 start-0 flex items-center",leadingIcon:"shrink-0 text-dimmed",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailing:"absolute inset-y-0 end-0 flex items-center",trailingIcon:"shrink-0 text-dimmed",value:"truncate pointer-events-none",placeholder:"truncate text-dimmed",arrow:"fill-bg stroke-default",content:["max-h-[min(15rem,var(--reka-select-content-available-height,15rem))] w-(--reka-select-trigger-width) bg-default shadow-lg rounded-md ring ring-default overflow-hidden origin-(--reka-select-content-transform-origin) pointer-events-auto flex flex-col","max-h-[min(15rem,var(--reka-combobox-content-available-height,15rem))] origin-(--reka-combobox-content-transform-origin) w-(--reka-combobox-trigger-width)"],viewport:"relative scroll-py-1 overflow-y-auto flex-1",group:"p-1 isolate",empty:"text-center text-muted",label:"font-semibold text-highlighted",separator:"-mx-1 my-1 h-px bg-border",item:["group relative w-full flex items-start select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75 text-default data-highlighted:not-data-disabled:text-highlighted data-highlighted:not-data-disabled:before:bg-elevated/50","transition-colors before:transition-colors"],itemLeadingIcon:["shrink-0 text-dimmed group-data-highlighted:not-group-data-disabled:text-default","transition-colors"],itemLeadingAvatar:"shrink-0",itemLeadingAvatarSize:"",itemLeadingChip:"shrink-0",itemLeadingChipSize:"",itemTrailing:"ms-auto inline-flex gap-1.5 items-center",itemTrailingIcon:"shrink-0",itemWrapper:"flex-1 flex flex-col min-w-0",itemLabel:"truncate",itemDescription:"truncate text-muted",input:"border-b border-default",focusScope:"flex flex-col min-h-0",trailingClear:"p-0"},variants:{fieldGroup:{horizontal:"not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1]",vertical:"not-only:first:rounded-b-none not-only:last:rounded-t-none not-last:not-first:rounded-none focus-visible:z-[1]"},size:{xs:{base:"px-2 py-1 text-xs gap-1",leading:"ps-2",trailing:"pe-2",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4",label:"p-1 text-[10px]/3 gap-1",item:"p-1 text-xs gap-1",itemLeadingIcon:"size-4",itemLeadingAvatarSize:"3xs",itemLeadingChip:"size-4",itemLeadingChipSize:"sm",itemTrailingIcon:"size-4",empty:"p-2 text-xs"},sm:{base:"px-2.5 py-1.5 text-xs gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4",label:"p-1.5 text-[10px]/3 gap-1.5",item:"p-1.5 text-xs gap-1.5",itemLeadingIcon:"size-4",itemLeadingAvatarSize:"3xs",itemLeadingChip:"size-4",itemLeadingChipSize:"sm",itemTrailingIcon:"size-4",empty:"p-2.5 text-xs"},md:{base:"px-2.5 py-1.5 text-sm gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5",label:"p-1.5 text-xs gap-1.5",item:"p-1.5 text-sm gap-1.5",itemLeadingIcon:"size-5",itemLeadingAvatarSize:"2xs",itemLeadingChip:"size-5",itemLeadingChipSize:"md",itemTrailingIcon:"size-5",empty:"p-2.5 text-sm"},lg:{base:"px-3 py-2 text-sm gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5",label:"p-2 text-xs gap-2",item:"p-2 text-sm gap-2",itemLeadingIcon:"size-5",itemLeadingAvatarSize:"2xs",itemLeadingChip:"size-5",itemLeadingChipSize:"md",itemTrailingIcon:"size-5",empty:"p-3 text-sm"},xl:{base:"px-3 py-2 text-base gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-6",leadingAvatarSize:"xs",trailingIcon:"size-6",label:"p-2 text-sm gap-2",item:"p-2 text-base gap-2",itemLeadingIcon:"size-6",itemLeadingAvatarSize:"xs",itemLeadingChip:"size-6",itemLeadingChipSize:"lg",itemTrailingIcon:"size-6",empty:"p-3 text-base"}},variant:{outline:"text-highlighted bg-default ring ring-inset ring-accented hover:bg-elevated disabled:bg-default",soft:"text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50",subtle:"text-highlighted bg-elevated ring ring-inset ring-accented hover:bg-accented/75 disabled:bg-elevated",ghost:"text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",none:"text-highlighted bg-transparent focus:outline-none"},color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},leading:{true:""},trailing:{true:""},loading:{true:""},highlight:{true:""},fixed:{false:""},type:{file:"file:me-1.5 file:font-medium file:text-muted file:outline-none"},position:{popper:{content:"data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in]"},"item-aligned":{content:""}},multiple:{true:""},virtualize:{true:{viewport:"p-1 isolate"},false:{viewport:"divide-y divide-default"}}},compoundVariants:[{color:"primary",variant:["outline","subtle"],class:"outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary"},{color:"secondary",variant:["outline","subtle"],class:"outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary"},{color:"success",variant:["outline","subtle"],class:"outline-success/25 focus-visible:outline-3 focus-visible:ring-success"},{color:"info",variant:["outline","subtle"],class:"outline-info/25 focus-visible:outline-3 focus-visible:ring-info"},{color:"warning",variant:["outline","subtle"],class:"outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning"},{color:"error",variant:["outline","subtle"],class:"outline-error/25 focus-visible:outline-3 focus-visible:ring-error"},{color:"primary",variant:["soft","ghost"],class:"outline-primary/25 focus-visible:outline-3"},{color:"secondary",variant:["soft","ghost"],class:"outline-secondary/25 focus-visible:outline-3"},{color:"success",variant:["soft","ghost"],class:"outline-success/25 focus-visible:outline-3"},{color:"info",variant:["soft","ghost"],class:"outline-info/25 focus-visible:outline-3"},{color:"warning",variant:["soft","ghost"],class:"outline-warning/25 focus-visible:outline-3"},{color:"error",variant:["soft","ghost"],class:"outline-error/25 focus-visible:outline-3"},{color:"primary",highlight:!0,class:"ring ring-inset ring-primary"},{color:"secondary",highlight:!0,class:"ring ring-inset ring-secondary"},{color:"success",highlight:!0,class:"ring ring-inset ring-success"},{color:"info",highlight:!0,class:"ring ring-inset ring-info"},{color:"warning",highlight:!0,class:"ring ring-inset ring-warning"},{color:"error",highlight:!0,class:"ring ring-inset ring-error"},{color:"neutral",variant:["outline","subtle"],class:"outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted"},{color:"neutral",variant:["soft","ghost"],class:"outline-inverted/25 focus-visible:outline-3"},{color:"neutral",highlight:!0,class:"ring ring-inset ring-inverted"},{leading:!0,size:"xs",class:"ps-7"},{leading:!0,size:"sm",class:"ps-8"},{leading:!0,size:"md",class:"ps-9"},{leading:!0,size:"lg",class:"ps-10"},{leading:!0,size:"xl",class:"ps-11"},{trailing:!0,size:"xs",class:"pe-7"},{trailing:!0,size:"sm",class:"pe-8"},{trailing:!0,size:"md",class:"pe-9"},{trailing:!0,size:"lg",class:"pe-10"},{trailing:!0,size:"xl",class:"pe-11"},{loading:!0,leading:!0,class:{leadingIcon:"animate-spin"}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:"animate-spin"}},{fixed:!1,size:"xs",class:"md:text-xs"},{fixed:!1,size:"sm",class:"md:text-xs"},{fixed:!1,size:"md",class:"md:text-sm"},{fixed:!1,size:"lg",class:"md:text-sm"}],defaultVariants:{size:"md",color:"primary",variant:"outline",position:"popper"}},Ma=Object.assign({inheritAttrs:!1},{__name:"USelectMenu",props:Ge({id:{type:String,required:!1},placeholder:{type:String,required:!1},searchInput:{type:[Boolean,Object],required:!1,default:!0},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},required:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},selectedIcon:{type:null,required:!1},clear:{type:[Boolean,Object],required:!1},clearIcon:{type:null,required:!1},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},virtualize:{type:[Boolean,Object],required:!1,default:!1},valueKey:{type:null,required:!1},labelKey:{type:null,required:!1,default:"label"},descriptionKey:{type:null,required:!1,default:"description"},items:{type:null,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},modelModifiers:{type:null,required:!1},multiple:{type:Boolean,required:!1},highlight:{type:Boolean,required:!1},createItem:{type:[Boolean,String,Object],required:!1},filterFields:{type:Array,required:!1},ignoreFilter:{type:Boolean,required:!1},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},class:{type:null,required:!1},ui:{type:Object,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},resetSearchTermOnBlur:{type:Boolean,required:!1,default:!0},resetSearchTermOnSelect:{type:Boolean,required:!1,default:!0},resetModelValueOnClear:{type:Boolean,required:!1,default:!0},highlightOnHover:{type:Boolean,required:!1},by:{type:[String,Function],required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},{searchTerm:{type:String,default:""},searchTermModifiers:{}}),emits:Ge(["change","blur","focus","create","clear","highlight","update:modelValue","update:open"],["update:searchTerm"]),setup(m,{expose:f,emit:o}){const s=m,a=o,l=Bt(),t=kt("selectMenu",s),p=Ot(m,"searchTerm",{type:String,default:""}),{t:b}=Lt(),E=At(),{filterGroups:_}=Ht(),V=Et(Tt(t,"modelValue","defaultValue","open","defaultOpen","required","multiple","resetSearchTermOnBlur","resetSearchTermOnSelect","resetModelValueOnClear","highlightOnHover","by"),a),T=Ft(Y(()=>t.portal)),M=Y(()=>fe(t.content,{side:"bottom",sideOffset:8,collisionPadding:8,position:"popper"})),B=Y(()=>fe(t.arrow,{rounded:!0})),q=w(()=>typeof t.clear=="object"?t.clear:{}),I=Y(()=>t.virtualize?fe(typeof t.virtualize=="boolean"?{}:t.virtualize,{estimateSize:la(be.value,Z.value||"md",t.descriptionKey,!!l["item-description"])}):!1),K=Y(()=>fe(t.searchInput,{placeholder:b("selectMenu.search"),variant:"none"})),{emitFormBlur:N,emitFormFocus:g,emitFormInput:k,emitFormChange:j,size:ie,color:U,id:ne,name:ge,highlight:ue,disabled:de,ariaAttrs:Se}=Vt(s),{orientation:oe,size:ve}=$t(s),{isLeading:W,isTrailing:S,leadingIconName:$,trailingIconName:P}=Pt(Y(()=>fe(t,{trailingIcon:E.ui.icons.chevronDown}))),Z=w(()=>ve.value||ie.value),[pe,H]=Ne(),[re,Ve]=Ne({props:{item:{type:[Object,String,Number,Boolean],required:!0},index:{type:Number,required:!1}}}),d=w(()=>Gt({extend:Pa,...E.ui?.selectMenu||{}})({color:U.value??t.color,variant:t.variant,size:Z?.value??t.size,loading:t.loading,highlight:ue.value??t.highlight,leading:W.value||!!t.avatar||!!l.leading,trailing:S.value||!!l.trailing,fieldGroup:oe.value,virtualize:!!t.virtualize,multiple:t.multiple}));function Ze(r){if(t.multiple&&Array.isArray(r)){const x=r.map(i=>Ue($e.value,i,{labelKey:t.labelKey,valueKey:t.valueKey,by:t.by})).filter(i=>i!=null&&i!=="");return x.length>0?x.join(", "):void 0}return Ue($e.value,r,{labelKey:t.labelKey,valueKey:t.valueKey,by:t.by})}const ze=w(()=>t.items?.length?Wt(t.items)?t.items:[t.items]:[]),$e=w(()=>ze.value.flatMap(r=>r)),Pe=w(()=>{if(t.ignoreFilter||!p.value)return ze.value;const r=Array.isArray(t.filterFields)?t.filterFields:[t.labelKey];return _(ze.value,p.value,{fields:r,isStructural:x=>z(x)&&!!x.type&&["label","separator"].includes(x.type)})}),be=w(()=>Pe.value.flatMap(r=>r)),ye=w(()=>{if(!t.createItem||!p.value)return!1;const r=t.valueKey?{[t.valueKey]:p.value}:p.value;return typeof t.createItem=="object"&&t.createItem.when==="always"||t.createItem==="always"?!be.value.find(x=>Ut(x,r,t.by??t.valueKey)):!be.value.length}),he=w(()=>typeof t.createItem=="object"?t.createItem.position:"bottom"),we=Be("triggerRef");function Je(){t.autofocus&&we.value?.$el?.focus({focusVisible:!0})}ae(()=>{setTimeout(()=>{Je()},t.autofocusDelay)});function et(r){if(Nt(t.modelValue)===r)return;t.modelModifiers?.trim&&(typeof r=="string"||r===null||r===void 0)&&(r=r?.trim()??null),t.modelModifiers?.number&&(r=jt(r)),t.modelModifiers?.nullable&&(r??=null),t.modelModifiers?.optional&&!t.modelModifiers?.nullable&&r!==null&&(r??=void 0);const x=new Event("change",{target:{value:r}});a("change",x),j(),k(),t.resetSearchTermOnSelect&&(p.value="")}const Re=G(!1);function tt(r){Re.value=r;let x;if(r){const i=new FocusEvent("focus");a("focus",i),g(),clearTimeout(x)}else{const i=new FocusEvent("blur");a("blur",i),N(),t.resetSearchTermOnBlur&&(x=setTimeout(()=>{p.value=""},100))}}function at(r){r.preventDefault(),r.stopPropagation(),a("create",p.value)}function lt(r,x){if(z(x)){if(x.disabled){r.preventDefault();return}x.onSelect?.(r)}}function z(r){return typeof r=="object"&&r!==null}function it(r){return t.multiple&&Array.isArray(r)?r.length===0:r==null||r===""}function ot(){a("clear")}const De=Be("viewportRef"),Me=Be("comboboxRootRef");return Ae(()=>t.items,async()=>{!Re.value||!t.createItem||(await Ce(),Me.value?.highlightFirstItem?.())},{flush:"post"}),f({triggerRef:Y(()=>we.value?.$el),viewportRef:Y(()=>De.value)}),(r,x)=>(n(),F(J,null,[y(e(pe),null,{default:u(()=>[y(e(We),{"data-slot":"item",class:h(d.value.item({class:e(t).ui?.item})),value:p.value,onSelect:at},{default:u(()=>[ce("span",{"data-slot":"itemLabel",class:h(d.value.itemLabel({class:e(t).ui?.itemLabel}))},[v(r.$slots,"create-item-label",{item:p.value},()=>[ee(X(e(b)("selectMenu.create",{label:p.value})),1)])],2)]),_:3},8,["class","value"])]),_:3}),y(e(re),null,{default:u(({item:i,index:R})=>[z(i)&&i.type==="label"?(n(),c(e(ka),{key:0,"data-slot":"label",class:h(d.value.label({class:[e(t).ui?.label,i.ui?.label,i.class]}))},{default:u(()=>[ee(X(e(se)(i,e(t).labelKey)),1)]),_:2},1032,["class"])):z(i)&&i.type==="separator"?(n(),c(e(Ea),{key:1,"data-slot":"separator",class:h(d.value.separator({class:[e(t).ui?.separator,i.ui?.separator,i.class]}))},null,8,["class"])):(n(),c(e(We),{key:2,"data-slot":"item",class:h(d.value.item({class:[e(t).ui?.item,z(i)&&i.ui?.item,z(i)&&i.class]})),disabled:z(i)&&i.disabled,value:e(t).valueKey&&z(i)?e(se)(i,e(t).valueKey):i,onSelect:O=>lt(O,i)},{default:u(()=>[v(r.$slots,"item",{item:i,index:R,ui:d.value},()=>[v(r.$slots,"item-leading",{item:i,index:R,ui:d.value},()=>[z(i)&&i.icon?(n(),c(xe,{key:0,name:i.icon,"data-slot":"itemLeadingIcon",class:h(d.value.itemLeadingIcon({class:[e(t).ui?.itemLeadingIcon,i.ui?.itemLeadingIcon]}))},null,8,["name","class"])):z(i)&&i.avatar?(n(),c(je,C({key:1,size:i.ui?.itemLeadingAvatarSize||e(t).ui?.itemLeadingAvatarSize||d.value.itemLeadingAvatarSize()},i.avatar,{"data-slot":"itemLeadingAvatar",class:d.value.itemLeadingAvatar({class:[e(t).ui?.itemLeadingAvatar,i.ui?.itemLeadingAvatar]})}),null,16,["size","class"])):z(i)&&i.chip?(n(),c(Rt,C({key:2,size:i.ui?.itemLeadingChipSize||e(t).ui?.itemLeadingChipSize||d.value.itemLeadingChipSize(),inset:"",standalone:""},i.chip,{"data-slot":"itemLeadingChip",class:d.value.itemLeadingChip({class:[e(t).ui?.itemLeadingChip,i.ui?.itemLeadingChip]})}),null,16,["size","class"])):A("",!0)]),ce("span",{"data-slot":"itemWrapper",class:h(d.value.itemWrapper({class:[e(t).ui?.itemWrapper,z(i)&&i.ui?.itemWrapper]}))},[ce("span",{"data-slot":"itemLabel",class:h(d.value.itemLabel({class:[e(t).ui?.itemLabel,z(i)&&i.ui?.itemLabel]}))},[v(r.$slots,"item-label",{item:i,index:R},()=>[ee(X(z(i)?e(se)(i,e(t).labelKey):i),1)])],2),z(i)&&(e(se)(i,e(t).descriptionKey)||l["item-description"])?(n(),F("span",{key:0,"data-slot":"itemDescription",class:h(d.value.itemDescription({class:[e(t).ui?.itemDescription,z(i)&&i.ui?.itemDescription]}))},[v(r.$slots,"item-description",{item:i,index:R},()=>[ee(X(e(se)(i,e(t).descriptionKey)),1)])],2)):A("",!0)],2),ce("span",{"data-slot":"itemTrailing",class:h(d.value.itemTrailing({class:[e(t).ui?.itemTrailing,z(i)&&i.ui?.itemTrailing]}))},[v(r.$slots,"item-trailing",{item:i,index:R,ui:d.value}),y(e(wa),{"as-child":""},{default:u(()=>[y(xe,{name:e(t).selectedIcon||e(E).ui.icons.check,"data-slot":"itemTrailingIcon",class:h(d.value.itemTrailingIcon({class:[e(t).ui?.itemTrailingIcon,z(i)&&i.ui?.itemTrailingIcon]}))},null,8,["name","class"])]),_:2},1024)],2)])]),_:2},1032,["class","disabled","value","onSelect"]))]),_:3}),y(e(ra),C({ref_key:"comboboxRootRef",ref:Me},e(V),{"ignore-filter":"","as-child":"",name:e(ge),disabled:e(de),"onUpdate:modelValue":et,"onUpdate:open":tt}),{default:u(({modelValue:i,open:R})=>[y(e(na),{"as-child":""},{default:u(()=>[y(e(Fa),C({id:e(ne),ref_key:"triggerRef",ref:we,"data-slot":"base",class:d.value.base({class:[e(t).ui?.base,e(t).class]}),tabindex:"0"},{...r.$attrs,...e(Se)}),{default:u(()=>[e(W)||e(t).avatar||l.leading?(n(),F("span",{key:0,"data-slot":"leading",class:h(d.value.leading({class:e(t).ui?.leading}))},[v(r.$slots,"leading",{modelValue:i,open:R,ui:d.value},()=>[e(W)&&e($)?(n(),c(xe,{key:0,name:e($),"data-slot":"leadingIcon",class:h(d.value.leadingIcon({class:e(t).ui?.leadingIcon}))},null,8,["name","class"])):e(t).avatar?(n(),c(je,C({key:1,size:e(t).ui?.itemLeadingAvatarSize||d.value.itemLeadingAvatarSize()},e(t).avatar,{"data-slot":"itemLeadingAvatar",class:d.value.itemLeadingAvatar({class:e(t).ui?.itemLeadingAvatar})}),null,16,["size","class"])):A("",!0)])],2)):A("",!0),v(r.$slots,"default",{modelValue:i,open:R,ui:d.value},()=>[(n(!0),F(J,null,ke([Ze(i)],O=>(n(),F(J,{key:O},[O!=null?(n(),F("span",{key:0,"data-slot":"value",class:h(d.value.value({class:e(t).ui?.value}))},X(O),3)):(n(),F("span",{key:1,"data-slot":"placeholder",class:h(d.value.placeholder({class:e(t).ui?.placeholder}))},X(e(t).placeholder??" "),3))],64))),128))]),e(S)||l.trailing||e(t).clear?(n(),F("span",{key:1,"data-slot":"trailing",class:h(d.value.trailing({class:e(t).ui?.trailing}))},[v(r.$slots,"trailing",{modelValue:i,open:R,ui:d.value},()=>[e(t).clear&&!it(i)?(n(),c(e(va),{key:0,"as-child":""},{default:u(()=>[y(Dt,C({as:"span",icon:e(t).clearIcon||e(E).ui.icons.close,size:Z.value,variant:"link",color:"neutral",tabindex:"-1"},q.value,{"data-slot":"trailingClear",class:d.value.trailingClear({class:e(t).ui?.trailingClear}),onClick:qe(ot,["stop"])}),null,16,["icon","size","class"])]),_:1})):e(P)?(n(),c(xe,{key:1,name:e(P),"data-slot":"trailingIcon",class:h(d.value.trailingIcon({class:e(t).ui?.trailingIcon}))},null,8,["name","class"])):A("",!0)])],2)):A("",!0)]),_:2},1040,["id","class"])]),_:2},1024),y(e(La),te(me(e(T))),{default:u(()=>[y(e(Mt),null,{default:u(()=>[y(e(ya),C({"data-slot":"content",class:d.value.content({class:e(t).ui?.content})},M.value),{default:u(()=>[y(e(Xe),{trapped:"","data-slot":"focusScope",class:h(d.value.focusScope({class:e(t).ui?.focusScope}))},{default:u(()=>[v(r.$slots,"content-top"),e(t).searchInput?(n(),c(e(Ia),{key:0,modelValue:p.value,"onUpdate:modelValue":x[1]||(x[1]=O=>p.value=O),"display-value":()=>p.value,"as-child":""},{default:u(()=>[y(Kt,C({autofocus:"",autocomplete:"off",size:Z.value},K.value,{"model-modifiers":{trim:e(t).modelModifiers?.trim},"data-slot":"input",class:d.value.input({class:e(t).ui?.input}),onChange:x[0]||(x[0]=qe(()=>{},["stop"]))}),null,16,["size","model-modifiers","class"])]),_:1},8,["modelValue","display-value"])):A("",!0),y(e(_a),{"data-slot":"empty",class:h(d.value.empty({class:e(t).ui?.empty}))},{default:u(()=>[v(r.$slots,"empty",{searchTerm:p.value},()=>[ee(X(p.value?e(b)("selectMenu.noMatch",{searchTerm:p.value}):e(b)("selectMenu.noData")),1)])]),_:3},8,["class"]),ce("div",{ref_key:"viewportRef",ref:De,role:"presentation","data-slot":"viewport",class:h(d.value.viewport({class:e(t).ui?.viewport}))},[e(t).virtualize?(n(),F(J,{key:0},[ye.value&&he.value==="top"?(n(),c(e(H),{key:0})):A("",!0),y(e($a),C({options:be.value,"text-content":O=>z(O)?e(se)(O,e(t).labelKey):String(O)},I.value),{default:u(({option:O,virtualItem:_e})=>[y(e(Ve),{item:O,index:_e.index},null,8,["item","index"])]),_:1},16,["options","text-content"]),ye.value&&he.value==="bottom"?(n(),c(e(H),{key:1})):A("",!0)],64)):(n(),F(J,{key:1},[ye.value&&he.value==="top"?(n(),c(e(Oe),{key:0,"data-slot":"group",class:h(d.value.group({class:e(t).ui?.group}))},{default:u(()=>[y(e(H))]),_:1},8,["class"])):A("",!0),(n(!0),F(J,null,ke(Pe.value,(O,_e)=>(n(),c(e(Oe),{key:`group-${_e}`,"data-slot":"group",class:h(d.value.group({class:e(t).ui?.group}))},{default:u(()=>[(n(!0),F(J,null,ke(O,(rt,Ke)=>(n(),c(e(Ve),{key:`group-${_e}-${Ke}`,item:rt,index:Ke},null,8,["item","index"]))),128))]),_:2},1032,["class"]))),128)),ye.value&&he.value==="bottom"?(n(),c(e(Oe),{key:1,"data-slot":"group",class:h(d.value.group({class:e(t).ui?.group}))},{default:u(()=>[y(e(H))]),_:1},8,["class"])):A("",!0)],64))],2),v(r.$slots,"content-bottom")]),_:3},8,["class"]),e(t).arrow?(n(),c(e(ma),C({key:0},B.value,{"data-slot":"arrow",class:d.value.arrow({class:e(t).ui?.arrow})}),null,16,["class"])):A("",!0)]),_:3},16,["class"])]),_:3})]),_:3},16)]),_:3},16,["name","disabled"])],64))}});export{Ma as _};
|
|
1
|
+
import{d as L,W as He,ax as st,X as Le,C as ae,o as n,f as c,g as u,j as y,k as e,U as C,l as Ye,T as v,b9 as nt,ba as Ee,G as Ce,bb as ut,r as G,h as w,as as dt,Y as Te,bc as pt,S as Q,V as le,bd as ct,be as ft,bf as mt,bg as gt,bh as vt,ab as Fe,bi as bt,bj as Xe,H as qe,bk as yt,ae as ht,bl as _t,Z as te,bm as xt,q as A,bn as Ct,ay as Ie,aA as qt,m as ee,B as Ae,Q as It,bo as St,bp as zt,t as X,$ as me,bq as wt,a0 as Bt,a1 as kt,z as Ot,a2 as Lt,a3 as At,a4 as Et,a5 as Tt,br as Ft,aM as Vt,bs as $t,aX as Pt,b2 as Ne,aO as Be,b3 as Y,c as F,p as h,i as ce,aF as se,v as xe,aG as je,bt as Rt,F as J,y as ke,_ as Dt,bu as Mt,D as Kt,A as Ge,bv as Ue,bw as fe,au as Nt,aY as jt,a6 as Gt,bx as Ut,by as Wt,bz as Ht}from"./BPKwYP2Q.js";import{L as Yt,a as Xt,b as Qt,i as Zt,c as Jt,d as ea,e as ta,f as aa,g as la}from"./CpO-ABDW.js";const[D,ia]=Te("ComboboxRoot");var oa=L({__name:"ComboboxRoot",props:{open:{type:Boolean,required:!1,default:void 0},defaultOpen:{type:Boolean,required:!1},resetSearchTermOnBlur:{type:Boolean,required:!1,default:!0},resetSearchTermOnSelect:{type:Boolean,required:!1,default:!0},openOnFocus:{type:Boolean,required:!1,default:!1},openOnClick:{type:Boolean,required:!1,default:!1},ignoreFilter:{type:Boolean,required:!1},resetModelValueOnClear:{type:Boolean,required:!1,default:!1},modelValue:{type:null,required:!1},defaultValue:{type:null,required:!1},multiple:{type:Boolean,required:!1},dir:{type:String,required:!1},disabled:{type:Boolean,required:!1},highlightOnHover:{type:Boolean,required:!1,default:!0},by:{type:[String,Function],required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},name:{type:String,required:!1},required:{type:Boolean,required:!1}},emits:["update:modelValue","highlight","update:open"],setup(m,{expose:f,emit:o}){const s=m,a=o,{primitiveElement:l,currentElement:t}=Ee(),{multiple:p,disabled:b,ignoreFilter:E,resetSearchTermOnSelect:_,openOnFocus:V,openOnClick:T,dir:M,resetModelValueOnClear:B,highlightOnHover:q}=He(s),I=st(M),K=Le(s,"modelValue",a,{defaultValue:s.defaultValue??(p.value?[]:void 0),passive:s.modelValue===void 0,deep:!0}),N=Le(s,"open",a,{defaultValue:s.defaultOpen,passive:s.open===void 0});async function g(S){N.value=S,oe.value="",S?(await Ce(),l.value?.highlightSelected(),j.value=!0,U.value?.focus()):(j.value=!1,setTimeout(()=>{!S&&s.resetSearchTermOnBlur&&k.trigger()},1))}const k=ut(),j=G(!1),ie=G(!1),U=G(),ne=G(),ge=w(()=>l.value?.highlightedElement??void 0),ue=G(new Map),de=G(new Map),{contains:Se}=pt({sensitivity:"base"}),oe=G(""),ve=w(S=>{if(!oe.value||s.ignoreFilter||ie.value)return{count:ue.value.size,items:S?.items??new Map,groups:S?.groups??new Set(de.value.keys())};let $=0;const P=new Map,Z=new Set;for(const[pe,H]of ue.value){const re=Se(H,oe.value);P.set(pe,re?1:0),re&&$++}for(const[pe,H]of de.value)for(const re of H)if(P.get(re)>0){Z.add(pe);break}return{count:$,items:P,groups:Z}}),W=dt();return ae(()=>{W?.exposed&&(W.exposed.highlightItem=l.value?.highlightItem,W.exposed.highlightFirstItem=l.value?.highlightFirstItem,W.exposed.highlightSelected=l.value?.highlightSelected)}),f({filtered:ve,highlightedElement:ge,highlightItem:l.value?.highlightItem,highlightFirstItem:l.value?.highlightFirstItem,highlightSelected:l.value?.highlightSelected}),ia({modelValue:K,multiple:p,disabled:b,open:N,onOpenChange:g,contentId:"",isUserInputted:j,isVirtual:ie,inputElement:U,highlightedElement:ge,onInputElementChange:S=>U.value=S,triggerElement:ne,onTriggerElementChange:S=>ne.value=S,parentElement:t,resetSearchTermOnSelect:_,onResetSearchTerm:k.on,allItems:ue,allGroups:de,filterSearch:oe,filterState:ve,ignoreFilter:E,openOnFocus:V,openOnClick:T,resetModelValueOnClear:B}),(S,$)=>(n(),c(e(nt),null,{default:u(()=>[y(e(Yt),C({ref_key:"primitiveElement",ref:l},S.$attrs,{modelValue:e(K),"onUpdate:modelValue":$[0]||($[0]=P=>Ye(K)?K.value=P:null),style:{pointerEvents:e(N)?"auto":void 0},as:S.as,"as-child":S.asChild,dir:e(I),multiple:e(p),name:S.name,required:S.required,disabled:e(b),"highlight-on-hover":e(q),by:s.by,onHighlight:$[1]||($[1]=P=>a("highlight",P))}),{default:u(()=>[v(S.$slots,"default",{open:e(N),modelValue:e(K)})]),_:3},16,["modelValue","style","as","as-child","dir","multiple","name","required","disabled","highlight-on-hover","by"])]),_:3}))}}),ra=oa,sa=L({__name:"ComboboxAnchor",props:{reference:{type:null,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(m){const{forwardRef:f}=Q();return(o,s)=>(n(),c(e(ct),{"as-child":"",reference:o.reference},{default:u(()=>[y(e(le),C({ref:e(f),"as-child":o.asChild,as:o.as},o.$attrs),{default:u(()=>[v(o.$slots,"default")]),_:3},16,["as-child","as"])]),_:3},8,["reference"]))}}),na=sa;const[ua,da]=Te("ComboboxContent");var pa=L({__name:"ComboboxContentImpl",props:{position:{type:String,required:!1,default:"inline"},bodyLock:{type:Boolean,required:!1},hideWhenEmpty:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside"],setup(m,{emit:f}){const o=m,s=f,{position:a}=He(o),l=D(),t=w(()=>l.ignoreFilter.value?l.allItems.value.size===0:l.filterState.value.count===0),{forwardRef:p,currentElement:b}=Q();ft(o.bodyLock),mt(),gt(l.parentElement);const E=w(()=>o.position==="popper"?o:{}),_=vt(E.value),V={boxSizing:"border-box","--reka-combobox-content-transform-origin":"var(--reka-popper-transform-origin)","--reka-combobox-content-available-width":"var(--reka-popper-available-width)","--reka-combobox-content-available-height":"var(--reka-popper-available-height)","--reka-combobox-trigger-width":"var(--reka-popper-anchor-width)","--reka-combobox-trigger-height":"var(--reka-popper-anchor-height)"};da({position:a});const T=G(!1);ae(()=>{l.inputElement.value&&(T.value=b.value.contains(l.inputElement.value),T.value&&l.inputElement.value.focus())}),Fe(()=>{const B=bt();T.value&&(!B||B===document.body)&&l.triggerElement.value?.focus()});function M(B){if(l.parentElement.value?.contains(B))return!0;const I=(B instanceof Element?B.closest("label"):null)?.control;return!!I&&!!l.parentElement.value?.contains(I)}return(B,q)=>(n(),c(e(Xt),{"as-child":""},{default:u(()=>[y(e(Xe),{"as-child":"",onMountAutoFocus:q[5]||(q[5]=qe(()=>{},["prevent"])),onUnmountAutoFocus:q[6]||(q[6]=qe(()=>{},["prevent"]))},{default:u(()=>[y(e(yt),{"as-child":"","disable-outside-pointer-events":B.disableOutsidePointerEvents,onDismiss:q[0]||(q[0]=I=>e(l).onOpenChange(!1)),onFocusOutside:q[1]||(q[1]=I=>{M(I.target)&&I.preventDefault(),s("focusOutside",I)}),onInteractOutside:q[2]||(q[2]=I=>s("interactOutside",I)),onEscapeKeyDown:q[3]||(q[3]=I=>s("escapeKeyDown",I)),onPointerDownOutside:q[4]||(q[4]=I=>{M(I.target)&&I.preventDefault(),s("pointerDownOutside",I)})},{default:u(()=>[(n(),c(ht(e(a)==="popper"?e(_t):e(le)),C({...B.$attrs,...e(_)},{id:e(l).contentId,ref:e(p),"memo-dependencies":e(a)==="popper"?[e(l).filterSearch.value,e(l).filterState.value]:void 0,"data-state":e(l).open.value?"open":"closed","data-empty":t.value?"":void 0,style:{display:o.hideWhenEmpty&&t.value?"none":"flex",flexDirection:"column",outline:"none",...e(a)==="popper"?V:{}}}),{default:u(()=>[v(B.$slots,"default")]),_:3},16,["id","memo-dependencies","data-state","data-empty","style"]))]),_:3},8,["disable-outside-pointer-events"])]),_:3})]),_:3}))}}),ca=pa,fa=L({__name:"ComboboxArrow",props:{width:{type:Number,required:!1,default:10},height:{type:Number,required:!1,default:5},rounded:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"svg"}},setup(m){const f=m,o=D(),s=ua();return Q(),(a,l)=>e(o).open.value&&e(s).position.value==="popper"?(n(),c(e(xt),te(C({key:0},f)),{default:u(()=>[v(a.$slots,"default")]),_:3},16)):A("v-if",!0)}}),ma=fa,ga=L({__name:"ComboboxCancel",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(m){const f=m;Q();const o=D();function s(){o.filterSearch.value="",o.inputElement.value&&(o.inputElement.value.value="",o.inputElement.value.focus()),o.resetModelValueOnClear?.value&&(o.modelValue.value=o.multiple.value?[]:null)}return(a,l)=>(n(),c(e(le),C({type:a.as==="button"?"button":void 0},f,{tabindex:"-1",onClick:s}),{default:u(()=>[v(a.$slots,"default")]),_:3},16,["type"]))}}),va=ga,ba=L({__name:"ComboboxContent",props:{forceMount:{type:Boolean,required:!1},position:{type:String,required:!1},bodyLock:{type:Boolean,required:!1},hideWhenEmpty:{type:Boolean,required:!1},memoDependencies:{type:Array,required:!1},side:{type:null,required:!1},sideOffset:{type:Number,required:!1},sideFlip:{type:Boolean,required:!1},align:{type:null,required:!1},alignOffset:{type:Number,required:!1},alignFlip:{type:Boolean,required:!1},avoidCollisions:{type:Boolean,required:!1},collisionBoundary:{type:null,required:!1},collisionPadding:{type:[Number,Object],required:!1},arrowPadding:{type:Number,required:!1},hideShiftedArrow:{type:Boolean,required:!1},sticky:{type:String,required:!1},hideWhenDetached:{type:Boolean,required:!1},positionStrategy:{type:String,required:!1},updatePositionStrategy:{type:String,required:!1},disableUpdateOnLayoutShift:{type:Boolean,required:!1},prioritizePosition:{type:Boolean,required:!1},reference:{type:null,required:!1},dir:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1},disableOutsidePointerEvents:{type:Boolean,required:!1}},emits:["escapeKeyDown","pointerDownOutside","focusOutside","interactOutside"],setup(m,{emit:f}){const a=Ct(m,f),{forwardRef:l}=Q(),t=D();return t.contentId||=Ie(void 0,"reka-combobox-content"),(p,b)=>(n(),c(e(qt),{present:p.forceMount||e(t).open.value},{default:u(()=>[y(ca,C({...e(a),...p.$attrs},{ref:e(l)}),{default:u(()=>[v(p.$slots,"default")]),_:3},16)]),_:3},8,["present"]))}}),ya=ba,ha=L({__name:"ComboboxEmpty",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(m){const f=m,o=D(),s=w(()=>o.ignoreFilter.value?o.allItems.value.size===0:o.filterState.value.count===0);return(a,l)=>s.value?(n(),c(e(le),te(C({key:0},f)),{default:u(()=>[v(a.$slots,"default",{},()=>[l[0]||(l[0]=ee("No options"))])]),_:3},16)):A("v-if",!0)}}),_a=ha;const[Qe,xa]=Te("ComboboxGroup");var Ca=L({__name:"ComboboxGroup",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(m){const f=m,o=Ie(void 0,"reka-combobox-group"),s=D(),a=w(()=>s.ignoreFilter.value?!0:s.filterSearch.value?s.filterState.value.groups.has(o):!0),l=xa({id:o,labelId:""});return ae(()=>{s.allGroups.value.has(o)||s.allGroups.value.set(o,new Set)}),Fe(()=>{s.allGroups.value.delete(o)}),(t,p)=>(n(),c(e(Qt),C({id:e(o),"aria-labelledby":e(l).labelId},f,{hidden:a.value?void 0:!0}),{default:u(()=>[v(t.$slots,"default")]),_:3},16,["id","aria-labelledby","hidden"]))}}),Oe=Ca,qa=L({__name:"ComboboxInput",props:{displayValue:{type:Function,required:!1},modelValue:{type:String,required:!1},autoFocus:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"input"}},emits:["update:modelValue"],setup(m,{emit:f}){const o=m,s=f,a=D(),l=Zt(),{primitiveElement:t,currentElement:p}=Ee(),b=Le(o,"modelValue",s,{passive:o.modelValue===void 0});ae(()=>{p.value&&a.onInputElementChange(p.value)});const{isComposing:E,handleCompositionStart:_,handleCompositionEnd:V}=St(g=>{const k=g.target;k&&M(k.value)});function T(g){E.value||(g.preventDefault(),a.open.value||a.onOpenChange(!0))}function M(g){a.open.value?a.filterSearch.value=g:(a.onOpenChange(!0),Ce(()=>{g&&(a.filterSearch.value=g,l.highlightFirstItem())}))}function B(g){E.value||M(g.target.value)}function q(){a.openOnFocus.value&&!a.open.value&&a.onOpenChange(!0)}function I(g){if(!a.open.value)return;const k=g.relatedTarget;if(!k)return;const j=a.parentElement.value?.contains(k),ie=document.getElementById(a.contentId)?.contains(k);!j&&!ie&&requestAnimationFrame(()=>{if(!a.open.value)return;const U=document.activeElement;!a.parentElement.value?.contains(U)&&!document.getElementById(a.contentId)?.contains(U)&&a.onOpenChange(!1)})}function K(){a.openOnClick.value&&!a.open.value&&a.onOpenChange(!0)}function N(){const g=a.modelValue.value;o.displayValue?b.value=o.displayValue(g):!a.multiple.value&&g&&!Array.isArray(g)&&typeof g!="object"?b.value=g.toString():b.value="",Ce(()=>{b.value=b.value})}return a.onResetSearchTerm(()=>{N()}),Ae(a.modelValue,async()=>{!a.isUserInputted.value&&a.resetSearchTermOnSelect.value&&N()},{immediate:!0,deep:!0}),Ae(a.filterState,(g,k)=>{!a.isVirtual.value&&k.count===0&&l.highlightFirstItem()}),(g,k)=>(n(),c(e(Jt),{ref_key:"primitiveElement",ref:t,modelValue:e(b),"onUpdate:modelValue":k[0]||(k[0]=j=>Ye(b)?b.value=j:null),as:g.as,"as-child":g.asChild,"auto-focus":g.autoFocus,disabled:g.disabled,"aria-expanded":e(a).open.value,"aria-controls":e(a).contentId,"aria-autocomplete":"list",role:"combobox",autocomplete:"off",onClick:K,onInput:B,onKeydown:It(T,["down","up"]),onFocus:q,onBlur:I,onCompositionstart:e(_),onCompositionend:e(V)},{default:u(()=>[v(g.$slots,"default")]),_:3},8,["modelValue","as","as-child","auto-focus","disabled","aria-expanded","aria-controls","onCompositionstart","onCompositionend"]))}}),Ia=qa,Sa=L({__name:"ComboboxItem",props:{textValue:{type:String,required:!1},value:{type:null,required:!0},disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},emits:["select"],setup(m,{emit:f}){const o=m,s=f,a=Ie(void 0,"reka-combobox-item"),l=D(),t=Qe(null),{primitiveElement:p,currentElement:b}=Ee();if(o.value==="")throw new Error("A <ComboboxItem /> must have a value prop that is not an empty string. This is because the Combobox value can be set to an empty string to clear the selection and show the placeholder.");const E=w(()=>{if(l.isVirtual.value||l.ignoreFilter.value||!l.filterSearch.value)return!0;{const _=l.filterState.value.items.get(a);return _===void 0?!0:_>0}});return ae(()=>{l.allItems.value.set(a,o.textValue||b.value.textContent||b.value.innerText);const _=t?.id;_&&(l.allGroups.value.has(_)?l.allGroups.value.get(_)?.add(a):l.allGroups.value.set(_,new Set([a])))}),Fe(()=>{l.allItems.value.delete(a)}),(_,V)=>E.value?zt([E.value,e(l).filterSearch.value,e(l).disabled.value,_.disabled,o.value,o.as,o.asChild,...Object.values(_.$attrs)],()=>(n(),c(e(ea),C({key:0},o,{id:e(a),ref_key:"primitiveElement",ref:p,disabled:e(l).disabled.value||_.disabled,onSelect:V[0]||(V[0]=T=>{s("select",T),!T.defaultPrevented&&(!e(l).multiple.value&&!_.disabled&&!e(l).disabled.value?(T.preventDefault(),e(l).onOpenChange(!1),e(l).modelValue.value=o.value):e(l).multiple.value&&e(l).inputElement.value?.focus())})}),{default:u(()=>[v(_.$slots,"default",{},()=>[ee(X(_.value),1)])]),_:3},16,["id","disabled"])),V,1):A("v-if",!0)}}),We=Sa,za=L({__name:"ComboboxItemIndicator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"span"}},setup(m){const f=m;return(o,s)=>(n(),c(e(ta),te(me(f)),{default:u(()=>[v(o.$slots,"default")]),_:3},16))}}),wa=za,Ba=L({__name:"ComboboxLabel",props:{for:{type:String,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"div"}},setup(m){const f=m;Q();const o=Qe({id:"",labelId:""});return o.labelId||=Ie(void 0,"reka-combobox-group-label"),(s,a)=>(n(),c(e(le),C(f,{id:e(o).labelId}),{default:u(()=>[v(s.$slots,"default")]),_:3},16,["id"]))}}),ka=Ba,Oa=L({__name:"ComboboxPortal",props:{to:{type:null,required:!1},disabled:{type:Boolean,required:!1},defer:{type:Boolean,required:!1},forceMount:{type:Boolean,required:!1}},setup(m){const f=m;return(o,s)=>(n(),c(e(wt),te(me(f)),{default:u(()=>[v(o.$slots,"default")]),_:3},16))}}),La=Oa,Aa=L({__name:"ComboboxSeparator",props:{asChild:{type:Boolean,required:!1},as:{type:null,required:!1}},setup(m){const f=m;return Q(),(o,s)=>(n(),c(e(le),C(f,{"aria-hidden":"true"}),{default:u(()=>[v(o.$slots,"default")]),_:3},16))}}),Ea=Aa,Ta=L({__name:"ComboboxTrigger",props:{disabled:{type:Boolean,required:!1},asChild:{type:Boolean,required:!1},as:{type:null,required:!1,default:"button"}},setup(m){const f=m,{forwardRef:o,currentElement:s}=Q(),a=D(),l=w(()=>f.disabled||a.disabled.value||!1);return ae(()=>{s.value&&a.onTriggerElementChange(s.value)}),(t,p)=>(n(),c(e(le),C(f,{ref:e(o),type:t.as==="button"?"button":void 0,tabindex:"-1","aria-label":"Show popup","aria-haspopup":"listbox","aria-expanded":e(a).open.value,"aria-controls":e(a).contentId,"data-state":e(a).open.value?"open":"closed",disabled:l.value,"data-disabled":l.value?"":void 0,"aria-disabled":l.value??void 0,onClick:p[0]||(p[0]=b=>e(a).onOpenChange(!e(a).open.value))}),{default:u(()=>[v(t.$slots,"default")]),_:3},16,["type","aria-expanded","aria-controls","data-state","disabled","data-disabled","aria-disabled"]))}}),Fa=Ta,Va=L({__name:"ComboboxVirtualizer",props:{options:{type:Array,required:!0},overscan:{type:Number,required:!1},estimateSize:{type:[Number,Function],required:!1},textContent:{type:Function,required:!1}},setup(m){const f=m,o=D();return o.isVirtual.value=!0,(s,a)=>(n(),c(aa,te(me(f)),{default:u(l=>[v(s.$slots,"default",te(me(l)))]),_:3},16))}}),$a=Va;const Pa={slots:{base:["relative group rounded-md inline-flex items-center disabled:cursor-not-allowed disabled:opacity-75","transition-colors"],leading:"absolute inset-y-0 start-0 flex items-center",leadingIcon:"shrink-0 text-dimmed",leadingAvatar:"shrink-0",leadingAvatarSize:"",trailing:"absolute inset-y-0 end-0 flex items-center",trailingIcon:"shrink-0 text-dimmed",value:"truncate pointer-events-none",placeholder:"truncate text-dimmed",arrow:"fill-bg stroke-default",content:["max-h-[min(15rem,var(--reka-select-content-available-height,15rem))] w-(--reka-select-trigger-width) bg-default shadow-lg rounded-md ring ring-default overflow-hidden origin-(--reka-select-content-transform-origin) pointer-events-auto flex flex-col","max-h-[min(15rem,var(--reka-combobox-content-available-height,15rem))] origin-(--reka-combobox-content-transform-origin) w-(--reka-combobox-trigger-width)"],viewport:"relative scroll-py-1 overflow-y-auto flex-1",group:"p-1 isolate",empty:"text-center text-muted",label:"font-semibold text-highlighted",separator:"-mx-1 my-1 h-px bg-border",item:["group relative w-full flex items-start select-none outline-none before:absolute before:z-[-1] before:inset-px before:rounded-md data-disabled:cursor-not-allowed data-disabled:opacity-75 text-default data-highlighted:not-data-disabled:text-highlighted data-highlighted:not-data-disabled:before:bg-elevated/50","transition-colors before:transition-colors"],itemLeadingIcon:["shrink-0 text-dimmed group-data-highlighted:not-group-data-disabled:text-default","transition-colors"],itemLeadingAvatar:"shrink-0",itemLeadingAvatarSize:"",itemLeadingChip:"shrink-0",itemLeadingChipSize:"",itemTrailing:"ms-auto inline-flex gap-1.5 items-center",itemTrailingIcon:"shrink-0",itemWrapper:"flex-1 flex flex-col min-w-0",itemLabel:"truncate",itemDescription:"truncate text-muted",input:"border-b border-default",focusScope:"flex flex-col min-h-0",trailingClear:"p-0"},variants:{fieldGroup:{horizontal:"not-only:first:rounded-e-none not-only:last:rounded-s-none not-last:not-first:rounded-none focus-visible:z-[1]",vertical:"not-only:first:rounded-b-none not-only:last:rounded-t-none not-last:not-first:rounded-none focus-visible:z-[1]"},size:{xs:{base:"px-2 py-1 text-xs gap-1",leading:"ps-2",trailing:"pe-2",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4",label:"p-1 text-[10px]/3 gap-1",item:"p-1 text-xs gap-1",itemLeadingIcon:"size-4",itemLeadingAvatarSize:"3xs",itemLeadingChip:"size-4",itemLeadingChipSize:"sm",itemTrailingIcon:"size-4",empty:"p-2 text-xs"},sm:{base:"px-2.5 py-1.5 text-xs gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-4",leadingAvatarSize:"3xs",trailingIcon:"size-4",label:"p-1.5 text-[10px]/3 gap-1.5",item:"p-1.5 text-xs gap-1.5",itemLeadingIcon:"size-4",itemLeadingAvatarSize:"3xs",itemLeadingChip:"size-4",itemLeadingChipSize:"sm",itemTrailingIcon:"size-4",empty:"p-2.5 text-xs"},md:{base:"px-2.5 py-1.5 text-sm gap-1.5",leading:"ps-2.5",trailing:"pe-2.5",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5",label:"p-1.5 text-xs gap-1.5",item:"p-1.5 text-sm gap-1.5",itemLeadingIcon:"size-5",itemLeadingAvatarSize:"2xs",itemLeadingChip:"size-5",itemLeadingChipSize:"md",itemTrailingIcon:"size-5",empty:"p-2.5 text-sm"},lg:{base:"px-3 py-2 text-sm gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-5",leadingAvatarSize:"2xs",trailingIcon:"size-5",label:"p-2 text-xs gap-2",item:"p-2 text-sm gap-2",itemLeadingIcon:"size-5",itemLeadingAvatarSize:"2xs",itemLeadingChip:"size-5",itemLeadingChipSize:"md",itemTrailingIcon:"size-5",empty:"p-3 text-sm"},xl:{base:"px-3 py-2 text-base gap-2",leading:"ps-3",trailing:"pe-3",leadingIcon:"size-6",leadingAvatarSize:"xs",trailingIcon:"size-6",label:"p-2 text-sm gap-2",item:"p-2 text-base gap-2",itemLeadingIcon:"size-6",itemLeadingAvatarSize:"xs",itemLeadingChip:"size-6",itemLeadingChipSize:"lg",itemTrailingIcon:"size-6",empty:"p-3 text-base"}},variant:{outline:"text-highlighted bg-default ring ring-inset ring-accented hover:bg-elevated disabled:bg-default",soft:"text-highlighted bg-elevated/50 hover:bg-elevated focus:bg-elevated disabled:bg-elevated/50",subtle:"text-highlighted bg-elevated ring ring-inset ring-accented hover:bg-accented/75 disabled:bg-elevated",ghost:"text-highlighted bg-transparent hover:bg-elevated focus:bg-elevated disabled:bg-transparent dark:disabled:bg-transparent",none:"text-highlighted bg-transparent focus:outline-none"},color:{primary:"",secondary:"",success:"",info:"",warning:"",error:"",neutral:""},leading:{true:""},trailing:{true:""},loading:{true:""},highlight:{true:""},fixed:{false:""},type:{file:"file:me-1.5 file:font-medium file:text-muted file:outline-none"},position:{popper:{content:"data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in]"},"item-aligned":{content:""}},multiple:{true:""},virtualize:{true:{viewport:"p-1 isolate"},false:{viewport:"divide-y divide-default"}}},compoundVariants:[{color:"primary",variant:["outline","subtle"],class:"outline-primary/25 focus-visible:outline-3 focus-visible:ring-primary"},{color:"secondary",variant:["outline","subtle"],class:"outline-secondary/25 focus-visible:outline-3 focus-visible:ring-secondary"},{color:"success",variant:["outline","subtle"],class:"outline-success/25 focus-visible:outline-3 focus-visible:ring-success"},{color:"info",variant:["outline","subtle"],class:"outline-info/25 focus-visible:outline-3 focus-visible:ring-info"},{color:"warning",variant:["outline","subtle"],class:"outline-warning/25 focus-visible:outline-3 focus-visible:ring-warning"},{color:"error",variant:["outline","subtle"],class:"outline-error/25 focus-visible:outline-3 focus-visible:ring-error"},{color:"primary",variant:["soft","ghost"],class:"outline-primary/25 focus-visible:outline-3"},{color:"secondary",variant:["soft","ghost"],class:"outline-secondary/25 focus-visible:outline-3"},{color:"success",variant:["soft","ghost"],class:"outline-success/25 focus-visible:outline-3"},{color:"info",variant:["soft","ghost"],class:"outline-info/25 focus-visible:outline-3"},{color:"warning",variant:["soft","ghost"],class:"outline-warning/25 focus-visible:outline-3"},{color:"error",variant:["soft","ghost"],class:"outline-error/25 focus-visible:outline-3"},{color:"primary",highlight:!0,class:"ring ring-inset ring-primary"},{color:"secondary",highlight:!0,class:"ring ring-inset ring-secondary"},{color:"success",highlight:!0,class:"ring ring-inset ring-success"},{color:"info",highlight:!0,class:"ring ring-inset ring-info"},{color:"warning",highlight:!0,class:"ring ring-inset ring-warning"},{color:"error",highlight:!0,class:"ring ring-inset ring-error"},{color:"neutral",variant:["outline","subtle"],class:"outline-inverted/25 focus-visible:outline-3 focus-visible:ring-inverted"},{color:"neutral",variant:["soft","ghost"],class:"outline-inverted/25 focus-visible:outline-3"},{color:"neutral",highlight:!0,class:"ring ring-inset ring-inverted"},{leading:!0,size:"xs",class:"ps-7"},{leading:!0,size:"sm",class:"ps-8"},{leading:!0,size:"md",class:"ps-9"},{leading:!0,size:"lg",class:"ps-10"},{leading:!0,size:"xl",class:"ps-11"},{trailing:!0,size:"xs",class:"pe-7"},{trailing:!0,size:"sm",class:"pe-8"},{trailing:!0,size:"md",class:"pe-9"},{trailing:!0,size:"lg",class:"pe-10"},{trailing:!0,size:"xl",class:"pe-11"},{loading:!0,leading:!0,class:{leadingIcon:"animate-spin"}},{loading:!0,leading:!1,trailing:!0,class:{trailingIcon:"animate-spin"}},{fixed:!1,size:"xs",class:"md:text-xs"},{fixed:!1,size:"sm",class:"md:text-xs"},{fixed:!1,size:"md",class:"md:text-sm"},{fixed:!1,size:"lg",class:"md:text-sm"}],defaultVariants:{size:"md",color:"primary",variant:"outline",position:"popper"}},Ma=Object.assign({inheritAttrs:!1},{__name:"USelectMenu",props:Ge({id:{type:String,required:!1},placeholder:{type:String,required:!1},searchInput:{type:[Boolean,Object],required:!1,default:!0},color:{type:null,required:!1},variant:{type:null,required:!1},size:{type:null,required:!1},required:{type:Boolean,required:!1},trailingIcon:{type:null,required:!1},selectedIcon:{type:null,required:!1},clear:{type:[Boolean,Object],required:!1},clearIcon:{type:null,required:!1},content:{type:Object,required:!1},arrow:{type:[Boolean,Object],required:!1},portal:{type:[Boolean,String],required:!1,skipCheck:!0,default:!0},virtualize:{type:[Boolean,Object],required:!1,default:!1},valueKey:{type:null,required:!1},labelKey:{type:null,required:!1,default:"label"},descriptionKey:{type:null,required:!1,default:"description"},items:{type:null,required:!1},defaultValue:{type:null,required:!1},modelValue:{type:null,required:!1},modelModifiers:{type:null,required:!1},multiple:{type:Boolean,required:!1},highlight:{type:Boolean,required:!1},createItem:{type:[Boolean,String,Object],required:!1},filterFields:{type:Array,required:!1},ignoreFilter:{type:Boolean,required:!1},autofocus:{type:Boolean,required:!1},autofocusDelay:{type:Number,required:!1,default:0},class:{type:null,required:!1},ui:{type:Object,required:!1},open:{type:Boolean,required:!1},defaultOpen:{type:Boolean,required:!1},disabled:{type:Boolean,required:!1},name:{type:String,required:!1},resetSearchTermOnBlur:{type:Boolean,required:!1,default:!0},resetSearchTermOnSelect:{type:Boolean,required:!1,default:!0},resetModelValueOnClear:{type:Boolean,required:!1,default:!0},highlightOnHover:{type:Boolean,required:!1},by:{type:[String,Function],required:!1},icon:{type:null,required:!1},avatar:{type:Object,required:!1},leading:{type:Boolean,required:!1},leadingIcon:{type:null,required:!1},trailing:{type:Boolean,required:!1},loading:{type:Boolean,required:!1},loadingIcon:{type:null,required:!1}},{searchTerm:{type:String,default:""},searchTermModifiers:{}}),emits:Ge(["change","blur","focus","create","clear","highlight","update:modelValue","update:open"],["update:searchTerm"]),setup(m,{expose:f,emit:o}){const s=m,a=o,l=Bt(),t=kt("selectMenu",s),p=Ot(m,"searchTerm",{type:String,default:""}),{t:b}=Lt(),E=At(),{filterGroups:_}=Ht(),V=Et(Tt(t,"modelValue","defaultValue","open","defaultOpen","required","multiple","resetSearchTermOnBlur","resetSearchTermOnSelect","resetModelValueOnClear","highlightOnHover","by"),a),T=Ft(Y(()=>t.portal)),M=Y(()=>fe(t.content,{side:"bottom",sideOffset:8,collisionPadding:8,position:"popper"})),B=Y(()=>fe(t.arrow,{rounded:!0})),q=w(()=>typeof t.clear=="object"?t.clear:{}),I=Y(()=>t.virtualize?fe(typeof t.virtualize=="boolean"?{}:t.virtualize,{estimateSize:la(be.value,Z.value||"md",t.descriptionKey,!!l["item-description"])}):!1),K=Y(()=>fe(t.searchInput,{placeholder:b("selectMenu.search"),variant:"none"})),{emitFormBlur:N,emitFormFocus:g,emitFormInput:k,emitFormChange:j,size:ie,color:U,id:ne,name:ge,highlight:ue,disabled:de,ariaAttrs:Se}=Vt(s),{orientation:oe,size:ve}=$t(s),{isLeading:W,isTrailing:S,leadingIconName:$,trailingIconName:P}=Pt(Y(()=>fe(t,{trailingIcon:E.ui.icons.chevronDown}))),Z=w(()=>ve.value||ie.value),[pe,H]=Ne(),[re,Ve]=Ne({props:{item:{type:[Object,String,Number,Boolean],required:!0},index:{type:Number,required:!1}}}),d=w(()=>Gt({extend:Pa,...E.ui?.selectMenu||{}})({color:U.value??t.color,variant:t.variant,size:Z?.value??t.size,loading:t.loading,highlight:ue.value??t.highlight,leading:W.value||!!t.avatar||!!l.leading,trailing:S.value||!!l.trailing,fieldGroup:oe.value,virtualize:!!t.virtualize,multiple:t.multiple}));function Ze(r){if(t.multiple&&Array.isArray(r)){const x=r.map(i=>Ue($e.value,i,{labelKey:t.labelKey,valueKey:t.valueKey,by:t.by})).filter(i=>i!=null&&i!=="");return x.length>0?x.join(", "):void 0}return Ue($e.value,r,{labelKey:t.labelKey,valueKey:t.valueKey,by:t.by})}const ze=w(()=>t.items?.length?Wt(t.items)?t.items:[t.items]:[]),$e=w(()=>ze.value.flatMap(r=>r)),Pe=w(()=>{if(t.ignoreFilter||!p.value)return ze.value;const r=Array.isArray(t.filterFields)?t.filterFields:[t.labelKey];return _(ze.value,p.value,{fields:r,isStructural:x=>z(x)&&!!x.type&&["label","separator"].includes(x.type)})}),be=w(()=>Pe.value.flatMap(r=>r)),ye=w(()=>{if(!t.createItem||!p.value)return!1;const r=t.valueKey?{[t.valueKey]:p.value}:p.value;return typeof t.createItem=="object"&&t.createItem.when==="always"||t.createItem==="always"?!be.value.find(x=>Ut(x,r,t.by??t.valueKey)):!be.value.length}),he=w(()=>typeof t.createItem=="object"?t.createItem.position:"bottom"),we=Be("triggerRef");function Je(){t.autofocus&&we.value?.$el?.focus({focusVisible:!0})}ae(()=>{setTimeout(()=>{Je()},t.autofocusDelay)});function et(r){if(Nt(t.modelValue)===r)return;t.modelModifiers?.trim&&(typeof r=="string"||r===null||r===void 0)&&(r=r?.trim()??null),t.modelModifiers?.number&&(r=jt(r)),t.modelModifiers?.nullable&&(r??=null),t.modelModifiers?.optional&&!t.modelModifiers?.nullable&&r!==null&&(r??=void 0);const x=new Event("change",{target:{value:r}});a("change",x),j(),k(),t.resetSearchTermOnSelect&&(p.value="")}const Re=G(!1);function tt(r){Re.value=r;let x;if(r){const i=new FocusEvent("focus");a("focus",i),g(),clearTimeout(x)}else{const i=new FocusEvent("blur");a("blur",i),N(),t.resetSearchTermOnBlur&&(x=setTimeout(()=>{p.value=""},100))}}function at(r){r.preventDefault(),r.stopPropagation(),a("create",p.value)}function lt(r,x){if(z(x)){if(x.disabled){r.preventDefault();return}x.onSelect?.(r)}}function z(r){return typeof r=="object"&&r!==null}function it(r){return t.multiple&&Array.isArray(r)?r.length===0:r==null||r===""}function ot(){a("clear")}const De=Be("viewportRef"),Me=Be("comboboxRootRef");return Ae(()=>t.items,async()=>{!Re.value||!t.createItem||(await Ce(),Me.value?.highlightFirstItem?.())},{flush:"post"}),f({triggerRef:Y(()=>we.value?.$el),viewportRef:Y(()=>De.value)}),(r,x)=>(n(),F(J,null,[y(e(pe),null,{default:u(()=>[y(e(We),{"data-slot":"item",class:h(d.value.item({class:e(t).ui?.item})),value:p.value,onSelect:at},{default:u(()=>[ce("span",{"data-slot":"itemLabel",class:h(d.value.itemLabel({class:e(t).ui?.itemLabel}))},[v(r.$slots,"create-item-label",{item:p.value},()=>[ee(X(e(b)("selectMenu.create",{label:p.value})),1)])],2)]),_:3},8,["class","value"])]),_:3}),y(e(re),null,{default:u(({item:i,index:R})=>[z(i)&&i.type==="label"?(n(),c(e(ka),{key:0,"data-slot":"label",class:h(d.value.label({class:[e(t).ui?.label,i.ui?.label,i.class]}))},{default:u(()=>[ee(X(e(se)(i,e(t).labelKey)),1)]),_:2},1032,["class"])):z(i)&&i.type==="separator"?(n(),c(e(Ea),{key:1,"data-slot":"separator",class:h(d.value.separator({class:[e(t).ui?.separator,i.ui?.separator,i.class]}))},null,8,["class"])):(n(),c(e(We),{key:2,"data-slot":"item",class:h(d.value.item({class:[e(t).ui?.item,z(i)&&i.ui?.item,z(i)&&i.class]})),disabled:z(i)&&i.disabled,value:e(t).valueKey&&z(i)?e(se)(i,e(t).valueKey):i,onSelect:O=>lt(O,i)},{default:u(()=>[v(r.$slots,"item",{item:i,index:R,ui:d.value},()=>[v(r.$slots,"item-leading",{item:i,index:R,ui:d.value},()=>[z(i)&&i.icon?(n(),c(xe,{key:0,name:i.icon,"data-slot":"itemLeadingIcon",class:h(d.value.itemLeadingIcon({class:[e(t).ui?.itemLeadingIcon,i.ui?.itemLeadingIcon]}))},null,8,["name","class"])):z(i)&&i.avatar?(n(),c(je,C({key:1,size:i.ui?.itemLeadingAvatarSize||e(t).ui?.itemLeadingAvatarSize||d.value.itemLeadingAvatarSize()},i.avatar,{"data-slot":"itemLeadingAvatar",class:d.value.itemLeadingAvatar({class:[e(t).ui?.itemLeadingAvatar,i.ui?.itemLeadingAvatar]})}),null,16,["size","class"])):z(i)&&i.chip?(n(),c(Rt,C({key:2,size:i.ui?.itemLeadingChipSize||e(t).ui?.itemLeadingChipSize||d.value.itemLeadingChipSize(),inset:"",standalone:""},i.chip,{"data-slot":"itemLeadingChip",class:d.value.itemLeadingChip({class:[e(t).ui?.itemLeadingChip,i.ui?.itemLeadingChip]})}),null,16,["size","class"])):A("",!0)]),ce("span",{"data-slot":"itemWrapper",class:h(d.value.itemWrapper({class:[e(t).ui?.itemWrapper,z(i)&&i.ui?.itemWrapper]}))},[ce("span",{"data-slot":"itemLabel",class:h(d.value.itemLabel({class:[e(t).ui?.itemLabel,z(i)&&i.ui?.itemLabel]}))},[v(r.$slots,"item-label",{item:i,index:R},()=>[ee(X(z(i)?e(se)(i,e(t).labelKey):i),1)])],2),z(i)&&(e(se)(i,e(t).descriptionKey)||l["item-description"])?(n(),F("span",{key:0,"data-slot":"itemDescription",class:h(d.value.itemDescription({class:[e(t).ui?.itemDescription,z(i)&&i.ui?.itemDescription]}))},[v(r.$slots,"item-description",{item:i,index:R},()=>[ee(X(e(se)(i,e(t).descriptionKey)),1)])],2)):A("",!0)],2),ce("span",{"data-slot":"itemTrailing",class:h(d.value.itemTrailing({class:[e(t).ui?.itemTrailing,z(i)&&i.ui?.itemTrailing]}))},[v(r.$slots,"item-trailing",{item:i,index:R,ui:d.value}),y(e(wa),{"as-child":""},{default:u(()=>[y(xe,{name:e(t).selectedIcon||e(E).ui.icons.check,"data-slot":"itemTrailingIcon",class:h(d.value.itemTrailingIcon({class:[e(t).ui?.itemTrailingIcon,z(i)&&i.ui?.itemTrailingIcon]}))},null,8,["name","class"])]),_:2},1024)],2)])]),_:2},1032,["class","disabled","value","onSelect"]))]),_:3}),y(e(ra),C({ref_key:"comboboxRootRef",ref:Me},e(V),{"ignore-filter":"","as-child":"",name:e(ge),disabled:e(de),"onUpdate:modelValue":et,"onUpdate:open":tt}),{default:u(({modelValue:i,open:R})=>[y(e(na),{"as-child":""},{default:u(()=>[y(e(Fa),C({id:e(ne),ref_key:"triggerRef",ref:we,"data-slot":"base",class:d.value.base({class:[e(t).ui?.base,e(t).class]}),tabindex:"0"},{...r.$attrs,...e(Se)}),{default:u(()=>[e(W)||e(t).avatar||l.leading?(n(),F("span",{key:0,"data-slot":"leading",class:h(d.value.leading({class:e(t).ui?.leading}))},[v(r.$slots,"leading",{modelValue:i,open:R,ui:d.value},()=>[e(W)&&e($)?(n(),c(xe,{key:0,name:e($),"data-slot":"leadingIcon",class:h(d.value.leadingIcon({class:e(t).ui?.leadingIcon}))},null,8,["name","class"])):e(t).avatar?(n(),c(je,C({key:1,size:e(t).ui?.itemLeadingAvatarSize||d.value.itemLeadingAvatarSize()},e(t).avatar,{"data-slot":"itemLeadingAvatar",class:d.value.itemLeadingAvatar({class:e(t).ui?.itemLeadingAvatar})}),null,16,["size","class"])):A("",!0)])],2)):A("",!0),v(r.$slots,"default",{modelValue:i,open:R,ui:d.value},()=>[(n(!0),F(J,null,ke([Ze(i)],O=>(n(),F(J,{key:O},[O!=null?(n(),F("span",{key:0,"data-slot":"value",class:h(d.value.value({class:e(t).ui?.value}))},X(O),3)):(n(),F("span",{key:1,"data-slot":"placeholder",class:h(d.value.placeholder({class:e(t).ui?.placeholder}))},X(e(t).placeholder??" "),3))],64))),128))]),e(S)||l.trailing||e(t).clear?(n(),F("span",{key:1,"data-slot":"trailing",class:h(d.value.trailing({class:e(t).ui?.trailing}))},[v(r.$slots,"trailing",{modelValue:i,open:R,ui:d.value},()=>[e(t).clear&&!it(i)?(n(),c(e(va),{key:0,"as-child":""},{default:u(()=>[y(Dt,C({as:"span",icon:e(t).clearIcon||e(E).ui.icons.close,size:Z.value,variant:"link",color:"neutral",tabindex:"-1"},q.value,{"data-slot":"trailingClear",class:d.value.trailingClear({class:e(t).ui?.trailingClear}),onClick:qe(ot,["stop"])}),null,16,["icon","size","class"])]),_:1})):e(P)?(n(),c(xe,{key:1,name:e(P),"data-slot":"trailingIcon",class:h(d.value.trailingIcon({class:e(t).ui?.trailingIcon}))},null,8,["name","class"])):A("",!0)])],2)):A("",!0)]),_:2},1040,["id","class"])]),_:2},1024),y(e(La),te(me(e(T))),{default:u(()=>[y(e(Mt),null,{default:u(()=>[y(e(ya),C({"data-slot":"content",class:d.value.content({class:e(t).ui?.content})},M.value),{default:u(()=>[y(e(Xe),{trapped:"","data-slot":"focusScope",class:h(d.value.focusScope({class:e(t).ui?.focusScope}))},{default:u(()=>[v(r.$slots,"content-top"),e(t).searchInput?(n(),c(e(Ia),{key:0,modelValue:p.value,"onUpdate:modelValue":x[1]||(x[1]=O=>p.value=O),"display-value":()=>p.value,"as-child":""},{default:u(()=>[y(Kt,C({autofocus:"",autocomplete:"off",size:Z.value},K.value,{"model-modifiers":{trim:e(t).modelModifiers?.trim},"data-slot":"input",class:d.value.input({class:e(t).ui?.input}),onChange:x[0]||(x[0]=qe(()=>{},["stop"]))}),null,16,["size","model-modifiers","class"])]),_:1},8,["modelValue","display-value"])):A("",!0),y(e(_a),{"data-slot":"empty",class:h(d.value.empty({class:e(t).ui?.empty}))},{default:u(()=>[v(r.$slots,"empty",{searchTerm:p.value},()=>[ee(X(p.value?e(b)("selectMenu.noMatch",{searchTerm:p.value}):e(b)("selectMenu.noData")),1)])]),_:3},8,["class"]),ce("div",{ref_key:"viewportRef",ref:De,role:"presentation","data-slot":"viewport",class:h(d.value.viewport({class:e(t).ui?.viewport}))},[e(t).virtualize?(n(),F(J,{key:0},[ye.value&&he.value==="top"?(n(),c(e(H),{key:0})):A("",!0),y(e($a),C({options:be.value,"text-content":O=>z(O)?e(se)(O,e(t).labelKey):String(O)},I.value),{default:u(({option:O,virtualItem:_e})=>[y(e(Ve),{item:O,index:_e.index},null,8,["item","index"])]),_:1},16,["options","text-content"]),ye.value&&he.value==="bottom"?(n(),c(e(H),{key:1})):A("",!0)],64)):(n(),F(J,{key:1},[ye.value&&he.value==="top"?(n(),c(e(Oe),{key:0,"data-slot":"group",class:h(d.value.group({class:e(t).ui?.group}))},{default:u(()=>[y(e(H))]),_:1},8,["class"])):A("",!0),(n(!0),F(J,null,ke(Pe.value,(O,_e)=>(n(),c(e(Oe),{key:`group-${_e}`,"data-slot":"group",class:h(d.value.group({class:e(t).ui?.group}))},{default:u(()=>[(n(!0),F(J,null,ke(O,(rt,Ke)=>(n(),c(e(Ve),{key:`group-${_e}-${Ke}`,item:rt,index:Ke},null,8,["item","index"]))),128))]),_:2},1032,["class"]))),128)),ye.value&&he.value==="bottom"?(n(),c(e(Oe),{key:1,"data-slot":"group",class:h(d.value.group({class:e(t).ui?.group}))},{default:u(()=>[y(e(H))]),_:1},8,["class"])):A("",!0)],64))],2),v(r.$slots,"content-bottom")]),_:3},8,["class"]),e(t).arrow?(n(),c(e(ma),C({key:0},B.value,{"data-slot":"arrow",class:d.value.arrow({class:e(t).ui?.arrow})}),null,16,["class"])):A("",!0)]),_:3},16,["class"])]),_:3})]),_:3},16)]),_:3},16,["name","disabled"])],64))}});export{Ma as _};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ab as b,K as E}from"./
|
|
1
|
+
import{ab as b,K as E}from"./BPKwYP2Q.js";const v="piwi-demo-run-events";let o=null;const u=new Set;function S(e){return o||(o=new BroadcastChannel(v),o.onmessage=n=>{for(const l of u)l(n.data)}),u.add(e),()=>{u.delete(e),u.size===0&&o&&(o.close(),o=null)}}let t=null,r=null;const s=new Set;let i=null;const p=1e3,w=3e4,y=[5*6e4,15*6e4,30*6e4];let a=Date.now(),c=!1;function f(){a=Date.now()}function h(){const e=Date.now()-a;let n=1;for(const l of y)if(e>=l)n*=2;else break;return Math.min(p*n,w)}const C=new Set(["run-initialising","run-started","run-finalizing","run-finished","run-submitted","run-cancelled"]);function d(e){C.has(e)&&(i&&clearTimeout(i),i=setTimeout(()=>{for(const n of s)n()},h()))}function m(){t||(t=new EventSource("/api/stream"),t.onmessage=e=>{try{const n=JSON.parse(e.data);d(n.type)}catch{}},t.onerror=()=>{})}function g(){if(f(),document.visibilityState==="hidden")t&&(t.close(),t=null),i&&(clearTimeout(i),i=null);else if(s.size>0){m();for(const e of s)e()}}function A(){if(!c){c=!0;const e=["mousemove","keydown","pointerdown","scroll"];for(const n of e)window.addEventListener(n,f,{passive:!0});document.addEventListener("visibilitychange",g)}if(E().public.demoMode){if(r)return;r=S(e=>{e.scope==="global"&&d(e.event.type)});return}document.visibilityState!=="hidden"&&m()}function T(){s.size>0||(t&&(t.close(),t=null),r&&(r(),r=null),i&&(clearTimeout(i),i=null))}function N(e){A(),s.add(e),b(()=>{s.delete(e),T()})}export{S as s,N as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as p,aZ as f,f as r,g as n,K as g,o as s,k as o,c as m,i as t,m as a,_,q as h}from"./
|
|
1
|
+
import{d as p,aZ as f,f as r,g as n,K as g,o as s,k as o,c as m,i as t,m as a,_,q as h}from"./BPKwYP2Q.js";import{_ as x}from"./DhA17dqR.js";import"./CQeMb57w.js";import"./r3SBLxtE.js";import"./DuMv-ugy.js";import"./B7yG1G_l.js";const b={key:0,class:"flex max-sm:flex-col justify-between items-start gap-4"},k={key:1,class:"text-sm text-muted"},N=p({__name:"index",setup(v){const i=g().public.demoMode,{isResetting:d,resetDemo:c}=f();return(C,e)=>{const l=_,u=x;return s(),r(u,{icon:"i-lucide-settings",title:"General settings",help:"settings.general"},{actions:n(()=>[o(i)?(s(),r(l,{key:0,color:"error",variant:"soft",icon:"i-lucide-refresh-cw",loading:o(d),onClick:o(c)},{default:n(()=>[...e[0]||(e[0]=[a(" Reset demo ",-1)])]),_:1},8,["loading","onClick"])):h("",!0)]),default:n(()=>[o(i)?(s(),m("div",b,[...e[1]||(e[1]=[t("div",null,[t("p",{class:"font-medium text-sm"},"Reset demo data"),t("p",{class:"text-sm text-muted"}," Wipe the in-browser database and reload with fresh sample data dated to the current moment. All changes made during this demo session will be lost. ")],-1)])])):(s(),m("div",k,[...e[2]||(e[2]=[t("p",null," Appearance and theme are in the top bar. Use the sidebar to manage your account, users, AI diagnosis, notifications, storage, and tags. ",-1),t("p",{class:"mt-2"},[a(" Settings that can be overridden by "),t("code",{class:"font-mono text-xs"},"PIWI_*"),a(" environment variables show a lock badge with the variable name — hover the help icon on any card to see which env var backs a setting. ")],-1)])]))]),_:1})}}});export{N as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as C,u as I,a as F,b as S,c as g,j as t,g as n,o as i,k as e,f as h,F as T,q as j,i as d,H as A,D as M,l as k,_ as D,m as b,t as x,x as z,v as E,h as V,r as u}from"./
|
|
1
|
+
import{d as C,u as I,a as F,b as S,c as g,j as t,g as n,o as i,k as e,f as h,F as T,q as j,i as d,H as A,D as M,l as k,_ as D,m as b,t as x,x as z,v as E,h as V,r as u}from"./BPKwYP2Q.js";import{_ as H}from"./Br2K9yi_.js";import{_ as L}from"./DdbrJwT-.js";import{_ as O}from"./B7yG1G_l.js";import"./DRtTLQri.js";const G={class:"min-h-screen flex items-center justify-center bg-elevated/50"},J={class:"flex items-center gap-2"},K={class:"text-2xl font-bold"},Q={class:"mt-4 text-center"},te=C({__name:"reset-password",setup(W){const f=I(),U=F(),$=S(),m=V(()=>f.query.token),p=V(()=>f.query.mode==="invite"),o=u(""),c=u(""),r=u(!1),a=u("");async function B(){if(a.value="",!m.value){a.value="Missing reset token";return}if(o.value.length<8){a.value="Password must be at least 8 characters";return}if(o.value!==c.value){a.value="Passwords do not match";return}r.value=!0;try{await $fetch("/api/auth/reset-password",{method:"POST",body:{token:m.value,password:o.value}}),$.add({title:p.value?"Account activated!":"Password reset!",color:"success"}),U.push("/login")}catch(l){const s=l&&typeof l=="object"&&"data"in l?l.data?.message:void 0;a.value=s||"Invalid or expired link"}finally{r.value=!1}}return(l,s)=>{const N=E,v=H,w=M,y=L,P=D,R=z,q=O;return i(),g("div",G,[t(q,{class:"w-full max-w-md"},{header:n(()=>[d("div",J,[t(N,{name:"i-lucide-lock",class:"size-6"}),d("h1",K,x(e(p)?"Set your password":"Reset your password"),1)])]),default:n(()=>[e(m)?(i(),g(T,{key:1},[e(a)?(i(),h(v,{key:0,color:"error",title:e(a),variant:"subtle",class:"mb-4"},null,8,["title"])):j("",!0),d("form",{class:"space-y-4",onSubmit:A(B,["prevent"])},[t(y,{label:"New password",name:"password",required:""},{default:n(()=>[t(w,{modelValue:e(o),"onUpdate:modelValue":s[0]||(s[0]=_=>k(o)?o.value=_:null),type:"password",placeholder:"Min 8 characters",autocomplete:"new-password",disabled:e(r),class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),t(y,{label:"Confirm password",name:"confirmPassword",required:""},{default:n(()=>[t(w,{modelValue:e(c),"onUpdate:modelValue":s[1]||(s[1]=_=>k(c)?c.value=_:null),type:"password",placeholder:"Repeat password",autocomplete:"new-password",disabled:e(r),class:"w-full"},null,8,["modelValue","disabled"])]),_:1}),t(P,{type:"submit",block:"",loading:e(r)},{default:n(()=>[b(x(e(p)?"Activate account":"Reset password"),1)]),_:1},8,["loading"])],32)],64)):(i(),h(v,{key:0,color:"error",title:"Invalid link",description:"This link is missing or malformed."})),d("div",Q,[t(R,{to:"/login",class:"text-sm text-gray-500 hover:text-gray-700 dark:hover:text-gray-300"},{default:n(()=>[...s[2]||(s[2]=[b(" Back to login ",-1)])]),_:1})])]),_:1})])}}});export{te as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as n,o as s,c as o,j as c,v as r,i as l,t as i,T as d,p as m}from"./
|
|
1
|
+
import{d as n,o as s,c as o,j as c,v as r,i as l,t as i,T as d,p as m}from"./BPKwYP2Q.js";const _={class:"text-sm text-red-500"},p=n({__name:"ErrorState",props:{text:{},icon:{default:"i-lucide-circle-alert"},padded:{type:Boolean,default:!0}},setup(e){return(t,u)=>{const a=r;return s(),o("div",{role:"alert",class:m(["flex flex-col items-center justify-center gap-2 text-center",e.padded&&"p-4"])},[c(a,{name:e.icon,class:"size-5 text-red-400"},null,8,["name"]),l("p",_,i(e.text),1),d(t.$slots,"action")],2)}}}),f=Object.assign(p,{__name:"ErrorState"});export{f as _};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as j,a as S}from"./
|
|
1
|
+
import{_ as j,a as S}from"./BS0gKVuF.js";import{_ as U}from"./ABGJk0pu.js";import{d as A,b as B,w as F,at as P,c as $,k as s,f as D,q as E,j as d,g as u,o as w,i as a,l as N,m as o,t as R,_ as W,r as _,h as q}from"./BPKwYP2Q.js";import{_ as M}from"./DhA17dqR.js";import{p as O,g as z}from"./Bf62wdzp.js";import{u as G}from"./BIf1R_fu.js";import"./Br2K9yi_.js";import"./CQeMb57w.js";import"./r3SBLxtE.js";import"./DuMv-ugy.js";import"./bAfTAihV.js";import"./BpceIssd.js";import"./DdbrJwT-.js";import"./DRtTLQri.js";import"./B7yG1G_l.js";const H={class:"space-y-6"},I={class:"space-y-4"},J={class:"text-xs text-gray-400"},K={class:"flex items-center gap-2 justify-end"},ct=A({__name:"wasted-time",async setup(L){let c,m;const p=B(),{data:n,refresh:f}=([c,m]=F(()=>G("/api/settings/wasted-waits","$kqewcspFbq")),c=await c,m(),c),i=_(""),l=_(!1);P(()=>{n.value&&(i.value=n.value.patterns.join(`
|
|
2
2
|
`))});const r=q(()=>n.value?.envManaged??!1),g=O(z("wasted-time"));function y(e){return e.split(`
|
|
3
3
|
`).map(t=>t.trim()).filter(t=>t.length>0)}async function x(){l.value=!0;try{const e=await $fetch("/api/settings/wasted-waits",{method:"PUT",body:{patterns:y(i.value)}});n.value=e,p.add({title:"Wasted-time patterns saved",color:"success"}),await f()}catch(e){const t=e&&typeof e=="object"&&"data"in e?e.data?.message:void 0;p.add({title:"Save failed",description:t||"An error occurred",color:"error"})}finally{l.value=!1}}async function b(){l.value=!0;try{const e=await $fetch("/api/settings/wasted-waits",{method:"PUT",body:{patterns:null}});n.value=e,i.value=e.patterns.join(`
|
|
4
4
|
`),p.add({title:"Reset to defaults",color:"success"}),await f()}catch{p.add({title:"Reset failed",color:"error"})}finally{l.value=!1}}return(e,t)=>{const h=j,T=U,V=S,v=W,k=M;return w(),$("div",H,[s(r)?(w(),D(h,{key:0,"env-vars":s(g)},null,8,["env-vars"])):E("",!0),d(k,{icon:"i-lucide-hourglass",title:"Wasted-time patterns",help:"settings.wasted-time"},{subtitle:u(()=>[...t[1]||(t[1]=[o(" Define which wait steps count as ",-1),a("strong",null,"wasted time",-1),o(". A wait is wasted when any pattern below matches its step title or its source location. Patterns are case-insensitive and support ",-1),a("code",null,"*",-1),o(" and ",-1),a("code",null,"?",-1),o(" wildcards. Wasted time is recomputed when runs are viewed, so changes apply to existing runs immediately. ",-1)])]),footer:u(()=>[a("div",K,[d(v,{variant:"ghost",color:"neutral",disabled:s(l)||s(r),label:"Reset to defaults",onClick:b},null,8,["disabled"]),d(v,{color:"primary",loading:s(l),disabled:s(r),icon:"i-lucide-save",onClick:x},{default:u(()=>[...t[8]||(t[8]=[o(" Save ",-1)])]),_:1},8,["loading","disabled"])])]),default:u(()=>[a("div",I,[d(V,{label:"Patterns",help:"settings.wasted-time","env-managed":s(r),description:"One glob pattern per line. An empty list means no wait is counted as wasted."},{default:u(()=>[d(T,{modelValue:s(i),"onUpdate:modelValue":t[0]||(t[0]=C=>N(i)?i.value=C:null),rows:6,disabled:s(r),class:"w-full font-mono",placeholder:`Wait for timeout*
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{d as W,o as r,f as m,aI as b,k as e,g as u,T as O,v as x,q as n,h as _,m as P,E as M,l as v,j as D,c as l,t as p,i as E,F as L,y as C,r as k,_ as N}from"./BPKwYP2Q.js";import{H as U}from"./r3SBLxtE.js";import{u as H}from"./DuMv-ugy.js";const G="https://piwitests.github.io";function w(t){return`${G}/${t.replace(/^\//,"")}`}const B=W({__name:"DocLink",props:{to:{},noIcon:{type:Boolean}},setup(t){const a=t,h=_(()=>w(a.to));return(s,o)=>{const A=x,I=b;return r(),m(I,{to:e(h),target:"_blank",rel:"noopener noreferrer",class:"inline-flex items-center gap-1 text-primary hover:underline"},{default:u(()=>[O(s.$slots,"default",{},()=>[o[0]||(o[0]=P("Learn more",-1))]),t.noIcon?n("",!0):(r(),m(A,{key:0,name:"i-lucide-external-link",class:"w-3.5 h-3.5 shrink-0"}))]),_:3},8,["to"])}}}),X=Object.assign(B,{__name:"DocLink"}),y={PIWI_SITE_URL:{description:"Public base URL of the instance (e.g. https://piwi.example.com). Used to build links in emails.",category:"general",type:"url",example:"https://piwi.example.com",notes:"When unset, links in emails point to http://localhost:3000 and OAuth callback URLs are inferred from the request host — set it when running behind a reverse proxy."},PIWI_SECRET_KEY:{description:"Master key for AES-256-GCM encryption of secrets stored in the database (AI API keys, webhook/SCM secrets). Strongly recommended in production.",category:"general",secret:!0,example:"a 64-char random hex string",notes:"Falls back to an insecure built-in development key (with a startup warning in production). Generate one with `node -e \"console.log(require('node:crypto').randomBytes(32).toString('hex'))\"`."},PIWI_BUILD_DIR:{description:"Overrides the Nuxt build output directory. Used by the test harness to isolate parallel builds.",category:"build",runtimeOnly:!0,type:"path"},PIWI_BUILD_SHA:{description:"Commit SHA baked into the build for provenance. Shown on Settings → About. Set as a build-time arg.",category:"build",runtimeOnly:!0},PIWI_DESKTOP_TOKEN:{description:"Per-install access token the desktop (Tauri) app injects to gate its local server. Set automatically by the desktop shell — not user-configurable. Absent on the server build.",category:"desktop",secret:!0,runtimeOnly:!0,since:"0.16.0"},PIWI_DATABASE_PATH:{description:"Path to the SQLite database file (used when PIWI_DATABASE_URL is not set).",category:"database",type:"path",default:".data/piwi.db",relevantWhen:{PIWI_DATABASE_URL:""}},PIWI_DATABASE_URL:{description:"PostgreSQL connection string. When set, PostgreSQL is used instead of SQLite and migrations run automatically on startup.",category:"database",secret:!0,example:"postgres://piwi:piwi@db:5432/piwi",docs:"deployment#docker-compose-with-postgresql"},PIWI_RETENTION_DAYS:{description:"Days of test-run history the nightly retention sweep keeps. Unset or 0 disables automatic run pruning (the default — pruning is opt-in).",category:"database",type:"number",min:0,docs:"storage#data-retention"},PIWI_RETENTION_NOTIFICATION_DAYS:{description:"Days to keep sent/failed notification outbox rows before the nightly sweep prunes them (default 30; 0 keeps them forever).",category:"database",type:"number",default:"30",min:0},PIWI_RETENTION_DIAGNOSIS_VERSIONS:{description:"AI-diagnosis history versions kept per diagnosis by the nightly sweep (default 20; 0 disables capping).",category:"database",type:"number",default:"20",min:0},PIWI_STORAGE_TYPE:{description:'Storage backend for test artifacts (HTML reports, traces, attachments): "local" or "s3".',category:"storage",type:"enum",enum:["local","s3"],default:"local",notes:"Only the exact value `s3` selects S3; any other value falls back to local storage."},PIWI_STORAGE_PATH:{description:'Directory for local file storage (when PIWI_STORAGE_TYPE is "local").',category:"storage",type:"path",default:".data/storage",relevantWhen:{PIWI_STORAGE_TYPE:"local"}},PIWI_S3_BUCKET:{description:'S3 bucket name for artifact storage (when PIWI_STORAGE_TYPE is "s3").',category:"storage",relevantWhen:{PIWI_STORAGE_TYPE:"s3"},requiredWhen:{PIWI_STORAGE_TYPE:"s3"},docs:"storage#s3-compatible-storage"},PIWI_S3_REGION:{description:'S3 bucket region (when PIWI_STORAGE_TYPE is "s3").',category:"storage",example:"us-east-1",relevantWhen:{PIWI_STORAGE_TYPE:"s3"},requiredWhen:{PIWI_STORAGE_TYPE:"s3"}},PIWI_S3_ACCESS_KEY_ID:{description:"S3 access key id with write access to the bucket.",category:"storage",secret:!0,relevantWhen:{PIWI_STORAGE_TYPE:"s3"},requiredWhen:{PIWI_STORAGE_TYPE:"s3"}},PIWI_S3_SECRET_ACCESS_KEY:{description:"S3 secret access key.",category:"storage",secret:!0,relevantWhen:{PIWI_STORAGE_TYPE:"s3"},requiredWhen:{PIWI_STORAGE_TYPE:"s3"}},PIWI_S3_ENDPOINT:{description:"Custom endpoint for S3-compatible services (MinIO, R2, Spaces).",category:"storage",type:"url",example:"https://minio.example.com",relevantWhen:{PIWI_STORAGE_TYPE:"s3"}},PIWI_S3_FORCE_PATH_STYLE:{description:"Use path-style addressing (required by some S3-compatible services).",category:"storage",type:"boolean",relevantWhen:{PIWI_STORAGE_TYPE:"s3"},notes:"Defaults to on when a custom endpoint is set, off otherwise; only the exact value `false` turns it off explicitly."},PIWI_AUTH_ENABLED:{description:'Set to "true" to enable role-based access control and API keys. Off by default.',category:"auth",type:"boolean",default:"false"},PIWI_AUTH_SECRET:{description:"Secret used to sign/encrypt session cookies. Required when PIWI_AUTH_ENABLED is true.",category:"auth",secret:!0,relevantWhen:{PIWI_AUTH_ENABLED:"true"},requiredWhen:{PIWI_AUTH_ENABLED:"true"},notes:"The server refuses to start when auth is enabled and this is unset."},PIWI_OAUTH_GOOGLE_CLIENT_ID:{description:"Google OAuth client id (optional single sign-on).",category:"oauth",relevantWhen:{PIWI_AUTH_ENABLED:"true"},requiredWhen:{PIWI_OAUTH_GOOGLE_CLIENT_SECRET:"*"},docs:"authentication#oauth-google-github"},PIWI_OAUTH_GOOGLE_CLIENT_SECRET:{description:"Google OAuth client secret.",category:"oauth",secret:!0,relevantWhen:{PIWI_AUTH_ENABLED:"true"},requiredWhen:{PIWI_OAUTH_GOOGLE_CLIENT_ID:"*"}},PIWI_OAUTH_GITHUB_CLIENT_ID:{description:"GitHub OAuth client id (optional single sign-on).",category:"oauth",relevantWhen:{PIWI_AUTH_ENABLED:"true"},requiredWhen:{PIWI_OAUTH_GITHUB_CLIENT_SECRET:"*"},docs:"authentication#oauth-google-github"},PIWI_OAUTH_GITHUB_CLIENT_SECRET:{description:"GitHub OAuth client secret.",category:"oauth",secret:!0,relevantWhen:{PIWI_AUTH_ENABLED:"true"},requiredWhen:{PIWI_OAUTH_GITHUB_CLIENT_ID:"*"}},PIWI_OAUTH_ALLOWED_DOMAINS:{description:"Comma-separated verified email domains allowed to sign in via OAuth (all providers).",category:"oauth",type:"list",example:"example.com,corp.example.com",relevantWhen:{PIWI_AUTH_ENABLED:"true"},notes:"Only verified emails in these domains are accepted. Empty means no domain restriction."},PIWI_OAUTH_GITHUB_ALLOWED_ORGS:{description:"Comma-separated GitHub org logins a user must belong to (requests read:org scope).",category:"oauth",type:"list",relevantWhen:{PIWI_OAUTH_GITHUB_CLIENT_ID:"*"}},PIWI_AI_PROVIDER:{description:'AI provider for failure diagnosis: "anthropic" or "openai" (OpenAI-compatible).',category:"ai",type:"enum",enum:["anthropic","openai"]},PIWI_AI_API_KEY:{description:"API key for the diagnosis provider. Takes precedence over the DB-stored key.",category:"ai",secret:!0,relevantWhen:{PIWI_AI_PROVIDER:"*"},requiredWhen:{PIWI_AI_PROVIDER:"anthropic"},notes:"Optional for OpenAI-compatible providers that need no key (e.g. a local model)."},PIWI_AI_MODEL:{description:"Diagnosis model name (default: claude-opus-4-8 for Anthropic).",category:"ai",example:"claude-opus-4-8",relevantWhen:{PIWI_AI_PROVIDER:"*"},requiredWhen:{PIWI_AI_PROVIDER:"openai"}},PIWI_AI_BASE_URL:{description:"Base URL for OpenAI-compatible providers (e.g. http://localhost:11434/v1).",category:"ai",type:"url",example:"http://localhost:11434/v1",relevantWhen:{PIWI_AI_PROVIDER:"*"},requiredWhen:{PIWI_AI_PROVIDER:"openai"}},PIWI_AI_AUTO_DIAGNOSE:{description:'Set to "true" to auto-diagnose new failure clusters when a run finishes.',category:"ai",type:"boolean",default:"false",relevantWhen:{PIWI_AI_PROVIDER:"*"}},PIWI_AI_AUTO_DIAGNOSE_MAX:{description:"Max clusters auto-diagnosed per finished run (budget cap; default 3).",category:"ai",type:"number",default:"3",min:1,relevantWhen:{PIWI_AI_AUTO_DIAGNOSE:"true"}},PIWI_AI_RESEARCH_PROVIDER:{description:"Provider for the optional research (pre-analysis) stage. Falls back to PIWI_AI_PROVIDER.",category:"ai",type:"enum",enum:["anthropic","openai"],relevantWhen:{PIWI_AI_RESEARCH_MODEL:"*"}},PIWI_AI_RESEARCH_MODEL:{description:"Cheaper/faster model for the research stage. Empty disables the two-stage pipeline.",category:"ai",relevantWhen:{PIWI_AI_PROVIDER:"*"}},PIWI_AI_RESEARCH_BASE_URL:{description:"Base URL for the research-stage provider. Falls back to PIWI_AI_BASE_URL.",category:"ai",type:"url",relevantWhen:{PIWI_AI_RESEARCH_MODEL:"*"}},PIWI_AI_RESEARCH_API_KEY:{description:"API key for the research-stage provider. Falls back to PIWI_AI_API_KEY.",category:"ai",secret:!0,relevantWhen:{PIWI_AI_RESEARCH_MODEL:"*"}},PIWI_AI_EMBEDDING_PROVIDER:{description:"Provider for embeddings (semantic failure clustering). Falls back to PIWI_AI_PROVIDER.",category:"ai",type:"enum",enum:["openai"],relevantWhen:{PIWI_AI_EMBEDDING_MODEL:"*"},notes:'Must resolve to an OpenAI-compatible provider — Anthropic has no embeddings API — so the fallback only helps when the main provider is "openai".'},PIWI_AI_EMBEDDING_MODEL:{description:"Embedding model name (e.g. text-embedding-3-small).",category:"ai",example:"text-embedding-3-small",relevantWhen:{PIWI_AI_PROVIDER:"*"},notes:"Empty disables semantic clustering (and the embedding fallbacks)."},PIWI_AI_EMBEDDING_BASE_URL:{description:"Base URL for the embedding provider. Falls back to PIWI_AI_BASE_URL.",category:"ai",type:"url",relevantWhen:{PIWI_AI_EMBEDDING_MODEL:"*"}},PIWI_AI_EMBEDDING_API_KEY:{description:"API key for the embedding provider. Falls back to PIWI_AI_API_KEY.",category:"ai",secret:!0,relevantWhen:{PIWI_AI_EMBEDDING_MODEL:"*"}},PIWI_AI_MAX_SAMPLE_ERROR_CHARS:{description:"Max characters of raw error text (per error block).",category:"ai-limits",type:"number",default:"10000",min:200,max:5e4},PIWI_AI_MAX_SCM_PATCH_BUDGET:{description:"Total characters of diff patches across changed files.",category:"ai-limits",type:"number",default:"15000",min:0,max:5e4},PIWI_AI_MAX_AFFECTED_TESTS:{description:"Max affected tests listed in the diagnosis context.",category:"ai-limits",type:"number",default:"30",min:1,max:200},PIWI_AI_MAX_STEPS:{description:"Max recent test steps included.",category:"ai-limits",type:"number",default:"50",min:1,max:200},PIWI_AI_MAX_CONSOLE_ENTRIES:{description:"Max console error/warning entries included.",category:"ai-limits",type:"number",default:"30",min:0,max:200},PIWI_AI_MAX_CONSOLE_ENTRY_CHARS:{description:"Max characters per console entry.",category:"ai-limits",type:"number",default:"1000",min:50,max:5e3},PIWI_AI_MAX_NETWORK_REQUESTS:{description:"Max failed network requests included.",category:"ai-limits",type:"number",default:"25",min:0,max:200},PIWI_AI_MAX_ARIA_SNAPSHOT_CHARS:{description:"Max characters of the page ARIA snapshot.",category:"ai-limits",type:"number",default:"12000",min:0,max:5e4},PIWI_AI_MAX_TEST_SOURCE_CHARS:{description:"Max characters of the test source snippet.",category:"ai-limits",type:"number",default:"8000",min:0,max:5e4},PIWI_AI_MAX_SOURCE_FILES:{description:"Max full source files fetched from SCM to ground patches (0 disables).",category:"ai-limits",type:"number",default:"4",min:0,max:20},PIWI_AI_MAX_SOURCE_FILE_CHARS:{description:"Max characters per fetched full source file.",category:"ai-limits",type:"number",default:"12000",min:0,max:5e4},PIWI_AI_MAX_SERVER_LOG_ENTRIES:{description:"Max backend server log entries (from X-Piwi-Logs header) included.",category:"ai-limits",type:"number",default:"50",min:0,max:200},PIWI_AI_MAX_SERVER_LOG_ENTRY_CHARS:{description:"Max characters per backend server log entry.",category:"ai-limits",type:"number",default:"1000",min:50,max:5e3},PIWI_AI_MAX_SERVER_TRACE_SPANS:{description:"Max backend server spans (from X-Piwi-Trace header) included in AI diagnosis (0 disables).",category:"ai-limits",type:"number",default:"40",min:0,max:500,since:"0.16.0"},PIWI_AI_MAX_IMAGES:{description:"Max screenshots auto-included in the diagnosis context.",category:"ai-limits",type:"number",default:"5",min:0,max:20},PIWI_AI_MAX_PASSED_PEERS:{description:"Max peer tests in the same file listed when they passed.",category:"ai-limits",type:"number",default:"20",min:0,max:100},PIWI_AI_MAX_CONSOLE_WINDOW:{description:"Max console entries of any type in the window before failure.",category:"ai-limits",type:"number",default:"50",min:0,max:200},PIWI_AI_SLOW_REQUEST_MS:{description:"Network request duration (ms) threshold for flagging as slow.",category:"ai-limits",type:"number",default:"1500",min:100,max:3e4},PIWI_AI_MAX_TRACE_ACTIONS:{description:"Max actions extracted from trace ZIP for failing-action context (0 disables).",category:"ai-limits",type:"number",default:"10",min:0,max:50},PIWI_AI_TRACE_DOM_CHARS:{description:"Max characters for the trace-derived DOM/ARIA excerpt in failing-action context.",category:"ai-limits",type:"number",default:"6000",min:0,max:2e4},PIWI_AI_MAX_TRACE_STACK_FRAMES:{description:"Max call-stack frames (with source windows) from the trace call-stack section (0 disables).",category:"ai-limits",type:"number",default:"10",min:0,max:50},PIWI_AI_MAX_TRACE_NETWORK_REQUESTS:{description:"Max requests included from the trace network stream (0 disables).",category:"ai-limits",type:"number",default:"20",min:0,max:200},PIWI_AI_MAX_DOM_SNAPSHOT_CHARS:{description:"Max characters of the failure-time DOM snapshot rendered from the trace (0 disables).",category:"ai-limits",type:"number",default:"8000",min:0,max:5e4},PIWI_AI_IMAGE_MAX_EDGE:{description:"Screenshots are downscaled to at most this many pixels on the long edge before being sent.",category:"ai-limits",type:"number",default:"1920",min:512,max:8192},PIWI_INGEST_MAX_CONSOLE_ENTRIES:{description:"Max console entries stored per test execution.",category:"ingest",type:"number",default:"200",min:10,max:5e3},PIWI_INGEST_MAX_CONSOLE_ENTRY_CHARS:{description:"Max characters stored per console entry.",category:"ingest",type:"number",default:"2000",min:200,max:2e4},PIWI_INGEST_MAX_STEPS:{description:"Max test steps stored per execution.",category:"ingest",type:"number",default:"500",min:20,max:5e3},PIWI_INGEST_MAX_STEP_EVENTS:{description:"Max step events stored per execution.",category:"ingest",type:"number",default:"1000",min:20,max:1e4},PIWI_INGEST_MAX_ARIA_CHARS:{description:"Max characters of the ARIA snapshot stored per failing execution.",category:"ingest",type:"number",default:"100000",min:1e3,max:1e6},PIWI_INGEST_MAX_ERROR_CHARS:{description:"Max characters of error text stored per execution (head and tail are kept).",category:"ingest",type:"number",default:"20000",min:1e3,max:1e5},PIWI_INGEST_MAX_SAMPLE_ERROR_CHARS:{description:"Max characters of the sample error stored per failure cluster.",category:"ingest",type:"number",default:"50000",min:1e3,max:2e5},PIWI_INGEST_MAX_TEST_SOURCE_CHARS:{description:"Max characters of the test source snippet stored per failing execution.",category:"ingest",type:"number",default:"50000",min:1e3,max:2e5},PIWI_INGEST_MAX_SOURCE_FRAMES:{description:"Max source stack frames stored per failing execution.",category:"ingest",type:"number",default:"8",min:1,max:32},PIWI_INGEST_MAX_SOURCE_FRAME_CHARS:{description:"Max characters per stored source frame snippet.",category:"ingest",type:"number",default:"4000",min:500,max:2e4},PIWI_AUTO_MARKERS:{description:"Automatically create a timeline marker when a run’s environment, Playwright version, or reporter version changes from the previous run (default: enabled). Set to false to disable.",category:"markers",type:"boolean",default:"true",docs:"timeline-markers",notes:"Only the exact value `false` disables auto-markers."},PIWI_TEST_LOGS_DISABLED:{description:"Disable X-Piwi-Logs response header emission (default: auto-disabled in production, enabled in development).",category:"testing",type:"boolean",docs:"backend-logs",notes:"Unset: capture is on in development and off in production builds; `true` forces it off everywhere, `false` forces it on even in production."},PIWI_CLUSTER_SIMILARITY_THRESHOLD:{description:"Cosine similarity (0–1) above which two failure embeddings merge into one cluster.",category:"clustering",type:"number",default:"0.92",min:0,max:1,relevantWhen:{PIWI_AI_EMBEDDING_MODEL:"*"},notes:"Must be greater than 0 and at most 1; invalid values fall back to the default."},PIWI_CLUSTER_SUGGEST_THRESHOLD:{description:"Similarity at which a failure is suggested (not auto-merged) as related to a cluster.",category:"clustering",type:"number",default:"0.80",min:0,max:1,relevantWhen:{PIWI_AI_EMBEDDING_MODEL:"*"},notes:"Capped at the merge threshold."},PIWI_SMTP_HOST:{description:"SMTP server hostname for outbound email.",category:"smtp",example:"smtp.example.com"},PIWI_SMTP_PORT:{description:"SMTP port (default 587; 465 for implicit TLS).",category:"smtp",type:"number",default:"587",min:1,max:65535,relevantWhen:{PIWI_SMTP_HOST:"*"}},PIWI_SMTP_USER:{description:"SMTP username.",category:"smtp",relevantWhen:{PIWI_SMTP_HOST:"*"},requiredWhen:{PIWI_SMTP_HOST:"*"}},PIWI_SMTP_PASS:{description:"SMTP password. Never returned by the API.",category:"smtp",secret:!0,relevantWhen:{PIWI_SMTP_HOST:"*"},requiredWhen:{PIWI_SMTP_HOST:"*"}},PIWI_SMTP_FROM:{description:"From address for outbound email (e.g. noreply@example.com).",category:"smtp",example:"noreply@example.com",relevantWhen:{PIWI_SMTP_HOST:"*"},requiredWhen:{PIWI_SMTP_HOST:"*"}},PIWI_SMTP_FROM_NAME:{description:"Display name for the from address (optional).",category:"smtp",default:"Piwi Dashboard",relevantWhen:{PIWI_SMTP_HOST:"*"}},PIWI_SMTP_SECURE:{description:'Set to "true" for implicit TLS on port 465 (default false → STARTTLS/plain).',category:"smtp",type:"boolean",relevantWhen:{PIWI_SMTP_HOST:"*"},notes:"Defaults to on when the port is 465, off otherwise."},PIWI_WASTED_WAIT_PATTERNS:{description:"Glob patterns (comma or newline separated) defining which wait steps count as wasted time. Locks the UI when set.",category:"wasted-time",type:"list",default:"Wait for timeout*,*waitForTimeout*",notes:"Case-insensitive globs (`*` and `?`) matched against a wait step’s title or source location. Use `*` to count every wait."},PIWI_DEMO_MODE:{description:'Set to "true" to build the standalone client-side demo SPA (no server).',category:"demo",runtimeOnly:!0,type:"boolean"},PIWI_BASE_URL:{description:"Base URL the metadata test spec targets (defaults to http://localhost:3000).",category:"test",runtimeOnly:!0},PIWI_POSTGRES_TEST_URL:{description:"PostgreSQL connection string used by the Postgres test suite.",category:"test",runtimeOnly:!0,secret:!0},PIWI_S3_TEST_BUCKET:{description:"S3 bucket for the storage integration tests.",category:"test",runtimeOnly:!0},PIWI_S3_TEST_REGION:{description:"Region for the S3 storage integration tests.",category:"test",runtimeOnly:!0},PIWI_S3_TEST_ACCESS_KEY_ID:{description:"Access key id for the S3 storage integration tests.",category:"test",runtimeOnly:!0,secret:!0},PIWI_S3_TEST_SECRET_ACCESS_KEY:{description:"Secret access key for the S3 storage integration tests.",category:"test",runtimeOnly:!0,secret:!0},PIWI_S3_TEST_ENDPOINT:{description:"Custom endpoint for the S3 storage integration tests.",category:"test",runtimeOnly:!0},PIWI_MAILPIT_URL:{description:"Mailpit base URL; when set, the email/notification E2E tests run against it.",category:"test",runtimeOnly:!0},PIWI_MAILPIT_SMTP_PORT:{description:"SMTP port the email E2E tests send to (Mailpit).",category:"test",runtimeOnly:!0},PIWI_EMAIL_SERVER_URL:{description:"Base URL the email test spec targets.",category:"test",runtimeOnly:!0}};function f(t){return y[t]}function ie(t){return Object.keys(y).filter(a=>y[a].category===t)}const V={key:0,class:"font-medium mb-1"},Y={class:"text-muted"},q={key:1,class:"mt-2 space-y-1"},F={class:"text-muted text-xs"},K={class:"flex flex-col gap-1.5"},$=["title","onClick"],Q={class:"block font-mono text-xs bg-elevated rounded px-1.5 py-0.5 select-all cursor-pointer group-hover:ring-1 ring-default"},j={key:0,class:"block text-muted text-[11px] mt-0.5"},z={key:2,class:"mt-2 flex flex-col gap-1"},Z=W({__name:"HelpHint",props:{topic:{},title:{},text:{},doc:{},envVars:{},size:{}},setup(t){const a=t,{copy:h}=H(),s=_(()=>a.topic?U[a.topic]:null),o=_(()=>a.title??s.value?.title),A=_(()=>a.text??s.value?.text??""),I=_(()=>a.doc??s.value?.doc),d=_(()=>a.envVars??s.value?.envVars),g=k(!1);return(J,c)=>{const T=N,S=X,R=M;return r(),m(R,{open:e(g),"onUpdate:open":c[0]||(c[0]=i=>v(g)?g.value=i:null),ui:{content:"max-w-xs p-3 text-sm"}},{content:u(()=>[e(o)?(r(),l("p",V,p(e(o)),1)):n("",!0),E("p",Y,p(e(A)),1),e(d)?.length?(r(),l("div",q,[E("p",F,"Environment variable"+p(e(d).length>1?"s":"")+":",1),E("div",K,[(r(!0),l(L,null,C(e(d),i=>(r(),l("button",{key:i,type:"button",class:"group text-left",title:`Click to copy ${i}`,onClick:ee=>e(h)(i,{toast:`Copied ${i}`})},[E("code",Q,p(i),1),e(f)(i).description?(r(),l("span",j,p(e(f)(i).description),1)):n("",!0)],8,$))),128))])])):n("",!0),e(I)||e(d)?.length?(r(),l("div",z,[e(I)?(r(),m(S,{key:0,to:e(I)},{default:u(()=>[...c[1]||(c[1]=[P("Learn more",-1)])]),_:1},8,["to"])):n("",!0),e(d)?.length?(r(),m(S,{key:1,to:"configuration"},{default:u(()=>[...c[2]||(c[2]=[P("Configuration reference",-1)])]),_:1})):n("",!0)])):n("",!0)]),default:u(()=>[D(T,{size:t.size??"xs",variant:"ghost",color:"neutral",icon:"i-lucide-circle-help","aria-label":e(o)?`Help: ${e(o)}`:"Help",title:"What is this?",class:"text-muted hover:text-default align-middle"},null,8,["size","aria-label"])]),_:1},8,["open"])}}}),oe=Object.assign(Z,{__name:"HelpHint"});export{oe as _,X as a,w as d,ie as e,f as g};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{u as b}from"./
|
|
1
|
+
import{u as b}from"./iwD5atI2.js";import{h as j,bQ as m}from"./BPKwYP2Q.js";const g="piwi-browser-notify";function a(){return{projects:{}}}function y(e){try{const n=JSON.parse(e);if(typeof n!="object"||n===null)return a();const c={};if(n.projects&&typeof n.projects=="object")for(const[i,r]of Object.entries(n.projects)){const u=Number(i);Number.isNaN(u)||r&&typeof r=="object"&&Array.isArray(r.events)&&(c[u]={events:r.events.filter(f=>typeof f=="string")})}return{projects:c}}catch{return a()}}const h=m(!0);let l=null,p=null;function S(){p||h.run(()=>{l=b(g,{default:()=>"",maxAge:3600*24*365,sameSite:"lax",path:"/",secure:location.protocol==="https:",encode:e=>encodeURIComponent(e),decode:e=>decodeURIComponent(e)}),p=j({get:()=>{const e=l.value;return e?y(e):a()},set:e=>{l.value=JSON.stringify(e)}})})}function O(){S();const e=p;function n(t){return e.value.projects[t]??{events:[]}}function c(t,o){if(o.length===0){const s={...e.value};delete s.projects[t],e.value=s}else e.value={...e.value,projects:{...e.value.projects,[t]:{events:o}}}}function i(t,o){const s=n(t).events,v=s.includes(o)?s.filter(d=>d!==o):[...s,o];c(t,v)}function r(t){return n(t).events.length>0}function u(t,o){return n(t).events.includes(o)}function f(){return Object.values(e.value.projects).some(t=>t.events.length>0)}return{getProject:n,setEvents:c,toggleEvent:i,isSubscribed:r,isEventSubscribed:u,hasAnySubscription:f,stored:e}}export{O as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as m}from"./
|
|
1
|
+
import{_ as m}from"./oNq5pd3r.js";import{d,o as t,c as r,O as l,i as n,j as s,t as a,s as x,g as k,m as u,q as o}from"./BPKwYP2Q.js";const g={class:"p-2 text-sm text-gray-900 dark:text-gray-100 space-y-1"},_={class:"text-xs text-muted"},y={key:0,class:"text-xs"},h={key:1,class:"text-xs text-muted"},p=d({__name:"ChartMarkerTooltip",props:{marker:{},pos:{}},setup(e){return(f,v)=>{const c=m,i=x;return e.marker?(t(),r("div",{key:0,class:"fixed z-50 pointer-events-none bg-white dark:bg-gray-800 rounded-lg shadow-lg border border-gray-200 dark:border-gray-700 max-w-[260px]",style:l({left:`${e.pos.x}px`,top:`${e.pos.y}px`})},[n("div",g,[s(c,{marker:e.marker},null,8,["marker"]),n("div",_,a(new Date(e.marker.occurredAt).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})),1),e.marker.environment?(t(),r("div",y,[s(i,{color:"neutral",variant:"subtle",size:"xs"},{default:k(()=>[u(a(e.marker.environment),1)]),_:1})])):o("",!0),e.marker.description?(t(),r("p",h,a(e.marker.description),1)):o("",!0)])],4)):o("",!0)}}}),B=Object.assign(p,{__name:"ChartMarkerTooltip"});export{B as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{_ as $,a as y}from"./Bvfmwzgw.js";import{_ as k,a as C}from"./IFqRT_xJ.js";import{u as B,_ as D}from"./BP_SWi7S.js";import{a1 as M,a3 as S,o as f,f as d,g as i,T as c,i as p,p as u,k as s,V as U,h as _,a6 as N,C as P,r as T,d as j,e as q,j as o,aH as H}from"./BPKwYP2Q.js";import"./iwD5atI2.js";import"./DAWn6Z7h.js";import"./BpceIssd.js";import"./Bf62wdzp.js";import"./r3SBLxtE.js";const V={slots:{root:"shrink-0 flex items-center justify-between border-b border-default px-4 sm:px-6 gap-1.5 overflow-x-auto min-h-[49px]",left:"flex items-center gap-1.5",right:"flex items-center gap-1.5"}},z={__name:"UDashboardToolbar",props:{as:{type:null,required:!1},class:{type:null,required:!1},ui:{type:Object,required:!1}},setup(t){const a=M("dashboardToolbar",t),e=S(),l=_(()=>N({extend:V,...e.ui?.dashboardToolbar||{}})());return(r,m)=>(f(),d(s(U),{as:s(a).as,"data-slot":"root",class:u(l.value.root({class:[s(a).ui?.root,s(a).class]}))},{default:i(()=>[c(r.$slots,"default",{},()=>[p("div",{"data-slot":"left",class:u(l.value.left({class:[s(a).ui?.left]}))},[c(r.$slots,"left")],2),p("div",{"data-slot":"right",class:u(l.value.right({class:[s(a).ui?.right]}))},[c(r.$slots,"right")],2)])]),_:3},8,["as","class"]))}};function A(){const t=T({account:!1,users:!1,notifications:!1,tags:!1,storage:!1,"wasted-time":!1,"timeout-hygiene":!1,ai:!1,about:!1});async function n(){const a=[];a.push($fetch("/api/settings/ai").then(e=>{t.value.ai=!!e.envManaged}).catch(()=>{})),a.push($fetch("/api/settings/wasted-waits").then(e=>{t.value["wasted-time"]=!!e.envManaged}).catch(()=>{})),a.push($fetch("/api/settings/smtp").then(e=>{t.value.notifications=!!(e.envManaged&&e.configured)}).catch(()=>{})),await Promise.all(a)}return P(()=>{n()}),{envManaged:t,refresh:n}}const E={class:"flex flex-col gap-4 sm:gap-6 lg:gap-12 w-full lg:max-w-4xl mx-auto"},W=j({__name:"settings",setup(t){q({title:"Settings — Piwi Dashboard"});const{envManaged:n}=A(),a=B(n),e=_(()=>[a.value,[{label:"Documentation",icon:"i-lucide-book-open",to:"https://github.com/piwitests/platform",target:"_blank"}]]);return(l,r)=>{const m=$,g=y,h=C,b=D,v=z,x=H,w=k;return f(),d(w,{id:"settings",ui:{body:"lg:py-12"}},{header:i(()=>[o(h,null,{leading:i(()=>[o(m),o(g,{items:[{label:"Home",icon:"i-lucide-house",to:"/"},{label:"Settings"}]})]),_:1}),o(v,null,{default:i(()=>[o(b,{items:s(e),highlight:"",class:"-mx-1 flex-1",ui:{list:"overflow-x-auto",root:"min-w-0"}},null,8,["items"])]),_:1})]),body:i(()=>[p("div",E,[o(x)])]),_:1})}}});export{W as default};
|