@lunora/studio 1.0.0-alpha.29 → 1.0.0-alpha.30

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 (165) hide show
  1. package/dist/index.js +28 -28
  2. package/dist/mount.js +1 -1
  3. package/dist/{packem_shared/ApiTab-vo8uhE29.js → packem_chunks/ApiTab.js} +5 -5
  4. package/dist/{packem_shared/AuditPanel-CBjYR6S5.js → packem_chunks/AuditPanel.js} +12 -12
  5. package/dist/{packem_shared/ExportImportPanel-DtDEy4OD.js → packem_chunks/ExportImportPanel.js} +10 -10
  6. package/dist/{packem_shared/FileBrowser-DqLRjqsM.js → packem_chunks/FileBrowser.js} +15 -15
  7. package/dist/{packem_shared/FunctionRunner-BmRkCvT4.js → packem_chunks/FunctionRunner.js} +10 -10
  8. package/dist/{packem_shared/FunctionStatsPanel-Bi3kyQvu.js → packem_chunks/FunctionStatsPanel.js} +13 -13
  9. package/dist/{packem_shared/HealthPanel-C7IPO6Ts.js → packem_chunks/HealthPanel.js} +12 -12
  10. package/dist/{packem_shared/InsightsPanel-BD29GXXd.js → packem_chunks/InsightsPanel.js} +11 -11
  11. package/dist/{packem_shared/LogsPanel-2JhE1qep.js → packem_chunks/LogsPanel.js} +13 -13
  12. package/dist/{packem_shared/MailPanel-DwNsuFJC.js → packem_chunks/MailPanel.js} +10 -10
  13. package/dist/{packem_shared/metrics-panel-3FSfzgEX.js → packem_chunks/MetricsPanel.js} +17 -284
  14. package/dist/{packem_shared/MigrationsPanel-Z1DmSSzf.js → packem_chunks/MigrationsPanel.js} +16 -16
  15. package/dist/{packem_shared/PitrPanel-3mec0LTF.js → packem_chunks/PitrPanel.js} +9 -9
  16. package/dist/{packem_shared/SchemaViewer-nxDV7dZJ.js → packem_chunks/SchemaViewer.js} +15 -15
  17. package/dist/{packem_shared/SecurityAdvisorPanel-5tYrJdvn.js → packem_chunks/SecurityAdvisorPanel.js} +4 -4
  18. package/dist/{packem_shared/SettingsPanel-SijRekVc.js → packem_chunks/SettingsPanel.js} +7 -7
  19. package/dist/{packem_shared/sql-editor-panel-DBuIpCXk.js → packem_chunks/SqlEditorPanel.js} +12 -252
  20. package/dist/{packem_shared/table-editor-7iSgi3te.js → packem_chunks/TableEditor.js} +7 -101
  21. package/dist/packem_chunks/analytics-panel.js +261 -0
  22. package/dist/packem_chunks/auth-config-panel.js +179 -0
  23. package/dist/packem_chunks/auth-sessions-panel.js +175 -0
  24. package/dist/packem_chunks/dashboards-panel.js +779 -0
  25. package/dist/packem_chunks/fanout-panel.js +481 -0
  26. package/dist/packem_chunks/flags-panel.js +176 -0
  27. package/dist/packem_chunks/kv-browser.js +1896 -0
  28. package/dist/packem_chunks/log-drains-panel.js +273 -0
  29. package/dist/packem_chunks/organizations-panel.js +670 -0
  30. package/dist/packem_chunks/payments-panel.js +185 -0
  31. package/dist/packem_chunks/permissions-panel.js +804 -0
  32. package/dist/packem_chunks/queues-panel.js +147 -0
  33. package/dist/packem_chunks/rls-panel.js +313 -0
  34. package/dist/packem_chunks/schedule-panel.js +831 -0
  35. package/dist/packem_chunks/sparkline.js +79 -0
  36. package/dist/packem_chunks/storage-rules-panel.js +138 -0
  37. package/dist/packem_chunks/subscriptions-panel.js +236 -0
  38. package/dist/packem_chunks/users-panel.js +1265 -0
  39. package/dist/packem_chunks/vector-browser.js +281 -0
  40. package/dist/packem_chunks/workflows-panel.js +562 -0
  41. package/dist/packem_shared/{ApiDocsPanel-BSSgtcVf.js → ApiDocsPanel-B6u_wnz-.js} +1 -1
  42. package/dist/packem_shared/{ApiReferencePanel-D24xOjCw.js → ApiReferencePanel-Drz4UO0a.js} +2 -1
  43. package/dist/packem_shared/{CommandPalette-L-CuSRUc.js → CommandPalette-B5BertvU.js} +1 -1
  44. package/dist/packem_shared/{DataBrowser-DBKOIVKS.js → DataBrowser-ANTHLWWh.js} +6 -5
  45. package/dist/packem_shared/{GlobalDataBrowser-DOjhvhKa.js → GlobalDataBrowser-CjgTG_wa.js} +4 -4
  46. package/dist/packem_shared/{HomePanel-dJIkHY_i.js → HomePanel-c2FodE9t.js} +4 -4
  47. package/dist/packem_shared/{OpenRpcReferencePanel-Dq0yyVWz.js → OpenRpcReferencePanel-CspFdbUT.js} +2 -1
  48. package/dist/packem_shared/{ScheduledJobs--Z9GTmKb.js → ScheduledJobs-BEJXtsBn.js} +2 -2
  49. package/dist/packem_shared/Studio-CVTtA_sB.js +16 -0
  50. package/dist/packem_shared/{StudioApp-wxioPfiP.js → StudioApp-BSYV2fz6.js} +1 -1
  51. package/dist/packem_shared/{bar-chart-CzJAgqkp.js → bar-chart-Bb__F5-u.js} +1 -1
  52. package/dist/packem_shared/browser-storage-d03UsV7v.js +249 -0
  53. package/dist/packem_shared/{cf-links-2cktDedA.js → cf-links-BZfRdxSE.js} +1 -1
  54. package/dist/packem_shared/{data-grid-CrapHxR-.js → data-grid-Dsg6nRjo.js} +1 -1
  55. package/dist/packem_shared/data-view-params-Cd6yRVbv.js +96 -0
  56. package/dist/packem_shared/{grid-features-DnTbXXNb.js → grid-features-D7nNzBYm.js} +4 -99
  57. package/dist/packem_shared/{home-panel-VdQI_8oX.js → home-panel-aOR_drVv.js} +24 -87
  58. package/dist/packem_shared/{internal-CvMZCVd6.js → internal-FcNZ3beb.js} +1 -1
  59. package/dist/packem_shared/modal-shell-hyaJvIJ6.js +100 -0
  60. package/dist/packem_shared/{reference-view-DVyk5kXj.js → reference-view-Doy1XlQq.js} +4 -44
  61. package/dist/packem_shared/select-UkNYCT3s.js +273 -0
  62. package/dist/packem_shared/skeleton-CGhL0p20.js +45 -0
  63. package/dist/packem_shared/{sparkline-10dG-_f0.js → sparkline-KgMPHS4u.js} +1 -1
  64. package/dist/packem_shared/studio-dMTJ-kRR.js +3987 -0
  65. package/dist/packem_shared/{table-list-sidebar-BbSgfLJ2.js → table-list-sidebar-VMo0ftxD.js} +1 -1
  66. package/dist/packem_shared/{use-admin-query-CFl5GUg_.js → use-admin-query-BViPA3US.js} +2 -2
  67. package/dist/packem_shared/use-auth-capabilities-BHkoBnbZ.js +32 -0
  68. package/dist/standalone/chunk-2DS7JLWL.js +13 -0
  69. package/dist/standalone/chunk-2K47A3P6.js +1 -0
  70. package/dist/standalone/chunk-2NGUNNGW.js +1 -0
  71. package/dist/standalone/chunk-2PDQ4KZ6.js +1 -0
  72. package/dist/standalone/chunk-3BP4BTLR.js +4 -0
  73. package/dist/standalone/chunk-3OA7PECS.js +6 -0
  74. package/dist/standalone/chunk-4QHKBC77.js +1 -0
  75. package/dist/standalone/chunk-57LYXHXH.js +1 -0
  76. package/dist/standalone/chunk-5NSZVXCS.js +1 -0
  77. package/dist/standalone/chunk-5OIBXYZM.js +1 -0
  78. package/dist/standalone/chunk-63XKJQTQ.js +1 -0
  79. package/dist/standalone/chunk-6RC6L33K.js +4 -0
  80. package/dist/standalone/chunk-6VTGE3WJ.js +1 -0
  81. package/dist/standalone/chunk-7PBZKXYA.js +1 -0
  82. package/dist/standalone/chunk-7POIIWC5.js +3 -0
  83. package/dist/standalone/chunk-7RYIQKZA.js +1 -0
  84. package/dist/standalone/chunk-7TJJXVSE.js +1 -0
  85. package/dist/standalone/chunk-AB6QGMBF.js +1 -0
  86. package/dist/standalone/chunk-AHILM3ZP.js +1 -0
  87. package/dist/standalone/chunk-AQGOX5DK.js +1 -0
  88. package/dist/standalone/chunk-ASLGNHAX.js +1 -0
  89. package/dist/standalone/chunk-BHTPZS7L.js +4 -0
  90. package/dist/standalone/chunk-BJGBHGK3.js +1 -0
  91. package/dist/standalone/chunk-D7HKX4DI.js +1 -0
  92. package/dist/standalone/chunk-DGWTR4G7.js +1 -0
  93. package/dist/standalone/chunk-DSX53PBM.js +1 -0
  94. package/dist/standalone/chunk-DV2MNASX.js +1 -0
  95. package/dist/standalone/chunk-DWDILV2E.js +1 -0
  96. package/dist/standalone/chunk-E7AVZZKO.js +1 -0
  97. package/dist/standalone/chunk-EGJX34WM.js +1 -0
  98. package/dist/standalone/chunk-FCR3HKFV.js +1 -0
  99. package/dist/standalone/chunk-FKO3HO6I.js +4 -0
  100. package/dist/standalone/chunk-FQKNJSRA.js +76 -0
  101. package/dist/standalone/chunk-G2TFEWEQ.js +4 -0
  102. package/dist/standalone/chunk-GABMIICA.js +1 -0
  103. package/dist/standalone/chunk-GTM65MVX.js +1 -0
  104. package/dist/standalone/chunk-GZXPPJVK.js +1 -0
  105. package/dist/standalone/chunk-HFBRE65A.js +1 -0
  106. package/dist/standalone/chunk-HFMQNUBC.js +1 -0
  107. package/dist/standalone/chunk-HG7Q5B3H.js +1 -0
  108. package/dist/standalone/chunk-HTQL7AXU.js +1 -0
  109. package/dist/standalone/chunk-HV7G6DFP.js +5 -0
  110. package/dist/standalone/chunk-ITLLHEVG.js +1 -0
  111. package/dist/standalone/chunk-J6J54MBP.js +1 -0
  112. package/dist/standalone/chunk-JSEXCW5Q.js +1 -0
  113. package/dist/standalone/chunk-KEGAWN6Y.js +1 -0
  114. package/dist/standalone/chunk-KG3QTFWE.js +1 -0
  115. package/dist/standalone/chunk-KGS7KM4A.js +2 -0
  116. package/dist/standalone/chunk-KODWGUAB.js +1 -0
  117. package/dist/standalone/chunk-KZ6INM5M.js +1 -0
  118. package/dist/standalone/chunk-MGFEVTRI.js +1 -0
  119. package/dist/standalone/chunk-N2QDG3MW.js +1 -0
  120. package/dist/standalone/chunk-N4JI6VQD.js +1 -0
  121. package/dist/standalone/chunk-NNISYDNI.js +1 -0
  122. package/dist/standalone/chunk-O4PXDNR3.js +1 -0
  123. package/dist/standalone/chunk-O77VNUFD.js +1 -0
  124. package/dist/standalone/chunk-OD2POGPJ.js +1 -0
  125. package/dist/standalone/chunk-OXCK3ZUG.js +1 -0
  126. package/dist/standalone/chunk-P7DSVO4U.js +1 -0
  127. package/dist/standalone/chunk-PKAM3N5C.js +1 -0
  128. package/dist/standalone/chunk-QGXGBHQO.js +1 -0
  129. package/dist/standalone/chunk-QHA3TAEJ.js +1 -0
  130. package/dist/standalone/chunk-QQWC62X7.js +1 -0
  131. package/dist/standalone/chunk-RMYA7NAH.js +1 -0
  132. package/dist/standalone/chunk-RRCPZMC2.js +22 -0
  133. package/dist/standalone/chunk-S53RUBW5.js +1 -0
  134. package/dist/standalone/chunk-SB4GT6PK.js +1 -0
  135. package/dist/standalone/chunk-SEU5V7I6.js +1 -0
  136. package/dist/standalone/chunk-SHIOUDOT.js +1 -0
  137. package/dist/standalone/chunk-SIDRSX7Y.js +1 -0
  138. package/dist/standalone/chunk-SVR644RF.js +1 -0
  139. package/dist/standalone/chunk-TAD43CG5.js +1 -0
  140. package/dist/standalone/chunk-TBMYIZIO.js +1 -0
  141. package/dist/standalone/chunk-TICVNLPM.js +1 -0
  142. package/dist/standalone/chunk-TQ36RWOP.js +1 -0
  143. package/dist/standalone/chunk-UGMRUEBU.js +1 -0
  144. package/dist/standalone/chunk-UII66UVF.js +1 -0
  145. package/dist/standalone/chunk-VJPQUBN6.js +8 -0
  146. package/dist/standalone/chunk-VLXV72QE.js +1 -0
  147. package/dist/standalone/chunk-VMJKJWG6.js +1 -0
  148. package/dist/standalone/chunk-VPDPN5RR.js +2 -0
  149. package/dist/standalone/chunk-VSEGZA3J.js +1 -0
  150. package/dist/standalone/chunk-VXBZQIGY.js +4 -0
  151. package/dist/standalone/chunk-W7PCVQTE.js +1 -0
  152. package/dist/standalone/chunk-XLILSHPE.js +1 -0
  153. package/dist/standalone/chunk-XURNGQSS.js +1 -0
  154. package/dist/standalone/chunk-YJGANMU7.js +18 -0
  155. package/dist/standalone/chunk-YQQJ4N6U.js +1 -0
  156. package/dist/standalone/chunk-ZH7UES4T.js +2 -0
  157. package/dist/standalone/chunk-ZPUO7FNI.js +1 -0
  158. package/dist/standalone/chunk-ZQCVDXDL.js +1 -0
  159. package/dist/standalone/studio.js +104 -268
  160. package/package.json +1 -1
  161. package/dist/packem_shared/MetricsPanel-CRa4ITlq.js +0 -19
  162. package/dist/packem_shared/SqlEditorPanel-DI4obotI.js +0 -13
  163. package/dist/packem_shared/Studio-B_L5Q2-X.js +0 -33
  164. package/dist/packem_shared/TableEditor-1T-5KYtr.js +0 -11
  165. package/dist/packem_shared/studio-Dm6H5DHS.js +0 -13388
