@skyhook-io/k8s-ui 1.2.3 → 1.3.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 (118) hide show
  1. package/package.json +3 -2
  2. package/src/components/dock/BottomDock.tsx +1 -1
  3. package/src/components/dock/LocalTerminalTab.tsx +1 -1
  4. package/src/components/dock/NodeTerminalTab.tsx +1 -1
  5. package/src/components/dock/TerminalTab.tsx +2 -2
  6. package/src/components/gitops/GitOpsActions.tsx +12 -11
  7. package/src/components/gitops/GitOpsStatusBadge.tsx +6 -6
  8. package/src/components/logs/LogCore.tsx +8 -8
  9. package/src/components/logs/WorkloadLogsViewer.tsx +29 -5
  10. package/src/components/logs/useLogStream.ts +20 -0
  11. package/src/components/resources/ResourcesSidebar.tsx +10 -10
  12. package/src/components/resources/ResourcesView.tsx +49 -48
  13. package/src/components/resources/renderers/AlertRenderer.tsx +2 -2
  14. package/src/components/resources/renderers/ArgoApplicationRenderer.tsx +2 -2
  15. package/src/components/resources/renderers/CNPGClusterRenderer.tsx +1 -1
  16. package/src/components/resources/renderers/CertificateRenderer.tsx +3 -3
  17. package/src/components/resources/renderers/CertificateRequestRenderer.tsx +3 -3
  18. package/src/components/resources/renderers/ChallengeRenderer.tsx +2 -2
  19. package/src/components/resources/renderers/ClusterExternalSecretRenderer.tsx +3 -3
  20. package/src/components/resources/renderers/ClusterIssuerRenderer.tsx +3 -3
  21. package/src/components/resources/renderers/ConfigAuditReportRenderer.tsx +2 -2
  22. package/src/components/resources/renderers/ContourHTTPProxyRenderer.tsx +1 -1
  23. package/src/components/resources/renderers/EventRenderer.tsx +1 -1
  24. package/src/components/resources/renderers/ExposedSecretReportRenderer.tsx +2 -2
  25. package/src/components/resources/renderers/ExternalSecretRenderer.tsx +2 -2
  26. package/src/components/resources/renderers/FluxHelmReleaseRenderer.tsx +1 -1
  27. package/src/components/resources/renderers/GRPCRouteRenderer.tsx +5 -5
  28. package/src/components/resources/renderers/GatewayClassRenderer.tsx +1 -1
  29. package/src/components/resources/renderers/GatewayRenderer.tsx +3 -3
  30. package/src/components/resources/renderers/GenericRenderer.tsx +1 -1
  31. package/src/components/resources/renderers/HPARenderer.tsx +1 -1
  32. package/src/components/resources/renderers/HTTPRouteRenderer.tsx +5 -5
  33. package/src/components/resources/renderers/HelmRepositoryRenderer.tsx +1 -1
  34. package/src/components/resources/renderers/IngressClassRenderer.tsx +1 -1
  35. package/src/components/resources/renderers/IngressRenderer.tsx +1 -1
  36. package/src/components/resources/renderers/IstioAuthorizationPolicyRenderer.tsx +10 -10
  37. package/src/components/resources/renderers/IstioDestinationRuleRenderer.tsx +1 -1
  38. package/src/components/resources/renderers/IstioGatewayRenderer.tsx +2 -2
  39. package/src/components/resources/renderers/IstioPeerAuthenticationRenderer.tsx +2 -2
  40. package/src/components/resources/renderers/IstioServiceEntryRenderer.tsx +6 -6
  41. package/src/components/resources/renderers/IstioVirtualServiceRenderer.tsx +5 -5
  42. package/src/components/resources/renderers/KarpenterEC2NodeClassRenderer.tsx +5 -5
  43. package/src/components/resources/renderers/KarpenterNodeClaimRenderer.tsx +2 -2
  44. package/src/components/resources/renderers/KarpenterNodePoolRenderer.tsx +4 -4
  45. package/src/components/resources/renderers/KedaScaledJobRenderer.tsx +3 -3
  46. package/src/components/resources/renderers/KedaScaledObjectRenderer.tsx +3 -3
  47. package/src/components/resources/renderers/KedaTriggerAuthRenderer.tsx +5 -5
  48. package/src/components/resources/renderers/KnativeConfigurationRenderer.tsx +2 -2
  49. package/src/components/resources/renderers/KnativeEventingRenderer.tsx +5 -5
  50. package/src/components/resources/renderers/KnativeFlowRenderer.tsx +4 -4
  51. package/src/components/resources/renderers/KnativeNetworkingRenderer.tsx +8 -8
  52. package/src/components/resources/renderers/KnativeRevisionRenderer.tsx +3 -3
  53. package/src/components/resources/renderers/KnativeRouteRenderer.tsx +1 -1
  54. package/src/components/resources/renderers/KnativeServiceRenderer.tsx +2 -2
  55. package/src/components/resources/renderers/KnativeSourceRenderer.tsx +6 -6
  56. package/src/components/resources/renderers/KustomizationRenderer.tsx +1 -1
  57. package/src/components/resources/renderers/KyvernoPolicyReportRenderer.tsx +4 -4
  58. package/src/components/resources/renderers/NetworkPolicyRenderer.tsx +6 -6
  59. package/src/components/resources/renderers/NodeRenderer.tsx +5 -5
  60. package/src/components/resources/renderers/OrderRenderer.tsx +3 -3
  61. package/src/components/resources/renderers/PersistentVolumeRenderer.tsx +1 -1
  62. package/src/components/resources/renderers/PodDisruptionBudgetRenderer.tsx +1 -1
  63. package/src/components/resources/renderers/PodMonitorRenderer.tsx +3 -3
  64. package/src/components/resources/renderers/PodRenderer.tsx +10 -10
  65. package/src/components/resources/renderers/PrometheusRuleRenderer.tsx +2 -2
  66. package/src/components/resources/renderers/RoleBindingRenderer.tsx +3 -3
  67. package/src/components/resources/renderers/RoleRenderer.tsx +8 -8
  68. package/src/components/resources/renderers/RolloutRenderer.tsx +1 -1
  69. package/src/components/resources/renderers/RuntimeClassRenderer.tsx +2 -2
  70. package/src/components/resources/renderers/SealedSecretRenderer.tsx +2 -2
  71. package/src/components/resources/renderers/SecretRenderer.tsx +3 -3
  72. package/src/components/resources/renderers/ServiceAccountRenderer.tsx +1 -1
  73. package/src/components/resources/renderers/ServiceMonitorRenderer.tsx +3 -3
  74. package/src/components/resources/renderers/ServiceRenderer.tsx +1 -1
  75. package/src/components/resources/renderers/SimpleRouteRenderer.tsx +5 -5
  76. package/src/components/resources/renderers/StorageClassRenderer.tsx +1 -1
  77. package/src/components/resources/renderers/TraefikIngressRouteRenderer.tsx +1 -1
  78. package/src/components/resources/renderers/VPARenderer.tsx +2 -2
  79. package/src/components/resources/renderers/VeleroBSLRenderer.tsx +2 -2
  80. package/src/components/resources/renderers/VeleroBackupRenderer.tsx +6 -6
  81. package/src/components/resources/renderers/VeleroRestoreRenderer.tsx +5 -5
  82. package/src/components/resources/renderers/VeleroScheduleRenderer.tsx +6 -6
  83. package/src/components/resources/renderers/VeleroVSLRenderer.tsx +1 -1
  84. package/src/components/resources/renderers/WebhookConfigRenderer.tsx +10 -10
  85. package/src/components/resources/renderers/WorkflowRenderer.tsx +2 -2
  86. package/src/components/resources/renderers/WorkflowTemplateRenderer.tsx +2 -2
  87. package/src/components/resources/renderers/WorkloadRenderer.tsx +1 -1
  88. package/src/components/resources/renderers/argo-cells.tsx +3 -3
  89. package/src/components/resources/renderers/certmanager-cells.tsx +6 -6
  90. package/src/components/resources/renderers/cnpg-cells.tsx +5 -5
  91. package/src/components/resources/renderers/eso-cells.tsx +4 -4
  92. package/src/components/resources/renderers/flux-cells.tsx +6 -6
  93. package/src/components/resources/renderers/istio-cells.tsx +9 -9
  94. package/src/components/resources/renderers/karpenter-cells.tsx +3 -3
  95. package/src/components/resources/renderers/keda-cells.tsx +2 -2
  96. package/src/components/resources/renderers/knative-cells.tsx +2 -2
  97. package/src/components/resources/renderers/kyverno-cells.tsx +3 -3
  98. package/src/components/resources/renderers/prometheus-cells.tsx +3 -3
  99. package/src/components/resources/renderers/trivy-cells.tsx +4 -4
  100. package/src/components/resources/renderers/velero-cells.tsx +4 -4
  101. package/src/components/shared/EditableYamlView.tsx +1 -1
  102. package/src/components/shared/ResourceActionsBar.tsx +17 -17
  103. package/src/components/shared/ResourceRendererDispatch.tsx +8 -7
  104. package/src/components/topology/K8sResourceNode.tsx +5 -5
  105. package/src/components/topology/TopologyControls.tsx +2 -2
  106. package/src/components/topology/TopologyGraph.tsx +89 -23
  107. package/src/components/topology/topology.css +1 -1
  108. package/src/components/ui/Badge.tsx +178 -0
  109. package/src/components/ui/HealthRing.tsx +70 -35
  110. package/src/components/ui/MetricsChart.tsx +2 -2
  111. package/src/components/ui/drawer-components.tsx +12 -31
  112. package/src/components/workload/ResourceDetailDrawer.tsx +4 -4
  113. package/src/components/workload/WorkloadView.tsx +10 -10
  114. package/src/theme/components.css +195 -0
  115. package/src/theme/tailwind-theme.css +13 -13
  116. package/src/theme/variables.css +46 -29
  117. package/src/types/core.ts +2 -0
  118. package/src/utils/badge-colors.ts +54 -205
