@kb-labs/studio-app 0.6.0 → 2.8.0

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 (175) hide show
  1. package/dist/index.html +1 -0
  2. package/dist/main.1d68e922.js +522 -0
  3. package/dist/main.1d68e922.js.map +1 -0
  4. package/dist/main.80b70197.css +2 -0
  5. package/dist/main.80b70197.css.map +1 -0
  6. package/dist/mf-manifest.json +241 -0
  7. package/dist/mf-stats.json +271 -0
  8. package/package.json +56 -39
  9. package/server.js +68 -0
  10. package/.env.example +0 -10
  11. package/UI-KIT-COMPONENTS.md +0 -783
  12. package/UI-KIT-PLAN.md +0 -326
  13. package/eslint-rules/no-direct-antd-import.js +0 -151
  14. package/eslint.config.ts +0 -27
  15. package/index.html +0 -17
  16. package/postcss.config.js +0 -7
  17. package/public/favicon.ico +0 -0
  18. package/rspack.config.mjs +0 -118
  19. package/src/App.tsx +0 -46
  20. package/src/components/devtools/devtools-log-feed.module.css +0 -165
  21. package/src/components/devtools/devtools-log-feed.tsx +0 -300
  22. package/src/components/devtools/devtools-panel.module.css +0 -121
  23. package/src/components/devtools/devtools-panel.tsx +0 -115
  24. package/src/components/empty-state.tsx +0 -28
  25. package/src/components/error-boundary.tsx +0 -210
  26. package/src/components/health-banner.module.css +0 -103
  27. package/src/components/health-banner.tsx +0 -134
  28. package/src/components/health-indicator.tsx +0 -12
  29. package/src/components/page-header.tsx +0 -49
  30. package/src/components/page-transition.tsx +0 -24
  31. package/src/components/role-switcher.tsx +0 -148
  32. package/src/components/run-badge.tsx +0 -13
  33. package/src/components/ui/icons.tsx +0 -509
  34. package/src/components/ui/index.ts +0 -25
  35. package/src/components/ui/kb-config-provider.tsx +0 -130
  36. package/src/components/ui/kb-header.module.css +0 -51
  37. package/src/components/ui/kb-header.tsx +0 -112
  38. package/src/components/ui/kb-notification-bell.module.css +0 -103
  39. package/src/components/ui/kb-notification-bell.tsx +0 -199
  40. package/src/components/ui/kb-page-layout.tsx +0 -66
  41. package/src/components/ui/kb-quick-search.module.css +0 -86
  42. package/src/components/ui/kb-quick-search.tsx +0 -196
  43. package/src/components/ui/kb-sidebar.module.css +0 -47
  44. package/src/components/ui/kb-sidebar.tsx +0 -196
  45. package/src/components/ui/kb-stat-card.module.css +0 -21
  46. package/src/components/ui/kb-stat-card.tsx +0 -22
  47. package/src/components/ui/kb-stat-grid.tsx +0 -22
  48. package/src/components/ui/kb-status-bar.module.css +0 -49
  49. package/src/components/ui/kb-status-bar.tsx +0 -145
  50. package/src/components/ui/kb-system-health-indicator.tsx +0 -229
  51. package/src/components/ui/kb-theme-toggle.tsx +0 -42
  52. package/src/components/ui/theme-adapter.ts +0 -812
  53. package/src/components/ui/theme-transition-overlay.tsx +0 -70
  54. package/src/components/ui/utils.ts +0 -6
  55. package/src/components/widget-error-boundary.tsx +0 -172
  56. package/src/config/env.ts +0 -5
  57. package/src/config/feature-flags.ts +0 -482
  58. package/src/config/studio.config.schema.ts +0 -88
  59. package/src/config/studio.config.ts +0 -84
  60. package/src/env.d.ts +0 -23
  61. package/src/hooks/use-command-palette.ts +0 -6
  62. package/src/hooks/use-devtools-store.ts +0 -25
  63. package/src/hooks/use-feature-flags.ts +0 -101
  64. package/src/index.css +0 -10
  65. package/src/layouts/dashboard-grid.tsx +0 -122
  66. package/src/layouts/index.ts +0 -12
  67. package/src/layouts/two-pane.tsx +0 -134
  68. package/src/main.tsx +0 -15
  69. package/src/modules/analytics/components/analytics-daily-stats-chart.tsx +0 -257
  70. package/src/modules/analytics/components/analytics-date-range-picker.tsx +0 -121
  71. package/src/modules/analytics/pages/analytics-cache-page.tsx +0 -285
  72. package/src/modules/analytics/pages/analytics-embeddings-page.tsx +0 -274
  73. package/src/modules/analytics/pages/analytics-events-page.tsx +0 -425
  74. package/src/modules/analytics/pages/analytics-llm-page.tsx +0 -434
  75. package/src/modules/analytics/pages/analytics-overview-page.tsx +0 -336
  76. package/src/modules/analytics/pages/analytics-page.tsx +0 -20
  77. package/src/modules/analytics/pages/analytics-storage-page.tsx +0 -344
  78. package/src/modules/analytics/pages/analytics-vectorstore-page.tsx +0 -279
  79. package/src/modules/analytics/routes/index.tsx +0 -133
  80. package/src/modules/analytics/utils/formatters.test.ts +0 -148
  81. package/src/modules/analytics/utils/formatters.ts +0 -100
  82. package/src/modules/auth/pages/login-page.module.css +0 -113
  83. package/src/modules/auth/pages/login-page.tsx +0 -80
  84. package/src/modules/auth/routes/index.tsx +0 -24
  85. package/src/modules/dashboard/components/ActivityTimelineWidget.tsx +0 -199
  86. package/src/modules/dashboard/components/AiInsightsWidget.tsx +0 -358
  87. package/src/modules/dashboard/components/AnimatedMetricCard.css +0 -88
  88. package/src/modules/dashboard/components/AnimatedMetricCard.tsx +0 -125
  89. package/src/modules/dashboard/components/HeroMetricCard.css +0 -114
  90. package/src/modules/dashboard/components/HeroMetricCard.tsx +0 -152
  91. package/src/modules/dashboard/components/HeroMetricsWidget.tsx +0 -146
  92. package/src/modules/dashboard/components/SystemResourcesWidget.tsx +0 -197
  93. package/src/modules/dashboard/components/dashboard-empty.tsx +0 -22
  94. package/src/modules/dashboard/components/dashboard-kpis-widget.tsx +0 -59
  95. package/src/modules/dashboard/components/dashboard-kpis.tsx +0 -13
  96. package/src/modules/dashboard/components/dashboard-latency-percentiles-widget.tsx +0 -85
  97. package/src/modules/dashboard/components/dashboard-metrics-widget.tsx +0 -78
  98. package/src/modules/dashboard/components/dashboard-plugins-widget.tsx +0 -67
  99. package/src/modules/dashboard/components/dashboard-requests-widget.tsx +0 -62
  100. package/src/modules/dashboard/layouts/dashboard-layout.tsx +0 -16
  101. package/src/modules/dashboard/pages/ai-insights-page.tsx +0 -563
  102. package/src/modules/dashboard/pages/dashboard-animations.css +0 -317
  103. package/src/modules/dashboard/pages/dashboard-page.tsx +0 -13
  104. package/src/modules/dashboard/routes/index.tsx +0 -70
  105. package/src/modules/observability/pages/devkit-page.tsx +0 -263
  106. package/src/modules/observability/pages/incident-detail-page.tsx +0 -571
  107. package/src/modules/observability/pages/incidents-page.tsx +0 -370
  108. package/src/modules/observability/pages/log-detail-page.tsx +0 -508
  109. package/src/modules/observability/pages/logs-page.tsx +0 -1129
  110. package/src/modules/observability/pages/prometheus-metrics-page.tsx +0 -486
  111. package/src/modules/observability/pages/state-broker-page.tsx +0 -229
  112. package/src/modules/observability/pages/system-events-page.tsx +0 -255
  113. package/src/modules/observability/routes/index.tsx +0 -133
  114. package/src/modules/plugins/components/marketplace-card.tsx +0 -153
  115. package/src/modules/plugins/components/plugin-ai-assistant-modal.tsx +0 -374
  116. package/src/modules/plugins/components/plugin-card.tsx +0 -136
  117. package/src/modules/plugins/components/plugin-detail/capabilities-summary.tsx +0 -101
  118. package/src/modules/plugins/components/plugin-detail/cli-commands-table.tsx +0 -101
  119. package/src/modules/plugins/components/plugin-detail/index.ts +0 -7
  120. package/src/modules/plugins/components/plugin-detail/jobs-table.tsx +0 -64
  121. package/src/modules/plugins/components/plugin-detail/permissions/env-permissions.tsx +0 -30
  122. package/src/modules/plugins/components/plugin-detail/permissions/filesystem-permissions.tsx +0 -68
  123. package/src/modules/plugins/components/plugin-detail/permissions/index.ts +0 -6
  124. package/src/modules/plugins/components/plugin-detail/permissions/network-permissions.tsx +0 -43
  125. package/src/modules/plugins/components/plugin-detail/permissions/platform-services.tsx +0 -242
  126. package/src/modules/plugins/components/plugin-detail/permissions/resource-quotas.tsx +0 -96
  127. package/src/modules/plugins/components/plugin-detail/permissions/shell-permissions.tsx +0 -55
  128. package/src/modules/plugins/components/plugin-detail/permissions-view.tsx +0 -47
  129. package/src/modules/plugins/components/plugin-detail/plugin-header.tsx +0 -169
  130. package/src/modules/plugins/components/plugin-detail/rest-routes-table.tsx +0 -159
  131. package/src/modules/plugins/components/plugin-detail/workflows-table.tsx +0 -40
  132. package/src/modules/plugins/components/plugin-grid.tsx +0 -20
  133. package/src/modules/plugins/components/plugin-table.tsx +0 -178
  134. package/src/modules/plugins/pages/marketplace-page.tsx +0 -200
  135. package/src/modules/plugins/pages/plugin-detail-page.tsx +0 -1145
  136. package/src/modules/plugins/routes/index.tsx +0 -48
  137. package/src/modules/plugins/utils/index.ts +0 -1
  138. package/src/modules/plugins/utils/schema-helpers.ts +0 -21
  139. package/src/modules/settings/components/api-routes-viewer.tsx +0 -415
  140. package/src/modules/settings/components/appearance-settings.tsx +0 -200
  141. package/src/modules/settings/components/configuration-settings.tsx +0 -321
  142. package/src/modules/settings/components/data-privacy-settings.tsx +0 -111
  143. package/src/modules/settings/components/experimental-settings.tsx +0 -243
  144. package/src/modules/settings/components/navigation-settings.tsx +0 -198
  145. package/src/modules/settings/components/notifications-settings.tsx +0 -40
  146. package/src/modules/settings/pages/settings-page.tsx +0 -298
  147. package/src/modules/settings/routes/index.tsx +0 -47
  148. package/src/pages/README-assistant.md +0 -91
  149. package/src/pages/login-page.tsx +0 -177
  150. package/src/pages/not-found-page.tsx +0 -85
  151. package/src/providers/auth-provider.tsx +0 -40
  152. package/src/providers/command-palette-provider.tsx +0 -193
  153. package/src/providers/data-sources-provider.tsx +0 -27
  154. package/src/providers/devtools-provider.tsx +0 -72
  155. package/src/providers/navigation-items-provider.tsx +0 -38
  156. package/src/providers/registry-v2-provider.tsx +0 -93
  157. package/src/providers/settings-provider.tsx +0 -158
  158. package/src/router.tsx +0 -302
  159. package/src/routes/helpers.tsx +0 -25
  160. package/src/routes/plugin-page-v2.tsx +0 -52
  161. package/src/routes/types.ts +0 -18
  162. package/src/styles/antd-overrides.css +0 -211
  163. package/src/styles/base.css +0 -190
  164. package/src/styles/settings.css +0 -75
  165. package/src/styles/variables.css +0 -94
  166. package/src/utils/analytics.ts +0 -183
  167. package/src/utils/apply-navigation-categories.ts +0 -83
  168. package/src/utils/commands.ts +0 -252
  169. package/src/utils/export.ts +0 -174
  170. package/src/utils/format-date.ts +0 -166
  171. package/src/utils/logger.ts +0 -110
  172. package/tailwind.config.ts +0 -13
  173. package/tsconfig.json +0 -13
  174. package/vitest-setup.ts +0 -1
  175. /package/{public → dist}/favicon.svg +0 -0