@@ -1,17 +1,16 @@
1
1
  import { c } from 'react/compiler-runtime';
2
2
  import { useNavigate } from '@tanstack/react-router';
3
- import { B as Bar, E as EvilBarChart } from './bar-chart-CzJAgqkp.js';
3
+ import { useState, useEffect, Suspense, lazy } from 'react';
4
4
  import { B as Badge } from './badge-B2PKA1-5.js';
5
5
  import { a as CardContent, C as Card } from './card-DURq3ElK.js';
6
6
  import { E as EmptyState } from './empty-state-DY_oe0k6.js';
7
- import { u as useAdminQuery } from './use-admin-query-CFl5GUg_.js';
7
+ import { u as useAdminQuery } from './use-admin-query-BViPA3US.js';
8
8
  import { useT } from './DEFAULT_LOCALE-CiX4W7Kr.js';
9
9
  import { ADMIN_FUNCTIONS } from './ADMIN_FUNCTIONS-CdaxLGkE.js';
10
- import { f as fireAndForget, c as callOptions, a as adminRef, h as formatBytes } from './internal-CvMZCVd6.js';
10
+ import { f as fireAndForget, c as callOptions, a as adminRef, h as formatBytes } from './internal-FcNZ3beb.js';
11
11
  import { c as cn } from './utils-B05Dmz_H.js';
