UNPKG

@nestjsvn/swagger-sse

Version:

OpenAPI documentation and interactive Swagger UI for NestJS Server-Sent Events endpoints

188 lines (156 loc) 4.39 kB
/** * 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; } }