@@ -1,148 +0,0 @@
1
- /**
2
- * @module @kb-labs/studio-app/components/role-switcher
3
- * Mock authentication role switcher for demo purposes
4
- */
5
-
6
- import * as React from 'react';
7
- import {
8
- UICard, UIRadio, UIRadioGroup, UISpace, UITitle, UITypographyText, UITypographyParagraph,
9
- UIAlert, UIDivider, UIIcon,
10
- } from '@kb-labs/studio-ui-kit';
11
- import type { UserRole } from '@/providers/auth-provider';
12
- import { useAuth } from '@/providers/auth-provider';
13
-
14
- const ROLE_CONFIG: Record<
15
- UserRole,
16
- {
17
- label: string;
18
- description: string;
19
- icon: React.ReactElement;
20
- color: string;
21
- permissions: string[];
22
- }
23
- > = {
24
- viewer: {
25
- label: 'Viewer',
26
- description: 'Read-only access to dashboards and reports',
27
- icon: <UIIcon name="EyeOutlined" />,
28
- color: '#52c41a',
29
- permissions: ['View dashboards', 'View analytics', 'View workflows (read-only)'],
30
- },
31
- operator: {
32
- label: 'Operator',
33
- description: 'Standard user with execution permissions',
34
- icon: <UIIcon name="ToolOutlined" />,
35
- color: '#1890ff',
36
- permissions: [
37
- 'All Viewer permissions',
38
- 'Execute workflows',
39
- 'Manage widgets',
40
- 'Configure settings',
41
- ],
42
- },
43
- admin: {
44
- label: 'Administrator',
45
- description: 'Full access to all features and settings',
46
- icon: <UIIcon name="CrownOutlined" />,
47
- color: '#ff4d4f',
48
- permissions: [
49
- 'All Operator permissions',
50
- 'Manage plugins',
51
- 'System configuration',
52
- 'Advanced developer tools',
53
- ],
54
- },
55
- };
56
-
57
- export function RoleSwitcher() {
58
- const { role, setRole } = useAuth();
59
-
60
- const handleRoleChange = (newRole: UserRole) => {
61
- setRole(newRole);
62
- };
63
-
64
- return (
65
- <div>
66
- <UITitle level={4}>
67
- <UIIcon name="UserOutlined" style={{ marginRight: 8 }} />
68
- Mock Authentication
69
- </UITitle>
70
- <UITypographyParagraph type="secondary">
71
- This is a demo authentication system for testing different user roles. In production, this
72
- would be replaced with real authentication (OAuth, JWT, etc.).
73
- </UITypographyParagraph>
74
-
75
- <UIAlert
76
- variant="info"
77
- message="Demo Mode"
78
- description="No real authentication is performed. Role changes take effect immediately and persist in localStorage."
79
- showIcon
80
- style={{ marginBottom: 24 }}
81
- />
82
-
83
- <UICard>
84
- <UIRadioGroup
85
- value={role}
86
- onChange={(e) => handleRoleChange(e.target.value as UserRole)}
87
- style={{ width: '100%' }}
88
- >
89
- <UISpace direction="vertical" size="large" style={{ width: '100%' }}>
90
- {(Object.entries(ROLE_CONFIG) as [UserRole, (typeof ROLE_CONFIG)[UserRole]][]).map(
91
- ([roleId, config]) => (
92
- <UICard
93
- key={roleId}
94
- hoverable
95
- style={{
96
- borderColor: role === roleId ? config.color : undefined,
97
- borderWidth: role === roleId ? 2 : 1,
98
- }}
99
- onClick={() => handleRoleChange(roleId)}
100
- >
101
- <UIRadio value={roleId} style={{ marginBottom: 8 }}>
102
- <UISpace>
103
- <span style={{ color: config.color, fontSize: 18 }}>{config.icon}</span>
104
- <UITypographyText strong style={{ fontSize: 16 }}>
105
- {config.label}
106
- </UITypographyText>
107
- {role === roleId && (
108
- <UITypographyText type="success" style={{ fontSize: 12 }}>
109
- (Current)
110
- </UITypographyText>
111
- )}
112
- </UISpace>
113
- </UIRadio>
114
- <UITypographyParagraph type="secondary" style={{ marginLeft: 24, marginBottom: 8 }}>
115
- {config.description}
116
- </UITypographyParagraph>
117
- <UIDivider style={{ margin: '12px 0' }} />
118
- <div style={{ marginLeft: 24 }}>
119
- <UITypographyText type="secondary" style={{ fontSize: 12 }}>
120
- Permissions:
121
- </UITypographyText>
122
- <ul style={{ marginTop: 8, marginBottom: 0, paddingLeft: 20 }}>
123
- {config.permissions.map((permission, idx) => (
124
- <li key={idx}>
125
- <UITypographyText type="secondary" style={{ fontSize: 12 }}>
126
- {permission}
127
- </UITypographyText>
128
- </li>
129
- ))}
130
- </ul>
131
- </div>
132
- </UICard>
133
- )
134
- )}
135
- </UISpace>
136
- </UIRadioGroup>
137
- </UICard>
138
-
139
- <UIAlert
140
- variant="success"
141
- message="Try it out!"
142
- description="Switch between roles and navigate through the app to see how different permissions affect the UI and available features."
143
- showIcon
144
- style={{ marginTop: 24 }}
145
- />
146
- </div>
147
- );
148
- }
@@ -1,13 +0,0 @@
1
- import { UIBadge } from '@kb-labs/studio-ui-kit';
2
-
3
- export function RunBadge({ status }: { status: 'pending' | 'ok' | 'warn' | 'fail' }) {
4
- const variantMap = {
5
- ok: 'success' as const,
6
- warn: 'warning' as const,
7
- fail: 'error' as const,
8
- pending: 'info' as const,
9
- };
10
-
11
- return <UIBadge variant={variantMap[status]}>{status.toUpperCase()}</UIBadge>;
12
- }
13
-
@@ -1,509 +0,0 @@
1
- /**
2
- * Icon utilities for rendering Ant Design icons by name
3
- *
4
- * This module provides a curated set of ~100 icons for plugin developers.
5
- * All icons are tree-shaken properly and only included if used.
6
- */
7
-
8
- import * as React from 'react';
9
-
10
- // Import curated icon set for plugin developers
11
- import {
12
- // Navigation & Layout
13
- HomeOutlined,
14
- DashboardOutlined,
15
- MenuOutlined,
16
- AppstoreOutlined,
17
- LayoutOutlined,
18
- SettingOutlined,
19
- UnorderedListOutlined,
20
- OrderedListOutlined,
21
-
22
- // Actions & Controls
23
- PlayCircleOutlined,
24
- PauseCircleOutlined,
25
- StopOutlined,
26
- ReloadOutlined,
27
- SyncOutlined,
28
- PlusOutlined,
29
- MinusOutlined,
30
- CloseOutlined,
31
- CheckOutlined,
32
- EditOutlined,
33
- DeleteOutlined,
34
- SaveOutlined,
35
- DownloadOutlined,
36
- UploadOutlined,
37
- ExportOutlined,
38
- ImportOutlined,
39
- CopyOutlined,
40
- SearchOutlined,
41
- FilterOutlined,
42
- ArrowUpOutlined,
43
- ArrowDownOutlined,
44
- ArrowLeftOutlined,
45
- ArrowRightOutlined,
46
-
47
- // Status & Alerts
48
- CheckCircleOutlined,
49
- CloseCircleOutlined,
50
- ExclamationCircleOutlined,
51
- InfoCircleOutlined,
52
- WarningOutlined,
53
- QuestionCircleOutlined,
54
- LoadingOutlined,
55
- SyncOutlined as SpinOutlined,
56
-
57
- // Files & Folders
58
- FileOutlined,
59
- FileTextOutlined,
60
- FileImageOutlined,
61
- FilePdfOutlined,
62
- FileWordOutlined,
63
- FileExcelOutlined,
64
- FolderOutlined,
65
- FolderOpenOutlined,
66
-
67
- // Development & Code
68
- CodeOutlined,
69
- BugOutlined,
70
- ApiOutlined,
71
- ConsoleSqlOutlined,
72
- FunctionOutlined,
73
- DeploymentUnitOutlined,
74
- BranchesOutlined,
75
- NodeIndexOutlined,
76
-
77
- // Git & Version Control
78
- GithubOutlined,
79
- GitlabOutlined,
80
- PullRequestOutlined,
81
- MergeCellsOutlined,
82
-
83
- // Data & Analytics
84
- DatabaseOutlined,
85
- TableOutlined,
86
- BarChartOutlined,
87
- LineChartOutlined,
88
- PieChartOutlined,
89
- AreaChartOutlined,
90
- DotChartOutlined,
91
-
92
- // Communication
93
- MailOutlined,
94
- MessageOutlined,
95
- CommentOutlined,
96
- NotificationOutlined,
97
- BellOutlined,
98
-
99
- // Users & Teams
100
- UserOutlined,
101
- TeamOutlined,
102
- UsergroupAddOutlined,
103
- ContactsOutlined,
104
-
105
- // Time & Calendar
106
- ClockCircleOutlined,
107
- CalendarOutlined,
108
- HistoryOutlined,
109
- FieldTimeOutlined,
110
-
111
- // Media & Visual
112
- PictureOutlined,
113
- CameraOutlined,
114
- VideoCameraOutlined,
115
- EyeOutlined,
116
- EyeInvisibleOutlined,
117
-
118
- // Network & Cloud
119
- CloudOutlined,
120
- CloudDownloadOutlined,
121
- CloudUploadOutlined,
122
- GlobalOutlined,
123
- WifiOutlined,
124
- ApiOutlined as LinkOutlined,
125
-
126
- // Security
127
- LockOutlined,
128
- UnlockOutlined,
129
- SafetyOutlined,
130
- SafetyCertificateOutlined,
131
- KeyOutlined,
132
-
133
- // Tools & Utilities
134
- ToolOutlined,
135
- BuildOutlined,
136
- ExperimentOutlined,
137
- RocketOutlined,
138
- RobotOutlined,
139
- ThunderboltOutlined,
140
- FireOutlined,
141
- BulbOutlined,
142
-
143
- // Misc
144
- StarOutlined,
145
- HeartOutlined,
146
- TrophyOutlined,
147
- GiftOutlined,
148
- AimOutlined,
149
- FlagOutlined,
150
- TagOutlined,
151
- BookOutlined,
152
- MoreOutlined,
153
- EllipsisOutlined,
154
- RightOutlined,
155
- LeftOutlined,
156
- UpOutlined,
157
- DownOutlined,
158
- } from '@ant-design/icons';
159
-
160
- /**
161
- * Registry of all available icons for plugin developers.
162
- * This is the complete list of icons that can be used in plugin manifests.
163
- */
164
- export const AVAILABLE_ICONS: Record<string, React.ComponentType<any>> = {
165
- // Navigation & Layout
166
- HomeOutlined,
167
- DashboardOutlined,
168
- MenuOutlined,
169
- AppstoreOutlined,
170
- LayoutOutlined,
171
- SettingOutlined,
172
- UnorderedListOutlined,
173
- OrderedListOutlined,
174
-
175
- // Actions & Controls
176
- PlayCircleOutlined,
177
- PauseCircleOutlined,
178
- StopOutlined,
179
- ReloadOutlined,
180
- SyncOutlined,
181
- PlusOutlined,
182
- MinusOutlined,
183
- CloseOutlined,
184
- CheckOutlined,
185
- EditOutlined,
186
- DeleteOutlined,
187
- SaveOutlined,
188
- DownloadOutlined,
189
- UploadOutlined,
190
- ExportOutlined,
191
- ImportOutlined,
192
- CopyOutlined,
193
- SearchOutlined,
194
- FilterOutlined,
195
- ArrowUpOutlined,
196
- ArrowDownOutlined,
197
- ArrowLeftOutlined,
198
- ArrowRightOutlined,
199
-
200
- // Status & Alerts
201
- CheckCircleOutlined,
202
- CloseCircleOutlined,
203
- ExclamationCircleOutlined,
204
- InfoCircleOutlined,
205
- WarningOutlined,
206
- QuestionCircleOutlined,
207
- LoadingOutlined,
208
- SpinOutlined,
209
-
210
- // Files & Folders
211
- FileOutlined,
212
- FileTextOutlined,
213
- FileImageOutlined,
214
- FilePdfOutlined,
215
- FileWordOutlined,
216
- FileExcelOutlined,
217
- FolderOutlined,
218
- FolderOpenOutlined,
219
-
220
- // Development & Code
221
- CodeOutlined,
222
- BugOutlined,
223
- ApiOutlined,
224
- ConsoleSqlOutlined,
225
- FunctionOutlined,
226
- DeploymentUnitOutlined,
227
- BranchesOutlined,
228
- NodeIndexOutlined,
229
-
230
- // Git & Version Control
231
- GithubOutlined,
232
- GitlabOutlined,
233
- PullRequestOutlined,
234
- MergeCellsOutlined,
235
-
236
- // Data & Analytics
237
- DatabaseOutlined,
238
- TableOutlined,
239
- BarChartOutlined,
240
- LineChartOutlined,
241
- PieChartOutlined,
242
- AreaChartOutlined,
243
- DotChartOutlined,
244
-
245
- // Communication
246
- MailOutlined,
247
- MessageOutlined,
248
- CommentOutlined,
249
- NotificationOutlined,
250
- BellOutlined,
251
-
252
- // Users & Teams
253
- UserOutlined,
254
- TeamOutlined,
255
- UsergroupAddOutlined,
256
- ContactsOutlined,
257
-
258
- // Time & Calendar
259
- ClockCircleOutlined,
260
- CalendarOutlined,
261
- HistoryOutlined,
262
- FieldTimeOutlined,
263
-
264
- // Media & Visual
265
- PictureOutlined,
266
- CameraOutlined,
267
- VideoCameraOutlined,
268
- EyeOutlined,
269
- EyeInvisibleOutlined,
270
-
271
- // Network & Cloud
272
- CloudOutlined,
273
- CloudDownloadOutlined,
274
- CloudUploadOutlined,
275
- GlobalOutlined,
276
- WifiOutlined,
277
- LinkOutlined,
278
-
279
- // Security
280
- LockOutlined,
281
- UnlockOutlined,
282
- SafetyOutlined,
283
- SafetyCertificateOutlined,
284
- KeyOutlined,
285
-
286
- // Tools & Utilities
287
- ToolOutlined,
288
- BuildOutlined,
289
- ExperimentOutlined,
290
- RocketOutlined,
291
- RobotOutlined,
292
- ThunderboltOutlined,
293
- FireOutlined,
294
- BulbOutlined,
295
-
296
- // Misc
297
- StarOutlined,
298
- HeartOutlined,
299
- TrophyOutlined,
300
- GiftOutlined,
301
- AimOutlined,
302
- FlagOutlined,
303
- TagOutlined,
304
- BookOutlined,
305
- MoreOutlined,
306
- EllipsisOutlined,
307
- RightOutlined,
308
- LeftOutlined,
309
- UpOutlined,
310
- DownOutlined,
311
- };
312
-
313
- /**
314
- * Get icon component by name.
315
- * Only icons from AVAILABLE_ICONS registry are supported.
316
- *
317
- * @param iconName - Icon name from the available icons list
318
- * @returns Icon component or null if not found
319
- *
320
- * @example
321
- * ```tsx
322
- * const IconComponent = getIconComponent('HomeOutlined');
323
- * if (IconComponent) {
324
- * return <IconComponent />;
325
- * }
326
- * ```
327
- */
328
- export function getIconComponent(iconName?: string): React.ComponentType<any> | null {
329
- if (!iconName) {return null;}
330
-
331
- const icon = AVAILABLE_ICONS[iconName];
332
- if (!icon) {
333
- console.warn(`Icon "${iconName}" is not available. Check AVAILABLE_ICONS registry.`);
334
- return null;
335
- }
336
-
337
- return icon;
338
- }
339
-
340
- /**
341
- * Render icon by name.
342
- *
343
- * @param iconName - Icon name from the available icons list
344
- * @param props - Icon props (style, className, etc.)
345
- * @returns Rendered icon element or null if not found
346
- *
347
- * @example
348
- * ```tsx
349
- * // Simple usage
350
- * {renderIcon('HomeOutlined')}
351
- *
352
- * // With props
353
- * {renderIcon('SettingOutlined', { style: { fontSize: 20 } })}
354
- * ```
355
- */
356
- export function renderIcon(iconName?: string, props?: any): React.ReactElement | null {
357
- const IconComponent = getIconComponent(iconName);
358
- if (!IconComponent) {return null;}
359
- return <IconComponent {...props} />;
360
- }
361
-
362
- /**
363
- * Get list of all available icon names.
364
- * Useful for documentation and validation.
365
- */
366
- export function getAvailableIconNames(): string[] {
367
- return Object.keys(AVAILABLE_ICONS).sort();
368
- }
369
-
370
- // Re-export all icons for direct import
371
- export {
372
- // Navigation & Layout
373
- HomeOutlined,
374
- DashboardOutlined,
375
- MenuOutlined,
376
- AppstoreOutlined,
377
- LayoutOutlined,
378
- SettingOutlined,
379
- UnorderedListOutlined,
380
- OrderedListOutlined,
381
-
382
- // Actions & Controls
383
- PlayCircleOutlined,
384
- PauseCircleOutlined,
385
- StopOutlined,
386
- ReloadOutlined,
387
- SyncOutlined,
388
- PlusOutlined,
389
- MinusOutlined,
390
- CloseOutlined,
391
- CheckOutlined,
392
- EditOutlined,
393
- DeleteOutlined,
394
- SaveOutlined,
395
- DownloadOutlined,
396
- UploadOutlined,
397
- ExportOutlined,
398
- ImportOutlined,
399
- CopyOutlined,
400
- SearchOutlined,
401
- FilterOutlined,
402
- ArrowUpOutlined,
403
- ArrowDownOutlined,
404
- ArrowLeftOutlined,
405
- ArrowRightOutlined,
406
-
407
- // Status & Alerts
408
- CheckCircleOutlined,
409
- CloseCircleOutlined,
410
- ExclamationCircleOutlined,
411
- InfoCircleOutlined,
412
- WarningOutlined,
413
- QuestionCircleOutlined,
414
- LoadingOutlined,
415
-
416
- // Files & Folders
417
- FileOutlined,
418
- FileTextOutlined,
419
- FileImageOutlined,
420
- FilePdfOutlined,
421
- FileWordOutlined,
422
- FileExcelOutlined,
423
- FolderOutlined,
424
- FolderOpenOutlined,
425
-
426
- // Development & Code
427
- CodeOutlined,
428
- BugOutlined,
429
- ApiOutlined,
430
- ConsoleSqlOutlined,
431
- FunctionOutlined,
432
- DeploymentUnitOutlined,
433
- BranchesOutlined,
434
-
435
- // Git & Version Control
436
- GithubOutlined,
437
- GitlabOutlined,
438
- PullRequestOutlined,
439
- MergeCellsOutlined,
440
-
441
- // Data & Analytics
442
- DatabaseOutlined,
443
- TableOutlined,
444
- BarChartOutlined,
445
- LineChartOutlined,
446
- PieChartOutlined,
447
- AreaChartOutlined,
448
- DotChartOutlined,
449
-
450
- // Communication
451
- MailOutlined,
452
- MessageOutlined,
453
- CommentOutlined,
454
- NotificationOutlined,
455
- BellOutlined,
456
-
457
- // Users & Teams
458
- UserOutlined,
459
- TeamOutlined,
460
- UsergroupAddOutlined,
461
- ContactsOutlined,
462
-
463
- // Time & Calendar
464
- ClockCircleOutlined,
465
- CalendarOutlined,
466
- HistoryOutlined,
467
- FieldTimeOutlined,
468
-
469
- // Media & Visual
470
- PictureOutlined,
471
- CameraOutlined,
472
- VideoCameraOutlined,
473
- EyeOutlined,
474
- EyeInvisibleOutlined,
475
-
476
- // Network & Cloud
477
- CloudOutlined,
478
- CloudDownloadOutlined,
479
- CloudUploadOutlined,
480
- GlobalOutlined,
481
- WifiOutlined,
482
-
483
- // Security
484
- LockOutlined,
485
- UnlockOutlined,
486
- SafetyOutlined,
487
- SafetyCertificateOutlined,
488
- KeyOutlined,
489
-
490
- // Tools & Utilities
491
- ToolOutlined,
492
- BuildOutlined,
493
- ExperimentOutlined,
494
- RocketOutlined,
495
- RobotOutlined,
496
- ThunderboltOutlined,
497
- FireOutlined,
498
- BulbOutlined,
499
-
500
- // Misc
501
- StarOutlined,
502
- HeartOutlined,
503
- TrophyOutlined,
504
- GiftOutlined,
505
- AimOutlined,
506
- FlagOutlined,
507
- TagOutlined,
508
- BookOutlined,
509
- };
@@ -1,25 +0,0 @@
1
- // Theme & Config
2
- export { KBConfigProvider, useKBTheme, type ThemeMode, type KBConfigProviderProps } from './kb-config-provider';
3
- export { ThemeTransitionOverlay, type ThemeTransitionOverlayProps } from './theme-transition-overlay';
4
- export { KBThemeToggle } from './kb-theme-toggle';
5
-
6
- // Layout Components
7
- export { KBHeader, type KBHeaderProps } from './kb-header';
8
- export { KBSidebar, type KBSidebarProps, type NavigationItem } from './kb-sidebar';
9
- export { KBPageLayout, type KBPageLayoutProps } from './kb-page-layout';
10
-
11
- // Status & Notification Components
12
- export { KBStatusBar, StatusBarItem, StatusBarPresets, type KBStatusBarProps, type StatusBarItemProps } from './kb-status-bar';
13
- export { KBSystemHealthIndicator, type KBSystemHealthIndicatorProps, type SystemHealthData } from './kb-system-health-indicator';
14
- export { KBNotificationBell, type KBNotificationBellProps, type LogNotification } from './kb-notification-bell';
15
-
16
- // Search & UI Components
17
- export { KBQuickSearch, type KBQuickSearchProps, type SearchableItem } from './kb-quick-search';
18
-
19
- // Page & Section Components
20
- export { KBStatCard, type KBStatCardProps } from './kb-stat-card';
21
- export { KBStatGrid, type KBStatGridProps } from './kb-stat-grid';
22
-
23
- // Icons & Utils
24
- export * from './icons';
25
- export { cn } from './utils';