@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
@@ -3,110 +3,114 @@ import { useAppNavigate as t } from "../contexts/NavigationContext.js";
3
3
  import "../contexts/index.js";
4
4
  import n from "../hooks/useParserOperations.js";
5
5
  import r from "../hooks/useExportParser.js";
6
- import { isNative as i, nativeConfirm as a, nativeImpact as ee, nativeNotify as o } from "../../utils/nativeBridge.js";
7
- import te from "../components/parser/ParserCard.js";
8
- import ne from "../components/parser/ImportParserDialog.js";
6
+ import { BIGCONSOLE_PERMISSIONS as i } from "../../constants/permissions.js";
7
+ import { isNative as a, nativeConfirm as ee, nativeImpact as te, nativeNotify as o } from "../../utils/nativeBridge.js";
8
+ import ne from "../components/parser/ParserCard.js";
9
+ import re from "../components/parser/ImportParserDialog.js";
9
10
  import { memo as s, useCallback as c, useMemo as l, useState as u } from "react";
10
- import { useParams as d } from "react-router";
11
- import { AlertCircle as f, FileCode2 as p, Plus as m, Search as re, Upload as ie, X as ae } from "lucide-react";
12
- import { AuroraBackground as oe, Badge as h, Button as g, CTAOverflowMenu as _, Card as v, CardContent as y, GlassCard as b, GradientText as x, IllustratedEmptyState as S, Input as C, PagePurpose as se, Select as w, SelectContent as T, SelectItem as E, SelectTrigger as D, SelectValue as O, Spinner as ce } from "@burdenoff/fe-libs/ui";
13
- import { jsx as k, jsxs as A } from "react/jsx-runtime";
11
+ import { useParams as ie } from "react-router";
12
+ import { AccessDenied as ae, PermissionButton as oe } from "@burdenoff/fe-libs/shared/components";
13
+ import { usePermissions as se } from "@burdenoff/fe-libs/shared/providers/shell";
14
+ import { AlertCircle as ce, FileCode2 as le, Plus as d, Search as ue, Upload as de, X as f } from "lucide-react";
15
+ import { useI18n as p } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
16
+ import { AuroraBackground as fe, Badge as pe, Button as m, CTAOverflowMenu as me, Card as he, CardContent as ge, GlassCard as h, GradientText as _e, IllustratedEmptyState as g, Input as ve, PagePurpose as ye, Select as _, SelectContent as v, SelectItem as y, SelectTrigger as b, SelectValue as x, Spinner as be } from "@burdenoff/fe-libs/ui";
17
+ import { jsx as S, jsxs as C } from "react/jsx-runtime";
14
18
  //#region src/bigconsole/pages/DataParsersPage.tsx
