@azure/communication-react 1.8.1-alpha-202309260012 → 1.8.1-alpha-202309270012

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 (36) hide show
  1. package/dist/communication-react.d.ts +4 -0
  2. package/dist/dist-cjs/communication-react/index.js +127 -52
  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/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +1 -1
  7. package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
  8. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js +3 -1
  9. package/dist/dist-esm/react-components/src/components/VideoGallery/DefaultLayout.js.map +1 -1
  10. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js +1 -1
  11. package/dist/dist-esm/react-components/src/components/VideoGallery/LargeGalleryLayout.js.map +1 -1
  12. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.d.ts +2 -0
  13. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +3 -1
  14. package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
  15. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.d.ts +2 -0
  16. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js +7 -2
  17. package/dist/dist-esm/react-components/src/components/VideoGallery/ScrollableHorizontalGallery.js.map +1 -1
  18. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.d.ts +1 -1
  19. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +11 -9
  20. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -1
  21. package/dist/dist-esm/react-components/src/components/VideoGallery.js +11 -4
  22. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  23. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +5 -1
  24. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  25. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.d.ts +4 -0
  26. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/Strings.js.map +1 -1
  27. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +32 -32
  28. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  29. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.d.ts +10 -0
  30. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +51 -0
  31. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  32. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.d.ts +3 -0
  33. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js +3 -1
  34. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  35. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +1 -0
  36. package/package.json +8 -8
