@nestjsvn/swagger-sse
Version:
OpenAPI documentation and interactive Swagger UI for NestJS Server-Sent Events endpoints
188 lines (156 loc) • 4.39 kB
CSS
/**
* Light Theme for SSE Plugin
* Default light color scheme
*/
[data-theme="light"] {
--sse-primary-color: #007bff;
--sse-success-color: #28a745;
--sse-danger-color: #dc3545;
--sse-warning-color: #ffc107;
--sse-info-color: #17a2b8;
--sse-light-color: #f8f9fa;
--sse-dark-color: #343a40;
--sse-border-color: #dee2e6;
--sse-text-color: #212529;
--sse-bg-color: #ffffff;
--sse-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
--sse-border-radius: 0.375rem;
--sse-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
--sse-mono-font: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace;
}
/* Light theme specific overrides */
[data-theme="light"] .sse-interface {
background-color: #ffffff;
border-color: #e9ecef;
}
[data-theme="light"] .sse-controls {
background-color: #f8f9fa;
border-color: #e9ecef;
}
[data-theme="light"] .sse-event-log {
background-color: #ffffff;
border-color: #e9ecef;
}
[data-theme="light"] .sse-event-log-header {
background-color: #f8f9fa;
border-bottom-color: #e9ecef;
}
[data-theme="light"] .sse-event-item {
border-bottom-color: #f1f3f4;
}
[data-theme="light"] .sse-event-item:hover {
background-color: #f8f9fa;
}
[data-theme="light"] .sse-event-data {
background-color: #f8f9fa;
color: #495057;
}
[data-theme="light"] .sse-filters {
background-color: #f8f9fa;
border-color: #e9ecef;
}
[data-theme="light"] .sse-filter-input,
[data-theme="light"] .sse-filter-select {
background-color: #ffffff;
border-color: #ced4da;
color: #495057;
}
[data-theme="light"] .sse-filter-input:focus,
[data-theme="light"] .sse-filter-select:focus {
border-color: #80bdff;
box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
/* Status indicators for light theme */
[data-theme="light"] .sse-status.connected {
background-color: #d4edda;
color: #155724;
border-color: #c3e6cb;
}
[data-theme="light"] .sse-status.connecting {
background-color: #fff3cd;
color: #856404;
border-color: #ffeaa7;
}
[data-theme="light"] .sse-status.disconnected {
background-color: #f8d7da;
color: #721c24;
border-color: #f5c6cb;
}
[data-theme="light"] .sse-status.error {
background-color: #f5c6cb;
color: #721c24;
border-color: #f1b0b7;
}
/* Event type badges for light theme */
[data-theme="light"] .sse-event-type {
background-color: rgba(0, 123, 255, 0.1);
color: #007bff;
}
[data-theme="light"] .sse-event-type-badge {
background-color: #007bff;
color: #ffffff;
}
/* Connection status component for light theme */
[data-theme="light"] .sse-connection-status {
background-color: #f8f9fa;
border-color: #e9ecef;
}
[data-theme="light"] .sse-error-message {
background-color: rgba(220, 53, 69, 0.1);
border-color: rgba(220, 53, 69, 0.2);
color: #721c24;
}
/* Performance indicators */
[data-theme="light"] .sse-performance-indicator {
background-color: rgba(0, 0, 0, 0.8);
color: #ffffff;
}
/* Scrollbar styling for light theme */
[data-theme="light"] .sse-events-container::-webkit-scrollbar {
width: 8px;
}
[data-theme="light"] .sse-events-container::-webkit-scrollbar-track {
background: #f1f1f1;
border-radius: 4px;
}
[data-theme="light"] .sse-events-container::-webkit-scrollbar-thumb {
background: #c1c1c1;
border-radius: 4px;
}
[data-theme="light"] .sse-events-container::-webkit-scrollbar-thumb:hover {
background: #a8a8a8;
}
/* Button hover states for light theme */
[data-theme="light"] .sse-connect-btn:hover:not(:disabled) {
background-color: #218838;
}
[data-theme="light"] .sse-disconnect-btn:hover:not(:disabled) {
background-color: #c82333;
}
[data-theme="light"] .sse-log-control-btn:hover {
background-color: #e9ecef;
}
[data-theme="light"] .sse-event-action-btn:hover {
background-color: #e9ecef;
}
/* Focus states for accessibility */
[data-theme="light"] button:focus,
[data-theme="light"] input:focus,
[data-theme="light"] select:focus {
outline: 2px solid #007bff;
outline-offset: 2px;
}
/* High contrast adjustments for light theme */
@media (prefers-contrast: high) {
[data-theme="light"] {
--sse-border-color: #000000;
--sse-text-color: #000000;
}
[data-theme="light"] .sse-interface {
border-color: #000000;
border-width: 2px;
}
[data-theme="light"] .sse-event-item {
border-bottom-color: #000000;
}
}