@whereby.com/react-native-sdk 0.1.0 → 0.2.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.
@@ -10,24 +10,197 @@ var _jsxRuntime = require("react/jsx-runtime");
10
10
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
11
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
12
12
  const WherebyEmbed = exports.WherebyEmbed = /*#__PURE__*/React.forwardRef(({
13
- roomUrl,
14
- queryParams,
13
+ room,
15
14
  ...props
16
15
  }, ref) => {
17
- const url = queryParams ? `${roomUrl}?${queryParams}` : roomUrl;
16
+ const roomUrl = new URL(room);
17
+ Object.entries({
18
+ ...(props.displayName && {
19
+ displayName: props.displayName
20
+ }),
21
+ ...(props.lang && {
22
+ lang: props.lang
23
+ }),
24
+ ...(props.metadata && {
25
+ metadata: props.metadata
26
+ }),
27
+ ...(props.emojiSkinTone && {
28
+ emojiSkinTone: props.emojiSkinTone
29
+ }),
30
+ ...(props.externalId && {
31
+ externalId: props.externalId
32
+ }),
33
+ ...(props.groups && {
34
+ groups: props.groups
35
+ }),
36
+ ...(props.virtualBackgroundUrl && {
37
+ virtualBackgroundUrl: props.virtualBackgroundUrl
38
+ }),
39
+ ...(props.avatarUrl && {
40
+ avatarUrl: props.avatarUrl
41
+ }),
42
+ ...(props.cameraEffect && {
43
+ cameraEffect: props.cameraEffect
44
+ }),
45
+ // the original ?embed name was confusing, so we give minimal
46
+ ...(props.minimal != null && {
47
+ embed: props.minimal
48
+ }),
49
+ ...(props.aec != null && {
50
+ aec: props.aec
51
+ }),
52
+ ...(props.agc != null && {
53
+ agc: props.agc
54
+ }),
55
+ ...(props.audio != null && {
56
+ audio: props.audio
57
+ }),
58
+ ...(props.audioDenoiser != null && {
59
+ audioDenoiser: props.audioDenoiser
60
+ }),
61
+ ...(props.autoHideSelfView != null && {
62
+ autoHideSelfView: props.autoHideSelfView
63
+ }),
64
+ ...(props.autoSpotlight != null && {
65
+ autoSpotlight: props.autoSpotlight
66
+ }),
67
+ ...(props.background != null && {
68
+ background: props.background
69
+ }),
70
+ ...(props.bottomToolbar != null && {
71
+ bottomToolbar: props.bottomToolbar
72
+ }),
73
+ ...(props.breakout != null && {
74
+ breakout: props.breakout
75
+ }),
76
+ ...(props.callQualityMonitoring != null && {
77
+ callQualityMonitoring: props.callQualityMonitoring
78
+ }),
79
+ ...(props.cameraAccess != null && {
80
+ cameraAccess: props.cameraAccess
81
+ }),
82
+ ...(props.cameraEffect != null && {
83
+ cameraEffect: props.cameraEffect
84
+ }),
85
+ ...(props.chat != null && {
86
+ chat: props.chat
87
+ }),
88
+ ...(props.displayName != null && {
89
+ displayName: props.displayName
90
+ }),
91
+ ...(props.emptyRoomInvitation != null && {
92
+ emptyRoomInvitation: props.emptyRoomInvitation
93
+ }),
94
+ ...(props.emojiSkinTone != null && {
95
+ emojiSkinTone: props.emojiSkinTone
96
+ }),
97
+ ...(props.externalId != null && {
98
+ externalId: props.externalId
99
+ }),
100
+ ...(props.floatSelf != null && {
101
+ floatSelf: props.floatSelf
102
+ }),
103
+ ...(props.groups != null && {
104
+ groups: props.groups
105
+ }),
106
+ ...(props.help != null && {
107
+ help: props.help
108
+ }),
109
+ ...(props.lang != null && {
110
+ lang: props.lang
111
+ }),
112
+ ...(props.leaveButton != null && {
113
+ leaveButton: props.leaveButton
114
+ }),
115
+ ...(props.locking != null && {
116
+ locking: props.locking
117
+ }),
118
+ ...(props.localization != null && {
119
+ localization: props.localization
120
+ }),
121
+ ...(props.logo != null && {
122
+ logo: props.logo
123
+ }),
124
+ ...(props.lowData != null && {
125
+ lowData: props.lowData
126
+ }),
127
+ ...(props.moreButton != null && {
128
+ moreButton: props.moreButton
129
+ }),
130
+ ...(props.participantCount != null && {
131
+ participantCount: props.participantCount
132
+ }),
133
+ ...(props.people != null && {
134
+ people: props.people
135
+ }),
136
+ ...(props.pipButton != null && {
137
+ pipButton: props.pipButton
138
+ }),
139
+ ...(props.precallCeremony != null && {
140
+ precallCeremony: props.precallCeremony
141
+ }),
142
+ ...(props.precallReview != null && {
143
+ precallReview: props.precallReview
144
+ }),
145
+ ...(props.precallPermissionsHelpLink != null && {
146
+ precallPermissionsHelpLink: props.precallPermissionsHelpLink
147
+ }),
148
+ ...(props.precallCeremonyCanSkip != null && {
149
+ precallCeremonyCanSkip: props.precallCeremonyCanSkip
150
+ }),
151
+ ...(props.reactions != null && {
152
+ reactions: props.reactions
153
+ }),
154
+ ...(props.recording != null && {
155
+ recording: props.recording
156
+ }),
157
+ ...(props.roomIntegrations != null && {
158
+ roomIntegrations: props.roomIntegrations
159
+ }),
160
+ ...(props.settingsButton != null && {
161
+ settingsButton: props.settingsButton
162
+ }),
163
+ ...(props.screenshare != null && {
164
+ screenshare: props.screenshare
165
+ }),
166
+ ...(props.skipMediaPermissionPrompt != null && {
167
+ skipMediaPermissionPrompt: props.skipMediaPermissionPrompt
168
+ }),
169
+ ...(props.subgridLabels != null && {
170
+ subgridLabels: props.subgridLabels
171
+ }),
172
+ ...(props.timer != null && {
173
+ timer: props.timer
174
+ }),
175
+ ...(props.title != null && {
176
+ title: props.title
177
+ }),
178
+ ...(props.toolbarDarkText != null && {
179
+ toolbarDarkText: props.toolbarDarkText
180
+ }),
181
+ ...(props.topToolbar != null && {
182
+ topToolbar: props.topToolbar
183
+ }),
184
+ ...(props.video != null && {
185
+ video: props.video
186
+ }),
187
+ ...(props.virtualBackgroundUrl != null && {
188
+ virtualBackgroundUrl: props.virtualBackgroundUrl
189
+ })
190
+ }).forEach(([k, v]) => {
191
+ if (!roomUrl.searchParams.has(k)) {
192
+ roomUrl.searchParams.set(k, v);
193
+ }
194
+ });
18
195
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeWebview.WebView, {
19
196
  ref: ref,
20
197
  source: {
21
- uri: url
198
+ uri: roomUrl.href
22
199
  },
23
200
  startInLoadingState: true,
24
201
  originWhitelist: ["*"],
25
- mediaPlaybackRequiresUserAction: false
26
- // iOS specific:
27
- ,
28
- allowsInlineMediaPlayback: true
29
- // Android specific:
30
- ,
202
+ mediaPlaybackRequiresUserAction: false,
203
+ allowsInlineMediaPlayback: true,
31
204
  javaScriptEnabled: true,
32
205
  domStorageEnabled: true,
33
206
  ...props
@@ -1 +1 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactNativeWebview","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","WherebyEmbed","exports","forwardRef","roomUrl","queryParams","props","ref","url","jsx","WebView","source","uri","startInLoadingState","originWhitelist","mediaPlaybackRequiresUserAction","allowsInlineMediaPlayback","javaScriptEnabled","domStorageEnabled"],"sourceRoot":"../../../src","sources":["embed/index.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AAA6D,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAO7D,MAAMW,YAAY,GAAAC,OAAA,CAAAD,YAAA,gBAAGzB,KAAK,CAAC2B,UAAU,CACjC,CAAC;EAAEC,OAAO;EAAEC,WAAW;EAAE,GAAGC;AAAyB,CAAC,EAAEC,GAAG,KAAK;EAC5D,MAAMC,GAAG,GAAGH,WAAW,GAAG,GAAGD,OAAO,IAAIC,WAAW,EAAE,GAAGD,OAAO;EAE/D,oBACI,IAAAxB,WAAA,CAAA6B,GAAA,EAAC9B,mBAAA,CAAA+B,OAAO;IACJH,GAAG,EAAEA,GAAI;IACTI,MAAM,EAAE;MAAEC,GAAG,EAAEJ;IAAI,CAAE;IACrBK,mBAAmB;IACnBC,eAAe,EAAE,CAAC,GAAG,CAAE;IACvBC,+BAA+B,EAAE;IACjC;IAAA;IACAC,yBAAyB;IACzB;IAAA;IACAC,iBAAiB;IACjBC,iBAAiB;IAAA,GACbZ;EAAK,CACZ,CAAC;AAEV,CACJ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","_interopRequireWildcard","require","_reactNativeWebview","_jsxRuntime","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","WherebyEmbed","exports","forwardRef","room","props","ref","roomUrl","URL","entries","displayName","lang","metadata","emojiSkinTone","externalId","groups","virtualBackgroundUrl","avatarUrl","cameraEffect","minimal","embed","aec","agc","audio","audioDenoiser","autoHideSelfView","autoSpotlight","background","bottomToolbar","breakout","callQualityMonitoring","cameraAccess","chat","emptyRoomInvitation","floatSelf","help","leaveButton","locking","localization","logo","lowData","moreButton","participantCount","people","pipButton","precallCeremony","precallReview","precallPermissionsHelpLink","precallCeremonyCanSkip","reactions","recording","roomIntegrations","settingsButton","screenshare","skipMediaPermissionPrompt","subgridLabels","timer","title","toolbarDarkText","topToolbar","video","forEach","k","v","searchParams","jsx","WebView","source","uri","href","startInLoadingState","originWhitelist","mediaPlaybackRequiresUserAction","allowsInlineMediaPlayback","javaScriptEnabled","domStorageEnabled"],"sourceRoot":"../../../src","sources":["embed/index.tsx"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AAA6D,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAL,wBAAAK,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AA6E7D,MAAMW,YAAY,GAAAC,OAAA,CAAAD,YAAA,gBAAGzB,KAAK,CAAC2B,UAAU,CACjC,CAAC;EAAEC,IAAI;EAAE,GAAGC;AAAyB,CAAC,EAAEC,GAAG,KAAK;EAC5C,MAAMC,OAAO,GAAG,IAAIC,GAAG,CAACJ,IAAI,CAAC;EAE7BX,MAAM,CAACgB,OAAO,CAAC;IACX,IAAIJ,KAAK,CAACK,WAAW,IAAI;MAAEA,WAAW,EAAEL,KAAK,CAACK;IAAY,CAAC,CAAC;IAC5D,IAAIL,KAAK,CAACM,IAAI,IAAI;MAAEA,IAAI,EAAEN,KAAK,CAACM;IAAK,CAAC,CAAC;IACvC,IAAIN,KAAK,CAACO,QAAQ,IAAI;MAAEA,QAAQ,EAAEP,KAAK,CAACO;IAAS,CAAC,CAAC;IACnD,IAAIP,KAAK,CAACQ,aAAa,IAAI;MAAEA,aAAa,EAAER,KAAK,CAACQ;IAAc,CAAC,CAAC;IAClE,IAAIR,KAAK,CAACS,UAAU,IAAI;MAAEA,UAAU,EAAET,KAAK,CAACS;IAAW,CAAC,CAAC;IACzD,IAAIT,KAAK,CAACU,MAAM,IAAI;MAAEA,MAAM,EAAEV,KAAK,CAACU;IAAO,CAAC,CAAC;IAC7C,IAAIV,KAAK,CAACW,oBAAoB,IAAI;MAAEA,oBAAoB,EAAEX,KAAK,CAACW;IAAqB,CAAC,CAAC;IACvF,IAAIX,KAAK,CAACY,SAAS,IAAI;MAAEA,SAAS,EAAEZ,KAAK,CAACY;IAAU,CAAC,CAAC;IACtD,IAAIZ,KAAK,CAACa,YAAY,IAAI;MAAEA,YAAY,EAAEb,KAAK,CAACa;IAAa,CAAC,CAAC;IAC/D;IACA,IAAIb,KAAK,CAACc,OAAO,IAAI,IAAI,IAAI;MAAEC,KAAK,EAAEf,KAAK,CAACc;IAAQ,CAAC,CAAC;IACtD,IAAId,KAAK,CAACgB,GAAG,IAAI,IAAI,IAAI;MAAEA,GAAG,EAAEhB,KAAK,CAACgB;IAAI,CAAC,CAAC;IAC5C,IAAIhB,KAAK,CAACiB,GAAG,IAAI,IAAI,IAAI;MAAEA,GAAG,EAAEjB,KAAK,CAACiB;IAAI,CAAC,CAAC;IAC5C,IAAIjB,KAAK,CAACkB,KAAK,IAAI,IAAI,IAAI;MAAEA,KAAK,EAAElB,KAAK,CAACkB;IAAM,CAAC,CAAC;IAClD,IAAIlB,KAAK,CAACmB,aAAa,IAAI,IAAI,IAAI;MAAEA,aAAa,EAAEnB,KAAK,CAACmB;IAAc,CAAC,CAAC;IAC1E,IAAInB,KAAK,CAACoB,gBAAgB,IAAI,IAAI,IAAI;MAAEA,gBAAgB,EAAEpB,KAAK,CAACoB;IAAiB,CAAC,CAAC;IACnF,IAAIpB,KAAK,CAACqB,aAAa,IAAI,IAAI,IAAI;MAAEA,aAAa,EAAErB,KAAK,CAACqB;IAAc,CAAC,CAAC;IAC1E,IAAIrB,KAAK,CAACsB,UAAU,IAAI,IAAI,IAAI;MAAEA,UAAU,EAAEtB,KAAK,CAACsB;IAAW,CAAC,CAAC;IACjE,IAAItB,KAAK,CAACuB,aAAa,IAAI,IAAI,IAAI;MAAEA,aAAa,EAAEvB,KAAK,CAACuB;IAAc,CAAC,CAAC;IAC1E,IAAIvB,KAAK,CAACwB,QAAQ,IAAI,IAAI,IAAI;MAAEA,QAAQ,EAAExB,KAAK,CAACwB;IAAS,CAAC,CAAC;IAC3D,IAAIxB,KAAK,CAACyB,qBAAqB,IAAI,IAAI,IAAI;MAAEA,qBAAqB,EAAEzB,KAAK,CAACyB;IAAsB,CAAC,CAAC;IAClG,IAAIzB,KAAK,CAAC0B,YAAY,IAAI,IAAI,IAAI;MAAEA,YAAY,EAAE1B,KAAK,CAAC0B;IAAa,CAAC,CAAC;IACvE,IAAI1B,KAAK,CAACa,YAAY,IAAI,IAAI,IAAI;MAAEA,YAAY,EAAEb,KAAK,CAACa;IAAa,CAAC,CAAC;IACvE,IAAIb,KAAK,CAAC2B,IAAI,IAAI,IAAI,IAAI;MAAEA,IAAI,EAAE3B,KAAK,CAAC2B;IAAK,CAAC,CAAC;IAC/C,IAAI3B,KAAK,CAACK,WAAW,IAAI,IAAI,IAAI;MAAEA,WAAW,EAAEL,KAAK,CAACK;IAAY,CAAC,CAAC;IACpE,IAAIL,KAAK,CAAC4B,mBAAmB,IAAI,IAAI,IAAI;MAAEA,mBAAmB,EAAE5B,KAAK,CAAC4B;IAAoB,CAAC,CAAC;IAC5F,IAAI5B,KAAK,CAACQ,aAAa,IAAI,IAAI,IAAI;MAAEA,aAAa,EAAER,KAAK,CAACQ;IAAc,CAAC,CAAC;IAC1E,IAAIR,KAAK,CAACS,UAAU,IAAI,IAAI,IAAI;MAAEA,UAAU,EAAET,KAAK,CAACS;IAAW,CAAC,CAAC;IACjE,IAAIT,KAAK,CAAC6B,SAAS,IAAI,IAAI,IAAI;MAAEA,SAAS,EAAE7B,KAAK,CAAC6B;IAAU,CAAC,CAAC;IAC9D,IAAI7B,KAAK,CAACU,MAAM,IAAI,IAAI,IAAI;MAAEA,MAAM,EAAEV,KAAK,CAACU;IAAO,CAAC,CAAC;IACrD,IAAIV,KAAK,CAAC8B,IAAI,IAAI,IAAI,IAAI;MAAEA,IAAI,EAAE9B,KAAK,CAAC8B;IAAK,CAAC,CAAC;IAC/C,IAAI9B,KAAK,CAACM,IAAI,IAAI,IAAI,IAAI;MAAEA,IAAI,EAAEN,KAAK,CAACM;IAAK,CAAC,CAAC;IAC/C,IAAIN,KAAK,CAAC+B,WAAW,IAAI,IAAI,IAAI;MAAEA,WAAW,EAAE/B,KAAK,CAAC+B;IAAY,CAAC,CAAC;IACpE,IAAI/B,KAAK,CAACgC,OAAO,IAAI,IAAI,IAAI;MAAEA,OAAO,EAAEhC,KAAK,CAACgC;IAAQ,CAAC,CAAC;IACxD,IAAIhC,KAAK,CAACiC,YAAY,IAAI,IAAI,IAAI;MAAEA,YAAY,EAAEjC,KAAK,CAACiC;IAAa,CAAC,CAAC;IACvE,IAAIjC,KAAK,CAACkC,IAAI,IAAI,IAAI,IAAI;MAAEA,IAAI,EAAElC,KAAK,CAACkC;IAAK,CAAC,CAAC;IAC/C,IAAIlC,KAAK,CAACmC,OAAO,IAAI,IAAI,IAAI;MAAEA,OAAO,EAAEnC,KAAK,CAACmC;IAAQ,CAAC,CAAC;IACxD,IAAInC,KAAK,CAACoC,UAAU,IAAI,IAAI,IAAI;MAAEA,UAAU,EAAEpC,KAAK,CAACoC;IAAW,CAAC,CAAC;IACjE,IAAIpC,KAAK,CAACqC,gBAAgB,IAAI,IAAI,IAAI;MAAEA,gBAAgB,EAAErC,KAAK,CAACqC;IAAiB,CAAC,CAAC;IACnF,IAAIrC,KAAK,CAACsC,MAAM,IAAI,IAAI,IAAI;MAAEA,MAAM,EAAEtC,KAAK,CAACsC;IAAO,CAAC,CAAC;IACrD,IAAItC,KAAK,CAACuC,SAAS,IAAI,IAAI,IAAI;MAAEA,SAAS,EAAEvC,KAAK,CAACuC;IAAU,CAAC,CAAC;IAC9D,IAAIvC,KAAK,CAACwC,eAAe,IAAI,IAAI,IAAI;MAAEA,eAAe,EAAExC,KAAK,CAACwC;IAAgB,CAAC,CAAC;IAChF,IAAIxC,KAAK,CAACyC,aAAa,IAAI,IAAI,IAAI;MAAEA,aAAa,EAAEzC,KAAK,CAACyC;IAAc,CAAC,CAAC;IAC1E,IAAIzC,KAAK,CAAC0C,0BAA0B,IAAI,IAAI,IAAI;MAC5CA,0BAA0B,EAAE1C,KAAK,CAAC0C;IACtC,CAAC,CAAC;IACF,IAAI1C,KAAK,CAAC2C,sBAAsB,IAAI,IAAI,IAAI;MAAEA,sBAAsB,EAAE3C,KAAK,CAAC2C;IAAuB,CAAC,CAAC;IACrG,IAAI3C,KAAK,CAAC4C,SAAS,IAAI,IAAI,IAAI;MAAEA,SAAS,EAAE5C,KAAK,CAAC4C;IAAU,CAAC,CAAC;IAC9D,IAAI5C,KAAK,CAAC6C,SAAS,IAAI,IAAI,IAAI;MAAEA,SAAS,EAAE7C,KAAK,CAAC6C;IAAU,CAAC,CAAC;IAC9D,IAAI7C,KAAK,CAAC8C,gBAAgB,IAAI,IAAI,IAAI;MAAEA,gBAAgB,EAAE9C,KAAK,CAAC8C;IAAiB,CAAC,CAAC;IACnF,IAAI9C,KAAK,CAAC+C,cAAc,IAAI,IAAI,IAAI;MAAEA,cAAc,EAAE/C,KAAK,CAAC+C;IAAe,CAAC,CAAC;IAC7E,IAAI/C,KAAK,CAACgD,WAAW,IAAI,IAAI,IAAI;MAAEA,WAAW,EAAEhD,KAAK,CAACgD;IAAY,CAAC,CAAC;IACpE,IAAIhD,KAAK,CAACiD,yBAAyB,IAAI,IAAI,IAAI;MAC3CA,yBAAyB,EAAEjD,KAAK,CAACiD;IACrC,CAAC,CAAC;IACF,IAAIjD,KAAK,CAACkD,aAAa,IAAI,IAAI,IAAI;MAAEA,aAAa,EAAElD,KAAK,CAACkD;IAAc,CAAC,CAAC;IAC1E,IAAIlD,KAAK,CAACmD,KAAK,IAAI,IAAI,IAAI;MAAEA,KAAK,EAAEnD,KAAK,CAACmD;IAAM,CAAC,CAAC;IAClD,IAAInD,KAAK,CAACoD,KAAK,IAAI,IAAI,IAAI;MAAEA,KAAK,EAAEpD,KAAK,CAACoD;IAAM,CAAC,CAAC;IAClD,IAAIpD,KAAK,CAACqD,eAAe,IAAI,IAAI,IAAI;MAAEA,eAAe,EAAErD,KAAK,CAACqD;IAAgB,CAAC,CAAC;IAChF,IAAIrD,KAAK,CAACsD,UAAU,IAAI,IAAI,IAAI;MAAEA,UAAU,EAAEtD,KAAK,CAACsD;IAAW,CAAC,CAAC;IACjE,IAAItD,KAAK,CAACuD,KAAK,IAAI,IAAI,IAAI;MAAEA,KAAK,EAAEvD,KAAK,CAACuD;IAAM,CAAC,CAAC;IAClD,IAAIvD,KAAK,CAACW,oBAAoB,IAAI,IAAI,IAAI;MAAEA,oBAAoB,EAAEX,KAAK,CAACW;IAAqB,CAAC;EAClG,CAAC,CAAC,CAAC6C,OAAO,CAAC,CAAC,CAACC,CAAC,EAAEC,CAAC,CAAC,KAAK;IACnB,IAAI,CAACxD,OAAO,CAACyD,YAAY,CAAC5E,GAAG,CAAC0E,CAAC,CAAC,EAAE;MAC9BvD,OAAO,CAACyD,YAAY,CAAChE,GAAG,CAAC8D,CAAC,EAAEC,CAAC,CAAC;IAClC;EACJ,CAAC,CAAC;EAEF,oBACI,IAAAnF,WAAA,CAAAqF,GAAA,EAACtF,mBAAA,CAAAuF,OAAO;IACJ5D,GAAG,EAAEA,GAAI;IACT6D,MAAM,EAAE;MAAEC,GAAG,EAAE7D,OAAO,CAAC8D;IAAK,CAAE;IAC9BC,mBAAmB;IACnBC,eAAe,EAAE,CAAC,GAAG,CAAE;IACvBC,+BAA+B,EAAE,KAAM;IACvCC,yBAAyB;IACzBC,iBAAiB;IACjBC,iBAAiB;IAAA,GACbtE;EAAK,CACZ,CAAC;AAEV,CACJ,CAAC","ignoreList":[]}
@@ -4,24 +4,197 @@ import * as React from "react";
4
4
  import { WebView } from "react-native-webview";
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
6
6
  const WherebyEmbed = /*#__PURE__*/React.forwardRef(({
7
- roomUrl,
8
- queryParams,
7
+ room,
9
8
  ...props
10
9
  }, ref) => {
11
- const url = queryParams ? `${roomUrl}?${queryParams}` : roomUrl;
10
+ const roomUrl = new URL(room);
11
+ Object.entries({
12
+ ...(props.displayName && {
13
+ displayName: props.displayName
14
+ }),
15
+ ...(props.lang && {
16
+ lang: props.lang
17
+ }),
18
+ ...(props.metadata && {
19
+ metadata: props.metadata
20
+ }),
21
+ ...(props.emojiSkinTone && {
22
+ emojiSkinTone: props.emojiSkinTone
23
+ }),
24
+ ...(props.externalId && {
25
+ externalId: props.externalId
26
+ }),
27
+ ...(props.groups && {
28
+ groups: props.groups
29
+ }),
30
+ ...(props.virtualBackgroundUrl && {
31
+ virtualBackgroundUrl: props.virtualBackgroundUrl
32
+ }),
33
+ ...(props.avatarUrl && {
34
+ avatarUrl: props.avatarUrl
35
+ }),
36
+ ...(props.cameraEffect && {
37
+ cameraEffect: props.cameraEffect
38
+ }),
39
+ // the original ?embed name was confusing, so we give minimal
40
+ ...(props.minimal != null && {
41
+ embed: props.minimal
42
+ }),
43
+ ...(props.aec != null && {
44
+ aec: props.aec
45
+ }),
46
+ ...(props.agc != null && {
47
+ agc: props.agc
48
+ }),
49
+ ...(props.audio != null && {
50
+ audio: props.audio
51
+ }),
52
+ ...(props.audioDenoiser != null && {
53
+ audioDenoiser: props.audioDenoiser
54
+ }),
55
+ ...(props.autoHideSelfView != null && {
56
+ autoHideSelfView: props.autoHideSelfView
57
+ }),
58
+ ...(props.autoSpotlight != null && {
59
+ autoSpotlight: props.autoSpotlight
60
+ }),
61
+ ...(props.background != null && {
62
+ background: props.background
63
+ }),
64
+ ...(props.bottomToolbar != null && {
65
+ bottomToolbar: props.bottomToolbar
66
+ }),
67
+ ...(props.breakout != null && {
68
+ breakout: props.breakout
69
+ }),
70
+ ...(props.callQualityMonitoring != null && {
71
+ callQualityMonitoring: props.callQualityMonitoring
72
+ }),
73
+ ...(props.cameraAccess != null && {
74
+ cameraAccess: props.cameraAccess
75
+ }),
76
+ ...(props.cameraEffect != null && {
77
+ cameraEffect: props.cameraEffect
78
+ }),
79
+ ...(props.chat != null && {
80
+ chat: props.chat
81
+ }),
82
+ ...(props.displayName != null && {
83
+ displayName: props.displayName
84
+ }),
85
+ ...(props.emptyRoomInvitation != null && {
86
+ emptyRoomInvitation: props.emptyRoomInvitation
87
+ }),
88
+ ...(props.emojiSkinTone != null && {
89
+ emojiSkinTone: props.emojiSkinTone
90
+ }),
91
+ ...(props.externalId != null && {
92
+ externalId: props.externalId
93
+ }),
94
+ ...(props.floatSelf != null && {
95
+ floatSelf: props.floatSelf
96
+ }),
97
+ ...(props.groups != null && {
98
+ groups: props.groups
99
+ }),
100
+ ...(props.help != null && {
101
+ help: props.help
102
+ }),
103
+ ...(props.lang != null && {
104
+ lang: props.lang
105
+ }),
106
+ ...(props.leaveButton != null && {
107
+ leaveButton: props.leaveButton
108
+ }),
109
+ ...(props.locking != null && {
110
+ locking: props.locking
111
+ }),
112
+ ...(props.localization != null && {
113
+ localization: props.localization
114
+ }),
115
+ ...(props.logo != null && {
116
+ logo: props.logo
117
+ }),
118
+ ...(props.lowData != null && {
119
+ lowData: props.lowData
120
+ }),
121
+ ...(props.moreButton != null && {
122
+ moreButton: props.moreButton
123
+ }),
124
+ ...(props.participantCount != null && {
125
+ participantCount: props.participantCount
126
+ }),
127
+ ...(props.people != null && {
128
+ people: props.people
129
+ }),
130
+ ...(props.pipButton != null && {
131
+ pipButton: props.pipButton
132
+ }),
133
+ ...(props.precallCeremony != null && {
134
+ precallCeremony: props.precallCeremony
135
+ }),
136
+ ...(props.precallReview != null && {
137
+ precallReview: props.precallReview
138
+ }),
139
+ ...(props.precallPermissionsHelpLink != null && {
140
+ precallPermissionsHelpLink: props.precallPermissionsHelpLink
141
+ }),
142
+ ...(props.precallCeremonyCanSkip != null && {
143
+ precallCeremonyCanSkip: props.precallCeremonyCanSkip
144
+ }),
145
+ ...(props.reactions != null && {
146
+ reactions: props.reactions
147
+ }),
148
+ ...(props.recording != null && {
149
+ recording: props.recording
150
+ }),
151
+ ...(props.roomIntegrations != null && {
152
+ roomIntegrations: props.roomIntegrations
153
+ }),
154
+ ...(props.settingsButton != null && {
155
+ settingsButton: props.settingsButton
156
+ }),
157
+ ...(props.screenshare != null && {
158
+ screenshare: props.screenshare
159
+ }),
160
+ ...(props.skipMediaPermissionPrompt != null && {
161
+ skipMediaPermissionPrompt: props.skipMediaPermissionPrompt
162
+ }),
163
+ ...(props.subgridLabels != null && {
164
+ subgridLabels: props.subgridLabels
165
+ }),
166
+ ...(props.timer != null && {
167
+ timer: props.timer
168
+ }),
169
+ ...(props.title != null && {
170
+ title: props.title
171
+ }),
172
+ ...(props.toolbarDarkText != null && {
173
+ toolbarDarkText: props.toolbarDarkText
174
+ }),
175
+ ...(props.topToolbar != null && {
176
+ topToolbar: props.topToolbar
177
+ }),
178
+ ...(props.video != null && {
179
+ video: props.video
180
+ }),
181
+ ...(props.virtualBackgroundUrl != null && {
182
+ virtualBackgroundUrl: props.virtualBackgroundUrl
183
+ })
184
+ }).forEach(([k, v]) => {
185
+ if (!roomUrl.searchParams.has(k)) {
186
+ roomUrl.searchParams.set(k, v);
187
+ }
188
+ });
12
189
  return /*#__PURE__*/_jsx(WebView, {
13
190
  ref: ref,
14
191
  source: {
15
- uri: url
192
+ uri: roomUrl.href
16
193
  },
17
194
  startInLoadingState: true,
18
195
  originWhitelist: ["*"],
19
- mediaPlaybackRequiresUserAction: false
20
- // iOS specific:
21
- ,
22
- allowsInlineMediaPlayback: true
23
- // Android specific:
24
- ,
196
+ mediaPlaybackRequiresUserAction: false,
197
+ allowsInlineMediaPlayback: true,
25
198
  javaScriptEnabled: true,
26
199
  domStorageEnabled: true,
27
200
  ...props
@@ -1 +1 @@
1
- {"version":3,"names":["React","WebView","jsx","_jsx","WherebyEmbed","forwardRef","roomUrl","queryParams","props","ref","url","source","uri","startInLoadingState","originWhitelist","mediaPlaybackRequiresUserAction","allowsInlineMediaPlayback","javaScriptEnabled","domStorageEnabled"],"sourceRoot":"../../../src","sources":["embed/index.tsx"],"mappings":";;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,OAAO,QAAsB,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAO7D,MAAMC,YAAY,gBAAGJ,KAAK,CAACK,UAAU,CACjC,CAAC;EAAEC,OAAO;EAAEC,WAAW;EAAE,GAAGC;AAAyB,CAAC,EAAEC,GAAG,KAAK;EAC5D,MAAMC,GAAG,GAAGH,WAAW,GAAG,GAAGD,OAAO,IAAIC,WAAW,EAAE,GAAGD,OAAO;EAE/D,oBACIH,IAAA,CAACF,OAAO;IACJQ,GAAG,EAAEA,GAAI;IACTE,MAAM,EAAE;MAAEC,GAAG,EAAEF;IAAI,CAAE;IACrBG,mBAAmB;IACnBC,eAAe,EAAE,CAAC,GAAG,CAAE;IACvBC,+BAA+B,EAAE;IACjC;IAAA;IACAC,yBAAyB;IACzB;IAAA;IACAC,iBAAiB;IACjBC,iBAAiB;IAAA,GACbV;EAAK,CACZ,CAAC;AAEV,CACJ,CAAC;AAID,SAASJ,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["React","WebView","jsx","_jsx","WherebyEmbed","forwardRef","room","props","ref","roomUrl","URL","Object","entries","displayName","lang","metadata","emojiSkinTone","externalId","groups","virtualBackgroundUrl","avatarUrl","cameraEffect","minimal","embed","aec","agc","audio","audioDenoiser","autoHideSelfView","autoSpotlight","background","bottomToolbar","breakout","callQualityMonitoring","cameraAccess","chat","emptyRoomInvitation","floatSelf","help","leaveButton","locking","localization","logo","lowData","moreButton","participantCount","people","pipButton","precallCeremony","precallReview","precallPermissionsHelpLink","precallCeremonyCanSkip","reactions","recording","roomIntegrations","settingsButton","screenshare","skipMediaPermissionPrompt","subgridLabels","timer","title","toolbarDarkText","topToolbar","video","forEach","k","v","searchParams","has","set","source","uri","href","startInLoadingState","originWhitelist","mediaPlaybackRequiresUserAction","allowsInlineMediaPlayback","javaScriptEnabled","domStorageEnabled"],"sourceRoot":"../../../src","sources":["embed/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,77 @@
1
1
  import * as React from "react";
2
2
  import { WebView, WebViewProps } from "react-native-webview";
3
- interface WherebyEmbedProps extends WebViewProps {
4
- roomUrl: string;
5
- queryParams?: string;
3
+ interface WherebyEmbedElementAttributes {
4
+ aec?: string;
5
+ agc?: string;
6
+ audio?: string;
7
+ /**
8
+ * Automatically spotlight the local participant on room join. Can only be used with users joining with host privileges.
9
+ */
10
+ audioDenoiser?: string;
11
+ autoHideSelfView?: string;
12
+ autoSpotlight?: string;
13
+ avatarUrl?: string;
14
+ background?: string;
15
+ bottomToolbar?: string;
16
+ breakout?: string;
17
+ callQualityMonitoring?: string;
18
+ cameraAccess?: string;
19
+ cameraEffect?: string;
20
+ chat?: string;
21
+ displayName?: string;
22
+ emptyRoomInvitation?: string;
23
+ emojiSkinTone?: string;
24
+ externalId?: string;
25
+ floatSelf?: string;
26
+ groups?: string;
27
+ help?: string;
28
+ lang?: string;
29
+ leaveButton?: string;
30
+ locking?: string;
31
+ localization?: string;
32
+ logo?: string;
33
+ lowData?: string;
34
+ metadata?: string;
35
+ minimal?: string;
36
+ moreButton?: string;
37
+ participantCount?: string;
38
+ people?: string;
39
+ pipButton?: string;
40
+ /**
41
+ * Displays a device and connectivity test for the user. Is dependent on precallReview being enabled
42
+ */
43
+ precallCeremony?: string;
44
+ precallReview?: string;
45
+ precallPermissionsHelpLink?: string;
46
+ precallCeremonyCanSkip?: string;
47
+ reactions?: string;
48
+ recording?: string;
49
+ room?: string;
50
+ /**
51
+ * Enables the use of supported room integrations (Miro and YouTube)
52
+ */
53
+ roomIntegrations?: string;
54
+ settingsButton?: string;
55
+ screenshare?: string;
56
+ /**
57
+ * Skips the Whereby permissions UI and causes browser to automatically request device permissions. Required for Android app integrations.
58
+ */
59
+ skipMediaPermissionPrompt?: string;
60
+ subgridLabels?: string;
61
+ timer?: string;
62
+ title?: string;
63
+ /**
64
+ * Use dark text for bottom toolbar items.
65
+ *
66
+ * Use this attribute when the room background is light and the bottom toolbar items are hard to read.
67
+ */
68
+ toolbarDarkText?: string;
69
+ topToolbar?: string;
70
+ video?: string;
71
+ virtualBackgroundUrl?: string;
72
+ }
73
+ interface WherebyEmbedProps extends WebViewProps, WherebyEmbedElementAttributes {
74
+ room: string;
6
75
  }
7
76
  declare const WherebyEmbed: React.ForwardRefExoticComponent<WherebyEmbedProps & React.RefAttributes<WebView<unknown>>>;
8
77
  type WherebyEmbedRef = React.ElementRef<typeof WebView>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/embed/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE7D,UAAU,iBAAkB,SAAQ,YAAY;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,QAAA,MAAM,YAAY,4FAoBjB,CAAC;AAEF,KAAK,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/embed/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE7D,UAAU,6BAA6B;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,UAAU,iBAAkB,SAAQ,YAAY,EAAE,6BAA6B;IAC3E,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,QAAA,MAAM,YAAY,4FAuFjB,CAAC;AAEF,KAAK,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,CAAC"}
@@ -1,8 +1,77 @@
1
1
  import * as React from "react";
2
2
  import { WebView, WebViewProps } from "react-native-webview";
3
- interface WherebyEmbedProps extends WebViewProps {
4
- roomUrl: string;
5
- queryParams?: string;
3
+ interface WherebyEmbedElementAttributes {
4
+ aec?: string;
5
+ agc?: string;
6
+ audio?: string;
7
+ /**
8
+ * Automatically spotlight the local participant on room join. Can only be used with users joining with host privileges.
9
+ */
10
+ audioDenoiser?: string;
11
+ autoHideSelfView?: string;
12
+ autoSpotlight?: string;
13
+ avatarUrl?: string;
14
+ background?: string;
15
+ bottomToolbar?: string;
16
+ breakout?: string;
17
+ callQualityMonitoring?: string;
18
+ cameraAccess?: string;
19
+ cameraEffect?: string;
20
+ chat?: string;
21
+ displayName?: string;
22
+ emptyRoomInvitation?: string;
23
+ emojiSkinTone?: string;
24
+ externalId?: string;
25
+ floatSelf?: string;
26
+ groups?: string;
27
+ help?: string;
28
+ lang?: string;
29
+ leaveButton?: string;
30
+ locking?: string;
31
+ localization?: string;
32
+ logo?: string;
33
+ lowData?: string;
34
+ metadata?: string;
35
+ minimal?: string;
36
+ moreButton?: string;
37
+ participantCount?: string;
38
+ people?: string;
39
+ pipButton?: string;
40
+ /**
41
+ * Displays a device and connectivity test for the user. Is dependent on precallReview being enabled
42
+ */
43
+ precallCeremony?: string;
44
+ precallReview?: string;
45
+ precallPermissionsHelpLink?: string;
46
+ precallCeremonyCanSkip?: string;
47
+ reactions?: string;
48
+ recording?: string;
49
+ room?: string;
50
+ /**
51
+ * Enables the use of supported room integrations (Miro and YouTube)
52
+ */
53
+ roomIntegrations?: string;
54
+ settingsButton?: string;
55
+ screenshare?: string;
56
+ /**
57
+ * Skips the Whereby permissions UI and causes browser to automatically request device permissions. Required for Android app integrations.
58
+ */
59
+ skipMediaPermissionPrompt?: string;
60
+ subgridLabels?: string;
61
+ timer?: string;
62
+ title?: string;
63
+ /**
64
+ * Use dark text for bottom toolbar items.
65
+ *
66
+ * Use this attribute when the room background is light and the bottom toolbar items are hard to read.
67
+ */
68
+ toolbarDarkText?: string;
69
+ topToolbar?: string;
70
+ video?: string;
71
+ virtualBackgroundUrl?: string;
72
+ }
73
+ interface WherebyEmbedProps extends WebViewProps, WherebyEmbedElementAttributes {
74
+ room: string;
6
75
  }
7
76
  declare const WherebyEmbed: React.ForwardRefExoticComponent<WherebyEmbedProps & React.RefAttributes<WebView<unknown>>>;
8
77
  type WherebyEmbedRef = React.ElementRef<typeof WebView>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/embed/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE7D,UAAU,iBAAkB,SAAQ,YAAY;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,QAAA,MAAM,YAAY,4FAoBjB,CAAC;AAEF,KAAK,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/embed/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE7D,UAAU,6BAA6B;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0BAA0B,CAAC,EAAE,MAAM,CAAC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,UAAU,iBAAkB,SAAQ,YAAY,EAAE,6BAA6B;IAC3E,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,QAAA,MAAM,YAAY,4FAuFjB,CAAC;AAEF,KAAK,eAAe,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,OAAO,CAAC,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,KAAK,eAAe,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@whereby.com/react-native-sdk",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "Modules for integration Whereby video in react native apps",
5
5
  "source": "./src/index.tsx",
6
6
  "exports": {
@@ -62,6 +62,9 @@
62
62
  "publishConfig": {
63
63
  "access": "public"
64
64
  },
65
+ "dependencies": {
66
+ "@whereby.com/core": "0.24.1"
67
+ },
65
68
  "devDependencies": {
66
69
  "@react-native/eslint-config": "^0.73.1",
67
70
  "@types/jest": "^29.5.5",
@@ -1,25 +1,162 @@
1
1
  import * as React from "react";
2
2
  import { WebView, WebViewProps } from "react-native-webview";
3
3
 
4
- interface WherebyEmbedProps extends WebViewProps {
5
- roomUrl: string;
6
- queryParams?: string;
4
+ interface WherebyEmbedElementAttributes {
5
+ aec?: string;
6
+ agc?: string;
7
+ audio?: string;
8
+ /**
9
+ * Automatically spotlight the local participant on room join. Can only be used with users joining with host privileges.
10
+ */
11
+ audioDenoiser?: string;
12
+ autoHideSelfView?: string;
13
+ autoSpotlight?: string;
14
+ avatarUrl?: string;
15
+ background?: string;
16
+ bottomToolbar?: string;
17
+ breakout?: string;
18
+ callQualityMonitoring?: string;
19
+ cameraAccess?: string;
20
+ cameraEffect?: string;
21
+ chat?: string;
22
+ displayName?: string;
23
+ emptyRoomInvitation?: string;
24
+ emojiSkinTone?: string;
25
+ externalId?: string;
26
+ floatSelf?: string;
27
+ groups?: string;
28
+ help?: string;
29
+ lang?: string;
30
+ leaveButton?: string;
31
+ locking?: string;
32
+ localization?: string;
33
+ logo?: string;
34
+ lowData?: string;
35
+ metadata?: string;
36
+ minimal?: string;
37
+ moreButton?: string;
38
+ participantCount?: string;
39
+ people?: string;
40
+ pipButton?: string;
41
+ /**
42
+ * Displays a device and connectivity test for the user. Is dependent on precallReview being enabled
43
+ */
44
+ precallCeremony?: string;
45
+ precallReview?: string;
46
+ precallPermissionsHelpLink?: string;
47
+ precallCeremonyCanSkip?: string;
48
+ reactions?: string;
49
+ recording?: string;
50
+ room?: string;
51
+ /**
52
+ * Enables the use of supported room integrations (Miro and YouTube)
53
+ */
54
+ roomIntegrations?: string;
55
+ settingsButton?: string;
56
+ screenshare?: string;
57
+ /**
58
+ * Skips the Whereby permissions UI and causes browser to automatically request device permissions. Required for Android app integrations.
59
+ */
60
+ skipMediaPermissionPrompt?: string;
61
+ subgridLabels?: string;
62
+ timer?: string;
63
+ title?: string;
64
+ /**
65
+ * Use dark text for bottom toolbar items.
66
+ *
67
+ * Use this attribute when the room background is light and the bottom toolbar items are hard to read.
68
+ */
69
+ toolbarDarkText?: string;
70
+ topToolbar?: string;
71
+ video?: string;
72
+ virtualBackgroundUrl?: string;
73
+ }
74
+
75
+ interface WherebyEmbedProps extends WebViewProps, WherebyEmbedElementAttributes {
76
+ room: string;
7
77
  }
8
78
 
9
79
  const WherebyEmbed = React.forwardRef<React.ElementRef<typeof WebView>, WherebyEmbedProps>(
10
- ({ roomUrl, queryParams, ...props }: WherebyEmbedProps, ref) => {
11
- const url = queryParams ? `${roomUrl}?${queryParams}` : roomUrl;
80
+ ({ room, ...props }: WherebyEmbedProps, ref) => {
81
+ const roomUrl = new URL(room);
82
+
83
+ Object.entries({
84
+ ...(props.displayName && { displayName: props.displayName }),
85
+ ...(props.lang && { lang: props.lang }),
86
+ ...(props.metadata && { metadata: props.metadata }),
87
+ ...(props.emojiSkinTone && { emojiSkinTone: props.emojiSkinTone }),
88
+ ...(props.externalId && { externalId: props.externalId }),
89
+ ...(props.groups && { groups: props.groups }),
90
+ ...(props.virtualBackgroundUrl && { virtualBackgroundUrl: props.virtualBackgroundUrl }),
91
+ ...(props.avatarUrl && { avatarUrl: props.avatarUrl }),
92
+ ...(props.cameraEffect && { cameraEffect: props.cameraEffect }),
93
+ // the original ?embed name was confusing, so we give minimal
94
+ ...(props.minimal != null && { embed: props.minimal }),
95
+ ...(props.aec != null && { aec: props.aec }),
96
+ ...(props.agc != null && { agc: props.agc }),
97
+ ...(props.audio != null && { audio: props.audio }),
98
+ ...(props.audioDenoiser != null && { audioDenoiser: props.audioDenoiser }),
99
+ ...(props.autoHideSelfView != null && { autoHideSelfView: props.autoHideSelfView }),
100
+ ...(props.autoSpotlight != null && { autoSpotlight: props.autoSpotlight }),
101
+ ...(props.background != null && { background: props.background }),
102
+ ...(props.bottomToolbar != null && { bottomToolbar: props.bottomToolbar }),
103
+ ...(props.breakout != null && { breakout: props.breakout }),
104
+ ...(props.callQualityMonitoring != null && { callQualityMonitoring: props.callQualityMonitoring }),
105
+ ...(props.cameraAccess != null && { cameraAccess: props.cameraAccess }),
106
+ ...(props.cameraEffect != null && { cameraEffect: props.cameraEffect }),
107
+ ...(props.chat != null && { chat: props.chat }),
108
+ ...(props.displayName != null && { displayName: props.displayName }),
109
+ ...(props.emptyRoomInvitation != null && { emptyRoomInvitation: props.emptyRoomInvitation }),
110
+ ...(props.emojiSkinTone != null && { emojiSkinTone: props.emojiSkinTone }),
111
+ ...(props.externalId != null && { externalId: props.externalId }),
112
+ ...(props.floatSelf != null && { floatSelf: props.floatSelf }),
113
+ ...(props.groups != null && { groups: props.groups }),
114
+ ...(props.help != null && { help: props.help }),
115
+ ...(props.lang != null && { lang: props.lang }),
116
+ ...(props.leaveButton != null && { leaveButton: props.leaveButton }),
117
+ ...(props.locking != null && { locking: props.locking }),
118
+ ...(props.localization != null && { localization: props.localization }),
119
+ ...(props.logo != null && { logo: props.logo }),
120
+ ...(props.lowData != null && { lowData: props.lowData }),
121
+ ...(props.moreButton != null && { moreButton: props.moreButton }),
122
+ ...(props.participantCount != null && { participantCount: props.participantCount }),
123
+ ...(props.people != null && { people: props.people }),
124
+ ...(props.pipButton != null && { pipButton: props.pipButton }),
125
+ ...(props.precallCeremony != null && { precallCeremony: props.precallCeremony }),
126
+ ...(props.precallReview != null && { precallReview: props.precallReview }),
127
+ ...(props.precallPermissionsHelpLink != null && {
128
+ precallPermissionsHelpLink: props.precallPermissionsHelpLink,
129
+ }),
130
+ ...(props.precallCeremonyCanSkip != null && { precallCeremonyCanSkip: props.precallCeremonyCanSkip }),
131
+ ...(props.reactions != null && { reactions: props.reactions }),
132
+ ...(props.recording != null && { recording: props.recording }),
133
+ ...(props.roomIntegrations != null && { roomIntegrations: props.roomIntegrations }),
134
+ ...(props.settingsButton != null && { settingsButton: props.settingsButton }),
135
+ ...(props.screenshare != null && { screenshare: props.screenshare }),
136
+ ...(props.skipMediaPermissionPrompt != null && {
137
+ skipMediaPermissionPrompt: props.skipMediaPermissionPrompt,
138
+ }),
139
+ ...(props.subgridLabels != null && { subgridLabels: props.subgridLabels }),
140
+ ...(props.timer != null && { timer: props.timer }),
141
+ ...(props.title != null && { title: props.title }),
142
+ ...(props.toolbarDarkText != null && { toolbarDarkText: props.toolbarDarkText }),
143
+ ...(props.topToolbar != null && { topToolbar: props.topToolbar }),
144
+ ...(props.video != null && { video: props.video }),
145
+ ...(props.virtualBackgroundUrl != null && { virtualBackgroundUrl: props.virtualBackgroundUrl }),
146
+ }).forEach(([k, v]) => {
147
+ if (!roomUrl.searchParams.has(k)) {
148
+ roomUrl.searchParams.set(k, v);
149
+ }
150
+ });
12
151
 
13
152
  return (
14
153
  <WebView
15
154
  ref={ref}
16
- source={{ uri: url }}
155
+ source={{ uri: roomUrl.href }}
17
156
  startInLoadingState
18
157
  originWhitelist={["*"]}
19
158
  mediaPlaybackRequiresUserAction={false}
20
- // iOS specific:
21
159
  allowsInlineMediaPlayback
22
- // Android specific:
23
160
  javaScriptEnabled
24
161
  domStorageEnabled
25
162
  {...props}