@burdenoff/microfe-bigconsole 2026.1008.10 → 2026.1008.12

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 (131) hide show
  1. package/dist/bigconsole/BigConsoleRoutes.d.ts.map +1 -1
  2. package/dist/bigconsole/BigConsoleRoutes.js +136 -127
  3. package/dist/bigconsole/BigConsoleRoutes.js.map +1 -1
  4. package/dist/bigconsole/assistant/assistantProduct.d.ts.map +1 -1
  5. package/dist/bigconsole/assistant/assistantProduct.js +3 -1
  6. package/dist/bigconsole/assistant/assistantProduct.js.map +1 -1
  7. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +31 -31
  8. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +44 -44
  9. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +1 -1
  10. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +36 -36
  11. package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +1 -1
  12. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +59 -59
  13. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +15 -15
  14. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +30 -30
  15. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +41 -41
  16. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +34 -34
  17. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +34 -34
  18. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +110 -110
  19. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +1 -1
  20. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +21 -21
  21. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +46 -46
  22. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +91 -91
  23. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js.map +1 -1
  24. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +101 -101
  25. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js.map +1 -1
  26. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js +31 -31
  27. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js +15 -15
  28. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js +1 -1
  29. package/dist/bigconsole/components/dashboard/WidgetPalette.js +46 -46
  30. package/dist/bigconsole/components/datasink/AlertExecutionHistory.js +37 -37
  31. package/dist/bigconsole/components/datasink/AlertRuleEditor.js +66 -66
  32. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +35 -35
  33. package/dist/bigconsole/components/datasink/DataSinkCard.js +29 -29
  34. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +18 -18
  35. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +20 -20
  36. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +47 -47
  37. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +91 -91
  38. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +35 -35
  39. package/dist/bigconsole/components/parser/DataSinkSelector.js +40 -40
  40. package/dist/bigconsole/components/parser/ImportParserDialog.js +120 -120
  41. package/dist/bigconsole/components/parser/ImportParserDialog.js.map +1 -1
  42. package/dist/bigconsole/components/parser/ParserSelector.js +51 -51
  43. package/dist/bigconsole/components/pipeline/PipelineScopePicker.js +10 -10
  44. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +27 -27
  45. package/dist/bigconsole/components/preview/AiPreviewPanel.js +30 -30
  46. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +4 -4
  47. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +93 -93
  48. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +1 -1
  49. package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts.map +1 -1
  50. package/dist/bigconsole/components/widgets/PropertiesPanel.js +280 -273
  51. package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +1 -1
  52. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +4 -4
  53. package/dist/bigconsole/components/widgets/chart/ChartConfig.js +48 -48
  54. package/dist/bigconsole/components/widgets/comments/WidgetComments.js +46 -46
  55. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +61 -61
  56. package/dist/bigconsole/components/widgets/form/FormWidget.js +36 -36
  57. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +42 -42
  58. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +25 -25
  59. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +4 -4
  60. package/dist/bigconsole/components/widgets/list/ListConfig.js +30 -30
  61. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +38 -38
  62. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +9 -9
  63. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +9 -9
  64. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +49 -49
  65. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +39 -39
  66. package/dist/bigconsole/components/widgets/table/TableConfig.js +73 -73
  67. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +64 -64
  68. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js +15 -15
  69. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js +15 -15
  70. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +9 -9
  71. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +67 -67
  72. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +1 -1
  73. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts +15 -0
  74. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts.map +1 -0
  75. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js +34 -0
  76. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js.map +1 -0
  77. package/dist/bigconsole/hooks/useDrilldown.js +3 -3
  78. package/dist/bigconsole/hooks/useGlobalFilters.js +3 -3
  79. package/dist/bigconsole/pages/AdminPage.js +130 -130
  80. package/dist/bigconsole/pages/DashboardBuilderPage.d.ts.map +1 -1
  81. package/dist/bigconsole/pages/DashboardBuilderPage.js +72 -60
  82. package/dist/bigconsole/pages/DashboardBuilderPage.js.map +1 -1
  83. package/dist/bigconsole/pages/DashboardViewPage.js +1 -1
  84. package/dist/bigconsole/pages/DataSinkAlertsPage.d.ts.map +1 -1
  85. package/dist/bigconsole/pages/DataSinkAlertsPage.js +30 -23
  86. package/dist/bigconsole/pages/DataSinkAlertsPage.js.map +1 -1
  87. package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts.map +1 -1
  88. package/dist/bigconsole/pages/DataSinkBuilderPage.js +272 -263
  89. package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -1
  90. package/dist/bigconsole/pages/DataSinkViewPage.js +1 -1
  91. package/dist/bigconsole/pages/DataSinksPage.js +1 -1
  92. package/dist/bigconsole/pages/DataSourcesPage.js +5 -5
  93. package/dist/bigconsole/pages/InsightsPage.js +181 -181
  94. package/dist/bigconsole/pages/InsightsPage.js.map +1 -1
  95. package/dist/bigconsole/pages/OverviewPage.js +47 -47
  96. package/dist/bigconsole/pages/OverviewPage.js.map +1 -1
  97. package/dist/bigconsole/pages/ParserBuilderPage.d.ts.map +1 -1
  98. package/dist/bigconsole/pages/ParserBuilderPage.js +227 -211
  99. package/dist/bigconsole/pages/ParserBuilderPage.js.map +1 -1
  100. package/dist/bigconsole/pages/ParserViewPage.js +97 -97
  101. package/dist/bigconsole/pages/PipelineBuilderPage.d.ts.map +1 -1
  102. package/dist/bigconsole/pages/PipelineBuilderPage.js +256 -214
  103. package/dist/bigconsole/pages/PipelineBuilderPage.js.map +1 -1
  104. package/dist/bigconsole/pages/PipelineViewPage.js +146 -146
  105. package/dist/bigconsole/pages/PipelinesPage.js +88 -88
  106. package/dist/bigconsole/pages/PipelinesPage.js.map +1 -1
  107. package/dist/bigconsole/pages/SettingsPage.d.ts.map +1 -1
  108. package/dist/bigconsole/pages/SettingsPage.js +179 -173
  109. package/dist/bigconsole/pages/SettingsPage.js.map +1 -1
  110. package/dist/bigconsole/pages/WidgetDemoPage.js +42 -42
  111. package/dist/bigconsole/pages/WorkflowViewPage.js +1 -1
  112. package/dist/bigconsole/pages/WorkflowsPage.js +141 -141
  113. package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -1
  114. package/dist/bigconsole/providers/BigConsoleQuotaProvider.js +12 -12
  115. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +34 -34
  116. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +79 -79
  117. package/dist/bigconsole/renderers/adapters/CustomRenderer.js +46 -46
  118. package/dist/bigconsole/store/widgetStore.d.ts +12 -0
  119. package/dist/bigconsole/store/widgetStore.d.ts.map +1 -1
  120. package/dist/bigconsole/store/widgetStore.js +3 -1
  121. package/dist/bigconsole/store/widgetStore.js.map +1 -1
  122. package/dist/bigconsole/utils/formDirty.d.ts +83 -0
  123. package/dist/bigconsole/utils/formDirty.d.ts.map +1 -0
  124. package/dist/bigconsole/utils/formDirty.js +23 -0
  125. package/dist/bigconsole/utils/formDirty.js.map +1 -0
  126. package/dist/bigconsole/utils/layoutBaseline.d.ts +131 -0
  127. package/dist/bigconsole/utils/layoutBaseline.d.ts.map +1 -0
  128. package/dist/bigconsole/utils/layoutBaseline.js +98 -0
  129. package/dist/bigconsole/utils/layoutBaseline.js.map +1 -0
  130. package/dist/translations/en.d.ts.map +1 -1
  131. package/package.json +3 -3
