@superdangerous/app-framework 4.16.12 → 4.16.14

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superdangerous/app-framework",
3
- "version": "4.16.12",
3
+ "version": "4.16.14",
4
4
  "description": "Opinionated TypeScript framework for structured vibecoding - building internal web and desktop apps with batteries included",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -761,6 +761,117 @@ interface SidebarLayoutProps extends Omit<AppLayoutProps, 'primaryColor'> {
761
761
  }
762
762
  declare function SidebarLayout({ appName, appVersion, navigation, children, logoSrc, logoClassName, logoOffset, headerHeight, showLogout, onLogout, authenticated, connectionStatusUrl, sidebarWidth, className }: SidebarLayoutProps): react_jsx_runtime.JSX.Element;
763
763
 
764
+ interface SidebarNavItem {
765
+ name: string;
766
+ href: string;
767
+ icon?: LucideIcon | React__default.ReactNode;
768
+ badge?: number | string;
769
+ /** Group label - items with the same group will be grouped together */
770
+ group?: string;
771
+ }
772
+ interface SidebarNavGroup {
773
+ label: string;
774
+ items: SidebarNavItem[];
775
+ }
776
+ interface SidebarAppLayoutProps {
777
+ /** Application name displayed in the sidebar header */
778
+ appName: string;
779
+ /** Application version (optional) */
780
+ appVersion?: string;
781
+ /** Navigation items - can be flat array or grouped */
782
+ navigation: SidebarNavItem[] | SidebarNavGroup[];
783
+ /** Page content */
784
+ children: React__default.ReactNode;
785
+ /** Logo image source */
786
+ logoSrc?: string;
787
+ /** Custom CSS class for logo */
788
+ logoClassName?: string;
789
+ /** Show logout button */
790
+ showLogout?: boolean;
791
+ /** Custom logout handler */
792
+ onLogout?: () => void;
793
+ /** Whether user is authenticated (controls logout visibility) */
794
+ authenticated?: boolean;
795
+ /** WebSocket URL for connection status */
796
+ connectionStatusUrl?: string;
797
+ /** Custom sidebar width (default: 260px) */
798
+ sidebarWidth?: number;
799
+ /** Additional className for the layout container */
800
+ className?: string;
801
+ /** Custom header content (replaces default logo/name) */
802
+ headerContent?: React__default.ReactNode;
803
+ /** Custom footer content (replaces default logout) */
804
+ footerContent?: React__default.ReactNode;
805
+ /** Primary accent color for active states */
806
+ primaryColor?: string;
807
+ }
808
+ /**
809
+ * Full-featured application layout with sidebar navigation.
810
+ * Based on the epi-edge-bms sidebar design pattern.
811
+ *
812
+ * @example
813
+ * ```tsx
814
+ * <SidebarAppLayout
815
+ * appName="My App"
816
+ * appVersion="1.0.0"
817
+ * navigation={[
818
+ * { name: 'Dashboard', href: '/', icon: LayoutDashboard },
819
+ * { name: 'Settings', href: '/settings', icon: Settings },
820
+ * ]}
821
+ * >
822
+ * <Routes>...</Routes>
823
+ * </SidebarAppLayout>
824
+ * ```
825
+ */
826
+ declare function SidebarAppLayout({ appName, appVersion, navigation, children, logoSrc, logoClassName, showLogout, onLogout, authenticated, connectionStatusUrl, sidebarWidth, className, headerContent, footerContent, primaryColor, }: SidebarAppLayoutProps): react_jsx_runtime.JSX.Element;
827
+
828
+ interface SidebarContextValue {
829
+ collapsed: boolean;
830
+ toggle: () => void;
831
+ isMobile: boolean;
832
+ }
833
+ interface SidebarProviderProps {
834
+ children: React$1.ReactNode;
835
+ defaultCollapsed?: boolean;
836
+ collapsible?: boolean;
837
+ }
838
+ declare function SidebarProvider({ children, defaultCollapsed, collapsible }: SidebarProviderProps): react_jsx_runtime.JSX.Element;
839
+ declare function useSidebar(): SidebarContextValue;
840
+ interface SidebarProps extends React$1.HTMLAttributes<HTMLDivElement> {
841
+ collapsible?: 'icon' | 'none';
842
+ width?: number;
843
+ }
844
+ declare function Sidebar({ className, collapsible, width, ...props }: SidebarProps): react_jsx_runtime.JSX.Element;
845
+ declare function SidebarTrigger({ className, ...props }: React$1.ButtonHTMLAttributes<HTMLButtonElement>): react_jsx_runtime.JSX.Element;
846
+ declare function SidebarInset({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
847
+ declare function SidebarRail({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element | null;
848
+ declare function SidebarHeader({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
849
+ declare function SidebarFooter({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
850
+ declare function SidebarContent({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
851
+ declare const SidebarGroup: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
852
+ declare const SidebarGroupLabel: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
853
+ declare const SidebarMenu: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
854
+ declare const SidebarMenuItem: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
855
+ declare const sidebarMenuButtonVariants: (props?: ({
856
+ variant?: "default" | "active" | null | undefined;
857
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
858
+ interface SidebarMenuButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof sidebarMenuButtonVariants> {
859
+ asChild?: boolean;
860
+ isActive?: boolean;
861
+ tooltip?: string;
862
+ }
863
+ declare const SidebarMenuButton: React$1.ForwardRefExoticComponent<SidebarMenuButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
864
+ declare const SidebarMenuAction: React$1.ForwardRefExoticComponent<React$1.ButtonHTMLAttributes<HTMLButtonElement> & React$1.RefAttributes<HTMLButtonElement>>;
865
+ declare const SidebarMenuSub: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
866
+ declare const SidebarMenuSubItem: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
867
+ declare const SidebarMenuSubButton: React$1.ForwardRefExoticComponent<SidebarMenuButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
868
+ declare const SidebarSection: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
869
+ declare const SidebarSeparator: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLHRElement> & React$1.RefAttributes<HTMLHRElement>>;
870
+ interface SidebarMenuBadgeProps extends React$1.HTMLAttributes<HTMLSpanElement> {
871
+ variant?: 'default' | 'secondary' | 'destructive';
872
+ }
873
+ declare const SidebarMenuBadge: React$1.ForwardRefExoticComponent<SidebarMenuBadgeProps & React$1.RefAttributes<HTMLSpanElement>>;
874
+
764
875
  /**
765
876
  * Activity LED Component
766
877
  * Shows a status indicator with optional animation
@@ -900,6 +1011,10 @@ interface LogViewerProps {
900
1011
  categories?: LogCategory[];
901
1012
  levelBadgeColors?: Record<string, string>;
902
1013
  currentLogLevel?: string;
1014
+ /** Display mode: 'full' shows sidebar, 'logs' shows only live logs, 'archives' shows only archives */
1015
+ mode?: 'full' | 'logs' | 'archives';
1016
+ /** Show the header with title. Set to false when embedded in settings. */
1017
+ showHeader?: boolean;
903
1018
  showCategories?: boolean;
904
1019
  showArchives?: boolean;
905
1020
  height?: string;
@@ -910,7 +1025,7 @@ interface LogViewerProps {
910
1025
  enableCopy?: boolean;
911
1026
  className?: string;
912
1027
  }
913
- declare function LogViewer({ logs: externalLogs, logFiles: externalLogFiles, onFetchLogs, onFetchArchives, onClearLogs, onExportLogs, onDownloadArchive, onDeleteArchive, onLogReceived, autoRefreshMs, maxEntries, defaultCategory, enableLiveUpdates, enableAutoScroll, autoScrollDefault, newestFirst, enableSearch, enableFilter, enableExport, enableClear, enableCopy, categories, levelBadgeColors, currentLogLevel, showCategories, showArchives, height, className, }: LogViewerProps): react_jsx_runtime.JSX.Element;
1028
+ declare function LogViewer({ logs: externalLogs, logFiles: externalLogFiles, onFetchLogs, onFetchArchives, onClearLogs, onExportLogs, onDownloadArchive, onDeleteArchive, onLogReceived, autoRefreshMs, maxEntries, defaultCategory, enableLiveUpdates, enableAutoScroll, autoScrollDefault, newestFirst, enableSearch, enableFilter, enableExport, enableClear, enableCopy, categories, levelBadgeColors, currentLogLevel, mode, showHeader, showCategories, showArchives, height, className, }: LogViewerProps): react_jsx_runtime.JSX.Element;
914
1029
 
915
1030
  interface LogStatsProps {
916
1031
  stats: {
@@ -1000,38 +1115,42 @@ interface SettingsFrameworkProps {
1000
1115
  }
1001
1116
  declare function SettingsFramework({ categories, onSave, onLoad, onValidate, onRestartRequired, title, description, showResetButton, showUndoButton, customFields, renderCategory, renderSetting, autoSave, autoSaveDelay, confirmReset, persistState, className, containerClassName, categoryClassName, settingClassName, height, maxContentWidth }: SettingsFrameworkProps): react_jsx_runtime.JSX.Element;
1002
1117
 
1003
- interface LogsSettingsProps extends SettingsCategoryComponentProps {
1118
+ interface LiveLogsSettingsProps extends SettingsCategoryComponentProps {
1004
1119
  /** Fetch current log entries */
1005
1120
  onFetchLogs: () => Promise<LogEntry[]>;
1006
- /** Fetch log archive files */
1007
- onFetchArchives?: () => Promise<LogFile[]>;
1008
1121
  /** Clear current logs */
1009
1122
  onClearLogs?: () => Promise<void>;
1123
+ /** Auto-refresh interval in ms (default: 3000) */
1124
+ autoRefreshMs?: number;
1125
+ /** Height of the log viewer (default: 100%) */
1126
+ height?: string;
1127
+ }
1128
+ interface LogArchivesSettingsProps extends SettingsCategoryComponentProps {
1129
+ /** Fetch log archive files */
1130
+ onFetchArchives: () => Promise<LogFile[]>;
1010
1131
  /** Download an archive file */
1011
1132
  onDownloadArchive?: (filename: string) => void;
1012
1133
  /** Delete an archive file */
1013
1134
  onDeleteArchive?: (filename: string) => Promise<void>;
1014
- /** Auto-refresh interval in ms (default: 3000) */
1015
- autoRefreshMs?: number;
1016
- /** Height of the log viewer (default: calc(100vh - 400px)) */
1135
+ /** Height of the archives viewer (default: 100%) */
1017
1136
  height?: string;
1018
1137
  }
1019
1138
  /**
1020
- * Logs settings component for use in SettingsFramework categories
1139
+ * Live logs settings component for use in SettingsFramework categories.
1140
+ * Shows only the live log viewer without archives or internal navigation.
1021
1141
  *
1022
1142
  * @example
1023
1143
  * ```tsx
1024
1144
  * const categories = [
1025
1145
  * {
1026
- * id: 'logs',
1027
- * label: 'Logs',
1028
- * icon: ScrollText,
1029
- * description: 'View application logs and archives',
1146
+ * id: 'liveLogs',
1147
+ * label: 'Live Logs',
1148
+ * icon: Terminal,
1149
+ * description: 'View real-time application logs',
1030
1150
  * component: (props) => (
1031
- * <LogsSettings
1151
+ * <LiveLogsSettings
1032
1152
  * {...props}
1033
1153
  * onFetchLogs={fetchLogs}
1034
- * onFetchArchives={fetchArchives}
1035
1154
  * onClearLogs={clearLogs}
1036
1155
  * />
1037
1156
  * ),
@@ -1039,6 +1158,42 @@ interface LogsSettingsProps extends SettingsCategoryComponentProps {
1039
1158
  * ];
1040
1159
  * ```
1041
1160
  */
1161
+ declare function LiveLogsSettings({ onFetchLogs, onClearLogs, autoRefreshMs, height, }: LiveLogsSettingsProps): react_jsx_runtime.JSX.Element;
1162
+ /**
1163
+ * Log archives settings component for use in SettingsFramework categories.
1164
+ * Shows only the archived log files without live logs or internal navigation.
1165
+ *
1166
+ * @example
1167
+ * ```tsx
1168
+ * const categories = [
1169
+ * {
1170
+ * id: 'logArchives',
1171
+ * label: 'Log Archives',
1172
+ * icon: Archive,
1173
+ * description: 'Download and manage archived log files',
1174
+ * component: (props) => (
1175
+ * <LogArchivesSettings
1176
+ * {...props}
1177
+ * onFetchArchives={fetchArchives}
1178
+ * onDownloadArchive={downloadArchive}
1179
+ * onDeleteArchive={deleteArchive}
1180
+ * />
1181
+ * ),
1182
+ * },
1183
+ * ];
1184
+ * ```
1185
+ */
1186
+ declare function LogArchivesSettings({ onFetchArchives, onDownloadArchive, onDeleteArchive, height, }: LogArchivesSettingsProps): react_jsx_runtime.JSX.Element;
1187
+ interface LogsSettingsProps extends SettingsCategoryComponentProps {
1188
+ onFetchLogs: () => Promise<LogEntry[]>;
1189
+ onFetchArchives?: () => Promise<LogFile[]>;
1190
+ onClearLogs?: () => Promise<void>;
1191
+ onDownloadArchive?: (filename: string) => void;
1192
+ onDeleteArchive?: (filename: string) => Promise<void>;
1193
+ autoRefreshMs?: number;
1194
+ height?: string;
1195
+ }
1196
+ /** @deprecated Use LiveLogsSettings and LogArchivesSettings instead */
1042
1197
  declare function LogsSettings({ onFetchLogs, onFetchArchives, onClearLogs, onDownloadArchive, onDeleteArchive, autoRefreshMs, height, }: LogsSettingsProps): react_jsx_runtime.JSX.Element;
1043
1198
 
1044
1199
  /**
@@ -1914,4 +2069,4 @@ interface TableFiltersProps {
1914
2069
  */
1915
2070
  declare function TableFilters({ search, onSearchChange, searchPlaceholder, filters, activeFilterCount, onClearFilters, className, children, }: TableFiltersProps): react_jsx_runtime.JSX.Element;
1916
2071
 
1917
- export { ActivityLED, type ActivityLEDProps, Alert, AlertDescription, AlertTitle, type ApiReadinessOptions, type ApiReadinessResult, AppLayout, type AppLayoutProps, Badge, type BadgeProps, BatchActionsBar, type BatchActionsBarProps, Button, type ButtonProps, Card, CardContent, CardHeader, type CardProps, CardSkeleton, CardTitle, type CellProps, Checkbox, CodeSnippet, CodeViewer, type CodeViewerProps, ColorPalette, type ColumnConfig$1 as ColumnConfig, type ColumnConfigCompat, type ColumnDef, type ColumnOrderConfig, type ColumnSizeConfig, ColumnVisibility, type ColumnVisibility$1 as ColumnVisibilityConfig, type ColumnVisibilityState, type ColumnWidth, CompactStat, type CompactStatProps, CompactThemeToggle, ConfirmDialog, type ConfirmDialogVariant, ConnectionIndicator, ConnectionLostOverlay, ConnectionOverlay, ConnectionStatus$1 as ConnectionStatus, ConnectionStatusBanner, ContextMenu, ContextMenuItem, type ContextMenuItemProps, type ContextMenuPosition, type ContextMenuProps, ContextMenuSeparator, ContextMenuSubmenu, type ContextMenuSubmenuProps, type CustomFieldProps, DashboardStats, type DashboardStatsProps, type DataColumn, DataTable, DataTablePage, type DataTablePageProps, type DataTableProps, DeviceIcon, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DogEarBadge, type DragState, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, EmptyStates, type ExternalPaginationState, type FilterOption$1 as FilterOption, type FormState, type HeaderCellProps, HelpTooltip, Input, type InputProps, Label, LoadingState, type LogEntry, type LogFile, LogStats, type LogStatsProps, LogViewer, type LogViewerProps, LoginPage, LogsPage, type LogsPageProps, LogsSettings, type LogsSettingsProps, MarkdownCard, MarkdownScrollArea, MarkdownViewer, type NavItem, NetworkInterfaceSelect, NoSearchResults, NoSimulatorsRunning, NoTemplatesFound, Pagination, PaginationControls, type PaginationControlsProps, Popover, PopoverContent, PopoverTrigger, Progress, ProtectedRoute, RealtimeDataTable, type RealtimeDataTableProps, type ResizableColumnResult, ResizableDialog, RestartBanner, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, type SettingDefinition, type SettingsCategory, type SettingsCategoryComponentProps, SettingsFramework, type SettingsFrameworkProps, SettingsPage, type SettingsPageProps, SidebarLayout, type SidebarLayoutProps, Slider, type SocketIOActions, type SocketIOConfig, type SocketIOState, Sparkline, type SparklineProps, type StatCard, Switch, TAG_COLORS, Table, TableBody, TableCaption, TableCell, type FilterOption as TableFilterOption, TableFilters, type TableFiltersProps, TableFooter, TableHead, TableHeader, TableRow, TableSkeleton, Tabs, TabsContent, TabsList, TabsTrigger, TestModeIndicator, Textarea, type TextareaProps, type Theme, type ThemeConfig, type ThemeMode, ThemeProvider, type ThemeProviderProps, ThemeToggle, type ThemeToggleProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TruncatedText, UpdateNotification, type UseFormStateOptions, activityStyles, apiRequest, authHandler, badgeVariants, buttonStyles, buttonVariants, cardStyles, checkApiReadiness, cn, createSettingsCategory, defaultSettingsCategories, emptyStateStyles, formatBytes, formatDateTime, formatDuration, formatDurationMs, formatNumber, formatRelativeTime, formatShortRelativeTime, formatTimeAgo, getCSSVariables, getNextAvailableColor, getNextTagColor, getRandomTagColor, getTagClassName, getTagColor, socketManager, statusStyles, theme, timeAgo, useApiReadiness, useColumnDragDrop, useColumnOrder, useColumnVisibility, useConfirmDialog, useConnectionStatus, useDebounce, useFormState, usePagination, useResizableColumns, useSocketIO, useTheme, waitForApiReady };
2072
+ export { ActivityLED, type ActivityLEDProps, Alert, AlertDescription, AlertTitle, type ApiReadinessOptions, type ApiReadinessResult, AppLayout, type AppLayoutProps, Badge, type BadgeProps, BatchActionsBar, type BatchActionsBarProps, Button, type ButtonProps, Card, CardContent, CardHeader, type CardProps, CardSkeleton, CardTitle, type CellProps, Checkbox, CodeSnippet, CodeViewer, type CodeViewerProps, ColorPalette, type ColumnConfig$1 as ColumnConfig, type ColumnConfigCompat, type ColumnDef, type ColumnOrderConfig, type ColumnSizeConfig, ColumnVisibility, type ColumnVisibility$1 as ColumnVisibilityConfig, type ColumnVisibilityState, type ColumnWidth, CompactStat, type CompactStatProps, CompactThemeToggle, ConfirmDialog, type ConfirmDialogVariant, ConnectionIndicator, ConnectionLostOverlay, ConnectionOverlay, ConnectionStatus$1 as ConnectionStatus, ConnectionStatusBanner, ContextMenu, ContextMenuItem, type ContextMenuItemProps, type ContextMenuPosition, type ContextMenuProps, ContextMenuSeparator, ContextMenuSubmenu, type ContextMenuSubmenuProps, type CustomFieldProps, DashboardStats, type DashboardStatsProps, type DataColumn, DataTable, DataTablePage, type DataTablePageProps, type DataTableProps, DeviceIcon, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DogEarBadge, type DragState, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, EmptyStates, type ExternalPaginationState, type FilterOption$1 as FilterOption, type FormState, type HeaderCellProps, HelpTooltip, Input, type InputProps, Label, LiveLogsSettings, type LiveLogsSettingsProps, LoadingState, LogArchivesSettings, type LogArchivesSettingsProps, type LogEntry, type LogFile, LogStats, type LogStatsProps, LogViewer, type LogViewerProps, LoginPage, LogsPage, type LogsPageProps, LogsSettings, type LogsSettingsProps, MarkdownCard, MarkdownScrollArea, MarkdownViewer, type NavItem, NetworkInterfaceSelect, NoSearchResults, NoSimulatorsRunning, NoTemplatesFound, Pagination, PaginationControls, type PaginationControlsProps, Popover, PopoverContent, PopoverTrigger, Progress, ProtectedRoute, RealtimeDataTable, type RealtimeDataTableProps, type ResizableColumnResult, ResizableDialog, RestartBanner, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, type SettingDefinition, type SettingsCategory, type SettingsCategoryComponentProps, SettingsFramework, type SettingsFrameworkProps, SettingsPage, type SettingsPageProps, Sidebar, SidebarAppLayout, type SidebarAppLayoutProps, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupLabel, SidebarHeader, SidebarInset, SidebarLayout, type SidebarLayoutProps, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, type SidebarNavGroup, type SidebarNavItem, SidebarProvider, SidebarRail, SidebarSection, SidebarSeparator, SidebarTrigger, Slider, type SocketIOActions, type SocketIOConfig, type SocketIOState, Sparkline, type SparklineProps, type StatCard, Switch, TAG_COLORS, Table, TableBody, TableCaption, TableCell, type FilterOption as TableFilterOption, TableFilters, type TableFiltersProps, TableFooter, TableHead, TableHeader, TableRow, TableSkeleton, Tabs, TabsContent, TabsList, TabsTrigger, TestModeIndicator, Textarea, type TextareaProps, type Theme, type ThemeConfig, type ThemeMode, ThemeProvider, type ThemeProviderProps, ThemeToggle, type ThemeToggleProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TruncatedText, UpdateNotification, type UseFormStateOptions, activityStyles, apiRequest, authHandler, badgeVariants, buttonStyles, buttonVariants, cardStyles, checkApiReadiness, cn, createSettingsCategory, defaultSettingsCategories, emptyStateStyles, formatBytes, formatDateTime, formatDuration, formatDurationMs, formatNumber, formatRelativeTime, formatShortRelativeTime, formatTimeAgo, getCSSVariables, getNextAvailableColor, getNextTagColor, getRandomTagColor, getTagClassName, getTagColor, socketManager, statusStyles, theme, timeAgo, useApiReadiness, useColumnDragDrop, useColumnOrder, useColumnVisibility, useConfirmDialog, useConnectionStatus, useDebounce, useFormState, usePagination, useResizableColumns, useSidebar, useSocketIO, useTheme, waitForApiReady };
@@ -761,6 +761,117 @@ interface SidebarLayoutProps extends Omit<AppLayoutProps, 'primaryColor'> {
761
761
  }
762
762
  declare function SidebarLayout({ appName, appVersion, navigation, children, logoSrc, logoClassName, logoOffset, headerHeight, showLogout, onLogout, authenticated, connectionStatusUrl, sidebarWidth, className }: SidebarLayoutProps): react_jsx_runtime.JSX.Element;
763
763
 
764
+ interface SidebarNavItem {
765
+ name: string;
766
+ href: string;
767
+ icon?: LucideIcon | React__default.ReactNode;
768
+ badge?: number | string;
769
+ /** Group label - items with the same group will be grouped together */
770
+ group?: string;
771
+ }
772
+ interface SidebarNavGroup {
773
+ label: string;
774
+ items: SidebarNavItem[];
775
+ }
776
+ interface SidebarAppLayoutProps {
777
+ /** Application name displayed in the sidebar header */
778
+ appName: string;
779
+ /** Application version (optional) */
780
+ appVersion?: string;
781
+ /** Navigation items - can be flat array or grouped */
782
+ navigation: SidebarNavItem[] | SidebarNavGroup[];
783
+ /** Page content */
784
+ children: React__default.ReactNode;
785
+ /** Logo image source */
786
+ logoSrc?: string;
787
+ /** Custom CSS class for logo */
788
+ logoClassName?: string;
789
+ /** Show logout button */
790
+ showLogout?: boolean;
791
+ /** Custom logout handler */
792
+ onLogout?: () => void;
793
+ /** Whether user is authenticated (controls logout visibility) */
794
+ authenticated?: boolean;
795
+ /** WebSocket URL for connection status */
796
+ connectionStatusUrl?: string;
797
+ /** Custom sidebar width (default: 260px) */
798
+ sidebarWidth?: number;
799
+ /** Additional className for the layout container */
800
+ className?: string;
801
+ /** Custom header content (replaces default logo/name) */
802
+ headerContent?: React__default.ReactNode;
803
+ /** Custom footer content (replaces default logout) */
804
+ footerContent?: React__default.ReactNode;
805
+ /** Primary accent color for active states */
806
+ primaryColor?: string;
807
+ }
808
+ /**
809
+ * Full-featured application layout with sidebar navigation.
810
+ * Based on the epi-edge-bms sidebar design pattern.
811
+ *
812
+ * @example
813
+ * ```tsx
814
+ * <SidebarAppLayout
815
+ * appName="My App"
816
+ * appVersion="1.0.0"
817
+ * navigation={[
818
+ * { name: 'Dashboard', href: '/', icon: LayoutDashboard },
819
+ * { name: 'Settings', href: '/settings', icon: Settings },
820
+ * ]}
821
+ * >
822
+ * <Routes>...</Routes>
823
+ * </SidebarAppLayout>
824
+ * ```
825
+ */
826
+ declare function SidebarAppLayout({ appName, appVersion, navigation, children, logoSrc, logoClassName, showLogout, onLogout, authenticated, connectionStatusUrl, sidebarWidth, className, headerContent, footerContent, primaryColor, }: SidebarAppLayoutProps): react_jsx_runtime.JSX.Element;
827
+
828
+ interface SidebarContextValue {
829
+ collapsed: boolean;
830
+ toggle: () => void;
831
+ isMobile: boolean;
832
+ }
833
+ interface SidebarProviderProps {
834
+ children: React$1.ReactNode;
835
+ defaultCollapsed?: boolean;
836
+ collapsible?: boolean;
837
+ }
838
+ declare function SidebarProvider({ children, defaultCollapsed, collapsible }: SidebarProviderProps): react_jsx_runtime.JSX.Element;
839
+ declare function useSidebar(): SidebarContextValue;
840
+ interface SidebarProps extends React$1.HTMLAttributes<HTMLDivElement> {
841
+ collapsible?: 'icon' | 'none';
842
+ width?: number;
843
+ }
844
+ declare function Sidebar({ className, collapsible, width, ...props }: SidebarProps): react_jsx_runtime.JSX.Element;
845
+ declare function SidebarTrigger({ className, ...props }: React$1.ButtonHTMLAttributes<HTMLButtonElement>): react_jsx_runtime.JSX.Element;
846
+ declare function SidebarInset({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
847
+ declare function SidebarRail({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element | null;
848
+ declare function SidebarHeader({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
849
+ declare function SidebarFooter({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
850
+ declare function SidebarContent({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
851
+ declare const SidebarGroup: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
852
+ declare const SidebarGroupLabel: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
853
+ declare const SidebarMenu: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
854
+ declare const SidebarMenuItem: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
855
+ declare const sidebarMenuButtonVariants: (props?: ({
856
+ variant?: "default" | "active" | null | undefined;
857
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
858
+ interface SidebarMenuButtonProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof sidebarMenuButtonVariants> {
859
+ asChild?: boolean;
860
+ isActive?: boolean;
861
+ tooltip?: string;
862
+ }
863
+ declare const SidebarMenuButton: React$1.ForwardRefExoticComponent<SidebarMenuButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
864
+ declare const SidebarMenuAction: React$1.ForwardRefExoticComponent<React$1.ButtonHTMLAttributes<HTMLButtonElement> & React$1.RefAttributes<HTMLButtonElement>>;
865
+ declare const SidebarMenuSub: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
866
+ declare const SidebarMenuSubItem: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
867
+ declare const SidebarMenuSubButton: React$1.ForwardRefExoticComponent<SidebarMenuButtonProps & React$1.RefAttributes<HTMLButtonElement>>;
868
+ declare const SidebarSection: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
869
+ declare const SidebarSeparator: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLHRElement> & React$1.RefAttributes<HTMLHRElement>>;
870
+ interface SidebarMenuBadgeProps extends React$1.HTMLAttributes<HTMLSpanElement> {
871
+ variant?: 'default' | 'secondary' | 'destructive';
872
+ }
873
+ declare const SidebarMenuBadge: React$1.ForwardRefExoticComponent<SidebarMenuBadgeProps & React$1.RefAttributes<HTMLSpanElement>>;
874
+
764
875
  /**
765
876
  * Activity LED Component
766
877
  * Shows a status indicator with optional animation
@@ -900,6 +1011,10 @@ interface LogViewerProps {
900
1011
  categories?: LogCategory[];
901
1012
  levelBadgeColors?: Record<string, string>;
902
1013
  currentLogLevel?: string;
1014
+ /** Display mode: 'full' shows sidebar, 'logs' shows only live logs, 'archives' shows only archives */
1015
+ mode?: 'full' | 'logs' | 'archives';
1016
+ /** Show the header with title. Set to false when embedded in settings. */
1017
+ showHeader?: boolean;
903
1018
  showCategories?: boolean;
904
1019
  showArchives?: boolean;
905
1020
  height?: string;
@@ -910,7 +1025,7 @@ interface LogViewerProps {
910
1025
  enableCopy?: boolean;
911
1026
  className?: string;
912
1027
  }
913
- declare function LogViewer({ logs: externalLogs, logFiles: externalLogFiles, onFetchLogs, onFetchArchives, onClearLogs, onExportLogs, onDownloadArchive, onDeleteArchive, onLogReceived, autoRefreshMs, maxEntries, defaultCategory, enableLiveUpdates, enableAutoScroll, autoScrollDefault, newestFirst, enableSearch, enableFilter, enableExport, enableClear, enableCopy, categories, levelBadgeColors, currentLogLevel, showCategories, showArchives, height, className, }: LogViewerProps): react_jsx_runtime.JSX.Element;
1028
+ declare function LogViewer({ logs: externalLogs, logFiles: externalLogFiles, onFetchLogs, onFetchArchives, onClearLogs, onExportLogs, onDownloadArchive, onDeleteArchive, onLogReceived, autoRefreshMs, maxEntries, defaultCategory, enableLiveUpdates, enableAutoScroll, autoScrollDefault, newestFirst, enableSearch, enableFilter, enableExport, enableClear, enableCopy, categories, levelBadgeColors, currentLogLevel, mode, showHeader, showCategories, showArchives, height, className, }: LogViewerProps): react_jsx_runtime.JSX.Element;
914
1029
 
915
1030
  interface LogStatsProps {
916
1031
  stats: {
@@ -1000,38 +1115,42 @@ interface SettingsFrameworkProps {
1000
1115
  }
1001
1116
  declare function SettingsFramework({ categories, onSave, onLoad, onValidate, onRestartRequired, title, description, showResetButton, showUndoButton, customFields, renderCategory, renderSetting, autoSave, autoSaveDelay, confirmReset, persistState, className, containerClassName, categoryClassName, settingClassName, height, maxContentWidth }: SettingsFrameworkProps): react_jsx_runtime.JSX.Element;
1002
1117
 
1003
- interface LogsSettingsProps extends SettingsCategoryComponentProps {
1118
+ interface LiveLogsSettingsProps extends SettingsCategoryComponentProps {
1004
1119
  /** Fetch current log entries */
1005
1120
  onFetchLogs: () => Promise<LogEntry[]>;
1006
- /** Fetch log archive files */
1007
- onFetchArchives?: () => Promise<LogFile[]>;
1008
1121
  /** Clear current logs */
1009
1122
  onClearLogs?: () => Promise<void>;
1123
+ /** Auto-refresh interval in ms (default: 3000) */
1124
+ autoRefreshMs?: number;
1125
+ /** Height of the log viewer (default: 100%) */
1126
+ height?: string;
1127
+ }
1128
+ interface LogArchivesSettingsProps extends SettingsCategoryComponentProps {
1129
+ /** Fetch log archive files */
1130
+ onFetchArchives: () => Promise<LogFile[]>;
1010
1131
  /** Download an archive file */
1011
1132
  onDownloadArchive?: (filename: string) => void;
1012
1133
  /** Delete an archive file */
1013
1134
  onDeleteArchive?: (filename: string) => Promise<void>;
1014
- /** Auto-refresh interval in ms (default: 3000) */
1015
- autoRefreshMs?: number;
1016
- /** Height of the log viewer (default: calc(100vh - 400px)) */
1135
+ /** Height of the archives viewer (default: 100%) */
1017
1136
  height?: string;
1018
1137
  }
1019
1138
  /**
1020
- * Logs settings component for use in SettingsFramework categories
1139
+ * Live logs settings component for use in SettingsFramework categories.
1140
+ * Shows only the live log viewer without archives or internal navigation.
1021
1141
  *
1022
1142
  * @example
1023
1143
  * ```tsx
1024
1144
  * const categories = [
1025
1145
  * {
1026
- * id: 'logs',
1027
- * label: 'Logs',
1028
- * icon: ScrollText,
1029
- * description: 'View application logs and archives',
1146
+ * id: 'liveLogs',
1147
+ * label: 'Live Logs',
1148
+ * icon: Terminal,
1149
+ * description: 'View real-time application logs',
1030
1150
  * component: (props) => (
1031
- * <LogsSettings
1151
+ * <LiveLogsSettings
1032
1152
  * {...props}
1033
1153
  * onFetchLogs={fetchLogs}
1034
- * onFetchArchives={fetchArchives}
1035
1154
  * onClearLogs={clearLogs}
1036
1155
  * />
1037
1156
  * ),
@@ -1039,6 +1158,42 @@ interface LogsSettingsProps extends SettingsCategoryComponentProps {
1039
1158
  * ];
1040
1159
  * ```
1041
1160
  */
1161
+ declare function LiveLogsSettings({ onFetchLogs, onClearLogs, autoRefreshMs, height, }: LiveLogsSettingsProps): react_jsx_runtime.JSX.Element;
1162
+ /**
1163
+ * Log archives settings component for use in SettingsFramework categories.
1164
+ * Shows only the archived log files without live logs or internal navigation.
1165
+ *
1166
+ * @example
1167
+ * ```tsx
1168
+ * const categories = [
1169
+ * {
1170
+ * id: 'logArchives',
1171
+ * label: 'Log Archives',
1172
+ * icon: Archive,
1173
+ * description: 'Download and manage archived log files',
1174
+ * component: (props) => (
1175
+ * <LogArchivesSettings
1176
+ * {...props}
1177
+ * onFetchArchives={fetchArchives}
1178
+ * onDownloadArchive={downloadArchive}
1179
+ * onDeleteArchive={deleteArchive}
1180
+ * />
1181
+ * ),
1182
+ * },
1183
+ * ];
1184
+ * ```
1185
+ */
1186
+ declare function LogArchivesSettings({ onFetchArchives, onDownloadArchive, onDeleteArchive, height, }: LogArchivesSettingsProps): react_jsx_runtime.JSX.Element;
1187
+ interface LogsSettingsProps extends SettingsCategoryComponentProps {
1188
+ onFetchLogs: () => Promise<LogEntry[]>;
1189
+ onFetchArchives?: () => Promise<LogFile[]>;
1190
+ onClearLogs?: () => Promise<void>;
1191
+ onDownloadArchive?: (filename: string) => void;
1192
+ onDeleteArchive?: (filename: string) => Promise<void>;
1193
+ autoRefreshMs?: number;
1194
+ height?: string;
1195
+ }
1196
+ /** @deprecated Use LiveLogsSettings and LogArchivesSettings instead */
1042
1197
  declare function LogsSettings({ onFetchLogs, onFetchArchives, onClearLogs, onDownloadArchive, onDeleteArchive, autoRefreshMs, height, }: LogsSettingsProps): react_jsx_runtime.JSX.Element;
1043
1198
 
1044
1199
  /**
@@ -1914,4 +2069,4 @@ interface TableFiltersProps {
1914
2069
  */
1915
2070
  declare function TableFilters({ search, onSearchChange, searchPlaceholder, filters, activeFilterCount, onClearFilters, className, children, }: TableFiltersProps): react_jsx_runtime.JSX.Element;
1916
2071
 
1917
- export { ActivityLED, type ActivityLEDProps, Alert, AlertDescription, AlertTitle, type ApiReadinessOptions, type ApiReadinessResult, AppLayout, type AppLayoutProps, Badge, type BadgeProps, BatchActionsBar, type BatchActionsBarProps, Button, type ButtonProps, Card, CardContent, CardHeader, type CardProps, CardSkeleton, CardTitle, type CellProps, Checkbox, CodeSnippet, CodeViewer, type CodeViewerProps, ColorPalette, type ColumnConfig$1 as ColumnConfig, type ColumnConfigCompat, type ColumnDef, type ColumnOrderConfig, type ColumnSizeConfig, ColumnVisibility, type ColumnVisibility$1 as ColumnVisibilityConfig, type ColumnVisibilityState, type ColumnWidth, CompactStat, type CompactStatProps, CompactThemeToggle, ConfirmDialog, type ConfirmDialogVariant, ConnectionIndicator, ConnectionLostOverlay, ConnectionOverlay, ConnectionStatus$1 as ConnectionStatus, ConnectionStatusBanner, ContextMenu, ContextMenuItem, type ContextMenuItemProps, type ContextMenuPosition, type ContextMenuProps, ContextMenuSeparator, ContextMenuSubmenu, type ContextMenuSubmenuProps, type CustomFieldProps, DashboardStats, type DashboardStatsProps, type DataColumn, DataTable, DataTablePage, type DataTablePageProps, type DataTableProps, DeviceIcon, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DogEarBadge, type DragState, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, EmptyStates, type ExternalPaginationState, type FilterOption$1 as FilterOption, type FormState, type HeaderCellProps, HelpTooltip, Input, type InputProps, Label, LoadingState, type LogEntry, type LogFile, LogStats, type LogStatsProps, LogViewer, type LogViewerProps, LoginPage, LogsPage, type LogsPageProps, LogsSettings, type LogsSettingsProps, MarkdownCard, MarkdownScrollArea, MarkdownViewer, type NavItem, NetworkInterfaceSelect, NoSearchResults, NoSimulatorsRunning, NoTemplatesFound, Pagination, PaginationControls, type PaginationControlsProps, Popover, PopoverContent, PopoverTrigger, Progress, ProtectedRoute, RealtimeDataTable, type RealtimeDataTableProps, type ResizableColumnResult, ResizableDialog, RestartBanner, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, type SettingDefinition, type SettingsCategory, type SettingsCategoryComponentProps, SettingsFramework, type SettingsFrameworkProps, SettingsPage, type SettingsPageProps, SidebarLayout, type SidebarLayoutProps, Slider, type SocketIOActions, type SocketIOConfig, type SocketIOState, Sparkline, type SparklineProps, type StatCard, Switch, TAG_COLORS, Table, TableBody, TableCaption, TableCell, type FilterOption as TableFilterOption, TableFilters, type TableFiltersProps, TableFooter, TableHead, TableHeader, TableRow, TableSkeleton, Tabs, TabsContent, TabsList, TabsTrigger, TestModeIndicator, Textarea, type TextareaProps, type Theme, type ThemeConfig, type ThemeMode, ThemeProvider, type ThemeProviderProps, ThemeToggle, type ThemeToggleProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TruncatedText, UpdateNotification, type UseFormStateOptions, activityStyles, apiRequest, authHandler, badgeVariants, buttonStyles, buttonVariants, cardStyles, checkApiReadiness, cn, createSettingsCategory, defaultSettingsCategories, emptyStateStyles, formatBytes, formatDateTime, formatDuration, formatDurationMs, formatNumber, formatRelativeTime, formatShortRelativeTime, formatTimeAgo, getCSSVariables, getNextAvailableColor, getNextTagColor, getRandomTagColor, getTagClassName, getTagColor, socketManager, statusStyles, theme, timeAgo, useApiReadiness, useColumnDragDrop, useColumnOrder, useColumnVisibility, useConfirmDialog, useConnectionStatus, useDebounce, useFormState, usePagination, useResizableColumns, useSocketIO, useTheme, waitForApiReady };
2072
+ export { ActivityLED, type ActivityLEDProps, Alert, AlertDescription, AlertTitle, type ApiReadinessOptions, type ApiReadinessResult, AppLayout, type AppLayoutProps, Badge, type BadgeProps, BatchActionsBar, type BatchActionsBarProps, Button, type ButtonProps, Card, CardContent, CardHeader, type CardProps, CardSkeleton, CardTitle, type CellProps, Checkbox, CodeSnippet, CodeViewer, type CodeViewerProps, ColorPalette, type ColumnConfig$1 as ColumnConfig, type ColumnConfigCompat, type ColumnDef, type ColumnOrderConfig, type ColumnSizeConfig, ColumnVisibility, type ColumnVisibility$1 as ColumnVisibilityConfig, type ColumnVisibilityState, type ColumnWidth, CompactStat, type CompactStatProps, CompactThemeToggle, ConfirmDialog, type ConfirmDialogVariant, ConnectionIndicator, ConnectionLostOverlay, ConnectionOverlay, ConnectionStatus$1 as ConnectionStatus, ConnectionStatusBanner, ContextMenu, ContextMenuItem, type ContextMenuItemProps, type ContextMenuPosition, type ContextMenuProps, ContextMenuSeparator, ContextMenuSubmenu, type ContextMenuSubmenuProps, type CustomFieldProps, DashboardStats, type DashboardStatsProps, type DataColumn, DataTable, DataTablePage, type DataTablePageProps, type DataTableProps, DeviceIcon, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DogEarBadge, type DragState, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, EmptyStates, type ExternalPaginationState, type FilterOption$1 as FilterOption, type FormState, type HeaderCellProps, HelpTooltip, Input, type InputProps, Label, LiveLogsSettings, type LiveLogsSettingsProps, LoadingState, LogArchivesSettings, type LogArchivesSettingsProps, type LogEntry, type LogFile, LogStats, type LogStatsProps, LogViewer, type LogViewerProps, LoginPage, LogsPage, type LogsPageProps, LogsSettings, type LogsSettingsProps, MarkdownCard, MarkdownScrollArea, MarkdownViewer, type NavItem, NetworkInterfaceSelect, NoSearchResults, NoSimulatorsRunning, NoTemplatesFound, Pagination, PaginationControls, type PaginationControlsProps, Popover, PopoverContent, PopoverTrigger, Progress, ProtectedRoute, RealtimeDataTable, type RealtimeDataTableProps, type ResizableColumnResult, ResizableDialog, RestartBanner, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, type SettingDefinition, type SettingsCategory, type SettingsCategoryComponentProps, SettingsFramework, type SettingsFrameworkProps, SettingsPage, type SettingsPageProps, Sidebar, SidebarAppLayout, type SidebarAppLayoutProps, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupLabel, SidebarHeader, SidebarInset, SidebarLayout, type SidebarLayoutProps, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, type SidebarNavGroup, type SidebarNavItem, SidebarProvider, SidebarRail, SidebarSection, SidebarSeparator, SidebarTrigger, Slider, type SocketIOActions, type SocketIOConfig, type SocketIOState, Sparkline, type SparklineProps, type StatCard, Switch, TAG_COLORS, Table, TableBody, TableCaption, TableCell, type FilterOption as TableFilterOption, TableFilters, type TableFiltersProps, TableFooter, TableHead, TableHeader, TableRow, TableSkeleton, Tabs, TabsContent, TabsList, TabsTrigger, TestModeIndicator, Textarea, type TextareaProps, type Theme, type ThemeConfig, type ThemeMode, ThemeProvider, type ThemeProviderProps, ThemeToggle, type ThemeToggleProps, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TruncatedText, UpdateNotification, type UseFormStateOptions, activityStyles, apiRequest, authHandler, badgeVariants, buttonStyles, buttonVariants, cardStyles, checkApiReadiness, cn, createSettingsCategory, defaultSettingsCategories, emptyStateStyles, formatBytes, formatDateTime, formatDuration, formatDurationMs, formatNumber, formatRelativeTime, formatShortRelativeTime, formatTimeAgo, getCSSVariables, getNextAvailableColor, getNextTagColor, getRandomTagColor, getTagClassName, getTagColor, socketManager, statusStyles, theme, timeAgo, useApiReadiness, useColumnDragDrop, useColumnOrder, useColumnVisibility, useConfirmDialog, useConnectionStatus, useDebounce, useFormState, usePagination, useResizableColumns, useSidebar, useSocketIO, useTheme, waitForApiReady };