12
12
  import { deriveInsights } from './DEFAULT_INSIGHT_THRESHOLDS-DjF0h-gA.js';
13
13
  import { useLunora } from '@lunora/react';
14
- import { useState, useEffect } from 'react';
15
14
  import { jsxDEV } from 'react/jsx-dev-runtime';
16
15
 
17
16
  const STUDIO_FEATURES = adminRef(ADMIN_FUNCTIONS.studioFeatures);
@@ -321,7 +320,7 @@ const BindingsOverview = () => {
321
320
  }
322
321
  let t5;
323
322
  if ($[12] !== groups) {
324
- t5 = groups.map(_temp4$1);
323
+ t5 = groups.map(_temp4);
325
324
  $[12] = groups;
326
325
  $[13] = t5;
327
326
  } else {
@@ -365,12 +364,17 @@ function _temp2$1(ns) {
365
364
  function _temp3$1(index) {
366
365
  return index.name;
367
366
  }
368
- function _temp4$1(group) {
367
+ function _temp4(group) {
369
368
  return /* @__PURE__ */ jsxDEV(BindingCard, {
370
369
  group
371
370
  }, group.tab, false);
372
371
  }
373
372
 
373
+ const Sparkline = /* @__PURE__ */ lazy(() => import('../packem_chunks/sparkline.js').then((m) => {
374
+ return {
375
+ default: m.Sparkline
376
+ };
377
+ }));
374
378
  const formatMs = (ms) => {
375
379
  if (ms < 1e3) {
376
380
  return `${String(Math.round(ms))}ms`;
@@ -390,73 +394,6 @@ const relativeTime = (ts, now) => {
390
394
  const hours = Math.round(minutes / 60);
391
395
  return hours < 24 ? `${String(hours)}h ago` : `${String(Math.round(hours / 24))}d ago`;
392
396
  };
393
- const SPARKLINE_CONFIG = {
394
- value: {
395
- colors: {
396
- dark: ["var(--foreground)"],
397
- light: ["var(--foreground)"]
398
- },
399
- label: ""
400
- }
401
- };
402
- const Sparkline = (t0) => {
403
- const $ = c(6);
404
- const {
405
- data
406
- } = t0;
407
- let t1;
408
- let t2;
409
- if ($[0] !== data) {
410
- t2 = /* @__PURE__ */ Symbol.for("react.early_return_sentinel");
411
- bb0: {
412
- const bars = data.slice(-16);
413
- if (bars.length < 3) {
414
- t2 = null;
415
- break bb0;
416
- }
417
- t1 = bars.map(_temp);
418
- }
419
- $[0] = data;
420
- $[1] = t1;
421
- $[2] = t2;
422
- } else {
423
- t1 = $[1];
424
- t2 = $[2];
425
- }
426
- if (t2 !== /* @__PURE__ */ Symbol.for("react.early_return_sentinel")) {
427
- return t2;
428
- }
429
- const rows = t1;
430
- let t3;
431
- if ($[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
432
- t3 = /* @__PURE__ */ jsxDEV(Bar, {
433
- dataKey: "value"
434
- }, void 0, false);
435
- $[3] = t3;
436
- } else {
437
- t3 = $[3];
438
- }
439
- let t4;
440
- if ($[4] !== rows) {
441
- t4 = /* @__PURE__ */ jsxDEV("div", {
442
- "aria-hidden": "true",
443
- className: "h-8 w-28",
444
- children: /* @__PURE__ */ jsxDEV(EvilBarChart, {
445
- animationType: "none",
446
- barCategoryGap: 1,
447
- className: "h-8 w-full",
448
- config: SPARKLINE_CONFIG,
449
- data: rows,
450
- children: t3
451
- }, void 0, false)
452
- }, void 0, false);
453
- $[4] = rows;
454
- $[5] = t4;
455
- } else {
456
- t4 = $[5];
457
- }
458
- return t4;
459
- };
460
397
  const bucketSeries = (history, field) => {
461
398
  if (history === void 0 || history.length === 0) {
462
399
  return [];
@@ -541,8 +478,14 @@ const StatCard = (t0) => {
541
478
  }
542
479
  let t5;
543
480
  if ($[9] !== trend) {
544
- t5 = trend !== void 0 && /* @__PURE__ */ jsxDEV(Sparkline, {
545
- data: trend
481
+ t5 = trend !== void 0 && /* @__PURE__ */ jsxDEV(Suspense, {
482
+ fallback: /* @__PURE__ */ jsxDEV("div", {
483
+ "aria-hidden": "true",
484
+ className: "h-8 w-28"
485
+ }, void 0, false),
486
+ children: /* @__PURE__ */ jsxDEV(Sparkline, {
487
+ data: trend
488
+ }, void 0, false)
546
489
  }, void 0, false);
547
490
  $[9] = trend;
548
491
  $[10] = t5;
@@ -780,7 +723,7 @@ const TopFunctionsCard = (t0) => {
780
723
  const t = useT();
781
724
  let t1;
782
725
  if ($[0] !== functions || $[1] !== t) {
783
- const top = [...functions].toSorted(_temp2).slice(0, 5);
726
+ const top = [...functions].toSorted(_temp).slice(0, 5);
784
727
  let t2;
785
728
  if ($[3] !== t) {
786
729
  t2 = t("Top functions");
@@ -825,7 +768,7 @@ const TopFunctionsCard = (t0) => {
825
768
  className: "w-8 text-end",
826
769
  children: t("Err")
827
770
  }, void 0, false)]
828
- }, void 0, true), top.map(_temp3)]
771
+ }, void 0, true), top.map(_temp2)]
829
772
  }, void 0, true)]
830
773
  }, void 0, true);
831
774
  $[0] = functions;
@@ -1190,7 +1133,7 @@ const HomePanel = (t0) => {
1190
1133
  const requestSeries = bucketSeries(metrics?.history, "calls");
1191
1134
  const errorSeries = bucketSeries(metrics?.history, "errors");
1192
1135
  const avgLatency = averageLatencyMs(functions);
1193
- const maxLatency = Math.max(0, ...functions.map(_temp4));
1136
+ const maxLatency = Math.max(0, ...functions.map(_temp3));
1194
1137
  const cache = metrics?.cache;
1195
1138
  let t232;
1196
1139
  if ($[46] !== cache) {
@@ -1666,16 +1609,10 @@ const HomePanel = (t0) => {
1666
1609
  }
1667
1610
  return t47;
1668
1611
  };
1669
- function _temp(value, index) {
1670
- return {
1671
- index,
1672
- value
1673
- };
1674
- }
1675
- function _temp2(a, b) {
1612
+ function _temp(a, b) {
1676
1613
  return b.calls - a.calls;
1677
1614
  }
1678
- function _temp3(function_) {
1615
+ function _temp2(function_) {
1679
1616
  return /* @__PURE__ */ jsxDEV("div", {
1680
1617
  className: "grid grid-cols-[1fr_auto_auto_auto] items-center gap-4 px-4 py-2 text-[13px]",
1681
1618
  children: [/* @__PURE__ */ jsxDEV("span", {
@@ -1693,7 +1630,7 @@ function _temp3(function_) {
1693
1630
  }, void 0, false)]
1694
1631
  }, function_.path, true);
1695
1632
  }
1696
- function _temp4(function_) {
1633
+ function _temp3(function_) {
1697
1634
  return function_.maxDurationMs;
1698
1635
  }
1699
1636
 
@@ -65,4 +65,4 @@ const formatTimestamp = (value, fallback = "") => {
65
65
  return Number.isNaN(date.getTime()) ? String(value) : date.toLocaleString();
66
66
  };
67
67
 
68
- export { adminRef as a, formatTimestamp as b, callOptions as c, copyToClipboard as d, errorMessage as e, fireAndForget as f, formatCell as g, formatBytes as h };
68
+ export { adminRef as a, copyToClipboard as b, callOptions as c, formatCell as d, errorMessage as e, fireAndForget as f, formatTimestamp as g, formatBytes as h };
@@ -0,0 +1,100 @@
1
+ import { c } from 'react/compiler-runtime';
2
+ import { c as cn } from './utils-B05Dmz_H.js';
3
+ import { jsxDEV } from 'react/jsx-dev-runtime';
4
+
5
+ const OVERLAY_BY_VARIANT = {
6
+ dialog: "fixed inset-0 z-[1000] flex justify-center bg-black/20 pt-[10vh]",
7
+ drawer: "fixed inset-0 z-[1000] flex justify-end bg-black/20"
8
+ };
9
+ const PANEL_BY_VARIANT = {
10
+ dialog: "flex h-fit w-[min(28rem,92vw)] flex-col gap-3 rounded-lg border border-border bg-background p-4 shadow-xl",
11
+ drawer: "flex h-full w-[min(34rem,100vw)] flex-col gap-4 overflow-auto border-l border-border bg-background p-4 shadow-xl"
12
+ };
13
+ const ModalShell = (t0) => {
14
+ const $ = c(18);
15
+ const {
16
+ className,
17
+ children,
18
+ label,
19
+ onClose,
20
+ panelTestId,
21
+ testId,
22
+ variant
23
+ } = t0;
24
+ let t1;
25
+ if ($[0] !== onClose) {
26
+ t1 = (event) => {
27
+ if (event.target === event.currentTarget) {
28
+ onClose();
29
+ }
30
+ };
31
+ $[0] = onClose;
32
+ $[1] = t1;
33
+ } else {
34
+ t1 = $[1];
35
+ }
36
+ const onOverlayClick = t1;
37
+ let t2;
38
+ if ($[2] !== onClose) {
39
+ t2 = (event_0) => {
40
+ if (event_0.key === "Escape") {
41
+ onClose();
42
+ }
43
+ };
44
+ $[2] = onClose;
45
+ $[3] = t2;
46
+ } else {
47
+ t2 = $[3];
48
+ }
49
+ const onOverlayKeyDown = t2;
50
+ const t3 = OVERLAY_BY_VARIANT[variant];
51
+ const t4 = PANEL_BY_VARIANT[variant];
52
+ let t5;
53
+ if ($[4] !== className || $[5] !== t4) {
54
+ t5 = cn(t4, className);
55
+ $[4] = className;
56
+ $[5] = t4;
57
+ $[6] = t5;
58
+ } else {
59
+ t5 = $[6];
60
+ }
61
+ let t6;
62
+ if ($[7] !== children || $[8] !== label || $[9] !== panelTestId || $[10] !== t5) {
63
+ t6 = /* @__PURE__ */ jsxDEV("div", {
64
+ "aria-label": label,
65
+ className: t5,
66
+ "data-testid": panelTestId,
67
+ role: "dialog",
68
+ children
69
+ }, void 0, false);
70
+ $[7] = children;
71
+ $[8] = label;
72
+ $[9] = panelTestId;
73
+ $[10] = t5;
74
+ $[11] = t6;
75
+ } else {
76
+ t6 = $[11];
77
+ }
78
+ let t7;
79
+ if ($[12] !== onOverlayClick || $[13] !== onOverlayKeyDown || $[14] !== t3 || $[15] !== t6 || $[16] !== testId) {
80
+ t7 = /* @__PURE__ */ jsxDEV("div", {
81
+ className: t3,
82
+ "data-testid": testId,
83
+ onClick: onOverlayClick,
84
+ onKeyDown: onOverlayKeyDown,
85
+ role: "presentation",
86
+ children: t6
87
+ }, void 0, false);
88
+ $[12] = onOverlayClick;
89
+ $[13] = onOverlayKeyDown;
90
+ $[14] = t3;
91
+ $[15] = t6;
92
+ $[16] = testId;
93
+ $[17] = t7;
94
+ } else {
95
+ t7 = $[17];
96
+ }
97
+ return t7;
98
+ };
99
+
100
+ export { ModalShell as M };
@@ -1,58 +1,18 @@
1
1
  import { c } from 'react/compiler-runtime';
2
- import { c as cn } from './utils-B05Dmz_H.js';
3
- import { jsxDEV, Fragment } from 'react/jsx-dev-runtime';
4
2
  import { useState, useEffect, createContext, use } from 'react';
5
- import { e as errorMessage, d as copyToClipboard, f as fireAndForget, c as callOptions, a as adminRef } from './internal-CvMZCVd6.js';
3
+ import { e as errorMessage, b as copyToClipboard, f as fireAndForget, c as callOptions, a as adminRef } from './internal-FcNZ3beb.js';
6
4
  import { SentIcon, Copy01Icon, Search01Icon } from '@hugeicons/core-free-icons';
7
5
  import { HugeiconsIcon } from '@hugeicons/react';
8
6
  import { I as Input } from './input-XH4r1Pt1.js';
9
7
  import { useT } from './DEFAULT_LOCALE-CiX4W7Kr.js';
10
8
  import { B as Button } from './button-BhsN2uZH.js';
9
+ import { jsxDEV, Fragment } from 'react/jsx-dev-runtime';
11
10
  import { B as Badge$1 } from './badge-B2PKA1-5.js';
12
11
  import { ShardInput } from './ShardInput-gx_DZXXn.js';
13
12
  import { L as Label } from './label-D8ykjn5J.js';
14
13
  import { T as Textarea } from './textarea-D3gaCU_-.js';
15
14
  import { useLunora } from '@lunora/react';
16
-
17
- function Skeleton(t0) {
18
- const $ = c(8);
19
- let className;
20
- let props;
21
- if ($[0] !== t0) {
22
- ({
23
- className,
24
- ...props
25
- } = t0);
26
- $[0] = t0;
27
- $[1] = className;
28
- $[2] = props;
29
- } else {
30
- className = $[1];
31
- props = $[2];
32
- }
33
- let t1;
34
- if ($[3] !== className) {
35
- t1 = cn("animate-pulse rounded-md bg-muted", className);
36
- $[3] = className;
37
- $[4] = t1;
38
- } else {
39
- t1 = $[4];
40
- }
41
- let t2;
42
- if ($[5] !== props || $[6] !== t1) {
43
- t2 = /* @__PURE__ */ jsxDEV("div", {
44
- "data-slot": "skeleton",
45
- className: t1,
46
- ...props
47
- }, void 0, false);
48
- $[5] = props;
49
- $[6] = t1;
50
- $[7] = t2;
51
- } else {
52
- t2 = $[7];
53
- }
54
- return t2;
55
- }
15
+ import { c as cn } from './utils-B05Dmz_H.js';
56
16
 
57
17
  const useAdminSpec = function(inlineSpec, fetcher, classify) {
58
18
  const $ = c(10);
@@ -2177,4 +2137,4 @@ const ReferenceView = (t0) => {
2177
2137
  return t14;
2178
2138
  };
2179
2139
 
2180
- export { ReferenceView as R, Skeleton as S, useAdminSpec as u };
2140
+ export { ReferenceView as R, useAdminSpec as u };
@@ -0,0 +1,273 @@
1
+ 'use client';
2
+ import { c } from 'react/compiler-runtime';
3
+ import 'react';
4
+ import { Select as Select$1 } from '@base-ui/react/select';
5
+ import { c as cn } from './utils-B05Dmz_H.js';
6
+ import { HugeiconsIcon } from '@hugeicons/react';
7
+ import { UnfoldMoreIcon, Tick02Icon, ArrowUp01Icon, ArrowDown01Icon } from '@hugeicons/core-free-icons';
8
+ import { jsxDEV } from 'react/jsx-dev-runtime';
9
+
10
+ const Select = Select$1.Root;
11
+ function SelectValue(t0) {
12
+ const $ = c(8);
13
+ let className;
14
+ let props;
15
+ if ($[0] !== t0) {
16
+ ({
17
+ className,
18
+ ...props
19
+ } = t0);
20
+ $[0] = t0;
21
+ $[1] = className;
22
+ $[2] = props;
23
+ } else {
24
+ className = $[1];
25
+ props = $[2];
26
+ }
27
+ let t1;
28
+ if ($[3] !== className) {
29
+ t1 = cn("flex flex-1 text-start", className);
30
+ $[3] = className;
31
+ $[4] = t1;
32
+ } else {
33
+ t1 = $[4];
34
+ }
35
+ let t2;
36
+ if ($[5] !== props || $[6] !== t1) {
37
+ t2 = /* @__PURE__ */ jsxDEV(Select$1.Value, {
38
+ "data-slot": "select-value",
39
+ className: t1,
40
+ ...props
41
+ }, void 0, false);
42
+ $[5] = props;
43
+ $[6] = t1;
44
+ $[7] = t2;
45
+ } else {
46
+ t2 = $[7];
47
+ }
48
+ return t2;
49
+ }
50
+ function SelectTrigger({
51
+ className,
52
+ size = "default",
53
+ children,
54
+ ...props
55
+ }) {
56
+ return /* @__PURE__ */ jsxDEV(Select$1.Trigger, {
57
+ "data-slot": "select-trigger",
58
+ "data-size": size,
59
+ className: cn("flex w-fit items-center justify-between gap-1.5 rounded-md border border-input bg-transparent py-2 pe-2 ps-2.5 text-xs whitespace-nowrap transition-colors outline-none select-none 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 data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-md *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 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", className),
60
+ ...props,
61
+ children: [children, /* @__PURE__ */ jsxDEV(Select$1.Icon, {
62
+ render: /* @__PURE__ */ jsxDEV(HugeiconsIcon, {
63
+ icon: UnfoldMoreIcon,
64
+ strokeWidth: 2,
65
+ className: "pointer-events-none size-4 text-muted-foreground"
66
+ }, void 0, false)
67
+ }, void 0, false)]
68
+ }, void 0, true);
69
+ }
70
+ function SelectContent({
71
+ className,
72
+ children,
73
+ side = "bottom",
74
+ sideOffset = 4,
75
+ align = "center",
76
+ alignOffset = 0,
77
+ alignItemWithTrigger = true,
78
+ ...props
79
+ }) {
80
+ return /* @__PURE__ */ jsxDEV(Select$1.Portal, {
81
+ children: /* @__PURE__ */ jsxDEV(Select$1.Positioner, {
82
+ side,
83
+ sideOffset,
84
+ align,
85
+ alignOffset,
86
+ alignItemWithTrigger,
87
+ className: "isolate z-50",
88
+ children: /* @__PURE__ */ jsxDEV(Select$1.Popup, {
89
+ "data-slot": "select-content",
90
+ "data-align-trigger": alignItemWithTrigger,
91
+ className: cn("isolate z-50 max-h-(--available-height) w-(--anchor-width) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-md text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-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: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!", className),
92
+ ...props,
93
+ children: [/* @__PURE__ */ jsxDEV(SelectScrollUpButton, {}, void 0, false), /* @__PURE__ */ jsxDEV(Select$1.List, {
94
+ children
95
+ }, void 0, false), /* @__PURE__ */ jsxDEV(SelectScrollDownButton, {}, void 0, false)]
96
+ }, void 0, true)
97
+ }, void 0, false)
98
+ }, void 0, false);
99
+ }
100
+ function SelectItem(t0) {
101
+ const $ = c(13);
102
+ let children;
103
+ let className;
104
+ let props;
105
+ if ($[0] !== t0) {
106
+ ({
107
+ className,
108
+ children,
109
+ ...props
110
+ } = t0);
111
+ $[0] = t0;
112
+ $[1] = children;
113
+ $[2] = className;
114
+ $[3] = props;
115
+ } else {
116
+ children = $[1];
117
+ className = $[2];
118
+ props = $[3];
119
+ }
120
+ let t1;
121
+ if ($[4] !== className) {
122
+ t1 = cn("relative flex w-full 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 not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2", className);
123
+ $[4] = className;
124
+ $[5] = t1;
125
+ } else {
126
+ t1 = $[5];
127
+ }
128
+ let t2;
129
+ if ($[6] !== children) {
130
+ t2 = /* @__PURE__ */ jsxDEV(Select$1.ItemText, {
131
+ className: "flex flex-1 shrink-0 gap-2 whitespace-nowrap",
132
+ children
133
+ }, void 0, false);
134
+ $[6] = children;
135
+ $[7] = t2;
136
+ } else {
137
+ t2 = $[7];
138
+ }
139
+ let t3;
140
+ if ($[8] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
141
+ t3 = /* @__PURE__ */ jsxDEV(Select$1.ItemIndicator, {
142
+ render: /* @__PURE__ */ jsxDEV("span", {
143
+ className: "pointer-events-none absolute end-2 flex size-4 items-center justify-center"
144
+ }, void 0, false),
145
+ children: /* @__PURE__ */ jsxDEV(HugeiconsIcon, {
146
+ icon: Tick02Icon,
147
+ strokeWidth: 2,
148
+ className: "pointer-events-none"
149
+ }, void 0, false)
150
+ }, void 0, false);
151
+ $[8] = t3;
152
+ } else {
153
+ t3 = $[8];
154
+ }
155
+ let t4;
156
+ if ($[9] !== props || $[10] !== t1 || $[11] !== t2) {
157
+ t4 = /* @__PURE__ */ jsxDEV(Select$1.Item, {
158
+ "data-slot": "select-item",
159
+ className: t1,
160
+ ...props,
161
+ children: [t2, t3]
162
+ }, void 0, true);
163
+ $[9] = props;
164
+ $[10] = t1;
165
+ $[11] = t2;
166
+ $[12] = t4;
167
+ } else {
168
+ t4 = $[12];
169
+ }
170
+ return t4;
171
+ }
172
+ function SelectScrollUpButton(t0) {
173
+ const $ = c(9);
174
+ let className;
175
+ let props;
176
+ if ($[0] !== t0) {
177
+ ({
178
+ className,
179
+ ...props
180
+ } = t0);
181
+ $[0] = t0;
182
+ $[1] = className;
183
+ $[2] = props;
184
+ } else {
185
+ className = $[1];
186
+ props = $[2];
187
+ }
188
+ let t1;
189
+ if ($[3] !== className) {
190
+ t1 = cn("top-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", className);
191
+ $[3] = className;
192
+ $[4] = t1;
193
+ } else {
194
+ t1 = $[4];
195
+ }
196
+ let t2;
197
+ if ($[5] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
198
+ t2 = /* @__PURE__ */ jsxDEV(HugeiconsIcon, {
199
+ icon: ArrowUp01Icon,
200
+ strokeWidth: 2
201
+ }, void 0, false);
202
+ $[5] = t2;
203
+ } else {
204
+ t2 = $[5];
205
+ }
206
+ let t3;
207
+ if ($[6] !== props || $[7] !== t1) {
208
+ t3 = /* @__PURE__ */ jsxDEV(Select$1.ScrollUpArrow, {
209
+ "data-slot": "select-scroll-up-button",
210
+ className: t1,
211
+ ...props,
212
+ children: t2
213
+ }, void 0, false);
214
+ $[6] = props;
215
+ $[7] = t1;
216
+ $[8] = t3;
217
+ } else {
218
+ t3 = $[8];
219
+ }
220
+ return t3;
221
+ }
222
+ function SelectScrollDownButton(t0) {
223
+ const $ = c(9);
224
+ let className;
225
+ let props;
226
+ if ($[0] !== t0) {
227
+ ({
228
+ className,
229
+ ...props
230
+ } = t0);
231
+ $[0] = t0;
232
+ $[1] = className;
233
+ $[2] = props;
234
+ } else {
235
+ className = $[1];
236
+ props = $[2];
237
+ }
238
+ let t1;
239
+ if ($[3] !== className) {
240
+ t1 = cn("bottom-0 z-10 flex w-full cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4", className);
241
+ $[3] = className;
242
+ $[4] = t1;
243
+ } else {
244
+ t1 = $[4];
245
+ }
246
+ let t2;
247
+ if ($[5] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
248
+ t2 = /* @__PURE__ */ jsxDEV(HugeiconsIcon, {
249
+ icon: ArrowDown01Icon,
250
+ strokeWidth: 2
251
+ }, void 0, false);
252
+ $[5] = t2;
253
+ } else {
254
+ t2 = $[5];
255
+ }
256
+ let t3;
257
+ if ($[6] !== props || $[7] !== t1) {
258
+ t3 = /* @__PURE__ */ jsxDEV(Select$1.ScrollDownArrow, {
259
+ "data-slot": "select-scroll-down-button",
260
+ className: t1,
261
+ ...props,
262
+ children: t2
263
+ }, void 0, false);
264
+ $[6] = props;
265
+ $[7] = t1;
266
+ $[8] = t3;
267
+ } else {
268
+ t3 = $[8];
269
+ }
270
+ return t3;
271
+ }
272
+
273
+ export { SelectValue as S, SelectTrigger as a, SelectItem as b, SelectContent as c, Select as d };
@@ -0,0 +1,45 @@
1
+ import { c } from 'react/compiler-runtime';
2
+ import { c as cn } from './utils-B05Dmz_H.js';
3
+ import { jsxDEV } from 'react/jsx-dev-runtime';
4
+
5
+ function Skeleton(t0) {
6
+ const $ = c(8);
7
+ let className;
8
+ let props;
9
+ if ($[0] !== t0) {
10
+ ({
11
+ className,
12
+ ...props
13
+ } = t0);
14
+ $[0] = t0;
15
+ $[1] = className;
16
+ $[2] = props;
17
+ } else {
18
+ className = $[1];
19
+ props = $[2];
20
+ }
21
+ let t1;
22
+ if ($[3] !== className) {
23
+ t1 = cn("animate-pulse rounded-md bg-muted", className);
24
+ $[3] = className;
25
+ $[4] = t1;
26
+ } else {
27
+ t1 = $[4];
28
+ }
29
+ let t2;
30
+ if ($[5] !== props || $[6] !== t1) {
31
+ t2 = /* @__PURE__ */ jsxDEV("div", {
32
+ "data-slot": "skeleton",
33
+ className: t1,
34
+ ...props
35
+ }, void 0, false);
36
+ $[5] = props;
37
+ $[6] = t1;
38
+ $[7] = t2;
39
+ } else {
40
+ t2 = $[7];
41
+ }
42
+ return t2;
43
+ }
44
+
45
+ export { Skeleton as S };
@@ -1,5 +1,5 @@
1
1
  import { c } from 'react/compiler-runtime';
2
- import { B as Bar, E as EvilBarChart } from './bar-chart-CzJAgqkp.js';
2
+ import { B as Bar, E as EvilBarChart } from './bar-chart-Bb__F5-u.js';
3
3
  import { c as cn } from './utils-B05Dmz_H.js';
4
4
  import { jsxDEV } from 'react/jsx-dev-runtime';
5
5