@burdenoff/microfe-bigconsole 2026.805.1 → 2026.805.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 (150) hide show
  1. package/dist/bigconsole/AdminRoot.js +21 -16
  2. package/dist/bigconsole/AdminRoot.js.map +1 -1
  3. package/dist/bigconsole/BigConsoleRoot.js +44 -39
  4. package/dist/bigconsole/BigConsoleRoot.js.map +1 -1
  5. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +109 -113
  6. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js.map +1 -1
  7. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +115 -113
  8. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +1 -1
  9. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +71 -62
  10. package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +1 -1
  11. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +116 -100
  12. package/dist/bigconsole/components/dashboard/DashboardToolbar.js.map +1 -1
  13. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +56 -54
  14. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js.map +1 -1
  15. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +126 -125
  16. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js.map +1 -1
  17. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +151 -150
  18. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js.map +1 -1
  19. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +77 -76
  20. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js.map +1 -1
  21. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +97 -96
  22. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +1 -1
  23. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +172 -191
  24. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +1 -1
  25. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js +100 -98
  26. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js.map +1 -1
  27. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +75 -83
  28. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js.map +1 -1
  29. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +151 -154
  30. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js.map +1 -1
  31. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +187 -193
  32. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js.map +1 -1
  33. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js +1 -0
  34. package/dist/bigconsole/components/dashboard/WidgetPalette.js +110 -108
  35. package/dist/bigconsole/components/dashboard/WidgetPalette.js.map +1 -1
  36. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +102 -103
  37. package/dist/bigconsole/components/datasink/CacheTTLSelector.js.map +1 -1
  38. package/dist/bigconsole/components/datasink/DataSinkCard.js +20 -20
  39. package/dist/bigconsole/components/datasink/DataSinkCard.js.map +1 -1
  40. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +36 -41
  41. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js.map +1 -1
  42. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +38 -37
  43. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js.map +1 -1
  44. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +113 -117
  45. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js.map +1 -1
  46. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +182 -197
  47. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +1 -1
  48. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +166 -168
  49. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js.map +1 -1
  50. package/dist/bigconsole/components/parser/DataSinkSelector.js +87 -86
  51. package/dist/bigconsole/components/parser/DataSinkSelector.js.map +1 -1
  52. package/dist/bigconsole/components/parser/ImportParserDialog.js +196 -211
  53. package/dist/bigconsole/components/parser/ImportParserDialog.js.map +1 -1
  54. package/dist/bigconsole/components/parser/ParserSelector.js +130 -128
  55. package/dist/bigconsole/components/parser/ParserSelector.js.map +1 -1
  56. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +66 -63
  57. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js.map +1 -1
  58. package/dist/bigconsole/components/preview/AiPreviewPanel.js +95 -91
  59. package/dist/bigconsole/components/preview/AiPreviewPanel.js.map +1 -1
  60. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +243 -230
  61. package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +1 -1
  62. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +149 -145
  63. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +1 -1
  64. package/dist/bigconsole/components/widgets/PropertiesPanel.js +504 -470
  65. package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +1 -1
  66. package/dist/bigconsole/components/widgets/WidgetMenu.js +87 -76
  67. package/dist/bigconsole/components/widgets/WidgetMenu.js.map +1 -1
  68. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +44 -47
  69. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js.map +1 -1
  70. package/dist/bigconsole/components/widgets/chart/ChartConfig.js +143 -142
  71. package/dist/bigconsole/components/widgets/chart/ChartConfig.js.map +1 -1
  72. package/dist/bigconsole/components/widgets/comments/WidgetComments.js +101 -88
  73. package/dist/bigconsole/components/widgets/comments/WidgetComments.js.map +1 -1
  74. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +135 -134
  75. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js.map +1 -1
  76. package/dist/bigconsole/components/widgets/form/FormWidget.js +167 -159
  77. package/dist/bigconsole/components/widgets/form/FormWidget.js.map +1 -1
  78. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +69 -68
  79. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js.map +1 -1
  80. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +64 -72
  81. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js.map +1 -1
  82. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +60 -59
  83. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js.map +1 -1
  84. package/dist/bigconsole/components/widgets/list/ListConfig.js +57 -56
  85. package/dist/bigconsole/components/widgets/list/ListConfig.js.map +1 -1
  86. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +70 -69
  87. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js.map +1 -1
  88. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +35 -34
  89. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js.map +1 -1
  90. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +20 -19
  91. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js.map +1 -1
  92. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +178 -177
  93. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js.map +1 -1
  94. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +76 -75
  95. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js.map +1 -1
  96. package/dist/bigconsole/components/widgets/table/TableConfig.js +183 -168
  97. package/dist/bigconsole/components/widgets/table/TableConfig.js.map +1 -1
  98. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +187 -180
  99. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js.map +1 -1
  100. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js +120 -118
  101. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js.map +1 -1
  102. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +40 -38
  103. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js.map +1 -1
  104. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +150 -148
  105. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +1 -1
  106. package/dist/bigconsole/pages/DashboardBuilderPage.js +189 -175
  107. package/dist/bigconsole/pages/DashboardBuilderPage.js.map +1 -1
  108. package/dist/bigconsole/pages/DashboardViewPage.js +200 -187
  109. package/dist/bigconsole/pages/DashboardViewPage.js.map +1 -1
  110. package/dist/bigconsole/pages/DashboardsPage.js +379 -324
  111. package/dist/bigconsole/pages/DashboardsPage.js.map +1 -1
  112. package/dist/bigconsole/pages/DataParsersPage.js +185 -178
  113. package/dist/bigconsole/pages/DataParsersPage.js.map +1 -1
  114. package/dist/bigconsole/pages/DataSinkBuilderPage.js +195 -170
  115. package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -1
  116. package/dist/bigconsole/pages/DataSinkViewPage.js +224 -200
  117. package/dist/bigconsole/pages/DataSinkViewPage.js.map +1 -1
  118. package/dist/bigconsole/pages/DataSinksPage.js +281 -268
  119. package/dist/bigconsole/pages/DataSinksPage.js.map +1 -1
  120. package/dist/bigconsole/pages/DataSourcesPage.js +8 -7
  121. package/dist/bigconsole/pages/DataSourcesPage.js.map +1 -1
  122. package/dist/bigconsole/pages/InsightsPage.js +238 -208
  123. package/dist/bigconsole/pages/InsightsPage.js.map +1 -1
  124. package/dist/bigconsole/pages/ParserBuilderPage.js +480 -413
  125. package/dist/bigconsole/pages/ParserBuilderPage.js.map +1 -1
  126. package/dist/bigconsole/pages/ParserViewPage.js +192 -172
  127. package/dist/bigconsole/pages/ParserViewPage.js.map +1 -1
  128. package/dist/bigconsole/pages/PipelineBuilderPage.js +198 -163
  129. package/dist/bigconsole/pages/PipelineBuilderPage.js.map +1 -1
  130. package/dist/bigconsole/pages/PipelineViewPage.js +138 -133
  131. package/dist/bigconsole/pages/PipelineViewPage.js.map +1 -1
  132. package/dist/bigconsole/pages/PipelinesPage.js +162 -136
  133. package/dist/bigconsole/pages/PipelinesPage.js.map +1 -1
  134. package/dist/bigconsole/pages/SettingsPage.js +177 -172
  135. package/dist/bigconsole/pages/SettingsPage.js.map +1 -1
  136. package/dist/bigconsole/pages/WidgetDemoPage.js +121 -83
  137. package/dist/bigconsole/pages/WidgetDemoPage.js.map +1 -1
  138. package/dist/bigconsole/pages/WorkflowViewPage.js +269 -242
  139. package/dist/bigconsole/pages/WorkflowViewPage.js.map +1 -1
  140. package/dist/bigconsole/pages/WorkflowsPage.js +153 -138
  141. package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -1
  142. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +111 -109
  143. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js.map +1 -1
  144. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +127 -126
  145. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js.map +1 -1
  146. package/dist/bigconsole/renderers/adapters/CustomRenderer.js +103 -103
  147. package/dist/bigconsole/renderers/adapters/CustomRenderer.js.map +1 -1
  148. package/dist/constants/permissions.js +83 -0
  149. package/dist/constants/permissions.js.map +1 -0
  150. package/package.json +2 -1