@@ -1,196 +1,55 @@
1
1
  // Centralized badge color utilities for consistent light/dark mode theming
2
- // This file is the single source of truth for all badge colors across the application
3
-
4
- // Kind badge colors - for K8s resource type badges
5
- export const KIND_BADGE_COLORS: Record<string, string> = {
6
- // Workload controllers
7
- Deployment: 'bg-emerald-500/15 text-emerald-700 dark:bg-emerald-900/50 dark:text-emerald-400',
8
- StatefulSet: 'bg-cyan-500/15 text-cyan-700 dark:bg-cyan-900/50 dark:text-cyan-400',
9
- DaemonSet: 'bg-teal-500/15 text-teal-700 dark:bg-teal-900/50 dark:text-teal-400',
10
- ReplicaSet: 'bg-green-500/15 text-green-700 dark:bg-green-900/50 dark:text-green-400',
11
- Pod: 'bg-lime-500/15 text-lime-700 dark:bg-lime-900/50 dark:text-lime-400',
12
-
13
- // Networking
14
- Service: 'bg-blue-500/15 text-blue-700 dark:bg-blue-900/50 dark:text-blue-400',
15
- Ingress: 'bg-violet-500/15 text-violet-700 dark:bg-violet-900/50 dark:text-violet-400',
16
- Gateway: 'bg-violet-500/15 text-violet-700 dark:bg-violet-900/50 dark:text-violet-400',
17
- HTTPRoute: 'bg-purple-500/15 text-purple-700 dark:bg-purple-900/50 dark:text-purple-400',
18
- GRPCRoute: 'bg-purple-500/15 text-purple-700 dark:bg-purple-900/50 dark:text-purple-400',
19
- TCPRoute: 'bg-purple-500/15 text-purple-700 dark:bg-purple-900/50 dark:text-purple-400',
20
- TLSRoute: 'bg-purple-500/15 text-purple-700 dark:bg-purple-900/50 dark:text-purple-400',
21
-
22
- // Config
23
- ConfigMap: 'bg-amber-500/15 text-amber-700 dark:bg-amber-900/50 dark:text-amber-400',
24
- Secret: 'bg-red-500/15 text-red-800 dark:bg-red-900/50 dark:text-red-400',
25
-
26
- // Jobs
27
- Job: 'bg-purple-500/15 text-purple-700 dark:bg-purple-900/50 dark:text-purple-400',
28
- CronJob: 'bg-purple-500/15 text-purple-700 dark:bg-purple-900/50 dark:text-purple-400',
29
-
30
- // Autoscaling & Storage
31
- HorizontalPodAutoscaler: 'bg-pink-500/15 text-pink-700 dark:bg-pink-900/50 dark:text-pink-400',
32
- PersistentVolumeClaim: 'bg-cyan-500/15 text-cyan-700 dark:bg-cyan-900/50 dark:text-cyan-400',
33
-
34
- // Argo Rollouts
35
- Rollout: 'bg-emerald-500/15 text-emerald-700 dark:bg-emerald-900/50 dark:text-emerald-400',
36
-
37
- // GitOps
38
- Application: 'bg-orange-500/15 text-orange-700 dark:bg-orange-900/50 dark:text-orange-400',
39
- Kustomization: 'bg-indigo-500/15 text-indigo-700 dark:bg-indigo-900/50 dark:text-indigo-400',
40
- GitRepository: 'bg-indigo-500/15 text-indigo-700 dark:bg-indigo-900/50 dark:text-indigo-400',
41
-
42
- // Cluster-scoped
43
- Node: 'bg-sky-500/15 text-sky-700 dark:bg-sky-900/50 dark:text-sky-400',
44
- Namespace: 'bg-gray-500/15 text-gray-700 dark:bg-gray-900/50 dark:text-gray-400',
45
-
46
- // Knative Serving
47
- KnativeService: 'bg-fuchsia-500/15 text-fuchsia-700 dark:bg-fuchsia-900/50 dark:text-fuchsia-400',
48
- KnativeConfiguration: 'bg-fuchsia-500/15 text-fuchsia-700 dark:bg-fuchsia-900/50 dark:text-fuchsia-400',
49
- KnativeRevision: 'bg-fuchsia-500/15 text-fuchsia-700 dark:bg-fuchsia-900/50 dark:text-fuchsia-400',
50
- KnativeRoute: 'bg-fuchsia-500/15 text-fuchsia-700 dark:bg-fuchsia-900/50 dark:text-fuchsia-400',
51
-
52
- // Knative Eventing
53
- Broker: 'bg-fuchsia-500/15 text-fuchsia-700 dark:bg-fuchsia-900/50 dark:text-fuchsia-400',
54
- Trigger: 'bg-fuchsia-500/15 text-fuchsia-700 dark:bg-fuchsia-900/50 dark:text-fuchsia-400',
55
-
56
- // Knative Sources
57
- PingSource: 'bg-fuchsia-500/15 text-fuchsia-700 dark:bg-fuchsia-900/50 dark:text-fuchsia-400',
58
- ApiServerSource: 'bg-fuchsia-500/15 text-fuchsia-700 dark:bg-fuchsia-900/50 dark:text-fuchsia-400',
59
- ContainerSource: 'bg-fuchsia-500/15 text-fuchsia-700 dark:bg-fuchsia-900/50 dark:text-fuchsia-400',
60
- SinkBinding: 'bg-fuchsia-500/15 text-fuchsia-700 dark:bg-fuchsia-900/50 dark:text-fuchsia-400',
61
- Channel: 'bg-fuchsia-500/15 text-fuchsia-700 dark:bg-fuchsia-900/50 dark:text-fuchsia-400',
62
-
63
- // Traefik
64
- IngressRoute: 'bg-cyan-500/15 text-cyan-700 dark:bg-cyan-900/50 dark:text-cyan-400',
65
- IngressRouteTCP: 'bg-cyan-500/15 text-cyan-700 dark:bg-cyan-900/50 dark:text-cyan-400',
66
- IngressRouteUDP: 'bg-cyan-500/15 text-cyan-700 dark:bg-cyan-900/50 dark:text-cyan-400',
67
- Middleware: 'bg-cyan-500/15 text-cyan-700 dark:bg-cyan-900/50 dark:text-cyan-400',
68
- MiddlewareTCP: 'bg-cyan-500/15 text-cyan-700 dark:bg-cyan-900/50 dark:text-cyan-400',
69
- TraefikService: 'bg-cyan-500/15 text-cyan-700 dark:bg-cyan-900/50 dark:text-cyan-400',
70
- ServersTransport: 'bg-cyan-500/15 text-cyan-700 dark:bg-cyan-900/50 dark:text-cyan-400',
71
- ServersTransportTCP: 'bg-cyan-500/15 text-cyan-700 dark:bg-cyan-900/50 dark:text-cyan-400',
72
- TLSOption: 'bg-cyan-500/15 text-cyan-700 dark:bg-cyan-900/50 dark:text-cyan-400',
73
- TLSStore: 'bg-cyan-500/15 text-cyan-700 dark:bg-cyan-900/50 dark:text-cyan-400',
74
-
75
- // Contour
76
- HTTPProxy: 'bg-violet-500/15 text-violet-700 dark:bg-violet-900/50 dark:text-violet-400',
77
-
78
- // Special
79
- HelmRelease: 'bg-purple-500/20 text-purple-700 dark:text-purple-400',
80
- Event: 'bg-slate-500/15 text-slate-700 dark:bg-slate-900/50 dark:text-slate-400',
81
- }
2
+ // Color definitions live in Badge.tsx (static strings for Tailwind scanning)
3
+ // This file re-exports them and provides helper functions for backwards compat
82
4
 
