@burdenoff/microfe-bigconsole 2026.805.2 → 2026.805.3

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 (134) hide show
  1. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +109 -113
  2. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js.map +1 -1
  3. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +115 -113
  4. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +1 -1
  5. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +71 -62
  6. package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +1 -1
  7. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +90 -89
  8. package/dist/bigconsole/components/dashboard/DashboardToolbar.js.map +1 -1
  9. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +56 -54
  10. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js.map +1 -1
  11. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +126 -125
  12. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js.map +1 -1
  13. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +151 -150
  14. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js.map +1 -1
  15. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +77 -76
  16. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js.map +1 -1
  17. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +97 -96
  18. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +1 -1
  19. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +172 -191
  20. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +1 -1
  21. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +75 -83
  22. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js.map +1 -1
  23. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +151 -154
  24. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js.map +1 -1
  25. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +181 -190
  26. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js.map +1 -1
  27. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js +1 -0
  28. package/dist/bigconsole/components/dashboard/WidgetPalette.js +110 -108
  29. package/dist/bigconsole/components/dashboard/WidgetPalette.js.map +1 -1
  30. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +102 -103
  31. package/dist/bigconsole/components/datasink/CacheTTLSelector.js.map +1 -1
  32. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +36 -41
  33. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js.map +1 -1
  34. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +38 -37
  35. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js.map +1 -1
  36. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +113 -117
  37. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js.map +1 -1
  38. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +182 -197
  39. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +1 -1
  40. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +166 -168
  41. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js.map +1 -1
  42. package/dist/bigconsole/components/parser/DataSinkSelector.js +87 -86
  43. package/dist/bigconsole/components/parser/DataSinkSelector.js.map +1 -1
  44. package/dist/bigconsole/components/parser/ImportParserDialog.js +196 -211
  45. package/dist/bigconsole/components/parser/ImportParserDialog.js.map +1 -1
  46. package/dist/bigconsole/components/parser/ParserSelector.js +130 -128
  47. package/dist/bigconsole/components/parser/ParserSelector.js.map +1 -1
  48. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +66 -63
  49. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js.map +1 -1
  50. package/dist/bigconsole/components/preview/AiPreviewPanel.js +95 -91
  51. package/dist/bigconsole/components/preview/AiPreviewPanel.js.map +1 -1
  52. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +222 -215
  53. package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +1 -1
  54. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +149 -145
  55. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +1 -1
  56. package/dist/bigconsole/components/widgets/PropertiesPanel.js +504 -470
  57. package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +1 -1
  58. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +44 -47
  59. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js.map +1 -1
  60. package/dist/bigconsole/components/widgets/chart/ChartConfig.js +143 -142
  61. package/dist/bigconsole/components/widgets/chart/ChartConfig.js.map +1 -1
  62. package/dist/bigconsole/components/widgets/comments/WidgetComments.js +101 -88
  63. package/dist/bigconsole/components/widgets/comments/WidgetComments.js.map +1 -1
  64. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +135 -134
  65. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js.map +1 -1
  66. package/dist/bigconsole/components/widgets/form/FormWidget.js +167 -159
  67. package/dist/bigconsole/components/widgets/form/FormWidget.js.map +1 -1
  68. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +69 -68
  69. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js.map +1 -1
  70. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +64 -72
  71. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js.map +1 -1
  72. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +60 -59
  73. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js.map +1 -1
  74. package/dist/bigconsole/components/widgets/list/ListConfig.js +57 -56
  75. package/dist/bigconsole/components/widgets/list/ListConfig.js.map +1 -1
  76. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +70 -69
  77. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js.map +1 -1
  78. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +35 -34
  79. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js.map +1 -1
  80. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +20 -19
  81. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js.map +1 -1
  82. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +178 -177
  83. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js.map +1 -1
  84. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +76 -75
  85. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js.map +1 -1
  86. package/dist/bigconsole/components/widgets/table/TableConfig.js +183 -168
  87. package/dist/bigconsole/components/widgets/table/TableConfig.js.map +1 -1
  88. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +187 -180
  89. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js.map +1 -1
  90. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +40 -38
  91. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js.map +1 -1
  92. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +150 -148
  93. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +1 -1
  94. package/dist/bigconsole/pages/DashboardBuilderPage.js +181 -176
  95. package/dist/bigconsole/pages/DashboardBuilderPage.js.map +1 -1
  96. package/dist/bigconsole/pages/DashboardViewPage.js +196 -192
  97. package/dist/bigconsole/pages/DashboardViewPage.js.map +1 -1
  98. package/dist/bigconsole/pages/DashboardsPage.js +223 -219
  99. package/dist/bigconsole/pages/DashboardsPage.js.map +1 -1
  100. package/dist/bigconsole/pages/DataParsersPage.js +167 -170
  101. package/dist/bigconsole/pages/DataParsersPage.js.map +1 -1
  102. package/dist/bigconsole/pages/DataSinkBuilderPage.js +204 -189
  103. package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -1
  104. package/dist/bigconsole/pages/DataSinkViewPage.js +175 -169
  105. package/dist/bigconsole/pages/DataSinkViewPage.js.map +1 -1
  106. package/dist/bigconsole/pages/DataSourcesPage.js +8 -7
  107. package/dist/bigconsole/pages/DataSourcesPage.js.map +1 -1
  108. package/dist/bigconsole/pages/InsightsPage.js +238 -208
  109. package/dist/bigconsole/pages/InsightsPage.js.map +1 -1
  110. package/dist/bigconsole/pages/ParserBuilderPage.js +464 -412
  111. package/dist/bigconsole/pages/ParserBuilderPage.js.map +1 -1
  112. package/dist/bigconsole/pages/ParserViewPage.js +92 -90
  113. package/dist/bigconsole/pages/ParserViewPage.js.map +1 -1
  114. package/dist/bigconsole/pages/PipelineBuilderPage.js +221 -194
  115. package/dist/bigconsole/pages/PipelineBuilderPage.js.map +1 -1
  116. package/dist/bigconsole/pages/PipelineViewPage.js +181 -184
  117. package/dist/bigconsole/pages/PipelineViewPage.js.map +1 -1
  118. package/dist/bigconsole/pages/PipelinesPage.js +128 -127
  119. package/dist/bigconsole/pages/PipelinesPage.js.map +1 -1
  120. package/dist/bigconsole/pages/SettingsPage.js +177 -172
  121. package/dist/bigconsole/pages/SettingsPage.js.map +1 -1
  122. package/dist/bigconsole/pages/WidgetDemoPage.js +121 -83
  123. package/dist/bigconsole/pages/WidgetDemoPage.js.map +1 -1
  124. package/dist/bigconsole/pages/WorkflowViewPage.js +199 -193
  125. package/dist/bigconsole/pages/WorkflowViewPage.js.map +1 -1
  126. package/dist/bigconsole/pages/WorkflowsPage.js +129 -128
  127. package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -1
  128. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +111 -109
  129. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js.map +1 -1
  130. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +127 -126
  131. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js.map +1 -1
  132. package/dist/bigconsole/renderers/adapters/CustomRenderer.js +103 -103
  133. package/dist/bigconsole/renderers/adapters/CustomRenderer.js.map +1 -1
  134. package/package.json +2 -1
