@burdenoff/microfe-bigconsole 2026.1008.11 → 2026.1008.12

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 (131) hide show
  1. package/dist/bigconsole/BigConsoleRoutes.d.ts.map +1 -1
  2. package/dist/bigconsole/BigConsoleRoutes.js +136 -127
  3. package/dist/bigconsole/BigConsoleRoutes.js.map +1 -1
  4. package/dist/bigconsole/assistant/assistantProduct.d.ts.map +1 -1
  5. package/dist/bigconsole/assistant/assistantProduct.js +3 -1
  6. package/dist/bigconsole/assistant/assistantProduct.js.map +1 -1
  7. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +31 -31
  8. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +44 -44
  9. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js.map +1 -1
  10. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +36 -36
  11. package/dist/bigconsole/components/dashboard/DashboardCanvas.js.map +1 -1
  12. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +59 -59
  13. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +15 -15
  14. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +30 -30
  15. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +41 -41
  16. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +34 -34
  17. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +34 -34
  18. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +110 -110
  19. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js.map +1 -1
  20. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +21 -21
  21. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +46 -46
  22. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +91 -91
  23. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js.map +1 -1
  24. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +101 -101
  25. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js.map +1 -1
  26. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js +31 -31
  27. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js +15 -15
  28. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js +1 -1
  29. package/dist/bigconsole/components/dashboard/WidgetPalette.js +46 -46
  30. package/dist/bigconsole/components/datasink/AlertExecutionHistory.js +37 -37
  31. package/dist/bigconsole/components/datasink/AlertRuleEditor.js +66 -66
  32. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +35 -35
  33. package/dist/bigconsole/components/datasink/DataSinkCard.js +29 -29
  34. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +18 -18
  35. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +20 -20
  36. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +47 -47
  37. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +91 -91
  38. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +35 -35
  39. package/dist/bigconsole/components/parser/DataSinkSelector.js +40 -40
  40. package/dist/bigconsole/components/parser/ImportParserDialog.js +120 -120
  41. package/dist/bigconsole/components/parser/ImportParserDialog.js.map +1 -1
  42. package/dist/bigconsole/components/parser/ParserSelector.js +51 -51
  43. package/dist/bigconsole/components/pipeline/PipelineScopePicker.js +10 -10
  44. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +27 -27
  45. package/dist/bigconsole/components/preview/AiPreviewPanel.js +30 -30
  46. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +4 -4
  47. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +93 -93
  48. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js.map +1 -1
  49. package/dist/bigconsole/components/widgets/PropertiesPanel.d.ts.map +1 -1
  50. package/dist/bigconsole/components/widgets/PropertiesPanel.js +280 -273
  51. package/dist/bigconsole/components/widgets/PropertiesPanel.js.map +1 -1
  52. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +4 -4
  53. package/dist/bigconsole/components/widgets/chart/ChartConfig.js +48 -48
  54. package/dist/bigconsole/components/widgets/comments/WidgetComments.js +46 -46
  55. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +61 -61
  56. package/dist/bigconsole/components/widgets/form/FormWidget.js +36 -36
  57. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +42 -42
  58. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +25 -25
  59. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +4 -4
  60. package/dist/bigconsole/components/widgets/list/ListConfig.js +30 -30
  61. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +38 -38
  62. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +9 -9
  63. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +9 -9
  64. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +49 -49
  65. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +39 -39
  66. package/dist/bigconsole/components/widgets/table/TableConfig.js +73 -73
  67. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +64 -64
  68. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js +15 -15
  69. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js +15 -15
  70. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +9 -9
  71. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +67 -67
  72. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js.map +1 -1
  73. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts +15 -0
  74. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts.map +1 -0
  75. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js +34 -0
  76. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js.map +1 -0
  77. package/dist/bigconsole/hooks/useDrilldown.js +3 -3
  78. package/dist/bigconsole/hooks/useGlobalFilters.js +3 -3
  79. package/dist/bigconsole/pages/AdminPage.js +130 -130
  80. package/dist/bigconsole/pages/DashboardBuilderPage.d.ts.map +1 -1
  81. package/dist/bigconsole/pages/DashboardBuilderPage.js +72 -60
  82. package/dist/bigconsole/pages/DashboardBuilderPage.js.map +1 -1
  83. package/dist/bigconsole/pages/DashboardViewPage.js +1 -1
  84. package/dist/bigconsole/pages/DataSinkAlertsPage.d.ts.map +1 -1
  85. package/dist/bigconsole/pages/DataSinkAlertsPage.js +30 -23
  86. package/dist/bigconsole/pages/DataSinkAlertsPage.js.map +1 -1
  87. package/dist/bigconsole/pages/DataSinkBuilderPage.d.ts.map +1 -1
  88. package/dist/bigconsole/pages/DataSinkBuilderPage.js +272 -263
  89. package/dist/bigconsole/pages/DataSinkBuilderPage.js.map +1 -1
  90. package/dist/bigconsole/pages/DataSinkViewPage.js +1 -1
  91. package/dist/bigconsole/pages/DataSinksPage.js +1 -1
  92. package/dist/bigconsole/pages/DataSourcesPage.js +5 -5
  93. package/dist/bigconsole/pages/InsightsPage.js +181 -181
  94. package/dist/bigconsole/pages/InsightsPage.js.map +1 -1
  95. package/dist/bigconsole/pages/OverviewPage.js +47 -47
  96. package/dist/bigconsole/pages/OverviewPage.js.map +1 -1
  97. package/dist/bigconsole/pages/ParserBuilderPage.d.ts.map +1 -1
  98. package/dist/bigconsole/pages/ParserBuilderPage.js +227 -211
  99. package/dist/bigconsole/pages/ParserBuilderPage.js.map +1 -1
  100. package/dist/bigconsole/pages/ParserViewPage.js +97 -97
  101. package/dist/bigconsole/pages/PipelineBuilderPage.d.ts.map +1 -1
  102. package/dist/bigconsole/pages/PipelineBuilderPage.js +256 -214
  103. package/dist/bigconsole/pages/PipelineBuilderPage.js.map +1 -1
  104. package/dist/bigconsole/pages/PipelineViewPage.js +146 -146
  105. package/dist/bigconsole/pages/PipelinesPage.js +88 -88
  106. package/dist/bigconsole/pages/PipelinesPage.js.map +1 -1
  107. package/dist/bigconsole/pages/SettingsPage.d.ts.map +1 -1
  108. package/dist/bigconsole/pages/SettingsPage.js +179 -173
  109. package/dist/bigconsole/pages/SettingsPage.js.map +1 -1
  110. package/dist/bigconsole/pages/WidgetDemoPage.js +42 -42
  111. package/dist/bigconsole/pages/WorkflowViewPage.js +1 -1
  112. package/dist/bigconsole/pages/WorkflowsPage.js +141 -141
  113. package/dist/bigconsole/pages/WorkflowsPage.js.map +1 -1
  114. package/dist/bigconsole/providers/BigConsoleQuotaProvider.js +12 -12
  115. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +34 -34
  116. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +79 -79
  117. package/dist/bigconsole/renderers/adapters/CustomRenderer.js +46 -46
  118. package/dist/bigconsole/store/widgetStore.d.ts +12 -0
  119. package/dist/bigconsole/store/widgetStore.d.ts.map +1 -1
  120. package/dist/bigconsole/store/widgetStore.js +3 -1
  121. package/dist/bigconsole/store/widgetStore.js.map +1 -1
  122. package/dist/bigconsole/utils/formDirty.d.ts +83 -0
  123. package/dist/bigconsole/utils/formDirty.d.ts.map +1 -0
  124. package/dist/bigconsole/utils/formDirty.js +23 -0
  125. package/dist/bigconsole/utils/formDirty.js.map +1 -0
  126. package/dist/bigconsole/utils/layoutBaseline.d.ts +131 -0
  127. package/dist/bigconsole/utils/layoutBaseline.d.ts.map +1 -0
  128. package/dist/bigconsole/utils/layoutBaseline.js +98 -0
  129. package/dist/bigconsole/utils/layoutBaseline.js.map +1 -0
  130. package/dist/translations/en.d.ts.map +1 -1
  131. package/package.json +1 -1
