@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
@@ -1,6 +1,6 @@
1
- import { Section as e, SectionStack as t } from "./common/Section.js";
1
+ import { GetDashboardDocument as e, ListWidgetsByDashboardDocument as t } from "../../generated/wspace-operations.js";
2
+ import { Section as n, SectionStack as r } from "./common/Section.js";
2
3
  import "./common/index.js";
3
- import { GetDashboardDocument as n, ListWidgetsByDashboardDocument as r } from "../../generated/wspace-operations.js";
4
4
  import { mapFromFederationWidgetType as i } from "../utils/widgetTypeMapping.js";
5
5
  import a from "./widgets/WidgetWrapper.js";
6
6
  import { memo as o, useEffect as s, useState as c } from "react";
@@ -54,29 +54,29 @@ var p = o(function({ dashboardId: i, params: a }) {
54
54
  h(!1);
55
55
  return;
56
56
  }
57
- async function e() {
57
+ async function n() {
58
58
  h(!0), _(null);
59
59
  try {
60
- let e = (await o.query({
61
- query: n,
60
+ let n = (await o.query({
61
+ query: e,
62
62
  variables: { id: i },
63
63
  fetchPolicy: "network-only"
64
64
  })).data?.getDashboard;
65
- if (!e) {
65
+ if (!n) {
66
66
  _("Dashboard not found"), h(!1);
67
67
  return;
68
68
  }
69
- let t = e.pages?.edges?.map((e) => ({
69
+ let r = n.pages?.edges?.map((e) => ({
70
70
  id: e.node.id,
71
71
  name: e.node.name || "Page 1"
72
72
  })) || [];
73
73
  y({
74
- id: e.id,
75
- name: e.name,
76
- description: e.description,
77
- pages: t
74
+ id: n.id,
75
+ name: n.name,
76
+ description: n.description,
77
+ pages: r
78
78
  }), x(((await o.query({
79
- query: r,
79
+ query: t,
80
80
  variables: { dashboardId: i },
81
81
  fetchPolicy: "network-only"
82
82
  })).data?.listWidgetsByDashboard || []).map((e, t) => f(e, t)));
@@ -86,7 +86,7 @@ var p = o(function({ dashboardId: i, params: a }) {
86
86
  h(!1);
87
87
  }
88
88
  }
89
- e();
89
+ n();
90
90
  }, [i, o]), p) return /* @__PURE__ */ u("div", {
91
91
  className: "flex items-center justify-center h-full",
92
92
  children: /* @__PURE__ */ d("div", {
@@ -100,7 +100,7 @@ var p = o(function({ dashboardId: i, params: a }) {
100
100
  if (g) return /* @__PURE__ */ u("div", {
101
101
  className: "flex h-full items-center justify-center",
102
102
  role: "alert",
103
- children: /* @__PURE__ */ u(e, {
103
+ children: /* @__PURE__ */ u(n, {
104
104
  headingLevel: 3,
105
105
  tone: "danger",
106
106
  className: "w-full max-w-md",
@@ -143,10 +143,10 @@ var p = o(function({ dashboardId: i, params: a }) {
143
143
  })
144
144
  });
145
145
  let S = Object.entries(a).filter(([e]) => !e.startsWith("__"));
146
- return /* @__PURE__ */ d(t, {
146
+ return /* @__PURE__ */ d(r, {
147
147
  className: "w-full",
148
148
  children: [
149
- /* @__PURE__ */ u(e, {
149
+ /* @__PURE__ */ u(n, {
150
150
  emphasis: "bare",
151
151
  padding: "none",
152
152
  headingLevel: 3,
@@ -154,7 +154,7 @@ var p = o(function({ dashboardId: i, params: a }) {
154
154
  description: v.description,
155
155
  "data-testid": "drilldown-dashboard-header"
156
156
  }),
157
- S.length > 0 && /* @__PURE__ */ u(e, {
157
+ S.length > 0 && /* @__PURE__ */ u(n, {
158
158
  emphasis: "muted",
159
159
  padding: "compact",
160
160
  headingLevel: 3,
@@ -2,9 +2,9 @@ import { Section as e, SectionStack as t } from "../../common/Section.js";
2
2
  import "../../common/index.js";
3
3
  import n from "../../parser/DataSinkSelector.js";
4
4
  import r from "../../parser/ParserSelector.js";
5
- import { useI18n as i } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
6
- import { Input as a, Label as o, Spinner as s } from "@burdenoff/fe-libs/ui";
7
- import { jsx as c, jsxs as l } from "react/jsx-runtime";
5
+ import { Input as i, Label as a, Spinner as o } from "@burdenoff/fe-libs/ui";
6
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
7
+ import { useI18n as l } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
8
8
  //#region src/bigconsole/components/builder/inspector/DataBindingSection.tsx
9
9
  var u = {
10
10
  unbound: "info",
@@ -14,7 +14,7 @@ var u = {
14
14
  parser_error: "danger",
15
15
  field_mismatch: "warning"
16
16
  }, d = ({ consoleId: d, binding: f, dataSinkKey: p, dataPath: m, status: h, missingFields: g = [], preview: _, error: v, onDataSinkChange: y, onParserChange: b, onDataPathChange: x }) => {
17
- let { t: S } = i(), C = {
17
+ let { t: S } = l(), C = {
18
18
  unbound: S("bigconsole.builder.dataBinding.status.unbound", "Select a DataSink to begin"),
19
19
  loading: S("bigconsole.builder.dataBinding.status.loading", "Testing parser and detecting fields…"),
20
20
  bound: S("bigconsole.builder.dataBinding.status.bound", "Binding ready"),
@@ -22,33 +22,33 @@ var u = {
22
22
  parser_error: S("bigconsole.builder.dataBinding.status.parserError", "Parser test failed"),
23
23
  field_mismatch: S("bigconsole.builder.dataBinding.status.fieldMismatch", "Some mapped fields were not found")
24
24
  };
25
- return /* @__PURE__ */ l(t, { children: [
26
- /* @__PURE__ */ c(e, {
25
+ return /* @__PURE__ */ c(t, { children: [
26
+ /* @__PURE__ */ s(e, {
27
27
  title: "Data source",
28
28
  description: S("bigconsole.builder.dataBinding.intro", "Connect this widget to a DataSink and Parser to display transformed data."),
29
29
  "data-testid": "widget-inspector-data-source",
30
- children: /* @__PURE__ */ l("div", {
30
+ children: /* @__PURE__ */ c("div", {
31
31
  className: "flex flex-col gap-form-gap",
32
- children: [/* @__PURE__ */ l("div", {
32
+ children: [/* @__PURE__ */ c("div", {
33
33
  className: "space-y-2",
34
34
  children: [
35
- /* @__PURE__ */ c(o, { children: S("bigconsole.builder.dataBinding.dataSinkLabel", "DataSink") }),
36
- /* @__PURE__ */ c(n, {
35
+ /* @__PURE__ */ s(a, { children: S("bigconsole.builder.dataBinding.dataSinkLabel", "DataSink") }),
36
+ /* @__PURE__ */ s(n, {
37
37
  value: p,
38
38
  onChange: y,
39
39
  placeholder: S("bigconsole.builder.dataBinding.dataSinkPlaceholder", "Select a DataSink...")
40
40
  }),
41
- p && /* @__PURE__ */ l("p", {
41
+ p && /* @__PURE__ */ c("p", {
42
42
  className: "text-xs text-text-secondary",
43
- children: [S("bigconsole.builder.dataBinding.keyLabel", "Key: {{key}}", { key: p }), f.source.ref && /* @__PURE__ */ c("span", {
43
+ children: [S("bigconsole.builder.dataBinding.keyLabel", "Key: {{key}}", { key: p }), f.source.ref && /* @__PURE__ */ s("span", {
44
44
  className: "ml-2 text-text-muted",
45
45
  children: S("bigconsole.builder.dataBinding.idLabel", "ID: {{id}}...", { id: f.source.ref.slice(0, 8) })
46
46
  })]
47
47
  })
48
48
  ]
49
- }), /* @__PURE__ */ l("div", {
49
+ }), /* @__PURE__ */ c("div", {
50
50
  className: "space-y-2",
51
- children: [/* @__PURE__ */ c(o, { children: S("bigconsole.builder.dataBinding.parserLabel", "Parser") }), /* @__PURE__ */ c(r, {
51
+ children: [/* @__PURE__ */ s(a, { children: S("bigconsole.builder.dataBinding.parserLabel", "Parser") }), /* @__PURE__ */ s(r, {
52
52
  consoleId: d,
53
53
  value: f.parserId ?? null,
54
54
  onChange: b,
@@ -60,53 +60,53 @@ var u = {
60
60
  })]
61
61
  })
62
62
  }),
63
- /* @__PURE__ */ c(e, {
63
+ /* @__PURE__ */ s(e, {
64
64
  title: C[h],
65
65
  tone: u[h],
66
66
  padding: "compact",
67
67
  headingLevel: 3,
68
- icon: h === "loading" ? /* @__PURE__ */ c(s, { style: {
68
+ icon: h === "loading" ? /* @__PURE__ */ s(o, { style: {
69
69
  width: "14px",
70
70
  height: "14px"
71
71
  } }) : void 0,
72
72
  "data-testid": "widget-inspector-binding-status",
73
- children: /* @__PURE__ */ l("div", {
73
+ children: /* @__PURE__ */ c("div", {
74
74
  role: "status",
75
75
  "aria-live": "polite",
76
76
  className: "min-w-0 space-y-1",
77
77
  children: [
78
- /* @__PURE__ */ c("p", {
78
+ /* @__PURE__ */ s("p", {
79
79
  className: "sr-only",
80
80
  children: C[h]
81
81
  }),
82
- v && /* @__PURE__ */ c("p", {
82
+ v && /* @__PURE__ */ s("p", {
83
83
  className: "break-words text-xs text-[var(--color-status-error-text)]",
84
84
  children: v
85
85
  }),
86
- g.length > 0 && /* @__PURE__ */ c("p", {
86
+ g.length > 0 && /* @__PURE__ */ s("p", {
87
87
  className: "break-words text-xs text-[var(--color-status-warning-text)]",
88
88
  children: S("bigconsole.builder.dataBinding.missingFields", "Missing: {{fields}}", { fields: g.join(", ") })
89
89
  }),
90
- !v && g.length === 0 && h === "bound" && /* @__PURE__ */ c("p", {
90
+ !v && g.length === 0 && h === "bound" && /* @__PURE__ */ s("p", {
91
91
  className: "text-xs text-text-secondary",
92
92
  children: "The parser ran and its output matches the fields this widget expects."
93
93
  })
94
94
  ]
95
95
  })
96
96
  }),
97
- f.parserId && Object.keys(f.fields).length > 0 && /* @__PURE__ */ c(e, {
97
+ f.parserId && Object.keys(f.fields).length > 0 && /* @__PURE__ */ s(e, {
98
98
  emphasis: "muted",
99
99
  padding: "compact",
100
100
  title: S("bigconsole.builder.dataBinding.fieldMappingsConfigured", "Field mappings configured"),
101
101
  headingLevel: 3,
102
- children: /* @__PURE__ */ c("div", {
102
+ children: /* @__PURE__ */ s("div", {
103
103
  className: "min-w-0 space-y-1 text-xs text-text-secondary",
104
- children: Object.entries(f.fields).map(([e, t]) => /* @__PURE__ */ l("p", {
104
+ children: Object.entries(f.fields).map(([e, t]) => /* @__PURE__ */ c("p", {
105
105
  className: "break-words",
106
106
  children: [
107
107
  e,
108
108
  ": ",
109
- /* @__PURE__ */ c("code", {
109
+ /* @__PURE__ */ s("code", {
110
110
  className: "rounded bg-bg-surface px-1 font-mono",
111
111
  children: t
112
112
  })
@@ -114,36 +114,36 @@ var u = {
114
114
  }, e))
115
115
  })
116
116
  }),
117
- _ !== void 0 && /* @__PURE__ */ c(e, {
117
+ _ !== void 0 && /* @__PURE__ */ s(e, {
118
118
  emphasis: "muted",
119
119
  padding: "compact",
120
120
  title: S("bigconsole.builder.dataBinding.livePreviewLabel", "Live Preview"),
121
121
  description: "Raw parser output, exactly as the widget receives it.",
122
122
  headingLevel: 3,
123
- children: /* @__PURE__ */ c("pre", {
123
+ children: /* @__PURE__ */ s("pre", {
124
124
  className: "max-h-40 min-w-0 overflow-auto rounded-input border border-[var(--color-border-subtle)] bg-bg-surface p-3 text-xs text-text-secondary",
125
125
  children: JSON.stringify(_, null, 2)
126
126
  })
127
127
  }),
128
- /* @__PURE__ */ c(e, {
128
+ /* @__PURE__ */ s(e, {
129
129
  emphasis: "muted",
130
130
  padding: "compact",
131
131
  title: "Data path",
132
132
  headingLevel: 3,
133
- children: /* @__PURE__ */ l("div", {
133
+ children: /* @__PURE__ */ c("div", {
134
134
  className: "space-y-2",
135
135
  children: [
136
- /* @__PURE__ */ c(o, {
136
+ /* @__PURE__ */ s(a, {
137
137
  htmlFor: "widget-inspector-data-path",
138
138
  children: S("bigconsole.builder.dataBinding.dataPathLabel", "Data Path (Optional)")
139
139
  }),
140
- /* @__PURE__ */ c(a, {
140
+ /* @__PURE__ */ s(i, {
141
141
  id: "widget-inspector-data-path",
142
142
  value: m ?? "",
143
143
  onChange: (e) => x(e.target.value || void 0),
144
144
  placeholder: S("bigconsole.builder.dataBinding.dataPathPlaceholder", "e.g., summary.totalRevenue")
145
145
  }),
146
- /* @__PURE__ */ c("p", {
146
+ /* @__PURE__ */ s("p", {
147
147
  className: "text-xs text-text-secondary",
148
148
  children: S("bigconsole.builder.dataBinding.dataPathHelp", "Path to extract specific data from the parser output (dot notation)")
149
149
  })
@@ -3,13 +3,13 @@ import "../common/index.js";
3
3
  import t from "./StoreTemplatePicker.js";
4
4
  import n from "../../hooks/useStoreDashboardTemplates.js";
5
5
  import { memo as r, useCallback as i, useEffect as a, useRef as o, useState as s } from "react";
6
- import { Copy as ee, LayoutDashboard as c, Plus as l, Tag as u, X as d } from "lucide-react";
7
- import { useI18n as f } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
8
- import { Badge as p, Button as m, Dialog as te, DialogContent as h, DialogDescription as g, DialogFooter as _, DialogHeader as v, DialogTitle as y, Input as b, Spinner as x, Textarea as S } from "@burdenoff/fe-libs/ui";
9
- import { jsx as C, jsxs as w } from "react/jsx-runtime";
6
+ import { Copy as c, LayoutDashboard as l, Plus as u, Tag as d, X as f } from "lucide-react";
7
+ import { Badge as p, Button as m, Dialog as ee, DialogContent as te, DialogDescription as h, DialogFooter as g, DialogHeader as _, DialogTitle as v, Input as y, Spinner as b, Textarea as x } from "@burdenoff/fe-libs/ui";
8
+ import { jsx as S, jsxs as C } from "react/jsx-runtime";
9
+ import { useI18n as w } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
10
10
  //#region src/bigconsole/components/dashboard/CreateDashboardDialog.tsx
11
11
  var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, showTemplates: O = !0, onTemplateInstalled: k }) {
12
- let { t: A } = f(), { templates: j, loading: M, error: N, fetchTemplateContent: P, installTemplate: F } = n({ autoLoad: O }), [I, L] = s(!1), [R, z] = s("blank"), [B, V] = s(""), [H, U] = s(""), [W, G] = s([]), [K, q] = s(""), [J, Y] = s(null), [X, Z] = s(null), Q = o(null);
12
+ let { t: A } = w(), { templates: j, loading: M, error: N, fetchTemplateContent: P, installTemplate: F } = n({ autoLoad: O }), [I, L] = s(!1), [R, z] = s("blank"), [B, V] = s(""), [H, U] = s(""), [W, G] = s([]), [K, q] = s(""), [J, Y] = s(null), [X, Z] = s(null), Q = o(null);
13
13
  a(() => {
14
14
  r && (z("blank"), V(""), U(""), G([]), q(""), Y(null), Z(null), setTimeout(() => {
15
15
  Q.current?.focus();
@@ -98,24 +98,24 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
98
98
  k,
99
99
  A
100
100
  ]);
101
- return /* @__PURE__ */ C(te, {
101
+ return /* @__PURE__ */ S(ee, {
102
102
  open: r,
103
103
  onOpenChange: (e) => !e && !T && E(),
104
- children: /* @__PURE__ */ w(h, {
104
+ children: /* @__PURE__ */ C(te, {
105
105
  style: {
106
106
  maxWidth: R === "template" ? "900px" : "480px",
107
107
  width: "100%",
108
108
  padding: 0
109
109
  },
110
- children: [/* @__PURE__ */ C(v, {
110
+ children: [/* @__PURE__ */ S(_, {
111
111
  style: { padding: "var(--space-pagePadding) var(--space-pagePadding) 0" },
112
- children: /* @__PURE__ */ w("div", {
112
+ children: /* @__PURE__ */ C("div", {
113
113
  style: {
114
114
  display: "flex",
115
115
  alignItems: "center",
116
116
  gap: "var(--space-formGap)"
117
117
  },
118
- children: [/* @__PURE__ */ C("div", {
118
+ children: [/* @__PURE__ */ S("div", {
119
119
  style: {
120
120
  display: "flex",
121
121
  height: "var(--size-controlHeight-lg)",
@@ -126,7 +126,7 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
126
126
  borderRadius: "var(--radius-card)",
127
127
  backgroundColor: "var(--color-bg-accentSubtle)"
128
128
  },
129
- children: /* @__PURE__ */ C(c, {
129
+ children: /* @__PURE__ */ S(l, {
130
130
  "aria-hidden": "true",
131
131
  style: {
132
132
  height: "var(--size-icon-lg)",
@@ -134,7 +134,7 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
134
134
  color: "var(--color-action-primary-bg)"
135
135
  }
136
136
  })
137
- }), /* @__PURE__ */ w("div", { children: [/* @__PURE__ */ C(y, {
137
+ }), /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S(v, {
138
138
  style: {
139
139
  fontSize: "var(--font-size-heading-h4)",
140
140
  fontWeight: "var(--font-weight-bold)",
@@ -142,7 +142,7 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
142
142
  margin: 0
143
143
  },
144
144
  children: A("bigconsole.dashboards.createDialog.title", "Create New Dashboard")
145
- }), /* @__PURE__ */ C(g, {
145
+ }), /* @__PURE__ */ S(h, {
146
146
  style: {
147
147
  fontSize: "var(--font-size-body-sm)",
148
148
  color: "var(--color-text-secondary)",
@@ -151,12 +151,12 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
151
151
  children: A("bigconsole.dashboards.createDialog.subtitle", "Create a new dashboard to visualize your data")
152
152
  })] })]
153
153
  })
154
- }), /* @__PURE__ */ w("form", {
154
+ }), /* @__PURE__ */ C("form", {
155
155
  onSubmit: ae,
156
156
  children: [
157
- O && /* @__PURE__ */ C("div", {
157
+ O && /* @__PURE__ */ S("div", {
158
158
  style: { padding: "var(--space-pagePadding) var(--space-pagePadding) 0" },
159
- children: /* @__PURE__ */ w("div", {
159
+ children: /* @__PURE__ */ C("div", {
160
160
  role: "group",
161
161
  "aria-label": "How to start",
162
162
  style: {
@@ -167,7 +167,7 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
167
167
  backgroundColor: "var(--color-bg-sunken)",
168
168
  borderRadius: "var(--radius-button)"
169
169
  },
170
- children: [/* @__PURE__ */ w("button", {
170
+ children: [/* @__PURE__ */ C("button", {
171
171
  type: "button",
172
172
  onClick: () => {
173
173
  z("blank"), Y(null);
@@ -189,11 +189,11 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
189
189
  boxShadow: R === "blank" ? "var(--shadow-elevation-1)" : "none",
190
190
  transition: "all 0.15s ease"
191
191
  },
192
- children: [/* @__PURE__ */ C(l, { style: {
192
+ children: [/* @__PURE__ */ S(u, { style: {
193
193
  height: "var(--size-icon-sm)",
194
194
  width: "var(--size-icon-sm)"
195
195
  } }), A("bigconsole.dashboards.createDialog.tab.blank", "Blank Dashboard")]
196
- }), /* @__PURE__ */ w("button", {
196
+ }), /* @__PURE__ */ C("button", {
197
197
  type: "button",
198
198
  onClick: () => z("template"),
199
199
  style: {
@@ -213,20 +213,20 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
213
213
  boxShadow: R === "template" ? "var(--shadow-elevation-1)" : "none",
214
214
  transition: "all 0.15s ease"
215
215
  },
216
- children: [/* @__PURE__ */ C(ee, { style: {
216
+ children: [/* @__PURE__ */ S(c, { style: {
217
217
  height: "var(--size-icon-sm)",
218
218
  width: "var(--size-icon-sm)"
219
219
  } }), A("bigconsole.dashboards.createDialog.tab.template", "From Template")]
220
220
  })]
221
221
  })
222
222
  }),
223
- R === "template" && /* @__PURE__ */ C("div", {
223
+ R === "template" && /* @__PURE__ */ S("div", {
224
224
  style: {
225
225
  padding: "var(--space-pagePadding)",
226
226
  maxHeight: "400px",
227
227
  overflowY: "auto"
228
228
  },
229
- children: /* @__PURE__ */ C(t, {
229
+ children: /* @__PURE__ */ S(t, {
230
230
  templates: j,
231
231
  loading: M,
232
232
  error: N,
@@ -234,9 +234,9 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
234
234
  onSelect: ie
235
235
  })
236
236
  }),
237
- /* @__PURE__ */ C("div", {
237
+ /* @__PURE__ */ S("div", {
238
238
  style: { padding: "var(--space-pagePadding)" },
239
- children: /* @__PURE__ */ w(e, {
239
+ children: /* @__PURE__ */ C(e, {
240
240
  headingLevel: 3,
241
241
  emphasis: "bare",
242
242
  padding: "none",
@@ -244,10 +244,10 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
244
244
  description: "Name it now — everything else can change later.",
245
245
  "data-testid": "create-dashboard-details",
246
246
  children: [
247
- /* @__PURE__ */ w("div", {
247
+ /* @__PURE__ */ C("div", {
248
248
  style: { marginBottom: "var(--space-formGap)" },
249
249
  children: [
250
- /* @__PURE__ */ w("label", {
250
+ /* @__PURE__ */ C("label", {
251
251
  htmlFor: "dashboard-name",
252
252
  style: {
253
253
  display: "block",
@@ -256,7 +256,7 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
256
256
  color: "var(--color-text-primary)",
257
257
  marginBottom: "var(--space-controlGap)"
258
258
  },
259
- children: [A("bigconsole.dashboards.createDialog.field.name", "Dashboard Name"), /* @__PURE__ */ C("span", {
259
+ children: [A("bigconsole.dashboards.createDialog.field.name", "Dashboard Name"), /* @__PURE__ */ S("span", {
260
260
  style: {
261
261
  color: "var(--color-status-error-text)",
262
262
  marginLeft: "var(--space-controlGap)"
@@ -264,7 +264,7 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
264
264
  children: "*"
265
265
  })]
266
266
  }),
267
- /* @__PURE__ */ C(b, {
267
+ /* @__PURE__ */ S(y, {
268
268
  ref: Q,
269
269
  id: "dashboard-name",
270
270
  type: "text",
@@ -280,7 +280,7 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
280
280
  borderColor: X ? "var(--color-status-error-border)" : void 0
281
281
  }
282
282
  }),
283
- X && /* @__PURE__ */ C("p", {
283
+ X && /* @__PURE__ */ S("p", {
284
284
  style: {
285
285
  fontSize: "var(--font-size-body-sm)",
286
286
  color: "var(--color-status-error-text)",
@@ -291,9 +291,9 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
291
291
  })
292
292
  ]
293
293
  }),
294
- /* @__PURE__ */ w("div", {
294
+ /* @__PURE__ */ C("div", {
295
295
  style: { marginBottom: "var(--space-formGap)" },
296
- children: [/* @__PURE__ */ w("label", {
296
+ children: [/* @__PURE__ */ C("label", {
297
297
  htmlFor: "dashboard-description",
298
298
  style: {
299
299
  display: "block",
@@ -302,7 +302,7 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
302
302
  color: "var(--color-text-primary)",
303
303
  marginBottom: "var(--space-controlGap)"
304
304
  },
305
- children: [A("bigconsole.dashboards.createDialog.field.description", "Description"), /* @__PURE__ */ C("span", {
305
+ children: [A("bigconsole.dashboards.createDialog.field.description", "Description"), /* @__PURE__ */ S("span", {
306
306
  style: {
307
307
  color: "var(--color-text-muted)",
308
308
  fontWeight: "var(--font-weight-regular)",
@@ -310,7 +310,7 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
310
310
  },
311
311
  children: A("bigconsole.dashboards.createDialog.field.optional", "(optional)")
312
312
  })]
313
- }), /* @__PURE__ */ C(S, {
313
+ }), /* @__PURE__ */ S(x, {
314
314
  id: "dashboard-description",
315
315
  value: H,
316
316
  onChange: (e) => U(e.target.value),
@@ -323,8 +323,8 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
323
323
  }
324
324
  })]
325
325
  }),
326
- /* @__PURE__ */ w("div", { children: [
327
- /* @__PURE__ */ w("label", {
326
+ /* @__PURE__ */ C("div", { children: [
327
+ /* @__PURE__ */ C("label", {
328
328
  htmlFor: "dashboard-tags",
329
329
  style: {
330
330
  display: "flex",
@@ -336,12 +336,12 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
336
336
  marginBottom: "var(--space-controlGap)"
337
337
  },
338
338
  children: [
339
- /* @__PURE__ */ C(u, { style: {
339
+ /* @__PURE__ */ S(d, { style: {
340
340
  height: "var(--size-icon-sm)",
341
341
  width: "var(--size-icon-sm)"
342
342
  } }),
343
343
  A("bigconsole.dashboards.createDialog.field.tags", "Tags"),
344
- /* @__PURE__ */ C("span", {
344
+ /* @__PURE__ */ S("span", {
345
345
  style: {
346
346
  color: "var(--color-text-muted)",
347
347
  fontWeight: "var(--font-weight-regular)"
@@ -350,14 +350,14 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
350
350
  })
351
351
  ]
352
352
  }),
353
- W.length > 0 && /* @__PURE__ */ C("div", {
353
+ W.length > 0 && /* @__PURE__ */ S("div", {
354
354
  style: {
355
355
  display: "flex",
356
356
  flexWrap: "wrap",
357
357
  gap: "var(--space-controlGap)",
358
358
  marginBottom: "var(--space-controlGap)"
359
359
  },
360
- children: W.map((e) => /* @__PURE__ */ w(p, {
360
+ children: W.map((e) => /* @__PURE__ */ C(p, {
361
361
  variant: "secondary",
362
362
  style: {
363
363
  display: "flex",
@@ -365,7 +365,7 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
365
365
  gap: "4px",
366
366
  paddingRight: "4px"
367
367
  },
368
- children: [e, /* @__PURE__ */ C("button", {
368
+ children: [e, /* @__PURE__ */ S("button", {
369
369
  type: "button",
370
370
  onClick: () => ne(e),
371
371
  disabled: T || I,
@@ -383,19 +383,19 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
383
383
  },
384
384
  onMouseOver: (e) => e.currentTarget.style.opacity = "1",
385
385
  onMouseOut: (e) => e.currentTarget.style.opacity = "0.7",
386
- children: /* @__PURE__ */ C(d, { style: {
386
+ children: /* @__PURE__ */ S(f, { style: {
387
387
  height: "12px",
388
388
  width: "12px"
389
389
  } })
390
390
  })]
391
391
  }, e))
392
392
  }),
393
- /* @__PURE__ */ w("div", {
393
+ /* @__PURE__ */ C("div", {
394
394
  style: {
395
395
  display: "flex",
396
396
  gap: "var(--space-controlGap)"
397
397
  },
398
- children: [/* @__PURE__ */ C(b, {
398
+ children: [/* @__PURE__ */ S(y, {
399
399
  id: "dashboard-tags",
400
400
  type: "text",
401
401
  value: K,
@@ -408,7 +408,7 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
408
408
  height: "var(--size-controlHeight-md)",
409
409
  fontSize: "var(--font-size-body-sm)"
410
410
  }
411
- }), /* @__PURE__ */ C(m, {
411
+ }), /* @__PURE__ */ S(m, {
412
412
  type: "button",
413
413
  variant: "outline",
414
414
  onClick: $,
@@ -417,7 +417,7 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
417
417
  children: A("bigconsole.dashboards.createDialog.action.addTag", "Add")
418
418
  })]
419
419
  }),
420
- /* @__PURE__ */ C("p", {
420
+ /* @__PURE__ */ S("p", {
421
421
  style: {
422
422
  fontSize: "var(--font-size-xs)",
423
423
  color: "var(--color-text-muted)",
@@ -429,7 +429,7 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
429
429
  ]
430
430
  })
431
431
  }),
432
- /* @__PURE__ */ w(_, {
432
+ /* @__PURE__ */ C(g, {
433
433
  style: {
434
434
  padding: "var(--space-formGap) var(--space-pagePadding)",
435
435
  borderTop: "1px solid var(--color-border)",
@@ -438,37 +438,37 @@ var T = r(function({ isOpen: r, isCreating: T = !1, onClose: E, onCreate: D, sho
438
438
  justifyContent: "flex-end",
439
439
  gap: "var(--space-controlGap)"
440
440
  },
441
- children: [/* @__PURE__ */ C(m, {
441
+ children: [/* @__PURE__ */ S(m, {
442
442
  type: "button",
443
443
  variant: "outline",
444
444
  onClick: E,
445
445
  disabled: T || I,
446
446
  style: { height: "var(--size-controlHeight-md)" },
447
447
  children: A("bigconsole.dashboards.createDialog.action.cancel", "Cancel")
448
- }), /* @__PURE__ */ C(m, {
448
+ }), /* @__PURE__ */ S(m, {
449
449
  type: "submit",
450
450
  disabled: T || I || !B.trim(),
451
451
  style: {
452
452
  height: "var(--size-controlHeight-md)",
453
453
  backgroundColor: "var(--color-action-primary-bg)"
454
454
  },
455
- children: T || I ? /* @__PURE__ */ w("span", {
455
+ children: T || I ? /* @__PURE__ */ C("span", {
456
456
  style: {
457
457
  display: "flex",
458
458
  alignItems: "center",
459
459
  gap: "var(--space-iconGap)"
460
460
  },
461
- children: [/* @__PURE__ */ C(x, { style: {
461
+ children: [/* @__PURE__ */ S(b, { style: {
462
462
  height: "var(--size-icon-sm)",
463
463
  width: "var(--size-icon-sm)"
464
464
  } }), A("bigconsole.dashboards.createDialog.action.creating", "Creating...")]
465
- }) : /* @__PURE__ */ w("span", {
465
+ }) : /* @__PURE__ */ C("span", {
466
466
  style: {
467
467
  display: "flex",
468
468
  alignItems: "center",
469
469
  gap: "var(--space-iconGap)"
470
470
  },
471
- children: [/* @__PURE__ */ C(l, { style: {
471
+ children: [/* @__PURE__ */ S(u, { style: {
472
472
  height: "var(--size-icon-sm)",
473
473
  width: "var(--size-icon-sm)"
474
474
  } }), A("bigconsole.dashboards.createDialog.action.create", "Create Dashboard")]