@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
@@ -12,42 +12,43 @@ import { BuilderCanvas as s } from "../components/builder/BuilderCanvas.js";
12
12
  import { BuilderTopbar as c } from "../components/builder/BuilderTopbar.js";
13
13
  import { DashboardEditorShell as ee } from "../components/builder/DashboardEditorShell.js";
14
14
  import "../components/builder/index.js";
15
- import { findNextAvailablePosition as l } from "../utils/widgetPositioning.js";
16
- import u from "../components/dashboard/DashboardCanvas.js";
17
- import te from "../components/dashboard/ExportDashboardDialog.js";
15
+ import { findNextAvailablePosition as te } from "../utils/widgetPositioning.js";
16
+ import ne from "../components/dashboard/DashboardCanvas.js";
17
+ import re from "../components/dashboard/ExportDashboardDialog.js";
18
18
  import "../components/dashboard/index.js";
19
- import ne from "../customWidget/CustomWidgetBuilderSheet.js";
19
+ import ie from "../customWidget/CustomWidgetBuilderSheet.js";
20
20
  import "../customWidget/index.js";
21
- import { memo as d, useCallback as f, useEffect as p, useState as m } from "react";
22
- import { useParams as h } from "react-router";
23
- import { AccessDenied as g } from "@burdenoff/fe-libs/shared/components";
24
- import { usePermissions as _ } from "@burdenoff/fe-libs/shared/providers/shell";
25
- import { jsx as v, jsxs as y } from "react/jsx-runtime";
21
+ import { memo as l, useCallback as u, useEffect as d, useState as f } from "react";
22
+ import { useParams as p } from "react-router";
23
+ import { AccessDenied as ae } from "@burdenoff/fe-libs/shared/components";
24
+ import { usePermissions as m } from "@burdenoff/fe-libs/shared/providers/shell";
25
+ import { useI18n as h } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
26
+ import { jsx as g, jsxs as _ } from "react/jsx-runtime";
26
27
  //#region src/bigconsole/pages/DashboardBuilderPage.tsx
