@burdenoff/microfe-bigconsole 2026.924.2 → 2026.924.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 (124) hide show
  1. package/dist/bigconsole/BigConsoleRoutes.js +137 -138
  2. package/dist/bigconsole/BigConsoleRoutes.js.map +1 -1
  3. package/dist/bigconsole/assistant/previewController.js +10 -10
  4. package/dist/bigconsole/components/DrilldownDashboardRenderer.js +17 -17
  5. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +32 -32
  6. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +52 -52
  7. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +1 -1
  8. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +7 -7
  9. package/dist/bigconsole/components/dashboard/DashboardStatusPill.js +53 -0
  10. package/dist/bigconsole/components/dashboard/DashboardStatusPill.js.map +1 -0
  11. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +60 -60
  12. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +21 -21
  13. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +30 -30
  14. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +36 -36
  15. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +34 -34
  16. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +38 -38
  17. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +1 -1
  18. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +121 -121
  19. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +1 -1
  20. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +22 -22
  21. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +46 -46
  22. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +53 -53
  23. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js +1 -1
  24. package/dist/bigconsole/components/dashboard/WidgetPalette.js +47 -47
  25. package/dist/bigconsole/components/dashboard/index.js +1 -0
  26. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +35 -35
  27. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +18 -18
  28. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +20 -20
  29. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js +30 -29
  30. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js.map +1 -1
  31. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +48 -48
  32. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +103 -103
  33. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +1 -1
  34. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +35 -35
  35. package/dist/bigconsole/components/overview/DashboardGuide.js +214 -0
  36. package/dist/bigconsole/components/overview/DashboardGuide.js.map +1 -0
  37. package/dist/bigconsole/components/overview/DataHealthCard.js +97 -0
  38. package/dist/bigconsole/components/overview/DataHealthCard.js.map +1 -0
  39. package/dist/bigconsole/components/overview/OverviewQuickActions.js +32 -0
  40. package/dist/bigconsole/components/overview/OverviewQuickActions.js.map +1 -0
  41. package/dist/bigconsole/components/overview/OverviewStatCard.js +57 -0
  42. package/dist/bigconsole/components/overview/OverviewStatCard.js.map +1 -0
  43. package/dist/bigconsole/components/overview/RecentDashboardsPanel.js +107 -0
  44. package/dist/bigconsole/components/overview/RecentDashboardsPanel.js.map +1 -0
  45. package/dist/bigconsole/components/overview/dashboardGuideSteps.js +119 -0
  46. package/dist/bigconsole/components/overview/dashboardGuideSteps.js.map +1 -0
  47. package/dist/bigconsole/components/overview/index.js +8 -0
  48. package/dist/bigconsole/components/overview/overviewModel.js +119 -0
  49. package/dist/bigconsole/components/overview/overviewModel.js.map +1 -0
  50. package/dist/bigconsole/components/overview/useOverviewData.js +48 -0
  51. package/dist/bigconsole/components/overview/useOverviewData.js.map +1 -0
  52. package/dist/bigconsole/components/parser/DataSinkSelector.js +40 -40
  53. package/dist/bigconsole/components/parser/ImportParserDialog.js +127 -127
  54. package/dist/bigconsole/components/parser/ImportParserDialog.js.map +1 -1
  55. package/dist/bigconsole/components/parser/ParserSelector.js +51 -51
  56. package/dist/bigconsole/components/preview/AiPreviewContent.js +5 -5
  57. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +33 -33
  58. package/dist/bigconsole/components/preview/AiPreviewPanel.js +38 -38
  59. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +13 -13
  60. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +70 -70
  61. package/dist/bigconsole/components/widgets/PropertiesPanel.js +28 -28
  62. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +25 -25
  63. package/dist/bigconsole/components/widgets/chart/ChartConfig.js +48 -48
  64. package/dist/bigconsole/components/widgets/comments/WidgetComments.js +46 -46
  65. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +61 -61
  66. package/dist/bigconsole/components/widgets/form/FormWidget.js +36 -36
  67. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +42 -42
  68. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +25 -25
  69. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +21 -21
  70. package/dist/bigconsole/components/widgets/list/ListConfig.js +30 -30
  71. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +38 -38
  72. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +9 -9
  73. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +9 -9
  74. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +49 -49
  75. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +39 -39
  76. package/dist/bigconsole/components/widgets/table/TableConfig.js +73 -73
  77. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +64 -64
  78. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +10 -10
  79. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +68 -68
  80. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +1 -1
  81. package/dist/bigconsole/pages/AdminPage.js +136 -136
  82. package/dist/bigconsole/pages/DashboardBuilderPage.js +10 -10
  83. package/dist/bigconsole/pages/DashboardViewPage.js +61 -61
  84. package/dist/bigconsole/pages/DashboardViewPage.js.map +1 -1
  85. package/dist/bigconsole/pages/DashboardsPage.js +327 -348
  86. package/dist/bigconsole/pages/DashboardsPage.js.map +1 -1
  87. package/dist/bigconsole/pages/DataParsersPage.js +5 -5
  88. package/dist/bigconsole/pages/DataSinkBuilderPage.js +10 -10
  89. package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -1
  90. package/dist/bigconsole/pages/DataSinkViewPage.js +83 -83
  91. package/dist/bigconsole/pages/DataSinkViewPage.js.map +1 -1
  92. package/dist/bigconsole/pages/DataSinksPage.js +11 -11
  93. package/dist/bigconsole/pages/DataSourcesPage.js +5 -5
  94. package/dist/bigconsole/pages/InsightsPage.js +315 -315
  95. package/dist/bigconsole/pages/InsightsPage.js.map +1 -1
  96. package/dist/bigconsole/pages/OverviewPage.js +244 -0
  97. package/dist/bigconsole/pages/OverviewPage.js.map +1 -0
  98. package/dist/bigconsole/pages/ParserBuilderPage.js +5 -5
  99. package/dist/bigconsole/pages/ParserViewPage.js +98 -98
  100. package/dist/bigconsole/pages/ParserViewPage.js.map +1 -1
  101. package/dist/bigconsole/pages/PipelineBuilderPage.js +8 -8
  102. package/dist/bigconsole/pages/PipelineViewPage.js +46 -46
  103. package/dist/bigconsole/pages/PipelineViewPage.js.map +1 -1
  104. package/dist/bigconsole/pages/PipelinesPage.js +80 -80
  105. package/dist/bigconsole/pages/PipelinesPage.js.map +1 -1
  106. package/dist/bigconsole/pages/SettingsPage.js +70 -70
  107. package/dist/bigconsole/pages/WidgetDemoPage.js +42 -42
  108. package/dist/bigconsole/pages/WorkflowViewPage.js +200 -200
  109. package/dist/bigconsole/pages/WorkflowViewPage.js.map +1 -1
  110. package/dist/bigconsole/pages/WorkflowsPage.js +78 -78
  111. package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -1
  112. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +34 -34
  113. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +79 -79
  114. package/dist/bigconsole/renderers/adapters/CustomRenderer.js +46 -46
  115. package/dist/bigconsole/utils/createDialogParam.js +14 -0
  116. package/dist/bigconsole/utils/createDialogParam.js.map +1 -0
  117. package/dist/generated/global-operations.js +1 -1
  118. package/dist/generated/wspace-operations.js +285 -222
  119. package/dist/generated/wspace-operations.js.map +1 -1
  120. package/dist/shared/hooks/useTr.js +10 -7
  121. package/dist/shared/hooks/useTr.js.map +1 -1
  122. package/package.json +1 -1
  123. package/dist/bigconsole/pages/HomePage.js +0 -318
  124. package/dist/bigconsole/pages/HomePage.js.map +0 -1
