@lunora/studio 1.0.0-alpha.11 → 1.0.0-alpha.111

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 (322) hide show
  1. package/LICENSE.md +6 -0
  2. package/dist/index.d.ts +835 -782
  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/AdvisorHealthPanel.js +1 -0
  7. package/dist/packem_chunks/ApiTab.js +1 -0
  8. package/dist/packem_chunks/AuditPanel.js +1 -0
  9. package/dist/packem_chunks/DeploymentHealthPanel.js +1 -0
  10. package/dist/packem_chunks/ExportImportPanel.js +3 -0
  11. package/dist/packem_chunks/FileBrowser.js +4 -0
  12. package/dist/packem_chunks/FunctionRunner.js +1 -0
  13. package/dist/packem_chunks/FunctionStatsPanel.js +1 -0
  14. package/dist/packem_chunks/HealthPanel.js +1 -0
  15. package/dist/packem_chunks/InsightsPanel.js +1 -0
  16. package/dist/packem_chunks/LogsPanel.js +1 -0
  17. package/dist/packem_chunks/MailPanel.js +2 -0
  18. package/dist/packem_chunks/MetricsPanel.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 +1 -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 +6 -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/evals-panel.js +1 -0
  34. package/dist/packem_chunks/fanout-panel.js +1 -0
  35. package/dist/packem_chunks/flags-panel.js +1 -0
  36. package/dist/packem_chunks/issues-panel.js +1 -0
  37. package/dist/packem_chunks/kv-browser.js +1 -0
  38. package/dist/packem_chunks/log-drains-panel.js +4 -0
  39. package/dist/packem_chunks/migrations-route.js +1 -0
  40. package/dist/packem_chunks/organizations-panel.js +1 -0
  41. package/dist/packem_chunks/payments-panel.js +1 -0
  42. package/dist/packem_chunks/permissions-panel.js +1 -0
  43. package/dist/packem_chunks/queues-panel.js +1 -0
  44. package/dist/packem_chunks/rls-panel.js +1 -0
  45. package/dist/packem_chunks/schedule-panel.js +1 -0
  46. package/dist/packem_chunks/sparkline.js +1 -0
  47. package/dist/packem_chunks/storage-rules-panel.js +1 -0
  48. package/dist/packem_chunks/subscriptions-panel.js +1 -0
  49. package/dist/packem_chunks/sync-client-panel.js +1 -0
  50. package/dist/packem_chunks/traces-panel.js +1 -0
  51. package/dist/packem_chunks/users-panel.js +1 -0
  52. package/dist/packem_chunks/vector-browser.js +1 -0
  53. package/dist/packem_chunks/workflows-panel.js +1 -0
  54. package/dist/packem_shared/ADMIN_FUNCTIONS-4aE59aDq.js +1 -0
  55. package/dist/packem_shared/ApiDocsPanel-BL5lMig5.js +2 -0
  56. package/dist/packem_shared/ApiReferencePanel-CkCFMCBb.js +1 -0
  57. package/dist/packem_shared/CommandPalette-B5yLEABs.js +1 -0
  58. package/dist/packem_shared/ConfirmButton-Cj2SOapE.js +1 -0
  59. package/dist/packem_shared/ConnectionBadge-Bh16X9-u.js +1 -0
  60. package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-DuULO4XM.js +1 -0
  61. package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-1Lrg55IV.js +1 -0
  62. package/dist/packem_shared/DEFAULT_LOCALE-A1Yg5ORA.js +1 -0
  63. package/dist/packem_shared/DataBrowser-BnDIFN-S.js +1 -0
  64. package/dist/packem_shared/DataFilters-3nbW0uax.js +1 -0
  65. package/dist/packem_shared/ErrorBoundary-BWNF98VF.js +1 -0
  66. package/dist/packem_shared/GlobalDataBrowser-DusjXzRF.js +1 -0
  67. package/dist/packem_shared/HomePanel-BcaHVBJh.js +1 -0
  68. package/dist/packem_shared/MigrationsPanel-CCOENX4X.js +1 -0
  69. package/dist/packem_shared/OpenRpcReferencePanel-21OWMH45.js +1 -0
  70. package/dist/packem_shared/STUDIO_ROOT_CLASS-C6MccdVk.js +1 -0
  71. package/dist/packem_shared/ScheduledJobs-CiO3eXgI.js +1 -0
  72. package/dist/packem_shared/ShardInput-XumEzeT0.js +1 -0
  73. package/dist/packem_shared/Studio-CHmLCjBR.js +1 -0
  74. package/dist/packem_shared/StudioApp-DCdbsciH.js +1 -0
  75. package/dist/packem_shared/StudioI18nProvider-Bl547evf.js +1 -0
  76. package/dist/packem_shared/advisor-view-C1KFTXSH.js +1 -0
  77. package/dist/packem_shared/aggregateMetrics-A-Y7OH6R.js +1 -0
  78. package/dist/packem_shared/alert-C2SEhYS9.js +1 -0
  79. package/dist/packem_shared/app.d-D1bPR8FO.d.ts +252 -0
  80. package/dist/packem_shared/badge-cAk9Di1Q.js +1 -0
  81. package/dist/packem_shared/bar-chart-CCyO67Uf.js +6 -0
  82. package/dist/packem_shared/browser-storage-Br_bLeBt.js +1 -0
  83. package/dist/packem_shared/button-BOPLD1un.js +1 -0
  84. package/dist/packem_shared/card-BGlQzQY-.js +1 -0
  85. package/dist/packem_shared/cf-links-CBJ5SywP.js +1 -0
  86. package/dist/packem_shared/checkbox-C5w53W-E.js +1 -0
  87. package/dist/packem_shared/data-grid-BFTQnkXq.js +1 -0
  88. package/dist/packem_shared/data-view-params-qoSTqjAj.js +1 -0
  89. package/dist/packem_shared/dropdown-menu-D_ewqsUU.js +2 -0
  90. package/dist/packem_shared/empty-state-B939z6K2.js +1 -0
  91. package/dist/packem_shared/error-alert-TYdKetJd.js +1 -0
  92. package/dist/packem_shared/grid-features-C_yXlMc_.js +6 -0
  93. package/dist/packem_shared/home-panel-BiJHXeDC.js +3 -0
  94. package/dist/packem_shared/input-CY5W3wzv.js +1 -0
  95. package/dist/packem_shared/internal-CwaF9YNk.js +2 -0
  96. package/dist/packem_shared/label-BOUo-DP0.js +1 -0
  97. package/dist/packem_shared/live-status-Bf7rR8o8.js +1 -0
  98. package/dist/packem_shared/log-fields-SBxKyBug.js +1 -0
  99. package/dist/packem_shared/log-line-UnE93Ovi.js +1 -0
  100. package/dist/packem_shared/modal-shell-wGW4CKEW.js +1 -0
  101. package/dist/packem_shared/operation-console-provider-DoloEvon.js +1 -0
  102. package/dist/packem_shared/recording-client-CKn4-vUx.js +1 -0
  103. package/dist/packem_shared/reference-view-CUIDzLf0.js +12 -0
  104. package/dist/packem_shared/result-chart-Ca3YLzt8.js +1 -0
  105. package/dist/packem_shared/schema-diagram-DHD13TjS.js +2 -0
  106. package/dist/packem_shared/scroll-area-DSJftwu_.js +2 -0
  107. package/dist/packem_shared/select-BPISLTcv.js +2 -0
  108. package/dist/packem_shared/shard-history-QcjcMnCA.js +1 -0
  109. package/dist/packem_shared/skeleton-DFBBaJU6.js +1 -0
  110. package/dist/packem_shared/sparkline-BreIqzDO.js +1 -0
  111. package/dist/packem_shared/stat-card-B9uIvAHg.js +1 -0
  112. package/dist/packem_shared/storage-tier-C2mKwYRj.js +1 -0
  113. package/dist/packem_shared/studio-B3eEcBK0.js +2 -0
  114. package/dist/packem_shared/table-BMsuYFhk.js +2 -0
  115. package/dist/packem_shared/table-list-sidebar-Bluzd1_2.js +1 -0
  116. package/dist/packem_shared/textarea-DpO3i-Qo.js +1 -0
  117. package/dist/packem_shared/trace-handoff-C0CFV2ix.js +1 -0
  118. package/dist/packem_shared/use-admin-query-P0RJrjsD.js +1 -0
  119. package/dist/packem_shared/use-async-submit-DdLd0MdK.js +1 -0
  120. package/dist/packem_shared/use-auth-config-z3KRWAqD.js +1 -0
  121. package/dist/packem_shared/use-open-trace-4tIa0SXZ.js +1 -0
  122. package/dist/packem_shared/use-shard-key-BsP3o5wT.js +1 -0
  123. package/dist/packem_shared/use-sql-assistant-CP90nLLh.js +1 -0
  124. package/dist/packem_shared/useDebounced-DVeQ5-oW.js +1 -0
  125. package/dist/packem_shared/utils-bhneXptQ.js +1 -0
  126. package/dist/packem_shared/virtual-rect-D_j7aLxX.js +1 -0
  127. package/dist/packem_shared/wire-codec-Dl3VeNrd.js +1 -0
  128. package/dist/standalone/chunk-25OIGX2A.js +1 -0
  129. package/dist/standalone/chunk-26VREVWU.js +1 -0
  130. package/dist/standalone/chunk-2BDM6HNL.js +1 -0
  131. package/dist/standalone/chunk-2DC6F7NH.js +1 -0
  132. package/dist/standalone/chunk-3F5I435D.js +1 -0
  133. package/dist/standalone/chunk-3QB5JI32.js +1 -0
  134. package/dist/standalone/chunk-3RYEUXY2.js +1 -0
  135. package/dist/standalone/chunk-44WNSIGQ.js +1 -0
  136. package/dist/standalone/chunk-45YWYMD5.js +1 -0
  137. package/dist/standalone/chunk-4MAJFNON.js +1 -0
  138. package/dist/standalone/chunk-4YTSKL4R.js +1 -0
  139. package/dist/standalone/chunk-57VX76PR.js +1 -0
  140. package/dist/standalone/chunk-5JLIP2HH.js +1 -0
  141. package/dist/standalone/chunk-5NRQIDQA.js +1 -0
  142. package/dist/standalone/chunk-5T7KRUPX.js +1 -0
  143. package/dist/standalone/chunk-6FWN26RH.js +1 -0
  144. package/dist/standalone/chunk-6JGXSMKV.js +1 -0
  145. package/dist/standalone/chunk-6NJAHOGO.js +1 -0
  146. package/dist/standalone/chunk-6SAAMM4S.js +1 -0
  147. package/dist/standalone/chunk-6ZPTNC34.js +19 -0
  148. package/dist/standalone/chunk-74ASA4WU.js +1 -0
  149. package/dist/standalone/chunk-7PIHTTND.js +1 -0
  150. package/dist/standalone/chunk-7SROZWKL.js +1 -0
  151. package/dist/standalone/chunk-AECDJKXB.js +1 -0
  152. package/dist/standalone/chunk-AFKLFS74.js +1 -0
  153. package/dist/standalone/chunk-AOAJGSYZ.js +2 -0
  154. package/dist/standalone/chunk-AOE75NAT.js +1 -0
  155. package/dist/standalone/chunk-APRVSWBH.js +59 -0
  156. package/dist/standalone/chunk-BELLXCN7.js +2 -0
  157. package/dist/standalone/chunk-BORG7WUC.js +1 -0
  158. package/dist/standalone/chunk-BQK2C2Z4.js +1 -0
  159. package/dist/standalone/chunk-BWEXJENB.js +1 -0
  160. package/dist/standalone/chunk-C5E5PLJT.js +4 -0
  161. package/dist/standalone/chunk-C7E4I7JZ.js +1 -0
  162. package/dist/standalone/chunk-CAOUXOL7.js +1 -0
  163. package/dist/standalone/chunk-CEPMQS24.js +6 -0
  164. package/dist/standalone/chunk-CKTKI4IY.js +1 -0
  165. package/dist/standalone/chunk-CN2AINNY.js +1 -0
  166. package/dist/standalone/chunk-CP4ZFBVW.js +1 -0
  167. package/dist/standalone/chunk-CYX3OHJ3.js +1 -0
  168. package/dist/standalone/chunk-D7DUQS2Y.js +1 -0
  169. package/dist/standalone/chunk-DKSLOJDQ.js +1 -0
  170. package/dist/standalone/chunk-DL3UOEWN.js +1 -0
  171. package/dist/standalone/chunk-DPNEFSEC.js +1 -0
  172. package/dist/standalone/chunk-DUDQV6XJ.js +1 -0
  173. package/dist/standalone/chunk-EDHW2EEG.js +1 -0
  174. package/dist/standalone/chunk-EYGF6TQS.js +1 -0
  175. package/dist/standalone/chunk-F7JOSNAT.js +1 -0
  176. package/dist/standalone/chunk-FBAZHG35.js +1 -0
  177. package/dist/standalone/chunk-FLCK2WWQ.js +1 -0
  178. package/dist/standalone/chunk-FSWPREH3.js +1 -0
  179. package/dist/standalone/chunk-GIRZD3UB.js +3 -0
  180. package/dist/standalone/chunk-GPP4VSUO.js +1 -0
  181. package/dist/standalone/chunk-GZMBMNL3.js +6 -0
  182. package/dist/standalone/chunk-INBA3473.js +1 -0
  183. package/dist/standalone/chunk-INQICZYC.js +1 -0
  184. package/dist/standalone/chunk-IWNVQHF7.js +1 -0
  185. package/dist/standalone/chunk-IWOZGUI2.js +1 -0
  186. package/dist/standalone/chunk-IYWVSMAY.js +1 -0
  187. package/dist/standalone/chunk-J6MNOKO5.js +1 -0
  188. package/dist/standalone/chunk-JURAVSE7.js +1 -0
  189. package/dist/standalone/chunk-JUWOEHDD.js +1 -0
  190. package/dist/standalone/chunk-JV7KTJPY.js +1 -0
  191. package/dist/standalone/chunk-JVAYDDMK.js +1 -0
  192. package/dist/standalone/chunk-KEKIGANB.js +1 -0
  193. package/dist/standalone/chunk-KFZ37KQP.js +1 -0
  194. package/dist/standalone/chunk-KQIHXYE6.js +1 -0
  195. package/dist/standalone/chunk-L4EZAHCD.js +1 -0
  196. package/dist/standalone/chunk-L7CJ5PGH.js +1 -0
  197. package/dist/standalone/chunk-LT4XQDD2.js +1 -0
  198. package/dist/standalone/chunk-M3NNNOD5.js +1 -0
  199. package/dist/standalone/chunk-MCLM2QJI.js +1 -0
  200. package/dist/standalone/chunk-METRMDIQ.js +1 -0
  201. package/dist/standalone/chunk-MGC6PRMV.js +1 -0
  202. package/dist/standalone/chunk-MOUI44OT.js +1 -0
  203. package/dist/standalone/chunk-MSFUDXBA.js +1 -0
  204. package/dist/standalone/chunk-NIX2QSSN.js +1 -0
  205. package/dist/standalone/chunk-NXXGISFB.js +1 -0
  206. package/dist/standalone/chunk-OE4KGVJW.js +4 -0
  207. package/dist/standalone/chunk-OG57FC7W.js +1 -0
  208. package/dist/standalone/chunk-OLQWBGKT.js +1 -0
  209. package/dist/standalone/chunk-OOBJFXYB.js +1 -0
  210. package/dist/standalone/chunk-P52BY657.js +1 -0
  211. package/dist/standalone/chunk-PHHMPYEP.js +1 -0
  212. package/dist/standalone/chunk-PJDKRUWT.js +1 -0
  213. package/dist/standalone/chunk-PZ4QDWTI.js +1 -0
  214. package/dist/standalone/chunk-QZ55OWAB.js +4 -0
  215. package/dist/standalone/chunk-R5ZTCHCE.js +1 -0
  216. package/dist/standalone/chunk-RBUVNO22.js +1 -0
  217. package/dist/standalone/chunk-RCZTUWG3.js +1 -0
  218. package/dist/standalone/chunk-S77D4SHR.js +1 -0
  219. package/dist/standalone/chunk-SL5R7WBN.js +1 -0
  220. package/dist/standalone/chunk-SMKRXJUC.js +1 -0
  221. package/dist/standalone/chunk-SPDZUX4P.js +1 -0
  222. package/dist/standalone/chunk-T2LDA6WP.js +1 -0
  223. package/dist/standalone/chunk-T6HLABZW.js +1 -0
  224. package/dist/standalone/chunk-TBXK3FKP.js +11 -0
  225. package/dist/standalone/chunk-TFMQSCGC.js +1 -0
  226. package/dist/standalone/chunk-TLPWZ5NI.js +3 -0
  227. package/dist/standalone/chunk-TNKECJW4.js +1 -0
  228. package/dist/standalone/chunk-UANVABQG.js +1 -0
  229. package/dist/standalone/chunk-UIF57LBO.js +1 -0
  230. package/dist/standalone/chunk-V6QPVFDL.js +1 -0
  231. package/dist/standalone/chunk-VDW32UET.js +1 -0
  232. package/dist/standalone/chunk-VNTEQQPP.js +1 -0
  233. package/dist/standalone/chunk-VR3UJA7B.js +1 -0
  234. package/dist/standalone/chunk-VYW2PAWC.js +15 -0
  235. package/dist/standalone/chunk-VZCS5GXZ.js +1 -0
  236. package/dist/standalone/chunk-W2JBKQNU.js +1 -0
  237. package/dist/standalone/chunk-WHRG6S5P.js +1 -0
  238. package/dist/standalone/chunk-WIG3HCUJ.js +1 -0
  239. package/dist/standalone/chunk-WUW4ZHRL.js +1 -0
  240. package/dist/standalone/chunk-X6Q5DWLZ.js +1 -0
  241. package/dist/standalone/chunk-XGIG4EDG.js +8 -0
  242. package/dist/standalone/chunk-XJSWM47N.js +1 -0
  243. package/dist/standalone/chunk-XQS7KSHL.js +1 -0
  244. package/dist/standalone/chunk-YS7HEZC2.js +1 -0
  245. package/dist/standalone/chunk-YUWMB6EV.js +1 -0
  246. package/dist/standalone/chunk-ZN6KUP3O.js +13 -0
  247. package/dist/standalone/chunk-ZPGNTTQ3.js +1 -0
  248. package/dist/standalone/chunk-ZQLIKKIY.js +1 -0
  249. package/dist/standalone/chunk-ZSOLGJFC.js +1 -0
  250. package/dist/standalone/studio.js +9 -378
  251. package/dist/styles.css +2 -2
  252. package/package.json +16 -15
  253. package/dist/packem_shared/ADMIN_FUNCTIONS-DjXgvJb6.js +0 -46
  254. package/dist/packem_shared/ApiDocsPanel-yVSGHK3H.js +0 -842
  255. package/dist/packem_shared/ApiReferencePanel-1vubqG5s.js +0 -229
  256. package/dist/packem_shared/ApiTab-rwttyQ1-.js +0 -251
  257. package/dist/packem_shared/AuditPanel-SRilxyg0.js +0 -200
  258. package/dist/packem_shared/CommandPalette-BtgkBzZI.js +0 -373
  259. package/dist/packem_shared/ConfirmButton-C2eVi2Qv.js +0 -59
  260. package/dist/packem_shared/ConnectionBadge-B2DDM2Tn.js +0 -111
  261. package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js +0 -50
  262. package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-DjF0h-gA.js +0 -89
  263. package/dist/packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js +0 -27
  264. package/dist/packem_shared/DataBrowser-B4v_9GiU.js +0 -4475
  265. package/dist/packem_shared/DataFilters-FNquMaiu.js +0 -249
  266. package/dist/packem_shared/ErrorBoundary-BzAApI7J.js +0 -66
  267. package/dist/packem_shared/ExportImportPanel-NtZVqbOj.js +0 -197
  268. package/dist/packem_shared/FileBrowser-0pCpdKPE.js +0 -2932
  269. package/dist/packem_shared/FunctionRunner-7NH3KcTg.js +0 -343
  270. package/dist/packem_shared/FunctionStatsPanel-n-6FrbOH.js +0 -375
  271. package/dist/packem_shared/GlobalDataBrowser-3X9uRfdO.js +0 -289
  272. package/dist/packem_shared/HealthPanel-Dpr6KTmV.js +0 -648
  273. package/dist/packem_shared/HomePanel-CpFLsa64.js +0 -1334
  274. package/dist/packem_shared/InsightsPanel-BchgeeRx.js +0 -461
  275. package/dist/packem_shared/LogsPanel-DsPnKZ95.js +0 -827
  276. package/dist/packem_shared/MailPanel-Bmg781UW.js +0 -440
  277. package/dist/packem_shared/MetricsPanel-DaE8ZXrf.js +0 -1611
  278. package/dist/packem_shared/MigrationsPanel-CaUpce-G.js +0 -239
  279. package/dist/packem_shared/OpenRpcReferencePanel-vbcYbv3V.js +0 -191
  280. package/dist/packem_shared/PitrPanel-LJGNP_IX.js +0 -252
  281. package/dist/packem_shared/STUDIO_ROOT_CLASS-D12gX2dV.js +0 -3
  282. package/dist/packem_shared/ScheduledJobs-BWNwIN3I.js +0 -262
  283. package/dist/packem_shared/SchemaViewer-Bam6ylvw.js +0 -2512
  284. package/dist/packem_shared/SecurityAdvisorPanel-PAx712Bd.js +0 -92
  285. package/dist/packem_shared/SettingsPanel-C4tufQD5.js +0 -390
  286. package/dist/packem_shared/ShardInput-gx_DZXXn.js +0 -107
  287. package/dist/packem_shared/SqlEditorPanel-D5wMIxcg.js +0 -13
  288. package/dist/packem_shared/Studio-BFg10lBc.js +0 -33
  289. package/dist/packem_shared/StudioApp-g8j3V6vA.js +0 -657
  290. package/dist/packem_shared/StudioI18nProvider-B-tDCZIi.js +0 -48
  291. package/dist/packem_shared/TableEditor-0TYRqi6t.js +0 -11
  292. package/dist/packem_shared/advisor-view-CGcfMiPq.js +0 -159
  293. package/dist/packem_shared/aggregateMetrics-D4nUHEKU.js +0 -108
  294. package/dist/packem_shared/app.d-Nbhpihxv.d.ts +0 -300
  295. package/dist/packem_shared/badge-B2PKA1-5.js +0 -49
  296. package/dist/packem_shared/bar-chart-CzJAgqkp.js +0 -3245
  297. package/dist/packem_shared/button-BhsN2uZH.js +0 -49
  298. package/dist/packem_shared/card-DURq3ElK.js +0 -175
  299. package/dist/packem_shared/cf-links-2cktDedA.js +0 -8
  300. package/dist/packem_shared/checkbox-UNkzAxl-.js +0 -63
  301. package/dist/packem_shared/data-grid-B5CaV3wS.js +0 -183
  302. package/dist/packem_shared/dropdown-menu-WY4B_eJO.js +0 -280
  303. package/dist/packem_shared/empty-state-DY_oe0k6.js +0 -98
  304. package/dist/packem_shared/grid-features-CzUfqgsM.js +0 -840
  305. package/dist/packem_shared/input-XH4r1Pt1.js +0 -53
  306. package/dist/packem_shared/internal-rXJEAhXS.js +0 -68
  307. package/dist/packem_shared/label-D8ykjn5J.js +0 -46
  308. package/dist/packem_shared/live-status-FZ0psC1z.js +0 -44
  309. package/dist/packem_shared/reference-view-B4E49Lip.js +0 -2180
  310. package/dist/packem_shared/shard-history-DyebH1R5.js +0 -38
  311. package/dist/packem_shared/sparkline-10dG-_f0.js +0 -93
  312. package/dist/packem_shared/sql-editor-panel-Smfl_FDF.js +0 -2562
  313. package/dist/packem_shared/storage-tier-CL98eOvn.js +0 -85
  314. package/dist/packem_shared/studio-DRWW__L9.js +0 -10851
  315. package/dist/packem_shared/table-_RzNvy3R.js +0 -246
  316. package/dist/packem_shared/table-editor-CiyJi0Nm.js +0 -407
  317. package/dist/packem_shared/table-list-sidebar-Bg7uzbvC.js +0 -832
  318. package/dist/packem_shared/textarea-D3gaCU_-.js +0 -46
  319. package/dist/packem_shared/use-admin-query-BkbdNFNz.js +0 -105
  320. package/dist/packem_shared/useDebounced-Dxncpg6z.js +0 -32
  321. package/dist/packem_shared/utils-B05Dmz_H.js +0 -8
  322. package/dist/packem_shared/virtual-rect-CVMUskSm.js +0 -10
