@azure/communication-react 1.18.0-alpha-202407191547 → 1.18.0-alpha-202407262302
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/communication-react.d.ts +15 -23
 - package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-ChK7xe6Z.js → ChatMessageComponentAsRichTextEditBox-CmXCpkwp.js} +5 -33
 - package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-CmXCpkwp.js.map +1 -0
 - package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-BLCHZv_g.js → RichTextSendBoxWrapper-DI4k0qyf.js} +2 -2
 - package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-BLCHZv_g.js.map → RichTextSendBoxWrapper-DI4k0qyf.js.map} +1 -1
 - package/dist/dist-cjs/communication-react/{index-BWVQuckY.js → index-BSczaURy.js} +184 -249
 - package/dist/dist-cjs/communication-react/index-BSczaURy.js.map +1 -0
 - package/dist/dist-cjs/communication-react/index.js +1 -1
 - package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
 - package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
 - package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +1 -1
 - package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +3 -3
 - package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
 - package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +2 -2
 - package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
 - package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +1 -3
 - package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
 - package/dist/dist-esm/calling-stateful-client/src/CallContext.js +2 -2
 - package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
 - package/dist/dist-esm/calling-stateful-client/src/Converter.js +1 -1
 - package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
 - package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +3 -5
 - package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js +8 -14
 - package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +4 -35
 - package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +1 -6
 - package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.d.ts +8 -8
 - package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js +4 -4
 - package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +1 -0
 - package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +14 -21
 - package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +2 -2
 - package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js +17 -15
 - package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/styles/Common.style.d.ts +1 -1
 - package/dist/dist-esm/react-components/src/components/styles/Common.style.js +1 -2
 - package/dist/dist-esm/react-components/src/components/styles/Common.style.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +2 -5
 - package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +3 -0
 - package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +2 -6
 - package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +12 -57
 - package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
 - package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +1 -1
 - package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
 - package/dist/dist-esm/react-components/src/localization/locales/ar-SA/strings.json +64 -102
 - package/dist/dist-esm/react-components/src/localization/locales/cs-CZ/strings.json +62 -100
 - package/dist/dist-esm/react-components/src/localization/locales/de-DE/strings.json +62 -100
 - package/dist/dist-esm/react-components/src/localization/locales/en-GB/strings.json +62 -100
 - package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +1 -1
 - package/dist/dist-esm/react-components/src/localization/locales/es-ES/strings.json +62 -100
 - package/dist/dist-esm/react-components/src/localization/locales/fi-FI/strings.json +62 -100
 - package/dist/dist-esm/react-components/src/localization/locales/fr-FR/strings.json +65 -103
 - package/dist/dist-esm/react-components/src/localization/locales/he-IL/strings.json +62 -100
 - package/dist/dist-esm/react-components/src/localization/locales/it-IT/strings.json +62 -100
 - package/dist/dist-esm/react-components/src/localization/locales/ja-JP/strings.json +64 -102
 - package/dist/dist-esm/react-components/src/localization/locales/ko-KR/strings.json +69 -107
 - package/dist/dist-esm/react-components/src/localization/locales/nb-NO/strings.json +62 -100
 - package/dist/dist-esm/react-components/src/localization/locales/nl-NL/strings.json +68 -106
 - package/dist/dist-esm/react-components/src/localization/locales/pl-PL/strings.json +67 -105
 - package/dist/dist-esm/react-components/src/localization/locales/pt-BR/strings.json +65 -103
 - package/dist/dist-esm/react-components/src/localization/locales/ru-RU/strings.json +63 -101
 - package/dist/dist-esm/react-components/src/localization/locales/sv-SE/strings.json +62 -100
 - package/dist/dist-esm/react-components/src/localization/locales/tr-TR/strings.json +63 -101
 - package/dist/dist-esm/react-components/src/localization/locales/zh-CN/strings.json +64 -102
 - package/dist/dist-esm/react-components/src/localization/locales/zh-TW/strings.json +63 -101
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +4 -4
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +10 -10
 - package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js +4 -4
 - package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +2 -6
 - package/dist/dist-esm/react-composites/src/composites/common/icons.js +1 -5
 - package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +5 -10
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +1 -6
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +1 -6
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +1 -6
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +1 -6
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +5 -10
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +5 -10
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +5 -10
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +5 -10
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +1 -6
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +5 -10
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +1 -6
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +1 -6
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +1 -6
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +5 -10
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +1 -6
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +5 -10
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +1 -6
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +5 -10
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +5 -10
 - package/package.json +7 -7
 - package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-ChK7xe6Z.js.map +0 -1
 - package/dist/dist-cjs/communication-react/index-BWVQuckY.js.map +0 -1
 
    
        package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"CommonCallControlBar.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/common/ControlBar/CommonCallControlBar.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { useMemo, useRef, useEffect, useState, useCallback } from 'react';\nimport { CallAdapterProvider } from '../../CallComposite/adapter/CallAdapterProvider';\nimport { CallAdapter } from '../../CallComposite';\nimport { PeopleButton } from './PeopleButton';\nimport {\n  concatStyleSets,\n  IButton,\n  IStyle,\n  ITheme,\n  mergeStyles,\n  mergeStyleSets,\n  Stack,\n  useTheme\n} from '@fluentui/react';\nimport { controlBarContainerStyles } from '../../CallComposite/styles/CallControls.styles';\nimport { callControlsContainerStyles } from '../../CallComposite/styles/CallPage.styles';\nimport { useCallWithChatCompositeStrings } from '../../CallWithChatComposite/hooks/useCallWithChatCompositeStrings';\nimport { BaseCustomStyles, ControlBarButtonStyles } from '@internal/react-components';\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport { ControlBar } from '@internal/react-components';\nimport { Microphone } from '../../CallComposite/components/buttons/Microphone';\nimport { Camera } from '../../CallComposite/components/buttons/Camera';\nimport { ScreenShare } from '../../CallComposite/components/buttons/ScreenShare';\nimport { EndCall } from '../../CallComposite/components/buttons/EndCall';\nimport { MoreButton } from '../MoreButton';\nimport { ContainerRectProps } from '../ContainerRectProps';\nimport {\n  CUSTOM_BUTTON_OPTIONS,\n  generateCustomCallControlBarButton,\n  onFetchCustomButtonPropsTrampoline\n} from './CustomButton';\nimport { DesktopMoreButton } from './DesktopMoreButton';\nimport { isDisabled } from '../../CallComposite/utils';\nimport { HiddenFocusStartPoint } from '../HiddenFocusStartPoint';\nimport { CallWithChatControlOptions } from '../../CallWithChatComposite';\nimport { CommonCallControlOptions } from '../types/CommonCallControlOptions';\nimport { CaptionsSettingsModal } from '../CaptionsSettingsModal';\nimport { RaiseHand } from '../../CallComposite/components/buttons/RaiseHand';\nimport { Reaction } from '../../CallComposite/components/buttons/Reaction';\nimport { useSelector } from '../../CallComposite/hooks/useSelector';\nimport { capabilitySelector } from '../../CallComposite/selectors/capabilitySelector';\nimport { DtmfDialpadButton } from './DtmfDialerButton';\nimport { ExitSpotlightButton } from '../ExitSpotlightButton';\nimport { useLocale } from '../../localization';\n/* @conditional-compile-remove(end-call-options) */\nimport { isBoolean } from '../utils';\n/* @conditional-compile-remove(end-call-options) */\nimport { getIsTeamsCall } from '../../CallComposite/selectors/baseSelectors';\nimport { callStatusSelector } from '../../CallComposite/selectors/callStatusSelector';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { MeetingConferencePhoneInfoModal } from '@internal/react-components';\n\n/**\n * @private\n */\nexport interface CommonCallControlBarProps {\n  callAdapter: CallAdapter;\n  peopleButtonChecked: boolean;\n  onPeopleButtonClicked: () => void;\n  onMoreButtonClicked?: () => void;\n  mobileView: boolean;\n  disableButtonsForLobbyPage: boolean;\n  callControls?: boolean | CommonCallControlOptions | CallWithChatControlOptions;\n  disableButtonsForHoldScreen?: boolean;\n  /* @conditional-compile-remove(PSTN-calls) */\n  onClickShowDialpad?: () => void;\n  onClickVideoEffects?: (showVideoEffects: boolean) => void;\n  isCaptionsSupported?: boolean;\n  isCaptionsOn?: boolean;\n  displayVertical?: boolean;\n  onUserSetOverflowGalleryPositionChange?: (position: 'Responsive' | 'horizontalTop') => void;\n  onUserSetGalleryLayout?: (layout: VideoGalleryLayout) => void;\n  userSetGalleryLayout?: VideoGalleryLayout;\n  peopleButtonRef?: React.RefObject<IButton>;\n  cameraButtonRef?: React.RefObject<IButton>;\n  videoBackgroundPickerRef?: React.RefObject<IButton>;\n  onSetDialpadPage?: () => void;\n  dtmfDialerPresent?: boolean;\n  onStopLocalSpotlight?: () => void;\n  useTeamsCaptions?: boolean;\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  onToggleTeamsMeetingConferenceModal?: () => void;\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  teamsMeetingConferenceModalPresent?: boolean;\n}\n\nconst inferCommonCallControlOptions = (\n  mobileView: boolean,\n  commonCallControlOptions?: boolean | CallWithChatControlOptions\n): CallWithChatControlOptions | false => {\n  if (commonCallControlOptions === false) {\n    return false;\n  }\n\n  const options =\n    commonCallControlOptions === true || commonCallControlOptions === undefined ? {} : commonCallControlOptions;\n  if (mobileView) {\n    // Set to compressed mode when composite is optimized for mobile\n    options.displayType = 'compact';\n    // Set options to always not show screen share button for mobile\n    options.screenShareButton = false;\n  }\n  return options;\n};\n\n/**\n * @private\n */\nexport const CommonCallControlBar = (props: CommonCallControlBarProps & ContainerRectProps): JSX.Element => {\n  const theme = useTheme();\n  const rtl = theme.rtl;\n\n  const controlBarContainerRef = useRef<HTMLHeadingElement>(null);\n  const sidepaneControlsRef = useRef<HTMLHeadingElement>(null);\n  const controlBarSizeRef = useRef<HTMLHeadingElement>(null);\n\n  const [controlBarButtonsWidth, setControlBarButtonsWidth] = useState(0);\n  const [panelsButtonsWidth, setPanelsButtonsWidth] = useState(0);\n  const [controlBarContainerWidth, setControlBarContainerWidth] = useState(0);\n\n  const [totalButtonsWidth, setTotalButtonsWidth] = useState(0);\n  const [isOutOfSpace, setIsOutOfSpace] = useState(false);\n\n  const callWithChatStrings = useCallWithChatCompositeStrings();\n  const options = inferCommonCallControlOptions(props.mobileView, props.callControls);\n\n  const [showCaptionsSettingsModal, setShowCaptionsSettingsModal] = useState(false);\n\n  /* @conditional-compile-remove(end-call-options) */\n  // If the hangup capability is not present, we default to true\n  const isHangUpForEveryoneAllowed =\n    useSelector((state) => state.call?.capabilitiesFeature?.capabilities.hangUpForEveryOne.isPresent) ?? true;\n  /* @conditional-compile-remove(end-call-options) */\n  const isTeams = useSelector(getIsTeamsCall);\n\n  const handleResize = useCallback((): void => {\n    setControlBarButtonsWidth(controlBarContainerRef.current ? controlBarContainerRef.current.offsetWidth : 0);\n    setPanelsButtonsWidth(sidepaneControlsRef.current ? sidepaneControlsRef.current.offsetWidth : 0);\n    setControlBarContainerWidth(controlBarSizeRef.current ? controlBarSizeRef.current.offsetWidth : 0);\n  }, []);\n\n  // on load set inital width\n  useEffect(() => {\n    setControlBarButtonsWidth(controlBarContainerRef.current ? controlBarContainerRef.current.offsetWidth : 0);\n    setPanelsButtonsWidth(sidepaneControlsRef.current ? sidepaneControlsRef.current.offsetWidth : 0);\n    setControlBarContainerWidth(controlBarSizeRef.current ? controlBarSizeRef.current.offsetWidth : 0);\n  }, []);\n\n  // get the current width of control bar buttons and panel control buttons when browser size change\n  useEffect(() => {\n    window.addEventListener('resize', handleResize);\n    return () => window.removeEventListener('resize', handleResize);\n  }, [handleResize]);\n\n  /* when size change, reset total buttons width and compare with the control bar container width\n  if the total width of those buttons exceed container width, do not center the control bar buttons based on parent container width\n  Instead let them take up the remaining white space on the left */\n  useEffect(() => {\n    // white space on the left when control bar buttons are centered based on container width + control bar buttons width + panel control buttons width\n    setTotalButtonsWidth(\n      (controlBarContainerWidth - controlBarButtonsWidth) / 2 + controlBarButtonsWidth + panelsButtonsWidth\n    );\n  }, [controlBarButtonsWidth, panelsButtonsWidth, controlBarContainerWidth]);\n\n  useEffect(() => {\n    setIsOutOfSpace(totalButtonsWidth > controlBarContainerWidth);\n  }, [totalButtonsWidth, controlBarContainerWidth]);\n\n  const openCaptionsSettingsModal = useCallback((): void => {\n    setShowCaptionsSettingsModal(true);\n  }, []);\n\n  const onDismissCaptionsSettings = useCallback((): void => {\n    setShowCaptionsSettingsModal(false);\n  }, []);\n\n  const peopleButtonStrings = useMemo(\n    () => ({\n      label: callWithChatStrings.peopleButtonLabel,\n      selectedLabel: callWithChatStrings.selectedPeopleButtonLabel,\n      tooltipOpenAriaLabel: callWithChatStrings.peopleButtonTooltipOpenAriaLabel,\n      tooltipCloseAriaLabel: callWithChatStrings.peopleButtonTooltipCloseAriaLabel,\n      tooltipOffContent: callWithChatStrings.peopleButtonTooltipOpen,\n      tooltipOnContent: callWithChatStrings.peopleButtonTooltipClose\n    }),\n    [callWithChatStrings]\n  );\n  const moreButtonStrings = useMemo(\n    () => ({\n      label: callWithChatStrings.moreDrawerButtonLabel,\n      tooltipContent: callWithChatStrings.moreDrawerButtonTooltip\n    }),\n    [callWithChatStrings]\n  );\n  const callStrings = useLocale().strings.call;\n  const exitSpotlightButtonStrings = useMemo(\n    () => ({\n      label: callStrings.exitSpotlightButtonLabel,\n      tooltipContent: callStrings.exitSpotlightButtonTooltip\n    }),\n    [callStrings]\n  );\n\n  const centerContainerStyles = useMemo(() => {\n    const styles: BaseCustomStyles = !props.mobileView ? desktopControlBarStyles : {};\n    return mergeStyleSets(styles, {\n      root: {\n        // Enforce a background color on control bar to ensure it matches the composite background color.\n        background: theme.semanticColors.bodyBackground\n      }\n    });\n  }, [props.mobileView, theme.semanticColors.bodyBackground]);\n  const screenShareButtonStyles = useMemo(\n    () => (!props.mobileView ? getDesktopScreenShareButtonStyles(theme) : undefined),\n    [props.mobileView, theme]\n  );\n  const commonButtonStyles = useMemo(\n    () => (!props.mobileView ? getDesktopCommonButtonStyles(theme) : undefined),\n    [props.mobileView, theme]\n  );\n  const endCallButtonStyles = useMemo(\n    () => (!props.mobileView ? getDesktopEndCallButtonStyles(theme) : undefined),\n    [props.mobileView, theme]\n  );\n\n  const controlBarWrapperDesktopStyles: IStyle = useMemo(\n    // only center control bar buttons based on parent container if there are enough space on the screen and not mobile\n    () => (!props.mobileView && !isOutOfSpace ? (rtl ? wrapperDesktopRtlStyles : wrapperDesktopStyles) : {}),\n    [props.mobileView, rtl, isOutOfSpace]\n  );\n\n  // only center control bar buttons based on parent container if there are enough space on the screen and not mobile\n  const controlBarDesktopContainerStyles: IStyle = useMemo(\n    () => (!props.mobileView && !isOutOfSpace ? { position: 'relative', minHeight: '4.5rem', width: '100%' } : {}),\n    [props.mobileView, isOutOfSpace]\n  );\n\n  const customButtons = useMemo(\n    () =>\n      generateCustomCallControlBarButton(\n        onFetchCustomButtonPropsTrampoline(options !== false ? options : undefined),\n        options !== false ? options?.displayType : undefined\n      ),\n    [options]\n  );\n\n  const capabilitiesSelector = useSelector(capabilitySelector);\n  const callState = useSelector(callStatusSelector);\n  const isReactionAllowed =\n    callState.callStatus !== 'Connected' ||\n    !capabilitiesSelector?.capabilities ||\n    capabilitiesSelector.capabilities.useReactions.isPresent;\n\n  // when options is false then we want to hide the whole control bar.\n  if (options === false) {\n    return <></>;\n  }\n\n  const sideButtonsPresent =\n    isEnabled(options.peopleButton) || isEnabled(options.chatButton) || customButtons['secondary'] !== undefined;\n\n  const screenShareButtonIsEnabled = isEnabled(options?.screenShareButton);\n\n  const microphoneButtonIsEnabled = isEnabled(options?.microphoneButton);\n\n  const cameraButtonIsEnabled = isEnabled(options?.cameraButton);\n\n  const showExitSpotlightButton = options?.exitSpotlightButton !== false;\n\n  const showCaptionsButton =\n    props.isCaptionsSupported &&\n    /* @conditional-compile-remove(acs-close-captions) */ isEnabled(options.captionsButton);\n\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  const showTeamsMeetingPhoneCallButton = isEnabled(options?.teamsMeetingPhoneCallButton);\n\n  const showDesktopMoreButton =\n    isEnabled(options?.moreButton) &&\n    (false ||\n      /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ isEnabled(\n        options?.holdButton\n      ) ||\n      showCaptionsButton ||\n      props.onUserSetGalleryLayout);\n\n  const role = props.callAdapter.getState().call?.role;\n  const hideRaiseHandButtonInRoomsCall =\n    props.callAdapter.getState().isRoomsCall && role && ['Consumer', 'Unknown'].includes(role);\n  const reactionResources = props.callAdapter.getState().reactions;\n\n  return (\n    <div ref={controlBarSizeRef}>\n      <CallAdapterProvider adapter={props.callAdapter}>\n        {showCaptionsSettingsModal && (\n          <CaptionsSettingsModal\n            showCaptionsSettingsModal={showCaptionsSettingsModal}\n            onDismissCaptionsSettings={onDismissCaptionsSettings}\n            changeCaptionLanguage={props.isCaptionsOn && props.useTeamsCaptions}\n          />\n        )}\n        {\n          /* @conditional-compile-remove(teams-meeting-conference) */ props.teamsMeetingConferenceModalPresent && (\n            <MeetingConferencePhoneInfoModal\n              conferencePhoneInfoList={props.callAdapter.getState().call?.meetingConference?.conferencePhones ?? []}\n              showModal={props.teamsMeetingConferenceModalPresent}\n              onDismissMeetingPhoneInfoSettings={props.onToggleTeamsMeetingConferenceModal}\n            />\n          )\n        }\n      </CallAdapterProvider>\n      <Stack\n        horizontal\n        reversed={!props.mobileView && !isOutOfSpace}\n        horizontalAlign=\"space-between\"\n        className={mergeStyles(\n          callControlsContainerStyles,\n          controlBarContainerStyles,\n          controlBarDesktopContainerStyles\n        )}\n      >\n        <Stack.Item grow className={mergeStyles(controlBarWrapperDesktopStyles)}>\n          <CallAdapterProvider adapter={props.callAdapter}>\n            <Stack horizontalAlign=\"center\">\n              {/*\n              HiddenFocusStartPoint is a util component used when we can't ensure the initial element for first\n              tab focus is at the top of dom tree. It moves the first-tab focus to the next interact-able element\n              immediately after it in the dom tree.\n              */}\n              <HiddenFocusStartPoint />\n              <Stack.Item>\n                {/*\n                  Note: We use the layout=\"horizontal\" instead of dockedBottom because of how we position the\n                  control bar. The control bar exists in a Stack below the MediaGallery. The MediaGallery is\n                  set to grow and fill the remaining space not taken up by the ControlBar. If we were to use\n                  dockedBottom it has position absolute and would therefore float on top of the media gallery,\n                  occluding some of its content.\n                */}\n                <div ref={controlBarContainerRef}>\n                  <ControlBar layout={props.displayVertical ? 'vertical' : 'horizontal'} styles={centerContainerStyles}>\n                    {microphoneButtonIsEnabled && (\n                      <Microphone\n                        displayType={options.displayType}\n                        styles={commonButtonStyles}\n                        splitButtonsForDeviceSelection={!props.mobileView}\n                        /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n                        disabled={props.disableButtonsForHoldScreen || isDisabled(options.microphoneButton)}\n                        disableTooltip={props.mobileView}\n                      />\n                    )}\n                    {cameraButtonIsEnabled && (\n                      <Camera\n                        displayType={options.displayType}\n                        styles={commonButtonStyles}\n                        splitButtonsForDeviceSelection={!props.mobileView}\n                        /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n                        disabled={props.disableButtonsForHoldScreen || isDisabled(options.cameraButton)}\n                        onClickVideoEffects={props.onClickVideoEffects}\n                        componentRef={props.cameraButtonRef}\n                        disableTooltip={props.mobileView}\n                      />\n                    )}\n                    {!props.mobileView &&\n                      isReactionAllowed &&\n                      isEnabled(options.reactionButton) &&\n                      reactionResources && (\n                        <Reaction\n                          displayType={options.displayType}\n                          styles={commonButtonStyles}\n                          disabled={props.disableButtonsForHoldScreen}\n                          reactionResource={reactionResources}\n                        />\n                      )}\n                    {!props.mobileView && isEnabled(options.raiseHandButton) && !hideRaiseHandButtonInRoomsCall && (\n                      <RaiseHand\n                        displayType={options.displayType}\n                        styles={commonButtonStyles}\n                        /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n                        disabled={props.disableButtonsForHoldScreen || isDisabled(options.microphoneButton)}\n                      />\n                    )}\n                    {showDtmfDialerButton(options) && props.onSetDialpadPage !== undefined && (\n                      <DtmfDialpadButton\n                        styles={commonButtonStyles}\n                        displayType={options.displayType}\n                        onClick={() => {\n                          if (props.onSetDialpadPage !== undefined) {\n                            props.onSetDialpadPage();\n                          }\n                        }}\n                      />\n                    )}\n                    {showExitSpotlightButton && props.onStopLocalSpotlight && (\n                      <ExitSpotlightButton\n                        displayType={options.displayType}\n                        onClick={props.onStopLocalSpotlight}\n                        styles={commonButtonStyles}\n                        strings={exitSpotlightButtonStrings}\n                      />\n                    )}\n                    {screenShareButtonIsEnabled && (\n                      <ScreenShare\n                        option={options.screenShareButton}\n                        displayType={options.displayType}\n                        styles={screenShareButtonStyles}\n                        /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n                        disabled={props.disableButtonsForHoldScreen || isDisabled(options.screenShareButton)}\n                      />\n                    )}\n                    {customButtons['primary']\n                      ?.slice(\n                        0,\n                        props.mobileView\n                          ? CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_MOBILE_CUSTOM_BUTTONS\n                          : CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_DESKTOP_CUSTOM_BUTTONS\n                      )\n                      .map((CustomButton, i) => {\n                        return (\n                          <CustomButton\n                            key={`primary-custom-button-${i}`}\n                            styles={commonButtonStyles}\n                            showLabel={options.displayType !== 'compact'}\n                            disableTooltip={props.mobileView}\n                          />\n                        );\n                      })}\n                    {props.mobileView && (\n                      <MoreButton\n                        data-ui-id=\"common-call-composite-more-button\"\n                        strings={moreButtonStrings}\n                        onClick={props.onMoreButtonClicked}\n                        disabled={props.disableButtonsForLobbyPage}\n                        disableTooltip={props.mobileView}\n                      />\n                    )}\n                    {!props.mobileView && showDesktopMoreButton && (\n                      <DesktopMoreButton\n                        disableButtonsForHoldScreen={props.disableButtonsForHoldScreen}\n                        styles={commonButtonStyles}\n                        /*@conditional-compile-remove(PSTN-calls) */\n                        onClickShowDialpad={props.onClickShowDialpad}\n                        callControls={props.callControls}\n                        isCaptionsSupported={showCaptionsButton}\n                        onCaptionsSettingsClick={openCaptionsSettingsModal}\n                        onUserSetOverflowGalleryPositionChange={props.onUserSetOverflowGalleryPositionChange}\n                        onUserSetGalleryLayout={props.onUserSetGalleryLayout}\n                        userSetGalleryLayout={props.userSetGalleryLayout}\n                        dtmfDialerPresent={props.dtmfDialerPresent}\n                        onSetDialpadPage={props.onSetDialpadPage}\n                        /* @conditional-compile-remove(teams-meeting-conference) */\n                        teamsMeetingPhoneCallEnable={showTeamsMeetingPhoneCallButton}\n                        /* @conditional-compile-remove(teams-meeting-conference) */\n                        onMeetingPhoneInfoClick={props.onToggleTeamsMeetingConferenceModal}\n                      />\n                    )}\n                    <EndCall\n                      displayType=\"compact\"\n                      mobileView={props.mobileView}\n                      styles={endCallButtonStyles}\n                      /* @conditional-compile-remove(end-call-options) */\n                      enableEndCallMenu={\n                        !isBoolean(props.callControls) &&\n                        !isBoolean(props.callControls?.endCallButton) &&\n                        !props.mobileView &&\n                        isHangUpForEveryoneAllowed &&\n                        !isTeams && // Temporary disable it for Teams call, since capability does not give the right value\n                        props.callControls?.endCallButton?.hangUpForEveryone === 'endCallOptions' &&\n                        // Only show the end call menu when the call is connected, user should not be able to end the call for everyone\n                        // when they are not actively in the call to communicate they will.\n                        callState.callStatus === 'Connected'\n                      }\n                      disableEndCallModal={\n                        !isBoolean(props.callControls) &&\n                        !isBoolean(props.callControls?.endCallButton) &&\n                        props.callControls?.endCallButton?.disableEndCallModal\n                      }\n                    />\n                  </ControlBar>\n                </div>\n              </Stack.Item>\n            </Stack>\n          </CallAdapterProvider>\n        </Stack.Item>\n        {!props.mobileView && sideButtonsPresent && (\n          <Stack.Item>\n            <div ref={sidepaneControlsRef}>\n              <Stack horizontal className={!props.mobileView ? mergeStyles(desktopButtonContainerStyle) : undefined}>\n                {isEnabled(options?.peopleButton) && (\n                  <PeopleButton\n                    checked={props.peopleButtonChecked}\n                    ariaLabel={\n                      props.peopleButtonChecked\n                        ? peopleButtonStrings?.tooltipCloseAriaLabel\n                        : peopleButtonStrings?.tooltipOpenAriaLabel\n                    }\n                    showLabel={options.displayType !== 'compact'}\n                    onClick={props.onPeopleButtonClicked}\n                    data-ui-id=\"common-call-composite-people-button\"\n                    disabled={\n                      props.disableButtonsForLobbyPage ||\n                      props.disableButtonsForHoldScreen ||\n                      isDisabled(options.peopleButton)\n                    }\n                    strings={peopleButtonStrings}\n                    styles={commonButtonStyles}\n                    componentRef={props.peopleButtonRef}\n                  />\n                )}\n                {customButtons['secondary']\n                  ?.slice(0, CUSTOM_BUTTON_OPTIONS.MAX_SECONDARY_DESKTOP_CUSTOM_BUTTONS)\n                  .map((CustomButton, i) => {\n                    return (\n                      <CustomButton\n                        key={`secondary-custom-button-${i}`}\n                        styles={commonButtonStyles}\n                        showLabel={options.displayType !== 'compact'}\n                      />\n                    );\n                  })}\n              </Stack>\n            </div>\n          </Stack.Item>\n        )}\n      </Stack>\n    </div>\n  );\n};\n\nconst desktopButtonContainerStyle: IStyle = {\n  padding: '0.75rem',\n  columnGap: '0.5rem'\n};\n\nconst desktopControlBarStyles: BaseCustomStyles = {\n  root: desktopButtonContainerStyle\n};\n\n{\n  /*\n    Styling here to ensure the control bar buttons stay in the center of the parent component (control Container) regardless of its siblings\n    Need to add 'reversed' to parent container because the styling here reverse the position of the two stack items \n  */\n}\nconst wrapperDesktopStyles: IStyle = {\n  position: 'absolute',\n  left: '50%',\n  transform: 'translate(-50%, 0)'\n};\n\nconst wrapperDesktopRtlStyles: IStyle = {\n  position: 'absolute',\n  right: '50%',\n  transform: 'translate(-50%, 0)'\n};\n\n/** @private */\nexport const getDesktopCommonButtonStyles = (theme: ITheme): ControlBarButtonStyles => ({\n  root: {\n    border: `solid 1px ${theme.palette.neutralQuaternaryAlt}`,\n    borderRadius: theme.effects.roundedCorner4,\n    minHeight: '2.5rem',\n    maxWidth: '12rem' // allot extra space than the regular ControlBarButton. This is to give extra room to have the icon beside the text.\n  },\n  flexContainer: {\n    display: 'flex',\n    flexFlow: 'row nowrap'\n  },\n  textContainer: {\n    // Override the default so that label doesn't introduce a new block.\n    display: 'inline',\n\n    // Ensure width is set to permit child to show ellipsis when there is a label that is too long\n    maxWidth: '100%'\n  },\n  label: {\n    fontSize: theme.fonts.medium.fontSize,\n\n    // Ensure there is enough space between the icon and text to allow for the unread messages badge in the chat button\n    marginLeft: '0.625rem',\n\n    // Ensure letters that go above and below the standard text line like 'g', 'y', 'j' are not clipped\n    lineHeight: '1.5rem',\n\n    // Do not allow very long button texts to ruin the control bar experience, instead ensure long text is truncated and shows ellipsis\n    display: 'block',\n    textOverflow: 'ellipsis',\n    whiteSpace: 'nowrap',\n    overflow: 'hidden'\n  },\n  splitButtonMenuButton: {\n    border: `solid 1px ${theme.palette.neutralQuaternaryAlt}`,\n    borderTopRightRadius: theme.effects.roundedCorner4,\n    borderBottomRightRadius: theme.effects.roundedCorner4,\n    borderTopLeftRadius: '0',\n    borderBottomLeftRadius: '0'\n  },\n  splitButtonMenuButtonChecked: {\n    // Default colors the menu half similarly for :hover and when button is checked.\n    // To align with how the left-half is styled, override the checked style.\n    background: 'none'\n  }\n});\n\nconst getDesktopScreenShareButtonStyles = (theme: ITheme): ControlBarButtonStyles => {\n  const overrideStyles = {\n    border: 'none',\n    background: theme.palette.themePrimary,\n    color: theme.palette.white,\n    '* > svg': { fill: theme.palette.white },\n    '@media (forced-colors: active)': {\n      border: '1px solid',\n      borderColor: theme.palette.black\n    }\n  };\n  const overrides: ControlBarButtonStyles = {\n    rootChecked: overrideStyles,\n    rootCheckedHovered: overrideStyles\n  };\n  return concatStyleSets(getDesktopCommonButtonStyles(theme), overrides);\n};\n\nconst getDesktopEndCallButtonStyles = (theme: ITheme): ControlBarButtonStyles => {\n  const overrides: ControlBarButtonStyles = {\n    root: {\n      // Suppress border around the dark-red button.\n      border: 'none'\n    },\n    rootFocused: {\n      '@media (forced-colors: active)': {\n        background: 'highlight',\n        color: 'highlightText',\n        borderColor: theme.palette.black,\n        borderRadius: 'unset',\n        outline: `3px solid ${theme.palette.black}`\n      }\n    },\n    icon: {\n      '@media (forced-colors: active)': {\n        ':focused': {\n          color: theme.palette.white\n        }\n      }\n    }\n  };\n  return concatStyleSets(getDesktopCommonButtonStyles(theme), overrides);\n};\n\nconst isEnabled = (option: unknown): boolean => option !== false;\n\nconst showDtmfDialerButton = (options: CommonCallControlOptions | CallWithChatControlOptions): boolean => {\n  if (options.moreButton === false && options.dtmfDialerButton !== false) {\n    return true;\n  } else {\n    return false;\n  }\n};\n"]}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"CommonCallControlBar.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/common/ControlBar/CommonCallControlBar.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React, { useMemo, useRef, useEffect, useState, useCallback } from 'react';\nimport { CallAdapterProvider } from '../../CallComposite/adapter/CallAdapterProvider';\nimport { CallAdapter } from '../../CallComposite';\nimport { PeopleButton } from './PeopleButton';\nimport {\n  concatStyleSets,\n  IButton,\n  IStyle,\n  ITheme,\n  mergeStyles,\n  mergeStyleSets,\n  Stack,\n  useTheme\n} from '@fluentui/react';\nimport { controlBarContainerStyles } from '../../CallComposite/styles/CallControls.styles';\nimport { callControlsContainerStyles } from '../../CallComposite/styles/CallPage.styles';\nimport { useCallWithChatCompositeStrings } from '../../CallWithChatComposite/hooks/useCallWithChatCompositeStrings';\nimport { BaseCustomStyles, ControlBarButtonStyles } from '@internal/react-components';\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport { ControlBar } from '@internal/react-components';\nimport { Microphone } from '../../CallComposite/components/buttons/Microphone';\nimport { Camera } from '../../CallComposite/components/buttons/Camera';\nimport { ScreenShare } from '../../CallComposite/components/buttons/ScreenShare';\nimport { EndCall } from '../../CallComposite/components/buttons/EndCall';\nimport { MoreButton } from '../MoreButton';\nimport { ContainerRectProps } from '../ContainerRectProps';\nimport {\n  CUSTOM_BUTTON_OPTIONS,\n  generateCustomCallControlBarButton,\n  onFetchCustomButtonPropsTrampoline\n} from './CustomButton';\nimport { DesktopMoreButton } from './DesktopMoreButton';\nimport { isDisabled } from '../../CallComposite/utils';\nimport { HiddenFocusStartPoint } from '../HiddenFocusStartPoint';\nimport { CallWithChatControlOptions } from '../../CallWithChatComposite';\nimport { CommonCallControlOptions } from '../types/CommonCallControlOptions';\nimport { CaptionsSettingsModal } from '../CaptionsSettingsModal';\nimport { RaiseHand } from '../../CallComposite/components/buttons/RaiseHand';\nimport { Reaction } from '../../CallComposite/components/buttons/Reaction';\nimport { useSelector } from '../../CallComposite/hooks/useSelector';\nimport { capabilitySelector } from '../../CallComposite/selectors/capabilitySelector';\nimport { DtmfDialpadButton } from './DtmfDialerButton';\nimport { ExitSpotlightButton } from '../ExitSpotlightButton';\nimport { useLocale } from '../../localization';\n/* @conditional-compile-remove(end-call-options) */\nimport { isBoolean } from '../utils';\n/* @conditional-compile-remove(end-call-options) */\nimport { getIsTeamsCall } from '../../CallComposite/selectors/baseSelectors';\nimport { callStatusSelector } from '../../CallComposite/selectors/callStatusSelector';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { MeetingConferencePhoneInfoModal } from '@internal/react-components';\n\n/**\n * @private\n */\nexport interface CommonCallControlBarProps {\n  callAdapter: CallAdapter;\n  peopleButtonChecked: boolean;\n  onPeopleButtonClicked: () => void;\n  onMoreButtonClicked?: () => void;\n  mobileView: boolean;\n  disableButtonsForLobbyPage: boolean;\n  callControls?: boolean | CommonCallControlOptions | CallWithChatControlOptions;\n  disableButtonsForHoldScreen?: boolean;\n  /* @conditional-compile-remove(PSTN-calls) */\n  onClickShowDialpad?: () => void;\n  onClickVideoEffects?: (showVideoEffects: boolean) => void;\n  isCaptionsSupported?: boolean;\n  isCaptionsOn?: boolean;\n  displayVertical?: boolean;\n  onUserSetOverflowGalleryPositionChange?: (position: 'Responsive' | 'horizontalTop') => void;\n  onUserSetGalleryLayout?: (layout: VideoGalleryLayout) => void;\n  userSetGalleryLayout?: VideoGalleryLayout;\n  peopleButtonRef?: React.RefObject<IButton>;\n  cameraButtonRef?: React.RefObject<IButton>;\n  videoBackgroundPickerRef?: React.RefObject<IButton>;\n  onSetDialpadPage?: () => void;\n  dtmfDialerPresent?: boolean;\n  onStopLocalSpotlight?: () => void;\n  useTeamsCaptions?: boolean;\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  onToggleTeamsMeetingConferenceModal?: () => void;\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  teamsMeetingConferenceModalPresent?: boolean;\n}\n\nconst inferCommonCallControlOptions = (\n  mobileView: boolean,\n  commonCallControlOptions?: boolean | CallWithChatControlOptions\n): CallWithChatControlOptions | false => {\n  if (commonCallControlOptions === false) {\n    return false;\n  }\n\n  const options =\n    commonCallControlOptions === true || commonCallControlOptions === undefined ? {} : commonCallControlOptions;\n  if (mobileView) {\n    // Set to compressed mode when composite is optimized for mobile\n    options.displayType = 'compact';\n    // Set options to always not show screen share button for mobile\n    options.screenShareButton = false;\n  }\n  return options;\n};\n\n/**\n * @private\n */\nexport const CommonCallControlBar = (props: CommonCallControlBarProps & ContainerRectProps): JSX.Element => {\n  const theme = useTheme();\n  const rtl = theme.rtl;\n\n  const controlBarContainerRef = useRef<HTMLHeadingElement>(null);\n  const sidepaneControlsRef = useRef<HTMLHeadingElement>(null);\n  const controlBarSizeRef = useRef<HTMLHeadingElement>(null);\n\n  const [controlBarButtonsWidth, setControlBarButtonsWidth] = useState(0);\n  const [panelsButtonsWidth, setPanelsButtonsWidth] = useState(0);\n  const [controlBarContainerWidth, setControlBarContainerWidth] = useState(0);\n\n  const [totalButtonsWidth, setTotalButtonsWidth] = useState(0);\n  const [isOutOfSpace, setIsOutOfSpace] = useState(false);\n\n  const callWithChatStrings = useCallWithChatCompositeStrings();\n  const options = inferCommonCallControlOptions(props.mobileView, props.callControls);\n\n  const [showCaptionsSettingsModal, setShowCaptionsSettingsModal] = useState(false);\n\n  /* @conditional-compile-remove(end-call-options) */\n  // If the hangup capability is not present, we default to true\n  const isHangUpForEveryoneAllowed =\n    useSelector((state) => state.call?.capabilitiesFeature?.capabilities.hangUpForEveryOne.isPresent) ?? true;\n  /* @conditional-compile-remove(end-call-options) */\n  const isTeams = useSelector(getIsTeamsCall);\n\n  const handleResize = useCallback((): void => {\n    setControlBarButtonsWidth(controlBarContainerRef.current ? controlBarContainerRef.current.offsetWidth : 0);\n    setPanelsButtonsWidth(sidepaneControlsRef.current ? sidepaneControlsRef.current.offsetWidth : 0);\n    setControlBarContainerWidth(controlBarSizeRef.current ? controlBarSizeRef.current.offsetWidth : 0);\n  }, []);\n\n  // on load set inital width\n  useEffect(() => {\n    setControlBarButtonsWidth(controlBarContainerRef.current ? controlBarContainerRef.current.offsetWidth : 0);\n    setPanelsButtonsWidth(sidepaneControlsRef.current ? sidepaneControlsRef.current.offsetWidth : 0);\n    setControlBarContainerWidth(controlBarSizeRef.current ? controlBarSizeRef.current.offsetWidth : 0);\n  }, []);\n\n  // get the current width of control bar buttons and panel control buttons when browser size change\n  useEffect(() => {\n    window.addEventListener('resize', handleResize);\n    return () => window.removeEventListener('resize', handleResize);\n  }, [handleResize]);\n\n  /* when size change, reset total buttons width and compare with the control bar container width\n  if the total width of those buttons exceed container width, do not center the control bar buttons based on parent container width\n  Instead let them take up the remaining white space on the left */\n  useEffect(() => {\n    // white space on the left when control bar buttons are centered based on container width + control bar buttons width + panel control buttons width\n    setTotalButtonsWidth(\n      (controlBarContainerWidth - controlBarButtonsWidth) / 2 + controlBarButtonsWidth + panelsButtonsWidth\n    );\n  }, [controlBarButtonsWidth, panelsButtonsWidth, controlBarContainerWidth]);\n\n  useEffect(() => {\n    setIsOutOfSpace(totalButtonsWidth > controlBarContainerWidth);\n  }, [totalButtonsWidth, controlBarContainerWidth]);\n\n  const openCaptionsSettingsModal = useCallback((): void => {\n    setShowCaptionsSettingsModal(true);\n  }, []);\n\n  const onDismissCaptionsSettings = useCallback((): void => {\n    setShowCaptionsSettingsModal(false);\n  }, []);\n\n  const peopleButtonStrings = useMemo(\n    () => ({\n      label: callWithChatStrings.peopleButtonLabel,\n      selectedLabel: callWithChatStrings.selectedPeopleButtonLabel,\n      tooltipOpenAriaLabel: callWithChatStrings.peopleButtonTooltipOpenAriaLabel,\n      tooltipCloseAriaLabel: callWithChatStrings.peopleButtonTooltipCloseAriaLabel,\n      tooltipOffContent: callWithChatStrings.peopleButtonTooltipOpen,\n      tooltipOnContent: callWithChatStrings.peopleButtonTooltipClose\n    }),\n    [callWithChatStrings]\n  );\n  const moreButtonStrings = useMemo(\n    () => ({\n      label: callWithChatStrings.moreDrawerButtonLabel,\n      tooltipContent: callWithChatStrings.moreDrawerButtonTooltip\n    }),\n    [callWithChatStrings]\n  );\n  const callStrings = useLocale().strings.call;\n  const exitSpotlightButtonStrings = useMemo(\n    () => ({\n      label: callStrings.exitSpotlightButtonLabel,\n      tooltipContent: callStrings.exitSpotlightButtonTooltip\n    }),\n    [callStrings]\n  );\n\n  const centerContainerStyles = useMemo(() => {\n    const styles: BaseCustomStyles = !props.mobileView ? desktopControlBarStyles : {};\n    return mergeStyleSets(styles, {\n      root: {\n        // Enforce a background color on control bar to ensure it matches the composite background color.\n        background: theme.semanticColors.bodyBackground\n      }\n    });\n  }, [props.mobileView, theme.semanticColors.bodyBackground]);\n  const screenShareButtonStyles = useMemo(\n    () => (!props.mobileView ? getDesktopScreenShareButtonStyles(theme) : undefined),\n    [props.mobileView, theme]\n  );\n  const commonButtonStyles = useMemo(\n    () => (!props.mobileView ? getDesktopCommonButtonStyles(theme) : undefined),\n    [props.mobileView, theme]\n  );\n  const endCallButtonStyles = useMemo(\n    () => (!props.mobileView ? getDesktopEndCallButtonStyles(theme) : undefined),\n    [props.mobileView, theme]\n  );\n\n  const controlBarWrapperDesktopStyles: IStyle = useMemo(\n    // only center control bar buttons based on parent container if there are enough space on the screen and not mobile\n    () => (!props.mobileView && !isOutOfSpace ? (rtl ? wrapperDesktopRtlStyles : wrapperDesktopStyles) : {}),\n    [props.mobileView, rtl, isOutOfSpace]\n  );\n\n  // only center control bar buttons based on parent container if there are enough space on the screen and not mobile\n  const controlBarDesktopContainerStyles: IStyle = useMemo(\n    () => (!props.mobileView && !isOutOfSpace ? { position: 'relative', minHeight: '4.5rem', width: '100%' } : {}),\n    [props.mobileView, isOutOfSpace]\n  );\n\n  const customButtons = useMemo(\n    () =>\n      generateCustomCallControlBarButton(\n        onFetchCustomButtonPropsTrampoline(options !== false ? options : undefined),\n        options !== false ? options?.displayType : undefined\n      ),\n    [options]\n  );\n\n  const capabilitiesSelector = useSelector(capabilitySelector);\n  const callState = useSelector(callStatusSelector);\n  const isReactionAllowed =\n    callState.callStatus !== 'Connected' ||\n    !capabilitiesSelector?.capabilities ||\n    capabilitiesSelector.capabilities.useReactions.isPresent;\n\n  // when options is false then we want to hide the whole control bar.\n  if (options === false) {\n    return <></>;\n  }\n\n  const sideButtonsPresent =\n    isEnabled(options.peopleButton) || isEnabled(options.chatButton) || customButtons['secondary'] !== undefined;\n\n  const screenShareButtonIsEnabled = isEnabled(options?.screenShareButton);\n\n  const microphoneButtonIsEnabled = isEnabled(options?.microphoneButton);\n\n  const cameraButtonIsEnabled = isEnabled(options?.cameraButton);\n\n  const showExitSpotlightButton = options?.exitSpotlightButton !== false;\n\n  const showCaptionsButton =\n    props.isCaptionsSupported &&\n    /* @conditional-compile-remove(acs-close-captions) */ isEnabled(options.captionsButton);\n\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  const showTeamsMeetingPhoneCallButton = isEnabled(options?.teamsMeetingPhoneCallButton);\n\n  const showDesktopMoreButton =\n    isEnabled(options?.moreButton) &&\n    (false ||\n      /*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ isEnabled(\n        options?.holdButton\n      ) ||\n      showCaptionsButton ||\n      props.onUserSetGalleryLayout);\n\n  const role = props.callAdapter.getState().call?.role;\n  const hideRaiseHandButtonInRoomsCall =\n    props.callAdapter.getState().isRoomsCall && role && ['Consumer', 'Unknown'].includes(role);\n  const reactionResources = props.callAdapter.getState().reactions;\n\n  return (\n    <div ref={controlBarSizeRef}>\n      <CallAdapterProvider adapter={props.callAdapter}>\n        {showCaptionsSettingsModal && (\n          <CaptionsSettingsModal\n            showCaptionsSettingsModal={showCaptionsSettingsModal}\n            onDismissCaptionsSettings={onDismissCaptionsSettings}\n            changeCaptionLanguage={props.isCaptionsOn && props.useTeamsCaptions}\n          />\n        )}\n        {\n          /* @conditional-compile-remove(teams-meeting-conference) */ props.teamsMeetingConferenceModalPresent && (\n            <MeetingConferencePhoneInfoModal\n              conferencePhoneInfoList={props.callAdapter.getState().call?.teamsMeetingConference ?? []}\n              showModal={props.teamsMeetingConferenceModalPresent}\n              onDismissMeetingPhoneInfoSettings={props.onToggleTeamsMeetingConferenceModal}\n            />\n          )\n        }\n      </CallAdapterProvider>\n      <Stack\n        horizontal\n        reversed={!props.mobileView && !isOutOfSpace}\n        horizontalAlign=\"space-between\"\n        className={mergeStyles(\n          callControlsContainerStyles,\n          controlBarContainerStyles,\n          controlBarDesktopContainerStyles\n        )}\n      >\n        <Stack.Item grow className={mergeStyles(controlBarWrapperDesktopStyles)}>\n          <CallAdapterProvider adapter={props.callAdapter}>\n            <Stack horizontalAlign=\"center\">\n              {/*\n              HiddenFocusStartPoint is a util component used when we can't ensure the initial element for first\n              tab focus is at the top of dom tree. It moves the first-tab focus to the next interact-able element\n              immediately after it in the dom tree.\n              */}\n              <HiddenFocusStartPoint />\n              <Stack.Item>\n                {/*\n                  Note: We use the layout=\"horizontal\" instead of dockedBottom because of how we position the\n                  control bar. The control bar exists in a Stack below the MediaGallery. The MediaGallery is\n                  set to grow and fill the remaining space not taken up by the ControlBar. If we were to use\n                  dockedBottom it has position absolute and would therefore float on top of the media gallery,\n                  occluding some of its content.\n                */}\n                <div ref={controlBarContainerRef}>\n                  <ControlBar layout={props.displayVertical ? 'vertical' : 'horizontal'} styles={centerContainerStyles}>\n                    {microphoneButtonIsEnabled && (\n                      <Microphone\n                        displayType={options.displayType}\n                        styles={commonButtonStyles}\n                        splitButtonsForDeviceSelection={!props.mobileView}\n                        /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n                        disabled={props.disableButtonsForHoldScreen || isDisabled(options.microphoneButton)}\n                        disableTooltip={props.mobileView}\n                      />\n                    )}\n                    {cameraButtonIsEnabled && (\n                      <Camera\n                        displayType={options.displayType}\n                        styles={commonButtonStyles}\n                        splitButtonsForDeviceSelection={!props.mobileView}\n                        /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n                        disabled={props.disableButtonsForHoldScreen || isDisabled(options.cameraButton)}\n                        onClickVideoEffects={props.onClickVideoEffects}\n                        componentRef={props.cameraButtonRef}\n                        disableTooltip={props.mobileView}\n                      />\n                    )}\n                    {!props.mobileView &&\n                      isReactionAllowed &&\n                      isEnabled(options.reactionButton) &&\n                      reactionResources && (\n                        <Reaction\n                          displayType={options.displayType}\n                          styles={commonButtonStyles}\n                          disabled={props.disableButtonsForHoldScreen}\n                          reactionResource={reactionResources}\n                        />\n                      )}\n                    {!props.mobileView && isEnabled(options.raiseHandButton) && !hideRaiseHandButtonInRoomsCall && (\n                      <RaiseHand\n                        displayType={options.displayType}\n                        styles={commonButtonStyles}\n                        /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n                        disabled={props.disableButtonsForHoldScreen || isDisabled(options.microphoneButton)}\n                      />\n                    )}\n                    {showDtmfDialerButton(options) && props.onSetDialpadPage !== undefined && (\n                      <DtmfDialpadButton\n                        styles={commonButtonStyles}\n                        displayType={options.displayType}\n                        onClick={() => {\n                          if (props.onSetDialpadPage !== undefined) {\n                            props.onSetDialpadPage();\n                          }\n                        }}\n                      />\n                    )}\n                    {showExitSpotlightButton && props.onStopLocalSpotlight && (\n                      <ExitSpotlightButton\n                        displayType={options.displayType}\n                        onClick={props.onStopLocalSpotlight}\n                        styles={commonButtonStyles}\n                        strings={exitSpotlightButtonStrings}\n                      />\n                    )}\n                    {screenShareButtonIsEnabled && (\n                      <ScreenShare\n                        option={options.screenShareButton}\n                        displayType={options.displayType}\n                        styles={screenShareButtonStyles}\n                        /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n                        disabled={props.disableButtonsForHoldScreen || isDisabled(options.screenShareButton)}\n                      />\n                    )}\n                    {customButtons['primary']\n                      ?.slice(\n                        0,\n                        props.mobileView\n                          ? CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_MOBILE_CUSTOM_BUTTONS\n                          : CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_DESKTOP_CUSTOM_BUTTONS\n                      )\n                      .map((CustomButton, i) => {\n                        return (\n                          <CustomButton\n                            key={`primary-custom-button-${i}`}\n                            styles={commonButtonStyles}\n                            showLabel={options.displayType !== 'compact'}\n                            disableTooltip={props.mobileView}\n                          />\n                        );\n                      })}\n                    {props.mobileView && (\n                      <MoreButton\n                        data-ui-id=\"common-call-composite-more-button\"\n                        strings={moreButtonStrings}\n                        onClick={props.onMoreButtonClicked}\n                        disabled={props.disableButtonsForLobbyPage}\n                        disableTooltip={props.mobileView}\n                      />\n                    )}\n                    {!props.mobileView && showDesktopMoreButton && (\n                      <DesktopMoreButton\n                        disableButtonsForHoldScreen={props.disableButtonsForHoldScreen}\n                        styles={commonButtonStyles}\n                        /*@conditional-compile-remove(PSTN-calls) */\n                        onClickShowDialpad={props.onClickShowDialpad}\n                        callControls={props.callControls}\n                        isCaptionsSupported={showCaptionsButton}\n                        onCaptionsSettingsClick={openCaptionsSettingsModal}\n                        onUserSetOverflowGalleryPositionChange={props.onUserSetOverflowGalleryPositionChange}\n                        onUserSetGalleryLayout={props.onUserSetGalleryLayout}\n                        userSetGalleryLayout={props.userSetGalleryLayout}\n                        dtmfDialerPresent={props.dtmfDialerPresent}\n                        onSetDialpadPage={props.onSetDialpadPage}\n                        /* @conditional-compile-remove(teams-meeting-conference) */\n                        teamsMeetingPhoneCallEnable={showTeamsMeetingPhoneCallButton}\n                        /* @conditional-compile-remove(teams-meeting-conference) */\n                        onMeetingPhoneInfoClick={props.onToggleTeamsMeetingConferenceModal}\n                      />\n                    )}\n                    <EndCall\n                      displayType=\"compact\"\n                      mobileView={props.mobileView}\n                      styles={endCallButtonStyles}\n                      /* @conditional-compile-remove(end-call-options) */\n                      enableEndCallMenu={\n                        !isBoolean(props.callControls) &&\n                        !isBoolean(props.callControls?.endCallButton) &&\n                        !props.mobileView &&\n                        isHangUpForEveryoneAllowed &&\n                        !isTeams && // Temporary disable it for Teams call, since capability does not give the right value\n                        props.callControls?.endCallButton?.hangUpForEveryone === 'endCallOptions' &&\n                        // Only show the end call menu when the call is connected, user should not be able to end the call for everyone\n                        // when they are not actively in the call to communicate they will.\n                        callState.callStatus === 'Connected'\n                      }\n                      disableEndCallModal={\n                        !isBoolean(props.callControls) &&\n                        !isBoolean(props.callControls?.endCallButton) &&\n                        props.callControls?.endCallButton?.disableEndCallModal\n                      }\n                    />\n                  </ControlBar>\n                </div>\n              </Stack.Item>\n            </Stack>\n          </CallAdapterProvider>\n        </Stack.Item>\n        {!props.mobileView && sideButtonsPresent && (\n          <Stack.Item>\n            <div ref={sidepaneControlsRef}>\n              <Stack horizontal className={!props.mobileView ? mergeStyles(desktopButtonContainerStyle) : undefined}>\n                {isEnabled(options?.peopleButton) && (\n                  <PeopleButton\n                    checked={props.peopleButtonChecked}\n                    ariaLabel={\n                      props.peopleButtonChecked\n                        ? peopleButtonStrings?.tooltipCloseAriaLabel\n                        : peopleButtonStrings?.tooltipOpenAriaLabel\n                    }\n                    showLabel={options.displayType !== 'compact'}\n                    onClick={props.onPeopleButtonClicked}\n                    data-ui-id=\"common-call-composite-people-button\"\n                    disabled={\n                      props.disableButtonsForLobbyPage ||\n                      props.disableButtonsForHoldScreen ||\n                      isDisabled(options.peopleButton)\n                    }\n                    strings={peopleButtonStrings}\n                    styles={commonButtonStyles}\n                    componentRef={props.peopleButtonRef}\n                  />\n                )}\n                {customButtons['secondary']\n                  ?.slice(0, CUSTOM_BUTTON_OPTIONS.MAX_SECONDARY_DESKTOP_CUSTOM_BUTTONS)\n                  .map((CustomButton, i) => {\n                    return (\n                      <CustomButton\n                        key={`secondary-custom-button-${i}`}\n                        styles={commonButtonStyles}\n                        showLabel={options.displayType !== 'compact'}\n                      />\n                    );\n                  })}\n              </Stack>\n            </div>\n          </Stack.Item>\n        )}\n      </Stack>\n    </div>\n  );\n};\n\nconst desktopButtonContainerStyle: IStyle = {\n  padding: '0.75rem',\n  columnGap: '0.5rem'\n};\n\nconst desktopControlBarStyles: BaseCustomStyles = {\n  root: desktopButtonContainerStyle\n};\n\n{\n  /*\n    Styling here to ensure the control bar buttons stay in the center of the parent component (control Container) regardless of its siblings\n    Need to add 'reversed' to parent container because the styling here reverse the position of the two stack items \n  */\n}\nconst wrapperDesktopStyles: IStyle = {\n  position: 'absolute',\n  left: '50%',\n  transform: 'translate(-50%, 0)'\n};\n\nconst wrapperDesktopRtlStyles: IStyle = {\n  position: 'absolute',\n  right: '50%',\n  transform: 'translate(-50%, 0)'\n};\n\n/** @private */\nexport const getDesktopCommonButtonStyles = (theme: ITheme): ControlBarButtonStyles => ({\n  root: {\n    border: `solid 1px ${theme.palette.neutralQuaternaryAlt}`,\n    borderRadius: theme.effects.roundedCorner4,\n    minHeight: '2.5rem',\n    maxWidth: '12rem' // allot extra space than the regular ControlBarButton. This is to give extra room to have the icon beside the text.\n  },\n  flexContainer: {\n    display: 'flex',\n    flexFlow: 'row nowrap'\n  },\n  textContainer: {\n    // Override the default so that label doesn't introduce a new block.\n    display: 'inline',\n\n    // Ensure width is set to permit child to show ellipsis when there is a label that is too long\n    maxWidth: '100%'\n  },\n  label: {\n    fontSize: theme.fonts.medium.fontSize,\n\n    // Ensure there is enough space between the icon and text to allow for the unread messages badge in the chat button\n    marginLeft: '0.625rem',\n\n    // Ensure letters that go above and below the standard text line like 'g', 'y', 'j' are not clipped\n    lineHeight: '1.5rem',\n\n    // Do not allow very long button texts to ruin the control bar experience, instead ensure long text is truncated and shows ellipsis\n    display: 'block',\n    textOverflow: 'ellipsis',\n    whiteSpace: 'nowrap',\n    overflow: 'hidden'\n  },\n  splitButtonMenuButton: {\n    border: `solid 1px ${theme.palette.neutralQuaternaryAlt}`,\n    borderTopRightRadius: theme.effects.roundedCorner4,\n    borderBottomRightRadius: theme.effects.roundedCorner4,\n    borderTopLeftRadius: '0',\n    borderBottomLeftRadius: '0'\n  },\n  splitButtonMenuButtonChecked: {\n    // Default colors the menu half similarly for :hover and when button is checked.\n    // To align with how the left-half is styled, override the checked style.\n    background: 'none'\n  }\n});\n\nconst getDesktopScreenShareButtonStyles = (theme: ITheme): ControlBarButtonStyles => {\n  const overrideStyles = {\n    border: 'none',\n    background: theme.palette.themePrimary,\n    color: theme.palette.white,\n    '* > svg': { fill: theme.palette.white },\n    '@media (forced-colors: active)': {\n      border: '1px solid',\n      borderColor: theme.palette.black\n    }\n  };\n  const overrides: ControlBarButtonStyles = {\n    rootChecked: overrideStyles,\n    rootCheckedHovered: overrideStyles\n  };\n  return concatStyleSets(getDesktopCommonButtonStyles(theme), overrides);\n};\n\nconst getDesktopEndCallButtonStyles = (theme: ITheme): ControlBarButtonStyles => {\n  const overrides: ControlBarButtonStyles = {\n    root: {\n      // Suppress border around the dark-red button.\n      border: 'none'\n    },\n    rootFocused: {\n      '@media (forced-colors: active)': {\n        background: 'highlight',\n        color: 'highlightText',\n        borderColor: theme.palette.black,\n        borderRadius: 'unset',\n        outline: `3px solid ${theme.palette.black}`\n      }\n    },\n    icon: {\n      '@media (forced-colors: active)': {\n        ':focused': {\n          color: theme.palette.white\n        }\n      }\n    }\n  };\n  return concatStyleSets(getDesktopCommonButtonStyles(theme), overrides);\n};\n\nconst isEnabled = (option: unknown): boolean => option !== false;\n\nconst showDtmfDialerButton = (options: CommonCallControlOptions | CallWithChatControlOptions): boolean => {\n  if (options.moreButton === false && options.dtmfDialerButton !== false) {\n    return true;\n  } else {\n    return false;\n  }\n};\n"]}
         
     | 