@@ -2,8 +2,8 @@ import { BIGCONSOLE_PERMISSIONS as e } from "../../../../constants/permissions.j
2
2
  import t, { themeChoiceFromPolicy as n } from "../../../hooks/useDashboardEmbedPolicy.js";
3
3
  import { useEffect as r, useMemo as i, useRef as a, useState as o } from "react";
4
4
  import { usePermissions as s } from "@burdenoff/fe-libs/shared/providers/shell";
5
- import { useI18n as c } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
6
- import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
5
+ import { Fragment as c, jsx as l, jsxs as u } from "react/jsx-runtime";
6
+ import { useI18n as d } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
7
7
  //#region src/bigconsole/components/dashboard/ShareDialog/EmbedTab.tsx
8
8
  var f = [
9
9
  "light",
@@ -27,7 +27,7 @@ function m(e) {
27
27
  }
28
28
  }
29
29
  function h({ dashboardId: h, colors: g }) {
30
- let { t: _ } = c(), { policy: v, secret: y, loading: b, error: x, fetchPolicy: S, publishToWeb: C, applyPresentation: w, setAllowedOrigins: T, rotateKey: E, unpublish: ee } = t(), { hasPermission: te } = s(), D = te(e.DASHBOARD_MANAGE_EMBED), [O, k] = o(""), [A, j] = o([]), [M, N] = o(!1), [ne, P] = o(!1), [F, I] = o("light"), [L, R] = o(!1), [z, B] = o(!0), [V, H] = o(!1), [U, W] = o(null), G = a(null), K = a(null);
30
+ let { t: _ } = d(), { policy: v, secret: y, loading: b, error: x, fetchPolicy: S, publishToWeb: C, applyPresentation: w, setAllowedOrigins: T, rotateKey: E, unpublish: ee } = t(), { hasPermission: te } = s(), D = te(e.DASHBOARD_MANAGE_EMBED), [O, k] = o(""), [A, j] = o([]), [M, N] = o(!1), [ne, P] = o(!1), [F, I] = o("light"), [L, R] = o(!1), [z, B] = o(!0), [V, H] = o(!1), [U, W] = o(null), G = a(null), K = a(null);
31
31
  r(() => {
32
32
  h && S(h);
33
33
  }, [h, S]), r(() => {
@@ -117,61 +117,61 @@ function h({ dashboardId: h, colors: g }) {
117
117
  }, ue = i(() => f.map((e) => ({
118
118
  value: e,
119
119
  label: e === "light" ? _("bigconsole.dashboards.embed.theme.option.light", "Light") : e === "dark" ? _("bigconsole.dashboards.embed.theme.option.dark", "Dark") : _("bigconsole.dashboards.embed.theme.option.auto", "Auto (match viewer)")
120
- })), [_]), $ = /* @__PURE__ */ d("div", {
120
+ })), [_]), $ = /* @__PURE__ */ u("div", {
121
121
  style: {
122
122
  display: "flex",
123
123
  flexDirection: "column",
124
124
  gap: "10px"
125
125
  },
126
126
  children: [
127
- /* @__PURE__ */ d("label", {
127
+ /* @__PURE__ */ u("label", {
128
128
  style: {
129
129
  display: "flex",
130
130
  alignItems: "center",
131
131
  justifyContent: "space-between",
132
132
  gap: "8px"
133
133
  },
134
- children: [/* @__PURE__ */ u("span", {
134
+ children: [/* @__PURE__ */ l("span", {
135
135
  style: {
136
136
  fontSize: "12px",
137
137
  color: g.textSecondary
138
138
  },
139
139
  children: _("bigconsole.dashboards.embed.theme.label", "Theme")
140
- }), /* @__PURE__ */ u("select", {
140
+ }), /* @__PURE__ */ l("select", {
141
141
  value: F,
142
142
  onChange: (e) => {
143
143
  let t = e.target.value;
144
144
  (t === "light" || t === "dark" || t === "auto") && I(t);
145
145
  },
146
146
  style: le,
147
- children: ue.map((e) => /* @__PURE__ */ u("option", {
147
+ children: ue.map((e) => /* @__PURE__ */ l("option", {
148
148
  value: e.value,
149
149
  children: e.label
150
150
  }, e.value))
151
151
  })]
152
152
  }),
153
- /* @__PURE__ */ d("label", {
153
+ /* @__PURE__ */ u("label", {
154
154
  style: Q,
155
- children: [/* @__PURE__ */ u("input", {
155
+ children: [/* @__PURE__ */ l("input", {
156
156
  type: "checkbox",
157
157
  checked: L,
158
158
  onChange: (e) => R(e.target.checked)
159
- }), /* @__PURE__ */ u("span", { children: _("bigconsole.dashboards.embed.presentation.showTitle", "Show the dashboard title as a header") })]
159
+ }), /* @__PURE__ */ l("span", { children: _("bigconsole.dashboards.embed.presentation.showTitle", "Show the dashboard title as a header") })]
160
160
  }),
161
- /* @__PURE__ */ d("label", {
161
+ /* @__PURE__ */ u("label", {
162
162
  style: Q,
163
- children: [/* @__PURE__ */ u("input", {
163
+ children: [/* @__PURE__ */ l("input", {
164
164
  type: "checkbox",
165
165
  checked: z,
166
166
  onChange: (e) => B(e.target.checked)
167
- }), /* @__PURE__ */ u("span", { children: _("bigconsole.dashboards.embed.presentation.showBranding", "Show a subtle “Powered by BigConsole” footer") })]
167
+ }), /* @__PURE__ */ l("span", { children: _("bigconsole.dashboards.embed.presentation.showBranding", "Show a subtle “Powered by BigConsole” footer") })]
168
168
  })
169
169
  ]
170
170
  });
171
- return /* @__PURE__ */ d("div", {
171
+ return /* @__PURE__ */ u("div", {
172
172
  style: { padding: "20px 24px" },
173
173
  children: [
174
- /* @__PURE__ */ d("div", {
174
+ /* @__PURE__ */ u("div", {
175
175
  style: {
176
176
  display: "flex",
177
177
  alignItems: "center",
@@ -181,21 +181,21 @@ function h({ dashboardId: h, colors: g }) {
181
181
  background: g.bgSecondary,
182
182
  marginBottom: "16px"
183
183
  },
184
- children: [/* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("div", {
184
+ children: [/* @__PURE__ */ u("div", { children: [/* @__PURE__ */ l("div", {
185
185
  style: {
186
186
  fontSize: "14px",
187
187
  fontWeight: 600,
188
188
  color: g.textPrimary
189
189
  },
190
190
  children: _("bigconsole.dashboards.embed.heading", "Publish to the web")
191
- }), /* @__PURE__ */ u("div", {
191
+ }), /* @__PURE__ */ l("div", {
192
192
  style: {
193
193
  fontSize: "12px",
194
194
  color: g.textSecondary,
195
195
  marginTop: "2px"
196
196
  },
197
197
  children: q ? _("bigconsole.dashboards.embed.status.liveDescription", "This dashboard is live. Anyone with the link on an allowed website sees its live data.") : _("bigconsole.dashboards.embed.status.privateDescription", "Embed this dashboard on your website. Viewers see live data — no login required.")
198
- })] }), /* @__PURE__ */ u("span", {
198
+ })] }), /* @__PURE__ */ l("span", {
199
199
  style: {
200
200
  fontSize: "11px",
201
201
  fontWeight: 700,
@@ -207,10 +207,10 @@ function h({ dashboardId: h, colors: g }) {
207
207
  children: q ? _("bigconsole.dashboards.embed.badge.published", "PUBLISHED") : _("bigconsole.dashboards.embed.badge.private", "PRIVATE")
208
208
  })]
209
209
  }),
210
- /* @__PURE__ */ d("div", {
210
+ /* @__PURE__ */ u("div", {
211
211
  style: { marginBottom: "16px" },
212
212
  children: [
213
- /* @__PURE__ */ u("div", {
213
+ /* @__PURE__ */ l("div", {
214
214
  style: {
215
215
  fontSize: "12px",
216
216
  fontWeight: 600,
@@ -219,13 +219,13 @@ function h({ dashboardId: h, colors: g }) {
219
219
  },
220
220
  children: _("bigconsole.dashboards.embed.domains.label", "Allowed website domains")
221
221
  }),
222
- /* @__PURE__ */ d("div", {
222
+ /* @__PURE__ */ u("div", {
223
223
  style: {
224
224
  display: "flex",
225
225
  gap: "8px",
226
226
  marginBottom: "8px"
227
227
  },
228
- children: [/* @__PURE__ */ u("input", {
228
+ children: [/* @__PURE__ */ l("input", {
229
229
  style: ce,
230
230
  placeholder: _("bigconsole.dashboards.embed.domains.placeholder", "https://yoursite.com"),
231
231
  value: O,
@@ -233,7 +233,7 @@ function h({ dashboardId: h, colors: g }) {
233
233
  onKeyDown: (e) => {
234
234
  e.key === "Enter" && X();
235
235
  }
236
- }), /* @__PURE__ */ u("button", {
236
+ }), /* @__PURE__ */ l("button", {
237
237
  style: Z,
238
238
  onClick: X,
239
239
  type: "button",
@@ -241,19 +241,19 @@ function h({ dashboardId: h, colors: g }) {
241
241
  children: _("bigconsole.dashboards.embed.domains.add", "Add")
242
242
  })]
243
243
  }),
244
- J.length === 0 ? /* @__PURE__ */ u("div", {
244
+ J.length === 0 ? /* @__PURE__ */ l("div", {
245
245
  style: {
246
246
  fontSize: "12px",
247
247
  color: g.textTertiary
248
248
  },
249
249
  children: _("bigconsole.dashboards.embed.domains.empty", "No domains yet. Only listed https domains may frame this dashboard.")
250
- }) : /* @__PURE__ */ u("div", {
250
+ }) : /* @__PURE__ */ l("div", {
251
251
  style: {
252
252
  display: "flex",
253
253
  flexDirection: "column",
254
254
  gap: "6px"
255
255
  },
256
- children: J.map((e) => /* @__PURE__ */ d("div", {
256
+ children: J.map((e) => /* @__PURE__ */ u("div", {
257
257
  style: {
258
258
  display: "flex",
259
259
  alignItems: "center",
@@ -262,13 +262,13 @@ function h({ dashboardId: h, colors: g }) {
262
262
  borderRadius: "8px",
263
263
  background: g.bgTertiary
264
264
  },
265
- children: [/* @__PURE__ */ u("span", {
265
+ children: [/* @__PURE__ */ l("span", {
266
266
  style: {
267
267
  fontSize: "13px",
268
268
  color: g.textPrimary
269
269
  },
270
270
  children: e
271
- }), D && /* @__PURE__ */ u("button", {
271
+ }), D && /* @__PURE__ */ l("button", {
272
272
  style: {
273
273
  ...Z,
274
274
  padding: "2px 8px",
@@ -282,9 +282,9 @@ function h({ dashboardId: h, colors: g }) {
282
282
  })
283
283
  ]
284
284
  }),
285
- !q && /* @__PURE__ */ d("div", {
285
+ !q && /* @__PURE__ */ u("div", {
286
286
  style: { marginBottom: "16px" },
287
- children: [/* @__PURE__ */ u("div", {
287
+ children: [/* @__PURE__ */ l("div", {
288
288
  style: {
289
289
  fontSize: "12px",
290
290
  fontWeight: 600,
@@ -294,27 +294,27 @@ function h({ dashboardId: h, colors: g }) {
294
294
  children: _("bigconsole.dashboards.embed.presentation.heading", "Presentation")
295
295
  }), $]
296
296
  }),
297
- !q && /* @__PURE__ */ d("div", {
297
+ !q && /* @__PURE__ */ u("div", {
298
298
  style: { marginBottom: "8px" },
299
- children: [/* @__PURE__ */ d("label", {
299
+ children: [/* @__PURE__ */ u("label", {
300
300
  style: {
301
301
  display: "flex",
302
302
  gap: "8px",
303
303
  alignItems: "flex-start",
304
304
  marginBottom: "12px"
305
305
  },
306
- children: [/* @__PURE__ */ u("input", {
306
+ children: [/* @__PURE__ */ l("input", {
307
307
  type: "checkbox",
308
308
  checked: M,
309
309
  onChange: (e) => N(e.target.checked)
310
- }), /* @__PURE__ */ u("span", {
310
+ }), /* @__PURE__ */ l("span", {
311
311
  style: {
312
312
  fontSize: "12px",
313
313
  color: g.textSecondary
314
314
  },
315
315
  children: _("bigconsole.dashboards.embed.attestation", "I understand this makes the dashboard’s live data visible to anyone with the link, and I confirm it is safe to be public.")
316
316
  })]
317
- }), /* @__PURE__ */ u("button", {
317
+ }), /* @__PURE__ */ l("button", {
318
318
  style: se,
319
319
  onClick: ie,
320
320
  disabled: b || !D,
@@ -322,13 +322,13 @@ function h({ dashboardId: h, colors: g }) {
322
322
  children: b ? _("bigconsole.dashboards.embed.publishing", "Publishing…") : _("bigconsole.dashboards.embed.publish", "Publish to web")
323
323
  })]
324
324
  }),
325
- q && /* @__PURE__ */ d(l, { children: [
326
- Y ? /* @__PURE__ */ d("div", {
325
+ q && /* @__PURE__ */ u(c, { children: [
326
+ Y ? /* @__PURE__ */ u("div", {
327
327
  style: { marginBottom: "16px" },
328
328
  children: [
329
- /* @__PURE__ */ u("div", {
329
+ /* @__PURE__ */ l("div", {
330
330
  style: { marginBottom: "6px" },
331
- children: /* @__PURE__ */ u("span", {
331
+ children: /* @__PURE__ */ l("span", {
332
332
  style: {
333
333
  fontSize: "12px",
334
334
  fontWeight: 600,
@@ -337,7 +337,7 @@ function h({ dashboardId: h, colors: g }) {
337
337
  children: _("bigconsole.dashboards.embed.snippet.label", "Embed snippet")
338
338
  })
339
339
  }),
340
- /* @__PURE__ */ u("textarea", {
340
+ /* @__PURE__ */ l("textarea", {
341
341
  readOnly: !0,
342
342
  value: Y,
343
343
  style: {
@@ -353,7 +353,7 @@ function h({ dashboardId: h, colors: g }) {
353
353
  resize: "vertical"
354
354
  }
355
355
  }),
356
- /* @__PURE__ */ u("button", {
356
+ /* @__PURE__ */ l("button", {
357
357
  style: {
358
358
  ...Z,
359
359
  marginTop: "8px"
@@ -363,7 +363,7 @@ function h({ dashboardId: h, colors: g }) {
363
363
  children: ne ? _("bigconsole.dashboards.embed.snippet.copied", "Copied ✓") : _("bigconsole.dashboards.embed.snippet.copy", "Copy snippet")
364
364
  })
365
365
  ]
366
- }) : /* @__PURE__ */ u("div", {
366
+ }) : /* @__PURE__ */ l("div", {
367
367
  style: {
368
368
  fontSize: "12px",
369
369
  color: g.textSecondary,
@@ -374,10 +374,10 @@ function h({ dashboardId: h, colors: g }) {
374
374
  },
375
375
  children: _("bigconsole.dashboards.embed.snippet.alreadyActive", "The embed link is already active. For security the snippet (which contains the secret key) is only shown once at publish time — use {{rotateLabel}} to generate a fresh snippet.", { rotateLabel: _("bigconsole.dashboards.embed.rotate", "Rotate link") })
376
376
  }),
377
- /* @__PURE__ */ d("div", {
377
+ /* @__PURE__ */ u("div", {
378
378
  style: { marginBottom: "16px" },
379
379
  children: [
380
- /* @__PURE__ */ u("div", {
380
+ /* @__PURE__ */ l("div", {
381
381
  style: {
382
382
  fontSize: "12px",
383
383
  fontWeight: 600,
@@ -387,20 +387,20 @@ function h({ dashboardId: h, colors: g }) {
387
387
  children: _("bigconsole.dashboards.embed.presentation.heading", "Presentation")
388
388
  }),
389
389
  $,
390
- /* @__PURE__ */ d("div", {
390
+ /* @__PURE__ */ u("div", {
391
391
  style: {
392
392
  display: "flex",
393
393
  alignItems: "center",
394
394
  gap: "10px",
395
395
  marginTop: "10px"
396
396
  },
397
- children: [/* @__PURE__ */ u("button", {
397
+ children: [/* @__PURE__ */ l("button", {
398
398
  style: Z,
399
399
  onClick: ae,
400
400
  disabled: b || !D,
401
401
  type: "button",
402
402
  children: b ? _("bigconsole.dashboards.embed.applying", "Applying…") : _("bigconsole.dashboards.embed.apply", "Apply changes")
403
- }), V && /* @__PURE__ */ u("span", {
403
+ }), V && /* @__PURE__ */ l("span", {
404
404
  style: {
405
405
  fontSize: "12px",
406
406
  color: g.textTertiary
@@ -408,7 +408,7 @@ function h({ dashboardId: h, colors: g }) {
408
408
  children: _("bigconsole.dashboards.embed.updated", "Updated ✓")
409
409
  })]
410
410
  }),
411
- /* @__PURE__ */ u("div", {
411
+ /* @__PURE__ */ l("div", {
412
412
  style: {
413
413
  fontSize: "11px",
414
414
  color: g.textTertiary,
@@ -418,18 +418,18 @@ function h({ dashboardId: h, colors: g }) {
418
418
  })
419
419
  ]
420
420
  }),
421
- D && /* @__PURE__ */ d("div", {
421
+ D && /* @__PURE__ */ u("div", {
422
422
  style: {
423
423
  display: "flex",
424
424
  gap: "8px"
425
425
  },
426
- children: [/* @__PURE__ */ u("button", {
426
+ children: [/* @__PURE__ */ l("button", {
427
427
  style: Z,
428
428
  onClick: () => v && E(v.id),
429
429
  disabled: b,
430
430
  type: "button",
431
431
  children: _("bigconsole.dashboards.embed.rotate", "Rotate link")
432
- }), /* @__PURE__ */ u("button", {
432
+ }), /* @__PURE__ */ l("button", {
433
433
  style: {
434
434
  ...Z,
435
435
  color: g.statusErrorText,
@@ -444,7 +444,7 @@ function h({ dashboardId: h, colors: g }) {
444
444
  })]
445
445
  })
446
446
  ] }),
447
- (U || x) && /* @__PURE__ */ u("div", {
447
+ (U || x) && /* @__PURE__ */ l("div", {
448
448
  style: {
449
449
  marginTop: "12px",
450
450
  fontSize: "12px",
@@ -1,4 +1,4 @@
1
1
  import "../../../hooks/index.js";
2
2
  import "react";
3
- import "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
4
3
  import "react/jsx-runtime";
4
+ import "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
@@ -3,9 +3,9 @@ import "../common/index.js";
3
3
  import { WIDGET_CATEGORY_LABELS as t, getWidgetCategories as n, getWidgetKey as r } from "../widgets/WidgetRegistry.js";
4
4
  import { memo as i, useCallback as a, useMemo as o, useState as s } from "react";
5
5
  import { Activity as c, BarChart3 as l, Calendar as u, ChevronDown as d, ChevronRight as f, Columns as p, ExternalLink as m, FileText as h, Filter as g, Gauge as _, GitBranch as v, Grid3x3 as y, GripVertical as b, Layers as x, LayoutDashboard as S, List as C, MapPin as w, Puzzle as T, Search as E, Store as D, Table as O, TrendingUp as k, Type as A, X as j } from "lucide-react";
6
- import { useI18n as M } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
7
- import { Input as N } from "@burdenoff/fe-libs/ui";
8
- import { jsx as P, jsxs as F } from "react/jsx-runtime";
6
+ import { Input as M } from "@burdenoff/fe-libs/ui";
7
+ import { jsx as N, jsxs as P } from "react/jsx-runtime";
8
+ import { useI18n as F } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
9
9
  //#region src/bigconsole/components/dashboard/WidgetPalette.tsx
10
10
  var I = {
11
11
  TrendingUp: k,
@@ -305,7 +305,7 @@ var R = {
305
305
  transition: "border-color 0.15s, color 0.15s"
306
306
  }
307
307
  }, z = i(function({ isOpen: i, onClose: c, onWidgetSelect: l, onDragStart: u, onDragEnd: p, installedWidgets: h = [], installedWidgetsLoading: g = !1, definitions: _ }) {
308
- let { t: v } = M(), [y, S] = s(""), [C, w] = s(new Set([
308
+ let { t: v } = F(), [y, S] = s(""), [C, w] = s(new Set([
309
309
  "KPI",
310
310
  "Visualization",
311
311
  "Data",
@@ -370,21 +370,21 @@ var R = {
370
370
  let e = `${window.location.origin}/bigconsole/store${window.location.search}`;
371
371
  window.open(e, "_blank", "noopener,noreferrer");
372
372
  }, []);
373
- return i ? /* @__PURE__ */ F("section", {
373
+ return i ? /* @__PURE__ */ P("section", {
374
374
  "aria-label": "Widget palette",
375
375
  "data-testid": "widget-palette",
376
376
  style: R.container,
377
377
  className: "h-auto max-h-[45vh] w-full border-b border-[var(--color-border-subtle)] md:h-full md:max-h-none md:w-[300px] md:border-b-0 md:border-r",
378
378
  children: [
379
- /* @__PURE__ */ F("div", {
379
+ /* @__PURE__ */ P("div", {
380
380
  style: R.header,
381
- children: [/* @__PURE__ */ F("div", {
381
+ children: [/* @__PURE__ */ P("div", {
382
382
  style: R.headerTop,
383
- children: [/* @__PURE__ */ F("div", {
383
+ children: [/* @__PURE__ */ P("div", {
384
384
  style: R.headerTitle,
385
- children: [/* @__PURE__ */ P("div", {
385
+ children: [/* @__PURE__ */ N("div", {
386
386
  style: R.headerIcon,
387
- children: /* @__PURE__ */ P(x, {
387
+ children: /* @__PURE__ */ N(x, {
388
388
  "aria-hidden": "true",
389
389
  style: {
390
390
  width: "18px",
@@ -392,21 +392,21 @@ var R = {
392
392
  color: "var(--color-action-primary-text)"
393
393
  }
394
394
  })
395
- }), /* @__PURE__ */ F("div", { children: [/* @__PURE__ */ P("h2", {
395
+ }), /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("h2", {
396
396
  style: R.title,
397
397
  children: v("bigconsole.dashboards.widgetPalette.title", "Widgets")
398
- }), /* @__PURE__ */ P("p", {
398
+ }), /* @__PURE__ */ N("p", {
399
399
  style: R.subtitle,
400
400
  children: v("bigconsole.dashboards.widgetPalette.subtitle", "Drag or click to add")
401
401
  })] })]
402
- }), /* @__PURE__ */ P("button", {
402
+ }), /* @__PURE__ */ N("button", {
403
403
  type: "button",
404
404
  onClick: c,
405
405
  "aria-label": "Close widget palette",
406
406
  title: "Close widget palette",
407
407
  style: R.closeButton,
408
408
  className: `hover:bg-action-ghost-bgHover motion-safe:transition-colors ${e}`,
409
- children: /* @__PURE__ */ P(j, {
409
+ children: /* @__PURE__ */ N(j, {
410
410
  "aria-hidden": "true",
411
411
  style: {
412
412
  width: "16px",
@@ -414,19 +414,19 @@ var R = {
414
414
  }
415
415
  })
416
416
  })]
417
- }), /* @__PURE__ */ F("div", {
417
+ }), /* @__PURE__ */ P("div", {
418
418
  style: R.searchContainer,
419
419
  children: [
420
- /* @__PURE__ */ P("label", {
420
+ /* @__PURE__ */ N("label", {
421
421
  htmlFor: "widget-palette-search",
422
422
  className: "sr-only",
423
423
  children: "Search widgets"
424
424
  }),
425
- /* @__PURE__ */ P(E, {
425
+ /* @__PURE__ */ N(E, {
426
426
  "aria-hidden": "true",
427
427
  style: R.searchIcon
428
428
  }),
429
- /* @__PURE__ */ P(N, {
429
+ /* @__PURE__ */ N(M, {
430
430
  id: "widget-palette-search",
431
431
  type: "text",
432
432
  placeholder: v("bigconsole.dashboards.widgetPalette.searchPlaceholder", "Search widgets..."),
@@ -437,17 +437,17 @@ var R = {
437
437
  ]
438
438
  })]
439
439
  }),
440
- /* @__PURE__ */ P("div", {
440
+ /* @__PURE__ */ N("div", {
441
441
  style: R.content,
442
- children: /* @__PURE__ */ F("div", {
442
+ children: /* @__PURE__ */ P("div", {
443
443
  style: R.scrollArea,
444
444
  children: [A.map((t) => {
445
445
  let n = C.has(t.category), i = `widget-palette-${t.category.toLowerCase()}`;
446
- return /* @__PURE__ */ F("div", {
446
+ return /* @__PURE__ */ P("div", {
447
447
  style: R.categoryContainer,
448
- children: [/* @__PURE__ */ P("h3", {
448
+ children: [/* @__PURE__ */ N("h3", {
449
449
  style: R.categoryHeading,
450
- children: /* @__PURE__ */ F("button", {
450
+ children: /* @__PURE__ */ P("button", {
451
451
  type: "button",
452
452
  onClick: () => I(t.category),
453
453
  "aria-expanded": n,
@@ -455,24 +455,24 @@ var R = {
455
455
  style: R.categoryHeader,
456
456
  className: `hover:bg-action-ghost-bgHover motion-safe:transition-colors ${e}`,
457
457
  children: [
458
- P(n ? d : f, {
458
+ N(n ? d : f, {
459
459
  "aria-hidden": "true",
460
460
  style: R.categoryChevron
461
461
  }),
462
- /* @__PURE__ */ P("span", {
462
+ /* @__PURE__ */ N("span", {
463
463
  style: R.categoryLabel,
464
464
  children: t.label
465
465
  }),
466
- /* @__PURE__ */ P("span", {
466
+ /* @__PURE__ */ N("span", {
467
467
  style: R.categoryCount,
468
468
  children: t.widgets.length
469
469
  })
470
470
  ]
471
471
  })
472
- }), n && /* @__PURE__ */ F("div", {
472
+ }), n && /* @__PURE__ */ P("div", {
473
473
  id: i,
474
474
  style: R.widgetList,
475
- children: [g && t.category === "Installed" && /* @__PURE__ */ P("div", {
475
+ children: [g && t.category === "Installed" && /* @__PURE__ */ N("div", {
476
476
  style: {
477
477
  fontSize: "var(--font-size-body-sm)",
478
478
  color: "var(--color-text-muted)",
@@ -481,7 +481,7 @@ var R = {
481
481
  children: v("bigconsole.dashboards.widgetPalette.loading", "Loading...")
482
482
  }), t.widgets.map((e) => {
483
483
  let t = L(e.icon), n = r(e), i = T === n;
484
- return /* @__PURE__ */ F("div", {
484
+ return /* @__PURE__ */ P("div", {
485
485
  draggable: !0,
486
486
  role: "button",
487
487
  tabIndex: 0,
@@ -500,23 +500,23 @@ var R = {
500
500
  ...i ? R.widgetCardHover : {}
501
501
  },
502
502
  children: [
503
- /* @__PURE__ */ P(b, {
503
+ /* @__PURE__ */ N(b, {
504
504
  "aria-hidden": "true",
505
505
  style: R.dragHandle
506
506
  }),
507
- /* @__PURE__ */ P("div", {
507
+ /* @__PURE__ */ N("div", {
508
508
  style: R.widgetIcon,
509
- children: /* @__PURE__ */ P(t, {
509
+ children: /* @__PURE__ */ N(t, {
510
510
  "aria-hidden": "true",
511
511
  style: R.widgetIconInner
512
512
  })
513
513
  }),
514
- /* @__PURE__ */ F("div", {
514
+ /* @__PURE__ */ P("div", {
515
515
  style: R.widgetText,
516
- children: [/* @__PURE__ */ P("div", {
516
+ children: [/* @__PURE__ */ N("div", {
517
517
  style: R.widgetName,
518
518
  children: e.name
519
- }), /* @__PURE__ */ P("div", {
519
+ }), /* @__PURE__ */ N("div", {
520
520
  style: R.widgetDescription,
521
521
  children: e.description
522
522
  })]
@@ -526,13 +526,13 @@ var R = {
526
526
  })]
527
527
  })]
528
528
  }, t.category);
529
- }), A.length === 0 && /* @__PURE__ */ F("div", {
529
+ }), A.length === 0 && /* @__PURE__ */ P("div", {
530
530
  style: R.emptyState,
531
531
  role: "status",
532
532
  children: [
533
- /* @__PURE__ */ P("div", {
533
+ /* @__PURE__ */ N("div", {
534
534
  style: R.emptyIcon,
535
- children: /* @__PURE__ */ P(E, {
535
+ children: /* @__PURE__ */ N(E, {
536
536
  "aria-hidden": "true",
537
537
  style: {
538
538
  width: "24px",
@@ -541,20 +541,20 @@ var R = {
541
541
  }
542
542
  })
543
543
  }),
544
- /* @__PURE__ */ F("p", {
544
+ /* @__PURE__ */ P("p", {
545
545
  style: R.emptyTitle,
546
546
  children: [
547
547
  v("bigconsole.dashboards.widgetPalette.noResultsBefore", "No widgets found for"),
548
548
  " “",
549
- /* @__PURE__ */ P("strong", { children: y }),
549
+ /* @__PURE__ */ N("strong", { children: y }),
550
550
  "”"
551
551
  ]
552
552
  }),
553
- /* @__PURE__ */ P("p", {
553
+ /* @__PURE__ */ N("p", {
554
554
  style: R.emptyText,
555
555
  children: "Try a shorter term, or browse the widget store for more types."
556
556
  }),
557
- /* @__PURE__ */ P("button", {
557
+ /* @__PURE__ */ N("button", {
558
558
  type: "button",
559
559
  onClick: () => S(""),
560
560
  style: R.clearButton,
@@ -565,15 +565,15 @@ var R = {
565
565
  })]
566
566
  })
567
567
  }),
568
- /* @__PURE__ */ F("div", {
568
+ /* @__PURE__ */ P("div", {
569
569
  style: R.footer,
570
- children: [/* @__PURE__ */ F("button", {
570
+ children: [/* @__PURE__ */ P("button", {
571
571
  type: "button",
572
572
  onClick: H,
573
573
  style: R.browseStoreButton,
574
574
  className: `hover:border-action-primary-bg hover:text-action-primary-text motion-safe:transition-colors ${e}`,
575
575
  children: [
576
- /* @__PURE__ */ P(D, {
576
+ /* @__PURE__ */ N(D, {
577
577
  "aria-hidden": "true",
578
578
  style: {
579
579
  width: "15px",
@@ -581,7 +581,7 @@ var R = {
581
581
  }
582
582
  }),
583
583
  v("bigconsole.dashboards.widgetPalette.browseStore", "Browse widget store"),
584
- /* @__PURE__ */ P(m, {
584
+ /* @__PURE__ */ N(m, {
585
585
  "aria-hidden": "true",
586
586
  style: {
587
587
  width: "13px",
@@ -590,7 +590,7 @@ var R = {
590
590
  }
591
591
  })
592
592
  ]
593
- }), /* @__PURE__ */ P("p", {
593
+ }), /* @__PURE__ */ N("p", {
594
594
  style: R.footerText,
595
595
  children: v("bigconsole.dashboards.widgetPalette.footerHint", "Drag widgets to position them on the canvas")
596
596
  })]
@@ -19,6 +19,7 @@ import "../builder/index.js";
19
19
  import "./DashboardCanvas.js";
20
20
  import "./LiveCanvasToggle.js";
21
21
  import "./CreateDashboardDialog.js";
22
+ import "./DashboardStatusPill.js";
22
23
  import "./ExportDashboardDialog.js";
23
24
  import "./ImportDashboardDialog.js";
24
25
  import "./TemplatePicker/index.js";