Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@snapcall/stream-ui

Package Overview
Dependencies
Maintainers
3
Versions
103
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@snapcall/stream-ui

The Stream UI is a library that will help you to quickly integrate [SnapCall](https://www.snapcall.io/) on your application. It allows you to join a call or record media.

latest
npmnpm
Version
1.44.1
Version published
Weekly downloads
46
-61.98%
Maintainers
3
Weekly downloads
 
Created
Source

SnapCall Stream UI

The Stream UI is a library that will help you to quickly integrate SnapCall on your application. It allows you to join a call or record media.

Installation

npm install @snapcall/stream-ui

The NPM package is distributed both as a CommonJS and ES module.

We also distrubute a UMD build of the package, which can be used directly in the browser.

<script src="https://unpkg.com/@snapcall/stream-ui@latest/dist/stream-ui.umd.js"></script>

Basic usage

Depending on your Stream token you will join a call or start a media recording session.

import { streamUI } from '@snapcall/stream-ui';

const container = document.getElementById('container');
const roomToken = '123';

streamUI.initV2({ element: container, token: roomToken });

Methods

initV2(options: InitOptions): void

Initializes the UI and start the session.

See InitOptions for more details.

leaveRoom(): void

Leaves a room.

terminateRoom(): void

Terminates the room, all participants will be disconnected and the room won't be usable anymore.

sendNotification(message: string, options: NotificationOptions): void

Send a notification (tooltip), see NotificationOptions for the options.

API

InitOptions

{
  element: HTMLElement;
  sharedURL?: string;
  audioTiles?: boolean;
  controls?: {
    microphone?: ControlSettings;
    camera?: ControlSettings;
    screenshare?: ControlSettings;
  };
  showMenuButton?: boolean;
}

element

Required

The HTML element where the UI will be rendered.

sharedURL

Default value: window.location.href

The URL used for features such as "Open new tab" or "Quick Connect".

audioTiles

Default value: false

Enable audio-only tiles.

controls

Allows to manage the available and enabled devices for call.

type Device = 'microphone' | 'camera' | 'screenshare';

{
  controls: {
    <Device>: {
      available: boolean; // Display or hide the corresponding device button
      enabled: boolean; // Enable or disable the default state of the device (when entering a room)
    }
  }
}

controls.microphone

Default value: { available: true, enabled: true }

controls.camera

Default value: { available: true, enabled: false }

controls.screenshare

Default value: { available: true, enabled: false }

showMenuButton

Default value: true

Display or hide the top-right menu button

NotificationOptions

interface NotificationOptions {
  icon?: JSX.Element | string;
  subText?: string;
  button?: {
    icon?: JSX.Element | string;
    text: string;
    action: ({ close }: { close: () => void }) => void;
  };
  status?: {
    icon?: JSX.Element | string;
    text?: string;
    boldText?: string;
  };
  width?: string;
  backgroundColor?: string;
  messageStyle?: React.CSSProperties;
  ellipsis?: boolean;
  duration?: number;
}

FAQs

Package last updated on 13 May 2026

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