@burdenoff/microfe-bigconsole 2026.1004.3 → 2026.1004.5

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 (157) hide show
  1. package/dist/bigconsole/BigConsoleRoutes.d.ts +1 -1
  2. package/dist/bigconsole/BigConsoleRoutes.d.ts.map +1 -1
  3. package/dist/bigconsole/BigConsoleRoutes.js +15 -1
  4. package/dist/bigconsole/BigConsoleRoutes.js.map +1 -1
  5. package/dist/bigconsole/components/DrilldownDashboardRenderer.d.ts.map +1 -1
  6. package/dist/bigconsole/components/DrilldownDashboardRenderer.js +57 -56
  7. package/dist/bigconsole/components/DrilldownDashboardRenderer.js.map +1 -1
  8. package/dist/bigconsole/components/DrilldownModal.d.ts.map +1 -1
  9. package/dist/bigconsole/components/DrilldownModal.js +55 -53
  10. package/dist/bigconsole/components/DrilldownModal.js.map +1 -1
  11. package/dist/bigconsole/components/builder/inspector/DataBindingSection.d.ts +3 -1
  12. package/dist/bigconsole/components/builder/inspector/DataBindingSection.d.ts.map +1 -1
  13. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +40 -39
  14. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js.map +1 -1
  15. package/dist/bigconsole/components/dashboard/DashboardCanvas.d.ts.map +1 -1
  16. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +184 -177
  17. package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +1 -1
  18. package/dist/bigconsole/components/dashboard/DashboardGrid.d.ts.map +1 -1
  19. package/dist/bigconsole/components/dashboard/DashboardGrid.js +40 -22
  20. package/dist/bigconsole/components/dashboard/DashboardGrid.js.map +1 -1
  21. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.d.ts.map +1 -1
  22. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js +31 -25
  23. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js.map +1 -1
  24. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.d.ts +1 -1
  25. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.d.ts.map +1 -1
  26. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +115 -80
  27. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js.map +1 -1
  28. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.d.ts.map +1 -1
  29. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +177 -146
  30. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +1 -1
  31. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.d.ts +1 -1
  32. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.d.ts.map +1 -1
  33. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +375 -325
  34. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js.map +1 -1
  35. package/dist/bigconsole/components/datasink/CacheTTLSelector.d.ts.map +1 -1
  36. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +7 -1
  37. package/dist/bigconsole/components/datasink/CacheTTLSelector.js.map +1 -1
  38. package/dist/bigconsole/components/parser/ParserSelector.d.ts +3 -1
  39. package/dist/bigconsole/components/parser/ParserSelector.d.ts.map +1 -1
  40. package/dist/bigconsole/components/parser/ParserSelector.js +94 -94
  41. package/dist/bigconsole/components/parser/ParserSelector.js.map +1 -1
  42. package/dist/bigconsole/components/pipeline/PipelineCard.d.ts.map +1 -1
  43. package/dist/bigconsole/components/pipeline/PipelineCard.js +111 -89
  44. package/dist/bigconsole/components/pipeline/PipelineCard.js.map +1 -1
  45. package/dist/bigconsole/components/pipeline/PipelineScopePicker.d.ts +8 -0
  46. package/dist/bigconsole/components/pipeline/PipelineScopePicker.d.ts.map +1 -0
  47. package/dist/bigconsole/components/pipeline/PipelineScopePicker.js +52 -0
  48. package/dist/bigconsole/components/pipeline/PipelineScopePicker.js.map +1 -0
  49. package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts.map +1 -1
  50. package/dist/bigconsole/components/widgets/PropertiesPanel.js +257 -221
  51. package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +1 -1
  52. package/dist/bigconsole/components/widgets/WidgetHeader.d.ts +1 -0
  53. package/dist/bigconsole/components/widgets/WidgetHeader.d.ts.map +1 -1
  54. package/dist/bigconsole/components/widgets/WidgetHeader.js +29 -29
  55. package/dist/bigconsole/components/widgets/WidgetHeader.js.map +1 -1
  56. package/dist/bigconsole/components/widgets/WidgetWrapper.d.ts +2 -0
  57. package/dist/bigconsole/components/widgets/WidgetWrapper.d.ts.map +1 -1
  58. package/dist/bigconsole/components/widgets/WidgetWrapper.js +247 -239
  59. package/dist/bigconsole/components/widgets/WidgetWrapper.js.map +1 -1
  60. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.d.ts.map +1 -1
  61. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js +6 -4
  62. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js.map +1 -1
  63. package/dist/bigconsole/components/widgets/states/EmptyState.d.ts +1 -0
  64. package/dist/bigconsole/components/widgets/states/EmptyState.d.ts.map +1 -1
  65. package/dist/bigconsole/components/widgets/states/EmptyState.js +4 -4
  66. package/dist/bigconsole/components/widgets/states/EmptyState.js.map +1 -1
  67. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.d.ts +7 -0
  68. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.d.ts.map +1 -0
  69. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.js +94 -0
  70. package/dist/bigconsole/components/workflow/WorkflowDesignPreview.js.map +1 -0
  71. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.d.ts +7 -0
  72. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.d.ts.map +1 -0
  73. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js +101 -0
  74. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js.map +1 -0
  75. package/dist/bigconsole/hooks/useBigConsoleSettings.d.ts +16 -0
  76. package/dist/bigconsole/hooks/useBigConsoleSettings.d.ts.map +1 -0
  77. package/dist/bigconsole/hooks/useBigConsoleSettings.js +57 -0
  78. package/dist/bigconsole/hooks/useBigConsoleSettings.js.map +1 -0
  79. package/dist/bigconsole/hooks/useDashboardOperations.d.ts.map +1 -1
  80. package/dist/bigconsole/hooks/useDashboardOperations.js +102 -79
  81. package/dist/bigconsole/hooks/useDashboardOperations.js.map +1 -1
  82. package/dist/bigconsole/hooks/useExportDashboard.d.ts +3 -1
  83. package/dist/bigconsole/hooks/useExportDashboard.d.ts.map +1 -1
  84. package/dist/bigconsole/hooks/useExportDashboard.js +23 -13
  85. package/dist/bigconsole/hooks/useExportDashboard.js.map +1 -1
  86. package/dist/bigconsole/hooks/useFilterUrlSync.d.ts +18 -0
  87. package/dist/bigconsole/hooks/useFilterUrlSync.d.ts.map +1 -1
  88. package/dist/bigconsole/hooks/useFilterUrlSync.js +87 -57
  89. package/dist/bigconsole/hooks/useFilterUrlSync.js.map +1 -1
  90. package/dist/bigconsole/hooks/useGlobalFilters.d.ts.map +1 -1
  91. package/dist/bigconsole/hooks/useGlobalFilters.js +39 -29
  92. package/dist/bigconsole/hooks/useGlobalFilters.js.map +1 -1
  93. package/dist/bigconsole/hooks/usePageOperations.d.ts.map +1 -1
  94. package/dist/bigconsole/hooks/usePageOperations.js +1 -0
  95. package/dist/bigconsole/hooks/usePageOperations.js.map +1 -1
  96. package/dist/bigconsole/hooks/usePipelineOperations.d.ts.map +1 -1
  97. package/dist/bigconsole/hooks/usePipelineOperations.js +114 -112
  98. package/dist/bigconsole/hooks/usePipelineOperations.js.map +1 -1
  99. package/dist/bigconsole/hooks/useShareRecipients.d.ts +22 -0
  100. package/dist/bigconsole/hooks/useShareRecipients.d.ts.map +1 -0
  101. package/dist/bigconsole/hooks/useShareRecipients.js +198 -0
  102. package/dist/bigconsole/hooks/useShareRecipients.js.map +1 -0
  103. package/dist/bigconsole/pages/DashboardBuilderPage.d.ts.map +1 -1
  104. package/dist/bigconsole/pages/DashboardBuilderPage.js +198 -193
  105. package/dist/bigconsole/pages/DashboardBuilderPage.js.map +1 -1
  106. package/dist/bigconsole/pages/DashboardViewPage.d.ts.map +1 -1
  107. package/dist/bigconsole/pages/DashboardViewPage.js +171 -167
  108. package/dist/bigconsole/pages/DashboardViewPage.js.map +1 -1
  109. package/dist/bigconsole/pages/DashboardsPage.d.ts.map +1 -1
  110. package/dist/bigconsole/pages/DashboardsPage.js +313 -266
  111. package/dist/bigconsole/pages/DashboardsPage.js.map +1 -1
  112. package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts.map +1 -1
  113. package/dist/bigconsole/pages/DataSinkBuilderPage.js +84 -79
  114. package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -1
  115. package/dist/bigconsole/pages/DataSinkViewPage.d.ts.map +1 -1
  116. package/dist/bigconsole/pages/DataSinkViewPage.js +267 -257
  117. package/dist/bigconsole/pages/DataSinkViewPage.js.map +1 -1
  118. package/dist/bigconsole/pages/InsightsPage.d.ts.map +1 -1
  119. package/dist/bigconsole/pages/InsightsPage.js +465 -402
  120. package/dist/bigconsole/pages/InsightsPage.js.map +1 -1
  121. package/dist/bigconsole/pages/PipelineBuilderPage.d.ts.map +1 -1
  122. package/dist/bigconsole/pages/PipelineBuilderPage.js +169 -157
  123. package/dist/bigconsole/pages/PipelineBuilderPage.js.map +1 -1
  124. package/dist/bigconsole/pages/PipelineViewPage.d.ts.map +1 -1
  125. package/dist/bigconsole/pages/PipelineViewPage.js +370 -230
  126. package/dist/bigconsole/pages/PipelineViewPage.js.map +1 -1
  127. package/dist/bigconsole/pages/PipelinesPage.d.ts.map +1 -1
  128. package/dist/bigconsole/pages/PipelinesPage.js +181 -151
  129. package/dist/bigconsole/pages/PipelinesPage.js.map +1 -1
  130. package/dist/bigconsole/pages/SettingsPage.d.ts.map +1 -1
  131. package/dist/bigconsole/pages/SettingsPage.js +188 -208
  132. package/dist/bigconsole/pages/SettingsPage.js.map +1 -1
  133. package/dist/bigconsole/pages/WidgetDemoPage.d.ts.map +1 -1
  134. package/dist/bigconsole/pages/WidgetDemoPage.js +134 -117
  135. package/dist/bigconsole/pages/WidgetDemoPage.js.map +1 -1
  136. package/dist/bigconsole/pages/WorkflowViewPage.d.ts.map +1 -1
  137. package/dist/bigconsole/pages/WorkflowViewPage.js +315 -267
  138. package/dist/bigconsole/pages/WorkflowViewPage.js.map +1 -1
  139. package/dist/bigconsole/pages/WorkflowsPage.d.ts.map +1 -1
  140. package/dist/bigconsole/pages/WorkflowsPage.js +4 -3
  141. package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -1
  142. package/dist/bigconsole/types/index.d.ts +4 -0
  143. package/dist/bigconsole/types/index.d.ts.map +1 -1
  144. package/dist/bigconsole/utils/drilldownParams.d.ts +3 -0
  145. package/dist/bigconsole/utils/drilldownParams.d.ts.map +1 -0
  146. package/dist/bigconsole/utils/drilldownParams.js +8 -0
  147. package/dist/bigconsole/utils/drilldownParams.js.map +1 -0
  148. package/dist/generated/wspace-operations.d.ts +148 -0
  149. package/dist/generated/wspace-operations.d.ts.map +1 -1
  150. package/dist/generated/wspace-operations.js +172 -133
  151. package/dist/generated/wspace-operations.js.map +1 -1
  152. package/dist/generated/wspace-types.d.ts +21 -0
  153. package/dist/generated/wspace-types.d.ts.map +1 -1
  154. package/dist/generated/wspace-types.js.map +1 -1
  155. package/dist/microfe-bigconsole.css +1 -1
  156. package/dist/translations/en.d.ts.map +1 -1
  157. package/package.json +2 -1