@@ -3248,6 +3248,10 @@ export declare interface CallWithChatCompositeStrings {
3248
3248
  * Only used with `mobileView` set to `true`.
3249
3249
  */
3250
3250
  moreDrawerCaptionLanguageMenuTitle: string;
3251
+ /**
3252
+ * Title for the gallery options sub-menu in the more button drawer.
3253
+ */
3254
+ moreDrawerGalleryOptionsMenuTitle: string;
3251
3255
  /**
3252
3256
  * {@Link CallWithChatComposite} control bar More button label
3253
3257
  */
@@ -176,7 +176,7 @@ const _isValidIdentifier = (identifier) => {
176
176
  // Copyright (c) Microsoft Corporation.
177
177
  // Licensed under the MIT License.
178
178
  // GENERATED FILE. DO NOT EDIT MANUALLY.
179
- var telemetryVersion = '1.8.1-alpha-202309260012';
179
+ var telemetryVersion = '1.8.1-alpha-202309270012';
180
180
 
181
181
  // Copyright (c) Microsoft Corporation.
182
182
  /**
@@ -13525,15 +13525,17 @@ const scrollableHorizontalGalleryStyles = {
13525
13525
  /**
13526
13526
  * @private
13527
13527
  */
13528
- const scrollableHorizontalGalleryContainerStyles = react.mergeStyles({
13529
- display: 'flex',
13530
- width: `calc(100% - ${SMALL_FLOATING_MODAL_SIZE_REM.width}rem)`,
13531
- minHeight: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
13532
- overflow: 'scroll',
13533
- '-ms-overflow-style': 'none',
13534
- 'scrollbar-width': 'none',
13535
- '::-webkit-scrollbar': { display: 'none' }
13536
- });
13528
+ const scrollableHorizontalGalleryContainerStyles = (fullWidth) => {
13529
+ return react.mergeStyles({
13530
+ display: 'flex',
13531
+ width: fullWidth ? '100%' : `calc(100% - ${SMALL_FLOATING_MODAL_SIZE_REM.width}rem)`,
13532
+ minHeight: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
13533
+ overflow: 'scroll',
13534
+ '-ms-overflow-style': 'none',
13535
+ 'scrollbar-width': 'none',
13536
+ '::-webkit-scrollbar': { display: 'none' }
13537
+ });
13538
+ };
13537
13539
 
13538
13540
  // Copyright (c) Microsoft Corporation.
13539
13541
  /**
@@ -13541,7 +13543,11 @@ const scrollableHorizontalGalleryContainerStyles = react.mergeStyles({
13541
13543
  * @private
13542
13544
  */
13543
13545
  const ScrollableHorizontalGallery = (props) => {
13544
- const { horizontalGalleryElements, onFetchTilesToRender } = props;
13546
+ const { horizontalGalleryElements, onFetchTilesToRender, /* @conditional-compile-remove(gallery-layouts) */ layout } = props;
13547
+ const useFullWidthTrampoline = () => {
13548
+ /* @conditional-compile-remove(gallery-layouts) */
13549
+ return layout === 'default' ? true : false;
13550
+ };
13545
13551
  React.useEffect(() => {
13546
13552
  const indexesArray = [...Array(horizontalGalleryElements === null || horizontalGalleryElements === void 0 ? void 0 : horizontalGalleryElements.length).keys()];
13547
13553
  if (onFetchTilesToRender && indexesArray) {
@@ -13550,7 +13556,7 @@ const ScrollableHorizontalGallery = (props) => {
13550
13556
  }, [onFetchTilesToRender, horizontalGalleryElements === null || horizontalGalleryElements === void 0 ? void 0 : horizontalGalleryElements.length]);
13551
13557
  const ref = React.useRef();
13552
13558
  const { events: dragabbleEvents } = reactUseDraggableScroll.useDraggable(ref);
13553
- return (React__default["default"].createElement("div", Object.assign({ ref: ref }, dragabbleEvents, { className: scrollableHorizontalGalleryContainerStyles }),
13559
+ return (React__default["default"].createElement("div", Object.assign({ ref: ref }, dragabbleEvents, { className: scrollableHorizontalGalleryContainerStyles(useFullWidthTrampoline()) }),
13554
13560
  React__default["default"].createElement(react.Stack, { "data-ui-id": "scrollable-horizontal-gallery", horizontal: true, styles: scrollableHorizontalGalleryStyles, tokens: { childrenGap: '0.5rem' } }, horizontalGalleryElements)));
13555
13561
  };
13556
13562
 
@@ -13600,7 +13606,9 @@ const OverflowGallery = (props) => {
13600
13606
  // There are no pages for ScrollableHorizontalGallery so we will approximate the first 3 remote
13601
13607
  // participant tiles are visible
13602
13608
  onChildrenPerPageChange === null || onChildrenPerPageChange === void 0 ? void 0 : onChildrenPerPageChange(3);
13603
- return (React__default["default"].createElement(ScrollableHorizontalGallery, { horizontalGalleryElements: overflowGalleryElements ? overflowGalleryElements : [React__default["default"].createElement(React__default["default"].Fragment, null)], onFetchTilesToRender: onFetchTilesToRender, key: "scrollable-horizontal-gallery" }));
13609
+ return (React__default["default"].createElement(ScrollableHorizontalGallery, { horizontalGalleryElements: overflowGalleryElements ? overflowGalleryElements : [React__default["default"].createElement(React__default["default"].Fragment, null)], onFetchTilesToRender: onFetchTilesToRender, key: "scrollable-horizontal-gallery",
13610
+ /* @conditional-compile-remove(gallery-layouts) */
13611
+ layout: props.layout }));
13604
13612
  }
13605
13613
  return (React__default["default"].createElement(ResponsiveHorizontalGallery, { key: "responsive-horizontal-gallery", containerStyles: containerStyles, onFetchTilesToRender: onFetchTilesToRender, horizontalGalleryStyles: galleryStyles, buttonWidthRem: HORIZONTAL_GALLERY_BUTTON_WIDTH, gapWidthRem: HORIZONTAL_GALLERY_GAP, onChildrenPerPageChange: onChildrenPerPageChange }, overflowGalleryElements ? overflowGalleryElements : [React__default["default"].createElement(React__default["default"].Fragment, null)]));
13606
13614
  };
@@ -13672,7 +13680,9 @@ const DefaultLayout = (props) => {
13672
13680
  /* @conditional-compile-remove(vertical-gallery) */
13673
13681
  overflowGalleryPosition: overflowGalleryPosition, onFetchTilesToRender: setIndexesToRender, onChildrenPerPageChange: (n) => {
13674
13682
  childrenPerPage.current = n;
13675
- } }));
13683
+ },
13684
+ /* @conditional-compile-remove(gallery-layouts) */
13685
+ layout: 'default' }));
13676
13686
  }, [
13677
13687
  isNarrow,
13678
13688
  /* @conditional-compile-remove(vertical-gallery) */ isShort,
@@ -14746,7 +14756,7 @@ const LargeGalleryLayout = (props) => {
14746
14756
  ? childrenPerPage.current - ((pinnedParticipantUserIds.length + 1) % childrenPerPage.current)
14747
14757
  : childrenPerPage.current,
14748
14758
  /* @conditional-compile-remove(pinned-participants) */ pinnedParticipantUserIds,
14749
- /* @conditional-compile-remove(gallery-layouts) */ layout: 'largeGallery'
14759
+ /* @conditional-compile-remove(large-gallery) */ layout: 'largeGallery'
14750
14760
  });