@@ -7,10 +7,11 @@ import { memo as o, useCallback as s, useEffect as c, useState as l } from "reac
7
7
  import { AlertCircle as u, ArrowRight as d, Ban as ee, CheckCircle as f, Clock as p, Eye as te, Loader2 as m, RefreshCw as ne, Sparkles as h, Trash2 as re, Wand2 as g, X as ie, XCircle as _ } from "lucide-react";
8
8
  import { gql as v } from "@apollo/client";
9
9
  import { useMutation as y, useQuery as b } from "@apollo/client/react";
10
- import { AuroraBackground as ae, EmphasisPanel as oe, GlassCard as se, GradientText as ce, IllustratedEmptyState as x } from "@burdenoff/fe-libs/ui";
11
- import { jsx as S, jsxs as C } from "react/jsx-runtime";
10
+ import { useI18n as ae } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
11
+ import { AuroraBackground as oe, EmphasisPanel as se, GlassCard as ce, GradientText as le, IllustratedEmptyState as ue } from "@burdenoff/fe-libs/ui";
12
+ import { jsx as x, jsxs as S } from "react/jsx-runtime";
12
13
  //#region src/bigconsole/pages/InsightsPage.tsx
13
- var le = v`
14
+ var de = v`
14
15
  query ListPromptGenerations($status: PromptGenerationStatus, $first: Int) {
15
16
  listPromptGenerations(status: $status, first: $first) {
16
17
  edges {
@@ -39,7 +40,7 @@ var le = v`
39
40
  totalCount
40
41
  }
41
42
  }
42
- `, ue = v`
43
+ `, fe = v`
43
44
  query GetPromptSuggestions($category: String, $limit: Int) {
44
45
  getPromptSuggestions(category: $category, limit: $limit) {
45
46
  id
@@ -50,7 +51,7 @@ var le = v`
50
51
  tags
51
52
  }
52
53
  }
53
- `, de = v`
54
+ `, pe = v`
54
55
  mutation GenerateDashboardFromPrompt($input: GenerateDashboardFromPromptInput!) {
55
56
  generateDashboardFromPrompt(input: $input) {
56
57
  id
@@ -58,24 +59,24 @@ var le = v`
58
59
  prompt
59
60
  }
60
61
  }
61
- `, fe = v`
62
+ `, me = v`
62
63
  mutation CreateDashboardFromGeneration($input: CreateDashboardFromGenerationInput!) {
63
64
  createDashboardFromGeneration(input: $input) {
64
65
  id
65
66
  }
66
67
  }
67
- `, pe = v`
68
+ `, he = v`
68
69
  mutation DeletePromptGeneration($generationId: ID!) {
69
70
  deletePromptGeneration(generationId: $generationId)
70
71
  }
71
- `, me = v`
72
+ `, ge = v`
72
73
  mutation CancelPromptGeneration($generationId: ID!) {
73
74
  cancelPromptGeneration(generationId: $generationId) {
74
75
  id
75
76
  status
76
77
  }
77
78
  }
78
- `, he = v`
79
+ `, _e = v`
79
80
  mutation RegenerateDashboard($input: RegenerateDashboardInput!) {
80
81
  regenerateDashboard(input: $input) {
81
82
  id
@@ -83,7 +84,7 @@ var le = v`
83
84
  prompt
84
85
  }
85
86
  }
86
- `, ge = v`
87
+ `, ve = v`
87
88
  mutation RefineGeneratedDashboard($input: RefineGeneratedDashboardInput!) {
88
89
  refineGeneratedDashboard(input: $input) {
89
90
  id
@@ -91,63 +92,63 @@ var le = v`
91
92
  prompt
92
93
  }
93
94
  }
94
- `, w = [
95
+ `, C = [
95
96
  "PENDING",
96
97
  "PROCESSING",
97
98
  "GENERATING"
98
99
  ];
99
- function T(e) {
100
+ function w(e) {
100
101
  switch (e) {
101
- case "COMPLETED": return /* @__PURE__ */ S(f, {
102
+ case "COMPLETED": return /* @__PURE__ */ x(f, {
102
103
  size: 16,
103
104
  className: "text-green-500"
104
105
  });
105
- case "FAILED": return /* @__PURE__ */ S(_, {
106
+ case "FAILED": return /* @__PURE__ */ x(_, {
106
107
  size: 16,
107
108
  className: "text-red-500"
108
109
  });
109
- case "CANCELLED": return /* @__PURE__ */ S(_, {
110
+ case "CANCELLED": return /* @__PURE__ */ x(_, {
110
111
  size: 16,
111
112
  className: "text-gray-400"
112
113
  });
113
114
  case "PENDING":
114
115
  case "PROCESSING":
115
- case "GENERATING": return /* @__PURE__ */ S(m, {
116
+ case "GENERATING": return /* @__PURE__ */ x(m, {
116
117
  size: 16,
117
118
  className: "text-blue-500 animate-spin"
118
119
  });
119
- default: return /* @__PURE__ */ S(p, {
120
+ default: return /* @__PURE__ */ x(p, {
120
121
  size: 16,
121
122
  className: "text-gray-400"
122
123
  });
123
124
  }
124
125
  }
125
- function E(e) {
126
+ function T(e, t) {
126
127
  switch (e) {
127
- case "COMPLETED": return "Completed";
128
- case "FAILED": return "Failed";
129
- case "CANCELLED": return "Cancelled";
130
- case "PENDING": return "Pending";
131
- case "PROCESSING": return "Processing";
132
- case "GENERATING": return "Generating";
128
+ case "COMPLETED": return t("bigconsole.insights.status.completed", "Completed");
129
+ case "FAILED": return t("bigconsole.insights.status.failed", "Failed");
130
+ case "CANCELLED": return t("bigconsole.insights.status.cancelled", "Cancelled");
131
+ case "PENDING": return t("bigconsole.insights.status.pending", "Pending");
132
+ case "PROCESSING": return t("bigconsole.insights.status.processing", "Processing");
133
+ case "GENERATING": return t("bigconsole.insights.status.generating", "Generating");
133
134
  default: return e;
134
135
  }
135
136
  }
136
- var D = o(function() {
137
- let o = e(), f = n(), [p, _] = l(""), [v, D] = l(!1), [O, k] = l(null), [A, j] = l(() => /* @__PURE__ */ new Set()), [M, N] = l(null), [P, F] = l(null), [I, L] = l(""), R = s((e) => {
137
+ var E = o(function() {
138
+ let { t: o } = ae(), f = e(), p = n(), [_, v] = l(""), [E, D] = l(!1), [O, k] = l(null), [A, j] = l(() => /* @__PURE__ */ new Set()), [M, N] = l(null), [P, F] = l(null), [I, L] = l(""), R = s((e) => {
138
139
  j((t) => new Set(t).add(e));
139
140
  }, []), z = s((e) => {
140
141
  j((t) => {
141
142
  let n = new Set(t);
142
143
  return n.delete(e), n;
143
144
  });
144
- }, []), { data: B, loading: _e, refetch: V, startPolling: H, stopPolling: U } = b(le, {
145
+ }, []), { data: B, loading: ye, refetch: V, startPolling: H, stopPolling: U } = b(de, {
145
146
  variables: { first: 20 },
146
147
  fetchPolicy: "cache-and-network"
147
- }), W = B?.listPromptGenerations?.edges?.some((e) => w.includes(e.node.status)) ?? !1, { data: ve } = b(ue, { variables: { limit: 6 } }), [G] = y(de), [K] = y(fe), [q] = y(pe), [J] = y(me), [Y] = y(he), [X] = y(ge), Z = B?.listPromptGenerations?.edges?.map((e) => e.node) || [], Q = ve?.getPromptSuggestions || [];
148
- c(() => (W || v ? H(2e3) : U(), () => U()), [
148
+ }), W = B?.listPromptGenerations?.edges?.some((e) => C.includes(e.node.status)) ?? !1, { data: be } = b(fe, { variables: { limit: 6 } }), [G] = y(pe), [K] = y(me), [q] = y(he), [J] = y(ge), [Y] = y(_e), [X] = y(ve), Z = B?.listPromptGenerations?.edges?.map((e) => e.node) || [], Q = be?.getPromptSuggestions || [];
149
+ c(() => (W || E ? H(2e3) : U(), () => U()), [
149
150
  W,
150
- v,
151
+ E,
151
152
  H,
152
153
  U
153
154
  ]), c(() => {
@@ -158,86 +159,100 @@ var D = o(function() {
158
159
  return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
159
160
  }, [M, P]);
160
161
  let $ = s(async () => {
161
- if (!(!p.trim() || v)) {
162
- if (p.length > 2e3) {
163
- k("Prompt is too long (max 2000 characters).");
162
+ if (!(!_.trim() || E)) {
163
+ if (_.length > 2e3) {
164
+ k(o("bigconsole.insights.error.promptTooLong", "Prompt is too long (max 2000 characters)."));
164
165
  return;
165
166
  }
166
167
  k(null), D(!0);
167
168
  try {
168
- f("bigconsole.ai.generate_clicked", { maxWidgets: 8 });
169
+ p("bigconsole.ai.generate_clicked", { maxWidgets: 8 });
169
170
  let e = await G({ variables: { input: {
170
- prompt: p.trim(),
171
+ prompt: _.trim(),
171
172
  styleType: "MODERN",
172
173
  layoutType: "GRID",
173
174
  maxWidgets: 8
174
175
  } } });
175
176
  if (t(e, "command")) return;
176
177
  let n = e.data?.generateDashboardFromPrompt?.id;
177
- n && f("bigconsole.ai.dashboard_generated", {
178
+ n && p("bigconsole.ai.dashboard_generated", {
178
179
  generationId: n,
179
180
  maxWidgets: 8
180
- }), _(""), V();
181
+ }), v(""), V();
181
182
  } catch (e) {
182
183
  if (t(e, "command")) return;
183
- k(e instanceof Error ? e.message : "Failed to generate dashboard");
184
+ k(e instanceof Error ? e.message : o("bigconsole.insights.error.generateFailed", "Failed to generate dashboard"));
184
185
  } finally {
185
186
  D(!1);
186
187
  }
187
188
  }
188
189
  }, [
189
- f,
190
190
  p,
191
- v,
191
+ _,
192
+ E,
192
193
  G,
193
- V
194
- ]), ye = s(async (e) => {
194
+ V,
195
+ o
196
+ ]), xe = s(async (e) => {
195
197
  k(null);
196
198
  try {
197
- f("bigconsole.ai.create_dashboard_clicked", { generationId: e });
199
+ p("bigconsole.ai.create_dashboard_clicked", { generationId: e });
198
200
  let n = await K({ variables: { input: { generationId: e } } });
199
201
  if (t(n, "project")) return;
200
202
  let r = n.data?.createDashboardFromGeneration?.id;
201
- r && (f("bigconsole.ai.dashboard_created", {
203
+ r && (p("bigconsole.ai.dashboard_created", {
202
204
  generationId: e,
203
205
  dashboardId: r
204
- }), o(`/dashboards/${r}`));
206
+ }), f(`/dashboards/${r}`));
205
207
  } catch (e) {
206
208
  if (t(e, "project")) return;
207
- k(e instanceof Error ? e.message : "Failed to create dashboard");
209
+ k(e instanceof Error ? e.message : o("bigconsole.insights.error.createFailed", "Failed to create dashboard"));
208
210
  }
209
211
  }, [
210
212
  K,
213
+ p,
211
214
  f,
212
215
  o
213
- ]), be = s(async (e) => {
216
+ ]), Se = s(async (e) => {
214
217
  k(null);
215
218
  try {
216
219
  await q({ variables: { generationId: e } }), r() && a("success"), V();
217
220
  } catch (e) {
218
- k(e instanceof Error ? e.message : "Failed to delete generation"), r() && a("error");
221
+ k(e instanceof Error ? e.message : o("bigconsole.insights.error.deleteFailed", "Failed to delete generation")), r() && a("error");
219
222
  }
220
- }, [q, V]), xe = s(async (e) => {
223
+ }, [
224
+ q,
225
+ V,
226
+ o
227
+ ]), Ce = s(async (e) => {
221
228
  k(null), R(e);
222
229
  try {
223
230
  await J({ variables: { generationId: e } }), V();
224
231
  } catch (e) {
225
- k(e instanceof Error ? e.message : "Failed to cancel generation");
232
+ k(e instanceof Error ? e.message : o("bigconsole.insights.error.cancelFailed", "Failed to cancel generation"));
226
233
  } finally {
227
234
  z(e);
228
235
  }
229
- }, [J, V]), Se = s(async (e) => {
236
+ }, [
237
+ J,
238
+ V,
239
+ o
240
+ ]), we = s(async (e) => {
230
241
  k(null), R(e);
231
242
  try {
232
243
  if (t(await Y({ variables: { input: { generationId: e } } }), "command")) return;
233
244
  V();
234
245
  } catch (e) {
235
246
  if (t(e, "command")) return;
236
- k(e instanceof Error ? e.message : "Failed to regenerate dashboard");
247
+ k(e instanceof Error ? e.message : o("bigconsole.insights.error.regenerateFailed", "Failed to regenerate dashboard"));
237
248
  } finally {
238
249
  z(e);
239
250
  }
240
- }, [Y, V]), Ce = s(async () => {
251
+ }, [
252
+ Y,
253
+ V,
254
+ o
255
+ ]), Te = s(async () => {
241
256
  if (!P || !I.trim()) return;
242
257
  let e = P.id;
243
258
  k(null), R(e);
@@ -256,7 +271,7 @@ var D = o(function() {
256
271
  n = !0;
257
272
  return;
258
273
  }
259
- k(e instanceof Error ? e.message : "Failed to refine generation");
274
+ k(e instanceof Error ? e.message : o("bigconsole.insights.error.refineFailed", "Failed to refine generation"));
260
275
  } finally {
261
276
  n && (F(null), L("")), z(e);
262
277
  }
@@ -264,59 +279,60 @@ var D = o(function() {
264
279
  P,
265
280
  I,
266
281
  X,
267
- V
268
- ]), we = s((e) => {
269
- _(e);
282
+ V,
283
+ o
284
+ ]), Ee = s((e) => {
285
+ v(e);
270
286
  }, []);
271
- return /* @__PURE__ */ C("div", {
287
+ return /* @__PURE__ */ S("div", {
272
288
  style: {
273
289
  minHeight: "100vh",
274
290
  backgroundColor: "var(--color-bg-canvas)"
275
291
  },
276
292
  children: [
277
- /* @__PURE__ */ C("div", {
293
+ /* @__PURE__ */ S("div", {
278
294
  style: {
279
295
  padding: "var(--space-pagePadding)",
280
296
  maxWidth: 960,
281
297
  margin: "0 auto"
282
298
  },
283
299
  children: [
284
- /* @__PURE__ */ C("div", {
300
+ /* @__PURE__ */ S("div", {
285
301
  className: "relative mb-[var(--space-sectionGap)] overflow-hidden rounded-card border border-border-seam bg-gloss-card p-6",
286
302
  children: [
287
- /* @__PURE__ */ S(ae, { intensity: "subtle" }),
288
- /* @__PURE__ */ C("div", {
303
+ /* @__PURE__ */ x(oe, { intensity: "subtle" }),
304
+ /* @__PURE__ */ S("div", {
289
305
  style: {
290
306
  display: "flex",
291
307
  alignItems: "center",
292
308
  gap: "var(--space-iconGap)"
293
309
  },
294
- children: [/* @__PURE__ */ S(h, {
310
+ children: [/* @__PURE__ */ x(h, {
295
311
  size: 24,
296
312
  style: { color: "var(--color-action-primary-bg)" }
297
- }), /* @__PURE__ */ S("h1", {
313
+ }), /* @__PURE__ */ x("h1", {
298
314
  style: {
299
315
  fontSize: "var(--font-size-heading-h4)",
300
316
  fontWeight: "var(--font-weight-bold)",
301
317
  color: "var(--color-text-primary)"
302
318
  },
303
- children: /* @__PURE__ */ S(ce, { children: "AI Insights" })
319
+ children: /* @__PURE__ */ x(le, { children: o("bigconsole.insights.header.title", "AI Insights") })
304
320
  })]
305
321
  }),
306
- /* @__PURE__ */ S("p", {
322
+ /* @__PURE__ */ x("p", {
307
323
  style: {
308
324
  fontSize: "var(--font-size-body-md)",
309
325
  color: "var(--color-text-secondary)",
310
326
  marginTop: 4
311
327
  },
312
- children: "Generate dashboards from natural language prompts"
328
+ children: o("bigconsole.insights.header.subtitle", "Generate dashboards from natural language prompts")
313
329
  })
314
330
  ]
315
331
  }),
316
- /* @__PURE__ */ C(oe, {
332
+ /* @__PURE__ */ S(se, {
317
333
  className: "mb-[var(--space-sectionGap)] p-[var(--space-cardPadding)]",
318
334
  children: [
319
- /* @__PURE__ */ S("label", {
335
+ /* @__PURE__ */ x("label", {
320
336
  htmlFor: "prompt-input",
321
337
  style: {
322
338
  display: "block",
@@ -325,13 +341,13 @@ var D = o(function() {
325
341
  color: "var(--color-text-primary)",
326
342
  marginBottom: 8
327
343
  },
328
- children: "Describe the dashboard you want to create"
344
+ children: o("bigconsole.insights.prompt.label", "Describe the dashboard you want to create")
329
345
  }),
330
- /* @__PURE__ */ S("textarea", {
346
+ /* @__PURE__ */ x("textarea", {
331
347
  id: "prompt-input",
332
- value: p,
333
- onChange: (e) => _(e.target.value),
334
- placeholder: "e.g., Create a sales dashboard showing revenue trends, top products, and regional performance",
348
+ value: _,
349
+ onChange: (e) => v(e.target.value),
350
+ placeholder: o("bigconsole.insights.prompt.placeholder", "e.g., Create a sales dashboard showing revenue trends, top products, and regional performance"),
335
351
  rows: 3,
336
352
  maxLength: 2e3,
337
353
  style: {
@@ -349,7 +365,7 @@ var D = o(function() {
349
365
  e.key === "Enter" && (e.metaKey || e.ctrlKey) && $();
350
366
  }
351
367
  }),
352
- /* @__PURE__ */ C("div", {
368
+ /* @__PURE__ */ S("div", {
353
369
  style: {
354
370
  display: "flex",
355
371
  justifyContent: "space-between",
@@ -358,15 +374,15 @@ var D = o(function() {
358
374
  flexWrap: "wrap",
359
375
  gap: 8
360
376
  },
361
- children: [/* @__PURE__ */ S("span", {
377
+ children: [/* @__PURE__ */ x("span", {
362
378
  style: {
363
379
  fontSize: "var(--font-size-body-sm)",
364
380
  color: "var(--color-text-muted)"
365
381
  },
366
- children: "Press Ctrl+Enter to generate"
367
- }), /* @__PURE__ */ C("button", {
382
+ children: o("bigconsole.insights.prompt.hint", "Press Ctrl+Enter to generate")
383
+ }), /* @__PURE__ */ S("button", {
368
384
  onClick: $,
369
- disabled: !p.trim() || v,
385
+ disabled: !_.trim() || E,
370
386
  style: {
371
387
  display: "flex",
372
388
  alignItems: "center",
@@ -378,18 +394,18 @@ var D = o(function() {
378
394
  fontWeight: "var(--font-weight-medium)",
379
395
  fontSize: "var(--font-size-body-sm)",
380
396
  border: "none",
381
- cursor: !p.trim() || v ? "not-allowed" : "pointer",
382
- opacity: !p.trim() || v ? .5 : 1
397
+ cursor: !_.trim() || E ? "not-allowed" : "pointer",
398
+ opacity: !_.trim() || E ? .5 : 1
383
399
  },
384
- children: [v ? /* @__PURE__ */ S(m, {
400
+ children: [E ? /* @__PURE__ */ x(m, {
385
401
  size: 16,
386
402
  className: "animate-spin"
387
- }) : /* @__PURE__ */ S(h, { size: 16 }), "Generate Dashboard"]
403
+ }) : /* @__PURE__ */ x(h, { size: 16 }), o("bigconsole.insights.prompt.generateButton", "Generate Dashboard")]
388
404
  })]
389
405
  })
390
406
  ]
391
407
  }),
392
- O && /* @__PURE__ */ C("div", {
408
+ O && /* @__PURE__ */ S("div", {
393
409
  style: {
394
410
  display: "flex",
395
411
  alignItems: "center",
@@ -403,14 +419,14 @@ var D = o(function() {
403
419
  color: "var(--color-status-error-text)",
404
420
  fontSize: "var(--font-size-body-sm)"
405
421
  },
406
- children: [/* @__PURE__ */ C("div", {
422
+ children: [/* @__PURE__ */ S("div", {
407
423
  style: {
408
424
  display: "flex",
409
425
  alignItems: "center",
410
426
  gap: 8
411
427
  },
412
- children: [/* @__PURE__ */ S(u, { size: 16 }), O]
413
- }), /* @__PURE__ */ S("button", {
428
+ children: [/* @__PURE__ */ x(u, { size: 16 }), O]
429
+ }), /* @__PURE__ */ x("button", {
414
430
  onClick: () => k(null),
415
431
  style: {
416
432
  background: "none",
@@ -420,28 +436,28 @@ var D = o(function() {
420
436
  fontSize: "var(--font-size-body-md)",
421
437
  padding: "0 4px"
422
438
  },
423
- "aria-label": "Dismiss error",
439
+ "aria-label": o("bigconsole.insights.error.dismiss", "Dismiss error"),
424
440
  children: "×"
425
441
  })]
426
442
  }),
427
- Q.length > 0 && /* @__PURE__ */ C("div", {
443
+ Q.length > 0 && /* @__PURE__ */ S("div", {
428
444
  style: { marginBottom: "var(--space-sectionGap)" },
429
- children: [/* @__PURE__ */ S("h2", {
445
+ children: [/* @__PURE__ */ x("h2", {
430
446
  style: {
431
447
  fontSize: "var(--font-size-body-md)",
432
448
  fontWeight: "var(--font-weight-semibold)",
433
449
  color: "var(--color-text-primary)",
434
450
  marginBottom: 12
435
451
  },
436
- children: "Suggestions"
437
- }), /* @__PURE__ */ S("div", {
452
+ children: o("bigconsole.insights.suggestions.heading", "Suggestions")
453
+ }), /* @__PURE__ */ x("div", {
438
454
  style: {
439
455
  display: "grid",
440
456
  gridTemplateColumns: "repeat(auto-fill, minmax(min(280px, 100%), 1fr))",
441
457
  gap: 12
442
458
  },
443
- children: Q.map((e) => /* @__PURE__ */ C("button", {
444
- onClick: () => we(e.prompt),
459
+ children: Q.map((e) => /* @__PURE__ */ S("button", {
460
+ onClick: () => Ee(e.prompt),
445
461
  style: {
446
462
  textAlign: "left",
447
463
  padding: 12,
@@ -451,7 +467,7 @@ var D = o(function() {
451
467
  cursor: "pointer"
452
468
  },
453
469
  children: [
454
- /* @__PURE__ */ S("div", {
470
+ /* @__PURE__ */ x("div", {
455
471
  style: {
456
472
  fontWeight: "var(--font-weight-medium)",
457
473
  fontSize: "var(--font-size-body-sm)",
@@ -460,7 +476,7 @@ var D = o(function() {
460
476
  },
461
477
  children: e.title
462
478
  }),
463
- /* @__PURE__ */ S("div", {
479
+ /* @__PURE__ */ x("div", {
464
480
  style: {
465
481
  fontSize: "var(--font-size-body-sm)",
466
482
  color: "var(--color-text-secondary)",
@@ -468,14 +484,14 @@ var D = o(function() {
468
484
  },
469
485
  children: e.exampleDescription || e.prompt.slice(0, 80)
470
486
  }),
471
- /* @__PURE__ */ S("div", {
487
+ /* @__PURE__ */ x("div", {
472
488
  style: {
473
489
  display: "flex",
474
490
  gap: 4,
475
491
  marginTop: 8,
476
492
  flexWrap: "wrap"
477
493
  },
478
- children: e.tags.slice(0, 3).map((e) => /* @__PURE__ */ S("span", {
494
+ children: e.tags.slice(0, 3).map((e) => /* @__PURE__ */ x("span", {
479
495
  style: {
480
496
  fontSize: 11,
481
497
  padding: "2px 6px",
@@ -490,47 +506,47 @@ var D = o(function() {
490
506
  }, e.id))
491
507
  })]
492
508
  }),
493
- /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("h2", {
509
+ /* @__PURE__ */ S("div", { children: [/* @__PURE__ */ x("h2", {
494
510
  style: {
495
511
  fontSize: "var(--font-size-body-md)",
496
512
  fontWeight: "var(--font-weight-semibold)",
497
513
  color: "var(--color-text-primary)",
498
514
  marginBottom: 12
499
515
  },
500
- children: "Recent Generations"
501
- }), _e && Z.length === 0 ? /* @__PURE__ */ C("div", {
516
+ children: o("bigconsole.insights.generations.heading", "Recent Generations")
517
+ }), ye && Z.length === 0 ? /* @__PURE__ */ S("div", {
502
518
  style: {
503
519
  textAlign: "center",
504
520
  padding: 40,
505
521
  color: "var(--color-text-muted)"
506
522
  },
507
- children: [/* @__PURE__ */ S(m, {
523
+ children: [/* @__PURE__ */ x(m, {
508
524
  size: 24,
509
525
  className: "animate-spin",
510
526
  style: { margin: "0 auto 8px" }
511
- }), /* @__PURE__ */ S("p", { children: "Loading generations..." })]
512
- }) : Z.length === 0 && !v ? /* @__PURE__ */ S(se, {
527
+ }), /* @__PURE__ */ x("p", { children: o("bigconsole.insights.generations.loading", "Loading generations...") })]
528
+ }) : Z.length === 0 && !E ? /* @__PURE__ */ x(ce, {
513
529
  treatment: "insight",
514
530
  className: "border-border-seam",
515
- children: /* @__PURE__ */ S(x, {
531
+ children: /* @__PURE__ */ x(ue, {
516
532
  illustration: "onboarding",
517
- title: "No generations yet",
518
- description: "Describe a dashboard above to get started"
533
+ title: o("bigconsole.insights.generations.emptyTitle", "No generations yet"),
534
+ description: o("bigconsole.insights.generations.emptyDescription", "Describe a dashboard above to get started")
519
535
  })
520
- }) : /* @__PURE__ */ C("div", {
536
+ }) : /* @__PURE__ */ S("div", {
521
537
  style: {
522
538
  display: "flex",
523
539
  flexDirection: "column",
524
540
  gap: 12
525
541
  },
526
- children: [v && !W && /* @__PURE__ */ S("div", {
542
+ children: [E && !W && /* @__PURE__ */ x("div", {
527
543
  style: {
528
544
  padding: 16,
529
545
  borderRadius: "var(--radius-card)",
530
546
  border: "1px solid var(--color-border)",
531
547
  backgroundColor: "var(--color-bg-surface)"
532
548
  },
533
- children: /* @__PURE__ */ C("div", {
549
+ children: /* @__PURE__ */ S("div", {
534
550
  style: {
535
551
  display: "flex",
536
552
  alignItems: "center",
@@ -538,16 +554,16 @@ var D = o(function() {
538
554
  minWidth: 0
539
555
  },
540
556
  children: [
541
- T("PROCESSING"),
542
- /* @__PURE__ */ S("span", {
557
+ w("PROCESSING"),
558
+ /* @__PURE__ */ x("span", {
543
559
  style: {
544
560
  fontSize: "var(--font-size-body-sm)",
545
561
  fontWeight: "var(--font-weight-medium)",
546
562
  color: "var(--color-text-primary)"
547
563
  },
548
- children: "Generating..."
564
+ children: o("bigconsole.insights.generations.generating", "Generating...")
549
565
  }),
550
- /* @__PURE__ */ S("span", {
566
+ /* @__PURE__ */ x("span", {
551
567
  style: {
552
568
  fontSize: 11,
553
569
  color: "var(--color-text-muted)",
@@ -555,18 +571,18 @@ var D = o(function() {
555
571
  borderRadius: 4,
556
572
  backgroundColor: "var(--color-bg-sunken)"
557
573
  },
558
- children: E("PROCESSING")
574
+ children: T("PROCESSING", o)
559
575
  })
560
576
  ]
561
577
  })
562
- }), Z.map((e) => /* @__PURE__ */ S("div", {
578
+ }), Z.map((e) => /* @__PURE__ */ x("div", {
563
579
  style: {
564
580
  padding: 16,
565
581
  borderRadius: "var(--radius-card)",
566
582
  border: "1px solid var(--color-border)",
567
583
  backgroundColor: "var(--color-bg-surface)"
568
584
  },
569
- children: /* @__PURE__ */ C("div", {
585
+ children: /* @__PURE__ */ S("div", {
570
586
  style: {
571
587
  display: "flex",
572
588
  justifyContent: "space-between",
@@ -574,13 +590,13 @@ var D = o(function() {
574
590
  flexWrap: "wrap",
575
591
  gap: 8
576
592
  },
577
- children: [/* @__PURE__ */ C("div", {
593
+ children: [/* @__PURE__ */ S("div", {
578
594
  style: {
579
595
  flex: "1 1 200px",
580
596
  minWidth: 0
581
597
  },
582
598
  children: [
583
- /* @__PURE__ */ C("div", {
599
+ /* @__PURE__ */ S("div", {
584
600
  style: {
585
601
  display: "flex",
586
602
  alignItems: "center",
@@ -589,8 +605,8 @@ var D = o(function() {
589
605
  minWidth: 0
590
606
  },
591
607
  children: [
592
- T(e.status),
593
- /* @__PURE__ */ S("span", {
608
+ w(e.status),
609
+ /* @__PURE__ */ x("span", {
594
610
  style: {
595
611
  fontSize: "var(--font-size-body-sm)",
596
612
  fontWeight: "var(--font-weight-medium)",
@@ -600,9 +616,9 @@ var D = o(function() {
600
616
  textOverflow: "ellipsis",
601
617
  whiteSpace: "nowrap"
602
618
  },
603
- children: e.generatedSpec?.name || "Generating..."
619
+ children: e.generatedSpec?.name || o("bigconsole.insights.generations.generating", "Generating...")
604
620
  }),
605
- /* @__PURE__ */ S("span", {
621
+ /* @__PURE__ */ x("span", {
606
622
  style: {
607
623
  fontSize: 11,
608
624
  color: "var(--color-text-muted)",
@@ -610,11 +626,11 @@ var D = o(function() {
610
626
  borderRadius: 4,
611
627
  backgroundColor: "var(--color-bg-sunken)"
612
628
  },
613
- children: E(e.status)
629
+ children: T(e.status, o)
614
630
  })
615
631
  ]
616
632
  }),
617
- /* @__PURE__ */ S("p", {
633
+ /* @__PURE__ */ x("p", {
618
634
  style: {
619
635
  fontSize: "var(--font-size-body-sm)",
620
636
  color: "var(--color-text-secondary)",
@@ -622,23 +638,18 @@ var D = o(function() {
622
638
  },
623
639
  children: e.prompt.length > 120 ? e.prompt.slice(0, 120) + "..." : e.prompt
624
640
  }),
625
- e.generatedSpec && /* @__PURE__ */ C("div", {
641
+ e.generatedSpec && /* @__PURE__ */ x("div", {
626
642
  style: {
627
643
  fontSize: 11,
628
644
  color: "var(--color-text-muted)"
629
645
  },
630
- children: [
631
- e.generatedSpec.pages.reduce((e, t) => e + t.widgets.length, 0),
632
- " widgets across",
633
- " ",
634
- e.generatedSpec.pages.length,
635
- " page(s) ·",
636
- " ",
637
- Math.round(e.generatedSpec.overallConfidence * 100),
638
- "% confidence"
639
- ]
646
+ children: o("bigconsole.insights.generations.summary", "{{widgets}} widgets across {{pages}} page(s) · {{confidence}}% confidence", {
647
+ widgets: e.generatedSpec.pages.reduce((e, t) => e + t.widgets.length, 0),
648
+ pages: e.generatedSpec.pages.length,
649
+ confidence: Math.round(e.generatedSpec.overallConfidence * 100)
650
+ })
640
651
  }),
641
- e.errorMessage && /* @__PURE__ */ C("div", {
652
+ e.errorMessage && /* @__PURE__ */ S("div", {
642
653
  style: {
643
654
  display: "flex",
644
655
  alignItems: "center",
@@ -647,22 +658,22 @@ var D = o(function() {
647
658
  fontSize: "var(--font-size-body-sm)",
648
659
  color: "var(--color-status-error-text)"
649
660
  },
650
- children: [/* @__PURE__ */ S(u, { size: 14 }), e.errorMessage]
661
+ children: [/* @__PURE__ */ x(u, { size: 14 }), e.errorMessage]
651
662
  })
652
663
  ]
653
- }), /* @__PURE__ */ C("div", {
664
+ }), /* @__PURE__ */ S("div", {
654
665
  style: {
655
666
  display: "flex",
656
667
  gap: 8,
657
668
  flexWrap: "wrap"
658
669
  },
659
670
  children: [
660
- w.includes(e.status) && /* @__PURE__ */ C("button", {
671
+ C.includes(e.status) && /* @__PURE__ */ S("button", {
661
672
  onClick: () => {
662
- i("medium"), xe(e.id);
673
+ i("medium"), Ce(e.id);
663
674
  },
664
675
  disabled: A.has(e.id),
665
- title: "Cancel generation",
676
+ title: o("bigconsole.insights.actions.cancelTitle", "Cancel generation"),
666
677
  style: {
667
678
  display: "flex",
668
679
  alignItems: "center",
@@ -675,11 +686,15 @@ var D = o(function() {
675
686
  fontSize: "var(--font-size-body-sm)",
676
687
  cursor: A.has(e.id) ? "wait" : "pointer"
677
688
  },
678
- children: [/* @__PURE__ */ S(ee, { size: 14 }), " Cancel"]
689
+ children: [
690
+ /* @__PURE__ */ x(ee, { size: 14 }),
691
+ " ",
692
+ o("bigconsole.insights.actions.cancel", "Cancel")
693
+ ]
679
694
  }),
680
- e.status === "COMPLETED" && e.generatedSpec && /* @__PURE__ */ C("button", {
695
+ e.status === "COMPLETED" && e.generatedSpec && /* @__PURE__ */ S("button", {
681
696
  onClick: () => N(e),
682
- title: "Preview proposed layout",
697
+ title: o("bigconsole.insights.actions.previewTitle", "Preview proposed layout"),
683
698
  style: {
684
699
  display: "flex",
685
700
  alignItems: "center",
@@ -692,13 +707,17 @@ var D = o(function() {
692
707
  fontSize: "var(--font-size-body-sm)",
693
708
  cursor: "pointer"
694
709
  },
695
- children: [/* @__PURE__ */ S(te, { size: 14 }), " Preview"]
710
+ children: [
711
+ /* @__PURE__ */ x(te, { size: 14 }),
712
+ " ",
713
+ o("bigconsole.insights.actions.preview", "Preview")
714
+ ]
696
715
  }),
697
- e.status === "COMPLETED" && e.generatedSpec && /* @__PURE__ */ C("button", {
716
+ e.status === "COMPLETED" && e.generatedSpec && /* @__PURE__ */ S("button", {
698
717
  onClick: () => {
699
718
  F(e), L("");
700
719
  },
701
- title: "Refine with instructions",
720
+ title: o("bigconsole.insights.actions.refineTitle", "Refine with instructions"),
702
721
  style: {
703
722
  display: "flex",
704
723
  alignItems: "center",
@@ -711,14 +730,18 @@ var D = o(function() {
711
730
  fontSize: "var(--font-size-body-sm)",
712
731
  cursor: "pointer"
713
732
  },
714
- children: [/* @__PURE__ */ S(g, { size: 14 }), " Refine"]
733
+ children: [
734
+ /* @__PURE__ */ x(g, { size: 14 }),
735
+ " ",
736
+ o("bigconsole.insights.actions.refine", "Refine")
737
+ ]
715
738
  }),
716
- (e.status === "COMPLETED" || e.status === "FAILED" || e.status === "CANCELLED") && /* @__PURE__ */ C("button", {
739
+ (e.status === "COMPLETED" || e.status === "FAILED" || e.status === "CANCELLED") && /* @__PURE__ */ S("button", {
717
740
  onClick: () => {
718
- i("medium"), Se(e.id);
741
+ i("medium"), we(e.id);
719
742
  },
720
743
  disabled: A.has(e.id),
721
- title: "Regenerate with the same prompt",
744
+ title: o("bigconsole.insights.actions.regenerateTitle", "Regenerate with the same prompt"),
722
745
  style: {
723
746
  display: "flex",
724
747
  alignItems: "center",
@@ -731,13 +754,17 @@ var D = o(function() {
731
754
  fontSize: "var(--font-size-body-sm)",
732
755
  cursor: A.has(e.id) ? "wait" : "pointer"
733
756
  },
734
- children: [/* @__PURE__ */ S(ne, {
735
- size: 14,
736
- className: A.has(e.id) ? "animate-spin" : ""
737
- }), " Regenerate"]
757
+ children: [
758
+ /* @__PURE__ */ x(ne, {
759
+ size: 14,
760
+ className: A.has(e.id) ? "animate-spin" : ""
761
+ }),
762
+ " ",
763
+ o("bigconsole.insights.actions.regenerate", "Regenerate")
764
+ ]
738
765
  }),
739
- e.status === "COMPLETED" && !e.dashboardId && /* @__PURE__ */ C("button", {
740
- onClick: () => ye(e.id),
766
+ e.status === "COMPLETED" && !e.dashboardId && /* @__PURE__ */ S("button", {
767
+ onClick: () => xe(e.id),
741
768
  style: {
742
769
  display: "flex",
743
770
  alignItems: "center",
@@ -750,10 +777,14 @@ var D = o(function() {
750
777
  fontSize: "var(--font-size-body-sm)",
751
778
  cursor: "pointer"
752
779
  },
753
- children: ["Create ", /* @__PURE__ */ S(d, { size: 14 })]
780
+ children: [
781
+ o("bigconsole.insights.actions.create", "Create"),
782
+ " ",
783
+ /* @__PURE__ */ x(d, { size: 14 })
784
+ ]
754
785
  }),
755
- e.dashboardId && /* @__PURE__ */ C("button", {
756
- onClick: () => o(`/dashboards/${e.dashboardId}`),
786
+ e.dashboardId && /* @__PURE__ */ S("button", {
787
+ onClick: () => f(`/dashboards/${e.dashboardId}`),
757
788
  style: {
758
789
  display: "flex",
759
790
  alignItems: "center",
@@ -766,13 +797,17 @@ var D = o(function() {
766
797
  fontSize: "var(--font-size-body-sm)",
767
798
  cursor: "pointer"
768
799
  },
769
- children: ["View Dashboard ", /* @__PURE__ */ S(d, { size: 14 })]
800
+ children: [
801
+ o("bigconsole.insights.actions.viewDashboard", "View Dashboard"),
802
+ " ",
803
+ /* @__PURE__ */ x(d, { size: 14 })
804
+ ]
770
805
  }),
771
- /* @__PURE__ */ S("button", {
806
+ /* @__PURE__ */ x("button", {
772
807
  onClick: () => {
773
- i("medium"), be(e.id);
808
+ i("medium"), Se(e.id);
774
809
  },
775
- title: "Delete generation",
810
+ title: o("bigconsole.insights.actions.deleteTitle", "Delete generation"),
776
811
  style: {
777
812
  display: "flex",
778
813
  alignItems: "center",
@@ -783,7 +818,7 @@ var D = o(function() {
783
818
  color: "var(--color-text-muted)",
784
819
  cursor: "pointer"
785
820
  },
786
- children: /* @__PURE__ */ S(re, { size: 14 })
821
+ children: /* @__PURE__ */ x(re, { size: 14 })
787
822
  })
788
823
  ]
789
824
  })]
@@ -792,10 +827,10 @@ var D = o(function() {
792
827
  })] })
793
828
  ]
794
829
  }),
795
- M?.generatedSpec && /* @__PURE__ */ S("div", {
830
+ M?.generatedSpec && /* @__PURE__ */ x("div", {
796
831
  role: "dialog",
797
832
  "aria-modal": "true",
798
- "aria-label": "Generation preview",
833
+ "aria-label": o("bigconsole.insights.preview.ariaLabel", "Generation preview"),
799
834
  onClick: () => N(null),
800
835
  style: {
801
836
  position: "fixed",
@@ -807,7 +842,7 @@ var D = o(function() {
807
842
  justifyContent: "center",
808
843
  padding: "var(--space-pagePadding)"
809
844
  },
810
- children: /* @__PURE__ */ C("div", {
845
+ children: /* @__PURE__ */ S("div", {
811
846
  onClick: (e) => e.stopPropagation(),
812
847
  style: {
813
848
  width: "min(640px, 100%)",
@@ -820,7 +855,7 @@ var D = o(function() {
820
855
  padding: "var(--space-cardPadding)"
821
856
  },
822
857
  children: [
823
- /* @__PURE__ */ C("div", {
858
+ /* @__PURE__ */ S("div", {
824
859
  style: {
825
860
  display: "flex",
826
861
  justifyContent: "space-between",
@@ -828,15 +863,15 @@ var D = o(function() {
828
863
  gap: 8,
829
864
  marginBottom: "var(--space-controlGap)"
830
865
  },
831
- children: [/* @__PURE__ */ C("div", {
866
+ children: [/* @__PURE__ */ S("div", {
832
867
  style: { minWidth: 0 },
833
- children: [/* @__PURE__ */ S("h3", {
868
+ children: [/* @__PURE__ */ x("h3", {
834
869
  style: {
835
870
  fontSize: "var(--font-size-heading-h4)",
836
871
  fontWeight: "var(--font-weight-semibold)"
837
872
  },
838
873
  children: M.generatedSpec.name
839
- }), M.generatedSpec.description && /* @__PURE__ */ S("p", {
874
+ }), M.generatedSpec.description && /* @__PURE__ */ x("p", {
840
875
  style: {
841
876
  fontSize: "var(--font-size-body-sm)",
842
877
  color: "var(--color-text-muted)",
@@ -844,9 +879,9 @@ var D = o(function() {
844
879
  },
845
880
  children: M.generatedSpec.description
846
881
  })]
847
- }), /* @__PURE__ */ S("button", {
882
+ }), /* @__PURE__ */ x("button", {
848
883
  onClick: () => N(null),
849
- "aria-label": "Close preview",
884
+ "aria-label": o("bigconsole.insights.preview.close", "Close preview"),
850
885
  style: {
851
886
  display: "flex",
852
887
  padding: 4,
@@ -856,29 +891,24 @@ var D = o(function() {
856
891
  color: "var(--color-text-muted)",
857
892
  cursor: "pointer"
858
893
  },
859
- children: /* @__PURE__ */ S(ie, { size: 18 })
894
+ children: /* @__PURE__ */ x(ie, { size: 18 })
860
895
  })]
861
896
  }),
862
- /* @__PURE__ */ C("div", {
897
+ /* @__PURE__ */ x("div", {
863
898
  style: {
864
899
  fontSize: 11,
865
900
  color: "var(--color-text-muted)",
866
901
  marginBottom: "var(--space-controlGap)"
867
902
  },
868
- children: [
869
- M.generatedSpec.pages.reduce((e, t) => e + t.widgets.length, 0),
870
- " widgets across",
871
- " ",
872
- M.generatedSpec.pages.length,
873
- " page(s) ·",
874
- " ",
875
- Math.round(M.generatedSpec.overallConfidence * 100),
876
- "% confidence"
877
- ]
903
+ children: o("bigconsole.insights.generations.summary", "{{widgets}} widgets across {{pages}} page(s) · {{confidence}}% confidence", {
904
+ widgets: M.generatedSpec.pages.reduce((e, t) => e + t.widgets.length, 0),
905
+ pages: M.generatedSpec.pages.length,
906
+ confidence: Math.round(M.generatedSpec.overallConfidence * 100)
907
+ })
878
908
  }),
879
- M.generatedSpec.pages.map((e, t) => /* @__PURE__ */ C("div", {
909
+ M.generatedSpec.pages.map((e, t) => /* @__PURE__ */ S("div", {
880
910
  style: { marginBottom: "var(--space-controlGap)" },
881
- children: [/* @__PURE__ */ S("div", {
911
+ children: [/* @__PURE__ */ x("div", {
882
912
  style: {
883
913
  fontSize: "var(--font-size-body-sm)",
884
914
  fontWeight: "var(--font-weight-medium)",
@@ -886,13 +916,13 @@ var D = o(function() {
886
916
  marginBottom: 4
887
917
  },
888
918
  children: e.name
889
- }), /* @__PURE__ */ S("div", {
919
+ }), /* @__PURE__ */ x("div", {
890
920
  style: {
891
921
  display: "flex",
892
922
  flexWrap: "wrap",
893
923
  gap: 6
894
924
  },
895
- children: e.widgets.map((e, t) => /* @__PURE__ */ C("span", {
925
+ children: e.widgets.map((e, t) => /* @__PURE__ */ S("span", {
896
926
  style: {
897
927
  fontSize: 11,
898
928
  padding: "3px 8px",
@@ -911,10 +941,10 @@ var D = o(function() {
911
941
  ]
912
942
  })
913
943
  }),
914
- P && /* @__PURE__ */ S("div", {
944
+ P && /* @__PURE__ */ x("div", {
915
945
  role: "dialog",
916
946
  "aria-modal": "true",
917
- "aria-label": "Refine generation",
947
+ "aria-label": o("bigconsole.insights.refine.ariaLabel", "Refine generation"),
918
948
  onClick: () => F(null),
919
949
  style: {
920
950
  position: "fixed",
@@ -926,7 +956,7 @@ var D = o(function() {
926
956
  justifyContent: "center",
927
957
  padding: "var(--space-pagePadding)"
928
958
  },
929
- children: /* @__PURE__ */ C("div", {
959
+ children: /* @__PURE__ */ S("div", {
930
960
  onClick: (e) => e.stopPropagation(),
931
961
  style: {
932
962
  width: "min(520px, 100%)",
@@ -937,28 +967,28 @@ var D = o(function() {
937
967
  padding: "var(--space-cardPadding)"
938
968
  },
939
969
  children: [
940
- /* @__PURE__ */ S("h3", {
970
+ /* @__PURE__ */ x("h3", {
941
971
  style: {
942
972
  fontSize: "var(--font-size-heading-h4)",
943
973
  fontWeight: "var(--font-weight-semibold)",
944
974
  marginBottom: 4
945
975
  },
946
- children: "Refine dashboard"
976
+ children: o("bigconsole.insights.refine.heading", "Refine dashboard")
947
977
  }),
948
- /* @__PURE__ */ S("p", {
978
+ /* @__PURE__ */ x("p", {
949
979
  style: {
950
980
  fontSize: "var(--font-size-body-sm)",
951
981
  color: "var(--color-text-muted)",
952
982
  marginBottom: "var(--space-controlGap)"
953
983
  },
954
- children: "Describe what to change — the AI keeps the existing spec and applies your instructions."
984
+ children: o("bigconsole.insights.refine.subtitle", "Describe what to change — the AI keeps the existing spec and applies your instructions.")
955
985
  }),
956
- /* @__PURE__ */ S("textarea", {
986
+ /* @__PURE__ */ x("textarea", {
957
987
  value: I,
958
988
  onChange: (e) => L(e.target.value),
959
989
  maxLength: 2e3,
960
990
  rows: 4,
961
- placeholder: "e.g., Add a revenue-by-region map and remove the duplicate KPI cards",
991
+ placeholder: o("bigconsole.insights.refine.placeholder", "e.g., Add a revenue-by-region map and remove the duplicate KPI cards"),
962
992
  style: {
963
993
  width: "100%",
964
994
  resize: "vertical",
@@ -971,14 +1001,14 @@ var D = o(function() {
971
1001
  marginBottom: "var(--space-controlGap)"
972
1002
  }
973
1003
  }),
974
- /* @__PURE__ */ C("div", {
1004
+ /* @__PURE__ */ S("div", {
975
1005
  style: {
976
1006
  display: "flex",
977
1007
  justifyContent: "flex-end",
978
1008
  gap: 8,
979
1009
  flexWrap: "wrap"
980
1010
  },
981
- children: [/* @__PURE__ */ S("button", {
1011
+ children: [/* @__PURE__ */ x("button", {
982
1012
  onClick: () => F(null),
983
1013
  style: {
984
1014
  padding: "8px 16px",
@@ -989,9 +1019,9 @@ var D = o(function() {
989
1019
  fontSize: "var(--font-size-body-sm)",
990
1020
  cursor: "pointer"
991
1021
  },
992
- children: "Cancel"
993
- }), /* @__PURE__ */ C("button", {
994
- onClick: () => void Ce(),
1022
+ children: o("bigconsole.insights.actions.cancel", "Cancel")
1023
+ }), /* @__PURE__ */ S("button", {
1024
+ onClick: () => void Te(),
995
1025
  disabled: !I.trim() || A.has(P.id),
996
1026
  style: {
997
1027
  display: "flex",
@@ -1006,10 +1036,10 @@ var D = o(function() {
1006
1036
  cursor: !I.trim() || A.has(P.id) ? "not-allowed" : "pointer",
1007
1037
  opacity: I.trim() ? 1 : .6
1008
1038
  },
1009
- children: [A.has(P.id) ? /* @__PURE__ */ S(m, {
1039
+ children: [A.has(P.id) ? /* @__PURE__ */ x(m, {
1010
1040
  size: 14,
1011
1041
  className: "animate-spin"
1012
- }) : /* @__PURE__ */ S(g, { size: 14 }), "Apply refinement"]
1042
+ }) : /* @__PURE__ */ x(g, { size: 14 }), o("bigconsole.insights.refine.apply", "Apply refinement")]
1013
1043
  })]
1014
1044
  })
1015
1045
  ]
@@ -1019,6 +1049,6 @@ var D = o(function() {
1019
1049
  });
1020
1050
  });
1021
1051
  //#endregion
1022
- export { D as InsightsPage, D as default };
1052
+ export { E as InsightsPage, E as default };
1023
1053
 
1024
1054
  //# sourceMappingURL=InsightsPage.js.map