@@ -0,0 +1,2 @@
1
+ import{a as fe}from"./chunk-CYX3OHJ3.js";import{a as ie}from"./chunk-CN2AINNY.js";import"./chunk-AFKLFS74.js";import{a as pe}from"./chunk-WUW4ZHRL.js";import"./chunk-DUDQV6XJ.js";import{P as de}from"./chunk-AOAJGSYZ.js";import"./chunk-TFMQSCGC.js";import{a as x}from"./chunk-BWEXJENB.js";import"./chunk-74ASA4WU.js";import"./chunk-XQS7KSHL.js";import{b as ne}from"./chunk-SPDZUX4P.js";import"./chunk-7PIHTTND.js";import{a as he}from"./chunk-UIF57LBO.js";import"./chunk-PZ4QDWTI.js";import"./chunk-FLCK2WWQ.js";import"./chunk-F7JOSNAT.js";import{a as H}from"./chunk-VDW32UET.js";import{c as ue}from"./chunk-YUWMB6EV.js";import{f as le}from"./chunk-TBXK3FKP.js";import"./chunk-RCZTUWG3.js";import{a as ce}from"./chunk-UANVABQG.js";import{d as oe,f as Z,g as ee,h as te,o as ae,q as me,r as re}from"./chunk-6ZPTNC34.js";import"./chunk-VYW2PAWC.js";import{a as i,d as Y,e as ge,f as ve,g as Ne,i as se}from"./chunk-R5ZTCHCE.js";var t=Y(Ne(),1);var xe=Y(ve(),1);var N=Y(ge(),1);function ye({className:a,orientation:e="horizontal",...s}){return(0,t.jsx)(ie,{"data-slot":"separator",orientation:e,className:se("shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",a),...s})}i(ye,"ge");var we=/https?:\/\/[^\s"'<>)]+/i,be=i(a=>a===void 0?void 0:we.exec(a)?.[0],"re"),y=i(a=>a===void 0?"":Array.isArray(a)?a.join(", "):a,"N"),Ce=i(a=>{if(a!==void 0)return be(a.html)??be(a.text)},"Ne"),ke=i((a,e)=>{let s=e.trim().toLowerCase();return s===""?a:a.filter(o=>`${o.subject} ${y(o.to)} ${y(o.cc)}`.toLowerCase().includes(s))},"we"),Se=i((a,e)=>{if(a.length!==0)return a.find(s=>s.id===e)??a[0]},"ye"),Te=Z(H.clearCapturedMail),Le=Z(H.sendTestMail),je=i(a=>{let e=(0,xe.c)(38),{limit:s}=a,o=le(),p;e[0]!==s?(p={limit:s},e[0]=s,e[1]=p):p=e[1];let{data:q,error:w,errorSource:C,isLoading:g,refetch:n}=ue(H.getCapturedMail,p),[k,f]=(0,N.useState)(null),[D,S]=(0,N.useState)(null),[v,l]=(0,N.useState)("html"),[c,P]=(0,N.useState)(""),b=q?.entries??[],r=w??k,u=w===null?k:C,T;e[2]!==o||e[3]!==n?(T=i(async()=>{f(null);try{await o.query(Te,{},ee("")),S(null),n()}catch(m){f(te(m))}},"T"),e[2]=o,e[3]=n,e[4]=T):T=e[4];let R=T,L;e[5]!==o||e[6]!==n?(L=i(async()=>{f(null);try{await o.query(Le,{},ee("")),n()}catch(m){f(te(m))}},"k"),e[5]=o,e[6]=n,e[7]=L):L=e[7];let W=L,j;e[8]!==n?(j=i(()=>{n()},"L"),e[8]=n,e[9]=j):j=e[9],pe(j,!0);let M;e[10]!==R?(M=i(()=>{ae(R())},"A"),e[10]=R,e[11]=M):M=e[11];let U=M,_;e[12]!==W?(_=i(()=>{ae(W())},"E"),e[12]=W,e[13]=_):_=e[13];let G=_,z;e[14]===Symbol.for("react.memo_cache_sentinel")?(z=i(m=>{P(m.currentTarget.value)},"_"),e[14]=z):z=e[14];let J=z,$;e[15]===Symbol.for("react.memo_cache_sentinel")?($=i(m=>{let{id:h}=m.currentTarget.dataset;h!==void 0&&S(h)},"M"),e[15]=$):$=e[15];let K=$,A;e[16]===Symbol.for("react.memo_cache_sentinel")?(A=i(m=>{let h=m.currentTarget.dataset.tab;(h==="headers"||h==="html"||h==="text")&&l(h)},"j"),e[16]=A):A=e[16];let Q=A,F=ke(b,c),O=Se(F,D),d=Ce(O),I;e[17]!==d?(I=i(()=>{d!==void 0&&me(d)},"z"),e[17]=d,e[18]=I):I=e[18];let V=I,B;e[19]!==d?(B=i(()=>{d!==void 0&&"window"in globalThis&&globalThis.window.open(d,"_blank","noopener")},"F"),e[19]=d,e[20]=B):B=e[20];let X=B,E;return e[21]!==b||e[22]!==r||e[23]!==u||e[24]!==c||e[25]!==g||e[26]!==d||e[27]!==U||e[28]!==V||e[29]!==J||e[30]!==X||e[31]!==K||e[32]!==Q||e[33]!==G||e[34]!==O||e[35]!==v||e[36]!==F?(E={entries:b,error:r,errorSource:u,filter:c,isLoading:g,link:d,onClear:U,onCopyLink:V,onFilterChange:J,onOpenLink:X,onSelectMessage:K,onSelectTab:Q,onSendTest:G,selected:O,tab:v,visible:F},e[21]=b,e[22]=r,e[23]=u,e[24]=c,e[25]=g,e[26]=d,e[27]=U,e[28]=V,e[29]=J,e[30]=X,e[31]=K,e[32]=Q,e[33]=G,e[34]=O,e[35]=v,e[36]=F,e[37]=E):E=e[37],E},"Te"),Me=`<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src data:; style-src 'unsafe-inline'; font-src data:">`,_e=i(a=>`${Me}${a}`,"Le"),Je=i(({limit:a=100})=>{let e=oe(),{entries:s,error:o,errorSource:p,filter:q,isLoading:w,link:C,onClear:g,onCopyLink:n,onFilterChange:k,onOpenLink:f,onSelectMessage:D,onSelectTab:S,onSendTest:v,selected:l,tab:c,visible:P}=je({limit:a}),b=i(r=>e(r==="html"?"HTML":r==="text"?"Plain text":"Headers"),"b");return(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"mail-panel",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(x,{"data-testid":"mail-send-test",onClick:v,size:"sm",type:"button",variant:"outline",children:e("Send test")}),(0,t.jsx)(x,{"data-testid":"mail-clear",disabled:s.length===0,onClick:g,size:"sm",type:"button",variant:"outline",children:e("Clear inbox")}),s.length>0&&(0,t.jsx)(ne,{className:"ml-auto","data-testid":"mail-count",variant:"secondary",children:e("{count} messages",{count:s.length})})]}),o!==null&&(0,t.jsx)(he,{error:p,testId:"mail-error"}),o===null&&!w&&s.length===0&&(0,t.jsx)(ce,{description:e("Email your app sends in dev is captured here \u2014 nothing is delivered."),icon:(0,t.jsxs)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,t.jsx)("path",{d:"M4 5h16v14H4z"}),(0,t.jsx)("path",{d:"m4 6 8 6 8-6"})]}),testId:"mail-empty",title:e("No captured email.")}),s.length>0&&(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-[minmax(0,22rem)_1fr]","data-testid":"mail-reader",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(de,{"aria-label":e("Search messages"),"data-testid":"mail-search",onChange:k,placeholder:e("Filter messages"),type:"search",value:q}),(0,t.jsx)(fe,{className:"max-h-[32rem] rounded-xl border border-border bg-card shadow-xs","data-testid":"mail-list",children:(0,t.jsx)("ul",{className:"divide-y",children:P.map(r=>{let u=r.id===l?.id;return(0,t.jsx)("li",{children:(0,t.jsxs)("button",{className:`flex w-full flex-col items-start gap-0.5 px-3 py-2 text-left text-sm hover:bg-muted/60 ${u?"bg-muted":""}`,"data-active":u,"data-id":r.id,"data-testid":"mail-list-item",onClick:D,type:"button",children:[(0,t.jsx)("span",{className:"w-full truncate font-medium",children:r.subject||e("(no subject)")}),(0,t.jsx)("span",{className:"w-full truncate text-xs text-muted-foreground",children:y(r.to)}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground tabular-nums",children:re(r.capturedAt,"\u2014")})]})},r.id)})})})]}),l!==void 0&&(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-3 rounded-xl border border-border bg-card p-4 shadow-xs","data-testid":"mail-detail",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("h2",{className:"truncate text-base font-semibold","data-testid":"mail-subject",children:l.subject||e("(no subject)")}),(0,t.jsxs)("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5 text-xs text-muted-foreground",children:[(0,t.jsx)("dt",{children:e("From")}),(0,t.jsx)("dd",{className:"truncate font-mono",children:l.from??"\u2014"}),(0,t.jsx)("dt",{children:e("To")}),(0,t.jsx)("dd",{className:"truncate font-mono",children:y(l.to)}),l.cc!==void 0&&l.cc.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("dt",{children:e("Cc")}),(0,t.jsx)("dd",{className:"truncate font-mono",children:y(l.cc)})]}),(0,t.jsx)("dt",{children:e("Sent")}),(0,t.jsx)("dd",{className:"tabular-nums",children:re(l.capturedAt,"\u2014")})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2","data-testid":"mail-actions",children:[(0,t.jsx)(x,{"data-testid":"mail-copy-link",disabled:C===void 0,onClick:n,size:"sm",type:"button",variant:"outline",children:e("Copy link")}),(0,t.jsx)(x,{"data-testid":"mail-open-link",disabled:C===void 0,onClick:f,size:"sm",type:"button",variant:"outline",children:e("Open in new tab")})]}),(0,t.jsx)(ye,{}),(0,t.jsx)("div",{className:"flex items-center gap-1","data-testid":"mail-tabs",role:"tablist",children:["html","text","headers"].map(r=>(0,t.jsx)(x,{"aria-selected":c===r,"data-tab":r,"data-testid":`mail-tab-${r}`,onClick:S,role:"tab",size:"sm",type:"button",variant:c===r?"secondary":"ghost",children:b(r)},r))}),(0,t.jsxs)("div",{className:"min-h-[12rem]",children:[c==="html"&&(l.html===void 0?(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("No HTML body.")}):(0,t.jsx)("iframe",{className:"h-[24rem] w-full rounded-md border bg-white","data-testid":"mail-preview-html",sandbox:"",srcDoc:_e(l.html),title:e("Email preview")})),c==="text"&&(l.text===void 0?(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("No text body.")}):(0,t.jsx)("pre",{className:"overflow-auto whitespace-pre-wrap rounded-md border bg-muted/30 p-3 text-xs","data-testid":"mail-preview-text",children:l.text})),c==="headers"&&(l.headers===void 0||Object.keys(l.headers).length===0?(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("No headers.")}):(0,t.jsx)("pre",{className:"overflow-auto whitespace-pre-wrap rounded-md border bg-muted/30 p-3 text-xs","data-testid":"mail-preview-headers",children:Object.entries(l.headers).map(([r,u])=>`${r}: ${u}`).join(`
2
+ `)}))]})]})]})]})},"We");export{Je as MailPanel};
@@ -0,0 +1 @@
1
+ import{a as W}from"./chunk-WUW4ZHRL.js";import{a as D}from"./chunk-CKTKI4IY.js";import{a as B}from"./chunk-6FWN26RH.js";import"./chunk-P52BY657.js";import"./chunk-VNTEQQPP.js";import"./chunk-AOAJGSYZ.js";import"./chunk-TFMQSCGC.js";import"./chunk-XQS7KSHL.js";import{b as S}from"./chunk-SPDZUX4P.js";import"./chunk-7PIHTTND.js";import{a as F}from"./chunk-UIF57LBO.js";import"./chunk-PZ4QDWTI.js";import"./chunk-FLCK2WWQ.js";import"./chunk-F7JOSNAT.js";import{a as _}from"./chunk-VDW32UET.js";import{c as E}from"./chunk-YUWMB6EV.js";import"./chunk-TBXK3FKP.js";import"./chunk-RCZTUWG3.js";import{a as j}from"./chunk-UANVABQG.js";import{a as L,b as O,c as P,d as C,e as h,f as p}from"./chunk-L4EZAHCD.js";import{a as T,e as $}from"./chunk-IYWVSMAY.js";import{d as M}from"./chunk-6ZPTNC34.js";import"./chunk-VYW2PAWC.js";import{a as N,d as A,f as H,g as J}from"./chunk-R5ZTCHCE.js";var R=A(H(),1);var t=A(J(),1);var q=80,U=N(a=>{if(a===void 0)return"";let e=JSON.stringify(a);return e.length>q?`${e.slice(0,q)}\u2026`:e},"q"),Z=N(a=>{let e=[];for(let r of a){let n=r.id.toString();if(r.subscriptions.length===0){e.push({admin:r.admin,connectionId:r.id,key:`c${n}`,subscription:null});continue}r.subscriptions.forEach((l,i)=>{e.push({admin:r.admin,connectionId:r.id,key:`c${n}-s${i.toString()}`,subscription:l})})}return e},"G"),w=(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"}),oe=N(a=>{let e=(0,R.c)(22),{initialShardKey:r}=a,n=M(),{queryShardKey:l,setShardKey:i,shardKey:u}=D(r),f;e[0]===Symbol.for("react.memo_cache_sentinel")?(f={},e[0]=f):f=e[0];let b;e[1]!==l?(b={keepPreviousData:!0,shardKey:l},e[1]=l,e[2]=b):b=e[2];let{data:s,error:o,errorSource:m,refetch:G}=E(_.listSubscriptions,f,b);W(G,!0);let x;if(e[3]!==o||e[4]!==m||e[5]!==s||e[6]!==i||e[7]!==u||e[8]!==n){let k=s===void 0?[]:Z(s.connections),c;e[10]!==i||e[11]!==u?(c=(0,t.jsx)(B,{onChange:i,testId:"subs-shard-input",value:u}),e[10]=i,e[11]=u,e[12]=c):c=e[12];let d;e[13]!==s||e[14]!==n?(d=s!==void 0&&(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2 text-sm text-muted-foreground","data-testid":"subs-count",children:[(0,t.jsx)(S,{variant:"secondary",children:n("{count} connections",{count:s.totalConnections})}),(0,t.jsx)(S,{variant:"secondary",children:n("{count} subscriptions",{count:s.totalSubscriptions})})]}),e[13]=s,e[14]=n,e[15]=d):d=e[15];let g;e[16]!==c||e[17]!==d?(g=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c,d]}),e[16]=c,e[17]=d,e[18]=g):g=e[18];let v;e[19]!==o||e[20]!==m?(v=o!==null&&(0,t.jsx)(F,{error:m,testId:"subs-error"}),e[19]=o,e[20]=m,e[21]=v):v=e[21],x=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"subs-panel",children:[g,v,o===null&&s!==void 0&&k.length===0&&(0,t.jsx)(j,{description:n("Active WebSocket subscriptions on 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:"M5 12a7 7 0 0 1 14 0M8 12a4 4 0 0 1 8 0M12 12v8m0-8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"})}),testId:"subs-empty",title:n("No active subscriptions.")}),o===null&&k.length>0&&(0,t.jsx)(T,{className:"overflow-hidden py-0",children:(0,t.jsx)($,{className:"px-0",children:(0,t.jsxs)(L,{"data-testid":"subs-table",children:[(0,t.jsx)(O,{children:(0,t.jsxs)(C,{children:[(0,t.jsx)(h,{children:n("Connection")}),(0,t.jsx)(h,{children:n("Function path")}),(0,t.jsx)(h,{children:n("Table")}),(0,t.jsx)(h,{children:n("Arguments")})]})}),(0,t.jsx)(P,{children:k.map(y=>{let{subscription:I}=y,K=U(I?.args);return(0,t.jsxs)(C,{"data-testid":"subs-row",children:[(0,t.jsx)(p,{className:"font-medium tabular-nums",children:(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5",children:["#",y.connectionId,y.admin&&(0,t.jsx)(S,{variant:"outline",children:n("admin")})]})}),(0,t.jsx)(p,{className:"font-mono text-xs",children:I?.functionPath??w}),(0,t.jsx)(p,{children:I?.table??w}),(0,t.jsx)(p,{className:"max-w-[32ch] truncate font-mono text-xs text-muted-foreground",title:K||void 0,children:K||w})]},y.key)})})]})})})]}),e[3]=o,e[4]=m,e[5]=s,e[6]=i,e[7]=u,e[8]=n,e[9]=x}else x=e[9];return x},"oe");export{oe as default};
@@ -0,0 +1 @@
1
+ import{a as G}from"./chunk-TFMQSCGC.js";import{a as u,d as N,e as Y}from"./chunk-R5ZTCHCE.js";function K(l,a,t){let e=new Array(l);return new Proxy(e,{get(s,n,o){if(typeof n=="string"){let i=n.charCodeAt(0);if(i>=48&&i<=57){let r=+n;if(Number.isInteger(r)&&r>=0&&r<l){let d=s[r];if(!d){let h=a[r*2];d=s[r]={index:r,key:t(r),start:h,size:a[r*2+1],end:h+a[r*2+1],lane:0}}return d}}if(n==="length")return l}return Reflect.get(s,n,o)}})}u(K,"createLazyMeasurementsView");function _(l,a,t){let e=t.initialDeps??[],s,n=!0;function o(){var i;let d=0,h=l();if(!(h.length!==e.length||h.some((p,S)=>e[S]!==p)))return s;e=h;let c=0;return s=a(...h),t?.onChange&&!(n&&t.skipInitialOnChange)&&t.onChange(s),n=!1,s}return u(o,"memoizedFunction"),o.updateDeps=i=>{e=i},o}u(_,"memo");function W(l,a){if(l===void 0)throw new Error(`Unexpected undefined${a?`: ${a}`:""}`);return l}u(W,"notUndefined");var P=u((l,a)=>Math.abs(l-a)<1.01,"approxEqual"),B=u((l,a,t)=>{let e;return function(...s){l.clearTimeout(e),e=l.setTimeout(()=>a.apply(this,s),t)}},"debounce");var A,k=u(()=>{if(A!==void 0)return A;if(typeof navigator>"u")return A=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return A=!0;let l=navigator.maxTouchPoints;return A=navigator.platform==="MacIntel"&&l!==void 0&&l>0},"isIOSWebKit");var $=u(l=>{let{offsetWidth:a,offsetHeight:t}=l;return{width:a,height:t}},"getRect"),Q=u(l=>l,"defaultKeyExtractor"),Z=u(l=>{let a=Math.max(l.startIndex-l.overscan,0),e=Math.min(l.endIndex+l.overscan,l.count-1)-a+1,s=new Array(e);for(let n=0;n<e;n++)s[n]=a+n;return s},"defaultRangeExtractor"),H=u((l,a)=>{let t=l.scrollElement;if(!t)return;let e=l.targetWindow;if(!e)return;let s=u(o=>{let{width:i,height:r}=o;a({width:Math.round(i),height:Math.round(r)})},"handler");if(s($(t)),!e.ResizeObserver)return()=>{};let n=new e.ResizeObserver(o=>{let i=u(()=>{let r=o[0];if(r?.borderBoxSize){let d=r.borderBoxSize[0];if(d){s({width:d.inlineSize,height:d.blockSize});return}}s($(t))},"run");l.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(i):i()});return n.observe(t,{box:"border-box"}),()=>{n.unobserve(t)}},"observeElementRect"),R={passive:!0};var tt=typeof window>"u"?!0:"onscrollend"in window,et=u((l,a,t)=>{let e=l.scrollElement;if(!e)return;let s=l.targetWindow;if(!s)return;let n=l.options.useScrollendEvent&&tt,o=0,i=n?null:B(s,()=>a(o,!1),l.options.isScrollingResetDelay),r=u(f=>()=>{o=t(e),i?.(),a(o,f)},"createHandler"),d=r(!0),h=r(!1);return e.addEventListener("scroll",d,R),n&&e.addEventListener("scrollend",h,R),()=>{e.removeEventListener("scroll",d),n&&e.removeEventListener("scrollend",h)}},"observeOffset"),J=u((l,a)=>et(l,a,t=>{let{horizontal:e,isRtl:s}=l.options;return e?t.scrollLeft*(s&&-1||1):t.scrollTop}),"observeElementOffset");var st=u((l,a,t)=>{if(t.options.useCachedMeasurements){let e=t.indexFromElement(l),s=t.options.getItemKey(e);return t.itemSizeCache.get(s)??t.options.estimateSize(e)}if(a?.borderBoxSize){let e=a.borderBoxSize[0];if(e)return Math.round(e[t.options.horizontal?"inlineSize":"blockSize"])}if(!a){let e=t.indexFromElement(l),s=t.options.getItemKey(e),n=t.itemSizeCache.get(s);if(n!==void 0)return n}return l[t.options.horizontal?"offsetWidth":"offsetHeight"]},"measureElement"),nt=u((l,{adjustments:a=0,behavior:t},e)=>{var s,n;(n=(s=e.scrollElement)==null?void 0:s.scrollTo)==null||n.call(s,{[e.options.horizontal?"left":"top"]:l+a,behavior:t})},"scrollWithAdjustments");var q=nt,F=class{static{u(this,"Virtualizer")}constructor(a){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var t,e,s;return((s=(e=(t=this.targetWindow)==null?void 0:t.performance)==null?void 0:e.now)==null?void 0:s.call(e))??Date.now()},this.observer=(()=>{let t=null,e=u(()=>t||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:t=new this.targetWindow.ResizeObserver(s=>{s.forEach(n=>{let o=u(()=>{let i=n.target,r=this.indexFromElement(i);if(!i.isConnected){this.observer.unobserve(i);for(let[d,h]of this.elementsCache)if(h===i){this.elementsCache.delete(d);break}return}this.shouldMeasureDuringScroll(r)&&this.resizeItem(r,this.options.measureElement(i,n,this))},"run");this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(o):o()})})),"get");return{disconnect:u(()=>{var s;(s=e())==null||s.disconnect(),t=null},"disconnect"),observe:u(s=>{var n;return(n=e())==null?void 0:n.observe(s,{box:"border-box"})},"observe"),unobserve:u(s=>{var n;return(n=e())==null?void 0:n.unobserve(s)},"unobserve")}})(),this.range=null,this.setOptions=t=>{var e,s;let n={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Q,rangeExtractor:Z,onChange:u(()=>{},"onChange"),measureElement:st,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(let c in t){let p=t[c];p!==void 0&&(n[c]=p)}let o=this.options,i=null,r=null,d=!1;if(o!==void 0&&o.enabled&&n.enabled&&n.anchorTo==="end"&&this.scrollElement!==null){let c=o.count,p=n.count,S=this.getMeasurements(),v=c>0?((e=S[0])==null?void 0:e.key)??o.getItemKey(0):null,b=c>0?((s=S[c-1])==null?void 0:s.key)??o.getItemKey(c-1):null;if(p!==c||c>0&&p>0&&(n.getItemKey(0)!==v||n.getItemKey(p-1)!==b)){d=!0;let E=c>0?this.getVirtualItemForOffset(this.getScrollOffset())??S[0]:null;E&&(i=[E.key,this.getScrollOffset()-E.start]);let x=n.followOnAppend===!0?"auto":n.followOnAppend||null;x&&p>c&&this.isAtEnd(o.scrollEndThreshold)&&(c===0||n.getItemKey(p-1)!==b)&&(r=x)}}this.options=n,d&&(this.pendingMin=0,this.itemSizeCacheVersion++);let h=!1,f=0;if(i&&this.scrollOffset!==null){let[c,p]=i,S=this.getMeasurements(),{count:v,getItemKey:b}=this.options,m=0;for(;m<v&&b(m)!==c;)m++;if(m<v){let g=S[m];if(g){let E=Math.max(0,g.start+p);E!==this.scrollOffset&&(f=E-this.scrollOffset,this.scrollOffset=E,h=!0)}}}(h||r)&&(this.pendingScrollAnchor=[h?i[0]:null,h?i[1]:0,r,f])},this.notify=t=>{var e,s;(s=(e=this.options).onChange)==null||s.call(e,this,t)},this.maybeNotify=_(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),t=>{this.notify(t)},{key:!1,debug:u(()=>this.options.debug,"debug"),initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(t=>t()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t;let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((t=this.scrollElement)==null?void 0:t.window)??null,this.elementsCache.forEach(n=>{this.observer.observe(n)}),this.unsubs.push(this.options.observeElementRect(this,n=>{this.scrollRect=n,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(n,o)=>{if(o&&this._intendedScrollOffset===null&&n===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(n-this._intendedScrollOffset)<1.5&&(n=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;let i=this.getScrollOffset();this.scrollDirection=o?i===n?this.scrollDirection:i<n?"forward":"backward":null,this.scrollOffset=n,this.isScrolling=o,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement){let n=this.scrollElement,o=u(()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},"onTouchStart"),i=u(()=>{this._iosTouching=!1,!(!k()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))},"onTouchEnd");n.addEventListener("touchstart",o,R),n.addEventListener("touchend",i,R),this.unsubs.push(()=>{n.removeEventListener("touchstart",o),n.removeEventListener("touchend",i),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let s=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,s&&this.scrollElement&&this.options.enabled){let[n,o,i,r]=s;n!==null&&!i&&(k()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?r!==0&&(this._iosDeferredAdjustment+=r):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),i&&this.scrollToEnd({behavior:i})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let t=this.getScrollOffset(),e=this.getMaxScrollOffset();if(t<0||t>e)return;if(this._iosDeferredAdjustment<0&&t>=e-1){this._iosDeferredAdjustment=0;return}let s=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(t,{adjustments:this.scrollAdjustments+=s,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getMeasurementOptions=_(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode,this.options.gap],(t,e,s,n,o,i,r,d)=>(this.prevLanes!==void 0&&this.prevLanes!==i&&(this.lanesChangedFlag=!0),this.prevLanes=i,this.pendingMin=null,{count:t,paddingStart:e,scrollMargin:s,getItemKey:n,enabled:o,lanes:i,laneAssignmentMode:r,gap:d}),{key:!1}),this.getMeasurements=_(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:t,paddingStart:e,scrollMargin:s,getItemKey:n,enabled:o,lanes:i,laneAssignmentMode:r,gap:d},h)=>{let f=this.itemSizeCache;if(!o)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(let m of this.laneAssignments.keys())m>=t&&this.laneAssignments.delete(m);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(m=>{this.itemSizeCache.set(m.key,m.size)}));let c=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1),i===1){let m=t*2,g=this._flatMeasurements;if(!g||g.length<m){let O=new Float64Array(m);g&&c>0&&O.set(g.subarray(0,c*2)),g=O,this._flatMeasurements=g}let E;if(c===0)E=e+s;else{let O=c-1;E=g[O*2]+g[O*2+1]+d}for(let O=c;O<t;O++){let C=n(O),y=f.get(C),T=typeof y=="number"?y:this.options.estimateSize(O);g[O*2]=E,g[O*2+1]=T,E+=T+d}let x=K(t,g,n);return this.measurementsCache=x,x}let p=this.measurementsCache.slice(0,c),S=new Array(i).fill(void 0),v=new Float64Array(i),b=0;for(let m=0;m<c;m++){let g=p[m];g&&(S[g.lane]===void 0&&b++,S[g.lane]=m,v[g.lane]=g.end)}for(let m=c;m<t;m++){let g=n(m),E=this.laneAssignments.get(m),x,O,C=r==="estimate"||f.has(g);if(E!==void 0&&this.options.lanes>1){x=E;let M=S[x],I=M!==void 0?p[M]:void 0;O=I?I.end+d:e+s}else if(b===i){let M=0,I=v[0],V=S[0];for(let z=1;z<i;z++){let D=v[z];(D<I||D===I&&S[z]<V)&&(M=z,I=D,V=S[z])}x=M,O=I+d,C&&this.laneAssignments.set(m,x)}else x=m%this.options.lanes,O=e+s,C&&this.laneAssignments.set(m,x);let y=f.get(g),T=typeof y=="number"?y:this.options.estimateSize(m),L=O+T;p[m]={index:m,start:O,size:T,end:L,key:g,lane:x},S[x]===void 0&&b++,S[x]=m,v[x]=L}return this.measurementsCache=p,p},{key:!1,debug:u(()=>this.options.debug,"debug")}),this.calculateRange=_(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(t,e,s,n)=>t.length===0||e===0?(this.range=null,null):(this.range=ot(t,e,s,n,n===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:u(()=>this.options.debug,"debug")}),this.getVirtualIndexes=_(()=>{let t=null,e=null,s=this.calculateRange();return s&&(t=s.startIndex,e=s.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,e]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,e]},(t,e,s,n,o)=>n===null||o===null?[]:t({startIndex:n,endIndex:o,overscan:e,count:s}),{key:!1,debug:u(()=>this.options.debug,"debug")}),this.indexFromElement=t=>{let e=this.options.indexAttribute,s=t.getAttribute(e);return s?parseInt(s,10):(console.warn(`Missing attribute name '${e}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=t=>{var e;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;let s=this.scrollState.index??((e=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:e.index);if(s!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),o=Math.max(0,s-n),i=Math.min(this.options.count-1,s+n);return t>=o&&t<=i}return!0},this.measureElement=t=>{if(!t){this.elementsCache.forEach((o,i)=>{o.isConnected||(this.observer.unobserve(o),this.elementsCache.delete(i))});return}let e=this.indexFromElement(t),s=this.options.getItemKey(e),n=this.elementsCache.get(s);n!==t&&(n&&this.observer.unobserve(n),this.observer.observe(t),this.elementsCache.set(s,t)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(e)&&this.resizeItem(e,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,e)=>{var s,n;if(t<0||t>=this.options.count)return;let o,i,r,d=this._flatMeasurements;if(this.options.lanes===1&&d!==null)r=this.options.getItemKey(t),i=d[t*2],o=d[t*2+1];else{let c=this.measurementsCache[t];if(!c)return;r=c.key,i=c.start,o=c.size}let h=this.itemSizeCache.get(r)??o,f=e-h;if(f!==0){let c=this.options.anchorTo==="end"&&((s=this.scrollState)==null?void 0:s.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,p=c?this.getTotalSize():0,S=this.getScrollOffset()+this.scrollAdjustments,b=!this.itemSizeCache.has(r)?i<S:i+h<=S&&this.scrollDirection!=="backward",m=((n=this.scrollState)==null?void 0:n.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[t]??{index:t,key:r,start:i,size:o,end:i+o,lane:0},f,this):b);(this.pendingMin===null||t<this.pendingMin)&&(this.pendingMin=t),this.itemSizeCache.set(r,e),this.itemSizeCacheVersion++;let g=!1;c?g=this.applyScrollAdjustment(this.getTotalSize()-p):m&&(g=this.applyScrollAdjustment(f)),this.notify(g)}},this.getVirtualItems=_(()=>[this.getVirtualIndexes(),this.getMeasurements()],(t,e)=>{let s=[];for(let n=0,o=t.length;n<o;n++){let i=t[n],r=e[i];s.push(r)}return s},{key:!1,debug:u(()=>this.options.debug,"debug")}),this.getVirtualItemForOffset=t=>{let e=this.getMeasurements();if(e.length===0)return;let s=this._flatMeasurements,n=this.options.lanes===1&&s!=null,o=U(0,e.length-1,n?i=>s[i*2]:i=>W(e[i]).start,t);return W(e[o])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let t=this.scrollElement.document.documentElement;return this.options.horizontal?t.scrollWidth-this.scrollElement.innerWidth:t.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(t=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=t,this.getOffsetForAlignment=(t,e,s=0)=>{if(!this.scrollElement)return 0;let n=this.getSize(),o=this.getScrollOffset();e==="auto"&&(e=t>=o+n?"end":"start"),e==="center"?t+=(s-n)/2:e==="end"&&(t-=n);let i=this.getMaxScrollOffset();return Math.max(Math.min(i,t),0)},this.getOffsetForIndex=(t,e="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));let s=this.getSize(),n=this.getScrollOffset(),o=this.measurementsCache[t];if(!o)return;if(e==="auto")if(o.end>=n+s-this.options.scrollPaddingEnd)e="end";else if(o.start<=n+this.options.scrollPaddingStart)e="start";else return[n,e];if(e==="end"&&t===this.options.count-1)return[this.getMaxScrollOffset(),e];let i=e==="end"?o.end+this.options.scrollPaddingEnd:o.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(i,e,o.size),e]},this.scrollToOffset=(t,{align:e="start",behavior:s="auto"}={})=>{this._iosDeferredAdjustment=0;let n=this.getOffsetForAlignment(t,e),o=this.now();this.scrollState={index:null,align:e,behavior:s,startedAt:o,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:e="auto",behavior:s="auto"}={})=>{this._iosDeferredAdjustment=0,t=Math.max(0,Math.min(t,this.options.count-1));let n=this.getOffsetForIndex(t,e);if(!n)return;let[o,i]=n,r=this.now();this.scrollState={index:t,align:i,behavior:s,startedAt:r,lastTargetOffset:o,stableFrames:0},this._scrollToOffset(o,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:e="auto"}={})=>{let s=this.getScrollOffset()+t,n=this.now();this.scrollState={index:null,align:"start",behavior:e,startedAt:n,lastTargetOffset:s,stableFrames:0},this._scrollToOffset(s,{adjustments:void 0,behavior:e}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:t="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:t});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:t})},this.getTotalSize=()=>{var t;let e=this.getMeasurements(),s;if(e.length===0)s=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,o=this._flatMeasurements;o!=null?s=o[n*2]+o[n*2+1]:s=((t=e[n])==null?void 0:t.end)??0}else{let n=Array(this.options.lanes).fill(null),o=e.length-1;for(;o>=0&&n.some(i=>i===null);){let i=e[o];n[i.lane]===null&&(n[i.lane]=i.end),o--}s=Math.max(...n.filter(i=>i!==null))}return Math.max(s-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let t=[];if(this.itemSizeCache.size===0)return t;let e=this.getMeasurements();for(let s of e)s&&this.itemSizeCache.has(s.key)&&t.push({index:s.index,key:s.key,start:s.start,size:s.size,end:s.end,lane:s.lane});return t},this._scrollToOffset=(t,{adjustments:e,behavior:s})=>{this._intendedScrollOffset=t+(e??0),this.options.scrollToFn(t,{behavior:s,adjustments:e},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(a)}applyScrollAdjustment(a,t){return a===0?!1:k()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?(this._iosDeferredAdjustment+=a,!1):(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=a,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollOffset<0&&(this.scrollOffset=0),this.scrollAdjustments=0),!0)}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,s=e?e[0]:this.scrollState.lastTargetOffset,n=1,o=s!==this.scrollState.lastTargetOffset;if(!o&&P(s,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=n){this.getScrollOffset()!==s&&this._scrollToOffset(s,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,o){let i=this.getSize()||600,r=Math.abs(s-this.getScrollOffset()),d=this.scrollState.behavior==="smooth"&&r>i;this.scrollState.lastTargetOffset=s,d||(this.scrollState.behavior="auto"),this._scrollToOffset(s,{adjustments:void 0,behavior:d?"smooth":"auto"})}this.scheduleScrollReconcile()}},U=u((l,a,t,e)=>{for(;l<=a;){let s=(l+a)/2|0,n=t(s);if(n<e)l=s+1;else if(n>e)a=s-1;else return s}return l>0?l-1:0},"findNearestBinarySearch");function it(l,a,t){let e=0;for(;e<=a;){let s=(e+a)/2|0,n=l[s*2];if(n<t)e=s+1;else if(n>t)a=s-1;else return s}return e>0?e-1:0}u(it,"findNearestBinarySearchFlat");function ot(l,a,t,e,s){let n=l.length-1;if(l.length<=e)return{startIndex:0,endIndex:n};if(e===1&&s!==null){let d=it(s,n,t),h=d,f=t+a;for(;h<n&&s[h*2]+s[h*2+1]<f;)h++;return{startIndex:d,endIndex:h}}let i=U(0,n,u(d=>l[d].start,"getStart"),t),r=i;if(e===1)for(;r<n&&l[r].end<t+a;)r++;else if(e>1){let d=Array(e).fill(0);for(;r<n&&d.some(f=>f<t+a);){let f=l[r];d[f.lane]=f.end,r++}let h=Array(e).fill(t+a);for(;i>=0&&h.some(f=>f>=t);){let f=l[i];h[f.lane]=f.start,i--}i=Math.max(0,i-i%e),r=Math.min(n,r+(e-1-r%e))}return{startIndex:i,endIndex:r}}u(ot,"calculateRangeImpl");var w=N(Y(),1),X=N(G(),1);var j=typeof document<"u"?w.useLayoutEffect:w.useEffect;function lt({useFlushSync:l=!0,directDomUpdates:a=!1,directDomUpdatesMode:t="transform",...e}){let s=w.useReducer(h=>h+1,0)[1],n=w.useRef({enabled:a,mode:t,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});n.current.enabled=a,n.current.mode=t;let o=u(h=>{let f=n.current;if(!f.enabled||!f.container)return;let c=h.getTotalSize();if(c!==f.lastSize){f.lastSize=c;let p=h.options.horizontal?"width":"height";f.container.style[p]=`${c}px`}},"applyContainerSize"),i=u(h=>{let f=n.current;if(!f.enabled||!f.container)return;o(h);let c=!!h.options.horizontal,p=f.mode==="transform",S=c?"left":"top",v=h.options.scrollMargin,b=h.getVirtualItems();for(let m of b){let g=m.start-v,E=h.elementsCache.get(m.key);E&&f.lastPositions.get(E)!==g&&(f.lastPositions.set(E,g),p?E.style.transform=c?`translate3d(${g}px, 0, 0)`:`translate3d(0, ${g}px, 0)`:E.style[S]=`${g}px`)}},"applyDirectStyles"),r={...e,onChange:u((h,f)=>{var c;let p=n.current,S=!0;if(p.enabled){i(h);let v=h.range,b=p.prevRange;S=!b||b.isScrolling!==h.isScrolling||b.startIndex!==v?.startIndex||b.endIndex!==v?.endIndex,S&&(p.prevRange=v?{startIndex:v.startIndex,endIndex:v.endIndex,isScrolling:h.isScrolling}:null)}S&&(l&&f?(0,X.flushSync)(s):s()),(c=e.onChange)==null||c.call(e,h,f)},"onChange")},[d]=w.useState(()=>{let h=new F(r);return Object.assign(h,{containerRef:u(f=>{let c=n.current;if(c.container=f,c.lastSize=null,f&&c.enabled){let p=h.getTotalSize();c.lastSize=p;let S=h.options.horizontal?"width":"height";f.style[S]=`${p}px`}},"containerRef")})});return d.setOptions(r),j(()=>d._didMount(),[]),j(()=>(o(d),d._willUpdate())),j(()=>{i(d)}),d}u(lt,"useVirtualizerBase");function Et(l){return lt({observeElementRect:H,observeElementOffset:J,scrollToFn:q,...l})}u(Et,"useVirtualizer");export{H as a,Et as b};
@@ -0,0 +1 @@
1
+ import{c as l}from"./chunk-74ASA4WU.js";import{j as u}from"./chunk-7PIHTTND.js";import{a as c}from"./chunk-RCZTUWG3.js";import{a as t,d as o,e as h,g as z,i as d}from"./chunk-R5ZTCHCE.js";var p=o(h(),1);var a=p.forwardRef(t(function(e,r){let{render:n,className:k,disabled:s=!1,focusableWhenDisabled:g=!1,nativeButton:f=!0,style:B,...b}=e,{getButtonProps:m,buttonRef:x}=l({disabled:s,focusableWhenDisabled:g,native:f});return u("button",e,{state:{disabled:s},ref:[r,x],props:[b,m]})},"Button"));var v=o(z(),1);var y=c("group/button inline-flex shrink-0 items-center justify-center rounded-md border border-transparent bg-clip-padding text-xs font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-1 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklch,var(--secondary),var(--foreground)_5%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pe-2 has-data-[icon=inline-start]:ps-2",xs:"h-6 gap-1 rounded-md px-2 text-xs has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-md px-2.5 has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pe-2 has-data-[icon=inline-start]:ps-2",icon:"size-8","icon-xs":"size-6 rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-md","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function W({className:i,variant:e="default",size:r="default",...n}){return(0,v.jsx)(a,{"data-slot":"button",className:d(y({variant:e,size:r,className:i})),...n})}t(W,"v");export{W as a};
@@ -0,0 +1,4 @@
1
+ import{b as Ee}from"./chunk-GZMBMNL3.js";import{c as Oe}from"./chunk-W2JBKQNU.js";import"./chunk-AECDJKXB.js";import"./chunk-CN2AINNY.js";import"./chunk-CP4ZFBVW.js";import{a as ye}from"./chunk-NIX2QSSN.js";import"./chunk-5JLIP2HH.js";import{a as Le}from"./chunk-WUW4ZHRL.js";import"./chunk-EDHW2EEG.js";import"./chunk-ZSOLGJFC.js";import"./chunk-DUDQV6XJ.js";import"./chunk-VZCS5GXZ.js";import"./chunk-DKSLOJDQ.js";import{a as _e}from"./chunk-OG57FC7W.js";import{a as Te}from"./chunk-6FWN26RH.js";import"./chunk-P52BY657.js";import"./chunk-VNTEQQPP.js";import{P as Ce}from"./chunk-AOAJGSYZ.js";import"./chunk-INQICZYC.js";import"./chunk-TFMQSCGC.js";import{a as re}from"./chunk-BWEXJENB.js";import"./chunk-74ASA4WU.js";import"./chunk-XQS7KSHL.js";import{b as ae}from"./chunk-SPDZUX4P.js";import"./chunk-7PIHTTND.js";import{a as be}from"./chunk-VDW32UET.js";import{f as Se}from"./chunk-TBXK3FKP.js";import"./chunk-RCZTUWG3.js";import{a as me}from"./chunk-UANVABQG.js";import{a as Ke,b as $e,c as Fe,d as ie,e as ne,f as ee}from"./chunk-L4EZAHCD.js";import{a as je,e as ze}from"./chunk-IYWVSMAY.js";import{d as Ne,f as fe,g as ge,h as Q,l as pe,o as V,q as De}from"./chunk-6ZPTNC34.js";import"./chunk-VYW2PAWC.js";import{a as g,d as he,e as ft,f as gt,g as pt}from"./chunk-R5ZTCHCE.js";var B=he(gt(),1),j=he(ft(),1);var n=he(pt(),1);var Me=g((d,e,t)=>{let{onCopy:r,onDelete:s,onDownload:o,onToggleSelect:i}=t,c=g(()=>{r(d.key)},"a"),l=g(()=>{o(d.key)},"n"),u=g(()=>{s(d.key)},"d"),m=g(()=>{i(d.key)},"h");return{copy:c,download:l,name:d.key.slice(e.length),remove:u,toggle:m}},"$e"),Be=g(d=>{let e=(0,B.c)(31),{busy:t,buttonClassName:r,copied:s,objectKey:o,onCopy:i,onDelete:c,onDownload:l,t:u}=d,m=`storage-copy-${o}`,h;e[0]!==s||e[1]!==u?(h=u(s?"Copied":"Copy URL"),e[0]=s,e[1]=u,e[2]=h):h=e[2];let f;e[3]!==t||e[4]!==r||e[5]!==i||e[6]!==m||e[7]!==h?(f=(0,n.jsx)(re,{className:r,"data-testid":m,disabled:t,onClick:i,size:"sm",type:"button",variant:"ghost",children:h}),e[3]=t,e[4]=r,e[5]=i,e[6]=m,e[7]=h,e[8]=f):f=e[8];let w=`storage-download-${o}`,a;e[9]!==u?(a=u("Download"),e[9]=u,e[10]=a):a=e[10];let k;e[11]!==t||e[12]!==r||e[13]!==l||e[14]!==w||e[15]!==a?(k=(0,n.jsx)(re,{className:r,"data-testid":w,disabled:t,onClick:l,size:"sm",type:"button",variant:"ghost",children:a}),e[11]=t,e[12]=r,e[13]=l,e[14]=w,e[15]=a,e[16]=k):k=e[16];let N;e[17]!==u?(N=u("Delete object?"),e[17]=u,e[18]=N):N=e[18];let x=`storage-delete-${o}`,b;e[19]!==u?(b=u("Delete"),e[19]=u,e[20]=b):b=e[20];let v;e[21]!==t||e[22]!==c||e[23]!==N||e[24]!==x||e[25]!==b?(v=(0,n.jsx)(_e,{confirmLabel:N,disabled:t,onConfirm:c,testId:x,children:b}),e[21]=t,e[22]=c,e[23]=N,e[24]=x,e[25]=b,e[26]=v):v=e[26];let y;return e[27]!==v||e[28]!==f||e[29]!==k?(y=(0,n.jsxs)(n.Fragment,{children:[f,k,v]}),e[27]=v,e[28]=f,e[29]=k,e[30]=y):y=e[30],y},"Fe"),Ae=g(d=>{let e=(0,B.c)(14),{objectKey:t,references:r,t:s}=d;if(r===void 0)return null;if(r.length===0){let m=`storage-orphan-${t}`,h;e[0]!==s?(h=s("Orphan"),e[0]=s,e[1]=h):h=e[1];let f;return e[2]!==m||e[3]!==h?(f=(0,n.jsx)(ae,{"data-testid":m,variant:"warning",children:h}),e[2]=m,e[3]=h,e[4]=f):f=e[4],f}let o;e[5]!==r?(o=r.map(bt).join(`
2
+ `),e[5]=r,e[6]=o):o=e[6];let i=o,c=`storage-refs-${t}`,l;e[7]!==r.length||e[8]!==s?(l=r.length===1?s("1 record"):s("{count} records",{count:r.length}),e[7]=r.length,e[8]=s,e[9]=l):l=e[9];let u;return e[10]!==i||e[11]!==c||e[12]!==l?(u=(0,n.jsx)(ae,{"data-testid":c,title:i,variant:"secondary",children:l}),e[10]=i,e[11]=c,e[12]=l,e[13]=u):u=e[13],u},"Re"),Pe=g(d=>{let e=(0,B.c)(7),{objectKey:t,onToggle:r,selected:s,t:o}=d,i;e[0]!==o?(i=o("Select row"),e[0]=o,e[1]=i):i=e[1];let c=`storage-select-${t}`,l;return e[2]!==r||e[3]!==s||e[4]!==i||e[5]!==c?(l=(0,n.jsx)(ye,{"aria-label":i,checked:s,"data-testid":c,onCheckedChange:r}),e[2]=r,e[3]=s,e[4]=i,e[5]=c,e[6]=l):l=e[6],l},"ze");function bt(d){return`${d.table}\xB7${d.id}`}g(bt,"yt");var yt=g(d=>{let e=(0,B.c)(10),{colSpan:t,name:r,onEnter:s}=d,o;e[0]!==r||e[1]!==s?(o=g(()=>{s(r)},"l"),e[0]=r,e[1]=s,e[2]=o):o=e[2];let i=o,c;e[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,n.jsx)("svg",{"aria-hidden":"true",className:"size-4 text-muted-foreground",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,n.jsx)("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Z"})}),e[3]=c):c=e[3];let l;e[4]!==i||e[5]!==r?(l=(0,n.jsxs)("button",{className:"inline-flex items-center gap-2 font-mono text-xs outline-none hover:text-foreground focus-visible:text-foreground","data-testid":"fb-folder",onClick:i,type:"button",children:[c,r]}),e[4]=i,e[5]=r,e[6]=l):l=e[6];let u;return e[7]!==t||e[8]!==l?(u=(0,n.jsx)(ie,{children:(0,n.jsx)(ee,{colSpan:t,children:l})}),e[7]=t,e[8]=l,e[9]=u):u=e[9],u},"xt"),xt=g(d=>{let e=(0,B.c)(37),{busy:t,copiedKey:r,handlers:s,object:o,prefix:i,references:c,selected:l,showReferences:u,t:m}=d,h;e[0]!==s||e[1]!==o||e[2]!==i?(h=Me(o,i,s),e[0]=s,e[1]=o,e[2]=i,e[3]=h):h=e[3];let{copy:f,download:w,name:a,remove:k,toggle:N}=h,x;e[4]!==o.key||e[5]!==l||e[6]!==m||e[7]!==N?(x=(0,n.jsx)(ee,{className:"w-8",children:(0,n.jsx)(Pe,{objectKey:o.key,onToggle:N,selected:l,t:m})}),e[4]=o.key,e[5]=l,e[6]=m,e[7]=N,e[8]=x):x=e[8];let b;e[9]!==a?(b=(0,n.jsx)(ee,{className:"font-mono text-xs",children:a}),e[9]=a,e[10]=b):b=e[10];let v;e[11]!==o.size?(v=pe(o.size),e[11]=o.size,e[12]=v):v=e[12];let y;e[13]!==v?(y=(0,n.jsx)(ee,{className:"tabular-nums text-muted-foreground",children:v}),e[13]=v,e[14]=y):y=e[14];let z=o.httpMetadata?.contentType??"",S;e[15]!==z?(S=(0,n.jsx)(ee,{children:z}),e[15]=z,e[16]=S):S=e[16];let C;e[17]!==o.key||e[18]!==c||e[19]!==u||e[20]!==m?(C=u&&(0,n.jsx)(ee,{children:(0,n.jsx)(Ae,{objectKey:o.key,references:c,t:m})}),e[17]=o.key,e[18]=c,e[19]=u,e[20]=m,e[21]=C):C=e[21];let K=r===o.key,D;e[22]!==t||e[23]!==f||e[24]!==w||e[25]!==o.key||e[26]!==k||e[27]!==m||e[28]!==K?(D=(0,n.jsx)(ee,{className:"text-right",children:(0,n.jsx)("span",{className:"inline-flex items-center gap-1",children:(0,n.jsx)(Be,{busy:t,copied:K,objectKey:o.key,onCopy:f,onDelete:k,onDownload:w,t:m})})}),e[22]=t,e[23]=f,e[24]=w,e[25]=o.key,e[26]=k,e[27]=m,e[28]=K,e[29]=D):D=e[29];let F;return e[30]!==D||e[31]!==x||e[32]!==b||e[33]!==y||e[34]!==S||e[35]!==C?(F=(0,n.jsxs)(ie,{"data-testid":"fb-row",children:[x,b,y,S,C,D]}),e[30]=D,e[31]=x,e[32]=b,e[33]=y,e[34]=S,e[35]=C,e[36]=F):F=e[36],F},"vt"),vt=g(d=>{let e=(0,B.c)(65),{allSelected:t,busy:r,copiedKey:s,files:o,folders:i,handlers:c,onEnterFolder:l,prefix:u,references:m,selected:h,showReferences:f,someSelected:w,t:a,toggleSelectAll:k}=d,N;e[0]!==a?(N=a("Select all rows"),e[0]=a,e[1]=N):N=e[1];let x;e[2]!==t||e[3]!==w||e[4]!==N||e[5]!==k?(x=(0,n.jsx)(ne,{className:"w-8",children:(0,n.jsx)(ye,{"aria-label":N,checked:t,"data-testid":"storage-select-all",indeterminate:w,onCheckedChange:k})}),e[2]=t,e[3]=w,e[4]=N,e[5]=k,e[6]=x):x=e[6];let b;e[7]!==a?(b=a("key"),e[7]=a,e[8]=b):b=e[8];let v;e[9]!==b?(v=(0,n.jsx)(ne,{children:b}),e[9]=b,e[10]=v):v=e[10];let y;e[11]!==a?(y=a("size"),e[11]=a,e[12]=y):y=e[12];let z;e[13]!==y?(z=(0,n.jsx)(ne,{children:y}),e[13]=y,e[14]=z):z=e[14];let S;e[15]!==a?(S=a("content-type"),e[15]=a,e[16]=S):S=e[16];let C;e[17]!==S?(C=(0,n.jsx)(ne,{children:S}),e[17]=S,e[18]=C):C=e[18];let K;e[19]!==f||e[20]!==a?(K=f&&(0,n.jsx)(ne,{children:a("used by")}),e[19]=f,e[20]=a,e[21]=K):K=e[21];let D;e[22]!==a?(D=a("Actions"),e[22]=a,e[23]=D):D=e[23];let F;e[24]!==D?(F=(0,n.jsx)(ne,{"aria-label":D}),e[24]=D,e[25]=F):F=e[25];let $;e[26]!==F||e[27]!==x||e[28]!==v||e[29]!==z||e[30]!==C||e[31]!==K?($=(0,n.jsx)($e,{children:(0,n.jsxs)(ie,{children:[x,v,z,C,K,F]})}),e[26]=F,e[27]=x,e[28]=v,e[29]=z,e[30]=C,e[31]=K,e[32]=$):$=e[32];let _;if(e[33]!==i||e[34]!==l||e[35]!==f){let L;e[37]!==l||e[38]!==f?(L=g(O=>(0,n.jsx)(yt,{colSpan:f?6:5,name:O,onEnter:l},O),"D"),e[37]=l,e[38]=f,e[39]=L):L=e[39],_=i.map(L),e[33]=i,e[34]=l,e[35]=f,e[36]=_}else _=e[36];let I;if(e[40]!==r||e[41]!==s||e[42]!==o||e[43]!==c||e[44]!==u||e[45]!==m||e[46]!==h||e[47]!==f||e[48]!==a){let L;e[50]!==r||e[51]!==s||e[52]!==c||e[53]!==u||e[54]!==m||e[55]!==h||e[56]!==f||e[57]!==a?(L=g(O=>(0,n.jsx)(xt,{busy:r,copiedKey:s,handlers:c,object:O,prefix:u,references:m[O.key],selected:h.has(O.key),showReferences:f,t:a},O.key),"D"),e[50]=r,e[51]=s,e[52]=c,e[53]=u,e[54]=m,e[55]=h,e[56]=f,e[57]=a,e[58]=L):L=e[58],I=o.map(L),e[40]=r,e[41]=s,e[42]=o,e[43]=c,e[44]=u,e[45]=m,e[46]=h,e[47]=f,e[48]=a,e[49]=I}else I=e[49];let E;e[59]!==_||e[60]!==I?(E=(0,n.jsxs)(Fe,{children:[_,I]}),e[59]=_,e[60]=I,e[61]=E):E=e[61];let U;return e[62]!==$||e[63]!==E?(U=(0,n.jsx)(je,{className:"overflow-hidden py-0",children:(0,n.jsx)(ze,{className:"px-0",children:(0,n.jsxs)(Ke,{"data-testid":"fb-table",children:[$,E]})})}),e[62]=$,e[63]=E,e[64]=U):U=e[64],U},"kt"),kt=[{label:"15m",seconds:900},{label:"1h",seconds:3600},{label:"24h",seconds:86400},{label:"7d",seconds:604800}],wt=3600,Ie=g((d,e)=>{if(e==="size")return d.size;if(e==="type")return d.httpMetadata?.contentType??"";if(e==="date"){if(d.uploaded===void 0)return 0;let t=new Date(d.uploaded).getTime();return Number.isNaN(t)?0:t}return e.startsWith("tag:")?d.customMetadata?.[e.slice(4)]??"":d.key},"ve"),St=g((d,e,t)=>{let r=t==="desc"?-1:1;return d.toSorted((s,o)=>{let i=Ie(s,e),c=Ie(o,e);return(typeof i=="number"&&typeof c=="number"?i-c:String(i).localeCompare(String(c)))*r})},"Ct"),Nt=g((d,e)=>{let t=new Set,r=[];for(let s of d){let o=s.key.slice(e.length),i=o.indexOf("/");i===-1?r.push(s):t.add(o.slice(0,i+1))}return{files:r,folders:[...t].toSorted((s,o)=>s.localeCompare(o))}},"Nt"),Ct=g(d=>{let e=(0,B.c)(59),{bucket:t,buckets:r,busy:s,draftPrefix:o,expiry:i,fileInputRef:c,onBucketChange:l,onExpiryChange:u,onFileChange:m,onList:h,onPrefixChange:f,onUploadClick:w,t:a}=d,k;e[0]!==f?(k=g(P=>{f(P.target.value)},"v"),e[0]=f,e[1]=k):k=e[1];let N=k,x;e[2]!==l?(x=g(P=>{l(P.target.value)},"y"),e[2]=l,e[3]=x):x=e[3];let b=x,v;e[4]!==u?(v=g(P=>{u(Number.parseInt(P.target.value,10))},"x"),e[4]=u,e[5]=v):v=e[5];let y=v,z;e[6]!==t||e[7]!==r||e[8]!==b||e[9]!==a?(z=r.length>0&&(0,n.jsx)("select",{"aria-label":a("Bucket"),className:"h-8 rounded-md border border-border bg-background px-1 outline-none focus-visible:border-ring","data-testid":"fb-bucket",onChange:b,value:t,children:r.map(zt)}),e[6]=t,e[7]=r,e[8]=b,e[9]=a,e[10]=z):z=e[10];let S;e[11]!==a?(S=a("Key prefix"),e[11]=a,e[12]=S):S=e[12];let C;e[13]!==a?(C=a("key prefix (optional)"),e[13]=a,e[14]=C):C=e[14];let K;e[15]!==o||e[16]!==N||e[17]!==S||e[18]!==C?(K=(0,n.jsx)(Ce,{"aria-label":S,className:"h-8 w-64 max-w-full","data-testid":"fb-prefix-input",onChange:N,placeholder:C,value:o}),e[15]=o,e[16]=N,e[17]=S,e[18]=C,e[19]=K):K=e[19];let D;e[20]!==a?(D=a("List"),e[20]=a,e[21]=D):D=e[21];let F;e[22]!==s||e[23]!==h||e[24]!==D?(F=(0,n.jsx)(re,{"data-testid":"fb-list",disabled:s,onClick:h,size:"sm",type:"button",children:D}),e[22]=s,e[23]=h,e[24]=D,e[25]=F):F=e[25];let $;e[26]!==s||e[27]!==a?($=a(s?"Uploading\u2026":"Upload"),e[26]=s,e[27]=a,e[28]=$):$=e[28];let _;e[29]!==s||e[30]!==w||e[31]!==$?(_=(0,n.jsx)(re,{"data-testid":"storage-upload",disabled:s,onClick:w,size:"sm",type:"button",variant:"outline",children:$}),e[29]=s,e[30]=w,e[31]=$,e[32]=_):_=e[32];let I;e[33]!==c||e[34]!==m?(I=(0,n.jsx)("input",{className:"hidden","data-testid":"storage-file-input",onChange:m,ref:c,type:"file"}),e[33]=c,e[34]=m,e[35]=I):I=e[35];let E;e[36]!==a?(E=a("Link expiry"),e[36]=a,e[37]=E):E=e[37];let U;e[38]!==a?(U=kt.map(P=>(0,n.jsx)("option",{value:P.seconds,children:a(P.label)},P.seconds)),e[38]=a,e[39]=U):U=e[39];let L;e[40]!==i||e[41]!==y||e[42]!==U?(L=(0,n.jsx)("select",{className:"h-8 rounded-md border border-border bg-background px-1 tabular-nums outline-none focus-visible:border-ring","data-testid":"storage-expiry",id:"storage-expiry",onChange:y,value:i,children:U}),e[40]=i,e[41]=y,e[42]=U,e[43]=L):L=e[43];let O;e[44]!==E||e[45]!==L?(O=(0,n.jsxs)("label",{className:"ml-auto flex items-center gap-1.5 text-xs text-muted-foreground",htmlFor:"storage-expiry",children:[E,L]}),e[44]=E,e[45]=L,e[46]=O):O=e[46];let M;e[47]!==a?(M=a("Open in Cloudflare"),e[47]=a,e[48]=M):M=e[48];let A;e[49]!==M?(A=(0,n.jsx)("a",{className:"text-sm text-primary underline-offset-4 hover:underline","data-testid":"fb-cf-link",href:Oe,rel:"noreferrer",target:"_blank",children:M}),e[49]=M,e[50]=A):A=e[50];let W;return e[51]!==_||e[52]!==I||e[53]!==O||e[54]!==A||e[55]!==z||e[56]!==K||e[57]!==F?(W=(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[z,K,F,_,I,O,A]}),e[51]=_,e[52]=I,e[53]=O,e[54]=A,e[55]=z,e[56]=K,e[57]=F,e[58]=W):W=e[58],W},"Tt"),jt=g(d=>{let e=(0,B.c)(66),{onSortKeyChange:t,onThumbSizeChange:r,showGrid:s,showList:o,sortDirection:i,sortKey:c,t:l,tagKeys:u,thumbSize:m,toggleSortDirection:h,view:f}=d,w;e[0]!==t?(w=g(G=>{t(G.target.value)},"k"),e[0]=t,e[1]=w):w=e[1];let a=w,k;e[2]!==r?(k=g(G=>{r(Number.parseInt(G.target.value,10))},"v"),e[2]=r,e[3]=k):k=e[3];let N=k,x=f==="list",b;e[4]!==l?(b=l("List"),e[4]=l,e[5]=b):b=e[5];let v;e[6]!==o||e[7]!==x||e[8]!==b?(v=(0,n.jsx)("button",{"aria-pressed":x,className:"px-2 py-1 outline-none transition-colors hover:bg-accent aria-pressed:bg-accent aria-pressed:text-accent-foreground","data-testid":"fb-view-list",onClick:o,type:"button",children:b}),e[6]=o,e[7]=x,e[8]=b,e[9]=v):v=e[9];let y=f==="grid",z;e[10]!==l?(z=l("Grid"),e[10]=l,e[11]=z):z=e[11];let S;e[12]!==s||e[13]!==y||e[14]!==z?(S=(0,n.jsx)("button",{"aria-pressed":y,className:"border-s border-border px-2 py-1 outline-none transition-colors hover:bg-accent aria-pressed:bg-accent aria-pressed:text-accent-foreground","data-testid":"fb-view-grid",onClick:s,type:"button",children:z}),e[12]=s,e[13]=y,e[14]=z,e[15]=S):S=e[15];let C;e[16]!==v||e[17]!==S?(C=(0,n.jsxs)("div",{className:"inline-flex overflow-hidden rounded-md border border-border",children:[v,S]}),e[16]=v,e[17]=S,e[18]=C):C=e[18];let K;e[19]!==l?(K=l("Sort"),e[19]=l,e[20]=K):K=e[20];let D;e[21]!==l?(D=l("Name"),e[21]=l,e[22]=D):D=e[22];let F;e[23]!==D?(F=(0,n.jsx)("option",{value:"name",children:D}),e[23]=D,e[24]=F):F=e[24];let $;e[25]!==l?($=l("size"),e[25]=l,e[26]=$):$=e[26];let _;e[27]!==$?(_=(0,n.jsx)("option",{value:"size",children:$}),e[27]=$,e[28]=_):_=e[28];let I;e[29]!==l?(I=l("Type"),e[29]=l,e[30]=I):I=e[30];let E;e[31]!==I?(E=(0,n.jsx)("option",{value:"type",children:I}),e[31]=I,e[32]=E):E=e[32];let U;e[33]!==l?(U=l("Modified"),e[33]=l,e[34]=U):U=e[34];let L;e[35]!==U?(L=(0,n.jsx)("option",{value:"date",children:U}),e[35]=U,e[36]=L):L=e[36];let O;e[37]!==u?(O=u.map(Dt),e[37]=u,e[38]=O):O=e[38];let M;e[39]!==a||e[40]!==c||e[41]!==F||e[42]!==_||e[43]!==E||e[44]!==L||e[45]!==O?(M=(0,n.jsxs)("select",{className:"h-8 rounded-md border border-border bg-background px-1 outline-none focus-visible:border-ring","data-testid":"fb-sort",id:"fb-sort",onChange:a,value:c,children:[F,_,E,L,O]}),e[39]=a,e[40]=c,e[41]=F,e[42]=_,e[43]=E,e[44]=L,e[45]=O,e[46]=M):M=e[46];let A;e[47]!==K||e[48]!==M?(A=(0,n.jsxs)("label",{className:"flex items-center gap-1.5 text-muted-foreground",htmlFor:"fb-sort",children:[K,M]}),e[47]=K,e[48]=M,e[49]=A):A=e[49];let W;e[50]!==l?(W=l("Toggle sort direction"),e[50]=l,e[51]=W):W=e[51];let P=i==="asc"?"\u2191":"\u2193",H;e[52]!==W||e[53]!==P||e[54]!==h?(H=(0,n.jsx)("button",{"aria-label":W,className:"flex size-8 items-center justify-center rounded-md border border-border tabular-nums outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"fb-sort-dir",onClick:h,type:"button",children:P}),e[52]=W,e[53]=P,e[54]=h,e[55]=H):H=e[55];let J;e[56]!==N||e[57]!==l||e[58]!==m||e[59]!==f?(J=f==="grid"&&(0,n.jsxs)("label",{className:"ml-auto flex items-center gap-1.5 text-muted-foreground",htmlFor:"fb-thumb-size",children:[l("Thumbnail size"),(0,n.jsx)("input",{className:"accent-primary","data-testid":"fb-thumb-size",id:"fb-thumb-size",max:240,min:80,onChange:N,step:8,type:"range",value:m})]}),e[56]=N,e[57]=l,e[58]=m,e[59]=f,e[60]=J):J=e[60];let oe;return e[61]!==A||e[62]!==H||e[63]!==J||e[64]!==C?(oe=(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2 text-xs","data-testid":"fb-controls",children:[C,A,H,J]}),e[61]=A,e[62]=H,e[63]=J,e[64]=C,e[65]=oe):oe=e[65],oe},"_t");function zt(d){return(0,n.jsx)("option",{value:d,children:d},d)}g(zt,"Et");function Dt(d){return(0,n.jsx)("option",{value:`tag:${d}`,children:d},d)}g(Dt,"$t");var Tt=/\.(?:avif|bmp|gif|ico|jpe?g|png|svg|webp)$/iu,Kt=g(d=>(d.httpMetadata?.contentType??"").startsWith("image/")||Tt.test(d.key),"Rt"),$t=g(()=>{let d=(0,B.c)(1),e;return d[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,n.jsx)("svg",{"aria-hidden":"true",className:"size-8 text-muted-foreground/60",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.4,viewBox:"0 0 24 24",children:(0,n.jsx)("path",{d:"M7 3h7l5 5v13a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Zm7 0v5h5"})}),d[0]=e):e=d[0],e},"zt"),Ft=g(d=>{let e=(0,B.c)(13),{object:t,resolveUrl:r}=d,[s,o]=(0,j.useState)(null),[i,c]=(0,j.useState)(!1),l;e[0]!==t?(l=Kt(t),e[0]=t,e[1]=l):l=e[1];let u=l,m,h;e[2]!==u||e[3]!==t.key||e[4]!==r?(m=g(()=>{if(!u)return;let k={cancelled:!1};return V((async()=>{try{let N=await r(t.key);k.cancelled||o(N)}catch{k.cancelled||c(!0)}})()),()=>{k.cancelled=!0}},"h"),h=[u,t.key,r],e[2]=u,e[3]=t.key,e[4]=r,e[5]=m,e[6]=h):(m=e[5],h=e[6]),(0,j.useEffect)(m,h);let f;e[7]===Symbol.for("react.memo_cache_sentinel")?(f=g(()=>{c(!0)},"m"),e[7]=f):f=e[7];let w=f,a;return e[8]!==i||e[9]!==u||e[10]!==t.key||e[11]!==s?(a=(0,n.jsx)("div",{className:"flex aspect-square w-full items-center justify-center overflow-hidden rounded-md border border-border bg-muted/30",children:u&&s!==null&&!i?(0,n.jsx)("img",{alt:t.key,className:"size-full object-cover",loading:"lazy",onError:w,src:s}):(0,n.jsx)($t,{})}),e[8]=i,e[9]=u,e[10]=t.key,e[11]=s,e[12]=a):a=e[12],a},"Dt"),_t=g(d=>{let e=(0,B.c)(42),{busy:t,copiedKey:r,handlers:s,object:o,prefix:i,references:c,resolveUrl:l,selected:u,showReferences:m,t:h}=d,f;e[0]!==s||e[1]!==o||e[2]!==i?(f=Me(o,i,s),e[0]=s,e[1]=o,e[2]=i,e[3]=f):f=e[3];let{copy:w,download:a,name:k,remove:N,toggle:x}=f,b;e[4]!==o||e[5]!==l?(b=(0,n.jsx)(Ft,{object:o,resolveUrl:l}),e[4]=o,e[5]=l,e[6]=b):b=e[6];let v;e[7]!==o.key||e[8]!==u||e[9]!==h||e[10]!==x?(v=(0,n.jsx)("span",{className:"absolute left-1.5 top-1.5 rounded bg-background/80 p-0.5",children:(0,n.jsx)(Pe,{objectKey:o.key,onToggle:x,selected:u,t:h})}),e[7]=o.key,e[8]=u,e[9]=h,e[10]=x,e[11]=v):v=e[11];let y;e[12]!==b||e[13]!==v?(y=(0,n.jsxs)("div",{className:"relative",children:[b,v]}),e[12]=b,e[13]=v,e[14]=y):y=e[14];let z;e[15]!==k?(z=(0,n.jsx)("p",{className:"truncate font-mono text-xs",title:k,children:k}),e[15]=k,e[16]=z):z=e[16];let S;e[17]!==o.size?(S=pe(o.size),e[17]=o.size,e[18]=S):S=e[18];let C;e[19]!==S?(C=(0,n.jsx)("p",{className:"text-[11px] tabular-nums text-muted-foreground",children:S}),e[19]=S,e[20]=C):C=e[20];let K;e[21]!==o.key||e[22]!==c||e[23]!==m||e[24]!==h?(K=m&&(0,n.jsx)("div",{className:"mt-1",children:(0,n.jsx)(Ae,{objectKey:o.key,references:c,t:h})}),e[21]=o.key,e[22]=c,e[23]=m,e[24]=h,e[25]=K):K=e[25];let D;e[26]!==z||e[27]!==C||e[28]!==K?(D=(0,n.jsxs)("div",{className:"min-w-0",children:[z,C,K]}),e[26]=z,e[27]=C,e[28]=K,e[29]=D):D=e[29];let F=r===o.key,$;e[30]!==t||e[31]!==w||e[32]!==a||e[33]!==o.key||e[34]!==N||e[35]!==h||e[36]!==F?($=(0,n.jsx)("div",{className:"flex items-center gap-1",children:(0,n.jsx)(Be,{busy:t,buttonClassName:"h-7 px-2 text-xs",copied:F,objectKey:o.key,onCopy:w,onDelete:N,onDownload:a,t:h})}),e[30]=t,e[31]=w,e[32]=a,e[33]=o.key,e[34]=N,e[35]=h,e[36]=F,e[37]=$):$=e[37];let _;return e[38]!==$||e[39]!==y||e[40]!==D?(_=(0,n.jsxs)("div",{className:"flex flex-col gap-1.5","data-testid":"fb-tile",children:[y,D,$]}),e[38]=$,e[39]=y,e[40]=D,e[41]=_):_=e[41],_},"jt"),Lt=g(d=>{let e=(0,B.c)(9),{name:t,onEnter:r}=d,s;e[0]!==t||e[1]!==r?(s=g(()=>{r(t)},"o"),e[0]=t,e[1]=r,e[2]=s):s=e[2];let o=s,i;e[3]===Symbol.for("react.memo_cache_sentinel")?(i=(0,n.jsx)("span",{className:"flex aspect-square w-full items-center justify-center rounded-md border border-border bg-muted/30 transition-colors hover:bg-accent",children:(0,n.jsx)("svg",{"aria-hidden":"true",className:"size-10 text-muted-foreground",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.4,viewBox:"0 0 24 24",children:(0,n.jsx)("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Z"})})}),e[3]=i):i=e[3];let c;e[4]!==t?(c=(0,n.jsx)("span",{className:"truncate font-mono text-xs",title:t,children:t}),e[4]=t,e[5]=c):c=e[5];let l;return e[6]!==o||e[7]!==c?(l=(0,n.jsxs)("button",{className:"flex flex-col gap-1.5 text-left outline-none","data-testid":"fb-folder",onClick:o,type:"button",children:[i,c]}),e[6]=o,e[7]=c,e[8]=l):l=e[8],l},"Kt"),Et=g(d=>{let e=(0,B.c)(34),{busy:t,copiedKey:r,files:s,folders:o,handlers:i,onEnterFolder:c,prefix:l,references:u,resolveUrl:m,selected:h,showReferences:f,size:w,t:a}=d,k;e[0]!==w?(k=w.toString(),e[0]=w,e[1]=k):k=e[1];let N=`repeat(auto-fill, minmax(${k}px, 1fr))`,x;e[2]!==N?(x={gridTemplateColumns:N},e[2]=N,e[3]=x):x=e[3];let b=x,v;if(e[4]!==o||e[5]!==c){let S;e[7]!==c?(S=g(C=>(0,n.jsx)(Lt,{name:C,onEnter:c},C),"S"),e[7]=c,e[8]=S):S=e[8],v=o.map(S),e[4]=o,e[5]=c,e[6]=v}else v=e[6];let y;if(e[9]!==t||e[10]!==r||e[11]!==s||e[12]!==i||e[13]!==l||e[14]!==u||e[15]!==m||e[16]!==h||e[17]!==f||e[18]!==a){let S;e[20]!==t||e[21]!==r||e[22]!==i||e[23]!==l||e[24]!==u||e[25]!==m||e[26]!==h||e[27]!==f||e[28]!==a?(S=g(C=>(0,n.jsx)(_t,{busy:t,copiedKey:r,handlers:i,object:C,prefix:l,references:u[C.key],resolveUrl:m,selected:h.has(C.key),showReferences:f,t:a},C.key),"S"),e[20]=t,e[21]=r,e[22]=i,e[23]=l,e[24]=u,e[25]=m,e[26]=h,e[27]=f,e[28]=a,e[29]=S):S=e[29],y=s.map(S),e[9]=t,e[10]=r,e[11]=s,e[12]=i,e[13]=l,e[14]=u,e[15]=m,e[16]=h,e[17]=f,e[18]=a,e[19]=y}else y=e[19];let z;return e[30]!==b||e[31]!==v||e[32]!==y?(z=(0,n.jsxs)("div",{className:"grid gap-4","data-testid":"fb-gallery",style:b,children:[v,y]}),e[30]=b,e[31]=v,e[32]=y,e[33]=z):z=e[33],z},"Bt"),Ot=g(d=>{let e=(0,B.c)(23),{reference:t,t:r}=d,s=`fb-dangling-${t.table}-${t.id}-${t.column}`,o=`${t.table}\xB7${t.id}`,i;e[0]!==o?(i=(0,n.jsx)(ae,{variant:"secondary",children:o}),e[0]=o,e[1]=i):i=e[1];let c;e[2]!==t.column?(c=(0,n.jsx)("span",{className:"text-muted-foreground",children:t.column}),e[2]=t.column,e[3]=c):c=e[3];let l;e[4]!==r?(l=r("\u2192"),e[4]=r,e[5]=l):l=e[5];let u;e[6]!==l?(u=(0,n.jsx)("span",{className:"text-muted-foreground/60",children:l}),e[6]=l,e[7]=u):u=e[7];let m;e[8]!==t.key?(m=(0,n.jsx)("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-foreground",children:t.key}),e[8]=t.key,e[9]=m):m=e[9];let h;e[10]!==i||e[11]!==c||e[12]!==u||e[13]!==m?(h=(0,n.jsxs)("span",{className:"flex flex-wrap items-center gap-1.5",children:[i,c,u,m]}),e[10]=i,e[11]=c,e[12]=u,e[13]=m,e[14]=h):h=e[14];let f;e[15]!==r?(f=r("Missing object"),e[15]=r,e[16]=f):f=e[16];let w;e[17]!==f?(w=(0,n.jsx)(ae,{className:"border-destructive/40 text-destructive",variant:"outline",children:f}),e[17]=f,e[18]=w):w=e[18];let a;return e[19]!==s||e[20]!==w||e[21]!==h?(a=(0,n.jsxs)("li",{className:"flex flex-wrap items-center justify-between gap-2 rounded-md border border-border/60 px-3 py-2 text-xs","data-testid":s,children:[h,w]}),e[19]=s,e[20]=w,e[21]=h,e[22]=a):a=e[22],a},"Lt"),It=g(d=>{let e=(0,B.c)(37),{busy:t,onCheck:r,references:s,t:o,truncated:i}=d,c;e[0]!==o?(c=o("Integrity"),e[0]=o,e[1]=c):c=e[1];let l;e[2]!==c?(l=(0,n.jsx)("span",{className:"font-mono text-[11px] uppercase tracking-wide text-muted-foreground",children:c}),e[2]=c,e[3]=l):l=e[3];let u;e[4]!==o?(u=o("Orphaned objects"),e[4]=o,e[5]=u):u=e[5];let m;e[6]!==u?(m=(0,n.jsx)("span",{className:"text-sm font-medium text-foreground",children:u}),e[6]=u,e[7]=m):m=e[7];let h;e[8]!==o?(h=o("Find records whose file reference points at an object the bucket no longer has."),e[8]=o,e[9]=h):h=e[9];let f;e[10]!==h?(f=(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:h}),e[10]=h,e[11]=f):f=e[11];let w;e[12]!==l||e[13]!==m||e[14]!==f?(w=(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[l,m,f]}),e[12]=l,e[13]=m,e[14]=f,e[15]=w):w=e[15];let a;e[16]!==t||e[17]!==o?(a=o(t?"Checking\u2026":"Check for orphans"),e[16]=t,e[17]=o,e[18]=a):a=e[18];let k;e[19]!==t||e[20]!==r||e[21]!==a?(k=(0,n.jsx)(re,{"data-testid":"fb-orphans-check",disabled:t,onClick:r,size:"sm",type:"button",variant:"outline",children:a}),e[19]=t,e[20]=r,e[21]=a,e[22]=k):k=e[22];let N;e[23]!==w||e[24]!==k?(N=(0,n.jsxs)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[w,k]}),e[23]=w,e[24]=k,e[25]=N):N=e[25];let x;e[26]!==s?.length||e[27]!==o?(x=s?.length===0&&(0,n.jsx)(me,{description:o("Every record's file reference points at an object that exists in the bucket."),testId:"fb-orphans-empty",title:o("No dangling references.")}),e[26]=s?.length,e[27]=o,e[28]=x):x=e[28];let b;e[29]!==s||e[30]!==o||e[31]!==i?(b=s!==void 0&&s.length>0&&(0,n.jsxs)(n.Fragment,{children:[i&&(0,n.jsx)("p",{className:"text-xs text-warning","data-testid":"fb-orphans-truncated",children:o("Showing the first {count} dangling references \u2014 the scan was truncated.",{count:s.length})}),(0,n.jsx)("ul",{className:"flex flex-col gap-1.5","data-testid":"fb-orphans-list",children:s.map(y=>(0,n.jsx)(Ot,{reference:y,t:o},`${y.table}\xB7${y.id}\xB7${y.column}`))})]}),e[29]=s,e[30]=o,e[31]=i,e[32]=b):b=e[32];let v;return e[33]!==N||e[34]!==x||e[35]!==b?(v=(0,n.jsxs)("section",{className:"flex flex-col gap-2 rounded-lg border border-border/60 p-3","data-testid":"fb-orphans",children:[N,x,b]}),e[33]=N,e[34]=x,e[35]=b,e[36]=v):v=e[36],v},"It"),Rt=g(function(d,e){let t=(0,B.c)(18),r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r=new Set,t[0]=r):r=t[0];let[s,o]=(0,j.useState)(r),i;t[1]===Symbol.for("react.memo_cache_sentinel")?(i=g(x=>{o(b=>{let v=new Set(b);return v.has(x)?v.delete(x):v.add(x),v})},"c"),t[1]=i):i=t[1];let c=i,l;t[2]===Symbol.for("react.memo_cache_sentinel")?(l=g(()=>{o(new Set)},"n"),t[2]=l):l=t[2];let u=l,m,h,f;if(t[3]!==d||t[4]!==e||t[5]!==s){let x;t[9]!==e?(x=g(b=>e(b),"y"),t[9]=e,t[10]=x):x=t[10],h=d.map(x),m=h.length>0&&h.every(b=>s.has(b)),f=!m&&h.some(b=>s.has(b)),t[3]=d,t[4]=e,t[5]=s,t[6]=m,t[7]=h,t[8]=f}else m=t[6],h=t[7],f=t[8];let w=f,a;t[11]!==h?(a=g(()=>{o(x=>h.every(b=>x.has(b))?new Set:new Set(h))},"i"),t[11]=h,t[12]=a):a=t[12];let k=a,N;return t[13]!==m||t[14]!==s||t[15]!==w||t[16]!==k?(N={allSelected:m,clear:u,selected:s,someSelected:w,toggle:c,toggleAll:k},t[13]=m,t[14]=s,t[15]=w,t[16]=k,t[17]=N):N=t[17],N},"Ot"),Ut=fe(be.storageReferences),Mt=fe(be.storageOrphans),Re=1e4,Bt=1e3,At=3600,Pt=g((d,e)=>{if(!("document"in globalThis))return;let t=globalThis.document.createElement("a");t.href=d,t.download=e,t.rel="noopener",globalThis.document.body.append(t),t.click(),t.remove()},"Ht"),Vt=g(d=>d.key,"Pt"),Wt=g(({initialPrefix:d,pageSize:e})=>{let t=Se(),[r,s]=(0,j.useState)(d??""),[o,i]=(0,j.useState)(d??""),[c,l]=(0,j.useState)(wt),[u,m]=(0,j.useState)("list"),[h,f]=(0,j.useState)(128),[w,a]=(0,j.useState)("name"),[k,N]=(0,j.useState)("asc"),[x,b]=(0,j.useState)(void 0),[v,y]=(0,j.useState)(void 0),[z,S]=(0,j.useState)(!1),[C,K]=(0,j.useState)(void 0),[D,F]=(0,j.useState)(void 0),[$,_]=(0,j.useState)(""),[I,E]=(0,j.useState)({}),[U,L]=(0,j.useState)(!1),[O,M]=(0,j.useState)(void 0),[A,W]=(0,j.useState)(!1),[P,H]=(0,j.useState)(!1),[J,oe]=(0,j.useState)([]),[G,xe]=(0,j.useState)(""),le=(0,j.useRef)(0),X=(0,j.useRef)(0);(0,j.useEffect)(()=>{let p={cancelled:!1};return V((async()=>{try{let T=await t.listStorageBuckets();if(!p.cancelled){oe(T);let[R]=T;R!==void 0&&xe(q=>q===""?R:q)}}catch{}})()),()=>{p.cancelled=!0}},[t]);let Z=(0,j.useMemo)(()=>({list:g(p=>t.listStorageObjects({...p,bucket:G}),"list"),remove:g(p=>t.deleteStorageObject(p,{bucket:G}),"remove"),signedUrl:g((p,T)=>t.signedStorageUrl(p,{...T,bucket:G}),"signedUrl"),upload:g(p=>t.uploadStorageObject({...p,bucket:G}),"upload")}),[G,t]),Y=(0,j.useCallback)(async(p,T,R)=>{le.current+=1;let q=le.current;y(void 0),S(!0);try{let te=await Z.list({cursor:T,limit:e,prefix:p});if(q!==le.current)return;b(we=>R&&we!==void 0?[...we,...te.objects]:te.objects),F(te.cursor)}catch(te){if(q!==le.current)return;R||b(void 0),y(Q(te))}finally{q===le.current&&S(!1)}},[e,Z]);(0,j.useEffect)(()=>{V(Y(d??"",void 0,!1))},[Y,d]);let Ve=(x?.length??0)<=e;Le(()=>{V(Y(r,void 0,!1))},Ve);let{files:de,folders:We}=Nt(x??[],r),He=(0,j.useMemo)(()=>{let p=new Set;for(let T of de)for(let R of Object.keys(T.customMetadata??{}))p.add(R);return[...p].toSorted((T,R)=>T.localeCompare(R))},[de]),ce=St(de,w,k),ue=(0,j.useMemo)(()=>[...new Set(ce.map(p=>p.key))].toSorted((p,T)=>p.localeCompare(T)).join(`
3
+ `),[ce]);(0,j.useEffect)(()=>{let p=ue===""?[]:ue.split(`
4
+ `);if(p.length===0){E({});return}let T={current:!0};return V((async()=>{try{let R=await t.query(Ut,{keys:p},ge($));T.current&&(E(R.references??{}),L(Object.keys(R.storageColumns??{}).length>0))}catch{T.current&&(E({}),L(!1))}})()),()=>{T.current=!1}},[t,ue,$]);let{allSelected:qe,clear:se,selected:ve,someSelected:Ge,toggle:Ze,toggleAll:Ye}=Rt(ce,Vt),Je=g(()=>{s(o),se(),V(Y(o,void 0,!1))},"Ae"),Xe=g(()=>{V(Y(r,D,!0))},"Ue"),ke=g(p=>{s(p),i(p),se(),V(Y(p,void 0,!1))},"ye"),Qe=g(p=>{ke(`${r}${p}`)},"Me"),et=g(p=>Z.signedUrl(p,{expiresInSeconds:At}),"Ge"),tt=g(()=>{m("list")},"He"),rt=g(()=>{m("grid")},"Pe"),nt=g(p=>{a(p)},"qe"),ot=g(()=>{N(p=>p==="asc"?"desc":"asc")},"Ve"),lt=g(p=>{f(p)},"We"),st=g(p=>{l(p)},"Ze"),at=g(()=>{y(void 0),S(!0),V((async()=>{try{for(let p of ve)await Z.remove(p);await Y(r,void 0,!1),se()}catch(p){y(Q(p))}S(!1)})())},"Xe"),ct=g(p=>{y(void 0),V((async()=>{try{let T=await Z.signedUrl(p,{expiresInSeconds:c});De(T)&&K(p)}catch(T){y(Q(T))}})())},"Ye"),it=g(p=>{y(void 0),V((async()=>{try{let T=await Z.signedUrl(p,{expiresInSeconds:c}),R=p.slice(p.lastIndexOf("/")+1)||p;Pt(T,R)}catch(T){y(Q(T))}})())},"Je");(0,j.useEffect)(()=>{if(C===void 0)return;let p=globalThis.setTimeout(()=>{K(void 0)},2e3);return()=>{globalThis.clearTimeout(p)}},[C]);let dt=g(p=>{y(void 0),S(!0),V((async()=>{try{await Z.remove(p),await Y(r,void 0,!1)}catch(T){y(Q(T))}S(!1)})())},"Qe"),ut=g(p=>{let T=`${r}${p.name}`;y(void 0),S(!0),V((async()=>{try{let R=await p.arrayBuffer();await Z.upload({body:R,contentType:p.type===""?void 0:p.type,key:T}),await Y(r,void 0,!1)}catch(R){y(Q(R))}S(!1)})())},"et");(0,j.useEffect)(()=>{X.current+=1,M(void 0),H(!1)},[$]);let ht=g(()=>{X.current+=1;let p=X.current;y(void 0),W(!0),V((async()=>{try{let T=[],R;do{let q=await Z.list({cursor:R,limit:Bt});for(let te of q.objects)T.push(te.key);R=T.length>=Re?void 0:q.cursor}while(R!==void 0);if(T.length>=Re)p===X.current&&(M([]),H(!0));else{let q=await t.query(Mt,{liveKeys:T},ge($));p===X.current&&(M(q.references??[]),H(q.truncated===!0))}}catch(T){p===X.current&&(M([]),H(!1),y(Q(T)))}p===X.current&&W(!1)})())},"tt"),mt=g(p=>{le.current+=1,X.current+=1,xe(p),s(d??""),i(d??""),b(void 0),M(void 0),H(!1),se()},"st");return{allSelected:qe,bucket:G,buckets:J,bulkDelete:at,busy:z,checkOrphans:ht,clearSelection:se,copiedKey:C,danglingBusy:A,danglingReferences:O,danglingTruncated:P,draftPrefix:o,enterFolder:Qe,error:v,expiry:c,files:ce,folders:We,hasObjects:x!==void 0&&x.length>0,hasStorageColumns:U,listFirst:Je,loaded:x!==void 0,loadMore:Xe,navigate:ke,nextCursor:D,onCopy:ct,onDelete:dt,onDownload:it,onExpiryChange:st,onFile:ut,onSortKeyChange:nt,onThumbSizeChange:lt,prefix:r,referenceShard:$,references:I,resolveUrl:et,selectBucket:mt,selected:ve,setDraftPrefix:i,setReferenceShard:_,showGrid:rt,showList:tt,someSelected:Ge,sortDirection:k,sortKey:w,tagKeys:He,thumbSize:h,toggleSelect:Ze,toggleSelectAll:Ye,toggleSortDirection:ot,view:u}},"qt"),Ht=100,Ue=g(d=>{let e=(0,B.c)(6),{label:t,onNavigate:r,target:s}=d,o;e[0]!==r||e[1]!==s?(o=g(()=>{r(s)},"l"),e[0]=r,e[1]=s,e[2]=o):o=e[2];let i=o,c;return e[3]!==i||e[4]!==t?(c=(0,n.jsx)("button",{className:"rounded px-1 text-muted-foreground outline-none hover:text-foreground focus-visible:text-foreground",onClick:i,type:"button",children:t}),e[3]=i,e[4]=t,e[5]=c):c=e[5],c},"Se"),qt=g(d=>{let e=(0,B.c)(11),{onNavigate:t,prefix:r,t:s}=d,o;if(e[0]!==t||e[1]!==r||e[2]!==s){let i=r.split("/").filter(Gt),c;e[4]!==s?(c=s("Folder path"),e[4]=s,e[5]=c):c=e[5];let l;e[6]!==s?(l=s("root"),e[6]=s,e[7]=l):l=e[7];let u;e[8]!==t||e[9]!==l?(u=(0,n.jsx)(Ue,{label:l,onNavigate:t,target:""}),e[8]=t,e[9]=l,e[10]=u):u=e[10],o=(0,n.jsxs)("nav",{"aria-label":c,className:"flex flex-wrap items-center gap-0.5 text-xs","data-testid":"fb-breadcrumbs",children:[u,i.map((m,h)=>(0,n.jsxs)("span",{className:"flex items-center gap-0.5",children:[(0,n.jsx)("span",{className:"text-muted-foreground/50",children:"/"}),(0,n.jsx)(Ue,{label:m,onNavigate:t,target:`${i.slice(0,h+1).join("/")}/`})]},`${m}-${h.toString()}`))]}),e[0]=t,e[1]=r,e[2]=s,e[3]=o}else o=e[3];return o},"Wt"),ur=g(({initialPrefix:d,pageSize:e=Ht})=>{let t=Ne(),r=Wt({initialPrefix:d,pageSize:e}),s=(0,j.useRef)(null),{onCopy:o,onDelete:i,onDownload:c,onFile:l,toggleSelect:u}=r,m={onCopy:o,onDelete:i,onDownload:c,onToggleSelect:u},h=g(()=>{s.current?.click()},"u"),f=g(a=>{let k=a.target,N=k.files?.[0];k.value="",N&&l(N)},"m"),w=r.loaded&&!r.hasObjects;return(0,n.jsxs)("div",{className:"flex flex-col gap-3","data-testid":"lunora-file-browser",children:[(0,n.jsx)(Ct,{bucket:r.bucket,buckets:r.buckets,busy:r.busy,draftPrefix:r.draftPrefix,expiry:r.expiry,fileInputRef:s,onBucketChange:r.selectBucket,onExpiryChange:r.onExpiryChange,onFileChange:f,onList:r.listFirst,onPrefixChange:r.setDraftPrefix,onUploadClick:h,t}),r.loaded&&(0,n.jsx)(qt,{onNavigate:r.navigate,prefix:r.prefix,t}),r.hasObjects&&(0,n.jsx)(jt,{onSortKeyChange:r.onSortKeyChange,onThumbSizeChange:r.onThumbSizeChange,showGrid:r.showGrid,showList:r.showList,sortDirection:r.sortDirection,sortKey:r.sortKey,t,tagKeys:r.tagKeys,thumbSize:r.thumbSize,toggleSortDirection:r.toggleSortDirection,view:r.view}),r.hasStorageColumns&&(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-2","data-testid":"fb-references-shard",children:[(0,n.jsx)("label",{className:"text-xs text-muted-foreground",htmlFor:"fb-reference-shard-input",children:t("References shard")}),(0,n.jsx)(Te,{id:"fb-reference-shard-input",onChange:r.setReferenceShard,testId:"fb-reference-shard-input",value:r.referenceShard}),(0,n.jsx)("span",{className:"text-xs text-muted-foreground",children:t("Which shard's records are checked for references to these files. Empty = root shard.")})]}),r.hasStorageColumns&&(0,n.jsx)(It,{busy:r.danglingBusy,onCheck:r.checkOrphans,references:r.danglingReferences,t,truncated:r.danglingTruncated}),r.selected.size>0&&(0,n.jsx)(Ee,{count:r.selected.size,editable:!0,onClear:r.clearSelection,onDelete:r.bulkDelete}),r.error!==void 0&&(0,n.jsx)("p",{className:"text-sm text-destructive","data-testid":"storage-error",role:"alert",children:r.error}),w&&(0,n.jsx)(me,{description:t("Objects you upload to your R2 buckets will appear here."),icon:(0,n.jsxs)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,n.jsx)("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Z"}),(0,n.jsx)("path",{d:"M12 11v5m-2.5-2.5h5"})]}),testId:"fb-empty",title:t("No objects.")}),r.hasObjects&&r.view==="list"&&(0,n.jsx)(vt,{allSelected:r.allSelected,busy:r.busy,copiedKey:r.copiedKey,files:r.files,folders:r.folders,handlers:m,onEnterFolder:r.enterFolder,prefix:r.prefix,references:r.references,selected:r.selected,showReferences:r.hasStorageColumns,someSelected:r.someSelected,t,toggleSelectAll:r.toggleSelectAll}),r.hasObjects&&r.view==="grid"&&(0,n.jsx)(Et,{busy:r.busy,copiedKey:r.copiedKey,files:r.files,folders:r.folders,handlers:m,onEnterFolder:r.enterFolder,prefix:r.prefix,references:r.references,resolveUrl:r.resolveUrl,selected:r.selected,showReferences:r.hasStorageColumns,size:r.thumbSize,t}),r.nextCursor!==void 0&&(0,n.jsx)("div",{children:(0,n.jsx)(re,{"data-testid":"fb-next",disabled:r.busy,onClick:r.loadMore,size:"sm",type:"button",variant:"outline",children:t("Load more")})})]})},"ps");function Gt(d){return d!==""}g(Gt,"Zt");export{ur as FileBrowser};
@@ -0,0 +1 @@
1
+ import{b as we}from"./chunk-26VREVWU.js";import{a as Ne}from"./chunk-CAOUXOL7.js";import{b as ve,c as ye}from"./chunk-INBA3473.js";import{a as ge}from"./chunk-NIX2QSSN.js";import{a as xe}from"./chunk-JURAVSE7.js";import"./chunk-VZCS5GXZ.js";import"./chunk-DKSLOJDQ.js";import{a as fe}from"./chunk-CKTKI4IY.js";import{a as he}from"./chunk-6FWN26RH.js";import{b as pe}from"./chunk-P52BY657.js";import"./chunk-VNTEQQPP.js";import{P as me}from"./chunk-AOAJGSYZ.js";import"./chunk-TFMQSCGC.js";import"./chunk-74ASA4WU.js";import"./chunk-XQS7KSHL.js";import{b as oe}from"./chunk-SPDZUX4P.js";import"./chunk-7PIHTTND.js";import{a as be}from"./chunk-UIF57LBO.js";import"./chunk-PZ4QDWTI.js";import"./chunk-FLCK2WWQ.js";import"./chunk-F7JOSNAT.js";import{a as ce}from"./chunk-VDW32UET.js";import{c as ie}from"./chunk-YUWMB6EV.js";import"./chunk-TBXK3FKP.js";import"./chunk-RCZTUWG3.js";import{a as ue}from"./chunk-UANVABQG.js";import{d as U,r as de}from"./chunk-6ZPTNC34.js";import"./chunk-VYW2PAWC.js";import{a as m,d as le,e as $e,f as Ce,g as Le,i as te}from"./chunk-R5ZTCHCE.js";var B=le(Ce(),1),O=le($e(),1);var s=le(Le(),1);var Te=.5,Me=4,Ie=m(n=>Math.min(100,Math.max(0,n)),"ce"),Pe=m((n,e)=>{if(!Number.isFinite(e)||e<=0)return{leftPercent:0,widthPercent:100};let t=Ie(n.offsetMs/e*100),a=n.durationMs/e*100,l=Math.max(Te,Math.min(Ie(a),100-t));return{leftPercent:t,widthPercent:l}},"Le"),Ke=m((n,e,t=!1)=>{let a=e.trim().toLowerCase(),l=t?n.filter(r=>!r.ok):n;return a===""?[...l]:l.filter(r=>r.rootName.toLowerCase().includes(a)||r.functionPath.toLowerCase().includes(a)||r.traceId.toLowerCase().includes(a)||r.spans.some(o=>o.name.toLowerCase().includes(a)||o.spanId.toLowerCase().includes(a)))},"Ce"),G=m(n=>Number.isFinite(n)?n>0&&n<1?`${n.toFixed(2)}ms`:`${String(Math.round(n))}ms`:"\u2014","q"),De=m(n=>!Number.isFinite(n)||n<=0?[]:Array.from({length:Me},(e,t)=>{let a=(t+1)/Me;return{label:G(n*a),percent:a*100}}),"Ee"),Se=m(n=>{if(typeof n=="string")return n;try{return JSON.stringify(n)}catch{return String(n)}},"ue"),ee=m(n=>{let e=(0,B.c)(7),{label:t,value:a}=n,l;e[0]!==t?(l=(0,s.jsx)("dt",{className:"w-40 shrink-0 text-muted-foreground",children:t}),e[0]=t,e[1]=l):l=e[1];let r;e[2]!==a?(r=(0,s.jsx)("dd",{className:"min-w-0 break-all",children:a}),e[2]=a,e[3]=r):r=e[3];let o;return e[4]!==l||e[5]!==r?(o=(0,s.jsxs)("div",{className:"flex gap-2",children:[l,r]}),e[4]=l,e[5]=r,e[6]=o):o=e[6],o},"Y"),Fe=m(n=>{let e=(0,B.c)(68),{span:t}=n,a=U(),l,r,o,d,i,u;if(e[0]!==t.attributes||e[1]!==t.durationMs||e[2]!==t.error||e[3]!==t.events||e[4]!==t.kind||e[5]!==t.offsetMs||e[6]!==t.parentSpanId||e[7]!==t.spanId||e[8]!==a){let $=Object.entries(t.attributes??{}),_;e[15]!==t.events?(_=t.events??[],e[15]=t.events,e[16]=_):_=e[16],l=_,r="border-t border-border bg-background/60 px-3 py-2 font-mono text-xs",o="tr-span-detail";let y;e[17]!==a?(y=a("Span ID"),e[17]=a,e[18]=y):y=e[18];let w;e[19]!==t.spanId||e[20]!==y?(w=(0,s.jsx)(ee,{label:y,value:t.spanId}),e[19]=t.spanId,e[20]=y,e[21]=w):w=e[21];let M;e[22]!==a?(M=a("Parent span ID"),e[22]=a,e[23]=M):M=e[23];let p;e[24]!==t.parentSpanId||e[25]!==a?(p=t.parentSpanId===""?a("\u2014 (trace root)"):t.parentSpanId,e[24]=t.parentSpanId,e[25]=a,e[26]=p):p=e[26];let h;e[27]!==p||e[28]!==M?(h=(0,s.jsx)(ee,{label:M,value:p}),e[27]=p,e[28]=M,e[29]=h):h=e[29];let b;e[30]!==a?(b=a("Kind"),e[30]=a,e[31]=b):b=e[31];let C=t.kind??"internal",S;e[32]!==b||e[33]!==C?(S=(0,s.jsx)(ee,{label:b,value:C}),e[32]=b,e[33]=C,e[34]=S):S=e[34];let I;e[35]!==a?(I=a("Started at"),e[35]=a,e[36]=I):I=e[36];let g;e[37]!==t.offsetMs||e[38]!==a?(g=a("+{offset}",{offset:G(t.offsetMs)}),e[37]=t.offsetMs,e[38]=a,e[39]=g):g=e[39];let x;e[40]!==I||e[41]!==g?(x=(0,s.jsx)(ee,{label:I,value:g}),e[40]=I,e[41]=g,e[42]=x):x=e[42];let k;e[43]!==a?(k=a("Duration"),e[43]=a,e[44]=k):k=e[44];let f;e[45]!==t.durationMs?(f=G(t.durationMs),e[45]=t.durationMs,e[46]=f):f=e[46];let N;e[47]!==k||e[48]!==f?(N=(0,s.jsx)(ee,{label:k,value:f}),e[47]=k,e[48]=f,e[49]=N):N=e[49],e[50]!==h||e[51]!==S||e[52]!==x||e[53]!==N||e[54]!==w?(d=(0,s.jsxs)("dl",{className:"flex flex-col gap-1",children:[w,h,S,x,N]}),e[50]=h,e[51]=S,e[52]=x,e[53]=N,e[54]=w,e[55]=d):d=e[55],e[56]!==t.error?(i=t.error!==void 0&&(0,s.jsxs)("div",{className:"mt-2 rounded-md border border-destructive/40 bg-destructive/10 px-2 py-1.5","data-testid":"tr-detail-error",children:[(0,s.jsx)("span",{className:"font-semibold text-destructive",children:t.error.type}),(0,s.jsx)("p",{className:"whitespace-pre-wrap break-all text-destructive",children:t.error.message})]}),e[56]=t.error,e[57]=i):i=e[57],u=$.length>0&&(0,s.jsxs)("div",{className:"mt-2","data-testid":"tr-detail-attributes",children:[(0,s.jsx)("p",{className:"mb-1 text-muted-foreground",children:a("Attributes")}),(0,s.jsx)("dl",{className:"flex flex-col gap-1",children:$.map(je)})]}),e[0]=t.attributes,e[1]=t.durationMs,e[2]=t.error,e[3]=t.events,e[4]=t.kind,e[5]=t.offsetMs,e[6]=t.parentSpanId,e[7]=t.spanId,e[8]=a,e[9]=l,e[10]=r,e[11]=o,e[12]=d,e[13]=i,e[14]=u}else l=e[9],r=e[10],o=e[11],d=e[12],i=e[13],u=e[14];let c;e[58]!==l||e[59]!==a?(c=l.length>0&&(0,s.jsxs)("div",{className:"mt-2","data-testid":"tr-detail-events",children:[(0,s.jsx)("p",{className:"mb-1 text-muted-foreground",children:a("Events")}),(0,s.jsx)("ul",{className:"flex flex-col gap-1",children:l.map(Oe)})]}),e[58]=l,e[59]=a,e[60]=c):c=e[60];let v;return e[61]!==r||e[62]!==o||e[63]!==d||e[64]!==i||e[65]!==u||e[66]!==c?(v=(0,s.jsxs)("div",{className:r,"data-testid":o,children:[d,i,u,c]}),e[61]=r,e[62]=o,e[63]=d,e[64]=i,e[65]=u,e[66]=c,e[67]=v):v=e[67],v},"Pe");function je(n){let[e,t]=n;return(0,s.jsx)(ee,{label:e,value:Se(t)},e)}m(je,"Fe");function Ee(n){let[e,t]=n;return`${e}=${Se(t)}`}m(Ee,"Ke");function Oe(n){return(0,s.jsxs)("li",{className:"flex gap-2",children:[(0,s.jsx)("span",{className:"shrink-0 tabular-nums text-muted-foreground",children:de(n.ts)}),(0,s.jsx)(oe,{variant:"secondary",children:n.name}),(0,s.jsx)("span",{className:"min-w-0 break-all text-muted-foreground",children:Object.entries(n.attributes??{}).map(Ee).join(" ")})]},`${n.name}:${String(n.ts)}`)}m(Oe,"Ae");var Be=14,ke="grid grid-cols-[14rem_1fr_4rem_16rem_16rem] items-center gap-2 px-3",Re=m(n=>{let e=(0,B.c)(17),{traceDurationMs:t}=n,a,l,r,o,d,i;if(e[0]!==t){i=Symbol.for("react.early_return_sentinel");e:{let v=De(t);if(v.length===0){i=null;break e}e[7]===Symbol.for("react.memo_cache_sentinel")?(r=te(ke,"border-b border-border py-1 font-mono text-[10px] text-muted-foreground"),e[7]=r):r=e[7],o="tr-ruler",e[8]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsx)("span",{}),e[8]=d):d=e[8],a="relative h-3",l=v.map(ze)}e[0]=t,e[1]=a,e[2]=l,e[3]=r,e[4]=o,e[5]=d,e[6]=i}else a=e[1],l=e[2],r=e[3],o=e[4],d=e[5],i=e[6];if(i!==Symbol.for("react.early_return_sentinel"))return i;let u;e[9]!==a||e[10]!==l?(u=(0,s.jsx)("span",{className:a,children:l}),e[9]=a,e[10]=l,e[11]=u):u=e[11];let c;return e[12]!==r||e[13]!==o||e[14]!==d||e[15]!==u?(c=(0,s.jsxs)("div",{className:r,"data-testid":o,children:[d,u]}),e[12]=r,e[13]=o,e[14]=d,e[15]=u,e[16]=c):c=e[16],c},"Re"),We=m(n=>{let e=(0,B.c)(60),{span:t,traceDurationMs:a}=n,l=U(),[r,o]=(0,O.useState)(!1),d;e[0]!==t||e[1]!==a?(d=Pe(t,a),e[0]=t,e[1]=a,e[2]=d):d=e[2];let{leftPercent:i,widthPercent:u}=d,c;e[3]!==t.attributes?(c=Ne(t.attributes),e[3]=t.attributes,e[4]=c):c=e[4];let v=c,$=t.depth*Be,_;e[5]!==$?(_={paddingLeft:$},e[5]=$,e[6]=_):_=e[6];let y=_,w=`${String(i)}%`,M=`${String(u)}%`,p;e[7]!==w||e[8]!==M?(p={left:w,width:M},e[7]=w,e[8]=M,e[9]=p):p=e[9];let h=p,b;e[10]===Symbol.for("react.memo_cache_sentinel")?(b=m(()=>{o(Je)},"h"),e[10]=b):b=e[10];let C=b,S=t.depth,I=`tr-span-detail-${t.spanId}`,g;e[11]!==t.durationMs||e[12]!==t.error||e[13]!==t.name||e[14]!==t.offsetMs||e[15]!==l?(g=l("{name}, {duration}, starts {offset} in{failure}",{duration:G(t.durationMs),failure:t.error===void 0?"":l(", failed: {message}",{message:t.error.message}),name:t.name,offset:G(t.offsetMs)}),e[11]=t.durationMs,e[12]=t.error,e[13]=t.name,e[14]=t.offsetMs,e[15]=l,e[16]=g):g=e[16];let x;e[17]===Symbol.for("react.memo_cache_sentinel")?(x=te(ke,"w-full border-b border-border py-1.5 text-left font-mono text-xs hover:bg-muted/50"),e[17]=x):x=e[17];let k=`tr-span-toggle-${t.spanId}`,f;e[18]!==t.ok?(f=t.ok?null:(0,s.jsx)("span",{"aria-hidden":"true",className:"mr-1 text-destructive","data-testid":"tr-span-error",children:"\u25CF"}),e[18]=t.ok,e[19]=f):f=e[19];let N;e[20]!==y||e[21]!==t.name||e[22]!==f?(N=(0,s.jsxs)("span",{className:"truncate",style:y,title:t.name,children:[f,t.name]}),e[20]=y,e[21]=t.name,e[22]=f,e[23]=N):N=e[23];let R=t.ok?"bg-primary/70":"bg-destructive",L;e[24]!==R?(L=te("absolute inset-y-0 rounded-sm",R),e[24]=R,e[25]=L):L=e[25];let E;e[26]!==h||e[27]!==i||e[28]!==L||e[29]!==u?(E=(0,s.jsx)("span",{"aria-hidden":"true",className:"relative h-3 overflow-hidden rounded-sm bg-muted",children:(0,s.jsx)("span",{className:L,"data-left":i,"data-testid":"tr-span-bar","data-width":u,style:h})}),e[26]=h,e[27]=i,e[28]=L,e[29]=u,e[30]=E):E=e[30];let W;e[31]!==t.durationMs?(W=G(t.durationMs),e[31]=t.durationMs,e[32]=W):W=e[32];let D;e[33]!==W?(D=(0,s.jsx)("span",{className:"text-right tabular-nums text-muted-foreground",children:W}),e[33]=W,e[34]=D):D=e[34];let q;e[35]!==t.error?(q=t.error===void 0?null:(0,s.jsx)("span",{className:"text-destructive","data-testid":"tr-span-error-message",title:t.error.message,children:`${t.error.type}: ${t.error.message}`}),e[35]=t.error,e[36]=q):q=e[36];let T;e[37]!==q?(T=(0,s.jsx)("span",{className:"truncate text-muted-foreground",children:q}),e[37]=q,e[38]=T):T=e[38];let z;e[39]!==v?(z=v===""?null:(0,s.jsx)("span",{"data-testid":"tr-span-attributes",title:v,children:v}),e[39]=v,e[40]=z):z=e[40];let P;e[41]!==z?(P=(0,s.jsx)("span",{className:"truncate text-muted-foreground",children:z}),e[41]=z,e[42]=P):P=e[42];let J;e[43]!==r||e[44]!==I||e[45]!==g||e[46]!==k||e[47]!==N||e[48]!==E||e[49]!==D||e[50]!==T||e[51]!==P?(J=(0,s.jsxs)("button",{"aria-controls":I,"aria-expanded":r,"aria-label":g,className:x,"data-testid":k,onClick:C,type:"button",children:[N,E,D,T,P]}),e[43]=r,e[44]=I,e[45]=g,e[46]=k,e[47]=N,e[48]=E,e[49]=D,e[50]=T,e[51]=P,e[52]=J):J=e[52];let F;e[53]!==r||e[54]!==t?(F=r&&(0,s.jsx)("div",{id:`tr-span-detail-${t.spanId}`,children:(0,s.jsx)(Fe,{span:t})}),e[53]=r,e[54]=t,e[55]=F):F=e[55];let K;return e[56]!==t.depth||e[57]!==J||e[58]!==F?(K=(0,s.jsxs)("li",{"data-depth":S,"data-testid":"tr-span-row",children:[J,F]}),e[56]=t.depth,e[57]=J,e[58]=F,e[59]=K):K=e[59],K},"Be"),qe=m(n=>{let e=(0,B.c)(15),{durationMs:t,spans:a}=n,l=U(),r;e[0]!==t?(r=(0,s.jsx)(Re,{traceDurationMs:t}),e[0]=t,e[1]=r):r=e[1];let o;e[2]!==l?(o=l("Trace waterfall"),e[2]=l,e[3]=o):o=e[3];let d;if(e[4]!==t||e[5]!==a){let c;e[7]!==t?(c=m(v=>(0,s.jsx)(We,{span:v,traceDurationMs:t},v.spanId),"c"),e[7]=t,e[8]=c):c=e[8],d=a.map(c),e[4]=t,e[5]=a,e[6]=d}else d=e[6];let i;e[9]!==o||e[10]!==d?(i=(0,s.jsx)("ul",{"aria-label":o,children:d}),e[9]=o,e[10]=d,e[11]=i):i=e[11];let u;return e[12]!==r||e[13]!==i?(u=(0,s.jsxs)(s.Fragment,{children:[r,i]}),e[12]=r,e[13]=i,e[14]=u):u=e[14],u},"Oe");function ze(n){return(0,s.jsx)("span",{className:te("absolute inset-y-0 border-l border-border/70",n.percent===100?"-translate-x-full pr-1":"pl-1"),style:{left:`${String(n.percent)}%`},children:n.label},n.percent)}m(ze,"je");function Je(n){return!n}m(Je,"We");var Ue=m(n=>Array.isArray(n?.traces)?n.traces:[],"Ue"),Ge=m(n=>{let e=(0,B.c)(12),{entries:t}=n,a=U(),l;e[0]!==t.length||e[1]!==a?(l=a("Logs ({count})",{count:t.length}),e[0]=t.length,e[1]=a,e[2]=l):l=e[2];let r;e[3]!==l?(r=(0,s.jsx)("p",{className:"mb-1 font-mono text-xs text-muted-foreground",children:l}),e[3]=l,e[4]=r):r=e[4];let o;e[5]!==t?(o=t.map(Qe),e[5]=t,e[6]=o):o=e[6];let d;e[7]!==o?(d=(0,s.jsx)("div",{role:"grid",children:o}),e[7]=o,e[8]=d):d=e[8];let i;return e[9]!==r||e[10]!==d?(i=(0,s.jsxs)("div",{className:"border-t border-border px-3 py-2","data-testid":"tr-logs",children:[r,d]}),e[9]=r,e[10]=d,e[11]=i):i=e[11],i},"qe"),He=m(n=>{let e=(0,B.c)(50),{expanded:t,logs:a,onToggle:l,trace:r}=n,o=U(),d;e[0]!==l||e[1]!==r.traceId?(d=m(()=>{l(r.traceId)},"i"),e[0]=l,e[1]=r.traceId,e[2]=d):d=e[2];let i=d,u=`tr-row-${r.traceId}`,c=`tr-waterfall-${r.traceId}`,v=`tr-toggle-${r.traceId}`,$=t?"\u25BE":"\u25B8",_;e[3]!==$?(_=(0,s.jsx)("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-xs text-muted-foreground",children:$}),e[3]=$,e[4]=_):_=e[4];let y;e[5]!==r.rootName?(y=(0,s.jsx)("span",{className:"w-56 shrink-0 truncate text-sm font-medium",title:r.rootName,children:r.rootName}),e[5]=r.rootName,e[6]=y):y=e[6];let w;e[7]!==r.functionPath?(w=(0,s.jsx)("span",{className:"w-48 shrink-0 truncate font-mono text-xs text-muted-foreground",title:r.functionPath,children:r.functionPath}),e[7]=r.functionPath,e[8]=w):w=e[8];let M;e[9]!==r.durationMs?(M=G(r.durationMs),e[9]=r.durationMs,e[10]=M):M=e[10];let p;e[11]!==M?(p=(0,s.jsx)("span",{className:"w-20 shrink-0 text-right font-mono text-xs tabular-nums text-muted-foreground",children:M}),e[11]=M,e[12]=p):p=e[12];let h;e[13]!==o||e[14]!==r.spans.length?(h=o("{count} spans",{count:r.spans.length}),e[13]=o,e[14]=r.spans.length,e[15]=h):h=e[15];let b;e[16]!==h?(b=(0,s.jsx)("span",{className:"w-20 shrink-0 text-right font-mono text-xs tabular-nums text-muted-foreground",children:h}),e[16]=h,e[17]=b):b=e[17];let C=r.ok?"secondary":"destructive",S;e[18]!==o||e[19]!==r.ok?(S=r.ok?o("ok"):o("error"),e[18]=o,e[19]=r.ok,e[20]=S):S=e[20];let I;e[21]!==C||e[22]!==S?(I=(0,s.jsx)("span",{className:"shrink-0",children:(0,s.jsx)(oe,{variant:C,children:S})}),e[21]=C,e[22]=S,e[23]=I):I=e[23];let g;e[24]!==r.startTs?(g=de(r.startTs),e[24]=r.startTs,e[25]=g):g=e[25];let x;e[26]!==g?(x=(0,s.jsx)("span",{className:"flex-1 truncate text-right font-mono text-xs tabular-nums text-muted-foreground",children:g}),e[26]=g,e[27]=x):x=e[27];let k;e[28]!==t||e[29]!==i||e[30]!==p||e[31]!==b||e[32]!==I||e[33]!==x||e[34]!==c||e[35]!==v||e[36]!==_||e[37]!==y||e[38]!==w?(k=(0,s.jsxs)("button",{"aria-controls":c,"aria-expanded":t,className:"flex w-full items-center gap-3 px-3 py-2 text-left hover:bg-muted/50","data-testid":v,onClick:i,type:"button",children:[_,y,w,p,b,I,x]}),e[28]=t,e[29]=i,e[30]=p,e[31]=b,e[32]=I,e[33]=x,e[34]=c,e[35]=v,e[36]=_,e[37]=y,e[38]=w,e[39]=k):k=e[39];let f;e[40]!==t||e[41]!==a||e[42]!==r.durationMs||e[43]!==r.spans||e[44]!==r.traceId?(f=t&&(0,s.jsxs)("div",{className:"bg-muted/20","data-testid":`tr-waterfall-${r.traceId}`,id:`tr-waterfall-${r.traceId}`,children:[(0,s.jsx)(qe,{durationMs:r.durationMs,spans:r.spans}),a.length>0&&(0,s.jsx)(Ge,{entries:a})]}),e[40]=t,e[41]=a,e[42]=r.durationMs,e[43]=r.spans,e[44]=r.traceId,e[45]=f):f=e[45];let N;return e[46]!==k||e[47]!==f||e[48]!==u?(N=(0,s.jsxs)("div",{className:"border-b border-border last:border-b-0","data-testid":u,children:[k,f]}),e[46]=k,e[47]=f,e[48]=u,e[49]=N):N=e[49],N},"ze"),ft=m(n=>{let e=(0,B.c)(58),{initialShardKey:t}=n,a=U(),[l]=(0,O.useState)(ve),{queryShardKey:r,setShardKey:o,shardKey:d}=fe(l?.shardKey!==void 0&&l.shardKey!==""?l.shardKey:t??""),[i,u]=(0,O.useState)(l?.traceId??""),[c,v]=(0,O.useState)(!1),[$,_]=(0,O.useState)(Ae),y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y=[],e[0]=y):y=e[0],(0,O.useEffect)(Ve,y);let w;e[1]===Symbol.for("react.memo_cache_sentinel")?(w={},e[1]=w):w=e[1];let M;e[2]!==r?(M={live:!0,shardKey:r},e[2]=r,e[3]=M):M=e[3];let{data:p,error:h,errorSource:b,isLoading:C,liveError:S}=ie(ce.getTraces,w,M),I;e[4]===Symbol.for("react.memo_cache_sentinel")?(I={},e[4]=I):I=e[4];let g=$.size>0,x;e[5]!==r||e[6]!==g?(x={enabled:g,live:!0,shardKey:r},e[5]=r,e[6]=g,e[7]=x):x=e[7];let{data:k}=ie(ce.getLogs,I,x),f,N;e[8]!==p||e[9]!==r?(f=m(()=>{p!==void 0&&pe(r)},"p"),N=[p,r],e[8]=p,e[9]=r,e[10]=f,e[11]=N):(f=e[10],N=e[11]),(0,O.useEffect)(f,N);let R;if(e[12]!==p||e[13]!==h||e[14]!==b||e[15]!==$||e[16]!==C||e[17]!==S||e[18]!==k?.entries||e[19]!==c||e[20]!==i||e[21]!==o||e[22]!==d||e[23]!==a){let L=Ue(p),E=p?.total??L.length,W=E>L.length,D=Ke(L,i,c),q=Map.groupBy((k?.entries??[]).toReversed(),Xe),T;e[25]===Symbol.for("react.memo_cache_sentinel")?(T=m(j=>{u(j.target.value)},"C"),e[25]=T):T=e[25];let z=T,P;e[26]===Symbol.for("react.memo_cache_sentinel")?(P=m(j=>{_(_e=>{let ne=new Set(_e);return ne.has(j)?ne.delete(j):ne.add(j),ne})},"E"),e[26]=P):P=e[26];let J=P,F=h===null&&D.length===0&&!C,K;e[27]!==o||e[28]!==d?(K=(0,s.jsx)(he,{onChange:o,testId:"tr-shard-input",value:d}),e[27]=o,e[28]=d,e[29]=K):K=e[29];let H;e[30]!==a?(H=a("Search traces"),e[30]=a,e[31]=H):H=e[31];let Q;e[32]!==a?(Q=a("search trace, span, or function"),e[32]=a,e[33]=Q):Q=e[33];let A;e[34]!==i||e[35]!==H||e[36]!==Q?(A=(0,s.jsx)(me,{"aria-label":H,className:"h-8 w-56","data-testid":"tr-search",onChange:z,placeholder:Q,value:i}),e[34]=i,e[35]=H,e[36]=Q,e[37]=A):A=e[37];let V;e[38]!==c?(V=(0,s.jsx)(ge,{checked:c,"data-testid":"tr-only-errors",id:"tr-only-errors",onCheckedChange:v}),e[38]=c,e[39]=V):V=e[39];let X;e[40]!==a?(X=a("Errors only"),e[40]=a,e[41]=X):X=e[41];let Y;e[42]!==V||e[43]!==X?(Y=(0,s.jsxs)("label",{className:"flex items-center gap-2 text-xs text-muted-foreground",htmlFor:"tr-only-errors",children:[V,X]}),e[42]=V,e[43]=X,e[44]=Y):Y=e[44];let Z;e[45]!==S?(Z=(0,s.jsx)(xe,{message:S,prefix:"tr"}),e[45]=S,e[46]=Z):Z=e[46];let re;e[47]!==K||e[48]!==A||e[49]!==Y||e[50]!==Z?(re=(0,s.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[K,A,Y,Z]}),e[47]=K,e[48]=A,e[49]=Y,e[50]=Z,e[51]=re):re=e[51];let ae;e[52]!==h||e[53]!==b?(ae=h!==null&&(0,s.jsx)(be,{error:b,testId:"tr-error"}),e[52]=h,e[53]=b,e[54]=ae):ae=e[54];let se;e[55]!==F||e[56]!==a?(se=F&&(0,s.jsx)(ue,{description:a("Traces recorded with ctx.trace show up here as your app handles traffic. The span buffer resets when the shard hibernates."),icon:(0,s.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,s.jsx)("path",{d:"M4 6h10M7 12h13M10 18h7"})}),testId:"tr-empty",title:a("No traces")}),e[55]=F,e[56]=a,e[57]=se):se=e[57],R=(0,s.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-traces-panel",children:[re,ae,se,h===null&&W&&(0,s.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"tr-truncated",children:a("Showing the {shown} most recent of {total} traces in the buffer.",{shown:L.length,total:E})}),h===null&&D.length>0&&(0,s.jsx)("div",{"aria-label":a("Recent traces"),className:"overflow-hidden rounded-xl border border-border shadow-xs","data-testid":"tr-list",children:D.map(j=>(0,s.jsx)(He,{expanded:$.has(j.traceId),logs:q.get(j.traceId)??[],onToggle:J,trace:j},j.traceId))})]}),e[12]=p,e[13]=h,e[14]=b,e[15]=$,e[16]=C,e[17]=S,e[18]=k?.entries,e[19]=c,e[20]=i,e[21]=o,e[22]=d,e[23]=a,e[24]=R}else R=e[24];return R},"gt");function Qe(n,e){return(0,s.jsx)("div",{className:"flex items-center border-b border-border py-1 font-mono text-xs last:border-b-0","data-testid":"tr-log-row",role:"row",children:(0,s.jsx)(we,{entry:n})},`${String(e)}:${String(n.timestamp)}`)}m(Qe,"Ge");function Ae(){return new Set}m(Ae,"He");function Ve(){ye()}m(Ve,"Je");function Xe(n){return n.traceId}m(Xe,"Qe");export{ft as default};
@@ -0,0 +1 @@
1
+ import{a as n}from"./chunk-R5ZTCHCE.js";var r=n(t=>{if(typeof t=="string")return t;try{return JSON.stringify(t)??String(t)}catch{return String(t)}},"i"),o=n(t=>typeof t!="object"||t===null||Array.isArray(t)?"":Object.entries(t).map(([e,i])=>`${e}=${r(i)}`).join(" "),"o");export{o as a};
@@ -0,0 +1,6 @@
1
+ import{a as Ze}from"./chunk-FSWPREH3.js";import{a as Je,b as Ve}from"./chunk-YS7HEZC2.js";import{a as Xe}from"./chunk-GZMBMNL3.js";import"./chunk-AECDJKXB.js";import"./chunk-CN2AINNY.js";import"./chunk-CP4ZFBVW.js";import"./chunk-5JLIP2HH.js";import"./chunk-EDHW2EEG.js";import"./chunk-ZSOLGJFC.js";import"./chunk-DUDQV6XJ.js";import{a as Ge}from"./chunk-M3NNNOD5.js";import"./chunk-VZCS5GXZ.js";import"./chunk-DKSLOJDQ.js";import"./chunk-APRVSWBH.js";import"./chunk-JV7KTJPY.js";import"./chunk-DPNEFSEC.js";import"./chunk-OG57FC7W.js";import{a as Qe}from"./chunk-6FWN26RH.js";import{b as ze}from"./chunk-P52BY657.js";import{d as Ce,e as Oe,f as Me}from"./chunk-VNTEQQPP.js";import{P as We}from"./chunk-AOAJGSYZ.js";import"./chunk-INQICZYC.js";import"./chunk-TFMQSCGC.js";import"./chunk-BWEXJENB.js";import"./chunk-74ASA4WU.js";import"./chunk-XQS7KSHL.js";import"./chunk-7PIHTTND.js";import{a as Pe}from"./chunk-PZ4QDWTI.js";import{a as we}from"./chunk-VDW32UET.js";import"./chunk-YUWMB6EV.js";import{f as ke}from"./chunk-TBXK3FKP.js";import"./chunk-RCZTUWG3.js";import{a as He,b as je,c as Ke,d as Ae,e as Ue,f as Ye}from"./chunk-L4EZAHCD.js";import{d as oe,f as ve,g as ye,h as Ee,o as ie}from"./chunk-6ZPTNC34.js";import"./chunk-VYW2PAWC.js";import{a as i,d as _e,e as dt,f as ut,g as mt,i as ue}from"./chunk-R5ZTCHCE.js";var K=_e(ut(),1);var z=_e(dt(),1);var c=_e(mt(),1);var ht=["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"],ft=["FROM","WHERE","ORDER BY","GROUP BY","HAVING","LIMIT","OFFSET","UNION","JOIN","LEFT JOIN","RIGHT JOIN","INNER JOIN","OUTER JOIN","CROSS JOIN"],Te=String.fromCodePoint(0),pt=new RegExp(`${Te}${String.raw`(\d+)`}${Te}`,"gu"),bt=ht.map(s=>({pattern:new RegExp(String.raw`\b${s.replaceAll(" ",String.raw`\s+`)}\b`,"giu"),replacement:s})),gt=ft.map(s=>({pattern:new RegExp(String.raw`\s+${s.replaceAll(" ",String.raw`\s+`)}\b`,"gu"),replacement:`
2
+ ${s}`})),xt=i(s=>{let e=[],t=s.replaceAll(/'(?:[^']|'')*'/gu,n=>(e.push(n),`${Te}${(e.length-1).toString()}${Te}`)).replaceAll(/\s+/gu," ").trim();for(let{pattern:n,replacement:r}of bt)t=t.replaceAll(n,r);for(let{pattern:n,replacement:r}of gt)t=t.replaceAll(n,r);return t=t.replaceAll(pt,(n,r)=>e[Number(r)]??""),t},"vt"),vt=/^(?:explain\s+(?:query\s+plan\s+)?)?(?:select|with)\b/iu,yt=/\b(?:alter|attach|create|delete|detach|drop|insert|pragma|reindex|replace|truncate|update|vacuum)\b/iu,wt=/^\w+/u,St=/;\s*$/u,Nt=/\s/u,kt=i((s,e)=>{let t=e+2;for(;t<s.length&&s[t]!==`
3
+ `;)t+=1;return t},"kt"),Ct=i((s,e)=>{let t=s.indexOf("*/",e+2);return t===-1?-1:t+2},"Et"),qt=i(s=>{let e=0;for(;e<s.length;){let t=s[e];if(t!==void 0&&Nt.test(t))e+=1;else if(t==="-"&&s[e+1]==="-")e=kt(s,e);else if(t==="/"&&s[e+1]==="*"){let n=Ct(s,e);if(n===-1)break;e=n}else break}return e},"Rt"),It=i(s=>{let e=qt(s),t=s.slice(e).trimEnd();if(t==="")return{code:"SQL_EMPTY",message:"the query is empty"};let n=t.replace(St,""),r=n.indexOf(";");if(r!==-1)return{code:"SQL_MULTIPLE_STATEMENTS",length:1,message:"only a single statement may be run",offset:e+r};let o="the SQL editor is read-only \u2014 only SELECT / WITH / EXPLAIN queries are allowed";if(!vt.test(n))return{code:"SQL_NOT_READONLY",length:wt.exec(n)?.[0].length??1,message:o,offset:e};let l=yt.exec(n);if(l!==null)return{code:"SQL_NOT_READONLY",length:l[0].length,message:`${o} (\`${l[0].toUpperCase()}\` is not allowed)`,offset:e+l.index}},"Lt"),Tt=/\b(?:from|join)\s+([a-z_][\w$]*)(?:\s+(?:as\s+)?([a-z_][\w$]*))?/giu,Rt=/(?:\bwith\s+(?:recursive\s+)?|,\s*)([a-z_][\w$]*)\s+as\s*\(/giu,Lt=new Set(["cross","full","group","having","inner","join","left","limit","offset","on","order","right","union","using","where","window"]),_t=/[^\n]/gu,Et=i((s,e)=>{let t=s[e];if(t==="'"){let n=e+1;for(;n<s.length&&s[n]!=="'";)n+=1;return Math.min(n+1,s.length)}if(t==="-"&&s[e+1]==="-"){let n=s.indexOf(`
4
+ `,e);return n===-1?s.length:n}if(t==="/"&&s[e+1]==="*"){let n=s.indexOf("*/",e+2);return n===-1?s.length:n+2}return-1},"Ot"),Ot=i(s=>{let e="",t=0;for(;t<s.length;){let n=Et(s,t);n===-1?(e+=s.slice(t,t+1),t+=1):(e+=s.slice(t,n).replaceAll(_t," "),t=n)}return e},"Dt"),Mt=i(s=>{let e=new Set;for(let t of s.matchAll(Rt))e.add((t[1]??"").toLowerCase());return e},"Mt"),At=i((s,e)=>{let t=new Map;for(let n of s.matchAll(Tt)){let r=(n[1]??"").toLowerCase(),o=(n[2]??"").toLowerCase();e.has(r)&&(t.set(r,r),o!==""&&!Lt.has(o)&&t.set(o,r))}return t},"$t"),ot=i((s,e)=>{let t=Ot(s),n=new Set(e.map(r=>r.toLowerCase()));return{ctes:Mt(t),masked:t,targets:At(t,n)}},"Ye"),Dt=/^(?:__lunora|sqlite_)/iu,$t=/\b(?:from|join)\s+([a-z_][\w$]*)/giu,Bt=/\b([a-z_][\w$]*)\.([a-z_][\w$]*)/giu,Ft=new Set(["cross","full","group","having","inner","join","lateral","left","limit","offset","order","right","select","union","where","window"]),Wt=i((s,e,t)=>{let n=[];for(let r of s.matchAll($t)){let o=r[1]??"",l=o.toLowerCase();!e.has(l)&&!t.has(l)&&!Ft.has(l)&&!Dt.test(o)&&n.push({length:o.length,message:`unknown table \`${o}\``,offset:r.index+r[0].length-o.length,severity:"error",source:"schema"})}return n},"Ft"),zt=i((s,e,t)=>{let n=[],r=new Map;for(let[o,l]of Object.entries(e.columns))r.set(o.toLowerCase(),new Set(l.map(m=>m.toLowerCase())));for(let o of s.matchAll(Bt)){let l=(o[1]??"").toLowerCase(),m=o[2]??"",a=t.get(l),d=a===void 0?void 0:r.get(a);d!==void 0&&!d.has(m.toLowerCase())&&n.push({length:m.length,message:`\`${a??""}\` has no column \`${m}\``,offset:o.index+o[0].length-m.length,severity:"error",source:"schema"})}return n},"Qt"),Qt=i((s,e)=>{if(s.trim()==="")return[];let t=It(s);if(t!==void 0)return t.code==="SQL_EMPTY"?[]:[{length:t.length,message:t.message,offset:t.offset,severity:"error",source:"gate"}];let{ctes:n,masked:r,targets:o}=ot(s,e.tables),l=new Set(e.tables.map(m=>m.toLowerCase()));return[...Wt(r,l,n),...zt(r,e,o)]},"zt"),Pt=ve(we.lintSql),Ht=600,jt=i((s,e,t)=>{let n=ke(),[r,o]=(0,z.useState)([]),l=(0,z.useMemo)(()=>Qt(s,e),[s,e]),m=Ge(s,Ht),a=l.some(p=>p.source==="gate")||m.trim()==="",d=(0,z.useCallback)(async p=>{try{let b=await n.query(Pt,{sql:m},ye(t));p.cancelled||o(b.diagnostics??[])}catch{p.cancelled||o([])}},[n,m,t]);(0,z.useEffect)(()=>{if(a){o([]);return}let p={cancelled:!1};return ie(d(p)),()=>{p.cancelled=!0}},[d,a]);let f=m===s;return(0,z.useMemo)(()=>f?[...l,...r]:l,[l,r,f])},"jt"),qe=8,Kt=["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"],Ut=new Set(["AND","BY","HAVING","ON","OR","SELECT","WHERE"]),Yt=/[\w$]/,rt=i(s=>s!==void 0&&Yt.test(s),"je"),st=i(s=>{let e=s.length;for(;e>0&&rt(s[e-1]);)e-=1;return s.slice(e)},"Ke"),lt=i((s,e)=>{let t=e;for(;t>0&&rt(s[t-1]);)t-=1;return{end:e,start:t,text:s.slice(t,e)}},"Ge"),et=i((s,e)=>{let t=s.slice(0,e).trimEnd();return t.endsWith(".")||Ut.has(st(t).toUpperCase())},"We"),Gt=i((s,e,t)=>{let n=s.slice(0,e);if(!n.endsWith("."))return;let r=st(n.slice(0,-1));if(r!=="")return ot(s,t).targets.get(r.toLowerCase())??r},"Jt"),$e=i((s,e)=>s.toLowerCase().startsWith(e.toLowerCase()),"De"),tt=i((s,e,t,n)=>{let r=[];for(let o of s)if($e(o,e)&&(r.push(n(o)),r.length>=t))break;return r},"Fe"),Jt=i((s,e,t)=>{let n=new Map;for(let[r,o]of Object.entries(s.columns))for(let l of o)if($e(l,e)&&!n.has(l)&&(n.set(l,r),n.size>=t))return[...n].map(([m,a])=>({detail:a,kind:"column",label:m}));return[...n].map(([r,o])=>({detail:o,kind:"column",label:r}))},"Xt"),Vt=i((s,e,t)=>{let n=lt(s,e),r=Gt(s,n.start,t.tables);if(r!==void 0){let a=t.columns[r]??t.columns[r.toLowerCase()]??[];return tt(a,n.text,qe,d=>({detail:r,kind:"column",label:d}))}if(n.text===""&&!et(s,n.start))return[];let o=tt(t.tables,n.text,qe,a=>({kind:"table",label:a})),l=Jt(t,n.text,qe),m=Kt.flatMap(a=>n.text!==""&&$e(a,n.text)&&a.toLowerCase()!==n.text.toLowerCase()?[{kind:"keyword",label:a}]:[]);return(et(s,n.start)?[...l,...o,...m]:[...o,...l,...m]).slice(0,qe)},"Zt"),Xt=i((s,e,t)=>{let n=lt(s,e),r=s.slice(0,n.start)+t.label+s.slice(n.end);return{caret:n.start+t.label.length,value:r}},"en"),Zt=["boxSizing","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","paddingBottom","paddingLeft","paddingRight","paddingTop","tabSize","textIndent","textTransform","width","wordSpacing"],en=i((s,e)=>{let t=globalThis.getComputedStyle(s),n=globalThis.document.createElement("div"),{style:r}=n;r.position="absolute",r.visibility="hidden",r.whiteSpace="pre-wrap",r.overflowWrap="break-word";for(let a of Zt)r[a]=t[a];n.textContent=s.value.slice(0,Math.max(0,e));let o=globalThis.document.createElement("span");o.textContent=s.value.slice(Math.max(0,e))||".",n.append(o),globalThis.document.body.append(n);let l=o.offsetLeft-s.scrollLeft,m=o.offsetTop-s.scrollTop;return n.remove(),{left:l,top:m}},"nn"),tn=i((s,e,t)=>{let n=(0,K.c)(16),[r,o]=(0,z.useState)(null),l;n[0]!==s||n[1]!==e?(l=i((w,g)=>{let h=Vt(w,g,s);if(h.length===0){o(null);return}let S=e.current,{left:k,top:N}=S===null?{left:0,top:0}:en(S,g);o(C=>C!==null&&C.active===0&&C.left===k&&C.top===N&&C.suggestions.length===h.length&&C.suggestions.every((L,R)=>{let _=h.at(R);return L.kind===_?.kind&&L.label===_.label&&L.detail===_.detail})?C:{active:0,left:k,suggestions:h,top:N})},"r"),n[0]=s,n[1]=e,n[2]=l):l=n[2];let m=l,a;n[3]===Symbol.for("react.memo_cache_sentinel")?(a=i(()=>{o(null)},"a"),n[3]=a):a=n[3];let d=a,f;n[4]===Symbol.for("react.memo_cache_sentinel")?(f=i(w=>{o(g=>{if(g===null)return g;let h=g.suggestions.length,S=(g.active+w+h)%h;return{...g,active:S}})},"m"),n[4]=f):f=n[4];let p=f,b;n[5]!==t||n[6]!==r||n[7]!==e?(b=i(w=>{let g=e.current;if(r===null||g===null)return!1;let h=r.suggestions[w??r.active];if(h===void 0)return!1;let S=Xt(g.value,g.selectionStart,h);return t(S.value),o(null),requestAnimationFrame(()=>{let k=e.current;k!==null&&(k.focus(),k.setSelectionRange(S.caret,S.caret))}),!0},"u"),n[5]=t,n[6]=r,n[7]=e,n[8]=b):b=n[8];let v=b,u;n[9]!==v?(u=i(()=>v(),"c"),n[9]=v,n[10]=u):u=n[10];let x=u,y;return n[11]!==x||n[12]!==v||n[13]!==m||n[14]!==r?(y={close:d,commit:x,commitAt:v,move:p,refresh:m,state:r},n[11]=x,n[12]=v,n[13]=m,n[14]=r,n[15]=y):y=n[15],y},"sn"),nn={column:"column",keyword:"keyword",table:"table"},on=20,rn=i(s=>{let e=(0,K.c)(17),{listboxId:t,onPick:n,state:r}=s,o=oe(),l;e[0]!==r?(l=r===null?void 0:{left:r.left,top:r.top+on},e[0]=r,e[1]=l):l=e[1];let m=l;if(r===null)return null;let a;if(e[2]!==t||e[3]!==n||e[4]!==r.active||e[5]!==r.suggestions||e[6]!==o){let f;e[8]!==t||e[9]!==n||e[10]!==r.active||e[11]!==o?(f=i((p,b)=>(0,c.jsxs)("li",{"aria-selected":b===r.active,className:ue("flex cursor-pointer items-center gap-2 px-2 py-1 text-[13px]",b===r.active?"bg-accent text-accent-foreground":"text-foreground"),"data-testid":"sql-autocomplete-item",id:`${t}-opt-${b.toString()}`,onMouseDown:i(v=>{v.preventDefault(),n(b)},"onMouseDown"),role:"option",children:[(0,c.jsx)("span",{className:"truncate font-mono",children:p.label}),p.detail!==void 0&&(0,c.jsx)("span",{className:"ms-auto truncate text-xs text-muted-foreground",children:p.detail}),(0,c.jsx)("span",{className:"shrink-0 font-mono text-[10px] tracking-wide text-muted-foreground/70 uppercase",children:o(nn[p.kind])})]},`${p.kind}:${p.label}`),"m"),e[8]=t,e[9]=n,e[10]=r.active,e[11]=o,e[12]=f):f=e[12],a=r.suggestions.map(f),e[2]=t,e[3]=n,e[4]=r.active,e[5]=r.suggestions,e[6]=o,e[7]=a}else a=e[7];let d;return e[13]!==t||e[14]!==m||e[15]!==a?(d=(0,c.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:m,children:a}),e[13]=t,e[14]=m,e[15]=a,e[16]=d):d=e[16],d},"rn"),sn=ve(we.listTables),ln=ve(we.readTablePage),an=i(s=>{let e=(0,K.c)(16),t=ke(),n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=[],e[0]=n):n=e[0];let[r,o]=(0,z.useState)(n),l;e[1]===Symbol.for("react.memo_cache_sentinel")?(l={},e[1]=l):l=e[1];let[m,a]=(0,z.useState)(l),d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d=new Set,e[2]=d):d=e[2];let f=(0,z.useRef)(d),p,b;e[3]!==t||e[4]!==s?(p=i(()=>{let g={cancelled:!1};return ie((async()=>{try{let h=await t.query(sn,{},ye(s));g.cancelled||(o(h.map(dn)),a({}),f.current=new Set)}catch{g.cancelled||(o([]),a({}),f.current=new Set)}})()),()=>{g.cancelled=!0}},"b"),b=[t,s],e[3]=t,e[4]=s,e[5]=p,e[6]=b):(p=e[5],b=e[6]),(0,z.useEffect)(p,b);let v;e[7]!==t||e[8]!==s?(v=i(g=>{f.current.has(g)||(f.current.add(g),ie((async()=>{try{let h=await t.query(ln,{limit:1,offset:0,table:g},ye(s));a(S=>({...S,[g]:h.columns}))}catch{f.current.delete(g)}})()))},"x"),e[7]=t,e[8]=s,e[9]=v):v=e[9];let u=v,x;e[10]!==m||e[11]!==r?(x={columns:m,tables:r},e[10]=m,e[11]=r,e[12]=x):x=e[12];let y=x,w;return e[13]!==u||e[14]!==y?(w={probe:u,schema:y},e[13]=u,e[14]=y,e[15]=w):w=e[15],w},"dn"),De=/\b(?:from|join|update|into)\s+([a-z_][\w$]*)|\b([a-z_][\w$]*)\s*\./gi,cn=i(s=>{let e=new Set;De.lastIndex=0;let t=De.exec(s);for(;t!==null;)e.add(t[1]??t[2]),t=De.exec(s);return[...e]},"un");function dn(s){return s.name}i(dn,"fn");var un=i(s=>{let e=(0,K.c)(34),{onSubmit:t,probe:n,schema:r,setDraft:o}=s,l=(0,z.useId)(),m=(0,z.useRef)(null),a=(0,z.useRef)(null),d=(0,z.useRef)(null),f=tn(r,d,o),{close:p,commit:b,commitAt:v,move:u,refresh:x,state:y}=f,w;e[0]!==v?(w=i(T=>{v(T)},"v"),e[0]=v,e[1]=w):w=e[1];let g=w,h;e[2]!==x?(h=i(()=>{let T=d.current;T!==null&&T===document.activeElement&&x(T.value,T.selectionStart)},"h"),e[2]=x,e[3]=h):h=e[3];let S;e[4]!==x||e[5]!==r?(S=[x,r],e[4]=x,e[5]=r,e[6]=S):S=e[6],(0,z.useEffect)(h,S);let k;e[7]!==n||e[8]!==x||e[9]!==o?(k=i(T=>{let{selectionStart:B,value:P}=T.target;o(P);for(let Q of cn(P))n(Q);x(P,B)},"w"),e[7]=n,e[8]=x,e[9]=o,e[10]=k):k=e[10];let N=k,C;e[11]!==x?(C=i(T=>{let B=T.currentTarget;x(B.value,B.selectionStart)},"T"),e[11]=x,e[12]=C):C=e[12];let L=C,R;e[13]!==y||e[14]!==p||e[15]!==b||e[16]!==u||e[17]!==t?(R=i(T=>{if(y!==null){if(T.key==="ArrowDown"){T.preventDefault(),u(1);return}if(T.key==="ArrowUp"){T.preventDefault(),u(-1);return}if(T.key==="Escape"){T.preventDefault(),p();return}if((T.key==="Enter"||T.key==="Tab")&&!T.metaKey&&!T.ctrlKey&&b()){T.preventDefault();return}}(T.metaKey||T.ctrlKey)&&T.key==="Enter"&&(T.preventDefault(),t())},"R"),e[13]=y,e[14]=p,e[15]=b,e[16]=u,e[17]=t,e[18]=R):R=e[18];let _=R,q;e[19]!==p?(q=i(()=>{requestAnimationFrame(()=>{p()})},"N"),e[19]=p,e[20]=q):q=e[20];let O=q,M;e[21]===Symbol.for("react.memo_cache_sentinel")?(M=i(T=>{let{scrollLeft:B,scrollTop:P}=T.currentTarget;m.current!==null&&(m.current.scrollTop=P),a.current!==null&&(a.current.scrollTop=P,a.current.scrollLeft=B)},"O"),e[21]=M):M=e[21];let A=M,I;e[22]===Symbol.for("react.memo_cache_sentinel")?(I=i(T=>{let B=d.current;B===null||T.offset===void 0||(B.focus(),B.setSelectionRange(T.offset,T.offset+(T.length??0)))},"k"),e[22]=I):I=e[22];let E=I,D;e[23]!==N||e[24]!==O||e[25]!==_||e[26]!==L?(D={onBlur:O,onChange:N,onKeyDown:_,onScroll:A,onSelect:L},e[23]=N,e[24]=O,e[25]=_,e[26]=L,e[27]=D):D=e[27];let $;return e[28]!==y||e[29]!==p||e[30]!==l||e[31]!==g||e[32]!==D?($={autocompleteState:y,closeAutocomplete:p,handlers:D,listboxId:l,onPickSuggestion:g,editorRef:d,gutterRef:m,overlayRef:a,revealDiagnostic:E},e[28]=y,e[29]=p,e[30]=l,e[31]=g,e[32]=D,e[33]=$):$=e[33],$},"mn"),mn="lunora-studio-sql-tabs",hn="lunora-studio-sql-active-tab",Be=12,Se=i((s="",e="")=>({activeId:null,id:Me("tab"),name:e,sql:s}),"ve"),fn=i(()=>Oe(hn,""),"bn"),pn=i(s=>{let e=(0,K.c)(16),[t,n]=Ce(mn),[r,o]=fn(),[l]=(0,z.useState)(s),m,a;e[0]!==l||e[1]!==n||e[2]!==t.length?(m=i(()=>{t.length===0&&n([l])},"d"),a=[l,n,t.length],e[0]=l,e[1]=n,e[2]=t.length,e[3]=m,e[4]=a):(m=e[3],a=e[4]),(0,z.useEffect)(m,a);let d;e[5]!==l||e[6]!==t?(d=t.length===0?[l]:t,e[5]=l,e[6]=t,e[7]=d):d=e[7];let f=d,p;e[8]!==r||e[9]!==f?(p=f.some(u=>u.id===r)?r:f[0]?.id??"",e[8]=r,e[9]=f,e[10]=p):p=e[10];let b=p,v;return e[11]!==b||e[12]!==o||e[13]!==n||e[14]!==f?(v={activeId:b,setActiveId:o,setTabs:n,tabs:f},e[11]=b,e[12]=o,e[13]=n,e[14]=f,e[15]=v):v=e[15],v},"gn"),at=i(s=>s.activeId===null&&s.sql.trim()!=="","Ve"),bn=i((s,e)=>[...s,e].slice(-Be),"xn"),gn=i((s,e,t)=>{let n=s.findIndex(o=>o.id===e);if(n===-1)return{activeId:s[0]?.id??"",tabs:[...s]};let r=s.filter(o=>o.id!==e);if(r.length===0){let o=t();return{activeId:o.id,tabs:[o]}}return{activeId:r[Math.min(n,r.length-1)].id,tabs:r}},"yn"),xn=i((s,e)=>{let t=s.filter(n=>n.id===e);return t.length===0?{activeId:s[0]?.id??"",tabs:[...s]}:{activeId:e,tabs:t}},"vn"),vn=i((s,e,t)=>{let n=s.findIndex(o=>o.id===e);if(n===-1)return{activeId:t,tabs:[...s]};let r=s.slice(0,n+1);return{activeId:r.some(o=>o.id===t)?t:e,tabs:r}},"Sn"),yn=i(s=>{let e=s();return{activeId:e.id,tabs:[e]}},"wn"),wn=i((s,e,t)=>{if(s==="others")return e.filter(n=>n.id!==t);if(s==="right"){let n=e.findIndex(r=>r.id===t);return n===-1?[]:e.slice(n+1)}return[...e]},"Cn"),nt={error:null,pane:"results",result:null,running:!1},Sn=i(s=>{let e=(0,K.c)(66),{activeId:t,setActiveId:n,setTabs:r,tabs:o}=pn(s),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l={},e[0]=l):l=e[0];let[m,a]=(0,z.useState)(l),[d,f]=(0,z.useState)(null),[p,b]=(0,z.useState)(null),v;e[1]!==t||e[2]!==o?(v=o.find(W=>W.id===t)??o[0]??Se(),e[1]=t,e[2]=o,e[3]=v):v=e[3];let u=v,x=m[u.id]??nt,y;e[4]!==u.id||e[5]!==r?(y=i(W=>{r(j=>j.map(Y=>Y.id===u.id?{...Y,...W}:Y))},"y"),e[4]=u.id,e[5]=r,e[6]=y):y=e[6];let w=y,g;e[7]!==u.id?(g=i(W=>{a(j=>{let Y=j[u.id]??nt;return{...j,[u.id]:{...Y,...W}}})},"p"),e[7]=u.id,e[8]=g):g=e[8];let h=g,S;e[9]!==n||e[10]!==r||e[11]!==o.length?(S=i(()=>{if(o.length>=Be)return;let W=Se();r(j=>bn(j,W)),n(W.id)},"S"),e[9]=n,e[10]=r,e[11]=o.length,e[12]=S):S=e[12];let k=S,N;e[13]!==n||e[14]!==r?(N=i(W=>{f(null),b(null),r(W.tabs),n(W.activeId);let j=new Set(W.tabs.map(Nn));a(Y=>Object.fromEntries(Object.entries(Y).filter(ae=>{let[xe]=ae;return j.has(xe)})))},"C"),e[13]=n,e[14]=r,e[15]=N):N=e[15];let C=N,L;e[16]!==C||e[17]!==o?(L=i(W=>{C(gn(o,W,Se))},"L"),e[16]=C,e[17]=o,e[18]=L):L=e[18];let R=L,_;e[19]!==t||e[20]!==C||e[21]!==o?(_=i((W,j)=>{C(W==="others"?xn(o,j):W==="right"?vn(o,j,t):yn(Se))},"I"),e[19]=t,e[20]=C,e[21]=o,e[22]=_):_=e[22];let q=_,O;e[23]!==q||e[24]!==d||e[25]!==o?(O=i(W=>{d!==null&&(wn(W,o,d.id).some(kn)?b(W):q(W,d.id))},"_"),e[23]=q,e[24]=d,e[25]=o,e[26]=O):O=e[26];let M=O,A;e[27]===Symbol.for("react.memo_cache_sentinel")?(A=i((W,j)=>{j.preventDefault(),b(null),f({id:W,x:j.clientX,y:j.clientY})},"A"),e[27]=A):A=e[27];let I=A,E;e[28]===Symbol.for("react.memo_cache_sentinel")?(E=i(()=>{f(null),b(null)},"q"),e[28]=E):E=e[28];let D=E,$;e[29]===Symbol.for("react.memo_cache_sentinel")?($=i(W=>{W.preventDefault(),f(null),b(null)},"D"),e[29]=$):$=e[29];let T=$,B;e[30]!==M?(B=i(()=>{M("others")},"B"),e[30]=M,e[31]=B):B=e[31];let P=B,Q;e[32]!==M?(Q=i(()=>{M("right")},"W"),e[32]=M,e[33]=Q):Q=e[33];let U=Q,H;e[34]!==M?(H=i(()=>{M("all")},"Q"),e[34]=M,e[35]=H):H=e[35];let G=H,J;e[36]!==q||e[37]!==p||e[38]!==d?(J=i(()=>{d!==null&&p!==null&&q(p,d.id),b(null)},"G"),e[36]=q,e[37]=p,e[38]=d,e[39]=J):J=e[39];let F=J,V;e[40]===Symbol.for("react.memo_cache_sentinel")?(V=i(()=>{b(null)},"V"),e[40]=V):V=e[40];let re=V,X;e[41]!==d?(X=d===null?void 0:{left:d.x,top:d.y},e[41]=d,e[42]=X):X=e[42];let Z=X,ee;e[43]!==r?(ee=i(W=>{r(j=>j.map(Y=>Y.activeId===W?{...Y,activeId:null}:Y))},"Z"),e[43]=r,e[44]=ee):ee=e[44];let te=ee,ne;e[45]!==r?(ne=i((W,j)=>{r(Y=>Y.map(ae=>ae.id===W?{...ae,name:j}:ae))},"te"),e[45]=r,e[46]=ne):ne=e[46];let se=ne,ce;return e[47]!==u||e[48]!==t||e[49]!==k||e[50]!==R||e[51]!==F||e[52]!==G||e[53]!==P||e[54]!==U||e[55]!==x||e[56]!==h||e[57]!==w||e[58]!==p||e[59]!==se||e[60]!==n||e[61]!==d||e[62]!==Z||e[63]!==o||e[64]!==te?(ce={activeTab:u,activeTabId:t,addEditorTab:k,cancelBulk:re,closeEditorTab:R,closeTabMenu:D,confirmBulk:F,menuStyle:Z,onBackdropContextMenu:T,onCloseAll:G,onCloseOthers:P,onCloseToRight:U,openTabMenu:I,output:x,patchActiveOutput:h,patchActiveTab:w,pendingBulk:p,renameTab:se,setActiveTabId:n,tabMenu:d,tabs:o,unlinkQuery:te},e[47]=u,e[48]=t,e[49]=k,e[50]=R,e[51]=F,e[52]=G,e[53]=P,e[54]=U,e[55]=x,e[56]=h,e[57]=w,e[58]=p,e[59]=se,e[60]=n,e[61]=d,e[62]=Z,e[63]=o,e[64]=te,e[65]=ce):ce=e[65],ce},"Nn");function Nn(s){return s.id}i(Nn,"Tn");function kn(s){return at(s)}i(kn,"kn");var Cn="lunora-studio-sql-queries",qn="lunora-studio-sql-history",In=25,Tn=i(s=>{let e=(0,K.c)(33),{loadIntoActiveTab:t,unlinkQuery:n}=s,r=oe(),[o,l]=Ce(Cn),[m,a]=Ce(qn),[d,f]=(0,z.useState)(""),p=(0,z.useRef)(null),b;e[0]!==a?(b=i(I=>{a(E=>E[0]?.sql===I?E:[{at:Date.now(),sql:I},...E.filter(D=>D.sql!==I)].slice(0,In))},"u"),e[0]=a,e[1]=b):b=e[1];let v=b,u;e[2]!==t||e[3]!==l||e[4]!==r?(u=i(()=>{let I={id:Me("q"),name:r("Untitled query"),sql:""};l(E=>[I,...E]),t("",I.id)},"c"),e[2]=t,e[3]=l,e[4]=r,e[5]=u):u=e[5];let x=u,y;e[6]!==t||e[7]!==o?(y=i(I=>{let E=o.find(D=>D.id===I);E!==void 0&&(t(E.sql,I),p.current?.querySelector(`[data-testid="sql-query-${I}"]`)?.scrollIntoView({block:"nearest"}))},"y"),e[6]=t,e[7]=o,e[8]=y):y=e[8];let w=y,g;e[9]!==l||e[10]!==n?(g=i(I=>{l(E=>E.filter(D=>D.id!==I)),n(I)},"p"),e[9]=l,e[10]=n,e[11]=g):g=e[11];let h=g,S;e[12]!==t?(S=i(I=>{t(I.currentTarget.dataset.sql??"",null)},"S"),e[12]=t,e[13]=S):S=e[13];let k=S,N;e[14]!==t?(N=i(I=>{t(I.currentTarget.dataset.sql??"",null)},"C"),e[14]=t,e[15]=N):N=e[15];let C=N,L;e[16]!==a?(L=i(()=>{a([])},"L"),e[16]=a,e[17]=L):L=e[17];let R=L,_;e[18]===Symbol.for("react.memo_cache_sentinel")?(_=i(I=>{f(I.target.value)},"I"),e[18]=_):_=e[18];let q=_,O;e[19]!==l?(O=i((I,E)=>{l(D=>D.map($=>$.id===I?{...$,sql:E}:$))},"_"),e[19]=l,e[20]=O):O=e[20];let M=O,A;return e[21]!==R||e[22]!==h||e[23]!==m||e[24]!==C||e[25]!==k||e[26]!==x||e[27]!==o||e[28]!==v||e[29]!==d||e[30]!==w||e[31]!==M?(A={clearHistory:R,deleteQuery:h,history:m,listRef:p,loadFromHistory:C,loadTemplate:k,newQuery:x,onSearchChange:q,queries:o,recordHistory:v,search:d,selectQuery:w,updateQuerySql:M},e[21]=R,e[22]=h,e[23]=m,e[24]=C,e[25]=k,e[26]=x,e[27]=o,e[28]=v,e[29]=d,e[30]=w,e[31]=M,e[32]=A):A=e[32],A},"In"),it="p-3 font-mono text-xs leading-5 whitespace-pre-wrap break-words",Rn=i((s,e)=>{let t=[];for(let r of s){if(r.offset===void 0||r.length===void 0||r.length<=0)continue;let o=Math.max(0,Math.min(r.offset,e)),l=Math.max(o,Math.min(r.offset+r.length,e));o!==l&&t.push({end:l,severity:r.severity,start:o})}t.sort((r,o)=>r.start-o.start);let n=[];for(let r of t)r.start>=(n.at(-1)?.end??0)&&n.push(r);return n},"qn"),Ln=i(s=>s==="unsafe-response"?"The model returned a statement that is not read-only, so it was discarded.":s==="empty-response"?"The model returned nothing usable.":"The model could not be reached.","An"),_n=i(s=>{let e=(0,K.c)(51),{assistant:t,failed:n,onGenerated:r}=s,o=oe(),[l,m]=(0,z.useState)("");if(t.unavailable)return null;let a;e[0]!==t?(a=t.pending("sql"),e[0]=t,e[1]=a):a=e[1];let d=a,f;if(e[2]!==t||e[3]!==n||e[4]!==r||e[5]!==d||e[6]!==l||e[7]!==o){let p=t.reason("sql"),b;e[9]!==t||e[10]!==n||e[11]!==r||e[12]!==l?(b=i(q=>{let O=l.trim();O===""&&!q||ie((async()=>{let M=await t.generate(O===""?"fix the failing statement":O,q?n:void 0);M!==void 0&&r(M)})())},"u"),e[9]=t,e[10]=n,e[11]=r,e[12]=l,e[13]=b):b=e[13];let v=b,u;e[14]!==o?(u=o("Describe the query you want"),e[14]=o,e[15]=u):u=e[15];let x;e[16]===Symbol.for("react.memo_cache_sentinel")?(x=i(q=>{m(q.target.value)},"g"),e[16]=x):x=e[16];let y;e[17]!==v?(y=i(q=>{q.key==="Enter"&&(q.preventDefault(),v(!1))},"y"),e[17]=v,e[18]=y):y=e[18];let w;e[19]!==o?(w=o("Describe the query you want"),e[19]=o,e[20]=w):w=e[20];let g;e[21]!==d||e[22]!==l||e[23]!==u||e[24]!==y||e[25]!==w?(g=(0,c.jsx)(We,{"aria-label":u,className:"h-7 flex-1 text-xs","data-testid":"sql-assistant-prompt",disabled:d,onChange:x,onKeyDown:y,placeholder:w,value:l}),e[21]=d,e[22]=l,e[23]=u,e[24]=y,e[25]=w,e[26]=g):g=e[26];let h=d&&"opacity-60",S;e[27]!==h?(S=ue("rounded-md border border-border px-2 py-1 text-xs outline-none transition-colors hover:bg-accent focus-visible:bg-accent",h),e[27]=h,e[28]=S):S=e[28];let k;e[29]!==d||e[30]!==l?(k=d||l.trim()==="",e[29]=d,e[30]=l,e[31]=k):k=e[31];let N;e[32]!==v?(N=i(()=>{v(!1)},"C"),e[32]=v,e[33]=N):N=e[33];let C;e[34]!==d||e[35]!==o?(C=o(d?"Thinking\u2026":"Draft SQL"),e[34]=d,e[35]=o,e[36]=C):C=e[36];let L;e[37]!==S||e[38]!==k||e[39]!==N||e[40]!==C?(L=(0,c.jsx)("button",{className:S,"data-testid":"sql-assistant-generate",disabled:k,onClick:N,type:"button",children:C}),e[37]=S,e[38]=k,e[39]=N,e[40]=C,e[41]=L):L=e[41];let R;e[42]!==n||e[43]!==d||e[44]!==v||e[45]!==o?(R=n!==void 0&&(0,c.jsx)("button",{className:"rounded-md border border-border px-2 py-1 text-xs outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"sql-assistant-fix",disabled:d,onClick:i(()=>{v(!0)},"onClick"),type:"button",children:o("Fix this")}),e[42]=n,e[43]=d,e[44]=v,e[45]=o,e[46]=R):R=e[46];let _;e[47]!==L||e[48]!==R||e[49]!==g?(_=(0,c.jsxs)("div",{className:"flex items-center gap-2",children:[g,L,R]}),e[47]=L,e[48]=R,e[49]=g,e[50]=_):_=e[50],f=(0,c.jsxs)("div",{className:"flex flex-col gap-1 border-b border-border px-3 py-2","data-testid":"sql-assistant",children:[_,p!==void 0&&(0,c.jsx)("p",{className:"text-[11px] text-muted-foreground","data-testid":"sql-assistant-reason",role:"status",children:Ln(p)})]}),e[2]=t,e[3]=n,e[4]=r,e[5]=d,e[6]=l,e[7]=o,e[8]=f}else f=e[8];return f},"_n"),En=i(s=>{let e=(0,K.c)(8),{diagnostics:t,draft:n,scrollRef:r}=s,o,l;if(e[0]!==t||e[1]!==n){l=Symbol.for("react.early_return_sentinel");e:{let d=Rn(t,n.length);if(d.length===0){l=null;break e}o=[];let f=0;for(let[p,b]of d.entries())b.start>f&&o.push(n.slice(f,b.start)),o.push((0,c.jsx)("span",{className:ue("decoration-wavy underline underline-offset-4",b.severity==="error"?"decoration-destructive":"decoration-amber-500"),children:n.slice(b.start,b.end)},`${b.start.toString()}-${p.toString()}`)),f=b.end;o.push(n.slice(f))}e[0]=t,e[1]=n,e[2]=o,e[3]=l}else o=e[2],l=e[3];if(l!==Symbol.for("react.early_return_sentinel"))return l;let m;e[4]===Symbol.for("react.memo_cache_sentinel")?(m=ue("pointer-events-none absolute inset-0 overflow-hidden text-transparent",it),e[4]=m):m=e[4];let a;return e[5]!==o||e[6]!==r?(a=(0,c.jsx)("div",{"aria-hidden":"true",className:m,"data-testid":"sql-diagnostics-overlay",ref:r,children:o}),e[5]=o,e[6]=r,e[7]=a):a=e[7],a},"On"),On={gate:"read-only",plan:"plan",schema:"schema",syntax:"syntax"},Mn=i(s=>{let e=(0,K.c)(10),{diagnostics:t,onSelect:n}=s,r=oe();if(t.length===0)return null;let o;e[0]!==r?(o=r("SQL problems"),e[0]=r,e[1]=o):o=e[1];let l;if(e[2]!==t||e[3]!==n){let a;e[5]!==n?(a=i((d,f)=>(0,c.jsx)("li",{children:(0,c.jsxs)("button",{className:"flex w-full items-start gap-2 px-3 py-1 text-start text-xs outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"sql-problem",onClick:i(()=>{n(d)},"onClick"),type:"button",children:[(0,c.jsx)("span",{className:ue("mt-px shrink-0 rounded px-1 font-mono text-[10px] uppercase",d.severity==="error"?"bg-destructive/15 text-destructive":"bg-amber-500/15 text-amber-600"),children:On[d.source]}),(0,c.jsx)("span",{className:"min-w-0 text-muted-foreground",children:d.message})]})},`${d.source}-${(d.offset??f).toString()}-${f.toString()}`),"a"),e[5]=n,e[6]=a):a=e[6],l=t.map(a),e[2]=t,e[3]=n,e[4]=l}else l=e[4];let m;return e[7]!==o||e[8]!==l?(m=(0,c.jsx)("ul",{"aria-label":o,className:"max-h-24 shrink-0 overflow-y-auto border-t border-border bg-muted/30","data-testid":"sql-problems",children:l}),e[7]=o,e[8]=l,e[9]=m):m=e[9],m},"Mn"),An={minWidth:"2.75rem",paddingInline:"0.5rem"},Dn=i(s=>{let e=(0,K.c)(64),{assistant:t,autocomplete:n,diagnostics:r,draft:o,failed:l,handlers:m,editorRef:a,gutterRef:d,listboxId:f,onGenerated:p,onPickSuggestion:b,onRevealDiagnostic:v,overlayRef:u}=s,x=oe(),y,w,g,h,S,k,N,C;if(e[0]!==t||e[1]!==o||e[2]!==l||e[3]!==d||e[4]!==p){let B=o.split(`
5
+ `).length;N="flex min-h-0 min-w-0 flex-1 flex-col",e[13]!==t||e[14]!==l||e[15]!==p?(C=(0,c.jsx)(_n,{assistant:t,failed:l,onGenerated:p}),e[13]=t,e[14]=l,e[15]=p,e[16]=C):C=e[16],k="flex min-h-0 min-w-0 flex-1",y="true",w="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",g=d,h=An,S=Array.from({length:B},$n),e[0]=t,e[1]=o,e[2]=l,e[3]=d,e[4]=p,e[5]=y,e[6]=w,e[7]=g,e[8]=h,e[9]=S,e[10]=k,e[11]=N,e[12]=C}else y=e[5],w=e[6],g=e[7],h=e[8],S=e[9],k=e[10],N=e[11],C=e[12];let L;e[17]!==y||e[18]!==w||e[19]!==g||e[20]!==h||e[21]!==S?(L=(0,c.jsx)("div",{"aria-hidden":y,className:w,ref:g,style:h,children:S}),e[17]=y,e[18]=w,e[19]=g,e[20]=h,e[21]=S,e[22]=L):L=e[22];let R;e[23]!==r||e[24]!==o||e[25]!==u?(R=(0,c.jsx)(En,{diagnostics:r,draft:o,scrollRef:u}),e[23]=r,e[24]=o,e[25]=u,e[26]=R):R=e[26];let _;e[27]!==n||e[28]!==f?(_=n===null?void 0:`${f}-opt-${n.active.toString()}`,e[27]=n,e[28]=f,e[29]=_):_=e[29];let q=n===null?void 0:f,O=n!==null,M;e[30]!==x?(M=x("SQL query"),e[30]=x,e[31]=M):M=e[31];let A;e[32]!==o||e[33]!==a||e[34]!==m.onBlur||e[35]!==m.onChange||e[36]!==m.onKeyDown||e[37]!==m.onScroll||e[38]!==m.onSelect||e[39]!==_||e[40]!==q||e[41]!==O||e[42]!==M?(A=(0,c.jsx)("textarea",{"aria-activedescendant":_,"aria-autocomplete":"list","aria-controls":q,"aria-expanded":O,"aria-label":M,className:`relative size-full resize-none bg-transparent outline-none ${it}`,"data-testid":"sql-input",onBlur:m.onBlur,onChange:m.onChange,onKeyDown:m.onKeyDown,onScroll:m.onScroll,onSelect:m.onSelect,placeholder:"SELECT * FROM \u2026",ref:a,role:"combobox",spellCheck:!1,value:o}),e[32]=o,e[33]=a,e[34]=m.onBlur,e[35]=m.onChange,e[36]=m.onKeyDown,e[37]=m.onScroll,e[38]=m.onSelect,e[39]=_,e[40]=q,e[41]=O,e[42]=M,e[43]=A):A=e[43];let I;e[44]!==n||e[45]!==f||e[46]!==b?(I=(0,c.jsx)(rn,{listboxId:f,onPick:b,state:n}),e[44]=n,e[45]=f,e[46]=b,e[47]=I):I=e[47];let E;e[48]!==R||e[49]!==A||e[50]!==I?(E=(0,c.jsxs)("div",{className:"relative min-w-0 flex-1 bg-background",children:[R,A,I]}),e[48]=R,e[49]=A,e[50]=I,e[51]=E):E=e[51];let D;e[52]!==E||e[53]!==k||e[54]!==L?(D=(0,c.jsxs)("div",{className:k,children:[L,E]}),e[52]=E,e[53]=k,e[54]=L,e[55]=D):D=e[55];let $;e[56]!==r||e[57]!==v?($=(0,c.jsx)(Mn,{diagnostics:r,onSelect:v}),e[56]=r,e[57]=v,e[58]=$):$=e[58];let T;return e[59]!==D||e[60]!==$||e[61]!==N||e[62]!==C?(T=(0,c.jsxs)("div",{className:N,children:[C,D,$]}),e[59]=D,e[60]=$,e[61]=N,e[62]=C,e[63]=T):T=e[63],T},"Bn");function $n(s,e){return(0,c.jsx)("div",{children:e+1},e)}i($n,"Pn");var ct=[{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;"}],Bn=i(s=>{let e=(0,K.c)(29),{active:t,onDelete:n,onSelect:r,query:o}=s,l=oe(),m;e[0]!==r||e[1]!==o.id?(m=i(()=>{r(o.id)},"d"),e[0]=r,e[1]=o.id,e[2]=m):m=e[2];let a=m,d;e[3]!==n||e[4]!==o.id?(d=i(N=>{N.stopPropagation(),n(o.id)},"i"),e[3]=n,e[4]=o.id,e[5]=d):d=e[5];let f=d,p=t?"bg-sidebar-accent font-medium text-foreground":"text-muted-foreground",b;e[6]!==p?(b=ue("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",p),e[6]=p,e[7]=b):b=e[7];let v=`sql-query-${o.id}`,u;e[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,c.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,c.jsx)("path",{d:"M4 6h16M4 12h10M4 18h7"})}),e[8]=u):u=e[8];let x;e[9]!==o.name?(x=(0,c.jsx)("span",{className:"truncate",children:o.name}),e[9]=o.name,e[10]=x):x=e[10];let y;e[11]!==t||e[12]!==a||e[13]!==b||e[14]!==v||e[15]!==x?(y=(0,c.jsxs)("button",{"aria-pressed":t,className:b,"data-testid":v,onClick:a,type:"button",children:[u,x]}),e[11]=t,e[12]=a,e[13]=b,e[14]=v,e[15]=x,e[16]=y):y=e[16];let w;e[17]!==l?(w=l("Delete query"),e[17]=l,e[18]=w):w=e[18];let g;e[19]!==l?(g=l("Delete query"),e[19]=l,e[20]=g):g=e[20];let h;e[21]===Symbol.for("react.memo_cache_sentinel")?(h=(0,c.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,c.jsx)("path",{d:"M5 7h14M9 7V5h6v2m-1 0v12H10V7M7 7v13h10V7"})}),e[21]=h):h=e[21];let S;e[22]!==f||e[23]!==g||e[24]!==w?(S=(0,c.jsx)("button",{"aria-label":w,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:f,title:g,type:"button",children:h}),e[22]=f,e[23]=g,e[24]=w,e[25]=S):S=e[25];let k;return e[26]!==S||e[27]!==y?(k=(0,c.jsxs)("li",{className:"group/q flex items-center",children:[y,S]}),e[26]=S,e[27]=y,e[28]=k):k=e[28],k},"Hn"),Fn=i((s,e)=>{let t=e.trim().toLowerCase();return t===""?[...s]:s.filter(n=>n.name.toLowerCase().includes(t))},"Wn"),Wn=i(s=>{let e=(0,K.c)(60),{activeId:t,history:n,listRef:r,onClearHistory:o,onDelete:l,onLoadHistory:m,onLoadTemplate:a,onNew:d,onSearchChange:f,onSelect:p,queries:b,search:v}=s,u=oe(),x,y,w,g;if(e[0]!==t||e[1]!==r||e[2]!==l||e[3]!==d||e[4]!==f||e[5]!==p||e[6]!==b||e[7]!==v||e[8]!==u){let q=Fn(b,v);y="flex h-full w-64 shrink-0 flex-col border-e border-border bg-sidebar";let O;e[13]!==u?(O=u("Search queries\u2026"),e[13]=u,e[14]=O):O=e[14];let M;e[15]!==f||e[16]!==v||e[17]!==O?(M=(0,c.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:f,placeholder:O,type:"text",value:v}),e[15]=f,e[16]=v,e[17]=O,e[18]=M):M=e[18];let A;e[19]!==u?(A=u("New query"),e[19]=u,e[20]=A):A=e[20];let I;e[21]!==u?(I=u("New query"),e[21]=u,e[22]=I):I=e[22];let E;e[23]===Symbol.for("react.memo_cache_sentinel")?(E=(0,c.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,c.jsx)("path",{d:"M12 5v14M5 12h14"})}),e[23]=E):E=e[23];let D;e[24]!==d||e[25]!==A||e[26]!==I?(D=(0,c.jsx)("button",{"aria-label":A,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:d,title:I,type:"button",children:E}),e[24]=d,e[25]=A,e[26]=I,e[27]=D):D=e[27],e[28]!==D||e[29]!==M?(w=(0,c.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border p-2",children:[M,D]}),e[28]=D,e[29]=M,e[30]=w):w=e[30],x="flex flex-1 flex-col gap-4 overflow-y-auto p-2";let $;e[31]!==u?($=u("Private"),e[31]=u,e[32]=$):$=e[32];let T;e[33]!==$?(T=(0,c.jsx)("p",{className:"px-1 pb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:$}),e[33]=$,e[34]=T):T=e[34],g=(0,c.jsxs)("div",{children:[T,q.length===0?(0,c.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,c.jsx)("ul",{className:"flex flex-col gap-px","data-testid":"sql-private",ref:r,children:q.map(B=>(0,c.jsx)(Bn,{active:t===B.id,onDelete:l,onSelect:p,query:B},B.id))})]}),e[0]=t,e[1]=r,e[2]=l,e[3]=d,e[4]=f,e[5]=p,e[6]=b,e[7]=v,e[8]=u,e[9]=x,e[10]=y,e[11]=w,e[12]=g}else x=e[9],y=e[10],w=e[11],g=e[12];let h;e[35]!==u?(h=u("Reference"),e[35]=u,e[36]=h):h=e[36];let S;e[37]!==h?(S=(0,c.jsx)("p",{className:"px-1 pb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:h}),e[37]=h,e[38]=S):S=e[38];let k;e[39]!==a?(k=ct.map(q=>(0,c.jsx)("li",{children:(0,c.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":q.sql,onClick:a,type:"button",children:[(0,c.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,c.jsx)("path",{d:"M7 4h7l4 4v12H7zM14 4v4h4"})}),q.label]})},q.label)),e[39]=a,e[40]=k):k=e[40];let N;e[41]!==k?(N=(0,c.jsx)("ul",{className:"flex flex-col gap-px",children:k}),e[41]=k,e[42]=N):N=e[42];let C;e[43]!==S||e[44]!==N?(C=(0,c.jsxs)("div",{children:[S,N]}),e[43]=S,e[44]=N,e[45]=C):C=e[45];let L;e[46]!==n||e[47]!==o||e[48]!==m||e[49]!==u?(L=n.length>0&&(0,c.jsxs)("div",{children:[(0,c.jsxs)("div",{className:"flex items-center justify-between px-1 pb-1",children:[(0,c.jsx)("p",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:u("History")}),(0,c.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:o,type:"button",children:u("Clear history")})]}),(0,c.jsx)("ul",{className:"flex flex-col gap-px","data-testid":"sql-history",children:n.map(q=>(0,c.jsx)("li",{children:(0,c.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":q.sql,"data-testid":"sql-history-item",onClick:m,title:q.sql,type:"button",children:[(0,c.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,c.jsx)("path",{d:"M12 8v4l3 2M12 21a9 9 0 1 1 0-18 9 9 0 0 1 0 18Z"})}),(0,c.jsx)("span",{className:"truncate font-mono",children:q.sql})]})},`${q.at.toString()}:${q.sql}`))})]}),e[46]=n,e[47]=o,e[48]=m,e[49]=u,e[50]=L):L=e[50];let R;e[51]!==x||e[52]!==L||e[53]!==g||e[54]!==C?(R=(0,c.jsxs)("div",{className:x,children:[g,C,L]}),e[51]=x,e[52]=L,e[53]=g,e[54]=C,e[55]=R):R=e[55];let _;return e[56]!==R||e[57]!==y||e[58]!==w?(_=(0,c.jsxs)("aside",{className:y,children:[w,R]}),e[56]=R,e[57]=y,e[58]=w,e[59]=_):_=e[59],_},"Fn"),zn=i(s=>{let e=(0,K.c)(19),{result:t}=s,n=oe();if(t.columns.length===0){let d;e[0]!==t.rowCount||e[1]!==n?(d=n("{count} rows",{count:t.rowCount}),e[0]=t.rowCount,e[1]=n,e[2]=d):d=e[2];let f;return e[3]!==d?(f=(0,c.jsx)("p",{className:"p-4 text-sm text-muted-foreground",children:d}),e[3]=d,e[4]=f):f=e[4],f}let r;e[5]!==t.columns?(r=t.columns.map(Qn),e[5]=t.columns,e[6]=r):r=e[6];let o;e[7]!==r?(o=(0,c.jsx)(je,{className:"sticky top-0 z-10 bg-muted",children:(0,c.jsx)(Ae,{children:r})}),e[7]=r,e[8]=o):o=e[8];let l;if(e[9]!==t.columns||e[10]!==t.rows){let d;e[12]!==t.columns?(d=i((f,p)=>(0,c.jsx)(Ae,{"data-testid":"sql-row",children:t.columns.map(b=>(0,c.jsx)(Ye,{className:"max-w-md truncate font-mono text-xs",children:(0,c.jsx)(Ve,{value:f[b]})},b))},p),"i"),e[12]=t.columns,e[13]=d):d=e[13],l=t.rows.map(d),e[9]=t.columns,e[10]=t.rows,e[11]=l}else l=e[11];let m;e[14]!==l?(m=(0,c.jsx)(Ke,{children:l}),e[14]=l,e[15]=m):m=e[15];let a;return e[16]!==o||e[17]!==m?(a=(0,c.jsxs)(He,{"data-testid":"sql-rows",children:[o,m]}),e[16]=o,e[17]=m,e[18]=a):a=e[18],a},"Qn");function Qn(s){return(0,c.jsx)(Ue,{children:s},s)}i(Qn,"zn");var Ie=i(s=>`border-b-2 px-3 py-2 text-sm outline-none transition-colors ${s?"border-foreground font-medium text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,"Ne"),Pn=i(s=>{let e=(0,K.c)(92),{assistant:t,chart:n,className:r,error:o,onFormat:l,onInferChart:m,onRun:a,onShardKeyChange:d,onShowChart:f,onShowExplain:p,onShowResults:b,onToggleSplit:v,pane:u,result:x,running:y,shardKey:w,splitView:g}=s,h=oe(),S=u==="results",k;e[0]!==S?(k=Ie(S),e[0]=S,e[1]=k):k=e[1];let N;e[2]!==h?(N=h("Results"),e[2]=h,e[3]=N):N=e[3];let C;e[4]!==b||e[5]!==k||e[6]!==N?(C=(0,c.jsx)("button",{className:k,"data-testid":"sql-tab-results",onClick:b,type:"button",children:N}),e[4]=b,e[5]=k,e[6]=N,e[7]=C):C=e[7];let L=u==="chart",R;e[8]!==L?(R=Ie(L),e[8]=L,e[9]=R):R=e[9];let _;e[10]!==h?(_=h("Chart"),e[10]=h,e[11]=_):_=e[11];let q;e[12]!==f||e[13]!==R||e[14]!==_?(q=(0,c.jsx)("button",{className:R,"data-testid":"sql-tab-chart",onClick:f,type:"button",children:_}),e[12]=f,e[13]=R,e[14]=_,e[15]=q):q=e[15];let O;e[16]!==t||e[17]!==m||e[18]!==u||e[19]!==x||e[20]!==h?(O=!t.unavailable&&u==="chart"&&x!==null&&(0,c.jsx)("button",{className:Ie(!1),"data-testid":"sql-infer-chart",disabled:t.pending("chart"),onClick:m,type:"button",children:t.pending("chart")?h("Thinking\u2026"):h("Suggest chart")}),e[16]=t,e[17]=m,e[18]=u,e[19]=x,e[20]=h,e[21]=O):O=e[21];let M=u==="explain",A;e[22]!==M?(A=Ie(M),e[22]=M,e[23]=A):A=e[23];let I;e[24]!==h?(I=h("Explain"),e[24]=h,e[25]=I):I=e[25];let E;e[26]!==p||e[27]!==A||e[28]!==I?(E=(0,c.jsx)("button",{className:A,"data-testid":"sql-tab-explain",onClick:p,type:"button",children:I}),e[26]=p,e[27]=A,e[28]=I,e[29]=E):E=e[29];let D;e[30]!==h?(D=h("Split editor and results"),e[30]=h,e[31]=D):D=e[31];let $=`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 ${g?"bg-accent text-foreground":"text-muted-foreground"}`,T;e[32]!==h?(T=h("Split editor and results"),e[32]=h,e[33]=T):T=e[33];let B;e[34]===Symbol.for("react.memo_cache_sentinel")?(B=(0,c.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,c.jsx)("rect",{height:"16",rx:"2",width:"18",x:"3",y:"4"}),(0,c.jsx)("path",{d:"M12 4v16"})]}),e[34]=B):B=e[34];let P;e[35]!==v||e[36]!==g||e[37]!==D||e[38]!==$||e[39]!==T?(P=(0,c.jsx)("button",{"aria-label":D,"aria-pressed":g,className:$,"data-testid":"sql-split-toggle",onClick:v,title:T,type:"button",children:B}),e[35]=v,e[36]=g,e[37]=D,e[38]=$,e[39]=T,e[40]=P):P=e[40];let Q;e[41]!==x?(Q=x!==null&&x.columns.length>0&&(0,c.jsx)(Xe,{columns:x.columns,name:"query-result",rows:x.rows}),e[41]=x,e[42]=Q):Q=e[42];let U;e[43]!==h?(U=h("Format"),e[43]=h,e[44]=U):U=e[44];let H;e[45]!==l||e[46]!==y||e[47]!==U?(H=(0,c.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:y,onClick:l,type:"button",children:U}),e[45]=l,e[46]=y,e[47]=U,e[48]=H):H=e[48];let G;e[49]!==d||e[50]!==w?(G=(0,c.jsx)(Qe,{onChange:d,testId:"sql-shard-input",value:w}),e[49]=d,e[50]=w,e[51]=G):G=e[51];let J;e[52]!==y||e[53]!==h?(J=h(y?"Running\u2026":"Run"),e[52]=y,e[53]=h,e[54]=J):J=e[54];let F;e[55]===Symbol.for("react.memo_cache_sentinel")?(F=(0,c.jsx)("kbd",{className:"rounded border border-primary-foreground/30 px-1 font-sans text-[10px]",children:"\u2318\u21B5"}),e[55]=F):F=e[55];let V;e[56]!==a||e[57]!==y||e[58]!==J?(V=(0,c.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:y,onClick:a,type:"button",children:[J,F]}),e[56]=a,e[57]=y,e[58]=J,e[59]=V):V=e[59];let re;e[60]!==P||e[61]!==Q||e[62]!==H||e[63]!==G||e[64]!==V?(re=(0,c.jsxs)("div",{className:"ms-auto flex items-center gap-2",children:[P,Q,H,G,V]}),e[60]=P,e[61]=Q,e[62]=H,e[63]=G,e[64]=V,e[65]=re):re=e[65];let X;e[66]!==E||e[67]!==re||e[68]!==C||e[69]!==q||e[70]!==O?(X=(0,c.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border pe-2",children:[C,q,O,E,re]}),e[66]=E,e[67]=re,e[68]=C,e[69]=q,e[70]=O,e[71]=X):X=e[71];let Z;e[72]!==o?(Z=o!==null&&(0,c.jsx)(Pe,{className:"m-3 font-mono text-xs",testId:"sql-error",variant:"destructive",children:o}),e[72]=o,e[73]=Z):Z=e[73];let ee;e[74]!==o||e[75]!==x||e[76]!==h?(ee=o===null&&x===null&&(0,c.jsx)("p",{className:"p-4 text-sm text-muted-foreground","data-testid":"sql-empty",children:h("Click Run to execute your query.")}),e[74]=o,e[75]=x,e[76]=h,e[77]=ee):ee=e[77];let te;e[78]!==n||e[79]!==o||e[80]!==u||e[81]!==x||e[82]!==h?(te=o===null&&x!==null&&(0,c.jsxs)("div",{"data-testid":"sql-result",children:[u==="chart"?(0,c.jsx)(Ze,{axes:n,result:x}):(0,c.jsx)(zn,{result:x}),(0,c.jsx)("p",{className:"border-t border-border px-3 py-1.5 text-xs text-muted-foreground","data-testid":"sql-count",children:x.truncated?h("Showing the first {max} of {count} rows.",{count:x.rowCount,max:x.rows.length}):h("{count} rows",{count:x.rowCount})})]}),e[78]=n,e[79]=o,e[80]=u,e[81]=x,e[82]=h,e[83]=te):te=e[83];let ne;e[84]!==Z||e[85]!==ee||e[86]!==te?(ne=(0,c.jsxs)("div",{className:"min-h-0 flex-1 overflow-auto",children:[Z,ee,te]}),e[84]=Z,e[85]=ee,e[86]=te,e[87]=ne):ne=e[87];let se;return e[88]!==r||e[89]!==X||e[90]!==ne?(se=(0,c.jsxs)("div",{className:r,children:[X,ne]}),e[88]=r,e[89]=X,e[90]=ne,e[91]=se):se=e[91],se},"Un"),Hn=i((s,e)=>s.trim()===""?e:(s.split(`
6
+ `)[0]??s).slice(0,24),"Yn"),jn=i(s=>{s?.focus(),s?.select()},"jn"),Kn=i(s=>{let e=(0,K.c)(14),{initial:t,onCancel:n,onCommit:r,placeholder:o,testId:l}=s,m=oe(),a;e[0]!==r?(a=i(u=>{r(u.currentTarget.value.trim())},"a"),e[0]=r,e[1]=a):a=e[1];let d=a,f;e[2]!==n||e[3]!==r?(f=i(u=>{u.key==="Enter"?r(u.currentTarget.value.trim()):u.key==="Escape"&&n()},"m"),e[2]=n,e[3]=r,e[4]=f):f=e[4];let p=f,b;e[5]!==m?(b=m("Tab title"),e[5]=m,e[6]=b):b=e[6];let v;return e[7]!==t||e[8]!==d||e[9]!==p||e[10]!==o||e[11]!==b||e[12]!==l?(v=(0,c.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":l,defaultValue:t,onBlur:d,onKeyDown:p,placeholder:o,ref:jn,type:"text"}),e[7]=t,e[8]=d,e[9]=p,e[10]=o,e[11]=b,e[12]=l,e[13]=v):v=e[13],v},"Kn"),Un=i(s=>{let e=(0,K.c)(29),{idBase:t,onDiscard:n,onKeep:r}=s,o=oe(),l=`sql-tab-close-prompt-${t}`,m;e[0]!==o?(m=o("Discard?"),e[0]=o,e[1]=m):m=e[1];let a;e[2]!==m?(a=(0,c.jsx)("span",{className:"text-[11px] text-muted-foreground",children:m}),e[2]=m,e[3]=a):a=e[3];let d;e[4]!==o?(d=o("Discard changes"),e[4]=o,e[5]=d):d=e[5];let f=`sql-tab-close-confirm-${t}`,p;e[6]!==o?(p=o("Discard changes"),e[6]=o,e[7]=p):p=e[7];let b;e[8]===Symbol.for("react.memo_cache_sentinel")?(b=(0,c.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,c.jsx)("path",{d:"M5 13l4 4L19 7"})}),e[8]=b):b=e[8];let v;e[9]!==n||e[10]!==d||e[11]!==f||e[12]!==p?(v=(0,c.jsx)("button",{"aria-label":d,className:"flex size-5 items-center justify-center rounded text-destructive hover:bg-destructive/10","data-testid":f,onClick:n,title:p,type:"button",children:b}),e[9]=n,e[10]=d,e[11]=f,e[12]=p,e[13]=v):v=e[13];let u;e[14]!==o?(u=o("Keep editing"),e[14]=o,e[15]=u):u=e[15];let x=`sql-tab-close-cancel-${t}`,y;e[16]!==o?(y=o("Keep editing"),e[16]=o,e[17]=y):y=e[17];let w;e[18]===Symbol.for("react.memo_cache_sentinel")?(w=(0,c.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,c.jsx)("path",{d:"M6 6l12 12M18 6 6 18"})}),e[18]=w):w=e[18];let g;e[19]!==r||e[20]!==x||e[21]!==y||e[22]!==u?(g=(0,c.jsx)("button",{"aria-label":u,className:"flex size-5 items-center justify-center rounded text-muted-foreground hover:bg-accent","data-testid":x,onClick:r,title:y,type:"button",children:w}),e[19]=r,e[20]=x,e[21]=y,e[22]=u,e[23]=g):g=e[23];let h;return e[24]!==l||e[25]!==g||e[26]!==a||e[27]!==v?(h=(0,c.jsxs)("span",{className:"flex shrink-0 items-center gap-1","data-testid":l,role:"group",children:[a,v,g]}),e[24]=l,e[25]=g,e[26]=a,e[27]=v,e[28]=h):h=e[28],h},"Gn"),Yn=i(s=>{let e=(0,K.c)(47),{active:t,canClose:n,onClose:r,onMenu:o,onRename:l,onSelect:m,tab:a}=s,d=oe(),[f,p]=(0,z.useState)(!1),[b,v]=(0,z.useState)(!1),u;e[0]!==o||e[1]!==a.id?(u=i(H=>{o(a.id,H)},"c"),e[0]=o,e[1]=a.id,e[2]=u):u=e[2];let x=u,y;e[3]!==m||e[4]!==a.id?(y=i(()=>{m(a.id)},"y"),e[3]=m,e[4]=a.id,e[5]=y):y=e[5];let w=y,g;e[6]===Symbol.for("react.memo_cache_sentinel")?(g=i(()=>{p(!0)},"p"),e[6]=g):g=e[6];let h=g,S;e[7]!==r||e[8]!==a?(S=i(H=>{H.stopPropagation(),at(a)?v(!0):r(a.id)},"S"),e[7]=r,e[8]=a,e[9]=S):S=e[9];let k=S,N;e[10]!==r||e[11]!==a.id?(N=i(H=>{H.stopPropagation(),v(!1),r(a.id)},"C"),e[10]=r,e[11]=a.id,e[12]=N):N=e[12];let C=N,L;e[13]===Symbol.for("react.memo_cache_sentinel")?(L=i(H=>{H.stopPropagation(),v(!1)},"L"),e[13]=L):L=e[13];let R=L,_;e[14]!==l||e[15]!==a.id?(_=i(H=>{l(a.id,H),p(!1)},"I"),e[14]=l,e[15]=a.id,e[16]=_):_=e[16];let q=_,O;e[17]===Symbol.for("react.memo_cache_sentinel")?(O=i(()=>{p(!1)},"_"),e[17]=O):O=e[17];let M=O,A;e[18]!==a.name?(A=a.name.trim(),e[18]=a.name,e[19]=A):A=e[19];let I=A,E;e[20]!==d||e[21]!==a.sql?(E=Hn(a.sql,d("Untitled")),e[20]=d,e[21]=a.sql,e[22]=E):E=e[22];let D=E,$=t?"bg-background text-foreground":"bg-muted/40 text-muted-foreground hover:text-foreground",T;e[23]!==$?(T=ue("group/tab flex shrink-0 items-center gap-1 border-e border-border ps-3 pe-1.5 text-xs",$),e[23]=$,e[24]=T):T=e[24];let B=`sql-tab-${a.id}`,P;e[25]!==t||e[26]!==q||e[27]!==I||e[28]!==D||e[29]!==f||e[30]!==w||e[31]!==d||e[32]!==a.id?(P=f?(0,c.jsx)(Kn,{initial:I,onCancel:M,onCommit:q,placeholder:D,testId:`sql-tab-rename-${a.id}`}):(0,c.jsx)("button",{"aria-pressed":t,className:"max-w-40 truncate py-1.5 outline-none","data-testid":`sql-tab-select-${a.id}`,onClick:w,onDoubleClick:h,title:d("Double-click to rename"),type:"button",children:I===""?D:I}),e[25]=t,e[26]=q,e[27]=I,e[28]=D,e[29]=f,e[30]=w,e[31]=d,e[32]=a.id,e[33]=P):P=e[33];let Q;e[34]!==n||e[35]!==C||e[36]!==b||e[37]!==k||e[38]!==d||e[39]!==a.id?(Q=n&&(b?(0,c.jsx)(Un,{idBase:a.id,onDiscard:C,onKeep:R}):(0,c.jsx)("button",{"aria-label":d("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-${a.id}`,onClick:k,title:d("Close tab"),type:"button",children:(0,c.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,c.jsx)("path",{d:"M6 6l12 12M18 6 6 18"})})})),e[34]=n,e[35]=C,e[36]=b,e[37]=k,e[38]=d,e[39]=a.id,e[40]=Q):Q=e[40];let U;return e[41]!==x||e[42]!==T||e[43]!==B||e[44]!==P||e[45]!==Q?(U=(0,c.jsxs)("div",{className:T,"data-testid":B,onContextMenu:x,children:[P,Q]}),e[41]=x,e[42]=T,e[43]=B,e[44]=P,e[45]=Q,e[46]=U):U=e[46],U},"Vn"),Gn=i(s=>{let e=(0,K.c)(43),{model:t,onSelect:n}=s,r=oe(),{activeTab:o,addEditorTab:l,cancelBulk:m,closeEditorTab:a,closeTabMenu:d,confirmBulk:f,menuStyle:p,onBackdropContextMenu:b,onCloseAll:v,onCloseOthers:u,onCloseToRight:x,openTabMenu:y,pendingBulk:w,renameTab:g,tabMenu:h,tabs:S}=t,k;if(e[0]!==o||e[1]!==a||e[2]!==n||e[3]!==y||e[4]!==g||e[5]!==S){let A;e[7]!==o||e[8]!==a||e[9]!==n||e[10]!==y||e[11]!==g||e[12]!==S.length?(A=i(I=>(0,c.jsx)(Yn,{active:I.id===o.id,canClose:S.length>1,onClose:a,onMenu:y,onRename:g,onSelect:n,tab:I},I.id),"A"),e[7]=o,e[8]=a,e[9]=n,e[10]=y,e[11]=g,e[12]=S.length,e[13]=A):A=e[13],k=S.map(A),e[0]=o,e[1]=a,e[2]=n,e[3]=y,e[4]=g,e[5]=S,e[6]=k}else k=e[6];let N;e[14]!==r?(N=r("New tab"),e[14]=r,e[15]=N):N=e[15];let C=S.length>=Be,L;e[16]!==r?(L=r("New tab"),e[16]=r,e[17]=L):L=e[17];let R;e[18]===Symbol.for("react.memo_cache_sentinel")?(R=(0,c.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,c.jsx)("path",{d:"M12 5v14M5 12h14"})}),e[18]=R):R=e[18];let _;e[19]!==l||e[20]!==N||e[21]!==C||e[22]!==L?(_=(0,c.jsx)("button",{"aria-label":N,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:C,onClick:l,title:L,type:"button",children:R}),e[19]=l,e[20]=N,e[21]=C,e[22]=L,e[23]=_):_=e[23];let q;e[24]!==k||e[25]!==_?(q=(0,c.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:[k,_]}),e[24]=k,e[25]=_,e[26]=q):q=e[26];let O;e[27]!==m||e[28]!==d||e[29]!==f||e[30]!==p||e[31]!==b||e[32]!==v||e[33]!==u||e[34]!==x||e[35]!==w||e[36]!==r||e[37]!==h||e[38]!==S?(O=h!==null&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)("div",{className:"fixed inset-0 z-40","data-testid":"sql-tab-menu-backdrop",onClick:d,onContextMenu:b,role:"presentation"}),(0,c.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:p,children:w===null?(0,c.jsxs)(c.Fragment,{children:[(0,c.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:S.length<=1,onClick:u,role:"menuitem",type:"button",children:r("Close other tabs")}),(0,c.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:S.findIndex(A=>A.id===h.id)>=S.length-1,onClick:x,role:"menuitem",type:"button",children:r("Close tabs to the right")}),(0,c.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:v,role:"menuitem",type:"button",children:r("Close all tabs")})]}):(0,c.jsxs)("div",{className:"px-3 py-1.5","data-testid":"sql-tab-menu-confirm",children:[(0,c.jsx)("p",{className:"pb-1.5 text-xs text-muted-foreground",children:r("Discard unsaved tabs?")}),(0,c.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,c.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:f,type:"button",children:r("Discard")}),(0,c.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:m,type:"button",children:r("Cancel")})]})]})})]}),e[27]=m,e[28]=d,e[29]=f,e[30]=p,e[31]=b,e[32]=v,e[33]=u,e[34]=x,e[35]=w,e[36]=r,e[37]=h,e[38]=S,e[39]=O):O=e[39];let M;return e[40]!==q||e[41]!==O?(M=(0,c.jsxs)(c.Fragment,{children:[q,O]}),e[40]=q,e[41]=O,e[42]=M):M=e[42],M},"Jn"),Jn=ve(we.runSql),Vn="lunora-studio-sql-split-view",Xn=i(()=>Se(ct[0]?.sql??""),"es"),bo=i(s=>{let e=(0,K.c)(102),{initialShardKey:t}=s,n=ke(),r=Sn(Xn),{activeTab:o,output:l,patchActiveOutput:m,patchActiveTab:a,setActiveTabId:d,unlinkQuery:f}=r,p;e[0]!==m||e[1]!==a?(p=i((le,de)=>{a({activeId:de,sql:le}),m({chart:void 0,error:null,failed:void 0,result:null})},"b"),e[0]=m,e[1]=a,e[2]=p):p=e[2];let b=p,v;e[3]!==b||e[4]!==f?(v={loadIntoActiveTab:b,unlinkQuery:f},e[3]=b,e[4]=f,e[5]=v):v=e[5];let u=Tn(v),{recordHistory:x,updateQuerySql:y}=u,w=o.sql,{activeId:g}=o,{chart:h,error:S,failed:k,result:N,running:C}=l,L=l.pane,[R,_]=(0,z.useState)(t??""),[q,O]=Oe(Vn,!1),{probe:M,schema:A}=an(R),I;e[6]!==g||e[7]!==a||e[8]!==y?(I=i(le=>{a({sql:le}),g!==null&&y(g,le)},"k"),e[6]=g,e[7]=a,e[8]=y,e[9]=I):I=e[9];let E=I,D=jt(w,A,R),$=Je(R),T;e[10]!==$||e[11]!==m||e[12]!==N?(T=i(()=>{N!==null&&ie((async()=>{let le=await $.inferChart({columns:N.columns,rowCount:N.rowCount,types:Object.fromEntries(N.columns.map(de=>[de,typeof(N.rows[0]?.[de]??"")]))});m({chart:le})})())},"E"),e[10]=$,e[11]=m,e[12]=N,e[13]=T):T=e[13];let B=T,P;e[14]!==n||e[15]!==w||e[16]!==m||e[17]!==x||e[18]!==R?(P=i(async le=>{if(w.trim()==="")return;m({running:!0});let de=le==="explain"?`EXPLAIN QUERY PLAN ${w}`:w;try{let Le=await n.query(Jn,{sql:de},ye(R));m({chart:void 0,error:null,failed:void 0,pane:le,result:Le,running:!1}),ze(R),x(de)}catch(Le){let Fe=Le;m({chart:void 0,error:Ee(Fe),failed:{error:Ee(Fe),sql:de},pane:le,result:null,running:!1})}},"F"),e[14]=n,e[15]=w,e[16]=m,e[17]=x,e[18]=R,e[19]=P):P=e[19];let Q=P,U;e[20]!==Q?(U=i(()=>{ie(Q("results"))},"U"),e[20]=Q,e[21]=U):U=e[21];let H=U,G;e[22]!==l.pane||e[23]!==Q?(G=i(()=>{ie(Q(l.pane))},"K"),e[22]=l.pane,e[23]=Q,e[24]=G):G=e[24];let J;e[25]!==M||e[26]!==A||e[27]!==E||e[28]!==G?(J={onSubmit:G,probe:M,schema:A,setDraft:E},e[25]=M,e[26]=A,e[27]=E,e[28]=G,e[29]=J):J=e[29];let F=un(J),{closeAutocomplete:V}=F,re;e[30]!==w||e[31]!==E?(re=i(()=>{E(xt(w))},"ne"),e[30]=w,e[31]=E,e[32]=re):re=e[32];let X=re,Z;e[33]!==V||e[34]!==d?(Z=i(le=>{V(),d(le)},"X"),e[33]=V,e[34]=d,e[35]=Z):Z=e[35];let ee=Z,te;e[36]!==m?(te=i(()=>{m({pane:"results"})},"ee"),e[36]=m,e[37]=te):te=e[37];let ne=te,se;e[38]!==Q?(se=i(()=>{ie(Q("explain"))},"se"),e[38]=Q,e[39]=se):se=e[39];let ce=se,W;e[40]!==m?(W=i(()=>{m({pane:"chart"})},"H"),e[40]=m,e[41]=W):W=e[41];let j=W,Y;e[42]!==O||e[43]!==q?(Y=i(()=>{O(!q)},"j"),e[42]=O,e[43]=q,e[44]=Y):Y=e[44];let ae=Y,xe=q?"flex min-h-0 flex-1 flex-row":"flex min-h-0 flex-1 flex-col",Re=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",me;e[45]!==g||e[46]!==u.clearHistory||e[47]!==u.deleteQuery||e[48]!==u.history||e[49]!==u.listRef||e[50]!==u.loadFromHistory||e[51]!==u.loadTemplate||e[52]!==u.newQuery||e[53]!==u.onSearchChange||e[54]!==u.queries||e[55]!==u.search||e[56]!==u.selectQuery?(me=(0,c.jsx)(Wn,{activeId:g,history:u.history,listRef:u.listRef,onClearHistory:u.clearHistory,onDelete:u.deleteQuery,onLoadHistory:u.loadFromHistory,onLoadTemplate:u.loadTemplate,onNew:u.newQuery,onSearchChange:u.onSearchChange,onSelect:u.selectQuery,queries:u.queries,search:u.search}),e[45]=g,e[46]=u.clearHistory,e[47]=u.deleteQuery,e[48]=u.history,e[49]=u.listRef,e[50]=u.loadFromHistory,e[51]=u.loadTemplate,e[52]=u.newQuery,e[53]=u.onSearchChange,e[54]=u.queries,e[55]=u.search,e[56]=u.selectQuery,e[57]=me):me=e[57];let he;e[58]!==r||e[59]!==ee?(he=(0,c.jsx)(Gn,{model:r,onSelect:ee}),e[58]=r,e[59]=ee,e[60]=he):he=e[60];let fe;e[61]!==$||e[62]!==D||e[63]!==w||e[64]!==k||e[65]!==E||e[66]!==F.autocompleteState||e[67]!==F.editorRef||e[68]!==F.gutterRef||e[69]!==F.handlers||e[70]!==F.listboxId||e[71]!==F.onPickSuggestion||e[72]!==F.overlayRef||e[73]!==F.revealDiagnostic?(fe=(0,c.jsx)(Dn,{assistant:$,autocomplete:F.autocompleteState,diagnostics:D,draft:w,editorRef:F.editorRef,failed:k,gutterRef:F.gutterRef,handlers:F.handlers,listboxId:F.listboxId,onGenerated:E,onPickSuggestion:F.onPickSuggestion,onRevealDiagnostic:F.revealDiagnostic,overlayRef:F.overlayRef}),e[61]=$,e[62]=D,e[63]=w,e[64]=k,e[65]=E,e[66]=F.autocompleteState,e[67]=F.editorRef,e[68]=F.gutterRef,e[69]=F.handlers,e[70]=F.listboxId,e[71]=F.onPickSuggestion,e[72]=F.overlayRef,e[73]=F.revealDiagnostic,e[74]=fe):fe=e[74];let pe;e[75]!==$||e[76]!==S||e[77]!==X||e[78]!==B||e[79]!==h||e[80]!==H||e[81]!==N||e[82]!==Re||e[83]!==C||e[84]!==R||e[85]!==j||e[86]!==ce||e[87]!==ne||e[88]!==q||e[89]!==L||e[90]!==ae?(pe=(0,c.jsx)(Pn,{assistant:$,chart:h,className:Re,error:S,onFormat:X,onInferChart:B,onRun:H,onShardKeyChange:_,onShowChart:j,onShowExplain:ce,onShowResults:ne,onToggleSplit:ae,pane:L,result:N,running:C,shardKey:R,splitView:q}),e[75]=$,e[76]=S,e[77]=X,e[78]=B,e[79]=h,e[80]=H,e[81]=N,e[82]=Re,e[83]=C,e[84]=R,e[85]=j,e[86]=ce,e[87]=ne,e[88]=q,e[89]=L,e[90]=ae,e[91]=pe):pe=e[91];let be;e[92]!==fe||e[93]!==pe||e[94]!==xe?(be=(0,c.jsxs)("div",{className:xe,children:[fe,pe]}),e[92]=fe,e[93]=pe,e[94]=xe,e[95]=be):be=e[95];let ge;e[96]!==he||e[97]!==be?(ge=(0,c.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[he,be]}),e[96]=he,e[97]=be,e[98]=ge):ge=e[98];let Ne;return e[99]!==me||e[100]!==ge?(Ne=(0,c.jsxs)("div",{className:"flex h-full min-w-0","data-testid":"lunora-sql-editor",children:[me,ge]}),e[99]=me,e[100]=ge,e[101]=Ne):Ne=e[101],Ne},"vs");export{bo as SqlEditorPanel};
@@ -0,0 +1 @@
1
+ import{a as u,d as y,e as d}from"./chunk-R5ZTCHCE.js";var t=y(d(),1);var S=u((r,a=400)=>{let e=(r??"").trim(),[o,c]=(0,t.useState)(e),[i,n]=(0,t.useState)(e),m=(0,t.useRef)(r);m.current!==r&&(m.current=r,c(e),n(e));let f=o.trim();return(0,t.useEffect)(()=>{let s=setTimeout(()=>{n(f)},a);return()=>{clearTimeout(s)}},[f,a]),{queryShardKey:i,setShardKey:u(s=>{c(s)},"setShardKey"),shardKey:o}},"f");export{S as a};
@@ -0,0 +1 @@
1
+ import{j as o}from"./chunk-7PIHTTND.js";import{a as r,d as i,e as p}from"./chunk-R5ZTCHCE.js";var a=i(p(),1);var R=a.forwardRef(r(function(e,n){let{className:l,render:m,orientation:t="horizontal",style:f,...s}=e;return o("div",e,{state:{orientation:t},ref:n,props:[{role:"separator","aria-orientation":t},s]})},"SeparatorComponent"));export{R as a};
@@ -0,0 +1 @@
1
+ import{h as _}from"./chunk-AOAJGSYZ.js";import{a as v,c as b,e as B}from"./chunk-XQS7KSHL.js";import{d as F}from"./chunk-7PIHTTND.js";import{a as o,d as y,e as P,g as Y}from"./chunk-R5ZTCHCE.js";var w=y(P(),1);var O=y(P(),1);var W=O.createContext({register:o(()=>{},"register"),unregister:o(()=>{},"unregister"),subscribeMapChange:o(()=>()=>{},"subscribeMapChange"),nextIndexRef:{current:0}});function T(){return O.useContext(W)}o(T,"useCompositeListContext");function ee(n={}){let{guess:t,label:e,metadata:s,textRef:u,index:r}=n,{register:a,unregister:f,subscribeMapChange:d,nextIndexRef:R}=T(),l=w.useRef(-1),[E,x]=w.useState(r==null&&t?()=>{if(l.current===-1){let p=R.current;R.current+=1,l.current=p}return l.current}:-1),C=r??E,M=w.useRef(null),S=w.useCallback(p=>{let I=M.current;I&&f(I),M.current=p,p&&a(p,{metadata:s??null,index:r??null,label:e,textRef:u})},[r,a,f,s,e,u]);return v(()=>{if(r==null)return d(p=>{let I=M.current?p.get(M.current)?.index:null;I!=null&&x(I)})},[r,d]),{ref:S,index:C}}o(ee,"useCompositeListItem");var g=y(P(),1);var j=y(Y(),1);function ce(n){let{children:t,elementsRef:e,labelsRef:s,onMapChange:u}=n,r=b(u),[,a]=g.useState(!1),f=F(X).current,d=F(V).current,R=g.useRef(0),l=g.useRef(!0),E=g.useRef([]),x=g.useRef(null),C=b(()=>{l.current||(l.current=!0,a(i=>!i))}),M=b((i,m)=>{d.set(i,m),C()}),S=b(i=>{d.delete(i),C()}),p=b(i=>{let m=new Map;return e.current.length=0,s&&(s.current.length=0),i.forEach(c=>{m.set(c.element,{...c.registration.metadata??{},index:c.index}),e.current[c.index]=c.element,s&&(s.current[c.index]=c.registration.label!==void 0?c.registration.label:c.registration.textRef?.current?.textContent??c.element.textContent)}),R.current=e.current.length,m});function I(i){if(x.current?.disconnect(),x.current=null,typeof MutationObserver!="function"||i.length<2)return;let m=new MutationObserver(h=>{if(!q(h))return;let L=null;for(let D of i)if(D.isConnected){if(L&&k(L,D)>0){m.disconnect(),C();return}L=D}});x.current=m;let c=new Set;for(let h=1;h<i.length;h+=1){let L=G(i[h-1],i[h]);L&&c.add(L)}c.forEach(h=>m.observe(h,{childList:!0}))}o(I,"observe");let H=b(()=>{let[i,m]=z(d),c=p(i);I(m),E.current=i,l.current=!1,f.forEach(h=>h(c)),r(c)});v(()=>(l.current||p(E.current),()=>{e.current=[],s&&(s.current=[])}),[e,s,p]),v(()=>{l.current&&H()}),v(()=>()=>{x.current?.disconnect(),l.current=!0},[]);let A=b(i=>(f.add(i),()=>{f.delete(i)})),U=g.useMemo(()=>({register:M,unregister:S,subscribeMapChange:A,nextIndexRef:R}),[M,S,A,R]);return(0,j.jsx)(W.Provider,{value:U,children:t})}o(ce,"CompositeList");function V(){return new Map}o(V,"createMap");function X(){return new Set}o(X,"createListeners");function z(n){let t=new Set,e=[],s=[];n.forEach((r,a)=>{if(!a.isConnected)return;let f=r.index,d={index:f??-1,element:a,registration:r};f===null?s.push(d):f>=0&&(t.add(f),e.push(d))});let u=0;return s.sort((r,a)=>k(r.element,a.element)),s.forEach(r=>{for(;t.has(u);)u+=1;r.index=u,e.push(r),u+=1}),t.size>0&&e.sort((r,a)=>r.index-a.index),[e,s.map(r=>r.element)]}o(z,"getCompositeListSnapshot");function G(n,t){let e=n.parentElement;for(;e&&!e.contains(t);)e=e.parentElement;return e}o(G,"getCommonAncestor");function q(n){for(let t of n)for(let e=0;e<t.removedNodes.length;e+=1)if(t.removedNodes[e].isConnected)return!0;return!1}o(q,"hasMovedNode");function k(n,t){return n.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_FOLLOWING?-1:1}o(k,"sortByDocumentPosition");var N=5;function de(n,t){let e=J(t);return n.clientX>=e.left-N&&n.clientX<=e.right+N&&n.clientY>=e.top-N&&n.clientY<=e.bottom+N}o(de,"isMouseWithinBounds");function J(n){let t=n.getBoundingClientRect(),e=B(n);if(_.env.jsdom)return t;let s=e.getComputedStyle(n,"::before"),u=e.getComputedStyle(n,"::after");if(!(s.content!=="none"||u.content!=="none"))return t;let a=parseFloat(s.width)||0,f=parseFloat(s.height)||0,d=parseFloat(u.width)||0,R=parseFloat(u.height)||0,l=Math.max(t.width,a,d),E=Math.max(t.height,f,R),x=l-t.width,C=E-t.height;return{left:t.left-x/2,right:t.right+x/2,top:t.top-C/2,bottom:t.bottom+C/2}}o(J,"getPseudoElementBounds");function he(n){return n==null||n.hasAttribute("disabled")||n.getAttribute("aria-disabled")==="true"}o(he,"isElementDisabled");export{ee as a,ce as b,de as c,he as d};
@@ -0,0 +1 @@
1
+ import{a as ie,d as te,e as kt,f as fe}from"./chunk-AFKLFS74.js";import{a as ae,b as Ut}from"./chunk-DUDQV6XJ.js";import{B as vt,e as le,h as se,o as Lt,p as ce}from"./chunk-AOAJGSYZ.js";import{a as ht,c as lt}from"./chunk-XQS7KSHL.js";import{c as wt,j as D}from"./chunk-7PIHTTND.js";import{a as o,c as Pe,d as N,e as Q,f as Ve,g as _t,i as Qt}from"./chunk-R5ZTCHCE.js";var Me=N(Ve(),1);var ct={};Pe(ct,{Content:()=>ye,Corner:()=>Te,Root:()=>me,Scrollbar:()=>ve,Thumb:()=>Ce,Viewport:()=>ge});var s=N(Q(),1);var Ft=N(Q(),1);var ee=Ft.createContext(void 0);function j(){let e=Ft.useContext(ee);if(e===void 0)throw new Error(wt(53));return e}o(j,"useScrollAreaRootContext");function X(e,t,l){if(!e)return 0;let g=getComputedStyle(e),v=`${t}${l==="x"?"Inline":"Block"}`,m=parseFloat(g[`${v}Start`]);return l==="x"&&t==="margin"?m*2:m+parseFloat(g[`${v}End`])}o(X,"getOffset");var yt=o(e=>t=>t?{[e]:""}:null,"attr"),st={hasOverflowX:yt("data-has-overflow-x"),hasOverflowY:yt("data-has-overflow-y"),overflowXStart:yt("data-overflow-x-start"),overflowXEnd:yt("data-overflow-x-end"),overflowYStart:yt("data-overflow-y-start"),overflowYEnd:yt("data-overflow-y-end"),cornerHidden:o(()=>null,"cornerHidden")};var de=N(_t(),1);var He={x:0,y:0},ue={width:0,height:0},ze={xStart:!1,xEnd:!1,yStart:!1,yEnd:!1},De={x:!0,y:!0,corner:!0},me=s.forwardRef(o(function(t,l){let{render:g,className:v,overflowEdgeThreshold:m,style:S,...a}=t,{xStart:p,xEnd:x,yStart:y,yEnd:W}=We(m),_=le(),A=vt(),T=vt(),{nonce:L,disableStyleElements:U}=fe(),[it,k]=s.useState(!1),[B,tt]=s.useState(!1),[et,rt]=s.useState(!1),[ft,P]=s.useState(!1),[xt,d]=s.useState(!1),[F,G]=s.useState(ue),[bt,ut]=s.useState(ue),[b,ot]=s.useState(ze),[V,E]=s.useState(De),K=s.useRef(null),n=s.useRef(null),c=s.useRef(null),f=s.useRef(null),u=s.useRef(null),h=s.useRef(null),$=s.useRef(null),w=s.useRef(null),C=s.useRef(0),M=s.useRef(0),Z=s.useRef(0),dt=s.useRef(0),H=s.useRef("vertical"),z=s.useRef(He),Y=s.useRef(null);function I(r){let i=r?rt:tt,R=r?A:T;i(!0),R.start(500,()=>{i(!1)})}o(I,"startScrolling");let q=lt(r=>{let i=r.x-z.current.x,R=r.y-z.current.y;z.current=r,R!==0&&I(!0),i!==0&&I(!1)}),J=lt(()=>{let r=n.current;r&&Y.current===null&&(Y.current=r.style.scrollSnapType,r.style.scrollSnapType="none")}),Pt=lt(r=>{if(r.button!==0||w.current!==null&&(H.current==="vertical"?u.current:h.current)?.hasPointerCapture(w.current))return;w.current=r.pointerId,C.current=r.clientY,M.current=r.clientX,H.current=r.currentTarget.getAttribute("data-orientation");let i=n.current;i&&(Z.current=i.scrollTop,dt.current=i.scrollLeft,J()),(H.current==="vertical"?u.current:h.current)?.setPointerCapture(r.pointerId)}),At=lt(r=>{if(r.pointerId!==w.current)return;w.current=null,(H.current==="vertical"?rt:tt)(!1),Y.current!==null&&(n.current&&(n.current.style.scrollSnapType=Y.current),Y.current=null);let i=H.current==="vertical"?u.current:h.current;i?.hasPointerCapture(r.pointerId)&&i.releasePointerCapture(r.pointerId)}),Rt=lt(r=>{if(r.pointerId!==w.current)return;if(r.buttons%2===0){At(r);return}let i=n.current;if(!i)return;let R=H.current==="vertical",nt=R?u.current:h.current,Et=R?c.current:f.current;if(!nt||!Et)return;let Ht=R?"y":"x",zt=X(Et,"padding",Ht),Dt=X(nt,"margin",Ht),Wt=R?nt.offsetHeight:nt.offsetWidth,Nt=(R?Et.offsetHeight:Et.offsetWidth)-Wt-zt-Dt,Yt=R?r.clientY-C.current:r.clientX-M.current,qt=Nt<=0?0:Yt/Nt,Jt=R?i.scrollHeight:i.scrollWidth,Tt=R?i.clientHeight:i.clientWidth,Xt=(R?Z.current:dt.current)+qt*(Jt-Tt);R?i.scrollTop=Xt:i.scrollLeft=Xt,r.preventDefault(),I(R)});function gt(r){P(r.pointerType==="touch")}o(gt,"handleTouchModalityChange");function mt(r){if(gt(r),r.pointerType!=="touch"){let i=Lt(K.current,r.target);k(i)}}o(mt,"handlePointerEnterOrMove");let pt=s.useMemo(()=>({scrolling:B||et,hasOverflowX:!V.x,hasOverflowY:!V.y,overflowXStart:b.xStart,overflowXEnd:b.xEnd,overflowYStart:b.yStart,overflowYEnd:b.yEnd,cornerHidden:V.corner}),[B,et,V.x,V.y,V.corner,b]),Ct={role:"presentation",onPointerEnter:mt,onPointerMove:mt,onPointerDown:gt,onPointerLeave(){k(!1)},style:{position:"relative","--scroll-area-corner-height":`${F.height}px`,"--scroll-area-corner-width":`${F.width}px`}},Vt=D("div",t,{state:pt,ref:[l,K],props:[Ct,a],stateAttributesMapping:st}),Kt=s.useMemo(()=>({handlePointerDown:Pt,handlePointerMove:Rt,handlePointerUp:At,handleScroll:q,disableViewportSnap:J,cornerSize:F,setCornerSize:G,thumbSize:bt,setThumbSize:ut,hasMeasuredScrollbar:xt,setHasMeasuredScrollbar:d,touchModality:ft,cornerRef:$,scrollingX:B,scrollingY:et,hovering:it,setHovering:k,viewportRef:n,scrollbarYRef:c,scrollbarXRef:f,thumbYRef:u,thumbXRef:h,rootId:_,hiddenState:V,setHiddenState:E,overflowEdges:b,setOverflowEdges:ot,viewportState:pt,overflowEdgeThreshold:{xStart:p,xEnd:x,yStart:y,yEnd:W}}),[Pt,Rt,At,q,J,F,bt,xt,ft,B,et,it,_,V,b,pt,p,x,y,W]);return(0,de.jsxs)(ee.Provider,{value:Kt,children:[!U&&kt.getElement(L),Vt]})},"ScrollAreaRoot"));function We(e){let t=typeof e=="number"?{xStart:e,xEnd:e,yStart:e,yEnd:e}:e;return{xStart:Math.max(0,t?.xStart||0),xEnd:Math.max(0,t?.xEnd||0),yStart:Math.max(0,t?.yStart||0),yEnd:Math.max(0,t?.yEnd||0)}}o(We,"normalizeOverflowEdgeThreshold");var St=N(Q(),1);var $t=N(Q(),1);var re=$t.createContext(void 0);function pe(){let e=$t.useContext(re);if(e===void 0)throw new Error(wt(55));return e}o(pe,"useScrollAreaViewportContext");var be=N(_t(),1);var Re=["--scroll-area-overflow-x-start","--scroll-area-overflow-x-end","--scroll-area-overflow-y-start","--scroll-area-overflow-y-end"],Se=!1;function Ye(){Se||se.engine.webkit||(typeof CSS<"u"&&"registerProperty"in CSS&&Re.forEach(e=>{try{CSS.registerProperty({name:e,syntax:"<length>",inherits:!1,initialValue:"0px"})}catch{}}),Se=!0)}o(Ye,"removeCSSVariableInheritance");var ge=St.forwardRef(o(function(t,l){let{render:g,className:v,style:m,...S}=t,{viewportRef:a,scrollbarYRef:p,scrollbarXRef:x,thumbYRef:y,thumbXRef:W,cornerRef:_,cornerSize:A,setCornerSize:T,setThumbSize:L,rootId:U,setHiddenState:it,hiddenState:k,setHasMeasuredScrollbar:B,handleScroll:tt,touchModality:et,setHovering:rt,setOverflowEdges:ft,overflowEdgeThreshold:P,viewportState:xt}=j(),d=Ut(),F=St.useRef(!0),G=St.useRef([NaN,NaN,NaN,NaN]),bt=vt(),ut=vt(),b=lt(()=>{let n=a.current,c=p.current,f=x.current,u=y.current,h=W.current,$=_.current;if(!n)return;let w=n.scrollHeight,C=n.scrollWidth,M=n.clientHeight,Z=n.clientWidth,dt=n.scrollTop,H=n.scrollLeft,z=G.current,Y=Number.isNaN(z[0]);if(z[0]=M,z[1]=w,z[2]=Z,z[3]=C,Y&&B(!0),w===0||C===0)return;let I=Ie(n),q=I.y,J=I.x,Pt=Z/C,At=M/w,Rt=Math.max(0,C-Z),gt=Math.max(0,w-M),mt=0,pt=0;J||(mt=te(d==="rtl"?-H:H,Rt),pt=Rt-mt);let Ct=q?0:te(dt,gt),Vt=q?0:gt-Ct,Kt=J?0:Z,r=q?0:M,i=0,R=0;!J&&!q&&(i=c?.offsetWidth||0,R=f?.offsetHeight||0);let nt=A.width===0&&A.height===0,Et=nt?i:0,Ht=nt?R:0,zt=X(f,"padding","x"),Dt=X(c,"padding","y"),Wt=X(h,"margin","x"),Zt=X(u,"margin","y"),Nt=Kt-zt-Wt,Yt=r-Dt-Zt,qt=f?Math.min(f.offsetWidth-Et,Nt):Nt,Jt=c?Math.min(c.offsetHeight-Ht,Yt):Yt,Tt=Math.max(16,qt*Pt),It=Math.max(16,Jt*At);if(L(O=>jt(O,{width:Tt,height:It})),c&&u){let O=c.offsetHeight-It-Dt-Zt,Mt=xe(u,"--scroll-area-thumb-height",dt,gt,w,It,O);u.style.transform=`translate3d(0,${Mt}px,0)`}if(f&&h){let O=f.offsetWidth-Tt-zt-Wt,Mt=d==="rtl"?-H:H,ne=xe(h,"--scroll-area-thumb-width",Mt,Rt,C,Tt,O);h.style.transform=`translate3d(${d==="rtl"?-ne:ne}px,0,0)`}let Xt=[mt,pt,Ct,Vt];Re.forEach((O,Mt)=>{n.style.setProperty(O,`${Xt[Mt]}px`)}),$&&T(O=>jt(O,{width:i,height:R})),it(O=>jt(O,I));let Oe={xStart:!J&&mt>P.xStart,xEnd:!J&&pt>P.xEnd,yStart:!q&&Ct>P.yStart,yEnd:!q&&Vt>P.yEnd};ft(O=>jt(O,Oe))});ht(()=>{Ye()},[]),ht(()=>{queueMicrotask(b)},[b,k,d,P.xStart,P.xEnd,P.yStart,P.yEnd]),ht(()=>{a.current?.matches(":hover")&&rt(!0)},[a,rt]),ht(()=>{let n=a.current;if(typeof ResizeObserver>"u"||!n)return;let c=!1,f=new ResizeObserver(()=>{if(!c){c=!0;let u=G.current;if(u[0]===n.clientHeight&&u[1]===n.scrollHeight&&u[2]===n.clientWidth&&u[3]===n.scrollWidth)return}b()});return f.observe(n),ut.start(0,()=>{let u=n.getAnimations({subtree:!0});u.length!==0&&Promise.allSettled(u.map(h=>h.finished)).then(b).catch(()=>{})}),()=>{f.disconnect(),ut.clear()}},[b,a,ut]);function ot(){F.current=!1}o(ot,"handleUserInteraction");let V={role:"presentation",...U&&{"data-id":`${U}-viewport`},tabIndex:k.x&&k.y?-1:0,className:kt.className,style:{overflow:"scroll"},onScroll(){a.current&&(b(),(et||!F.current)&&tt({x:a.current.scrollLeft,y:a.current.scrollTop}),bt.start(100,()=>{F.current=!0}))},onWheel:ot,onPointerMove:ot,onPointerEnter:ot,onKeyDown:ot},E=D("div",t,{ref:[l,a],state:xt,props:[V,S],stateAttributesMapping:st}),K=St.useMemo(()=>({computeThumbPosition:b}),[b]);return(0,be.jsx)(re.Provider,{value:K,children:E})},"ScrollAreaViewport"));function Ie(e){let t=e.clientHeight>=e.scrollHeight,l=e.clientWidth>=e.scrollWidth;return{y:t,x:l,corner:t||l}}o(Ie,"getHiddenState");function jt(e,t){for(let l in t)if(e[l]!==t[l])return t;return e}o(jt,"pickState");function xe(e,t,l,g,v,m,S){let a=ie(l,0,g),p=l-a,x=Math.max(16,m*v/(v+Math.abs(p)));return e.style.setProperty(t,p?`${x}px`:""),(g?a/g*S:0)+(p>0?m-x:0)}o(xe,"applyOverscrollThumb");var Gt=N(Q(),1);var Bt=N(Q(),1);var oe=Bt.createContext(void 0);function Ee(){let e=Bt.useContext(oe);if(e===void 0)throw new Error(wt(54));return e}o(Ee,"useScrollAreaScrollbarContext");var we=N(_t(),1);var ve=Gt.forwardRef(o(function(t,l){let{render:g,className:v,orientation:m="vertical",keepMounted:S=!1,style:a,...p}=t,{hovering:x,scrollingX:y,scrollingY:W,hiddenState:_,scrollbarYRef:A,scrollbarXRef:T,viewportRef:L,thumbYRef:U,thumbXRef:it,handlePointerDown:k,handlePointerUp:B,handleScroll:tt,disableViewportSnap:et,rootId:rt,thumbSize:ft,hasMeasuredScrollbar:P,viewportState:xt}=j(),d=m==="vertical",F={...xt,hovering:x,scrolling:d?W:y,orientation:m},G=Ut(),bt=!P&&!S,ut=d?_.y:_.x,b=S||!ut;Gt.useEffect(()=>{if(!b)return;let E=L.current,K=d?A.current:T.current;if(!K)return;function n(c){if(!E||c.ctrlKey)return;let f=!d,u=f?"scrollLeft":"scrollTop",h=f?c.deltaX:c.deltaY;if(h===0)return;let $=f?E.scrollWidth-E.clientWidth:E.scrollHeight-E.clientHeight,w=f&&G==="rtl"?-$:0,C=f&&G==="rtl"?0:$,M=E[u];M<=w&&h<0||M>=C&&h>0||(c.preventDefault(),E[u]=Math.min(C,Math.max(w,M+h)),tt({x:E.scrollLeft,y:E.scrollTop}))}return o(n,"handleWheel"),ae(K,"wheel",n,{passive:!1})},[G,tt,d,T,A,b,L]);let ot={...rt&&{"data-id":`${rt}-scrollbar`},onPointerDown(E){if(E.button!==0)return;let K=ce(E.nativeEvent),n=d?U.current:it.current;if(n&&Lt(n,K))return;let c=L.current;if(!c)return;let f=d?A.current:T.current;if(!n||!f)return;let u=d?"y":"x",h=X(n,"margin",u),$=X(f,"padding",u),w=d?n.offsetHeight:n.offsetWidth,C=f.getBoundingClientRect(),M=d?E.clientY-C.top-w/2-$+h/2:E.clientX-C.left-w/2-$+h/2,Z=d?c.scrollHeight:c.scrollWidth,dt=d?c.clientHeight:c.clientWidth,z=(d?f.offsetHeight:f.offsetWidth)-w-$-h;if(z<=0)return;let Y=M/z,I=Z-dt;et(),d?c.scrollTop=Y*I:G==="rtl"?c.scrollLeft=-(1-Y)*I:c.scrollLeft=Y*I,tt({x:c.scrollLeft,y:c.scrollTop}),k(E)},onPointerUp:B,onPointerCancel:B,style:{position:"absolute",touchAction:"none",WebkitUserSelect:"none",userSelect:"none",visibility:bt?"hidden":void 0,...d?{top:0,bottom:"var(--scroll-area-corner-height)",insetInlineEnd:0,"--scroll-area-thumb-height":`${ft.height}px`}:{insetInlineStart:0,insetInlineEnd:"var(--scroll-area-corner-width)",bottom:0,"--scroll-area-thumb-width":`${ft.width}px`}}},V=D("div",t,{ref:[l,d?A:T],state:F,props:[ot,p],stateAttributesMapping:st});return b?(0,we.jsx)(oe.Provider,{value:m,children:V}):null},"ScrollAreaScrollbar"));var Ot=N(Q(),1);var ye=Ot.forwardRef(o(function(t,l){let{render:g,className:v,style:m,...S}=t,{computeThumbPosition:a}=pe(),{hasMeasuredScrollbar:p,viewportState:x}=j(),y=Ot.useRef(null),W=Ot.useRef(p);return ht(()=>{if(typeof ResizeObserver>"u")return;let A=!1,T=new ResizeObserver(()=>{!A&&(A=!0,!W.current)||a()});return y.current&&T.observe(y.current),()=>{T.disconnect()}},[a]),D("div",t,{ref:[l,y],state:x,stateAttributesMapping:st,props:[{role:"presentation",style:{minWidth:"fit-content"}},S]})},"ScrollAreaContent"));var Ae=N(Q(),1);var Ce=Ae.forwardRef(o(function(t,l){let{render:g,className:v,style:m,...S}=t,{thumbYRef:a,thumbXRef:p,handlePointerDown:x,handlePointerMove:y,handlePointerUp:W,scrollingX:_,scrollingY:A,hasMeasuredScrollbar:T}=j(),L=Ee(),U=L==="vertical";return D("div",t,{ref:[l,U?a:p],state:{scrolling:U?A:_,orientation:L},props:[{onPointerDown:x,onPointerMove:y,onPointerUp:W,onPointerCancel:W,style:{visibility:T?void 0:"hidden",...U?{height:"var(--scroll-area-thumb-height)"}:{width:"var(--scroll-area-thumb-width)"}}},S]})},"ScrollAreaThumb"));var Ne=N(Q(),1);var Te=Ne.forwardRef(o(function(t,l){let{render:g,className:v,style:m,...S}=t,{cornerRef:a,cornerSize:p,hiddenState:x}=j(),y=D("div",t,{ref:[l,a],props:[{style:{position:"absolute",bottom:0,insetInlineEnd:0,width:p.width,height:p.height}},S]});return x.corner?null:y},"ScrollAreaCorner"));var at=N(_t(),1);function ao(e){let t=(0,Me.c)(14),l,g,v;t[0]!==e?({className:g,children:l,...v}=e,t[0]=e,t[1]=l,t[2]=g,t[3]=v):(l=t[1],g=t[2],v=t[3]);let m;t[4]!==g?(m=Qt("relative",g),t[4]=g,t[5]=m):m=t[5];let S;t[6]!==l?(S=(0,at.jsx)(ct.Viewport,{"data-slot":"scroll-area-viewport",className:"size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1",children:l}),t[6]=l,t[7]=S):S=t[7];let a,p;t[8]===Symbol.for("react.memo_cache_sentinel")?(a=(0,at.jsx)(Xe,{}),p=(0,at.jsx)(ct.Corner,{}),t[8]=a,t[9]=p):(a=t[8],p=t[9]);let x;return t[10]!==v||t[11]!==m||t[12]!==S?(x=(0,at.jsxs)(ct.Root,{"data-slot":"scroll-area",className:m,...v,children:[S,a,p]}),t[10]=v,t[11]=m,t[12]=S,t[13]=x):x=t[13],x}o(ao,"z");function Xe({className:e,orientation:t="vertical",...l}){return(0,at.jsx)(ct.Scrollbar,{"data-slot":"scroll-area-scrollbar","data-orientation":t,orientation:t,className:Qt("flex touch-none p-px transition-colors select-none data-horizontal:h-2.5 data-horizontal:flex-col data-horizontal:border-t data-horizontal:border-t-transparent data-vertical:h-full data-vertical:w-2.5 data-vertical:border-s data-vertical:border-s-transparent",e),...l,children:(0,at.jsx)(ct.Thumb,{"data-slot":"scroll-area-thumb",className:"relative flex-1 rounded-md bg-border"})})}o(Xe,"h");export{ao as a};
@@ -0,0 +1 @@
1
+ import{b as h}from"./chunk-SPDZUX4P.js";import"./chunk-7PIHTTND.js";import{b as A}from"./chunk-YUWMB6EV.js";import{f as k}from"./chunk-TBXK3FKP.js";import"./chunk-RCZTUWG3.js";import{a as y,e as S}from"./chunk-IYWVSMAY.js";import{d as I}from"./chunk-6ZPTNC34.js";import"./chunk-VYW2PAWC.js";import{a as u,d as w,f as z,g as P}from"./chunk-R5ZTCHCE.js";var N=w(z(),1);var a=w(P(),1);var j=[{key:"accounts",label:"Accounts"},{key:"admin",label:"Admin"},{key:"organization",label:"Organizations"},{key:"passkey",label:"Passkeys"},{key:"twoFactor",label:"Two-factor"}],v=u(e=>{if(e===void 0)return"\u2014";let i=[[86400,"d"],[3600,"h"],[60,"m"]];for(let[t,d]of i)if(e>=t&&e%t===0)return`${String(e/t)}${d}`;return`${String(e)}s`},"v"),p=u(e=>{let i=(0,N.c)(8),{children:t,heading:d,testId:n}=e,l;i[0]!==d?(l=(0,a.jsx)("header",{className:"border-b border-border px-4 py-3",children:(0,a.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:d})}),i[0]=d,i[1]=l):l=i[1];let s;i[2]!==t?(s=(0,a.jsx)(S,{className:"p-3",children:t}),i[2]=t,i[3]=s):s=i[3];let c;return i[4]!==l||i[5]!==s||i[6]!==n?(c=(0,a.jsxs)(y,{className:"gap-0 py-0","data-testid":n,children:[l,s]}),i[4]=l,i[5]=s,i[6]=n,i[7]=c):c=i[7],c},"h"),o=u(e=>{let i=(0,N.c)(7),{label:t,value:d}=e,n;i[0]!==t?(n=(0,a.jsx)("span",{className:"text-sm",children:t}),i[0]=t,i[1]=n):n=i[1];let l;i[2]!==d?(l=(0,a.jsx)("span",{className:"text-sm text-muted-foreground tabular-nums",children:d}),i[2]=d,i[3]=l):l=i[3];let s;return i[4]!==n||i[5]!==l?(s=(0,a.jsxs)("div",{className:"flex items-center justify-between gap-2 rounded-xl border border-border bg-card p-2 shadow-xs",children:[n,l]}),i[4]=n,i[5]=l,i[6]=s):s=i[6],s},"c"),M=u(()=>{let e=(0,N.c)(20),i=k(),t=I(),d;e[0]===Symbol.for("react.memo_cache_sentinel")?(d=["lunora-auth-config"],e[0]=d):d=e[0];let n;e[1]!==i?(n=u(()=>i.getAuthConfig(),"r"),e[1]=i,e[2]=n):n=e[2];let{data:l,error:s}=A(d,n),c;e[3]!==t?(c=u(r=>(0,a.jsx)(h,{variant:r?"success":"outline",children:t(r?"Enabled":"Disabled")}),"u"),e[3]=t,e[4]=c):c=e[4];let m=c,g;e[5]!==s?(g=s!==null&&(0,a.jsx)("p",{className:"px-4 py-8 text-center text-sm text-destructive","data-testid":"auth-config-error",role:"alert",children:s}),e[5]=s,e[6]=g):g=e[6];let f;e[7]!==l||e[8]!==s||e[9]!==t?(f=s===null&&l===void 0&&(0,a.jsx)("p",{className:"px-4 py-8 text-center text-sm text-muted-foreground","data-testid":"auth-config-loading",children:t("Loading auth configuration\u2026")}),e[7]=l,e[8]=s,e[9]=t,e[10]=f):f=e[10];let x;e[11]!==l||e[12]!==s||e[13]!==m||e[14]!==t?(x=s===null&&l!==void 0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(p,{heading:t("Enabled capabilities"),testId:"auth-config-capabilities",children:(0,a.jsx)("ul",{className:"grid grid-cols-1 gap-2 sm:grid-cols-2",children:j.map(r=>{let $=l.capabilities[r.key];return(0,a.jsxs)("li",{className:"flex items-center justify-between gap-2 rounded-xl border border-border bg-card p-2 shadow-xs","data-testid":`auth-config-cap-${r.key}`,children:[(0,a.jsx)("span",{className:"text-sm",children:t(r.label)}),m($)]},r.key)})})}),(0,a.jsx)(p,{heading:t("Plugins"),testId:"auth-config-plugins",children:l.plugins.length===0?(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:t("No plugins enabled.")}):(0,a.jsx)("div",{className:"flex flex-wrap gap-2",children:l.plugins.map(C)})}),(0,a.jsx)(p,{heading:t("Sign-in methods"),testId:"auth-config-signin",children:(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(o,{label:t("Email & password"),value:m(l.emailAndPassword)}),(0,a.jsx)(o,{label:t("Social providers"),value:l.socialProviders.length===0?t("None"):(0,a.jsx)("span",{className:"flex flex-wrap justify-end gap-1",children:l.socialProviders.map(L)})})]})}),l.organization.enabled&&(0,a.jsx)(p,{heading:t("Organizations"),testId:"auth-config-org",children:(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(o,{label:t("Teams"),value:m(l.organization.teams)}),(0,a.jsx)(o,{label:t("Custom roles"),value:m(l.organization.roles)})]})}),(0,a.jsx)(p,{heading:t("Session policy"),testId:"auth-config-session",children:(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(o,{label:t("Expires in"),value:v(l.session.expiresIn)}),(0,a.jsx)(o,{label:t("Refresh after"),value:v(l.session.updateAge)}),(0,a.jsx)(o,{label:t("Fresh window"),value:v(l.session.freshAge)}),(0,a.jsx)(o,{label:t("Cookie cache"),value:m(l.session.cookieCache===!0)})]})}),(0,a.jsx)(p,{heading:t("Rate limit"),testId:"auth-config-ratelimit",children:(0,a.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,a.jsx)(o,{label:t("Status"),value:m(l.rateLimit.enabled)}),l.rateLimit.enabled&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o,{label:t("Max requests"),value:l.rateLimit.max??"\u2014"}),(0,a.jsx)(o,{label:t("Window"),value:v(l.rateLimit.window)})]})]})}),l.userFields.length>0&&(0,a.jsx)(p,{heading:t("Plugin user fields"),testId:"auth-config-user-fields",children:(0,a.jsx)("ul",{className:"flex flex-col gap-2",children:l.userFields.map(r=>(0,a.jsxs)("li",{className:"flex items-center justify-between gap-2 rounded-xl border border-border bg-card p-2 shadow-xs","data-testid":`auth-config-user-field-${r.name}`,children:[(0,a.jsxs)("span",{className:"flex flex-col",children:[(0,a.jsx)("span",{className:"font-mono text-xs",children:r.name}),r.plugin!==void 0&&(0,a.jsx)("span",{className:"text-[11px] text-muted-foreground",children:r.plugin})]}),(0,a.jsxs)("span",{className:"flex items-center gap-1",children:[(0,a.jsx)(h,{variant:"outline",children:r.type}),r.required&&(0,a.jsx)(h,{variant:"secondary",children:t("required")}),r.unique&&(0,a.jsx)(h,{variant:"secondary",children:t("unique")})]})]},r.name))})}),(0,a.jsx)(y,{className:"gap-0 py-0",children:(0,a.jsx)("p",{className:"px-4 py-3 text-xs text-muted-foreground","data-testid":"auth-config-note",children:t("OAuth providers, email templates, and rate limits are configured at deploy time in the better-auth setup and aren't editable here. See the Mail tab for email output.")})})]}),e[11]=l,e[12]=s,e[13]=m,e[14]=t,e[15]=x):x=e[15];let b;return e[16]!==g||e[17]!==f||e[18]!==x?(b=(0,a.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"auth-config",children:[g,f,x]}),e[16]=g,e[17]=f,e[18]=x,e[19]=b):b=e[19],b},"O");function C(e){return(0,a.jsx)(h,{"data-testid":`auth-config-plugin-${e}`,variant:"outline",children:e},e)}u(C,"P");function L(e){return(0,a.jsx)(h,{"data-testid":`auth-config-provider-${e}`,variant:"outline",children:e},e)}u(L,"z");export{M as default};
@@ -0,0 +1 @@
1
+ import{d as F,e as Z}from"./chunk-R5ZTCHCE.js";var m=[["path",{d:"M18 9.00005C18 9.00005 13.5811 15 12 15C10.4188 15 6 9 6 9",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",key:"0"}]];var A=[["path",{d:"M17.9998 15C17.9998 15 13.5809 9.00001 11.9998 9C10.4187 8.99999 5.99985 15 5.99985 15",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",key:"0"}]];var B=[["path",{d:"M18 6L6.00081 17.9992M17.9992 18L6 6.00085",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",key:"0"}]];var f=[["path",{d:"M9 15C9 12.1716 9 10.7574 9.87868 9.87868C10.7574 9 12.1716 9 15 9L16 9C18.8284 9 20.2426 9 21.1213 9.87868C22 10.7574 22 12.1716 22 15V16C22 18.8284 22 20.2426 21.1213 21.1213C20.2426 22 18.8284 22 16 22H15C12.1716 22 10.7574 22 9.87868 21.1213C9 20.2426 9 18.8284 9 16L9 15Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",key:"0"}],["path",{d:"M16.9999 9C16.9975 6.04291 16.9528 4.51121 16.092 3.46243C15.9258 3.25989 15.7401 3.07418 15.5376 2.90796C14.4312 2 12.7875 2 9.5 2C6.21252 2 4.56878 2 3.46243 2.90796C3.25989 3.07417 3.07418 3.25989 2.90796 3.46243C2 4.56878 2 6.21252 2 9.5C2 12.7875 2 14.4312 2.90796 15.5376C3.07417 15.7401 3.25989 15.9258 3.46243 16.092C4.51121 16.9528 6.04291 16.9975 9 16.9999",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",key:"1"}]];var w=[["path",{d:"M2.99969 17.0002C2.99969 17.9302 2.99969 18.3952 3.10192 18.7767C3.37932 19.8119 4.18796 20.6206 5.22324 20.898C5.60474 21.0002 6.06972 21.0002 6.99969 21.0002L16.9997 21.0002C17.9297 21.0002 18.3947 21.0002 18.7762 20.898C19.8114 20.6206 20.6201 19.8119 20.8975 18.7767C20.9997 18.3952 20.9997 17.9302 20.9997 17.0002",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",key:"0"}],["path",{d:"M16.4998 11.5002C16.4998 11.5002 13.1856 16.0002 11.9997 16.0002C10.8139 16.0002 7.49976 11.5002 7.49976 11.5002M11.9997 15.0002V3.00016",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",key:"1"}]];var P=[["path",{d:"M17 17L21 21",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",key:"0"}],["path",{d:"M19 11C19 6.58172 15.4183 3 11 3C6.58172 3 3 6.58172 3 11C3 15.4183 6.58172 19 11 19C15.4183 19 19 15.4183 19 11Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",key:"1"}]];var D=[["path",{d:"M21.0477 3.05293C18.8697 0.707363 2.48648 6.4532 2.50001 8.551C2.51535 10.9299 8.89809 11.6617 10.6672 12.1581C11.7311 12.4565 12.016 12.7625 12.2613 13.8781C13.3723 18.9305 13.9301 21.4435 15.2014 21.4996C17.2278 21.5892 23.1733 5.342 21.0477 3.05293Z",stroke:"currentColor",strokeWidth:"1.5",key:"0"}],["path",{d:"M11.4999 12.5L14.9999 9",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",key:"1"}]];var T=[["path",{d:"M2 12C2 8.31087 2 6.4663 2.81382 5.15877C3.1149 4.67502 3.48891 4.25427 3.91891 3.91554C5.08116 3 6.72077 3 10 3H14C17.2792 3 18.9188 3 20.0811 3.91554C20.5111 4.25427 20.8851 4.67502 21.1862 5.15877C22 6.4663 22 8.31087 22 12C22 15.6891 22 17.5337 21.1862 18.8412C20.8851 19.325 20.5111 19.7457 20.0811 20.0845C18.9188 21 17.2792 21 14 21H10C6.72077 21 5.08116 21 3.91891 20.0845C3.48891 19.7457 3.1149 19.325 2.81382 18.8412C2 17.5337 2 15.6891 2 12Z",stroke:"currentColor",strokeWidth:"1.5",key:"0"}],["path",{d:"M9.5 3L9.5 21",stroke:"currentColor",strokeLinejoin:"round",strokeWidth:"1.5",key:"1"}],["path",{d:"M5 7H6M5 10H6",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",key:"2"}]];var R=[["path",{d:"M5 14L8.5 17.5L19 6.5",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",key:"0"}]];var b=[["path",{d:"M18 14C18 14 13.5811 19 12 19C10.4188 19 6 14 6 14",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",key:"0"}],["path",{d:"M18 9.99996C18 9.99996 13.5811 5.00001 12 5C10.4188 4.99999 6 10 6 10",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",key:"1"}]];var e=F(Z(),1),g={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none"},L=(0,e.forwardRef)(({color:t="currentColor",size:n=24,strokeWidth:C,absoluteStrokeWidth:h=!1,className:p="",altIcon:d,showAlt:M=!1,icon:l,primaryColor:s,secondaryColor:k,disableSecondaryOpacity:y=!1,...W},j)=>{let c=C!==void 0?h?Number(C)*24/Number(n):C:void 0,u=c!==void 0?{strokeWidth:c,stroke:"currentColor"}:{},I={ref:j,...g,width:n,height:n,color:s||t,className:p,...u,...W},H=[...M&&d?d:l].sort(([,i],[,o])=>{let r=i.opacity!==void 0;return o.opacity!==void 0?1:r?-1:0}).map(([i,o])=>{let r=o.opacity!==void 0,a=r&&!y?o.opacity:void 0,V=k?{...o.stroke!==void 0?{stroke:r?k:s||t}:{fill:r?k:s||t}}:{};return(0,e.createElement)(i,{...o,...u,...V,opacity:a,key:o.key})});return(0,e.createElement)("svg",I,H)});L.displayName="HugeiconsIcon";export{m as a,A as b,B as c,f as d,w as e,P as f,D as g,T as h,R as i,b as j,L as k};
@@ -0,0 +1 @@
1
+ import{P as R}from"./chunk-AOAJGSYZ.js";import"./chunk-TFMQSCGC.js";import{a as B}from"./chunk-BWEXJENB.js";import"./chunk-74ASA4WU.js";import"./chunk-XQS7KSHL.js";import{b as S}from"./chunk-SPDZUX4P.js";import"./chunk-7PIHTTND.js";import{a as q}from"./chunk-UIF57LBO.js";import"./chunk-PZ4QDWTI.js";import"./chunk-FLCK2WWQ.js";import"./chunk-F7JOSNAT.js";import{a as U}from"./chunk-VDW32UET.js";import{c as O}from"./chunk-YUWMB6EV.js";import"./chunk-TBXK3FKP.js";import"./chunk-RCZTUWG3.js";import{a as D}from"./chunk-UANVABQG.js";import{a as G,b as J,c as K,d as F,e as s,f as o}from"./chunk-L4EZAHCD.js";import{a as V,e as W}from"./chunk-IYWVSMAY.js";import{d as P,r as H}from"./chunk-6ZPTNC34.js";import"./chunk-VYW2PAWC.js";import{a as n,d as j,e as re,f as ae,g as ie}from"./chunk-R5ZTCHCE.js";var X=j(ae(),1),M=j(re(),1);var t=j(ie(),1);var ne=n(e=>e==="ok"?"success":e==="failed"?"destructive":e==="expired"?"warning":"secondary","te"),Q=n(e=>e.endpoint??e.id,"M"),ve=n(()=>{let e=(0,X.c)(38),r=P(),[i,Y]=(0,M.useState)("all"),[l,Z]=(0,M.useState)(""),g;e[0]===Symbol.for("react.memo_cache_sentinel")?(g={},e[0]=g):g=e[0];let{data:I,error:d,errorSource:x,isLoading:_,refetch:v}=O(U.listPushSubscriptions,g),N;if(e[1]!==I?.subscriptions||e[2]!==d||e[3]!==x||e[4]!==_||e[5]!==i||e[6]!==v||e[7]!==l||e[8]!==r){let L=I?.subscriptions??[],T=l.trim().toLowerCase(),A=L.filter(a=>i!=="all"&&a.kind!==i?!1:T===""?!0:`${Q(a)} ${a.userId??""}`.toLowerCase().includes(T)),b;e[10]===Symbol.for("react.memo_cache_sentinel")?(b=n(a=>{Z(a.target.value)},"w"),e[10]=b):b=e[10];let ee=b,w;e[11]!==v?(w=n(()=>{v()},"y"),e[11]=v,e[12]=w):w=e[12];let E=w,k;e[13]===Symbol.for("react.memo_cache_sentinel")?(k=["all","web-push","fcm"],e[13]=k):k=e[13];let te=k,c;e[14]!==i||e[15]!==r?(c=(0,t.jsx)("div",{className:"flex items-center gap-1","data-testid":"nt-kind-filter",role:"tablist",children:te.map(a=>(0,t.jsx)(B,{"aria-selected":i===a,"data-testid":`nt-kind-${a}`,onClick:n(()=>{Y(a)},"onClick"),role:"tab",size:"sm",type:"button",variant:i===a?"secondary":"ghost",children:a==="all"?r("All"):a},a))}),e[14]=i,e[15]=r,e[16]=c):c=e[16];let m;e[17]!==r?(m=r("Filter devices"),e[17]=r,e[18]=m):m=e[18];let h;e[19]!==r?(h=r("filter endpoint, user"),e[19]=r,e[20]=h):h=e[20];let u;e[21]!==l||e[22]!==m||e[23]!==h?(u=(0,t.jsx)(R,{"aria-label":m,className:"h-8 w-56","data-testid":"nt-search",onChange:ee,placeholder:h,value:l}),e[21]=l,e[22]=m,e[23]=h,e[24]=u):u=e[24];let f;e[25]!==r?(f=r("Refresh"),e[25]=r,e[26]=f):f=e[26];let p;e[27]!==E||e[28]!==f?(p=(0,t.jsx)(B,{className:"ml-auto","data-testid":"nt-refresh",onClick:E,size:"sm",type:"button",variant:"outline",children:f}),e[27]=E,e[28]=f,e[29]=p):p=e[29];let $=L.length>0&&(0,t.jsx)(S,{"data-testid":"nt-count",variant:"secondary",children:r("{count} devices",{count:L.length})}),y;e[30]!==p||e[31]!==$||e[32]!==c||e[33]!==u?(y=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c,u,p,$]}),e[30]=p,e[31]=$,e[32]=c,e[33]=u,e[34]=y):y=e[34];let C;e[35]!==d||e[36]!==x?(C=d!==null&&(0,t.jsx)(q,{error:x,testId:"nt-error"}),e[35]=d,e[36]=x,e[37]=C):C=e[37],N=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-notifications",children:[y,C,d===null&&!_&&A.length===0&&(0,t.jsx)(D,{description:r("Registered Web Push / FCM devices appear here. Configure lunora/notify.ts with defineNotify({ store }) and register a device with ctx.push.register(...)."),icon:(0,t.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,t.jsx)("path",{d:"M15 17h5l-1.4-1.4A2 2 0 0 1 18 14.2V11a6 6 0 0 0-4-5.7V5a2 2 0 1 0-4 0v.3A6 6 0 0 0 6 11v3.2a2 2 0 0 1-.6 1.4L4 17h5m6 0v1a3 3 0 1 1-6 0v-1m6 0H9"})}),testId:"nt-empty",title:r("No registered devices.")}),A.length>0&&(0,t.jsx)(V,{className:"overflow-hidden py-0",children:(0,t.jsx)(W,{className:"max-h-[30rem] overflow-auto px-0",children:(0,t.jsxs)(G,{"data-testid":"nt-table",children:[(0,t.jsx)(J,{children:(0,t.jsxs)(F,{children:[(0,t.jsx)(s,{children:r("kind")}),(0,t.jsx)(s,{children:r("endpoint")}),(0,t.jsx)(s,{children:r("user")}),(0,t.jsx)(s,{children:r("last seen")}),(0,t.jsx)(s,{children:r("status")}),(0,t.jsx)(s,{children:r("error")})]})}),(0,t.jsx)(K,{children:A.map(a=>{let z=Q(a);return(0,t.jsxs)(F,{"data-testid":"nt-row",children:[(0,t.jsx)(o,{children:(0,t.jsx)(S,{variant:"outline",children:a.kind})}),(0,t.jsx)(o,{className:"max-w-[28ch] truncate font-mono text-xs",title:z,children:z}),(0,t.jsx)(o,{className:"max-w-[16ch] truncate font-mono text-xs",children:a.userId??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})}),(0,t.jsx)(o,{className:"text-muted-foreground tabular-nums",children:H(a.lastSeenAt,"\u2014")}),(0,t.jsx)(o,{children:(0,t.jsx)(S,{"data-testid":`nt-status-${a.id}`,variant:ne(a.lastStatus),children:a.lastStatus??r("n/a")})}),(0,t.jsx)(o,{className:"max-w-[28ch] truncate font-mono text-xs text-muted-foreground",title:a.lastError??void 0,children:a.lastError??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})})]},a.id)})})]})})})]}),e[1]=I?.subscriptions,e[2]=d,e[3]=x,e[4]=_,e[5]=i,e[6]=v,e[7]=l,e[8]=r,e[9]=N}else N=e[9];return N},"ge");export{ve as default};