83
- // Kind badge colors with border - for prominent badges in drawers/modals
84
- export const KIND_BADGE_BORDERED: Record<string, string> = {
85
- // Workload controllers
86
- Deployment: 'bg-emerald-500/20 text-emerald-700 dark:text-emerald-400 border border-emerald-500/30',
87
- StatefulSet: 'bg-cyan-500/20 text-cyan-700 dark:text-cyan-400 border border-cyan-500/30',
88
- DaemonSet: 'bg-teal-500/20 text-teal-700 dark:text-teal-400 border border-teal-500/30',
89
- ReplicaSet: 'bg-green-500/20 text-green-700 dark:text-green-400 border border-green-500/30',
90
- Pod: 'bg-lime-500/20 text-lime-700 dark:text-lime-400 border border-lime-500/30',
91
- PodGroup: 'bg-lime-500/20 text-lime-700 dark:text-lime-400 border border-lime-500/30',
92
-
93
- // Networking
94
- Internet: 'bg-blue-500/20 text-blue-700 dark:text-blue-400 border border-blue-500/30',
95
- Service: 'bg-blue-500/20 text-blue-700 dark:text-blue-400 border border-blue-500/30',
96
- Ingress: 'bg-violet-500/20 text-violet-700 dark:text-violet-400 border border-violet-500/30',
97
- Gateway: 'bg-violet-500/20 text-violet-700 dark:text-violet-400 border border-violet-500/30',
98
- HTTPRoute: 'bg-purple-500/20 text-purple-700 dark:text-purple-400 border border-purple-500/30',
99
- GRPCRoute: 'bg-purple-500/20 text-purple-700 dark:text-purple-400 border border-purple-500/30',
100
- TCPRoute: 'bg-purple-500/20 text-purple-700 dark:text-purple-400 border border-purple-500/30',
101
- TLSRoute: 'bg-purple-500/20 text-purple-700 dark:text-purple-400 border border-purple-500/30',
102
-
103
- // Config
104
- ConfigMap: 'bg-amber-500/20 text-amber-700 dark:text-amber-400 border border-amber-500/30',
105
- Secret: 'bg-red-500/20 text-red-800 dark:text-red-400 border border-red-500/30',
106
-
107
- // Jobs
108
- Job: 'bg-purple-500/20 text-purple-700 dark:text-purple-400 border border-purple-500/30',
109
- CronJob: 'bg-purple-500/20 text-purple-700 dark:text-purple-400 border border-purple-500/30',
110
-
111
- // Autoscaling & Storage
112
- HorizontalPodAutoscaler: 'bg-pink-500/20 text-pink-700 dark:text-pink-400 border border-pink-500/30',
113
- PersistentVolumeClaim: 'bg-cyan-500/20 text-cyan-700 dark:text-cyan-400 border border-cyan-500/30',
114
-
115
- // Argo Rollouts
116
- Rollout: 'bg-emerald-500/20 text-emerald-700 dark:text-emerald-400 border border-emerald-500/30',
117
-
118
- // GitOps
119
- Application: 'bg-orange-500/20 text-orange-700 dark:text-orange-400 border border-orange-500/30',
120
- Kustomization: 'bg-indigo-500/20 text-indigo-700 dark:text-indigo-400 border border-indigo-500/30',
121
- GitRepository: 'bg-indigo-500/20 text-indigo-700 dark:text-indigo-400 border border-indigo-500/30',
122
-
123
- // Cluster-scoped
124
- Node: 'bg-sky-500/20 text-sky-700 dark:text-sky-400 border border-sky-500/30',
125
- Namespace: 'bg-gray-500/20 text-gray-700 dark:text-gray-400 border border-gray-500/30',
126
-
127
- // Knative
128
- KnativeService: 'bg-fuchsia-500/20 text-fuchsia-700 dark:text-fuchsia-400 border border-fuchsia-500/30',
129
- KnativeConfiguration: 'bg-fuchsia-500/20 text-fuchsia-700 dark:text-fuchsia-400 border border-fuchsia-500/30',
130
- KnativeRevision: 'bg-fuchsia-500/20 text-fuchsia-700 dark:text-fuchsia-400 border border-fuchsia-500/30',
131
- KnativeRoute: 'bg-fuchsia-500/20 text-fuchsia-700 dark:text-fuchsia-400 border border-fuchsia-500/30',
132
- Broker: 'bg-fuchsia-500/20 text-fuchsia-700 dark:text-fuchsia-400 border border-fuchsia-500/30',
133
- Trigger: 'bg-fuchsia-500/20 text-fuchsia-700 dark:text-fuchsia-400 border border-fuchsia-500/30',
134
- PingSource: 'bg-fuchsia-500/20 text-fuchsia-700 dark:text-fuchsia-400 border border-fuchsia-500/30',
135
- ApiServerSource: 'bg-fuchsia-500/20 text-fuchsia-700 dark:text-fuchsia-400 border border-fuchsia-500/30',
136
- ContainerSource: 'bg-fuchsia-500/20 text-fuchsia-700 dark:text-fuchsia-400 border border-fuchsia-500/30',
137
- SinkBinding: 'bg-fuchsia-500/20 text-fuchsia-700 dark:text-fuchsia-400 border border-fuchsia-500/30',
138
- Channel: 'bg-fuchsia-500/20 text-fuchsia-700 dark:text-fuchsia-400 border border-fuchsia-500/30',
139
-
140
- // Traefik
141
- IngressRoute: 'bg-cyan-500/20 text-cyan-700 dark:text-cyan-400 border border-cyan-500/30',
142
- IngressRouteTCP: 'bg-cyan-500/20 text-cyan-700 dark:text-cyan-400 border border-cyan-500/30',
143
- IngressRouteUDP: 'bg-cyan-500/20 text-cyan-700 dark:text-cyan-400 border border-cyan-500/30',
144
- Middleware: 'bg-cyan-500/20 text-cyan-700 dark:text-cyan-400 border border-cyan-500/30',
145
- MiddlewareTCP: 'bg-cyan-500/20 text-cyan-700 dark:text-cyan-400 border border-cyan-500/30',
146
- TraefikService: 'bg-cyan-500/20 text-cyan-700 dark:text-cyan-400 border border-cyan-500/30',
147
- ServersTransport: 'bg-cyan-500/20 text-cyan-700 dark:text-cyan-400 border border-cyan-500/30',
148
- ServersTransportTCP: 'bg-cyan-500/20 text-cyan-700 dark:text-cyan-400 border border-cyan-500/30',
149
- TLSOption: 'bg-cyan-500/20 text-cyan-700 dark:text-cyan-400 border border-cyan-500/30',
150
- TLSStore: 'bg-cyan-500/20 text-cyan-700 dark:text-cyan-400 border border-cyan-500/30',
151
-
152
- // Contour
153
- HTTPProxy: 'bg-violet-500/20 text-violet-700 dark:text-violet-400 border border-violet-500/30',
154
- }
5
+ import { BADGE_SEVERITY_COLORS, BADGE_KIND_COLORS, getKindColorClass } from '../components/ui/Badge'
6
+
7
+ // Kind badge colors - re-exported from Badge.tsx (static strings, Tailwind-safe)
8
+ export const KIND_BADGE_COLORS: Record<string, string> = BADGE_KIND_COLORS
9
+
10
+ // Kind badge bordered - same as KIND_BADGE_COLORS (colors already include border classes)
11
+ export const KIND_BADGE_BORDERED: Record<string, string> = BADGE_KIND_COLORS
12
+
13
+ export { getKindColorClass }
155
14
 