@@ -1,28 +1,22 @@
1
- import e, { themeChoiceFromPolicy as t } from "../../../hooks/useDashboardEmbedPolicy.js";
2
- import { useEffect as n, useMemo as r, useRef as i, useState as a } from "react";
3
- import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
1
+ import { BIGCONSOLE_PERMISSIONS as e } from "../../../../constants/permissions.js";
2
+ import t, { themeChoiceFromPolicy as n } from "../../../hooks/useDashboardEmbedPolicy.js";
3
+ import { useEffect as r, useMemo as i, useRef as a, useState as o } from "react";
4
+ import { usePermissions as s } from "@burdenoff/fe-libs/shared/providers/shell";
5
+ import { useI18n as c } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
6
+ import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
4
7
  //#region src/bigconsole/components/dashboard/ShareDialog/EmbedTab.tsx
5
- var ee = [
6
- {
7
- value: "light",
8
- label: "Light"
9
- },
10
- {
11
- value: "dark",
12
- label: "Dark"
13
- },
14
- {
15
- value: "auto",
16
- label: "Auto (match viewer)"
17
- }
8
+ var f = [
9
+ "light",
10
+ "dark",
11
+ "auto"
18
12
  ];
19
- function l(e, t) {
13
+ function p(e, t) {
20
14
  return t === "light" ? e : e.replace(/(?<=\s)src="([^"]*)"/, (e, n) => {
21
15
  let r = n.indexOf("#"), i = r === -1 ? n : n.slice(0, r), a = r === -1 ? "" : n.slice(r);
22
16
  return `src="${i}${i.includes("?") ? "&" : "?"}theme=${t}${a}"`;
23
17
  });
