@azure/communication-react 1.8.0-alpha-202309070012 → 1.8.0-alpha-202309090012

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 (31) hide show
  1. package/dist/communication-react.d.ts +15 -4
  2. package/dist/dist-cjs/communication-react/index.js +115 -40
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  6. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +1 -1
  7. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  8. package/dist/dist-esm/react-components/src/components/DevicesButton.d.ts +4 -4
  9. package/dist/dist-esm/react-components/src/components/DevicesButton.js +1 -1
  10. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  11. package/dist/dist-esm/react-components/src/components/index.d.ts +2 -2
  12. package/dist/dist-esm/react-components/src/components/index.js +1 -1
  13. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  14. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +0 -1
  15. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  16. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +1 -1
  17. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  18. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +90 -34
  19. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
  20. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +12 -0
  21. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +17 -3
  22. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  23. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +3 -0
  24. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  25. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +4 -1
  26. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  27. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +4 -1
  28. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  29. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +4 -1
  30. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  31. package/package.json +36 -36
@@ -1135,7 +1135,7 @@ export declare interface CallAdapterSubscribers {
1135
1135
  */
1136
1136
  on(event: 'transferRequested', listener: TransferRequestedListener): void;
1137
1137
  /**
1138
- * Unsubscribe function for 'capabilitiesChanged' event.
1138
+ * Subscribe function for 'capabilitiesChanged' event.
1139
1139
  */
1140
1140
  on(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;
1141
1141
  /**
@@ -2209,7 +2209,7 @@ export declare type CallErrors = {
2209
2209
  *
2210
2210
  * @public
2211
2211
  */
2212
- export declare type CallErrorTarget = 'Call.addParticipant' | 'Call.dispose' | 'Call.feature' | 'Call.hangUp' | 'Call.hold' | 'Call.mute' | 'Call.muteIncomingAudio' | 'Call.off' | 'Call.on' | 'Call.removeParticipant' | 'Call.resume' | 'Call.sendDtmf' | 'Call.startAudio' | 'Call.startScreenSharing' | 'Call.startVideo' | 'Call.stopScreenSharing' | 'Call.stopAudio' | 'Call.stopVideo' | 'Call.unmute' | 'Call.unmuteIncomingAudio' | 'CallAgent.dispose' | 'CallAgent.feature' | 'CallAgent.join' | 'CallAgent.off' | 'CallAgent.on' | 'CallAgent.startCall' | 'CallClient.createCallAgent' | 'CallClient.createTeamsCallAgent' | 'CallClient.feature' | 'CallClient.getDeviceManager' | /* @conditional-compile-remove(calling-beta-sdk) */ 'CallClient.getEnvironmentInfo' | 'DeviceManager.askDevicePermission' | 'DeviceManager.getCameras' | 'DeviceManager.getMicrophones' | 'DeviceManager.getSpeakers' | 'DeviceManager.off' | 'DeviceManager.on' | 'DeviceManager.selectMicrophone' | 'DeviceManager.selectSpeaker' | 'IncomingCall.accept' | 'IncomingCall.reject' | /* @conditional-compile-remove(calling-beta-sdk) */ /* @conditional-compile-remove(teams-identity-support) */ 'TeamsCall.addParticipant' | 'VideoEffectsFeature.startEffects' | /* @conditional-compile-remove(calling-beta-sdk) */ 'CallAgent.handlePushNotification' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.admit' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.rejectParticipant' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.admitAll';
2212
+ export declare type CallErrorTarget = 'Call.addParticipant' | 'Call.dispose' | 'Call.feature' | 'Call.hangUp' | 'Call.hold' | 'Call.mute' | 'Call.muteIncomingAudio' | 'Call.off' | 'Call.on' | 'Call.removeParticipant' | 'Call.resume' | 'Call.sendDtmf' | 'Call.startAudio' | 'Call.startScreenSharing' | 'Call.startVideo' | 'Call.stopScreenSharing' | 'Call.stopAudio' | 'Call.stopVideo' | 'Call.unmute' | 'Call.unmuteIncomingAudio' | 'CallAgent.dispose' | 'CallAgent.feature' | 'CallAgent.join' | 'CallAgent.off' | 'CallAgent.on' | 'CallAgent.startCall' | 'CallClient.createCallAgent' | 'CallClient.createTeamsCallAgent' | 'CallClient.feature' | 'CallClient.getDeviceManager' | /* @conditional-compile-remove(calling-beta-sdk) */ 'CallClient.getEnvironmentInfo' | 'DeviceManager.askDevicePermission' | 'DeviceManager.getCameras' | 'DeviceManager.getMicrophones' | 'DeviceManager.getSpeakers' | 'DeviceManager.off' | 'DeviceManager.on' | 'DeviceManager.selectMicrophone' | 'DeviceManager.selectSpeaker' | 'IncomingCall.accept' | 'IncomingCall.reject' | /* @conditional-compile-remove(calling-beta-sdk) */ /* @conditional-compile-remove(teams-identity-support) */ 'TeamsCall.addParticipant' | 'VideoEffectsFeature.startEffects' | /* @conditional-compile-remove(calling-beta-sdk) */ 'CallAgent.handlePushNotification' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.admit' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.rejectParticipant' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.admitAll' | /* @conditional-compile-remove(calling-beta-sdk) */ 'Call.setConstraints';
2213
2213
 
2214
2214
  /**
2215
2215
  * Callback for {@link CallAdapterSubscribers} 'callIdChanged' event.
@@ -2861,6 +2861,7 @@ export declare interface CallWithChatAdapterSubscriptions {
2861
2861
  on(event: 'isCaptionsActiveChanged', listener: IsCaptionsActiveChangedListener): void;
2862
2862
  on(event: 'isCaptionLanguageChanged', listener: IsCaptionLanguageChangedListener): void;
2863
2863
  on(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;
2864
+ on(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;
2864
2865
  off(event: 'callEnded', listener: CallEndedListener): void;
2865
2866
  off(event: 'isMutedChanged', listener: IsMutedChangedListener): void;
2866
2867
  off(event: 'callIdChanged', listener: CallIdChangedListener): void;
@@ -2876,6 +2877,7 @@ export declare interface CallWithChatAdapterSubscriptions {
2876
2877
  off(event: 'isCaptionsActiveChanged', listener: IsCaptionsActiveChangedListener): void;
2877
2878
  off(event: 'isCaptionLanguageChanged', listener: IsCaptionLanguageChangedListener): void;
2878
2879
  off(event: 'isSpokenLanguageChanged', listener: IsSpokenLanguageChangedListener): void;
2880
+ off(event: 'capabilitiesChanged', listener: CapabilitiesChangedListener): void;
2879
2881
  on(event: 'messageReceived', listener: MessageReceivedListener): void;
2880
2882
  on(event: 'messageSent', listener: MessageSentListener): void;
2881
2883
  on(event: 'messageRead', listener: MessageReadListener): void;
@@ -3113,6 +3115,16 @@ export declare type CallWithChatCompositeOptions = {
3113
3115
  * if this is not supplied, the composite will not show a unsupported browser page.
3114
3116
  */
3115
3117
  onEnvironmentInfoTroubleshootingClick?: () => void;
3118
+ /**
3119
+ * Remote participant video tile menu options
3120
+ */
3121
+ remoteVideoTileMenuOptions?: RemoteVideoTileMenuOptions;
3122
+ /**
3123
+ * Options for controlling the local video tile.
3124
+ *
3125
+ * @remarks if 'false' the local video tile will not be rendered.
3126
+ */
3127
+ localVideoTile?: boolean | LocalVideoTileOptions;
3116
3128
  /**
3117
3129
  * Options for controlling the starting layout of the composite's video gallery
3118
3130
  */
@@ -3339,7 +3351,7 @@ export declare interface CallWithChatControlOptions extends CommonCallControlOpt
3339
3351
  *
3340
3352
  * @public
3341
3353
  */
3342
- export declare type CallWithChatEvent = 'callError' | 'chatError' | 'callEnded' | 'isMutedChanged' | 'callIdChanged' | 'isLocalScreenSharingActiveChanged' | 'displayNameChanged' | 'isSpeakingChanged' | 'callParticipantsJoined' | 'callParticipantsLeft' | 'selectedMicrophoneChanged' | 'selectedSpeakerChanged' | /* @conditional-compile-remove(close-captions) */ 'isCaptionsActiveChanged' | /* @conditional-compile-remove(close-captions) */ 'captionsReceived' | /* @conditional-compile-remove(close-captions) */ 'isCaptionLanguageChanged' | /* @conditional-compile-remove(close-captions) */ 'isSpokenLanguageChanged' | 'messageReceived' | 'messageSent' | 'messageRead' | 'chatParticipantsAdded' | 'chatParticipantsRemoved';
3354
+ export declare type CallWithChatEvent = 'callError' | 'chatError' | 'callEnded' | 'isMutedChanged' | 'callIdChanged' | 'isLocalScreenSharingActiveChanged' | 'displayNameChanged' | 'isSpeakingChanged' | 'callParticipantsJoined' | 'callParticipantsLeft' | 'selectedMicrophoneChanged' | 'selectedSpeakerChanged' | /* @conditional-compile-remove(close-captions) */ 'isCaptionsActiveChanged' | /* @conditional-compile-remove(close-captions) */ 'captionsReceived' | /* @conditional-compile-remove(close-captions) */ 'isCaptionLanguageChanged' | /* @conditional-compile-remove(close-captions) */ 'isSpokenLanguageChanged' | /* @conditional-compile-remove(capabilities) */ 'capabilitiesChanged' | 'messageReceived' | 'messageSent' | 'messageRead' | 'chatParticipantsAdded' | 'chatParticipantsRemoved';
3343
3355
 
3344
3356
  /**
3345
3357
  * @beta
@@ -7139,7 +7151,6 @@ export declare interface LocalVideoTileOptions {
7139
7151
  * @remarks 'grid' - local video tile will be rendered in the grid view of the videoGallery.
7140
7152
  * 'floating' - local video tile will be rendered in the floating position and will observe overflow gallery
7141
7153
  * local video tile rules and be docked in the bottom corner.
7142
- * 'hidden' - local video tile will not be rendered.
7143
7154
  * This does not affect the Configuration screen or the side pane Picture in Picture in Picture view.
7144
7155
  */
7145
7156
  position?: 'grid' | 'floating';
@@ -178,7 +178,7 @@ const _isValidIdentifier = (identifier) => {
178
178
  // Copyright (c) Microsoft Corporation.
179
179
  // Licensed under the MIT license.
180
180
  // GENERATED FILE. DO NOT EDIT MANUALLY.
181
- var telemetryVersion = '1.8.0-alpha-202309070012';
181
+ var telemetryVersion = '1.8.0-alpha-202309090012';
182
182
 
183
183
  // Copyright (c) Microsoft Corporation.
184
184
  /**
@@ -15365,7 +15365,7 @@ const _HighContrastAwareIcon = (props) => {
15365
15365
  * Generates default {@link IContextualMenuProps} for buttons that
15366
15366
  * show a drop-down to select devices to use.
15367
15367
  *
15368
- * @private
15368
+ * @internal
15369
15369
  */
15370
15370
  const generateDefaultDeviceMenuProps = (props, strings, primaryActionItem, isSelectCamAllowed = true, isSelectMicAllowed = true) => {
15371
15371
  var _a, _b;
@@ -23744,7 +23744,29 @@ const CallControls = (props) => {
23744
23744
  const raiseHandButtonProps = usePropsFor$1(RaiseHandButton);
23745
23745
  /* @conditional-compile-remove(PSTN-calls) */
23746
23746
  const alternateCallerId = useAdapter().getState().alternateCallerId;
23747
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */ /* @conditional-compile-remove(raise-hand) */
23747
+ const devicesButtonProps = usePropsFor$1(DevicesButton);
23748
+ let numberOfButtons = 0;
23749
+ const screenShareButtonIsEnabled = isEnabled$2(options === null || options === void 0 ? void 0 : options.screenShareButton);
23750
+ if (screenShareButtonIsEnabled) {
23751
+ numberOfButtons++;
23752
+ }
23753
+ const microphoneButtonIsEnabled = isEnabled$2(options === null || options === void 0 ? void 0 : options.microphoneButton);
23754
+ if (microphoneButtonIsEnabled) {
23755
+ numberOfButtons++;
23756
+ }
23757
+ const cameraButtonIsEnabled = isEnabled$2(options === null || options === void 0 ? void 0 : options.cameraButton);
23758
+ if (cameraButtonIsEnabled) {
23759
+ numberOfButtons++;
23760
+ }
23761
+ if (isEnabled$2(options === null || options === void 0 ? void 0 : options.endCallButton)) {
23762
+ numberOfButtons++;
23763
+ }
23764
+ const showParticipantsButtonInControlBar = isEnabled$2(options === null || options === void 0 ? void 0 : options.participantsButton) &&
23765
+ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(PSTN-calls) */
23766
+ !props.isMobile;
23767
+ if (showParticipantsButtonInControlBar) {
23768
+ numberOfButtons++;
23769
+ }
23748
23770
  const moreButtonContextualMenuItems = () => {
23749
23771
  const items = [];
23750
23772
  if (props.isMobile && props.onPeopleButtonClicked && isEnabled$2(options === null || options === void 0 ? void 0 : options.participantsButton)) {
@@ -23795,32 +23817,72 @@ const CallControls = (props) => {
23795
23817
  }
23796
23818
  });
23797
23819
  }
23798
- /* @conditional-compile-remove(raise-hand) */
23799
- if (raiseHandButtonIsEnabled) {
23800
- items.push({
23801
- key: 'raiseHandButtonKey',
23802
- text: raiseHandButtonProps.checked
23803
- ? localeStrings.component.strings.raiseHandButton.onLabel
23804
- : localeStrings.component.strings.raiseHandButton.offLabel,
23805
- onClick: () => {
23806
- if (raiseHandButtonProps.onToggleRaiseHand) {
23807
- raiseHandButtonProps.onToggleRaiseHand();
23808
- }
23809
- },
23810
- iconProps: { iconName: 'RaiseHandContextualMenuItem', styles: { root: { lineHeight: 0 } } },
23811
- itemProps: {
23812
- styles: buttonFlyoutIncreasedSizeStyles
23813
- },
23814
- disabled: isDisabled$3(options === null || options === void 0 ? void 0 : options.raiseHandButton),
23815
- ['data-ui-id']: 'raise-hand-button'
23816
- });
23817
- }
23818
23820
  return items;
23819
23821
  };
23822
+ const moreButtonMenuItems = moreButtonContextualMenuItems();
23823
+ let showMoreButton = isEnabled$2(options === null || options === void 0 ? void 0 : options.moreButton) && moreButtonMenuItems.length > 0;
23824
+ if (showMoreButton) {
23825
+ numberOfButtons++;
23826
+ }
23827
+ const customButtons = React.useMemo(() => generateCustomControlBarButtons$1(onFetchCustomButtonPropsTrampoline$1(options), options === null || options === void 0 ? void 0 : options.displayType), [options]);
23828
+ numberOfButtons += React__default['default'].Children.count(customButtons['primary']) + React__default['default'].Children.count(customButtons['secondary']);
23829
+ let showDevicesButtonInControlBar = isEnabled$2(options === null || options === void 0 ? void 0 : options.devicesButton);
23830
+ if (showDevicesButtonInControlBar && (props.isMobile ? numberOfButtons < 5 : true)) {
23831
+ numberOfButtons++;
23832
+ }
23833
+ else {
23834
+ showDevicesButtonInControlBar = false;
23835
+ showMoreButton = isEnabled$2(options === null || options === void 0 ? void 0 : options.moreButton);
23836
+ }
23837
+ /* @conditional-compile-remove(raise-hand) */
23838
+ const raiseHandButtonIsEnabled = isEnabled$2(options === null || options === void 0 ? void 0 : options.raiseHandButton);
23839
+ /* @conditional-compile-remove(raise-hand) */
23840
+ let showRaiseHandButtonInControlBar = raiseHandButtonIsEnabled;
23841
+ /* @conditional-compile-remove(raise-hand) */
23842
+ if (showRaiseHandButtonInControlBar && (props.isMobile ? numberOfButtons < 5 : true)) {
23843
+ numberOfButtons++;
23844
+ }
23845
+ else {
23846
+ // If more button is not present but enabled then replace previous button (devices button) with more button
23847
+ if (!showMoreButton && isEnabled$2(options === null || options === void 0 ? void 0 : options.moreButton)) {
23848
+ showMoreButton = true;
23849
+ showDevicesButtonInControlBar = false;
23850
+ }
23851
+ showRaiseHandButtonInControlBar = false;
23852
+ }
23853
+ if (!showDevicesButtonInControlBar) {
23854
+ const devicesButtonMenu = generateDefaultDeviceMenuProps(devicesButtonProps, localeStrings.component.strings.devicesButton);
23855
+ moreButtonMenuItems.push({
23856
+ key: 'devicesButtonKey',
23857
+ text: localeStrings.component.strings.devicesButton.label,
23858
+ iconProps: { iconName: 'ControlButtonOptions', styles: { root: { lineHeight: 0 } } },
23859
+ subMenuProps: devicesButtonMenu,
23860
+ ['data-ui-id']: 'call-composite-more-menu-devices-button'
23861
+ });
23862
+ }
23863
+ /* @conditional-compile-remove(raise-hand) */
23864
+ if (!showRaiseHandButtonInControlBar) {
23865
+ moreButtonMenuItems.push({
23866
+ key: 'raiseHandButtonKey',
23867
+ text: raiseHandButtonProps.checked
23868
+ ? localeStrings.component.strings.raiseHandButton.onLabel
23869
+ : localeStrings.component.strings.raiseHandButton.offLabel,
23870
+ onClick: () => {
23871
+ if (raiseHandButtonProps.onToggleRaiseHand) {
23872
+ raiseHandButtonProps.onToggleRaiseHand();
23873
+ }
23874
+ },
23875
+ iconProps: { iconName: 'RaiseHandContextualMenuItem', styles: { root: { lineHeight: 0 } } },
23876
+ itemProps: {
23877
+ styles: buttonFlyoutIncreasedSizeStyles
23878
+ },
23879
+ disabled: isDisabled$3(options === null || options === void 0 ? void 0 : options.raiseHandButton),
23880
+ ['data-ui-id']: 'call-composite-more-menu-raise-hand-button'
23881
+ });
23882
+ }
23820
23883
  /* @conditional-compile-remove(PSTN-calls) */
23821
23884
  const [showDialpad, setShowDialpad] = React.useState(false);
23822
23885
  const theme = react.useTheme();
23823
- const customButtons = React.useMemo(() => generateCustomControlBarButtons$1(onFetchCustomButtonPropsTrampoline$1(options), options === null || options === void 0 ? void 0 : options.displayType), [options]);
23824
23886
  // when props.options is false then we want to hide the whole control bar.
23825
23887
  if (props.options === false) {
23826
23888
  return React__default['default'].createElement(React__default['default'].Fragment, null);
@@ -23829,11 +23891,6 @@ const CallControls = (props) => {
23829
23891
  const onDismissDialpad = () => {
23830
23892
  setShowDialpad(false);
23831
23893
  };
23832
- const screenShareButtonIsEnabled = isEnabled$2(options === null || options === void 0 ? void 0 : options.screenShareButton);
23833
- const microphoneButtonIsEnabled = isEnabled$2(options === null || options === void 0 ? void 0 : options.microphoneButton);
23834
- const cameraButtonIsEnabled = isEnabled$2(options === null || options === void 0 ? void 0 : options.cameraButton);
23835
- /* @conditional-compile-remove(raise-hand) */
23836
- const raiseHandButtonIsEnabled = isEnabled$2(options === null || options === void 0 ? void 0 : options.raiseHandButton);
23837
23894
  return (React__default['default'].createElement(react.Stack, { horizontalAlign: "center", className: callControlsContainerStyles },
23838
23895
  /* @conditional-compile-remove(PSTN-calls) */
23839
23896
  React__default['default'].createElement(SendDtmfDialpad, { isMobile: !!props.isMobile, strings: dialpadStrings, showDialpad: showDialpad, onDismissDialpad: onDismissDialpad }),
@@ -23841,16 +23898,14 @@ const CallControls = (props) => {
23841
23898
  React__default['default'].createElement(ControlBar, { layout: props.displayVertical ? 'vertical' : 'horizontal', styles: controlBarStyles(theme.semanticColors.bodyBackground) },
23842
23899
  microphoneButtonIsEnabled && (React__default['default'].createElement(Microphone, { displayType: options === null || options === void 0 ? void 0 : options.displayType, disabled: isDisabled$3(options === null || options === void 0 ? void 0 : options.microphoneButton) })),
23843
23900
  cameraButtonIsEnabled && (React__default['default'].createElement(Camera, { displayType: options === null || options === void 0 ? void 0 : options.displayType, disabled: isDisabled$3(options === null || options === void 0 ? void 0 : options.cameraButton) })),
23844
- /* @conditional-compile-remove(raise-hand) */ raiseHandButtonIsEnabled && !props.isMobile && (React__default['default'].createElement(RaiseHand, { displayType: options === null || options === void 0 ? void 0 : options.displayType })),
23901
+ /* @conditional-compile-remove(raise-hand) */ showRaiseHandButtonInControlBar && (React__default['default'].createElement(RaiseHand, { displayType: options === null || options === void 0 ? void 0 : options.displayType })),
23845
23902
  screenShareButtonIsEnabled && (React__default['default'].createElement(ScreenShare, { option: options === null || options === void 0 ? void 0 : options.screenShareButton, displayType: options === null || options === void 0 ? void 0 : options.displayType, disabled: isDisabled$3(options === null || options === void 0 ? void 0 : options.screenShareButton) })),
23846
- isEnabled$2(options === null || options === void 0 ? void 0 : options.participantsButton) &&
23847
- /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(PSTN-calls) */
23848
- !props.isMobile && (React__default['default'].createElement(Participants, { option: options === null || options === void 0 ? void 0 : options.participantsButton, callInvitationURL: props.callInvitationURL, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, displayType: options === null || options === void 0 ? void 0 : options.displayType, increaseFlyoutItemSize: props.increaseFlyoutItemSize, isMobile: props.isMobile, disabled: isDisabled$3(options === null || options === void 0 ? void 0 : options.participantsButton) })) && (
23903
+ showParticipantsButtonInControlBar && (React__default['default'].createElement(Participants, { option: options === null || options === void 0 ? void 0 : options.participantsButton, callInvitationURL: props.callInvitationURL, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, displayType: options === null || options === void 0 ? void 0 : options.displayType, increaseFlyoutItemSize: props.increaseFlyoutItemSize, isMobile: props.isMobile, disabled: isDisabled$3(options === null || options === void 0 ? void 0 : options.participantsButton) })) && (
23849
23904
  /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(PSTN-calls) */
23850
23905
  React__default['default'].createElement(People, { checked: props.peopleButtonChecked, ariaLabel: peopleButtonStrings === null || peopleButtonStrings === void 0 ? void 0 : peopleButtonStrings.label, showLabel: (options === null || options === void 0 ? void 0 : options.displayType) !== 'compact', onClick: props.onPeopleButtonClicked, "data-ui-id": "call-composite-people-button", strings: peopleButtonStrings, disabled: isDisabled$3(options === null || options === void 0 ? void 0 : options.participantsButton) })),
23851
- isEnabled$2(options === null || options === void 0 ? void 0 : options.devicesButton) && (React__default['default'].createElement(Devices, { displayType: options === null || options === void 0 ? void 0 : options.displayType, increaseFlyoutItemSize: props.increaseFlyoutItemSize, disabled: isDisabled$3(options === null || options === void 0 ? void 0 : options.devicesButton) })),
23906
+ showDevicesButtonInControlBar && (React__default['default'].createElement(Devices, { displayType: options === null || options === void 0 ? void 0 : options.displayType, increaseFlyoutItemSize: props.increaseFlyoutItemSize, disabled: isDisabled$3(options === null || options === void 0 ? void 0 : options.devicesButton) })),
23852
23907
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */ /* @conditional-compile-remove(raise-hand) */
23853
- isEnabled$2(options === null || options === void 0 ? void 0 : options.moreButton) && moreButtonContextualMenuItems().length > 0 && (React__default['default'].createElement(MoreButton, { "data-ui-id": "common-call-composite-more-button", strings: moreButtonStrings, menuIconProps: { hidden: true }, menuProps: { items: moreButtonContextualMenuItems() }, showLabel: (options === null || options === void 0 ? void 0 : options.displayType) !== 'compact' })),
23908
+ showMoreButton && (React__default['default'].createElement(MoreButton, { "data-ui-id": "common-call-composite-more-button", strings: moreButtonStrings, menuIconProps: { hidden: true }, menuProps: { items: moreButtonMenuItems }, showLabel: (options === null || options === void 0 ? void 0 : options.displayType) !== 'compact' })),
23854
23909
  customButtons['primary'],
23855
23910
  isEnabled$2(options === null || options === void 0 ? void 0 : options.endCallButton) && React__default['default'].createElement(EndCall, { displayType: options === null || options === void 0 ? void 0 : options.displayType })))));
23856
23911
  };
@@ -24235,7 +24290,10 @@ const DesktopMoreButton = (props) => {
24235
24290
  }
24236
24291
  }
24237
24292
  }
24238
- ]
24293
+ ],
24294
+ calloutProps: {
24295
+ preventDismissOnEvent: _preventDismissOnEvent
24296
+ }
24239
24297
  }
