@lunora/studio 1.0.0-alpha.7 → 1.0.0-alpha.71

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 (295) hide show
  1. package/LICENSE.md +6 -0
  2. package/dist/index.d.ts +762 -779
  3. package/dist/index.js +1 -41
  4. package/dist/mount.d.ts +10 -10
  5. package/dist/mount.js +1 -26
  6. package/dist/packem_chunks/ApiTab.js +1 -0
  7. package/dist/packem_chunks/AuditPanel.js +1 -0
  8. package/dist/packem_chunks/DeploymentHealthPanel.js +1 -0
  9. package/dist/packem_chunks/ExportImportPanel.js +3 -0
  10. package/dist/packem_chunks/FileBrowser.js +4 -0
  11. package/dist/packem_chunks/FunctionRunner.js +1 -0
  12. package/dist/packem_chunks/FunctionStatsPanel.js +1 -0
  13. package/dist/packem_chunks/HealthPanel.js +1 -0
  14. package/dist/packem_chunks/InsightsPanel.js +1 -0
  15. package/dist/packem_chunks/LogsPanel.js +1 -0
  16. package/dist/packem_chunks/MailPanel.js +2 -0
  17. package/dist/packem_chunks/MetricsPanel.js +1 -0
  18. package/dist/packem_chunks/MigrationsPanel.js +1 -0
  19. package/dist/packem_chunks/NotificationsPanel.js +1 -0
  20. package/dist/packem_chunks/PitrPanel.js +1 -0
  21. package/dist/packem_chunks/SchemaViewer.js +2 -0
  22. package/dist/packem_chunks/SecurityAdvisorPanel.js +1 -0
  23. package/dist/packem_chunks/SettingsPanel.js +1 -0
  24. package/dist/packem_chunks/SqlEditorPanel.js +4 -0
  25. package/dist/packem_chunks/TableEditor.js +1 -0
  26. package/dist/packem_chunks/agents-panel.js +1 -0
  27. package/dist/packem_chunks/analytics-panel.js +1 -0
  28. package/dist/packem_chunks/auth-audit-panel.js +1 -0
  29. package/dist/packem_chunks/auth-config-panel.js +1 -0
  30. package/dist/packem_chunks/auth-sessions-panel.js +1 -0
  31. package/dist/packem_chunks/containers-panel.js +1 -0
  32. package/dist/packem_chunks/dashboards-panel.js +1 -0
  33. package/dist/packem_chunks/fanout-panel.js +1 -0
  34. package/dist/packem_chunks/flags-panel.js +1 -0
  35. package/dist/packem_chunks/issues-panel.js +1 -0
  36. package/dist/packem_chunks/kv-browser.js +1 -0
  37. package/dist/packem_chunks/log-drains-panel.js +4 -0
  38. package/dist/packem_chunks/organizations-panel.js +1 -0
  39. package/dist/packem_chunks/payments-panel.js +1 -0
  40. package/dist/packem_chunks/permissions-panel.js +1 -0
  41. package/dist/packem_chunks/queues-panel.js +1 -0
  42. package/dist/packem_chunks/rls-panel.js +1 -0
  43. package/dist/packem_chunks/schedule-panel.js +1 -0
  44. package/dist/packem_chunks/sparkline.js +1 -0
  45. package/dist/packem_chunks/storage-rules-panel.js +1 -0
  46. package/dist/packem_chunks/subscriptions-panel.js +1 -0
  47. package/dist/packem_chunks/sync-client-panel.js +1 -0
  48. package/dist/packem_chunks/traces-panel.js +1 -0
  49. package/dist/packem_chunks/users-panel.js +1 -0
  50. package/dist/packem_chunks/vector-browser.js +1 -0
  51. package/dist/packem_chunks/workflows-panel.js +1 -0
  52. package/dist/packem_shared/ADMIN_FUNCTIONS-BYNSbBVE.js +1 -0
  53. package/dist/packem_shared/ApiDocsPanel-eJYZlylw.js +2 -0
  54. package/dist/packem_shared/ApiReferencePanel-C42v1jr6.js +1 -0
  55. package/dist/packem_shared/CommandPalette-CVIaY3j8.js +1 -0
  56. package/dist/packem_shared/ConfirmButton-CTL3f3kr.js +1 -0
  57. package/dist/packem_shared/ConnectionBadge-DOk0CQWo.js +1 -0
  58. package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-BCC8_4BQ.js +1 -0
  59. package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-B-hcFVoi.js +1 -0
  60. package/dist/packem_shared/DEFAULT_LOCALE-BZ4NojpD.js +1 -0
  61. package/dist/packem_shared/DataBrowser-B8J5lHjP.js +1 -0
  62. package/dist/packem_shared/DataFilters-Csb30F0C.js +1 -0
  63. package/dist/packem_shared/ErrorBoundary-DvzYskH7.js +1 -0
  64. package/dist/packem_shared/GlobalDataBrowser-RLJ6NvOs.js +1 -0
  65. package/dist/packem_shared/HomePanel-DL1HupAN.js +1 -0
  66. package/dist/packem_shared/OpenRpcReferencePanel-sGsIgYWj.js +1 -0
  67. package/dist/packem_shared/STUDIO_ROOT_CLASS-C6MccdVk.js +1 -0
  68. package/dist/packem_shared/ScheduledJobs-DUbo6epc.js +1 -0
  69. package/dist/packem_shared/ShardInput-BVn2iCU0.js +1 -0
  70. package/dist/packem_shared/Studio-BWBclm_C.js +1 -0
  71. package/dist/packem_shared/StudioApp-BFm73yVr.js +1 -0
  72. package/dist/packem_shared/StudioI18nProvider-CZ5h4nrV.js +1 -0
  73. package/dist/packem_shared/advisor-view-DaCX9Jy5.js +1 -0
  74. package/dist/packem_shared/aggregateMetrics-BNfajLa2.js +1 -0
  75. package/dist/packem_shared/alert-CVcOFuDR.js +1 -0
  76. package/dist/packem_shared/app.d-bRPJhby-.d.ts +254 -0
  77. package/dist/packem_shared/badge-BbuuAio7.js +1 -0
  78. package/dist/packem_shared/bar-chart-AryFCeoa.js +9 -0
  79. package/dist/packem_shared/browser-storage-xjTyMKY0.js +1 -0
  80. package/dist/packem_shared/button-BkCrNcAs.js +1 -0
  81. package/dist/packem_shared/card-CIDGUN6K.js +1 -0
  82. package/dist/packem_shared/cf-links-gbDy51nR.js +1 -0
  83. package/dist/packem_shared/checkbox-StT4Gob6.js +1 -0
  84. package/dist/packem_shared/data-grid-BMBKzMEJ.js +1 -0
  85. package/dist/packem_shared/data-view-params-C8T3bW1z.js +1 -0
  86. package/dist/packem_shared/dropdown-menu-C3RQ_HlW.js +2 -0
  87. package/dist/packem_shared/empty-state-Cg7t_8qu.js +1 -0
  88. package/dist/packem_shared/error-alert-B59DnrDI.js +1 -0
  89. package/dist/packem_shared/grid-features-uZCUj955.js +6 -0
  90. package/dist/packem_shared/home-panel-B-8BCffw.js +3 -0
  91. package/dist/packem_shared/input-JHu63lTv.js +1 -0
  92. package/dist/packem_shared/internal-AtZ4bTal.js +2 -0
  93. package/dist/packem_shared/label-6uP1obNF.js +1 -0
  94. package/dist/packem_shared/live-status-CGW2JHf_.js +1 -0
  95. package/dist/packem_shared/log-fields-CoL3hsIQ.js +1 -0
  96. package/dist/packem_shared/modal-shell-CUwwWC2o.js +1 -0
  97. package/dist/packem_shared/reference-view-KvhektwF.js +12 -0
  98. package/dist/packem_shared/result-chart-CwKhhKM0.js +1 -0
  99. package/dist/packem_shared/scroll-area-DTEq6Jec.js +2 -0
  100. package/dist/packem_shared/select-Bul-DeII.js +2 -0
  101. package/dist/packem_shared/shard-history-DMEW5VBE.js +1 -0
  102. package/dist/packem_shared/skeleton-C1wQ9M5t.js +1 -0
  103. package/dist/packem_shared/sparkline-DtcZoU48.js +1 -0
  104. package/dist/packem_shared/storage-tier-DznqOf-q.js +1 -0
  105. package/dist/packem_shared/studio-BHA7hnI3.js +2 -0
  106. package/dist/packem_shared/table-DdJBrClo.js +2 -0
  107. package/dist/packem_shared/table-list-sidebar-CMCcNALK.js +1 -0
  108. package/dist/packem_shared/textarea-Bu2-jKAs.js +1 -0
  109. package/dist/packem_shared/trace-handoff-Dw7mwjxu.js +1 -0
  110. package/dist/packem_shared/use-admin-query-Di3fLE8H.js +1 -0
  111. package/dist/packem_shared/use-async-submit-H68GHPz8.js +1 -0
  112. package/dist/packem_shared/useDebounced-Ihdiid_k.js +1 -0
  113. package/dist/packem_shared/utils-bhneXptQ.js +1 -0
  114. package/dist/packem_shared/virtual-rect-1o1veP7R.js +1 -0
  115. package/dist/standalone/chunk-2F7G7IWQ.js +1 -0
  116. package/dist/standalone/chunk-2OUPA2WJ.js +1 -0
  117. package/dist/standalone/chunk-2PJNAWB3.js +1 -0
  118. package/dist/standalone/chunk-2Y36BVVM.js +4 -0
  119. package/dist/standalone/chunk-34UVAASH.js +1 -0
  120. package/dist/standalone/chunk-35II7U25.js +11 -0
  121. package/dist/standalone/chunk-3FUFEZ65.js +1 -0
  122. package/dist/standalone/chunk-3QRTYSSX.js +1 -0
  123. package/dist/standalone/chunk-3RTTXLMU.js +1 -0
  124. package/dist/standalone/chunk-3XIESWL4.js +1 -0
  125. package/dist/standalone/chunk-4CGALXS3.js +19 -0
  126. package/dist/standalone/chunk-4UOFSGUS.js +1 -0
  127. package/dist/standalone/chunk-4WLYA3XE.js +1 -0
  128. package/dist/standalone/chunk-54MMVNPT.js +1 -0
  129. package/dist/standalone/chunk-5L2MD6F6.js +1 -0
  130. package/dist/standalone/chunk-5OWIOACV.js +13 -0
  131. package/dist/standalone/chunk-5RF4QDDA.js +6 -0
  132. package/dist/standalone/chunk-5U2THBI7.js +1 -0
  133. package/dist/standalone/chunk-5Y3QLNWX.js +1 -0
  134. package/dist/standalone/chunk-65OTWFS3.js +1 -0
  135. package/dist/standalone/chunk-6DWCIIHE.js +1 -0
  136. package/dist/standalone/chunk-6ST5ECQA.js +1 -0
  137. package/dist/standalone/chunk-7J5N6DGQ.js +1 -0
  138. package/dist/standalone/chunk-7LQWFOEU.js +1 -0
  139. package/dist/standalone/chunk-7QIFDWQV.js +1 -0
  140. package/dist/standalone/chunk-7RXOPYR5.js +1 -0
  141. package/dist/standalone/chunk-7T7UOTYK.js +1 -0
  142. package/dist/standalone/chunk-7YEFOSPH.js +1 -0
  143. package/dist/standalone/chunk-AVAC26HJ.js +1 -0
  144. package/dist/standalone/chunk-B43FTQJ7.js +1 -0
  145. package/dist/standalone/chunk-BEH5N5ZA.js +1 -0
  146. package/dist/standalone/chunk-BGBLQ563.js +1 -0
  147. package/dist/standalone/chunk-BNUJ7QMG.js +3 -0
  148. package/dist/standalone/chunk-C43X4M5U.js +1 -0
  149. package/dist/standalone/chunk-CFPZYHPY.js +2 -0
  150. package/dist/standalone/chunk-D7XXWV4E.js +1 -0
  151. package/dist/standalone/chunk-DVOBKIUX.js +1 -0
  152. package/dist/standalone/chunk-EKRN4ZQM.js +1 -0
  153. package/dist/standalone/chunk-ESVP44Y3.js +1 -0
  154. package/dist/standalone/chunk-EVN46TVV.js +1 -0
  155. package/dist/standalone/chunk-EXFBIISG.js +2 -0
  156. package/dist/standalone/chunk-F5QWLENA.js +1 -0
  157. package/dist/standalone/chunk-F6GOKFMU.js +3 -0
  158. package/dist/standalone/chunk-FGTK44LR.js +1 -0
  159. package/dist/standalone/chunk-FXCBF4XT.js +1 -0
  160. package/dist/standalone/chunk-GMR677FL.js +1 -0
  161. package/dist/standalone/chunk-GRL5MG3Z.js +1 -0
  162. package/dist/standalone/chunk-GSPTEMYN.js +1 -0
  163. package/dist/standalone/chunk-GXZAXNZI.js +1 -0
  164. package/dist/standalone/chunk-H7NIIBHH.js +1 -0
  165. package/dist/standalone/chunk-HP2UCWND.js +1 -0
  166. package/dist/standalone/chunk-HPFLBYRI.js +1 -0
  167. package/dist/standalone/chunk-IC4L6G56.js +1 -0
  168. package/dist/standalone/chunk-IDNNI63H.js +1 -0
  169. package/dist/standalone/chunk-ILNELDFC.js +1 -0
  170. package/dist/standalone/chunk-IVFHIQOT.js +1 -0
  171. package/dist/standalone/chunk-JN2Y24PY.js +1 -0
  172. package/dist/standalone/chunk-KDOC2DP5.js +1 -0
  173. package/dist/standalone/chunk-KUVMORDQ.js +1 -0
  174. package/dist/standalone/chunk-KYF2E5CJ.js +1 -0
  175. package/dist/standalone/chunk-L7N7F3DA.js +1 -0
  176. package/dist/standalone/chunk-LE56LPNH.js +13 -0
  177. package/dist/standalone/chunk-LEDWUPXM.js +1 -0
  178. package/dist/standalone/chunk-LFKCLLPT.js +1 -0
  179. package/dist/standalone/chunk-LFXFP4IF.js +1 -0
  180. package/dist/standalone/chunk-LJDP7NRB.js +1 -0
  181. package/dist/standalone/chunk-LLXFYRGQ.js +1 -0
  182. package/dist/standalone/chunk-M536Y2KX.js +1 -0
  183. package/dist/standalone/chunk-MIQTKZAR.js +1 -0
  184. package/dist/standalone/chunk-OHKRN65U.js +1 -0
  185. package/dist/standalone/chunk-P24JBHEZ.js +4 -0
  186. package/dist/standalone/chunk-PF7V3G2Z.js +62 -0
  187. package/dist/standalone/chunk-PWWHP76O.js +1 -0
  188. package/dist/standalone/chunk-QBWRC5YX.js +1 -0
  189. package/dist/standalone/chunk-QGKAJTQQ.js +1 -0
  190. package/dist/standalone/chunk-QLJJ5YYZ.js +1 -0
  191. package/dist/standalone/chunk-QVEHPYA5.js +1 -0
  192. package/dist/standalone/chunk-QWGT25SE.js +1 -0
  193. package/dist/standalone/chunk-QWJ3NPE3.js +1 -0
  194. package/dist/standalone/chunk-RAA2RGG6.js +1 -0
  195. package/dist/standalone/chunk-RBU52M5T.js +1 -0
  196. package/dist/standalone/chunk-SA3MDZC3.js +1 -0
  197. package/dist/standalone/chunk-SD4BERSA.js +1 -0
  198. package/dist/standalone/chunk-SFDOII3B.js +1 -0
  199. package/dist/standalone/chunk-SKHEGARW.js +1 -0
  200. package/dist/standalone/chunk-SMIESS7P.js +1 -0
  201. package/dist/standalone/chunk-T2JIUFOD.js +4 -0
  202. package/dist/standalone/chunk-T6VMSOBB.js +1 -0
  203. package/dist/standalone/chunk-THIXMMZD.js +1 -0
  204. package/dist/standalone/chunk-TJ2WZ5OP.js +1 -0
  205. package/dist/standalone/chunk-TLHJRWNK.js +1 -0
  206. package/dist/standalone/chunk-UIS34ZPB.js +8 -0
  207. package/dist/standalone/chunk-UNUU7CJJ.js +1 -0
  208. package/dist/standalone/chunk-UZERI5YC.js +1 -0
  209. package/dist/standalone/chunk-V53KNYRN.js +1 -0
  210. package/dist/standalone/chunk-VPAXCQ2Y.js +4 -0
  211. package/dist/standalone/chunk-X2FQ6B5V.js +1 -0
  212. package/dist/standalone/chunk-XBDKZZ67.js +1 -0
  213. package/dist/standalone/chunk-XEDU5FO4.js +1 -0
  214. package/dist/standalone/chunk-XQBTNJUQ.js +1 -0
  215. package/dist/standalone/chunk-XQCVZAGU.js +1 -0
  216. package/dist/standalone/chunk-XQGANNLS.js +1 -0
  217. package/dist/standalone/chunk-XSD4Y6SQ.js +1 -0
  218. package/dist/standalone/chunk-XXQUMVWH.js +1 -0
  219. package/dist/standalone/chunk-YD5NF6UT.js +1 -0
  220. package/dist/standalone/chunk-YI3WYUXK.js +1 -0
  221. package/dist/standalone/chunk-ZJGP6EKR.js +1 -0
  222. package/dist/standalone/chunk-ZNNAGR6N.js +1 -0
  223. package/dist/standalone/studio.js +9 -356
  224. package/dist/styles.css +2 -2
  225. package/package.json +17 -15
  226. package/dist/packem_shared/ADMIN_FUNCTIONS-DmBqMZ-z.js +0 -45
  227. package/dist/packem_shared/ApiDocsPanel-C5-yJ1p7.js +0 -842
  228. package/dist/packem_shared/ApiReferencePanel-1vubqG5s.js +0 -229
  229. package/dist/packem_shared/ApiTab-W3no0KOj.js +0 -251
  230. package/dist/packem_shared/AuditPanel-Bq4o_IqT.js +0 -212
  231. package/dist/packem_shared/CommandPalette-BtgkBzZI.js +0 -373
  232. package/dist/packem_shared/ConfirmButton-C2eVi2Qv.js +0 -59
  233. package/dist/packem_shared/ConnectionBadge-B2DDM2Tn.js +0 -111
  234. package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js +0 -50
  235. package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-DjF0h-gA.js +0 -89
  236. package/dist/packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js +0 -27
  237. package/dist/packem_shared/DataBrowser-CtBe1So9.js +0 -4542
  238. package/dist/packem_shared/DataFilters-FNquMaiu.js +0 -249
  239. package/dist/packem_shared/ErrorBoundary-BzAApI7J.js +0 -66
  240. package/dist/packem_shared/ExportImportPanel-dxY56TDF.js +0 -193
  241. package/dist/packem_shared/FileBrowser-Dhy4zES8.js +0 -2932
  242. package/dist/packem_shared/FunctionRunner--fQJRPAD.js +0 -343
  243. package/dist/packem_shared/FunctionStatsPanel-BjRUA_G3.js +0 -432
  244. package/dist/packem_shared/GlobalDataBrowser-BTEmGrph.js +0 -318
  245. package/dist/packem_shared/HealthPanel-PxclMWmA.js +0 -640
  246. package/dist/packem_shared/HomePanel-Cw16stjq.js +0 -1273
  247. package/dist/packem_shared/InsightsPanel-CWS_C-xW.js +0 -423
  248. package/dist/packem_shared/LogsPanel-CTW8CFcM.js +0 -839
  249. package/dist/packem_shared/MailPanel-BwkvfIHF.js +0 -447
  250. package/dist/packem_shared/MetricsPanel-BLuOhZQ4.js +0 -1625
  251. package/dist/packem_shared/MigrationsPanel-DT3lnwHF.js +0 -246
  252. package/dist/packem_shared/OpenRpcReferencePanel-vbcYbv3V.js +0 -191
  253. package/dist/packem_shared/PitrPanel-CdErL7EJ.js +0 -252
  254. package/dist/packem_shared/STUDIO_ROOT_CLASS-D12gX2dV.js +0 -3
  255. package/dist/packem_shared/ScheduledJobs-CabfKbyM.js +0 -159
  256. package/dist/packem_shared/SchemaViewer-LJDcmNIO.js +0 -2512
  257. package/dist/packem_shared/SecurityAdvisorPanel-C_ETsPih.js +0 -79
  258. package/dist/packem_shared/SettingsPanel-C0uLRf5P.js +0 -176
  259. package/dist/packem_shared/ShardInput-gx_DZXXn.js +0 -107
  260. package/dist/packem_shared/SqlEditorPanel-CguV7otm.js +0 -13
  261. package/dist/packem_shared/Studio-BmSGSIuY.js +0 -33
  262. package/dist/packem_shared/StudioApp-D4azxYBu.js +0 -657
  263. package/dist/packem_shared/StudioI18nProvider-B-tDCZIi.js +0 -48
  264. package/dist/packem_shared/TableEditor-ChfUOZec.js +0 -371
  265. package/dist/packem_shared/advisor-view-CGcfMiPq.js +0 -159
  266. package/dist/packem_shared/aggregateMetrics-D4nUHEKU.js +0 -108
  267. package/dist/packem_shared/app.d-CCmwDEVs.d.ts +0 -300
  268. package/dist/packem_shared/badge-B2PKA1-5.js +0 -49
  269. package/dist/packem_shared/bar-chart-CzJAgqkp.js +0 -3245
  270. package/dist/packem_shared/button-BhsN2uZH.js +0 -49
  271. package/dist/packem_shared/card-DURq3ElK.js +0 -175
  272. package/dist/packem_shared/cf-links-2cktDedA.js +0 -8
  273. package/dist/packem_shared/checkbox-UNkzAxl-.js +0 -63
  274. package/dist/packem_shared/data-grid-B5CaV3wS.js +0 -183
  275. package/dist/packem_shared/dropdown-menu-WY4B_eJO.js +0 -280
  276. package/dist/packem_shared/empty-state-DY_oe0k6.js +0 -98
  277. package/dist/packem_shared/grid-features-CzUfqgsM.js +0 -840
  278. package/dist/packem_shared/input-XH4r1Pt1.js +0 -53
  279. package/dist/packem_shared/internal-rXJEAhXS.js +0 -68
  280. package/dist/packem_shared/label-D8ykjn5J.js +0 -46
  281. package/dist/packem_shared/live-status-FZ0psC1z.js +0 -44
  282. package/dist/packem_shared/reference-view-B4E49Lip.js +0 -2180
  283. package/dist/packem_shared/shard-history-DyebH1R5.js +0 -38
  284. package/dist/packem_shared/sparkline-10dG-_f0.js +0 -93
  285. package/dist/packem_shared/sql-editor-panel-BFRpzj6r.js +0 -2562
  286. package/dist/packem_shared/storage-tier-CL98eOvn.js +0 -85
  287. package/dist/packem_shared/studio-H9fuQgSj.js +0 -10303
  288. package/dist/packem_shared/table-_RzNvy3R.js +0 -246
  289. package/dist/packem_shared/table-list-sidebar-Bg7uzbvC.js +0 -832
  290. package/dist/packem_shared/textarea-D3gaCU_-.js +0 -46
  291. package/dist/packem_shared/use-live-admin-Dq6g3daN.js +0 -73
  292. package/dist/packem_shared/use-live-shard-seed-Cuk3dnH0.js +0 -76
  293. package/dist/packem_shared/useDebounced-Dxncpg6z.js +0 -32
  294. package/dist/packem_shared/utils-B05Dmz_H.js +0 -8
  295. package/dist/packem_shared/virtual-rect-CVMUskSm.js +0 -10