14751
14761
  let activeVideoStreams = 0;
14752
14762
  const gridTiles = gridParticipants.map((p) => {
@@ -14923,10 +14933,14 @@ const VideoGallery = (props) => {
14923
14933
  root: { borderRadius: theme.effects.roundedCorner4 }
14924
14934
  }, styles === null || styles === void 0 ? void 0 : styles.localVideo);
14925
14935
  const initialsName = !localParticipant.displayName ? '' : localParticipant.displayName;
14936
+ const showDisplayNameTrampoline = () => {
14937
+ /* @conditional-compile-remove(gallery-layouts) */
14938
+ return layout === 'default' ? strings.localVideoLabel : isNarrow ? '' : strings.localVideoLabel;
14939
+ };
14926
14940
  return (React__default["default"].createElement(react.Stack, { styles: localVideoTileContainerStyles, key: "local-video-tile-key", tabIndex: 0, "aria-label": strings.localVideoMovementLabel, role: 'dialog' },
14927
- React__default["default"].createElement(_LocalVideoTile, { userId: localParticipant.userId, onCreateLocalStreamView: onCreateLocalStreamView, onDisposeLocalStreamView: onDisposeLocalStreamView, isAvailable: (_a = localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable, isMuted: localParticipant.isMuted, renderElement: (_b = localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.videoStream) === null || _b === void 0 ? void 0 : _b.renderElement, displayName: isNarrow ? '' : strings.localVideoLabel, initialsName: initialsName, localVideoViewOptions: localVideoViewOptions, onRenderAvatar: onRenderAvatar, showLabel: !((localTileNotInGrid && isNarrow) ||
14941
+ React__default["default"].createElement(_LocalVideoTile, { userId: localParticipant.userId, onCreateLocalStreamView: onCreateLocalStreamView, onDisposeLocalStreamView: onDisposeLocalStreamView, isAvailable: (_a = localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable, isMuted: localParticipant.isMuted, renderElement: (_b = localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.videoStream) === null || _b === void 0 ? void 0 : _b.renderElement, displayName: showDisplayNameTrampoline(), initialsName: initialsName, localVideoViewOptions: localVideoViewOptions, onRenderAvatar: onRenderAvatar, showLabel: !((localTileNotInGrid && isNarrow) ||
14928
14942
  /*@conditional-compile-remove(click-to-call) */ /* @conditional-compile-remove(rooms) */ localVideoTileSize ===
14929
- '9:16'), showMuteIndicator: showMuteIndicator, showCameraSwitcherInLocalPreview: showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps: localVideoCameraCycleButtonProps, localVideoCameraSwitcherLabel: strings.localVideoCameraSwitcherLabel, localVideoSelectedDescription: strings.localVideoSelectedDescription, styles: localVideoTileStyles,
14943
+ '9:16') || /* @conditional-compile-remove(gallery-layouts) */ layout === 'default', showMuteIndicator: showMuteIndicator, showCameraSwitcherInLocalPreview: showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps: localVideoCameraCycleButtonProps, localVideoCameraSwitcherLabel: strings.localVideoCameraSwitcherLabel, localVideoSelectedDescription: strings.localVideoSelectedDescription, styles: localVideoTileStyles,
14930
14944
  /* @conditional-compile-remove(raise-hand) */
14931
14945
  raisedHand: localParticipant.raisedHand })));
14932
14946
  }, [
@@ -14948,7 +14962,9 @@ const VideoGallery = (props) => {
14948
14962
  styles === null || styles === void 0 ? void 0 : styles.localVideo,
14949
14963
  theme.effects.roundedCorner4,
14950
14964
  /*@conditional-compile-remove(click-to-call) */
14951
- localVideoTileSize
14965
+ localVideoTileSize,
14966
+ /* @conditional-compile-remove(gallery-layouts) */
14967
+ layout
14952
14968
  ]);
14953
14969
  /* @conditional-compile-remove(pinned-participants) */
14954
14970
  const onPinParticipant = React.useCallback((userId) => {
@@ -17255,7 +17271,7 @@ const _VideoBackgroundEffectsPicker = (props) => {
17255
17271
  optionsByRow.map((options, rowIndex) => {
17256
17272
  var _a;
17257
17273
  return (React__default["default"].createElement(react.Stack, { className: react.mergeStyles((_a = props.styles) === null || _a === void 0 ? void 0 : _a.rowRoot), wrap: props.itemsPerRow === 'wrap', horizontal: true, key: rowIndex, tokens: { childrenGap: '0.5rem' }, "data-ui-id": "video-effects-picker-row" },
17258
- options.map((option) => (React__default["default"].createElement(react.FocusZone, { key: option.itemKey, shouldFocusOnMount: option.itemKey === 'none' },
17274
+ options.map((option) => (React__default["default"].createElement(react.FocusZone, { key: option.itemKey, shouldFocusOnMount: option.itemKey.includes('none') },
17259
17275
  React__default["default"].createElement(_VideoEffectsItem, Object.assign({}, option, { itemKey: option.itemKey }))))),
17260
17276
  fillCount > 0 &&
17261
17277
  rowIndex === optionsByRow.length - 1 &&
@@ -20578,7 +20594,7 @@ const CallCompositeIcon = (props) => (React__default["default"].createElement(re
20578
20594
  */
20579
20595
  const CallWithChatCompositeIcon = (props) => (React__default["default"].createElement(react.FontIcon, Object.assign({}, props)));
20580
20596
 
20581
- var call$k={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",deniedPermissionToRoomDetails:"You do not have permission to join this room.",deniedPermissionToRoomTitle:"Permission denied to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"Room ID provided is not valid.",roomNotFoundTitle:"Room not found",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"Gallery options",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker layout",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic layout",moreButtonGalleryDefaultLayoutLabel:"Gallery layout",moreButtonGalleryFocusedContentLayoutLabel:"Focused content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."}}};var chat$k={chatListHeader:"In this chat",uploadFile:"Upload File"};var callWithChat$k={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number"};var en_US = {call:call$k,chat:chat$k,callWithChat:callWithChat$k};
20597
+ var call$k={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",deniedPermissionToRoomDetails:"You do not have permission to join this room.",deniedPermissionToRoomTitle:"Permission denied to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"Room ID provided is not valid.",roomNotFoundTitle:"Room not found",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"Gallery options",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker layout",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic layout",moreButtonGalleryDefaultLayoutLabel:"Gallery layout",moreButtonGalleryFocusedContentLayoutLabel:"Focused content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."}}};var chat$k={chatListHeader:"In this chat",uploadFile:"Upload File"};var callWithChat$k={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number"};var en_US = {call:call$k,chat:chat$k,callWithChat:callWithChat$k};
20582
20598
 
20583
20599
  // Copyright (c) Microsoft Corporation.
20584
20600
  /**
@@ -24012,7 +24028,7 @@ var __awaiter$e = (window && window.__awaiter) || function (thisArg, _arguments,
24012
24028
  * @private
24013
24029
  */
24014
24030
  const DesktopMoreButton = (props) => {
24015
- var _a, _b, _c;
24031
+ var _a, _b, _c, _d, _e;
24016
24032
  /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */
24017
24033
  const localeStrings = useLocale();
24018
24034
  /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
@@ -24154,6 +24170,7 @@ const DesktopMoreButton = (props) => {
24154
24170
  styles: menuSubIconStyleSet
24155
24171
  },
24156
24172
  text: localeStrings.strings.call.moreButtonGalleryControlLabel,
24173
+ disabled: props.disableButtonsForHoldScreen,
24157
24174
  subMenuProps: {
24158
24175
  items: [
24159
24176
  {
@@ -24231,33 +24248,6 @@ const DesktopMoreButton = (props) => {
24231
24248
  iconName: 'FocusedContentGalleryLayout',
24232
24249
  styles: { root: { lineHeight: 0 } }
24233
24250
  }
24234
- },
24235
- { key: 'dividerLayoutsKey', itemType: react.ContextualMenuItemType.Divider },
24236
- {
24237
- key: 'topKey',
24238
- text: localeStrings.strings.call.moreButtonGalleryPositionToggleLabel,
24239
- canCheck: true,
24240
- topDivider: true,
24241
- itemProps: {
24242
- styles: buttonFlyoutIncreasedSizeStyles
24243
- },
24244
- iconProps: {
24245
- iconName: 'OverflowGalleryTop',
24246
- styles: { root: { lineHeight: 0 } }
24247
- },
24248
- isChecked: galleryPositionTop,
24249
- onClick: () => {
24250
- if (galleryPositionTop === false) {
24251
- props.onUserSetOverflowGalleryPositionChange &&
24252
- props.onUserSetOverflowGalleryPositionChange('HorizontalTop');
24253
- setGalleryPositionTop(true);
24254
- }
24255
- else {
24256
- props.onUserSetOverflowGalleryPositionChange &&
24257
- props.onUserSetOverflowGalleryPositionChange('Responsive');
24258
- setGalleryPositionTop(false);
24259
- }
24260
- }
24261
24251
  }
24262
24252
  ],
24263
24253
  calloutProps: {
@@ -24266,7 +24256,7 @@ const DesktopMoreButton = (props) => {
24266
24256
  }
24267
24257
  };
24268
24258
  /* @conditional-compile-remove(large-gallery) */
24269
- const largeGalleryOption = {
24259
+ const largeGalleryOptions = {
24270
24260
  key: 'largeGallerySelectionKey',
24271
24261
  text: localeStrings.strings.call.moreButtonLargeGalleryDefaultLayoutLabel,
24272
24262
  canCheck: true,
@@ -24283,8 +24273,36 @@ const DesktopMoreButton = (props) => {
24283
24273
  styles: { root: { lineHeight: 0 } }
24284
24274
  }
24285
24275
  };
24276
+ /* @conditional-compile-remove(gallery-layouts) */
24277
+ const overflowGalleryOptions = {
24278
+ key: 'topKey',
24279
+ text: localeStrings.strings.call.moreButtonGalleryPositionToggleLabel,
24280
+ canCheck: true,
24281
+ topDivider: true,
24282
+ itemProps: {
24283
+ styles: buttonFlyoutIncreasedSizeStyles
24284
+ },
24285
+ iconProps: {
24286
+ iconName: 'OverflowGalleryTop',
24287
+ styles: { root: { lineHeight: 0 } }
24288
+ },
24289
+ isChecked: galleryPositionTop,
24290
+ onClick: () => {
24291
+ if (galleryPositionTop === false) {
24292
+ props.onUserSetOverflowGalleryPositionChange && props.onUserSetOverflowGalleryPositionChange('HorizontalTop');
24293
+ setGalleryPositionTop(true);
24294
+ }
24295
+ else {
24296
+ props.onUserSetOverflowGalleryPositionChange && props.onUserSetOverflowGalleryPositionChange('Responsive');
24297
+ setGalleryPositionTop(false);
24298
+ }
24299
+ }
24300
+ };
24286
24301
  /* @conditional-compile-remove(large-gallery) */
24287
- (_c = (_b = galleryOptions.subMenuProps) === null || _b === void 0 ? void 0 : _b.items) === null || _c === void 0 ? void 0 : _c.push(largeGalleryOption);
24302
+ (_c = (_b = galleryOptions.subMenuProps) === null || _b === void 0 ? void 0 : _b.items) === null || _c === void 0 ? void 0 : _c.push(largeGalleryOptions);
24303
+ /* @conditional-compile-remove(gallery-layouts) */
24304
+ (_e = (_d = galleryOptions.subMenuProps) === null || _d === void 0 ? void 0 : _d.items) === null || _e === void 0 ? void 0 : _e.push(overflowGalleryOptions);
24305
+ /* @conditional-compile-remove(gallery-layouts) */
24288
24306
  moreButtonContextualMenuItems.push(galleryOptions);
24289
24307
  }
24290
24308
  /* @conditional-compile-remove(control-bar-button-injection) */
@@ -24851,6 +24869,57 @@ const MoreDrawer = (props) => {
24851
24869
  secondaryText: (_b = props.selectedMicrophone) === null || _b === void 0 ? void 0 : _b.name
24852
24870
  });
24853
24871
  }
24872
+ /* @conditional-compile-remove(gallery-layouts) */
24873
+ drawerMenuItems.push({
24874
+ itemKey: 'overflowGalleryPositionKey',
24875
+ iconProps: {
24876
+ iconName: 'GalleryOptions',
24877
+ styles: { root: { lineHeight: 0 } }
24878
+ },
24879
+ disabled: props.disableButtonsForHoldScreen,
24880
+ text: localeStrings.strings.call.moreButtonGalleryControlLabel,
24881
+ subMenuProps: [
24882
+ {
24883
+ itemKey: 'dynamicSelectionKey',
24884
+ text: localeStrings.strings.call.moreButtonGalleryFloatingLocalLayoutLabel,
24885
+ onItemClick: () => {
24886
+ props.onUserSetGalleryLayout && props.onUserSetGalleryLayout('floatingLocalVideo');
24887
+ onLightDismiss();
24888
+ },
24889
+ iconProps: {
24890
+ iconName: 'FloatingLocalVideoGalleryLayout',
24891
+ styles: { root: { lineHeight: 0 } }
24892
+ },
24893
+ secondaryIconProps: props.userSetGalleryLayout === 'floatingLocalVideo' ? { iconName: 'Accept' } : undefined
24894
+ },
24895
+ {
24896
+ itemKey: 'defaultSelectionKey',
24897
+ text: localeStrings.strings.call.moreButtonGalleryDefaultLayoutLabel,
24898
+ onItemClick: () => {
24899
+ props.onUserSetGalleryLayout && props.onUserSetGalleryLayout('default');
24900
+ onLightDismiss();
24901
+ },
24902
+ iconProps: {
24903
+ iconName: 'DefaultGalleryLayout',
24904
+ styles: { root: { lineHeight: 0 } }
24905
+ },
24906
+ secondaryIconProps: props.userSetGalleryLayout === 'default' ? { iconName: 'Accept' } : undefined
24907
+ },
24908
+ {
24909
+ itemKey: 'focusedContentSelectionKey',
24910
+ text: localeStrings.strings.call.moreButtonGalleryFocusedContentLayoutLabel,
24911
+ onItemClick: () => {
24912
+ props.onUserSetGalleryLayout && props.onUserSetGalleryLayout('focusedContent');
24913
+ onLightDismiss();
24914
+ },
24915
+ iconProps: {
24916
+ iconName: 'FocusedContentGalleryLayout',
24917
+ styles: { root: { lineHeight: 0 } }
24918
+ },
24919
+ secondaryIconProps: props.userSetGalleryLayout === 'focusedContent' ? { iconName: 'Accept' } : undefined
24920
+ }
24921
+ ]
24922
+ });
24854
24923
  if (drawerSelectionOptions !== false && isEnabled(drawerSelectionOptions === null || drawerSelectionOptions === void 0 ? void 0 : drawerSelectionOptions.peopleButton)) {
24855
24924
  drawerMenuItems.push({
24856
24925
  itemKey: 'people',
@@ -25058,7 +25127,9 @@ const PreparedMoreDrawer = (props) => {
25058
25127
  /* @conditional-compile-remove(close-captions) */
25059
25128
  spokenLanguageMenuTitle: strings.moreDrawerSpokenLanguageMenuTitle,
25060
25129
  /* @conditional-compile-remove(close-captions) */
25061
- captionLanguageMenuTitle: strings.moreDrawerCaptionLanguageMenuTitle
25130
+ captionLanguageMenuTitle: strings.moreDrawerCaptionLanguageMenuTitle,
25131
+ /* @conditional-compile-remove(gallery-layouts) */
25132
+ galleryOptionsMenuTitle: strings.moreDrawerGalleryOptionsMenuTitle
25062
25133
  }), [strings]);
25063
25134
  const deviceProps = useSelector$1(moreDrawerSelector);
25064
25135
  const callHandlers = useHandlers();
@@ -26584,7 +26655,11 @@ const CallArrangement = (props) => {
26584
26655
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
26585
26656
  disableButtonsForHoldScreen: isInLocalHold,
26586
26657
  /* @conditional-compile-remove(close-captions) */
26587
- isCaptionsSupported: isTeamsCall && hasJoinedCall }))),
26658
+ isCaptionsSupported: isTeamsCall && hasJoinedCall,
26659
+ /* @conditional-compile-remove(gallery-layouts) */
26660
+ onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange,
26661
+ /* @conditional-compile-remove(gallery-layouts) */
26662
+ userSetGalleryLayout: props.userSetGalleryLayout }))),
26588
26663
  /* @conditional-compile-remove(PSTN-calls) */
26589
26664
  ((_h = props.callControlProps) === null || _h === void 0 ? void 0 : _h.options) !== false && showDtmfDialpad && (React__default["default"].createElement(react.Stack, { styles: drawerContainerStylesValue },
26590
26665
  React__default["default"].createElement(SendDtmfDialpad, { isMobile: props.mobileView, strings: dialpadStrings, showDialpad: showDtmfDialpad, onDismissDialpad: onDismissDtmfDialpad }))),