+ {entries.map((entry, i) => (
+
+ {formatTime(entry.timestamp)}
+
+ {entry.level.toUpperCase()}
+
+ {entry.message}
+
+ ))}
+ {entries.length === 0 && (
+
No log entries.
+ )}
+
+ )
+}
diff --git a/src/design-system/composites/index.ts b/src/design-system/composites/index.ts
index 5e457a1..6578721 100644
--- a/src/design-system/composites/index.ts
+++ b/src/design-system/composites/index.ts
@@ -20,6 +20,8 @@ export type { KpiItem, KpiStripProps } from './KpiStrip/KpiStrip'
export type { FeedEvent } from './EventFeed/EventFeed'
export { FilterBar } from './FilterBar/FilterBar'
export { LineChart } from './LineChart/LineChart'
+export { LogViewer } from './LogViewer/LogViewer'
+export type { LogEntry, LogViewerProps } from './LogViewer/LogViewer'
export { LoginDialog } from './LoginForm/LoginDialog'
export type { LoginDialogProps } from './LoginForm/LoginDialog'
export { LoginForm } from './LoginForm/LoginForm'