@burdenoff/microfe-bigconsole 2026.805.2 → 2026.812.1

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