24
18
  }
25
- function te(e) {
19
+ function m(e) {
26
20
  let t = e.trim();
27
21
  if (!t) return null;
28
22
  try {
@@ -32,60 +26,60 @@ function te(e) {
32
26
  return null;
33
27
  }
34
28
  }
35
- function u({ dashboardId: u, colors: d }) {
36
- let { policy: f, secret: p, loading: m, error: h, fetchPolicy: g, publishToWeb: _, applyPresentation: v, setAllowedOrigins: y, rotateKey: b, unpublish: x } = e(), [S, C] = a(""), [w, T] = a([]), [E, D] = a(!1), [O, k] = a(!1), [A, j] = a("light"), [M, N] = a(!1), [P, F] = a(!0), [I, L] = a(!1), [R, z] = a(null), B = i(null), V = i(null);
37
- n(() => {
38
- u && g(u);
39
- }, [u, g]), n(() => {
40
- !f || B.current === f.id || (B.current = f.id, j(t(f.presentationTheme)), N(f.showDashboardTitle), F(f.showBrandingFooter));
41
- }, [f]), n(() => () => {
42
- V.current && clearTimeout(V.current);
29
+ function h({ dashboardId: h, colors: g }) {
30
+ let { t: _ } = c(), { policy: v, secret: y, loading: b, error: x, fetchPolicy: S, publishToWeb: C, applyPresentation: w, setAllowedOrigins: T, rotateKey: E, unpublish: ee } = t(), { hasPermission: te } = s(), D = te(e.DASHBOARD_MANAGE_EMBED), [O, k] = o(""), [A, j] = o([]), [M, N] = o(!1), [ne, P] = o(!1), [F, I] = o("light"), [L, R] = o(!1), [z, B] = o(!0), [V, H] = o(!1), [U, W] = o(null), G = a(null), K = a(null);
31
+ r(() => {
32
+ h && S(h);
33
+ }, [h, S]), r(() => {
34
+ !v || G.current === v.id || (G.current = v.id, I(n(v.presentationTheme)), R(v.showDashboardTitle), B(v.showBrandingFooter));
35
+ }, [v]), r(() => () => {
36
+ K.current && clearTimeout(K.current);
43
37
  }, []);
44
- let H = f?.status === "ACTIVE", U = H ? f?.allowedParentOrigins ?? [] : w, W = r(() => p?.iframeSnippet ? l(p.iframeSnippet, A) : null, [p, A]), G = () => {
45
- z(null);
46
- let e = te(S);
38
+ let q = v?.status === "ACTIVE", J = q ? v?.allowedParentOrigins ?? [] : A, Y = i(() => y?.iframeSnippet ? p(y.iframeSnippet, F) : null, [y, F]), X = () => {
39
+ W(null);
40
+ let e = m(O);
47
41
  if (!e) {
48
- z("Enter a valid https origin, e.g. https://example.com");
42
+ W(_("bigconsole.dashboards.embed.error.invalidOrigin", "Enter a valid https origin, e.g. https://example.com"));
49
43
  return;
50
44
  }
51
- if (U.includes(e)) {
52
- C("");
45
+ if (J.includes(e)) {
46
+ k("");
53
47
  return;
54
48
  }
55
- H && f ? y(f.id, [...U, e]) : T((t) => [...t, e]), C("");
56
- }, K = (e) => {
57
- H && f ? y(f.id, U.filter((t) => t !== e)) : T((t) => t.filter((t) => t !== e));
58
- }, q = async () => {
59
- if (z(null), w.length === 0) {
60
- z("Add at least one allowed website domain before publishing.");
49
+ q && v ? T(v.id, [...J, e]) : j((t) => [...t, e]), k("");
50
+ }, re = (e) => {
51
+ q && v ? T(v.id, J.filter((t) => t !== e)) : j((t) => t.filter((t) => t !== e));
52
+ }, ie = async () => {
53
+ if (W(null), A.length === 0) {
54
+ W(_("bigconsole.dashboards.embed.error.noDomains", "Add at least one allowed website domain before publishing."));
61
55
  return;
62
56
  }
63
- if (!E) {
64
- z("Please confirm this dashboard is safe to be public.");
57
+ if (!M) {
58
+ W(_("bigconsole.dashboards.embed.error.notAttested", "Please confirm this dashboard is safe to be public."));
65
59
  return;
66
60
  }
67
- await _(u, w, !0, {
68
- theme: A,
69
- showTitle: M,
70
- showBranding: P
61
+ await C(h, A, !0, {
62
+ theme: F,
63
+ showTitle: L,
64
+ showBranding: z
71
65
  });
72
- }, J = async () => {
73
- f && (z(null), await v(f.id, {
74
- theme: A,
75
- showTitle: M,
76
- showBranding: P
77
- }) && (L(!0), V.current && clearTimeout(V.current), V.current = setTimeout(() => L(!1), 1500)));
78
- }, Y = async (e) => {
66
+ }, ae = async () => {
67
+ v && (W(null), await w(v.id, {
68
+ theme: F,
69
+ showTitle: L,
70
+ showBranding: z
71
+ }) && (H(!0), K.current && clearTimeout(K.current), K.current = setTimeout(() => H(!1), 1500)));
72
+ }, oe = async (e) => {
79
73
  try {
80
- await navigator.clipboard.writeText(e), k(!0), setTimeout(() => k(!1), 1500);
74
+ await navigator.clipboard.writeText(e), P(!0), setTimeout(() => P(!1), 1500);
81
75
  } catch {
82
- z("Could not copy — select and copy manually.");
76
+ W(_("bigconsole.dashboards.embed.error.copyFailed", "Could not copy — select and copy manually."));
83
77
  }
84
- }, X = {
78
+ }, se = {
85
79
  padding: "8px 14px",
86
80
  borderRadius: "8px",
87
81
  border: "none",
88
- background: d.actionPrimaryBg,
82
+ background: g.actionPrimaryBg,
89
83
  color: "#fff",
90
84
  fontSize: "13px",
91
85
  fontWeight: 600,
@@ -93,25 +87,25 @@ function u({ dashboardId: u, colors: d }) {
93
87
  }, Z = {
94
88
  padding: "8px 14px",
95
89
  borderRadius: "8px",
96
- border: `1px solid ${d.borderDefault}`,
90
+ border: `1px solid ${g.borderDefault}`,
97
91
  background: "transparent",
98
- color: d.textPrimary,
92
+ color: g.textPrimary,
99
93
  fontSize: "13px",
100
94
  cursor: "pointer"
101
- }, ne = {
95
+ }, ce = {
102
96
  flex: 1,
103
97
  padding: "8px 10px",
104
98
  borderRadius: "8px",
105
- border: `1px solid ${d.borderDefault}`,
106
- background: d.bgSecondary,
107
- color: d.textPrimary,
99
+ border: `1px solid ${g.borderDefault}`,
100
+ background: g.bgSecondary,
101
+ color: g.textPrimary,
108
102
  fontSize: "13px"
109
- }, re = {
103
+ }, le = {
110
104
  padding: "4px 8px",
111
105
  borderRadius: "6px",
112
- border: `1px solid ${d.borderDefault}`,
113
- background: d.bgSecondary,
114
- color: d.textPrimary,
106
+ border: `1px solid ${g.borderDefault}`,
107
+ background: g.bgSecondary,
108
+ color: g.textPrimary,
115
109
  fontSize: "12px",
116
110
  cursor: "pointer"
117
111
  }, Q = {
@@ -119,349 +113,349 @@ function u({ dashboardId: u, colors: d }) {
119
113
  gap: "8px",
120
114
  alignItems: "flex-start",
121
115
  fontSize: "12px",
122
- color: d.textSecondary
123
- }, $ = /* @__PURE__ */ c("div", {
116
+ color: g.textSecondary
117
+ }, ue = i(() => f.map((e) => ({
118
+ value: e,
119
+ label: e === "light" ? _("bigconsole.dashboards.embed.theme.option.light", "Light") : e === "dark" ? _("bigconsole.dashboards.embed.theme.option.dark", "Dark") : _("bigconsole.dashboards.embed.theme.option.auto", "Auto (match viewer)")
120
+ })), [_]), $ = /* @__PURE__ */ d("div", {
124
121
  style: {
125
122
  display: "flex",
126
123
  flexDirection: "column",
127
124
  gap: "10px"
128
125
  },
129
126
  children: [
130
- /* @__PURE__ */ c("label", {
127
+ /* @__PURE__ */ d("label", {
131
128
  style: {
132
129
  display: "flex",
133
130
  alignItems: "center",
134
131
  justifyContent: "space-between",
135
132
  gap: "8px"
136
133
  },
137
- children: [/* @__PURE__ */ s("span", {
134
+ children: [/* @__PURE__ */ u("span", {
138
135
  style: {
139
136
  fontSize: "12px",
140
- color: d.textSecondary
137
+ color: g.textSecondary
141
138
  },
142
- children: "Theme"
143
- }), /* @__PURE__ */ s("select", {
144
- value: A,
139
+ children: _("bigconsole.dashboards.embed.theme.label", "Theme")
140
+ }), /* @__PURE__ */ u("select", {
141
+ value: F,
145
142
  onChange: (e) => {
146
143
  let t = e.target.value;
147
- (t === "light" || t === "dark" || t === "auto") && j(t);
144
+ (t === "light" || t === "dark" || t === "auto") && I(t);
148
145
  },
149
- style: re,
150
- children: ee.map((e) => /* @__PURE__ */ s("option", {
146
+ style: le,
147
+ children: ue.map((e) => /* @__PURE__ */ u("option", {
151
148
  value: e.value,
152
149
  children: e.label
153
150
  }, e.value))
154
151
  })]
155
152
  }),
156
- /* @__PURE__ */ c("label", {
153
+ /* @__PURE__ */ d("label", {
157
154
  style: Q,
158
- children: [/* @__PURE__ */ s("input", {
155
+ children: [/* @__PURE__ */ u("input", {
159
156
  type: "checkbox",
160
- checked: M,
161
- onChange: (e) => N(e.target.checked)
162
- }), /* @__PURE__ */ s("span", { children: "Show the dashboard title as a header" })]
157
+ checked: L,
158
+ onChange: (e) => R(e.target.checked)
159
+ }), /* @__PURE__ */ u("span", { children: _("bigconsole.dashboards.embed.presentation.showTitle", "Show the dashboard title as a header") })]
163
160
  }),
164
- /* @__PURE__ */ c("label", {
161
+ /* @__PURE__ */ d("label", {
165
162
  style: Q,
166
- children: [/* @__PURE__ */ s("input", {
163
+ children: [/* @__PURE__ */ u("input", {
167
164
  type: "checkbox",
168
- checked: P,
169
- onChange: (e) => F(e.target.checked)
170
- }), /* @__PURE__ */ s("span", { children: "Show a subtle “Powered by BigConsole” footer" })]
165
+ checked: z,
166
+ onChange: (e) => B(e.target.checked)
167
+ }), /* @__PURE__ */ u("span", { children: _("bigconsole.dashboards.embed.presentation.showBranding", "Show a subtle “Powered by BigConsole” footer") })]
171
168
  })
172
169
  ]
173
170
  });
174
- return /* @__PURE__ */ c("div", {
171
+ return /* @__PURE__ */ d("div", {
175
172
  style: { padding: "20px 24px" },
176
173
  children: [
177
- /* @__PURE__ */ c("div", {
174
+ /* @__PURE__ */ d("div", {
178
175
  style: {
179
176
  display: "flex",
180
177
  alignItems: "center",
181
178
  justifyContent: "space-between",
182
179
  padding: "12px 14px",
183
180
  borderRadius: "10px",
184
- background: d.bgSecondary,
181
+ background: g.bgSecondary,
185
182
  marginBottom: "16px"
186
183
  },
187
- children: [/* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("div", {
184
+ children: [/* @__PURE__ */ d("div", { children: [/* @__PURE__ */ u("div", {
188
185
  style: {
189
186
  fontSize: "14px",
190
187
  fontWeight: 600,
191
- color: d.textPrimary
188
+ color: g.textPrimary
192
189
  },
193
- children: "Publish to the web"
194
- }), /* @__PURE__ */ s("div", {
190
+ children: _("bigconsole.dashboards.embed.heading", "Publish to the web")
191
+ }), /* @__PURE__ */ u("div", {
195
192
  style: {
196
193
  fontSize: "12px",
197
- color: d.textSecondary,
194
+ color: g.textSecondary,
198
195
  marginTop: "2px"
199
196
  },
200
- children: H ? "This dashboard is live. Anyone with the link on an allowed website sees its live data." : "Embed this dashboard on your website. Viewers see live data — no login required."
201
- })] }), /* @__PURE__ */ s("span", {
197
+ children: q ? _("bigconsole.dashboards.embed.status.liveDescription", "This dashboard is live. Anyone with the link on an allowed website sees its live data.") : _("bigconsole.dashboards.embed.status.privateDescription", "Embed this dashboard on your website. Viewers see live data — no login required.")
198
+ })] }), /* @__PURE__ */ u("span", {
202
199
  style: {
203
200
  fontSize: "11px",
204
201
  fontWeight: 700,
205
202
  padding: "3px 8px",
206
203
  borderRadius: "999px",
207
204
  color: "#fff",
208
- background: H ? d.statusSuccessBg : d.textTertiary
205
+ background: q ? g.statusSuccessBg : g.textTertiary
209
206
  },
210
- children: H ? "PUBLISHED" : "PRIVATE"
207
+ children: q ? _("bigconsole.dashboards.embed.badge.published", "PUBLISHED") : _("bigconsole.dashboards.embed.badge.private", "PRIVATE")
211
208
  })]
212
209
  }),
213
- /* @__PURE__ */ c("div", {
210
+ /* @__PURE__ */ d("div", {
214
211
  style: { marginBottom: "16px" },
215
212
  children: [
216
- /* @__PURE__ */ s("div", {
213
+ /* @__PURE__ */ u("div", {
217
214
  style: {
218
215
  fontSize: "12px",
219
216
  fontWeight: 600,
220
- color: d.textSecondary,
217
+ color: g.textSecondary,
221
218
  marginBottom: "6px"
222
219
  },
223
- children: "Allowed website domains"
220
+ children: _("bigconsole.dashboards.embed.domains.label", "Allowed website domains")
224
221
  }),
225
- /* @__PURE__ */ c("div", {
222
+ /* @__PURE__ */ d("div", {
226
223
  style: {
227
224
  display: "flex",
228
225
  gap: "8px",
229
226
  marginBottom: "8px"
230
227
  },
231
- children: [/* @__PURE__ */ s("input", {
232
- style: ne,
233
- placeholder: "https://yoursite.com",
234
- value: S,
235
- onChange: (e) => C(e.target.value),
228
+ children: [/* @__PURE__ */ u("input", {
229
+ style: ce,
230
+ placeholder: _("bigconsole.dashboards.embed.domains.placeholder", "https://yoursite.com"),
231
+ value: O,
232
+ onChange: (e) => k(e.target.value),
236
233
  onKeyDown: (e) => {
237
- e.key === "Enter" && G();
234
+ e.key === "Enter" && X();
238
235
  }
239
- }), /* @__PURE__ */ s("button", {
236
+ }), /* @__PURE__ */ u("button", {
240
237
  style: Z,
241
- onClick: G,
238
+ onClick: X,
242
239
  type: "button",
243
- children: "Add"
240
+ disabled: !D,
241
+ children: _("bigconsole.dashboards.embed.domains.add", "Add")
244
242
  })]
245
243
  }),
246
- U.length === 0 ? /* @__PURE__ */ s("div", {
244
+ J.length === 0 ? /* @__PURE__ */ u("div", {
247
245
  style: {
248
246
  fontSize: "12px",
249
- color: d.textTertiary
247
+ color: g.textTertiary
250
248
  },
251
- children: "No domains yet. Only listed https domains may frame this dashboard."
252
- }) : /* @__PURE__ */ s("div", {
249
+ children: _("bigconsole.dashboards.embed.domains.empty", "No domains yet. Only listed https domains may frame this dashboard.")
250
+ }) : /* @__PURE__ */ u("div", {
253
251
  style: {
254
252
  display: "flex",
255
253
  flexDirection: "column",
256
254
  gap: "6px"
257
255
  },
258
- children: U.map((e) => /* @__PURE__ */ c("div", {
256
+ children: J.map((e) => /* @__PURE__ */ d("div", {
259
257
  style: {
260
258
  display: "flex",
261
259
  alignItems: "center",
262
260
  justifyContent: "space-between",
263
261
  padding: "6px 10px",
264
262
  borderRadius: "8px",
265
- background: d.bgTertiary
263
+ background: g.bgTertiary
266
264
  },
267
- children: [/* @__PURE__ */ s("span", {
265
+ children: [/* @__PURE__ */ u("span", {
268
266
  style: {
269
267
  fontSize: "13px",
270
- color: d.textPrimary
268
+ color: g.textPrimary
271
269
  },
272
270
  children: e
273
- }), /* @__PURE__ */ s("button", {
271
+ }), D && /* @__PURE__ */ u("button", {
274
272
  style: {
275
273
  ...Z,
276
274
  padding: "2px 8px",
277
- color: d.statusErrorText
275
+ color: g.statusErrorText
278
276
  },
279
- onClick: () => K(e),
277
+ onClick: () => re(e),
280
278
  type: "button",
281
- children: "Remove"
279
+ children: _("bigconsole.dashboards.embed.domains.remove", "Remove")
282
280
  })]
283
281
  }, e))
284
282
  })
285
283
  ]
286
284
  }),
287
- !H && /* @__PURE__ */ c("div", {
285
+ !q && /* @__PURE__ */ d("div", {
288
286
  style: { marginBottom: "16px" },
289
- children: [/* @__PURE__ */ s("div", {
287
+ children: [/* @__PURE__ */ u("div", {
290
288
  style: {
291
289
  fontSize: "12px",
292
290
  fontWeight: 600,
293
- color: d.textSecondary,
291
+ color: g.textSecondary,
294
292
  marginBottom: "8px"
295
293
  },
296
- children: "Presentation"
294
+ children: _("bigconsole.dashboards.embed.presentation.heading", "Presentation")
297
295
  }), $]
298
296
  }),
299
- !H && /* @__PURE__ */ c("div", {
297
+ !q && /* @__PURE__ */ d("div", {
300
298
  style: { marginBottom: "8px" },
301
- children: [/* @__PURE__ */ c("label", {
299
+ children: [/* @__PURE__ */ d("label", {
302
300
  style: {
303
301
  display: "flex",
304
302
  gap: "8px",
305
303
  alignItems: "flex-start",
306
304
  marginBottom: "12px"
307
305
  },
308
- children: [/* @__PURE__ */ s("input", {
306
+ children: [/* @__PURE__ */ u("input", {
309
307
  type: "checkbox",
310
- checked: E,
311
- onChange: (e) => D(e.target.checked)
312
- }), /* @__PURE__ */ s("span", {
308
+ checked: M,
309
+ onChange: (e) => N(e.target.checked)
310
+ }), /* @__PURE__ */ u("span", {
313
311
  style: {
314
312
  fontSize: "12px",
315
- color: d.textSecondary
313
+ color: g.textSecondary
316
314
  },
317
- children: "I understand this makes the dashboard's live data visible to anyone with the link, and I confirm it is safe to be public."
315
+ children: _("bigconsole.dashboards.embed.attestation", "I understand this makes the dashboards live data visible to anyone with the link, and I confirm it is safe to be public.")
318
316
  })]
319
- }), /* @__PURE__ */ s("button", {
320
- style: X,
321
- onClick: q,
322
- disabled: m,
317
+ }), /* @__PURE__ */ u("button", {
318
+ style: se,
319
+ onClick: ie,
320
+ disabled: b || !D,
323
321
  type: "button",
324
- children: m ? "Publishing…" : "Publish to web"
322
+ children: b ? _("bigconsole.dashboards.embed.publishing", "Publishing…") : _("bigconsole.dashboards.embed.publish", "Publish to web")
325
323
  })]
326
324
  }),
327
- H && /* @__PURE__ */ c(o, { children: [
328
- W ? /* @__PURE__ */ c("div", {
325
+ q && /* @__PURE__ */ d(l, { children: [
326
+ Y ? /* @__PURE__ */ d("div", {
329
327
  style: { marginBottom: "16px" },
330
328
  children: [
331
- /* @__PURE__ */ s("div", {
329
+ /* @__PURE__ */ u("div", {
332
330
  style: { marginBottom: "6px" },
333
- children: /* @__PURE__ */ s("span", {
331
+ children: /* @__PURE__ */ u("span", {
334
332
  style: {
335
333
  fontSize: "12px",
336
334
  fontWeight: 600,
337
- color: d.textSecondary
335
+ color: g.textSecondary
338
336
  },
339
- children: "Embed snippet"
337
+ children: _("bigconsole.dashboards.embed.snippet.label", "Embed snippet")
340
338
  })
341
339
  }),
342
- /* @__PURE__ */ s("textarea", {
340
+ /* @__PURE__ */ u("textarea", {
343
341
  readOnly: !0,
344
- value: W,
342
+ value: Y,
345
343
  style: {
346
344
  width: "100%",
347
345
  minHeight: "96px",
348
346
  padding: "10px",
349
347
  borderRadius: "8px",
350
- border: `1px solid ${d.borderDefault}`,
351
- background: d.bgSecondary,
352
- color: d.textPrimary,
348
+ border: `1px solid ${g.borderDefault}`,
349
+ background: g.bgSecondary,
350
+ color: g.textPrimary,
353
351
  fontFamily: "monospace",
354
352
  fontSize: "12px",
355
353
  resize: "vertical"
356
354
  }
357
355
  }),
358
- /* @__PURE__ */ s("button", {
356
+ /* @__PURE__ */ u("button", {
359
357
  style: {
360
358
  ...Z,
361
359
  marginTop: "8px"
362
360
  },
363
- onClick: () => Y(W),
361
+ onClick: () => oe(Y),
364
362
  type: "button",
365
- children: O ? "Copied ✓" : "Copy snippet"
363
+ children: ne ? _("bigconsole.dashboards.embed.snippet.copied", "Copied ✓") : _("bigconsole.dashboards.embed.snippet.copy", "Copy snippet")
366
364
  })
367
365
  ]
368
- }) : /* @__PURE__ */ c("div", {
366
+ }) : /* @__PURE__ */ u("div", {
369
367
  style: {
370
368
  fontSize: "12px",
371
- color: d.textSecondary,
372
- background: d.bgSecondary,
369
+ color: g.textSecondary,
370
+ background: g.bgSecondary,
373
371
  borderRadius: "8px",
374
372
  padding: "10px 12px",
375
373
  marginBottom: "16px"
376
374
  },
377
- children: [
378
- "The embed link is already active. For security the snippet (which contains the secret key) is only shown once at publish time — use ",
379
- /* @__PURE__ */ s("strong", { children: "Rotate link" }),
380
- " to generate a fresh snippet."
381
- ]
375
+ children: _("bigconsole.dashboards.embed.snippet.alreadyActive", "The embed link is already active. For security the snippet (which contains the secret key) is only shown once at publish time — use {{rotateLabel}} to generate a fresh snippet.", { rotateLabel: _("bigconsole.dashboards.embed.rotate", "Rotate link") })
382
376
  }),
383
- /* @__PURE__ */ c("div", {
377
+ /* @__PURE__ */ d("div", {
384
378
  style: { marginBottom: "16px" },
385
379
  children: [
386
- /* @__PURE__ */ s("div", {
380
+ /* @__PURE__ */ u("div", {
387
381
  style: {
388
382
  fontSize: "12px",
389
383
  fontWeight: 600,
390
- color: d.textSecondary,
384
+ color: g.textSecondary,
391
385
  marginBottom: "8px"
392
386
  },
393
- children: "Presentation"
387
+ children: _("bigconsole.dashboards.embed.presentation.heading", "Presentation")
394
388
  }),
395
389
  $,
396
- /* @__PURE__ */ c("div", {
390
+ /* @__PURE__ */ d("div", {
397
391
  style: {
398
392
  display: "flex",
399
393
  alignItems: "center",
400
394
  gap: "10px",
401
395
  marginTop: "10px"
402
396
  },
403
- children: [/* @__PURE__ */ s("button", {
397
+ children: [/* @__PURE__ */ u("button", {
404
398
  style: Z,
405
- onClick: J,
406
- disabled: m,
399
+ onClick: ae,
400
+ disabled: b || !D,
407
401
  type: "button",
408
- children: m ? "Applying…" : "Apply changes"
409
- }), I && /* @__PURE__ */ s("span", {
402
+ children: b ? _("bigconsole.dashboards.embed.applying", "Applying…") : _("bigconsole.dashboards.embed.apply", "Apply changes")
403
+ }), V && /* @__PURE__ */ u("span", {
410
404
  style: {
411
405
  fontSize: "12px",
412
- color: d.textTertiary
406
+ color: g.textTertiary
413
407
  },
414
- children: "Updated ✓"
408
+ children: _("bigconsole.dashboards.embed.updated", "Updated ✓")
415
409
  })]
416
410
  }),
417
- /* @__PURE__ */ s("div", {
411
+ /* @__PURE__ */ u("div", {
418
412
  style: {
419
413
  fontSize: "11px",
420
- color: d.textTertiary,
414
+ color: g.textTertiary,
421
415
  marginTop: "6px"
422
416
  },
423
- children: "Changes apply to live embeds within a few seconds — no re-publish needed, and the embed link stays the same."
417
+ children: _("bigconsole.dashboards.embed.presentation.applyHelp", "Changes apply to live embeds within a few seconds — no re-publish needed, and the embed link stays the same.")
424
418
  })
425
419
  ]
426
420
  }),
427
- /* @__PURE__ */ c("div", {
421
+ D && /* @__PURE__ */ d("div", {
428
422
  style: {
429
423
  display: "flex",
430
424
  gap: "8px"
431
425
  },
432
- children: [/* @__PURE__ */ s("button", {
426
+ children: [/* @__PURE__ */ u("button", {
433
427
  style: Z,
434
- onClick: () => f && b(f.id),
435
- disabled: m,
428
+ onClick: () => v && E(v.id),
429
+ disabled: b,
436
430
  type: "button",
437
- children: "Rotate link"
438
- }), /* @__PURE__ */ s("button", {
431
+ children: _("bigconsole.dashboards.embed.rotate", "Rotate link")
432
+ }), /* @__PURE__ */ u("button", {
439
433
  style: {
440
434
  ...Z,
441
- color: d.statusErrorText,
442
- borderColor: d.statusErrorText
435
+ color: g.statusErrorText,
436
+ borderColor: g.statusErrorText
443
437
  },
444
438
  onClick: () => {
445
- f && window.confirm("Unpublish this dashboard? The embed will stop working immediately for anyone using the link.") && x(f.id);
439
+ v && window.confirm(_("bigconsole.dashboards.embed.unpublishConfirm", "Unpublish this dashboard? The embed will stop working immediately for anyone using the link.")) && ee(v.id);
446
440
  },
447
- disabled: m,
441
+ disabled: b,
448
442
  type: "button",
449
- children: "Unpublish"
443
+ children: _("bigconsole.dashboards.embed.unpublish", "Unpublish")
450
444
  })]
451
445
  })
452
446
  ] }),
453
- (R || h) && /* @__PURE__ */ s("div", {
447
+ (U || x) && /* @__PURE__ */ u("div", {
454
448
  style: {
455
449
  marginTop: "12px",
456
450
  fontSize: "12px",
457
- color: d.statusErrorText
451
+ color: g.statusErrorText
458
452
  },
459
- children: R ?? h?.message
453
+ children: U ?? x?.message
460
454
  })
461
455
  ]
462
456
  });
463
457
  }
464
458
  //#endregion
465
- export { u as default };
459
+ export { h as default };
466
460
 
467
461
  //# sourceMappingURL=EmbedTab.js.map