@burdenoff/microfe-bigconsole 2026.1008.10 → 2026.1008.12

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 (131) hide show
  1. package/dist/bigconsole/BigConsoleRoutes.d.ts.map +1 -1
  2. package/dist/bigconsole/BigConsoleRoutes.js +136 -127
  3. package/dist/bigconsole/BigConsoleRoutes.js.map +1 -1
  4. package/dist/bigconsole/assistant/assistantProduct.d.ts.map +1 -1
  5. package/dist/bigconsole/assistant/assistantProduct.js +3 -1
  6. package/dist/bigconsole/assistant/assistantProduct.js.map +1 -1
  7. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +31 -31
  8. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +44 -44
  9. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +1 -1
  10. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +36 -36
  11. package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +1 -1
  12. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +59 -59
  13. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +15 -15
  14. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +30 -30
  15. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +41 -41
  16. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +34 -34
  17. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +34 -34
  18. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +110 -110
  19. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +1 -1
  20. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +21 -21
  21. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +46 -46
  22. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +91 -91
  23. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js.map +1 -1
  24. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +101 -101
  25. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js.map +1 -1
  26. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js +31 -31
  27. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js +15 -15
  28. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js +1 -1
  29. package/dist/bigconsole/components/dashboard/WidgetPalette.js +46 -46
  30. package/dist/bigconsole/components/datasink/AlertExecutionHistory.js +37 -37
  31. package/dist/bigconsole/components/datasink/AlertRuleEditor.js +66 -66
  32. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +35 -35
  33. package/dist/bigconsole/components/datasink/DataSinkCard.js +29 -29
  34. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +18 -18
  35. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +20 -20
  36. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +47 -47
  37. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +91 -91
  38. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +35 -35
  39. package/dist/bigconsole/components/parser/DataSinkSelector.js +40 -40
  40. package/dist/bigconsole/components/parser/ImportParserDialog.js +120 -120
  41. package/dist/bigconsole/components/parser/ImportParserDialog.js.map +1 -1
  42. package/dist/bigconsole/components/parser/ParserSelector.js +51 -51
  43. package/dist/bigconsole/components/pipeline/PipelineScopePicker.js +10 -10
  44. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +27 -27
  45. package/dist/bigconsole/components/preview/AiPreviewPanel.js +30 -30
  46. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +4 -4
  47. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +93 -93
  48. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +1 -1
  49. package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts.map +1 -1
  50. package/dist/bigconsole/components/widgets/PropertiesPanel.js +280 -273
  51. package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +1 -1
  52. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +4 -4
  53. package/dist/bigconsole/components/widgets/chart/ChartConfig.js +48 -48
  54. package/dist/bigconsole/components/widgets/comments/WidgetComments.js +46 -46
  55. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +61 -61
  56. package/dist/bigconsole/components/widgets/form/FormWidget.js +36 -36
  57. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +42 -42
  58. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +25 -25
  59. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +4 -4
  60. package/dist/bigconsole/components/widgets/list/ListConfig.js +30 -30
  61. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +38 -38
  62. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +9 -9
  63. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +9 -9
  64. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +49 -49
  65. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +39 -39
  66. package/dist/bigconsole/components/widgets/table/TableConfig.js +73 -73
  67. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +64 -64
  68. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js +15 -15
  69. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js +15 -15
  70. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +9 -9
  71. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +67 -67
  72. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +1 -1
  73. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts +15 -0
  74. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts.map +1 -0
  75. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js +34 -0
  76. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js.map +1 -0
  77. package/dist/bigconsole/hooks/useDrilldown.js +3 -3
  78. package/dist/bigconsole/hooks/useGlobalFilters.js +3 -3
  79. package/dist/bigconsole/pages/AdminPage.js +130 -130
  80. package/dist/bigconsole/pages/DashboardBuilderPage.d.ts.map +1 -1
  81. package/dist/bigconsole/pages/DashboardBuilderPage.js +72 -60
  82. package/dist/bigconsole/pages/DashboardBuilderPage.js.map +1 -1
  83. package/dist/bigconsole/pages/DashboardViewPage.js +1 -1
  84. package/dist/bigconsole/pages/DataSinkAlertsPage.d.ts.map +1 -1
  85. package/dist/bigconsole/pages/DataSinkAlertsPage.js +30 -23
  86. package/dist/bigconsole/pages/DataSinkAlertsPage.js.map +1 -1
  87. package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts.map +1 -1
  88. package/dist/bigconsole/pages/DataSinkBuilderPage.js +272 -263
  89. package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -1
  90. package/dist/bigconsole/pages/DataSinkViewPage.js +1 -1
  91. package/dist/bigconsole/pages/DataSinksPage.js +1 -1
  92. package/dist/bigconsole/pages/DataSourcesPage.js +5 -5
  93. package/dist/bigconsole/pages/InsightsPage.js +181 -181
  94. package/dist/bigconsole/pages/InsightsPage.js.map +1 -1
  95. package/dist/bigconsole/pages/OverviewPage.js +47 -47
  96. package/dist/bigconsole/pages/OverviewPage.js.map +1 -1
  97. package/dist/bigconsole/pages/ParserBuilderPage.d.ts.map +1 -1
  98. package/dist/bigconsole/pages/ParserBuilderPage.js +227 -211
  99. package/dist/bigconsole/pages/ParserBuilderPage.js.map +1 -1
  100. package/dist/bigconsole/pages/ParserViewPage.js +97 -97
  101. package/dist/bigconsole/pages/PipelineBuilderPage.d.ts.map +1 -1
  102. package/dist/bigconsole/pages/PipelineBuilderPage.js +256 -214
  103. package/dist/bigconsole/pages/PipelineBuilderPage.js.map +1 -1
  104. package/dist/bigconsole/pages/PipelineViewPage.js +146 -146
  105. package/dist/bigconsole/pages/PipelinesPage.js +88 -88
  106. package/dist/bigconsole/pages/PipelinesPage.js.map +1 -1
  107. package/dist/bigconsole/pages/SettingsPage.d.ts.map +1 -1
  108. package/dist/bigconsole/pages/SettingsPage.js +179 -173
  109. package/dist/bigconsole/pages/SettingsPage.js.map +1 -1
  110. package/dist/bigconsole/pages/WidgetDemoPage.js +42 -42
  111. package/dist/bigconsole/pages/WorkflowViewPage.js +1 -1
  112. package/dist/bigconsole/pages/WorkflowsPage.js +141 -141
  113. package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -1
  114. package/dist/bigconsole/providers/BigConsoleQuotaProvider.js +12 -12
  115. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +34 -34
  116. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +79 -79
  117. package/dist/bigconsole/renderers/adapters/CustomRenderer.js +46 -46
  118. package/dist/bigconsole/store/widgetStore.d.ts +12 -0
  119. package/dist/bigconsole/store/widgetStore.d.ts.map +1 -1
  120. package/dist/bigconsole/store/widgetStore.js +3 -1
  121. package/dist/bigconsole/store/widgetStore.js.map +1 -1
  122. package/dist/bigconsole/utils/formDirty.d.ts +83 -0
  123. package/dist/bigconsole/utils/formDirty.d.ts.map +1 -0
  124. package/dist/bigconsole/utils/formDirty.js +23 -0
  125. package/dist/bigconsole/utils/formDirty.js.map +1 -0
  126. package/dist/bigconsole/utils/layoutBaseline.d.ts +131 -0
  127. package/dist/bigconsole/utils/layoutBaseline.d.ts.map +1 -0
  128. package/dist/bigconsole/utils/layoutBaseline.js +98 -0
  129. package/dist/bigconsole/utils/layoutBaseline.js.map +1 -0
  130. package/dist/translations/en.d.ts.map +1 -1
  131. package/package.json +3 -3
@@ -7,15 +7,15 @@ import "../components/common/index.js";
7
7
  import a from "../hooks/useBigConsoleAnalytics.js";
8
8
  import { isNative as ee, nativeImpact as o, nativeNotify as te } from "../../utils/nativeBridge.js";
9
9
  /* empty css */
