@lunora/studio 1.0.0-alpha.18 → 1.0.0-alpha.180

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.
Files changed (333) hide show
  1. package/LICENSE.md +6 -0
  2. package/README.md +1 -1
  3. package/dist/index.d.mts +1566 -0
  4. package/dist/index.d.ts +962 -803
  5. package/dist/index.mjs +1 -0
  6. package/dist/mount.d.mts +22 -0
  7. package/dist/mount.d.ts +11 -10
  8. package/dist/mount.mjs +1 -0
  9. package/dist/packem_chunks/AdvisorHealthPanel.mjs +1 -0
  10. package/dist/packem_chunks/ApiTab.mjs +1 -0
  11. package/dist/packem_chunks/AuditPanel.mjs +1 -0
  12. package/dist/packem_chunks/DeploymentHealthPanel.mjs +1 -0
  13. package/dist/packem_chunks/ExportImportPanel.mjs +3 -0
  14. package/dist/packem_chunks/FileBrowser.mjs +4 -0
  15. package/dist/packem_chunks/FunctionRunner.mjs +1 -0
  16. package/dist/packem_chunks/FunctionStatsPanel.mjs +1 -0
  17. package/dist/packem_chunks/HealthPanel.mjs +1 -0
  18. package/dist/packem_chunks/InsightsPanel.mjs +1 -0
  19. package/dist/packem_chunks/LogsPanel.mjs +1 -0
  20. package/dist/packem_chunks/MailPanel.mjs +2 -0
  21. package/dist/packem_chunks/MetricsPanel.mjs +1 -0
  22. package/dist/packem_chunks/NotificationsPanel.mjs +1 -0
  23. package/dist/packem_chunks/PitrPanel.mjs +1 -0
  24. package/dist/packem_chunks/SchemaViewer.mjs +1 -0
  25. package/dist/packem_chunks/SecurityAdvisorPanel.mjs +1 -0
  26. package/dist/packem_chunks/SettingsPanel.mjs +1 -0
  27. package/dist/packem_chunks/SqlEditorPanel.mjs +8 -0
  28. package/dist/packem_chunks/TableEditor.mjs +1 -0
  29. package/dist/packem_chunks/agents-panel.mjs +1 -0
  30. package/dist/packem_chunks/analytics-panel.mjs +1 -0
  31. package/dist/packem_chunks/auth-audit-panel.mjs +1 -0
  32. package/dist/packem_chunks/auth-config-panel.mjs +1 -0
  33. package/dist/packem_chunks/auth-sessions-panel.mjs +1 -0
  34. package/dist/packem_chunks/containers-panel.mjs +1 -0
  35. package/dist/packem_chunks/dashboards-panel.mjs +1 -0
  36. package/dist/packem_chunks/evals-panel.mjs +1 -0
  37. package/dist/packem_chunks/fanout-panel.mjs +1 -0
  38. package/dist/packem_chunks/flags-panel.mjs +1 -0
  39. package/dist/packem_chunks/issues-panel.mjs +1 -0
  40. package/dist/packem_chunks/kv-browser.mjs +1 -0
  41. package/dist/packem_chunks/log-drains-panel.mjs +4 -0
  42. package/dist/packem_chunks/migrations-route.mjs +1 -0
  43. package/dist/packem_chunks/organizations-panel.mjs +1 -0
  44. package/dist/packem_chunks/payments-panel.mjs +1 -0
  45. package/dist/packem_chunks/permissions-panel.mjs +1 -0
  46. package/dist/packem_chunks/queues-panel.mjs +1 -0
  47. package/dist/packem_chunks/reactors-panel.mjs +1 -0
  48. package/dist/packem_chunks/rls-panel.mjs +1 -0
  49. package/dist/packem_chunks/schedule-panel.mjs +1 -0
  50. package/dist/packem_chunks/sparkline.mjs +1 -0
  51. package/dist/packem_chunks/storage-rules-panel.mjs +1 -0
  52. package/dist/packem_chunks/subscriptions-panel.mjs +1 -0
  53. package/dist/packem_chunks/sync-client-panel.mjs +1 -0
  54. package/dist/packem_chunks/traces-panel.mjs +1 -0
  55. package/dist/packem_chunks/users-panel.mjs +1 -0
  56. package/dist/packem_chunks/vector-browser.mjs +1 -0
  57. package/dist/packem_chunks/workflows-panel.mjs +1 -0
  58. package/dist/packem_shared/ADMIN_FUNCTIONS-B8yyk5BX.mjs +1 -0
  59. package/dist/packem_shared/ApiDocsPanel-BImfQhyJ.mjs +2 -0
  60. package/dist/packem_shared/ApiReferencePanel-CigvHhCa.mjs +1 -0
  61. package/dist/packem_shared/CommandPalette-CSdz9zax.mjs +1 -0
  62. package/dist/packem_shared/ConfirmButton-DU4p72Er.mjs +1 -0
  63. package/dist/packem_shared/ConnectionBadge-B_8fcft2.mjs +1 -0
  64. package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-DuULO4XM.mjs +1 -0
  65. package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-D5YMT0gM.mjs +1 -0
  66. package/dist/packem_shared/DEFAULT_LOCALE-A1Yg5ORA.mjs +1 -0
  67. package/dist/packem_shared/DataBrowser-BUFMFvNX.mjs +4 -0
  68. package/dist/packem_shared/DataFilters-Cocu-WWE.mjs +1 -0
  69. package/dist/packem_shared/ErrorBoundary-BWNF98VF.mjs +1 -0
  70. package/dist/packem_shared/GlobalDataBrowser-BTbqR6Wc.mjs +1 -0
  71. package/dist/packem_shared/HomePanel-_BwLI4TQ.mjs +1 -0
  72. package/dist/packem_shared/MigrationsPanel-BPWzFdxC.mjs +1 -0
  73. package/dist/packem_shared/OpenRpcReferencePanel-C6CM791D.mjs +1 -0
  74. package/dist/packem_shared/STUDIO_ROOT_CLASS-C6MccdVk.mjs +1 -0
  75. package/dist/packem_shared/ScheduledJobs-B4DPADwk.mjs +1 -0
  76. package/dist/packem_shared/ShardInput-C6mjgAh4.mjs +1 -0
  77. package/dist/packem_shared/Studio-CcWQdYrV.mjs +1 -0
  78. package/dist/packem_shared/StudioApp-fYFz6zZQ.mjs +1 -0
  79. package/dist/packem_shared/StudioI18nProvider-fVsCSs5L.mjs +1 -0
  80. package/dist/packem_shared/advisor-view-CPgOok_h.mjs +1 -0
  81. package/dist/packem_shared/aggregateMetrics-CY05xrYU.mjs +1 -0
  82. package/dist/packem_shared/alert-PB5W11MM.mjs +1 -0
  83. package/dist/packem_shared/app.d-BbmO2HA2.d.mts +301 -0
  84. package/dist/packem_shared/app.d-BbmO2HA2.d.ts +301 -0
  85. package/dist/packem_shared/badge-r_5B4LHP.mjs +1 -0
  86. package/dist/packem_shared/bar-chart-BCsEIQoQ.mjs +6 -0
  87. package/dist/packem_shared/browser-storage-BH1MxLZs.mjs +1 -0
  88. package/dist/packem_shared/button-q0UYSmrn.mjs +1 -0
  89. package/dist/packem_shared/card--2hKx4L2.mjs +1 -0
  90. package/dist/packem_shared/cf-links-CBJ5SywP.mjs +1 -0
  91. package/dist/packem_shared/checkbox-CnS9cyCz.mjs +1 -0
  92. package/dist/packem_shared/control-button-BOZ5K-FC.mjs +1 -0
  93. package/dist/packem_shared/data-grid-DTBAKZlm.mjs +1 -0
  94. package/dist/packem_shared/data-view-params-qoSTqjAj.mjs +1 -0
  95. package/dist/packem_shared/dropdown-menu-jLZenfWH.mjs +2 -0
  96. package/dist/packem_shared/empty-state-D7jEML_T.mjs +1 -0
  97. package/dist/packem_shared/error-alert-tf5zvSLV.mjs +1 -0
  98. package/dist/packem_shared/grid-features-CE8kcqsK.mjs +6 -0
  99. package/dist/packem_shared/home-panel-DCUKd8Uk.mjs +3 -0
  100. package/dist/packem_shared/input-CXhxesPC.mjs +1 -0
  101. package/dist/packem_shared/internal-B6haJbiP.mjs +2 -0
  102. package/dist/packem_shared/label-DKFzyHq6.mjs +1 -0
  103. package/dist/packem_shared/live-status-BuJdUZFU.mjs +1 -0
  104. package/dist/packem_shared/log-fields-SBxKyBug.mjs +1 -0
  105. package/dist/packem_shared/log-line-BoObzuue.mjs +1 -0
  106. package/dist/packem_shared/modal-shell-CDztwLnv.mjs +1 -0
  107. package/dist/packem_shared/operation-console-provider-DoloEvon.mjs +1 -0
  108. package/dist/packem_shared/recording-client-BXUIyBL4.mjs +1 -0
  109. package/dist/packem_shared/reference-view-DiikOols.mjs +13 -0
  110. package/dist/packem_shared/schema-diagram-CDj_69jF.mjs +2 -0
  111. package/dist/packem_shared/scroll-area-CXCQH7VT.mjs +2 -0
  112. package/dist/packem_shared/select-DPyS18Vy.mjs +2 -0
  113. package/dist/packem_shared/shard-history-CaO3C4KQ.mjs +1 -0
  114. package/dist/packem_shared/shortcuts-B9gDaXmw.mjs +1 -0
  115. package/dist/packem_shared/skeleton-DX1gfixl.mjs +1 -0
  116. package/dist/packem_shared/sparkline-B_sPPO_8.mjs +1 -0
  117. package/dist/packem_shared/sql-result-table-C5y0jwaK.mjs +1 -0
  118. package/dist/packem_shared/stat-card-D0Fe04cX.mjs +1 -0
  119. package/dist/packem_shared/storage-tier-C2mKwYRj.mjs +1 -0
  120. package/dist/packem_shared/studio-OqNyRY1N.mjs +2 -0
  121. package/dist/packem_shared/table-D0SBiDu-.mjs +2 -0
  122. package/dist/packem_shared/table-list-sidebar-DHG1UJC4.mjs +1 -0
  123. package/dist/packem_shared/textarea--40GKAyz.mjs +1 -0
  124. package/dist/packem_shared/trace-handoff-BV3EWqy_.mjs +1 -0
  125. package/dist/packem_shared/use-admin-query-BKXiqLci.mjs +1 -0
  126. package/dist/packem_shared/use-async-submit-BTr3w2-K.mjs +1 -0
  127. package/dist/packem_shared/use-auth-config-CuM3eJZz.mjs +1 -0
  128. package/dist/packem_shared/use-open-trace-BCW0c9qq.mjs +1 -0
  129. package/dist/packem_shared/use-shard-key-BsP3o5wT.mjs +1 -0
  130. package/dist/packem_shared/use-sql-assistant-BhIMDQHV.mjs +1 -0
  131. package/dist/packem_shared/useDebounced-DVeQ5-oW.mjs +1 -0
  132. package/dist/packem_shared/utils-bhneXptQ.mjs +1 -0
  133. package/dist/packem_shared/virtual-rect-D_j7aLxX.mjs +1 -0
  134. package/dist/packem_shared/wire-codec-Bk4XZGE4.mjs +1 -0
  135. package/dist/standalone/chunk-225VJ77I.js +1 -0
  136. package/dist/standalone/chunk-2DX5MROH.js +1 -0
  137. package/dist/standalone/chunk-2URQKGWU.js +1 -0
  138. package/dist/standalone/chunk-2Y6PXGIS.js +15 -0
  139. package/dist/standalone/chunk-35DM4JJG.js +1 -0
  140. package/dist/standalone/chunk-3FBLWUXD.js +1 -0
  141. package/dist/standalone/chunk-3PZNTIBM.js +1 -0
  142. package/dist/standalone/chunk-3Q2P62UR.js +1 -0
  143. package/dist/standalone/chunk-3TXB4AKZ.js +1 -0
  144. package/dist/standalone/chunk-4GTO7FL5.js +1 -0
  145. package/dist/standalone/chunk-4JLGLPWV.js +1 -0
  146. package/dist/standalone/chunk-4L4WTGN5.js +1 -0
  147. package/dist/standalone/chunk-4PRXEO3C.js +14 -0
  148. package/dist/standalone/chunk-4ZEL6BYL.js +1 -0
  149. package/dist/standalone/chunk-55754F6H.js +1 -0
  150. package/dist/standalone/chunk-5B6TTEP6.js +1 -0
  151. package/dist/standalone/chunk-5JDWLCSH.js +1 -0
  152. package/dist/standalone/chunk-5LZJ5JBB.js +1 -0
  153. package/dist/standalone/chunk-5MKG6RW3.js +1 -0
  154. package/dist/standalone/chunk-5WJXVZMZ.js +1 -0
  155. package/dist/standalone/chunk-5XRNQ732.js +8 -0
  156. package/dist/standalone/chunk-66UGPQVC.js +1 -0
  157. package/dist/standalone/chunk-66Z7ZIZZ.js +1 -0
  158. package/dist/standalone/chunk-6D6Z2KXU.js +1 -0
  159. package/dist/standalone/chunk-A6S4TULR.js +2 -0
  160. package/dist/standalone/chunk-A7EWHGFT.js +1 -0
  161. package/dist/standalone/chunk-AAVLPU5Q.js +1 -0
  162. package/dist/standalone/chunk-AFSPF2R4.js +4 -0
  163. package/dist/standalone/chunk-AODYDAXY.js +3 -0
  164. package/dist/standalone/chunk-AULH6SZB.js +3 -0
  165. package/dist/standalone/chunk-AWHXPIXU.js +1 -0
  166. package/dist/standalone/chunk-AX24JD2G.js +1 -0
  167. package/dist/standalone/chunk-B3JY36UV.js +5 -0
  168. package/dist/standalone/chunk-B6RRRJP5.js +11 -0
  169. package/dist/standalone/chunk-BAAPQWFF.js +1 -0
  170. package/dist/standalone/chunk-BOTGXX4H.js +1 -0
  171. package/dist/standalone/chunk-CBNGOAD4.js +1 -0
  172. package/dist/standalone/chunk-CMA4PTV7.js +1 -0
  173. package/dist/standalone/chunk-CSUROWL2.js +1 -0
  174. package/dist/standalone/chunk-D4ZGY3II.js +1 -0
  175. package/dist/standalone/chunk-DAD33Q2T.js +1 -0
  176. package/dist/standalone/chunk-DI34YDBW.js +1 -0
  177. package/dist/standalone/chunk-DX6FAHR2.js +1 -0
  178. package/dist/standalone/chunk-E2X625P3.js +1 -0
  179. package/dist/standalone/chunk-E7TOMONS.js +4 -0
  180. package/dist/standalone/chunk-EA2JKR5D.js +1 -0
  181. package/dist/standalone/chunk-EBU3TTYR.js +1 -0
  182. package/dist/standalone/chunk-EVTM6Q43.js +1 -0
  183. package/dist/standalone/chunk-F7UC63UN.js +1 -0
  184. package/dist/standalone/chunk-FEWMAPNI.js +1 -0
  185. package/dist/standalone/chunk-FI6N7XWP.js +1 -0
  186. package/dist/standalone/chunk-FKVZRPV5.js +1 -0
  187. package/dist/standalone/chunk-FODLDLE2.js +19 -0
  188. package/dist/standalone/chunk-FSRSK4LY.js +1 -0
  189. package/dist/standalone/chunk-GAPFZFIL.js +1 -0
  190. package/dist/standalone/chunk-GGPSI4ZR.js +1 -0
  191. package/dist/standalone/chunk-GMS77BZD.js +1 -0
  192. package/dist/standalone/chunk-GP2GJRJ3.js +1 -0
  193. package/dist/standalone/chunk-GZ6GAFM2.js +1 -0
  194. package/dist/standalone/chunk-GZAXFXZE.js +1 -0
  195. package/dist/standalone/chunk-H43JNQM6.js +1 -0
  196. package/dist/standalone/chunk-HEAQVSNS.js +1 -0
  197. package/dist/standalone/chunk-HGT5U6GD.js +1 -0
  198. package/dist/standalone/chunk-I6FR5UAK.js +1 -0
  199. package/dist/standalone/chunk-IHMGCHAA.js +1 -0
  200. package/dist/standalone/chunk-IMOHEGMV.js +1 -0
  201. package/dist/standalone/chunk-INXSZE5I.js +1 -0
  202. package/dist/standalone/chunk-IP7YCJUN.js +1 -0
  203. package/dist/standalone/chunk-IS6LVJ6L.js +1 -0
  204. package/dist/standalone/chunk-ITMXIPQ7.js +1 -0
  205. package/dist/standalone/chunk-IXNOQYEE.js +1 -0
  206. package/dist/standalone/chunk-J3LCGEBD.js +1 -0
  207. package/dist/standalone/chunk-JYT34NQM.js +1 -0
  208. package/dist/standalone/chunk-K7AJEMKE.js +1 -0
  209. package/dist/standalone/chunk-L2CWAQUO.js +1 -0
  210. package/dist/standalone/chunk-LBMSRD6N.js +1 -0
  211. package/dist/standalone/chunk-M4POCI2J.js +6 -0
  212. package/dist/standalone/chunk-MH2NGGUC.js +1 -0
  213. package/dist/standalone/chunk-MU3P2FI7.js +1 -0
  214. package/dist/standalone/chunk-MXLAOCAN.js +1 -0
  215. package/dist/standalone/chunk-OGUKYRFM.js +1 -0
  216. package/dist/standalone/chunk-OKG3HWSJ.js +1 -0
  217. package/dist/standalone/chunk-PD6WIDY6.js +1 -0
  218. package/dist/standalone/chunk-PGMASM2T.js +1 -0
  219. package/dist/standalone/chunk-PLHA3OWK.js +3 -0
  220. package/dist/standalone/chunk-PZVVEPIN.js +1 -0
  221. package/dist/standalone/chunk-Q4CAKBWN.js +1 -0
  222. package/dist/standalone/chunk-QDHXQ56K.js +1 -0
  223. package/dist/standalone/chunk-QKEJLVC5.js +1 -0
  224. package/dist/standalone/chunk-QQ3CS3FX.js +1 -0
  225. package/dist/standalone/chunk-QWJQUQY3.js +8 -0
  226. package/dist/standalone/chunk-RFNGDE33.js +1 -0
  227. package/dist/standalone/chunk-RLLKECZT.js +1 -0
  228. package/dist/standalone/chunk-RM4TNBYG.js +1 -0
  229. package/dist/standalone/chunk-RPQL45FL.js +1 -0
  230. package/dist/standalone/chunk-S3CRZLGS.js +1 -0
  231. package/dist/standalone/chunk-SDHFSBNM.js +1 -0
  232. package/dist/standalone/chunk-SDMSOWVM.js +1 -0
  233. package/dist/standalone/chunk-SLI7DPVW.js +1 -0
  234. package/dist/standalone/chunk-SUDJTC4S.js +1 -0
  235. package/dist/standalone/chunk-TIIEZS24.js +1 -0
  236. package/dist/standalone/chunk-TIUMFAN2.js +1 -0
  237. package/dist/standalone/chunk-TK6AEV4N.js +1 -0
  238. package/dist/standalone/chunk-TTIBDOV6.js +1 -0
  239. package/dist/standalone/chunk-ULIQFBZU.js +1 -0
  240. package/dist/standalone/chunk-URBHAYYZ.js +59 -0
  241. package/dist/standalone/chunk-UYEZR3BI.js +1 -0
  242. package/dist/standalone/chunk-V3CZW3JB.js +1 -0
  243. package/dist/standalone/chunk-V3VJAA4D.js +1 -0
  244. package/dist/standalone/chunk-V56XORNF.js +1 -0
  245. package/dist/standalone/chunk-V7G6YTQ5.js +1 -0
  246. package/dist/standalone/chunk-VWXJAY7R.js +1 -0
  247. package/dist/standalone/chunk-WD4WHTAV.js +1 -0
  248. package/dist/standalone/chunk-WIXX2VWE.js +1 -0
  249. package/dist/standalone/chunk-WRZTTZFV.js +1 -0
  250. package/dist/standalone/chunk-WUWBZPUK.js +1 -0
  251. package/dist/standalone/chunk-XZMOZFE6.js +1 -0
  252. package/dist/standalone/chunk-Y2I6GYEG.js +1 -0
  253. package/dist/standalone/chunk-Y6CXU7T4.js +1 -0
  254. package/dist/standalone/chunk-YKXDMIHQ.js +1 -0
  255. package/dist/standalone/chunk-YOB2X3FZ.js +1 -0
  256. package/dist/standalone/chunk-YONJDNSM.js +1 -0
  257. package/dist/standalone/chunk-YPRQLCKF.js +1 -0
  258. package/dist/standalone/chunk-Z2XS4ZOO.js +1 -0
  259. package/dist/standalone/studio.js +9 -378
  260. package/dist/styles.css +2 -2
  261. package/package.json +23 -20
  262. package/dist/index.js +0 -41
  263. package/dist/mount.js +0 -26
  264. package/dist/packem_shared/ADMIN_FUNCTIONS-CZJCZ4c7.js +0 -47
  265. package/dist/packem_shared/ApiDocsPanel-yEz0fiof.js +0 -842
  266. package/dist/packem_shared/ApiReferencePanel-1vubqG5s.js +0 -229
  267. package/dist/packem_shared/ApiTab-DdubReQI.js +0 -251
  268. package/dist/packem_shared/AuditPanel-CE5ofjCc.js +0 -200
  269. package/dist/packem_shared/CommandPalette-BtgkBzZI.js +0 -373
  270. package/dist/packem_shared/ConfirmButton-C2eVi2Qv.js +0 -59
  271. package/dist/packem_shared/ConnectionBadge-B2DDM2Tn.js +0 -111
  272. package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js +0 -50
  273. package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-DjF0h-gA.js +0 -89
  274. package/dist/packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js +0 -27
  275. package/dist/packem_shared/DataBrowser-DpL8U-Nf.js +0 -4475
  276. package/dist/packem_shared/DataFilters-FNquMaiu.js +0 -249
  277. package/dist/packem_shared/ErrorBoundary-BzAApI7J.js +0 -66
  278. package/dist/packem_shared/ExportImportPanel-ChsSUCYZ.js +0 -197
  279. package/dist/packem_shared/FileBrowser-DsRBnVhZ.js +0 -2932
  280. package/dist/packem_shared/FunctionRunner-D4cZ6fuA.js +0 -343
  281. package/dist/packem_shared/FunctionStatsPanel-BVelWgNv.js +0 -375
  282. package/dist/packem_shared/GlobalDataBrowser-3X9uRfdO.js +0 -289
  283. package/dist/packem_shared/HealthPanel-CxUVKfvo.js +0 -648
  284. package/dist/packem_shared/HomePanel-tfqpZxuu.js +0 -1334
  285. package/dist/packem_shared/InsightsPanel-DNg3K9XN.js +0 -461
  286. package/dist/packem_shared/LogsPanel-B4LoSRj0.js +0 -827
  287. package/dist/packem_shared/MailPanel-CcpdyWYs.js +0 -440
  288. package/dist/packem_shared/MetricsPanel-CxoyWbNb.js +0 -1611
  289. package/dist/packem_shared/MigrationsPanel-DGwJGWDA.js +0 -239
  290. package/dist/packem_shared/OpenRpcReferencePanel-vbcYbv3V.js +0 -191
  291. package/dist/packem_shared/PitrPanel-CKUzyyHi.js +0 -252
  292. package/dist/packem_shared/STUDIO_ROOT_CLASS-D12gX2dV.js +0 -3
  293. package/dist/packem_shared/ScheduledJobs-BWNwIN3I.js +0 -262
  294. package/dist/packem_shared/SchemaViewer-RclXFo9Q.js +0 -2512
  295. package/dist/packem_shared/SecurityAdvisorPanel-Dqql1Z5O.js +0 -92
  296. package/dist/packem_shared/SettingsPanel-D5iTY0YE.js +0 -390
  297. package/dist/packem_shared/ShardInput-gx_DZXXn.js +0 -107
  298. package/dist/packem_shared/SqlEditorPanel-Dj-In-B3.js +0 -13
  299. package/dist/packem_shared/Studio-VWvKNOw4.js +0 -33
  300. package/dist/packem_shared/StudioApp-BhQ6T2pn.js +0 -657
  301. package/dist/packem_shared/StudioI18nProvider-B-tDCZIi.js +0 -48
  302. package/dist/packem_shared/TableEditor-BY8bTpCl.js +0 -11
  303. package/dist/packem_shared/advisor-view-CGcfMiPq.js +0 -159
  304. package/dist/packem_shared/aggregateMetrics-D4nUHEKU.js +0 -108
  305. package/dist/packem_shared/app.d-BVJFkXyj.d.ts +0 -300
  306. package/dist/packem_shared/badge-B2PKA1-5.js +0 -49
  307. package/dist/packem_shared/bar-chart-CzJAgqkp.js +0 -3245
  308. package/dist/packem_shared/button-BhsN2uZH.js +0 -49
  309. package/dist/packem_shared/card-DURq3ElK.js +0 -175
  310. package/dist/packem_shared/cf-links-2cktDedA.js +0 -8
  311. package/dist/packem_shared/checkbox-UNkzAxl-.js +0 -63
  312. package/dist/packem_shared/data-grid-B5CaV3wS.js +0 -183
  313. package/dist/packem_shared/dropdown-menu-WY4B_eJO.js +0 -280
  314. package/dist/packem_shared/empty-state-DY_oe0k6.js +0 -98
  315. package/dist/packem_shared/grid-features-CzUfqgsM.js +0 -840
  316. package/dist/packem_shared/input-XH4r1Pt1.js +0 -53
  317. package/dist/packem_shared/internal-rXJEAhXS.js +0 -68
  318. package/dist/packem_shared/label-D8ykjn5J.js +0 -46
  319. package/dist/packem_shared/live-status-FZ0psC1z.js +0 -44
  320. package/dist/packem_shared/reference-view-B4E49Lip.js +0 -2180
  321. package/dist/packem_shared/shard-history-DyebH1R5.js +0 -38
  322. package/dist/packem_shared/sparkline-10dG-_f0.js +0 -93
  323. package/dist/packem_shared/sql-editor-panel-CMdxstu5.js +0 -2562
  324. package/dist/packem_shared/storage-tier-CL98eOvn.js +0 -85
  325. package/dist/packem_shared/studio-D8ry3tJR.js +0 -11043
  326. package/dist/packem_shared/table-_RzNvy3R.js +0 -246
  327. package/dist/packem_shared/table-editor-CWx68ZCg.js +0 -407
  328. package/dist/packem_shared/table-list-sidebar-Bg7uzbvC.js +0 -832
  329. package/dist/packem_shared/textarea-D3gaCU_-.js +0 -46
  330. package/dist/packem_shared/use-admin-query-BkbdNFNz.js +0 -105
  331. package/dist/packem_shared/useDebounced-Dxncpg6z.js +0 -32
  332. package/dist/packem_shared/utils-B05Dmz_H.js +0 -8
  333. package/dist/packem_shared/virtual-rect-CVMUskSm.js +0 -10
