@burdenoff/microfe-bigconsole 2026.805.1 → 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 (150) hide show
  1. package/dist/bigconsole/AdminRoot.js +21 -16
  2. package/dist/bigconsole/AdminRoot.js.map +1 -1
  3. package/dist/bigconsole/BigConsoleRoot.js +44 -39
  4. package/dist/bigconsole/BigConsoleRoot.js.map +1 -1
  5. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +109 -113
  6. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js.map +1 -1
  7. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +115 -113
  8. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +1 -1
  9. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +71 -62
  10. package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +1 -1
  11. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +116 -100
  12. package/dist/bigconsole/components/dashboard/DashboardToolbar.js.map +1 -1
  13. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +56 -54
  14. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js.map +1 -1
  15. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +126 -125
  16. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js.map +1 -1
  17. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +151 -150
  18. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js.map +1 -1
  19. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +77 -76
  20. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js.map +1 -1
  21. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +97 -96
  22. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +1 -1
  23. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +172 -191
  24. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +1 -1
  25. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js +100 -98
  26. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js.map +1 -1
  27. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +75 -83
  28. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js.map +1 -1
  29. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +151 -154
  30. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js.map +1 -1
  31. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +187 -193
  32. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js.map +1 -1
  33. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js +1 -0
  34. package/dist/bigconsole/components/dashboard/WidgetPalette.js +110 -108
  35. package/dist/bigconsole/components/dashboard/WidgetPalette.js.map +1 -1
  36. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +102 -103
  37. package/dist/bigconsole/components/datasink/CacheTTLSelector.js.map +1 -1
  38. package/dist/bigconsole/components/datasink/DataSinkCard.js +20 -20
  39. package/dist/bigconsole/components/datasink/DataSinkCard.js.map +1 -1
  40. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +36 -41
  41. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js.map +1 -1
  42. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +38 -37
  43. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js.map +1 -1
  44. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +113 -117
  45. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js.map +1 -1
  46. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +182 -197
  47. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +1 -1
  48. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +166 -168
  49. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js.map +1 -1
  50. package/dist/bigconsole/components/parser/DataSinkSelector.js +87 -86
  51. package/dist/bigconsole/components/parser/DataSinkSelector.js.map +1 -1
  52. package/dist/bigconsole/components/parser/ImportParserDialog.js +196 -211
  53. package/dist/bigconsole/components/parser/ImportParserDialog.js.map +1 -1
  54. package/dist/bigconsole/components/parser/ParserSelector.js +130 -128
  55. package/dist/bigconsole/components/parser/ParserSelector.js.map +1 -1
  56. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +66 -63
  57. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js.map +1 -1
  58. package/dist/bigconsole/components/preview/AiPreviewPanel.js +95 -91
  59. package/dist/bigconsole/components/preview/AiPreviewPanel.js.map +1 -1
  60. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +243 -230
  61. package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +1 -1
  62. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +149 -145
  63. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +1 -1
  64. package/dist/bigconsole/components/widgets/PropertiesPanel.js +504 -470
  65. package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +1 -1
  66. package/dist/bigconsole/components/widgets/WidgetMenu.js +87 -76
  67. package/dist/bigconsole/components/widgets/WidgetMenu.js.map +1 -1
  68. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +44 -47
  69. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js.map +1 -1
  70. package/dist/bigconsole/components/widgets/chart/ChartConfig.js +143 -142
  71. package/dist/bigconsole/components/widgets/chart/ChartConfig.js.map +1 -1
  72. package/dist/bigconsole/components/widgets/comments/WidgetComments.js +101 -88
  73. package/dist/bigconsole/components/widgets/comments/WidgetComments.js.map +1 -1
  74. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +135 -134
  75. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js.map +1 -1
  76. package/dist/bigconsole/components/widgets/form/FormWidget.js +167 -159
  77. package/dist/bigconsole/components/widgets/form/FormWidget.js.map +1 -1
  78. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +69 -68
  79. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js.map +1 -1
  80. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +64 -72
  81. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js.map +1 -1
  82. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +60 -59
  83. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js.map +1 -1
  84. package/dist/bigconsole/components/widgets/list/ListConfig.js +57 -56
  85. package/dist/bigconsole/components/widgets/list/ListConfig.js.map +1 -1
  86. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +70 -69
  87. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js.map +1 -1
  88. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +35 -34
  89. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js.map +1 -1
  90. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +20 -19
  91. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js.map +1 -1
  92. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +178 -177
  93. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js.map +1 -1
  94. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +76 -75
  95. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js.map +1 -1
  96. package/dist/bigconsole/components/widgets/table/TableConfig.js +183 -168
  97. package/dist/bigconsole/components/widgets/table/TableConfig.js.map +1 -1
  98. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +187 -180
  99. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js.map +1 -1
  100. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js +120 -118
  101. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js.map +1 -1
  102. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +40 -38
  103. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js.map +1 -1
  104. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +150 -148
  105. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +1 -1
  106. package/dist/bigconsole/pages/DashboardBuilderPage.js +189 -175
  107. package/dist/bigconsole/pages/DashboardBuilderPage.js.map +1 -1
  108. package/dist/bigconsole/pages/DashboardViewPage.js +200 -187
  109. package/dist/bigconsole/pages/DashboardViewPage.js.map +1 -1
  110. package/dist/bigconsole/pages/DashboardsPage.js +379 -324
  111. package/dist/bigconsole/pages/DashboardsPage.js.map +1 -1
  112. package/dist/bigconsole/pages/DataParsersPage.js +185 -178
  113. package/dist/bigconsole/pages/DataParsersPage.js.map +1 -1
  114. package/dist/bigconsole/pages/DataSinkBuilderPage.js +195 -170
  115. package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -1
  116. package/dist/bigconsole/pages/DataSinkViewPage.js +224 -200
  117. package/dist/bigconsole/pages/DataSinkViewPage.js.map +1 -1
  118. package/dist/bigconsole/pages/DataSinksPage.js +281 -268
  119. package/dist/bigconsole/pages/DataSinksPage.js.map +1 -1
  120. package/dist/bigconsole/pages/DataSourcesPage.js +8 -7
  121. package/dist/bigconsole/pages/DataSourcesPage.js.map +1 -1
  122. package/dist/bigconsole/pages/InsightsPage.js +238 -208
  123. package/dist/bigconsole/pages/InsightsPage.js.map +1 -1
  124. package/dist/bigconsole/pages/ParserBuilderPage.js +480 -413
  125. package/dist/bigconsole/pages/ParserBuilderPage.js.map +1 -1
  126. package/dist/bigconsole/pages/ParserViewPage.js +192 -172
  127. package/dist/bigconsole/pages/ParserViewPage.js.map +1 -1
  128. package/dist/bigconsole/pages/PipelineBuilderPage.js +198 -163
  129. package/dist/bigconsole/pages/PipelineBuilderPage.js.map +1 -1
  130. package/dist/bigconsole/pages/PipelineViewPage.js +138 -133
  131. package/dist/bigconsole/pages/PipelineViewPage.js.map +1 -1
  132. package/dist/bigconsole/pages/PipelinesPage.js +162 -136
  133. package/dist/bigconsole/pages/PipelinesPage.js.map +1 -1
  134. package/dist/bigconsole/pages/SettingsPage.js +177 -172
  135. package/dist/bigconsole/pages/SettingsPage.js.map +1 -1
  136. package/dist/bigconsole/pages/WidgetDemoPage.js +121 -83
  137. package/dist/bigconsole/pages/WidgetDemoPage.js.map +1 -1
  138. package/dist/bigconsole/pages/WorkflowViewPage.js +269 -242
  139. package/dist/bigconsole/pages/WorkflowViewPage.js.map +1 -1
  140. package/dist/bigconsole/pages/WorkflowsPage.js +153 -138
  141. package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -1
  142. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +111 -109
  143. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js.map +1 -1
  144. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +127 -126
  145. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js.map +1 -1
  146. package/dist/bigconsole/renderers/adapters/CustomRenderer.js +103 -103
  147. package/dist/bigconsole/renderers/adapters/CustomRenderer.js.map +1 -1
  148. package/dist/constants/permissions.js +83 -0
  149. package/dist/constants/permissions.js.map +1 -0
  150. package/package.json +2 -1
