@burdenoff/microfe-bigconsole 2026.1012.4 → 2026.1012.6

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 (130) hide show
  1. package/dist/bigconsole/BigConsoleRoutes.js +149 -140
  2. package/dist/bigconsole/assistant/assistantProduct.js +4 -1
  3. package/dist/bigconsole/assistant/displayCopy.d.ts +32 -0
  4. package/dist/bigconsole/assistant/pageContext.d.ts +14 -0
  5. package/dist/bigconsole/assistant/pageContext.js +6 -1
  6. package/dist/bigconsole/assistant/pageControls.d.ts +81 -0
  7. package/dist/bigconsole/assistant/pageControls.js +169 -0
  8. package/dist/bigconsole/assistant/previewControl.d.ts +16 -0
  9. package/dist/bigconsole/assistant/previewControl.js +10 -0
  10. package/dist/bigconsole/assistant/recordAdapters.js +27 -26
  11. package/dist/bigconsole/assistant/usePreviewControl.d.ts +2 -0
  12. package/dist/bigconsole/assistant/usePreviewControl.js +20 -0
  13. package/dist/bigconsole/components/builder/inspector/AppearanceSection.js +9 -9
  14. package/dist/bigconsole/components/builder/inspector/DataBindingSection.js +31 -31
  15. package/dist/bigconsole/components/common/SortBySelect.d.ts +11 -0
  16. package/dist/bigconsole/components/common/SortBySelect.js +29 -0
  17. package/dist/bigconsole/components/common/index.d.ts +1 -0
  18. package/dist/bigconsole/components/common/index.js +1 -0
  19. package/dist/bigconsole/components/dashboard/CreateDashboardDialog.js +44 -44
  20. package/dist/bigconsole/components/dashboard/DashboardCanvas.js +36 -36
  21. package/dist/bigconsole/components/dashboard/DashboardToolbar.js +59 -59
  22. package/dist/bigconsole/components/dashboard/DrilldownBreadcrumb.js +15 -15
  23. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterChip.js +30 -30
  24. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterEditor.js +41 -41
  25. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/FilterPresetSelector.js +34 -34
  26. package/dist/bigconsole/components/dashboard/GlobalFiltersBar/GlobalFiltersBar.js +34 -34
  27. package/dist/bigconsole/components/dashboard/ImportDashboardDialog.js +153 -153
  28. package/dist/bigconsole/components/dashboard/PublishToStoreDialog.js +21 -21
  29. package/dist/bigconsole/components/dashboard/SavedViewsDropdown/SavedViewsDropdown.js +46 -46
  30. package/dist/bigconsole/components/dashboard/ShareDialog/EmbedTab.js +134 -134
  31. package/dist/bigconsole/components/dashboard/ShareDialog/ShareDialog.js +101 -101
  32. package/dist/bigconsole/components/dashboard/TemplateInstallOptions.js +31 -31
  33. package/dist/bigconsole/components/dashboard/TemplateLayoutPreview.js +15 -15
  34. package/dist/bigconsole/components/dashboard/TemplatePicker/TemplatePicker.js +1 -1
  35. package/dist/bigconsole/components/dashboard/WidgetPalette.js +46 -46
  36. package/dist/bigconsole/components/datasink/AlertExecutionHistory.js +37 -37
  37. package/dist/bigconsole/components/datasink/AlertRuleEditor.js +66 -66
  38. package/dist/bigconsole/components/datasink/CacheTTLSelector.js +35 -35
  39. package/dist/bigconsole/components/datasink/DataSinkCard.js +51 -50
  40. package/dist/bigconsole/components/datasink/DataSinkDeleteDialog.js +18 -18
  41. package/dist/bigconsole/components/datasink/DataSinkRefreshDialog.js +20 -20
  42. package/dist/bigconsole/components/datasink/ImportDataGuideDialog.js +47 -47
  43. package/dist/bigconsole/components/datasink/ImportDataSinkDialog.js +91 -91
  44. package/dist/bigconsole/components/datasink/RefreshTypeSelector.js +35 -35
  45. package/dist/bigconsole/components/parser/DataSinkSelector.js +40 -40
  46. package/dist/bigconsole/components/parser/ImportParserDialog.js +120 -120
  47. package/dist/bigconsole/components/parser/ParserSelector.js +51 -51
  48. package/dist/bigconsole/components/pipeline/PipelineScopePicker.js +10 -10
  49. package/dist/bigconsole/components/preview/AiPreviewContent.js +0 -1
  50. package/dist/bigconsole/components/preview/AiPreviewMiniPanel.js +77 -76
  51. package/dist/bigconsole/components/preview/AiPreviewPanel.js +96 -95
  52. package/dist/bigconsole/components/widgets/ActionConfigDialog.js +4 -4
  53. package/dist/bigconsole/components/widgets/DrilldownConfigPanel.js +93 -93
  54. package/dist/bigconsole/components/widgets/PropertiesPanel.js +507 -499
  55. package/dist/bigconsole/components/widgets/advanced/AdvancedWidgetConfig.js +14 -14
  56. package/dist/bigconsole/components/widgets/advanced/AdvancedWidgets.js +68 -67
  57. package/dist/bigconsole/components/widgets/advanced/boxPlotDescription.d.ts +7 -0
  58. package/dist/bigconsole/components/widgets/advanced/boxPlotDescription.js +12 -0
  59. package/dist/bigconsole/components/widgets/calendar/CalendarWidget.js +4 -4
  60. package/dist/bigconsole/components/widgets/chart/ChartConfig.js +48 -48
  61. package/dist/bigconsole/components/widgets/comments/WidgetComments.js +46 -46
  62. package/dist/bigconsole/components/widgets/event-logs/EventLogViewer.js +61 -61
  63. package/dist/bigconsole/components/widgets/form/FormWidget.js +36 -36
  64. package/dist/bigconsole/components/widgets/gauge/GaugeConfig.js +42 -42
  65. package/dist/bigconsole/components/widgets/heatmap/HeatmapConfig.js +25 -25
  66. package/dist/bigconsole/components/widgets/kanban/KanbanWidget.js +4 -4
  67. package/dist/bigconsole/components/widgets/list/ListConfig.js +30 -30
  68. package/dist/bigconsole/components/widgets/metric-card/MetricCardConfig.js +38 -38
  69. package/dist/bigconsole/components/widgets/metric-card/SparklineChart.js +9 -9
  70. package/dist/bigconsole/components/widgets/metric-card/TrendIndicator.js +9 -9
  71. package/dist/bigconsole/components/widgets/pivot-table/PivotTableWidget.js +49 -49
  72. package/dist/bigconsole/components/widgets/progress/ProgressConfig.js +39 -39
  73. package/dist/bigconsole/components/widgets/table/TableConfig.js +73 -73
  74. package/dist/bigconsole/components/widgets/webhook-config/WebhookConfigPanel.js +64 -64
  75. package/dist/bigconsole/components/workflow/WorkflowOpenGuard.js +15 -15
  76. package/dist/bigconsole/components/workflow/WorkflowSinkLinkForm.js +15 -15
  77. package/dist/bigconsole/constants/backendErrors.js +94 -0
  78. package/dist/bigconsole/customWidget/CustomWidgetBuilderSheet.js +10 -10
  79. package/dist/bigconsole/customWidget/CustomWidgetProposalPanel.js +67 -67
  80. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.d.ts +14 -0
  81. package/dist/bigconsole/hooks/useDashboardLayoutBaseline.js +32 -0
  82. package/dist/bigconsole/hooks/useDataSinkAlerts.d.ts +23 -0
  83. package/dist/bigconsole/hooks/useDataSinkAlerts.js +138 -113
  84. package/dist/bigconsole/hooks/useDrilldown.js +3 -3
  85. package/dist/bigconsole/hooks/useGlobalFilters.js +3 -3
  86. package/dist/bigconsole/pages/AdminPage.js +130 -130
  87. package/dist/bigconsole/pages/DashboardBuilderPage.js +72 -60
  88. package/dist/bigconsole/pages/DashboardViewPage.js +244 -221
  89. package/dist/bigconsole/pages/DashboardsPage.js +269 -221
  90. package/dist/bigconsole/pages/DataParsersPage.js +180 -157
  91. package/dist/bigconsole/pages/DataSinkAlertsPage.js +62 -55
  92. package/dist/bigconsole/pages/DataSinkBuilderPage.js +252 -234
  93. package/dist/bigconsole/pages/DataSinkViewPage.js +1 -1
  94. package/dist/bigconsole/pages/DataSinksPage.js +335 -299
  95. package/dist/bigconsole/pages/DataSourcesPage.js +5 -5
  96. package/dist/bigconsole/pages/InsightsPage.js +279 -265
  97. package/dist/bigconsole/pages/OverviewPage.js +47 -47
  98. package/dist/bigconsole/pages/ParserBuilderPage.js +229 -213
  99. package/dist/bigconsole/pages/ParserViewPage.js +97 -97
  100. package/dist/bigconsole/pages/PipelineBuilderPage.js +256 -214
  101. package/dist/bigconsole/pages/PipelineViewPage.js +146 -146
  102. package/dist/bigconsole/pages/PipelinesPage.js +107 -88
  103. package/dist/bigconsole/pages/SettingsPage.js +179 -173
  104. package/dist/bigconsole/pages/WidgetDemoPage.js +42 -42
  105. package/dist/bigconsole/pages/WorkflowViewPage.js +1 -1
  106. package/dist/bigconsole/pages/WorkflowsPage.js +141 -141
  107. package/dist/bigconsole/providers/BigConsoleQuotaProvider.js +12 -12
  108. package/dist/bigconsole/renderers/adapters/AdaptiveCardRenderer.js +34 -34
  109. package/dist/bigconsole/renderers/adapters/BlockKitRenderer.js +69 -69
  110. package/dist/bigconsole/renderers/adapters/CustomRenderer.js +46 -46
  111. package/dist/bigconsole/store/widgetStore.d.ts +12 -0
  112. package/dist/bigconsole/store/widgetStore.js +3 -1
  113. package/dist/bigconsole/utils/backendError.d.ts +18 -0
  114. package/dist/bigconsole/utils/backendError.js +42 -0
  115. package/dist/bigconsole/utils/dashboardList.d.ts +28 -0
  116. package/dist/bigconsole/utils/dashboardList.js +15 -0
  117. package/dist/bigconsole/utils/dataSinkList.d.ts +15 -0
  118. package/dist/bigconsole/utils/dataSinkList.js +15 -0
  119. package/dist/bigconsole/utils/formDirty.d.ts +82 -0
  120. package/dist/bigconsole/utils/formDirty.js +21 -0
  121. package/dist/bigconsole/utils/insightsDraft.d.ts +29 -0
  122. package/dist/bigconsole/utils/insightsDraft.js +8 -0
  123. package/dist/bigconsole/utils/layoutBaseline.d.ts +130 -0
  124. package/dist/bigconsole/utils/layoutBaseline.js +96 -0
  125. package/dist/bigconsole/utils/listSort.d.ts +80 -0
  126. package/dist/bigconsole/utils/listSort.js +85 -0
  127. package/dist/bigconsole/utils/widgetFormDirty.d.ts +16 -0
  128. package/dist/bigconsole/utils/widgetFormDirty.js +13 -0
  129. package/dist/bigconsole/workflowOpen.js +15 -14
  130. package/package.json +3 -3