@@ -0,0 +1 @@
1
+ import{b as Nr}from"./chunk-Y6CXU7T4.js";import{a as i,d as k,e as B,g as Z}from"./chunk-YKXDMIHQ.js";var jn=k(B(),1),ie=jn.createContext(null);var Kn=k(B(),1);function D(t){return Kn.useContext(ie)}i(D,"useRouter");var Ue=k(B(),1),xt=Ue.createContext(void 0),qn=Ue.createContext(void 0);function dt(t){return t[t.length-1]}i(dt,"last");function q(t,e){return typeof t=="function"?t(e):t}i(q,"functionalUpdate");var Xn=Object.prototype.hasOwnProperty,Or=Object.prototype.propertyIsEnumerable;function ht(t){for(let e in t)if(Xn.call(t,e))return!0;return!1}i(ht,"hasKeys");var Tr=i(()=>Object.create(null),"createNull"),pt=i((t,e)=>rt(t,e,Tr),"nullReplaceEqualDeep");function rt(t,e,n=()=>({}),r=0){if(!1)return e;if(t===e)return t;if(r>500)return e;let o=e,s=Ve(t)&&Ve(o);if(!s&&!(Ht(t)&&Ht(o)))return o;let c=s?t:Gn(t);if(!c)return o;let a=s?o:Gn(o);if(!a)return o;let u=c.length,l=a.length,f=s?new Array(l):n(),d=0;for(let h=0;h<l;h++){let p=s?h:a[h],g=t[p],m=o[p];if(g===m){f[p]=g,(s?h<u:Xn.call(t,p))&&d++;continue}if(g===null||m===null||typeof g!="object"||typeof m!="object"){f[p]=m;continue}let y=rt(g,m,n,r+1);f[p]=y,y===g&&d++}return u===l&&d===u?t:f}i(rt,"replaceEqualDeep");function Gn(t){let e=Object.keys(t);if(e.length!==Object.getOwnPropertyNames(t).length)return!1;let n=Object.getOwnPropertySymbols(t);if(n.length===0)return e;for(let r of n){if(!Or.call(t,r))return!1;e.push(r)}return e}i(Gn,"getEnumerableOwnKeys");function Ht(t){if(!Jn(t))return!1;let e=t.constructor;if(typeof e>"u")return!0;let n=e.prototype;return!(!Jn(n)||!n.hasOwnProperty("isPrototypeOf"))}i(Ht,"isPlainObject");function Jn(t){return Object.prototype.toString.call(t)==="[object Object]"}i(Jn,"hasObjectPrototype");function Ve(t){return Array.isArray(t)&&t.length===Object.keys(t).length}i(Ve,"isPlainArray");function Q(t,e,n){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,o=t.length;r<o;r++)if(!Q(t[r],e[r],n))return!1;return!0}if(Ht(t)&&Ht(e)){let r=n?.ignoreUndefined??!0;if(n?.partial){for(let c in e)if((!r||e[c]!==void 0)&&!Q(t[c],e[c],n))return!1;return!0}let o=0;if(!r)o=Object.keys(t).length;else for(let c in t)t[c]!==void 0&&o++;let s=0;for(let c in e)if((!r||e[c]!==void 0)&&(s++,s>o||!Q(t[c],e[c],n)))return!1;return o===s}return!1}i(Q,"deepEqual");var Dr=/[\x00-\x1f\x7f"<>`{}]/g;function Fr(t){return t.replace(Dr,e=>"%"+e.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0"))}i(Fr,"sanitizePathSegment");function Yn(t){let e;try{e=decodeURI(t)}catch{e=t.replaceAll(/%[0-9A-F]{2}/gi,n=>{try{return decodeURI(n)}catch{return n}})}return Fr(e)}i(Yn,"decodeSegment");var We=["http:","https:","mailto:","tel:"];function st(t,e){if(!t)return!1;try{let n=new URL(t);return!e.has(n.protocol)}catch{return!1}}i(st,"isDangerousProtocol");function Dt(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,n=0,r="",o;for(;(o=e.exec(t))!==null;)r+=Yn(t.slice(n,o.index))+o[0],n=e.lastIndex;r=r+Yn(n?t.slice(n):t);let s=!1;return r.startsWith("//")&&(s=!0,r="/"+r.replace(/^\/+/,"")),{path:r,handledProtocolRelativeURL:s}}i(Dt,"decodePath");function Zn(t){return/\s|[^\u0000-\u007F]/.test(t)?t.replace(/\s|[^\u0000-\u007F]/gu,encodeURIComponent):t}i(Zn,"encodePathLikeUrl");function Qn(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(let n=0;n<t.length;n++)if(t[n]!==e[n])return!1;return!0}i(Qn,"arraysEqual");function mt(){throw new Error("Invariant failed")}i(mt,"invariant");function Ft(t){let e=new Map,n,r,o=i(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,n=s.next,s.next=void 0,r&&(s.prev=r,r.next=s)),r=s)},"touch");return{get(s){let c=e.get(s);if(c)return o(c),c.value},set(s,c){if(e.size>=t&&n){let u=n;e.delete(u.key),u.next&&(n=u.next,u.next.prev=void 0),u===r&&(r=void 0)}let a=e.get(s);if(a)a.value=c,o(a);else{let u={key:s,value:c,prev:r};r&&(r.next=u),r=u,n||(n=u),e.set(s,u)}},clear(){e.clear(),n=void 0,r=void 0}}}i(Ft,"createLRUCache");var gt=4,eo=5;function ze(t,e,n=new Uint16Array(6)){let r=t.indexOf("/",e),o=r===-1?t.length:r,s=t.substring(e,o);if(!s||!s.includes("$"))return n[0]=0,n[1]=e,n[2]=e,n[3]=o,n[4]=o,n[5]=o,n;if(s==="$"){let u=t.length;return n[0]=2,n[1]=e,n[2]=e,n[3]=u,n[4]=u,n[5]=u,n}if(s.charCodeAt(0)===36)return n[0]=1,n[1]=e,n[2]=e+1,n[3]=o,n[4]=o,n[5]=o,n;let c=s.indexOf("{"),a;if(c!==-1&&c+1<s.length&&(a=s.indexOf("}",c))!==-1){let u=s.charCodeAt(c+1);if(u===45){if(c+2<s.length&&s.charCodeAt(c+2)===36){let l=c+3,f=a;if(l<f)return n[0]=3,n[1]=e+c,n[2]=e+l,n[3]=e+f,n[4]=e+a+1,n[5]=o,n}}else if(u===36){let l=c+1,f=c+2;return f===a?(n[0]=2,n[1]=e+c,n[2]=e+l,n[3]=e+f,n[4]=e+a+1,n[5]=t.length,n):(n[0]=1,n[1]=e+c,n[2]=e+f,n[3]=e+a,n[4]=e+a+1,n[5]=o,n)}}return n[0]=0,n[1]=e,n[2]=e,n[3]=o,n[4]=o,n[5]=o,n}i(ze,"parseSegment");function le(t,e,n,r,o,s,c,a){a?.(n);let u=r;{let l=n.fullPath??n.from,f=n.options,d=l.length,h=f?.caseSensitive??t,p=f?.params?.parse??f?.parseParams;for(;u<d;){let m=ze(l,u,e),y,R=u,v=m[5];u=v+1,s++;let _=m[0];switch(_){case 0:{let x=l.substring(m[2],m[3]),L=x,b;h?b=o.static??=new Map:(L=x.toLowerCase(),b=o.staticInsensitive??=new Map);let S=b.get(L);if(S)y=S;else{let C=Mt(l);C.parent=o,C.depth=s,y=C,b.set(L,C)}break}case 1:case 3:case 2:{let x=l.substring(R,m[1]),L=l.substring(m[4],v),b=h&&!!(x||L);h||(x=x.toLowerCase(),L=L.toLowerCase());let S=_===1?o.dynamic:_===3?o.optional:o.wildcard,C=_!==2&&!p&&S?.find(w=>!w.parse&&w.caseSensitive===b&&w.prefix===x&&w.suffix===L);if(C)y=C;else{let w=Mr(_,l,b,x,L);y=w,w.parent=o,w.depth=s;let P;_===1?P=o.dynamic??=[]:_===3?P=o.optional??=[]:P=o.wildcard??=[],P.push(w),P.length===2&&c?.push(P)}break}}o=y}if(p&&n.children&&!n.isRoot&&n.id&&n.id.charCodeAt(n.id.lastIndexOf("/")+1)===95){let m=Mt(l);m.kind=eo,m.parent=o,s++,m.depth=s,o.pathless??=[],o.pathless.push(m),o=m}let g=(n.path||!n.children)&&!n.isRoot;if(g&&l.endsWith("/")){let m=Mt(l);m.kind=gt,m.parent=o,s++,m.depth=s,o.index=m,o=m}o.parse=p??null,o.priority=f?.params?.priority??0,g&&!o.route&&(o.route=n,o.fullPath=l)}if(n.children)for(let l of n.children)le(t,e,l,u,o,s,c,a)}i(le,"parseSegments");function no(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}i(no,"sortDynamic");function Mt(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}}i(Mt,"createStaticNode");function Mr(t,e,n,r,o){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:n,prefix:r,suffix:o}}i(Mr,"createDynamicNode");function oo(t,e){let n=Mt("/"),r=new Uint16Array(6),o=[];for(let s of t)le(!1,r,s,1,n,0,o);for(let s of o)s.sort(no);e.masksTree=n,e.flatCache=Ft(1e3)}i(oo,"processRouteMasks");function ro(t,e){t||="/";let n=e.flatCache.get(t);if(n!==void 0)return n;let r=He(t,e.masksTree);return e.flatCache.set(t,r),r}i(ro,"findFlatMatch");function so(t,e,n,r,o){t||="/",r||="/";let s=e?`case\0${t}`:t,c=o.singleCache.get(s);return c||(c=Mt("/"),le(e,new Uint16Array(6),{from:t},1,c,0),o.singleCache.set(s,c)),He(r,c,n)}i(so,"findSingleMatch");function io(t,e,n=!1){let r=n?t:`nofuzz\0${t}`,o=e.matchCache.get(r);if(o!==void 0)return o;t||="/";let s;try{s=He(t,e.segmentTree,n)}catch(c){if(c instanceof URIError)s=null;else throw c}return s&&(s.branch=je(s.route)),e.matchCache.set(r,s),s}i(io,"findRouteMatch");function Ar(t){return t==="/"?t:t.replace(/\/{1,}$/,"")}i(Ar,"trimPathRight");function ao(t,e=!1,n){let r=Mt(t.fullPath),o=new Uint16Array(6),s=[],c={},a={},u=0;le(e,o,t,1,r,0,s,l=>{if(n?.(l,u),l.id in c&&mt(),c[l.id]=l,u!==0&&l.path){let f=Ar(l.fullPath);(!a[f]||l.fullPath.endsWith("/"))&&(a[f]=l)}u++});for(let l of s)l.sort(no);return{processedTree:{segmentTree:r,singleCache:Ft(1e3),matchCache:Ft(1e3),flatCache:null,masksTree:null},routesById:c,routesByPath:a}}i(ao,"processRouteTree");function He(t,e,n=!1){let r=t.split("/"),o=Br(t,r,e,n);if(!o)return null;let[s]=co(t,r,o);return{route:o.node.route,rawParams:s}}i(He,"findMatch");function co(t,e,n){let r=$r(n.node),o=null,s=Object.create(null),c=n.extract?.part??0,a=n.extract?.node??0,u=n.extract?.path??0,l=n.extract?.segment??0;for(;a<r.length;c++,a++,u++,l++){let f=r[a];if(f.kind===gt)break;if(f.kind===eo){l--,c--,u--;continue}let d=e[c],h=u;if(d&&(u+=d.length),f.kind===1){o??=n.node.fullPath.split("/");let p=o[l],g=f.prefix.length;if(p.charCodeAt(g)===123){let m=f.suffix.length,y=p.substring(g+2,p.length-m-1),R=d.substring(g,d.length-m);s[y]=decodeURIComponent(R)}else{let m=p.substring(1);s[m]=decodeURIComponent(d)}}else if(f.kind===3){if(n.skipped&1<<a){c--,u=h-1;continue}o??=n.node.fullPath.split("/");let p=o[l],g=f.prefix.length,m=f.suffix.length,y=p.substring(g+3,p.length-m-1),R=f.suffix||f.prefix?d.substring(g,d.length-m):d;R&&(s[y]=decodeURIComponent(R))}else if(f.kind===2){let p=f,g=t.substring(h+p.prefix.length,t.length-p.suffix.length),m=decodeURIComponent(g);s["*"]=m,s._splat=m;break}}return n.rawParams&&Object.assign(s,n.rawParams),[s,{part:c,node:a,path:u,segment:l}]}i(co,"extractParams");function je(t){let e=[t];for(;t.parentRoute;)t=t.parentRoute,e.push(t);return e.reverse(),e}i(je,"buildRouteBranch");function $r(t){let e=Array(t.depth+1);do e[t.depth]=t,t=t.parent;while(t);return e}i($r,"buildBranch");function Br(t,e,n,r){if(t==="/"&&n.index)return{node:n.index,skipped:0};let o=!dt(e),s=o&&t!=="/",c=e.length-(o?1:0),a=[{node:n,index:1,skipped:0,statics:0,dynamics:0,optionals:0}],u=null,l=null;for(;a.length;){let f=a.pop(),{node:d,index:h,skipped:p,statics:g,dynamics:m,optionals:y}=f,{extract:R,rawParams:v}=f;if(d.kind===2&&d.route&&!ce(l,f))continue;if(d.parse){if(!to(t,e,f))continue;v=f.rawParams,R=f.extract}r&&d.route&&d.kind!==gt&&ce(u,f)&&(u=f);let _=h===c;if(_&&(d.route&&(!s||d.kind===gt||d.kind===2)&&ce(l,f)&&(l=f),!d.optional&&!d.wildcard&&!d.index&&!d.pathless))continue;let x=_?void 0:e[h],L;if(_&&d.index){let b={node:d.index,index:h,skipped:p,statics:g,dynamics:m,optionals:y,extract:R,rawParams:v},S=!0;if(d.index.parse&&(to(t,e,b)||(S=!1)),S){if(!m&&!y&&!p&&Ur(g,c))return b;ce(l,b)&&(l=b)}}if(d.wildcard)for(let b=d.wildcard.length-1;b>=0;b--){let S=d.wildcard[b],{prefix:C,suffix:w}=S;if(!(C&&(_||!(S.caseSensitive?x:L??=x.toLowerCase()).startsWith(C)))){if(w){if(_)continue;let P=e.slice(h).join("/"),E=P.slice(-w.length);if((S.caseSensitive?E:E.toLowerCase())!==w||P.length-w.length<C.length)continue}a.push({node:S,index:c,skipped:p,statics:g,dynamics:m,optionals:y,extract:R,rawParams:v})}}if(d.optional){let b=p|1<<d.depth+1;for(let S=d.optional.length-1;S>=0;S--){let C=d.optional[S];a.push({node:C,index:h,skipped:b,statics:g,dynamics:m,optionals:y,extract:R,rawParams:v})}if(!_)for(let S=d.optional.length-1;S>=0;S--){let C=d.optional[S],{prefix:w,suffix:P}=C;if(w||P){let E=C.caseSensitive?x:L??=x.toLowerCase();if(w&&!E.startsWith(w)||P&&E.indexOf(P,E.length-P.length)<w.length)continue}a.push({node:C,index:h+1,skipped:p,statics:g,dynamics:m,optionals:y+ae(c,h),extract:R,rawParams:v})}}if(!_&&d.dynamic&&x)for(let b=d.dynamic.length-1;b>=0;b--){let S=d.dynamic[b],{prefix:C,suffix:w}=S;if(C||w){let P=S.caseSensitive?x:L??=x.toLowerCase();if(C&&!P.startsWith(C)||w&&P.indexOf(w,P.length-w.length)<C.length)continue}a.push({node:S,index:h+1,skipped:p,statics:g,dynamics:m+ae(c,h),optionals:y,extract:R,rawParams:v})}if(!_&&d.staticInsensitive){let b=d.staticInsensitive.get(L??=x.toLowerCase());b&&a.push({node:b,index:h+1,skipped:p,statics:g+ae(c,h),dynamics:m,optionals:y,extract:R,rawParams:v})}if(!_&&d.static){let b=d.static.get(x);b&&a.push({node:b,index:h+1,skipped:p,statics:g+ae(c,h),dynamics:m,optionals:y,extract:R,rawParams:v})}if(d.pathless)for(let b=d.pathless.length-1;b>=0;b--){let S=d.pathless[b];a.push({node:S,index:h,skipped:p,statics:g,dynamics:m,optionals:y,extract:R,rawParams:v})}}if(l)return l;if(r&&u){let f=u.index;for(let h=0;h<u.index;h++)f+=e[h].length;let d=f===t.length?"/":t.slice(f);return u.rawParams??=Object.create(null),u.rawParams["**"]=decodeURIComponent(d),u}return null}i(Br,"getNodeMatch");function ae(t,e){return 2**(t-e-1)}i(ae,"segmentScore");function Ur(t,e){return t===2**(e-1)-1}i(Ur,"isPerfectStaticMatch");function to(t,e,n){let r,o;try{[r,o]=co(t,e,n)}catch{return null}if(n.rawParams=r,n.extract=o,!n.node.parse)return!0;try{if(n.node.parse(r)===!1)return null}catch{}return!0}i(to,"validateParseParams");function ce(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}i(ce,"isFrameMoreSpecific");function bt(t){return Kt(t.filter(e=>e!==void 0).join("/"))}i(bt,"joinPaths");function Kt(t){return t.replace(/\/{2,}/g,"/")}i(Kt,"cleanPath");function ue(t){return t==="/"?t:t.replace(/^\/{1,}/,"")}i(ue,"trimPathLeft");function G(t){let e=t.length;return e>1&&t[e-1]==="/"?t.replace(/\/{1,}$/,""):t}i(G,"trimPathRight");function qt(t){return G(ue(t))}i(qt,"trimPath");function yt(t,e){return t?.endsWith("/")&&t!=="/"&&t!==`${e}/`?t.slice(0,-1):t}i(yt,"removeTrailingSlash");function fe(t,e,n){return yt(t,n)===yt(e,n)}i(fe,"exactPathTest");function Ke({base:t,to:e,trailingSlash:n="never",cache:r}){if(e.includes("//")&&(e=Kt(e)),e.startsWith("/"))return e.length===1||n==="preserve"?e:n==="always"?e.endsWith("/")?e:`${e}/`:e.endsWith("/")?e.slice(0,-1):e;let o=e===".",s;if(r){s=o?t:t+"\0"+e;let l=r.get(s);if(l)return l}let c;if(o)c=t.split("/");else{for(t.includes("//")&&(t=Kt(t)),c=t.split("/");c.length>1&&dt(c)==="";)c.pop();let l=e.split("/");for(let f=0,d=l.length;f<d;f++){let h=l[f];h===""?f?f===d-1&&c.push(h):c=[h]:h===".."?c.length>1?c.pop():c=[""]:h==="."||c.push(h)}}c.length>1&&(dt(c)===""?n==="never"&&c.pop():n==="always"&&c.push(""));let a=c.join("/"),u=(o?Kt(a):a)||"/";return s&&r&&r.set(s,u),u}i(Ke,"resolvePath");function uo(t){let e=new Map(t.map(o=>[encodeURIComponent(o),o])),n=Array.from(e.keys()).map(o=>o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),r=new RegExp(n,"g");return o=>o.replace(r,s=>e.get(s)??s)}i(uo,"compileDecodeCharMap");function jt(t,e,n){let r=e[t];return typeof r!="string"?r:t==="_splat"?/^[a-zA-Z0-9\-._~!/]*$/.test(r)?r:r.split("/").map(o=>lo(o,n)).join("/"):lo(r,n)}i(jt,"encodeParam");function de({path:t,params:e,decoder:n,...r}){let o=!1,s=Object.create(null);if(!t||t==="/")return{interpolatedPath:"/",usedParams:s,isMissingParams:o};if(!t.includes("$"))return{interpolatedPath:t,usedParams:s,isMissingParams:o};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 p=d,g=t.indexOf("/",d);g===-1&&(g=f),d=g;let m=t.substring(p,g);if(m)if(m.charCodeAt(0)===36)if(m.length===1){let y=e._splat;if(s._splat=y,s["*"]=y,!y){o=!0;continue}let R=jt("_splat",e,n);h+="/"+R}else{let y=m.substring(1);!o&&!(y in e)&&(o=!0),s[y]=e[y];let R=jt(y,e,n)??"undefined";h+="/"+R}else h+="/"+m}return t.endsWith("/")&&(h+="/"),{usedParams:s,interpolatedPath:h||"/",isMissingParams:o}}let c=t.length,a=0,u,l="";for(;a<c;){let f=a;u=ze(t,f,u);let d=u[5];if(a=d+1,f===d)continue;let h=u[0];if(h===0){l+="/"+t.substring(f,d);continue}if(h===2){let p=e._splat;s._splat=p,s["*"]=p;let g=t.substring(f,u[1]),m=t.substring(u[4],d);if(!p){o=!0,(g||m)&&(l+="/"+g+m);continue}let y=jt("_splat",e,n);l+="/"+g+y+m;continue}if(h===1){let p=t.substring(u[2],u[3]);!o&&!(p in e)&&(o=!0),s[p]=e[p];let g=t.substring(f,u[1]),m=t.substring(u[4],d),y=jt(p,e,n)??"undefined";l+="/"+g+y+m;continue}if(h===3){let p=t.substring(u[2],u[3]),g=e[p];if(g==null)continue;s[p]=g;let m=t.substring(f,u[1]),y=t.substring(u[4],d),R=jt(p,e,n)??"";l+="/"+m+R+y;continue}}return t.endsWith("/")&&(l+="/"),{usedParams:s,interpolatedPath:l||"/",isMissingParams:o}}i(de,"interpolatePath");function lo(t,e){let n=encodeURIComponent(t);return e?.(n)??n}i(lo,"encodePathParam");function J(t){return t?.isNotFound===!0}i(J,"isNotFound");function Vr(){try{return sessionStorage}catch{return}}i(Vr,"getSafeSessionStorage");var Wr="tsr-scroll-restoration-v1_3",po=Vr();function zr(){try{return JSON.parse(po?.getItem("tsr-scroll-restoration-v1_3")||"{}")}catch{return{}}}i(zr,"createScrollRestorationCache");function Hr(){try{po?.setItem(Wr,JSON.stringify(At))}catch{}}i(Hr,"persistScrollRestorationCache");var At=zr(),fo="data-scroll-restoration-id",jr=i(t=>t.state.__TSR_key||t.href,"defaultGetScrollRestorationKey");function Kr(t){let e=t.getAttribute(fo);if(e)return`[${fo}="${e}"]`;let n="",r=t,o;for(;o=r.parentNode;){let s=1,c=r;for(;c=c.previousElementSibling;)s++;let a=`${r.localName}:nth-child(${s})`;n=n?`${a} > ${n}`:a,r=o}return n}i(Kr,"getScrollRestorationSelector");var he=!1,pe="window";function qe(t){try{return typeof t=="function"?t():document.querySelector(t)}catch{}}i(qe,"getElement");function ho(t){let e=new Set;for(let n of t){if(n===pe)continue;let r=qe(n);r&&e.add(r)}return e}i(ho,"getScrollToTopElements");function mo(t,e){let n=e??t.options.scrollRestoration,r=t._scroll;if(n&&(r.restoring=!0),!1)return;let o=t.options.getScrollRestorationKey||jr,s=new Set,c=i(a=>{let u=At[a]||={};for(let l of s)l===document?u[pe]={scrollX,scrollY}:l.isConnected&&(u[Kr(l)]={scrollX:l.scrollLeft,scrollY:l.scrollTop})},"snapshotCurrentScrollTargets");n&&!r.restoration&&(r.restoration=!0,he=!1,history.scrollRestoration="manual",document.addEventListener("scroll",a=>{he||s.add(a.target)},!0),t.subscribe("onBeforeLoad",a=>{a.fromLocation&&c(o(a.fromLocation)),s.clear()}),addEventListener("pagehide",()=>{c(o(t.stores.resolvedLocation.get()??t.stores.location.get())),Hr()})),!r.reset&&(r.reset=!0,t.subscribe("onRendered",a=>{let u=t.options.scrollRestorationBehavior,l=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 p=o(a.toLocation),g=a.fromLocation&&o(a.fromLocation);if(r.restoring&&g&&g!==p){let m=At[g];if(m){let y=At[p];for(let R in m){if(R===pe){if(f)continue}else{let v=qe(R);if(!v||f&&l&&(h??=ho(l),h.has(v)))continue}y||(y=At[p]={}),y[R]??=m[R]}}}he=!0;try{let m=a.toLocation.hash,y=a.toLocation.state.__hashScrollIntoViewOptions??!0,R=!1;if(f){!m&&l&&(h??=ho(l));let v=m&&y&&d,_=r.restoring?At[p]:void 0;if(_)for(let x in _){let{scrollX:L,scrollY:b}=_[x];if(x===pe){if(v)continue;scrollTo({top:b,left:L,behavior:u}),R=!0}else{let S=qe(x);S&&(S.scrollLeft=L,S.scrollTop=b,h?.delete(S))}}if(!m){let x={top:0,left:0,behavior:u};if(R||scrollTo(x),h)for(let L of h)L.scrollTo(x)}}!R&&m&&y&&document.getElementById(m)?.scrollIntoView(y)}finally{he=!1}}))}i(mo,"setupScrollRestoration");function go(t,e=String){let n=new URLSearchParams;for(let r in t){let o=t[r];o!==void 0&&n.set(r,e(o))}return n.toString()}i(go,"encode");function Ge(t){return t?t==="false"?!1:t==="true"?!0:+t*0===0&&+t+""===t?+t:t:""}i(Ge,"toValue");function yo(t){let e=new URLSearchParams(t),n=Object.create(null);for(let[r,o]of e.entries()){let s=n[r];s==null?n[r]=Ge(o):Array.isArray(s)?s.push(Ge(o)):n[r]=[s,Ge(o)]}return n}i(yo,"decode");var qr=/^(?:\s|["[{\d-]|fa|nu|tr)/,vo=Gr(JSON.parse),Ro=Jr(JSON.stringify,JSON.parse);function Gr(t){return e=>{e[0]==="?"&&(e=e.substring(1));let n=yo(e);for(let r in n){let o=n[r];if(typeof o=="string")try{n[r]=t(o)}catch{}}return n}}i(Gr,"parseSearchWith");function Jr(t,e){let n=e===JSON.parse;function r(o){if(o&&typeof o=="object")try{return t(o)}catch{}else if(e&&typeof o=="string"){if(n&&!qr.test(o))return o;try{return e(o),t(o)}catch{}}return o}return i(r,"stringifyValue"),o=>{let s=go(o,r);return s?`?${s}`:""}}i(Jr,"stringifySearchWith");var tt="__root__";function So(t){if(t.statusCode=t.statusCode||t.code||307,!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 n=new Response(null,{status:t.statusCode,headers:e});if(n.options=t,t.throw)throw n;return n}i(So,"redirect");function me(t){return t instanceof Response&&!!t.options}i(me,"isRedirect");function _o(t){return{input:i(({url:e})=>{for(let n of t)e=ge(n,e);return e},"input"),output:i(({url:e})=>{for(let n=t.length-1;n>=0;n--)e=Je(t[n],e);return e},"output")}}i(_o,"composeRewrites");function wo(t){let e=qt(t.basepath),n=`/${e}`,r=t.caseSensitive?n:n.toLowerCase(),o=`${r}/`;return{input:i(({url:s})=>{let c=t.caseSensitive?s.pathname:s.pathname.toLowerCase();return c===r?s.pathname="/":c.startsWith(o)&&(s.pathname=s.pathname.slice(n.length)),s},"input"),output:i(({url:s})=>(s.pathname=bt(["/",e,s.pathname]),s),"output")}}i(wo,"rewriteBasepath");function ge(t,e){let n=t?.input?.({url:e});if(n){if(typeof n=="string")return new URL(n);if(n instanceof URL)return n}return e}i(ge,"executeRewriteInput");function Je(t,e){let n=t?.output?.({url:e});if(n){if(typeof n=="string")return new URL(n);if(n instanceof URL)return n}return e}i(Je,"executeRewriteOutput");function Ye(t){let e=t;return{get(){return e},set(n){e=q(n,e)}}}i(Ye,"createNonReactiveMutableStore");function Xe(t){return{get(){return t()}}}i(Xe,"createNonReactiveReadonlyStore");function xo(t,e){let{createMutableStore:n,createReadonlyStore:r,batch:o}=e,s=new Map,c=n("idle"),a=n(t),u=n(void 0),l=n([]),f=r(()=>l.get().map(m=>s.get(m).get())),d=r(()=>({status:c.get(),isLoading:c.get()==="pending",matches:f.get(),location:a.get(),resolvedLocation:u.get()}));function h(m){let y=s.get(m);return y||(y=n(void 0),s.set(m,y)),y}i(h,"getMatchStore");let p={status:c,location:a,resolvedLocation:u,ids:l,matches:f,byRoute:s,__store:d,getMatchStore:h,setMatches:g};function g(m){let y=l.get(),R=m.map(v=>v.routeId);o(()=>{Qn(y,R)||l.set(R);for(let v of y)R.includes(v)||s.get(v).set(()=>{});for(let v of m){let _=h(v.routeId);_.get()!==v&&_.set(v)}})}return i(g,"setMatches"),p}i(xo,"createRouterStores");var vt="__TSR_index",bo="popstate",Co="beforeunload";function Qe(t){let e=t.getLocation(),n=new Set,r=i(c=>{e=t.getLocation(),n.forEach(a=>a({location:e,action:c}))},"notify"),o=i(c=>{t.notifyOnIndexChange??!0?r(c):e=t.getLocation()},"handleIndexChange"),s=i(async({task:c,navigateOpts:a,...u})=>{if(a?.ignoreBlocker??!1){c();return}let l=t.getBlockers?.()??[],f=u.type==="PUSH"||u.type==="REPLACE";if(typeof document<"u"&&l.length&&f)for(let d of l){let h=$t(u.path,u.state);if(await d.blockerFn({currentLocation:e,nextLocation:h,action:u.type})){t.onBlocked?.();return}}c()},"tryNavigation");return{get location(){return e},get length(){return t.getLength()},subscribers:n,subscribe:i(c=>(n.add(c),()=>{n.delete(c)}),"subscribe"),push:i((c,a,u)=>{let l=e.state[vt];a=Ze(l+1,a),s({task:i(()=>{t.pushState(c,a),r({type:"PUSH"})},"task"),navigateOpts:u,type:"PUSH",path:c,state:a})},"push"),replace:i((c,a,u)=>{let l=e.state[vt];a=Ze(l,a),s({task:i(()=>{t.replaceState(c,a),r({type:"REPLACE"})},"task"),navigateOpts:u,type:"REPLACE",path:c,state:a})},"replace"),go:i((c,a)=>{s({task:i(()=>{t.go(c),o({type:"GO",index:c})},"task"),navigateOpts:a,type:"GO"})},"go"),back:i(c=>{s({task:i(()=>{t.back(c?.ignoreBlocker??!1),o({type:"BACK"})},"task"),navigateOpts:c,type:"BACK"})},"back"),forward:i(c=>{s({task:i(()=>{t.forward(c?.ignoreBlocker??!1),o({type:"FORWARD"})},"task"),navigateOpts:c,type:"FORWARD"})},"forward"),canGoBack:i(()=>e.state[vt]!==0,"canGoBack"),createHref:i(c=>t.createHref(c),"createHref"),block:i(c=>{if(!t.setBlockers)return()=>{};let a=t.getBlockers?.()??[];return t.setBlockers([...a,c]),()=>{let u=t.getBlockers?.()??[];t.setBlockers?.(u.filter(l=>l!==c))}},"block"),flush:i(()=>t.flush?.(),"flush"),destroy:i(()=>t.destroy?.(),"destroy"),notify:r}}i(Qe,"createHistory");function Ze(t,e){e||(e={});let n=en();return{...e,key:n,__TSR_key:n,[vt]:t}}i(Ze,"assignKeyAndIndex");function tn(t){let e=t?.window??(typeof document<"u"?window:void 0),n=e.history.pushState,r=e.history.replaceState,o=[],s=i(()=>o,"_getBlockers"),c=i(S=>o=S,"_setBlockers"),a=t?.createHref??(S=>S),u=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 S=en();e.history.replaceState({[vt]:0,key:S,__TSR_key:S},"")}let l=u(),f,d=!1,h=!1,p=!1,g=!1,m=i(()=>l,"getLocation"),y,R=i(()=>{y&&(b._ignoreSubscribers=!0,(y[2]?e.history.pushState:e.history.replaceState)(y[1],"",y[0]),b._ignoreSubscribers=!1,y=void 0,f=void 0)},"flush"),v=i((S,C,w)=>{let P=a(C),E=!!y;E||(f=l),l=$t(C,w),y=[P,w,y?.[2]||S],E||queueMicrotask(()=>R())},"queueHistoryAction"),_=i(S=>{l=u(),b.notify({type:S})},"onPushPop"),x=i(async()=>{if(h){h=!1;return}let S=u(),C=S.state[vt]-l.state[vt],w=C===1,P=C===-1,E=!w&&!P||d;d=!1;let I=E?"GO":P?"BACK":"FORWARD",N=E?{type:"GO",index:C}:{type:P?"BACK":"FORWARD"};if(p)p=!1;else{let _t=s();if(typeof document<"u"&&_t.length){for(let nt of _t)if(await nt.blockerFn({currentLocation:l,nextLocation:S,action:I})){h=!0,e.history.go(1),b.notify(N);return}}}l=u(),b.notify(N)},"onPushPopEvent"),L=i(S=>{if(g){g=!1;return}let C=!1,w=s();if(typeof document<"u"&&w.length)for(let P of w){let E=P.enableBeforeUnload??!0;if(E===!0){C=!0;break}if(typeof E=="function"&&E()===!0){C=!0;break}}if(C)return S.preventDefault(),S.returnValue=""},"onBeforeUnload"),b=Qe({getLocation:m,getLength:i(()=>e.history.length,"getLength"),pushState:i((S,C)=>v(!0,S,C),"pushState"),replaceState:i((S,C)=>v(!1,S,C),"replaceState"),back:i(S=>(S&&(p=!0),g=!0,e.history.back()),"back"),forward:i(S=>{S&&(p=!0),g=!0,e.history.forward()},"forward"),go:i(S=>{d=!0,e.history.go(S)},"go"),createHref:i(S=>a(S),"createHref"),flush:R,destroy:i(()=>{e.history.pushState=n,e.history.replaceState=r,e.removeEventListener(Co,L,{capture:!0}),e.removeEventListener(bo,x)},"destroy"),onBlocked:i(()=>{f&&l!==f&&(l=f)},"onBlocked"),getBlockers:s,setBlockers:c,notifyOnIndexChange:!1});return e.addEventListener(Co,L,{capture:!0}),e.addEventListener(bo,x),e.history.pushState=function(...S){let C=n.apply(e.history,S);return b._ignoreSubscribers||_("PUSH"),C},e.history.replaceState=function(...S){let C=r.apply(e.history,S);return b._ignoreSubscribers||_("REPLACE"),C},b}i(tn,"createBrowserHistory");function Yr(t={initialEntries:["/"]}){let e=t.initialEntries,n=t.initialIndex?Math.min(Math.max(t.initialIndex,0),e.length-1):e.length-1,r=e.map((u,l)=>Ze(l,void 0)),o=i(()=>$t(e[n],r[n]),"getLocation"),s=[];return Qe({getLocation:o,getLength:i(()=>e.length,"getLength"),pushState:i((u,l)=>{n<e.length-1&&(e.splice(n+1),r.splice(n+1)),r.push(l),e.push(u),n=Math.max(e.length-1,0)},"pushState"),replaceState:i((u,l)=>{r[n]=l,e[n]=u},"replaceState"),back:i(()=>{n=Math.max(n-1,0)},"back"),forward:i(()=>{n=Math.min(n+1,e.length-1)},"forward"),go:i(u=>{n=Math.min(Math.max(n+u,0),e.length-1)},"go"),createHref:i(u=>u,"createHref"),getBlockers:i(()=>s,"_getBlockers"),setBlockers:i(u=>s=u,"_setBlockers")})}i(Yr,"createMemoryHistory");function Xr(t){let e=t.replace(/[\x00-\x1f\x7f]/g,"");return e.startsWith("//")&&(e="/"+e.replace(/^\/+/,"")),e}i(Xr,"sanitizePath");function $t(t,e){let n=Xr(t),r=n.indexOf("#"),o=n.indexOf("?"),s=en();return{href:n,pathname:n.substring(0,r>0?o>0?Math.min(r,o):r:o>0?o:n.length),hash:r>-1?n.substring(r):"",search:o>-1?n.slice(o,r===-1?void 0:r):"",state:e||{[vt]:0,key:s,__TSR_key:s}}}i($t,"parseHref");function en(){return(Math.random()+1).toString(36).substring(7)}i(en,"createRandomKey");function Po(t){return t.options.loader||t.options.beforeLoad||t.lazyFn||t.options.component?.preload||t.options.pendingComponent?.preload}i(Po,"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}}i(Ct,"getLocationChangeInfo");function Lo({key:t,__TSR_key:e,__TSR_index:n,__hashScrollIntoViewOptions:r,...o}){return o}i(Lo,"_getUserHistoryState");function Io(t,e,n,r){for(let o of e){if(r&&t._tx!==r)return;n.some(s=>s.routeId===o.routeId)||t.routesById[o.routeId].options.onLeave?.(o)}for(let o of n){if(r&&t._tx!==r)return;t.routesById[o.routeId].options[e.some(s=>s.routeId===o.routeId)?"onStay":"onEnter"]?.(o)}}i(Io,"runRouteLifecycle");var nn=class{static{i(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 n=>(n(),!1),this.update=n=>{let r=this.options,o=this.basepath??r?.basepath??"/",s=this.basepath===void 0,c=r?.rewrite;if(this.options={...r,...n},this.isServer=this.options.isServer??!1??typeof document>"u",this.protocolAllowlist=new Set(this.options.protocolAllowlist),this.options.pathParamsAllowedCharacters&&(this.pathParamsDecoder=uo(this.options.pathParamsAllowedCharacters)),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.options.history?this.history=this.options.history:this.history=tn()),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 l;if(!1){let f=globalThis.__TSR_CACHE__;this.resolvePathCache=f.resolvePathCache,l=f.processRouteTreeResult}else this.resolvePathCache=Ft(1e3),l=this.buildRouteTree(),!1;this.setRoutes(l)}if(!this.stores&&this.latestLocation){let l=this.getStoreConfig(this);this.batch=l.batch,this.stores=xo(this.latestLocation,l),mo(this)}let a=this.options.basepath??"/",u=this.options.rewrite;if(s||o!==a||c!==u){this.basepath=a;let l=[],f=qt(a);f&&f!=="/"&&l.push(wo({basepath:a})),u&&l.push(u),this.rewrite=l.length===0?void 0:l.length===1?l[0]:_o(l),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 n=ao(this.routeTree,this.options.caseSensitive,(r,o)=>{r.init({originalIndex:o})});return this.options.routeMasks&&oo(this.options.routeMasks,n.processedTree),n},this.subscribe=(n,r)=>{let o={eventType:n,fn:r};return this.subscribers.add(o),()=>{this.subscribers.delete(o)}},this.emit=n=>{for(let r of this.subscribers)if(r.eventType===n.type)try{r.fn(n)}catch(o){console.error(o)}},this.parseLocation=(n,r)=>{let o=i(({pathname:u,search:l,hash:f,href:d,state:h})=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(u)){let R=this.options.parseSearch(l),v=this.options.stringifySearch(R);return{href:u+v+f,publicHref:u+v+f,pathname:Dt(u).path,external:!1,searchStr:v,search:pt(r?.search,R),hash:Dt(f.slice(1)).path,state:rt(r?.state,h)}}let p=new URL(d,this.origin),g=ge(this.rewrite,p),m=this.options.parseSearch(g.search),y=this.options.stringifySearch(m);return g.search=y,{href:g.href.replace(g.origin,""),publicHref:d,pathname:Dt(g.pathname).path,external:!!this.rewrite&&g.origin!==this.origin,searchStr:y,search:pt(r?.search,m),hash:Dt(g.hash.slice(1)).path,state:rt(r?.state,h)}},"parse"),s=o(n),{__tempLocation:c,__tempKey:a}=s.state;if(c&&(!a||a===this.tempLocationKey)){let u=o(c);return u.state.key=s.state.key,u.state.__TSR_key=s.state.__TSR_key,delete u.state.__tempLocation,{...u,maskedLocation:s}}return s},this.resolvePathWithBase=(n,r)=>Ke({base:n,to:r,trailingSlash:this.options.trailingSlash,cache:this.resolvePathCache}),this.matchRoutes=(n,r,o)=>typeof n=="string"?this.matchRoutesInternal({pathname:n,search:r},o):this.matchRoutesInternal(n,r),this.getMatchedRoutes=n=>{let r=Object.create(null),o=io(G(n),this.processedTree,!0);return o&&Object.assign(r,o.rawParams),[o?.branch||[this.routesById.__root__],r,o?.route]},this.buildLocation=n=>{let r=i((s={})=>{if(s.href){let w=$t(s.href,{});s={...s,to:ge(this.rewrite,new URL(w.pathname,this.origin)).pathname,search:this.options.parseSearch(w.search),hash:w.hash.slice(1)}}let c=s._fromLocation||this._pendingLocation||this.latestLocation,a=this.matchRoutesLightweight(c);s.from;let u=s.unsafeRelative==="path"?c.pathname:s.from??a[1],l=a[2],f=a[3],d=this.resolvePathWithBase(u,s.to?`${s.to}`:"."),h=Eo(s.params,f),p=this.routesByPath[G(d)],g;if(p)g=this.getRouteBranch(p);else if(d.includes("$"))g=[];else{let[w,P,E]=this.getMatchedRoutes(d);g=w,this.options.notFoundRoute&&(!E||E.path!=="/"&&P["**"])&&(g=[...g,this.options.notFoundRoute])}if(g.length&&ht(h))for(let w of g){let P=w.options.params?.stringify??w.options.stringifyParams;if(P){h===f&&(h=Object.assign(Object.create(null),h));try{Object.assign(h,P(h))}catch{}}}let m=n.leaveParams?d:Dt(de({path:d,params:h,decoder:this.pathParamsDecoder,server:this.isServer}).interpolatedPath).path,y=l;if(n._includeValidateSearch&&this.options.search?.strict){let w={};g.forEach(P=>{if(P.options.validateSearch)try{Object.assign(w,ye(P.options.validateSearch,{...w,...y}))}catch{}}),y=w}y=Zr(y,s,g,n._includeValidateSearch),y=pt(l,y);let R=this.options.stringifySearch(y),v=s.hash===!0?c.hash:s.hash?q(s.hash,c.hash):void 0,_=v?`#${v}`:"",x=s.state===!0?c.state:s.state?q(s.state,c.state):{};s.state&&(x=rt(c.state,x));let L=`${m}${R}${_}`,b,S,C=!1;if(this.rewrite){let w=new URL(L,this.origin),P=Je(this.rewrite,w);b=w.href.replace(w.origin,""),P.origin!==this.origin?(S=P.href,C=!0):S=P.pathname+P.search+P.hash}else b=Zn(L),S=b;return{publicHref:S,href:b,pathname:m,search:y,searchStr:R,state:x,hash:v??"",external:C,unmaskOnReload:s.unmaskOnReload}},"build"),o=r(n);if(n.mask)o.maskedLocation=r({from:n.from,...n.mask});else if(this.options.routeMasks){let s=ro(o.pathname,this.processedTree);if(s){let c=Object.assign(Object.create(null),s.rawParams),{from:a,params:u,...l}=s.route,f=Eo(u,c);o.maskedLocation=r({from:n.from,...l,params:f})}}return o},this.commitLocation=async({viewTransition:n,ignoreBlocker:r,...o})=>{let s,c=G(this.latestLocation.href)===G(o.href)&&Q(Lo(o.state),Lo(this.latestLocation.state)),a=this._commitPromise,u,l=new Promise(f=>{u=f});if(l.resolve=()=>{u(),a?.resolve()},this._commitPromise=l,c)this.load();else{let{maskedLocation:f,hashScrollIntoView:d,...h}=o;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=n,s=o.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=o.resetScroll??!0,this._commitPromise},this.buildAndCommitLocation=({replace:n,resetScroll:r,hashScrollIntoView:o,viewTransition:s,ignoreBlocker:c,...a}={})=>{let u=this.buildLocation({...a,_includeValidateSearch:!0});this._pendingLocation=u;let l=this.commitLocation({...u,viewTransition:s,replace:n,resetScroll:r,hashScrollIntoView:o,ignoreBlocker:c});return queueMicrotask(()=>{this._pendingLocation===u&&(this._pendingLocation=void 0)}),l},this.navigate=async({to:n,reloadDocument:r,href:o,publicHref:s,...c})=>{let a=!1;if(o)try{new URL(`${o}`),a=!0}catch{}if(a&&!r&&(r=!0),r){if(n!==void 0||!o){let l=this.buildLocation({to:n,...c});o=o??l.publicHref,s=s??l.publicHref}let u=!a&&s?s:o;if(st(u,this.protocolAllowlist))return;if(!c.ignoreBlocker){let l=this.history.getBlockers?.()??[];for(let f of l)if(f?.blockerFn&&await f.blockerFn({currentLocation:this.latestLocation,nextLocation:this.latestLocation,action:"PUSH"}))return}c.replace?window.location.replace(u):window.location.href=u;return}return this.buildAndCommitLocation({...c,href:o,to:n,_isNavigate:!0})},this.load=async n=>{if(!1)return(void 0)(this,n);this.updateLatestLocation(),n?.action&&(this._scroll.hash=n.action.type==="PUSH"||n.action.type==="REPLACE"),await Oo(this,n)},this.startViewTransition=n=>{let r=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,r&&!!1&&typeof document.startViewTransition=="function"){let o;if(typeof r=="object"&&window.CSS?.supports?.("selector(:active-view-transition-type(a))")){let s=this.latestLocation,c=this.stores.resolvedLocation.get(),a=typeof r.types=="function"?r.types(Ct(s,c)):r.types;if(a===!1)return n();o={update:n,types:a}}else o=n;return document.startViewTransition(o).updateCallbackDone}return n()},this.invalidate=n=>{let r=this._committed,o=n?.filter,s=this._preloads,c=new Set([...r,...this._cache.values(),...[...s?.values()??[]].flat(),...this._tx?.[3]??[]].filter(l=>!o||o(l)).map(l=>l.id)),a=[];for(let[l,f]of s??[])f.some(d=>c.has(d.id))&&(s.delete(l),a.push(l));let u=i(l=>{if(c.has(l.id)){let f=this.routesById[l.routeId],d={...l,invalid:!0,...(n?.forcePending||l.status==="error"||l.status==="notFound")&&Po(f)?{status:"pending",error:void 0}:void 0};return l._flight=void 0,d}return l},"invalidate");this._committed=r.map(u);for(let[l,f]of this._cache)c.has(l)&&(f.invalid=!0,n?.forcePending&&(f.status="pending"));for(let l of c)this._flights?.delete(l);for(let l of a)l.abort();return this.shouldViewTransition=!1,this.load({sync:n?.sync})},this.resolveRedirect=n=>{let r=n.headers.get("Location");if(n.options.href){if(r)try{let o=new URL(r);if(this.origin&&o.origin===this.origin){let s=o.pathname+o.search+o.hash;n.options.href=s,n.headers.set("Location",s)}}catch{}}else{let o=this.buildLocation(n.options).publicHref||"/";n.options.href=o,n.headers.set("Location",o)}if(n.options.href&&st(n.options.href,this.protocolAllowlist))throw new Error("Redirect blocked: unsafe protocol");return n.headers.get("Location")||n.headers.set("Location",n.options.href),n},this.clearCache=n=>{let r=this._cache,o=this._preloads,s=n?.filter,c=[],a=[];for(let[l,f]of r)(!s||s(f))&&(a.push(l),c.push(f));let u=[];for(let[l,f]of o??[])(!s||f.some(s))&&(u.push(l),c.push(...f));for(let l of a)r.delete(l);for(let l of u)o.delete(l);for(let l of c){let f=l._flight;l._flight=void 0,f&&!--f[2]&&(this._flights?.get(l.id)===f&&this._flights.delete(l.id),u.push(f[1]))}for(let l of u)l.abort()},this.loadRouteChunk=Pt,this.preloadRoute=n=>To(this,n),this.matchRoute=(n,r)=>{let o={...n,to:n.to?this.resolvePathWithBase(n.from||"",n.to):void 0,params:n.params||{},leaveParams:!0},s=this.buildLocation(o),c=this.stores.status.get()==="pending";if(r?.pending&&!c)return!1;let a=r?.pending??!c?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),u=so(s.pathname,r?.caseSensitive??!1,r?.fuzzy??!1,a.pathname,this.processedTree);return!u||n.params&&!Q(u.rawParams,n.params,{partial:!0})?!1:r?.includeSearch??!0?Q(a.search,s.search,{partial:!0})?u.rawParams:!1:u.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??Ro,parseSearch:t.parseSearch??vo,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:n}){this.routesById=t,this.routesByPath=e,this.processedTree=n;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[n,r,o]=this.getMatchedRoutes(t.pathname),s=n,c=!1;(o?o.path!=="/"&&r["**"]:G(t.pathname))&&(this.options.notFoundRoute?s=[...s,this.options.notFoundRoute]:c=!0);let a=c?Qr(this.options.notFoundMode,s):void 0,u=new Array(s.length),l=this._committed,f=i((h,p)=>{let g=l[p];return g?.routeId===h.id?g:h===this.options.notFoundRoute?l.find(m=>m.routeId===h.id):void 0},"previousAt"),d;for(let h=0;h<s.length;h++){let p=s[h],g=u[h-1],m,y,R;{let N=g?.search??t.search,_t=g?._strictSearch??void 0;try{let nt=ye(p.options.validateSearch,{...N})??void 0;m={...N,...nt},y={..._t,...nt}}catch(nt){let oe=nt;if(nt instanceof Gt||(oe=new Gt(nt.message,{cause:nt})),e?.throwOnError)throw oe;m=N,y={},R=oe}}let v="",_="";try{v=p.options.loaderDeps?.({search:m})??"",_=v&&JSON.stringify(v)||""}catch(N){if(e?.throwOnError)throw N;R??=N}let{interpolatedPath:x,usedParams:L}=de({path:p.fullPath,params:r,decoder:this.pathParamsDecoder,server:this.isServer}),b=p.id+x+_,S=f(p,h),C=this._cache.get(b)??(S?.id===b?S:void 0);d=C?._strictParams??Object.assign(L,d);let w;if(!C)try{ko(p,d)}catch(N){if(J(N)||me(N)?w=N:w=new No(N.message,{cause:N}),e?.throwOnError)throw w}let P=S?"stay":"enter",E;if(C)E={...C,cause:P,search:S?pt(S.search,m):pt(C.search,m),_strictSearch:y,searchError:R};else{let N=Po(p)?"pending":"success";E={id:b,ssr:p.options.ssr,index:h,routeId:p.id,params:S?.params??d,_strictParams:d,pathname:x,updatedAt:Date.now(),search:S?pt(S.search,m):m,_strictSearch:y,searchError:R,status:N,isFetching:!1,error:void 0,paramsError:w,context:{},abortController:e?._controller??new AbortController,cause:P,loaderDeps:S?rt(S.loaderDeps,v):v,invalid:!1,preload:!1,staticData:p.options.staticData||{},fullPath:p.fullPath}}let I=a===p.id;E._notFound&&!I&&(E.error=void 0),E._notFound=I,u[h]=E}for(let h=0;h<u.length;h++){let p=u[h];p.params=p.cause==="stay"?pt(p.params,d):d,e?._controller&&(p.context={})}return u}matchRoutesLightweight(t){let e=dt(this.stores.ids.get()),n=e?this.stores.byRoute.get(e).get():void 0,r=n?.id,o=this.lightweightCache.get(t);if(o&&o[0]===r)return o[1];let[s,c]=this.getMatchedRoutes(t.pathname),a=dt(s),u={...t.search};for(let h of s)try{Object.assign(u,ye(h.options.validateSearch,u))}catch{}let l=n&&n.routeId===a.id&&n.pathname===t.pathname,f;if(l)f=n.params;else{let h=Object.assign(Object.create(null),c);for(let p of s)try{ko(p,h)}catch{}f=h}let d=[s,a.fullPath,u,f];return this.lightweightCache.set(t,[r,d]),d}},Gt=class extends Error{static{i(this,"SearchParamError")}},No=class extends Error{static{i(this,"PathParamError")}};function ye(t,e){if(t==null)return{};if("~standard"in t){let n=t["~standard"].validate(e);if(n instanceof Promise)throw new Gt("Async validation not supported");if(n.issues)throw new Gt(JSON.stringify(n.issues,void 0,2),{cause:n});return n.value}return"parse"in t?t.parse(e):typeof t=="function"?t(e):{}}i(ye,"validateSearch");function Zr(t,e,n,r){let o=[];for(let c of n){let a=c.options;if("search"in a)a.search?.middlewares&&o.push(...a.search.middlewares);else if(a.preSearchFilters||a.postSearchFilters){let l=i(({search:f,next:d})=>{let h=d(a.preSearchFilters?a.preSearchFilters.reduce((p,g)=>g(p),f):f);return a.postSearchFilters?a.postSearchFilters.reduce((p,g)=>g(p),h):h},"legacyMiddleware");o.push(l)}let u=a.validateSearch;if(r&&u){let l=i(({search:f,next:d,meta:h})=>{let p=d(f);try{let g=ye(u,p);if(h&&g)for(let m in g)m in p||(h.defaulted||=new Map).set(m,g[m]);return{...p,...g}}catch{}return p},"validate");o.push(l)}}let s=i((c,a,u)=>{if(c>=o.length){if(!e.search)return{};if(e.search===!0)return a;let f=q(e.search,a);return u&&(u.explicit=f),f}let l=i((f,d)=>{if(d){let h=u||{};return{search:s(c+1,f,h),meta:h}}return s(c+1,f,u)},"next");return o[c]({search:a,next:l,meta:u})},"applyNext");return s(0,t)}i(Zr,"applySearchMiddleware");function Qr(t,e){if(t!=="root"){let n;for(let r=e.length-1;r>=0;r--){let o=e[r];if(o.options.notFoundComponent)return o.id;n||=o.children&&o.id}if(n)return n}return tt}i(Qr,"findGlobalNotFoundRouteId");function Eo(t,e){if(t===!1||t===null)return Object.create(null);if((t??!0)===!0)return e;let n=Object.assign(Object.create(null),e);return Object.assign(n,q(t,n))}i(Eo,"resolveNextParams");function ko(t,e){let n=t.options.params?.parse??t.options.parseParams;n&&Object.assign(e,n(e))}i(ko,"extractStrictParams");function on(t,e){return t.options[e]?.preload?.()}i(on,"preloadComponent");function ts(t,e){let n=on(t,"component"),r=on(t,"pendingComponent");return e&&(r?r=r.then(e):e()),n&&r?Promise.all([n,r]).then(()=>{}):n??r}i(ts,"loadComponents");function Pt(t,e,n){let r=i(()=>e===!1?void 0:e?on(t,e):ts(t,n),"afterLazy"),o=t._lazy;if(o)return o===!0?r():o.then(r);if(!t.lazyFn)return r();let s=t.lazyFn().then(c=>{{let{id:a,...u}=c.options;Object.assign(t.options,u),t._lazy=!0}},c=>{throw t._lazy=void 0,c});return t._lazy=s,s.then(r)}i(Pt,"loadRouteChunk");function an(t){let e=t.findIndex(n=>n.status!=="success"||n._notFound)+1;return e&&e<t.length?t.slice(0,e):t}i(an,"_getRenderedMatches");var it=0,ft=1,Re=2,Y=3,Rt=[4];function Xt(t){return typeof t[0]=="number"}i(Xt,"isControl");function Et(t,e){return e.aborted?Promise.race([Promise.reject(e),t]):new Promise((n,r)=>{let o=i(()=>r(e),"abort");e.addEventListener("abort",o,{once:!0}),Promise.resolve(t).then(n,r).finally(()=>e.removeEventListener("abort",o))})}i(Et,"waitFor");function kt(t,e){return t.routesById[e.routeId]}i(kt,"getRoute");function Zt(t,e,n){return me(t)?[Y,t]:J(t)?(t.routeId||=n,[Re,t]):e?(typeof t?.then=="function"&&(t=new Error("A Promise was thrown",{cause:t})),[ft,t]):[it,t]}i(Zt,"normalize");function cn(t,e){let n=Zt(e,!0,t.id);if(n[0]!==ft)return n;try{t.options.onError?.(n[1])}catch(r){n=Zt(r,!0,t.id)}return n}i(cn,"normalizeError");function Yt(t,e,n,r,o){return o[0].signal.aborted?Rt:fn(t,e,n,cn(n,r),o)}i(Yt,"normalizeLaneError");async function es(t,e,n,r,o,s){let[c,a]=e,u=n[0].signal,l=!!n[3];for(let f=n[6]??0;f<r;f++){let d=a[f],h=kt(t,d);d.abortController=n[0];let p=a[f-1]?.context??t.options.context??{},g={params:d.params,location:c,navigate:i(v=>t.navigate({...v,_fromLocation:c}),"navigate"),buildLocation:t.buildLocation,cause:l?"preload":d.cause,abortController:n[0],preload:l,matches:a,routeId:h.id};try{let v=d._ctx||=h.options.context?h.options.context({...g,deps:d.loaderDeps,context:p})||{}:void 0;d.context={...p,...v}}catch(v){return ut(t,d),[f,Yt(t,e,h,v,n)]}if(u.aborted)return[f,Rt];let m=d.paramsError??d.searchError;if(m!==void 0)return ut(t,d),[f,Yt(t,e,h,m,n)];let y=h.options.beforeLoad;if(!y)continue;let R=d.status;f>=s&&(d.status="pending",n[7]?.());try{Qt(t,d,"beforeLoad",n[0]);let v=await Et(y({...g,search:d.search,context:d.context,...t.options.additionalContext}),u);if(u.aborted)return[f,Rt];let _=fn(t,e,h,Zt(v,!1,h.id),n);if(_[0]!==it)return ut(t,d),[f,_];d.context={...d.context,...v}}catch(v){return ut(t,d),[f,Yt(t,e,h,v,n)]}finally{d.status=R,Qt(t,d,!1,n[0])}}o()}i(es,"contextualize");function ln(t,e,n){if(!(!n||--n[2])){if(t._flights?.get(e.id)===n){let r=t._tx;if(r&&!r[0].signal.aborted&&!r[3].includes(e)&&r[3].some(o=>o.id===e.id)&&r[3].some(o=>o.isFetching==="beforeLoad"))return;t._flights.delete(e.id)}return n[1]}}i(ln,"releaseOwnedFlight");function ut(t,e){let n=e._flight;e._flight=void 0,ln(t,e,n)?.abort()}i(ut,"releaseFlight");function j(t,e,n,r){let o=[];for(let s of e)if(!n?.includes(s)){let c=s._flight;if(s._flight=void 0,r&&c?.[2]===1&&t._flights?.get(s.id)===c&&n?.some(a=>a.id===s.id))c[2]=0;else{let a=ln(t,s,c);a&&o.push(a)}}for(let s of o)s.abort()}i(j,"transferMatchResources");function un(t){for(let e of t){let n=e._flight;n&&n[2]++}}i(un,"acquireMatchResources");function Qt(t,e,n,r){if(e.isFetching=n,r&&t._tx?.[0]!==r)return;let o=t.stores.byRoute.get(e.routeId),s=o?.get();s?.id===e.id&&o.set({...s,isFetching:n})}i(Qt,"setFetching");function Bo(t,e,n,r,o,s,c){let a=e[0];return{params:n.params,location:a,navigate:i(u=>t.navigate({...u,_fromLocation:a}),"navigate"),cause:c?"preload":n.cause,abortController:o,preload:c,deps:n.loaderDeps,parentMatchPromise:s,context:n.context,route:r,...t.options.additionalContext}}i(Bo,"getLoaderContext");async function Do(t,e,n,r,o,s,c){let a=c[0],u=a.signal;if(u.aborted)return Rt;if(!o)return[it,void 0];let l=n._flight;Qt(t,n,"loader",a);try{if(!l){let f=new AbortController;l=[Promise.resolve().then(()=>o(Bo(t,e,n,r,f,s,!!c[3]))).then(d=>Zt(d,!1,r.id),d=>Zt(d,!0,r.id)).then(d=>(d[0]!==it&&t._flights?.get(n.id)===l&&(t._flights.delete(n.id),l[2]||f.abort()),d[0]===ft&&l[2]?cn(r,d[1]):d)),f,1],(t._flights??=new Map).set(n.id,l)}return n._flight=l,n.abortController=l[1],fn(t,e,r,await Et(l[0],u),c)}catch(f){if(f!==u||!u.aborted)throw f;return ut(t,n),Rt}finally{Qt(t,n,!1,a)}}i(Do,"loadResource");function Fo(t,e,n){e[0]!==Y&&(t.status="success",t.error=void 0,e[0]===it?(t.loaderData=e[1],t.invalid=!1,t.updatedAt=Date.now(),t.preload=n):t.invalid=!0)}i(Fo,"settleInto");function ns(t,e,n){let r=t._cache.get(e.id);if(r!==n||t._committed.some(s=>s.id===e.id&&s._flight===e._flight))return;let o={...e,_notFound:void 0,context:{}};o._flight&&o._flight[2]++,t._cache.set(e.id,o),r&&ut(t,r)}i(ns,"cacheLoaderMatch");function Mo(t,e){return e[0]===ft||e[0]===Re?{...t,status:e[0]===ft?"error":"notFound",error:e[1],_flight:void 0}:t}i(Mo,"getParentSnapshot");function os(t,e,n,r,o,s,c){let a=e[1][n],u=kt(t,a),l=!!s[3],f=t._cache.get(a.id),d,h=!1,p;try{if(a.status==="success"&&(d=u.options.shouldReload,typeof d=="function"&&(d=d(Bo(t,e,a,u,s[0],o,l))),s[0].signal.aborted&&(p=Rt)),!p)if(a.status!=="success")h=!0;else{let I=l||a.preload?u.options.preloadStaleTime??t.options.defaultPreloadStaleTime??3e4:u.options.staleTime??t.options.defaultStaleTime??0;h=!!(a.invalid||d||d===void 0&&Date.now()-a.updatedAt>=I&&(s[5]||a.cause==="enter"||s[2].some(N=>N.routeId===a.routeId&&N.id!==a.id)))}}catch(I){a.invalid=!0,ut(t,a),p=Yt(t,e,u,I,s)}let g=u.options.loader,m=typeof g=="function",y=m?g:g?.handler,R=!l||u.options.preload!==!1,v=R&&g?t._flights?.get(a.id):void 0;v===a._flight||p?v=void 0:v&&!h&&!l&&d===void 0?h=!0:h||(v=void 0);let _=!!(g&&h&&a.status==="success"&&!l&&!s[4]&&((m?void 0:g.staleReloadMode)??t.options.defaultStaleReloadMode)!=="blocking"),x=h&&R,L=x&&!_&&(a.status!=="success"||!!g),b=n>=c?s[7]:void 0,S=u.lazyFn&&u._lazy!==!0?b:void 0;if(x&&!g&&(a.invalid=!1,a.updatedAt=Date.now()),v&&v[2]++,L){let I=a._flight;a._flight=v,ln(t,a,I)?.abort(),n>=c&&(a.status="pending"),b?.()}x||(a.isFetching=!1);let C=(p?Promise.resolve(p):L?Do(t,e,a,u,y,o,s):Promise.resolve([it,a.loaderData])).then(I=>(L&&(Fo(a,I,l),I[0]===it&&(g&&!s[0].signal.aborted&&ns(t,a,f),n>=c&&(a.status="pending"))),I)),w=Et(Promise.resolve().then(()=>Pt(u,void 0,S)),s[0].signal).then(()=>{},I=>e[1].some((N,_t)=>_t<=n&&(N.status==="error"||N.status==="notFound"||N._notFound))?void 0:[n,Yt(t,e,u,I,s)]).then(I=>C.then(N=>(L&&!I&&N[0]===it&&a.status==="pending"&&!s[0].signal.aborted&&(a.status="success",b?.()),I)));if(r.push([n,C,w]),!_)return C.then(I=>Mo(a,I));let P={...a,status:"pending",preload:!1,_flight:v};a.invalid=!1,a.isFetching="loader";let E=Do(t,e,P,u,y,o,s).then(I=>(a.isFetching=!1,Fo(P,I,!1),I));return(e[2]??=[]).push([n,E,w,P]),E.then(I=>Mo(P,I))}i(os,"createLoaderTask");async function rn(t,e,n,r,o=0){let s=n?.[1][1],c=s?.routeId?e.findIndex(a=>a.routeId===s.routeId):n?.[0]??e.length-1;c<0&&(c=0);for(let a=c;a>=0;a--){let u=kt(t,e[a]);try{let l=Pt(u,!1);l&&await Et(l,r)}catch(l){if(l===r&&r.aborted)throw l}if(u.options.notFoundComponent)return a}return s?.routeId?c:o}i(rn,"getNotFoundBoundary");function Lt(t,e){e[2]&&(j(t,e[2].map(n=>n[3])),e[2]=void 0)}i(Lt,"discardBackground");async function Ao(t,e,n,r){let o;try{await Promise.all(t.map(s=>s[1].then(async c=>{let a=s[0];if(!(r&&a>=await r)){if(c[0]>=Y)throw[a,c];!o&&c[0]!==it&&(o=[a,c],await Promise.all((n??[]).map(u=>{if(!(u[0]<=a))return u[1].then(l=>{if(l[0]===Y)throw[u[0],l]})})))}})))}catch(s){return s}return e??o}i(Ao,"settleTasks");function fn(t,e,n,r,o,s){for(;r[0]===Y;){let c=r[1],a=c.options;if(a.reloadDocument?o[3]:o[1]>=20)return r;try{return a.href&&a.reloadDocument?(t.resolveRedirect(c),r):[Y,c,t.buildLocation({...a,_fromLocation:e[0],_includeValidateSearch:!0})]}catch(u){r=s?[ft,u]:cn(n,u),s=!0}}return r}i(fn,"materializeRedirect");async function Uo(t,e,n,r,o,s){let c=e[1],a=await o,u=!1,l=c.findIndex(p=>p._notFound),f=i(p=>p[1][0]===Re?rn(t,c,p,r.signal):p[0],"boundaryOf"),d=l<0?c.length:l;if((a?.[1][0]??0)>=Y)d=0;else if(a){d=a[2]??=await f(a);for(let p of n){if(p[0]>=d)break;let g=await p[1];if(g[0]!==it&&g[0]<Y&&!("loaderData"in c[p[0]])){a=[p[0],g],d=a[2]=await f(a);break}}}for(let p of n){if(p[0]>=d)break;let g=await p[2];if(g){a=g;break}}if((a?.[1][0]??0)>=Y){let p=a[1];if(p[0]!==Y||p[1].options.reloadDocument||p[2])return Lt(t,e),p;u=!0,a=[0,[ft,new Error("Too many redirects")]]}let h=a?a[2]??await f(a):l;if(h>=0){let p=a?.[1],g=p?.[0],m=c[h],y=p?.[1],R=i(()=>{p&&(m._notFound=void 0,g===ft?m.status="error":(y.routeId=m.routeId,m.routeId===t.routeTree.id?(m.status="success",m._notFound=!0):m.status="notFound"),m.error=y,m.isFetching=!1)},"install");R(),p||s?.();let v=kt(t,m);try{await Et(p?Promise.resolve().then(()=>Pt(v,g===ft?"errorComponent":"notFoundComponent")):Promise.all([Pt(v),Pt(v,"notFoundComponent")]),r.signal)}catch(_){if(_===r.signal&&r.signal.aborted)return Lt(t,e),Rt}p?u&&(r.abort(),await Promise.all([...n.map(_=>_[1]),...n.map(_=>_[2]),...(e[2]??[]).map(_=>_[1])]),Lt(t,e),j(t,c),R()):m.status="success"}return e}i(Uo,"reduceLane");async function Vo(t,e,n,r=0,o=e[1].length){let s=e[1];for(let c=r;c<o;c++){let a=s[c],u=kt(t,a).options;if(u.head||u.scripts)try{let l={ssr:t.options.ssr,matches:s,match:a,params:a.params,loaderData:a.loaderData},[f,d]=await Et(Promise.all([u.head?.(l),u.scripts?.(l)]),n);a.meta=f?.meta,a.links=f?.links,a.headScripts=f?.scripts,a.styles=f?.styles,a.scripts=d}catch(l){if(l===n&&n.aborted)break;console.error(l)}if(a.status!=="success"||a._notFound)break}return e}i(Vo,"projectLane");async function Wo(t,e,n,r){let o=[e,n],s=r[0].signal,c;try{let a=t.stores.matches.get(),u=n.findIndex(R=>R._notFound);if(t.options.notFoundMode!=="root"&&u>=0){let R=await rn(t,n,void 0,s,u);n[u]._notFound=void 0,n[R]._notFound=!0,u=R}let l=u<0?n.length:u+1,f=0;for(;f<l&&f!==u;){let R=n[f],v=r[2][f],_=a[f];if(v?.id!==R.id||v.status!=="success"||v._notFound||R.preload||_?.id!==R.id||_.status!=="success"||_._notFound)break;f++}let d=[],h=r[6]??0,p=h?Promise.resolve(n[h-1]):void 0,g=i(()=>{for(let R=h;R<l&&!s.aborted;R++)p=os(t,o,R,d,p,r,f)},"planSuccessfulLane"),m=await es(t,o,r,l,g,f);if(m){if(r[4]=!0,l=m[0],m[1][0]===Re){let R=await rn(t,n,m,s);m[2]=R,l=Math.min(l,R+1)}else m[1][0]>=Y&&(l=0);g()}if(!s.aborted&&!r[3]){let R=[];for(let[v,_]of t._flights??[])_[2]||(t._flights.delete(v),R.push(_[1]));for(let v of R)v.abort()}let y=Uo(t,o,d,r[0],Ao(d,m,o[2]),r[7]);o[2]?.length&&(o[3]=Ao(o[2],void 0,void 0,y.then(R=>Xt(R)?0:an(n).length,()=>0))),c=await y}catch(a){if(Lt(t,o),a===s&&s.aborted)return Rt;throw a}return Xt(c)?c:Vo(t,c,s,r[6]===n.length?r[6]:0)}i(Wo,"executeClientLane");function sn(t,e){if(t._tx!==e)return;let n=e[3],r=t.stores.matches.get(),o=t._pending;for(let s=0;s<n.length;s++){let c=n[s],a=c.status==="success"&&!c._notFound,u=r[s]?.id===c.id&&r[s]?.status==="pending";if(a&&!u)continue;let l=kt(t,c),f=a||c.invalid?0:l.options.pendingMs??t.options.defaultPendingMs,d=l.options.pendingComponent??t.options.defaultPendingComponent;if(!d||typeof f!="number"||f===1/0){o&&(o[0]=e,o[2]=0,o[4]=!0);return}let h=l.options.pendingMinMs??t.options.defaultPendingMinMs??0,p=!1;if(o?.[1]===c.id?(p=o[0]!==e,o[0]=e):(clearTimeout(o?.[3]),t._pending=o=void 0),o||(t._pending=o=[e,c.id,u?Date.now()+h:e[4]+f,void 0,u||void 0,d]),o[4]&&!p&&o[5]===d)return;if(o[5]=d,!o[4]){clearTimeout(o[3]);let y=o[2]-Date.now();if(y>0){o[3]=setTimeout(()=>sn(t,e),y);return}o[2]=0}let g=n.map(y=>({...y,_flight:void 0}));g[s].status="pending";let m=o[4]=t.startTransition(()=>t.stores.setMatches(g),g).then(y=>(y&&t._pending===o&&o[4]===m&&!o[2]&&(o[2]=Date.now()+h),y));return}}i(sn,"offerPending");function Jt(t,e){let n=t._pending;(t._tx===e||!t._tx?.[3].some(r=>r.id===n?.[1]))&&(clearTimeout(n?.[3]),t._pending=void 0)}i(Jt,"finishPending");async function $o(t,e){let n=t._pending;if(!n)return;clearTimeout(n[3]);let r=n[2]-Date.now();if(!n[4]||r<=0||!an(e[3]).some(s=>s.id===n[1]))return;let o;try{await Et(new Promise(s=>{o=setTimeout(s,r)}),e[0].signal)}catch{}clearTimeout(o)}i($o,"awaitPendingMinimum");function zo(t,e){t._committed=e,t.stores.setMatches(e)}i(zo,"publishMatches");function rs(t,e,n,r){let o=t._committed,s=t._cache;for(let u of n)u.preload=!1,r&&(u._assetEnd=void 0);let c=an(n).length,a=new Map;{let u=Date.now();for(let l of[...o,...s.values()]){if(l.status!=="success"||n.some((d,h)=>d.id===l.id&&(h<c||d.status==="success")))continue;let f=kt(t,l);!f.options.loader||u-l.updatedAt>=(l.preload?f.options.preloadGcTime??t.options.defaultPreloadGcTime??3e5:f.options.gcTime??t.options.defaultGcTime??3e5)||a.set(l.id,s.get(l.id)===l?l:{...l,_flight:void 0,isFetching:!1,context:{}})}}e[3]=[],t._cache=a,zo(t,n),j(t,[...s.values(),...o],[...n,...a.values()]),Io(t,o,n,e)}i(rs,"commitMatches");async function ve(t,e){let n=t._tx;for(;n&&n!==e;){if(await n[5],t._tx===n)return;n=t._tx}}i(ve,"awaitCurrent");function Ho(t,e,n){let r=n[1].options,o=n[2];if(!o)return t.navigate({...r,replace:!0,ignoreBlocker:!0});if(r.reloadDocument)return t.navigate({href:o.publicHref,reloadDocument:!0,replace:!0,ignoreBlocker:!0});o._redirects=e[1]+1,t._pendingLocation=o;let s=t.commitLocation({...o,viewTransition:r.viewTransition,replace:!0,resetScroll:r.resetScroll,hashScrollIntoView:r.hashScrollIntoView,ignoreBlocker:!0});return queueMicrotask(()=>{t._pendingLocation===o&&(t._pendingLocation=void 0)}),s}i(Ho,"followRedirect");async function ss(t,e,n,r,o){let s=n.map(u=>({...u}));un(s);for(let u of r)ut(t,s[u[0]]),s[u[0]]=u[3];let c=[e[2],s],a;try{a=await Uo(t,c,r,e[0],o)}catch(u){throw j(t,s),u}if(Xt(a)){j(t,s),a[0]===Y&&t._tx===e&&t._committed===n&&await Ho(t,e,a);return}if(await Vo(t,a,e[0].signal),t._tx!==e||t._committed!==n){j(t,s);return}for(let u of s){let l=t._cache.get(u.id);l?._flight&&l._flight===u._flight&&(t._cache.delete(u.id),ut(t,l))}zo(t,s),j(t,n,s)}i(ss,"runBackground");async function is(t,e,n,r,o,s){let c=await Wo(t,e[2],e[3],[e[0],e[1],t._committed,void 0,o,n,s,r]);if(Xt(c)){let d=c[0]===Y&&t._tx===e;if((!d||c[1].options.reloadDocument)&&Jt(t,e),j(t,e[3]),e[3]=[],!d)return;if(t._tx!==e){Jt(t,e);return}await Ho(t,e,c);return}let a=c[1];if(t._tx===e&&await $o(t,e),t._tx!==e){Jt(t,e),j(t,a),Lt(t,c);return}let u=e[2],l=Ct(u,t.stores.resolvedLocation.get()),f=c[2];await t.startViewTransition(async()=>{if(t._tx===e&&await $o(t,e),t._tx!==e){Jt(t,e),j(t,a),Lt(t,c);return}let d=i(()=>{Jt(t,e),rs(t,e,a,s),t._tx===e&&(t.emit({type:"onLoad",...l}),t._tx===e&&t.emit({type:"onBeforeRouteMount",...l}))},"commit"),h=await t.startTransition(d,a);if(t._tx!==e){Lt(t,c);return}f?.length&&ss(t,e,a,f,c[3]).catch(console.error),t.batch(()=>{t.stores.resolvedLocation.set(u),t.stores.status.set("idle"),t._tx===e&&t.emit({type:"onResolved",...l}),h&&t._tx===e&&t.emit({type:"onRendered",...l})}),t._tx===e&&(t._commitPromise?.resolve(),t._commitPromise=void 0)})}i(is,"runClientTransaction");async function Oo(t,e){let n=!1,r=t._tx,o=t.stores.resolvedLocation.get(),s=o??t.stores.location.get(),c=t.latestLocation,a=t._pendingLocation,u=a?.href===c.href?a._redirects??0:0,l=t._handoff,f=n?void 0:l?.[0](),d=new AbortController,h=t._preflight;if(t._preflight=d,!n&&!f&&l?.[1](),h?.abort(),!d.signal.aborted){let L=Ct(c,o);t.emit({type:"onBeforeNavigate",...L}),d.signal.aborted||t.emit({type:"onBeforeLoad",...L})}if(d.signal.aborted){await ve(t,r);return}let p=s.href===c.href,g=d,m=t.matchRoutes(c,{_controller:d});un(m);let y=f?l[1](m):void 0;if(y?g=f:f?.abort(),d.signal.aborted){j(t,m),await ve(t,r);return}t._preflight=void 0;let R,v=i(()=>is(t,x,p,()=>sn(t,x),e?.sync,y),"run"),_=e?.sync?new Promise(L=>R=L):Promise.resolve().then(v).then(),x=[g,u,c,m,Date.now(),_];if(t._tx=x,r){for(let L of t.stores.matches.get()){if(t._tx!==x)break;L.isFetching&&Qt(t,L,!1)}r[0].abort(),j(t,r[3],x[3],!0)}if(t._tx!==x){j(t,x[3]),x[3]=[],R?.(),await ve(t,x);return}t.batch(()=>{t.stores.status.set("pending"),t.stores.location.set(c)}),(y||!t._committed.length&&m[0]?.status!=="success"&&!m.some(L=>L._notFound))&&sn(t,x),R?.(v()),await _,await ve(t,x)}i(Oo,"loadClientRoute");async function To(t,e){let n=t.buildLocation(e);for(let r=0;;r++){let o=t._committed,s=new AbortController,c,a,u;try{try{c=t.matchRoutes(n,{_controller:s}),un(c),a=(t._preloads??=new Map).set(s,c),u=await Wo(t,n,c,[s,r,o,!0])}finally{a&&(a=a.delete(s),j(t,c)),s.abort()}if(!Xt(u))return u[1];if(!a||u.length<3)return;n=u[2]}catch(l){J(l)||console.error(l);return}}}i(To,"preloadClientRoute");var dn="Error preloading route! \u261D\uFE0F";var Se=class{static{i(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 n=this.options,r=!n?.path&&!n?.id;this.parentRoute=this.options.getParentRoute?.(),r?this._path=tt:this.parentRoute||mt();let o=r?tt:n?.path;o&&o!=="/"&&(o=ue(o));let s=n?.id||o,c=r?tt:bt([this.parentRoute.id==="__root__"?"":this.parentRoute.id,s]);o==="__root__"&&(o="/"),c!=="__root__"&&(c=bt(["/",c]));let a=c==="__root__"?"/":bt([this.parentRoute.fullPath,o]);this._path=o,this._id=c,this._fullPath=a,this._to=G(a)},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=>So({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 hn=class extends Se{static{i(this,"BaseRootRoute")}constructor(t){super(t)}};var Ce=k(B(),1);var T=(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))(T||{});function jo({update:t,notify:e,unwatched:n}){return{link:r,unlink:o,propagate:s,checkDirty:c,shallowPropagate:a};function r(l,f,d){let h=f.depsTail;if(h!==void 0&&h.dep===l)return;let p=h!==void 0?h.nextDep:f.deps;if(p!==void 0&&p.dep===l){p.version=d,f.depsTail=p;return}let g=l.subsTail;if(g!==void 0&&g.version===d&&g.sub===f)return;let m=f.depsTail=l.subsTail={version:d,dep:l,sub:f,prevDep:h,nextDep:p,prevSub:g,nextSub:void 0};p!==void 0&&(p.prevDep=m),h!==void 0?h.nextDep=m:f.deps=m,g!==void 0?g.nextSub=m:l.subs=m}function o(l,f=l.sub){let d=l.dep,h=l.prevDep,p=l.nextDep,g=l.nextSub,m=l.prevSub;return p!==void 0?p.prevDep=h:f.depsTail=h,h!==void 0?h.nextDep=p:f.deps=p,g!==void 0?g.prevSub=m:d.subsTail=m,m!==void 0?m.nextSub=g:(d.subs=g)===void 0&&n(d),p}function s(l){let f=l.nextSub,d;t:do{let h=l.sub,p=h.flags;if(p&60?p&12?p&4?!(p&48)&&u(l,h)?(h.flags=p|40,p&=1):p=0:h.flags=p&-9|32:p=0:h.flags=p|32,p&2&&e(h),p&1){let g=h.subs;if(g!==void 0){let m=(l=g).nextSub;m!==void 0&&(d={value:f,prev:d},f=m);continue}}if((l=f)!==void 0){f=l.nextSub;continue}for(;d!==void 0;)if(l=d.value,d=d.prev,l!==void 0){f=l.nextSub;continue t}break}while(!0)}function c(l,f){let d,h=0,p=!1;t:do{let g=l.dep,m=g.flags;if(f.flags&16)p=!0;else if((m&17)===17){if(t(g)){let y=g.subs;y.nextSub!==void 0&&a(y),p=!0}}else if((m&33)===33){(l.nextSub!==void 0||l.prevSub!==void 0)&&(d={value:l,prev:d}),l=g.deps,f=g,++h;continue}if(!p){let y=l.nextDep;if(y!==void 0){l=y;continue}}for(;h--;){let y=f.subs,R=y.nextSub!==void 0;if(R?(l=d.value,d=d.prev):l=y,p){if(t(f)){R&&a(y),f=l.sub;continue}p=!1}else f.flags&=-33;f=l.sub;let v=l.nextDep;if(v!==void 0){l=v;continue t}}return p}while(!0)}function a(l){do{let f=l.sub,d=f.flags;(d&48)===32&&(f.flags=d|16,(d&6)===2&&e(f))}while((l=l.nextSub)!==void 0)}function u(l,f){let d=f.depsTail;for(;d!==void 0;){if(d===l)return!0;d=d.prevDep}return!1}}i(jo,"createReactiveSystem");function Go(t,e,n){let r=typeof t=="object",o=r?t:void 0;return{next:(r?t.next:t)?.bind(o),error:(r?t.error:e)?.bind(o),complete:(r?t.complete:n)?.bind(o)}}i(Go,"toObserver");var pn=[],we=0,{link:Ko,unlink:ls,propagate:us,checkDirty:Jo,shallowPropagate:qo}=jo({update(t){return t._update()},notify(t){pn[mn++]=t,t.flags&=~T.Watching},unwatched(t){t.depsTail!==void 0&&(t.depsTail=void 0,t.flags=T.Mutable|T.Dirty,xe(t))}}),_e=0,mn=0,at,gn=0;function yn(t){try{++gn,t()}finally{--gn||vn()}}i(yn,"batch");function xe(t){let e=t.depsTail,n=e!==void 0?e.nextDep:t.deps;for(;n!==void 0;)n=ls(n,t)}i(xe,"purgeDeps");function vn(){if(!(gn>0)){for(;_e<mn;){let t=pn[_e];pn[_e++]=void 0,t.notify()}_e=0,mn=0}}i(vn,"flush");function be(t,e){let n=typeof t=="function",r=t,o={_snapshot:n?void 0:t,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:n?T.None:T.Mutable,get(){return at!==void 0&&Ko(o,at,we),o._snapshot},subscribe(s){let c=Go(s),a={current:!1},u=fs(()=>{o.get(),a.current?c.next?.(o._snapshot):a.current=!0});return{unsubscribe:i(()=>{u.stop()},"unsubscribe")}},_update(s){let c=at,a=e?.compare??Object.is;if(n)at=o,++we,o.depsTail=void 0;else if(s===void 0)return!1;n&&(o.flags=T.Mutable|T.RecursedCheck);try{let u=o._snapshot,l=typeof s=="function"?s(u):s===void 0&&n?r(u):s;return u===void 0||!a(u,l)?(o._snapshot=l,!0):!1}finally{at=c,n&&(o.flags&=~T.RecursedCheck),xe(o)}}};return n?(o.flags=T.Mutable|T.Dirty,o.get=function(){let s=o.flags;if(s&T.Dirty||s&T.Pending&&Jo(o.deps,o)){if(o._update()){let c=o.subs;c!==void 0&&qo(c)}}else s&T.Pending&&(o.flags=s&~T.Pending);return at!==void 0&&Ko(o,at,we),o._snapshot}):o.set=function(s){if(o._update(s)){let c=o.subs;c!==void 0&&(us(c),qo(c),vn())}},o}i(be,"createAtom");function fs(t){let e=i(()=>{let r=at;at=n,++we,n.depsTail=void 0,n.flags=T.Watching|T.RecursedCheck;try{return t()}finally{at=r,n.flags&=~T.RecursedCheck,xe(n)}},"run"),n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:T.Watching|T.RecursedCheck,notify(){let r=this.flags;r&T.Dirty||r&T.Pending&&Jo(this.deps,this)?e():this.flags=T.Watching},stop(){this.flags=T.None,this.depsTail=void 0,xe(this)}};return e(),n}i(fs,"effect");var Rn=k(B(),1),Yo=k(Nr(),1);function ds(t,e){return t===e}i(ds,"defaultCompare");function V(t,e,n=ds){let r=(0,Rn.useCallback)(c=>{if(!t)return()=>{};let{unsubscribe:a}=t.subscribe(c);return a},[t]),o=(0,Rn.useCallback)(()=>t?.get(),[t]);return(0,Yo.useSyncExternalStoreWithSelector)(r,o,o,e,n)}i(V,"useStore");var Xo={};function Sn(t,e){let n=Ce.useRef();return r=>{let o=t?.select?t.select(r):r;return t?.structuralSharing??e.options.defaultStructuralSharing?n.current=rt(n.current,o):o}}i(Sn,"useStructuralSharing");function X(t){let e=D(),n=Ce.useContext(t.from?qn:xt),r=t.from??n,o=e.stores.getMatchStore(r);if(!1){let a=o.get();if(!a){(t.shouldThrow??!0)&&mt();return}return t.select?t.select(a):a}let s=Sn(t,e),c=V(o,a=>a?s(a):Xo);if(c!==Xo)return c;(t.shouldThrow??!0)&&mt()}i(X,"useMatch");function Pe(t){return X({from:t.from,strict:t.strict,shouldThrow:t.shouldThrow,structuralSharing:t.structuralSharing,select:i(e=>t.select?t.select(e.search):e.search,"select")})}i(Pe,"useSearch");var ct=k(B(),1);var Le=ct.useLayoutEffect;function Zo(t,e,n){ct.useEffect(()=>{if(!t.current||n||typeof IntersectionObserver!="function")return()=>e();let r=new IntersectionObserver(o=>{e(o.pop())},{rootMargin:"100px"});return r.observe(t.current),()=>{r.disconnect(),e()}},[e,n,t])}i(Zo,"useIntersectionObserver");function Qo(t){let e=ct.useRef(null);return ct.useImperativeHandle(t,()=>e.current,[]),e}i(Qo,"useForwardedRef");var _n=k(B(),1);function Ee(t){let e=D();return _n.useCallback(n=>e.navigate({...n,from:n.from??t?.from}),[t?.from,e])}i(Ee,"useNavigate");var Bt=k(B(),1),lt=k(Z(),1);var It=class extends Bt.Component{static{i(this,"CatchBoundary")}constructor(...t){super(...t),this.state={error:null},this.reset=()=>{this.setState({error:null})}}static getDerivedStateFromProps(t,e){let n=t.getResetKey();return e.error&&e.resetKey!==n?{resetKey:n,error:null}:{resetKey:n}}static getDerivedStateFromError(t){return{error:t}}componentDidCatch(t,e){this.props.onCatch?.(t,e)}render(){let t=this.state.error;return t?Bt.createElement(this.props.errorComponent??wn,{error:t,reset:this.reset}):this.props.children}};function wn({error:t}){let[e,n]=Bt.useState(!1);return(0,lt.jsxs)("div",{style:{padding:".5rem",maxWidth:"100%"},children:[(0,lt.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:".5rem"},children:[(0,lt.jsx)("strong",{style:{fontSize:"1rem"},children:"Something went wrong!"}),(0,lt.jsx)("button",{style:{appearance:"none",fontSize:".6em",border:"1px solid currentColor",padding:".1rem .2rem",fontWeight:"bold",borderRadius:".25rem"},onClick:i(()=>n(r=>!r),"onClick"),children:e?"Hide Error":"Show Error"})]}),(0,lt.jsx)("div",{style:{height:".25rem"}}),e?(0,lt.jsx)("div",{children:(0,lt.jsx)("pre",{style:{fontSize:".7em",border:"1px solid red",borderRadius:".25rem",padding:".3rem",color:"red",overflow:"auto"},children:t.message?(0,lt.jsx)("code",{children:t.message}):null})}):null]})}i(wn,"ErrorComponent");var xn=k(B(),1),tr=k(Z(),1);function er({children:t,fallback:e=null}){return(0,tr.jsx)(xn.default.Fragment,{children:bn()?t:e})}i(er,"ClientOnly");function bn(){return xn.default.useSyncExternalStore(hs,()=>!0,()=>!1)}i(bn,"useHydrated");function hs(){return()=>{}}i(hs,"subscribe");function Cn(t){return X({from:t.from,strict:t.strict,structuralSharing:t.structuralSharing,select:i(e=>t.select?t.select(e.loaderData):e.loaderData,"select")})}i(Cn,"useLoaderData");function Pn(t){let{select:e,...n}=t;return X({...n,select:i(r=>e?e(r.loaderDeps):r.loaderDeps,"select")})}i(Pn,"useLoaderDeps");function Ln(t){return X({from:t.from,shouldThrow:t.shouldThrow,structuralSharing:t.structuralSharing,strict:t.strict,select:i(e=>{let n=t.strict===!1?e.params:e._strictParams;return t.select?t.select(n):n},"select")})}i(Ln,"useParams");function En(t){return X({...t,select:i(e=>t.select?t.select(e.context):e.context,"select")})}i(En,"useRouteContext");var W=k(B(),1);var ps=k(Z(),1);function kn(t){let e=W.useRef(t);return Q(e.current,t,{ignoreUndefined:!1})||(e.current=t),e.current}i(kn,"useValueStable");function ms(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]}i(ms,"compareLinkState");function gs(t,e,n){if(t?.external)return st(t.href,n)?void 0:t.href;if(!ir(e)&&!(typeof e!="string"||e.indexOf(":")===-1))try{return new URL(e),st(e,n)?void 0:e}catch{}}i(gs,"resolveExternalLink");function ys(t,e,n,r,o,s){if(s)return!1;if(n?.exact){if(!fe(t.pathname,e.pathname,r))return!1}else{let c=yt(t.pathname,r),a=yt(e.pathname,r);if(!(c.startsWith(a)&&(c.length===a.length||c[a.length]==="/")))return!1}return(n?.includeSearch??!0)&&!Q(t.search,e.search,{partial:!n?.exact,ignoreUndefined:!n?.explicitUndefined})?!1:n?.includeHash?o&&t.hash===e.hash:!0}i(ys,"resolveIsActive");function vs(t,e){let n=D(),r=Qo(e),{activeProps:o,inactiveProps:s,activeOptions:c,to:a,preload:u,preloadDelay:l,preloadIntentProximity:f,hashScrollIntoView:d,replace:h,startTransition:p,resetScroll:g,viewTransition:m,children:y,target:R,disabled:v,style:_,className:x,onClick:L,onBlur:b,onFocus:S,onMouseEnter:C,onMouseLeave:w,onTouchStart:P,ignoreBlocker:E,params:I,search:N,hash:_t,state:nt,mask:oe,reloadDocument:Ps,unsafeRelative:Ls,from:Es,_fromLocation:ks,...Nt}=t;if(!1){let M=ir(a);if(typeof a=="string"&&!M&&a.indexOf(":")>-1)try{return new URL(a),st(a,n.protocolAllowlist)?{...Nt,ref:r,href:void 0,...y&&{children:y},...R&&{target:R},...v&&{disabled:v},..._&&{style:_},...x&&{className:x}}:{...Nt,ref:r,href:a,...y&&{children:y},...R&&{target:R},...v&&{disabled:v},..._&&{style:_},...x&&{className:x}}}catch{}let F=n.buildLocation({...t,from:t.from}),ot=sr(F.maskedLocation?F.maskedLocation.publicHref:F.publicHref,F.maskedLocation?F.maskedLocation.external:F.external,n.history,v),Tt=(()=>{if(ot?.external)return st(ot.href,n.protocolAllowlist)?void 0:ot.href;if(!M&&typeof a=="string"&&a.indexOf(":")>-1)try{return new URL(a),st(a,n.protocolAllowlist)?void 0:a}catch{}})(),Ae=(()=>{if(Tt)return!1;let $=n.stores.location.get(),z=c?.exact??!1;if(z){if(!fe($.pathname,F.pathname,n.basepath))return!1}else{let U=yt($.pathname,n.basepath),H=yt(F.pathname,n.basepath);if(!(U.startsWith(H)&&(U.length===H.length||U[H.length]==="/")))return!1}if((c?.includeSearch??!0)&&$.search!==F.search){let U=!$.search||typeof $.search=="object"&&!ht($.search),H=!F.search||typeof F.search=="object"&&!ht(F.search);if(!(U&&H)&&!Q($.search,F.search,{partial:!z,ignoreUndefined:!c?.explicitUndefined}))return!1}return!c?.includeHash})();if(Tt)return{...Nt,ref:r,href:Tt,...y&&{children:y},...R&&{target:R},...v&&{disabled:v},..._&&{style:_},...x&&{className:x}};let $e=Ae?q(o,{})??nr:Ut,Be=Ae?Ut:q(s,{})??Ut,zn=(()=>{let $=_,z=$e.style,U=Be.style;if(!(!$&&!z&&!U))return $&&!z&&!U?$:!$&&z&&!U?z:!$&&!z&&U?U:{...$,...z,...U}})(),Hn=(()=>{let $=x,z=$e.className,U=Be.className;if(!$&&!z&&!U)return"";let H="";return $&&(H=$),z&&(H=H?`${H} ${z}`:z),U&&(H=H?`${H} ${U}`:U),H})();return{...Nt,...$e,...Be,href:ot?.href,ref:r,disabled:!!v,target:R,...zn&&{style:zn},...Hn&&{className:Hn},...v&&or,...Ae&&rr}}let An=bn(),Cr=kn(t.search),Pr=kn(t.params),$n=kn(c),zt=W.useMemo(()=>t,[n,t.from,t._fromLocation,t.hash,t.to,Cr,Pr,t.state,t.mask,t.unsafeRelative]),Lr=W.useCallback(M=>{let F=n.buildLocation({_fromLocation:M,...zt}),ot=sr(F.maskedLocation?F.maskedLocation.publicHref:F.publicHref,F.maskedLocation?F.maskedLocation.external:F.external,n.history,v),Tt=gs(ot,a,n.protocolAllowlist);return[ot?.href,Tt,ys(M,F,$n,n.basepath,An,Tt!==void 0)]},[$n,v,An,zt,n,a]),[Er,Te,De]=V(n.stores.location,Lr,ms),re=De?q(o,{})??nr:Ut,se=De?Ut:q(s,{})??Ut,Bn=[x,re.className,se.className].filter(Boolean).join(" "),Un=(_||re.style||se.style)&&{..._,...re.style,...se.style},Vn=W.useRef(!1),wt=t.reloadDocument||Te||v?!1:u??n.options.defaultPreload,Fe=l??n.options.defaultPreloadDelay??0,Ot=W.useCallback(()=>{n.preloadRoute(zt).catch(M=>{console.warn(M),console.warn(dn)})},[n,zt]),Me=W.useCallback(M=>{if(!M){In(r);return}if(!(M.isIntersecting??wt==="intent")){M.isIntersecting===!1&&In(r);return}if(!Fe){Ot();return}te.has(r)||te.set(r,setTimeout(()=>{te.delete(r),Ot()},Fe))},[Ot,r,wt,Fe]);Zo(r,Me,wt!=="viewport"),W.useEffect(()=>{Vn.current||wt==="render"&&(Ot(),Vn.current=!0)},[Ot,wt]);let kr=i(M=>{let F=M.currentTarget.getAttribute("target"),ot=R!==void 0?R:F;!v&&!(M.metaKey||M.altKey||M.ctrlKey||M.shiftKey)&&!M.defaultPrevented&&(!ot||ot==="_self")&&M.button===0&&(M.preventDefault(),n.navigate({...zt,replace:h,resetScroll:g,hashScrollIntoView:d,startTransition:p,viewTransition:m,ignoreBlocker:E}))},"handleClick");if(Te)return{...Nt,ref:r,href:Te,...y&&{children:y},...R&&{target:R},...v&&{disabled:v},..._&&{style:_},...x&&{className:x},...L&&{onClick:L},...b&&{onBlur:b},...S&&{onFocus:S},...C&&{onMouseEnter:C},...w&&{onMouseLeave:w},...P&&{onTouchStart:P}};let Ir=i(()=>{wt==="intent"&&Ot()},"handleTouchStart"),Wn=i(()=>{wt==="intent"&&In(r)},"handleLeave");return{...Nt,...re,...se,href:Er,ref:r,onClick:Vt([L,kr]),onBlur:Vt([b,Wn]),onFocus:Vt([S,Me]),onMouseEnter:Vt([C,Me]),onMouseLeave:Vt([w,Wn]),onTouchStart:Vt([P,Ir]),disabled:!!v,target:R,...Un&&{style:Un},...Bn&&{className:Bn},...v&&or,...De&&rr}}i(vs,"useLinkProps");var Ut={},nr={className:"active"},or={role:"link","aria-disabled":!0},rr={"data-status":"active","aria-current":"page"},te=new WeakMap,In=i(t=>{clearTimeout(te.get(t)),te.delete(t)},"cancelPreload"),Vt=i(t=>e=>{for(let n of t)if(n){if(e.defaultPrevented)return;n(e)}},"composeHandlers");function sr(t,e,n,r){if(!r)return e?{href:t,external:!0}:{href:n.createHref(t)||"/",external:!1}}i(sr,"getHrefOption");function ir(t){if(typeof t!="string")return!1;let e=t.charCodeAt(0);return e===47?t.charCodeAt(1)!==47:e===46}i(ir,"isSafeInternal");var Nn=W.forwardRef((t,e)=>{let{_asChild:n,...r}=t,{type:o,...s}=vs(r,e),c=typeof r.children=="function"?r.children({isActive:s["data-status"]==="active"}):r.children;if(!n){let{disabled:a,...u}=s;return W.createElement("a",u,c)}return W.createElement(n,s,c)});var On=k(B(),1),Tn=k(Z(),1);var ar=class extends Se{static{i(this,"Route")}constructor(t){super(t),this.useMatch=e=>X({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>En({...e,from:this.id}),this.useSearch=e=>Pe({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>Ln({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>Pn({...e,from:this.id}),this.useLoaderData=e=>Cn({...e,from:this.id}),this.useNavigate=()=>Ee({from:this.fullPath}),this.Link=On.default.forwardRef((e,n)=>(0,Tn.jsx)(Nn,{ref:n,from:this.fullPath,...e}))}};function Rs(t){return new ar(t)}i(Rs,"createRoute");var cr=class extends hn{static{i(this,"RootRoute")}constructor(t){super(t),this.useMatch=e=>X({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>En({...e,from:this.id}),this.useSearch=e=>Pe({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>Ln({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>Pn({...e,from:this.id}),this.useLoaderData=e=>Cn({...e,from:this.id}),this.useNavigate=()=>Ee({from:this.fullPath}),this.Link=On.default.forwardRef((e,n)=>(0,Tn.jsx)(Nn,{ref:n,from:this.fullPath,...e}))}};function Ss(t){return new cr(t)}i(Ss,"createRootRoute");var Ic=k(B(),1);var ke=k(Z(),1);function lr(t){let e=D();if(!1){let r=`not-found-${e.stores.location.get().pathname}-${e.stores.status.get()}`;return(0,ke.jsx)(It,{getResetKey:i(()=>r,"getResetKey"),onCatch:i((o,s)=>{if(J(o))t.onCatch?.(o,s);else throw o},"onCatch"),errorComponent:i(({error:o})=>{if(J(o))return t.fallback?.(o);throw o},"errorComponent"),children:t.children})}let n=`not-found-${V(e.stores.location,r=>r.pathname)}-${V(e.stores.status,r=>r)}`;return(0,ke.jsx)(It,{getResetKey:i(()=>n,"getResetKey"),onCatch:i((r,o)=>{if(J(r))t.onCatch?.(r,o);else throw r},"onCatch"),errorComponent:i(({error:r})=>{if(J(r))return t.fallback?.(r);throw r},"errorComponent"),children:t.children})}i(lr,"CatchNotFound");function ur(){return(0,ke.jsx)("p",{children:"Not Found"})}i(ur,"DefaultGlobalNotFound");var fr=k(Z(),1);function dr({children:t}){let e=D();return null}i(dr,"ScriptOnce");var Ac=k(B(),1),Ie=k(Z(),1);function St(t){return(0,Ie.jsx)(Ie.Fragment,{children:t.children})}i(St,"SafeFragment");var Vc=k(B(),1),Ne=k(Z(),1);function Dn(t,e,n){return e.options.notFoundComponent?(0,Ne.jsx)(e.options.notFoundComponent,{...n}):t.options.defaultNotFoundComponent?(0,Ne.jsx)(t.options.defaultNotFoundComponent,{...n}):(0,Ne.jsx)(ur,{})}i(Dn,"renderRouteNotFound");var pr=k(Z(),1);function hr(t){return null}i(hr,"getScrollRestorationScriptForRouter");function mr(){let t=hr(D());return t?(0,pr.jsx)(dr,{children:t}):null}i(mr,"ScrollRestoration");var K=k(B(),1);var A=k(Z(),1);function ee(t,e){let n=e?.options.pendingComponent??t.options.defaultPendingComponent;return n?(0,A.jsx)(n,{}):null}i(ee,"renderPending");var _s=i((t,e)=>t[0]===e[0]&&t[1]===e[1],"outletMatchSelectionEqual"),vr=i((t,e,n)=>!e.isRoot||e.options.shellComponent||e.options.wrapInSuspense||n===!1||n==="data-only"||!t.ssr,"canWrapInSuspense"),Oe=K.memo(i(function({routeId:e}){let n=D();return(0,A.jsx)(gr,{router:n,match:V(n.stores.getMatchStore(e),r=>r)})},"MatchImpl"));function gr({router:t,match:e}){let n=t.routesById[e.routeId],r=ee(t,n),o=n.options.errorComponent??t.options.defaultErrorComponent,s=n.options.onCatch??t.options.defaultOnCatch,c=n.isRoot?n.options.notFoundComponent??t.options.notFoundRoute?.options.component:n.options.notFoundComponent,a=e.ssr===!1||e.ssr==="data-only",u=vr(t,n,e.ssr)&&(n.options.wrapInSuspense??r??(n.options.errorComponent?.preload||a))?K.Suspense:St,l=o?It:St,f=c?lr:St;return(0,A.jsxs)(n.isRoot?n.options.shellComponent??St:St,{children:[(0,A.jsx)(xt.Provider,{value:e.routeId,children:(0,A.jsx)(u,{fallback:r,children:(0,A.jsx)(l,{getResetKey:i(()=>e,"getResetKey"),errorComponent:o,onCatch:i((d,h)=>{if(J(d))throw d.routeId??=e.routeId,d;s?.(d,h)},"onCatch"),children:(0,A.jsx)(f,{fallback:i(d=>{if(d.routeId??=e.routeId,d.routeId!==e.routeId)throw d;return K.createElement(c,d)},"fallback"),children:a?(0,A.jsx)(er,{fallback:r,children:(0,A.jsx)(yr,{match:e})}):(0,A.jsx)(yr,{match:e})})})})}),null]})}i(gr,"MatchView");var yr=K.memo(i(function({match:e}){let n=D(),r=e.routeId,o=n.routesById[r],s=K.useMemo(()=>{let a=(o.options.remountDeps??n.options.defaultRemountDeps)?.({routeId:r,loaderDeps:e.loaderDeps,params:e._strictParams,search:e._strictSearch});return a?JSON.stringify(a):void 0},[r,e.loaderDeps,e._strictParams,e._strictSearch,o.options.remountDeps,n.options.defaultRemountDeps]),c=K.useMemo(()=>{let a=o.options.component??n.options.defaultComponent;return a?(0,A.jsx)(a,{},s):(0,A.jsx)(Rr,{})},[s,o.options.component,n.options.defaultComponent]);if(e.status==="pending"){if(n.ssr&&!vr(n,o,e.ssr))return c;if(n._tx)throw n._tx[5];return ee(n,o)}if(e.status==="notFound")return Dn(n,o,e.error);if(e.status==="error"){if(!1)return(0,A.jsx)((o.options.errorComponent??n.options.defaultErrorComponent)||wn,{error:e.error,reset:void 0,info:{componentStack:""}});throw e.error}return c},"MatchInnerImpl")),Rr=K.memo(i(function(){let e=D(),n=K.useContext(xt),r,o,s;if(!1){let a=e.stores.matches.get(),u=a.findIndex(f=>f.routeId===n),l=a[u];r=!!l._notFound,o=l.error,s=a[u+1]?.routeId}else{let a=e.stores.getMatchStore(n);[r,o]=V(a,u=>[!!u._notFound,u.error],_s),s=V(e.stores.ids,u=>u[u.indexOf(n)+1])}if(r)return Dn(e,e.routesById[n],o);if(!s)return null;let c=(0,A.jsx)(Oe,{routeId:s});return n===tt?(0,A.jsx)(K.Suspense,{fallback:ee(e),children:c}):c},"OutletImpl"));var Fn=k(B(),1);function Mn(t,e){let n=t[1];t.length=0,n?.(e)}i(Mn,"settleOwner");function Sr({t}){let e=D(),n=e._rendered??=[],r=void 0;return e.startTransition=(o,s)=>new Promise(c=>{Mn(n,!1),n.push(s,c),t(e),Fn.startTransition(o)}),Le(()=>{let o=e.history.subscribe(e.load);if(r?.current)return o;r&&(r.current=!0),e.updateLatestLocation();let s=e.latestLocation,c=e.buildLocation({to:s.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});if(G(s.publicHref)!==G(c.publicHref))return e.commitLocation({...c,replace:!0,ignoreBlocker:!0}),o;let a=e.stores.resolvedLocation.get();return a?.href===s.href&&a.state.__TSR_key===s.state.__TSR_key?n.push(e.stores.matches.get(),u=>{u&&e.emit({type:"onRendered",...Ct(a,a)})}):e._tx||e.load({sync:!0}).catch(console.error),o},[e,e.history]),null}i(Sr,"Transitioner");var Wt=k(B(),1);var et=k(Z(),1);function _r(){let t=D(),e=t.routesById[tt],n=ee(t,e),r=t.ssr?St:Wt.Suspense,o=(0,et.jsxs)(et.Fragment,{children:[!!1&&(0,et.jsx)(Sr,{t:Wt.useState()[1]}),(0,et.jsx)(r,{fallback:n,children:(0,et.jsx)(ws,{})})]});return t.options.InnerWrap?(0,et.jsx)(t.options.InnerWrap,{children:o}):o}i(_r,"Matches");function ws(){let t=D(),e=t._rendered,n=V(t.stores.matches,c=>e[0]??c),r=n[0],o=r?.routeId;Le(()=>{e[0]===n&&Mn(e,!0)},[e,n]);let s=o?(0,et.jsx)(Oe,{routeId:o}):null;return(0,et.jsx)(xt.Provider,{value:o,children:t.options.disableGlobalCatchBoundary?s:(0,et.jsx)(It,{getResetKey:i(()=>r,"getResetKey"),onCatch:void 0,children:s})})}i(ws,"MatchesInner");var wr=i(t=>({createMutableStore:be,createReadonlyStore:be,batch:yn}),"getStoreFactory");var xs=i(t=>new xr(t),"createRouter"),xr=class extends nn{static{i(this,"Router")}constructor(t){super(t,wr)}};var Al=k(B(),1),ne=k(Z(),1);function br({router:t,children:e,...n}){ht(n)&&t.update({...t.options,...n,context:{...t.options.context,...n.context}});let r=(0,ne.jsx)(ie.Provider,{value:t,children:e});return t.options.Wrap?(0,ne.jsx)(t.options.Wrap,{children:r}):r}i(br,"RouterContextProvider");function bs({router:t,...e}){return(0,ne.jsx)(br,{router:t,...e,children:(0,ne.jsx)(_r,{})})}i(bs,"RouterProvider");function Cs(t){let e=D({warn:t?.router===void 0}),n=t?.router||e;if(!1){let r=n.stores.__store.get();return t?.select?t.select(r):r}return V(n.stores.__store,Sn(t,n))}i(Cs,"useRouterState");export{tn as a,Yr as b,D as c,Pe as d,Ee as e,Rs as f,Ss as g,Rr as h,xs as i,bs as j,Cs as k};
@@ -0,0 +1,2 @@
1
+ import{a as fe}from"./chunk-2URQKGWU.js";import"./chunk-4JLGLPWV.js";import{a as ie}from"./chunk-MU3P2FI7.js";import{a as pe}from"./chunk-66UGPQVC.js";import"./chunk-3Q2P62UR.js";import{W as de}from"./chunk-PLHA3OWK.js";import"./chunk-4L4WTGN5.js";import{a as x}from"./chunk-55754F6H.js";import"./chunk-IS6LVJ6L.js";import"./chunk-AAVLPU5Q.js";import{b as ne}from"./chunk-FEWMAPNI.js";import"./chunk-225VJ77I.js";import{a as he}from"./chunk-ITMXIPQ7.js";import"./chunk-ULIQFBZU.js";import"./chunk-3PZNTIBM.js";import"./chunk-35DM4JJG.js";import{a as H}from"./chunk-4ZEL6BYL.js";import{c as ue}from"./chunk-SDHFSBNM.js";import{f as le}from"./chunk-B6RRRJP5.js";import"./chunk-FSRSK4LY.js";import"./chunk-2Y6PXGIS.js";import{a as ce}from"./chunk-FKVZRPV5.js";import{d as oe,f as Z,g as ee,h as te,o as ae,q as me,r as re}from"./chunk-FODLDLE2.js";import{a as i,d as Y,e as ge,f as ve,g as Ne,i as se}from"./chunk-YKXDMIHQ.js";var t=Y(Ne(),1);var xe=Y(ve(),1);var N=Y(ge(),1);function ye({className:a,orientation:e="horizontal",...s}){return(0,t.jsx)(ie,{"data-slot":"separator",orientation:e,className:se("shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",a),...s})}i(ye,"ge");var we=/https?:\/\/[^\s"'<>)]+/i,be=i(a=>a===void 0?void 0:we.exec(a)?.[0],"re"),y=i(a=>a===void 0?"":Array.isArray(a)?a.join(", "):a,"N"),Ce=i(a=>{if(a!==void 0)return be(a.html)??be(a.text)},"Ne"),ke=i((a,e)=>{let s=e.trim().toLowerCase();return s===""?a:a.filter(o=>`${o.subject} ${y(o.to)} ${y(o.cc)}`.toLowerCase().includes(s))},"we"),Se=i((a,e)=>{if(a.length!==0)return a.find(s=>s.id===e)??a[0]},"ye"),Te=Z(H.clearCapturedMail),Le=Z(H.sendTestMail),je=i(a=>{let e=(0,xe.c)(38),{limit:s}=a,o=le(),p;e[0]!==s?(p={limit:s},e[0]=s,e[1]=p):p=e[1];let{data:q,error:w,errorSource:C,isLoading:g,refetch:n}=ue(H.getCapturedMail,p),[k,f]=(0,N.useState)(null),[D,S]=(0,N.useState)(null),[v,l]=(0,N.useState)("html"),[c,P]=(0,N.useState)(""),b=q?.entries??[],r=w??k,u=w===null?k:C,T;e[2]!==o||e[3]!==n?(T=i(async()=>{f(null);try{await o.query(Te,{},ee("")),S(null),n()}catch(m){f(te(m))}},"T"),e[2]=o,e[3]=n,e[4]=T):T=e[4];let R=T,L;e[5]!==o||e[6]!==n?(L=i(async()=>{f(null);try{await o.query(Le,{},ee("")),n()}catch(m){f(te(m))}},"k"),e[5]=o,e[6]=n,e[7]=L):L=e[7];let W=L,j;e[8]!==n?(j=i(()=>{n()},"L"),e[8]=n,e[9]=j):j=e[9],pe(j,!0);let M;e[10]!==R?(M=i(()=>{ae(R())},"A"),e[10]=R,e[11]=M):M=e[11];let U=M,_;e[12]!==W?(_=i(()=>{ae(W())},"E"),e[12]=W,e[13]=_):_=e[13];let G=_,z;e[14]===Symbol.for("react.memo_cache_sentinel")?(z=i(m=>{P(m.currentTarget.value)},"_"),e[14]=z):z=e[14];let J=z,$;e[15]===Symbol.for("react.memo_cache_sentinel")?($=i(m=>{let{id:h}=m.currentTarget.dataset;h!==void 0&&S(h)},"M"),e[15]=$):$=e[15];let K=$,A;e[16]===Symbol.for("react.memo_cache_sentinel")?(A=i(m=>{let h=m.currentTarget.dataset.tab;(h==="headers"||h==="html"||h==="text")&&l(h)},"j"),e[16]=A):A=e[16];let Q=A,F=ke(b,c),O=Se(F,D),d=Ce(O),I;e[17]!==d?(I=i(()=>{d!==void 0&&me(d)},"z"),e[17]=d,e[18]=I):I=e[18];let V=I,B;e[19]!==d?(B=i(()=>{d!==void 0&&"window"in globalThis&&globalThis.window.open(d,"_blank","noopener")},"F"),e[19]=d,e[20]=B):B=e[20];let X=B,E;return e[21]!==b||e[22]!==r||e[23]!==u||e[24]!==c||e[25]!==g||e[26]!==d||e[27]!==U||e[28]!==V||e[29]!==J||e[30]!==X||e[31]!==K||e[32]!==Q||e[33]!==G||e[34]!==O||e[35]!==v||e[36]!==F?(E={entries:b,error:r,errorSource:u,filter:c,isLoading:g,link:d,onClear:U,onCopyLink:V,onFilterChange:J,onOpenLink:X,onSelectMessage:K,onSelectTab:Q,onSendTest:G,selected:O,tab:v,visible:F},e[21]=b,e[22]=r,e[23]=u,e[24]=c,e[25]=g,e[26]=d,e[27]=U,e[28]=V,e[29]=J,e[30]=X,e[31]=K,e[32]=Q,e[33]=G,e[34]=O,e[35]=v,e[36]=F,e[37]=E):E=e[37],E},"Te"),Me=`<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src data:; style-src 'unsafe-inline'; font-src data:">`,_e=i(a=>`${Me}${a}`,"Le"),Je=i(({limit:a=100})=>{let e=oe(),{entries:s,error:o,errorSource:p,filter:q,isLoading:w,link:C,onClear:g,onCopyLink:n,onFilterChange:k,onOpenLink:f,onSelectMessage:D,onSelectTab:S,onSendTest:v,selected:l,tab:c,visible:P}=je({limit:a}),b=i(r=>e(r==="html"?"HTML":r==="text"?"Plain text":"Headers"),"b");return(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"mail-panel",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(x,{"data-testid":"mail-send-test",onClick:v,size:"sm",type:"button",variant:"outline",children:e("Send test")}),(0,t.jsx)(x,{"data-testid":"mail-clear",disabled:s.length===0,onClick:g,size:"sm",type:"button",variant:"outline",children:e("Clear inbox")}),s.length>0&&(0,t.jsx)(ne,{className:"ml-auto","data-testid":"mail-count",variant:"secondary",children:e("{count} messages",{count:s.length})})]}),o!==null&&(0,t.jsx)(he,{error:p,testId:"mail-error"}),o===null&&!w&&s.length===0&&(0,t.jsx)(ce,{description:e("Email your app sends in dev is captured here \u2014 nothing is delivered."),icon:(0,t.jsxs)("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:"M4 5h16v14H4z"}),(0,t.jsx)("path",{d:"m4 6 8 6 8-6"})]}),testId:"mail-empty",title:e("No captured email.")}),s.length>0&&(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-[minmax(0,22rem)_1fr]","data-testid":"mail-reader",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(de,{"aria-label":e("Search messages"),"data-testid":"mail-search",onChange:k,placeholder:e("Filter messages"),type:"search",value:q}),(0,t.jsx)(fe,{className:"max-h-[32rem] rounded-xl border border-border bg-card shadow-xs","data-testid":"mail-list",children:(0,t.jsx)("ul",{className:"divide-y",children:P.map(r=>{let u=r.id===l?.id;return(0,t.jsx)("li",{children:(0,t.jsxs)("button",{className:`flex w-full flex-col items-start gap-0.5 px-3 py-2 text-left text-sm hover:bg-muted/60 ${u?"bg-muted":""}`,"data-active":u,"data-id":r.id,"data-testid":"mail-list-item",onClick:D,type:"button",children:[(0,t.jsx)("span",{className:"w-full truncate font-medium",children:r.subject||e("(no subject)")}),(0,t.jsx)("span",{className:"w-full truncate text-xs text-muted-foreground",children:y(r.to)}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground tabular-nums",children:re(r.capturedAt,"\u2014")})]})},r.id)})})})]}),l!==void 0&&(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-3 rounded-xl border border-border bg-card p-4 shadow-xs","data-testid":"mail-detail",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("h2",{className:"truncate text-base font-semibold","data-testid":"mail-subject",children:l.subject||e("(no subject)")}),(0,t.jsxs)("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5 text-xs text-muted-foreground",children:[(0,t.jsx)("dt",{children:e("From")}),(0,t.jsx)("dd",{className:"truncate font-mono",children:l.from??"\u2014"}),(0,t.jsx)("dt",{children:e("To")}),(0,t.jsx)("dd",{className:"truncate font-mono",children:y(l.to)}),l.cc!==void 0&&l.cc.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("dt",{children:e("Cc")}),(0,t.jsx)("dd",{className:"truncate font-mono",children:y(l.cc)})]}),(0,t.jsx)("dt",{children:e("Sent")}),(0,t.jsx)("dd",{className:"tabular-nums",children:re(l.capturedAt,"\u2014")})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2","data-testid":"mail-actions",children:[(0,t.jsx)(x,{"data-testid":"mail-copy-link",disabled:C===void 0,onClick:n,size:"sm",type:"button",variant:"outline",children:e("Copy link")}),(0,t.jsx)(x,{"data-testid":"mail-open-link",disabled:C===void 0,onClick:f,size:"sm",type:"button",variant:"outline",children:e("Open in new tab")})]}),(0,t.jsx)(ye,{}),(0,t.jsx)("div",{className:"flex items-center gap-1","data-testid":"mail-tabs",role:"tablist",children:["html","text","headers"].map(r=>(0,t.jsx)(x,{"aria-selected":c===r,"data-tab":r,"data-testid":`mail-tab-${r}`,onClick:S,role:"tab",size:"sm",type:"button",variant:c===r?"secondary":"ghost",children:b(r)},r))}),(0,t.jsxs)("div",{className:"min-h-[12rem]",children:[c==="html"&&(l.html===void 0?(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("No HTML body.")}):(0,t.jsx)("iframe",{className:"h-[24rem] w-full rounded-md border bg-white","data-testid":"mail-preview-html",sandbox:"",srcDoc:_e(l.html),title:e("Email preview")})),c==="text"&&(l.text===void 0?(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("No text body.")}):(0,t.jsx)("pre",{className:"overflow-auto whitespace-pre-wrap rounded-md border bg-muted/30 p-3 text-xs","data-testid":"mail-preview-text",children:l.text})),c==="headers"&&(l.headers===void 0||Object.keys(l.headers).length===0?(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("No headers.")}):(0,t.jsx)("pre",{className:"overflow-auto whitespace-pre-wrap rounded-md border bg-muted/30 p-3 text-xs","data-testid":"mail-preview-headers",children:Object.entries(l.headers).map(([r,u])=>`${r}: ${u}`).join(`
2
+ `)}))]})]})]})]})},"We");export{Je as MailPanel};
@@ -0,0 +1 @@
1
+ import{a as it}from"./chunk-5XRNQ732.js";import"./chunk-CSUROWL2.js";import"./chunk-RFNGDE33.js";import"./chunk-V3CZW3JB.js";import"./chunk-MU3P2FI7.js";import{a as Me}from"./chunk-IMOHEGMV.js";import{a as rt}from"./chunk-BOTGXX4H.js";import"./chunk-YPRQLCKF.js";import"./chunk-GMS77BZD.js";import"./chunk-3Q2P62UR.js";import"./chunk-AWHXPIXU.js";import"./chunk-V3VJAA4D.js";import"./chunk-5JDWLCSH.js";import{a as at}from"./chunk-PD6WIDY6.js";import{a as Ye}from"./chunk-S3CRZLGS.js";import{a as Xe}from"./chunk-2DX5MROH.js";import{b as Ge}from"./chunk-OGUKYRFM.js";import{d as Je,e as Ae}from"./chunk-6D6Z2KXU.js";import"./chunk-OKG3HWSJ.js";import{W as Pe}from"./chunk-PLHA3OWK.js";import"./chunk-Y6CXU7T4.js";import"./chunk-4L4WTGN5.js";import{a as Ue}from"./chunk-55754F6H.js";import"./chunk-IS6LVJ6L.js";import"./chunk-AAVLPU5Q.js";import{b as Be}from"./chunk-FEWMAPNI.js";import"./chunk-225VJ77I.js";import{a as Se}from"./chunk-ITMXIPQ7.js";import"./chunk-ULIQFBZU.js";import"./chunk-3PZNTIBM.js";import"./chunk-35DM4JJG.js";import{a as R}from"./chunk-4ZEL6BYL.js";import{c as le}from"./chunk-SDHFSBNM.js";import{f as Ee}from"./chunk-B6RRRJP5.js";import"./chunk-FSRSK4LY.js";import"./chunk-2Y6PXGIS.js";import{a as we}from"./chunk-FKVZRPV5.js";import{a as Ze,b as et,c as tt,d as Fe,e as C,f as q}from"./chunk-HEAQVSNS.js";import{a as We,e as ze}from"./chunk-WUWBZPUK.js";import{d as de,f as He,g as Qe,h as Ve,o as $e,r as Ne}from"./chunk-FODLDLE2.js";import{a as o,d as oe,e as De,f as Le,g as _e,i as se}from"./chunk-YKXDMIHQ.js";var he=oe(Le(),1),me=oe(De(),1);var nt=oe(Le(),1);var S=oe(De(),1);var l=oe(_e(),1);var xt=He(R.runMigration),ot=o(t=>{let e=(0,nt.c)(98),{initialShardKey:i}=t,r=Ee(),a=de(),{queryShardKey:c,setShardKey:n,shardKey:s}=Ye(i),[u,b]=(0,S.useState)(""),[h,v]=(0,S.useState)("up"),[p,g]=(0,S.useState)(!0),[f,y]=(0,S.useState)(!1),[x,m]=(0,S.useState)(null),[w,k]=(0,S.useState)(null),K;e[0]!==s?(K=s.trim(),e[0]=s,e[1]=K):K=e[1];let I=K===c,O;e[2]===Symbol.for("react.memo_cache_sentinel")?(O={},e[2]=O):O=e[2];let F;e[3]!==c?(F={live:!0,shardKey:c},e[3]=c,e[4]=F):F=e[4];let $=le(R.migrationStatus,O,F),N=$.data?.migrations??null,Oe=$.error,{errorSource:Ce,liveError:qe}=$,pe,fe;e[5]!==c||e[6]!==$.data?(pe=o(()=>{$.data!==void 0&&Ge(c)},"W"),fe=[$.data,c],e[5]=c,e[6]=$.data,e[7]=pe,e[8]=fe):(pe=e[7],fe=e[8]),(0,S.useEffect)(pe,fe);let ge;if(e[9]!==r||e[10]!==h||e[11]!==p||e[12]!==u||e[13]!==s||e[14]!==$||e[15]!==a){let M=o(async()=>{let Te=u.trim();if(Te===""){k(a("Enter a migration id")),m(null);return}y(!0),k(null);try{let Ie=await r.query(xt,{direction:h,dryRun:p,id:Te},Qe(s));m(Ie),$.refetch()}catch(Ie){let vt=Ie;m(null),k(Ve(vt))}y(!1)},"m");ge=o(()=>{$e(M())},"V"),e[9]=r,e[10]=h,e[11]=p,e[12]=u,e[13]=s,e[14]=$,e[15]=a,e[16]=ge}else ge=e[16];let be=ge,ve;e[17]===Symbol.for("react.memo_cache_sentinel")?(ve=o(M=>{b(M.target.value)},"Y"),e[17]=ve):ve=e[17];let ft=ve,xe;e[18]===Symbol.for("react.memo_cache_sentinel")?(xe=o(M=>{v(M.target.value==="down"?"down":"up")},"Z"),e[18]=xe):xe=e[18];let gt=xe,ye;e[19]===Symbol.for("react.memo_cache_sentinel")?(ye=o(M=>{g(M.target.checked)},"ee"),e[19]=ye):ye=e[19];let bt=ye,T;e[20]!==n||e[21]!==s?(T=(0,l.jsx)(Xe,{onChange:n,testId:"mg-shard-input",value:s}),e[20]=n,e[21]=s,e[22]=T):T=e[22];let D;e[23]!==qe?(D=(0,l.jsx)(rt,{message:qe,prefix:"mg"}),e[23]=qe,e[24]=D):D=e[24];let L;e[25]!==T||e[26]!==D?(L=(0,l.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[T,D]}),e[25]=T,e[26]=D,e[27]=L):L=e[27];let _;e[28]!==Oe||e[29]!==Ce?(_=Oe!==null&&(0,l.jsx)(Se,{error:Ce,testId:"mg-status-error"}),e[28]=Oe,e[29]=Ce,e[30]=_):_=e[30];let E;e[31]!==N||e[32]!==a?(E=N!==null&&N.length===0&&(0,l.jsx)(we,{description:a("Data migrations you run against this shard will be tracked here."),icon:(0,l.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,l.jsx)("path",{d:"M4 12a8 8 0 0 1 13.7-5.6L20 8M20 4v4h-4M20 12a8 8 0 0 1-13.7 5.6L4 16m0 4v-4h4"})}),testId:"mg-empty",title:a("No migrations have run on this shard.")}),e[31]=N,e[32]=a,e[33]=E):E=e[33];let J;e[34]!==N||e[35]!==a?(J=N!==null&&N.length>0&&(0,l.jsx)(We,{className:"overflow-hidden py-0",children:(0,l.jsx)(ze,{className:"px-0",children:(0,l.jsxs)(Ze,{"data-testid":"mg-table",children:[(0,l.jsx)(et,{children:(0,l.jsxs)(Fe,{children:[(0,l.jsx)(C,{children:a("id")}),(0,l.jsx)(C,{children:a("direction")}),(0,l.jsx)(C,{children:a("status")}),(0,l.jsx)(C,{children:a("processed")}),(0,l.jsx)(C,{children:a("changed")}),(0,l.jsx)(C,{children:a("updated")}),(0,l.jsx)(C,{children:a("error")})]})}),(0,l.jsx)(tt,{children:N.map(yt)})]})})}),e[34]=N,e[35]=a,e[36]=J):J=e[36];let A;e[37]!==a?(A=a("Run migration"),e[37]=a,e[38]=A):A=e[38];let B;e[39]!==A?(B=(0,l.jsx)(Me,{children:A}),e[39]=A,e[40]=B):B=e[40];let P;e[41]!==a?(P=a("Migration id"),e[41]=a,e[42]=P):P=e[42];let U;e[43]!==a?(U=a("migration id"),e[43]=a,e[44]=U):U=e[44];let W;e[45]!==u||e[46]!==P||e[47]!==U?(W=(0,l.jsx)(Pe,{"aria-label":P,className:"w-auto","data-testid":"mg-id-input",onChange:ft,placeholder:U,value:u}),e[45]=u,e[46]=P,e[47]=U,e[48]=W):W=e[48];let z;e[49]!==a?(z=a("Direction"),e[49]=a,e[50]=z):z=e[50];let H;e[51]!==a?(H=a("up"),e[51]=a,e[52]=H):H=e[52];let Q;e[53]!==H?(Q=(0,l.jsx)("option",{value:"up",children:H}),e[53]=H,e[54]=Q):Q=e[54];let V;e[55]!==a?(V=a("down"),e[55]=a,e[56]=V):V=e[56];let G;e[57]!==V?(G=(0,l.jsx)("option",{value:"down",children:V}),e[57]=V,e[58]=G):G=e[58];let X;e[59]!==h||e[60]!==z||e[61]!==Q||e[62]!==G?(X=(0,l.jsxs)("select",{"aria-label":z,className:"flex h-8 rounded-md border border-input bg-transparent px-2.5 py-1 text-xs transition-colors outline-none focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50 dark:bg-input/30","data-testid":"mg-direction",onChange:gt,value:h,children:[Q,G]}),e[59]=h,e[60]=z,e[61]=Q,e[62]=G,e[63]=X):X=e[63];let Y;e[64]!==p?(Y=(0,l.jsx)("input",{checked:p,className:"size-4 accent-primary","data-testid":"mg-dry-run",id:"mg-dry-run",onChange:bt,type:"checkbox"}),e[64]=p,e[65]=Y):Y=e[65];let Z;e[66]!==a?(Z=a("Dry run"),e[66]=a,e[67]=Z):Z=e[67];let ee;e[68]!==Y||e[69]!==Z?(ee=(0,l.jsxs)(Me,{className:"flex items-center gap-1.5",htmlFor:"mg-dry-run",children:[Y,Z]}),e[68]=Y,e[69]=Z,e[70]=ee):ee=e[70];let te;e[71]!==p||e[72]!==be||e[73]!==f||e[74]!==I||e[75]!==a?(te=p?(0,l.jsx)(Ue,{"data-testid":"mg-run",disabled:f||!I,onClick:be,type:"button",children:a(f?"Running\u2026":"Run")}):(0,l.jsx)(at,{confirmLabel:a(f?"Running\u2026":"Run migration?"),disabled:f||!I,onConfirm:be,testId:"mg-run",children:a("Run")}),e[71]=p,e[72]=be,e[73]=f,e[74]=I,e[75]=a,e[76]=te):te=e[76];let ae;e[77]!==W||e[78]!==X||e[79]!==ee||e[80]!==te?(ae=(0,l.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[W,X,ee,te]}),e[77]=W,e[78]=X,e[79]=ee,e[80]=te,e[81]=ae):ae=e[81];let re;e[82]!==B||e[83]!==ae?(re=(0,l.jsxs)("div",{className:"flex flex-col gap-2 rounded-xl border border-border bg-card p-3 shadow-xs",children:[B,ae]}),e[82]=B,e[83]=ae,e[84]=re):re=e[84];let ie;e[85]!==w?(ie=w!==null&&(0,l.jsx)("pre",{className:"text-sm text-destructive whitespace-pre-wrap","data-testid":"mg-run-error",role:"alert",children:w}),e[85]=w,e[86]=ie):ie=e[86];let ne;e[87]!==x||e[88]!==a?(ne=x!==null&&(0,l.jsxs)("p",{className:"text-sm text-muted-foreground","data-testid":"mg-run-result",children:[x.dryRun?a("Dry run: "):"",a("{status} \u2014 processed",{status:x.status}),x.processed,a(", changed"),x.changed]}),e[87]=x,e[88]=a,e[89]=ne):ne=e[89];let ke;return e[90]!==L||e[91]!==_||e[92]!==E||e[93]!==J||e[94]!==re||e[95]!==ie||e[96]!==ne?(ke=(0,l.jsxs)("div",{className:"flex flex-col gap-3 pt-4","data-testid":"lunora-migrations",children:[L,_,E,J,re,ie,ne]}),e[90]=L,e[91]=_,e[92]=E,e[93]=J,e[94]=re,e[95]=ie,e[96]=ne,e[97]=ke):ke=e[97],ke},"yt");function yt(t){return(0,l.jsxs)(Fe,{"data-testid":`mg-row-${t.id}`,children:[(0,l.jsx)(q,{children:t.id}),(0,l.jsx)(q,{children:t.direction}),(0,l.jsx)(q,{children:(0,l.jsx)(Be,{variant:"secondary",children:t.status})}),(0,l.jsx)(q,{children:t.processed}),(0,l.jsx)(q,{children:t.changed}),(0,l.jsx)(q,{children:Ne(t.updatedAt)}),(0,l.jsx)(q,{children:t.error??""})]},t.id)}o(yt,"Je");var d=oe(_e(),1);var Re=1;function kt(t){let e={},i=Object.keys(t);i.sort();for(let r of i)e[r]=t[r];return e}o(kt,"ne");var ce=o(t=>typeof t=="object"&&t!==null,"w"),wt=o(t=>ce(t)&&ce(t.fields)&&ce(t.indexes)&&ce(t.relations)&&typeof t.shardMode=="string","se"),$t=o(t=>{if(t===void 0||t.trim()==="")return{status:"absent"};let e;try{e=JSON.parse(t)}catch(i){return{error:`baseline is not valid JSON: ${i instanceof Error?i.message:String(i)}`,status:"invalid"}}if(!ce(e)||e.version!==Re||!ce(e.tables))return{error:`baseline is malformed or written by an incompatible version (expected version ${String(Re)})`,status:"invalid"};for(let[i,r]of Object.entries(e.tables))if(!wt(r))return{error:`baseline table "${i}" has an invalid structure`,status:"invalid"};return{snapshot:{jurisdiction:typeof e.jurisdiction=="string"?e.jurisdiction:void 0,migrationIds:Array.isArray(e.migrationIds)?e.migrationIds:[],tables:e.tables,version:Re},status:"ok"}},"ie"),Nt=o((t,e)=>t.unique===e.unique&&t.fields.length===e.fields.length&&t.fields.every((i,r)=>i===e.fields[r]),"ae"),st=o(t=>t.unique!==void 0,"J"),Ke=o(({nullable:t,optional:e,refined:i,unique:r,...a})=>JSON.stringify(kt(a)),"A"),dt=o(t=>({form:JSON.stringify([Ke(t),t.optional===!0,t.nullable===!0]),refined:t.refined===!0}),"P"),lt=o(t=>t.kind==="union"&&t.members?t.members.map(e=>dt(e)):[dt({...t,nullable:!1,optional:!1})],"V"),St=o((t,e)=>{if(e.kind!=="union")return!1;let i=lt(e);return lt(t).every(r=>i.some(a=>a.form===r.form&&(r.refined||!a.refined)))},"oe"),j=o(t=>{switch(t.kind){case"array":return`array(${t.of?j(t.of):"?"})`;case"id":return`id(${t.ref??"?"})`;case"literal":return`literal(${t.literal??"?"})`;case"object":return`object({ ${Object.keys(t.fields??{}).join(", ")} })`;case"record":return`record(${t.key?j(t.key):"?"}, ${t.of?j(t.of):"?"})`;case"union":return(t.members??[]).map(e=>j(e)).join(" | ");default:return t.kind}},"y"),ue=o((t,e,i)=>({remediation:"backfill",scope:"table",severity:"breaking",summary:i,table:t,type:e}),"O"),je=o((t,e,i)=>({remediation:"none",scope:"table",severity:"safe",summary:i,table:t,type:e}),"F"),jt=o((t,e,i,r,a)=>{if(!(i.kind===r.kind&&(!a||Ke(i)===Ke(r))))return a&&St(i,r)?je(t,"widenedFieldShape",`field ${t}.${e} widened: ${j(i)} \u2192 ${j(r)} \u2014 every stored value stays valid`):i.kind!==r.kind?ue(t,"changedFieldKind",`field ${t}.${e} changed type: ${i.kind} \u2192 ${r.kind} \u2014 add a data migration to convert existing values`):ue(t,"changedFieldShape",`field ${t}.${e} changed shape: ${j(i)} \u2192 ${j(r)} \u2014 stored values were written against the old shape; add a data migration to convert them`)},"re"),Ot=o((t,e,i,r)=>{let a=[];return i.unique!==r.unique&&a.push(r.unique===!0?ue(t,"addedFieldConstraint",`field ${t}.${e} became unique \u2014 existing duplicates would violate it; add a data migration to de-duplicate first`):je(t,"relaxedFieldConstraint",`field ${t}.${e} is no longer unique`)),i.nullable!==r.nullable&&a.push(r.nullable===!0?je(t,"relaxedFieldConstraint",`field ${t}.${e} became nullable`):ue(t,"addedFieldConstraint",`field ${t}.${e} is no longer nullable \u2014 rows holding NULL would be invalid; add a data migration to backfill them`)),i.refined!==r.refined&&a.push(r.refined===!0?ue(t,"addedFieldConstraint",`field ${t}.${e} gained a validation refinement \u2014 stored values were never checked against it; add a data migration if any could fail`):je(t,"relaxedFieldConstraint",`field ${t}.${e} dropped its validation refinement`)),a},"de"),ht=o((t,e,i,r)=>{let a=[],c=st(i)&&st(r),n=jt(t,e,i,r,c);return n&&a.push(n),c&&a.push(...Ot(t,e,i,r)),i.optional&&!r.optional?a.push({remediation:"backfill",severity:"breaking",summary:`field ${t}.${e} became required \u2014 rows missing it would be invalid; add a data migration to backfill it`,table:t,scope:"table",type:"fieldOptionalToRequired"}):!i.optional&&r.optional&&a.push({remediation:"none",scope:"table",severity:"safe",summary:`field ${t}.${e} became optional`,table:t,type:"fieldRequiredToOptional"}),a},"K"),Ct=o((t,e,i)=>i.optional?{remediation:"none",scope:"table",severity:"safe",summary:`added optional field ${t}.${e}`,table:t,type:"addedOptionalField"}:{remediation:"backfill",severity:"breaking",summary:`added required field ${t}.${e} \u2014 existing rows have no value; add a data migration to backfill it`,table:t,scope:"table",type:"addedRequiredField"},"le"),qt=o((t,e,i,r)=>{for(let[a,c]of Object.entries(i.fields)){let n=e.fields[a];n===void 0?r.push(Ct(t,a,c)):r.push(...ht(t,a,n,c))}for(let a of Object.keys(e.fields))i.fields[a]===void 0&&r.push({remediation:"backfill",severity:"breaking",summary:`removed field ${t}.${a} \u2014 add a data migration if stored data must be cleaned up`,table:t,scope:"table",type:"removedField"})},"ce"),It=o((t,e,i,r)=>{for(let[a,c]of Object.entries(i.indexes)){let n=e.indexes[a];if(n===void 0){r.push({remediation:"none",scope:"table",severity:"safe",summary:`added index ${a} on ${t}`,table:t,type:"addedIndex"});continue}Nt(n,c)||r.push({remediation:"code",severity:"breaking",summary:`index ${a} on ${t} changed shape \u2014 a query may have relied on the old index`,table:t,scope:"table",type:"changedIndex"})}for(let a of Object.keys(e.indexes))i.indexes[a]===void 0&&r.push({remediation:"code",severity:"breaking",summary:`removed index ${a} on ${t} \u2014 a query that used \`.withIndex("${a}")\` would break`,table:t,scope:"table",type:"removedIndex"})},"ue"),Ft=o((t,e,i,r)=>{for(let a of Object.keys(i.relations))e.relations[a]===void 0&&r.push({remediation:"none",scope:"schema",severity:"safe",summary:`added relation ${t}.${a}`,table:t,type:"addedRelation"});for(let a of Object.keys(e.relations))i.relations[a]===void 0&&r.push({remediation:"code",scope:"schema",severity:"breaking",summary:`removed relation ${t}.${a}`,table:t,type:"removedRelation"})},"me"),Mt=o((t,e,i,r)=>{e.shardMode!==i.shardMode&&r.push({remediation:"rehome",severity:"breaking",summary:`table ${t} changed shard mode: ${e.shardMode} \u2192 ${i.shardMode} \u2014 its physical storage moves, and existing rows do NOT follow the schema; re-home them with an export/import round trip (https://lunora.sh/docs/concepts/sharding#migrating-a-populated-table)`,table:t,scope:"table",type:"changedShardMode"}),qt(t,e,i,r),It(t,e,i,r),Ft(t,e,i,r)},"fe"),Rt=o((t,e)=>{let i=[],r=t?.tables??{};for(let[a,c]of Object.entries(e.tables)){let n=r[a];if(n===void 0){i.push({remediation:"none",scope:"table",severity:"safe",summary:`added table ${a}`,table:a,type:"addedTable"});continue}Mt(a,n,c,i)}for(let a of Object.keys(r))e.tables[a]===void 0&&i.push({remediation:"rehome",scope:"table",severity:"breaking",summary:`removed table ${a} \u2014 its rows stay in each shard's SQLite, unreachable through the schema; export the shard first if the data must be kept`,table:a,type:"removedTable"});if(t!==void 0&&t.jurisdiction!==e.jurisdiction){let a=t.jurisdiction??"(none)",c=e.jurisdiction??"(none)";i.push({remediation:"rehome",scope:"schema",severity:"breaking",summary:`Durable Object jurisdiction changed from ${a} to ${c} \u2014 this re-homes every DO and strands all existing shard, scheduler, and session-DO data in the old region (no in-place migration; export then import to move it). Revert the change, or override the gate to proceed intentionally.`,type:"changedJurisdiction"})}return{changes:i}},"he"),ct=o(t=>Object.entries(t.fields).map(([e,i])=>({name:e,optional:i.optional,ref:Object.values(t.relations).find(r=>r.field===e&&r.kind==="one")?.table,type:j(i)})),"H"),mt=o((t,e,i)=>{let r={},a=e?.fields??{},c=i?.fields??{};for(let[n,s]of Object.entries(c)){let u=a[n];u===void 0?r[n]=e===void 0?"unchanged":"added":r[n]=ht(t,n,u,s).length===0?"unchanged":"changed"}for(let n of Object.keys(a))c[n]===void 0&&(r[n]="removed");return r},"Q"),Kt=o((t,e)=>{let{changes:i}=Rt(t,e),r=new Set(i.filter(n=>n.scope==="table"&&n.table!==void 0).map(n=>n.table)),a=[],c=o((n,s)=>n?"added":r.has(s)?"changed":"context","o");for(let[n,s]of Object.entries(e.tables)){let u=t?.tables[n],b=c(u===void 0,n);a.push({columns:ct(s),fieldStatus:mt(n,u,s),name:n,shardMode:s.shardMode,status:b})}for(let[n,s]of Object.entries(t?.tables??{}))e.tables[n]===void 0&&a.push({columns:ct(s),fieldStatus:mt(n,s,void 0),name:n,shardMode:s.shardMode,status:"removed"});return a.sort((n,s)=>n.name.localeCompare(s.name)),{breakingCount:i.filter(n=>n.severity==="breaking").length,changes:i,tables:a}},"pe"),ut=o(t=>{let e=$t(t);return e.status==="ok"?e.snapshot:void 0},"L"),Tt={added:"ring-2 ring-emerald-500/60",changed:"ring-2 ring-amber-500/70",context:"opacity-55",removed:"opacity-70 ring-2 ring-destructive/60"},Dt=o(t=>t==="global"?"global":"shard","be"),Lt=o(t=>{let e=(0,he.c)(24),{appliedAt:i,hash:r,onSelect:a,selected:c,seq:n}=t,s=c?"border-s-primary bg-accent/60 text-foreground":"border-s-transparent text-muted-foreground hover:bg-accent/30 hover:text-foreground",u;e[0]!==s?(u=se("flex w-full flex-col items-start gap-1 border-s-2 px-4 py-3 text-start outline-none transition-colors",s),e[0]=s,e[1]=u):u=e[1];let b=`sh-version-${r}`,h;e[2]!==r||e[3]!==a?(h=o(()=>{a(r)},"h"),e[2]=r,e[3]=a,e[4]=h):h=e[4];let v;e[5]!==n?(v=(0,d.jsxs)("span",{className:"font-mono text-[13px] tabular-nums",children:["v",n]}),e[5]=n,e[6]=v):v=e[6];let p;e[7]!==r?(p=r.slice(0,7),e[7]=r,e[8]=p):p=e[8];let g;e[9]!==p?(g=(0,d.jsx)("span",{className:"ms-auto font-mono text-[10px] tracking-wider text-muted-foreground/70 uppercase",children:p}),e[9]=p,e[10]=g):g=e[10];let f;e[11]!==v||e[12]!==g?(f=(0,d.jsxs)("span",{className:"flex w-full items-baseline gap-2",children:[v,g]}),e[11]=v,e[12]=g,e[13]=f):f=e[13];let y;e[14]!==i?(y=Ne(i),e[14]=i,e[15]=y):y=e[15];let x;e[16]!==y?(x=(0,d.jsx)("span",{className:"font-mono text-[10px] tracking-wide text-muted-foreground/70",children:y}),e[16]=y,e[17]=x):x=e[17];let m;return e[18]!==x||e[19]!==u||e[20]!==b||e[21]!==h||e[22]!==f?(m=(0,d.jsx)("li",{children:(0,d.jsxs)("button",{className:u,"data-testid":b,onClick:h,type:"button",children:[f,x]})}),e[18]=x,e[19]=u,e[20]=b,e[21]=h,e[22]=f,e[23]=m):m=e[23],m},"ve"),_t=o(t=>{let e=(0,he.c)(26),{breaking:i,count:r,first:a}=t,c=de();if(a){let g;e[0]!==r?(g=(0,d.jsx)("span",{className:"text-3xl leading-none font-light tracking-tight tabular-nums",children:r}),e[0]=r,e[1]=g):g=e[1];let f;e[2]!==c?(f=c("tables"),e[2]=c,e[3]=f):f=e[3];let y;e[4]!==f?(y=(0,d.jsx)("span",{className:"font-mono text-[11px] tracking-widest text-muted-foreground uppercase",children:f}),e[4]=f,e[5]=y):y=e[5];let x;return e[6]!==g||e[7]!==y?(x=(0,d.jsxs)("div",{className:"flex items-baseline gap-3","data-testid":"sh-summary",children:[g,y]}),e[6]=g,e[7]=y,e[8]=x):x=e[8],x}let n=i>0&&"text-destructive",s;e[9]!==n?(s=se("text-3xl leading-none font-light tracking-tight tabular-nums",n),e[9]=n,e[10]=s):s=e[10];let u;e[11]!==r||e[12]!==s?(u=(0,d.jsx)("span",{className:s,children:r}),e[11]=r,e[12]=s,e[13]=u):u=e[13];let b;e[14]!==r||e[15]!==c?(b=c(r===1?"change":"changes"),e[14]=r,e[15]=c,e[16]=b):b=e[16];let h;e[17]!==b?(h=(0,d.jsx)("span",{className:"font-mono text-[11px] tracking-widest text-muted-foreground uppercase",children:b}),e[17]=b,e[18]=h):h=e[18];let v;e[19]!==i||e[20]!==c?(v=i>0&&(0,d.jsxs)("span",{className:"font-mono text-[11px] tracking-widest text-destructive uppercase",children:["\xB7 ",c("{count} breaking",{count:i})]}),e[19]=i,e[20]=c,e[21]=v):v=e[21];let p;return e[22]!==u||e[23]!==h||e[24]!==v?(p=(0,d.jsxs)("div",{className:"flex items-baseline gap-3","data-testid":"sh-summary",children:[u,h,v]}),e[22]=u,e[23]=h,e[24]=v,e[25]=p):p=e[25],p},"xe"),pt={addedFieldConstraint:{action:"added",kind:"constraint"},addedIndex:{action:"added",kind:"index"},addedOptionalField:{action:"added",kind:"field?"},addedRelation:{action:"added",kind:"relation"},addedRequiredField:{action:"added",kind:"field"},addedTable:{action:"added",kind:"table"},changedFieldKind:{action:"changed",kind:"field kind"},changedFieldShape:{action:"changed",kind:"field shape"},changedIndex:{action:"changed",kind:"index"},changedJurisdiction:{action:"changed",kind:"jurisdiction"},changedShardMode:{action:"changed",kind:"shard mode"},fieldOptionalToRequired:{action:"changed",kind:"field \u2192 required"},fieldRequiredToOptional:{action:"changed",kind:"field \u2192 optional"},relaxedFieldConstraint:{action:"removed",kind:"constraint"},removedField:{action:"removed",kind:"field"},removedIndex:{action:"removed",kind:"index"},removedRelation:{action:"removed",kind:"relation"},removedTable:{action:"removed",kind:"table"},widenedFieldShape:{action:"changed",kind:"field \u2192 wider"}},Et=o((t,e)=>{let i=`${pt[t.type].action} ${e} `;return t.summary.startsWith(i)?t.summary.slice(i.length):t.summary},"ye"),Jt=o(t=>{let e=new Map;for(let r of t){let a=r.table??"",c=e.get(a);c===void 0?e.set(a,[r]):c.push(r)}let i=[...e].map(([r,a])=>({changes:a,table:r}));return[...i.filter(r=>r.table!==""),...i.filter(r=>r.table==="")]},"ke"),At=o(t=>{let e=(0,he.c)(2),{children:i}=t,r;return e[0]!==i?(r=(0,d.jsx)("div",{className:"px-4 pt-4 pb-2 font-mono text-[10px] tracking-widest text-muted-foreground/70 uppercase",children:i}),e[0]=i,e[1]=r):r=e[1],r},"$e"),Bt=o(({pane:t,shardKey:e=""})=>{let i=de(),r=Ae(),a=Je({strict:!1}).version,c=o(m=>{$e(r({search:{version:m},to:"/migrations"}))},"a"),n=le(R.schemaHistory,{},{shardKey:e}),s=n.data?.versions??[],u=a!==void 0&&s.some(m=>m.hash===a)?a:s[0]?.hash,b=s.findIndex(m=>m.hash===u),h=b===-1?void 0:s[b+1]?.hash,v=le(R.schemaVersion,{hash:u??""},{enabled:u!==void 0,shardKey:e}),p=le(R.schemaVersion,{hash:h??""},{enabled:h!==void 0,shardKey:e}),g=(0,me.useMemo)(()=>{let m=ut(v.data?.version?.snapshotJson);if(m!==void 0)return Kt(ut(p.data?.version?.snapshotJson),m)},[v.data,p.data]),f=(0,me.useMemo)(()=>(g?.tables??[]).map(m=>({columns:m.columns,name:m.name,tier:Dt(m.shardMode)})),[g]),y=(0,me.useMemo)(()=>{let m={};for(let w of g?.tables??[])m[w.name]=Tt[w.status];return m},[g]);if(n.error!==null)return(0,d.jsx)(Se,{error:n.errorSource,testId:"sh-error"});if(s.length===0)return(0,d.jsx)(we,{description:i("Each distinct schema shape this shard runs is recorded here, so you can see what changed and when."),testId:"sh-empty",title:i("No schema versions recorded yet.")});let x=g?.changes??[];return(0,d.jsxs)("div",{className:"flex min-h-0 flex-1 gap-4","data-testid":"lunora-schema-history",children:[(0,d.jsxs)("nav",{className:"flex w-56 shrink-0 flex-col overflow-hidden border-e border-border","data-testid":"sh-timeline-rail",children:[(0,d.jsx)(At,{children:i("Schema versions")}),(0,d.jsx)("ul",{className:"min-h-0 flex-1 overflow-y-auto","data-testid":"sh-timeline",children:s.map(m=>(0,d.jsx)(Lt,{appliedAt:m.appliedAt,hash:m.hash,onSelect:c,selected:m.hash===u,seq:m.seq},m.hash))})]}),(0,d.jsxs)("div",{className:"flex min-h-0 min-w-0 flex-1 flex-col gap-4 pe-1 pt-4",children:[(0,d.jsx)(_t,{breaking:g?.breakingCount??0,count:h===void 0?f.length:x.length,first:h===void 0}),t==="diagram"?(0,d.jsx)("div",{className:"flex min-h-0 flex-1 flex-col",children:(0,d.jsx)(it,{fill:!0,nodeClasses:y,tables:f,testIdPrefix:"sh"})}):(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto","data-testid":"sh-changes",children:Jt(x).map(m=>{let w=(g?.tables??[]).find(k=>k.name===m.table);return(0,d.jsxs)("section",{className:"mb-6",children:[(0,d.jsxs)("div",{className:"flex items-baseline gap-3 border-b border-border/60 pb-1.5",children:[(0,d.jsx)("span",{className:"font-mono text-[13px] text-foreground",children:m.table===""?i("schema"):m.table}),w!==void 0&&(0,d.jsx)("span",{className:"font-mono text-[10px] tracking-widest text-muted-foreground/70 tabular-nums uppercase",children:i("{count} columns",{count:w.columns.length})}),m.changes.length>1&&(0,d.jsx)("span",{className:"ms-auto font-mono text-[10px] tracking-widest text-muted-foreground/70 tabular-nums",children:m.changes.length})]}),(0,d.jsx)("ul",{children:m.changes.map(k=>{let{action:K,kind:I}=pt[k.type],O=k.severity==="breaking",F=Et(k,I);return(0,d.jsxs)("li",{className:"flex items-baseline gap-4 border-s-2 py-1.5 ps-3 transition-colors hover:bg-accent/30",children:[(0,d.jsx)("span",{"aria-hidden":"true",className:se("-ms-3 h-3 w-0.5 shrink-0 self-center",O?"bg-destructive":"bg-transparent")}),(0,d.jsxs)("span",{className:"w-44 shrink-0 font-mono text-[10px] tracking-widest text-muted-foreground/70 uppercase",children:[i(K)," ",I]}),F!==m.table&&(0,d.jsx)("span",{className:se("min-w-0 font-mono text-[13px]",O?"text-destructive":"text-foreground"),children:F}),O&&(0,d.jsx)("span",{className:"ms-auto shrink-0 font-mono text-[10px] tracking-widest text-destructive uppercase",children:i("breaking")})]},`${k.type}-${k.summary}`)})})]},m.table)})})]})]})},"we"),Pt=o(t=>se("-mb-px border-b-2 px-3 py-2.5 font-mono text-[11px] tracking-wider uppercase transition-colors outline-none","hover:bg-accent/40 focus-visible:bg-accent/40",t?"border-primary text-foreground":"border-transparent text-muted-foreground hover:text-foreground"),"Se"),ya=o(t=>{let e=(0,he.c)(11),{initialShardKey:i}=t,r=de(),[a,c]=(0,me.useState)("diagram"),n;e[0]!==a?(n=o((v,p,g,f)=>(0,d.jsxs)("button",{"aria-selected":a===v,className:Pt(a===v),"data-testid":g,onClick:o(()=>{c(v)},"onClick"),role:"tab",type:"button",children:[p,f!==void 0&&(0,d.jsx)("span",{className:"ms-2 tabular-nums text-muted-foreground/70",children:f})]}),"a"),e[0]=a,e[1]=n):n=e[1];let s=n,u;e[2]!==r||e[3]!==s?(u=(0,d.jsxs)("div",{className:"flex shrink-0 items-center gap-1 border-b border-border px-3","data-testid":"mg-panes",role:"tablist",children:[s("diagram",r("Diagram"),"mg-pane-diagram"),s("changes",r("Changes"),"mg-pane-changes"),s("data",r("Data migrations"),"mg-pane-data")]}),e[2]=r,e[3]=s,e[4]=u):u=e[4];let b;e[5]!==i||e[6]!==a?(b=(0,d.jsx)("div",{className:"flex min-h-0 flex-1 flex-col",children:a==="data"?(0,d.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-4",children:(0,d.jsx)(ot,{initialShardKey:i})}):(0,d.jsx)(Bt,{pane:a,shardKey:i})}),e[5]=i,e[6]=a,e[7]=b):b=e[7];let h;return e[8]!==u||e[9]!==b?(h=(0,d.jsxs)("div",{className:"flex min-h-0 flex-1 flex-col pt-4","data-testid":"lunora-migrations-route",children:[u,b]}),e[8]=u,e[9]=b,e[10]=h):h=e[10],h},"Je");export{ya as default};
@@ -0,0 +1 @@
1
+ import{d as E}from"./chunk-225VJ77I.js";import{a as n,d as b,e as h}from"./chunk-YKXDMIHQ.js";var y=b(h(),1);var T=n(()=>{},"noop"),K=typeof document<"u"?y.useLayoutEffect:T;var W=b(h(),1),l={...W};var a=l.useInsertionEffect,_=a&&a!==l.useLayoutEffect?a:t=>t();function q(t){let e=E(B).current;return e.next=t,_(e.effect),e.trampoline}n(q,"useStableCallback");function B(){let t={next:void 0,callback:O,trampoline:n((...e)=>t.callback?.(...e),"trampoline"),effect:n(()=>{t.callback=t.next},"effect")};return t}n(B,"createStableCallback");function O(){}n(O,"assertNotCalled");function s(){return typeof window<"u"}n(s,"hasWindow");function m(t){return N(t)?(t.nodeName||"").toLowerCase():"#document"}n(m,"getNodeName");function c(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}n(c,"getWindow");function V(t){var e;return(e=(N(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}n(V,"getDocumentElement");function N(t){return s()?t instanceof Node||t instanceof c(t).Node:!1}n(N,"isNode");function C(t){return s()?t instanceof Element||t instanceof c(t).Element:!1}n(C,"isElement");function L(t){return s()?t instanceof HTMLElement||t instanceof c(t).HTMLElement:!1}n(L,"isHTMLElement");function g(t){return!s()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof c(t).ShadowRoot}n(g,"isShadowRoot");function R(t){let{overflow:e,overflowX:i,overflowY:u,display:o}=v(t);return/auto|scroll|overlay|hidden|clip/.test(e+u+i)&&o!=="inline"&&o!=="contents"}n(R,"isOverflowElement");function J(t){return/^(table|td|th)$/.test(m(t))}n(J,"isTableElement");function $(t){try{if(t.matches(":popover-open"))return!0}catch{}try{return t.matches(":modal")}catch{return!1}}n($,"isTopLayer");var A=/transform|translate|scale|rotate|perspective|filter/,H=/paint|layout|strict|content/,r=n(t=>!!t&&t!=="none","isNotNone"),d;function I(t){let e=C(t)?v(t):t;return r(e.transform)||r(e.translate)||r(e.scale)||r(e.rotate)||r(e.perspective)||!M()&&(r(e.backdropFilter)||r(e.filter))||A.test(e.willChange||"")||H.test(e.contain||"")}n(I,"isContainingBlock");function Q(t){let e=p(t);for(;L(e)&&!k(e);){if(I(e))return e;if($(e))return null;e=p(e)}return null}n(Q,"getContainingBlock");function M(){return d==null&&(d=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),d}n(M,"isWebKit");function k(t){return/^(html|body|#document)$/.test(m(t))}n(k,"isLastTraversableNode");function v(t){return c(t).getComputedStyle(t)}n(v,"getComputedStyle");function Z(t){return C(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}n(Z,"getNodeScroll");function p(t){if(m(t)==="html")return t;let e=t.assignedSlot||t.parentNode||g(t)&&t.host||V(t);return g(e)?e.host:e}n(p,"getParentNode");function D(t){let e=p(t);return k(e)?(t.ownerDocument||t).body:L(e)&&R(e)?e:D(e)}n(D,"getNearestOverflowAncestor");function S(t,e,i){var u;e===void 0&&(e=[]),i===void 0&&(i=!0);let o=D(t),x=o===((u=t.ownerDocument)==null?void 0:u.body),f=c(o);if(x){let w=F(f);return e.concat(f,f.visualViewport||[],R(o)?o:[],w&&i?S(w):[])}else return e.concat(o,S(o,[],i))}n(S,"getOverflowAncestors");function F(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}n(F,"getFrameElement");function nt(t){return t?.ownerDocument||document}n(nt,"ownerDocument");export{K as a,l as b,q as c,m as d,c as e,V as f,N as g,C as h,L as i,g as j,R as k,J as l,$ as m,I as n,Q as o,M as p,k as q,v as r,Z as s,p as t,S as u,F as v,nt as w};
@@ -0,0 +1,4 @@
1
+ import{d as Le}from"./chunk-M4POCI2J.js";import{c as _e}from"./chunk-UYEZR3BI.js";import"./chunk-RFNGDE33.js";import"./chunk-V3CZW3JB.js";import"./chunk-MU3P2FI7.js";import{a as ye}from"./chunk-3FBLWUXD.js";import"./chunk-XZMOZFE6.js";import{a as Ee}from"./chunk-66UGPQVC.js";import"./chunk-YPRQLCKF.js";import"./chunk-GMS77BZD.js";import"./chunk-3Q2P62UR.js";import"./chunk-AWHXPIXU.js";import"./chunk-V3VJAA4D.js";import{a as Oe}from"./chunk-PD6WIDY6.js";import{a as Te}from"./chunk-2DX5MROH.js";import"./chunk-OGUKYRFM.js";import"./chunk-OKG3HWSJ.js";import{W as Ce}from"./chunk-PLHA3OWK.js";import"./chunk-Y6CXU7T4.js";import"./chunk-4L4WTGN5.js";import{a as te}from"./chunk-55754F6H.js";import"./chunk-IS6LVJ6L.js";import"./chunk-AAVLPU5Q.js";import{b as ae}from"./chunk-FEWMAPNI.js";import"./chunk-225VJ77I.js";import{a as be}from"./chunk-4ZEL6BYL.js";import{f as Se}from"./chunk-B6RRRJP5.js";import"./chunk-FSRSK4LY.js";import"./chunk-2Y6PXGIS.js";import{a as he}from"./chunk-FKVZRPV5.js";import{a as $e,b as Ke,c as Fe,d as ie,e as re,f as ee}from"./chunk-HEAQVSNS.js";import{a as je,e as ze}from"./chunk-WUWBZPUK.js";import{d as Ne,f as me,g as pe,h as Q,l as ge,o as W,q as De}from"./chunk-FODLDLE2.js";import{a as m,d as fe,e as mt,f as pt,g as gt}from"./chunk-YKXDMIHQ.js";var M=fe(pt(),1),z=fe(mt(),1);var o=fe(gt(),1);var Ue=m((d,e,t)=>{let{onCopy:r,onDelete:l,onDownload:n,onToggleSelect:c}=t,i=m(()=>{r(d.key)},"c"),s=m(()=>{n(d.key)},"o"),u=m(()=>{l(d.key)},"f"),h=m(()=>{c(d.key)},"h");return{copy:i,download:s,name:d.key.slice(e.length),remove:u,toggle:h}},"Ee"),Me=m(d=>{let e=(0,M.c)(31),{busy:t,buttonClassName:r,copied:l,objectKey:n,onCopy:c,onDelete:i,onDownload:s,t:u}=d,h=`storage-copy-${n}`,f;e[0]!==l||e[1]!==u?(f=u(l?"Copied":"Copy URL"),e[0]=l,e[1]=u,e[2]=f):f=e[2];let p;e[3]!==t||e[4]!==r||e[5]!==c||e[6]!==h||e[7]!==f?(p=(0,o.jsx)(te,{className:r,"data-testid":h,disabled:t,onClick:c,size:"sm",type:"button",variant:"ghost",children:f}),e[3]=t,e[4]=r,e[5]=c,e[6]=h,e[7]=f,e[8]=p):p=e[8];let w=`storage-download-${n}`,a;e[9]!==u?(a=u("Download"),e[9]=u,e[10]=a):a=e[10];let k;e[11]!==t||e[12]!==r||e[13]!==s||e[14]!==w||e[15]!==a?(k=(0,o.jsx)(te,{className:r,"data-testid":w,disabled:t,onClick:s,size:"sm",type:"button",variant:"ghost",children:a}),e[11]=t,e[12]=r,e[13]=s,e[14]=w,e[15]=a,e[16]=k):k=e[16];let N;e[17]!==u?(N=u("Delete object?"),e[17]=u,e[18]=N):N=e[18];let v=`storage-delete-${n}`,b;e[19]!==u?(b=u("Delete"),e[19]=u,e[20]=b):b=e[20];let y;e[21]!==t||e[22]!==i||e[23]!==N||e[24]!==v||e[25]!==b?(y=(0,o.jsx)(Oe,{confirmLabel:N,disabled:t,onConfirm:i,testId:v,children:b}),e[21]=t,e[22]=i,e[23]=N,e[24]=v,e[25]=b,e[26]=y):y=e[26];let x;return e[27]!==y||e[28]!==p||e[29]!==k?(x=(0,o.jsxs)(o.Fragment,{children:[p,k,y]}),e[27]=y,e[28]=p,e[29]=k,e[30]=x):x=e[30],x},"$e"),Ae=m(d=>{let e=(0,M.c)(14),{objectKey:t,references:r,t:l}=d;if(r===void 0)return null;if(r.length===0){let h=`storage-orphan-${t}`,f;e[0]!==l?(f=l("Orphan"),e[0]=l,e[1]=f):f=e[1];let p;return e[2]!==h||e[3]!==f?(p=(0,o.jsx)(ae,{"data-testid":h,variant:"warning",children:f}),e[2]=h,e[3]=f,e[4]=p):p=e[4],p}let n;e[5]!==r?(n=r.map(bt).join(`
2
+ `),e[5]=r,e[6]=n):n=e[6];let c=n,i=`storage-refs-${t}`,s;e[7]!==r.length||e[8]!==l?(s=r.length===1?l("1 record"):l("{count} records",{count:r.length}),e[7]=r.length,e[8]=l,e[9]=s):s=e[9];let u;return e[10]!==c||e[11]!==i||e[12]!==s?(u=(0,o.jsx)(ae,{"data-testid":i,title:c,variant:"secondary",children:s}),e[10]=c,e[11]=i,e[12]=s,e[13]=u):u=e[13],u},"Fe"),Pe=m(d=>{let e=(0,M.c)(7),{objectKey:t,onToggle:r,selected:l,t:n}=d,c;e[0]!==n?(c=n("Select row"),e[0]=n,e[1]=c):c=e[1];let i=`storage-select-${t}`,s;return e[2]!==r||e[3]!==l||e[4]!==c||e[5]!==i?(s=(0,o.jsx)(ye,{"aria-label":c,checked:l,"data-testid":i,onCheckedChange:r}),e[2]=r,e[3]=l,e[4]=c,e[5]=i,e[6]=s):s=e[6],s},"Re");function bt(d){return`${d.table}\xB7${d.id}`}m(bt,"yt");var yt=m(d=>{let e=(0,M.c)(10),{colSpan:t,name:r,onEnter:l}=d,n;e[0]!==r||e[1]!==l?(n=m(()=>{l(r)},"l"),e[0]=r,e[1]=l,e[2]=n):n=e[2];let c=n,i;e[3]===Symbol.for("react.memo_cache_sentinel")?(i=(0,o.jsx)("svg",{"aria-hidden":"true",className:"size-4 text-muted-foreground",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,o.jsx)("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Z"})}),e[3]=i):i=e[3];let s;e[4]!==c||e[5]!==r?(s=(0,o.jsxs)("button",{className:"inline-flex items-center gap-2 font-mono text-xs outline-none hover:text-foreground focus-visible:text-foreground","data-testid":"fb-folder",onClick:c,type:"button",children:[i,r]}),e[4]=c,e[5]=r,e[6]=s):s=e[6];let u;return e[7]!==t||e[8]!==s?(u=(0,o.jsx)(ie,{children:(0,o.jsx)(ee,{colSpan:t,children:s})}),e[7]=t,e[8]=s,e[9]=u):u=e[9],u},"xt"),xt=m(d=>{let e=(0,M.c)(37),{busy:t,copiedKey:r,handlers:l,object:n,prefix:c,references:i,selected:s,showReferences:u,t:h}=d,f;e[0]!==l||e[1]!==n||e[2]!==c?(f=Ue(n,c,l),e[0]=l,e[1]=n,e[2]=c,e[3]=f):f=e[3];let{copy:p,download:w,name:a,remove:k,toggle:N}=f,v;e[4]!==n.key||e[5]!==s||e[6]!==h||e[7]!==N?(v=(0,o.jsx)(ee,{className:"w-8",children:(0,o.jsx)(Pe,{objectKey:n.key,onToggle:N,selected:s,t:h})}),e[4]=n.key,e[5]=s,e[6]=h,e[7]=N,e[8]=v):v=e[8];let b;e[9]!==a?(b=(0,o.jsx)(ee,{className:"font-mono text-xs",children:a}),e[9]=a,e[10]=b):b=e[10];let y;e[11]!==n.size?(y=ge(n.size),e[11]=n.size,e[12]=y):y=e[12];let x;e[13]!==y?(x=(0,o.jsx)(ee,{className:"tabular-nums text-muted-foreground",children:y}),e[13]=y,e[14]=x):x=e[14];let j=n.httpMetadata?.contentType??"",S;e[15]!==j?(S=(0,o.jsx)(ee,{children:j}),e[15]=j,e[16]=S):S=e[16];let C;e[17]!==n.key||e[18]!==i||e[19]!==u||e[20]!==h?(C=u&&(0,o.jsx)(ee,{children:(0,o.jsx)(Ae,{objectKey:n.key,references:i,t:h})}),e[17]=n.key,e[18]=i,e[19]=u,e[20]=h,e[21]=C):C=e[21];let T=r===n.key,D;e[22]!==t||e[23]!==p||e[24]!==w||e[25]!==n.key||e[26]!==k||e[27]!==h||e[28]!==T?(D=(0,o.jsx)(ee,{className:"text-right",children:(0,o.jsx)("span",{className:"inline-flex items-center gap-1",children:(0,o.jsx)(Me,{busy:t,copied:T,objectKey:n.key,onCopy:p,onDelete:k,onDownload:w,t:h})})}),e[22]=t,e[23]=p,e[24]=w,e[25]=n.key,e[26]=k,e[27]=h,e[28]=T,e[29]=D):D=e[29];let F;return e[30]!==D||e[31]!==v||e[32]!==b||e[33]!==x||e[34]!==S||e[35]!==C?(F=(0,o.jsxs)(ie,{"data-testid":"fb-row",children:[v,b,x,S,C,D]}),e[30]=D,e[31]=v,e[32]=b,e[33]=x,e[34]=S,e[35]=C,e[36]=F):F=e[36],F},"vt"),vt=m(d=>{let e=(0,M.c)(65),{allSelected:t,busy:r,copiedKey:l,files:n,folders:c,handlers:i,onEnterFolder:s,prefix:u,references:h,selected:f,showReferences:p,someSelected:w,t:a,toggleSelectAll:k}=d,N;e[0]!==a?(N=a("Select all rows"),e[0]=a,e[1]=N):N=e[1];let v;e[2]!==t||e[3]!==w||e[4]!==N||e[5]!==k?(v=(0,o.jsx)(re,{className:"w-8",children:(0,o.jsx)(ye,{"aria-label":N,checked:t,"data-testid":"storage-select-all",indeterminate:w,onCheckedChange:k})}),e[2]=t,e[3]=w,e[4]=N,e[5]=k,e[6]=v):v=e[6];let b;e[7]!==a?(b=a("key"),e[7]=a,e[8]=b):b=e[8];let y;e[9]!==b?(y=(0,o.jsx)(re,{children:b}),e[9]=b,e[10]=y):y=e[10];let x;e[11]!==a?(x=a("size"),e[11]=a,e[12]=x):x=e[12];let j;e[13]!==x?(j=(0,o.jsx)(re,{children:x}),e[13]=x,e[14]=j):j=e[14];let S;e[15]!==a?(S=a("content-type"),e[15]=a,e[16]=S):S=e[16];let C;e[17]!==S?(C=(0,o.jsx)(re,{children:S}),e[17]=S,e[18]=C):C=e[18];let T;e[19]!==p||e[20]!==a?(T=p&&(0,o.jsx)(re,{children:a("used by")}),e[19]=p,e[20]=a,e[21]=T):T=e[21];let D;e[22]!==a?(D=a("Actions"),e[22]=a,e[23]=D):D=e[23];let F;e[24]!==D?(F=(0,o.jsx)(re,{"aria-label":D}),e[24]=D,e[25]=F):F=e[25];let $;e[26]!==F||e[27]!==v||e[28]!==y||e[29]!==j||e[30]!==C||e[31]!==T?($=(0,o.jsx)(Ke,{children:(0,o.jsxs)(ie,{children:[v,y,j,C,T,F]})}),e[26]=F,e[27]=v,e[28]=y,e[29]=j,e[30]=C,e[31]=T,e[32]=$):$=e[32];let O;if(e[33]!==c||e[34]!==s||e[35]!==p){let E;e[37]!==s||e[38]!==p?(E=m(_=>(0,o.jsx)(yt,{colSpan:p?6:5,name:_,onEnter:s},_),"D"),e[37]=s,e[38]=p,e[39]=E):E=e[39],O=c.map(E),e[33]=c,e[34]=s,e[35]=p,e[36]=O}else O=e[36];let B;if(e[40]!==r||e[41]!==l||e[42]!==n||e[43]!==i||e[44]!==u||e[45]!==h||e[46]!==f||e[47]!==p||e[48]!==a){let E;e[50]!==r||e[51]!==l||e[52]!==i||e[53]!==u||e[54]!==h||e[55]!==f||e[56]!==p||e[57]!==a?(E=m(_=>(0,o.jsx)(xt,{busy:r,copiedKey:l,handlers:i,object:_,prefix:u,references:h[_.key],selected:f.has(_.key),showReferences:p,t:a},_.key),"D"),e[50]=r,e[51]=l,e[52]=i,e[53]=u,e[54]=h,e[55]=f,e[56]=p,e[57]=a,e[58]=E):E=e[58],B=n.map(E),e[40]=r,e[41]=l,e[42]=n,e[43]=i,e[44]=u,e[45]=h,e[46]=f,e[47]=p,e[48]=a,e[49]=B}else B=e[49];let L;e[59]!==O||e[60]!==B?(L=(0,o.jsxs)(Fe,{children:[O,B]}),e[59]=O,e[60]=B,e[61]=L):L=e[61];let I;return e[62]!==$||e[63]!==L?(I=(0,o.jsx)(je,{className:"overflow-hidden py-0",children:(0,o.jsx)(ze,{className:"px-0",children:(0,o.jsxs)($e,{"data-testid":"fb-table",children:[$,L]})})}),e[62]=$,e[63]=L,e[64]=I):I=e[64],I},"kt"),kt=[{label:"15m",seconds:900},{label:"1h",seconds:3600},{label:"24h",seconds:86400},{label:"7d",seconds:604800}],wt=3600,Be=m((d,e)=>{if(e==="size")return d.size;if(e==="type")return d.httpMetadata?.contentType??"";if(e==="date"){if(d.uploaded===void 0)return 0;let t=new Date(d.uploaded).getTime();return Number.isNaN(t)?0:t}return e.startsWith("tag:")?d.customMetadata?.[e.slice(4)]??"":d.key},"ve"),St=m((d,e,t)=>{let r=t==="desc"?-1:1;return d.toSorted((l,n)=>{let c=Be(l,e),i=Be(n,e);return(typeof c=="number"&&typeof i=="number"?c-i:String(c).localeCompare(String(i)))*r})},"Ct"),Nt=m((d,e)=>{let t=new Set,r=[];for(let l of d){let n=l.key.slice(e.length),c=n.indexOf("/");c===-1?r.push(l):t.add(n.slice(0,c+1))}return{files:r,folders:[...t].toSorted((l,n)=>l.localeCompare(n))}},"Nt"),Ct=m(d=>{let e=(0,M.c)(59),{bucket:t,buckets:r,busy:l,draftPrefix:n,expiry:c,fileInputRef:i,onBucketChange:s,onExpiryChange:u,onFileChange:h,onList:f,onPrefixChange:p,onUploadClick:w,t:a}=d,k;e[0]!==p?(k=m(P=>{p(P.target.value)},"v"),e[0]=p,e[1]=k):k=e[1];let N=k,v;e[2]!==s?(v=m(P=>{s(P.target.value)},"x"),e[2]=s,e[3]=v):v=e[3];let b=v,y;e[4]!==u?(y=m(P=>{u(Number.parseInt(P.target.value,10))},"b"),e[4]=u,e[5]=y):y=e[5];let x=y,j;e[6]!==t||e[7]!==r||e[8]!==b||e[9]!==a?(j=r.length>0&&(0,o.jsx)("select",{"aria-label":a("Bucket"),className:"h-8 rounded-md border border-border bg-background px-1 outline-none focus-visible:border-ring","data-testid":"fb-bucket",onChange:b,value:t,children:r.map(zt)}),e[6]=t,e[7]=r,e[8]=b,e[9]=a,e[10]=j):j=e[10];let S;e[11]!==a?(S=a("Key prefix"),e[11]=a,e[12]=S):S=e[12];let C;e[13]!==a?(C=a("key prefix (optional)"),e[13]=a,e[14]=C):C=e[14];let T;e[15]!==n||e[16]!==N||e[17]!==S||e[18]!==C?(T=(0,o.jsx)(Ce,{"aria-label":S,className:"h-8 w-64 max-w-full","data-testid":"fb-prefix-input",onChange:N,placeholder:C,value:n}),e[15]=n,e[16]=N,e[17]=S,e[18]=C,e[19]=T):T=e[19];let D;e[20]!==a?(D=a("List"),e[20]=a,e[21]=D):D=e[21];let F;e[22]!==l||e[23]!==f||e[24]!==D?(F=(0,o.jsx)(te,{"data-testid":"fb-list",disabled:l,onClick:f,size:"sm",type:"button",children:D}),e[22]=l,e[23]=f,e[24]=D,e[25]=F):F=e[25];let $;e[26]!==l||e[27]!==a?($=a(l?"Uploading\u2026":"Upload"),e[26]=l,e[27]=a,e[28]=$):$=e[28];let O;e[29]!==l||e[30]!==w||e[31]!==$?(O=(0,o.jsx)(te,{"data-testid":"storage-upload",disabled:l,onClick:w,size:"sm",type:"button",variant:"outline",children:$}),e[29]=l,e[30]=w,e[31]=$,e[32]=O):O=e[32];let B;e[33]!==i||e[34]!==h?(B=(0,o.jsx)("input",{className:"hidden","data-testid":"storage-file-input",onChange:h,ref:i,type:"file"}),e[33]=i,e[34]=h,e[35]=B):B=e[35];let L;e[36]!==a?(L=a("Link expiry"),e[36]=a,e[37]=L):L=e[37];let I;e[38]!==a?(I=kt.map(P=>(0,o.jsx)("option",{value:P.seconds,children:a(P.label)},P.seconds)),e[38]=a,e[39]=I):I=e[39];let E;e[40]!==c||e[41]!==x||e[42]!==I?(E=(0,o.jsx)("select",{className:"h-8 rounded-md border border-border bg-background px-1 tabular-nums outline-none focus-visible:border-ring","data-testid":"storage-expiry",id:"storage-expiry",onChange:x,value:c,children:I}),e[40]=c,e[41]=x,e[42]=I,e[43]=E):E=e[43];let _;e[44]!==L||e[45]!==E?(_=(0,o.jsxs)("label",{className:"ml-auto flex items-center gap-1.5 text-xs text-muted-foreground",htmlFor:"storage-expiry",children:[L,E]}),e[44]=L,e[45]=E,e[46]=_):_=e[46];let U;e[47]!==a?(U=a("Open in Cloudflare"),e[47]=a,e[48]=U):U=e[48];let A;e[49]!==U?(A=(0,o.jsx)("a",{className:"text-sm text-primary underline-offset-4 hover:underline","data-testid":"fb-cf-link",href:_e,rel:"noreferrer",target:"_blank",children:U}),e[49]=U,e[50]=A):A=e[50];let H;return e[51]!==O||e[52]!==B||e[53]!==_||e[54]!==A||e[55]!==j||e[56]!==T||e[57]!==F?(H=(0,o.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[j,T,F,O,B,_,A]}),e[51]=O,e[52]=B,e[53]=_,e[54]=A,e[55]=j,e[56]=T,e[57]=F,e[58]=H):H=e[58],H},"Tt"),jt=m(d=>{let e=(0,M.c)(66),{onSortKeyChange:t,onThumbSizeChange:r,showGrid:l,showList:n,sortDirection:c,sortKey:i,t:s,tagKeys:u,thumbSize:h,toggleSortDirection:f,view:p}=d,w;e[0]!==t?(w=m(G=>{t(G.target.value)},"k"),e[0]=t,e[1]=w):w=e[1];let a=w,k;e[2]!==r?(k=m(G=>{r(Number.parseInt(G.target.value,10))},"v"),e[2]=r,e[3]=k):k=e[3];let N=k,v=p==="list",b;e[4]!==s?(b=s("List"),e[4]=s,e[5]=b):b=e[5];let y;e[6]!==n||e[7]!==v||e[8]!==b?(y=(0,o.jsx)("button",{"aria-pressed":v,className:"px-2 py-1 outline-none transition-colors hover:bg-accent aria-pressed:bg-accent aria-pressed:text-accent-foreground","data-testid":"fb-view-list",onClick:n,type:"button",children:b}),e[6]=n,e[7]=v,e[8]=b,e[9]=y):y=e[9];let x=p==="grid",j;e[10]!==s?(j=s("Grid"),e[10]=s,e[11]=j):j=e[11];let S;e[12]!==l||e[13]!==x||e[14]!==j?(S=(0,o.jsx)("button",{"aria-pressed":x,className:"border-s border-border px-2 py-1 outline-none transition-colors hover:bg-accent aria-pressed:bg-accent aria-pressed:text-accent-foreground","data-testid":"fb-view-grid",onClick:l,type:"button",children:j}),e[12]=l,e[13]=x,e[14]=j,e[15]=S):S=e[15];let C;e[16]!==y||e[17]!==S?(C=(0,o.jsxs)("div",{className:"inline-flex overflow-hidden rounded-md border border-border",children:[y,S]}),e[16]=y,e[17]=S,e[18]=C):C=e[18];let T;e[19]!==s?(T=s("Sort"),e[19]=s,e[20]=T):T=e[20];let D;e[21]!==s?(D=s("Name"),e[21]=s,e[22]=D):D=e[22];let F;e[23]!==D?(F=(0,o.jsx)("option",{value:"name",children:D}),e[23]=D,e[24]=F):F=e[24];let $;e[25]!==s?($=s("size"),e[25]=s,e[26]=$):$=e[26];let O;e[27]!==$?(O=(0,o.jsx)("option",{value:"size",children:$}),e[27]=$,e[28]=O):O=e[28];let B;e[29]!==s?(B=s("Type"),e[29]=s,e[30]=B):B=e[30];let L;e[31]!==B?(L=(0,o.jsx)("option",{value:"type",children:B}),e[31]=B,e[32]=L):L=e[32];let I;e[33]!==s?(I=s("Modified"),e[33]=s,e[34]=I):I=e[34];let E;e[35]!==I?(E=(0,o.jsx)("option",{value:"date",children:I}),e[35]=I,e[36]=E):E=e[36];let _;e[37]!==u?(_=u.map(Dt),e[37]=u,e[38]=_):_=e[38];let U;e[39]!==a||e[40]!==i||e[41]!==F||e[42]!==O||e[43]!==L||e[44]!==E||e[45]!==_?(U=(0,o.jsxs)("select",{className:"h-8 rounded-md border border-border bg-background px-1 outline-none focus-visible:border-ring","data-testid":"fb-sort",id:"fb-sort",onChange:a,value:i,children:[F,O,L,E,_]}),e[39]=a,e[40]=i,e[41]=F,e[42]=O,e[43]=L,e[44]=E,e[45]=_,e[46]=U):U=e[46];let A;e[47]!==T||e[48]!==U?(A=(0,o.jsxs)("label",{className:"flex items-center gap-1.5 text-muted-foreground",htmlFor:"fb-sort",children:[T,U]}),e[47]=T,e[48]=U,e[49]=A):A=e[49];let H;e[50]!==s?(H=s("Toggle sort direction"),e[50]=s,e[51]=H):H=e[51];let P=c==="asc"?"\u2191":"\u2193",q;e[52]!==H||e[53]!==P||e[54]!==f?(q=(0,o.jsx)("button",{"aria-label":H,className:"flex size-8 items-center justify-center rounded-md border border-border tabular-nums outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"fb-sort-dir",onClick:f,type:"button",children:P}),e[52]=H,e[53]=P,e[54]=f,e[55]=q):q=e[55];let Y;e[56]!==N||e[57]!==s||e[58]!==h||e[59]!==p?(Y=p==="grid"&&(0,o.jsxs)("label",{className:"ml-auto flex items-center gap-1.5 text-muted-foreground",htmlFor:"fb-thumb-size",children:[s("Thumbnail size"),(0,o.jsx)("input",{className:"accent-primary","data-testid":"fb-thumb-size",id:"fb-thumb-size",max:240,min:80,onChange:N,step:8,type:"range",value:h})]}),e[56]=N,e[57]=s,e[58]=h,e[59]=p,e[60]=Y):Y=e[60];let ne;return e[61]!==A||e[62]!==q||e[63]!==Y||e[64]!==C?(ne=(0,o.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs","data-testid":"fb-controls",children:[C,A,q,Y]}),e[61]=A,e[62]=q,e[63]=Y,e[64]=C,e[65]=ne):ne=e[65],ne},"_t");function zt(d){return(0,o.jsx)("option",{value:d,children:d},d)}m(zt,"Et");function Dt(d){return(0,o.jsx)("option",{value:`tag:${d}`,children:d},d)}m(Dt,"$t");var Tt=/\.(?:avif|bmp|gif|ico|jpe?g|png|svg|webp)$/iu,$t=m(d=>(d.httpMetadata?.contentType??"").startsWith("image/")||Tt.test(d.key),"Rt"),Kt=m(()=>{let d=(0,M.c)(1),e;return d[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,o.jsx)("svg",{"aria-hidden":"true",className:"size-8 text-muted-foreground/60",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.4,viewBox:"0 0 24 24",children:(0,o.jsx)("path",{d:"M7 3h7l5 5v13a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Zm7 0v5h5"})}),d[0]=e):e=d[0],e},"zt"),Ft=m(d=>{let e=(0,M.c)(13),{object:t,resolveUrl:r}=d,[l,n]=(0,z.useState)(null),[c,i]=(0,z.useState)(!1),s;e[0]!==t?(s=$t(t),e[0]=t,e[1]=s):s=e[1];let u=s,h,f;e[2]!==u||e[3]!==t.key||e[4]!==r?(h=m(()=>{if(!u)return;let k={cancelled:!1};return W((async()=>{try{let N=await r(t.key);k.cancelled||n(N)}catch{k.cancelled||i(!0)}})()),()=>{k.cancelled=!0}},"h"),f=[u,t.key,r],e[2]=u,e[3]=t.key,e[4]=r,e[5]=h,e[6]=f):(h=e[5],f=e[6]),(0,z.useEffect)(h,f);let p;e[7]===Symbol.for("react.memo_cache_sentinel")?(p=m(()=>{i(!0)},"m"),e[7]=p):p=e[7];let w=p,a;return e[8]!==c||e[9]!==u||e[10]!==t.key||e[11]!==l?(a=(0,o.jsx)("div",{className:"flex aspect-square w-full items-center justify-center overflow-hidden rounded-md border border-border bg-muted/30",children:u&&l!==null&&!c?(0,o.jsx)("img",{alt:t.key,className:"size-full object-cover",loading:"lazy",onError:w,src:l}):(0,o.jsx)(Kt,{})}),e[8]=c,e[9]=u,e[10]=t.key,e[11]=l,e[12]=a):a=e[12],a},"Dt"),Ot=m(d=>{let e=(0,M.c)(42),{busy:t,copiedKey:r,handlers:l,object:n,prefix:c,references:i,resolveUrl:s,selected:u,showReferences:h,t:f}=d,p;e[0]!==l||e[1]!==n||e[2]!==c?(p=Ue(n,c,l),e[0]=l,e[1]=n,e[2]=c,e[3]=p):p=e[3];let{copy:w,download:a,name:k,remove:N,toggle:v}=p,b;e[4]!==n||e[5]!==s?(b=(0,o.jsx)(Ft,{object:n,resolveUrl:s}),e[4]=n,e[5]=s,e[6]=b):b=e[6];let y;e[7]!==n.key||e[8]!==u||e[9]!==f||e[10]!==v?(y=(0,o.jsx)("span",{className:"absolute left-1.5 top-1.5 rounded bg-background/80 p-0.5",children:(0,o.jsx)(Pe,{objectKey:n.key,onToggle:v,selected:u,t:f})}),e[7]=n.key,e[8]=u,e[9]=f,e[10]=v,e[11]=y):y=e[11];let x;e[12]!==b||e[13]!==y?(x=(0,o.jsxs)("div",{className:"relative",children:[b,y]}),e[12]=b,e[13]=y,e[14]=x):x=e[14];let j;e[15]!==k?(j=(0,o.jsx)("p",{className:"truncate font-mono text-xs",title:k,children:k}),e[15]=k,e[16]=j):j=e[16];let S;e[17]!==n.size?(S=ge(n.size),e[17]=n.size,e[18]=S):S=e[18];let C;e[19]!==S?(C=(0,o.jsx)("p",{className:"text-[11px] tabular-nums text-muted-foreground",children:S}),e[19]=S,e[20]=C):C=e[20];let T;e[21]!==n.key||e[22]!==i||e[23]!==h||e[24]!==f?(T=h&&(0,o.jsx)("div",{className:"mt-1",children:(0,o.jsx)(Ae,{objectKey:n.key,references:i,t:f})}),e[21]=n.key,e[22]=i,e[23]=h,e[24]=f,e[25]=T):T=e[25];let D;e[26]!==j||e[27]!==C||e[28]!==T?(D=(0,o.jsxs)("div",{className:"min-w-0",children:[j,C,T]}),e[26]=j,e[27]=C,e[28]=T,e[29]=D):D=e[29];let F=r===n.key,$;e[30]!==t||e[31]!==w||e[32]!==a||e[33]!==n.key||e[34]!==N||e[35]!==f||e[36]!==F?($=(0,o.jsx)("div",{className:"flex items-center gap-1",children:(0,o.jsx)(Me,{busy:t,buttonClassName:"h-7 px-2 text-xs",copied:F,objectKey:n.key,onCopy:w,onDelete:N,onDownload:a,t:f})}),e[30]=t,e[31]=w,e[32]=a,e[33]=n.key,e[34]=N,e[35]=f,e[36]=F,e[37]=$):$=e[37];let O;return e[38]!==$||e[39]!==x||e[40]!==D?(O=(0,o.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"fb-tile",children:[x,D,$]}),e[38]=$,e[39]=x,e[40]=D,e[41]=O):O=e[41],O},"jt"),Et=m(d=>{let e=(0,M.c)(9),{name:t,onEnter:r}=d,l;e[0]!==t||e[1]!==r?(l=m(()=>{r(t)},"n"),e[0]=t,e[1]=r,e[2]=l):l=e[2];let n=l,c;e[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)("span",{className:"flex aspect-square w-full items-center justify-center rounded-md border border-border bg-muted/30 transition-colors hover:bg-accent",children:(0,o.jsx)("svg",{"aria-hidden":"true",className:"size-10 text-muted-foreground",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.4,viewBox:"0 0 24 24",children:(0,o.jsx)("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Z"})})}),e[3]=c):c=e[3];let i;e[4]!==t?(i=(0,o.jsx)("span",{className:"truncate font-mono text-xs",title:t,children:t}),e[4]=t,e[5]=i):i=e[5];let s;return e[6]!==n||e[7]!==i?(s=(0,o.jsxs)("button",{className:"flex flex-col gap-1.5 text-left outline-none","data-testid":"fb-folder",onClick:n,type:"button",children:[c,i]}),e[6]=n,e[7]=i,e[8]=s):s=e[8],s},"Kt"),Lt=m(d=>{let e=(0,M.c)(34),{busy:t,copiedKey:r,files:l,folders:n,handlers:c,onEnterFolder:i,prefix:s,references:u,resolveUrl:h,selected:f,showReferences:p,size:w,t:a}=d,k;e[0]!==w?(k=w.toString(),e[0]=w,e[1]=k):k=e[1];let N=`repeat(auto-fill, minmax(${k}px, 1fr))`,v;e[2]!==N?(v={gridTemplateColumns:N},e[2]=N,e[3]=v):v=e[3];let b=v,y;if(e[4]!==n||e[5]!==i){let S;e[7]!==i?(S=m(C=>(0,o.jsx)(Et,{name:C,onEnter:i},C),"S"),e[7]=i,e[8]=S):S=e[8],y=n.map(S),e[4]=n,e[5]=i,e[6]=y}else y=e[6];let x;if(e[9]!==t||e[10]!==r||e[11]!==l||e[12]!==c||e[13]!==s||e[14]!==u||e[15]!==h||e[16]!==f||e[17]!==p||e[18]!==a){let S;e[20]!==t||e[21]!==r||e[22]!==c||e[23]!==s||e[24]!==u||e[25]!==h||e[26]!==f||e[27]!==p||e[28]!==a?(S=m(C=>(0,o.jsx)(Ot,{busy:t,copiedKey:r,handlers:c,object:C,prefix:s,references:u[C.key],resolveUrl:h,selected:f.has(C.key),showReferences:p,t:a},C.key),"S"),e[20]=t,e[21]=r,e[22]=c,e[23]=s,e[24]=u,e[25]=h,e[26]=f,e[27]=p,e[28]=a,e[29]=S):S=e[29],x=l.map(S),e[9]=t,e[10]=r,e[11]=l,e[12]=c,e[13]=s,e[14]=u,e[15]=h,e[16]=f,e[17]=p,e[18]=a,e[19]=x}else x=e[19];let j;return e[30]!==b||e[31]!==y||e[32]!==x?(j=(0,o.jsxs)("div",{className:"grid gap-4","data-testid":"fb-gallery",style:b,children:[y,x]}),e[30]=b,e[31]=y,e[32]=x,e[33]=j):j=e[33],j},"Lt"),_t=m(d=>{let e=(0,M.c)(23),{reference:t,t:r}=d,l=`fb-dangling-${t.table}-${t.id}-${t.column}`,n=`${t.table}\xB7${t.id}`,c;e[0]!==n?(c=(0,o.jsx)(ae,{variant:"secondary",children:n}),e[0]=n,e[1]=c):c=e[1];let i;e[2]!==t.column?(i=(0,o.jsx)("span",{className:"text-muted-foreground",children:t.column}),e[2]=t.column,e[3]=i):i=e[3];let s;e[4]!==r?(s=r("\u2192"),e[4]=r,e[5]=s):s=e[5];let u;e[6]!==s?(u=(0,o.jsx)("span",{className:"text-muted-foreground/60",children:s}),e[6]=s,e[7]=u):u=e[7];let h;e[8]!==t.key?(h=(0,o.jsx)("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-foreground",children:t.key}),e[8]=t.key,e[9]=h):h=e[9];let f;e[10]!==c||e[11]!==i||e[12]!==u||e[13]!==h?(f=(0,o.jsxs)("span",{className:"flex flex-wrap items-center gap-1.5",children:[c,i,u,h]}),e[10]=c,e[11]=i,e[12]=u,e[13]=h,e[14]=f):f=e[14];let p;e[15]!==r?(p=r("Missing object"),e[15]=r,e[16]=p):p=e[16];let w;e[17]!==p?(w=(0,o.jsx)(ae,{className:"border-destructive/40 text-destructive",variant:"outline",children:p}),e[17]=p,e[18]=w):w=e[18];let a;return e[19]!==l||e[20]!==w||e[21]!==f?(a=(0,o.jsxs)("li",{className:"flex flex-wrap items-center justify-between gap-2 rounded-md border border-border/60 px-3 py-2 text-xs","data-testid":l,children:[f,w]}),e[19]=l,e[20]=w,e[21]=f,e[22]=a):a=e[22],a},"Bt"),Bt=m(d=>{let e=(0,M.c)(42),{busy:t,onCheck:r,references:l,t:n,truncated:c}=d,i;e[0]!==n?(i=n("Integrity"),e[0]=n,e[1]=i):i=e[1];let s;e[2]!==i?(s=(0,o.jsx)("span",{className:"font-mono text-[11px] uppercase tracking-wide text-muted-foreground",children:i}),e[2]=i,e[3]=s):s=e[3];let u;e[4]!==n?(u=n("Orphaned objects"),e[4]=n,e[5]=u):u=e[5];let h;e[6]!==u?(h=(0,o.jsx)("span",{className:"text-sm font-medium text-foreground",children:u}),e[6]=u,e[7]=h):h=e[7];let f;e[8]!==n?(f=n("Find records whose file reference points at an object the bucket no longer has."),e[8]=n,e[9]=f):f=e[9];let p;e[10]!==f?(p=(0,o.jsx)("span",{className:"text-xs text-muted-foreground",children:f}),e[10]=f,e[11]=p):p=e[11];let w;e[12]!==s||e[13]!==h||e[14]!==p?(w=(0,o.jsxs)("div",{className:"flex flex-col gap-1",children:[s,h,p]}),e[12]=s,e[13]=h,e[14]=p,e[15]=w):w=e[15];let a;e[16]!==t||e[17]!==n?(a=n(t?"Checking\u2026":"Check for orphans"),e[16]=t,e[17]=n,e[18]=a):a=e[18];let k;e[19]!==t||e[20]!==r||e[21]!==a?(k=(0,o.jsx)(te,{"data-testid":"fb-orphans-check",disabled:t,onClick:r,size:"sm",type:"button",variant:"outline",children:a}),e[19]=t,e[20]=r,e[21]=a,e[22]=k):k=e[22];let N;e[23]!==w||e[24]!==k?(N=(0,o.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[w,k]}),e[23]=w,e[24]=k,e[25]=N):N=e[25];let v;e[26]!==l||e[27]!==n||e[28]!==c?(v=c&&(0,o.jsx)("p",{className:"text-xs text-warning","data-testid":"fb-orphans-truncated",children:l===void 0||l.length===0?n("The bucket is larger than the scan's key limit, so dangling references could not be checked."):n("Showing the first {count} dangling references \u2014 the scan was truncated.",{count:l.length})}),e[26]=l,e[27]=n,e[28]=c,e[29]=v):v=e[29];let b;e[30]!==l?.length||e[31]!==n||e[32]!==c?(b=l?.length===0&&!c&&(0,o.jsx)(he,{description:n("Every record's file reference points at an object that exists in the bucket."),testId:"fb-orphans-empty",title:n("No dangling references.")}),e[30]=l?.length,e[31]=n,e[32]=c,e[33]=b):b=e[33];let y;e[34]!==l||e[35]!==n?(y=l!==void 0&&l.length>0&&(0,o.jsx)("ul",{className:"flex flex-col gap-1.5","data-testid":"fb-orphans-list",children:l.map(j=>(0,o.jsx)(_t,{reference:j,t:n},`${j.table}\xB7${j.id}\xB7${j.column}`))}),e[34]=l,e[35]=n,e[36]=y):y=e[36];let x;return e[37]!==N||e[38]!==v||e[39]!==b||e[40]!==y?(x=(0,o.jsxs)("section",{className:"flex flex-col gap-2 rounded-lg border border-border/60 p-3","data-testid":"fb-orphans",children:[N,v,b,y]}),e[37]=N,e[38]=v,e[39]=b,e[40]=y,e[41]=x):x=e[41],x},"It"),It=m(function(d,e){let t=(0,M.c)(18),r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r=new Set,t[0]=r):r=t[0];let[l,n]=(0,z.useState)(r),c;t[1]===Symbol.for("react.memo_cache_sentinel")?(c=m(v=>{n(b=>{let y=new Set(b);return y.has(v)?y.delete(v):y.add(v),y})},"a"),t[1]=c):c=t[1];let i=c,s;t[2]===Symbol.for("react.memo_cache_sentinel")?(s=m(()=>{n(new Set)},"o"),t[2]=s):s=t[2];let u=s,h,f,p;if(t[3]!==d||t[4]!==e||t[5]!==l){let v;t[9]!==e?(v=m(b=>e(b),"x"),t[9]=e,t[10]=v):v=t[10],f=d.map(v),h=f.length>0&&f.every(b=>l.has(b)),p=!h&&f.some(b=>l.has(b)),t[3]=d,t[4]=e,t[5]=l,t[6]=h,t[7]=f,t[8]=p}else h=t[6],f=t[7],p=t[8];let w=p,a;t[11]!==f?(a=m(()=>{n(v=>f.every(b=>v.has(b))?new Set:new Set(f))},"i"),t[11]=f,t[12]=a):a=t[12];let k=a,N;return t[13]!==h||t[14]!==l||t[15]!==w||t[16]!==k?(N={allSelected:h,clear:u,selected:l,someSelected:w,toggle:i,toggleAll:k},t[13]=h,t[14]=l,t[15]=w,t[16]=k,t[17]=N):N=t[17],N},"Ot"),Rt=me(be.storageReferences),Ut=me(be.storageOrphans),Ie=1e4,Mt=1e3,At=m(async d=>{let e=[],t,r=!0,l=!1;for(;r&&e.length<Ie;){let n=await d.list({cursor:t,limit:Mt}),c=Ie-e.length;for(let i of n.objects.slice(0,c))e.push(i.key);l||=n.objects.length>c,t=n.cursor,r=t!==void 0}return{liveKeys:e,truncated:l||r}},"Gt"),Pt=3600,Wt=m((d,e)=>{if(!("document"in globalThis))return;let t=globalThis.document.createElement("a");t.href=d,t.download=e,t.rel="noopener",globalThis.document.body.append(t),t.click(),t.remove()},"Pt"),Ht=m(d=>d.key,"qt"),qt=m(({initialPrefix:d,pageSize:e})=>{let t=Se(),[r,l]=(0,z.useState)(d??""),[n,c]=(0,z.useState)(d??""),[i,s]=(0,z.useState)(wt),[u,h]=(0,z.useState)("list"),[f,p]=(0,z.useState)(128),[w,a]=(0,z.useState)("name"),[k,N]=(0,z.useState)("asc"),[v,b]=(0,z.useState)(void 0),[y,x]=(0,z.useState)(void 0),[j,S]=(0,z.useState)(!1),[C,T]=(0,z.useState)(void 0),[D,F]=(0,z.useState)(void 0),[$,O]=(0,z.useState)(""),[B,L]=(0,z.useState)({}),[I,E]=(0,z.useState)(!1),[_,U]=(0,z.useState)(void 0),[A,H]=(0,z.useState)(!1),[P,q]=(0,z.useState)(!1),[Y,ne]=(0,z.useState)([]),[G,xe]=(0,z.useState)(""),oe=(0,z.useRef)(0),J=(0,z.useRef)(0);(0,z.useEffect)(()=>{let g={cancelled:!1};return W((async()=>{try{let K=await t.listStorageBuckets();if(!g.cancelled){ne(K);let[R]=K;R!==void 0&&xe(X=>X===""?R:X)}}catch{}})()),()=>{g.cancelled=!0}},[t]);let V=(0,z.useMemo)(()=>({list:m(g=>t.listStorageObjects({...g,bucket:G}),"list"),remove:m(g=>t.deleteStorageObject(g,{bucket:G}),"remove"),signedUrl:m((g,K)=>t.signedStorageUrl(g,{...K,bucket:G}),"signedUrl"),upload:m(g=>t.uploadStorageObject({...g,bucket:G}),"upload")}),[G,t]),Z=(0,z.useCallback)(async(g,K,R)=>{oe.current+=1;let X=oe.current;x(void 0),S(!0);try{let se=await V.list({cursor:K,limit:e,prefix:g});if(X!==oe.current)return;b(we=>R&&we!==void 0?[...we,...se.objects]:se.objects),F(se.cursor)}catch(se){if(X!==oe.current)return;R||b(void 0),x(Q(se))}finally{X===oe.current&&S(!1)}},[e,V]);(0,z.useEffect)(()=>{W(Z(d??"",void 0,!1))},[Z,d]);let We=(v?.length??0)<=e;Ee(()=>{W(Z(r,void 0,!1))},We);let{files:de,folders:He}=Nt(v??[],r),qe=(0,z.useMemo)(()=>{let g=new Set;for(let K of de)for(let R of Object.keys(K.customMetadata??{}))g.add(R);return[...g].toSorted((K,R)=>K.localeCompare(R))},[de]),ce=St(de,w,k),ue=(0,z.useMemo)(()=>[...new Set(ce.map(g=>g.key))].toSorted((g,K)=>g.localeCompare(K)).join(`
3
+ `),[ce]);(0,z.useEffect)(()=>{let g=ue===""?[]:ue.split(`
4
+ `);if(g.length===0){L({});return}let K={current:!0};return W((async()=>{try{let R=await t.query(Rt,{keys:g},pe($));K.current&&(L(R.references??{}),E(Object.keys(R.storageColumns??{}).length>0))}catch{K.current&&(L({}),E(!1))}})()),()=>{K.current=!1}},[t,ue,$]);let{allSelected:Ge,clear:le,selected:ve,someSelected:Ve,toggle:Ze,toggleAll:Xe}=It(ce,Ht),Ye=m(()=>{l(n),le(),W(Z(n,void 0,!1))},"Oe"),Je=m(()=>{W(Z(r,D,!0))},"Ae"),ke=m(g=>{l(g),c(g),le(),W(Z(g,void 0,!1))},"be"),Qe=m(g=>{ke(`${r}${g}`)},"Ue"),et=m(g=>V.signedUrl(g,{expiresInSeconds:Pt}),"Me"),tt=m(()=>{h("list")},"Ge"),rt=m(()=>{h("grid")},"He"),nt=m(g=>{a(g)},"Pe"),ot=m(()=>{N(g=>g==="asc"?"desc":"asc")},"qe"),lt=m(g=>{p(g)},"Ve"),st=m(g=>{s(g)},"We"),at=m(()=>{x(void 0),S(!0),W((async()=>{try{for(let g of ve)await V.remove(g);await Z(r,void 0,!1),le()}catch(g){x(Q(g))}S(!1)})())},"Ze"),ct=m(g=>{x(void 0),W((async()=>{try{let K=await V.signedUrl(g,{expiresInSeconds:i});De(K)&&T(g)}catch(K){x(Q(K))}})())},"Xe"),it=m(g=>{x(void 0),W((async()=>{try{let K=await V.signedUrl(g,{expiresInSeconds:i}),R=g.slice(g.lastIndexOf("/")+1)||g;Wt(K,R)}catch(K){x(Q(K))}})())},"Ye");(0,z.useEffect)(()=>{if(C===void 0)return;let g=globalThis.setTimeout(()=>{T(void 0)},2e3);return()=>{globalThis.clearTimeout(g)}},[C]);let dt=m(g=>{x(void 0),S(!0),W((async()=>{try{await V.remove(g),await Z(r,void 0,!1)}catch(K){x(Q(K))}S(!1)})())},"Je"),ut=m(g=>{let K=`${r}${g.name}`;x(void 0),S(!0),W((async()=>{try{let R=await g.arrayBuffer();await V.upload({body:R,contentType:g.type===""?void 0:g.type,key:K}),await Z(r,void 0,!1)}catch(R){x(Q(R))}S(!1)})())},"Qe");(0,z.useEffect)(()=>{J.current+=1,U(void 0),q(!1)},[$]);let ft=m(()=>{J.current+=1;let g=J.current;x(void 0),H(!0),W((async()=>{try{let{liveKeys:K,truncated:R}=await At(V);if(R)g===J.current&&(U(void 0),q(!0));else{let X=await t.query(Ut,{liveKeys:K},pe($));g===J.current&&(U(X.references??[]),q(X.truncated===!0))}}catch(K){g===J.current&&(U(void 0),q(!1),x(Q(K)))}g===J.current&&H(!1)})())},"et"),ht=m(g=>{oe.current+=1,J.current+=1,xe(g),l(d??""),c(d??""),b(void 0),U(void 0),q(!1),le()},"tt");return{allSelected:Ge,bucket:G,buckets:Y,bulkDelete:at,busy:j,checkOrphans:ft,clearSelection:le,copiedKey:C,danglingBusy:A,danglingReferences:_,danglingTruncated:P,draftPrefix:n,enterFolder:Qe,error:y,expiry:i,files:ce,folders:He,hasObjects:v!==void 0&&v.length>0,hasStorageColumns:I,listFirst:Ye,loaded:v!==void 0,loadMore:Je,navigate:ke,nextCursor:D,onCopy:ct,onDelete:dt,onDownload:it,onExpiryChange:st,onFile:ut,onSortKeyChange:nt,onThumbSizeChange:lt,prefix:r,referenceShard:$,references:B,resolveUrl:et,selectBucket:ht,selected:ve,setDraftPrefix:c,setReferenceShard:O,showGrid:rt,showList:tt,someSelected:Ve,sortDirection:k,sortKey:w,tagKeys:qe,thumbSize:f,toggleSelect:Ze,toggleSelectAll:Xe,toggleSortDirection:ot,view:u}},"Vt"),Gt=100,Re=m(d=>{let e=(0,M.c)(6),{label:t,onNavigate:r,target:l}=d,n;e[0]!==r||e[1]!==l?(n=m(()=>{r(l)},"l"),e[0]=r,e[1]=l,e[2]=n):n=e[2];let c=n,i;return e[3]!==c||e[4]!==t?(i=(0,o.jsx)("button",{className:"rounded px-1 text-muted-foreground outline-none hover:text-foreground focus-visible:text-foreground",onClick:c,type:"button",children:t}),e[3]=c,e[4]=t,e[5]=i):i=e[5],i},"Se"),Vt=m(d=>{let e=(0,M.c)(11),{onNavigate:t,prefix:r,t:l}=d,n;if(e[0]!==t||e[1]!==r||e[2]!==l){let c=r.split("/").filter(Zt),i;e[4]!==l?(i=l("Folder path"),e[4]=l,e[5]=i):i=e[5];let s;e[6]!==l?(s=l("root"),e[6]=l,e[7]=s):s=e[7];let u;e[8]!==t||e[9]!==s?(u=(0,o.jsx)(Re,{label:s,onNavigate:t,target:""}),e[8]=t,e[9]=s,e[10]=u):u=e[10],n=(0,o.jsxs)("nav",{"aria-label":i,className:"flex flex-wrap items-center gap-0.5 text-xs","data-testid":"fb-breadcrumbs",children:[u,c.map((h,f)=>(0,o.jsxs)("span",{className:"flex items-center gap-0.5",children:[(0,o.jsx)("span",{className:"text-muted-foreground/50",children:"/"}),(0,o.jsx)(Re,{label:h,onNavigate:t,target:`${c.slice(0,f+1).join("/")}/`})]},`${h}-${f.toString()}`))]}),e[0]=t,e[1]=r,e[2]=l,e[3]=n}else n=e[3];return n},"Zt"),fr=m(({initialPrefix:d,pageSize:e=Gt})=>{let t=Ne(),r=qt({initialPrefix:d,pageSize:e}),l=(0,z.useRef)(null),{onCopy:n,onDelete:c,onDownload:i,onFile:s,toggleSelect:u}=r,h={onCopy:n,onDelete:c,onDownload:i,onToggleSelect:u},f=m(()=>{l.current?.click()},"u"),p=m(a=>{let k=a.target,N=k.files?.[0];k.value="",N&&s(N)},"m"),w=r.loaded&&!r.hasObjects;return(0,o.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"lunora-file-browser",children:[(0,o.jsx)(Ct,{bucket:r.bucket,buckets:r.buckets,busy:r.busy,draftPrefix:r.draftPrefix,expiry:r.expiry,fileInputRef:l,onBucketChange:r.selectBucket,onExpiryChange:r.onExpiryChange,onFileChange:p,onList:r.listFirst,onPrefixChange:r.setDraftPrefix,onUploadClick:f,t}),r.loaded&&(0,o.jsx)(Vt,{onNavigate:r.navigate,prefix:r.prefix,t}),r.hasObjects&&(0,o.jsx)(jt,{onSortKeyChange:r.onSortKeyChange,onThumbSizeChange:r.onThumbSizeChange,showGrid:r.showGrid,showList:r.showList,sortDirection:r.sortDirection,sortKey:r.sortKey,t,tagKeys:r.tagKeys,thumbSize:r.thumbSize,toggleSortDirection:r.toggleSortDirection,view:r.view}),r.hasStorageColumns&&(0,o.jsxs)("div",{className:"flex flex-wrap items-center gap-2","data-testid":"fb-references-shard",children:[(0,o.jsx)("label",{className:"text-xs text-muted-foreground",htmlFor:"fb-reference-shard-input",children:t("References shard")}),(0,o.jsx)(Te,{id:"fb-reference-shard-input",onChange:r.setReferenceShard,testId:"fb-reference-shard-input",value:r.referenceShard}),(0,o.jsx)("span",{className:"text-xs text-muted-foreground",children:t("Which shard's records are checked for references to these files. Empty = root shard.")})]}),r.hasStorageColumns&&(0,o.jsx)(Bt,{busy:r.danglingBusy,onCheck:r.checkOrphans,references:r.danglingReferences,t,truncated:r.danglingTruncated}),r.selected.size>0&&(0,o.jsx)(Le,{count:r.selected.size,editable:!0,onClear:r.clearSelection,onDelete:r.bulkDelete}),r.error!==void 0&&(0,o.jsx)("p",{className:"text-sm text-destructive","data-testid":"storage-error",role:"alert",children:r.error}),w&&(0,o.jsx)(he,{description:t("Objects you upload to your R2 buckets will appear here."),icon:(0,o.jsxs)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,o.jsx)("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Z"}),(0,o.jsx)("path",{d:"M12 11v5m-2.5-2.5h5"})]}),testId:"fb-empty",title:t("No objects.")}),r.hasObjects&&r.view==="list"&&(0,o.jsx)(vt,{allSelected:r.allSelected,busy:r.busy,copiedKey:r.copiedKey,files:r.files,folders:r.folders,handlers:h,onEnterFolder:r.enterFolder,prefix:r.prefix,references:r.references,selected:r.selected,showReferences:r.hasStorageColumns,someSelected:r.someSelected,t,toggleSelectAll:r.toggleSelectAll}),r.hasObjects&&r.view==="grid"&&(0,o.jsx)(Lt,{busy:r.busy,copiedKey:r.copiedKey,files:r.files,folders:r.folders,handlers:h,onEnterFolder:r.enterFolder,prefix:r.prefix,references:r.references,resolveUrl:r.resolveUrl,selected:r.selected,showReferences:r.hasStorageColumns,size:r.thumbSize,t}),r.nextCursor!==void 0&&(0,o.jsx)("div",{children:(0,o.jsx)(te,{"data-testid":"fb-next",disabled:r.busy,onClick:r.loadMore,size:"sm",type:"button",variant:"outline",children:t("Load more")})})]})},"ps");function Zt(d){return d!==""}m(Zt,"Xt");export{fr as FileBrowser};
@@ -0,0 +1,3 @@
1
+ import{b as Se,c as Ie}from"./chunk-YOB2X3FZ.js";import{a as we}from"./chunk-EA2JKR5D.js";import{a as ye}from"./chunk-PD6WIDY6.js";import{a as Ne}from"./chunk-2DX5MROH.js";import{b as pe}from"./chunk-OGUKYRFM.js";import"./chunk-OKG3HWSJ.js";import"./chunk-PLHA3OWK.js";import"./chunk-4L4WTGN5.js";import{a as he}from"./chunk-55754F6H.js";import"./chunk-IS6LVJ6L.js";import"./chunk-AAVLPU5Q.js";import"./chunk-225VJ77I.js";import{a as H}from"./chunk-4ZEL6BYL.js";import{d as ge}from"./chunk-SDHFSBNM.js";import{f as xe}from"./chunk-B6RRRJP5.js";import"./chunk-FSRSK4LY.js";import{d as se}from"./chunk-2Y6PXGIS.js";import{a as ne,e as ie}from"./chunk-WUWBZPUK.js";import{d as be,f as ce,g as de,h as ee,o as me}from"./chunk-FODLDLE2.js";import{a as s,d as le,e as Ce,f as Te,g as Ee}from"./chunk-YKXDMIHQ.js";var ve=le(Te(),1);var g=le(Ce(),1);var r=le(Ee(),1);var Ae=ce(H.exportShard),Oe=ce(H.importShard),Le=s(x=>x.map(e=>JSON.stringify(Se(e))).join(`
2
+ `),"Ce"),Je=s(x=>{let e=[],te=x.split(`
3
+ `);for(let[n,N]of te.entries()){let t=N.trim();if(t==="")continue;let o=Ie(JSON.parse(t));if(typeof o!="object"||o===null)throw new se("INTERNAL",`line ${(n+1).toString()}: expected a { table, doc } object`);let b=o;if(typeof b.table!="string"||typeof b.doc!="object"||b.doc===null||Array.isArray(b.doc))throw new se("INTERNAL",`line ${(n+1).toString()}: expected a { table, doc } object`);e.push(b)}return e},"Te"),He=s(x=>{let e=(0,ve.c)(94),{initialShardKey:te}=x,n=xe(),N=ge(),t=be(),[o,b]=(0,g.useState)(te??""),[a,fe]=(0,g.useState)(""),[d,K]=(0,g.useState)(!1),[Q,M]=(0,g.useState)(null),[i,re]=(0,g.useState)(null),[y,ue]=(0,g.useState)(null),V;e[0]!==n||e[1]!==o?(V=s(async()=>{K(!0),M(null),re(null);try{let c=await n.query(Ae,{},de(o));pe(o),fe(Le(c.rows)),ue(c.rows.length)}catch(c){M(ee(c))}K(!1)},"G"),e[0]=n,e[1]=o,e[2]=V):V=e[2];let z=V,W;e[3]!==n||e[4]!==N||e[5]!==a||e[6]!==o||e[7]!==t?(W=s(async()=>{K(!0),M(null),re(null),ue(null);let c;try{c=Je(a)}catch(l){M(t("Invalid NDJSON: {message}",{message:ee(l)})),K(!1);return}try{let l=await n.query(Oe,{rows:c},de(o));pe(o),re(l),N(H.readTablePage),N(H.listTables)}catch(l){M(ee(l))}K(!1)},"Q"),e[3]=n,e[4]=N,e[5]=a,e[6]=o,e[7]=t,e[8]=W):W=e[8];let G=W,w,S,I,m,v,p,f,j,C,u,T;if(e[9]!==d||e[10]!==y||e[11]!==z||e[12]!==i||e[13]!==G||e[14]!==a||e[15]!==o||e[16]!==t){let c=i===null?0:Object.values(i.inserted).reduce(_e,0),l;e[28]!==z?(l=s(()=>{me(z())},"o"),e[28]=z,e[29]=l):l=e[29];let oe=l,Y;e[30]!==G?(Y=s(()=>{me(G())},"Y"),e[30]=G,e[31]=Y):Y=e[31];let ae=Y,Z;e[32]===Symbol.for("react.memo_cache_sentinel")?(Z=s(h=>{fe(h.target.value)},"Z"),e[32]=Z):Z=e[32];let je=Z;T="flex flex-col gap-4",I="lunora-export-import";let L;e[33]!==t?(L=t("Export"),e[33]=t,e[34]=L):L=e[34];let J;e[35]!==L?(J=(0,r.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,r.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:L})}),e[35]=L,e[36]=J):J=e[36];let _;e[37]!==o?(_=(0,r.jsx)(Ne,{onChange:b,testId:"ei-shard-input",value:o}),e[37]=o,e[38]=_):_=e[38];let $;e[39]!==t?($=t("Export"),e[39]=t,e[40]=$):$=e[40];let k;e[41]!==d||e[42]!==oe||e[43]!==$?(k=(0,r.jsx)(he,{"data-testid":"ei-export",disabled:d,onClick:oe,type:"button",children:$}),e[41]=d,e[42]=oe,e[43]=$,e[44]=k):k=e[44];let D;e[45]!==_||e[46]!==k?(D=(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[_,k]}),e[45]=_,e[46]=k,e[47]=D):D=e[47];let q;e[48]!==y||e[49]!==t?(q=y!==null&&(0,r.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"ei-export-result",children:t("Exported {count} rows.",{count:y})}),e[48]=y,e[49]=t,e[50]=q):q=e[50];let B;e[51]!==D||e[52]!==q?(B=(0,r.jsxs)(ie,{className:"flex flex-col gap-3 p-4",children:[D,q]}),e[51]=D,e[52]=q,e[53]=B):B=e[53],e[54]!==J||e[55]!==B?(m=(0,r.jsxs)(ne,{className:"gap-0 py-0 rounded-xl border border-border bg-card shadow-xs",children:[J,B]}),e[54]=J,e[55]=B,e[56]=m):m=e[56],S=ne,C="gap-0 py-0 rounded-xl border border-border bg-card shadow-xs";let P;e[57]!==t?(P=t("Import"),e[57]=t,e[58]=P):P=e[58],e[59]!==P?(u=(0,r.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,r.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:P})}),e[59]=P,e[60]=u):u=e[60],w=ie,v="flex flex-col gap-3 p-4",e[61]!==a?(p=(0,r.jsx)(we,{"aria-label":"NDJSON",className:"font-mono text-xs min-h-40 rounded-md","data-testid":"ei-ndjson",onChange:je,placeholder:'{"table":"messages","doc":{\u2026}}',value:a}),e[61]=a,e[62]=p):p=e[62];let R;e[63]!==t?(R=t("Import (writes rows)?"),e[63]=t,e[64]=R):R=e[64];let U;e[65]!==d||e[66]!==a?(U=d||a.trim()==="",e[65]=d,e[66]=a,e[67]=U):U=e[67];let F;e[68]!==t?(F=t("Import"),e[68]=t,e[69]=F):F=e[69],e[70]!==ae||e[71]!==R||e[72]!==U||e[73]!==F?(f=(0,r.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:(0,r.jsx)(ye,{confirmLabel:R,disabled:U,onConfirm:ae,testId:"ei-import",children:F})}),e[70]=ae,e[71]=R,e[72]=U,e[73]=F,e[74]=f):f=e[74],j=i!==null&&(0,r.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"ei-import-result",children:[(0,r.jsx)("p",{className:"text-sm text-muted-foreground",children:t("Inserted {inserted}, {conflicts} conflicts, {errors} errors.",{conflicts:i.conflicts,errors:i.errors.length,inserted:c})}),i.errors.length>0&&(0,r.jsx)("ul",{className:"flex flex-col gap-1","data-testid":"ei-import-errors",children:i.errors.map(h=>(0,r.jsx)("li",{className:"text-xs text-destructive",children:t("line {line} ({table}): {message}",{line:h.line,message:h.message,table:h.table})},`${h.table}-${h.line.toString()}`))})]}),e[9]=d,e[10]=y,e[11]=z,e[12]=i,e[13]=G,e[14]=a,e[15]=o,e[16]=t,e[17]=w,e[18]=S,e[19]=I,e[20]=m,e[21]=v,e[22]=p,e[23]=f,e[24]=j,e[25]=C,e[26]=u,e[27]=T}else w=e[17],S=e[18],I=e[19],m=e[20],v=e[21],p=e[22],f=e[23],j=e[24],C=e[25],u=e[26],T=e[27];let E;e[75]!==w||e[76]!==v||e[77]!==p||e[78]!==f||e[79]!==j?(E=(0,r.jsxs)(w,{className:v,children:[p,f,j]}),e[75]=w,e[76]=v,e[77]=p,e[78]=f,e[79]=j,e[80]=E):E=e[80];let A;e[81]!==S||e[82]!==E||e[83]!==C||e[84]!==u?(A=(0,r.jsxs)(S,{className:C,children:[u,E]}),e[81]=S,e[82]=E,e[83]=C,e[84]=u,e[85]=A):A=e[85];let O;e[86]!==Q?(O=Q!==null&&(0,r.jsx)("p",{className:"text-sm text-destructive","data-testid":"ei-error",role:"alert",children:Q}),e[86]=Q,e[87]=O):O=e[87];let X;return e[88]!==I||e[89]!==m||e[90]!==A||e[91]!==O||e[92]!==T?(X=(0,r.jsxs)("div",{className:T,"data-testid":I,children:[m,A,O]}),e[88]=I,e[89]=m,e[90]=A,e[91]=O,e[92]=T,e[93]=X):X=e[93],X},"Ue");function _e(x,e){return x+e}s(_e,"Ae");export{He as ExportImportPanel};
@@ -0,0 +1,3 @@
1
+ import{a as tt}from"./chunk-K7AJEMKE.js";import{e as Be}from"./chunk-6D6Z2KXU.js";import{a as We}from"./chunk-55754F6H.js";import{b as Ve}from"./chunk-FEWMAPNI.js";import{a as z}from"./chunk-4ZEL6BYL.js";import{c as _e}from"./chunk-SDHFSBNM.js";import{f as Pe}from"./chunk-B6RRRJP5.js";import{a as Ye}from"./chunk-FKVZRPV5.js";import{a as T,e as Fe}from"./chunk-WUWBZPUK.js";import{d as $,f as Ge,g as Ze,l as Qe,o as Ne,p as Xe,q as et}from"./chunk-FODLDLE2.js";import{a as m,d as De,e as lt,f as it,g as ct,i as Ee}from"./chunk-YKXDMIHQ.js";var _=De(it(),1);var I=De(lt(),1);var n=De(ct(),1);var dt=Ge(z.studioFeatures),ot={analytics:!0,auth:!0,containers:!0,flags:!0,kv:!0,mail:!0,notifications:!0,payments:!0,queues:!0,scheduler:!0,storage:!0,vectors:!0,workflows:!0},mt=m(t=>{if(t===null||typeof t!="object")return ot;let e=t,s=m(a=>typeof e[a]=="boolean"?e[a]:!0,"n");return{analytics:s("analytics"),auth:s("auth"),containers:s("containers"),flags:s("flags"),kv:s("kv"),mail:s("mail"),notifications:s("notifications"),payments:s("payments"),queues:s("queues"),scheduler:s("scheduler"),storage:s("storage"),vectors:s("vectors"),workflows:s("workflows")}},"dt"),ut=m(()=>{let t=(0,_.c)(3),e=Pe(),[s,a]=(0,I.useState)(ot),r,o;return t[0]!==e?(r=m(()=>{Ne((async()=>{try{a(mt(await e.query(dt,{},Ze(""))))}catch{}})())},"a"),o=[e],t[0]=e,t[1]=r,t[2]=o):(r=t[1],o=t[2]),(0,I.useEffect)(r,o),s},"ut"),pt=m(()=>{let t=(0,_.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,n.jsx)("svg",{"aria-hidden":"true",className:"size-4 text-muted-foreground",fill:"none",stroke:"currentColor",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,n.jsx)("path",{d:"m9 6 6 6-6 6",strokeLinecap:"round",strokeLinejoin:"round"})}),t[0]=e):e=t[0],e},"mt"),ft=m(t=>{let e=(0,_.c)(24),{group:s}=t,a=$(),r=Be(),o;e[0]!==s.tab||e[1]!==r?(o=m(()=>{Ne(r({to:`/${s.tab}`}))},"o"),e[0]=s.tab,e[1]=r,e[2]=o):o=e[2];let l=o,i=s.bindings.length,c;e[3]!==s.label?(c=(0,n.jsx)("span",{className:"text-sm font-medium text-foreground",children:s.label}),e[3]=s.label,e[4]=c):c=e[4];let p;e[5]===Symbol.for("react.memo_cache_sentinel")?(p=(0,n.jsx)(pt,{}),e[5]=p):p=e[5];let d;e[6]!==c?(d=(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[c,p]}),e[6]=c,e[7]=d):d=e[7];let f;e[8]!==i||e[9]!==a?(f=i===1?a("1 binding"):a("{count} bindings",{count:i}),e[8]=i,e[9]=a,e[10]=f):f=e[10];let u;e[11]!==f?(u=(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:f}),e[11]=f,e[12]=u):u=e[12];let h;e[13]!==i||e[14]!==s.bindings?(h=i>0&&(0,n.jsx)("div",{className:"flex flex-wrap gap-1.5",children:s.bindings.map(xt)}),e[13]=i,e[14]=s.bindings,e[15]=h):h=e[15];let g;e[16]!==d||e[17]!==u||e[18]!==h?(g=(0,n.jsxs)(Fe,{className:"flex flex-col gap-2 py-4",children:[d,u,h]}),e[16]=d,e[17]=u,e[18]=h,e[19]=g):g=e[19];let x;return e[20]!==s.testId||e[21]!==l||e[22]!==g?(x=(0,n.jsx)(T,{className:"cursor-pointer gap-0 py-0 transition-colors hover:bg-muted/40","data-testid":s.testId,onClick:l,children:g}),e[20]=s.testId,e[21]=l,e[22]=g,e[23]=x):x=e[23],x},"ft"),at=["kv","files","vectors"],ht=m((t,e)=>[...t.filter(s=>s.tab!==e.tab),e].toSorted((s,a)=>at.indexOf(s.tab)-at.indexOf(a.tab)),"pt"),gt=m(()=>{let t=(0,_.c)(19),e=Pe(),s=ut(),a=$(),r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r=[],t[0]=r):r=t[0];let[o,l]=(0,I.useState)(r),i,c;if(t[1]!==e||t[2]!==s.kv||t[3]!==s.storage||t[4]!==s.vectors||t[5]!==a?(i=m(()=>{let g={cancelled:!1},x=[{enabled:s.kv,label:a("KV Namespaces"),load:m(async()=>(await e.listKvNamespaces()).map(bt),"load"),tab:"kv",testId:"home-binding-kv"},{enabled:s.storage,label:a("R2 Buckets"),load:m(()=>e.listStorageBuckets(),"load"),tab:"files",testId:"home-binding-r2"},{enabled:s.vectors,label:a("Vectorize Indexes"),load:m(async()=>(await e.listVectorIndexes()).map(yt),"load"),tab:"vectors",testId:"home-binding-vectors"}];for(let b of x)b.enabled&&Ne((async()=>{try{let v=await b.load();if(!g.cancelled){let S={bindings:v,label:b.label,tab:b.tab,testId:b.testId};l(M=>ht(M,S))}}catch{}})());return()=>{g.cancelled=!0}},"i"),c=[e,s.kv,s.storage,s.vectors,a],t[1]=e,t[2]=s.kv,t[3]=s.storage,t[4]=s.vectors,t[5]=a,t[6]=i,t[7]=c):(i=t[6],c=t[7]),(0,I.useEffect)(i,c),o.length===0)return null;let p;t[8]!==a?(p=a("Bindings"),t[8]=a,t[9]=p):p=t[9];let d;t[10]!==p?(d=(0,n.jsx)("h2",{className:"text-sm font-semibold tracking-tight text-foreground",children:p}),t[10]=p,t[11]=d):d=t[11];let f;t[12]!==o?(f=o.map(vt),t[12]=o,t[13]=f):f=t[13];let u;t[14]!==f?(u=(0,n.jsx)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:f}),t[14]=f,t[15]=u):u=t[15];let h;return t[16]!==d||t[17]!==u?(h=(0,n.jsxs)("section",{className:"flex flex-col gap-3","data-testid":"home-bindings",children:[d,u]}),t[16]=d,t[17]=u,t[18]=h):h=t[18],h},"ht");function xt(t){return(0,n.jsx)(Ve,{variant:"secondary",children:t},t)}m(xt,"gt");function bt(t){return t.binding}m(bt,"xt");function yt(t){return t.name}m(yt,"bt");function vt(t){return(0,n.jsx)(ft,{group:t},t.tab)}m(vt,"yt");var Nt=[{name:"lunora_list_functions",summary:"list every query, mutation, and action with its path"},{name:"lunora_list_tables",summary:"list the schema's tables"},{name:"lunora_get_function_schema",summary:"read a function's argument JSON Schema before calling it"},{name:"lunora_run_query",summary:"run a read-only query"},{name:"lunora_run_mutation",summary:"run a mutation \u2014 writes; only when LUNORA_MCP_ALLOW_WRITES is set"},{name:"lunora_run_action",summary:"run an action \u2014 writes/effects; only when LUNORA_MCP_ALLOW_WRITES is set"}],_t=m(t=>JSON.stringify({mcpServers:{lunora:{args:["-y","@lunora/mcp"],command:"npx",env:{LUNORA_ADMIN_TOKEN:"<your-admin-token>",LUNORA_URL:t}}}},null,2),"Nt"),St=m(t=>{let e=Nt.map(s=>`- ${s.name} \u2014 ${s.summary}`).join(`
2
+ `);return[`You have a Lunora MCP server connected to the deployment at ${t}.`,"It exposes this backend's functions and schema so you can inspect and operate it:",e,"",`Start by calling lunora_list_functions and lunora_list_tables to learn what exists, then lunora_get_function_schema before any run call. The full HTTP API is also documented at ${t}/_lunora/admin/openapi (that endpoint needs the same admin token the MCP server is configured with).`].join(`
3
+ `)},"_t"),kt=1500,wt=m(()=>{let t=(0,_.c)(35),e=$(),s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s=Xe(),t[0]=s):s=t[0];let a=s,[r,o]=(0,I.useState)(null),l,i;t[1]!==r?(l=m(()=>{if(r===null)return;let A=globalThis.setTimeout(()=>{o(null)},kt);return()=>{globalThis.clearTimeout(A)}},"r"),i=[r],t[1]=r,t[2]=l,t[3]=i):(l=t[2],i=t[3]),(0,I.useEffect)(l,i);let c;t[4]===Symbol.for("react.memo_cache_sentinel")?(c=m((A,j)=>{et(j)&&o(A)},"c"),t[4]=c):c=t[4];let p=c,d;t[5]===Symbol.for("react.memo_cache_sentinel")?(d=m(()=>{p("config",_t(a))},"d"),t[5]=d):d=t[5];let f=d,u;t[6]===Symbol.for("react.memo_cache_sentinel")?(u=m(()=>{p("prompt",St(a))},"u"),t[6]=u):u=t[6];let h=u,g;t[7]!==e?(g=e("Connect an AI agent"),t[7]=e,t[8]=g):g=t[8];let x;t[9]!==g?(x=(0,n.jsx)("span",{className:"text-sm font-medium text-foreground",children:g}),t[9]=g,t[10]=x):x=t[10];let b;t[11]!==e?(b=e("Drive this deployment from an AI agent over the Model Context Protocol \u2014 it can list functions and tables, read schemas, and run read-only queries. Writes stay off unless you opt in."),t[11]=e,t[12]=b):b=t[12];let v;t[13]!==b?(v=(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:b}),t[13]=b,t[14]=v):v=t[14];let S;t[15]!==x||t[16]!==v?(S=(0,n.jsxs)("div",{className:"flex flex-col gap-1.5 p-4",children:[x,v]}),t[15]=x,t[16]=v,t[17]=S):S=t[17];let M;t[18]===Symbol.for("react.memo_cache_sentinel")?(M=(0,n.jsx)("code",{className:"font-mono text-xs text-muted-foreground","data-testid":"home-connect-agent-command",children:"npx -y @lunora/mcp"}),t[18]=M):M=t[18];let k;t[19]!==r||t[20]!==e?(k=e(r==="config"?"Copied":"Copy MCP config"),t[19]=r,t[20]=e,t[21]=k):k=t[21];let y;t[22]!==k?(y=(0,n.jsx)(We,{"data-testid":"home-connect-agent-copy-config",onClick:f,size:"xs",variant:"outline",children:k}),t[22]=k,t[23]=y):y=t[23];let w;t[24]!==r||t[25]!==e?(w=e(r==="prompt"?"Copied":"Copy agent prompt"),t[24]=r,t[25]=e,t[26]=w):w=t[26];let L;t[27]!==w?(L=(0,n.jsx)(We,{"data-testid":"home-connect-agent-copy-prompt",onClick:h,size:"xs",variant:"outline",children:w}),t[27]=w,t[28]=L):L=t[28];let C;t[29]!==y||t[30]!==L?(C=(0,n.jsxs)("div",{className:"flex flex-col gap-3 border-t border-border bg-muted/50 px-4 py-3",children:[M,(0,n.jsxs)("div",{className:"flex flex-wrap gap-2",children:[y,L]})]}),t[29]=y,t[30]=L,t[31]=C):C=t[31];let N;return t[32]!==S||t[33]!==C?(N=(0,n.jsxs)(T,{className:"gap-0 py-0","data-testid":"home-connect-agent",children:[S,C]}),t[32]=S,t[33]=C,t[34]=N):N=t[34],N},"kt"),Lt=(0,I.lazy)(()=>import("./chunk-J3LCGEBD.js")),Ct=m((t,e)=>{if(e==null)return t("cache not enabled");let s=e.hits+e.misses;return s===0?t("no cache traffic yet"):`${Math.round(e.hits/s*100).toString()}% ${t("cache hit")}`},"wt"),He=m(t=>{if(t<1e3)return`${String(Math.round(t))}ms`;let e=t>=1e4?0:1;return`${(t/1e3).toFixed(e)}s`},"De"),It=m((t,e)=>{let s=Math.max(0,Math.round((e-t)/1e3));if(s<60)return`${String(s)}s ago`;let a=Math.round(s/60);if(a<60)return`${String(a)}m ago`;let r=Math.round(a/60);return r<24?`${String(r)}h ago`:`${String(Math.round(r/24))}d ago`},"$t"),nt=m((t,e)=>{if(t===void 0||t.length===0)return[];let s=new Map;for(let a of t)s.set(a.bucketMs,(s.get(a.bucketMs)??0)+a[e]);return[...s.entries()].toSorted(([a],[r])=>a-r).map(([,a])=>a)},"Ve"),st=m((t,e=!0)=>{if(t.length<4)return null;let s=Math.floor(t.length/2),a=t.slice(0,s).reduce((l,i)=>l+i,0),r=t.slice(s).reduce((l,i)=>l+i,0);if(a===0)return null;let o=(r-a)/a*100;return{positive:e?o>=0:o<=0,text:`${o>=0?"+":""}${o.toFixed(1)}%`}},"We"),Te=m(t=>{let e=(0,_.c)(24),{delta:s,footer:a,label:r,trend:o,unit:l,value:i}=t,c=$(),p;e[0]!==r?(p=(0,n.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:r}),e[0]=r,e[1]=p):p=e[1];let d;e[2]!==i?(d=(0,n.jsx)("span",{className:"text-2xl font-semibold tabular-nums text-foreground",children:i}),e[2]=i,e[3]=d):d=e[3];let f;e[4]!==l?(f=l!==void 0&&(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:l}),e[4]=l,e[5]=f):f=e[5];let u;e[6]!==d||e[7]!==f?(u=(0,n.jsxs)("span",{className:"flex items-baseline gap-1.5",children:[d,f]}),e[6]=d,e[7]=f,e[8]=u):u=e[8];let h;e[9]!==o?(h=o!==void 0&&(0,n.jsx)(I.Suspense,{fallback:(0,n.jsx)("div",{"aria-hidden":"true",className:"h-8 w-28"}),children:(0,n.jsx)(Lt,{data:o})}),e[9]=o,e[10]=h):h=e[10];let g;e[11]!==u||e[12]!==h?(g=(0,n.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[u,h]}),e[11]=u,e[12]=h,e[13]=g):g=e[13];let x;e[14]!==p||e[15]!==g?(x=(0,n.jsxs)("div",{className:"flex flex-col gap-2.5 p-4",children:[p,g]}),e[14]=p,e[15]=g,e[16]=x):x=e[16];let b;e[17]!==s||e[18]!==a||e[19]!==c?(b=s==null?a!=null&&(0,n.jsx)("div",{className:"border-t border-border bg-muted/50 px-4 py-2.5 text-[11px] text-muted-foreground",children:a}):(0,n.jsxs)("div",{className:"border-t border-border bg-muted/50 px-4 py-2.5 text-[11px]",children:[(0,n.jsx)("span",{className:Ee("font-semibold",s.positive?"text-success":"text-destructive"),children:s.text})," ",(0,n.jsx)("span",{className:"text-muted-foreground",children:c("vs. prev.")})]}),e[17]=s,e[18]=a,e[19]=c,e[20]=b):b=e[20];let v;return e[21]!==x||e[22]!==b?(v=(0,n.jsxs)(T,{className:"justify-between gap-0 py-0",children:[x,b]}),e[21]=x,e[22]=b,e[23]=v):v=e[23],v},"Te"),Mt=m(()=>{let t=(0,_.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,n.jsx)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:(0,n.jsx)("path",{d:"m9 6 6 6-6 6"})}),t[0]=e):e=t[0],e},"At"),Ue=m(t=>{let e=(0,_.c)(7),{command:s,label:a}=t,r;e[0]!==a?(r=(0,n.jsx)("div",{className:"p-4",children:(0,n.jsx)("span",{className:"text-sm font-medium text-foreground",children:a})}),e[0]=a,e[1]=r):r=e[1];let o;e[2]!==s?(o=(0,n.jsx)("div",{className:"border-t border-border bg-muted/50 px-4 py-2.5",children:(0,n.jsx)("code",{className:"font-mono text-xs text-muted-foreground",children:s})}),e[2]=s,e[3]=o):o=e[3];let l;return e[4]!==r||e[5]!==o?(l=(0,n.jsxs)(T,{className:"justify-between gap-0 py-0",children:[r,o]}),e[4]=r,e[5]=o,e[6]=l):l=e[6],l},"Be"),rt=m(t=>{let e=(0,_.c)(18),{count:s,onView:a,testId:r,title:o}=t,l=$(),i;e[0]!==o?(i=(0,n.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:o}),e[0]=o,e[1]=i):i=e[1];let c;e[2]!==s||e[3]!==l?(c=s===null?(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:l("No data yet")}):(0,n.jsx)(Ve,{variant:s>0?"destructive":"success",children:s>0?s:l("All clear")}),e[2]=s,e[3]=l,e[4]=c):c=e[4];let p;e[5]!==i||e[6]!==c?(p=(0,n.jsxs)("div",{className:"flex items-start justify-between gap-2 p-4",children:[i,c]}),e[5]=i,e[6]=c,e[7]=p):p=e[7];let d;e[8]!==l?(d=l("View"),e[8]=l,e[9]=d):d=e[9];let f;e[10]===Symbol.for("react.memo_cache_sentinel")?(f=(0,n.jsx)(Mt,{}),e[10]=f):f=e[10];let u;e[11]!==a||e[12]!==d?(u=(0,n.jsxs)("button",{className:"flex items-center gap-1 border-t border-border bg-muted/50 px-4 py-2.5 text-[12px] font-medium text-foreground outline-none transition-colors hover:bg-muted focus-visible:bg-muted",onClick:a,type:"button",children:[d,f]}),e[11]=a,e[12]=d,e[13]=u):u=e[13];let h;return e[14]!==p||e[15]!==u||e[16]!==r?(h=(0,n.jsxs)(T,{className:"justify-between gap-0 py-0","data-testid":r,children:[p,u]}),e[14]=p,e[15]=u,e[16]=r,e[17]=h):h=e[17],h},"Qe"),At=m(t=>{let e=(0,_.c)(7),{functions:s}=t,a=$(),r;if(e[0]!==s||e[1]!==a){let o=[...s].toSorted(Ot).slice(0,5),l;e[3]!==a?(l=a("Top functions"),e[3]=a,e[4]=l):l=e[4];let i;e[5]!==l?(i=(0,n.jsx)("div",{className:"border-b border-border px-4 py-3",children:(0,n.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:l})}),e[5]=l,e[6]=i):i=e[6],r=(0,n.jsxs)(T,{className:"gap-0 py-0","data-testid":"home-top-functions",children:[i,o.length===0?(0,n.jsx)("p",{className:"px-4 py-8 text-center text-xs text-muted-foreground",children:a("No functions called yet.")}):(0,n.jsxs)("div",{className:"divide-y divide-border",children:[(0,n.jsxs)("div",{className:"grid grid-cols-[1fr_auto_auto_auto] gap-4 px-4 py-1.5 font-mono text-[10px] tracking-wide text-muted-foreground uppercase",children:[(0,n.jsx)("span",{children:a("Function")}),(0,n.jsx)("span",{className:"text-end",children:a("Calls")}),(0,n.jsx)("span",{className:"w-12 text-end",children:a("Avg")}),(0,n.jsx)("span",{className:"w-8 text-end",children:a("Err")})]}),o.map(Rt)]})]}),e[0]=s,e[1]=a,e[2]=r}else r=e[2];return r},"Lt"),$t=m(t=>{let e=(0,_.c)(26),{subs:s}=t,a=$(),r;e[0]!==a?(r=a("Live connections"),e[0]=a,e[1]=r):r=e[1];let o;e[2]!==r?(o=(0,n.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:r}),e[2]=r,e[3]=o):o=e[3];let l=s?.totalConnections??0,i;e[4]!==l?(i=l.toLocaleString(),e[4]=l,e[5]=i):i=e[5];let c;e[6]!==i?(c=(0,n.jsx)("span",{className:"text-2xl font-semibold tabular-nums text-foreground",children:i}),e[6]=i,e[7]=c):c=e[7];let p;e[8]!==a?(p=a("sockets"),e[8]=a,e[9]=p):p=e[9];let d;e[10]!==p?(d=(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:p}),e[10]=p,e[11]=d):d=e[11];let f;e[12]!==c||e[13]!==d?(f=(0,n.jsxs)("span",{className:"flex items-baseline gap-1.5",children:[c,d]}),e[12]=c,e[13]=d,e[14]=f):f=e[14];let u=s?.totalSubscriptions??0,h;e[15]!==u?(h=u.toLocaleString(),e[15]=u,e[16]=h):h=e[16];let g;e[17]!==a?(g=a("active subscriptions"),e[17]=a,e[18]=g):g=e[18];let x;e[19]!==h||e[20]!==g?(x=(0,n.jsxs)("span",{className:"text-[11px] text-muted-foreground",children:[h," ",g]}),e[19]=h,e[20]=g,e[21]=x):x=e[21];let b;return e[22]!==x||e[23]!==o||e[24]!==f?(b=(0,n.jsx)(T,{"data-testid":"home-live-connections",children:(0,n.jsxs)(Fe,{className:"flex flex-col gap-2.5 py-4",children:[o,f,x]})}),e[22]=x,e[23]=o,e[24]=f,e[25]=b):b=e[25],b},"Mt"),jt=m(t=>{let e=(0,_.c)(7),{entries:s}=t,a=$(),r;if(e[0]!==s||e[1]!==a){let o=Date.now(),l;e[3]!==a?(l=a("Recent activity"),e[3]=a,e[4]=l):l=e[4];let i;e[5]!==l?(i=(0,n.jsx)("div",{className:"border-b border-border px-4 py-3",children:(0,n.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:l})}),e[5]=l,e[6]=i):i=e[6],r=(0,n.jsxs)(T,{className:"gap-0 py-0","data-testid":"home-recent-activity",children:[i,s.length===0?(0,n.jsx)("p",{className:"px-4 py-8 text-center text-xs text-muted-foreground",children:a("No recent activity.")}):(0,n.jsx)("ul",{className:"divide-y divide-border",children:s.slice(0,5).map(c=>(0,n.jsxs)("li",{className:"flex items-center justify-between gap-3 px-4 py-2 text-[13px]",children:[(0,n.jsxs)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,n.jsx)("span",{"aria-hidden":"true",className:"size-1.5 shrink-0 rounded-full bg-muted-foreground/40"}),(0,n.jsxs)("span",{className:"truncate text-foreground",children:[c.op,c.table!==void 0&&(0,n.jsxs)("span",{className:"text-muted-foreground",children:[" \xB7 ",c.table,c.id===void 0?"":`#${c.id}`]})]})]}),(0,n.jsx)("span",{className:"shrink-0 text-xs tabular-nums text-muted-foreground",children:It(c.ts,o)})]},c.seq))})]}),e[0]=s,e[1]=a,e[2]=r}else r=e[2];return r},"It"),Tt=m(t=>{let e=t.reduce((s,a)=>s+a.calls,0);return e===0?null:t.reduce((s,a)=>s+a.totalDurationMs,0)/e},"Tt"),Yt=m(t=>{let e=(0,_.c)(149),{initialShardKey:s}=t,a=$(),r=Be(),o=s??"",l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l={},e[0]=l):l=e[0];let i;e[1]!==o?(i={shardKey:o},e[1]=o,e[2]=i):i=e[2];let c=_e(z.getMetrics,l,i),p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p={},e[3]=p):p=e[3];let d;e[4]!==o?(d={shardKey:o},e[4]=o,e[5]=d):d=e[5];let f=_e(z.getFunctionStats,p,d),u,h;e[6]===Symbol.for("react.memo_cache_sentinel")?(u={},h={shardKey:""},e[6]=u,e[7]=h):(u=e[6],h=e[7]);let g=_e(z.getSecurityAudit,u,h),x;e[8]===Symbol.for("react.memo_cache_sentinel")?(x={},e[8]=x):x=e[8];let b;e[9]!==o?(b={shardKey:o},e[9]=o,e[10]=b):b=e[10];let v=_e(z.listSubscriptions,x,b),S;e[11]===Symbol.for("react.memo_cache_sentinel")?(S={},e[11]=S):S=e[11];let M;e[12]!==o?(M={shardKey:o},e[12]=o,e[13]=M):M=e[13];let k=_e(z.getAuditLog,S,M),y=c.data??null,w,L,C,N,A,j,D,O,R,P,B,E,q,K,V,W,F,U;if(e[14]!==k.data||e[15]!==g.data||e[16]!==y||e[17]!==c.data||e[18]!==r||e[19]!==f.data||e[20]!==v.data||e[21]!==a){N=Array.isArray(f.data?.functions)?f.data.functions:[],D=v.data??null;let Le;e[40]!==k.data?(Le=Array.isArray(k.data?.entries)?k.data.entries:[],e[40]=k.data,e[41]=Le):Le=e[41],L=Le,A=c.data===void 0||f.data===void 0?null:tt(y,N).length,j=Array.isArray(g.data?.findings)?g.data.findings.length:null;let Ce;e[42]!==r?(Ce=m(()=>{Ne(r({to:"/security"}))},"we"),e[42]=r,e[43]=Ce):Ce=e[43],U=Ce;let Ie;e[44]!==r?(Ie=m(()=>{Ne(r({to:"/insights"}))},"$e"),e[44]=r,e[45]=Ie):Ie=e[45],F=Ie;let Me=nt(y?.history,"calls"),Ae=nt(y?.history,"errors"),Je=Tt(N),$e=Math.max(0,...N.map(qt)),je;e[46]!==y||e[47]!==a?(je=y===null?void 0:Ct(a,y.cache),e[46]=y,e[47]=a,e[48]=je):je=e[48],C=je,V="flex flex-col gap-6",W="lunora-home",B="grid gap-3 sm:grid-cols-2 xl:grid-cols-4",E="home-health";let Re=st(Me),xe;e[49]!==a?(xe=a("Requests"),e[49]=a,e[50]=xe):xe=e[50];let qe=y?.requests??0,be;e[51]!==qe?(be=qe.toLocaleString(),e[51]=qe,e[52]=be):be=e[52],e[53]!==Me||e[54]!==Re||e[55]!==xe||e[56]!==be?(q=(0,n.jsx)(Te,{delta:Re,label:xe,trend:Me,value:be}),e[53]=Me,e[54]=Re,e[55]=xe,e[56]=be,e[57]=q):q=e[57];let Ke=st(Ae,!1),ye;e[58]!==a?(ye=a("Errors"),e[58]=a,e[59]=ye):ye=e[59];let ze=y?.errors??0,ve;e[60]!==ze?(ve=ze.toLocaleString(),e[60]=ze,e[61]=ve):ve=e[61],e[62]!==Ae||e[63]!==Ke||e[64]!==ye||e[65]!==ve?(K=(0,n.jsx)(Te,{delta:Ke,label:ye,trend:Ae,value:ve}),e[62]=Ae,e[63]=Ke,e[64]=ye,e[65]=ve,e[66]=K):K=e[66],w=Te,e[67]!==$e||e[68]!==a?(O=$e>0?`${a("max")} ${He($e)}`:void 0,e[67]=$e,e[68]=a,e[69]=O):O=e[69],e[70]!==a?(R=a("Avg latency"),e[70]=a,e[71]=R):R=e[71],P=Je===null?"\u2014":He(Je),e[14]=k.data,e[15]=g.data,e[16]=y,e[17]=c.data,e[18]=r,e[19]=f.data,e[20]=v.data,e[21]=a,e[22]=w,e[23]=L,e[24]=C,e[25]=N,e[26]=A,e[27]=j,e[28]=D,e[29]=O,e[30]=R,e[31]=P,e[32]=B,e[33]=E,e[34]=q,e[35]=K,e[36]=V,e[37]=W,e[38]=F,e[39]=U}else w=e[22],L=e[23],C=e[24],N=e[25],A=e[26],j=e[27],D=e[28],O=e[29],R=e[30],P=e[31],B=e[32],E=e[33],q=e[34],K=e[35],V=e[36],W=e[37],F=e[38],U=e[39];let H;e[72]!==w||e[73]!==O||e[74]!==R||e[75]!==P?(H=(0,n.jsx)(w,{footer:O,label:R,value:P}),e[72]=w,e[73]=O,e[74]=R,e[75]=P,e[76]=H):H=e[76];let J;e[77]!==a?(J=a("Database size"),e[77]=a,e[78]=J):J=e[78];let Oe=y?.databaseSize??null,Y;e[79]!==Oe?(Y=Qe(Oe),e[79]=Oe,e[80]=Y):Y=e[80];let G;e[81]!==C||e[82]!==J||e[83]!==Y?(G=(0,n.jsx)(Te,{footer:C,label:J,value:Y}),e[81]=C,e[82]=J,e[83]=Y,e[84]=G):G=e[84];let Z;e[85]!==B||e[86]!==E||e[87]!==q||e[88]!==K||e[89]!==H||e[90]!==G?(Z=(0,n.jsxs)("div",{className:B,"data-testid":E,children:[q,K,H,G]}),e[85]=B,e[86]=E,e[87]=q,e[88]=K,e[89]=H,e[90]=G,e[91]=Z):Z=e[91];let Se;e[92]===Symbol.for("react.memo_cache_sentinel")?(Se=(0,n.jsx)(gt,{}),e[92]=Se):Se=e[92];let Q;e[93]!==N?(Q=(0,n.jsx)("div",{className:"lg:col-span-2",children:(0,n.jsx)(At,{functions:N})}),e[93]=N,e[94]=Q):Q=e[94];let X;e[95]!==D?(X=(0,n.jsx)($t,{subs:D}),e[95]=D,e[96]=X):X=e[96];let ee;e[97]!==L?(ee=(0,n.jsx)(jt,{entries:L}),e[97]=L,e[98]=ee):ee=e[98];let te;e[99]!==X||e[100]!==ee?(te=(0,n.jsxs)("div",{className:"flex flex-col gap-3",children:[X,ee]}),e[99]=X,e[100]=ee,e[101]=te):te=e[101];let ae;e[102]!==Q||e[103]!==te?(ae=(0,n.jsxs)("div",{className:"grid gap-3 lg:grid-cols-3",children:[Q,te]}),e[102]=Q,e[103]=te,e[104]=ae):ae=e[104];let ne;e[105]!==a?(ne=a("Advisors"),e[105]=a,e[106]=ne):ne=e[106];let se;e[107]!==ne?(se=(0,n.jsx)("h2",{className:"text-sm font-semibold tracking-tight text-foreground",children:ne}),e[107]=ne,e[108]=se):se=e[108];let re;e[109]!==A||e[110]!==j||e[111]!==a||e[112]!==F||e[113]!==U?(re=j===0&&A===0?(0,n.jsx)(Ye,{description:a("No security or performance issues detected."),icon:(0,n.jsxs)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,n.jsx)("path",{d:"M12 3 4 6v5c0 5 3.4 8.5 8 10 4.6-1.5 8-5 8-10V6l-8-3Z"}),(0,n.jsx)("path",{d:"m9 12 2 2 4-4"})]}),testId:"home-advisors-clear",title:a("No issues found")}):(0,n.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,n.jsx)(rt,{count:j,onView:U,testId:"home-security",title:a("Security findings")}),(0,n.jsx)(rt,{count:A,onView:F,testId:"home-performance",title:a("Performance issues")})]}),e[109]=A,e[110]=j,e[111]=a,e[112]=F,e[113]=U,e[114]=re):re=e[114];let oe;e[115]!==se||e[116]!==re?(oe=(0,n.jsxs)("section",{className:"flex flex-col gap-3","data-testid":"home-advisors",children:[se,re]}),e[115]=se,e[116]=re,e[117]=oe):oe=e[117];let le;e[118]!==a?(le=a("Get connected"),e[118]=a,e[119]=le):le=e[119];let ie;e[120]!==le?(ie=(0,n.jsx)("h2",{className:"text-sm font-semibold tracking-tight text-foreground",children:le}),e[120]=le,e[121]=ie):ie=e[121];let ce;e[122]!==a?(ce=a("Client SDK"),e[122]=a,e[123]=ce):ce=e[123];let de;e[124]!==ce?(de=(0,n.jsx)(Ue,{command:"npm i @lunora/client",label:ce}),e[124]=ce,e[125]=de):de=e[125];let me;e[126]!==a?(me=a("React"),e[126]=a,e[127]=me):me=e[127];let ue;e[128]!==me?(ue=(0,n.jsx)(Ue,{command:"npm i @lunora/react",label:me}),e[128]=me,e[129]=ue):ue=e[129];let pe;e[130]!==a?(pe=a("CLI"),e[130]=a,e[131]=pe):pe=e[131];let fe;e[132]!==pe?(fe=(0,n.jsx)(Ue,{command:"lunora dev",label:pe}),e[132]=pe,e[133]=fe):fe=e[133];let he;e[134]!==de||e[135]!==ue||e[136]!==fe?(he=(0,n.jsxs)("div",{className:"grid gap-3 sm:grid-cols-3",children:[de,ue,fe]}),e[134]=de,e[135]=ue,e[136]=fe,e[137]=he):he=e[137];let ke;e[138]===Symbol.for("react.memo_cache_sentinel")?(ke=(0,n.jsx)(wt,{}),e[138]=ke):ke=e[138];let ge;e[139]!==ie||e[140]!==he?(ge=(0,n.jsxs)("section",{className:"flex flex-col gap-3","data-testid":"home-get-connected",children:[ie,he,ke]}),e[139]=ie,e[140]=he,e[141]=ge):ge=e[141];let we;return e[142]!==V||e[143]!==W||e[144]!==Z||e[145]!==ae||e[146]!==oe||e[147]!==ge?(we=(0,n.jsxs)("div",{className:V,"data-testid":W,children:[Z,Se,ae,oe,ge]}),e[142]=V,e[143]=W,e[144]=Z,e[145]=ae,e[146]=oe,e[147]=ge,e[148]=we):we=e[148],we},"Yt");function Ot(t,e){return e.calls-t.calls}m(Ot,"Ot");function Rt(t){return(0,n.jsxs)("div",{className:"grid grid-cols-[1fr_auto_auto_auto] items-center gap-4 px-4 py-2 text-[13px]",children:[(0,n.jsx)("span",{className:"truncate font-mono text-xs text-foreground",children:t.path}),(0,n.jsx)("span",{className:"text-end tabular-nums",children:t.calls.toLocaleString()}),(0,n.jsx)("span",{className:"w-12 text-end tabular-nums text-muted-foreground",children:He(t.calls>0?t.totalDurationMs/t.calls:0)}),(0,n.jsx)("span",{className:Ee("w-8 text-end tabular-nums",t.errors>0?"text-destructive":"text-muted-foreground"),children:t.errors})]},t.path)}m(Rt,"Rt");function qt(t){return t.maxDurationMs}m(qt,"Et");export{ut as a,Yt as b};
@@ -0,0 +1 @@
1
+ var i={clipPath:"inset(50%)",overflow:"hidden",whiteSpace:"nowrap",border:0,padding:0,width:1,height:1,margin:-1},e={...i,position:"fixed",top:0,left:0},t={...i,position:"absolute"};export{e as a,t as b};
@@ -0,0 +1 @@
1
+ import{a as N}from"./chunk-ITMXIPQ7.js";import{a as v,b as w,c as y,d,e as c,f as i}from"./chunk-HEAQVSNS.js";import{a as x,e as b}from"./chunk-WUWBZPUK.js";import{d as h}from"./chunk-FODLDLE2.js";import{a,d as p,e as I,g as R,i as g}from"./chunk-YKXDMIHQ.js";var $=p(I(),1);var e=p(R(),1);var A={ERROR:"error",INFO:"info",WARN:"warning"},q=a(r=>{let n=typeof r.metadata.table=="string"?r.metadata.table:void 0;return{description:`${r.detail} ${r.remediation}`,entity:n,issueType:r.title,key:r.cacheKey,level:A[r.level]}},"z"),C=["error","warning","info"],O={error:"bg-destructive",info:"bg-info",warning:"bg-warning"},S=a((r,n)=>({error:r("Errors"),info:r("Info"),warning:r("Warnings")})[n],"$"),j=a((r,n,o)=>({error:r("{count} errors",{count:o}),info:r("{count} suggestions",{count:o}),warning:r("{count} warnings",{count:o})})[n],"k"),z=a((r,n)=>({error:r("No errors detected"),info:r("No suggestions"),warning:r("No warnings detected")})[n],"V"),F=a(r=>{let n={error:0,info:0,warning:0};for(let o of r??[])n[o.level]+=1;return n},"O"),B=a(({error:r=null,errorSource:n,rows:o,testId:l,toolbar:f})=>{let s=h(),[m,k]=(0,$.useState)("error"),T=F(o),u=(o??[]).filter(t=>t.level===m),E=a(t=>{k(t.currentTarget.dataset.level)},"h");return(0,e.jsxs)("div",{className:"flex flex-col gap-3","data-testid":l,children:[(0,e.jsx)("div",{className:"flex border-b border-border",role:"tablist",children:C.map(t=>(0,e.jsxs)("button",{"aria-selected":m===t,className:"flex min-w-32 flex-col gap-0.5 border-b-2 border-transparent px-4 py-2 text-start outline-none transition-colors hover:bg-muted/40 focus-visible:bg-muted/40 aria-selected:border-foreground","data-level":t,"data-testid":`${l}-tab-${t}`,onClick:E,role:"tab",type:"button",children:[(0,e.jsxs)("span",{className:"flex items-center gap-2 text-sm font-medium text-foreground",children:[(0,e.jsx)("span",{"aria-hidden":"true",className:g("size-2 rounded-sm",O[t])}),S(s,t)]}),(0,e.jsx)("span",{className:"ps-4 text-xs text-muted-foreground",children:j(s,t,T[t])})]},t))}),f!==void 0&&(0,e.jsx)("div",{className:"flex flex-wrap items-center gap-2",children:f}),r!==null&&(0,e.jsx)(N,{error:n??r,testId:`${l}-error`}),(0,e.jsx)(x,{className:"overflow-hidden py-0",children:(0,e.jsx)(b,{className:"px-0",children:(0,e.jsxs)(v,{children:[(0,e.jsx)(w,{children:(0,e.jsxs)(d,{children:[(0,e.jsx)(c,{children:s("Issue type")}),(0,e.jsx)(c,{children:s("Entity/item")}),(0,e.jsx)(c,{children:s("Description")})]})}),(0,e.jsx)(y,{children:u.length===0?(0,e.jsx)(d,{children:(0,e.jsxs)(i,{className:"h-40 text-center align-middle text-muted-foreground",colSpan:3,"data-testid":`${l}-empty`,children:[(0,e.jsx)("span",{className:"block text-sm font-medium text-foreground",children:z(s,m)}),(0,e.jsx)("span",{className:"block text-sm",children:s("Nothing to report for this deployment.")})]})}):u.map(t=>(0,e.jsxs)(d,{children:[(0,e.jsx)(i,{className:"font-medium text-foreground",children:t.issueType}),(0,e.jsx)(i,{className:"font-mono text-xs text-muted-foreground",children:t.entity??"\u2014"}),(0,e.jsxs)(i,{className:"text-muted-foreground",children:[(0,e.jsx)("span",{children:t.description}),t.action!==void 0&&(0,e.jsx)("span",{className:"mt-1.5 flex flex-wrap items-center gap-1.5",children:t.action})]})]},t.key))})]})})})]})},"F");export{q as a,B as b};