@burdenoff/microfe-bigconsole 2026.924.2 → 2026.925.1

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/BigConsoleRoot.js +94 -84
  2. package/dist/bigconsole/BigConsoleRoot.js.map +1 -1
  3. package/dist/bigconsole/BigConsoleRoutes.js +137 -138
  4. package/dist/bigconsole/BigConsoleRoutes.js.map +1 -1
  5. package/dist/bigconsole/assistant/previewController.js +7 -7
  6. package/dist/bigconsole/components/DrilldownDashboardRenderer.js +17 -17
  7. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +32 -32
  8. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +52 -52
  9. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +1 -1
  10. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +7 -7
  11. package/dist/bigconsole/components/dashboard/DashboardStatusPill.js +53 -0
  12. package/dist/bigconsole/components/dashboard/DashboardStatusPill.js.map +1 -0
  13. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +60 -60
  14. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +21 -21
  15. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +30 -30
  16. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +36 -36
  17. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +34 -34
  18. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +38 -38
  19. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +1 -1
  20. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +121 -121
  21. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +1 -1
  22. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +22 -22
  23. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +46 -46
  24. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +53 -53
  25. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js +1 -1
  26. package/dist/bigconsole/components/dashboard/WidgetPalette.js +47 -47
  27. package/dist/bigconsole/components/dashboard/index.js +1 -0
  28. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +35 -35
  29. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +18 -18
  30. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +20 -20
  31. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js +30 -29
  32. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js.map +1 -1
  33. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +48 -48
  34. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +126 -114
  35. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +1 -1
  36. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +35 -35
  37. package/dist/bigconsole/components/overview/DashboardGuide.js +214 -0
  38. package/dist/bigconsole/components/overview/DashboardGuide.js.map +1 -0
  39. package/dist/bigconsole/components/overview/DataHealthCard.js +97 -0
  40. package/dist/bigconsole/components/overview/DataHealthCard.js.map +1 -0
  41. package/dist/bigconsole/components/overview/OverviewQuickActions.js +32 -0
  42. package/dist/bigconsole/components/overview/OverviewQuickActions.js.map +1 -0
  43. package/dist/bigconsole/components/overview/OverviewStatCard.js +57 -0
  44. package/dist/bigconsole/components/overview/OverviewStatCard.js.map +1 -0
  45. package/dist/bigconsole/components/overview/RecentDashboardsPanel.js +107 -0
  46. package/dist/bigconsole/components/overview/RecentDashboardsPanel.js.map +1 -0
  47. package/dist/bigconsole/components/overview/dashboardGuideSteps.js +119 -0
  48. package/dist/bigconsole/components/overview/dashboardGuideSteps.js.map +1 -0
  49. package/dist/bigconsole/components/overview/index.js +8 -0
  50. package/dist/bigconsole/components/overview/overviewModel.js +119 -0
  51. package/dist/bigconsole/components/overview/overviewModel.js.map +1 -0
  52. package/dist/bigconsole/components/overview/useOverviewData.js +48 -0
  53. package/dist/bigconsole/components/overview/useOverviewData.js.map +1 -0
  54. package/dist/bigconsole/components/parser/DataSinkSelector.js +40 -40
  55. package/dist/bigconsole/components/parser/ImportParserDialog.js +127 -127
  56. package/dist/bigconsole/components/parser/ImportParserDialog.js.map +1 -1
  57. package/dist/bigconsole/components/parser/ParserSelector.js +51 -51
  58. package/dist/bigconsole/components/preview/AiPreviewContent.js +5 -5
  59. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +32 -32
  60. package/dist/bigconsole/components/preview/AiPreviewPanel.js +37 -37
  61. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +13 -13
  62. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +70 -70
  63. package/dist/bigconsole/components/widgets/PropertiesPanel.js +28 -28
  64. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +25 -25
  65. package/dist/bigconsole/components/widgets/chart/ChartConfig.js +48 -48
  66. package/dist/bigconsole/components/widgets/comments/WidgetComments.js +46 -46
  67. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +61 -61
  68. package/dist/bigconsole/components/widgets/form/FormWidget.js +36 -36
  69. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +42 -42
  70. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +25 -25
  71. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +21 -21
  72. package/dist/bigconsole/components/widgets/list/ListConfig.js +30 -30
  73. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +38 -38
  74. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +9 -9
  75. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +9 -9
  76. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +49 -49
  77. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +39 -39
  78. package/dist/bigconsole/components/widgets/table/TableConfig.js +73 -73
  79. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +64 -64
  80. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +10 -10
  81. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +68 -68
  82. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +1 -1
  83. package/dist/bigconsole/hooks/useDataSinkOperations.js +92 -89
  84. package/dist/bigconsole/hooks/useDataSinkOperations.js.map +1 -1
  85. package/dist/bigconsole/hooks/useImportDataSink.js +96 -91
  86. package/dist/bigconsole/hooks/useImportDataSink.js.map +1 -1
  87. package/dist/bigconsole/pages/AdminPage.js +136 -136
  88. package/dist/bigconsole/pages/DashboardBuilderPage.js +10 -10
  89. package/dist/bigconsole/pages/DashboardViewPage.js +61 -61
  90. package/dist/bigconsole/pages/DashboardViewPage.js.map +1 -1
  91. package/dist/bigconsole/pages/DashboardsPage.js +327 -348
  92. package/dist/bigconsole/pages/DashboardsPage.js.map +1 -1
  93. package/dist/bigconsole/pages/DataParsersPage.js +5 -5
  94. package/dist/bigconsole/pages/DataSinkBuilderPage.js +82 -80
  95. package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -1
  96. package/dist/bigconsole/pages/DataSinkViewPage.js +83 -83
  97. package/dist/bigconsole/pages/DataSinkViewPage.js.map +1 -1
  98. package/dist/bigconsole/pages/DataSinksPage.js +11 -11
  99. package/dist/bigconsole/pages/DataSourcesPage.js +5 -5
  100. package/dist/bigconsole/pages/InsightsPage.js +315 -315
  101. package/dist/bigconsole/pages/InsightsPage.js.map +1 -1
  102. package/dist/bigconsole/pages/OverviewPage.js +244 -0
  103. package/dist/bigconsole/pages/OverviewPage.js.map +1 -0
  104. package/dist/bigconsole/pages/ParserBuilderPage.js +5 -5
  105. package/dist/bigconsole/pages/ParserViewPage.js +98 -98
  106. package/dist/bigconsole/pages/ParserViewPage.js.map +1 -1
  107. package/dist/bigconsole/pages/PipelineBuilderPage.js +8 -8
  108. package/dist/bigconsole/pages/PipelineViewPage.js +46 -46
  109. package/dist/bigconsole/pages/PipelineViewPage.js.map +1 -1
  110. package/dist/bigconsole/pages/PipelinesPage.js +80 -80
  111. package/dist/bigconsole/pages/PipelinesPage.js.map +1 -1
  112. package/dist/bigconsole/pages/SettingsPage.js +70 -70
  113. package/dist/bigconsole/pages/WidgetDemoPage.js +42 -42
  114. package/dist/bigconsole/pages/WorkflowViewPage.js +200 -200
  115. package/dist/bigconsole/pages/WorkflowViewPage.js.map +1 -1
  116. package/dist/bigconsole/pages/WorkflowsPage.js +78 -78
  117. package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -1
  118. package/dist/bigconsole/providers/BigConsoleQuotaProvider.js +36 -35
  119. package/dist/bigconsole/providers/BigConsoleQuotaProvider.js.map +1 -1
  120. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +34 -34
  121. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +79 -79
  122. package/dist/bigconsole/renderers/adapters/CustomRenderer.js +46 -46
  123. package/dist/bigconsole/utils/createDialogParam.js +14 -0
  124. package/dist/bigconsole/utils/createDialogParam.js.map +1 -0
  125. package/dist/bigconsole/utils/quota.js +51 -23
  126. package/dist/bigconsole/utils/quota.js.map +1 -1
  127. package/dist/generated/global-operations.js +1 -1
  128. package/dist/generated/wspace-operations.js +285 -222
  129. package/dist/generated/wspace-operations.js.map +1 -1
  130. package/dist/shared/hooks/useTr.js +10 -7
  131. package/dist/shared/hooks/useTr.js.map +1 -1
  132. package/package.json +1 -1
  133. package/dist/bigconsole/pages/HomePage.js +0 -318
  134. package/dist/bigconsole/pages/HomePage.js.map +0 -1