10
- import { memo as s, useCallback as c, useEffect as l, useState as u } from "react";
11
- import { AlertCircle as d, ArrowRight as f, Ban as ne, CheckCircle as p, Clock as m, Eye as re, History as ie, Lightbulb as ae, Loader2 as h, RefreshCw as oe, Sparkles as g, Trash2 as se, Wand2 as _, X as ce, XCircle as v } from "lucide-react";
12
- import { AuroraBackground as le, GlassCard as ue, GradientText as de, IllustratedEmptyState as fe, PagePurpose as pe } from "@burdenoff/fe-libs/ui";
13
- import { useMutation as y, useQuery as me } from "@apollo/client/react";
14
- import { jsx as b, jsxs as x } from "react/jsx-runtime";
15
- import { gql as S } from "@apollo/client";
16
- import { useI18n as C } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
10
+ import { memo as s, useCallback as c, useEffect as ne, useState as l } from "react";
11
+ import { AlertCircle as u, ArrowRight as d, Ban as re, CheckCircle as f, Clock as p, Eye as ie, History as ae, Lightbulb as oe, Loader2 as m, RefreshCw as se, Sparkles as h, Trash2 as ce, Wand2 as g, X as le, XCircle as _ } from "lucide-react";
12
+ import { AuroraBackground as ue, GlassCard as de, GradientText as fe, IllustratedEmptyState as pe, PagePurpose as me } from "@burdenoff/fe-libs/ui";
13
+ import { useI18n as v } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
14
+ import { useMutation as y, useQuery as b } from "@apollo/client/react";
15
+ import { jsx as x, jsxs as S } from "react/jsx-runtime";
16
+ import { gql as C } from "@apollo/client";
17
17
  //#region src/bigconsole/pages/InsightsPage.tsx
