@lunora/studio 1.0.0-alpha.15 → 1.0.0-alpha.151
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/LICENSE.md +6 -0
- package/README.md +1 -1
- package/dist/index.d.mts +1527 -0
- package/dist/index.d.ts +923 -803
- package/dist/index.mjs +1 -0
- package/dist/mount.d.mts +22 -0
- package/dist/mount.d.ts +11 -10
- package/dist/mount.mjs +1 -0
- package/dist/packem_chunks/AdvisorHealthPanel.mjs +1 -0
- package/dist/packem_chunks/ApiTab.mjs +1 -0
- package/dist/packem_chunks/AuditPanel.mjs +1 -0
- package/dist/packem_chunks/DeploymentHealthPanel.mjs +1 -0
- package/dist/packem_chunks/ExportImportPanel.mjs +3 -0
- package/dist/packem_chunks/FileBrowser.mjs +4 -0
- package/dist/packem_chunks/FunctionRunner.mjs +1 -0
- package/dist/packem_chunks/FunctionStatsPanel.mjs +1 -0
- package/dist/packem_chunks/HealthPanel.mjs +1 -0
- package/dist/packem_chunks/InsightsPanel.mjs +1 -0
- package/dist/packem_chunks/LogsPanel.mjs +1 -0
- package/dist/packem_chunks/MailPanel.mjs +2 -0
- package/dist/packem_chunks/MetricsPanel.mjs +1 -0
- package/dist/packem_chunks/NotificationsPanel.mjs +1 -0
- package/dist/packem_chunks/PitrPanel.mjs +1 -0
- package/dist/packem_chunks/SchemaViewer.mjs +1 -0
- package/dist/packem_chunks/SecurityAdvisorPanel.mjs +1 -0
- package/dist/packem_chunks/SettingsPanel.mjs +1 -0
- package/dist/packem_chunks/SqlEditorPanel.mjs +8 -0
- package/dist/packem_chunks/TableEditor.mjs +1 -0
- package/dist/packem_chunks/agents-panel.mjs +1 -0
- package/dist/packem_chunks/analytics-panel.mjs +1 -0
- package/dist/packem_chunks/auth-audit-panel.mjs +1 -0
- package/dist/packem_chunks/auth-config-panel.mjs +1 -0
- package/dist/packem_chunks/auth-sessions-panel.mjs +1 -0
- package/dist/packem_chunks/containers-panel.mjs +1 -0
- package/dist/packem_chunks/dashboards-panel.mjs +1 -0
- package/dist/packem_chunks/evals-panel.mjs +1 -0
- package/dist/packem_chunks/fanout-panel.mjs +1 -0
- package/dist/packem_chunks/flags-panel.mjs +1 -0
- package/dist/packem_chunks/issues-panel.mjs +1 -0
- package/dist/packem_chunks/kv-browser.mjs +1 -0
- package/dist/packem_chunks/log-drains-panel.mjs +4 -0
- package/dist/packem_chunks/migrations-route.mjs +1 -0
- package/dist/packem_chunks/organizations-panel.mjs +1 -0
- package/dist/packem_chunks/payments-panel.mjs +1 -0
- package/dist/packem_chunks/permissions-panel.mjs +1 -0
- package/dist/packem_chunks/queues-panel.mjs +1 -0
- package/dist/packem_chunks/reactors-panel.mjs +1 -0
- package/dist/packem_chunks/rls-panel.mjs +1 -0
- package/dist/packem_chunks/schedule-panel.mjs +1 -0
- package/dist/packem_chunks/sparkline.mjs +1 -0
- package/dist/packem_chunks/storage-rules-panel.mjs +1 -0
- package/dist/packem_chunks/subscriptions-panel.mjs +1 -0
- package/dist/packem_chunks/sync-client-panel.mjs +1 -0
- package/dist/packem_chunks/traces-panel.mjs +1 -0
- package/dist/packem_chunks/users-panel.mjs +1 -0
- package/dist/packem_chunks/vector-browser.mjs +1 -0
- package/dist/packem_chunks/workflows-panel.mjs +1 -0
- package/dist/packem_shared/ADMIN_FUNCTIONS-B8yyk5BX.mjs +1 -0
- package/dist/packem_shared/ApiDocsPanel-BImfQhyJ.mjs +2 -0
- package/dist/packem_shared/ApiReferencePanel-CigvHhCa.mjs +1 -0
- package/dist/packem_shared/CommandPalette-CSdz9zax.mjs +1 -0
- package/dist/packem_shared/ConfirmButton-DU4p72Er.mjs +1 -0
- package/dist/packem_shared/ConnectionBadge-B_8fcft2.mjs +1 -0
- package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-DuULO4XM.mjs +1 -0
- package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-D5YMT0gM.mjs +1 -0
- package/dist/packem_shared/DEFAULT_LOCALE-A1Yg5ORA.mjs +1 -0
- package/dist/packem_shared/DataBrowser-O22nJCCN.mjs +4 -0
- package/dist/packem_shared/DataFilters-3nbW0uax.mjs +1 -0
- package/dist/packem_shared/ErrorBoundary-BWNF98VF.mjs +1 -0
- package/dist/packem_shared/GlobalDataBrowser-BTbqR6Wc.mjs +1 -0
- package/dist/packem_shared/HomePanel-_BwLI4TQ.mjs +1 -0
- package/dist/packem_shared/MigrationsPanel-BPWzFdxC.mjs +1 -0
- package/dist/packem_shared/OpenRpcReferencePanel-C6CM791D.mjs +1 -0
- package/dist/packem_shared/STUDIO_ROOT_CLASS-C6MccdVk.mjs +1 -0
- package/dist/packem_shared/ScheduledJobs-B4DPADwk.mjs +1 -0
- package/dist/packem_shared/ShardInput-C6mjgAh4.mjs +1 -0
- package/dist/packem_shared/Studio-CcWQdYrV.mjs +1 -0
- package/dist/packem_shared/StudioApp-fYFz6zZQ.mjs +1 -0
- package/dist/packem_shared/StudioI18nProvider-fVsCSs5L.mjs +1 -0
- package/dist/packem_shared/advisor-view-CPgOok_h.mjs +1 -0
- package/dist/packem_shared/aggregateMetrics-CY05xrYU.mjs +1 -0
- package/dist/packem_shared/alert-PB5W11MM.mjs +1 -0
- package/dist/packem_shared/app.d-BbmO2HA2.d.mts +301 -0
- package/dist/packem_shared/app.d-BbmO2HA2.d.ts +301 -0
- package/dist/packem_shared/badge-r_5B4LHP.mjs +1 -0
- package/dist/packem_shared/bar-chart-BCsEIQoQ.mjs +6 -0
- package/dist/packem_shared/browser-storage-BH1MxLZs.mjs +1 -0
- package/dist/packem_shared/button-q0UYSmrn.mjs +1 -0
- package/dist/packem_shared/card--2hKx4L2.mjs +1 -0
- package/dist/packem_shared/cf-links-CBJ5SywP.mjs +1 -0
- package/dist/packem_shared/checkbox-CnS9cyCz.mjs +1 -0
- package/dist/packem_shared/control-button-BOZ5K-FC.mjs +1 -0
- package/dist/packem_shared/data-grid-DTBAKZlm.mjs +1 -0
- package/dist/packem_shared/data-view-params-qoSTqjAj.mjs +1 -0
- package/dist/packem_shared/dropdown-menu-jLZenfWH.mjs +2 -0
- package/dist/packem_shared/empty-state-D7jEML_T.mjs +1 -0
- package/dist/packem_shared/error-alert-tf5zvSLV.mjs +1 -0
- package/dist/packem_shared/grid-features-Dl7bCGRN.mjs +6 -0
- package/dist/packem_shared/home-panel-DCUKd8Uk.mjs +3 -0
- package/dist/packem_shared/input-CXhxesPC.mjs +1 -0
- package/dist/packem_shared/internal-B6haJbiP.mjs +2 -0
- package/dist/packem_shared/label-DKFzyHq6.mjs +1 -0
- package/dist/packem_shared/live-status-BuJdUZFU.mjs +1 -0
- package/dist/packem_shared/log-fields-SBxKyBug.mjs +1 -0
- package/dist/packem_shared/log-line-BoObzuue.mjs +1 -0
- package/dist/packem_shared/modal-shell-CDztwLnv.mjs +1 -0
- package/dist/packem_shared/operation-console-provider-DoloEvon.mjs +1 -0
- package/dist/packem_shared/recording-client-BXUIyBL4.mjs +1 -0
- package/dist/packem_shared/reference-view-DiikOols.mjs +13 -0
- package/dist/packem_shared/schema-diagram-CDj_69jF.mjs +2 -0
- package/dist/packem_shared/scroll-area-CXCQH7VT.mjs +2 -0
- package/dist/packem_shared/select-DPyS18Vy.mjs +2 -0
- package/dist/packem_shared/shard-history-CaO3C4KQ.mjs +1 -0
- package/dist/packem_shared/shortcuts-B9gDaXmw.mjs +1 -0
- package/dist/packem_shared/skeleton-DX1gfixl.mjs +1 -0
- package/dist/packem_shared/sparkline-B_sPPO_8.mjs +1 -0
- package/dist/packem_shared/sql-result-table-C5y0jwaK.mjs +1 -0
- package/dist/packem_shared/stat-card-D0Fe04cX.mjs +1 -0
- package/dist/packem_shared/storage-tier-C2mKwYRj.mjs +1 -0
- package/dist/packem_shared/studio-OqNyRY1N.mjs +2 -0
- package/dist/packem_shared/table-D0SBiDu-.mjs +2 -0
- package/dist/packem_shared/table-list-sidebar-DHG1UJC4.mjs +1 -0
- package/dist/packem_shared/textarea--40GKAyz.mjs +1 -0
- package/dist/packem_shared/trace-handoff-BV3EWqy_.mjs +1 -0
- package/dist/packem_shared/use-admin-query-BKXiqLci.mjs +1 -0
- package/dist/packem_shared/use-async-submit-BTr3w2-K.mjs +1 -0
- package/dist/packem_shared/use-auth-config-BQKGdSFh.mjs +1 -0
- package/dist/packem_shared/use-open-trace-BCW0c9qq.mjs +1 -0
- package/dist/packem_shared/use-shard-key-BsP3o5wT.mjs +1 -0
- package/dist/packem_shared/use-sql-assistant-BhIMDQHV.mjs +1 -0
- package/dist/packem_shared/useDebounced-DVeQ5-oW.mjs +1 -0
- package/dist/packem_shared/utils-bhneXptQ.mjs +1 -0
- package/dist/packem_shared/virtual-rect-D_j7aLxX.mjs +1 -0
- package/dist/packem_shared/wire-codec-oeb8YWV3.mjs +1 -0
- package/dist/standalone/chunk-23PYJYIE.js +2 -0
- package/dist/standalone/chunk-25NFR6EB.js +1 -0
- package/dist/standalone/chunk-2AQPSJ2A.js +1 -0
- package/dist/standalone/chunk-2ES4GR4C.js +1 -0
- package/dist/standalone/chunk-2UYOGRM4.js +1 -0
- package/dist/standalone/chunk-32CGYBP7.js +1 -0
- package/dist/standalone/chunk-35DM4JJG.js +1 -0
- package/dist/standalone/chunk-3AP7VVQQ.js +8 -0
- package/dist/standalone/chunk-46ZJ3TM4.js +2 -0
- package/dist/standalone/chunk-4B2XXMFJ.js +1 -0
- package/dist/standalone/chunk-4ECJUS5H.js +1 -0
- package/dist/standalone/chunk-4GTO7FL5.js +1 -0
- package/dist/standalone/chunk-4L4WTGN5.js +1 -0
- package/dist/standalone/chunk-4ZEL6BYL.js +1 -0
- package/dist/standalone/chunk-5BHA637G.js +1 -0
- package/dist/standalone/chunk-5GFSKIB2.js +1 -0
- package/dist/standalone/chunk-5JDWLCSH.js +1 -0
- package/dist/standalone/chunk-5OKOOE7F.js +14 -0
- package/dist/standalone/chunk-5WJXVZMZ.js +1 -0
- package/dist/standalone/chunk-66UGPQVC.js +1 -0
- package/dist/standalone/chunk-6KU6XZBN.js +1 -0
- package/dist/standalone/chunk-74MH4UBQ.js +4 -0
- package/dist/standalone/chunk-7RIRJD2P.js +1 -0
- package/dist/standalone/chunk-A7FVAGCX.js +1 -0
- package/dist/standalone/chunk-ACZ62CXX.js +1 -0
- package/dist/standalone/chunk-ALDKIXZV.js +1 -0
- package/dist/standalone/chunk-BOTGXX4H.js +1 -0
- package/dist/standalone/chunk-C37WBSYD.js +1 -0
- package/dist/standalone/chunk-C3TOZ4LG.js +1 -0
- package/dist/standalone/chunk-CIEJPCUW.js +1 -0
- package/dist/standalone/chunk-CQMOOU7U.js +1 -0
- package/dist/standalone/chunk-CSUROWL2.js +1 -0
- package/dist/standalone/chunk-CY3TZEJJ.js +8 -0
- package/dist/standalone/chunk-D27D4UUI.js +1 -0
- package/dist/standalone/chunk-DX6FAHR2.js +1 -0
- package/dist/standalone/chunk-EA2JKR5D.js +1 -0
- package/dist/standalone/chunk-EBWXFG4H.js +1 -0
- package/dist/standalone/chunk-EHSU2WDS.js +1 -0
- package/dist/standalone/chunk-EL76NZKP.js +1 -0
- package/dist/standalone/chunk-EZ5WA3RT.js +1 -0
- package/dist/standalone/chunk-F7UC63UN.js +1 -0
- package/dist/standalone/chunk-FGSNEPHU.js +11 -0
- package/dist/standalone/chunk-FKVZRPV5.js +1 -0
- package/dist/standalone/chunk-FO26ZU7E.js +1 -0
- package/dist/standalone/chunk-FODLDLE2.js +19 -0
- package/dist/standalone/chunk-FSRSK4LY.js +1 -0
- package/dist/standalone/chunk-G4F3D3I7.js +1 -0
- package/dist/standalone/chunk-G4Y2UUW4.js +1 -0
- package/dist/standalone/chunk-G6U7Z75E.js +1 -0
- package/dist/standalone/chunk-GEITRXJJ.js +59 -0
- package/dist/standalone/chunk-GWV47763.js +1 -0
- package/dist/standalone/chunk-HB4BX7WR.js +1 -0
- package/dist/standalone/chunk-HEAQVSNS.js +1 -0
- package/dist/standalone/chunk-HKOSEDH4.js +3 -0
- package/dist/standalone/chunk-I52I2DJG.js +1 -0
- package/dist/standalone/chunk-IABM4BFJ.js +1 -0
- package/dist/standalone/chunk-IAP6HECV.js +1 -0
- package/dist/standalone/chunk-IECKH2X5.js +1 -0
- package/dist/standalone/chunk-IHFI6CAR.js +1 -0
- package/dist/standalone/chunk-II7XZKMV.js +1 -0
- package/dist/standalone/chunk-ILD64B5N.js +1 -0
- package/dist/standalone/chunk-IMOHEGMV.js +1 -0
- package/dist/standalone/chunk-INWAISDG.js +6 -0
- package/dist/standalone/chunk-JVUZEYKQ.js +1 -0
- package/dist/standalone/chunk-K7AJEMKE.js +1 -0
- package/dist/standalone/chunk-LX3GATRO.js +1 -0
- package/dist/standalone/chunk-MDV7YLA4.js +1 -0
- package/dist/standalone/chunk-MNAASONZ.js +1 -0
- package/dist/standalone/chunk-NCCAMFB6.js +1 -0
- package/dist/standalone/chunk-NITR6C4Q.js +1 -0
- package/dist/standalone/chunk-NLCYWLK6.js +1 -0
- package/dist/standalone/chunk-NPERN4YF.js +1 -0
- package/dist/standalone/chunk-OEGOE365.js +1 -0
- package/dist/standalone/chunk-OGUKYRFM.js +1 -0
- package/dist/standalone/chunk-OKG3HWSJ.js +1 -0
- package/dist/standalone/chunk-OVTMYZN2.js +1 -0
- package/dist/standalone/chunk-P6P4OBT2.js +1 -0
- package/dist/standalone/chunk-PHQZEAGF.js +1 -0
- package/dist/standalone/chunk-PNHK6UE2.js +3 -0
- package/dist/standalone/chunk-PYT4RZJH.js +1 -0
- package/dist/standalone/chunk-Q4CAKBWN.js +1 -0
- package/dist/standalone/chunk-Q7UGJSBF.js +1 -0
- package/dist/standalone/chunk-QKEJLVC5.js +1 -0
- package/dist/standalone/chunk-R2IHJBT6.js +1 -0
- package/dist/standalone/chunk-RLLKECZT.js +1 -0
- package/dist/standalone/chunk-RPQL45FL.js +1 -0
- package/dist/standalone/chunk-S26CQFMN.js +1 -0
- package/dist/standalone/chunk-S35A5JDQ.js +1 -0
- package/dist/standalone/chunk-S3CRZLGS.js +1 -0
- package/dist/standalone/chunk-S6WJJWE2.js +1 -0
- package/dist/standalone/chunk-S7Z5HIXB.js +1 -0
- package/dist/standalone/chunk-SB35BJ7A.js +1 -0
- package/dist/standalone/chunk-SU737V7V.js +1 -0
- package/dist/standalone/chunk-SUDJTC4S.js +1 -0
- package/dist/standalone/chunk-SWQC2USV.js +1 -0
- package/dist/standalone/chunk-SYJSEF4X.js +1 -0
- package/dist/standalone/chunk-TGHH7ZFA.js +1 -0
- package/dist/standalone/chunk-TIUMFAN2.js +1 -0
- package/dist/standalone/chunk-TJRQUJFS.js +1 -0
- package/dist/standalone/chunk-TLROCZPY.js +1 -0
- package/dist/standalone/chunk-TPPJQZRS.js +1 -0
- package/dist/standalone/chunk-TWTNWOJU.js +1 -0
- package/dist/standalone/chunk-TWZTDUXT.js +1 -0
- package/dist/standalone/chunk-TXH6IAVS.js +1 -0
- package/dist/standalone/chunk-U5JDESCI.js +1 -0
- package/dist/standalone/chunk-UDCVU3Z5.js +1 -0
- package/dist/standalone/chunk-ULIQFBZU.js +1 -0
- package/dist/standalone/chunk-UYEZR3BI.js +1 -0
- package/dist/standalone/chunk-VVOVVU53.js +1 -0
- package/dist/standalone/chunk-WQYWA7U6.js +1 -0
- package/dist/standalone/chunk-WUWBZPUK.js +1 -0
- package/dist/standalone/chunk-WXDJSSI3.js +1 -0
- package/dist/standalone/chunk-XJGHAQOK.js +1 -0
- package/dist/standalone/chunk-XNMDBPSX.js +1 -0
- package/dist/standalone/chunk-XUZKCNPR.js +1 -0
- package/dist/standalone/chunk-XZMOZFE6.js +1 -0
- package/dist/standalone/chunk-Y6CXU7T4.js +1 -0
- package/dist/standalone/chunk-YKS246NP.js +1 -0
- package/dist/standalone/chunk-YKXDMIHQ.js +1 -0
- package/dist/standalone/chunk-YUFHPV5Q.js +15 -0
- package/dist/standalone/chunk-YWC6MTH4.js +7 -0
- package/dist/standalone/chunk-Z4GCX456.js +1 -0
- package/dist/standalone/chunk-ZAU7W7ST.js +1 -0
- package/dist/standalone/chunk-ZLPC3XZF.js +4 -0
- package/dist/standalone/studio.js +9 -378
- package/dist/styles.css +2 -2
- package/package.json +21 -18
- package/dist/index.js +0 -41
- package/dist/mount.js +0 -26
- package/dist/packem_shared/ADMIN_FUNCTIONS-CZJCZ4c7.js +0 -47
- package/dist/packem_shared/ApiDocsPanel-yEz0fiof.js +0 -842
- package/dist/packem_shared/ApiReferencePanel-1vubqG5s.js +0 -229
- package/dist/packem_shared/ApiTab-DdubReQI.js +0 -251
- package/dist/packem_shared/AuditPanel-CE5ofjCc.js +0 -200
- package/dist/packem_shared/CommandPalette-BtgkBzZI.js +0 -373
- package/dist/packem_shared/ConfirmButton-C2eVi2Qv.js +0 -59
- package/dist/packem_shared/ConnectionBadge-B2DDM2Tn.js +0 -111
- package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js +0 -50
- package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-DjF0h-gA.js +0 -89
- package/dist/packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js +0 -27
- package/dist/packem_shared/DataBrowser-DpL8U-Nf.js +0 -4475
- package/dist/packem_shared/DataFilters-FNquMaiu.js +0 -249
- package/dist/packem_shared/ErrorBoundary-BzAApI7J.js +0 -66
- package/dist/packem_shared/ExportImportPanel-ChsSUCYZ.js +0 -197
- package/dist/packem_shared/FileBrowser-DsRBnVhZ.js +0 -2932
- package/dist/packem_shared/FunctionRunner-D4cZ6fuA.js +0 -343
- package/dist/packem_shared/FunctionStatsPanel-BVelWgNv.js +0 -375
- package/dist/packem_shared/GlobalDataBrowser-3X9uRfdO.js +0 -289
- package/dist/packem_shared/HealthPanel-CxUVKfvo.js +0 -648
- package/dist/packem_shared/HomePanel-tfqpZxuu.js +0 -1334
- package/dist/packem_shared/InsightsPanel-DNg3K9XN.js +0 -461
- package/dist/packem_shared/LogsPanel-B4LoSRj0.js +0 -827
- package/dist/packem_shared/MailPanel-CcpdyWYs.js +0 -440
- package/dist/packem_shared/MetricsPanel-CxoyWbNb.js +0 -1611
- package/dist/packem_shared/MigrationsPanel-DGwJGWDA.js +0 -239
- package/dist/packem_shared/OpenRpcReferencePanel-vbcYbv3V.js +0 -191
- package/dist/packem_shared/PitrPanel-CKUzyyHi.js +0 -252
- package/dist/packem_shared/STUDIO_ROOT_CLASS-D12gX2dV.js +0 -3
- package/dist/packem_shared/ScheduledJobs-BWNwIN3I.js +0 -262
- package/dist/packem_shared/SchemaViewer-RclXFo9Q.js +0 -2512
- package/dist/packem_shared/SecurityAdvisorPanel-Dqql1Z5O.js +0 -92
- package/dist/packem_shared/SettingsPanel-D5iTY0YE.js +0 -390
- package/dist/packem_shared/ShardInput-gx_DZXXn.js +0 -107
- package/dist/packem_shared/SqlEditorPanel-Dj-In-B3.js +0 -13
- package/dist/packem_shared/Studio-VWvKNOw4.js +0 -33
- package/dist/packem_shared/StudioApp-BhQ6T2pn.js +0 -657
- package/dist/packem_shared/StudioI18nProvider-B-tDCZIi.js +0 -48
- package/dist/packem_shared/TableEditor-BY8bTpCl.js +0 -11
- package/dist/packem_shared/advisor-view-CGcfMiPq.js +0 -159
- package/dist/packem_shared/aggregateMetrics-D4nUHEKU.js +0 -108
- package/dist/packem_shared/app.d-BVJFkXyj.d.ts +0 -300
- package/dist/packem_shared/badge-B2PKA1-5.js +0 -49
- package/dist/packem_shared/bar-chart-CzJAgqkp.js +0 -3245
- package/dist/packem_shared/button-BhsN2uZH.js +0 -49
- package/dist/packem_shared/card-DURq3ElK.js +0 -175
- package/dist/packem_shared/cf-links-2cktDedA.js +0 -8
- package/dist/packem_shared/checkbox-UNkzAxl-.js +0 -63
- package/dist/packem_shared/data-grid-B5CaV3wS.js +0 -183
- package/dist/packem_shared/dropdown-menu-WY4B_eJO.js +0 -280
- package/dist/packem_shared/empty-state-DY_oe0k6.js +0 -98
- package/dist/packem_shared/grid-features-CzUfqgsM.js +0 -840
- package/dist/packem_shared/input-XH4r1Pt1.js +0 -53
- package/dist/packem_shared/internal-rXJEAhXS.js +0 -68
- package/dist/packem_shared/label-D8ykjn5J.js +0 -46
- package/dist/packem_shared/live-status-FZ0psC1z.js +0 -44
- package/dist/packem_shared/reference-view-B4E49Lip.js +0 -2180
- package/dist/packem_shared/shard-history-DyebH1R5.js +0 -38
- package/dist/packem_shared/sparkline-10dG-_f0.js +0 -93
- package/dist/packem_shared/sql-editor-panel-CMdxstu5.js +0 -2562
- package/dist/packem_shared/storage-tier-CL98eOvn.js +0 -85
- package/dist/packem_shared/studio-D8ry3tJR.js +0 -11043
- package/dist/packem_shared/table-_RzNvy3R.js +0 -246
- package/dist/packem_shared/table-editor-CWx68ZCg.js +0 -407
- package/dist/packem_shared/table-list-sidebar-Bg7uzbvC.js +0 -832
- package/dist/packem_shared/textarea-D3gaCU_-.js +0 -46
- package/dist/packem_shared/use-admin-query-BkbdNFNz.js +0 -105
- package/dist/packem_shared/useDebounced-Dxncpg6z.js +0 -32
- package/dist/packem_shared/utils-B05Dmz_H.js +0 -8
- package/dist/packem_shared/virtual-rect-CVMUskSm.js +0 -10
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{a as D,b as V,c as q,d as J,e as O,f as _,g as A,h as K}from"./chunk-TJRQUJFS.js";import{a as W}from"./chunk-XZMOZFE6.js";import{a as Q}from"./chunk-SU737V7V.js";import{d as L,m as F,n as E,o as G,q as H}from"./chunk-FODLDLE2.js";import{a as m,d as I,e as Y,f as Z,g as ee}from"./chunk-YKXDMIHQ.js";var R=I(Z(),1),U=I(Y(),1);var $="inline-flex items-center gap-1 rounded-md border border-border px-2.5 py-1 text-xs font-medium text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-50",be=`${$} aria-pressed:bg-accent aria-pressed:text-accent-foreground`;var s=I(ee(),1);var z=m(l=>`"${l.replaceAll('"','""')}"`,"V"),te=/["\n,]/u,le=/^[=+\-@\t\r]/u,P=m(l=>{if(l==null)return"";let e;return typeof l=="string"?e=le.test(l)?` ${l}`:l:typeof l=="number"||typeof l=="boolean"||typeof l=="bigint"?e=String(l):e=E(l),te.test(e)?`"${e.replaceAll('"','""')}"`:e},"q"),ne=m((l,e)=>{let n=l.map(t=>P(t)).join(","),a=e.map(t=>l.map(o=>P(t[o])).join(","));return[n,...a].join(`
|
|
2
|
+
`)},"ee"),oe=m(l=>JSON.stringify(l,F,2),"te"),X=500,ae=m(l=>l==null?"NULL":typeof l=="number"?Number.isFinite(l)?String(l):"NULL":typeof l=="bigint"?String(l):typeof l=="boolean"?l?"1":"0":`'${(typeof l=="string"?l:E(l)).replaceAll("'","''")}'`,"le"),re=m((l,e,n)=>{if(e.length===0||n.length===0)return"";let a=e.map(o=>z(o)).join(", "),t=[];for(let o=0;o<n.length;o+=X){let i=n.slice(o,o+X).map(r=>` (${e.map(d=>ae(r[d])).join(", ")})`).join(`,
|
|
3
|
+
`);t.push(`INSERT INTO ${z(l)} (${a}) VALUES
|
|
4
|
+
${i};`)}return t.join(`
|
|
5
|
+
|
|
6
|
+
`)},"oe"),M=m((l,e,n)=>{if(!("document"in globalThis))return;let a=globalThis.URL.createObjectURL(new globalThis.Blob([e],{type:n})),t=globalThis.document.createElement("a");t.href=a,t.download=l,globalThis.document.body.append(t),t.click(),t.remove(),globalThis.URL.revokeObjectURL(a)},"A"),se=m(l=>{let e=(0,R.c)(36),{columns:n,name:a,rows:t}=l,o=L(),i;e[0]!==n||e[1]!==a||e[2]!==t?(i=m(()=>{M(`${a}.csv`,ne(n,t),"text/csv;charset=utf-8")},"r"),e[0]=n,e[1]=a,e[2]=t,e[3]=i):i=e[3];let r=i,d;e[4]!==a||e[5]!==t?(d=m(()=>{M(`${a}.json`,oe(t),"application/json")},"a"),e[4]=a,e[5]=t,e[6]=d):d=e[6];let b=d,u;e[7]!==n||e[8]!==a||e[9]!==t?(u=m(()=>{M(`${a}.sql`,re(a,n,t),"application/sql;charset=utf-8")},"f"),e[7]=n,e[8]=a,e[9]=t,e[10]=u):u=e[10];let c=u,x=t.length===0,p;e[11]!==x?(p=(0,s.jsx)(V,{className:$,"data-testid":"grid-export",disabled:x,title:"Exports only the rows loaded on the current page, not the whole table",children:"Export page"}),e[11]=x,e[12]=p):p=e[12];let h;e[13]===Symbol.for("react.memo_cache_sentinel")?(h=(0,s.jsx)(O,{children:"Export loaded rows"}),e[13]=h):h=e[13];let g;e[14]!==o?(g=o("CSV"),e[14]=o,e[15]=g):g=e[15];let y;e[16]!==r||e[17]!==g?(y=(0,s.jsx)(_,{"data-testid":"grid-export-csv",onClick:r,children:g}),e[16]=r,e[17]=g,e[18]=y):y=e[18];let w;e[19]!==o?(w=o("JSON"),e[19]=o,e[20]=w):w=e[20];let k;e[21]!==b||e[22]!==w?(k=(0,s.jsx)(_,{"data-testid":"grid-export-json",onClick:b,children:w}),e[21]=b,e[22]=w,e[23]=k):k=e[23];let N;e[24]!==o?(N=o("SQL"),e[24]=o,e[25]=N):N=e[25];let f;e[26]!==c||e[27]!==N?(f=(0,s.jsx)(_,{"data-testid":"grid-export-sql",onClick:c,children:N}),e[26]=c,e[27]=N,e[28]=f):f=e[28];let C;e[29]!==k||e[30]!==f||e[31]!==y?(C=(0,s.jsxs)(q,{align:"end",children:[h,y,k,f]}),e[29]=k,e[30]=f,e[31]=y,e[32]=C):C=e[32];let v;return e[33]!==C||e[34]!==p?(v=(0,s.jsxs)(D,{children:[p,C]}),e[33]=C,e[34]=p,e[35]=v):v=e[35],v},"ne"),ie=m(l=>{let e=(0,R.c)(9),{column:n}=l,a;e[0]!==n?(a=m(()=>{n.toggleVisibility()},"s"),e[0]=n,e[1]=a):a=e[1];let t=a,o;e[2]!==n?(o=n.getIsVisible(),e[2]=n,e[3]=o):o=e[3];let i=`grid-column-${n.id}`,r;return e[4]!==n.id||e[5]!==t||e[6]!==o||e[7]!==i?(r=(0,s.jsx)(A,{checked:o,closeOnClick:!1,"data-testid":i,onCheckedChange:t,children:n.id}),e[4]=n.id,e[5]=t,e[6]=o,e[7]=i,e[8]=r):r=e[8],r},"se"),ce=[],de=m(({backRelations:l=ce,enabledBackRelations:e,onToggleBackRelation:n,table:a})=>{let t=L(),o=a.getIsAllColumnsVisible(),i=m(()=>{a.toggleAllColumnsVisible(!o)},"r");return(0,s.jsxs)(D,{children:[(0,s.jsx)(V,{className:$,"data-testid":"grid-columns",children:t("Columns")}),(0,s.jsxs)(q,{align:"end",className:"max-h-80 overflow-y-auto",children:[(0,s.jsxs)(J,{children:[(0,s.jsx)(O,{children:t("Columns")}),(0,s.jsx)(A,{checked:o,closeOnClick:!1,"data-testid":"grid-columns-all",onCheckedChange:i,children:t(o?"Hide all":"Show all")}),(0,s.jsx)(K,{}),a.getAllLeafColumns().filter(r=>!r.id.startsWith("__back__:")).map(r=>(0,s.jsx)(ie,{column:r},r.id))]}),l.length>0&&n!==void 0&&(0,s.jsxs)(J,{children:[(0,s.jsx)(K,{}),(0,s.jsx)(O,{children:t("Related")}),l.map(r=>{let d=`${r.table}.${r.column}`;return(0,s.jsx)(A,{checked:e?.has(d)===!0,closeOnClick:!1,"data-testid":`grid-back-relation-${d}`,onCheckedChange:m(()=>{n(d)},"onCheckedChange"),children:`\u2190 ${r.table}.${r.column}`},d)})]})]})]})},"re"),me=m(l=>{let e=(0,R.c)(19),{count:n,editable:a,onClear:t,onDelete:o}=l,i=L(),r;e[0]!==n||e[1]!==i?(r=i("{count} selected",{count:n}),e[0]=n,e[1]=i,e[2]=r):r=e[2];let d;e[3]!==r?(d=(0,s.jsx)("span",{className:"font-medium tabular-nums","data-testid":"grid-selection-count",children:r}),e[3]=r,e[4]=d):d=e[4];let b;e[5]!==i?(b=i("Clear"),e[5]=i,e[6]=b):b=e[6];let u;e[7]!==t||e[8]!==b?(u=(0,s.jsx)("button",{className:$,"data-testid":"grid-selection-clear",onClick:t,type:"button",children:b}),e[7]=t,e[8]=b,e[9]=u):u=e[9];let c;e[10]!==n||e[11]!==a||e[12]!==o||e[13]!==i?(c=a&&(0,s.jsx)(Q,{confirmLabel:i("Delete {count} rows?",{count:n}),onConfirm:o,testId:"grid-selection-delete",children:i("Delete {count}",{count:n})}),e[10]=n,e[11]=a,e[12]=o,e[13]=i,e[14]=c):c=e[14];let x;return e[15]!==d||e[16]!==u||e[17]!==c?(x=(0,s.jsxs)("div",{className:"flex items-center gap-2 rounded-md border border-border bg-accent/40 px-3 py-1.5 text-xs","data-testid":"grid-selection-bar",children:[d,u,c]}),e[15]=d,e[16]=u,e[17]=c,e[18]=x):x=e[18],x},"ce"),ue=/\.(?:avif|bmp|gif|ico|jpe?g|png|svg|webp)$/iu,ge=m(l=>{let e=(0,R.c)(9),{bucket:n,objectKey:a,resolveUrl:t}=l,[o,i]=(0,U.useState)(null),[r,d]=(0,U.useState)(!1),b,u;e[0]!==n||e[1]!==a||e[2]!==t?(b=m(()=>{let h={cancelled:!1};return G((async()=>{try{let g=await t(a,n);h.cancelled||i(g)}catch{h.cancelled||d(!0)}})()),()=>{h.cancelled=!0}},"u"),u=[n,a,t],e[0]=n,e[1]=a,e[2]=t,e[3]=b,e[4]=u):(b=e[3],u=e[4]),(0,U.useEffect)(b,u);let c;e[5]===Symbol.for("react.memo_cache_sentinel")?(c=m(()=>{d(!0)},"c"),e[5]=c):c=e[5];let x=c;if(o===null||r)return null;let p;return e[6]!==a||e[7]!==o?(p=(0,s.jsx)("div",{className:"flex max-h-64 shrink-0 items-center justify-center overflow-hidden rounded-md border border-border bg-muted/30",children:(0,s.jsx)("img",{alt:a,className:"max-h-64 object-contain","data-testid":"grid-cell-image",onError:x,src:o})}),e[6]=a,e[7]=o,e[8]=p):p=e[8],p},"de"),we=m(l=>{let e=(0,R.c)(37),{bucket:n,column:a,onClose:t,resolveUrl:o,value:i}=l,r=L(),[d,b]=(0,U.useState)(!1),u;e[0]!==i?(u=E(i),e[0]=i,e[1]=u):u=e[1];let c=u,x;e[2]!==c?(x=m(()=>{H(c)&&b(!0)},"C"),e[2]=c,e[3]=x):x=e[3];let p=x,h;e[4]!==r?(h=r("Cell value"),e[4]=r,e[5]=h):h=e[5];let g;e[6]!==a?(g=(0,s.jsx)("h2",{className:"truncate font-mono text-sm font-semibold text-foreground",children:a}),e[6]=a,e[7]=g):g=e[7];let y;e[8]!==d||e[9]!==r?(y=r(d?"Copied":"Copy"),e[8]=d,e[9]=r,e[10]=y):y=e[10];let w;e[11]!==p||e[12]!==y?(w=(0,s.jsx)("button",{className:$,"data-testid":"grid-cell-copy",onClick:p,type:"button",children:y}),e[11]=p,e[12]=y,e[13]=w):w=e[13];let k;e[14]!==r?(k=r("Close"),e[14]=r,e[15]=k):k=e[15];let N;e[16]!==t||e[17]!==k?(N=(0,s.jsx)("button",{className:$,"data-testid":"grid-cell-close",onClick:t,type:"button",children:k}),e[16]=t,e[17]=k,e[18]=N):N=e[18];let f;e[19]!==w||e[20]!==N?(f=(0,s.jsxs)("div",{className:"flex items-center gap-1.5",children:[w,N]}),e[19]=w,e[20]=N,e[21]=f):f=e[21];let C;e[22]!==g||e[23]!==f?(C=(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[g,f]}),e[22]=g,e[23]=f,e[24]=C):C=e[24];let v;e[25]!==n||e[26]!==o||e[27]!==i?(v=o!==void 0&&typeof i=="string"&&ue.test(i)&&(0,s.jsx)(ge,{bucket:n,objectKey:i,resolveUrl:o}),e[25]=n,e[26]=o,e[27]=i,e[28]=v):v=e[28];let j;e[29]!==c?(j=(0,s.jsx)("pre",{className:"min-h-0 flex-1 overflow-auto rounded-md border border-border bg-muted/30 p-3 font-mono text-xs whitespace-pre-wrap","data-testid":"grid-cell-value",children:c}),e[29]=c,e[30]=j):j=e[30];let S;return e[31]!==t||e[32]!==C||e[33]!==v||e[34]!==j||e[35]!==h?(S=(0,s.jsxs)(W,{className:"max-h-[70vh] w-[min(40rem,90vw)]",label:h,onClose:t,panelTestId:"grid-cell-dialog",testId:"grid-cell-dialog-overlay",variant:"dialog",children:[C,v,j]}),e[31]=t,e[32]=C,e[33]=v,e[34]=j,e[35]=h,e[36]=S):S=e[36],S},"ye"),Ne=m(l=>{let e=(0,R.c)(36),{backRelations:n,enabledBackRelations:a,onToggleBackRelation:t,columns:o,editable:i,name:r,onBulkDelete:d,onToggleTranspose:b,rows:u,table:c,transposed:x}=l,p=L(),h;e[0]!==c?(h=c.getSelectedRowModel(),e[0]=c,e[1]=h):h=e[1];let g=h.rows,y;e[2]!==c?(y=m(()=>{c.resetRowSelection()},"w"),e[2]=c,e[3]=y):y=e[3];let w=y,k;e[4]!==d||e[5]!==g||e[6]!==c?(k=m(()=>{d(g.map(pe)),c.resetRowSelection()},"x"),e[4]=d,e[5]=g,e[6]=c,e[7]=k):k=e[7];let N=k,f;e[8]!==o||e[9]!==r||e[10]!==u?(f=(0,s.jsx)(se,{columns:o,name:r,rows:u}),e[8]=o,e[9]=r,e[10]=u,e[11]=f):f=e[11];let C;e[12]!==n||e[13]!==a||e[14]!==t||e[15]!==c?(C=(0,s.jsx)(de,{backRelations:n,enabledBackRelations:a,onToggleBackRelation:t,table:c}),e[12]=n,e[13]=a,e[14]=t,e[15]=c,e[16]=C):C=e[16];let v;e[17]!==p?(v=p("Swap rows and columns"),e[17]=p,e[18]=v):v=e[18];let j;e[19]!==p?(j=p("Transpose"),e[19]=p,e[20]=j):j=e[20];let S;e[21]!==b||e[22]!==v||e[23]!==j||e[24]!==x?(S=(0,s.jsx)("button",{"aria-pressed":x,className:$,"data-testid":"grid-transpose",onClick:b,title:v,type:"button",children:j}),e[21]=b,e[22]=v,e[23]=j,e[24]=x,e[25]=S):S=e[25];let T;e[26]!==i||e[27]!==w||e[28]!==N||e[29]!==g.length?(T=g.length>0&&(0,s.jsx)(me,{count:g.length,editable:i,onClear:w,onDelete:N}),e[26]=i,e[27]=w,e[28]=N,e[29]=g.length,e[30]=T):T=e[30];let B;return e[31]!==f||e[32]!==C||e[33]!==S||e[34]!==T?(B=(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5","data-testid":"grid-actions",children:[f,C,S,T]}),e[31]=f,e[32]=C,e[33]=S,e[34]=T,e[35]=B):B=e[35],B},"Ne");function pe(l){return l.id}m(pe,"fe");export{$ as a,be as b,se as c,me as d,we as e,Ne as f};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as Nr}from"./chunk-Y6CXU7T4.js";import{a as Or}from"./chunk-4L4WTGN5.js";import{a,d as k,e as B,g as Z}from"./chunk-YKXDMIHQ.js";var zo=k(B(),1),ae=zo.createContext(null);var Ho=k(B(),1);function N(t){return Ho.useContext(ae)}a(N,"useRouter");var Ue=k(B(),1),bt=Ue.createContext(void 0),jo=Ue.createContext(void 0);function dt(t){return t[t.length-1]}a(dt,"last");function Dr(t){return typeof t=="function"}a(Dr,"isFunction");function J(t,e){return Dr(t)?t(e):t}a(J,"functionalUpdate");var Jo=Object.prototype.hasOwnProperty,Fr=Object.prototype.propertyIsEnumerable;function ht(t){for(let e in t)if(Jo.call(t,e))return!0;return!1}a(ht,"hasKeys");var Ar=a(()=>Object.create(null),"createNull"),pt=a((t,e)=>st(t,e,Ar),"nullReplaceEqualDeep");function st(t,e,o=()=>({}),r=0){if(!1)return e;if(t===e)return t;if(r>500)return e;let n=e,s=Ve(t)&&Ve(n);if(!s&&!(jt(t)&&jt(n)))return n;let u=s?t:Ko(t);if(!u)return n;let i=s?n:Ko(n);if(!i)return n;let l=u.length,c=i.length,f=s?new Array(c):o(),d=0;for(let h=0;h<c;h++){let m=s?h:i[h],g=t[m],p=n[m];if(g===p){f[m]=g,(s?h<l:Jo.call(t,m))&&d++;continue}if(g===null||p===null||typeof g!="object"||typeof p!="object"){f[m]=p;continue}let v=st(g,p,o,r+1);f[m]=v,v===g&&d++}return l===c&&d===l?t:f}a(st,"replaceEqualDeep");function Ko(t){let e=Object.keys(t);if(e.length!==Object.getOwnPropertyNames(t).length)return!1;let o=Object.getOwnPropertySymbols(t);if(o.length===0)return e;for(let r of o){if(!Fr.call(t,r))return!1;e.push(r)}return e}a(Ko,"getEnumerableOwnKeys");function jt(t){if(!qo(t))return!1;let e=t.constructor;if(typeof e>"u")return!0;let o=e.prototype;return!(!qo(o)||!o.hasOwnProperty("isPrototypeOf"))}a(jt,"isPlainObject");function qo(t){return Object.prototype.toString.call(t)==="[object Object]"}a(qo,"hasObjectPrototype");function Ve(t){return Array.isArray(t)&&t.length===Object.keys(t).length}a(Ve,"isPlainArray");function Q(t,e,o){if(t===e)return!0;if(typeof t!=typeof e)return!1;if(Array.isArray(t)&&Array.isArray(e)){if(t.length!==e.length)return!1;for(let r=0,n=t.length;r<n;r++)if(!Q(t[r],e[r],o))return!1;return!0}if(jt(t)&&jt(e)){let r=o?.ignoreUndefined??!0;if(o?.partial){for(let u in e)if((!r||e[u]!==void 0)&&!Q(t[u],e[u],o))return!1;return!0}let n=0;if(!r)n=Object.keys(t).length;else for(let u in t)t[u]!==void 0&&n++;let s=0;for(let u in e)if((!r||e[u]!==void 0)&&(s++,s>n||!Q(t[u],e[u],o)))return!1;return n===s}return!1}a(Q,"deepEqual");var $r=/[\x00-\x1f\x7f"<>`{}]/g;function Br(t){return t.replace($r,e=>"%"+e.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0"))}a(Br,"sanitizePathSegment");function Go(t){let e;try{e=decodeURI(t)}catch{e=t.replaceAll(/%[0-9A-F]{2}/gi,o=>{try{return decodeURI(o)}catch{return o}})}return Br(e)}a(Go,"decodeSegment");var We=["http:","https:","mailto:","tel:"];function it(t,e){if(!t)return!1;try{let o=new URL(t);return!e.has(o.protocol)}catch{return!1}}a(it,"isDangerousProtocol");function Nt(t){if(!t)return{path:t,handledProtocolRelativeURL:!1};if(!/[%\\\x00-\x1f\x7f]/.test(t)&&!t.startsWith("//"))return{path:t,handledProtocolRelativeURL:!1};let e=/%25|%5C/gi,o=0,r="",n;for(;(n=e.exec(t))!==null;)r+=Go(t.slice(o,n.index))+n[0],o=e.lastIndex;r=r+Go(o?t.slice(o):t);let s=!1;return r.startsWith("//")&&(s=!0,r="/"+r.replace(/^\/+/,"")),{path:r,handledProtocolRelativeURL:s}}a(Nt,"decodePath");function Yo(t){return/\s|[^\u0000-\u007F]/.test(t)?t.replace(/\s|[^\u0000-\u007F]/gu,encodeURIComponent):t}a(Yo,"encodePathLikeUrl");function Xo(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(let o=0;o<t.length;o++)if(t[o]!==e[o])return!1;return!0}a(Xo,"arraysEqual");function mt(){throw new Error("Invariant failed")}a(mt,"invariant");function Dt(t){let e=new Map,o,r,n=a(s=>{s.next&&(s.prev?(s.prev.next=s.next,s.next.prev=s.prev,s.next=void 0,r&&(r.next=s,s.prev=r)):(s.next.prev=void 0,o=s.next,s.next=void 0,r&&(s.prev=r,r.next=s)),r=s)},"touch");return{get(s){let u=e.get(s);if(u)return n(u),u.value},set(s,u){if(e.size>=t&&o){let l=o;e.delete(l.key),l.next&&(o=l.next,l.next.prev=void 0),l===r&&(r=void 0)}let i=e.get(s);if(i)i.value=u,n(i);else{let l={key:s,value:u,prev:r};r&&(r.next=l),r=l,o||(o=l),e.set(s,l)}},clear(){e.clear(),o=void 0,r=void 0}}}a(Dt,"createLRUCache");var gt=4,Qo=5;function Ur(t){let e=t.indexOf("{");if(e===-1)return null;let o=t.indexOf("}",e);return o===-1||e+1>=t.length?null:[e,o]}a(Ur,"getOpenAndCloseBraces");function ze(t,e,o=new Uint16Array(6)){let r=t.indexOf("/",e),n=r===-1?t.length:r,s=t.substring(e,n);if(!s||!s.includes("$"))return o[0]=0,o[1]=e,o[2]=e,o[3]=n,o[4]=n,o[5]=n,o;if(s==="$"){let i=t.length;return o[0]=2,o[1]=e,o[2]=e,o[3]=i,o[4]=i,o[5]=i,o}if(s.charCodeAt(0)===36)return o[0]=1,o[1]=e,o[2]=e+1,o[3]=n,o[4]=n,o[5]=n,o;let u=Ur(s);if(u){let[i,l]=u,c=s.charCodeAt(i+1);if(c===45){if(i+2<s.length&&s.charCodeAt(i+2)===36){let f=i+3,d=l;if(f<d)return o[0]=3,o[1]=e+i,o[2]=e+f,o[3]=e+d,o[4]=e+l+1,o[5]=n,o}}else if(c===36){let f=i+1,d=i+2;return d===l?(o[0]=2,o[1]=e+i,o[2]=e+f,o[3]=e+d,o[4]=e+l+1,o[5]=t.length,o):(o[0]=1,o[1]=e+i,o[2]=e+d,o[3]=e+l,o[4]=e+l+1,o[5]=n,o)}}return o[0]=0,o[1]=e,o[2]=e,o[3]=n,o[4]=n,o[5]=n,o}a(ze,"parseSegment");function ue(t,e,o,r,n,s,u,i){i?.(o);let l=r;{let c=o.fullPath??o.from,f=o.options,d=c.length,h=f?.caseSensitive??t,m=f?.params?.parse??f?.parseParams;for(;l<d;){let p=ze(c,l,e),v,S=l,y=p[5];l=y+1,s++;let w=p[0];switch(w){case 0:{let R=c.substring(p[2],p[3]),L=R,x;h?x=n.static??=new Map:(L=R.toLowerCase(),x=n.staticInsensitive??=new Map);let _=x.get(L);if(_)v=_;else{let b=Ft(c);b.parent=n,b.depth=s,v=b,x.set(L,b)}break}case 1:case 3:case 2:{let R=c.substring(S,p[1]),L=c.substring(p[4],y),x=h&&!!(R||L),_=R?x?R:R.toLowerCase():void 0,b=L?x?L:L.toLowerCase():void 0,P=w===1?n.dynamic:w===3?n.optional:n.wildcard,E=w!==2&&!m&&P?.find(C=>!C.parse&&C.caseSensitive===x&&C.prefix===_&&C.suffix===b);if(E)v=E;else{let C=Vr(w,c,x,_,b);v=C,C.parent=n,C.depth=s;let T;w===1?T=n.dynamic??=[]:w===3?T=n.optional??=[]:T=n.wildcard??=[],T.push(C),T.length===2&&u?.push(T)}break}}n=v}if(m&&o.children&&!o.isRoot&&o.id&&o.id.charCodeAt(o.id.lastIndexOf("/")+1)===95){let p=Ft(c);p.kind=Qo,p.parent=n,s++,p.depth=s,n.pathless??=[],n.pathless.push(p),n=p}let g=(o.path||!o.children)&&!o.isRoot;if(g&&c.endsWith("/")){let p=Ft(c);p.kind=gt,p.parent=n,s++,p.depth=s,n.index=p,n=p}n.parse=m??null,n.priority=f?.params?.priority??0,g&&!n.route&&(n.route=o,n.fullPath=c)}if(o.children)for(let c of o.children)ue(t,e,c,l,n,s,u,i)}a(ue,"parseSegments");function tn(t,e){if(t.parse&&!e.parse)return-1;if(!t.parse&&e.parse)return 1;if(t.parse&&e.parse&&(t.priority||e.priority))return e.priority-t.priority;if(t.prefix&&e.prefix&&t.prefix!==e.prefix){if(t.prefix.startsWith(e.prefix))return-1;if(e.prefix.startsWith(t.prefix))return 1}if(t.suffix&&e.suffix&&t.suffix!==e.suffix){if(t.suffix.endsWith(e.suffix))return-1;if(e.suffix.endsWith(t.suffix))return 1}return t.prefix&&!e.prefix?-1:!t.prefix&&e.prefix?1:t.suffix&&!e.suffix?-1:!t.suffix&&e.suffix?1:t.caseSensitive&&!e.caseSensitive?-1:!t.caseSensitive&&e.caseSensitive?1:0}a(tn,"sortDynamic");function Ft(t){return{kind:0,depth:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,fullPath:t,parent:null,parse:null,priority:0}}a(Ft,"createStaticNode");function Vr(t,e,o,r,n){return{kind:t,depth:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,fullPath:e,parent:null,parse:null,priority:0,caseSensitive:o,prefix:r,suffix:n}}a(Vr,"createDynamicNode");function en(t,e){let o=Ft("/"),r=new Uint16Array(6),n=[];for(let s of t)ue(!1,r,s,1,o,0,n);for(let s of n)s.sort(tn);e.masksTree=o,e.flatCache=Dt(1e3)}a(en,"processRouteMasks");function on(t,e){t||="/";let o=e.flatCache.get(t);if(o)return o;let r=He(t,e.masksTree);return e.flatCache.set(t,r),r}a(on,"findFlatMatch");function nn(t,e,o,r,n){t||="/",r||="/";let s=e?`case\0${t}`:t,u=n.singleCache.get(s);return u||(u=Ft("/"),ue(e,new Uint16Array(6),{from:t},1,u,0),n.singleCache.set(s,u)),He(r,u,o)}a(nn,"findSingleMatch");function rn(t,e,o=!1){let r=o?t:`nofuzz\0${t}`,n=e.matchCache.get(r);if(n!==void 0)return n;t||="/";let s;try{s=He(t,e.segmentTree,o)}catch(u){if(u instanceof URIError)s=null;else throw u}return s&&(s.branch=je(s.route)),e.matchCache.set(r,s),s}a(rn,"findRouteMatch");function Wr(t){return t==="/"?t:t.replace(/\/{1,}$/,"")}a(Wr,"trimPathRight");function sn(t,e=!1,o){let r=Ft(t.fullPath),n=new Uint16Array(6),s=[],u={},i={},l=0;ue(e,n,t,1,r,0,s,c=>{if(o?.(c,l),c.id in u&&mt(),u[c.id]=c,l!==0&&c.path){let f=Wr(c.fullPath);(!i[f]||c.fullPath.endsWith("/"))&&(i[f]=c)}l++});for(let c of s)c.sort(tn);return{processedTree:{segmentTree:r,singleCache:Dt(1e3),matchCache:Dt(1e3),flatCache:null,masksTree:null},routesById:u,routesByPath:i}}a(sn,"processRouteTree");function He(t,e,o=!1){let r=t.split("/"),n=Hr(t,r,e,o);if(!n)return null;let[s]=an(t,r,n);return{route:n.node.route,rawParams:s}}a(He,"findMatch");function an(t,e,o){let r=zr(o.node),n=null,s=Object.create(null),u=o.extract?.part??0,i=o.extract?.node??0,l=o.extract?.path??0,c=o.extract?.segment??0;for(;i<r.length;u++,i++,l++,c++){let f=r[i];if(f.kind===gt)break;if(f.kind===Qo){c--,u--,l--;continue}let d=e[u],h=l;if(d&&(l+=d.length),f.kind===1){n??=o.node.fullPath.split("/");let m=n[c],g=f.prefix?.length??0;if(m.charCodeAt(g)===123){let p=f.suffix?.length??0,v=m.substring(g+2,m.length-p-1),S=d.substring(g,d.length-p);s[v]=decodeURIComponent(S)}else{let p=m.substring(1);s[p]=decodeURIComponent(d)}}else if(f.kind===3){if(o.skipped&1<<i){u--,l=h-1;continue}n??=o.node.fullPath.split("/");let m=n[c],g=f.prefix?.length??0,p=f.suffix?.length??0,v=m.substring(g+3,m.length-p-1),S=f.suffix||f.prefix?d.substring(g,d.length-p):d;S&&(s[v]=decodeURIComponent(S))}else if(f.kind===2){let m=f,g=t.substring(h+(m.prefix?.length??0),t.length-(m.suffix?.length??0)),p=decodeURIComponent(g);s["*"]=p,s._splat=p;break}}return o.rawParams&&Object.assign(s,o.rawParams),[s,{part:u,node:i,path:l,segment:c}]}a(an,"extractParams");function je(t){let e=[t];for(;t.parentRoute;)t=t.parentRoute,e.push(t);return e.reverse(),e}a(je,"buildRouteBranch");function zr(t){let e=Array(t.depth+1);do e[t.depth]=t,t=t.parent;while(t);return e}a(zr,"buildBranch");function Hr(t,e,o,r){if(t==="/"&&o.index)return{node:o.index,skipped:0};let n=!dt(e),s=n&&t!=="/",u=e.length-(n?1:0),i=[{node:o,index:1,skipped:0,statics:0,dynamics:0,optionals:0}],l=null,c=null;for(;i.length;){let f=i.pop(),{node:d,index:h,skipped:m,statics:g,dynamics:p,optionals:v}=f,{extract:S,rawParams:y}=f;if(d.kind===2&&d.route&&!le(c,f))continue;if(d.parse){if(!Zo(t,e,f))continue;y=f.rawParams,S=f.extract}r&&d.route&&d.kind!==gt&&le(l,f)&&(l=f);let w=h===u;if(w&&(d.route&&(!s||d.kind===gt||d.kind===2)&&le(c,f)&&(c=f),!d.optional&&!d.wildcard&&!d.index&&!d.pathless))continue;let R=w?void 0:e[h],L;if(w&&d.index){let x={node:d.index,index:h,skipped:m,statics:g,dynamics:p,optionals:v,extract:S,rawParams:y},_=!0;if(d.index.parse&&(Zo(t,e,x)||(_=!1)),_){if(!p&&!v&&!m&&jr(g,u))return x;le(c,x)&&(c=x)}}if(d.wildcard)for(let x=d.wildcard.length-1;x>=0;x--){let _=d.wildcard[x],{prefix:b,suffix:P}=_;if(!(b&&(w||!(_.caseSensitive?R:L??=R.toLowerCase()).startsWith(b)))){if(P){if(w)continue;let E=e.slice(h).join("/").slice(-P.length);if((_.caseSensitive?E:E.toLowerCase())!==P)continue}i.push({node:_,index:u,skipped:m,statics:g,dynamics:p,optionals:v,extract:S,rawParams:y})}}if(d.optional){let x=m|1<<d.depth+1;for(let _=d.optional.length-1;_>=0;_--){let b=d.optional[_];i.push({node:b,index:h,skipped:x,statics:g,dynamics:p,optionals:v,extract:S,rawParams:y})}if(!w)for(let _=d.optional.length-1;_>=0;_--){let b=d.optional[_],{prefix:P,suffix:E}=b;if(P||E){let C=b.caseSensitive?R:L??=R.toLowerCase();if(P&&!C.startsWith(P)||E&&!C.endsWith(E))continue}i.push({node:b,index:h+1,skipped:m,statics:g,dynamics:p,optionals:v+ce(u,h),extract:S,rawParams:y})}}if(!w&&d.dynamic&&R)for(let x=d.dynamic.length-1;x>=0;x--){let _=d.dynamic[x],{prefix:b,suffix:P}=_;if(b||P){let E=_.caseSensitive?R:L??=R.toLowerCase();if(b&&!E.startsWith(b)||P&&!E.endsWith(P))continue}i.push({node:_,index:h+1,skipped:m,statics:g,dynamics:p+ce(u,h),optionals:v,extract:S,rawParams:y})}if(!w&&d.staticInsensitive){let x=d.staticInsensitive.get(L??=R.toLowerCase());x&&i.push({node:x,index:h+1,skipped:m,statics:g+ce(u,h),dynamics:p,optionals:v,extract:S,rawParams:y})}if(!w&&d.static){let x=d.static.get(R);x&&i.push({node:x,index:h+1,skipped:m,statics:g+ce(u,h),dynamics:p,optionals:v,extract:S,rawParams:y})}if(d.pathless)for(let x=d.pathless.length-1;x>=0;x--){let _=d.pathless[x];i.push({node:_,index:h,skipped:m,statics:g,dynamics:p,optionals:v,extract:S,rawParams:y})}}if(c)return c;if(r&&l){let f=l.index;for(let h=0;h<l.index;h++)f+=e[h].length;let d=f===t.length?"/":t.slice(f);return l.rawParams??=Object.create(null),l.rawParams["**"]=decodeURIComponent(d),l}return null}a(Hr,"getNodeMatch");function ce(t,e){return 2**(t-e-1)}a(ce,"segmentScore");function jr(t,e){return t===2**(e-1)-1}a(jr,"isPerfectStaticMatch");function Zo(t,e,o){let r,n;try{[r,n]=an(t,e,o)}catch{return null}if(o.rawParams=r,o.extract=n,!o.node.parse)return!0;try{if(o.node.parse(r)===!1)return null}catch{}return!0}a(Zo,"validateParseParams");function le(t,e){return t?e.statics>t.statics||e.statics===t.statics&&(e.dynamics>t.dynamics||e.dynamics===t.dynamics&&(e.optionals>t.optionals||e.optionals===t.optionals&&((e.node.kind===gt)>(t.node.kind===gt)||e.node.kind===gt==(t.node.kind===gt)&&e.node.depth>t.node.depth))):!0}a(le,"isFrameMoreSpecific");function Pt(t){return qt(t.filter(e=>e!==void 0).join("/"))}a(Pt,"joinPaths");function qt(t){return t.replace(/\/{2,}/g,"/")}a(qt,"cleanPath");function fe(t){return t==="/"?t:t.replace(/^\/{1,}/,"")}a(fe,"trimPathLeft");function Y(t){let e=t.length;return e>1&&t[e-1]==="/"?t.replace(/\/{1,}$/,""):t}a(Y,"trimPathRight");function Gt(t){return Y(fe(t))}a(Gt,"trimPath");function vt(t,e){return t?.endsWith("/")&&t!=="/"&&t!==`${e}/`?t.slice(0,-1):t}a(vt,"removeTrailingSlash");function de(t,e,o){return vt(t,o)===vt(e,o)}a(de,"exactPathTest");function Ke({base:t,to:e,trailingSlash:o="never",cache:r}){let n=e===".",s=e.startsWith("/"),u;if(r){u=s?e:n?t:t+"\0"+e;let c=r.get(u);if(c)return c}let i;if(n)i=t.split("/");else if(s)i=e.split("/");else{for(i=t.split("/");i.length>1&&dt(i)==="";)i.pop();let c=e.split("/");for(let f=0,d=c.length;f<d;f++){let h=c[f];h===""?f?f===d-1&&i.push(h):i=[h]:h===".."?i.length>1?i.pop():i=[""]:h==="."||i.push(h)}}i.length>1&&(dt(i)===""?o==="never"&&i.pop():o==="always"&&i.push(""));let l=qt(i.join("/"))||"/";return u&&r&&r.set(u,l),l}a(Ke,"resolvePath");function ln(t){let e=new Map(t.map(n=>[encodeURIComponent(n),n])),o=Array.from(e.keys()).map(n=>n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),r=new RegExp(o,"g");return n=>n.replace(r,s=>e.get(s)??s)}a(ln,"compileDecodeCharMap");function Kt(t,e,o){let r=e[t];return typeof r!="string"?r:t==="_splat"?/^[a-zA-Z0-9\-._~!/]*$/.test(r)?r:r.split("/").map(n=>cn(n,o)).join("/"):cn(r,o)}a(Kt,"encodeParam");function he({path:t,params:e,decoder:o,...r}){let n=!1,s=Object.create(null);if(!t||t==="/")return{interpolatedPath:"/",usedParams:s,isMissingParams:n};if(!t.includes("$"))return{interpolatedPath:t,usedParams:s,isMissingParams:n};if(!1){let f=t.length,d=0,h="";for(;d<f;){for(;d<f&&t.charCodeAt(d)===47;)d++;if(d>=f)break;let m=d,g=t.indexOf("/",d);g===-1&&(g=f),d=g;let p=t.substring(m,g);if(p)if(p.charCodeAt(0)===36)if(p.length===1){let v=e._splat;if(s._splat=v,s["*"]=v,!v){n=!0;continue}let S=Kt("_splat",e,o);h+="/"+S}else{let v=p.substring(1);!n&&!(v in e)&&(n=!0),s[v]=e[v];let S=Kt(v,e,o)??"undefined";h+="/"+S}else h+="/"+p}return t.endsWith("/")&&(h+="/"),{usedParams:s,interpolatedPath:h||"/",isMissingParams:n}}let u=t.length,i=0,l,c="";for(;i<u;){let f=i;l=ze(t,f,l);let d=l[5];if(i=d+1,f===d)continue;let h=l[0];if(h===0){c+="/"+t.substring(f,d);continue}if(h===2){let m=e._splat;s._splat=m,s["*"]=m;let g=t.substring(f,l[1]),p=t.substring(l[4],d);if(!m){n=!0,(g||p)&&(c+="/"+g+p);continue}let v=Kt("_splat",e,o);c+="/"+g+v+p;continue}if(h===1){let m=t.substring(l[2],l[3]);!n&&!(m in e)&&(n=!0),s[m]=e[m];let g=t.substring(f,l[1]),p=t.substring(l[4],d),v=Kt(m,e,o)??"undefined";c+="/"+g+v+p;continue}if(h===3){let m=t.substring(l[2],l[3]),g=e[m];if(g==null)continue;s[m]=g;let p=t.substring(f,l[1]),v=t.substring(l[4],d),S=Kt(m,e,o)??"";c+="/"+p+S+v;continue}}return t.endsWith("/")&&(c+="/"),{usedParams:s,interpolatedPath:c||"/",isMissingParams:n}}a(he,"interpolatePath");function cn(t,e){let o=encodeURIComponent(t);return e?.(o)??o}a(cn,"encodePathParam");function K(t){return t?.isNotFound===!0}a(K,"isNotFound");function Kr(){try{return sessionStorage}catch{return}}a(Kr,"getSafeSessionStorage");var qr="tsr-scroll-restoration-v1_3",dn=Kr();function Gr(){try{return JSON.parse(dn?.getItem("tsr-scroll-restoration-v1_3")||"{}")}catch{return{}}}a(Gr,"createScrollRestorationCache");function Jr(){try{dn?.setItem(qr,JSON.stringify(At))}catch{}}a(Jr,"persistScrollRestorationCache");var At=Gr(),un="data-scroll-restoration-id",Yr=a(t=>t.state.__TSR_key||t.href,"defaultGetScrollRestorationKey");function Xr(t){let e=t.getAttribute(un);if(e)return`[${un}="${e}"]`;let o="",r=t,n;for(;n=r.parentNode;){let s=1,u=r;for(;u=u.previousElementSibling;)s++;let i=`${r.localName}:nth-child(${s})`;o=o?`${i} > ${o}`:i,r=n}return o}a(Xr,"getScrollRestorationSelector");var pe=!1,me="window";function qe(t){try{return typeof t=="function"?t():document.querySelector(t)}catch{}}a(qe,"getElement");function fn(t){let e=new Set;for(let o of t){if(o===me)continue;let r=qe(o);r&&e.add(r)}return e}a(fn,"getScrollToTopElements");function hn(t,e){let o=e??t.options.scrollRestoration,r=t._scroll;if(o&&(r.restoring=!0),!1)return;let n=t.options.getScrollRestorationKey||Yr,s=new Set,u=a(i=>{let l=At[i]||={};for(let c of s)c===document?l[me]={scrollX,scrollY}:c.isConnected&&(l[Xr(c)]={scrollX:c.scrollLeft,scrollY:c.scrollTop})},"snapshotCurrentScrollTargets");o&&!r.restoration&&(r.restoration=!0,pe=!1,history.scrollRestoration="manual",document.addEventListener("scroll",i=>{pe||s.add(i.target)},!0),t.subscribe("onBeforeLoad",i=>{i.fromLocation&&u(n(i.fromLocation)),s.clear()}),addEventListener("pagehide",()=>{u(n(t.stores.resolvedLocation.get()??t.stores.location.get())),Jr()})),!r.reset&&(r.reset=!0,t.subscribe("onRendered",i=>{let l=t.options.scrollRestorationBehavior,c=t.options.scrollToTopSelectors,f=r.next,d=r.hash,h;if(s.clear(),r.next=!0,r.hash=!1,typeof t.options.scrollRestoration=="function"&&!t.options.scrollRestoration({location:t.latestLocation}))return;let m=n(i.toLocation),g=i.fromLocation&&n(i.fromLocation);if(r.restoring&&g&&g!==m){let p=At[g];if(p){let v=At[m];for(let S in p){if(S===me){if(f)continue}else{let y=qe(S);if(!y||f&&c&&(h??=fn(c),h.has(y)))continue}v||(v=At[m]={}),v[S]??=p[S]}}}pe=!0;try{let p=i.toLocation.hash,v=i.toLocation.state.__hashScrollIntoViewOptions??!0,S=!1;if(f){!p&&c&&(h??=fn(c));let y=p&&v&&d,w=r.restoring?At[m]:void 0;if(w)for(let R in w){let{scrollX:L,scrollY:x}=w[R];if(R===me){if(y)continue;scrollTo({top:x,left:L,behavior:l}),S=!0}else{let _=qe(R);_&&(_.scrollLeft=L,_.scrollTop=x,h?.delete(_))}}if(!p){let R={top:0,left:0,behavior:l};if(S||scrollTo(R),h)for(let L of h)L.scrollTo(R)}}!S&&p&&v&&document.getElementById(p)?.scrollIntoView(v)}finally{pe=!1}}))}a(hn,"setupScrollRestoration");function pn(t,e=String){let o=new URLSearchParams;for(let r in t){let n=t[r];n!==void 0&&o.set(r,e(n))}return o.toString()}a(pn,"encode");function Ge(t){return t?t==="false"?!1:t==="true"?!0:+t*0===0&&+t+""===t?+t:t:""}a(Ge,"toValue");function mn(t){let e=new URLSearchParams(t),o=Object.create(null);for(let[r,n]of e.entries()){let s=o[r];s==null?o[r]=Ge(n):Array.isArray(s)?s.push(Ge(n)):o[r]=[s,Ge(n)]}return o}a(mn,"decode");var Zr=/^(?:\s|["[{\d-]|fa|nu|tr)/,gn=Qr(JSON.parse),vn=ts(JSON.stringify,JSON.parse);function Qr(t){return e=>{e[0]==="?"&&(e=e.substring(1));let o=mn(e);for(let r in o){let n=o[r];if(typeof n=="string")try{o[r]=t(n)}catch{}}return o}}a(Qr,"parseSearchWith");function ts(t,e){let o=e===JSON.parse;function r(n){if(n&&typeof n=="object")try{return t(n)}catch{}else if(e&&typeof n=="string"){if(o&&!Zr.test(n))return n;try{return e(n),t(n)}catch{}}return n}return a(r,"stringifyValue"),n=>{let s=pn(n,r);return s?`?${s}`:""}}a(ts,"stringifySearchWith");var tt="__root__";function yn(t){if(t.statusCode=t.statusCode||t.code||307,!t._builtLocation&&!t.reloadDocument&&typeof t.href=="string")try{new URL(t.href),t.reloadDocument=!0}catch{}let e=new Headers(t.headers);t.href&&e.get("Location")===null&&e.set("Location",t.href);let o=new Response(null,{status:t.statusCode,headers:e});if(o.options=t,t.throw)throw o;return o}a(yn,"redirect");function Jt(t){return t instanceof Response&&!!t.options}a(Jt,"isRedirect");function _n(t){return{input:a(({url:e})=>{for(let o of t)e=ge(o,e);return e},"input"),output:a(({url:e})=>{for(let o=t.length-1;o>=0;o--)e=Je(t[o],e);return e},"output")}}a(_n,"composeRewrites");function Sn(t){let e=Gt(t.basepath),o=`/${e}`,r=t.caseSensitive?o:o.toLowerCase(),n=`${r}/`;return{input:a(({url:s})=>{let u=t.caseSensitive?s.pathname:s.pathname.toLowerCase();return u===r?s.pathname="/":u.startsWith(n)&&(s.pathname=s.pathname.slice(o.length)),s},"input"),output:a(({url:s})=>(s.pathname=Pt(["/",e,s.pathname]),s),"output")}}a(Sn,"rewriteBasepath");function ge(t,e){let o=t?.input?.({url:e});if(o){if(typeof o=="string")return new URL(o);if(o instanceof URL)return o}return e}a(ge,"executeRewriteInput");function Je(t,e){let o=t?.output?.({url:e});if(o){if(typeof o=="string")return new URL(o);if(o instanceof URL)return o}return e}a(Je,"executeRewriteOutput");function Ye(t){let e=t;return{get(){return e},set(o){e=J(o,e)}}}a(Ye,"createNonReactiveMutableStore");function Xe(t){return{get(){return t()}}}a(Xe,"createNonReactiveReadonlyStore");function Rn(t,e){let{createMutableStore:o,createReadonlyStore:r,batch:n}=e,s=new Map,u=o("idle"),i=o(t),l=o(void 0),c=o([]),f=r(()=>c.get().map(p=>s.get(p).get())),d=r(()=>({status:u.get(),isLoading:u.get()==="pending",matches:f.get(),location:i.get(),resolvedLocation:l.get()}));function h(p){let v=s.get(p);return v||(v=o(void 0),s.set(p,v)),v}a(h,"getMatchStore");let m={status:u,location:i,resolvedLocation:l,ids:c,matches:f,byRoute:s,__store:d,getMatchStore:h,setMatches:g};function g(p){let v=c.get(),S=p.map(y=>y.routeId);n(()=>{Xo(v,S)||c.set(S);for(let y of v)S.includes(y)||s.get(y).set(()=>{});for(let y of p){let w=h(y.routeId);w.get()!==y&&w.set(y)}})}return a(g,"setMatches"),m}a(Rn,"createRouterStores");var yt="__TSR_index",wn="popstate",xn="beforeunload";function Qe(t){let e=t.getLocation(),o=new Set,r=a(u=>{e=t.getLocation(),o.forEach(i=>i({location:e,action:u}))},"notify"),n=a(u=>{t.notifyOnIndexChange??!0?r(u):e=t.getLocation()},"handleIndexChange"),s=a(async({task:u,navigateOpts:i,...l})=>{if(i?.ignoreBlocker??!1){u();return}let c=t.getBlockers?.()??[],f=l.type==="PUSH"||l.type==="REPLACE";if(typeof document<"u"&&c.length&&f)for(let d of c){let h=$t(l.path,l.state);if(await d.blockerFn({currentLocation:e,nextLocation:h,action:l.type})){t.onBlocked?.();return}}u()},"tryNavigation");return{get location(){return e},get length(){return t.getLength()},subscribers:o,subscribe:a(u=>(o.add(u),()=>{o.delete(u)}),"subscribe"),push:a((u,i,l)=>{let c=e.state[yt];i=Ze(c+1,i),s({task:a(()=>{t.pushState(u,i),r({type:"PUSH"})},"task"),navigateOpts:l,type:"PUSH",path:u,state:i})},"push"),replace:a((u,i,l)=>{let c=e.state[yt];i=Ze(c,i),s({task:a(()=>{t.replaceState(u,i),r({type:"REPLACE"})},"task"),navigateOpts:l,type:"REPLACE",path:u,state:i})},"replace"),go:a((u,i)=>{s({task:a(()=>{t.go(u),n({type:"GO",index:u})},"task"),navigateOpts:i,type:"GO"})},"go"),back:a(u=>{s({task:a(()=>{t.back(u?.ignoreBlocker??!1),n({type:"BACK"})},"task"),navigateOpts:u,type:"BACK"})},"back"),forward:a(u=>{s({task:a(()=>{t.forward(u?.ignoreBlocker??!1),n({type:"FORWARD"})},"task"),navigateOpts:u,type:"FORWARD"})},"forward"),canGoBack:a(()=>e.state[yt]!==0,"canGoBack"),createHref:a(u=>t.createHref(u),"createHref"),block:a(u=>{if(!t.setBlockers)return()=>{};let i=t.getBlockers?.()??[];return t.setBlockers([...i,u]),()=>{let l=t.getBlockers?.()??[];t.setBlockers?.(l.filter(c=>c!==u))}},"block"),flush:a(()=>t.flush?.(),"flush"),destroy:a(()=>t.destroy?.(),"destroy"),notify:r}}a(Qe,"createHistory");function Ze(t,e){e||(e={});let o=eo();return{...e,key:o,__TSR_key:o,[yt]:t}}a(Ze,"assignKeyAndIndex");function to(t){let e=t?.window??(typeof document<"u"?window:void 0),o=e.history.pushState,r=e.history.replaceState,n=[],s=a(()=>n,"_getBlockers"),u=a(_=>n=_,"_setBlockers"),i=t?.createHref??(_=>_),l=t?.parseLocation??(()=>$t(`${e.location.pathname}${e.location.search}${e.location.hash}`,e.history.state));if(!e.history.state?.__TSR_key&&!e.history.state?.key){let _=eo();e.history.replaceState({[yt]:0,key:_,__TSR_key:_},"")}let c=l(),f,d=!1,h=!1,m=!1,g=!1,p=a(()=>c,"getLocation"),v,S=a(()=>{v&&(x._ignoreSubscribers=!0,(v[2]?e.history.pushState:e.history.replaceState)(v[1],"",v[0]),x._ignoreSubscribers=!1,v=void 0,f=void 0)},"flush"),y=a((_,b,P)=>{let E=i(b),C=!!v;C||(f=c),c=$t(b,P),v=[E,P,v?.[2]||_],C||queueMicrotask(()=>S())},"queueHistoryAction"),w=a(_=>{c=l(),x.notify({type:_})},"onPushPop"),R=a(async()=>{if(h){h=!1;return}let _=l(),b=_.state[yt]-c.state[yt],P=b===1,E=b===-1,C=!P&&!E||d;d=!1;let T=C?"GO":E?"BACK":"FORWARD",D=C?{type:"GO",index:b}:{type:E?"BACK":"FORWARD"};if(m)m=!1;else{let wt=s();if(typeof document<"u"&&wt.length){for(let rt of wt)if(await rt.blockerFn({currentLocation:c,nextLocation:_,action:T})){h=!0,e.history.go(1),x.notify(D);return}}}c=l(),x.notify(D)},"onPushPopEvent"),L=a(_=>{if(g){g=!1;return}let b=!1,P=s();if(typeof document<"u"&&P.length)for(let E of P){let C=E.enableBeforeUnload??!0;if(C===!0){b=!0;break}if(typeof C=="function"&&C()===!0){b=!0;break}}if(b)return _.preventDefault(),_.returnValue=""},"onBeforeUnload"),x=Qe({getLocation:p,getLength:a(()=>e.history.length,"getLength"),pushState:a((_,b)=>y(!0,_,b),"pushState"),replaceState:a((_,b)=>y(!1,_,b),"replaceState"),back:a(_=>(_&&(m=!0),g=!0,e.history.back()),"back"),forward:a(_=>{_&&(m=!0),g=!0,e.history.forward()},"forward"),go:a(_=>{d=!0,e.history.go(_)},"go"),createHref:a(_=>i(_),"createHref"),flush:S,destroy:a(()=>{e.history.pushState=o,e.history.replaceState=r,e.removeEventListener(xn,L,{capture:!0}),e.removeEventListener(wn,R)},"destroy"),onBlocked:a(()=>{f&&c!==f&&(c=f)},"onBlocked"),getBlockers:s,setBlockers:u,notifyOnIndexChange:!1});return e.addEventListener(xn,L,{capture:!0}),e.addEventListener(wn,R),e.history.pushState=function(..._){let b=o.apply(e.history,_);return x._ignoreSubscribers||w("PUSH"),b},e.history.replaceState=function(..._){let b=r.apply(e.history,_);return x._ignoreSubscribers||w("REPLACE"),b},x}a(to,"createBrowserHistory");function es(t={initialEntries:["/"]}){let e=t.initialEntries,o=t.initialIndex?Math.min(Math.max(t.initialIndex,0),e.length-1):e.length-1,r=e.map((l,c)=>Ze(c,void 0)),n=a(()=>$t(e[o],r[o]),"getLocation"),s=[];return Qe({getLocation:n,getLength:a(()=>e.length,"getLength"),pushState:a((l,c)=>{o<e.length-1&&(e.splice(o+1),r.splice(o+1)),r.push(c),e.push(l),o=Math.max(e.length-1,0)},"pushState"),replaceState:a((l,c)=>{r[o]=c,e[o]=l},"replaceState"),back:a(()=>{o=Math.max(o-1,0)},"back"),forward:a(()=>{o=Math.min(o+1,e.length-1)},"forward"),go:a(l=>{o=Math.min(Math.max(o+l,0),e.length-1)},"go"),createHref:a(l=>l,"createHref"),getBlockers:a(()=>s,"_getBlockers"),setBlockers:a(l=>s=l,"_setBlockers")})}a(es,"createMemoryHistory");function os(t){let e=t.replace(/[\x00-\x1f\x7f]/g,"");return e.startsWith("//")&&(e="/"+e.replace(/^\/+/,"")),e}a(os,"sanitizePath");function $t(t,e){let o=os(t),r=o.indexOf("#"),n=o.indexOf("?"),s=eo();return{href:o,pathname:o.substring(0,r>0?n>0?Math.min(r,n):r:n>0?n:o.length),hash:r>-1?o.substring(r):"",search:n>-1?o.slice(n,r===-1?void 0:r):"",state:e||{[yt]:0,key:s,__TSR_key:s}}}a($t,"parseHref");function eo(){return(Math.random()+1).toString(36).substring(7)}a(eo,"createRandomKey");function bn(t){return t.options.loader||t.options.beforeLoad||t.lazyFn||t.options.component?.preload||t.options.pendingComponent?.preload}a(bn,"routeNeedsLoad");function Ct(t,e){return{fromLocation:e,toLocation:t,pathChanged:e?.pathname!==t.pathname,hrefChanged:e?.href!==t.href,hashChanged:e?.hash!==t.hash}}a(Ct,"getLocationChangeInfo");function Pn({key:t,__TSR_key:e,__TSR_index:o,__hashScrollIntoViewOptions:r,...n}){return n}a(Pn,"_getUserHistoryState");function En(t,e,o,r){for(let n of e){if(r?.()===!1)return;o.some(s=>s.routeId===n.routeId)||t.routesById[n.routeId].options.onLeave?.(n)}for(let n of o){if(r?.()===!1)return;t.routesById[n.routeId].options[e.some(s=>s.routeId===n.routeId)?"onStay":"onEnter"]?.(n)}}a(En,"runRouteLifecycle");var oo=class{static{a(this,"RouterCore")}constructor(t,e){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this._scroll={next:!0},this.subscribers=new Set,this._cache=new Map,this._committed=[],this.routeBranchCache=new WeakMap,this.lightweightCache=new WeakMap,this.startTransition=async o=>(o(),!1),this.update=o=>{let r=this.options,n=this.basepath??r?.basepath??"/",s=this.basepath===void 0,u=r?.rewrite;if(this.options={...r,...o},this.isServer=this.options.isServer??!1??typeof document>"u",this.protocolAllowlist=new Set(this.options.protocolAllowlist),this.options.pathParamsAllowedCharacters&&(this.pathParamsDecoder=ln(this.options.pathParamsAllowedCharacters)),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.options.history?this.history=this.options.history:this.history=to()),this.origin=this.options.origin,this.origin||(!!1&&window?.origin&&window.origin!=="null"?this.origin=window.origin:this.origin="http://localhost"),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let c;if(!1){let f=globalThis.__TSR_CACHE__;this.resolvePathCache=f.resolvePathCache,c=f.processRouteTreeResult}else this.resolvePathCache=Dt(1e3),c=this.buildRouteTree(),!1;this.setRoutes(c)}if(!this.stores&&this.latestLocation){let c=this.getStoreConfig(this);this.batch=c.batch,this.stores=Rn(this.latestLocation,c),hn(this)}let i=this.options.basepath??"/",l=this.options.rewrite;if(s||n!==i||u!==l){this.basepath=i;let c=[],f=Gt(i);f&&f!=="/"&&c.push(Sn({basepath:i})),l&&c.push(l),this.rewrite=c.length===0?void 0:c.length===1?c[0]:_n(c),this.history&&this.updateLatestLocation(),this.stores&&this.stores.location.set(this.latestLocation)}},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{let o=sn(this.routeTree,this.options.caseSensitive,(r,n)=>{r.init({originalIndex:n})});return this.options.routeMasks&&en(this.options.routeMasks,o.processedTree),o},this.subscribe=(o,r)=>{let n={eventType:o,fn:r};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=o=>{for(let r of this.subscribers)if(r.eventType===o.type)try{r.fn(o)}catch(n){console.error(n)}},this.parseLocation=(o,r)=>{let n=a(({pathname:l,search:c,hash:f,href:d,state:h})=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(l)){let S=this.options.parseSearch(c),y=this.options.stringifySearch(S);return{href:l+y+f,publicHref:l+y+f,pathname:Nt(l).path,external:!1,searchStr:y,search:pt(r?.search,S),hash:Nt(f.slice(1)).path,state:st(r?.state,h)}}let m=new URL(d,this.origin),g=ge(this.rewrite,m),p=this.options.parseSearch(g.search),v=this.options.stringifySearch(p);return g.search=v,{href:g.href.replace(g.origin,""),publicHref:d,pathname:Nt(g.pathname).path,external:!!this.rewrite&&g.origin!==this.origin,searchStr:v,search:pt(r?.search,p),hash:Nt(g.hash.slice(1)).path,state:st(r?.state,h)}},"parse"),s=n(o),{__tempLocation:u,__tempKey:i}=s.state;if(u&&(!i||i===this.tempLocationKey)){let l=n(u);return l.state.key=s.state.key,l.state.__TSR_key=s.state.__TSR_key,delete l.state.__tempLocation,{...l,maskedLocation:s}}return s},this.resolvePathWithBase=(o,r)=>Ke({base:o,to:r.includes("//")?qt(r):r,trailingSlash:this.options.trailingSlash,cache:this.resolvePathCache}),this.matchRoutes=(o,r,n)=>typeof o=="string"?this.matchRoutesInternal({pathname:o,search:r},n):this.matchRoutesInternal(o,r),this.getMatchedRoutes=o=>{let r=Object.create(null),n=rn(Y(o),this.processedTree,!0);return n&&Object.assign(r,n.rawParams),[n?.branch||[this.routesById.__root__],r,n?.route]},this.buildLocation=o=>{let r=a((s={})=>{let u=s._fromLocation||this._pendingLocation||this.latestLocation,i=this.matchRoutesLightweight(u);s.from;let l=s.unsafeRelative==="path"?u.pathname:s.from??i[1],c=s.to?`${s.to}`:void 0,f=i[2],d=Object.assign(Object.create(null),i[3]),h=c?.charCodeAt(0)===47?"/":this.resolvePathWithBase(l,"."),m=c?this.resolvePathWithBase(h,c):h,g=Cn(s.params,d),p=this.routesByPath[Y(m)],v;if(p)v=this.getRouteBranch(p);else if(m.includes("$"))v=[];else{let[C,T,D]=this.getMatchedRoutes(m);v=C,this.options.notFoundRoute&&(!D||D.path!=="/"&&T["**"])&&(v=[...v,this.options.notFoundRoute])}if(v.length&&ht(g))for(let C of v){let T=C.options.params?.stringify??C.options.stringifyParams;if(T)try{Object.assign(g,T(g))}catch{}}let S=o.leaveParams?m:Nt(he({path:m,params:g,decoder:this.pathParamsDecoder,server:this.isServer}).interpolatedPath).path,y=f;if(o._includeValidateSearch&&this.options.search?.strict){let C={};v.forEach(T=>{if(T.options.validateSearch)try{Object.assign(C,ve(T.options.validateSearch,{...C,...y}))}catch{}}),y=C}y=ns(y,s,v,o._includeValidateSearch),y=pt(f,y);let w=this.options.stringifySearch(y),R=s.hash===!0?u.hash:s.hash?J(s.hash,u.hash):void 0,L=R?`#${R}`:"",x=s.state===!0?u.state:s.state?J(s.state,u.state):{};x=st(u.state,x);let _=`${S}${w}${L}`,b,P,E=!1;if(this.rewrite){let C=new URL(_,this.origin),T=Je(this.rewrite,C);b=C.href.replace(C.origin,""),T.origin!==this.origin?(P=T.href,E=!0):P=T.pathname+T.search+T.hash}else b=Yo(_),P=b;return{publicHref:P,href:b,pathname:S,search:y,searchStr:w,state:x,hash:R??"",external:E,unmaskOnReload:s.unmaskOnReload}},"build"),n=a((s={},u)=>{let i=r(s),l=u?r(u):void 0;if(!l){let c=Object.create(null);if(this.options.routeMasks){let f=on(i.pathname,this.processedTree);if(f){Object.assign(c,f.rawParams);let{from:d,params:h,...m}=f.route,g=Cn(h,c);u={from:o.from,...m,params:g},l=r(u)}}}return l&&(i.maskedLocation=l),i},"buildWithMatches");return o.mask?n(o,{from:o.from,...o.mask}):n(o)},this.commitLocation=async({viewTransition:o,ignoreBlocker:r,...n})=>{let s,u=Y(this.latestLocation.href)===Y(n.href)&&Q(Pn(n.state),Pn(this.latestLocation.state)),i=this._commitPromise,l,c=new Promise(f=>{l=f});if(c.resolve=()=>{l(),i?.resolve()},this._commitPromise=c,u)this.load();else{let{maskedLocation:f,hashScrollIntoView:d,...h}=n;f&&(h={...f,state:{...f.state,__tempKey:void 0,__tempLocation:{...h,search:h.searchStr,state:{...h.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(h.unmaskOnReload??this.options.unmaskOnReload??!1)&&(h.state.__tempKey=this.tempLocationKey)),h.state.__hashScrollIntoViewOptions=d??this.options.defaultHashScrollIntoView??!0,this.shouldViewTransition=o,s=n.replace?"REPLACE":"PUSH",this.history[s==="REPLACE"?"replace":"push"](h.publicHref,h.state,{ignoreBlocker:r}),this.history.subscribers.size||this.load({action:{type:s}})}return this._scroll.next=n.resetScroll??!0,this._commitPromise},this.buildAndCommitLocation=({replace:o,resetScroll:r,hashScrollIntoView:n,viewTransition:s,ignoreBlocker:u,_redirects:i,href:l,...c}={})=>{if(l){let h=this.history.location.state.__TSR_index,m=$t(l,{__TSR_index:o?h:h+1}),g=new URL(m.pathname,this.origin);c.to=ge(this.rewrite,g).pathname,c.search=this.options.parseSearch(m.search),c.hash=m.hash.slice(1)}let f=this.buildLocation({...c,_includeValidateSearch:!0});i&&(f._redirects=i),this._pendingLocation=f;let d=this.commitLocation({...f,viewTransition:s,replace:o,resetScroll:r,hashScrollIntoView:n,ignoreBlocker:u});return queueMicrotask(()=>{this._pendingLocation===f&&(this._pendingLocation=void 0)}),d},this.navigate=async({to:o,reloadDocument:r,href:n,publicHref:s,...u})=>{let i=!1;if(n)try{new URL(`${n}`),i=!0}catch{}if(i&&!r&&(r=!0),r){if(o!==void 0||!n){let c=this.buildLocation({to:o,...u});n=n??c.publicHref,s=s??c.publicHref}let l=!i&&s?s:n;if(it(l,this.protocolAllowlist))return;if(!u.ignoreBlocker){let c=this.history.getBlockers?.()??[];for(let f of c)if(f?.blockerFn&&await f.blockerFn({currentLocation:this.latestLocation,nextLocation:this.latestLocation,action:"PUSH"}))return}u.replace?window.location.replace(l):window.location.href=l;return}return this.buildAndCommitLocation({...u,href:n,to:o,_isNavigate:!0})},this.load=async o=>{if(!1)return(void 0)(this,o);this.updateLatestLocation(),o?.action&&(this._scroll.hash=o.action.type==="PUSH"||o.action.type==="REPLACE"),await In(this,o)},this.startViewTransition=o=>{let r=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,r&&!!1&&typeof document.startViewTransition=="function"){let n;if(typeof r=="object"&&window.CSS?.supports?.("selector(:active-view-transition-type(a))")){let s=this.latestLocation,u=this.stores.resolvedLocation.get(),i=typeof r.types=="function"?r.types(Ct(s,u)):r.types;if(i===!1)return o();n={update:o,types:i}}else n=o;return document.startViewTransition(n).updateCallbackDone}return o()},this.invalidate=o=>{let r=this._committed,n=o?.filter,s=this._preloads,u=new Set([...r,...this._cache.values(),...[...s?.values()??[]].flat(),...this._tx?.[3]??[]].filter(c=>!n||n(c)).map(c=>c.id)),i=[];for(let[c,f]of s??[])f.some(d=>u.has(d.id))&&(s.delete(c),i.push(c));let l=a(c=>{if(u.has(c.id)){let f=this.routesById[c.routeId],d={...c,invalid:!0,...(o?.forcePending||c.status==="error"||c.status==="notFound")&&bn(f)?{status:"pending",error:void 0}:void 0};return c._flight=void 0,d}return c},"invalidate");this._committed=r.map(l);for(let[c,f]of this._cache)u.has(c)&&(f.invalid=!0,o?.forcePending&&(f.status="pending"));for(let c of u)this._flights?.delete(c);for(let c of i)c.abort();return this.shouldViewTransition=!1,this.load({sync:o?.sync})},this.resolveRedirect=o=>{let r=o.headers.get("Location");if(!o.options.href||o.options._builtLocation){let n=(o.options._builtLocation??this.buildLocation(o.options)).publicHref||"/";o.options.href=n,o.headers.set("Location",n)}else if(r)try{let n=new URL(r);if(this.origin&&n.origin===this.origin){let s=n.pathname+n.search+n.hash;o.options.href=s,o.headers.set("Location",s)}}catch{}if(o.options.href&&!o.options._builtLocation&&it(o.options.href,this.protocolAllowlist))throw new Error("Redirect blocked: unsafe protocol");return o.headers.get("Location")||o.headers.set("Location",o.options.href),o},this.clearCache=o=>{let r=this._cache,n=this._preloads,s=o?.filter,u=[],i=[];for(let[c,f]of r)(!s||s(f))&&(i.push(c),u.push(f));let l=[];for(let[c,f]of n??[])(!s||f.some(s))&&(l.push(c),u.push(...f));for(let c of i)r.delete(c);for(let c of l)n.delete(c);for(let c of u){let f=c._flight;c._flight=void 0,f&&!--f[2]&&(this._flights?.get(c.id)===f&&this._flights.delete(c.id),l.push(f[1]))}for(let c of l)c.abort()},this.loadRouteChunk=Lt,this.preloadRoute=o=>no(this,o),this.matchRoute=(o,r)=>{let n={...o,to:o.to?this.resolvePathWithBase(o.from||"",o.to):void 0,params:o.params||{},leaveParams:!0},s=this.buildLocation(n),u=this.stores.status.get()==="pending";if(r?.pending&&!u)return!1;let i=r?.pending??!u?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),l=nn(s.pathname,r?.caseSensitive??!1,r?.fuzzy??!1,i.pathname,this.processedTree);return!l||o.params&&!Q(l.rawParams,o.params,{partial:!0})?!1:r?.includeSearch??!0?Q(i.search,s.search,{partial:!0})?l.rawParams:!1:l.rawParams},this.getStoreConfig=e,this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...t,caseSensitive:t.caseSensitive??!1,notFoundMode:t.notFoundMode??"fuzzy",stringifySearch:t.stringifySearch??vn,parseSearch:t.parseSearch??gn,protocolAllowlist:t.protocolAllowlist??We}),self.__TSR_ROUTER__=this}isShell(){return!!this.options.isShell}get state(){return this.stores.__store.get()}setRoutes({routesById:t,routesByPath:e,processedTree:o}){this.routesById=t,this.routesByPath=e,this.processedTree=o;let r=this.options.notFoundRoute;r&&(r.init({originalIndex:99999999999}),this.routesById[r.id]=r)}getRouteBranch(t){let e=this.routeBranchCache.get(t);return e||(e=je(t),this.routeBranchCache.set(t,e)),e}matchRoutesInternal(t,e){let[o,r,n]=this.getMatchedRoutes(t.pathname),s=o,u=!1;(n?n.path!=="/"&&r["**"]:Y(t.pathname))&&(this.options.notFoundRoute?s=[...s,this.options.notFoundRoute]:u=!0);let i=u?rs(this.options.notFoundMode,s):void 0,l=new Array(s.length),c=this._committed,f=a((h,m)=>{let g=c[m];return g?.routeId===h.id?g:h===this.options.notFoundRoute?c.find(p=>p.routeId===h.id):void 0},"previousAt"),d;for(let h=0;h<s.length;h++){let m=s[h],g=l[h-1],p,v,S;{let D=g?.search??t.search,wt=g?._strictSearch??void 0;try{let rt=ve(m.options.validateSearch,{...D})??void 0;p={...D,...rt},v={...wt,...rt}}catch(rt){let re=rt;if(rt instanceof Yt||(re=new Yt(rt.message,{cause:rt})),e?.throwOnError)throw re;p=D,v={},S=re}}let y="",w="";try{y=m.options.loaderDeps?.({search:p})??"",w=y&&JSON.stringify(y)||""}catch(D){if(e?.throwOnError)throw D;S??=D}let{interpolatedPath:R,usedParams:L}=he({path:m.fullPath,params:r,decoder:this.pathParamsDecoder,server:this.isServer}),x=m.id+R+w,_=f(m,h),b=this._cache.get(x)??(_?.id===x?_:void 0);d=b?._strictParams??Object.assign(L,d);let P;if(!b)try{Ln(m,d)}catch(D){if(K(D)||Jt(D)?P=D:P=new kn(D.message,{cause:D}),e?.throwOnError)throw P}let E=_?"stay":"enter",C;if(b)C={...b,cause:E,search:_?pt(_.search,p):pt(b.search,p),_strictSearch:v,searchError:S};else{let D=bn(m)?"pending":"success";C={id:x,ssr:m.options.ssr,index:h,routeId:m.id,params:_?.params??d,_strictParams:d,pathname:R,updatedAt:Date.now(),search:_?pt(_.search,p):p,_strictSearch:v,searchError:S,status:D,isFetching:!1,error:void 0,paramsError:P,context:{},abortController:e?._controller??new AbortController,cause:E,loaderDeps:_?st(_.loaderDeps,y):y,invalid:!1,preload:!1,staticData:m.options.staticData||{},fullPath:m.fullPath}}let T=i===m.id;C._notFound&&!T&&(C.error=void 0),C._notFound=T,l[h]=C}for(let h=0;h<l.length;h++){let m=l[h];m.params=m.cause==="stay"?pt(m.params,d):d,e?._controller&&(m.context={})}return l}matchRoutesLightweight(t){let e=dt(this.stores.ids.get()),o=e?this.stores.byRoute.get(e).get():void 0,r=o?.id,n=this.lightweightCache.get(t);if(n&&n[0]===r)return n[1];let[s,u]=this.getMatchedRoutes(t.pathname),i=dt(s),l={...t.search};for(let h of s)try{Object.assign(l,ve(h.options.validateSearch,l))}catch{}let c=o&&o.routeId===i.id&&o.pathname===t.pathname,f;if(c)f=o.params;else{let h=Object.assign(Object.create(null),u);for(let m of s)try{Ln(m,h)}catch{}f=h}let d=[s,i.fullPath,l,f];return this.lightweightCache.set(t,[r,d]),d}},Yt=class extends Error{static{a(this,"SearchParamError")}},kn=class extends Error{static{a(this,"PathParamError")}};function ve(t,e){if(t==null)return{};if("~standard"in t){let o=t["~standard"].validate(e);if(o instanceof Promise)throw new Yt("Async validation not supported");if(o.issues)throw new Yt(JSON.stringify(o.issues,void 0,2),{cause:o});return o.value}return"parse"in t?t.parse(e):typeof t=="function"?t(e):{}}a(ve,"validateSearch");function ns(t,e,o,r){let n=[];for(let u of o){let i=u.options;if("search"in i)i.search?.middlewares&&n.push(...i.search.middlewares);else if(i.preSearchFilters||i.postSearchFilters){let c=a(({search:f,next:d})=>{let h=d(i.preSearchFilters?i.preSearchFilters.reduce((m,g)=>g(m),f):f);return i.postSearchFilters?i.postSearchFilters.reduce((m,g)=>g(m),h):h},"legacyMiddleware");n.push(c)}let l=i.validateSearch;if(l){let c=a(({search:f,next:d,meta:h})=>{let m=d(f);if(r)try{let g=ve(l,m);if(h&&g)for(let p in g)p in m||(h.defaulted||=new Map).set(p,g[p]);return{...m,...g}}catch{}return m},"validate");n.push(c)}}let s=a((u,i,l)=>{if(u>=n.length){if(!e.search)return{};if(e.search===!0)return i;let f=J(e.search,i);return l&&(l.explicit=f),f}let c=a((f,d)=>{if(d){let h=l||{};return{search:s(u+1,f,h),meta:h}}return s(u+1,f,l)},"next");return n[u]({search:i,next:c,meta:l})},"applyNext");return s(0,t)}a(ns,"applySearchMiddleware");function rs(t,e){if(t!=="root"){let o;for(let r=e.length-1;r>=0;r--){let n=e[r];if(n.options.notFoundComponent)return n.id;o||=n.children&&n.id}if(o)return o}return tt}a(rs,"findGlobalNotFoundRouteId");function Cn(t,e){return t===!1||t===null?Object.create(null):(t??!0)===!0?e:Object.assign(e,J(t,e))}a(Cn,"resolveNextParams");function Ln(t,e){let o=t.options.params?.parse??t.options.parseParams;o&&Object.assign(e,o(e))}a(Ln,"extractStrictParams");function ro(t,e){return t.options[e]?.preload?.()}a(ro,"preloadComponent");function ss(t,e){let o=ro(t,"component"),r=ro(t,"pendingComponent"),n=e&&r?r.then(e):r;return e&&!r&&e(),o&&n?Promise.all([o,n]).then(()=>{}):o??n}a(ss,"loadComponents");function Lt(t,e,o){let r=a(()=>e===!1?void 0:e?ro(t,e):ss(t,o),"afterLazy"),n=t._lazy;if(n)return n===!0?r():n.then(r);if(!t.lazyFn)return r();let s=t.lazyFn().then(u=>{{let{id:i,...l}=u.options;Object.assign(t.options,l),t._lazy=!0}},u=>{throw t._lazy=void 0,u});return t._lazy=s,s.then(r)}a(Lt,"loadRouteChunk");function Fn(t){let e=t.findIndex(o=>o.status!=="success"||o._notFound)+1;return e&&e<t.length?t.slice(0,e):t}a(Fn,"_getRenderedMatches");var at=0,_t=1,_e=2,et=3,kt=4;function Zt(t){return typeof t[0]=="number"}a(Zt,"isControl");function St(t,e){return e.aborted?Promise.race([Promise.reject(e),t]):new Promise((o,r)=>{let n=a(()=>r(e),"abort");e.addEventListener("abort",n,{once:!0}),Promise.resolve(t).then(o,r).finally(()=>e.removeEventListener("abort",n))})}a(St,"waitFor");function It(t,e){return t.routesById[e.routeId]}a(It,"getRoute");function Qt(t,e,o){return Jt(t)?[et,t]:K(t)?(t.routeId||=o,[_e,t]):(e&&typeof t?.then=="function"&&(t=new Error("A Promise was thrown",{cause:t})),e?[_t,t]:[at,t])}a(Qt,"normalize");function An(t,e){let o=Qt(e,!0,t.id);if(o[0]!==_t)return o;try{t.options.onError?.(o[1])}catch(r){o=Qt(r,!0,t.id)}return o}a(An,"normalizeError");function Xt(t,e,o){return o[0].signal.aborted||!o[2]()?(o[0].abort(),[kt]):An(t,e)}a(Xt,"normalizeLaneError");function $n(t,e){return o=>t.navigate({...o,_fromLocation:e})}a($n,"navigateFrom");async function is(t,e,o,r,n,s){let[u,i]=e,l=o[0].signal,c=!!o[4];for(let f=o[7]??0;f<r;f++){let d=i[f],h=It(t,d);d.abortController=o[0];let m=i[f-1]?.context??t.options.context??{},g={params:d.params,location:u,navigate:$n(t,u),buildLocation:t.buildLocation,cause:c?"preload":d.cause,abortController:o[0],preload:c,matches:i,routeId:h.id},p=m;try{let R=d._ctx;!R&&h.options.context&&(R=d._ctx=h.options.context({...g,deps:d.loaderDeps,context:m})||{}),p={...m,...R},d.context=p}catch(R){return ut(t,d),[f,Xt(h,R,o)]}if(l.aborted||!o[2]())return o[0].abort(),[f,[kt]];let v=d.paramsError??d.searchError;if(v!==void 0)return ut(t,d),[f,Xt(h,v,o)];let S=h.options.beforeLoad;if(!S)continue;let y={...g,search:d.search,context:p,...t.options.additionalContext},w=d.status;w==="success"&&f>=s&&(d.status="pending"),o[8]?.();try{te(t,d,"beforeLoad",o[0]);let R=await St(S(y),l);if(!o[2]())return o[0].abort(),[f,[kt]];let L=Qt(R,!1,h.id);if(L[0]!==at)return ut(t,d),[f,L];d.context={...p,...R}}catch(R){return ut(t,d),[f,Xt(h,R,o)]}finally{w==="success"&&d.status==="pending"&&(d.status="success"),te(t,d,!1,o[0])}}n()}a(is,"contextualize");function ao(t,e,o){if(!(!o||--o[2])){if(t._flights?.get(e.id)===o){let r=t._tx;if(r&&!r[0].signal.aborted&&!r[3].includes(e)&&r[3].some(n=>n.id===e.id)&&r[3].some(n=>n.isFetching==="beforeLoad"))return;t._flights.delete(e.id)}return o[1]}}a(ao,"releaseOwnedFlight");function ut(t,e){let o=e._flight;e._flight=void 0,ao(t,e,o)?.abort()}a(ut,"releaseFlight");function q(t,e,o,r){let n=[];for(let s of e)if(!o?.includes(s)){let u=s._flight;if(s._flight=void 0,r&&u?.[2]===1&&t._flights?.get(s.id)===u&&o?.some(i=>i.id===s.id))u[2]=0;else{let i=ao(t,s,u);i&&n.push(i)}}for(let s of n)s.abort()}a(q,"transferMatchResources");function co(t){for(let e of t){let o=e._flight;o&&o[2]++}}a(co,"acquireMatchResources");function te(t,e,o,r){if(e.isFetching=o,r&&t._tx?.[0]!==r)return;let n=t.stores.byRoute.get(e.routeId),s=n?.get();s?.id===e.id&&n.set({...s,isFetching:o})}a(te,"setFetching");function Bn(t,e,o,r,n,s,u){let i=e[0];return{params:o.params,location:i,navigate:$n(t,i),cause:u?"preload":o.cause,abortController:n,preload:u,deps:o.loaderDeps,parentMatchPromise:s,context:o.context,route:r,...t.options.additionalContext}}a(Bn,"getLoaderContext");async function Tn(t,e,o,r,n,s,u,i){let l=i.signal;if(l.aborted)return[kt];if(!n)return[at,void 0];let c=o._flight;te(t,o,"loader",i);try{if(!c){let f=new AbortController;c=[Promise.resolve().then(()=>n(Bn(t,e,o,r,f,s,u))).then(d=>Qt(d,!1,r.id),d=>Qt(d,!0,r.id)).then(d=>(d[0]!==at&&t._flights?.get(o.id)===c&&(t._flights.delete(o.id),c[2]||f.abort()),d[0]===_t&&c[2]?An(r,d[1]):d)),f,1],(t._flights??=new Map).set(o.id,c)}return o._flight=c,o.abortController=c[1],await St(c[0],l)}catch(f){if(f!==l)throw f;return ut(t,o),[kt]}finally{te(t,o,!1,i)}}a(Tn,"loadResource");function Mn(t,e,o){e[0]===at?(t.loaderData=e[1],t.error=void 0,t.status="success",t.invalid=!1,t.updatedAt=Date.now(),t.preload=o):e[0]!==et&&(t.status="success",t.error=void 0,t.invalid=!0)}a(Mn,"settleInto");function as(t,e,o){let r=t._cache.get(e.id);if(r!==o||t._committed.some(s=>s.id===e.id&&s._flight===e._flight))return;let n={...e,_notFound:void 0,context:{}};n._flight&&n._flight[2]++,t._cache.set(e.id,n),r&&ut(t,r)}a(as,"cacheLoaderMatch");function On(t,e){return e[0]===_t||e[0]===_e?{...t,status:e[0]===_t?"error":"notFound",error:e[1],_flight:void 0}:t}a(On,"getParentSnapshot");function cs(t,e,o,r,n,s,u){let i=e[1][o],l=It(t,i),c=!!s[4],f=c?t._cache.get(i.id):void 0,d,h=!1,m;try{if(i.status==="success"&&(d=l.options.shouldReload,typeof d=="function"&&(d=d(Bn(t,e,i,l,s[0],n,c))),s[2]()||(s[0].abort(),m=[kt])),!m)if(i.status!=="success")h=!0;else{let P=s[4]||i.preload?l.options.preloadStaleTime??t.options.defaultPreloadStaleTime??3e4:l.options.staleTime??t.options.defaultStaleTime??0;h=!!(i.invalid||d||d===void 0&&Date.now()-i.updatedAt>=P&&(s[6]||i.cause==="enter"||s[3].some(E=>E.routeId===i.routeId&&E.id!==i.id)))}}catch(P){i.invalid=!0,ut(t,i),m=Xt(l,P,s)}let g=l.options.loader,p=typeof g=="function"?g:g?.handler,v=(!c||l.options.preload!==!1)&&g?t._flights?.get(i.id):void 0;v===i._flight||m?v=void 0:v&&!h&&!c&&d===void 0?h=!0:h||(v=void 0);let S=!!(g&&h&&i.status==="success"&&!c&&!s[5]&&((typeof g=="function"?void 0:g?.staleReloadMode)??t.options.defaultStaleReloadMode)!=="blocking"),y=h&&(!c||l.options.preload!==!1),w=y&&!S&&(i.status!=="success"||!!g),R=l.lazyFn&&l._lazy!==!0?s[8]:void 0;if(y&&!g&&(i.invalid=!1,i.updatedAt=Date.now()),v&&v[2]++,w){let P=i._flight;i._flight=v,ao(t,i,P)?.abort(),i.status==="success"&&o>=u&&(i.status="pending"),s[8]?.()}y||(i.isFetching=!1);let L=(m?Promise.resolve(m):w?Tn(t,e,i,l,p,n,c,s[0]):Promise.resolve([at,i.loaderData])).then(P=>(w&&(Mn(i,P,c),P[0]===at&&(c&&g&&!s[0].signal.aborted&&as(t,i,f),i.status="pending")),P)),x=St(Promise.resolve().then(()=>Lt(l,void 0,R)),s[0].signal).then(()=>{},P=>[o,Xt(l,P,s)]).then(P=>L.then(E=>(w&&!P&&E[0]===at&&i.status==="pending"&&s[2]()&&(i.status="success",s[8]?.()),P)));if(r.push([o,L,x]),!S)return L.then(P=>On(i,P));let _={...i,status:"pending",preload:!1,_flight:v};i.invalid=!1,i.isFetching="loader";let b=Tn(t,e,_,l,p,n,!1,s[0]).then(P=>(i.isFetching=!1,Mn(_,P,!1),P));return(e[2]??=[]).push([o,b,x,_]),b.then(P=>On(_,P))}a(cs,"createLoaderTask");async function so(t,e,o,r,n=0){let s=o?.[1][1],u=s?.routeId?e.findIndex(i=>i.routeId===s.routeId):o?.[0]??e.length-1;u<0&&(u=0);for(let i=u;i>=0;i--){let l=It(t,e[i]),c=Lt(l,!1);if(c)try{await St(c,r)}catch(f){if(f===r)throw f}if(l.options.notFoundComponent)return i}return s?.routeId?u:n}a(so,"getNotFoundBoundary");function Bt(t,e){e[2]&&(q(t,e[2].map(o=>o[3])),e[2]=void 0)}a(Bt,"discardBackground");async function Nn(t,e,o,r){let n;try{await Promise.all(t.map(s=>s[1].then(async u=>{let i=s[0];if(!(r&&i>=await r)){if(u[0]>=et)throw[i,u];!n&&u[0]!==at&&(n=[i,u],await Promise.all((o??[]).map(l=>{if(!(l[0]<=i))return l[1].then(c=>{if(c[0]===et)throw[l[0],c]})})))}})))}catch(s){return s}return e??n}a(Nn,"settleTasks");async function Un(t,e,o,r,n,s,u){let i=e[1],l=await s,c=!1,f=i.findIndex(g=>g._notFound),d=a(g=>g[1][0]===_e?so(t,i,g,r.signal):g[0],"boundaryOf"),h=f<0?i.length:f;if((l?.[1][0]??0)>=et)h=0;else if(l){h=l[2]??=await d(l);for(let g of o){if(g[0]>=h)break;let p=await g[1];if(p[0]!==at&&p[0]<et&&!("loaderData"in i[g[0]])){l=[g[0],p],h=l[2]=await d(l);break}}}for(let g of o){if(g[0]>=h)break;let p=await g[2];if(p){l=p;break}}if((l?.[1][0]??0)>=et){let g=l[1];if(g[0]!==et||g[1].options.reloadDocument||n<20)return Bt(t,e),g;c=!0,l=[0,[_t,new Error("Too many redirects")]]}let m=l?l[2]??await d(l):f;if(m>=0){let g=l?.[1],p=g?.[0],v=i[m],S=g?.[1],y=a(()=>{g&&(v._notFound=void 0,p===_t?v.status="error":(S.routeId=v.routeId,v.routeId===t.routeTree.id?(v.status="success",v._notFound=!0):v.status="notFound"),v.error=S,v.isFetching=!1)},"install");y();let w=It(t,v);try{await St(g?Promise.resolve().then(()=>Lt(w,p===_t?"errorComponent":"notFoundComponent")):Promise.all([Lt(w),Lt(w,"notFoundComponent")]),r.signal)}catch(R){if(R===r.signal)return Bt(t,e),[kt]}g?c&&(r.abort(),await Promise.all([...o.map(R=>R[1]),...o.map(R=>R[2]),...(e[2]??[]).map(R=>R[1])]),Bt(t,e),q(t,i),y()):(v.status="success",u?.())}return e}a(Un,"reduceLane");async function Vn(t,e,o,r=0,n=e[1].length){let s=e[1];for(let u=r;u<n;u++){let i=s[u],l=It(t,i).options;if(l.head||l.scripts)try{let c={ssr:t.options.ssr,matches:s,match:i,params:i.params,loaderData:i.loaderData},[f,d]=await St(Promise.all([l.head?.(c),l.scripts?.(c)]),o);i.meta=f?.meta,i.links=f?.links,i.headScripts=f?.scripts,i.styles=f?.styles,i.scripts=d}catch(c){if(c===o)break;console.error(c)}if(i.status!=="success"||i._notFound)break}return e}a(Vn,"projectLane");async function Wn(t,e,o,r){let n=[e,o],s=t.stores.matches.get(),u=o.findIndex(p=>p._notFound);if(t.options.notFoundMode!=="root"&&u>=0){let p=await so(t,n[1],void 0,r[0].signal,u);p!==u&&(o[u]._notFound=void 0,o[p]._notFound=!0),u=p}let i=u<0?o.length:u+1,l=0;for(;l<i&&l!==u;){let p=o[l],v=r[3][l],S=s[l];if(v?.id!==p.id||v.status!=="success"||v._notFound||p.preload||S?.id!==p.id||S.status!=="success"||S._notFound)break;l++}let c=[],f=r[7]??0,d=f?Promise.resolve(n[1][f-1]):void 0,h=a(()=>{for(let p=f;p<i&&!r[0].signal.aborted;p++)d=cs(t,n,p,c,d,r,l)},"planSuccessfulLane"),m=await is(t,n,r,i,h,l);if(m&&(r[5]=!0,i=m[0],m[1][0]===_e?(m[2]=await so(t,n[1],m,r[0].signal),i=Math.min(i,m[2]+1)):m[1][0]>=et&&(i=0),h()),r[2]()&&!r[4]){let p=[];for(let[v,S]of t._flights??[])S[2]||(t._flights.delete(v),p.push(S[1]));for(let v of p)v.abort()}let g;try{let p=Un(t,n,c,r[0],r[1],Nn(c,m,n[2]),r[8]);n[2]?.length&&(n[3]=Nn(n[2],void 0,void 0,p.then(v=>Zt(v)?0:Fn(v[1]).length,()=>0))),g=await p}catch(p){throw Bt(t,n),p}return Zt(g)?g:Vn(t,g,r[0].signal,r[7]===g[1].length?r[7]:0)}a(Wn,"executeClientLane");function io(t,e){if(t._tx!==e)return;let o=t._pending,r=!1,n=o?.[0][3][o[1]]?.id;o?.[0]!==e&&(o&&e[3][o[1]]?.id===n?(o[0]=e,r=!0):(clearTimeout(o?.[3]),t._pending=o=void 0));let s=e[3],u=t.stores.matches.get(),i=-1,l,c,f,d=!1;for(let p=0;p<s.length;p++){let v=s[p],S=v.status==="success";if(d=u[p]?.id===v.id&&u[p]?.status==="pending",S&&!d)continue;let y=It(t,v);if(l=S&&d||v.invalid?0:y.options.pendingMs??t.options.defaultPendingMs,f=y.options.pendingComponent??t.options.defaultPendingComponent,!f||typeof l!="number"||l===1/0)return;i=p,c=y.options.pendingMinMs??t.options.defaultPendingMinMs??0;break}if(i<0)return;let h=s[i].id;if((!o||o[1]!==i||n!==h)&&(clearTimeout(o?.[3]),t._pending=o=[e,i,d?Date.now()+c:e[4]+l,void 0,d?Promise.resolve(!0):void 0,f]),o[4]&&!r&&o[5]===f)return;if(o[5]=f,!o[4]){clearTimeout(o[3]);let p=o[2]-Date.now();if(p>0){o[3]=setTimeout(()=>io(t,e),p);return}o[2]=0}let m=s.map(p=>({...p,_flight:void 0}));m[i].status="pending";let g=t.startTransition(()=>t.stores.setMatches(m),m).then(p=>(p&&t._pending===o&&o[4]===g&&!o[2]&&(o[2]=Date.now()+c),p));o[4]=g}a(io,"offerPending");function ye(t,e){let o=t._pending;o?.[0]===e&&(clearTimeout(o[3]),t._pending=void 0)}a(ye,"finishPending");function zn(t,e){t._committed=e,t.stores.setMatches(e)}a(zn,"publishMatches");function Dn(t,e){q(t,e[1]),Bt(t,e)}a(Dn,"discardLane");function ls(t,e,o,r){let n=t._committed,s=t._cache;for(let c of o)c.preload=!1,r&&(c._assetEnd=void 0);let u=Fn(o).length,i=new Map,l=Date.now();for(let c of[...n,...s.values()]){if(c.status!=="success"||o.some((d,h)=>d.id===c.id&&(h<u||d.status==="success")))continue;let f=It(t,c);!f.options.loader||l-c.updatedAt>=(c.preload?f.options.preloadGcTime??t.options.defaultPreloadGcTime??3e5:f.options.gcTime??t.options.defaultGcTime??3e5)||i.set(c.id,s.get(c.id)===c?c:{...c,_flight:void 0,isFetching:!1,context:{}})}e[3]=[],t._cache=i,zn(t,o),q(t,[...s.values(),...n],[...o,...i.values()]),En(t,n,o,()=>t._tx===e)}a(ls,"commitMatches");async function Et(t,e){let o=t._tx;for(;o&&o!==e;){if(await o[5],t._tx===o)return;o=t._tx}}a(Et,"awaitCurrent");async function Hn(t,e,o){await t.navigate({...o.options,replace:!0,ignoreBlocker:!0,_redirects:e[1]+1})}a(Hn,"followRedirect");function jn(t,e){ye(t,e),e[0].abort(),q(t,e[3]),e[3]=[],t._tx===e&&(t.batch(()=>{t.stores.status.set("idle"),t.stores.setMatches(t._committed)}),t._tx===e&&(t._commitPromise?.resolve(),t._commitPromise=void 0))}a(jn,"restoreCommitted");async function us(t,e,o,r,n){let s=o.map(c=>({...c}));co(s);for(let c of r)ut(t,s[c[0]]),s[c[0]]=c[3];let u=[e[2],s],i;try{i=await Un(t,u,r,e[0],e[1],n)}catch(c){throw q(t,s),c}if(Zt(i)){q(t,s),i[0]===et&&t._tx===e&&t._committed===o&&await Hn(t,e,i[1]);return}let l=await Vn(t,i,e[0].signal);if(t._tx!==e||t._committed!==o){q(t,l[1]);return}for(let c of l[1]){let f=t._cache.get(c.id);f?._flight&&f._flight===c._flight&&(t._cache.delete(c.id),ut(t,f))}zn(t,l[1]),q(t,o,l[1])}a(us,"runBackground");async function fs(t,e,o,r,n,s){let u=[e[0],e[1],()=>t._tx===e&&!!e[3].length,t._committed,void 0,n,o,s,r],i=await Wn(t,e[2],e[3],u);if(Zt(i)){i[0]===et&&t._tx===e?(ye(t,e),q(t,e[3]),e[3]=[],t._tx===e&&await Hn(t,e,i[1])):jn(t,e);return}let l=t._pending;if(l?.[0]===e&&(clearTimeout(l[3]),l[4])){let h=e[0].signal,m=!1;try{m=await St(l[4],h)}catch(g){if(g!==h)throw g}if(m&&t._pending===l&&l[0]===e){let g=l[2]-Date.now();if(g>0){try{await St(new Promise(p=>{l[3]=setTimeout(p,g)}),h)}catch{}clearTimeout(l[3])}}}if(t._tx!==e){ye(t,e),Dn(t,i);return}let c=e[2],f=Ct(c,t.stores.resolvedLocation.get()),d=i[2];await t.startViewTransition(async()=>{if(t._tx!==e){Dn(t,i);return}let h=a(()=>{ye(t,e),ls(t,e,i[1],s),t._tx===e&&(t.emit({type:"onLoad",...f}),t._tx===e&&t.emit({type:"onBeforeRouteMount",...f}))},"commit"),m=await t.startTransition(h,i[1]);if(t._tx!==e){Bt(t,i);return}d?.length&&us(t,e,i[1],d,i[3]).catch(console.error),t.batch(()=>{t.stores.resolvedLocation.set(c),t.stores.status.set("idle"),t._tx===e&&t.emit({type:"onResolved",...f}),m&&t._tx===e&&t.emit({type:"onRendered",...f})}),t._tx===e&&(t._commitPromise?.resolve(),t._commitPromise=void 0)})}a(fs,"runClientTransaction");async function In(t,e){let o=!1,r=o?t.stores.matches.get():void 0,n=t._tx,s=t.stores.resolvedLocation.get(),u=s??t.stores.location.get(),i=t.latestLocation,l=t._pendingLocation,c=l?.href===i.href?l._redirects??0:0,f=t._handoff,d=o?void 0:f?.[0](),h=new AbortController,m=t._preflight;if(t._preflight=h,!o&&!d&&f?.[1](),m?.abort(),h.signal.aborted){await Et(t,n);return}let g=Ct(i,s);if(t.emit({type:"onBeforeNavigate",...g}),h.signal.aborted||t.emit({type:"onBeforeLoad",...g}),h.signal.aborted){await Et(t,n);return}let p=u.href===i.href,v,S=h;try{v=t.matchRoutes(i,{_controller:h}),co(v)}catch(R){if(h.abort(),!Jt(R)){await Et(t),t._commitPromise?.resolve(),t._commitPromise=void 0;return}await t.navigate({...R.options,replace:!0,ignoreBlocker:!0}),await Et(t,n);return}let y=d?f[1](v):void 0;if(y?S=d:d?.abort(),h.signal.aborted){q(t,v),await Et(t,n);return}t._preflight=void 0;let w=[S,c,i,v,Date.now(),Promise.resolve().then(()=>fs(t,w,p,()=>io(t,w),e?.sync,y)).catch(()=>{t._tx===w&&jn(t,w)})];if(t._tx=w,n){for(let R of t.stores.matches.get()){if(t._tx!==w)break;R.isFetching&&te(t,R,!1)}n[0].abort(),q(t,n[3],w[3],!0)}if(t._tx!==w){q(t,w[3]),w[3]=[],await Et(t,w);return}t.batch(()=>{t.stores.status.set("pending"),t.stores.location.set(i)}),!s&&!v.some(R=>R._notFound)&&io(t,w);try{await w[5]}finally{await Et(t,w)}}a(In,"loadClientRoute");async function no(t,e,o=0){if(o>20)return;let r=e._builtLocation??t.buildLocation(e),n=t._committed,s=new AbortController,u;try{u=t.matchRoutes(r,{_controller:s}),co(u)}catch(l){s.abort(),K(l)||console.error(l);return}(t._preloads??=new Map).set(s,u);let i;try{let l;try{l=await Wn(t,r,u,[s,o,()=>!0,n,!0])}finally{i=t._preloads.delete(s),q(t,u),s.abort()}if(!Zt(l))return l[1];if(i&&l[0]===et&&!l[1].options.reloadDocument)return no(t,{...l[1].options,_fromLocation:r},o+1)}catch(l){K(l)||console.error(l)}}a(no,"preloadClientRoute");var lo="Error preloading route! \u261D\uFE0F";var Se=class{static{a(this,"BaseRoute")}get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(t){if(this.init=e=>{this.originalIndex=e.originalIndex;let o=this.options,r=!o?.path&&!o?.id;this.parentRoute=this.options.getParentRoute?.(),r?this._path=tt:this.parentRoute||mt();let n=r?tt:o?.path;n&&n!=="/"&&(n=fe(n));let s=o?.id||n,u=r?tt:Pt([this.parentRoute.id==="__root__"?"":this.parentRoute.id,s]);n==="__root__"&&(n="/"),u!=="__root__"&&(u=Pt(["/",u]));let i=u==="__root__"?"/":Pt([this.parentRoute.fullPath,n]);this._path=n,this._id=u,this._fullPath=i,this._to=Y(i)},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e=="object"&&e!==null&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.redirect=e=>yn({from:this.fullPath,...e}),this.options=t||{},this.isRoot=!t?.getParentRoute,t?.id&&t?.path)throw new Error("Route cannot have both an 'id' and a 'path' option.")}};var uo=class extends Se{static{a(this,"BaseRootRoute")}constructor(t){super(t)}};var Pe=k(B(),1);var O=(t=>(t[t.None=0]="None",t[t.Mutable=1]="Mutable",t[t.Watching=2]="Watching",t[t.RecursedCheck=4]="RecursedCheck",t[t.Recursed=8]="Recursed",t[t.Dirty=16]="Dirty",t[t.Pending=32]="Pending",t))(O||{});function Kn({update:t,notify:e,unwatched:o}){return{link:r,unlink:n,propagate:s,checkDirty:u,shallowPropagate:i};function r(c,f,d){let h=f.depsTail;if(h!==void 0&&h.dep===c)return;let m=h!==void 0?h.nextDep:f.deps;if(m!==void 0&&m.dep===c){m.version=d,f.depsTail=m;return}let g=c.subsTail;if(g!==void 0&&g.version===d&&g.sub===f)return;let p=f.depsTail=c.subsTail={version:d,dep:c,sub:f,prevDep:h,nextDep:m,prevSub:g,nextSub:void 0};m!==void 0&&(m.prevDep=p),h!==void 0?h.nextDep=p:f.deps=p,g!==void 0?g.nextSub=p:c.subs=p}function n(c,f=c.sub){let d=c.dep,h=c.prevDep,m=c.nextDep,g=c.nextSub,p=c.prevSub;return m!==void 0?m.prevDep=h:f.depsTail=h,h!==void 0?h.nextDep=m:f.deps=m,g!==void 0?g.prevSub=p:d.subsTail=p,p!==void 0?p.nextSub=g:(d.subs=g)===void 0&&o(d),m}function s(c){let f=c.nextSub,d;t:do{let h=c.sub,m=h.flags;if(m&60?m&12?m&4?!(m&48)&&l(c,h)?(h.flags=m|40,m&=1):m=0:h.flags=m&-9|32:m=0:h.flags=m|32,m&2&&e(h),m&1){let g=h.subs;if(g!==void 0){let p=(c=g).nextSub;p!==void 0&&(d={value:f,prev:d},f=p);continue}}if((c=f)!==void 0){f=c.nextSub;continue}for(;d!==void 0;)if(c=d.value,d=d.prev,c!==void 0){f=c.nextSub;continue t}break}while(!0)}function u(c,f){let d,h=0,m=!1;t:do{let g=c.dep,p=g.flags;if(f.flags&16)m=!0;else if((p&17)===17){if(t(g)){let v=g.subs;v.nextSub!==void 0&&i(v),m=!0}}else if((p&33)===33){(c.nextSub!==void 0||c.prevSub!==void 0)&&(d={value:c,prev:d}),c=g.deps,f=g,++h;continue}if(!m){let v=c.nextDep;if(v!==void 0){c=v;continue}}for(;h--;){let v=f.subs,S=v.nextSub!==void 0;if(S?(c=d.value,d=d.prev):c=v,m){if(t(f)){S&&i(v),f=c.sub;continue}m=!1}else f.flags&=-33;f=c.sub;let y=c.nextDep;if(y!==void 0){c=y;continue t}}return m}while(!0)}function i(c){do{let f=c.sub,d=f.flags;(d&48)===32&&(f.flags=d|16,(d&6)===2&&e(f))}while((c=c.nextSub)!==void 0)}function l(c,f){let d=f.depsTail;for(;d!==void 0;){if(d===c)return!0;d=d.prevDep}return!1}}a(Kn,"createReactiveSystem");function Jn(t,e,o){let r=typeof t=="object",n=r?t:void 0;return{next:(r?t.next:t)?.bind(n),error:(r?t.error:e)?.bind(n),complete:(r?t.complete:o)?.bind(n)}}a(Jn,"toObserver");var fo=[],we=0,{link:qn,unlink:ps,propagate:ms,checkDirty:Yn,shallowPropagate:Gn}=Kn({update(t){return t._update()},notify(t){fo[ho++]=t,t.flags&=~O.Watching},unwatched(t){t.depsTail!==void 0&&(t.depsTail=void 0,t.flags=O.Mutable|O.Dirty,xe(t))}}),Re=0,ho=0,ct,po=0;function mo(t){try{++po,t()}finally{--po||go()}}a(mo,"batch");function xe(t){let e=t.depsTail,o=e!==void 0?e.nextDep:t.deps;for(;o!==void 0;)o=ps(o,t)}a(xe,"purgeDeps");function go(){if(!(po>0)){for(;Re<ho;){let t=fo[Re];fo[Re++]=void 0,t.notify()}Re=0,ho=0}}a(go,"flush");function be(t,e){let o=typeof t=="function",r=t,n={_snapshot:o?void 0:t,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:o?O.None:O.Mutable,get(){return ct!==void 0&&qn(n,ct,we),n._snapshot},subscribe(s){let u=Jn(s),i={current:!1},l=gs(()=>{n.get(),i.current?u.next?.(n._snapshot):i.current=!0});return{unsubscribe:a(()=>{l.stop()},"unsubscribe")}},_update(s){let u=ct,i=e?.compare??Object.is;if(o)ct=n,++we,n.depsTail=void 0;else if(s===void 0)return!1;o&&(n.flags=O.Mutable|O.RecursedCheck);try{let l=n._snapshot,c=typeof s=="function"?s(l):s===void 0&&o?r(l):s;return l===void 0||!i(l,c)?(n._snapshot=c,!0):!1}finally{ct=u,o&&(n.flags&=~O.RecursedCheck),xe(n)}}};return o?(n.flags=O.Mutable|O.Dirty,n.get=function(){let s=n.flags;if(s&O.Dirty||s&O.Pending&&Yn(n.deps,n)){if(n._update()){let u=n.subs;u!==void 0&&Gn(u)}}else s&O.Pending&&(n.flags=s&~O.Pending);return ct!==void 0&&qn(n,ct,we),n._snapshot}):n.set=function(s){if(n._update(s)){let u=n.subs;u!==void 0&&(ms(u),Gn(u),go())}},n}a(be,"createAtom");function gs(t){let e=a(()=>{let r=ct;ct=o,++we,o.depsTail=void 0,o.flags=O.Watching|O.RecursedCheck;try{return t()}finally{ct=r,o.flags&=~O.RecursedCheck,xe(o)}},"run"),o={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:O.Watching|O.RecursedCheck,notify(){let r=this.flags;r&O.Dirty||r&O.Pending&&Yn(this.deps,this)?e():this.flags=O.Watching},stop(){this.flags=O.None,this.depsTail=void 0,xe(this)}};return e(),o}a(gs,"effect");var vo=k(B(),1),Xn=k(Nr(),1);function vs(t,e){return t===e}a(vs,"defaultCompare");function W(t,e,o=vs){let r=(0,vo.useCallback)(u=>{if(!t)return()=>{};let{unsubscribe:i}=t.subscribe(u);return i},[t]),n=(0,vo.useCallback)(()=>t?.get(),[t]);return(0,Xn.useSyncExternalStoreWithSelector)(r,n,n,e,o)}a(W,"useStore");var Zn={};function yo(t,e){let o=Pe.useRef();return r=>{let n=t?.select?t.select(r):r;return t?.structuralSharing??e.options.defaultStructuralSharing?o.current=st(o.current,n):n}}a(yo,"useStructuralSharing");function X(t){let e=N(),o=Pe.useContext(t.from?jo:bt),r=t.from??o,n=e.stores.getMatchStore(r);if(!1){let i=n.get();if(!i){(t.shouldThrow??!0)&&mt();return}return t.select?t.select(i):i}let s=yo(t,e),u=W(n,i=>i?s(i):Zn);if(u!==Zn)return u;(t.shouldThrow??!0)&&mt()}a(X,"useMatch");function Ce(t){return X({from:t.from,strict:t.strict,shouldThrow:t.shouldThrow,structuralSharing:t.structuralSharing,select:a(e=>t.select?t.select(e.search):e.search,"select")})}a(Ce,"useSearch");var lt=k(B(),1);var Le=lt.useLayoutEffect;function Qn(t,e,o={},r){lt.useEffect(()=>{if(!t.current||r||typeof IntersectionObserver!="function")return;let n=new IntersectionObserver(([s])=>{e(s)},o);return n.observe(t.current),()=>{n.disconnect()}},[e,r,o,t])}a(Qn,"useIntersectionObserver");function tr(t){let e=lt.useRef(null);return lt.useImperativeHandle(t,()=>e.current,[]),e}a(tr,"useForwardedRef");var _o=k(B(),1);function Ee(t){let e=N();return _o.useCallback(o=>e.navigate({...o,from:o.from??t?.from}),[t?.from,e])}a(Ee,"useNavigate");var Ut=k(B(),1),nt=k(Z(),1);function Tt(t){return(0,nt.jsx)(ys,{...t})}a(Tt,"CatchBoundary");var ys=class extends Ut.Component{static{a(this,"CatchBoundaryImpl")}constructor(...t){super(...t),this.state={error:null},this.reset=()=>{this.setState({error:null})}}static getDerivedStateFromProps(t,e){let o=t.getResetKey();return e.error&&e.resetKey!==o?{resetKey:o,error:null}:{resetKey:o}}static getDerivedStateFromError(t){return{error:t}}componentDidCatch(t,e){this.props.onCatch?.(t,e)}render(){let t=this.state.error;return t?Ut.createElement(this.props.errorComponent??So,{error:t,reset:this.reset}):this.props.children}};function So({error:t}){let[e,o]=Ut.useState(!1);return(0,nt.jsxs)("div",{style:{padding:".5rem",maxWidth:"100%"},children:[(0,nt.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:".5rem"},children:[(0,nt.jsx)("strong",{style:{fontSize:"1rem"},children:"Something went wrong!"}),(0,nt.jsx)("button",{style:{appearance:"none",fontSize:".6em",border:"1px solid currentColor",padding:".1rem .2rem",fontWeight:"bold",borderRadius:".25rem"},onClick:a(()=>o(r=>!r),"onClick"),children:e?"Hide Error":"Show Error"})]}),(0,nt.jsx)("div",{style:{height:".25rem"}}),e?(0,nt.jsx)("div",{children:(0,nt.jsx)("pre",{style:{fontSize:".7em",border:"1px solid red",borderRadius:".25rem",padding:".3rem",color:"red",overflow:"auto"},children:t.message?(0,nt.jsx)("code",{children:t.message}):null})}):null]})}a(So,"ErrorComponent");var Ro=k(B(),1),er=k(Z(),1);function or({children:t,fallback:e=null}){return(0,er.jsx)(Ro.default.Fragment,{children:wo()?t:e})}a(or,"ClientOnly");function wo(){return Ro.default.useSyncExternalStore(_s,()=>!0,()=>!1)}a(wo,"useHydrated");function _s(){return()=>{}}a(_s,"subscribe");function xo(t){return X({from:t.from,strict:t.strict,structuralSharing:t.structuralSharing,select:a(e=>t.select?t.select(e.loaderData):e.loaderData,"select")})}a(xo,"useLoaderData");function bo(t){let{select:e,...o}=t;return X({...o,select:a(r=>e?e(r.loaderDeps):r.loaderDeps,"select")})}a(bo,"useLoaderDeps");function Po(t){return X({from:t.from,shouldThrow:t.shouldThrow,structuralSharing:t.structuralSharing,strict:t.strict,select:a(e=>{let o=t.strict===!1?e.params:e._strictParams;return t.select?t.select(o):o},"select")})}a(Po,"useParams");function Co(t){return X({...t,select:a(e=>t.select?t.select(e.context):e.context,"select")})}a(Co,"useRouteContext");var U=k(B(),1);var Ss=k(Z(),1);var ar=k(Or(),1);function Lo(t){let e=U.useRef(t);return Q(e.current,t,{ignoreUndefined:!1})||(e.current=t),e.current}a(Lo,"useValueStable");function Rs(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}a(Rs,"compareLinkState");function ws(t,e,o){if(t?.external)return it(t.href,o)?void 0:t.href;if(!cr(e)&&!(typeof e!="string"||e.indexOf(":")===-1))try{return new URL(e),it(e,o)?void 0:e}catch{}}a(ws,"resolveExternalLink");function xs(t,e,o,r,n,s){if(s)return!1;if(o?.exact){if(!de(t.pathname,e.pathname,r))return!1}else{let u=vt(t.pathname,r),i=vt(e.pathname,r);if(!(u.startsWith(i)&&(u.length===i.length||u[i.length]==="/")))return!1}return(o?.includeSearch??!0)&&!Q(t.search,e.search,{partial:!o?.exact,ignoreUndefined:!o?.explicitUndefined})?!1:o?.includeHash?n&&t.hash===e.hash:!0}a(xs,"resolveIsActive");function bs(t,e){let o=N(),r=tr(e),{activeProps:n,inactiveProps:s,activeOptions:u,to:i,preload:l,preloadDelay:c,preloadIntentProximity:f,hashScrollIntoView:d,replace:h,startTransition:m,resetScroll:g,viewTransition:p,children:v,target:S,disabled:y,style:w,className:R,onClick:L,onBlur:x,onFocus:_,onMouseEnter:b,onMouseLeave:P,onTouchStart:E,ignoreBlocker:C,params:T,search:D,hash:wt,state:rt,mask:re,reloadDocument:Ds,unsafeRelative:Fs,from:As,_fromLocation:$s,...Mt}=t;if(!1){let F=cr(i);if(typeof i=="string"&&!F&&i.indexOf(":")>-1)try{return new URL(i),it(i,o.protocolAllowlist)?{...Mt,ref:r,href:void 0,...v&&{children:v},...S&&{target:S},...y&&{disabled:y},...w&&{style:w},...R&&{className:R}}:{...Mt,ref:r,href:i,...v&&{children:v},...S&&{target:S},...y&&{disabled:y},...w&&{style:w},...R&&{className:R}}}catch{}let I=o.buildLocation({...t,from:t.from}),z=ir(I.maskedLocation?I.maskedLocation.publicHref:I.publicHref,I.maskedLocation?I.maskedLocation.external:I.external,o.history,y),ft=(()=>{if(z?.external)return it(z.href,o.protocolAllowlist)?void 0:z.href;if(!F&&typeof i=="string"&&i.indexOf(":")>-1)try{return new URL(i),it(i,o.protocolAllowlist)?void 0:i}catch{}})(),Ae=(()=>{if(ft)return!1;let $=o.stores.location.get(),H=u?.exact??!1;if(H){if(!de($.pathname,I.pathname,o.basepath))return!1}else{let V=vt($.pathname,o.basepath),j=vt(I.pathname,o.basepath);if(!(V.startsWith(j)&&(V.length===j.length||V[j.length]==="/")))return!1}if((u?.includeSearch??!0)&&$.search!==I.search){let V=!$.search||typeof $.search=="object"&&!ht($.search),j=!I.search||typeof I.search=="object"&&!ht(I.search);if(!(V&&j)&&!Q($.search,I.search,{partial:!H,ignoreUndefined:!u?.explicitUndefined}))return!1}return!u?.includeHash})();if(ft)return{...Mt,ref:r,href:ft,...v&&{children:v},...S&&{target:S},...y&&{disabled:y},...w&&{style:w},...R&&{className:R}};let $e=Ae?J(n,{})??nr:Vt,Be=Ae?Vt:J(s,{})??Vt,Vo=(()=>{let $=w,H=$e.style,V=Be.style;if(!(!$&&!H&&!V))return $&&!H&&!V?$:!$&&H&&!V?H:!$&&!H&&V?V:{...$,...H,...V}})(),Wo=(()=>{let $=R,H=$e.className,V=Be.className;if(!$&&!H&&!V)return"";let j="";return $&&(j=$),H&&(j=j?`${j} ${H}`:H),V&&(j=j?`${j} ${V}`:V),j})();return{...Mt,...$e,...Be,href:z?.href,ref:r,disabled:!!y,target:S,...Vo&&{style:Vo},...Wo&&{className:Wo},...y&&rr,...Ae&&sr}}let Oe=wo(),Cr=Lo(t.search),Lr=Lo(t.params),No=Lo(u),Ht=U.useMemo(()=>t,[o,t.from,t._fromLocation,t.hash,t.to,Cr,Lr,t.state,t.mask,t.unsafeRelative]),Er=U.useCallback(F=>{let I=o.buildLocation({_fromLocation:F,...Ht}),z=ir(I.maskedLocation?I.maskedLocation.publicHref:I.publicHref,I.maskedLocation?I.maskedLocation.external:I.external,o.history,y),ft=ws(z,i,o.protocolAllowlist);return[z?.href,ft,xs(F,I,No,o.basepath,Oe,ft!==void 0)]},[No,y,Oe,Ht,o,i]),[kr,Ne,De]=W(o.stores.location,Er,Rs),se=De?J(n,{})??nr:Vt,ie=De?Vt:J(s,{})??Vt,Do=[R,se.className,ie.className].filter(Boolean).join(" "),Fo=(w||se.style||ie.style)&&{...w,...se.style,...ie.style},[Ir,Ao]=U.useState(!1),$o=U.useRef(!1),Ot=t.reloadDocument||Ne?!1:l??o.options.defaultPreload,Fe=c??o.options.defaultPreloadDelay??0,xt=U.useCallback(()=>{o.preloadRoute(Ht).catch(F=>{console.warn(F),console.warn(lo)})},[o,Ht]);Qn(r,U.useCallback(F=>{F?.isIntersecting&&xt()},[xt]),Cs,!!y||Ot!=="viewport"),U.useEffect(()=>{$o.current||!y&&Ot==="render"&&(xt(),$o.current=!0)},[y,xt,Ot]);let Tr=a(F=>{let I=F.currentTarget.getAttribute("target"),z=S!==void 0?S:I;if(!y&&!Ls(F)&&!F.defaultPrevented&&(!z||z==="_self")&&F.button===0){F.preventDefault(),(0,ar.flushSync)(()=>{Ao(!0)});let ft=o.subscribe("onResolved",()=>{ft(),Ao(!1)});o.navigate({...Ht,replace:h,resetScroll:g,hashScrollIntoView:d,startTransition:m,viewTransition:p,ignoreBlocker:C})}},"handleClick");if(Ne)return{...Mt,ref:r,href:Ne,...v&&{children:v},...S&&{target:S},...y&&{disabled:y},...w&&{style:w},...R&&{className:R},...L&&{onClick:L},...x&&{onBlur:x},..._&&{onFocus:_},...b&&{onMouseEnter:b},...P&&{onMouseLeave:P},...E&&{onTouchStart:E}};let Bo=a(F=>{if(y||Ot!=="intent")return;if(!Fe){xt();return}let I=F.currentTarget;if(ee.has(I))return;let z=setTimeout(()=>{ee.delete(I),xt()},Fe);ee.set(I,z)},"enqueueIntentPreload"),Mr=a(F=>{y||Ot!=="intent"||xt()},"handleTouchStart"),Uo=a(F=>{if(y||!Ot||!Fe)return;let I=F.currentTarget,z=ee.get(I);z&&(clearTimeout(z),ee.delete(I))},"handleLeave");return{...Mt,...se,...ie,href:kr,ref:r,onClick:Wt([L,Tr]),onBlur:Wt([x,Uo]),onFocus:Wt([_,Bo]),onMouseEnter:Wt([b,Bo]),onMouseLeave:Wt([P,Uo]),onTouchStart:Wt([E,Mr]),disabled:!!y,target:S,...Fo&&{style:Fo},...Do&&{className:Do},...y&&rr,...De&&sr,...Oe&&Ir&&Ps}}a(bs,"useLinkProps");var Vt={},nr={className:"active"},rr={role:"link","aria-disabled":!0},sr={"data-status":"active","aria-current":"page"},Ps={"data-transitioning":"transitioning"},ee=new WeakMap,Cs={rootMargin:"100px"},Wt=a(t=>e=>{for(let o of t)if(o){if(e.defaultPrevented)return;o(e)}},"composeHandlers");function ir(t,e,o,r){if(!r)return e?{href:t,external:!0}:{href:o.createHref(t)||"/",external:!1}}a(ir,"getHrefOption");function cr(t){if(typeof t!="string")return!1;let e=t.charCodeAt(0);return e===47?t.charCodeAt(1)!==47:e===46}a(cr,"isSafeInternal");var Eo=U.forwardRef((t,e)=>{let{_asChild:o,...r}=t,{type:n,...s}=bs(r,e),u=typeof r.children=="function"?r.children({isActive:s["data-status"]==="active"}):r.children;if(!o){let{disabled:i,...l}=s;return U.createElement("a",l,u)}return U.createElement(o,s,u)});function Ls(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}a(Ls,"isCtrlEvent");var ko=k(B(),1),Io=k(Z(),1);var lr=class extends Se{static{a(this,"Route")}constructor(t){super(t),this.useMatch=e=>X({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>Co({...e,from:this.id}),this.useSearch=e=>Ce({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>Po({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>bo({...e,from:this.id}),this.useLoaderData=e=>xo({...e,from:this.id}),this.useNavigate=()=>Ee({from:this.fullPath}),this.Link=ko.default.forwardRef((e,o)=>(0,Io.jsx)(Eo,{ref:o,from:this.fullPath,...e}))}};function Es(t){return new lr(t)}a(Es,"createRoute");var ur=class extends uo{static{a(this,"RootRoute")}constructor(t){super(t),this.useMatch=e=>X({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>Co({...e,from:this.id}),this.useSearch=e=>Ce({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>Po({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>bo({...e,from:this.id}),this.useLoaderData=e=>xo({...e,from:this.id}),this.useNavigate=()=>Ee({from:this.fullPath}),this.Link=ko.default.forwardRef((e,o)=>(0,Io.jsx)(Eo,{ref:o,from:this.fullPath,...e}))}};function ks(t){return new ur(t)}a(ks,"createRootRoute");var Bc=k(B(),1);var ke=k(Z(),1);function fr(t){let e=N();if(!1){let r=`not-found-${e.stores.location.get().pathname}-${e.stores.status.get()}`;return(0,ke.jsx)(Tt,{getResetKey:a(()=>r,"getResetKey"),onCatch:a((n,s)=>{if(K(n))t.onCatch?.(n,s);else throw n},"onCatch"),errorComponent:a(({error:n})=>{if(K(n))return t.fallback?.(n);throw n},"errorComponent"),children:t.children})}let o=`not-found-${W(e.stores.location,r=>r.pathname)}-${W(e.stores.status,r=>r)}`;return(0,ke.jsx)(Tt,{getResetKey:a(()=>o,"getResetKey"),onCatch:a((r,n)=>{if(K(r))t.onCatch?.(r,n);else throw r},"onCatch"),errorComponent:a(({error:r})=>{if(K(r))return t.fallback?.(r);throw r},"errorComponent"),children:t.children})}a(fr,"CatchNotFound");function dr(){return(0,ke.jsx)("p",{children:"Not Found"})}a(dr,"DefaultGlobalNotFound");var hr=k(Z(),1);function pr({children:t}){let e=N();return null}a(pr,"ScriptOnce");var Kc=k(B(),1),Ie=k(Z(),1);function Rt(t){return(0,Ie.jsx)(Ie.Fragment,{children:t.children})}a(Rt,"SafeFragment");var Yc=k(B(),1),Te=k(Z(),1);function To(t,e,o){return e.options.notFoundComponent?(0,Te.jsx)(e.options.notFoundComponent,{...o}):t.options.defaultNotFoundComponent?(0,Te.jsx)(t.options.defaultNotFoundComponent,{...o}):(0,Te.jsx)(dr,{})}a(To,"renderRouteNotFound");var gr=k(Z(),1);function mr(t){return null}a(mr,"getScrollRestorationScriptForRouter");function vr(){let t=mr(N());return t?(0,gr.jsx)(pr,{children:t}):null}a(vr,"ScrollRestoration");var G=k(B(),1);var A=k(Z(),1);function oe(t,e){let o=e?.options.pendingComponent??t.options.defaultPendingComponent;return o?(0,A.jsx)(o,{}):null}a(oe,"renderPending");var Is=a((t,e)=>t[0]===e[0]&&t[1]===e[1],"outletMatchSelectionEqual"),Me=G.memo(a(function({routeId:e}){let o=N();return(0,A.jsx)(yr,{router:o,match:W(o.stores.getMatchStore(e),r=>r)})},"MatchImpl"));function yr({router:t,match:e}){let o=t.routesById[e.routeId],r=oe(t,o),n=o.options.errorComponent??t.options.defaultErrorComponent,s=o.options.onCatch??t.options.defaultOnCatch,u=o.isRoot?o.options.notFoundComponent??t.options.notFoundRoute?.options.component:o.options.notFoundComponent,i=e.ssr===!1||e.ssr==="data-only",l=o.options.wrapInSuspense??r??(o.options.errorComponent?.preload||i)?G.Suspense:Rt,c=n?Tt:Rt,f=u?fr:Rt;return(0,A.jsxs)(o.isRoot?o.options.shellComponent??Rt:Rt,{children:[(0,A.jsx)(bt.Provider,{value:e.routeId,children:(0,A.jsx)(l,{fallback:r,children:(0,A.jsx)(c,{getResetKey:a(()=>e,"getResetKey"),errorComponent:n,onCatch:a((d,h)=>{if(K(d))throw d.routeId??=e.routeId,d;s?.(d,h)},"onCatch"),children:(0,A.jsx)(f,{fallback:a(d=>{if(d.routeId??=e.routeId,d.routeId!==e.routeId)throw d;return G.createElement(u,d)},"fallback"),children:i?(0,A.jsx)(or,{fallback:r,children:(0,A.jsx)(_r,{match:e})}):(0,A.jsx)(_r,{match:e})})})})}),null]})}a(yr,"MatchView");var _r=G.memo(a(function({match:e}){let o=N(),r=e.routeId,n=o.routesById[r],s=G.useMemo(()=>{let i=(n.options.remountDeps??o.options.defaultRemountDeps)?.({routeId:r,loaderDeps:e.loaderDeps,params:e._strictParams,search:e._strictSearch});return i?JSON.stringify(i):void 0},[r,e.loaderDeps,e._strictParams,e._strictSearch,n.options.remountDeps,o.options.defaultRemountDeps]),u=G.useMemo(()=>{let i=n.options.component??o.options.defaultComponent;return i?(0,A.jsx)(i,{},s):(0,A.jsx)(Sr,{})},[s,n.options.component,o.options.defaultComponent]);if(e.status==="pending"){if(o._tx)throw o._tx[5];return oe(o,n)}if(e.status==="notFound")return To(o,n,e.error);if(e.status==="error"){if(!1)return(0,A.jsx)((n.options.errorComponent??o.options.defaultErrorComponent)||So,{error:e.error,reset:void 0,info:{componentStack:""}});throw e.error}return u},"MatchInnerImpl")),Sr=G.memo(a(function(){let e=N(),o=G.useContext(bt),r,n,s;if(!1){let i=e.stores.matches.get(),l=i.findIndex(f=>f.routeId===o),c=i[l];r=!!c._notFound,n=c.error,s=i[l+1]?.routeId}else{let i=e.stores.getMatchStore(o);[r,n]=W(i,l=>[!!l._notFound,l.error],Is),s=W(e.stores.ids,l=>l[l.indexOf(o)+1])}if(r)return To(e,e.routesById[o],n);if(!s)return null;let u=(0,A.jsx)(Me,{routeId:s});return o===tt?(0,A.jsx)(G.Suspense,{fallback:oe(e),children:u}):u},"OutletImpl"));var Mo=k(B(),1);function Oo(t,e){let o=t[1];t.length=0,o?.(e)}a(Oo,"settleOwner");function Rr({t}){let e=N(),o=e._rendered??=[],r=void 0;return e.startTransition=(n,s)=>new Promise((u,i)=>{Oo(o,!1),o.push(s,u),t(e),Mo.startTransition(()=>{try{n()}catch(l){o[1]===u&&(o.length=0),i(l)}})}),Le(()=>{let n=e.history.subscribe(e.load);if(r?.current)return n;r&&(r.current=!0),e.updateLatestLocation();let s=e.latestLocation,u=e.buildLocation({to:s.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});if(Y(s.publicHref)!==Y(u.publicHref))return e.commitLocation({...u,replace:!0,ignoreBlocker:!0}),n;let i=e.stores.resolvedLocation.get();return i?.href===s.href&&i.state.__TSR_key===s.state.__TSR_key?o.push(e.stores.matches.get(),l=>{l&&e.emit({type:"onRendered",...Ct(i,i)})}):e._tx||e.load().catch(console.error),n},[e,e.history]),null}a(Rr,"Transitioner");var zt=k(B(),1);var ot=k(Z(),1);function wr(){let t=N(),e=t.routesById[tt],o=oe(t,e),r=t.ssr?Rt:zt.Suspense,n=(0,ot.jsxs)(ot.Fragment,{children:[!!1&&(0,ot.jsx)(Rr,{t:zt.useState()[1]}),(0,ot.jsx)(r,{fallback:o,children:(0,ot.jsx)(Ts,{})})]});return t.options.InnerWrap?(0,ot.jsx)(t.options.InnerWrap,{children:n}):n}a(wr,"Matches");function Ts(){let t=N(),e=t._rendered,o=W(t.stores.matches,u=>e[0]??u),r=o[0],n=r?.routeId;Le(()=>{e[0]===o&&Oo(e,!0)},[e,o]);let s=n?(0,ot.jsx)(Me,{routeId:n}):null;return(0,ot.jsx)(bt.Provider,{value:n,children:t.options.disableGlobalCatchBoundary?s:(0,ot.jsx)(Tt,{getResetKey:a(()=>r,"getResetKey"),onCatch:void 0,children:s})})}a(Ts,"MatchesInner");var xr=a(t=>({createMutableStore:be,createReadonlyStore:be,batch:mo}),"getStoreFactory");var Ms=a(t=>new br(t),"createRouter"),br=class extends oo{static{a(this,"Router")}constructor(t){super(t,xr)}};var Kl=k(B(),1),ne=k(Z(),1);function Pr({router:t,children:e,...o}){ht(o)&&t.update({...t.options,...o,context:{...t.options.context,...o.context}});let r=(0,ne.jsx)(ae.Provider,{value:t,children:e});return t.options.Wrap?(0,ne.jsx)(t.options.Wrap,{children:r}):r}a(Pr,"RouterContextProvider");function Os({router:t,...e}){return(0,ne.jsx)(Pr,{router:t,...e,children:(0,ne.jsx)(wr,{})})}a(Os,"RouterProvider");function Ns(t){let e=N({warn:t?.router===void 0}),o=t?.router||e;if(!1){let r=o.stores.__store.get();return t?.select?t.select(r):r}return W(o.stores.__store,yo(t,o))}a(Ns,"useRouterState");export{to as a,es as b,N as c,Ce as d,Ee as e,Es as f,ks as g,Sr as h,Ms as i,Os as j,Ns as k};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e}from"./chunk-YKXDMIHQ.js";var u={highErrorRate:.05,highWriteContention:.1,lowCacheHitRate:.5,minCacheSamples:10,minConflictCalls:5,minErrorCalls:5,slowFunctionMs:1e3,storageCriticalBytes:5368709120,storageWarnBytes:1073741824},h={error:0,info:2,warning:1},g=e((a,i)=>{let s=[];if(a.maxDurationMs>=i.slowFunctionMs){let t=a.scannedTables??[];t.length>0?s.push({fn:a.path,kind:"missing-index",severity:"warning",tables:t.map(r=>r.table),value:a.maxDurationMs}):s.push({fn:a.path,kind:"slow-function",severity:"info",value:a.maxDurationMs})}a.calls>=i.minErrorCalls&&a.errors/a.calls>=i.highErrorRate&&s.push({fn:a.path,kind:"high-error-rate",message:a.lastErrorMessage??void 0,severity:"error",value:a.errors/a.calls});let n=a.conflicts??0;return n>0&&a.calls>=i.minConflictCalls&&n/a.calls>=i.highWriteContention&&s.push({fn:a.path,kind:"high-write-contention",severity:"warning",value:n/a.calls}),s},"h"),v=e((a,i,s=u)=>{let n=[];if(typeof a?.databaseSize=="number"&&a.databaseSize>=s.storageWarnBytes&&n.push({kind:"storage-headroom",severity:a.databaseSize>=s.storageCriticalBytes?"error":"warning",value:a.databaseSize}),a?.cache){let{evictions:t,hits:r,misses:c}=a.cache,o=r+c;if(o>=s.minCacheSamples){let l=r/o;l<s.lowCacheHitRate&&n.push({kind:"low-cache-hit-rate",severity:"warning",value:l})}t>0&&t>r&&n.push({kind:"high-evictions",severity:"warning",value:t})}for(let t of i??[])n.push(...g(t,s));return n.toSorted((t,r)=>h[t.severity]-h[r.severity])},"u");export{v as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as g}from"./chunk-6KU6XZBN.js";import"./chunk-TPPJQZRS.js";import"./chunk-ULIQFBZU.js";import"./chunk-C37WBSYD.js";import"./chunk-35DM4JJG.js";import{a as f}from"./chunk-4ZEL6BYL.js";import{c as m}from"./chunk-Q7UGJSBF.js";import"./chunk-FGSNEPHU.js";import"./chunk-FSRSK4LY.js";import"./chunk-YUFHPV5Q.js";import"./chunk-HEAQVSNS.js";import"./chunk-WUWBZPUK.js";import{d as p}from"./chunk-FODLDLE2.js";import{a as r,d as h,f as S,g as A}from"./chunk-YKXDMIHQ.js";var R=h(S(),1);var k=h(A(),1);var _=r((e,s)=>({"admin-token-weak":e("Weak admin token"),"auth-secret-weak":e("Weak auth secret"),"cookies-insecure":e("Session cookies are not Secure"),"cors-wildcard-credentials":e("Wildcard CORS with credentials"),"csrf-disabled":e("CSRF/origin guard is off"),"dev-args-unredacted":e("Request log keeps un-redacted args"),"security-headers-disabled":e("Security headers are off"),"ws-gate-open":e("User subscriptions are ungated")})[s.kind],"k"),w=r(e=>Array.isArray(e.findings)?e.findings:[],"g"),b=r(e=>({"admin-token-weak":"LUNORA_ADMIN_TOKEN","auth-secret-weak":"AUTH_SECRET","cookies-insecure":"BETTER_AUTH_URL","cors-wildcard-credentials":"LUNORA_ALLOWED_ORIGINS","csrf-disabled":"LUNORA_SECURITY_CSRF","dev-args-unredacted":"request log","security-headers-disabled":"LUNORA_SECURITY_HEADERS","ws-gate-open":"LUNORA_WS_BEARER"})[e.kind],"S"),E=r((e,s)=>({"admin-token-weak":e("Your admin token is {length} characters \u2014 use at least {min} for a brute-force-resistant secret.",{length:s.detail?.length,min:s.detail?.min}),"auth-secret-weak":e("Your auth secret is {length} characters \u2014 use at least {min} (e.g. `openssl rand -hex 32`) to sign sessions safely.",{length:s.detail?.length,min:s.detail?.min}),"cookies-insecure":e("BETTER_AUTH_URL is a plaintext http:// origin, so session cookies cannot be Secure and ride in cleartext. Serve auth over https:// in production."),"cors-wildcard-credentials":e("LUNORA_ALLOWED_ORIGINS includes a wildcard while credentials are allowed \u2014 browsers reject this and it defeats the allowlist. Name explicit origins instead of *."),"csrf-disabled":e("LUNORA_SECURITY_CSRF is off, so cross-origin state-changing cookie requests are not blocked. Re-enable it in production to keep mutations un-forgeable."),"dev-args-unredacted":e("This worker reports a development environment, so the request log stores raw args and identity. Confirm it isn't a mislabeled production deploy."),"security-headers-disabled":e("LUNORA_SECURITY_HEADERS is off, so HSTS, CSP, nosniff, and frame-options are not applied. Re-enable the baseline headers in production."),"ws-gate-open":e("LUNORA_WS_BEARER is unset, so the WebSocket upgrade gate is open: anyone who can reach the worker can open a socket and run ordinary user subscriptions. Admin subscriptions are unaffected \u2014 they need the admin token. Set it if subscribers should present a shared credential.")})[s.kind],"A"),O=r(()=>{let e=(0,R.c)(8),s=p(),i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i={},e[0]=i):i=e[0];let{data:a,error:d,errorSource:c}=m(f.getSecurityAudit,i),n;if(e[1]!==a||e[2]!==s){let u=a===void 0?null:w(a);n=u===null?null:u.map(t=>({description:E(s,t),entity:b(t),issueType:_(s,t),key:t.kind,level:t.level})),e[1]=a,e[2]=s,e[3]=n}else n=e[3];let l=n,o;return e[4]!==d||e[5]!==c||e[6]!==l?(o=(0,k.jsx)(g,{error:d,errorSource:c,rows:l,testId:"lunora-security-advisor"}),e[4]=d,e[5]=c,e[6]=l,e[7]=o):o=e[7],o},"T");export{O as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{P as k}from"./chunk-46ZJ3TM4.js";import"./chunk-4L4WTGN5.js";import{a as q}from"./chunk-EBWXFG4H.js";import"./chunk-TGHH7ZFA.js";import"./chunk-5GFSKIB2.js";import{b as j}from"./chunk-NCCAMFB6.js";import"./chunk-25NFR6EB.js";import{a as U}from"./chunk-TPPJQZRS.js";import"./chunk-ULIQFBZU.js";import"./chunk-C37WBSYD.js";import"./chunk-35DM4JJG.js";import{a as R}from"./chunk-4ZEL6BYL.js";import{c as P}from"./chunk-Q7UGJSBF.js";import"./chunk-FGSNEPHU.js";import"./chunk-FSRSK4LY.js";import"./chunk-YUFHPV5Q.js";import{a as M}from"./chunk-FKVZRPV5.js";import{a as G,b as H,c as J,d as B,e as x,f as N}from"./chunk-HEAQVSNS.js";import{a as z,e as D}from"./chunk-WUWBZPUK.js";import{d as F,r as O}from"./chunk-FODLDLE2.js";import{a as A,d as T,e as $,f as X,g as Y}from"./chunk-YKXDMIHQ.js";var K=T(X(),1),Q=T($(),1);var t=T(Y(),1);var de=A(()=>{let e=(0,K.c)(39),a=F(),[s,V]=(0,Q.useState)(""),y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y={},e[0]=y):y=e[0];let{data:C,error:l,errorSource:S,isLoading:E,refetch:_}=P(R.getAuthAuditLog,y),I;if(e[1]!==C?.entries||e[2]!==s){let r=C?.entries??[],v=s.trim().toLowerCase();I=v===""?r:r.filter(w=>w.event.toLowerCase().includes(v)||(w.actorId??"").toLowerCase().includes(v)||(w.actorEmail??"").toLowerCase().includes(v)||(w.ip??"").toLowerCase().includes(v)||w.outcome.toLowerCase().includes(v)),e[1]=C?.entries,e[2]=s,e[3]=I}else I=e[3];let o=I,L;e[4]===Symbol.for("react.memo_cache_sentinel")?(L=A(r=>{V(r.target.value)},"I"),e[4]=L):L=e[4];let W=L,i;e[5]!==a?(i=a("Filter security events"),e[5]=a,e[6]=i):i=e[6];let n;e[7]!==a?(n=a("filter event, actor, IP"),e[7]=a,e[8]=n):n=e[8];let c;e[9]!==s||e[10]!==i||e[11]!==n?(c=(0,t.jsx)(k,{"aria-label":i,className:"h-8 w-56","data-testid":"aa-search",onChange:W,placeholder:n,value:s}),e[9]=s,e[10]=i,e[11]=n,e[12]=c):c=e[12];let d;e[13]!==_?(d=A(()=>{_()},"m"),e[13]=_,e[14]=d):d=e[14];let m;e[15]!==a?(m=a("Refresh"),e[15]=a,e[16]=m):m=e[16];let u;e[17]!==d||e[18]!==m?(u=(0,t.jsx)(q,{"data-testid":"aa-refresh",onClick:d,size:"xs",type:"button",variant:"ghost",children:m}),e[17]=d,e[18]=m,e[19]=u):u=e[19];let h;e[20]!==c||e[21]!==u?(h=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c,u]}),e[20]=c,e[21]=u,e[22]=h):h=e[22];let f;e[23]!==l||e[24]!==S?(f=l!==null&&(0,t.jsx)(U,{error:S,testId:"aa-error"}),e[23]=l,e[24]=S,e[25]=f):f=e[25];let p;e[26]!==l||e[27]!==o.length||e[28]!==E||e[29]!==a?(p=l===null&&!E&&o.length===0&&(0,t.jsx)(M,{description:a("Authentication and security events are recorded here."),testId:"aa-empty",title:a("No security events.")}),e[26]=l,e[27]=o.length,e[28]=E,e[29]=a,e[30]=p):p=e[30];let g;e[31]!==o||e[32]!==a?(g=o.length>0&&(0,t.jsx)(z,{className:"overflow-hidden py-0",children:(0,t.jsx)(D,{className:"max-h-[30rem] overflow-auto px-0",children:(0,t.jsxs)(G,{"data-testid":"aa-table",children:[(0,t.jsx)(H,{children:(0,t.jsxs)(B,{children:[(0,t.jsx)(x,{children:a("time")}),(0,t.jsx)(x,{children:a("event")}),(0,t.jsx)(x,{children:a("actor")}),(0,t.jsx)(x,{children:a("ip / user agent")}),(0,t.jsx)(x,{children:a("outcome")})]})}),(0,t.jsx)(J,{children:o.map(r=>(0,t.jsxs)(B,{"data-testid":"aa-row",children:[(0,t.jsx)(N,{className:"text-muted-foreground tabular-nums",children:O(r.ts,"\u2014")}),(0,t.jsx)(N,{children:(0,t.jsx)(j,{variant:"secondary",children:r.event})}),(0,t.jsx)(N,{className:"max-w-[24ch] truncate font-mono text-xs",title:r.actorId??void 0,children:r.actorEmail??r.actorId??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})}),(0,t.jsxs)(N,{className:"max-w-[28ch] truncate text-xs text-muted-foreground",title:r.userAgent??void 0,children:[r.ip??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"}),r.userAgent!==void 0&&(0,t.jsxs)("span",{className:"ml-1 opacity-70",children:["\xB7 ",r.userAgent]})]}),(0,t.jsx)(N,{children:(0,t.jsx)(j,{variant:r.outcome==="failure"?"destructive":"outline",children:a(r.outcome)})})]},r.seq))})]})})}),e[31]=o,e[32]=a,e[33]=g):g=e[33];let b;return e[34]!==f||e[35]!==p||e[36]!==g||e[37]!==h?(b=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-auth-audit",children:[h,f,p,g]}),e[34]=f,e[35]=p,e[36]=g,e[37]=h,e[38]=b):b=e[38],b},"ne");export{de as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as G}from"./chunk-4L4WTGN5.js";import{a as u,d as N,e as Y}from"./chunk-YKXDMIHQ.js";function K(l,a,t){let e=new Array(l);return new Proxy(e,{get(s,n,o){if(typeof n=="string"){let i=n.charCodeAt(0);if(i>=48&&i<=57){let r=+n;if(Number.isInteger(r)&&r>=0&&r<l){let d=s[r];if(!d){let h=a[r*2];d=s[r]={index:r,key:t(r),start:h,size:a[r*2+1],end:h+a[r*2+1],lane:0}}return d}}if(n==="length")return l}return Reflect.get(s,n,o)}})}u(K,"createLazyMeasurementsView");function _(l,a,t){let e=t.initialDeps??[],s,n=!0;function o(){var i;let d=0,h=l();if(!(h.length!==e.length||h.some((p,S)=>e[S]!==p)))return s;e=h;let c=0;return s=a(...h),t?.onChange&&!(n&&t.skipInitialOnChange)&&t.onChange(s),n=!1,s}return u(o,"memoizedFunction"),o.updateDeps=i=>{e=i},o}u(_,"memo");function W(l,a){if(l===void 0)throw new Error(`Unexpected undefined${a?`: ${a}`:""}`);return l}u(W,"notUndefined");var P=u((l,a)=>Math.abs(l-a)<1.01,"approxEqual"),B=u((l,a,t)=>{let e;return function(...s){l.clearTimeout(e),e=l.setTimeout(()=>a.apply(this,s),t)}},"debounce");var A,k=u(()=>{if(A!==void 0)return A;if(typeof navigator>"u")return A=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return A=!0;let l=navigator.maxTouchPoints;return A=navigator.platform==="MacIntel"&&l!==void 0&&l>0},"isIOSWebKit");var $=u(l=>{let{offsetWidth:a,offsetHeight:t}=l;return{width:a,height:t}},"getRect"),Q=u(l=>l,"defaultKeyExtractor"),Z=u(l=>{let a=Math.max(l.startIndex-l.overscan,0),e=Math.min(l.endIndex+l.overscan,l.count-1)-a+1,s=new Array(e);for(let n=0;n<e;n++)s[n]=a+n;return s},"defaultRangeExtractor"),H=u((l,a)=>{let t=l.scrollElement;if(!t)return;let e=l.targetWindow;if(!e)return;let s=u(o=>{let{width:i,height:r}=o;a({width:Math.round(i),height:Math.round(r)})},"handler");if(s($(t)),!e.ResizeObserver)return()=>{};let n=new e.ResizeObserver(o=>{let i=u(()=>{let r=o[0];if(r?.borderBoxSize){let d=r.borderBoxSize[0];if(d){s({width:d.inlineSize,height:d.blockSize});return}}s($(t))},"run");l.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(i):i()});return n.observe(t,{box:"border-box"}),()=>{n.unobserve(t)}},"observeElementRect"),R={passive:!0};var tt=typeof window>"u"?!0:"onscrollend"in window,et=u((l,a,t)=>{let e=l.scrollElement;if(!e)return;let s=l.targetWindow;if(!s)return;let n=l.options.useScrollendEvent&&tt,o=0,i=n?null:B(s,()=>a(o,!1),l.options.isScrollingResetDelay),r=u(f=>()=>{o=t(e),i?.(),a(o,f)},"createHandler"),d=r(!0),h=r(!1);return e.addEventListener("scroll",d,R),n&&e.addEventListener("scrollend",h,R),()=>{e.removeEventListener("scroll",d),n&&e.removeEventListener("scrollend",h)}},"observeOffset"),J=u((l,a)=>et(l,a,t=>{let{horizontal:e,isRtl:s}=l.options;return e?t.scrollLeft*(s&&-1||1):t.scrollTop}),"observeElementOffset");var st=u((l,a,t)=>{if(t.options.useCachedMeasurements){let e=t.indexFromElement(l),s=t.options.getItemKey(e);return t.itemSizeCache.get(s)??t.options.estimateSize(e)}if(a?.borderBoxSize){let e=a.borderBoxSize[0];if(e)return Math.round(e[t.options.horizontal?"inlineSize":"blockSize"])}if(!a){let e=t.indexFromElement(l),s=t.options.getItemKey(e),n=t.itemSizeCache.get(s);if(n!==void 0)return n}return l[t.options.horizontal?"offsetWidth":"offsetHeight"]},"measureElement"),nt=u((l,{adjustments:a=0,behavior:t},e)=>{var s,n;(n=(s=e.scrollElement)==null?void 0:s.scrollTo)==null||n.call(s,{[e.options.horizontal?"left":"top"]:l+a,behavior:t})},"scrollWithAdjustments");var q=nt,F=class{static{u(this,"Virtualizer")}constructor(a){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var t,e,s;return((s=(e=(t=this.targetWindow)==null?void 0:t.performance)==null?void 0:e.now)==null?void 0:s.call(e))??Date.now()},this.observer=(()=>{let t=null,e=u(()=>t||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:t=new this.targetWindow.ResizeObserver(s=>{s.forEach(n=>{let o=u(()=>{let i=n.target,r=this.indexFromElement(i);if(!i.isConnected){this.observer.unobserve(i);for(let[d,h]of this.elementsCache)if(h===i){this.elementsCache.delete(d);break}return}this.shouldMeasureDuringScroll(r)&&this.resizeItem(r,this.options.measureElement(i,n,this))},"run");this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(o):o()})})),"get");return{disconnect:u(()=>{var s;(s=e())==null||s.disconnect(),t=null},"disconnect"),observe:u(s=>{var n;return(n=e())==null?void 0:n.observe(s,{box:"border-box"})},"observe"),unobserve:u(s=>{var n;return(n=e())==null?void 0:n.unobserve(s)},"unobserve")}})(),this.range=null,this.setOptions=t=>{var e,s;let n={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Q,rangeExtractor:Z,onChange:u(()=>{},"onChange"),measureElement:st,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(let c in t){let p=t[c];p!==void 0&&(n[c]=p)}let o=this.options,i=null,r=null,d=!1;if(o!==void 0&&o.enabled&&n.enabled&&n.anchorTo==="end"&&this.scrollElement!==null){let c=o.count,p=n.count,S=this.getMeasurements(),v=c>0?((e=S[0])==null?void 0:e.key)??o.getItemKey(0):null,b=c>0?((s=S[c-1])==null?void 0:s.key)??o.getItemKey(c-1):null;if(p!==c||c>0&&p>0&&(n.getItemKey(0)!==v||n.getItemKey(p-1)!==b)){d=!0;let E=c>0?this.getVirtualItemForOffset(this.getScrollOffset())??S[0]:null;E&&(i=[E.key,this.getScrollOffset()-E.start]);let x=n.followOnAppend===!0?"auto":n.followOnAppend||null;x&&p>c&&this.isAtEnd(o.scrollEndThreshold)&&(c===0||n.getItemKey(p-1)!==b)&&(r=x)}}this.options=n,d&&(this.pendingMin=0,this.itemSizeCacheVersion++);let h=!1,f=0;if(i&&this.scrollOffset!==null){let[c,p]=i,S=this.getMeasurements(),{count:v,getItemKey:b}=this.options,m=0;for(;m<v&&b(m)!==c;)m++;if(m<v){let g=S[m];if(g){let E=Math.max(0,g.start+p);E!==this.scrollOffset&&(f=E-this.scrollOffset,this.scrollOffset=E,h=!0)}}}(h||r)&&(this.pendingScrollAnchor=[h?i[0]:null,h?i[1]:0,r,f])},this.notify=t=>{var e,s;(s=(e=this.options).onChange)==null||s.call(e,this,t)},this.maybeNotify=_(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),t=>{this.notify(t)},{key:!1,debug:u(()=>this.options.debug,"debug"),initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(t=>t()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t;let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((t=this.scrollElement)==null?void 0:t.window)??null,this.elementsCache.forEach(n=>{this.observer.observe(n)}),this.unsubs.push(this.options.observeElementRect(this,n=>{this.scrollRect=n,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(n,o)=>{if(o&&this._intendedScrollOffset===null&&n===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(n-this._intendedScrollOffset)<1.5&&(n=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;let i=this.getScrollOffset();this.scrollDirection=o?i===n?this.scrollDirection:i<n?"forward":"backward":null,this.scrollOffset=n,this.isScrolling=o,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement){let n=this.scrollElement,o=u(()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},"onTouchStart"),i=u(()=>{this._iosTouching=!1,!(!k()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))},"onTouchEnd");n.addEventListener("touchstart",o,R),n.addEventListener("touchend",i,R),this.unsubs.push(()=>{n.removeEventListener("touchstart",o),n.removeEventListener("touchend",i),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let s=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,s&&this.scrollElement&&this.options.enabled){let[n,o,i,r]=s;n!==null&&!i&&(k()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?r!==0&&(this._iosDeferredAdjustment+=r):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),i&&this.scrollToEnd({behavior:i})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let t=this.getScrollOffset(),e=this.getMaxScrollOffset();if(t<0||t>e)return;if(this._iosDeferredAdjustment<0&&t>=e-1){this._iosDeferredAdjustment=0;return}let s=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(t,{adjustments:this.scrollAdjustments+=s,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=_(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(t,e,s,n,o,i,r,d)=>(this.prevLanes!==void 0&&this.prevLanes!==i&&(this.lanesChangedFlag=!0),this.prevLanes=i,this.pendingMin=null,{count:t,paddingStart:e,scrollMargin:s,getItemKey:n,enabled:o,lanes:i,laneAssignmentMode:r,gap:d}),{key:!1}),this.getMeasurements=_(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:t,paddingStart:e,scrollMargin:s,getItemKey:n,enabled:o,lanes:i,laneAssignmentMode:r,gap:d},h)=>{let f=this.itemSizeCache;if(!o)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(let m of this.laneAssignments.keys())m>=t&&this.laneAssignments.delete(m);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(m=>{this.itemSizeCache.set(m.key,m.size)}));let c=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1),i===1){let m=t*2,g=this._flatMeasurements;if(!g||g.length<m){let O=new Float64Array(m);g&&c>0&&O.set(g.subarray(0,c*2)),g=O,this._flatMeasurements=g}let E;if(c===0)E=e+s;else{let O=c-1;E=g[O*2]+g[O*2+1]+d}for(let O=c;O<t;O++){let C=n(O),y=f.get(C),T=typeof y=="number"?y:this.options.estimateSize(O);g[O*2]=E,g[O*2+1]=T,E+=T+d}let x=K(t,g,n);return this.measurementsCache=x,x}let p=this.measurementsCache.slice(0,c),S=new Array(i).fill(void 0),v=new Float64Array(i),b=0;for(let m=0;m<c;m++){let g=p[m];g&&(S[g.lane]===void 0&&b++,S[g.lane]=m,v[g.lane]=g.end)}for(let m=c;m<t;m++){let g=n(m),E=this.laneAssignments.get(m),x,O,C=r==="estimate"||f.has(g);if(E!==void 0&&this.options.lanes>1){x=E;let M=S[x],I=M!==void 0?p[M]:void 0;O=I?I.end+d:e+s}else if(b===i){let M=0,I=v[0],V=S[0];for(let z=1;z<i;z++){let D=v[z];(D<I||D===I&&S[z]<V)&&(M=z,I=D,V=S[z])}x=M,O=I+d,C&&this.laneAssignments.set(m,x)}else x=m%this.options.lanes,O=e+s,C&&this.laneAssignments.set(m,x);let y=f.get(g),T=typeof y=="number"?y:this.options.estimateSize(m),L=O+T;p[m]={index:m,start:O,size:T,end:L,key:g,lane:x},S[x]===void 0&&b++,S[x]=m,v[x]=L}return this.measurementsCache=p,p},{key:!1,debug:u(()=>this.options.debug,"debug")}),this.calculateRange=_(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(t,e,s,n)=>t.length===0||e===0?(this.range=null,null):(this.range=ot(t,e,s,n,n===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:u(()=>this.options.debug,"debug")}),this.getVirtualIndexes=_(()=>{let t=null,e=null,s=this.calculateRange();return s&&(t=s.startIndex,e=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,e]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,e]},(t,e,s,n,o)=>n===null||o===null?[]:t({startIndex:n,endIndex:o,overscan:e,count:s}),{key:!1,debug:u(()=>this.options.debug,"debug")}),this.indexFromElement=t=>{let e=this.options.indexAttribute,s=t.getAttribute(e);return s?parseInt(s,10):(console.warn(`Missing attribute name '${e}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=t=>{var e;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;let s=this.scrollState.index??((e=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:e.index);if(s!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),o=Math.max(0,s-n),i=Math.min(this.options.count-1,s+n);return t>=o&&t<=i}return!0},this.measureElement=t=>{if(!t){this.elementsCache.forEach((o,i)=>{o.isConnected||(this.observer.unobserve(o),this.elementsCache.delete(i))});return}let e=this.indexFromElement(t),s=this.options.getItemKey(e),n=this.elementsCache.get(s);n!==t&&(n&&this.observer.unobserve(n),this.observer.observe(t),this.elementsCache.set(s,t)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(e)&&this.resizeItem(e,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,e)=>{var s,n;if(t<0||t>=this.options.count)return;let o,i,r,d=this._flatMeasurements;if(this.options.lanes===1&&d!==null)r=this.options.getItemKey(t),i=d[t*2],o=d[t*2+1];else{let c=this.measurementsCache[t];if(!c)return;r=c.key,i=c.start,o=c.size}let h=this.itemSizeCache.get(r)??o,f=e-h;if(f!==0){let c=this.options.anchorTo==="end"&&((s=this.scrollState)==null?void 0:s.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,p=c?this.getTotalSize():0,S=this.getScrollOffset()+this.scrollAdjustments,b=!this.itemSizeCache.has(r)?i<S:i+h<=S&&this.scrollDirection!=="backward",m=((n=this.scrollState)==null?void 0:n.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[t]??{index:t,key:r,start:i,size:o,end:i+o,lane:0},f,this):b);(this.pendingMin===null||t<this.pendingMin)&&(this.pendingMin=t),this.itemSizeCache.set(r,e),this.itemSizeCacheVersion++;let g=!1;c?g=this.applyScrollAdjustment(this.getTotalSize()-p):m&&(g=this.applyScrollAdjustment(f)),this.notify(g)}},this.getVirtualItems=_(()=>[this.getVirtualIndexes(),this.getMeasurements()],(t,e)=>{let s=[];for(let n=0,o=t.length;n<o;n++){let i=t[n],r=e[i];s.push(r)}return s},{key:!1,debug:u(()=>this.options.debug,"debug")}),this.getVirtualItemForOffset=t=>{let e=this.getMeasurements();if(e.length===0)return;let s=this._flatMeasurements,n=this.options.lanes===1&&s!=null,o=U(0,e.length-1,n?i=>s[i*2]:i=>W(e[i]).start,t);return W(e[o])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let t=this.scrollElement.document.documentElement;return this.options.horizontal?t.scrollWidth-this.scrollElement.innerWidth:t.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(t=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=t,this.getOffsetForAlignment=(t,e,s=0)=>{if(!this.scrollElement)return 0;let n=this.getSize(),o=this.getScrollOffset();e==="auto"&&(e=t>=o+n?"end":"start"),e==="center"?t+=(s-n)/2:e==="end"&&(t-=n);let i=this.getMaxScrollOffset();return Math.max(Math.min(i,t),0)},this.getOffsetForIndex=(t,e="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));let s=this.getSize(),n=this.getScrollOffset(),o=this.measurementsCache[t];if(!o)return;if(e==="auto")if(o.end>=n+s-this.options.scrollPaddingEnd)e="end";else if(o.start<=n+this.options.scrollPaddingStart)e="start";else return[n,e];if(e==="end"&&t===this.options.count-1)return[this.getMaxScrollOffset(),e];let i=e==="end"?o.end+this.options.scrollPaddingEnd:o.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(i,e,o.size),e]},this.scrollToOffset=(t,{align:e="start",behavior:s="auto"}={})=>{this._iosDeferredAdjustment=0;let n=this.getOffsetForAlignment(t,e),o=this.now();this.scrollState={index:null,align:e,behavior:s,startedAt:o,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:e="auto",behavior:s="auto"}={})=>{this._iosDeferredAdjustment=0,t=Math.max(0,Math.min(t,this.options.count-1));let n=this.getOffsetForIndex(t,e);if(!n)return;let[o,i]=n,r=this.now();this.scrollState={index:t,align:i,behavior:s,startedAt:r,lastTargetOffset:o,stableFrames:0},this._scrollToOffset(o,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:e="auto"}={})=>{let s=this.getScrollOffset()+t,n=this.now();this.scrollState={index:null,align:"start",behavior:e,startedAt:n,lastTargetOffset:s,stableFrames:0},this._scrollToOffset(s,{adjustments:void 0,behavior:e}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:t="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:t});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:t})},this.getTotalSize=()=>{var t;let e=this.getMeasurements(),s;if(e.length===0)s=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,o=this._flatMeasurements;o!=null?s=o[n*2]+o[n*2+1]:s=((t=e[n])==null?void 0:t.end)??0}else{let n=Array(this.options.lanes).fill(null),o=e.length-1;for(;o>=0&&n.some(i=>i===null);){let i=e[o];n[i.lane]===null&&(n[i.lane]=i.end),o--}s=Math.max(...n.filter(i=>i!==null))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let t=[];if(this.itemSizeCache.size===0)return t;let e=this.getMeasurements();for(let s of e)s&&this.itemSizeCache.has(s.key)&&t.push({index:s.index,key:s.key,start:s.start,size:s.size,end:s.end,lane:s.lane});return t},this._scrollToOffset=(t,{adjustments:e,behavior:s})=>{this._intendedScrollOffset=t+(e??0),this.options.scrollToFn(t,{behavior:s,adjustments:e},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(a)}applyScrollAdjustment(a,t){return a===0?!1:k()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?(this._iosDeferredAdjustment+=a,!1):(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=a,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!0)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,s=e?e[0]:this.scrollState.lastTargetOffset,n=1,o=s!==this.scrollState.lastTargetOffset;if(!o&&P(s,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=n){this.getScrollOffset()!==s&&this._scrollToOffset(s,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,o){let i=this.getSize()||600,r=Math.abs(s-this.getScrollOffset()),d=this.scrollState.behavior==="smooth"&&r>i;this.scrollState.lastTargetOffset=s,d||(this.scrollState.behavior="auto"),this._scrollToOffset(s,{adjustments:void 0,behavior:d?"smooth":"auto"})}this.scheduleScrollReconcile()}},U=u((l,a,t,e)=>{for(;l<=a;){let s=(l+a)/2|0,n=t(s);if(n<e)l=s+1;else if(n>e)a=s-1;else return s}return l>0?l-1:0},"findNearestBinarySearch");function it(l,a,t){let e=0;for(;e<=a;){let s=(e+a)/2|0,n=l[s*2];if(n<t)e=s+1;else if(n>t)a=s-1;else return s}return e>0?e-1:0}u(it,"findNearestBinarySearchFlat");function ot(l,a,t,e,s){let n=l.length-1;if(l.length<=e)return{startIndex:0,endIndex:n};if(e===1&&s!==null){let d=it(s,n,t),h=d,f=t+a;for(;h<n&&s[h*2]+s[h*2+1]<f;)h++;return{startIndex:d,endIndex:h}}let i=U(0,n,u(d=>l[d].start,"getStart"),t),r=i;if(e===1)for(;r<n&&l[r].end<t+a;)r++;else if(e>1){let d=Array(e).fill(0);for(;r<n&&d.some(f=>f<t+a);){let f=l[r];d[f.lane]=f.end,r++}let h=Array(e).fill(t+a);for(;i>=0&&h.some(f=>f>=t);){let f=l[i];h[f.lane]=f.start,i--}i=Math.max(0,i-i%e),r=Math.min(n,r+(e-1-r%e))}return{startIndex:i,endIndex:r}}u(ot,"calculateRangeImpl");var w=N(Y(),1),X=N(G(),1);var j=typeof document<"u"?w.useLayoutEffect:w.useEffect;function lt({useFlushSync:l=!0,directDomUpdates:a=!1,directDomUpdatesMode:t="transform",...e}){let s=w.useReducer(h=>h+1,0)[1],n=w.useRef({enabled:a,mode:t,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});n.current.enabled=a,n.current.mode=t;let o=u(h=>{let f=n.current;if(!f.enabled||!f.container)return;let c=h.getTotalSize();if(c!==f.lastSize){f.lastSize=c;let p=h.options.horizontal?"width":"height";f.container.style[p]=`${c}px`}},"applyContainerSize"),i=u(h=>{let f=n.current;if(!f.enabled||!f.container)return;o(h);let c=!!h.options.horizontal,p=f.mode==="transform",S=c?"left":"top",v=h.options.scrollMargin,b=h.getVirtualItems();for(let m of b){let g=m.start-v,E=h.elementsCache.get(m.key);E&&f.lastPositions.get(E)!==g&&(f.lastPositions.set(E,g),p?E.style.transform=c?`translate3d(${g}px, 0, 0)`:`translate3d(0, ${g}px, 0)`:E.style[S]=`${g}px`)}},"applyDirectStyles"),r={...e,onChange:u((h,f)=>{var c;let p=n.current,S=!0;if(p.enabled){i(h);let v=h.range,b=p.prevRange;S=!b||b.isScrolling!==h.isScrolling||b.startIndex!==v?.startIndex||b.endIndex!==v?.endIndex,S&&(p.prevRange=v?{startIndex:v.startIndex,endIndex:v.endIndex,isScrolling:h.isScrolling}:null)}S&&(l&&f?(0,X.flushSync)(s):s()),(c=e.onChange)==null||c.call(e,h,f)},"onChange")},[d]=w.useState(()=>{let h=new F(r);return Object.assign(h,{containerRef:u(f=>{let c=n.current;if(c.container=f,c.lastSize=null,f&&c.enabled){let p=h.getTotalSize();c.lastSize=p;let S=h.options.horizontal?"width":"height";f.style[S]=`${p}px`}},"containerRef")})});return d.setOptions(r),j(()=>d._didMount(),[]),j(()=>(o(d),d._willUpdate())),j(()=>{i(d)}),d}u(lt,"useVirtualizerBase");function Et(l){return lt({observeElementRect:H,observeElementOffset:J,scrollToFn:q,...l})}u(Et,"useVirtualizer");export{H as a,Et as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as i,j as a}from"./chunk-25NFR6EB.js";import{a as o}from"./chunk-FSRSK4LY.js";import{a as r,i as n}from"./chunk-YKXDMIHQ.js";function s(e){return a(e.defaultTagName??"div",e,e)}r(s,"useRender");var g=o("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-none border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive font-mono text-[11px] tracking-wide uppercase focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline",success:"bg-success/10 text-success font-mono text-[11px] tracking-wide uppercase [a]:hover:bg-success/15 dark:bg-success/15",warning:"bg-warning/10 text-warning font-mono text-[11px] tracking-wide uppercase [a]:hover:bg-warning/15 dark:bg-warning/15",info:"bg-info/10 text-info font-mono text-[11px] tracking-wide uppercase [a]:hover:bg-info/15 dark:bg-info/15"}},defaultVariants:{variant:"default"}});function x({className:e,variant:t="default",render:d,...u}){return s({defaultTagName:"span",props:i({className:n(g({variant:t}),e)},u),render:d,state:{slot:"badge",variant:t}})}r(x,"f");export{s as a,x as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{P as R}from"./chunk-46ZJ3TM4.js";import"./chunk-4L4WTGN5.js";import{a as B}from"./chunk-EBWXFG4H.js";import"./chunk-TGHH7ZFA.js";import"./chunk-5GFSKIB2.js";import{b as S}from"./chunk-NCCAMFB6.js";import"./chunk-25NFR6EB.js";import{a as q}from"./chunk-TPPJQZRS.js";import"./chunk-ULIQFBZU.js";import"./chunk-C37WBSYD.js";import"./chunk-35DM4JJG.js";import{a as U}from"./chunk-4ZEL6BYL.js";import{c as O}from"./chunk-Q7UGJSBF.js";import"./chunk-FGSNEPHU.js";import"./chunk-FSRSK4LY.js";import"./chunk-YUFHPV5Q.js";import{a as D}from"./chunk-FKVZRPV5.js";import{a as G,b as J,c as K,d as F,e as s,f as o}from"./chunk-HEAQVSNS.js";import{a as V,e as W}from"./chunk-WUWBZPUK.js";import{d as P,r as H}from"./chunk-FODLDLE2.js";import{a as n,d as j,e as re,f as ae,g as ie}from"./chunk-YKXDMIHQ.js";var X=j(ae(),1),M=j(re(),1);var t=j(ie(),1);var ne=n(e=>e==="ok"?"success":e==="failed"?"destructive":e==="expired"?"warning":"secondary","te"),Q=n(e=>e.endpoint??e.id,"M"),ve=n(()=>{let e=(0,X.c)(38),r=P(),[i,Y]=(0,M.useState)("all"),[l,Z]=(0,M.useState)(""),g;e[0]===Symbol.for("react.memo_cache_sentinel")?(g={},e[0]=g):g=e[0];let{data:I,error:d,errorSource:x,isLoading:_,refetch:v}=O(U.listPushSubscriptions,g),N;if(e[1]!==I?.subscriptions||e[2]!==d||e[3]!==x||e[4]!==_||e[5]!==i||e[6]!==v||e[7]!==l||e[8]!==r){let L=I?.subscriptions??[],T=l.trim().toLowerCase(),A=L.filter(a=>i!=="all"&&a.kind!==i?!1:T===""?!0:`${Q(a)} ${a.userId??""}`.toLowerCase().includes(T)),b;e[10]===Symbol.for("react.memo_cache_sentinel")?(b=n(a=>{Z(a.target.value)},"w"),e[10]=b):b=e[10];let ee=b,w;e[11]!==v?(w=n(()=>{v()},"y"),e[11]=v,e[12]=w):w=e[12];let E=w,k;e[13]===Symbol.for("react.memo_cache_sentinel")?(k=["all","web-push","fcm"],e[13]=k):k=e[13];let te=k,c;e[14]!==i||e[15]!==r?(c=(0,t.jsx)("div",{className:"flex items-center gap-1","data-testid":"nt-kind-filter",role:"tablist",children:te.map(a=>(0,t.jsx)(B,{"aria-selected":i===a,"data-testid":`nt-kind-${a}`,onClick:n(()=>{Y(a)},"onClick"),role:"tab",size:"sm",type:"button",variant:i===a?"secondary":"ghost",children:a==="all"?r("All"):a},a))}),e[14]=i,e[15]=r,e[16]=c):c=e[16];let m;e[17]!==r?(m=r("Filter devices"),e[17]=r,e[18]=m):m=e[18];let h;e[19]!==r?(h=r("filter endpoint, user"),e[19]=r,e[20]=h):h=e[20];let u;e[21]!==l||e[22]!==m||e[23]!==h?(u=(0,t.jsx)(R,{"aria-label":m,className:"h-8 w-56","data-testid":"nt-search",onChange:ee,placeholder:h,value:l}),e[21]=l,e[22]=m,e[23]=h,e[24]=u):u=e[24];let f;e[25]!==r?(f=r("Refresh"),e[25]=r,e[26]=f):f=e[26];let p;e[27]!==E||e[28]!==f?(p=(0,t.jsx)(B,{className:"ml-auto","data-testid":"nt-refresh",onClick:E,size:"sm",type:"button",variant:"outline",children:f}),e[27]=E,e[28]=f,e[29]=p):p=e[29];let $=L.length>0&&(0,t.jsx)(S,{"data-testid":"nt-count",variant:"secondary",children:r("{count} devices",{count:L.length})}),y;e[30]!==p||e[31]!==$||e[32]!==c||e[33]!==u?(y=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c,u,p,$]}),e[30]=p,e[31]=$,e[32]=c,e[33]=u,e[34]=y):y=e[34];let C;e[35]!==d||e[36]!==x?(C=d!==null&&(0,t.jsx)(q,{error:x,testId:"nt-error"}),e[35]=d,e[36]=x,e[37]=C):C=e[37],N=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-notifications",children:[y,C,d===null&&!_&&A.length===0&&(0,t.jsx)(D,{description:r("Registered Web Push / FCM devices appear here. Configure lunora/notify.ts with defineNotify({ store }) and register a device with ctx.push.register(...)."),icon:(0,t.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,t.jsx)("path",{d:"M15 17h5l-1.4-1.4A2 2 0 0 1 18 14.2V11a6 6 0 0 0-4-5.7V5a2 2 0 1 0-4 0v.3A6 6 0 0 0 6 11v3.2a2 2 0 0 1-.6 1.4L4 17h5m6 0v1a3 3 0 1 1-6 0v-1m6 0H9"})}),testId:"nt-empty",title:r("No registered devices.")}),A.length>0&&(0,t.jsx)(V,{className:"overflow-hidden py-0",children:(0,t.jsx)(W,{className:"max-h-[30rem] overflow-auto px-0",children:(0,t.jsxs)(G,{"data-testid":"nt-table",children:[(0,t.jsx)(J,{children:(0,t.jsxs)(F,{children:[(0,t.jsx)(s,{children:r("kind")}),(0,t.jsx)(s,{children:r("endpoint")}),(0,t.jsx)(s,{children:r("user")}),(0,t.jsx)(s,{children:r("last seen")}),(0,t.jsx)(s,{children:r("status")}),(0,t.jsx)(s,{children:r("error")})]})}),(0,t.jsx)(K,{children:A.map(a=>{let z=Q(a);return(0,t.jsxs)(F,{"data-testid":"nt-row",children:[(0,t.jsx)(o,{children:(0,t.jsx)(S,{variant:"outline",children:a.kind})}),(0,t.jsx)(o,{className:"max-w-[28ch] truncate font-mono text-xs",title:z,children:z}),(0,t.jsx)(o,{className:"max-w-[16ch] truncate font-mono text-xs",children:a.userId??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})}),(0,t.jsx)(o,{className:"text-muted-foreground tabular-nums",children:H(a.lastSeenAt,"\u2014")}),(0,t.jsx)(o,{children:(0,t.jsx)(S,{"data-testid":`nt-status-${a.id}`,variant:ne(a.lastStatus),children:a.lastStatus??r("n/a")})}),(0,t.jsx)(o,{className:"max-w-[28ch] truncate font-mono text-xs text-muted-foreground",title:a.lastError??void 0,children:a.lastError??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})})]},a.id)})})]})})})]}),e[1]=I?.subscriptions,e[2]=d,e[3]=x,e[4]=_,e[5]=i,e[6]=v,e[7]=l,e[8]=r,e[9]=N}else N=e[9];return N},"ge");export{ve as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{m as u,n as d}from"./chunk-GEITRXJJ.js";import"./chunk-5JDWLCSH.js";import"./chunk-PYT4RZJH.js";import"./chunk-Y6CXU7T4.js";import"./chunk-4L4WTGN5.js";import"./chunk-YUFHPV5Q.js";import{a as c,d as m,f as y,g as b}from"./chunk-YKXDMIHQ.js";var h=m(y(),1);var n=m(b(),1);var p={value:{colors:{dark:["var(--foreground)"],light:["var(--foreground)"]},label:""}},_=c(o=>{let e=(0,h.c)(6),{data:i}=o,a,r;if(e[0]!==i){r=Symbol.for("react.early_return_sentinel");e:{let f=i.slice(-16);if(f.length<3){r=null;break e}a=f.map(g)}e[0]=i,e[1]=a,e[2]=r}else a=e[1],r=e[2];if(r!==Symbol.for("react.early_return_sentinel"))return r;let s=a,t;e[3]===Symbol.for("react.memo_cache_sentinel")?(t=(0,n.jsx)(d,{dataKey:"value"}),e[3]=t):t=e[3];let l;return e[4]!==s?(l=(0,n.jsx)("div",{"aria-hidden":"true",className:"h-8 w-28",children:(0,n.jsx)(u,{animationType:"none",barCategoryGap:1,className:"h-8 w-full",config:p,data:s,children:t})}),e[4]=s,e[5]=l):l=e[5],l},"b");function g(o,e){return{index:e,value:o}}c(g,"h");export{_ as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as h}from"./chunk-MNAASONZ.js";import{a as e}from"./chunk-YKXDMIHQ.js";var m=e((i,o,s)=>h(i,t=>{o(t.height>0?t:{height:s,width:t.width})}),"s");export{m as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as h}from"./chunk-NCCAMFB6.js";import"./chunk-25NFR6EB.js";import{b as A}from"./chunk-Q7UGJSBF.js";import{f as k}from"./chunk-FGSNEPHU.js";import"./chunk-FSRSK4LY.js";import"./chunk-YUFHPV5Q.js";import{a as y,e as S}from"./chunk-WUWBZPUK.js";import{d as I}from"./chunk-FODLDLE2.js";import{a as u,d as w,f as z,g as P}from"./chunk-YKXDMIHQ.js";var N=w(z(),1);var a=w(P(),1);var j=[{key:"accounts",label:"Accounts"},{key:"admin",label:"Admin"},{key:"organization",label:"Organizations"},{key:"passkey",label:"Passkeys"},{key:"twoFactor",label:"Two-factor"}],v=u(e=>{if(e===void 0)return"\u2014";let i=[[86400,"d"],[3600,"h"],[60,"m"]];for(let[t,d]of i)if(e>=t&&e%t===0)return`${String(e/t)}${d}`;return`${String(e)}s`},"v"),p=u(e=>{let i=(0,N.c)(8),{children:t,heading:d,testId:n}=e,l;i[0]!==d?(l=(0,a.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,a.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:d})}),i[0]=d,i[1]=l):l=i[1];let s;i[2]!==t?(s=(0,a.jsx)(S,{className:"p-3",children:t}),i[2]=t,i[3]=s):s=i[3];let c;return i[4]!==l||i[5]!==s||i[6]!==n?(c=(0,a.jsxs)(y,{className:"gap-0 py-0","data-testid":n,children:[l,s]}),i[4]=l,i[5]=s,i[6]=n,i[7]=c):c=i[7],c},"h"),o=u(e=>{let i=(0,N.c)(7),{label:t,value:d}=e,n;i[0]!==t?(n=(0,a.jsx)("span",{className:"text-sm",children:t}),i[0]=t,i[1]=n):n=i[1];let l;i[2]!==d?(l=(0,a.jsx)("span",{className:"text-sm text-muted-foreground tabular-nums",children:d}),i[2]=d,i[3]=l):l=i[3];let s;return i[4]!==n||i[5]!==l?(s=(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2 rounded-xl border border-border bg-card p-2 shadow-xs",children:[n,l]}),i[4]=n,i[5]=l,i[6]=s):s=i[6],s},"c"),M=u(()=>{let e=(0,N.c)(20),i=k(),t=I(),d;e[0]===Symbol.for("react.memo_cache_sentinel")?(d=["lunora-auth-config"],e[0]=d):d=e[0];let n;e[1]!==i?(n=u(()=>i.getAuthConfig(),"r"),e[1]=i,e[2]=n):n=e[2];let{data:l,error:s}=A(d,n),c;e[3]!==t?(c=u(r=>(0,a.jsx)(h,{variant:r?"success":"outline",children:t(r?"Enabled":"Disabled")}),"u"),e[3]=t,e[4]=c):c=e[4];let m=c,g;e[5]!==s?(g=s!==null&&(0,a.jsx)("p",{className:"px-4 py-8 text-center text-sm text-destructive","data-testid":"auth-config-error",role:"alert",children:s}),e[5]=s,e[6]=g):g=e[6];let f;e[7]!==l||e[8]!==s||e[9]!==t?(f=s===null&&l===void 0&&(0,a.jsx)("p",{className:"px-4 py-8 text-center text-sm text-muted-foreground","data-testid":"auth-config-loading",children:t("Loading auth configuration\u2026")}),e[7]=l,e[8]=s,e[9]=t,e[10]=f):f=e[10];let x;e[11]!==l||e[12]!==s||e[13]!==m||e[14]!==t?(x=s===null&&l!==void 0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p,{heading:t("Enabled capabilities"),testId:"auth-config-capabilities",children:(0,a.jsx)("ul",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2",children:j.map(r=>{let $=l.capabilities[r.key];return(0,a.jsxs)("li",{className:"flex items-center justify-between gap-2 rounded-xl border border-border bg-card p-2 shadow-xs","data-testid":`auth-config-cap-${r.key}`,children:[(0,a.jsx)("span",{className:"text-sm",children:t(r.label)}),m($)]},r.key)})})}),(0,a.jsx)(p,{heading:t("Plugins"),testId:"auth-config-plugins",children:l.plugins.length===0?(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:t("No plugins enabled.")}):(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:l.plugins.map(C)})}),(0,a.jsx)(p,{heading:t("Sign-in methods"),testId:"auth-config-signin",children:(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(o,{label:t("Email & password"),value:m(l.emailAndPassword)}),(0,a.jsx)(o,{label:t("Social providers"),value:l.socialProviders.length===0?t("None"):(0,a.jsx)("span",{className:"flex flex-wrap justify-end gap-1",children:l.socialProviders.map(L)})})]})}),l.organization.enabled&&(0,a.jsx)(p,{heading:t("Organizations"),testId:"auth-config-org",children:(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(o,{label:t("Teams"),value:m(l.organization.teams)}),(0,a.jsx)(o,{label:t("Custom roles"),value:m(l.organization.roles)})]})}),(0,a.jsx)(p,{heading:t("Session policy"),testId:"auth-config-session",children:(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(o,{label:t("Expires in"),value:v(l.session.expiresIn)}),(0,a.jsx)(o,{label:t("Refresh after"),value:v(l.session.updateAge)}),(0,a.jsx)(o,{label:t("Fresh window"),value:v(l.session.freshAge)}),(0,a.jsx)(o,{label:t("Cookie cache"),value:m(l.session.cookieCache===!0)})]})}),(0,a.jsx)(p,{heading:t("Rate limit"),testId:"auth-config-ratelimit",children:(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(o,{label:t("Status"),value:m(l.rateLimit.enabled)}),l.rateLimit.enabled&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o,{label:t("Max requests"),value:l.rateLimit.max??"\u2014"}),(0,a.jsx)(o,{label:t("Window"),value:v(l.rateLimit.window)})]})]})}),l.userFields.length>0&&(0,a.jsx)(p,{heading:t("Plugin user fields"),testId:"auth-config-user-fields",children:(0,a.jsx)("ul",{className:"flex flex-col gap-2",children:l.userFields.map(r=>(0,a.jsxs)("li",{className:"flex items-center justify-between gap-2 rounded-xl border border-border bg-card p-2 shadow-xs","data-testid":`auth-config-user-field-${r.name}`,children:[(0,a.jsxs)("span",{className:"flex flex-col",children:[(0,a.jsx)("span",{className:"font-mono text-xs",children:r.name}),r.plugin!==void 0&&(0,a.jsx)("span",{className:"text-[11px] text-muted-foreground",children:r.plugin})]}),(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(h,{variant:"outline",children:r.type}),r.required&&(0,a.jsx)(h,{variant:"secondary",children:t("required")}),r.unique&&(0,a.jsx)(h,{variant:"secondary",children:t("unique")})]})]},r.name))})}),(0,a.jsx)(y,{className:"gap-0 py-0",children:(0,a.jsx)("p",{className:"px-4 py-3 text-xs text-muted-foreground","data-testid":"auth-config-note",children:t("OAuth providers, email templates, and rate limits are configured at deploy time in the better-auth setup and aren't editable here. See the Mail tab for email output.")})})]}),e[11]=l,e[12]=s,e[13]=m,e[14]=t,e[15]=x):x=e[15];let b;return e[16]!==g||e[17]!==f||e[18]!==x?(b=(0,a.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"auth-config",children:[g,f,x]}),e[16]=g,e[17]=f,e[18]=x,e[19]=b):b=e[19],b},"O");function C(e){return(0,a.jsx)(h,{"data-testid":`auth-config-plugin-${e}`,variant:"outline",children:e},e)}u(C,"P");function L(e){return(0,a.jsx)(h,{"data-testid":`auth-config-provider-${e}`,variant:"outline",children:e},e)}u(L,"z");export{M as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{b as o,c as i}from"./chunk-OKG3HWSJ.js";import{a as t}from"./chunk-YKXDMIHQ.js";var a="lunora-studio-recent-shards",c=10,n=t(()=>o(a,"session").filter(s=>typeof s=="string"),"o"),u=t(s=>{let r=s.trim();if(r==="")return n();let e=[r,...n().filter(l=>l!==r)].slice(0,c);return i(a,e,"session"),e},"l");export{n as a,u as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as c,d as p,e as b,f as v}from"./chunk-YKXDMIHQ.js";var h=p(v(),1),g=p(b(),1);var y=c((a="local")=>{try{return a==="local"?globalThis.localStorage:globalThis.sessionStorage}catch{return}},"d"),S=c(function(a,s="local"){try{let r=y(s)?.getItem(a)??void 0,t=r===void 0?[]:JSON.parse(r);return Array.isArray(t)?t:[]}catch{return[]}},"g"),I=c((a,s,r="local")=>{let t=y(r);if(t!==void 0)try{t.setItem(a,JSON.stringify(s))}catch{}},"I"),A=c((a,s="local")=>{try{y(s)?.removeItem(a)}catch{}},"A"),T=c(function(a,s){let r=(0,h.c)(10),t=s===void 0?"local":s,u;r[0]!==a||r[1]!==t?(u=c(()=>S(a,t),"i"),r[0]=a,r[1]=t,r[2]=u):u=r[2];let[n,f]=(0,g.useState)(u),i=(0,g.useRef)(`${t}:${a}`),e,l;r[3]!==a||r[4]!==t||r[5]!==n?(e=c(()=>{let m=`${t}:${a}`;if(i.current!==m){i.current=m,f(S(a,t));return}I(a,n,t)},"c"),l=[a,t,n],r[3]=a,r[4]=t,r[5]=n,r[6]=e,r[7]=l):(e=r[6],l=r[7]),(0,g.useEffect)(e,l);let o;return r[8]!==n?(o=[n,f],r[8]=n,r[9]=o):o=r[9],o},"J"),J=c(function(a,s,r){let t=(0,h.c)(6),u="local",[n,f]=T(a,u),i;t[0]!==s||t[1]!==f?(i=c(m=>{f($=>{let d=$[0]??s;return[typeof m=="function"?m(d):m]})},"a"),t[0]=s,t[1]=f,t[2]=i):i=t[2];let e=i,l=n[0]??s,o;return t[3]!==e||t[4]!==l?(o=[l,e],t[3]=e,t[4]=l,t[5]=o):o=t[5],o},"O"),O=c(a=>globalThis.crypto?.randomUUID?.()??`${a}-${globalThis.performance.now().toString(36)}`,"V");export{y as a,S as b,I as c,A as d,T as e,J as f,O as g};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as l}from"./chunk-YKXDMIHQ.js";var p=l(r=>{let n="";for(let c=0;c<r.length;c+=32768)n+=String.fromCharCode(...r.subarray(c,c+32768));return btoa(n)},"m"),h=l(r=>{let n=atob(r),c=new Uint8Array(n.length);for(let s=0;s<n.length;s+=1)c[s]=n.codePointAt(s)??0;return c},"l"),i="$lunora.wire$",d="__proto__",w={BigInt64Array,BigUint64Array,Float32Array,Float64Array,Int8Array,Int16Array,Int32Array,Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array},m={Error,EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError},g=l(r=>{if(r===null||typeof r!="object")return!1;let n=Object.getPrototypeOf(r);return n===null||n===Object.prototype},"p"),y=l((r,n=0)=>{if(n>64)throw new RangeError("wire-codec: value nesting exceeds the 64-level limit");if(r===void 0)return[i,"undefined"];if(r===null)return null;let c=typeof r;if(c==="bigint")return[i,"bigint",r.toString()];if(c==="number"){let e=r;return Number.isNaN(e)?[i,"nan"]:e===1/0?[i,"inf"]:e===-1/0?[i,"-inf"]:e}if(c!=="object")return r;if(r instanceof Date)return[i,"date",y(r.getTime(),n+1)];if(r instanceof Error){let e=r,o={};for(let u of Object.keys(e))e[u]!==void 0&&(o[u]=y(e[u],n+1));let a=[i,"error",e.name,e.message,o];return e.cause!==void 0&&a.push(y(e.cause,n+1)),a}if(r instanceof URL)return[i,"url",r.href];if(r instanceof Map)return[i,"map",[...r.entries()].map(([e,o])=>[y(e,n+1),y(o,n+1)])];if(r instanceof Set)return[i,"set",[...r].map(e=>y(e,n+1))];if(r instanceof ArrayBuffer)return[i,"bytes",p(new Uint8Array(r)),"ArrayBuffer"];if(ArrayBuffer.isView(r)){let e=r,o=e.constructor.name,a=new Uint8Array(e.buffer,e.byteOffset,e.byteLength);return o==="Uint8Array"?[i,"bytes",p(a)]:[i,"bytes",p(a),o]}if(Array.isArray(r)){let e=r.map(o=>y(o,n+1));return e.length>0&&e[0]===i?[i,"arr",e]:e}if(!g(r)){let e=r.constructor?.name??"value";throw new TypeError(`wire-codec: cannot encode a ${e} over the Lunora wire \u2014 only plain objects, arrays, and the supported built-ins (Date, Error, URL, Map, Set, ArrayBuffer/typed arrays, bigint) round-trip`)}let s=r,t={};for(let e of Object.keys(s)){let o=s[e];if(o===void 0)continue;let a=y(o,n+1);e===d?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,value:a,writable:!0}):t[e]=a}return t},"u"),f=l((r,n=0)=>{if(n>64)throw new RangeError("wire-codec: value nesting exceeds the 64-level limit");if(r===null||typeof r!="object")return r;if(Array.isArray(r)){if(r[0]===i)switch(r[1]){case"-inf":return-1/0;case"arr":return r[2].map(t=>f(t,n+1));case"bigint":{let t=r[2];if(typeof t!="string"||t.length>1024||!/^-?\d+$/.test(t))throw new RangeError("wire-codec: invalid or over-long bigint (max 1024 digits)");return BigInt(t)}case"date":{let t=f(r[2],n+1);if(typeof t!="number")throw new TypeError("wire-codec: malformed date \u2014 epoch must be a number");return new Date(t)}case"map":{let t=r[2];return new Map(t.map(e=>{if(!Array.isArray(e)||e.length!==2)throw new TypeError("wire-codec: malformed map entry \u2014 expected a [key, value] pair");return[f(e[0],n+1),f(e[1],n+1)]}))}case"set":return new Set(r[2].map(t=>f(t,n+1)));case"url":{let t=r[2];if(typeof t!="string")throw new TypeError("wire-codec: malformed url \u2014 href must be a string");return new URL(t)}case"error":{let t=r[2],e=r[3],o=(Object.hasOwn(m,t)?m[t]:void 0)??Error,a=new o(e);a.name!==t&&Object.defineProperty(a,"name",{configurable:!0,value:t,writable:!0});let u=f(r[4],n+1);if(u===null||typeof u!="object"||Array.isArray(u))throw new TypeError("wire-codec: malformed error \u2014 props must be an object");for(let b of Object.keys(u))b===d?Object.defineProperty(a,b,{configurable:!0,enumerable:!0,value:u[b],writable:!0}):a[b]=u[b];return r.length>5&&Object.defineProperty(a,"cause",{configurable:!0,value:f(r[5],n+1),writable:!0}),a}case"bytes":{let t=r[2];if(typeof t!="string")throw new TypeError("wire-codec: malformed bytes \u2014 payload must be a base64 string");let e=h(t),o=r[3]??"Uint8Array";if(o==="ArrayBuffer")return e.buffer.byteLength===e.byteLength?e.buffer:e.slice().buffer;let a=Object.hasOwn(w,o)?w[o]:void 0;return a?new a(e.slice().buffer):e}case"inf":return 1/0;case"nan":return Number.NaN;case"undefined":return;default:return r.map(t=>f(t,n+1))}return r.map(t=>f(t,n+1))}let c=r,s={};for(let t of Object.keys(c)){let e=f(c[t],n+1);t===d?Object.defineProperty(s,t,{configurable:!0,enumerable:!0,value:e,writable:!0}):s[t]=e}return s},"f"),A=l(r=>{try{let n=f(JSON.parse(r));return g(n)?n:void 0}catch{return}},"E");export{g as a,y as b,f as c,A as d};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as O}from"./chunk-EA2JKR5D.js";import{a as C}from"./chunk-IMOHEGMV.js";import{b as v}from"./chunk-NCCAMFB6.js";import"./chunk-25NFR6EB.js";import{a as k}from"./chunk-TPPJQZRS.js";import"./chunk-ULIQFBZU.js";import"./chunk-C37WBSYD.js";import"./chunk-35DM4JJG.js";import{a as S}from"./chunk-4ZEL6BYL.js";import{c as b}from"./chunk-Q7UGJSBF.js";import"./chunk-FGSNEPHU.js";import"./chunk-FSRSK4LY.js";import"./chunk-YUFHPV5Q.js";import{a as c}from"./chunk-FKVZRPV5.js";import{a as w,b as T,c as A,d as f,e as s,f as l}from"./chunk-HEAQVSNS.js";import{a as y,e as N}from"./chunk-WUWBZPUK.js";import{d as p}from"./chunk-FODLDLE2.js";import{a as n,d as x,e as R,g as V}from"./chunk-YKXDMIHQ.js";var F=x(R(),1);var e=x(V(),1);var $=n(a=>{let t=a.trim();if(t.length===0)return{context:void 0,error:null};try{let o=JSON.parse(t);return o===null||typeof o!="object"||Array.isArray(o)?{context:void 0,error:"Targeting context must be a JSON object."}:{context:o,error:null}}catch{return{context:void 0,error:"Targeting context is not valid JSON."}}},"H"),q='{ "targetingKey": "user-123", "plan": "premium" }',D=n(a=>a.type==="object"?JSON.stringify(a.value):String(a.value),"R"),Y=n(({initialShardKey:a=""})=>{let t=p(),[o,j]=(0,F.useState)(""),{context:g,error:m}=$(o),I=g===void 0?{}:{context:g},{data:i,error:J,errorSource:K,liveError:E}=b(S.listFlags,I,{live:!0,shardKey:a}),u=i!==void 0,L=i?.configured??!1,h=Array.isArray(i?.flags)?[...i.flags].toSorted((r,B)=>r.key.localeCompare(B.key)):[],d;return u&&!L?d=(0,e.jsx)(c,{description:t("No @lunora/flags provider is wired in this deployment. Add lunora/flags.ts with defineFlags({ provider }) to gate code paths on feature flags."),testId:"flags-unconfigured",title:t("No flags provider configured")}):u&&h.length===0?d=(0,e.jsx)(c,{description:t('A flags provider is configured, but no handler reads a flag yet. Call ctx.flags.boolean("key", false) in a query, mutation, or action.'),testId:"flags-empty",title:t("No flags read")}):d=(0,e.jsx)(y,{className:"overflow-hidden py-0",children:(0,e.jsx)(N,{className:"px-0",children:(0,e.jsxs)(w,{"data-testid":"flags-table",children:[(0,e.jsx)(T,{children:(0,e.jsxs)(f,{children:[(0,e.jsx)(s,{children:t("Key")}),(0,e.jsx)(s,{children:t("Type")}),(0,e.jsx)(s,{children:t("Value")}),(0,e.jsx)(s,{children:t("Reason")}),(0,e.jsx)(s,{children:t("Variant")})]})}),(0,e.jsx)(A,{children:h.map(r=>(0,e.jsxs)(f,{"data-testid":`flags-row-${r.key}`,children:[(0,e.jsx)(l,{className:"font-mono text-xs",children:r.key}),(0,e.jsx)(l,{className:"font-mono text-xs text-muted-foreground",children:r.type}),(0,e.jsx)(l,{className:"font-mono text-xs",children:D(r)}),(0,e.jsx)(l,{children:r.errorCode===void 0?(0,e.jsx)("span",{className:"font-mono text-xs text-muted-foreground",children:r.reason??"\u2014"}):(0,e.jsx)(v,{"data-testid":`flags-error-${r.key}`,variant:"destructive",children:r.errorCode})}),(0,e.jsx)(l,{className:"font-mono text-xs text-muted-foreground",children:r.variant??"\u2014"})]},r.key))})]})})}),(0,e.jsxs)("div",{className:"flex flex-col gap-6","data-testid":"lunora-flags-panel",children:[J!==null&&(0,e.jsx)(k,{error:K,testId:"flags-error"}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:t('Feature flags are read in code with ctx.flags.<type>("key", default). They evaluate through the OpenFeature provider configured in lunora/flags.ts; edit the targeting context below to see how each flag resolves for a given audience.')}),(0,e.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,e.jsx)(C,{htmlFor:"flags-targeting-context",children:t("Targeting context (JSON)")}),(0,e.jsx)(O,{className:"font-mono text-xs","data-testid":"flags-context-input",id:"flags-targeting-context",onChange:n(r=>{j(r.target.value)},"onChange"),placeholder:q,rows:3,value:o}),m!==null&&(0,e.jsx)("p",{className:"text-xs text-destructive","data-testid":"flags-context-error",role:"alert",children:t(m)}),E!==void 0&&(0,e.jsx)("p",{className:"text-xs text-amber-600 dark:text-amber-500","data-testid":"flags-live-error",role:"alert",children:t("Live updates unavailable; showing the last evaluation.")})]}),d]})},"W");export{Y as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as ge,b as fe,c as xe,d as Ne,e as Ce}from"./chunk-U5JDESCI.js";import"./chunk-I52I2DJG.js";import"./chunk-TWTNWOJU.js";import{a as ce}from"./chunk-EA2JKR5D.js";import{a as ue}from"./chunk-VVOVVU53.js";import{a as q}from"./chunk-IMOHEGMV.js";import{g as me,h as ve,i as pe,j as ye}from"./chunk-XNMDBPSX.js";import"./chunk-Q4CAKBWN.js";import"./chunk-PNHK6UE2.js";import"./chunk-RLLKECZT.js";import"./chunk-7RIRJD2P.js";import"./chunk-C3TOZ4LG.js";import"./chunk-D27D4UUI.js";import"./chunk-SB35BJ7A.js";import"./chunk-FO26ZU7E.js";import"./chunk-5WJXVZMZ.js";import"./chunk-PYT4RZJH.js";import"./chunk-K7AJEMKE.js";import"./chunk-JVUZEYKQ.js";import"./chunk-OKG3HWSJ.js";import{P as ae}from"./chunk-46ZJ3TM4.js";import"./chunk-Y6CXU7T4.js";import"./chunk-4L4WTGN5.js";import{a as $}from"./chunk-EBWXFG4H.js";import"./chunk-TGHH7ZFA.js";import"./chunk-5GFSKIB2.js";import{b as he}from"./chunk-NCCAMFB6.js";import"./chunk-25NFR6EB.js";import"./chunk-35DM4JJG.js";import"./chunk-4ZEL6BYL.js";import"./chunk-Q7UGJSBF.js";import{f as G}from"./chunk-FGSNEPHU.js";import"./chunk-FSRSK4LY.js";import"./chunk-YUFHPV5Q.js";import{a as ke}from"./chunk-FKVZRPV5.js";import{a as ie,b as se,c as oe,d as Q,e as X,f as Y}from"./chunk-HEAQVSNS.js";import{a as re,e as ne}from"./chunk-WUWBZPUK.js";import{d as R,h as Z,l as be,o as z,q as de}from"./chunk-FODLDLE2.js";import{a as s,d as le,e as Oe,f as _e,g as De}from"./chunk-YKXDMIHQ.js";var P=le(Oe(),1);var ee=le(_e(),1);var a=le(De(),1);var Be=s(l=>{let e=l.trim();if(e==="")return;let d=Number(e);return Number.isFinite(d)&&d>0?Math.floor(d):void 0},"Be"),Le=s(l=>l===void 0?"\u2014":new Date(l*1e3).toISOString(),"Oe"),Je=s(l=>new TextEncoder().encode(l).length,"Ae"),Fe=s(l=>{if(l.trim()!=="")try{return JSON.stringify(JSON.parse(l),void 0,2)}catch{return}},"ge"),Ke=s(l=>{if(l.trim()==="")return!0;try{return JSON.parse(l),!0}catch{return!1}},"xe"),Ee=[{key:"seconds",seconds:1},{key:"minutes",seconds:60},{key:"hours",seconds:3600},{key:"days",seconds:86400}],we=s((l,e)=>{let d=l.trim();if(d==="")return"";let u=Number(d),i=Ee.find(v=>v.key===e)?.seconds??1;return Number.isFinite(u)&&u>0?String(Math.round(u*i)):d},"ue"),Ve=s(l=>{let e=l.trim();if(e==="")return!0;let d=Number(e);return Number.isInteger(d)&&d>=60},"Ce"),Te=s((l,e,d,u)=>{let i=Be(l.ttl);return{expiration:i===void 0?u:void 0,expirationTtl:i,key:e,metadata:l.metadata.trim()===""?void 0:JSON.parse(l.metadata),namespace:d,value:l.value}},"Se"),Me=s(l=>{let e=(0,ee.c)(60),{helper:d,id:u,invalid:i,onChange:v,testId:o}=l,t=R(),[r,p]=(0,P.useState)(""),[c,x]=(0,P.useState)("seconds"),g;e[0]!==v||e[1]!==c?(g=s(f=>{p(f.target.value),v(we(f.target.value,c))},"k"),e[0]=v,e[1]=c,e[2]=g):g=e[2];let O=g,V;e[3]!==r||e[4]!==v?(V=s(f=>{f!==null&&(x(f),v(we(r,f)))},"K"),e[3]=r,e[4]=v,e[5]=V):V=e[5];let _=V,y;e[6]!==t?(y=t("days"),e[6]=t,e[7]=y):y=e[7];let m;e[8]!==t?(m=t("hours"),e[8]=t,e[9]=m):m=e[9];let h;e[10]!==t?(h=t("minutes"),e[10]=t,e[11]=h):h=e[11];let N;e[12]!==t?(N=t("seconds"),e[12]=t,e[13]=N):N=e[13];let C;e[14]!==y||e[15]!==m||e[16]!==h||e[17]!==N?(C={days:y,hours:m,minutes:h,seconds:N},e[14]=y,e[15]=m,e[16]=h,e[17]=N,e[18]=C):C=e[18];let w=C,b;e[19]!==t?(b=t("Expires after"),e[19]=t,e[20]=b):b=e[20];let S;e[21]!==u||e[22]!==b?(S=(0,a.jsx)(q,{className:"text-xs",htmlFor:u,children:b}),e[21]=u,e[22]=b,e[23]=S):S=e[23];let E;e[24]!==t?(E=t("No expiration"),e[24]=t,e[25]=E):E=e[25];let B;e[26]!==r||e[27]!==u||e[28]!==i||e[29]!==O||e[30]!==E||e[31]!==o?(B=(0,a.jsx)(ae,{"aria-invalid":i,className:"flex-1","data-testid":o,id:u,inputMode:"numeric",onChange:O,placeholder:E,value:r}),e[26]=r,e[27]=u,e[28]=i,e[29]=O,e[30]=E,e[31]=o,e[32]=B):B=e[32];let T;e[33]!==t?(T=t("TTL unit"),e[33]=t,e[34]=T):T=e[34];let J=`${o}-unit`,L;e[35]===Symbol.for("react.memo_cache_sentinel")?(L=(0,a.jsx)(fe,{}),e[35]=L):L=e[35];let M;e[36]!==T||e[37]!==J?(M=(0,a.jsx)(xe,{"aria-label":T,className:"w-[7.5rem]","data-testid":J,children:L}),e[36]=T,e[37]=J,e[38]=M):M=e[38];let n;e[39]!==w?(n=Ee.map(f=>(0,a.jsx)(Ce,{value:f.key,children:w[f.key]},f.key)),e[39]=w,e[40]=n):n=e[40];let k;e[41]!==n?(k=(0,a.jsx)(Ne,{children:n}),e[41]=n,e[42]=k):k=e[42];let F;e[43]!==_||e[44]!==M||e[45]!==k||e[46]!==c?(F=(0,a.jsxs)(ge,{onValueChange:_,value:c,children:[M,k]}),e[43]=_,e[44]=M,e[45]=k,e[46]=c,e[47]=F):F=e[47];let I;e[48]!==B||e[49]!==F?(I=(0,a.jsxs)("div",{className:"flex gap-2",children:[B,F]}),e[48]=B,e[49]=F,e[50]=I):I=e[50];let K;e[51]!==d||e[52]!==i||e[53]!==t||e[54]!==o?(K=i?(0,a.jsx)("p",{className:"text-xs text-destructive","data-testid":`${o}-invalid`,children:t("TTL must be at least 60 seconds.")}):d!==void 0&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground",children:d}),e[51]=d,e[52]=i,e[53]=t,e[54]=o,e[55]=K):K=e[55];let D;return e[56]!==I||e[57]!==K||e[58]!==S?(D=(0,a.jsxs)("div",{className:"mb-3 grid gap-1",children:[S,I,K]}),e[56]=I,e[57]=K,e[58]=S,e[59]=D):D=e[59],D},"we"),Ie=s(l=>{let e=(0,ee.c)(36),{id:d,invalidTestId:u,onChange:i,testId:v,valid:o,value:t}=l,r=R(),p;e[0]!==t?(p=Fe(t),e[0]=t,e[1]=p):p=e[1];let c=p,x;e[2]!==r?(x=r("Metadata (JSON)"),e[2]=r,e[3]=x):x=e[3];let g;e[4]!==d||e[5]!==x?(g=(0,a.jsx)(q,{className:"text-xs",htmlFor:d,children:x}),e[4]=d,e[5]=x,e[6]=g):g=e[6];let O=`${v}-format`,V=c===void 0,_;e[7]!==c||e[8]!==i?(_=s(()=>{c!==void 0&&i(c)},"L"),e[7]=c,e[8]=i,e[9]=_):_=e[9];let y;e[10]!==r?(y=r("Format JSON"),e[10]=r,e[11]=y):y=e[11];let m;e[12]!==O||e[13]!==V||e[14]!==_||e[15]!==y?(m=(0,a.jsx)($,{"data-testid":O,disabled:V,onClick:_,size:"sm",variant:"outline",children:y}),e[12]=O,e[13]=V,e[14]=_,e[15]=y,e[16]=m):m=e[16];let h;e[17]!==g||e[18]!==m?(h=(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[g,m]}),e[17]=g,e[18]=m,e[19]=h):h=e[19];let N=!o,C;e[20]!==i?(C=s(E=>{i(E.target.value)},"N"),e[20]=i,e[21]=C):C=e[21];let w;e[22]!==d||e[23]!==N||e[24]!==C||e[25]!==v||e[26]!==t?(w=(0,a.jsx)(ce,{"aria-invalid":N,className:"min-h-[4rem] font-mono text-xs","data-testid":v,id:d,onChange:C,value:t}),e[22]=d,e[23]=N,e[24]=C,e[25]=v,e[26]=t,e[27]=w):w=e[27];let b;e[28]!==u||e[29]!==r||e[30]!==o?(b=!o&&(0,a.jsx)("p",{className:"text-xs text-destructive","data-testid":u,children:r("Metadata must be valid JSON.")}),e[28]=u,e[29]=r,e[30]=o,e[31]=b):b=e[31];let S;return e[32]!==w||e[33]!==b||e[34]!==h?(S=(0,a.jsxs)("div",{className:"mb-3 grid gap-1",children:[h,w,b]}),e[32]=w,e[33]=b,e[34]=h,e[35]=S):S=e[35],S},"Te"),Pe={busy:!1,error:null,metadata:"",name:"",ttl:"",value:""},$e=s((l,e)=>{switch(e.type){case"setField":return{...l,[e.field]:e.value};case"submitFailed":return{...l,busy:!1,error:e.error};case"submitStart":return{...l,busy:!0,error:null};default:return l}},"Je"),je=s(l=>{let e=(0,ee.c)(73),{namespace:d,onCancel:u,onCreated:i}=l,v=G(),o=R(),[t,r]=(0,P.useReducer)($e,Pe),p;e[0]!==t.metadata?(p=Ke(t.metadata),e[0]=t.metadata,e[1]=p):p=e[1];let c=p,x;e[2]!==t.ttl?(x=Ve(t.ttl),e[2]=t.ttl,e[3]=x):x=e[3];let g=x,O;e[4]!==c||e[5]!==t.busy||e[6]!==t.name||e[7]!==g?(O=t.name.trim()!==""&&c&&g&&!t.busy,e[4]=c,e[5]=t.busy,e[6]=t.name,e[7]=g,e[8]=O):O=e[8];let V=O,_;e[9]!==V||e[10]!==v||e[11]!==d||e[12]!==i||e[13]!==t.metadata||e[14]!==t.name||e[15]!==t.ttl||e[16]!==t.value?(_=s(()=>{V&&(r({type:"submitStart"}),z((async()=>{try{await v.putKvValue(Te({metadata:t.metadata,ttl:t.ttl,value:t.value},t.name,d)),i()}catch(A){r({error:Z(A),type:"submitFailed"})}})()))},"L"),e[9]=V,e[10]=v,e[11]=d,e[12]=i,e[13]=t.metadata,e[14]=t.name,e[15]=t.ttl,e[16]=t.value,e[17]=_):_=e[17];let y=_,m;e[18]!==o?(m=o("Key name"),e[18]=o,e[19]=m):m=e[19];let h;e[20]!==m?(h=(0,a.jsx)(q,{className:"text-xs",htmlFor:"kv-create-name",children:m}),e[20]=m,e[21]=h):h=e[21];let N;e[22]===Symbol.for("react.memo_cache_sentinel")?(N=s(A=>{r({field:"name",type:"setField",value:A.target.value})},"x"),e[22]=N):N=e[22];let C;e[23]!==o?(C=o("Key name"),e[23]=o,e[24]=C):C=e[24];let w;e[25]!==t.name||e[26]!==C?(w=(0,a.jsx)(ae,{autoFocus:!0,"data-testid":"kv-create-name",id:"kv-create-name",onChange:N,placeholder:C,value:t.name}),e[25]=t.name,e[26]=C,e[27]=w):w=e[27];let b;e[28]!==h||e[29]!==w?(b=(0,a.jsxs)("div",{className:"grid gap-1",children:[h,w]}),e[28]=h,e[29]=w,e[30]=b):b=e[30];let S;e[31]!==o?(S=o("Value"),e[31]=o,e[32]=S):S=e[32];let E;e[33]!==S?(E=(0,a.jsx)(q,{className:"text-xs",htmlFor:"kv-create-value",children:S}),e[33]=S,e[34]=E):E=e[34];let B;e[35]===Symbol.for("react.memo_cache_sentinel")?(B=s(A=>{r({field:"value",type:"setField",value:A.target.value})},"O"),e[35]=B):B=e[35];let T;e[36]!==t.value?(T=(0,a.jsx)(ce,{className:"min-h-[6rem] font-mono text-xs","data-testid":"kv-create-value",id:"kv-create-value",onChange:B,value:t.value}),e[36]=t.value,e[37]=T):T=e[37];let J;e[38]!==E||e[39]!==T?(J=(0,a.jsxs)("div",{className:"grid gap-1",children:[E,T]}),e[38]=E,e[39]=T,e[40]=J):J=e[40];let L=!g,M;e[41]===Symbol.for("react.memo_cache_sentinel")?(M=s(A=>{r({field:"ttl",type:"setField",value:A})},"I"),e[41]=M):M=e[41];let n;e[42]!==L?(n=(0,a.jsx)(Me,{id:"kv-create-ttl",invalid:L,onChange:M,testId:"kv-create-ttl"}),e[42]=L,e[43]=n):n=e[43];let k;e[44]===Symbol.for("react.memo_cache_sentinel")?(k=s(A=>{r({field:"metadata",type:"setField",value:A})},"h"),e[44]=k):k=e[44];let F;e[45]!==c||e[46]!==t.metadata?(F=(0,a.jsx)(Ie,{id:"kv-create-metadata",invalidTestId:"kv-create-metadata-invalid",onChange:k,testId:"kv-create-metadata",valid:c,value:t.metadata}),e[45]=c,e[46]=t.metadata,e[47]=F):F=e[47];let I=!V,K;e[48]!==t.busy||e[49]!==o?(K=t.busy?o("Creating\u2026"):o("Create key"),e[48]=t.busy,e[49]=o,e[50]=K):K=e[50];let D;e[51]!==y||e[52]!==I||e[53]!==K?(D=(0,a.jsx)($,{"data-testid":"kv-create-submit",disabled:I,onClick:y,children:K}),e[51]=y,e[52]=I,e[53]=K,e[54]=D):D=e[54];let f=t.busy,j;e[55]!==o?(j=o("Cancel"),e[55]=o,e[56]=j):j=e[56];let H;e[57]!==u||e[58]!==t.busy||e[59]!==j?(H=(0,a.jsx)($,{"data-testid":"kv-create-cancel",disabled:f,onClick:u,variant:"outline",children:j}),e[57]=u,e[58]=t.busy,e[59]=j,e[60]=H):H=e[60];let U;e[61]!==D||e[62]!==H?(U=(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[D,H]}),e[61]=D,e[62]=H,e[63]=U):U=e[63];let W;e[64]!==t.error?(W=t.error!==null&&(0,a.jsx)("p",{className:"text-sm text-destructive","data-testid":"kv-create-error",role:"alert",children:t.error}),e[64]=t.error,e[65]=W):W=e[65];let te;return e[66]!==b||e[67]!==J||e[68]!==n||e[69]!==F||e[70]!==U||e[71]!==W?(te=(0,a.jsxs)("div",{className:"grid gap-3 px-4 pb-4","data-testid":"kv-create-form",children:[b,J,n,F,U,W]}),e[66]=b,e[67]=J,e[68]=n,e[69]=F,e[70]=U,e[71]=W,e[72]=te):te=e[72],te},"Pe"),Ae={busy:"",editedMetadata:"",editedTtl:"",editedValue:"",loadError:null,loading:!0,value:null,writeError:null},ze=s((l,e)=>{switch(e.type){case"deleteStart":return{...l,busy:"deleting",writeError:null};case"editMetadata":return{...l,editedMetadata:e.value};case"editTtl":return{...l,editedTtl:e.value};case"editValue":return{...l,editedValue:e.value};case"loaded":return{...l,editedMetadata:e.metadata===null||e.metadata===void 0?"":JSON.stringify(e.metadata,null,2),editedValue:e.value??"",loading:!1,value:e.value};case"loadFailed":return{...l,loadError:e.error,loading:!1};case"saveOk":return{...l,busy:"",value:l.editedValue};case"saveStart":return{...l,busy:"saving",writeError:null};case"writeFailed":return{...l,busy:"",writeError:e.error};default:return l}},"je"),He=s(l=>{let e=(0,ee.c)(67),{expiration:d,keyName:u,namespace:i,onDeleted:v}=l,o=G(),t=R(),[r,p]=(0,P.useReducer)(ze,Ae),c,x;e[0]!==o||e[1]!==u||e[2]!==i?(c=s(()=>{let f={cancelled:!1};return z((async()=>{try{let j=await o.getKvValue({key:u,namespace:i});f.cancelled||p({metadata:j.metadata,type:"loaded",value:j.value})}catch(j){let H=j;f.cancelled||p({error:Z(H),type:"loadFailed"})}})()),()=>{f.cancelled=!0}},"o"),x=[o,i,u],e[0]=o,e[1]=u,e[2]=i,e[3]=c,e[4]=x):(c=e[3],x=e[4]),(0,P.useEffect)(c,x);let g;e[5]===Symbol.for("react.memo_cache_sentinel")?(g=s(f=>{p({type:"editValue",value:f.target.value})},"k"),e[5]=g):g=e[5];let O=g,V;e[6]===Symbol.for("react.memo_cache_sentinel")?(V=s(f=>{p({type:"editMetadata",value:f})},"K"),e[6]=V):V=e[6];let _=V,y;e[7]!==r.editedValue?(y=Fe(r.editedValue),e[7]=r.editedValue,e[8]=y):y=e[8];let m=y,h;e[9]!==r.editedMetadata?(h=Ke(r.editedMetadata),e[9]=r.editedMetadata,e[10]=h):h=e[10];let N=h,C;e[11]!==r.editedTtl?(C=Ve(r.editedTtl),e[11]=r.editedTtl,e[12]=C):C=e[12];let w=C,b;e[13]!==m?(b=s(()=>{m!==void 0&&p({type:"editValue",value:m})},"y"),e[13]=m,e[14]=b):b=e[14];let S=b,E;e[15]!==o||e[16]!==d||e[17]!==u||e[18]!==N||e[19]!==i||e[20]!==r.editedMetadata||e[21]!==r.editedTtl||e[22]!==r.editedValue||e[23]!==t?(E=s(()=>{if(!N){p({error:t("Metadata must be valid JSON."),type:"writeFailed"});return}p({type:"saveStart"}),z((async()=>{try{await o.putKvValue(Te({metadata:r.editedMetadata,ttl:r.editedTtl,value:r.editedValue},u,i,d)),p({type:"saveOk"})}catch(f){p({error:Z(f),type:"writeFailed"})}})())},"F"),e[15]=o,e[16]=d,e[17]=u,e[18]=N,e[19]=i,e[20]=r.editedMetadata,e[21]=r.editedTtl,e[22]=r.editedValue,e[23]=t,e[24]=E):E=e[24];let B=E,T;e[25]!==o||e[26]!==u||e[27]!==i||e[28]!==v?(T=s(()=>{p({type:"deleteStart"}),z((async()=>{try{await o.deleteKvKey({key:u,namespace:i}),v(u)}catch(f){p({error:Z(f),type:"writeFailed"})}})())},"V"),e[25]=o,e[26]=u,e[27]=i,e[28]=v,e[29]=T):T=e[29];let J=T,L;e[30]!==u?(L=s(()=>{de(u)},"A"),e[30]=u,e[31]=L):L=e[31];let M;e[32]!==t?(M=t("Copy key"),e[32]=t,e[33]=M):M=e[33];let n;e[34]!==L||e[35]!==M?(n=(0,a.jsx)("div",{className:"mb-2 flex justify-end",children:(0,a.jsx)($,{"data-testid":"kv-copy-key-btn",onClick:L,size:"sm",variant:"outline",children:M})}),e[34]=L,e[35]=M,e[36]=n):n=e[36];let k;e[37]!==r.loadError?(k=r.loadError!==null&&(0,a.jsx)("p",{className:"mb-2 text-sm text-destructive","data-testid":"kv-value-error",role:"alert",children:r.loadError}),e[37]=r.loadError,e[38]=k):k=e[38];let F;e[39]!==r.loading||e[40]!==t?(F=r.loading&&(0,a.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"kv-value-loading",children:t("Loading\u2026")}),e[39]=r.loading,e[40]=t,e[41]=F):F=e[41];let I;e[42]!==m||e[43]!==N||e[44]!==J||e[45]!==S||e[46]!==B||e[47]!==r.busy||e[48]!==r.editedMetadata||e[49]!==r.editedValue||e[50]!==r.loading||e[51]!==r.value||e[52]!==r.writeError||e[53]!==t||e[54]!==w?(I=!r.loading&&r.value!==null&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"mb-1 flex flex-wrap items-center gap-2",children:[(0,a.jsx)(q,{className:"text-xs",htmlFor:"kv-value-editor",children:t("Value")}),m!==void 0&&(0,a.jsx)(he,{variant:"secondary",children:t("JSON")}),(0,a.jsx)("span",{className:"ml-auto text-xs tabular-nums text-muted-foreground","data-testid":"kv-value-size",children:be(Je(r.editedValue))})]}),(0,a.jsx)("textarea",{"aria-label":t("KV value"),className:"mb-2 min-h-[8rem] w-full rounded border border-border bg-muted/30 p-2 font-mono text-xs","data-testid":"kv-value-editor",id:"kv-value-editor",onChange:O,value:r.editedValue}),(0,a.jsxs)("div",{className:"mb-3 flex flex-wrap gap-2",children:[(0,a.jsx)($,{"data-testid":"kv-format-btn",disabled:m===void 0,onClick:S,size:"sm",variant:"outline",children:t("Format JSON")}),(0,a.jsx)($,{"data-testid":"kv-copy-value-btn",onClick:s(()=>{de(r.editedValue)},"onClick"),size:"sm",variant:"outline",children:t("Copy value")})]}),(0,a.jsx)(Me,{helper:t("Leave blank to keep the current expiration."),id:"kv-ttl-input",invalid:!w,onChange:s(f=>{p({type:"editTtl",value:f})},"onChange"),testId:"kv-ttl-input"}),(0,a.jsx)(Ie,{id:"kv-metadata-editor",invalidTestId:"kv-metadata-invalid",onChange:_,testId:"kv-metadata-editor",valid:N,value:r.editedMetadata}),(0,a.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,a.jsx)($,{"data-testid":"kv-save-btn",disabled:r.busy!==""||!N||!w,onClick:B,children:r.busy==="saving"?t("Saving\u2026"):t("Save")}),(0,a.jsx)($,{"data-testid":"kv-delete-btn",disabled:r.busy!=="",onClick:J,variant:"destructive",children:r.busy==="deleting"?t("Deleting\u2026"):t("Delete")})]}),r.writeError!==null&&(0,a.jsx)("p",{className:"mt-2 text-sm text-destructive","data-testid":"kv-save-error",role:"alert",children:r.writeError})]}),e[42]=m,e[43]=N,e[44]=J,e[45]=S,e[46]=B,e[47]=r.busy,e[48]=r.editedMetadata,e[49]=r.editedValue,e[50]=r.loading,e[51]=r.value,e[52]=r.writeError,e[53]=t,e[54]=w,e[55]=I):I=e[55];let K;e[56]!==r.loadError||e[57]!==r.loading||e[58]!==r.value||e[59]!==t?(K=!r.loading&&r.value===null&&r.loadError===null&&(0,a.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"kv-absent",children:t("Key is absent or has no value.")}),e[56]=r.loadError,e[57]=r.loading,e[58]=r.value,e[59]=t,e[60]=K):K=e[60];let D;return e[61]!==n||e[62]!==k||e[63]!==F||e[64]!==I||e[65]!==K?(D=(0,a.jsxs)("div",{className:"px-4 pb-4","data-testid":"kv-value-section",children:[n,k,F,I,K]}),e[61]=n,e[62]=k,e[63]=F,e[64]=I,e[65]=K,e[66]=D):D=e[66],D},"He"),Se=100,Ze={appliedPrefix:"",bulk:[],bulkBusy:!1,bulkError:null,cursor:null,keys:null,listComplete:!1,loadError:null,loading:!1,prefixInput:"",reloadNonce:0,selectedKey:null},Re=s((l,e)=>{switch(e.type){case"appendPage":return{...l,cursor:e.cursor,keys:[...l.keys??[],...e.keys],listComplete:e.listComplete,loading:!1};case"applyFilter":return{...l,appliedPrefix:l.prefixInput,bulk:[],bulkError:null,cursor:null,keys:null,listComplete:!1,reloadNonce:l.reloadNonce+1,selectedKey:null};case"bulkDeleted":{let d=new Set(e.deleted);return{...l,bulk:l.bulk.filter(u=>!d.has(u)),bulkBusy:!1,bulkError:e.error,keys:l.keys===null?null:l.keys.filter(u=>!d.has(u.name)),selectedKey:l.selectedKey!==null&&d.has(l.selectedKey)?null:l.selectedKey}}case"bulkDeleteStart":return{...l,bulkBusy:!0,bulkError:null};case"firstPage":return{...l,cursor:e.cursor,keys:e.keys,listComplete:e.listComplete,loading:!1};case"keyDeleted":return{...l,bulk:l.bulk.filter(d=>d!==e.name),keys:l.keys===null?null:l.keys.filter(d=>d.name!==e.name),selectedKey:null};case"loadFailed":return{...l,loadError:e.error,loading:!1};case"loadStart":return{...l,loadError:null,loading:!0};case"prefixInput":return{...l,prefixInput:e.value};case"reload":return{...l,bulk:[],bulkError:null,reloadNonce:l.reloadNonce+1,selectedKey:null};case"selectKey":return{...l,selectedKey:e.name};case"toggleAllBulk":return{...l,bulk:e.names};case"toggleBulk":return{...l,bulk:l.bulk.includes(e.name)?l.bulk.filter(d=>d!==e.name):[...l.bulk,e.name]};default:return l}},"ze"),Ue=s(({namespace:l})=>{let e=G(),d=R(),[u,i]=(0,P.useReducer)(Re,Ze),{appliedPrefix:v,bulk:o,bulkBusy:t,bulkError:r,cursor:p,keys:c,listComplete:x,loadError:g,loading:O,prefixInput:V,reloadNonce:_,selectedKey:y}=u,[m,h]=(0,P.useState)(!1);(0,P.useEffect)(()=>{let n={cancelled:!1};return z((async()=>{i({type:"loadStart"});try{let k=await e.listKvKeys({limit:Se,namespace:l,prefix:v===""?void 0:v});n.cancelled||i({cursor:k.cursor??null,keys:k.keys,listComplete:k.listComplete,type:"firstPage"})}catch(k){n.cancelled||i({error:Z(k),type:"loadFailed"})}})()),()=>{n.cancelled=!0}},[e,l,v,_]);let N=s(n=>{i({type:"prefixInput",value:n.target.value})},"x"),C=s(()=>{i({type:"applyFilter"})},"N"),w=s(n=>{i({name:n.currentTarget.dataset.key??null,type:"selectKey"})},"C"),b=s(()=>{p!==null&&(i({type:"loadStart"}),z((async()=>{try{let n=await e.listKvKeys({cursor:p,limit:Se,namespace:l,prefix:v===""?void 0:v});i({cursor:n.cursor??null,keys:n.keys,listComplete:n.listComplete,type:"appendPage"})}catch(n){i({error:Z(n),type:"loadFailed"})}})()))},"y"),S=s(n=>{i({name:n,type:"keyDeleted"})},"S"),E=s(n=>{i({name:n,type:"toggleBulk"})},"F"),B=s(n=>{i({names:n&&c!==null?c.map(k=>k.name):[],type:"toggleAllBulk"})},"O"),T=s(()=>{if(o.length===0)return;let n=[...o];i({type:"bulkDeleteStart"}),z((async()=>{let k=await Promise.allSettled(n.map(K=>e.deleteKvKey({key:K,namespace:l}))),F=n.filter((K,D)=>k[D]?.status==="fulfilled"),I=n.length-F.length;i({deleted:F,error:I>0?d("Failed to delete {count} keys.",{count:I}):null,type:"bulkDeleted"})})())},"V"),J=s(()=>{h(!1),i({type:"reload"})},"D"),L=c!==null&&c.length>0&&o.length===c.length,M=new Set(o);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("section",{className:"border border-border bg-card p-3","data-testid":"kv-keys-section",children:[(0,a.jsxs)("div",{className:"mb-3 flex flex-wrap items-center gap-2",children:[(0,a.jsx)(ae,{"aria-label":d("Filter keys by prefix"),className:"min-w-[16rem] flex-1","data-testid":"kv-prefix-input",onChange:N,placeholder:d("Filter by prefix\u2026"),value:V}),(0,a.jsx)($,{"data-testid":"kv-filter-btn",disabled:O,onClick:C,children:d("Filter")}),(0,a.jsx)($,{"data-testid":"kv-new-key-btn",onClick:s(()=>{h(n=>!n)},"onClick"),variant:"outline",children:d("New key")}),o.length>0&&(0,a.jsx)($,{"data-testid":"kv-bulk-delete-btn",disabled:t,onClick:T,variant:"destructive",children:t?d("Deleting\u2026"):d("Delete {count}",{count:o.length})})]}),r!==null&&(0,a.jsx)("p",{className:"mb-2 text-sm text-destructive","data-testid":"kv-bulk-error",role:"alert",children:r}),g!==null&&(0,a.jsx)("p",{className:"text-sm text-destructive","data-testid":"kv-keys-error",role:"alert",children:g}),c!==null&&c.length===0&&!O&&(0,a.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"kv-no-keys",children:d("No keys.")}),c!==null&&c.length>0&&(0,a.jsx)(re,{className:"overflow-hidden py-0",children:(0,a.jsx)(ne,{className:"px-0",children:(0,a.jsxs)(ie,{"data-testid":"kv-key-table",children:[(0,a.jsx)(se,{children:(0,a.jsxs)(Q,{children:[(0,a.jsx)(X,{className:"w-10",children:(0,a.jsx)(ue,{"aria-label":d("Select all"),checked:L,"data-testid":"kv-select-all",onCheckedChange:B})}),(0,a.jsx)(X,{children:d("Key")}),(0,a.jsx)(X,{children:d("Expiration")})]})}),(0,a.jsx)(oe,{children:c.map(n=>(0,a.jsxs)(Q,{className:n.name===y?"border-l-2 border-l-royal-amethyst bg-muted/50":"cursor-pointer","data-key":n.name,"data-testid":`kv-key-row-${n.name}`,onClick:w,children:[(0,a.jsx)(Y,{onClick:s(k=>{k.stopPropagation()},"onClick"),children:(0,a.jsx)(ue,{"aria-label":d("Select {name}",{name:n.name}),checked:M.has(n.name),"data-testid":`kv-select-${n.name}`,onCheckedChange:s(()=>{E(n.name)},"onCheckedChange")})}),(0,a.jsx)(Y,{className:"font-mono text-xs",children:n.name}),(0,a.jsx)(Y,{className:"tabular-nums text-xs",children:Le(n.expiration)})]},n.name))})]})})}),!x&&p!==null&&(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)($,{"data-testid":"kv-load-more",disabled:O,onClick:b,variant:"outline",children:d(O?"Loading\u2026":"Load more")})})]}),(0,a.jsx)(me,{onOpenChange:s(n=>{n||h(!1)},"onOpenChange"),open:m,children:(0,a.jsxs)(ve,{className:"w-full gap-0 overflow-y-auto sm:max-w-md","data-testid":"kv-create-sheet",side:"right",children:[(0,a.jsx)(pe,{children:(0,a.jsx)(ye,{children:d("New key")})}),(0,a.jsx)(je,{namespace:l,onCancel:s(()=>{h(!1)},"onCancel"),onCreated:J})]})}),(0,a.jsx)(me,{onOpenChange:s(n=>{n||i({name:null,type:"selectKey"})},"onOpenChange"),open:y!==null,children:(0,a.jsxs)(ve,{className:"w-full gap-0 overflow-y-auto sm:max-w-md","data-testid":"kv-editor-sheet",side:"right",children:[(0,a.jsx)(pe,{children:(0,a.jsx)(ye,{className:"truncate font-mono text-xs",children:y})}),y!==null&&(0,a.jsx)(He,{expiration:c?.find(n=>n.name===y)?.expiration,keyName:y,namespace:l,onDeleted:S},`${l}:${y}`)]})})]})},"Ue"),st=s(({loadNamespaces:l}={})=>{let e=G(),d=R(),[u,i]=(0,P.useState)(null),[v,o]=(0,P.useState)(null),[t,r]=(0,P.useState)(null);(0,P.useEffect)(()=>{let c={cancelled:!1};return z((async()=>{try{let x=await(l??(()=>e.listKvNamespaces()))();c.cancelled||(i(x),o(null),r(g=>g??x[0]?.binding??null))}catch(x){c.cancelled||(i(null),o(Z(x)))}})()),()=>{c.cancelled=!0}},[e,l]);let p=s(c=>{r(c.currentTarget.dataset.ns??null)},"v");return(0,a.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-kv-browser",children:[v!==null&&(0,a.jsx)("p",{className:"text-sm text-destructive","data-testid":"kv-ns-error",role:"alert",children:v}),u!==null&&u.length===0&&(0,a.jsx)(ke,{description:d("Add a kv_namespaces binding to wrangler.jsonc \u2014 it appears here automatically, no wiring needed."),icon:(0,a.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M5 5h14v4H5V5Zm0 5h14v4H5v-4Zm0 5h14v4H5v-4Z"})}),testId:"kv-empty",title:d("No KV namespaces.")}),u!==null&&u.length>0&&(0,a.jsx)(re,{className:"overflow-hidden py-0",children:(0,a.jsx)(ne,{className:"px-0",children:(0,a.jsxs)(ie,{"data-testid":"kv-namespace-table",children:[(0,a.jsx)(se,{children:(0,a.jsx)(Q,{children:(0,a.jsx)(X,{children:d("Namespace")})})}),(0,a.jsx)(oe,{children:u.map(c=>(0,a.jsx)(Q,{className:c.binding===t?"border-l-2 border-l-royal-amethyst bg-muted/50":"cursor-pointer","data-ns":c.binding,"data-testid":`kv-ns-row-${c.binding}`,onClick:p,children:(0,a.jsx)(Y,{className:"font-mono text-xs",children:c.binding})},c.binding))})]})})}),t!==null&&(0,a.jsx)(Ue,{namespace:t},t)]})},"ut");export{st as KvBrowser};
|