openvidu/openvidu-components-angular/projects/openvidu-components-angular
Carlos Santos 76c957903f ov-components: Refactors config service to use RxJS Subjects
Updates the configuration service to use RxJS BehaviorSubjects and Observables for managing configuration values.

This change improves the reactivity and maintainability of the configuration system by providing a consistent and type-safe way to manage application settings.

Specifically, it introduces a helper method to create configuration items with BehaviorSubject and Observable, and uses distinctUntilChanged and shareReplay operators to optimize the observable streams.

ov-components: Refactor configuration management in OpenVidu components

- Updated directive methods to use centralized configuration updates for general, stream, and toolbar settings.
- Replaced individual setter methods with batch update methods for improved performance and maintainability.
- Introduced specific comparison methods for configuration objects to optimize change detection.
- Enhanced the structure of configuration interfaces for better clarity and organization.
- Removed redundant code and streamlined the configuration service for better readability.

ov-components: Enhance participant name handling in PreJoin and Videoconference components
2025-07-29 14:05:14 +02:00
..
doc ov-components: enhance directive table generation logic and improve error handling 2025-06-11 12:49:41 +02:00
src ov-components: Refactors config service to use RxJS Subjects 2025-07-29 14:05:14 +02:00
.browserslistrc OpenVidu v3 2024-07-02 19:19:05 +02:00
.prettierrc OpenVidu v3 2024-07-02 19:19:05 +02:00
README.md openvidu-components-angular: Update links in documentation to use the latest version 2024-12-18 15:32:17 +01:00
karma.conf.js ov-components: Set headless chrome for unit tests 2024-10-10 20:39:16 +02:00
ng-package.json OpenVidu v3 2024-07-02 19:19:05 +02:00
package-lock.json openvidu-components-angular: Bumped version to 3.3.0 2025-06-26 18:43:30 +00:00
package.json openvidu-components-angular: Bumped version to 3.3.0 2025-06-26 18:43:30 +00:00
tsconfig.lib.json ov-components: update package dependencies and TypeScript configurations 2025-05-05 12:15:16 +02:00
tsconfig.lib.prod.json OpenVidu v3 2024-07-02 19:19:05 +02:00
tsconfig.spec.json ov-components: update package dependencies and TypeScript configurations 2025-05-05 12:15:16 +02:00

README.md

Welcome to OpenVidu Components Angular

Build powerful video conferencing applications with ease using OpenVidu Components Angular.

Introduction

Angular Components are the simplest way to create real-time videoconferencing apps with Angular. There's no need to manage state or low-level events; Angular Components from OpenVidu handle all the complexity for you.

Getting Started

To get started with OpenVidu Components Angular, visit our Getting Started guide.

  1. Create an Angular Project (>= 17.0.0)

    ng new your-project-name
    
  2. Add Angular Material to your project

    ng add @angular/material
    
  3. Install OpenVidu Components Angular

    npm install openvidu-components-angular
    
  4. Import and use OpenVidu Components Angular

    import { OpenViduComponentsModule, OpenViduComponentsConfig } from 'openvidu-components-angular';
    
    // Other imports ...
    
    const config: OpenViduComponentsConfig = {
    	production: environment.production
    };
    
    bootstrapApplication(AppComponent, {
    	providers: [
    		importProvidersFrom(
    			OpenViduComponentsModule.forRoot(config)
    			// Other imports ...
    		),
    		provideAnimations()
    	]
    }).catch((err) => console.error(err));
    

You can also customize the styles in your styles.scss file:

:root {
	/* Basic colors */
	--ov-background-color: #303030; // Background color
	--ov-surface-color: #ffffff; // Surfaces colors (panels, dialogs)

	/* Text colors */
	--ov-text-primary-color: #ffffff; // Text color over primary background
	--ov-text-surface-color: #1d1d1d; // Text color over surface background

	/* Action colors */
	--ov-primary-action-color: #273235; // Primary color for buttons, etc.
	--ov-secondary-action-color: #f1f1f1; // Secondary color for buttons, etc.
	--ov-accent-action-color: #0089ab; // Color for highlighted elements

	/* Status colors */
	--ov-error-color: #eb5144; // Error color
	--ov-warn-color: #ffba53; // Warning color

	/* Radius */
	--ov-toolbar-buttons-radius: 50%; // Radius for toolbar buttons
	--ov-leave-button-radius: 10px; // Radius for leave button
	--ov-video-radius: 5px; // Radius for video elements
	--ov-surface-radius: 5px; // Radius for surface elements
}

Usage

<ov-videoconference
	[token]="token"
	[livekitUrl]="LIVEKIT_URL"
	(onTokenRequested)="onTokenRequested($event)"
>
</ov-videoconference>

API Documentation

For detailed information on OpenVidu Angular Components, refer to our API Reference.

Support

If you have any questions or need assistance, please reach out to our Support page.