@azure/communication-react 1.5.1-alpha-202302230015 → 1.5.1-beta.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.
Files changed (93) hide show
  1. package/CHANGELOG.beta.md +86 -1
  2. package/CHANGELOG.json +686 -0
  3. package/dist/communication-react.d.ts +1 -32
  4. package/dist/dist-cjs/communication-react/index.js +174 -375
  5. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  6. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  8. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +1 -22
  9. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  10. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +0 -14
  11. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +0 -44
  12. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  13. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +0 -1
  14. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +0 -21
  15. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  16. package/dist/dist-esm/calling-stateful-client/src/Converter.js +0 -1
  17. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  18. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.d.ts +1 -13
  19. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js +1 -8
  20. package/dist/dist-esm/calling-stateful-client/src/DeviceManagerDeclarative.js.map +1 -1
  21. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.d.ts +0 -4
  22. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js +0 -28
  23. package/dist/dist-esm/calling-stateful-client/src/InternalCallContext.js.map +1 -1
  24. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js +1 -1
  25. package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
  26. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js +30 -50
  27. package/dist/dist-esm/calling-stateful-client/src/StreamUtils.js.map +1 -1
  28. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +0 -1
  29. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  30. package/dist/dist-esm/react-components/src/components/ControlBarButton.js +1 -1
  31. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  32. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js +1 -1
  33. package/dist/dist-esm/react-components/src/components/RemoteVideoTile.js.map +1 -1
  34. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +3 -3
  35. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  36. package/dist/dist-esm/react-components/src/components/VideoGallery.js +0 -13
  37. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  38. package/dist/dist-esm/react-components/src/components/VideoTile.js +12 -9
  39. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  40. package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +103 -9
  41. package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +102 -8
  42. package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +102 -8
  43. package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +103 -9
  44. package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +102 -8
  45. package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +102 -8
  46. package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +102 -8
  47. package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +102 -8
  48. package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +103 -9
  49. package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +102 -8
  50. package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +103 -9
  51. package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +102 -8
  52. package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +102 -8
  53. package/dist/dist-esm/react-components/src/theming/icons.js +6 -6
  54. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  55. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +1 -1
  56. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  57. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +5 -0
  58. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +31 -1
  59. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +1 -1
  60. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.d.ts +1 -1
  61. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +3 -3
  62. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  63. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js +6 -8
  64. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js.map +1 -1
  65. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.d.ts +3 -16
  66. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js +43 -49
  67. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CustomButton.js.map +1 -1
  68. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.d.ts +0 -2
  69. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js +26 -47
  70. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/DesktopMoreButton.js.map +1 -1
  71. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js +4 -4
  72. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/components/MoreDrawer.js.map +1 -1
  73. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +1 -1
  74. package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
  75. package/dist/dist-esm/react-composites/src/composites/common/icons.js +4 -4
  76. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  77. package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +17 -3
  78. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +17 -3
  79. package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +17 -3
  80. package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +17 -3
  81. package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +17 -3
  82. package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +17 -3
  83. package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +17 -3
  84. package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +17 -3
  85. package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +17 -3
  86. package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +17 -3
  87. package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +17 -3
  88. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +17 -3
  89. package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +17 -3
  90. package/package.json +12 -12
  91. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.d.ts +0 -29
  92. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js +0 -54
  93. package/dist/dist-esm/calling-stateful-client/src/LocalVideoStreamVideoEffectsSubscriber.js.map +0 -1
@@ -6,7 +6,6 @@
6
6
  "sharingIconLabel": "分享",
7
7
  "mutedIconLabel": "已靜音",
8
8
  "displayNamePlaceholder": "未命名的參與者",
9
- "participantStateConnecting": "撥號中...",
10
9
  "participantStateRinging": "撥號中...",
11
10
  "participantStateHold": "電話保留"
12
11
  },
@@ -90,7 +89,8 @@
90
89
  "menuHeader": "在此通話中",
91
90
  "participantsListButtonLabel": "{numParticipants} 人員",
92
91
  "muteAllButtonLabel": "將所有人設為靜音",
93
- "copyInviteLinkButtonLabel": "複製邀請連結"
92
+ "copyInviteLinkButtonLabel": "複製邀請連結",
93
+ "copyInviteLinkActionedAriaLabel": "已複製邀請連結"
94
94
  },
95
95
  "screenShareButton": {
96
96
  "onLabel": "停止簡報",
@@ -146,11 +146,13 @@
146
146
  "callNoSpeakerFound": "找不到喇叭或耳機。請連接音訊裝置以聆聽通話。",
147
147
  "callNoMicrophoneFound": "找不到麥克風。請連接音訊輸入裝置。",
148
148
  "callMicrophoneAccessDenied": "無法存取麥克風。按一下網址列中的鎖定以授與此網頁的許可權。",
149
+ "callMicrophoneAccessDeniedSafari": "無法存取麥克風。重新整理頁面以允許許可權,或檢查此瀏覽器的設定,並確認已啟用此網站的許可權。",
149
150
  "callMicrophoneMutedBySystem": "系統已將您設為靜音。",
150
151
  "callMicrophoneUnmutedBySystem": "您的麥克風已復原,系統已取消您的靜音。",
151
152
  "callMacOsMicrophoneAccessDenied": "無法存取麥克風。請在您的 MacOS 隱私權設定中授與麥克風權限。",
152
153
  "callLocalVideoFreeze": "網路頻寬不佳。通話中的其他人可能會暫停您的視訊。",
153
154
  "callCameraAccessDenied": "無法存取相機。按一下網址列中的鎖定以授與此網頁的許可權。",
155
+ "callCameraAccessDeniedSafari": "無法存取相機。重新整理頁面以允許許可權,或檢查此瀏覽器的設定,並確認已啟用此網站的許可權。",
154
156
  "callCameraAlreadyInUse": "無法存取相機。其他應用程式可能已在使用它。",
155
157
  "callVideoStoppedBySystem": "您的影片已遭系統停止。",
156
158
  "callVideoRecoveredBySystem": "您的影片已繼續。",
@@ -158,7 +160,8 @@
158
160
  "callMacOsScreenShareAccessDenied": "MacOS 正在封鎖螢幕畫面分享。更新您的隱私權設定,以允許此瀏覽器錄製您的螢幕。",
159
161
  "dismissButtonAriaLabel": "關閉",
160
162
  "failedToJoinCallGeneric": "無法加入通話。",
161
- "failedToJoinCallInvalidMeetingLink": "無法加入會議。連結無效。"
163
+ "failedToJoinCallInvalidMeetingLink": "無法加入會議。連結無效。",
164
+ "startScreenSharingGeneric": "啟動畫面分享時發生問題。"
162
165
  },
163
166
  "videoGallery": {
164
167
  "screenIsBeingSharedMessage": "您現在正在分享螢幕畫面。",
@@ -167,7 +170,16 @@
167
170
  "localVideoCameraSwitcherLabel": "切換相機",
168
171
  "localVideoMovementLabel": "可移動的本機影片磚",
169
172
  "localVideoSelectedDescription": "已選取 {cameraName}",
170
- "displayNamePlaceholder": "未命名的參與者"
173
+ "displayNamePlaceholder": "未命名的參與者",
174
+ "fitRemoteParticipantToFrame": "調整成畫面大小",
175
+ "fillRemoteParticipantFrame": "填滿畫面",
176
+ "pinParticipantForMe": "為我釘選",
177
+ "pinParticipantForMeLimitReached": "釘選 (已達到限制)",
178
+ "unpinParticipantForMe": "取消釘選",
179
+ "pinParticipantMenuItemAriaLabel": "釘選 {participantName}",
180
+ "unpinParticipantMenuItemAriaLabel": "取消釘選 {participantName}",
181
+ "pinnedParticipantAnnouncementAriaLabel": "已釘選 {participantName}",
182
+ "unpinnedParticipantAnnouncementAriaLabel": "已取消釘選 {participantName}"
171
183
  },
172
184
  "dialpad": {
173
185
  "placeholderText": "輸入電話號碼",
@@ -180,20 +192,102 @@
180
192
  "tooltipOffContent": "保留通話"
181
193
  },
182
194
  "videoTile": {
183
- "participantStateConnecting": "撥號中...",
184
195
  "participantStateRinging": "撥號中...",
185
196
  "participantStateHold": "電話保留"
186
197
  },