@@ -7,44 +7,48 @@ import r from "../hooks/useWidgetOperations.js";
7
7
  import i from "../hooks/useDashboardOperations.js";
8
8
  import a from "../hooks/usePageOperations.js";
9
9
  import "../hooks/index.js";
10
- import { BuilderCanvas as o } from "../components/builder/BuilderCanvas.js";
11
- import { BuilderTopbar as s } from "../components/builder/BuilderTopbar.js";
12
- import { DashboardEditorShell as c } from "../components/builder/DashboardEditorShell.js";
10
+ import { BIGCONSOLE_PERMISSIONS as o } from "../../constants/permissions.js";
11
+ import { BuilderCanvas as s } from "../components/builder/BuilderCanvas.js";
12
+ import { BuilderTopbar as c } from "../components/builder/BuilderTopbar.js";
13
+ import { DashboardEditorShell as ee } from "../components/builder/DashboardEditorShell.js";
13
14
  import "../components/builder/index.js";
14
- import { findNextAvailablePosition as l } from "../utils/widgetPositioning.js";
15
- import u from "../components/dashboard/DashboardCanvas.js";
16
- import d 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";
17
18
  import "../components/dashboard/index.js";
18
- import f from "../customWidget/CustomWidgetBuilderSheet.js";
19
+ import ie from "../customWidget/CustomWidgetBuilderSheet.js";
19
20
  import "../customWidget/index.js";