@@ -1,69 +1,49 @@
1
- import { memo as e, useCallback as t, useEffect as n, useState as r } from "react";
2
- import { RotateCcw as i, Save as a, Settings as o } from "lucide-react";
3
- import { AuroraBackground as s, EmphasisPanel as c, GradientText as l, PagePurpose as u } from "@burdenoff/fe-libs/ui";
4
- import { jsx as d, jsxs as f } from "react/jsx-runtime";
5
- import { useI18n as p } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
1
+ import { DEFAULT_SETTINGS as e, loadBigConsoleSettings as t, saveBigConsoleSettings as n } from "../hooks/useBigConsoleSettings.js";
2
+ import { memo as r, useCallback as i, useEffect as a, useState as o } from "react";
3
+ import { RotateCcw as s, Save as c, Settings as l } from "lucide-react";
4
+ import { AuroraBackground as u, EmphasisPanel as d, GradientText as f, PagePurpose as p } from "@burdenoff/fe-libs/ui";
5
+ import { jsx as m, jsxs as h } from "react/jsx-runtime";
6
+ import { useI18n as g } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
6
7
  //#region src/bigconsole/pages/SettingsPage.tsx
7
- var m = "bigconsole-settings", h = {
8
- defaultRefreshInterval: 0,
9
- defaultGridColumns: 12,
10
- defaultWidgetHeight: 4,
11
- cacheEnabled: !0,
12
- cacheTTLSeconds: 300,
13
- showWidgetBorders: !0,
14
- compactMode: !1,
15
- animationsEnabled: !0
16
- };
17
- function g() {
18
- try {
19
- let e = localStorage.getItem(m);
20
- if (e) return {
21
- ...h,
22
- ...JSON.parse(e)
23
- };
24
- } catch {}
25
- return { ...h };
26
- }
27
- function _(e) {
28
- localStorage.setItem(m, JSON.stringify(e));
29
- }
30
- var v = e(function() {
31
- let { t: e } = p(), [m, v] = r(g), [y, b] = r(!1);
32
- n(() => {
8
+ var _ = r(function() {
9
+ let { t: r } = g(), [_, v] = o(t), [y, b] = o(!1), [x, S] = o(!1);
10
+ a(() => {
33
11
  if (y) {
34
12
  let e = setTimeout(() => b(!1), 2e3);
35
13
  return () => clearTimeout(e);
36
14
  }
37
15
  }, [y]);
38
- let x = t((e, t) => {
16
+ let C = i((e, t) => {
39
17
  v((n) => ({
40
18
  ...n,
41
19
  [e]: t
42
20
  }));
43
- }, []), S = t(() => {
44
- _(m), b(!0);
45
- }, [m]), C = t(() => {
46
- v({ ...h }), _(h), b(!0);
47
- }, []), w = {
21
+ }, []), w = i(() => {
22
+ let e = n(_);
23
+ b(e), S(!e);
24
+ }, [_]), T = i(() => {
25
+ v({ ...e });
26
+ let t = n(e);
27
+ b(t), S(!t);
28
+ }, []), E = {
48
29
  width: "100%",
49
30
  padding: "8px 12px",
50
31
  borderRadius: "var(--radius-button)",
51
32
  border: "1px solid var(--color-border)",
52
33
  backgroundColor: "var(--color-bg-canvas)",
53
34
  color: "var(--color-text-primary)",
54
- fontSize: "var(--font-size-body-sm)",
55
- outline: "none"
56
- }, T = {
35
+ fontSize: "var(--font-size-body-sm)"
36
+ }, D = {
57
37
  display: "block",
58
38
  fontSize: "var(--font-size-body-sm)",
59
39
  fontWeight: "var(--font-weight-medium)",
60
40
  color: "var(--color-text-primary)",
61
41
  marginBottom: 4
62
- }, E = {
63
- fontSize: 11,
42
+ }, O = {
43
+ fontSize: "var(--font-size-body-sm)",
64
44
  color: "var(--color-text-muted)",
65
45
  marginTop: 4
66
- }, D = {
46
+ }, k = {
67
47
  backgroundColor: "var(--color-bg-surface)",
68
48
  border: "1px solid var(--color-border-seam)",
69
49
  borderRadius: "var(--radius-card)",
@@ -71,19 +51,19 @@ var v = e(function() {
71
51
  marginBottom: "var(--space-sectionGap)",
72
52
  boxShadow: "var(--shadow-pop)"
73
53
  };
74
- return /* @__PURE__ */ d("div", {
54
+ return /* @__PURE__ */ m("div", {
75
55
  style: {
76
56
  minHeight: "100vh",
77
57
  backgroundColor: "var(--color-bg-canvas)"
78
58
  },
79
- children: /* @__PURE__ */ f("div", {
59
+ children: /* @__PURE__ */ h("div", {
80
60
  style: {
81
61
  padding: "var(--space-pagePadding)",
82
- maxWidth: 720,
62
+ maxWidth: 1440,
83
63
  margin: "0 auto"
84
64
  },
85
65
  children: [
86
- /* @__PURE__ */ f("div", {
66
+ /* @__PURE__ */ h("div", {
87
67
  className: "relative overflow-hidden rounded-card border border-border-seam bg-gloss-card p-6",
88
68
  style: {
89
69
  display: "flex",
@@ -94,39 +74,39 @@ var v = e(function() {
94
74
  gap: "var(--space-formGap)"
95
75
  },
96
76
  children: [
97
- /* @__PURE__ */ d(s, { intensity: "subtle" }),
98
- /* @__PURE__ */ f("div", { children: [/* @__PURE__ */ f("div", {
77
+ /* @__PURE__ */ m(u, { intensity: "subtle" }),
78
+ /* @__PURE__ */ h("div", { children: [/* @__PURE__ */ h("div", {
99
79
  style: {
100
80
  display: "flex",
101
81
  alignItems: "center",
102
82
  gap: "var(--space-iconGap)"
103
83
  },
104
- children: [/* @__PURE__ */ d(o, {
84
+ children: [/* @__PURE__ */ m(l, {
105
85
  size: 24,
106
86
  style: { color: "var(--color-text-primary)" }
107
- }), /* @__PURE__ */ d("h1", {
87
+ }), /* @__PURE__ */ m("h1", {
108
88
  style: {
109
89
  fontSize: "var(--font-size-heading-h4)",
110
90
  fontWeight: "var(--font-weight-bold)",
111
91
  color: "var(--color-text-primary)"
112
92
  },
113
- children: /* @__PURE__ */ d(l, { children: e("bigconsole.settings.header.title", "Settings") })
93
+ children: /* @__PURE__ */ m(f, { children: r("bigconsole.settings.header.title", "Settings") })
114
94
  })]
115
- }), /* @__PURE__ */ d("p", {
95
+ }), /* @__PURE__ */ m("p", {
116
96
  style: {
117
97
  fontSize: "var(--font-size-body-md)",
118
98
  color: "var(--color-text-secondary)",
119
99
  marginTop: 4
120
100
  },
121
- children: e("bigconsole.settings.header.subtitle", "Configure BigConsole preferences")
101
+ children: r("bigconsole.settings.header.subtitle", "Configure BigConsole preferences")
122
102
  })] }),
123
- /* @__PURE__ */ f("div", {
103
+ /* @__PURE__ */ h("div", {
124
104
  style: {
125
105
  display: "flex",
126
106
  gap: 8
127
107
  },
128
- children: [/* @__PURE__ */ f("button", {
129
- onClick: C,
108
+ children: [/* @__PURE__ */ h("button", {
109
+ onClick: T,
130
110
  style: {
131
111
  display: "flex",
132
112
  alignItems: "center",
@@ -140,12 +120,12 @@ var v = e(function() {
140
120
  cursor: "pointer"
141
121
  },
142
122
  children: [
143
- /* @__PURE__ */ d(i, { size: 14 }),
123
+ /* @__PURE__ */ m(s, { size: 14 }),
144
124
  " ",
145
- e("bigconsole.settings.actions.reset", "Reset")
125
+ r("bigconsole.settings.actions.reset", "Reset")
146
126
  ]
147
- }), /* @__PURE__ */ f("button", {
148
- onClick: S,
127
+ }), /* @__PURE__ */ h("button", {
128
+ onClick: w,
149
129
  style: {
150
130
  display: "flex",
151
131
  alignItems: "center",
@@ -161,324 +141,324 @@ var v = e(function() {
161
141
  transition: "background-color 200ms"
162
142
  },
163
143
  children: [
164
- /* @__PURE__ */ d(a, { size: 14 }),
144
+ /* @__PURE__ */ m(c, { size: 14 }),
165
145
  " ",
166
- y ? e("bigconsole.settings.actions.savedLocally", "Saved locally") : e("bigconsole.settings.actions.saveLocally", "Save locally")
146
+ y ? r("bigconsole.settings.actions.savedLocally", "Saved locally") : r("bigconsole.settings.actions.saveLocally", "Save locally")
167
147
  ]
168
148
  })]
169
149
  })
170
150
  ]
171
151
  }),
172
- /* @__PURE__ */ d(u, {
152
+ x && /* @__PURE__ */ m("p", {
153
+ role: "alert",
154
+ className: "mb-form-gap text-status-error-text",
155
+ children: r("bigconsole.settings.actions.saveError", "Your browser could not save these preferences. Try again.")
156
+ }),
157
+ /* @__PURE__ */ m(p, {
173
158
  className: "mb-[var(--space-sectionGap)]",
174
- children: e("bigconsole.settings.purpose", "Settings control the defaults BigConsole applies everywhere — how new dashboards are laid out, how aggressively widget data is cached, and how the UI is displayed. Tune these once to match how your team works; they apply across every dashboard you build. These preferences are saved locally in this browser until the backend settings API is available.")
159
+ children: r("bigconsole.settings.localDefaultsPurpose", "These browser-local defaults apply when you add dashboard pages, widgets and data sinks. Display preferences update existing widgets in this browser. They do not change existing page layouts, widget refresh schedules or data sink cache settings, and are not shared with your team.")
175
160
  }),
176
- /* @__PURE__ */ f(c, {
161
+ /* @__PURE__ */ h(d, {
177
162
  className: "mb-[var(--space-sectionGap)] p-[var(--space-cardPadding)]",
178
- children: [/* @__PURE__ */ d("h2", {
163
+ children: [/* @__PURE__ */ m("h2", {
179
164
  style: {
180
165
  fontSize: "var(--font-size-body-md)",
181
166
  fontWeight: "var(--font-weight-semibold)",
182
167
  color: "var(--color-text-primary)",
183
168
  marginBottom: 16
184
169
  },
185
- children: e("bigconsole.settings.dashboardDefaults.title", "Dashboard Defaults")
186
- }), /* @__PURE__ */ f("div", {
187
- style: {
188
- display: "grid",
189
- gap: 16
190
- },
170
+ children: r("bigconsole.settings.dashboardDefaults.title", "Dashboard Defaults")
171
+ }), /* @__PURE__ */ h("div", {
172
+ className: "grid gap-form-gap md:grid-cols-3",
191
173
  children: [
192
- /* @__PURE__ */ f("div", { children: [
193
- /* @__PURE__ */ d("label", {
174
+ /* @__PURE__ */ h("div", { children: [
175
+ /* @__PURE__ */ m("label", {
194
176
  htmlFor: "grid-cols",
195
- style: T,
196
- children: e("bigconsole.settings.dashboardDefaults.gridColumns.label", "Grid Columns")
177
+ style: D,
178
+ children: r("bigconsole.settings.dashboardDefaults.gridColumns.label", "Grid Columns")
197
179
  }),
198
- /* @__PURE__ */ d("input", {
180
+ /* @__PURE__ */ m("input", {
199
181
  id: "grid-cols",
200
182
  type: "number",
201
183
  min: 4,
202
184
  max: 24,
203
- value: m.defaultGridColumns,
204
- onChange: (e) => x("defaultGridColumns", parseInt(e.target.value) || 12),
205
- style: w
185
+ value: _.defaultGridColumns,
186
+ onChange: (e) => C("defaultGridColumns", Math.min(24, Math.max(4, Number(e.target.value) || 12))),
187
+ style: E
206
188
  }),
207
- /* @__PURE__ */ d("p", {
208
- style: E,
209
- children: e("bigconsole.settings.dashboardDefaults.gridColumns.help", "Number of columns in the dashboard grid (4-24)")
189
+ /* @__PURE__ */ m("p", {
190
+ style: O,
191
+ children: r("bigconsole.settings.dashboardDefaults.gridColumns.help", "Number of columns in the dashboard grid (4-24)")
210
192
  })
211
193
  ] }),
212
- /* @__PURE__ */ f("div", { children: [
213
- /* @__PURE__ */ d("label", {
194
+ /* @__PURE__ */ h("div", { children: [
195
+ /* @__PURE__ */ m("label", {
214
196
  htmlFor: "widget-height",
215
- style: T,
216
- children: e("bigconsole.settings.dashboardDefaults.widgetHeight.label", "Default Widget Height")
197
+ style: D,
198
+ children: r("bigconsole.settings.dashboardDefaults.widgetHeight.label", "Default Widget Height")
217
199
  }),
218
- /* @__PURE__ */ d("input", {
200
+ /* @__PURE__ */ m("input", {
219
201
  id: "widget-height",
220
202
  type: "number",
221
203
  min: 2,
222
204
  max: 12,
223
- value: m.defaultWidgetHeight,
224
- onChange: (e) => x("defaultWidgetHeight", parseInt(e.target.value) || 4),
225
- style: w
205
+ value: _.defaultWidgetHeight,
206
+ onChange: (e) => C("defaultWidgetHeight", Math.min(12, Math.max(1, Number(e.target.value) || 4))),
207
+ style: E
226
208
  }),
227
- /* @__PURE__ */ d("p", {
228
- style: E,
229
- children: e("bigconsole.settings.dashboardDefaults.widgetHeight.help", "Default height units for new widgets (2-12)")
209
+ /* @__PURE__ */ m("p", {
210
+ style: O,
211
+ children: r("bigconsole.settings.dashboardDefaults.widgetHeight.help", "Default height units for new widgets (2-12)")
230
212
  })
231
213
  ] }),
232
- /* @__PURE__ */ f("div", { children: [
233
- /* @__PURE__ */ d("label", {
214
+ /* @__PURE__ */ h("div", { children: [
215
+ /* @__PURE__ */ m("label", {
234
216
  htmlFor: "refresh-interval",
235
- style: T,
236
- children: e("bigconsole.settings.dashboardDefaults.refreshInterval.label", "Auto-Refresh Interval (seconds)")
217
+ style: D,
218
+ children: r("bigconsole.settings.dashboardDefaults.refreshInterval.label", "Auto-Refresh Interval (seconds)")
237
219
  }),
238
- /* @__PURE__ */ f("select", {
220
+ /* @__PURE__ */ h("select", {
239
221
  id: "refresh-interval",
240
- value: m.defaultRefreshInterval,
241
- onChange: (e) => x("defaultRefreshInterval", parseInt(e.target.value)),
242
- style: w,
222
+ value: _.defaultRefreshInterval,
223
+ onChange: (e) => C("defaultRefreshInterval", parseInt(e.target.value)),
224
+ style: E,
243
225
  children: [
244
- /* @__PURE__ */ d("option", {
226
+ /* @__PURE__ */ m("option", {
245
227
  value: 0,
246
- children: e("bigconsole.settings.dashboardDefaults.refreshInterval.disabled", "Disabled")
228
+ children: r("bigconsole.settings.dashboardDefaults.refreshInterval.disabled", "Disabled")
247
229
  }),
248
- /* @__PURE__ */ d("option", {
230
+ /* @__PURE__ */ m("option", {
249
231
  value: 10,
250
- children: e("bigconsole.settings.dashboardDefaults.refreshInterval.seconds10", "10 seconds")
232
+ children: r("bigconsole.settings.dashboardDefaults.refreshInterval.seconds10", "10 seconds")
251
233
  }),
252
- /* @__PURE__ */ d("option", {
234
+ /* @__PURE__ */ m("option", {
253
235
  value: 30,
254
- children: e("bigconsole.settings.dashboardDefaults.refreshInterval.seconds30", "30 seconds")
236
+ children: r("bigconsole.settings.dashboardDefaults.refreshInterval.seconds30", "30 seconds")
255
237
  }),
256
- /* @__PURE__ */ d("option", {
238
+ /* @__PURE__ */ m("option", {
257
239
  value: 60,
258
- children: e("bigconsole.settings.dashboardDefaults.refreshInterval.minute1", "1 minute")
240
+ children: r("bigconsole.settings.dashboardDefaults.refreshInterval.minute1", "1 minute")
259
241
  }),
260
- /* @__PURE__ */ d("option", {
242
+ /* @__PURE__ */ m("option", {
261
243
  value: 300,
262
- children: e("bigconsole.settings.dashboardDefaults.refreshInterval.minutes5", "5 minutes")
244
+ children: r("bigconsole.settings.dashboardDefaults.refreshInterval.minutes5", "5 minutes")
263
245
  }),
264
- /* @__PURE__ */ d("option", {
246
+ /* @__PURE__ */ m("option", {
265
247
  value: 600,
266
- children: e("bigconsole.settings.dashboardDefaults.refreshInterval.minutes10", "10 minutes")
248
+ children: r("bigconsole.settings.dashboardDefaults.refreshInterval.minutes10", "10 minutes")
267
249
  })
268
250
  ]
269
251
  }),
270
- /* @__PURE__ */ d("p", {
271
- style: E,
272
- children: e("bigconsole.settings.dashboardDefaults.refreshInterval.help", "How often widgets refresh their data automatically")
252
+ /* @__PURE__ */ m("p", {
253
+ style: O,
254
+ children: r("bigconsole.settings.dashboardDefaults.refreshInterval.help", "How often widgets refresh their data automatically")
273
255
  })
274
256
  ] })
275
257
  ]
276
258
  })]
277
259
  }),
278
- /* @__PURE__ */ f("div", {
279
- style: D,
280
- children: [/* @__PURE__ */ d("h2", {
260
+ /* @__PURE__ */ h("div", {
261
+ style: k,
262
+ children: [/* @__PURE__ */ m("h2", {
281
263
  style: {
282
264
  fontSize: "var(--font-size-body-md)",
283
265
  fontWeight: "var(--font-weight-semibold)",
284
266
  color: "var(--color-text-primary)",
285
267
  marginBottom: 16
286
268
  },
287
- children: e("bigconsole.settings.cache.title", "Cache")
288
- }), /* @__PURE__ */ f("div", {
289
- style: {
290
- display: "grid",
291
- gap: 16
292
- },
293
- children: [/* @__PURE__ */ f("div", {
269
+ children: r("bigconsole.settings.cache.title", "Cache")
270
+ }), /* @__PURE__ */ h("div", {
271
+ className: "grid gap-form-gap md:grid-cols-2",
272
+ children: [/* @__PURE__ */ h("div", {
294
273
  style: {
295
274
  display: "flex",
296
275
  alignItems: "center",
297
276
  justifyContent: "space-between"
298
277
  },
299
- children: [/* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("label", {
300
- style: T,
301
- children: e("bigconsole.settings.cache.enable.label", "Enable Cache")
302
- }), /* @__PURE__ */ d("p", {
303
- style: E,
304
- children: e("bigconsole.settings.cache.enable.help", "Cache widget data to reduce API calls")
305
- })] }), /* @__PURE__ */ d("button", {
306
- onClick: () => x("cacheEnabled", !m.cacheEnabled),
278
+ children: [/* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("label", {
279
+ style: D,
280
+ children: r("bigconsole.settings.cache.enable.label", "Enable Cache")
281
+ }), /* @__PURE__ */ m("p", {
282
+ style: O,
283
+ children: r("bigconsole.settings.cache.newSinkHelp", "Enable caching by default for new data sinks")
284
+ })] }), /* @__PURE__ */ m("button", {
285
+ onClick: () => C("cacheEnabled", !_.cacheEnabled),
307
286
  role: "switch",
308
- "aria-checked": m.cacheEnabled,
309
- "aria-label": e("bigconsole.settings.cache.enable.label", "Enable Cache"),
287
+ "aria-checked": _.cacheEnabled,
288
+ "aria-label": r("bigconsole.settings.cache.enable.label", "Enable Cache"),
310
289
  style: {
311
290
  width: 44,
291
+ flexShrink: 0,
312
292
  height: 24,
313
293
  borderRadius: 12,
314
- backgroundColor: m.cacheEnabled ? "var(--color-action-primary-bg)" : "var(--color-bg-sunken)",
294
+ backgroundColor: _.cacheEnabled ? "var(--color-action-primary-bg)" : "var(--color-bg-sunken)",
315
295
  border: "none",
316
296
  cursor: "pointer",
317
297
  position: "relative",
318
298
  transition: "background-color 200ms"
319
299
  },
320
- children: /* @__PURE__ */ d("div", { style: {
300
+ children: /* @__PURE__ */ m("div", { style: {
321
301
  width: 18,
322
302
  height: 18,
323
303
  borderRadius: "50%",
324
- backgroundColor: "white",
304
+ backgroundColor: "var(--color-action-primary-text)",
325
305
  position: "absolute",
326
306
  top: 3,
327
- left: m.cacheEnabled ? 23 : 3,
307
+ left: _.cacheEnabled ? 23 : 3,
328
308
  transition: "left 200ms"
329
309
  } })
330
310
  })]
331
- }), m.cacheEnabled && /* @__PURE__ */ f("div", { children: [
332
- /* @__PURE__ */ d("label", {
311
+ }), _.cacheEnabled && /* @__PURE__ */ h("div", { children: [
312
+ /* @__PURE__ */ m("label", {
333
313
  htmlFor: "cache-ttl",
334
- style: T,
335
- children: e("bigconsole.settings.cache.ttl.label", "Cache TTL (seconds)")
314
+ style: D,
315
+ children: r("bigconsole.settings.cache.ttl.label", "Cache TTL (seconds)")
336
316
  }),
337
- /* @__PURE__ */ d("input", {
317
+ /* @__PURE__ */ m("input", {
338
318
  id: "cache-ttl",
339
319
  type: "number",
340
320
  min: 30,
341
321
  max: 3600,
342
- value: m.cacheTTLSeconds,
343
- onChange: (e) => x("cacheTTLSeconds", parseInt(e.target.value) || 300),
344
- style: w
322
+ value: _.cacheTTLSeconds,
323
+ onChange: (e) => C("cacheTTLSeconds", Math.min(86400, Math.max(0, Number(e.target.value)))),
324
+ style: E
345
325
  }),
346
- /* @__PURE__ */ d("p", {
347
- style: E,
348
- children: e("bigconsole.settings.cache.ttl.help", "How long cached data is considered fresh (30-3600)")
326
+ /* @__PURE__ */ m("p", {
327
+ style: O,
328
+ children: r("bigconsole.settings.cache.ttl.help", "How long cached data is considered fresh (30-3600)")
349
329
  })
350
330
  ] })]
351
331
  })]
352
332
  }),
353
- /* @__PURE__ */ f("div", {
354
- style: D,
355
- children: [/* @__PURE__ */ d("h2", {
333
+ /* @__PURE__ */ h("div", {
334
+ style: k,
335
+ children: [/* @__PURE__ */ m("h2", {
356
336
  style: {
357
337
  fontSize: "var(--font-size-body-md)",
358
338
  fontWeight: "var(--font-weight-semibold)",
359
339
  color: "var(--color-text-primary)",
360
340
  marginBottom: 16
361
341
  },
362
- children: e("bigconsole.settings.display.title", "Display")
363
- }), /* @__PURE__ */ f("div", {
364
- style: {
365
- display: "grid",
366
- gap: 16
367
- },
342
+ children: r("bigconsole.settings.display.title", "Display")
343
+ }), /* @__PURE__ */ h("div", {
344
+ className: "grid gap-form-gap md:grid-cols-3",
368
345
  children: [
369
- /* @__PURE__ */ f("div", {
346
+ /* @__PURE__ */ h("div", {
370
347
  style: {
371
348
  display: "flex",
372
349
  alignItems: "center",
373
350
  justifyContent: "space-between"
374
351
  },
375
- children: [/* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("label", {
376
- style: T,
377
- children: e("bigconsole.settings.display.widgetBorders.label", "Show Widget Borders")
378
- }), /* @__PURE__ */ d("p", {
379
- style: E,
380
- children: e("bigconsole.settings.display.widgetBorders.help", "Display borders around widgets in dashboards")
381
- })] }), /* @__PURE__ */ d("button", {
382
- onClick: () => x("showWidgetBorders", !m.showWidgetBorders),
352
+ children: [/* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("label", {
353
+ style: D,
354
+ children: r("bigconsole.settings.display.widgetBorders.label", "Show Widget Borders")
355
+ }), /* @__PURE__ */ m("p", {
356
+ style: O,
357
+ children: r("bigconsole.settings.display.widgetBorders.help", "Display borders around widgets in dashboards")
358
+ })] }), /* @__PURE__ */ m("button", {
359
+ onClick: () => C("showWidgetBorders", !_.showWidgetBorders),
383
360
  role: "switch",
384
- "aria-checked": m.showWidgetBorders,
385
- "aria-label": e("bigconsole.settings.display.widgetBorders.label", "Show Widget Borders"),
361
+ "aria-checked": _.showWidgetBorders,
362
+ "aria-label": r("bigconsole.settings.display.widgetBorders.label", "Show Widget Borders"),
386
363
  style: {
387
364
  width: 44,
365
+ flexShrink: 0,
388
366
  height: 24,
389
367
  borderRadius: 12,
390
- backgroundColor: m.showWidgetBorders ? "var(--color-action-primary-bg)" : "var(--color-bg-sunken)",
368
+ backgroundColor: _.showWidgetBorders ? "var(--color-action-primary-bg)" : "var(--color-bg-sunken)",
391
369
  border: "none",
392
370
  cursor: "pointer",
393
371
  position: "relative",
394
372
  transition: "background-color 200ms"
395
373
  },
396
- children: /* @__PURE__ */ d("div", { style: {
374
+ children: /* @__PURE__ */ m("div", { style: {
397
375
  width: 18,
398
376
  height: 18,
399
377
  borderRadius: "50%",
400
- backgroundColor: "white",
378
+ backgroundColor: "var(--color-action-primary-text)",
401
379
  position: "absolute",
402
380
  top: 3,
403
- left: m.showWidgetBorders ? 23 : 3,
381
+ left: _.showWidgetBorders ? 23 : 3,
404
382
  transition: "left 200ms"
405
383
  } })
406
384
  })]
407
385
  }),
408
- /* @__PURE__ */ f("div", {
386
+ /* @__PURE__ */ h("div", {
409
387
  style: {
410
388
  display: "flex",
411
389
  alignItems: "center",
412
390
  justifyContent: "space-between"
413
391
  },
414
- children: [/* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("label", {
415
- style: T,
416
- children: e("bigconsole.settings.display.compactMode.label", "Compact Mode")
417
- }), /* @__PURE__ */ d("p", {
418
- style: E,
419
- children: e("bigconsole.settings.display.compactMode.help", "Reduce padding and spacing for more content")
420
- })] }), /* @__PURE__ */ d("button", {
421
- onClick: () => x("compactMode", !m.compactMode),
392
+ children: [/* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("label", {
393
+ style: D,
394
+ children: r("bigconsole.settings.display.compactMode.label", "Compact Mode")
395
+ }), /* @__PURE__ */ m("p", {
396
+ style: O,
397
+ children: r("bigconsole.settings.display.compactMode.help", "Reduce padding and spacing for more content")
398
+ })] }), /* @__PURE__ */ m("button", {
399
+ onClick: () => C("compactMode", !_.compactMode),
422
400
  role: "switch",
423
- "aria-checked": m.compactMode,
424
- "aria-label": e("bigconsole.settings.display.compactMode.label", "Compact Mode"),
401
+ "aria-checked": _.compactMode,
402
+ "aria-label": r("bigconsole.settings.display.compactMode.label", "Compact Mode"),
425
403
  style: {
426
404
  width: 44,
405
+ flexShrink: 0,
427
406
  height: 24,
428
407
  borderRadius: 12,
429
- backgroundColor: m.compactMode ? "var(--color-action-primary-bg)" : "var(--color-bg-sunken)",
408
+ backgroundColor: _.compactMode ? "var(--color-action-primary-bg)" : "var(--color-bg-sunken)",
430
409
  border: "none",
431
410
  cursor: "pointer",
432
411
  position: "relative",
433
412
  transition: "background-color 200ms"
434
413
  },
435
- children: /* @__PURE__ */ d("div", { style: {
414
+ children: /* @__PURE__ */ m("div", { style: {
436
415
  width: 18,
437
416
  height: 18,
438
417
  borderRadius: "50%",
439
- backgroundColor: "white",
418
+ backgroundColor: "var(--color-action-primary-text)",
440
419
  position: "absolute",
441
420
  top: 3,
442
- left: m.compactMode ? 23 : 3,
421
+ left: _.compactMode ? 23 : 3,
443
422
  transition: "left 200ms"
444
423
  } })
445
424
  })]
446
425
  }),
447
- /* @__PURE__ */ f("div", {
426
+ /* @__PURE__ */ h("div", {
448
427
  style: {
449
428
  display: "flex",
450
429
  alignItems: "center",
451
430
  justifyContent: "space-between"
452
431
  },
453
- children: [/* @__PURE__ */ f("div", { children: [/* @__PURE__ */ d("label", {
454
- style: T,
455
- children: e("bigconsole.settings.display.animations.label", "Animations")
456
- }), /* @__PURE__ */ d("p", {
457
- style: E,
458
- children: e("bigconsole.settings.display.animations.help", "Enable transition animations and effects")
459
- })] }), /* @__PURE__ */ d("button", {
460
- onClick: () => x("animationsEnabled", !m.animationsEnabled),
432
+ children: [/* @__PURE__ */ h("div", { children: [/* @__PURE__ */ m("label", {
433
+ style: D,
434
+ children: r("bigconsole.settings.display.animations.label", "Animations")
435
+ }), /* @__PURE__ */ m("p", {
436
+ style: O,
437
+ children: r("bigconsole.settings.display.animations.help", "Enable transition animations and effects")
438
+ })] }), /* @__PURE__ */ m("button", {
439
+ onClick: () => C("animationsEnabled", !_.animationsEnabled),
461
440
  role: "switch",
462
- "aria-checked": m.animationsEnabled,
463
- "aria-label": e("bigconsole.settings.display.animations.label", "Animations"),
441
+ "aria-checked": _.animationsEnabled,
442
+ "aria-label": r("bigconsole.settings.display.animations.label", "Animations"),
464
443
  style: {
465
444
  width: 44,
445
+ flexShrink: 0,
466
446
  height: 24,
467
447
  borderRadius: 12,
468
- backgroundColor: m.animationsEnabled ? "var(--color-action-primary-bg)" : "var(--color-bg-sunken)",
448
+ backgroundColor: _.animationsEnabled ? "var(--color-action-primary-bg)" : "var(--color-bg-sunken)",
469
449
  border: "none",
470
450
  cursor: "pointer",
471
451
  position: "relative",
472
452
  transition: "background-color 200ms"
473
453
  },
474
- children: /* @__PURE__ */ d("div", { style: {
454
+ children: /* @__PURE__ */ m("div", { style: {
475
455
  width: 18,
476
456
  height: 18,
477
457
  borderRadius: "50%",
478
- backgroundColor: "white",
458
+ backgroundColor: "var(--color-action-primary-text)",
479
459
  position: "absolute",
480
460
  top: 3,
481
- left: m.animationsEnabled ? 23 : 3,
461
+ left: _.animationsEnabled ? 23 : 3,
482
462
  transition: "left 200ms"
483
463
  } })
484
464
  })]
@@ -491,6 +471,6 @@ var v = e(function() {
491
471
  });
492
472
  });
493
473
  //#endregion
494
- export { v as SettingsPage, v as default };
474
+ export { _ as SettingsPage, _ as default };
495
475
 
496
476
  //# sourceMappingURL=SettingsPage.js.map