187
- "SitePermissions": {
198
+ "CameraAndMicrophoneSitePermissionsRequest": {
188
199
  "primaryText": "允許 {appName} 使用您的相機和麥克風",
189
200
  "secondaryText": "這樣參與者才能看到您並聽到您的聲音。",
190
201
  "linkText": "需要協助嗎? 取得疑難排解說明",
191
- "primaryButtonText": "允許存取"
202
+ "primaryButtonText": "在沒有相機和麥克風的情況下繼續",
203
+ "ariaLabel": "允許相機和麥克風存取"
204
+ },
205
+ "CameraSitePermissionsRequest": {
206
+ "primaryText": "允許 {appName} 使用您的相機",
207
+ "secondaryText": "這樣參與者才能看到您。",
208
+ "linkText": "需要協助嗎? 取得疑難排解說明",
209
+ "primaryButtonText": "繼續但不使用相機",
210
+ "ariaLabel": "允許存取相機"
211
+ },
212
+ "MicrophoneSitePermissionsRequest": {
213
+ "primaryText": "允許 {appName} 使用您的麥克風",
214
+ "secondaryText": "這樣參與者才能聽到您的聲音。",
215
+ "linkText": "需要協助嗎? 取得疑難排解說明",
216
+ "primaryButtonText": "在沒有麥克風的情況下繼續",
217
+ "ariaLabel": "允許麥克風存取"
218
+ },
219
+ "CameraAndMicrophoneSitePermissionsCheck": {
220
+ "primaryText": "正在檢查相機和麥克風存取",
221
+ "secondaryText": "如果系統提示,則允許存取。這樣參與者才能看到您並聽到您的聲音。",
222
+ "linkText": "需要協助嗎? 取得疑難排解說明",
223
+ "primaryButtonText": "在沒有相機和麥克風的情況下繼續",
224
+ "ariaLabel": "正在檢查相機和麥克風存取。如果系統提示,則允許存取。"
225
+ },
226
+ "CameraSitePermissionsCheck": {
227
+ "primaryText": "正在檢查相機存取",
228
+ "secondaryText": "如果系統提示,則允許存取。這樣參與者才能看到您。",
229
+ "linkText": "需要協助嗎? 取得疑難排解說明",
230
+ "primaryButtonText": "在沒有相機的情況下繼續",
231
+ "ariaLabel": "正在檢查相機存取。如果系統提示,則允許存取。"
232
+ },
233
+ "MicrophoneSitePermissionsCheck": {
234
+ "primaryText": "正在檢查麥克風存取",
235
+ "secondaryText": "如果系統提示,則允許存取。這樣參與者才能聽到您的聲音。",
236
+ "linkText": "需要協助嗎? 取得疑難排解說明",
237
+ "primaryButtonText": "在沒有麥克風的情況下繼續",
238
+ "ariaLabel": "正在檢查麥克風存取。如果系統提示,則允許存取。"
239
+ },
240
+ "CameraAndMicrophoneSitePermissionsDenied": {
241
+ "primaryText": "無法存取攝影機和麥克風",
242
+ "secondaryText": "按一下網址列中的鎖定圖示,以授與此網頁的麥克風許可權。可能需要重新整理頁面。",
243
+ "primaryButtonText": "在沒有相機和麥克風的情況下繼續",
244
+ "linkText": "需要協助嗎? 取得疑難排解說明"
245
+ },
246
+ "CameraAndMicrophoneSitePermissionsDeniedSafari": {
247
+ "primaryText": "無法存取攝影機和麥克風",
248
+ "secondaryText": "重新整理頁面以允許許可權,或檢查此瀏覽器的設定,並確認已啟用此網站的權限。",
249
+ "primaryButtonText": "在沒有相機和麥克風的情況下繼續",
250
+ "linkText": "需要協助嗎? 取得疑難排解說明"
251
+ },
252
+ "CameraSitePermissionsDenied": {
253
+ "primaryText": "無法存取相機",
254
+ "secondaryText": "按一下網址列中的鎖定圖示,以授與此網頁的相機許可權。可能需要重新整理頁面。",
255
+ "primaryButtonText": "在沒有相機的情況下繼續",
256
+ "linkText": "需要協助嗎? 取得疑難排解說明"
257
+ },
258
+ "MicrophoneSitePermissionsDenied": {
259
+ "primaryText": "無法存取麥克風",
260
+ "secondaryText": "按一下網址列中的鎖定圖示,以授與此網頁的麥克風許可權。可能需要重新整理頁面。",
261
+ "primaryButtonText": "在沒有麥克風的情況下繼續",
262
+ "linkText": "需要協助嗎? 取得疑難排解說明"
263
+ },
264
+ "CameraSitePermissionsDeniedSafari": {
265
+ "primaryText": "無法存取攝影機",
266
+ "secondaryText": "重新整理頁面以允許許可權,或檢查此瀏覽器的設定,並確認已啟用此網站的權限。",
267
+ "primaryButtonText": "在沒有相機的情況下繼續",
268
+ "linkText": "需要協助嗎? 取得疑難排解說明"
269
+ },
270
+ "MicrophoneSitePermissionsDeniedSafari": {
271
+ "primaryText": "無法存取麥克風",
272
+ "secondaryText": "重新整理頁面以允許許可權,或檢查此瀏覽器的設定,並確認已啟用此網站的權限。",
273
+ "primaryButtonText": "繼續但不使用麥克風",
274
+ "linkText": "需要協助嗎? 取得疑難排解說明"
192
275
  },
193
276
  "UnsupportedBrowser": {
194
277
  "primaryText": "不支援瀏覽器",
195
278
  "secondaryText": "請使用相容的瀏覽器加入此通話。",
196
- "moreHelpLink": "更多協助資訊"
279
+ "moreHelpLinkText": "查看相容性需求"
280
+ },
281
+ "UnsupportedBrowserVersion": {
282
+ "primaryText": "需要更新瀏覽器",
283
+ "secondaryText": "為確保通話品質最佳,請更新瀏覽器,然後再次嘗試加入通話。",
284
+ "moreHelpLinkText": "查看相容性需求",
285
+ "continueAnywayButtonText": "不更新即開始通話"
286
+ },
287
+ "UnsupportedOperatingSystem": {
288
+ "primaryText": "不支援作業系統",
289
+ "secondaryText": "請使用具有相容作業系統的裝置加入此通話。",
290
+ "moreHelpLinkText": "查看相容性需求"
197
291
  },
198
292
  "BrowserPermissionDenied": {
199
293
  "primaryText": "無法使用您的相機或麥克風",
@@ -3,7 +3,7 @@
3
3
  import { mergeStyles } from '@fluentui/react';
4
4
  /* @conditional-compile-remove(call-readiness) */ /* @conditional-compile-remove(unsupported-browser) */
5
5
  import { Stack } from '@fluentui/react';
6
- import { ArrowClockwise16Regular, CallEnd20Filled, Checkmark20Regular, CheckmarkCircle16Regular, Circle16Regular, Delete20Regular, Dismiss20Regular, Dismiss16Regular, Edit20Regular, ErrorCircle16Regular, Eye16Regular, MicOff16Filled, MicOff16Regular, MicOff20Filled, Mic16Filled, Mic20Filled, Mic20Regular, MoreHorizontal20Filled, MoreHorizontal20Regular, People20Filled, Settings20Filled, Send20Filled, Send20Regular, ShareScreenStart20Filled, ShareScreenStop20Filled, Speaker220Regular, Video16Filled, Video20Filled, Video20Regular, VideoOff20Filled, ChevronLeft20Regular, ChevronRight20Regular, WifiWarning20Filled, SpeakerMute16Filled, MicProhibited16Filled, VideoProhibited16Filled } from '@fluentui/react-icons';
6
+ import { ArrowClockwise16Regular, CallEnd20Filled, Checkmark20Regular, CheckmarkCircle16Regular, Circle16Regular, Delete20Regular, Dismiss20Regular, Dismiss16Regular, Edit20Regular, ErrorCircle16Regular, EyeShow16Regular, MicOff16Filled, MicOff16Regular, MicOff20Filled, MicOn16Filled, MicOn20Filled, MicOn20Regular, MoreHorizontal20Filled, MoreHorizontal20Regular, People20Filled, Settings20Filled, Send20Filled, Send20Regular, ShareScreenStart20Filled, ShareScreenStop20Filled, Speaker220Regular, Video16Filled, Video20Filled, Video20Regular, VideoOff20Filled, ChevronLeft20Regular, ChevronRight20Regular, WifiWarning20Filled, SpeakerMute16Filled, MicProhibited16Filled, VideoProhibited16Filled } from '@fluentui/react-icons';
7
7
  /* @conditional-compile-remove(call-readiness) */
8
8
  import { Important20Filled } from '@fluentui/react-icons';
9
9
  /* @conditional-compile-remove(pinned-participants) */
@@ -39,7 +39,7 @@ const SitePermissionMic20Filled = () => {
39
39
  const theme = useTheme();
40
40
  return (React.createElement(Stack, { horizontalAlign: 'center', styles: sitePermissionIconBackgroundStyle(theme) },
41
41
  React.createElement("div", { className: mergeStyles(scaledIconStyles(theme)) },
42
- React.createElement(Mic20Filled, null))));
42
+ React.createElement(MicOn20Filled, null))));
43
43
  };
44
44
  /* @conditional-compile-remove(call-readiness) */