@@ -4,8 +4,8 @@ import { WIDGET_CATEGORY_LABELS as t, getWidgetCategories as n, getWidgetKey as
4
4
  import { memo as i, useCallback as a, useMemo as o, useState as s } from "react";
5
5
  import { Activity as c, BarChart3 as l, Calendar as u, ChevronDown as d, ChevronRight as f, Columns as p, ExternalLink as m, FileText as h, Filter as g, Gauge as _, GitBranch as v, Grid3x3 as y, GripVertical as b, Layers as x, LayoutDashboard as S, List as C, MapPin as w, Puzzle as T, Search as E, Store as D, Table as O, TrendingUp as k, Type as A, X as j } from "lucide-react";
6
6
  import { Input as M } from "@burdenoff/fe-libs/ui";
7
- import { jsx as N, jsxs as P } from "react/jsx-runtime";
8
- import { useI18n as F } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
7
+ import { useI18n as N } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
8
+ import { jsx as P, jsxs as F } from "react/jsx-runtime";
9
9
  //#region src/bigconsole/components/dashboard/WidgetPalette.tsx
10
10
  var I = {
11
11
  TrendingUp: k,
@@ -305,7 +305,7 @@ var R = {
305
305
  transition: "border-color 0.15s, color 0.15s"
306
306
  }
307
307
  }, z = i(function({ isOpen: i, onClose: c, onWidgetSelect: l, onDragStart: u, onDragEnd: p, installedWidgets: h = [], installedWidgetsLoading: g = !1, definitions: _ }) {
308
- let { t: v } = F(), [y, S] = s(""), [C, w] = s(new Set([
308
+ let { t: v } = N(), [y, S] = s(""), [C, w] = s(new Set([
309
309
  "KPI",
310
310
  "Visualization",
311
311
  "Data",
@@ -370,21 +370,21 @@ var R = {
370
370
  let e = `${window.location.origin}/bigconsole/store${window.location.search}`;
371
371
  window.open(e, "_blank", "noopener,noreferrer");
372
372
  }, []);
373
- return i ? /* @__PURE__ */ P("section", {
373
+ return i ? /* @__PURE__ */ F("section", {
374
374
  "aria-label": "Widget palette",
375
375
  "data-testid": "widget-palette",
376
376
  style: R.container,
377
377
  className: "h-auto max-h-[45vh] w-full border-b border-[var(--color-border-subtle)] md:h-full md:max-h-none md:w-[300px] md:border-b-0 md:border-r",
378
378
  children: [
379
- /* @__PURE__ */ P("div", {
379
+ /* @__PURE__ */ F("div", {
380
380
  style: R.header,
381
- children: [/* @__PURE__ */ P("div", {
381
+ children: [/* @__PURE__ */ F("div", {
382
382
  style: R.headerTop,
383
- children: [/* @__PURE__ */ P("div", {
383
+ children: [/* @__PURE__ */ F("div", {
384
384
  style: R.headerTitle,
385
- children: [/* @__PURE__ */ N("div", {
385
+ children: [/* @__PURE__ */ P("div", {
386
386
  style: R.headerIcon,
387
- children: /* @__PURE__ */ N(x, {
387
+ children: /* @__PURE__ */ P(x, {
388
388
  "aria-hidden": "true",
389
389
  style: {
390
390
  width: "18px",
@@ -392,21 +392,21 @@ var R = {
392
392
  color: "var(--color-action-primary-text)"
393
393
  }
394
394
  })
395
- }), /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ N("h2", {
395
+ }), /* @__PURE__ */ F("div", { children: [/* @__PURE__ */ P("h2", {
396
396
  style: R.title,
397
397
  children: v("bigconsole.dashboards.widgetPalette.title", "Widgets")
398
- }), /* @__PURE__ */ N("p", {
398
+ }), /* @__PURE__ */ P("p", {
399
399
  style: R.subtitle,
400
400
  children: v("bigconsole.dashboards.widgetPalette.subtitle", "Drag or click to add")
401
401
  })] })]
402
- }), /* @__PURE__ */ N("button", {
402
+ }), /* @__PURE__ */ P("button", {
403
403
  type: "button",
404
404
  onClick: c,
405
405
  "aria-label": "Close widget palette",
406
406
  title: "Close widget palette",
407
407
  style: R.closeButton,
408
408
  className: `hover:bg-action-ghost-bgHover motion-safe:transition-colors ${e}`,
409
- children: /* @__PURE__ */ N(j, {
409
+ children: /* @__PURE__ */ P(j, {
410
410
  "aria-hidden": "true",
411
411
  style: {
412
412
  width: "16px",
@@ -414,19 +414,19 @@ var R = {
414
414
  }
415
415
  })
416
416
  })]
417
- }), /* @__PURE__ */ P("div", {
417
+ }), /* @__PURE__ */ F("div", {
418
418
  style: R.searchContainer,
419
419
  children: [
420
- /* @__PURE__ */ N("label", {
420
+ /* @__PURE__ */ P("label", {
421
421
  htmlFor: "widget-palette-search",
422
422
  className: "sr-only",
423
423
  children: "Search widgets"
424
424
  }),
425
- /* @__PURE__ */ N(E, {
425
+ /* @__PURE__ */ P(E, {
426
426
  "aria-hidden": "true",
427
427
  style: R.searchIcon
428
428
  }),
429
- /* @__PURE__ */ N(M, {
429
+ /* @__PURE__ */ P(M, {
430
430
  id: "widget-palette-search",
431
431
  type: "text",
432
432
  placeholder: v("bigconsole.dashboards.widgetPalette.searchPlaceholder", "Search widgets..."),
@@ -437,17 +437,17 @@ var R = {
437
437
  ]
438
438
  })]
439
439
  }),
440
- /* @__PURE__ */ N("div", {
440
+ /* @__PURE__ */ P("div", {
441
441
  style: R.content,
442
- children: /* @__PURE__ */ P("div", {
442
+ children: /* @__PURE__ */ F("div", {
443
443
  style: R.scrollArea,
444
444
  children: [A.map((t) => {
445
445
  let n = C.has(t.category), i = `widget-palette-${t.category.toLowerCase()}`;
446
- return /* @__PURE__ */ P("div", {
446
+ return /* @__PURE__ */ F("div", {
447
447
  style: R.categoryContainer,
448
- children: [/* @__PURE__ */ N("h3", {
448
+ children: [/* @__PURE__ */ P("h3", {
449
449
  style: R.categoryHeading,
450
- children: /* @__PURE__ */ P("button", {
450
+ children: /* @__PURE__ */ F("button", {
451
451
  type: "button",
452
452
  onClick: () => I(t.category),
453
453
  "aria-expanded": n,
@@ -455,24 +455,24 @@ var R = {
455
455
  style: R.categoryHeader,
456
456
  className: `hover:bg-action-ghost-bgHover motion-safe:transition-colors ${e}`,
457
457
  children: [
458
- N(n ? d : f, {
458
+ P(n ? d : f, {
459
459
  "aria-hidden": "true",
460
460
  style: R.categoryChevron
461
461
  }),
462
- /* @__PURE__ */ N("span", {
462
+ /* @__PURE__ */ P("span", {
463
463
  style: R.categoryLabel,
464
464
  children: t.label
465
465
  }),
466
- /* @__PURE__ */ N("span", {
466
+ /* @__PURE__ */ P("span", {
467
467
  style: R.categoryCount,
468
468
  children: t.widgets.length
469
469
  })
470
470
  ]
471
471
  })
472
- }), n && /* @__PURE__ */ P("div", {
472
+ }), n && /* @__PURE__ */ F("div", {
473
473
  id: i,
474
474
  style: R.widgetList,
475
- children: [g && t.category === "Installed" && /* @__PURE__ */ N("div", {
475
+ children: [g && t.category === "Installed" && /* @__PURE__ */ P("div", {
476
476
  style: {
477
477
  fontSize: "var(--font-size-body-sm)",
478
478
  color: "var(--color-text-muted)",
@@ -481,7 +481,7 @@ var R = {
481
481
  children: v("bigconsole.dashboards.widgetPalette.loading", "Loading...")
482
482
  }), t.widgets.map((e) => {
483
483
  let t = L(e.icon), n = r(e), i = T === n;
484
- return /* @__PURE__ */ P("div", {
484
+ return /* @__PURE__ */ F("div", {
485
485
  draggable: !0,
486
486
  role: "button",
487
487
  tabIndex: 0,
@@ -500,23 +500,23 @@ var R = {
500
500
  ...i ? R.widgetCardHover : {}
501
501
  },
502
502
  children: [
503
- /* @__PURE__ */ N(b, {
503
+ /* @__PURE__ */ P(b, {
504
504
  "aria-hidden": "true",
505
505
  style: R.dragHandle
506
506
  }),
507
- /* @__PURE__ */ N("div", {
507
+ /* @__PURE__ */ P("div", {
508
508
  style: R.widgetIcon,
509
- children: /* @__PURE__ */ N(t, {
509
+ children: /* @__PURE__ */ P(t, {
510
510
  "aria-hidden": "true",
511
511
  style: R.widgetIconInner
512
512
  })
513
513
  }),
514
- /* @__PURE__ */ P("div", {
514
+ /* @__PURE__ */ F("div", {
515
515
  style: R.widgetText,
516
- children: [/* @__PURE__ */ N("div", {
516
+ children: [/* @__PURE__ */ P("div", {
517
517
  style: R.widgetName,
518
518
  children: e.name
519
- }), /* @__PURE__ */ N("div", {
519
+ }), /* @__PURE__ */ P("div", {
520
520
  style: R.widgetDescription,
521
521
  children: e.description
522
522
  })]
@@ -526,13 +526,13 @@ var R = {
526
526
  })]
527
527
  })]
528
528
  }, t.category);
529
- }), A.length === 0 && /* @__PURE__ */ P("div", {
529
+ }), A.length === 0 && /* @__PURE__ */ F("div", {
530
530
  style: R.emptyState,
531
531
  role: "status",
532
532
  children: [
533
- /* @__PURE__ */ N("div", {
533
+ /* @__PURE__ */ P("div", {
534
534
  style: R.emptyIcon,
535
- children: /* @__PURE__ */ N(E, {
535
+ children: /* @__PURE__ */ P(E, {
536
536
  "aria-hidden": "true",
537
537
  style: {
538
538
  width: "24px",
@@ -541,20 +541,20 @@ var R = {
541
541
  }
542
542
  })
543
543
  }),
544
- /* @__PURE__ */ P("p", {
544
+ /* @__PURE__ */ F("p", {
545
545
  style: R.emptyTitle,
546
546
  children: [
547
547
  v("bigconsole.dashboards.widgetPalette.noResultsBefore", "No widgets found for"),
548
548
  " “",
549
- /* @__PURE__ */ N("strong", { children: y }),
549
+ /* @__PURE__ */ P("strong", { children: y }),
550
550
  "”"
551
551
  ]
552
552
  }),
553
- /* @__PURE__ */ N("p", {
553
+ /* @__PURE__ */ P("p", {
554
554
  style: R.emptyText,
555
555
  children: "Try a shorter term, or browse the widget store for more types."
556
556
  }),
557
- /* @__PURE__ */ N("button", {
557
+ /* @__PURE__ */ P("button", {
558
558
  type: "button",
559
559
  onClick: () => S(""),
560
560
  style: R.clearButton,
@@ -565,15 +565,15 @@ var R = {
565
565
  })]
566
566
  })
567
567
  }),
568
- /* @__PURE__ */ P("div", {
568
+ /* @__PURE__ */ F("div", {
569
569
  style: R.footer,
570
- children: [/* @__PURE__ */ P("button", {
570
+ children: [/* @__PURE__ */ F("button", {
571
571
  type: "button",
572
572
  onClick: H,
573
573
  style: R.browseStoreButton,
574
574
  className: `hover:border-action-primary-bg hover:text-action-primary-text motion-safe:transition-colors ${e}`,
575
575
  children: [
576
- /* @__PURE__ */ N(D, {
576
+ /* @__PURE__ */ P(D, {
577
577
  "aria-hidden": "true",
578
578
  style: {
579
579
  width: "15px",
@@ -581,7 +581,7 @@ var R = {
581
581
  }
582
582
  }),
583
583
  v("bigconsole.dashboards.widgetPalette.browseStore", "Browse widget store"),
584
- /* @__PURE__ */ N(m, {
584
+ /* @__PURE__ */ P(m, {
585
585
  "aria-hidden": "true",
586
586
  style: {
587
587
  width: "13px",
@@ -590,7 +590,7 @@ var R = {
590
590
  }
591
591
  })
592
592
  ]
593
- }), /* @__PURE__ */ N("p", {
593
+ }), /* @__PURE__ */ P("p", {
594
594
  style: R.footerText,
595
595
  children: v("bigconsole.dashboards.widgetPalette.footerHint", "Drag widgets to position them on the canvas")
596
596
  })]
@@ -5,8 +5,8 @@ import { alertErrorMessage as n } from "../../hooks/useDataSinkAlerts.js";
5
5
  import { useCallback as r, useEffect as i, useLayoutEffect as a, useRef as o, useState as s } from "react";
6
6
  import { Loader2 as c, RefreshCw as l } from "lucide-react";
7
7
  import { Button as u } from "@burdenoff/fe-libs/ui";
8
- import { jsx as d, jsxs as f } from "react/jsx-runtime";
9
- import { useI18n as p } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
8
+ import { useI18n as d } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
9
+ import { jsx as f, jsxs as p } from "react/jsx-runtime";
10
10
  //#region src/bigconsole/components/datasink/AlertExecutionHistory.tsx
11
11
  var m = {
12
12
  owner: "",
@@ -16,7 +16,7 @@ var m = {
16
16
  error: null
17
17
  };
18
18
  function h({ owner: h, rules: g, load: _, refreshVersion: v }) {
19
- let { t: y } = p(), [b, x] = s(""), [S, C] = s([]), w = S.at(-1), T = `${h}|${b}|${w ?? ""}`, E = o(null), D = o(null);
19
+ let { t: y } = d(), [b, x] = s(""), [S, C] = s([]), w = S.at(-1), T = `${h}|${b}|${w ?? ""}`, E = o(null), D = o(null);
20
20
  a(() => (E.current = T, () => {
21
21
  E.current = null, D.current = null;
22
22
  }), [T]);
@@ -66,25 +66,25 @@ function h({ owner: h, rules: g, load: _, refreshVersion: v }) {
66
66
  ...m,
67
67
  loading: !0
68
68
  };
69
- return /* @__PURE__ */ f(t, {
69
+ return /* @__PURE__ */ p(t, {
70
70
  title: y("bigconsole.alerts.history.title", "Execution history"),
71
71
  headingLevel: 2,
72
72
  description: y("bigconsole.alerts.history.description", "Actual evaluations and notification delivery status. Refreshes every 10 seconds while this page is visible."),
73
- actions: /* @__PURE__ */ f(u, {
73
+ actions: /* @__PURE__ */ p(u, {
74
74
  type: "button",
75
75
  variant: "secondary",
76
76
  size: "sm",
77
77
  onClick: () => void A(),
78
78
  disabled: j.loading,
79
- children: [j.loading ? /* @__PURE__ */ d(c, { className: "mr-2 h-4 w-4 animate-spin" }) : /* @__PURE__ */ d(l, { className: "mr-2 h-4 w-4" }), y("bigconsole.alerts.history.refresh", "Refresh history")]
79
+ children: [j.loading ? /* @__PURE__ */ f(c, { className: "mr-2 h-4 w-4 animate-spin" }) : /* @__PURE__ */ f(l, { className: "mr-2 h-4 w-4" }), y("bigconsole.alerts.history.refresh", "Refresh history")]
80
80
  }),
81
81
  children: [
82
- /* @__PURE__ */ d("label", {
82
+ /* @__PURE__ */ f("label", {
83
83
  htmlFor: "alert-history-filter",
84
84
  className: "mb-1 block text-xs font-medium text-text-primary",
85
85
  children: y("bigconsole.alerts.history.filter", "Filter by rule")
86
86
  }),
87
- /* @__PURE__ */ f("select", {
87
+ /* @__PURE__ */ p("select", {
88
88
  id: "alert-history-filter",
89
89
  className: `mb-4 w-full min-w-0 rounded-control border border-border-subtle bg-bg-surface px-3 py-2 text-sm text-text-primary ${e}`,
90
90
  value: b,
@@ -92,57 +92,57 @@ function h({ owner: h, rules: g, load: _, refreshVersion: v }) {
92
92
  x(e.target.value), C([]);
93
93
  },
94
94
  children: [
95
- /* @__PURE__ */ d("option", {
95
+ /* @__PURE__ */ f("option", {
96
96
  value: "",
97
97
  children: y("bigconsole.alerts.history.all", "All rules")
98
98
  }),
99
- b && !g.some((e) => e.id === b) && /* @__PURE__ */ d("option", {
99
+ b && !g.some((e) => e.id === b) && /* @__PURE__ */ f("option", {
100
100
  value: b,
101
101
  children: b
102
102
  }),
103
- g.map((e) => /* @__PURE__ */ d("option", {
103
+ g.map((e) => /* @__PURE__ */ f("option", {
104
104
  value: e.id,
105
105
  children: e.name
106
106
  }, e.id))
107
107
  ]
108
108
  }),
109
- j.error && /* @__PURE__ */ d("p", {
109
+ j.error && /* @__PURE__ */ f("p", {
110
110
  role: "alert",
111
111
  className: "mb-4 break-words text-sm text-status-error-text",
112
112
  children: j.error
113
113
  }),
114
- j.loading && !j.rows.length && /* @__PURE__ */ d("p", {
114
+ j.loading && !j.rows.length && /* @__PURE__ */ f("p", {
115
115
  role: "status",
116
116
  className: "text-sm text-text-secondary",
117
117
  children: y("bigconsole.alerts.history.loading", "Loading execution history…")
118
118
  }),
119
- !j.loading && !j.error && !j.rows.length && /* @__PURE__ */ d("p", {
119
+ !j.loading && !j.error && !j.rows.length && /* @__PURE__ */ f("p", {
120
120
  className: "text-sm text-text-secondary",
121
121
  children: y("bigconsole.alerts.history.empty", "No evaluations recorded yet. Enabled rules evaluate when the sink data is updated or refreshed.")
122
122
  }),
123
- /* @__PURE__ */ d("ol", {
123
+ /* @__PURE__ */ f("ol", {
124
124
  className: "divide-y divide-border-subtle",
125
- children: j.rows.map((e) => /* @__PURE__ */ f("li", {
125
+ children: j.rows.map((e) => /* @__PURE__ */ p("li", {
126
126
  className: "min-w-0 py-4 first:pt-0",
127
127
  children: [
128
- /* @__PURE__ */ f("div", {
128
+ /* @__PURE__ */ p("div", {
129
129
  className: "flex flex-wrap items-start justify-between gap-2",
130
- children: [/* @__PURE__ */ f("div", {
130
+ children: [/* @__PURE__ */ p("div", {
131
131
  className: "min-w-0",
132
- children: [/* @__PURE__ */ d("p", {
132
+ children: [/* @__PURE__ */ f("p", {
133
133
  className: "break-words text-sm font-medium text-text-primary",
134
134
  children: g.find((t) => t.id === e.alertId)?.name ?? e.alertId
135
- }), /* @__PURE__ */ d("time", {
135
+ }), /* @__PURE__ */ f("time", {
136
136
  dateTime: e.createdAt,
137
137
  className: "text-xs text-text-secondary",
138
138
  children: new Date(e.createdAt).toLocaleString()
139
139
  })]
140
- }), /* @__PURE__ */ d("span", {
140
+ }), /* @__PURE__ */ f("span", {
141
141
  className: "rounded-pill border border-border-subtle bg-bg-sunken px-2 py-1 text-xs font-medium text-text-primary",
142
142
  children: y(`bigconsole.alerts.history.status.${e.status}`, e.status.replaceAll("_", " "))
143
143
  })]
144
144
  }),
145
- /* @__PURE__ */ f("p", {
145
+ /* @__PURE__ */ p("p", {
146
146
  className: "mt-2 break-words text-xs text-text-secondary",
147
147
  children: [
148
148
  y("bigconsole.alerts.history.dataVersion", "Data version"),
@@ -156,41 +156,41 @@ function h({ owner: h, rules: g, load: _, refreshVersion: v }) {
156
156
  " ms"
157
157
  ]
158
158
  }),
159
- e.error && /* @__PURE__ */ d("p", {
159
+ e.error && /* @__PURE__ */ f("p", {
160
160
  className: "mt-2 break-words text-sm text-status-error-text",
161
161
  children: e.error
162
162
  }),
163
- e.deliveries.length > 0 && /* @__PURE__ */ d("ul", {
163
+ e.deliveries.length > 0 && /* @__PURE__ */ f("ul", {
164
164
  className: "mt-3 space-y-2",
165
- children: e.deliveries.map((e, t) => /* @__PURE__ */ f("li", {
165
+ children: e.deliveries.map((e, t) => /* @__PURE__ */ p("li", {
166
166
  className: "min-w-0 rounded-control border border-border-subtle bg-bg-sunken p-3 text-xs",
167
167
  children: [
168
- /* @__PURE__ */ f("div", {
168
+ /* @__PURE__ */ p("div", {
169
169
  className: "flex flex-wrap justify-between gap-2",
170
- children: [/* @__PURE__ */ f("span", {
170
+ children: [/* @__PURE__ */ p("span", {
171
171
  className: "break-all text-text-primary",
172
172
  children: [
173
173
  e.channel,
174
174
  " · ",
175
175
  e.recipient
176
176
  ]
177
- }), /* @__PURE__ */ d("span", {
177
+ }), /* @__PURE__ */ f("span", {
178
178
  className: "font-medium text-text-primary",
179
179
  children: e.status
180
180
  })]
181
181
  }),
182
- e.attemptedAt && /* @__PURE__ */ f("p", {
182
+ e.attemptedAt && /* @__PURE__ */ p("p", {
183
183
  className: "mt-1 text-text-secondary",
184
184
  children: [
185
185
  y("bigconsole.alerts.history.attempted", "Attempted"),
186
186
  " ",
187
- /* @__PURE__ */ d("time", {
187
+ /* @__PURE__ */ f("time", {
188
188
  dateTime: e.attemptedAt,
189
189
  children: new Date(e.attemptedAt).toLocaleString()
190
190
  })
191
191
  ]
192
192
  }),
193
- e.notificationId && /* @__PURE__ */ f("p", {
193
+ e.notificationId && /* @__PURE__ */ p("p", {
194
194
  className: "mt-1 break-all text-text-muted",
195
195
  children: [
196
196
  y("bigconsole.alerts.history.notification", "Notification"),
@@ -198,7 +198,7 @@ function h({ owner: h, rules: g, load: _, refreshVersion: v }) {
198
198
  e.notificationId
199
199
  ]
200
200
  }),
201
- e.error && /* @__PURE__ */ d("p", {
201
+ e.error && /* @__PURE__ */ f("p", {
202
202
  className: "mt-1 break-words text-status-error-text",
203
203
  children: e.error
204
204
  })
@@ -208,25 +208,25 @@ function h({ owner: h, rules: g, load: _, refreshVersion: v }) {
208
208
  ]
209
209
  }, e.id))
210
210
  }),
211
- /* @__PURE__ */ f("div", {
211
+ /* @__PURE__ */ p("div", {
212
212
  className: "mt-4 flex flex-wrap items-center justify-between gap-control-gap border-t border-border-subtle pt-3",
213
- children: [/* @__PURE__ */ f("span", {
213
+ children: [/* @__PURE__ */ p("span", {
214
214
  className: "text-xs text-text-secondary",
215
215
  children: [
216
216
  j.rows.length,
217
217
  " ",
218
218
  y("bigconsole.alerts.history.count", "executions on this page")
219
219
  ]
220
- }), /* @__PURE__ */ f("div", {
220
+ }), /* @__PURE__ */ p("div", {
221
221
  className: "flex gap-control-gap",
222
- children: [/* @__PURE__ */ d(u, {
222
+ children: [/* @__PURE__ */ f(u, {
223
223
  type: "button",
224
224
  variant: "secondary",
225
225
  size: "sm",
226
226
  onClick: () => C((e) => e.slice(0, -1)),
227
227
  disabled: !S.length || j.loading,
228
228
  children: y("bigconsole.alerts.history.newer", "Newer")
229
- }), /* @__PURE__ */ d(u, {
229
+ }), /* @__PURE__ */ f(u, {
230
230
  type: "button",
231
231
  variant: "secondary",
232
232
  size: "sm",