@@ -1,12 +1,12 @@
1
- import { SECTION_FOCUS_RING as e } from "../common/sectionStyles.js";
2
- import { Section as t } from "../common/Section.js";
1
+ import { ListDashboardsDocument as e } from "../../../generated/wspace-operations.js";
2
+ import { SECTION_FOCUS_RING as t } from "../common/sectionStyles.js";
3
+ import { Section as n } from "../common/Section.js";
3
4
  import "../common/index.js";
4
- import { ListDashboardsDocument as n } from "../../../generated/wspace-operations.js";
5
5
  import "../../hooks/useDrilldown.js";
6
6
  import { memo as r, useCallback as i, useEffect as a, useMemo as o, useState as s } from "react";
7
7
  import { useApolloClient as c } from "@apollo/client/react";
8
- import { useI18n as l } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
9
- import { Fragment as u, jsx as d, jsxs as f } from "react/jsx-runtime";
8
+ import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
9
+ import { useI18n as f } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
10
10
  //#region src/bigconsole/components/widgets/DrilldownConfigPanel.tsx
11
11
  var p = "min-h-control-md rounded-input border border-[var(--color-border-subtle)] bg-bg-surface py-2 text-sm text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface", m = `${p} w-full px-3`, h = "bg-action-primary-bg border-action-primary-bg", g = "bg-bg-sunken border-[var(--color-border-strong)]", _ = "bg-bg-surface shadow-[var(--shadow-elevation-1)]";