45
45
  const SitePermissionCamera20Filled = () => {
@@ -100,7 +100,7 @@ export const DEFAULT_COMPONENT_ICONS = {
100
100
  ControlButtonCameraOn: React.createElement(Video20Filled, null),
101
101
  ControlButtonEndCall: React.createElement(CallEnd20Filled, null),
102
102
  ControlButtonMicOff: React.createElement(MicOff20Filled, null),
103
- ControlButtonMicOn: React.createElement(Mic20Filled, null),
103
+ ControlButtonMicOn: React.createElement(MicOn20Filled, null),
104
104
  ControlButtonOptions: React.createElement(Settings20Filled, null),
105
105
  ControlButtonParticipants: React.createElement(People20Filled, null),
106
106
  /* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */
@@ -120,7 +120,7 @@ export const DEFAULT_COMPONENT_ICONS = {
120
120
  ErrorBarCallMacOsMicrophoneAccessDenied: React.createElement(MicProhibited16Filled, null),
121
121
  ErrorBarCallMicrophoneAccessDenied: React.createElement(MicProhibited16Filled, null),
122
122
  ErrorBarCallMicrophoneMutedBySystem: React.createElement(MicOff16Filled, null),
123
- ErrorBarCallMicrophoneUnmutedBySystem: React.createElement(Mic16Filled, null),
123
+ ErrorBarCallMicrophoneUnmutedBySystem: React.createElement(MicOn16Filled, null),
124
124
  ErrorBarCallNetworkQualityLow: React.createElement(WifiWarning16Filled, null),
125
125
  ErrorBarCallNoMicrophoneFound: React.createElement(MicProhibited16Filled, null),
126
126
  ErrorBarCallNoSpeakerFound: React.createElement(SpeakerMute16Filled, null),
@@ -134,10 +134,10 @@ export const DEFAULT_COMPONENT_ICONS = {
134
134
  MessageFailed: React.createElement(ErrorCircle16Regular, null),
135
135
  MessageRemove: React.createElement(Delete20Regular, null),
136
136
  MessageResend: React.createElement(ArrowClockwise16Regular, null),
137
- MessageSeen: React.createElement(Eye16Regular, null),
137
+ MessageSeen: React.createElement(EyeShow16Regular, null),
138
138
  MessageSending: React.createElement(Circle16Regular, null),
139
139
  OptionsCamera: React.createElement(Video20Regular, null),
140
- OptionsMic: React.createElement(Mic20Regular, null),
140
+ OptionsMic: React.createElement(MicOn20Regular, null),
141
141
  OptionsSpeaker: React.createElement(Speaker220Regular, null),
142
142
  ParticipantItemMicOff: React.createElement(MicOff16Regular, null),
143
143
  ParticipantItemOptions: React.createElement(React.Fragment, null),
@@ -1 +1 @@
1
- {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../../../../react-components/src/theming/icons.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { mergeStyles } from '@fluentui/react';\n/* @conditional-compile-remove(call-readiness) */ /* @conditional-compile-remove(unsupported-browser) */\nimport { Stack } from '@fluentui/react';\nimport {\n ArrowClockwise16Regular,\n CallEnd20Filled,\n Checkmark20Regular,\n CheckmarkCircle16Regular,\n Circle16Regular,\n Delete20Regular,\n Dismiss20Regular,\n Dismiss16Regular,\n Edit20Regular,\n ErrorCircle16Regular,\n Eye16Regular,\n MicOff16Filled,\n MicOff16Regular,\n MicOff20Filled,\n Mic16Filled,\n Mic20Filled,\n Mic20Regular,\n MoreHorizontal20Filled,\n MoreHorizontal20Regular,\n People20Filled,\n Settings20Filled,\n Send20Filled,\n Send20Regular,\n ShareScreenStart20Filled,\n ShareScreenStop20Filled,\n Speaker220Regular,\n Video16Filled,\n Video20Filled,\n Video20Regular,\n VideoOff20Filled,\n ChevronLeft20Regular,\n ChevronRight20Regular,\n WifiWarning20Filled,\n SpeakerMute16Filled,\n MicProhibited16Filled,\n VideoProhibited16Filled\n} from '@fluentui/react-icons';\n/* @conditional-compile-remove(call-readiness) */\nimport { Important20Filled } from '@fluentui/react-icons';\n\n/* @conditional-compile-remove(pinned-participants) */\nimport {\n Pin16Filled,\n Pin16Regular,\n PinOff16Regular,\n ScaleFit20Regular,\n ScaleFill20Regular\n} from '@fluentui/react-icons';\n\n/* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */\nimport { Backspace20Regular } from '@fluentui/react-icons';\n\n/* @conditional-compile-remove(call-readiness) */\nimport { Sparkle20Filled, VideoProhibited20Filled, MicProhibited20Filled } from '@fluentui/react-icons';\n\n/* @conditional-compile-remove(file-sharing) */\nimport { ArrowDownload16Regular } from '@fluentui/react-icons';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { CallPause20Regular, CallPause20Filled, Play20Regular, People20Regular } from '@fluentui/react-icons';\n\n/* @conditional-compile-remove(unsupported-browser) */\nimport { Warning20Filled } from '@fluentui/react-icons';\nimport { _pxToRem } from '@internal/acs-ui-common';\n\nimport React from 'react';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { useTheme } from './FluentThemeProvider';\n/* @conditional-compile-remove(call-readiness) */\nimport { sitePermissionIconBackgroundStyle, scaledIconStyles } from './icons.styles';\n\n/**\n * Icons used by the React components exported from this library.\n *\n * @remark See {@link CompositeIcons} for icons used by composites only.\n *\n * @public\n */\nexport type ComponentIcons = Record<keyof typeof DEFAULT_COMPONENT_ICONS, JSX.Element>;\n\nconst WifiWarning16Filled = (): JSX.Element => (\n // All ErrorBar icons are 16px x 16px (when 1rem = 16 px).\n // There is no 16px version of this icon in the fluent icon package, so scale the larger\n // one down to required size.\n <div className={mergeStyles({ transform: 'scale(0.8)' })}>\n <WifiWarning20Filled />\n </div>\n);\n\nconst MoreHorizontal18Regular = (): JSX.Element => (\n // MoreHorizontal icons are 16px x 16px or 20px x 20px so scaling to get desired size\n <div className={mergeStyles({ transform: 'scale(0.9)' })}>\n <MoreHorizontal20Regular />\n </div>\n);\n\n/* @conditional-compile-remove(call-readiness) */\nconst SitePermissionMic20Filled = (): JSX.Element => {\n const theme = useTheme();\n return (\n <Stack horizontalAlign={'center'} styles={sitePermissionIconBackgroundStyle(theme)}>\n <div className={mergeStyles(scaledIconStyles(theme))}>\n <Mic20Filled />\n </div>\n </Stack>\n );\n};\n\n/* @conditional-compile-remove(call-readiness) */\nconst SitePermissionCamera20Filled = (): JSX.Element => {\n const theme = useTheme();\n return (\n <Stack horizontalAlign={'center'} styles={sitePermissionIconBackgroundStyle(theme)}>\n <div className={mergeStyles(scaledIconStyles(theme))}>\n <Video20Filled />\n </div>\n </Stack>\n );\n};\n\n/* @conditional-compile-remove(call-readiness) */\nconst SitePermissionsMicDenied20Filled = (): JSX.Element => {\n const theme = useTheme();\n return (\n <Stack horizontalAlign={'center'} styles={sitePermissionIconBackgroundStyle(theme)}>\n <div className={mergeStyles(scaledIconStyles(theme))}>\n <MicProhibited20Filled />\n </div>\n </Stack>\n );\n};\n\n/* @conditional-compile-remove(call-readiness) */\nconst SitePermissionsCameraDenied20Filled = (): JSX.Element => {\n const theme = useTheme();\n return (\n <Stack horizontalAlign={'center'} styles={sitePermissionIconBackgroundStyle(theme)}>\n <div className={mergeStyles(scaledIconStyles(theme))}>\n <VideoProhibited20Filled />\n </div>\n </Stack>\n );\n};\n\n/* @conditional-compile-remove(call-readiness) */\nconst SitePermissionSparkle20Filled = (): JSX.Element => (\n <div className={mergeStyles({ transform: 'scale(2)' })}>\n <Sparkle20Filled />\n </div>\n);\n\n/* @conditional-compile-remove(unsupported-browser) */\nconst UnsupportedEnvironmentWarning = (): JSX.Element => {\n const theme = useTheme();\n return (\n <Stack\n horizontalAlign={'center'}\n styles={{\n root: {\n width: _pxToRem(84),\n borderRadius: '100%',\n background: theme.palette.themeLighterAlt,\n padding: '2rem',\n margin: 'auto'\n }\n }}\n >\n <div className={mergeStyles(scaledIconStyles(theme))}>\n <Warning20Filled />\n </div>\n </Stack>\n );\n};\n\n/* @conditional-compile-remove(call-readiness) */\nconst BrowserPermissionDenied20Filled = (): JSX.Element => {\n const theme = useTheme();\n return (\n <Stack horizontalAlign={'center'} styles={sitePermissionIconBackgroundStyle(theme)}>\n <div className={mergeStyles(scaledIconStyles(theme))}>\n <Important20Filled />\n </div>\n </Stack>\n );\n};\n\n/**\n * The default set of icons that are available to use in the UI components.\n *\n * @remark Icons used only in the composites are available in {@link DEFAULT_COMPOSITE_ICONS}.\n *\n * @public\n */\nexport const DEFAULT_COMPONENT_ICONS = {\n ChatMessageOptions: <MoreHorizontal18Regular />,\n ControlButtonCameraOff: <VideoOff20Filled />,\n ControlButtonCameraOn: <Video20Filled />,\n ControlButtonEndCall: <CallEnd20Filled />,\n ControlButtonMicOff: <MicOff20Filled />,\n ControlButtonMicOn: <Mic20Filled />,\n ControlButtonOptions: <Settings20Filled />,\n ControlButtonParticipants: <People20Filled />,\n /* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */\n ControlButtonParticipantsContextualMenuItem: <People20Regular />,\n ControlButtonScreenShareStart: <ShareScreenStart20Filled />,\n ControlButtonScreenShareStop: <ShareScreenStop20Filled />,\n /* @conditional-compile-remove(file-sharing) */\n CancelFileUpload: <Dismiss16Regular />,\n /* @conditional-compile-remove(file-sharing) */\n DownloadFile: <ArrowDownload16Regular />,\n EditBoxCancel: <Dismiss20Regular />,\n EditBoxSubmit: <Checkmark20Regular />,\n ErrorBarCallCameraAccessDenied: <VideoProhibited16Filled />,\n ErrorBarCallCameraAlreadyInUse: <VideoProhibited16Filled />,\n ErrorBarCallLocalVideoFreeze: <WifiWarning16Filled />,\n ErrorBarCallMacOsCameraAccessDenied: <VideoProhibited16Filled />,\n ErrorBarCallMacOsMicrophoneAccessDenied: <MicProhibited16Filled />,\n ErrorBarCallMicrophoneAccessDenied: <MicProhibited16Filled />,\n ErrorBarCallMicrophoneMutedBySystem: <MicOff16Filled />,\n ErrorBarCallMicrophoneUnmutedBySystem: <Mic16Filled />,\n ErrorBarCallNetworkQualityLow: <WifiWarning16Filled />,\n ErrorBarCallNoMicrophoneFound: <MicProhibited16Filled />,\n ErrorBarCallNoSpeakerFound: <SpeakerMute16Filled />,\n ErrorBarClear: <Dismiss16Regular />,\n ErrorBarCallVideoRecoveredBySystem: <Video16Filled />,\n ErrorBarCallVideoStoppedBySystem: <VideoProhibited16Filled />,\n HorizontalGalleryLeftButton: <ChevronLeft20Regular />,\n HorizontalGalleryRightButton: <ChevronRight20Regular />,\n MessageDelivered: <CheckmarkCircle16Regular />,\n MessageEdit: <Edit20Regular />,\n MessageFailed: <ErrorCircle16Regular />,\n MessageRemove: <Delete20Regular />,\n MessageResend: <ArrowClockwise16Regular />,\n MessageSeen: <Eye16Regular />,\n MessageSending: <Circle16Regular />,\n OptionsCamera: <Video20Regular />,\n OptionsMic: <Mic20Regular />,\n OptionsSpeaker: <Speaker220Regular />,\n ParticipantItemMicOff: <MicOff16Regular />,\n ParticipantItemOptions: <></>,\n ParticipantItemOptionsHovered: <MoreHorizontal20Filled />,\n ParticipantItemScreenShareStart: <ShareScreenStart20Filled />,\n /* @conditional-compile-remove(PSTN-calls) */\n HoldCallContextualMenuItem: <CallPause20Regular />,\n /* @conditional-compile-remove(PSTN-calls) */\n HoldCallButton: <CallPause20Filled />,\n /* @conditional-compile-remove(PSTN-calls) */\n ResumeCall: <Play20Regular />,\n SendBoxSend: <Send20Regular />,\n SendBoxSendHovered: <Send20Filled />,\n VideoTileMicOff: <MicOff16Filled />,\n /* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */\n DialpadBackspace: <Backspace20Regular />,\n /* @conditional-compile-remove(call-readiness) */\n SitePermissionsSparkle: <SitePermissionSparkle20Filled />,\n /* @conditional-compile-remove(call-readiness) */\n SitePermissionCamera: <SitePermissionCamera20Filled />,\n /* @conditional-compile-remove(call-readiness) */\n SitePermissionMic: <SitePermissionMic20Filled />,\n /* @conditional-compile-remove(call-readiness) */\n SitePermissionCameraDenied: <SitePermissionsCameraDenied20Filled />,\n /* @conditional-compile-remove(call-readiness) */\n SitePermissionMicDenied: <SitePermissionsMicDenied20Filled />,\n /* @conditional-compile-remove(unsupported-browser) */\n UnsupportedEnvironmentWarning: <UnsupportedEnvironmentWarning />,\n /* @conditional-compile-remove(call-readiness) */\n BrowserPermissionDeniedError: <BrowserPermissionDenied20Filled />,\n /* @conditional-compile-remove(pinned-participants) */\n VideoTilePinned: <Pin16Filled />,\n /* @conditional-compile-remove(pinned-participants) */\n VideoTileMoreOptions: <MoreHorizontal20Filled />,\n /* @conditional-compile-remove(pinned-participants) */\n VideoTileScaleFit: <ScaleFit20Regular />,\n /* @conditional-compile-remove(pinned-participants) */\n VideoTileScaleFill: <ScaleFill20Regular />,\n /* @conditional-compile-remove(pinned-participants) */\n PinParticipant: <Pin16Regular />,\n /* @conditional-compile-remove(pinned-participants) */\n UnpinParticipant: <PinOff16Regular />\n};\n\"../../../acs-ui-common/src\""]}
1
+ {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../../../../react-components/src/theming/icons.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { mergeStyles } from '@fluentui/react';\n/* @conditional-compile-remove(call-readiness) */ /* @conditional-compile-remove(unsupported-browser) */\nimport { Stack } from '@fluentui/react';\nimport {\n ArrowClockwise16Regular,\n CallEnd20Filled,\n Checkmark20Regular,\n CheckmarkCircle16Regular,\n Circle16Regular,\n Delete20Regular,\n Dismiss20Regular,\n Dismiss16Regular,\n Edit20Regular,\n ErrorCircle16Regular,\n EyeShow16Regular,\n MicOff16Filled,\n MicOff16Regular,\n MicOff20Filled,\n MicOn16Filled,\n MicOn20Filled,\n MicOn20Regular,\n MoreHorizontal20Filled,\n MoreHorizontal20Regular,\n People20Filled,\n Settings20Filled,\n Send20Filled,\n Send20Regular,\n ShareScreenStart20Filled,\n ShareScreenStop20Filled,\n Speaker220Regular,\n Video16Filled,\n Video20Filled,\n Video20Regular,\n VideoOff20Filled,\n ChevronLeft20Regular,\n ChevronRight20Regular,\n WifiWarning20Filled,\n SpeakerMute16Filled,\n MicProhibited16Filled,\n VideoProhibited16Filled\n} from '@fluentui/react-icons';\n/* @conditional-compile-remove(call-readiness) */\nimport { Important20Filled } from '@fluentui/react-icons';\n\n/* @conditional-compile-remove(pinned-participants) */\nimport {\n Pin16Filled,\n Pin16Regular,\n PinOff16Regular,\n ScaleFit20Regular,\n ScaleFill20Regular\n} from '@fluentui/react-icons';\n\n/* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */\nimport { Backspace20Regular } from '@fluentui/react-icons';\n\n/* @conditional-compile-remove(call-readiness) */\nimport { Sparkle20Filled, VideoProhibited20Filled, MicProhibited20Filled } from '@fluentui/react-icons';\n\n/* @conditional-compile-remove(file-sharing) */\nimport { ArrowDownload16Regular } from '@fluentui/react-icons';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { CallPause20Regular, CallPause20Filled, Play20Regular, People20Regular } from '@fluentui/react-icons';\n\n/* @conditional-compile-remove(unsupported-browser) */\nimport { Warning20Filled } from '@fluentui/react-icons';\nimport { _pxToRem } from '@internal/acs-ui-common';\n\nimport React from 'react';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { useTheme } from './FluentThemeProvider';\n/* @conditional-compile-remove(call-readiness) */\nimport { sitePermissionIconBackgroundStyle, scaledIconStyles } from './icons.styles';\n\n/**\n * Icons used by the React components exported from this library.\n *\n * @remark See {@link CompositeIcons} for icons used by composites only.\n *\n * @public\n */\nexport type ComponentIcons = Record<keyof typeof DEFAULT_COMPONENT_ICONS, JSX.Element>;\n\nconst WifiWarning16Filled = (): JSX.Element => (\n // All ErrorBar icons are 16px x 16px (when 1rem = 16 px).\n // There is no 16px version of this icon in the fluent icon package, so scale the larger\n // one down to required size.\n <div className={mergeStyles({ transform: 'scale(0.8)' })}>\n <WifiWarning20Filled />\n </div>\n);\n\nconst MoreHorizontal18Regular = (): JSX.Element => (\n // MoreHorizontal icons are 16px x 16px or 20px x 20px so scaling to get desired size\n <div className={mergeStyles({ transform: 'scale(0.9)' })}>\n <MoreHorizontal20Regular />\n </div>\n);\n\n/* @conditional-compile-remove(call-readiness) */\nconst SitePermissionMic20Filled = (): JSX.Element => {\n const theme = useTheme();\n return (\n <Stack horizontalAlign={'center'} styles={sitePermissionIconBackgroundStyle(theme)}>\n <div className={mergeStyles(scaledIconStyles(theme))}>\n <MicOn20Filled />\n </div>\n </Stack>\n );\n};\n\n/* @conditional-compile-remove(call-readiness) */\nconst SitePermissionCamera20Filled = (): JSX.Element => {\n const theme = useTheme();\n return (\n <Stack horizontalAlign={'center'} styles={sitePermissionIconBackgroundStyle(theme)}>\n <div className={mergeStyles(scaledIconStyles(theme))}>\n <Video20Filled />\n </div>\n </Stack>\n );\n};\n\n/* @conditional-compile-remove(call-readiness) */\nconst SitePermissionsMicDenied20Filled = (): JSX.Element => {\n const theme = useTheme();\n return (\n <Stack horizontalAlign={'center'} styles={sitePermissionIconBackgroundStyle(theme)}>\n <div className={mergeStyles(scaledIconStyles(theme))}>\n <MicProhibited20Filled />\n </div>\n </Stack>\n );\n};\n\n/* @conditional-compile-remove(call-readiness) */\nconst SitePermissionsCameraDenied20Filled = (): JSX.Element => {\n const theme = useTheme();\n return (\n <Stack horizontalAlign={'center'} styles={sitePermissionIconBackgroundStyle(theme)}>\n <div className={mergeStyles(scaledIconStyles(theme))}>\n <VideoProhibited20Filled />\n </div>\n </Stack>\n );\n};\n\n/* @conditional-compile-remove(call-readiness) */\nconst SitePermissionSparkle20Filled = (): JSX.Element => (\n <div className={mergeStyles({ transform: 'scale(2)' })}>\n <Sparkle20Filled />\n </div>\n);\n\n/* @conditional-compile-remove(unsupported-browser) */\nconst UnsupportedEnvironmentWarning = (): JSX.Element => {\n const theme = useTheme();\n return (\n <Stack\n horizontalAlign={'center'}\n styles={{\n root: {\n width: _pxToRem(84),\n borderRadius: '100%',\n background: theme.palette.themeLighterAlt,\n padding: '2rem',\n margin: 'auto'\n }\n }}\n >\n <div className={mergeStyles(scaledIconStyles(theme))}>\n <Warning20Filled />\n </div>\n </Stack>\n );\n};\n\n/* @conditional-compile-remove(call-readiness) */\nconst BrowserPermissionDenied20Filled = (): JSX.Element => {\n const theme = useTheme();\n return (\n <Stack horizontalAlign={'center'} styles={sitePermissionIconBackgroundStyle(theme)}>\n <div className={mergeStyles(scaledIconStyles(theme))}>\n <Important20Filled />\n </div>\n </Stack>\n );\n};\n\n/**\n * The default set of icons that are available to use in the UI components.\n *\n * @remark Icons used only in the composites are available in {@link DEFAULT_COMPOSITE_ICONS}.\n *\n * @public\n */\nexport const DEFAULT_COMPONENT_ICONS = {\n ChatMessageOptions: <MoreHorizontal18Regular />,\n ControlButtonCameraOff: <VideoOff20Filled />,\n ControlButtonCameraOn: <Video20Filled />,\n ControlButtonEndCall: <CallEnd20Filled />,\n ControlButtonMicOff: <MicOff20Filled />,\n ControlButtonMicOn: <MicOn20Filled />,\n ControlButtonOptions: <Settings20Filled />,\n ControlButtonParticipants: <People20Filled />,\n /* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */\n ControlButtonParticipantsContextualMenuItem: <People20Regular />,\n ControlButtonScreenShareStart: <ShareScreenStart20Filled />,\n ControlButtonScreenShareStop: <ShareScreenStop20Filled />,\n /* @conditional-compile-remove(file-sharing) */\n CancelFileUpload: <Dismiss16Regular />,\n /* @conditional-compile-remove(file-sharing) */\n DownloadFile: <ArrowDownload16Regular />,\n EditBoxCancel: <Dismiss20Regular />,\n EditBoxSubmit: <Checkmark20Regular />,\n ErrorBarCallCameraAccessDenied: <VideoProhibited16Filled />,\n ErrorBarCallCameraAlreadyInUse: <VideoProhibited16Filled />,\n ErrorBarCallLocalVideoFreeze: <WifiWarning16Filled />,\n ErrorBarCallMacOsCameraAccessDenied: <VideoProhibited16Filled />,\n ErrorBarCallMacOsMicrophoneAccessDenied: <MicProhibited16Filled />,\n ErrorBarCallMicrophoneAccessDenied: <MicProhibited16Filled />,\n ErrorBarCallMicrophoneMutedBySystem: <MicOff16Filled />,\n ErrorBarCallMicrophoneUnmutedBySystem: <MicOn16Filled />,\n ErrorBarCallNetworkQualityLow: <WifiWarning16Filled />,\n ErrorBarCallNoMicrophoneFound: <MicProhibited16Filled />,\n ErrorBarCallNoSpeakerFound: <SpeakerMute16Filled />,\n ErrorBarClear: <Dismiss16Regular />,\n ErrorBarCallVideoRecoveredBySystem: <Video16Filled />,\n ErrorBarCallVideoStoppedBySystem: <VideoProhibited16Filled />,\n HorizontalGalleryLeftButton: <ChevronLeft20Regular />,\n HorizontalGalleryRightButton: <ChevronRight20Regular />,\n MessageDelivered: <CheckmarkCircle16Regular />,\n MessageEdit: <Edit20Regular />,\n MessageFailed: <ErrorCircle16Regular />,\n MessageRemove: <Delete20Regular />,\n MessageResend: <ArrowClockwise16Regular />,\n MessageSeen: <EyeShow16Regular />,\n MessageSending: <Circle16Regular />,\n OptionsCamera: <Video20Regular />,\n OptionsMic: <MicOn20Regular />,\n OptionsSpeaker: <Speaker220Regular />,\n ParticipantItemMicOff: <MicOff16Regular />,\n ParticipantItemOptions: <></>,\n ParticipantItemOptionsHovered: <MoreHorizontal20Filled />,\n ParticipantItemScreenShareStart: <ShareScreenStart20Filled />,\n /* @conditional-compile-remove(PSTN-calls) */\n HoldCallContextualMenuItem: <CallPause20Regular />,\n /* @conditional-compile-remove(PSTN-calls) */\n HoldCallButton: <CallPause20Filled />,\n /* @conditional-compile-remove(PSTN-calls) */\n ResumeCall: <Play20Regular />,\n SendBoxSend: <Send20Regular />,\n SendBoxSendHovered: <Send20Filled />,\n VideoTileMicOff: <MicOff16Filled />,\n /* @conditional-compile-remove(dialpad) */ /* @conditional-compile-remove(PSTN-calls) */\n DialpadBackspace: <Backspace20Regular />,\n /* @conditional-compile-remove(call-readiness) */\n SitePermissionsSparkle: <SitePermissionSparkle20Filled />,\n /* @conditional-compile-remove(call-readiness) */\n SitePermissionCamera: <SitePermissionCamera20Filled />,\n /* @conditional-compile-remove(call-readiness) */\n SitePermissionMic: <SitePermissionMic20Filled />,\n /* @conditional-compile-remove(call-readiness) */\n SitePermissionCameraDenied: <SitePermissionsCameraDenied20Filled />,\n /* @conditional-compile-remove(call-readiness) */\n SitePermissionMicDenied: <SitePermissionsMicDenied20Filled />,\n /* @conditional-compile-remove(unsupported-browser) */\n UnsupportedEnvironmentWarning: <UnsupportedEnvironmentWarning />,\n /* @conditional-compile-remove(call-readiness) */\n BrowserPermissionDeniedError: <BrowserPermissionDenied20Filled />,\n /* @conditional-compile-remove(pinned-participants) */\n VideoTilePinned: <Pin16Filled />,\n /* @conditional-compile-remove(pinned-participants) */\n VideoTileMoreOptions: <MoreHorizontal20Filled />,\n /* @conditional-compile-remove(pinned-participants) */\n VideoTileScaleFit: <ScaleFit20Regular />,\n /* @conditional-compile-remove(pinned-participants) */\n VideoTileScaleFill: <ScaleFill20Regular />,\n /* @conditional-compile-remove(pinned-participants) */\n PinParticipant: <Pin16Regular />,\n /* @conditional-compile-remove(pinned-participants) */\n UnpinParticipant: <PinOff16Regular />\n};\n\"../../../acs-ui-common/src\""]}
@@ -24,7 +24,7 @@ export const NetworkReconnectTile = (props) => {
24
24
  useLocalVideoStartTrigger(!!props.localParticipantVideoStream.isAvailable);
25
25
  return (React.createElement(ExpandedLocalVideoTile, Object.assign({ localParticipantVideoStream: props.localParticipantVideoStream, overlayContent: React.createElement(Stack, { verticalFill: true, horizontalAlign: "center", verticalAlign: "center", className: mergeStyles(containerStyle), "aria-atomic": true },
26
26
  React.createElement(Stack, { horizontal: true, className: mergeStyles(titleContainerStyle) },
27
- React.createElement(CallCompositeIcon, { iconName: "NetworkReconnectIcon", className: mergeStyles(titleStyle(palette, isVideoReady)) }),
27
+ React.createElement(CallCompositeIcon, { iconName: "NetworkReconnectIcon", className: mergeStyles(titleStyle) }),
28
28
  React.createElement(Text, { className: mergeStyles(titleStyle(palette, isVideoReady)), "aria-live": 'assertive' }, strings.networkReconnectTitle)),
29
29
  React.createElement(Text, { className: mergeStyles(moreDetailsStyle(palette, isVideoReady)), "aria-live": 'assertive' }, strings.networkReconnectMoreDetails)) }, handlers)));
30
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"NetworkReconnectTile.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/components/NetworkReconnectTile.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAsB,QAAQ,EAAE,4CAAmC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACX,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AASvD;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAgC,EAAe,EAAE;;IACpF,MAAM,WAAW,GAAG,KAAK,CAAC,2BAA2B,CAAC;IACtD,MAAM,YAAY,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,mCAAI,KAAK,CAAC;IACvD,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC,OAAO,CAAC;IACnC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAEzC,MAAM,QAAQ,GAAG,WAAW,CAAC,sBAAsB,CAAC,CAAC;IACrD,qDAAqD;IACrD,oDAAoD;IACpD,yBAAyB,CAAC,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC;IAE3E,OAAO,CACL,oBAAC,sBAAsB,kBACrB,2BAA2B,EAAE,KAAK,CAAC,2BAA2B,EAC9D,cAAc,EACZ,oBAAC,KAAK,IACJ,YAAY,QACZ,eAAe,EAAC,QAAQ,EACxB,aAAa,EAAC,QAAQ,EACtB,SAAS,EAAE,WAAW,CAAC,cAAc,CAAC;YAGtC,oBAAC,KAAK,IAAC,UAAU,QAAC,SAAS,EAAE,WAAW,CAAC,mBAAmB,CAAC;gBAC3D,oBAAC,iBAAiB,IAChB,QAAQ,EAAC,sBAAsB,EAC/B,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,GACzD;gBACF,oBAAC,IAAI,IAAC,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,eAAa,WAAW,IACpF,OAAO,CAAC,qBAAqB,CACzB,CACD;YACR,oBAAC,IAAI,IAAC,SAAS,EAAE,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,eAAa,WAAW,IAC1F,OAAO,CAAC,2BAA2B,CAC/B,CACD,IAEN,QAAQ,EACZ,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport React from 'react';\nimport { VideoGalleryStream, useTheme } from '@internal/react-components';\nimport { ExpandedLocalVideoTile } from './ExpandedLocalVideoTile';\nimport { mergeStyles, Stack, Text } from '@fluentui/react';\nimport { useLocale } from '../../localization';\nimport {\n containerStyle,\n moreDetailsStyle,\n titleContainerStyle,\n titleStyle\n} from '../styles/NetworkReconnectTile.styles';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { useLocalVideoStartTrigger } from './MediaGallery';\nimport { CallCompositeIcon } from '../../common/icons';\n\n/**\n * @private\n */\nexport interface NetworkReconnectTileProps {\n localParticipantVideoStream: VideoGalleryStream;\n}\n\n/**\n * @private\n */\nexport const NetworkReconnectTile = (props: NetworkReconnectTileProps): JSX.Element => {\n const videoStream = props.localParticipantVideoStream;\n const isVideoReady = videoStream?.isAvailable ?? false;\n const palette = useTheme().palette;\n const strings = useLocale().strings.call;\n\n const handlers = useHandlers(ExpandedLocalVideoTile);\n // This tile may be shown at the beginning of a call.\n // So we need to transition local video to the call.\n useLocalVideoStartTrigger(!!props.localParticipantVideoStream.isAvailable);\n\n return (\n <ExpandedLocalVideoTile\n localParticipantVideoStream={props.localParticipantVideoStream}\n overlayContent={\n <Stack\n verticalFill\n horizontalAlign=\"center\"\n verticalAlign=\"center\"\n className={mergeStyles(containerStyle)}\n aria-atomic\n >\n <Stack horizontal className={mergeStyles(titleContainerStyle)}>\n <CallCompositeIcon\n iconName=\"NetworkReconnectIcon\"\n className={mergeStyles(titleStyle(palette, isVideoReady))}\n />\n <Text className={mergeStyles(titleStyle(palette, isVideoReady))} aria-live={'assertive'}>\n {strings.networkReconnectTitle}\n </Text>\n </Stack>\n <Text className={mergeStyles(moreDetailsStyle(palette, isVideoReady))} aria-live={'assertive'}>\n {strings.networkReconnectMoreDetails}\n </Text>\n </Stack>\n }\n {...handlers}\n />\n );\n};\n\"../../../../../react-components/src\""]}
1
+ {"version":3,"file":"NetworkReconnectTile.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/components/NetworkReconnectTile.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAsB,QAAQ,EAAE,4CAAmC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,UAAU,EACX,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AASvD;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,KAAgC,EAAe,EAAE;;IACpF,MAAM,WAAW,GAAG,KAAK,CAAC,2BAA2B,CAAC;IACtD,MAAM,YAAY,GAAG,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,mCAAI,KAAK,CAAC;IACvD,MAAM,OAAO,GAAG,QAAQ,EAAE,CAAC,OAAO,CAAC;IACnC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAEzC,MAAM,QAAQ,GAAG,WAAW,CAAC,sBAAsB,CAAC,CAAC;IACrD,qDAAqD;IACrD,oDAAoD;IACpD,yBAAyB,CAAC,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC;IAE3E,OAAO,CACL,oBAAC,sBAAsB,kBACrB,2BAA2B,EAAE,KAAK,CAAC,2BAA2B,EAC9D,cAAc,EACZ,oBAAC,KAAK,IACJ,YAAY,QACZ,eAAe,EAAC,QAAQ,EACxB,aAAa,EAAC,QAAQ,EACtB,SAAS,EAAE,WAAW,CAAC,cAAc,CAAC;YAGtC,oBAAC,KAAK,IAAC,UAAU,QAAC,SAAS,EAAE,WAAW,CAAC,mBAAmB,CAAC;gBAC3D,oBAAC,iBAAiB,IAAC,QAAQ,EAAC,sBAAsB,EAAC,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,GAAI;gBACzF,oBAAC,IAAI,IAAC,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,eAAa,WAAW,IACpF,OAAO,CAAC,qBAAqB,CACzB,CACD;YACR,oBAAC,IAAI,IAAC,SAAS,EAAE,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,eAAa,WAAW,IAC1F,OAAO,CAAC,2BAA2B,CAC/B,CACD,IAEN,QAAQ,EACZ,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport React from 'react';\nimport { VideoGalleryStream, useTheme } from '@internal/react-components';\nimport { ExpandedLocalVideoTile } from './ExpandedLocalVideoTile';\nimport { mergeStyles, Stack, Text } from '@fluentui/react';\nimport { useLocale } from '../../localization';\nimport {\n containerStyle,\n moreDetailsStyle,\n titleContainerStyle,\n titleStyle\n} from '../styles/NetworkReconnectTile.styles';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { useLocalVideoStartTrigger } from './MediaGallery';\nimport { CallCompositeIcon } from '../../common/icons';\n\n/**\n * @private\n */\nexport interface NetworkReconnectTileProps {\n localParticipantVideoStream: VideoGalleryStream;\n}\n\n/**\n * @private\n */\nexport const NetworkReconnectTile = (props: NetworkReconnectTileProps): JSX.Element => {\n const videoStream = props.localParticipantVideoStream;\n const isVideoReady = videoStream?.isAvailable ?? false;\n const palette = useTheme().palette;\n const strings = useLocale().strings.call;\n\n const handlers = useHandlers(ExpandedLocalVideoTile);\n // This tile may be shown at the beginning of a call.\n // So we need to transition local video to the call.\n useLocalVideoStartTrigger(!!props.localParticipantVideoStream.isAvailable);\n\n return (\n <ExpandedLocalVideoTile\n localParticipantVideoStream={props.localParticipantVideoStream}\n overlayContent={\n <Stack\n verticalFill\n horizontalAlign=\"center\"\n verticalAlign=\"center\"\n className={mergeStyles(containerStyle)}\n aria-atomic\n >\n <Stack horizontal className={mergeStyles(titleContainerStyle)}>\n <CallCompositeIcon iconName=\"NetworkReconnectIcon\" className={mergeStyles(titleStyle)} />\n <Text className={mergeStyles(titleStyle(palette, isVideoReady))} aria-live={'assertive'}>\n {strings.networkReconnectTitle}\n </Text>\n </Stack>\n <Text className={mergeStyles(moreDetailsStyle(palette, isVideoReady))} aria-live={'assertive'}>\n {strings.networkReconnectMoreDetails}\n </Text>\n </Stack>\n }\n {...handlers}\n />\n );\n};\n\"../../../../../react-components/src\""]}
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { ControlBarButtonStrings } from "../../../../../../react-components/src";
2
3
  import { CallControlDisplayType, CustomCallControlButtonCallback, CustomCallControlButtonPlacement } from '../../types/CallControlOptions';
3
4
  import { CallControlOptions } from '../../types/CallControlOptions';
4
5
  /** @private */
@@ -6,7 +7,11 @@ export declare type CustomButtons = {
6
7
  [key in CustomCallControlButtonPlacement]: JSX.Element | undefined;
7
8
  };
8
9
  /** @private */
10
+ export declare const generateCustomControlBarButtonStrings: (text: string | undefined) => ControlBarButtonStrings;
11
+ /** @private */
9
12
  export declare const generateCustomControlBarButtons: (onFetchCustomButtonProps?: CustomCallControlButtonCallback[] | undefined, displayType?: CallControlDisplayType | undefined) => CustomButtons;
10
13
  /** @private */
14
+ export declare const generateCustomDrawerButtons: (onFetchCustomButtonProps?: CustomCallControlButtonCallback[] | undefined, displayType?: CallControlDisplayType | undefined) => CustomButtons;
15
+ /** @private */
11
16
  export declare const onFetchCustomButtonPropsTrampoline: (options?: CallControlOptions | undefined) => CustomCallControlButtonCallback[] | undefined;
12
17
  //# sourceMappingURL=Custom.d.ts.map
@@ -5,6 +5,10 @@ import { Icon } from '@fluentui/react';
5
5
  import { ControlBarButton } from "../../../../../../react-components/src";
6
6
  import React from 'react';
7
7
  /** @private */
8
+ export const generateCustomControlBarButtonStrings = (text) => {
9
+ return { label: text };
10
+ };
11
+ /** @private */
8
12
  export const generateCustomControlBarButtons = (onFetchCustomButtonProps, displayType) => {
9
13
  const response = {
10
14
  primary: undefined
@@ -18,7 +22,33 @@ export const generateCustomControlBarButtons = (onFetchCustomButtonProps, displa
18
22
  .filter((buttonProps) => buttonProps.placement === key)
19
23
  .map((buttonProps, i) => {
20
24
  var _a;
21
- return (React.createElement(ControlBarButton, { ariaDescription: buttonProps.ariaDescription, ariaLabel: buttonProps.ariaLabel, disabled: buttonProps.disabled, id: buttonProps.id, key: (_a = buttonProps.key) !== null && _a !== void 0 ? _a : `${buttonProps.placement}_${i}`, onClick: buttonProps.onItemClick, onRenderIcon: () => { var _a; return React.createElement(Icon, { iconName: (_a = buttonProps.iconName) !== null && _a !== void 0 ? _a : 'ControlButtonOptions' }); }, showLabel: buttonProps.showLabel, text: buttonProps.text, styles: buttonProps.styles }));
25
+ return (React.createElement(ControlBarButton, { ariaDescription: buttonProps.ariaDescription, ariaLabel: buttonProps.ariaLabel, disabled: buttonProps.disabled, id: buttonProps.id, key: (_a = buttonProps.key) !== null && _a !== void 0 ? _a : `${buttonProps.placement}_${i}`, onClick: buttonProps.onItemClick, onRenderIcon: () => { var _a; return React.createElement(Icon, { iconName: (_a = buttonProps.iconName) !== null && _a !== void 0 ? _a : 'ControlButtonOptions' }); }, showLabel: buttonProps.showLabel, strings: generateCustomControlBarButtonStrings(buttonProps.text), styles: buttonProps.styles }));
26
+ })));
27
+ }
28
+ return response;
29
+ };
30
+ /** @private */
31
+ export const generateCustomDrawerButtons = (onFetchCustomButtonProps, displayType) => {
32
+ const response = {
33
+ primary: undefined
34
+ };
35
+ if (!onFetchCustomButtonProps) {
36
+ return response;
37
+ }
38
+ const allButtonProps = onFetchCustomButtonProps.map((f) => f({ displayType }));
39
+ for (const key in response) {
40
+ response[key] = (React.createElement(React.Fragment, null, allButtonProps
41
+ .filter((buttonProps) => buttonProps.placement === key)
42
+ .map((buttonProps, i) => {
43
+ var _a;
44
+ return ({
45
+ disabled: buttonProps.disabled,
46
+ iconProps: { iconName: buttonProps.iconName },
47
+ id: buttonProps.id,
48
+ itemKey: (_a = buttonProps.key) !== null && _a !== void 0 ? _a : `${buttonProps.placement}_${i}`,
49
+ onItemClick: buttonProps.onItemClick,
50
+ text: buttonProps.text
51
+ });
22
52
  })));
23
53
  }
24
54
  return response;
@@ -1 +1 @@
1
- {"version":3,"file":"Custom.js","sourceRoot":"","sources":["../../../../../../../../../react-composites/src/composites/CallComposite/components/buttons/Custom.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,iDAAiD;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAwB,+CAAmC;AACpF,OAAO,KAAK,MAAM,OAAO,CAAC;AAY1B,eAAe;AACf,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,wBAA4D,EAC5D,WAAoC,EACrB,EAAE;IACjB,MAAM,QAAQ,GAAG;QACf,OAAO,EAAE,SAAS;KACnB,CAAC;IAEF,IAAI,CAAC,wBAAwB,EAAE;QAC7B,OAAO,QAAQ,CAAC;KACjB;IAED,MAAM,cAAc,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;IAE/E,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;QAC1B,QAAQ,CAAC,GAAG,CAAC,GAAG,CACd,0CACG,cAAc;aACZ,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,SAAS,KAAK,GAAG,CAAC;aACtD,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;;YAAC,OAAA,CACvB,oBAAC,gBAAgB,IACf,eAAe,EAAE,WAAW,CAAC,eAAe,EAC5C,SAAS,EAAE,WAAW,CAAC,SAAS,EAChC,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAC9B,EAAE,EAAE,WAAW,CAAC,EAAE,EAClB,GAAG,EAAE,MAAA,WAAW,CAAC,GAAG,mCAAI,GAAG,WAAW,CAAC,SAAS,IAAI,CAAC,EAAE,EACvD,OAAO,EAAE,WAAW,CAAC,WAAW,EAChC,YAAY,EAAE,GAAG,EAAE,WAAC,OAAA,oBAAC,IAAI,IAAC,QAAQ,EAAE,MAAA,WAAW,CAAC,QAAQ,mCAAI,sBAAsB,GAAI,CAAA,EAAA,EACtF,SAAS,EAAE,WAAW,CAAC,SAAS,EAChC,IAAI,EAAE,WAAW,CAAC,IAAI,EACtB,MAAM,EAAE,WAAW,CAAC,MAAM,GAC1B,CACH,CAAA;SAAA,CAAC,CACH,CACJ,CAAC;KACH;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,+DAA+D;AAC/D,eAAe;AACf,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAChD,OAA4B,EACmB,EAAE;IACjD,IAAI,QAAQ,GAAkD,SAAS,CAAC;IACxE,QAAQ,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,wBAAwB,CAAC;IAC7C,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n// eslint-disable-next-line no-restricted-imports\nimport { Icon } from '@fluentui/react';\nimport { ControlBarButton, _DrawerMenuItemProps } from '@internal/react-components';\nimport React from 'react';\nimport {\n CallControlDisplayType,\n CustomCallControlButtonCallback,\n CustomCallControlButtonPlacement\n} from '../../types/CallControlOptions';\n/* @conditional-compile-remove(control-bar-button-injection) */\nimport { CallControlOptions } from '../../types/CallControlOptions';\n\n/** @private */\nexport type CustomButtons = { [key in CustomCallControlButtonPlacement]: JSX.Element | undefined };\n\n/** @private */\nexport const generateCustomControlBarButtons = (\n onFetchCustomButtonProps?: CustomCallControlButtonCallback[],\n displayType?: CallControlDisplayType\n): CustomButtons => {\n const response = {\n primary: undefined\n };\n\n if (!onFetchCustomButtonProps) {\n return response;\n }\n\n const allButtonProps = onFetchCustomButtonProps.map((f) => f({ displayType }));\n\n for (const key in response) {\n response[key] = (\n <>\n {allButtonProps\n .filter((buttonProps) => buttonProps.placement === key)\n .map((buttonProps, i) => (\n <ControlBarButton\n ariaDescription={buttonProps.ariaDescription}\n ariaLabel={buttonProps.ariaLabel}\n disabled={buttonProps.disabled}\n id={buttonProps.id}\n key={buttonProps.key ?? `${buttonProps.placement}_${i}`}\n onClick={buttonProps.onItemClick}\n onRenderIcon={() => <Icon iconName={buttonProps.iconName ?? 'ControlButtonOptions'} />}\n showLabel={buttonProps.showLabel}\n text={buttonProps.text}\n styles={buttonProps.styles}\n />\n ))}\n </>\n );\n }\n return response;\n};\n\n/* @conditional-compile-remove(control-bar-button-injection) */\n/** @private */\nexport const onFetchCustomButtonPropsTrampoline = (\n options?: CallControlOptions\n): CustomCallControlButtonCallback[] | undefined => {\n let response: CustomCallControlButtonCallback[] | undefined = undefined;\n response = options?.onFetchCustomButtonProps;\n return response;\n};\n\"../../../../../../react-components/src\""]}
1
+ {"version":3,"file":"Custom.js","sourceRoot":"","sources":["../../../../../../../../../react-composites/src/composites/CallComposite/components/buttons/Custom.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n// eslint-disable-next-line no-restricted-imports\nimport { Icon } from '@fluentui/react';\nimport { ControlBarButton, ControlBarButtonStrings } from '@internal/react-components';\nimport React from 'react';\nimport {\n CallControlDisplayType,\n CustomCallControlButtonCallback,\n CustomCallControlButtonPlacement\n} from '../../types/CallControlOptions';\n/* @conditional-compile-remove(control-bar-button-injection) */\nimport { CallControlOptions } from '../../types/CallControlOptions';\n\n/** @private */\nexport type CustomButtons = { [key in CustomCallControlButtonPlacement]: JSX.Element | undefined };\n\n/** @private */\nexport const generateCustomControlBarButtonStrings = (text: string | undefined): ControlBarButtonStrings => {\n return { label: text };\n};\n\n/** @private */\nexport const generateCustomControlBarButtons = (\n onFetchCustomButtonProps?: CustomCallControlButtonCallback[],\n displayType?: CallControlDisplayType\n): CustomButtons => {\n const response = {\n primary: undefined\n };\n\n if (!onFetchCustomButtonProps) {\n return response;\n }\n\n const allButtonProps = onFetchCustomButtonProps.map((f) => f({ displayType }));\n\n for (const key in response) {\n response[key] = (\n <>\n {allButtonProps\n .filter((buttonProps) => buttonProps.placement === key)\n .map((buttonProps, i) => (\n <ControlBarButton\n ariaDescription={buttonProps.ariaDescription}\n ariaLabel={buttonProps.ariaLabel}\n disabled={buttonProps.disabled}\n id={buttonProps.id}\n key={buttonProps.key ?? `${buttonProps.placement}_${i}`}\n onClick={buttonProps.onItemClick}\n onRenderIcon={() => <Icon iconName={buttonProps.iconName ?? 'ControlButtonOptions'} />}\n showLabel={buttonProps.showLabel}\n strings={generateCustomControlBarButtonStrings(buttonProps.text)}\n styles={buttonProps.styles}\n />\n ))}\n </>\n );\n }\n return response;\n};\n\n/** @private */\nexport const generateCustomDrawerButtons = (\n onFetchCustomButtonProps?: CustomCallControlButtonCallback[],\n displayType?: CallControlDisplayType\n): CustomButtons => {\n const response = {\n primary: undefined\n };\n\n if (!onFetchCustomButtonProps) {\n return response;\n }\n\n const allButtonProps = onFetchCustomButtonProps.map((f) => f({ displayType }));\n for (const key in response) {\n response[key] = (\n <>\n {allButtonProps\n .filter((buttonProps) => buttonProps.placement === key)\n .map((buttonProps, i) => ({\n disabled: buttonProps.disabled,\n iconProps: { iconName: buttonProps.iconName },\n id: buttonProps.id,\n itemKey: buttonProps.key ?? `${buttonProps.placement}_${i}`,\n onItemClick: buttonProps.onItemClick,\n text: buttonProps.text\n }))}\n </>\n );\n }\n return response;\n};\n\n/* @conditional-compile-remove(control-bar-button-injection) */\n/** @private */\nexport const onFetchCustomButtonPropsTrampoline = (\n options?: CallControlOptions\n): CustomCallControlButtonCallback[] | undefined => {\n let response: CustomCallControlButtonCallback[] | undefined = undefined;\n response = options?.onFetchCustomButtonProps;\n return response;\n};\n\"../../../../../../react-components/src\""]}
@@ -24,6 +24,6 @@ export declare const useParticipantChangedAnnouncement: () => string;
24
24
  /**
25
25
  * Generates the announcement string for when a participant joins or leaves a call.
26
26
  */
27
- export declare const createAnnouncementString: (direction: 'joined' | 'left', participants: RemoteParticipantState[], strings: ParticipantChangedAnnouncmentStrings) => string;
27
+ export declare const createAnnouncmentString: (direction: 'joined' | 'left', participants: RemoteParticipantState[], strings: ParticipantChangedAnnouncmentStrings) => string;
28
28
  export {};
29
29
  //# sourceMappingURL=MediaGalleryUtils.d.ts.map
@@ -48,10 +48,10 @@ export const useParticipantChangedAnnouncement = () => {
48
48
  const whoJoined = currentParticipants.filter((p) => !previousIds.includes(toFlatCommunicationIdentifier(p.identifier)));
49
49
  const whoLeft = previousParticipants.current.filter((p) => !currentIds.includes(toFlatCommunicationIdentifier(p.identifier)));
50
50
  if (whoJoined.length > 0) {
51
- resetAnnoucement(createAnnouncementString('joined', whoJoined, strings));
51
+ resetAnnoucement(createAnnouncmentString('joined', whoJoined, strings));
52
52
  }
53
53
  if (whoLeft.length > 0) {
54
- resetAnnoucement(createAnnouncementString('left', whoLeft, strings));
54
+ resetAnnoucement(createAnnouncmentString('left', whoLeft, strings));
55
55
  }
56
56
  // Update cached value at the end.
57
57
  previousParticipants.current = currentParticipants;
@@ -61,7 +61,7 @@ export const useParticipantChangedAnnouncement = () => {
61
61
  /**
62
62
  * Generates the announcement string for when a participant joins or leaves a call.
63
63
  */
64
- export const createAnnouncementString = (direction, participants, strings) => {
64
+ export const createAnnouncmentString = (direction, participants, strings) => {
65
65
  var _a, _b, _c;
66
66
  /**
67
67
  * If there are no participants return empty string.
@@ -1 +1 @@
1
- {"version":3,"file":"MediaGalleryUtils.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { toFlatCommunicationIdentifier, _formatString } from '@internal/acs-ui-common';\nimport { RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { useMemo, useRef, useState } from 'react';\nimport { useLocale } from '../../localization';\nimport { useSelector } from '../hooks/useSelector';\nimport { getRemoteParticipantsConnectedSelector } from '../selectors/mediaGallerySelector';\n\ntype ParticipantChangedAnnouncmentStrings = {\n participantJoinedNoticeString: string;\n twoParticipantJoinedNoticeString: string;\n threeParticipantJoinedNoticeString: string;\n participantLeftNoticeString: string;\n twoParticipantLeftNoticeString: string;\n threeParticipantLeftNoticeString: string;\n unnamedParticipantString: string;\n manyParticipantsJoined: string;\n manyParticipantsLeft: string;\n manyUnnamedParticipantsJoined: string;\n manyUnnamedParticipantsLeft: string;\n};\n\n/**\n * sets the announcement string whenever a Participant comes or goes from a call to be\n * used by the system narrator.\n *\n * @returns string to be used by the narrator and Announcer component\n *\n * @internal\n */\nexport const useParticipantChangedAnnouncement = (): string => {\n const locale = useLocale().strings.call;\n const strings = useMemo(() => {\n return {\n participantJoinedNoticeString: locale.participantJoinedNoticeString,\n twoParticipantJoinedNoticeString: locale.twoParticipantJoinedNoticeString,\n threeParticipantJoinedNoticeString: locale.threeParticipantJoinedNoticeString,\n participantLeftNoticeString: locale.participantLeftNoticeString,\n twoParticipantLeftNoticeString: locale.twoParticipantLeftNoticeString,\n threeParticipantLeftNoticeString: locale.threeParticipantLeftNoticeString,\n unnamedParticipantString: locale.unnamedParticipantString,\n manyParticipantsJoined: locale.manyParticipantsJoined,\n manyParticipantsLeft: locale.manyParticipantsLeft,\n manyUnnamedParticipantsJoined: locale.manyUnnamedParticipantsJoined,\n manyUnnamedParticipantsLeft: locale.manyUnnamedParticipantsLeft\n };\n }, [locale]);\n const [announcerString, setAnnouncerString] = useState<string>('');\n const currentParticipants = useSelector(getRemoteParticipantsConnectedSelector);\n /**\n * We want to use a useRef here since we want to not fire this hook based on the previous participants\n * this allows this value to be used in the hook without being in the dependency array.\n *\n * Note: By definition if this hook is used in another component it is not pure anymore.\n */\n const previousParticipants = useRef<RemoteParticipantState[]>(currentParticipants);\n\n const resetAnnoucement = (string: string): void => {\n setAnnouncerString(string);\n };\n\n useMemo(() => {\n const currentIds = currentParticipants.map((p) => toFlatCommunicationIdentifier(p.identifier));\n const previousIds = previousParticipants.current.map((p) => toFlatCommunicationIdentifier(p.identifier));\n const whoJoined = currentParticipants.filter(\n (p) => !previousIds.includes(toFlatCommunicationIdentifier(p.identifier))\n );\n const whoLeft = previousParticipants.current.filter(\n (p) => !currentIds.includes(toFlatCommunicationIdentifier(p.identifier))\n );\n if (whoJoined.length > 0) {\n resetAnnoucement(createAnnouncementString('joined', whoJoined, strings));\n }\n if (whoLeft.length > 0) {\n resetAnnoucement(createAnnouncementString('left', whoLeft, strings));\n }\n // Update cached value at the end.\n previousParticipants.current = currentParticipants;\n }, [currentParticipants, strings]);\n return announcerString;\n};\n\n/**\n * Generates the announcement string for when a participant joins or leaves a call.\n */\nexport const createAnnouncementString = (\n direction: 'joined' | 'left',\n participants: RemoteParticipantState[],\n strings: ParticipantChangedAnnouncmentStrings\n): string => {\n /**\n * If there are no participants return empty string.\n */\n if (participants.length === 0) {\n return '';\n }\n /**\n * Filter participants into two arrays to put all the unnamed participants at the back of the\n * names being announced.\n */\n const unnamedParticipants = participants.filter((p) => !p.displayName);\n const namedParicipants = participants.filter((p) => p.displayName);\n const sortedParticipants = namedParicipants.concat(unnamedParticipants);\n\n /**\n * if there are only unnamed participants present in the array announce a special unnamed participants\n * only string.\n */\n if (sortedParticipants.filter((p) => p.displayName).length === 0 && sortedParticipants.length > 1) {\n return _formatString(\n direction === 'joined' ? strings.manyUnnamedParticipantsJoined : strings.manyUnnamedParticipantsLeft,\n {\n numOfParticipants: (sortedParticipants.length - 1).toString()\n }\n );\n }\n const participantNames = sortedParticipants.map((p) => p.displayName ?? strings.unnamedParticipantString);\n\n switch (sortedParticipants.length) {\n case 1:\n return _formatString(\n direction === 'joined' ? strings.participantJoinedNoticeString : strings.participantLeftNoticeString,\n { displayName: participantNames[0] }\n );\n case 2:\n return _formatString(\n direction === 'joined' ? strings.twoParticipantJoinedNoticeString : strings.twoParticipantLeftNoticeString,\n {\n displayName1: participantNames[0],\n displayName2: participantNames[1]\n }\n );\n case 3:\n return _formatString(\n direction === 'joined' ? strings.threeParticipantJoinedNoticeString : strings.threeParticipantLeftNoticeString,\n {\n displayName1: participantNames[0],\n displayName2: participantNames[1],\n displayName3: participantNames[2]\n }\n );\n }\n\n /**\n * If we have more than 3 participants joining we need to do something more to announce them\n * appropriately.\n *\n * We don't want to announce every name when more than 3 participants join at once so\n * we parse out the first 3 names we have and announce those with the number of others.\n */\n\n const numberOfExtraParticipants = sortedParticipants.length - 3;\n\n return _formatString(direction === 'joined' ? strings.manyParticipantsJoined : strings.manyParticipantsLeft, {\n displayName1: sortedParticipants[0].displayName ?? strings.unnamedParticipantString,\n displayName2: sortedParticipants[1].displayName ?? strings.unnamedParticipantString,\n displayName3: sortedParticipants[2].displayName ?? strings.unnamedParticipantString,\n numOfParticipants: numberOfExtraParticipants.toString()\n });\n};\n\"../../../../../acs-ui-common/src\"\"../../../../../calling-stateful-client/src\""]}
1
+ {"version":3,"file":"MediaGalleryUtils.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { toFlatCommunicationIdentifier, _formatString } from '@internal/acs-ui-common';\nimport { RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { useMemo, useRef, useState } from 'react';\nimport { useLocale } from '../../localization';\nimport { useSelector } from '../hooks/useSelector';\nimport { getRemoteParticipantsConnectedSelector } from '../selectors/mediaGallerySelector';\n\ntype ParticipantChangedAnnouncmentStrings = {\n participantJoinedNoticeString: string;\n twoParticipantJoinedNoticeString: string;\n threeParticipantJoinedNoticeString: string;\n participantLeftNoticeString: string;\n twoParticipantLeftNoticeString: string;\n threeParticipantLeftNoticeString: string;\n unnamedParticipantString: string;\n manyParticipantsJoined: string;\n manyParticipantsLeft: string;\n manyUnnamedParticipantsJoined: string;\n manyUnnamedParticipantsLeft: string;\n};\n\n/**\n * sets the announcement string whenever a Participant comes or goes from a call to be\n * used by the system narrator.\n *\n * @returns string to be used by the narrator and Announcer component\n *\n * @internal\n */\nexport const useParticipantChangedAnnouncement = (): string => {\n const locale = useLocale().strings.call;\n const strings = useMemo(() => {\n return {\n participantJoinedNoticeString: locale.participantJoinedNoticeString,\n twoParticipantJoinedNoticeString: locale.twoParticipantJoinedNoticeString,\n threeParticipantJoinedNoticeString: locale.threeParticipantJoinedNoticeString,\n participantLeftNoticeString: locale.participantLeftNoticeString,\n twoParticipantLeftNoticeString: locale.twoParticipantLeftNoticeString,\n threeParticipantLeftNoticeString: locale.threeParticipantLeftNoticeString,\n unnamedParticipantString: locale.unnamedParticipantString,\n manyParticipantsJoined: locale.manyParticipantsJoined,\n manyParticipantsLeft: locale.manyParticipantsLeft,\n manyUnnamedParticipantsJoined: locale.manyUnnamedParticipantsJoined,\n manyUnnamedParticipantsLeft: locale.manyUnnamedParticipantsLeft\n };\n }, [locale]);\n const [announcerString, setAnnouncerString] = useState<string>('');\n const currentParticipants = useSelector(getRemoteParticipantsConnectedSelector);\n /**\n * We want to use a useRef here since we want to not fire this hook based on the previous participants\n * this allows this value to be used in the hook without being in the dependency array.\n *\n * Note: By definition if this hook is used in another component it is not pure anymore.\n */\n const previousParticipants = useRef<RemoteParticipantState[]>(currentParticipants);\n\n const resetAnnoucement = (string: string): void => {\n setAnnouncerString(string);\n };\n\n useMemo(() => {\n const currentIds = currentParticipants.map((p) => toFlatCommunicationIdentifier(p.identifier));\n const previousIds = previousParticipants.current.map((p) => toFlatCommunicationIdentifier(p.identifier));\n const whoJoined = currentParticipants.filter(\n (p) => !previousIds.includes(toFlatCommunicationIdentifier(p.identifier))\n );\n const whoLeft = previousParticipants.current.filter(\n (p) => !currentIds.includes(toFlatCommunicationIdentifier(p.identifier))\n );\n if (whoJoined.length > 0) {\n resetAnnoucement(createAnnouncmentString('joined', whoJoined, strings));\n }\n if (whoLeft.length > 0) {\n resetAnnoucement(createAnnouncmentString('left', whoLeft, strings));\n }\n // Update cached value at the end.\n previousParticipants.current = currentParticipants;\n }, [currentParticipants, strings]);\n return announcerString;\n};\n\n/**\n * Generates the announcement string for when a participant joins or leaves a call.\n */\nexport const createAnnouncmentString = (\n direction: 'joined' | 'left',\n participants: RemoteParticipantState[],\n strings: ParticipantChangedAnnouncmentStrings\n): string => {\n /**\n * If there are no participants return empty string.\n */\n if (participants.length === 0) {\n return '';\n }\n /**\n * Filter participants into two arrays to put all the unnamed participants at the back of the\n * names being announced.\n */\n const unnamedParticipants = participants.filter((p) => !p.displayName);\n const namedParicipants = participants.filter((p) => p.displayName);\n const sortedParticipants = namedParicipants.concat(unnamedParticipants);\n\n /**\n * if there are only unnamed participants present in the array announce a special unnamed participants\n * only string.\n */\n if (sortedParticipants.filter((p) => p.displayName).length === 0 && sortedParticipants.length > 1) {\n return _formatString(\n direction === 'joined' ? strings.manyUnnamedParticipantsJoined : strings.manyUnnamedParticipantsLeft,\n {\n numOfParticipants: (sortedParticipants.length - 1).toString()\n }\n );\n }\n const participantNames = sortedParticipants.map((p) => p.displayName ?? strings.unnamedParticipantString);\n\n switch (sortedParticipants.length) {\n case 1:\n return _formatString(\n direction === 'joined' ? strings.participantJoinedNoticeString : strings.participantLeftNoticeString,\n { displayName: participantNames[0] }\n );\n case 2:\n return _formatString(\n direction === 'joined' ? strings.twoParticipantJoinedNoticeString : strings.twoParticipantLeftNoticeString,\n {\n displayName1: participantNames[0],\n displayName2: participantNames[1]\n }\n );\n case 3:\n return _formatString(\n direction === 'joined' ? strings.threeParticipantJoinedNoticeString : strings.threeParticipantLeftNoticeString,\n {\n displayName1: participantNames[0],\n displayName2: participantNames[1],\n displayName3: participantNames[2]\n }\n );\n }\n\n /**\n * If we have more than 3 participants joining we need to do something more to announce them\n * appropriately.\n *\n * We don't want to announce every name when more than 3 participants join at once so\n * we parse out the first 3 names we have and announce those with the number of others.\n */\n\n const numberOfExtraParticipants = sortedParticipants.length - 3;\n\n return _formatString(direction === 'joined' ? strings.manyParticipantsJoined : strings.manyParticipantsLeft, {\n displayName1: sortedParticipants[0].displayName ?? strings.unnamedParticipantString,\n displayName2: sortedParticipants[1].displayName ?? strings.unnamedParticipantString,\n displayName3: sortedParticipants[2].displayName ?? strings.unnamedParticipantString,\n numOfParticipants: numberOfExtraParticipants.toString()\n });\n};\n\"../../../../../acs-ui-common/src\"\"../../../../../calling-stateful-client/src\""]}
@@ -96,23 +96,21 @@ export const CallWithChatControlBar = (props) => {
96
96
  disabled: props.disableButtonsForHoldScreen || isDisabled(options.screenShareButton) })),
97
97
  /* @conditional-compile-remove(control-bar-button-injection) */
98
98
  (_a = customButtons['primary']) === null || _a === void 0 ? void 0 :
99
- _a.slice(0, props.mobileView
99
+ _a.props.children.slice(0, props.mobileView
100
100
  ? CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_MOBILE_CUSTOM_BUTTONS
101
- : CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_DESKTOP_CUSTOM_BUTTONS).map((CustomButton, i) => {
102
- return (React.createElement(CustomButton, { key: `primary-custom-button-${i}`, styles: commonButtonStyles, showLabel: options.displayType !== 'compact' }));
101
+ : CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_DESKTOP_CUSTOM_BUTTONS).map((element) => {
102
+ return (React.createElement(element.type, Object.assign({}, element.props, { key: element.props.strings.label, styles: commonButtonStyles, displayType: options.displayType, showLabel: options.displayType !== 'compact' })));
103
103
  }),
104
104
  props.mobileView && (React.createElement(MoreButton, { "data-ui-id": "call-with-chat-composite-more-button", strings: moreButtonStrings, onClick: props.onMoreButtonClicked, disabled: props.disableButtonsForLobbyPage })),
105
105
  /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ isEnabled(options === null || options === void 0 ? void 0 : options.moreButton) &&
106
106
  /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ isEnabled(options === null || options === void 0 ? void 0 : options.holdButton) &&
107
- !props.mobileView && (React.createElement(DesktopMoreButton, { disableButtonsForHoldScreen: props.disableButtonsForHoldScreen, styles: commonButtonStyles, onClickShowDialpad: props.onClickShowDialpad,
108
- /* @conditional-compile-remove(control-bar-button-injection) */
109
- callControls: props.callControls })),
107
+ !props.mobileView && (React.createElement(DesktopMoreButton, { disableButtonsForHoldScreen: props.disableButtonsForHoldScreen, styles: commonButtonStyles, onClickShowDialpad: props.onClickShowDialpad })),
110
108
  React.createElement(EndCall, { displayType: "compact", styles: endCallButtonStyles })))))),
111
109
  !props.mobileView && (React.createElement(Stack, { horizontal: true, className: !props.mobileView ? mergeStyles(desktopButtonContainerStyle) : undefined },
112
110
  /* @conditional-compile-remove(control-bar-button-injection) */
113
111
  (_b = customButtons['secondary']) === null || _b === void 0 ? void 0 :
114
- _b.slice(0, CUSTOM_BUTTON_OPTIONS.MAX_SECONDARY_DESKTOP_CUSTOM_BUTTONS).map((CustomButton, i) => {
115
- return (React.createElement(CustomButton, { key: `secondary-custom-button-${i}`, styles: commonButtonStyles, showLabel: options.displayType !== 'compact' }));
112
+ _b.props.children.slice(0, CUSTOM_BUTTON_OPTIONS.MAX_SECONDARY_DESKTOP_CUSTOM_BUTTONS).map((element) => {
113
+ return (React.createElement(element.type, Object.assign({}, element.props, { key: element.props.key, styles: commonButtonStyles, displayType: options.displayType, showLabel: options.displayType !== 'compact' })));
116
114
  }),
117
115
  isEnabled(options === null || options === void 0 ? void 0 : options.peopleButton) && (React.createElement(PeopleButton, { checked: props.peopleButtonChecked, showLabel: options.displayType !== 'compact', onClick: props.onPeopleButtonClicked, "data-ui-id": "call-with-chat-composite-people-button", disabled: props.disableButtonsForLobbyPage || isDisabled(options.peopleButton), strings: peopleButtonStrings, styles: commonButtonStyles })),
118
116
  isEnabled(options === null || options === void 0 ? void 0 : options.chatButton) && chatButton))));