@use '@angular/material' as mat; @use '../projects/openvidu-components-angular/src/lib/config/theme' as ovtheme; @include mat.elevation-classes(); @include mat.app-background(); // Define the theme $openvidu-theme: mat.define-theme(); html { // Emit theme-dependent styles for common features used across multiple components. @include mat.elevation-classes(); @include mat.app-background(); // @include mat.button-theme($theme); @include mat.all-component-bases($openvidu-theme); @include mat.all-component-colors($openvidu-theme); @include mat.all-component-typographies($openvidu-theme); @include mat.all-component-densities($openvidu-theme); // Apply OpenVidu theme integration with Angular Material @include ovtheme.apply-openvidu-theme($openvidu-theme); } // Include responsive theme detection @include ovtheme.openvidu-theme-responsive(); html, body { height: 100%; overflow: hidden; } body { margin: 0; font-family: 'Roboto', 'RobotoDraft', Helvetica, Arial, sans-serif; } // Custom openvidu-components styles with Angular Material Theme support :root { // === Core Background Colors === --ov-background-color: var(--mat-sys-background, #1f2020); --ov-surface-color: var(--mat-sys-surface, #ffffff); --ov-surface-container-color: var(--mat-sys-surface-container, #f3f3f3); // === Action Colors (Primary, Secondary, Accent) === --ov-primary-action-color: var(--mat-sys-primary, #273235); --ov-secondary-action-color: var(--mat-sys-secondary, #f1f1f1); --ov-accent-action-color: var(--mat-sys-tertiary, #0089ab); // === State Colors === --ov-error-color: var(--mat-sys-error, #eb5144); --ov-warn-color: var(--mat-sys-error-container, #ffba53); --ov-success-color: var(--mat-sys-tertiary-container, #8bffc9); // === Text Colors === --ov-text-primary-color: var(--mat-sys-on-background, #ffffff); --ov-text-surface-color: var(--mat-sys-on-surface, #1d1d1d); --ov-text-secondary-color: var(--mat-sys-on-surface-variant, #666666); --ov-text-disabled-color: var(--mat-sys-outline, #999999); // === Interactive States === --ov-hover-color: var(--mat-sys-surface-container-highest, #f5f5f5); --ov-disabled-background: var(--mat-sys-surface-container-low, #f5f5f5); --ov-disabled-border-color: var(--mat-sys-outline-variant, #ddd); // === Input & Form Colors === --ov-border-color: var(--mat-sys-outline-variant, #e0e0e0); // === Layout & Spacing === --ov-toolbar-buttons-radius: 50%; --ov-leave-button-radius: 10px; --ov-video-radius: 5px; --ov-surface-radius: 5px; --ov-input-radius: 4px; // === Special Colors (with fallbacks) === --ov-recording-color: var(--ov-error-color); --ov-broadcasting-color: #5903ca; --ov-selection-color: #d4d6d7; --ov-selection-color-btn: #afafaf; --ov-activity-status-color: #afafaf; // === Video/Media Specific === --ov-video-background: #000000; --ov-captions-height: 250px; }