156
15
  // Event type colors - for K8s event types (Normal, Warning)
157
16
  export const EVENT_TYPE_COLORS: Record<string, string> = {
158
- Warning: 'bg-amber-500/20 text-amber-700 dark:text-amber-400',
159
- Normal: 'bg-green-500/20 text-green-700 dark:text-green-400',
17
+ Warning: 'bg-amber-50 text-amber-700 border-amber-200 dark:bg-amber-950/40 dark:text-amber-400 dark:border-amber-800/40',
18
+ Normal: 'bg-emerald-50 text-emerald-700 border-emerald-200 dark:bg-emerald-950/40 dark:text-emerald-400 dark:border-emerald-800/40',
160
19
  }
161
20
 
162
21
  // Operation colors - for change events (add, update, delete)
163
22
  export const OPERATION_COLORS: Record<string, string> = {
164
- add: 'text-green-700 dark:text-green-400',
165
- update: 'text-blue-700 dark:text-blue-400',
166
- delete: 'text-red-800 dark:text-red-400',
23
+ add: 'text-emerald-700 dark:text-emerald-400',
24
+ update: 'text-sky-700 dark:text-sky-400',
25
+ delete: 'text-red-700 dark:text-red-400',
167
26
  }
168
27
 
169
- // Operation background colors - for badges with background
28
+ // Operation background colors - derived from SEVERITY
170
29
  export const OPERATION_BADGE_COLORS: Record<string, string> = {
171
- add: 'bg-green-500/20 text-green-700 dark:text-green-400',
172
- update: 'bg-blue-500/20 text-blue-700 dark:text-blue-400',
173
- delete: 'bg-red-500/20 text-red-800 dark:text-red-400',
30
+ add: BADGE_SEVERITY_COLORS.success,
31
+ update: BADGE_SEVERITY_COLORS.info,
32
+ delete: BADGE_SEVERITY_COLORS.error,
174
33
  }
175
34
 
176
- // Health badge colors - for health state indicators
35
+ // Health badge colors - derived from SEVERITY
177
36
  export const HEALTH_BADGE_COLORS: Record<string, string> = {
178
- healthy: 'bg-green-500/20 text-green-700 dark:text-green-400',
179
- degraded: 'bg-yellow-500/20 text-yellow-700 dark:text-yellow-400',
180
- unhealthy: 'bg-red-500/20 text-red-800 dark:text-red-400',
181
- unknown: 'bg-theme-hover/50 text-theme-text-secondary',
37
+ healthy: BADGE_SEVERITY_COLORS.success,
38
+ degraded: BADGE_SEVERITY_COLORS.warning,
39
+ unhealthy: BADGE_SEVERITY_COLORS.error,
40
+ unknown: BADGE_SEVERITY_COLORS.neutral,
182
41
  }
183
42
 
184
- // Helm release status colors
43
+ // Helm release status colors - derived from SEVERITY
185
44
  export const HELM_STATUS_COLORS: Record<string, string> = {
186
- deployed: 'bg-green-500/20 text-green-700 dark:text-green-400',
187
- superseded: 'bg-theme-hover/50 text-theme-text-secondary',
188
- failed: 'bg-red-500/20 text-red-800 dark:text-red-400',
189
- 'pending-install': 'bg-yellow-500/20 text-yellow-700 dark:text-yellow-400',
190
- 'pending-upgrade': 'bg-yellow-500/20 text-yellow-700 dark:text-yellow-400',
191
- 'pending-rollback': 'bg-yellow-500/20 text-yellow-700 dark:text-yellow-400',
192
- uninstalling: 'bg-orange-500/20 text-orange-700 dark:text-orange-400',
193
- uninstalled: 'bg-theme-hover/50 text-theme-text-secondary',
45
+ deployed: BADGE_SEVERITY_COLORS.success,
46
+ superseded: BADGE_SEVERITY_COLORS.neutral,
47
+ failed: BADGE_SEVERITY_COLORS.error,
48
+ 'pending-install': BADGE_SEVERITY_COLORS.warning,
49
+ 'pending-upgrade': BADGE_SEVERITY_COLORS.warning,
50
+ 'pending-rollback': BADGE_SEVERITY_COLORS.warning,
51
+ uninstalling: BADGE_SEVERITY_COLORS.warning,
52
+ uninstalled: BADGE_SEVERITY_COLORS.neutral,
194
53
  }
