Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@daily-co/daily-vcs-web

Package Overview
Dependencies
Maintainers
21
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@daily-co/daily-vcs-web

A library to render Daily VCS view in the browser

  • 0.0.1-alpha.1
  • alpha
  • npm
  • Socket score

Version published
Weekly downloads
28
increased by133.33%
Maintainers
21
Weekly downloads
 
Created
Source

Daily VCS Web

The @daily-co/daily-vcs-web package enables developers to render a VCSComposition inside a given DOM element in the browser.

Installation

Install the package via npm or yarn:

npm install @daily-co/daily-vcs-web
# or
yarn add @daily-co/daily-vcs-web
```

### Usage

Import the `DailyVCSWebRender` class from `@daily-co/daily-vcs-web` and create an instance to get started:

```js
import DailyIframe from '@daily-co/daily-js';
import DailyVCSBaselineComposition from '@daily-co/vcs-composition-daily-baseline-web';
import DailyVCSWebRenderer from '@daily-co/daily-vcs-web';

const callObject = DailyIframe.createCallObject();
const rootEl = document.getElementById('vcs-wrapper'); // DOM element where the VCS composition will be rendered
const opts = {
  callObject: callObject,
  viewportSize: { w: 1280, h: 720 },
};

const renderer = new DailyVCSWebRenderer(callObject, DailyVCSBaselineComposition, rootEl, opts);

Methods

The DailyVCSWebRenderer class provides the following methods:

  • start()

Starts the VCS composition and renders it to the specified DOM element.

renderer.start();
  • stop()

Stops the VCS composition and removes it from the DOM.

renderer.stop()
  • sendParam(paramId, value)

Sends a parameter update to the VCS composition.

renderer.sendParam('paramId', value);
  • sendParams(params)

Sends a map of parameter updates to the VCS composition.

renderer.sendParams({
  paramId1: value1,
  paramId2: value2,
  ...params
});
  • updateImageSources(images, mergeType)

Updates the image sources of the VCS composition.

renderer.updateImageSources(
  {
    imageId1: 'imageUrl1',
    imageId2: 'imageUrl2',
    // ...
  },
  'replace' // Optional: mergeType, either 'merge' or 'replace' (default is 'replace')
);

  • updateParticipantIds(participantIds, mergeType)

Updates the participantIds to render.

renderer.updateParticipantIds(
  ['participantId1', 'participantId2', ...],
  'replace' // Optional: mergeType, either 'merge' or 'replace' (default is 'replace')
);

Properties

The DailyVCSWebRenderer class also provides several read-only properties:

NameTypeDescription
rootElementDOMElementThe DOM element where the VCS composition is rendered
vcsApiInstanceVCSApiThe VCSApi instance returned by the VCSComposition. It can be used to send updates to the VCS composition.
compositionVCSCompositionThe VCS composition object.
participantsstring[]An array of participantIds to render.
paramsParam[]A map of paramId to value. It keeps track of the current state of the VCS composition.
size{ w: number, h: number }The render viewport size used by VCS.

Callbacks

The DailyVCSWebRenderer class allows you to set optional callbacks that will be triggered during specific events. The available callbacks are:

  • onStart: Called when the VCS composition starts.
  • onStop: Called when the VCS composition stops.
  • onError: Called when an error occurs during the VCS composition.
  • onParamsChanged: Called when parameter values are updated.
const opts = {
  // ... other options ...
  callbacks: {
    onStart: () => console.log('VCS composition started.'),
    onStop: () => console.log('VCS composition stopped.'),
    onError: (e) => console.log('VCS composition error:', e),
    onParamsChanged: (params) => console.log('Params changed', params),
  }
}

FAQs

Package last updated on 22 Jul 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc