@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,670 +1,439 @@
1
- import { useBigConsoleNavigate as e } from "../context/BigConsoleContext.js";
1
+ import { Section as e, SectionStack as t } from "../components/common/Section.js";
2
+ import "../components/common/index.js";
3
+ import { useBigConsoleNavigate as n } from "../context/BigConsoleContext.js";
2
4
  import "../context/index.js";
3
- import { reportBigConsoleQuotaError as t } from "../utils/quota.js";
4
- import n from "../hooks/useDashboardOperations.js";
5
+ import { reportBigConsoleQuotaError as r } from "../utils/quota.js";
6
+ import i from "../hooks/useDashboardOperations.js";
5
7
  import "../hooks/index.js";
6
- import { BIGCONSOLE_PERMISSIONS as r } from "../../constants/permissions.js";
7
- import i from "../components/dashboard/CreateDashboardDialog.js";
8
- import a from "../components/dashboard/ImportDashboardDialog.js";
9
- import { isNative as o, nativeConfirm as ee, nativeImpact as s, nativeNotify as c } from "../../utils/nativeBridge.js";
10
- import { memo as l, useCallback as u, useEffect as d, useState as f } from "react";
11
- import { AccessDenied as te, PermissionButton as p } from "@burdenoff/fe-libs/shared/components";
8
+ import { BIGCONSOLE_PERMISSIONS as a } from "../../constants/permissions.js";
9
+ import o from "../components/dashboard/CreateDashboardDialog.js";
10
+ import s from "../components/dashboard/ImportDashboardDialog.js";
11
+ import { isNative as c, nativeConfirm as ee, nativeImpact as l, nativeNotify as u } from "../../utils/nativeBridge.js";
12
+ import { memo as d, useCallback as f, useEffect as p, useState as m } from "react";
13
+ import { AccessDenied as te, PermissionButton as h } from "@burdenoff/fe-libs/shared/components";
12
14
  import { usePermissions as ne } from "@burdenoff/fe-libs/shared/providers/shell";
13
- import { Calendar as m, ChevronLeft as re, ChevronRight as ie, Copy as h, FileText as ae, Layers as g, LayoutDashboard as _, LayoutGrid as oe, List as se, Pencil as v, Plus as y, Search as ce, Trash2 as b, Upload as x } from "lucide-react";
14
- import { useI18n as le } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
15
- import { AuroraBackground as ue, Badge as S, Button as C, CTAOverflowMenu as de, Card as w, CardContent as T, GlassCard as fe, GradientText as pe, IllustratedEmptyState as me, Input as he, PagePurpose as ge, Spinner as E } from "@burdenoff/fe-libs/ui";
16
- import { jsx as D, jsxs as O } from "react/jsx-runtime";
15
+ import { Calendar as g, ChevronLeft as re, ChevronRight as ie, Copy as _, FileText as v, Layers as y, LayoutDashboard as b, LayoutGrid as ae, List as oe, Pencil as x, Plus as S, Search as se, Trash2 as ce, Upload as le } from "lucide-react";
16
+ import { useI18n as ue } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
17
+ import { AuroraBackground as C, Badge as w, Button as T, CTAOverflowMenu as E, Card as D, CardContent as O, GlassCard as de, GradientText as k, IllustratedEmptyState as fe, Input as pe, PagePurpose as me, Spinner as A } from "@burdenoff/fe-libs/ui";
18
+ import { jsx as j, jsxs as M } from "react/jsx-runtime";
17
19
  //#region src/bigconsole/pages/DashboardsPage.tsx