195
54
 
196
55
  // Default fallback color
@@ -200,50 +59,40 @@ export const DEFAULT_BADGE_COLOR = 'bg-theme-elevated text-theme-text-secondary'
200
59
  // SEVERITY COLORS - for status indicators, alerts, and feedback
201
60
  // =============================================================================
202
61
 
203
- // Severity badge colors - with background (for badges, pills, tags)
204
- export const SEVERITY_BADGE = {
205
- success: 'bg-green-500/20 text-green-700 dark:text-green-400',
206
- warning: 'bg-amber-500/20 text-amber-700 dark:text-amber-400',
207
- error: 'bg-red-500/20 text-red-800 dark:text-red-400',
208
- info: 'bg-blue-500/20 text-blue-700 dark:text-blue-400',
209
- neutral: 'bg-theme-hover/50 text-theme-text-secondary',
210
- } as const
62
+ // Severity badge colors — re-exported from Badge.tsx (static strings, Tailwind-safe)
63
+ export const SEVERITY_BADGE = BADGE_SEVERITY_COLORS
211
64
 
212
65
  // Severity text colors - without background (for inline text, icons)
213
66
  export const SEVERITY_TEXT = {
214
- success: 'text-green-700 dark:text-green-400',
67
+ success: 'text-emerald-700 dark:text-emerald-400',
215
68
  warning: 'text-amber-700 dark:text-amber-400',
216
- error: 'text-red-800 dark:text-red-400',
217
- info: 'text-blue-700 dark:text-blue-400',
69
+ error: 'text-red-700 dark:text-red-400',
70
+ info: 'text-sky-700 dark:text-sky-400',
218
71
  neutral: 'text-theme-text-secondary',
219
72
  } as const
