@twinmatrix/ui-sdk 0.0.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.
- package/README.md +49 -0
- package/THEME_CUSTOMIZATION.md +221 -0
- package/lib/cjs/index.js +224 -0
- package/lib/esm/index.js +224 -0
- package/lib/types/index.d.ts +33 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/internal/alerts/AlertItem.d.ts +9 -0
- package/lib/types/internal/alerts/AlertItem.d.ts.map +1 -0
- package/lib/types/internal/alerts/AlertsList.d.ts +12 -0
- package/lib/types/internal/alerts/AlertsList.d.ts.map +1 -0
- package/lib/types/internal/alerts/index.d.ts +5 -0
- package/lib/types/internal/alerts/index.d.ts.map +1 -0
- package/lib/types/internal/alerts/types.d.ts +11 -0
- package/lib/types/internal/alerts/types.d.ts.map +1 -0
- package/lib/types/internal/alerts/utils.d.ts +2 -0
- package/lib/types/internal/alerts/utils.d.ts.map +1 -0
- package/lib/types/internal/charts/Chart.d.ts +28 -0
- package/lib/types/internal/charts/Chart.d.ts.map +1 -0
- package/lib/types/internal/charts/WidgetContainer.d.ts +16 -0
- package/lib/types/internal/charts/WidgetContainer.d.ts.map +1 -0
- package/lib/types/internal/charts/index.d.ts +5 -0
- package/lib/types/internal/charts/index.d.ts.map +1 -0
- package/lib/types/internal/stores/themeStore.d.ts +13 -0
- package/lib/types/internal/stores/themeStore.d.ts.map +1 -0
- package/lib/types/internal/theme/index.d.ts +26 -0
- package/lib/types/internal/theme/index.d.ts.map +1 -0
- package/lib/types/internal/theme/theme.d.ts +113 -0
- package/lib/types/internal/theme/theme.d.ts.map +1 -0
- package/lib/types/internal/theme/useAppTheme.d.ts +2 -0
- package/lib/types/internal/theme/useAppTheme.d.ts.map +1 -0
- package/lib/types/internal/ui/BottomBar.d.ts +9 -0
- package/lib/types/internal/ui/BottomBar.d.ts.map +1 -0
- package/lib/types/internal/ui/Button.d.ts +17 -0
- package/lib/types/internal/ui/Button.d.ts.map +1 -0
- package/lib/types/internal/ui/Card.d.ts +52 -0
- package/lib/types/internal/ui/Card.d.ts.map +1 -0
- package/lib/types/internal/ui/Dropdown.d.ts +12 -0
- package/lib/types/internal/ui/Dropdown.d.ts.map +1 -0
- package/lib/types/internal/ui/Modal.d.ts +45 -0
- package/lib/types/internal/ui/Modal.d.ts.map +1 -0
- package/lib/types/internal/ui/Panel.d.ts +30 -0
- package/lib/types/internal/ui/Panel.d.ts.map +1 -0
- package/lib/types/internal/ui/RadioButton.d.ts +13 -0
- package/lib/types/internal/ui/RadioButton.d.ts.map +1 -0
- package/lib/types/internal/ui/SidePanel.d.ts +10 -0
- package/lib/types/internal/ui/SidePanel.d.ts.map +1 -0
- package/lib/types/internal/ui/ThemeEditor.d.ts +21 -0
- package/lib/types/internal/ui/ThemeEditor.d.ts.map +1 -0
- package/lib/types/internal/ui/TopBar.d.ts +64 -0
- package/lib/types/internal/ui/TopBar.d.ts.map +1 -0
- package/lib/types/internal/ui/bottombar/Item.d.ts +9 -0
- package/lib/types/internal/ui/bottombar/Item.d.ts.map +1 -0
- package/lib/types/internal/ui/bottombar/Root.d.ts +8 -0
- package/lib/types/internal/ui/bottombar/Root.d.ts.map +1 -0
- package/lib/types/internal/ui/bottombar/styles.d.ts +19 -0
- package/lib/types/internal/ui/bottombar/styles.d.ts.map +1 -0
- package/lib/types/internal/ui/dropdown/Group.d.ts +9 -0
- package/lib/types/internal/ui/dropdown/Group.d.ts.map +1 -0
- package/lib/types/internal/ui/dropdown/Item.d.ts +12 -0
- package/lib/types/internal/ui/dropdown/Item.d.ts.map +1 -0
- package/lib/types/internal/ui/dropdown/Menu.d.ts +12 -0
- package/lib/types/internal/ui/dropdown/Menu.d.ts.map +1 -0
- package/lib/types/internal/ui/dropdown/Root.d.ts +11 -0
- package/lib/types/internal/ui/dropdown/Root.d.ts.map +1 -0
- package/lib/types/internal/ui/dropdown/Trigger.d.ts +11 -0
- package/lib/types/internal/ui/dropdown/Trigger.d.ts.map +1 -0
- package/lib/types/internal/ui/dropdown/styles.d.ts +67 -0
- package/lib/types/internal/ui/dropdown/styles.d.ts.map +1 -0
- package/lib/types/internal/ui/sidepanel/Body.d.ts +15 -0
- package/lib/types/internal/ui/sidepanel/Body.d.ts.map +1 -0
- package/lib/types/internal/ui/sidepanel/DrawerPanel.d.ts +13 -0
- package/lib/types/internal/ui/sidepanel/DrawerPanel.d.ts.map +1 -0
- package/lib/types/internal/ui/sidepanel/Footer.d.ts +5 -0
- package/lib/types/internal/ui/sidepanel/Footer.d.ts.map +1 -0
- package/lib/types/internal/ui/sidepanel/Header.d.ts +10 -0
- package/lib/types/internal/ui/sidepanel/Header.d.ts.map +1 -0
- package/lib/types/internal/ui/sidepanel/SidePanel.d.ts +11 -0
- package/lib/types/internal/ui/sidepanel/SidePanel.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/Actions.d.ts +5 -0
- package/lib/types/internal/ui/topbar/Actions.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/Badge.d.ts +5 -0
- package/lib/types/internal/ui/topbar/Badge.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/Divider.d.ts +5 -0
- package/lib/types/internal/ui/topbar/Divider.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/IconButton.d.ts +10 -0
- package/lib/types/internal/ui/topbar/IconButton.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/LevelSelector.d.ts +6 -0
- package/lib/types/internal/ui/topbar/LevelSelector.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/LocationSelector.d.ts +9 -0
- package/lib/types/internal/ui/topbar/LocationSelector.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/Logo.d.ts +8 -0
- package/lib/types/internal/ui/topbar/Logo.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/Root.d.ts +12 -0
- package/lib/types/internal/ui/topbar/Root.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/Section.d.ts +11 -0
- package/lib/types/internal/ui/topbar/Section.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/SelectBase.d.ts +19 -0
- package/lib/types/internal/ui/topbar/SelectBase.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/Spacer.d.ts +3 -0
- package/lib/types/internal/ui/topbar/Spacer.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/Title.d.ts +5 -0
- package/lib/types/internal/ui/topbar/Title.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/ToggleGroup.d.ts +14 -0
- package/lib/types/internal/ui/topbar/ToggleGroup.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/addons/BackButton.d.ts +6 -0
- package/lib/types/internal/ui/topbar/addons/BackButton.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/addons/EventsBar.d.ts +17 -0
- package/lib/types/internal/ui/topbar/addons/EventsBar.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/addons/LevelSelect.d.ts +6 -0
- package/lib/types/internal/ui/topbar/addons/LevelSelect.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/addons/ListTypeToggle.d.ts +6 -0
- package/lib/types/internal/ui/topbar/addons/ListTypeToggle.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/addons/LocationSelect.d.ts +9 -0
- package/lib/types/internal/ui/topbar/addons/LocationSelect.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/addons/SidebarToggleButton.d.ts +6 -0
- package/lib/types/internal/ui/topbar/addons/SidebarToggleButton.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/addons/ThemeToggleButton.d.ts +5 -0
- package/lib/types/internal/ui/topbar/addons/ThemeToggleButton.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/addons/TimelineToggleButton.d.ts +6 -0
- package/lib/types/internal/ui/topbar/addons/TimelineToggleButton.d.ts.map +1 -0
- package/lib/types/internal/ui/topbar/styles.d.ts +148 -0
- package/lib/types/internal/ui/topbar/styles.d.ts.map +1 -0
- package/lib/types/internal/utils/colorShades.d.ts +12 -0
- package/lib/types/internal/utils/colorShades.d.ts.map +1 -0
- package/lib/types/internal/webrtc/WebRTCManager.d.ts +28 -0
- package/lib/types/internal/webrtc/WebRTCManager.d.ts.map +1 -0
- package/lib/types/internal/webrtc/WebRTCStreamPlayer.d.ts +8 -0
- package/lib/types/internal/webrtc/WebRTCStreamPlayer.d.ts.map +1 -0
- package/lib/types/layout/DashboardBottomRegion.d.ts +17 -0
- package/lib/types/layout/DashboardBottomRegion.d.ts.map +1 -0
- package/lib/types/layout/DashboardMain.d.ts +16 -0
- package/lib/types/layout/DashboardMain.d.ts.map +1 -0
- package/lib/types/layout/DashboardMobileDrawer.d.ts +38 -0
- package/lib/types/layout/DashboardMobileDrawer.d.ts.map +1 -0
- package/lib/types/layout/DashboardShell.d.ts +18 -0
- package/lib/types/layout/DashboardShell.d.ts.map +1 -0
- package/lib/types/layout/DashboardSidePanel.d.ts +30 -0
- package/lib/types/layout/DashboardSidePanel.d.ts.map +1 -0
- package/lib/types/layout/index.d.ts +21 -0
- package/lib/types/layout/index.d.ts.map +1 -0
- package/lib/types/types/generic.d.ts +73 -0
- package/lib/types/types/generic.d.ts.map +1 -0
- package/lib/types/types/index.d.ts +7 -0
- package/lib/types/types/index.d.ts.map +1 -0
- package/lib/types/ui/index.d.ts +21 -0
- package/lib/types/ui/index.d.ts.map +1 -0
- package/lib/types/widgets/AIAnalysisPanel.d.ts +33 -0
- package/lib/types/widgets/AIAnalysisPanel.d.ts.map +1 -0
- package/lib/types/widgets/AlertCameraChart.d.ts +18 -0
- package/lib/types/widgets/AlertCameraChart.d.ts.map +1 -0
- package/lib/types/widgets/AlertSeverityChart.d.ts +20 -0
- package/lib/types/widgets/AlertSeverityChart.d.ts.map +1 -0
- package/lib/types/widgets/AlertTimelineChart.d.ts +18 -0
- package/lib/types/widgets/AlertTimelineChart.d.ts.map +1 -0
- package/lib/types/widgets/AlertTriggerChart.d.ts +18 -0
- package/lib/types/widgets/AlertTriggerChart.d.ts.map +1 -0
- package/lib/types/widgets/AlertsPanel.d.ts +22 -0
- package/lib/types/widgets/AlertsPanel.d.ts.map +1 -0
- package/lib/types/widgets/CameraStreamWidget.d.ts +39 -0
- package/lib/types/widgets/CameraStreamWidget.d.ts.map +1 -0
- package/lib/types/widgets/ChatbotPanel.d.ts +16 -0
- package/lib/types/widgets/ChatbotPanel.d.ts.map +1 -0
- package/lib/types/widgets/RecentActivityFeed.d.ts +18 -0
- package/lib/types/widgets/RecentActivityFeed.d.ts.map +1 -0
- package/lib/types/widgets/TopCamerasList.d.ts +17 -0
- package/lib/types/widgets/TopCamerasList.d.ts.map +1 -0
- package/lib/types/widgets/index.d.ts +27 -0
- package/lib/types/widgets/index.d.ts.map +1 -0
- package/package.json +70 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SidebarToggleButton.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/ui/topbar/addons/SidebarToggleButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,eAAO,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAIA,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ThemeToggleButton.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/ui/topbar/addons/ThemeToggleButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,OAAO,EAAE,MAAM,IAAI,CAAA;CAAE,CAM/D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimelineToggleButton.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/ui/topbar/addons/TimelineToggleButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAIA,CAAC"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
export declare const styles: {
|
|
2
|
+
rootBase: {
|
|
3
|
+
display: string;
|
|
4
|
+
alignItems: string;
|
|
5
|
+
gap: string;
|
|
6
|
+
padding: string;
|
|
7
|
+
};
|
|
8
|
+
rootLight: {
|
|
9
|
+
backgroundColor: string;
|
|
10
|
+
borderBottom: string;
|
|
11
|
+
color: string;
|
|
12
|
+
};
|
|
13
|
+
rootDark: {
|
|
14
|
+
background: string;
|
|
15
|
+
borderBottom: string;
|
|
16
|
+
color: string;
|
|
17
|
+
};
|
|
18
|
+
rootGlass: {
|
|
19
|
+
background: string;
|
|
20
|
+
backdropFilter: string;
|
|
21
|
+
borderBottom: string;
|
|
22
|
+
color: string;
|
|
23
|
+
};
|
|
24
|
+
logo: {
|
|
25
|
+
cursor: string;
|
|
26
|
+
display: string;
|
|
27
|
+
alignItems: string;
|
|
28
|
+
gap: string;
|
|
29
|
+
};
|
|
30
|
+
logoImage: {
|
|
31
|
+
height: string;
|
|
32
|
+
width: string;
|
|
33
|
+
objectFit: "contain";
|
|
34
|
+
};
|
|
35
|
+
search: {
|
|
36
|
+
flex: number;
|
|
37
|
+
maxWidth: string;
|
|
38
|
+
display: string;
|
|
39
|
+
alignItems: string;
|
|
40
|
+
color: string;
|
|
41
|
+
};
|
|
42
|
+
searchInput: {
|
|
43
|
+
width: string;
|
|
44
|
+
padding: string;
|
|
45
|
+
border: string;
|
|
46
|
+
borderRadius: string;
|
|
47
|
+
fontSize: string;
|
|
48
|
+
};
|
|
49
|
+
searchIcon: {
|
|
50
|
+
marginRight: number;
|
|
51
|
+
color: string;
|
|
52
|
+
display: string;
|
|
53
|
+
};
|
|
54
|
+
selector: {
|
|
55
|
+
display: string;
|
|
56
|
+
alignItems: string;
|
|
57
|
+
gap: string;
|
|
58
|
+
};
|
|
59
|
+
selectorLabel: {
|
|
60
|
+
fontSize: string;
|
|
61
|
+
color: string;
|
|
62
|
+
fontWeight: number;
|
|
63
|
+
};
|
|
64
|
+
select: {
|
|
65
|
+
padding: string;
|
|
66
|
+
border: string;
|
|
67
|
+
borderRadius: string;
|
|
68
|
+
fontSize: string;
|
|
69
|
+
backgroundColor: string;
|
|
70
|
+
color: string;
|
|
71
|
+
cursor: string;
|
|
72
|
+
};
|
|
73
|
+
option: {
|
|
74
|
+
color: string;
|
|
75
|
+
backgroundColor: string;
|
|
76
|
+
};
|
|
77
|
+
actions: {
|
|
78
|
+
display: string;
|
|
79
|
+
alignItems: string;
|
|
80
|
+
gap: string;
|
|
81
|
+
marginLeft: string;
|
|
82
|
+
};
|
|
83
|
+
title: {
|
|
84
|
+
fontSize: string;
|
|
85
|
+
fontWeight: number;
|
|
86
|
+
margin: number;
|
|
87
|
+
color: string;
|
|
88
|
+
};
|
|
89
|
+
hDivider: {
|
|
90
|
+
width: string;
|
|
91
|
+
height: number;
|
|
92
|
+
background: string;
|
|
93
|
+
};
|
|
94
|
+
vDivider: {
|
|
95
|
+
width: number;
|
|
96
|
+
height: string;
|
|
97
|
+
background: string;
|
|
98
|
+
};
|
|
99
|
+
iconButton: {
|
|
100
|
+
display: string;
|
|
101
|
+
alignItems: string;
|
|
102
|
+
justifyContent: string;
|
|
103
|
+
gap: number;
|
|
104
|
+
padding: string;
|
|
105
|
+
borderRadius: number;
|
|
106
|
+
border: string;
|
|
107
|
+
background: string;
|
|
108
|
+
color: string;
|
|
109
|
+
cursor: string;
|
|
110
|
+
};
|
|
111
|
+
iconButtonActive: {
|
|
112
|
+
borderColor: string;
|
|
113
|
+
background: string;
|
|
114
|
+
color: string;
|
|
115
|
+
};
|
|
116
|
+
badge: {
|
|
117
|
+
display: string;
|
|
118
|
+
alignItems: string;
|
|
119
|
+
padding: string;
|
|
120
|
+
borderRadius: number;
|
|
121
|
+
background: string;
|
|
122
|
+
color: string;
|
|
123
|
+
fontSize: number;
|
|
124
|
+
fontWeight: number;
|
|
125
|
+
};
|
|
126
|
+
eventsBar: {
|
|
127
|
+
display: string;
|
|
128
|
+
gap: number;
|
|
129
|
+
overflowX: "auto";
|
|
130
|
+
padding: string;
|
|
131
|
+
};
|
|
132
|
+
eventsChip: {
|
|
133
|
+
border: string;
|
|
134
|
+
background: string;
|
|
135
|
+
color: string;
|
|
136
|
+
padding: string;
|
|
137
|
+
borderRadius: number;
|
|
138
|
+
cursor: string;
|
|
139
|
+
whiteSpace: "nowrap";
|
|
140
|
+
};
|
|
141
|
+
eventsChipActive: {
|
|
142
|
+
background: string;
|
|
143
|
+
color: string;
|
|
144
|
+
borderColor: string;
|
|
145
|
+
fontWeight: number;
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/internal/ui/topbar/styles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkJlB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for generating color shades from a base color
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Generates an array of color shades from a base color
|
|
6
|
+
* Creates a gradient from lighter to darker shades
|
|
7
|
+
* @param baseColor - Base hex color string
|
|
8
|
+
* @param count - Number of shades to generate
|
|
9
|
+
* @returns Array of hex color strings
|
|
10
|
+
*/
|
|
11
|
+
export declare const generateColorShades: (baseColor: string, count: number) => string[];
|
|
12
|
+
//# sourceMappingURL=colorShades.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colorShades.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/colorShades.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgCH;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,WAAW,MAAM,EAAE,OAAO,MAAM,KAAG,MAAM,EAmB5E,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type ConnectionStatus = 'disconnected' | 'connecting' | 'connected' | 'failed';
|
|
2
|
+
export interface StreamState {
|
|
3
|
+
stream: MediaStream | null;
|
|
4
|
+
pc: RTCPeerConnection | null;
|
|
5
|
+
status: ConnectionStatus;
|
|
6
|
+
error: string | null;
|
|
7
|
+
retryCount: number;
|
|
8
|
+
}
|
|
9
|
+
type Listener = (state: StreamState) => void;
|
|
10
|
+
declare class WebRTCManager {
|
|
11
|
+
private connections;
|
|
12
|
+
private refCounts;
|
|
13
|
+
private reconnectTimeouts;
|
|
14
|
+
private listeners;
|
|
15
|
+
getStreamState(url: string): StreamState | undefined;
|
|
16
|
+
on(event: string, listener: Listener): void;
|
|
17
|
+
off(event: string, listener: Listener): void;
|
|
18
|
+
private emit;
|
|
19
|
+
connect(url: string, cameraName?: string): StreamState | Promise<StreamState>;
|
|
20
|
+
disconnect(url: string): void;
|
|
21
|
+
private startStream;
|
|
22
|
+
private handleFailure;
|
|
23
|
+
private cleanup;
|
|
24
|
+
retry(url: string, cameraName?: string): void;
|
|
25
|
+
}
|
|
26
|
+
export declare const webrtcManager: WebRTCManager;
|
|
27
|
+
export {};
|
|
28
|
+
//# sourceMappingURL=WebRTCManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebRTCManager.d.ts","sourceRoot":"","sources":["../../../../src/internal/webrtc/WebRTCManager.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;AAEtF,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,EAAE,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,gBAAgB,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,KAAK,QAAQ,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;AAE7C,cAAM,aAAa;IACjB,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,iBAAiB,CAAyD;IAClF,OAAO,CAAC,SAAS,CAAyC;IAE1D,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIpD,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAOpC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ;IAOrC,OAAO,CAAC,IAAI;IAOZ,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,GAAE,MAAiB;IAgBlD,UAAU,CAAC,GAAG,EAAE,MAAM;YAeR,WAAW;IAuFzB,OAAO,CAAC,aAAa;IAqBrB,OAAO,CAAC,OAAO;IAkBf,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,UAAU,GAAE,MAAiB;CAOjD;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface WebRTCStreamPlayerProps {
|
|
3
|
+
url: string;
|
|
4
|
+
cameraName: string;
|
|
5
|
+
onOpenFullscreen?: () => void;
|
|
6
|
+
}
|
|
7
|
+
export declare const WebRTCStreamPlayer: React.FC<WebRTCStreamPlayerProps>;
|
|
8
|
+
//# sourceMappingURL=WebRTCStreamPlayer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebRTCStreamPlayer.d.ts","sourceRoot":"","sources":["../../../../src/internal/webrtc/WebRTCStreamPlayer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAG3D,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;CAC/B;AAED,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAmHhE,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface DashboardBottomRegionProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
leftOffset?: number;
|
|
5
|
+
rightOffset?: number;
|
|
6
|
+
className?: string;
|
|
7
|
+
style?: React.CSSProperties;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* DashboardBottomRegion - Bottom overlay region for timeline/controls
|
|
11
|
+
*
|
|
12
|
+
* Provides an absolutely positioned bottom region that adjusts its horizontal
|
|
13
|
+
* position based on open side panels. Used for Timeline.Playback and other
|
|
14
|
+
* bottom-mounted controls.
|
|
15
|
+
*/
|
|
16
|
+
export declare const DashboardBottomRegion: React.FC<DashboardBottomRegionProps>;
|
|
17
|
+
//# sourceMappingURL=DashboardBottomRegion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardBottomRegion.d.ts","sourceRoot":"","sources":["../../../src/layout/DashboardBottomRegion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAsBtE,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface DashboardMainProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
overlayLayers?: React.ReactNode;
|
|
5
|
+
className?: string;
|
|
6
|
+
style?: React.CSSProperties;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* DashboardMain - Central content area for dashboard layouts
|
|
10
|
+
*
|
|
11
|
+
* Provides a flex container for the main content (map or other content) with
|
|
12
|
+
* support for overlay layers (timeline, floating controls, etc.).
|
|
13
|
+
* This component auto-fits to fill available space in the DashboardShell.
|
|
14
|
+
*/
|
|
15
|
+
export declare const DashboardMain: React.FC<DashboardMainProps>;
|
|
16
|
+
//# sourceMappingURL=DashboardMain.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardMain.d.ts","sourceRoot":"","sources":["../../../src/layout/DashboardMain.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAuBtD,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface DashboardMobileDrawerSideConfig {
|
|
3
|
+
/** Tab title shown in the mobile drawer header button */
|
|
4
|
+
title: string;
|
|
5
|
+
/** Content rendered when this side is active */
|
|
6
|
+
content: React.ReactNode;
|
|
7
|
+
}
|
|
8
|
+
export interface DashboardMobileDrawerProps {
|
|
9
|
+
/** Whether the drawer is open */
|
|
10
|
+
isOpen: boolean;
|
|
11
|
+
/** Which side (tab) is currently active */
|
|
12
|
+
activeSide: 'left' | 'right';
|
|
13
|
+
/** Called when user switches between left/right */
|
|
14
|
+
onSelectSide: (side: 'left' | 'right') => void;
|
|
15
|
+
/** Called when the drawer (and backdrop) should be closed */
|
|
16
|
+
onClose: () => void;
|
|
17
|
+
/** Configuration for the left tab */
|
|
18
|
+
left: DashboardMobileDrawerSideConfig;
|
|
19
|
+
/** Configuration for the right tab */
|
|
20
|
+
right: DashboardMobileDrawerSideConfig;
|
|
21
|
+
/**
|
|
22
|
+
* Optional spacing configuration for the content area.
|
|
23
|
+
* Delegated to SidePanelUI.Body so it matches desktop side panel spacing.
|
|
24
|
+
*/
|
|
25
|
+
bodySpacing?: boolean | {
|
|
26
|
+
gap?: number;
|
|
27
|
+
paddingBottom?: number;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* DashboardMobileDrawer - Generic mobile drawer wrapper for dashboard layouts.
|
|
32
|
+
*
|
|
33
|
+
* Provides a two-tab (left/right) bottom sheet that reuses SidePanel UI
|
|
34
|
+
* primitives so spacing, theming, and behavior are consistent with desktop
|
|
35
|
+
* side panels.
|
|
36
|
+
*/
|
|
37
|
+
export declare const DashboardMobileDrawer: React.FC<DashboardMobileDrawerProps>;
|
|
38
|
+
//# sourceMappingURL=DashboardMobileDrawer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardMobileDrawer.d.ts","sourceRoot":"","sources":["../../../src/layout/DashboardMobileDrawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,WAAW,+BAA+B;IAC9C,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,0BAA0B;IACzC,iCAAiC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,mDAAmD;IACnD,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,KAAK,IAAI,CAAC;IAC/C,6DAA6D;IAC7D,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,qCAAqC;IACrC,IAAI,EAAE,+BAA+B,CAAC;IACtC,sCAAsC;IACtC,KAAK,EAAE,+BAA+B,CAAC;IACvC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAyItE,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface DashboardShellProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
fullScreen?: boolean;
|
|
5
|
+
gap?: number;
|
|
6
|
+
background?: string;
|
|
7
|
+
topOffset?: number;
|
|
8
|
+
className?: string;
|
|
9
|
+
style?: React.CSSProperties;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* DashboardShell - Full viewport container for dashboard layouts
|
|
13
|
+
*
|
|
14
|
+
* Provides a flex column layout that fills the viewport, similar to the container
|
|
15
|
+
* styles in DashboardLayout.tsx. This is the root container for dashboard layouts.
|
|
16
|
+
*/
|
|
17
|
+
export declare const DashboardShell: React.FC<DashboardShellProps>;
|
|
18
|
+
//# sourceMappingURL=DashboardShell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardShell.d.ts","sourceRoot":"","sources":["../../../src/layout/DashboardShell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA2BxD,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface DashboardSidePanelProps {
|
|
3
|
+
side: 'left' | 'right';
|
|
4
|
+
width?: number;
|
|
5
|
+
isOpen: boolean;
|
|
6
|
+
title?: string;
|
|
7
|
+
headerActions?: React.ReactNode;
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
bodyProps?: {
|
|
10
|
+
className?: string;
|
|
11
|
+
style?: React.CSSProperties;
|
|
12
|
+
useMotion?: boolean;
|
|
13
|
+
spacing?: boolean | {
|
|
14
|
+
gap?: number;
|
|
15
|
+
paddingBottom?: number;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
onClose?: () => void;
|
|
19
|
+
className?: string;
|
|
20
|
+
style?: React.CSSProperties;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* DashboardSidePanel - Side panel wrapper for dashboard layouts
|
|
24
|
+
*
|
|
25
|
+
* A thin wrapper around SidePanelUI.SidePanel that provides dashboard-specific
|
|
26
|
+
* defaults and ergonomic props. Automatically includes Header and Body components
|
|
27
|
+
* with proper styling and animations.
|
|
28
|
+
*/
|
|
29
|
+
export declare const DashboardSidePanel: React.FC<DashboardSidePanelProps>;
|
|
30
|
+
//# sourceMappingURL=DashboardSidePanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DashboardSidePanel.d.ts","sourceRoot":"","sources":["../../../src/layout/DashboardSidePanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE;QACV,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,GAAG;YAAE,GAAG,CAAC,EAAE,MAAM,CAAC;YAAC,aAAa,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC;KAC9D,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAuChE,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dashboard SDK - Layout Primitives
|
|
3
|
+
*
|
|
4
|
+
* Layout components for building dashboard interfaces:
|
|
5
|
+
* - DashboardShell: Root container
|
|
6
|
+
* - DashboardMain: Central content area
|
|
7
|
+
* - DashboardSidePanel: Side panels (left/right)
|
|
8
|
+
* - DashboardBottomRegion: Bottom overlay region
|
|
9
|
+
* - DashboardMobileDrawer: Mobile drawer component
|
|
10
|
+
*/
|
|
11
|
+
export { DashboardShell } from './DashboardShell';
|
|
12
|
+
export type { DashboardShellProps } from './DashboardShell';
|
|
13
|
+
export { DashboardMain } from './DashboardMain';
|
|
14
|
+
export type { DashboardMainProps } from './DashboardMain';
|
|
15
|
+
export { DashboardSidePanel } from './DashboardSidePanel';
|
|
16
|
+
export type { DashboardSidePanelProps } from './DashboardSidePanel';
|
|
17
|
+
export { DashboardBottomRegion } from './DashboardBottomRegion';
|
|
18
|
+
export type { DashboardBottomRegionProps } from './DashboardBottomRegion';
|
|
19
|
+
export { DashboardMobileDrawer } from './DashboardMobileDrawer';
|
|
20
|
+
export type { DashboardMobileDrawerProps } from './DashboardMobileDrawer';
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/layout/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAE1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAChE,YAAY,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dashboard SDK - Generic Types
|
|
3
|
+
*
|
|
4
|
+
* Schema-agnostic types for widgets. Consumers transform their data into these shapes.
|
|
5
|
+
*/
|
|
6
|
+
/** Severity levels for alerts and insights */
|
|
7
|
+
export type GenericSeverity = 'Severe' | 'Medium' | 'Normal' | 'Info';
|
|
8
|
+
/** Single data point for charts (label + value) */
|
|
9
|
+
export interface ChartDataPoint {
|
|
10
|
+
label: string;
|
|
11
|
+
value: number;
|
|
12
|
+
}
|
|
13
|
+
/** Chart data shape for bar/doughnut/line charts */
|
|
14
|
+
export interface ChartData {
|
|
15
|
+
labels: string[];
|
|
16
|
+
values: number[];
|
|
17
|
+
/** Optional color mapping for each label. If not provided, shades of accent.primary will be generated. */
|
|
18
|
+
colors?: Record<string, string> | string[];
|
|
19
|
+
}
|
|
20
|
+
/** Alert/item for list widgets (AlertsPanel, RecentActivityFeed) */
|
|
21
|
+
export interface AlertListItem {
|
|
22
|
+
id: string | number;
|
|
23
|
+
message: string;
|
|
24
|
+
time: string;
|
|
25
|
+
severity: GenericSeverity;
|
|
26
|
+
category?: string;
|
|
27
|
+
/** Optional ISO timestamp for sorting (newest first) */
|
|
28
|
+
timestamp?: string;
|
|
29
|
+
metadata?: Record<string, unknown>;
|
|
30
|
+
}
|
|
31
|
+
/** Source/entity stats for TopCamerasList or similar ranked lists */
|
|
32
|
+
export interface SourceStatsItem {
|
|
33
|
+
id: string;
|
|
34
|
+
name: string;
|
|
35
|
+
count: number;
|
|
36
|
+
lastActivity?: string;
|
|
37
|
+
}
|
|
38
|
+
/** AI insight for AIAnalysisPanel */
|
|
39
|
+
export interface InsightItem {
|
|
40
|
+
type: 'warning' | 'info' | 'success' | 'critical';
|
|
41
|
+
title: string;
|
|
42
|
+
message: string;
|
|
43
|
+
icon?: string;
|
|
44
|
+
}
|
|
45
|
+
/** Statistics summary for AIAnalysisPanel */
|
|
46
|
+
export interface InsightStatistics {
|
|
47
|
+
totalCount: number;
|
|
48
|
+
byCategory?: Record<string, number>;
|
|
49
|
+
bySource?: Record<string, number>;
|
|
50
|
+
recentCount?: number;
|
|
51
|
+
peakValue?: number | null;
|
|
52
|
+
topCategory?: string | null;
|
|
53
|
+
criticalCount?: number;
|
|
54
|
+
}
|
|
55
|
+
/** Timeline bucket for time-series charts */
|
|
56
|
+
export interface TimelineDataPoint {
|
|
57
|
+
label: string;
|
|
58
|
+
value: number;
|
|
59
|
+
}
|
|
60
|
+
/** Top category/trigger item for AIAnalysisPanel */
|
|
61
|
+
export interface TopCategoryItem {
|
|
62
|
+
label: string;
|
|
63
|
+
count: number;
|
|
64
|
+
percentage: number;
|
|
65
|
+
icon?: string;
|
|
66
|
+
severity?: 'critical' | 'warning' | 'info';
|
|
67
|
+
}
|
|
68
|
+
/** Minimal camera for CameraStreamWidget (app Camera is superset) */
|
|
69
|
+
export interface Camera {
|
|
70
|
+
id: string;
|
|
71
|
+
name: string;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=generic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../../src/types/generic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,8CAA8C;AAC9C,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEtE,mDAAmD;AACnD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oDAAoD;AACpD,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,0GAA0G;IAC1G,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;CAC5C;AAED,oEAAoE;AACpE,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qCAAqC;AACrC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oDAAoD;AACpD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;CAC5C;AAED,qEAAqE;AACrE,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dashboard SDK - Type Definitions
|
|
3
|
+
*
|
|
4
|
+
* TypeScript types for dashboard SDK widgets and data structures.
|
|
5
|
+
*/
|
|
6
|
+
export type { GenericSeverity, ChartDataPoint, ChartData, AlertListItem, SourceStatsItem, InsightItem, InsightStatistics, TimelineDataPoint, TopCategoryItem, Camera, } from './generic';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,eAAe,EACf,cAAc,EACd,SAAS,EACT,aAAa,EACb,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,MAAM,GACP,MAAM,WAAW,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dashboard SDK - UI Primitives
|
|
3
|
+
*
|
|
4
|
+
* Re-exports of internal UI components for building dashboard widgets.
|
|
5
|
+
* All components are self-contained within the SDK.
|
|
6
|
+
*/
|
|
7
|
+
export { TopBar } from '../internal/ui/TopBar';
|
|
8
|
+
export { SidePanelUI } from '../internal/ui/SidePanel';
|
|
9
|
+
export { Panel } from '../internal/ui/Panel';
|
|
10
|
+
export { Card } from '../internal/ui/Card';
|
|
11
|
+
export { Button } from '../internal/ui/Button';
|
|
12
|
+
export { BottomBar } from '../internal/ui/BottomBar';
|
|
13
|
+
export { Dropdown } from '../internal/ui/Dropdown';
|
|
14
|
+
export { Modal } from '../internal/ui/Modal';
|
|
15
|
+
export { default as RadioButton } from '../internal/ui/RadioButton';
|
|
16
|
+
export { ThemeEditor } from '../internal/ui/ThemeEditor';
|
|
17
|
+
export { Chart } from '../internal/charts/Chart';
|
|
18
|
+
export type { ChartTheme, SharedChartProps, ChartKind } from '../internal/charts/Chart';
|
|
19
|
+
export { WidgetContainer } from '../internal/charts/WidgetContainer';
|
|
20
|
+
export type { WidgetContainerProps } from '../internal/charts/WidgetContainer';
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAGvD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAG7C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAG3C,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAG/C,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGrD,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGnD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAG7C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGpE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGxF,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,YAAY,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { InsightItem, InsightStatistics, type TopCategoryItem } from '../types/generic';
|
|
3
|
+
export type { TopCategoryItem };
|
|
4
|
+
export interface AIAnalysisPanelProps {
|
|
5
|
+
/** AI-generated insights and recommendations */
|
|
6
|
+
insights: InsightItem[];
|
|
7
|
+
/** Optional statistics summary (totalCount, criticalCount) */
|
|
8
|
+
statistics?: Partial<InsightStatistics>;
|
|
9
|
+
/** Optional top categories/triggers to display */
|
|
10
|
+
topCategories?: TopCategoryItem[];
|
|
11
|
+
variant?: 'light' | 'dark';
|
|
12
|
+
isLoading?: boolean;
|
|
13
|
+
/** Card title */
|
|
14
|
+
title?: string;
|
|
15
|
+
/** Card description */
|
|
16
|
+
description?: string;
|
|
17
|
+
/** Section label for top categories */
|
|
18
|
+
topCategoriesLabel?: string;
|
|
19
|
+
/** Section label for insights */
|
|
20
|
+
insightsLabel?: string;
|
|
21
|
+
/** Empty state message when no data */
|
|
22
|
+
emptyMessage?: string;
|
|
23
|
+
/** Secondary empty message (e.g. mode-specific hint) */
|
|
24
|
+
emptyHint?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* AIAnalysisPanel - Dashboard widget for AI insights and analysis
|
|
28
|
+
*
|
|
29
|
+
* Accepts generic InsightItem[] and optional statistics/topCategories.
|
|
30
|
+
* Consumers compute insights from their data.
|
|
31
|
+
*/
|
|
32
|
+
export declare const AIAnalysisPanel: React.FC<AIAnalysisPanelProps>;
|
|
33
|
+
//# sourceMappingURL=AIAnalysisPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AIAnalysisPanel.d.ts","sourceRoot":"","sources":["../../../src/widgets/AIAnalysisPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExF,YAAY,EAAE,eAAe,EAAE,CAAC;AAIhC,MAAM,WAAW,oBAAoB;IACnC,gDAAgD;IAChD,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACxC,kDAAkD;IAClD,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iCAAiC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA8P1D,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ChartData } from '../types/generic';
|
|
3
|
+
export interface AlertCameraChartProps {
|
|
4
|
+
/** Chart data: labels (source names) and values (counts) */
|
|
5
|
+
data: ChartData;
|
|
6
|
+
variant?: 'light' | 'dark';
|
|
7
|
+
title?: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* AlertCameraChart - Dashboard widget showing top sources/entities by count (e.g. cameras)
|
|
12
|
+
*
|
|
13
|
+
* Accepts generic ChartData. Consumers provide pre-sorted top-N data.
|
|
14
|
+
* Colors can be provided via data.colors (Record<string, string> or string[]).
|
|
15
|
+
* If not provided, shades of accent.primary will be generated.
|
|
16
|
+
*/
|
|
17
|
+
export declare const AlertCameraChart: React.FC<AlertCameraChartProps>;
|
|
18
|
+
//# sourceMappingURL=AlertCameraChart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlertCameraChart.d.ts","sourceRoot":"","sources":["../../../src/widgets/AlertCameraChart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAI7C,MAAM,WAAW,qBAAqB;IACpC,4DAA4D;IAC5D,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAsD5D,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ChartData } from '../types/generic';
|
|
3
|
+
export interface AlertSeverityChartProps {
|
|
4
|
+
/** Chart data: severity labels and counts */
|
|
5
|
+
data: ChartData;
|
|
6
|
+
variant?: 'light' | 'dark';
|
|
7
|
+
title?: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* AlertSeverityChart - Dashboard widget showing distribution by severity
|
|
12
|
+
*
|
|
13
|
+
* Accepts generic ChartData. Consumers provide severity labels and counts.
|
|
14
|
+
* Labels are mapped to theme.semantic colors automatically:
|
|
15
|
+
* Severe/Critical → semantic.critical, Medium/Warning → semantic.warning,
|
|
16
|
+
* Normal/Success → semantic.success, Info → semantic.info.
|
|
17
|
+
* Consumers can still override via data.colors.
|
|
18
|
+
*/
|
|
19
|
+
export declare const AlertSeverityChart: React.FC<AlertSeverityChartProps>;
|
|
20
|
+
//# sourceMappingURL=AlertSeverityChart.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlertSeverityChart.d.ts","sourceRoot":"","sources":["../../../src/widgets/AlertSeverityChart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,MAAM,WAAW,uBAAuB;IACtC,6CAA6C;IAC7C,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAuDhE,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ChartData } from '../types/generic';
|
|
3
|
+
export interface AlertTimelineChartProps {
|
|
4
|
+
/** Chart data: time bucket labels and counts */
|
|
5
|
+
data: ChartData;
|
|
6
|
+
variant?: 'light' | 'dark';
|
|
7
|
+
title?: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* AlertTimelineChart - Dashboard widget showing time-series counts (e.g. alerts over time)
|
|
12
|
+
*
|
|
13
|
+
* Accepts generic ChartData. Consumers provide bucket labels and values.
|
|
14
|
+
* Colors can be provided via data.colors (string[] for borderColor, or single string).
|
|
15
|
+
* If not provided, accent.primary will be used.
|
|
16
|
+
*/
|
|
17
|
+
export declare const AlertTimelineChart: React.FC<AlertTimelineChartProps>;
|
|
18
|
+
//# sourceMappingURL=AlertTimelineChart.d.ts.map
|