@selvajs/selva 4.7.0-beta.6 → 4.7.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/build/client/_app/immutable/assets/0.CHkzgE-e.css.gz +0 -0
- package/build/client/_app/immutable/assets/20._Lx8kfnW.css +1 -0
- package/build/client/_app/immutable/assets/20._Lx8kfnW.css.br +0 -0
- package/build/client/_app/immutable/assets/20._Lx8kfnW.css.gz +0 -0
- package/build/client/_app/immutable/assets/rhino3dm.BI8ESrUA.wasm.gz +0 -0
- package/build/client/_app/immutable/assets/select.CV-KWLNP.css.gz +0 -0
- package/build/client/_app/immutable/chunks/0Bff9sTL.js.gz +0 -0
- package/build/client/_app/immutable/chunks/0M2DDHMf.js +2 -0
- package/build/client/_app/immutable/chunks/0M2DDHMf.js.br +0 -0
- package/build/client/_app/immutable/chunks/0M2DDHMf.js.gz +0 -0
- package/build/client/_app/immutable/chunks/35-OQSYE2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B3_WmU5u.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B4n-OjCm.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B7wd2Kj42.js.gz +0 -0
- package/build/client/_app/immutable/chunks/B8eqaxfc2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BG2iwmg_.js +1 -0
- package/build/client/_app/immutable/chunks/BG2iwmg_.js.br +0 -0
- package/build/client/_app/immutable/chunks/BG2iwmg_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BGDynKNS.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BGbIB54K2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BGbeR-fH.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BHKDoXDm2.js +1 -0
- package/build/client/_app/immutable/chunks/BHKDoXDm2.js.br +2 -0
- package/build/client/_app/immutable/chunks/BHKDoXDm2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BMx84FKI.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BN8xa1dZ2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BX5J3njl.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BcvLMt3u.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BfI32HyH.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Biu_T4Iy.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BjWOHXTN.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Bjy-W4x22.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BtkBkYMP.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BvRk9kiK2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BzJx6omo.js.gz +0 -0
- package/build/client/_app/immutable/chunks/C-eh-BYT2.js +1 -0
- package/build/client/_app/immutable/chunks/C-eh-BYT2.js.br +0 -0
- package/build/client/_app/immutable/chunks/C-eh-BYT2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CACZJiWS.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CAToUyMt.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CFBprvLO.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CFFv3oN9.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CGtjofto.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CL3s_3g5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CMZsPk6c.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CNLFdBld.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CT5oxrR3.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CWIBiefo.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Ca2rRgYg.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CaGxax7M.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CadtTpP_.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CdwjLyny.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cg_4c8n32.js +1 -0
- package/build/client/_app/immutable/chunks/Cg_4c8n32.js.br +0 -0
- package/build/client/_app/immutable/chunks/Cg_4c8n32.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Ciz-tExL2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cn-AOzef.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CqixH_hy.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CuCezvy62.js +1 -0
- package/build/client/_app/immutable/chunks/CuCezvy62.js.br +0 -0
- package/build/client/_app/immutable/chunks/CuCezvy62.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cums1AjR.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Cv5WJ8WQ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D3VSOnNo.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D4YBJLId.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D9DFvnxj.js +1 -0
- package/build/client/_app/immutable/chunks/D9DFvnxj.js.br +3 -0
- package/build/client/_app/immutable/chunks/D9DFvnxj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DAZNh3B6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DFsxVbse.js +1 -0
- package/build/client/_app/immutable/chunks/DFsxVbse.js.br +0 -0
- package/build/client/_app/immutable/chunks/DFsxVbse.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DG2wOVmu.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DNL96-hz.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DNVbFK9q.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DOfEstn5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DW4WVvYR2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DWPCC0_6.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DXS9GeHI.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DZABOdll2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DZfZ3649.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DbfF2wEw.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DdLtOT1b.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DoI8t0cF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DqR8kuM62.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dt77lQ3V2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DvbQzS922.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DxuIu10f.js +5462 -0
- package/build/client/_app/immutable/chunks/DxuIu10f.js.br +0 -0
- package/build/client/_app/immutable/chunks/DxuIu10f.js.gz +0 -0
- package/build/client/_app/immutable/chunks/HclGiUj8.js.gz +0 -0
- package/build/client/_app/immutable/chunks/N19EYJwE.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Ot8VM1_P.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Q4vGvM2S.js.gz +0 -0
- package/build/client/_app/immutable/chunks/QTnfLwEv.js.gz +0 -0
- package/build/client/_app/immutable/chunks/UeEPBo0V.js.gz +0 -0
- package/build/client/_app/immutable/chunks/XAfNJj4O.js.gz +0 -0
- package/build/client/_app/immutable/chunks/hfCvJzwQ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/iO9OM2Vo.js.gz +0 -0
- package/build/client/_app/immutable/chunks/iVsN6nmV2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/laOiH5FT.js +9 -0
- package/build/client/_app/immutable/chunks/laOiH5FT.js.br +0 -0
- package/build/client/_app/immutable/chunks/laOiH5FT.js.gz +0 -0
- package/build/client/_app/immutable/chunks/oI3J06TA.js.gz +0 -0
- package/build/client/_app/immutable/chunks/p42Je1322.js.gz +0 -0
- package/build/client/_app/immutable/chunks/qU0FhiPD.js +2 -0
- package/build/client/_app/immutable/chunks/qU0FhiPD.js.br +0 -0
- package/build/client/_app/immutable/chunks/qU0FhiPD.js.gz +0 -0
- package/build/client/_app/immutable/chunks/xihTtKlq.js.gz +0 -0
- package/build/client/_app/immutable/chunks/xnWCJBmG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/zm1p3CI2.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.ChwO476H.js +2 -0
- package/build/client/_app/immutable/entry/app.ChwO476H.js.br +0 -0
- package/build/client/_app/immutable/entry/app.ChwO476H.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CUuVPYpM.js +1 -0
- package/build/client/_app/immutable/entry/start.CUuVPYpM.js.br +0 -0
- package/build/client/_app/immutable/entry/start.CUuVPYpM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.D7urdCm3.js +1 -0
- package/build/client/_app/immutable/nodes/0.D7urdCm3.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.D7urdCm3.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.BJ_E7jBc.js +1 -0
- package/build/client/_app/immutable/nodes/1.BJ_E7jBc.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.BJ_E7jBc.js.gz +0 -0
- package/build/client/_app/immutable/nodes/10.BtVz3VRC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.DUk5QCcO.js +2 -0
- package/build/client/_app/immutable/nodes/11.DUk5QCcO.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.DUk5QCcO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/12.oeQtPVlU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.BuZd04Lo.js +2 -0
- package/build/client/_app/immutable/nodes/13.BuZd04Lo.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.BuZd04Lo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/14.BXK0gR3D.js +2 -0
- package/build/client/_app/immutable/nodes/14.BXK0gR3D.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.BXK0gR3D.js.gz +0 -0
- package/build/client/_app/immutable/nodes/15.DQnCVxPm.js +21 -0
- package/build/client/_app/immutable/nodes/15.DQnCVxPm.js.br +0 -0
- package/build/client/_app/immutable/nodes/15.DQnCVxPm.js.gz +0 -0
- package/build/client/_app/immutable/nodes/16.SF5XHiBi.js +6 -0
- package/build/client/_app/immutable/nodes/16.SF5XHiBi.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.SF5XHiBi.js.gz +0 -0
- package/build/client/_app/immutable/nodes/17.CkfBZYMU.js +2 -0
- package/build/client/_app/immutable/nodes/17.CkfBZYMU.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.CkfBZYMU.js.gz +0 -0
- package/build/client/_app/immutable/nodes/18.Df6brJKh.js.gz +0 -0
- package/build/client/_app/immutable/nodes/19.lXobnwX1.js +2 -0
- package/build/client/_app/immutable/nodes/19.lXobnwX1.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.lXobnwX1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.CRHtzkzt.js +1 -0
- package/build/client/_app/immutable/nodes/2.CRHtzkzt.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.CRHtzkzt.js.gz +0 -0
- package/build/client/_app/immutable/nodes/20.CzAIzrQM.js +12 -0
- package/build/client/_app/immutable/nodes/20.CzAIzrQM.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.CzAIzrQM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/21.x1LrYfez.js +6 -0
- package/build/client/_app/immutable/nodes/21.x1LrYfez.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.x1LrYfez.js.gz +0 -0
- package/build/client/_app/immutable/nodes/23.BtInHilP.js +16 -0
- package/build/client/_app/immutable/nodes/23.BtInHilP.js.br +0 -0
- package/build/client/_app/immutable/nodes/23.BtInHilP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/24.Dqy8AH_J.js +6 -0
- package/build/client/_app/immutable/nodes/24.Dqy8AH_J.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.Dqy8AH_J.js.gz +0 -0
- package/build/client/_app/immutable/nodes/25.CweTxf-0.js.gz +0 -0
- package/build/client/_app/immutable/nodes/26.BoPjubts.js.gz +0 -0
- package/build/client/_app/immutable/nodes/27.BiurRrzb.js +4 -0
- package/build/client/_app/immutable/nodes/27.BiurRrzb.js.br +0 -0
- package/build/client/_app/immutable/nodes/27.BiurRrzb.js.gz +0 -0
- package/build/client/_app/immutable/nodes/28.TVh72E_-.js +4 -0
- package/build/client/_app/immutable/nodes/28.TVh72E_-.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.TVh72E_-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/29.KA_Czrio.js +2 -0
- package/build/client/_app/immutable/nodes/29.KA_Czrio.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.KA_Czrio.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.De6eJ76N.js +1 -0
- package/build/client/_app/immutable/nodes/3.De6eJ76N.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.De6eJ76N.js.gz +0 -0
- package/build/client/_app/immutable/nodes/30.BDN5YXAl.js +2 -0
- package/build/client/_app/immutable/nodes/30.BDN5YXAl.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.BDN5YXAl.js.gz +0 -0
- package/build/client/_app/immutable/nodes/31.V7XQDJEJ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/32.Opc9fkyM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.CT-8QP_q.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.OMz0FTZb.js +1 -0
- package/build/client/_app/immutable/nodes/5.OMz0FTZb.js.br +3 -0
- package/build/client/_app/immutable/nodes/5.OMz0FTZb.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.CXaFpK04.js +1 -0
- package/build/client/_app/immutable/nodes/6.CXaFpK04.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.CXaFpK04.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.CYdy2UgN.js +1 -0
- package/build/client/_app/immutable/nodes/7.CYdy2UgN.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.CYdy2UgN.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.Bd7w36bu.js +2 -0
- package/build/client/_app/immutable/nodes/8.Bd7w36bu.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.Bd7w36bu.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.B4uZJGIZ.js +1 -0
- package/build/client/_app/immutable/nodes/9.B4uZJGIZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.B4uZJGIZ.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/client/favicon/favicon.svg.gz +0 -0
- package/build/client/robots.txt.gz +0 -0
- package/build/handler.js +14 -3
- package/build/handler.js.map +1 -1
- package/build/index.js +14 -3
- package/build/index.js.map +1 -1
- package/build/server/chunks/chunks/AppHeader.js-CCBy-F-z.js +281 -0
- package/build/server/chunks/chunks/AppHeader.js-CCBy-F-z.js.map +1 -0
- package/build/server/chunks/chunks/DataTable.js-C8XFHOhw.js +27 -0
- package/build/server/chunks/chunks/DataTable.js-C8XFHOhw.js.map +1 -0
- package/build/server/chunks/chunks/DefinitionCard.js-D-G6VPlf.js +269 -0
- package/build/server/chunks/chunks/DefinitionCard.js-D-G6VPlf.js.map +1 -0
- package/build/server/chunks/chunks/EmptyState.js-CZaUQBys.js +40 -0
- package/build/server/chunks/chunks/EmptyState.js-CZaUQBys.js.map +1 -0
- package/build/server/chunks/chunks/ErrorScreen.js-D6_joiwG.js +123 -0
- package/build/server/chunks/chunks/ErrorScreen.js-D6_joiwG.js.map +1 -0
- package/build/server/chunks/chunks/FilterableDropdown.js-CINR6Q-7.js +45 -0
- package/build/server/chunks/chunks/FilterableDropdown.js-CINR6Q-7.js.map +1 -0
- package/build/server/chunks/chunks/SectionHeader.js-CdEAD7fC.js +27 -0
- package/build/server/chunks/chunks/SectionHeader.js-CdEAD7fC.js.map +1 -0
- package/build/server/chunks/chunks/SideNav.js-BNI_NYXt.js +67 -0
- package/build/server/chunks/chunks/SideNav.js-BNI_NYXt.js.map +1 -0
- package/build/server/chunks/chunks/StatCard.js-DSjWOp0N.js +51 -0
- package/build/server/chunks/chunks/StatCard.js-DSjWOp0N.js.map +1 -0
- package/build/server/chunks/chunks/UserAvatar.js-DPtxiYiY.js +14 -0
- package/build/server/chunks/chunks/UserAvatar.js-DPtxiYiY.js.map +1 -0
- package/build/server/chunks/chunks/UserChip.js-CABWy9hQ.js +1163 -0
- package/build/server/chunks/chunks/UserChip.js-CABWy9hQ.js.map +1 -0
- package/build/server/chunks/chunks/access.server.js-55bmpUSo.js +453 -0
- package/build/server/chunks/chunks/access.server.js-55bmpUSo.js.map +1 -0
- package/build/server/chunks/chunks/access2.server.js-DOKxmHQB.js +20 -0
- package/build/server/chunks/chunks/access2.server.js-DOKxmHQB.js.map +1 -0
- package/build/server/chunks/chunks/activity.js-C3XkgSVI.js +15 -0
- package/build/server/chunks/chunks/activity.js-C3XkgSVI.js.map +1 -0
- package/build/server/chunks/chunks/admin-auth.server.js-BP5VABG_.js +180 -0
- package/build/server/chunks/chunks/admin-auth.server.js-BP5VABG_.js.map +1 -0
- package/build/server/chunks/chunks/admin-config.js-DgmGM6ot.js +3 -0
- package/build/server/chunks/chunks/admin-config.js-DgmGM6ot.js.map +1 -0
- package/build/server/chunks/chunks/alert-description.js-D4tOQ5vz.js +45 -0
- package/build/server/chunks/chunks/alert-description.js-D4tOQ5vz.js.map +1 -0
- package/build/server/chunks/chunks/alert-dialog.js-CKpDbs6k.js +462 -0
- package/build/server/chunks/chunks/alert-dialog.js-CKpDbs6k.js.map +1 -0
- package/build/server/chunks/chunks/api-errors.js-BdoYiwnt.js +141 -0
- package/build/server/chunks/chunks/api-errors.js-BdoYiwnt.js.map +1 -0
- package/build/server/chunks/chunks/arrow-left.js-C2QFaAHc.js +15 -0
- package/build/server/chunks/chunks/arrow-left.js-C2QFaAHc.js.map +1 -0
- package/build/server/chunks/chunks/arrow-right.js-Dh0wa7gQ.js +15 -0
- package/build/server/chunks/chunks/arrow-right.js-Dh0wa7gQ.js.map +1 -0
- package/build/server/chunks/chunks/auth-bootstrap.server.js-pwspdWCF.js +162 -0
- package/build/server/chunks/chunks/auth-bootstrap.server.js-pwspdWCF.js.map +1 -0
- package/build/server/chunks/chunks/auth.server.js-CiKOtWZ5.js +2 -0
- package/build/server/chunks/chunks/auth.server.js-CiKOtWZ5.js.map +1 -0
- package/build/server/chunks/chunks/badge.js-BgT21Rqm.js +35 -0
- package/build/server/chunks/chunks/badge.js-BgT21Rqm.js.map +1 -0
- package/build/server/chunks/chunks/bootHealth.server.js-s-jZ2KDW.js +91 -0
- package/build/server/chunks/chunks/bootHealth.server.js-s-jZ2KDW.js.map +1 -0
- package/build/server/chunks/chunks/building-2.js-BGDMSkv0.js +21 -0
- package/build/server/chunks/chunks/building-2.js-BGDMSkv0.js.map +1 -0
- package/build/server/chunks/chunks/button.js-CSa540TU.js +71 -0
- package/build/server/chunks/chunks/button.js-CSa540TU.js.map +1 -0
- package/build/server/chunks/chunks/card-content.js-CpPab2dD.js +35 -0
- package/build/server/chunks/chunks/card-content.js-CpPab2dD.js.map +1 -0
- package/build/server/chunks/chunks/card-description.js-CAzX-Bmj.js +20 -0
- package/build/server/chunks/chunks/card-description.js-CAzX-Bmj.js.map +1 -0
- package/build/server/chunks/chunks/card-title.js-D0xSlVxE.js +35 -0
- package/build/server/chunks/chunks/card-title.js-D0xSlVxE.js.map +1 -0
- package/build/server/chunks/chunks/check.js-D2IvLKsp.js +15 -0
- package/build/server/chunks/chunks/check.js-D2IvLKsp.js.map +1 -0
- package/build/server/chunks/chunks/chevron-down.js-DyOZz7Ss.js +15 -0
- package/build/server/chunks/chunks/chevron-down.js-DyOZz7Ss.js.map +1 -0
- package/build/server/chunks/chunks/chevron-right.js-BOiCGG6Q.js +15 -0
- package/build/server/chunks/chunks/chevron-right.js-BOiCGG6Q.js.map +1 -0
- package/build/server/chunks/chunks/chevron-up.js-piTGx14N.js +15 -0
- package/build/server/chunks/chunks/chevron-up.js-piTGx14N.js.map +1 -0
- package/build/server/chunks/chunks/chunk-N2WCSETE.js-CK2Q00_P.js +2953 -0
- package/build/server/chunks/chunks/chunk-N2WCSETE.js-CK2Q00_P.js.map +1 -0
- package/build/server/chunks/chunks/chunk-S3VUIIRE.js-CeBwYPAp.js +1502 -0
- package/build/server/chunks/chunks/chunk-S3VUIIRE.js-CeBwYPAp.js.map +1 -0
- package/build/server/chunks/chunks/chunk-Y3M7P3BW.js-qwxSY5dh.js +982 -0
- package/build/server/chunks/chunks/chunk-Y3M7P3BW.js-qwxSY5dh.js.map +1 -0
- package/build/server/chunks/chunks/circle-alert.js-DR1k98Iv.js +33 -0
- package/build/server/chunks/chunks/circle-alert.js-DR1k98Iv.js.map +1 -0
- package/build/server/chunks/chunks/circle.js-589H17A3.js +19 -0
- package/build/server/chunks/chunks/circle.js-589H17A3.js.map +1 -0
- package/build/server/chunks/chunks/client.js-ChMP-ADp.js +58 -0
- package/build/server/chunks/chunks/client.js-ChMP-ADp.js.map +1 -0
- package/build/server/chunks/chunks/clientCache.server.js-DOyqlBzg.js +195 -0
- package/build/server/chunks/chunks/clientCache.server.js-DOyqlBzg.js.map +1 -0
- package/build/server/chunks/chunks/compute.js-_N5R8pkI.js +747 -0
- package/build/server/chunks/chunks/compute.js-_N5R8pkI.js.map +1 -0
- package/build/server/chunks/chunks/computeLimits.js-Bv2Kbjk8.js +48 -0
- package/build/server/chunks/chunks/computeLimits.js-Bv2Kbjk8.js.map +1 -0
- package/build/server/chunks/chunks/copy.js-CxNKrf7G.js +22 -0
- package/build/server/chunks/chunks/copy.js-CxNKrf7G.js.map +1 -0
- package/build/server/chunks/chunks/create-id.js-D3vyU7tu.js +809 -0
- package/build/server/chunks/chunks/create-id.js-D3vyU7tu.js.map +1 -0
- package/build/server/chunks/chunks/definitions.js-Bgi_EnOc.js +2 -0
- package/build/server/chunks/chunks/definitions.js-Bgi_EnOc.js.map +1 -0
- package/build/server/chunks/chunks/dialog-description.js-DcJpVhhU.js +495 -0
- package/build/server/chunks/chunks/dialog-description.js-DcJpVhhU.js.map +1 -0
- package/build/server/chunks/chunks/dialog-footer.js-gG-FswWQ.js +59 -0
- package/build/server/chunks/chunks/dialog-footer.js-gG-FswWQ.js.map +1 -0
- package/build/server/chunks/chunks/dialog.js-DkGWEulu.js +367 -0
- package/build/server/chunks/chunks/dialog.js-DkGWEulu.js.map +1 -0
- package/build/server/chunks/chunks/env.js-l0sNRNKZ.js +2 -0
- package/build/server/chunks/chunks/env.js-l0sNRNKZ.js.map +1 -0
- package/build/server/chunks/chunks/esm.js-5PXzLulY.js +7 -0
- package/build/server/chunks/chunks/esm.js-5PXzLulY.js.map +1 -0
- package/build/server/chunks/chunks/esm2.js-C_Dsvb5P.js +986 -0
- package/build/server/chunks/chunks/esm2.js-C_Dsvb5P.js.map +1 -0
- package/build/server/chunks/chunks/events.js-Dim6Jkwe.js +125 -0
- package/build/server/chunks/chunks/events.js-Dim6Jkwe.js.map +1 -0
- package/build/server/chunks/chunks/events2.js-g3pRSymE.js +2 -0
- package/build/server/chunks/chunks/events2.js-g3pRSymE.js.map +1 -0
- package/build/server/chunks/chunks/evictChangedServers.js-BOiQY_IL.js +29 -0
- package/build/server/chunks/chunks/evictChangedServers.js-BOiQY_IL.js.map +1 -0
- package/build/server/chunks/chunks/exports.js-GeBTnchJ.js +365 -0
- package/build/server/chunks/chunks/exports.js-GeBTnchJ.js.map +1 -0
- package/build/server/chunks/chunks/folder-kanban.js-BSydl1kM.js +20 -0
- package/build/server/chunks/chunks/folder-kanban.js-BSydl1kM.js.map +1 -0
- package/build/server/chunks/chunks/folder-open.js-SVFlTvic.js +15 -0
- package/build/server/chunks/chunks/folder-open.js-SVFlTvic.js.map +1 -0
- package/build/server/chunks/chunks/folders.js-5kygHCYJ.js +15 -0
- package/build/server/chunks/chunks/folders.js-5kygHCYJ.js.map +1 -0
- package/build/server/chunks/chunks/footerContext.svelte.js-B4V0UyTy.js +707 -0
- package/build/server/chunks/chunks/footerContext.svelte.js-B4V0UyTy.js.map +1 -0
- package/build/server/chunks/chunks/forms.js-pYfsLUaH.js +2 -0
- package/build/server/chunks/chunks/forms.js-pYfsLUaH.js.map +1 -0
- package/build/server/chunks/chunks/gauge.js-CaIvew-g.js +15 -0
- package/build/server/chunks/chunks/gauge.js-CaIvew-g.js.map +1 -0
- package/build/server/chunks/chunks/index-server.js-Dkqbavz2.js +147 -0
- package/build/server/chunks/chunks/index-server.js-Dkqbavz2.js.map +1 -0
- package/build/server/chunks/chunks/index-server2.js-UaiofxX-.js +21 -0
- package/build/server/chunks/chunks/index-server2.js-UaiofxX-.js.map +1 -0
- package/build/server/chunks/chunks/input.js-flypSZ8p.js +36 -0
- package/build/server/chunks/chunks/input.js-flypSZ8p.js.map +1 -0
- package/build/server/chunks/chunks/internal.js-WBVEU67X.js +22 -0
- package/build/server/chunks/chunks/internal.js-WBVEU67X.js.map +1 -0
- package/build/server/chunks/chunks/internal2.js-CRTtDh_a.js +224 -0
- package/build/server/chunks/chunks/internal2.js-CRTtDh_a.js.map +1 -0
- package/build/server/chunks/chunks/label.js-vFVuMZI5.js +108 -0
- package/build/server/chunks/chunks/label.js-vFVuMZI5.js.map +1 -0
- package/build/server/chunks/chunks/legacy-client.js-rpE_7V58.js +320 -0
- package/build/server/chunks/chunks/legacy-client.js-rpE_7V58.js.map +1 -0
- package/build/server/chunks/chunks/limits.js-BniDP5VZ.js +140 -0
- package/build/server/chunks/chunks/limits.js-BniDP5VZ.js.map +1 -0
- package/build/server/chunks/chunks/link-2.js-BFZvudkq.js +24 -0
- package/build/server/chunks/chunks/link-2.js-BFZvudkq.js.map +1 -0
- package/build/server/chunks/chunks/mail.js-FTEPUuxm.js +21 -0
- package/build/server/chunks/chunks/mail.js-FTEPUuxm.js.map +1 -0
- package/build/server/chunks/chunks/minus.js-C0wl0i_s.js +33 -0
- package/build/server/chunks/chunks/minus.js-C0wl0i_s.js.map +1 -0
- package/build/server/chunks/chunks/navigation.js-pYfsLUaH.js +2 -0
- package/build/server/chunks/chunks/navigation.js-pYfsLUaH.js.map +1 -0
- package/build/server/chunks/chunks/noop.js-BTGyucGl.js +467 -0
- package/build/server/chunks/chunks/noop.js-BTGyucGl.js.map +1 -0
- package/build/server/chunks/chunks/org-members.server.js-BlOWocal.js +35 -0
- package/build/server/chunks/chunks/org-members.server.js-BlOWocal.js.map +1 -0
- package/build/server/chunks/chunks/package.js-CzPJLFIP.js +76 -0
- package/build/server/chunks/chunks/package.js-CzPJLFIP.js.map +1 -0
- package/build/server/chunks/chunks/permissions-compat.server.js-Ba1Un-4O.js +23 -0
- package/build/server/chunks/chunks/permissions-compat.server.js-Ba1Un-4O.js.map +1 -0
- package/build/server/chunks/chunks/permissions.server.js-C-4T_yf-.js +15 -0
- package/build/server/chunks/chunks/permissions.server.js-C-4T_yf-.js.map +1 -0
- package/build/server/chunks/chunks/plus.js-B7q_bJTb.js +15 -0
- package/build/server/chunks/chunks/plus.js-B7q_bJTb.js.map +1 -0
- package/build/server/chunks/chunks/providers.server.js-BCmROUq1.js +6252 -0
- package/build/server/chunks/chunks/providers.server.js-BCmROUq1.js.map +1 -0
- package/build/server/chunks/chunks/randomId.js-BnzU06iG.js +22 -0
- package/build/server/chunks/chunks/randomId.js-BnzU06iG.js.map +1 -0
- package/build/server/chunks/chunks/redirect.js-B4i9gSkt.js +19 -0
- package/build/server/chunks/chunks/redirect.js-B4i9gSkt.js.map +1 -0
- package/build/server/chunks/chunks/refresh-cw.js-BbvZ9-ym.js +20 -0
- package/build/server/chunks/chunks/refresh-cw.js-BbvZ9-ym.js.map +1 -0
- package/build/server/chunks/chunks/resolve.server.js-ObCEn_tG.js +62 -0
- package/build/server/chunks/chunks/resolve.server.js-ObCEn_tG.js.map +1 -0
- package/build/server/chunks/chunks/rotate-ccw.js-BKTIUF08.js +15 -0
- package/build/server/chunks/chunks/rotate-ccw.js-BKTIUF08.js.map +1 -0
- package/build/server/chunks/chunks/schema.js-BhmknPcU.js +27 -0
- package/build/server/chunks/chunks/schema.js-BhmknPcU.js.map +1 -0
- package/build/server/chunks/chunks/scroll-lock.js-BhXqCYmL.js +2973 -0
- package/build/server/chunks/chunks/scroll-lock.js-BhXqCYmL.js.map +1 -0
- package/build/server/chunks/chunks/scroll-text.js-Ck_RJX-A.js +20 -0
- package/build/server/chunks/chunks/scroll-text.js-Ck_RJX-A.js.map +1 -0
- package/build/server/chunks/chunks/select.js-lsONeEMz.js +3657 -0
- package/build/server/chunks/chunks/select.js-lsONeEMz.js.map +1 -0
- package/build/server/chunks/chunks/selfUpdate.server.js-B0IhATul.js +152 -0
- package/build/server/chunks/chunks/selfUpdate.server.js-B0IhATul.js.map +1 -0
- package/build/server/chunks/chunks/server.js-DmrfOoxb.js +4142 -0
- package/build/server/chunks/chunks/server.js-DmrfOoxb.js.map +1 -0
- package/build/server/chunks/chunks/server2.js-BCejVnBZ.js +44 -0
- package/build/server/chunks/chunks/server2.js-BCejVnBZ.js.map +1 -0
- package/build/server/chunks/chunks/settings.js-DFaptFrS.js +19 -0
- package/build/server/chunks/chunks/settings.js-DFaptFrS.js.map +1 -0
- package/build/server/chunks/chunks/shared-server.js-DA4m8f1m.js +22 -0
- package/build/server/chunks/chunks/shared-server.js-DA4m8f1m.js.map +1 -0
- package/build/server/chunks/chunks/shared.js-DVKQackd.js +598 -0
- package/build/server/chunks/chunks/shared.js-DVKQackd.js.map +1 -0
- package/build/server/chunks/chunks/shield-check.js-BSiP5ATU.js +15 -0
- package/build/server/chunks/chunks/shield-check.js-BSiP5ATU.js.map +1 -0
- package/build/server/chunks/chunks/shield.js-DPtzts62.js +15 -0
- package/build/server/chunks/chunks/shield.js-DPtzts62.js.map +1 -0
- package/build/server/chunks/chunks/src.js-C5mUn1eC.js +360 -0
- package/build/server/chunks/chunks/src.js-C5mUn1eC.js.map +1 -0
- package/build/server/chunks/chunks/star.js-BECu_JAo.js +15 -0
- package/build/server/chunks/chunks/star.js-BECu_JAo.js.map +1 -0
- package/build/server/chunks/chunks/state.js-CSskG5O4.js +64 -0
- package/build/server/chunks/chunks/state.js-CSskG5O4.js.map +1 -0
- package/build/server/chunks/chunks/stores.js-DHkf0lFO.js +35 -0
- package/build/server/chunks/chunks/stores.js-DHkf0lFO.js.map +1 -0
- package/build/server/chunks/chunks/textarea.js-CvrSr4sY.js +512 -0
- package/build/server/chunks/chunks/textarea.js-CvrSr4sY.js.map +1 -0
- package/build/server/chunks/chunks/toast-state.svelte.js-Dh9sKPsD.js +236 -0
- package/build/server/chunks/chunks/toast-state.svelte.js-Dh9sKPsD.js.map +1 -0
- package/build/server/chunks/chunks/token-codec.js-CxK2DiO-.js +27 -0
- package/build/server/chunks/chunks/token-codec.js-CxK2DiO-.js.map +1 -0
- package/build/server/chunks/chunks/token.server.js-C2Bim4Rh.js +52 -0
- package/build/server/chunks/chunks/token.server.js-C2Bim4Rh.js.map +1 -0
- package/build/server/chunks/chunks/token2.server.js-D_ltSz_6.js +44 -0
- package/build/server/chunks/chunks/token2.server.js-D_ltSz_6.js.map +1 -0
- package/build/server/chunks/chunks/trash-2.js-Cj-Kcen_.js +21 -0
- package/build/server/chunks/chunks/trash-2.js-Cj-Kcen_.js.map +1 -0
- package/build/server/chunks/chunks/triangle-alert.js-BCjlB2JY.js +19 -0
- package/build/server/chunks/chunks/triangle-alert.js-BCjlB2JY.js.map +1 -0
- package/build/server/chunks/chunks/types.js-B_zdqlv_.js +10 -0
- package/build/server/chunks/chunks/types.js-B_zdqlv_.js.map +1 -0
- package/build/server/chunks/chunks/uneval.js-1VR0v8ir.js +451 -0
- package/build/server/chunks/chunks/uneval.js-1VR0v8ir.js.map +1 -0
- package/build/server/chunks/chunks/update-outcome.js-BOtdiviI.js +92 -0
- package/build/server/chunks/chunks/update-outcome.js-BOtdiviI.js.map +1 -0
- package/build/server/chunks/chunks/updateCheck.server.js-C_IO7xvE.js +97 -0
- package/build/server/chunks/chunks/updateCheck.server.js-C_IO7xvE.js.map +1 -0
- package/build/server/chunks/chunks/user-plus.js-3qIaZGqf.js +34 -0
- package/build/server/chunks/chunks/user-plus.js-3qIaZGqf.js.map +1 -0
- package/build/server/chunks/chunks/users.js-VuVL1lQA.js +24 -0
- package/build/server/chunks/chunks/users.js-VuVL1lQA.js.map +1 -0
- package/build/server/chunks/chunks/utils.js-C0cfyxUN.js +743 -0
- package/build/server/chunks/chunks/utils.js-C0cfyxUN.js.map +1 -0
- package/build/server/chunks/chunks/utils2.js-V7yGq-Kd.js +62 -0
- package/build/server/chunks/chunks/utils2.js-V7yGq-Kd.js.map +1 -0
- package/build/server/chunks/chunks/utils3.js-DrFQ7TNp.js +95 -0
- package/build/server/chunks/chunks/utils3.js-DrFQ7TNp.js.map +1 -0
- package/build/server/chunks/chunks/visualization-HDBKPJGQ.js-CCyAXlVS.js +21 -0
- package/build/server/chunks/chunks/visualization-HDBKPJGQ.js-CCyAXlVS.js.map +1 -0
- package/build/server/chunks/chunks/x.js-DCkToa2e.js +15 -0
- package/build/server/chunks/chunks/x.js-DCkToa2e.js.map +1 -0
- package/build/server/chunks/entries/endpoints/admin/api/compute/_server.ts.js-ny6qg7b3.js +93 -0
- package/build/server/chunks/entries/endpoints/admin/api/compute/_server.ts.js-ny6qg7b3.js.map +1 -0
- package/build/server/chunks/entries/endpoints/admin/api/compute/actions/_server.ts.js-CIr-FMIO.js +53 -0
- package/build/server/chunks/entries/endpoints/admin/api/compute/actions/_server.ts.js-CIr-FMIO.js.map +1 -0
- package/build/server/chunks/entries/endpoints/admin/api/compute/status/_server.ts.js-h7EKtq-V.js +79 -0
- package/build/server/chunks/entries/endpoints/admin/api/compute/status/_server.ts.js-h7EKtq-V.js.map +1 -0
- package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/_server.ts.js-DDyPMdU4.js +50 -0
- package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/_server.ts.js-DDyPMdU4.js.map +1 -0
- package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/_server.ts.js-Bre1-6Si.js +86 -0
- package/build/server/chunks/entries/endpoints/admin/api/orgs/_id_/assets/_kind_/_server.ts.js-Bre1-6Si.js.map +1 -0
- package/build/server/chunks/entries/endpoints/admin/api/orgs/_server.ts.js-BAGRN9q-.js +72 -0
- package/build/server/chunks/entries/endpoints/admin/api/orgs/_server.ts.js-BAGRN9q-.js.map +1 -0
- package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/_server.ts.js-DjIbDzDD.js +74 -0
- package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/_server.ts.js-DjIbDzDD.js.map +1 -0
- package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/_server.ts.js-BV9YEqFI.js +34 -0
- package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/_server.ts.js-BV9YEqFI.js.map +1 -0
- package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_server.ts.js-xF_08qt2.js +71 -0
- package/build/server/chunks/entries/endpoints/admin/api/projects/_id_/grants/_server.ts.js-xF_08qt2.js.map +1 -0
- package/build/server/chunks/entries/endpoints/admin/api/projects/_server.ts.js-CS6KQL0A.js +103 -0
- package/build/server/chunks/entries/endpoints/admin/api/projects/_server.ts.js-CS6KQL0A.js.map +1 -0
- package/build/server/chunks/entries/endpoints/admin/api/system/health/_server.ts.js-VuOYrejT.js +208 -0
- package/build/server/chunks/entries/endpoints/admin/api/system/health/_server.ts.js-VuOYrejT.js.map +1 -0
- package/build/server/chunks/entries/endpoints/admin/api/system/throughput/_server.ts.js-V5NRs6as.js +90 -0
- package/build/server/chunks/entries/endpoints/admin/api/system/throughput/_server.ts.js-V5NRs6as.js.map +1 -0
- package/build/server/chunks/entries/endpoints/admin/api/system/update/_server.ts.js-_SPujsJW.js +403 -0
- package/build/server/chunks/entries/endpoints/admin/api/system/update/_server.ts.js-_SPujsJW.js.map +1 -0
- package/build/server/chunks/entries/endpoints/admin/api/users/_id_/_server.ts.js-CYIpAhPx.js +76 -0
- package/build/server/chunks/entries/endpoints/admin/api/users/_id_/_server.ts.js-CYIpAhPx.js.map +1 -0
- package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/_server.ts.js--FE-5A1u.js +46 -0
- package/build/server/chunks/entries/endpoints/admin/api/users/_id_/disable/_server.ts.js--FE-5A1u.js.map +1 -0
- package/build/server/chunks/entries/endpoints/admin/api/users/_server.ts.js-DYFX69rD.js +86 -0
- package/build/server/chunks/entries/endpoints/admin/api/users/_server.ts.js-DYFX69rD.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-Dzn1VE28.js +0 -0
- package/build/server/chunks/entries/endpoints/api/compute/_server.ts.js-Dzn1VE28.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/compute/schema/_server.ts.js-CEfiTeNA.js +68 -0
- package/build/server/chunks/entries/endpoints/api/compute/schema/_server.ts.js-CEfiTeNA.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/_server.ts.js-2okm_O3E.js +75 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/_server.ts.js-2okm_O3E.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js-BQGJqa_y.js +46 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_filename_/_server.ts.js-BQGJqa_y.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_server.ts.js-BxSN3roq.js +44 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/image/_server.ts.js-BxSN3roq.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/_server.ts.js-BaDepDiY.js +40 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/publish/_server.ts.js-BaDepDiY.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/_server.ts.js-BBxUhG6I.js +46 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_linkId_/_server.ts.js-BBxUhG6I.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js-B2anGcET.js +84 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js-B2anGcET.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_server.ts.js-CxxJA6un.js +47 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_server.ts.js-CxxJA6un.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/_server.ts.js-DbJbMiPZ.js +40 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_guid_/versions/_versionId_/_server.ts.js-DbJbMiPZ.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_server.ts.js-Dojg7QIG.js +94 -0
- package/build/server/chunks/entries/endpoints/api/definitions/_server.ts.js-Dojg7QIG.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-B74eCnn7.js +59 -0
- package/build/server/chunks/entries/endpoints/api/diag/throughput/_server.ts.js-B74eCnn7.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-BzclyMf8.js +89 -0
- package/build/server/chunks/entries/endpoints/api/files/_...path_/_server.ts.js-BzclyMf8.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-A00t9oxG.js +56 -0
- package/build/server/chunks/entries/endpoints/api/health/_server.ts.js-A00t9oxG.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/invites/_id_/_server.ts.js-D_xEGLcw.js +49 -0
- package/build/server/chunks/entries/endpoints/api/invites/_id_/_server.ts.js-D_xEGLcw.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/invites/_server.ts.js-Dgx1PidW.js +77 -0
- package/build/server/chunks/entries/endpoints/api/invites/_server.ts.js-Dgx1PidW.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/_server.ts.js-B__-qCZA.js +45 -0
- package/build/server/chunks/entries/endpoints/api/me/starred/_guid_/_server.ts.js-B__-qCZA.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/org/compute/_server.ts.js-BWqlr7Hd.js +110 -0
- package/build/server/chunks/entries/endpoints/api/org/compute/_server.ts.js-BWqlr7Hd.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/_server.ts.js-B3QCGoJy.js +79 -0
- package/build/server/chunks/entries/endpoints/api/orgs/_orgId_/members/_userId_/_server.ts.js-B3QCGoJy.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/projects/_id_/_server.ts.js-6F-0PFlm.js +71 -0
- package/build/server/chunks/entries/endpoints/api/projects/_id_/_server.ts.js-6F-0PFlm.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_server.ts.js-BFmaq97W.js +65 -0
- package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_server.ts.js-BFmaq97W.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/_server.ts.js-DTlokUo_.js +64 -0
- package/build/server/chunks/entries/endpoints/api/projects/_id_/members/_userId_/_server.ts.js-DTlokUo_.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/_server.ts.js-BvqrCqZV.js +48 -0
- package/build/server/chunks/entries/endpoints/api/projects/_id_/reclaim/_server.ts.js-BvqrCqZV.js.map +1 -0
- package/build/server/chunks/entries/endpoints/api/projects/_server.ts.js-leU_84Nx.js +85 -0
- package/build/server/chunks/entries/endpoints/api/projects/_server.ts.js-leU_84Nx.js.map +1 -0
- package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-CW4BLamb.js +48 -0
- package/build/server/chunks/entries/endpoints/auth/email/callback/_server.ts.js-CW4BLamb.js.map +1 -0
- package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-Cn9baLry.js +52 -0
- package/build/server/chunks/entries/endpoints/auth/supabase/callback/_server.ts.js-Cn9baLry.js.map +1 -0
- package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-YxiD2iVO.js +51 -0
- package/build/server/chunks/entries/endpoints/auth/supabase/start/_server.ts.js-YxiD2iVO.js.map +1 -0
- package/build/server/chunks/entries/hooks.server.js-bN3sgEaQ.js +341 -0
- package/build/server/chunks/entries/hooks.server.js-bN3sgEaQ.js.map +1 -0
- package/build/server/chunks/entries/pages/_error.svelte.js-BPgus5uY.js +35 -0
- package/build/server/chunks/entries/pages/_error.svelte.js-BPgus5uY.js.map +1 -0
- package/build/server/chunks/entries/pages/_layout.server.ts.js-i5sNzfgp.js +34 -0
- package/build/server/chunks/entries/pages/_layout.server.ts.js-i5sNzfgp.js.map +1 -0
- package/build/server/chunks/entries/pages/_layout.svelte.js-PxIwrFIi.js +644 -0
- package/build/server/chunks/entries/pages/_layout.svelte.js-PxIwrFIi.js.map +1 -0
- package/build/server/chunks/entries/pages/_page.server.ts.js-uN4KY6yT.js +12 -0
- package/build/server/chunks/entries/pages/_page.server.ts.js-uN4KY6yT.js.map +1 -0
- package/build/server/chunks/entries/pages/_page.svelte.js-C3CdYJ8Y.js +76 -0
- package/build/server/chunks/entries/pages/_page.svelte.js-C3CdYJ8Y.js.map +1 -0
- package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-D92N4MfM.js +109 -0
- package/build/server/chunks/entries/pages/accept-invite/_page.server.ts.js-D92N4MfM.js.map +1 -0
- package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-Bw4mDBgj.js +148 -0
- package/build/server/chunks/entries/pages/accept-invite/_page.svelte.js-Bw4mDBgj.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/_error.svelte.js-DiYtKa0_.js +36 -0
- package/build/server/chunks/entries/pages/admin/_error.svelte.js-DiYtKa0_.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-CfMnIH9f.js +31 -0
- package/build/server/chunks/entries/pages/admin/_layout.server.ts.js-CfMnIH9f.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/_layout.svelte.js-D_-AZdM0.js +121 -0
- package/build/server/chunks/entries/pages/admin/_layout.svelte.js-D_-AZdM0.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/_page.server.ts.js-CmMD4AwU.js +75 -0
- package/build/server/chunks/entries/pages/admin/_page.server.ts.js-CmMD4AwU.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/_page.svelte.js-Dn97wpia.js +359 -0
- package/build/server/chunks/entries/pages/admin/_page.svelte.js-Dn97wpia.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-CHrfPCF5.js +245 -0
- package/build/server/chunks/entries/pages/admin/audit/_page.server.ts.js-CHrfPCF5.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/audit/_page.svelte.js-DKtY2Bbo.js +459 -0
- package/build/server/chunks/entries/pages/admin/audit/_page.svelte.js-DKtY2Bbo.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-CuXWmYGp.js +45 -0
- package/build/server/chunks/entries/pages/admin/compute/_page.server.ts.js-CuXWmYGp.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-3VheJpBQ.js +612 -0
- package/build/server/chunks/entries/pages/admin/compute/_page.svelte.js-3VheJpBQ.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-DY5J4mc_.js +35 -0
- package/build/server/chunks/entries/pages/admin/organizations/_page.server.ts.js-DY5J4mc_.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/organizations/_page.svelte.js-CSNwqH1H.js +95 -0
- package/build/server/chunks/entries/pages/admin/organizations/_page.svelte.js-CSNwqH1H.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-B2axmFCj.js +86 -0
- package/build/server/chunks/entries/pages/admin/projects/_id_/_page.server.ts.js-B2axmFCj.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-DonYN1Ds.js +616 -0
- package/build/server/chunks/entries/pages/admin/projects/_id_/_page.svelte.js-DonYN1Ds.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-BTxvr6mI.js +42 -0
- package/build/server/chunks/entries/pages/admin/projects/_page.server.ts.js-BTxvr6mI.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-BM5A0rkN.js +282 -0
- package/build/server/chunks/entries/pages/admin/projects/_page.svelte.js-BM5A0rkN.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-ClTMrj80.js +79 -0
- package/build/server/chunks/entries/pages/admin/system/_page.server.ts.js-ClTMrj80.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-DR1hipue.js +1363 -0
- package/build/server/chunks/entries/pages/admin/system/_page.svelte.js-DR1hipue.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-DYzUydL1.js +70 -0
- package/build/server/chunks/entries/pages/admin/users/_page.server.ts.js-DYzUydL1.js.map +1 -0
- package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-BucX_9sF.js +681 -0
- package/build/server/chunks/entries/pages/admin/users/_page.svelte.js-BucX_9sF.js.map +1 -0
- package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-Dx3cCf3T.js +62 -0
- package/build/server/chunks/entries/pages/auth/email/sent/_page.svelte.js-Dx3cCf3T.js.map +1 -0
- package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-DnfZ3Mmf.js +62 -0
- package/build/server/chunks/entries/pages/auth/email/start/_page.server.ts.js-DnfZ3Mmf.js.map +1 -0
- package/build/server/chunks/entries/pages/auth/email/start/_page.svelte.js-BycsE8rL.js +15 -0
- package/build/server/chunks/entries/pages/auth/email/start/_page.svelte.js-BycsE8rL.js.map +1 -0
- package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-DGYJ32pv.js +124 -0
- package/build/server/chunks/entries/pages/library/_guid_/_page.server.ts.js-DGYJ32pv.js.map +1 -0
- package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-DHN53ehq.js +12096 -0
- package/build/server/chunks/entries/pages/library/_guid_/_page.svelte.js-DHN53ehq.js.map +1 -0
- package/build/server/chunks/entries/pages/library/_layout.svelte.js-BMCgmjSm.js +11 -0
- package/build/server/chunks/entries/pages/library/_layout.svelte.js-BMCgmjSm.js.map +1 -0
- package/build/server/chunks/entries/pages/library/_page.server.ts.js-BjiPxbmt.js +73 -0
- package/build/server/chunks/entries/pages/library/_page.server.ts.js-BjiPxbmt.js.map +1 -0
- package/build/server/chunks/entries/pages/library/_page.svelte.js-1gntWlkk.js +328 -0
- package/build/server/chunks/entries/pages/library/_page.svelte.js-1gntWlkk.js.map +1 -0
- package/build/server/chunks/entries/pages/login/_page.server.ts.js-DMGOwB2E.js +76 -0
- package/build/server/chunks/entries/pages/login/_page.server.ts.js-DMGOwB2E.js.map +1 -0
- package/build/server/chunks/entries/pages/login/_page.svelte.js-CQqtzw2V.js +256 -0
- package/build/server/chunks/entries/pages/login/_page.svelte.js-CQqtzw2V.js.map +1 -0
- package/build/server/chunks/entries/pages/logout/_page.server.ts.js-BzJqFWUU.js +16 -0
- package/build/server/chunks/entries/pages/logout/_page.server.ts.js-BzJqFWUU.js.map +1 -0
- package/build/server/chunks/entries/pages/projects/_layout.server.ts.js-BckqP-J9.js +22 -0
- package/build/server/chunks/entries/pages/projects/_layout.server.ts.js-BckqP-J9.js.map +1 -0
- package/build/server/chunks/entries/pages/projects/_layout.svelte.js-bZZHqRUq.js +49 -0
- package/build/server/chunks/entries/pages/projects/_layout.svelte.js-bZZHqRUq.js.map +1 -0
- package/build/server/chunks/entries/pages/projects/_page.server.ts.js-CGAQADjp.js +101 -0
- package/build/server/chunks/entries/pages/projects/_page.server.ts.js-CGAQADjp.js.map +1 -0
- package/build/server/chunks/entries/pages/projects/_page.svelte.js-DuYt1pGa.js +3745 -0
- package/build/server/chunks/entries/pages/projects/_page.svelte.js-DuYt1pGa.js.map +1 -0
- package/build/server/chunks/entries/pages/setup/_page.server.ts.js-Cht_e3W1.js +113 -0
- package/build/server/chunks/entries/pages/setup/_page.server.ts.js-Cht_e3W1.js.map +1 -0
- package/build/server/chunks/entries/pages/setup/_page.svelte.js-CkRPD2-y.js +321 -0
- package/build/server/chunks/entries/pages/setup/_page.svelte.js-CkRPD2-y.js.map +1 -0
- package/build/server/chunks/entries/pages/team/_layout.server.ts.js-C6ydG0ba.js +28 -0
- package/build/server/chunks/entries/pages/team/_layout.server.ts.js-C6ydG0ba.js.map +1 -0
- package/build/server/chunks/entries/pages/team/_layout.svelte.js-C10q4GW6.js +162 -0
- package/build/server/chunks/entries/pages/team/_layout.svelte.js-C10q4GW6.js.map +1 -0
- package/build/server/chunks/entries/pages/team/_page.server.ts.js-Dm0BcY_1.js +35 -0
- package/build/server/chunks/entries/pages/team/_page.server.ts.js-Dm0BcY_1.js.map +1 -0
- package/build/server/chunks/entries/pages/team/_page.svelte.js-C0UqQ9Yp.js +110 -0
- package/build/server/chunks/entries/pages/team/_page.svelte.js-C0UqQ9Yp.js.map +1 -0
- package/build/server/chunks/entries/pages/team/activity/_page.svelte.js-CuCWw3cS.js +121 -0
- package/build/server/chunks/entries/pages/team/activity/_page.svelte.js-CuCWw3cS.js.map +1 -0
- package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-B7_0-uNx.js +42 -0
- package/build/server/chunks/entries/pages/team/compute/_page.server.ts.js-B7_0-uNx.js.map +1 -0
- package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-CSfa36i0.js +593 -0
- package/build/server/chunks/entries/pages/team/compute/_page.svelte.js-CSfa36i0.js.map +1 -0
- package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-B1J9PbcB.js +58 -0
- package/build/server/chunks/entries/pages/team/members/_page.server.ts.js-B1J9PbcB.js.map +1 -0
- package/build/server/chunks/entries/pages/team/members/_page.svelte.js-ByLm7nMt.js +539 -0
- package/build/server/chunks/entries/pages/team/members/_page.svelte.js-ByLm7nMt.js.map +1 -0
- package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-DwfdGrm_.js +42 -0
- package/build/server/chunks/entries/pages/team/projects/_page.server.ts.js-DwfdGrm_.js.map +1 -0
- package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-HSAAn-DI.js +436 -0
- package/build/server/chunks/entries/pages/team/projects/_page.svelte.js-HSAAn-DI.js.map +1 -0
- package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-CQt9n8zT.js +50 -0
- package/build/server/chunks/entries/pages/team/reclaim/_page.server.ts.js-CQt9n8zT.js.map +1 -0
- package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-C8udTojx.js +262 -0
- package/build/server/chunks/entries/pages/team/reclaim/_page.svelte.js-C8udTojx.js.map +1 -0
- package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-D3fQdI4F.js +32 -0
- package/build/server/chunks/entries/pages/team/settings/_page.server.ts.js-D3fQdI4F.js.map +1 -0
- package/build/server/chunks/entries/pages/team/settings/_page.svelte.js-CmFTz3Dt.js +303 -0
- package/build/server/chunks/entries/pages/team/settings/_page.svelte.js-CmFTz3Dt.js.map +1 -0
- package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-Wx1gYCuo.js +16 -0
- package/build/server/chunks/entries/pages/team/shares/_page.server.ts.js-Wx1gYCuo.js.map +1 -0
- package/build/server/chunks/entries/pages/team/shares/_page.svelte.js-D3E2lTCt.js +121 -0
- package/build/server/chunks/entries/pages/team/shares/_page.svelte.js-D3E2lTCt.js.map +1 -0
- package/build/server/chunks/handler-C_oBT0th.js +1206 -0
- package/build/server/chunks/handler-C_oBT0th.js.map +1 -0
- package/build/server/chunks/index-hgL9htm7.js.map +1 -1
- package/build/server/chunks/index.js-B-RhTrwV.js +3747 -0
- package/build/server/chunks/index.js-B-RhTrwV.js.map +1 -0
- package/build/server/chunks/manifest.js-DbaT8xLo.js +548 -0
- package/build/server/chunks/manifest.js-DbaT8xLo.js.map +1 -0
- package/build/server/chunks/nodes/0.js-CEpLefNw.js +25 -0
- package/build/server/chunks/nodes/0.js-CEpLefNw.js.map +1 -0
- package/build/server/chunks/nodes/1.js-DgRzBm1_.js +9 -0
- package/build/server/chunks/nodes/1.js-DgRzBm1_.js.map +1 -0
- package/build/server/chunks/nodes/10.js-DdhhLQJt.js +27 -0
- package/build/server/chunks/nodes/10.js-DdhhLQJt.js.map +1 -0
- package/build/server/chunks/nodes/11.js-Dn1bMnHV.js +28 -0
- package/build/server/chunks/nodes/11.js-Dn1bMnHV.js.map +1 -0
- package/build/server/chunks/nodes/12.js-pdOO2q2s.js +26 -0
- package/build/server/chunks/nodes/12.js-pdOO2q2s.js.map +1 -0
- package/build/server/chunks/nodes/13.js-D0HebxbI.js +26 -0
- package/build/server/chunks/nodes/13.js-D0HebxbI.js.map +1 -0
- package/build/server/chunks/nodes/14.js-CqSx1wax.js +26 -0
- package/build/server/chunks/nodes/14.js-CqSx1wax.js.map +1 -0
- package/build/server/chunks/nodes/15.js-CVKsi7kp.js +38 -0
- package/build/server/chunks/nodes/15.js-CVKsi7kp.js.map +1 -0
- package/build/server/chunks/nodes/16.js-Q_Bu1thc.js +29 -0
- package/build/server/chunks/nodes/16.js-Q_Bu1thc.js.map +1 -0
- package/build/server/chunks/nodes/17.js-CZ8hiAKX.js +9 -0
- package/build/server/chunks/nodes/17.js-CZ8hiAKX.js.map +1 -0
- package/build/server/chunks/nodes/18.js-7XdBdlyl.js +34 -0
- package/build/server/chunks/nodes/18.js-7XdBdlyl.js.map +1 -0
- package/build/server/chunks/nodes/19.js--QTqW8Rg.js +27 -0
- package/build/server/chunks/nodes/19.js--QTqW8Rg.js.map +1 -0
- package/build/server/chunks/nodes/2.js-DlRr_y1E.js +27 -0
- package/build/server/chunks/nodes/2.js-DlRr_y1E.js.map +1 -0
- package/build/server/chunks/nodes/20.js-DuurViiQ.js +40 -0
- package/build/server/chunks/nodes/20.js-DuurViiQ.js.map +1 -0
- package/build/server/chunks/nodes/21.js-DLPsGBUe.js +34 -0
- package/build/server/chunks/nodes/21.js-DLPsGBUe.js.map +1 -0
- package/build/server/chunks/nodes/22.js-iFX0FYlU.js +24 -0
- package/build/server/chunks/nodes/22.js-iFX0FYlU.js.map +1 -0
- package/build/server/chunks/nodes/23.js-DeF7i6MK.js +28 -0
- package/build/server/chunks/nodes/23.js-DeF7i6MK.js.map +1 -0
- package/build/server/chunks/nodes/24.js-IGhSaU-_.js +34 -0
- package/build/server/chunks/nodes/24.js-IGhSaU-_.js.map +1 -0
- package/build/server/chunks/nodes/25.js-DfgGSsw1.js +26 -0
- package/build/server/chunks/nodes/25.js-DfgGSsw1.js.map +1 -0
- package/build/server/chunks/nodes/26.js-DmaBW9_n.js +9 -0
- package/build/server/chunks/nodes/26.js-DmaBW9_n.js.map +1 -0
- package/build/server/chunks/nodes/27.js-C5yOaHre.js +27 -0
- package/build/server/chunks/nodes/27.js-C5yOaHre.js.map +1 -0
- package/build/server/chunks/nodes/28.js-DRt6k5eX.js +26 -0
- package/build/server/chunks/nodes/28.js-DRt6k5eX.js.map +1 -0
- package/build/server/chunks/nodes/29.js-BpciAAsH.js +26 -0
- package/build/server/chunks/nodes/29.js-BpciAAsH.js.map +1 -0
- package/build/server/chunks/nodes/3.js-D2dw1aIG.js +9 -0
- package/build/server/chunks/nodes/3.js-D2dw1aIG.js.map +1 -0
- package/build/server/chunks/nodes/30.js-B19f3CLv.js +26 -0
- package/build/server/chunks/nodes/30.js-B19f3CLv.js.map +1 -0
- package/build/server/chunks/nodes/31.js-DIaImYmw.js +26 -0
- package/build/server/chunks/nodes/31.js-DIaImYmw.js.map +1 -0
- package/build/server/chunks/nodes/32.js-Btz0fZDj.js +26 -0
- package/build/server/chunks/nodes/32.js-Btz0fZDj.js.map +1 -0
- package/build/server/chunks/nodes/4.js-CJrmx926.js +9 -0
- package/build/server/chunks/nodes/4.js-CJrmx926.js.map +1 -0
- package/build/server/chunks/nodes/5.js-BjxuAVp4.js +15 -0
- package/build/server/chunks/nodes/5.js-BjxuAVp4.js.map +1 -0
- package/build/server/chunks/nodes/6.js-BqjMGg59.js +26 -0
- package/build/server/chunks/nodes/6.js-BqjMGg59.js.map +1 -0
- package/build/server/chunks/nodes/7.js-BLQSVoBK.js +12 -0
- package/build/server/chunks/nodes/7.js-BLQSVoBK.js.map +1 -0
- package/build/server/chunks/nodes/8.js-BEznbukO.js +35 -0
- package/build/server/chunks/nodes/8.js-BEznbukO.js.map +1 -0
- package/build/server/chunks/nodes/9.js-yf_0hC1V.js +26 -0
- package/build/server/chunks/nodes/9.js-yf_0hC1V.js.map +1 -0
- package/package.json +11 -11
- package/build/client/_app/immutable/assets/20.BrHSi3n9.css +0 -1
- package/build/client/_app/immutable/assets/20.BrHSi3n9.css.br +0 -0
- package/build/client/_app/immutable/assets/20.BrHSi3n9.css.gz +0 -0
- package/build/client/_app/immutable/chunks/BBzWa3qA.js +0 -1
- package/build/client/_app/immutable/chunks/BBzWa3qA.js.br +0 -0
- package/build/client/_app/immutable/chunks/BBzWa3qA.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BK7WCFRM.js +0 -9
- package/build/client/_app/immutable/chunks/BK7WCFRM.js.br +0 -0
- package/build/client/_app/immutable/chunks/BK7WCFRM.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BhhVzvlD2.js +0 -1
- package/build/client/_app/immutable/chunks/BhhVzvlD2.js.br +0 -2
- package/build/client/_app/immutable/chunks/BhhVzvlD2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CXtUHetX.js +0 -2
- package/build/client/_app/immutable/chunks/CXtUHetX.js.br +0 -0
- package/build/client/_app/immutable/chunks/CXtUHetX.js.gz +0 -0
- package/build/client/_app/immutable/chunks/CdFTI1C32.js +0 -1
- package/build/client/_app/immutable/chunks/CdFTI1C32.js.br +0 -0
- package/build/client/_app/immutable/chunks/CdFTI1C32.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D18o7giq.js +0 -5462
- package/build/client/_app/immutable/chunks/D18o7giq.js.br +0 -0
- package/build/client/_app/immutable/chunks/D18o7giq.js.gz +0 -0
- package/build/client/_app/immutable/chunks/D6veSvGi2.js +0 -1
- package/build/client/_app/immutable/chunks/D6veSvGi2.js.br +0 -0
- package/build/client/_app/immutable/chunks/D6veSvGi2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DLJxVeKF.js +0 -1
- package/build/client/_app/immutable/chunks/DLJxVeKF.js.br +0 -0
- package/build/client/_app/immutable/chunks/DLJxVeKF.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DWtyHkJV2.js +0 -1
- package/build/client/_app/immutable/chunks/DWtyHkJV2.js.br +0 -0
- package/build/client/_app/immutable/chunks/DWtyHkJV2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DmXuEp82.js +0 -2
- package/build/client/_app/immutable/chunks/DmXuEp82.js.br +0 -0
- package/build/client/_app/immutable/chunks/DmXuEp82.js.gz +0 -0
- package/build/client/_app/immutable/chunks/US8o2gno.js +0 -1
- package/build/client/_app/immutable/chunks/US8o2gno.js.br +0 -1
- package/build/client/_app/immutable/chunks/US8o2gno.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.Dz3xDWY2.js +0 -2
- package/build/client/_app/immutable/entry/app.Dz3xDWY2.js.br +0 -0
- package/build/client/_app/immutable/entry/app.Dz3xDWY2.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CjdHinNP.js +0 -1
- package/build/client/_app/immutable/entry/start.CjdHinNP.js.br +0 -0
- package/build/client/_app/immutable/entry/start.CjdHinNP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.BEBYblyG.js +0 -1
- package/build/client/_app/immutable/nodes/0.BEBYblyG.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.BEBYblyG.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.CHlTt1nw.js +0 -1
- package/build/client/_app/immutable/nodes/1.CHlTt1nw.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.CHlTt1nw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.DYxX8snQ.js +0 -2
- package/build/client/_app/immutable/nodes/11.DYxX8snQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.DYxX8snQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.PJ_nEO9o.js +0 -2
- package/build/client/_app/immutable/nodes/13.PJ_nEO9o.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.PJ_nEO9o.js.gz +0 -0
- package/build/client/_app/immutable/nodes/14.Ctb4mvh8.js +0 -2
- package/build/client/_app/immutable/nodes/14.Ctb4mvh8.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.Ctb4mvh8.js.gz +0 -0
- package/build/client/_app/immutable/nodes/15.D3Qq0RX1.js +0 -21
- package/build/client/_app/immutable/nodes/15.D3Qq0RX1.js.br +0 -0
- package/build/client/_app/immutable/nodes/15.D3Qq0RX1.js.gz +0 -0
- package/build/client/_app/immutable/nodes/16.6kNkDIyt.js +0 -6
- package/build/client/_app/immutable/nodes/16.6kNkDIyt.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.6kNkDIyt.js.gz +0 -0
- package/build/client/_app/immutable/nodes/17.Ck0fNI2w.js +0 -2
- package/build/client/_app/immutable/nodes/17.Ck0fNI2w.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.Ck0fNI2w.js.gz +0 -0
- package/build/client/_app/immutable/nodes/19.C--JbWpd.js +0 -2
- package/build/client/_app/immutable/nodes/19.C--JbWpd.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.C--JbWpd.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.BKtNEZua.js +0 -1
- package/build/client/_app/immutable/nodes/2.BKtNEZua.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.BKtNEZua.js.gz +0 -0
- package/build/client/_app/immutable/nodes/20.D4uw09Oo.js +0 -12
- package/build/client/_app/immutable/nodes/20.D4uw09Oo.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.D4uw09Oo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/21.BqXhyb_Q.js +0 -6
- package/build/client/_app/immutable/nodes/21.BqXhyb_Q.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.BqXhyb_Q.js.gz +0 -0
- package/build/client/_app/immutable/nodes/23.DSTt63Xq.js +0 -16
- package/build/client/_app/immutable/nodes/23.DSTt63Xq.js.br +0 -0
- package/build/client/_app/immutable/nodes/23.DSTt63Xq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/24.DY_4QzGJ.js +0 -6
- package/build/client/_app/immutable/nodes/24.DY_4QzGJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.DY_4QzGJ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/27.D1TAx9Xr.js +0 -4
- package/build/client/_app/immutable/nodes/27.D1TAx9Xr.js.br +0 -0
- package/build/client/_app/immutable/nodes/27.D1TAx9Xr.js.gz +0 -0
- package/build/client/_app/immutable/nodes/28.DkYiGS2F.js +0 -4
- package/build/client/_app/immutable/nodes/28.DkYiGS2F.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.DkYiGS2F.js.gz +0 -0
- package/build/client/_app/immutable/nodes/29.BRJngXzv.js +0 -2
- package/build/client/_app/immutable/nodes/29.BRJngXzv.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.BRJngXzv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.qpFu7m_f.js +0 -1
- package/build/client/_app/immutable/nodes/3.qpFu7m_f.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.qpFu7m_f.js.gz +0 -0
- package/build/client/_app/immutable/nodes/30.CUYXLLsj.js +0 -2
- package/build/client/_app/immutable/nodes/30.CUYXLLsj.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.CUYXLLsj.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.CY1ejLyI.js +0 -1
- package/build/client/_app/immutable/nodes/5.CY1ejLyI.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.CY1ejLyI.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.CW-wYpu-.js +0 -1
- package/build/client/_app/immutable/nodes/6.CW-wYpu-.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.CW-wYpu-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.BafZsotL.js +0 -1
- package/build/client/_app/immutable/nodes/7.BafZsotL.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.BafZsotL.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.Ced2gDkn.js +0 -2
- package/build/client/_app/immutable/nodes/8.Ced2gDkn.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.Ced2gDkn.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.DzIQ_Buo.js +0 -1
- package/build/client/_app/immutable/nodes/9.DzIQ_Buo.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.DzIQ_Buo.js.gz +0 -0
- package/build/server/chunks/0-DHyY97Xb.js +0 -57
- package/build/server/chunks/0-DHyY97Xb.js.map +0 -1
- package/build/server/chunks/1-DSCEsB8F.js +0 -9
- package/build/server/chunks/1-DSCEsB8F.js.map +0 -1
- package/build/server/chunks/10-B5lB-zE2.js +0 -267
- package/build/server/chunks/10-B5lB-zE2.js.map +0 -1
- package/build/server/chunks/11-DP_RjGir.js +0 -67
- package/build/server/chunks/11-DP_RjGir.js.map +0 -1
- package/build/server/chunks/12-BCb3ElSH.js +0 -56
- package/build/server/chunks/12-BCb3ElSH.js.map +0 -1
- package/build/server/chunks/13-CI8wYQYr.js +0 -63
- package/build/server/chunks/13-CI8wYQYr.js.map +0 -1
- package/build/server/chunks/14-CAweaRzj.js +0 -107
- package/build/server/chunks/14-CAweaRzj.js.map +0 -1
- package/build/server/chunks/15-BHQs7fvH.js +0 -107
- package/build/server/chunks/15-BHQs7fvH.js.map +0 -1
- package/build/server/chunks/16-DcSfdlxV.js +0 -93
- package/build/server/chunks/16-DcSfdlxV.js.map +0 -1
- package/build/server/chunks/17-DOxQlrYL.js +0 -9
- package/build/server/chunks/17-DOxQlrYL.js.map +0 -1
- package/build/server/chunks/18-DNVJEq4g.js +0 -89
- package/build/server/chunks/18-DNVJEq4g.js.map +0 -1
- package/build/server/chunks/19-CXxpeOhH.js +0 -94
- package/build/server/chunks/19-CXxpeOhH.js.map +0 -1
- package/build/server/chunks/2-d4E1x03q.js +0 -53
- package/build/server/chunks/2-d4E1x03q.js.map +0 -1
- package/build/server/chunks/20-8yM4OC0m.js +0 -153
- package/build/server/chunks/20-8yM4OC0m.js.map +0 -1
- package/build/server/chunks/21-C5Kik1Cj.js +0 -103
- package/build/server/chunks/21-C5Kik1Cj.js.map +0 -1
- package/build/server/chunks/22-vR7h8IoL.js +0 -36
- package/build/server/chunks/22-vR7h8IoL.js.map +0 -1
- package/build/server/chunks/23-BeJ2QFXZ.js +0 -123
- package/build/server/chunks/23-BeJ2QFXZ.js.map +0 -1
- package/build/server/chunks/24-iQi-hyDW.js +0 -137
- package/build/server/chunks/24-iQi-hyDW.js.map +0 -1
- package/build/server/chunks/25-Cxuavdkd.js +0 -57
- package/build/server/chunks/25-Cxuavdkd.js.map +0 -1
- package/build/server/chunks/26-DJQv_pXx.js +0 -9
- package/build/server/chunks/26-DJQv_pXx.js.map +0 -1
- package/build/server/chunks/27-COhdg6nO.js +0 -63
- package/build/server/chunks/27-COhdg6nO.js.map +0 -1
- package/build/server/chunks/28-BEAyDOjL.js +0 -79
- package/build/server/chunks/28-BEAyDOjL.js.map +0 -1
- package/build/server/chunks/29-pbqYHI6h.js +0 -63
- package/build/server/chunks/29-pbqYHI6h.js.map +0 -1
- package/build/server/chunks/3-BA68ft53.js +0 -9
- package/build/server/chunks/3-BA68ft53.js.map +0 -1
- package/build/server/chunks/30-DEUk073r.js +0 -71
- package/build/server/chunks/30-DEUk073r.js.map +0 -1
- package/build/server/chunks/31-Cc78mzM0.js +0 -53
- package/build/server/chunks/31-Cc78mzM0.js.map +0 -1
- package/build/server/chunks/32-DDiqbq1B.js +0 -38
- package/build/server/chunks/32-DDiqbq1B.js.map +0 -1
- package/build/server/chunks/4-ISKgQYvO.js +0 -9
- package/build/server/chunks/4-ISKgQYvO.js.map +0 -1
- package/build/server/chunks/5-CTUHI7IU.js +0 -31
- package/build/server/chunks/5-CTUHI7IU.js.map +0 -1
- package/build/server/chunks/6-C7DHxDpJ.js +0 -50
- package/build/server/chunks/6-C7DHxDpJ.js.map +0 -1
- package/build/server/chunks/7-vRGEvb-N.js +0 -20
- package/build/server/chunks/7-vRGEvb-N.js.map +0 -1
- package/build/server/chunks/8-BbZrduXO.js +0 -136
- package/build/server/chunks/8-BbZrduXO.js.map +0 -1
- package/build/server/chunks/9-l9XT4eMM.js +0 -97
- package/build/server/chunks/9-l9XT4eMM.js.map +0 -1
- package/build/server/chunks/AppHeader-UApIKWbi.js +0 -281
- package/build/server/chunks/AppHeader-UApIKWbi.js.map +0 -1
- package/build/server/chunks/DataTable-BcTpHLGp.js +0 -27
- package/build/server/chunks/DataTable-BcTpHLGp.js.map +0 -1
- package/build/server/chunks/DefinitionCard-zbSTz9yf.js +0 -269
- package/build/server/chunks/DefinitionCard-zbSTz9yf.js.map +0 -1
- package/build/server/chunks/EmptyState-CykuAciN.js +0 -40
- package/build/server/chunks/EmptyState-CykuAciN.js.map +0 -1
- package/build/server/chunks/ErrorScreen-BKDr0QUN.js +0 -123
- package/build/server/chunks/ErrorScreen-BKDr0QUN.js.map +0 -1
- package/build/server/chunks/FilterableDropdown-DHYbOEVY.js +0 -45
- package/build/server/chunks/FilterableDropdown-DHYbOEVY.js.map +0 -1
- package/build/server/chunks/SectionHeader-DP5U7pkb.js +0 -27
- package/build/server/chunks/SectionHeader-DP5U7pkb.js.map +0 -1
- package/build/server/chunks/SideNav-CTjCV8Cj.js +0 -67
- package/build/server/chunks/SideNav-CTjCV8Cj.js.map +0 -1
- package/build/server/chunks/StatCard-BKG_kexo.js +0 -51
- package/build/server/chunks/StatCard-BKG_kexo.js.map +0 -1
- package/build/server/chunks/UserAvatar-Bhcmexxt.js +0 -14
- package/build/server/chunks/UserAvatar-Bhcmexxt.js.map +0 -1
- package/build/server/chunks/UserChip-Dg7Jjsbx.js +0 -1162
- package/build/server/chunks/UserChip-Dg7Jjsbx.js.map +0 -1
- package/build/server/chunks/_error.svelte-BlHlofQW.js +0 -29
- package/build/server/chunks/_error.svelte-BlHlofQW.js.map +0 -1
- package/build/server/chunks/_error.svelte-Cfb4iRyl.js +0 -30
- package/build/server/chunks/_error.svelte-Cfb4iRyl.js.map +0 -1
- package/build/server/chunks/_layout.svelte-BMCgmjSm.js +0 -11
- package/build/server/chunks/_layout.svelte-BMCgmjSm.js.map +0 -1
- package/build/server/chunks/_layout.svelte-DRGOJOmF.js +0 -646
- package/build/server/chunks/_layout.svelte-DRGOJOmF.js.map +0 -1
- package/build/server/chunks/_layout.svelte-DshS2ion.js +0 -115
- package/build/server/chunks/_layout.svelte-DshS2ion.js.map +0 -1
- package/build/server/chunks/_layout.svelte-WxuxdA7O.js +0 -43
- package/build/server/chunks/_layout.svelte-WxuxdA7O.js.map +0 -1
- package/build/server/chunks/_layout.svelte-lEP57U8M.js +0 -156
- package/build/server/chunks/_layout.svelte-lEP57U8M.js.map +0 -1
- package/build/server/chunks/_page.svelte-B2LYQkQG.js +0 -56
- package/build/server/chunks/_page.svelte-B2LYQkQG.js.map +0 -1
- package/build/server/chunks/_page.svelte-BHDj9YYk.js +0 -250
- package/build/server/chunks/_page.svelte-BHDj9YYk.js.map +0 -1
- package/build/server/chunks/_page.svelte-BIuPQmCA.js +0 -353
- package/build/server/chunks/_page.svelte-BIuPQmCA.js.map +0 -1
- package/build/server/chunks/_page.svelte-BKIJgyGh.js +0 -256
- package/build/server/chunks/_page.svelte-BKIJgyGh.js.map +0 -1
- package/build/server/chunks/_page.svelte-BZ1eSdxq.js +0 -430
- package/build/server/chunks/_page.svelte-BZ1eSdxq.js.map +0 -1
- package/build/server/chunks/_page.svelte-Bab0ivy4.js +0 -70
- package/build/server/chunks/_page.svelte-Bab0ivy4.js.map +0 -1
- package/build/server/chunks/_page.svelte-Bci4JOcF.js +0 -305
- package/build/server/chunks/_page.svelte-Bci4JOcF.js.map +0 -1
- package/build/server/chunks/_page.svelte-Bx_X_kJ_.js +0 -142
- package/build/server/chunks/_page.svelte-Bx_X_kJ_.js.map +0 -1
- package/build/server/chunks/_page.svelte-CIpUCjZP.js +0 -315
- package/build/server/chunks/_page.svelte-CIpUCjZP.js.map +0 -1
- package/build/server/chunks/_page.svelte-CP3RFOZu.js +0 -112
- package/build/server/chunks/_page.svelte-CP3RFOZu.js.map +0 -1
- package/build/server/chunks/_page.svelte-Cj6crvDA.js +0 -610
- package/build/server/chunks/_page.svelte-Cj6crvDA.js.map +0 -1
- package/build/server/chunks/_page.svelte-Cn1WFFoU.js +0 -1357
- package/build/server/chunks/_page.svelte-Cn1WFFoU.js.map +0 -1
- package/build/server/chunks/_page.svelte-Crpks5OJ.js +0 -533
- package/build/server/chunks/_page.svelte-Crpks5OJ.js.map +0 -1
- package/build/server/chunks/_page.svelte-DTjXEiHz.js +0 -12103
- package/build/server/chunks/_page.svelte-DTjXEiHz.js.map +0 -1
- package/build/server/chunks/_page.svelte-DWxNOQ6n.js +0 -606
- package/build/server/chunks/_page.svelte-DWxNOQ6n.js.map +0 -1
- package/build/server/chunks/_page.svelte-DbKDfrGK.js +0 -123
- package/build/server/chunks/_page.svelte-DbKDfrGK.js.map +0 -1
- package/build/server/chunks/_page.svelte-DdRrpBwu.js +0 -17
- package/build/server/chunks/_page.svelte-DdRrpBwu.js.map +0 -1
- package/build/server/chunks/_page.svelte-DfIMyzIB.js +0 -276
- package/build/server/chunks/_page.svelte-DfIMyzIB.js.map +0 -1
- package/build/server/chunks/_page.svelte-Dm_80qGy.js +0 -459
- package/build/server/chunks/_page.svelte-Dm_80qGy.js.map +0 -1
- package/build/server/chunks/_page.svelte-Hx-YcRAO.js +0 -322
- package/build/server/chunks/_page.svelte-Hx-YcRAO.js.map +0 -1
- package/build/server/chunks/_page.svelte-N7U9IF1O.js +0 -3739
- package/build/server/chunks/_page.svelte-N7U9IF1O.js.map +0 -1
- package/build/server/chunks/_page.svelte-S_NR2PlW.js +0 -587
- package/build/server/chunks/_page.svelte-S_NR2PlW.js.map +0 -1
- package/build/server/chunks/_page.svelte-Y4JK8Cbk.js +0 -97
- package/build/server/chunks/_page.svelte-Y4JK8Cbk.js.map +0 -1
- package/build/server/chunks/_page.svelte-oLgvSdbq.js +0 -675
- package/build/server/chunks/_page.svelte-oLgvSdbq.js.map +0 -1
- package/build/server/chunks/_page.svelte-x_3nX0nv.js +0 -123
- package/build/server/chunks/_page.svelte-x_3nX0nv.js.map +0 -1
- package/build/server/chunks/_server.ts-4CJmRu-P.js +0 -95
- package/build/server/chunks/_server.ts-4CJmRu-P.js.map +0 -1
- package/build/server/chunks/_server.ts-B3Q8iHqx.js +0 -49
- package/build/server/chunks/_server.ts-B3Q8iHqx.js.map +0 -1
- package/build/server/chunks/_server.ts-B8lNf8Pj.js +0 -47
- package/build/server/chunks/_server.ts-B8lNf8Pj.js.map +0 -1
- package/build/server/chunks/_server.ts-BEQ3mJ_F.js +0 -61
- package/build/server/chunks/_server.ts-BEQ3mJ_F.js.map +0 -1
- package/build/server/chunks/_server.ts-BGLeEDXM.js +0 -81
- package/build/server/chunks/_server.ts-BGLeEDXM.js.map +0 -1
- package/build/server/chunks/_server.ts-BHXeIqep.js +0 -405
- package/build/server/chunks/_server.ts-BHXeIqep.js.map +0 -1
- package/build/server/chunks/_server.ts-BRhCkiOS.js +0 -73
- package/build/server/chunks/_server.ts-BRhCkiOS.js.map +0 -1
- package/build/server/chunks/_server.ts-Blj-Er1d.js +0 -88
- package/build/server/chunks/_server.ts-Blj-Er1d.js.map +0 -1
- package/build/server/chunks/_server.ts-Bq6Ehuf4.js +0 -42
- package/build/server/chunks/_server.ts-Bq6Ehuf4.js.map +0 -1
- package/build/server/chunks/_server.ts-BwKuaDmz.js +0 -76
- package/build/server/chunks/_server.ts-BwKuaDmz.js.map +0 -1
- package/build/server/chunks/_server.ts-BxWRNeQe.js +0 -67
- package/build/server/chunks/_server.ts-BxWRNeQe.js.map +0 -1
- package/build/server/chunks/_server.ts-C3bV78Nm.js +0 -87
- package/build/server/chunks/_server.ts-C3bV78Nm.js.map +0 -1
- package/build/server/chunks/_server.ts-C4-csKG0.js +0 -58
- package/build/server/chunks/_server.ts-C4-csKG0.js.map +0 -1
- package/build/server/chunks/_server.ts-CD_EFk_2.js +0 -50
- package/build/server/chunks/_server.ts-CD_EFk_2.js.map +0 -1
- package/build/server/chunks/_server.ts-CGsgc2UI.js +0 -47
- package/build/server/chunks/_server.ts-CGsgc2UI.js.map +0 -1
- package/build/server/chunks/_server.ts-CHpN9D-7.js +0 -36
- package/build/server/chunks/_server.ts-CHpN9D-7.js.map +0 -1
- package/build/server/chunks/_server.ts-CN54bMmj.js +0 -105
- package/build/server/chunks/_server.ts-CN54bMmj.js.map +0 -1
- package/build/server/chunks/_server.ts-CSwl9qmd.js +0 -48
- package/build/server/chunks/_server.ts-CSwl9qmd.js.map +0 -1
- package/build/server/chunks/_server.ts-CUJCtT9q.js +0 -45
- package/build/server/chunks/_server.ts-CUJCtT9q.js.map +0 -1
- package/build/server/chunks/_server.ts-Cc8LXBNS.js +0 -65
- package/build/server/chunks/_server.ts-Cc8LXBNS.js.map +0 -1
- package/build/server/chunks/_server.ts-CmYFObSo.js +0 -48
- package/build/server/chunks/_server.ts-CmYFObSo.js.map +0 -1
- package/build/server/chunks/_server.ts-CsoNHjNf.js +0 -94
- package/build/server/chunks/_server.ts-CsoNHjNf.js.map +0 -1
- package/build/server/chunks/_server.ts-CtBoiI6s.js +0 -66
- package/build/server/chunks/_server.ts-CtBoiI6s.js.map +0 -1
- package/build/server/chunks/_server.ts-CxvK94b_.js +0 -74
- package/build/server/chunks/_server.ts-CxvK94b_.js.map +0 -1
- package/build/server/chunks/_server.ts-D0c72M1j.js +0 -79
- package/build/server/chunks/_server.ts-D0c72M1j.js.map +0 -1
- package/build/server/chunks/_server.ts-D8-Ng03C.js +0 -52
- package/build/server/chunks/_server.ts-D8-Ng03C.js.map +0 -1
- package/build/server/chunks/_server.ts-D9d7x25e.js +0 -76
- package/build/server/chunks/_server.ts-D9d7x25e.js.map +0 -1
- package/build/server/chunks/_server.ts-DCjZhN9z.js +0 -92
- package/build/server/chunks/_server.ts-DCjZhN9z.js.map +0 -1
- package/build/server/chunks/_server.ts-DWUABgi_.js +0 -210
- package/build/server/chunks/_server.ts-DWUABgi_.js.map +0 -1
- package/build/server/chunks/_server.ts-DiLKBNlb.js +0 -55
- package/build/server/chunks/_server.ts-DiLKBNlb.js.map +0 -1
- package/build/server/chunks/_server.ts-DksW16Kb.js +0 -78
- package/build/server/chunks/_server.ts-DksW16Kb.js.map +0 -1
- package/build/server/chunks/_server.ts-DmUctCDE.js +0 -73
- package/build/server/chunks/_server.ts-DmUctCDE.js.map +0 -1
- package/build/server/chunks/_server.ts-DmY49CqO.js +0 -86
- package/build/server/chunks/_server.ts-DmY49CqO.js.map +0 -1
- package/build/server/chunks/_server.ts-DnWIS7Sj.js +0 -0
- package/build/server/chunks/_server.ts-DnWIS7Sj.js.map +0 -1
- package/build/server/chunks/_server.ts-DoP11LoZ.js +0 -42
- package/build/server/chunks/_server.ts-DoP11LoZ.js.map +0 -1
- package/build/server/chunks/_server.ts-HN9AJemD.js +0 -53
- package/build/server/chunks/_server.ts-HN9AJemD.js.map +0 -1
- package/build/server/chunks/_server.ts-Ief6fYfl.js +0 -111
- package/build/server/chunks/_server.ts-Ief6fYfl.js.map +0 -1
- package/build/server/chunks/_server.ts-Vhd5UmX6.js +0 -49
- package/build/server/chunks/_server.ts-Vhd5UmX6.js.map +0 -1
- package/build/server/chunks/_server.ts-WrKWZCbL.js +0 -81
- package/build/server/chunks/_server.ts-WrKWZCbL.js.map +0 -1
- package/build/server/chunks/_server.ts-XiIlc3gv.js +0 -87
- package/build/server/chunks/_server.ts-XiIlc3gv.js.map +0 -1
- package/build/server/chunks/_server.ts-ZH-Zoyxa.js +0 -53
- package/build/server/chunks/_server.ts-ZH-Zoyxa.js.map +0 -1
- package/build/server/chunks/_server.ts-qjSt_hgr.js +0 -51
- package/build/server/chunks/_server.ts-qjSt_hgr.js.map +0 -1
- package/build/server/chunks/_server.ts-r2Qgi-oV.js +0 -91
- package/build/server/chunks/_server.ts-r2Qgi-oV.js.map +0 -1
- package/build/server/chunks/access.server-BWOmKi8Z.js +0 -453
- package/build/server/chunks/access.server-BWOmKi8Z.js.map +0 -1
- package/build/server/chunks/access2.server-eKvDje88.js +0 -22
- package/build/server/chunks/access2.server-eKvDje88.js.map +0 -1
- package/build/server/chunks/activity-BRCU4E_M.js +0 -15
- package/build/server/chunks/activity-BRCU4E_M.js.map +0 -1
- package/build/server/chunks/admin-auth.server-DuW75w_u.js +0 -180
- package/build/server/chunks/admin-auth.server-DuW75w_u.js.map +0 -1
- package/build/server/chunks/alert-description-MnqU0JhN.js +0 -45
- package/build/server/chunks/alert-description-MnqU0JhN.js.map +0 -1
- package/build/server/chunks/alert-dialog-CLSmFPsP.js +0 -462
- package/build/server/chunks/alert-dialog-CLSmFPsP.js.map +0 -1
- package/build/server/chunks/api-errors-BQbl4HI1.js +0 -141
- package/build/server/chunks/api-errors-BQbl4HI1.js.map +0 -1
- package/build/server/chunks/arrow-left-BRL7vvNb.js +0 -15
- package/build/server/chunks/arrow-left-BRL7vvNb.js.map +0 -1
- package/build/server/chunks/arrow-right-uJcAm3Dz.js +0 -15
- package/build/server/chunks/arrow-right-uJcAm3Dz.js.map +0 -1
- package/build/server/chunks/auth-bootstrap.server-Dvp4YNB1.js +0 -162
- package/build/server/chunks/auth-bootstrap.server-Dvp4YNB1.js.map +0 -1
- package/build/server/chunks/badge-BMRscQ8D.js +0 -35
- package/build/server/chunks/badge-BMRscQ8D.js.map +0 -1
- package/build/server/chunks/bootHealth.server-D4sBZygr.js +0 -91
- package/build/server/chunks/bootHealth.server-D4sBZygr.js.map +0 -1
- package/build/server/chunks/building-2-TRAKWotr.js +0 -21
- package/build/server/chunks/building-2-TRAKWotr.js.map +0 -1
- package/build/server/chunks/button-mWbBZBpb.js +0 -71
- package/build/server/chunks/button-mWbBZBpb.js.map +0 -1
- package/build/server/chunks/card-content-By05a9Ic.js +0 -35
- package/build/server/chunks/card-content-By05a9Ic.js.map +0 -1
- package/build/server/chunks/card-description-BN-vEuiU.js +0 -20
- package/build/server/chunks/card-description-BN-vEuiU.js.map +0 -1
- package/build/server/chunks/card-title-BxcmmVRl.js +0 -35
- package/build/server/chunks/card-title-BxcmmVRl.js.map +0 -1
- package/build/server/chunks/check-DSmSEGza.js +0 -15
- package/build/server/chunks/check-DSmSEGza.js.map +0 -1
- package/build/server/chunks/chevron-down-40ILRRFy.js +0 -15
- package/build/server/chunks/chevron-down-40ILRRFy.js.map +0 -1
- package/build/server/chunks/chevron-right-BlKgDPPn.js +0 -15
- package/build/server/chunks/chevron-right-BlKgDPPn.js.map +0 -1
- package/build/server/chunks/chevron-up-DFBN0p3A.js +0 -15
- package/build/server/chunks/chevron-up-DFBN0p3A.js.map +0 -1
- package/build/server/chunks/chunk-KJVV3L5H-CW09ekr4.js +0 -2944
- package/build/server/chunks/chunk-KJVV3L5H-CW09ekr4.js.map +0 -1
- package/build/server/chunks/chunk-Y3M7P3BW-CpcVbL4P.js +0 -982
- package/build/server/chunks/chunk-Y3M7P3BW-CpcVbL4P.js.map +0 -1
- package/build/server/chunks/circle-ZI_1HOyA.js +0 -19
- package/build/server/chunks/circle-ZI_1HOyA.js.map +0 -1
- package/build/server/chunks/circle-alert-Cq1Sg_SW.js +0 -33
- package/build/server/chunks/circle-alert-Cq1Sg_SW.js.map +0 -1
- package/build/server/chunks/client-3pEKJly8.js +0 -54
- package/build/server/chunks/client-3pEKJly8.js.map +0 -1
- package/build/server/chunks/clientCache.server-CM1IqDWH.js +0 -194
- package/build/server/chunks/clientCache.server-CM1IqDWH.js.map +0 -1
- package/build/server/chunks/compute-B8HU5cQL.js +0 -2244
- package/build/server/chunks/compute-B8HU5cQL.js.map +0 -1
- package/build/server/chunks/computeLimits-DvrrqPiD.js +0 -48
- package/build/server/chunks/computeLimits-DvrrqPiD.js.map +0 -1
- package/build/server/chunks/copy-Cx6g3Ol2.js +0 -22
- package/build/server/chunks/copy-Cx6g3Ol2.js.map +0 -1
- package/build/server/chunks/create-id-BeZr-sz1.js +0 -809
- package/build/server/chunks/create-id-BeZr-sz1.js.map +0 -1
- package/build/server/chunks/dialog-QT0ntL_f.js +0 -367
- package/build/server/chunks/dialog-QT0ntL_f.js.map +0 -1
- package/build/server/chunks/dialog-description-CMS5IhPI.js +0 -495
- package/build/server/chunks/dialog-description-CMS5IhPI.js.map +0 -1
- package/build/server/chunks/dialog-footer-Xfa8Ucuw.js +0 -59
- package/build/server/chunks/dialog-footer-Xfa8Ucuw.js.map +0 -1
- package/build/server/chunks/esm-BE6izdSa.js +0 -7
- package/build/server/chunks/esm-BE6izdSa.js.map +0 -1
- package/build/server/chunks/esm2-C_Dsvb5P.js +0 -986
- package/build/server/chunks/esm2-C_Dsvb5P.js.map +0 -1
- package/build/server/chunks/evictChangedServers-BqI2ue7s.js +0 -29
- package/build/server/chunks/evictChangedServers-BqI2ue7s.js.map +0 -1
- package/build/server/chunks/folder-kanban-oKcdqTKP.js +0 -20
- package/build/server/chunks/folder-kanban-oKcdqTKP.js.map +0 -1
- package/build/server/chunks/folder-open-BMejg_0e.js +0 -15
- package/build/server/chunks/folder-open-BMejg_0e.js.map +0 -1
- package/build/server/chunks/folders-DhP2bWAE.js +0 -15
- package/build/server/chunks/folders-DhP2bWAE.js.map +0 -1
- package/build/server/chunks/footerContext.svelte-BH2_PhgB.js +0 -707
- package/build/server/chunks/footerContext.svelte-BH2_PhgB.js.map +0 -1
- package/build/server/chunks/gauge-8PjLYfP-.js +0 -15
- package/build/server/chunks/gauge-8PjLYfP-.js.map +0 -1
- package/build/server/chunks/handler-h-yylezC.js +0 -1206
- package/build/server/chunks/handler-h-yylezC.js.map +0 -1
- package/build/server/chunks/hooks.server-Jq9f3OHe.js +0 -342
- package/build/server/chunks/hooks.server-Jq9f3OHe.js.map +0 -1
- package/build/server/chunks/index-server2-UaiofxX-.js +0 -21
- package/build/server/chunks/index-server2-UaiofxX-.js.map +0 -1
- package/build/server/chunks/index.js-NH2Q8xBT.js +0 -10851
- package/build/server/chunks/index.js-NH2Q8xBT.js.map +0 -1
- package/build/server/chunks/input-CaFdF67u.js +0 -36
- package/build/server/chunks/input-CaFdF67u.js.map +0 -1
- package/build/server/chunks/label-D4oi2vfc.js +0 -108
- package/build/server/chunks/label-D4oi2vfc.js.map +0 -1
- package/build/server/chunks/limits-D8LKRL6A.js +0 -140
- package/build/server/chunks/limits-D8LKRL6A.js.map +0 -1
- package/build/server/chunks/link-2-bXRs-F5P.js +0 -24
- package/build/server/chunks/link-2-bXRs-F5P.js.map +0 -1
- package/build/server/chunks/mail-RxQ6U_MR.js +0 -21
- package/build/server/chunks/mail-RxQ6U_MR.js.map +0 -1
- package/build/server/chunks/manifest.js-D0w1LSyj.js +0 -548
- package/build/server/chunks/manifest.js-D0w1LSyj.js.map +0 -1
- package/build/server/chunks/minus-D8itZ5Aa.js +0 -33
- package/build/server/chunks/minus-D8itZ5Aa.js.map +0 -1
- package/build/server/chunks/noop-BAtAcwOB.js +0 -467
- package/build/server/chunks/noop-BAtAcwOB.js.map +0 -1
- package/build/server/chunks/org-members.server-BhIZcSK4.js +0 -35
- package/build/server/chunks/org-members.server-BhIZcSK4.js.map +0 -1
- package/build/server/chunks/package-CVHx1XjE.js +0 -76
- package/build/server/chunks/package-CVHx1XjE.js.map +0 -1
- package/build/server/chunks/permissions-compat.server-xalTn9zO.js +0 -23
- package/build/server/chunks/permissions-compat.server-xalTn9zO.js.map +0 -1
- package/build/server/chunks/permissions.server-CfG9fc2P.js +0 -15
- package/build/server/chunks/permissions.server-CfG9fc2P.js.map +0 -1
- package/build/server/chunks/plus-MZrPgP8D.js +0 -15
- package/build/server/chunks/plus-MZrPgP8D.js.map +0 -1
- package/build/server/chunks/providers.server-C1zmtRr7.js +0 -6271
- package/build/server/chunks/providers.server-C1zmtRr7.js.map +0 -1
- package/build/server/chunks/randomId-BnzU06iG.js +0 -22
- package/build/server/chunks/randomId-BnzU06iG.js.map +0 -1
- package/build/server/chunks/redirect-B4i9gSkt.js +0 -19
- package/build/server/chunks/redirect-B4i9gSkt.js.map +0 -1
- package/build/server/chunks/refresh-cw-BX7s8yLY.js +0 -20
- package/build/server/chunks/refresh-cw-BX7s8yLY.js.map +0 -1
- package/build/server/chunks/resolve.server-CktmGOlX.js +0 -62
- package/build/server/chunks/resolve.server-CktmGOlX.js.map +0 -1
- package/build/server/chunks/rotate-ccw-BHUjWnK1.js +0 -15
- package/build/server/chunks/rotate-ccw-BHUjWnK1.js.map +0 -1
- package/build/server/chunks/scroll-lock-CW0vmTSk.js +0 -2971
- package/build/server/chunks/scroll-lock-CW0vmTSk.js.map +0 -1
- package/build/server/chunks/scroll-text-CGlo23Gk.js +0 -20
- package/build/server/chunks/scroll-text-CGlo23Gk.js.map +0 -1
- package/build/server/chunks/select-C1aC27lp.js +0 -3656
- package/build/server/chunks/select-C1aC27lp.js.map +0 -1
- package/build/server/chunks/selfUpdate.server-Dljv1StN.js +0 -152
- package/build/server/chunks/selfUpdate.server-Dljv1StN.js.map +0 -1
- package/build/server/chunks/server2-Stzl6qrW.js +0 -44
- package/build/server/chunks/server2-Stzl6qrW.js.map +0 -1
- package/build/server/chunks/settings-0Ih5rnSD.js +0 -19
- package/build/server/chunks/settings-0Ih5rnSD.js.map +0 -1
- package/build/server/chunks/shield-check-BXDI7Kfm.js +0 -15
- package/build/server/chunks/shield-check-BXDI7Kfm.js.map +0 -1
- package/build/server/chunks/shield-kT-iiBjg.js +0 -15
- package/build/server/chunks/shield-kT-iiBjg.js.map +0 -1
- package/build/server/chunks/src-tWHhLCSB.js +0 -360
- package/build/server/chunks/src-tWHhLCSB.js.map +0 -1
- package/build/server/chunks/star-DVom-qZE.js +0 -15
- package/build/server/chunks/star-DVom-qZE.js.map +0 -1
- package/build/server/chunks/state-T2Iqoc20.js +0 -64
- package/build/server/chunks/state-T2Iqoc20.js.map +0 -1
- package/build/server/chunks/stores-DLkhl0O9.js +0 -35
- package/build/server/chunks/stores-DLkhl0O9.js.map +0 -1
- package/build/server/chunks/textarea-DKDwpSW6.js +0 -512
- package/build/server/chunks/textarea-DKDwpSW6.js.map +0 -1
- package/build/server/chunks/toast-state.svelte-BQxMriPe.js +0 -236
- package/build/server/chunks/toast-state.svelte-BQxMriPe.js.map +0 -1
- package/build/server/chunks/token-codec-CxK2DiO-.js +0 -27
- package/build/server/chunks/token-codec-CxK2DiO-.js.map +0 -1
- package/build/server/chunks/token.server-DdfO8sld.js +0 -52
- package/build/server/chunks/token.server-DdfO8sld.js.map +0 -1
- package/build/server/chunks/token2.server-DlelraEE.js +0 -44
- package/build/server/chunks/token2.server-DlelraEE.js.map +0 -1
- package/build/server/chunks/trash-2-CAH6MfVG.js +0 -21
- package/build/server/chunks/trash-2-CAH6MfVG.js.map +0 -1
- package/build/server/chunks/triangle-alert-BWUjd7D0.js +0 -19
- package/build/server/chunks/triangle-alert-BWUjd7D0.js.map +0 -1
- package/build/server/chunks/types-B_zdqlv_.js +0 -10
- package/build/server/chunks/types-B_zdqlv_.js.map +0 -1
- package/build/server/chunks/update-outcome-BOtdiviI.js +0 -92
- package/build/server/chunks/update-outcome-BOtdiviI.js.map +0 -1
- package/build/server/chunks/updateCheck.server-BRULLmHB.js +0 -97
- package/build/server/chunks/updateCheck.server-BRULLmHB.js.map +0 -1
- package/build/server/chunks/user-plus-DaXubn7F.js +0 -34
- package/build/server/chunks/user-plus-DaXubn7F.js.map +0 -1
- package/build/server/chunks/users-DbpcNZWG.js +0 -24
- package/build/server/chunks/users-DbpcNZWG.js.map +0 -1
- package/build/server/chunks/utils2-D6nbl_7H.js +0 -62
- package/build/server/chunks/utils2-D6nbl_7H.js.map +0 -1
- package/build/server/chunks/utils3-DxMdQNFZ.js +0 -95
- package/build/server/chunks/utils3-DxMdQNFZ.js.map +0 -1
- package/build/server/chunks/visualization-XWX3PR4N-DMNB_zhs.js +0 -21
- package/build/server/chunks/visualization-XWX3PR4N-DMNB_zhs.js.map +0 -1
- package/build/server/chunks/x-DdwTiDPN.js +0 -15
- package/build/server/chunks/x-DdwTiDPN.js.map +0 -1
|
@@ -0,0 +1,2973 @@
|
|
|
1
|
+
import { t as tick, m as mount, u as unmount } from './index-server.js-Dkqbavz2.js';
|
|
2
|
+
import { b as getAllContexts, T as derived } from './server.js-DmrfOoxb.js';
|
|
3
|
+
import { o as on } from './events.js-Dim6Jkwe.js';
|
|
4
|
+
import { S as SvelteMap } from './index-server2.js-UaiofxX-.js';
|
|
5
|
+
import { a as boxWith, s as simpleBox, f as createBitsAttrs, g as executeCallbacks, h as composeHandlers, j as isObject, k as attachRef, l as getDataOpenClosed, m as boolToEmptyStrOrUndef, n as boolToStr, o as getDataTransitionAttrs, p as mergeProps } from './create-id.js-D3vyU7tu.js';
|
|
6
|
+
import { w as watch, n as noop, C as Context, i as isBrowser, a as isHTMLElement$1, b as isIOS, c as isElementOrSVGElement, R as RovingFocusGroup, d as isElement, A as ARROW_DOWN, P as PAGE_UP, H as HOME, e as ARROW_UP, f as PAGE_DOWN, g as isSelectableInput, E as ENTER, h as ARROW_LEFT, j as ARROW_RIGHT } from './noop.js-BTGyucGl.js';
|
|
7
|
+
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region ../../node_modules/.pnpm/svelte-toolbelt@0.10.6_@sveltejs+kit@2.69.1_@opentelemetry+api@1.9.1_@sveltejs+vite-plu_50aa02660b796e911ea3ca1ac6beddfe/node_modules/svelte-toolbelt/dist/utils/after-sleep.js
|
|
10
|
+
/**
|
|
11
|
+
* A utility function that executes a callback after a specified number of milliseconds.
|
|
12
|
+
*/
|
|
13
|
+
function afterSleep(ms, cb) {
|
|
14
|
+
return setTimeout(cb, ms);
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region ../../node_modules/.pnpm/svelte-toolbelt@0.10.6_@sveltejs+kit@2.69.1_@opentelemetry+api@1.9.1_@sveltejs+vite-plu_50aa02660b796e911ea3ca1ac6beddfe/node_modules/svelte-toolbelt/dist/utils/after-tick.js
|
|
18
|
+
function afterTick(fn) {
|
|
19
|
+
(/* @__PURE__ */ tick()).then(fn);
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
//#region ../../node_modules/.pnpm/svelte-toolbelt@0.10.6_@sveltejs+kit@2.69.1_@opentelemetry+api@1.9.1_@sveltejs+vite-plu_50aa02660b796e911ea3ca1ac6beddfe/node_modules/svelte-toolbelt/dist/utils/dom.js
|
|
23
|
+
var ELEMENT_NODE = 1;
|
|
24
|
+
var DOCUMENT_NODE = 9;
|
|
25
|
+
var DOCUMENT_FRAGMENT_NODE = 11;
|
|
26
|
+
function isHTMLElement(node) {
|
|
27
|
+
return isObject(node) && node.nodeType === ELEMENT_NODE && typeof node.nodeName === "string";
|
|
28
|
+
}
|
|
29
|
+
function isDocument(node) {
|
|
30
|
+
return isObject(node) && node.nodeType === DOCUMENT_NODE;
|
|
31
|
+
}
|
|
32
|
+
function isWindow(node) {
|
|
33
|
+
return isObject(node) && node.constructor?.name === "VisualViewport";
|
|
34
|
+
}
|
|
35
|
+
function isNode(node) {
|
|
36
|
+
return isObject(node) && node.nodeType !== void 0;
|
|
37
|
+
}
|
|
38
|
+
function isShadowRoot(node) {
|
|
39
|
+
return isNode(node) && node.nodeType === DOCUMENT_FRAGMENT_NODE && "host" in node;
|
|
40
|
+
}
|
|
41
|
+
function contains(parent, child) {
|
|
42
|
+
if (!parent || !child) return false;
|
|
43
|
+
if (!isHTMLElement(parent) || !isHTMLElement(child)) return false;
|
|
44
|
+
const rootNode = child.getRootNode?.();
|
|
45
|
+
if (parent === child) return true;
|
|
46
|
+
if (parent.contains(child)) return true;
|
|
47
|
+
if (rootNode && isShadowRoot(rootNode)) {
|
|
48
|
+
let next = child;
|
|
49
|
+
while (next) {
|
|
50
|
+
if (parent === next) return true;
|
|
51
|
+
next = next.parentNode || next.host;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
function getDocument(node) {
|
|
57
|
+
if (isDocument(node)) return node;
|
|
58
|
+
if (isWindow(node)) return node.document;
|
|
59
|
+
return node?.ownerDocument ?? document;
|
|
60
|
+
}
|
|
61
|
+
function getWindow(node) {
|
|
62
|
+
if (isShadowRoot(node)) return getWindow(node.host);
|
|
63
|
+
if (isDocument(node)) return node.defaultView ?? window;
|
|
64
|
+
if (isHTMLElement(node)) return node.ownerDocument?.defaultView ?? window;
|
|
65
|
+
return window;
|
|
66
|
+
}
|
|
67
|
+
function getActiveElement(rootNode) {
|
|
68
|
+
let activeElement = rootNode.activeElement;
|
|
69
|
+
while (activeElement?.shadowRoot) {
|
|
70
|
+
const el = activeElement.shadowRoot.activeElement;
|
|
71
|
+
if (el === activeElement) break;
|
|
72
|
+
else activeElement = el;
|
|
73
|
+
}
|
|
74
|
+
return activeElement;
|
|
75
|
+
}
|
|
76
|
+
//#endregion
|
|
77
|
+
//#region ../../node_modules/.pnpm/svelte-toolbelt@0.10.6_@sveltejs+kit@2.69.1_@opentelemetry+api@1.9.1_@sveltejs+vite-plu_50aa02660b796e911ea3ca1ac6beddfe/node_modules/svelte-toolbelt/dist/utils/dom-context.svelte.js
|
|
78
|
+
var DOMContext = class {
|
|
79
|
+
element;
|
|
80
|
+
#root = derived(() => {
|
|
81
|
+
if (!this.element.current) return document;
|
|
82
|
+
return this.element.current.getRootNode() ?? document;
|
|
83
|
+
});
|
|
84
|
+
get root() {
|
|
85
|
+
return this.#root();
|
|
86
|
+
}
|
|
87
|
+
set root($$value) {
|
|
88
|
+
return this.#root($$value);
|
|
89
|
+
}
|
|
90
|
+
constructor(element) {
|
|
91
|
+
if (typeof element === "function") this.element = boxWith(element);
|
|
92
|
+
else this.element = element;
|
|
93
|
+
}
|
|
94
|
+
getDocument = () => {
|
|
95
|
+
return getDocument(this.root);
|
|
96
|
+
};
|
|
97
|
+
getWindow = () => {
|
|
98
|
+
return this.getDocument().defaultView ?? window;
|
|
99
|
+
};
|
|
100
|
+
getActiveElement = () => {
|
|
101
|
+
return getActiveElement(this.root);
|
|
102
|
+
};
|
|
103
|
+
isActiveElement = (node) => {
|
|
104
|
+
return node === this.getActiveElement();
|
|
105
|
+
};
|
|
106
|
+
getElementById(id) {
|
|
107
|
+
return this.root.getElementById(id);
|
|
108
|
+
}
|
|
109
|
+
querySelector = (selector) => {
|
|
110
|
+
if (!this.root) return null;
|
|
111
|
+
return this.root.querySelector(selector);
|
|
112
|
+
};
|
|
113
|
+
querySelectorAll = (selector) => {
|
|
114
|
+
if (!this.root) return [];
|
|
115
|
+
return this.root.querySelectorAll(selector);
|
|
116
|
+
};
|
|
117
|
+
setTimeout = (callback, delay) => {
|
|
118
|
+
return this.getWindow().setTimeout(callback, delay);
|
|
119
|
+
};
|
|
120
|
+
clearTimeout = (timeoutId) => {
|
|
121
|
+
return this.getWindow().clearTimeout(timeoutId);
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
//#endregion
|
|
125
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/internal/animations-complete.js
|
|
126
|
+
var AnimationsComplete = class {
|
|
127
|
+
#opts;
|
|
128
|
+
#currentFrame = null;
|
|
129
|
+
#observer = null;
|
|
130
|
+
#runId = 0;
|
|
131
|
+
constructor(opts) {
|
|
132
|
+
this.#opts = opts;
|
|
133
|
+
}
|
|
134
|
+
#cleanup() {
|
|
135
|
+
if (this.#currentFrame !== null) {
|
|
136
|
+
window.cancelAnimationFrame(this.#currentFrame);
|
|
137
|
+
this.#currentFrame = null;
|
|
138
|
+
}
|
|
139
|
+
this.#observer?.disconnect();
|
|
140
|
+
this.#observer = null;
|
|
141
|
+
this.#runId++;
|
|
142
|
+
}
|
|
143
|
+
run(fn) {
|
|
144
|
+
this.#cleanup();
|
|
145
|
+
const node = this.#opts.ref.current;
|
|
146
|
+
if (!node) return;
|
|
147
|
+
if (typeof node.getAnimations !== "function") {
|
|
148
|
+
this.#executeCallback(fn);
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
const runId = this.#runId;
|
|
152
|
+
const executeIfCurrent = () => {
|
|
153
|
+
if (runId !== this.#runId) return;
|
|
154
|
+
this.#executeCallback(fn);
|
|
155
|
+
};
|
|
156
|
+
const waitForAnimations = () => {
|
|
157
|
+
if (runId !== this.#runId) return;
|
|
158
|
+
const animations = node.getAnimations();
|
|
159
|
+
if (animations.length === 0) {
|
|
160
|
+
executeIfCurrent();
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
Promise.all(animations.map((animation) => animation.finished)).then(() => {
|
|
164
|
+
executeIfCurrent();
|
|
165
|
+
}).catch(() => {
|
|
166
|
+
if (runId !== this.#runId) return;
|
|
167
|
+
if (node.getAnimations().some((animation) => animation.pending || animation.playState !== "finished")) {
|
|
168
|
+
waitForAnimations();
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
executeIfCurrent();
|
|
172
|
+
});
|
|
173
|
+
};
|
|
174
|
+
const requestWaitForAnimations = () => {
|
|
175
|
+
this.#currentFrame = window.requestAnimationFrame(() => {
|
|
176
|
+
this.#currentFrame = null;
|
|
177
|
+
waitForAnimations();
|
|
178
|
+
});
|
|
179
|
+
};
|
|
180
|
+
if (!this.#opts.afterTick.current) {
|
|
181
|
+
requestWaitForAnimations();
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
this.#currentFrame = window.requestAnimationFrame(() => {
|
|
185
|
+
this.#currentFrame = null;
|
|
186
|
+
const startingStyleAttr = "data-starting-style";
|
|
187
|
+
if (!node.hasAttribute(startingStyleAttr)) {
|
|
188
|
+
requestWaitForAnimations();
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
this.#observer = new MutationObserver(() => {
|
|
192
|
+
if (runId !== this.#runId) return;
|
|
193
|
+
if (node.hasAttribute(startingStyleAttr)) return;
|
|
194
|
+
this.#observer?.disconnect();
|
|
195
|
+
this.#observer = null;
|
|
196
|
+
requestWaitForAnimations();
|
|
197
|
+
});
|
|
198
|
+
this.#observer.observe(node, {
|
|
199
|
+
attributes: true,
|
|
200
|
+
attributeFilter: [startingStyleAttr]
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
#executeCallback(fn) {
|
|
205
|
+
const execute = () => {
|
|
206
|
+
fn();
|
|
207
|
+
};
|
|
208
|
+
if (this.#opts.afterTick) afterTick(execute);
|
|
209
|
+
else execute();
|
|
210
|
+
}
|
|
211
|
+
};
|
|
212
|
+
//#endregion
|
|
213
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/internal/presence-manager.svelte.js
|
|
214
|
+
var PresenceManager = class {
|
|
215
|
+
#opts;
|
|
216
|
+
#enabled;
|
|
217
|
+
#afterAnimations;
|
|
218
|
+
#shouldRender = false;
|
|
219
|
+
#transitionStatus = void 0;
|
|
220
|
+
#hasMounted = false;
|
|
221
|
+
#transitionFrame = null;
|
|
222
|
+
constructor(opts) {
|
|
223
|
+
this.#opts = opts;
|
|
224
|
+
this.#shouldRender = opts.open.current;
|
|
225
|
+
this.#enabled = opts.enabled ?? true;
|
|
226
|
+
this.#afterAnimations = new AnimationsComplete({
|
|
227
|
+
ref: this.#opts.ref,
|
|
228
|
+
afterTick: this.#opts.open
|
|
229
|
+
});
|
|
230
|
+
watch(() => this.#opts.open.current, (isOpen) => {
|
|
231
|
+
if (!this.#hasMounted) {
|
|
232
|
+
this.#hasMounted = true;
|
|
233
|
+
return;
|
|
234
|
+
}
|
|
235
|
+
this.#clearTransitionFrame();
|
|
236
|
+
if (!isOpen && this.#opts.shouldSkipExitAnimation?.()) {
|
|
237
|
+
this.#shouldRender = false;
|
|
238
|
+
this.#transitionStatus = void 0;
|
|
239
|
+
this.#opts.onComplete?.();
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
if (isOpen) this.#shouldRender = true;
|
|
243
|
+
this.#transitionStatus = isOpen ? "starting" : "ending";
|
|
244
|
+
if (isOpen) this.#transitionFrame = window.requestAnimationFrame(() => {
|
|
245
|
+
this.#transitionFrame = null;
|
|
246
|
+
if (this.#opts.open.current) this.#transitionStatus = void 0;
|
|
247
|
+
});
|
|
248
|
+
if (!this.#enabled) {
|
|
249
|
+
if (!isOpen) this.#shouldRender = false;
|
|
250
|
+
this.#transitionStatus = void 0;
|
|
251
|
+
this.#opts.onComplete?.();
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
this.#afterAnimations.run(() => {
|
|
255
|
+
if (isOpen === this.#opts.open.current) {
|
|
256
|
+
if (!this.#opts.open.current) this.#shouldRender = false;
|
|
257
|
+
this.#transitionStatus = void 0;
|
|
258
|
+
this.#opts.onComplete?.();
|
|
259
|
+
}
|
|
260
|
+
});
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
get shouldRender() {
|
|
264
|
+
return this.#shouldRender;
|
|
265
|
+
}
|
|
266
|
+
get transitionStatus() {
|
|
267
|
+
return this.#transitionStatus;
|
|
268
|
+
}
|
|
269
|
+
#clearTransitionFrame() {
|
|
270
|
+
if (this.#transitionFrame === null) return;
|
|
271
|
+
window.cancelAnimationFrame(this.#transitionFrame);
|
|
272
|
+
this.#transitionFrame = null;
|
|
273
|
+
}
|
|
274
|
+
};
|
|
275
|
+
//#endregion
|
|
276
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/bits/utilities/config/bits-config.js
|
|
277
|
+
var BitsConfigContext = new Context("BitsConfig");
|
|
278
|
+
/**
|
|
279
|
+
* Gets the current Bits UI configuration state from the context.
|
|
280
|
+
*
|
|
281
|
+
* Returns a default configuration (where all values are `undefined`) if no configuration is found.
|
|
282
|
+
*/
|
|
283
|
+
function getBitsConfig() {
|
|
284
|
+
const fallback = new BitsConfigState(null, {});
|
|
285
|
+
return BitsConfigContext.getOr(fallback).opts;
|
|
286
|
+
}
|
|
287
|
+
/**
|
|
288
|
+
* Configuration state that inherits from parent configurations.
|
|
289
|
+
*
|
|
290
|
+
* @example
|
|
291
|
+
* Config resolution:
|
|
292
|
+
* ```
|
|
293
|
+
* Level 1: { defaultPortalTo: "#some-element", theme: "dark" }
|
|
294
|
+
* Level 2: { spacing: "large" } // inherits defaultPortalTo="#some-element", theme="dark"
|
|
295
|
+
* Level 3: { theme: "light" } // inherits defaultPortalTo="#some-element", spacing="large", overrides theme="light"
|
|
296
|
+
* ```
|
|
297
|
+
*/
|
|
298
|
+
var BitsConfigState = class {
|
|
299
|
+
opts;
|
|
300
|
+
constructor(parent, opts) {
|
|
301
|
+
const resolveConfigOption = createConfigResolver(parent, opts);
|
|
302
|
+
this.opts = {
|
|
303
|
+
defaultPortalTo: resolveConfigOption((config) => config.defaultPortalTo),
|
|
304
|
+
defaultLocale: resolveConfigOption((config) => config.defaultLocale)
|
|
305
|
+
};
|
|
306
|
+
}
|
|
307
|
+
};
|
|
308
|
+
/**
|
|
309
|
+
* Returns a config resolver that resolves a given config option's value.
|
|
310
|
+
*
|
|
311
|
+
* The resolver creates reactive boxes that resolve config option values using this priority:
|
|
312
|
+
* 1. Current level's value (if defined)
|
|
313
|
+
* 2. Parent level's value (if defined and current is undefined)
|
|
314
|
+
* 3. `undefined` (if no value is found in either parent or child)
|
|
315
|
+
*
|
|
316
|
+
* @param parent - Parent configuration state (null if this is root level)
|
|
317
|
+
* @param currentOpts - Current level's configuration options
|
|
318
|
+
*
|
|
319
|
+
* @example
|
|
320
|
+
* ```typescript
|
|
321
|
+
* // Given this hierarchy:
|
|
322
|
+
* // Root: { defaultPortalTo: "#some-element" }
|
|
323
|
+
* // Child: { someOtherProp: "value" } // no defaultPortalTo specified
|
|
324
|
+
*
|
|
325
|
+
* const resolveConfigOption = createConfigResolver(parent, opts);
|
|
326
|
+
* const portalTo = resolveConfigOption(config => config.defaultPortalTo);
|
|
327
|
+
*
|
|
328
|
+
* // portalTo.current === "#some-element" (inherited from parent)
|
|
329
|
+
* // even when child didn't specify `defaultPortalTo`
|
|
330
|
+
* ```
|
|
331
|
+
*/
|
|
332
|
+
function createConfigResolver(parent, currentOpts) {
|
|
333
|
+
return (getter) => {
|
|
334
|
+
return boxWith(() => {
|
|
335
|
+
const value = getter(currentOpts)?.current;
|
|
336
|
+
if (value !== void 0) return value;
|
|
337
|
+
if (parent === null) return void 0;
|
|
338
|
+
return getter(parent.opts)?.current;
|
|
339
|
+
});
|
|
340
|
+
};
|
|
341
|
+
}
|
|
342
|
+
//#endregion
|
|
343
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/bits/utilities/config/prop-resolvers.js
|
|
344
|
+
/**
|
|
345
|
+
* Creates a generic prop resolver that follows a standard priority chain:
|
|
346
|
+
* 1. The getter's prop value (if defined)
|
|
347
|
+
* 2. The config default value (if no getter prop value is defined)
|
|
348
|
+
* 3. The fallback value (if no config value found)
|
|
349
|
+
*/
|
|
350
|
+
function createPropResolver(configOption, fallback) {
|
|
351
|
+
return (getProp) => {
|
|
352
|
+
const config = getBitsConfig();
|
|
353
|
+
return boxWith(() => {
|
|
354
|
+
const propValue = getProp();
|
|
355
|
+
if (propValue !== void 0) return propValue;
|
|
356
|
+
const option = configOption(config).current;
|
|
357
|
+
if (option !== void 0) return option;
|
|
358
|
+
return fallback;
|
|
359
|
+
});
|
|
360
|
+
};
|
|
361
|
+
}
|
|
362
|
+
/**
|
|
363
|
+
* Resolves a portal's `to` value using the prop, the config default, or a fallback.
|
|
364
|
+
*
|
|
365
|
+
* Default value: `"body"`
|
|
366
|
+
*/
|
|
367
|
+
var resolvePortalToProp = createPropResolver((config) => config.defaultPortalTo, "body");
|
|
368
|
+
//#endregion
|
|
369
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/bits/utilities/portal/portal.svelte
|
|
370
|
+
function Portal($$renderer, $$props) {
|
|
371
|
+
$$renderer.component(($$renderer) => {
|
|
372
|
+
let { to: toProp, children, disabled } = $$props;
|
|
373
|
+
const to = resolvePortalToProp(() => toProp);
|
|
374
|
+
getAllContexts();
|
|
375
|
+
let target = derived(getTarget);
|
|
376
|
+
function getTarget() {
|
|
377
|
+
if (!isBrowser || disabled) return null;
|
|
378
|
+
let localTarget = null;
|
|
379
|
+
if (typeof to.current === "string") localTarget = document.querySelector(to.current);
|
|
380
|
+
else localTarget = to.current;
|
|
381
|
+
return localTarget;
|
|
382
|
+
}
|
|
383
|
+
let instance;
|
|
384
|
+
function unmountInstance() {
|
|
385
|
+
if (instance) {
|
|
386
|
+
unmount();
|
|
387
|
+
instance = null;
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
watch([() => target(), () => disabled], ([target, disabled]) => {
|
|
391
|
+
if (!target || disabled) {
|
|
392
|
+
unmountInstance();
|
|
393
|
+
return;
|
|
394
|
+
}
|
|
395
|
+
instance = mount();
|
|
396
|
+
return () => {
|
|
397
|
+
unmountInstance();
|
|
398
|
+
};
|
|
399
|
+
});
|
|
400
|
+
if (disabled) {
|
|
401
|
+
$$renderer.push("<!--[0-->");
|
|
402
|
+
children?.($$renderer);
|
|
403
|
+
$$renderer.push(`<!---->`);
|
|
404
|
+
} else $$renderer.push("<!--[-1-->");
|
|
405
|
+
$$renderer.push(`<!--]-->`);
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
//#endregion
|
|
409
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/internal/events.js
|
|
410
|
+
/**
|
|
411
|
+
* Creates a typed event dispatcher and listener pair for custom events
|
|
412
|
+
* @template T - The type of data that will be passed in the event detail
|
|
413
|
+
* @param eventName - The name of the custom event
|
|
414
|
+
* @param options - CustomEvent options (bubbles, cancelable, etc.)
|
|
415
|
+
*/
|
|
416
|
+
var CustomEventDispatcher = class {
|
|
417
|
+
eventName;
|
|
418
|
+
options;
|
|
419
|
+
constructor(eventName, options = {
|
|
420
|
+
bubbles: true,
|
|
421
|
+
cancelable: true
|
|
422
|
+
}) {
|
|
423
|
+
this.eventName = eventName;
|
|
424
|
+
this.options = options;
|
|
425
|
+
}
|
|
426
|
+
createEvent(detail) {
|
|
427
|
+
return new CustomEvent(this.eventName, {
|
|
428
|
+
...this.options,
|
|
429
|
+
detail
|
|
430
|
+
});
|
|
431
|
+
}
|
|
432
|
+
dispatch(element, detail) {
|
|
433
|
+
const event = this.createEvent(detail);
|
|
434
|
+
element.dispatchEvent(event);
|
|
435
|
+
return event;
|
|
436
|
+
}
|
|
437
|
+
listen(element, callback, options) {
|
|
438
|
+
const handler = (event) => {
|
|
439
|
+
callback(event);
|
|
440
|
+
};
|
|
441
|
+
return on(element, this.eventName, handler, options);
|
|
442
|
+
}
|
|
443
|
+
};
|
|
444
|
+
//#endregion
|
|
445
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/internal/debounce.js
|
|
446
|
+
function debounce(fn, wait = 500) {
|
|
447
|
+
let timeout = null;
|
|
448
|
+
const debounced = (...args) => {
|
|
449
|
+
if (timeout !== null) clearTimeout(timeout);
|
|
450
|
+
timeout = setTimeout(() => {
|
|
451
|
+
fn(...args);
|
|
452
|
+
}, wait);
|
|
453
|
+
};
|
|
454
|
+
debounced.destroy = () => {
|
|
455
|
+
if (timeout !== null) {
|
|
456
|
+
clearTimeout(timeout);
|
|
457
|
+
timeout = null;
|
|
458
|
+
}
|
|
459
|
+
};
|
|
460
|
+
return debounced;
|
|
461
|
+
}
|
|
462
|
+
//#endregion
|
|
463
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/internal/elements.js
|
|
464
|
+
function isOrContainsTarget(node, target) {
|
|
465
|
+
return node === target || node.contains(target);
|
|
466
|
+
}
|
|
467
|
+
function getOwnerDocument(el) {
|
|
468
|
+
return el?.ownerDocument ?? document;
|
|
469
|
+
}
|
|
470
|
+
//#endregion
|
|
471
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/internal/dom.js
|
|
472
|
+
/**
|
|
473
|
+
* Determines if the click event truly occurred outside the content node.
|
|
474
|
+
* This was added to handle password managers and other elements that may be injected
|
|
475
|
+
* into the DOM but visually appear inside the content.
|
|
476
|
+
*/
|
|
477
|
+
function isClickTrulyOutside(event, contentNode) {
|
|
478
|
+
const { clientX, clientY } = event;
|
|
479
|
+
const rect = contentNode.getBoundingClientRect();
|
|
480
|
+
return clientX < rect.left || clientX > rect.right || clientY < rect.top || clientY > rect.bottom;
|
|
481
|
+
}
|
|
482
|
+
//#endregion
|
|
483
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/bits/menu/utils.js
|
|
484
|
+
var SELECTION_KEYS = [ENTER, " "];
|
|
485
|
+
var FIRST_KEYS = [
|
|
486
|
+
ARROW_DOWN,
|
|
487
|
+
PAGE_UP,
|
|
488
|
+
HOME
|
|
489
|
+
];
|
|
490
|
+
var LAST_KEYS = [
|
|
491
|
+
ARROW_UP,
|
|
492
|
+
PAGE_DOWN,
|
|
493
|
+
"End"
|
|
494
|
+
];
|
|
495
|
+
var FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];
|
|
496
|
+
var SUB_OPEN_KEYS = {
|
|
497
|
+
ltr: [...SELECTION_KEYS, ARROW_RIGHT],
|
|
498
|
+
rtl: [...SELECTION_KEYS, ARROW_LEFT]
|
|
499
|
+
};
|
|
500
|
+
var SUB_CLOSE_KEYS = {
|
|
501
|
+
ltr: [ARROW_LEFT],
|
|
502
|
+
rtl: [ARROW_RIGHT]
|
|
503
|
+
};
|
|
504
|
+
function isMouseEvent(event) {
|
|
505
|
+
return event.pointerType === "mouse";
|
|
506
|
+
}
|
|
507
|
+
//#endregion
|
|
508
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/internal/focus.js
|
|
509
|
+
/**
|
|
510
|
+
* A utility function that focuses an element.
|
|
511
|
+
*/
|
|
512
|
+
function focus(element, { select = false } = {}) {
|
|
513
|
+
if (!element || !element.focus) return;
|
|
514
|
+
const doc = getDocument(element);
|
|
515
|
+
if (doc.activeElement === element) return;
|
|
516
|
+
const previouslyFocusedElement = doc.activeElement;
|
|
517
|
+
element.focus({ preventScroll: true });
|
|
518
|
+
if (element !== previouslyFocusedElement && isSelectableInput(element) && select) element.select();
|
|
519
|
+
}
|
|
520
|
+
/**
|
|
521
|
+
* Attempts to focus the first element in a list of candidates.
|
|
522
|
+
* Stops when focus is successful.
|
|
523
|
+
*/
|
|
524
|
+
function focusFirst(candidates, { select = false } = {}, getActiveElement) {
|
|
525
|
+
const previouslyFocusedElement = getActiveElement();
|
|
526
|
+
for (const candidate of candidates) {
|
|
527
|
+
focus(candidate, { select });
|
|
528
|
+
if (getActiveElement() !== previouslyFocusedElement) return true;
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
//#endregion
|
|
532
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/bits/utilities/is-using-keyboard/is-using-keyboard.svelte.js
|
|
533
|
+
var isUsingKeyboard = false;
|
|
534
|
+
var IsUsingKeyboard = class {
|
|
535
|
+
static _refs = 0;
|
|
536
|
+
static _cleanup;
|
|
537
|
+
constructor() {}
|
|
538
|
+
get current() {
|
|
539
|
+
return isUsingKeyboard;
|
|
540
|
+
}
|
|
541
|
+
set current(value) {
|
|
542
|
+
isUsingKeyboard = value;
|
|
543
|
+
}
|
|
544
|
+
};
|
|
545
|
+
//#endregion
|
|
546
|
+
//#region ../../node_modules/.pnpm/tabbable@6.5.0/node_modules/tabbable/dist/index.esm.js
|
|
547
|
+
/*!
|
|
548
|
+
* tabbable 6.5.0
|
|
549
|
+
* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
|
|
550
|
+
*/
|
|
551
|
+
var candidateSelectors = [
|
|
552
|
+
"input:not([inert]):not([inert] *)",
|
|
553
|
+
"select:not([inert]):not([inert] *)",
|
|
554
|
+
"textarea:not([inert]):not([inert] *)",
|
|
555
|
+
"a[href]:not([inert]):not([inert] *)",
|
|
556
|
+
"area[href]:not([inert]):not([inert] *)",
|
|
557
|
+
"button:not([inert]):not([inert] *)",
|
|
558
|
+
"[tabindex]:not(slot):not([inert]):not([inert] *)",
|
|
559
|
+
"audio[controls]:not([inert]):not([inert] *)",
|
|
560
|
+
"video[controls]:not([inert]):not([inert] *)",
|
|
561
|
+
"[contenteditable]:not([contenteditable=\"false\"]):not([inert]):not([inert] *)",
|
|
562
|
+
"details>summary:first-of-type:not([inert]):not([inert] *)",
|
|
563
|
+
"details:not([inert]):not([inert] *)"
|
|
564
|
+
];
|
|
565
|
+
var candidateSelector = /* #__PURE__ */ candidateSelectors.join(",");
|
|
566
|
+
var NoElement = typeof Element === "undefined";
|
|
567
|
+
var matches = NoElement ? function() {} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
|
|
568
|
+
var getRootNode = !NoElement && Element.prototype.getRootNode ? function(element) {
|
|
569
|
+
var _element$getRootNode;
|
|
570
|
+
return element === null || element === void 0 ? void 0 : (_element$getRootNode = element.getRootNode) === null || _element$getRootNode === void 0 ? void 0 : _element$getRootNode.call(element);
|
|
571
|
+
} : function(element) {
|
|
572
|
+
return element === null || element === void 0 ? void 0 : element.ownerDocument;
|
|
573
|
+
};
|
|
574
|
+
/**
|
|
575
|
+
* Determines if a node is inert or in an inert ancestor.
|
|
576
|
+
* @param {Node} [node]
|
|
577
|
+
* @param {boolean} [lookUp] If true and `node` is not inert, looks up at ancestors to
|
|
578
|
+
* see if any of them are inert. If false, only `node` itself is considered.
|
|
579
|
+
* @returns {boolean} True if inert itself or by way of being in an inert ancestor.
|
|
580
|
+
* False if `node` is falsy.
|
|
581
|
+
*/
|
|
582
|
+
var _isInert = function isInert(node, lookUp) {
|
|
583
|
+
var _node$getAttribute;
|
|
584
|
+
if (lookUp === void 0) lookUp = true;
|
|
585
|
+
var inertAtt = node === null || node === void 0 ? void 0 : (_node$getAttribute = node.getAttribute) === null || _node$getAttribute === void 0 ? void 0 : _node$getAttribute.call(node, "inert");
|
|
586
|
+
return inertAtt === "" || inertAtt === "true" || lookUp && node && (typeof node.closest === "function" ? node.closest("[inert]") : _isInert(node.parentNode));
|
|
587
|
+
};
|
|
588
|
+
/**
|
|
589
|
+
* Determines if a node's content is editable.
|
|
590
|
+
* @param {Element} [node]
|
|
591
|
+
* @returns True if it's content-editable; false if it's not or `node` is falsy.
|
|
592
|
+
*/
|
|
593
|
+
var isContentEditable = function isContentEditable(node) {
|
|
594
|
+
var _node$getAttribute2;
|
|
595
|
+
var attValue = node === null || node === void 0 ? void 0 : (_node$getAttribute2 = node.getAttribute) === null || _node$getAttribute2 === void 0 ? void 0 : _node$getAttribute2.call(node, "contenteditable");
|
|
596
|
+
return attValue === "" || attValue === "true";
|
|
597
|
+
};
|
|
598
|
+
/**
|
|
599
|
+
* @param {Element} el container to check in
|
|
600
|
+
* @param {boolean} includeContainer add container to check
|
|
601
|
+
* @param {(node: Element) => boolean} filter filter candidates
|
|
602
|
+
* @returns {Element[]}
|
|
603
|
+
*/
|
|
604
|
+
var getCandidates = function getCandidates(el, includeContainer, filter) {
|
|
605
|
+
if (_isInert(el)) return [];
|
|
606
|
+
var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));
|
|
607
|
+
if (includeContainer && matches.call(el, candidateSelector)) candidates.unshift(el);
|
|
608
|
+
candidates = candidates.filter(filter);
|
|
609
|
+
return candidates;
|
|
610
|
+
};
|
|
611
|
+
/**
|
|
612
|
+
* @callback GetShadowRoot
|
|
613
|
+
* @param {Element} element to check for shadow root
|
|
614
|
+
* @returns {ShadowRoot|boolean} ShadowRoot if available or boolean indicating if a shadowRoot is attached but not available.
|
|
615
|
+
*/
|
|
616
|
+
/**
|
|
617
|
+
* @callback ShadowRootFilter
|
|
618
|
+
* @param {Element} shadowHostNode the element which contains shadow content
|
|
619
|
+
* @returns {boolean} true if a shadow root could potentially contain valid candidates.
|
|
620
|
+
*/
|
|
621
|
+
/**
|
|
622
|
+
* @typedef {Object} CandidateScope
|
|
623
|
+
* @property {Element} scopeParent contains inner candidates
|
|
624
|
+
* @property {Element[]} candidates list of candidates found in the scope parent
|
|
625
|
+
*/
|
|
626
|
+
/**
|
|
627
|
+
* @typedef {Object} IterativeOptions
|
|
628
|
+
* @property {GetShadowRoot|boolean} getShadowRoot true if shadow support is enabled; falsy if not;
|
|
629
|
+
* if a function, implies shadow support is enabled and either returns the shadow root of an element
|
|
630
|
+
* or a boolean stating if it has an undisclosed shadow root
|
|
631
|
+
* @property {(node: Element) => boolean} filter filter candidates
|
|
632
|
+
* @property {boolean} flatten if true then result will flatten any CandidateScope into the returned list
|
|
633
|
+
* @property {ShadowRootFilter} shadowRootFilter filter shadow roots;
|
|
634
|
+
*/
|
|
635
|
+
/**
|
|
636
|
+
* @param {Element[]} elements list of element containers to match candidates from
|
|
637
|
+
* @param {boolean} includeContainer add container list to check
|
|
638
|
+
* @param {IterativeOptions} options
|
|
639
|
+
* @returns {Array.<Element|CandidateScope>}
|
|
640
|
+
*/
|
|
641
|
+
var _getCandidatesIteratively = function getCandidatesIteratively(elements, includeContainer, options) {
|
|
642
|
+
var candidates = [];
|
|
643
|
+
var elementsToCheck = Array.from(elements);
|
|
644
|
+
while (elementsToCheck.length) {
|
|
645
|
+
var element = elementsToCheck.shift();
|
|
646
|
+
if (_isInert(element, false)) continue;
|
|
647
|
+
if (element.tagName === "SLOT") {
|
|
648
|
+
var assigned = element.assignedElements();
|
|
649
|
+
var nestedCandidates = _getCandidatesIteratively(assigned.length ? assigned : element.children, true, options);
|
|
650
|
+
if (options.flatten) candidates.push.apply(candidates, nestedCandidates);
|
|
651
|
+
else candidates.push({
|
|
652
|
+
scopeParent: element,
|
|
653
|
+
candidates: nestedCandidates
|
|
654
|
+
});
|
|
655
|
+
} else {
|
|
656
|
+
if (matches.call(element, candidateSelector) && options.filter(element) && (includeContainer || !elements.includes(element))) candidates.push(element);
|
|
657
|
+
var shadowRoot = element.shadowRoot || typeof options.getShadowRoot === "function" && options.getShadowRoot(element);
|
|
658
|
+
var validShadowRoot = !_isInert(shadowRoot, false) && (!options.shadowRootFilter || options.shadowRootFilter(element));
|
|
659
|
+
if (shadowRoot && validShadowRoot) {
|
|
660
|
+
var _nestedCandidates = _getCandidatesIteratively(shadowRoot === true ? element.children : shadowRoot.children, true, options);
|
|
661
|
+
if (options.flatten) candidates.push.apply(candidates, _nestedCandidates);
|
|
662
|
+
else candidates.push({
|
|
663
|
+
scopeParent: element,
|
|
664
|
+
candidates: _nestedCandidates
|
|
665
|
+
});
|
|
666
|
+
} else elementsToCheck.unshift.apply(elementsToCheck, element.children);
|
|
667
|
+
}
|
|
668
|
+
}
|
|
669
|
+
return candidates;
|
|
670
|
+
};
|
|
671
|
+
/**
|
|
672
|
+
* @private
|
|
673
|
+
* Determines if the node has an explicitly specified `tabindex` attribute.
|
|
674
|
+
* @param {HTMLElement} node
|
|
675
|
+
* @returns {boolean} True if so; false if not.
|
|
676
|
+
*/
|
|
677
|
+
var hasTabIndex = function hasTabIndex(node) {
|
|
678
|
+
return !isNaN(parseInt(node.getAttribute("tabindex"), 10));
|
|
679
|
+
};
|
|
680
|
+
/**
|
|
681
|
+
* Determine the tab index of a given node.
|
|
682
|
+
* @param {HTMLElement} node
|
|
683
|
+
* @returns {number} Tab order (negative, 0, or positive number).
|
|
684
|
+
* @throws {Error} If `node` is falsy.
|
|
685
|
+
*/
|
|
686
|
+
var getTabIndex = function getTabIndex(node) {
|
|
687
|
+
if (!node) throw new Error("No node provided");
|
|
688
|
+
if (node.tabIndex < 0) {
|
|
689
|
+
if ((/^(AUDIO|VIDEO|DETAILS)$/.test(node.tagName) || isContentEditable(node)) && !hasTabIndex(node)) return 0;
|
|
690
|
+
}
|
|
691
|
+
return node.tabIndex;
|
|
692
|
+
};
|
|
693
|
+
/**
|
|
694
|
+
* Determine the tab index of a given node __for sort order purposes__.
|
|
695
|
+
* @param {HTMLElement} node
|
|
696
|
+
* @param {boolean} [isScope] True for a custom element with shadow root or slot that, by default,
|
|
697
|
+
* has tabIndex -1, but needs to be sorted by document order in order for its content to be
|
|
698
|
+
* inserted into the correct sort position.
|
|
699
|
+
* @returns {number} Tab order (negative, 0, or positive number).
|
|
700
|
+
*/
|
|
701
|
+
var getSortOrderTabIndex = function getSortOrderTabIndex(node, isScope) {
|
|
702
|
+
var tabIndex = getTabIndex(node);
|
|
703
|
+
if (tabIndex < 0 && isScope && !hasTabIndex(node)) return 0;
|
|
704
|
+
return tabIndex;
|
|
705
|
+
};
|
|
706
|
+
var sortOrderedTabbables = function sortOrderedTabbables(a, b) {
|
|
707
|
+
return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;
|
|
708
|
+
};
|
|
709
|
+
var isInput = function isInput(node) {
|
|
710
|
+
return node.tagName === "INPUT";
|
|
711
|
+
};
|
|
712
|
+
var isHiddenInput = function isHiddenInput(node) {
|
|
713
|
+
return isInput(node) && node.type === "hidden";
|
|
714
|
+
};
|
|
715
|
+
var isDetailsWithSummary = function isDetailsWithSummary(node) {
|
|
716
|
+
return node.tagName === "DETAILS" && Array.prototype.slice.apply(node.children).some(function(child) {
|
|
717
|
+
return child.tagName === "SUMMARY";
|
|
718
|
+
});
|
|
719
|
+
};
|
|
720
|
+
var getCheckedRadio = function getCheckedRadio(nodes, form) {
|
|
721
|
+
for (var i = 0; i < nodes.length; i++) if (nodes[i].checked && nodes[i].form === form) return nodes[i];
|
|
722
|
+
};
|
|
723
|
+
var isTabbableRadio = function isTabbableRadio(node) {
|
|
724
|
+
if (!node.name) return true;
|
|
725
|
+
var radioScope = node.form || getRootNode(node);
|
|
726
|
+
var queryRadios = function queryRadios(name) {
|
|
727
|
+
return radioScope.querySelectorAll("input[type=\"radio\"][name=\"" + name + "\"]");
|
|
728
|
+
};
|
|
729
|
+
var radioSet;
|
|
730
|
+
if (typeof window !== "undefined" && typeof window.CSS !== "undefined" && typeof window.CSS.escape === "function") radioSet = queryRadios(window.CSS.escape(node.name));
|
|
731
|
+
else try {
|
|
732
|
+
radioSet = queryRadios(node.name);
|
|
733
|
+
} catch (err) {
|
|
734
|
+
console.error("Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s", err.message);
|
|
735
|
+
return false;
|
|
736
|
+
}
|
|
737
|
+
var checked = getCheckedRadio(radioSet, node.form);
|
|
738
|
+
return !checked || checked === node;
|
|
739
|
+
};
|
|
740
|
+
var isRadio = function isRadio(node) {
|
|
741
|
+
return isInput(node) && node.type === "radio";
|
|
742
|
+
};
|
|
743
|
+
var isNonTabbableRadio = function isNonTabbableRadio(node) {
|
|
744
|
+
return isRadio(node) && !isTabbableRadio(node);
|
|
745
|
+
};
|
|
746
|
+
var isNodeAttached = function isNodeAttached(node) {
|
|
747
|
+
var _nodeRoot;
|
|
748
|
+
var nodeRoot = node && getRootNode(node);
|
|
749
|
+
var nodeRootHost = (_nodeRoot = nodeRoot) === null || _nodeRoot === void 0 ? void 0 : _nodeRoot.host;
|
|
750
|
+
var attached = false;
|
|
751
|
+
if (nodeRoot && nodeRoot !== node) {
|
|
752
|
+
var _nodeRootHost, _nodeRootHost$ownerDo, _node$ownerDocument;
|
|
753
|
+
attached = !!((_nodeRootHost = nodeRootHost) !== null && _nodeRootHost !== void 0 && (_nodeRootHost$ownerDo = _nodeRootHost.ownerDocument) !== null && _nodeRootHost$ownerDo !== void 0 && _nodeRootHost$ownerDo.contains(nodeRootHost) || node !== null && node !== void 0 && (_node$ownerDocument = node.ownerDocument) !== null && _node$ownerDocument !== void 0 && _node$ownerDocument.contains(node));
|
|
754
|
+
while (!attached && nodeRootHost) {
|
|
755
|
+
var _nodeRoot2, _nodeRootHost2, _nodeRootHost2$ownerD;
|
|
756
|
+
nodeRoot = getRootNode(nodeRootHost);
|
|
757
|
+
nodeRootHost = (_nodeRoot2 = nodeRoot) === null || _nodeRoot2 === void 0 ? void 0 : _nodeRoot2.host;
|
|
758
|
+
attached = !!((_nodeRootHost2 = nodeRootHost) !== null && _nodeRootHost2 !== void 0 && (_nodeRootHost2$ownerD = _nodeRootHost2.ownerDocument) !== null && _nodeRootHost2$ownerD !== void 0 && _nodeRootHost2$ownerD.contains(nodeRootHost));
|
|
759
|
+
}
|
|
760
|
+
}
|
|
761
|
+
return attached;
|
|
762
|
+
};
|
|
763
|
+
var isZeroArea = function isZeroArea(node) {
|
|
764
|
+
var _node$getBoundingClie = node.getBoundingClientRect(), width = _node$getBoundingClie.width, height = _node$getBoundingClie.height;
|
|
765
|
+
return width === 0 && height === 0;
|
|
766
|
+
};
|
|
767
|
+
var isHidden = function isHidden(node, _ref) {
|
|
768
|
+
var displayCheck = _ref.displayCheck, getShadowRoot = _ref.getShadowRoot;
|
|
769
|
+
if (displayCheck === "full-native") {
|
|
770
|
+
if ("checkVisibility" in node) return !node.checkVisibility({
|
|
771
|
+
checkOpacity: false,
|
|
772
|
+
opacityProperty: false,
|
|
773
|
+
contentVisibilityAuto: true,
|
|
774
|
+
visibilityProperty: true,
|
|
775
|
+
checkVisibilityCSS: true
|
|
776
|
+
});
|
|
777
|
+
}
|
|
778
|
+
var visibility = getComputedStyle(node).visibility;
|
|
779
|
+
if (visibility === "hidden" || visibility === "collapse") return true;
|
|
780
|
+
var nodeUnderDetails = matches.call(node, "details>summary:first-of-type") ? node.parentElement : node;
|
|
781
|
+
if (matches.call(nodeUnderDetails, "details:not([open]) *")) return true;
|
|
782
|
+
if (!displayCheck || displayCheck === "full" || displayCheck === "full-native" || displayCheck === "legacy-full") {
|
|
783
|
+
if (typeof getShadowRoot === "function") {
|
|
784
|
+
var originalNode = node;
|
|
785
|
+
while (node) {
|
|
786
|
+
var parentElement = node.parentElement;
|
|
787
|
+
var rootNode = getRootNode(node);
|
|
788
|
+
if (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true) return isZeroArea(node);
|
|
789
|
+
else if (node.assignedSlot) node = node.assignedSlot;
|
|
790
|
+
else if (!parentElement && rootNode !== node.ownerDocument) node = rootNode.host;
|
|
791
|
+
else node = parentElement;
|
|
792
|
+
}
|
|
793
|
+
node = originalNode;
|
|
794
|
+
}
|
|
795
|
+
if (isNodeAttached(node)) return !node.getClientRects().length;
|
|
796
|
+
if (displayCheck !== "legacy-full") return true;
|
|
797
|
+
} else if (displayCheck === "non-zero-area") return isZeroArea(node);
|
|
798
|
+
return false;
|
|
799
|
+
};
|
|
800
|
+
var isDisabledFromFieldset = function isDisabledFromFieldset(node) {
|
|
801
|
+
if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)) {
|
|
802
|
+
var parentNode = node.parentElement;
|
|
803
|
+
while (parentNode) {
|
|
804
|
+
if (parentNode.tagName === "FIELDSET" && parentNode.disabled) {
|
|
805
|
+
for (var i = 0; i < parentNode.children.length; i++) {
|
|
806
|
+
var child = parentNode.children.item(i);
|
|
807
|
+
if (child.tagName === "LEGEND") return matches.call(parentNode, "fieldset[disabled] *") ? true : !child.contains(node);
|
|
808
|
+
}
|
|
809
|
+
return true;
|
|
810
|
+
}
|
|
811
|
+
parentNode = parentNode.parentElement;
|
|
812
|
+
}
|
|
813
|
+
}
|
|
814
|
+
return false;
|
|
815
|
+
};
|
|
816
|
+
var isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable(options, node) {
|
|
817
|
+
if (node.disabled || isHiddenInput(node) || isHidden(node, options) || isDetailsWithSummary(node) || isDisabledFromFieldset(node)) return false;
|
|
818
|
+
return true;
|
|
819
|
+
};
|
|
820
|
+
var isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable(options, node) {
|
|
821
|
+
if (isNonTabbableRadio(node) || getTabIndex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) return false;
|
|
822
|
+
return true;
|
|
823
|
+
};
|
|
824
|
+
var isShadowRootTabbable = function isShadowRootTabbable(shadowHostNode) {
|
|
825
|
+
var tabIndex = parseInt(shadowHostNode.getAttribute("tabindex"), 10);
|
|
826
|
+
if (isNaN(tabIndex) || tabIndex >= 0) return true;
|
|
827
|
+
return false;
|
|
828
|
+
};
|
|
829
|
+
/**
|
|
830
|
+
* @param {Array.<Element|CandidateScope>} candidates
|
|
831
|
+
* @returns Element[]
|
|
832
|
+
*/
|
|
833
|
+
var _sortByOrder = function sortByOrder(candidates) {
|
|
834
|
+
var regularTabbables = [];
|
|
835
|
+
var orderedTabbables = [];
|
|
836
|
+
candidates.forEach(function(item, i) {
|
|
837
|
+
var isScope = !!item.scopeParent;
|
|
838
|
+
var element = isScope ? item.scopeParent : item;
|
|
839
|
+
var candidateTabindex = getSortOrderTabIndex(element, isScope);
|
|
840
|
+
var elements = isScope ? _sortByOrder(item.candidates) : element;
|
|
841
|
+
if (candidateTabindex === 0) isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);
|
|
842
|
+
else orderedTabbables.push({
|
|
843
|
+
documentOrder: i,
|
|
844
|
+
tabIndex: candidateTabindex,
|
|
845
|
+
item,
|
|
846
|
+
isScope,
|
|
847
|
+
content: elements
|
|
848
|
+
});
|
|
849
|
+
});
|
|
850
|
+
return orderedTabbables.sort(sortOrderedTabbables).reduce(function(acc, sortable) {
|
|
851
|
+
sortable.isScope ? acc.push.apply(acc, sortable.content) : acc.push(sortable.content);
|
|
852
|
+
return acc;
|
|
853
|
+
}, []).concat(regularTabbables);
|
|
854
|
+
};
|
|
855
|
+
var tabbable = function tabbable(container, options) {
|
|
856
|
+
options = options || {};
|
|
857
|
+
var candidates;
|
|
858
|
+
if (options.getShadowRoot) candidates = _getCandidatesIteratively([container], options.includeContainer, {
|
|
859
|
+
filter: isNodeMatchingSelectorTabbable.bind(null, options),
|
|
860
|
+
flatten: false,
|
|
861
|
+
getShadowRoot: options.getShadowRoot,
|
|
862
|
+
shadowRootFilter: isShadowRootTabbable
|
|
863
|
+
});
|
|
864
|
+
else candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));
|
|
865
|
+
return _sortByOrder(candidates);
|
|
866
|
+
};
|
|
867
|
+
var focusable = function focusable(container, options) {
|
|
868
|
+
options = options || {};
|
|
869
|
+
var candidates;
|
|
870
|
+
if (options.getShadowRoot) candidates = _getCandidatesIteratively([container], options.includeContainer, {
|
|
871
|
+
filter: isNodeMatchingSelectorFocusable.bind(null, options),
|
|
872
|
+
flatten: true,
|
|
873
|
+
getShadowRoot: options.getShadowRoot
|
|
874
|
+
});
|
|
875
|
+
else candidates = getCandidates(container, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options));
|
|
876
|
+
return candidates;
|
|
877
|
+
};
|
|
878
|
+
var isTabbable = function isTabbable(node, options) {
|
|
879
|
+
options = options || {};
|
|
880
|
+
if (!node) throw new Error("No node provided");
|
|
881
|
+
if (matches.call(node, candidateSelector) === false) return false;
|
|
882
|
+
return isNodeMatchingSelectorTabbable(options, node);
|
|
883
|
+
};
|
|
884
|
+
var focusableCandidateSelector = /* #__PURE__ */ candidateSelectors.concat("iframe:not([inert]):not([inert] *)").join(",");
|
|
885
|
+
var isFocusable = function isFocusable(node, options) {
|
|
886
|
+
options = options || {};
|
|
887
|
+
if (!node) throw new Error("No node provided");
|
|
888
|
+
if (matches.call(node, focusableCandidateSelector) === false) return false;
|
|
889
|
+
return isNodeMatchingSelectorFocusable(options, node);
|
|
890
|
+
};
|
|
891
|
+
//#endregion
|
|
892
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/internal/tabbable.js
|
|
893
|
+
function getTabbableOptions() {
|
|
894
|
+
return {
|
|
895
|
+
getShadowRoot: true,
|
|
896
|
+
displayCheck: typeof ResizeObserver === "function" && ResizeObserver.toString().includes("[native code]") ? "full" : "none"
|
|
897
|
+
};
|
|
898
|
+
}
|
|
899
|
+
/**
|
|
900
|
+
* Gets all tabbable elements in the body and finds the next/previous tabbable element
|
|
901
|
+
* from the `currentNode` based on the `direction` provided.
|
|
902
|
+
* @param currentNode - the node we want to get the next/previous tabbable from
|
|
903
|
+
*/
|
|
904
|
+
function getTabbableFrom(currentNode, direction) {
|
|
905
|
+
if (!isTabbable(currentNode, getTabbableOptions())) return getTabbableFromFocusable(currentNode, direction);
|
|
906
|
+
const doc = getDocument(currentNode);
|
|
907
|
+
const allTabbable = tabbable(doc.body, getTabbableOptions());
|
|
908
|
+
if (direction === "prev") allTabbable.reverse();
|
|
909
|
+
const activeIndex = allTabbable.indexOf(currentNode);
|
|
910
|
+
if (activeIndex === -1) return doc.body;
|
|
911
|
+
return allTabbable.slice(activeIndex + 1)[0];
|
|
912
|
+
}
|
|
913
|
+
function getTabbableFromFocusable(currentNode, direction) {
|
|
914
|
+
const doc = getDocument(currentNode);
|
|
915
|
+
if (!isFocusable(currentNode, getTabbableOptions())) return doc.body;
|
|
916
|
+
const allFocusable = focusable(doc.body, getTabbableOptions());
|
|
917
|
+
if (direction === "prev") allFocusable.reverse();
|
|
918
|
+
const activeIndex = allFocusable.indexOf(currentNode);
|
|
919
|
+
if (activeIndex === -1) return doc.body;
|
|
920
|
+
return allFocusable.slice(activeIndex + 1).find((node) => isTabbable(node, getTabbableOptions())) ?? doc.body;
|
|
921
|
+
}
|
|
922
|
+
//#endregion
|
|
923
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/internal/arrays.js
|
|
924
|
+
/**
|
|
925
|
+
* Checks if the given index is valid for the given array.
|
|
926
|
+
*
|
|
927
|
+
* @param index - The index to check
|
|
928
|
+
* @param arr - The array to check
|
|
929
|
+
*/
|
|
930
|
+
function isValidIndex(index, arr) {
|
|
931
|
+
return index >= 0 && index < arr.length;
|
|
932
|
+
}
|
|
933
|
+
/**
|
|
934
|
+
* Returns the array element after the given index, or undefined for out-of-bounds or empty arrays.
|
|
935
|
+
* @param array the array.
|
|
936
|
+
* @param index the index of the current element.
|
|
937
|
+
* @param loop loop to the beginning of the array if the next index is out of bounds?
|
|
938
|
+
*/
|
|
939
|
+
/**
|
|
940
|
+
* Returns the array element after the given index, or undefined for out-of-bounds or empty arrays.
|
|
941
|
+
* For single-element arrays, returns the element if the index is 0.
|
|
942
|
+
* @param array the array.
|
|
943
|
+
* @param index the index of the current element.
|
|
944
|
+
* @param loop loop to the beginning of the array if the next index is out of bounds?
|
|
945
|
+
*/
|
|
946
|
+
function next(array, index, loop = true) {
|
|
947
|
+
if (array.length === 0 || index < 0 || index >= array.length) return;
|
|
948
|
+
if (array.length === 1 && index === 0) return array[0];
|
|
949
|
+
if (index === array.length - 1) return loop ? array[0] : void 0;
|
|
950
|
+
return array[index + 1];
|
|
951
|
+
}
|
|
952
|
+
/**
|
|
953
|
+
* Returns the array element prior to the given index, or undefined for out-of-bounds or empty arrays.
|
|
954
|
+
* For single-element arrays, returns the element if the index is 0.
|
|
955
|
+
* @param array the array.
|
|
956
|
+
* @param index the index of the current element.
|
|
957
|
+
* @param loop loop to the end of the array if the previous index is out of bounds?
|
|
958
|
+
*/
|
|
959
|
+
function prev(array, index, loop = true) {
|
|
960
|
+
if (array.length === 0 || index < 0 || index >= array.length) return;
|
|
961
|
+
if (array.length === 1 && index === 0) return array[0];
|
|
962
|
+
if (index === 0) return loop ? array[array.length - 1] : void 0;
|
|
963
|
+
return array[index - 1];
|
|
964
|
+
}
|
|
965
|
+
/**
|
|
966
|
+
* Returns the element some number after the given index. If the target index is out of bounds:
|
|
967
|
+
* - If looping is disabled, the first or last element will be returned.
|
|
968
|
+
* - If looping is enabled, it will wrap around the array.
|
|
969
|
+
* Returns undefined for empty arrays or out-of-bounds initial indices.
|
|
970
|
+
* @param array the array.
|
|
971
|
+
* @param index the index of the current element.
|
|
972
|
+
* @param increment the number of elements to move forward (can be negative).
|
|
973
|
+
* @param loop loop around the array if the target index is out of bounds?
|
|
974
|
+
*/
|
|
975
|
+
function forward(array, index, increment, loop = true) {
|
|
976
|
+
if (array.length === 0 || index < 0 || index >= array.length) return;
|
|
977
|
+
let targetIndex = index + increment;
|
|
978
|
+
if (loop) targetIndex = (targetIndex % array.length + array.length) % array.length;
|
|
979
|
+
else targetIndex = Math.max(0, Math.min(targetIndex, array.length - 1));
|
|
980
|
+
return array[targetIndex];
|
|
981
|
+
}
|
|
982
|
+
/**
|
|
983
|
+
* Returns the element some number before the given index. If the target index is out of bounds:
|
|
984
|
+
* - If looping is disabled, the first or last element will be returned.
|
|
985
|
+
* - If looping is enabled, it will wrap around the array.
|
|
986
|
+
* Returns undefined for empty arrays or out-of-bounds initial indices.
|
|
987
|
+
* @param array the array.
|
|
988
|
+
* @param index the index of the current element.
|
|
989
|
+
* @param decrement the number of elements to move backward (can be negative).
|
|
990
|
+
* @param loop loop around the array if the target index is out of bounds?
|
|
991
|
+
*/
|
|
992
|
+
function backward(array, index, decrement, loop = true) {
|
|
993
|
+
if (array.length === 0 || index < 0 || index >= array.length) return;
|
|
994
|
+
let targetIndex = index - decrement;
|
|
995
|
+
if (loop) targetIndex = (targetIndex % array.length + array.length) % array.length;
|
|
996
|
+
else targetIndex = Math.max(0, Math.min(targetIndex, array.length - 1));
|
|
997
|
+
return array[targetIndex];
|
|
998
|
+
}
|
|
999
|
+
/**
|
|
1000
|
+
* Finds the next matching item from a list of values based on a search string.
|
|
1001
|
+
*
|
|
1002
|
+
* This function handles several special cases in typeahead behavior:
|
|
1003
|
+
*
|
|
1004
|
+
* 1. Space handling: When a search string ends with a space, it handles it specially:
|
|
1005
|
+
* - If there's only one match for the text before the space, it ignores the space
|
|
1006
|
+
* - If there are multiple matches and the current match already starts with the search prefix
|
|
1007
|
+
* followed by a space, it keeps the current match (doesn't change selection on space)
|
|
1008
|
+
* - Only after typing characters beyond the space will it move to a more specific match
|
|
1009
|
+
*
|
|
1010
|
+
* 2. Repeated character handling: If a search consists of repeated characters (e.g., "aaa"),
|
|
1011
|
+
* it treats it as a single character for matching purposes
|
|
1012
|
+
*
|
|
1013
|
+
* 3. Cycling behavior: The function wraps around the values array starting from the current match
|
|
1014
|
+
* to find the next appropriate match, creating a cycling selection behavior
|
|
1015
|
+
*
|
|
1016
|
+
* @param values - Array of string values to search through (e.g., the text content of menu items)
|
|
1017
|
+
* @param search - The current search string typed by the user
|
|
1018
|
+
* @param currentMatch - The currently selected/matched item, if any
|
|
1019
|
+
* @returns The next matching value that should be selected, or undefined if no match is found
|
|
1020
|
+
*/
|
|
1021
|
+
function getNextMatch(values, search, currentMatch) {
|
|
1022
|
+
const lowerSearch = search.toLowerCase();
|
|
1023
|
+
if (lowerSearch.endsWith(" ")) {
|
|
1024
|
+
const searchWithoutSpace = lowerSearch.slice(0, -1);
|
|
1025
|
+
/**
|
|
1026
|
+
* If there's only one match for the prefix without space, we don't
|
|
1027
|
+
* watch to match with space.
|
|
1028
|
+
*/
|
|
1029
|
+
if (values.filter((value) => value.toLowerCase().startsWith(searchWithoutSpace)).length <= 1) return getNextMatch(values, searchWithoutSpace, currentMatch);
|
|
1030
|
+
const currentMatchLowercase = currentMatch?.toLowerCase();
|
|
1031
|
+
/**
|
|
1032
|
+
* If the current match already starts with the search prefix and has a space afterward,
|
|
1033
|
+
* and the user has only typed up to that space, keep the current match until they
|
|
1034
|
+
* disambiguate.
|
|
1035
|
+
*/
|
|
1036
|
+
if (currentMatchLowercase && currentMatchLowercase.startsWith(searchWithoutSpace) && currentMatchLowercase.charAt(searchWithoutSpace.length) === " " && search.trim() === searchWithoutSpace) return currentMatch;
|
|
1037
|
+
/**
|
|
1038
|
+
* With multiple matches, find items that match the full search string with space
|
|
1039
|
+
*/
|
|
1040
|
+
const spacedMatches = values.filter((value) => value.toLowerCase().startsWith(lowerSearch));
|
|
1041
|
+
/**
|
|
1042
|
+
* If we found matches with the space, use the first one that's not the current match
|
|
1043
|
+
*/
|
|
1044
|
+
if (spacedMatches.length > 0) {
|
|
1045
|
+
const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;
|
|
1046
|
+
return wrapArray(spacedMatches, Math.max(currentMatchIndex, 0)).find((match) => match !== currentMatch) || currentMatch;
|
|
1047
|
+
}
|
|
1048
|
+
}
|
|
1049
|
+
const normalizedSearch = search.length > 1 && Array.from(search).every((char) => char === search[0]) ? search[0] : search;
|
|
1050
|
+
const normalizedLowerSearch = normalizedSearch.toLowerCase();
|
|
1051
|
+
const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;
|
|
1052
|
+
let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));
|
|
1053
|
+
if (normalizedSearch.length === 1) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);
|
|
1054
|
+
const nextMatch = wrappedValues.find((value) => value?.toLowerCase().startsWith(normalizedLowerSearch));
|
|
1055
|
+
return nextMatch !== currentMatch ? nextMatch : void 0;
|
|
1056
|
+
}
|
|
1057
|
+
/**
|
|
1058
|
+
* Wraps an array around itself at a given start index
|
|
1059
|
+
* Example: `wrapArray(['a', 'b', 'c', 'd'], 2) === ['c', 'd', 'a', 'b']`
|
|
1060
|
+
*/
|
|
1061
|
+
function wrapArray(array, startIndex) {
|
|
1062
|
+
return array.map((_, index) => array[(startIndex + index) % array.length]);
|
|
1063
|
+
}
|
|
1064
|
+
//#endregion
|
|
1065
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/internal/box-auto-reset.svelte.js
|
|
1066
|
+
var defaultOptions = {
|
|
1067
|
+
afterMs: 1e4,
|
|
1068
|
+
onChange: noop
|
|
1069
|
+
};
|
|
1070
|
+
function boxAutoReset(defaultValue, options) {
|
|
1071
|
+
const { afterMs, onChange, getWindow } = {
|
|
1072
|
+
...defaultOptions,
|
|
1073
|
+
...options
|
|
1074
|
+
};
|
|
1075
|
+
let timeout = null;
|
|
1076
|
+
let value = defaultValue;
|
|
1077
|
+
function resetAfter() {
|
|
1078
|
+
return getWindow().setTimeout(() => {
|
|
1079
|
+
value = defaultValue;
|
|
1080
|
+
onChange?.(defaultValue);
|
|
1081
|
+
}, afterMs);
|
|
1082
|
+
}
|
|
1083
|
+
return boxWith(() => value, (v) => {
|
|
1084
|
+
value = v;
|
|
1085
|
+
onChange?.(v);
|
|
1086
|
+
if (timeout) getWindow().clearTimeout(timeout);
|
|
1087
|
+
timeout = resetAfter();
|
|
1088
|
+
});
|
|
1089
|
+
}
|
|
1090
|
+
//#endregion
|
|
1091
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/internal/dom-typeahead.svelte.js
|
|
1092
|
+
var DOMTypeahead = class {
|
|
1093
|
+
#opts;
|
|
1094
|
+
#search;
|
|
1095
|
+
#onMatch = derived(() => {
|
|
1096
|
+
if (this.#opts.onMatch) return this.#opts.onMatch;
|
|
1097
|
+
return (node) => node.focus();
|
|
1098
|
+
});
|
|
1099
|
+
#getCurrentItem = derived(() => {
|
|
1100
|
+
if (this.#opts.getCurrentItem) return this.#opts.getCurrentItem;
|
|
1101
|
+
return this.#opts.getActiveElement;
|
|
1102
|
+
});
|
|
1103
|
+
constructor(opts) {
|
|
1104
|
+
this.#opts = opts;
|
|
1105
|
+
this.#search = boxAutoReset("", {
|
|
1106
|
+
afterMs: 1e3,
|
|
1107
|
+
getWindow: opts.getWindow
|
|
1108
|
+
});
|
|
1109
|
+
this.handleTypeaheadSearch = this.handleTypeaheadSearch.bind(this);
|
|
1110
|
+
this.resetTypeahead = this.resetTypeahead.bind(this);
|
|
1111
|
+
}
|
|
1112
|
+
handleTypeaheadSearch(key, candidates) {
|
|
1113
|
+
if (!candidates.length) return;
|
|
1114
|
+
this.#search.current = this.#search.current + key;
|
|
1115
|
+
const currentItem = this.#getCurrentItem()();
|
|
1116
|
+
const currentMatch = candidates.find((item) => item === currentItem)?.textContent?.trim() ?? "";
|
|
1117
|
+
const nextMatch = getNextMatch(candidates.map((item) => item.textContent?.trim() ?? ""), this.#search.current, currentMatch);
|
|
1118
|
+
const newItem = candidates.find((item) => item.textContent?.trim() === nextMatch);
|
|
1119
|
+
if (newItem) this.#onMatch()(newItem);
|
|
1120
|
+
return newItem;
|
|
1121
|
+
}
|
|
1122
|
+
resetTypeahead() {
|
|
1123
|
+
this.#search.current = "";
|
|
1124
|
+
}
|
|
1125
|
+
get search() {
|
|
1126
|
+
return this.#search.current;
|
|
1127
|
+
}
|
|
1128
|
+
};
|
|
1129
|
+
//#endregion
|
|
1130
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/bits/menu/menu.svelte.js
|
|
1131
|
+
var CONTEXT_MENU_TRIGGER_ATTR = "data-context-menu-trigger";
|
|
1132
|
+
var CONTEXT_MENU_CONTENT_ATTR = "data-context-menu-content";
|
|
1133
|
+
var MenuRootContext = new Context("Menu.Root");
|
|
1134
|
+
var MenuMenuContext = new Context("Menu.Root | Menu.Sub");
|
|
1135
|
+
var MenuContentContext = new Context("Menu.Content");
|
|
1136
|
+
var MenuOpenEvent = new CustomEventDispatcher("bitsmenuopen", {
|
|
1137
|
+
bubbles: false,
|
|
1138
|
+
cancelable: true
|
|
1139
|
+
});
|
|
1140
|
+
var menuAttrs = createBitsAttrs({
|
|
1141
|
+
component: "menu",
|
|
1142
|
+
parts: [
|
|
1143
|
+
"trigger",
|
|
1144
|
+
"content",
|
|
1145
|
+
"sub-trigger",
|
|
1146
|
+
"item",
|
|
1147
|
+
"group",
|
|
1148
|
+
"group-heading",
|
|
1149
|
+
"checkbox-group",
|
|
1150
|
+
"checkbox-item",
|
|
1151
|
+
"radio-group",
|
|
1152
|
+
"radio-item",
|
|
1153
|
+
"separator",
|
|
1154
|
+
"sub-content",
|
|
1155
|
+
"arrow"
|
|
1156
|
+
]
|
|
1157
|
+
});
|
|
1158
|
+
var MenuSubmenuIntent = class {
|
|
1159
|
+
#opts;
|
|
1160
|
+
#cleanupDocMove = null;
|
|
1161
|
+
#fallbackTimer = null;
|
|
1162
|
+
#active = false;
|
|
1163
|
+
#target = null;
|
|
1164
|
+
#apex = null;
|
|
1165
|
+
#pointerPoint = null;
|
|
1166
|
+
#launchPoint = null;
|
|
1167
|
+
constructor(opts) {
|
|
1168
|
+
this.#opts = opts;
|
|
1169
|
+
watch([
|
|
1170
|
+
opts.triggerNode,
|
|
1171
|
+
opts.contentNode,
|
|
1172
|
+
opts.enabled
|
|
1173
|
+
], ([triggerNode, contentNode, enabled]) => {
|
|
1174
|
+
this.#reset();
|
|
1175
|
+
if (!triggerNode || !contentNode || !enabled) return;
|
|
1176
|
+
const onTriggerMove = (e) => {
|
|
1177
|
+
if (!isMouseEvent(e)) return;
|
|
1178
|
+
this.#launchPoint = {
|
|
1179
|
+
x: e.clientX,
|
|
1180
|
+
y: e.clientY
|
|
1181
|
+
};
|
|
1182
|
+
if (!this.#active) this.#preview(e, "content");
|
|
1183
|
+
};
|
|
1184
|
+
const onTriggerLeave = (e) => {
|
|
1185
|
+
if (!isMouseEvent(e)) return;
|
|
1186
|
+
this.#engage(e, "content");
|
|
1187
|
+
};
|
|
1188
|
+
const onContentMove = (e) => {
|
|
1189
|
+
if (!isMouseEvent(e)) return;
|
|
1190
|
+
if (!this.#active) this.#preview(e, "trigger");
|
|
1191
|
+
};
|
|
1192
|
+
const onContentLeave = (e) => {
|
|
1193
|
+
if (!isMouseEvent(e)) return;
|
|
1194
|
+
if (isElement(e.relatedTarget)) {
|
|
1195
|
+
const selector = this.#opts.subContentSelector();
|
|
1196
|
+
const matchedSubContent = e.relatedTarget.closest(selector);
|
|
1197
|
+
if (matchedSubContent && matchedSubContent !== contentNode && matchedSubContent.id) {
|
|
1198
|
+
if (!!contentNode.querySelector(`[aria-controls="${matchedSubContent.id}"]`)) return;
|
|
1199
|
+
}
|
|
1200
|
+
}
|
|
1201
|
+
this.#engage(e, "trigger");
|
|
1202
|
+
};
|
|
1203
|
+
const onTriggerEnter = (e) => {
|
|
1204
|
+
if (!isMouseEvent(e)) return;
|
|
1205
|
+
this.#disengage();
|
|
1206
|
+
};
|
|
1207
|
+
const onContentEnter = (e) => {
|
|
1208
|
+
if (!isMouseEvent(e)) return;
|
|
1209
|
+
this.#disengage();
|
|
1210
|
+
};
|
|
1211
|
+
triggerNode.addEventListener("pointermove", onTriggerMove);
|
|
1212
|
+
triggerNode.addEventListener("pointerleave", onTriggerLeave);
|
|
1213
|
+
triggerNode.addEventListener("pointerenter", onTriggerEnter);
|
|
1214
|
+
contentNode.addEventListener("pointermove", onContentMove);
|
|
1215
|
+
contentNode.addEventListener("pointerleave", onContentLeave);
|
|
1216
|
+
contentNode.addEventListener("pointerenter", onContentEnter);
|
|
1217
|
+
return () => {
|
|
1218
|
+
triggerNode.removeEventListener("pointermove", onTriggerMove);
|
|
1219
|
+
triggerNode.removeEventListener("pointerleave", onTriggerLeave);
|
|
1220
|
+
triggerNode.removeEventListener("pointerenter", onTriggerEnter);
|
|
1221
|
+
contentNode.removeEventListener("pointermove", onContentMove);
|
|
1222
|
+
contentNode.removeEventListener("pointerleave", onContentLeave);
|
|
1223
|
+
contentNode.removeEventListener("pointerenter", onContentEnter);
|
|
1224
|
+
this.#reset();
|
|
1225
|
+
};
|
|
1226
|
+
});
|
|
1227
|
+
}
|
|
1228
|
+
#parentTargetRect() {
|
|
1229
|
+
const parent = this.#opts.parentContentNode();
|
|
1230
|
+
if (parent) return parent.getBoundingClientRect();
|
|
1231
|
+
return this.#opts.triggerNode()?.getBoundingClientRect() ?? null;
|
|
1232
|
+
}
|
|
1233
|
+
#computePolygons(pointerPt, target) {
|
|
1234
|
+
const triggerNode = this.#opts.triggerNode();
|
|
1235
|
+
const contentNode = this.#opts.contentNode();
|
|
1236
|
+
if (!triggerNode || !contentNode) return null;
|
|
1237
|
+
const triggerRect = triggerNode.getBoundingClientRect();
|
|
1238
|
+
const contentRect = contentNode.getBoundingClientRect();
|
|
1239
|
+
const side = getSide(triggerRect, contentRect);
|
|
1240
|
+
let apex;
|
|
1241
|
+
let targetRect;
|
|
1242
|
+
let sourceRect;
|
|
1243
|
+
if (target === "content") {
|
|
1244
|
+
apex = this.#active ? this.#apex ?? pointerPt : pointerPt;
|
|
1245
|
+
targetRect = contentRect;
|
|
1246
|
+
} else {
|
|
1247
|
+
apex = this.#launchPoint ?? pointerPt;
|
|
1248
|
+
targetRect = this.#parentTargetRect() ?? triggerRect;
|
|
1249
|
+
sourceRect = contentRect;
|
|
1250
|
+
}
|
|
1251
|
+
this.#apex = apex;
|
|
1252
|
+
return {
|
|
1253
|
+
corridor: getCorridorPolygon(triggerRect, contentRect, side),
|
|
1254
|
+
intent: getIntentPolygon(apex, targetRect, side, target, sourceRect),
|
|
1255
|
+
targetRect,
|
|
1256
|
+
side
|
|
1257
|
+
};
|
|
1258
|
+
}
|
|
1259
|
+
#isInSafeZone(pt, corridor, intent) {
|
|
1260
|
+
return isPointInPolygon(pt, corridor) || isPointInPolygon(pt, intent);
|
|
1261
|
+
}
|
|
1262
|
+
#preview(e, target) {
|
|
1263
|
+
const pt = {
|
|
1264
|
+
x: e.clientX,
|
|
1265
|
+
y: e.clientY
|
|
1266
|
+
};
|
|
1267
|
+
if (!this.#computePolygons(pt, target)) return;
|
|
1268
|
+
this.#target = target;
|
|
1269
|
+
this.#pointerPoint = pt;
|
|
1270
|
+
}
|
|
1271
|
+
#engage(e, target) {
|
|
1272
|
+
if (!this.#opts.enabled()) return;
|
|
1273
|
+
const triggerNode = this.#opts.triggerNode();
|
|
1274
|
+
const contentNode = this.#opts.contentNode();
|
|
1275
|
+
if (!triggerNode || !contentNode) return;
|
|
1276
|
+
const related = e.relatedTarget;
|
|
1277
|
+
if (isElement(related)) {
|
|
1278
|
+
if (target === "content" && contentNode.contains(related)) return;
|
|
1279
|
+
if (target === "trigger" && triggerNode.contains(related)) return;
|
|
1280
|
+
}
|
|
1281
|
+
const pt = {
|
|
1282
|
+
x: e.clientX,
|
|
1283
|
+
y: e.clientY
|
|
1284
|
+
};
|
|
1285
|
+
const geo = this.#computePolygons(pt, target);
|
|
1286
|
+
if (!geo) return;
|
|
1287
|
+
if (!isInsideRect(pt, geo.targetRect) && !this.#isInSafeZone(pt, geo.corridor, geo.intent)) {
|
|
1288
|
+
this.#clearVisuals();
|
|
1289
|
+
return;
|
|
1290
|
+
}
|
|
1291
|
+
this.#active = true;
|
|
1292
|
+
this.#target = target;
|
|
1293
|
+
this.#pointerPoint = pt;
|
|
1294
|
+
this.#opts.setIsPointerInTransit(true);
|
|
1295
|
+
this.#attachDocMove();
|
|
1296
|
+
this.#startFallback();
|
|
1297
|
+
}
|
|
1298
|
+
#disengageTimer = null;
|
|
1299
|
+
#disengage() {
|
|
1300
|
+
if (!this.#active) return;
|
|
1301
|
+
const wasReturning = this.#target === "trigger";
|
|
1302
|
+
this.#detachDocMove();
|
|
1303
|
+
this.#clearFallback();
|
|
1304
|
+
this.#active = false;
|
|
1305
|
+
this.#clearVisuals();
|
|
1306
|
+
if (wasReturning) {
|
|
1307
|
+
this.#clearDisengageTimer();
|
|
1308
|
+
this.#disengageTimer = setTimeout(() => {
|
|
1309
|
+
this.#disengageTimer = null;
|
|
1310
|
+
this.#opts.setIsPointerInTransit(false);
|
|
1311
|
+
}, 100);
|
|
1312
|
+
} else this.#opts.setIsPointerInTransit(false);
|
|
1313
|
+
}
|
|
1314
|
+
#clearDisengageTimer() {
|
|
1315
|
+
if (this.#disengageTimer === null) return;
|
|
1316
|
+
clearTimeout(this.#disengageTimer);
|
|
1317
|
+
this.#disengageTimer = null;
|
|
1318
|
+
}
|
|
1319
|
+
#intentExit() {
|
|
1320
|
+
const pointerPoint = this.#pointerPoint;
|
|
1321
|
+
this.#detachDocMove();
|
|
1322
|
+
this.#clearFallback();
|
|
1323
|
+
this.#clearDisengageTimer();
|
|
1324
|
+
this.#active = false;
|
|
1325
|
+
this.#opts.setIsPointerInTransit(false);
|
|
1326
|
+
this.#clearVisuals();
|
|
1327
|
+
this.#opts.onIntentExit(pointerPoint);
|
|
1328
|
+
}
|
|
1329
|
+
#reset() {
|
|
1330
|
+
this.#detachDocMove();
|
|
1331
|
+
this.#clearFallback();
|
|
1332
|
+
this.#clearDisengageTimer();
|
|
1333
|
+
if (this.#active) this.#opts.setIsPointerInTransit(false);
|
|
1334
|
+
this.#active = false;
|
|
1335
|
+
this.#target = null;
|
|
1336
|
+
this.#apex = null;
|
|
1337
|
+
this.#pointerPoint = null;
|
|
1338
|
+
this.#launchPoint = null;
|
|
1339
|
+
}
|
|
1340
|
+
#isPointerInDescendantSubContent(pt) {
|
|
1341
|
+
const contentNode = this.#opts.contentNode();
|
|
1342
|
+
if (!contentNode) return false;
|
|
1343
|
+
const el = contentNode.ownerDocument.elementFromPoint(pt.x, pt.y);
|
|
1344
|
+
if (!el) return false;
|
|
1345
|
+
const selector = this.#opts.subContentSelector();
|
|
1346
|
+
const subContent = el.closest(selector);
|
|
1347
|
+
if (!subContent || subContent === contentNode) return false;
|
|
1348
|
+
if (subContent.id) return !!contentNode.querySelector(`[aria-controls="${subContent.id}"]`);
|
|
1349
|
+
return false;
|
|
1350
|
+
}
|
|
1351
|
+
#onDocMove = (e) => {
|
|
1352
|
+
if (!this.#active || !this.#target) return;
|
|
1353
|
+
if (!isMouseEvent(e)) return;
|
|
1354
|
+
const triggerNode = this.#opts.triggerNode();
|
|
1355
|
+
const contentNode = this.#opts.contentNode();
|
|
1356
|
+
if (!triggerNode || !contentNode) {
|
|
1357
|
+
this.#intentExit();
|
|
1358
|
+
return;
|
|
1359
|
+
}
|
|
1360
|
+
this.#clearFallback();
|
|
1361
|
+
const pt = {
|
|
1362
|
+
x: e.clientX,
|
|
1363
|
+
y: e.clientY
|
|
1364
|
+
};
|
|
1365
|
+
this.#pointerPoint = pt;
|
|
1366
|
+
const triggerRect = triggerNode.getBoundingClientRect();
|
|
1367
|
+
const contentRect = contentNode.getBoundingClientRect();
|
|
1368
|
+
if (this.#target === "content" && isInsideRect(pt, contentRect)) {
|
|
1369
|
+
this.#disengage();
|
|
1370
|
+
return;
|
|
1371
|
+
}
|
|
1372
|
+
if (this.#target === "trigger" && isInsideInsetRect(pt, triggerRect, 4)) {
|
|
1373
|
+
this.#disengage();
|
|
1374
|
+
return;
|
|
1375
|
+
}
|
|
1376
|
+
if (this.#isPointerInDescendantSubContent(pt)) {
|
|
1377
|
+
this.#startFallback();
|
|
1378
|
+
return;
|
|
1379
|
+
}
|
|
1380
|
+
const geo = this.#computePolygons(pt, this.#target);
|
|
1381
|
+
if (!geo) {
|
|
1382
|
+
this.#intentExit();
|
|
1383
|
+
return;
|
|
1384
|
+
}
|
|
1385
|
+
if (this.#isInSafeZone(pt, geo.corridor, geo.intent)) {
|
|
1386
|
+
this.#startFallback();
|
|
1387
|
+
return;
|
|
1388
|
+
}
|
|
1389
|
+
this.#intentExit();
|
|
1390
|
+
};
|
|
1391
|
+
#attachDocMove() {
|
|
1392
|
+
if (this.#cleanupDocMove) return;
|
|
1393
|
+
const doc = getDocument(this.#opts.triggerNode() ?? this.#opts.contentNode());
|
|
1394
|
+
if (!doc) return;
|
|
1395
|
+
doc.addEventListener("pointermove", this.#onDocMove, true);
|
|
1396
|
+
this.#cleanupDocMove = () => {
|
|
1397
|
+
doc.removeEventListener("pointermove", this.#onDocMove, true);
|
|
1398
|
+
this.#cleanupDocMove = null;
|
|
1399
|
+
};
|
|
1400
|
+
}
|
|
1401
|
+
#detachDocMove() {
|
|
1402
|
+
this.#cleanupDocMove?.();
|
|
1403
|
+
}
|
|
1404
|
+
#startFallback() {
|
|
1405
|
+
this.#clearFallback();
|
|
1406
|
+
this.#fallbackTimer = setTimeout(() => {
|
|
1407
|
+
this.#fallbackTimer = null;
|
|
1408
|
+
if (this.#active) this.#intentExit();
|
|
1409
|
+
}, 500);
|
|
1410
|
+
}
|
|
1411
|
+
#clearFallback() {
|
|
1412
|
+
if (this.#fallbackTimer === null) return;
|
|
1413
|
+
clearTimeout(this.#fallbackTimer);
|
|
1414
|
+
this.#fallbackTimer = null;
|
|
1415
|
+
}
|
|
1416
|
+
#clearVisuals() {
|
|
1417
|
+
this.#target = null;
|
|
1418
|
+
this.#apex = null;
|
|
1419
|
+
this.#pointerPoint = null;
|
|
1420
|
+
}
|
|
1421
|
+
};
|
|
1422
|
+
function isPointInPolygon(point, polygon) {
|
|
1423
|
+
const { x, y } = point;
|
|
1424
|
+
let inside = false;
|
|
1425
|
+
for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
|
|
1426
|
+
const xi = polygon[i].x;
|
|
1427
|
+
const yi = polygon[i].y;
|
|
1428
|
+
const xj = polygon[j].x;
|
|
1429
|
+
const yj = polygon[j].y;
|
|
1430
|
+
if (yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi) inside = !inside;
|
|
1431
|
+
}
|
|
1432
|
+
return inside;
|
|
1433
|
+
}
|
|
1434
|
+
function isInsideRect(point, rect) {
|
|
1435
|
+
return point.x >= rect.left && point.x <= rect.right && point.y >= rect.top && point.y <= rect.bottom;
|
|
1436
|
+
}
|
|
1437
|
+
function isInsideInsetRect(point, rect, inset) {
|
|
1438
|
+
return point.x >= rect.left + inset && point.x <= rect.right - inset && point.y >= rect.top + inset && point.y <= rect.bottom - inset;
|
|
1439
|
+
}
|
|
1440
|
+
function getSide(triggerRect, contentRect) {
|
|
1441
|
+
const triggerCenterX = triggerRect.left + triggerRect.width / 2;
|
|
1442
|
+
const triggerCenterY = triggerRect.top + triggerRect.height / 2;
|
|
1443
|
+
const contentCenterX = contentRect.left + contentRect.width / 2;
|
|
1444
|
+
const contentCenterY = contentRect.top + contentRect.height / 2;
|
|
1445
|
+
const deltaX = contentCenterX - triggerCenterX;
|
|
1446
|
+
const deltaY = contentCenterY - triggerCenterY;
|
|
1447
|
+
if (Math.abs(deltaX) > Math.abs(deltaY)) return deltaX > 0 ? "right" : "left";
|
|
1448
|
+
return deltaY > 0 ? "bottom" : "top";
|
|
1449
|
+
}
|
|
1450
|
+
function getCorridorPolygon(triggerRect, contentRect, side) {
|
|
1451
|
+
const buffer = 2;
|
|
1452
|
+
switch (side) {
|
|
1453
|
+
case "top": return [
|
|
1454
|
+
{
|
|
1455
|
+
x: Math.min(triggerRect.left, contentRect.left) - buffer,
|
|
1456
|
+
y: triggerRect.top
|
|
1457
|
+
},
|
|
1458
|
+
{
|
|
1459
|
+
x: Math.min(triggerRect.left, contentRect.left) - buffer,
|
|
1460
|
+
y: contentRect.bottom
|
|
1461
|
+
},
|
|
1462
|
+
{
|
|
1463
|
+
x: Math.max(triggerRect.right, contentRect.right) + buffer,
|
|
1464
|
+
y: contentRect.bottom
|
|
1465
|
+
},
|
|
1466
|
+
{
|
|
1467
|
+
x: Math.max(triggerRect.right, contentRect.right) + buffer,
|
|
1468
|
+
y: triggerRect.top
|
|
1469
|
+
}
|
|
1470
|
+
];
|
|
1471
|
+
case "bottom": return [
|
|
1472
|
+
{
|
|
1473
|
+
x: Math.min(triggerRect.left, contentRect.left) - buffer,
|
|
1474
|
+
y: triggerRect.bottom
|
|
1475
|
+
},
|
|
1476
|
+
{
|
|
1477
|
+
x: Math.min(triggerRect.left, contentRect.left) - buffer,
|
|
1478
|
+
y: contentRect.top
|
|
1479
|
+
},
|
|
1480
|
+
{
|
|
1481
|
+
x: Math.max(triggerRect.right, contentRect.right) + buffer,
|
|
1482
|
+
y: contentRect.top
|
|
1483
|
+
},
|
|
1484
|
+
{
|
|
1485
|
+
x: Math.max(triggerRect.right, contentRect.right) + buffer,
|
|
1486
|
+
y: triggerRect.bottom
|
|
1487
|
+
}
|
|
1488
|
+
];
|
|
1489
|
+
case "left": return [
|
|
1490
|
+
{
|
|
1491
|
+
x: triggerRect.left,
|
|
1492
|
+
y: Math.min(triggerRect.top, contentRect.top) - buffer
|
|
1493
|
+
},
|
|
1494
|
+
{
|
|
1495
|
+
x: contentRect.right,
|
|
1496
|
+
y: Math.min(triggerRect.top, contentRect.top) - buffer
|
|
1497
|
+
},
|
|
1498
|
+
{
|
|
1499
|
+
x: contentRect.right,
|
|
1500
|
+
y: Math.max(triggerRect.bottom, contentRect.bottom) + buffer
|
|
1501
|
+
},
|
|
1502
|
+
{
|
|
1503
|
+
x: triggerRect.left,
|
|
1504
|
+
y: Math.max(triggerRect.bottom, contentRect.bottom) + buffer
|
|
1505
|
+
}
|
|
1506
|
+
];
|
|
1507
|
+
case "right": return [
|
|
1508
|
+
{
|
|
1509
|
+
x: triggerRect.right,
|
|
1510
|
+
y: Math.min(triggerRect.top, contentRect.top) - buffer
|
|
1511
|
+
},
|
|
1512
|
+
{
|
|
1513
|
+
x: contentRect.left,
|
|
1514
|
+
y: Math.min(triggerRect.top, contentRect.top) - buffer
|
|
1515
|
+
},
|
|
1516
|
+
{
|
|
1517
|
+
x: contentRect.left,
|
|
1518
|
+
y: Math.max(triggerRect.bottom, contentRect.bottom) + buffer
|
|
1519
|
+
},
|
|
1520
|
+
{
|
|
1521
|
+
x: triggerRect.right,
|
|
1522
|
+
y: Math.max(triggerRect.bottom, contentRect.bottom) + buffer
|
|
1523
|
+
}
|
|
1524
|
+
];
|
|
1525
|
+
}
|
|
1526
|
+
}
|
|
1527
|
+
function getIntentPolygon(exitPoint, targetRect, side, target, sourceRect) {
|
|
1528
|
+
const edgeBuffer = 8;
|
|
1529
|
+
const effectiveSide = target === "trigger" ? flipSide(side) : side;
|
|
1530
|
+
const top = sourceRect ? Math.min(targetRect.top, sourceRect.top) - edgeBuffer : targetRect.top - edgeBuffer;
|
|
1531
|
+
const bottom = sourceRect ? Math.max(targetRect.bottom, sourceRect.bottom) + edgeBuffer : targetRect.bottom + edgeBuffer;
|
|
1532
|
+
const left = sourceRect ? Math.min(targetRect.left, sourceRect.left) - edgeBuffer : targetRect.left - edgeBuffer;
|
|
1533
|
+
const right = sourceRect ? Math.max(targetRect.right, sourceRect.right) + edgeBuffer : targetRect.right + edgeBuffer;
|
|
1534
|
+
switch (effectiveSide) {
|
|
1535
|
+
case "right": return [
|
|
1536
|
+
exitPoint,
|
|
1537
|
+
{
|
|
1538
|
+
x: targetRect.left,
|
|
1539
|
+
y: top
|
|
1540
|
+
},
|
|
1541
|
+
{
|
|
1542
|
+
x: targetRect.left,
|
|
1543
|
+
y: bottom
|
|
1544
|
+
}
|
|
1545
|
+
];
|
|
1546
|
+
case "left": return [
|
|
1547
|
+
exitPoint,
|
|
1548
|
+
{
|
|
1549
|
+
x: targetRect.right,
|
|
1550
|
+
y: top
|
|
1551
|
+
},
|
|
1552
|
+
{
|
|
1553
|
+
x: targetRect.right,
|
|
1554
|
+
y: bottom
|
|
1555
|
+
}
|
|
1556
|
+
];
|
|
1557
|
+
case "bottom": return [
|
|
1558
|
+
exitPoint,
|
|
1559
|
+
{
|
|
1560
|
+
x: left,
|
|
1561
|
+
y: targetRect.top
|
|
1562
|
+
},
|
|
1563
|
+
{
|
|
1564
|
+
x: right,
|
|
1565
|
+
y: targetRect.top
|
|
1566
|
+
}
|
|
1567
|
+
];
|
|
1568
|
+
case "top": return [
|
|
1569
|
+
exitPoint,
|
|
1570
|
+
{
|
|
1571
|
+
x: left,
|
|
1572
|
+
y: targetRect.bottom
|
|
1573
|
+
},
|
|
1574
|
+
{
|
|
1575
|
+
x: right,
|
|
1576
|
+
y: targetRect.bottom
|
|
1577
|
+
}
|
|
1578
|
+
];
|
|
1579
|
+
}
|
|
1580
|
+
}
|
|
1581
|
+
function flipSide(side) {
|
|
1582
|
+
switch (side) {
|
|
1583
|
+
case "top": return "bottom";
|
|
1584
|
+
case "bottom": return "top";
|
|
1585
|
+
case "left": return "right";
|
|
1586
|
+
case "right": return "left";
|
|
1587
|
+
}
|
|
1588
|
+
}
|
|
1589
|
+
var MenuRootState = class MenuRootState {
|
|
1590
|
+
static create(opts) {
|
|
1591
|
+
const root = new MenuRootState(opts);
|
|
1592
|
+
return MenuRootContext.set(root);
|
|
1593
|
+
}
|
|
1594
|
+
opts;
|
|
1595
|
+
isUsingKeyboard = new IsUsingKeyboard();
|
|
1596
|
+
ignoreCloseAutoFocus = false;
|
|
1597
|
+
isPointerInTransit = false;
|
|
1598
|
+
constructor(opts) {
|
|
1599
|
+
this.opts = opts;
|
|
1600
|
+
}
|
|
1601
|
+
getBitsAttr = (part) => {
|
|
1602
|
+
return menuAttrs.getAttr(part, this.opts.variant.current);
|
|
1603
|
+
};
|
|
1604
|
+
};
|
|
1605
|
+
var MenuMenuState = class MenuMenuState {
|
|
1606
|
+
static create(opts, root) {
|
|
1607
|
+
return MenuMenuContext.set(new MenuMenuState(opts, root, null));
|
|
1608
|
+
}
|
|
1609
|
+
opts;
|
|
1610
|
+
root;
|
|
1611
|
+
parentMenu;
|
|
1612
|
+
contentId = boxWith(() => "");
|
|
1613
|
+
contentNode = null;
|
|
1614
|
+
contentPresence;
|
|
1615
|
+
triggerNode = null;
|
|
1616
|
+
constructor(opts, root, parentMenu) {
|
|
1617
|
+
this.opts = opts;
|
|
1618
|
+
this.root = root;
|
|
1619
|
+
this.parentMenu = parentMenu;
|
|
1620
|
+
this.contentPresence = new PresenceManager({
|
|
1621
|
+
ref: boxWith(() => this.contentNode),
|
|
1622
|
+
open: this.opts.open,
|
|
1623
|
+
onComplete: () => {
|
|
1624
|
+
this.opts.onOpenChangeComplete.current(this.opts.open.current);
|
|
1625
|
+
},
|
|
1626
|
+
shouldSkipExitAnimation: () => {
|
|
1627
|
+
if (this.root.opts.variant.current !== "menubar" || this.parentMenu !== null) return false;
|
|
1628
|
+
return this.root.opts.shouldSkipExitAnimation?.() ?? false;
|
|
1629
|
+
}
|
|
1630
|
+
});
|
|
1631
|
+
if (parentMenu) watch(() => parentMenu.opts.open.current, () => {
|
|
1632
|
+
if (parentMenu.opts.open.current) return;
|
|
1633
|
+
this.opts.open.current = false;
|
|
1634
|
+
});
|
|
1635
|
+
}
|
|
1636
|
+
toggleOpen() {
|
|
1637
|
+
this.opts.open.current = !this.opts.open.current;
|
|
1638
|
+
}
|
|
1639
|
+
onOpen() {
|
|
1640
|
+
this.opts.open.current = true;
|
|
1641
|
+
}
|
|
1642
|
+
onClose() {
|
|
1643
|
+
this.opts.open.current = false;
|
|
1644
|
+
}
|
|
1645
|
+
};
|
|
1646
|
+
var MenuContentState = class MenuContentState {
|
|
1647
|
+
static create(opts) {
|
|
1648
|
+
return MenuContentContext.set(new MenuContentState(opts, MenuMenuContext.get()));
|
|
1649
|
+
}
|
|
1650
|
+
opts;
|
|
1651
|
+
parentMenu;
|
|
1652
|
+
rovingFocusGroup;
|
|
1653
|
+
domContext;
|
|
1654
|
+
attachment;
|
|
1655
|
+
search = "";
|
|
1656
|
+
#timer = 0;
|
|
1657
|
+
#handleTypeaheadSearch;
|
|
1658
|
+
mounted = false;
|
|
1659
|
+
#isSub;
|
|
1660
|
+
constructor(opts, parentMenu) {
|
|
1661
|
+
this.opts = opts;
|
|
1662
|
+
this.parentMenu = parentMenu;
|
|
1663
|
+
this.domContext = new DOMContext(opts.ref);
|
|
1664
|
+
this.attachment = attachRef(this.opts.ref, (v) => {
|
|
1665
|
+
if (this.parentMenu.contentNode !== v) this.parentMenu.contentNode = v;
|
|
1666
|
+
});
|
|
1667
|
+
parentMenu.contentId = opts.id;
|
|
1668
|
+
this.#isSub = opts.isSub ?? false;
|
|
1669
|
+
this.onkeydown = this.onkeydown.bind(this);
|
|
1670
|
+
this.onblur = this.onblur.bind(this);
|
|
1671
|
+
this.onfocus = this.onfocus.bind(this);
|
|
1672
|
+
this.handleInteractOutside = this.handleInteractOutside.bind(this);
|
|
1673
|
+
new MenuSubmenuIntent({
|
|
1674
|
+
contentNode: () => this.parentMenu.contentNode,
|
|
1675
|
+
triggerNode: () => this.parentMenu.triggerNode,
|
|
1676
|
+
parentContentNode: () => this.parentMenu.parentMenu?.contentNode ?? null,
|
|
1677
|
+
subContentSelector: () => `[${this.parentMenu.root.getBitsAttr("sub-content")}]`,
|
|
1678
|
+
enabled: () => this.parentMenu.opts.open.current && Boolean(this.parentMenu.triggerNode?.hasAttribute(this.parentMenu.root.getBitsAttr("sub-trigger"))),
|
|
1679
|
+
onIntentExit: (pointerPoint) => {
|
|
1680
|
+
this.parentMenu.opts.open.current = false;
|
|
1681
|
+
this.#dispatchPointerMoveToHoveredSubTrigger(pointerPoint);
|
|
1682
|
+
},
|
|
1683
|
+
setIsPointerInTransit: (value) => {
|
|
1684
|
+
this.parentMenu.root.isPointerInTransit = value;
|
|
1685
|
+
}
|
|
1686
|
+
});
|
|
1687
|
+
this.#handleTypeaheadSearch = new DOMTypeahead({
|
|
1688
|
+
getActiveElement: () => this.domContext.getActiveElement(),
|
|
1689
|
+
getWindow: () => this.domContext.getWindow()
|
|
1690
|
+
}).handleTypeaheadSearch;
|
|
1691
|
+
this.rovingFocusGroup = new RovingFocusGroup({
|
|
1692
|
+
rootNode: boxWith(() => this.parentMenu.contentNode),
|
|
1693
|
+
candidateAttr: this.parentMenu.root.getBitsAttr("item"),
|
|
1694
|
+
loop: this.opts.loop,
|
|
1695
|
+
orientation: boxWith(() => "vertical")
|
|
1696
|
+
});
|
|
1697
|
+
watch(() => this.parentMenu.contentNode, (contentNode) => {
|
|
1698
|
+
if (!contentNode) return;
|
|
1699
|
+
const handler = () => {
|
|
1700
|
+
afterTick(() => {
|
|
1701
|
+
if (!this.parentMenu.root.isUsingKeyboard.current) return;
|
|
1702
|
+
this.rovingFocusGroup.focusFirstCandidate();
|
|
1703
|
+
});
|
|
1704
|
+
};
|
|
1705
|
+
return MenuOpenEvent.listen(contentNode, handler);
|
|
1706
|
+
});
|
|
1707
|
+
}
|
|
1708
|
+
#getCandidateNodes() {
|
|
1709
|
+
const node = this.parentMenu.contentNode;
|
|
1710
|
+
if (!node) return [];
|
|
1711
|
+
return Array.from(node.querySelectorAll(`[${this.parentMenu.root.getBitsAttr("item")}]:not([data-disabled])`));
|
|
1712
|
+
}
|
|
1713
|
+
#isPointerMovingToSubmenu() {
|
|
1714
|
+
return this.parentMenu.root.isPointerInTransit;
|
|
1715
|
+
}
|
|
1716
|
+
#dispatchPointerMoveToHoveredSubTrigger(pointerPoint) {
|
|
1717
|
+
if (!pointerPoint) return;
|
|
1718
|
+
const parentContentNode = this.parentMenu.parentMenu?.contentNode;
|
|
1719
|
+
if (!parentContentNode) return;
|
|
1720
|
+
const hoveredNode = this.domContext.getDocument().elementFromPoint(pointerPoint.x, pointerPoint.y);
|
|
1721
|
+
if (!isElement(hoveredNode)) return;
|
|
1722
|
+
const hoveredSubTrigger = hoveredNode.closest(`[${this.parentMenu.root.getBitsAttr("sub-trigger")}]`);
|
|
1723
|
+
if (!hoveredSubTrigger || !parentContentNode.contains(hoveredSubTrigger)) return;
|
|
1724
|
+
if (hoveredSubTrigger === this.parentMenu.triggerNode) return;
|
|
1725
|
+
hoveredSubTrigger.dispatchEvent(new PointerEvent("pointermove", {
|
|
1726
|
+
bubbles: true,
|
|
1727
|
+
cancelable: true,
|
|
1728
|
+
pointerType: "mouse",
|
|
1729
|
+
clientX: pointerPoint.x,
|
|
1730
|
+
clientY: pointerPoint.y
|
|
1731
|
+
}));
|
|
1732
|
+
}
|
|
1733
|
+
onCloseAutoFocus = (e) => {
|
|
1734
|
+
this.opts.onCloseAutoFocus.current?.(e);
|
|
1735
|
+
if (e.defaultPrevented || this.#isSub) return;
|
|
1736
|
+
if (this.parentMenu.root.ignoreCloseAutoFocus) {
|
|
1737
|
+
e.preventDefault();
|
|
1738
|
+
return;
|
|
1739
|
+
}
|
|
1740
|
+
if (this.parentMenu.triggerNode && isTabbable(this.parentMenu.triggerNode)) {
|
|
1741
|
+
e.preventDefault();
|
|
1742
|
+
this.parentMenu.triggerNode.focus();
|
|
1743
|
+
}
|
|
1744
|
+
};
|
|
1745
|
+
handleTabKeyDown(e) {
|
|
1746
|
+
/**
|
|
1747
|
+
* We locate the root `menu`'s trigger by going up the tree until
|
|
1748
|
+
* we find a menu that has no parent. This will allow us to focus the next
|
|
1749
|
+
* tabbable element before/after the root trigger.
|
|
1750
|
+
*/
|
|
1751
|
+
let rootMenu = this.parentMenu;
|
|
1752
|
+
while (rootMenu.parentMenu !== null) rootMenu = rootMenu.parentMenu;
|
|
1753
|
+
if (!rootMenu.triggerNode) return;
|
|
1754
|
+
e.preventDefault();
|
|
1755
|
+
const nodeToFocus = getTabbableFrom(rootMenu.triggerNode, e.shiftKey ? "prev" : "next");
|
|
1756
|
+
if (nodeToFocus) {
|
|
1757
|
+
/**
|
|
1758
|
+
* We set a flag to ignore the `onCloseAutoFocus` event handler
|
|
1759
|
+
* as well as the fallbacks inside the focus scope to prevent
|
|
1760
|
+
* race conditions causing focus to fall back to the body even
|
|
1761
|
+
* though we're trying to focus the next tabbable element.
|
|
1762
|
+
*/
|
|
1763
|
+
this.parentMenu.root.ignoreCloseAutoFocus = true;
|
|
1764
|
+
rootMenu.onClose();
|
|
1765
|
+
afterTick(() => {
|
|
1766
|
+
nodeToFocus.focus();
|
|
1767
|
+
afterTick(() => {
|
|
1768
|
+
this.parentMenu.root.ignoreCloseAutoFocus = false;
|
|
1769
|
+
});
|
|
1770
|
+
});
|
|
1771
|
+
} else this.domContext.getDocument().body.focus();
|
|
1772
|
+
}
|
|
1773
|
+
onkeydown(e) {
|
|
1774
|
+
if (e.defaultPrevented) return;
|
|
1775
|
+
if (e.key === "Tab") {
|
|
1776
|
+
this.handleTabKeyDown(e);
|
|
1777
|
+
return;
|
|
1778
|
+
}
|
|
1779
|
+
const target = e.target;
|
|
1780
|
+
const currentTarget = e.currentTarget;
|
|
1781
|
+
if (!isHTMLElement$1(target) || !isHTMLElement$1(currentTarget)) return;
|
|
1782
|
+
const isKeydownInside = target.closest(`[${this.parentMenu.root.getBitsAttr("content")}]`)?.id === this.parentMenu.contentId.current;
|
|
1783
|
+
const isModifierKey = e.ctrlKey || e.altKey || e.metaKey;
|
|
1784
|
+
const isCharacterKey = e.key.length === 1;
|
|
1785
|
+
if (this.rovingFocusGroup.handleKeydown(target, e)) return;
|
|
1786
|
+
if (e.code === "Space") return;
|
|
1787
|
+
const candidateNodes = this.#getCandidateNodes();
|
|
1788
|
+
if (isKeydownInside) {
|
|
1789
|
+
if (!isModifierKey && isCharacterKey) this.#handleTypeaheadSearch(e.key, candidateNodes);
|
|
1790
|
+
}
|
|
1791
|
+
if (e.target?.id !== this.parentMenu.contentId.current) return;
|
|
1792
|
+
if (!FIRST_LAST_KEYS.includes(e.key)) return;
|
|
1793
|
+
e.preventDefault();
|
|
1794
|
+
if (LAST_KEYS.includes(e.key)) candidateNodes.reverse();
|
|
1795
|
+
focusFirst(candidateNodes, { select: false }, () => this.domContext.getActiveElement());
|
|
1796
|
+
}
|
|
1797
|
+
onblur(e) {
|
|
1798
|
+
if (!isElement(e.currentTarget)) return;
|
|
1799
|
+
if (!isElement(e.target)) return;
|
|
1800
|
+
if (!e.currentTarget.contains?.(e.target)) {
|
|
1801
|
+
this.domContext.getWindow().clearTimeout(this.#timer);
|
|
1802
|
+
this.search = "";
|
|
1803
|
+
}
|
|
1804
|
+
}
|
|
1805
|
+
onfocus(_) {
|
|
1806
|
+
if (!this.parentMenu.root.isUsingKeyboard.current) return;
|
|
1807
|
+
afterTick(() => this.rovingFocusGroup.focusFirstCandidate());
|
|
1808
|
+
}
|
|
1809
|
+
onItemEnter() {
|
|
1810
|
+
return this.#isPointerMovingToSubmenu();
|
|
1811
|
+
}
|
|
1812
|
+
onItemLeave(e) {
|
|
1813
|
+
if (e.currentTarget.hasAttribute(this.parentMenu.root.getBitsAttr("sub-trigger"))) return;
|
|
1814
|
+
if (this.#isPointerMovingToSubmenu() || this.parentMenu.root.isUsingKeyboard.current) return;
|
|
1815
|
+
this.parentMenu.contentNode?.focus({ preventScroll: true });
|
|
1816
|
+
this.rovingFocusGroup.setCurrentTabStopId("");
|
|
1817
|
+
}
|
|
1818
|
+
onTriggerLeave() {
|
|
1819
|
+
if (this.#isPointerMovingToSubmenu()) return true;
|
|
1820
|
+
return false;
|
|
1821
|
+
}
|
|
1822
|
+
handleInteractOutside(e) {
|
|
1823
|
+
if (!isElementOrSVGElement(e.target)) return;
|
|
1824
|
+
const triggerId = this.parentMenu.triggerNode?.id;
|
|
1825
|
+
if (e.target.id === triggerId) {
|
|
1826
|
+
e.preventDefault();
|
|
1827
|
+
return;
|
|
1828
|
+
}
|
|
1829
|
+
if (e.target.closest(`#${triggerId}`)) {
|
|
1830
|
+
e.preventDefault();
|
|
1831
|
+
return;
|
|
1832
|
+
}
|
|
1833
|
+
/**
|
|
1834
|
+
* when the menu closes due to an outside pointer interaction (for example,
|
|
1835
|
+
* clicking another dropdown trigger), avoid focusing this menu's trigger
|
|
1836
|
+
* to prevent stealing focus from the new interaction target.
|
|
1837
|
+
*/
|
|
1838
|
+
this.parentMenu.root.ignoreCloseAutoFocus = true;
|
|
1839
|
+
afterTick(() => {
|
|
1840
|
+
this.parentMenu.root.ignoreCloseAutoFocus = false;
|
|
1841
|
+
});
|
|
1842
|
+
}
|
|
1843
|
+
get shouldRender() {
|
|
1844
|
+
return this.parentMenu.contentPresence.shouldRender;
|
|
1845
|
+
}
|
|
1846
|
+
#snippetProps = derived(() => ({ open: this.parentMenu.opts.open.current }));
|
|
1847
|
+
get snippetProps() {
|
|
1848
|
+
return this.#snippetProps();
|
|
1849
|
+
}
|
|
1850
|
+
set snippetProps($$value) {
|
|
1851
|
+
return this.#snippetProps($$value);
|
|
1852
|
+
}
|
|
1853
|
+
#props = derived(() => ({
|
|
1854
|
+
id: this.opts.id.current,
|
|
1855
|
+
role: "menu",
|
|
1856
|
+
"aria-orientation": "vertical",
|
|
1857
|
+
[this.parentMenu.root.getBitsAttr("content")]: "",
|
|
1858
|
+
"data-state": getDataOpenClosed(this.parentMenu.opts.open.current),
|
|
1859
|
+
...getDataTransitionAttrs(this.parentMenu.contentPresence.transitionStatus),
|
|
1860
|
+
onkeydown: this.onkeydown,
|
|
1861
|
+
onblur: this.onblur,
|
|
1862
|
+
onfocus: this.onfocus,
|
|
1863
|
+
dir: this.parentMenu.root.opts.dir.current,
|
|
1864
|
+
style: {
|
|
1865
|
+
pointerEvents: "auto",
|
|
1866
|
+
contain: "layout style"
|
|
1867
|
+
},
|
|
1868
|
+
...this.attachment
|
|
1869
|
+
}));
|
|
1870
|
+
get props() {
|
|
1871
|
+
return this.#props();
|
|
1872
|
+
}
|
|
1873
|
+
set props($$value) {
|
|
1874
|
+
return this.#props($$value);
|
|
1875
|
+
}
|
|
1876
|
+
popperProps = { onCloseAutoFocus: (e) => this.onCloseAutoFocus(e) };
|
|
1877
|
+
};
|
|
1878
|
+
var MenuItemSharedState = class {
|
|
1879
|
+
opts;
|
|
1880
|
+
content;
|
|
1881
|
+
attachment;
|
|
1882
|
+
#isFocused = false;
|
|
1883
|
+
constructor(opts, content) {
|
|
1884
|
+
this.opts = opts;
|
|
1885
|
+
this.content = content;
|
|
1886
|
+
this.attachment = attachRef(this.opts.ref);
|
|
1887
|
+
this.onpointermove = this.onpointermove.bind(this);
|
|
1888
|
+
this.onpointerleave = this.onpointerleave.bind(this);
|
|
1889
|
+
this.onfocus = this.onfocus.bind(this);
|
|
1890
|
+
this.onblur = this.onblur.bind(this);
|
|
1891
|
+
}
|
|
1892
|
+
onpointermove(e) {
|
|
1893
|
+
if (e.defaultPrevented) return;
|
|
1894
|
+
if (!isMouseEvent(e)) return;
|
|
1895
|
+
if (this.opts.disabled.current) this.content.onItemLeave(e);
|
|
1896
|
+
else {
|
|
1897
|
+
if (this.content.onItemEnter()) return;
|
|
1898
|
+
const item = e.currentTarget;
|
|
1899
|
+
if (!isHTMLElement$1(item)) return;
|
|
1900
|
+
item.focus({ preventScroll: true });
|
|
1901
|
+
}
|
|
1902
|
+
}
|
|
1903
|
+
onpointerleave(e) {
|
|
1904
|
+
if (e.defaultPrevented) return;
|
|
1905
|
+
if (!isMouseEvent(e)) return;
|
|
1906
|
+
this.content.onItemLeave(e);
|
|
1907
|
+
}
|
|
1908
|
+
onfocus(e) {
|
|
1909
|
+
afterTick(() => {
|
|
1910
|
+
if (e.defaultPrevented || this.opts.disabled.current) return;
|
|
1911
|
+
this.#isFocused = true;
|
|
1912
|
+
});
|
|
1913
|
+
}
|
|
1914
|
+
onblur(e) {
|
|
1915
|
+
afterTick(() => {
|
|
1916
|
+
if (e.defaultPrevented) return;
|
|
1917
|
+
this.#isFocused = false;
|
|
1918
|
+
});
|
|
1919
|
+
}
|
|
1920
|
+
#props = derived(() => ({
|
|
1921
|
+
id: this.opts.id.current,
|
|
1922
|
+
tabindex: -1,
|
|
1923
|
+
role: "menuitem",
|
|
1924
|
+
"aria-disabled": boolToStr(this.opts.disabled.current),
|
|
1925
|
+
"data-disabled": boolToEmptyStrOrUndef(this.opts.disabled.current),
|
|
1926
|
+
"data-highlighted": this.#isFocused ? "" : void 0,
|
|
1927
|
+
[this.content.parentMenu.root.getBitsAttr("item")]: "",
|
|
1928
|
+
onpointermove: this.onpointermove,
|
|
1929
|
+
onpointerleave: this.onpointerleave,
|
|
1930
|
+
onfocus: this.onfocus,
|
|
1931
|
+
onblur: this.onblur,
|
|
1932
|
+
...this.attachment
|
|
1933
|
+
}));
|
|
1934
|
+
get props() {
|
|
1935
|
+
return this.#props();
|
|
1936
|
+
}
|
|
1937
|
+
set props($$value) {
|
|
1938
|
+
return this.#props($$value);
|
|
1939
|
+
}
|
|
1940
|
+
};
|
|
1941
|
+
var MenuItemState = class MenuItemState {
|
|
1942
|
+
static create(opts) {
|
|
1943
|
+
const item = new MenuItemSharedState(opts, MenuContentContext.get());
|
|
1944
|
+
return new MenuItemState(opts, item);
|
|
1945
|
+
}
|
|
1946
|
+
opts;
|
|
1947
|
+
item;
|
|
1948
|
+
root;
|
|
1949
|
+
#isPointerDown = false;
|
|
1950
|
+
constructor(opts, item) {
|
|
1951
|
+
this.opts = opts;
|
|
1952
|
+
this.item = item;
|
|
1953
|
+
this.root = item.content.parentMenu.root;
|
|
1954
|
+
this.onkeydown = this.onkeydown.bind(this);
|
|
1955
|
+
this.onclick = this.onclick.bind(this);
|
|
1956
|
+
this.onpointerdown = this.onpointerdown.bind(this);
|
|
1957
|
+
this.onpointerup = this.onpointerup.bind(this);
|
|
1958
|
+
}
|
|
1959
|
+
#handleSelect() {
|
|
1960
|
+
if (this.item.opts.disabled.current) return;
|
|
1961
|
+
const selectEvent = new CustomEvent("menuitemselect", {
|
|
1962
|
+
bubbles: true,
|
|
1963
|
+
cancelable: true
|
|
1964
|
+
});
|
|
1965
|
+
this.opts.onSelect.current(selectEvent);
|
|
1966
|
+
if (selectEvent.defaultPrevented) {
|
|
1967
|
+
this.item.content.parentMenu.root.isUsingKeyboard.current = false;
|
|
1968
|
+
return;
|
|
1969
|
+
}
|
|
1970
|
+
if (this.opts.closeOnSelect.current) this.item.content.parentMenu.root.opts.onClose();
|
|
1971
|
+
}
|
|
1972
|
+
onkeydown(e) {
|
|
1973
|
+
const isTypingAhead = this.item.content.search !== "";
|
|
1974
|
+
if (this.item.opts.disabled.current || isTypingAhead && e.key === " ") return;
|
|
1975
|
+
if (SELECTION_KEYS.includes(e.key)) {
|
|
1976
|
+
if (!isHTMLElement$1(e.currentTarget)) return;
|
|
1977
|
+
e.currentTarget.click();
|
|
1978
|
+
/**
|
|
1979
|
+
* We prevent default browser behavior for selection keys as they should trigger
|
|
1980
|
+
* a selection only:
|
|
1981
|
+
* - prevents space from scrolling the page.
|
|
1982
|
+
* - if keydown causes focus to move, prevents keydown from firing on the new target.
|
|
1983
|
+
*/
|
|
1984
|
+
e.preventDefault();
|
|
1985
|
+
}
|
|
1986
|
+
}
|
|
1987
|
+
onclick(_) {
|
|
1988
|
+
if (this.item.opts.disabled.current) return;
|
|
1989
|
+
this.#handleSelect();
|
|
1990
|
+
}
|
|
1991
|
+
onpointerup(e) {
|
|
1992
|
+
if (e.defaultPrevented) return;
|
|
1993
|
+
if (!this.#isPointerDown) {
|
|
1994
|
+
if (!isHTMLElement$1(e.currentTarget)) return;
|
|
1995
|
+
e.currentTarget?.click();
|
|
1996
|
+
}
|
|
1997
|
+
}
|
|
1998
|
+
onpointerdown(_) {
|
|
1999
|
+
this.#isPointerDown = true;
|
|
2000
|
+
}
|
|
2001
|
+
#props = derived(() => mergeProps(this.item.props, {
|
|
2002
|
+
onclick: this.onclick,
|
|
2003
|
+
onpointerdown: this.onpointerdown,
|
|
2004
|
+
onpointerup: this.onpointerup,
|
|
2005
|
+
onkeydown: this.onkeydown
|
|
2006
|
+
}));
|
|
2007
|
+
get props() {
|
|
2008
|
+
return this.#props();
|
|
2009
|
+
}
|
|
2010
|
+
set props($$value) {
|
|
2011
|
+
return this.#props($$value);
|
|
2012
|
+
}
|
|
2013
|
+
};
|
|
2014
|
+
var MenuSubTriggerState = class MenuSubTriggerState {
|
|
2015
|
+
static create(opts) {
|
|
2016
|
+
const content = MenuContentContext.get();
|
|
2017
|
+
const item = new MenuItemSharedState(opts, content);
|
|
2018
|
+
const submenu = MenuMenuContext.get();
|
|
2019
|
+
return new MenuSubTriggerState(opts, item, content, submenu);
|
|
2020
|
+
}
|
|
2021
|
+
opts;
|
|
2022
|
+
item;
|
|
2023
|
+
content;
|
|
2024
|
+
submenu;
|
|
2025
|
+
attachment;
|
|
2026
|
+
#openTimer = null;
|
|
2027
|
+
constructor(opts, item, content, submenu) {
|
|
2028
|
+
this.opts = opts;
|
|
2029
|
+
this.item = item;
|
|
2030
|
+
this.content = content;
|
|
2031
|
+
this.submenu = submenu;
|
|
2032
|
+
this.attachment = attachRef(this.opts.ref, (v) => this.submenu.triggerNode = v);
|
|
2033
|
+
this.onpointerleave = this.onpointerleave.bind(this);
|
|
2034
|
+
this.onpointermove = this.onpointermove.bind(this);
|
|
2035
|
+
this.onkeydown = this.onkeydown.bind(this);
|
|
2036
|
+
this.onclick = this.onclick.bind(this);
|
|
2037
|
+
}
|
|
2038
|
+
#clearOpenTimer() {
|
|
2039
|
+
if (this.#openTimer === null) return;
|
|
2040
|
+
this.content.domContext.getWindow().clearTimeout(this.#openTimer);
|
|
2041
|
+
this.#openTimer = null;
|
|
2042
|
+
}
|
|
2043
|
+
onpointermove(e) {
|
|
2044
|
+
if (!isMouseEvent(e)) return;
|
|
2045
|
+
if (this.submenu.root.isPointerInTransit) {
|
|
2046
|
+
if (this.#openTimer !== null) this.#clearOpenTimer();
|
|
2047
|
+
return;
|
|
2048
|
+
}
|
|
2049
|
+
if (!this.item.opts.disabled.current && !this.submenu.opts.open.current && !this.#openTimer) {
|
|
2050
|
+
const openDelay = this.opts.openDelay.current;
|
|
2051
|
+
if (openDelay <= 0) {
|
|
2052
|
+
this.submenu.onOpen();
|
|
2053
|
+
return;
|
|
2054
|
+
}
|
|
2055
|
+
this.#openTimer = this.content.domContext.setTimeout(() => {
|
|
2056
|
+
if (this.submenu.root.isPointerInTransit) {
|
|
2057
|
+
this.#clearOpenTimer();
|
|
2058
|
+
return;
|
|
2059
|
+
}
|
|
2060
|
+
this.submenu.onOpen();
|
|
2061
|
+
this.#clearOpenTimer();
|
|
2062
|
+
}, openDelay);
|
|
2063
|
+
}
|
|
2064
|
+
}
|
|
2065
|
+
onpointerleave(e) {
|
|
2066
|
+
if (!isMouseEvent(e)) return;
|
|
2067
|
+
this.#clearOpenTimer();
|
|
2068
|
+
}
|
|
2069
|
+
onkeydown(e) {
|
|
2070
|
+
const isTypingAhead = this.content.search !== "";
|
|
2071
|
+
if (this.item.opts.disabled.current || isTypingAhead && e.key === " ") return;
|
|
2072
|
+
if (SUB_OPEN_KEYS[this.submenu.root.opts.dir.current].includes(e.key)) {
|
|
2073
|
+
e.currentTarget.click();
|
|
2074
|
+
e.preventDefault();
|
|
2075
|
+
}
|
|
2076
|
+
}
|
|
2077
|
+
onclick(e) {
|
|
2078
|
+
if (this.item.opts.disabled.current) return;
|
|
2079
|
+
/**
|
|
2080
|
+
* We manually focus because iOS Safari doesn't always focus on click (e.g. buttons)
|
|
2081
|
+
* and we rely heavily on `onFocusOutside` for submenus to close when switching
|
|
2082
|
+
* between separate submenus.
|
|
2083
|
+
*/
|
|
2084
|
+
if (!isHTMLElement$1(e.currentTarget)) return;
|
|
2085
|
+
e.currentTarget.focus();
|
|
2086
|
+
const selectEvent = new CustomEvent("menusubtriggerselect", {
|
|
2087
|
+
bubbles: true,
|
|
2088
|
+
cancelable: true
|
|
2089
|
+
});
|
|
2090
|
+
this.opts.onSelect.current(selectEvent);
|
|
2091
|
+
if (!this.submenu.opts.open.current) {
|
|
2092
|
+
this.submenu.onOpen();
|
|
2093
|
+
afterTick(() => {
|
|
2094
|
+
const contentNode = this.submenu.contentNode;
|
|
2095
|
+
if (!contentNode) return;
|
|
2096
|
+
MenuOpenEvent.dispatch(contentNode);
|
|
2097
|
+
});
|
|
2098
|
+
}
|
|
2099
|
+
}
|
|
2100
|
+
#props = derived(() => mergeProps({
|
|
2101
|
+
"aria-haspopup": "menu",
|
|
2102
|
+
"aria-expanded": boolToStr(this.submenu.opts.open.current),
|
|
2103
|
+
"data-state": getDataOpenClosed(this.submenu.opts.open.current),
|
|
2104
|
+
"aria-controls": this.submenu.opts.open.current ? this.submenu.contentId.current : void 0,
|
|
2105
|
+
[this.submenu.root.getBitsAttr("sub-trigger")]: "",
|
|
2106
|
+
onclick: this.onclick,
|
|
2107
|
+
onpointermove: this.onpointermove,
|
|
2108
|
+
onpointerleave: this.onpointerleave,
|
|
2109
|
+
onkeydown: this.onkeydown,
|
|
2110
|
+
...this.attachment
|
|
2111
|
+
}, this.item.props));
|
|
2112
|
+
get props() {
|
|
2113
|
+
return this.#props();
|
|
2114
|
+
}
|
|
2115
|
+
set props($$value) {
|
|
2116
|
+
return this.#props($$value);
|
|
2117
|
+
}
|
|
2118
|
+
};
|
|
2119
|
+
var MenuSeparatorState = class MenuSeparatorState {
|
|
2120
|
+
static create(opts) {
|
|
2121
|
+
return new MenuSeparatorState(opts, MenuRootContext.get());
|
|
2122
|
+
}
|
|
2123
|
+
opts;
|
|
2124
|
+
root;
|
|
2125
|
+
attachment;
|
|
2126
|
+
constructor(opts, root) {
|
|
2127
|
+
this.opts = opts;
|
|
2128
|
+
this.root = root;
|
|
2129
|
+
this.attachment = attachRef(this.opts.ref);
|
|
2130
|
+
}
|
|
2131
|
+
#props = derived(() => ({
|
|
2132
|
+
id: this.opts.id.current,
|
|
2133
|
+
role: "group",
|
|
2134
|
+
[this.root.getBitsAttr("separator")]: "",
|
|
2135
|
+
...this.attachment
|
|
2136
|
+
}));
|
|
2137
|
+
get props() {
|
|
2138
|
+
return this.#props();
|
|
2139
|
+
}
|
|
2140
|
+
set props($$value) {
|
|
2141
|
+
return this.#props($$value);
|
|
2142
|
+
}
|
|
2143
|
+
};
|
|
2144
|
+
var DropdownMenuTriggerState = class DropdownMenuTriggerState {
|
|
2145
|
+
static create(opts) {
|
|
2146
|
+
return new DropdownMenuTriggerState(opts, MenuMenuContext.get());
|
|
2147
|
+
}
|
|
2148
|
+
opts;
|
|
2149
|
+
parentMenu;
|
|
2150
|
+
attachment;
|
|
2151
|
+
constructor(opts, parentMenu) {
|
|
2152
|
+
this.opts = opts;
|
|
2153
|
+
this.parentMenu = parentMenu;
|
|
2154
|
+
this.attachment = attachRef(this.opts.ref, (v) => this.parentMenu.triggerNode = v);
|
|
2155
|
+
}
|
|
2156
|
+
onclick = (e) => {
|
|
2157
|
+
/**
|
|
2158
|
+
* MacOS VoiceOver sends a click in Safari/Firefox bypassing the keydown event
|
|
2159
|
+
* when V0+Space is pressed. Since we already handle the keydown event and the
|
|
2160
|
+
* pointerdown events separately, we ignore it if the detail is not 0.
|
|
2161
|
+
*/
|
|
2162
|
+
if (this.opts.disabled.current || e.detail !== 0) return;
|
|
2163
|
+
this.parentMenu.toggleOpen();
|
|
2164
|
+
e.preventDefault();
|
|
2165
|
+
};
|
|
2166
|
+
onpointerdown = (e) => {
|
|
2167
|
+
if (this.opts.disabled.current) return;
|
|
2168
|
+
if (e.pointerType === "touch") return e.preventDefault();
|
|
2169
|
+
if (e.button === 0 && e.ctrlKey === false) {
|
|
2170
|
+
this.parentMenu.toggleOpen();
|
|
2171
|
+
if (!this.parentMenu.opts.open.current) e.preventDefault();
|
|
2172
|
+
}
|
|
2173
|
+
};
|
|
2174
|
+
onpointerup = (e) => {
|
|
2175
|
+
if (this.opts.disabled.current) return;
|
|
2176
|
+
if (e.pointerType === "touch") {
|
|
2177
|
+
e.preventDefault();
|
|
2178
|
+
this.parentMenu.toggleOpen();
|
|
2179
|
+
}
|
|
2180
|
+
};
|
|
2181
|
+
onkeydown = (e) => {
|
|
2182
|
+
if (this.opts.disabled.current) return;
|
|
2183
|
+
if (e.key === " " || e.key === "Enter") {
|
|
2184
|
+
this.parentMenu.toggleOpen();
|
|
2185
|
+
e.preventDefault();
|
|
2186
|
+
return;
|
|
2187
|
+
}
|
|
2188
|
+
if (e.key === "ArrowDown") {
|
|
2189
|
+
this.parentMenu.onOpen();
|
|
2190
|
+
e.preventDefault();
|
|
2191
|
+
}
|
|
2192
|
+
};
|
|
2193
|
+
#ariaControls = derived(() => {
|
|
2194
|
+
if (this.parentMenu.opts.open.current && this.parentMenu.contentId.current) return this.parentMenu.contentId.current;
|
|
2195
|
+
});
|
|
2196
|
+
#props = derived(() => ({
|
|
2197
|
+
id: this.opts.id.current,
|
|
2198
|
+
disabled: this.opts.disabled.current,
|
|
2199
|
+
"aria-haspopup": "menu",
|
|
2200
|
+
"aria-expanded": boolToStr(this.parentMenu.opts.open.current),
|
|
2201
|
+
"aria-controls": this.#ariaControls(),
|
|
2202
|
+
"data-disabled": boolToEmptyStrOrUndef(this.opts.disabled.current),
|
|
2203
|
+
"data-state": getDataOpenClosed(this.parentMenu.opts.open.current),
|
|
2204
|
+
[this.parentMenu.root.getBitsAttr("trigger")]: "",
|
|
2205
|
+
onclick: this.onclick,
|
|
2206
|
+
onpointerdown: this.onpointerdown,
|
|
2207
|
+
onpointerup: this.onpointerup,
|
|
2208
|
+
onkeydown: this.onkeydown,
|
|
2209
|
+
...this.attachment
|
|
2210
|
+
}));
|
|
2211
|
+
get props() {
|
|
2212
|
+
return this.#props();
|
|
2213
|
+
}
|
|
2214
|
+
set props($$value) {
|
|
2215
|
+
return this.#props($$value);
|
|
2216
|
+
}
|
|
2217
|
+
};
|
|
2218
|
+
var MenuSubmenuState = class {
|
|
2219
|
+
static create(opts) {
|
|
2220
|
+
const menu = MenuMenuContext.get();
|
|
2221
|
+
return MenuMenuContext.set(new MenuMenuState(opts, menu.root, menu));
|
|
2222
|
+
}
|
|
2223
|
+
};
|
|
2224
|
+
//#endregion
|
|
2225
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/bits/utilities/dismissible-layer/use-dismissable-layer.svelte.js
|
|
2226
|
+
globalThis.bitsDismissableLayers ??= /* @__PURE__ */ new Map();
|
|
2227
|
+
var DismissibleLayerState = class DismissibleLayerState {
|
|
2228
|
+
static create(opts) {
|
|
2229
|
+
return new DismissibleLayerState(opts);
|
|
2230
|
+
}
|
|
2231
|
+
opts;
|
|
2232
|
+
#interactOutsideProp;
|
|
2233
|
+
#behaviorType;
|
|
2234
|
+
#interceptedEvents = { pointerdown: false };
|
|
2235
|
+
#isResponsibleLayer = false;
|
|
2236
|
+
#isFocusInsideDOMTree = false;
|
|
2237
|
+
#documentObj = void 0;
|
|
2238
|
+
#onFocusOutside;
|
|
2239
|
+
#unsubClickListener = noop;
|
|
2240
|
+
constructor(opts) {
|
|
2241
|
+
this.opts = opts;
|
|
2242
|
+
this.#behaviorType = opts.interactOutsideBehavior;
|
|
2243
|
+
this.#interactOutsideProp = opts.onInteractOutside;
|
|
2244
|
+
this.#onFocusOutside = opts.onFocusOutside;
|
|
2245
|
+
let unsubEvents = noop;
|
|
2246
|
+
const cleanup = () => {
|
|
2247
|
+
this.#resetState();
|
|
2248
|
+
globalThis.bitsDismissableLayers.delete(this);
|
|
2249
|
+
this.#handleInteractOutside.destroy();
|
|
2250
|
+
unsubEvents();
|
|
2251
|
+
};
|
|
2252
|
+
watch([() => this.opts.enabled.current, () => this.opts.ref.current], () => {
|
|
2253
|
+
if (!this.opts.enabled.current || !this.opts.ref.current) return;
|
|
2254
|
+
afterSleep(1, () => {
|
|
2255
|
+
if (!this.opts.ref.current) return;
|
|
2256
|
+
globalThis.bitsDismissableLayers.set(this, this.#behaviorType);
|
|
2257
|
+
unsubEvents();
|
|
2258
|
+
unsubEvents = this.#addEventListeners();
|
|
2259
|
+
});
|
|
2260
|
+
return cleanup;
|
|
2261
|
+
});
|
|
2262
|
+
}
|
|
2263
|
+
#handleFocus = (event) => {
|
|
2264
|
+
if (event.defaultPrevented) return;
|
|
2265
|
+
if (!this.opts.ref.current) return;
|
|
2266
|
+
afterTick(() => {
|
|
2267
|
+
if (!this.opts.ref.current || this.#isTargetWithinLayer(event.target)) return;
|
|
2268
|
+
if (event.target && !this.#isFocusInsideDOMTree) this.#onFocusOutside.current?.(event);
|
|
2269
|
+
});
|
|
2270
|
+
};
|
|
2271
|
+
#addEventListeners() {
|
|
2272
|
+
return executeCallbacks(
|
|
2273
|
+
/**
|
|
2274
|
+
* CAPTURE INTERACTION START
|
|
2275
|
+
* mark interaction-start event as intercepted.
|
|
2276
|
+
* mark responsible layer during interaction start
|
|
2277
|
+
* to avoid checking if is responsible layer during interaction end
|
|
2278
|
+
* when a new floating element may have been opened.
|
|
2279
|
+
*/
|
|
2280
|
+
on(this.#documentObj, "pointerdown", executeCallbacks(this.#markInterceptedEvent, this.#markResponsibleLayer), { capture: true }),
|
|
2281
|
+
/**
|
|
2282
|
+
* BUBBLE INTERACTION START
|
|
2283
|
+
* Mark interaction-start event as non-intercepted. Debounce `onInteractOutsideStart`
|
|
2284
|
+
* to avoid prematurely checking if other events were intercepted.
|
|
2285
|
+
*/
|
|
2286
|
+
on(this.#documentObj, "pointerdown", executeCallbacks(this.#markNonInterceptedEvent, this.#handleInteractOutside)),
|
|
2287
|
+
/**
|
|
2288
|
+
* HANDLE FOCUS OUTSIDE
|
|
2289
|
+
*/
|
|
2290
|
+
on(this.#documentObj, "focusin", this.#handleFocus)
|
|
2291
|
+
);
|
|
2292
|
+
}
|
|
2293
|
+
#handleDismiss = (e) => {
|
|
2294
|
+
let event = e;
|
|
2295
|
+
if (event.defaultPrevented) event = createWrappedEvent(e);
|
|
2296
|
+
this.#interactOutsideProp.current(e);
|
|
2297
|
+
};
|
|
2298
|
+
#handleInteractOutside = debounce((e) => {
|
|
2299
|
+
if (!this.opts.ref.current) {
|
|
2300
|
+
this.#unsubClickListener();
|
|
2301
|
+
return;
|
|
2302
|
+
}
|
|
2303
|
+
const isEventValid = this.opts.isValidEvent.current(e, this.opts.ref.current) || isValidEvent(e, this.opts.ref.current);
|
|
2304
|
+
if (!this.#isResponsibleLayer || this.#isAnyEventIntercepted() || !isEventValid) {
|
|
2305
|
+
this.#unsubClickListener();
|
|
2306
|
+
return;
|
|
2307
|
+
}
|
|
2308
|
+
let event = e;
|
|
2309
|
+
if (event.defaultPrevented) event = createWrappedEvent(event);
|
|
2310
|
+
if (this.#behaviorType.current !== "close" && this.#behaviorType.current !== "defer-otherwise-close") {
|
|
2311
|
+
this.#unsubClickListener();
|
|
2312
|
+
return;
|
|
2313
|
+
}
|
|
2314
|
+
if (e.pointerType === "touch") {
|
|
2315
|
+
this.#unsubClickListener();
|
|
2316
|
+
this.#unsubClickListener = on(this.#documentObj, "click", this.#handleDismiss, { once: true });
|
|
2317
|
+
} else this.#interactOutsideProp.current(event);
|
|
2318
|
+
}, 10);
|
|
2319
|
+
#markInterceptedEvent = (e) => {
|
|
2320
|
+
this.#interceptedEvents[e.type] = true;
|
|
2321
|
+
};
|
|
2322
|
+
#markNonInterceptedEvent = (e) => {
|
|
2323
|
+
this.#interceptedEvents[e.type] = false;
|
|
2324
|
+
};
|
|
2325
|
+
#markResponsibleLayer = () => {
|
|
2326
|
+
if (!this.opts.ref.current) return;
|
|
2327
|
+
this.#isResponsibleLayer = isResponsibleLayer(this.opts.ref.current);
|
|
2328
|
+
};
|
|
2329
|
+
#isTargetWithinLayer = (target) => {
|
|
2330
|
+
if (!this.opts.ref.current) return false;
|
|
2331
|
+
return isOrContainsTarget(this.opts.ref.current, target);
|
|
2332
|
+
};
|
|
2333
|
+
#resetState = debounce(() => {
|
|
2334
|
+
for (const eventType in this.#interceptedEvents) this.#interceptedEvents[eventType] = false;
|
|
2335
|
+
this.#isResponsibleLayer = false;
|
|
2336
|
+
}, 20);
|
|
2337
|
+
#isAnyEventIntercepted() {
|
|
2338
|
+
return Object.values(this.#interceptedEvents).some(Boolean);
|
|
2339
|
+
}
|
|
2340
|
+
#onfocuscapture = () => {
|
|
2341
|
+
this.#isFocusInsideDOMTree = true;
|
|
2342
|
+
};
|
|
2343
|
+
#onblurcapture = () => {
|
|
2344
|
+
this.#isFocusInsideDOMTree = false;
|
|
2345
|
+
};
|
|
2346
|
+
props = {
|
|
2347
|
+
onfocuscapture: this.#onfocuscapture,
|
|
2348
|
+
onblurcapture: this.#onblurcapture
|
|
2349
|
+
};
|
|
2350
|
+
};
|
|
2351
|
+
function getTopMostDismissableLayer(layersArr = [...globalThis.bitsDismissableLayers]) {
|
|
2352
|
+
return layersArr.findLast(([_, { current: behaviorType }]) => behaviorType === "close" || behaviorType === "ignore");
|
|
2353
|
+
}
|
|
2354
|
+
function isResponsibleLayer(node) {
|
|
2355
|
+
const layersArr = [...globalThis.bitsDismissableLayers];
|
|
2356
|
+
/**
|
|
2357
|
+
* We first check if we can find a top layer with `close` or `ignore`.
|
|
2358
|
+
* If that top layer was found and matches the provided node, then the node is
|
|
2359
|
+
* responsible for the outside interaction. Otherwise, we know that all layers defer so
|
|
2360
|
+
* the first layer is the responsible one.
|
|
2361
|
+
*/
|
|
2362
|
+
const topMostLayer = getTopMostDismissableLayer(layersArr);
|
|
2363
|
+
if (topMostLayer) return topMostLayer[0].opts.ref.current === node;
|
|
2364
|
+
const [firstLayerNode] = layersArr[0];
|
|
2365
|
+
return firstLayerNode.opts.ref.current === node;
|
|
2366
|
+
}
|
|
2367
|
+
function isValidEvent(e, node) {
|
|
2368
|
+
const target = e.target;
|
|
2369
|
+
if (!isElementOrSVGElement(target)) return false;
|
|
2370
|
+
const targetIsContextMenuTrigger = Boolean(target.closest(`[${CONTEXT_MENU_TRIGGER_ATTR}]`));
|
|
2371
|
+
const nodeIsContextMenu = Boolean(node.closest(`[${CONTEXT_MENU_CONTENT_ATTR}]`));
|
|
2372
|
+
if ("button" in e && e.button > 0 && !targetIsContextMenuTrigger) return false;
|
|
2373
|
+
if ("button" in e && e.button === 0 && targetIsContextMenuTrigger && nodeIsContextMenu) return true;
|
|
2374
|
+
if (targetIsContextMenuTrigger && nodeIsContextMenu) return false;
|
|
2375
|
+
return getOwnerDocument(target).documentElement.contains(target) && !isOrContainsTarget(node, target) && isClickTrulyOutside(e, node);
|
|
2376
|
+
}
|
|
2377
|
+
function createWrappedEvent(e) {
|
|
2378
|
+
const capturedCurrentTarget = e.currentTarget;
|
|
2379
|
+
const capturedTarget = e.target;
|
|
2380
|
+
let newEvent;
|
|
2381
|
+
if (e instanceof PointerEvent) newEvent = new PointerEvent(e.type, e);
|
|
2382
|
+
else newEvent = new PointerEvent("pointerdown", e);
|
|
2383
|
+
let isPrevented = false;
|
|
2384
|
+
return new Proxy(newEvent, { get: (target, prop) => {
|
|
2385
|
+
if (prop === "currentTarget") return capturedCurrentTarget;
|
|
2386
|
+
if (prop === "target") return capturedTarget;
|
|
2387
|
+
if (prop === "preventDefault") return () => {
|
|
2388
|
+
isPrevented = true;
|
|
2389
|
+
if (typeof target.preventDefault === "function") target.preventDefault();
|
|
2390
|
+
};
|
|
2391
|
+
if (prop === "defaultPrevented") return isPrevented;
|
|
2392
|
+
if (prop in target) return target[prop];
|
|
2393
|
+
return e[prop];
|
|
2394
|
+
} });
|
|
2395
|
+
}
|
|
2396
|
+
//#endregion
|
|
2397
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/bits/utilities/dismissible-layer/dismissible-layer.svelte
|
|
2398
|
+
function Dismissible_layer($$renderer, $$props) {
|
|
2399
|
+
$$renderer.component(($$renderer) => {
|
|
2400
|
+
let { interactOutsideBehavior = "close", onInteractOutside = noop, onFocusOutside = noop, id, children, enabled, isValidEvent = () => false, ref } = $$props;
|
|
2401
|
+
const dismissibleLayerState = DismissibleLayerState.create({
|
|
2402
|
+
id: boxWith(() => id),
|
|
2403
|
+
interactOutsideBehavior: boxWith(() => interactOutsideBehavior),
|
|
2404
|
+
onInteractOutside: boxWith(() => onInteractOutside),
|
|
2405
|
+
enabled: boxWith(() => enabled),
|
|
2406
|
+
onFocusOutside: boxWith(() => onFocusOutside),
|
|
2407
|
+
isValidEvent: boxWith(() => isValidEvent),
|
|
2408
|
+
ref
|
|
2409
|
+
});
|
|
2410
|
+
children?.($$renderer, { props: dismissibleLayerState.props });
|
|
2411
|
+
$$renderer.push(`<!---->`);
|
|
2412
|
+
});
|
|
2413
|
+
}
|
|
2414
|
+
//#endregion
|
|
2415
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/bits/utilities/escape-layer/use-escape-layer.svelte.js
|
|
2416
|
+
globalThis.bitsEscapeLayers ??= /* @__PURE__ */ new Map();
|
|
2417
|
+
var EscapeLayerState = class EscapeLayerState {
|
|
2418
|
+
static create(opts) {
|
|
2419
|
+
return new EscapeLayerState(opts);
|
|
2420
|
+
}
|
|
2421
|
+
opts;
|
|
2422
|
+
domContext;
|
|
2423
|
+
constructor(opts) {
|
|
2424
|
+
this.opts = opts;
|
|
2425
|
+
this.domContext = new DOMContext(this.opts.ref);
|
|
2426
|
+
let unsubEvents = noop;
|
|
2427
|
+
watch(() => opts.enabled.current, (enabled) => {
|
|
2428
|
+
if (enabled) {
|
|
2429
|
+
globalThis.bitsEscapeLayers.set(this, opts.escapeKeydownBehavior);
|
|
2430
|
+
unsubEvents = this.#addEventListener();
|
|
2431
|
+
}
|
|
2432
|
+
return () => {
|
|
2433
|
+
unsubEvents();
|
|
2434
|
+
globalThis.bitsEscapeLayers.delete(this);
|
|
2435
|
+
};
|
|
2436
|
+
});
|
|
2437
|
+
}
|
|
2438
|
+
#addEventListener = () => {
|
|
2439
|
+
return on(this.domContext.getDocument(), "keydown", this.#onkeydown, { passive: false });
|
|
2440
|
+
};
|
|
2441
|
+
#onkeydown = (e) => {
|
|
2442
|
+
if (e.key !== "Escape" || !isResponsibleEscapeLayer(this)) return;
|
|
2443
|
+
const clonedEvent = new KeyboardEvent(e.type, e);
|
|
2444
|
+
e.preventDefault();
|
|
2445
|
+
const behaviorType = this.opts.escapeKeydownBehavior.current;
|
|
2446
|
+
if (behaviorType !== "close" && behaviorType !== "defer-otherwise-close") return;
|
|
2447
|
+
this.opts.onEscapeKeydown.current(clonedEvent);
|
|
2448
|
+
};
|
|
2449
|
+
};
|
|
2450
|
+
function isResponsibleEscapeLayer(instance) {
|
|
2451
|
+
const layersArr = [...globalThis.bitsEscapeLayers];
|
|
2452
|
+
/**
|
|
2453
|
+
* We first check if we can find a top layer with `close` or `ignore`.
|
|
2454
|
+
* If that top layer was found and matches the provided node, then the node is
|
|
2455
|
+
* responsible for the escape. Otherwise, we know that all layers defer so
|
|
2456
|
+
* the first layer is the responsible one.
|
|
2457
|
+
*/
|
|
2458
|
+
const topMostLayer = layersArr.findLast(([_, { current: behaviorType }]) => behaviorType === "close" || behaviorType === "ignore");
|
|
2459
|
+
if (topMostLayer) return topMostLayer[0] === instance;
|
|
2460
|
+
const [firstLayerNode] = layersArr[0];
|
|
2461
|
+
return firstLayerNode === instance;
|
|
2462
|
+
}
|
|
2463
|
+
//#endregion
|
|
2464
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/bits/utilities/escape-layer/escape-layer.svelte
|
|
2465
|
+
function Escape_layer($$renderer, $$props) {
|
|
2466
|
+
$$renderer.component(($$renderer) => {
|
|
2467
|
+
let { escapeKeydownBehavior = "close", onEscapeKeydown = noop, children, enabled, ref } = $$props;
|
|
2468
|
+
EscapeLayerState.create({
|
|
2469
|
+
escapeKeydownBehavior: boxWith(() => escapeKeydownBehavior),
|
|
2470
|
+
onEscapeKeydown: boxWith(() => onEscapeKeydown),
|
|
2471
|
+
enabled: boxWith(() => enabled),
|
|
2472
|
+
ref
|
|
2473
|
+
});
|
|
2474
|
+
children?.($$renderer);
|
|
2475
|
+
$$renderer.push(`<!---->`);
|
|
2476
|
+
});
|
|
2477
|
+
}
|
|
2478
|
+
//#endregion
|
|
2479
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/bits/utilities/focus-scope/focus-scope-manager.js
|
|
2480
|
+
var FocusScopeManager = class FocusScopeManager {
|
|
2481
|
+
static instance;
|
|
2482
|
+
#scopeStack = simpleBox([]);
|
|
2483
|
+
#focusHistory = /* @__PURE__ */ new WeakMap();
|
|
2484
|
+
#preFocusHistory = /* @__PURE__ */ new WeakMap();
|
|
2485
|
+
static getInstance() {
|
|
2486
|
+
if (!this.instance) this.instance = new FocusScopeManager();
|
|
2487
|
+
return this.instance;
|
|
2488
|
+
}
|
|
2489
|
+
register(scope) {
|
|
2490
|
+
const current = this.getActive();
|
|
2491
|
+
if (current && current !== scope) current.pause();
|
|
2492
|
+
const activeElement = document.activeElement;
|
|
2493
|
+
if (activeElement && activeElement !== document.body) this.#preFocusHistory.set(scope, activeElement);
|
|
2494
|
+
this.#scopeStack.current = this.#scopeStack.current.filter((s) => s !== scope);
|
|
2495
|
+
this.#scopeStack.current.unshift(scope);
|
|
2496
|
+
}
|
|
2497
|
+
unregister(scope) {
|
|
2498
|
+
this.#scopeStack.current = this.#scopeStack.current.filter((s) => s !== scope);
|
|
2499
|
+
const next = this.getActive();
|
|
2500
|
+
if (next) next.resume();
|
|
2501
|
+
}
|
|
2502
|
+
getActive() {
|
|
2503
|
+
return this.#scopeStack.current[0];
|
|
2504
|
+
}
|
|
2505
|
+
setFocusMemory(scope, element) {
|
|
2506
|
+
this.#focusHistory.set(scope, element);
|
|
2507
|
+
}
|
|
2508
|
+
getFocusMemory(scope) {
|
|
2509
|
+
return this.#focusHistory.get(scope);
|
|
2510
|
+
}
|
|
2511
|
+
isActiveScope(scope) {
|
|
2512
|
+
return this.getActive() === scope;
|
|
2513
|
+
}
|
|
2514
|
+
setPreFocusMemory(scope, element) {
|
|
2515
|
+
this.#preFocusHistory.set(scope, element);
|
|
2516
|
+
}
|
|
2517
|
+
getPreFocusMemory(scope) {
|
|
2518
|
+
return this.#preFocusHistory.get(scope);
|
|
2519
|
+
}
|
|
2520
|
+
clearPreFocusMemory(scope) {
|
|
2521
|
+
this.#preFocusHistory.delete(scope);
|
|
2522
|
+
}
|
|
2523
|
+
};
|
|
2524
|
+
//#endregion
|
|
2525
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/bits/utilities/focus-scope/focus-scope.svelte.js
|
|
2526
|
+
var FocusScope = class FocusScope {
|
|
2527
|
+
#paused = false;
|
|
2528
|
+
#container = null;
|
|
2529
|
+
#manager = FocusScopeManager.getInstance();
|
|
2530
|
+
#cleanupFns = [];
|
|
2531
|
+
#opts;
|
|
2532
|
+
constructor(opts) {
|
|
2533
|
+
this.#opts = opts;
|
|
2534
|
+
}
|
|
2535
|
+
get paused() {
|
|
2536
|
+
return this.#paused;
|
|
2537
|
+
}
|
|
2538
|
+
pause() {
|
|
2539
|
+
this.#paused = true;
|
|
2540
|
+
}
|
|
2541
|
+
resume() {
|
|
2542
|
+
this.#paused = false;
|
|
2543
|
+
}
|
|
2544
|
+
#cleanup() {
|
|
2545
|
+
for (const fn of this.#cleanupFns) fn();
|
|
2546
|
+
this.#cleanupFns = [];
|
|
2547
|
+
}
|
|
2548
|
+
mount(container) {
|
|
2549
|
+
if (this.#container) this.unmount();
|
|
2550
|
+
this.#container = container;
|
|
2551
|
+
this.#manager.register(this);
|
|
2552
|
+
this.#setupEventListeners();
|
|
2553
|
+
this.#handleOpenAutoFocus();
|
|
2554
|
+
}
|
|
2555
|
+
unmount() {
|
|
2556
|
+
if (!this.#container) return;
|
|
2557
|
+
this.#cleanup();
|
|
2558
|
+
this.#handleCloseAutoFocus();
|
|
2559
|
+
this.#manager.unregister(this);
|
|
2560
|
+
this.#manager.clearPreFocusMemory(this);
|
|
2561
|
+
this.#container = null;
|
|
2562
|
+
}
|
|
2563
|
+
#handleOpenAutoFocus() {
|
|
2564
|
+
if (!this.#container) return;
|
|
2565
|
+
const event = new CustomEvent("focusScope.onOpenAutoFocus", {
|
|
2566
|
+
bubbles: false,
|
|
2567
|
+
cancelable: true
|
|
2568
|
+
});
|
|
2569
|
+
this.#opts.onOpenAutoFocus.current(event);
|
|
2570
|
+
if (!event.defaultPrevented) requestAnimationFrame(() => {
|
|
2571
|
+
if (!this.#container) return;
|
|
2572
|
+
const firstTabbable = this.#getFirstTabbable();
|
|
2573
|
+
if (firstTabbable) {
|
|
2574
|
+
firstTabbable.focus();
|
|
2575
|
+
this.#manager.setFocusMemory(this, firstTabbable);
|
|
2576
|
+
} else this.#container.focus();
|
|
2577
|
+
});
|
|
2578
|
+
}
|
|
2579
|
+
#handleCloseAutoFocus() {
|
|
2580
|
+
const event = new CustomEvent("focusScope.onCloseAutoFocus", {
|
|
2581
|
+
bubbles: false,
|
|
2582
|
+
cancelable: true
|
|
2583
|
+
});
|
|
2584
|
+
this.#opts.onCloseAutoFocus.current?.(event);
|
|
2585
|
+
if (!event.defaultPrevented) {
|
|
2586
|
+
const preFocusedElement = this.#manager.getPreFocusMemory(this);
|
|
2587
|
+
if (preFocusedElement && document.contains(preFocusedElement)) try {
|
|
2588
|
+
preFocusedElement.focus();
|
|
2589
|
+
} catch {
|
|
2590
|
+
document.body.focus();
|
|
2591
|
+
}
|
|
2592
|
+
}
|
|
2593
|
+
}
|
|
2594
|
+
#setupEventListeners() {
|
|
2595
|
+
if (!this.#container || !this.#opts.trap.current) return;
|
|
2596
|
+
const container = this.#container;
|
|
2597
|
+
const doc = container.ownerDocument;
|
|
2598
|
+
const handleFocus = (e) => {
|
|
2599
|
+
if (this.#paused || !this.#manager.isActiveScope(this)) return;
|
|
2600
|
+
const target = e.target;
|
|
2601
|
+
if (!target) return;
|
|
2602
|
+
if (container.contains(target)) this.#manager.setFocusMemory(this, target);
|
|
2603
|
+
else {
|
|
2604
|
+
const lastFocused = this.#manager.getFocusMemory(this);
|
|
2605
|
+
if (lastFocused && container.contains(lastFocused) && isFocusable(lastFocused)) {
|
|
2606
|
+
e.preventDefault();
|
|
2607
|
+
lastFocused.focus();
|
|
2608
|
+
} else {
|
|
2609
|
+
const firstTabbable = this.#getFirstTabbable();
|
|
2610
|
+
const firstFocusable = this.#getAllFocusables()[0];
|
|
2611
|
+
(firstTabbable || firstFocusable || container).focus();
|
|
2612
|
+
}
|
|
2613
|
+
}
|
|
2614
|
+
};
|
|
2615
|
+
const handleKeydown = (e) => {
|
|
2616
|
+
if (!this.#opts.loop || this.#paused || e.key !== "Tab") return;
|
|
2617
|
+
if (!this.#manager.isActiveScope(this)) return;
|
|
2618
|
+
const tabbables = this.#getTabbables();
|
|
2619
|
+
if (tabbables.length === 0) return;
|
|
2620
|
+
const first = tabbables[0];
|
|
2621
|
+
const last = tabbables[tabbables.length - 1];
|
|
2622
|
+
if (!e.shiftKey && doc.activeElement === last) {
|
|
2623
|
+
e.preventDefault();
|
|
2624
|
+
first.focus();
|
|
2625
|
+
} else if (e.shiftKey && doc.activeElement === first) {
|
|
2626
|
+
e.preventDefault();
|
|
2627
|
+
last.focus();
|
|
2628
|
+
}
|
|
2629
|
+
};
|
|
2630
|
+
this.#cleanupFns.push(on(doc, "focusin", handleFocus, { capture: true }), on(container, "keydown", handleKeydown));
|
|
2631
|
+
const observer = new MutationObserver(() => {
|
|
2632
|
+
const lastFocused = this.#manager.getFocusMemory(this);
|
|
2633
|
+
if (lastFocused && !container.contains(lastFocused)) {
|
|
2634
|
+
const firstTabbable = this.#getFirstTabbable();
|
|
2635
|
+
const firstFocusable = this.#getAllFocusables()[0];
|
|
2636
|
+
const elementToFocus = firstTabbable || firstFocusable;
|
|
2637
|
+
if (elementToFocus) {
|
|
2638
|
+
elementToFocus.focus();
|
|
2639
|
+
this.#manager.setFocusMemory(this, elementToFocus);
|
|
2640
|
+
} else container.focus();
|
|
2641
|
+
}
|
|
2642
|
+
});
|
|
2643
|
+
observer.observe(container, {
|
|
2644
|
+
childList: true,
|
|
2645
|
+
subtree: true
|
|
2646
|
+
});
|
|
2647
|
+
this.#cleanupFns.push(() => observer.disconnect());
|
|
2648
|
+
}
|
|
2649
|
+
#getTabbables() {
|
|
2650
|
+
if (!this.#container) return [];
|
|
2651
|
+
return tabbable(this.#container, {
|
|
2652
|
+
includeContainer: false,
|
|
2653
|
+
getShadowRoot: true
|
|
2654
|
+
});
|
|
2655
|
+
}
|
|
2656
|
+
#getFirstTabbable() {
|
|
2657
|
+
return this.#getTabbables()[0] || null;
|
|
2658
|
+
}
|
|
2659
|
+
#getAllFocusables() {
|
|
2660
|
+
if (!this.#container) return [];
|
|
2661
|
+
return focusable(this.#container, {
|
|
2662
|
+
includeContainer: false,
|
|
2663
|
+
getShadowRoot: true
|
|
2664
|
+
});
|
|
2665
|
+
}
|
|
2666
|
+
static use(opts) {
|
|
2667
|
+
let scope = null;
|
|
2668
|
+
watch([() => opts.ref.current, () => opts.enabled.current], ([ref, enabled]) => {
|
|
2669
|
+
if (ref && enabled) {
|
|
2670
|
+
if (!scope) scope = new FocusScope(opts);
|
|
2671
|
+
scope.mount(ref);
|
|
2672
|
+
} else if (scope) {
|
|
2673
|
+
scope.unmount();
|
|
2674
|
+
scope = null;
|
|
2675
|
+
}
|
|
2676
|
+
});
|
|
2677
|
+
return { get props() {
|
|
2678
|
+
return { tabindex: -1 };
|
|
2679
|
+
} };
|
|
2680
|
+
}
|
|
2681
|
+
};
|
|
2682
|
+
//#endregion
|
|
2683
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/bits/utilities/focus-scope/focus-scope.svelte
|
|
2684
|
+
function Focus_scope($$renderer, $$props) {
|
|
2685
|
+
$$renderer.component(($$renderer) => {
|
|
2686
|
+
let { enabled = false, trapFocus = false, loop = false, onCloseAutoFocus = noop, onOpenAutoFocus = noop, focusScope, ref } = $$props;
|
|
2687
|
+
const focusScopeState = FocusScope.use({
|
|
2688
|
+
enabled: boxWith(() => enabled),
|
|
2689
|
+
trap: boxWith(() => trapFocus),
|
|
2690
|
+
loop,
|
|
2691
|
+
onCloseAutoFocus: boxWith(() => onCloseAutoFocus),
|
|
2692
|
+
onOpenAutoFocus: boxWith(() => onOpenAutoFocus),
|
|
2693
|
+
ref
|
|
2694
|
+
});
|
|
2695
|
+
focusScope?.($$renderer, { props: focusScopeState.props });
|
|
2696
|
+
$$renderer.push(`<!---->`);
|
|
2697
|
+
});
|
|
2698
|
+
}
|
|
2699
|
+
//#endregion
|
|
2700
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/bits/utilities/text-selection-layer/use-text-selection-layer.svelte.js
|
|
2701
|
+
var noopPointer = () => {};
|
|
2702
|
+
globalThis.bitsTextSelectionLayers ??= /* @__PURE__ */ new Map();
|
|
2703
|
+
var TextSelectionLayerState = class TextSelectionLayerState {
|
|
2704
|
+
static create(opts) {
|
|
2705
|
+
return new TextSelectionLayerState(opts);
|
|
2706
|
+
}
|
|
2707
|
+
opts;
|
|
2708
|
+
domContext;
|
|
2709
|
+
#unsubSelectionLock = noop;
|
|
2710
|
+
#enabledSnapshot = false;
|
|
2711
|
+
#onPointerDownSnapshot = noopPointer;
|
|
2712
|
+
#onPointerUpSnapshot = noopPointer;
|
|
2713
|
+
constructor(opts) {
|
|
2714
|
+
this.opts = opts;
|
|
2715
|
+
this.domContext = new DOMContext(opts.ref);
|
|
2716
|
+
let unsubEvents = noop;
|
|
2717
|
+
watch(() => [
|
|
2718
|
+
this.opts.enabled.current,
|
|
2719
|
+
this.opts.onPointerDown.current,
|
|
2720
|
+
this.opts.onPointerUp.current
|
|
2721
|
+
], ([enabled, onPointerDown, onPointerUp]) => {
|
|
2722
|
+
this.#enabledSnapshot = enabled;
|
|
2723
|
+
this.#onPointerDownSnapshot = onPointerDown;
|
|
2724
|
+
this.#onPointerUpSnapshot = onPointerUp;
|
|
2725
|
+
if (enabled) {
|
|
2726
|
+
globalThis.bitsTextSelectionLayers.set(this, this.opts.enabled);
|
|
2727
|
+
unsubEvents();
|
|
2728
|
+
unsubEvents = this.#addEventListeners();
|
|
2729
|
+
}
|
|
2730
|
+
return () => {
|
|
2731
|
+
this.#enabledSnapshot = false;
|
|
2732
|
+
unsubEvents();
|
|
2733
|
+
this.#resetSelectionLock();
|
|
2734
|
+
globalThis.bitsTextSelectionLayers.delete(this);
|
|
2735
|
+
};
|
|
2736
|
+
});
|
|
2737
|
+
}
|
|
2738
|
+
#addEventListeners() {
|
|
2739
|
+
return executeCallbacks(on(this.domContext.getDocument(), "pointerdown", this.#pointerdown), on(this.domContext.getDocument(), "pointerup", composeHandlers(this.#resetSelectionLock, this.#pointerupUserHandler)));
|
|
2740
|
+
}
|
|
2741
|
+
#pointerupUserHandler = (e) => {
|
|
2742
|
+
this.#onPointerUpSnapshot(e);
|
|
2743
|
+
};
|
|
2744
|
+
#pointerdown = (e) => {
|
|
2745
|
+
const node = this.opts.ref.current;
|
|
2746
|
+
const target = e.target;
|
|
2747
|
+
if (!isHTMLElement$1(node) || !isHTMLElement$1(target) || !this.#enabledSnapshot) return;
|
|
2748
|
+
/**
|
|
2749
|
+
* We only lock user-selection overflow if layer is the top most layer and
|
|
2750
|
+
* pointerdown occurred inside the node. You are still allowed to select text
|
|
2751
|
+
* outside the node provided pointerdown occurs outside the node.
|
|
2752
|
+
*/
|
|
2753
|
+
if (!isHighestLayer(this) || !contains(node, target)) return;
|
|
2754
|
+
this.#onPointerDownSnapshot(e);
|
|
2755
|
+
if (e.defaultPrevented) return;
|
|
2756
|
+
this.#unsubSelectionLock = preventTextSelectionOverflow(node, this.domContext.getDocument().body);
|
|
2757
|
+
};
|
|
2758
|
+
#resetSelectionLock = () => {
|
|
2759
|
+
this.#unsubSelectionLock();
|
|
2760
|
+
this.#unsubSelectionLock = noop;
|
|
2761
|
+
};
|
|
2762
|
+
};
|
|
2763
|
+
var getUserSelect = (node) => node.style.userSelect || node.style.webkitUserSelect;
|
|
2764
|
+
function preventTextSelectionOverflow(node, body) {
|
|
2765
|
+
const originalBodyUserSelect = getUserSelect(body);
|
|
2766
|
+
const originalNodeUserSelect = getUserSelect(node);
|
|
2767
|
+
setUserSelect(body, "none");
|
|
2768
|
+
setUserSelect(node, "text");
|
|
2769
|
+
return () => {
|
|
2770
|
+
setUserSelect(body, originalBodyUserSelect);
|
|
2771
|
+
setUserSelect(node, originalNodeUserSelect);
|
|
2772
|
+
};
|
|
2773
|
+
}
|
|
2774
|
+
function setUserSelect(node, value) {
|
|
2775
|
+
node.style.userSelect = value;
|
|
2776
|
+
node.style.webkitUserSelect = value;
|
|
2777
|
+
}
|
|
2778
|
+
function isHighestLayer(instance) {
|
|
2779
|
+
const layersArr = [...globalThis.bitsTextSelectionLayers];
|
|
2780
|
+
if (!layersArr.length) return false;
|
|
2781
|
+
const highestLayer = layersArr.at(-1);
|
|
2782
|
+
if (!highestLayer) return false;
|
|
2783
|
+
return highestLayer[0] === instance;
|
|
2784
|
+
}
|
|
2785
|
+
//#endregion
|
|
2786
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/bits/utilities/text-selection-layer/text-selection-layer.svelte
|
|
2787
|
+
function Text_selection_layer($$renderer, $$props) {
|
|
2788
|
+
$$renderer.component(($$renderer) => {
|
|
2789
|
+
let { preventOverflowTextSelection = true, onPointerDown = noop, onPointerUp = noop, id, children, enabled, ref } = $$props;
|
|
2790
|
+
TextSelectionLayerState.create({
|
|
2791
|
+
id: boxWith(() => id),
|
|
2792
|
+
onPointerDown: boxWith(() => onPointerDown),
|
|
2793
|
+
onPointerUp: boxWith(() => onPointerUp),
|
|
2794
|
+
enabled: boxWith(() => enabled && preventOverflowTextSelection),
|
|
2795
|
+
ref
|
|
2796
|
+
});
|
|
2797
|
+
children?.($$renderer);
|
|
2798
|
+
$$renderer.push(`<!---->`);
|
|
2799
|
+
});
|
|
2800
|
+
}
|
|
2801
|
+
//#endregion
|
|
2802
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/internal/use-id.js
|
|
2803
|
+
globalThis.bitsIdCounter ??= { current: 0 };
|
|
2804
|
+
/**
|
|
2805
|
+
* Generates a unique ID based on a global counter.
|
|
2806
|
+
*/
|
|
2807
|
+
function useId(prefix = "bits") {
|
|
2808
|
+
globalThis.bitsIdCounter.current++;
|
|
2809
|
+
return `${prefix}-${globalThis.bitsIdCounter.current}`;
|
|
2810
|
+
}
|
|
2811
|
+
//#endregion
|
|
2812
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/internal/shared-state.svelte.js
|
|
2813
|
+
var SharedState = class {
|
|
2814
|
+
#factory;
|
|
2815
|
+
#subscribers = 0;
|
|
2816
|
+
#state;
|
|
2817
|
+
#scope;
|
|
2818
|
+
constructor(factory) {
|
|
2819
|
+
this.#factory = factory;
|
|
2820
|
+
}
|
|
2821
|
+
#dispose() {
|
|
2822
|
+
this.#subscribers -= 1;
|
|
2823
|
+
if (this.#scope && this.#subscribers <= 0) {
|
|
2824
|
+
this.#scope();
|
|
2825
|
+
this.#state = void 0;
|
|
2826
|
+
this.#scope = void 0;
|
|
2827
|
+
}
|
|
2828
|
+
}
|
|
2829
|
+
get(...args) {
|
|
2830
|
+
this.#subscribers += 1;
|
|
2831
|
+
if (this.#state === void 0) this.#scope = () => {};
|
|
2832
|
+
return this.#state;
|
|
2833
|
+
}
|
|
2834
|
+
};
|
|
2835
|
+
//#endregion
|
|
2836
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/internal/body-scroll-lock.svelte.js
|
|
2837
|
+
var lockMap = new SvelteMap();
|
|
2838
|
+
var initialBodyStyle = null;
|
|
2839
|
+
var cleanupTimeoutId = null;
|
|
2840
|
+
var isInCleanupTransition = false;
|
|
2841
|
+
var anyLocked = boxWith(() => {
|
|
2842
|
+
for (const value of lockMap.values()) if (value) return true;
|
|
2843
|
+
return false;
|
|
2844
|
+
});
|
|
2845
|
+
/**
|
|
2846
|
+
* We track the time we scheduled the cleanup to prevent race conditions
|
|
2847
|
+
* when multiple locks are created/destroyed in the same tick, ensuring
|
|
2848
|
+
* only the last one to schedule the cleanup will run.
|
|
2849
|
+
*
|
|
2850
|
+
* reference: https://github.com/huntabyte/bits-ui/issues/1639
|
|
2851
|
+
*/
|
|
2852
|
+
var cleanupScheduledAt = null;
|
|
2853
|
+
var bodyLockStackCount = new SharedState(() => {
|
|
2854
|
+
function resetBodyStyle() {}
|
|
2855
|
+
function cancelPendingCleanup() {
|
|
2856
|
+
if (cleanupTimeoutId === null) return;
|
|
2857
|
+
window.clearTimeout(cleanupTimeoutId);
|
|
2858
|
+
cleanupTimeoutId = null;
|
|
2859
|
+
}
|
|
2860
|
+
function scheduleCleanupIfNoNewLocks(delay, callback) {
|
|
2861
|
+
cancelPendingCleanup();
|
|
2862
|
+
isInCleanupTransition = true;
|
|
2863
|
+
cleanupScheduledAt = Date.now();
|
|
2864
|
+
const currentCleanupId = cleanupScheduledAt;
|
|
2865
|
+
/**
|
|
2866
|
+
* We schedule the cleanup to run after a delay to allow new locks to register
|
|
2867
|
+
* that might have been added in the same tick as the current cleanup.
|
|
2868
|
+
*
|
|
2869
|
+
* If a new lock is added in the same tick, the cleanup will be cancelled and
|
|
2870
|
+
* a new cleanup will be scheduled.
|
|
2871
|
+
*
|
|
2872
|
+
* This is to prevent the cleanup from running too early and resetting the body
|
|
2873
|
+
* style before the new lock has had a chance to apply its styles.
|
|
2874
|
+
*/
|
|
2875
|
+
const cleanupFn = () => {
|
|
2876
|
+
cleanupTimeoutId = null;
|
|
2877
|
+
if (cleanupScheduledAt !== currentCleanupId) return;
|
|
2878
|
+
if (!isAnyLocked(lockMap)) {
|
|
2879
|
+
isInCleanupTransition = false;
|
|
2880
|
+
callback();
|
|
2881
|
+
} else isInCleanupTransition = false;
|
|
2882
|
+
};
|
|
2883
|
+
const actualDelay = delay === null ? 24 : delay;
|
|
2884
|
+
cleanupTimeoutId = window.setTimeout(cleanupFn, actualDelay);
|
|
2885
|
+
}
|
|
2886
|
+
function ensureInitialStyleCaptured() {
|
|
2887
|
+
if (initialBodyStyle === null && lockMap.size === 0 && !isInCleanupTransition) initialBodyStyle = document.body.getAttribute("style");
|
|
2888
|
+
}
|
|
2889
|
+
watch(() => anyLocked.current, () => {
|
|
2890
|
+
if (!anyLocked.current) return;
|
|
2891
|
+
ensureInitialStyleCaptured();
|
|
2892
|
+
isInCleanupTransition = false;
|
|
2893
|
+
const htmlStyle = getComputedStyle(document.documentElement);
|
|
2894
|
+
const bodyStyle = getComputedStyle(document.body);
|
|
2895
|
+
const hasStableGutter = htmlStyle.scrollbarGutter?.includes("stable") || bodyStyle.scrollbarGutter?.includes("stable");
|
|
2896
|
+
const verticalScrollbarWidth = window.innerWidth - document.documentElement.clientWidth;
|
|
2897
|
+
const config = {
|
|
2898
|
+
padding: Number.parseInt(bodyStyle.paddingRight ?? "0", 10) + verticalScrollbarWidth,
|
|
2899
|
+
margin: Number.parseInt(bodyStyle.marginRight ?? "0", 10)
|
|
2900
|
+
};
|
|
2901
|
+
if (verticalScrollbarWidth > 0 && !hasStableGutter) {
|
|
2902
|
+
document.body.style.paddingRight = `${config.padding}px`;
|
|
2903
|
+
document.body.style.marginRight = `${config.margin}px`;
|
|
2904
|
+
document.body.style.setProperty("--scrollbar-width", `${verticalScrollbarWidth}px`);
|
|
2905
|
+
}
|
|
2906
|
+
document.body.style.overflow = "hidden";
|
|
2907
|
+
if (isIOS) on(document, "touchmove", (e) => {
|
|
2908
|
+
if (e.target !== document.documentElement) return;
|
|
2909
|
+
if (e.touches.length > 1) return;
|
|
2910
|
+
e.preventDefault();
|
|
2911
|
+
}, { passive: false });
|
|
2912
|
+
/**
|
|
2913
|
+
* We ensure pointer-events: none is applied _after_ DOM updates, so that any focus/
|
|
2914
|
+
* interaction changes from opening overlays/menus complete _before_ we block pointer
|
|
2915
|
+
* events.
|
|
2916
|
+
*
|
|
2917
|
+
* this avoids race conditions where pointer-events could be set too early and break
|
|
2918
|
+
* focus/interaction.
|
|
2919
|
+
*/
|
|
2920
|
+
afterTick(() => {
|
|
2921
|
+
document.body.style.pointerEvents = "none";
|
|
2922
|
+
document.body.style.overflow = "hidden";
|
|
2923
|
+
});
|
|
2924
|
+
});
|
|
2925
|
+
return {
|
|
2926
|
+
get lockMap() {
|
|
2927
|
+
return lockMap;
|
|
2928
|
+
},
|
|
2929
|
+
resetBodyStyle,
|
|
2930
|
+
scheduleCleanupIfNoNewLocks,
|
|
2931
|
+
cancelPendingCleanup,
|
|
2932
|
+
ensureInitialStyleCaptured
|
|
2933
|
+
};
|
|
2934
|
+
});
|
|
2935
|
+
var BodyScrollLock = class {
|
|
2936
|
+
#id = useId();
|
|
2937
|
+
#initialState;
|
|
2938
|
+
#restoreScrollDelay = () => null;
|
|
2939
|
+
#countState;
|
|
2940
|
+
locked;
|
|
2941
|
+
constructor(initialState, restoreScrollDelay = () => null) {
|
|
2942
|
+
this.#initialState = initialState;
|
|
2943
|
+
this.#restoreScrollDelay = restoreScrollDelay;
|
|
2944
|
+
this.#countState = bodyLockStackCount.get();
|
|
2945
|
+
if (!this.#countState) return;
|
|
2946
|
+
/**
|
|
2947
|
+
* Since a new lock is being created, we cancel any pending cleanup to
|
|
2948
|
+
* prevent the cleanup from running too early and resetting the body style
|
|
2949
|
+
* before the new lock has had a chance to apply its styles.
|
|
2950
|
+
*
|
|
2951
|
+
* reference: https://github.com/huntabyte/bits-ui/issues/1639
|
|
2952
|
+
*/
|
|
2953
|
+
this.#countState.cancelPendingCleanup();
|
|
2954
|
+
this.#countState.ensureInitialStyleCaptured();
|
|
2955
|
+
this.#countState.lockMap.set(this.#id, this.#initialState ?? false);
|
|
2956
|
+
this.locked = boxWith(() => this.#countState.lockMap.get(this.#id) ?? false, (v) => this.#countState.lockMap.set(this.#id, v));
|
|
2957
|
+
}
|
|
2958
|
+
};
|
|
2959
|
+
function isAnyLocked(map) {
|
|
2960
|
+
for (const [_, value] of map) if (value) return true;
|
|
2961
|
+
return false;
|
|
2962
|
+
}
|
|
2963
|
+
//#endregion
|
|
2964
|
+
//#region ../../node_modules/.pnpm/bits-ui@2.18.1_@internationalized+date@3.12.2_@sveltejs+kit@2.69.1_@opentelemetry+api@1_cf9efa5a0e2445160199ecbd5e48fd57/node_modules/bits-ui/dist/bits/utilities/scroll-lock/scroll-lock.svelte
|
|
2965
|
+
function Scroll_lock($$renderer, $$props) {
|
|
2966
|
+
$$renderer.component(($$renderer) => {
|
|
2967
|
+
let { preventScroll = true, restoreScrollDelay = null } = $$props;
|
|
2968
|
+
if (preventScroll) new BodyScrollLock(preventScroll, () => restoreScrollDelay);
|
|
2969
|
+
});
|
|
2970
|
+
}
|
|
2971
|
+
|
|
2972
|
+
export { AnimationsComplete as A, Dismissible_layer as D, Escape_layer as E, Focus_scope as F, MenuRootState as M, PresenceManager as P, Scroll_lock as S, Text_selection_layer as T, Portal as a, afterTick as b, DOMContext as c, DOMTypeahead as d, backward as e, forward as f, boxAutoReset as g, getNextMatch as h, afterSleep as i, getWindow as j, MenuMenuState as k, DropdownMenuTriggerState as l, MenuContentState as m, next as n, isValidIndex as o, prev as p, MenuItemState as q, MenuSubmenuState as r, MenuSeparatorState as s, MenuSubTriggerState as t, useId as u, MenuOpenEvent as v, SUB_CLOSE_KEYS as w };
|
|
2973
|
+
//# sourceMappingURL=scroll-lock.js-BhXqCYmL.js.map
|