@@ -0,0 +1 @@
1
+ import{a as g}from"./chunk-XXQUMVWH.js";import{h as N,j,k}from"./chunk-4CGALXS3.js";import{a as w}from"./chunk-LE56LPNH.js";import{a as b,e as v,g as V,h as y}from"./chunk-3XIESWL4.js";var A=v(V(),1);var d=v(y(),1);var _=b(I=>{let e=(0,A.c)(26),{className:h,error:r,testId:u}=I,a,s,l,o,i,t,n;if(e[0]!==h||e[1]!==r||e[2]!==u){let x=j(r),f;e[10]!==r?(f=k(r),e[10]=r,e[11]=f):f=e[11],s=f,a=g,l=h,o=u,i="destructive";let c;e[12]!==r?(c=N(r),e[12]=r,e[13]=c):c=e[13],e[14]!==c?(t=(0,d.jsx)("p",{className:"font-medium",children:c}),e[14]=c,e[15]=t):t=e[15],n=x===void 0?null:(0,d.jsx)("p",{className:"mt-1 whitespace-pre-wrap text-xs opacity-90",children:w(x)}),e[0]=h,e[1]=r,e[2]=u,e[3]=a,e[4]=s,e[5]=l,e[6]=o,e[7]=i,e[8]=t,e[9]=n}else a=e[3],s=e[4],l=e[5],o=e[6],i=e[7],t=e[8],n=e[9];let m;e[16]!==s?(m=s===void 0?null:(0,d.jsx)("a",{"aria-label":"View documentation for this error",className:"mt-1 inline-block text-xs underline",href:s,rel:"noreferrer",target:"_blank",children:"View error docs"}),e[16]=s,e[17]=m):m=e[17];let p;return e[18]!==a||e[19]!==l||e[20]!==o||e[21]!==i||e[22]!==t||e[23]!==n||e[24]!==m?(p=(0,d.jsxs)(a,{className:l,testId:o,variant:i,children:[t,n,m]}),e[18]=a,e[19]=l,e[20]=o,e[21]=i,e[22]=t,e[23]=n,e[24]=m,e[25]=p):p=e[25],p},"D");export{_ as a};
@@ -0,0 +1 @@
1
+ import{a as o,e as m,f as n,g as u,h as p,j as c}from"./chunk-3XIESWL4.js";var l=m(u(),1),f=m(n(),1);var i=m(p(),1);function g({className:d,size:a="default",...t}){return(0,i.jsx)("div",{"data-slot":"card","data-size":a,className:c("group/card flex flex-col gap-4 overflow-hidden rounded-xl border border-border bg-card py-4 text-xs/relaxed text-card-foreground shadow-xs has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-2 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-md *:[img:last-child]:rounded-md",d),...t})}o(g,"p");function h(d){let a=(0,l.c)(8),t,e;a[0]!==d?({className:t,...e}=d,a[0]=d,a[1]=t,a[2]=e):(t=a[1],e=a[2]);let r;a[3]!==t?(r=c("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-md px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3",t),a[3]=t,a[4]=r):r=a[4];let s;return a[5]!==e||a[6]!==r?(s=(0,i.jsx)("div",{"data-slot":"card-header",className:r,...e}),a[5]=e,a[6]=r,a[7]=s):s=a[7],s}o(h,"f");function b(d){let a=(0,l.c)(8),t,e;a[0]!==d?({className:t,...e}=d,a[0]=d,a[1]=t,a[2]=e):(t=a[1],e=a[2]);let r;a[3]!==t?(r=c("font-heading text-sm font-medium group-data-[size=sm]/card:text-sm",t),a[3]=t,a[4]=r):r=a[4];let s;return a[5]!==e||a[6]!==r?(s=(0,i.jsx)("div",{"data-slot":"card-title",className:r,...e}),a[5]=e,a[6]=r,a[7]=s):s=a[7],s}o(b,"x");function N(d){let a=(0,l.c)(8),t,e;a[0]!==d?({className:t,...e}=d,a[0]=d,a[1]=t,a[2]=e):(t=a[1],e=a[2]);let r;a[3]!==t?(r=c("text-xs/relaxed text-muted-foreground",t),a[3]=t,a[4]=r):r=a[4];let s;return a[5]!==e||a[6]!==r?(s=(0,i.jsx)("div",{"data-slot":"card-description",className:r,...e}),a[5]=e,a[6]=r,a[7]=s):s=a[7],s}o(N,"g");function z(d){let a=(0,l.c)(8),t,e;a[0]!==d?({className:t,...e}=d,a[0]=d,a[1]=t,a[2]=e):(t=a[1],e=a[2]);let r;a[3]!==t?(r=c("px-4 group-data-[size=sm]/card:px-3",t),a[3]=t,a[4]=r):r=a[4];let s;return a[5]!==e||a[6]!==r?(s=(0,i.jsx)("div",{"data-slot":"card-content",className:r,...e}),a[5]=e,a[6]=r,a[7]=s):s=a[7],s}o(z,"h");export{g as a,h as b,b as c,N as d,z as e};
@@ -0,0 +1 @@
1
+ import{a as n,e as o,f as c,g as b,h as p,j as s}from"./chunk-3XIESWL4.js";var l=o(b(),1),g=o(c(),1);var u=o(p(),1);function v(d){let i=(0,l.c)(8),r,e;i[0]!==d?({className:r,...e}=d,i[0]=d,i[1]=r,i[2]=e):(r=i[1],e=i[2]);let t;i[3]!==r?(t=s("flex field-sizing-content min-h-16 w-full rounded-md border border-input bg-transparent px-2.5 py-2 text-xs transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-1 aria-invalid:ring-destructive/20 md:text-xs dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40",r),i[3]=r,i[4]=t):t=i[4];let a;return i[5]!==e||i[6]!==t?(a=(0,u.jsx)("textarea",{"data-slot":"textarea",className:t,...e}),i[5]=e,i[6]=t,i[7]=a):a=i[7],a}n(v,"p");export{v as a};
@@ -0,0 +1,4 @@
1
+ import{a as ze}from"./chunk-7RXOPYR5.js";import{a as _e}from"./chunk-LLXFYRGQ.js";import{a as Ae}from"./chunk-5RF4QDDA.js";import"./chunk-XQGANNLS.js";import"./chunk-SD4BERSA.js";import"./chunk-IC4L6G56.js";import"./chunk-ESVP44Y3.js";import"./chunk-KYF2E5CJ.js";import"./chunk-7YEFOSPH.js";import"./chunk-BGBLQ563.js";import"./chunk-IVFHIQOT.js";import"./chunk-PF7V3G2Z.js";import"./chunk-4UOFSGUS.js";import"./chunk-ILNELDFC.js";import"./chunk-7LQWFOEU.js";import"./chunk-T6VMSOBB.js";import{a as Le}from"./chunk-XXQUMVWH.js";import{a as Re,b as Te,c as Oe,d as xe,e as De,f as Me}from"./chunk-MIQTKZAR.js";import"./chunk-QBWRC5YX.js";import{a as Ee}from"./chunk-LFXFP4IF.js";import{b as Ie}from"./chunk-GRL5MG3Z.js";import{d as oe,e as he,f as fe}from"./chunk-7T7UOTYK.js";import"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import"./chunk-FXCBF4XT.js";import"./chunk-2OUPA2WJ.js";import"./chunk-6ST5ECQA.js";import{a as le}from"./chunk-GXZAXNZI.js";import{f as be}from"./chunk-35II7U25.js";import"./chunk-XBDKZZ67.js";import{d as K,f as ne,g as re,h as Se,m as X}from"./chunk-4CGALXS3.js";import"./chunk-LE56LPNH.js";import{a as s,e as pe,f as Et,g as Lt,h as Rt,j as te}from"./chunk-3XIESWL4.js";var Y=pe(Lt(),1);var E=pe(Et(),1);var r=pe(Rt(),1);var Tt=["ORDER BY","GROUP BY","LEFT JOIN","RIGHT JOIN","INNER JOIN","OUTER JOIN","CROSS JOIN","EXPLAIN QUERY PLAN","SELECT","DISTINCT","FROM","WHERE","HAVING","LIMIT","OFFSET","JOIN","ON","AND","OR","AS","ASC","DESC","WITH","UNION","EXPLAIN"],Ot=["FROM","WHERE","ORDER BY","GROUP BY","HAVING","LIMIT","OFFSET","UNION","JOIN","LEFT JOIN","RIGHT JOIN","INNER JOIN","OUTER JOIN","CROSS JOIN"],se=String.fromCodePoint(0),Dt=new RegExp(`${se}${String.raw`(\d+)`}${se}`,"gu"),Mt=Tt.map(l=>({pattern:new RegExp(String.raw`\b${l.replaceAll(" ",String.raw`\s+`)}\b`,"giu"),replacement:l})),_t=Ot.map(l=>({pattern:new RegExp(String.raw`\s+${l.replaceAll(" ",String.raw`\s+`)}\b`,"gu"),replacement:`
2
+ ${l}`})),At=s(l=>{let e=[],t=l.replaceAll(/'(?:[^']|'')*'/gu,n=>(e.push(n),`${se}${(e.length-1).toString()}${se}`)).replaceAll(/\s+/gu," ").trim();for(let{pattern:n,replacement:o}of Mt)t=t.replaceAll(n,o);for(let{pattern:n,replacement:o}of _t)t=t.replaceAll(n,o);return t=t.replaceAll(Dt,(n,o)=>e[Number(o)]??""),t},"_t"),zt=["AND","ASC","AS","BY","COUNT","DESC","DISTINCT","EXPLAIN","FROM","GROUP","HAVING","INNER","JOIN","LEFT","LIKE","LIMIT","NOT","NULL","OFFSET","ON","ORDER","OR","QUERY","SELECT","WHERE","WITH"],Wt=new Set(["AND","BY","HAVING","ON","OR","SELECT","WHERE"]),$t=/[\w$]/,Be=s(l=>l!==void 0&&$t.test(l),"Te"),je=s(l=>{let e=l.length;for(;e>0&&Be(l[e-1]);)e-=1;return l.slice(e)},"Le"),He=s((l,e)=>{let t=e;for(;t>0&&Be(l[t-1]);)t-=1;return{end:e,start:t,text:l.slice(t,e)}},"Re"),We=s((l,e)=>{let t=l.slice(0,e).trimEnd();return t.endsWith(".")||Wt.has(je(t).toUpperCase())},"Ce"),Bt=s((l,e)=>{let t=l.slice(0,e);if(!t.endsWith("."))return;let n=je(t.slice(0,-1));return n===""?void 0:n},"Bt"),Ne=s((l,e)=>l.toLowerCase().startsWith(e.toLowerCase()),"ge"),$e=s((l,e,t,n)=>{let o=[];for(let a of l)if(Ne(a,e)&&(o.push(n(a)),o.length>=t))break;return o},"Se"),jt=s((l,e,t)=>{let n=new Map;for(let[o,a]of Object.entries(l.columns))for(let d of a)if(Ne(d,e)&&!n.has(d)&&(n.set(d,o),n.size>=t))return[...n].map(([p,c])=>({detail:c,kind:"column",label:p}));return[...n].map(([o,a])=>({detail:a,kind:"column",label:o}))},"Wt"),Ht=s((l,e,t)=>{let n=He(l,e),o=Bt(l,n.start);if(o!==void 0){let c=t.columns[o]??t.columns[o.toLowerCase()]??[];return $e(c,n.text,8,m=>({detail:o,kind:"column",label:m}))}if(n.text===""&&!We(l,n.start))return[];let a=$e(t.tables,n.text,8,c=>({kind:"table",label:c})),d=jt(t,n.text,8),p=zt.filter(c=>n.text!==""&&Ne(c,n.text)&&c.toLowerCase()!==n.text.toLowerCase()).map(c=>({kind:"keyword",label:c}));return(We(l,n.start)?[...d,...a,...p]:[...a,...d,...p]).slice(0,8)},"Ft"),Ft=s((l,e,t)=>{let n=He(l,e),o=l.slice(0,n.start)+t.label+l.slice(n.end);return{caret:n.start+t.label.length,value:o}},"Ht"),Pt=["boxSizing","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","paddingBottom","paddingLeft","paddingRight","paddingTop","tabSize","textIndent","textTransform","width","wordSpacing"],Jt=s((l,e)=>{let t=globalThis.getComputedStyle(l),n=globalThis.document.createElement("div"),{style:o}=n;o.position="absolute",o.visibility="hidden",o.whiteSpace="pre-wrap",o.overflowWrap="break-word";for(let c of Pt)o[c]=t[c];n.textContent=l.value.slice(0,Math.max(0,e));let a=globalThis.document.createElement("span");a.textContent=l.value.slice(Math.max(0,e))||".",n.append(a),globalThis.document.body.append(n);let d=a.offsetLeft-l.scrollLeft,p=a.offsetTop-l.scrollTop;return n.remove(),{left:d,top:p}},"Ut"),Ut=s((l,e,t)=>{let n=(0,Y.c)(13),[o,a]=(0,E.useState)(null),d;n[0]!==l||n[1]!==e?(d=s((y,v)=>{let N=Ht(y,v,l);if(N.length===0){a(null);return}let f=e.current,{left:C,top:q}=f===null?{left:0,top:0}:Jt(f,v);a(L=>L!==null&&L.active===0&&L.left===C&&L.top===q&&L.suggestions.length===N.length&&L.suggestions.every((S,M)=>{let O=N.at(M);return S.kind===O?.kind&&S.label===O.label&&S.detail===O.detail})?L:{active:0,left:C,suggestions:N,top:q})},"c"),n[0]=l,n[1]=e,n[2]=d):d=n[2];let p=d,c;n[3]===Symbol.for("react.memo_cache_sentinel")?(c=s(()=>{a(null)},"i"),n[3]=c):c=n[3];let m=c,k;n[4]===Symbol.for("react.memo_cache_sentinel")?(k=s(y=>{a(v=>{if(v===null)return v;let N=v.suggestions.length,f=(v.active+y+N)%N;return{...v,active:f}})},"N"),n[4]=k):k=n[4];let g=k,x;n[5]!==t||n[6]!==o||n[7]!==e?(x=s(()=>{let y=e.current;if(o===null||y===null)return!1;let v=o.suggestions[o.active];if(v===void 0)return!1;let N=Ft(y.value,y.selectionStart,v);return t(N.value),a(null),requestAnimationFrame(()=>{let f=e.current;f!==null&&(f.focus(),f.setSelectionRange(N.caret,N.caret))}),!0},"h"),n[5]=t,n[6]=o,n[7]=e,n[8]=x):x=n[8];let b=x,u;return n[9]!==b||n[10]!==p||n[11]!==o?(u={close:m,commit:b,move:g,refresh:p,state:o},n[9]=b,n[10]=p,n[11]=o,n[12]=u):u=n[12],u},"Jt"),Yt={column:"column",keyword:"keyword",table:"table"},Kt=20,Gt=s(l=>{let e=(0,Y.c)(17),{listboxId:t,onPick:n,state:o}=l,a=K(),d;e[0]!==o?(d=o===null?void 0:{left:o.left,top:o.top+Kt},e[0]=o,e[1]=d):d=e[1];let p=d;if(o===null)return null;let c;if(e[2]!==t||e[3]!==n||e[4]!==o.active||e[5]!==o.suggestions||e[6]!==a){let k;e[8]!==t||e[9]!==n||e[10]!==o.active||e[11]!==a?(k=s((g,x)=>(0,r.jsxs)("li",{"aria-selected":x===o.active,className:te("flex cursor-pointer items-center gap-2 px-2 py-1 text-[13px]",x===o.active?"bg-accent text-accent-foreground":"text-foreground"),"data-testid":"sql-autocomplete-item",id:`${t}-opt-${x.toString()}`,onMouseDown:s(b=>{b.preventDefault(),n(x)},"onMouseDown"),role:"option",children:[(0,r.jsx)("span",{className:"truncate font-mono",children:g.label}),g.detail!==void 0&&(0,r.jsx)("span",{className:"ms-auto truncate text-xs text-muted-foreground",children:g.detail}),(0,r.jsx)("span",{className:"shrink-0 font-mono text-[10px] tracking-wide text-muted-foreground/70 uppercase",children:a(Yt[g.kind])})]},`${g.kind}:${g.label}`),"N"),e[8]=t,e[9]=n,e[10]=o.active,e[11]=a,e[12]=k):k=e[12],c=o.suggestions.map(k),e[2]=t,e[3]=n,e[4]=o.active,e[5]=o.suggestions,e[6]=a,e[7]=c}else c=e[7];let m;return e[13]!==t||e[14]!==p||e[15]!==c?(m=(0,r.jsx)("ul",{className:"absolute z-30 max-h-56 w-72 overflow-auto rounded-md border border-border bg-popover py-1 text-popover-foreground shadow-md","data-testid":"sql-autocomplete",id:t,role:"listbox",style:p,children:c}),e[13]=t,e[14]=p,e[15]=c,e[16]=m):m=e[16],m},"Vt"),Fe=[{label:"List tables",sql:"SELECT name FROM sqlite_master WHERE type = 'table' ORDER BY name;"},{label:"Table row count",sql:"SELECT COUNT(*) AS rows FROM messages;"},{label:"Recent rows",sql:"SELECT id, _creationTime, __doc__ FROM messages ORDER BY _creationTime DESC LIMIT 50;"},{label:"Index list",sql:"SELECT name, tbl_name FROM sqlite_master WHERE type = 'index' ORDER BY tbl_name;"}],Vt=s(l=>{let e=(0,Y.c)(29),{active:t,onDelete:n,onSelect:o,query:a}=l,d=K(),p;e[0]!==o||e[1]!==a.id?(p=s(()=>{o(a.id)},"m"),e[0]=o,e[1]=a.id,e[2]=p):p=e[2];let c=p,m;e[3]!==n||e[4]!==a.id?(m=s(S=>{S.stopPropagation(),n(a.id)},"u"),e[3]=n,e[4]=a.id,e[5]=m):m=e[5];let k=m,g=t?"bg-sidebar-accent font-medium text-foreground":"text-muted-foreground",x;e[6]!==g?(x=te("flex min-w-0 flex-1 items-center gap-2 rounded-md px-2 py-1.5 text-start text-[13px] outline-none transition-colors hover:bg-sidebar-accent focus-visible:bg-sidebar-accent",g),e[6]=g,e[7]=x):x=e[7];let b=`sql-query-${a.id}`,u;e[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,r.jsx)("svg",{"aria-hidden":"true",className:"size-3.5 shrink-0 opacity-70",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M4 6h16M4 12h10M4 18h7"})}),e[8]=u):u=e[8];let y;e[9]!==a.name?(y=(0,r.jsx)("span",{className:"truncate",children:a.name}),e[9]=a.name,e[10]=y):y=e[10];let v;e[11]!==t||e[12]!==c||e[13]!==x||e[14]!==b||e[15]!==y?(v=(0,r.jsxs)("button",{"aria-pressed":t,className:x,"data-testid":b,onClick:c,type:"button",children:[u,y]}),e[11]=t,e[12]=c,e[13]=x,e[14]=b,e[15]=y,e[16]=v):v=e[16];let N;e[17]!==d?(N=d("Delete query"),e[17]=d,e[18]=N):N=e[18];let f;e[19]!==d?(f=d("Delete query"),e[19]=d,e[20]=f):f=e[20];let C;e[21]===Symbol.for("react.memo_cache_sentinel")?(C=(0,r.jsx)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M5 7h14M9 7V5h6v2m-1 0v12H10V7M7 7v13h10V7"})}),e[21]=C):C=e[21];let q;e[22]!==k||e[23]!==f||e[24]!==N?(q=(0,r.jsx)("button",{"aria-label":N,className:"me-1 hidden size-6 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-destructive/10 hover:text-destructive group-hover/q:flex",onClick:k,title:f,type:"button",children:C}),e[22]=k,e[23]=f,e[24]=N,e[25]=q):q=e[25];let L;return e[26]!==q||e[27]!==v?(L=(0,r.jsxs)("li",{className:"group/q flex items-center",children:[v,q]}),e[26]=q,e[27]=v,e[28]=L):L=e[28],L},"Gt"),Xt=s(l=>{let e=(0,Y.c)(58),{activeId:t,history:n,listRef:o,onClearHistory:a,onDelete:d,onLoadHistory:p,onLoadTemplate:c,onNew:m,onSearchChange:k,onSelect:g,queries:x,search:b}=l,u=K(),y;if(e[0]!==x||e[1]!==b){let I=b.trim().toLowerCase();y=I===""?[...x]:x.filter(T=>T.name.toLowerCase().includes(I)),e[0]=x,e[1]=b,e[2]=y}else y=e[2];let v=y,N;e[3]!==u?(N=u("Search queries\u2026"),e[3]=u,e[4]=N):N=e[4];let f;e[5]!==k||e[6]!==b||e[7]!==N?(f=(0,r.jsx)("input",{className:"h-8 min-w-0 flex-1 rounded-md border border-border bg-background px-2 text-xs outline-none focus-visible:border-ring","data-testid":"sql-search",onChange:k,placeholder:N,type:"text",value:b}),e[5]=k,e[6]=b,e[7]=N,e[8]=f):f=e[8];let C;e[9]!==u?(C=u("New query"),e[9]=u,e[10]=C):C=e[10];let q;e[11]!==u?(q=u("New query"),e[11]=u,e[12]=q):q=e[12];let L;e[13]===Symbol.for("react.memo_cache_sentinel")?(L=(0,r.jsx)("svg",{"aria-hidden":"true",className:"size-4",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.7,viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M12 5v14M5 12h14"})}),e[13]=L):L=e[13];let S;e[14]!==m||e[15]!==C||e[16]!==q?(S=(0,r.jsx)("button",{"aria-label":C,className:"flex size-8 shrink-0 items-center justify-center rounded-md border border-border text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"sql-new",onClick:m,title:q,type:"button",children:L}),e[14]=m,e[15]=C,e[16]=q,e[17]=S):S=e[17];let M;e[18]!==f||e[19]!==S?(M=(0,r.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border p-2",children:[f,S]}),e[18]=f,e[19]=S,e[20]=M):M=e[20];let O;e[21]!==u?(O=u("Private"),e[21]=u,e[22]=O):O=e[22];let _;e[23]!==O?(_=(0,r.jsx)("p",{className:"px-1 pb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:O}),e[23]=O,e[24]=_):_=e[24];let A;e[25]!==t||e[26]!==v||e[27]!==o||e[28]!==d||e[29]!==g||e[30]!==u?(A=v.length===0?(0,r.jsx)("p",{className:"px-1 py-2 text-xs text-muted-foreground","data-testid":"sql-private-empty",children:u("No saved queries yet \u2014 they save to this browser as you type.")}):(0,r.jsx)("ul",{className:"flex flex-col gap-px","data-testid":"sql-private",ref:o,children:v.map(I=>(0,r.jsx)(Vt,{active:t===I.id,onDelete:d,onSelect:g,query:I},I.id))}),e[25]=t,e[26]=v,e[27]=o,e[28]=d,e[29]=g,e[30]=u,e[31]=A):A=e[31];let W;e[32]!==_||e[33]!==A?(W=(0,r.jsxs)("div",{children:[_,A]}),e[32]=_,e[33]=A,e[34]=W):W=e[34];let $;e[35]!==u?($=u("Reference"),e[35]=u,e[36]=$):$=e[36];let P;e[37]!==$?(P=(0,r.jsx)("p",{className:"px-1 pb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:$}),e[37]=$,e[38]=P):P=e[38];let H;e[39]!==c?(H=Fe.map(I=>(0,r.jsx)("li",{children:(0,r.jsxs)("button",{className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-[13px] text-muted-foreground outline-none transition-colors hover:bg-sidebar-accent hover:text-foreground focus-visible:bg-sidebar-accent","data-sql":I.sql,onClick:c,type:"button",children:[(0,r.jsx)("svg",{"aria-hidden":"true",className:"size-3.5 shrink-0 opacity-70",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M7 4h7l4 4v12H7zM14 4v4h4"})}),I.label]})},I.label)),e[39]=c,e[40]=H):H=e[40];let z;e[41]!==H?(z=(0,r.jsx)("ul",{className:"flex flex-col gap-px",children:H}),e[41]=H,e[42]=z):z=e[42];let R;e[43]!==P||e[44]!==z?(R=(0,r.jsxs)("div",{children:[P,z]}),e[43]=P,e[44]=z,e[45]=R):R=e[45];let D;e[46]!==n||e[47]!==a||e[48]!==p||e[49]!==u?(D=n.length>0&&(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center justify-between px-1 pb-1",children:[(0,r.jsx)("p",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:u("History")}),(0,r.jsx)("button",{className:"rounded px-1 text-[11px] text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:text-foreground","data-testid":"sql-history-clear",onClick:a,type:"button",children:u("Clear history")})]}),(0,r.jsx)("ul",{className:"flex flex-col gap-px","data-testid":"sql-history",children:n.map(I=>(0,r.jsx)("li",{children:(0,r.jsxs)("button",{className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-[13px] text-muted-foreground outline-none transition-colors hover:bg-sidebar-accent hover:text-foreground focus-visible:bg-sidebar-accent","data-sql":I.sql,"data-testid":"sql-history-item",onClick:p,title:I.sql,type:"button",children:[(0,r.jsx)("svg",{"aria-hidden":"true",className:"size-3.5 shrink-0 opacity-70",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M12 8v4l3 2M12 21a9 9 0 1 1 0-18 9 9 0 0 1 0 18Z"})}),(0,r.jsx)("span",{className:"truncate font-mono",children:I.sql})]})},`${I.at.toString()}:${I.sql}`))})]}),e[46]=n,e[47]=a,e[48]=p,e[49]=u,e[50]=D):D=e[50];let B;e[51]!==W||e[52]!==R||e[53]!==D?(B=(0,r.jsxs)("div",{className:"flex flex-1 flex-col gap-4 overflow-y-auto p-2",children:[W,R,D]}),e[51]=W,e[52]=R,e[53]=D,e[54]=B):B=e[54];let j;return e[55]!==B||e[56]!==M?(j=(0,r.jsxs)("aside",{className:"flex h-full w-64 shrink-0 flex-col border-e border-border bg-sidebar",children:[M,B]}),e[55]=B,e[56]=M,e[57]=j):j=e[57],j},"Qt"),Qt=ne(le.listTables),Zt=ne(le.readTablePage),en=s(l=>{let e=(0,Y.c)(16),t=be(),n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=[],e[0]=n):n=e[0];let[o,a]=(0,E.useState)(n),d;e[1]===Symbol.for("react.memo_cache_sentinel")?(d={},e[1]=d):d=e[1];let[p,c]=(0,E.useState)(d),m;e[2]===Symbol.for("react.memo_cache_sentinel")?(m=new Set,e[2]=m):m=e[2];let k=(0,E.useRef)(m),g,x;e[3]!==t||e[4]!==l?(g=s(()=>{let f={cancelled:!1};return X((async()=>{try{let C=await t.query(Qt,{},re(l));f.cancelled||(a(C.map(nn)),c({}),k.current=new Set)}catch{f.cancelled||(a([]),c({}),k.current=new Set)}})()),()=>{f.cancelled=!0}},"x"),x=[t,l],e[3]=t,e[4]=l,e[5]=g,e[6]=x):(g=e[5],x=e[6]),(0,E.useEffect)(g,x);let b;e[7]!==t||e[8]!==l?(b=s(f=>{k.current.has(f)||(k.current.add(f),X((async()=>{try{let C=await t.query(Zt,{limit:1,offset:0,table:f},re(l));c(q=>({...q,[f]:C.columns}))}catch{k.current.delete(f)}})()))},"p"),e[7]=t,e[8]=l,e[9]=b):b=e[9];let u=b,y;e[10]!==p||e[11]!==o?(y={columns:p,tables:o},e[10]=p,e[11]=o,e[12]=y):y=e[12];let v=y,N;return e[13]!==u||e[14]!==v?(N={probe:u,schema:v},e[13]=u,e[14]=v,e[15]=N):N=e[15],N},"en"),ge=/\b(?:from|join|update|into)\s+([a-z_][\w$]*)|\b([a-z_][\w$]*)\s*\./gi,tn=s(l=>{let e=new Set;ge.lastIndex=0;let t=ge.exec(l);for(;t!==null;)e.add(t[1]??t[2]),t=ge.exec(l);return[...e]},"tn");function nn(l){return l.name}s(nn,"nn");var rn="lunora-studio-sql-tabs",ln="lunora-studio-sql-active-tab",ye=12,Q=s((l="",e="")=>({activeId:null,id:fe("tab"),name:e,sql:l}),"Q"),on=s(()=>he(ln,""),"on"),sn=s(l=>{let[e,t]=oe(rn),[n,o]=on(),a=(0,E.useRef)(null);e.length===0&&a.current===null&&(a.current=l()),(0,E.useEffect)(()=>{if(e.length===0&&a.current!==null){let p=a.current;t([p])}},[t,e.length]);let d=e.length===0&&a.current!==null?[a.current]:e;return{activeId:d.some(p=>p.id===n)?n:d[0]?.id??"",setActiveId:o,setTabs:t,tabs:d}},"sn"),Pe=s(l=>l.activeId===null&&l.sql.trim()!=="","De"),an=s((l,e)=>[...l,e].slice(-ye),"an"),cn=s((l,e,t)=>{let n=l.findIndex(a=>a.id===e);if(n===-1)return{activeId:l[0]?.id??"",tabs:[...l]};let o=l.filter(a=>a.id!==e);if(o.length===0){let a=t();return{activeId:a.id,tabs:[a]}}return{activeId:o[Math.min(n,o.length-1)].id,tabs:o}},"cn"),dn=s((l,e)=>{let t=l.filter(n=>n.id===e);return t.length===0?{activeId:l[0]?.id??"",tabs:[...l]}:{activeId:e,tabs:t}},"dn"),un=s((l,e,t)=>{let n=l.findIndex(a=>a.id===e);if(n===-1)return{activeId:t,tabs:[...l]};let o=l.slice(0,n+1);return{activeId:o.some(a=>a.id===t)?t:e,tabs:o}},"un"),mn=s(l=>{let e=l();return{activeId:e.id,tabs:[e]}},"mn"),pn=s((l,e,t)=>{if(l==="others")return e.filter(n=>n.id!==t);if(l==="right"){let n=e.findIndex(o=>o.id===t);return n===-1?[]:e.slice(n+1)}return[...e]},"pn"),bn=s((l,e)=>l.trim()===""?e:(l.split(`
3
+ `)[0]??l).slice(0,24),"fn"),hn=s(l=>{let e=(0,Y.c)(14),{initial:t,onCancel:n,onCommit:o,placeholder:a,testId:d}=l,p=K(),c=gn,m;e[0]!==o?(m=s(y=>{o(y.currentTarget.value.trim())},"u"),e[0]=o,e[1]=m):m=e[1];let k=m,g;e[2]!==n||e[3]!==o?(g=s(y=>{y.key==="Enter"?o(y.currentTarget.value.trim()):y.key==="Escape"&&n()},"x"),e[2]=n,e[3]=o,e[4]=g):g=e[4];let x=g,b;e[5]!==p?(b=p("Tab title"),e[5]=p,e[6]=b):b=e[6];let u;return e[7]!==t||e[8]!==k||e[9]!==x||e[10]!==a||e[11]!==b||e[12]!==d?(u=(0,r.jsx)("input",{"aria-label":b,className:"w-40 rounded border border-ring bg-background px-1 py-0.5 text-xs outline-none","data-testid":d,defaultValue:t,onBlur:k,onKeyDown:x,placeholder:a,ref:c,type:"text"}),e[7]=t,e[8]=k,e[9]=x,e[10]=a,e[11]=b,e[12]=d,e[13]=u):u=e[13],u},"bn"),fn=s(l=>{let e=(0,Y.c)(29),{idBase:t,onDiscard:n,onKeep:o}=l,a=K(),d=`sql-tab-close-prompt-${t}`,p;e[0]!==a?(p=a("Discard?"),e[0]=a,e[1]=p):p=e[1];let c;e[2]!==p?(c=(0,r.jsx)("span",{className:"text-[11px] text-muted-foreground",children:p}),e[2]=p,e[3]=c):c=e[3];let m;e[4]!==a?(m=a("Discard changes"),e[4]=a,e[5]=m):m=e[5];let k=`sql-tab-close-confirm-${t}`,g;e[6]!==a?(g=a("Discard changes"),e[6]=a,e[7]=g):g=e[7];let x;e[8]===Symbol.for("react.memo_cache_sentinel")?(x=(0,r.jsx)("svg",{"aria-hidden":"true",className:"size-3",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2.4,viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M5 13l4 4L19 7"})}),e[8]=x):x=e[8];let b;e[9]!==n||e[10]!==m||e[11]!==k||e[12]!==g?(b=(0,r.jsx)("button",{"aria-label":m,className:"flex size-5 items-center justify-center rounded text-destructive hover:bg-destructive/10","data-testid":k,onClick:n,title:g,type:"button",children:x}),e[9]=n,e[10]=m,e[11]=k,e[12]=g,e[13]=b):b=e[13];let u;e[14]!==a?(u=a("Keep editing"),e[14]=a,e[15]=u):u=e[15];let y=`sql-tab-close-cancel-${t}`,v;e[16]!==a?(v=a("Keep editing"),e[16]=a,e[17]=v):v=e[17];let N;e[18]===Symbol.for("react.memo_cache_sentinel")?(N=(0,r.jsx)("svg",{"aria-hidden":"true",className:"size-3",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2.4,viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M6 6l12 12M18 6 6 18"})}),e[18]=N):N=e[18];let f;e[19]!==o||e[20]!==y||e[21]!==v||e[22]!==u?(f=(0,r.jsx)("button",{"aria-label":u,className:"flex size-5 items-center justify-center rounded text-muted-foreground hover:bg-accent","data-testid":y,onClick:o,title:v,type:"button",children:N}),e[19]=o,e[20]=y,e[21]=v,e[22]=u,e[23]=f):f=e[23];let C;return e[24]!==d||e[25]!==f||e[26]!==c||e[27]!==b?(C=(0,r.jsxs)("span",{className:"flex shrink-0 items-center gap-1","data-testid":d,role:"group",children:[c,b,f]}),e[24]=d,e[25]=f,e[26]=c,e[27]=b,e[28]=C):C=e[28],C},"hn"),xn=s(l=>{let e=(0,Y.c)(47),{active:t,canClose:n,onClose:o,onMenu:a,onRename:d,onSelect:p,tab:c}=l,m=K(),[k,g]=(0,E.useState)(!1),[x,b]=(0,E.useState)(!1),u;e[0]!==a||e[1]!==c.id?(u=s(F=>{a(c.id,F)},"d"),e[0]=a,e[1]=c.id,e[2]=u):u=e[2];let y=u,v;e[3]!==p||e[4]!==c.id?(v=s(()=>{p(c.id)},"g"),e[3]=p,e[4]=c.id,e[5]=v):v=e[5];let N=v,f;e[6]===Symbol.for("react.memo_cache_sentinel")?(f=s(()=>{g(!0)},"b"),e[6]=f):f=e[6];let C=f,q;e[7]!==o||e[8]!==c?(q=s(F=>{F.stopPropagation(),Pe(c)?b(!0):o(c.id)},"q"),e[7]=o,e[8]=c,e[9]=q):q=e[9];let L=q,S;e[10]!==o||e[11]!==c.id?(S=s(F=>{F.stopPropagation(),b(!1),o(c.id)},"S"),e[10]=o,e[11]=c.id,e[12]=S):S=e[12];let M=S,O;e[13]===Symbol.for("react.memo_cache_sentinel")?(O=s(F=>{F.stopPropagation(),b(!1)},"L"),e[13]=O):O=e[13];let _=O,A;e[14]!==d||e[15]!==c.id?(A=s(F=>{d(c.id,F),g(!1)},"M"),e[14]=d,e[15]=c.id,e[16]=A):A=e[16];let W=A,$;e[17]===Symbol.for("react.memo_cache_sentinel")?($=s(()=>{g(!1)},"z"),e[17]=$):$=e[17];let P=$,H;e[18]!==c.name?(H=c.name.trim(),e[18]=c.name,e[19]=H):H=e[19];let z=H,R;e[20]!==m||e[21]!==c.sql?(R=bn(c.sql,m("Untitled")),e[20]=m,e[21]=c.sql,e[22]=R):R=e[22];let D=R,B=t?"bg-background text-foreground":"bg-muted/40 text-muted-foreground hover:text-foreground",j;e[23]!==B?(j=te("group/tab flex shrink-0 items-center gap-1 border-e border-border ps-3 pe-1.5 text-xs",B),e[23]=B,e[24]=j):j=e[24];let I=`sql-tab-${c.id}`,T;e[25]!==t||e[26]!==W||e[27]!==z||e[28]!==D||e[29]!==k||e[30]!==N||e[31]!==m||e[32]!==c.id?(T=k?(0,r.jsx)(hn,{initial:z,onCancel:P,onCommit:W,placeholder:D,testId:`sql-tab-rename-${c.id}`}):(0,r.jsx)("button",{"aria-pressed":t,className:"max-w-40 truncate py-1.5 outline-none","data-testid":`sql-tab-select-${c.id}`,onClick:N,onDoubleClick:C,title:m("Double-click to rename"),type:"button",children:z===""?D:z}),e[25]=t,e[26]=W,e[27]=z,e[28]=D,e[29]=k,e[30]=N,e[31]=m,e[32]=c.id,e[33]=T):T=e[33];let J;e[34]!==n||e[35]!==M||e[36]!==x||e[37]!==L||e[38]!==m||e[39]!==c.id?(J=n&&(x?(0,r.jsx)(fn,{idBase:c.id,onDiscard:M,onKeep:_}):(0,r.jsx)("button",{"aria-label":m("Close tab"),className:"flex size-5 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-destructive/10 hover:text-destructive","data-testid":`sql-tab-close-${c.id}`,onClick:L,title:m("Close tab"),type:"button",children:(0,r.jsx)("svg",{"aria-hidden":"true",className:"size-3",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M6 6l12 12M18 6 6 18"})})})),e[34]=n,e[35]=M,e[36]=x,e[37]=L,e[38]=m,e[39]=c.id,e[40]=J):J=e[40];let V;return e[41]!==y||e[42]!==j||e[43]!==I||e[44]!==T||e[45]!==J?(V=(0,r.jsxs)("div",{className:j,"data-testid":I,onContextMenu:y,children:[T,J]}),e[41]=y,e[42]=j,e[43]=I,e[44]=T,e[45]=J,e[46]=V):V=e[46],V},"xn");function gn(l){l?.focus(),l?.select()}s(gn,"gn");var vn=ne(le.runSql),yn="lunora-studio-sql-queries",Nn="lunora-studio-sql-history",kn="lunora-studio-sql-split-view",wn=25,qn={minWidth:"2.75rem",paddingInline:"0.5rem"},ve={error:null,pane:"results",result:null},Cn=s(l=>{let e=(0,Y.c)(16),{result:t}=l;if(t.columns.length===0){let c=t.rowCount===0?"0 rows":"",m;return e[0]!==c?(m=(0,r.jsx)("p",{className:"p-4 text-sm text-muted-foreground",children:c}),e[0]=c,e[1]=m):m=e[1],m}let n;e[2]!==t.columns?(n=t.columns.map(Sn),e[2]=t.columns,e[3]=n):n=e[3];let o;e[4]!==n?(o=(0,r.jsx)(Te,{className:"sticky top-0 z-10 bg-muted",children:(0,r.jsx)(xe,{children:n})}),e[4]=n,e[5]=o):o=e[5];let a;if(e[6]!==t.columns||e[7]!==t.rows){let c;e[9]!==t.columns?(c=s((m,k)=>(0,r.jsx)(xe,{"data-testid":"sql-row",children:t.columns.map(g=>(0,r.jsx)(Me,{className:"max-w-md truncate font-mono text-xs",children:(0,r.jsx)(_e,{value:m[g]})},g))},k),"i"),e[9]=t.columns,e[10]=c):c=e[10],a=t.rows.map(c),e[6]=t.columns,e[7]=t.rows,e[8]=a}else a=e[8];let d;e[11]!==a?(d=(0,r.jsx)(Oe,{children:a}),e[11]=a,e[12]=d):d=e[12];let p;return e[13]!==o||e[14]!==d?(p=(0,r.jsxs)(Re,{"data-testid":"sql-rows",children:[o,d]}),e[13]=o,e[14]=d,e[15]=p):p=e[15],p},"Cn"),Bn=s(({initialShardKey:l})=>{let e=be(),t=K(),[n,o]=oe(yn),[a,d]=oe(Nn),[p,c]=(0,E.useState)(""),m=s(()=>Q(Fe[0]?.sql??""),"u"),{activeId:k,setActiveId:g,setTabs:x,tabs:b}=sn(m),[u,y]=(0,E.useState)({}),[v,N]=(0,E.useState)(l??""),[f,C]=(0,E.useState)(!1),[q,L]=he(kn,!1),[S,M]=(0,E.useState)(null),[O,_]=(0,E.useState)(null),A=(0,E.useRef)(null),W=(0,E.useRef)(null),$=(0,E.useRef)(null),P=(0,E.useId)(),{probe:H,schema:z}=en(v),R=b.find(i=>i.id===k)??b[0]??Q(),D=R.sql,{activeId:B}=R,j=u[R.id]??ve,{error:I,result:T}=j,J=j.pane,V=s(i=>{x(h=>h.map(w=>w.id===R.id?{...w,...i}:w))},"G"),F=s(i=>{y(h=>{let w=h[R.id]??ve;return{...h,[R.id]:{error:i.error,pane:i.pane??w.pane,result:i.result}}})},"F"),ke=s(i=>{y(h=>{let w=h[R.id]??ve;return{...h,[R.id]:{...w,pane:i}}})},"ve"),ie=s(i=>{V({sql:i}),B!==null&&o(h=>h.map(w=>w.id===B?{...w,sql:i}:w))},"re"),Je=Ut(z,W,ie),{close:ae,commit:we,move:ce,refresh:Z,state:G}=Je,Ue=s(i=>{ce(i-(G?.active??0)),we()},"_e");(0,E.useEffect)(()=>{let i=W.current;i!==null&&i===document.activeElement&&Z(i.value,i.selectionStart)},[Z,z]);let Ye=s(i=>{d(h=>h[0]?.sql===i?h:[{at:Date.now(),sql:i},...h.filter(w=>w.sql!==i)].slice(0,wn))},"Ae"),de=s(async i=>{if(D.trim()==="")return;C(!0);let h=i==="explain"?`EXPLAIN QUERY PLAN ${D}`:D;try{let w=await e.query(vn,{sql:h},re(v));F({error:null,pane:i,result:w}),Ie(v),Ye(h)}catch(w){F({error:Se(w),pane:i,result:null})}finally{C(!1)}},"se"),Ke=s(()=>{X(de("results"))},"ze"),Ge=s(i=>{let{selectionStart:h,value:w}=i.target;ie(w);for(let U of tn(w))H(U);Z(w,h)},"je"),Ve=s(i=>{let h=i.currentTarget;Z(h.value,h.selectionStart)},"Be"),Xe=s(i=>{if(G!==null){if(i.key==="ArrowDown"){i.preventDefault(),ce(1);return}if(i.key==="ArrowUp"){i.preventDefault(),ce(-1);return}if(i.key==="Escape"){i.preventDefault(),ae();return}if((i.key==="Enter"||i.key==="Tab")&&!i.metaKey&&!i.ctrlKey&&we()){i.preventDefault();return}}(i.metaKey||i.ctrlKey)&&i.key==="Enter"&&(i.preventDefault(),X(de(J)))},"We"),Qe=s(()=>{requestAnimationFrame(()=>{ae()})},"Fe"),Ze=s(i=>{A.current!==null&&(A.current.scrollTop=i.currentTarget.scrollTop)},"He"),ee=s((i,h)=>{x(w=>w.map(U=>U.id===R.id?{...U,activeId:h,sql:i}:U)),F({error:null,result:null})},"te"),et=s(()=>{let i={id:fe("q"),name:t("Untitled query"),sql:""};o(h=>[i,...h]),ee("",i.id)},"Pe"),tt=s(i=>{let h=n.find(w=>w.id===i);h!==void 0&&(ee(h.sql,i),$.current?.querySelector(`[data-testid="sql-query-${i}"]`)?.scrollIntoView({block:"nearest"}))},"Ue"),nt=s(i=>{o(h=>h.filter(w=>w.id!==i)),x(h=>h.map(w=>w.activeId===i?{...w,activeId:null}:w))},"Je"),rt=s(i=>{ee(i.currentTarget.dataset.sql??"",null)},"Ke"),lt=s(i=>{ee(i.currentTarget.dataset.sql??"",null)},"Ye"),ot=s(()=>{d([])},"Ve"),st=s(()=>{ie(At(D))},"Ge"),it=s(()=>{if(b.length>=ye)return;let i=Q();x(h=>an(h,i)),g(i.id)},"Qe"),qe=s(i=>{M(null),_(null),x(i.tabs),g(i.activeId);let h=new Set(i.tabs.map(w=>w.id));y(w=>Object.fromEntries(Object.entries(w).filter(([U])=>h.has(U))))},"Ne"),at=s(i=>{qe(cn(b,i,Q))},"Xe"),Ce=s((i,h)=>{qe(i==="others"?dn(b,h):i==="right"?un(b,h,k):mn(Q))},"ke"),ue=s(i=>{S!==null&&(pn(i,b,S.id).some(h=>Pe(h))?_(i):Ce(i,S.id))},"ie"),ct=s((i,h)=>{h.preventDefault(),_(null),M({id:i,x:h.clientX,y:h.clientY})},"Ze"),dt=s(()=>{M(null),_(null)},"et"),ut=s(i=>{i.preventDefault(),M(null),_(null)},"tt"),mt=s(()=>{ue("others")},"nt"),pt=s(()=>{ue("right")},"rt"),bt=s(()=>{ue("all")},"lt"),ht=s(()=>{S!==null&&O!==null&&Ce(O,S.id),_(null)},"ot"),ft=s(()=>{_(null)},"st"),xt=S===null?void 0:{left:S.x,top:S.y},gt=s(i=>{ae(),g(i)},"at"),vt=s((i,h)=>{x(w=>w.map(U=>U.id===i?{...U,name:h}:U))},"ct"),yt=s(()=>{ke("results")},"dt"),Nt=s(()=>{X(de("explain"))},"ut"),kt=s(()=>{ke("chart")},"mt"),wt=s(()=>{L(!q)},"pt"),qt=D.split(`
4
+ `).length,Ct=s(i=>{c(i.target.value)},"bt"),me=s(i=>`border-b-2 px-3 py-2 text-sm outline-none transition-colors ${i?"border-foreground font-medium text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,"ae"),St=q?"flex min-h-0 flex-1 flex-row":"flex min-h-0 flex-1 flex-col",It=q?"flex w-2/5 min-h-0 min-w-0 shrink-0 flex-col border-s border-border":"flex h-2/5 min-h-0 shrink-0 flex-col border-t border-border";return(0,r.jsxs)("div",{className:"flex h-full min-w-0","data-testid":"lunora-sql-editor",children:[(0,r.jsx)(Xt,{activeId:B,history:a,listRef:$,onClearHistory:ot,onDelete:nt,onLoadHistory:lt,onLoadTemplate:rt,onNew:et,onSearchChange:Ct,onSelect:tt,queries:n,search:p}),(0,r.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,r.jsxs)("div",{className:"flex shrink-0 items-stretch overflow-x-auto border-b border-border bg-muted/30","data-testid":"sql-tab-strip",role:"tablist",children:[b.map(i=>(0,r.jsx)(xn,{active:i.id===R.id,canClose:b.length>1,onClose:at,onMenu:ct,onRename:vt,onSelect:gt,tab:i},i.id)),(0,r.jsx)("button",{"aria-label":t("New tab"),className:"flex size-8 shrink-0 items-center justify-center text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-40","data-testid":"sql-tab-add",disabled:b.length>=ye,onClick:it,title:t("New tab"),type:"button",children:(0,r.jsx)("svg",{"aria-hidden":"true",className:"size-4",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.7,viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M12 5v14M5 12h14"})})})]}),S!==null&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("div",{className:"fixed inset-0 z-40","data-testid":"sql-tab-menu-backdrop",onClick:dt,onContextMenu:ut,role:"presentation"}),(0,r.jsx)("div",{className:"fixed z-50 min-w-44 rounded-md border border-border bg-popover py-1 text-popover-foreground shadow-md","data-testid":"sql-tab-menu",role:"menu",style:xt,children:O===null?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{className:"flex w-full items-center px-3 py-1.5 text-start text-xs outline-none hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-40","data-testid":"sql-tab-menu-close-others",disabled:b.length<=1,onClick:mt,role:"menuitem",type:"button",children:t("Close other tabs")}),(0,r.jsx)("button",{className:"flex w-full items-center px-3 py-1.5 text-start text-xs outline-none hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-40","data-testid":"sql-tab-menu-close-right",disabled:b.findIndex(i=>i.id===S.id)>=b.length-1,onClick:pt,role:"menuitem",type:"button",children:t("Close tabs to the right")}),(0,r.jsx)("button",{className:"flex w-full items-center px-3 py-1.5 text-start text-xs outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"sql-tab-menu-close-all",onClick:bt,role:"menuitem",type:"button",children:t("Close all tabs")})]}):(0,r.jsxs)("div",{className:"px-3 py-1.5","data-testid":"sql-tab-menu-confirm",children:[(0,r.jsx)("p",{className:"pb-1.5 text-xs text-muted-foreground",children:t("Discard unsaved tabs?")}),(0,r.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,r.jsx)("button",{className:"rounded px-2 py-1 text-xs font-medium text-destructive outline-none hover:bg-destructive/10 focus-visible:bg-destructive/10","data-testid":"sql-tab-menu-confirm-discard",onClick:ht,type:"button",children:t("Discard")}),(0,r.jsx)("button",{className:"rounded px-2 py-1 text-xs text-muted-foreground outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"sql-tab-menu-confirm-cancel",onClick:ft,type:"button",children:t("Cancel")})]})]})})]}),(0,r.jsxs)("div",{className:St,children:[(0,r.jsxs)("div",{className:"flex min-h-0 min-w-0 flex-1",children:[(0,r.jsx)("div",{"aria-hidden":"true",className:"shrink-0 select-none overflow-hidden border-e border-border bg-muted/30 py-3 text-end font-mono text-xs leading-5 text-muted-foreground/60",ref:A,style:qn,children:Array.from({length:qt},(i,h)=>(0,r.jsx)("div",{children:h+1},h))}),(0,r.jsxs)("div",{className:"relative min-w-0 flex-1",children:[(0,r.jsx)("textarea",{"aria-activedescendant":G===null?void 0:`${P}-opt-${G.active.toString()}`,"aria-autocomplete":"list","aria-controls":G===null?void 0:P,"aria-expanded":G!==null,"aria-label":t("SQL query"),className:"size-full resize-none bg-background p-3 font-mono text-xs leading-5 outline-none","data-testid":"sql-input",onBlur:Qe,onChange:Ge,onKeyDown:Xe,onScroll:Ze,onSelect:Ve,placeholder:"SELECT * FROM \u2026",ref:W,role:"combobox",spellCheck:!1,value:D}),(0,r.jsx)(Gt,{listboxId:P,onPick:Ue,state:G})]})]}),(0,r.jsxs)("div",{className:It,children:[(0,r.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border pe-2",children:[(0,r.jsx)("button",{className:me(J==="results"),"data-testid":"sql-tab-results",onClick:yt,type:"button",children:t("Results")}),(0,r.jsx)("button",{className:me(J==="chart"),"data-testid":"sql-tab-chart",onClick:kt,type:"button",children:t("Chart")}),(0,r.jsx)("button",{className:me(J==="explain"),"data-testid":"sql-tab-explain",onClick:Nt,type:"button",children:t("Explain")}),(0,r.jsxs)("div",{className:"ms-auto flex items-center gap-2",children:[(0,r.jsx)("button",{"aria-label":t("Split editor and results"),"aria-pressed":q,className:`inline-flex items-center rounded-md border border-border px-2 py-1.5 outline-none transition-colors hover:bg-accent focus-visible:bg-accent ${q?"bg-accent text-foreground":"text-muted-foreground"}`,"data-testid":"sql-split-toggle",onClick:wt,title:t("Split editor and results"),type:"button",children:(0,r.jsxs)("svg",{"aria-hidden":"true",className:"size-4",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.7,viewBox:"0 0 24 24",children:[(0,r.jsx)("rect",{height:"16",rx:"2",width:"18",x:"3",y:"4"}),(0,r.jsx)("path",{d:"M12 4v16"})]})}),T!==null&&T.columns.length>0&&(0,r.jsx)(Ae,{columns:T.columns,name:"query-result",rows:T.rows}),(0,r.jsx)("button",{className:"inline-flex items-center rounded-md border border-border px-3 py-1.5 text-xs font-medium text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-50","data-testid":"sql-format",disabled:f,onClick:st,type:"button",children:t("Format")}),(0,r.jsx)(Ee,{onChange:N,testId:"sql-shard-input",value:v}),(0,r.jsxs)("button",{className:"inline-flex items-center gap-1.5 rounded-md bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground outline-none transition-colors hover:bg-primary/90 focus-visible:bg-primary/90 disabled:pointer-events-none disabled:opacity-50","data-testid":"sql-run",disabled:f,onClick:Ke,type:"button",children:[t(f?"Running\u2026":"Run"),(0,r.jsx)("kbd",{className:"rounded border border-primary-foreground/30 px-1 font-sans text-[10px]",children:"\u2318\u21B5"})]})]})]}),(0,r.jsxs)("div",{className:"min-h-0 flex-1 overflow-auto",children:[I!==null&&(0,r.jsx)(Le,{className:"m-3 font-mono text-xs",testId:"sql-error",variant:"destructive",children:I}),I===null&&T===null&&(0,r.jsx)("p",{className:"p-4 text-sm text-muted-foreground","data-testid":"sql-empty",children:t("Click Run to execute your query.")}),I===null&&T!==null&&(0,r.jsxs)("div",{"data-testid":"sql-result",children:[J==="chart"?(0,r.jsx)(ze,{result:T}):(0,r.jsx)(Cn,{result:T}),(0,r.jsx)("p",{className:"border-t border-border px-3 py-1.5 text-xs text-muted-foreground","data-testid":"sql-count",children:T.truncated?t("Showing the first {max} of {count} rows.",{count:T.rowCount,max:T.rows.length}):t("{count} rows",{count:T.rowCount})})]})]})]})]})]})]})},"Hn");function Sn(l){return(0,r.jsx)(De,{children:l},l)}s(Sn,"Sn");export{Bn as SqlEditorPanel};
@@ -0,0 +1 @@
1
+ import{d as n}from"./chunk-4CGALXS3.js";import{a,e as l,g as u,h as x}from"./chunk-3XIESWL4.js";var m=l(u(),1);var v=l(x(),1);var f=a(c=>{let r=(0,m.c)(6),{message:t,prefix:p}=c,o=n();if(t===void 0)return null;let i=`${p}-live-error`,e;r[0]!==t||r[1]!==o?(e=o("Live unavailable: {liveError}",{liveError:t}),r[0]=t,r[1]=o,r[2]=e):e=r[2];let s;return r[3]!==i||r[4]!==e?(s=(0,v.jsx)("span",{className:"text-xs text-destructive","data-testid":i,role:"status",children:e}),r[3]=i,r[4]=e,r[5]=s):s=r[5],s},"p");export{f as a};
@@ -0,0 +1 @@
1
+ import{a as r,i as y}from"./chunk-3XIESWL4.js";var V=r(e=>typeof e=="boolean"?`${e}`:e===0?"0":e,"falsyToString"),N=y,j=r((e,l)=>n=>{var s;if(l?.variants==null)return N(e,n?.class,n?.className);let{variants:v,defaultVariants:d}=l,f=Object.keys(v).map(t=>{let a=n?.[t],u=d?.[t];if(a===null)return null;let i=V(a)||V(u);return v[t][i]}),c=n&&Object.entries(n).reduce((t,a)=>{let[u,i]=a;return i===void 0||(t[u]=i),t},{}),C=l==null||(s=l.compoundVariants)===null||s===void 0?void 0:s.reduce((t,a)=>{let{class:u,className:i,...x}=a;return Object.entries(x).every(O=>{let[m,o]=O;return Array.isArray(o)?o.includes({...d,...c}[m]):{...d,...c}[m]===o})?[...t,u,i]:t},[]);return N(e,f,C,n?.class,n?.className)},"cva");export{j as a};
@@ -0,0 +1 @@
1
+ import{b as R}from"./chunk-H7NIIBHH.js";import"./chunk-UNUU7CJJ.js";import"./chunk-XXQUMVWH.js";import{b as h}from"./chunk-XSD4Y6SQ.js";import"./chunk-MIQTKZAR.js";import"./chunk-UZERI5YC.js";import{a as p}from"./chunk-GXZAXNZI.js";import"./chunk-35II7U25.js";import"./chunk-XBDKZZ67.js";import{d as g}from"./chunk-4CGALXS3.js";import"./chunk-LE56LPNH.js";import{a as s,e as m,g as S,h as _}from"./chunk-3XIESWL4.js";var f=m(S(),1);var k=m(_(),1);var A=s((e,t)=>({"admin-token-weak":e("Weak admin token"),"auth-secret-weak":e("Weak auth secret"),"cookies-insecure":e("Session cookies are not Secure"),"cors-wildcard-credentials":e("Wildcard CORS with credentials"),"csrf-disabled":e("CSRF/origin guard is off"),"dev-args-unredacted":e("Request log keeps un-redacted args"),"security-headers-disabled":e("Security headers are off"),"ws-gate-open":e("Live admin subscriptions are ungated")})[t.kind],"R"),w=s(e=>Array.isArray(e.findings)?e.findings:[],"k"),E=s(e=>({"admin-token-weak":"LUNORA_ADMIN_TOKEN","auth-secret-weak":"AUTH_SECRET","cookies-insecure":"BETTER_AUTH_URL","cors-wildcard-credentials":"LUNORA_ALLOWED_ORIGINS","csrf-disabled":"LUNORA_SECURITY_CSRF","dev-args-unredacted":"request log","security-headers-disabled":"LUNORA_SECURITY_HEADERS","ws-gate-open":"LUNORA_WS_BEARER"})[e.kind],"S"),T=s((e,t)=>({"admin-token-weak":e("Your admin token is {length} characters \u2014 use at least {min} for a brute-force-resistant secret.",{length:t.detail?.length,min:t.detail?.min}),"auth-secret-weak":e("Your auth secret is {length} characters \u2014 use at least {min} (e.g. `openssl rand -hex 32`) to sign sessions safely.",{length:t.detail?.length,min:t.detail?.min}),"cookies-insecure":e("BETTER_AUTH_URL is a plaintext http:// origin, so session cookies cannot be Secure and ride in cleartext. Serve auth over https:// in production."),"cors-wildcard-credentials":e("LUNORA_ALLOWED_ORIGINS includes a wildcard while credentials are allowed \u2014 browsers reject this and it defeats the allowlist. Name explicit origins instead of *."),"csrf-disabled":e("LUNORA_SECURITY_CSRF is off, so cross-origin state-changing cookie requests are not blocked. Re-enable it in production to keep mutations un-forgeable."),"dev-args-unredacted":e("This worker reports a development environment, so the request log stores raw args and identity. Confirm it isn't a mislabeled production deploy."),"security-headers-disabled":e("LUNORA_SECURITY_HEADERS is off, so HSTS, CSP, nosniff, and frame-options are not applied. Re-enable the baseline headers in production."),"ws-gate-open":e("LUNORA_WS_BEARER is unset, so the WebSocket upgrade gate is open: live admin subscriptions need no credential. Set it to gate them like the HTTP admin RPCs.")})[t.kind],"A"),O=s(()=>{let e=(0,f.c)(8),t=g(),r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r={},e[0]=r):r=e[0];let{data:a,error:d,errorSource:c}=h(p.getSecurityAudit,r),n;if(e[1]!==a||e[2]!==t){let u=a===void 0?null:w(a);n=u===null?null:u.map(i=>({description:T(t,i),entity:E(i),issueType:A(t,i),key:i.kind,level:i.level})),e[1]=a,e[2]=t,e[3]=n}else n=e[3];let l=n,o;return e[4]!==d||e[5]!==c||e[6]!==l?(o=(0,k.jsx)(R,{error:d,errorSource:c,rows:l,testId:"lunora-security-advisor"}),e[4]=d,e[5]=c,e[6]=l,e[7]=o):o=e[7],o},"N");export{O as default};
@@ -0,0 +1 @@
1
+ import{a as O}from"./chunk-X2FQ6B5V.js";import{a as q,b as B}from"./chunk-AVAC26HJ.js";import{a as z}from"./chunk-LFKCLLPT.js";import{a as A}from"./chunk-UNUU7CJJ.js";import"./chunk-XXQUMVWH.js";import{b as R}from"./chunk-XSD4Y6SQ.js";import{a as K,b as T,c as F,d as p,e as l,f as d}from"./chunk-MIQTKZAR.js";import{a as I,e as E}from"./chunk-UZERI5YC.js";import{a as j}from"./chunk-LFXFP4IF.js";import"./chunk-GRL5MG3Z.js";import"./chunk-7T7UOTYK.js";import{R as C}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import"./chunk-2OUPA2WJ.js";import{b as y}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as V}from"./chunk-GXZAXNZI.js";import"./chunk-35II7U25.js";import"./chunk-XBDKZZ67.js";import{a as k}from"./chunk-XQCVZAGU.js";import{d as L,q as M}from"./chunk-4CGALXS3.js";import"./chunk-LE56LPNH.js";import{a as o,e as b,f as ee,h as te}from"./chunk-3XIESWL4.js";var i=b(ee(),1);var e=b(te(),1);var D=80,re=o(s=>{if(s===void 0)return"";let t=JSON.stringify(s);return t.length>D?`${t.slice(0,D)}\u2026`:t},"te"),ae=41,J=480,H=5,ie=o((s,t)=>q(s,n=>{t(n.height>0?n:{height:J,width:n.width})}),"ae"),Ne=o(({initialShardKey:s})=>{let t=L(),[n,P]=(0,i.useState)(s??""),[c,U]=(0,i.useState)(""),W=z(n.trim(),400),{data:f,error:g,errorSource:Z,isLoading:_,liveError:$}=R(V.getAuditLog,{},{live:!0,shardKey:W}),h=(0,i.useMemo)(()=>f?.entries??[],[f]),m=(0,i.useMemo)(()=>{let a=c.trim().toLowerCase();return a===""?h:h.filter(r=>r.op.toLowerCase().includes(a)||(r.table??"").toLowerCase().includes(a)||(r.id??"").toLowerCase().includes(a))},[h,c]),x=(0,i.useRef)(null),v=B({count:m.length,estimateSize:o(()=>ae,"estimateSize"),getScrollElement:o(()=>x.current,"getScrollElement"),initialRect:{height:J,width:800},observeElementRect:ie,overscan:8}),u=v.getVirtualItems(),G=v.getTotalSize(),N=u[0]?.start??0,w=G-(u.at(-1)?.end??0),Q={height:N},X={height:w},Y=o(a=>{U(a.target.value)},"V");return(0,e.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-audit",children:[(0,e.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,e.jsx)(j,{onChange:P,testId:"au-shard-input",value:n}),(0,e.jsx)(O,{message:$,prefix:"au"}),(0,e.jsx)(C,{"aria-label":t("Filter audit log"),className:"h-8 w-48","data-testid":"au-search",onChange:Y,placeholder:t("filter op, table, id"),value:c})]}),g!==null&&(0,e.jsx)(A,{error:Z,testId:"au-error"}),g===null&&!_&&m.length===0&&(0,e.jsx)(k,{description:t("State-changing admin operations are recorded here."),icon:(0,e.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,e.jsx)("path",{d:"M8 3H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2h-2M9 3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v1a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1V3Zm-1 9h8m-8 4h5"})}),testId:"au-empty",title:t("No audit entries.")}),m.length>0&&(0,e.jsx)(I,{className:"overflow-hidden py-0",children:(0,e.jsx)(E,{className:"max-h-[30rem] overflow-auto px-0",ref:x,children:(0,e.jsxs)(K,{"data-testid":"au-table",children:[(0,e.jsx)(T,{children:(0,e.jsxs)(p,{children:[(0,e.jsx)(l,{children:t("time")}),(0,e.jsx)(l,{children:t("op")}),(0,e.jsx)(l,{children:t("table")}),(0,e.jsx)(l,{children:t("id")}),(0,e.jsx)(l,{children:t("detail")})]})}),(0,e.jsxs)(F,{children:[N>0&&(0,e.jsx)("tr",{"aria-hidden":"true",children:(0,e.jsx)("td",{colSpan:H,style:Q})}),u.map(a=>{let r=m[a.index],S=re(r.detail);return(0,e.jsxs)(p,{"data-testid":"au-row",children:[(0,e.jsx)(d,{className:"text-muted-foreground tabular-nums",children:M(r.ts,"\u2014")}),(0,e.jsx)(d,{children:(0,e.jsx)(y,{variant:"secondary",children:r.op})}),(0,e.jsx)(d,{className:"font-medium",children:r.table??(0,e.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})}),(0,e.jsx)(d,{className:"max-w-[20ch] truncate font-mono text-xs",children:r.id??(0,e.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})}),(0,e.jsx)(d,{className:"max-w-[32ch] truncate font-mono text-xs text-muted-foreground",title:S||void 0,children:S||(0,e.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})})]},r.seq)}),w>0&&(0,e.jsx)("tr",{"aria-hidden":"true",children:(0,e.jsx)("td",{colSpan:H,style:X})})]})]})})})]})},"we");export{Ne as AuditPanel};
@@ -0,0 +1 @@
1
+ import{a as u,e as g,g as b,h as j,j as h}from"./chunk-3XIESWL4.js";var v=g(b(),1);var t=g(j(),1);var z=u(N=>{let e=(0,v.c)(19),{action:a,className:x,description:c,icon:m,testId:f,title:p}=N,s;e[0]!==x?(s=h("flex flex-col items-center justify-center gap-3 rounded-lg border border-dashed border-border px-6 py-14 text-center",x),e[0]=x,e[1]=s):s=e[1];let r;e[2]!==m?(r=m!==void 0&&(0,t.jsx)("span",{className:"flex size-10 items-center justify-center rounded-lg bg-muted text-muted-foreground [&_svg]:size-5",children:m}),e[2]=m,e[3]=r):r=e[3];let d;e[4]!==p?(d=(0,t.jsx)("p",{className:"text-sm font-medium text-foreground",children:p}),e[4]=p,e[5]=d):d=e[5];let l;e[6]!==c?(l=c!==void 0&&(0,t.jsx)("p",{className:"max-w-sm text-sm text-muted-foreground",children:c}),e[6]=c,e[7]=l):l=e[7];let o;e[8]!==d||e[9]!==l?(o=(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[d,l]}),e[8]=d,e[9]=l,e[10]=o):o=e[10];let i;e[11]!==a?(i=a!==void 0&&(0,t.jsx)("div",{className:"mt-1 flex items-center gap-2",children:a}),e[11]=a,e[12]=i):i=e[12];let n;return e[13]!==s||e[14]!==r||e[15]!==o||e[16]!==i||e[17]!==f?(n=(0,t.jsxs)("div",{className:s,"data-testid":f,children:[r,o,i]}),e[13]=s,e[14]=r,e[15]=o,e[16]=i,e[17]=f,e[18]=n):n=e[18],n},"y");export{z as a};
@@ -0,0 +1 @@
1
+ import{b as de,c as Wo,d as Xo}from"./chunk-SD4BERSA.js";import{a as qo}from"./chunk-IC4L6G56.js";import{a as So,c as No,d as Do,e as $o}from"./chunk-KYF2E5CJ.js";import{A as lo,D as U,E as mo,F as fo,I as go,K as Ro,L as xo,O as Mo,P as ho,Q as bo,S as Co,T as vo,U as Io,V as Eo,W as yo,Y as Po,_ as Oo,aa as To,ba as at,ca as ko,da as wo,ea as ut,ha as _o,ia as At,ja as He,l as Dt,la as Ao,ma as Vo,n as ro,na as Lo,o as so,oa as Fo,pa as Go,q as io,qa as Uo,r as nt,ra as Ho,s as rt,t as ao,ta as jo,u as st,ua as Yo,v as uo,va as Ko,w as co,x as po,y as it}from"./chunk-7YEFOSPH.js";import{b as Bo}from"./chunk-BGBLQ563.js";import{i as zo,k as Jo}from"./chunk-QBWRC5YX.js";import{C as Ne,I as Fe,J as no,K as Ge,L as tt,M as ot,O as y,P as W,d as wt,e as oe,h as We,i as oo,p as _t}from"./chunk-CFPZYHPY.js";import{a as ct,b as Ue}from"./chunk-FXCBF4XT.js";import{a as Ee,c as Le,i as Zt,q as eo,t as to}from"./chunk-2OUPA2WJ.js";import{a as he,c as L,d as Qt,e as et,h as Je,i as pe,j as I}from"./chunk-6ST5ECQA.js";import{a as n,d as $n,e as f,f as C,g as zn,h as fe,j as Be}from"./chunk-3XIESWL4.js";var _e=f(zn(),1),Dc=f(C(),1);var ne={};$n(ne,{Arrow:()=>Zo,Backdrop:()=>tn,CheckboxItem:()=>sn,CheckboxItemIndicator:()=>an,Group:()=>pn,GroupLabel:()=>ln,Handle:()=>Qe,Item:()=>fn,LinkItem:()=>gn,Popup:()=>xn,Portal:()=>bn,Positioner:()=>Cn,RadioGroup:()=>In,RadioItem:()=>Pn,RadioItemIndicator:()=>Sn,Root:()=>Ot,Separator:()=>qo,SubmenuRoot:()=>On,SubmenuTrigger:()=>Ln,Trigger:()=>Dn,Viewport:()=>Bn,createHandle:()=>Fn});var Qo=f(C(),1);var pt=f(C(),1);var Vt=pt.createContext(void 0);function X(t){let e=pt.useContext(Vt);if(e===void 0&&!t)throw new Error(L(33));return e}n(X,"useMenuPositionerContext");var dt=f(C(),1);var Bt=dt.createContext(void 0);function O(t){let e=dt.useContext(Bt);if(e===void 0&&!t)throw new Error(L(36));return e}n(O,"useMenuRootContext");var Zo=Qo.forwardRef(n(function(e,o){let{render:i,className:u,style:a,...d}=e,{store:l}=O(),{arrowRef:r,side:m,align:R,arrowUncentered:g,arrowStyles:x}=X(),v={open:l.useState("open"),side:m,align:R,uncentered:g};return I("div",e,{ref:[r,o],stateAttributesMapping:He,state:v,props:{style:x,"aria-hidden":!0,...d}})},"MenuArrow"));var en=f(C(),1);var lt=f(C(),1);var Jn=lt.createContext(void 0);function be(t=!0){let e=lt.useContext(Jn);if(e===void 0&&!t)throw new Error(L(25));return e}n(be,"useContextMenuRootContext");var Wn={...He,...Fe},tn=en.forwardRef(n(function(e,o){let{render:i,className:u,style:a,...d}=e,{store:l}=O(),r=l.useState("open"),m=l.useState("mounted"),R=l.useState("transitionStatus"),g=l.useState("lastOpenChangeReason"),x=be(),M={open:r,transitionStatus:R};return I("div",e,{ref:x?.backdropRef?[o,x.backdropRef]:o,state:M,stateAttributesMapping:Wn,props:[{role:"presentation",hidden:!m,style:{pointerEvents:g===y.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},d]})},"MenuBackdrop"));var gt=f(C(),1);var mt=f(C(),1);var Lt=mt.createContext(void 0);function on(){let t=mt.useContext(Lt);if(t===void 0)throw new Error(L(30));return t}n(on,"useMenuCheckboxItemContext");var je=f(C(),1);var nn=f(C(),1);function ft(t){let{closeOnClick:e,highlighted:o,id:i,nodeId:u,store:a,typingRef:d,itemRef:l,itemMetadata:r}=t,{events:m}=a.useState("floatingTreeRoot"),R=a.useState("open"),g=be(!0),x=g!==void 0;return nn.useMemo(()=>({id:i,role:"menuitem",tabIndex:R&&o?0:-1,onKeyDown(M){M.key===" "&&d?.current&&M.preventDefault()},onMouseMove(M){u&&m.emit("itemhover",{nodeId:u,target:M.currentTarget})},onClick(M){e&&m.emit("close",{domEvent:M,reason:y.itemPress})},onMouseUp(M){if(g){let v=g.initialCursorPointRef.current;if(g.initialCursorPointRef.current=null,x&&v&&Math.abs(M.clientX-v.x)<=1&&Math.abs(M.clientY-v.y)<=1||x&&!oo.os.mac&&M.button===2)return}l.current&&a.context.allowMouseUpTriggerRef.current&&(!x||M.button===2)&&(!r||r.type==="regular-item")&&l.current.click()}}),[e,o,i,m,u,R,a,d,l,g,x,r])}n(ft,"useMenuItemCommonProps");var Ye={type:"regular-item"};function Oe(t){let{closeOnClick:e,disabled:o=!1,highlighted:i,id:u,store:a,typingRef:d=a.context.typingRef,nativeButton:l,itemMetadata:r,nodeId:m}=t,R=a.useState("disabled"),g=o||R,x=je.useRef(null),{getButtonProps:M,buttonRef:v}=Ue({disabled:g,focusableWhenDisabled:!0,native:l,composite:!0}),P=ft({closeOnClick:e,highlighted:i,id:u,nodeId:m,store:a,typingRef:d,itemRef:x,itemMetadata:r}),c=je.useCallback(b=>he(P,{onMouseEnter(){r.type==="submenu-trigger"&&r.setActive()}},b,M),[P,M,r]),h=et(x,v);return je.useMemo(()=>({getItemProps:c,itemRef:h}),[c,h])}n(Oe,"useMenuItem");var Ft=(function(t){return t.checked="data-checked",t.unchecked="data-unchecked",t.disabled="data-disabled",t.highlighted="data-highlighted",t})({});var Te={checked(t){return t?{[Ft.checked]:""}:{[Ft.unchecked]:""}},...Fe};var rn=f(fe(),1);var sn=gt.forwardRef(n(function(e,o){let{render:i,className:u,id:a,label:d,nativeButton:l=!1,disabled:r=!1,closeOnClick:m=!1,checked:R,defaultChecked:g,onCheckedChange:x,style:M,...v}=e,P=de({label:d}),c=X(!0),h=oe(a),{store:b}=O(),p=b.useState("isActive",P.index),T=b.useState("itemProps"),[V,s]=ot({controlled:R,default:g??!1,name:"MenuCheckboxItem",state:"checked"}),{getItemProps:w,itemRef:S}=Oe({closeOnClick:m,disabled:r,highlighted:p,id:h,store:b,nativeButton:l,nodeId:c?.context.nodeId,itemMetadata:Ye}),j=gt.useMemo(()=>({disabled:r,highlighted:p,checked:V}),[r,p,V]);function N(D){let F=W(y.itemPress,D.nativeEvent,void 0,{preventUnmountOnClose(){}});x?.(!V,F),!F.isCanceled&&s($=>!$)}n(N,"handleClick");let _=I("div",e,{state:j,stateAttributesMapping:Te,props:[T,{role:"menuitemcheckbox","aria-checked":V,onClick:N},v,w],ref:[S,o,P.ref]});return(0,rn.jsx)(Lt.Provider,{value:j,children:_})},"MenuCheckboxItem"));var Rt=f(C(),1);var an=Rt.forwardRef(n(function(e,o){let{render:i,className:u,style:a,keepMounted:d=!1,...l}=e,r=on(),m=Rt.useRef(null),{transitionStatus:R,setMounted:g}=tt(r.checked);Ge({open:r.checked,ref:m,onComplete(){r.checked||g(!1)}});let x={checked:r.checked,disabled:r.disabled,highlighted:r.highlighted,transitionStatus:R};return I("span",e,{state:x,ref:[o,m],stateAttributesMapping:Te,props:{"aria-hidden":!0,...l},enabled:d||r.checked})},"MenuCheckboxItemIndicator"));var Mt=f(C(),1);var xt=f(C(),1);var Xe=xt.createContext(void 0);function un(){let t=xt.useContext(Xe);if(t===void 0)throw new Error(L(31));return t}n(un,"useMenuGroupRootContext");var cn=f(fe(),1);var pn=Mt.forwardRef(n(function(e,o){let{render:i,className:u,style:a,...d}=e,[l,r]=Mt.useState(void 0),m=I("div",e,{ref:o,props:{role:"group","aria-labelledby":l,...d}});return(0,cn.jsx)(Xe.Provider,{value:r,children:m})},"MenuGroup"));var dn=f(C(),1);var ln=dn.forwardRef(n(function(e,o){let{render:i,className:u,style:a,id:d,...l}=e,r=oe(d),m=un();return Ee(()=>(m(r),()=>{m(void 0)}),[m,r]),I("div",e,{ref:o,props:{id:r,role:"presentation",...l}})},"MenuGroupLabel"));var mn=f(C(),1);var fn=mn.forwardRef(n(function(e,o){let{render:i,className:u,id:a,label:d,nativeButton:l=!1,disabled:r=!1,closeOnClick:m=!0,style:R,...g}=e,x=de({label:d}),M=X(!0),v=oe(a),{store:P}=O(),c=P.useState("isActive",x.index),h=P.useState("itemProps"),{getItemProps:b,itemRef:p}=Oe({closeOnClick:m,disabled:r,highlighted:c,id:v,store:P,nativeButton:l,nodeId:M?.context.nodeId,itemMetadata:Ye});return I("div",e,{state:{disabled:r,highlighted:c},props:[h,g,b],ref:[p,o,x.ref]})},"MenuItem"));var ht=f(C(),1);var gn=ht.forwardRef(n(function(e,o){let{render:i,className:u,id:a,label:d,closeOnClick:l=!1,style:r,...m}=e,R=ht.useRef(null),g=de({label:d}),M=X(!0)?.context.nodeId,v=oe(a),{store:P}=O(),c=P.useState("isActive",g.index),h=P.useState("itemProps"),b=P.context.typingRef,{getButtonProps:p,buttonRef:T}=Ue({native:!1,composite:!0}),V=ft({closeOnClick:l,highlighted:c,id:v,nodeId:M,store:P,typingRef:b,itemRef:R});function s(S){return he(V,S,p)}return n(s,"getItemProps"),I("a",e,{state:{highlighted:c},props:[h,m,s],ref:[R,T,o,g.ref]})},"MenuLinkItem"));var Ke=f(C(),1);var Rn=f(fe(),1);var Xn={...He,...Fe},xn=Ke.forwardRef(n(function(e,o){let{render:i,className:u,style:a,finalFocus:d,...l}=e,{store:r}=O(),{side:m,align:R}=X(),g=Ko(!0)!=null,x=r.useState("open"),M=r.useState("transitionStatus"),v=r.useState("popupProps"),P=r.useState("mounted"),c=r.useState("instantType"),h=r.useState("activeTriggerElement"),b=r.useState("parent"),p=r.useState("lastOpenChangeReason"),T=r.useState("rootId"),V=r.useState("floatingRootContext"),s=r.useState("floatingTreeRoot"),w=r.useState("closeDelay"),S=r.useState("activeTriggerElement"),j=r.useState("hoverEnabled"),N=r.useState("disabled"),_=r.useState("openMethod"),D=b.type==="context-menu";Ge({open:x,ref:r.context.popupRef,onComplete(){x&&r.context.onOpenChangeComplete?.(!0)}}),Ke.useEffect(()=>{function K(k){r.setOpen(!1,W(k.reason,k.domEvent))}return n(K,"handleClose"),s.events.on("close",K),()=>{s.events.off("close",K)}},[s.events,r]),To(V,{enabled:j&&!N&&!D&&b.type!=="menubar",closeDelay:w});let F=Ke.useCallback(K=>{r.set("popupElement",K)},[r]),$={transitionStatus:M,side:m,align:R,open:x,nested:b.type==="menu",instant:c},Y=I("div",e,{state:$,ref:[o,r.context.popupRef,F],stateAttributesMapping:Xn,props:[v,{onKeyDown(K){g&&Yo.has(K.key)&&K.stopPropagation()}},Uo(M),l,{"data-rootownerid":T}]}),Q=b.type===void 0||D;return(h||b.type==="menubar"&&p!==y.outsidePress)&&(Q=!0),(0,Rn.jsx)(po,{context:V,openInteractionType:_,modal:D,disabled:!P,returnFocus:d===void 0?Q:d,initialFocus:b.type!=="menu",restoreFocus:!0,externalTree:b.type!=="menubar"?s:void 0,previousFocusableElement:S,nextFocusableElement:b.type===void 0?r.context.triggerFocusTargetRef:void 0,beforeContentFocusGuardRef:b.type===void 0?r.context.beforeContentFocusGuardRef:void 0,children:Y})},"MenuPopup"));var hn=f(C(),1);var bt=f(C(),1);var Gt=bt.createContext(void 0);function Mn(){let t=bt.useContext(Gt);if(t===void 0)throw new Error(L(32));return t}n(Mn,"useMenuPortalContext");var Ut=f(fe(),1);var bn=hn.forwardRef(n(function(e,o){let{keepMounted:i=!1,...u}=e,{store:a}=O();return a.useState("mounted")||i?(0,Ut.jsx)(Gt.Provider,{value:i,children:(0,Ut.jsx)(io,{ref:o,...u})}):null},"MenuPortal"));var Ce=f(C(),1);var $e=f(fe(),1);var Cn=Ce.forwardRef(n(function(e,o){let{anchor:i,positionMethod:u="absolute",className:a,render:d,side:l,align:r,sideOffset:m=0,alignOffset:R=0,collisionBoundary:g="clipping-ancestors",collisionPadding:x=5,arrowPadding:M=5,sticky:v=!1,disableAnchorTracking:P=!1,collisionAvoidance:c=ro,style:h,...b}=e,{store:p}=O(),T=Mn(),V=be(!0),s=p.useState("parent"),w=p.useState("floatingRootContext"),S=p.useState("floatingTreeRoot"),j=p.useState("mounted"),N=p.useState("open"),_=p.useState("modal"),D=p.useState("openMethod"),F=p.useState("activeTriggerElement"),$=p.useState("transitionStatus"),Y=p.useState("positionerElement"),Q=p.useState("instantType"),K=p.useState("hasViewport"),k=p.useState("lastOpenChangeReason"),Z=p.useState("floatingNodeId"),re=p.useState("floatingParentNodeId"),ve=w.useState("domReferenceElement"),le=Ce.useRef(null),ie=no(Y,!1,!1),ge=i,Re=m,Pe=R,z=r,ae=c;s.type==="context-menu"&&(ge=i??s.context?.anchor,z=z??"start",!l&&z!=="center"&&(Pe=e.alignOffset??2,Re=e.sideOffset??-5));let ue=l,xe=z;s.type==="menu"?(ue=ue??"inline-end",xe=xe??"start",ae=e.collisionAvoidance??so):s.type==="menubar"&&(ue=ue??(s.context.orientation==="vertical"?"inline-end":"bottom"),xe=xe??"start");let Me=s.type==="context-menu",se=Fo({anchor:ge,floatingRootContext:w,positionMethod:V?"fixed":u,mounted:j,side:ue,sideOffset:Re,align:xe,alignOffset:Pe,arrowPadding:Me?0:M,collisionBoundary:g,collisionPadding:x,sticky:v,nodeId:Z,keepMounted:T,disableAnchorTracking:P,collisionAvoidance:ae,shiftCrossAxis:Me&&!("side"in ae&&ae.side==="flip"),externalTree:S,adaptiveOrigin:K?Lo:void 0});Ce.useEffect(()=>{function B(A){A.open&&(A.parentNodeId===Z&&p.set("hoverEnabled",!1),A.nodeId!==Z&&A.parentNodeId===p.select("floatingParentNodeId")&&p.setOpen(!1,W(y.siblingOpen)))}return n(B,"onMenuOpenChange"),S.events.on("menuopenchange",B),()=>{S.events.off("menuopenchange",B)}},[p,S.events,Z]),Ce.useEffect(()=>{if(p.select("floatingParentNodeId")==null)return;function B(A){if(A.open||A.nodeId!==p.select("floatingParentNodeId"))return;let Ie=A.reason??y.siblingOpen;p.setOpen(!1,W(Ie))}return n(B,"onParentClose"),S.events.on("menuopenchange",B),()=>{S.events.off("menuopenchange",B)}},[S.events,p]);let ce=Ne();Ce.useEffect(()=>{N||ce.clear()},[N,ce]),Ce.useEffect(()=>{function B(A){if(!(!N||A.nodeId!==p.select("floatingParentNodeId")))if(A.target&&F&&F!==A.target){let Ie=p.select("closeDelay");Ie>0?ce.isStarted()||ce.start(Ie,()=>{p.setOpen(!1,W(y.siblingOpen))}):p.setOpen(!1,W(y.siblingOpen))}else ce.clear()}return n(B,"onItemHover"),S.events.on("itemhover",B),()=>{S.events.off("itemhover",B)}},[S.events,N,F,p,ce]),Ce.useEffect(()=>{let B={open:N,nodeId:Z,parentNodeId:re,reason:p.select("lastOpenChangeReason")};S.events.emit("menuopenchange",B)},[S.events,N,p,Z,re]),Ee(()=>{let B=ve,A=le.current;if(B&&(le.current=B),A&&B&&B!==A){p.set("instantType",void 0);let Ie=new AbortController;return ie(()=>{p.set("instantType","trigger-change")},Ie.signal),()=>{Ie.abort()}}},[ve,ie,p]);let De={open:N,side:se.side,align:se.align,anchorHidden:se.anchorHidden,nested:s.type==="menu",instant:Q},Se=s.type==="menubar"&&s.context.modal,me=_&&k!==y.triggerHover;jo(N&&(Se||me),D==="touch",Y,F);let Ae=Ho(e,De,{styles:se.positionerStyles,transitionStatus:$,props:b,refs:[o,p.useStateSetter("positionerElement")],hidden:!j,inert:!N}),Ve=j&&s.type!=="menu"&&(s.type!=="menubar"&&_&&k!==y.triggerHover||s.type==="menubar"&&s.context.modal),G=null;return s.type==="menubar"?G=s.context.contentElement:s.type===void 0&&(G=F),(0,$e.jsxs)(Vt.Provider,{value:se,children:[Ve&&(0,$e.jsx)(Go,{ref:s.type==="context-menu"||s.type==="nested-context-menu"?s.context.internalBackdropRef:null,inert:Vo(!N),cutout:G}),(0,$e.jsx)(uo,{id:Z,children:(0,$e.jsx)(Wo,{elementsRef:p.context.itemDomElements,labelsRef:p.context.itemLabels,children:Ae})})]})},"MenuPositioner"));var ke=f(C(),1);var Ct=f(C(),1);var Ht=Ct.createContext(void 0);function vn(){let t=Ct.useContext(Ht);if(t===void 0)throw new Error(L(34));return t}n(vn,"useMenuRadioGroupContext");var jt=f(fe(),1);var In=ke.memo(ke.forwardRef(n(function(e,o){let{render:i,className:u,value:a,defaultValue:d,onValueChange:l,disabled:r=!1,style:m,"aria-labelledby":R,...g}=e,[x,M]=ke.useState(void 0),[v,P]=ot({controlled:a,default:d,name:"MenuRadioGroup"}),c=Le((T,V)=>{l?.(T,V),!V.isCanceled&&P(T)}),b=I("div",e,{state:{disabled:r},ref:o,props:{role:"group","aria-labelledby":R??x,"aria-disabled":r||void 0,...g}}),p=ke.useMemo(()=>({value:v,setValue:c,disabled:r}),[v,c,r]);return(0,jt.jsx)(Xe.Provider,{value:M,children:(0,jt.jsx)(Ht.Provider,{value:p,children:b})})},"MenuRadioGroup")));var It=f(C(),1);var vt=f(C(),1);var Yt=vt.createContext(void 0);function En(){let t=vt.useContext(Yt);if(t===void 0)throw new Error(L(35));return t}n(En,"useMenuRadioItemContext");var yn=f(fe(),1);var Pn=It.forwardRef(n(function(e,o){let{render:i,className:u,id:a,label:d,nativeButton:l=!1,disabled:r=!1,closeOnClick:m=!1,value:R,style:g,...x}=e,M=de({label:d}),v=X(!0),P=oe(a),{store:c}=O(),h=c.useState("isActive",M.index),b=c.useState("itemProps"),{value:p,setValue:T,disabled:V}=vn(),s=V||r,w=p===R,{getItemProps:S,itemRef:j}=Oe({closeOnClick:m,disabled:s,highlighted:h,id:P,store:c,nativeButton:l,nodeId:v?.context.nodeId,itemMetadata:Ye}),N=It.useMemo(()=>({disabled:s,highlighted:h,checked:w}),[s,h,w]);function _(F){let $=W(y.itemPress,F.nativeEvent,void 0,{preventUnmountOnClose(){}});T(R,$)}n(_,"handleClick");let D=I("div",e,{state:N,stateAttributesMapping:Te,props:[b,{role:"menuitemradio","aria-checked":w,onClick:_},x,S],ref:[j,o,M.ref]});return(0,yn.jsx)(Yt.Provider,{value:N,children:D})},"MenuRadioItem"));var Et=f(C(),1);var Sn=Et.forwardRef(n(function(e,o){let{render:i,className:u,style:a,keepMounted:d=!1,...l}=e,r=En(),m=Et.useRef(null),{transitionStatus:R,setMounted:g}=tt(r.checked);Ge({open:r.checked,ref:m,onComplete(){r.checked||g(!1)}});let x={checked:r.checked,disabled:r.disabled,highlighted:r.highlighted,transitionStatus:R};return I("span",e,{state:x,stateAttributesMapping:Te,ref:[o,m],props:{"aria-hidden":!0,...l},enabled:d||r.checked})},"MenuRadioItemIndicator"));var H=f(C(),1);var yt=f(C(),1);var qn=yt.createContext(null);function Pt(t){let e=yt.useContext(qn);if(e===null&&!t)throw new Error(L(5));return e}n(Pt,"useMenubarContext");var qe=f(C(),1);var Qn={...No,disabled:U(t=>t.parent.type==="menubar"&&t.parent.context.disabled||t.disabled),modal:U(t=>(t.parent.type===void 0||t.parent.type==="context-menu")&&(t.modal??!0)),openMethod:U(t=>t.openMethod),allowMouseEnter:U(t=>t.allowMouseEnter),highlightItemOnHover:U(t=>t.highlightItemOnHover),stickIfOpen:U(t=>t.stickIfOpen),parent:U(t=>t.parent),rootId:U(t=>t.parent.type==="menu"?t.parent.store.select("rootId"):t.parent.type!==void 0?t.parent.context.rootId:t.rootId),activeIndex:U(t=>t.activeIndex),isActive:U((t,e)=>t.activeIndex===e),hoverEnabled:U(t=>t.hoverEnabled),instantType:U(t=>t.instantType),lastOpenChangeReason:U(t=>t.openChangeReason),floatingTreeRoot:U(t=>t.parent.type==="menu"?t.parent.store.select("floatingTreeRoot"):t.floatingTreeRoot),floatingNodeId:U(t=>t.floatingNodeId),floatingParentNodeId:U(t=>t.floatingParentNodeId),itemProps:U(t=>t.itemProps),closeDelay:U(t=>t.closeDelay),hasViewport:U(t=>t.hasViewport),keyboardEventRelay:U(t=>{if(t.keyboardEventRelay)return t.keyboardEventRelay;if(t.parent.type==="menu")return t.parent.store.select("keyboardEventRelay")})},ze=class t extends go{static{n(this,"MenuStore")}constructor(e){super({...Zn(),...e},{positionerRef:qe.createRef(),popupRef:qe.createRef(),typingRef:{current:!1},itemDomElements:{current:[]},itemLabels:{current:[]},allowMouseUpTriggerRef:{current:!1},triggerFocusTargetRef:qe.createRef(),beforeContentFocusGuardRef:qe.createRef(),onOpenChangeComplete:void 0,triggerElements:new Po},Qn),this.unsubscribeParentListener=this.observe("parent",o=>{if(this.unsubscribeParentListener?.(),o.type==="menu"){let i=o.store.select("rootId"),u=o.store.select("floatingTreeRoot"),a=o.store.select("keyboardEventRelay");this.unsubscribeParentListener=o.store.subscribe(()=>{let d=o.store.select("rootId"),l=o.store.select("floatingTreeRoot"),r=o.store.select("keyboardEventRelay");i===d&&u===l&&a===r||(i=d,u=l,a=r,this.notifyAll())}),this.context.allowMouseUpTriggerRef=o.store.context.allowMouseUpTriggerRef;return}o.type!==void 0&&(this.context.allowMouseUpTriggerRef=o.context.allowMouseUpTriggerRef),this.unsubscribeParentListener=null})}setOpen(e,o){this.state.floatingRootContext.context.events.emit("setOpen",{open:e,eventDetails:o})}static useStore(e,o){let i=Qt(()=>new t(o)).current;return e??i}unsubscribeParentListener=null};function Zn(){return{...So(),disabled:!1,modal:!0,openMethod:null,allowMouseEnter:!1,highlightItemOnHover:!0,stickIfOpen:!0,parent:{type:void 0},rootId:void 0,activeIndex:null,hoverEnabled:!0,instantType:void 0,openChangeReason:null,floatingTreeRoot:new nt,floatingNodeId:void 0,floatingParentNodeId:null,itemProps:pe,keyboardEventRelay:void 0,closeDelay:0,hasViewport:!1}}n(Zn,"createInitialState");var St=f(C(),1);var Kt=St.createContext(void 0);function Nt(){return St.useContext(Kt)}n(Nt,"useMenuSubmenuRootContext");var $t=f(fe(),1);var Ot=mo(n(function(e){let{children:o,open:i,onOpenChange:u,onOpenChangeComplete:a,defaultOpen:d=!1,disabled:l=!1,modal:r,loopFocus:m=!0,orientation:R="vertical",actionsRef:g,closeParentOnEsc:x=!1,handle:M,triggerId:v,defaultTriggerId:P=null,highlightItemOnHover:c=!0}=e,h=be(!0),b=O(!0),p=Pt(!0),T=Nt(),V=H.useMemo(()=>T&&b?{type:"menu",store:b.store}:p?{type:"menubar",context:p}:h&&!b?{type:"context-menu",context:h}:{type:void 0},[h,b,p,T]),s=ze.useStore(M?.store,{open:d,openProp:i,activeTriggerId:P,triggerIdProp:v,parent:V});Co(s,i,d,P),s.useControlledProp("openProp",i),s.useControlledProp("triggerIdProp",v),s.useContextCallback("onOpenChangeComplete",a);let w=wt(),S=wt(),j=s.useState("floatingTreeRoot"),N=st(j),_=rt(),D=s.useState("open"),F=s.useState("activeTriggerElement"),$=s.useState("positionerElement"),Y=s.useState("hoverEnabled"),Q=s.useState("disabled"),K=s.useState("lastOpenChangeReason"),k=s.useState("parent"),Z=s.useState("activeIndex"),re=s.useState("payload"),ve=s.useState("floatingParentNodeId"),le=H.useRef(null),ie=H.useRef(k.type!=="context-menu"),ge=Ne(),Re=H.useRef(!0),Pe=Ne(),z=ve!=null,{openMethod:ae,triggerProps:ue}=Ao(D);s.useSyncedValues({disabled:l,highlightItemOnHover:c,modal:k.type===void 0?r:void 0,openMethod:ae,rootId:w}),Io(s);let{forceUnmount:xe}=Eo(D,s,()=>{s.update({allowMouseEnter:!1,stickIfOpen:!0})});Ee(()=>{h&&!b?s.update({parent:{type:"context-menu",context:h},floatingNodeId:N,floatingParentNodeId:_}):b&&s.update({floatingNodeId:N,floatingParentNodeId:_})},[h,b,N,_,s]),H.useEffect(()=>{if(D||(le.current=null),k.type==="context-menu"){if(!D){ge.clear(),ie.current=!1;return}ge.start(500,()=>{ie.current=!0})}},[ge,D,k.type]),Ee(()=>{!D&&!Y&&s.set("hoverEnabled",!0)},[D,Y,s]);let Me=Le((E,J)=>{let te=J.reason;if(D===E&&J.trigger===F&&K===te)return;let Yn=bo(J);if(!E&&J.trigger==null&&(J.trigger=F??void 0),u?.(E,J),J.isCanceled)return;s.state.floatingRootContext.dispatchOpenChange(E,J);let Ze=J.event;if(E===!1&&Ze?.type==="click"&&Ze.pointerType==="touch"&&!Re.current)return;E&&te===y.triggerFocus?(Re.current=!1,Pe.start(300,()=>{Re.current=!0})):(Re.current=!0,Pe.clear());let Xt=(te===y.triggerPress||te===y.itemPress)&&Ze.detail===0&&Ze?.isTrusted,Kn=!E&&(te===y.escapeKey||te==null),qt={open:E,openChangeReason:te};le.current=J.event??null,ho(qt,E,J.trigger,Yn()),s.update(qt),k.type==="menubar"&&(te===y.triggerFocus||te===y.focusOut||te===y.triggerHover||te===y.listNavigation||te===y.siblingOpen)?s.set("instantType","group"):Xt||Kn?s.set("instantType",Xt?"click":"dismiss"):s.set("instantType",void 0)}),se=Ro({popupStore:s,floatingId:S,nested:_!=null,onOpenChange:Me}),ce=se.context.events;H.useEffect(()=>{let E=n(({open:J,eventDetails:te})=>Me(J,te),"handleSetOpenEvent");return ce.on("setOpen",E),()=>{ce?.off("setOpen",E)}},[ce,Me]);let De=H.useCallback(()=>{s.setOpen(!1,W(y.imperativeAction))},[s]);H.useImperativeHandle(g,()=>({unmount:xe,close:De}),[xe,De]);let Se;k.type==="context-menu"&&(Se=k.context),H.useImperativeHandle(Se?.positionerRef,()=>$,[$]),H.useImperativeHandle(Se?.actionsRef,()=>({setOpen:Me}),[Me]);let me=lo(se,{enabled:!Q,bubbles:{escapeKey:x&&k.type==="menu"},outsidePress(){return k.type!=="context-menu"||le.current?.type==="contextmenu"?!0:ie.current},externalTree:z?j:void 0}),Ae=Bo(),Ve=H.useCallback(E=>{s.select("activeIndex")!==E&&s.set("activeIndex",E)},[s]),G=ko(se,{enabled:!Q,listRef:s.context.itemDomElements,activeIndex:Z,nested:k.type!==void 0,loopFocus:m,orientation:R,parentOrientation:k.type==="menubar"?k.context.orientation:void 0,rtl:Ae==="rtl",disabledIndices:Je,onNavigate:Ve,openOnArrowKeyDown:k.type!=="context-menu",externalTree:z?j:void 0,focusItemOnHover:c}),B=H.useCallback(E=>{s.context.typingRef.current=E},[s]),A=wo(se,{enabled:!Q,listRef:s.context.itemLabels,elementsRef:s.context.itemDomElements,activeIndex:Z,resetMs:500,onMatch:n(E=>{D&&E!==Z&&s.set("activeIndex",E)},"onMatch"),onTyping:B}),Ie=H.useMemo(()=>{let E=he(A.reference,G.reference,me.reference,{onMouseMove(){s.set("allowMouseEnter",!0)}},ue);return E["aria-haspopup"]="menu",E["aria-expanded"]=D,E},[s,A.reference,G.reference,me.reference,ue,D]),Gn=H.useMemo(()=>{let E=he(G.trigger,me.trigger,ue);return E["aria-haspopup"]="menu",E["aria-expanded"]=!1,E},[G.trigger,me.trigger,ue]),Un=H.useMemo(()=>he(xo,{id:S,role:"menu","aria-labelledby":F?.id,onMouseMove(){s.set("allowMouseEnter",!0),k.type==="menu"&&s.set("hoverEnabled",!1)},onClick(){s.select("hoverEnabled")&&s.set("hoverEnabled",!1)},onKeyDown(E){let J=s.select("keyboardEventRelay");J&&!E.isPropagationStopped()&&J(E)}},A.floating,G.floating,me.floating),[F,S,k.type,s,A.floating,G.floating,me.floating]),Hn=G.item??pe;yo(s,{floatingRootContext:se,activeTriggerProps:Ie,inactiveTriggerProps:Gn,popupProps:Un,itemProps:Hn});let jn=H.useMemo(()=>({store:s,parent:V}),[s,V]),Wt=(0,$t.jsx)(Bt.Provider,{value:jn,children:typeof o=="function"?o({payload:re}):o});return k.type===void 0||k.type==="context-menu"?(0,$t.jsx)(co,{externalTree:j,children:Wt}):Wt},"MenuRoot"));var Nn=f(C(),1);var zt=f(fe(),1);function On(t){let e=O().store,o=Nn.useMemo(()=>({parentMenu:e}),[e]);return(0,zt.jsx)(Kt.Provider,{value:o,children:(0,zt.jsx)(Ot,{...t})})}n(On,"MenuSubmenuRoot");var q=f(C(),1);var Tn=f(C(),1);function kn(t={}){let{highlightItemOnHover:e,highlightedIndex:o,onHighlightedIndexChange:i}=ct(),{ref:u,index:a}=de(t),d=o===a,l=Tn.useRef(null),r=et(u,l);return{compositeProps:{tabIndex:d?0:-1,onFocus(){i(a)},onMouseMove(){let R=l.current;if(!e||!R)return;let g=R.hasAttribute("disabled")||R.ariaDisabled==="true";!d&&!g&&R.focus()}},compositeRef:r,index:a}}n(kn,"useCompositeItem");function wn(t){let{render:e,className:o,style:i,state:u=pe,props:a=Je,refs:d=Je,metadata:l,stateAttributesMapping:r,tag:m="div",...R}=t,{compositeProps:g,compositeRef:x}=kn({metadata:l});return I(m,t,{state:u,ref:[...d,x],props:[g,...a,R],stateAttributesMapping:r})}n(wn,"CompositeItem");function Jt(t){if(Zt(t)&&t.hasAttribute("data-rootownerid"))return t.getAttribute("data-rootownerid")??void 0;if(!eo(t))return Jt(to(t))}n(Jt,"findRootOwnerId");var Tt=f(C(),1);function _n(t){let{enabled:e=!0,mouseDownAction:o,open:i}=t,u=Tt.useRef(!1);return Tt.useMemo(()=>e?{onMouseDown:n(a=>{(o==="open"&&!i||o==="close"&&i)&&(u.current=!0,We(a.currentTarget).addEventListener("click",()=>{u.current=!1},{once:!0}))},"onMouseDown"),onClick:n(a=>{u.current&&(u.current=!1,a.preventBaseUIHandler())},"onClick")}:pe,[e,o,i])}n(_n,"useMixedToggleClickHandler");var we=f(fe(),1);var kt=2,Dn=fo(n(function(e,o){let{render:i,className:u,style:a,disabled:d=!1,nativeButton:l=!0,id:r,openOnHover:m,delay:R=100,closeDelay:g=0,handle:x,payload:M,...v}=e,P=O(!0),c=x?.store??P?.store;if(!c)throw new Error(L(85));let h=oe(r),b=c.useState("isTriggerActive",h),p=c.useState("floatingRootContext"),T=c.useState("isOpenedByTrigger",h),V=c.useState("triggerPopupId",h),s=q.useRef(null),w=tr(),S=ct(!0),j=ao(),N=q.useMemo(()=>j??new nt,[j]),_=st(N),D=rt(),{registerTrigger:F,isMountedByThisTrigger:$}=vo(h,s,c,{payload:M,closeDelay:g,parent:w,floatingTreeRoot:N,floatingNodeId:_,floatingParentNodeId:D,keyboardEventRelay:S?.relayKeyboardEvent}),Y=w.type==="menubar",Q=c.useState("disabled"),K=d||Q||Y&&w.context.disabled,{getButtonProps:k,buttonRef:Z}=Ue({disabled:K,native:l});q.useEffect(()=>{!T&&w.type===void 0&&(c.context.allowMouseUpTriggerRef.current=!1)},[c,T,w.type]);let re=q.useRef(null),ve=Ne(),le=Le(G=>{if(!re.current)return;ve.clear(),c.context.allowMouseUpTriggerRef.current=!1;let B=G.target;if(_t(re.current,B)||_t(c.select("positionerElement"),B)||B===re.current||B!=null&&Jt(B)===c.select("rootId"))return;let A=Xo(re.current);G.clientX>=A.left-kt&&G.clientX<=A.right+kt&&G.clientY>=A.top-kt&&G.clientY<=A.bottom+kt||N.events.emit("close",{domEvent:G,reason:y.cancelOpen})});q.useEffect(()=>{T&&c.select("lastOpenChangeReason")===y.triggerHover&&We(re.current).addEventListener("mouseup",le,{once:!0})},[T,le,c]);let ie=Y&&w.context.hasSubmenuOpen,Re=at(p,{enabled:(m??ie)&&!K&&w.type!=="context-menu"&&(!Y||ie&&!$),handleClose:ut({blockPointerEvents:!Y}),mouseOnly:!0,move:!1,restMs:w.type===void 0?R:void 0,delay:{close:g},triggerElementRef:s,externalTree:N,isActiveTrigger:b,isClosing:n(()=>c.select("transitionStatus")==="ending","isClosing")}),Pe=er(T,c.select("lastOpenChangeReason")),z=it(p,{enabled:!K&&w.type!=="context-menu",event:T&&Y?"click":"mousedown",toggle:!0,ignoreMouse:!1,stickIfOpen:w.type===void 0?Pe:!1}),ae=Oo(p,{enabled:!K&&ie}),ue=_n({open:T,enabled:Y,mouseDownAction:"open"}),xe=q.useMemo(()=>he(ae.reference,z.reference),[ae.reference,z.reference]),Me=c.useState("triggerProps",$),{preFocusGuardRef:se,handlePreFocusGuardFocus:ce,handleFocusTargetFocus:De}=Do(c,s),Se={disabled:K,open:T},me=[re,o,Z,F,s],Ae=[xe,Re??pe,Me,{"aria-haspopup":"menu","aria-controls":V,id:h,onMouseDown:n(G=>{if(c.select("open"))return;ve.start(200,()=>{c.context.allowMouseUpTriggerRef.current=!0}),We(G.currentTarget).addEventListener("mouseup",le,{once:!0})},"onMouseDown")},Y?{role:"menuitem"}:{},ue,v,k],Ve=I("button",e,{enabled:!Y,stateAttributesMapping:At,state:Se,ref:me,props:Ae});return Y?(0,we.jsx)(wn,{tag:"button",render:i,className:u,style:a,state:Se,refs:me,props:Ae,stateAttributesMapping:At}):T?(0,we.jsxs)(q.Fragment,{children:[(0,we.jsx)(Dt,{ref:se,onFocus:ce},`${h}-pre-focus-guard`),(0,we.jsx)(q.Fragment,{children:Ve},h),(0,we.jsx)(Dt,{ref:c.context.triggerFocusTargetRef,onFocus:De},`${h}-post-focus-guard`)]}):(0,we.jsx)(q.Fragment,{children:Ve},h)},"MenuTrigger"));function er(t,e){let o=Ne(),[i,u]=q.useState(!1);return Ee(()=>{t&&e==="trigger-hover"?(u(!0),o.start(500,()=>{u(!1)})):t||(o.clear(),u(!1))},[t,e,o]),i}n(er,"useStickIfOpen");function tr(){let t=be(!0),e=O(!0),o=Pt(!0);return q.useMemo(()=>o?{type:"menubar",context:o}:t&&!e?{type:"context-menu",context:t}:{type:void 0},[t,e,o])}n(tr,"useMenuParent");var Vn=f(C(),1);var An=(function(t){return t.popupWidth="--popup-width",t.popupHeight="--popup-height",t})({});var or={activationDirection:n(t=>t?{"data-activation-direction":t}:null,"activationDirection")},Bn=Vn.forwardRef(n(function(e,o){let{render:i,className:u,style:a,children:d,...l}=e,{store:r}=O(),{side:m}=X(),R=r.useState("instantType"),{children:g,state:x}=$o({store:r,side:m,cssVars:An,children:d}),M={activationDirection:x.activationDirection,transitioning:x.transitioning,instant:R};return I("div",e,{state:M,ref:o,props:[l,{children:g}],stateAttributesMapping:or})},"MenuViewport"));var ye=f(C(),1);var Ln=ye.forwardRef(n(function(e,o){let{render:i,className:u,style:a,label:d,id:l,nativeButton:r=!1,openOnHover:m=!0,delay:R=100,closeDelay:g=0,disabled:x=!1,...M}=e,v=de({label:d}),P=X(),{store:c}=O(),h=oe(l),b=c.useState("open"),p=c.useState("floatingRootContext"),T=c.useState("floatingTreeRoot"),V=c.useState("triggerPopupId",h),s=Mo(h,c),w=ye.useCallback(z=>{let ae=s(z);return z!==null&&c.select("open")&&c.select("activeTriggerId")==null&&c.update({activeTriggerId:h,activeTriggerElement:z,closeDelay:g}),ae},[s,g,c,h]),S=ye.useRef(null),j=ye.useCallback(z=>{S.current=z,c.set("activeTriggerElement",z)},[c]),N=Nt();if(!N?.parentMenu)throw new Error(L(37));c.useSyncedValue("closeDelay",g);let _=N.parentMenu,D=c.useState("disabled"),F=_.useState("disabled"),$=x||D||F,Y=_.useState("itemProps"),Q=_.useState("isActive",v.index),K=ye.useMemo(()=>({type:"submenu-trigger",setActive(){_.select("highlightItemOnHover")&&_.set("activeIndex",v.index)}}),[_,v.index]),{getItemProps:k,itemRef:Z}=Oe({closeOnClick:!1,disabled:$,highlighted:Q,id:h,store:c,typingRef:_.context.typingRef,nativeButton:r,itemMetadata:K,nodeId:P?.context.nodeId}),re=c.useState("hoverEnabled"),ve=at(p,{enabled:re&&m&&!$,handleClose:ut({blockPointerEvents:!0}),mouseOnly:!0,move:!0,restMs:R,delay:{open:R,close:g},shouldOpen:R>0?()=>_.select("allowMouseEnter"):void 0,triggerElementRef:S,externalTree:T,isClosing:n(()=>c.select("transitionStatus")==="ending","isClosing")}),ie=it(p,{enabled:!$,event:"mousedown",toggle:!m,ignoreMouse:m,stickIfOpen:!1}).reference??pe,ge=c.useState("triggerProps",!0);return delete ge.id,I("div",e,{state:{disabled:$,highlighted:Q,open:b},stateAttributesMapping:_o,props:[ie,ve,ge,Y,{"aria-controls":V,tabIndex:b||Q?0:-1,onBlur(){Q&&_.set("activeIndex",null)}},M,k],ref:[o,v.ref,Z,w,j]})},"MenuSubmenuTrigger"));var Qe=class{static{n(this,"MenuHandle")}constructor(){this.store=new ze}open(e){let o=e?this.store.context.triggerElements.getById(e):void 0;if(e&&!o)throw new Error(L(83,e));this.store.setOpen(!0,W("imperative-action",void 0,o))}close(){this.store.setOpen(!1,W("imperative-action",void 0,void 0))}get isOpen(){return this.store.select("open")}};function Fn(){return new Qe}n(Fn,"createMenuHandle");var ee=f(fe(),1);function Fc(t){let e=(0,_e.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let i;return e[2]!==o?(i=(0,ee.jsx)(ne.Root,{"data-slot":"dropdown-menu",...o}),e[2]=o,e[3]=i):i=e[3],i}n(Fc,"_");function Gc(t){let e=(0,_e.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let i;return e[2]!==o?(i=(0,ee.jsx)(ne.Trigger,{"data-slot":"dropdown-menu-trigger",...o}),e[2]=o,e[3]=i):i=e[3],i}n(Gc,"y");function Uc({align:t="start",alignOffset:e=0,side:o="bottom",sideOffset:i=4,className:u,...a}){return(0,ee.jsx)(ne.Portal,{children:(0,ee.jsx)(ne.Positioner,{className:"isolate z-50 outline-none",align:t,alignOffset:e,side:o,sideOffset:i,children:(0,ee.jsx)(ne.Popup,{"data-slot":"dropdown-menu-content",className:Be("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-start-2 data-[side=inline-start]:slide-in-from-end-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!",u),...a})})})}n(Uc,"I");function Hc(t){let e=(0,_e.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let i;return e[2]!==o?(i=(0,ee.jsx)(ne.Group,{"data-slot":"dropdown-menu-group",...o}),e[2]=o,e[3]=i):i=e[3],i}n(Hc,"$");function jc(t){let e=(0,_e.c)(10),o,i,u;e[0]!==t?({className:o,inset:i,...u}=t,e[0]=t,e[1]=o,e[2]=i,e[3]=u):(o=e[1],i=e[2],u=e[3]);let a;e[4]!==o?(a=Be("px-2 py-2 text-xs text-muted-foreground data-inset:ps-7",o),e[4]=o,e[5]=a):a=e[5];let d;return e[6]!==i||e[7]!==u||e[8]!==a?(d=(0,ee.jsx)(ne.GroupLabel,{"data-slot":"dropdown-menu-label","data-inset":i,className:a,...u}),e[6]=i,e[7]=u,e[8]=a,e[9]=d):d=e[9],d}n(jc,"O");function Yc({className:t,inset:e,variant:o="default",...i}){return(0,ee.jsx)(ne.Item,{"data-slot":"dropdown-menu-item","data-inset":e,"data-variant":o,className:Be("group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-md px-2 py-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:ps-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",t),...i})}n(Yc,"P");function Kc(t){let e=(0,_e.c)(15),o,i,u,a,d;e[0]!==t?({className:u,children:i,checked:o,inset:a,...d}=t,e[0]=t,e[1]=o,e[2]=i,e[3]=u,e[4]=a,e[5]=d):(o=e[1],i=e[2],u=e[3],a=e[4],d=e[5]);let l;e[6]!==u?(l=Be("relative flex cursor-default items-center gap-2 rounded-md py-2 pe-8 ps-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",u),e[6]=u,e[7]=l):l=e[7];let r;e[8]===Symbol.for("react.memo_cache_sentinel")?(r=(0,ee.jsx)("span",{className:"pointer-events-none absolute end-2 flex items-center justify-center","data-slot":"dropdown-menu-checkbox-item-indicator",children:(0,ee.jsx)(ne.CheckboxItemIndicator,{children:(0,ee.jsx)(Jo,{icon:zo,strokeWidth:2})})}),e[8]=r):r=e[8];let m;return e[9]!==o||e[10]!==i||e[11]!==a||e[12]!==d||e[13]!==l?(m=(0,ee.jsxs)(ne.CheckboxItem,{"data-slot":"dropdown-menu-checkbox-item","data-inset":a,className:l,checked:o,...d,children:[r,i]}),e[9]=o,e[10]=i,e[11]=a,e[12]=d,e[13]=l,e[14]=m):m=e[14],m}n(Kc,"j");function $c(t){let e=(0,_e.c)(8),o,i;e[0]!==t?({className:o,...i}=t,e[0]=t,e[1]=o,e[2]=i):(o=e[1],i=e[2]);let u;e[3]!==o?(u=Be("-mx-1 h-px bg-border",o),e[3]=o,e[4]=u):u=e[4];let a;return e[5]!==i||e[6]!==u?(a=(0,ee.jsx)(ne.Separator,{"data-slot":"dropdown-menu-separator",className:u,...i}),e[5]=i,e[6]=u,e[7]=a):a=e[7],a}n($c,"C");export{Fc as a,Gc as b,Uc as c,Hc as d,jc as e,Yc as f,Kc as g,$c as h};
@@ -0,0 +1 @@
1
+ import{b as D,c as f,d as E,f as I}from"./chunk-35II7U25.js";import{f as p,g as y,h as P,m as b}from"./chunk-4CGALXS3.js";import{a as s,e as T,f as Q,g as S}from"./chunk-3XIESWL4.js";var g=T(S(),1);var d=T(Q(),1);var h=s((e,r,o)=>["lunora-admin",e,r,o.trim()],"y");function L(e,r,o={}){let{enabled:t=!0,keepPreviousData:n=!1,staleTime:i=0}=o,a=E({enabled:t,queryFn:r,placeholderData:n?D:void 0,queryKey:e,staleTime:i});return{data:a.data,error:a.error?P(a.error):a.error,errorSource:a.error??void 0,isLoading:a.isLoading,liveError:void 0,refetch:s(()=>{b(a.refetch())},"refetch")}}s(L,"N");function O(e,r,o={}){let t=I(),n=f(),{enabled:i=!0,keepPreviousData:a=!1,live:u=!1,shardKey:l="",staleTime:k}=o,m=h(e,r,l),q=L(m,()=>t.query(p(e),r,y(l)),{enabled:i,keepPreviousData:a,staleTime:k??(u?Number.POSITIVE_INFINITY:0)}),[K,v]=(0,d.useState)(void 0),N=JSON.stringify(m);return(0,d.useEffect)(()=>{if(!(!i||!u))return v(void 0),t.subscribe(p(e),r,c=>{v(void 0),n.setQueryData(m,c)},{...y(l),onError:s(c=>{v(c.message)},"onError")})},[N,i,u]),{...q,liveError:i&&u?K:void 0}}s(O,"_");var C=s(()=>{let e=(0,g.c)(2),r=f(),o;return e[0]!==r?(o=s((t,n,i)=>{let a=n===void 0?["lunora-admin",t]:h(t,n,i??"");b(r.invalidateQueries({queryKey:a}))},"a"),e[0]=r,e[1]=o):o=e[1],o},"x");export{L as a,O as b,C as c};
@@ -0,0 +1 @@
1
+ import{a as b}from"./chunk-XBDKZZ67.js";import{a as l,e as c,g as f,h as g,j as v}from"./chunk-3XIESWL4.js";var u=c(f(),1);var s=c(g(),1);var p=b("flex items-start gap-2 rounded-md border px-3 py-2 text-sm [&>svg]:mt-0.5 [&>svg]:size-4 [&>svg]:shrink-0",{defaultVariants:{variant:"default"},variants:{variant:{default:"border-border bg-muted/40 text-foreground",destructive:"border-destructive/40 bg-destructive/5 text-destructive",warning:"border-amber-500/40 bg-amber-500/5 text-amber-700 dark:text-amber-400"}}}),j=l(x=>{let t=(0,u.c)(10),{children:d,className:i,icon:o,testId:m,variant:n}=x,e;t[0]!==i||t[1]!==n?(e=v(p({variant:n}),i),t[0]=i,t[1]=n,t[2]=e):e=t[2];let r;t[3]!==d?(r=(0,s.jsx)("div",{className:"min-w-0 flex-1",children:d}),t[3]=d,t[4]=r):r=t[4];let a;return t[5]!==o||t[6]!==e||t[7]!==r||t[8]!==m?(a=(0,s.jsxs)("div",{className:e,"data-testid":m,role:"alert",children:[o,r]}),t[5]=o,t[6]=e,t[7]=r,t[8]=m,t[9]=a):a=t[9],a},"N");export{j as a};
@@ -0,0 +1 @@
1
+ import{a as z}from"./chunk-54MMVNPT.js";import{a as B}from"./chunk-LFKCLLPT.js";import{a as H}from"./chunk-UNUU7CJJ.js";import"./chunk-XXQUMVWH.js";import{b as E}from"./chunk-XSD4Y6SQ.js";import{a as O,b as U,c as q,d as j,e as T,f as D}from"./chunk-MIQTKZAR.js";import{a as K}from"./chunk-UZERI5YC.js";import{a as W}from"./chunk-LFXFP4IF.js";import"./chunk-GRL5MG3Z.js";import"./chunk-7T7UOTYK.js";import"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import"./chunk-2OUPA2WJ.js";import{b as M}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as L}from"./chunk-GXZAXNZI.js";import"./chunk-35II7U25.js";import"./chunk-XBDKZZ67.js";import{a as A}from"./chunk-XQCVZAGU.js";import{d as _}from"./chunk-4CGALXS3.js";import"./chunk-LE56LPNH.js";import{a as S,e as F,f as X,g as Y,h as Q}from"./chunk-3XIESWL4.js";var P=F(Y(),1),V=F(X(),1);var t=F(Q(),1);var G=S(n=>`${n.toString()} ms`,"E"),Z=S(n=>n.totalConnections===0&&n.shapePoke.passes===0&&n.whisper.passes===0,"G"),w=S(n=>{let e=(0,P.c)(8),{label:r,testId:a,value:l}=n,o;e[0]!==r?(o=(0,t.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:r}),e[0]=r,e[1]=o):o=e[1];let i;e[2]!==a||e[3]!==l?(i=(0,t.jsx)("span",{className:"truncate text-2xl font-semibold tabular-nums text-foreground","data-testid":a,children:l}),e[2]=a,e[3]=l,e[4]=i):i=e[4];let h;return e[5]!==o||e[6]!==i?(h=(0,t.jsx)(K,{className:"gap-0 py-0",children:(0,t.jsxs)("div",{className:"flex flex-col gap-2.5 p-4",children:[o,i]})}),e[5]=o,e[6]=i,e[7]=h):h=e[7],h},"R"),J=S(n=>{let e=(0,P.c)(48),{counters:r,includeTiming:a,prefix:l,t:o,title:i}=n,h=`${l}-section`,x;e[0]!==i?(x=(0,t.jsx)("h3",{className:"text-sm font-medium text-foreground",children:i}),e[0]=i,e[1]=x):x=e[1];let b=`${l}-stats`,s;e[2]!==o?(s=o("Passes"),e[2]=o,e[3]=s):s=e[3];let c=`${l}-passes`,k;e[4]!==r.passes||e[5]!==s||e[6]!==c?(k=(0,t.jsx)(w,{label:s,testId:c,value:r.passes}),e[4]=r.passes,e[5]=s,e[6]=c,e[7]=k):k=e[7];let N;e[8]!==o?(N=o("Sockets iterated"),e[8]=o,e[9]=N):N=e[9];let I=`${l}-iterated`,d;e[10]!==r.socketsIterated||e[11]!==N||e[12]!==I?(d=(0,t.jsx)(w,{label:N,testId:I,value:r.socketsIterated}),e[10]=r.socketsIterated,e[11]=N,e[12]=I,e[13]=d):d=e[13];let m;e[14]!==o?(m=o("Delivered"),e[14]=o,e[15]=m):m=e[15];let v=`${l}-delivered`,u;e[16]!==r.socketsDelivered||e[17]!==m||e[18]!==v?(u=(0,t.jsx)(w,{label:m,testId:v,value:r.socketsDelivered}),e[16]=r.socketsDelivered,e[17]=m,e[18]=v,e[19]=u):u=e[19];let p;e[20]!==o?(p=o("Peak width"),e[20]=o,e[21]=p):p=e[21];let y=`${l}-peak`,f;e[22]!==r.peakSocketsIterated||e[23]!==p||e[24]!==y?(f=(0,t.jsx)(w,{label:p,testId:y,value:r.peakSocketsIterated}),e[22]=r.peakSocketsIterated,e[23]=p,e[24]=y,e[25]=f):f=e[25];let g;e[26]!==r.totalMs||e[27]!==a||e[28]!==l||e[29]!==o?(g=a&&(0,t.jsx)(w,{label:o("Total time"),testId:`${l}-total-ms`,value:G(r.totalMs)}),e[26]=r.totalMs,e[27]=a,e[28]=l,e[29]=o,e[30]=g):g=e[30];let C;e[31]!==r.maxMs||e[32]!==a||e[33]!==l||e[34]!==o?(C=a&&(0,t.jsx)(w,{label:o("Max time"),testId:`${l}-max-ms`,value:G(r.maxMs)}),e[31]=r.maxMs,e[32]=a,e[33]=l,e[34]=o,e[35]=C):C=e[35];let $;e[36]!==u||e[37]!==f||e[38]!==g||e[39]!==C||e[40]!==b||e[41]!==k||e[42]!==d?($=(0,t.jsxs)("dl",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3","data-testid":b,children:[k,d,u,f,g,C]}),e[36]=u,e[37]=f,e[38]=g,e[39]=C,e[40]=b,e[41]=k,e[42]=d,e[43]=$):$=e[43];let R;return e[44]!==h||e[45]!==$||e[46]!==x?(R=(0,t.jsxs)("section",{className:"flex flex-col gap-2","data-testid":h,children:[x,$]}),e[44]=h,e[45]=$,e[46]=x,e[47]=R):R=e[47],R},"F"),ue=S(n=>{let e=(0,P.c)(32),{initialShardKey:r}=n,a=_(),[l,o]=(0,V.useState)(r??""),i;e[0]!==l?(i=l.trim(),e[0]=l,e[1]=i):i=e[1];let h=B(i,400),x;e[2]===Symbol.for("react.memo_cache_sentinel")?(x={},e[2]=x):x=e[2];let b;e[3]!==h?(b={keepPreviousData:!0,shardKey:h},e[3]=h,e[4]=b):b=e[4];let{data:s,error:c,errorSource:k,refetch:N}=E(L.getFanoutMetrics,x,b);z(N,!0);let I;e[5]!==s?(I=s!==void 0&&Z(s),e[5]=s,e[6]=I):I=e[6];let d=I,m;e[7]!==l?(m=(0,t.jsx)(W,{onChange:o,testId:"fanout-shard-input",value:l}),e[7]=l,e[8]=m):m=e[8];let v;e[9]!==s||e[10]!==a?(v=s!==void 0&&(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2 text-sm text-muted-foreground","data-testid":"fanout-count",children:[s.promoted&&(0,t.jsx)(M,{"data-testid":"fanout-promoted",variant:s.relayCount>=s.maxRelays?"destructive":"default",children:s.relayCount>=s.maxRelays?a("auto-scaled: {relayCount}/{maxRelays} relays (at ceiling)",{maxRelays:s.maxRelays,relayCount:s.relayCount}):a("auto-scaled: {relayCount}/{maxRelays} relays",{maxRelays:s.maxRelays,relayCount:s.relayCount})}),(0,t.jsx)(M,{variant:"secondary",children:a("{count} connections",{count:s.totalConnections})}),(0,t.jsx)(M,{variant:"secondary",children:a("peak {count} subscribers",{count:s.peakSubscribers})})]}),e[9]=s,e[10]=a,e[11]=v):v=e[11];let u;e[12]!==m||e[13]!==v?(u=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[m,v]}),e[12]=m,e[13]=v,e[14]=u):u=e[14];let p;e[15]!==c||e[16]!==k?(p=c!==null&&(0,t.jsx)(H,{error:k,testId:"fanout-error"}),e[15]=c,e[16]=k,e[17]=p):p=e[17];let y;e[18]!==c||e[19]!==d||e[20]!==a?(y=c===null&&d&&(0,t.jsx)(A,{description:a("Realtime fan-out cost and per-topic subscriber counts for this shard."),icon:(0,t.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,t.jsx)("path",{d:"M4 12h4l3 7 4-14 3 7h2"})}),testId:"fanout-empty",title:a("No fan-out activity yet.")}),e[18]=c,e[19]=d,e[20]=a,e[21]=y):y=e[21];let f;e[22]!==c||e[23]!==d||e[24]!==s||e[25]!==a?(f=c===null&&s!==void 0&&!d&&(0,t.jsxs)(t.Fragment,{children:[s.topics.length>0&&(0,t.jsxs)("section",{className:"flex flex-col gap-2","data-testid":"fanout-topics-section",children:[(0,t.jsx)("h3",{className:"text-sm font-medium text-foreground",children:a("Hot topics")}),(0,t.jsx)(K,{className:"overflow-hidden py-0",children:(0,t.jsxs)(O,{"data-testid":"fanout-topics-table",children:[(0,t.jsx)(U,{children:(0,t.jsxs)(j,{children:[(0,t.jsx)(T,{children:a("Topic")}),(0,t.jsx)(T,{children:a("Kind")}),(0,t.jsx)(T,{className:"text-right",children:a("Subscribers")})]})}),(0,t.jsx)(q,{children:s.topics.map(ee)})]})})]}),(0,t.jsxs)("section",{className:"flex flex-col gap-3","data-testid":"fanout-cost",children:[(0,t.jsx)("h2",{className:"text-sm font-medium text-muted-foreground",children:a("Fan-out cost since this instance woke")}),(0,t.jsx)(J,{counters:s.shapePoke,includeTiming:!0,prefix:"fanout-poke",t:a,title:a("Shape pokes")}),(0,t.jsx)(J,{counters:s.whisper,includeTiming:!1,prefix:"fanout-whisper",t:a,title:a("Whisper broadcasts")})]})]}),e[22]=c,e[23]=d,e[24]=s,e[25]=a,e[26]=f):f=e[26];let g;return e[27]!==f||e[28]!==u||e[29]!==p||e[30]!==y?(g=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"fanout-panel",children:[u,p,y,f]}),e[27]=f,e[28]=u,e[29]=p,e[30]=y,e[31]=g):g=e[31],g},"ue");function ee(n){return(0,t.jsxs)(j,{"data-testid":"fanout-topic-row",children:[(0,t.jsx)(D,{className:"font-mono text-xs",children:n.topic}),(0,t.jsx)(D,{children:(0,t.jsx)(M,{variant:"outline",children:n.kind})}),(0,t.jsx)(D,{className:"text-right font-medium tabular-nums",children:n.subscribers})]},`${n.kind}:${n.topic}`)}S(ee,"J");export{ue as default};
@@ -0,0 +1 @@
1
+ import{a as Oe,b as Ke}from"./chunk-3QRTYSSX.js";import{a as Qe}from"./chunk-JN2Y24PY.js";import{a as Ve}from"./chunk-ESVP44Y3.js";import{a as Je}from"./chunk-54MMVNPT.js";import"./chunk-IVFHIQOT.js";import{a as He}from"./chunk-LFKCLLPT.js";import{a as Ge}from"./chunk-XSD4Y6SQ.js";import{a as Ue,b as _e,c as $e,d as M,e as U,f as _}from"./chunk-MIQTKZAR.js";import{a as we,e as Ce}from"./chunk-UZERI5YC.js";import{a as D}from"./chunk-5Y3QLNWX.js";import"./chunk-QBWRC5YX.js";import{R as T}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import{c as z}from"./chunk-FXCBF4XT.js";import"./chunk-2OUPA2WJ.js";import{b as B}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{f as E}from"./chunk-35II7U25.js";import"./chunk-XBDKZZ67.js";import{a as Ze}from"./chunk-XQCVZAGU.js";import{d as W,h as Pe,l as Ae,m as ze,q as Ie}from"./chunk-4CGALXS3.js";import"./chunk-LE56LPNH.js";import{a as r,e as Me,f as Ye,g as et,h as tt}from"./chunk-3XIESWL4.js";var k=Me(Ye(),1);var Z=Me(et(),1);var t=Me(tt(),1);var at=r(()=>{let u=(0,Z.c)(3),{config:e,ready:l}=Oe(),s;return u[0]!==e.capabilities||u[1]!==l?(s={capabilities:e.capabilities,ready:l},u[0]=e.capabilities,u[1]=l,u[2]=s):s=u[2],s},"et"),st={boolean:"checkbox",date:"datetime-local",number:"number",string:"text"},lt=r((u,e)=>u.type==="boolean"?!0:typeof e!="string"||e.trim()===""?!1:u.type!=="number"||!Number.isNaN(Number(e.trim())),"at"),rt=r((u,e)=>{if(u.type==="boolean")return e===!0?{value:!0}:u.required?{value:!1}:void 0;let l=typeof e=="string"?e.trim():"";if(l!==""){if(u.type==="number"){let s=Number(l);return Number.isNaN(s)?void 0:{value:s}}return{value:l}}},"lt"),it=r(u=>{let e=(0,Z.c)(105),{onClose:l,onCreated:s}=u,c=E(),a=W(),{config:o}=Oe(),{busy:i,error:n,run:m}=Ke(),[w,S]=(0,k.useState)(""),[b,C]=(0,k.useState)(""),[y,I]=(0,k.useState)(""),[h,g]=(0,k.useState)(""),v;e[0]===Symbol.for("react.memo_cache_sentinel")?(v={},e[0]=v):v=e[0];let[f,d]=(0,k.useState)(v),A;e[1]===Symbol.for("react.memo_cache_sentinel")?(A=r(p=>{S(p.target.value)},"C"),e[1]=A):A=e[1];let x=A,F;e[2]===Symbol.for("react.memo_cache_sentinel")?(F=r(p=>{C(p.target.value)},"F"),e[2]=F):F=e[2];let q=F,R;e[3]===Symbol.for("react.memo_cache_sentinel")?(R=r(p=>{I(p.target.value)},"_"),e[3]=R):R=e[3];let Te=R,G;e[4]===Symbol.for("react.memo_cache_sentinel")?(G=r(p=>{g(p.target.value)},"O"),e[4]=G):G=e[4];let Be=G,H;e[5]===Symbol.for("react.memo_cache_sentinel")?(H=r((p,$)=>{d(V=>({...V,[p]:$}))},"G"),e[5]=H):H=e[5];let Re=H,J;e[6]!==f?(J=r(p=>f[p.name]??(p.type==="boolean"?!1:""),"H"),e[6]=f,e[7]=J):J=e[7];let j=J,K;if(e[8]!==o.userFields||e[9]!==j){let p;e[11]!==j?(p=r($=>!$.required||lt($,j($)),"p"),e[11]=j,e[12]=p):p=e[12],K=o.userFields.every(p),e[8]=o.userFields,e[9]=j,e[10]=K}else K=e[10];let Fe=K,Q;e[13]!==i||e[14]!==w||e[15]!==b||e[16]!==Fe?(Q=!i&&w.trim()!==""&&b.trim()!==""&&Fe,e[13]=i,e[14]=w,e[15]=b,e[16]=Fe,e[17]=Q):Q=e[17];let De=Q,X;e[18]!==o.userFields||e[19]!==j?(X=r(()=>{let p={};for(let $ of o.userFields){let V=rt($,j($));V!==void 0&&(p[$.name]=V.value)}return Object.keys(p).length===0?void 0:p},"W"),e[18]=o.userFields,e[19]=j,e[20]=X):X=e[20];let Se=X,Y;e[21]!==Se||e[22]!==c||e[23]!==w||e[24]!==b||e[25]!==l||e[26]!==s||e[27]!==y||e[28]!==h||e[29]!==m?(Y=r(()=>{m(async()=>{await c.createAuthUser({data:Se(),email:w.trim(),name:b.trim(),password:y===""?void 0:y,role:h.trim()===""?void 0:h.trim()}),s(),l()})},"Z"),e[21]=Se,e[22]=c,e[23]=w,e[24]=b,e[25]=l,e[26]=s,e[27]=y,e[28]=h,e[29]=m,e[30]=Y):Y=e[30];let N=Y,P;e[31]!==a?(P=a("Create user"),e[31]=a,e[32]=P):P=e[32];let L;e[33]!==a?(L=a("Create user"),e[33]=a,e[34]=L):L=e[34];let O;e[35]!==L?(O=(0,t.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:L}),e[35]=L,e[36]=O):O=e[36];let ee;e[37]!==a?(ee=a("email"),e[37]=a,e[38]=ee):ee=e[38];let te;e[39]!==ee?(te=(0,t.jsx)(D,{htmlFor:"uc-email",children:ee}),e[39]=ee,e[40]=te):te=e[40];let ae;e[41]!==w?(ae=(0,t.jsx)(T,{"data-testid":"uc-email",id:"uc-email",onChange:x,type:"email",value:w}),e[41]=w,e[42]=ae):ae=e[42];let se;e[43]!==te||e[44]!==ae?(se=(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[te,ae]}),e[43]=te,e[44]=ae,e[45]=se):se=e[45];let le;e[46]!==a?(le=a("name"),e[46]=a,e[47]=le):le=e[47];let re;e[48]!==le?(re=(0,t.jsx)(D,{htmlFor:"uc-name",children:le}),e[48]=le,e[49]=re):re=e[49];let ie;e[50]!==b?(ie=(0,t.jsx)(T,{"data-testid":"uc-name",id:"uc-name",onChange:q,value:b}),e[50]=b,e[51]=ie):ie=e[51];let ne;e[52]!==re||e[53]!==ie?(ne=(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[re,ie]}),e[52]=re,e[53]=ie,e[54]=ne):ne=e[54];let de;e[55]!==a?(de=a("Password (optional)"),e[55]=a,e[56]=de):de=e[56];let oe;e[57]!==de?(oe=(0,t.jsx)(D,{htmlFor:"uc-password",children:de}),e[57]=de,e[58]=oe):oe=e[58];let ce;e[59]!==y?(ce=(0,t.jsx)(T,{"data-testid":"uc-password",id:"uc-password",onChange:Te,type:"password",value:y}),e[59]=y,e[60]=ce):ce=e[60];let ue;e[61]!==oe||e[62]!==ce?(ue=(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[oe,ce]}),e[61]=oe,e[62]=ce,e[63]=ue):ue=e[63];let me;e[64]!==a?(me=a("Role (optional)"),e[64]=a,e[65]=me):me=e[65];let he;e[66]!==me?(he=(0,t.jsx)(D,{htmlFor:"uc-role",children:me}),e[66]=me,e[67]=he):he=e[67];let pe;e[68]!==h?(pe=(0,t.jsx)(T,{"data-testid":"uc-role",id:"uc-role",onChange:Be,value:h}),e[68]=h,e[69]=pe):pe=e[69];let fe;e[70]!==he||e[71]!==pe?(fe=(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[he,pe]}),e[70]=he,e[71]=pe,e[72]=fe):fe=e[72];let ve;e[73]!==o.userFields||e[74]!==j||e[75]!==a?(ve=o.userFields.length>0&&(0,t.jsxs)("div",{className:"flex flex-col gap-3 border-t border-border pt-3","data-testid":"uc-plugin-fields",children:[(0,t.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:a("Plugin fields")}),o.userFields.map(p=>{let $=`uc-field-${p.name}`,V=p.required?"":` (${a("optional")})`;if(p.type==="boolean"){let Le=j(p)===!0;return(0,t.jsxs)("label",{className:"flex items-center gap-2",htmlFor:$,children:[(0,t.jsx)(Qe,{checked:Le,"data-testid":$,id:$,onCheckedChange:r(Xe=>{Re(p.name,Xe)},"onCheckedChange")}),(0,t.jsxs)("span",{className:"text-sm",children:[p.name,V]})]},p.name)}let We=j(p);return(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsxs)(D,{htmlFor:$,children:[p.name,V]}),(0,t.jsx)(T,{"data-testid":$,id:$,onChange:r(Le=>{Re(p.name,Le.target.value)},"onChange"),type:st[p.type],value:typeof We=="string"?We:""})]},p.name)})]}),e[73]=o.userFields,e[74]=j,e[75]=a,e[76]=ve):ve=e[76];let xe;e[77]!==n?(xe=n!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"uc-error",role:"alert",children:n}),e[77]=n,e[78]=xe):xe=e[78];let be;e[79]!==a?(be=a("Cancel"),e[79]=a,e[80]=be):be=e[80];let ye;e[81]!==l||e[82]!==be?(ye=(0,t.jsx)(z,{"data-testid":"uc-cancel",onClick:l,size:"sm",type:"button",variant:"outline",children:be}),e[81]=l,e[82]=be,e[83]=ye):ye=e[83];let qe=!De,ge;e[84]!==i||e[85]!==a?(ge=a(i?"Creating\u2026":"Create"),e[84]=i,e[85]=a,e[86]=ge):ge=e[86];let Ne;e[87]!==N||e[88]!==qe||e[89]!==ge?(Ne=(0,t.jsx)(z,{"data-testid":"uc-submit",disabled:qe,onClick:N,size:"sm",type:"button",children:ge}),e[87]=N,e[88]=qe,e[89]=ge,e[90]=Ne):Ne=e[90];let ke;e[91]!==ye||e[92]!==Ne?(ke=(0,t.jsxs)("div",{className:"flex justify-end gap-2 pt-1",children:[ye,Ne]}),e[91]=ye,e[92]=Ne,e[93]=ke):ke=e[93];let je;return e[94]!==l||e[95]!==P||e[96]!==O||e[97]!==se||e[98]!==ne||e[99]!==ue||e[100]!==fe||e[101]!==ve||e[102]!==xe||e[103]!==ke?(je=(0,t.jsxs)(Ve,{label:P,onClose:l,panelTestId:"uc-dialog",testId:"uc-overlay",variant:"dialog",children:[O,se,ne,ue,fe,ve,xe,ke]}),e[94]=l,e[95]=P,e[96]=O,e[97]=se,e[98]=ne,e[99]=ue,e[100]=fe,e[101]=ve,e[102]=xe,e[103]=ke,e[104]=je):je=e[104],je},"st"),Ee=r(u=>{let e=(0,Z.c)(2),{children:l}=u,s;return e[0]!==l?(s=(0,t.jsx)("h3",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:l}),e[0]=l,e[1]=s):s=e[1],s},"Le"),nt=r(u=>{let e=(0,Z.c)(29),{busy:l,runAction:s,userId:c,version:a}=u,o=E(),i=W(),[n,m]=(0,k.useState)(null),[w,S]=(0,k.useState)(null),b;e[0]!==o||e[1]!==c?(b=r(()=>{ze((async()=>{S(null);try{let x=await o.listAuthSessions({limit:50,userId:c});m(x.rows)}catch(x){let F=x;m(null),S(Pe(F))}})())},"x"),e[0]=o,e[1]=c,e[2]=b):b=e[2];let C;e[3]!==o||e[4]!==c||e[5]!==a?(C=[o,c,a],e[3]=o,e[4]=c,e[5]=a,e[6]=C):C=e[6],(0,k.useEffect)(b,C);let y;e[7]!==o||e[8]!==s?(y=r(x=>{s(()=>o.revokeAuthSession({sessionId:x}))},"y"),e[7]=o,e[8]=s,e[9]=y):y=e[9];let I=y,h;e[10]!==i?(h=i("Sessions"),e[10]=i,e[11]=h):h=e[11];let g;e[12]!==h?(g=(0,t.jsx)(Ee,{children:h}),e[12]=h,e[13]=g):g=e[13];let v;e[14]!==w?(v=w!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"ud-sessions-error",role:"alert",children:w}),e[14]=w,e[15]=v):v=e[15];let f;e[16]!==n||e[17]!==i?(f=n!==null&&n.length===0&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"ud-sessions-empty",children:i("No active sessions.")}),e[16]=n,e[17]=i,e[18]=f):f=e[18];let d;e[19]!==l||e[20]!==I||e[21]!==n||e[22]!==i?(d=n!==null&&n.length>0&&(0,t.jsx)(we,{className:"overflow-hidden py-0",children:(0,t.jsx)(Ce,{className:"px-0",children:(0,t.jsxs)(Ue,{"data-testid":"ud-sessions-table",children:[(0,t.jsx)(_e,{children:(0,t.jsxs)(M,{children:[(0,t.jsx)(U,{children:i("expires")}),(0,t.jsx)(U,{children:i("ip")}),(0,t.jsx)(U,{children:i("user agent")}),(0,t.jsx)(U,{"aria-label":i("Actions")})]})}),(0,t.jsx)($e,{children:n.map(x=>(0,t.jsxs)(M,{"data-testid":`ud-session-${x.id}`,children:[(0,t.jsx)(_,{className:"text-muted-foreground tabular-nums",children:Ie(x.expiresAt)}),(0,t.jsx)(_,{children:x.ipAddress??""}),(0,t.jsx)(_,{className:"max-w-40 truncate",children:x.userAgent??""}),(0,t.jsx)(_,{children:(0,t.jsx)(z,{"data-testid":`ud-revoke-${x.id}`,disabled:l,onClick:r(()=>{I(x.id)},"onClick"),size:"xs",type:"button",variant:"ghost",children:i("Revoke")})})]},x.id))})]})})}),e[19]=l,e[20]=I,e[21]=n,e[22]=i,e[23]=d):d=e[23];let A;return e[24]!==g||e[25]!==v||e[26]!==f||e[27]!==d?(A=(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"ud-sessions",children:[g,v,f,d]}),e[24]=g,e[25]=v,e[26]=f,e[27]=d,e[28]=A):A=e[28],A},"rt"),dt=r(u=>{let e=(0,Z.c)(30),{busy:l,runAction:s,userId:c,version:a}=u,o=E(),i=W(),[n,m]=(0,k.useState)(null),[w,S]=(0,k.useState)(null),b;e[0]!==o||e[1]!==c?(b=r(()=>{ze((async()=>{S(null);try{m(await o.listAuthAccounts({userId:c}))}catch(x){let F=x;m(null),S(Pe(F))}})())},"x"),e[0]=o,e[1]=c,e[2]=b):b=e[2];let C;e[3]!==o||e[4]!==c||e[5]!==a?(C=[o,c,a],e[3]=o,e[4]=c,e[5]=a,e[6]=C):C=e[6],(0,k.useEffect)(b,C);let y;e[7]!==o||e[8]!==s||e[9]!==c?(y=r(x=>{s(()=>o.unlinkAuthAccount({accountId:x,userId:c}))},"y"),e[7]=o,e[8]=s,e[9]=c,e[10]=y):y=e[10];let I=y,h;e[11]!==i?(h=i("Linked accounts"),e[11]=i,e[12]=h):h=e[12];let g;e[13]!==h?(g=(0,t.jsx)(Ee,{children:h}),e[13]=h,e[14]=g):g=e[14];let v;e[15]!==w?(v=w!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive",role:"alert",children:w}),e[15]=w,e[16]=v):v=e[16];let f;e[17]!==n||e[18]!==i?(f=n!==null&&n.length===0&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:i("No linked accounts.")}),e[17]=n,e[18]=i,e[19]=f):f=e[19];let d;e[20]!==n||e[21]!==l||e[22]!==I||e[23]!==i?(d=n!==null&&n.length>0&&(0,t.jsx)(we,{className:"overflow-hidden py-0",children:(0,t.jsx)(Ce,{className:"px-0",children:(0,t.jsxs)(Ue,{"data-testid":"ud-accounts-table",children:[(0,t.jsx)(_e,{children:(0,t.jsxs)(M,{children:[(0,t.jsx)(U,{children:i("provider")}),(0,t.jsx)(U,{children:i("created")}),(0,t.jsx)(U,{"aria-label":i("Actions")})]})}),(0,t.jsx)($e,{children:n.map(x=>{let F=Ae(x.id);return(0,t.jsxs)(M,{"data-testid":`ud-account-${F}`,children:[(0,t.jsx)(_,{children:Ae(x.providerId)}),(0,t.jsx)(_,{className:"text-muted-foreground tabular-nums",children:Ie(x.createdAt)}),(0,t.jsx)(_,{children:(0,t.jsx)(z,{"data-testid":`ud-unlink-${F}`,disabled:l,onClick:r(()=>{I(F)},"onClick"),size:"xs",type:"button",variant:"ghost",children:i("Unlink")})})]},F)})})]})})}),e[20]=n,e[21]=l,e[22]=I,e[23]=i,e[24]=d):d=e[24];let A;return e[25]!==g||e[26]!==v||e[27]!==f||e[28]!==d?(A=(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"ud-accounts",children:[g,v,f,d]}),e[25]=g,e[26]=v,e[27]=f,e[28]=d,e[29]=A):A=e[29],A},"it"),ot=r(u=>{let e=(0,Z.c)(40),{busy:l,capabilities:s,runAction:c,userId:a,version:o}=u,i=E(),n=W(),[m,w]=(0,k.useState)(null),S;e[0]!==s.passkey||e[1]!==i||e[2]!==a?(S=r(()=>{s.passkey&&ze((async()=>{try{w(await i.listAuthPasskeys({userId:a}))}catch{w(null)}})())},"I"),e[0]=s.passkey,e[1]=i,e[2]=a,e[3]=S):S=e[3];let b;e[4]!==s.passkey||e[5]!==i||e[6]!==a||e[7]!==o?(b=[s.passkey,i,a,o],e[4]=s.passkey,e[5]=i,e[6]=a,e[7]=o,e[8]=b):b=e[8],(0,k.useEffect)(S,b);let C;e[9]!==i||e[10]!==c||e[11]!==a?(C=r(()=>{c(()=>i.disableAuthTwoFactor({userId:a}))},"w"),e[9]=i,e[10]=c,e[11]=a,e[12]=C):C=e[12];let y=C,I;e[13]!==i||e[14]!==c?(I=r(F=>{c(()=>i.deleteAuthPasskey({passkeyId:F}))},"A"),e[13]=i,e[14]=c,e[15]=I):I=e[15];let h=I,g;e[16]!==n?(g=n("Security"),e[16]=n,e[17]=g):g=e[17];let v;e[18]!==g?(v=(0,t.jsx)(Ee,{children:g}),e[18]=g,e[19]=v):v=e[19];let f;e[20]!==l||e[21]!==s.twoFactor||e[22]!==y||e[23]!==n?(f=s.twoFactor&&(0,t.jsx)(z,{"data-testid":"ud-disable-2fa",disabled:l,onClick:y,size:"sm",type:"button",variant:"outline",children:n("Disable two-factor")}),e[20]=l,e[21]=s.twoFactor,e[22]=y,e[23]=n,e[24]=f):f=e[24];let d;e[25]!==s.passkey||e[26]!==m||e[27]!==n?(d=s.passkey&&m!==null&&m.length===0&&(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:n("No passkeys.")}),e[25]=s.passkey,e[26]=m,e[27]=n,e[28]=d):d=e[28];let A;e[29]!==l||e[30]!==s.passkey||e[31]!==h||e[32]!==m||e[33]!==n?(A=s.passkey&&m!==null&&m.length>0&&(0,t.jsx)(we,{className:"overflow-hidden py-0",children:(0,t.jsx)(Ce,{className:"px-0",children:(0,t.jsxs)(Ue,{"data-testid":"ud-passkeys-table",children:[(0,t.jsx)(_e,{children:(0,t.jsxs)(M,{children:[(0,t.jsx)(U,{children:n("name")}),(0,t.jsx)(U,{children:n("created")}),(0,t.jsx)(U,{"aria-label":n("Actions")})]})}),(0,t.jsx)($e,{children:m.map(F=>{let q=Ae(F.id);return(0,t.jsxs)(M,{"data-testid":`ud-passkey-${q}`,children:[(0,t.jsx)(_,{children:Ae(F.name)||q}),(0,t.jsx)(_,{className:"text-muted-foreground tabular-nums",children:Ie(F.createdAt)}),(0,t.jsx)(_,{children:(0,t.jsx)(z,{"data-testid":`ud-delete-passkey-${q}`,disabled:l,onClick:r(()=>{h(q)},"onClick"),size:"xs",type:"button",variant:"ghost",children:n("Delete")})})]},q)})})]})})}),e[29]=l,e[30]=s.passkey,e[31]=h,e[32]=m,e[33]=n,e[34]=A):A=e[34];let x;return e[35]!==v||e[36]!==f||e[37]!==d||e[38]!==A?(x=(0,t.jsxs)("div",{className:"flex flex-col gap-2","data-testid":"ud-security",children:[v,f,d,A]}),e[35]=v,e[36]=f,e[37]=d,e[38]=A,e[39]=x):x=e[39],x},"nt"),ct=/(?:at|expires)$/iu,ut=new Set(["banExpires","banned","banReason","email","emailVerified","id","name","role"]),mt=r((u,e)=>typeof e=="number"&&ct.test(u)?Ie(e):Ae(e),"ct"),ht=r(({capabilities:u,onChanged:e,onClose:l,user:s})=>{let c=E(),a=W(),o=s.banned===!0,[i,n]=(0,k.useState)(null),[m,w]=(0,k.useState)(!1),[S,b]=(0,k.useState)(0),[C,y]=(0,k.useState)(typeof s.role=="string"?s.role:""),[I,h]=(0,k.useState)(""),[g,v]=(0,k.useState)(""),[f,d]=(0,k.useState)(""),[A,x]=(0,k.useState)(null),[F,q]=(0,k.useState)(!1),R=r((N,P)=>{ze((async()=>{w(!0),n(null);try{let L=await N();P?.refresh!==!1&&(b(O=>O+1),e()),P?.onResult?.(L)}catch(L){n(Pe(L))}finally{w(!1)}})())},"_"),Te=r(N=>{y(N.target.value)},"De"),G=r(N=>{h(N.target.value)},"O"),Be=r(N=>{v(N.target.value)},"je"),H=r(N=>{d(N.target.value)},"G"),Re=r(()=>{let N=C.trim();N!==""&&R(async()=>{await c.setAuthUserRole({role:N,userId:s.id})})},"Se"),J=r(()=>{let N=Number.parseInt(g,10),P=Number.isFinite(N)&&N>0?N*86400:void 0;R(async()=>{await c.banAuthUser({expiresInSeconds:P,reason:I.trim()===""?void 0:I.trim(),userId:s.id})})},"H"),j=r(()=>{R(async()=>{await c.unbanAuthUser({userId:s.id})})},"R"),K=r(()=>{R(async()=>{await c.setAuthUserPassword({newPassword:f,userId:s.id}),d("")})},"J"),Fe=r(()=>{R(()=>c.impersonateAuthUser({userId:s.id}),{onResult:r(N=>{x(N.token)},"onResult"),refresh:!1})},"we"),Q=r(()=>{R(async()=>{await c.revokeAuthUserSessions({userId:s.id})})},"K"),De=r(()=>{R(async()=>{await c.removeAuthUser({userId:s.id}),l()})},"Te"),X=r(()=>{q(!0)},"W"),Se=r(()=>{q(!1)},"Ce"),Y=Object.entries(s).filter(([N])=>!ut.has(N));return(0,t.jsxs)(Ve,{label:a("User details"),onClose:l,panelTestId:"ud-panel",testId:"ud-overlay",variant:"drawer",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:s.name??s.email??s.id}),(0,t.jsx)("p",{className:"font-mono text-xs text-muted-foreground",children:s.id}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-1.5 pt-1",children:[typeof s.role=="string"&&s.role!==""&&(0,t.jsx)(B,{variant:"secondary",children:s.role}),o?(0,t.jsx)(B,{variant:"destructive",children:a("Banned")}):(0,t.jsx)(B,{variant:"outline",children:a("Active")}),s.emailVerified===!0?(0,t.jsx)(B,{variant:"secondary",children:a("verified")}):(0,t.jsx)(B,{variant:"outline",children:a("unverified")})]})]}),(0,t.jsx)(z,{"data-testid":"ud-close",onClick:l,size:"sm",type:"button",variant:"ghost",children:a("Close")})]}),i!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"ud-action-error",role:"alert",children:i}),u.admin&&(0,t.jsxs)(we,{className:"gap-0 py-0",children:[(0,t.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,t.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:a("Actions")})}),(0,t.jsxs)(Ce,{className:"flex flex-col gap-3 p-3",children:[(0,t.jsxs)("div",{className:"flex items-end gap-2",children:[(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-1",children:[(0,t.jsx)(D,{htmlFor:"ud-role",children:a("Role")}),(0,t.jsx)(T,{"data-testid":"ud-role-input",id:"ud-role",onChange:Te,value:C})]}),(0,t.jsx)(z,{"data-testid":"ud-set-role",disabled:m||C.trim()==="",onClick:Re,size:"sm",type:"button",variant:"outline",children:a("Set role")})]}),o?(0,t.jsx)(z,{"data-testid":"ud-unban",disabled:m,onClick:j,size:"sm",type:"button",variant:"outline",children:a("Unban")}):(0,t.jsxs)("div",{className:"flex items-end gap-2",children:[(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-1",children:[(0,t.jsx)(D,{htmlFor:"ud-ban-reason",children:a("Ban reason (optional)")}),(0,t.jsx)(T,{"data-testid":"ud-ban-reason",id:"ud-ban-reason",onChange:G,value:I})]}),(0,t.jsxs)("div",{className:"flex w-24 flex-col gap-1",children:[(0,t.jsx)(D,{htmlFor:"ud-ban-days",children:a("Days")}),(0,t.jsx)(T,{"data-testid":"ud-ban-days",id:"ud-ban-days",onChange:Be,type:"number",value:g})]}),(0,t.jsx)(z,{"data-testid":"ud-ban",disabled:m,onClick:J,size:"sm",type:"button",variant:"destructive",children:a("Ban user")})]}),(0,t.jsxs)("div",{className:"flex items-end gap-2",children:[(0,t.jsxs)("div",{className:"flex flex-1 flex-col gap-1",children:[(0,t.jsx)(D,{htmlFor:"ud-password",children:a("New password")}),(0,t.jsx)(T,{"data-testid":"ud-password",id:"ud-password",onChange:H,type:"password",value:f})]}),(0,t.jsx)(z,{"data-testid":"ud-set-password",disabled:m||f==="",onClick:K,size:"sm",type:"button",variant:"outline",children:a("Set password")})]}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-2",children:[(0,t.jsx)(z,{"data-testid":"ud-impersonate",disabled:m,onClick:Fe,size:"sm",type:"button",variant:"outline",children:a("Impersonate")}),(0,t.jsx)(z,{"data-testid":"ud-revoke-all",disabled:m,onClick:Q,size:"sm",type:"button",variant:"outline",children:a("Revoke all sessions")}),F?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(z,{"data-testid":"ud-delete-confirm",disabled:m,onClick:De,size:"sm",type:"button",variant:"destructive",children:a("Confirm delete")}),(0,t.jsx)(z,{"data-testid":"ud-delete-cancel",onClick:Se,size:"sm",type:"button",variant:"ghost",children:a("Cancel")})]}):(0,t.jsx)(z,{"data-testid":"ud-delete",disabled:m,onClick:X,size:"sm",type:"button",variant:"destructive",children:a("Delete user")})]}),A!==null&&(0,t.jsxs)("div",{className:"flex flex-col gap-1","data-testid":"ud-impersonation",children:[(0,t.jsx)(D,{htmlFor:"ud-token",children:a("Impersonation token")}),(0,t.jsx)(T,{"data-testid":"ud-token",id:"ud-token",readOnly:!0,value:A})]})]})]}),(0,t.jsx)(nt,{busy:m,runAction:R,userId:s.id,version:S}),u.accounts&&(0,t.jsx)(dt,{busy:m,runAction:R,userId:s.id,version:S}),(u.twoFactor||u.passkey)&&(0,t.jsx)(ot,{busy:m,capabilities:u,runAction:R,userId:s.id,version:S}),(0,t.jsxs)("div",{className:"flex flex-col gap-1","data-testid":"ud-fields",children:[(0,t.jsx)("h3",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:a("Fields")}),(0,t.jsx)("dl",{className:"flex flex-col",children:Y.map(([N,P])=>(0,t.jsxs)("div",{className:"flex flex-col border-t border-border py-1.5",children:[(0,t.jsx)("dt",{className:"text-xs font-semibold text-muted-foreground",children:N}),(0,t.jsx)("dd",{className:"m-0 font-mono text-xs break-words",children:mt(N,P)})]},N))})]})]})},"ut"),pt=50,_t=r(({pageSize:u=pt}={})=>{let e=E(),l=W(),[s,c]=(0,k.useState)(""),[a,o]=(0,k.useState)(""),i=He(s),[n,m]=(0,k.useState)(null),[w,S]=(0,k.useState)(!1),{capabilities:b}=at(),C=i.trim(),y=a.trim(),I=Ge(["lunora-auth-users",C,y,u],()=>e.listAuthUsers({filterField:y===""?void 0:"role",filterValue:y===""?void 0:y,limit:u,search:C===""?void 0:C}),{keepPreviousData:!0}),h=I.data?.rows??null,g=I.error,v=r(()=>{I.refetch()},"v");Je(()=>{I.refetch()},!0);let f=n===null?null:h?.find(d=>d.id===n)??null;return(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-users",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(T,{"aria-label":l("Search users"),className:"w-56","data-testid":"us-search",onChange:r(d=>{c(d.target.value)},"onChange"),placeholder:l("Search by email or name\u2026"),value:s}),(0,t.jsx)(T,{"aria-label":l("Filter by role"),className:"w-40","data-testid":"us-role-filter",onChange:r(d=>{o(d.target.value)},"onChange"),placeholder:l("Filter by role"),value:a}),(0,t.jsx)(z,{"data-testid":"us-new",onClick:r(()=>{S(!0)},"onClick"),size:"sm",type:"button",children:l("New user")})]}),g!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"us-users-error",role:"alert",children:g}),h!==null&&h.length===0&&(0,t.jsx)(Ze,{description:l("Users who sign up to your app will appear here."),icon:(0,t.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,t.jsx)("path",{d:"M16 20v-2a4 4 0 0 0-4-4H7a4 4 0 0 0-4 4v2M9.5 10a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm11.5 10v-2a4 4 0 0 0-3-3.85"})}),testId:"us-empty",title:l("No users.")}),h!==null&&h.length>0&&(0,t.jsx)(we,{className:"overflow-hidden py-0",children:(0,t.jsx)(Ce,{className:"px-0",children:(0,t.jsxs)(Ue,{"data-testid":"us-table",children:[(0,t.jsx)(_e,{children:(0,t.jsxs)(M,{children:[(0,t.jsx)(U,{children:l("id")}),(0,t.jsx)(U,{children:l("email")}),(0,t.jsx)(U,{children:l("name")}),(0,t.jsx)(U,{children:l("role")}),(0,t.jsx)(U,{children:l("status")}),(0,t.jsx)(U,{children:l("verified")}),(0,t.jsx)(U,{children:l("created")}),(0,t.jsx)(U,{"aria-label":l("Actions")})]})}),(0,t.jsx)($e,{children:h.map(d=>(0,t.jsxs)(M,{"data-testid":`us-row-${d.id}`,children:[(0,t.jsx)(_,{className:"font-mono text-xs",children:d.id}),(0,t.jsx)(_,{children:d.email??""}),(0,t.jsx)(_,{children:d.name??""}),(0,t.jsx)(_,{children:typeof d.role=="string"&&d.role!==""?(0,t.jsx)(B,{variant:"secondary",children:d.role}):""}),(0,t.jsx)(_,{children:d.banned===!0?(0,t.jsx)(B,{variant:"destructive",children:l("Banned")}):(0,t.jsx)(B,{variant:"success",children:l("Active")})}),(0,t.jsx)(_,{children:d.emailVerified===!0?(0,t.jsx)(B,{variant:"success",children:l("yes")}):(0,t.jsx)(B,{variant:"outline",children:l("no")})}),(0,t.jsx)(_,{className:"text-muted-foreground tabular-nums",children:Ie(d.createdAt)}),(0,t.jsx)(_,{children:(0,t.jsx)(z,{"data-testid":`us-manage-${d.id}`,onClick:r(()=>{m(d.id)},"onClick"),size:"xs",type:"button",variant:"ghost",children:l("Manage")})})]},d.id))})]})})}),f!==null&&(0,t.jsx)(ht,{capabilities:b,onChanged:v,onClose:r(()=>{m(null)},"onClose"),user:f}),w&&(0,t.jsx)(it,{onClose:r(()=>{S(!1)},"onClose"),onCreated:v})]})},"Pt");export{_t as UsersPanel};
@@ -0,0 +1 @@
1
+ import{a as h}from"./chunk-AVAC26HJ.js";import{a as t}from"./chunk-3XIESWL4.js";var s=t((o,i,m)=>h(o,e=>{i(e.height>0?e:{height:m,width:e.width})}),"m");export{s as a};
@@ -0,0 +1 @@
1
+ import{a as B}from"./chunk-UNUU7CJJ.js";import"./chunk-XXQUMVWH.js";import{b as q}from"./chunk-XSD4Y6SQ.js";import{a as M,b as U,c as $,d as P,e as d,f as c}from"./chunk-MIQTKZAR.js";import{a as C,e as E}from"./chunk-UZERI5YC.js";import{b as T}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as z}from"./chunk-GXZAXNZI.js";import"./chunk-35II7U25.js";import"./chunk-XBDKZZ67.js";import{a as G}from"./chunk-XQCVZAGU.js";import{d as _}from"./chunk-4CGALXS3.js";import"./chunk-LE56LPNH.js";import{a as R,e as O,g as L,h as V}from"./chunk-3XIESWL4.js";var J=O(L(),1);var r=O(V(),1);var H=["read","insert","update","delete"],W=R((e,s)=>({delete:e("Delete"),insert:e("Insert"),read:e("Read"),update:e("Update")})[s],"q"),Q=R(e=>{let s=new Map;for(let l of e){let t=s.get(l.table)??{operations:new Set,procedures:[],table:l.table};t.operations.add(l.on),t.procedures.includes(l.procedure)||t.procedures.push(l.procedure),s.set(l.table,t)}return[...s.values()].toSorted((l,t)=>l.table.localeCompare(t.table))},"B"),ie=R(()=>{let e=(0,J.c)(49),s=_(),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l={},e[0]=l):l=e[0];let{data:t,error:S,errorSource:k}=q(z.rlsPolicies,l),p=t!==void 0,m,n,h,a,u,f,x,b,o;if(e[1]!==t||e[2]!==S||e[3]!==k||e[4]!==p||e[5]!==s){let F=Q(Array.isArray(t?.policies)?t.policies:[]),D;e[15]!==t?(D=Array.isArray(t?.roles)?t.roles:[],e[15]=t,e[16]=D):D=e[16],n=D,x="flex flex-col gap-6",b="lunora-rls-panel",e[17]!==S||e[18]!==k?(o=S!==null&&(0,r.jsx)(B,{error:k,testId:"rls-error"}),e[17]=S,e[18]=k,e[19]=o):o=e[19],f="flex flex-col gap-2",m=C,h="overflow-hidden py-0";let I;e[20]!==s?(I=s("Policies"),e[20]=s,e[21]=I):I=e[21],e[22]!==I?(a=(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:I})}),e[22]=I,e[23]=a):a=e[23],u=p&&F.length===0?(0,r.jsx)(G,{description:s("No `definePolicy` is wired through `.use(rls(...))` in this deployment. Add one to guard a table's rows."),testId:"rls-policies-empty",title:s("No policies defined")}):(0,r.jsx)(E,{className:"px-0",children:(0,r.jsxs)(M,{"data-testid":"rls-policies-table",children:[(0,r.jsx)(U,{children:(0,r.jsxs)(P,{children:[(0,r.jsx)(d,{children:s("Table")}),H.map(i=>(0,r.jsx)(d,{children:W(s,i)},i)),(0,r.jsx)(d,{children:s("Guarded by")})]})}),(0,r.jsx)($,{children:F.map(i=>(0,r.jsxs)(P,{"data-testid":`rls-table-${i.table}`,children:[(0,r.jsx)(c,{className:"font-mono text-xs",children:i.table}),H.map(K=>(0,r.jsx)(c,{children:i.operations.has(K)?(0,r.jsx)(T,{variant:"secondary",children:s("Guarded")}):(0,r.jsx)("span",{"aria-hidden":"true",className:"text-muted-foreground",children:"\u2014"})},K)),(0,r.jsx)(c,{className:"font-mono text-xs text-muted-foreground",children:i.procedures.join(", ")})]},i.table))})]})}),e[1]=t,e[2]=S,e[3]=k,e[4]=p,e[5]=s,e[6]=m,e[7]=n,e[8]=h,e[9]=a,e[10]=u,e[11]=f,e[12]=x,e[13]=b,e[14]=o}else m=e[6],n=e[7],h=e[8],a=e[9],u=e[10],f=e[11],x=e[12],b=e[13],o=e[14];let N;e[24]!==m||e[25]!==h||e[26]!==a||e[27]!==u?(N=(0,r.jsxs)(m,{className:h,children:[a,u]}),e[24]=m,e[25]=h,e[26]=a,e[27]=u,e[28]=N):N=e[28];let g;e[29]!==f||e[30]!==N?(g=(0,r.jsx)("section",{className:f,children:N}),e[29]=f,e[30]=N,e[31]=g):g=e[31];let y;e[32]!==s?(y=s("Roles"),e[32]=s,e[33]=y):y=e[33];let w;e[34]!==y?(w=(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:y})}),e[34]=y,e[35]=w):w=e[35];let v;e[36]!==p||e[37]!==n||e[38]!==s?(v=p&&n.length===0?(0,r.jsx)(G,{description:s("No `defineRole` is registered via `rls(policies, { roles })`. Roles back `ctx.auth.can(...)` permission checks."),testId:"rls-roles-empty",title:s("No roles defined")}):(0,r.jsx)(E,{className:"px-0",children:(0,r.jsxs)(M,{"data-testid":"rls-roles-table",children:[(0,r.jsx)(U,{children:(0,r.jsxs)(P,{children:[(0,r.jsx)(d,{children:s("Role")}),(0,r.jsx)(d,{children:s("Description")}),(0,r.jsx)(d,{children:s("Permissions")})]})}),(0,r.jsx)($,{children:n.map(Y)})]})}),e[36]=p,e[37]=n,e[38]=s,e[39]=v):v=e[39];let A;e[40]!==w||e[41]!==v?(A=(0,r.jsx)("section",{className:"flex flex-col gap-2",children:(0,r.jsxs)(C,{className:"overflow-hidden py-0",children:[w,v]})}),e[40]=w,e[41]=v,e[42]=A):A=e[42];let j;return e[43]!==A||e[44]!==x||e[45]!==b||e[46]!==o||e[47]!==g?(j=(0,r.jsxs)("div",{className:x,"data-testid":b,children:[o,g,A]}),e[43]=A,e[44]=x,e[45]=b,e[46]=o,e[47]=g,e[48]=j):j=e[48],j},"ae");function X(e){return(0,r.jsx)(T,{variant:"outline",children:e},e)}R(X,"H");function Y(e){return(0,r.jsxs)(P,{"data-testid":`rls-role-${e.name}`,children:[(0,r.jsx)(c,{className:"font-mono text-xs",children:e.name}),(0,r.jsx)(c,{className:"text-muted-foreground",children:e.description??""}),(0,r.jsx)(c,{children:e.permissions.length===0?(0,r.jsx)("span",{"aria-hidden":"true",className:"text-muted-foreground",children:"\u2014"}):(0,r.jsx)("span",{className:"flex flex-wrap gap-1",children:e.permissions.map(X)})})]},e.name)}R(Y,"L");export{ie as default};