@burdenoff/microfe-bigconsole 2026.805.3 → 2026.812.2

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 (247) hide show
  1. package/dist/bigconsole/components/DrilldownDashboardRenderer.js +118 -106
  2. package/dist/bigconsole/components/DrilldownDashboardRenderer.js.map +1 -1
  3. package/dist/bigconsole/components/DrilldownModal.js +54 -50
  4. package/dist/bigconsole/components/DrilldownModal.js.map +1 -1
  5. package/dist/bigconsole/components/builder/BuilderCanvas.js +2 -2
  6. package/dist/bigconsole/components/builder/BuilderCanvas.js.map +1 -1
  7. package/dist/bigconsole/components/builder/BuilderTopbar.js +3 -3
  8. package/dist/bigconsole/components/builder/BuilderTopbar.js.map +1 -1
  9. package/dist/bigconsole/components/builder/inspector/AdvancedSection.js +24 -25
  10. package/dist/bigconsole/components/builder/inspector/AdvancedSection.js.map +1 -1
  11. package/dist/bigconsole/components/builder/inspector/AppearanceSection.js +40 -29
  12. package/dist/bigconsole/components/builder/inspector/AppearanceSection.js.map +1 -1
  13. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +135 -97
  14. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js.map +1 -1
  15. package/dist/bigconsole/components/builder/inspector/GeneralSection.js +58 -44
  16. package/dist/bigconsole/components/builder/inspector/GeneralSection.js.map +1 -1
  17. package/dist/bigconsole/components/common/Section.js +70 -0
  18. package/dist/bigconsole/components/common/Section.js.map +1 -0
  19. package/dist/bigconsole/components/common/index.js +2 -0
  20. package/dist/bigconsole/components/common/sectionStyles.js +42 -0
  21. package/dist/bigconsole/components/common/sectionStyles.js.map +1 -0
  22. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +209 -193
  23. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +1 -1
  24. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +213 -231
  25. package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +1 -1
  26. package/dist/bigconsole/components/dashboard/DashboardGrid.js +12 -18
  27. package/dist/bigconsole/components/dashboard/DashboardGrid.js.map +1 -1
  28. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +109 -102
  29. package/dist/bigconsole/components/dashboard/DashboardToolbar.js.map +1 -1
  30. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +81 -70
  31. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js.map +1 -1
  32. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js +125 -159
  33. package/dist/bigconsole/components/dashboard/ExportDashboardDialog.js.map +1 -1
  34. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +25 -23
  35. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js.map +1 -1
  36. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +3 -3
  37. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js.map +1 -1
  38. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +5 -3
  39. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js.map +1 -1
  40. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +170 -284
  41. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js.map +1 -1
  42. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +147 -151
  43. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +1 -1
  44. package/dist/bigconsole/components/dashboard/LiveBoardBanner.js +45 -53
  45. package/dist/bigconsole/components/dashboard/LiveBoardBanner.js.map +1 -1
  46. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js +157 -148
  47. package/dist/bigconsole/components/dashboard/PageTabsManager/PageTabsManager.js.map +1 -1
  48. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +17 -8
  49. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js.map +1 -1
  50. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +101 -95
  51. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js.map +1 -1
  52. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js +20 -18
  53. package/dist/bigconsole/components/dashboard/StoreTemplatePicker.js.map +1 -1
  54. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js +26 -58
  55. package/dist/bigconsole/components/dashboard/TemplateSetupBanner.js.map +1 -1
  56. package/dist/bigconsole/components/dashboard/WidgetPalette.js +307 -231
  57. package/dist/bigconsole/components/dashboard/WidgetPalette.js.map +1 -1
  58. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +29 -29
  59. package/dist/bigconsole/components/datasink/CacheTTLSelector.js.map +1 -1
  60. package/dist/bigconsole/components/datasink/DataSinkCard.js +78 -79
  61. package/dist/bigconsole/components/datasink/DataSinkCard.js.map +1 -1
  62. package/dist/bigconsole/components/datasink/DataSinkDataViewer.js +33 -34
  63. package/dist/bigconsole/components/datasink/DataSinkDataViewer.js.map +1 -1
  64. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +79 -56
  65. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js.map +1 -1
  66. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +75 -65
  67. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js.map +1 -1
  68. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js +1 -1
  69. package/dist/bigconsole/components/datasink/DataSinkStatusBadge.js.map +1 -1
  70. package/dist/bigconsole/components/datasink/DataSinkTableViewer.js +20 -19
  71. package/dist/bigconsole/components/datasink/DataSinkTableViewer.js.map +1 -1
  72. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js +127 -171
  73. package/dist/bigconsole/components/datasink/ExportDataSinkDialog.js.map +1 -1
  74. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +263 -243
  75. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js.map +1 -1
  76. package/dist/bigconsole/components/datasink/LinkedParsersPanel.js +65 -66
  77. package/dist/bigconsole/components/datasink/LinkedParsersPanel.js.map +1 -1
  78. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js +121 -127
  79. package/dist/bigconsole/components/datasink/LinkedWorkflowsPanel.js.map +1 -1
  80. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +33 -26
  81. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js.map +1 -1
  82. package/dist/bigconsole/components/datasink/SetupStateBadge.js +3 -3
  83. package/dist/bigconsole/components/datasink/SetupStateBadge.js.map +1 -1
  84. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js +95 -95
  85. package/dist/bigconsole/components/datasink/WorkflowStatusPanel.js.map +1 -1
  86. package/dist/bigconsole/components/parser/DataSinkSelector.js +154 -123
  87. package/dist/bigconsole/components/parser/DataSinkSelector.js.map +1 -1
  88. package/dist/bigconsole/components/parser/ExpressionEditor.js +3 -3
  89. package/dist/bigconsole/components/parser/ExpressionEditor.js.map +1 -1
  90. package/dist/bigconsole/components/parser/ImportParserDialog.js +235 -275
  91. package/dist/bigconsole/components/parser/ImportParserDialog.js.map +1 -1
  92. package/dist/bigconsole/components/parser/ParserCard.js +133 -114
  93. package/dist/bigconsole/components/parser/ParserCard.js.map +1 -1
  94. package/dist/bigconsole/components/parser/ParserSelector.js +191 -174
  95. package/dist/bigconsole/components/parser/ParserSelector.js.map +1 -1
  96. package/dist/bigconsole/components/parser/ParserStatusBadge.js +2 -2
  97. package/dist/bigconsole/components/parser/ParserStatusBadge.js.map +1 -1
  98. package/dist/bigconsole/components/parser/ParserTypeBadge.js +4 -4
  99. package/dist/bigconsole/components/parser/ParserTypeBadge.js.map +1 -1
  100. package/dist/bigconsole/components/pipeline/PipelineCard.js +134 -89
  101. package/dist/bigconsole/components/pipeline/PipelineCard.js.map +1 -1
  102. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js +77 -64
  103. package/dist/bigconsole/components/pipeline/PipelineDeleteDialog.js.map +1 -1
  104. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js +7 -10
  105. package/dist/bigconsole/components/pipeline/PipelineStatusBadge.js.map +1 -1
  106. package/dist/bigconsole/components/preview/AiPreviewContent.js +31 -32
  107. package/dist/bigconsole/components/preview/AiPreviewContent.js.map +1 -1
  108. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +152 -106
  109. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js.map +1 -1
  110. package/dist/bigconsole/components/preview/AiPreviewPanel.js +193 -152
  111. package/dist/bigconsole/components/preview/AiPreviewPanel.js.map +1 -1
  112. package/dist/bigconsole/components/preview/previewShared.js +41 -23
  113. package/dist/bigconsole/components/preview/previewShared.js.map +1 -1
  114. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +342 -308
  115. package/dist/bigconsole/components/widgets/ActionConfigDialog.js.map +1 -1
  116. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +262 -238
  117. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +1 -1
  118. package/dist/bigconsole/components/widgets/PropertiesPanel.js +783 -867
  119. package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +1 -1
  120. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js +7 -5
  121. package/dist/bigconsole/components/widgets/WidgetErrorBoundary.js.map +1 -1
  122. package/dist/bigconsole/components/widgets/WidgetHeader.js +7 -8
  123. package/dist/bigconsole/components/widgets/WidgetHeader.js.map +1 -1
  124. package/dist/bigconsole/components/widgets/WidgetRegistry.js +4 -4
  125. package/dist/bigconsole/components/widgets/WidgetRegistry.js.map +1 -1
  126. package/dist/bigconsole/components/widgets/WidgetWrapper.js +8 -7
  127. package/dist/bigconsole/components/widgets/WidgetWrapper.js.map +1 -1
  128. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js +1 -1
  129. package/dist/bigconsole/components/widgets/adaptive-card/AdaptiveCardWidget.js.map +1 -1
  130. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +2 -2
  131. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js.map +1 -1
  132. package/dist/bigconsole/components/widgets/chart/ChartConfig.js +11 -5
  133. package/dist/bigconsole/components/widgets/chart/ChartConfig.js.map +1 -1
  134. package/dist/bigconsole/components/widgets/comments/WidgetComments.js +19 -15
  135. package/dist/bigconsole/components/widgets/comments/WidgetComments.js.map +1 -1
  136. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +154 -102
  137. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js.map +1 -1
  138. package/dist/bigconsole/components/widgets/gauge/CircularGauge.js +36 -32
  139. package/dist/bigconsole/components/widgets/gauge/CircularGauge.js.map +1 -1
  140. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +85 -60
  141. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js.map +1 -1
  142. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js +64 -35
  143. package/dist/bigconsole/components/widgets/gauge/GaugeWidget.js.map +1 -1
  144. package/dist/bigconsole/components/widgets/gauge/LinearGauge.js +46 -45
  145. package/dist/bigconsole/components/widgets/gauge/LinearGauge.js.map +1 -1
  146. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +35 -24
  147. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js.map +1 -1
  148. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js +2 -2
  149. package/dist/bigconsole/components/widgets/iframe-widget/IframeWidget.js.map +1 -1
  150. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +4 -4
  151. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js.map +1 -1
  152. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js +153 -90
  153. package/dist/bigconsole/components/widgets/kpi-comparison/KPIComparisonWidget.js.map +1 -1
  154. package/dist/bigconsole/components/widgets/list/ListConfig.js +8 -2
  155. package/dist/bigconsole/components/widgets/list/ListConfig.js.map +1 -1
  156. package/dist/bigconsole/components/widgets/list/ListItem.js +1 -1
  157. package/dist/bigconsole/components/widgets/list/ListItem.js.map +1 -1
  158. package/dist/bigconsole/components/widgets/map-widget/MapWidget.js +1 -1
  159. package/dist/bigconsole/components/widgets/map-widget/MapWidget.js.map +1 -1
  160. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +14 -4
  161. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js.map +1 -1
  162. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js +112 -89
  163. package/dist/bigconsole/components/widgets/metric-card/MetricCardWidget.js.map +1 -1
  164. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +21 -13
  165. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js.map +1 -1
  166. package/dist/bigconsole/components/widgets/metric-card/index.js +4 -4
  167. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +3 -3
  168. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js.map +1 -1
  169. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +34 -25
  170. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js.map +1 -1
  171. package/dist/bigconsole/components/widgets/progress/ProgressWidget.js +129 -114
  172. package/dist/bigconsole/components/widgets/progress/ProgressWidget.js.map +1 -1
  173. package/dist/bigconsole/components/widgets/retention/RetentionWidget.js +3 -3
  174. package/dist/bigconsole/components/widgets/retention/RetentionWidget.js.map +1 -1
  175. package/dist/bigconsole/components/widgets/states/EmptyState.js +6 -4
  176. package/dist/bigconsole/components/widgets/states/EmptyState.js.map +1 -1
  177. package/dist/bigconsole/components/widgets/states/ErrorState.js +7 -5
  178. package/dist/bigconsole/components/widgets/states/ErrorState.js.map +1 -1
  179. package/dist/bigconsole/components/widgets/states/LoadingState.js +5 -4
  180. package/dist/bigconsole/components/widgets/states/LoadingState.js.map +1 -1
  181. package/dist/bigconsole/components/widgets/table/TableConfig.js +10 -4
  182. package/dist/bigconsole/components/widgets/table/TableConfig.js.map +1 -1
  183. package/dist/bigconsole/components/widgets/table/TableHeader.js +1 -1
  184. package/dist/bigconsole/components/widgets/table/TableHeader.js.map +1 -1
  185. package/dist/bigconsole/components/widgets/table/TableWidget.js +1 -1
  186. package/dist/bigconsole/components/widgets/table/TableWidget.js.map +1 -1
  187. package/dist/bigconsole/components/widgets/text-widget/TextWidget.js +1 -1
  188. package/dist/bigconsole/components/widgets/text-widget/TextWidget.js.map +1 -1
  189. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js +3 -3
  190. package/dist/bigconsole/components/widgets/timeline/TimelineWidget.js.map +1 -1
  191. package/dist/bigconsole/components/widgets/utils/conditionalFormat.js +2 -2
  192. package/dist/bigconsole/components/widgets/utils/conditionalFormat.js.map +1 -1
  193. package/dist/bigconsole/components/widgets/utils/targetProgress.js +13 -0
  194. package/dist/bigconsole/components/widgets/utils/targetProgress.js.map +1 -0
  195. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +112 -85
  196. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js.map +1 -1
  197. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js +28 -20
  198. package/dist/bigconsole/components/widgets/widget-actions/WidgetActions.js.map +1 -1
  199. package/dist/bigconsole/components/workflow/WorkflowCard.js +92 -77
  200. package/dist/bigconsole/components/workflow/WorkflowCard.js.map +1 -1
  201. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js +70 -51
  202. package/dist/bigconsole/components/workflow/WorkflowDeleteDialog.js.map +1 -1
  203. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js +16 -17
  204. package/dist/bigconsole/components/workflow/WorkflowStatusBadge.js.map +1 -1
  205. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +6 -4
  206. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js.map +1 -1
  207. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +360 -338
  208. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +1 -1
  209. package/dist/bigconsole/hooks/useModalFocusTrap.js +53 -0
  210. package/dist/bigconsole/hooks/useModalFocusTrap.js.map +1 -0
  211. package/dist/bigconsole/pages/DashboardBuilderPage.js +209 -203
  212. package/dist/bigconsole/pages/DashboardBuilderPage.js.map +1 -1
  213. package/dist/bigconsole/pages/DashboardViewPage.js +126 -120
  214. package/dist/bigconsole/pages/DashboardViewPage.js.map +1 -1
  215. package/dist/bigconsole/pages/DashboardsPage.js +838 -800
  216. package/dist/bigconsole/pages/DashboardsPage.js.map +1 -1
  217. package/dist/bigconsole/pages/DataParsersPage.js +263 -315
  218. package/dist/bigconsole/pages/DataParsersPage.js.map +1 -1
  219. package/dist/bigconsole/pages/DataSinkBuilderPage.js +301 -341
  220. package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -1
  221. package/dist/bigconsole/pages/DataSinkViewPage.js +346 -339
  222. package/dist/bigconsole/pages/DataSinkViewPage.js.map +1 -1
  223. package/dist/bigconsole/pages/DataSinksPage.js +356 -458
  224. package/dist/bigconsole/pages/DataSinksPage.js.map +1 -1
  225. package/dist/bigconsole/pages/DataSourcesPage.js +7 -2
  226. package/dist/bigconsole/pages/DataSourcesPage.js.map +1 -1
  227. package/dist/bigconsole/pages/HomePage.js +186 -193
  228. package/dist/bigconsole/pages/HomePage.js.map +1 -1
  229. package/dist/bigconsole/pages/InsightsPage.js +887 -740
  230. package/dist/bigconsole/pages/InsightsPage.js.map +1 -1
  231. package/dist/bigconsole/pages/ParserBuilderPage.js +679 -637
  232. package/dist/bigconsole/pages/ParserBuilderPage.js.map +1 -1
  233. package/dist/bigconsole/pages/ParserViewPage.js +368 -342
  234. package/dist/bigconsole/pages/ParserViewPage.js.map +1 -1
  235. package/dist/bigconsole/pages/PipelineBuilderPage.js +537 -444
  236. package/dist/bigconsole/pages/PipelineBuilderPage.js.map +1 -1
  237. package/dist/bigconsole/pages/PipelineViewPage.js +412 -377
  238. package/dist/bigconsole/pages/PipelineViewPage.js.map +1 -1
  239. package/dist/bigconsole/pages/PipelinesPage.js +248 -298
  240. package/dist/bigconsole/pages/PipelinesPage.js.map +1 -1
  241. package/dist/bigconsole/pages/WidgetDemoPage.js +251 -153
  242. package/dist/bigconsole/pages/WidgetDemoPage.js.map +1 -1
  243. package/dist/bigconsole/pages/WorkflowViewPage.js +381 -371
  244. package/dist/bigconsole/pages/WorkflowViewPage.js.map +1 -1
  245. package/dist/bigconsole/pages/WorkflowsPage.js +171 -286
  246. package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -1
  247. package/package.json +1 -1