18
- var k = "bf-bigconsole-dashboards-view", A = 12, j = l(function() {
19
- let l = e(), { t: j } = le(), M = u((e, t) => {
20
- let n = j(e);
20
+ var N = "bf-bigconsole-dashboards-view", P = 12, F = 7;
21
+ function he(e, t) {
22
+ if (t <= F) return Array.from({ length: t }, (e, t) => t + 1);
23
+ let n = new Set([
24
+ 1,
25
+ t,
26
+ e
27
+ ]);
28
+ e - 1 > 1 && n.add(e - 1), e + 1 < t && n.add(e + 1);
29
+ let r = Array.from(n).sort((e, t) => e - t), i = [];
30
+ return r.forEach((e, t) => {
31
+ t > 0 && e - r[t - 1] > 1 && i.push(null), i.push(e);
32
+ }), i;
33
+ }
34
+ var ge = d(function({ title: e, subtitle: t, createLabel: n, importLabel: r, onCreate: i, onImport: a, canCreate: o, canImport: s }) {
35
+ return /* @__PURE__ */ M("div", {
36
+ className: "relative overflow-hidden border-b border-[var(--color-border-seam)] bg-[image:var(--gradient-gloss-card)]",
37
+ children: [/* @__PURE__ */ j(C, { intensity: "subtle" }), /* @__PURE__ */ j("div", {
38
+ style: { padding: "var(--space-pagePadding)" },
39
+ children: /* @__PURE__ */ M("div", {
40
+ style: {
41
+ display: "flex",
42
+ alignItems: "center",
43
+ justifyContent: "space-between",
44
+ flexWrap: "wrap",
45
+ gap: "var(--space-formGap)"
46
+ },
47
+ children: [/* @__PURE__ */ M("div", {
48
+ style: {
49
+ display: "flex",
50
+ alignItems: "center",
51
+ gap: "var(--space-formGap)",
52
+ minWidth: 0
53
+ },
54
+ children: [/* @__PURE__ */ j("div", {
55
+ style: {
56
+ display: "flex",
57
+ height: "var(--size-controlHeight-lg)",
58
+ width: "var(--size-controlHeight-lg)",
59
+ flexShrink: 0,
60
+ alignItems: "center",
61
+ justifyContent: "center",
62
+ borderRadius: "var(--radius-card)",
63
+ backgroundColor: "var(--color-action-primary-bg)"
64
+ },
65
+ children: /* @__PURE__ */ j(b, { style: {
66
+ height: "var(--size-icon-lg)",
67
+ width: "var(--size-icon-lg)",
68
+ color: "var(--color-action-primary-text)"
69
+ } })
70
+ }), /* @__PURE__ */ M("div", {
71
+ style: { minWidth: 0 },
72
+ children: [/* @__PURE__ */ j("h1", {
73
+ style: {
74
+ fontSize: "var(--font-size-heading-h4)",
75
+ fontWeight: "var(--font-weight-bold)",
76
+ margin: 0,
77
+ color: "var(--color-text-primary)"
78
+ },
79
+ children: /* @__PURE__ */ j(k, { children: e })
80
+ }), /* @__PURE__ */ j("p", {
81
+ style: {
82
+ fontSize: "var(--font-size-body-sm)",
83
+ color: "var(--color-text-secondary)",
84
+ margin: 0
85
+ },
86
+ children: t
87
+ })]
88
+ })]
89
+ }), /* @__PURE__ */ j(E, {
90
+ primary: {
91
+ label: n,
92
+ onSelect: i,
93
+ disabled: !o,
94
+ icon: /* @__PURE__ */ j(S, { style: {
95
+ marginRight: "var(--space-iconGap)",
96
+ height: "var(--size-icon-sm)",
97
+ width: "var(--size-icon-sm)"
98
+ } })
99
+ },
100
+ actions: [{
101
+ label: r,
102
+ onSelect: a,
103
+ disabled: !s,
104
+ icon: /* @__PURE__ */ j(le, { style: {
105
+ height: "var(--size-icon-sm)",
106
+ width: "var(--size-icon-sm)"
107
+ } })
108
+ }]
109
+ })]
110
+ })
111
+ })]
112
+ });
113
+ }), I = d(function() {
114
+ let d = n(), { t: C } = ue(), E = f((e, t) => {
115
+ let n = C(e);
21
116
  return n === e ? t : n;
22
- }, [j]), [N, _e] = f(""), [P, F] = f(1), [ve, I] = f(!1), [L, R] = f(!1), [ye, z] = f(!1), [B, be] = f(() => {
117
+ }, [C]), [k, F] = m(""), [I, L] = m(1), [_e, R] = m(!1), [z, B] = m(!1), [ve, V] = m(!1), [H, ye] = m(() => {
23
118
  try {
24
- return window.localStorage.getItem(k) === "list" ? "list" : "grid";
119
+ return window.localStorage.getItem(N) === "list" ? "list" : "grid";
25
120
  } catch {
26
121
  return "grid";
27
122
  }
28
- }), V = u((e) => {
29
- be(e);
123
+ }), U = f((e) => {
124
+ ye(e);
30
125
  try {
31
- window.localStorage.setItem(k, e);
126
+ window.localStorage.setItem(N, e);
32
127
  } catch {}
33
- }, []), { loading: H, error: U, dashboards: W, createDashboard: G, deleteDashboard: K, cloneDashboard: q, refetch: J } = n(), { hasPermission: Y, isLoading: xe } = ne(), Se = Y(r.DASHBOARD_READ), Ce = Y(r.DASHBOARD_CREATE), we = Y(r.DASHBOARD_IMPORT), X = W.filter((e) => e.name.toLowerCase().includes(N.toLowerCase()) || e.description?.toLowerCase().includes(N.toLowerCase())), Z = Math.max(1, Math.ceil(X.length / A)), Q = (P - 1) * A, $ = X.slice(Q, Q + A);
34
- d(() => {
35
- F(1);
36
- }, [N, B]), d(() => {
37
- P > Z && F(Z);
38
- }, [P, Z]);
39
- let Te = u(() => {
40
- F((e) => Math.max(1, e - 1));
41
- }, []), Ee = u(() => {
42
- F((e) => Math.min(Z, e + 1));
43
- }, [Z]), De = u((e) => {
44
- F(e);
45
- }, []), Oe = u(() => {
46
- I(!0);
47
- }, []), ke = u(({ dashboardId: e }) => {
48
- J(), l(`/dashboards/${e}`);
49
- }, [J, l]), Ae = u(() => {
50
- L || I(!1);
51
- }, [L]), je = u(async (e) => {
128
+ }, []), { loading: W, error: be, dashboards: G, createDashboard: K, deleteDashboard: q, cloneDashboard: J, refetch: Y } = i(), { hasPermission: X, isLoading: xe } = ne(), Se = X(a.DASHBOARD_READ), Ce = X(a.DASHBOARD_CREATE), we = X(a.DASHBOARD_IMPORT), Z = G.filter((e) => e.name.toLowerCase().includes(k.toLowerCase()) || e.description?.toLowerCase().includes(k.toLowerCase())), Q = Math.max(1, Math.ceil(Z.length / P)), Te = (I - 1) * P, Ee = Z.slice(Te, Te + P);
129
+ p(() => {
130
+ L(1);
131
+ }, [k, H]), p(() => {
132
+ I > Q && L(Q);
133
+ }, [I, Q]);
134
+ let De = f(() => {
135
+ L((e) => Math.max(1, e - 1));
136
+ }, []), Oe = f(() => {
137
+ L((e) => Math.min(Q, e + 1));
138
+ }, [Q]), ke = f((e) => {
139
+ L(e);
140
+ }, []), Ae = f(() => {
52
141
  R(!0);
142
+ }, []), je = f(({ dashboardId: e }) => {
143
+ Y(), d(`/dashboards/${e}`);
144
+ }, [Y, d]), Me = f(() => {
145
+ z || R(!1);
146
+ }, [z]), Ne = f(async (e) => {
147
+ B(!0);
53
148
  try {
54
- let t = await G({
149
+ let t = await K({
55
150
  name: e.name,
56
151
  description: e.description,
57
152
  category: e.category,
58
153
  tags: e.tags
59
154
  });
60
- t && (I(!1), l(`/dashboards/${t.id}/builder`));
155
+ t && (R(!1), d(`/dashboards/${t.id}/builder`));
61
156
  } catch (e) {
62
- if (t(e, "project")) {
63
- I(!1);
157
+ if (r(e, "project")) {
158
+ R(!1);
64
159
  return;
65
160
  }
66
- throw console.error("Failed to create dashboard:", e), o() && c("error"), e;
161
+ throw console.error("Failed to create dashboard:", e), c() && u("error"), e;
67
162
  } finally {
68
- R(!1);
163
+ B(!1);
69
164
  }
70
- }, [G, l]), Me = u((e) => {
71
- l(`/dashboards/${e}`);
72
- }, [l]), Ne = u((e, t) => {
73
- t.stopPropagation(), l(`/dashboards/${e}/builder`);
74
- }, [l]), Pe = u(async (e, t) => {
165
+ }, [K, d]), Pe = f((e) => {
166
+ d(`/dashboards/${e}`);
167
+ }, [d]), $ = f((e, t) => {
168
+ t.stopPropagation(), d(`/dashboards/${e}/builder`);
169
+ }, [d]), Fe = f(async (e, t) => {
75
170
  t.stopPropagation();
76
- let n = M("bigconsole.dashboards.confirmDelete", "Are you sure you want to delete this dashboard?"), r = await ee({
171
+ let n = E("bigconsole.dashboards.confirmDelete", "Are you sure you want to delete this dashboard?"), r = await ee({
77
172
  title: "Delete dashboard?",
78
173
  message: n,
79
174
  okButtonTitle: "Delete",
80
175
  cancelButtonTitle: "Cancel"
81
176
  });
82
177
  if (r === null ? window.confirm(n) : r) {
83
- s("medium");
178
+ l("medium");
84
179
  try {
85
- await K(e), o() && c("success");
180
+ await q(e), c() && u("success");
86
181
  } catch (e) {
87
- throw o() && c("error"), e;
182
+ throw c() && u("error"), e;
88
183
  }
89
184
  }
90
- }, [K, M]), Fe = u(async (e, n, r) => {
91
- r.stopPropagation();
92
- let i = j("bigconsole.dashboards.clone.defaultSuffix", "{{sourceName}} (Copy)", { sourceName: n }), a = window.prompt(M("bigconsole.dashboards.clone.namePrompt", "Name for the cloned dashboard:"), i);
185
+ }, [q, E]), Ie = f(async (e, t, n) => {
186
+ n.stopPropagation();
187
+ let i = C("bigconsole.dashboards.clone.defaultSuffix", "{{sourceName}} (Copy)", { sourceName: t }), a = window.prompt(E("bigconsole.dashboards.clone.namePrompt", "Name for the cloned dashboard:"), i);
93
188
  if (!(!a || !a.trim())) {
94
- s("medium");
189
+ l("medium");
95
190
  try {
96
- let t = await q(e, a.trim());
97
- t && (o() && c("success"), l(`/dashboards/${t.id}`));
191
+ let t = await J(e, a.trim());
192
+ t && (c() && u("success"), d(`/dashboards/${t.id}`));
98
193
  } catch (e) {
99
- if (t(e, "project")) return;
100
- throw o() && c("error"), e;
194
+ if (r(e, "project")) return;
195
+ throw c() && u("error"), e;
101
196
  }
102
197
  }
103
198
  }, [
104
- q,
105
- l,
106
- M,
107
- j
108
- ]), Ie = u(() => {
109
- z(!0);
110
- }, []), Le = u(() => {
111
- z(!1);
112
- }, []), Re = u((e, t) => {
113
- J();
114
- }, [J]), ze = (e) => {
199
+ J,
200
+ d,
201
+ E,
202
+ C
203
+ ]), Le = f(() => {
204
+ V(!0);
205
+ }, []), Re = f(() => {
206
+ V(!1);
207
+ }, []), ze = f((e, t) => {
208
+ Y();
209
+ }, [Y]), Be = (e) => {
115
210
  let t = new Date(e), n = /* @__PURE__ */ new Date(), r = n.getTime() - t.getTime(), i = Math.floor(r / 6e4), a = Math.floor(r / 36e5), o = Math.floor(r / 864e5);
116
- return i < 1 ? M("bigconsole.dashboards.time.justNow", "Just now") : i < 60 ? `${i}${M("bigconsole.dashboards.time.minutesAgoSuffix", "m ago")}` : a < 24 ? `${a}${M("bigconsole.dashboards.time.hoursAgoSuffix", "h ago")}` : o < 7 ? `${o}${M("bigconsole.dashboards.time.daysAgoSuffix", "d ago")}` : new Intl.DateTimeFormat("en-US", {
211
+ return i < 1 ? E("bigconsole.dashboards.time.justNow", "Just now") : i < 60 ? `${i}${E("bigconsole.dashboards.time.minutesAgoSuffix", "m ago")}` : a < 24 ? `${a}${E("bigconsole.dashboards.time.hoursAgoSuffix", "h ago")}` : o < 7 ? `${o}${E("bigconsole.dashboards.time.daysAgoSuffix", "d ago")}` : new Intl.DateTimeFormat("en-US", {
117
212
  month: "short",
118
213
  day: "numeric",
119
214
  year: t.getFullYear() === n.getFullYear() ? void 0 : "numeric"
120
215
  }).format(t);
121
- }, Be = (e) => e.widgetCount ?? 0, Ve = (e) => e.pageCount || 0;
122
- return U ? /* @__PURE__ */ D("div", {
123
- style: { padding: "var(--space-pagePadding)" },
124
- children: /* @__PURE__ */ D(w, {
125
- style: {
126
- borderColor: "var(--color-status-error-border)",
127
- backgroundColor: "var(--color-status-error-bgSubtle)"
128
- },
129
- children: /* @__PURE__ */ O(T, {
130
- style: { padding: "var(--space-pagePadding)" },
131
- children: [
132
- /* @__PURE__ */ D("h3", {
133
- style: {
134
- fontSize: "var(--font-size-body-sm)",
135
- fontWeight: "var(--font-weight-medium)",
136
- color: "var(--color-status-error-text)"
137
- },
138
- children: M("bigconsole.dashboards.error.title", "Error loading dashboards")
139
- }),
140
- /* @__PURE__ */ D("p", {
141
- style: {
142
- fontSize: "var(--font-size-body-sm)",
143
- color: "var(--color-text-secondary)",
144
- marginTop: "var(--space-controlGap)"
145
- },
146
- children: U.message
147
- }),
148
- /* @__PURE__ */ D(C, {
149
- size: "sm",
150
- onClick: () => J(),
151
- style: { marginTop: "var(--space-formGap)" },
152
- children: M("bigconsole.dashboards.error.retry", "Retry")
153
- })
154
- ]
155
- })
156
- })
157
- }) : xe ? /* @__PURE__ */ D("div", {
216
+ }, Ve = (e) => e.widgetCount ?? 0, He = (e) => e.pageCount || 0, Ue = /* @__PURE__ */ j(ge, {
217
+ title: E("bigconsole.dashboards.title", "Dashboards"),
218
+ subtitle: E("bigconsole.dashboards.subtitle", "Create and manage your analytics dashboards"),
219
+ createLabel: E("bigconsole.dashboards.actions.create", "Create Dashboard"),
220
+ importLabel: E("bigconsole.dashboards.actions.import", "Import"),
221
+ onCreate: Ae,
222
+ onImport: Le,
223
+ canCreate: Ce,
224
+ canImport: we
225
+ });
226
+ if (xe) return /* @__PURE__ */ j("div", {
158
227
  style: {
159
228
  display: "flex",
160
229
  alignItems: "center",
161
230
  justifyContent: "center",
162
231
  padding: "80px 0"
163
232
  },
164
- children: /* @__PURE__ */ D(E, { style: {
233
+ children: /* @__PURE__ */ j(A, { style: {
165
234
  height: "var(--size-icon-xl)",
166
235
  width: "var(--size-icon-xl)"
167
236
  } })
168
- }) : Se ? /* @__PURE__ */ O("div", {
237
+ });
238
+ if (!Se) return /* @__PURE__ */ j(te, {
239
+ title: "Access Denied",
240
+ description: "You don't have permission to view dashboards."
241
+ });
242
+ if (be) return /* @__PURE__ */ M("div", {
243
+ style: {
244
+ minHeight: "100vh",
245
+ backgroundColor: "var(--color-bg-canvas)"
246
+ },
247
+ children: [Ue, /* @__PURE__ */ j("div", {
248
+ style: { padding: "var(--space-pagePadding)" },
249
+ children: /* @__PURE__ */ j(e, {
250
+ headingLevel: 2,
251
+ tone: "danger",
252
+ title: E("bigconsole.dashboards.error.title", "Error loading dashboards"),
253
+ description: be.message,
254
+ "data-testid": "dashboards-error",
255
+ actions: /* @__PURE__ */ j(T, {
256
+ size: "sm",
257
+ onClick: () => Y(),
258
+ children: E("bigconsole.dashboards.error.retry", "Retry")
259
+ })
260
+ })
261
+ })]
262
+ });
263
+ let We = Z.length;
264
+ return /* @__PURE__ */ M("div", {
169
265
  style: {
170
266
  minHeight: "100vh",
171
267
  backgroundColor: "var(--color-bg-canvas)"
172
268
  },
173
269
  children: [
174
- /* @__PURE__ */ O("div", {
175
- className: "relative overflow-hidden border-b border-border-seam bg-gloss-card",
176
- children: [/* @__PURE__ */ D(ue, { intensity: "subtle" }), /* @__PURE__ */ D("div", {
177
- style: { padding: "var(--space-pagePadding)" },
178
- children: /* @__PURE__ */ O("div", {
270
+ Ue,
271
+ /* @__PURE__ */ j("div", {
272
+ style: { padding: "var(--space-pagePadding)" },
273
+ children: /* @__PURE__ */ M(t, { children: [/* @__PURE__ */ j(e, {
274
+ emphasis: "muted",
275
+ padding: "compact",
276
+ "aria-label": E("bigconsole.dashboards.about", "About dashboards"),
277
+ children: /* @__PURE__ */ j(me, {
278
+ className: "max-w-[80ch]",
279
+ children: "Dashboards are live, shareable views built from widgets that query your data sinks — charts, tables, metrics, and drill-downs in one place. Compose a board to monitor a system, share KPIs with your team, or explore data interactively."
280
+ })
281
+ }), /* @__PURE__ */ M(e, {
282
+ headingLevel: 2,
283
+ emphasis: "primary",
284
+ "data-testid": "dashboards-results",
285
+ title: E("bigconsole.dashboards.results.title", "Your dashboards"),
286
+ description: E("bigconsole.dashboards.results.description", "Open a board to view it, or use the card actions to edit, duplicate or delete."),
287
+ meta: /* @__PURE__ */ j(w, {
288
+ variant: "secondary",
289
+ "aria-label": E("bigconsole.dashboards.results.count", `${We} dashboards`),
290
+ children: We
291
+ }),
292
+ actions: /* @__PURE__ */ M("div", {
293
+ role: "group",
294
+ "aria-label": E("bigconsole.dashboards.view.label", "Result layout"),
179
295
  style: {
180
296
  display: "flex",
181
297
  alignItems: "center",
182
- justifyContent: "space-between",
183
- flexWrap: "wrap",
184
- gap: "var(--space-formGap)"
298
+ gap: "var(--space-iconGap)",
299
+ padding: "var(--space-iconGap)",
300
+ borderRadius: "var(--radius-button)",
301
+ backgroundColor: "var(--color-bg-sunken)"
185
302
  },
186
- children: [/* @__PURE__ */ O("div", {
303
+ children: [/* @__PURE__ */ j(T, {
304
+ variant: H === "grid" ? "default" : "ghost",
305
+ size: "sm",
306
+ onClick: () => U("grid"),
307
+ "aria-label": E("bigconsole.dashboards.view.grid", "Grid view"),
308
+ "aria-pressed": H === "grid",
309
+ title: E("bigconsole.dashboards.view.grid", "Grid view"),
187
310
  style: {
188
- display: "flex",
189
- alignItems: "center",
190
- gap: "var(--space-formGap)",
191
- minWidth: 0
311
+ height: "var(--size-controlHeight-md)",
312
+ width: "var(--size-controlHeight-md)",
313
+ padding: 0,
314
+ borderRadius: "var(--radius-button)"
192
315
  },
193
- children: [/* @__PURE__ */ D("div", {
194
- style: {
195
- display: "flex",
196
- height: "var(--size-controlHeight-lg)",
197
- width: "var(--size-controlHeight-lg)",
198
- alignItems: "center",
199
- justifyContent: "center",
200
- borderRadius: "var(--radius-card)",
201
- backgroundColor: "var(--color-action-primary-bg)"
202
- },
203
- children: /* @__PURE__ */ D(_, { style: {
204
- height: "var(--size-icon-lg)",
205
- width: "var(--size-icon-lg)",
206
- color: "var(--color-action-primary-text)"
207
- } })
208
- }), /* @__PURE__ */ O("div", { children: [/* @__PURE__ */ D("h1", {
209
- style: {
210
- fontSize: "var(--font-size-heading-h4)",
211
- fontWeight: "var(--font-weight-bold)",
212
- margin: 0,
213
- color: "var(--color-text-primary)"
214
- },
215
- children: /* @__PURE__ */ D(pe, { children: M("bigconsole.dashboards.title", "Dashboards") })
216
- }), /* @__PURE__ */ D("p", {
217
- style: {
218
- fontSize: "var(--font-size-body-sm)",
219
- color: "var(--color-text-secondary)",
220
- margin: 0
221
- },
222
- children: M("bigconsole.dashboards.subtitle", "Create and manage your analytics dashboards")
223
- })] })]
224
- }), /* @__PURE__ */ D(de, {
225
- primary: {
226
- label: M("bigconsole.dashboards.actions.create", "Create Dashboard"),
227
- onSelect: Oe,
228
- disabled: !Ce,
229
- icon: /* @__PURE__ */ D(y, { style: {
230
- marginRight: "var(--space-iconGap)",
231
- height: "var(--size-icon-sm)",
232
- width: "var(--size-icon-sm)"
233
- } })
316
+ children: /* @__PURE__ */ j(ae, { style: {
317
+ height: "var(--size-icon-sm)",
318
+ width: "var(--size-icon-sm)"
319
+ } })
320
+ }), /* @__PURE__ */ j(T, {
321
+ variant: H === "list" ? "default" : "ghost",
322
+ size: "sm",
323
+ onClick: () => U("list"),
324
+ "aria-label": E("bigconsole.dashboards.view.list", "List view"),
325
+ "aria-pressed": H === "list",
326
+ title: E("bigconsole.dashboards.view.list", "List view"),
327
+ style: {
328
+ height: "var(--size-controlHeight-md)",
329
+ width: "var(--size-controlHeight-md)",
330
+ padding: 0,
331
+ borderRadius: "var(--radius-button)"
234
332
  },
235
- actions: [{
236
- label: M("bigconsole.dashboards.actions.import", "Import"),
237
- onSelect: Ie,
238
- disabled: !we,
239
- icon: /* @__PURE__ */ D(x, { style: {
240
- height: "var(--size-icon-sm)",
241
- width: "var(--size-icon-sm)"
242
- } })
243
- }]
333
+ children: /* @__PURE__ */ j(oe, { style: {
334
+ height: "var(--size-icon-sm)",
335
+ width: "var(--size-icon-sm)"
336
+ } })
244
337
  })]
245
- })
246
- })]
247
- }),
248
- /* @__PURE__ */ O("div", {
249
- style: { padding: "var(--space-pagePadding)" },
250
- children: [
251
- /* @__PURE__ */ D(ge, {
252
- className: "mb-[var(--space-sectionGap)]",
253
- children: "Dashboards are live, shareable views built from widgets that query your data sinks — charts, tables, metrics, and drill-downs in one place. Compose a board to monitor a system, share KPIs with your team, or explore data interactively."
254
338
  }),
255
- /* @__PURE__ */ O("div", {
256
- style: {
257
- marginBottom: "var(--space-sectionGap)",
258
- display: "flex",
259
- alignItems: "center",
260
- justifyContent: "space-between",
261
- flexWrap: "wrap",
262
- gap: "var(--space-formGap)"
263
- },
264
- children: [/* @__PURE__ */ O("div", {
339
+ bodyClassName: "flex flex-col gap-form-gap",
340
+ children: [
341
+ /* @__PURE__ */ M("div", {
265
342
  style: {
266
343
  position: "relative",
267
- flex: 1,
268
- minWidth: 0,
269
- maxWidth: "400px"
344
+ width: "100%",
345
+ maxWidth: "420px"
270
346
  },
271
- children: [/* @__PURE__ */ D(ce, { style: {
272
- position: "absolute",
273
- left: "var(--space-controlGap)",
274
- top: "50%",
275
- transform: "translateY(-50%)",
276
- height: "var(--size-icon-sm)",
277
- width: "var(--size-icon-sm)",
278
- color: "var(--color-text-muted)"
279
- } }), /* @__PURE__ */ D(he, {
280
- type: "text",
281
- placeholder: M("bigconsole.dashboards.search.placeholder", "Search dashboards..."),
282
- value: N,
283
- onChange: (e) => _e(e.target.value),
347
+ children: [/* @__PURE__ */ j(se, {
348
+ "aria-hidden": "true",
349
+ style: {
350
+ position: "absolute",
351
+ left: "var(--space-controlGap)",
352
+ top: "50%",
353
+ transform: "translateY(-50%)",
354
+ height: "var(--size-icon-sm)",
355
+ width: "var(--size-icon-sm)",
356
+ color: "var(--color-text-muted)"
357
+ }
358
+ }), /* @__PURE__ */ j(pe, {
359
+ type: "search",
360
+ "aria-label": E("bigconsole.dashboards.search.placeholder", "Search dashboards..."),
361
+ placeholder: E("bigconsole.dashboards.search.placeholder", "Search dashboards..."),
362
+ value: k,
363
+ onChange: (e) => F(e.target.value),
284
364
  style: {
285
365
  paddingLeft: "var(--size-controlHeight-md)",
286
366
  height: "var(--size-controlHeight-md)"
287
367
  }
288
368
  })]
289
- }), /* @__PURE__ */ O("div", {
369
+ }),
370
+ W && G.length === 0 && /* @__PURE__ */ j("div", {
290
371
  style: {
291
372
  display: "flex",
292
373
  alignItems: "center",
293
- gap: "var(--space-iconGap)",
294
- padding: "var(--space-iconGap)",
295
- borderRadius: "var(--radius-button)",
296
- backgroundColor: "var(--color-bg-sunken)"
374
+ justifyContent: "center",
375
+ padding: "80px 0"
297
376
  },
298
- children: [/* @__PURE__ */ D(C, {
299
- variant: B === "grid" ? "default" : "ghost",
300
- size: "sm",
301
- onClick: () => V("grid"),
302
- "aria-label": M("bigconsole.dashboards.view.grid", "Grid view"),
303
- "aria-pressed": B === "grid",
304
- title: M("bigconsole.dashboards.view.grid", "Grid view"),
305
- style: {
306
- height: "var(--size-controlHeight-sm)",
307
- width: "var(--size-controlHeight-sm)",
308
- padding: 0,
309
- borderRadius: "var(--radius-button)"
310
- },
311
- children: /* @__PURE__ */ D(oe, { style: {
312
- height: "var(--size-icon-sm)",
313
- width: "var(--size-icon-sm)"
314
- } })
315
- }), /* @__PURE__ */ D(C, {
316
- variant: B === "list" ? "default" : "ghost",
317
- size: "sm",
318
- onClick: () => V("list"),
319
- "aria-label": M("bigconsole.dashboards.view.list", "List view"),
320
- "aria-pressed": B === "list",
321
- title: M("bigconsole.dashboards.view.list", "List view"),
322
- style: {
323
- height: "var(--size-controlHeight-sm)",
324
- width: "var(--size-controlHeight-sm)",
325
- padding: 0,
326
- borderRadius: "var(--radius-button)"
327
- },
328
- children: /* @__PURE__ */ D(se, { style: {
329
- height: "var(--size-icon-sm)",
330
- width: "var(--size-icon-sm)"
331
- } })
332
- })]
333
- })]
334
- }),
335
- H && W.length === 0 && /* @__PURE__ */ D("div", {
336
- style: {
337
- display: "flex",
338
- alignItems: "center",
339
- justifyContent: "center",
340
- padding: "80px 0"
341
- },
342
- children: /* @__PURE__ */ O("div", {
343
- style: { textAlign: "center" },
344
- children: [/* @__PURE__ */ D(E, { style: {
345
- height: "var(--size-icon-xl)",
346
- width: "var(--size-icon-xl)",
347
- margin: "0 auto var(--space-formGap)"
348
- } }), /* @__PURE__ */ D("p", {
349
- style: {
350
- fontSize: "var(--font-size-body-sm)",
351
- color: "var(--color-text-muted)"
352
- },
353
- children: M("bigconsole.dashboards.loading", "Loading dashboards...")
354
- })]
355
- })
356
- }),
357
- !H && B === "grid" && X.length > 0 && /* @__PURE__ */ D("div", {
358
- style: {
359
- display: "grid",
360
- gridTemplateColumns: "repeat(auto-fill, minmax(min(320px, 100%), 1fr))",
361
- gap: "var(--space-formGap)"
362
- },
363
- children: $.map((e) => /* @__PURE__ */ D(w, {
364
- onClick: () => Me(e.id),
377
+ children: /* @__PURE__ */ M("div", {
378
+ style: { textAlign: "center" },
379
+ children: [/* @__PURE__ */ j(A, { style: {
380
+ height: "var(--size-icon-xl)",
381
+ width: "var(--size-icon-xl)",
382
+ margin: "0 auto var(--space-formGap)"
383
+ } }), /* @__PURE__ */ j("p", {
384
+ style: {
385
+ fontSize: "var(--font-size-body-sm)",
386
+ color: "var(--color-text-muted)"
387
+ },
388
+ children: E("bigconsole.dashboards.loading", "Loading dashboards...")
389
+ })]
390
+ })
391
+ }),
392
+ !W && H === "grid" && Z.length > 0 && /* @__PURE__ */ j("div", {
365
393
  style: {
366
- cursor: "pointer",
367
- transition: "all 0.2s ease"
394
+ display: "grid",
395
+ gridTemplateColumns: "repeat(auto-fill, minmax(min(320px, 100%), 1fr))",
396
+ gap: "var(--space-formGap)"
368
397
  },
369
- className: "hover:shadow-md hover:border-primary/50",
370
- children: /* @__PURE__ */ O(T, {
371
- style: { padding: "var(--space-cardPadding)" },
372
- children: [
373
- /* @__PURE__ */ O("div", {
374
- style: {
375
- display: "flex",
376
- alignItems: "center",
377
- gap: "var(--space-controlGap)",
378
- marginBottom: "var(--space-formGap)"
379
- },
380
- children: [/* @__PURE__ */ D("div", {
398
+ children: Ee.map((e) => /* @__PURE__ */ j(D, {
399
+ onClick: () => Pe(e.id),
400
+ style: { cursor: "pointer" },
401
+ className: "motion-safe:transition-[box-shadow,border-color] hover:border-[var(--color-border-hover)] hover:shadow-[var(--shadow-elevation-2)]",
402
+ children: /* @__PURE__ */ M(O, {
403
+ style: { padding: "var(--space-cardPadding)" },
404
+ children: [
405
+ /* @__PURE__ */ M("div", {
381
406
  style: {
382
407
  display: "flex",
383
- height: "var(--size-controlHeight-lg)",
384
- width: "var(--size-controlHeight-lg)",
385
- flexShrink: 0,
386
408
  alignItems: "center",
387
- justifyContent: "center",
388
- borderRadius: "var(--radius-button)",
389
- backgroundColor: "var(--color-action-primary-bg)"
390
- },
391
- children: /* @__PURE__ */ D(_, { style: {
392
- height: "var(--size-icon-md)",
393
- width: "var(--size-icon-md)",
394
- color: "var(--color-action-primary-text)"
395
- } })
396
- }), /* @__PURE__ */ O("div", {
397
- style: {
398
- flex: 1,
399
- minWidth: 0
409
+ gap: "var(--space-controlGap)",
410
+ marginBottom: "var(--space-formGap)"
400
411
  },
401
- children: [/* @__PURE__ */ D("h3", {
402
- style: {
403
- fontWeight: "var(--font-weight-bold)",
404
- fontSize: "var(--font-size-body-md)",
405
- margin: 0,
406
- color: "var(--color-text-primary)",
407
- overflow: "hidden",
408
- textOverflow: "ellipsis",
409
- whiteSpace: "nowrap"
410
- },
411
- children: e.name
412
- }), e.category && /* @__PURE__ */ D(S, {
413
- variant: "secondary",
414
- style: {
415
- marginTop: "var(--space-controlGap)",
416
- fontSize: "10px",
417
- fontWeight: "var(--font-weight-semibold)",
418
- textTransform: "uppercase"
419
- },
420
- children: e.category
421
- })]
422
- })]
423
- }),
424
- /* @__PURE__ */ D("p", {
425
- style: {
426
- fontSize: "var(--font-size-body-sm)",
427
- lineHeight: "var(--font-lineHeight-normal)",
428
- color: "var(--color-text-secondary)",
429
- margin: "0 0 var(--space-formGap) 0",
430
- minHeight: "40px",
431
- display: "-webkit-box",
432
- WebkitLineClamp: 2,
433
- WebkitBoxOrient: "vertical",
434
- overflow: "hidden"
435
- },
436
- children: e.description || M("bigconsole.dashboards.card.noDescription", "No description provided")
437
- }),
438
- /* @__PURE__ */ O("div", {
439
- style: {
440
- display: "flex",
441
- alignItems: "center",
442
- gap: "var(--space-formGap)",
443
- marginBottom: "var(--space-formGap)",
444
- padding: "var(--space-controlGap) var(--space-cardPadding)",
445
- backgroundColor: "var(--color-bg-sunken)",
446
- borderRadius: "var(--radius-button)"
447
- },
448
- children: [
449
- /* @__PURE__ */ O("div", {
450
- style: {
451
- display: "flex",
452
- alignItems: "center",
453
- gap: "var(--space-iconGap)"
454
- },
455
- children: [
456
- /* @__PURE__ */ D(g, { style: {
457
- height: "var(--size-icon-sm)",
458
- width: "var(--size-icon-sm)",
459
- color: "var(--color-action-primary-bg)"
460
- } }),
461
- /* @__PURE__ */ D("span", {
462
- style: {
463
- fontSize: "var(--font-size-body-sm)",
464
- fontWeight: "var(--font-weight-semibold)",
465
- color: "var(--color-text-primary)"
466
- },
467
- children: Ve(e)
468
- }),
469
- /* @__PURE__ */ D("span", {
470
- style: {
471
- fontSize: "var(--font-size-body-sm)",
472
- color: "var(--color-text-muted)"
473
- },
474
- children: M("bigconsole.dashboards.card.pages", "pages")
475
- })
476
- ]
477
- }),
478
- /* @__PURE__ */ D("div", { style: {
479
- width: "1px",
480
- height: "var(--size-icon-sm)",
481
- backgroundColor: "var(--color-border)"
482
- } }),
483
- /* @__PURE__ */ O("div", {
412
+ children: [/* @__PURE__ */ j("div", {
484
413
  style: {
485
414
  display: "flex",
415
+ height: "var(--size-controlHeight-lg)",
416
+ width: "var(--size-controlHeight-lg)",
417
+ flexShrink: 0,
486
418
  alignItems: "center",
487
- gap: "var(--space-iconGap)"
419
+ justifyContent: "center",
420
+ borderRadius: "var(--radius-button)",
421
+ backgroundColor: "var(--color-bg-accentSubtle)"
488
422
  },
489
- children: [
490
- /* @__PURE__ */ D(ae, { style: {
491
- height: "var(--size-icon-sm)",
492
- width: "var(--size-icon-sm)",
423
+ children: /* @__PURE__ */ j(b, {
424
+ "aria-hidden": "true",
425
+ style: {
426
+ height: "var(--size-icon-md)",
427
+ width: "var(--size-icon-md)",
493
428
  color: "var(--color-action-primary-bg)"
494
- } }),
495
- /* @__PURE__ */ D("span", {
496
- style: {
497
- fontSize: "var(--font-size-body-sm)",
498
- fontWeight: "var(--font-weight-semibold)",
499
- color: "var(--color-text-primary)"
500
- },
501
- children: Be(e)
502
- }),
503
- /* @__PURE__ */ D("span", {
504
- style: {
505
- fontSize: "var(--font-size-body-sm)",
506
- color: "var(--color-text-muted)"
507
- },
508
- children: M("bigconsole.dashboards.card.widgets", "widgets")
509
- })
510
- ]
511
- })
512
- ]
513
- }),
514
- /* @__PURE__ */ O("div", {
515
- style: {
516
- display: "flex",
517
- alignItems: "center",
518
- justifyContent: "space-between",
519
- paddingTop: "var(--space-controlGap)",
520
- borderTop: "1px solid var(--color-border)"
521
- },
522
- children: [/* @__PURE__ */ O("div", {
523
- style: {
524
- display: "flex",
525
- alignItems: "center",
526
- gap: "var(--space-iconGap)"
527
- },
528
- children: [/* @__PURE__ */ D(m, { style: {
529
- height: "var(--size-icon-sm)",
530
- width: "var(--size-icon-sm)",
531
- color: "var(--color-text-muted)"
532
- } }), /* @__PURE__ */ D("span", {
533
- style: {
534
- fontSize: "var(--font-size-body-sm)",
535
- fontWeight: "var(--font-weight-medium)",
536
- color: "var(--color-text-muted)"
537
- },
538
- children: ze(e.updatedAt)
539
- })]
540
- }), /* @__PURE__ */ O("div", {
541
- style: {
542
- display: "flex",
543
- alignItems: "center",
544
- gap: "var(--space-controlGap)"
545
- },
546
- children: [
547
- /* @__PURE__ */ D(p, {
548
- permission: r.DASHBOARD_UPDATE,
549
- deniedBehavior: "hide",
550
- children: /* @__PURE__ */ D(C, {
551
- variant: "ghost",
552
- size: "sm",
553
- onClick: (t) => Ne(e.id, t),
554
- style: {
555
- height: "var(--size-controlHeight-sm)",
556
- width: "var(--size-controlHeight-sm)",
557
- padding: 0,
558
- borderRadius: "var(--radius-button)"
559
- },
560
- title: M("bigconsole.dashboards.actions.editTitle", "Edit Dashboard"),
561
- children: /* @__PURE__ */ D(v, { style: {
562
- height: "var(--size-icon-sm)",
563
- width: "var(--size-icon-sm)"
564
- } })
565
- })
566
- }),
567
- /* @__PURE__ */ D(p, {
568
- permission: r.DASHBOARD_CREATE,
569
- deniedBehavior: "hide",
570
- children: /* @__PURE__ */ D(C, {
571
- variant: "ghost",
572
- size: "sm",
573
- onClick: (t) => Fe(e.id, e.name, t),
574
- style: {
575
- height: "var(--size-controlHeight-sm)",
576
- width: "var(--size-controlHeight-sm)",
577
- padding: 0,
578
- borderRadius: "var(--radius-button)"
579
- },
580
- title: M("bigconsole.dashboards.actions.cloneTitle", "Clone Dashboard"),
581
- children: /* @__PURE__ */ D(h, { style: {
582
- height: "var(--size-icon-sm)",
583
- width: "var(--size-icon-sm)"
584
- } })
585
- })
586
- }),
587
- /* @__PURE__ */ D(p, {
588
- permission: r.DASHBOARD_DELETE,
589
- deniedBehavior: "hide",
590
- children: /* @__PURE__ */ D(C, {
591
- variant: "ghost",
592
- size: "sm",
593
- onClick: (t) => Pe(e.id, t),
594
- style: {
595
- height: "var(--size-controlHeight-sm)",
596
- width: "var(--size-controlHeight-sm)",
597
- padding: 0,
598
- borderRadius: "var(--radius-button)"
599
- },
600
- className: "hover:text-status-error-text hover:bg-status-error-bg/10",
601
- title: M("bigconsole.dashboards.actions.deleteTitle", "Delete Dashboard"),
602
- children: /* @__PURE__ */ D(b, { style: {
603
- height: "var(--size-icon-sm)",
604
- width: "var(--size-icon-sm)"
605
- } })
606
- })
429
+ }
607
430
  })
608
- ]
609
- })]
610
- })
611
- ]
612
- })
613
- }, e.id))
614
- }),
615
- !H && B === "list" && X.length > 0 && /* @__PURE__ */ D("div", {
616
- style: {
617
- display: "flex",
618
- flexDirection: "column",
619
- gap: "var(--space-controlGap)"
620
- },
621
- children: $.map((e) => /* @__PURE__ */ D(w, {
622
- onClick: () => Me(e.id),
623
- style: {
624
- cursor: "pointer",
625
- transition: "all 0.2s ease"
626
- },
627
- className: "hover:shadow-md hover:border-primary/50",
628
- children: /* @__PURE__ */ D(T, {
629
- style: { padding: "var(--space-cardPadding)" },
630
- children: /* @__PURE__ */ O("div", {
631
- style: {
632
- display: "flex",
633
- alignItems: "center",
634
- gap: "var(--space-formGap)",
635
- flexWrap: "wrap"
636
- },
637
- children: [
638
- /* @__PURE__ */ D("div", {
639
- style: {
640
- display: "flex",
641
- height: "var(--size-controlHeight-lg)",
642
- width: "var(--size-controlHeight-lg)",
643
- flexShrink: 0,
644
- alignItems: "center",
645
- justifyContent: "center",
646
- borderRadius: "var(--radius-button)",
647
- backgroundColor: "var(--color-action-primary-bg)"
648
- },
649
- children: /* @__PURE__ */ D(_, { style: {
650
- height: "var(--size-icon-md)",
651
- width: "var(--size-icon-md)",
652
- color: "var(--color-action-primary-text)"
653
- } })
654
- }),
655
- /* @__PURE__ */ O("div", {
656
- style: {
657
- flex: 1,
658
- minWidth: "180px"
659
- },
660
- children: [/* @__PURE__ */ O("div", {
431
+ }), /* @__PURE__ */ M("div", {
661
432
  style: {
662
- display: "flex",
663
- alignItems: "center",
664
- gap: "var(--space-controlGap)",
665
- flexWrap: "wrap"
433
+ flex: 1,
434
+ minWidth: 0
666
435
  },
667
- children: [/* @__PURE__ */ D("h3", {
436
+ children: [/* @__PURE__ */ j("h3", {
668
437
  style: {
669
438
  fontWeight: "var(--font-weight-bold)",
670
439
  fontSize: "var(--font-size-body-md)",
@@ -672,324 +441,593 @@ var k = "bf-bigconsole-dashboards-view", A = 12, j = l(function() {
672
441
  color: "var(--color-text-primary)",
673
442
  overflow: "hidden",
674
443
  textOverflow: "ellipsis",
675
- whiteSpace: "nowrap",
676
- maxWidth: "100%"
444
+ whiteSpace: "nowrap"
677
445
  },
678
446
  children: e.name
679
- }), e.category && /* @__PURE__ */ D(S, {
447
+ }), e.category && /* @__PURE__ */ j(w, {
680
448
  variant: "secondary",
681
449
  style: {
450
+ marginTop: "var(--space-controlGap)",
682
451
  fontSize: "10px",
683
452
  fontWeight: "var(--font-weight-semibold)",
684
453
  textTransform: "uppercase"
685
454
  },
686
455
  children: e.category
687
456
  })]
688
- }), /* @__PURE__ */ D("p", {
689
- style: {
690
- fontSize: "var(--font-size-body-sm)",
691
- lineHeight: "var(--font-lineHeight-normal)",
692
- color: "var(--color-text-secondary)",
693
- margin: "var(--space-controlGap) 0 0 0",
694
- overflow: "hidden",
695
- textOverflow: "ellipsis",
696
- whiteSpace: "nowrap"
697
- },
698
- children: e.description || M("bigconsole.dashboards.card.noDescription", "No description provided")
699
457
  })]
700
458
  }),
701
- /* @__PURE__ */ O("div", {
459
+ /* @__PURE__ */ j("p", {
460
+ style: {
461
+ fontSize: "var(--font-size-body-sm)",
462
+ lineHeight: "var(--font-lineHeight-normal)",
463
+ color: "var(--color-text-secondary)",
464
+ margin: "0 0 var(--space-formGap) 0",
465
+ minHeight: "40px",
466
+ display: "-webkit-box",
467
+ WebkitLineClamp: 2,
468
+ WebkitBoxOrient: "vertical",
469
+ overflow: "hidden"
470
+ },
471
+ children: e.description || E("bigconsole.dashboards.card.noDescription", "No description provided")
472
+ }),
473
+ /* @__PURE__ */ M("div", {
702
474
  style: {
703
475
  display: "flex",
704
476
  alignItems: "center",
705
477
  gap: "var(--space-formGap)",
706
- flexWrap: "wrap"
478
+ marginBottom: "var(--space-formGap)",
479
+ padding: "var(--space-controlGap) var(--space-cardPadding)",
480
+ backgroundColor: "var(--color-bg-sunken)",
481
+ borderRadius: "var(--radius-button)"
707
482
  },
708
483
  children: [
709
- /* @__PURE__ */ O("div", {
484
+ /* @__PURE__ */ M("div", {
710
485
  style: {
711
486
  display: "flex",
712
487
  alignItems: "center",
713
488
  gap: "var(--space-iconGap)"
714
489
  },
715
490
  children: [
716
- /* @__PURE__ */ D(g, { style: {
491
+ /* @__PURE__ */ j(y, { style: {
717
492
  height: "var(--size-icon-sm)",
718
493
  width: "var(--size-icon-sm)",
719
494
  color: "var(--color-action-primary-bg)"
720
495
  } }),
721
- /* @__PURE__ */ D("span", {
496
+ /* @__PURE__ */ j("span", {
722
497
  style: {
723
498
  fontSize: "var(--font-size-body-sm)",
724
499
  fontWeight: "var(--font-weight-semibold)",
725
500
  color: "var(--color-text-primary)"
726
501
  },
727
- children: Ve(e)
502
+ children: He(e)
728
503
  }),
729
- /* @__PURE__ */ D("span", {
504
+ /* @__PURE__ */ j("span", {
730
505
  style: {
731
506
  fontSize: "var(--font-size-body-sm)",
732
507
  color: "var(--color-text-muted)"
733
508
  },
734
- children: M("bigconsole.dashboards.card.pages", "pages")
509
+ children: E("bigconsole.dashboards.card.pages", "pages")
735
510
  })
736
511
  ]
737
512
  }),
738
- /* @__PURE__ */ O("div", {
513
+ /* @__PURE__ */ j("div", { style: {
514
+ width: "1px",
515
+ height: "var(--size-icon-sm)",
516
+ backgroundColor: "var(--color-border-subtle)"
517
+ } }),
518
+ /* @__PURE__ */ M("div", {
739
519
  style: {
740
520
  display: "flex",
741
521
  alignItems: "center",
742
522
  gap: "var(--space-iconGap)"
743
523
  },
744
524
  children: [
745
- /* @__PURE__ */ D(ae, { style: {
525
+ /* @__PURE__ */ j(v, { style: {
746
526
  height: "var(--size-icon-sm)",
747
527
  width: "var(--size-icon-sm)",
748
528
  color: "var(--color-action-primary-bg)"
749
529
  } }),
750
- /* @__PURE__ */ D("span", {
530
+ /* @__PURE__ */ j("span", {
751
531
  style: {
752
532
  fontSize: "var(--font-size-body-sm)",
753
533
  fontWeight: "var(--font-weight-semibold)",
754
534
  color: "var(--color-text-primary)"
755
535
  },
756
- children: Be(e)
536
+ children: Ve(e)
757
537
  }),
758
- /* @__PURE__ */ D("span", {
538
+ /* @__PURE__ */ j("span", {
759
539
  style: {
760
540
  fontSize: "var(--font-size-body-sm)",
761
541
  color: "var(--color-text-muted)"
762
542
  },
763
- children: M("bigconsole.dashboards.card.widgets", "widgets")
543
+ children: E("bigconsole.dashboards.card.widgets", "widgets")
764
544
  })
765
545
  ]
766
- }),
767
- /* @__PURE__ */ O("div", {
768
- style: {
769
- display: "flex",
770
- alignItems: "center",
771
- gap: "var(--space-iconGap)"
772
- },
773
- children: [/* @__PURE__ */ D(m, { style: {
774
- height: "var(--size-icon-sm)",
775
- width: "var(--size-icon-sm)",
776
- color: "var(--color-text-muted)"
777
- } }), /* @__PURE__ */ D("span", {
778
- style: {
779
- fontSize: "var(--font-size-body-sm)",
780
- fontWeight: "var(--font-weight-medium)",
781
- color: "var(--color-text-muted)"
782
- },
783
- children: ze(e.updatedAt)
784
- })]
785
546
  })
786
547
  ]
787
548
  }),
788
- /* @__PURE__ */ O("div", {
549
+ /* @__PURE__ */ M("div", {
789
550
  style: {
790
551
  display: "flex",
791
552
  alignItems: "center",
792
- gap: "var(--space-controlGap)"
553
+ justifyContent: "space-between",
554
+ flexWrap: "wrap",
555
+ gap: "var(--space-controlGap)",
556
+ paddingTop: "var(--space-controlGap)",
557
+ borderTop: "1px solid var(--color-border-subtle)"
793
558
  },
794
- children: [
795
- /* @__PURE__ */ D(p, {
796
- permission: r.DASHBOARD_UPDATE,
797
- deniedBehavior: "hide",
798
- children: /* @__PURE__ */ D(C, {
799
- variant: "ghost",
800
- size: "sm",
801
- onClick: (t) => Ne(e.id, t),
559
+ children: [/* @__PURE__ */ M("div", {
560
+ style: {
561
+ display: "flex",
562
+ alignItems: "center",
563
+ gap: "var(--space-iconGap)"
564
+ },
565
+ children: [/* @__PURE__ */ j(g, { style: {
566
+ height: "var(--size-icon-sm)",
567
+ width: "var(--size-icon-sm)",
568
+ color: "var(--color-text-muted)"
569
+ } }), /* @__PURE__ */ j("span", {
570
+ style: {
571
+ fontSize: "var(--font-size-body-sm)",
572
+ fontWeight: "var(--font-weight-medium)",
573
+ color: "var(--color-text-muted)"
574
+ },
575
+ children: Be(e.updatedAt)
576
+ })]
577
+ }), /* @__PURE__ */ M("div", {
578
+ style: {
579
+ display: "flex",
580
+ alignItems: "center",
581
+ gap: "var(--space-controlGap)"
582
+ },
583
+ children: [
584
+ /* @__PURE__ */ j(h, {
585
+ permission: a.DASHBOARD_UPDATE,
586
+ deniedBehavior: "hide",
587
+ children: /* @__PURE__ */ j(T, {
588
+ variant: "ghost",
589
+ size: "sm",
590
+ onClick: (t) => $(e.id, t),
591
+ style: {
592
+ height: "var(--size-controlHeight-md)",
593
+ width: "var(--size-controlHeight-md)",
594
+ padding: 0,
595
+ borderRadius: "var(--radius-button)"
596
+ },
597
+ title: E("bigconsole.dashboards.actions.editTitle", "Edit Dashboard"),
598
+ children: /* @__PURE__ */ j(x, { style: {
599
+ height: "var(--size-icon-sm)",
600
+ width: "var(--size-icon-sm)"
601
+ } })
602
+ })
603
+ }),
604
+ /* @__PURE__ */ j(h, {
605
+ permission: a.DASHBOARD_CREATE,
606
+ deniedBehavior: "hide",
607
+ children: /* @__PURE__ */ j(T, {
608
+ variant: "ghost",
609
+ size: "sm",
610
+ onClick: (t) => Ie(e.id, e.name, t),
611
+ style: {
612
+ height: "var(--size-controlHeight-md)",
613
+ width: "var(--size-controlHeight-md)",
614
+ padding: 0,
615
+ borderRadius: "var(--radius-button)"
616
+ },
617
+ title: E("bigconsole.dashboards.actions.cloneTitle", "Clone Dashboard"),
618
+ children: /* @__PURE__ */ j(_, { style: {
619
+ height: "var(--size-icon-sm)",
620
+ width: "var(--size-icon-sm)"
621
+ } })
622
+ })
623
+ }),
624
+ /* @__PURE__ */ j(h, {
625
+ permission: a.DASHBOARD_DELETE,
626
+ deniedBehavior: "hide",
627
+ children: /* @__PURE__ */ j(T, {
628
+ variant: "ghost",
629
+ size: "sm",
630
+ onClick: (t) => Fe(e.id, t),
631
+ style: {
632
+ height: "var(--size-controlHeight-md)",
633
+ width: "var(--size-controlHeight-md)",
634
+ padding: 0,
635
+ borderRadius: "var(--radius-button)"
636
+ },
637
+ className: "hover:text-status-error-text hover:bg-status-error-bg/10",
638
+ title: E("bigconsole.dashboards.actions.deleteTitle", "Delete Dashboard"),
639
+ children: /* @__PURE__ */ j(ce, { style: {
640
+ height: "var(--size-icon-sm)",
641
+ width: "var(--size-icon-sm)"
642
+ } })
643
+ })
644
+ })
645
+ ]
646
+ })]
647
+ })
648
+ ]
649
+ })
650
+ }, e.id))
651
+ }),
652
+ !W && H === "list" && Z.length > 0 && /* @__PURE__ */ j("div", {
653
+ style: {
654
+ display: "flex",
655
+ flexDirection: "column",
656
+ gap: "var(--space-controlGap)"
657
+ },
658
+ children: Ee.map((e) => /* @__PURE__ */ j(D, {
659
+ onClick: () => Pe(e.id),
660
+ style: { cursor: "pointer" },
661
+ className: "motion-safe:transition-[box-shadow,border-color] hover:border-[var(--color-border-hover)] hover:shadow-[var(--shadow-elevation-2)]",
662
+ children: /* @__PURE__ */ j(O, {
663
+ style: { padding: "var(--space-cardPadding)" },
664
+ children: /* @__PURE__ */ M("div", {
665
+ style: {
666
+ display: "flex",
667
+ alignItems: "center",
668
+ gap: "var(--space-formGap)",
669
+ flexWrap: "wrap"
670
+ },
671
+ children: [
672
+ /* @__PURE__ */ j("div", {
673
+ style: {
674
+ display: "flex",
675
+ height: "var(--size-controlHeight-lg)",
676
+ width: "var(--size-controlHeight-lg)",
677
+ flexShrink: 0,
678
+ alignItems: "center",
679
+ justifyContent: "center",
680
+ borderRadius: "var(--radius-button)",
681
+ backgroundColor: "var(--color-bg-accentSubtle)"
682
+ },
683
+ children: /* @__PURE__ */ j(b, {
684
+ "aria-hidden": "true",
685
+ style: {
686
+ height: "var(--size-icon-md)",
687
+ width: "var(--size-icon-md)",
688
+ color: "var(--color-action-primary-bg)"
689
+ }
690
+ })
691
+ }),
692
+ /* @__PURE__ */ M("div", {
693
+ style: {
694
+ flex: "1 1 12rem",
695
+ minWidth: 0
696
+ },
697
+ children: [/* @__PURE__ */ M("div", {
698
+ style: {
699
+ display: "flex",
700
+ alignItems: "center",
701
+ gap: "var(--space-controlGap)",
702
+ flexWrap: "wrap"
703
+ },
704
+ children: [/* @__PURE__ */ j("h3", {
802
705
  style: {
803
- height: "var(--size-controlHeight-sm)",
804
- width: "var(--size-controlHeight-sm)",
805
- padding: 0,
806
- borderRadius: "var(--radius-button)"
706
+ fontWeight: "var(--font-weight-bold)",
707
+ fontSize: "var(--font-size-body-md)",
708
+ margin: 0,
709
+ color: "var(--color-text-primary)",
710
+ overflow: "hidden",
711
+ textOverflow: "ellipsis",
712
+ whiteSpace: "nowrap",
713
+ maxWidth: "100%"
807
714
  },
808
- title: M("bigconsole.dashboards.actions.editTitle", "Edit Dashboard"),
809
- children: /* @__PURE__ */ D(v, { style: {
810
- height: "var(--size-icon-sm)",
811
- width: "var(--size-icon-sm)"
812
- } })
813
- })
814
- }),
815
- /* @__PURE__ */ D(p, {
816
- permission: r.DASHBOARD_CREATE,
817
- deniedBehavior: "hide",
818
- children: /* @__PURE__ */ D(C, {
819
- variant: "ghost",
820
- size: "sm",
821
- onClick: (t) => Fe(e.id, e.name, t),
715
+ children: e.name
716
+ }), e.category && /* @__PURE__ */ j(w, {
717
+ variant: "secondary",
822
718
  style: {
823
- height: "var(--size-controlHeight-sm)",
824
- width: "var(--size-controlHeight-sm)",
825
- padding: 0,
826
- borderRadius: "var(--radius-button)"
719
+ fontSize: "10px",
720
+ fontWeight: "var(--font-weight-semibold)",
721
+ textTransform: "uppercase"
827
722
  },
828
- title: M("bigconsole.dashboards.actions.cloneTitle", "Clone Dashboard"),
829
- children: /* @__PURE__ */ D(h, { style: {
830
- height: "var(--size-icon-sm)",
831
- width: "var(--size-icon-sm)"
832
- } })
833
- })
834
- }),
835
- /* @__PURE__ */ D(p, {
836
- permission: r.DASHBOARD_DELETE,
837
- deniedBehavior: "hide",
838
- children: /* @__PURE__ */ D(C, {
839
- variant: "ghost",
840
- size: "sm",
841
- onClick: (t) => Pe(e.id, t),
723
+ children: e.category
724
+ })]
725
+ }), /* @__PURE__ */ j("p", {
726
+ style: {
727
+ fontSize: "var(--font-size-body-sm)",
728
+ lineHeight: "var(--font-lineHeight-normal)",
729
+ color: "var(--color-text-secondary)",
730
+ margin: "var(--space-controlGap) 0 0 0",
731
+ overflow: "hidden",
732
+ textOverflow: "ellipsis",
733
+ whiteSpace: "nowrap"
734
+ },
735
+ children: e.description || E("bigconsole.dashboards.card.noDescription", "No description provided")
736
+ })]
737
+ }),
738
+ /* @__PURE__ */ M("div", {
739
+ style: {
740
+ display: "flex",
741
+ alignItems: "center",
742
+ gap: "var(--space-formGap)",
743
+ flexWrap: "wrap"
744
+ },
745
+ children: [
746
+ /* @__PURE__ */ M("div", {
842
747
  style: {
843
- height: "var(--size-controlHeight-sm)",
844
- width: "var(--size-controlHeight-sm)",
845
- padding: 0,
846
- borderRadius: "var(--radius-button)"
748
+ display: "flex",
749
+ alignItems: "center",
750
+ gap: "var(--space-iconGap)"
847
751
  },
848
- className: "hover:text-status-error-text hover:bg-status-error-bg/10",
849
- title: M("bigconsole.dashboards.actions.deleteTitle", "Delete Dashboard"),
850
- children: /* @__PURE__ */ D(b, { style: {
752
+ children: [
753
+ /* @__PURE__ */ j(y, { style: {
754
+ height: "var(--size-icon-sm)",
755
+ width: "var(--size-icon-sm)",
756
+ color: "var(--color-action-primary-bg)"
757
+ } }),
758
+ /* @__PURE__ */ j("span", {
759
+ style: {
760
+ fontSize: "var(--font-size-body-sm)",
761
+ fontWeight: "var(--font-weight-semibold)",
762
+ color: "var(--color-text-primary)"
763
+ },
764
+ children: He(e)
765
+ }),
766
+ /* @__PURE__ */ j("span", {
767
+ style: {
768
+ fontSize: "var(--font-size-body-sm)",
769
+ color: "var(--color-text-muted)"
770
+ },
771
+ children: E("bigconsole.dashboards.card.pages", "pages")
772
+ })
773
+ ]
774
+ }),
775
+ /* @__PURE__ */ M("div", {
776
+ style: {
777
+ display: "flex",
778
+ alignItems: "center",
779
+ gap: "var(--space-iconGap)"
780
+ },
781
+ children: [
782
+ /* @__PURE__ */ j(v, { style: {
783
+ height: "var(--size-icon-sm)",
784
+ width: "var(--size-icon-sm)",
785
+ color: "var(--color-action-primary-bg)"
786
+ } }),
787
+ /* @__PURE__ */ j("span", {
788
+ style: {
789
+ fontSize: "var(--font-size-body-sm)",
790
+ fontWeight: "var(--font-weight-semibold)",
791
+ color: "var(--color-text-primary)"
792
+ },
793
+ children: Ve(e)
794
+ }),
795
+ /* @__PURE__ */ j("span", {
796
+ style: {
797
+ fontSize: "var(--font-size-body-sm)",
798
+ color: "var(--color-text-muted)"
799
+ },
800
+ children: E("bigconsole.dashboards.card.widgets", "widgets")
801
+ })
802
+ ]
803
+ }),
804
+ /* @__PURE__ */ M("div", {
805
+ style: {
806
+ display: "flex",
807
+ alignItems: "center",
808
+ gap: "var(--space-iconGap)"
809
+ },
810
+ children: [/* @__PURE__ */ j(g, { style: {
851
811
  height: "var(--size-icon-sm)",
852
- width: "var(--size-icon-sm)"
853
- } })
812
+ width: "var(--size-icon-sm)",
813
+ color: "var(--color-text-muted)"
814
+ } }), /* @__PURE__ */ j("span", {
815
+ style: {
816
+ fontSize: "var(--font-size-body-sm)",
817
+ fontWeight: "var(--font-weight-medium)",
818
+ color: "var(--color-text-muted)"
819
+ },
820
+ children: Be(e.updatedAt)
821
+ })]
854
822
  })
855
- })
856
- ]
857
- })
858
- ]
823
+ ]
824
+ }),
825
+ /* @__PURE__ */ M("div", {
826
+ style: {
827
+ display: "flex",
828
+ alignItems: "center",
829
+ gap: "var(--space-controlGap)"
830
+ },
831
+ children: [
832
+ /* @__PURE__ */ j(h, {
833
+ permission: a.DASHBOARD_UPDATE,
834
+ deniedBehavior: "hide",
835
+ children: /* @__PURE__ */ j(T, {
836
+ variant: "ghost",
837
+ size: "sm",
838
+ onClick: (t) => $(e.id, t),
839
+ style: {
840
+ height: "var(--size-controlHeight-md)",
841
+ width: "var(--size-controlHeight-md)",
842
+ padding: 0,
843
+ borderRadius: "var(--radius-button)"
844
+ },
845
+ title: E("bigconsole.dashboards.actions.editTitle", "Edit Dashboard"),
846
+ children: /* @__PURE__ */ j(x, { style: {
847
+ height: "var(--size-icon-sm)",
848
+ width: "var(--size-icon-sm)"
849
+ } })
850
+ })
851
+ }),
852
+ /* @__PURE__ */ j(h, {
853
+ permission: a.DASHBOARD_CREATE,
854
+ deniedBehavior: "hide",
855
+ children: /* @__PURE__ */ j(T, {
856
+ variant: "ghost",
857
+ size: "sm",
858
+ onClick: (t) => Ie(e.id, e.name, t),
859
+ style: {
860
+ height: "var(--size-controlHeight-md)",
861
+ width: "var(--size-controlHeight-md)",
862
+ padding: 0,
863
+ borderRadius: "var(--radius-button)"
864
+ },
865
+ title: E("bigconsole.dashboards.actions.cloneTitle", "Clone Dashboard"),
866
+ children: /* @__PURE__ */ j(_, { style: {
867
+ height: "var(--size-icon-sm)",
868
+ width: "var(--size-icon-sm)"
869
+ } })
870
+ })
871
+ }),
872
+ /* @__PURE__ */ j(h, {
873
+ permission: a.DASHBOARD_DELETE,
874
+ deniedBehavior: "hide",
875
+ children: /* @__PURE__ */ j(T, {
876
+ variant: "ghost",
877
+ size: "sm",
878
+ onClick: (t) => Fe(e.id, t),
879
+ style: {
880
+ height: "var(--size-controlHeight-md)",
881
+ width: "var(--size-controlHeight-md)",
882
+ padding: 0,
883
+ borderRadius: "var(--radius-button)"
884
+ },
885
+ className: "hover:text-status-error-text hover:bg-status-error-bg/10",
886
+ title: E("bigconsole.dashboards.actions.deleteTitle", "Delete Dashboard"),
887
+ children: /* @__PURE__ */ j(ce, { style: {
888
+ height: "var(--size-icon-sm)",
889
+ width: "var(--size-icon-sm)"
890
+ } })
891
+ })
892
+ })
893
+ ]
894
+ })
895
+ ]
896
+ })
859
897
  })
860
- })
861
- }, e.id))
862
- }),
863
- !H && X.length > A && /* @__PURE__ */ O("div", {
864
- style: {
865
- display: "flex",
866
- alignItems: "center",
867
- justifyContent: "center",
868
- gap: "var(--space-controlGap)",
869
- flexWrap: "wrap",
870
- marginTop: "var(--space-sectionGap)"
871
- },
872
- children: [
873
- /* @__PURE__ */ O(C, {
874
- variant: "outline",
875
- size: "sm",
876
- onClick: Te,
877
- disabled: P <= 1,
878
- "aria-label": M("bigconsole.dashboards.pagination.previous", "Previous"),
879
- children: [/* @__PURE__ */ D(re, { style: {
880
- marginRight: "var(--space-iconGap)",
881
- height: "var(--size-icon-sm)",
882
- width: "var(--size-icon-sm)"
883
- } }), M("bigconsole.dashboards.pagination.previous", "Previous")]
884
- }),
885
- /* @__PURE__ */ D("div", {
886
- style: {
887
- display: "flex",
888
- alignItems: "center",
889
- gap: "var(--space-iconGap)",
890
- flexWrap: "wrap"
891
- },
892
- children: Array.from({ length: Z }, (e, t) => t + 1).map((e) => /* @__PURE__ */ D(C, {
893
- variant: e === P ? "default" : "ghost",
898
+ }, e.id))
899
+ }),
900
+ !W && Z.length > P && /* @__PURE__ */ M("nav", {
901
+ "aria-label": E("bigconsole.dashboards.pagination.label", "Dashboard pages"),
902
+ className: "flex flex-wrap items-center justify-center gap-control-gap border-t border-[var(--color-border-subtle)] pt-control-gap",
903
+ children: [
904
+ /* @__PURE__ */ M(T, {
905
+ variant: "outline",
894
906
  size: "sm",
895
- onClick: () => De(e),
896
- "aria-current": e === P ? "page" : void 0,
907
+ onClick: De,
908
+ disabled: I <= 1,
909
+ "aria-label": E("bigconsole.dashboards.pagination.previous", "Previous"),
910
+ style: { minHeight: "var(--size-controlHeight-md)" },
911
+ children: [/* @__PURE__ */ j(re, { style: {
912
+ marginRight: "var(--space-iconGap)",
913
+ height: "var(--size-icon-sm)",
914
+ width: "var(--size-icon-sm)"
915
+ } }), E("bigconsole.dashboards.pagination.previous", "Previous")]
916
+ }),
917
+ /* @__PURE__ */ j("div", {
897
918
  style: {
898
- minWidth: "var(--size-controlHeight-sm)",
899
- height: "var(--size-controlHeight-sm)",
900
- padding: "0 var(--space-controlGap)",
901
- borderRadius: "var(--radius-button)"
919
+ display: "flex",
920
+ alignItems: "center",
921
+ gap: "var(--space-iconGap)",
922
+ flexWrap: "wrap"
902
923
  },
903
- children: e
904
- }, e))
905
- }),
906
- /* @__PURE__ */ O(C, {
907
- variant: "outline",
908
- size: "sm",
909
- onClick: Ee,
910
- disabled: P >= Z,
911
- "aria-label": M("bigconsole.dashboards.pagination.next", "Next"),
912
- children: [M("bigconsole.dashboards.pagination.next", "Next"), /* @__PURE__ */ D(ie, { style: {
913
- marginLeft: "var(--space-iconGap)",
914
- height: "var(--size-icon-sm)",
915
- width: "var(--size-icon-sm)"
916
- } })]
917
- }),
918
- /* @__PURE__ */ D("span", {
919
- style: {
920
- fontSize: "var(--font-size-body-sm)",
921
- color: "var(--color-text-muted)",
922
- marginLeft: "var(--space-controlGap)"
923
- },
924
- children: j("bigconsole.dashboards.pagination.pageOf", "Page {{currentPage}} of {{totalPages}}", {
925
- currentPage: P,
926
- totalPages: Z
927
- })
928
- })
929
- ]
930
- }),
931
- !H && X.length === 0 && /* @__PURE__ */ D(fe, {
932
- treatment: "insight",
933
- className: "border-border-seam",
934
- children: /* @__PURE__ */ D(me, {
935
- illustration: N ? "empty-search" : "empty-data",
936
- title: N ? M("bigconsole.dashboards.empty.filteredTitle", "No dashboards found") : M("bigconsole.dashboards.empty.title", "No dashboards yet"),
937
- description: N ? M("bigconsole.dashboards.empty.filteredDescription", "Try adjusting your search terms") : M("bigconsole.dashboards.empty.description", "Get started by creating your first dashboard to visualize your data"),
938
- action: N ? void 0 : /* @__PURE__ */ O("div", {
939
- style: {
940
- display: "flex",
941
- gap: "var(--space-controlGap)",
942
- flexWrap: "wrap",
943
- justifyContent: "center"
944
- },
945
- children: [/* @__PURE__ */ D(p, {
946
- permission: r.DASHBOARD_CREATE,
947
- deniedBehavior: "hide",
948
- children: /* @__PURE__ */ O(C, {
949
- onClick: Oe,
950
- children: [/* @__PURE__ */ D(y, { style: {
951
- marginRight: "var(--space-iconGap)",
952
- height: "var(--size-icon-sm)",
953
- width: "var(--size-icon-sm)"
954
- } }), M("bigconsole.dashboards.actions.create", "Create Dashboard")]
955
- })
956
- }), /* @__PURE__ */ D(p, {
957
- permission: r.DASHBOARD_IMPORT,
958
- deniedBehavior: "hide",
959
- children: /* @__PURE__ */ O(C, {
960
- variant: "outline",
961
- onClick: Ie,
962
- children: [/* @__PURE__ */ D(x, { style: {
963
- marginRight: "var(--space-iconGap)",
964
- height: "var(--size-icon-sm)",
965
- width: "var(--size-icon-sm)"
966
- } }), M("bigconsole.dashboards.actions.importDashboard", "Import Dashboard")]
924
+ children: he(I, Q).map((e, t) => e === null ? /* @__PURE__ */ j("span", {
925
+ "aria-hidden": "true",
926
+ style: {
927
+ color: "var(--color-text-muted)",
928
+ padding: "0 var(--space-iconGap)"
929
+ },
930
+ children: "…"
931
+ }, `gap-${t}`) : /* @__PURE__ */ j(T, {
932
+ variant: e === I ? "default" : "ghost",
933
+ size: "sm",
934
+ onClick: () => ke(e),
935
+ "aria-current": e === I ? "page" : void 0,
936
+ "aria-label": E("bigconsole.dashboards.pagination.page", `Page ${e}`),
937
+ style: {
938
+ minWidth: "var(--size-controlHeight-md)",
939
+ height: "var(--size-controlHeight-md)",
940
+ padding: "0 var(--space-controlGap)",
941
+ borderRadius: "var(--radius-button)"
942
+ },
943
+ children: e
944
+ }, e))
945
+ }),
946
+ /* @__PURE__ */ M(T, {
947
+ variant: "outline",
948
+ size: "sm",
949
+ onClick: Oe,
950
+ disabled: I >= Q,
951
+ "aria-label": E("bigconsole.dashboards.pagination.next", "Next"),
952
+ style: { minHeight: "var(--size-controlHeight-md)" },
953
+ children: [E("bigconsole.dashboards.pagination.next", "Next"), /* @__PURE__ */ j(ie, { style: {
954
+ marginLeft: "var(--space-iconGap)",
955
+ height: "var(--size-icon-sm)",
956
+ width: "var(--size-icon-sm)"
957
+ } })]
958
+ }),
959
+ /* @__PURE__ */ j("span", {
960
+ style: {
961
+ fontSize: "var(--font-size-body-sm)",
962
+ color: "var(--color-text-muted)"
963
+ },
964
+ children: C("bigconsole.dashboards.pagination.pageOf", "Page {{currentPage}} of {{totalPages}}", {
965
+ currentPage: I,
966
+ totalPages: Q
967
967
  })
968
- })]
968
+ })
969
+ ]
970
+ }),
971
+ !W && Z.length === 0 && /* @__PURE__ */ j(de, {
972
+ treatment: "insight",
973
+ className: "border-[var(--color-border-seam)]",
974
+ children: /* @__PURE__ */ j(fe, {
975
+ illustration: k ? "empty-search" : "empty-data",
976
+ title: k ? E("bigconsole.dashboards.empty.filteredTitle", "No dashboards found") : E("bigconsole.dashboards.empty.title", "No dashboards yet"),
977
+ description: k ? E("bigconsole.dashboards.empty.filteredDescription", "Try adjusting your search terms") : E("bigconsole.dashboards.empty.description", "Get started by creating your first dashboard to visualize your data"),
978
+ action: k ? void 0 : /* @__PURE__ */ M("div", {
979
+ style: {
980
+ display: "flex",
981
+ gap: "var(--space-controlGap)",
982
+ flexWrap: "wrap",
983
+ justifyContent: "center"
984
+ },
985
+ children: [/* @__PURE__ */ j(h, {
986
+ permission: a.DASHBOARD_CREATE,
987
+ deniedBehavior: "hide",
988
+ children: /* @__PURE__ */ M(T, {
989
+ onClick: Ae,
990
+ children: [/* @__PURE__ */ j(S, { style: {
991
+ marginRight: "var(--space-iconGap)",
992
+ height: "var(--size-icon-sm)",
993
+ width: "var(--size-icon-sm)"
994
+ } }), E("bigconsole.dashboards.actions.create", "Create Dashboard")]
995
+ })
996
+ }), /* @__PURE__ */ j(h, {
997
+ permission: a.DASHBOARD_IMPORT,
998
+ deniedBehavior: "hide",
999
+ children: /* @__PURE__ */ M(T, {
1000
+ variant: "outline",
1001
+ onClick: Le,
1002
+ children: [/* @__PURE__ */ j(le, { style: {
1003
+ marginRight: "var(--space-iconGap)",
1004
+ height: "var(--size-icon-sm)",
1005
+ width: "var(--size-icon-sm)"
1006
+ } }), E("bigconsole.dashboards.actions.importDashboard", "Import Dashboard")]
1007
+ })
1008
+ })]
1009
+ })
969
1010
  })
970
1011
  })
971
- })
972
- ]
1012
+ ]
1013
+ })] })
973
1014
  }),
974
- /* @__PURE__ */ D(i, {
975
- isOpen: ve,
976
- isCreating: L,
977
- onClose: Ae,
978
- onCreate: je,
979
- onTemplateInstalled: ke
1015
+ /* @__PURE__ */ j(o, {
1016
+ isOpen: _e,
1017
+ isCreating: z,
1018
+ onClose: Me,
1019
+ onCreate: Ne,
1020
+ onTemplateInstalled: je
980
1021
  }),
981
- /* @__PURE__ */ D(a, {
982
- isOpen: ye,
983
- onClose: Le,
984
- onSuccess: Re
1022
+ /* @__PURE__ */ j(s, {
1023
+ isOpen: ve,
1024
+ onClose: Re,
1025
+ onSuccess: ze
985
1026
  })
986
1027
  ]
987
- }) : /* @__PURE__ */ D(te, {
988
- title: "Access Denied",
989
- description: "You don't have permission to view dashboards."
990
1028
  });
991
1029
  });
992
1030
  //#endregion
993
- export { j as DashboardsPage, j as default };
1031
+ export { I as DashboardsPage, I as default };
994
1032
 
995
1033
  //# sourceMappingURL=DashboardsPage.js.map