| 
         @@ -18,7 +18,7 @@ import { useLocale } from '../localization'; 
     | 
|
| 
       18 
18 
     | 
    
         
             
            export const MeetingPhoneInfoPaneContent = (props) => {
         
     | 
| 
       19 
19 
     | 
    
         
             
                const { conferencePhoneInfoList } = props;
         
     | 
| 
       20 
20 
     | 
    
         
             
                const theme = useTheme();
         
     | 
| 
       21 
     | 
    
         
            -
                const localeStrings = useLocale().component.strings. 
     | 
| 
      
 21 
     | 
    
         
            +
                const localeStrings = useLocale().component.strings.MeetingConferencePhoneInfo;
         
     | 
| 
       22 
22 
     | 
    
         
             
                if (props.mobileView) {
         
     | 
| 
       23 
23 
     | 
    
         
             
                    return (React.createElement(Stack, { verticalFill: true, styles: phoneInfoContainerStyle, tokens: phoneInfoContainerTokens, "data-ui-id": "phone-info-pane-content" },
         
     | 
| 
       24 
24 
     | 
    
         
             
                        (conferencePhoneInfoList === undefined || conferencePhoneInfoList.length === 0) && (React.createElement(Stack, { horizontal: true },
         
     | 
| 
         @@ -29,7 +29,7 @@ export const MeetingPhoneInfoPaneContent = (props) => { 
     | 
|
| 
       29 
29 
     | 
    
         
             
                                    React.createElement(Stack, { horizontal: true, className: phoneInfoStep },
         
     | 
| 
       30 
30 
     | 
    
         
             
                                        React.createElement(Stack.Item, { className: phoneInfoIcon(theme) },
         
     | 
| 
       31 
31 
     | 
    
         
             
                                            React.createElement(Stack, { verticalAlign: "center", horizontalAlign: "center" },
         
     | 
| 
       32 
     | 
    
         
            -
                                                React.createElement(Icon, { iconName: " 
     | 
| 
      
 32 
     | 
    
         
            +
                                                React.createElement(Icon, { iconName: "PhoneNumberButton", className: phoneInfoIconStyle(theme) }))),
         
     | 
| 
       33 
33 
     | 
    
         
             
                                        React.createElement(Stack.Item, null,
         
     | 
| 
       34 
34 
     | 
    
         
             
                                            React.createElement(Text, { className: phoneInfoLabelStyle }, localeStrings.meetingConferencePhoneInfoModalDialIn)))),
         
     | 
| 
       35 
35 
     | 
    
         
             
                                React.createElement(Stack.Item, { className: phoneInfoStep }, conferencePhoneInfoList.map((phoneNumber, index) => (React.createElement(Stack.Item, { key: index },
         
     | 
| 
         @@ -47,7 +47,7 @@ export const MeetingPhoneInfoPaneContent = (props) => { 
     | 
|
| 
       47 
47 
     | 
    
         
             
                                React.createElement(Stack.Item, null,
         
     | 
| 
       48 
48 
     | 
    
         
             
                                    React.createElement(Stack, { horizontal: true },
         
     | 
| 
       49 
49 
     | 
    
         
             
                                        React.createElement(Stack.Item, { className: phoneInfoIcon(theme) },
         
     | 
| 
       50 
     | 
    
         
            -
                                            React.createElement(Icon, { iconName: " 
     | 
| 
      
 50 
     | 
    
         
            +
                                            React.createElement(Icon, { iconName: "DtmfDialpadButton", className: phoneInfoIconStyle(theme) })),
         
     | 
| 
       51 
51 
     | 
    
         
             
                                        React.createElement(Stack.Item, null,
         
     | 
| 
       52 
52 
     | 
    
         
             
                                            React.createElement(Text, { className: phoneInfoLabelStyle }, localeStrings.meetingConferencePhoneInfoModalMeetingId)))),
         
     | 
| 
       53 
53 
     | 
    
         
             
                                React.createElement(Text, { className: phoneInfoTextStyle },
         
     | 
| 
         @@ -56,7 +56,7 @@ export const MeetingPhoneInfoPaneContent = (props) => { 
     | 
|
| 
       56 
56 
     | 
    
         
             
                            React.createElement(Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center", className: phoneInfoInstructionLine },
         
     | 
| 
       57 
57 
     | 
    
         
             
                                React.createElement(Stack, { horizontal: true },
         
     | 
| 
       58 
58 
     | 
    
         
             
                                    React.createElement(Stack.Item, { className: phoneInfoIcon(theme) },
         
     | 
| 
       59 
     | 
    
         
            -
                                        React.createElement(Icon, { iconName: " 
     | 
| 
      
 59 
     | 
    
         
            +
                                        React.createElement(Icon, { iconName: "PhoneInfoWait", className: phoneInfoIconStyle(theme) })),
         
     | 
| 
       60 
60 
     | 
    
         
             
                                    React.createElement(Stack.Item, null,
         
     | 
| 
       61 
61 
     | 
    
         
             
                                        React.createElement(Text, { className: phoneInfoLabelStyle }, localeStrings.meetingConferencePhoneInfoModalWait))))))));
         
     | 
| 
       62 
62 
     | 
    
         
             
                }
         
     | 
    
        package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js.map
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"MeetingPhoneInfoPaneContent.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/common/MeetingPhoneInfoPaneContent.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,2DAA2D;AAC3D,iDAAiD;AACjD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAGpE,2DAA2D;AAC3D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,2DAA2D;AAC3D,OAAO,EAEL,qBAAqB,EACrB,iBAAiB,EACjB,qBAAqB,EACtB,yCAAmC;AACpC,2DAA2D;AAC3D,OAAO,EACL,kBAAkB,EAClB,aAAa,EACb,wBAAwB,EACxB,aAAa,EACb,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,2CAA2C,CAAC;AACnD,2DAA2D;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,2DAA2D;AAC3D;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,KAG3C,EAAe,EAAE;IAChB,MAAM,EAAE,uBAAuB,EAAE,GAAG,KAAK,CAAC;IAC1C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,0BAA0B,CAAC;IAE/E,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CACL,oBAAC,KAAK,IACJ,YAAY,QACZ,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,wBAAwB,gBACrB,yBAAyB;YAEnC,CAAC,uBAAuB,KAAK,SAAS,IAAI,uBAAuB,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,CAClF,oBAAC,KAAK,IAAC,UAAU;gBACf,oBAAC,IAAI,IAAC,SAAS,EAAE,kBAAkB,IAAG,aAAa,CAAC,+CAA+C,CAAQ,CACrG,CACT;YACA,uBAAuB,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,IAAI,CAChE,oBAAC,KAAK;gBACJ,oBAAC,KAAK,IAAC,UAAU,QAAC,eAAe,EAAC,eAAe,EAAC,SAAS,EAAE,wBAAwB;oBACnF,oBAAC,KAAK,CAAC,IAAI;wBACT,oBAAC,KAAK,IAAC,UAAU,QAAC,SAAS,EAAE,aAAa;4BACxC,oBAAC,KAAK,CAAC,IAAI,IAAC,SAAS,EAAE,aAAa,CAAC,KAAK,CAAC;gCACzC,oBAAC,KAAK,IAAC,aAAa,EAAC,QAAQ,EAAC,eAAe,EAAC,QAAQ;oCACpD,oBAAC,IAAI,IAAC,QAAQ,EAAC, 
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"MeetingPhoneInfoPaneContent.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/common/MeetingPhoneInfoPaneContent.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* @conditional-compile-remove(teams-meeting-conference) */\n// eslint-disable-next-line no-restricted-imports\nimport { Stack, Text, useTheme, Icon, Link } from '@fluentui/react';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { _DrawerMenuItemProps } from '@internal/react-components';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport React from 'react';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport {\n  ConferencePhoneInfo,\n  formatPhoneNumberInfo,\n  formatPhoneNumber,\n  formatPhoneNumberLink\n} from '@internal/react-components';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport {\n  phoneInfoTextStyle,\n  phoneInfoIcon,\n  phoneInfoInstructionLine,\n  phoneInfoStep,\n  phoneInfoIconStyle,\n  phoneInfoLabelStyle,\n  phoneInfoContainerTokens,\n  phoneInfoContainerStyle\n} from './styles/TeamsMeetingConferenceInfo.style';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { useLocale } from '../localization';\n\n/* @conditional-compile-remove(teams-meeting-conference) */\n/**\n * @private\n */\nexport const MeetingPhoneInfoPaneContent = (props: {\n  mobileView?: boolean;\n  conferencePhoneInfoList?: ConferencePhoneInfo[];\n}): JSX.Element => {\n  const { conferencePhoneInfoList } = props;\n  const theme = useTheme();\n  const localeStrings = useLocale().component.strings.MeetingConferencePhoneInfo;\n\n  if (props.mobileView) {\n    return (\n      <Stack\n        verticalFill\n        styles={phoneInfoContainerStyle}\n        tokens={phoneInfoContainerTokens}\n        data-ui-id=\"phone-info-pane-content\"\n      >\n        {(conferencePhoneInfoList === undefined || conferencePhoneInfoList.length === 0) && (\n          <Stack horizontal>\n            <Text className={phoneInfoTextStyle}>{localeStrings.meetingConferencePhoneInfoModalNoPhoneAvailable}</Text>\n          </Stack>\n        )}\n        {conferencePhoneInfoList && conferencePhoneInfoList.length > 0 && (\n          <Stack>\n            <Stack horizontal horizontalAlign=\"space-between\" className={phoneInfoInstructionLine}>\n              <Stack.Item>\n                <Stack horizontal className={phoneInfoStep}>\n                  <Stack.Item className={phoneInfoIcon(theme)}>\n                    <Stack verticalAlign=\"center\" horizontalAlign=\"center\">\n                      <Icon iconName=\"PhoneNumberButton\" className={phoneInfoIconStyle(theme)} />\n                    </Stack>\n                  </Stack.Item>\n                  <Stack.Item>\n                    <Text className={phoneInfoLabelStyle}>{localeStrings.meetingConferencePhoneInfoModalDialIn}</Text>\n                  </Stack.Item>\n                </Stack>\n              </Stack.Item>\n              <Stack.Item className={phoneInfoStep}>\n                {conferencePhoneInfoList.map((phoneNumber, index) => (\n                  <Stack.Item key={index}>\n                    <Link className={phoneInfoTextStyle} href={formatPhoneNumberLink(phoneNumber)}>\n                      {formatPhoneNumber(phoneNumber.phoneNumber)}\n                    </Link>\n                    <Text className={phoneInfoTextStyle}>\n                      {' '}\n                      {phoneNumber.isTollFree\n                        ? localeStrings.meetingConferencePhoneInfoModalTollFree\n                        : localeStrings.meetingConferencePhoneInfoModalToll}\n                    </Text>\n                    <br />\n                    <Text className={phoneInfoTextStyle}> {formatPhoneNumberInfo(phoneNumber, localeStrings)}</Text>\n                  </Stack.Item>\n                ))}\n              </Stack.Item>\n            </Stack>\n            <Stack\n              horizontal\n              horizontalAlign=\"space-between\"\n              verticalAlign=\"center\"\n              className={phoneInfoInstructionLine}\n            >\n              <Stack.Item>\n                <Stack horizontal>\n                  <Stack.Item className={phoneInfoIcon(theme)}>\n                    <Icon iconName=\"DtmfDialpadButton\" className={phoneInfoIconStyle(theme)} />\n                  </Stack.Item>\n                  <Stack.Item>\n                    <Text className={phoneInfoLabelStyle}>\n                      {localeStrings.meetingConferencePhoneInfoModalMeetingId}\n                    </Text>\n                  </Stack.Item>\n                </Stack>\n              </Stack.Item>\n              <Text className={phoneInfoTextStyle}>{conferencePhoneInfoList[0].conferenceId}#</Text>\n            </Stack>\n            <Stack\n              horizontal\n              horizontalAlign=\"space-between\"\n              verticalAlign=\"center\"\n              className={phoneInfoInstructionLine}\n            >\n              <Stack horizontal>\n                <Stack.Item className={phoneInfoIcon(theme)}>\n                  <Icon iconName=\"PhoneInfoWait\" className={phoneInfoIconStyle(theme)} />\n                </Stack.Item>\n                <Stack.Item>\n                  <Text className={phoneInfoLabelStyle}>{localeStrings.meetingConferencePhoneInfoModalWait}</Text>\n                </Stack.Item>\n              </Stack>\n            </Stack>\n          </Stack>\n        )}\n      </Stack>\n    );\n  }\n\n  return (\n    <Stack\n      verticalFill\n      styles={phoneInfoContainerStyle}\n      tokens={phoneInfoContainerTokens}\n      data-ui-id=\"phone-info-pane-content\"\n    ></Stack>\n  );\n};\n"]}
         
     | 
| 
         @@ -98,9 +98,7 @@ export declare const DEFAULT_COMPOSITE_ICONS: { 
     | 
|
| 
       98 
98 
     | 
    
         
             
                DefaultCustomButton?: JSX.Element | undefined;
         
     | 
| 
       99 
99 
     | 
    
         
             
                DtmfDialpadButton?: JSX.Element | undefined;
         
     | 
| 
       100 
100 
     | 
    
         
             
                PhoneNumberButton?: JSX.Element | undefined;
         
     | 
| 
       101 
     | 
    
         
            -
                 
     | 
| 
       102 
     | 
    
         
            -
                JoinByPhoneConferenceIdIcon?: JSX.Element | undefined;
         
     | 
| 
       103 
     | 
    
         
            -
                JoinByPhoneWaitToBeAdmittedIcon?: JSX.Element | undefined;
         
     | 
| 
      
 101 
     | 
    
         
            +
                PhoneInfoWait?: JSX.Element | undefined;
         
     | 
| 
       104 
102 
     | 
    
         
             
                PeoplePaneMoreButton?: JSX.Element | undefined;
         
     | 
| 
       105 
103 
     | 
    
         
             
                StopAllSpotlightMenuButton?: JSX.Element | undefined;
         
     | 
| 
       106 
104 
     | 
    
         
             
                ChevronLeft?: JSX.Element | undefined;
         
     | 
| 
         @@ -297,9 +295,7 @@ export type CallCompositeIcons = { 
     | 
|
| 
       297 
295 
     | 
    
         
             
                DefaultCustomButton?: JSX.Element;
         
     | 
| 
       298 
296 
     | 
    
         
             
                DtmfDialpadButton?: JSX.Element;
         
     | 
| 
       299 
297 
     | 
    
         
             
                PhoneNumberButton?: JSX.Element;
         
     | 
| 
       300 
     | 
    
         
            -
                 
     | 
| 
       301 
     | 
    
         
            -
                JoinByPhoneConferenceIdIcon?: JSX.Element;
         
     | 
| 
       302 
     | 
    
         
            -
                JoinByPhoneWaitToBeAdmittedIcon?: JSX.Element;
         
     | 
| 
      
 298 
     | 
    
         
            +
                PhoneInfoWait?: JSX.Element;
         
     | 
| 
       303 
299 
     | 
    
         
             
                PeoplePaneMoreButton?: JSX.Element;
         
     | 
| 
       304 
300 
     | 
    
         
             
                StopAllSpotlightMenuButton?: JSX.Element;
         
     | 
| 
       305 
301 
     | 
    
         
             
            };
         
     | 
| 
         @@ -78,11 +78,7 @@ export const COMPOSITE_ONLY_ICONS = { 
     | 
|
| 
       78 
78 
     | 
    
         
             
                /* @conditional-compile-remove(teams-meeting-conference) */
         
     | 
| 
       79 
79 
     | 
    
         
             
                PhoneNumberButton: React.createElement(PersonCall20Regular, null),
         
     | 
| 
       80 
80 
     | 
    
         
             
                /* @conditional-compile-remove(teams-meeting-conference) */
         
     | 
| 
       81 
     | 
    
         
            -
                 
     | 
| 
       82 
     | 
    
         
            -
                /* @conditional-compile-remove(teams-meeting-conference) */
         
     | 
| 
       83 
     | 
    
         
            -
                JoinByPhoneConferenceIdIcon: React.createElement(Dialpad20Regular, null),
         
     | 
| 
       84 
     | 
    
         
            -
                /* @conditional-compile-remove(teams-meeting-conference) */
         
     | 
| 
       85 
     | 
    
         
            -
                JoinByPhoneWaitToBeAdmittedIcon: React.createElement(Clock20Filled, null),
         
     | 
| 
      
 81 
     | 
    
         
            +
                PhoneInfoWait: React.createElement(Clock20Filled, null),
         
     | 
| 
       86 
82 
     | 
    
         
             
                PeoplePaneMoreButton: React.createElement(MoreHorizontal20Filled, null),
         
     | 
| 
       87 
83 
     | 
    
         
             
                StopAllSpotlightMenuButton: React.createElement(VideoPersonStarOff20Filled, null)
         
     | 
| 
       88 
84 
     | 
    
         
             
            };
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/common/icons.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n  CallEnd20Filled,\n  CallMissed20Filled,\n  CameraSwitch24Regular,\n  Chat20Filled,\n  Chat20Regular,\n  Info20Filled,\n  MicOff20Filled,\n  Mic20Filled,\n  Mic20Regular,\n  People20Regular,\n  PersonDelete20Filled,\n  Speaker220Filled,\n  Speaker220Regular,\n  Video20Filled,\n  VideoOff20Filled,\n  WifiWarning20Filled,\n  Circle20Regular\n} from '@fluentui/react-icons';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { PersonCall20Regular, Clock20Filled } from '@fluentui/react-icons';\nimport { MoreHorizontal20Filled, VideoPersonStarOff20Filled } from '@fluentui/react-icons';\nimport { MicProhibited20Filled, VideoProhibited20Filled } from '@fluentui/react-icons';\nimport { Grid20Regular } from '@fluentui/react-icons';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { PersonAdd20Regular, Call20Regular } from '@fluentui/react-icons';\nimport { Dialpad20Regular } from '@fluentui/react-icons';\nimport { DEFAULT_COMPONENT_ICONS } from '@internal/react-components';\nimport React from 'react';\n// eslint-disable-next-line no-restricted-imports\nimport { FontIcon, IIconProps, Spinner, SpinnerSize } from '@fluentui/react';\n/* @conditional-compile-remove(file-sharing-acs) */\nimport { Attach20Regular } from '@fluentui/react-icons';\n\nimport { VideoBackgroundEffect20Regular, VideoPerson20Filled } from '@fluentui/react-icons';\nimport {\n  PersonSquare20Regular,\n  WindowHeaderHorizontal20Regular,\n  TableSimple20Regular,\n  BoardSplit20Regular,\n  ContentView20Regular,\n  Table20Regular\n} from '@fluentui/react-icons';\n\nconst SpinnerIcon = (): JSX.Element => <Spinner size={SpinnerSize.large} />;\n\n/**\n * The default set of icons used by the composites directly (i.e. not via the components defined in this library).\n *\n * @public\n */\nexport const COMPOSITE_ONLY_ICONS: CompositeIcons = {\n  ChevronLeft: undefined,\n  Link: undefined,\n  LobbyScreenConnectingToCall: <SpinnerIcon />,\n  LobbyScreenWaitingToBeAdmitted: <SpinnerIcon />,\n  LocalDeviceSettingsCamera: <Video20Filled />,\n  LocalDeviceSettingsMic: <Mic20Filled />,\n  LocalDeviceSettingsSpeaker: <Speaker220Filled />,\n  LocalPreviewPlaceholder: <VideoOff20Filled />,\n  LocalCameraSwitch: <CameraSwitch24Regular />,\n  ControlBarChatButtonActive: <Chat20Filled />,\n  ControlBarChatButtonInactive: <Chat20Regular />,\n\n  ControlButtonCameraProhibited: <VideoProhibited20Filled />,\n\n  ControlButtonMicProhibited: <MicProhibited20Filled />,\n  ControlButtonExitSpotlight: <VideoPersonStarOff20Filled />,\n  ControlBarPeopleButton: <People20Regular />,\n  MoreDrawerMicrophones: <Mic20Regular />,\n  MoreDrawerPeople: <People20Regular />,\n  MoreDrawerSpeakers: <Speaker220Regular />,\n  MoreDrawerSelectedMicrophone: <Mic20Filled />,\n  MoreDrawerSelectedSpeaker: <Speaker220Filled />,\n  Muted: <MicOff20Filled />,\n  NetworkReconnectIcon: <CallMissed20Filled />,\n  NoticePageAccessDeniedTeamsMeeting: <PersonDelete20Filled />,\n  NoticePageJoinCallFailedDueToNoNetwork: <WifiWarning20Filled />,\n  NoticePageLeftCall: <CallEnd20Filled />,\n  NoticePageRemovedFromCall: <Info20Filled />,\n  NoticePageNotInvitedToRoom: <Info20Filled />,\n  NoticePageRoomNotFound: <Info20Filled />,\n  NoticePageRoomNotValid: <Info20Filled />,\n  NoticePageCallRejected: <Info20Filled />,\n  NoticePageCallTimeout: <Info20Filled />,\n  /* @conditional-compile-remove(file-sharing-acs) */\n  SendBoxAttachFile: <Attach20Regular />,\n  /* @conditional-compile-remove(PSTN-calls) */\n  PeoplePaneAddPerson: <PersonAdd20Regular />,\n  /* @conditional-compile-remove(PSTN-calls) */\n  PeoplePaneOpenDialpad: <Dialpad20Regular />,\n  /* @conditional-compile-remove(PSTN-calls) */\n  DialpadStartCall: <Call20Regular />,\n  NoticePageInviteToRoomRemoved: <Info20Filled />,\n\n  BlurVideoBackground: <VideoBackgroundEffect20Regular />,\n\n  RemoveVideoBackgroundEffect: <VideoPerson20Filled />,\n  GalleryOptions: <Grid20Regular />,\n  OverflowGalleryTop: <WindowHeaderHorizontal20Regular />,\n  SpeakerGalleryLayout: <PersonSquare20Regular />,\n  DefaultGalleryLayout: <TableSimple20Regular />,\n  FloatingLocalVideoGalleryLayout: <BoardSplit20Regular />,\n  FocusedContentGalleryLayout: <ContentView20Regular />,\n  LargeGalleryLayout: <Table20Regular />,\n  DefaultCustomButton: <Circle20Regular />,\n  DtmfDialpadButton: <Dialpad20Regular />,\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  PhoneNumberButton: <PersonCall20Regular />,\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  JoinByPhoneDialStepIcon: <PersonCall20Regular />,\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  JoinByPhoneConferenceIdIcon: <Dialpad20Regular />,\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  JoinByPhoneWaitToBeAdmittedIcon: <Clock20Filled />,\n  PeoplePaneMoreButton: <MoreHorizontal20Filled />,\n  StopAllSpotlightMenuButton: <VideoPersonStarOff20Filled />\n};\n\n/**\n * The default set of icons that are available to used in the Composites.\n *\n * @public\n */\nexport const DEFAULT_COMPOSITE_ICONS = {\n  ...DEFAULT_COMPONENT_ICONS,\n  ...COMPOSITE_ONLY_ICONS\n};\n\n/** @private */\nexport type CompositeIconProps<Icons> = IIconProps & { iconName: keyof Icons };\n\n/**\n * Icons that can be overridden for {@link ChatComposite}.\n *\n * @public\n */\nexport type ChatCompositeIcons = {\n  EditBoxCancel?: JSX.Element;\n  EditBoxSubmit?: JSX.Element;\n  MessageDelivered?: JSX.Element;\n  MessageEdit?: JSX.Element;\n  MessageFailed?: JSX.Element;\n  MessageRemove?: JSX.Element;\n  MessageSeen?: JSX.Element;\n  MessageSending?: JSX.Element;\n  ParticipantItemOptions?: JSX.Element;\n  ParticipantItemOptionsHovered?: JSX.Element;\n  SendBoxSend?: JSX.Element;\n  SendBoxSendHovered?: JSX.Element;\n  /* @conditional-compile-remove(file-sharing-acs) */\n  SendBoxAttachFile?: JSX.Element;\n};\n\n/**\n * Icon wrapper to use when including customizable icons inside the ChatComposite.\n * This wrapper ensures the icon name is being type-checked helping ensure no typos\n * and ensure that icon is customizable through the composite API.\n *\n * @private\n */\nexport const ChatCompositeIcon = (props: CompositeIconProps<ChatCompositeIcons>): JSX.Element => (\n  <FontIcon {...props} />\n);\n\n/**\n * Icons that can be overridden for {@link CallComposite}.\n *\n * @public\n */\nexport type CallCompositeIcons = {\n  ControlBarPeopleButton?: JSX.Element;\n  ControlButtonCameraOff?: JSX.Element;\n  ControlButtonCameraOn?: JSX.Element;\n  ControlButtonEndCall?: JSX.Element;\n  ControlButtonMicOff?: JSX.Element;\n  ControlButtonMicOn?: JSX.Element;\n  ControlButtonOptions?: JSX.Element;\n  ControlButtonParticipants?: JSX.Element;\n  ControlButtonScreenShareStart?: JSX.Element;\n  ControlButtonScreenShareStop?: JSX.Element;\n\n  ControlButtonCameraProhibited?: JSX.Element;\n\n  ControlButtonMicProhibited?: JSX.Element;\n  ControlButtonRaiseHand?: JSX.Element;\n  ControlButtonLowerHand?: JSX.Element;\n  ControlButtonExitSpotlight?: JSX.Element;\n  RaiseHandContextualMenuItem?: JSX.Element;\n  ReactionContextualMenuItem?: JSX.Element;\n  LowerHandContextualMenuItem?: JSX.Element;\n  ReactionButtonIcon?: JSX.Element;\n  ErrorBarCallCameraAccessDenied?: JSX.Element;\n  ErrorBarCallCameraAlreadyInUse?: JSX.Element;\n  ErrorBarCallLocalVideoFreeze?: JSX.Element;\n  ErrorBarCallMacOsCameraAccessDenied?: JSX.Element;\n  ErrorBarCallMacOsMicrophoneAccessDenied?: JSX.Element;\n  ErrorBarCallMicrophoneAccessDenied?: JSX.Element;\n  ErrorBarCallMicrophoneMutedBySystem?: JSX.Element;\n  ErrorBarCallMicrophoneUnmutedBySystem?: JSX.Element;\n  ErrorBarCallNetworkQualityLow?: JSX.Element;\n  ErrorBarCallNoMicrophoneFound?: JSX.Element;\n  ErrorBarCallNoSpeakerFound?: JSX.Element;\n  ErrorBarClear?: JSX.Element;\n  HorizontalGalleryLeftButton?: JSX.Element;\n  HorizontalGalleryRightButton?: JSX.Element;\n  LobbyScreenConnectingToCall?: JSX.Element;\n  LobbyScreenWaitingToBeAdmitted?: JSX.Element;\n  LocalDeviceSettingsCamera?: JSX.Element;\n  LocalDeviceSettingsMic?: JSX.Element;\n  LocalDeviceSettingsSpeaker?: JSX.Element;\n  LocalPreviewPlaceholder?: JSX.Element;\n  Muted?: JSX.Element;\n  NetworkReconnectIcon?: JSX.Element;\n  NoticePageAccessDeniedTeamsMeeting?: JSX.Element;\n  NoticePageJoinCallFailedDueToNoNetwork?: JSX.Element;\n  NoticePageLeftCall?: JSX.Element;\n  NoticePageRemovedFromCall?: JSX.Element;\n  NoticePageCallRejected?: JSX.Element;\n  NoticePageNotInvitedToRoom?: JSX.Element;\n  NoticePageRoomNotFound?: JSX.Element;\n  NoticePageRoomNotValid?: JSX.Element;\n  NoticePageCallTimeout?: JSX.Element;\n  OptionsCamera?: JSX.Element;\n  OptionsMic?: JSX.Element;\n  OptionsSpeaker?: JSX.Element;\n  ParticipantItemMicOff?: JSX.Element;\n  ParticipantItemOptions?: JSX.Element;\n  ParticipantItemOptionsHovered?: JSX.Element;\n  ParticipantItemScreenShareStart?: JSX.Element;\n  VideoTileMicOff?: JSX.Element;\n  LocalCameraSwitch?: JSX.Element;\n  /* @conditional-compile-remove(PSTN-calls) */\n  PeoplePaneAddPerson?: JSX.Element;\n  /* @conditional-compile-remove(PSTN-calls) */\n  PeoplePaneOpenDialpad?: JSX.Element;\n  /* @conditional-compile-remove(PSTN-calls) */\n  DialpadStartCall?: JSX.Element;\n  NoticePageInviteToRoomRemoved?: JSX.Element;\n\n  BlurVideoBackground?: JSX.Element;\n\n  RemoveVideoBackgroundEffect?: JSX.Element;\n  GalleryOptions?: JSX.Element;\n  SpeakerGalleryLayout?: JSX.Element;\n  FloatingLocalVideoGalleryLayout?: JSX.Element;\n  DefaultGalleryLayout?: JSX.Element;\n  FocusedContentGalleryLayout?: JSX.Element;\n  OverflowGalleryTop?: JSX.Element;\n  LargeGalleryLayout?: JSX.Element;\n  DefaultCustomButton?: JSX.Element;\n  DtmfDialpadButton?: JSX.Element;\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  PhoneNumberButton?: JSX.Element;\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  JoinByPhoneDialStepIcon?: JSX.Element;\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  JoinByPhoneConferenceIdIcon?: JSX.Element;\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  JoinByPhoneWaitToBeAdmittedIcon?: JSX.Element;\n  PeoplePaneMoreButton?: JSX.Element;\n  StopAllSpotlightMenuButton?: JSX.Element;\n};\n\n/**\n * Icon wrapper to use when including customizable icons inside the CallComposite.\n * This wrapper ensures the icon name is being type-checked helping ensure no typos\n * and ensure that icon is customizable through the composite API.\n *\n * @private\n */\nexport const CallCompositeIcon = (props: CompositeIconProps<CallCompositeIcons>): JSX.Element => (\n  <FontIcon {...props} />\n);\n\n/**\n * Icons that can be overridden for {@link CallWithChatComposite}.\n *\n * @public\n */\nexport type CallWithChatCompositeIcons = {\n  // CallWithChat Specific Icons\n  ChevronLeft?: JSX.Element;\n  ControlBarChatButtonActive?: JSX.Element;\n  ControlBarChatButtonInactive?: JSX.Element;\n  ControlBarPeopleButton?: JSX.Element;\n  Link?: JSX.Element;\n  MoreDrawerMicrophones?: JSX.Element;\n  MoreDrawerPeople?: JSX.Element;\n  MoreDrawerSelectedMicrophone?: JSX.Element;\n  MoreDrawerSelectedSpeaker?: JSX.Element;\n  MoreDrawerSpeakers?: JSX.Element;\n\n  // Call icons\n  ControlButtonCameraOff?: JSX.Element;\n  ControlButtonCameraOn?: JSX.Element;\n  ControlButtonEndCall?: JSX.Element;\n  ControlButtonMicOff?: JSX.Element;\n  ControlButtonMicOn?: JSX.Element;\n  ControlButtonOptions?: JSX.Element;\n  ControlButtonScreenShareStart?: JSX.Element;\n  ControlButtonScreenShareStop?: JSX.Element;\n\n  ControlButtonCameraProhibited?: JSX.Element;\n\n  ControlButtonMicProhibited?: JSX.Element;\n  ErrorBarCallCameraAccessDenied?: JSX.Element;\n  ErrorBarCallCameraAlreadyInUse?: JSX.Element;\n  ErrorBarCallLocalVideoFreeze?: JSX.Element;\n  ErrorBarCallMacOsCameraAccessDenied?: JSX.Element;\n  ErrorBarCallMacOsMicrophoneAccessDenied?: JSX.Element;\n  ErrorBarCallMicrophoneAccessDenied?: JSX.Element;\n  ErrorBarCallMicrophoneMutedBySystem?: JSX.Element;\n  ErrorBarCallMicrophoneUnmutedBySystem?: JSX.Element;\n  ErrorBarCallNetworkQualityLow?: JSX.Element;\n  ErrorBarCallNoMicrophoneFound?: JSX.Element;\n  ErrorBarCallNoSpeakerFound?: JSX.Element;\n  ErrorBarClear?: JSX.Element;\n  HorizontalGalleryLeftButton?: JSX.Element;\n  HorizontalGalleryRightButton?: JSX.Element;\n  LobbyScreenConnectingToCall?: JSX.Element;\n  LobbyScreenWaitingToBeAdmitted?: JSX.Element;\n  LocalDeviceSettingsCamera?: JSX.Element;\n  LocalDeviceSettingsMic?: JSX.Element;\n  LocalDeviceSettingsSpeaker?: JSX.Element;\n  LocalPreviewPlaceholder?: JSX.Element;\n  Muted?: JSX.Element;\n  NetworkReconnectIcon?: JSX.Element;\n  NoticePageAccessDeniedTeamsMeeting?: JSX.Element;\n  NoticePageJoinCallFailedDueToNoNetwork?: JSX.Element;\n  NoticePageLeftCall?: JSX.Element;\n  NoticePageRemovedFromCall?: JSX.Element;\n  OptionsCamera?: JSX.Element;\n  OptionsMic?: JSX.Element;\n  OptionsSpeaker?: JSX.Element;\n  ParticipantItemMicOff?: JSX.Element;\n  ParticipantItemScreenShareStart?: JSX.Element;\n  VideoTileMicOff?: JSX.Element;\n  LocalCameraSwitch?: JSX.Element;\n  /* @conditional-compile-remove(PSTN-calls) */\n  PeoplePaneAddPerson?: JSX.Element;\n  /* @conditional-compile-remove(PSTN-calls) */\n  PeoplePaneOpenDialpad?: JSX.Element;\n  /* @conditional-compile-remove(PSTN-calls) */\n  DialpadStartCall?: JSX.Element;\n  DefaultCustomButton?: JSX.Element;\n  DtmfDialpadButton?: JSX.Element;\n\n  // Chat icons\n  EditBoxCancel?: JSX.Element;\n  EditBoxSubmit?: JSX.Element;\n  MessageDelivered?: JSX.Element;\n  MessageEdit?: JSX.Element;\n  MessageFailed?: JSX.Element;\n  MessageRemove?: JSX.Element;\n  MessageSeen?: JSX.Element;\n  MessageSending?: JSX.Element;\n  SendBoxSend?: JSX.Element;\n  SendBoxSendHovered?: JSX.Element;\n  SendBoxAttachFile?: JSX.Element;\n\n  // Icons common to Call and Chat.\n  ParticipantItemOptions?: JSX.Element;\n  ParticipantItemOptionsHovered?: JSX.Element;\n  PeoplePaneMoreButton?: JSX.Element;\n  StopAllSpotlightMenuButton?: JSX.Element;\n};\n\n/**\n * Icon wrapper to use when including customizable icons inside the CallWithChatComposite.\n * This wrapper ensures the icon name is being type-checked helping ensure no typos\n * and ensure that icon is customizable through the composite API.\n *\n * @private\n */\nexport const CallWithChatCompositeIcon = (props: CompositeIconProps<CallWithChatCompositeIcons>): JSX.Element => (\n  <FontIcon {...props} />\n);\n\n/**\n * Icons that can be overridden in one of the composites exported by this library.\n *\n * See {@link ChatCompositeIcons}, {@link CallCompositeIcons} and {@link CallWithChatCompositeIcons} for more targeted types.\n *\n * @public\n */\nexport type CompositeIcons = ChatCompositeIcons & CallCompositeIcons & CallWithChatCompositeIcons;\n"]}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/common/icons.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n  CallEnd20Filled,\n  CallMissed20Filled,\n  CameraSwitch24Regular,\n  Chat20Filled,\n  Chat20Regular,\n  Info20Filled,\n  MicOff20Filled,\n  Mic20Filled,\n  Mic20Regular,\n  People20Regular,\n  PersonDelete20Filled,\n  Speaker220Filled,\n  Speaker220Regular,\n  Video20Filled,\n  VideoOff20Filled,\n  WifiWarning20Filled,\n  Circle20Regular\n} from '@fluentui/react-icons';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { PersonCall20Regular, Clock20Filled } from '@fluentui/react-icons';\nimport { MoreHorizontal20Filled, VideoPersonStarOff20Filled } from '@fluentui/react-icons';\nimport { MicProhibited20Filled, VideoProhibited20Filled } from '@fluentui/react-icons';\nimport { Grid20Regular } from '@fluentui/react-icons';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { PersonAdd20Regular, Call20Regular } from '@fluentui/react-icons';\nimport { Dialpad20Regular } from '@fluentui/react-icons';\nimport { DEFAULT_COMPONENT_ICONS } from '@internal/react-components';\nimport React from 'react';\n// eslint-disable-next-line no-restricted-imports\nimport { FontIcon, IIconProps, Spinner, SpinnerSize } from '@fluentui/react';\n/* @conditional-compile-remove(file-sharing-acs) */\nimport { Attach20Regular } from '@fluentui/react-icons';\n\nimport { VideoBackgroundEffect20Regular, VideoPerson20Filled } from '@fluentui/react-icons';\nimport {\n  PersonSquare20Regular,\n  WindowHeaderHorizontal20Regular,\n  TableSimple20Regular,\n  BoardSplit20Regular,\n  ContentView20Regular,\n  Table20Regular\n} from '@fluentui/react-icons';\n\nconst SpinnerIcon = (): JSX.Element => <Spinner size={SpinnerSize.large} />;\n\n/**\n * The default set of icons used by the composites directly (i.e. not via the components defined in this library).\n *\n * @public\n */\nexport const COMPOSITE_ONLY_ICONS: CompositeIcons = {\n  ChevronLeft: undefined,\n  Link: undefined,\n  LobbyScreenConnectingToCall: <SpinnerIcon />,\n  LobbyScreenWaitingToBeAdmitted: <SpinnerIcon />,\n  LocalDeviceSettingsCamera: <Video20Filled />,\n  LocalDeviceSettingsMic: <Mic20Filled />,\n  LocalDeviceSettingsSpeaker: <Speaker220Filled />,\n  LocalPreviewPlaceholder: <VideoOff20Filled />,\n  LocalCameraSwitch: <CameraSwitch24Regular />,\n  ControlBarChatButtonActive: <Chat20Filled />,\n  ControlBarChatButtonInactive: <Chat20Regular />,\n\n  ControlButtonCameraProhibited: <VideoProhibited20Filled />,\n\n  ControlButtonMicProhibited: <MicProhibited20Filled />,\n  ControlButtonExitSpotlight: <VideoPersonStarOff20Filled />,\n  ControlBarPeopleButton: <People20Regular />,\n  MoreDrawerMicrophones: <Mic20Regular />,\n  MoreDrawerPeople: <People20Regular />,\n  MoreDrawerSpeakers: <Speaker220Regular />,\n  MoreDrawerSelectedMicrophone: <Mic20Filled />,\n  MoreDrawerSelectedSpeaker: <Speaker220Filled />,\n  Muted: <MicOff20Filled />,\n  NetworkReconnectIcon: <CallMissed20Filled />,\n  NoticePageAccessDeniedTeamsMeeting: <PersonDelete20Filled />,\n  NoticePageJoinCallFailedDueToNoNetwork: <WifiWarning20Filled />,\n  NoticePageLeftCall: <CallEnd20Filled />,\n  NoticePageRemovedFromCall: <Info20Filled />,\n  NoticePageNotInvitedToRoom: <Info20Filled />,\n  NoticePageRoomNotFound: <Info20Filled />,\n  NoticePageRoomNotValid: <Info20Filled />,\n  NoticePageCallRejected: <Info20Filled />,\n  NoticePageCallTimeout: <Info20Filled />,\n  /* @conditional-compile-remove(file-sharing-acs) */\n  SendBoxAttachFile: <Attach20Regular />,\n  /* @conditional-compile-remove(PSTN-calls) */\n  PeoplePaneAddPerson: <PersonAdd20Regular />,\n  /* @conditional-compile-remove(PSTN-calls) */\n  PeoplePaneOpenDialpad: <Dialpad20Regular />,\n  /* @conditional-compile-remove(PSTN-calls) */\n  DialpadStartCall: <Call20Regular />,\n  NoticePageInviteToRoomRemoved: <Info20Filled />,\n\n  BlurVideoBackground: <VideoBackgroundEffect20Regular />,\n\n  RemoveVideoBackgroundEffect: <VideoPerson20Filled />,\n  GalleryOptions: <Grid20Regular />,\n  OverflowGalleryTop: <WindowHeaderHorizontal20Regular />,\n  SpeakerGalleryLayout: <PersonSquare20Regular />,\n  DefaultGalleryLayout: <TableSimple20Regular />,\n  FloatingLocalVideoGalleryLayout: <BoardSplit20Regular />,\n  FocusedContentGalleryLayout: <ContentView20Regular />,\n  LargeGalleryLayout: <Table20Regular />,\n  DefaultCustomButton: <Circle20Regular />,\n  DtmfDialpadButton: <Dialpad20Regular />,\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  PhoneNumberButton: <PersonCall20Regular />,\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  PhoneInfoWait: <Clock20Filled />,\n  PeoplePaneMoreButton: <MoreHorizontal20Filled />,\n  StopAllSpotlightMenuButton: <VideoPersonStarOff20Filled />\n};\n\n/**\n * The default set of icons that are available to used in the Composites.\n *\n * @public\n */\nexport const DEFAULT_COMPOSITE_ICONS = {\n  ...DEFAULT_COMPONENT_ICONS,\n  ...COMPOSITE_ONLY_ICONS\n};\n\n/** @private */\nexport type CompositeIconProps<Icons> = IIconProps & { iconName: keyof Icons };\n\n/**\n * Icons that can be overridden for {@link ChatComposite}.\n *\n * @public\n */\nexport type ChatCompositeIcons = {\n  EditBoxCancel?: JSX.Element;\n  EditBoxSubmit?: JSX.Element;\n  MessageDelivered?: JSX.Element;\n  MessageEdit?: JSX.Element;\n  MessageFailed?: JSX.Element;\n  MessageRemove?: JSX.Element;\n  MessageSeen?: JSX.Element;\n  MessageSending?: JSX.Element;\n  ParticipantItemOptions?: JSX.Element;\n  ParticipantItemOptionsHovered?: JSX.Element;\n  SendBoxSend?: JSX.Element;\n  SendBoxSendHovered?: JSX.Element;\n  /* @conditional-compile-remove(file-sharing-acs) */\n  SendBoxAttachFile?: JSX.Element;\n};\n\n/**\n * Icon wrapper to use when including customizable icons inside the ChatComposite.\n * This wrapper ensures the icon name is being type-checked helping ensure no typos\n * and ensure that icon is customizable through the composite API.\n *\n * @private\n */\nexport const ChatCompositeIcon = (props: CompositeIconProps<ChatCompositeIcons>): JSX.Element => (\n  <FontIcon {...props} />\n);\n\n/**\n * Icons that can be overridden for {@link CallComposite}.\n *\n * @public\n */\nexport type CallCompositeIcons = {\n  ControlBarPeopleButton?: JSX.Element;\n  ControlButtonCameraOff?: JSX.Element;\n  ControlButtonCameraOn?: JSX.Element;\n  ControlButtonEndCall?: JSX.Element;\n  ControlButtonMicOff?: JSX.Element;\n  ControlButtonMicOn?: JSX.Element;\n  ControlButtonOptions?: JSX.Element;\n  ControlButtonParticipants?: JSX.Element;\n  ControlButtonScreenShareStart?: JSX.Element;\n  ControlButtonScreenShareStop?: JSX.Element;\n\n  ControlButtonCameraProhibited?: JSX.Element;\n\n  ControlButtonMicProhibited?: JSX.Element;\n  ControlButtonRaiseHand?: JSX.Element;\n  ControlButtonLowerHand?: JSX.Element;\n  ControlButtonExitSpotlight?: JSX.Element;\n  RaiseHandContextualMenuItem?: JSX.Element;\n  ReactionContextualMenuItem?: JSX.Element;\n  LowerHandContextualMenuItem?: JSX.Element;\n  ReactionButtonIcon?: JSX.Element;\n  ErrorBarCallCameraAccessDenied?: JSX.Element;\n  ErrorBarCallCameraAlreadyInUse?: JSX.Element;\n  ErrorBarCallLocalVideoFreeze?: JSX.Element;\n  ErrorBarCallMacOsCameraAccessDenied?: JSX.Element;\n  ErrorBarCallMacOsMicrophoneAccessDenied?: JSX.Element;\n  ErrorBarCallMicrophoneAccessDenied?: JSX.Element;\n  ErrorBarCallMicrophoneMutedBySystem?: JSX.Element;\n  ErrorBarCallMicrophoneUnmutedBySystem?: JSX.Element;\n  ErrorBarCallNetworkQualityLow?: JSX.Element;\n  ErrorBarCallNoMicrophoneFound?: JSX.Element;\n  ErrorBarCallNoSpeakerFound?: JSX.Element;\n  ErrorBarClear?: JSX.Element;\n  HorizontalGalleryLeftButton?: JSX.Element;\n  HorizontalGalleryRightButton?: JSX.Element;\n  LobbyScreenConnectingToCall?: JSX.Element;\n  LobbyScreenWaitingToBeAdmitted?: JSX.Element;\n  LocalDeviceSettingsCamera?: JSX.Element;\n  LocalDeviceSettingsMic?: JSX.Element;\n  LocalDeviceSettingsSpeaker?: JSX.Element;\n  LocalPreviewPlaceholder?: JSX.Element;\n  Muted?: JSX.Element;\n  NetworkReconnectIcon?: JSX.Element;\n  NoticePageAccessDeniedTeamsMeeting?: JSX.Element;\n  NoticePageJoinCallFailedDueToNoNetwork?: JSX.Element;\n  NoticePageLeftCall?: JSX.Element;\n  NoticePageRemovedFromCall?: JSX.Element;\n  NoticePageCallRejected?: JSX.Element;\n  NoticePageNotInvitedToRoom?: JSX.Element;\n  NoticePageRoomNotFound?: JSX.Element;\n  NoticePageRoomNotValid?: JSX.Element;\n  NoticePageCallTimeout?: JSX.Element;\n  OptionsCamera?: JSX.Element;\n  OptionsMic?: JSX.Element;\n  OptionsSpeaker?: JSX.Element;\n  ParticipantItemMicOff?: JSX.Element;\n  ParticipantItemOptions?: JSX.Element;\n  ParticipantItemOptionsHovered?: JSX.Element;\n  ParticipantItemScreenShareStart?: JSX.Element;\n  VideoTileMicOff?: JSX.Element;\n  LocalCameraSwitch?: JSX.Element;\n  /* @conditional-compile-remove(PSTN-calls) */\n  PeoplePaneAddPerson?: JSX.Element;\n  /* @conditional-compile-remove(PSTN-calls) */\n  PeoplePaneOpenDialpad?: JSX.Element;\n  /* @conditional-compile-remove(PSTN-calls) */\n  DialpadStartCall?: JSX.Element;\n  NoticePageInviteToRoomRemoved?: JSX.Element;\n\n  BlurVideoBackground?: JSX.Element;\n\n  RemoveVideoBackgroundEffect?: JSX.Element;\n  GalleryOptions?: JSX.Element;\n  SpeakerGalleryLayout?: JSX.Element;\n  FloatingLocalVideoGalleryLayout?: JSX.Element;\n  DefaultGalleryLayout?: JSX.Element;\n  FocusedContentGalleryLayout?: JSX.Element;\n  OverflowGalleryTop?: JSX.Element;\n  LargeGalleryLayout?: JSX.Element;\n  DefaultCustomButton?: JSX.Element;\n  DtmfDialpadButton?: JSX.Element;\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  PhoneNumberButton?: JSX.Element;\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  PhoneInfoWait?: JSX.Element;\n  PeoplePaneMoreButton?: JSX.Element;\n  StopAllSpotlightMenuButton?: JSX.Element;\n};\n\n/**\n * Icon wrapper to use when including customizable icons inside the CallComposite.\n * This wrapper ensures the icon name is being type-checked helping ensure no typos\n * and ensure that icon is customizable through the composite API.\n *\n * @private\n */\nexport const CallCompositeIcon = (props: CompositeIconProps<CallCompositeIcons>): JSX.Element => (\n  <FontIcon {...props} />\n);\n\n/**\n * Icons that can be overridden for {@link CallWithChatComposite}.\n *\n * @public\n */\nexport type CallWithChatCompositeIcons = {\n  // CallWithChat Specific Icons\n  ChevronLeft?: JSX.Element;\n  ControlBarChatButtonActive?: JSX.Element;\n  ControlBarChatButtonInactive?: JSX.Element;\n  ControlBarPeopleButton?: JSX.Element;\n  Link?: JSX.Element;\n  MoreDrawerMicrophones?: JSX.Element;\n  MoreDrawerPeople?: JSX.Element;\n  MoreDrawerSelectedMicrophone?: JSX.Element;\n  MoreDrawerSelectedSpeaker?: JSX.Element;\n  MoreDrawerSpeakers?: JSX.Element;\n\n  // Call icons\n  ControlButtonCameraOff?: JSX.Element;\n  ControlButtonCameraOn?: JSX.Element;\n  ControlButtonEndCall?: JSX.Element;\n  ControlButtonMicOff?: JSX.Element;\n  ControlButtonMicOn?: JSX.Element;\n  ControlButtonOptions?: JSX.Element;\n  ControlButtonScreenShareStart?: JSX.Element;\n  ControlButtonScreenShareStop?: JSX.Element;\n\n  ControlButtonCameraProhibited?: JSX.Element;\n\n  ControlButtonMicProhibited?: JSX.Element;\n  ErrorBarCallCameraAccessDenied?: JSX.Element;\n  ErrorBarCallCameraAlreadyInUse?: JSX.Element;\n  ErrorBarCallLocalVideoFreeze?: JSX.Element;\n  ErrorBarCallMacOsCameraAccessDenied?: JSX.Element;\n  ErrorBarCallMacOsMicrophoneAccessDenied?: JSX.Element;\n  ErrorBarCallMicrophoneAccessDenied?: JSX.Element;\n  ErrorBarCallMicrophoneMutedBySystem?: JSX.Element;\n  ErrorBarCallMicrophoneUnmutedBySystem?: JSX.Element;\n  ErrorBarCallNetworkQualityLow?: JSX.Element;\n  ErrorBarCallNoMicrophoneFound?: JSX.Element;\n  ErrorBarCallNoSpeakerFound?: JSX.Element;\n  ErrorBarClear?: JSX.Element;\n  HorizontalGalleryLeftButton?: JSX.Element;\n  HorizontalGalleryRightButton?: JSX.Element;\n  LobbyScreenConnectingToCall?: JSX.Element;\n  LobbyScreenWaitingToBeAdmitted?: JSX.Element;\n  LocalDeviceSettingsCamera?: JSX.Element;\n  LocalDeviceSettingsMic?: JSX.Element;\n  LocalDeviceSettingsSpeaker?: JSX.Element;\n  LocalPreviewPlaceholder?: JSX.Element;\n  Muted?: JSX.Element;\n  NetworkReconnectIcon?: JSX.Element;\n  NoticePageAccessDeniedTeamsMeeting?: JSX.Element;\n  NoticePageJoinCallFailedDueToNoNetwork?: JSX.Element;\n  NoticePageLeftCall?: JSX.Element;\n  NoticePageRemovedFromCall?: JSX.Element;\n  OptionsCamera?: JSX.Element;\n  OptionsMic?: JSX.Element;\n  OptionsSpeaker?: JSX.Element;\n  ParticipantItemMicOff?: JSX.Element;\n  ParticipantItemScreenShareStart?: JSX.Element;\n  VideoTileMicOff?: JSX.Element;\n  LocalCameraSwitch?: JSX.Element;\n  /* @conditional-compile-remove(PSTN-calls) */\n  PeoplePaneAddPerson?: JSX.Element;\n  /* @conditional-compile-remove(PSTN-calls) */\n  PeoplePaneOpenDialpad?: JSX.Element;\n  /* @conditional-compile-remove(PSTN-calls) */\n  DialpadStartCall?: JSX.Element;\n  DefaultCustomButton?: JSX.Element;\n  DtmfDialpadButton?: JSX.Element;\n\n  // Chat icons\n  EditBoxCancel?: JSX.Element;\n  EditBoxSubmit?: JSX.Element;\n  MessageDelivered?: JSX.Element;\n  MessageEdit?: JSX.Element;\n  MessageFailed?: JSX.Element;\n  MessageRemove?: JSX.Element;\n  MessageSeen?: JSX.Element;\n  MessageSending?: JSX.Element;\n  SendBoxSend?: JSX.Element;\n  SendBoxSendHovered?: JSX.Element;\n  SendBoxAttachFile?: JSX.Element;\n\n  // Icons common to Call and Chat.\n  ParticipantItemOptions?: JSX.Element;\n  ParticipantItemOptionsHovered?: JSX.Element;\n  PeoplePaneMoreButton?: JSX.Element;\n  StopAllSpotlightMenuButton?: JSX.Element;\n};\n\n/**\n * Icon wrapper to use when including customizable icons inside the CallWithChatComposite.\n * This wrapper ensures the icon name is being type-checked helping ensure no typos\n * and ensure that icon is customizable through the composite API.\n *\n * @private\n */\nexport const CallWithChatCompositeIcon = (props: CompositeIconProps<CallWithChatCompositeIcons>): JSX.Element => (\n  <FontIcon {...props} />\n);\n\n/**\n * Icons that can be overridden in one of the composites exported by this library.\n *\n * See {@link ChatCompositeIcons}, {@link CallCompositeIcons} and {@link CallWithChatCompositeIcons} for more targeted types.\n *\n * @public\n */\nexport type CompositeIcons = ChatCompositeIcons & CallCompositeIcons & CallWithChatCompositeIcons;\n"]}
         
     | 
    
        package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json
    CHANGED
    
    | 
         @@ -338,16 +338,11 @@ 
     | 
|
| 
       338 
338 
     | 
    
         
             
                    "endCallConfirmDialogTitle": "هل تريد إنهاء المكالمة؟",
         
     | 
| 
       339 
339 
     | 
    
         
             
                    "endCallConfirmDialogContent": "ستنهي المكالمة لدى الجميع.",
         
     | 
| 
       340 
340 
     | 
    
         
             
                    "invalidMeetingIdentifier": "معرف اجتماع أو رمز مرور غير صالح",
         
     | 
| 
       341 
     | 
    
         
            -
                    "pinParticipantMenuLabel": " 
     | 
| 
       342 
     | 
    
         
            -
                    "pinParticipantLimitReachedMenuLabel": " 
     | 
| 
       343 
     | 
    
         
            -
                    "unpinParticipantMenuLabel": " 
     | 
| 
       344 
     | 
    
         
            -
                    "pinParticipantMenuItemAriaLabel": " 
     | 
| 
       345 
     | 
    
         
            -
                    "unpinParticipantMenuItemAriaLabel": " 
     | 
| 
       346 
     | 
    
         
            -
                    "muteAllMenuLabel": "كتم صوت الجميع",
         
     | 
| 
       347 
     | 
    
         
            -
                    "muteAllDialogTitle": "هل تريد كتم صوت الجميع؟",
         
     | 
| 
       348 
     | 
    
         
            -
                    "muteAllDialogContent": "سيؤدي ذلك إلى كتم صوت الجميع في الاجتماع باستثننائك.",
         
     | 
| 
       349 
     | 
    
         
            -
                    "muteAllConfirmButtonLabel": "كتم صوت الجميع",
         
     | 
| 
       350 
     | 
    
         
            -
                    "muteAllCancelButtonLabel": "إلغاء"
         
     | 
| 
      
 341 
     | 
    
         
            +
                    "pinParticipantMenuLabel": "Pin for me",
         
     | 
| 
      
 342 
     | 
    
         
            +
                    "pinParticipantLimitReachedMenuLabel": "Pin (limit reached)",
         
     | 
| 
      
 343 
     | 
    
         
            +
                    "unpinParticipantMenuLabel": "Unpin",
         
     | 
| 
      
 344 
     | 
    
         
            +
                    "pinParticipantMenuItemAriaLabel": "Pin",
         
     | 
| 
      
 345 
     | 
    
         
            +
                    "unpinParticipantMenuItemAriaLabel": "Unpin"
         
     | 
| 
       351 
346 
     | 
    
         
             
                },
         
     | 
| 
       352 
347 
     | 
    
         
             
                "chat": {
         
     | 
| 
       353 
348 
     | 
    
         
             
                    "chatListHeader": "في هذه الدردشة",
         
     | 
    
        package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json
    CHANGED
    
    | 
         @@ -342,12 +342,7 @@ 
     | 
|
| 
       342 
342 
     | 
    
         
             
                    "pinParticipantLimitReachedMenuLabel": "Připnout (dosáhlo se limitu)",
         
     | 
| 
       343 
343 
     | 
    
         
             
                    "unpinParticipantMenuLabel": "Odepnout",
         
     | 
| 
       344 
344 
     | 
    
         
             
                    "pinParticipantMenuItemAriaLabel": "Připnout",
         
     | 
| 
       345 
     | 
    
         
            -
                    "unpinParticipantMenuItemAriaLabel": "Odepnout" 
     | 
| 
       346 
     | 
    
         
            -
                    "muteAllMenuLabel": "Ztlumit všechny",
         
     | 
| 
       347 
     | 
    
         
            -
                    "muteAllDialogTitle": "Chcete všechny ztlumit?",
         
     | 
| 
       348 
     | 
    
         
            -
                    "muteAllDialogContent": "Ztlumí všechny účastníky schůzky kromě vás.",
         
     | 
| 
       349 
     | 
    
         
            -
                    "muteAllConfirmButtonLabel": "Ztlumit všechny",
         
     | 
| 
       350 
     | 
    
         
            -
                    "muteAllCancelButtonLabel": "Zrušit"
         
     | 
| 
      
 345 
     | 
    
         
            +
                    "unpinParticipantMenuItemAriaLabel": "Odepnout"
         
     | 
| 
       351 
346 
     | 
    
         
             
                },
         
     | 
| 
       352 
347 
     | 
    
         
             
                "chat": {
         
     | 
| 
       353 
348 
     | 
    
         
             
                    "chatListHeader": "V tomto chatu",
         
     | 
    
        package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json
    CHANGED
    
    | 
         @@ -342,12 +342,7 @@ 
     | 
|
| 
       342 
342 
     | 
    
         
             
                    "pinParticipantLimitReachedMenuLabel": "Anheften (Limit erreicht)",
         
     | 
| 
       343 
343 
     | 
    
         
             
                    "unpinParticipantMenuLabel": "Lösen",
         
     | 
| 
       344 
344 
     | 
    
         
             
                    "pinParticipantMenuItemAriaLabel": "Anheften",
         
     | 
| 
       345 
     | 
    
         
            -
                    "unpinParticipantMenuItemAriaLabel": "Lösen" 
     | 
| 
       346 
     | 
    
         
            -
                    "muteAllMenuLabel": "Alle stummschalten",
         
     | 
| 
       347 
     | 
    
         
            -
                    "muteAllDialogTitle": "Alle stummschalten?",
         
     | 
| 
       348 
     | 
    
         
            -
                    "muteAllDialogContent": "Hierdurch werden alle in der Besprechung stummgeschaltet, außer Ihnen.",
         
     | 
| 
       349 
     | 
    
         
            -
                    "muteAllConfirmButtonLabel": "Alle stummschalten",
         
     | 
| 
       350 
     | 
    
         
            -
                    "muteAllCancelButtonLabel": "Abbrechen"
         
     | 
| 
      
 345 
     | 
    
         
            +
                    "unpinParticipantMenuItemAriaLabel": "Lösen"
         
     | 
| 
       351 
346 
     | 
    
         
             
                },
         
     | 
| 
       352 
347 
     | 
    
         
             
                "chat": {
         
     | 
| 
       353 
348 
     | 
    
         
             
                    "chatListHeader": "In diesem Chat",
         
     | 
    
        package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json
    CHANGED
    
    | 
         @@ -342,12 +342,7 @@ 
     | 
|
| 
       342 
342 
     | 
    
         
             
                    "pinParticipantLimitReachedMenuLabel": "Pin (limit reached)",
         
     | 
| 
       343 
343 
     | 
    
         
             
                    "unpinParticipantMenuLabel": "Unpin",
         
     | 
| 
       344 
344 
     | 
    
         
             
                    "pinParticipantMenuItemAriaLabel": "Pin",
         
     | 
| 
       345 
     | 
    
         
            -
                    "unpinParticipantMenuItemAriaLabel": "Unpin" 
     | 
| 
       346 
     | 
    
         
            -
                    "muteAllMenuLabel": "Mute all",
         
     | 
| 
       347 
     | 
    
         
            -
                    "muteAllDialogTitle": "Mute everyone?",
         
     | 
| 
       348 
     | 
    
         
            -
                    "muteAllDialogContent": "This will mute everyone in the meeting but you.",
         
     | 
| 
       349 
     | 
    
         
            -
                    "muteAllConfirmButtonLabel": "Mute all",
         
     | 
| 
       350 
     | 
    
         
            -
                    "muteAllCancelButtonLabel": "Cancel"
         
     | 
| 
      
 345 
     | 
    
         
            +
                    "unpinParticipantMenuItemAriaLabel": "Unpin"
         
     | 
| 
       351 
346 
     | 
    
         
             
                },
         
     | 
| 
       352 
347 
     | 
    
         
             
                "chat": {
         
     | 
| 
       353 
348 
     | 
    
         
             
                    "chatListHeader": "In this chat",
         
     | 
    
        package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json
    CHANGED
    
    | 
         @@ -342,12 +342,7 @@ 
     | 
|
| 
       342 
342 
     | 
    
         
             
                    "pinParticipantLimitReachedMenuLabel": "Pin (límite alcanzado)",
         
     | 
| 
       343 
343 
     | 
    
         
             
                    "unpinParticipantMenuLabel": "Desanclar",
         
     | 
| 
       344 
344 
     | 
    
         
             
                    "pinParticipantMenuItemAriaLabel": "Anclar",
         
     | 
| 
       345 
     | 
    
         
            -
                    "unpinParticipantMenuItemAriaLabel": "Desanclar" 
     | 
| 
       346 
     | 
    
         
            -
                    "muteAllMenuLabel": "Silenciar todo",
         
     | 
| 
       347 
     | 
    
         
            -
                    "muteAllDialogTitle": "¿Silenciar a todos?",
         
     | 
| 
       348 
     | 
    
         
            -
                    "muteAllDialogContent": "Esto silenciará a todos los participantes de la reunión, excepto usted.",
         
     | 
| 
       349 
     | 
    
         
            -
                    "muteAllConfirmButtonLabel": "Silenciar todo",
         
     | 
| 
       350 
     | 
    
         
            -
                    "muteAllCancelButtonLabel": "Cancelar"
         
     | 
| 
      
 345 
     | 
    
         
            +
                    "unpinParticipantMenuItemAriaLabel": "Desanclar"
         
     | 
| 
       351 
346 
     | 
    
         
             
                },
         
     | 
| 
       352 
347 
     | 
    
         
             
                "chat": {
         
     | 
| 
       353 
348 
     | 
    
         
             
                    "chatListHeader": "En este chat",
         
     | 
    
        package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json
    CHANGED
    
    | 
         @@ -338,16 +338,11 @@ 
     | 
|
| 
       338 
338 
     | 
    
         
             
                    "endCallConfirmDialogTitle": "Lopetetaanko puhelu?",
         
     | 
| 
       339 
339 
     | 
    
         
             
                    "endCallConfirmDialogContent": "Puhelu lopetetaan kaikkien osallistujien osalta.",
         
     | 
| 
       340 
340 
     | 
    
         
             
                    "invalidMeetingIdentifier": "Virheellinen kokoustunnus tai tunnuskoodi",
         
     | 
| 
       341 
     | 
    
         
            -
                    "pinParticipantMenuLabel": " 
     | 
| 
       342 
     | 
    
         
            -
                    "pinParticipantLimitReachedMenuLabel": " 
     | 
| 
       343 
     | 
    
         
            -
                    "unpinParticipantMenuLabel": " 
     | 
| 
       344 
     | 
    
         
            -
                    "pinParticipantMenuItemAriaLabel": " 
     | 
| 
       345 
     | 
    
         
            -
                    "unpinParticipantMenuItemAriaLabel": " 
     | 
| 
       346 
     | 
    
         
            -
                    "muteAllMenuLabel": "Mykistä kaikki",
         
     | 
| 
       347 
     | 
    
         
            -
                    "muteAllDialogTitle": "Mykistetäänkö kaikki?",
         
     | 
| 
       348 
     | 
    
         
            -
                    "muteAllDialogContent": "Tämä toiminto mykistää kaikki muut kokouksen osallistujat paitsi sinut.",
         
     | 
| 
       349 
     | 
    
         
            -
                    "muteAllConfirmButtonLabel": "Mykistä kaikki",
         
     | 
| 
       350 
     | 
    
         
            -
                    "muteAllCancelButtonLabel": "Peruuta"
         
     | 
| 
      
 341 
     | 
    
         
            +
                    "pinParticipantMenuLabel": "Pin for me",
         
     | 
| 
      
 342 
     | 
    
         
            +
                    "pinParticipantLimitReachedMenuLabel": "Pin (limit reached)",
         
     | 
| 
      
 343 
     | 
    
         
            +
                    "unpinParticipantMenuLabel": "Unpin",
         
     | 
| 
      
 344 
     | 
    
         
            +
                    "pinParticipantMenuItemAriaLabel": "Pin",
         
     | 
| 
      
 345 
     | 
    
         
            +
                    "unpinParticipantMenuItemAriaLabel": "Unpin"
         
     | 
| 
       351 
346 
     | 
    
         
             
                },
         
     | 
| 
       352 
347 
     | 
    
         
             
                "chat": {
         
     | 
| 
       353 
348 
     | 
    
         
             
                    "chatListHeader": "Tässä keskustelussa",
         
     | 
    
        package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json
    CHANGED
    
    | 
         @@ -338,16 +338,11 @@ 
     | 
|
| 
       338 
338 
     | 
    
         
             
                    "endCallConfirmDialogTitle": "Mettre fin à l'appel ?",
         
     | 
| 
       339 
339 
     | 
    
         
             
                    "endCallConfirmDialogContent": "Vous mettrez fin à l'appel pour tout le monde.",
         
     | 
| 
       340 
340 
     | 
    
         
             
                    "invalidMeetingIdentifier": "ID ou code secret de réunion non valide",
         
     | 
| 
       341 
     | 
    
         
            -
                    "pinParticipantMenuLabel": " 
     | 
| 
       342 
     | 
    
         
            -
                    "pinParticipantLimitReachedMenuLabel": " 
     | 
| 
       343 
     | 
    
         
            -
                    "unpinParticipantMenuLabel": " 
     | 
| 
       344 
     | 
    
         
            -
                    "pinParticipantMenuItemAriaLabel": " 
     | 
| 
       345 
     | 
    
         
            -
                    "unpinParticipantMenuItemAriaLabel": " 
     | 
| 
       346 
     | 
    
         
            -
                    "muteAllMenuLabel": "Désactiver le son de tous",
         
     | 
| 
       347 
     | 
    
         
            -
                    "muteAllDialogTitle": "Désactiver le son de tout le monde ?",
         
     | 
| 
       348 
     | 
    
         
            -
                    "muteAllDialogContent": "Cette opération va désactiver le son de tous les participants à la réunion, sauf vous.",
         
     | 
| 
       349 
     | 
    
         
            -
                    "muteAllConfirmButtonLabel": "Désactiver le son de tous",
         
     | 
| 
       350 
     | 
    
         
            -
                    "muteAllCancelButtonLabel": "Annuler"
         
     | 
| 
      
 341 
     | 
    
         
            +
                    "pinParticipantMenuLabel": "Pin for me",
         
     | 
| 
      
 342 
     | 
    
         
            +
                    "pinParticipantLimitReachedMenuLabel": "Pin (limit reached)",
         
     | 
| 
      
 343 
     | 
    
         
            +
                    "unpinParticipantMenuLabel": "Unpin",
         
     | 
| 
      
 344 
     | 
    
         
            +
                    "pinParticipantMenuItemAriaLabel": "Pin",
         
     | 
| 
      
 345 
     | 
    
         
            +
                    "unpinParticipantMenuItemAriaLabel": "Unpin"
         
     | 
| 
       351 
346 
     | 
    
         
             
                },
         
     | 
| 
       352 
347 
     | 
    
         
             
                "chat": {
         
     | 
| 
       353 
348 
     | 
    
         
             
                    "chatListHeader": "Dans cette conversation",
         
     |