@@ -1,232 +1,182 @@
1
1
  import { useParserStore as e } from "../store/parserStore.js";
2
2
  import { useAppNavigate as t } from "../contexts/NavigationContext.js";
3
3
  import "../contexts/index.js";
4
- import n from "../hooks/useParserOperations.js";
5
- import r from "../hooks/useExportParser.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";
10
- import { memo as s, useCallback as c, useMemo as l, useState as u } from "react";
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";
4
+ import { Section as n, SectionStack as r } from "../components/common/Section.js";
5
+ import "../components/common/index.js";
6
+ import i from "../hooks/useParserOperations.js";
7
+ import a from "../hooks/useExportParser.js";
8
+ import { BIGCONSOLE_PERMISSIONS as o } from "../../constants/permissions.js";
9
+ import { isNative as s, nativeConfirm as ee, nativeImpact as c, nativeNotify as l } from "../../utils/nativeBridge.js";
10
+ import te from "../components/parser/ParserCard.js";
11
+ import ne from "../components/parser/ImportParserDialog.js";
12
+ import { memo as u, useCallback as d, useMemo as f, useState as p } from "react";
13
+ import { useParams as re } from "react-router";
14
+ import { AccessDenied as ie, PermissionButton as ae } from "@burdenoff/fe-libs/shared/components";
15
+ import { usePermissions as oe } from "@burdenoff/fe-libs/shared/providers/shell";
16
+ import { AlertCircle as se, FileCode2 as ce, Plus as m, Search as le, Upload as ue, X as h } from "lucide-react";
17
+ import { useI18n as de } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
18
+ import { AuroraBackground as fe, Badge as g, Button as _, CTAOverflowMenu as pe, GradientText as me, IllustratedEmptyState as v, Input as he, PagePurpose as ge, Select as y, SelectContent as b, SelectItem as x, SelectTrigger as S, SelectValue as C, Spinner as _e } from "@burdenoff/fe-libs/ui";
19
+ import { jsx as w, jsxs as T } from "react/jsx-runtime";
18
20
  //#region src/bigconsole/pages/DataParsersPage.tsx