18
- var he = S`
18
+ var he = C`
19
19
  query ListPromptGenerations($status: PromptGenerationStatus, $first: Int) {
20
20
  listPromptGenerations(status: $status, first: $first) {
21
21
  edges {
@@ -55,7 +55,7 @@ var he = S`
55
55
  totalCount
56
56
  }
57
57
  }
58
- `, ge = S`
58
+ `, ge = C`
59
59
  query GetPromptSuggestions($category: String, $limit: Int) {
60
60
  getPromptSuggestions(category: $category, limit: $limit) {
61
61
  id
@@ -66,7 +66,7 @@ var he = S`
66
66
  tags
67
67
  }
68
68
  }
69
- `, _e = S`
69
+ `, _e = C`
70
70
  mutation GenerateDashboardFromPrompt($input: GenerateDashboardFromPromptInput!) {
71
71
  generateDashboardFromPrompt(input: $input) {
72
72
  id
@@ -74,24 +74,24 @@ var he = S`
74
74
  prompt
75
75
  }
76
76
  }
77
- `, ve = S`
77
+ `, ve = C`
78
78
  mutation CreateDashboardFromGeneration($input: CreateDashboardFromGenerationInput!) {
79
79
  createDashboardFromGeneration(input: $input) {
80
80
  id
81
81
  }
82
82
  }
83
- `, ye = S`
83
+ `, ye = C`
84
84
  mutation DeletePromptGeneration($generationId: ID!) {
85
85
  deletePromptGeneration(generationId: $generationId)
86
86
  }
87
- `, be = S`
87
+ `, be = C`
88
88
  mutation CancelPromptGeneration($generationId: ID!) {
89
89
  cancelPromptGeneration(generationId: $generationId) {
90
90
  id
91
91
  status
92
92
  }
93
93
  }
94
- `, xe = S`
94
+ `, xe = C`
95
95
  mutation RegenerateDashboard($input: RegenerateDashboardInput!) {
96
96
  regenerateDashboard(input: $input) {
97
97
  id
@@ -99,7 +99,7 @@ var he = S`
99
99
  prompt
100
100
  }
101
101
  }
102
- `, Se = S`
102
+ `, Se = C`
103
103
  mutation RefineGeneratedDashboard($input: RefineGeneratedDashboardInput!) {
104
104
  refineGeneratedDashboard(input: $input) {
105
105
  id
@@ -266,26 +266,26 @@ var M = {
266
266
  function je(e) {
267
267
  let t = M[j(e)].text;
268
268
  switch (e) {
269
- case "COMPLETED": return /* @__PURE__ */ b(p, {
269
+ case "COMPLETED": return /* @__PURE__ */ x(f, {
270
270
  size: 14,
271
271
  style: { color: t },
272
272
  "aria-hidden": "true"
273
273
  });
274
274
  case "FAILED":
275
- case "CANCELLED": return /* @__PURE__ */ b(v, {
275
+ case "CANCELLED": return /* @__PURE__ */ x(_, {
276
276
  size: 14,
277
277
  style: { color: t },
278
278
  "aria-hidden": "true"
279
279
  });
280
280
  case "PENDING":
281
281
  case "PROCESSING":
282
- case "GENERATING": return /* @__PURE__ */ b(h, {
282
+ case "GENERATING": return /* @__PURE__ */ x(m, {
283
283
  size: 14,
284
284
  className: "animate-spin",
285
285
  style: { color: t },
286
286
  "aria-hidden": "true"
287
287
  });
288
- default: return /* @__PURE__ */ b(m, {
288
+ default: return /* @__PURE__ */ x(p, {
289
289
  size: 14,
290
290
  style: { color: t },
291
291
  "aria-hidden": "true"
@@ -304,8 +304,8 @@ function N(e, t) {
304
304
  }
305
305
  }
306
306
  var Me = ({ status: e }) => {
307
- let { t } = C(), n = M[j(e)];
308
- return /* @__PURE__ */ x("span", {
307
+ let { t } = v(), n = M[j(e)];
308
+ return /* @__PURE__ */ S("span", {
309
309
  "data-status": e,
310
310
  style: {
311
311
  ...A,
@@ -363,23 +363,23 @@ function Re(e) {
363
363
  };
364
364
  }
365
365
  var F = s(function() {
366
- let { t: s } = C(), p = e(), m = a(), [v, S] = u(""), [w, j] = u("MODERN"), [M, je] = u("GRID"), [N, Fe] = u(we), [F, ze] = u(Te), [I, Be] = u(!1), [Ve, L] = u(null), [R, He] = u(() => /* @__PURE__ */ new Set()), [z, B] = u(null), [V, H] = u(null), [U, W] = u(""), G = c((e) => {
366
+ let { t: s } = v(), f = e(), p = a(), [_, C] = l(""), [w, j] = l("MODERN"), [M, je] = l("GRID"), [N, Fe] = l(we), [F, ze] = l(Te), [I, Be] = l(!1), [Ve, L] = l(null), [R, He] = l(() => /* @__PURE__ */ new Set()), [z, B] = l(null), [V, H] = l(null), [U, W] = l(""), G = c((e) => {
367
367
  He((t) => new Set(t).add(e));
368
368
  }, []), K = c((e) => {
369
369
  He((t) => {
370
370
  let n = new Set(t);
371
371
  return n.delete(e), n;
372
372
  });
373
- }, []), { data: Ue, loading: We, error: q, refetch: J, startPolling: Ge, stopPolling: Y } = me(he, {
373
+ }, []), { data: Ue, loading: We, error: q, refetch: J, startPolling: Ge, stopPolling: Y } = b(he, {
374
374
  variables: { first: 20 },
375
375
  fetchPolicy: "cache-and-network"
376
- }), X = Ue?.listPromptGenerations?.edges?.some((e) => Ce.includes(e.node.status)) ?? !1, { data: Ke, error: qe, refetch: Je } = me(ge, { variables: { limit: 6 } }), [Ye] = y(_e), [Xe] = y(ve), [Ze] = y(ye), [Qe] = y(be), [$e] = y(xe), [et] = y(Se), Z = Ue?.listPromptGenerations?.edges?.map((e) => e.node) || [], tt = Ke?.getPromptSuggestions || [];
377
- l(() => (X || I ? Ge(2e3) : Y(), () => Y()), [
376
+ }), X = Ue?.listPromptGenerations?.edges?.some((e) => Ce.includes(e.node.status)) ?? !1, { data: Ke, error: qe, refetch: Je } = b(ge, { variables: { limit: 6 } }), [Ye] = y(_e), [Xe] = y(ve), [Ze] = y(ye), [Qe] = y(be), [$e] = y(xe), [et] = y(Se), Z = Ue?.listPromptGenerations?.edges?.map((e) => e.node) || [], tt = Ke?.getPromptSuggestions || [];
377
+ ne(() => (X || I ? Ge(2e3) : Y(), () => Y()), [
378
378
  X,
379
379
  I,
380
380
  Ge,
381
381
  Y
382
- ]), l(() => {
382
+ ]), ne(() => {
383
383
  if (!z && !V) return;
384
384
  let e = (e) => {
385
385
  e.key === "Escape" && (B(null), H(null));
@@ -387,16 +387,16 @@ var F = s(function() {
387
387
  return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
388
388
  }, [z, V]);
389
389
  let nt = c(async () => {
390
- if (!(!v.trim() || I)) {
391
- if (v.length > 2e3) {
390
+ if (!(!_.trim() || I)) {
391
+ if (_.length > 2e3) {
392
392
  L(s("bigconsole.insights.error.promptTooLong", "Prompt is too long (max 2000 characters)."));
393
393
  return;
394
394
  }
395
395
  L(null), Be(!0);
396
396
  try {
397
- m("bigconsole.ai.generate_clicked", { maxWidgets: F });
397
+ p("bigconsole.ai.generate_clicked", { maxWidgets: F });
398
398
  let e = await Ye({ variables: { input: {
399
- prompt: v.trim(),
399
+ prompt: _.trim(),
400
400
  styleType: w,
401
401
  layoutType: M,
402
402
  gridColumns: N,
@@ -404,10 +404,10 @@ var F = s(function() {
404
404
  } } });
405
405
  if (t(e, "command")) return;
406
406
  let n = e.data?.generateDashboardFromPrompt?.id;
407
- n && m("bigconsole.ai.dashboard_generated", {
407
+ n && p("bigconsole.ai.dashboard_generated", {
408
408
  generationId: n,
409
409
  maxWidgets: F
410
- }), S(""), J();
410
+ }), C(""), J();
411
411
  } catch (e) {
412
412
  if (t(e, "command")) return;
413
413
  L(e instanceof Error ? e.message : s("bigconsole.insights.error.generateFailed", "Failed to generate dashboard"));
@@ -416,8 +416,8 @@ var F = s(function() {
416
416
  }
417
417
  }
418
418
  }, [
419
- m,
420
- v,
419
+ p,
420
+ _,
421
421
  I,
422
422
  Ye,
423
423
  J,
@@ -429,22 +429,22 @@ var F = s(function() {
429
429
  ]), Q = c(async (e) => {
430
430
  L(null);
431
431
  try {
432
- m("bigconsole.ai.create_dashboard_clicked", { generationId: e });
432
+ p("bigconsole.ai.create_dashboard_clicked", { generationId: e });
433
433
  let n = await Xe({ variables: { input: { generationId: e } } });
434
434
  if (t(n, "project")) return;
435
435
  let r = n.data?.createDashboardFromGeneration?.id;
436
- r && (m("bigconsole.ai.dashboard_created", {
436
+ r && (p("bigconsole.ai.dashboard_created", {
437
437
  generationId: e,
438
438
  dashboardId: r
439
- }), p(`/dashboards/${r}`));
439
+ }), f(`/dashboards/${r}`));
440
440
  } catch (e) {
441
441
  if (t(e, "project")) return;
442
442
  L(e instanceof Error ? e.message : s("bigconsole.insights.error.createFailed", "Failed to create dashboard"));
443
443
  }
444
444
  }, [
445
445
  Xe,
446
- m,
447
446
  p,
447
+ f,
448
448
  s
449
449
  ]), rt = c(async (e) => {
450
450
  L(null);
@@ -515,18 +515,18 @@ var F = s(function() {
515
515
  J,
516
516
  s
517
517
  ]), st = c((e) => {
518
- S(e);
518
+ C(e);
519
519
  }, []), $ = z?.generatedSpec;
520
- return /* @__PURE__ */ x("div", {
520
+ return /* @__PURE__ */ S("div", {
521
521
  "data-tour": "bigconsole-ai-insights",
522
522
  className: "min-w-0",
523
523
  style: { backgroundColor: "var(--color-bg-canvas)" },
524
524
  children: [
525
- /* @__PURE__ */ x("header", {
525
+ /* @__PURE__ */ S("header", {
526
526
  className: "relative overflow-hidden border-b border-[var(--color-border-seam)] bg-[image:var(--gradient-gloss-card)]",
527
- children: [/* @__PURE__ */ b(le, { intensity: "subtle" }), /* @__PURE__ */ b("div", {
527
+ children: [/* @__PURE__ */ x(ue, { intensity: "subtle" }), /* @__PURE__ */ x("div", {
528
528
  style: { padding: "var(--space-pagePadding)" },
529
- children: /* @__PURE__ */ x("div", {
529
+ children: /* @__PURE__ */ S("div", {
530
530
  style: {
531
531
  display: "flex",
532
532
  alignItems: "center",
@@ -534,7 +534,7 @@ var F = s(function() {
534
534
  flexWrap: "wrap",
535
535
  minWidth: 0
536
536
  },
537
- children: [/* @__PURE__ */ b("div", {
537
+ children: [/* @__PURE__ */ x("div", {
538
538
  style: {
539
539
  display: "flex",
540
540
  height: "var(--size-controlHeight-lg)",
@@ -545,17 +545,17 @@ var F = s(function() {
545
545
  borderRadius: "var(--radius-card)",
546
546
  backgroundColor: "var(--color-action-primary-bg)"
547
547
  },
548
- children: /* @__PURE__ */ b(g, { style: {
548
+ children: /* @__PURE__ */ x(h, { style: {
549
549
  height: "var(--size-icon-lg)",
550
550
  width: "var(--size-icon-lg)",
551
551
  color: "var(--color-action-primary-text)"
552
552
  } })
553
- }), /* @__PURE__ */ x("div", {
553
+ }), /* @__PURE__ */ S("div", {
554
554
  style: { minWidth: 0 },
555
- children: [/* @__PURE__ */ b("h1", {
555
+ children: [/* @__PURE__ */ x("h1", {
556
556
  className: "m-0 text-2xl font-bold text-text-primary",
557
- children: /* @__PURE__ */ b(de, { children: s("bigconsole.insights.header.title", "AI Insights") })
558
- }), /* @__PURE__ */ b("p", {
557
+ children: /* @__PURE__ */ x(fe, { children: s("bigconsole.insights.header.title", "AI Insights") })
558
+ }), /* @__PURE__ */ x("p", {
559
559
  className: "m-0 text-sm text-text-secondary",
560
560
  children: s("bigconsole.insights.header.subtitle", "Generate dashboards from natural language prompts")
561
561
  })]
@@ -563,21 +563,21 @@ var F = s(function() {
563
563
  })
564
564
  })]
565
565
  }),
566
- /* @__PURE__ */ x("div", {
566
+ /* @__PURE__ */ S("div", {
567
567
  style: { padding: "var(--space-pagePadding)" },
568
- children: [/* @__PURE__ */ b(pe, {
568
+ children: [/* @__PURE__ */ x(me, {
569
569
  className: "mb-[var(--space-sectionGap)]",
570
570
  children: "Describe the dashboard you need in plain English and BigConsole proposes the pages, widgets and layout for it. Review the proposal, refine it in place, then create the real dashboard in one step — a generation is only a proposal until you accept it."
571
- }), /* @__PURE__ */ x(i, { children: [
572
- Ve && /* @__PURE__ */ b(r, {
571
+ }), /* @__PURE__ */ S(i, { children: [
572
+ Ve && /* @__PURE__ */ x(r, {
573
573
  headingLevel: 2,
574
574
  tone: "danger",
575
575
  padding: "compact",
576
576
  title: "That request did not go through",
577
577
  description: Ve,
578
- icon: /* @__PURE__ */ b(d, { className: "h-icon-sm w-icon-sm" }),
578
+ icon: /* @__PURE__ */ x(u, { className: "h-icon-sm w-icon-sm" }),
579
579
  "data-testid": "insights-error",
580
- actions: /* @__PURE__ */ b("button", {
580
+ actions: /* @__PURE__ */ x("button", {
581
581
  type: "button",
582
582
  onClick: () => L(null),
583
583
  "aria-label": s("bigconsole.insights.error.dismiss", "Dismiss error"),
@@ -586,16 +586,16 @@ var F = s(function() {
586
586
  children: "Dismiss"
587
587
  })
588
588
  }),
589
- (q || qe) && /* @__PURE__ */ b("div", {
589
+ (q || qe) && /* @__PURE__ */ x("div", {
590
590
  role: "alert",
591
- children: /* @__PURE__ */ b(r, {
591
+ children: /* @__PURE__ */ x(r, {
592
592
  tone: "danger",
593
593
  padding: "compact",
594
594
  headingLevel: 2,
595
595
  title: s("bigconsole.insights.error.loadFailed", "AI Insights could not be loaded"),
596
596
  description: s("bigconsole.insights.error.loadFailedDescription", "Your saved generations and suggestions may be unavailable. Retry the failed request."),
597
597
  "data-testid": "insights-load-error",
598
- actions: /* @__PURE__ */ x("button", {
598
+ actions: /* @__PURE__ */ S("button", {
599
599
  type: "button",
600
600
  className: "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface",
601
601
  style: T,
@@ -603,7 +603,7 @@ var F = s(function() {
603
603
  q && J().catch(() => void 0), qe && Je().catch(() => void 0);
604
604
  },
605
605
  children: [
606
- /* @__PURE__ */ b(oe, {
606
+ /* @__PURE__ */ x(se, {
607
607
  size: 14,
608
608
  "aria-hidden": "true"
609
609
  }),
@@ -613,22 +613,22 @@ var F = s(function() {
613
613
  })
614
614
  })
615
615
  }),
616
- /* @__PURE__ */ b(r, {
616
+ /* @__PURE__ */ x(r, {
617
617
  id: "insights-prompt",
618
618
  emphasis: "primary",
619
619
  headingLevel: 2,
620
620
  title: "Describe your dashboard",
621
621
  description: "One or two sentences is enough — name the metrics, the breakdowns and who will read it.",
622
- icon: /* @__PURE__ */ b(g, { className: "h-icon-sm w-icon-sm" }),
622
+ icon: /* @__PURE__ */ x(h, { className: "h-icon-sm w-icon-sm" }),
623
623
  "data-testid": "insights-prompt",
624
- children: /* @__PURE__ */ x("div", {
624
+ children: /* @__PURE__ */ S("div", {
625
625
  style: {
626
626
  display: "flex",
627
627
  flexDirection: "column",
628
628
  gap: "var(--space-controlGap)"
629
629
  },
630
630
  children: [
631
- /* @__PURE__ */ b("label", {
631
+ /* @__PURE__ */ x("label", {
632
632
  htmlFor: "prompt-input",
633
633
  style: {
634
634
  display: "block",
@@ -638,10 +638,10 @@ var F = s(function() {
638
638
  },
639
639
  children: s("bigconsole.insights.prompt.label", "Your prompt")
640
640
  }),
641
- /* @__PURE__ */ b("textarea", {
641
+ /* @__PURE__ */ x("textarea", {
642
642
  id: "prompt-input",
643
- value: v,
644
- onChange: (e) => S(e.target.value),
643
+ value: _,
644
+ onChange: (e) => C(e.target.value),
645
645
  placeholder: s("bigconsole.insights.prompt.placeholder", "e.g., Create a sales dashboard showing revenue trends, top products, and regional performance"),
646
646
  rows: 3,
647
647
  maxLength: 2e3,
@@ -661,7 +661,7 @@ var F = s(function() {
661
661
  e.key === "Enter" && (e.metaKey || e.ctrlKey) && (e.preventDefault(), nt());
662
662
  }
663
663
  }),
664
- /* @__PURE__ */ x("div", {
664
+ /* @__PURE__ */ S("div", {
665
665
  role: "group",
666
666
  "aria-label": s("bigconsole.insights.prompt.optionsLabel", "Generation options"),
667
667
  "data-testid": "insights-generation-options",
@@ -671,69 +671,69 @@ var F = s(function() {
671
671
  gap: "var(--space-controlGap)"
672
672
  },
673
673
  children: [
674
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("label", {
674
+ /* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("label", {
675
675
  htmlFor: "prompt-style",
676
676
  style: O,
677
677
  children: s("bigconsole.insights.prompt.style", "Style")
678
- }), /* @__PURE__ */ b("select", {
678
+ }), /* @__PURE__ */ x("select", {
679
679
  id: "prompt-style",
680
680
  value: w,
681
681
  onChange: (e) => j(e.target.value),
682
682
  className: n,
683
683
  style: k,
684
- children: Ee.map((e) => /* @__PURE__ */ b("option", {
684
+ children: Ee.map((e) => /* @__PURE__ */ x("option", {
685
685
  value: e.value,
686
686
  children: e.label
687
687
  }, e.value))
688
688
  })] }),
689
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("label", {
689
+ /* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("label", {
690
690
  htmlFor: "prompt-layout",
691
691
  style: O,
692
692
  children: s("bigconsole.insights.prompt.layout", "Layout")
693
- }), /* @__PURE__ */ b("select", {
693
+ }), /* @__PURE__ */ x("select", {
694
694
  id: "prompt-layout",
695
695
  value: M,
696
696
  onChange: (e) => je(e.target.value),
697
697
  className: n,
698
698
  style: k,
699
- children: De.map((e) => /* @__PURE__ */ b("option", {
699
+ children: De.map((e) => /* @__PURE__ */ x("option", {
700
700
  value: e.value,
701
701
  children: e.label
702
702
  }, e.value))
703
703
  })] }),
704
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("label", {
704
+ /* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("label", {
705
705
  htmlFor: "prompt-columns",
706
706
  style: O,
707
707
  children: s("bigconsole.insights.prompt.columns", "Columns")
708
- }), /* @__PURE__ */ b("select", {
708
+ }), /* @__PURE__ */ x("select", {
709
709
  id: "prompt-columns",
710
710
  value: N,
711
711
  onChange: (e) => Fe(Number(e.target.value)),
712
712
  className: n,
713
713
  style: k,
714
- children: Oe.map((e) => /* @__PURE__ */ b("option", {
714
+ children: Oe.map((e) => /* @__PURE__ */ x("option", {
715
715
  value: e,
716
716
  children: e
717
717
  }, e))
718
718
  })] }),
719
- /* @__PURE__ */ x("div", { children: [/* @__PURE__ */ b("label", {
719
+ /* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("label", {
720
720
  htmlFor: "prompt-max-widgets",
721
721
  style: O,
722
722
  children: s("bigconsole.insights.prompt.maxWidgets", "Max widgets")
723
- }), /* @__PURE__ */ b("select", {
723
+ }), /* @__PURE__ */ x("select", {
724
724
  id: "prompt-max-widgets",
725
725
  value: F,
726
726
  onChange: (e) => ze(Number(e.target.value)),
727
727
  className: n,
728
728
  style: k,
729
- children: ke.map((e) => /* @__PURE__ */ b("option", {
729
+ children: ke.map((e) => /* @__PURE__ */ x("option", {
730
730
  value: e,
731
731
  children: e
732
732
  }, e))
733
733
  })] })
734
734
  ]
735
735
  }),
736
- /* @__PURE__ */ x("div", {
736
+ /* @__PURE__ */ S("div", {
737
737
  style: {
738
738
  display: "flex",
739
739
  alignItems: "center",
@@ -742,7 +742,7 @@ var F = s(function() {
742
742
  borderTop: "1px solid var(--color-border-subtle)",
743
743
  paddingTop: "var(--space-controlGap)"
744
744
  },
745
- children: [/* @__PURE__ */ x("span", {
745
+ children: [/* @__PURE__ */ S("span", {
746
746
  style: {
747
747
  flex: "1 1 12rem",
748
748
  minWidth: 0,
@@ -752,25 +752,25 @@ var F = s(function() {
752
752
  children: [
753
753
  s("bigconsole.insights.prompt.hint", "Press Ctrl+Enter to generate"),
754
754
  " · ",
755
- v.length,
755
+ _.length,
756
756
  "/2000"
757
757
  ]
758
- }), /* @__PURE__ */ x("button", {
758
+ }), /* @__PURE__ */ S("button", {
759
759
  type: "button",
760
760
  onClick: nt,
761
- disabled: !v.trim() || I,
761
+ disabled: !_.trim() || I,
762
762
  className: n,
763
763
  style: {
764
764
  ...E,
765
765
  marginLeft: "auto",
766
- cursor: !v.trim() || I ? "not-allowed" : "pointer",
767
- opacity: !v.trim() || I ? .5 : 1
766
+ cursor: !_.trim() || I ? "not-allowed" : "pointer",
767
+ opacity: !_.trim() || I ? .5 : 1
768
768
  },
769
- children: [I ? /* @__PURE__ */ b(h, {
769
+ children: [I ? /* @__PURE__ */ x(m, {
770
770
  size: 16,
771
771
  className: "animate-spin",
772
772
  "aria-hidden": "true"
773
- }) : /* @__PURE__ */ b(g, {
773
+ }) : /* @__PURE__ */ x(h, {
774
774
  size: 16,
775
775
  "aria-hidden": "true"
776
776
  }), s("bigconsole.insights.prompt.generateButton", "Generate dashboard")]
@@ -779,20 +779,20 @@ var F = s(function() {
779
779
  ]
780
780
  })
781
781
  }),
782
- tt.length > 0 && /* @__PURE__ */ b(r, {
782
+ tt.length > 0 && /* @__PURE__ */ x(r, {
783
783
  emphasis: "muted",
784
784
  headingLevel: 2,
785
785
  title: s("bigconsole.insights.suggestions.heading", "Starting points"),
786
786
  description: "Pick one to drop it into the prompt box above, then edit it before generating.",
787
- icon: /* @__PURE__ */ b(ae, { className: "h-icon-sm w-icon-sm" }),
787
+ icon: /* @__PURE__ */ x(oe, { className: "h-icon-sm w-icon-sm" }),
788
788
  "data-testid": "insights-suggestions",
789
- children: /* @__PURE__ */ b("div", {
789
+ children: /* @__PURE__ */ x("div", {
790
790
  style: {
791
791
  display: "grid",
792
792
  gridTemplateColumns: "repeat(auto-fill, minmax(min(260px, 100%), 1fr))",
793
793
  gap: "var(--space-controlGap)"
794
794
  },
795
- children: tt.map((e) => /* @__PURE__ */ x("button", {
795
+ children: tt.map((e) => /* @__PURE__ */ S("button", {
796
796
  type: "button",
797
797
  onClick: () => st(e.prompt),
798
798
  className: "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface",
@@ -807,7 +807,7 @@ var F = s(function() {
807
807
  cursor: "pointer"
808
808
  },
809
809
  children: [
810
- /* @__PURE__ */ b("span", {
810
+ /* @__PURE__ */ x("span", {
811
811
  style: {
812
812
  display: "block",
813
813
  fontWeight: "var(--font-weight-medium)",
@@ -817,7 +817,7 @@ var F = s(function() {
817
817
  },
818
818
  children: e.title
819
819
  }),
820
- /* @__PURE__ */ b("span", {
820
+ /* @__PURE__ */ x("span", {
821
821
  style: {
822
822
  display: "block",
823
823
  fontSize: "var(--font-size-body-sm)",
@@ -826,14 +826,14 @@ var F = s(function() {
826
826
  },
827
827
  children: e.exampleDescription || e.prompt
828
828
  }),
829
- e.tags.length > 0 && /* @__PURE__ */ b("span", {
829
+ e.tags.length > 0 && /* @__PURE__ */ x("span", {
830
830
  style: {
831
831
  display: "flex",
832
832
  gap: "var(--space-iconGap)",
833
833
  marginTop: "var(--space-controlGap)",
834
834
  flexWrap: "wrap"
835
835
  },
836
- children: e.tags.slice(0, 3).map((e) => /* @__PURE__ */ b("span", {
836
+ children: e.tags.slice(0, 3).map((e) => /* @__PURE__ */ x("span", {
837
837
  style: A,
838
838
  children: e
839
839
  }, e))
@@ -842,14 +842,14 @@ var F = s(function() {
842
842
  }, e.id))
843
843
  })
844
844
  }),
845
- /* @__PURE__ */ b(r, {
845
+ /* @__PURE__ */ x(r, {
846
846
  emphasis: "bare",
847
847
  padding: "none",
848
848
  headingLevel: 2,
849
849
  title: s("bigconsole.insights.generations.heading", "Recent generations"),
850
850
  description: "Newest first. A generation stays a proposal until you create the dashboard from it.",
851
- icon: /* @__PURE__ */ b(ie, { className: "h-icon-sm w-icon-sm" }),
852
- meta: Z.length > 0 ? /* @__PURE__ */ x("span", {
851
+ icon: /* @__PURE__ */ x(ae, { className: "h-icon-sm w-icon-sm" }),
852
+ meta: Z.length > 0 ? /* @__PURE__ */ S("span", {
853
853
  style: A,
854
854
  children: [
855
855
  Z.length,
@@ -858,13 +858,13 @@ var F = s(function() {
858
858
  ]
859
859
  }) : void 0,
860
860
  "data-testid": "insights-generations",
861
- children: We && Z.length === 0 ? /* @__PURE__ */ b(r, {
861
+ children: We && Z.length === 0 ? /* @__PURE__ */ x(r, {
862
862
  emphasis: "muted",
863
863
  headingLevel: 3,
864
864
  "aria-label": "Loading generations",
865
865
  className: "min-h-[10rem]",
866
866
  "data-testid": "insights-generations-loading",
867
- children: /* @__PURE__ */ x("div", {
867
+ children: /* @__PURE__ */ S("div", {
868
868
  style: {
869
869
  display: "flex",
870
870
  minHeight: "8rem",
@@ -874,54 +874,54 @@ var F = s(function() {
874
874
  gap: "var(--space-controlGap)",
875
875
  color: "var(--color-text-muted)"
876
876
  },
877
- children: [/* @__PURE__ */ b(h, {
877
+ children: [/* @__PURE__ */ x(m, {
878
878
  size: 24,
879
879
  className: "animate-spin",
880
880
  "aria-hidden": "true"
881
- }), /* @__PURE__ */ b("p", {
881
+ }), /* @__PURE__ */ x("p", {
882
882
  style: { fontSize: "var(--font-size-body-sm)" },
883
883
  children: s("bigconsole.insights.generations.loading", "Loading generations…")
884
884
  })]
885
885
  })
886
- }) : Z.length === 0 && !I && !q ? /* @__PURE__ */ b(ue, {
886
+ }) : Z.length === 0 && !I && !q ? /* @__PURE__ */ x(de, {
887
887
  treatment: "insight",
888
888
  className: "border-[var(--color-border-seam)]",
889
- children: /* @__PURE__ */ b(fe, {
889
+ children: /* @__PURE__ */ x(pe, {
890
890
  illustration: "onboarding",
891
891
  title: s("bigconsole.insights.generations.emptyTitle", "No generations yet"),
892
892
  description: s("bigconsole.insights.generations.emptyDescription", "Describe a dashboard above to get started")
893
893
  })
894
- }) : /* @__PURE__ */ x("div", {
894
+ }) : /* @__PURE__ */ S("div", {
895
895
  className: "flex flex-col gap-list-gap",
896
- children: [I && !X && /* @__PURE__ */ b(r, {
896
+ children: [I && !X && /* @__PURE__ */ x(r, {
897
897
  emphasis: "muted",
898
898
  tone: "info",
899
899
  padding: "compact",
900
900
  headingLevel: 3,
901
901
  title: "Sending your prompt…",
902
902
  description: "The new generation appears here as soon as the backend accepts it.",
903
- icon: /* @__PURE__ */ b(h, { className: "h-icon-sm w-icon-sm animate-spin" }),
903
+ icon: /* @__PURE__ */ x(m, { className: "h-icon-sm w-icon-sm animate-spin" }),
904
904
  "data-testid": "insights-generation-pending"
905
905
  }), Z.map((e) => {
906
906
  let t = e.generatedSpec, i = R.has(e.id), a = Ce.includes(e.status);
907
- return /* @__PURE__ */ x(r, {
907
+ return /* @__PURE__ */ S(r, {
908
908
  emphasis: "standard",
909
909
  padding: "compact",
910
910
  headingLevel: 3,
911
911
  title: t?.name || (a ? s("bigconsole.insights.generations.generating", "Generating…") : "Untitled generation"),
912
- meta: /* @__PURE__ */ b(Me, { status: e.status }),
912
+ meta: /* @__PURE__ */ x(Me, { status: e.status }),
913
913
  description: e.prompt.length > 160 ? `${e.prompt.slice(0, 160)}…` : e.prompt,
914
914
  "data-testid": "insights-generation-card",
915
915
  bodyClassName: "flex flex-col gap-control-gap",
916
916
  children: [
917
- t && /* @__PURE__ */ x("div", {
917
+ t && /* @__PURE__ */ S("div", {
918
918
  style: {
919
919
  display: "flex",
920
920
  flexWrap: "wrap",
921
921
  gap: "var(--space-iconGap)"
922
922
  },
923
923
  children: [
924
- /* @__PURE__ */ x("span", {
924
+ /* @__PURE__ */ S("span", {
925
925
  style: A,
926
926
  children: [
927
927
  P(t),
@@ -929,7 +929,7 @@ var F = s(function() {
929
929
  P(t) === 1 ? "" : "s"
930
930
  ]
931
931
  }),
932
- /* @__PURE__ */ x("span", {
932
+ /* @__PURE__ */ S("span", {
933
933
  style: A,
934
934
  children: [
935
935
  t.pages.length,
@@ -937,21 +937,21 @@ var F = s(function() {
937
937
  t.pages.length === 1 ? "" : "s"
938
938
  ]
939
939
  }),
940
- /* @__PURE__ */ x("span", {
940
+ /* @__PURE__ */ S("span", {
941
941
  style: Ne(t.overallConfidence),
942
942
  children: [Math.round(t.overallConfidence * 100), "% confidence"]
943
943
  })
944
944
  ]
945
945
  }),
946
- e.errorMessage && /* @__PURE__ */ b(r, {
946
+ e.errorMessage && /* @__PURE__ */ x(r, {
947
947
  headingLevel: 4,
948
948
  tone: "danger",
949
949
  padding: "compact",
950
950
  title: "Generation failed",
951
951
  description: e.errorMessage,
952
- icon: /* @__PURE__ */ b(d, { className: "h-icon-sm w-icon-sm" })
952
+ icon: /* @__PURE__ */ x(u, { className: "h-icon-sm w-icon-sm" })
953
953
  }),
954
- /* @__PURE__ */ x("div", {
954
+ /* @__PURE__ */ S("div", {
955
955
  style: {
956
956
  display: "flex",
957
957
  flexWrap: "wrap",
@@ -961,7 +961,7 @@ var F = s(function() {
961
961
  paddingTop: "var(--space-controlGap)"
962
962
  },
963
963
  children: [
964
- a && /* @__PURE__ */ x("button", {
964
+ a && /* @__PURE__ */ S("button", {
965
965
  type: "button",
966
966
  onClick: () => {
967
967
  o("medium"), it(e.id);
@@ -974,7 +974,7 @@ var F = s(function() {
974
974
  cursor: i ? "wait" : "pointer"
975
975
  },
976
976
  children: [
977
- /* @__PURE__ */ b(ne, {
977
+ /* @__PURE__ */ x(re, {
978
978
  size: 14,
979
979
  "aria-hidden": "true"
980
980
  }),
@@ -982,14 +982,14 @@ var F = s(function() {
982
982
  s("bigconsole.insights.actions.cancel", "Cancel")
983
983
  ]
984
984
  }),
985
- e.status === "COMPLETED" && t && /* @__PURE__ */ x("button", {
985
+ e.status === "COMPLETED" && t && /* @__PURE__ */ S("button", {
986
986
  type: "button",
987
987
  onClick: () => B(e),
988
988
  title: s("bigconsole.insights.actions.previewTitle", "Preview proposed layout"),
989
989
  className: "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface",
990
990
  style: T,
991
991
  children: [
992
- /* @__PURE__ */ b(re, {
992
+ /* @__PURE__ */ x(ie, {
993
993
  size: 14,
994
994
  "aria-hidden": "true"
995
995
  }),
@@ -997,7 +997,7 @@ var F = s(function() {
997
997
  s("bigconsole.insights.actions.preview", "Preview")
998
998
  ]
999
999
  }),
1000
- e.status === "COMPLETED" && t && /* @__PURE__ */ x("button", {
1000
+ e.status === "COMPLETED" && t && /* @__PURE__ */ S("button", {
1001
1001
  type: "button",
1002
1002
  onClick: () => {
1003
1003
  H(e), W("");
@@ -1006,7 +1006,7 @@ var F = s(function() {
1006
1006
  className: "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface",
1007
1007
  style: T,
1008
1008
  children: [
1009
- /* @__PURE__ */ b(_, {
1009
+ /* @__PURE__ */ x(g, {
1010
1010
  size: 14,
1011
1011
  "aria-hidden": "true"
1012
1012
  }),
@@ -1014,7 +1014,7 @@ var F = s(function() {
1014
1014
  s("bigconsole.insights.actions.refine", "Refine")
1015
1015
  ]
1016
1016
  }),
1017
- (e.status === "COMPLETED" || e.status === "FAILED" || e.status === "CANCELLED") && /* @__PURE__ */ x("button", {
1017
+ (e.status === "COMPLETED" || e.status === "FAILED" || e.status === "CANCELLED") && /* @__PURE__ */ S("button", {
1018
1018
  type: "button",
1019
1019
  onClick: () => {
1020
1020
  o("medium"), at(e.id);
@@ -1027,7 +1027,7 @@ var F = s(function() {
1027
1027
  cursor: i ? "wait" : "pointer"
1028
1028
  },
1029
1029
  children: [
1030
- /* @__PURE__ */ b(oe, {
1030
+ /* @__PURE__ */ x(se, {
1031
1031
  size: 14,
1032
1032
  className: i ? "animate-spin" : "",
1033
1033
  "aria-hidden": "true"
@@ -1036,7 +1036,7 @@ var F = s(function() {
1036
1036
  s("bigconsole.insights.actions.regenerate", "Regenerate")
1037
1037
  ]
1038
1038
  }),
1039
- /* @__PURE__ */ x("div", {
1039
+ /* @__PURE__ */ S("div", {
1040
1040
  style: {
1041
1041
  display: "flex",
1042
1042
  flexWrap: "wrap",
@@ -1045,7 +1045,7 @@ var F = s(function() {
1045
1045
  marginLeft: "auto"
1046
1046
  },
1047
1047
  children: [
1048
- e.status === "COMPLETED" && !e.dashboardId && /* @__PURE__ */ x("button", {
1048
+ e.status === "COMPLETED" && !e.dashboardId && /* @__PURE__ */ S("button", {
1049
1049
  type: "button",
1050
1050
  onClick: () => Q(e.id),
1051
1051
  className: "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface",
@@ -1053,27 +1053,27 @@ var F = s(function() {
1053
1053
  children: [
1054
1054
  s("bigconsole.insights.actions.create", "Create dashboard"),
1055
1055
  " ",
1056
- /* @__PURE__ */ b(f, {
1056
+ /* @__PURE__ */ x(d, {
1057
1057
  size: 14,
1058
1058
  "aria-hidden": "true"
1059
1059
  })
1060
1060
  ]
1061
1061
  }),
1062
- e.dashboardId && /* @__PURE__ */ x("button", {
1062
+ e.dashboardId && /* @__PURE__ */ S("button", {
1063
1063
  type: "button",
1064
- onClick: () => p(`/dashboards/${e.dashboardId ?? ""}`),
1064
+ onClick: () => f(`/dashboards/${e.dashboardId ?? ""}`),
1065
1065
  className: "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface",
1066
1066
  style: T,
1067
1067
  children: [
1068
1068
  s("bigconsole.insights.actions.viewDashboard", "View dashboard"),
1069
1069
  " ",
1070
- /* @__PURE__ */ b(f, {
1070
+ /* @__PURE__ */ x(d, {
1071
1071
  size: 14,
1072
1072
  "aria-hidden": "true"
1073
1073
  })
1074
1074
  ]
1075
1075
  }),
1076
- /* @__PURE__ */ b("button", {
1076
+ /* @__PURE__ */ x("button", {
1077
1077
  type: "button",
1078
1078
  onClick: () => {
1079
1079
  o("medium"), rt(e.id);
@@ -1082,7 +1082,7 @@ var F = s(function() {
1082
1082
  "aria-label": s("bigconsole.insights.actions.deleteTitle", "Delete generation"),
1083
1083
  className: n,
1084
1084
  style: D,
1085
- children: /* @__PURE__ */ b(se, {
1085
+ children: /* @__PURE__ */ x(ce, {
1086
1086
  size: 14,
1087
1087
  "aria-hidden": "true"
1088
1088
  })
@@ -1098,7 +1098,7 @@ var F = s(function() {
1098
1098
  })
1099
1099
  ] })]
1100
1100
  }),
1101
- z && $ && /* @__PURE__ */ b("div", {
1101
+ z && $ && /* @__PURE__ */ x("div", {
1102
1102
  role: "dialog",
1103
1103
  "aria-modal": "true",
1104
1104
  "aria-label": s("bigconsole.insights.preview.ariaLabel", "Generation preview"),
@@ -1113,7 +1113,7 @@ var F = s(function() {
1113
1113
  justifyContent: "center",
1114
1114
  padding: "var(--space-pagePadding)"
1115
1115
  },
1116
- children: /* @__PURE__ */ x("div", {
1116
+ children: /* @__PURE__ */ S("div", {
1117
1117
  onClick: (e) => e.stopPropagation(),
1118
1118
  style: {
1119
1119
  display: "flex",
@@ -1127,7 +1127,7 @@ var F = s(function() {
1127
1127
  boxShadow: "var(--shadow-elevation-3)"
1128
1128
  },
1129
1129
  children: [
1130
- /* @__PURE__ */ x("div", {
1130
+ /* @__PURE__ */ S("div", {
1131
1131
  style: {
1132
1132
  display: "flex",
1133
1133
  justifyContent: "space-between",
@@ -1136,16 +1136,16 @@ var F = s(function() {
1136
1136
  padding: "var(--space-cardPadding)",
1137
1137
  borderBottom: "1px solid var(--color-border-subtle)"
1138
1138
  },
1139
- children: [/* @__PURE__ */ x("div", {
1139
+ children: [/* @__PURE__ */ S("div", {
1140
1140
  style: { minWidth: 0 },
1141
- children: [/* @__PURE__ */ b("h2", {
1141
+ children: [/* @__PURE__ */ x("h2", {
1142
1142
  style: {
1143
1143
  fontSize: "var(--font-size-heading-h4)",
1144
1144
  fontWeight: "var(--font-weight-semibold)",
1145
1145
  color: "var(--color-text-primary)"
1146
1146
  },
1147
1147
  children: $.name
1148
- }), $.description && /* @__PURE__ */ b("p", {
1148
+ }), $.description && /* @__PURE__ */ x("p", {
1149
1149
  style: {
1150
1150
  fontSize: "var(--font-size-body-sm)",
1151
1151
  color: "var(--color-text-secondary)",
@@ -1153,7 +1153,7 @@ var F = s(function() {
1153
1153
  },
1154
1154
  children: $.description
1155
1155
  })]
1156
- }), /* @__PURE__ */ b("button", {
1156
+ }), /* @__PURE__ */ x("button", {
1157
1157
  type: "button",
1158
1158
  onClick: () => B(null),
1159
1159
  "aria-label": s("bigconsole.insights.preview.close", "Close preview"),
@@ -1162,13 +1162,13 @@ var F = s(function() {
1162
1162
  ...D,
1163
1163
  color: "var(--color-text-muted)"
1164
1164
  },
1165
- children: /* @__PURE__ */ b(ce, {
1165
+ children: /* @__PURE__ */ x(le, {
1166
1166
  size: 18,
1167
1167
  "aria-hidden": "true"
1168
1168
  })
1169
1169
  })]
1170
1170
  }),
1171
- /* @__PURE__ */ x("div", {
1171
+ /* @__PURE__ */ S("div", {
1172
1172
  style: {
1173
1173
  flex: "1 1 auto",
1174
1174
  minHeight: 0,
@@ -1179,14 +1179,14 @@ var F = s(function() {
1179
1179
  gap: "var(--space-controlGap)"
1180
1180
  },
1181
1181
  children: [
1182
- /* @__PURE__ */ x("div", {
1182
+ /* @__PURE__ */ S("div", {
1183
1183
  style: {
1184
1184
  display: "flex",
1185
1185
  flexWrap: "wrap",
1186
1186
  gap: "var(--space-iconGap)"
1187
1187
  },
1188
1188
  children: [
1189
- /* @__PURE__ */ x("span", {
1189
+ /* @__PURE__ */ S("span", {
1190
1190
  style: A,
1191
1191
  children: [
1192
1192
  P($),
@@ -1194,7 +1194,7 @@ var F = s(function() {
1194
1194
  P($) === 1 ? "" : "s"
1195
1195
  ]
1196
1196
  }),
1197
- /* @__PURE__ */ x("span", {
1197
+ /* @__PURE__ */ S("span", {
1198
1198
  style: A,
1199
1199
  children: [
1200
1200
  $.pages.length,
@@ -1202,15 +1202,15 @@ var F = s(function() {
1202
1202
  $.pages.length === 1 ? "" : "s"
1203
1203
  ]
1204
1204
  }),
1205
- /* @__PURE__ */ x("span", {
1205
+ /* @__PURE__ */ S("span", {
1206
1206
  style: Ne($.overallConfidence),
1207
1207
  children: [Math.round($.overallConfidence * 100), "% confidence"]
1208
1208
  })
1209
1209
  ]
1210
1210
  }),
1211
- $.reasoning && /* @__PURE__ */ x("details", {
1211
+ $.reasoning && /* @__PURE__ */ S("details", {
1212
1212
  "data-testid": "preview-reasoning",
1213
- children: [/* @__PURE__ */ b("summary", {
1213
+ children: [/* @__PURE__ */ x("summary", {
1214
1214
  className: "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface",
1215
1215
  style: {
1216
1216
  cursor: "pointer",
@@ -1220,7 +1220,7 @@ var F = s(function() {
1220
1220
  borderRadius: "var(--radius-button)"
1221
1221
  },
1222
1222
  children: s("bigconsole.insights.preview.reasoningToggle", "Why these widgets?")
1223
- }), /* @__PURE__ */ b("p", {
1223
+ }), /* @__PURE__ */ x("p", {
1224
1224
  style: {
1225
1225
  marginTop: "var(--space-controlGap)",
1226
1226
  fontSize: "var(--font-size-body-sm)",
@@ -1230,12 +1230,12 @@ var F = s(function() {
1230
1230
  children: $.reasoning
1231
1231
  })]
1232
1232
  }),
1233
- $.pages.map((e, t) => /* @__PURE__ */ x(r, {
1233
+ $.pages.map((e, t) => /* @__PURE__ */ S(r, {
1234
1234
  emphasis: "muted",
1235
1235
  padding: "compact",
1236
1236
  headingLevel: 3,
1237
1237
  title: e.name,
1238
- meta: /* @__PURE__ */ x("span", {
1238
+ meta: /* @__PURE__ */ S("span", {
1239
1239
  style: A,
1240
1240
  children: [
1241
1241
  e.widgets.length,
@@ -1243,7 +1243,7 @@ var F = s(function() {
1243
1243
  e.widgets.length === 1 ? "" : "s"
1244
1244
  ]
1245
1245
  }),
1246
- children: [/* @__PURE__ */ x("p", {
1246
+ children: [/* @__PURE__ */ S("p", {
1247
1247
  style: {
1248
1248
  fontSize: "var(--font-size-body-sm)",
1249
1249
  color: "var(--color-text-secondary)",
@@ -1259,12 +1259,12 @@ var F = s(function() {
1259
1259
  " ",
1260
1260
  e.layout.toLowerCase().replaceAll("_", " ")
1261
1261
  ]
1262
- }), /* @__PURE__ */ b("div", {
1262
+ }), /* @__PURE__ */ x("div", {
1263
1263
  className: "insights-proposal-grid",
1264
1264
  style: Ie(e.gridColumns),
1265
1265
  children: e.widgets.map((t, n) => {
1266
1266
  let r = Pe(t.confidence);
1267
- return /* @__PURE__ */ x("div", {
1267
+ return /* @__PURE__ */ S("div", {
1268
1268
  className: "insights-proposal-widget",
1269
1269
  style: {
1270
1270
  ...Le(t.position, e.gridColumns),
@@ -1276,7 +1276,7 @@ var F = s(function() {
1276
1276
  backgroundColor: "var(--color-bg-surface)",
1277
1277
  border: "1px solid var(--color-border-subtle)"
1278
1278
  },
1279
- children: [/* @__PURE__ */ x("div", {
1279
+ children: [/* @__PURE__ */ S("div", {
1280
1280
  style: {
1281
1281
  display: "flex",
1282
1282
  flexWrap: "wrap",
@@ -1284,7 +1284,7 @@ var F = s(function() {
1284
1284
  gap: "var(--space-iconGap)"
1285
1285
  },
1286
1286
  children: [
1287
- /* @__PURE__ */ b("span", {
1287
+ /* @__PURE__ */ x("span", {
1288
1288
  style: {
1289
1289
  fontSize: "var(--font-size-body-sm)",
1290
1290
  fontWeight: "var(--font-weight-medium)",
@@ -1293,7 +1293,7 @@ var F = s(function() {
1293
1293
  },
1294
1294
  children: t.title
1295
1295
  }),
1296
- /* @__PURE__ */ b("span", {
1296
+ /* @__PURE__ */ x("span", {
1297
1297
  style: {
1298
1298
  fontSize: "var(--font-size-xs)",
1299
1299
  color: "var(--color-text-muted)"
@@ -1301,7 +1301,7 @@ var F = s(function() {
1301
1301
  "data-testid": "preview-widget-type",
1302
1302
  children: t.type
1303
1303
  }),
1304
- r && /* @__PURE__ */ b("span", {
1304
+ r && /* @__PURE__ */ x("span", {
1305
1305
  style: {
1306
1306
  ...Re(r),
1307
1307
  marginLeft: "auto"
@@ -1310,7 +1310,7 @@ var F = s(function() {
1310
1310
  children: r
1311
1311
  })
1312
1312
  ]
1313
- }), t.reasoning && /* @__PURE__ */ b("p", {
1313
+ }), t.reasoning && /* @__PURE__ */ x("p", {
1314
1314
  style: {
1315
1315
  margin: 0,
1316
1316
  fontSize: "var(--font-size-xs)",
@@ -1325,7 +1325,7 @@ var F = s(function() {
1325
1325
  }, t))
1326
1326
  ]
1327
1327
  }),
1328
- /* @__PURE__ */ x("div", {
1328
+ /* @__PURE__ */ S("div", {
1329
1329
  style: {
1330
1330
  display: "flex",
1331
1331
  justifyContent: "flex-end",
@@ -1335,14 +1335,14 @@ var F = s(function() {
1335
1335
  borderTop: "1px solid var(--color-border-subtle)"
1336
1336
  },
1337
1337
  children: [
1338
- /* @__PURE__ */ b("button", {
1338
+ /* @__PURE__ */ x("button", {
1339
1339
  type: "button",
1340
1340
  onClick: () => B(null),
1341
1341
  className: "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface",
1342
1342
  style: T,
1343
1343
  children: "Close"
1344
1344
  }),
1345
- z.status === "COMPLETED" && $ && /* @__PURE__ */ x("button", {
1345
+ z.status === "COMPLETED" && $ && /* @__PURE__ */ S("button", {
1346
1346
  type: "button",
1347
1347
  onClick: () => {
1348
1348
  let e = z;
@@ -1352,7 +1352,7 @@ var F = s(function() {
1352
1352
  className: "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface",
1353
1353
  style: T,
1354
1354
  children: [
1355
- /* @__PURE__ */ b(_, {
1355
+ /* @__PURE__ */ x(g, {
1356
1356
  size: 14,
1357
1357
  "aria-hidden": "true"
1358
1358
  }),
@@ -1360,7 +1360,7 @@ var F = s(function() {
1360
1360
  s("bigconsole.insights.actions.refine", "Refine")
1361
1361
  ]
1362
1362
  }),
1363
- z.status === "COMPLETED" && !z.dashboardId && /* @__PURE__ */ x("button", {
1363
+ z.status === "COMPLETED" && !z.dashboardId && /* @__PURE__ */ S("button", {
1364
1364
  type: "button",
1365
1365
  onClick: () => {
1366
1366
  let e = z.id;
@@ -1371,7 +1371,7 @@ var F = s(function() {
1371
1371
  children: [
1372
1372
  s("bigconsole.insights.actions.create", "Create dashboard"),
1373
1373
  " ",
1374
- /* @__PURE__ */ b(f, {
1374
+ /* @__PURE__ */ x(d, {
1375
1375
  size: 14,
1376
1376
  "aria-hidden": "true"
1377
1377
  })
@@ -1382,7 +1382,7 @@ var F = s(function() {
1382
1382
  ]
1383
1383
  })
1384
1384
  }),
1385
- V && /* @__PURE__ */ b("div", {
1385
+ V && /* @__PURE__ */ x("div", {
1386
1386
  role: "dialog",
1387
1387
  "aria-modal": "true",
1388
1388
  "aria-label": s("bigconsole.insights.refine.ariaLabel", "Refine generation"),
@@ -1397,7 +1397,7 @@ var F = s(function() {
1397
1397
  justifyContent: "center",
1398
1398
  padding: "var(--space-pagePadding)"
1399
1399
  },
1400
- children: /* @__PURE__ */ x("div", {
1400
+ children: /* @__PURE__ */ S("div", {
1401
1401
  onClick: (e) => e.stopPropagation(),
1402
1402
  style: {
1403
1403
  display: "flex",
@@ -1411,19 +1411,19 @@ var F = s(function() {
1411
1411
  boxShadow: "var(--shadow-elevation-3)"
1412
1412
  },
1413
1413
  children: [
1414
- /* @__PURE__ */ x("div", {
1414
+ /* @__PURE__ */ S("div", {
1415
1415
  style: {
1416
1416
  padding: "var(--space-cardPadding)",
1417
1417
  borderBottom: "1px solid var(--color-border-subtle)"
1418
1418
  },
1419
- children: [/* @__PURE__ */ b("h2", {
1419
+ children: [/* @__PURE__ */ x("h2", {
1420
1420
  style: {
1421
1421
  fontSize: "var(--font-size-heading-h4)",
1422
1422
  fontWeight: "var(--font-weight-semibold)",
1423
1423
  color: "var(--color-text-primary)"
1424
1424
  },
1425
1425
  children: s("bigconsole.insights.refine.heading", "Refine dashboard")
1426
- }), /* @__PURE__ */ b("p", {
1426
+ }), /* @__PURE__ */ x("p", {
1427
1427
  style: {
1428
1428
  fontSize: "var(--font-size-body-sm)",
1429
1429
  color: "var(--color-text-secondary)",
@@ -1432,7 +1432,7 @@ var F = s(function() {
1432
1432
  children: s("bigconsole.insights.refine.subtitle", "Describe what to change — the AI keeps the existing spec and applies your instructions.")
1433
1433
  })]
1434
1434
  }),
1435
- /* @__PURE__ */ x("div", {
1435
+ /* @__PURE__ */ S("div", {
1436
1436
  style: {
1437
1437
  flex: "1 1 auto",
1438
1438
  minHeight: 0,
@@ -1442,20 +1442,20 @@ var F = s(function() {
1442
1442
  flexDirection: "column",
1443
1443
  gap: "var(--space-controlGap)"
1444
1444
  },
1445
- children: [/* @__PURE__ */ b(r, {
1445
+ children: [/* @__PURE__ */ x(r, {
1446
1446
  emphasis: "muted",
1447
1447
  padding: "compact",
1448
1448
  headingLevel: 3,
1449
1449
  title: V.generatedSpec?.name || "Current proposal",
1450
1450
  description: V.prompt.length > 240 ? `${V.prompt.slice(0, 240)}…` : V.prompt,
1451
- icon: /* @__PURE__ */ b(g, { className: "h-icon-sm w-icon-sm" })
1452
- }), /* @__PURE__ */ x("div", {
1451
+ icon: /* @__PURE__ */ x(h, { className: "h-icon-sm w-icon-sm" })
1452
+ }), /* @__PURE__ */ S("div", {
1453
1453
  style: {
1454
1454
  display: "flex",
1455
1455
  flexDirection: "column",
1456
1456
  gap: "var(--space-controlGap)"
1457
1457
  },
1458
- children: [/* @__PURE__ */ b("label", {
1458
+ children: [/* @__PURE__ */ x("label", {
1459
1459
  htmlFor: "refine-input",
1460
1460
  style: {
1461
1461
  display: "block",
@@ -1464,7 +1464,7 @@ var F = s(function() {
1464
1464
  color: "var(--color-text-primary)"
1465
1465
  },
1466
1466
  children: "What should change?"
1467
- }), /* @__PURE__ */ b("textarea", {
1467
+ }), /* @__PURE__ */ x("textarea", {
1468
1468
  id: "refine-input",
1469
1469
  value: U,
1470
1470
  onChange: (e) => W(e.target.value),
@@ -1486,7 +1486,7 @@ var F = s(function() {
1486
1486
  })]
1487
1487
  })]
1488
1488
  }),
1489
- /* @__PURE__ */ x("div", {
1489
+ /* @__PURE__ */ S("div", {
1490
1490
  style: {
1491
1491
  display: "flex",
1492
1492
  justifyContent: "flex-end",
@@ -1495,13 +1495,13 @@ var F = s(function() {
1495
1495
  padding: "var(--space-cardPadding)",
1496
1496
  borderTop: "1px solid var(--color-border-subtle)"
1497
1497
  },
1498
- children: [/* @__PURE__ */ b("button", {
1498
+ children: [/* @__PURE__ */ x("button", {
1499
1499
  type: "button",
1500
1500
  onClick: () => H(null),
1501
1501
  className: "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface",
1502
1502
  style: T,
1503
1503
  children: s("bigconsole.insights.actions.cancel", "Cancel")
1504
- }), /* @__PURE__ */ x("button", {
1504
+ }), /* @__PURE__ */ S("button", {
1505
1505
  type: "button",
1506
1506
  onClick: () => void ot(),
1507
1507
  disabled: !U.trim() || R.has(V.id),
@@ -1511,11 +1511,11 @@ var F = s(function() {
1511
1511
  cursor: !U.trim() || R.has(V.id) ? "not-allowed" : "pointer",
1512
1512
  opacity: U.trim() ? 1 : .6
1513
1513
  },
1514
- children: [R.has(V.id) ? /* @__PURE__ */ b(h, {
1514
+ children: [R.has(V.id) ? /* @__PURE__ */ x(m, {
1515
1515
  size: 14,
1516
1516
  className: "animate-spin",
1517
1517
  "aria-hidden": "true"
1518
- }) : /* @__PURE__ */ b(_, {
1518
+ }) : /* @__PURE__ */ x(g, {
1519
1519
  size: 14,
1520
1520
  "aria-hidden": "true"
1521
1521
  }), s("bigconsole.insights.refine.apply", "Apply refinement")]