20
- import { memo as p, useCallback as m, useEffect as h, useState as g } from "react";
21
- import { useParams as ee } from "react-router";
22
- import { jsx as _, jsxs as v } 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";
23
27
  //#region src/bigconsole/pages/DashboardBuilderPage.tsx
24
- function y() {
28
+ function v() {
25
29
  try {
26
30
  return window.__breadcrumbRegistry;
27
31
  } catch {
28
32
  return;
29
33
  }
30
34
  }
31
- function b(e, t) {
32
- let n = y();
35
+ function oe(e, t) {
36
+ let n = v();
33
37
  n?.register && n.register(e, t);
34
38
  }
35
- function x(e) {
36
- let t = y();
39
+ function se(e) {
40
+ let t = v();
37
41
  t?.unregister && t.unregister(e);
38
42
  }
39
- var S = p(function() {
40
- let { dashboardId: p } = ee(), y = n(), [S, C] = g(!1), [w, T] = g(null), [E, D] = g(!1), [te, O] = g(!1), [k, A] = g(null), { fetchDashboard: j, updateDashboard: M, loading: N, error: P } = i(), { createWidget: F, updateWidget: I, deleteWidget: L, duplicateWidget: R, batchUpdatePositions: z } = r(void 0, p), { 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);
41
- h(() => (K("edit"), () => K("view")), [K]), h(() => {
42
- if (!p) {
43
- y("/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");
44
48
  return;
45
49
  }
46
- return j(p).then((e) => {
47
- e ? (W({
50
+ return N(l).then((e) => {
51
+ e ? (G({
48
52
  ...e,
49
53
  title: e.name,
50
54
  description: e.description ?? "",
@@ -55,37 +59,37 @@ var S = p(function() {
55
59
  index: t,
56
60
  layoutConfig: e.layoutConfig ?? {}
57
61
  }))
58
- }), e.pages.length > 0 && !k && A(e.pages[0].id), e.name && b(p, e.name)) : y("/dashboards");
62
+ }), e.pages.length > 0 && !j && M(e.pages[0].id), e.name && oe(l, e.name)) : v("/dashboards");
59
63
  }), () => {
60
- p && x(p);
64
+ l && se(l);
61
65
  };
62
66
  }, [
63
- p,
64
- y,
65
- W,
66
- j,
67
- k
67
+ l,
68
+ v,
69
+ G,
70
+ N,
71
+ j
68
72
  ]);
69
- let Q = m(async () => {
70
- let e = k ?? G?.pages?.[0]?.id;
71
- if (!Y || !p || !e) return;
72
- 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);
73
77
  if (!t) {
74
- Z();
78
+ Q();
75
79
  return;
76
80
  }
77
- 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 = {
78
82
  width: t.positionWidth ?? 4,
79
83
  height: t.positionHeight ?? 4
80
- }, { x: i, y: a } = l(n, r, { cols: 12 }), o = {
84
+ }, { x: i, y: a } = te(n, r, { cols: 12 }), o = {
81
85
  x: i,
82
86
  y: a,
83
87
  width: r.width,
84
88
  height: r.height
85
- }, s = X === "copy" ? `${t.title} (Copy)` : t.title, c = await R(Y, o, s).catch(() => null);
86
- 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({
87
91
  pageId: e,
88
- dashboardId: p,
92
+ dashboardId: l,
89
93
  type: t.type,
90
94
  title: s,
91
95
  description: t.description,
@@ -97,21 +101,22 @@ var S = p(function() {
97
101
  position: o,
98
102
  refreshInterval: t.refreshInterval ?? void 0,
99
103
  metadata: t.metadata
100
- }), c && (q(c.id), X === "cut" && await L(Y)), Z();
104
+ }), c && (J(c.id), Z === "cut" && await R(X)), Q();
101
105
  }, [
102
- Y,
103
106
  X,
104
- p,
105
- k,
106
- G,
107
- J,
107
+ Z,
108
+ l,
109
+ j,
110
+ K,
111
+ Y,
112
+ z,
113
+ I,
108
114
  R,
109
- F,
110
- L,
111
- q,
112
- Z
115
+ J,
116
+ Q,
117
+ y
113
118
  ]);
114
- h(() => {
119
+ d(() => {
115
120
  let n = (n) => {
116
121
  if (t.getState().viewMode !== "edit" || n.target?.closest("input, textarea, select, [contenteditable=\"true\"]") || document.querySelector("[data-slot=\"dialog-overlay\"]")) return;
117
122
  let r = e.getState(), i = r.selectedWidgetId;
@@ -120,22 +125,22 @@ var S = p(function() {
120
125
  return;
121
126
  }
122
127
  if ((n.key === "Delete" || n.key === "Backspace") && i) {
123
- n.preventDefault(), L(i), r.selectWidget(null);
128
+ n.preventDefault(), R(i), r.selectWidget(null);
124
129
  return;
125
130
  }
126
- (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(), $()));
127
132
  };
128
133
  return document.addEventListener("keydown", n, !0), () => document.removeEventListener("keydown", n, !0);
129
- }, [L, Q]);
130
- let ne = m(() => {
131
- y("/dashboards");
132
- }, [y]), re = m(async () => {
133
- if (p) {
134
- C(!0), T(null);
134
+ }, [R, $]);
135
+ let fe = u(() => {
136
+ v("/dashboards");
137
+ }, [v]), pe = u(async () => {
138
+ if (l) {
139
+ T(!0), D(null);
135
140
  try {
136
141
  let t = e.getState(), n = Array.from(t.widgets.values()), r = t.dirtyWidgetIds, i = n.filter((e) => r.has(e.id));
137
142
  if (i.length > 0) {
138
- let e = i.map((e) => I({
143
+ let e = i.map((e) => L({
139
144
  id: e.id,
140
145
  title: e.title,
141
146
  config: e.config,
@@ -147,7 +152,7 @@ var S = p(function() {
147
152
  }));
148
153
  await Promise.all(e), t.clearAllDirty();
149
154
  }
150
- n.length > 0 && await z(n.map((e) => ({
155
+ n.length > 0 && await B(n.map((e) => ({
151
156
  id: e.id,
152
157
  position: e.position || {
153
158
  x: e.positionX ?? 0,
@@ -155,198 +160,207 @@ var S = p(function() {
155
160
  width: e.positionWidth ?? 4,
156
161
  height: e.positionHeight ?? 4
157
162
  }
158
- }))), G && await M({
159
- id: p,
160
- name: G.title,
161
- description: G.description
163
+ }))), K && await P({
164
+ id: l,
165
+ name: K.title,
166
+ description: K.description
162
167
  });
163
168
  } catch (e) {
164
- T(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"));
165
170
  } finally {
166
- C(!1);
171
+ T(!1);
167
172
  }
168
173
  }
169
174
  }, [
170
- p,
171
- G,
172
- I,
173
- z,
174
- M
175
- ]), $ = m(() => {
176
- D(!0);
177
- }, []), ie = m(() => {
178
- D(!1);
179
- }, []), ae = m((e) => {
180
- A(e);
181
- }, []), oe = m(async () => {
182
- if (!G || !p) return;
183
- let e = await B({
184
- dashboardId: p,
185
- name: `Page ${G.pages.length + 1}`
175
+ l,
176
+ K,
177
+ L,
178
+ B,
179
+ P,
180
+ y
181
+ ]), me = u(() => {
182
+ O(!0);
183
+ }, []), he = u(() => {
184
+ O(!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 })
186
192
  });
187
- e && (W({
188
- ...G,
189
- pages: [...G.pages, {
193
+ e && (G({
194
+ ...K,
195
+ pages: [...K.pages, {
190
196
  id: e.id,
191
197
  title: e.name,
192
198
  index: e.order,
193
199
  layoutConfig: e.layoutConfig || {}
194
200
  }]
195
- }), A(e.id));
201
+ }), M(e.id));
196
202
  }, [
203
+ K,
204
+ l,
197
205
  G,
198
- p,
199
- W,
200
- B
201
- ]), se = m(async (e, t) => {
202
- G && await V({
206
+ V,
207
+ y
208
+ ]), ve = u(async (e, t) => {
209
+ K && await H({
203
210
  id: e,
204
211
  name: t
205
- }) && W({
206
- ...G,
207
- pages: G.pages.map((n) => n.id === e ? {
212
+ }) && G({
213
+ ...K,
214
+ pages: K.pages.map((n) => n.id === e ? {
208
215
  ...n,
209
216
  title: t
210
217
  } : n)
211
218
  });
212
219
  }, [
220
+ K,
213
221
  G,
214
- W,
215
- V
216
- ]), ce = m(async (e) => {
217
- if (!G || !p) return;
218
- 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);
219
226
  if (!t) return;
220
- let n = await B({
221
- dashboardId: p,
222
- 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 ?? "" })
223
230
  });
224
- n && (W({
225
- ...G,
226
- pages: [...G.pages, {
231
+ n && (G({
232
+ ...K,
233
+ pages: [...K.pages, {
227
234
  id: n.id,
228
235
  title: n.name,
229
236
  index: n.order,
230
237
  layoutConfig: n.layoutConfig || {}
231
238
  }]
232
- }), A(n.id));
239
+ }), M(n.id));
233
240
  }, [
241
+ K,
242
+ l,
234
243
  G,
235
- p,
236
- W,
237
- B
238
- ]), le = m(async (e) => {
239
- if (!(!G || G.pages.length <= 1) && await H(e)) {
240
- 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) => ({
241
249
  ...e,
242
250
  index: t
243
251
  }));
244
- W({
245
- ...G,
252
+ G({
253
+ ...K,
246
254
  pages: t
247
- }), k === e && A(t[0]?.id || null);
255
+ }), j === e && M(t[0]?.id || null);
248
256
  }
249
257
  }, [
258
+ K,
250
259
  G,
251
- W,
252
- k,
253
- H
254
- ]), ue = m(async (e) => {
255
- !G || !p || (W({
256
- ...G,
260
+ j,
261
+ U
262
+ ]), xe = u(async (e) => {
263
+ !K || !l || (G({
264
+ ...K,
257
265
  pages: e.map((e, t) => ({
258
266
  ...e,
259
267
  index: t
260
268
  }))
261
- }), await U(p, e.map((e) => e.id)));
269
+ }), await W(l, e.map((e) => e.id)));
262
270
  }, [
271
+ K,
272
+ l,
263
273
  G,
264
- p,
265
- W,
266
- U
274
+ W
267
275
  ]);
268
- return P ? /* @__PURE__ */ _("div", {
276
+ return ce ? /* @__PURE__ */ g("div", {
277
+ className: "flex items-center justify-center h-full",
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", {
269
280
  className: "flex flex-col items-center justify-center h-full p-6",
270
- children: /* @__PURE__ */ v("div", {
281
+ children: /* @__PURE__ */ _("div", {
271
282
  className: "bg-status-error-bg border border-status-error-border rounded-lg p-4 max-w-md",
272
283
  children: [
273
- /* @__PURE__ */ _("h3", {
284
+ /* @__PURE__ */ g("h3", {
274
285
  className: "text-sm font-medium text-status-error-text",
275
- children: "Failed to load dashboard"
286
+ children: y("bigconsole.dashboards.builder.errors.loadFailed", "Failed to load dashboard")
276
287
  }),
277
- /* @__PURE__ */ _("p", {
288
+ /* @__PURE__ */ g("p", {
278
289
  className: "text-sm text-text-secondary mt-1",
279
- children: P.message
290
+ children: F.message
280
291
  }),
281
- /* @__PURE__ */ _("button", {
292
+ /* @__PURE__ */ g("button", {
282
293
  type: "button",
283
- onClick: () => y("/dashboards"),
294
+ onClick: () => v("/dashboards"),
284
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",
285
- children: "Back to Dashboards"
296
+ children: y("bigconsole.dashboards.builder.actions.backToDashboards", "Back to Dashboards")
286
297
  })
287
298
  ]
288
299
  })
289
- }) : N || !G ? /* @__PURE__ */ _("div", {
300
+ }) : de || !K ? /* @__PURE__ */ g("div", {
290
301
  className: "flex items-center justify-center h-full",
291
- children: /* @__PURE__ */ _("div", { className: "animate-spin w-8 h-8 border-4 border-action-primary-bg border-t-transparent rounded-full" })
292
- }) : /* @__PURE__ */ v(c, {
293
- topbar: /* @__PURE__ */ _(s, {
294
- title: G.title || "Untitled dashboard",
295
- onBack: ne,
296
- actions: /* @__PURE__ */ v("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", {
297
308
  className: "flex items-center gap-2",
298
- children: [w ? /* @__PURE__ */ _("span", {
309
+ children: [E ? /* @__PURE__ */ g("span", {
299
310
  className: "text-xs font-medium text-status-error-text",
300
311
  role: "alert",
301
- children: w
302
- }) : null, /* @__PURE__ */ _("button", {
312
+ children: E
313
+ }) : null, le ? /* @__PURE__ */ g("button", {
303
314
  type: "button",
304
315
  "data-testid": "open-custom-widget-builder",
305
- onClick: () => O(!0),
316
+ onClick: () => A(!0),
306
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",
307
- children: "AI widget"
308
- })]
318
+ children: y("bigconsole.dashboards.builder.toolbar.aiWidget", "AI widget")
319
+ }) : null]
309
320
  })
310
321
  }),
311
322
  children: [
312
- /* @__PURE__ */ _(o, { canvas: /* @__PURE__ */ _(u, {
313
- dashboardId: G.id,
314
- pageId: k || G.pages?.[0]?.id,
315
- title: G.title,
316
- onPaste: Q,
317
- onSave: re,
318
- isSaving: S,
319
- onExport: $,
320
- 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) => ({
321
332
  id: e.id,
322
- 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 }),
323
334
  order: e.index ?? 0
324
335
  })),
325
- activePageId: k || G.pages?.[0]?.id,
326
- onPageChange: ae,
327
- onPageAdd: oe,
328
- onPageRename: se,
329
- onPageDuplicate: ce,
330
- onPageDelete: le,
331
- onPagesReorder: ue,
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,
332
343
  showPageTabs: !0
333
344
  }) }),
334
- /* @__PURE__ */ _(d, {
335
- isOpen: E,
336
- dashboardId: G.id,
337
- dashboardName: G.title,
338
- onClose: ie
345
+ /* @__PURE__ */ g(re, {
346
+ isOpen: ue,
347
+ dashboardId: K.id,
348
+ dashboardName: K.title,
349
+ onClose: he
339
350
  }),
340
- /* @__PURE__ */ _(f, {
341
- isOpen: te,
342
- onClose: () => O(!1),
343
- dashboardId: G.id,
344
- pageId: k || 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 || ""
345
356
  })
346
357
  ]
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.")
347
361
  });
348
362
  });
349
363
  //#endregion
350
- export { S as DashboardBuilderPage, S as default };
364
+ export { y as DashboardBuilderPage, y as default };
351
365
 
352
366
  //# sourceMappingURL=DashboardBuilderPage.js.map