@@ -7,8 +7,8 @@ import "../../hooks/index.js";
7
7
  import { memo as a, useCallback as o, useEffect as s, useRef as c, useState as l } from "react";
8
8
  import { ArrowLeft as u, Check as d, FileJson as ee, Info as f, RefreshCw as te, Upload as p, XCircle as m } from "lucide-react";
9
9
  import { Badge as h, Button as g, Dialog as _, DialogContent as ne, DialogDescription as re, DialogFooter as v, DialogHeader as y, DialogTitle as b, Input as x, Label as S, Spinner as ie } from "@burdenoff/fe-libs/ui";
10
- import { Fragment as C, jsx as w, jsxs as T } from "react/jsx-runtime";
11
- import { useI18n as E } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
10
+ import { useI18n as C } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
11
+ import { Fragment as w, jsx as T, jsxs as E } from "react/jsx-runtime";
12
12
  //#region src/bigconsole/components/datasink/ImportDataSinkDialog.tsx
13
13
  var D = [
14
14
  {
@@ -28,7 +28,7 @@ function O(e) {
28
28
  return e === "select" ? 0 : e === "complete" ? 2 : 1;
29
29
  }
30
30
  var k = a(function({ isOpen: a, onClose: k, onSuccess: A }) {
31
- let { t: j } = E(), [M, N] = l("select"), [, P] = l(null), [F, I] = l(null), [L, R] = l(""), [z, B] = l(""), V = c(null), { loading: H, error: U, validationResult: W, importResult: G, validateImport: K, importDataSink: q, extractDataSinkId: J, clearState: Y } = i(), X = r();
31
+ let { t: j } = C(), [M, N] = l("select"), [, P] = l(null), [F, I] = l(null), [L, R] = l(""), [z, B] = l(""), V = c(null), { loading: H, error: U, validationResult: W, importResult: G, validateImport: K, importDataSink: q, extractDataSinkId: J, clearState: Y } = i(), X = r();
32
32
  s(() => {
33
33
  a && (N("select"), P(null), I(null), R(""), B(""), Y());
34
34
  }, [a, Y]);
@@ -89,32 +89,32 @@ var k = a(function({ isOpen: a, onClose: k, onSuccess: A }) {
89
89
  k,
90
90
  A
91
91
  ]), Z = !H && M !== "importing", Q = F ? J(F) : null, $ = O(M);
92
- return /* @__PURE__ */ w(_, {
92
+ return /* @__PURE__ */ T(_, {
93
93
  open: a,
94
94
  onOpenChange: (e) => !e && Z && k(),
95
- children: /* @__PURE__ */ T(ne, {
95
+ children: /* @__PURE__ */ E(ne, {
96
96
  className: "flex max-h-[85vh] flex-col sm:max-w-lg",
97
97
  children: [
98
- /* @__PURE__ */ T(y, { children: [/* @__PURE__ */ T("div", {
98
+ /* @__PURE__ */ E(y, { children: [/* @__PURE__ */ E("div", {
99
99
  className: "flex items-center gap-3",
100
- children: [/* @__PURE__ */ w("div", {
100
+ children: [/* @__PURE__ */ T("div", {
101
101
  className: "flex size-10 items-center justify-center rounded-card bg-bg-accentSubtle",
102
- children: /* @__PURE__ */ w(p, { className: "size-5 text-text-link" })
103
- }), /* @__PURE__ */ w(b, { children: j("bigconsole.dataSinks.import.title", "Import DataSink") })]
104
- }), /* @__PURE__ */ w(re, { children: j("bigconsole.dataSinks.import.description", "Upload a DataSink export file to restore it into this workspace.") })] }),
105
- /* @__PURE__ */ w("ol", {
102
+ children: /* @__PURE__ */ T(p, { className: "size-5 text-text-link" })
103
+ }), /* @__PURE__ */ T(b, { children: j("bigconsole.dataSinks.import.title", "Import DataSink") })]
104
+ }), /* @__PURE__ */ T(re, { children: j("bigconsole.dataSinks.import.description", "Upload a DataSink export file to restore it into this workspace.") })] }),
105
+ /* @__PURE__ */ T("ol", {
106
106
  className: "flex flex-wrap items-center gap-x-icon-gap gap-y-1 text-xs",
107
107
  "aria-label": "Import progress",
108
- children: D.map((e, t) => /* @__PURE__ */ T("li", {
108
+ children: D.map((e, t) => /* @__PURE__ */ E("li", {
109
109
  "aria-current": t === $ ? "step" : void 0,
110
110
  className: `flex items-center gap-icon-gap ${t === $ ? "font-semibold text-text-primary" : "text-text-muted"}`,
111
111
  children: [
112
- /* @__PURE__ */ w("span", {
112
+ /* @__PURE__ */ T("span", {
113
113
  className: `inline-flex size-5 items-center justify-center rounded-pill text-[10px] ${t <= $ ? "bg-action-primary-bg text-action-primary-text" : "bg-bg-sunken"}`,
114
114
  children: t + 1
115
115
  }),
116
116
  e.label,
117
- t < D.length - 1 && /* @__PURE__ */ w("span", {
117
+ t < D.length - 1 && /* @__PURE__ */ T("span", {
118
118
  "aria-hidden": "true",
119
119
  className: "text-text-muted",
120
120
  children: "›"
@@ -122,36 +122,36 @@ var k = a(function({ isOpen: a, onClose: k, onSuccess: A }) {
122
122
  ]
123
123
  }, e.id))
124
124
  }),
125
- /* @__PURE__ */ w("div", {
125
+ /* @__PURE__ */ T("div", {
126
126
  className: "min-w-0 flex-1 overflow-y-auto py-4",
127
- children: /* @__PURE__ */ T(n, { children: [
128
- M === "select" && /* @__PURE__ */ w(t, {
127
+ children: /* @__PURE__ */ E(n, { children: [
128
+ M === "select" && /* @__PURE__ */ T(t, {
129
129
  title: "Choose an export file",
130
130
  description: j("bigconsole.dataSinks.import.supportedFilesHint", "Only .json files exported from BigConsole are supported"),
131
131
  headingLevel: 3,
132
132
  bodyClassName: "mt-form-gap",
133
- children: /* @__PURE__ */ T("div", {
133
+ children: /* @__PURE__ */ E("div", {
134
134
  onDragOver: (e) => e.preventDefault(),
135
135
  onDrop: oe,
136
136
  className: "rounded-card border-2 border-dashed border-[var(--color-border-default)] p-8 text-center hover:border-[var(--color-action-primary-bg)] motion-safe:transition-colors",
137
137
  children: [
138
- /* @__PURE__ */ w(ee, { className: "mx-auto mb-4 size-12 text-text-secondary" }),
139
- /* @__PURE__ */ w("p", {
138
+ /* @__PURE__ */ T(ee, { className: "mx-auto mb-4 size-12 text-text-secondary" }),
139
+ /* @__PURE__ */ T("p", {
140
140
  className: "mb-2 text-sm",
141
141
  children: j("bigconsole.dataSinks.import.dropzoneText", "Drag and drop a DataSink export file here")
142
142
  }),
143
- /* @__PURE__ */ w("p", {
143
+ /* @__PURE__ */ T("p", {
144
144
  className: "mb-4 text-xs text-text-secondary",
145
145
  children: j("bigconsole.dataSinks.import.or", "or")
146
146
  }),
147
- /* @__PURE__ */ w("input", {
147
+ /* @__PURE__ */ T("input", {
148
148
  ref: V,
149
149
  type: "file",
150
150
  accept: ".json",
151
151
  onChange: ae,
152
152
  className: "hidden"
153
153
  }),
154
- /* @__PURE__ */ w(g, {
154
+ /* @__PURE__ */ T(g, {
155
155
  onClick: () => V.current?.click(),
156
156
  disabled: H,
157
157
  children: j("bigconsole.dataSinks.import.browseFiles", "Browse Files")
@@ -159,8 +159,8 @@ var k = a(function({ isOpen: a, onClose: k, onSuccess: A }) {
159
159
  ]
160
160
  })
161
161
  }),
162
- (M === "preview" || M === "importing") && W && /* @__PURE__ */ T(C, { children: [
163
- W.dataSinkInfo && /* @__PURE__ */ T(t, {
162
+ (M === "preview" || M === "importing") && W && /* @__PURE__ */ E(w, { children: [
163
+ W.dataSinkInfo && /* @__PURE__ */ E(t, {
164
164
  emphasis: "muted",
165
165
  padding: "compact",
166
166
  headingLevel: 3,
@@ -168,78 +168,78 @@ var k = a(function({ isOpen: a, onClose: k, onSuccess: A }) {
168
168
  description: "What this export file describes.",
169
169
  bodyClassName: "space-y-2",
170
170
  children: [
171
- /* @__PURE__ */ T("div", {
171
+ /* @__PURE__ */ E("div", {
172
172
  className: "flex items-center justify-between gap-icon-gap",
173
- children: [/* @__PURE__ */ w("span", {
173
+ children: [/* @__PURE__ */ T("span", {
174
174
  className: "text-sm text-text-secondary",
175
175
  children: j("bigconsole.dataSinks.import.nameLabel", "Name")
176
- }), /* @__PURE__ */ w("span", {
176
+ }), /* @__PURE__ */ T("span", {
177
177
  className: "min-w-0 truncate text-sm font-medium",
178
178
  children: W.dataSinkInfo.name || j("bigconsole.dataSinks.import.unnamed", "Unnamed")
179
179
  })]
180
180
  }),
181
- /* @__PURE__ */ T("div", {
181
+ /* @__PURE__ */ E("div", {
182
182
  className: "flex items-center justify-between gap-icon-gap",
183
- children: [/* @__PURE__ */ w("span", {
183
+ children: [/* @__PURE__ */ T("span", {
184
184
  className: "text-sm text-text-secondary",
185
185
  children: j("bigconsole.dataSinks.import.keyLabel", "Key")
186
- }), /* @__PURE__ */ w("span", {
186
+ }), /* @__PURE__ */ T("span", {
187
187
  className: "min-w-0 truncate font-mono text-xs",
188
188
  children: W.dataSinkInfo.key
189
189
  })]
190
190
  }),
191
- /* @__PURE__ */ T("div", {
191
+ /* @__PURE__ */ E("div", {
192
192
  className: "flex items-center justify-between gap-icon-gap",
193
- children: [/* @__PURE__ */ w("span", {
193
+ children: [/* @__PURE__ */ T("span", {
194
194
  className: "text-sm text-text-secondary",
195
195
  children: j("bigconsole.dataSinks.import.statusLabel", "Status")
196
- }), /* @__PURE__ */ w(h, {
196
+ }), /* @__PURE__ */ T(h, {
197
197
  variant: "secondary",
198
198
  children: W.dataSinkInfo.status
199
199
  })]
200
200
  }),
201
- /* @__PURE__ */ T("div", {
201
+ /* @__PURE__ */ E("div", {
202
202
  className: "flex items-center justify-between gap-icon-gap",
203
- children: [/* @__PURE__ */ w("span", {
203
+ children: [/* @__PURE__ */ T("span", {
204
204
  className: "text-sm text-text-secondary",
205
205
  children: j("bigconsole.dataSinks.import.setupStateLabel", "Setup State")
206
- }), /* @__PURE__ */ w(h, {
206
+ }), /* @__PURE__ */ T(h, {
207
207
  variant: "outline",
208
208
  children: W.dataSinkInfo.setupState
209
209
  })]
210
210
  }),
211
- W.dataSinkInfo.exportedFrom && /* @__PURE__ */ T("div", {
211
+ W.dataSinkInfo.exportedFrom && /* @__PURE__ */ E("div", {
212
212
  className: "flex items-center justify-between gap-icon-gap",
213
- children: [/* @__PURE__ */ w("span", {
213
+ children: [/* @__PURE__ */ T("span", {
214
214
  className: "text-sm text-text-secondary",
215
215
  children: j("bigconsole.dataSinks.import.sourceIdLabel", "Source ID")
216
- }), /* @__PURE__ */ w("span", {
216
+ }), /* @__PURE__ */ T("span", {
217
217
  className: "min-w-0 max-w-[180px] truncate font-mono text-xs text-text-secondary",
218
218
  children: W.dataSinkInfo.exportedFrom
219
219
  })]
220
220
  }),
221
- /* @__PURE__ */ T("div", {
221
+ /* @__PURE__ */ E("div", {
222
222
  className: "flex items-center justify-between gap-icon-gap",
223
- children: [/* @__PURE__ */ w("span", {
223
+ children: [/* @__PURE__ */ T("span", {
224
224
  className: "text-sm text-text-secondary",
225
225
  children: j("bigconsole.dataSinks.import.schemaVersionLabel", "Schema Version")
226
- }), /* @__PURE__ */ w("span", {
226
+ }), /* @__PURE__ */ T("span", {
227
227
  className: "text-xs text-text-secondary",
228
228
  children: W.dataSinkInfo.schemaVersion
229
229
  })]
230
230
  })
231
231
  ]
232
232
  }),
233
- W.errors.length > 0 && /* @__PURE__ */ w(t, {
233
+ W.errors.length > 0 && /* @__PURE__ */ T(t, {
234
234
  tone: "danger",
235
235
  padding: "compact",
236
236
  headingLevel: 3,
237
237
  title: j("bigconsole.dataSinks.import.errorsHeading", "Errors ({{count}})", { count: W.errors.length }),
238
- icon: /* @__PURE__ */ w(m, { className: "size-4" }),
239
- children: /* @__PURE__ */ w("ul", {
238
+ icon: /* @__PURE__ */ T(m, { className: "size-4" }),
239
+ children: /* @__PURE__ */ T("ul", {
240
240
  className: "space-y-1 text-xs text-status-error-text",
241
- children: W.errors.map((e, t) => /* @__PURE__ */ T("li", { children: [
242
- /* @__PURE__ */ T("span", {
241
+ children: W.errors.map((e, t) => /* @__PURE__ */ E("li", { children: [
242
+ /* @__PURE__ */ E("span", {
243
243
  className: "font-mono",
244
244
  children: [
245
245
  "[",
@@ -252,48 +252,48 @@ var k = a(function({ isOpen: a, onClose: k, onSuccess: A }) {
252
252
  ] }, t))
253
253
  })
254
254
  }),
255
- W.isValid && /* @__PURE__ */ T(t, {
255
+ W.isValid && /* @__PURE__ */ E(t, {
256
256
  title: j("bigconsole.dataSinks.import.optionsHeading", "Import Options"),
257
257
  description: "Rename the sink or give it a different key before importing.",
258
258
  headingLevel: 3,
259
259
  bodyClassName: "space-y-form-gap",
260
260
  children: [
261
- /* @__PURE__ */ w(t, {
261
+ /* @__PURE__ */ T(t, {
262
262
  tone: "info",
263
263
  emphasis: "muted",
264
264
  padding: "compact",
265
265
  headingLevel: 4,
266
- icon: /* @__PURE__ */ w(f, { className: "size-4" }),
266
+ icon: /* @__PURE__ */ T(f, { className: "size-4" }),
267
267
  title: Q ? j("bigconsole.dataSinks.import.checkExistingHeading", "Import will check for existing DataSink") : j("bigconsole.dataSinks.import.newWillBeCreatedHeading", "A new DataSink will be created"),
268
- children: /* @__PURE__ */ w("div", {
268
+ children: /* @__PURE__ */ T("div", {
269
269
  className: "text-xs text-[var(--color-status-info-text)]",
270
- children: Q ? /* @__PURE__ */ T(C, { children: [
271
- /* @__PURE__ */ T("p", { children: [
270
+ children: Q ? /* @__PURE__ */ E(w, { children: [
271
+ /* @__PURE__ */ E("p", { children: [
272
272
  j("bigconsole.dataSinks.import.ifOriginalExistsPrefix", "If the original DataSink (ID:"),
273
273
  " ",
274
- /* @__PURE__ */ T("code", {
274
+ /* @__PURE__ */ E("code", {
275
275
  className: "rounded-input bg-bg-surface px-1 font-mono",
276
276
  children: [Q.slice(0, 8), "..."]
277
277
  }),
278
278
  j("bigconsole.dataSinks.import.ifOriginalExistsSuffix", ") exists:")
279
279
  ] }),
280
- /* @__PURE__ */ T("ul", {
280
+ /* @__PURE__ */ E("ul", {
281
281
  className: "mt-1 list-inside list-disc space-y-0.5",
282
- children: [/* @__PURE__ */ w("li", { children: j("bigconsole.dataSinks.import.withChangesUpdate", "With changes → Update the existing DataSink") }), /* @__PURE__ */ w("li", { children: j("bigconsole.dataSinks.import.noChangesMessage", "No changes → Show \"already exists\" message") })]
282
+ children: [/* @__PURE__ */ T("li", { children: j("bigconsole.dataSinks.import.withChangesUpdate", "With changes → Update the existing DataSink") }), /* @__PURE__ */ T("li", { children: j("bigconsole.dataSinks.import.noChangesMessage", "No changes → Show \"already exists\" message") })]
283
283
  }),
284
- /* @__PURE__ */ w("p", {
284
+ /* @__PURE__ */ T("p", {
285
285
  className: "mt-1",
286
286
  children: j("bigconsole.dataSinks.import.ifNotExistsCreate", "If original doesn't exist → Create a new DataSink")
287
287
  })
288
- ] }) : /* @__PURE__ */ w("p", { children: j("bigconsole.dataSinks.import.newWillBeCreatedBody", "Import as a new DataSink with the specified configuration.") })
288
+ ] }) : /* @__PURE__ */ T("p", { children: j("bigconsole.dataSinks.import.newWillBeCreatedBody", "Import as a new DataSink with the specified configuration.") })
289
289
  })
290
290
  }),
291
- /* @__PURE__ */ T("div", {
291
+ /* @__PURE__ */ E("div", {
292
292
  className: "space-y-2",
293
- children: [/* @__PURE__ */ w(S, {
293
+ children: [/* @__PURE__ */ T(S, {
294
294
  htmlFor: "import-name",
295
295
  children: j("bigconsole.dataSinks.import.nameFieldLabel", "DataSink Name")
296
- }), /* @__PURE__ */ w(x, {
296
+ }), /* @__PURE__ */ T(x, {
297
297
  id: "import-name",
298
298
  type: "text",
299
299
  value: L,
@@ -302,14 +302,14 @@ var k = a(function({ isOpen: a, onClose: k, onSuccess: A }) {
302
302
  disabled: M === "importing"
303
303
  })]
304
304
  }),
305
- /* @__PURE__ */ T("div", {
305
+ /* @__PURE__ */ E("div", {
306
306
  className: "space-y-2",
307
307
  children: [
308
- /* @__PURE__ */ w(S, {
308
+ /* @__PURE__ */ T(S, {
309
309
  htmlFor: "import-key",
310
310
  children: j("bigconsole.dataSinks.import.keyFieldLabel", "DataSink Key")
311
311
  }),
312
- /* @__PURE__ */ w(x, {
312
+ /* @__PURE__ */ T(x, {
313
313
  id: "import-key",
314
314
  type: "text",
315
315
  value: z,
@@ -317,7 +317,7 @@ var k = a(function({ isOpen: a, onClose: k, onSuccess: A }) {
317
317
  placeholder: W.dataSinkInfo?.key || j("bigconsole.dataSinks.import.keyPlaceholder", "datasink-key"),
318
318
  disabled: M === "importing"
319
319
  }),
320
- /* @__PURE__ */ w("p", {
320
+ /* @__PURE__ */ T("p", {
321
321
  className: "text-xs text-text-secondary",
322
322
  children: j("bigconsole.dataSinks.import.keyHelp", "Use a unique key to avoid conflicts with existing DataSinks.")
323
323
  })
@@ -326,91 +326,91 @@ var k = a(function({ isOpen: a, onClose: k, onSuccess: A }) {
326
326
  ]
327
327
  })
328
328
  ] }),
329
- M === "complete" && G?.success && /* @__PURE__ */ T(C, { children: [
330
- G.alreadyExists && /* @__PURE__ */ w(t, {
329
+ M === "complete" && G?.success && /* @__PURE__ */ E(w, { children: [
330
+ G.alreadyExists && /* @__PURE__ */ T(t, {
331
331
  tone: "info",
332
332
  headingLevel: 3,
333
333
  title: j("bigconsole.dataSinks.import.alreadyExistsTitle", "DataSink Already Exists"),
334
- icon: /* @__PURE__ */ w(f, { className: "h-icon-sm w-icon-sm" }),
335
- children: /* @__PURE__ */ w("p", {
334
+ icon: /* @__PURE__ */ T(f, { className: "h-icon-sm w-icon-sm" }),
335
+ children: /* @__PURE__ */ T("p", {
336
336
  className: "text-sm text-text-secondary",
337
337
  children: j("bigconsole.dataSinks.import.alreadyExistsBody", "DataSink \"{{name}}\" already exists with the same data. No changes were made.", { name: G.dataSink?.name || G.dataSink?.key || "" })
338
338
  })
339
339
  }),
340
- G.originalUpdated && !G.alreadyExists && /* @__PURE__ */ w(t, {
340
+ G.originalUpdated && !G.alreadyExists && /* @__PURE__ */ T(t, {
341
341
  tone: "success",
342
342
  headingLevel: 3,
343
343
  title: j("bigconsole.dataSinks.import.updatedTitle", "DataSink Updated!"),
344
- icon: /* @__PURE__ */ w(te, { className: "h-icon-sm w-icon-sm" }),
345
- children: /* @__PURE__ */ w("p", {
344
+ icon: /* @__PURE__ */ T(te, { className: "h-icon-sm w-icon-sm" }),
345
+ children: /* @__PURE__ */ T("p", {
346
346
  className: "text-sm text-text-secondary",
347
347
  children: j("bigconsole.dataSinks.import.updatedBody", "DataSink \"{{name}}\" has been updated with the imported data.", { name: G.dataSink?.name || G.dataSink?.key || "" })
348
348
  })
349
349
  }),
350
- !G.originalUpdated && !G.alreadyExists && /* @__PURE__ */ w(t, {
350
+ !G.originalUpdated && !G.alreadyExists && /* @__PURE__ */ T(t, {
351
351
  tone: "success",
352
352
  headingLevel: 3,
353
353
  title: j("bigconsole.dataSinks.import.successTitle", "Import Successful!"),
354
- icon: /* @__PURE__ */ w(d, { className: "h-icon-sm w-icon-sm" }),
355
- children: /* @__PURE__ */ w("p", {
354
+ icon: /* @__PURE__ */ T(d, { className: "h-icon-sm w-icon-sm" }),
355
+ children: /* @__PURE__ */ T("p", {
356
356
  className: "text-sm text-text-secondary",
357
357
  children: j("bigconsole.dataSinks.import.successBody", "DataSink \"{{name}}\" has been created.", { name: G.dataSink?.name || G.dataSink?.key || "" })
358
358
  })
359
359
  })
360
360
  ] }),
361
- U && /* @__PURE__ */ w(t, {
361
+ U && /* @__PURE__ */ T(t, {
362
362
  tone: "danger",
363
363
  padding: "compact",
364
364
  headingLevel: 3,
365
365
  title: "Import failed",
366
- children: /* @__PURE__ */ w("p", {
366
+ children: /* @__PURE__ */ T("p", {
367
367
  className: "text-sm text-status-error-text",
368
368
  children: U.message
369
369
  })
370
370
  }),
371
- G && !G.success && G.errorMessage && /* @__PURE__ */ w(t, {
371
+ G && !G.success && G.errorMessage && /* @__PURE__ */ T(t, {
372
372
  tone: "danger",
373
373
  padding: "compact",
374
374
  headingLevel: 3,
375
375
  title: "Import failed",
376
- children: /* @__PURE__ */ w("p", {
376
+ children: /* @__PURE__ */ T("p", {
377
377
  className: "text-sm text-status-error-text",
378
378
  children: G.errorMessage
379
379
  })
380
380
  })
381
381
  ] })
382
382
  }),
383
- /* @__PURE__ */ T(v, {
383
+ /* @__PURE__ */ E(v, {
384
384
  className: "flex flex-col-reverse gap-control-gap sm:flex-row sm:justify-between",
385
- children: [M === "preview" ? /* @__PURE__ */ T(g, {
385
+ children: [M === "preview" ? /* @__PURE__ */ E(g, {
386
386
  variant: "ghost",
387
387
  onClick: () => {
388
388
  N("select"), P(null), I(null), Y();
389
389
  },
390
390
  disabled: H,
391
- children: [/* @__PURE__ */ w(u, { className: "size-4" }), j("bigconsole.dataSinks.import.back", "Back")]
392
- }) : /* @__PURE__ */ w("span", {
391
+ children: [/* @__PURE__ */ T(u, { className: "size-4" }), j("bigconsole.dataSinks.import.back", "Back")]
392
+ }) : /* @__PURE__ */ T("span", {
393
393
  "aria-hidden": "true",
394
394
  className: "hidden sm:block"
395
- }), /* @__PURE__ */ T("div", {
395
+ }), /* @__PURE__ */ E("div", {
396
396
  className: "flex flex-wrap items-center gap-2",
397
397
  children: [
398
- M !== "complete" && /* @__PURE__ */ w(g, {
398
+ M !== "complete" && /* @__PURE__ */ T(g, {
399
399
  variant: "outline",
400
400
  onClick: k,
401
401
  disabled: !Z,
402
402
  children: j("bigconsole.dataSinks.import.cancel", "Cancel")
403
403
  }),
404
- M === "preview" && W?.isValid && /* @__PURE__ */ T(g, {
404
+ M === "preview" && W?.isValid && /* @__PURE__ */ E(g, {
405
405
  onClick: se,
406
406
  disabled: H,
407
- children: [/* @__PURE__ */ w(p, { className: "size-4" }), j("bigconsole.dataSinks.import.importButton", "Import DataSink")]
407
+ children: [/* @__PURE__ */ T(p, { className: "size-4" }), j("bigconsole.dataSinks.import.importButton", "Import DataSink")]
408
408
  }),
409
- M === "importing" && /* @__PURE__ */ T("div", {
409
+ M === "importing" && /* @__PURE__ */ E("div", {
410
410
  className: "flex items-center gap-2 text-sm text-text-secondary",
411
- children: [/* @__PURE__ */ w(ie, { className: "size-4" }), j("bigconsole.dataSinks.import.importing", "Importing...")]
411
+ children: [/* @__PURE__ */ T(ie, { className: "size-4" }), j("bigconsole.dataSinks.import.importing", "Importing...")]
412
412
  }),
413
- M === "complete" && /* @__PURE__ */ w(g, {
413
+ M === "complete" && /* @__PURE__ */ T(g, {
414
414
  onClick: k,
415
415
  children: j("bigconsole.dataSinks.import.done", "Done")
416
416
  })
@@ -1,11 +1,11 @@
1
1
  import "../common/sectionStyles.js";
2
2
  import "../common/index.js";
3
3
  import { memo as e, useCallback as t, useEffect as n, useMemo as r, useRef as i, useState as a } from "react";
4
- import { jsx as o, jsxs as s } from "react/jsx-runtime";
5
- import { useI18n as c } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
4
+ import { useI18n as o } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
5
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
6
6
  //#region src/bigconsole/components/datasink/RefreshTypeSelector.tsx
7
7
  var l = e(function({ value: e, onChange: l, disabled: u = !1, error: d }) {
8
- let { t: f } = c(), p = r(() => [
8
+ let { t: f } = o(), p = r(() => [
9
9
  {
10
10
  label: f("bigconsole.dataSinks.refreshType.presetEvery5MinutesLabel", "Every 5 minutes"),
11
11
  cron: "*/5 * * * *",
@@ -135,19 +135,19 @@ var l = e(function({ value: e, onChange: l, disabled: u = !1, error: d }) {
135
135
  S,
136
136
  v
137
137
  ]);
138
- return /* @__PURE__ */ s("div", {
138
+ return /* @__PURE__ */ c("div", {
139
139
  className: "space-y-4",
140
140
  children: [
141
- /* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("label", {
141
+ /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("label", {
142
142
  className: "block text-sm font-medium text-text-primary mb-1",
143
143
  children: f("bigconsole.dataSinks.refreshType.heading", "Refresh Type")
144
- }), /* @__PURE__ */ o("p", {
144
+ }), /* @__PURE__ */ s("p", {
145
145
  className: "text-xs text-text-secondary",
146
146
  children: f("bigconsole.dataSinks.refreshType.headingDescription", "When should this data be updated?")
147
147
  })] }),
148
- /* @__PURE__ */ s("div", {
148
+ /* @__PURE__ */ c("div", {
149
149
  className: "space-y-list-gap",
150
- children: [/* @__PURE__ */ s("label", {
150
+ children: [/* @__PURE__ */ c("label", {
151
151
  className: `
152
152
  flex cursor-pointer items-start gap-3
153
153
  rounded-input
@@ -156,65 +156,65 @@ var l = e(function({ value: e, onChange: l, disabled: u = !1, error: d }) {
156
156
  ${u ? "cursor-not-allowed opacity-50" : ""}
157
157
  ${g === "manual" ? "border-[var(--color-action-primary-bg)] bg-bg-accentSubtle" : "border-[var(--color-border-subtle)] hover:border-[var(--color-border-strong)]"}
158
158
  `,
159
- children: [/* @__PURE__ */ o("input", {
159
+ children: [/* @__PURE__ */ s("input", {
160
160
  type: "radio",
161
161
  name: "refresh-type",
162
162
  checked: g === "manual",
163
163
  onChange: () => D("manual"),
164
164
  disabled: u,
165
165
  className: "\n mt-0.5\n h-4 w-4\n border-[var(--color-border-default)]\n text-action-primary-bg\n focus-visible:ring-2\n focus-visible:ring-ring\n "
166
- }), /* @__PURE__ */ s("div", {
166
+ }), /* @__PURE__ */ c("div", {
167
167
  className: "flex-1",
168
- children: [/* @__PURE__ */ o("span", {
168
+ children: [/* @__PURE__ */ s("span", {
169
169
  className: "text-sm font-medium text-text-primary",
170
170
  children: f("bigconsole.dataSinks.refreshType.manualLabel", "Manual")
171
- }), /* @__PURE__ */ o("p", {
171
+ }), /* @__PURE__ */ s("p", {
172
172
  className: "text-xs text-text-secondary mt-0.5",
173
173
  children: f("bigconsole.dataSinks.refreshType.manualDescription", "Data refreshes only when you click the \"Refresh\" button")
174
174
  })]
175
175
  })]
176
- }), /* @__PURE__ */ s("div", {
176
+ }), /* @__PURE__ */ c("div", {
177
177
  className: `
178
178
  rounded-input border
179
179
  motion-safe:transition-colors
180
180
  ${u ? "opacity-50" : ""}
181
181
  ${g === "scheduled" ? "border-[var(--color-action-primary-bg)] bg-bg-accentSubtle" : "border-[var(--color-border-subtle)]"}
182
182
  `,
183
- children: [/* @__PURE__ */ s("label", {
183
+ children: [/* @__PURE__ */ c("label", {
184
184
  className: `
185
185
  flex items-start gap-3
186
186
  p-4
187
187
  cursor-pointer
188
188
  ${u ? "cursor-not-allowed" : ""}
189
189
  `,
190
- children: [/* @__PURE__ */ o("input", {
190
+ children: [/* @__PURE__ */ s("input", {
191
191
  type: "radio",
192
192
  name: "refresh-type",
193
193
  checked: g === "scheduled",
194
194
  onChange: () => D("scheduled"),
195
195
  disabled: u,
196
196
  className: "\n mt-0.5\n h-4 w-4\n border-[var(--color-border-default)]\n text-action-primary-bg\n focus-visible:ring-2\n focus-visible:ring-ring\n "
197
- }), /* @__PURE__ */ s("div", {
197
+ }), /* @__PURE__ */ c("div", {
198
198
  className: "flex-1",
199
- children: [/* @__PURE__ */ o("span", {
199
+ children: [/* @__PURE__ */ s("span", {
200
200
  className: "text-sm font-medium text-text-primary",
201
201
  children: f("bigconsole.dataSinks.refreshType.automaticLabel", "Automatic")
202
- }), /* @__PURE__ */ o("p", {
202
+ }), /* @__PURE__ */ s("p", {
203
203
  className: "text-xs text-text-secondary mt-0.5",
204
204
  children: f("bigconsole.dataSinks.refreshType.automaticDescription", "Data refreshes on a schedule")
205
205
  })]
206
206
  })]
207
- }), g === "scheduled" && /* @__PURE__ */ s("div", {
207
+ }), g === "scheduled" && /* @__PURE__ */ c("div", {
208
208
  className: "space-y-form-gap px-4 pb-4",
209
209
  children: [
210
- /* @__PURE__ */ s("div", {
210
+ /* @__PURE__ */ c("div", {
211
211
  className: "border-t border-[var(--color-border-subtle)] pt-4",
212
- children: [/* @__PURE__ */ o("label", {
212
+ children: [/* @__PURE__ */ s("label", {
213
213
  className: "mb-2 block text-xs font-medium text-text-secondary",
214
214
  children: f("bigconsole.dataSinks.refreshType.scheduleLabel", "Schedule")
215
- }), /* @__PURE__ */ o("div", {
215
+ }), /* @__PURE__ */ s("div", {
216
216
  className: "grid grid-cols-1 gap-2 sm:grid-cols-2",
217
- children: p.map((e) => /* @__PURE__ */ o("button", {
217
+ children: p.map((e) => /* @__PURE__ */ s("button", {
218
218
  type: "button",
219
219
  onClick: () => O(e),
220
220
  disabled: u,
@@ -228,14 +228,14 @@ var l = e(function({ value: e, onChange: l, disabled: u = !1, error: d }) {
228
228
  ${u ? "cursor-not-allowed" : "cursor-pointer"}
229
229
  ${!b && v?.cron === e.cron ? "border-[var(--color-action-primary-bg)] bg-bg-accentSubtle text-text-link" : "border-[var(--color-border-subtle)] hover:border-[var(--color-border-strong)]"}
230
230
  `,
231
- children: /* @__PURE__ */ o("span", {
231
+ children: /* @__PURE__ */ s("span", {
232
232
  className: "text-sm font-medium",
233
233
  children: e.label
234
234
  })
235
235
  }, e.cron))
236
236
  })]
237
237
  }),
238
- /* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("button", {
238
+ /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("button", {
239
239
  type: "button",
240
240
  onClick: k,
241
241
  disabled: u,
@@ -245,9 +245,9 @@ var l = e(function({ value: e, onChange: l, disabled: u = !1, error: d }) {
245
245
  ${b ? "text-text-link" : "text-text-secondary hover:text-text-primary"}
246
246
  `,
247
247
  children: b ? f("bigconsole.dataSinks.refreshType.usingCustomSchedule", "Using custom schedule") : f("bigconsole.dataSinks.refreshType.useCustomSchedule", "Use custom schedule...")
248
- }), b && /* @__PURE__ */ s("div", {
248
+ }), b && /* @__PURE__ */ c("div", {
249
249
  className: "mt-2",
250
- children: [/* @__PURE__ */ o("input", {
250
+ children: [/* @__PURE__ */ s("input", {
251
251
  type: "text",
252
252
  "aria-label": "Custom cron expression",
253
253
  value: S,
@@ -255,22 +255,22 @@ var l = e(function({ value: e, onChange: l, disabled: u = !1, error: d }) {
255
255
  disabled: u,
256
256
  placeholder: "*/15 * * * *",
257
257
  className: "\n h-control-md w-full min-w-0\n rounded-input\n border border-[var(--color-border-default)]\n bg-bg-sunken\n px-3\n font-mono\n text-sm text-text-primary\n focus-visible:outline-none\n focus-visible:ring-2\n focus-visible:ring-ring\n "
258
- }), /* @__PURE__ */ o("p", {
258
+ }), /* @__PURE__ */ s("p", {
259
259
  className: "mt-1 text-xs text-text-muted",
260
260
  children: f("bigconsole.dataSinks.refreshType.customCronHelp", "Enter a cron expression (e.g., */15 * * * * for every 15 minutes)")
261
261
  })]
262
262
  })] }),
263
- /* @__PURE__ */ s("div", { children: [/* @__PURE__ */ o("label", {
263
+ /* @__PURE__ */ c("div", { children: [/* @__PURE__ */ s("label", {
264
264
  htmlFor: "refresh-timezone",
265
265
  className: "mb-2 block text-xs font-medium text-text-secondary",
266
266
  children: f("bigconsole.dataSinks.refreshType.timezoneLabel", "Timezone")
267
- }), /* @__PURE__ */ o("select", {
267
+ }), /* @__PURE__ */ s("select", {
268
268
  id: "refresh-timezone",
269
269
  value: w,
270
270
  onChange: j,
271
271
  disabled: u,
272
272
  className: "\n h-control-md w-full min-w-0\n rounded-input\n border border-[var(--color-border-default)]\n bg-bg-sunken\n px-3\n text-sm text-text-primary\n focus-visible:outline-none\n focus-visible:ring-2\n focus-visible:ring-ring\n ",
273
- children: m.map((e) => /* @__PURE__ */ o("option", {
273
+ children: m.map((e) => /* @__PURE__ */ s("option", {
274
274
  value: e.value,
275
275
  children: e.label
276
276
  }, e.value))
@@ -279,20 +279,20 @@ var l = e(function({ value: e, onChange: l, disabled: u = !1, error: d }) {
279
279
  })]
280
280
  })]
281
281
  }),
282
- d && /* @__PURE__ */ s("div", {
282
+ d && /* @__PURE__ */ c("div", {
283
283
  className: "flex items-start gap-2",
284
- children: [/* @__PURE__ */ o("svg", {
284
+ children: [/* @__PURE__ */ s("svg", {
285
285
  className: "w-4 h-4 text-status-error-text flex-shrink-0 mt-0.5",
286
286
  fill: "none",
287
287
  stroke: "currentColor",
288
288
  viewBox: "0 0 24 24",
289
- children: /* @__PURE__ */ o("path", {
289
+ children: /* @__PURE__ */ s("path", {
290
290
  strokeLinecap: "round",
291
291
  strokeLinejoin: "round",
292
292
  strokeWidth: 2,
293
293
  d: "M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
294
294
  })
295
- }), /* @__PURE__ */ o("p", {
295
+ }), /* @__PURE__ */ s("p", {
296
296
  className: "text-xs text-status-error-text",
297
297
  children: d
298
298
  })]