@@ -4,9 +4,9 @@ import { Section as i } from "../common/Section.js";
4
4
  import "../common/index.js";
5
5
  import "../../hooks/useDrilldown.js";
6
6
  import { memo as a, useCallback as o, useEffect as s, useMemo as c, useState as l } from "react";
7
- import { useApolloClient as u, useQuery as d } from "@apollo/client/react";
8
- import { Fragment as ee, jsx as f, jsxs as p } from "react/jsx-runtime";
9
- import { useI18n as m } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
7
+ import { useI18n as u } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
8
+ import { useApolloClient as ee, useQuery as d } from "@apollo/client/react";
9
+ import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
10
10
  //#region src/bigconsole/components/widgets/DrilldownConfigPanel.tsx
11
11
  var h = "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", g = `${h} w-full px-3`, _ = "bg-action-primary-bg border-action-primary-bg", v = "bg-bg-sunken border-[var(--color-border-strong)]", y = "bg-bg-surface shadow-[var(--shadow-elevation-1)]", b = 50, te = 250;
12
12
  function x(e, t = "") {
@@ -20,7 +20,7 @@ function x(e, t = "") {
20
20
  return n;
21
21
  }
22
22
  var S = a(function({ widget: a, onChange: S, widgetData: C }) {
23
- let { t: w } = m(), T = u(), [E, ne] = l(a.drilldown?.enabled ?? !1), [D, re] = l(a.drilldown?.targetDashboardId ?? ""), [O, k] = l(a.drilldown?.targetPageId ?? null), [A, ie] = l(a.drilldown?.navigationMode ?? "MODAL"), [j, M] = l(a.drilldown?.passGlobalFilters ?? !0), [N, ae] = l(a.drilldown?.maxDepth ?? 3), [P, F] = l(() => {
23
+ let { t: w } = u(), T = ee(), [E, ne] = l(a.drilldown?.enabled ?? !1), [D, re] = l(a.drilldown?.targetDashboardId ?? ""), [O, k] = l(a.drilldown?.targetPageId ?? null), [A, ie] = l(a.drilldown?.navigationMode ?? "MODAL"), [j, ae] = l(a.drilldown?.passGlobalFilters ?? !0), [M, oe] = l(a.drilldown?.maxDepth ?? 3), [N, P] = l(() => {
24
24
  let e = a.drilldown?.parameterMapping;
25
25
  return e ? Object.entries(e).map(([e, t]) => ({
26
26
  key: e,
@@ -29,7 +29,7 @@ var S = a(function({ widget: a, onChange: S, widgetData: C }) {
29
29
  key: "",
30
30
  value: ""
31
31
  }];
32
- }), [I, oe] = l([]), [se, L] = l(!1), [ce, R] = l(!1), [z, le] = l(""), [ue, B] = l(null), V = a.dashboardId ?? "", H = !!D && D === V, U = a.drilldown?.id, { data: W } = d(t, {
32
+ }), [F, se] = l([]), [ce, I] = l(!1), [le, L] = l(!1), [R, ue] = l(""), [z, B] = l(null), V = a.dashboardId ?? "", H = !!D && D === V, U = a.drilldown?.id, { data: W } = d(t, {
33
33
  variables: { widgetId: a.id },
34
34
  skip: !U,
35
35
  fetchPolicy: "cache-and-network"
@@ -57,7 +57,7 @@ var S = a(function({ widget: a, onChange: S, widgetData: C }) {
57
57
  return n.push("{{widget.value}}", "{{widget.title}}", "{{widget.id}}"), n.push("{{globals.vars.dateFrom}}", "{{globals.vars.dateTo}}"), [...new Set(n)];
58
58
  }, [C]), Q = o(() => {
59
59
  let e = {};
60
- for (let { key: t, value: n } of P) t.trim() && n.trim() && (e[t.trim()] = n.trim());
60
+ for (let { key: t, value: n } of N) t.trim() && n.trim() && (e[t.trim()] = n.trim());
61
61
  S?.({
62
62
  enabled: E,
63
63
  targetDashboardId: D,
@@ -65,16 +65,16 @@ var S = a(function({ widget: a, onChange: S, widgetData: C }) {
65
65
  navigationMode: A,
66
66
  parameterMapping: e,
67
67
  passGlobalFilters: j,
68
- maxDepth: N
68
+ maxDepth: M
69
69
  });
70
70
  }, [
71
71
  E,
72
72
  D,
73
73
  O,
74
74
  A,
75
- P,
76
- j,
77
75
  N,
76
+ j,
77
+ M,
78
78
  S
79
79
  ]);
80
80
  s(() => {
@@ -84,15 +84,15 @@ var S = a(function({ widget: a, onChange: S, widgetData: C }) {
84
84
  D,
85
85
  O,
86
86
  A,
87
- P,
88
- j,
89
87
  N,
88
+ j,
89
+ M,
90
90
  Q
91
91
  ]), s(() => {
92
92
  let e = !1, t = setTimeout(async () => {
93
- L(!0), R(!1);
93
+ I(!0), L(!1);
94
94
  try {
95
- let t = z.trim(), r = await T.query({
95
+ let t = R.trim(), r = await T.query({
96
96
  query: n,
97
97
  variables: {
98
98
  first: b,
@@ -101,22 +101,22 @@ var S = a(function({ widget: a, onChange: S, widgetData: C }) {
101
101
  fetchPolicy: "cache-first"
102
102
  });
103
103
  if (e) return;
104
- oe((r.data?.listDashboards?.edges ?? []).map((e) => e?.node).filter((e) => !!e).map((e) => ({
104
+ se((r.data?.listDashboards?.edges ?? []).map((e) => e?.node).filter((e) => !!e).map((e) => ({
105
105
  id: e.id,
106
106
  name: e.name
107
107
  })));
108
108
  } catch {
109
- e || R(!0);
109
+ e || L(!0);
110
110
  } finally {
111
- e || L(!1);
111
+ e || I(!1);
112
112
  }
113
113
  }, te);
114
114
  return () => {
115
115
  e = !0, clearTimeout(t);
116
116
  };
117
- }, [T, z]);
117
+ }, [T, R]);
118
118
  let fe = c(() => {
119
- let e = I.filter((e) => e.id !== V);
119
+ let e = F.filter((e) => e.id !== V);
120
120
  if (D && D !== V && !e.some((e) => e.id === D)) {
121
121
  let t = G?.targetDashboard?.id === D ? G.targetDashboard.name : void 0;
122
122
  e.unshift({
@@ -126,7 +126,7 @@ var S = a(function({ widget: a, onChange: S, widgetData: C }) {
126
126
  }
127
127
  return e;
128
128
  }, [
129
- I,
129
+ F,
130
130
  V,
131
131
  D,
132
132
  G,
@@ -134,92 +134,92 @@ var S = a(function({ widget: a, onChange: S, widgetData: C }) {
134
134
  ]), pe = o((e) => {
135
135
  re(e), k(null);
136
136
  }, []), me = o(() => {
137
- F((e) => [...e, {
137
+ P((e) => [...e, {
138
138
  key: "",
139
139
  value: ""
140
140
  }]);
141
141
  }, []), he = o((e) => {
142
- F((t) => t.filter((t, n) => n !== e));
142
+ P((t) => t.filter((t, n) => n !== e));
143
143
  }, []), $ = o((e, t, n) => {
144
- F((r) => r.map((r, i) => i === e ? {
144
+ P((r) => r.map((r, i) => i === e ? {
145
145
  ...r,
146
146
  [t]: n
147
147
  } : r));
148
148
  }, []);
149
- return /* @__PURE__ */ p("div", {
149
+ return /* @__PURE__ */ m("div", {
150
150
  className: "min-w-0 space-y-form-gap",
151
151
  children: [
152
- /* @__PURE__ */ p("div", {
152
+ /* @__PURE__ */ m("div", {
153
153
  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",
154
- children: [/* @__PURE__ */ f("label", {
154
+ children: [/* @__PURE__ */ p("label", {
155
155
  htmlFor: "drilldown-enable",
156
156
  className: "text-sm font-medium text-text-primary",
157
157
  children: w("bigconsole.widget.drilldown.enableLabel", "Enable Drilldown")
158
- }), /* @__PURE__ */ f("button", {
158
+ }), /* @__PURE__ */ p("button", {
159
159
  id: "drilldown-enable",
160
160
  type: "button",
161
161
  role: "switch",
162
162
  "aria-checked": E,
163
163
  onClick: () => ne(!E),
164
164
  className: `relative inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border motion-safe:transition-colors ${r} ${E ? _ : v}`,
165
- children: /* @__PURE__ */ f("span", { className: `inline-block h-4 w-4 transform rounded-full motion-safe:transition-transform ${y} ${E ? "translate-x-6" : "translate-x-1"}` })
165
+ children: /* @__PURE__ */ p("span", { className: `inline-block h-4 w-4 transform rounded-full motion-safe:transition-transform ${y} ${E ? "translate-x-6" : "translate-x-1"}` })
166
166
  })]
167
167
  }),
168
- E && /* @__PURE__ */ p(ee, { children: [
169
- /* @__PURE__ */ p("div", { children: [
170
- /* @__PURE__ */ f("label", {
168
+ E && /* @__PURE__ */ m(f, { children: [
169
+ /* @__PURE__ */ m("div", { children: [
170
+ /* @__PURE__ */ p("label", {
171
171
  htmlFor: "drilldown-target",
172
172
  className: "mb-1 block text-sm font-medium text-text-primary",
173
173
  children: w("bigconsole.widget.drilldown.targetDashboardLabel", "Target Dashboard")
174
174
  }),
175
- /* @__PURE__ */ f("input", {
175
+ /* @__PURE__ */ p("input", {
176
176
  type: "search",
177
- value: z,
178
- onChange: (e) => le(e.target.value),
177
+ value: R,
178
+ onChange: (e) => ue(e.target.value),
179
179
  placeholder: w("bigconsole.widget.drilldown.searchDashboards", "Search dashboards..."),
180
180
  "aria-label": w("bigconsole.widget.drilldown.searchDashboards", "Search dashboards..."),
181
181
  className: `${g} mb-2`,
182
182
  "data-testid": "drilldown-dashboard-search"
183
183
  }),
184
- /* @__PURE__ */ p("select", {
184
+ /* @__PURE__ */ m("select", {
185
185
  id: "drilldown-target",
186
186
  value: D,
187
187
  onChange: (e) => pe(e.target.value),
188
188
  className: g,
189
189
  "data-testid": "drilldown-target-dashboard",
190
190
  children: [
191
- /* @__PURE__ */ f("option", {
191
+ /* @__PURE__ */ p("option", {
192
192
  value: "",
193
193
  children: w("bigconsole.widget.drilldown.selectDashboard", "Select a dashboard...")
194
194
  }),
195
- V && /* @__PURE__ */ f("option", {
195
+ V && /* @__PURE__ */ p("option", {
196
196
  value: V,
197
197
  children: w("bigconsole.widget.drilldown.thisDashboard", "This dashboard (another page)")
198
198
  }),
199
- fe.map((e) => /* @__PURE__ */ f("option", {
199
+ fe.map((e) => /* @__PURE__ */ p("option", {
200
200
  value: e.id,
201
201
  children: e.name
202
202
  }, e.id))
203
203
  ]
204
204
  }),
205
- se && /* @__PURE__ */ f("p", {
205
+ ce && /* @__PURE__ */ p("p", {
206
206
  className: "mt-1 text-xs text-text-muted",
207
207
  role: "status",
208
208
  children: w("bigconsole.widget.drilldown.loadingDashboards", "Loading dashboards...")
209
209
  }),
210
- ce && /* @__PURE__ */ f("p", {
210
+ le && /* @__PURE__ */ p("p", {
211
211
  className: "mt-1 text-xs text-[var(--color-status-error-text)]",
212
212
  role: "alert",
213
213
  children: w("bigconsole.widget.drilldown.dashboardsLoadError", "Could not load dashboards. Try again.")
214
214
  })
215
215
  ] }),
216
- D && /* @__PURE__ */ p("div", { children: [
217
- /* @__PURE__ */ f("label", {
216
+ D && /* @__PURE__ */ m("div", { children: [
217
+ /* @__PURE__ */ p("label", {
218
218
  htmlFor: "drilldown-target-page",
219
219
  className: "mb-1 block text-sm font-medium text-text-primary",
220
220
  children: w("bigconsole.widget.drilldown.targetPageLabel", "Target Page")
221
221
  }),
222
- /* @__PURE__ */ p("select", {
222
+ /* @__PURE__ */ m("select", {
223
223
  id: "drilldown-target-page",
224
224
  value: O ?? "",
225
225
  onChange: (e) => k(e.target.value || null),
@@ -227,38 +227,38 @@ var S = a(function({ widget: a, onChange: S, widgetData: C }) {
227
227
  "aria-invalid": X,
228
228
  className: g,
229
229
  "data-testid": "drilldown-target-page",
230
- children: [/* @__PURE__ */ f("option", {
230
+ children: [/* @__PURE__ */ p("option", {
231
231
  value: "",
232
232
  children: H ? w("bigconsole.widget.drilldown.selectPage", "Select a page...") : w("bigconsole.widget.drilldown.firstPage", "First page (default)")
233
- }), Y.map((e, t) => /* @__PURE__ */ f("option", {
233
+ }), Y.map((e, t) => /* @__PURE__ */ p("option", {
234
234
  value: e.id,
235
235
  children: e.name || w("bigconsole.dashboards.view.pageName", "Page {{count}}", { count: t + 1 })
236
236
  }, e.id))]
237
237
  }),
238
- X && /* @__PURE__ */ f("p", {
238
+ X && /* @__PURE__ */ p("p", {
239
239
  className: "mt-1 text-xs text-[var(--color-status-error-text)]",
240
240
  role: "alert",
241
241
  children: Y.length === 0 && !q ? w("bigconsole.widget.drilldown.noOtherPages", "This dashboard has no other page. Add a page, or pick another dashboard.") : w("bigconsole.widget.drilldown.samePageRequired", "Pick the page of this dashboard to open.")
242
242
  })
243
243
  ] }),
244
- de && /* @__PURE__ */ f(i, {
244
+ de && /* @__PURE__ */ p(i, {
245
245
  tone: "warning",
246
246
  padding: "compact",
247
247
  headingLevel: 4,
248
248
  title: w("bigconsole.widget.drilldown.unavailableTitle", "Target unavailable"),
249
249
  "data-testid": "drilldown-target-unavailable",
250
- children: /* @__PURE__ */ f("p", {
250
+ children: /* @__PURE__ */ p("p", {
251
251
  className: "text-xs text-text-secondary",
252
252
  children: w("bigconsole.widget.drilldown.unavailableHelp", "The target dashboard was deleted, archived, or is no longer shared with you. Viewers see a notice instead of navigating. Pick another target.")
253
253
  })
254
254
  }),
255
- /* @__PURE__ */ p("div", { children: [
256
- /* @__PURE__ */ f("p", {
255
+ /* @__PURE__ */ m("div", { children: [
256
+ /* @__PURE__ */ p("p", {
257
257
  className: "mb-1 text-sm font-medium text-text-primary",
258
258
  id: "drilldown-nav-mode-label",
259
259
  children: w("bigconsole.widget.drilldown.navigationModeLabel", "Navigation Mode")
260
260
  }),
261
- /* @__PURE__ */ f("div", {
261
+ /* @__PURE__ */ p("div", {
262
262
  className: "flex flex-wrap gap-2",
263
263
  role: "group",
264
264
  "aria-labelledby": "drilldown-nav-mode-label",
@@ -266,7 +266,7 @@ var S = a(function({ widget: a, onChange: S, widgetData: C }) {
266
266
  "MODAL",
267
267
  "NEW_TAB",
268
268
  "SAME_WINDOW"
269
- ].map((e) => /* @__PURE__ */ p("button", {
269
+ ].map((e) => /* @__PURE__ */ m("button", {
270
270
  type: "button",
271
271
  "aria-pressed": A === e,
272
272
  onClick: () => ie(e),
@@ -278,7 +278,7 @@ var S = a(function({ widget: a, onChange: S, widgetData: C }) {
278
278
  ]
279
279
  }, e))
280
280
  }),
281
- /* @__PURE__ */ p("p", {
281
+ /* @__PURE__ */ m("p", {
282
282
  className: "mt-1 text-xs text-text-muted",
283
283
  children: [
284
284
  A === "MODAL" && w("bigconsole.widget.drilldown.modeHelp.modal", "Opens the target in a modal overlay"),
@@ -287,27 +287,27 @@ var S = a(function({ widget: a, onChange: S, widgetData: C }) {
287
287
  ]
288
288
  })
289
289
  ] }),
290
- /* @__PURE__ */ p("div", { children: [
291
- /* @__PURE__ */ p("div", {
290
+ /* @__PURE__ */ m("div", { children: [
291
+ /* @__PURE__ */ m("div", {
292
292
  className: "mb-2 flex flex-wrap items-center justify-between gap-2",
293
- children: [/* @__PURE__ */ f("p", {
293
+ children: [/* @__PURE__ */ p("p", {
294
294
  className: "text-sm font-medium text-text-primary",
295
295
  children: w("bigconsole.widget.drilldown.parameterMappingsLabel", "Parameter Mappings")
296
- }), /* @__PURE__ */ f("button", {
296
+ }), /* @__PURE__ */ p("button", {
297
297
  type: "button",
298
298
  onClick: me,
299
299
  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",
300
300
  children: w("bigconsole.widget.drilldown.addParameter", "+ Add Parameter")
301
301
  })]
302
302
  }),
303
- /* @__PURE__ */ f("div", {
303
+ /* @__PURE__ */ p("div", {
304
304
  className: "space-y-2",
305
- children: P.map((e, t) => /* @__PURE__ */ f("div", {
305
+ children: N.map((e, t) => /* @__PURE__ */ p("div", {
306
306
  className: "relative",
307
- children: /* @__PURE__ */ p("div", {
307
+ children: /* @__PURE__ */ m("div", {
308
308
  className: "flex min-w-0 flex-wrap items-center gap-2",
309
309
  children: [
310
- /* @__PURE__ */ f("input", {
310
+ /* @__PURE__ */ p("input", {
311
311
  type: "text",
312
312
  value: e.key,
313
313
  onChange: (e) => $(t, "key", e.target.value),
@@ -315,14 +315,14 @@ var S = a(function({ widget: a, onChange: S, widgetData: C }) {
315
315
  "aria-label": `Parameter ${t + 1} name`,
316
316
  className: `${g} min-w-[7rem] flex-1`
317
317
  }),
318
- /* @__PURE__ */ f("span", {
318
+ /* @__PURE__ */ p("span", {
319
319
  "aria-hidden": "true",
320
320
  className: "text-text-muted",
321
321
  children: "="
322
322
  }),
323
- /* @__PURE__ */ p("div", {
323
+ /* @__PURE__ */ m("div", {
324
324
  className: "relative min-w-[7rem] flex-1",
325
- children: [/* @__PURE__ */ f("input", {
325
+ children: [/* @__PURE__ */ p("input", {
326
326
  type: "text",
327
327
  value: e.value,
328
328
  onChange: (e) => $(t, "value", e.target.value),
@@ -331,9 +331,9 @@ var S = a(function({ widget: a, onChange: S, widgetData: C }) {
331
331
  placeholder: w("bigconsole.widget.drilldown.parameterValuePlaceholder", "{{row.field}} or static"),
332
332
  "aria-label": `Parameter ${t + 1} value`,
333
333
  className: g
334
- }), ue === t && Z.length > 0 && /* @__PURE__ */ f("div", {
334
+ }), z === t && Z.length > 0 && /* @__PURE__ */ p("div", {
335
335
  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)]",
336
- children: Z.slice(0, 10).map((e) => /* @__PURE__ */ f("button", {
336
+ children: Z.slice(0, 10).map((e) => /* @__PURE__ */ p("button", {
337
337
  type: "button",
338
338
  onClick: () => {
339
339
  $(t, "value", e), B(null);
@@ -343,17 +343,17 @@ var S = a(function({ widget: a, onChange: S, widgetData: C }) {
343
343
  }, e))
344
344
  })]
345
345
  }),
346
- P.length > 1 && /* @__PURE__ */ f("button", {
346
+ N.length > 1 && /* @__PURE__ */ p("button", {
347
347
  type: "button",
348
348
  onClick: () => he(t),
349
349
  "aria-label": `Remove parameter ${t + 1}`,
350
350
  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",
351
- children: /* @__PURE__ */ f("svg", {
351
+ children: /* @__PURE__ */ p("svg", {
352
352
  className: "h-icon-sm w-icon-sm",
353
353
  fill: "none",
354
354
  stroke: "currentColor",
355
355
  viewBox: "0 0 24 24",
356
- children: /* @__PURE__ */ f("path", {
356
+ children: /* @__PURE__ */ p("path", {
357
357
  strokeLinecap: "round",
358
358
  strokeLinejoin: "round",
359
359
  strokeWidth: 2,
@@ -365,85 +365,85 @@ var S = a(function({ widget: a, onChange: S, widgetData: C }) {
365
365
  })
366
366
  }, t))
367
367
  }),
368
- /* @__PURE__ */ p("p", {
368
+ /* @__PURE__ */ m("p", {
369
369
  className: "mt-2 text-xs text-text-muted",
370
370
  children: [
371
371
  w("bigconsole.widget.drilldown.paramHelp.usePrefix", "Use"),
372
372
  " ",
373
- /* @__PURE__ */ f("code", {
373
+ /* @__PURE__ */ p("code", {
374
374
  className: "px-1 bg-bg-sunken rounded",
375
375
  children: "{{row.field}}"
376
376
  }),
377
377
  " ",
378
378
  w("bigconsole.widget.drilldown.paramHelp.useSuffix", "for dynamic values or enter static text."),
379
- /* @__PURE__ */ f("br", {}),
379
+ /* @__PURE__ */ p("br", {}),
380
380
  w("bigconsole.widget.drilldown.paramHelp.examples", "Examples:"),
381
381
  " ",
382
- /* @__PURE__ */ f("code", {
382
+ /* @__PURE__ */ p("code", {
383
383
  className: "px-1 bg-bg-sunken rounded",
384
384
  children: "{{row.category}}"
385
385
  }),
386
386
  ",",
387
387
  " ",
388
- /* @__PURE__ */ f("code", {
388
+ /* @__PURE__ */ p("code", {
389
389
  className: "px-1 bg-bg-sunken rounded",
390
390
  children: "{{item.id}}"
391
391
  }),
392
392
  ",",
393
393
  " ",
394
- /* @__PURE__ */ f("code", {
394
+ /* @__PURE__ */ p("code", {
395
395
  className: "px-1 bg-bg-sunken rounded",
396
396
  children: "{{globals.vars.dateFrom}}"
397
397
  })
398
398
  ]
399
399
  })
400
400
  ] }),
401
- /* @__PURE__ */ f(i, {
401
+ /* @__PURE__ */ p(i, {
402
402
  emphasis: "muted",
403
403
  padding: "compact",
404
404
  headingLevel: 4,
405
405
  title: w("bigconsole.widget.drilldown.advancedOptions", "Advanced Options"),
406
406
  description: w("bigconsole.widget.drilldown.advancedOptionsHelp", "Rarely changed. Defaults suit most drilldowns."),
407
407
  "data-testid": "drilldown-advanced",
408
- children: /* @__PURE__ */ p("div", {
408
+ children: /* @__PURE__ */ m("div", {
409
409
  className: "flex flex-col gap-2",
410
- children: [/* @__PURE__ */ p("div", {
410
+ children: [/* @__PURE__ */ m("div", {
411
411
  className: "flex min-w-0 flex-wrap items-center justify-between gap-2 rounded-button bg-bg-surface p-2",
412
- children: [/* @__PURE__ */ p("div", {
412
+ children: [/* @__PURE__ */ m("div", {
413
413
  className: "min-w-0",
414
- children: [/* @__PURE__ */ f("label", {
414
+ children: [/* @__PURE__ */ p("label", {
415
415
  htmlFor: "drilldown-pass-filters",
416
416
  className: "text-sm text-text-primary",
417
417
  children: w("bigconsole.widget.drilldown.passGlobalFiltersLabel", "Pass Global Filters")
418
- }), /* @__PURE__ */ f("p", {
418
+ }), /* @__PURE__ */ p("p", {
419
419
  className: "text-xs text-text-muted",
420
420
  children: w("bigconsole.widget.drilldown.passGlobalFiltersHelp", "Include current dashboard filters in drilldown")
421
421
  })]
422
- }), /* @__PURE__ */ f("button", {
422
+ }), /* @__PURE__ */ p("button", {
423
423
  id: "drilldown-pass-filters",
424
424
  type: "button",
425
425
  role: "switch",
426
426
  "aria-checked": j,
427
- onClick: () => M(!j),
427
+ onClick: () => ae(!j),
428
428
  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 ${j ? _ : v}`,
429
- children: /* @__PURE__ */ f("span", { className: `inline-block h-3 w-3 transform rounded-full motion-safe:transition-transform ${y} ${j ? "translate-x-5" : "translate-x-1"}` })
429
+ children: /* @__PURE__ */ p("span", { className: `inline-block h-3 w-3 transform rounded-full motion-safe:transition-transform ${y} ${j ? "translate-x-5" : "translate-x-1"}` })
430
430
  })]
431
- }), /* @__PURE__ */ p("div", {
431
+ }), /* @__PURE__ */ m("div", {
432
432
  className: "flex min-w-0 flex-wrap items-center justify-between gap-2 rounded-button bg-bg-surface p-2",
433
- children: [/* @__PURE__ */ p("div", {
433
+ children: [/* @__PURE__ */ m("div", {
434
434
  className: "min-w-0",
435
- children: [/* @__PURE__ */ f("label", {
435
+ children: [/* @__PURE__ */ p("label", {
436
436
  htmlFor: "drilldown-max-depth",
437
437
  className: "text-sm text-text-primary",
438
438
  children: w("bigconsole.widget.drilldown.maxDepthLabel", "Max Drilldown Depth")
439
- }), /* @__PURE__ */ f("p", {
439
+ }), /* @__PURE__ */ p("p", {
440
440
  className: "text-xs text-text-muted",
441
441
  children: w("bigconsole.widget.drilldown.maxDepthHelp", "Limit nested drilldown levels")
442
442
  })]
443
- }), /* @__PURE__ */ f("select", {
443
+ }), /* @__PURE__ */ p("select", {
444
444
  id: "drilldown-max-depth",
445
- value: N,
446
- onChange: (e) => ae(Number(e.target.value)),
445
+ value: M,
446
+ onChange: (e) => oe(Number(e.target.value)),
447
447
  className: `${h} w-auto min-w-[4rem] shrink-0 px-2`,
448
448
  children: [
449
449
  1,
@@ -451,7 +451,7 @@ var S = a(function({ widget: a, onChange: S, widgetData: C }) {
451
451
  3,
452
452
  4,
453
453
  5
454
- ].map((e) => /* @__PURE__ */ f("option", {
454
+ ].map((e) => /* @__PURE__ */ p("option", {
455
455
  value: e,
456
456
  children: e
457
457
  }, e))
@@ -460,13 +460,13 @@ var S = a(function({ widget: a, onChange: S, widgetData: C }) {
460
460
  })
461
461
  })
462
462
  ] }),
463
- !E && a.drilldown?.id && /* @__PURE__ */ f(i, {
463
+ !E && a.drilldown?.id && /* @__PURE__ */ p(i, {
464
464
  tone: "warning",
465
465
  padding: "compact",
466
466
  headingLevel: 4,
467
467
  title: w("bigconsole.widget.drilldown.removalTitle", "Drilldown will be removed"),
468
468
  "data-testid": "drilldown-removal-notice",
469
- children: /* @__PURE__ */ f("p", {
469
+ children: /* @__PURE__ */ p("p", {
470
470
  className: "text-xs text-text-secondary",
471
471
  children: w("bigconsole.widget.drilldown.removalWarning", "Drilldown will be removed when you save changes.")
472
472
  })