27
- function b() {
28
+ function v() {
28
29
  try {
29
30
  return window.__breadcrumbRegistry;
30
31
  } catch {
31
32
  return;
32
33
  }
33
34
  }
34
- function re(e, t) {
35
- let n = b();
35
+ function oe(e, t) {
36
+ let n = v();
36
37
  n?.register && n.register(e, t);
37
38
  }
38
- function ie(e) {
39
- let t = b();
39
+ function se(e) {
40
+ let t = v();
40
41
  t?.unregister && t.unregister(e);
41
42
  }
42
- var x = d(function() {
43
- let { dashboardId: d } = h(), b = n(), { hasPermission: x, isLoading: ae } = _(), oe = x(o.DASHBOARD_READ), se = x(o.DASHBOARD_UPDATE), S = x(o.DASHBOARD_EXPORT), C = x(o.WIDGET_CREATE), [ce, w] = m(!1), [T, E] = m(null), [D, O] = m(!1), [le, k] = m(!1), [A, j] = m(null), { fetchDashboard: M, updateDashboard: N, loading: ue, error: P } = i(), { createWidget: F, updateWidget: I, deleteWidget: L, duplicateWidget: R, batchUpdatePositions: z } = r(void 0, d), { createPage: B, updatePage: V, deletePage: H, reorderPages: U } = a(), W = t((e) => e.setCurrentDashboard), G = t((e) => e.currentDashboard), K = t((e) => e.setViewMode), q = e((e) => e.selectWidget), J = e((e) => e.widgets), Y = e((e) => e.clipboardWidgetId), X = e((e) => e.clipboardAction), Z = e((e) => e.clearClipboard);
44
- p(() => (K("edit"), () => K("view")), [K]), p(() => {
45
- if (!d) {
46
- b("/dashboards");
43
+ var y = l(function() {
44
+ let { dashboardId: l } = p(), v = n(), { t: y } = h(), { hasPermission: b, isLoading: ce } = m(), x = b(o.DASHBOARD_READ), S = b(o.DASHBOARD_UPDATE), C = b(o.DASHBOARD_EXPORT), le = b(o.WIDGET_CREATE), [w, T] = f(!1), [E, D] = f(null), [ue, O] = f(!1), [k, A] = f(!1), [j, M] = f(null), { fetchDashboard: N, updateDashboard: P, loading: de, error: F } = i(), { createWidget: I, updateWidget: L, deleteWidget: R, duplicateWidget: z, batchUpdatePositions: B } = r(void 0, l), { createPage: V, updatePage: H, deletePage: U, reorderPages: W } = a(), G = t((e) => e.setCurrentDashboard), K = t((e) => e.currentDashboard), q = t((e) => e.setViewMode), J = e((e) => e.selectWidget), Y = e((e) => e.widgets), X = e((e) => e.clipboardWidgetId), Z = e((e) => e.clipboardAction), Q = e((e) => e.clearClipboard);
45
+ d(() => (q("edit"), () => q("view")), [q]), d(() => {
46
+ if (!l) {
47
+ v("/dashboards");
47
48
  return;
48
49
  }
49
- return M(d).then((e) => {
50
- e ? (W({
50
+ return N(l).then((e) => {
51
+ e ? (G({
51
52
  ...e,
52
53
  title: e.name,
53
54
  description: e.description ?? "",
@@ -58,37 +59,37 @@ var x = d(function() {
58
59
  index: t,
59
60
  layoutConfig: e.layoutConfig ?? {}
60
61
  }))
61
- }), e.pages.length > 0 && !A && j(e.pages[0].id), e.name && re(d, e.name)) : b("/dashboards");
62
+ }), e.pages.length > 0 && !j && M(e.pages[0].id), e.name && oe(l, e.name)) : v("/dashboards");
62
63
  }), () => {
63
- d && ie(d);
64
+ l && se(l);
64
65
  };
65
66
  }, [
66
- d,
67
- b,
68
- W,
69
- M,
70
- A
67
+ l,
68
+ v,
69
+ G,
70
+ N,
71
+ j
71
72
  ]);
72
- let Q = f(async () => {
73
- let e = A ?? G?.pages?.[0]?.id;
74
- if (!Y || !d || !e) return;
75
- let t = J.get(Y);
73
+ let $ = u(async () => {
74
+ let e = j ?? K?.pages?.[0]?.id;
75
+ if (!X || !l || !e) return;
76
+ let t = Y.get(X);
76
77
  if (!t) {
77
- Z();
78
+ Q();
78
79
  return;
79
80
  }
80
- let n = Array.from(J.values()).filter((t) => t.pageId === e), r = {
81
+ let n = Array.from(Y.values()).filter((t) => t.pageId === e), r = {
81
82
  width: t.positionWidth ?? 4,
82
83
  height: t.positionHeight ?? 4
83
- }, { x: i, y: a } = l(n, r, { cols: 12 }), o = {
84
+ }, { x: i, y: a } = te(n, r, { cols: 12 }), o = {
84
85
  x: i,
85
86
  y: a,
86
87
  width: r.width,
87
88
  height: r.height
88
- }, s = X === "copy" ? `${t.title} (Copy)` : t.title, c = await R(Y, o, s).catch(() => null);
89
- c ||= await F({
89
+ }, s = Z === "copy" ? y("bigconsole.dashboards.builder.actions.copySuffix", "{{title}} (Copy)", { title: t.title }) : t.title, c = await z(X, o, s).catch(() => null);
90
+ c ||= await I({
90
91
  pageId: e,
91
- dashboardId: d,
92
+ dashboardId: l,
92
93
  type: t.type,
93
94
  title: s,
94
95
  description: t.description,
@@ -100,21 +101,22 @@ var x = d(function() {
100
101
  position: o,
101
102
  refreshInterval: t.refreshInterval ?? void 0,
102
103
  metadata: t.metadata
103
- }), c && (q(c.id), X === "cut" && await L(Y)), Z();
104
+ }), c && (J(c.id), Z === "cut" && await R(X)), Q();
104
105
  }, [
105
- Y,
106
106
  X,
107
- d,
108
- A,
109
- G,
110
- J,
107
+ Z,
108
+ l,
109
+ j,
110
+ K,
111
+ Y,
112
+ z,
113
+ I,
111
114
  R,
112
- F,
113
- L,
114
- q,
115
- Z
115
+ J,
116
+ Q,
117
+ y
116
118
  ]);
117
- p(() => {
119
+ d(() => {
118
120
  let n = (n) => {
119
121
  if (t.getState().viewMode !== "edit" || n.target?.closest("input, textarea, select, [contenteditable=\"true\"]") || document.querySelector("[data-slot=\"dialog-overlay\"]")) return;
120
122
  let r = e.getState(), i = r.selectedWidgetId;
@@ -123,22 +125,22 @@ var x = d(function() {
123
125
  return;
124
126
  }
125
127
  if ((n.key === "Delete" || n.key === "Backspace") && i) {
126
- n.preventDefault(), L(i), r.selectWidget(null);
128
+ n.preventDefault(), R(i), r.selectWidget(null);
127
129
  return;
128
130
  }
129
- (n.metaKey || n.ctrlKey) && (n.key === "c" && i ? r.copyWidget(i) : n.key === "x" && i ? r.cutWidget(i) : n.key === "v" && (n.preventDefault(), Q()));
131
+ (n.metaKey || n.ctrlKey) && (n.key === "c" && i ? r.copyWidget(i) : n.key === "x" && i ? r.cutWidget(i) : n.key === "v" && (n.preventDefault(), $()));
130
132
  };
131
133
  return document.addEventListener("keydown", n, !0), () => document.removeEventListener("keydown", n, !0);
132
- }, [L, Q]);
133
- let $ = f(() => {
134
- b("/dashboards");
135
- }, [b]), de = f(async () => {
136
- if (d) {
137
- w(!0), E(null);
134
+ }, [R, $]);
135
+ let fe = u(() => {
136
+ v("/dashboards");
137
+ }, [v]), pe = u(async () => {
138
+ if (l) {
139
+ T(!0), D(null);
138
140
  try {
139
141
  let t = e.getState(), n = Array.from(t.widgets.values()), r = t.dirtyWidgetIds, i = n.filter((e) => r.has(e.id));
140
142
  if (i.length > 0) {
141
- let e = i.map((e) => I({
143
+ let e = i.map((e) => L({
142
144
  id: e.id,
143
145
  title: e.title,
144
146
  config: e.config,
@@ -150,7 +152,7 @@ var x = d(function() {
150
152
  }));
151
153
  await Promise.all(e), t.clearAllDirty();
152
154
  }
153
- n.length > 0 && await z(n.map((e) => ({
155
+ n.length > 0 && await B(n.map((e) => ({
154
156
  id: e.id,
155
157
  position: e.position || {
156
158
  x: e.positionX ?? 0,
@@ -158,204 +160,207 @@ var x = d(function() {
158
160
  width: e.positionWidth ?? 4,
159
161
  height: e.positionHeight ?? 4
160
162
  }
161
- }))), G && await N({
162
- id: d,
163
- name: G.title,
164
- description: G.description
163
+ }))), K && await P({
164
+ id: l,
165
+ name: K.title,
166
+ description: K.description
165
167
  });
166
168
  } catch (e) {
167
- E(e instanceof Error ? e.message : "Failed to save dashboard");
169
+ D(e instanceof Error ? e.message : y("bigconsole.dashboards.builder.errors.saveFailed", "Failed to save dashboard"));
168
170
  } finally {
169
- w(!1);
171
+ T(!1);
170
172
  }
171
173
  }
172
174
  }, [
173
- d,
174
- G,
175
- I,
176
- z,
177
- N
178
- ]), fe = f(() => {
175
+ l,
176
+ K,
177
+ L,
178
+ B,
179
+ P,
180
+ y
181
+ ]), me = u(() => {
179
182
  O(!0);
180
- }, []), pe = f(() => {
183
+ }, []), he = u(() => {
181
184
  O(!1);
182
- }, []), me = f((e) => {
183
- j(e);
184
- }, []), he = f(async () => {
185
- if (!G || !d) return;
186
- let e = await B({
187
- dashboardId: d,
188
- name: `Page ${G.pages.length + 1}`
185
+ }, []), ge = u((e) => {
186
+ M(e);
187
+ }, []), _e = u(async () => {
188
+ if (!K || !l) return;
189
+ let e = await V({
190
+ dashboardId: l,
191
+ name: y("bigconsole.dashboards.builder.actions.newPageName", "Page {{count}}", { count: K.pages.length + 1 })
189
192
  });
190
- e && (W({
191
- ...G,
192
- pages: [...G.pages, {
193
+ e && (G({
194
+ ...K,
195
+ pages: [...K.pages, {
193
196
  id: e.id,
194
197
  title: e.name,
195
198
  index: e.order,
196
199
  layoutConfig: e.layoutConfig || {}
197
200
  }]
198
- }), j(e.id));
201
+ }), M(e.id));
199
202
  }, [
203
+ K,
204
+ l,
200
205
  G,
201
- d,
202
- W,
203
- B
204
- ]), ge = f(async (e, t) => {
205
- G && await V({
206
+ V,
207
+ y
208
+ ]), ve = u(async (e, t) => {
209
+ K && await H({
206
210
  id: e,
207
211
  name: t
208
- }) && W({
209
- ...G,
210
- pages: G.pages.map((n) => n.id === e ? {
212
+ }) && G({
213
+ ...K,
214
+ pages: K.pages.map((n) => n.id === e ? {
211
215
  ...n,
212
216
  title: t
213
217
  } : n)
214
218
  });
215
219
  }, [
220
+ K,
216
221
  G,
217
- W,
218
- V
219
- ]), _e = f(async (e) => {
220
- if (!G || !d) return;
221
- let t = G.pages.find((t) => t.id === e);
222
+ H
223
+ ]), ye = u(async (e) => {
224
+ if (!K || !l) return;
225
+ let t = K.pages.find((t) => t.id === e);
222
226
  if (!t) return;
223
- let n = await B({
224
- dashboardId: d,
225
- name: `${t.title} (Copy)`
227
+ let n = await V({
228
+ dashboardId: l,
229
+ name: y("bigconsole.dashboards.builder.actions.copySuffix", "{{title}} (Copy)", { title: t.title ?? "" })
226
230
  });
227
- n && (W({
228
- ...G,
229
- pages: [...G.pages, {
231
+ n && (G({
232
+ ...K,
233
+ pages: [...K.pages, {
230
234
  id: n.id,
231
235
  title: n.name,
232
236
  index: n.order,
233
237
  layoutConfig: n.layoutConfig || {}
234
238
  }]
235
- }), j(n.id));
239
+ }), M(n.id));
236
240
  }, [
241
+ K,
242
+ l,
237
243
  G,
238
- d,
239
- W,
240
- B
241
- ]), ve = f(async (e) => {
242
- if (!(!G || G.pages.length <= 1) && await H(e)) {
243
- let t = G.pages.filter((t) => t.id !== e).map((e, t) => ({
244
+ V,
245
+ y
246
+ ]), be = u(async (e) => {
247
+ if (!(!K || K.pages.length <= 1) && await U(e)) {
248
+ let t = K.pages.filter((t) => t.id !== e).map((e, t) => ({
244
249
  ...e,
245
250
  index: t
246
251
  }));
247
- W({
248
- ...G,
252
+ G({
253
+ ...K,
249
254
  pages: t
250
- }), A === e && j(t[0]?.id || null);
255
+ }), j === e && M(t[0]?.id || null);
251
256
  }
252
257
  }, [
258
+ K,
253
259
  G,
254
- W,
255
- A,
256
- H
257
- ]), ye = f(async (e) => {
258
- !G || !d || (W({
259
- ...G,
260
+ j,
261
+ U
262
+ ]), xe = u(async (e) => {
263
+ !K || !l || (G({
264
+ ...K,
260
265
  pages: e.map((e, t) => ({
261
266
  ...e,
262
267
  index: t
263
268
  }))
264
- }), await U(d, e.map((e) => e.id)));
269
+ }), await W(l, e.map((e) => e.id)));
265
270
  }, [
271
+ K,
272
+ l,
266
273
  G,
267
- d,
268
- W,
269
- U
274
+ W
270
275
  ]);
271
- return ae ? /* @__PURE__ */ v("div", {
276
+ return ce ? /* @__PURE__ */ g("div", {
272
277
  className: "flex items-center justify-center h-full",
273
- children: /* @__PURE__ */ v("div", { className: "animate-spin w-8 h-8 border-4 border-action-primary-bg border-t-transparent rounded-full" })
274
- }) : oe ? P ? /* @__PURE__ */ v("div", {
278
+ children: /* @__PURE__ */ g("div", { className: "animate-spin w-8 h-8 border-4 border-action-primary-bg border-t-transparent rounded-full" })
279
+ }) : x ? F ? /* @__PURE__ */ g("div", {
275
280
  className: "flex flex-col items-center justify-center h-full p-6",
276
- children: /* @__PURE__ */ y("div", {
281
+ children: /* @__PURE__ */ _("div", {
277
282
  className: "bg-status-error-bg border border-status-error-border rounded-lg p-4 max-w-md",
278
283
  children: [
279
- /* @__PURE__ */ v("h3", {
284
+ /* @__PURE__ */ g("h3", {
280
285
  className: "text-sm font-medium text-status-error-text",
281
- children: "Failed to load dashboard"
286
+ children: y("bigconsole.dashboards.builder.errors.loadFailed", "Failed to load dashboard")
282
287
  }),
283
- /* @__PURE__ */ v("p", {
288
+ /* @__PURE__ */ g("p", {
284
289
  className: "text-sm text-text-secondary mt-1",
285
- children: P.message
290
+ children: F.message
286
291
  }),
287
- /* @__PURE__ */ v("button", {
292
+ /* @__PURE__ */ g("button", {
288
293
  type: "button",
289
- onClick: () => b("/dashboards"),
294
+ onClick: () => v("/dashboards"),
290
295
  className: "mt-3 px-3 py-1.5 text-sm font-medium text-action-primary-fg bg-action-primary-bg hover:bg-action-primary-bgHover rounded-md",
291
- children: "Back to Dashboards"
296
+ children: y("bigconsole.dashboards.builder.actions.backToDashboards", "Back to Dashboards")
292
297
  })
293
298
  ]
294
299
  })
295
- }) : ue || !G ? /* @__PURE__ */ v("div", {
300
+ }) : de || !K ? /* @__PURE__ */ g("div", {
296
301
  className: "flex items-center justify-center h-full",
297
- children: /* @__PURE__ */ v("div", { className: "animate-spin w-8 h-8 border-4 border-action-primary-bg border-t-transparent rounded-full" })
298
- }) : /* @__PURE__ */ y(ee, {
299
- topbar: /* @__PURE__ */ v(c, {
300
- title: G.title || "Untitled dashboard",
301
- onBack: $,
302
- actions: /* @__PURE__ */ y("div", {
302
+ children: /* @__PURE__ */ g("div", { className: "animate-spin w-8 h-8 border-4 border-action-primary-bg border-t-transparent rounded-full" })
303
+ }) : /* @__PURE__ */ _(ee, {
304
+ topbar: /* @__PURE__ */ g(c, {
305
+ title: K.title || y("bigconsole.dashboards.builder.header.untitledDashboard", "Untitled dashboard"),
306
+ onBack: fe,
307
+ actions: /* @__PURE__ */ _("div", {
303
308
  className: "flex items-center gap-2",
304
- children: [T ? /* @__PURE__ */ v("span", {
309
+ children: [E ? /* @__PURE__ */ g("span", {
305
310
  className: "text-xs font-medium text-status-error-text",
306
311
  role: "alert",
307
- children: T
308
- }) : null, C ? /* @__PURE__ */ v("button", {
312
+ children: E
313
+ }) : null, le ? /* @__PURE__ */ g("button", {
309
314
  type: "button",
310
315
  "data-testid": "open-custom-widget-builder",
311
- onClick: () => k(!0),
316
+ onClick: () => A(!0),
312
317
  className: "rounded-md border border-border-default px-2 py-1 text-xs font-medium text-text-primary hover:bg-bg-sunken focus:outline-none focus-visible:ring-2 focus-visible:ring-action-primary-bg",
313
- children: "AI widget"
318
+ children: y("bigconsole.dashboards.builder.toolbar.aiWidget", "AI widget")
314
319
  }) : null]
315
320
  })
316
321
  }),
317
322
  children: [
318
- /* @__PURE__ */ v(s, { canvas: /* @__PURE__ */ v(u, {
319
- dashboardId: G.id,
320
- pageId: A || G.pages?.[0]?.id,
321
- title: G.title,
322
- onPaste: Q,
323
- onSave: se ? de : void 0,
324
- isSaving: ce,
325
- onExport: S ? fe : void 0,
326
- pages: G.pages.map((e) => ({
323
+ /* @__PURE__ */ g(s, { canvas: /* @__PURE__ */ g(ne, {
324
+ dashboardId: K.id,
325
+ pageId: j || K.pages?.[0]?.id,
326
+ title: K.title,
327
+ onPaste: $,
328
+ onSave: S ? pe : void 0,
329
+ isSaving: w,
330
+ onExport: C ? me : void 0,
331
+ pages: K.pages.map((e) => ({
327
332
  id: e.id,
328
- name: e.title || `Page ${(e.index ?? 0) + 1}`,
333
+ name: e.title || y("bigconsole.dashboards.builder.actions.newPageName", "Page {{count}}", { count: (e.index ?? 0) + 1 }),
329
334
  order: e.index ?? 0
330
335
  })),
331
- activePageId: A || G.pages?.[0]?.id,
332
- onPageChange: me,
333
- onPageAdd: he,
334
- onPageRename: ge,
335
- onPageDuplicate: _e,
336
- onPageDelete: ve,
337
- onPagesReorder: ye,
336
+ activePageId: j || K.pages?.[0]?.id,
337
+ onPageChange: ge,
338
+ onPageAdd: _e,
339
+ onPageRename: ve,
340
+ onPageDuplicate: ye,
341
+ onPageDelete: be,
342
+ onPagesReorder: xe,
338
343
  showPageTabs: !0
339
344
  }) }),
340
- /* @__PURE__ */ v(te, {
341
- isOpen: D,
342
- dashboardId: G.id,
343
- dashboardName: G.title,
344
- onClose: pe
345
+ /* @__PURE__ */ g(re, {
346
+ isOpen: ue,
347
+ dashboardId: K.id,
348
+ dashboardName: K.title,
349
+ onClose: he
345
350
  }),
346
- /* @__PURE__ */ v(ne, {
347
- isOpen: le,
348
- onClose: () => k(!1),
349
- dashboardId: G.id,
350
- pageId: A || G.pages?.[0]?.id || ""
351
+ /* @__PURE__ */ g(ie, {
352
+ isOpen: k,
353
+ onClose: () => A(!1),
354
+ dashboardId: K.id,
355
+ pageId: j || K.pages?.[0]?.id || ""
351
356
  })
352
357
  ]
353
- }) : /* @__PURE__ */ v(g, {
354
- title: "Access Denied",
355
- description: "You don't have permission to view this dashboard."
358
+ }) : /* @__PURE__ */ g(ae, {
359
+ title: y("bigconsole.dashboards.builder.errors.accessDeniedTitle", "Access Denied"),
360
+ description: y("bigconsole.dashboards.builder.errors.accessDeniedDescription", "You don't have permission to view this dashboard.")
356
361
  });
357
362
  });
358
363
  //#endregion
359
- export { x as DashboardBuilderPage, x as default };
364
+ export { y as DashboardBuilderPage, y as default };
360
365
 
361
366
  //# sourceMappingURL=DashboardBuilderPage.js.map