220
73
 
221
74
  // Severity dot/indicator colors - solid colors for small status dots
222
75
  export const SEVERITY_DOT = {
223
- success: 'bg-green-500',
224
- warning: 'bg-yellow-500',
76
+ success: 'bg-emerald-500',
77
+ warning: 'bg-amber-500',
225
78
  error: 'bg-red-500',
226
- info: 'bg-blue-500',
79
+ info: 'bg-sky-500',
227
80
  neutral: 'bg-theme-hover',
228
81
  } as const
229
82
 
230
83
  // Severity border colors - for bordered elements
231
84
  export const SEVERITY_BORDER = {
232
- success: 'border-green-500/30',
233
- warning: 'border-amber-500/30',
234
- error: 'border-red-500/30',
235
- info: 'border-blue-500/30',
85
+ success: 'border-emerald-200 dark:border-emerald-800/40',
86
+ warning: 'border-amber-200 dark:border-amber-800/40',
87
+ error: 'border-red-200 dark:border-red-800/40',
88
+ info: 'border-sky-200 dark:border-sky-800/40',
236
89
  neutral: 'border-theme-border',
237
90
  } as const
238
91
 
239
- // Combined severity styles - badge with border (for prominent indicators)
92
+ // Combined severity styles - same as SEVERITY_BADGE (border comes from .badge class + border-color in color string)
240
93
  export const SEVERITY_BADGE_BORDERED = {
241
- success: 'bg-green-500/20 text-green-700 dark:text-green-400 border border-green-500/30',
242
- warning: 'bg-amber-500/20 text-amber-700 dark:text-amber-400 border border-amber-500/30',
243
- error: 'bg-red-500/20 text-red-800 dark:text-red-400 border border-red-500/30',
244
- info: 'bg-blue-500/20 text-blue-700 dark:text-blue-400 border border-blue-500/30',
245
- debug: 'bg-gray-500/15 text-gray-600 dark:text-gray-400 border border-gray-400/30 dark:border-gray-500/30',
246
- neutral: 'bg-theme-hover/50 text-theme-text-secondary border border-theme-border',
94
+ ...BADGE_SEVERITY_COLORS,
95
+ debug: 'bg-gray-50 text-gray-600 border-gray-200 dark:bg-gray-900/30 dark:text-gray-400 dark:border-gray-700/40',
247
96
  } as const