24240
24298
  });
24241
24299
  }
@@ -24559,7 +24617,10 @@ const getDesktopEndCallButtonStyles = (theme) => {
24559
24617
  rootFocused: {
24560
24618
  '@media (forced-colors: active)': {
24561
24619
  background: 'highlight',
24562
- border: '1px solid'
24620
+ color: 'highlightText',
24621
+ borderColor: theme.palette.black,
24622
+ borderRadius: 'unset',
24623
+ outline: `3px solid ${theme.palette.black}`
24563
24624
  }
24564
24625
  },
24565
24626
  icon: {
@@ -30975,8 +31036,12 @@ const CallWithChatScreen = (props) => {
30975
31036
  onPermissionsTroubleshootingClick: props.onPermissionsTroubleshootingClick,
30976
31037
  /* @conditional-compile-remove(unsupported-browser) */
30977
31038
  onEnvironmentInfoTroubleshootingClick: props.onEnvironmentInfoTroubleshootingClick,
31039
+ /* @conditional-compile-remove(pinned-participants) */
31040
+ remoteVideoTileMenuOptions: props.remoteVideoTileMenuOptions,
30978
31041
  /* @conditional-compile-remove(gallery-layouts) */
30979
- galleryOptions: props.galleryOptions
31042
+ galleryOptions: props.galleryOptions,
31043
+ /* @conditional-compile-remove(click-to-call) */
31044
+ localVideoTile: props.localVideoTile
30980
31045
  }), [
30981
31046
  props.callControls,
30982
31047
  callControlOptionsFromProps,
@@ -30992,7 +31057,11 @@ const CallWithChatScreen = (props) => {
30992
31057
  /* @conditional-compile-remove(call-readiness) */
30993
31058
  props.onPermissionsTroubleshootingClick,
30994
31059
  /* @conditional-compile-remove(gallery-layouts) */
30995
- props.galleryOptions
31060
+ props.galleryOptions,
31061
+ /* @conditional-compile-remove(click-to-call) */
31062
+ props.localVideoTile,
31063
+ /* @conditional-compile-remove(pinned-participants) */
31064
+ props.remoteVideoTileMenuOptions
30996
31065
  ]);
30997
31066
  const onRenderChatContent = React.useCallback(() => (React__default['default'].createElement(ChatComposite, Object.assign({}, chatProps, { fluentTheme: theme, options: {
30998
31067
  topic: false,
@@ -31044,8 +31113,14 @@ const CallWithChatComposite = (props) => {
31044
31113
  React__default['default'].createElement(CallWithChatScreen, Object.assign({}, props, {
31045
31114
  /* @conditional-compile-remove(call-readiness) */
31046
31115
  deviceChecks: options === null || options === void 0 ? void 0 : options.deviceChecks, callWithChatAdapter: adapter, formFactor: formFactor, callControls: options === null || options === void 0 ? void 0 : options.callControls, joinInvitationURL: joinInvitationURL, fluentTheme: fluentTheme,
31116
+ /* @conditional-compile-remove(pinned-participants) */
31117
+ remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenuOptions,
31047
31118
  /* @conditional-compile-remove(file-sharing) */
31048
- fileSharing: options === null || options === void 0 ? void 0 : options.fileSharing }))));
31119
+ fileSharing: options === null || options === void 0 ? void 0 : options.fileSharing,
31120
+ /* @conditional-compile-remove(click-to-call) */
31121
+ localVideoTile: options === null || options === void 0 ? void 0 : options.localVideoTile,
31122
+ /* @conditional-compile-remove(gallery-layouts) */
31123
+ galleryOptions: options === null || options === void 0 ? void 0 : options.galleryOptions }))));
31049
31124
  };
31050
31125
  const hasJoinedCallFn = (page, callStatus) => {
31051
31126
  /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(one-to-n-calling) */