@zoom/videosdk-ui-toolkit 2.1.0-1 → 2.1.10-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,10 +1,10 @@
1
- # Zoom Video SDK UI toolkit for web
2
-
3
- Use of this SDK is subject to our [Terms of Use](https://explore.zoom.us/en/video-sdk-terms/).
1
+ # Zoom Video SDK UI toolkit
4
2
 
5
3
  The [Zoom Video SDK UI toolkit](https://developers.zoom.us/docs/video-sdk/web/ui-toolkit/) is a prebuilt video chat user interface powered by the Zoom Video SDK.
6
4
 
7
- ![Zoom Video SDK UI toolkit web](uitoolkitgalleryview.png)
5
+ ![Zoom Video SDK UI toolkit web](https://github.com/zoom/videosdk-ui-toolkit-web/blob/main/uitoolkitgalleryview.png?raw=true)
6
+
7
+ Use of this SDK is subject to our [Terms of Use](https://explore.zoom.us/en/video-sdk-terms/).
8
8
 
9
9
  ## Installation
10
10
 
@@ -17,8 +17,19 @@ $ npm install @zoom/videosdk-ui-toolkit --save
17
17
  Or, for Vanilla JS applications, download the package and add it to your project. Then, add the following script and CSS style to the HTML page you want the UI toolkit to live on:
18
18
 
19
19
  ```html
20
- <link rel="stylesheet" href="@zoom/videosdk-ui-toolkit/dist/videosdk-ui-toolkit.css">
21
- <script src="@zoom/videosdk-ui-toolkit/index.js" type="module"></script>
20
+ <link rel="stylesheet" href="https://source.zoom.us/uitoolkit/{VERSION}/videosdk-ui-toolkit.css" />
21
+ <script src="https://source.zoom.us/uitoolkit/{VERSION}/videosdk-ui-toolkit.min.umd.js">
22
+ const uitoolkit = window.UIToolkit;
23
+ </script>
24
+ ```
25
+
26
+ or
27
+
28
+ ```html
29
+ <link rel="stylesheet" href="https://source.zoom.us/uitoolkit/{VERSION}/videosdk-ui-toolkit.css" />
30
+ <script type="module">
31
+ import uitoolkit from "https://source.zoom.us/uitoolkit/{VERSION}/videosdk-ui-toolkit.min.esm.js";
32
+ </script>
22
33
  ```
23
34
 
24
35
  ## Setup
@@ -26,8 +37,8 @@ Or, for Vanilla JS applications, download the package and add it to your project
26
37
  For webpack / single page applications like Angular, Vue, React, etc, import the UI toolkit, package and styles:
27
38
 
28
39
  ```js
29
- import uitoolkit from '@zoom/videosdk-ui-toolkit'
30
- import '@zoom/videosdk-ui-toolkit/dist/videosdk-ui-toolkit.css'
40
+ import uitoolkit from "@zoom/videosdk-ui-toolkit";
41
+ import "@zoom/videosdk-ui-toolkit/dist/videosdk-ui-toolkit.css";
31
42
  ```
32
43
 
33
44
  In Angular, CSS can't be imported directly into the component, instead, add the styles to your `angular.json` file in the styles array:
@@ -41,13 +52,11 @@ In Angular, CSS can't be imported directly into the component, instead, add the
41
52
  Or, for Vanilla JS applications, import the JS file directly:
42
53
 
43
54
  ```js
44
- import uitoolkit from './@zoom/videosdk-ui-toolkit/index.js'
55
+ import uitoolkit from "./@zoom/videosdk-ui-toolkit/index.js";
45
56
  ```
46
57
 
47
58
  > [JS imports](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules#applying_the_module_to_your_html) work if your script tag has the `type="module"` attribute.
48
59
 
49
- > UI toolkit CDN is coming soon to make vanilla JS usage easier.
50
-
51
60
  ## Usage
52
61
 
53
62
  ### Join Session
@@ -55,91 +64,54 @@ import uitoolkit from './@zoom/videosdk-ui-toolkit/index.js'
55
64
  To join a Video SDK session, create an HTML container that it will be rendered in:
56
65
 
57
66
  ```html
58
- <div id='sessionContainer'></div>
67
+ <div id="sessionContainer"></div>
59
68
  ```
60
69
 
61
70
  Create your Video SDK session config object, with your [Video SDK JWT](https://developers.zoom.us/docs/video-sdk/auth/), and [Video SDK session info](https://developers.zoom.us/docs/video-sdk/web/sessions/#prerequisites), the features you want to render, and any options you want to specify.
62
71
 
63
72
  ```js
64
73
  var config = {
65
- videoSDKJWT: '',
66
- sessionName: 'SessionA',
67
- userName: 'UserA',
68
- sessionPasscode: 'abc123',
69
- streamUrl: 'rtmp://a.rtmp.siteofyourchoice.com',
70
- streamKey: 'xxxx-xxxx-xxxx-xxxx',
71
- broadcastUrl: 'https://studio.siteofyourchoice.com/livestreaming',
72
- crDisclaimer: 'Cloud recording disclaimer for the UIToolkit to prompt',
73
- lttDisclaimer: 'Live Transscription and Translation disclaimer for the UIToolkit to prompt',
74
- livestreamDisclaimer: 'Live streaming disclaimer for the UIToolkit to prompt',
75
- disableCaptionsOnJoin: true,
76
- features: ['preview', 'video', 'audio', 'share', 'chat', 'users', 'livestream', 'pstn', 'ltt', 'recording', 'settings', 'feedback'],
77
- options: { init: {}, audio: {}, video: {}, share: {}},
78
- virtualBackground: {
79
- allowVirtualBackground: true,
80
- allowVirtualBackgroundUpload: true,
81
- virtualBackgrounds: ['https://images.unsplash.com/photo-1715490187538-30a365fa05bd?q=80&w=1945&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D']
82
- }
83
- }
84
- ```
85
-
86
- If you pass a string to the config object disclaimers(cr, ltt, and livestream), you are telling the UIToolkit that it will handle prompting the disclaimers passed when the corresponding event triggers. If you leave the fields empty, the developer is responsible for the disclaimer UI and the prompting these disclaimers when the event is triggered. You can listen for these events and pass in a callback via the code below:
87
-
88
- ```js
89
- const client = ZoomVideo.createClient();
90
-
91
- client.on('recording-change', () => {});
92
- client.on('caption-status', () => {});
93
- client.on('live-stream-status', () => {});
74
+ videoSDKJWT: "",
75
+ sessionName: "SessionA",
76
+ userName: "UserA",
77
+ sessionPasscode: "abc123",
78
+ };
94
79
  ```
95
80
 
96
- Because the VideoClient follows the singleton pattern, you can call createClient() to retrieve the same client object the UIToolKit uses to control the underlying Zoom Video SDK. You can then utilize any functions offered by the base Zoom Video SDK. Please note, that certain components in the UIToolKit depend on state stored and passed within its underlying components so calling certain functions outside of the UIToolKit can introduce unexpected behavior in the UI.
97
-
98
-
99
-
100
81
  Currently, we support the following features:
101
82
 
102
- | `features[]` | Description |
103
- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
104
- | `preview` | Enables the preview flow, let's the end user choose their preferred video, microphone, speaker, and background before joining the session. |
105
- | `video` | Enable the video layout, and to send and receive video. |
106
- | `audio` | Show the audio button on the toolbar, and to send and receive audio. |
107
- | `share` | Show the screen share button on the toolbar, and to send and receive screen share content. |
108
- | `chat` | Show the chat button on the toolbar, and to send and receive session chats. |
109
- | `livestream` | Show the livestream button on the toolbar to start or end a livestream. |
110
- | `users` | Show the users button on the toolbar, and to see the list of users in the session. |
111
- | `pstn` | Show the invite by phone feature in the users interface. |
112
- | `crc` | Show the invite by SIP feature in the users interface. |
113
- | `ltt` | Show the Live Transcription button on the toolbar. The user can start transcription and hide or show the captions. |
114
- | `recording` | Show the Cloud Recording button on the toolbar. |
115
- | `settings` | Show the settings button on the toolbar, and to configure virtual background, camera, microphone, and speaker devices, and see session quality statistics. |
116
- | `feedback` | Show the feedback flow after the session is left or ended. The user can rate the session (1-5 stars) and report feedback to Zoom. |
117
-
118
- We also support setting specific properties for the Video SDK [init](https://marketplacefront.zoom.us/sdk/custom/web/interfaces/InitOptions.html), [audio](https://marketplacefront.zoom.us/sdk/custom/web/interfaces/AudioOption.html), [video](https://marketplacefront.zoom.us/sdk/custom/web/interfaces/CaptureVideoOption.html), and [share](https://marketplacefront.zoom.us/sdk/custom/web/interfaces/ScreenShareOption.html) options.
119
-
120
- | `options{}` | Properties | Default | Description |
121
- | ----------- | ------------------------------------------------------------------------------------------------ | ----------------------------------------------- | ----------- |
122
- | `init` | `enforceMultipleVideos` <br> `enforceVirtualBackground` <br> `webEndpoint` | `false` <br> `false` <br> `zoom.us` | Enables [rendering multiple videos](https://developers.zoom.us/docs/video-sdk/web/video/#render-multiple-participant-videos) if [SharedArrayBuffer](https://developers.zoom.us/docs/video-sdk/web/sharedarraybuffer/) is off. <br> Enables [virtual background](https://developers.zoom.us/docs/video-sdk/web/video/#use-virtual-background) if [SharedArrayBuffer](https://developers.zoom.us/docs/video-sdk/web/sharedarraybuffer/) is off. <br> Specifies the Zoom real-time media environment. |
123
- | `audio` | `backgroundNoiseSuppression` <br> `originalSound` <br> `syncButtonsOnHeadset` | `true` <br> `false` <br> `false` | Zoom's AI background noise suppression. <br> Sends sound exactly as it's captured (opposite of background noise suppression). <br> Enables headset buttons like mute/unmute to work within [supported browsers](https://caniuse.com/webhid). |
124
- | `video` | `originalRatio` <br> `virtualBackground` | `true` <br> `false` <br> `true` <br> `null` | Sends video exactly as it's captured. If false, Zoom crops it to 16:9. <br> Sets a default virtual background for the user. |
125
- | `share` | `controls` <br> `displaySurface` <br> `hideShareAudioOption` <br> `optimizedForSharedVideo` | `null` <br> `null` <br> `false` <br> `false` | Enables configuring specific content to share within [supported browsers](https://caniuse.com/mdn-api_mediadevices_getdisplaymedia_controller_option) <br> Enables configuring specific share surfaces within [supported browsers](https://caniuse.com/mdn-api_mediadevices_getdisplaymedia_monitortypesurfaces_option). <br> Enables or disables the share computer audio option within [supported browsers](https://caniuse.com/mdn-api_mediadevices_getdisplaymedia_systemaudio_option). <br> Prioritizes frame rate over resolution for better screen sharing of videos. |
126
-
127
- > You may notice some options irrelevant for the UI Toolkit use case are not exposed (for example [`skipJsMedia`](https://marketplacefront.zoom.us/sdk/custom/web/interfaces/InitOptions.html#skipJsMedia) and [`alternativeNameForVideoPlayer`](https://marketplacefront.zoom.us/sdk/custom/web/interfaces/InitOptions.html#alternativeNameForVideoPlayer)), or are defaulted on (for example [`leaveOnPageUnload`](https://marketplacefront.zoom.us/sdk/custom/web/interfaces/InitOptions.html#leaveOnPageUnload) and [`patchJsMedia`](https://marketplacefront.zoom.us/sdk/custom/web/interfaces/InitOptions.html#patchJsMedia)) with no option to change them. For feedback or requests relating to exposing additional [`init`](https://marketplacefront.zoom.us/sdk/custom/web/modules/VideoClient.html#init), [`audio`](https://marketplacefront.zoom.us/sdk/custom/web/modules/Stream.html#startAudio), [`video`](https://marketplacefront.zoom.us/sdk/custom/web/modules/Stream.html#startVideo), and [`share`](https://marketplacefront.zoom.us/sdk/custom/web/modules/Stream.html#startShareScreen) options from the Video SDK, please [share your use case here](https://github.com/zoom/videosdk-ui-toolkit-web/issues).
128
-
129
- Virtual backgrounds can also be configured further like providing a list of available backgrounds, allowing the user to upload their own background, or disabling virtual backgrounds completely. To set a default, specific virtual background for a user, use the `options` -> `video` -> `virtualBackground` approach mentioned above.
130
-
131
- | `virtualBackground{}` | Default | Description |
132
- | ------------------------------ | ----------- | ----------------------------------------------------------------------------- |
133
- | `allowVirtualBackground` | `true` | Enables users to choose their virtual background from the `backgrounds` list. |
134
- | `allowVirtualBackgroundUpload` | `true` | Enables users to upload their own virtual background. |
135
- | `virtualBackgrounds` | `[]` | Sets the list of available virtual backgrounds. |
136
-
137
- After you have configured your session, call the `uitoolkit.joinSession` function, passing in the container reference, and the Video SDK session config object:
83
+ | `featuresOptions[]` | Description |
84
+ | ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
85
+ | `preview` | Enable the preview flow, lets the end user choose their preferred video, microphone, speaker, and background before joining the session. |
86
+ | `video` | Enable the video layout, and to send and receive video. |
87
+ | `audio` | Show the audio button on the toolbar, and to send and receive audio. |
88
+ | `share` | Show the screen share button on the toolbar, and to send and receive screen share content. |
89
+ | `chat` | Show the chat button on the toolbar, and to send and receive session chats. |
90
+ | `users` | Show the users button on the toolbar, and to see the list of users in the session. |
91
+ | `settings` | Show the settings button on the toolbar, and to configure virtual background, camera, microphone, and speaker devices, and see session quality statistics. |
92
+ | `recording` | Show the button for cloud recording (Requires a paid plan). |
93
+ | `phone` | Show the options of joining the session by phone (Requires a paid plan). |
94
+ | `invite` | Show the invite options to the session by invite link |
95
+ | `theme` | Show the options in the settings panel to select theme color. |
96
+ | `viewMode` | Show the options to choose view modes. |
97
+ | `feedback` | Show session experience feedback after the session ends. |
98
+ | `troubleshoot` | Show the troubleshooting settings tab using [Zoom Probe SDK](https://www.npmjs.com/package/@zoom/probesdk). |
99
+ | `caption` | Show the in-session translations (Requires a paid plan). |
100
+ | `playback` | Show media file playback options in the settings panel. |
101
+ | `subsession` | Show button for subsession. |
102
+ | `leave` | Show button for end session or leave. |
103
+ | `virtualBackground` | Show options for the virtual background in the settings panel. |
104
+ | `footer` | Show footer UI with buttons for the session |
105
+ | `header` | Show the session header UI. |
106
+
107
+ See [index.d.ts](index.d.ts) for more `featuresOptions` details.
108
+
109
+ After configuring your session, call the `uitoolkit.joinSession` function, passing in the container reference, and the Video SDK session config object:
138
110
 
139
111
  ```js
140
- var sessionContainer = document.getElementById('sessionContainer')
141
-
142
- uitoolkit.joinSession(sessionContainer, config)
112
+ var sessionContainer = document.getElementById("sessionContainer");
113
+ // const newConfig = uitoolkit.migrateConfig(config); if use migrate config from old version(<2.1.10)
114
+ uitoolkit.joinSession(sessionContainer, newConfig);
143
115
  ```
144
116
 
145
117
  ### Leave Session
@@ -149,37 +121,37 @@ To leave a Video SDK session, the user can click the red leave button. The host
149
121
  You can also leave a session programmatically by calling the `uitoolkit.closeSession` function:
150
122
 
151
123
  ```js
152
- uitoolkit.closeSession(sessionContainer)
124
+ uitoolkit.closeSession(sessionContainer);
153
125
  ```
154
126
 
155
127
  ### Event Listeners
156
128
 
157
- To subscribe to event listeners, define a callback function that you want to execute when the respective event is triggered:
129
+ To subscribe to event listeners, define a callback function to execute when the respective event is triggered:
158
130
 
159
131
  ```js
160
- var sessionJoined = (() => {
161
- console.log('session joined')
162
- })
132
+ var sessionJoined = () => {
133
+ console.log("session joined");
134
+ };
163
135
 
164
- var sessionClosed = (() => {
165
- console.log('session closed')
166
- })
136
+ var sessionClosed = () => {
137
+ console.log("session closed");
138
+ };
167
139
  ```
168
140
 
169
141
  Then, pass the callback function to the respective **on** event listener (after calling the `uitoolkit.joinSession` function).
170
142
 
171
143
  ```js
172
- uitoolkit.onSessionJoined(sessionJoined)
144
+ uitoolkit.onSessionJoined(sessionJoined);
173
145
 
174
- uitoolkit.onSessionClosed(sessionClosed)
146
+ uitoolkit.onSessionClosed(sessionClosed);
175
147
  ```
176
148
 
177
149
  To unsubscribe to event listeners, pass the callback function to the respective **off** event listener.
178
150
 
179
151
  ```js
180
- uitoolkit.offSessionJoined(sessionJoined)
152
+ uitoolkit.offSessionJoined(sessionJoined);
181
153
 
182
- uitoolkit.offSessionClosed(sessionClosed)
154
+ uitoolkit.offSessionClosed(sessionClosed);
183
155
  ```
184
156
 
185
157
  Currently, we support the following event listeners:
@@ -191,41 +163,12 @@ Currently, we support the following event listeners:
191
163
  | `offSessionJoined` | Unsubscribes to the `onSessionJoined` event. |
192
164
  | `offSessionClosed` | Unsubscribes to the `onSessionClosed` event. |
193
165
 
194
- ## Build with UI Toolkit components
195
-
196
- Zoom's UI Toolkit now offers Developers powerful built-in components that are ready to use. Currently, we offer the following components:
197
-
198
- | Component | Description |
199
- | ---------- | --------------------------------------------------- |
200
- | `uitoolkit-components` | Gives UI Toolkit components access to Video SDK session and context. |
201
- | `controls-component` | Enables users to envoke actions such as muting, starting video, screen sharing, and more. |
202
- | `video-component` | Displays user videos and screen sharing. |
203
- | `chat-component` | Displays session and 1:1 chat messages. |
204
- | `users-component` | Displays the list of users in a session and allows hosts to moderate the session. |
205
- | `settings-component` | Displays the session settings and allows users to configure virtual background, camera, microphone, and speaker devices, and see session quality statistics. |
206
-
207
- ### Show UI Toolkit components
208
-
209
- When building with UI Toolkit components, the `uitoolkit-components` component is a required wrapper around the UI Toolkit components. To begin, create an HTML container that it will be rendered in:
210
-
211
- ```html
212
- <div id='uitoolkitContainer'></div>
213
- ```
214
-
215
- Then, call the `uitoolkit.showUitoolkitComponents` function, passing in the container reference, and the Video SDK session config object:
216
-
217
- ```js
218
- var uitoolkitContainer = document.getElementById('uitoolkitContainer')
219
-
220
- uitoolkit.showUitoolkitComponents(uitoolkitContainer, config)
221
- ```
222
-
223
166
  ### Hide UI Toolkit components
224
167
 
225
- To close the wrapper, call the `uitoolkit.hideUiToolkitComponents` function while passing in the container reference:
168
+ To close the wrapper, call the `uitoolkit.hideAllComponents` function while passing in the container reference:
226
169
 
227
170
  ```js
228
- uitoolkit.hideUiToolkitComponents(providerContainer)
171
+ uitoolkit.hideAllComponents();
229
172
  ```
230
173
 
231
174
  ### Show the controls component
@@ -234,17 +177,17 @@ The controls component is a required component that enables users to control the
234
177
  To render the controls component, create and HTML container and pass it into the `uitoolkit.showControlsComponent` function:
235
178
 
236
179
  ```html
237
- <div id='uitoolkitContainer'>
180
+ <div id="uitoolkitContainer">
238
181
  ...
239
- <div id='controlsContainer'></div>
182
+ <div id="controlsContainer"></div>
240
183
  ...
241
184
  </div>
242
185
  ```
243
186
 
244
187
  ```js
245
- var controlsContainer = document.getElementById('controlsContainer')
188
+ var controlsContainer = document.getElementById("controlsContainer");
246
189
 
247
- uitoolkit.showControlsComponent(controlsContainer)
190
+ uitoolkit.showControlsComponent(controlsContainer);
248
191
  ```
249
192
 
250
193
  ### Hide the controls component
@@ -252,33 +195,7 @@ uitoolkit.showControlsComponent(controlsContainer)
252
195
  To close the Control Bar Component, call the `uitoolkit.hideControlsComponent` function while passing in the container reference:
253
196
 
254
197
  ```js
255
- uitoolkit.hideControlsComponent(controlsContainer)
256
- ```
257
-
258
- ### Show the video component
259
-
260
- To render the video component, create and HTML container and pass it into the `uitoolkit.showVideoComponent` function:
261
-
262
- ```html
263
- <div id='uitoolkitContainer'>
264
- ...
265
- <div id='videoContainer'></div>
266
- ...
267
- </div>
268
- ```
269
-
270
- ```js
271
- var videoContainer = document.getElementById('videoContainer')
272
-
273
- uitoolkit.showVideoComponent(videoContainer)
274
- ```
275
-
276
- ### Hide the video component
277
-
278
- To close the video component, call the `uitoolkit.hideVideoComponent` function while passing in the container reference:
279
-
280
- ```js
281
- uitoolkit.hideVideoComponent(videoContainer)
198
+ uitoolkit.hideControlsComponent(controlsContainer);
282
199
  ```
283
200
 
284
201
  ### Show the chat component
@@ -286,17 +203,17 @@ uitoolkit.hideVideoComponent(videoContainer)
286
203
  To render the Chatkit, create and HTML container and pass it into the `uitoolkit.showChatComponent` function:
287
204
 
288
205
  ```html
289
- <div id='uitoolkitContainer'>
206
+ <div id="uitoolkitContainer">
290
207
  ...
291
- <div id='chatContainer'></div>
208
+ <div id="chatContainer"></div>
292
209
  ...
293
210
  </div>
294
211
  ```
295
212
 
296
213
  ```js
297
- var chatContainer = document.getElementById('chatContainer')
214
+ var chatContainer = document.getElementById("chatContainer");
298
215
 
299
- uitoolkit.showChatComponent(chatContainer)
216
+ uitoolkit.showChatComponent(chatContainer);
300
217
  ```
301
218
 
302
219
  ### Hide the chat component
@@ -304,7 +221,7 @@ uitoolkit.showChatComponent(chatContainer)
304
221
  To close the chat component, call the `uitoolkit.hideChatComponent` function while passing in the container reference:
305
222
 
306
223
  ```js
307
- uitoolkit.hideChatComponent(chatContainer)
224
+ uitoolkit.hideChatComponent(chatContainer);
308
225
  ```
309
226
 
310
227
  ### Show the users component
@@ -312,17 +229,17 @@ uitoolkit.hideChatComponent(chatContainer)
312
229
  To render the users component, create and HTML container and pass it into the `uitoolkit.showUsersComponent` function:
313
230
 
314
231
  ```html
315
- <div id='uitoolkitContainer'>
232
+ <div id="uitoolkitContainer">
316
233
  ...
317
- <div id='usersContainer'></div>
234
+ <div id="usersContainer"></div>
318
235
  ...
319
236
  </div>
320
237
  ```
321
238
 
322
239
  ```js
323
- var usersContainer = document.getElementById('usersContainer')
240
+ var usersContainer = document.getElementById("usersContainer");
324
241
 
325
- uitoolkit.showUsersComponent(usersContainer)
242
+ uitoolkit.showUsersComponent(usersContainer);
326
243
  ```
327
244
 
328
245
  ### Hide the users component
@@ -330,7 +247,7 @@ uitoolkit.showUsersComponent(usersContainer)
330
247
  To close the users component, call the `uitoolkit.hideUsersComponent` function while passing in the container reference:
331
248
 
332
249
  ```js
333
- uitoolkit.hideUsersComponent(usersContainer)
250
+ uitoolkit.hideUsersComponent(usersContainer);
334
251
  ```
335
252
 
336
253
  ### Show the settings component
@@ -338,17 +255,17 @@ uitoolkit.hideUsersComponent(usersContainer)
338
255
  To render the settings component, create and HTML container and pass it into the `uitoolkit.showSettingsComponent` function:
339
256
 
340
257
  ```html
341
- <div id='uitoolkitContainer'>
258
+ <div id="uitoolkitContainer">
342
259
  ...
343
- <div id='settingsContainer'></div>
260
+ <div id="settingsContainer"></div>
344
261
  ...
345
262
  </div>
346
263
  ```
347
264
 
348
265
  ```js
349
- var settingsContainer = document.getElementById('settingsContainer')
266
+ var settingsContainer = document.getElementById("settingsContainer");
350
267
 
351
- uitoolkit.showSettingsComponent(settingsContainer)
268
+ uitoolkit.showSettingsComponent(settingsContainer);
352
269
  ```
353
270
 
354
271
  ### Hide the settings component
@@ -356,7 +273,7 @@ uitoolkit.showSettingsComponent(settingsContainer)
356
273
  To close the settings component, call the `uitoolkit.hideSettingsComponent` function while passing in the container reference:
357
274
 
358
275
  ```js
359
- uitoolkit.hideSettingsComponent(settingsContainer)
276
+ uitoolkit.hideSettingsComponent(settingsContainer);
360
277
  ```
361
278
 
362
279
  ### Cleaning up the session
@@ -364,17 +281,10 @@ uitoolkit.hideSettingsComponent(settingsContainer)
364
281
  Once your session has ended, we recommend properly cleaning up the UI Toolkit so users can join subsequent sessions. You can easily do this by using the `onSessionClosed` event listener. Simply call each component's respective hide function to properly remove each component from the DOM. See the following code snippet for an example:
365
282
 
366
283
  ```js
367
- ...
368
284
  uitoolkit.onSessionClosed(sessionClosed)
369
- ...
370
285
 
371
286
  function sessionClosed {
372
- uitoolkit.hideSettingsComponent(settingsContainer)
373
- uitoolkit.hideUsersComponent(usersContainer)
374
- uitoolkit.hideControlsComponent(controlsContainer)
375
- uitoolkit.hideVideoComponent(videoContainer)
376
- uitoolkit.hideChatComponent(chatContainer)
377
- uitoolkit.hideUitoolkitComponents(sessionContainer)
287
+ uitoolkit.closeSession(sessionContainer)
378
288
  }
379
289
  ```
380
290
 
@@ -389,4 +299,4 @@ Once your session has ended, we recommend properly cleaning up the UI Toolkit so
389
299
 
390
300
  ## Need help?
391
301
 
392
- If you're looking for help, try [Developer Support](https://devsupport.zoom.us) or our [Developer Forum](https://devforum.zoom.us). Priority support is also available with [Premier Developer Support](https://zoom.us/docs/en-us/developer-support-plans.html) plans.
302
+ If you're looking for help, try [Developer Support](https://developers.zoom.us/support/) or our [Developer Forum](https://devforum.zoom.us). Priority support is also available with [Premier Developer Support](https://explore.zoom.us/en/support-plans/developer/) plans.
Binary file
Binary file
Binary file
Binary file
Binary file