15
- var le = [
16
- {
17
- value: "all",
18
- label: "All Types"
19
- },
20
- {
21
- value: "jq",
22
- label: "JQ"
23
- },
24
- {
25
- value: "jsonata",
26
- label: "JSONata"
27
- }
28
- ], ue = [
29
- {
30
- value: "all",
31
- label: "All Status"
32
- },
33
- {
34
- value: "active",
35
- label: "Active"
36
- },
37
- {
38
- value: "inactive",
39
- label: "Inactive"
40
- }
41
- ], de = "default", j = s(function() {
42
- let s = t(), { consoleId: j } = d(), M = j || de, N = e((e) => e.typeFilter), P = e((e) => e.statusFilter), F = e((e) => e.searchQuery), I = e((e) => e.setTypeFilter), L = e((e) => e.setStatusFilter), R = e((e) => e.setSearchQuery), [z, B] = u(!1), [V, H] = u(null), [fe, U] = u(!1), { loading: W, error: G, parsers: K, deleteParser: q, refetch: J } = n({
43
- consoleId: M,
19
+ var xe = "default", w = s(function() {
20
+ let s = t(), { consoleId: w } = ie(), { t: T } = p(), E = l(() => [
21
+ {
22
+ value: "all",
23
+ label: T("bigconsole.parsers.filters.allTypes", "All Types")
24
+ },
25
+ {
26
+ value: "jq",
27
+ label: T("bigconsole.parsers.filters.jq", "JQ")
28
+ },
29
+ {
30
+ value: "jsonata",
31
+ label: T("bigconsole.parsers.filters.jsonata", "JSONata")
32
+ }
33
+ ], [T]), D = l(() => [
34
+ {
35
+ value: "all",
36
+ label: T("bigconsole.parsers.filters.allStatus", "All Status")
37
+ },
38
+ {
39
+ value: "active",
40
+ label: T("bigconsole.parsers.filters.active", "Active")
41
+ },
42
+ {
43
+ value: "inactive",
44
+ label: T("bigconsole.parsers.filters.inactive", "Inactive")
45
+ }
46
+ ], [T]), { hasPermission: O, isLoading: k } = se(), A = O(i.PARSER_READ), j = O(i.PARSER_CREATE), M = O(i.PARSER_UPDATE), Se = O(i.PARSER_DELETE), N = w || xe, P = e((e) => e.typeFilter), F = e((e) => e.statusFilter), I = e((e) => e.searchQuery), L = e((e) => e.setTypeFilter), R = e((e) => e.setStatusFilter), z = e((e) => e.setSearchQuery), [Ce, B] = u(!1), [we, V] = u(null), [Te, H] = u(!1), { loading: U, error: W, parsers: G, deleteParser: K, refetch: q } = n({
47
+ consoleId: N,
44
48
  skipFetch: !1
45
- }), { downloadParser: Y, loading: pe } = r(), X = l(() => K ? K.filter((e) => {
46
- if (N && e.type !== N || P && e.status !== P) return !1;
47
- if (F) {
48
- let t = F.toLowerCase(), n = e.name?.toLowerCase().includes(t), r = e.description?.toLowerCase().includes(t), i = e.inputSinkKey?.toLowerCase().includes(t), a = e.outputKey?.toLowerCase().includes(t);
49
+ }), { downloadParser: J, loading: Ee } = r(), Y = l(() => G ? G.filter((e) => {
50
+ if (P && e.type !== P || F && e.status !== F) return !1;
51
+ if (I) {
52
+ let t = I.toLowerCase(), n = e.name?.toLowerCase().includes(t), r = e.description?.toLowerCase().includes(t), i = e.inputSinkKey?.toLowerCase().includes(t), a = e.outputKey?.toLowerCase().includes(t);
49
53
  if (!n && !r && !i && !a) return !1;
50
54
  }
51
55
  return !0;
52
56
  }) : [], [
53
- K,
54
- N,
57
+ G,
55
58
  P,
56
- F
57
- ]), me = c((e) => {
58
- I(e === "all" ? null : e);
59
- }, [I]), he = c((e) => {
59
+ F,
60
+ I
61
+ ]), De = c((e) => {
60
62
  L(e === "all" ? null : e);
61
- }, [L]), ge = c((e) => {
62
- R(e.target.value);
63
- }, [R]), Z = c(() => {
64
- s(j ? `/dashboards/${j}/parsers/new` : "/parsers/new");
65
- }, [s, j]), _e = c((e) => {
66
- s(j ? `/dashboards/${j}/parsers/${e}` : `/parsers/${e}`);
67
- }, [s, j]), ve = c((e) => {
68
- s(j ? `/dashboards/${j}/parsers/${e}/edit` : `/parsers/${e}/edit`);
69
- }, [s, j]), ye = c(async (e) => {
70
- let t = await a({
71
- title: "Delete parser?",
72
- message: "Are you sure you want to delete this parser?",
73
- okButtonTitle: "Delete",
74
- cancelButtonTitle: "Cancel"
63
+ }, [L]), Oe = c((e) => {
64
+ R(e === "all" ? null : e);
65
+ }, [R]), ke = c((e) => {
66
+ z(e.target.value);
67
+ }, [z]), X = c(() => {
68
+ s(w ? `/dashboards/${w}/parsers/new` : "/parsers/new");
69
+ }, [s, w]), Z = c((e) => {
70
+ s(w ? `/dashboards/${w}/parsers/${e}` : `/parsers/${e}`);
71
+ }, [s, w]), Ae = c((e) => {
72
+ s(w ? `/dashboards/${w}/parsers/${e}/edit` : `/parsers/${e}/edit`);
73
+ }, [s, w]), je = c(async (e) => {
74
+ let t = await ee({
75
+ title: T("bigconsole.parsers.confirmDelete.title", "Delete parser?"),
76
+ message: T("bigconsole.parsers.confirmDelete.message", "Are you sure you want to delete this parser?"),
77
+ okButtonTitle: T("bigconsole.parsers.actions.delete", "Delete"),
78
+ cancelButtonTitle: T("bigconsole.parsers.actions.cancel", "Cancel")
75
79
  });
76
- if (t === null ? window.confirm("Are you sure you want to delete this parser?") : t) {
77
- ee("medium"), B(!0), H(e);
80
+ if (t === null ? window.confirm(T("bigconsole.parsers.confirmDelete.message", "Are you sure you want to delete this parser?")) : t) {
81
+ te("medium"), B(!0), V(e);
78
82
  try {
79
- await q(e), i() && o("success");
83
+ await K(e), a() && o("success");
80
84
  } catch {
81
- i() && o("error");
85
+ a() && o("error");
82
86
  } finally {
83
- B(!1), H(null);
87
+ B(!1), V(null);
84
88
  }
85
89
  }
86
- }, [q]), Q = c(() => {
87
- I(null), L(null), R("");
90
+ }, [K, T]), Q = c(() => {
91
+ L(null), R(null), z("");
88
92
  }, [
89
- I,
90
93
  L,
91
- R
92
- ]), be = c(async (e) => {
93
- let t = K.find((t) => t.id === e);
94
- t && await Y(e, t.name);
95
- }, [K, Y]), xe = c(() => {
96
- U(!0);
97
- }, []), Se = c((e, t, n) => {
98
- J();
99
- }, [J]), $ = N !== null || P !== null || (F?.length ?? 0) > 0;
100
- return G ? /* @__PURE__ */ k("div", {
94
+ R,
95
+ z
96
+ ]), Me = c(async (e) => {
97
+ let t = G.find((t) => t.id === e);
98
+ t && await J(e, t.name);
99
+ }, [G, J]), Ne = c(() => {
100
+ H(!0);
101
+ }, []), Pe = c((e, t, n) => {
102
+ q();
103
+ }, [q]), $ = P !== null || F !== null || (I?.length ?? 0) > 0;
104
+ return W ? /* @__PURE__ */ S("div", {
101
105
  style: { padding: "var(--space-pagePadding)" },
102
- children: /* @__PURE__ */ k(v, {
106
+ children: /* @__PURE__ */ S(he, {
103
107
  style: {
104
108
  borderColor: "var(--color-status-error-border)",
105
109
  backgroundColor: "var(--color-status-error-bgSubtle)"
106
110
  },
107
- children: /* @__PURE__ */ k(y, {
111
+ children: /* @__PURE__ */ S(ge, {
108
112
  style: { padding: "var(--space-pagePadding)" },
109
- children: /* @__PURE__ */ A("div", {
113
+ children: /* @__PURE__ */ C("div", {
110
114
  style: {
111
115
  display: "flex",
112
116
  flexDirection: "column",
@@ -114,68 +118,71 @@ var le = [
114
118
  textAlign: "center"
115
119
  },
116
120
  children: [
117
- /* @__PURE__ */ k("div", {
121
+ /* @__PURE__ */ S("div", {
118
122
  style: {
119
123
  padding: "var(--space-controlGap)",
120
124
  borderRadius: "50%",
121
125
  backgroundColor: "var(--color-status-error-bgSubtle)",
122
126
  marginBottom: "var(--space-formGap)"
123
127
  },
124
- children: /* @__PURE__ */ k(f, { style: {
128
+ children: /* @__PURE__ */ S(ce, { style: {
125
129
  height: "var(--size-icon-xl)",
126
130
  width: "var(--size-icon-xl)",
127
131
  color: "var(--color-status-error-text)"
128
132
  } })
129
133
  }),
130
- /* @__PURE__ */ k("h3", {
134
+ /* @__PURE__ */ S("h3", {
131
135
  style: {
132
136
  fontSize: "var(--font-size-body-lg)",
133
137
  fontWeight: "var(--font-weight-medium)",
134
138
  color: "var(--color-status-error-text)",
135
139
  marginBottom: "var(--space-controlGap)"
136
140
  },
137
- children: "Failed to load Parsers"
141
+ children: T("bigconsole.parsers.errors.loadFailed", "Failed to load Parsers")
138
142
  }),
139
- /* @__PURE__ */ k("p", {
143
+ /* @__PURE__ */ S("p", {
140
144
  style: {
141
145
  fontSize: "var(--font-size-body-sm)",
142
146
  color: "var(--color-text-secondary)",
143
147
  marginBottom: "var(--space-formGap)"
144
148
  },
145
- children: G.message
149
+ children: W.message
146
150
  }),
147
- /* @__PURE__ */ k(g, {
151
+ /* @__PURE__ */ S(m, {
148
152
  size: "sm",
149
- onClick: () => J(),
150
- children: "Try Again"
153
+ onClick: () => q(),
154
+ children: T("bigconsole.parsers.actions.tryAgain", "Try Again")
151
155
  })
152
156
  ]
153
157
  })
154
158
  })
155
159
  })
156
- }) : /* @__PURE__ */ A("div", {
160
+ }) : !k && !A ? /* @__PURE__ */ S(ae, {
161
+ title: T("bigconsole.parsers.accessDenied.title", "Access Denied"),
162
+ description: T("bigconsole.parsers.accessDenied.list", "You don't have permission to view parsers.")
163
+ }) : /* @__PURE__ */ C("div", {
157
164
  style: {
158
165
  minHeight: "100vh",
159
166
  backgroundColor: "var(--color-bg-canvas)"
160
167
  },
161
168
  children: [
162
- /* @__PURE__ */ A("div", {
169
+ /* @__PURE__ */ C("div", {
163
170
  className: "relative overflow-hidden border-b border-border-seam bg-gloss-card",
164
- children: [/* @__PURE__ */ k(oe, { intensity: "subtle" }), /* @__PURE__ */ k("div", {
171
+ children: [/* @__PURE__ */ S(fe, { intensity: "subtle" }), /* @__PURE__ */ S("div", {
165
172
  style: { padding: "var(--space-pagePadding)" },
166
- children: /* @__PURE__ */ A("div", {
173
+ children: /* @__PURE__ */ C("div", {
167
174
  style: {
168
175
  display: "flex",
169
176
  alignItems: "center",
170
177
  justifyContent: "space-between"
171
178
  },
172
- children: [/* @__PURE__ */ A("div", {
179
+ children: [/* @__PURE__ */ C("div", {
173
180
  style: {
174
181
  display: "flex",
175
182
  alignItems: "center",
176
183
  gap: "var(--space-formGap)"
177
184
  },
178
- children: [/* @__PURE__ */ k("div", {
185
+ children: [/* @__PURE__ */ S("div", {
179
186
  style: {
180
187
  display: "flex",
181
188
  height: "var(--size-controlHeight-lg)",
@@ -185,57 +192,57 @@ var le = [
185
192
  borderRadius: "var(--radius-card)",
186
193
  backgroundColor: "var(--color-action-primary-bg)"
187
194
  },
188
- children: /* @__PURE__ */ k(p, { style: {
195
+ children: /* @__PURE__ */ S(le, { style: {
189
196
  height: "var(--size-icon-lg)",
190
197
  width: "var(--size-icon-lg)",
191
198
  color: "var(--color-action-primary-text)"
192
199
  } })
193
- }), /* @__PURE__ */ A("div", { children: [/* @__PURE__ */ k("h1", {
200
+ }), /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("h1", {
194
201
  style: {
195
202
  fontSize: "var(--font-size-heading-h4)",
196
203
  fontWeight: "var(--font-weight-bold)",
197
204
  margin: 0,
198
205
  color: "var(--color-text-primary)"
199
206
  },
200
- children: /* @__PURE__ */ k(x, { children: "Data Parsers" })
201
- }), /* @__PURE__ */ k("p", {
207
+ children: /* @__PURE__ */ S(_e, { children: T("bigconsole.parsers.list.title", "Data Parsers") })
208
+ }), /* @__PURE__ */ S("p", {
202
209
  style: {
203
210
  fontSize: "var(--font-size-body-sm)",
204
211
  color: "var(--color-text-secondary)",
205
212
  margin: 0
206
213
  },
207
- children: "Transform and process data with JQ or JSONata expressions"
214
+ children: T("bigconsole.parsers.list.subtitle", "Transform and process data with JQ or JSONata expressions")
208
215
  })] })]
209
- }), /* @__PURE__ */ k(_, {
210
- primary: {
211
- label: "Create Parser",
212
- onSelect: Z,
213
- icon: /* @__PURE__ */ k(m, { style: {
216
+ }), /* @__PURE__ */ S(me, {
217
+ primary: j ? {
218
+ label: T("bigconsole.parsers.actions.create", "Create Parser"),
219
+ onSelect: X,
220
+ icon: /* @__PURE__ */ S(d, { style: {
214
221
  marginRight: "var(--space-iconGap)",
215
222
  height: "var(--size-icon-sm)",
216
223
  width: "var(--size-icon-sm)"
217
224
  } })
218
- },
219
- actions: [{
220
- label: "Import",
221
- onSelect: xe,
222
- icon: /* @__PURE__ */ k(ie, { style: {
225
+ } : void 0,
226
+ actions: j ? [{
227
+ label: T("bigconsole.parsers.actions.import", "Import"),
228
+ onSelect: Ne,
229
+ icon: /* @__PURE__ */ S(de, { style: {
223
230
  height: "var(--size-icon-sm)",
224
231
  width: "var(--size-icon-sm)"
225
232
  } })
226
- }]
233
+ }] : []
227
234
  })]
228
235
  })
229
236
  })]
230
237
  }),
231
- /* @__PURE__ */ A("div", {
238
+ /* @__PURE__ */ C("div", {
232
239
  style: { padding: "var(--space-pagePadding)" },
233
240
  children: [
234
- /* @__PURE__ */ k(se, {
241
+ /* @__PURE__ */ S(ye, {
235
242
  className: "mb-[var(--space-sectionGap)]",
236
- children: "Parsers define how raw input — log lines, CSVs, JSON, or arbitrary text — is read and mapped into structured fields. Build a parser once, test it against a sample, then reuse it across pipelines so every source lands in a consistent, queryable shape."
243
+ children: T("bigconsole.parsers.list.purpose", "Parsers define how raw input — log lines, CSVs, JSON, or arbitrary text — is read and mapped into structured fields. Build a parser once, test it against a sample, then reuse it across pipelines so every source lands in a consistent, queryable shape.")
237
244
  }),
238
- /* @__PURE__ */ A("div", {
245
+ /* @__PURE__ */ C("div", {
239
246
  style: {
240
247
  display: "flex",
241
248
  alignItems: "center",
@@ -244,13 +251,13 @@ var le = [
244
251
  flexWrap: "wrap"
245
252
  },
246
253
  children: [
247
- /* @__PURE__ */ A("div", {
254
+ /* @__PURE__ */ C("div", {
248
255
  style: {
249
256
  position: "relative",
250
257
  maxWidth: "400px",
251
258
  flex: 1
252
259
  },
253
- children: [/* @__PURE__ */ k(re, { style: {
260
+ children: [/* @__PURE__ */ S(ue, { style: {
254
261
  position: "absolute",
255
262
  left: "var(--space-controlGap)",
256
263
  top: "50%",
@@ -258,141 +265,141 @@ var le = [
258
265
  height: "var(--size-icon-sm)",
259
266
  width: "var(--size-icon-sm)",
260
267
  color: "var(--color-text-muted)"
261
- } }), /* @__PURE__ */ k(C, {
268
+ } }), /* @__PURE__ */ S(ve, {
262
269
  type: "text",
263
- placeholder: "Search parsers...",
264
- value: F || "",
265
- onChange: ge,
270
+ placeholder: T("bigconsole.parsers.list.searchPlaceholder", "Search parsers..."),
271
+ value: I || "",
272
+ onChange: ke,
266
273
  style: {
267
274
  paddingLeft: "var(--size-controlHeight-md)",
268
275
  height: "var(--size-controlHeight-md)"
269
276
  }
270
277
  })]
271
278
  }),
272
- /* @__PURE__ */ A(w, {
273
- value: N || "all",
274
- onValueChange: me,
275
- children: [/* @__PURE__ */ k(D, {
279
+ /* @__PURE__ */ C(_, {
280
+ value: P || "all",
281
+ onValueChange: De,
282
+ children: [/* @__PURE__ */ S(b, {
276
283
  style: { width: "150px" },
277
- children: /* @__PURE__ */ k(O, { placeholder: "All Types" })
278
- }), /* @__PURE__ */ k(T, { children: le.map((e) => /* @__PURE__ */ k(E, {
284
+ children: /* @__PURE__ */ S(x, { placeholder: T("bigconsole.parsers.filters.allTypes", "All Types") })
285
+ }), /* @__PURE__ */ S(v, { children: E.map((e) => /* @__PURE__ */ S(y, {
279
286
  value: e.value,
280
287
  children: e.label
281
288
  }, e.value)) })]
282
289
  }),
283
- /* @__PURE__ */ A(w, {
284
- value: P || "all",
285
- onValueChange: he,
286
- children: [/* @__PURE__ */ k(D, {
290
+ /* @__PURE__ */ C(_, {
291
+ value: F || "all",
292
+ onValueChange: Oe,
293
+ children: [/* @__PURE__ */ S(b, {
287
294
  style: { width: "150px" },
288
- children: /* @__PURE__ */ k(O, { placeholder: "All Status" })
289
- }), /* @__PURE__ */ k(T, { children: ue.map((e) => /* @__PURE__ */ k(E, {
295
+ children: /* @__PURE__ */ S(x, { placeholder: T("bigconsole.parsers.filters.allStatus", "All Status") })
296
+ }), /* @__PURE__ */ S(v, { children: D.map((e) => /* @__PURE__ */ S(y, {
290
297
  value: e.value,
291
298
  children: e.label
292
299
  }, e.value)) })]
293
300
  }),
294
- $ && /* @__PURE__ */ A(g, {
301
+ $ && /* @__PURE__ */ C(m, {
295
302
  variant: "ghost",
296
303
  size: "sm",
297
304
  onClick: Q,
298
- children: [/* @__PURE__ */ k(ae, { style: {
305
+ children: [/* @__PURE__ */ S(f, { style: {
299
306
  marginRight: "var(--space-iconGap)",
300
307
  height: "var(--size-icon-sm)",
301
308
  width: "var(--size-icon-sm)"
302
- } }), "Clear Filters"]
309
+ } }), T("bigconsole.parsers.filters.clear", "Clear Filters")]
303
310
  }),
304
- /* @__PURE__ */ A(h, {
311
+ /* @__PURE__ */ S(pe, {
305
312
  variant: "secondary",
306
313
  style: { marginLeft: "auto" },
307
- children: [
308
- X.length,
309
- " ",
310
- X.length === 1 ? "Parser" : "Parsers"
311
- ]
314
+ children: Y.length === 1 ? T("bigconsole.parsers.list.countSingular", "{{count}} Parser", { count: Y.length }) : T("bigconsole.parsers.list.countPlural", "{{count}} Parsers", { count: Y.length })
312
315
  })
313
316
  ]
314
317
  }),
315
- W && /* @__PURE__ */ k("div", {
318
+ U && /* @__PURE__ */ S("div", {
316
319
  style: {
317
320
  display: "flex",
318
321
  alignItems: "center",
319
322
  justifyContent: "center",
320
323
  padding: "80px 0"
321
324
  },
322
- children: /* @__PURE__ */ A("div", {
325
+ children: /* @__PURE__ */ C("div", {
323
326
  style: { textAlign: "center" },
324
- children: [/* @__PURE__ */ k(ce, { style: {
327
+ children: [/* @__PURE__ */ S(be, { style: {
325
328
  height: "var(--size-icon-xl)",
326
329
  width: "var(--size-icon-xl)",
327
330
  margin: "0 auto var(--space-formGap)"
328
- } }), /* @__PURE__ */ k("p", {
331
+ } }), /* @__PURE__ */ S("p", {
329
332
  style: {
330
333
  fontSize: "var(--font-size-body-sm)",
331
334
  color: "var(--color-text-muted)"
332
335
  },
333
- children: "Loading parsers..."
336
+ children: T("bigconsole.parsers.list.loading", "Loading parsers...")
334
337
  })]
335
338
  })
336
339
  }),
337
- !W && X.length === 0 && !$ && /* @__PURE__ */ k(b, {
340
+ !U && Y.length === 0 && !$ && /* @__PURE__ */ S(h, {
338
341
  treatment: "insight",
339
342
  className: "border-border-seam",
340
- children: /* @__PURE__ */ k(S, {
343
+ children: /* @__PURE__ */ S(g, {
341
344
  illustration: "empty-data",
342
- title: "No Parsers yet",
343
- description: "Create your first parser to start transforming data with JQ or JSONata.",
344
- action: /* @__PURE__ */ A(g, {
345
- onClick: Z,
346
- children: [/* @__PURE__ */ k(m, { style: {
347
- marginRight: "var(--space-iconGap)",
348
- height: "var(--size-icon-sm)",
349
- width: "var(--size-icon-sm)"
350
- } }), "Create Parser"]
345
+ title: T("bigconsole.parsers.list.emptyTitle", "No Parsers yet"),
346
+ description: T("bigconsole.parsers.list.emptyDescription", "Create your first parser to start transforming data with JQ or JSONata."),
347
+ action: /* @__PURE__ */ S(oe, {
348
+ permission: i.PARSER_CREATE,
349
+ deniedBehavior: "disable",
350
+ children: /* @__PURE__ */ C(m, {
351
+ onClick: X,
352
+ children: [/* @__PURE__ */ S(d, { style: {
353
+ marginRight: "var(--space-iconGap)",
354
+ height: "var(--size-icon-sm)",
355
+ width: "var(--size-icon-sm)"
356
+ } }), T("bigconsole.parsers.actions.create", "Create Parser")]
357
+ })
351
358
  })
352
359
  })
353
360
  }),
354
- !W && X.length === 0 && $ && /* @__PURE__ */ k(b, {
361
+ !U && Y.length === 0 && $ && /* @__PURE__ */ S(h, {
355
362
  treatment: "insight",
356
363
  className: "border-border-seam",
357
- children: /* @__PURE__ */ k(S, {
364
+ children: /* @__PURE__ */ S(g, {
358
365
  illustration: "empty-search",
359
- title: "No matching parsers",
360
- description: "No parsers match your filters",
361
- action: /* @__PURE__ */ k(g, {
366
+ title: T("bigconsole.parsers.list.noMatchTitle", "No matching parsers"),
367
+ description: T("bigconsole.parsers.list.noMatchDescription", "No parsers match your filters"),
368
+ action: /* @__PURE__ */ S(m, {
362
369
  variant: "ghost",
363
370
  size: "sm",
364
371
  onClick: Q,
365
- children: "Clear Filters"
372
+ children: T("bigconsole.parsers.filters.clear", "Clear Filters")
366
373
  })
367
374
  })
368
375
  }),
369
- !W && X.length > 0 && /* @__PURE__ */ k("div", {
376
+ !U && Y.length > 0 && /* @__PURE__ */ S("div", {
370
377
  style: {
371
378
  display: "grid",
372
379
  gridTemplateColumns: "repeat(auto-fill, minmax(320px, 1fr))",
373
380
  gap: "var(--space-formGap)"
374
381
  },
375
- children: X.map((e) => /* @__PURE__ */ k(te, {
382
+ children: Y.map((e) => /* @__PURE__ */ S(ne, {
376
383
  parser: e,
377
- onView: _e,
378
- onEdit: ve,
379
- onExport: be,
380
- onDelete: ye,
381
- isDeleting: z && V === e.id
384
+ onView: Z,
385
+ onEdit: M ? Ae : void 0,
386
+ onExport: Me,
387
+ onDelete: Se ? je : void 0,
388
+ isDeleting: Ce && we === e.id
382
389
  }, e.id))
383
390
  })
384
391
  ]
385
392
  }),
386
- /* @__PURE__ */ k(ne, {
387
- isOpen: fe,
388
- onClose: () => U(!1),
389
- consoleId: M,
390
- onSuccess: Se
393
+ /* @__PURE__ */ S(re, {
394
+ isOpen: Te,
395
+ onClose: () => H(!1),
396
+ consoleId: N,
397
+ onSuccess: Pe
391
398
  })
392
399
  ]
393
400
  });
394
401
  });
395
402
  //#endregion
396
- export { j as DataParsersPage, j as default };
403
+ export { w as DataParsersPage, w as default };
397
404
 
398
405
  //# sourceMappingURL=DataParsersPage.js.map