19
- var xe = "default", w = s(function() {
20
- let s = t(), { consoleId: w } = ie(), { t: T } = p(), E = l(() => [
21
+ var ve = "default", E = u(function() {
22
+ let u = t(), { consoleId: E } = re(), { t: D } = de(), ye = f(() => [
21
23
  {
22
24
  value: "all",
23
- label: T("bigconsole.parsers.filters.allTypes", "All Types")
25
+ label: D("bigconsole.parsers.filters.allTypes", "All Types")
24
26
  },
25
27
  {
26
28
  value: "jq",
27
- label: T("bigconsole.parsers.filters.jq", "JQ")
29
+ label: D("bigconsole.parsers.filters.jq", "JQ")
28
30
  },
29
31
  {
30
32
  value: "jsonata",
31
- label: T("bigconsole.parsers.filters.jsonata", "JSONata")
33
+ label: D("bigconsole.parsers.filters.jsonata", "JSONata")
32
34
  }
33
- ], [T]), D = l(() => [
35
+ ], [D]), be = f(() => [
34
36
  {
35
37
  value: "all",
36
- label: T("bigconsole.parsers.filters.allStatus", "All Status")
38
+ label: D("bigconsole.parsers.filters.allStatus", "All Status")
37
39
  },
38
40
  {
39
41
  value: "active",
40
- label: T("bigconsole.parsers.filters.active", "Active")
42
+ label: D("bigconsole.parsers.filters.active", "Active")
41
43
  },
42
44
  {
43
45
  value: "inactive",
44
- label: T("bigconsole.parsers.filters.inactive", "Inactive")
46
+ label: D("bigconsole.parsers.filters.inactive", "Inactive")
45
47
  }
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,
48
+ ], [D]), { hasPermission: O, isLoading: k } = oe(), A = O(o.PARSER_READ), j = O(o.PARSER_CREATE), M = O(o.PARSER_UPDATE), N = O(o.PARSER_DELETE), P = E || ve, F = e((e) => e.typeFilter), I = e((e) => e.statusFilter), L = e((e) => e.searchQuery), R = e((e) => e.setTypeFilter), z = e((e) => e.setStatusFilter), B = e((e) => e.setSearchQuery), [xe, V] = p(!1), [Se, H] = p(null), [Ce, U] = p(!1), { loading: W, error: G, parsers: K, deleteParser: q, refetch: J } = i({
49
+ consoleId: P,
48
50
  skipFetch: !1
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);
51
+ }), { downloadParser: Y } = a(), X = f(() => K ? K.filter((e) => {
52
+ if (F && e.type !== F || I && e.status !== I) return !1;
53
+ if (L) {
54
+ let t = L.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);
53
55
  if (!n && !r && !i && !a) return !1;
54
56
  }
55
57
  return !0;
56
58
  }) : [], [
57
- G,
58
- P,
59
+ K,
59
60
  F,
60
- I
61
- ]), De = c((e) => {
62
- L(e === "all" ? null : e);
63
- }, [L]), Oe = c((e) => {
61
+ I,
62
+ L
63
+ ]), we = d((e) => {
64
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) => {
65
+ }, [R]), Te = d((e) => {
66
+ z(e === "all" ? null : e);
67
+ }, [z]), Ee = d((e) => {
68
+ B(e.target.value);
69
+ }, [B]), Z = d(() => {
70
+ u(E ? `/dashboards/${E}/parsers/new` : "/parsers/new");
71
+ }, [u, E]), De = d((e) => {
72
+ u(E ? `/dashboards/${E}/parsers/${e}` : `/parsers/${e}`);
73
+ }, [u, E]), Oe = d((e) => {
74
+ u(E ? `/dashboards/${E}/parsers/${e}/edit` : `/parsers/${e}/edit`);
75
+ }, [u, E]), ke = d(async (e) => {
74
76
  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")
77
+ title: D("bigconsole.parsers.confirmDelete.title", "Delete parser?"),
78
+ message: D("bigconsole.parsers.confirmDelete.message", "Are you sure you want to delete this parser?"),
79
+ okButtonTitle: D("bigconsole.parsers.actions.delete", "Delete"),
80
+ cancelButtonTitle: D("bigconsole.parsers.actions.cancel", "Cancel")
79
81
  });
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);
82
+ if (t === null ? window.confirm(D("bigconsole.parsers.confirmDelete.message", "Are you sure you want to delete this parser?")) : t) {
83
+ c("medium"), V(!0), H(e);
82
84
  try {
83
- await K(e), a() && o("success");
85
+ await q(e), s() && l("success");
84
86
  } catch {
85
- a() && o("error");
87
+ s() && l("error");
86
88
  } finally {
87
- B(!1), V(null);
89
+ V(!1), H(null);
88
90
  }
89
91
  }
90
- }, [K, T]), Q = c(() => {
91
- L(null), R(null), z("");
92
+ }, [q, D]), Q = d(() => {
93
+ R(null), z(null), B("");
92
94
  }, [
93
- L,
94
95
  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", {
96
+ z,
97
+ B
98
+ ]), Ae = d(async (e) => {
99
+ let t = K.find((t) => t.id === e);
100
+ t && await Y(e, t.name);
101
+ }, [K, Y]), je = d(() => {
102
+ U(!0);
103
+ }, []), Me = d((e, t, n) => {
104
+ J();
105
+ }, [J]), $ = F !== null || I !== null || (L?.length ?? 0) > 0;
106
+ return G ? /* @__PURE__ */ w("div", {
105
107
  style: { padding: "var(--space-pagePadding)" },
106
- children: /* @__PURE__ */ S(he, {
107
- style: {
108
- borderColor: "var(--color-status-error-border)",
109
- backgroundColor: "var(--color-status-error-bgSubtle)"
110
- },
111
- children: /* @__PURE__ */ S(ge, {
112
- style: { padding: "var(--space-pagePadding)" },
113
- children: /* @__PURE__ */ C("div", {
114
- style: {
115
- display: "flex",
116
- flexDirection: "column",
117
- alignItems: "center",
118
- textAlign: "center"
119
- },
120
- children: [
121
- /* @__PURE__ */ S("div", {
122
- style: {
123
- padding: "var(--space-controlGap)",
124
- borderRadius: "50%",
125
- backgroundColor: "var(--color-status-error-bgSubtle)",
126
- marginBottom: "var(--space-formGap)"
127
- },
128
- children: /* @__PURE__ */ S(ce, { style: {
129
- height: "var(--size-icon-xl)",
130
- width: "var(--size-icon-xl)",
131
- color: "var(--color-status-error-text)"
132
- } })
133
- }),
134
- /* @__PURE__ */ S("h3", {
135
- style: {
136
- fontSize: "var(--font-size-body-lg)",
137
- fontWeight: "var(--font-weight-medium)",
138
- color: "var(--color-status-error-text)",
139
- marginBottom: "var(--space-controlGap)"
140
- },
141
- children: T("bigconsole.parsers.errors.loadFailed", "Failed to load Parsers")
142
- }),
143
- /* @__PURE__ */ S("p", {
144
- style: {
145
- fontSize: "var(--font-size-body-sm)",
146
- color: "var(--color-text-secondary)",
147
- marginBottom: "var(--space-formGap)"
148
- },
149
- children: W.message
150
- }),
151
- /* @__PURE__ */ S(m, {
152
- size: "sm",
153
- onClick: () => q(),
154
- children: T("bigconsole.parsers.actions.tryAgain", "Try Again")
155
- })
156
- ]
157
- })
108
+ children: /* @__PURE__ */ w(n, {
109
+ tone: "danger",
110
+ headingLevel: 2,
111
+ title: D("bigconsole.parsers.errors.loadFailed", "Failed to load Parsers"),
112
+ description: "The parser list could not be fetched. Retry, or check that the BigConsole service is reachable.",
113
+ icon: /* @__PURE__ */ w(se, { className: "h-icon-md w-icon-md text-[var(--color-status-error-text)]" }),
114
+ actions: /* @__PURE__ */ w(_, {
115
+ size: "sm",
116
+ onClick: () => J(),
117
+ children: D("bigconsole.parsers.actions.tryAgain", "Try Again")
118
+ }),
119
+ "data-testid": "parsers-error",
120
+ children: /* @__PURE__ */ w("p", {
121
+ className: "font-mono text-xs break-words text-text-secondary",
122
+ children: G.message
158
123
  })
159
124
  })
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", {
125
+ }) : !k && !A ? /* @__PURE__ */ w(ie, {
126
+ title: D("bigconsole.parsers.accessDenied.title", "Access Denied"),
127
+ description: D("bigconsole.parsers.accessDenied.list", "You don't have permission to view parsers.")
128
+ }) : /* @__PURE__ */ T("div", {
164
129
  style: {
165
130
  minHeight: "100vh",
166
131
  backgroundColor: "var(--color-bg-canvas)"
167
132
  },
168
133
  children: [
169
- /* @__PURE__ */ C("div", {
170
- className: "relative overflow-hidden border-b border-border-seam bg-gloss-card",
171
- children: [/* @__PURE__ */ S(fe, { intensity: "subtle" }), /* @__PURE__ */ S("div", {
134
+ /* @__PURE__ */ T("div", {
135
+ className: "relative overflow-hidden border-b border-[var(--color-border-seam)] bg-[image:var(--gradient-gloss-card)]",
136
+ children: [/* @__PURE__ */ w(fe, { intensity: "subtle" }), /* @__PURE__ */ w("div", {
137
+ className: "relative",
172
138
  style: { padding: "var(--space-pagePadding)" },
173
- children: /* @__PURE__ */ C("div", {
174
- style: {
175
- display: "flex",
176
- alignItems: "center",
177
- justifyContent: "space-between"
178
- },
179
- children: [/* @__PURE__ */ C("div", {
180
- style: {
181
- display: "flex",
182
- alignItems: "center",
183
- gap: "var(--space-formGap)"
184
- },
185
- children: [/* @__PURE__ */ S("div", {
139
+ children: /* @__PURE__ */ T("div", {
140
+ className: "flex flex-wrap items-center justify-between gap-form-gap",
141
+ children: [/* @__PURE__ */ T("div", {
142
+ className: "flex min-w-0 items-center gap-form-gap",
143
+ children: [/* @__PURE__ */ w("div", {
144
+ className: "flex shrink-0 items-center justify-center",
186
145
  style: {
187
- display: "flex",
188
146
  height: "var(--size-controlHeight-lg)",
189
147
  width: "var(--size-controlHeight-lg)",
190
- alignItems: "center",
191
- justifyContent: "center",
192
148
  borderRadius: "var(--radius-card)",
193
149
  backgroundColor: "var(--color-action-primary-bg)"
194
150
  },
195
- children: /* @__PURE__ */ S(le, { style: {
151
+ children: /* @__PURE__ */ w(ce, { style: {
196
152
  height: "var(--size-icon-lg)",
197
153
  width: "var(--size-icon-lg)",
198
154
  color: "var(--color-action-primary-text)"
199
155
  } })
200
- }), /* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("h1", {
201
- style: {
202
- fontSize: "var(--font-size-heading-h4)",
203
- fontWeight: "var(--font-weight-bold)",
204
- margin: 0,
205
- color: "var(--color-text-primary)"
206
- },
207
- children: /* @__PURE__ */ S(_e, { children: T("bigconsole.parsers.list.title", "Data Parsers") })
208
- }), /* @__PURE__ */ S("p", {
209
- style: {
210
- fontSize: "var(--font-size-body-sm)",
211
- color: "var(--color-text-secondary)",
212
- margin: 0
213
- },
214
- children: T("bigconsole.parsers.list.subtitle", "Transform and process data with JQ or JSONata expressions")
215
- })] })]
216
- }), /* @__PURE__ */ S(me, {
156
+ }), /* @__PURE__ */ T("div", {
157
+ className: "min-w-0",
158
+ children: [/* @__PURE__ */ w("h1", {
159
+ className: "m-0 text-2xl font-bold text-text-primary sm:text-3xl",
160
+ children: /* @__PURE__ */ w(me, { children: D("bigconsole.parsers.list.title", "Data Parsers") })
161
+ }), /* @__PURE__ */ w("p", {
162
+ className: "m-0 text-sm text-text-secondary",
163
+ children: D("bigconsole.parsers.list.subtitle", "Transform and process data with JQ or JSONata expressions")
164
+ })]
165
+ })]
166
+ }), /* @__PURE__ */ w(pe, {
217
167
  primary: j ? {
218
- label: T("bigconsole.parsers.actions.create", "Create Parser"),
219
- onSelect: X,
220
- icon: /* @__PURE__ */ S(d, { style: {
168
+ label: D("bigconsole.parsers.actions.create", "Create Parser"),
169
+ onSelect: Z,
170
+ icon: /* @__PURE__ */ w(m, { style: {
221
171
  marginRight: "var(--space-iconGap)",
222
172
  height: "var(--size-icon-sm)",
223
173
  width: "var(--size-icon-sm)"
224
174
  } })
225
175
  } : void 0,
226
176
  actions: j ? [{
227
- label: T("bigconsole.parsers.actions.import", "Import"),
228
- onSelect: Ne,
229
- icon: /* @__PURE__ */ S(de, { style: {
177
+ label: D("bigconsole.parsers.actions.import", "Import"),
178
+ onSelect: je,
179
+ icon: /* @__PURE__ */ w(ue, { style: {
230
180
  height: "var(--size-icon-sm)",
231
181
  width: "var(--size-icon-sm)"
232
182
  } })
@@ -235,171 +185,169 @@ var xe = "default", w = s(function() {
235
185
  })
236
186
  })]
237
187
  }),
238
- /* @__PURE__ */ C("div", {
188
+ /* @__PURE__ */ w("div", {
239
189
  style: { padding: "var(--space-pagePadding)" },
240
- children: [
241
- /* @__PURE__ */ S(ye, {
242
- className: "mb-[var(--space-sectionGap)]",
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.")
244
- }),
245
- /* @__PURE__ */ C("div", {
246
- style: {
247
- display: "flex",
248
- alignItems: "center",
249
- gap: "var(--space-controlGap)",
250
- marginBottom: "var(--space-sectionGap)",
251
- flexWrap: "wrap"
252
- },
253
- children: [
254
- /* @__PURE__ */ C("div", {
255
- style: {
256
- position: "relative",
257
- maxWidth: "400px",
258
- flex: 1
259
- },
260
- children: [/* @__PURE__ */ S(ue, { style: {
261
- position: "absolute",
262
- left: "var(--space-controlGap)",
263
- top: "50%",
264
- transform: "translateY(-50%)",
265
- height: "var(--size-icon-sm)",
266
- width: "var(--size-icon-sm)",
267
- color: "var(--color-text-muted)"
268
- } }), /* @__PURE__ */ S(ve, {
269
- type: "text",
270
- placeholder: T("bigconsole.parsers.list.searchPlaceholder", "Search parsers..."),
271
- value: I || "",
272
- onChange: ke,
273
- style: {
274
- paddingLeft: "var(--size-controlHeight-md)",
275
- height: "var(--size-controlHeight-md)"
276
- }
277
- })]
278
- }),
279
- /* @__PURE__ */ C(_, {
280
- value: P || "all",
281
- onValueChange: De,
282
- children: [/* @__PURE__ */ S(b, {
283
- style: { width: "150px" },
284
- children: /* @__PURE__ */ S(x, { placeholder: T("bigconsole.parsers.filters.allTypes", "All Types") })
285
- }), /* @__PURE__ */ S(v, { children: E.map((e) => /* @__PURE__ */ S(y, {
286
- value: e.value,
287
- children: e.label
288
- }, e.value)) })]
289
- }),
290
- /* @__PURE__ */ C(_, {
291
- value: F || "all",
292
- onValueChange: Oe,
293
- children: [/* @__PURE__ */ S(b, {
294
- style: { width: "150px" },
295
- children: /* @__PURE__ */ S(x, { placeholder: T("bigconsole.parsers.filters.allStatus", "All Status") })
296
- }), /* @__PURE__ */ S(v, { children: D.map((e) => /* @__PURE__ */ S(y, {
297
- value: e.value,
298
- children: e.label
299
- }, e.value)) })]
300
- }),
301
- $ && /* @__PURE__ */ C(m, {
302
- variant: "ghost",
303
- size: "sm",
304
- onClick: Q,
305
- children: [/* @__PURE__ */ S(f, { style: {
306
- marginRight: "var(--space-iconGap)",
307
- height: "var(--size-icon-sm)",
308
- width: "var(--size-icon-sm)"
309
- } }), T("bigconsole.parsers.filters.clear", "Clear Filters")]
310
- }),
311
- /* @__PURE__ */ S(pe, {
312
- variant: "secondary",
313
- style: { marginLeft: "auto" },
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 })
315
- })
316
- ]
190
+ children: /* @__PURE__ */ T(r, { children: [
191
+ /* @__PURE__ */ w(ge, {
192
+ className: "max-w-[80ch]",
193
+ children: D("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.")
317
194
  }),
318
- U && /* @__PURE__ */ S("div", {
319
- style: {
320
- display: "flex",
321
- alignItems: "center",
322
- justifyContent: "center",
323
- padding: "80px 0"
324
- },
325
- children: /* @__PURE__ */ C("div", {
326
- style: { textAlign: "center" },
327
- children: [/* @__PURE__ */ S(be, { style: {
328
- height: "var(--size-icon-xl)",
329
- width: "var(--size-icon-xl)",
330
- margin: "0 auto var(--space-formGap)"
331
- } }), /* @__PURE__ */ S("p", {
332
- style: {
333
- fontSize: "var(--font-size-body-sm)",
334
- color: "var(--color-text-muted)"
335
- },
336
- children: T("bigconsole.parsers.list.loading", "Loading parsers...")
337
- })]
338
- })
339
- }),
340
- !U && Y.length === 0 && !$ && /* @__PURE__ */ S(h, {
341
- treatment: "insight",
342
- className: "border-border-seam",
343
- children: /* @__PURE__ */ S(g, {
344
- illustration: "empty-data",
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: {
195
+ /* @__PURE__ */ w(n, {
196
+ emphasis: "muted",
197
+ padding: "compact",
198
+ headingLevel: 2,
199
+ title: "Find a parser",
200
+ headerClassName: "mb-control-gap",
201
+ "data-testid": "parser-filters",
202
+ children: /* @__PURE__ */ T("div", {
203
+ className: "flex flex-wrap items-center gap-control-gap",
204
+ children: [
205
+ /* @__PURE__ */ T("div", {
206
+ className: "relative w-full min-w-0 flex-1 sm:max-w-[400px]",
207
+ children: [/* @__PURE__ */ w(le, {
208
+ "aria-hidden": "true",
209
+ style: {
210
+ position: "absolute",
211
+ left: "var(--space-controlGap)",
212
+ top: "50%",
213
+ transform: "translateY(-50%)",
214
+ height: "var(--size-icon-sm)",
215
+ width: "var(--size-icon-sm)",
216
+ color: "var(--color-text-muted)"
217
+ }
218
+ }), /* @__PURE__ */ w(he, {
219
+ type: "text",
220
+ "aria-label": D("bigconsole.parsers.list.searchPlaceholder", "Search parsers..."),
221
+ placeholder: D("bigconsole.parsers.list.searchPlaceholder", "Search parsers..."),
222
+ value: L || "",
223
+ onChange: Ee,
224
+ className: "min-h-control-md",
225
+ style: {
226
+ paddingLeft: "var(--size-controlHeight-md)",
227
+ height: "var(--size-controlHeight-md)"
228
+ }
229
+ })]
230
+ }),
231
+ /* @__PURE__ */ T(y, {
232
+ value: F || "all",
233
+ onValueChange: we,
234
+ children: [/* @__PURE__ */ w(S, {
235
+ "aria-label": "Filter by parser type",
236
+ className: "min-h-control-md w-full sm:w-[150px]",
237
+ children: /* @__PURE__ */ w(C, { placeholder: D("bigconsole.parsers.filters.allTypes", "All Types") })
238
+ }), /* @__PURE__ */ w(b, { children: ye.map((e) => /* @__PURE__ */ w(x, {
239
+ value: e.value,
240
+ children: e.label
241
+ }, e.value)) })]
242
+ }),
243
+ /* @__PURE__ */ T(y, {
244
+ value: I || "all",
245
+ onValueChange: Te,
246
+ children: [/* @__PURE__ */ w(S, {
247
+ "aria-label": "Filter by status",
248
+ className: "min-h-control-md w-full sm:w-[150px]",
249
+ children: /* @__PURE__ */ w(C, { placeholder: D("bigconsole.parsers.filters.allStatus", "All Status") })
250
+ }), /* @__PURE__ */ w(b, { children: be.map((e) => /* @__PURE__ */ w(x, {
251
+ value: e.value,
252
+ children: e.label
253
+ }, e.value)) })]
254
+ }),
255
+ $ && /* @__PURE__ */ T(_, {
256
+ variant: "ghost",
257
+ size: "sm",
258
+ onClick: Q,
259
+ className: "min-h-control-md",
260
+ children: [/* @__PURE__ */ w(h, { style: {
353
261
  marginRight: "var(--space-iconGap)",
354
262
  height: "var(--size-icon-sm)",
355
263
  width: "var(--size-icon-sm)"
356
- } }), T("bigconsole.parsers.actions.create", "Create Parser")]
264
+ } }), D("bigconsole.parsers.filters.clear", "Clear Filters")]
357
265
  })
358
- })
266
+ ]
359
267
  })
360
268
  }),
361
- !U && Y.length === 0 && $ && /* @__PURE__ */ S(h, {
362
- treatment: "insight",
363
- className: "border-border-seam",
364
- children: /* @__PURE__ */ S(g, {
365
- illustration: "empty-search",
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, {
369
- variant: "ghost",
370
- size: "sm",
371
- onClick: Q,
372
- children: T("bigconsole.parsers.filters.clear", "Clear Filters")
269
+ /* @__PURE__ */ T(n, {
270
+ emphasis: "primary",
271
+ padding: "compact",
272
+ headingLevel: 2,
273
+ title: "Parsers",
274
+ description: "Open a parser to review its expression, or use the actions on a card to edit, export or delete it.",
275
+ meta: /* @__PURE__ */ w(g, {
276
+ variant: "secondary",
277
+ children: X.length === 1 ? D("bigconsole.parsers.list.countSingular", "{{count}} Parser", { count: X.length }) : D("bigconsole.parsers.list.countPlural", "{{count}} Parsers", { count: X.length })
278
+ }),
279
+ "data-testid": "parser-results",
280
+ children: [
281
+ W && /* @__PURE__ */ w("div", {
282
+ className: "flex items-center justify-center py-12 sm:py-16",
283
+ children: /* @__PURE__ */ T("div", {
284
+ className: "text-center",
285
+ children: [/* @__PURE__ */ w(_e, { style: {
286
+ height: "var(--size-icon-xl)",
287
+ width: "var(--size-icon-xl)",
288
+ margin: "0 auto var(--space-formGap)"
289
+ } }), /* @__PURE__ */ w("p", {
290
+ className: "text-sm text-text-muted",
291
+ children: D("bigconsole.parsers.list.loading", "Loading parsers...")
292
+ })]
293
+ })
294
+ }),
295
+ !W && X.length === 0 && !$ && /* @__PURE__ */ w(v, {
296
+ illustration: "empty-data",
297
+ title: D("bigconsole.parsers.list.emptyTitle", "No Parsers yet"),
298
+ description: D("bigconsole.parsers.list.emptyDescription", "Create your first parser to start transforming data with JQ or JSONata."),
299
+ action: /* @__PURE__ */ w(ae, {
300
+ permission: o.PARSER_CREATE,
301
+ deniedBehavior: "disable",
302
+ children: /* @__PURE__ */ T(_, {
303
+ onClick: Z,
304
+ children: [/* @__PURE__ */ w(m, { style: {
305
+ marginRight: "var(--space-iconGap)",
306
+ height: "var(--size-icon-sm)",
307
+ width: "var(--size-icon-sm)"
308
+ } }), D("bigconsole.parsers.actions.create", "Create Parser")]
309
+ })
310
+ })
311
+ }),
312
+ !W && X.length === 0 && $ && /* @__PURE__ */ w(v, {
313
+ illustration: "empty-search",
314
+ title: D("bigconsole.parsers.list.noMatchTitle", "No matching parsers"),
315
+ description: D("bigconsole.parsers.list.noMatchDescription", "No parsers match your filters"),
316
+ action: /* @__PURE__ */ w(_, {
317
+ variant: "ghost",
318
+ size: "sm",
319
+ onClick: Q,
320
+ children: D("bigconsole.parsers.filters.clear", "Clear Filters")
321
+ })
322
+ }),
323
+ !W && X.length > 0 && /* @__PURE__ */ w("ul", {
324
+ className: "grid list-none grid-cols-[repeat(auto-fill,minmax(min(100%,18rem),1fr))] gap-form-gap p-0",
325
+ children: X.map((e) => /* @__PURE__ */ w("li", {
326
+ className: "min-w-0",
327
+ children: /* @__PURE__ */ w(te, {
328
+ parser: e,
329
+ onView: De,
330
+ onEdit: M ? Oe : void 0,
331
+ onExport: Ae,
332
+ onDelete: N ? ke : void 0,
333
+ isDeleting: xe && Se === e.id
334
+ })
335
+ }, e.id))
373
336
  })
374
- })
375
- }),
376
- !U && Y.length > 0 && /* @__PURE__ */ S("div", {
377
- style: {
378
- display: "grid",
379
- gridTemplateColumns: "repeat(auto-fill, minmax(320px, 1fr))",
380
- gap: "var(--space-formGap)"
381
- },
382
- children: Y.map((e) => /* @__PURE__ */ S(ne, {
383
- parser: e,
384
- onView: Z,
385
- onEdit: M ? Ae : void 0,
386
- onExport: Me,
387
- onDelete: Se ? je : void 0,
388
- isDeleting: Ce && we === e.id
389
- }, e.id))
337
+ ]
390
338
  })
391
- ]
339
+ ] })
392
340
  }),
393
- /* @__PURE__ */ S(re, {
394
- isOpen: Te,
395
- onClose: () => H(!1),
396
- consoleId: N,
397
- onSuccess: Pe
341
+ /* @__PURE__ */ w(ne, {
342
+ isOpen: Ce,
343
+ onClose: () => U(!1),
344
+ consoleId: P,
345
+ onSuccess: Me
398
346
  })
399
347
  ]
400
348
  });
401
349
  });
402
350
  //#endregion
403
- export { w as DataParsersPage, w as default };
351
+ export { E as DataParsersPage, E as default };
404
352
 
405
353
  //# sourceMappingURL=DataParsersPage.js.map