@cloudflare/realtimekit-angular-ui 1.0.3 → 1.0.4-staging.2
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/dist/README.md +106 -0
- package/dist/esm2020/lib/stencil-generated/components.mjs +4 -4
- package/dist/fesm2015/cloudflare-realtimekit-angular-ui.mjs +3 -3
- package/dist/fesm2015/cloudflare-realtimekit-angular-ui.mjs.map +1 -1
- package/dist/fesm2020/cloudflare-realtimekit-angular-ui.mjs +3 -3
- package/dist/fesm2020/cloudflare-realtimekit-angular-ui.mjs.map +1 -1
- package/dist/lib/stencil-generated/components.d.ts +5 -3
- package/package.json +22 -6
package/dist/README.md
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# RealtimeKit UI
|
|
2
|
+
|
|
3
|
+
**RealtimeKit UI** provides pre-built, ready-to-use UI components for integrating with [Cloudflare RealtimeKit](https://npmjs.com/package/@cloudflare/realtimekit).
|
|
4
|
+
|
|
5
|
+
If you're using a specific framework (or no framework - see HTML), we also offer dedicated packages:
|
|
6
|
+
|
|
7
|
+
- [React](https://npmjs.com/package/@cloudflare/realtimekit-react-ui)
|
|
8
|
+
- [HTML (Web Components)](https://npmjs.com/package/@cloudflare/realtimekit-ui)
|
|
9
|
+
|
|
10
|
+
## Usage
|
|
11
|
+
|
|
12
|
+
First, install RealtimeKit UI along with [RealtimeKit](https://npmjs.com/package/@cloudflare/realtimekit):
|
|
13
|
+
|
|
14
|
+
> `@cloudflare/realtimekit` is the core package that offers APIs to handle meetings in the client side.
|
|
15
|
+
> You use it to access and perform actions in a meeting.
|
|
16
|
+
|
|
17
|
+
```sh
|
|
18
|
+
npm i @cloudflare/realtimekit-ui @cloudflare/realtimekit
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Then you'll need to initialize a meeting object once you've received an `authToken` of a participant from your APIs.
|
|
22
|
+
|
|
23
|
+
> You call the RealtimeKit Add Participant API from your own backend API to get this `authToken`
|
|
24
|
+
> to use with RealtimeKit.
|
|
25
|
+
|
|
26
|
+
```js
|
|
27
|
+
import RealtimeKitClient from '@cloudflare/realtimekit';
|
|
28
|
+
|
|
29
|
+
const meeting = await RealtimeKitClient.init({
|
|
30
|
+
authToken: '<your-auth-token>',
|
|
31
|
+
defaults: {
|
|
32
|
+
video: true,
|
|
33
|
+
audio: true,
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### Simple Usage
|
|
39
|
+
|
|
40
|
+
Load the component in your template file (component.html):
|
|
41
|
+
|
|
42
|
+
```html
|
|
43
|
+
<rtk-meeting #myid></rtk-meeting>
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Then initialize and pass the meeting object to the component:
|
|
47
|
+
|
|
48
|
+
```tsx
|
|
49
|
+
import { RtkMeeting } from '@cloudflare/realtimekit-ui';
|
|
50
|
+
import RealtimeKitClient from '@cloudflare/realtimekit';
|
|
51
|
+
|
|
52
|
+
class AppComponent {
|
|
53
|
+
title = 'MyProject';
|
|
54
|
+
@ViewChild('myid') meetingComponent: RtkMeeting;
|
|
55
|
+
rtkMeeting: RtkClient;
|
|
56
|
+
|
|
57
|
+
async ngAfterViewInit() {
|
|
58
|
+
const meeting = await RealtimeKitClient.init({
|
|
59
|
+
authToken: '<auth-token>',
|
|
60
|
+
defaults: {
|
|
61
|
+
video: true,
|
|
62
|
+
audio: true,
|
|
63
|
+
},
|
|
64
|
+
});
|
|
65
|
+
meeting.joinRoom();
|
|
66
|
+
this.rtkMeeting = meeting;
|
|
67
|
+
if (this.meetingComponent) this.meetingComponent.meeting = meeting;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### Using RtkUiProvider
|
|
73
|
+
|
|
74
|
+
If you wish to use individual UI components to build your desired UI, you can use the `RtkUiProvider` component to provide the meeting instance to all child components to make development easier.
|
|
75
|
+
|
|
76
|
+
```html
|
|
77
|
+
<rtk-ui-provider #myid>
|
|
78
|
+
<rtk-simple-grid />
|
|
79
|
+
</rtk-ui-provider>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Then initialize and pass the meeting object to the component:
|
|
83
|
+
|
|
84
|
+
```tsx
|
|
85
|
+
import { RtkMeeting } from '@cloudflare/realtimekit-ui';
|
|
86
|
+
import RealtimeKitClient from '@cloudflare/realtimekit';
|
|
87
|
+
|
|
88
|
+
class AppComponent {
|
|
89
|
+
title = 'MyProject';
|
|
90
|
+
@ViewChild('myid') uiProvider: RtkUiProvider;
|
|
91
|
+
rtkMeeting: RtkClient;
|
|
92
|
+
|
|
93
|
+
async ngAfterViewInit() {
|
|
94
|
+
const meeting = await RealtimeKitClient.init({
|
|
95
|
+
authToken: '<auth-token>',
|
|
96
|
+
defaults: {
|
|
97
|
+
video: true,
|
|
98
|
+
audio: true,
|
|
99
|
+
},
|
|
100
|
+
});
|
|
101
|
+
meeting.joinRoom();
|
|
102
|
+
this.rtkMeeting = meeting;
|
|
103
|
+
if (this.uiProvider) this.uiProvider.meeting = meeting;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
```
|