248
97
 
249
98
  // Severity type
@@ -410,11 +259,11 @@ export function getHelmStatusColor(status: string): string {
410
259
  // =============================================================================
411
260
 
412
261
  export const VULN_SEVERITY_BADGE: Record<string, string> = {
413
- CRITICAL: 'bg-red-500/20 text-red-800 dark:text-red-400',
414
- HIGH: 'bg-orange-500/20 text-orange-700 dark:text-orange-400',
415
- MEDIUM: 'bg-yellow-500/20 text-yellow-700 dark:text-yellow-400',
416
- LOW: 'bg-blue-500/20 text-blue-700 dark:text-blue-400',
417
- UNKNOWN: 'bg-gray-500/20 text-gray-600 dark:text-gray-400',
262
+ CRITICAL: 'bg-red-100 text-red-700 border-red-300 dark:bg-red-950/50 dark:text-red-400 dark:border-red-700/40',
263
+ HIGH: 'bg-orange-100 text-orange-800 border-orange-300 dark:bg-orange-950/50 dark:text-orange-300 dark:border-orange-700/40',
264
+ MEDIUM: 'bg-amber-100 text-amber-800 border-amber-300 dark:bg-amber-950/50 dark:text-amber-300 dark:border-amber-700/40',
265
+ LOW: 'bg-sky-100 text-sky-700 border-sky-300 dark:bg-sky-950/50 dark:text-sky-400 dark:border-sky-700/40',
266
+ UNKNOWN: 'bg-gray-100 text-gray-700 border-gray-300 dark:bg-gray-950/50 dark:text-gray-400 dark:border-gray-700/40',
418
267
  }
419
268
 
420
269
  export const VULN_SEVERITY_BAR: Record<string, string> = {