1.33.0 • Published 7 days ago

@snapcall/stream-ui v1.33.0

Weekly downloads
-
License
ISC
Repository
-
Last release
7 days ago

SnapCall Stream UI

The Stream UI is a library that will help you to quickly integrate SnapCall on your application.

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

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

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

streamUI.init({ element: container });
streamUI.joinRoom(roomToken);

Methods

init(options: InitOptions): void

Initializes the UI, this function must be called before you join a room.

See InitOptions for more details.

joinRoom(token: string): Promise<void>

Joins a room.

leaveRoom(): void

Leaves a room.

terminateRoom(): void

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

generateToken(buttonId: string): Promise<string>

Generate a room token with a SnapCall button ID.

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

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

API

InitOptions

{
  element: HTMLElement;
  sharedURL?: string;
  audioTiles?: boolean;
  settingsShortcuts?: { id: string, displayType: 'icon' | 'full' }[];
  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.

settingsShortcuts

Default value: []

Specified options are added as a small shortcut next to the menu button. Type are full or icon. Possible id values are: openNewTab, copyLink, quickConnect, settings and pip.

controls

Allows to manage the available and enabled devices

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;
}
1.29.0

5 months ago

1.29.1

5 months ago

1.32.0

2 months ago

1.32.1

2 months ago

1.30.0

4 months ago

1.32.2

30 days ago

1.28.1

6 months ago

1.28.0

6 months ago

1.32.0-beta.1

2 months ago

1.31.1

3 months ago

1.33.0

7 days ago

1.31.0

3 months ago

1.27.0

8 months ago

1.25.0

10 months ago

1.25.1

10 months ago

1.23.1

1 year ago

1.24.1

12 months ago

1.26.0

10 months ago

1.24.0

1 year ago

1.26.1

9 months ago

1.23.0

1 year ago

1.22.0

1 year ago

1.21.0

1 year ago

1.20.1

1 year ago

1.20.0

1 year ago

1.19.0

1 year ago

1.19.1

1 year ago

1.18.1

1 year ago

1.18.0

1 year ago

1.17.0

1 year ago

1.16.0

2 years ago

1.15.0

2 years ago

1.14.3

2 years ago

1.15.1

2 years ago

1.14.2

2 years ago

1.14.1

2 years ago

1.14.0

2 years ago

1.13.1

2 years ago

1.11.4

2 years ago

1.11.3

2 years ago

1.13.0

2 years ago

1.12.1

2 years ago

1.11.2

2 years ago

1.12.0

2 years ago

1.11.1

2 years ago

1.11.5

2 years ago

1.11.0

2 years ago

1.9.0

3 years ago

1.10.1

2 years ago

1.10.0

2 years ago

1.8.1

3 years ago

1.8.0

3 years ago

1.7.0

3 years ago

1.6.0

3 years ago

1.5.0

3 years ago

1.2.0

3 years ago

1.1.0

3 years ago

1.4.1

3 years ago

1.4.0

3 years ago

1.3.0

3 years ago

1.0.0

3 years ago