@lunora/studio 1.0.0-alpha.59 → 1.0.0-alpha.60

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 (381) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.js +1 -43
  3. package/dist/mount.js +1 -27
  4. package/dist/packem_chunks/ApiTab.js +1 -251
  5. package/dist/packem_chunks/AuditPanel.js +1 -200
  6. package/dist/packem_chunks/DeploymentHealthPanel.js +1 -664
  7. package/dist/packem_chunks/ExportImportPanel.js +3 -198
  8. package/dist/packem_chunks/FileBrowser.js +4 -2955
  9. package/dist/packem_chunks/FunctionRunner.js +1 -326
  10. package/dist/packem_chunks/FunctionStatsPanel.js +1 -377
  11. package/dist/packem_chunks/HealthPanel.js +1 -648
  12. package/dist/packem_chunks/InsightsPanel.js +1 -462
  13. package/dist/packem_chunks/LogsPanel.js +1 -1303
  14. package/dist/packem_chunks/MailPanel.js +2 -353
  15. package/dist/packem_chunks/MetricsPanel.js +1 -1960
  16. package/dist/packem_chunks/MigrationsPanel.js +1 -239
  17. package/dist/packem_chunks/NotificationsPanel.js +1 -306
  18. package/dist/packem_chunks/PitrPanel.js +1 -252
  19. package/dist/packem_chunks/SchemaViewer.js +1 -2512
  20. package/dist/packem_chunks/SecurityAdvisorPanel.js +1 -95
  21. package/dist/packem_chunks/SettingsPanel.js +1 -391
  22. package/dist/packem_chunks/SqlEditorPanel.js +4 -2340
  23. package/dist/packem_chunks/TableEditor.js +1 -290
  24. package/dist/packem_chunks/agents-panel.js +1 -326
  25. package/dist/packem_chunks/analytics-panel.js +1 -261
  26. package/dist/packem_chunks/auth-audit-panel.js +1 -247
  27. package/dist/packem_chunks/auth-config-panel.js +1 -365
  28. package/dist/packem_chunks/auth-sessions-panel.js +1 -175
  29. package/dist/packem_chunks/containers-panel.js +1 -261
  30. package/dist/packem_chunks/dashboards-panel.js +1 -781
  31. package/dist/packem_chunks/fanout-panel.js +1 -482
  32. package/dist/packem_chunks/flags-panel.js +1 -176
  33. package/dist/packem_chunks/issues-panel.js +1 -427
  34. package/dist/packem_chunks/kv-browser.js +1 -1896
  35. package/dist/packem_chunks/log-drains-panel.js +4 -273
  36. package/dist/packem_chunks/organizations-panel.js +1 -3209
  37. package/dist/packem_chunks/payments-panel.js +1 -213
  38. package/dist/packem_chunks/permissions-panel.js +1 -805
  39. package/dist/packem_chunks/queues-panel.js +1 -1075
  40. package/dist/packem_chunks/rls-panel.js +1 -315
  41. package/dist/packem_chunks/schedule-panel.js +1 -831
  42. package/dist/packem_chunks/sparkline.js +1 -79
  43. package/dist/packem_chunks/storage-rules-panel.js +1 -140
  44. package/dist/packem_chunks/subscriptions-panel.js +1 -238
  45. package/dist/packem_chunks/sync-client-panel.js +1 -0
  46. package/dist/packem_chunks/traces-panel.js +1 -747
  47. package/dist/packem_chunks/users-panel.js +1 -1731
  48. package/dist/packem_chunks/vector-browser.js +1 -281
  49. package/dist/packem_chunks/workflows-panel.js +1 -562
  50. package/dist/packem_shared/ADMIN_FUNCTIONS-BYNSbBVE.js +1 -0
  51. package/dist/packem_shared/ApiDocsPanel-eJYZlylw.js +2 -0
  52. package/dist/packem_shared/ApiReferencePanel-C42v1jr6.js +1 -0
  53. package/dist/packem_shared/CommandPalette-CVIaY3j8.js +1 -0
  54. package/dist/packem_shared/ConfirmButton-CTL3f3kr.js +1 -0
  55. package/dist/packem_shared/ConnectionBadge-DOk0CQWo.js +1 -0
  56. package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-BCC8_4BQ.js +1 -0
  57. package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-B-hcFVoi.js +1 -0
  58. package/dist/packem_shared/DEFAULT_LOCALE-BZ4NojpD.js +1 -0
  59. package/dist/packem_shared/DataBrowser-B8J5lHjP.js +1 -0
  60. package/dist/packem_shared/DataFilters-Csb30F0C.js +1 -0
  61. package/dist/packem_shared/ErrorBoundary-DvzYskH7.js +1 -0
  62. package/dist/packem_shared/GlobalDataBrowser-RLJ6NvOs.js +1 -0
  63. package/dist/packem_shared/HomePanel-DL1HupAN.js +1 -0
  64. package/dist/packem_shared/OpenRpcReferencePanel-sGsIgYWj.js +1 -0
  65. package/dist/packem_shared/STUDIO_ROOT_CLASS-C6MccdVk.js +1 -0
  66. package/dist/packem_shared/ScheduledJobs-DUbo6epc.js +1 -0
  67. package/dist/packem_shared/ShardInput-BVn2iCU0.js +1 -0
  68. package/dist/packem_shared/Studio-BWBclm_C.js +1 -0
  69. package/dist/packem_shared/StudioApp-BFm73yVr.js +1 -0
  70. package/dist/packem_shared/StudioI18nProvider-CZ5h4nrV.js +1 -0
  71. package/dist/packem_shared/advisor-view-DaCX9Jy5.js +1 -0
  72. package/dist/packem_shared/aggregateMetrics-BNfajLa2.js +1 -0
  73. package/dist/packem_shared/alert-CVcOFuDR.js +1 -0
  74. package/dist/packem_shared/badge-BbuuAio7.js +1 -0
  75. package/dist/packem_shared/bar-chart-AryFCeoa.js +9 -0
  76. package/dist/packem_shared/browser-storage-xjTyMKY0.js +1 -0
  77. package/dist/packem_shared/button-BkCrNcAs.js +1 -0
  78. package/dist/packem_shared/card-CIDGUN6K.js +1 -0
  79. package/dist/packem_shared/cf-links-gbDy51nR.js +1 -0
  80. package/dist/packem_shared/checkbox-StT4Gob6.js +1 -0
  81. package/dist/packem_shared/data-grid-BMBKzMEJ.js +1 -0
  82. package/dist/packem_shared/data-view-params-C8T3bW1z.js +1 -0
  83. package/dist/packem_shared/dropdown-menu-C3RQ_HlW.js +2 -0
  84. package/dist/packem_shared/empty-state-Cg7t_8qu.js +1 -0
  85. package/dist/packem_shared/error-alert-B59DnrDI.js +1 -0
  86. package/dist/packem_shared/grid-features-uZCUj955.js +6 -0
  87. package/dist/packem_shared/home-panel-B-8BCffw.js +3 -0
  88. package/dist/packem_shared/input-JHu63lTv.js +1 -0
  89. package/dist/packem_shared/internal-AtZ4bTal.js +2 -0
  90. package/dist/packem_shared/label-6uP1obNF.js +1 -0
  91. package/dist/packem_shared/live-status-CGW2JHf_.js +1 -0
  92. package/dist/packem_shared/log-fields-CoL3hsIQ.js +1 -0
  93. package/dist/packem_shared/modal-shell-CUwwWC2o.js +1 -0
  94. package/dist/packem_shared/reference-view-KvhektwF.js +12 -0
  95. package/dist/packem_shared/result-chart-CwKhhKM0.js +1 -0
  96. package/dist/packem_shared/scroll-area-DTEq6Jec.js +2 -0
  97. package/dist/packem_shared/select-Bul-DeII.js +2 -0
  98. package/dist/packem_shared/shard-history-DMEW5VBE.js +1 -0
  99. package/dist/packem_shared/skeleton-C1wQ9M5t.js +1 -0
  100. package/dist/packem_shared/sparkline-DtcZoU48.js +1 -0
  101. package/dist/packem_shared/storage-tier-DznqOf-q.js +1 -0
  102. package/dist/packem_shared/studio-BHA7hnI3.js +2 -0
  103. package/dist/packem_shared/table-DdJBrClo.js +2 -0
  104. package/dist/packem_shared/table-list-sidebar-CMCcNALK.js +1 -0
  105. package/dist/packem_shared/textarea-Bu2-jKAs.js +1 -0
  106. package/dist/packem_shared/trace-handoff-Dw7mwjxu.js +1 -0
  107. package/dist/packem_shared/use-admin-query-Di3fLE8H.js +1 -0
  108. package/dist/packem_shared/use-async-submit-H68GHPz8.js +1 -0
  109. package/dist/packem_shared/useDebounced-Ihdiid_k.js +1 -0
  110. package/dist/packem_shared/utils-bhneXptQ.js +1 -0
  111. package/dist/packem_shared/virtual-rect-1o1veP7R.js +1 -0
  112. package/dist/standalone/chunk-23HKRH5H.js +13 -0
  113. package/dist/standalone/chunk-2A4RKII2.js +1 -0
  114. package/dist/standalone/chunk-3DTM4GI5.js +1 -0
  115. package/dist/standalone/chunk-3MHKT76P.js +1 -0
  116. package/dist/standalone/chunk-46IB4C4Q.js +1 -0
  117. package/dist/standalone/chunk-4AYEV5UN.js +1 -0
  118. package/dist/standalone/chunk-4FNHHFWR.js +1 -0
  119. package/dist/standalone/chunk-6CLVIOCB.js +1 -0
  120. package/dist/standalone/chunk-6I62RSI5.js +1 -0
  121. package/dist/standalone/chunk-6OKDCV7J.js +1 -0
  122. package/dist/standalone/chunk-6P7HIPUE.js +1 -0
  123. package/dist/standalone/chunk-6UYILUSX.js +1 -0
  124. package/dist/standalone/chunk-725RLB7D.js +1 -0
  125. package/dist/standalone/chunk-7AZZ7OJO.js +1 -0
  126. package/dist/standalone/chunk-7CRLAMGB.js +1 -0
  127. package/dist/standalone/chunk-7Z5QEFR4.js +2 -0
  128. package/dist/standalone/chunk-AGVJJQFL.js +1 -0
  129. package/dist/standalone/chunk-AKTGRZXN.js +1 -0
  130. package/dist/standalone/chunk-BAIN7UJ4.js +1 -0
  131. package/dist/standalone/chunk-BHWSIIDT.js +1 -0
  132. package/dist/standalone/{chunk-L7SK4ZZD.js → chunk-C4O5UR4Y.js} +1 -1
  133. package/dist/standalone/chunk-C4VURT57.js +1 -0
  134. package/dist/standalone/chunk-CKO3F55C.js +4 -0
  135. package/dist/standalone/chunk-CVMRZUF5.js +4 -0
  136. package/dist/standalone/chunk-CWWGDW4V.js +1 -0
  137. package/dist/standalone/chunk-CYET4BRZ.js +1 -0
  138. package/dist/standalone/chunk-CZEUVNCQ.js +1 -0
  139. package/dist/standalone/chunk-FXFK4M4E.js +1 -0
  140. package/dist/standalone/chunk-FYAJPWE7.js +1 -0
  141. package/dist/standalone/chunk-GS7OBQO5.js +1 -0
  142. package/dist/standalone/chunk-GTXVH7I5.js +1 -0
  143. package/dist/standalone/chunk-H6SIM4BT.js +1 -0
  144. package/dist/standalone/chunk-H6WOFY6A.js +8 -0
  145. package/dist/standalone/chunk-HA34GYEX.js +1 -0
  146. package/dist/standalone/chunk-HMIOF5GV.js +1 -0
  147. package/dist/standalone/chunk-HY46NTNW.js +6 -0
  148. package/dist/standalone/chunk-IBCKC2BO.js +1 -0
  149. package/dist/standalone/chunk-ICKBVXPP.js +1 -0
  150. package/dist/standalone/chunk-IE4ROTQD.js +1 -0
  151. package/dist/standalone/chunk-IYYTWZ2E.js +2 -0
  152. package/dist/standalone/chunk-J2LMP2A7.js +1 -0
  153. package/dist/standalone/chunk-JC6WYIHM.js +1 -0
  154. package/dist/standalone/chunk-JKPK25JO.js +1 -0
  155. package/dist/standalone/chunk-JLFCXBNQ.js +1 -0
  156. package/dist/standalone/chunk-JRWBGR5B.js +1 -0
  157. package/dist/standalone/chunk-K5PFWU5J.js +1 -0
  158. package/dist/standalone/chunk-KJTLW5W2.js +11 -0
  159. package/dist/standalone/{chunk-HBGS4SEX.js → chunk-KLLYGWNF.js} +9 -9
  160. package/dist/standalone/chunk-KNN3ZEQ7.js +1 -0
  161. package/dist/standalone/{chunk-4QHKBC77.js → chunk-KOC5KV3E.js} +1 -1
  162. package/dist/standalone/chunk-KSRXMTBV.js +1 -0
  163. package/dist/standalone/chunk-KYCAYNXM.js +1 -0
  164. package/dist/standalone/chunk-KZ2YUNMR.js +1 -0
  165. package/dist/standalone/chunk-LKHUVEHX.js +1 -0
  166. package/dist/standalone/chunk-LPOKAJT4.js +4 -0
  167. package/dist/standalone/chunk-MZEK4SGD.js +1 -0
  168. package/dist/standalone/chunk-NCCUM26H.js +1 -0
  169. package/dist/standalone/chunk-O62HJZV3.js +1 -0
  170. package/dist/standalone/chunk-OTJOI23O.js +62 -0
  171. package/dist/standalone/chunk-P2NBOUGZ.js +1 -0
  172. package/dist/standalone/chunk-P4J6XNG3.js +1 -0
  173. package/dist/standalone/chunk-PGDWFWH5.js +1 -0
  174. package/dist/standalone/chunk-PR2SE2MD.js +1 -0
  175. package/dist/standalone/chunk-PTTDIYGP.js +1 -0
  176. package/dist/standalone/chunk-PWDMXMRD.js +1 -0
  177. package/dist/standalone/chunk-Q34MSC2F.js +1 -0
  178. package/dist/standalone/chunk-Q5WXTZWX.js +1 -0
  179. package/dist/standalone/chunk-QC5HCNJZ.js +4 -0
  180. package/dist/standalone/chunk-QJKRHZYV.js +1 -0
  181. package/dist/standalone/chunk-R43KHQDA.js +1 -0
  182. package/dist/standalone/chunk-RC2K5RBE.js +1 -0
  183. package/dist/standalone/chunk-RE6UWCMG.js +1 -0
  184. package/dist/standalone/chunk-RUP3M2GF.js +3 -0
  185. package/dist/standalone/chunk-SA6MBPBL.js +1 -0
  186. package/dist/standalone/{chunk-BJGBHGK3.js → chunk-SEDZDNQF.js} +1 -1
  187. package/dist/standalone/chunk-SKHEGARW.js +1 -0
  188. package/dist/standalone/chunk-SKJZDOHG.js +1 -0
  189. package/dist/standalone/chunk-SNDYNCAA.js +1 -0
  190. package/dist/standalone/chunk-SZUHZ2OG.js +1 -0
  191. package/dist/standalone/chunk-TAE2H7PU.js +1 -0
  192. package/dist/standalone/chunk-TEIBKU46.js +1 -0
  193. package/dist/standalone/chunk-TO6NLVFD.js +1 -0
  194. package/dist/standalone/chunk-TYTJDFX2.js +1 -0
  195. package/dist/standalone/{chunk-LXULVPEM.js → chunk-UDZY7MKE.js} +3 -3
  196. package/dist/standalone/chunk-UHHTEBC3.js +1 -0
  197. package/dist/standalone/chunk-UNDFOYRI.js +1 -0
  198. package/dist/standalone/chunk-UNN4CESU.js +1 -0
  199. package/dist/standalone/chunk-UNXX5GQH.js +1 -0
  200. package/dist/standalone/{chunk-ZHVTQ37P.js → chunk-UREY4GLG.js} +1 -1
  201. package/dist/standalone/chunk-UWF5DOGV.js +1 -0
  202. package/dist/standalone/chunk-UY2Y5CXB.js +1 -0
  203. package/dist/standalone/{chunk-VLXV72QE.js → chunk-UZYGEOWY.js} +1 -1
  204. package/dist/standalone/chunk-V66TSUKV.js +1 -0
  205. package/dist/standalone/chunk-VEFNSN7P.js +1 -0
  206. package/dist/standalone/chunk-VUJGR4PB.js +1 -0
  207. package/dist/standalone/chunk-VUXJER3D.js +1 -0
  208. package/dist/standalone/chunk-W572365D.js +1 -0
  209. package/dist/standalone/chunk-WYFLGXZ3.js +3 -0
  210. package/dist/standalone/chunk-XDKFPBIL.js +1 -0
  211. package/dist/standalone/chunk-XRKCGQM2.js +1 -0
  212. package/dist/standalone/chunk-YNBJ6ICE.js +1 -0
  213. package/dist/standalone/chunk-YQ5PILIJ.js +1 -0
  214. package/dist/standalone/chunk-YT7VXQVX.js +1 -0
  215. package/dist/standalone/chunk-Z7MUQMLE.js +1 -0
  216. package/dist/standalone/chunk-ZFWEPGWG.js +1 -0
  217. package/dist/standalone/chunk-ZMFZRGAN.js +1 -0
  218. package/dist/standalone/studio.js +9 -214
  219. package/package.json +4 -4
  220. package/dist/packem_shared/ADMIN_FUNCTIONS-P2UzJscH.js +0 -62
  221. package/dist/packem_shared/ApiDocsPanel-DNDpeR5O.js +0 -842
  222. package/dist/packem_shared/ApiReferencePanel-ChlRsAXU.js +0 -230
  223. package/dist/packem_shared/CommandPalette-BpkopP5f.js +0 -373
  224. package/dist/packem_shared/ConfirmButton-C2eVi2Qv.js +0 -59
  225. package/dist/packem_shared/ConnectionBadge-B2DDM2Tn.js +0 -111
  226. package/dist/packem_shared/DEFAULT_AUTO_REFRESH_MS-Vxwaxx51.js +0 -50
  227. package/dist/packem_shared/DEFAULT_INSIGHT_THRESHOLDS-DjF0h-gA.js +0 -89
  228. package/dist/packem_shared/DEFAULT_LOCALE-CiX4W7Kr.js +0 -27
  229. package/dist/packem_shared/DataBrowser-obTn4sKX.js +0 -4493
  230. package/dist/packem_shared/DataFilters-B1Q7mrt7.js +0 -253
  231. package/dist/packem_shared/ErrorBoundary-BzAApI7J.js +0 -66
  232. package/dist/packem_shared/GlobalDataBrowser-BCaohHZ5.js +0 -293
  233. package/dist/packem_shared/HomePanel-DCRj3hGB.js +0 -14
  234. package/dist/packem_shared/OpenRpcReferencePanel-CIeQE1aE.js +0 -192
  235. package/dist/packem_shared/STUDIO_ROOT_CLASS-D12gX2dV.js +0 -3
  236. package/dist/packem_shared/ScheduledJobs-BQzQo84k.js +0 -262
  237. package/dist/packem_shared/ShardInput-CZnpHILL.js +0 -107
  238. package/dist/packem_shared/Studio-DnlPCbID.js +0 -16
  239. package/dist/packem_shared/StudioApp-CzqlB4zO.js +0 -708
  240. package/dist/packem_shared/StudioI18nProvider-B-tDCZIi.js +0 -48
  241. package/dist/packem_shared/advisor-view-D95sN-wO.js +0 -159
  242. package/dist/packem_shared/aggregateMetrics-D4nUHEKU.js +0 -108
  243. package/dist/packem_shared/alert-CdAET2K_.js +0 -68
  244. package/dist/packem_shared/badge-B2PKA1-5.js +0 -49
  245. package/dist/packem_shared/bar-chart-DSwcWIRy.js +0 -3246
  246. package/dist/packem_shared/browser-storage-L4gOP5gJ.js +0 -105
  247. package/dist/packem_shared/button-BhsN2uZH.js +0 -49
  248. package/dist/packem_shared/card-F2vH_aj2.js +0 -175
  249. package/dist/packem_shared/cf-links-SIbyi4Y1.js +0 -8
  250. package/dist/packem_shared/checkbox-UNkzAxl-.js +0 -63
  251. package/dist/packem_shared/data-grid-BywzWfek.js +0 -183
  252. package/dist/packem_shared/data-view-params-Cd6yRVbv.js +0 -96
  253. package/dist/packem_shared/dropdown-menu-WY4B_eJO.js +0 -280
  254. package/dist/packem_shared/empty-state-DY_oe0k6.js +0 -98
  255. package/dist/packem_shared/error-alert-D9uIFJUS.js +0 -114
  256. package/dist/packem_shared/grid-features-ZOLhHKrR.js +0 -809
  257. package/dist/packem_shared/home-panel-BRAA2UlM.js +0 -1889
  258. package/dist/packem_shared/input-XH4r1Pt1.js +0 -53
  259. package/dist/packem_shared/internal-DzHCc2Rq.js +0 -131
  260. package/dist/packem_shared/label-D8ykjn5J.js +0 -46
  261. package/dist/packem_shared/live-status-FZ0psC1z.js +0 -44
  262. package/dist/packem_shared/log-fields-jEH83H2G.js +0 -18
  263. package/dist/packem_shared/modal-shell-hyaJvIJ6.js +0 -100
  264. package/dist/packem_shared/reference-view-DfXN7oWP.js +0 -2127
  265. package/dist/packem_shared/result-chart-Bf9mbCIo.js +0 -119
  266. package/dist/packem_shared/scroll-area-DLhcy-ml.js +0 -93
  267. package/dist/packem_shared/select-D9OwHEch.js +0 -273
  268. package/dist/packem_shared/shard-history-AxiJ1WPP.js +0 -16
  269. package/dist/packem_shared/skeleton-CGhL0p20.js +0 -45
  270. package/dist/packem_shared/sparkline-BnA1kC9X.js +0 -93
  271. package/dist/packem_shared/storage-tier-CL98eOvn.js +0 -85
  272. package/dist/packem_shared/studio-8QSXbZ98.js +0 -4192
  273. package/dist/packem_shared/table-DsCa9Qp9.js +0 -246
  274. package/dist/packem_shared/table-list-sidebar-gCE17v9B.js +0 -842
  275. package/dist/packem_shared/textarea-D3gaCU_-.js +0 -46
  276. package/dist/packem_shared/trace-handoff-CGolF3KS.js +0 -38
  277. package/dist/packem_shared/use-admin-query-C7JNuQp-.js +0 -106
  278. package/dist/packem_shared/use-async-submit-rnSk_jXl.js +0 -91
  279. package/dist/packem_shared/useDebounced-Dxncpg6z.js +0 -32
  280. package/dist/packem_shared/utils-B05Dmz_H.js +0 -8
  281. package/dist/packem_shared/virtual-rect-CVMUskSm.js +0 -10
  282. package/dist/standalone/chunk-2K47A3P6.js +0 -1
  283. package/dist/standalone/chunk-2MLA6WFH.js +0 -1
  284. package/dist/standalone/chunk-2NGUNNGW.js +0 -1
  285. package/dist/standalone/chunk-2TJVFKD2.js +0 -1
  286. package/dist/standalone/chunk-2YTF6LJ6.js +0 -1
  287. package/dist/standalone/chunk-3GXGLNKW.js +0 -1
  288. package/dist/standalone/chunk-3HGNPZBN.js +0 -1
  289. package/dist/standalone/chunk-3LJEGSMK.js +0 -11
  290. package/dist/standalone/chunk-3OA7PECS.js +0 -6
  291. package/dist/standalone/chunk-4PC7IXNY.js +0 -1
  292. package/dist/standalone/chunk-56XQYNUJ.js +0 -1
  293. package/dist/standalone/chunk-5OIBXYZM.js +0 -1
  294. package/dist/standalone/chunk-5QT5JRXD.js +0 -3
  295. package/dist/standalone/chunk-6RLPR7PL.js +0 -1
  296. package/dist/standalone/chunk-6V74EUPK.js +0 -1
  297. package/dist/standalone/chunk-7EE33WLB.js +0 -1
  298. package/dist/standalone/chunk-7TJJXVSE.js +0 -1
  299. package/dist/standalone/chunk-AHILM3ZP.js +0 -1
  300. package/dist/standalone/chunk-AN4RKMKW.js +0 -1
  301. package/dist/standalone/chunk-APSSZB6Z.js +0 -1
  302. package/dist/standalone/chunk-AXNGWSBM.js +0 -1
  303. package/dist/standalone/chunk-AXZILWRM.js +0 -1
  304. package/dist/standalone/chunk-C7RHEBOH.js +0 -1
  305. package/dist/standalone/chunk-CKSHCYGC.js +0 -2
  306. package/dist/standalone/chunk-CSWIYOB3.js +0 -1
  307. package/dist/standalone/chunk-D3VAON25.js +0 -1
  308. package/dist/standalone/chunk-DDLQN67F.js +0 -1
  309. package/dist/standalone/chunk-DGHW5JG5.js +0 -1
  310. package/dist/standalone/chunk-DMCSOTAE.js +0 -3
  311. package/dist/standalone/chunk-E3BKETAS.js +0 -1
  312. package/dist/standalone/chunk-E3OXNN6O.js +0 -1
  313. package/dist/standalone/chunk-E6BOGDIS.js +0 -1
  314. package/dist/standalone/chunk-F2YMCQ6B.js +0 -1
  315. package/dist/standalone/chunk-F7GE4X2U.js +0 -1
  316. package/dist/standalone/chunk-FAVUOGJR.js +0 -1
  317. package/dist/standalone/chunk-FXP6256Q.js +0 -1
  318. package/dist/standalone/chunk-G6CTAYHJ.js +0 -1
  319. package/dist/standalone/chunk-GTM65MVX.js +0 -1
  320. package/dist/standalone/chunk-H42W62SE.js +0 -1
  321. package/dist/standalone/chunk-HTF5ZX4I.js +0 -8
  322. package/dist/standalone/chunk-HV7G6DFP.js +0 -5
  323. package/dist/standalone/chunk-I2PS4L74.js +0 -1
  324. package/dist/standalone/chunk-IYHPYY4A.js +0 -1
  325. package/dist/standalone/chunk-J6J54MBP.js +0 -1
  326. package/dist/standalone/chunk-J7OGP4NN.js +0 -1
  327. package/dist/standalone/chunk-JSEXCW5Q.js +0 -1
  328. package/dist/standalone/chunk-JZLGLG4T.js +0 -1
  329. package/dist/standalone/chunk-KEGAWN6Y.js +0 -1
  330. package/dist/standalone/chunk-KZ6INM5M.js +0 -1
  331. package/dist/standalone/chunk-L2LN3MK4.js +0 -4
  332. package/dist/standalone/chunk-LT3FH6MW.js +0 -1
  333. package/dist/standalone/chunk-LZUWZBPE.js +0 -1
  334. package/dist/standalone/chunk-M4JM3TOY.js +0 -1
  335. package/dist/standalone/chunk-MLA5ZAEB.js +0 -1
  336. package/dist/standalone/chunk-MRBI5HNQ.js +0 -1
  337. package/dist/standalone/chunk-N5XX4HOL.js +0 -6
  338. package/dist/standalone/chunk-N7SVJOHN.js +0 -1
  339. package/dist/standalone/chunk-NKFXMDOD.js +0 -1
  340. package/dist/standalone/chunk-NPSNKFHE.js +0 -1
  341. package/dist/standalone/chunk-O3NAGRTR.js +0 -1
  342. package/dist/standalone/chunk-O7FVPUCO.js +0 -1
  343. package/dist/standalone/chunk-OKQXTLFX.js +0 -1
  344. package/dist/standalone/chunk-OXHHSUXO.js +0 -1
  345. package/dist/standalone/chunk-QAFAJBAW.js +0 -1
  346. package/dist/standalone/chunk-QAIM6KWT.js +0 -1
  347. package/dist/standalone/chunk-QCPMTB6W.js +0 -1
  348. package/dist/standalone/chunk-QQ2LOSZL.js +0 -1
  349. package/dist/standalone/chunk-QVIPA6UJ.js +0 -1
  350. package/dist/standalone/chunk-QVUQXJCT.js +0 -4
  351. package/dist/standalone/chunk-R2GMHLJY.js +0 -1
  352. package/dist/standalone/chunk-RD5UG2YL.js +0 -1
  353. package/dist/standalone/chunk-RJTIP3WF.js +0 -1
  354. package/dist/standalone/chunk-RRCPZMC2.js +0 -22
  355. package/dist/standalone/chunk-SHERR7ZP.js +0 -1
  356. package/dist/standalone/chunk-SOC5CY3F.js +0 -1
  357. package/dist/standalone/chunk-SS7JLF2I.js +0 -4
  358. package/dist/standalone/chunk-SWWYUGPL.js +0 -2
  359. package/dist/standalone/chunk-TAD43CG5.js +0 -1
  360. package/dist/standalone/chunk-TTXRHJUP.js +0 -4
  361. package/dist/standalone/chunk-UK64ZSUW.js +0 -1
  362. package/dist/standalone/chunk-UKDHGVOC.js +0 -1
  363. package/dist/standalone/chunk-UPNTMJFF.js +0 -1
  364. package/dist/standalone/chunk-V43BLH4J.js +0 -1
  365. package/dist/standalone/chunk-VL23Y44O.js +0 -4
  366. package/dist/standalone/chunk-VXM5H542.js +0 -4
  367. package/dist/standalone/chunk-WMDH2CIZ.js +0 -1
  368. package/dist/standalone/chunk-WVTPZ6CM.js +0 -1
  369. package/dist/standalone/chunk-XN6QYJQ6.js +0 -13
  370. package/dist/standalone/chunk-XNJNSCLM.js +0 -1
  371. package/dist/standalone/chunk-Y4U6CC22.js +0 -1
  372. package/dist/standalone/chunk-Y572GMZE.js +0 -1
  373. package/dist/standalone/chunk-Y7PD5KP4.js +0 -76
  374. package/dist/standalone/chunk-YFIPHCEC.js +0 -1
  375. package/dist/standalone/chunk-YJXOWLFJ.js +0 -1
  376. package/dist/standalone/chunk-YNN6NFRZ.js +0 -1
  377. package/dist/standalone/chunk-YUGHRVPD.js +0 -1
  378. package/dist/standalone/chunk-ZIGWVHCS.js +0 -1
  379. package/dist/standalone/chunk-ZPP2KOR4.js +0 -1
  380. package/dist/standalone/chunk-ZPUO7FNI.js +0 -1
  381. /package/dist/standalone/{chunk-TEWVD66F.js → chunk-GXZAXNZI.js} +0 -0
@@ -0,0 +1 @@
1
+ import{c as l}from"react/compiler-runtime";import{useConnectionStatus as d}from"@lunora/react";import{useT as f}from"./DEFAULT_LOCALE-BZ4NojpD.js";import{c as u}from"./utils-bhneXptQ.js";import{jsx as m,jsxs as g}from"react/jsx-runtime";const p={connected:"bg-success",connecting:"bg-warning",idle:"bg-muted-foreground",offline:"bg-destructive"},j=()=>{const e=l(16),n=f(),a=d();let s;e:switch(a){case"connected":{let t;e[0]!==n?(t=n("Connected"),e[0]=n,e[1]=t):t=e[1],s=t;break e}case"connecting":{let t;e[2]!==n?(t=n("Connecting…"),e[2]=n,e[3]=t):t=e[3],s=t;break e}case"idle":{let t;e[4]!==n?(t=n("Idle"),e[4]=n,e[5]=t):t=e[5],s=t;break e}case"offline":{let t;e[6]!==n?(t=n("Offline"),e[6]=n,e[7]=t):t=e[7],s=t;break e}default:s=a}const r=p[a];let o;e[8]!==r?(o=u("size-2 rounded-full",r),e[8]=r,e[9]=o):o=e[9];let c;e[10]!==o?(c=m("span",{"aria-hidden":"true",className:o}),e[10]=o,e[11]=c):c=e[11];let i;return e[12]!==a||e[13]!==c||e[14]!==s?(i=g("span",{"aria-live":"polite",className:"inline-flex items-center gap-1.5 text-xs text-muted-foreground","data-status":a,"data-testid":"dash-connection",role:"status",children:[c,s]}),e[12]=a,e[13]=c,e[14]=s,e[15]=i):i=e[15],i};export{j as default};
@@ -0,0 +1 @@
1
+ import{c as m}from"react/compiler-runtime";import{useRef as a,useEffect as f}from"react";const d=5e3,h=(e,r,u)=>{const t=m(6),o=u===void 0?d:u,l=a(e);let n;t[0]!==e?(n=()=>{l.current=e},t[0]=e,t[1]=n):n=t[1],f(n);let c,s;t[2]!==r||t[3]!==o?(c=()=>{if(!r)return;const i=setInterval(()=>{globalThis.document?.hidden!==!0&&l.current()},o);return()=>{clearInterval(i)}},s=[r,o],t[2]=r,t[3]=o,t[4]=c,t[5]=s):(c=t[4],s=t[5]),f(c,s)};export{d as DEFAULT_AUTO_REFRESH_MS,h as useAutoRefresh};
@@ -0,0 +1 @@
1
+ const c={highErrorRate:.05,highWriteContention:.1,lowCacheHitRate:.5,minCacheSamples:10,minConflictCalls:5,minErrorCalls:5,slowFunctionMs:1e3},l={error:0,info:2,warning:1},u=(i,t)=>{const s=[];if(i.maxDurationMs>=t.slowFunctionMs){const e=i.scannedTables??[];e.length>0?s.push({fn:i.path,kind:"missing-index",severity:"warning",tables:e.map(a=>a.table),value:i.maxDurationMs}):s.push({fn:i.path,kind:"slow-function",severity:"info",value:i.maxDurationMs})}i.calls>=t.minErrorCalls&&i.errors/i.calls>=t.highErrorRate&&s.push({fn:i.path,kind:"high-error-rate",message:i.lastErrorMessage??void 0,severity:"error",value:i.errors/i.calls});const r=i.conflicts??0;return r>0&&i.calls>=t.minConflictCalls&&r/i.calls>=t.highWriteContention&&s.push({fn:i.path,kind:"high-write-contention",severity:"warning",value:r/i.calls}),s},g=(i,t,s=c)=>{const r=[];if(i?.cache){const{evictions:e,hits:a,misses:h}=i.cache,o=a+h;if(o>=s.minCacheSamples){const n=a/o;n<s.lowCacheHitRate&&r.push({kind:"low-cache-hit-rate",severity:"warning",value:n})}e>0&&e>a&&r.push({kind:"high-evictions",severity:"warning",value:e})}for(const e of t??[])r.push(...u(e,s));return r.toSorted((e,a)=>l[e.severity]-l[a.severity])};export{c as DEFAULT_INSIGHT_THRESHOLDS,g as deriveInsights};
@@ -0,0 +1 @@
1
+ import{setupI18n as a}from"@lingui/core";import{compileMessage as i}from"@lingui/message-utils/compileMessage";import{createContext as c,use as m}from"react";const u={},s="en",p={en:u},f=(e=s,o=p)=>{const t=a();t.setMessagesCompiler(i);for(const[n,r]of Object.entries(o))t.load(n,r);return t.activate(o[e]===void 0?s:e),t},d=f(),I=c(d),L=()=>{const e=m(I);return(o,t)=>e._(o,t)};export{s as DEFAULT_LOCALE,I as StudioI18nContext,f as createStudioI18n,d as studioI18n,L as useT};
@@ -0,0 +1 @@
1
+ import{c as V}from"react/compiler-runtime";import{useLunora as kt}from"@lunora/react";import{useState as R,useRef as U,useEffect as de,useMemo as Ce,useCallback as wt}from"react";import{ConfirmButton as Nt}from"./ConfirmButton-CTL3f3kr.js";import{ShardInput as Jt}from"./ShardInput-BVn2iCU0.js";import{E as Gt}from"./empty-state-Cg7t_8qu.js";import{useT as X}from"./DEFAULT_LOCALE-BZ4NojpD.js";import{ADMIN_FUNCTIONS as W}from"./ADMIN_FUNCTIONS-BYNSbBVE.js";import{h as fe,f as oe,c as le,a as se,i as Ht}from"./internal-AtZ4bTal.js";import{useReactTable as Qt,getSortedRowModel as Ut,getCoreRowModel as Wt,flexRender as Zt}from"@tanstack/react-table";import{useVirtualizer as Yt}from"@tanstack/react-virtual";import{f as $t}from"./checkbox-StT4Gob6.js";import{c as Tt}from"./utils-bhneXptQ.js";import{l as Xt}from"./virtual-rect-1o1veP7R.js";import{_ as en,y as ht,v as tn}from"./data-grid-BMBKzMEJ.js";import{jsx as c,jsxs as k,Fragment as Je}from"react/jsx-runtime";import{u as nn,_ as rn,a as on,$ as ln}from"./table-list-sidebar-CMCcNALK.js";import{toFilterClauses as be,DataFilters as an}from"./DataFilters-Csb30F0C.js";import{M as zt}from"./modal-shell-CUwwWC2o.js";import{n as sn,l as dn}from"./grid-features-uZCUj955.js";import{K as Ke}from"./use-admin-query-Di3fLE8H.js";import Et from"./useDebounced-Ihdiid_k.js";import{r as cn,l as un}from"./shard-history-DMEW5VBE.js";const mn=/([a-z\d])([A-Z])/gu,gn=/[\s_-]+/u,bn=new Set(["access_token","api_key","apikey","card_number","client_secret","credit_card","cvv","passwd","password","private_key","pwd","refresh_token","secret","ssn","token"]),fn=r=>{const e=r.replaceAll(mn,"$1 $2").split(gn).map(n=>n.toLowerCase()).filter(n=>n.length>0),t=new Set(e);for(let n=0;n<e.length-1;n+=1){const s=e[n],o=e[n+1];s===void 0||o===void 0||(t.add(`${s}${o}`),t.add(`${s}_${o}`))}return[...t]},Rt="•••",pn=r=>{let e=2166136261;for(let t=0;t<r.length;t+=1)e^=r.codePointAt(t)??0,e=Math.imul(e,16777619);return(e>>>0).toString(16).padStart(8,"0")},At=(r,e)=>{try{return e==="redact"?null:e==="hash"?r==null?r:pn(typeof r=="string"?r:JSON.stringify(r)):Rt}catch{return Rt}},hn=(r,e)=>{const t=new Map;for(const n of r)n.table===e&&t.set(n.column,n.strategy);return t},xn=r=>{for(const e of fn(r))if(bn.has(e))return!0;return!1},vn=(r,e)=>{const t=e.filter(s=>!r.has(s)&&xn(s));if(t.length===0)return r;const n=new Map(r);for(const s of t)n.set(s,"redact");return n},yn=(r,e,t)=>{if(!t.enabled)return r;const n=t.columns.get(e);return n===void 0?r:At(r,n)},Dt=(r,e)=>!e.enabled||e.columns.size===0?r:r.map(t=>{const n={...t};for(const[s,o]of e.columns)s in n&&(n[s]=At(n[s],o));return n}),wn=()=>{const r=V(11);let e;r[0]===Symbol.for("react.memo_cache_sentinel")?(e={},r[0]=e):e=r[0];const[t,n]=R(e);let s;r[1]===Symbol.for("react.memo_cache_sentinel")?(s=(m,p,h)=>{n(v=>({...v,[m]:{...v[m],[p]:h}}))},r[1]=s):s=r[1];const o=s;let a;r[2]===Symbol.for("react.memo_cache_sentinel")?(a=()=>{n({})},r[2]=a):a=r[2];const l=a;let i;r[3]!==t?(i=(m,p)=>{const h=t[m];return h!==void 0&&p in h?{value:h[p]}:void 0},r[3]=t,r[4]=i):i=r[4];const d=i;let u;r[5]!==t?(u=Object.values(t).reduce(Cn,0),r[5]=t,r[6]=u):u=r[6];const g=u;let b;return r[7]!==g||r[8]!==t||r[9]!==d?(b={clear:l,count:g,stage:o,staged:t,stagedValue:d},r[7]=g,r[8]=t,r[9]=d,r[10]=b):b=r[10],b},Nn=(r,e)=>{if(typeof e=="number"){const t=Number(r);return r.trim()===""||Number.isNaN(t)?r:t}if(typeof e=="boolean"){if(r==="true")return!0;if(r==="false")return!1}return r},Sn=r=>{const e=V(29),{changes:t,committing:n,onCommit:s,onDiscard:o}=r,a=X();let l;e[0]!==t.length||e[1]!==a?(l=a("{count} pending changes",{count:t.length}),e[0]=t.length,e[1]=a,e[2]=l):l=e[2];let i;e[3]!==l?(i=c("span",{className:"font-mono text-[11px] tracking-wide uppercase text-warning","data-testid":"db-staged-count",children:l}),e[3]=l,e[4]=i):i=e[4];let d;e[5]!==n||e[6]!==a?(d=a(n?"Committing…":"Commit"),e[5]=n,e[6]=a,e[7]=d):d=e[7];let u;e[8]!==n||e[9]!==s||e[10]!==d?(u=c("button",{className:"ms-auto rounded-md bg-primary px-2.5 py-1 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":"db-staged-commit",disabled:n,onClick:s,type:"button",children:d}),e[8]=n,e[9]=s,e[10]=d,e[11]=u):u=e[11];let g;e[12]!==a?(g=a("Discard"),e[12]=a,e[13]=g):g=e[13];let b;e[14]!==n||e[15]!==o||e[16]!==g?(b=c("button",{className:"rounded-md border border-border px-2.5 py-1 text-xs font-medium text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-50","data-testid":"db-staged-discard",disabled:n,onClick:o,type:"button",children:g}),e[14]=n,e[15]=o,e[16]=g,e[17]=b):b=e[17];let m;e[18]!==i||e[19]!==u||e[20]!==b?(m=k("div",{className:"flex flex-wrap items-center gap-2",children:[i,u,b]}),e[18]=i,e[19]=u,e[20]=b,e[21]=m):m=e[21];let p;e[22]!==t?(p=t.map(kn),e[22]=t,e[23]=p):p=e[23];let h;e[24]!==p?(h=c("ul",{className:"flex flex-col gap-1","data-testid":"db-staged-list",children:p}),e[24]=p,e[25]=h):h=e[25];let v;return e[26]!==m||e[27]!==h?(v=k("div",{className:"flex flex-col gap-2 border border-warning/40 bg-warning/5 p-3","data-testid":"db-staged",children:[m,h]}),e[26]=m,e[27]=h,e[28]=v):v=e[28],v};function Cn(r,e){return r+Object.keys(e).length}function kn(r){return k("li",{className:"flex flex-wrap items-center gap-2 font-mono text-xs",children:[k("span",{className:"text-muted-foreground",children:[r.rowId,".",r.column]}),c("span",{className:"text-destructive line-through",children:fe(r.oldValue)}),c("span",{"aria-hidden":"true",className:"text-muted-foreground",children:"→"}),c("span",{className:"text-foreground",children:fe(r.newValue)})]},`${r.rowId}:${r.column}`)}const It=400,$n=36,Tn={flex:"1 1 0%",minHeight:0,overflow:"auto",position:"relative"},_n={width:"100%"},En={alignItems:"center",display:"flex",left:0,position:"absolute",top:0,width:"100%"},Rn={display:"flex",width:"100%"},Mt={flex:"0 0 8.5rem",padding:"0.375rem 0.75rem"},Dn="2.5rem",Vt={alignItems:"center",display:"flex",flex:"0 0 2.5rem",justifyContent:"center",left:0,padding:"0.375rem 0",position:"sticky",zIndex:2},_t=r=>({flex:"0 0 auto",overflow:"hidden",padding:"0.375rem 0.75rem",position:"relative",textOverflow:"ellipsis",whiteSpace:"nowrap",width:`${r.toString()}px`}),Lt=r=>({..._t(r),left:Dn,position:"sticky",zIndex:2}),Ft="rounded-md px-2 py-0.5 text-xs font-medium text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-50",ae=r=>{for(const e of["id","__id__","_id"]){const t=r[e];if(typeof t=="string"||typeof t=="number")return String(t)}return null},Bt=(r,e)=>ae(r)??`row-${e.toString()}`,In=8,Mn=r=>{const e=V(16),{anchor:t,state:n}=r,s=X();let o;e[0]!==t.left||e[1]!==t.top?(o={left:t.left,position:"fixed",top:t.top,zIndex:50},e[0]=t.left,e[1]=t.top,e[2]=o):o=e[2];const a=o;let l;if(n==="loading"){let d;e[3]!==s?(d=s("Loading…"),e[3]=s,e[4]=d):d=e[4];let u;e[5]!==d?(u=c("p",{className:"px-3 py-2 text-xs text-muted-foreground",children:d}),e[5]=d,e[6]=u):u=e[6],l=u}else if(n.row===null){let d;e[7]!==s?(d=s("No matching row."),e[7]=s,e[8]=d):d=e[8];let u;e[9]!==d?(u=c("p",{className:"px-3 py-2 text-xs text-muted-foreground",children:d}),e[9]=d,e[10]=u):u=e[10],l=u}else{let d;if(e[11]!==n.row){const u=Object.entries(n.row).slice(0,In);d=c("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 px-3 py-2",children:u.map(Kn)}),e[11]=n.row,e[12]=d}else d=e[12];l=d}let i;return e[13]!==l||e[14]!==a?(i=c("div",{className:"pointer-events-none w-72 overflow-hidden rounded-md border border-border bg-popover text-popover-foreground","data-testid":"db-ref-preview",role:"tooltip",style:a,children:l}),e[13]=l,e[14]=a,e[15]=i):i=e[15],i},Fn=r=>{const e=V(22),{column:t,id:n,onNavigate:s,onPreview:o,target:a}=r,[l,i]=R(null),[d,u]=R("idle");let g;e[0]!==n||e[1]!==s||e[2]!==a?(g=()=>{s(a,n)},e[0]=n,e[1]=s,e[2]=a,e[3]=g):g=e[3];const b=g;let m;e[4]!==n||e[5]!==o||e[6]!==d||e[7]!==a?(m=$=>{const y=$.currentTarget.getBoundingClientRect();i({left:y.left,top:y.bottom+4}),d==="idle"&&(u("loading"),oe((async()=>{try{u({row:await o(a,n)})}catch{u({row:null})}})()))},e[4]=n,e[5]=o,e[6]=d,e[7]=a,e[8]=m):m=e[8];const p=m;let h;e[9]===Symbol.for("react.memo_cache_sentinel")?(h=()=>{i(null)},e[9]=h):h=e[9];const v=h,w=`db-ref-${t}`,f=`Open ${a} ${n}`;let x;e[10]!==n||e[11]!==b||e[12]!==p||e[13]!==w||e[14]!==f?(x=k("button",{"data-testid":w,onBlur:v,onClick:b,onFocus:p,onMouseEnter:p,onMouseLeave:v,title:f,type:"button",children:[n," ↗"]}),e[10]=n,e[11]=b,e[12]=p,e[13]=w,e[14]=f,e[15]=x):x=e[15];let N;e[16]!==l||e[17]!==d?(N=l!==null&&d!=="idle"&&c(Mn,{anchor:l,state:d}),e[16]=l,e[17]=d,e[18]=N):N=e[18];let _;return e[19]!==x||e[20]!==N?(_=k(Je,{children:[x,N]}),e[19]=x,e[20]=N,e[21]=_):_=e[21],_},On=r=>r==="asc"?" ▲":r==="desc"?" ▼":"",jn="absolute end-1 top-1/2 hidden -translate-y-1/2 items-center justify-center rounded text-muted-foreground outline-none group-hover/cell:flex hover:text-foreground focus-visible:flex",Ot=r=>{const e=V(8),{column:t,onExpand:n,value:s}=r;let o;e[0]!==t||e[1]!==n||e[2]!==s?(o=()=>{n(t,s)},e[0]=t,e[1]=n,e[2]=s,e[3]=o):o=e[3];const a=o,l=`db-expand-${t}`;let i;e[4]===Symbol.for("react.memo_cache_sentinel")?(i=c("svg",{"aria-hidden":"true",className:"size-3",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:c("path",{d:"M9 21H5a2 2 0 0 1-2-2v-4m18 0v4a2 2 0 0 1-2 2h-4M3 9V5a2 2 0 0 1 2-2h4m6 0h4a2 2 0 0 1 2 2v4"})}),e[4]=i):i=e[4];let d;return e[5]!==a||e[6]!==l?(d=c("button",{"aria-label":"Expand cell",className:jn,"data-testid":l,onClick:a,type:"button",children:i}),e[5]=a,e[6]=l,e[7]=d):d=e[7],d},Pn=r=>{const e=V(14),{column:t,initial:n,onCancel:s,onCommit:o,recordId:a}=r,l=U(null);let i,d;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=()=>{l.current?.select()},d=[],e[0]=i,e[1]=d):(i=e[0],d=e[1]),de(i,d);let u;e[2]!==s||e[3]!==o?(u=w=>{w.key==="Enter"?(w.preventDefault(),o(w.currentTarget.value)):w.key==="Escape"&&(w.preventDefault(),s())},e[2]=s,e[3]=o,e[4]=u):u=e[4];const g=u;let b;e[5]!==o?(b=w=>{o(w.currentTarget.value)},e[5]=o,e[6]=b):b=e[6];const m=b,p=`db-cell-input-${a}-${t}`;let h;e[7]!==n?(h=fe(n),e[7]=n,e[8]=h):h=e[8];let v;return e[9]!==m||e[10]!==g||e[11]!==p||e[12]!==h?(v=c("input",{className:"w-full rounded border border-ring bg-background px-1 py-0.5 font-mono text-xs outline-none","data-testid":p,defaultValue:h,onBlur:m,onKeyDown:g,ref:l}),e[9]=m,e[10]=g,e[11]=p,e[12]=h,e[13]=v):v=e[13],v},zn=r=>{const e=V(63),{cell:t,edit:n,mask:s,refs:o}=r,a=t.column.id;let l,i,d,u;if(e[0]!==t||e[1]!==a||e[2]!==n||e[3]!==s||e[4]!==o.columns||e[5]!==o.onNavigate||e[6]!==o.onPreview){u=Symbol.for("react.early_return_sentinel");e:{i=t.getValue(),l=ae(t.row.original);const y=o.columns?.[a];if(s.enabled&&s.columns.has(a)){const S=`db-masked-${a}`,E=c(ht,{value:yn(i,a,s)});let D;e[11]!==S||e[12]!==E?(D=c("span",{className:"text-muted-foreground italic","data-testid":S,title:"Masked (preview)",children:E}),e[11]=S,e[12]=E,e[13]=D):D=e[13],u=D;break e}if(y!==void 0&&(typeof i=="string"||typeof i=="number")&&String(i)!==""){const S=String(i),E=`${y}:${String(i)}`;let D;e[14]!==a||e[15]!==o.onNavigate||e[16]!==o.onPreview||e[17]!==S||e[18]!==E||e[19]!==y?(D=c(Fn,{column:a,id:S,onNavigate:o.onNavigate,onPreview:o.onPreview,target:y},E),e[14]=a,e[15]=o.onNavigate,e[16]=o.onPreview,e[17]=S,e[18]=E,e[19]=y,e[20]=D):D=e[20],u=D;break e}if(l===null){let S;e[21]!==i?(S=c(ht,{value:i}),e[21]=i,e[22]=S):S=e[22];let E;e[23]!==a||e[24]!==n.onExpandCell||e[25]!==i?(E=c(Ot,{column:a,onExpand:n.onExpandCell,value:i}),e[23]=a,e[24]=n.onExpandCell,e[25]=i,e[26]=E):E=e[26];let D;e[27]!==S||e[28]!==E?(D=k(Je,{children:[S,E]}),e[27]=S,e[28]=E,e[29]=D):D=e[29],u=D;break e}d=n.stagedValue(l,a)}e[0]=t,e[1]=a,e[2]=n,e[3]=s,e[4]=o.columns,e[5]=o.onNavigate,e[6]=o.onPreview,e[7]=l,e[8]=i,e[9]=d,e[10]=u}else l=e[7],i=e[8],d=e[9],u=e[10];if(u!==Symbol.for("react.early_return_sentinel"))return u;const g=d,b=g===void 0?i:g.value;let m;e[30]!==a||e[31]!==n?(m=n.editable&&n.editableColumn(a),e[30]=a,e[31]=n,e[32]=m):m=e[32];const p=m;if(n.editingCell!==null&&n.editingCell.rowId===l&&n.editingCell.column===a){let y;e[33]!==a||e[34]!==n||e[35]!==l||e[36]!==i?(y=E=>{n.stage(l,a,Nn(E,i)),n.cancelEdit()},e[33]=a,e[34]=n,e[35]=l,e[36]=i,e[37]=y):y=e[37];let S;return e[38]!==a||e[39]!==b||e[40]!==n.cancelEdit||e[41]!==l||e[42]!==y?(S=c(Pn,{column:a,initial:b,onCancel:n.cancelEdit,onCommit:y,recordId:l}),e[38]=a,e[39]=b,e[40]=n.cancelEdit,e[41]=l,e[42]=y,e[43]=S):S=e[43],S}let h;g!==void 0?h="rounded bg-warning/15 px-1":p&&(h="cursor-text");let v;e[44]!==p||e[45]!==a||e[46]!==n||e[47]!==l?(v=p?()=>{n.startEdit(l,a)}:void 0,e[44]=p,e[45]=a,e[46]=n,e[47]=l,e[48]=v):v=e[48];const w=v,f=`db-cell-${l}-${a}`;let x;e[49]!==b?(x=c(ht,{value:b}),e[49]=b,e[50]=x):x=e[50];let N;e[51]!==h||e[52]!==w||e[53]!==f||e[54]!==x?(N=c("span",{className:h,"data-testid":f,onDoubleClick:w,children:x}),e[51]=h,e[52]=w,e[53]=f,e[54]=x,e[55]=N):N=e[55];let _;e[56]!==a||e[57]!==b||e[58]!==n.onExpandCell?(_=c(Ot,{column:a,onExpand:n.onExpandCell,value:b}),e[56]=a,e[57]=b,e[58]=n.onExpandCell,e[59]=_):_=e[59];let $;return e[60]!==N||e[61]!==_?($=k(Je,{children:[N,_]}),e[60]=N,e[61]=_,e[62]=$):$=e[62],$},An=({draggedRef:r,header:e,masked:t=!1,pinned:n=!1,table:s})=>{const o=()=>{r.current=e.column.id},a=i=>{i.preventDefault()},l=()=>{const i=r.current,d=e.column.id;if(r.current=null,i===null||i===d)return;const u=s.getState().columnOrder,g=(u.length>0?u:s.getAllLeafColumns().map(m=>m.id)).filter(m=>m!==i),b=g.indexOf(d);g.splice(b===-1?g.length:b,0,i),s.setColumnOrder(g)};return k("th",{className:Tt("text-start text-xs font-medium text-muted-foreground",n&&"border-e border-border bg-muted"),draggable:!0,onDragOver:a,onDragStart:o,onDrop:l,style:n?Lt(e.getSize()):_t(e.getSize()),children:[k("button",{className:"inline-flex max-w-full cursor-grab items-center gap-1 truncate outline-none hover:text-foreground","data-testid":`db-sort-${e.column.id}`,onClick:e.column.getToggleSortingHandler(),type:"button",children:[Zt(e.column.columnDef.header,e.getContext()),On(e.column.getIsSorted())]}),t&&c("span",{className:"ms-1 inline-flex items-center rounded-sm bg-warning/15 px-1 text-[0.625rem] font-medium uppercase text-warning","data-testid":`db-mask-chip-${e.column.id}`,title:"This column is masked by a mask() policy",children:"masked"}),c("span",{"aria-hidden":"true",className:"absolute inset-y-0 end-0 w-1 cursor-col-resize touch-none select-none hover:bg-ring/60 data-[resizing=true]:bg-ring","data-resizing":e.column.getIsResizing(),"data-testid":`db-resize-${e.column.id}`,onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler()})]})},Vn=r=>{const e=V(13),{table:t}=r,n=X();let s;e[0]!==t?(s=u=>{t.toggleAllRowsSelected(u)},e[0]=t,e[1]=s):s=e[1];const o=s;let a;e[2]!==n?(a=n("Select all rows"),e[2]=n,e[3]=a):a=e[3];let l;e[4]!==t?(l=t.getIsAllRowsSelected(),e[4]=t,e[5]=l):l=e[5];let i;e[6]!==t?(i=t.getIsSomeRowsSelected()&&!t.getIsAllRowsSelected(),e[6]=t,e[7]=i):i=e[7];let d;return e[8]!==o||e[9]!==a||e[10]!==l||e[11]!==i?(d=c("th",{className:"bg-muted",style:Vt,children:c($t,{"aria-label":a,checked:l,"data-testid":"db-select-all",indeterminate:i,onCheckedChange:o})}),e[8]=o,e[9]=a,e[10]=l,e[11]=i,e[12]=d):d=e[12],d},Ln=r=>{const e=V(17),{row:t}=r,n=X();let s;e[0]!==t.original?(s=ae(t.original),e[0]=t.original,e[1]=s):s=e[1];const o=s;let a;e[2]!==t?(a=p=>{t.toggleSelected(p)},e[2]=t,e[3]=a):a=e[3];const l=a;let i;e[4]!==n?(i=n("Select row"),e[4]=n,e[5]=i):i=e[5];let d;e[6]!==t?(d=t.getIsSelected(),e[6]=t,e[7]=d):d=e[7];let u;e[8]!==t.index||e[9]!==t.original?(u=Bt(t.original,t.index),e[8]=t.index,e[9]=t.original,e[10]=u):u=e[10];const g=`db-select-${u}`,b=o===null;let m;return e[11]!==l||e[12]!==i||e[13]!==d||e[14]!==g||e[15]!==b?(m=c("td",{className:"bg-background",style:Vt,children:c($t,{"aria-label":i,checked:d,"data-testid":g,disabled:b,onCheckedChange:l})}),e[11]=l,e[12]=i,e[13]=d,e[14]=g,e[15]=b,e[16]=m):m=e[16],m},Bn=r=>{const e=V(46),{edit:t,editable:n,mask:s,onDelete:o,onEdit:a,onInspect:l,refs:i,scrollRef:d,scrollToIndex:u,table:g,tableRows:b,tbodyStyle:m,virtualRows:p}=r,h=U(null),[v,w]=R(null);let f;e[0]!==g?(f=g.getVisibleLeafColumns(),e[0]=g,e[1]=f):f=e[1];const x=f.length;let N;e[2]!==v||e[3]!==x||e[4]!==t||e[5]!==g||e[6]!==b?(N=T=>{if(!["ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Enter"].includes(T.key))return;T.preventDefault();const I=v??{col:0,row:0};if(T.key==="Enter"){const ee=b[I.row],te=g.getVisibleLeafColumns()[I.col];if(ee!==void 0&&te!==void 0){const Q=ae(ee.original);Q!==null&&t.editableColumn(te.id)&&t.startEdit(Q,te.id)}w(I);return}let{col:P,row:A}=I;e:switch(T.key){case"ArrowDown":{A=Math.min(A+1,b.length-1);break e}case"ArrowRight":{P=Math.min(P+1,x-1);break e}case"ArrowUp":{A=Math.max(A-1,0);break e}default:P=Math.max(P-1,0)}w({col:P,row:A})},e[2]=v,e[3]=x,e[4]=t,e[5]=g,e[6]=b,e[7]=N):N=e[7];const _=N;let $,y;e[8]!==v||e[9]!==u?($=()=>{v!==null&&u(v.row)},y=[v,u],e[8]=v,e[9]=u,e[10]=$,e[11]=y):($=e[10],y=e[11]),de($,y);let S;e[12]!==v||e[13]!==t||e[14]!==n||e[15]!==s||e[16]!==o||e[17]!==a||e[18]!==l||e[19]!==i||e[20]!==b?(S=T=>{const I=b[T.index],{original:P}=I,A=ae(P),ee=Bt(P,T.index),te={...En,height:`${T.size.toString()}px`,transform:`translateY(${T.start.toString()}px)`};return k("tr",{className:"border-b border-border text-xs transition-colors hover:bg-muted/50","data-testid":"db-row",style:te,children:[c(Ln,{row:I}),I.getVisibleCells().map((Q,ce)=>{const ue=ce===0,pe=v!==null&&v.row===T.index&&v.col===ce?" ring-1 ring-ring ring-inset":"";return c("td",{className:Tt("group/cell truncate font-mono text-muted-foreground",ue&&"border-e border-border bg-background",pe),style:ue?Lt(Q.column.getSize()):_t(Q.column.getSize()),children:c(zn,{cell:Q,edit:t,mask:s,refs:i})},Q.id)}),k("td",{className:"flex items-center gap-1",style:Mt,children:[c("button",{className:Ft,"data-testid":`db-inspect-${ee}`,onClick:()=>{l(P)},type:"button",children:"Details"}),n&&k(Je,{children:[c("button",{className:Ft,"data-testid":`db-edit-${ee}`,disabled:A===null,onClick:()=>{a(A,P)},type:"button",children:"Edit"}),c(Nt,{confirmLabel:"Delete?",disabled:A===null,onConfirm:()=>{o(A)},testId:`db-delete-${ee}`,children:"Delete"})]})]})]},I.id)},e[12]=v,e[13]=t,e[14]=n,e[15]=s,e[16]=o,e[17]=a,e[18]=l,e[19]=i,e[20]=b,e[21]=S):S=e[21];const E=S;let D;e[22]!==g?(D=c(Vn,{table:g}),e[22]=g,e[23]=D):D=e[23];let L;e[24]!==s||e[25]!==g?(L=g.getFlatHeaders().map((T,I)=>c(An,{draggedRef:h,header:T,masked:s.columns.has(T.column.id),pinned:I===0,table:g},T.id)),e[24]=s,e[25]=g,e[26]=L):L=e[26];let q;e[27]===Symbol.for("react.memo_cache_sentinel")?(q=c("th",{"aria-label":"Row actions",style:Mt}),e[27]=q):q=e[27];let z;e[28]!==D||e[29]!==L?(z=c("thead",{className:"bg-muted/50",children:k("tr",{className:"border-b border-border",style:Rn,children:[D,L,q]})}),e[28]=D,e[29]=L,e[30]=z):z=e[30];let B;if(e[31]!==E||e[32]!==p){let T;e[34]!==E?(T=I=>E(I),e[34]=E,e[35]=T):T=e[35],B=p.map(T),e[31]=E,e[32]=p,e[33]=B}else B=e[33];let O;e[36]!==B||e[37]!==m?(O=c("tbody",{style:m,children:B}),e[36]=B,e[37]=m,e[38]=O):O=e[38];let j;e[39]!==O||e[40]!==z?(j=k("table",{className:"w-full text-xs","data-testid":"db-rows",style:_n,children:[z,O]}),e[39]=O,e[40]=z,e[41]=j):j=e[41];let K;return e[42]!==_||e[43]!==d||e[44]!==j?(K=c(en,{layout:"fill",children:c("div",{"data-testid":"db-scroll",onKeyDown:_,ref:d,role:"grid",style:Tn,tabIndex:0,children:j})}),e[42]=_,e[43]=d,e[44]=j,e[45]=K):K=e[45],K},qn=(r,e,t)=>{const n=r?.columns,s=r?.rows,o=r?.refs,a=Ce(()=>n===void 0?[]:n.map(x=>({accessorFn:N=>N[x],header:o?.[x]===void 0?x:`${x} →`,id:x})),[n,o]),l=Ce(()=>s??[],[s]),[i,d]=R({}),[u,g]=R({}),b=Qt({columnResizeMode:"onChange",columns:a,data:l,defaultColumn:{minSize:80,size:200},enableColumnResizing:!0,enableRowSelection:x=>ae(x.original)!==null,getCoreRowModel:Wt(),getRowId:(x,N)=>ae(x)??`row-${N.toString()}`,getSortedRowModel:Ut(),manualSorting:!0,onColumnVisibilityChange:g,onRowSelectionChange:d,onSortingChange:t,state:{columnVisibility:u,rowSelection:i,sorting:e}}),m=b.getRowModel().rows,p=U(null),h=Yt({count:m.length,estimateSize:()=>$n,getScrollElement:()=>p.current,initialRect:{height:It,width:0},observeElementRect:(x,N)=>Xt(x,N,It),overscan:8}),v=wt(x=>{h.scrollToIndex(x)},[h]),w=h.getVirtualItems(),f={display:"block",height:`${h.getTotalSize().toString()}px`,position:"relative"};return{scrollRef:p,scrollToIndex:v,table:b,tableRows:m,tbodyStyle:f,virtualRows:w}};function Kn(r){const[e,t]=r;return k("div",{className:"contents",children:[c("dt",{className:"truncate font-mono text-[11px] text-muted-foreground",children:e}),c("dd",{className:"truncate font-mono text-[11px] text-foreground",title:fe(t),children:fe(t)})]},e)}const St="inline-flex items-center gap-1 rounded-md border border-border px-2.5 py-1 text-xs font-medium text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-50",Jn=r=>{const e=V(22),{onCommit:t}=r,n=X(),[s,o]=R(""),a=U(null);let l,i;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=()=>{a.current?.focus()},i=[],e[0]=l,e[1]=i):(l=e[0],i=e[1]),de(l,i);let d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d=x=>{o(x.target.value)},e[2]=d):d=e[2];const u=d;let g;e[3]!==s||e[4]!==t?(g=()=>{const x=s.trim();x!==""&&t(x)},e[3]=s,e[4]=t,e[5]=g):g=e[5];const b=g;let m;e[6]!==n?(m=n("Query name"),e[6]=n,e[7]=m):m=e[7];let p;e[8]!==n?(p=n("Query name"),e[8]=n,e[9]=p):p=e[9];let h;e[10]!==s||e[11]!==m||e[12]!==p?(h=c("input",{"aria-label":m,className:"h-7 rounded-md border border-border bg-background px-2 text-xs outline-none focus-visible:border-ring","data-testid":"db-save-query-name",onChange:u,placeholder:p,ref:a,value:s}),e[10]=s,e[11]=m,e[12]=p,e[13]=h):h=e[13];let v;e[14]!==n?(v=n("Save"),e[14]=n,e[15]=v):v=e[15];let w;e[16]!==b||e[17]!==v?(w=c("button",{className:St,"data-testid":"db-save-query-confirm",onClick:b,type:"button",children:v}),e[16]=b,e[17]=v,e[18]=w):w=e[18];let f;return e[19]!==h||e[20]!==w?(f=k("span",{className:"inline-flex items-center gap-1",children:[h,w]}),e[19]=h,e[20]=w,e[21]=f):f=e[21],f},Gn=r=>{const e=V(27),{onApply:t,onCopyLink:n,onDelete:s,onSave:o,saved:a}=r,l=X(),[i,d]=R(!1);let u;e[0]===Symbol.for("react.memo_cache_sentinel")?(u=()=>{d(!0)},e[0]=u):u=e[0];const g=u;let b;e[1]!==o?(b=y=>{o(y),d(!1)},e[1]=o,e[2]=b):b=e[2];const m=b;let p;e[3]!==t||e[4]!==a?(p=y=>{const S=a[Number(y.currentTarget.dataset.index)];S!==void 0&&t(S)},e[3]=t,e[4]=a,e[5]=p):p=e[5];const h=p;let v;e[6]!==s||e[7]!==a?(v=y=>{const S=a[Number(y.currentTarget.dataset.index)];S!==void 0&&s(S.name)},e[6]=s,e[7]=a,e[8]=v):v=e[8];const w=v;let f;e[9]!==l?(f=l("Copy link"),e[9]=l,e[10]=f):f=e[10];let x;e[11]!==n||e[12]!==f?(x=c("button",{className:St,"data-testid":"db-copy-link",onClick:n,type:"button",children:f}),e[11]=n,e[12]=f,e[13]=x):x=e[13];let N;e[14]!==m||e[15]!==i||e[16]!==l?(N=i?c(Jn,{onCommit:m}):c("button",{className:St,"data-testid":"db-save-query",onClick:g,type:"button",children:l("Save query")}),e[14]=m,e[15]=i,e[16]=l,e[17]=N):N=e[17];let _;e[18]!==h||e[19]!==w||e[20]!==a||e[21]!==l?(_=a.length>0&&k("div",{className:"flex flex-wrap items-center gap-1","data-testid":"db-saved-queries",children:[c("span",{className:"font-mono text-[11px] tracking-wide uppercase text-muted-foreground",children:l("Saved")}),a.map((y,S)=>k("span",{className:"inline-flex items-center overflow-hidden rounded-md border border-border",children:[c("button",{className:"px-2 py-0.5 text-xs text-foreground transition-colors hover:bg-accent","data-index":S,"data-testid":`db-saved-query-${y.name}`,onClick:h,type:"button",children:y.name}),c("button",{"aria-label":l("Delete saved query {name}",{name:y.name}),className:"border-l border-border px-1 py-0.5 text-xs text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive","data-index":S,"data-testid":`db-saved-query-delete-${y.name}`,onClick:w,type:"button",children:"✕"})]},y.name))]}),e[18]=h,e[19]=w,e[20]=a,e[21]=l,e[22]=_):_=e[22];let $;return e[23]!==x||e[24]!==N||e[25]!==_?($=k("div",{className:"flex flex-wrap items-center gap-1.5","data-testid":"db-query-bar",children:[x,N,_]}),e[23]=x,e[24]=N,e[25]=_,e[26]=$):$=e[26],$},Hn="/__lunora/seed",xt=200,Qn=50,Un=(r,e)=>{const t=[];for(const n of r)n.pk!==!0&&n.ref!==void 0&&n.type==="id"&&(e[n.ref]??[]).length===0&&t.push(n.name);return t},Wn=async r=>{const e=await fetch(Hn,{body:JSON.stringify(r),headers:{"Content-Type":"application/json"},method:"POST"}),t=await e.json();return e.ok&&t.rows!==void 0?{kind:"ok",rows:t.rows}:{kind:"error",message:t.error??`seed request failed (${String(e.status)})`}},Zn="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",Yn="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",Xn=({columns:r,fkPools:e,onClose:t,onInsertRows:n,table:s})=>{const o=X(),[a,l]=R(10),[i,d]=R(!1),[u,g]=R(void 0),[b,m]=R(void 0),p=f=>{const x=Number(f.target.value);!Number.isNaN(x)&&x>=1&&l(Math.min(x,xt))},h=async()=>{g(void 0),m(void 0),d(!0);try{const f=await Wn({count:a,existingIds:e,seed:Date.now(),table:s});if(f.kind==="error"){g(f.message);return}const{rows:x}=f;if(x.length===0){g(o("No rows generated — all columns were skipped."));return}const N=await n(x);if(N!==void 0){g(N);return}m(x.length);const _=Un(r,e);_.length>0&&g(o("Inserted {count} rows. Skipped FK columns: {cols}",{cols:_.join(", "),count:x.length.toString()}))}finally{d(!1)}},v=()=>{oe(h())},w=r.filter(f=>f.pk!==!0);return k(zt,{label:o("Generate dummy rows"),onClose:t,panelTestId:"gen-rows-panel",testId:"gen-rows-overlay",variant:"dialog",children:[k("div",{className:"flex items-start justify-between",children:[k("div",{className:"flex flex-col gap-0.5",children:[c("h3",{className:"text-base text-foreground","data-testid":"gen-rows-title",children:o("Generate dummy rows")}),c("p",{className:"text-xs text-muted-foreground","data-testid":"gen-rows-desc",children:o("Seed {table} with Faker-generated rows. Existing rows are not affected.",{table:s})})]}),c("button",{className:"text-xs text-muted-foreground hover:text-foreground","data-testid":"gen-rows-close",onClick:t,type:"button",children:o("Close")})]}),k("div",{className:"flex items-center gap-2",children:[c("label",{className:"text-xs font-medium text-foreground",htmlFor:"gen-rows-count",children:o("Row count")}),c("input",{className:"w-20 rounded-md border border-border bg-background px-2 py-1 text-xs outline-none focus-visible:border-ring","data-testid":"gen-rows-count",id:"gen-rows-count",max:xt,min:1,onChange:p,type:"number",value:a}),c("span",{className:"text-xs text-muted-foreground",children:o("(max {max})",{max:xt.toString()})})]}),w.length>0&&k("div",{className:"flex flex-col gap-1",children:[c("p",{className:"font-mono text-[11px] tracking-wide uppercase text-muted-foreground",children:o("Columns to seed")}),c("ul",{className:"flex flex-col gap-0.5","data-testid":"gen-rows-columns",children:w.map(f=>{const x=f.ref!==void 0&&f.type==="id",N=x&&(e[f.ref??""]??[]).length===0,_=N?"rounded bg-destructive/10 px-1 text-destructive":"rounded bg-muted px-1 text-muted-foreground",$=N?`gen-rows-fk-empty-${f.name}`:`gen-rows-fk-ok-${f.name}`,y=N?o("FK: no rows in {ref} — will skip",{ref:f.ref??""}):o("→ {ref}",{ref:f.ref??""});return k("li",{className:"flex items-center gap-1.5 font-mono text-xs",children:[c("span",{className:"text-foreground",children:f.name}),k("span",{className:"text-muted-foreground",children:["(",f.type,")"]}),f.optional&&c("span",{className:"rounded bg-muted px-1 font-mono text-[10px] tracking-wide uppercase",children:"optional"}),x&&c("span",{className:_,"data-testid":$,children:y})]},f.name)})})]}),u!==void 0&&c("p",{className:"text-xs text-destructive","data-testid":"gen-rows-error",role:"alert",children:u}),b!==void 0&&u===void 0&&c("p",{className:"text-xs text-success","data-testid":"gen-rows-success",children:o("Inserted {count} rows successfully.",{count:b.toString()})}),k("div",{className:"flex justify-end gap-2",children:[c("button",{className:Zn,"data-testid":"gen-rows-cancel",onClick:t,type:"button",children:o("Cancel")}),c("button",{className:Yn,"data-testid":"gen-rows-generate",disabled:i,onClick:v,type:"button",children:o(i?"Inserting…":"Generate & insert")})]})]})},vt=r=>{const e=r[0];return e===void 0?void 0:{column:e.id,direction:e.desc?"desc":"asc"}},qt=r=>r==null?"":typeof r=="object"?JSON.stringify(r):String(r),jt=r=>r.map(e=>({column:e.column,operator:e.operator,value:e.value===void 0?"":qt(e.value)})),Pt=r=>r===void 0?[]:[{desc:r.direction==="desc",id:r.column}],er=200,tr=20,nr=se(W.readTablePage),rr=se(W.facetColumn),yt=se(W.writeRow),or=se(W.deleteRows),lr=se(W.clearTable),ar={},Ct=new Set(["__doc__","__id__","_creationTime","_id","id"]),sr=r=>{const e=r.__doc__;if(typeof e=="string")try{const n=JSON.parse(e);if(n!==null&&typeof n=="object"&&!Array.isArray(n))return n}catch{}const t={};for(const[n,s]of Object.entries(r))Ct.has(n)||(t[n]=s);return t},ir=({initialFilters:r,initialOrderBy:e,initialSearch:t,initialShardKey:n,onSelectTable:s,onViewChange:o,pageSize:a,tableParam:l})=>{const i=kt(),[d,u]=R(a),[g,b]=R(n??""),m=l===void 0||l===""?null:l,[p,h]=R(0),[v,w]=R("table"),[f,x]=R(()=>Pt(e)),[N,_]=R(t??""),$=Et(N.trim(),300),y=Et(g.trim(),400),[S,E]=R(()=>jt(r??[])),D=U(S);D.current=S;const{clearFacets:L,facets:q,refetchFacets:z,toggleFacet:B}=nn(),[O,j]=R(null),[K,T]=R(null),I=wn(),[P,A]=R(null),[ee,te]=R(!1),Q=Ke(W.listTables,ar,{live:!0,shardKey:y}),ce=Q.data??null,ue=Q.error,pe=Ce(()=>({filters:be(S),limit:d,offset:p,orderBy:vt(f),search:$,skipCount:!0,table:m??""}),[S,d,p,f,$,m]),J=Ce(()=>({filters:be(S),limit:1,search:$,table:m??""}),[S,$,m]),Z=Ke(W.readTablePage,pe,{enabled:m!==null,keepPreviousData:!1,live:!0,shardKey:y}),G=Z.data??null,He=Z.error,{liveError:Qe}=Z,Ue=Ke(W.readTablePage,J,{enabled:m!==null,live:!0,shardKey:y});de(()=>{Q.data!==void 0&&cn(y)},[Q.data,y]);const We=wt(C=>{s?.(C)},[s]),Y=(C,F)=>{s?.(C,{search:F})},ke=async(C,F)=>{try{return(await i.query(nr,{filters:[],limit:tr,offset:0,search:F,table:C},le(y))).rows.find(M=>ae(M)===F)??null}catch{return null}},he=wt((C,F,M,H)=>re=>i.query(rr,{column:re,filters:be(M),search:H,table:F},le(C)),[i]),Ze=C=>{B(C,m===null?null:he(y,m,D.current,$))},$e=(C,F)=>{const M=qt(F);E(H=>[...H.filter(re=>re.column!==C),{column:C,operator:"eq",value:M}]),h(0)},Te=U(he),_e=U(z),xe=U(o);Te.current=he,_e.current=z,xe.current=o,de(()=>{m!==null&&_e.current(Te.current(y,m,S,$))},[y,m,S,$]);const me=U(l);de(()=>{m===null||xe.current===void 0||me.current!==l||xe.current({filters:be(S),orderBy:vt(f),search:$,shard:y})},[m,l,S,f,$,y]);const Ee=U(r),Re=U(e),ne=U(t),De=U(n);Ee.current=r,Re.current=e,ne.current=t,De.current=n,de(()=>{me.current!==l&&(me.current=l,queueMicrotask(()=>{const C=jt(Ee.current??[]);x(Pt(Re.current)),_(ne.current??""),E(C),D.current=C,b(De.current??""),L(),I.clear(),A(null),h(0)}))},[l]);const ge=C=>{m!==null&&h(Math.max(0,C))},Ye=C=>!Ct.has(C),Ie=(C,F)=>{A({column:F,rowId:C})},ie=()=>{A(null)},Me=async()=>{if(m!==null){T(null),te(!0);try{for(const[C,F]of Object.entries(I.staged))await i.query(yt,{doc:F,id:C,op:"patch",table:m},le(y));I.clear(),A(null),Z.refetch()}catch(C){T(C.message)}finally{te(!1)}}},Xe=()=>{I.clear(),A(null)},et=Ce(()=>{const C=new Map;for(const M of G?.rows??[]){const H=ae(M);H!==null&&C.set(H,M)}const F=[];for(const[M,H]of Object.entries(I.staged))for(const[re,Kt]of Object.entries(H))F.push({column:re,newValue:Kt,oldValue:C.get(M)?.[re],rowId:M});return F},[G,I.staged]),Fe=async(C,F,M)=>{if(m===null)return;T(null);let H;if(C!=="delete")try{H=M===void 0||M.trim()===""?{}:JSON.parse(M)}catch(re){T(`Invalid JSON: ${re.message}`);return}try{await i.query(yt,{doc:H,id:F??void 0,op:C,table:m},le(y)),j(null),Z.refetch()}catch(re){T(re.message)}},ve=async(C,F)=>{if(m!==null){T(null);try{for(let M=0;M<er&&(await i.query(C,F,le(y))).hasMore;M+=1);h(0),Z.refetch()}catch(M){T(M.message)}}},Oe=qn(G,f,C=>{x(C),h(0)}),tt={filters:be(S),orderBy:vt(f),search:$,shard:g,table:m??void 0},je=Ue.data?.total??(G===null?0:p+G.rows.length),nt=p>0,rt=G!==null&&p+G.rows.length<je,ot=G===null||G.rows.length===0?0:p+1,lt=G===null?0:p+G.rows.length,Pe=()=>{Q.refetch()},ze=()=>{w("table")},at=()=>{w("json")},ye=()=>{oe(ve(or,{filters:be(D.current),search:$,table:m}))},st=()=>{oe(ve(lr,{table:m}))},it=C=>{_(C.target.value),h(0)},dt=C=>{E(C),h(0)},Ae=()=>{T(null);const C={};for(const F of G?.columns??[])Ct.has(F)||(C[F]="");j({docText:JSON.stringify(C,null,2),id:""})},ct=C=>{j(F=>F===null?F:{docText:C,id:F.id})},ut=()=>{O!==null&&oe(Fe(O.id===""?"insert":"patch",O.id===""?null:O.id,O.docText))},mt=()=>{j(null),T(null)},Ve=()=>{ge(p-d)},we=()=>{ge(p+d)},Ne=C=>{ge(Math.max(0,(C-1)*d))},Le=C=>{u(C),h(0)},gt=(C,F)=>{T(null),j({docText:JSON.stringify(sr(F),null,2),id:C})},bt=C=>{oe(Fe("delete",C))},Be=async C=>{if(!(m===null||C.length===0)){T(null);try{for(const F of C)await i.query(yt,{id:F,op:"delete",table:m},le(y));Z.refetch()}catch(F){T(F.message)}}},ft=C=>{oe(Be(C))},pt=()=>{oe(Me())};return{addRow:Ae,bulkDelete:ye,cancelCellEdit:ie,cancelEdit:mt,changePageSize:Le,clearTable:st,columns:G?.columns??[],committing:ee,currentView:tt,discardStaged:Xe,editableColumn:Ye,editing:O,editingCell:P,facetFilter:$e,facets:q,filter:N,filters:S,goNext:we,goPrevious:Ve,hasNext:rt,hasPrevious:nt,jumpToPage:Ne,liveError:Qe,loadTables:Pe,navigateToRef:Y,onBulkDeleteSelected:ft,onCommitStaged:pt,onFilterChange:it,onFiltersChange:dt,onRowDelete:bt,onRowEdit:gt,page:G,previewRef:ke,pageError:He,pageSize:d,rangeEnd:lt,rangeStart:ot,saveEdit:ut,selectedTable:m,selectTable:We,setEditorDocumentText:ct,setShardKey:b,shardKey:g,showJson:at,showTable:ze,stage:I.stage,stagedChanges:et,stagedValue:I.stagedValue,startCellEdit:Ie,table:Oe,tables:ce,tablesError:ue,toggleFacet:Ze,total:je,viewMode:v,writeError:K}},dr=se(W.describeTable),cr=se(W.readTablePage),ur=se(W.writeRow),mr=r=>{const e=r._id??r.id??r.__id__??"";return typeof e=="string"?e:typeof e=="number"?String(e):""},gr=r=>{const e=kt(),[t,n]=R(!1),[s,o]=R(void 0),[a,l]=R(void 0),[i,d]=R(void 0),[u,g]=R({}),[b,m]=R(!1),[p,h]=R(void 0),v=async(w,f)=>{n(!0),o(w),l(f),d(void 0),g({}),h(void 0),m(!0);try{const x=await e.query(dr,{table:w},le(f)),{columns:N}=x;d(N);const _={},$=N.filter(y=>y.ref!==void 0&&y.type==="id"&&y.pk!==!0);for(const y of $){if(y.ref===void 0)continue;const{ref:S}=y;if(_[S]===void 0)try{const E=await e.query(cr,{filters:[],limit:Qn,offset:0,search:"",table:S},le(f));_[S]=E.rows.map(D=>mr(D)).filter(Boolean)}catch{_[S]=[]}}g(_)}catch(x){h(x.message)}finally{m(!1)}};return{closeDialog:()=>{n(!1),o(void 0),l(void 0),d(void 0),g({}),h(void 0)},columnMeta:i,error:p,fkPools:u,insertBatch:async(w,f)=>{if(s===void 0||a===void 0)return"No table selected.";try{for(const x of w)await e.query(ur,{doc:x,op:"insert",table:s},le(a));f(),r();return}catch(x){return x.message}},loading:b,open:t,openDialog:(w,f)=>{oe(v(w,f))},shardKey:a,table:s}},br=[],fr=()=>{const r=V(1);let e;r[0]===Symbol.for("react.memo_cache_sentinel")?(e={},r[0]=e):e=r[0];const{data:t}=Ke(W.maskPolicies,e);return Array.isArray(t?.columns)?t.columns:br},pr=/(?:_creationtime|(?:^|[a-z])(?:time|at))$/iu,hr=(r,e)=>typeof e=="number"&&pr.test(r),xr=r=>{const e=V(26),{column:t,onNavigate:n,target:s,value:o}=r;let a;e[0]!==n||e[1]!==s||e[2]!==o?(a=()=>{s!==void 0&&n(s,String(o))},e[0]=n,e[1]=s,e[2]=o,e[3]=a):a=e[3];const l=a;if(o==null){let u;return e[4]===Symbol.for("react.memo_cache_sentinel")?(u=c("span",{className:"italic text-muted-foreground",children:"null"}),e[4]=u):u=e[4],u}if(s!==void 0&&(typeof o=="string"||typeof o=="number")&&String(o)!==""){const u=`rd-ref-${t}`,g=`Open ${s} ${String(o)}`,b=String(o);let m;return e[5]!==l||e[6]!==u||e[7]!==g||e[8]!==b?(m=k("button",{"data-testid":u,onClick:l,title:g,type:"button",children:[b," ↗"]}),e[5]=l,e[6]=u,e[7]=g,e[8]=b,e[9]=m):m=e[9],m}if(hr(t,o)){const u=`rd-ts-${t}`;let g;e[10]!==o?(g=o.toString(),e[10]=o,e[11]=g):g=e[11];let b;e[12]!==o?(b=Ht(o),e[12]=o,e[13]=b):b=e[13];let m;return e[14]!==u||e[15]!==g||e[16]!==b?(m=c("span",{"data-testid":u,title:g,children:b}),e[14]=u,e[15]=g,e[16]=b,e[17]=m):m=e[17],m}if(typeof o=="object"){let u;e[18]!==o?(u=JSON.stringify(o,null,2),e[18]=o,e[19]=u):u=e[19];let g;return e[20]!==u?(g=c("pre",{className:"m-0 overflow-auto rounded-md bg-muted/50 p-2 text-xs",children:u}),e[20]=u,e[21]=g):g=e[21],g}let i;e[22]!==o?(i=fe(o),e[22]=o,e[23]=i):i=e[23];let d;return e[24]!==i?(d=c("span",{children:i}),e[24]=i,e[25]=d):d=e[25],d},vr=r=>{const e=V(21),{columns:t,onClose:n,onNavigate:s,refs:o,row:a}=r;let l;e[0]!==n||e[1]!==s?(l=(p,h)=>{s(p,h),n()},e[0]=n,e[1]=s,e[2]=l):l=e[2];const i=l;let d;e[3]===Symbol.for("react.memo_cache_sentinel")?(d=c("h3",{className:"m-0 text-base text-foreground",children:"Row detail"}),e[3]=d):d=e[3];let u;e[4]!==n?(u=k("div",{className:"mb-3 flex items-center justify-between",children:[d,c("button",{"data-testid":"rd-close",onClick:n,type:"button",children:"Close"})]}),e[4]=n,e[5]=u):u=e[5];let g;if(e[6]!==t||e[7]!==i||e[8]!==o||e[9]!==a){let p;e[11]!==i||e[12]!==o||e[13]!==a?(p=h=>k("div",{className:"border-t border-border py-2 first:border-t-0","data-testid":`rd-field-${h}`,children:[c("dt",{className:"mb-0.5 text-xs font-semibold text-muted-foreground",children:h}),c("dd",{className:"m-0",children:c(xr,{column:h,onNavigate:i,target:o?.[h],value:a[h]})})]},h),e[11]=i,e[12]=o,e[13]=a,e[14]=p):p=e[14],g=t.map(p),e[6]=t,e[7]=i,e[8]=o,e[9]=a,e[10]=g}else g=e[10];let b;e[15]!==g?(b=c("dl",{"data-testid":"rd-fields",children:g}),e[15]=g,e[16]=b):b=e[16];let m;return e[17]!==n||e[18]!==u||e[19]!==b?(m=k(zt,{label:"Row detail",onClose:n,panelTestId:"rd-panel",testId:"rd-overlay",variant:"drawer",children:[u,b]}),e[17]=n,e[18]=u,e[19]=b,e[20]=m):m=e[20],m},qe="inline-flex items-center gap-1 rounded-md border border-border px-2.5 py-1 text-xs font-medium text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent aria-pressed:bg-accent aria-pressed:text-accent-foreground disabled:pointer-events-none disabled:opacity-50",Ge="w-full rounded-md border border-border bg-background px-2 py-1 font-mono text-xs outline-none focus-visible:border-ring",yr=/(?:_creationtime|(?:^|[a-z])(?:time|at))$/iu,wr=(r,e)=>typeof e=="boolean"?"boolean":typeof e=="number"?yr.test(r)?"date":"number":e!==null&&typeof e=="object"?"json":"text",Nr=r=>{try{const e=JSON.parse(r);return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}catch{return null}},Sr=r=>{const e=new Date(r),t=n=>String(n).padStart(2,"0");return`${e.getFullYear().toString()}-${t(e.getMonth()+1)}-${t(e.getDate())}T${t(e.getHours())}:${t(e.getMinutes())}`},Cr=r=>{const e=V(8),{column:t,onChange:n,value:s}=r;let o;e[0]!==t||e[1]!==n?(o=u=>{n(t,u)},e[0]=t,e[1]=n,e[2]=o):o=e[2];const a=o,l=s===!0,i=`db-field-${t}`;let d;return e[3]!==t||e[4]!==a||e[5]!==l||e[6]!==i?(d=c($t,{"aria-label":t,checked:l,"data-testid":i,onCheckedChange:a}),e[3]=t,e[4]=a,e[5]=l,e[6]=i,e[7]=d):d=e[7],d},kr=r=>{const e=V(7),{column:t,onChange:n,value:s}=r;let o;e[0]!==t||e[1]!==n?(o=u=>{const g=Number(u.target.value);u.target.value!==""&&!Number.isNaN(g)&&n(t,g)},e[0]=t,e[1]=n,e[2]=o):o=e[2];const a=o,l=`db-field-${t}`,i=typeof s=="number"?s:"";let d;return e[3]!==a||e[4]!==l||e[5]!==i?(d=c("input",{className:Ge,"data-testid":l,onChange:a,type:"number",value:i}),e[3]=a,e[4]=l,e[5]=i,e[6]=d):d=e[6],d},$r=r=>{const e=V(9),{column:t,onChange:n,value:s}=r;let o;e[0]!==t||e[1]!==n?(o=u=>{const g=new Date(u.target.value).getTime();Number.isNaN(g)||n(t,g)},e[0]=t,e[1]=n,e[2]=o):o=e[2];const a=o,l=`db-field-${t}`;let i;e[3]!==s?(i=typeof s=="number"?Sr(s):"",e[3]=s,e[4]=i):i=e[4];let d;return e[5]!==a||e[6]!==l||e[7]!==i?(d=c("input",{className:Ge,"data-testid":l,onChange:a,type:"datetime-local",value:i}),e[5]=a,e[6]=l,e[7]=i,e[8]=d):d=e[8],d},Tr=r=>{const e=V(7),{column:t,onChange:n,value:s}=r;let o;e[0]!==t||e[1]!==n?(o=u=>{n(t,u.target.value)},e[0]=t,e[1]=n,e[2]=o):o=e[2];const a=o,l=`db-field-${t}`,i=typeof s=="string"?s:"";let d;return e[3]!==a||e[4]!==l||e[5]!==i?(d=c("input",{className:Ge,"data-testid":l,onChange:a,type:"text",value:i}),e[3]=a,e[4]=l,e[5]=i,e[6]=d):d=e[6],d},_r=r=>{const e=V(19),{column:t,onChange:n,value:s}=r,o=X();let a;e[0]!==s?(a=()=>JSON.stringify(s,null,2),e[0]=s,e[1]=a):a=e[1];const[l,i]=R(a),[d,u]=R(!1);let g;e[2]!==t||e[3]!==n?(g=x=>{const N=x.target.value;i(N);try{n(t,JSON.parse(N)),u(!1)}catch{u(!0)}},e[2]=t,e[3]=n,e[4]=g):g=e[4];const b=g,m=d&&"border-destructive";let p;e[5]!==m?(p=Tt(Ge,"min-h-16",m),e[5]=m,e[6]=p):p=e[6];const h=`db-field-${t}`;let v;e[7]!==b||e[8]!==p||e[9]!==h||e[10]!==l?(v=c("textarea",{className:p,"data-testid":h,onChange:b,value:l}),e[7]=b,e[8]=p,e[9]=h,e[10]=l,e[11]=v):v=e[11];let w;e[12]!==t||e[13]!==d||e[14]!==o?(w=d&&c("span",{className:"text-xs text-destructive","data-testid":`db-field-error-${t}`,children:o("Invalid JSON")}),e[12]=t,e[13]=d,e[14]=o,e[15]=w):w=e[15];let f;return e[16]!==v||e[17]!==w?(f=k("div",{className:"flex flex-col gap-1",children:[v,w]}),e[16]=v,e[17]=w,e[18]=f):f=e[18],f},Er=r=>{const e=V(43),{column:t,onChange:n,target:s,value:o}=r;let a;e[0]!==t||e[1]!==o?(a=wr(t,o),e[0]=t,e[1]=o,e[2]=a):a=e[2];const l=a,i=`db-field-${t}`;let d;e[3]!==t?(d=c("span",{className:"font-mono",children:t}),e[3]=t,e[4]=d):d=e[4];let u;e[5]!==s?(u=s!==void 0&&k("span",{className:"rounded bg-muted px-1 font-mono text-[10px] tracking-wide uppercase",children:["→ ",s]}),e[5]=s,e[6]=u):u=e[6];let g;e[7]!==d||e[8]!==u?(g=k("span",{className:"flex items-center gap-1.5 font-medium text-muted-foreground",children:[d,u]}),e[7]=d,e[8]=u,e[9]=g):g=e[9];let b;e[10]!==t||e[11]!==l||e[12]!==n||e[13]!==o?(b=l==="boolean"&&c(Cr,{column:t,onChange:n,value:o}),e[10]=t,e[11]=l,e[12]=n,e[13]=o,e[14]=b):b=e[14];let m;e[15]!==t||e[16]!==l||e[17]!==n||e[18]!==o?(m=l==="number"&&c(kr,{column:t,onChange:n,value:o}),e[15]=t,e[16]=l,e[17]=n,e[18]=o,e[19]=m):m=e[19];let p;e[20]!==t||e[21]!==l||e[22]!==n||e[23]!==o?(p=l==="date"&&c($r,{column:t,onChange:n,value:o}),e[20]=t,e[21]=l,e[22]=n,e[23]=o,e[24]=p):p=e[24];let h;e[25]!==t||e[26]!==l||e[27]!==n||e[28]!==o?(h=l==="json"&&c(_r,{column:t,onChange:n,value:o}),e[25]=t,e[26]=l,e[27]=n,e[28]=o,e[29]=h):h=e[29];let v;e[30]!==t||e[31]!==l||e[32]!==n||e[33]!==o?(v=l==="text"&&c(Tr,{column:t,onChange:n,value:o}),e[30]=t,e[31]=l,e[32]=n,e[33]=o,e[34]=v):v=e[34];let w;return e[35]!==v||e[36]!==i||e[37]!==g||e[38]!==b||e[39]!==m||e[40]!==p||e[41]!==h?(w=k("label",{className:"flex flex-col gap-1 text-xs",htmlFor:i,children:[g,b,m,p,h,v]}),e[35]=v,e[36]=i,e[37]=g,e[38]=b,e[39]=m,e[40]=p,e[41]=h,e[42]=w):w=e[42],w},Rr=r=>{const e=V(48),{documentText:t,onCancel:n,onDocumentTextChange:s,onSave:o,refs:a}=r,l=X();let i;e[0]!==t?(i=Nr(t),e[0]=t,e[1]=i):i=e[1];const d=i,[u,g]=R(!1),b=!u&&d!==null;let m;e[2]!==d||e[3]!==s?(m=(I,P)=>{s(JSON.stringify({...d,[I]:P},null,2))},e[2]=d,e[3]=s,e[4]=m):m=e[4];const p=m;let h;e[5]!==s?(h=I=>{s(I.target.value)},e[5]=s,e[6]=h):h=e[6];const v=h;let w;e[7]===Symbol.for("react.memo_cache_sentinel")?(w=()=>{g(!1)},e[7]=w):w=e[7];const f=w;let x;e[8]===Symbol.for("react.memo_cache_sentinel")?(x=()=>{g(!0)},e[8]=x):x=e[8];const N=x,_=d===null;let $;e[9]!==l?($=l("Form"),e[9]=l,e[10]=$):$=e[10];let y;e[11]!==b||e[12]!==_||e[13]!==$?(y=c("button",{"aria-pressed":b,className:qe,"data-testid":"db-editor-form",disabled:_,onClick:f,type:"button",children:$}),e[11]=b,e[12]=_,e[13]=$,e[14]=y):y=e[14];const S=!b;let E;e[15]!==l?(E=l("JSON"),e[15]=l,e[16]=E):E=e[16];let D;e[17]!==E||e[18]!==S?(D=c("button",{"aria-pressed":S,className:qe,"data-testid":"db-editor-json",onClick:N,type:"button",children:E}),e[17]=E,e[18]=S,e[19]=D):D=e[19];let L;e[20]!==D||e[21]!==y?(L=k("div",{className:"flex items-center gap-1.5",children:[y,D]}),e[20]=D,e[21]=y,e[22]=L):L=e[22];let q;e[23]!==t||e[24]!==d||e[25]!==p||e[26]!==v||e[27]!==a||e[28]!==b||e[29]!==l?(q=b?c("div",{className:"flex flex-col gap-3","data-testid":"db-editor-fields",children:Object.entries(d).map(I=>{const[P,A]=I;return c(Er,{column:P,onChange:p,target:a?.[P],value:A},P)})}):c("textarea",{"aria-label":l("Row document JSON"),className:"min-h-28 w-full rounded-md border border-border bg-background px-2 py-1.5 font-mono text-xs outline-none focus-visible:border-ring","data-testid":"db-editor-doc",onChange:v,value:t}),e[23]=t,e[24]=d,e[25]=p,e[26]=v,e[27]=a,e[28]=b,e[29]=l,e[30]=q):q=e[30];let z;e[31]!==l?(z=l("Save"),e[31]=l,e[32]=z):z=e[32];let B;e[33]!==o||e[34]!==z?(B=c("button",{className:qe,"data-testid":"db-editor-save",onClick:o,type:"button",children:z}),e[33]=o,e[34]=z,e[35]=B):B=e[35];let O;e[36]!==l?(O=l("Cancel"),e[36]=l,e[37]=O):O=e[37];let j;e[38]!==n||e[39]!==O?(j=c("button",{className:qe,"data-testid":"db-editor-cancel",onClick:n,type:"button",children:O}),e[38]=n,e[39]=O,e[40]=j):j=e[40];let K;e[41]!==B||e[42]!==j?(K=k("div",{className:"flex items-center gap-1.5",children:[B,j]}),e[41]=B,e[42]=j,e[43]=K):K=e[43];let T;return e[44]!==L||e[45]!==q||e[46]!==K?(T=k("div",{className:"flex flex-col gap-2 border border-border bg-card p-3","data-testid":"db-editor",children:[L,q,K]}),e[44]=L,e[45]=q,e[46]=K,e[47]=T):T=e[47],T},Dr=50,Ir=r=>{const e=V(8),{active:t,onPick:n,shard:s}=r;let o;e[0]!==n||e[1]!==s?(o=()=>{n(s)},e[0]=n,e[1]=s,e[2]=o):o=e[2];const a=o,l=`w-full rounded px-2 py-0.5 text-left text-xs transition-colors hover:bg-accent ${t?"bg-accent font-medium":""}`,i=`shard-explorer-item-${s}`;let d;return e[3]!==a||e[4]!==s||e[5]!==l||e[6]!==i?(d=c("button",{className:l,"data-testid":i,onClick:a,type:"button",children:s}),e[3]=a,e[4]=s,e[5]=l,e[6]=i,e[7]=d):d=e[7],d},Mr=({onFetchTables:r,onSelect:e})=>{const t=X(),[n]=R(()=>un()),[s,o]=R(!1),[a,l]=R(void 0),[i,d]=R(void 0),[u,g]=R(!1),[b,m]=R(void 0),p=U(0),h=()=>{o(f=>!f)},v=async f=>{e(f),l(f),d(void 0),m(void 0),g(!0),p.current+=1;const x=p.current;try{const N=await r(f);p.current===x&&d(N?.slice(0,Dr))}catch(N){p.current===x&&m(N.message)}finally{p.current===x&&g(!1)}},w=f=>{oe(v(f))};return n.length===0?null:k("div",{"data-testid":"shard-explorer",children:[k("button",{"aria-controls":"shard-explorer-panel","aria-expanded":s,className:"inline-flex items-center gap-1 rounded-md border border-border px-2 py-1 text-xs font-medium text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"shard-explorer-toggle",onClick:h,type:"button",children:[t("Shards seen"),c("span",{"aria-hidden":"true",className:`ml-0.5 transition-transform ${s?"rotate-180":""}`,children:"▾"})]}),s&&k("div",{className:"mt-1 flex flex-col gap-1 rounded-md border border-border bg-popover p-2","data-testid":"shard-explorer-panel",id:"shard-explorer-panel",children:[c("p",{className:"text-xs text-muted-foreground","data-testid":"shard-explorer-hint",children:t("Recently visited shards — click to switch")}),c("ul",{className:"flex flex-col gap-0.5","data-testid":"shard-explorer-list",children:n.map(f=>c("li",{children:c(Ir,{active:a===f,onPick:w,shard:f})},f))}),a!==void 0&&k("div",{className:"mt-1 border-t border-border pt-1","data-testid":"shard-explorer-summary",children:[c("p",{className:"mb-1 text-xs font-medium text-foreground","data-testid":"shard-explorer-summary-title",children:t("{shard} tables",{shard:a})}),u&&c("p",{className:"text-xs text-muted-foreground","data-testid":"shard-explorer-loading",children:t("Loading…")}),b!==void 0&&c("p",{className:"text-xs text-destructive","data-testid":"shard-explorer-error",role:"alert",children:b}),!u&&b===void 0&&i?.length===0&&c("p",{className:"text-xs text-muted-foreground","data-testid":"shard-explorer-empty",children:t("No tables in this shard.")}),!u&&b===void 0&&i!==void 0&&i.length>0&&c("ul",{className:"flex flex-col gap-0.5","data-testid":"shard-explorer-tables",children:i.map(f=>k("li",{className:"flex items-center justify-between text-xs",children:[c("span",{"data-testid":`shard-explorer-table-${f.name}`,children:f.name}),c("span",{className:"text-muted-foreground","data-testid":`shard-explorer-rowcount-${f.name}`,children:f.rowCount})]},f.name))})]})]})]})},Fr=50,Or=[],Se="inline-flex items-center gap-1 rounded-md border border-border px-2.5 py-1 text-xs font-medium text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-50 aria-pressed:bg-accent aria-pressed:text-accent-foreground",jr=se(W.listTables),Pr=r=>{const e=V(10),{onFetchShardTables:t,onShardChange:n,schemaSwitch:s,shardKey:o}=r;let a;e[0]!==n||e[1]!==o?(a=c(Jt,{onChange:n,testId:"db-shard-input",value:o}),e[0]=n,e[1]=o,e[2]=a):a=e[2];let l;e[3]!==t||e[4]!==n?(l=c(Mr,{onFetchTables:t,onSelect:n}),e[3]=t,e[4]=n,e[5]=l):l=e[5];let i;return e[6]!==s||e[7]!==a||e[8]!==l?(i=k("div",{className:"flex shrink-0 flex-col items-stretch gap-2 border-b border-border p-3",children:[s,a,l]}),e[6]=s,e[7]=a,e[8]=l,e[9]=i):i=e[9],i},zr=r=>{const e=V(60),{columns:t,editable:n,filter:s,filters:o,hasMaskedColumns:a,liveError:l,maskOn:i,onAddRow:d,onBulkDelete:u,onClearTable:g,onFilterChange:b,onFiltersChange:m,onGenerateRows:p,onShowJson:h,onShowTable:v,onToggleMask:w,total:f,viewMode:x}=r,N=X(),_=x==="table";let $;e[0]!==v||e[1]!==_?($=c("button",{"aria-pressed":_,className:Se,"data-testid":"db-view-table",onClick:v,type:"button",children:"Table"}),e[0]=v,e[1]=_,e[2]=$):$=e[2];const y=x==="json";let S;e[3]!==h||e[4]!==y?(S=c("button",{"aria-pressed":y,className:Se,"data-testid":"db-view-json",onClick:h,type:"button",children:"JSON"}),e[3]=h,e[4]=y,e[5]=S):S=e[5];let E;e[6]!==l||e[7]!==N?(E=l===void 0?N("Live — changes stream in automatically"):N("Live unavailable: {liveError}",{liveError:l}),e[6]=l,e[7]=N,e[8]=E):E=e[8];const D=`size-1.5 rounded-full ${l===void 0?"bg-success":"bg-muted-foreground/50"}`;let L;e[9]!==D?(L=c("span",{"aria-hidden":"true",className:D}),e[9]=D,e[10]=L):L=e[10];let q;e[11]!==l||e[12]!==N?(q=N(l===void 0?"Live":"Live unavailable"),e[11]=l,e[12]=N,e[13]=q):q=e[13];let z;e[14]!==E||e[15]!==L||e[16]!==q?(z=k("span",{className:"inline-flex items-center gap-1.5 px-1 text-xs font-medium text-muted-foreground","data-testid":"db-live-indicator",role:"status",title:E,children:[L,q]}),e[14]=E,e[15]=L,e[16]=q,e[17]=z):z=e[17];let B;e[18]!==a||e[19]!==i||e[20]!==w||e[21]!==N?(B=a&&c("button",{"aria-pressed":i,className:Se,"data-testid":"db-mask-toggle",onClick:w,type:"button",children:N("Mask sensitive columns")}),e[18]=a,e[19]=i,e[20]=w,e[21]=N,e[22]=B):B=e[22];let O;e[23]!==n||e[24]!==d?(O=n&&c("button",{className:Se,"data-testid":"db-add-row",onClick:d,type:"button",children:"Add row"}),e[23]=n,e[24]=d,e[25]=O):O=e[25];let j;e[26]!==n||e[27]!==p||e[28]!==N?(j=n&&c("button",{className:Se,"data-testid":"db-generate-rows",onClick:p,type:"button",children:N("Generate rows")}),e[26]=n,e[27]=p,e[28]=N,e[29]=j):j=e[29];let K;e[30]!==n||e[31]!==s||e[32]!==o||e[33]!==u||e[34]!==f?(K=n&&f>0&&(s!==""||o.length>0)&&c(Nt,{confirmLabel:`Delete ${f.toString()} matching?`,onConfirm:u,testId:"db-bulk-delete",children:`Delete ${f.toString()} matching`}),e[30]=n,e[31]=s,e[32]=o,e[33]=u,e[34]=f,e[35]=K):K=e[35];let T;e[36]!==n||e[37]!==s||e[38]!==o||e[39]!==g||e[40]!==f?(T=n&&f>0&&s===""&&o.length===0&&c(Nt,{confirmLabel:`Clear all ${f.toString()} rows?`,onConfirm:g,testId:"db-clear-table",children:`Clear table (${f.toString()})`}),e[36]=n,e[37]=s,e[38]=o,e[39]=g,e[40]=f,e[41]=T):T=e[41];let I;e[42]!==B||e[43]!==O||e[44]!==j||e[45]!==K||e[46]!==T||e[47]!==$||e[48]!==S||e[49]!==z?(I=k("div",{className:"flex flex-wrap items-center gap-1.5",children:[$,S,z,B,O,j,K,T]}),e[42]=B,e[43]=O,e[44]=j,e[45]=K,e[46]=T,e[47]=$,e[48]=S,e[49]=z,e[50]=I):I=e[50];let P;e[51]!==t||e[52]!==s||e[53]!==o||e[54]!==b||e[55]!==m?(P=c(an,{columns:t,filters:o,onFiltersChange:m,onSearchChange:b,search:s}),e[51]=t,e[52]=s,e[53]=o,e[54]=b,e[55]=m,e[56]=P):P=e[56];let A;return e[57]!==I||e[58]!==P?(A=k("div",{className:"flex flex-col gap-2","data-testid":"db-view-toggle",children:[I,P]}),e[57]=I,e[58]=P,e[59]=A):A=e[59],A},io=({editable:r=!1,globalTableNames:e,initialFilters:t,initialOrderBy:n,initialSearch:s,initialShardKey:o,onNavigateToGlobal:a,onSelectTable:l,onViewChange:i,pageSize:d=Fr,queryBar:u,schemaSwitch:g,tableParam:b})=>{const{addRow:m,bulkDelete:p,cancelCellEdit:h,cancelEdit:v,changePageSize:w,clearTable:f,columns:x,committing:N,currentView:_,discardStaged:$,editableColumn:y,editing:S,editingCell:E,facetFilter:D,facets:L,filter:q,filters:z,goNext:B,goPrevious:O,hasNext:j,hasPrevious:K,jumpToPage:T,liveError:I,loadTables:P,navigateToRef:A,onBulkDeleteSelected:ee,onCommitStaged:te,onFilterChange:Q,onFiltersChange:ce,onRowDelete:ue,onRowEdit:pe,page:J,pageError:Z,previewRef:G,pageSize:He,rangeEnd:Qe,rangeStart:Ue,saveEdit:We,selectedTable:Y,selectTable:ke,setEditorDocumentText:he,setShardKey:Ze,shardKey:$e,showJson:Te,showTable:_e,stage:xe,stagedChanges:me,stagedValue:Ee,startCellEdit:Re,table:ne,tables:De,tablesError:ge,toggleFacet:Ye,total:Ie,viewMode:ie,writeError:Me}=ir({initialFilters:t,initialOrderBy:n,initialSearch:s,initialShardKey:o,onSelectTable:l,onViewChange:i,pageSize:d,tableParam:b}),Xe=kt(),et=async M=>await Xe.query(jr,{},le(M)),Fe=()=>{Y!==null&&ke(Y)},{closeDialog:ve,columnMeta:Oe,fkPools:tt,insertBatch:je,open:nt,openDialog:rt}=gr(Fe),ot=()=>{Y!==null&&rt(Y,$e)},lt=M=>je(M,ve),[Pe,ze]=R(null),at=()=>{ze(null)},[ye,st]=R(!1),it=()=>{st(M=>!M)},dt=fr(),[Ae,ct]=R(!0),ut=()=>{ct(M=>!M)},mt=hn(dt,Y??""),Ve=vn(mt,x),we={columns:Ve,enabled:Ae},[Ne,Le]=R(null),gt=(M,H)=>{Le({column:M,value:H})},bt=()=>{Le(null)},Be=(M,H)=>{if(a!==void 0&&e?.has(M)===!0){a(M,H);return}A(M,H)},ft=u?.onSaveQuery,pt=M=>{ft?.(M,_)},C={cancelEdit:h,editable:r,editableColumn:y,editingCell:E,onExpandCell:gt,stage:xe,stagedValue:Ee,startEdit:Re},F={columns:J?.refs,onNavigate:Be,onPreview:G};return k("div",{className:"flex h-full min-w-0","data-testid":"lunora-data-browser",children:[c(rn,{header:c(Pr,{onFetchShardTables:et,onShardChange:Ze,schemaSwitch:g,shardKey:$e}),onReload:P,onSelect:ke,prefix:"db",selected:Y,tables:De??Or}),k("div",{className:"flex min-w-0 flex-1 flex-col overflow-hidden",children:[ge!==null&&c("p",{className:"shrink-0 border-b border-border px-4 py-2 text-sm text-destructive","data-testid":"db-tables-error",role:"alert",children:ge}),J===null&&Z===null&&c("div",{className:"flex flex-1 items-center justify-center p-6",children:c("p",{className:"text-sm text-muted-foreground",children:"Select a table to browse its rows."})}),Z!==null&&c("p",{className:"shrink-0 border-b border-border px-4 py-2 text-sm text-destructive","data-testid":"db-page-error",role:"alert",children:Z}),J!==null&&k("div",{className:"flex min-h-0 flex-1 flex-col","data-testid":"db-page",children:[k("div",{className:"flex shrink-0 flex-col gap-2 border-b border-border px-4 py-3",children:[c(zr,{columns:x,editable:r,filter:q,filters:z,hasMaskedColumns:Ve.size>0,liveError:I,maskOn:Ae,onAddRow:m,onBulkDelete:p,onClearTable:f,onFilterChange:Q,onFiltersChange:ce,onGenerateRows:ot,onShowJson:Te,onShowTable:_e,onToggleMask:ut,total:Ie,viewMode:ie}),u!==void 0&&c(Gn,{onApply:u.onApplyQuery,onCopyLink:u.onCopyLink,onDelete:u.onDeleteQuery,onSave:pt,saved:u.saved}),ie==="table"&&J.rows.length>0&&c(sn,{columns:J.columns,editable:r,name:Y??"export",onBulkDelete:ee,onToggleTranspose:it,rows:J.rows,table:ne.table,transposed:ye}),r&&S!==null&&c(Rr,{documentText:S.docText,onCancel:v,onDocumentTextChange:he,onSave:We,refs:J.refs}),r&&me.length>0&&c(Sn,{changes:me,committing:N,onCommit:te,onDiscard:$}),Me!==null&&c("p",{className:"text-sm text-destructive","data-testid":"db-write-error",role:"alert",children:Me})]}),ie==="table"&&J.rows.length===0&&c("div",{className:"flex flex-1 items-center justify-center p-6",children:c(Gt,{description:"Rows you insert into this table will show up here.",icon:c("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:c("path",{d:"M4 5h16v14H4V5Zm0 5h16M10 10v9M4 14.5h16"})}),testId:"db-empty-rows",title:"This table is empty."})}),ie==="table"&&J.rows.length>0&&ye&&c(tn,{columns:J.columns,rows:Dt(J.rows,we)}),ie==="table"&&J.rows.length>0&&!ye&&c(Bn,{edit:C,editable:r,mask:we,onDelete:ue,onEdit:pe,onInspect:ze,refs:F,scrollRef:ne.scrollRef,scrollToIndex:ne.scrollToIndex,table:ne.table,tableRows:ne.tableRows,tbodyStyle:ne.tbodyStyle,virtualRows:ne.virtualRows}),ie==="json"&&c("pre",{className:"min-h-0 flex-1 overflow-auto border-t border-border bg-muted/30 p-3 text-xs","data-testid":"db-json",children:JSON.stringify(Dt(J.rows,we),null,2)}),c("div",{className:"flex shrink-0 items-center border-t border-border px-4 py-2",children:c(on,{hasNext:j,hasPrevious:K,onJumpToPage:T,onNext:B,onPageSizeChange:w,onPrevious:O,pageSize:He,prefix:"db",rangeEnd:Qe,rangeStart:Ue,total:Ie})})]})]}),J!==null&&c(ln,{columns:x,facets:L,onFacetFilter:D,onToggleFacet:Ye}),Pe!==null&&J!==null&&c(vr,{columns:J.columns,onClose:at,onNavigate:Be,refs:J.refs,row:Pe}),Ne!==null&&c(dn,{column:Ne.column,onClose:bt,value:Ne.value}),nt&&Y!==null&&Oe!==void 0&&c(Xn,{columns:Oe,fkPools:tt,onClose:ve,onInsertRows:lt,table:Y})]})};export{io as DataBrowser};
@@ -0,0 +1 @@
1
+ import{c as j}from"react/compiler-runtime";import{jsx as c,jsxs as y}from"react/jsx-runtime";const A=[{label:"=",value:"eq"},{label:"≠",value:"ne"},{label:"<",value:"lt"},{label:"≤",value:"lte"},{label:">",value:"gt"},{label:"≥",value:"gte"},{label:"contains",value:"contains"}],D=r=>{const e=r.trim(),n=Number(e);return e!==""&&Number.isFinite(n)&&String(n)===e?n:r},z=r=>r.filter(e=>e.column!=="").map(e=>({column:e.column,operator:e.operator,value:e.operator==="contains"?e.value:D(e.value)})),B=r=>{const e=j(40),{columns:n,filters:t,onFiltersChange:a,onSearchChange:S,search:k}=r;let x;e[0]!==n[0]||e[1]!==t||e[2]!==a?(x=()=>{a([...t,{column:n[0]??"",operator:"eq",value:""}])},e[0]=n[0],e[1]=t,e[2]=a,e[3]=x):x=e[3];const q=x;let C;e[4]!==t||e[5]!==a?(C=l=>{const o=Number(l.currentTarget.dataset.index);a(t.filter((i,u)=>u!==o))},e[4]=t,e[5]=a,e[6]=C):C=e[6];const v=C;let N;e[7]!==t||e[8]!==a?(N=l=>{const o=Number(l.currentTarget.dataset.index),i=l.currentTarget.value;a(t.map((u,g)=>g===o?{...u,column:i}:u))},e[7]=t,e[8]=a,e[9]=N):N=e[9];const p=N;let F;e[10]!==t||e[11]!==a?(F=l=>{const o=Number(l.currentTarget.dataset.index),i=l.currentTarget.value;a(t.map((u,g)=>g===o?{...u,operator:i}:u))},e[10]=t,e[11]=a,e[12]=F):F=e[12];const f=F;let T;e[13]!==t||e[14]!==a?(T=l=>{const o=Number(l.currentTarget.dataset.index),i=l.currentTarget.value;a(t.map((u,g)=>g===o?{...u,value:i}:u))},e[13]=t,e[14]=a,e[15]=T):T=e[15];const h=T;let d;e[16]!==S||e[17]!==k?(d=c("input",{"aria-label":"Search rows","data-testid":"db-filter",onChange:S,placeholder:"search table…",value:k}),e[16]=S,e[17]=k,e[18]=d):d=e[18];let s;e[19]!==q?(s=c("button",{"data-testid":"db-add-filter",onClick:q,type:"button",children:"Add filter"}),e[19]=q,e[20]=s):s=e[20];let m;e[21]!==d||e[22]!==s?(m=y("div",{className:"flex flex-wrap items-center gap-1.5",children:[d,s]}),e[21]=d,e[22]=s,e[23]=m):m=e[23];let b;if(e[24]!==p||e[25]!==f||e[26]!==h||e[27]!==n||e[28]!==t||e[29]!==v){let l;e[31]!==p||e[32]!==f||e[33]!==h||e[34]!==n||e[35]!==v?(l=(o,i)=>y("div",{className:"flex flex-wrap items-center gap-1.5","data-testid":"db-filter-row",children:[c("select",{"aria-label":"Filter column","data-index":i,"data-testid":"db-filter-column",onChange:p,value:o.column,children:n.map(R)}),c("select",{"aria-label":"Filter operator","data-index":i,"data-testid":"db-filter-operator",onChange:f,value:o.operator,children:A.map(E)}),c("input",{"aria-label":"Filter value","data-index":i,"data-testid":"db-filter-value",onChange:h,placeholder:"value",value:o.value}),c("button",{"aria-label":"Remove filter","data-index":i,"data-testid":"db-filter-remove",onClick:v,type:"button",children:"✕"})]},i),e[31]=p,e[32]=f,e[33]=h,e[34]=n,e[35]=v,e[36]=l):l=e[36],b=t.map(l),e[24]=p,e[25]=f,e[26]=h,e[27]=n,e[28]=t,e[29]=v,e[30]=b}else b=e[30];let w;return e[37]!==m||e[38]!==b?(w=y("div",{className:"flex flex-col gap-1.5","data-testid":"db-filters",children:[m,b]}),e[37]=m,e[38]=b,e[39]=w):w=e[39],w};function R(r){return c("option",{value:r,children:r},r)}function E(r){return c("option",{value:r.value,children:r.label},r.value)}export{B as DataFilters,z as toFilterClauses};
@@ -0,0 +1 @@
1
+ import{Component as i}from"react";import{jsx as e,Fragment as d,jsxs as l}from"react/jsx-runtime";const c={border:"1px solid var(--destructive)",color:"var(--destructive)",padding:12},h={overflow:"auto",whiteSpace:"pre-wrap"};class g extends i{static getDerivedStateFromError(r){return{error:r}}state={error:null};componentDidCatch(r,t){console.error("[lunora-studio] panel error",r,t.componentStack)}reset=()=>{this.setState({error:null})};render(){const{children:r,fallbackTitle:t,label:o,retryLabel:n}=this.props,{error:a}=this.state;if(a===null)return e(d,{children:r});const s=t??(o===void 0?"Something went wrong":`${o} failed`);return l("div",{"data-testid":"dash-error-boundary",role:"alert",style:c,children:[e("strong",{children:s}),e("pre",{"data-testid":"dash-error-message",style:h,children:a.message}),e("button",{"data-testid":"dash-error-retry",onClick:this.reset,type:"button",children:n??"Try again"})]})}}export{g as ErrorBoundary};
@@ -0,0 +1 @@
1
+ import{useLunora as le}from"@lunora/react";import{useState as x,useRef as S,useCallback as ae,useEffect as D}from"react";import{E as ne}from"./empty-state-Cg7t_8qu.js";import{n as oe,d as se,m as E,p as ie,f as de,u as ce}from"./table-DdJBrClo.js";import{T as G}from"./use-admin-query-Di3fLE8H.js";import{useAutoRefresh as ue}from"./DEFAULT_AUTO_REFRESH_MS-BCC8_4BQ.js";import{useT as me}from"./DEFAULT_LOCALE-BZ4NojpD.js";import{C as fe}from"./cf-links-gbDy51nR.js";import{u as be,_ as pe,a as he,$ as ge}from"./table-list-sidebar-CMCcNALK.js";import{_ as xe,y as ve}from"./data-grid-BMBKzMEJ.js";import{jsxs as d,jsx as r}from"react/jsx-runtime";const Ne=50,we=[],ye=[],ke=(t,p)=>{const m=t._id;return typeof m=="string"||typeof m=="number"?String(m):`row-${p.toString()}`},M=t=>t==null?"∅":t===""?"(empty)":typeof t=="object"?JSON.stringify(t):String(t),Ee=({initialTable:t,onSelectTable:p,pageSize:m=Ne,schemaSwitch:O}={})=>{const v=le(),f=me(),[a,J]=x(t??null),[o,h]=x(0),[c,z]=x(m),[u,T]=x([]),s=S(u);s.current=u;const{clearFacets:F,facets:A,refetchFacets:U,toggleFacet:q}=be(),g=G(["lunora-global-tables"],()=>v.listGlobalTables()),b=g.data??null,C=g.error,N=G(["lunora-global-page",a??"",o,c,JSON.stringify(u)],()=>v.readGlobalTablePage({filters:u,limit:c,offset:o,table:a??""}),{enabled:a!==null,keepPreviousData:!1}),l=N.data??null,w=N.error,_=(e,n)=>i=>v.facetGlobalColumn({column:i,filters:n,table:e}),L=(e,n)=>{U(_(e,n))};ue(()=>{g.refetch(),a!==null&&(N.refetch(),L(a,s.current))},!0);const y=S(void 0),k=ae(e=>{J(e),y.current=e,T([]),s.current=[],F(),h(0),p?.(e)},[F,p]),B=e=>{q(e,a===null?null:_(a,s.current))},P=e=>{T(e),s.current=e,h(0),a!==null&&L(a,e)},I=(e,n)=>{P([...s.current.filter(i=>i.column!==e),{column:e,value:n}])},W=e=>{const n=Number(e.currentTarget.dataset.index);P(s.current.filter((i,te)=>te!==n))},R=S(k);D(()=>{R.current=k}),D(()=>{if(t===void 0||t===""||y.current===t)return;y.current=t;const e=t;queueMicrotask(()=>{R.current(e)})},[t]);const $=e=>{a!==null&&h(Math.max(0,e))},j=l?.total??0,Z=o>0,H=l!==null&&o+l.rows.length<j,K=l===null||l.rows.length===0?0:o+1,Q=l===null?0:o+l.rows.length,V=()=>{g.refetch()},X=()=>{$(o-c)},Y=()=>{$(o+c)},ee=e=>{$(Math.max(0,(e-1)*c))},re=e=>{z(e),h(0)};return d("div",{className:"flex h-full min-w-0","data-testid":"lunora-global-data-browser",children:[r(pe,{header:d("div",{className:"flex shrink-0 flex-col items-stretch gap-2 border-b border-border p-3",children:[O,r("a",{className:"text-sm text-primary underline-offset-4 hover:underline","data-testid":"gdb-cf-link",href:fe,rel:"noreferrer",target:"_blank",children:f("Open in Cloudflare")})]}),onReload:V,onSelect:k,prefix:"gdb",selected:a,tables:b??we}),d("div",{className:"flex min-w-0 flex-1 flex-col overflow-hidden",children:[C!==null&&r("p",{className:"shrink-0 border-b border-border px-4 py-2 text-sm text-destructive","data-testid":"gdb-tables-error",role:"alert",children:C}),b!==null&&b.length===0&&r("div",{className:"flex flex-1 items-center justify-center p-6",children:r(ne,{description:f("Tables marked .global() (D1-backed, region-replicated) will appear here."),icon:d("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[r("circle",{cx:"12",cy:"12",r:"9"}),r("path",{d:"M3 12h18M12 3a14 14 0 0 1 0 18 14 14 0 0 1 0-18Z"})]}),testId:"gdb-empty",title:f("No global tables.")})}),w!==null&&r("p",{className:"shrink-0 border-b border-border px-4 py-2 text-sm text-destructive","data-testid":"gdb-page-error",role:"alert",children:w}),b!==null&&b.length>0&&l===null&&w===null&&r("div",{className:"flex flex-1 items-center justify-center p-6",children:r("p",{className:"text-sm text-muted-foreground",children:f("Select a table to browse its rows.")})}),l!==null&&d("div",{className:"flex min-h-0 flex-1 flex-col","data-testid":"gdb-page",children:[u.length>0&&r("div",{className:"flex shrink-0 flex-wrap items-center gap-1.5 border-b border-border px-4 py-2 text-xs","data-testid":"gdb-filters",children:u.map((e,n)=>d("span",{className:"inline-flex items-center gap-1 rounded border border-border bg-muted px-1.5 py-0.5","data-testid":"gdb-filter-chip",children:[r("span",{className:"font-medium text-foreground",children:e.column}),r("span",{className:"text-muted-foreground",children:"="}),r("span",{className:"font-mono text-foreground",children:M(e.value)}),r("button",{"aria-label":f("Remove filter"),className:"ml-0.5 text-muted-foreground hover:text-foreground","data-index":n,"data-testid":"gdb-filter-remove",onClick:W,type:"button",children:"✕"})]},`${e.column}:${M(e.value)}`))}),r(xe,{layout:"fill",children:r("div",{className:"min-h-0 flex-1 overflow-auto",children:d(oe,{"data-testid":"gdb-rows",children:[r(se,{children:r(E,{children:l.columns.map(e=>r(ie,{children:e},e))})}),r(de,{children:l.rows.map((e,n)=>r(E,{"data-testid":"gdb-row",children:l.columns.map(i=>r(ce,{className:"max-w-xs truncate font-mono text-xs",children:r(ve,{value:e[i]})},i))},ke(e,n)))})]})})}),r("div",{className:"flex shrink-0 items-center border-t border-border px-4 py-2",children:r(he,{hasNext:H,hasPrevious:Z,onJumpToPage:ee,onNext:Y,onPageSizeChange:re,onPrevious:X,pageSize:c,prefix:"gdb",rangeEnd:Q,rangeStart:K,total:j})})]})]}),r(ge,{columns:l?.columns??ye,facets:A,onFacetFilter:I,onToggleFacet:B})]})};export{Ee as GlobalDataBrowser};
@@ -0,0 +1 @@
1
+ import"react/compiler-runtime";import"@tanstack/react-router";import"react";import"./badge-BbuuAio7.js";import"./card-CIDGUN6K.js";import"./empty-state-Cg7t_8qu.js";import"./use-admin-query-Di3fLE8H.js";import"./DEFAULT_LOCALE-BZ4NojpD.js";import"./ADMIN_FUNCTIONS-BYNSbBVE.js";import"./internal-AtZ4bTal.js";import"./utils-bhneXptQ.js";import"./DEFAULT_INSIGHT_THRESHOLDS-B-hcFVoi.js";import{H as b}from"./home-panel-B-8BCffw.js";import"react/jsx-runtime";export{b as HomePanel};
@@ -0,0 +1 @@
1
+ import{c as g}from"react/compiler-runtime";import{useLunora as y}from"@lunora/react";import{E as f}from"./empty-state-Cg7t_8qu.js";import{n as h}from"./skeleton-C1wQ9M5t.js";import{u as k,U as x}from"./reference-view-KvhektwF.js";import{useT as P}from"./DEFAULT_LOCALE-BZ4NojpD.js";import{jsxs as S,jsx as p}from"react/jsx-runtime";const v=t=>(t.params??[]).find(e=>e.name==="args")??(t.params??[])[0],w=t=>t["x-tags"]?.[0]?.name??(t.name.includes(":")?t.name.slice(0,t.name.indexOf(":")):""),I=t=>{const e=v(t)?.schema;return{argsSchema:e,description:t.description,functionPath:t.name,httpPath:"/_lunora/rpc",key:t.name,kind:t["x-lunora-function-kind"],method:"POST",operationId:t.name,requestSchema:e,responses:[{description:t.result?.name,schema:t.result?.schema,status:"200"}],summary:t.summary??t.name,tags:[w(t)],title:t.summary??t.name}},C=t=>{const e=t??{},d=(e.methods??[]).map(a=>I(a)),o=new Map;for(const a of d){const m=a.tags[0]??"",r=o.get(m)??[];r.push(a),o.set(m,r)}return{groups:[...o.entries()].map(([a,m])=>({name:a,operations:m.toSorted((r,c)=>r.operationId.localeCompare(c.operationId))})).toSorted((a,m)=>a.name.localeCompare(m.name)),operationByKey:new Map(d.map(a=>[a.key,a])),title:e.info?.title??"API reference",version:e.info?.version}},O=t=>t.methods===void 0||t.methods.length===0,R=t=>{const e=t;return O(e)?{kind:"empty"}:{kind:"ready",spec:e}},T=t=>{const e=g(23),{spec:d}=t,o=P(),a=y();let m;e[0]!==a?(m=()=>a.fetchOpenRpc(),e[0]=a,e[1]=m):m=e[1];const r=k(d,m,R);let c;e[2]!==r.kind||e[3]!==r.spec?(c=r.kind==="ready"?C(r.spec):void 0,e[2]=r.kind,e[3]=r.spec,e[4]=c):c=e[4];const l=c;if(r.kind==="loading"){let n;return e[5]===Symbol.for("react.memo_cache_sentinel")?(n=S("div",{className:"flex flex-col gap-4","data-testid":"openrpc-reference-loading",children:[p(h,{className:"h-8 w-48"}),p(h,{className:"h-64 w-full"})]}),e[5]=n):n=e[5],n}if(r.kind==="error"){let n;e[6]!==r.message||e[7]!==o?(n=o("Couldn't load the OpenRPC spec: {message}",{message:r.message}),e[6]=r.message,e[7]=o,e[8]=n):n=e[8];let s;e[9]!==o?(s=o("API reference unavailable"),e[9]=o,e[10]=s):s=e[10];let i;return e[11]!==n||e[12]!==s?(i=p(f,{description:n,testId:"openrpc-reference-error",title:s}),e[11]=n,e[12]=s,e[13]=i):i=e[13],i}if(r.kind==="empty"||l===void 0){let n;e[14]!==o?(n=o("Run `lunora codegen --api-spec openrpc` and wire `_generated/openrpc.json` to the worker to render the OpenRPC reference here."),e[14]=o,e[15]=n):n=e[15];let s;e[16]!==o?(s=o("No OpenRPC spec configured"),e[16]=o,e[17]=s):s=e[17];let i;return e[18]!==n||e[19]!==s?(i=p(f,{description:n,testId:"openrpc-reference-empty",title:s}),e[18]=n,e[19]=s,e[20]=i):i=e[20],i}let u;return e[21]!==l?(u=p(x,{model:l}),e[21]=l,e[22]=u):u=e[22],u};export{T as default};
@@ -0,0 +1 @@
1
+ const o="lunora-studio-root";export{o as default};
@@ -0,0 +1 @@
1
+ import{c as M}from"react/compiler-runtime";import{useLunora as R}from"@lunora/react";import{useState as E,useEffect as q}from"react";import{ConfirmButton as K}from"./ConfirmButton-CTL3f3kr.js";import{c as P,u as V}from"./card-CIDGUN6K.js";import{E as W}from"./empty-state-Cg7t_8qu.js";import{n as Z,d as z,m as L,p as m,f as D,u as h}from"./table-DdJBrClo.js";import{T as G}from"./use-admin-query-Di3fLE8H.js";import{useAutoRefresh as H}from"./DEFAULT_AUTO_REFRESH_MS-BCC8_4BQ.js";import{useT as O}from"./DEFAULT_LOCALE-BZ4NojpD.js";import{f as Q,i as U,e as X}from"./internal-AtZ4bTal.js";import{jsx as t,jsxs as v}from"react/jsx-runtime";const Y=s=>Number.isFinite(s)?U(s,"—"):"—",T=s=>s.toSorted((e,u)=>e.scheduledFor-u.scheduledFor),he=s=>{const e=M(33);let u;e[0]!==s?(u=s===void 0?{}:s,e[0]=s,e[1]=u):u=e[1];const{cancelJob:F,loadJobs:a}=u,i=R(),r=O(),d=a===void 0;let x;e[2]===Symbol.for("react.memo_cache_sentinel")?(x=["lunora-scheduled-jobs"],e[2]=x):x=e[2];let j;e[3]!==i||e[4]!==a?(j=async()=>{const o=await(a??(()=>i.listScheduledJobs()))();return T(o)},e[3]=i,e[4]=a,e[5]=j):j=e[5];const l=G(x,j),[B,_]=E(void 0),[I,J]=E(void 0);let N,g;e[6]!==i||e[7]!==d?(N=()=>{if(d)return i.subscribeScheduledJobs(o=>{J(void 0),_(T(o))})},g=[d,i],e[6]=i,e[7]=d,e[8]=N,e[9]=g):(N=e[8],g=e[9]),q(N,g);let $;e[10]!==l?($=()=>{l.refetch()},e[10]=l,e[11]=$):$=e[11],H($,!d);let k;e:{if(F!==void 0){k=F;break e}let o;e[12]!==i||e[13]!==a?(o=a===void 0?C=>i.cancelScheduledJob(C):void 0,e[12]=i,e[13]=a,e[14]=o):o=e[14],k=o}const c=k,n=B??l.data,y=I??l.error;let S;e[15]!==c||e[16]!==l||e[17]!==d?(S=async o=>{if(c!==void 0){J(void 0);try{await c(o),d||l.refetch()}catch(C){J(X(C))}}},e[15]=c,e[16]=l,e[17]=d,e[18]=S):S=e[18];const A=S;let f;e[19]!==y?(f=y!==null&&t("p",{className:"text-sm text-destructive","data-testid":"sj-error",role:"alert",children:y}),e[19]=y,e[20]=f):f=e[20];let p;e[21]!==n?.length||e[22]!==r?(p=n?.length===0&&t(W,{description:r("Jobs queued with runAfter / runAt will appear here."),icon:v("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[t("circle",{cx:"12",cy:"12",r:"9"}),t("path",{d:"M12 7.5V12l4 2"})]}),testId:"sj-empty",title:r("No scheduled jobs.")}),e[21]=n?.length,e[22]=r,e[23]=p):p=e[23];let b;e[24]!==A||e[25]!==c||e[26]!==n||e[27]!==r?(b=n!==void 0&&n.length>0&&t(P,{className:"overflow-hidden py-0",children:t(V,{className:"px-0",children:v(Z,{"data-testid":"sj-table",children:[t(z,{children:v(L,{children:[t(m,{children:r("function")}),t(m,{children:r("scheduled for")}),t(m,{children:r("pool")}),t(m,{children:r("attempts")}),t(m,{children:r("shard")}),t(m,{children:r("id")}),c!==void 0&&t(m,{"aria-label":r("Actions")})]})}),t(D,{children:n.map(o=>v(L,{"data-testid":`sj-row-${o.id}`,children:[t(h,{className:"font-mono text-xs",children:o.functionPath}),t(h,{className:"text-muted-foreground tabular-nums",children:Y(o.scheduledFor)}),t(h,{className:"font-mono text-xs",children:o.pool??""}),t(h,{className:"tabular-nums",children:o.attempts??0}),t(h,{children:o.shardKey??""}),t(h,{className:"font-mono text-xs",children:o.id}),c!==void 0&&t(h,{className:"text-right",children:t(K,{confirmLabel:r("Cancel job?"),onConfirm:()=>{Q(A(o.id))},testId:`sj-cancel-${o.id}`,children:r("Cancel")})})]},o.id))})]})})}),e[24]=A,e[25]=c,e[26]=n,e[27]=r,e[28]=b):b=e[28];let w;return e[29]!==p||e[30]!==b||e[31]!==f?(w=v("div",{className:"flex flex-col gap-3","data-testid":"lunora-scheduled-jobs",children:[f,p,b]}),e[29]=p,e[30]=b,e[31]=f,e[32]=w):w=e[32],w};export{he as ScheduledJobs};
@@ -0,0 +1 @@
1
+ import{c as $}from"react/compiler-runtime";import{useId as x,useState as I}from"react";import{useT as b}from"./DEFAULT_LOCALE-BZ4NojpD.js";import{l as j}from"./shard-history-DMEW5VBE.js";import{u as k}from"./input-JHu63lTv.js";import{jsx as v,jsxs as y,Fragment as C}from"react/jsx-runtime";const A=i=>{const t=$(21),{id:c,onChange:h,testId:e,value:p}=i,a=b(),d=x(),[s]=I(F);let m;t[0]!==h?(m=S=>{h(S.target.value)},t[0]=h,t[1]=m):m=t[1];const f=m;let r;t[2]!==a?(r=a("Shard key"),t[2]=a,t[3]=r):r=t[3];const g=s.length>0?d:void 0;let o;t[4]!==a?(o=a("shard key (optional)"),t[4]=a,t[5]=o):o=t[5];let n;t[6]!==c||t[7]!==f||t[8]!==r||t[9]!==g||t[10]!==o||t[11]!==e||t[12]!==p?(n=v(k,{"aria-label":r,className:"h-8 w-48","data-testid":e,id:c,list:g,onChange:f,placeholder:o,value:p}),t[6]=c,t[7]=f,t[8]=r,t[9]=g,t[10]=o,t[11]=e,t[12]=p,t[13]=n):n=t[13];let l;t[14]!==d||t[15]!==s||t[16]!==e?(l=s.length>0&&v("datalist",{"data-testid":`${e}-recents`,id:d,children:s.map(w)}),t[14]=d,t[15]=s,t[16]=e,t[17]=l):l=t[17];let u;return t[18]!==n||t[19]!==l?(u=y(C,{children:[n,l]}),t[18]=n,t[19]=l,t[20]=u):u=t[20],u};function F(){return j()}function w(i){return v("option",{"aria-label":i,value:i},i)}export{A as ShardInput};
@@ -0,0 +1 @@
1
+ import"react/compiler-runtime";import"@tanstack/react-router";import"react";import{S as h}from"./studio-BHA7hnI3.js";import"./ErrorBoundary-DvzYskH7.js";import"./badge-BbuuAio7.js";import"./input-JHu63lTv.js";import"./skeleton-C1wQ9M5t.js";import"./home-panel-B-8BCffw.js";import"./DEFAULT_LOCALE-BZ4NojpD.js";import"./StudioI18nProvider-CZ5h4nrV.js";import"./data-view-params-C8T3bW1z.js";import"./internal-AtZ4bTal.js";import"./utils-bhneXptQ.js";import"./CommandPalette-CVIaY3j8.js";import"react/jsx-runtime";export{h as Studio};
@@ -0,0 +1 @@
1
+ import{c as _}from"react/compiler-runtime";import{LunoraClient as B}from"@lunora/client";import{LunoraProvider as W}from"@lunora/react";import{useState as j,useEffect as L}from"react";import{ErrorBoundary as z}from"./ErrorBoundary-DvzYskH7.js";import{b as K,f as Y,a as Z,m as q,S as G}from"./studio-BHA7hnI3.js";import H from"./useDebounced-Ihdiid_k.js";import{useT as R,createStudioI18n as J}from"./DEFAULT_LOCALE-BZ4NojpD.js";import{StudioI18nProvider as U}from"./StudioI18nProvider-CZ5h4nrV.js";import{r as Q}from"./internal-AtZ4bTal.js";import D from"./STUDIO_ROOT_CLASS-C6MccdVk.js";import{a as M}from"./browser-storage-xjTyMKY0.js";import{c as F}from"./utils-bhneXptQ.js";import{u as V}from"./button-BkCrNcAs.js";import{u as X}from"./input-JHu63lTv.js";import{jsx as b,jsxs as P}from"react/jsx-runtime";const C="lunora-studio-admin-token",ee=()=>{try{return M("session")?.getItem(C)??""}catch{return""}},te=k=>{const e=M("session");if(e!==void 0)try{k===""?e.removeItem(C):e.setItem(C,k)}catch{}},oe="/_lunora/admin/ws-token",ne=k=>{const e=k;return typeof e?.token=="string"&&e.token.length>0&&typeof e.expiresAtMs=="number"},re=k=>{const{adminToken:e,baseUrl:c}=k,o=k.fetchImpl??fetch;let n=c;for(;n.endsWith("/");)n=n.slice(0,-1);const s=`${n}${oe}`;let t,r=!1,l;const m=async()=>{const f=await o(s,{headers:{authorization:`Bearer ${e}`},method:"POST"});if(f.status===404||f.status===405)return r=!0,e;if(!f.ok)throw new Error(`ws-token mint failed: ${String(f.status)}`);const a=await f.json().catch(()=>{});if(!ne(a))throw new Error("ws-token mint failed: malformed response body");return t=a,a.token};return{getToken:async()=>r?e:t!==void 0&&t.expiresAtMs-1e4>Date.now()?t.token:(l??=m().finally(()=>{l=void 0}),l),invalidate:()=>{t=void 0}}},le=k=>{const e=_(42),{onSubmit:c}=k,o=R(),[n,s]=j("");let t;e[0]!==n?(t=n.trim(),e[0]=n,e[1]=t):t=e[1];const r=t;let l;e[2]!==c||e[3]!==r?(l=y=>{y.preventDefault(),r!==""&&c(r)},e[2]=c,e[3]=r,e[4]=l):l=e[4];const m=l;let f;e[5]===Symbol.for("react.memo_cache_sentinel")?(f=b("div",{className:"h-10 w-10 text-foreground",children:b(Y,{})}),e[5]=f):f=e[5];let a;e[6]!==o?(a=o("Connect to Lunora Studio"),e[6]=o,e[7]=a):a=e[7];let v;e[8]!==a?(v=b("h1",{className:"text-base font-semibold text-foreground",children:a}),e[8]=a,e[9]=v):v=e[9];let g;e[10]!==o?(g=o("Enter your admin token to access the studio."),e[10]=o,e[11]=g):g=e[11];let u;e[12]!==g?(u=b("p",{className:"text-[13px] text-muted-foreground",children:g}),e[12]=g,e[13]=u):u=e[13];let d;e[14]!==v||e[15]!==u?(d=P("div",{className:"flex flex-col items-center gap-3 text-center",children:[f,P("div",{className:"flex flex-col gap-1",children:[v,u]})]}),e[14]=v,e[15]=u,e[16]=d):d=e[16];let h;e[17]!==o?(h=o("admin token"),e[17]=o,e[18]=h):h=e[18];let i;e[19]!==h?(i=b("label",{className:"text-xs font-medium text-foreground",htmlFor:"lunora-studio-login-token",children:h}),e[19]=h,e[20]=i):i=e[20];let p;e[21]===Symbol.for("react.memo_cache_sentinel")?(p=y=>{s(y.target.value)},e[21]=p):p=e[21];let x;e[22]!==n?(x=b(X,{autoComplete:"off",autoFocus:!0,"data-testid":"lunora-studio-login-token",id:"lunora-studio-login-token",onChange:p,placeholder:"LUNORA_ADMIN_TOKEN",type:"password",value:n}),e[22]=n,e[23]=x):x=e[23];let S;e[24]!==o?(S=o("From your worker's LUNORA_ADMIN_TOKEN — your project's .dev.vars in dev, or a deployment secret in production."),e[24]=o,e[25]=S):S=e[25];let I;e[26]!==S?(I=b("p",{className:"text-[11px] text-muted-foreground",children:S}),e[26]=S,e[27]=I):I=e[27];let T;e[28]!==i||e[29]!==x||e[30]!==I?(T=P("div",{className:"flex flex-col gap-1.5",children:[i,x,I]}),e[28]=i,e[29]=x,e[30]=I,e[31]=T):T=e[31];const A=r==="";let w;e[32]!==o?(w=o("Connect"),e[32]=o,e[33]=w):w=e[33];let N;e[34]!==A||e[35]!==w?(N=b(V,{"data-testid":"lunora-studio-login-submit",disabled:A,type:"submit",children:w}),e[34]=A,e[35]=w,e[36]=N):N=e[36];let $;return e[37]!==m||e[38]!==T||e[39]!==N||e[40]!==d?($=P("form",{className:"flex w-full max-w-sm flex-col gap-5 rounded-xl border border-border bg-card p-7 shadow-lg","data-testid":"lunora-studio-login",onSubmit:m,children:[d,T,N]}),e[37]=m,e[38]=T,e[39]=N,e[40]=d,e[41]=$):$=e[41],$},ae=k=>{const e=_(10),{i18n:c,onSubmit:o}=k,{resolvedTheme:n}=K(),s=n==="dark"&&"dark";let t;e[0]!==s?(t=F(D,s,"flex h-dvh items-center justify-center bg-sidebar p-6 text-sm text-foreground"),e[0]=s,e[1]=t):t=e[1];let r;e[2]!==o?(r=b(le,{onSubmit:o}),e[2]=o,e[3]=r):r=e[3];let l;e[4]!==c||e[5]!==r?(l=b(U,{i18n:c,children:r}),e[4]=c,e[5]=r,e[6]=l):l=e[6];let m;return e[7]!==t||e[8]!==l?(m=b("div",{className:t,"data-testid":"lunora-studio-login-root",children:l}),e[7]=t,e[8]=l,e[9]=m):m=e[9],m},se=k=>{const e=_(23),{basePath:c,chrome:o,studio:n}=k,s=R();let t;e[0]!==s?(t=s("Studio failed"),e[0]=s,e[1]=t):t=e[1];let r;e[2]!==s?(r=s("Studio"),e[2]=s,e[3]=r):r=e[3];let l;e[4]!==s?(l=s("Try again"),e[4]=s,e[5]=l):l=e[5];const m=n?.dataEditable,f=n?.functions,a=n?.initialShardKey,v=n?.openApiSpec,g=n?.openRpcSpec,u=n?.runAsIdentity,d=n?.scheduledCancel,h=n?.scheduledLoad,i=n?.schemaEditable;let p;e[6]!==c||e[7]!==o||e[8]!==d||e[9]!==h||e[10]!==i||e[11]!==m||e[12]!==f||e[13]!==a||e[14]!==v||e[15]!==g||e[16]!==u?(p=b(G,{basePath:c,chrome:o,dataEditable:m,functions:f,initialShardKey:a,openApiSpec:v,openRpcSpec:g,runAsIdentity:u,scheduledCancel:d,scheduledLoad:h,schemaEditable:i}),e[6]=c,e[7]=o,e[8]=d,e[9]=h,e[10]=i,e[11]=m,e[12]=f,e[13]=a,e[14]=v,e[15]=g,e[16]=u,e[17]=p):p=e[17];let x;return e[18]!==t||e[19]!==p||e[20]!==r||e[21]!==l?(x=b(z,{fallbackTitle:t,label:r,retryLabel:l,children:p}),e[18]=t,e[19]=p,e[20]=r,e[21]=l,e[22]=x):x=e[22],x},ie=k=>{const e=_(20),{basePath:c,clearToken:o,client:n,i18n:s,onTokenChange:t,rulesInstalled:r,studio:l,token:m}=k,{resolvedTheme:f}=K();let a;e[0]!==o||e[1]!==t||e[2]!==r||e[3]!==m?(a={clearToken:o,onTokenChange:t,rulesInstalled:r,token:m},e[0]=o,e[1]=t,e[2]=r,e[3]=m,e[4]=a):a=e[4];const v=a,g=f==="dark"&&"dark";let u;e[5]!==g?(u=F(D,g,"flex h-dvh flex-col overflow-hidden bg-sidebar text-sm text-foreground"),e[5]=g,e[6]=u):u=e[6];let d;e[7]!==c||e[8]!==v||e[9]!==l?(d=b(q,{children:b(se,{basePath:c,chrome:v,studio:l})}),e[7]=c,e[8]=v,e[9]=l,e[10]=d):d=e[10];let h;e[11]!==s||e[12]!==d?(h=b(U,{i18n:s,children:d}),e[11]=s,e[12]=d,e[13]=h):h=e[13];let i;e[14]!==n||e[15]!==h?(i=b(W,{client:n,children:h}),e[14]=n,e[15]=h,e[16]=i):i=e[16];let p;return e[17]!==u||e[18]!==i?(p=b("div",{className:u,"data-testid":"lunora-studio-app",children:i}),e[17]=u,e[18]=i,e[19]=p):p=e[19],p},Ne=k=>{const e=_(25);let c;e[0]!==k?(c=k===void 0?{}:k,e[0]=k,e[1]=c):c=e[1];const{adminToken:o,basePath:n,baseUrl:s,client:t,rulesInstalled:r,studio:l,locale:m}=c;let f;e[2]!==o?(f=()=>o??ee(),e[2]=o,e[3]=f):f=e[3];const[a,v]=j(f);let g,u;e[4]!==a?(g=()=>{te(a)},u=[a],e[4]=a,e[5]=g,e[6]=u):(g=e[5],u=e[6]),L(g,u);const d=H(a,300);let h;e:{if(t!==void 0){h=t;break e}let y;if(e[7]!==s||e[8]!==d){const O=Q(s),E=d===""?void 0:re({adminToken:d,baseUrl:O});y=new B({url:O,...E===void 0?{}:{wsToken:E.getToken}}),E!==void 0&&(y.setAuthToken(d),y.onTokenExpired(E.invalidate)),e[7]=s,e[8]=d,e[9]=y}else y=e[9];h=y}const i=h;let p,x;e[10]!==i||e[11]!==t?(p=()=>()=>{t===void 0&&i.close()},x=[i,t],e[10]=i,e[11]=t,e[12]=p,e[13]=x):(p=e[12],x=e[13]),L(p,x);let S;e[14]===Symbol.for("react.memo_cache_sentinel")?(S=y=>{v(y.target.value)},e[14]=S):S=e[14];const I=S;let T;e[15]===Symbol.for("react.memo_cache_sentinel")?(T=()=>{v("")},e[15]=T):T=e[15];const A=T;let w;e[16]!==m?(w=J(m),e[16]=m,e[17]=w):w=e[17];const N=w;let $;return e[18]!==n||e[19]!==i||e[20]!==N||e[21]!==r||e[22]!==l||e[23]!==a?($=b(Z,{children:a===""?b(ae,{i18n:N,onSubmit:v}):b(ie,{basePath:n,clearToken:A,client:i,i18n:N,onTokenChange:I,rulesInstalled:r,studio:l,token:a})}),e[18]=n,e[19]=i,e[20]=N,e[21]=r,e[22]=l,e[23]=a,e[24]=$):$=e[24],$};export{Ne as StudioApp};
@@ -0,0 +1 @@
1
+ import{c as a}from"react/compiler-runtime";import{StudioI18nContext as l,studioI18n as m,createStudioI18n as u}from"./DEFAULT_LOCALE-BZ4NojpD.js";import{jsx as v}from"react/jsx-runtime";const p=(i,o,t)=>i!==void 0?i:o===void 0&&t===void 0?m:u(o,t),S=i=>{const o=a(7),{catalogs:t,children:n,i18n:s,locale:d}=i;let r;o[0]!==t||o[1]!==s||o[2]!==d?(r=p(s,d,t),o[0]=t,o[1]=s,o[2]=d,o[3]=r):r=o[3];const c=r;let e;return o[4]!==n||o[5]!==c?(e=v(l,{value:c,children:n}),o[4]=n,o[5]=c,o[6]=e):e=o[6],e};export{S as StudioI18nProvider};
@@ -0,0 +1 @@
1
+ import{useState as b,useMemo as N}from"react";import{E as v}from"./error-alert-B59DnrDI.js";import{c as w,u as y}from"./card-CIDGUN6K.js";import{n as $,d as k,m as c,p as m,f as I,u as l}from"./table-DdJBrClo.js";import{useT as E}from"./DEFAULT_LOCALE-BZ4NojpD.js";import{c as A}from"./utils-bhneXptQ.js";import{jsxs as o,jsx as t}from"react/jsx-runtime";const R={ERROR:"error",INFO:"info",WARN:"warning"},q=e=>{const n=typeof e.metadata.table=="string"?e.metadata.table:void 0;return{description:`${e.detail} ${e.remediation}`,entity:n,issueType:e.title,key:e.cacheKey,level:R[e.level]}},T=["error","warning","info"],O={error:"bg-destructive",info:"bg-info",warning:"bg-warning"},S=(e,n)=>({error:e("Errors"),info:e("Info"),warning:e("Warnings")})[n],j=(e,n,s)=>({error:e("{count} errors",{count:s}),info:e("{count} suggestions",{count:s}),warning:e("{count} warnings",{count:s})})[n],C=(e,n)=>({error:e("No errors detected"),info:e("No suggestions"),warning:e("No warnings detected")})[n],B=({error:e=null,errorSource:n,rows:s,testId:a,toolbar:f})=>{const i=E(),[d,p]=b("error"),g=N(()=>{const r={error:0,info:0,warning:0};for(const x of s??[])r[x.level]+=1;return r},[s]),u=(s??[]).filter(r=>r.level===d),h=r=>{p(r.currentTarget.dataset.level)};return o("div",{className:"flex flex-col gap-3","data-testid":a,children:[t("div",{className:"flex border-b border-border",role:"tablist",children:T.map(r=>o("button",{"aria-selected":d===r,className:"flex min-w-32 flex-col gap-0.5 border-b-2 border-transparent px-4 py-2 text-start outline-none transition-colors hover:bg-muted/40 focus-visible:bg-muted/40 aria-selected:border-foreground","data-level":r,"data-testid":`${a}-tab-${r}`,onClick:h,role:"tab",type:"button",children:[o("span",{className:"flex items-center gap-2 text-sm font-medium text-foreground",children:[t("span",{"aria-hidden":"true",className:A("size-2 rounded-sm",O[r])}),S(i,r)]}),t("span",{className:"ps-4 text-xs text-muted-foreground",children:j(i,r,g[r])})]},r))}),f!==void 0&&t("div",{className:"flex flex-wrap items-center gap-2",children:f}),e!==null&&t(v,{error:n??e,testId:`${a}-error`}),t(w,{className:"overflow-hidden py-0",children:t(y,{className:"px-0",children:o($,{children:[t(k,{children:o(c,{children:[t(m,{children:i("Issue type")}),t(m,{children:i("Entity/item")}),t(m,{children:i("Description")})]})}),t(I,{children:u.length===0?t(c,{children:o(l,{className:"h-40 text-center align-middle text-muted-foreground",colSpan:3,"data-testid":`${a}-empty`,children:[t("span",{className:"block text-sm font-medium text-foreground",children:C(i,d)}),t("span",{className:"block text-sm",children:i("Nothing to report for this deployment.")})]})}):u.map(r=>o(c,{children:[t(l,{className:"font-medium text-foreground",children:r.issueType}),t(l,{className:"font-mono text-xs text-muted-foreground",children:r.entity??"—"}),o(l,{className:"text-muted-foreground",children:[t("span",{children:r.description}),r.action!==void 0&&t("span",{className:"mt-1.5 flex flex-wrap items-center gap-1.5",children:r.action})]})]},r.key))})]})})})]})};export{B as A,q as O};
@@ -0,0 +1 @@
1
+ const u=e=>{let t=0,a=0,r=0,n=0,o=0,l=0,c=0;for(const{metrics:s}of e){if(s===null){o+=1;continue}n+=1,t+=s.requests,a+=s.errors,r+=s.databaseSize??0,s.cache!==null&&(l+=s.cache.hits,c+=s.cache.hits+s.cache.misses)}return{failed:o,hitRate:c===0?null:l/c,reachable:n,totalDatabaseSize:r,totalErrors:a,totalRequests:t}},h=(e,t)=>{const a=new Set,r=[];for(const n of["",e.trim(),...t])a.has(n)||(a.add(n),r.push(n));return r},i=(e,t)=>{if(e.length===0)return 0;if(e.sort((r,n)=>r-n),t<=0)return e[0]??0;if(t>=100)return e.at(-1)??0;const a=Math.ceil(t/100*e.length)-1;return e[a]??0},f=e=>{const t=e.functions;if(!t||t.length===0)return{p90:0,p95:0};const a=1e3,r=[];for(const n of t){if(n.calls<=0)continue;const o=n.totalDurationMs/n.calls,l=Math.min(n.calls,a);for(let c=0;c<l;c+=1)r.push(o)}return r.length===0?{p90:0,p95:0}:{p90:i([...r],90),p95:i([...r],95)}},p=(e,t,a="neutral")=>{const r=t-e,n=e===0?null:r/e*100;return{delta:r,direction:a,pct:n}},g=e=>e.map(t=>({...t,avgDurationMs:t.execCount>0?t.totalDurationMs/t.execCount:0}));export{u as aggregateMetrics,p as computeDelta,f as computeLatencyPercentiles,g as enrichQueryStats,i as percentile,h as shardsToAggregate};
@@ -0,0 +1 @@
1
+ import{c}from"react/compiler-runtime";import{cva as l}from"class-variance-authority";import{c as v}from"./utils-bhneXptQ.js";import{jsx as b,jsxs as u}from"react/jsx-runtime";const x=l("flex items-start gap-2 rounded-md border px-3 py-2 text-sm [&>svg]:mt-0.5 [&>svg]:size-4 [&>svg]:shrink-0",{defaultVariants:{variant:"default"},variants:{variant:{default:"border-border bg-muted/40 text-foreground",destructive:"border-destructive/40 bg-destructive/5 text-destructive",warning:"border-amber-500/40 bg-amber-500/5 text-amber-700 dark:text-amber-400"}}}),N=m=>{const t=c(10),{children:s,className:d,icon:i,testId:o,variant:n}=m;let e;t[0]!==d||t[1]!==n?(e=v(x({variant:n}),d),t[0]=d,t[1]=n,t[2]=e):e=t[2];let r;t[3]!==s?(r=b("div",{className:"min-w-0 flex-1",children:s}),t[3]=s,t[4]=r):r=t[4];let a;return t[5]!==i||t[6]!==e||t[7]!==r||t[8]!==o?(a=u("div",{className:e,"data-testid":o,role:"alert",children:[i,r]}),t[5]=i,t[6]=e,t[7]=r,t[8]=o,t[9]=a):a=t[9],a};export{N as A};
@@ -0,0 +1 @@
1
+ import{mergeProps as i}from"@base-ui/react/merge-props";import{useRender as a}from"@base-ui/react/use-render";import{cva as o}from"class-variance-authority";import{c as s}from"./utils-bhneXptQ.js";const d=o("group/badge inline-flex h-5 w-fit shrink-0 items-center justify-center gap-1 overflow-hidden rounded-none border border-transparent px-2 py-0.5 text-xs font-medium whitespace-nowrap transition-all focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none [&>svg]:size-3!",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive font-mono text-[11px] tracking-wide uppercase focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline",success:"bg-success/10 text-success font-mono text-[11px] tracking-wide uppercase [a]:hover:bg-success/15 dark:bg-success/15",warning:"bg-warning/10 text-warning font-mono text-[11px] tracking-wide uppercase [a]:hover:bg-warning/15 dark:bg-warning/15",info:"bg-info/10 text-info font-mono text-[11px] tracking-wide uppercase [a]:hover:bg-info/15 dark:bg-info/15"}},defaultVariants:{variant:"default"}});function f({className:r,variant:e="default",render:t,...n}){return a({defaultTagName:"span",props:i({className:s(d({variant:e}),r)},n),render:t,state:{slot:"badge",variant:e}})}export{f as g};
@@ -0,0 +1,9 @@
1
+ 'use client';
2
+ import{c as N}from"react/compiler-runtime";import{LunoraError as le}from"@lunora/errors";import{useMotionValue as re,useSpring as pe,useTransform as Z,useMotionValueEvent as ge,motion as V,useReducedMotion as ze}from"motion/react";import*as A from"react";import{useId as se,useEffect as ie,useState as Q,use as Ue,createContext as Be,useRef as Le}from"react";import*as ve from"recharts";import{ZIndexLayer as Ae,ResponsiveContainer as ne,LineChart as Ke,Line as De,BarChart as ke,Bar as de,AreaChart as Re,Area as Te,ReferenceLine as je,Rectangle as ae,XAxis as Ge}from"recharts";import{jsx as n,jsxs as k,Fragment as B}from"react/jsx-runtime";import{c as T}from"./utils-bhneXptQ.js";const Pe=i=>{const e=N(3),{id:r}=i;let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=n("circle",{className:"text-border dark:text-border",cx:"2",cy:"2",fill:"currentColor",r:"1"}),e[0]=t):t=e[0];let a;return e[1]!==r?(a=n("pattern",{height:"20",id:r,patternUnits:"userSpaceOnUse",width:"20",x:"0",y:"0",children:t}),e[1]=r,e[2]=a):a=e[2],a},He=i=>{const e=N(3),{id:r}=i;let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=n("path",{className:"text-border dark:text-border",d:"M 20 0 L 0 0 0 20",fill:"none",stroke:"currentColor",strokeWidth:"0.5"}),e[0]=t):t=e[0];let a;return e[1]!==r?(a=n("pattern",{height:"20",id:r,patternUnits:"userSpaceOnUse",width:"20",x:"0",y:"0",children:t}),e[1]=r,e[2]=a):a=e[2],a},Ee=i=>{const e=N(3),{id:r}=i;let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=n("path",{className:"text-border/60 dark:text-border/50",d:"M 0 0 L 20 20 M 20 0 L 0 20",fill:"none",stroke:"currentColor",strokeWidth:"0.5"}),e[0]=t):t=e[0];let a;return e[1]!==r?(a=n("pattern",{height:"20",id:r,patternUnits:"userSpaceOnUse",width:"20",x:"0",y:"0",children:t}),e[1]=r,e[2]=a):a=e[2],a},Xe=i=>{const e=N(3),{id:r}=i;let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=n("line",{className:"text-border dark:text-border",stroke:"currentColor",strokeWidth:"0.5",x1:"0",x2:"0",y1:"0",y2:"6"}),e[0]=t):t=e[0];let a;return e[1]!==r?(a=n("pattern",{height:"6",id:r,patternTransform:"rotate(45)",patternUnits:"userSpaceOnUse",width:"6",x:"0",y:"0",children:t}),e[1]=r,e[2]=a):a=e[2],a},Ve=i=>{const e=N(3),{id:r}=i;let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=n("path",{className:"text-border dark:text-border",d:"M 8 4 L 8 12 M 4 8 L 12 8",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:"0.5"}),e[0]=t):t=e[0];let a;return e[1]!==r?(a=n("pattern",{height:"16",id:r,patternUnits:"userSpaceOnUse",width:"16",x:"0",y:"0",children:t}),e[1]=r,e[2]=a):a=e[2],a},We=i=>{const e=N(3),{id:r}=i;let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=n("path",{className:"text-border dark:text-border",d:"M2 6h12L8 18 2 6zm18 36h12l-6 12-6-12z",fill:"currentColor",fillOpacity:"0.4",transform:"scale(0.5)"}),e[0]=t):t=e[0];let a;return e[1]!==r?(a=n("pattern",{height:"36",id:r,patternUnits:"userSpaceOnUse",width:"18",x:"0",y:"0",children:t}),e[1]=r,e[2]=a):a=e[2],a},Fe=i=>{const e=N(3),{id:r}=i;let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=n("polygon",{className:"text-border dark:text-border",fill:"currentColor",fillOpacity:"0.4",fillRule:"evenodd",points:"5 3 8 4 5 5 4 8 3 5 0 4 3 3 4 0 5 3"}),e[0]=t):t=e[0];let a;return e[1]!==r?(a=n("pattern",{height:"16",id:r,patternUnits:"userSpaceOnUse",width:"16",x:"0",y:"0",children:t}),e[1]=r,e[2]=a):a=e[2],a},Ye=i=>{const e=N(3),{id:r}=i;let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=n("path",{className:"text-border dark:text-border",d:"M0 0h4v4H0V0zm4 4h4v4H4V4z",fill:"currentColor",fillOpacity:"0.2",fillRule:"evenodd"}),e[0]=t):t=e[0];let a;return e[1]!==r?(a=n("pattern",{height:"8",id:r,patternUnits:"userSpaceOnUse",width:"8",x:"0",y:"0",children:t}),e[1]=r,e[2]=a):a=e[2],a},qe=i=>{const e=N(3),{id:r}=i;let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=n("path",{className:"text-border dark:text-border",d:"M25 25c0-2.762 2.238-5 5-5s5 2.238 5 5-2.238 5-5 5c0 2.762-2.238 5-5 5s-5-2.238-5-5 2.238-5 5-5zM5 5c0-2.762 2.238-5 5-5s5 2.238 5 5-2.238 5-5 5c0 2.762-2.238 5-5 5S0 12.762 0 10s2.238-5 5-5zm5 4c2.209 0 4-1.791 4-4s-1.791-4-4-4-4 1.791-4 4 1.791 4 4 4zm20 20c2.209 0 4-1.791 4-4s-1.791-4-4-4-4 1.791-4 4 1.791 4 4 4z",fill:"currentColor",fillOpacity:"0.4",fillRule:"evenodd"}),e[0]=t):t=e[0];let a;return e[1]!==r?(a=n("pattern",{height:"40",id:r,patternUnits:"userSpaceOnUse",width:"40",x:"0",y:"0",children:t}),e[1]=r,e[2]=a):a=e[2],a},Je=i=>{const e=N(3),{id:r}=i;let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=n("path",{className:"text-border dark:text-border",d:"M10 10c0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6h2c0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6 0 2.21 1.79 4 4 4 3.314 0 6 2.686 6 6 0 2.21 1.79 4 4 4v2c-3.314 0-6-2.686-6-6 0-2.21-1.79-4-4-4-3.314 0-6-2.686-6-6zm25.464-1.95l8.486 8.486-1.414 1.414-8.486-8.486 1.414-1.414z",fill:"currentColor",fillOpacity:"0.4"}),e[0]=t):t=e[0];let a;return e[1]!==r?(a=n("pattern",{height:"26",id:r,patternTransform:"scale(0.6)",patternUnits:"userSpaceOnUse",width:"52",x:"0",y:"0",children:t}),e[1]=r,e[2]=a):a=e[2],a},Ze=i=>{const e=N(3),{id:r}=i;let t;e[0]===Symbol.for("react.memo_cache_sentinel")?(t=n("path",{className:"text-border dark:text-border",d:"M11 18c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm48 25c3.866 0 7-3.134 7-7s-3.134-7-7-7-7 3.134-7 7 3.134 7 7 7zm-43-7c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm63 31c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM34 90c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zm56-76c1.657 0 3-1.343 3-3s-1.343-3-3-3-3 1.343-3 3 1.343 3 3 3zM12 86c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm28-65c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm23-11c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-6 60c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm29 22c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zM32 63c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm57-13c2.76 0 5-2.24 5-5s-2.24-5-5-5-5 2.24-5 5 2.24 5 5 5zm-9-21c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM60 91c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM35 41c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2zM12 60c1.105 0 2-.895 2-2s-.895-2-2-2-2 .895-2 2 .895 2 2 2z",fill:"currentColor",fillOpacity:"0.4",fillRule:"evenodd"}),e[0]=t):t=e[0];let a;return e[1]!==r?(a=n("pattern",{height:"100",id:r,patternTransform:"scale(0.6667)",patternUnits:"userSpaceOnUse",width:"100",x:"0",y:"0",children:t}),e[1]=r,e[2]=a):a=e[2],a},Qe={dots:Pe,grid:He,plus:Ve,bubbles:Ze,"cross-hatch":Ee,"diagonal-lines":Xe,"falling-triangles":We,"4-pointed-star":Fe,"tiny-checkers":Ye,"overlapping-circles":qe,"wiggle-lines":Je},et=i=>{const e=N(23),{variant:r}=i,t=se();let a;e[0]!==t?(a=t.replaceAll(":",""),e[0]=t,e[1]=a):a=e[1];const o=a,l=`${o}-bg-${r}`,s=`${o}-bg-edge-fade`,d=`${o}-bg-blur`,m=Qe[r];let u;e[2]!==m||e[3]!==l?(u=n(m,{id:l}),e[2]=m,e[3]=l,e[4]=u):u=e[4];let c;e[5]===Symbol.for("react.memo_cache_sentinel")?(c=n("feGaussianBlur",{stdDeviation:"25"}),e[5]=c):c=e[5];let f;e[6]!==d?(f=n("filter",{id:d,children:c}),e[6]=d,e[7]=f):f=e[7];const h=`url(#${d})`;let p;e[8]!==h?(p=n("rect",{fill:"white",filter:h,height:"60%",width:"85%",x:"8%",y:"20%"}),e[8]=h,e[9]=p):p=e[9];let g;e[10]!==s||e[11]!==p?(g=n("mask",{id:s,maskUnits:"userSpaceOnUse",children:p}),e[10]=s,e[11]=p,e[12]=g):g=e[12];let y;e[13]!==u||e[14]!==f||e[15]!==g?(y=k("defs",{children:[u,f,g]}),e[13]=u,e[14]=f,e[15]=g,e[16]=y):y=e[16];const x=`url(#${l})`,b=`url(#${s})`;let w;e[17]!==x||e[18]!==b?(w=n("rect",{fill:x,height:"100%",mask:b,width:"100%"}),e[17]=x,e[18]=b,e[19]=w):w=e[19];let $;return e[20]!==w||e[21]!==y?($=k(Ae,{zIndex:-1,children:[y,w]}),e[20]=w,e[21]=y,e[22]=$):$=e[22],$},we={light:"",dark:".dark"},oe=Object.keys(we);function tt(i){for(const[e,r]of Object.entries(i))if(r.colors&&!oe.some(t=>r.colors?.[t]!==void 0))throw new le("INTERNAL",`[EvilCharts] Invalid chart config for "${e}": colors object must have at least one theme key (${oe.join(", ")}). Received empty object or invalid keys.`)}const Ce=A.createContext(null);function rt(){const i=A.useContext(Ce);if(!i)throw new le("INTERNAL","useChart must be used within a <ChartContainer />");return i}const nt=({id:i,config:e,initialDimension:r={width:320,height:200},className:t,children:a,footer:o,...l})=>{const s=A.useId(),d=`chart-${i??s.replaceAll(":","")}`;return tt(e),n(Ce.Provider,{value:{config:e},children:k("div",{className:T("min-h-0 w-full flex-1","[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-axis-tick_text]:font-mono [&_.recharts-cartesian-axis-tick_text]:text-[11px] [&_.recharts-cartesian-axis-tick_text]:tracking-wide [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border relative flex flex-col justify-center text-xs [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-sector]:outline-hidden [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-surface]:outline-hidden",!o&&"aspect-video",t),"data-chart":d,"data-slot":"chart",...l,children:[n(Ie,{config:e,id:d}),n(ve.ResponsiveContainer,{className:"min-h-0 w-full flex-1",initialDimension:r,children:a}),o]})})},at=i=>{const e=N(1),{isLoading:r}=i;if(!r)return null;let t;return e[0]===Symbol.for("react.memo_cache_sentinel")?(t=n("div",{className:"pointer-events-none absolute inset-0 z-20 flex items-center justify-center",children:k("div",{className:"text-primary bg-background flex items-center justify-center gap-2 rounded-md border px-2 py-0.5 text-sm",children:[n("div",{className:"border-border border-t-primary h-3 w-3 animate-spin rounded-full border"}),n("span",{children:"Loading"})]})}),e[0]=t):t=e[0],t};function it(i,e){const r=i.length;if(r>=e)return i.slice(0,e);const t=[],a=Math.floor(e/r),o=e%r;for(let l=0;l<r;l++){const s=l>=r-o,d=a+(s?1:0);for(let m=0;m<d;m++)t.push(i[l])}return t}const Ie=i=>{const e=N(6),{id:r,config:t}=i;let a,o;if(e[0]!==t||e[1]!==r){o=Symbol.for("react.early_return_sentinel");e:{const d=Object.entries(t).filter(lt);if(d.length===0){o=null;break e}const m=u=>d.flatMap(c=>{const[f,h]=c,p=h.colors?.[u];if(!p||!Array.isArray(p)||p.length===0)return[];const g=W(h);return it(p,g).map((y,x)=>` --color-${f}-${x}: ${y};`)}).filter(Boolean).join(`
3
+ `);a=Object.entries(we).map(u=>{const[c,f]=u;return`${f} [data-chart=${r}] {
4
+ ${m(c)}
5
+ }`})}e[0]=t,e[1]=r,e[2]=a,e[3]=o}else a=e[2],o=e[3];if(o!==Symbol.for("react.early_return_sentinel"))return o;const l=a.join(`
6
+ `);let s;return e[4]!==l?(s=n("style",{dangerouslySetInnerHTML:{__html:l}}),e[4]=l,e[5]=s):s=e[5],s};function ye(i,e,r){if(typeof e!="object"||e===null)return;const t="payload"in e&&typeof e.payload=="object"&&e.payload!==null?e.payload:void 0;let a=r;return r in e&&typeof e[r]=="string"?a=e[r]:t&&r in t&&typeof t[r]=="string"&&(a=t[r]),a in i?i[a]:i[r]}function W(i){if(!i.colors)return 1;const e=oe.map(r=>i.colors?.[r]?.length??0);return Math.max(...e,1)}const ot=(i=10,e=0,r=70)=>{const t=r-e;return Array.from({length:i},()=>({loading:Math.floor(Math.random()*t)+e}))};function lt(i){const[,e]=i;return e.colors}const xe={stiffness:300,damping:35,mass:.8};function st(i){const e=N(16),{range:r,totalPoints:t,containerRef:a,commit:o}=i,l=A.useRef(null),[s,d]=A.useState(!1);let m;e[0]!==a||e[1]!==t?(m=$=>!a.current||t<=1?0:Math.round($/a.current.getBoundingClientRect().width*(t-1)),e[0]=a,e[1]=t,e[2]=m):m=e[2];const u=m;let c;e[3]!==r?(c=($,v)=>{$.preventDefault(),$.target.setPointerCapture($.pointerId),l.current={type:v,originX:$.clientX,originRange:{...r}},d(!0)},e[3]=r,e[4]=c):c=e[4];const f=c;let h;e[5]!==o||e[6]!==u||e[7]!==t?(h=$=>{const v=l.current;if(!v)return;const S=u($.clientX-v.originX),{type:C,originRange:I}=v;if(C==="left")o({startIndex:I.startIndex+S,endIndex:I.endIndex},"left");else if(C==="right")o({startIndex:I.startIndex,endIndex:I.endIndex+S},"right");else{const _=I.endIndex-I.startIndex;let M=I.startIndex+S,O=M+_;M<0&&(M=0,O=_),O>t-1&&(O=t-1,M=Math.max(0,O-_)),o({startIndex:M,endIndex:O},"middle")}},e[5]=o,e[6]=u,e[7]=t,e[8]=h):h=e[8];const p=h;let g;e[9]===Symbol.for("react.memo_cache_sentinel")?(g=$=>{$.target.releasePointerCapture($.pointerId),l.current=null,d(!1)},e[9]=g):g=e[9];const y=g;let x;e[10]!==f||e[11]!==p?(x=$=>({onPointerDown:v=>{f(v,$)},onPointerMove:p,onPointerUp:y}),e[10]=f,e[11]=p,e[12]=x):x=e[12];const b=x;let w;return e[13]!==b||e[14]!==s?(w={isDragging:s,bind:b},e[13]=b,e[14]=s,e[15]=w):w=e[15],w}const dt=({data:i,chartConfig:e,dataKeys:r,xDataKey:t,variant:a="area",height:o=56,className:l,stacked:s=!1,strokeVariant:d="solid",connectNulls:m=!1,barRadius:u,startIndex:c,endIndex:f,defaultStartIndex:h=0,defaultEndIndex:p,onChange:g,formatLabel:y,curveType:x="monotone",minSpan:b=2,showLabels:w=!0,skipStyle:$=!1})=>{const v=A.useRef(null),S=r??Object.keys(e),C=i.length,I=A.useId().replaceAll(":",""),_=c!==void 0&&f!==void 0,[M,O]=A.useState(()=>({startIndex:Math.max(0,Math.min(h,C-1)),endIndex:Math.max(0,Math.min(p??C-1,C-1))})),D=A.useRef(M);ie(()=>{_||O(z=>{const j={startIndex:Math.min(z.startIndex,Math.max(0,C-1)),endIndex:Math.min(z.endIndex,Math.max(0,C-1))};return D.current=j,j})},[C,_]);const R=(z,j)=>{let{startIndex:U,endIndex:L}=z;const J=Math.max(0,C-1);if(U=Math.max(0,Math.min(U,J)),L=Math.max(0,Math.min(L,J)),j==="left"){const te=Math.max(0,L-b);return U=Math.min(U,te),{startIndex:U,endIndex:L}}if(j==="right"){const te=Math.min(J,U+b);return L=Math.max(L,te),{startIndex:U,endIndex:L}}return L-U<b&&(L=Math.min(U+b,J),L-U<b&&(U=Math.max(0,L-b))),{startIndex:U,endIndex:L}},K=(z,j)=>{const U=R(z,j),L=D.current;L.startIndex===U.startIndex&&L.endIndex===U.endIndex||(D.current=U,O(U),A.startTransition(()=>{g?.(U)}))},{isDragging:F,bind:H}=st({range:M,totalPoints:C,containerRef:v,commit:K}),P=M;ie(()=>{if(_&&!F){const z={startIndex:c,endIndex:f};O(z),D.current=z}},[_,c,f,F]);const E=C>1?P.startIndex/(C-1)*100:0,X=C>1?P.endIndex/(C-1)*100:100,G=re(E),ee=re(X);G.get()!==E&&G.set(E),ee.get()!==X&&ee.set(X);const Y=pe(G,xe),q=pe(ee,xe),he=Z(Y,z=>`${z}%`),_e=Z(q,z=>`${z}%`),Ne=Z(Y,z=>`${z}%`),Oe=Z(q,z=>`${Math.max(0,100-z)}%`),ue=re(`${Math.max(0,X-E)}%`),fe=()=>{ue.set(`${Math.max(0,q.get()-Y.get())}%`)};ge(Y,"change",fe),ge(q,"change",fe);const me=z=>{if(!t)return String(z);const j=i[z]?.[t];return y?y(j,z):String(j??z)};return C===0?null:k("div",{className:T("group relative select-none",l),"data-chart":$?void 0:I,ref:v,style:{height:o},children:[!$&&n(Ie,{config:e,id:I}),n("div",{className:"absolute inset-0 overflow-hidden rounded-md",children:n(ct,{barRadius:u,chartConfig:e,chartId:I,connectNulls:m,curveType:x,data:i,keys:S,stacked:s,strokeVariant:d==="animated-dashed"?"dashed":d,variant:a})}),n(V.div,{className:"bg-background pointer-events-none absolute inset-y-0 start-0 rounded-s-md",style:{width:Ne}}),n(V.div,{className:"bg-background pointer-events-none absolute inset-y-0 end-0 rounded-e-md",style:{width:Oe}}),n(V.div,{className:"absolute inset-y-0 cursor-grab touch-none rounded-sm border active:cursor-grabbing",style:{left:he,width:ue},...H("middle")}),n(be,{bind:H("left"),label:w?me(P.startIndex):void 0,position:he,side:"left"}),n(be,{bind:H("right"),label:w?me(P.endIndex):void 0,position:_e,side:"right"})]})},be=i=>{const e=N(20),{side:r,position:t,label:a,bind:o}=i,l=r==="left";let s;e[0]!==t?(s={left:t},e[0]=t,e[1]=s):s=e[1];const d=l?"":"-translate-x-full rtl:translate-x-full";let m;e[2]!==d?(m=T("group absolute inset-y-0 flex w-3 cursor-ew-resize touch-none items-center justify-center after:absolute after:inset-y-0 after:-start-4 after:w-11 after:content-['']",d),e[2]=d,e[3]=m):m=e[3];const u=l?"-start-[5.5px]":"-end-[5.5px]";let c;e[4]!==u?(c=T("bg-muted-foreground group-hover:bg-foreground relative flex h-4 w-1.5 items-center justify-center rounded-md transition-colors",u),e[4]=u,e[5]=c):c=e[5];let f;e[6]===Symbol.for("react.memo_cache_sentinel")?(f=k("div",{className:"flex flex-col gap-[2px]",children:[n("div",{className:"bg-background h-[2px] w-[2px] rounded-full"}),n("div",{className:"bg-background h-[2px] w-[2px] rounded-full"}),n("div",{className:"bg-background h-[2px] w-[2px] rounded-full"})]}),e[6]=f):f=e[6];let h;e[7]!==c?(h=n("div",{className:c,children:f}),e[7]=c,e[8]=h):h=e[8];let p;e[9]!==o||e[10]!==m||e[11]!==h?(p=n("div",{className:m,...o,children:h}),e[9]=o,e[10]=m,e[11]=h,e[12]=p):p=e[12];let g;e[13]!==l||e[14]!==a?(g=a&&n("div",{className:T("bg-foreground text-background pointer-events-none absolute -bottom-3 -translate-y-1/2 rounded-[3px] px-1 py-px text-[8px] leading-tight font-medium whitespace-nowrap opacity-0 group-hover:opacity-100",l?"start-1.5":"end-1.5"),children:a}),e[13]=l,e[14]=a,e[15]=g):g=e[15];let y;return e[16]!==s||e[17]!==p||e[18]!==g?(y=k(V.div,{className:"absolute inset-y-0 z-10",style:s,children:[p,g]}),e[16]=s,e[17]=p,e[18]=g,e[19]=y):y=e[19],y},ct=({data:i,keys:e,chartConfig:r,variant:t,curveType:a,chartId:o,stacked:l,strokeVariant:s="solid",connectNulls:d=!1,barRadius:m})=>{const u=Object.entries(r).filter(([h])=>e.includes(h)).map(([h,p])=>({dataKey:h,colorsCount:W(p)})),c=s==="dashed"||s==="animated-dashed"?"4 4":void 0,f=k(B,{children:[t==="area"&&k("linearGradient",{id:`${o}-zm-vertical-fade`,x1:"0",x2:"0",y1:"0",y2:"1",children:[n("stop",{offset:"0%",stopColor:"white",stopOpacity:.15}),n("stop",{offset:"100%",stopColor:"white",stopOpacity:0})]}),u.map(({dataKey:h,colorsCount:p})=>{const g=p===1?k(B,{children:[n("stop",{offset:"0%",stopColor:`var(--color-${h}-0)`}),n("stop",{offset:"100%",stopColor:`var(--color-${h}-0)`})]}):Array.from({length:p},(y,x)=>n("stop",{offset:`${x/(p-1)*100}%`,stopColor:`var(--color-${h}-${x}, var(--color-${h}-0))`},x));return k(A.Fragment,{children:[n("linearGradient",{id:`${o}-zm-${h}`,x1:"0",x2:"0",y1:"0",y2:"1",children:g}),t==="area"&&k(B,{children:[n("mask",{id:`${o}-zm-fill-mask-${h}`,children:n("rect",{fill:`url(#${o}-zm-vertical-fade)`,height:"100%",width:"100%"})}),n("pattern",{height:"100%",id:`${o}-zm-fill-${h}`,patternUnits:"userSpaceOnUse",width:"100%",children:n("rect",{fill:`url(#${o}-zm-${h})`,height:"100%",mask:`url(#${o}-zm-fill-mask-${h})`,width:"100%"})})]})]},h)})]});if(t==="line")return n(ne,{height:"100%",width:"100%",children:k(Ke,{data:i,margin:{top:4,right:0,bottom:0,left:0},children:[n("defs",{children:f}),e.map(h=>n(De,{activeDot:!1,connectNulls:d,dataKey:h,dot:!1,isAnimationActive:!1,stroke:`url(#${o}-zm-${h})`,strokeDasharray:c,strokeOpacity:.5,strokeWidth:1,type:a},h))]})});if(t==="bar"){const h=m??3;return n(ne,{height:"100%",width:"100%",children:k(ke,{barGap:2,barSize:14,data:i,margin:{top:2,right:0,bottom:0,left:0},children:[n("defs",{children:f}),e.map(p=>n(de,{dataKey:p,fill:`url(#${o}-zm-${p})`,fillOpacity:.35,isAnimationActive:!1,radius:[h,h,h,h],stackId:l?"zm-stack":void 0},p))]})})}return n(ne,{height:"100%",width:"100%",children:k(Re,{data:i,margin:{top:4,right:0,bottom:0,left:0},children:[n("defs",{children:f}),e.map(h=>n(Te,{activeDot:!1,connectNulls:d,dataKey:h,dot:!1,fill:`url(#${o}-zm-fill-${h})`,fillOpacity:1,isAnimationActive:!1,stackId:l?"zm-stack":void 0,stroke:`url(#${o}-zm-${h})`,strokeDasharray:c,strokeOpacity:.5,strokeWidth:1,type:a},h))]})})};function ht({data:i,defaultStartIndex:e=0,defaultEndIndex:r}){const[t,a]=A.useState({startIndex:e,endIndex:r??Math.max(0,i.length-1)}),o=A.useDeferredValue(t);ie(()=>{a({startIndex:0,endIndex:Math.max(0,i.length-1)})},[i.length]);const l=i.slice(o.startIndex,o.endIndex+1);return{range:t,visibleData:l,brushProps:{startIndex:t.startIndex,endIndex:t.endIndex,onChange:a}}}const ut={sm:"rounded-sm",md:"rounded-md",lg:"rounded-lg",xl:"rounded-xl"},ft={default:"bg-background","frosted-glass":"bg-background"},mt=({active:i,payload:e,className:r,indicator:t="dot",hideLabel:a=!1,hideIndicator:o=!1,label:l,labelFormatter:s,labelClassName:d,formatter:m,nameKey:u,labelKey:c,selected:f,roundness:h="lg",variant:p="default"})=>{const{config:g}=rt(),y=A.useMemo(()=>{if(a||!e?.length)return null;const[b]=e,w=`${c??b?.dataKey??b?.name??"value"}`,$=ye(g,b,w),v=!c&&typeof l=="string"?g[l]?.label??l:$?.label;return s?n("div",{className:T("font-medium",d),children:s(v,e)}):v?n("div",{className:T("font-medium",d),children:v}):null},[l,s,e,a,d,g,c]);if(!i||!e?.length)return n("span",{className:"p-4"});const x=e.length===1&&t!=="dot";return k("div",{className:T("border-border/50 grid min-w-32 items-start gap-1.5 border px-2.5 py-1.5 text-xs",ut[h],ft[p],r),children:[x?null:y,n("div",{className:"grid gap-1.5",children:e.filter(b=>b.type!=="none").map((b,w)=>{const $=`${(u&&b.payload?b.payload[u]:void 0)??b.name??b.dataKey??"value"}`,v=ye(g,b,$),S=v?W(v):1;return n("div",{className:T("[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5",t==="dot"&&"items-center",f!=null&&f!==b.dataKey&&"opacity-30"),children:m&&b?.value!==void 0&&b.name?m(b.value,b.name,b,w,b.payload):k(B,{children:[v?.icon?n(v.icon,{}):!o&&n("div",{className:T("shrink-0 rounded-[2px]",{"h-2.5 w-2.5":t==="dot","w-1":t==="line","w-0 border-[1.5px] border-dashed bg-transparent!":t==="dashed","my-0.5":x&&t==="dashed"}),style:pt($,S)}),k("div",{className:T("flex flex-1 justify-between gap-4 leading-none",x?"items-end":"items-center"),children:[k("div",{className:"grid gap-1.5",children:[x?y:null,n("span",{className:"text-muted-foreground",children:v?.label??b.name})]}),b.value!=null&&n("span",{className:"text-foreground font-mono font-medium tabular-nums",children:typeof b.value=="number"?b.value.toLocaleString():String(b.value)})]})]})},w)})})]})};function pt(i,e){return e<=1?{background:`var(--color-${i}-0)`}:{background:`linear-gradient(to right, ${Array.from({length:e},(r,t)=>{const a=t/(e-1)*100;return`var(--color-${i}-${t}) ${a}%`}).join(", ")})`}}const gt=({animationDuration:i=200,...e})=>n(ve.Tooltip,{animationDuration:i,...e}),Se=2,yt="loading",xt=2e3,bt="evil-stacked",$t=.5,vt=.05,kt=[0,.7,.5,1],Me=Be(null);function ce(){const i=Ue(Me);if(!i)throw new le("INTERNAL","Bar chart parts (<Bar />, <XAxis />, …) must be used within <EvilBarChart />");return i}const Wt=({config:i,data:e,children:r,className:t,chartProps:a,stackType:o="default",layout:l="vertical",barRadius:s=Se,animationType:d="left-to-right",barGap:m,barCategoryGap:u,backgroundVariant:c,defaultSelectedDataKey:f=null,onSelectionChange:h,isLoading:p=!1,loadingBars:g,showBrush:y=!1,xDataKey:x,brushHeight:b,brushFormatLabel:w,onBrushChange:$})=>{const v=se().replaceAll(":",""),[S]=Q(()=>Date.now()),[C,I]=Q(f),[_,M]=Q(!1),{loadingData:O,onShimmerExit:D}=At(p,g),{visibleData:R,brushProps:K}=ht({data:e}),F=o==="stacked"||o==="percent",H=l==="horizontal",P=y&&!p?R:e,E=G=>{I(G),h?.(G)},X={config:i,isStacked:F,isHorizontal:H,isLoading:p,barRadius:s,animationType:d,introStartedAt:S,dataLength:P.length,selectedDataKey:C,selectDataKey:E,isMouseInChart:_};return n(Me,{value:X,children:k(nt,{className:t,config:i,footer:y&&!p&&n(dt,{barRadius:s,chartConfig:i,className:"mt-1",data:e,formatLabel:w,height:b,skipStyle:!0,stacked:F,variant:"bar",xDataKey:x,...K,onChange:G=>{K.onChange(G),$?.(G)}}),children:[n(at,{isLoading:p}),k(ke,{accessibilityLayer:!0,barCategoryGap:u,barGap:m,data:p?O:P,id:v,layout:H?"vertical":"horizontal",onMouseEnter:()=>{M(!0)},onMouseLeave:()=>{M(!1)},stackOffset:o==="percent"?"expand":void 0,...a,children:[c&&n(et,{variant:c}),n(je,{stroke:"var(--border)"}),r,p&&n(Dt,{chartId:v,onShimmerExit:D})]})]})})},Ft=({dataKey:i,variant:e="default",radius:r,animationType:t,isClickable:a=!1,enableHoverHighlight:o=!1,glowing:l=!1,bufferBar:s=!1,barProps:d})=>{const{config:m,isStacked:u,isHorizontal:c,isLoading:f,barRadius:h,animationType:p,introStartedAt:g,dataLength:y,selectedDataKey:x,selectDataKey:b,isMouseInChart:w}=ce(),$=se().replaceAll(":",""),v=ze();if(f)return null;const S=r??h,C=x===i,I=v?"none":t??p,_={id:$,dataKey:i,variant:e,barRadius:S,glowing:l,bufferBar:s,isClickable:a,enableHoverHighlight:o,isMouseInChart:w,isHorizontal:c,introStartedAt:g,selectedDataKey:x,dataLength:y,onClick:()=>{a&&b(C?null:i)}};return k(B,{children:[n(de,{activeBar:M=>n($e,{...M,..._,animationType:"none"}),dataKey:i,fill:`url(#${$}-colors-${i})`,isAnimationActive:!1,radius:S,shape:M=>n($e,{...M,..._,animationType:I}),stackId:u?bt:void 0,style:a||o?{cursor:"pointer"}:void 0,...d}),k("defs",{children:[n(St,{config:m,dataKey:i,id:$}),e==="hatched"&&n(Mt,{dataKey:i,id:$}),e==="duotone"&&n(Nt,{config:m,dataKey:i,id:$}),e==="duotone-reverse"&&n(Ot,{config:m,dataKey:i,id:$}),e==="gradient"&&n(zt,{dataKey:i,id:$}),e==="stripped"&&n(Ut,{dataKey:i,id:$}),s&&n(_t,{dataKey:i,id:$}),l&&n(Bt,{dataKey:i,id:$})]})]})},Yt=({tickLine:i=!1,axisLine:e=!1,tickMargin:r=8,minTickGap:t=8,type:a,...o})=>{const{isLoading:l,isHorizontal:s}=ce();return l?null:n(Ge,{axisLine:e,minTickGap:t,tickLine:i,tickMargin:r,type:a??(s?"number":"category"),...o})},qt=i=>{const e=N(7),{variant:r,roundness:t,defaultIndex:a}=i,{isLoading:o,selectedDataKey:l}=ce();if(o)return null;let s;e[0]!==t||e[1]!==l||e[2]!==r?(s=n(mt,{roundness:t,selected:l,variant:r}),e[0]=t,e[1]=l,e[2]=r,e[3]=s):s=e[3];let d;return e[4]!==a||e[5]!==s?(d=n(gt,{content:s,cursor:!1,defaultIndex:a}),e[4]=a,e[5]=s,e[6]=d):d=e[6],d},$e=i=>{const{x:e=0,y:r=0,width:t=0,height:a=0,id:o,dataKey:l,variant:s,barRadius:d,glowing:m,bufferBar:u,isClickable:c,enableHoverHighlight:f,isMouseInChart:h,isHorizontal:p=!1,animationType:g="none",introStartedAt:y=0,selectedDataKey:x,isActive:b,dataLength:w=0,onClick:$}=i,v=typeof i.index=="number"?i.index:-1,S=u&&w>0&&v===w-1,C=s==="stripped",I=wt(g,v,w,p,y),_=S?`url(#${o}-buffer-hatched-${l})`:Ct(s,o,l),M=m?`url(#${o}-bar-glow-${l})`:void 0,O=It({isClickable:c,selectedDataKey:x,dataKey:l,enableHoverHighlight:f,isMouseInChart:h,isActive:b}),D=c||f?{cursor:"pointer"}:void 0,R=C?[d,d,0,0]:d,K=k(B,{children:[n(ae,{fill:_,filter:M,height:Math.max(0,a-3),opacity:O,radius:R,stroke:S?`url(#${o}-colors-${l})`:void 0,strokeWidth:S?1:void 0,width:t,x:e,y:r}),C&&n(ae,{fill:`url(#${o}-colors-${l})`,height:2,radius:1,width:t,x:e,y:r-4})]});return k("g",{onClick:$,style:D,children:[n(ae,{...i,fill:"transparent"}),I?n(V.g,{animate:I.animate,initial:I.initial,style:I.style,transition:I.transition,children:K}):K]})},wt=(i,e,r,t,a)=>{if(i==="none"||e<0||r<=0)return null;const o=r-1,l=o/2;let s;switch(i){case"center-out":{s=Math.abs(e-l);break}case"edges-in":{s=l-Math.abs(e-l);break}case"right-to-left":{s=o-e;break}default:s=e}const d=s*vt*1e3,m=$t*1e3,u=d+m,c=Date.now()-a;if(c>=u)return null;const f=c<=d?0:(c-d)/m,h={duration:(u-Math.max(c,d))/1e3,ease:kt,delay:Math.max(0,d-c)/1e3};return t?{initial:{scaleX:f},animate:{scaleX:1},transition:h,style:{originX:0}}:{initial:{scaleY:f},animate:{scaleY:1},transition:h,style:{originY:1}}},Ct=(i,e,r)=>{switch(i){case"duotone":return`url(#${e}-duotone-${r})`;case"duotone-reverse":return`url(#${e}-duotone-reverse-${r})`;case"gradient":return`url(#${e}-gradient-${r})`;case"hatched":return`url(#${e}-hatched-${r})`;case"stripped":return`url(#${e}-stripped-${r})`;default:return`url(#${e}-colors-${r})`}},It=({isClickable:i,selectedDataKey:e,dataKey:r,enableHoverHighlight:t,isMouseInChart:a,isActive:o})=>{const l=i&&e!==null?e===null||e===r?1:.3:1;return t&&a?o?l:l*.3:l},St=i=>{const e=N(16),{id:r,dataKey:t,config:a}=i;let o,l,s,d,m,u;if(e[0]!==a||e[1]!==t||e[2]!==r){const f=W(a[t]??{});o=`${r}-colors-${t}`,l="0",s="0",d="0",m="1",u=f===1?k(B,{children:[n("stop",{offset:"0%",stopColor:`var(--color-${t}-0)`}),n("stop",{offset:"100%",stopColor:`var(--color-${t}-0)`})]}):Array.from({length:f},(h,p)=>{const g=`${p/(f-1)*100}%`;return n("stop",{offset:g,stopColor:`var(--color-${t}-${p}, var(--color-${t}-0))`},g)}),e[0]=a,e[1]=t,e[2]=r,e[3]=o,e[4]=l,e[5]=s,e[6]=d,e[7]=m,e[8]=u}else o=e[3],l=e[4],s=e[5],d=e[6],m=e[7],u=e[8];let c;return e[9]!==o||e[10]!==l||e[11]!==s||e[12]!==d||e[13]!==m||e[14]!==u?(c=n("linearGradient",{id:o,x1:l,x2:s,y1:d,y2:m,children:u}),e[9]=o,e[10]=l,e[11]=s,e[12]=d,e[13]=m,e[14]=u,e[15]=c):c=e[15],c},Mt=i=>{const e=N(19),{id:r,dataKey:t}=i,a=`${r}-hatched-mask-pattern`;let o,l;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=n("rect",{fill:"white",fillOpacity:.3,height:"5",width:"5"}),l=n("rect",{fill:"white",fillOpacity:1,height:"5",width:"1.5"}),e[0]=o,e[1]=l):(o=e[0],l=e[1]);let s;e[2]!==a?(s=k("pattern",{height:"5",id:a,patternTransform:"rotate(-45)",patternUnits:"userSpaceOnUse",width:"5",x:"0",y:"0",children:[o,l]}),e[2]=a,e[3]=s):s=e[3];const d=`${r}-hatched-mask-${t}`,m=`url(#${r}-hatched-mask-pattern)`;let u;e[4]!==m?(u=n("rect",{fill:m,height:"100%",width:"100%"}),e[4]=m,e[5]=u):u=e[5];let c;e[6]!==d||e[7]!==u?(c=n("mask",{id:d,children:u}),e[6]=d,e[7]=u,e[8]=c):c=e[8];const f=`${r}-hatched-${t}`,h=`url(#${r}-colors-${t})`,p=`url(#${r}-hatched-mask-${t})`;let g;e[9]!==h||e[10]!==p?(g=n("rect",{fill:h,height:"100%",mask:p,width:"100%"}),e[9]=h,e[10]=p,e[11]=g):g=e[11];let y;e[12]!==g||e[13]!==f?(y=n("pattern",{height:"100%",id:f,patternUnits:"userSpaceOnUse",width:"100%",children:g}),e[12]=g,e[13]=f,e[14]=y):y=e[14];let x;return e[15]!==y||e[16]!==s||e[17]!==c?(x=k(B,{children:[s,c,y]}),e[15]=y,e[16]=s,e[17]=c,e[18]=x):x=e[18],x},_t=i=>{const e=N(19),{id:r,dataKey:t}=i,a=`${r}-buffer-hatched-mask-pattern`;let o,l;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=n("rect",{fill:"black",fillOpacity:0,height:"5",width:"5"}),l=n("rect",{fill:"white",fillOpacity:1,height:"5",width:"1"}),e[0]=o,e[1]=l):(o=e[0],l=e[1]);let s;e[2]!==a?(s=k("pattern",{height:"5",id:a,patternTransform:"rotate(-45)",patternUnits:"userSpaceOnUse",width:"5",x:"0",y:"0",children:[o,l]}),e[2]=a,e[3]=s):s=e[3];const d=`${r}-buffer-hatched-mask-${t}`,m=`url(#${r}-buffer-hatched-mask-pattern)`;let u;e[4]!==m?(u=n("rect",{fill:m,height:"100%",width:"100%"}),e[4]=m,e[5]=u):u=e[5];let c;e[6]!==d||e[7]!==u?(c=n("mask",{id:d,children:u}),e[6]=d,e[7]=u,e[8]=c):c=e[8];const f=`${r}-buffer-hatched-${t}`,h=`url(#${r}-colors-${t})`,p=`url(#${r}-buffer-hatched-mask-${t})`;let g;e[9]!==h||e[10]!==p?(g=n("rect",{fill:h,height:"100%",mask:p,width:"100%"}),e[9]=h,e[10]=p,e[11]=g):g=e[11];let y;e[12]!==g||e[13]!==f?(y=n("pattern",{height:"100%",id:f,patternUnits:"userSpaceOnUse",width:"100%",children:g}),e[12]=g,e[13]=f,e[14]=y):y=e[14];let x;return e[15]!==y||e[16]!==s||e[17]!==c?(x=k(B,{children:[s,c,y]}),e[15]=y,e[16]=s,e[17]=c,e[18]=x):x=e[18],x},Nt=i=>{const e=N(39),{id:r,dataKey:t,config:a}=i;let o,l,s,d,m,u,c,f;if(e[0]!==a||e[1]!==t||e[2]!==r){const I=W(a[t]??{}),_=`${r}-duotone-mask-gradient-${t}`;let M,O;e[11]===Symbol.for("react.memo_cache_sentinel")?(M=n("stop",{offset:"50%",stopColor:"white",stopOpacity:.4}),O=n("stop",{offset:"50%",stopColor:"white",stopOpacity:1}),e[11]=M,e[12]=O):(M=e[11],O=e[12]),e[13]!==_?(f=k("linearGradient",{gradientUnits:"objectBoundingBox",id:_,x1:"0",x2:"1",y1:"0",y2:"0",children:[M,O]}),e[13]=_,e[14]=f):f=e[14],o="objectBoundingBox",l=`${r}-duotone-colors-${t}`,s="0",d="0",m="0",u="1",c=I===1?k(B,{children:[n("stop",{offset:"0%",stopColor:`var(--color-${t}-0)`}),n("stop",{offset:"100%",stopColor:`var(--color-${t}-0)`})]}):Array.from({length:I},(D,R)=>{const K=`${R/(I-1)*100}%`;return n("stop",{offset:K,stopColor:`var(--color-${t}-${R}, var(--color-${t}-0))`},K)}),e[0]=a,e[1]=t,e[2]=r,e[3]=o,e[4]=l,e[5]=s,e[6]=d,e[7]=m,e[8]=u,e[9]=c,e[10]=f}else o=e[3],l=e[4],s=e[5],d=e[6],m=e[7],u=e[8],c=e[9],f=e[10];let h;e[15]!==o||e[16]!==l||e[17]!==s||e[18]!==d||e[19]!==m||e[20]!==u||e[21]!==c?(h=n("linearGradient",{gradientUnits:o,id:l,x1:s,x2:d,y1:m,y2:u,children:c}),e[15]=o,e[16]=l,e[17]=s,e[18]=d,e[19]=m,e[20]=u,e[21]=c,e[22]=h):h=e[22];const p=`${r}-duotone-mask-${t}`,g=`url(#${r}-duotone-mask-gradient-${t})`;let y;e[23]!==g?(y=n("rect",{fill:g,height:"1",width:"1",x:"0",y:"0"}),e[23]=g,e[24]=y):y=e[24];let x;e[25]!==p||e[26]!==y?(x=n("mask",{id:p,maskContentUnits:"objectBoundingBox",children:y}),e[25]=p,e[26]=y,e[27]=x):x=e[27];const b=`${r}-duotone-${t}`,w=`url(#${r}-duotone-colors-${t})`,$=`url(#${r}-duotone-mask-${t})`;let v;e[28]!==w||e[29]!==$?(v=n("rect",{fill:w,height:"1",mask:$,width:"1",x:"0",y:"0"}),e[28]=w,e[29]=$,e[30]=v):v=e[30];let S;e[31]!==b||e[32]!==v?(S=n("pattern",{height:"1",id:b,patternContentUnits:"objectBoundingBox",patternUnits:"objectBoundingBox",width:"1",children:v}),e[31]=b,e[32]=v,e[33]=S):S=e[33];let C;return e[34]!==x||e[35]!==S||e[36]!==f||e[37]!==h?(C=k(B,{children:[f,h,x,S]}),e[34]=x,e[35]=S,e[36]=f,e[37]=h,e[38]=C):C=e[38],C},Ot=i=>{const e=N(39),{id:r,dataKey:t,config:a}=i;let o,l,s,d,m,u,c,f;if(e[0]!==a||e[1]!==t||e[2]!==r){const I=W(a[t]??{}),_=`${r}-duotone-reverse-mask-gradient-${t}`;let M,O;e[11]===Symbol.for("react.memo_cache_sentinel")?(M=n("stop",{offset:"50%",stopColor:"white",stopOpacity:1}),O=n("stop",{offset:"50%",stopColor:"white",stopOpacity:.4}),e[11]=M,e[12]=O):(M=e[11],O=e[12]),e[13]!==_?(f=k("linearGradient",{gradientUnits:"objectBoundingBox",id:_,x1:"0",x2:"1",y1:"0",y2:"0",children:[M,O]}),e[13]=_,e[14]=f):f=e[14],o="objectBoundingBox",l=`${r}-duotone-reverse-colors-${t}`,s="0",d="0",m="0",u="1",c=I===1?k(B,{children:[n("stop",{offset:"0%",stopColor:`var(--color-${t}-0)`}),n("stop",{offset:"100%",stopColor:`var(--color-${t}-0)`})]}):Array.from({length:I},(D,R)=>{const K=`${R/(I-1)*100}%`;return n("stop",{offset:K,stopColor:`var(--color-${t}-${R}, var(--color-${t}-0))`},K)}),e[0]=a,e[1]=t,e[2]=r,e[3]=o,e[4]=l,e[5]=s,e[6]=d,e[7]=m,e[8]=u,e[9]=c,e[10]=f}else o=e[3],l=e[4],s=e[5],d=e[6],m=e[7],u=e[8],c=e[9],f=e[10];let h;e[15]!==o||e[16]!==l||e[17]!==s||e[18]!==d||e[19]!==m||e[20]!==u||e[21]!==c?(h=n("linearGradient",{gradientUnits:o,id:l,x1:s,x2:d,y1:m,y2:u,children:c}),e[15]=o,e[16]=l,e[17]=s,e[18]=d,e[19]=m,e[20]=u,e[21]=c,e[22]=h):h=e[22];const p=`${r}-duotone-reverse-mask-${t}`,g=`url(#${r}-duotone-reverse-mask-gradient-${t})`;let y;e[23]!==g?(y=n("rect",{fill:g,height:"1",width:"1",x:"0",y:"0"}),e[23]=g,e[24]=y):y=e[24];let x;e[25]!==p||e[26]!==y?(x=n("mask",{id:p,maskContentUnits:"objectBoundingBox",children:y}),e[25]=p,e[26]=y,e[27]=x):x=e[27];const b=`${r}-duotone-reverse-${t}`,w=`url(#${r}-duotone-reverse-colors-${t})`,$=`url(#${r}-duotone-reverse-mask-${t})`;let v;e[28]!==w||e[29]!==$?(v=n("rect",{fill:w,height:"1",mask:$,width:"1",x:"0",y:"0"}),e[28]=w,e[29]=$,e[30]=v):v=e[30];let S;e[31]!==b||e[32]!==v?(S=n("pattern",{height:"1",id:b,patternContentUnits:"objectBoundingBox",patternUnits:"objectBoundingBox",width:"1",children:v}),e[31]=b,e[32]=v,e[33]=S):S=e[33];let C;return e[34]!==x||e[35]!==S||e[36]!==f||e[37]!==h?(C=k(B,{children:[f,h,x,S]}),e[34]=x,e[35]=S,e[36]=f,e[37]=h,e[38]=C):C=e[38],C},zt=i=>{const e=N(19),{id:r,dataKey:t}=i,a=`${r}-gradient-mask-gradient`;let o,l;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=n("stop",{offset:"20%",stopColor:"white",stopOpacity:1}),l=n("stop",{offset:"90%",stopColor:"white",stopOpacity:0}),e[0]=o,e[1]=l):(o=e[0],l=e[1]);let s;e[2]!==a?(s=k("linearGradient",{id:a,x1:"0",x2:"0",y1:"0",y2:"1",children:[o,l]}),e[2]=a,e[3]=s):s=e[3];const d=`${r}-gradient-mask-${t}`,m=`url(#${r}-gradient-mask-gradient)`;let u;e[4]!==m?(u=n("rect",{fill:m,height:"100%",width:"100%"}),e[4]=m,e[5]=u):u=e[5];let c;e[6]!==d||e[7]!==u?(c=n("mask",{id:d,children:u}),e[6]=d,e[7]=u,e[8]=c):c=e[8];const f=`${r}-gradient-${t}`,h=`url(#${r}-colors-${t})`,p=`url(#${r}-gradient-mask-${t})`;let g;e[9]!==h||e[10]!==p?(g=n("rect",{fill:h,height:"100%",mask:p,width:"100%"}),e[9]=h,e[10]=p,e[11]=g):g=e[11];let y;e[12]!==g||e[13]!==f?(y=n("pattern",{height:"100%",id:f,patternUnits:"userSpaceOnUse",width:"100%",children:g}),e[12]=g,e[13]=f,e[14]=y):y=e[14];let x;return e[15]!==y||e[16]!==s||e[17]!==c?(x=k(B,{children:[s,c,y]}),e[15]=y,e[16]=s,e[17]=c,e[18]=x):x=e[18],x},Ut=i=>{const e=N(19),{id:r,dataKey:t}=i,a=`${r}-stripped-mask-gradient`;let o,l;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=n("stop",{offset:"0%",stopColor:"white",stopOpacity:.2}),l=n("stop",{offset:"100%",stopColor:"white",stopOpacity:.2}),e[0]=o,e[1]=l):(o=e[0],l=e[1]);let s;e[2]!==a?(s=k("linearGradient",{id:a,x1:"0",x2:"0",y1:"0",y2:"1",children:[o,l]}),e[2]=a,e[3]=s):s=e[3];const d=`${r}-stripped-mask-${t}`,m=`url(#${r}-stripped-mask-gradient)`;let u;e[4]!==m?(u=n("rect",{fill:m,height:"100%",width:"100%"}),e[4]=m,e[5]=u):u=e[5];let c;e[6]!==d||e[7]!==u?(c=n("mask",{id:d,children:u}),e[6]=d,e[7]=u,e[8]=c):c=e[8];const f=`${r}-stripped-${t}`,h=`url(#${r}-colors-${t})`,p=`url(#${r}-stripped-mask-${t})`;let g;e[9]!==h||e[10]!==p?(g=n("rect",{fill:h,height:"100%",mask:p,width:"100%"}),e[9]=h,e[10]=p,e[11]=g):g=e[11];let y;e[12]!==g||e[13]!==f?(y=n("pattern",{height:"100%",id:f,patternUnits:"userSpaceOnUse",width:"100%",children:g}),e[12]=g,e[13]=f,e[14]=y):y=e[14];let x;return e[15]!==y||e[16]!==s||e[17]!==c?(x=k(B,{children:[s,c,y]}),e[15]=y,e[16]=s,e[17]=c,e[18]=x):x=e[18],x},Bt=i=>{const e=N(5),{id:r,dataKey:t}=i,a=`${r}-bar-glow-${t}`;let o,l,s;e[0]===Symbol.for("react.memo_cache_sentinel")?(o=n("feGaussianBlur",{in:"SourceGraphic",result:"blur",stdDeviation:"8"}),l=n("feColorMatrix",{in:"blur",result:"glow",type:"matrix",values:`1 0 0 0 0
7
+ 0 1 0 0 0
8
+ 0 0 1 0 0
9
+ 0 0 0 0.5 0`}),s=k("feMerge",{children:[n("feMergeNode",{in:"glow"}),n("feMergeNode",{in:"SourceGraphic"})]}),e[0]=o,e[1]=l,e[2]=s):(o=e[0],l=e[1],s=e[2]);let d;return e[3]!==a?(d=k("filter",{height:"300%",id:a,width:"300%",x:"-100%",y:"-100%",children:[o,l,s]}),e[3]=a,e[4]=d):d=e[4],d},Lt=(i=17,e=.05,r=.9)=>Array.from({length:i},(t,a)=>{const o=a/(i-1),l=Math.sin(o*Math.PI)**2,s=e+l*(r-e);return{offset:`${(o*100).toFixed(0)}%`,opacity:Number(s.toFixed(3))}});function At(i,e){const r=N(8),t=e===void 0?12:e,[,a]=Q(!1);let o;r[0]!==i||r[1]!==a?(o=()=>{i&&a(Kt)},r[0]=i,r[1]=a,r[2]=o):o=r[2];const l=o;let s;r[3]!==t?(s=ot(t,20,80),r[3]=t,r[4]=s):s=r[4];const d=s;let m;return r[5]!==d||r[6]!==l?(m={loadingData:d,onShimmerExit:l},r[5]=d,r[6]=l,r[7]=m):m=r[7],m}function Kt(i){return!i}const Dt=i=>{const e=N(8),{chartId:r,onShimmerExit:t}=i,a=`url(#${r}-loading-mask)`;let o;e[0]!==a?(o=n(de,{dataKey:yt,fill:"currentColor",fillOpacity:.15,isAnimationActive:!1,legendType:"none",radius:Se,style:{mask:a}}),e[0]=a,e[1]=o):o=e[1];let l;e[2]!==r||e[3]!==t?(l=n("defs",{children:n(Rt,{chartId:r,onShimmerExit:t})}),e[2]=r,e[3]=t,e[4]=l):l=e[4];let s;return e[5]!==o||e[6]!==l?(s=k(B,{children:[o,l]}),e[5]=o,e[6]=l,e[7]=s):s=e[7],s},Rt=i=>{const e=N(23),{chartId:r,onShimmerExit:t}=i,a=Lt(),o=Le(-1),l=`${r}-loading-mask-gradient`,s="0",d="1",m="0",u="0",c=a.map(Tt);let f;e[0]!==l||e[1]!==c?(f=n("linearGradient",{id:l,x1:s,x2:d,y1:m,y2:u,children:c}),e[0]=l,e[1]=c,e[2]=f):f=e[2];const h=`${r}-loading-mask-pattern`;let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p={x:2},e[3]=p):p=e[3];const g=`url(#${r}-loading-mask-gradient)`;let y;e[4]===Symbol.for("react.memo_cache_sentinel")?(y={x:-1},e[4]=y):y=e[4];let x;e[5]!==t?(x=M=>{const O=typeof M.x=="number"?M.x:-1,D=o.current;O>=1&&D<1&&t(),o.current=O},e[5]=t,e[6]=x):x=e[6];let b;e[7]===Symbol.for("react.memo_cache_sentinel")?(b={duration:xt/1e3,ease:"linear",repeat:1/0,repeatType:"loop"},e[7]=b):b=e[7];let w;e[8]!==g||e[9]!==x?(w=n(V.rect,{animate:p,fill:g,height:"1",initial:y,onUpdate:x,transition:b,width:"1",y:"0"}),e[8]=g,e[9]=x,e[10]=w):w=e[10];let $;e[11]!==w||e[12]!==h?($=n("pattern",{height:"1",id:h,patternContentUnits:"objectBoundingBox",patternTransform:"rotate(25)",patternUnits:"objectBoundingBox",width:3,x:"0",y:"0",children:w}),e[11]=w,e[12]=h,e[13]=$):$=e[13];const v=`${r}-loading-mask`,S=`url(#${r}-loading-mask-pattern)`;let C;e[14]!==S?(C=n("rect",{fill:S,height:"100%",width:"100%"}),e[14]=S,e[15]=C):C=e[15];let I;e[16]!==v||e[17]!==C?(I=n("mask",{id:v,maskUnits:"userSpaceOnUse",children:C}),e[16]=v,e[17]=C,e[18]=I):I=e[18];let _;return e[19]!==$||e[20]!==I||e[21]!==f?(_=k(B,{children:[f,$,I]}),e[19]=$,e[20]=I,e[21]=f,e[22]=_):_=e[22],_};function Tt(i){const{offset:e,opacity:r}=i;return n("stop",{offset:e,stopColor:"white",stopOpacity:r},e)}export{Ft as B,Wt as E,qt as T,Yt as X};
@@ -0,0 +1 @@
1
+ import{c as f}from"react/compiler-runtime";import{useState as m,useRef as h,useEffect as p}from"react";const g=(o="local")=>{try{return o==="local"?globalThis.localStorage:globalThis.sessionStorage}catch{return}},u=function(o,t="local"){try{const e=g(t)?.getItem(o)??void 0,s=e===void 0?[]:JSON.parse(e);return Array.isArray(s)?s:[]}catch{return[]}},S=(o,t,e="local")=>{const s=g(e);if(s!==void 0)try{s.setItem(o,JSON.stringify(t))}catch{}},b=function(o){const t=f(8);let e;t[0]!==o?(e=()=>u(o),t[0]=o,t[1]=e):e=t[1];const[s,l]=m(e),c=h(o);let r,a;t[2]!==o||t[3]!==s?(r=()=>{if(c.current!==o){c.current=o,l(u(o));return}S(o,s)},a=[o,s],t[2]=o,t[3]=s,t[4]=r,t[5]=a):(r=t[4],a=t[5]),p(r,a);let n;return t[6]!==s?(n=[s,l],t[6]=s,t[7]=n):n=t[7],n},J=function(o,t){const e=f(6),[s,l]=b(o);let c;e[0]!==t||e[1]!==l?(c=i=>{l(y=>{const d=y[0]??t;return[typeof i=="function"?i(d):i]})},e[0]=t,e[1]=l,e[2]=c):c=e[2];const r=c,a=s[0]??t;let n;return e[3]!==r||e[4]!==a?(n=[a,r],e[3]=r,e[4]=a,e[5]=n):n=e[5],n},T=o=>globalThis.crypto?.randomUUID?.()??`${o}-${globalThis.performance.now().toString(36)}`;export{g as a,J as b,u as l,T as n,S as s,b as u};
@@ -0,0 +1 @@
1
+ import{Button as t}from"@base-ui/react/button";import{cva as n}from"class-variance-authority";import{c as d}from"./utils-bhneXptQ.js";import{jsx as s}from"react/jsx-runtime";const o=n("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 g({className:e,variant:r="default",size:i="default",...a}){return s(t,{"data-slot":"button",className:d(o({variant:r,size:i,className:e})),...a})}export{g as u};
@@ -0,0 +1 @@
1
+ import{c as i}from"react/compiler-runtime";import"react";import{c as o}from"./utils-bhneXptQ.js";import{jsx as c}from"react/jsx-runtime";function p({className:d,size:a="default",...t}){return c("div",{"data-slot":"card","data-size":a,className:o("group/card flex flex-col gap-4 overflow-hidden rounded-xl border border-border bg-card py-4 text-xs/relaxed text-card-foreground shadow-xs has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-2 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-md *:[img:last-child]:rounded-md",d),...t})}function f(d){const a=i(8);let t,e;a[0]!==d?({className:t,...e}=d,a[0]=d,a[1]=t,a[2]=e):(t=a[1],e=a[2]);let r;a[3]!==t?(r=o("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-md px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3",t),a[3]=t,a[4]=r):r=a[4];let s;return a[5]!==e||a[6]!==r?(s=c("div",{"data-slot":"card-header",className:r,...e}),a[5]=e,a[6]=r,a[7]=s):s=a[7],s}function x(d){const a=i(8);let t,e;a[0]!==d?({className:t,...e}=d,a[0]=d,a[1]=t,a[2]=e):(t=a[1],e=a[2]);let r;a[3]!==t?(r=o("font-heading text-sm font-medium group-data-[size=sm]/card:text-sm",t),a[3]=t,a[4]=r):r=a[4];let s;return a[5]!==e||a[6]!==r?(s=c("div",{"data-slot":"card-title",className:r,...e}),a[5]=e,a[6]=r,a[7]=s):s=a[7],s}function g(d){const a=i(8);let t,e;a[0]!==d?({className:t,...e}=d,a[0]=d,a[1]=t,a[2]=e):(t=a[1],e=a[2]);let r;a[3]!==t?(r=o("text-xs/relaxed text-muted-foreground",t),a[3]=t,a[4]=r):r=a[4];let s;return a[5]!==e||a[6]!==r?(s=c("div",{"data-slot":"card-description",className:r,...e}),a[5]=e,a[6]=r,a[7]=s):s=a[7],s}function h(d){const a=i(8);let t,e;a[0]!==d?({className:t,...e}=d,a[0]=d,a[1]=t,a[2]=e):(t=a[1],e=a[2]);let r;a[3]!==t?(r=o("px-4 group-data-[size=sm]/card:px-3",t),a[3]=t,a[4]=r):r=a[4];let s;return a[5]!==e||a[6]!==r?(s=c("div",{"data-slot":"card-content",className:r,...e}),a[5]=e,a[6]=r,a[7]=s):s=a[7],s}export{p as c,x as f,g as m,f as n,h as u};
@@ -0,0 +1 @@
1
+ const s="https://dash.cloudflare.com/?to=/:account",L=`${s}/workers-and-pages/observability`,a=`${s}/workers-and-pages`,R=`${s}/r2`,r=`${s}/workers/d1`,o=`${s}/workers/durable-objects`;export{r as C,a,L as b,o as c,R as d};
@@ -0,0 +1 @@
1
+ import{c as s}from"react/compiler-runtime";import{Checkbox as d}from"@base-ui/react/checkbox";import{c as l}from"./utils-bhneXptQ.js";import{HugeiconsIcon as m}from"@hugeicons/react";import{Tick02Icon as b}from"@hugeicons/core-free-icons";import{jsx as c}from"react/jsx-runtime";function h(n){const r=s(9);let e,i;r[0]!==n?({className:e,...i}=n,r[0]=n,r[1]=e,r[2]=i):(e=r[1],i=r[2]);let a;r[3]!==e?(a=l("peer relative flex size-4 shrink-0 items-center justify-center rounded-md border border-input transition-colors outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-1 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary",e),r[3]=e,r[4]=a):a=r[4];let t;r[5]===Symbol.for("react.memo_cache_sentinel")?(t=c(d.Indicator,{"data-slot":"checkbox-indicator",className:"grid place-content-center text-current transition-none [&>svg]:size-3.5",children:c(m,{icon:b,strokeWidth:2})}),r[5]=t):t=r[5];let o;return r[6]!==i||r[7]!==a?(o=c(d.Root,{"data-slot":"checkbox",className:a,...i,children:t}),r[6]=i,r[7]=a,r[8]=o):o=r[8],o}export{h as f};
@@ -0,0 +1 @@
1
+ import{c as w}from"react/compiler-runtime";import{useT as v}from"./DEFAULT_LOCALE-BZ4NojpD.js";import{h as x}from"./internal-AtZ4bTal.js";import{jsx as a,jsxs as u}from"react/jsx-runtime";const y=b=>{const e=w(8),{value:o}=b;if(o==null){let d;return e[0]===Symbol.for("react.memo_cache_sentinel")?(d=a("span",{className:"text-muted-foreground/50 italic",children:"NULL"}),e[0]=d):d=e[0],d}let r;e[1]!==o?(r=x(o),e[1]=o,e[2]=r):r=e[2];let t;e[3]!==o?(t=x(o),e[3]=o,e[4]=t):t=e[4];let l;return e[5]!==r||e[6]!==t?(l=a("span",{title:r,children:t}),e[5]=r,e[6]=t,e[7]=l):l=e[7],l},L=b=>{const e=w(22),{columns:o,rows:r}=b,t=v();let l;e[0]!==t?(l=t("Field"),e[0]=t,e[1]=l):l=e[1];let d;e[2]!==l?(d=a("th",{className:"border-b border-e border-border px-3 py-1.5 text-start font-mono text-[11px] tracking-wide uppercase text-muted-foreground",children:l}),e[2]=l,e[3]=d):d=e[3];let n;if(e[4]!==r||e[5]!==t){let s;e[7]!==t?(s=(f,h)=>a("th",{className:"border-b border-border px-3 py-1.5 text-start font-mono text-[11px] tracking-wide uppercase tabular-nums text-muted-foreground",children:t("Row {n}",{n:h+1})},h),e[7]=t,e[8]=s):s=e[8],n=r.map(s),e[4]=r,e[5]=t,e[6]=n}else n=e[6];let c;e[9]!==d||e[10]!==n?(c=a("thead",{className:"sticky top-0 z-10 bg-muted",children:u("tr",{children:[d,n]})}),e[9]=d,e[10]=n,e[11]=c):c=e[11];let m;if(e[12]!==o||e[13]!==r){let s;e[15]!==r?(s=f=>u("tr",{className:"hover:bg-muted/40",children:[a("th",{className:"border-b border-e border-border px-3 py-1.5 text-start font-mono font-medium whitespace-nowrap",scope:"row",children:f}),r.map((h,N)=>a("td",{className:"max-w-md truncate border-b border-border px-3 py-1.5 font-mono",children:a(y,{value:h[f]})},N))]},f),e[15]=r,e[16]=s):s=e[16],m=o.map(s),e[12]=o,e[13]=r,e[14]=m}else m=e[14];let i;e[17]!==m?(i=a("tbody",{children:m}),e[17]=m,e[18]=i):i=e[18];let p;return e[19]!==c||e[20]!==i?(p=a("div",{className:"min-h-0 flex-1 overflow-auto","data-testid":"db-transposed",children:u("table",{className:"border-collapse text-xs",children:[c,i]})}),e[19]=c,e[20]=i,e[21]=p):p=e[21],p},z=({children:b,layout:e="card",testId:o})=>a("div",{className:e==="fill"?"flex min-h-0 flex-1 flex-col overflow-hidden border-t border-border":"overflow-x-auto border border-border bg-card","data-testid":o,children:b});export{z as _,L as v,y};
@@ -0,0 +1 @@
1
+ const l=new Set(["contains","eq","gt","gte","lt","lte","ne"]),a=r=>{if(typeof r!="string")return;const t=r.trim();return t===""?void 0:t},h=r=>{if(r===null||typeof r!="object")return!1;const t=r;return typeof t.column=="string"&&typeof t.operator=="string"&&l.has(t.operator)},d=r=>{if(typeof r!="string"||r==="")return[];try{const t=JSON.parse(r);return Array.isArray(t)?t.filter(h):[]}catch{return[]}},c=r=>{if(typeof r!="string"||r==="")return;const t=r.lastIndexOf(":");if(t<=0)return;const o=r.slice(0,t),s=r.slice(t+1);if(!(s!=="asc"&&s!=="desc"))return{column:o,direction:s}},f=r=>{const t={};r.schema==="global"&&(t.schema="global");const o=a(r.table);o!==void 0&&(t.table=o);const s=a(r.shard);s!==void 0&&(t.shard=s);const e=a(r.search);e!==void 0&&(t.search=e);const i=a(r.order);i!==void 0&&c(i)!==void 0&&(t.order=i);const n=a(r.filters);return n!==void 0&&d(n).length>0&&(t.filters=n),t},v=r=>{const t=d(r.filters),o=c(r.order);return{filters:t.length>0?t:void 0,orderBy:o,search:typeof r.search=="string"&&r.search!==""?r.search:void 0,shard:typeof r.shard=="string"&&r.shard!==""?r.shard:void 0,table:typeof r.table=="string"&&r.table!==""?r.table:void 0,tier:r.schema==="global"?"global":"shard"}},g=r=>{const t=r.filters??[];return{filters:t.length>0?JSON.stringify(t):void 0,order:r.orderBy===void 0?void 0:`${r.orderBy.column}:${r.orderBy.direction}`,schema:r.tier==="global"?"global":void 0,search:r.search!==void 0&&r.search!==""?r.search:void 0,shard:r.shard!==void 0&&r.shard!==""?r.shard:void 0,table:r.table!==void 0&&r.table!==""?r.table:void 0}};export{g as d,v as s,f as v};
@@ -0,0 +1,2 @@
1
+ 'use client';
2
+ import{c as l}from"react/compiler-runtime";import"react";import{Menu as i}from"@base-ui/react/menu";import{c as u}from"./utils-bhneXptQ.js";import{HugeiconsIcon as g}from"@hugeicons/react";import{Tick02Icon as p}from"@hugeicons/core-free-icons";import{jsx as d,jsxs as v}from"react/jsx-runtime";function _(a){const e=l(4);let t;e[0]!==a?({...t}=a,e[0]=a,e[1]=t):t=e[1];let o;return e[2]!==t?(o=d(i.Root,{"data-slot":"dropdown-menu",...t}),e[2]=t,e[3]=o):o=e[3],o}function y(a){const e=l(4);let t;e[0]!==a?({...t}=a,e[0]=a,e[1]=t):t=e[1];let o;return e[2]!==t?(o=d(i.Trigger,{"data-slot":"dropdown-menu-trigger",...t}),e[2]=t,e[3]=o):o=e[3],o}function I({align:a="start",alignOffset:e=0,side:t="bottom",sideOffset:o=4,className:n,...r}){return d(i.Portal,{children:d(i.Positioner,{className:"isolate z-50 outline-none",align:a,alignOffset:e,side:t,sideOffset:o,children:d(i.Popup,{"data-slot":"dropdown-menu-content",className:u("z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-start-2 data-[side=inline-start]:slide-in-from-end-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:overflow-hidden data-closed:fade-out-0 data-closed:zoom-out-95 animate-none! relative bg-popover before:pointer-events-none before:absolute before:inset-0 before:-z-1 before:rounded-[inherit] **:data-[slot$=-item]:focus:bg-foreground/10 **:data-[slot$=-item]:data-highlighted:bg-foreground/10 **:data-[slot$=-separator]:bg-foreground/5 **:data-[slot$=-trigger]:focus:bg-foreground/10 **:data-[slot$=-trigger]:aria-expanded:bg-foreground/10! **:data-[variant=destructive]:focus:bg-foreground/10! **:data-[variant=destructive]:text-accent-foreground! **:data-[variant=destructive]:**:text-accent-foreground!",n),...r})})})}function $(a){const e=l(4);let t;e[0]!==a?({...t}=a,e[0]=a,e[1]=t):t=e[1];let o;return e[2]!==t?(o=d(i.Group,{"data-slot":"dropdown-menu-group",...t}),e[2]=t,e[3]=o):o=e[3],o}function O(a){const e=l(10);let t,o,n;e[0]!==a?({className:t,inset:o,...n}=a,e[0]=a,e[1]=t,e[2]=o,e[3]=n):(t=e[1],o=e[2],n=e[3]);let r;e[4]!==t?(r=u("px-2 py-2 text-xs text-muted-foreground data-inset:ps-7",t),e[4]=t,e[5]=r):r=e[5];let s;return e[6]!==o||e[7]!==n||e[8]!==r?(s=d(i.GroupLabel,{"data-slot":"dropdown-menu-label","data-inset":o,className:r,...n}),e[6]=o,e[7]=n,e[8]=r,e[9]=s):s=e[9],s}function P({className:a,inset:e,variant:t="default",...o}){return d(i.Item,{"data-slot":"dropdown-menu-item","data-inset":e,"data-variant":t,className:u("group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-md px-2 py-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:ps-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive",a),...o})}function j(a){const e=l(15);let t,o,n,r,s;e[0]!==a?({className:n,children:o,checked:t,inset:r,...s}=a,e[0]=a,e[1]=t,e[2]=o,e[3]=n,e[4]=r,e[5]=s):(t=e[1],o=e[2],n=e[3],r=e[4],s=e[5]);let c;e[6]!==n?(c=u("relative flex cursor-default items-center gap-2 rounded-md py-2 pe-8 ps-2 text-xs outline-hidden select-none focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-inset:ps-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",n),e[6]=n,e[7]=c):c=e[7];let f;e[8]===Symbol.for("react.memo_cache_sentinel")?(f=d("span",{className:"pointer-events-none absolute end-2 flex items-center justify-center","data-slot":"dropdown-menu-checkbox-item-indicator",children:d(i.CheckboxItemIndicator,{children:d(g,{icon:p,strokeWidth:2})})}),e[8]=f):f=e[8];let m;return e[9]!==t||e[10]!==o||e[11]!==r||e[12]!==s||e[13]!==c?(m=v(i.CheckboxItem,{"data-slot":"dropdown-menu-checkbox-item","data-inset":r,className:c,checked:t,...s,children:[f,o]}),e[9]=t,e[10]=o,e[11]=r,e[12]=s,e[13]=c,e[14]=m):m=e[14],m}function C(a){const e=l(8);let t,o;e[0]!==a?({className:t,...o}=a,e[0]=a,e[1]=t,e[2]=o):(t=e[1],o=e[2]);let n;e[3]!==t?(n=u("-mx-1 h-px bg-border",t),e[3]=t,e[4]=n):n=e[4];let r;return e[5]!==o||e[6]!==n?(r=d(i.Separator,{"data-slot":"dropdown-menu-separator",className:n,...o}),e[5]=o,e[6]=n,e[7]=r):r=e[7],r}export{y as $,C as I,$ as M,P as N,j as P,O as _,I as b,_ as h};
@@ -0,0 +1 @@
1
+ import{c as h}from"react/compiler-runtime";import{c as v}from"./utils-bhneXptQ.js";import{jsx as n,jsxs as u}from"react/jsx-runtime";const y=g=>{const e=h(19),{action:c,className:x,description:i,icon:a,testId:f,title:p}=g;let t;e[0]!==x?(t=v("flex flex-col items-center justify-center gap-3 rounded-lg border border-dashed border-border px-6 py-14 text-center",x),e[0]=x,e[1]=t):t=e[1];let r;e[2]!==a?(r=a!==void 0&&n("span",{className:"flex size-10 items-center justify-center rounded-lg bg-muted text-muted-foreground [&_svg]:size-5",children:a}),e[2]=a,e[3]=r):r=e[3];let s;e[4]!==p?(s=n("p",{className:"text-sm font-medium text-foreground",children:p}),e[4]=p,e[5]=s):s=e[5];let d;e[6]!==i?(d=i!==void 0&&n("p",{className:"max-w-sm text-sm text-muted-foreground",children:i}),e[6]=i,e[7]=d):d=e[7];let l;e[8]!==s||e[9]!==d?(l=u("div",{className:"flex flex-col gap-1",children:[s,d]}),e[8]=s,e[9]=d,e[10]=l):l=e[10];let o;e[11]!==c?(o=c!==void 0&&n("div",{className:"mt-1 flex items-center gap-2",children:c}),e[11]=c,e[12]=o):o=e[12];let m;return e[13]!==t||e[14]!==r||e[15]!==l||e[16]!==o||e[17]!==f?(m=u("div",{className:t,"data-testid":f,children:[r,l,o]}),e[13]=t,e[14]=r,e[15]=l,e[16]=o,e[17]=f,e[18]=m):m=e[18],m};export{y as E};
@@ -0,0 +1 @@
1
+ import{c as b}from"react/compiler-runtime";import{flattenHint as v}from"@lunora/errors";import{b as w,d as A,e as g}from"./internal-AtZ4bTal.js";import{A as j}from"./alert-CVcOFuDR.js";import{jsx as h,jsxs as k}from"react/jsx-runtime";const D=N=>{const r=b(26),{className:f,error:e,testId:u}=N;let s,o,a,l,i,t,n;if(r[0]!==f||r[1]!==e||r[2]!==u){const x=w(e);let p;r[10]!==e?(p=A(e),r[10]=e,r[11]=p):p=r[11],o=p,s=j,a=f,l=u,i="destructive";let c;r[12]!==e?(c=g(e),r[12]=e,r[13]=c):c=r[13],r[14]!==c?(t=h("p",{className:"font-medium",children:c}),r[14]=c,r[15]=t):t=r[15],n=x===void 0?null:h("p",{className:"mt-1 whitespace-pre-wrap text-xs opacity-90",children:v(x)}),r[0]=f,r[1]=e,r[2]=u,r[3]=s,r[4]=o,r[5]=a,r[6]=l,r[7]=i,r[8]=t,r[9]=n}else s=r[3],o=r[4],a=r[5],l=r[6],i=r[7],t=r[8],n=r[9];let m;r[16]!==o?(m=o===void 0?null:h("a",{"aria-label":"View documentation for this error",className:"mt-1 inline-block text-xs underline",href:o,rel:"noreferrer",target:"_blank",children:"View error docs"}),r[16]=o,r[17]=m):m=r[17];let d;return r[18]!==s||r[19]!==a||r[20]!==l||r[21]!==i||r[22]!==t||r[23]!==n||r[24]!==m?(d=k(s,{className:a,testId:l,variant:i,children:[t,n,m]}),r[18]=s,r[19]=a,r[20]=l,r[21]=i,r[22]=t,r[23]=n,r[24]=m,r[25]=d):d=r[25],d};export{D as E};
@@ -0,0 +1,6 @@
1
+ import{c as k}from"react/compiler-runtime";import{useState as V}from"react";import{ConfirmButton as J}from"./ConfirmButton-CTL3f3kr.js";import{$ as U,_,N as L,b as D,h as E,P as M,I as q,M as B}from"./dropdown-menu-C3RQ_HlW.js";import{M as F}from"./modal-shell-CUwwWC2o.js";import{useT as j}from"./DEFAULT_LOCALE-BZ4NojpD.js";import{h as G,g as H}from"./internal-AtZ4bTal.js";import{jsx as f,jsxs as S}from"react/jsx-runtime";const v="inline-flex items-center gap-1 rounded-md border border-border px-2.5 py-1 text-xs font-medium text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-50",P=/["\n,]/u,Q=/^[=+\-@\t\r]/u,A=o=>{if(o==null)return"";let e;return typeof o=="string"?e=Q.test(o)?` ${o}`:o:typeof o=="number"||typeof o=="boolean"||typeof o=="bigint"?e=String(o):e=JSON.stringify(o),P.test(e)?`"${e.replaceAll('"','""')}"`:e},Y=(o,e)=>{const l=o.map(r=>A(r)).join(","),n=e.map(r=>o.map(t=>A(r[t])).join(","));return[l,...n].join(`
2
+ `)},Z=o=>JSON.stringify(o,null,2),I=500,R=o=>`"${o.replaceAll('"','""')}"`,z=o=>o==null?"NULL":typeof o=="number"?Number.isFinite(o)?String(o):"NULL":typeof o=="bigint"?String(o):typeof o=="boolean"?o?"1":"0":`'${(typeof o=="string"?o:JSON.stringify(o)).replaceAll("'","''")}'`,K=(o,e,l)=>{if(e.length===0||l.length===0)return"";const n=e.map(t=>R(t)).join(", "),r=[];for(let t=0;t<l.length;t+=I){const i=l.slice(t,t+I).map(m=>` (${e.map(s=>z(m[s])).join(", ")})`).join(`,
3
+ `);r.push(`INSERT INTO ${R(o)} (${n}) VALUES
4
+ ${i};`)}return r.join(`
5
+
6
+ `)},O=(o,e,l)=>{if(!("document"in globalThis))return;const n=globalThis.URL.createObjectURL(new globalThis.Blob([e],{type:l})),r=globalThis.document.createElement("a");r.href=n,r.download=o,globalThis.document.body.append(r),r.click(),r.remove(),globalThis.URL.revokeObjectURL(n)},W=o=>{const e=k(36),{columns:l,name:n,rows:r}=o,t=j();let i;e[0]!==l||e[1]!==n||e[2]!==r?(i=()=>{O(`${n}.csv`,Y(l,r),"text/csv;charset=utf-8")},e[0]=l,e[1]=n,e[2]=r,e[3]=i):i=e[3];const m=i;let s;e[4]!==n||e[5]!==r?(s=()=>{O(`${n}.json`,Z(r),"application/json")},e[4]=n,e[5]=r,e[6]=s):s=e[6];const d=s;let a;e[7]!==l||e[8]!==n||e[9]!==r?(a=()=>{O(`${n}.sql`,K(n,l,r),"application/sql;charset=utf-8")},e[7]=l,e[8]=n,e[9]=r,e[10]=a):a=e[10];const u=a,c=r.length===0;let p;e[11]!==c?(p=f(U,{className:v,"data-testid":"grid-export",disabled:c,title:"Exports only the rows loaded on the current page, not the whole table",children:"Export page"}),e[11]=c,e[12]=p):p=e[12];let C;e[13]===Symbol.for("react.memo_cache_sentinel")?(C=f(_,{children:"Export loaded rows"}),e[13]=C):C=e[13];let g;e[14]!==t?(g=t("CSV"),e[14]=t,e[15]=g):g=e[15];let b;e[16]!==m||e[17]!==g?(b=f(L,{"data-testid":"grid-export-csv",onClick:m,children:g}),e[16]=m,e[17]=g,e[18]=b):b=e[18];let h;e[19]!==t?(h=t("JSON"),e[19]=t,e[20]=h):h=e[20];let x;e[21]!==d||e[22]!==h?(x=f(L,{"data-testid":"grid-export-json",onClick:d,children:h}),e[21]=d,e[22]=h,e[23]=x):x=e[23];let y;e[24]!==t?(y=t("SQL"),e[24]=t,e[25]=y):y=e[25];let $;e[26]!==u||e[27]!==y?($=f(L,{"data-testid":"grid-export-sql",onClick:u,children:y}),e[26]=u,e[27]=y,e[28]=$):$=e[28];let w;e[29]!==x||e[30]!==$||e[31]!==b?(w=S(D,{align:"end",children:[C,b,x,$]}),e[29]=x,e[30]=$,e[31]=b,e[32]=w):w=e[32];let N;return e[33]!==w||e[34]!==p?(N=S(E,{children:[p,w]}),e[33]=w,e[34]=p,e[35]=N):N=e[35],N},X=o=>{const e=k(9),{column:l}=o;let n;e[0]!==l?(n=()=>{l.toggleVisibility()},e[0]=l,e[1]=n):n=e[1];const r=n;let t;e[2]!==l?(t=l.getIsVisible(),e[2]=l,e[3]=t):t=e[3];const i=`grid-column-${l.id}`;let m;return e[4]!==l.id||e[5]!==r||e[6]!==t||e[7]!==i?(m=f(M,{checked:t,closeOnClick:!1,"data-testid":i,onCheckedChange:r,children:l.id}),e[4]=l.id,e[5]=r,e[6]=t,e[7]=i,e[8]=m):m=e[8],m},ee=o=>{const e=k(30),{table:l}=o,n=j();let r;e[0]!==l?(r=l.getIsAllColumnsVisible(),e[0]=l,e[1]=r):r=e[1];const t=r;let i;e[2]!==t||e[3]!==l?(i=()=>{l.toggleAllColumnsVisible(!t)},e[2]=t,e[3]=l,e[4]=i):i=e[4];const m=i;let s;e[5]!==n?(s=n("Columns"),e[5]=n,e[6]=s):s=e[6];let d;e[7]!==s?(d=f(U,{className:v,"data-testid":"grid-columns",children:s}),e[7]=s,e[8]=d):d=e[8];let a;e[9]!==n?(a=n("Columns"),e[9]=n,e[10]=a):a=e[10];let u;e[11]!==a?(u=f(_,{children:a}),e[11]=a,e[12]=u):u=e[12];let c;e[13]!==t||e[14]!==n?(c=n(t?"Hide all":"Show all"),e[13]=t,e[14]=n,e[15]=c):c=e[15];let p;e[16]!==t||e[17]!==m||e[18]!==c?(p=f(M,{checked:t,closeOnClick:!1,"data-testid":"grid-columns-all",onCheckedChange:m,children:c}),e[16]=t,e[17]=m,e[18]=c,e[19]=p):p=e[19];let C;e[20]===Symbol.for("react.memo_cache_sentinel")?(C=f(q,{}),e[20]=C):C=e[20];let g;e[21]!==l?(g=l.getAllLeafColumns().map(le),e[21]=l,e[22]=g):g=e[22];let b;e[23]!==g||e[24]!==u||e[25]!==p?(b=f(D,{align:"end",className:"max-h-80 overflow-y-auto",children:S(B,{children:[u,p,C,g]})}),e[23]=g,e[24]=u,e[25]=p,e[26]=b):b=e[26];let h;return e[27]!==b||e[28]!==d?(h=S(E,{children:[d,b]}),e[27]=b,e[28]=d,e[29]=h):h=e[29],h},te=o=>{const e=k(19),{count:l,editable:n,onClear:r,onDelete:t}=o,i=j();let m;e[0]!==l||e[1]!==i?(m=i("{count} selected",{count:l}),e[0]=l,e[1]=i,e[2]=m):m=e[2];let s;e[3]!==m?(s=f("span",{className:"font-medium tabular-nums","data-testid":"grid-selection-count",children:m}),e[3]=m,e[4]=s):s=e[4];let d;e[5]!==i?(d=i("Clear"),e[5]=i,e[6]=d):d=e[6];let a;e[7]!==r||e[8]!==d?(a=f("button",{className:v,"data-testid":"grid-selection-clear",onClick:r,type:"button",children:d}),e[7]=r,e[8]=d,e[9]=a):a=e[9];let u;e[10]!==l||e[11]!==n||e[12]!==t||e[13]!==i?(u=n&&f(J,{confirmLabel:i("Delete {count} rows?",{count:l}),onConfirm:t,testId:"grid-selection-delete",children:i("Delete {count}",{count:l})}),e[10]=l,e[11]=n,e[12]=t,e[13]=i,e[14]=u):u=e[14];let c;return e[15]!==s||e[16]!==a||e[17]!==u?(c=S("div",{className:"flex items-center gap-2 rounded-md border border-border bg-accent/40 px-3 py-1.5 text-xs","data-testid":"grid-selection-bar",children:[s,a,u]}),e[15]=s,e[16]=a,e[17]=u,e[18]=c):c=e[18],c},ue=o=>{const e=k(32),{column:l,onClose:n,value:r}=o,t=j(),[i,m]=V(!1);let s;e[0]!==r?(s=G(r),e[0]=r,e[1]=s):s=e[1];const d=s;let a;e[2]!==d?(a=()=>{H(d)&&m(!0)},e[2]=d,e[3]=a):a=e[3];const u=a;let c;e[4]!==t?(c=t("Cell value"),e[4]=t,e[5]=c):c=e[5];let p;e[6]!==l?(p=f("h2",{className:"truncate font-mono text-sm font-semibold text-foreground",children:l}),e[6]=l,e[7]=p):p=e[7];let C;e[8]!==i||e[9]!==t?(C=t(i?"Copied":"Copy"),e[8]=i,e[9]=t,e[10]=C):C=e[10];let g;e[11]!==u||e[12]!==C?(g=f("button",{className:v,"data-testid":"grid-cell-copy",onClick:u,type:"button",children:C}),e[11]=u,e[12]=C,e[13]=g):g=e[13];let b;e[14]!==t?(b=t("Close"),e[14]=t,e[15]=b):b=e[15];let h;e[16]!==n||e[17]!==b?(h=f("button",{className:v,"data-testid":"grid-cell-close",onClick:n,type:"button",children:b}),e[16]=n,e[17]=b,e[18]=h):h=e[18];let x;e[19]!==g||e[20]!==h?(x=S("div",{className:"flex items-center gap-1.5",children:[g,h]}),e[19]=g,e[20]=h,e[21]=x):x=e[21];let y;e[22]!==p||e[23]!==x?(y=S("div",{className:"flex items-center justify-between",children:[p,x]}),e[22]=p,e[23]=x,e[24]=y):y=e[24];let $;e[25]!==d?($=f("pre",{className:"min-h-0 flex-1 overflow-auto rounded-md border border-border bg-muted/30 p-3 font-mono text-xs whitespace-pre-wrap","data-testid":"grid-cell-value",children:d}),e[25]=d,e[26]=$):$=e[26];let w;return e[27]!==n||e[28]!==y||e[29]!==$||e[30]!==c?(w=S(F,{className:"max-h-[70vh] w-[min(40rem,90vw)]",label:c,onClose:n,panelTestId:"grid-cell-dialog",testId:"grid-cell-dialog-overlay",variant:"dialog",children:[y,$]}),e[27]=n,e[28]=y,e[29]=$,e[30]=c,e[31]=w):w=e[31],w},pe=o=>{const e=k(33),{columns:l,editable:n,name:r,onBulkDelete:t,onToggleTranspose:i,rows:m,table:s,transposed:d}=o,a=j();let u;e[0]!==s?(u=s.getSelectedRowModel(),e[0]=s,e[1]=u):u=e[1];const c=u.rows;let p;e[2]!==s?(p=()=>{s.resetRowSelection()},e[2]=s,e[3]=p):p=e[3];const C=p;let g;e[4]!==t||e[5]!==c||e[6]!==s?(g=()=>{t(c.map(oe)),s.resetRowSelection()},e[4]=t,e[5]=c,e[6]=s,e[7]=g):g=e[7];const b=g;let h;e[8]!==l||e[9]!==r||e[10]!==m?(h=f(W,{columns:l,name:r,rows:m}),e[8]=l,e[9]=r,e[10]=m,e[11]=h):h=e[11];let x;e[12]!==s?(x=f(ee,{table:s}),e[12]=s,e[13]=x):x=e[13];let y;e[14]!==a?(y=a("Swap rows and columns"),e[14]=a,e[15]=y):y=e[15];let $;e[16]!==a?($=a("Transpose"),e[16]=a,e[17]=$):$=e[17];let w;e[18]!==i||e[19]!==y||e[20]!==$||e[21]!==d?(w=f("button",{"aria-pressed":d,className:v,"data-testid":"grid-transpose",onClick:i,title:y,type:"button",children:$}),e[18]=i,e[19]=y,e[20]=$,e[21]=d,e[22]=w):w=e[22];let N;e[23]!==n||e[24]!==C||e[25]!==b||e[26]!==c.length?(N=c.length>0&&f(te,{count:c.length,editable:n,onClear:C,onDelete:b}),e[23]=n,e[24]=C,e[25]=b,e[26]=c.length,e[27]=N):N=e[27];let T;return e[28]!==h||e[29]!==x||e[30]!==w||e[31]!==N?(T=S("div",{className:"flex flex-wrap items-center gap-1.5","data-testid":"grid-actions",children:[h,x,w,N]}),e[28]=h,e[29]=x,e[30]=w,e[31]=N,e[32]=T):T=e[32],T};function le(o){return f(X,{column:o},o.id)}function oe(o){return o.id}export{te as F,W as J,ue as l,pe as n};