12
12
  function v(e, t = "") {
@@ -20,7 +20,7 @@ function v(e, t = "") {
20
20
  return n;
21
21
  }
22
22
  var y = r(function({ widget: r, onChange: y, widgetData: b }) {
23
- let { t: x } = l(), S = c(), [C, w] = s(r.drilldown?.enabled ?? !1), [T, E] = s(r.drilldown?.targetDashboardId ?? ""), [D, O] = s(r.drilldown?.navigationMode ?? "MODAL"), [k, A] = s(r.drilldown?.passGlobalFilters ?? !0), [j, M] = s(r.drilldown?.maxDepth ?? 3), [N, P] = s(r.drilldown?.openIn ?? "same"), [F, I] = s(() => {
23
+ let { t: x } = f(), S = c(), [C, w] = s(r.drilldown?.enabled ?? !1), [T, E] = s(r.drilldown?.targetDashboardId ?? ""), [D, O] = s(r.drilldown?.navigationMode ?? "MODAL"), [k, A] = s(r.drilldown?.passGlobalFilters ?? !0), [j, M] = s(r.drilldown?.maxDepth ?? 3), [N, P] = s(r.drilldown?.openIn ?? "same"), [F, I] = s(() => {
24
24
  let e = r.drilldown?.parameterMapping;
25
25
  return e ? Object.entries(e).map(([e, t]) => ({
26
26
  key: e,
@@ -73,11 +73,11 @@ var y = r(function({ widget: r, onChange: y, widgetData: b }) {
73
73
  N,
74
74
  W
75
75
  ]), a(() => {
76
- async function e() {
76
+ async function t() {
77
77
  B(!0);
78
78
  try {
79
79
  R(((await S.query({
80
- query: n,
80
+ query: e,
81
81
  variables: { first: 100 },
82
82
  fetchPolicy: "cache-first"
83
83
  })).data?.listDashboards?.edges || []).map((e) => {
@@ -91,7 +91,7 @@ var y = r(function({ widget: r, onChange: y, widgetData: b }) {
91
91
  B(!1);
92
92
  }
93
93
  }
94
- e();
94
+ t();
95
95
  }, [S]);
96
96
  let G = i(() => {
97
97
  I((e) => [...e, {
@@ -106,51 +106,51 @@ var y = r(function({ widget: r, onChange: y, widgetData: b }) {
106
106
  [t]: n
107
107
  } : r));
108
108
  }, []);
109
- return /* @__PURE__ */ f("div", {
109
+ return /* @__PURE__ */ d("div", {
110
110
  className: "min-w-0 space-y-form-gap",
111
111
  children: [
112
- /* @__PURE__ */ f("div", {
112
+ /* @__PURE__ */ d("div", {
113
113
  className: "flex min-w-0 flex-wrap items-center justify-between gap-2 rounded-card border border-[var(--color-border-subtle)] bg-bg-surface p-3",
114
- children: [/* @__PURE__ */ d("label", {
114
+ children: [/* @__PURE__ */ u("label", {
115
115
  htmlFor: "drilldown-enable",
116
116
  className: "text-sm font-medium text-text-primary",
117
117
  children: x("bigconsole.widget.drilldown.enableLabel", "Enable Drilldown")
118
- }), /* @__PURE__ */ d("button", {
118
+ }), /* @__PURE__ */ u("button", {
119
119
  id: "drilldown-enable",
120
120
  type: "button",
121
121
  role: "switch",
122
122
  "aria-checked": C,
123
123
  onClick: () => w(!C),
124
- className: `relative inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border motion-safe:transition-colors ${e} ${C ? h : g}`,
125
- children: /* @__PURE__ */ d("span", { className: `inline-block h-4 w-4 transform rounded-full motion-safe:transition-transform ${_} ${C ? "translate-x-6" : "translate-x-1"}` })
124
+ className: `relative inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border motion-safe:transition-colors ${t} ${C ? h : g}`,
125
+ children: /* @__PURE__ */ u("span", { className: `inline-block h-4 w-4 transform rounded-full motion-safe:transition-transform ${_} ${C ? "translate-x-6" : "translate-x-1"}` })
126
126
  })]
127
127
  }),
128
- C && /* @__PURE__ */ f(u, { children: [
129
- /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("label", {
128
+ C && /* @__PURE__ */ d(l, { children: [
129
+ /* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("label", {
130
130
  htmlFor: "drilldown-target",
131
131
  className: "mb-1 block text-sm font-medium text-text-primary",
132
132
  children: x("bigconsole.widget.drilldown.targetDashboardLabel", "Target Dashboard")
133
- }), /* @__PURE__ */ f("select", {
133
+ }), /* @__PURE__ */ d("select", {
134
134
  id: "drilldown-target",
135
135
  value: T,
136
136
  onChange: (e) => E(e.target.value),
137
137
  disabled: z,
138
138
  className: m,
139
- children: [/* @__PURE__ */ d("option", {
139
+ children: [/* @__PURE__ */ u("option", {
140
140
  value: "",
141
141
  children: x("bigconsole.widget.drilldown.selectDashboard", "Select a dashboard...")
142
- }), L.filter((e) => e.id !== r.dashboardId).map((e) => /* @__PURE__ */ d("option", {
142
+ }), L.filter((e) => e.id !== r.dashboardId).map((e) => /* @__PURE__ */ u("option", {
143
143
  value: e.id,
144
144
  children: e.name
145
145
  }, e.id))]
146
146
  })] }),
147
- /* @__PURE__ */ f("div", { children: [
148
- /* @__PURE__ */ d("p", {
147
+ /* @__PURE__ */ d("div", { children: [
148
+ /* @__PURE__ */ u("p", {
149
149
  className: "mb-1 text-sm font-medium text-text-primary",
150
150
  id: "drilldown-nav-mode-label",
151
151
  children: x("bigconsole.widget.drilldown.navigationModeLabel", "Navigation Mode")
152
152
  }),
153
- /* @__PURE__ */ d("div", {
153
+ /* @__PURE__ */ u("div", {
154
154
  className: "flex flex-wrap gap-2",
155
155
  role: "group",
156
156
  "aria-labelledby": "drilldown-nav-mode-label",
@@ -158,7 +158,7 @@ var y = r(function({ widget: r, onChange: y, widgetData: b }) {
158
158
  "MODAL",
159
159
  "NEW_TAB",
160
160
  "SAME_WINDOW"
161
- ].map((e) => /* @__PURE__ */ f("button", {
161
+ ].map((e) => /* @__PURE__ */ d("button", {
162
162
  type: "button",
163
163
  "aria-pressed": D === e,
164
164
  onClick: () => O(e),
@@ -170,7 +170,7 @@ var y = r(function({ widget: r, onChange: y, widgetData: b }) {
170
170
  ]
171
171
  }, e))
172
172
  }),
173
- /* @__PURE__ */ f("p", {
173
+ /* @__PURE__ */ d("p", {
174
174
  className: "mt-1 text-xs text-text-muted",
175
175
  children: [
176
176
  D === "MODAL" && x("bigconsole.widget.drilldown.modeHelp.modal", "Opens target dashboard in a modal overlay"),
@@ -179,27 +179,27 @@ var y = r(function({ widget: r, onChange: y, widgetData: b }) {
179
179
  ]
180
180
  })
181
181
  ] }),
182
- /* @__PURE__ */ f("div", { children: [
183
- /* @__PURE__ */ f("div", {
182
+ /* @__PURE__ */ d("div", { children: [
183
+ /* @__PURE__ */ d("div", {
184
184
  className: "mb-2 flex flex-wrap items-center justify-between gap-2",
185
- children: [/* @__PURE__ */ d("p", {
185
+ children: [/* @__PURE__ */ u("p", {
186
186
  className: "text-sm font-medium text-text-primary",
187
187
  children: x("bigconsole.widget.drilldown.parameterMappingsLabel", "Parameter Mappings")
188
- }), /* @__PURE__ */ d("button", {
188
+ }), /* @__PURE__ */ u("button", {
189
189
  type: "button",
190
190
  onClick: G,
191
191
  className: "rounded-button px-1 text-xs text-text-link hover:underline focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface",
192
192
  children: x("bigconsole.widget.drilldown.addParameter", "+ Add Parameter")
193
193
  })]
194
194
  }),
195
- /* @__PURE__ */ d("div", {
195
+ /* @__PURE__ */ u("div", {
196
196
  className: "space-y-2",
197
- children: F.map((e, t) => /* @__PURE__ */ d("div", {
197
+ children: F.map((e, t) => /* @__PURE__ */ u("div", {
198
198
  className: "relative",
199
- children: /* @__PURE__ */ f("div", {
199
+ children: /* @__PURE__ */ d("div", {
200
200
  className: "flex min-w-0 flex-wrap items-center gap-2",
201
201
  children: [
202
- /* @__PURE__ */ d("input", {
202
+ /* @__PURE__ */ u("input", {
203
203
  type: "text",
204
204
  value: e.key,
205
205
  onChange: (e) => q(t, "key", e.target.value),
@@ -207,14 +207,14 @@ var y = r(function({ widget: r, onChange: y, widgetData: b }) {
207
207
  "aria-label": `Parameter ${t + 1} name`,
208
208
  className: `${m} min-w-[7rem] flex-1`
209
209
  }),
210
- /* @__PURE__ */ d("span", {
210
+ /* @__PURE__ */ u("span", {
211
211
  "aria-hidden": "true",
212
212
  className: "text-text-muted",
213
213
  children: "="
214
214
  }),
215
- /* @__PURE__ */ f("div", {
215
+ /* @__PURE__ */ d("div", {
216
216
  className: "relative min-w-[7rem] flex-1",
217
- children: [/* @__PURE__ */ d("input", {
217
+ children: [/* @__PURE__ */ u("input", {
218
218
  type: "text",
219
219
  value: e.value,
220
220
  onChange: (e) => q(t, "value", e.target.value),
@@ -223,9 +223,9 @@ var y = r(function({ widget: r, onChange: y, widgetData: b }) {
223
223
  placeholder: x("bigconsole.widget.drilldown.parameterValuePlaceholder", "{{row.field}} or static"),
224
224
  "aria-label": `Parameter ${t + 1} value`,
225
225
  className: m
226
- }), V === t && U.length > 0 && /* @__PURE__ */ d("div", {
226
+ }), V === t && U.length > 0 && /* @__PURE__ */ u("div", {
227
227
  className: "absolute left-0 right-0 top-full z-10 mt-1 max-h-40 overflow-y-auto rounded-input border border-[var(--color-border-subtle)] bg-bg-surface shadow-[var(--shadow-elevation-2)]",
228
- children: U.slice(0, 10).map((e) => /* @__PURE__ */ d("button", {
228
+ children: U.slice(0, 10).map((e) => /* @__PURE__ */ u("button", {
229
229
  type: "button",
230
230
  onClick: () => {
231
231
  q(t, "value", e), H(null);
@@ -235,17 +235,17 @@ var y = r(function({ widget: r, onChange: y, widgetData: b }) {
235
235
  }, e))
236
236
  })]
237
237
  }),
238
- F.length > 1 && /* @__PURE__ */ d("button", {
238
+ F.length > 1 && /* @__PURE__ */ u("button", {
239
239
  type: "button",
240
240
  onClick: () => K(t),
241
241
  "aria-label": `Remove parameter ${t + 1}`,
242
242
  className: "rounded-button p-1 text-text-muted hover:text-[var(--color-status-error-text)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface",
243
- children: /* @__PURE__ */ d("svg", {
243
+ children: /* @__PURE__ */ u("svg", {
244
244
  className: "h-icon-sm w-icon-sm",
245
245
  fill: "none",
246
246
  stroke: "currentColor",
247
247
  viewBox: "0 0 24 24",
248
- children: /* @__PURE__ */ d("path", {
248
+ children: /* @__PURE__ */ u("path", {
249
249
  strokeLinecap: "round",
250
250
  strokeLinejoin: "round",
251
251
  strokeWidth: 2,
@@ -257,84 +257,84 @@ var y = r(function({ widget: r, onChange: y, widgetData: b }) {
257
257
  })
258
258
  }, t))
259
259
  }),
260
- /* @__PURE__ */ f("p", {
260
+ /* @__PURE__ */ d("p", {
261
261
  className: "mt-2 text-xs text-text-muted",
262
262
  children: [
263
263
  x("bigconsole.widget.drilldown.paramHelp.usePrefix", "Use"),
264
264
  " ",
265
- /* @__PURE__ */ d("code", {
265
+ /* @__PURE__ */ u("code", {
266
266
  className: "px-1 bg-bg-sunken rounded",
267
267
  children: "{{row.field}}"
268
268
  }),
269
269
  " ",
270
270
  x("bigconsole.widget.drilldown.paramHelp.useSuffix", "for dynamic values or enter static text."),
271
- /* @__PURE__ */ d("br", {}),
271
+ /* @__PURE__ */ u("br", {}),
272
272
  x("bigconsole.widget.drilldown.paramHelp.examples", "Examples:"),
273
273
  " ",
274
- /* @__PURE__ */ d("code", {
274
+ /* @__PURE__ */ u("code", {
275
275
  className: "px-1 bg-bg-sunken rounded",
276
276
  children: "{{row.category}}"
277
277
  }),
278
278
  ",",
279
279
  " ",
280
- /* @__PURE__ */ d("code", {
280
+ /* @__PURE__ */ u("code", {
281
281
  className: "px-1 bg-bg-sunken rounded",
282
282
  children: "{{item.id}}"
283
283
  }),
284
284
  ",",
285
285
  " ",
286
- /* @__PURE__ */ d("code", {
286
+ /* @__PURE__ */ u("code", {
287
287
  className: "px-1 bg-bg-sunken rounded",
288
288
  children: "{{globals.vars.dateFrom}}"
289
289
  })
290
290
  ]
291
291
  })
292
292
  ] }),
293
- /* @__PURE__ */ d(t, {
293
+ /* @__PURE__ */ u(n, {
294
294
  emphasis: "muted",
295
295
  padding: "compact",
296
296
  headingLevel: 4,
297
297
  title: x("bigconsole.widget.drilldown.advancedOptions", "Advanced Options"),
298
298
  description: "Rarely changed. Defaults suit most drilldowns.",
299
299
  "data-testid": "drilldown-advanced",
300
- children: /* @__PURE__ */ f("div", {
300
+ children: /* @__PURE__ */ d("div", {
301
301
  className: "flex flex-col gap-2",
302
302
  children: [
303
- /* @__PURE__ */ f("div", {
303
+ /* @__PURE__ */ d("div", {
304
304
  className: "flex min-w-0 flex-wrap items-center justify-between gap-2 rounded-button bg-bg-surface p-2",
305
- children: [/* @__PURE__ */ f("div", {
305
+ children: [/* @__PURE__ */ d("div", {
306
306
  className: "min-w-0",
307
- children: [/* @__PURE__ */ d("label", {
307
+ children: [/* @__PURE__ */ u("label", {
308
308
  htmlFor: "drilldown-pass-filters",
309
309
  className: "text-sm text-text-primary",
310
310
  children: x("bigconsole.widget.drilldown.passGlobalFiltersLabel", "Pass Global Filters")
311
- }), /* @__PURE__ */ d("p", {
311
+ }), /* @__PURE__ */ u("p", {
312
312
  className: "text-xs text-text-muted",
313
313
  children: x("bigconsole.widget.drilldown.passGlobalFiltersHelp", "Include current dashboard filters in drilldown")
314
314
  })]
315
- }), /* @__PURE__ */ d("button", {
315
+ }), /* @__PURE__ */ u("button", {
316
316
  id: "drilldown-pass-filters",
317
317
  type: "button",
318
318
  role: "switch",
319
319
  "aria-checked": k,
320
320
  onClick: () => A(!k),
321
321
  className: `relative inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border motion-safe:transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface ${k ? h : g}`,
322
- children: /* @__PURE__ */ d("span", { className: `inline-block h-3 w-3 transform rounded-full motion-safe:transition-transform ${_} ${k ? "translate-x-5" : "translate-x-1"}` })
322
+ children: /* @__PURE__ */ u("span", { className: `inline-block h-3 w-3 transform rounded-full motion-safe:transition-transform ${_} ${k ? "translate-x-5" : "translate-x-1"}` })
323
323
  })]
324
324
  }),
325
- /* @__PURE__ */ f("div", {
325
+ /* @__PURE__ */ d("div", {
326
326
  className: "flex min-w-0 flex-wrap items-center justify-between gap-2 rounded-button bg-bg-surface p-2",
327
- children: [/* @__PURE__ */ f("div", {
327
+ children: [/* @__PURE__ */ d("div", {
328
328
  className: "min-w-0",
329
- children: [/* @__PURE__ */ d("label", {
329
+ children: [/* @__PURE__ */ u("label", {
330
330
  htmlFor: "drilldown-max-depth",
331
331
  className: "text-sm text-text-primary",
332
332
  children: x("bigconsole.widget.drilldown.maxDepthLabel", "Max Drilldown Depth")
333
- }), /* @__PURE__ */ d("p", {
333
+ }), /* @__PURE__ */ u("p", {
334
334
  className: "text-xs text-text-muted",
335
335
  children: x("bigconsole.widget.drilldown.maxDepthHelp", "Limit nested drilldown levels")
336
336
  })]
337
- }), /* @__PURE__ */ d("select", {
337
+ }), /* @__PURE__ */ u("select", {
338
338
  id: "drilldown-max-depth",
339
339
  value: j,
340
340
  onChange: (e) => M(Number(e.target.value)),
@@ -345,35 +345,35 @@ var y = r(function({ widget: r, onChange: y, widgetData: b }) {
345
345
  3,
346
346
  4,
347
347
  5
348
- ].map((e) => /* @__PURE__ */ d("option", {
348
+ ].map((e) => /* @__PURE__ */ u("option", {
349
349
  value: e,
350
350
  children: e
351
351
  }, e))
352
352
  })]
353
353
  }),
354
- D === "SAME_WINDOW" && /* @__PURE__ */ f("div", {
354
+ D === "SAME_WINDOW" && /* @__PURE__ */ d("div", {
355
355
  className: "flex min-w-0 flex-wrap items-center justify-between gap-2 rounded-button bg-bg-surface p-2",
356
- children: [/* @__PURE__ */ f("div", {
356
+ children: [/* @__PURE__ */ d("div", {
357
357
  className: "min-w-0",
358
- children: [/* @__PURE__ */ d("p", {
358
+ children: [/* @__PURE__ */ u("p", {
359
359
  className: "text-sm text-text-primary",
360
360
  id: "drilldown-open-in-label",
361
361
  children: x("bigconsole.widget.drilldown.openInLabel", "Open In")
362
- }), /* @__PURE__ */ d("p", {
362
+ }), /* @__PURE__ */ u("p", {
363
363
  className: "text-xs text-text-muted",
364
364
  children: x("bigconsole.widget.drilldown.openInHelp", "Tab behavior for navigation")
365
365
  })]
366
- }), /* @__PURE__ */ f("div", {
366
+ }), /* @__PURE__ */ d("div", {
367
367
  className: "flex shrink-0 flex-wrap gap-1",
368
368
  role: "group",
369
369
  "aria-labelledby": "drilldown-open-in-label",
370
- children: [/* @__PURE__ */ d("button", {
370
+ children: [/* @__PURE__ */ u("button", {
371
371
  type: "button",
372
372
  "aria-pressed": N === "same",
373
373
  onClick: () => P("same"),
374
374
  className: `min-h-control-md rounded-button px-2 text-xs font-medium motion-safe:transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-bg-surface ${N === "same" ? "bg-action-primary-bg text-action-primary-text" : "border border-[var(--color-border-subtle)] bg-bg-surface text-text-secondary hover:text-text-primary"}`,
375
375
  children: x("bigconsole.widget.drilldown.openIn.sameTab", "Same Tab")
376
- }), /* @__PURE__ */ d("button", {
376
+ }), /* @__PURE__ */ u("button", {
377
377
  type: "button",
378
378
  "aria-pressed": N === "new",
379
379
  onClick: () => P("new"),
@@ -386,13 +386,13 @@ var y = r(function({ widget: r, onChange: y, widgetData: b }) {
386
386
  })
387
387
  })
388
388
  ] }),
389
- !C && r.drilldown?.id && /* @__PURE__ */ d(t, {
389
+ !C && r.drilldown?.id && /* @__PURE__ */ u(n, {
390
390
  tone: "warning",
391
391
  padding: "compact",
392
392
  headingLevel: 4,
393
393
  title: "Drilldown will be removed",
394
394
  "data-testid": "drilldown-removal-notice",
395
- children: /* @__PURE__ */ d("p", {
395
+ children: /* @__PURE__ */ u("p", {
396
396
  className: "text-xs text-text-secondary",
397
397
  children: x("bigconsole.widget.drilldown.removalWarning", "Drilldown will be removed when you save changes.")
398
398
  })
@@ -27,9 +27,9 @@ import "../builder/inspector/index.js";
27
27
  import { DEFAULT_GRID_CONFIG as me } from "../../utils/widgetPositioning.js";
28
28
  import { memo as he, useCallback as u, useEffect as d, useMemo as f, useRef as p, useState as m } from "react";
29
29
  import { Check as h, ChevronDown as ge, ChevronUp as _e, ExternalLink as g, Info as ve, Pencil as ye, Plus as be, Trash2 as xe, X as Se } from "lucide-react";
30
- import { useI18n as Ce } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
31
- import { Button as _, Card as we, CardContent as Te, Input as v, Label as y, Select as Ee, SelectContent as De, SelectItem as b, SelectTrigger as Oe, SelectValue as ke, Sheet as Ae, SheetContent as je, SheetDescription as Me, SheetHeader as Ne, SheetTitle as Pe, Spinner as Fe, Tabs as Ie, TabsContent as x, TabsList as Le, TabsTrigger as S, Textarea as C } from "@burdenoff/fe-libs/ui";
30
+ import { Button as _, Card as Ce, CardContent as we, Input as v, Label as y, Select as Te, SelectContent as Ee, SelectItem as b, SelectTrigger as De, SelectValue as Oe, Sheet as ke, SheetContent as Ae, SheetDescription as je, SheetHeader as Me, SheetTitle as Ne, Spinner as Pe, Tabs as Fe, TabsContent as x, TabsList as Ie, TabsTrigger as S, Textarea as C } from "@burdenoff/fe-libs/ui";
32
31
  import { jsx as w, jsxs as T } from "react/jsx-runtime";
32
+ import { useI18n as Le } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
33
33
  //#region src/bigconsole/components/widgets/PropertiesPanel.tsx
34
34
  var Re = [
35
35
  {
@@ -165,7 +165,7 @@ function Ue(e) {
165
165
  };
166
166
  }
167
167
  var We = he(function({ widget: e, onSave: t }) {
168
- let { t: r } = Ce(), [i, a] = m(""), [o, s] = m(null), c = p(!1);
168
+ let { t: r } = Le(), [i, a] = m(""), [o, s] = m(null), c = p(!1);
169
169
  d(() => {
170
170
  try {
171
171
  a(e.template && typeof e.template == "object" ? JSON.stringify(e.template, null, 2) : ""), s(null), c.current = !0;
@@ -331,7 +331,7 @@ function Ge(e) {
331
331
  };
332
332
  }
333
333
  var D = he(function({ isOpen: he, onClose: g }) {
334
- let { t: D } = Ce(), [Ke, qe] = m("general"), [O, k] = m("idle"), [A, j] = m(null), [M, N] = m(!1), P = e((e) => e.selectedWidgetId), Je = e((e) => e.widgets), F = e((e) => e.updateWidget), Ye = e((e) => e.updateWidgetPosition), Xe = t(), I = P ? Je.get(P) : void 0, Ze = I ? {
334
+ let { t: D } = Le(), [Ke, qe] = m("general"), [O, k] = m("idle"), [A, j] = m(null), [M, N] = m(!1), P = e((e) => e.selectedWidgetId), Je = e((e) => e.widgets), F = e((e) => e.updateWidget), Ye = e((e) => e.updateWidgetPosition), Xe = t(), I = P ? Je.get(P) : void 0, Ze = I ? {
335
335
  x: I.position?.x ?? I.positionX ?? 0,
336
336
  y: I.position?.y ?? I.positionY ?? 0,
337
337
  width: I.position?.width ?? I.positionWidth ?? 4,
@@ -661,11 +661,11 @@ var D = he(function({ isOpen: he, onClose: g }) {
661
661
  value: e.value,
662
662
  label: D(e.labelKey, e.label)
663
663
  })), [D]);
664
- return /* @__PURE__ */ w(Ae, {
664
+ return /* @__PURE__ */ w(ke, {
665
665
  open: he,
666
666
  onOpenChange: (e) => !e && g(),
667
667
  modal: !1,
668
- children: /* @__PURE__ */ T(je, {
668
+ children: /* @__PURE__ */ T(Ae, {
669
669
  style: {
670
670
  width: "min(420px, 100vw)",
671
671
  maxWidth: "100vw",
@@ -676,7 +676,7 @@ var D = he(function({ isOpen: he, onClose: g }) {
676
676
  overflow: "hidden"
677
677
  },
678
678
  children: [
679
- /* @__PURE__ */ w(Ne, {
679
+ /* @__PURE__ */ w(Me, {
680
680
  style: {
681
681
  padding: "var(--space-cardPadding)",
682
682
  borderBottom: "1px solid var(--color-border-subtle)",
@@ -718,7 +718,7 @@ var D = he(function({ isOpen: he, onClose: g }) {
718
718
  gap: "var(--space-iconGap)"
719
719
  },
720
720
  children: [
721
- /* @__PURE__ */ w(Pe, {
721
+ /* @__PURE__ */ w(Ne, {
722
722
  style: {
723
723
  fontSize: "var(--font-size-body-md)",
724
724
  fontWeight: "var(--font-weight-bold)",
@@ -727,7 +727,7 @@ var D = he(function({ isOpen: he, onClose: g }) {
727
727
  },
728
728
  children: I ? D("bigconsole.widget.properties.header.widgetProperties", "Widget Properties") : D("bigconsole.widget.properties.header.properties", "Properties")
729
729
  }),
730
- O === "saving" && /* @__PURE__ */ w(Fe, { style: {
730
+ O === "saving" && /* @__PURE__ */ w(Pe, { style: {
731
731
  height: "var(--size-icon-sm)",
732
732
  width: "var(--size-icon-sm)"
733
733
  } }),
@@ -742,7 +742,7 @@ var D = he(function({ isOpen: he, onClose: g }) {
742
742
  color: "var(--color-status-error-bg)"
743
743
  } })
744
744
  ]
745
- }), Wt && /* @__PURE__ */ w(Me, {
745
+ }), Wt && /* @__PURE__ */ w(je, {
746
746
  style: {
747
747
  fontSize: "var(--font-size-body-sm)",
748
748
  color: "var(--color-text-secondary)",
@@ -754,7 +754,7 @@ var D = he(function({ isOpen: he, onClose: g }) {
754
754
  })]
755
755
  })
756
756
  }),
757
- I ? /* @__PURE__ */ T(Ie, {
757
+ I ? /* @__PURE__ */ T(Fe, {
758
758
  value: Ke,
759
759
  onValueChange: (e) => qe(e),
760
760
  style: {
@@ -764,7 +764,7 @@ var D = he(function({ isOpen: he, onClose: g }) {
764
764
  minHeight: 0,
765
765
  overflow: "hidden"
766
766
  },
767
- children: [/* @__PURE__ */ T(Le, {
767
+ children: [/* @__PURE__ */ T(Ie, {
768
768
  style: {
769
769
  width: "100%",
770
770
  display: "flex",
@@ -870,19 +870,19 @@ var D = he(function({ isOpen: he, onClose: g }) {
870
870
  children: [
871
871
  /* @__PURE__ */ T("div", {
872
872
  className: "space-y-2",
873
- children: [/* @__PURE__ */ w(y, { children: D("bigconsole.widget.properties.data.sourceTypeLabel", "Data Source Type") }), /* @__PURE__ */ T(Ee, {
873
+ children: [/* @__PURE__ */ w(y, { children: D("bigconsole.widget.properties.data.sourceTypeLabel", "Data Source Type") }), /* @__PURE__ */ T(Te, {
874
874
  value: A.config?.dataSourceType || "",
875
875
  onValueChange: (e) => $({
876
876
  ...A.config,
877
877
  dataSourceType: e || void 0
878
878
  }),
879
- children: [/* @__PURE__ */ w(Oe, {
879
+ children: [/* @__PURE__ */ w(De, {
880
880
  style: {
881
881
  height: "var(--size-controlHeight-md)",
882
882
  fontSize: "var(--font-size-body-sm)"
883
883
  },
884
- children: /* @__PURE__ */ w(ke, { placeholder: D("bigconsole.widget.properties.data.selectTypePlaceholder", "Select type...") })
885
- }), /* @__PURE__ */ w(De, {
884
+ children: /* @__PURE__ */ w(Oe, { placeholder: D("bigconsole.widget.properties.data.selectTypePlaceholder", "Select type...") })
885
+ }), /* @__PURE__ */ w(Ee, {
886
886
  position: "popper",
887
887
  side: "bottom",
888
888
  sideOffset: 4,
@@ -918,16 +918,16 @@ var D = he(function({ isOpen: he, onClose: g }) {
918
918
  }),
919
919
  /* @__PURE__ */ T("div", {
920
920
  className: "space-y-2",
921
- children: [/* @__PURE__ */ w(y, { children: D("bigconsole.widget.properties.rest.httpMethodLabel", "HTTP Method") }), /* @__PURE__ */ T(Ee, {
921
+ children: [/* @__PURE__ */ w(y, { children: D("bigconsole.widget.properties.rest.httpMethodLabel", "HTTP Method") }), /* @__PURE__ */ T(Te, {
922
922
  value: A.config?.httpMethod || "GET",
923
923
  onValueChange: (e) => $({
924
924
  ...A.config,
925
925
  httpMethod: e
926
926
  }),
927
- children: [/* @__PURE__ */ w(Oe, {
927
+ children: [/* @__PURE__ */ w(De, {
928
928
  style: { height: "var(--size-controlHeight-md)" },
929
- children: /* @__PURE__ */ w(ke, {})
930
- }), /* @__PURE__ */ T(De, {
929
+ children: /* @__PURE__ */ w(Oe, {})
930
+ }), /* @__PURE__ */ T(Ee, {
931
931
  position: "popper",
932
932
  side: "bottom",
933
933
  sideOffset: 4,
@@ -967,16 +967,16 @@ var D = he(function({ isOpen: he, onClose: g }) {
967
967
  }),
968
968
  /* @__PURE__ */ T("div", {
969
969
  className: "space-y-2",
970
- children: [/* @__PURE__ */ w(y, { children: D("bigconsole.widget.properties.rest.authenticationLabel", "Authentication") }), /* @__PURE__ */ T(Ee, {
970
+ children: [/* @__PURE__ */ w(y, { children: D("bigconsole.widget.properties.rest.authenticationLabel", "Authentication") }), /* @__PURE__ */ T(Te, {
971
971
  value: A.config?.authType || "none",
972
972
  onValueChange: (e) => $({
973
973
  ...A.config,
974
974
  authType: e
975
975
  }),
976
- children: [/* @__PURE__ */ w(Oe, {
976
+ children: [/* @__PURE__ */ w(De, {
977
977
  style: { height: "var(--size-controlHeight-md)" },
978
- children: /* @__PURE__ */ w(ke, {})
979
- }), /* @__PURE__ */ T(De, {
978
+ children: /* @__PURE__ */ w(Oe, {})
979
+ }), /* @__PURE__ */ T(Ee, {
980
980
  position: "popper",
981
981
  side: "bottom",
982
982
  sideOffset: 4,
@@ -1171,15 +1171,15 @@ var D = he(function({ isOpen: he, onClose: g }) {
1171
1171
  "data-testid": "widget-inspector-actions",
1172
1172
  children: mt ? /* @__PURE__ */ w("div", {
1173
1173
  className: "flex justify-center py-8",
1174
- children: /* @__PURE__ */ w(Fe, { className: "size-6" })
1174
+ children: /* @__PURE__ */ w(Pe, { className: "size-6" })
1175
1175
  }) : H.length === 0 ? /* @__PURE__ */ w("p", {
1176
1176
  className: "text-sm text-text-secondary",
1177
1177
  children: D("bigconsole.widget.properties.actions.empty", "No actions configured")
1178
1178
  }) : /* @__PURE__ */ w("div", {
1179
1179
  className: "space-y-2",
1180
- children: [...H].sort((e, t) => e.order - t.order).map((e, t) => /* @__PURE__ */ w(we, {
1180
+ children: [...H].sort((e, t) => e.order - t.order).map((e, t) => /* @__PURE__ */ w(Ce, {
1181
1181
  className: e.disabled ? "opacity-60" : "",
1182
- children: /* @__PURE__ */ T(Te, {
1182
+ children: /* @__PURE__ */ T(we, {
1183
1183
  className: "p-3 flex items-center gap-2",
1184
1184
  children: [
1185
1185
  /* @__PURE__ */ T("div", {
@@ -1351,7 +1351,7 @@ var D = he(function({ isOpen: he, onClose: g }) {
1351
1351
  alignItems: "center",
1352
1352
  gap: "var(--space-iconGap)"
1353
1353
  },
1354
- children: [/* @__PURE__ */ w(Fe, { style: {
1354
+ children: [/* @__PURE__ */ w(Pe, { style: {
1355
1355
  width: "var(--size-icon-sm)",
1356
1356
  height: "var(--size-icon-sm)"
1357
1357
  } }), D("bigconsole.widget.properties.footer.saving", "Saving...")]