@azure/communication-react 1.18.0-alpha-202406280014 → 1.18.0-alpha-202406300015
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 -1
 - package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-Bl9FzI6X.js → ChatMessageComponentAsRichTextEditBox-BtaxqZHP.js} +2 -2
 - package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-Bl9FzI6X.js.map → ChatMessageComponentAsRichTextEditBox-BtaxqZHP.js.map} +1 -1
 - package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-G-04IaQB.js → RichTextSendBoxWrapper-BMGUpdeA.js} +2 -2
 - package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-G-04IaQB.js.map → RichTextSendBoxWrapper-BMGUpdeA.js.map} +1 -1
 - package/dist/dist-cjs/communication-react/{index-CWs0GTYF.js → index-D8bZR5YN.js} +72 -57
 - package/dist/dist-cjs/communication-react/index-D8bZR5YN.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/hooks/usePropsFor.d.ts +3 -1
 - package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +12 -0
 - package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
 - package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +7 -2
 - package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
 - package/dist/dist-esm/communication-react/src/index.d.ts +1 -0
 - package/dist/dist-esm/communication-react/src/index.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/NotificationStack.d.ts +4 -0
 - package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/utils.js +3 -1
 - package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
 - package/dist/dist-esm/react-components/src/theming/icons.js +1 -2
 - package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +17 -9
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +1 -0
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +12 -2
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +1 -0
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +6 -2
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +4 -2
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +3 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +4 -2
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +3 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.d.ts +4 -0
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +10 -0
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.d.ts +6 -2
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.d.ts +5 -4
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
 - package/package.json +1 -1
 - package/dist/dist-cjs/communication-react/index-CWs0GTYF.js.map +0 -1
 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"CallArrangement.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/components/CallArrangement.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { IButton, mergeStyles, Stack } from '@fluentui/react';\nimport { _isInCall, _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport {\n  _ComplianceBanner,\n  _ComplianceBannerProps,\n  _DrawerMenu,\n  _DrawerMenuItemProps,\n  _useContainerHeight,\n  _useContainerWidth,\n  ActiveErrorMessage,\n  ErrorBar,\n  ErrorBarProps,\n  useTheme\n} from '@internal/react-components';\n/* @conditional-compile-remove(notifications) */\nimport { ActiveNotification, NotificationStack } from '@internal/react-components';\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport { VideoGallery } from '@internal/react-components';\nimport React, { useMemo, useRef, useState } from 'react';\nimport { useEffect } from 'react';\nimport { useCallback } from 'react';\nimport { AvatarPersonaDataCallback } from '../../common/AvatarPersona';\nimport { CaptionsBanner } from '../../common/CaptionsBanner';\nimport { containerDivStyles } from '../../common/ContainerRectProps';\nimport { compositeMinWidthRem } from '../../common/styles/Composite.styles';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { CallControls, CallControlsProps } from '../components/CallControls';\nimport { CommonCallControlBar } from '../../common/ControlBar/CommonCallControlBar';\nimport {\n  callArrangementContainerStyles,\n  notificationsContainerStyles,\n  containerStyleDesktop,\n  containerStyleMobile,\n  mediaGalleryContainerStyles,\n  galleryParentContainerStyles,\n  bannerNotificationStyles,\n  CONTROL_BAR_Z_INDEX,\n  DRAWER_Z_INDEX\n} from '../styles/CallPage.styles';\nimport { MutedNotification, MutedNotificationProps } from './MutedNotification';\nimport { CallAdapter } from '../adapter';\nimport { useSelector } from '../hooks/useSelector';\nimport { callStatusSelector } from '../selectors/callStatusSelector';\nimport { CallControlOptions } from '../types/CallControlOptions';\nimport { PreparedMoreDrawer } from '../../common/Drawer/PreparedMoreDrawer';\nimport { getIsTeamsMeeting, getRemoteParticipants } from '../selectors/baseSelectors';\n/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\nimport { getPage } from '../selectors/baseSelectors';\nimport { getCallStatus, getCaptionsStatus } from '../selectors/baseSelectors';\nimport { drawerContainerStyles } from '../styles/CallComposite.styles';\nimport { SidePane } from './SidePane/SidePane';\nimport { usePeoplePane } from './SidePane/usePeoplePane';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { useMeetingPhoneInfoPane } from './SidePane/useMeetingPhoneInfo';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { getTeamsMeetingCoordinates } from '../selectors/baseSelectors';\n\nimport {\n  useVideoEffectsPane,\n  VIDEO_EFFECTS_SIDE_PANE_ID,\n  VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM\n} from './SidePane/useVideoEffectsPane';\nimport { isDisabled } from '../utils';\nimport { SidePaneRenderer, useIsSidePaneOpen } from './SidePane/SidePaneProvider';\n\nimport { useIsParticularSidePaneOpen } from './SidePane/SidePaneProvider';\nimport { ModalLocalAndRemotePIP } from '../../common/ModalLocalAndRemotePIP';\nimport { getPipStyles } from '../../common/styles/ModalLocalAndRemotePIP.styles';\nimport { useMinMaxDragPosition } from '../../common/utils';\nimport { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';\nimport { CommonCallControlOptions } from '../../common/types/CommonCallControlOptions';\n\nimport { localVideoSelector } from '../../CallComposite/selectors/localVideoStreamSelector';\n\nimport {\n  CapabilitiesChangedNotificationBar,\n  CapabilitiesChangeNotificationBarProps\n} from './CapabilitiesChangedNotificationBar';\nimport { useLocale } from '../../localization';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { PromptProps } from './Prompt';\nimport {\n  useLocalSpotlightCallbacksWithPrompt,\n  useRemoteSpotlightCallbacksWithPrompt,\n  useStopAllSpotlightCallbackWithPrompt\n} from '../utils/spotlightUtils';\n/* @conditional-compile-remove(acs-close-captions) */\nimport { getCaptionsKind, getIsTeamsCall } from '../selectors/baseSelectors';\n/* @conditional-compile-remove(soft-mute) */\nimport { useHandlers } from '../hooks/useHandlers';\n/* @conditional-compile-remove(soft-mute) */\nimport { MoreDrawer } from '../../common/Drawer/MoreDrawer';\n\n/**\n * @private\n */\nexport interface CallArrangementProps {\n  id?: string;\n  complianceBannerProps: _ComplianceBannerProps;\n  errorBarProps: ErrorBarProps | false;\n  /* @conditional-compile-remove(notifications) */\n  showErrorNotifications: boolean;\n  mutedNotificationProps?: MutedNotificationProps;\n  callControlProps: CallControlsProps;\n  onRenderGalleryContent: () => JSX.Element;\n  dataUiId: string;\n  mobileView: boolean;\n  modalLayerHostId: string;\n  onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n  updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n  mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n  latestErrors: ActiveErrorMessage[] | /* @conditional-compile-remove(notifications) */ ActiveNotification[];\n  onDismissError: (\n    error: ActiveErrorMessage | /* @conditional-compile-remove(notifications) */ ActiveNotification\n  ) => void;\n  onUserSetOverflowGalleryPositionChange?: (position: 'Responsive' | 'horizontalTop') => void;\n  onUserSetGalleryLayoutChange?: (layout: VideoGalleryLayout) => void;\n  userSetGalleryLayout?: VideoGalleryLayout;\n\n  capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;\n  onCloseChatPane?: () => void;\n  onSetDialpadPage?: () => void;\n  dtmfDialerPresent?: boolean;\n\n  setIsPromptOpen?: (isOpen: boolean) => void;\n\n  setPromptProps?: (props: PromptProps) => void;\n\n  hideSpotlightButtons?: boolean;\n  pinnedParticipants?: string[];\n  setPinnedParticipants?: (pinnedParticipants: string[]) => void;\n}\n\n/**\n * @private\n * Maximum number of remote video tiles that can be pinned\n */\nexport const MAX_PINNED_REMOTE_VIDEO_TILES = 4;\n\n/**\n * @private\n */\nexport const CallArrangement = (props: CallArrangementProps): JSX.Element => {\n  const containerClassName = useMemo(() => {\n    return props.mobileView ? containerStyleMobile : containerStyleDesktop;\n  }, [props.mobileView]);\n\n  const theme = useTheme();\n  const callGalleryStyles = useMemo(\n    () => galleryParentContainerStyles(theme.palette.neutralLighterAlt),\n    [theme.palette.neutralLighterAlt]\n  );\n\n  const peopleButtonRef = useRef<IButton>(null);\n  const cameraButtonRef = useRef<IButton>(null);\n\n  const containerRef = useRef<HTMLDivElement>(null);\n  const containerWidth = _useContainerWidth(containerRef);\n  const containerHeight = _useContainerHeight(containerRef);\n\n  const isInLobby = _isInLobbyOrConnecting(useSelector(callStatusSelector).callStatus);\n\n  const { updateSidePaneRenderer } = props;\n  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n  const isInLocalHold = useSelector(getPage) === 'hold';\n\n  const adapter = useAdapter();\n\n  const [participantActioned, setParticipantActioned] = useState<string>();\n  const remoteParticipants = useSelector(getRemoteParticipants);\n  const [drawerMenuItems, setDrawerMenuItems] = useState<_DrawerMenuItemProps[]>([]);\n  useEffect(() => {\n    const participantIsActionedButIsNotPresent =\n      participantActioned && remoteParticipants?.[participantActioned] === undefined;\n    if (participantIsActionedButIsNotPresent) {\n      setDrawerMenuItems([]);\n    }\n  }, [participantActioned, remoteParticipants]);\n\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  const conferencePhoneInfo = useSelector(getTeamsMeetingCoordinates);\n\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  const meetingPhoneInfoPaneProps = {\n    updateSidePaneRenderer,\n    mobileView: props.mobileView,\n    conferencePhoneInfo: conferencePhoneInfo\n  };\n\n  const peoplePaneProps = useMemo(\n    () => ({\n      updateSidePaneRenderer,\n      setDrawerMenuItems,\n      inviteLink: props.callControlProps.callInvitationURL,\n      onFetchAvatarPersonaData: props.onFetchAvatarPersonaData,\n      onFetchParticipantMenuItems: props.callControlProps?.onFetchParticipantMenuItems,\n      mobileView: props.mobileView,\n      peopleButtonRef,\n      setParticipantActioned\n    }),\n    [\n      updateSidePaneRenderer,\n      props.callControlProps.callInvitationURL,\n      props.callControlProps?.onFetchParticipantMenuItems,\n      props.onFetchAvatarPersonaData,\n      props.mobileView,\n      peopleButtonRef,\n      setParticipantActioned\n    ]\n  );\n\n  const locale = useLocale();\n  const role = adapter.getState().call?.role;\n  const videoGalleryProps = usePropsFor(VideoGallery);\n  /* @conditional-compile-remove(soft-mute) */\n  const muteAllHandlers = useHandlers(MoreDrawer);\n  const { setPromptProps, setIsPromptOpen, hideSpotlightButtons } = props;\n  const {\n    onStartLocalSpotlight,\n    onStopLocalSpotlight,\n    onStartRemoteSpotlight,\n    onStopRemoteSpotlight,\n    /* @conditional-compile-remove(soft-mute) */\n    onMuteParticipant,\n    spotlightedParticipants,\n    maxParticipantsToSpotlight,\n    localParticipant\n  } = videoGalleryProps;\n\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  const [showTeamsMeetingConferenceModal, setShowTeamsMeetingConferenceModal] = useState(false);\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  const toggleTeamsMeetingConferenceModal = useCallback((): void => {\n    setShowTeamsMeetingConferenceModal(!showTeamsMeetingConferenceModal);\n  }, [showTeamsMeetingConferenceModal]);\n\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  const { isMeetingPhoneInfoPaneOpen, openMeetingPhoneInfoPane, closeMeetingPhoneInfoPane } = useMeetingPhoneInfoPane({\n    ...meetingPhoneInfoPaneProps\n  });\n\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  const toggleMeetingPhoneInfoPane = useCallback(() => {\n    if (isMeetingPhoneInfoPaneOpen) {\n      closeMeetingPhoneInfoPane();\n    } else {\n      openMeetingPhoneInfoPane();\n    }\n  }, [closeMeetingPhoneInfoPane, isMeetingPhoneInfoPaneOpen, openMeetingPhoneInfoPane]);\n\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  const onMeetingPhoneInfoClicked = useCallback(() => {\n    setShowDrawer(false);\n    toggleMeetingPhoneInfoPane();\n  }, [toggleMeetingPhoneInfoPane]);\n\n  const { pinnedParticipants, setPinnedParticipants } = props;\n  const onPinParticipant = useCallback(\n    (userId: string) => {\n      if (pinnedParticipants && pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES) {\n        return;\n      }\n      if (pinnedParticipants && setPinnedParticipants && !pinnedParticipants.includes(userId)) {\n        setPinnedParticipants(pinnedParticipants.concat(userId));\n      }\n    },\n    [pinnedParticipants, setPinnedParticipants]\n  );\n\n  const onUnpinParticipant = useCallback(\n    (userId: string) => {\n      if (pinnedParticipants && setPinnedParticipants) {\n        setPinnedParticipants(pinnedParticipants.filter((participantId) => participantId !== userId));\n      }\n    },\n    [setPinnedParticipants, pinnedParticipants]\n  );\n\n  const pinPeoplePaneProps = useMemo(() => {\n    return {\n      pinnedParticipants: pinnedParticipants,\n      onPinParticipant: onPinParticipant,\n      onUnpinParticipant: onUnpinParticipant,\n      disablePinMenuItem: pinnedParticipants && pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES\n    };\n  }, [onPinParticipant, onUnpinParticipant, pinnedParticipants]);\n\n  const { onStartLocalSpotlightWithPrompt, onStopLocalSpotlightWithPrompt } = useLocalSpotlightCallbacksWithPrompt(\n    onStartLocalSpotlight,\n    onStopLocalSpotlight,\n    setIsPromptOpen,\n    setPromptProps\n  );\n\n  const { onStartRemoteSpotlightWithPrompt, onStopRemoteSpotlightWithPrompt } = useRemoteSpotlightCallbacksWithPrompt(\n    onStartRemoteSpotlight,\n    onStopRemoteSpotlight,\n    setIsPromptOpen,\n    setPromptProps\n  );\n\n  const canRemoveSpotlight =\n    adapter.getState().call?.capabilitiesFeature?.capabilities.removeParticipantsSpotlight.isPresent;\n  const stopAllSpotlight = useMemo(\n    () => (canRemoveSpotlight ? () => adapter.stopAllSpotlight() : undefined),\n    [canRemoveSpotlight, adapter]\n  );\n\n  const { stopAllSpotlightWithPrompt } = useStopAllSpotlightCallbackWithPrompt(\n    stopAllSpotlight,\n    setIsPromptOpen,\n    setPromptProps\n  );\n\n  const onMuteParticipantPeoplePaneProps = useMemo(() => {\n    /* @conditional-compile-remove(soft-mute) */\n    return {\n      onMuteParticipant: ['Unknown', 'Organizer', 'Presenter', 'Co-organizer'].includes(role ?? '')\n        ? onMuteParticipant\n        : undefined,\n      onMuteAllRemoteParticipants: ['Unknown', 'Organizer', 'Presenter', 'Co-organizer'].includes(role ?? '')\n        ? muteAllHandlers.onMuteAllRemoteParticipants\n        : undefined\n    };\n    return {};\n  }, [\n    /* @conditional-compile-remove(soft-mute) */ onMuteParticipant,\n    /* @conditional-compile-remove(soft-mute) */ role,\n    /* @conditional-compile-remove(soft-mute) */ muteAllHandlers.onMuteAllRemoteParticipants\n  ]);\n\n  const spotlightPeoplePaneProps = useMemo(() => {\n    return {\n      spotlightedParticipantUserIds: spotlightedParticipants,\n      onStartLocalSpotlight: hideSpotlightButtons ? undefined : onStartLocalSpotlightWithPrompt,\n      onStopLocalSpotlight: hideSpotlightButtons ? undefined : onStopLocalSpotlightWithPrompt,\n      onStartRemoteSpotlight: hideSpotlightButtons ? undefined : onStartRemoteSpotlightWithPrompt,\n      onStopRemoteSpotlight: hideSpotlightButtons ? undefined : onStopRemoteSpotlightWithPrompt,\n      onStopAllSpotlight: hideSpotlightButtons ? undefined : stopAllSpotlightWithPrompt,\n      maxParticipantsToSpotlight\n    };\n    return {};\n  }, [\n    hideSpotlightButtons,\n    maxParticipantsToSpotlight,\n    onStartLocalSpotlightWithPrompt,\n    onStartRemoteSpotlightWithPrompt,\n    onStopLocalSpotlightWithPrompt,\n    onStopRemoteSpotlightWithPrompt,\n    stopAllSpotlightWithPrompt,\n    spotlightedParticipants\n  ]);\n\n  const { isPeoplePaneOpen, openPeoplePane, closePeoplePane } = usePeoplePane({\n    ...peoplePaneProps,\n    ...spotlightPeoplePaneProps,\n    ...onMuteParticipantPeoplePaneProps,\n    ...pinPeoplePaneProps\n  });\n  const togglePeoplePane = useCallback(() => {\n    if (isPeoplePaneOpen) {\n      closePeoplePane();\n    } else {\n      openPeoplePane();\n    }\n  }, [closePeoplePane, isPeoplePaneOpen, openPeoplePane]);\n\n  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n  useEffect(() => {\n    if (isInLocalHold) {\n      // close side pane on local hold\n      updateSidePaneRenderer(undefined);\n    }\n  }, [updateSidePaneRenderer, isInLocalHold, isPeoplePaneOpen, closePeoplePane]);\n\n  const isSidePaneOpen = useIsSidePaneOpen();\n\n  const [renderGallery, setRenderGallery] = useState<boolean>(!isSidePaneOpen && props.mobileView);\n\n  useEffect(() => {\n    if (isSidePaneOpen && props.mobileView) {\n      setRenderGallery(false);\n    } else {\n      setRenderGallery(true);\n    }\n  }, [props.mobileView, isSidePaneOpen]);\n\n  const modalStrings = { dismissModalAriaLabel: locale.strings.call.dismissModalAriaLabel };\n\n  const isMobileWithActivePane = props.mobileView && isSidePaneOpen;\n\n  const callCompositeContainerCSS = useMemo((): React.CSSProperties => {\n    return {\n      display: isMobileWithActivePane ? 'none' : 'flex',\n      minWidth: props.mobileView ? 'unset' : `${compositeMinWidthRem}rem`,\n      width: '100%',\n      height: '100%',\n      position: 'relative'\n    };\n  }, [isMobileWithActivePane, props.mobileView]);\n\n  const onResolveVideoEffectDependency = adapter.getState().onResolveVideoEffectDependency;\n\n  const { openVideoEffectsPane } = useVideoEffectsPane(\n    props.updateSidePaneRenderer,\n    props.mobileView,\n    props.latestErrors,\n    props.onDismissError,\n    cameraButtonRef\n  );\n  const [showDrawer, setShowDrawer] = useState(false);\n  const onMoreButtonClicked = useCallback(() => {\n    setShowDrawer(true);\n  }, []);\n  const closeDrawer = useCallback(() => {\n    setShowDrawer(false);\n  }, []);\n  const onMoreDrawerPeopleClicked = useCallback(() => {\n    setShowDrawer(false);\n    togglePeoplePane();\n  }, [togglePeoplePane]);\n\n  const drawerContainerStylesValue = useMemo(() => drawerContainerStyles(DRAWER_Z_INDEX), []);\n\n  const canUnmute = role !== 'Consumer' ? true : false;\n\n  let filteredLatestErrors: ActiveErrorMessage[] = props.errorBarProps !== false ? props.latestErrors : [];\n\n  /* @conditional-compile-remove(notifications) */\n  let filteredLatestErrorNotifications: ActiveNotification[] = props.showErrorNotifications\n    ? (props.latestErrors as ActiveNotification[])\n    : [];\n\n  const isCameraOn = useSelector(localVideoSelector).isAvailable;\n\n  // TODO: move this logic to the error bar selector once role is plumbed from the headless SDK\n  if (\n    role === 'Consumer' &&\n    (props.errorBarProps || /* @conditional-compile-remove(notifications) */ props.showErrorNotifications)\n  ) {\n    filteredLatestErrors = filteredLatestErrors.filter(\n      (e) => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari'\n    );\n    /* @conditional-compile-remove(notifications) */\n    filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter(\n      (e) => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari'\n    );\n  }\n\n  const isVideoPaneOpen = useIsParticularSidePaneOpen(VIDEO_EFFECTS_SIDE_PANE_ID);\n\n  if (\n    (isVideoPaneOpen || !isCameraOn) &&\n    (props.errorBarProps || /* @conditional-compile-remove(notifications) */ props.showErrorNotifications)\n  ) {\n    filteredLatestErrors = filteredLatestErrors.filter((e) => e.type !== 'unableToStartVideoEffect');\n    /* @conditional-compile-remove(notifications) */\n    filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter(\n      (e) => e.type !== 'unableToStartVideoEffect'\n    );\n  }\n\n  /* @conditional-compile-remove(acs-close-captions) */\n  const isTeamsCaptions = useSelector(getCaptionsKind) === 'TeamsCaptions';\n  const isTeamsMeeting = useSelector(getIsTeamsMeeting);\n  /* @conditional-compile-remove(acs-close-captions) */\n  const isTeamsCall = useSelector(getIsTeamsCall);\n  const useTeamsCaptions =\n    isTeamsMeeting ||\n    /* @conditional-compile-remove(acs-close-captions) */ isTeamsCall ||\n    /* @conditional-compile-remove(acs-close-captions) */ isTeamsCaptions;\n  const hasJoinedCall = useSelector(getCallStatus) === 'Connected';\n  const isCaptionsOn = useSelector(getCaptionsStatus);\n  const minMaxDragPosition = useMinMaxDragPosition(props.modalLayerHostId);\n  const pipStyles = useMemo(() => getPipStyles(theme), [theme]);\n\n  const verticalControlBar =\n    props.mobileView && containerWidth && containerHeight && containerWidth / containerHeight > 1 ? true : false;\n\n  // Filter out shareScreen capability notifications if on mobile\n  const filteredCapabilitesChangedNotifications = props.mobileView\n    ? props.capabilitiesChangedNotificationBarProps?.capabilitiesChangedNotifications.filter(\n        (notification) => notification.capabilityName !== 'shareScreen'\n      )\n    : props.capabilitiesChangedNotificationBarProps?.capabilitiesChangedNotifications;\n\n  const errorNotificationTrampoline = (): JSX.Element => {\n    /* @conditional-compile-remove(notifications) */\n    return (\n      <>\n        {props.showErrorNotifications && (\n          <Stack styles={bannerNotificationStyles} horizontalAlign=\"center\" verticalAlign=\"center\">\n            <NotificationStack\n              onDismissNotification={props.onDismissError}\n              activeNotifications={filteredLatestErrorNotifications}\n            />\n          </Stack>\n        )}\n      </>\n    );\n\n    return (\n      <>\n        {props.errorBarProps !== false && (\n          <Stack styles={bannerNotificationStyles}>\n            <ErrorBar\n              {...props.errorBarProps}\n              onDismissError={props.onDismissError}\n              activeErrorMessages={filteredLatestErrors}\n            />\n          </Stack>\n        )}\n      </>\n    );\n  };\n  return (\n    <div ref={containerRef} className={mergeStyles(containerDivStyles)} id={props.id}>\n      <Stack verticalFill horizontalAlign=\"stretch\" className={containerClassName} data-ui-id={props.dataUiId}>\n        <Stack\n          reversed\n          horizontal={verticalControlBar}\n          grow\n          styles={callArrangementContainerStyles(verticalControlBar)}\n        >\n          {props.callControlProps?.options !== false && !isMobileWithActivePane && (\n            <Stack\n              verticalAlign={'center'}\n              className={mergeStyles({\n                zIndex: CONTROL_BAR_Z_INDEX,\n                padding: verticalControlBar ? '0.25rem' : 'unset'\n              })}\n            >\n              {isLegacyCallControlEnabled(props.callControlProps?.options) ? (\n                <CallControls\n                  {...props.callControlProps}\n                  containerWidth={containerWidth}\n                  containerHeight={containerHeight}\n                  isMobile={props.mobileView}\n                  /* @conditional-compile-remove(one-to-n-calling) */\n                  peopleButtonChecked={isPeoplePaneOpen}\n                  /* @conditional-compile-remove(one-to-n-calling) */\n                  onPeopleButtonClicked={togglePeoplePane}\n                  displayVertical={verticalControlBar}\n                />\n              ) : (\n                <CommonCallControlBar\n                  {...props.callControlProps}\n                  callControls={props.callControlProps.options}\n                  callAdapter={adapter as CallAdapter}\n                  mobileView={props.mobileView}\n                  disableButtonsForLobbyPage={isInLobby}\n                  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n                  disableButtonsForHoldScreen={isInLocalHold}\n                  peopleButtonChecked={isPeoplePaneOpen}\n                  onPeopleButtonClicked={togglePeoplePane}\n                  onMoreButtonClicked={onMoreButtonClicked}\n                  isCaptionsSupported={\n                    (useTeamsCaptions && hasJoinedCall) ||\n                    /* @conditional-compile-remove(acs-close-captions) */ hasJoinedCall\n                  }\n                  useTeamsCaptions={useTeamsCaptions}\n                  isCaptionsOn={isCaptionsOn}\n                  onClickVideoEffects={onResolveVideoEffectDependency ? openVideoEffectsPane : undefined}\n                  displayVertical={verticalControlBar}\n                  onUserSetOverflowGalleryPositionChange={props.onUserSetOverflowGalleryPositionChange}\n                  onUserSetGalleryLayout={props.onUserSetGalleryLayoutChange}\n                  userSetGalleryLayout={props.userSetGalleryLayout}\n                  onSetDialpadPage={props.onSetDialpadPage}\n                  dtmfDialerPresent={props.dtmfDialerPresent}\n                  peopleButtonRef={peopleButtonRef}\n                  cameraButtonRef={cameraButtonRef}\n                  onStopLocalSpotlight={\n                    !hideSpotlightButtons && localParticipant.spotlight ? onStopLocalSpotlightWithPrompt : undefined\n                  }\n                  /* @conditional-compile-remove(teams-meeting-conference) */\n                  onToggleTeamsMeetingConferenceModal={toggleTeamsMeetingConferenceModal}\n                  /* @conditional-compile-remove(teams-meeting-conference) */\n                  teamsMeetingConferenceModalPresent={showTeamsMeetingConferenceModal}\n                />\n              )}\n            </Stack>\n          )}\n          {props.callControlProps?.options !== false && showDrawer && (\n            <Stack styles={drawerContainerStylesValue}>\n              <PreparedMoreDrawer\n                callControls={props.callControlProps.options}\n                onLightDismiss={closeDrawer}\n                onPeopleButtonClicked={onMoreDrawerPeopleClicked}\n                /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n                disableButtonsForHoldScreen={isInLocalHold}\n                isCaptionsSupported={\n                  (useTeamsCaptions && hasJoinedCall) ||\n                  /* @conditional-compile-remove(acs-close-captions) */ hasJoinedCall\n                }\n                useTeamsCaptions={useTeamsCaptions}\n                onUserSetGalleryLayout={props.onUserSetGalleryLayoutChange}\n                userSetGalleryLayout={props.userSetGalleryLayout}\n                onSetDialpadPage={props.onSetDialpadPage}\n                dtmfDialerPresent={props.dtmfDialerPresent}\n                reactionResources={adapter.getState().reactions}\n                /* @conditional-compile-remove(teams-meeting-conference) */\n                onClickMeetingPhoneInfo={onMeetingPhoneInfoClicked}\n              />\n            </Stack>\n          )}\n          <Stack horizontal grow>\n            <Stack.Item style={callCompositeContainerCSS}>\n              <Stack.Item styles={callGalleryStyles} grow>\n                <Stack verticalFill styles={mediaGalleryContainerStyles}>\n                  <Stack.Item styles={notificationsContainerStyles}>\n                    <Stack styles={bannerNotificationStyles}>\n                      <_ComplianceBanner {...props.complianceBannerProps} />\n                    </Stack>\n                    {errorNotificationTrampoline()}\n                    {props.capabilitiesChangedNotificationBarProps &&\n                      props.capabilitiesChangedNotificationBarProps.capabilitiesChangedNotifications.length > 0 && (\n                        <Stack styles={bannerNotificationStyles}>\n                          <CapabilitiesChangedNotificationBar\n                            {...props.capabilitiesChangedNotificationBarProps}\n                            capabilitiesChangedNotifications={filteredCapabilitesChangedNotifications ?? []}\n                          />\n                        </Stack>\n                      )}\n                    {canUnmute && !!props.mutedNotificationProps && (\n                      <MutedNotification {...props.mutedNotificationProps} />\n                    )}\n                  </Stack.Item>\n                  {renderGallery && props.onRenderGalleryContent && props.onRenderGalleryContent()}\n                  {true &&\n                    /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ !isInLocalHold && (\n                      <CaptionsBanner\n                        isMobile={props.mobileView}\n                        onFetchAvatarPersonaData={props.onFetchAvatarPersonaData}\n                        useTeamsCaptions={useTeamsCaptions}\n                      />\n                    )}\n                </Stack>\n              </Stack.Item>\n            </Stack.Item>\n            <SidePane\n              mobileView={props.mobileView}\n              maxWidth={isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined}\n              minWidth={isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined}\n              updateSidePaneRenderer={props.updateSidePaneRenderer}\n              onPeopleButtonClicked={\n                props.mobileView && !shouldShowPeopleTabHeaderButton(props.callControlProps.options)\n                  ? undefined\n                  : togglePeoplePane\n              }\n              disablePeopleButton={\n                typeof props.callControlProps.options !== 'boolean' &&\n                isDisabled(props.callControlProps.options?.participantsButton)\n              }\n              onChatButtonClicked={props.mobileChatTabHeader?.onClick}\n              disableChatButton={props.mobileChatTabHeader?.disabled}\n            />\n            {props.mobileView && (\n              <ModalLocalAndRemotePIP\n                modalLayerHostId={props.modalLayerHostId}\n                hidden={!isSidePaneOpen}\n                styles={pipStyles}\n                strings={modalStrings}\n                minDragPosition={minMaxDragPosition.minDragPosition}\n                maxDragPosition={minMaxDragPosition.maxDragPosition}\n                onDismissSidePane={() => {\n                  closePeoplePane();\n                  if (props.onCloseChatPane) {\n                    props.onCloseChatPane();\n                  }\n                }}\n              />\n            )}\n            {drawerMenuItems.length > 0 && (\n              <Stack styles={drawerContainerStyles()}>\n                <_DrawerMenu onLightDismiss={() => setDrawerMenuItems([])} items={drawerMenuItems} />\n              </Stack>\n            )}\n          </Stack>\n        </Stack>\n      </Stack>\n    </div>\n  );\n};\n\nconst isLegacyCallControlEnabled = (options?: boolean | CallControlOptions): boolean => {\n  return !!options && options !== true && options?.legacyControlBarExperience === true;\n};\n\nconst shouldShowPeopleTabHeaderButton = (callControls?: boolean | CommonCallControlOptions): boolean => {\n  if (callControls === undefined || callControls === true) {\n    return true;\n  }\n  if (callControls === false) {\n    return false;\n  }\n  return callControls.participantsButton !== false && callControls.peopleButton !== false;\n};\n"]}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"CallArrangement.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/components/CallArrangement.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { IButton, mergeStyles, Stack } from '@fluentui/react';\nimport { _isInCall, _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport {\n  _ComplianceBanner,\n  _ComplianceBannerProps,\n  _DrawerMenu,\n  _DrawerMenuItemProps,\n  _useContainerHeight,\n  _useContainerWidth,\n  ActiveErrorMessage,\n  ErrorBar,\n  ErrorBarProps,\n  useTheme\n} from '@internal/react-components';\n/* @conditional-compile-remove(notifications) */\nimport { ActiveNotification, NotificationStack } from '@internal/react-components';\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport { VideoGallery } from '@internal/react-components';\nimport React, { useMemo, useRef, useState } from 'react';\nimport { useEffect } from 'react';\nimport { useCallback } from 'react';\nimport { AvatarPersonaDataCallback } from '../../common/AvatarPersona';\nimport { CaptionsBanner } from '../../common/CaptionsBanner';\nimport { containerDivStyles } from '../../common/ContainerRectProps';\nimport { compositeMinWidthRem } from '../../common/styles/Composite.styles';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { CallControls, CallControlsProps } from '../components/CallControls';\nimport { CommonCallControlBar } from '../../common/ControlBar/CommonCallControlBar';\nimport {\n  callArrangementContainerStyles,\n  notificationsContainerStyles,\n  containerStyleDesktop,\n  containerStyleMobile,\n  mediaGalleryContainerStyles,\n  galleryParentContainerStyles,\n  bannerNotificationStyles,\n  CONTROL_BAR_Z_INDEX,\n  DRAWER_Z_INDEX\n} from '../styles/CallPage.styles';\n/* @conditional-compile-remove(notifications) */\nimport { notificationStackStyles } from '../styles/CallPage.styles';\nimport { MutedNotification, MutedNotificationProps } from './MutedNotification';\nimport { CallAdapter } from '../adapter';\nimport { useSelector } from '../hooks/useSelector';\nimport { callStatusSelector } from '../selectors/callStatusSelector';\nimport { CallControlOptions } from '../types/CallControlOptions';\nimport { PreparedMoreDrawer } from '../../common/Drawer/PreparedMoreDrawer';\nimport { getIsTeamsMeeting, getRemoteParticipants } from '../selectors/baseSelectors';\n/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\nimport { getPage } from '../selectors/baseSelectors';\nimport { getCallStatus, getCaptionsStatus } from '../selectors/baseSelectors';\nimport { drawerContainerStyles } from '../styles/CallComposite.styles';\nimport { SidePane } from './SidePane/SidePane';\nimport { usePeoplePane } from './SidePane/usePeoplePane';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { useMeetingPhoneInfoPane } from './SidePane/useMeetingPhoneInfo';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { getTeamsMeetingCoordinates } from '../selectors/baseSelectors';\n\nimport {\n  useVideoEffectsPane,\n  VIDEO_EFFECTS_SIDE_PANE_ID,\n  VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM\n} from './SidePane/useVideoEffectsPane';\nimport { isDisabled } from '../utils';\nimport { SidePaneRenderer, useIsSidePaneOpen } from './SidePane/SidePaneProvider';\n\nimport { useIsParticularSidePaneOpen } from './SidePane/SidePaneProvider';\nimport { ModalLocalAndRemotePIP } from '../../common/ModalLocalAndRemotePIP';\nimport { getPipStyles } from '../../common/styles/ModalLocalAndRemotePIP.styles';\nimport { useMinMaxDragPosition } from '../../common/utils';\nimport { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';\nimport { CommonCallControlOptions } from '../../common/types/CommonCallControlOptions';\n\nimport { localVideoSelector } from '../../CallComposite/selectors/localVideoStreamSelector';\n\nimport {\n  CapabilitiesChangedNotificationBar,\n  CapabilitiesChangeNotificationBarProps\n} from './CapabilitiesChangedNotificationBar';\nimport { useLocale } from '../../localization';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { PromptProps } from './Prompt';\nimport {\n  useLocalSpotlightCallbacksWithPrompt,\n  useRemoteSpotlightCallbacksWithPrompt,\n  useStopAllSpotlightCallbackWithPrompt\n} from '../utils/spotlightUtils';\n/* @conditional-compile-remove(acs-close-captions) */\nimport { getCaptionsKind, getIsTeamsCall } from '../selectors/baseSelectors';\n/* @conditional-compile-remove(soft-mute) */\nimport { useHandlers } from '../hooks/useHandlers';\n/* @conditional-compile-remove(soft-mute) */\nimport { MoreDrawer } from '../../common/Drawer/MoreDrawer';\n\n/**\n * @private\n */\nexport interface CallArrangementProps {\n  id?: string;\n  complianceBannerProps: _ComplianceBannerProps;\n  errorBarProps: ErrorBarProps | false;\n  /* @conditional-compile-remove(notifications) */\n  showErrorNotifications: boolean;\n  mutedNotificationProps?: MutedNotificationProps;\n  callControlProps: CallControlsProps;\n  onRenderGalleryContent: () => JSX.Element;\n  dataUiId: string;\n  mobileView: boolean;\n  modalLayerHostId: string;\n  onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n  updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n  mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n  latestErrors: ActiveErrorMessage[] | /* @conditional-compile-remove(notifications) */ ActiveNotification[];\n  /* @conditional-compile-remove(notifications) */\n  latestNotifications?: ActiveNotification[];\n  onDismissError: (\n    error: ActiveErrorMessage | /* @conditional-compile-remove(notifications) */ ActiveNotification\n  ) => void;\n  onUserSetOverflowGalleryPositionChange?: (position: 'Responsive' | 'horizontalTop') => void;\n  onUserSetGalleryLayoutChange?: (layout: VideoGalleryLayout) => void;\n  userSetGalleryLayout?: VideoGalleryLayout;\n\n  capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;\n  onCloseChatPane?: () => void;\n  onSetDialpadPage?: () => void;\n  dtmfDialerPresent?: boolean;\n\n  setIsPromptOpen?: (isOpen: boolean) => void;\n\n  setPromptProps?: (props: PromptProps) => void;\n\n  hideSpotlightButtons?: boolean;\n  pinnedParticipants?: string[];\n  setPinnedParticipants?: (pinnedParticipants: string[]) => void;\n}\n\n/**\n * @private\n * Maximum number of remote video tiles that can be pinned\n */\nexport const MAX_PINNED_REMOTE_VIDEO_TILES = 4;\n\n/**\n * @private\n */\nexport const CallArrangement = (props: CallArrangementProps): JSX.Element => {\n  const containerClassName = useMemo(() => {\n    return props.mobileView ? containerStyleMobile : containerStyleDesktop;\n  }, [props.mobileView]);\n\n  const theme = useTheme();\n  const callGalleryStyles = useMemo(\n    () => galleryParentContainerStyles(theme.palette.neutralLighterAlt),\n    [theme.palette.neutralLighterAlt]\n  );\n\n  const peopleButtonRef = useRef<IButton>(null);\n  const cameraButtonRef = useRef<IButton>(null);\n\n  const containerRef = useRef<HTMLDivElement>(null);\n  const containerWidth = _useContainerWidth(containerRef);\n  const containerHeight = _useContainerHeight(containerRef);\n\n  const isInLobby = _isInLobbyOrConnecting(useSelector(callStatusSelector).callStatus);\n\n  const { updateSidePaneRenderer } = props;\n  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n  const isInLocalHold = useSelector(getPage) === 'hold';\n\n  const adapter = useAdapter();\n\n  const [participantActioned, setParticipantActioned] = useState<string>();\n  const remoteParticipants = useSelector(getRemoteParticipants);\n  const [drawerMenuItems, setDrawerMenuItems] = useState<_DrawerMenuItemProps[]>([]);\n  useEffect(() => {\n    const participantIsActionedButIsNotPresent =\n      participantActioned && remoteParticipants?.[participantActioned] === undefined;\n    if (participantIsActionedButIsNotPresent) {\n      setDrawerMenuItems([]);\n    }\n  }, [participantActioned, remoteParticipants]);\n\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  const conferencePhoneInfo = useSelector(getTeamsMeetingCoordinates);\n\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  const meetingPhoneInfoPaneProps = {\n    updateSidePaneRenderer,\n    mobileView: props.mobileView,\n    conferencePhoneInfo: conferencePhoneInfo\n  };\n\n  const peoplePaneProps = useMemo(\n    () => ({\n      updateSidePaneRenderer,\n      setDrawerMenuItems,\n      inviteLink: props.callControlProps.callInvitationURL,\n      onFetchAvatarPersonaData: props.onFetchAvatarPersonaData,\n      onFetchParticipantMenuItems: props.callControlProps?.onFetchParticipantMenuItems,\n      mobileView: props.mobileView,\n      peopleButtonRef,\n      setParticipantActioned\n    }),\n    [\n      updateSidePaneRenderer,\n      props.callControlProps.callInvitationURL,\n      props.callControlProps?.onFetchParticipantMenuItems,\n      props.onFetchAvatarPersonaData,\n      props.mobileView,\n      peopleButtonRef,\n      setParticipantActioned\n    ]\n  );\n\n  const locale = useLocale();\n  const role = adapter.getState().call?.role;\n  const videoGalleryProps = usePropsFor(VideoGallery);\n  /* @conditional-compile-remove(soft-mute) */\n  const muteAllHandlers = useHandlers(MoreDrawer);\n  const { setPromptProps, setIsPromptOpen, hideSpotlightButtons } = props;\n  const {\n    onStartLocalSpotlight,\n    onStopLocalSpotlight,\n    onStartRemoteSpotlight,\n    onStopRemoteSpotlight,\n    /* @conditional-compile-remove(soft-mute) */\n    onMuteParticipant,\n    spotlightedParticipants,\n    maxParticipantsToSpotlight,\n    localParticipant\n  } = videoGalleryProps;\n\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  const [showTeamsMeetingConferenceModal, setShowTeamsMeetingConferenceModal] = useState(false);\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  const toggleTeamsMeetingConferenceModal = useCallback((): void => {\n    setShowTeamsMeetingConferenceModal(!showTeamsMeetingConferenceModal);\n  }, [showTeamsMeetingConferenceModal]);\n\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  const { isMeetingPhoneInfoPaneOpen, openMeetingPhoneInfoPane, closeMeetingPhoneInfoPane } = useMeetingPhoneInfoPane({\n    ...meetingPhoneInfoPaneProps\n  });\n\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  const toggleMeetingPhoneInfoPane = useCallback(() => {\n    if (isMeetingPhoneInfoPaneOpen) {\n      closeMeetingPhoneInfoPane();\n    } else {\n      openMeetingPhoneInfoPane();\n    }\n  }, [closeMeetingPhoneInfoPane, isMeetingPhoneInfoPaneOpen, openMeetingPhoneInfoPane]);\n\n  /* @conditional-compile-remove(teams-meeting-conference) */\n  const onMeetingPhoneInfoClicked = useCallback(() => {\n    setShowDrawer(false);\n    toggleMeetingPhoneInfoPane();\n  }, [toggleMeetingPhoneInfoPane]);\n\n  const { pinnedParticipants, setPinnedParticipants } = props;\n  const onPinParticipant = useCallback(\n    (userId: string) => {\n      if (pinnedParticipants && pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES) {\n        return;\n      }\n      if (pinnedParticipants && setPinnedParticipants && !pinnedParticipants.includes(userId)) {\n        setPinnedParticipants(pinnedParticipants.concat(userId));\n      }\n    },\n    [pinnedParticipants, setPinnedParticipants]\n  );\n\n  const onUnpinParticipant = useCallback(\n    (userId: string) => {\n      if (pinnedParticipants && setPinnedParticipants) {\n        setPinnedParticipants(pinnedParticipants.filter((participantId) => participantId !== userId));\n      }\n    },\n    [setPinnedParticipants, pinnedParticipants]\n  );\n\n  const pinPeoplePaneProps = useMemo(() => {\n    return {\n      pinnedParticipants: pinnedParticipants,\n      onPinParticipant: onPinParticipant,\n      onUnpinParticipant: onUnpinParticipant,\n      disablePinMenuItem: pinnedParticipants && pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES\n    };\n  }, [onPinParticipant, onUnpinParticipant, pinnedParticipants]);\n\n  const { onStartLocalSpotlightWithPrompt, onStopLocalSpotlightWithPrompt } = useLocalSpotlightCallbacksWithPrompt(\n    onStartLocalSpotlight,\n    onStopLocalSpotlight,\n    setIsPromptOpen,\n    setPromptProps\n  );\n\n  const { onStartRemoteSpotlightWithPrompt, onStopRemoteSpotlightWithPrompt } = useRemoteSpotlightCallbacksWithPrompt(\n    onStartRemoteSpotlight,\n    onStopRemoteSpotlight,\n    setIsPromptOpen,\n    setPromptProps\n  );\n\n  const canRemoveSpotlight =\n    adapter.getState().call?.capabilitiesFeature?.capabilities.removeParticipantsSpotlight.isPresent;\n  const stopAllSpotlight = useMemo(\n    () => (canRemoveSpotlight ? () => adapter.stopAllSpotlight() : undefined),\n    [canRemoveSpotlight, adapter]\n  );\n\n  const { stopAllSpotlightWithPrompt } = useStopAllSpotlightCallbackWithPrompt(\n    stopAllSpotlight,\n    setIsPromptOpen,\n    setPromptProps\n  );\n\n  const onMuteParticipantPeoplePaneProps = useMemo(() => {\n    /* @conditional-compile-remove(soft-mute) */\n    return {\n      onMuteParticipant: ['Unknown', 'Organizer', 'Presenter', 'Co-organizer'].includes(role ?? '')\n        ? onMuteParticipant\n        : undefined,\n      onMuteAllRemoteParticipants: ['Unknown', 'Organizer', 'Presenter', 'Co-organizer'].includes(role ?? '')\n        ? muteAllHandlers.onMuteAllRemoteParticipants\n        : undefined\n    };\n    return {};\n  }, [\n    /* @conditional-compile-remove(soft-mute) */ onMuteParticipant,\n    /* @conditional-compile-remove(soft-mute) */ role,\n    /* @conditional-compile-remove(soft-mute) */ muteAllHandlers.onMuteAllRemoteParticipants\n  ]);\n\n  const spotlightPeoplePaneProps = useMemo(() => {\n    return {\n      spotlightedParticipantUserIds: spotlightedParticipants,\n      onStartLocalSpotlight: hideSpotlightButtons ? undefined : onStartLocalSpotlightWithPrompt,\n      onStopLocalSpotlight: hideSpotlightButtons ? undefined : onStopLocalSpotlightWithPrompt,\n      onStartRemoteSpotlight: hideSpotlightButtons ? undefined : onStartRemoteSpotlightWithPrompt,\n      onStopRemoteSpotlight: hideSpotlightButtons ? undefined : onStopRemoteSpotlightWithPrompt,\n      onStopAllSpotlight: hideSpotlightButtons ? undefined : stopAllSpotlightWithPrompt,\n      maxParticipantsToSpotlight\n    };\n    return {};\n  }, [\n    hideSpotlightButtons,\n    maxParticipantsToSpotlight,\n    onStartLocalSpotlightWithPrompt,\n    onStartRemoteSpotlightWithPrompt,\n    onStopLocalSpotlightWithPrompt,\n    onStopRemoteSpotlightWithPrompt,\n    stopAllSpotlightWithPrompt,\n    spotlightedParticipants\n  ]);\n\n  const { isPeoplePaneOpen, openPeoplePane, closePeoplePane } = usePeoplePane({\n    ...peoplePaneProps,\n    ...spotlightPeoplePaneProps,\n    ...onMuteParticipantPeoplePaneProps,\n    ...pinPeoplePaneProps\n  });\n  const togglePeoplePane = useCallback(() => {\n    if (isPeoplePaneOpen) {\n      closePeoplePane();\n    } else {\n      openPeoplePane();\n    }\n  }, [closePeoplePane, isPeoplePaneOpen, openPeoplePane]);\n\n  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n  useEffect(() => {\n    if (isInLocalHold) {\n      // close side pane on local hold\n      updateSidePaneRenderer(undefined);\n    }\n  }, [updateSidePaneRenderer, isInLocalHold, isPeoplePaneOpen, closePeoplePane]);\n\n  const isSidePaneOpen = useIsSidePaneOpen();\n\n  const [renderGallery, setRenderGallery] = useState<boolean>(!isSidePaneOpen && props.mobileView);\n\n  useEffect(() => {\n    if (isSidePaneOpen && props.mobileView) {\n      setRenderGallery(false);\n    } else {\n      setRenderGallery(true);\n    }\n  }, [props.mobileView, isSidePaneOpen]);\n\n  const modalStrings = { dismissModalAriaLabel: locale.strings.call.dismissModalAriaLabel };\n\n  const isMobileWithActivePane = props.mobileView && isSidePaneOpen;\n\n  const callCompositeContainerCSS = useMemo((): React.CSSProperties => {\n    return {\n      display: isMobileWithActivePane ? 'none' : 'flex',\n      minWidth: props.mobileView ? 'unset' : `${compositeMinWidthRem}rem`,\n      width: '100%',\n      height: '100%',\n      position: 'relative'\n    };\n  }, [isMobileWithActivePane, props.mobileView]);\n\n  const onResolveVideoEffectDependency = adapter.getState().onResolveVideoEffectDependency;\n\n  const { openVideoEffectsPane } = useVideoEffectsPane(\n    props.updateSidePaneRenderer,\n    props.mobileView,\n    props.latestErrors as ActiveErrorMessage[],\n    props.onDismissError,\n    cameraButtonRef\n  );\n  const [showDrawer, setShowDrawer] = useState(false);\n  const onMoreButtonClicked = useCallback(() => {\n    setShowDrawer(true);\n  }, []);\n  const closeDrawer = useCallback(() => {\n    setShowDrawer(false);\n  }, []);\n  const onMoreDrawerPeopleClicked = useCallback(() => {\n    setShowDrawer(false);\n    togglePeoplePane();\n  }, [togglePeoplePane]);\n\n  const drawerContainerStylesValue = useMemo(() => drawerContainerStyles(DRAWER_Z_INDEX), []);\n\n  const canUnmute = role !== 'Consumer' ? true : false;\n\n  let filteredLatestErrors: ActiveErrorMessage[] =\n    props.errorBarProps !== false ? (props.latestErrors as ActiveErrorMessage[]) : [];\n\n  /* @conditional-compile-remove(notifications) */\n  let filteredLatestErrorNotifications: ActiveNotification[] = props.showErrorNotifications\n    ? (props.latestErrors as ActiveNotification[])\n    : [];\n\n  const isCameraOn = useSelector(localVideoSelector).isAvailable;\n\n  // TODO: move this logic to the error bar selector once role is plumbed from the headless SDK\n  if (\n    role === 'Consumer' &&\n    (props.errorBarProps || /* @conditional-compile-remove(notifications) */ props.showErrorNotifications)\n  ) {\n    filteredLatestErrors = filteredLatestErrors.filter(\n      (e) => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari'\n    );\n    /* @conditional-compile-remove(notifications) */\n    filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter(\n      (e) => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari'\n    );\n  }\n\n  const isVideoPaneOpen = useIsParticularSidePaneOpen(VIDEO_EFFECTS_SIDE_PANE_ID);\n\n  if (\n    (isVideoPaneOpen || !isCameraOn) &&\n    (props.errorBarProps || /* @conditional-compile-remove(notifications) */ props.showErrorNotifications)\n  ) {\n    filteredLatestErrors = filteredLatestErrors.filter((e) => e.type !== 'unableToStartVideoEffect');\n    /* @conditional-compile-remove(notifications) */\n    filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter(\n      (e) => e.type !== 'unableToStartVideoEffect'\n    );\n  }\n\n  /* @conditional-compile-remove(acs-close-captions) */\n  const isTeamsCaptions = useSelector(getCaptionsKind) === 'TeamsCaptions';\n  const isTeamsMeeting = useSelector(getIsTeamsMeeting);\n  /* @conditional-compile-remove(acs-close-captions) */\n  const isTeamsCall = useSelector(getIsTeamsCall);\n  const useTeamsCaptions =\n    isTeamsMeeting ||\n    /* @conditional-compile-remove(acs-close-captions) */ isTeamsCall ||\n    /* @conditional-compile-remove(acs-close-captions) */ isTeamsCaptions;\n  const hasJoinedCall = useSelector(getCallStatus) === 'Connected';\n  const isCaptionsOn = useSelector(getCaptionsStatus);\n  const minMaxDragPosition = useMinMaxDragPosition(props.modalLayerHostId);\n  const pipStyles = useMemo(() => getPipStyles(theme), [theme]);\n\n  const verticalControlBar =\n    props.mobileView && containerWidth && containerHeight && containerWidth / containerHeight > 1 ? true : false;\n\n  // Filter out shareScreen capability notifications if on mobile\n  const filteredCapabilitesChangedNotifications = props.mobileView\n    ? props.capabilitiesChangedNotificationBarProps?.capabilitiesChangedNotifications.filter(\n        (notification) => notification.capabilityName !== 'shareScreen'\n      )\n    : props.capabilitiesChangedNotificationBarProps?.capabilitiesChangedNotifications;\n\n  const errorNotificationTrampoline = (): JSX.Element => {\n    /* @conditional-compile-remove(notifications) */\n    return (\n      <>\n        {props.showErrorNotifications && (\n          <Stack styles={notificationStackStyles} horizontalAlign=\"center\" verticalAlign=\"center\">\n            <NotificationStack\n              onDismissNotification={props.onDismissError}\n              activeNotifications={filteredLatestErrorNotifications}\n            />\n          </Stack>\n        )}\n      </>\n    );\n\n    return (\n      <>\n        {props.errorBarProps !== false && (\n          <Stack styles={bannerNotificationStyles}>\n            <ErrorBar\n              {...props.errorBarProps}\n              onDismissError={props.onDismissError}\n              activeErrorMessages={filteredLatestErrors}\n            />\n          </Stack>\n        )}\n      </>\n    );\n  };\n\n  const mutedNotificationTrampoline = (): JSX.Element => {\n    /* @conditional-compile-remove(notifications) */\n    return <></>;\n    return (\n      <>\n        {canUnmute && !!props.mutedNotificationProps && (\n          <MutedNotification\n            {...props.mutedNotificationProps}\n            speakingWhileMuted={props.mutedNotificationProps?.speakingWhileMuted ?? false}\n          />\n        )}\n      </>\n    );\n  };\n\n  return (\n    <div ref={containerRef} className={mergeStyles(containerDivStyles)} id={props.id}>\n      <Stack verticalFill horizontalAlign=\"stretch\" className={containerClassName} data-ui-id={props.dataUiId}>\n        <Stack\n          reversed\n          horizontal={verticalControlBar}\n          grow\n          styles={callArrangementContainerStyles(verticalControlBar)}\n        >\n          {props.callControlProps?.options !== false && !isMobileWithActivePane && (\n            <Stack\n              verticalAlign={'center'}\n              className={mergeStyles({\n                zIndex: CONTROL_BAR_Z_INDEX,\n                padding: verticalControlBar ? '0.25rem' : 'unset'\n              })}\n            >\n              {isLegacyCallControlEnabled(props.callControlProps?.options) ? (\n                <CallControls\n                  {...props.callControlProps}\n                  containerWidth={containerWidth}\n                  containerHeight={containerHeight}\n                  isMobile={props.mobileView}\n                  /* @conditional-compile-remove(one-to-n-calling) */\n                  peopleButtonChecked={isPeoplePaneOpen}\n                  /* @conditional-compile-remove(one-to-n-calling) */\n                  onPeopleButtonClicked={togglePeoplePane}\n                  displayVertical={verticalControlBar}\n                />\n              ) : (\n                <CommonCallControlBar\n                  {...props.callControlProps}\n                  callControls={props.callControlProps.options}\n                  callAdapter={adapter as CallAdapter}\n                  mobileView={props.mobileView}\n                  disableButtonsForLobbyPage={isInLobby}\n                  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n                  disableButtonsForHoldScreen={isInLocalHold}\n                  peopleButtonChecked={isPeoplePaneOpen}\n                  onPeopleButtonClicked={togglePeoplePane}\n                  onMoreButtonClicked={onMoreButtonClicked}\n                  isCaptionsSupported={\n                    (useTeamsCaptions && hasJoinedCall) ||\n                    /* @conditional-compile-remove(acs-close-captions) */ hasJoinedCall\n                  }\n                  useTeamsCaptions={useTeamsCaptions}\n                  isCaptionsOn={isCaptionsOn}\n                  onClickVideoEffects={onResolveVideoEffectDependency ? openVideoEffectsPane : undefined}\n                  displayVertical={verticalControlBar}\n                  onUserSetOverflowGalleryPositionChange={props.onUserSetOverflowGalleryPositionChange}\n                  onUserSetGalleryLayout={props.onUserSetGalleryLayoutChange}\n                  userSetGalleryLayout={props.userSetGalleryLayout}\n                  onSetDialpadPage={props.onSetDialpadPage}\n                  dtmfDialerPresent={props.dtmfDialerPresent}\n                  peopleButtonRef={peopleButtonRef}\n                  cameraButtonRef={cameraButtonRef}\n                  onStopLocalSpotlight={\n                    !hideSpotlightButtons && localParticipant.spotlight ? onStopLocalSpotlightWithPrompt : undefined\n                  }\n                  /* @conditional-compile-remove(teams-meeting-conference) */\n                  onToggleTeamsMeetingConferenceModal={toggleTeamsMeetingConferenceModal}\n                  /* @conditional-compile-remove(teams-meeting-conference) */\n                  teamsMeetingConferenceModalPresent={showTeamsMeetingConferenceModal}\n                />\n              )}\n            </Stack>\n          )}\n          {props.callControlProps?.options !== false && showDrawer && (\n            <Stack styles={drawerContainerStylesValue}>\n              <PreparedMoreDrawer\n                callControls={props.callControlProps.options}\n                onLightDismiss={closeDrawer}\n                onPeopleButtonClicked={onMoreDrawerPeopleClicked}\n                /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n                disableButtonsForHoldScreen={isInLocalHold}\n                isCaptionsSupported={\n                  (useTeamsCaptions && hasJoinedCall) ||\n                  /* @conditional-compile-remove(acs-close-captions) */ hasJoinedCall\n                }\n                useTeamsCaptions={useTeamsCaptions}\n                onUserSetGalleryLayout={props.onUserSetGalleryLayoutChange}\n                userSetGalleryLayout={props.userSetGalleryLayout}\n                onSetDialpadPage={props.onSetDialpadPage}\n                dtmfDialerPresent={props.dtmfDialerPresent}\n                reactionResources={adapter.getState().reactions}\n                /* @conditional-compile-remove(teams-meeting-conference) */\n                onClickMeetingPhoneInfo={onMeetingPhoneInfoClicked}\n              />\n            </Stack>\n          )}\n          <Stack horizontal grow>\n            <Stack.Item style={callCompositeContainerCSS}>\n              <Stack.Item styles={callGalleryStyles} grow>\n                <Stack verticalFill styles={mediaGalleryContainerStyles}>\n                  <Stack.Item styles={notificationsContainerStyles}>\n                    <Stack styles={bannerNotificationStyles}>\n                      <_ComplianceBanner {...props.complianceBannerProps} />\n                    </Stack>\n                    {errorNotificationTrampoline()}\n                    {\n                      /* @conditional-compile-remove(notifications) */ props.latestNotifications && (\n                        <Stack styles={notificationStackStyles} horizontalAlign=\"center\" verticalAlign=\"center\">\n                          <NotificationStack activeNotifications={props.latestNotifications} />\n                        </Stack>\n                      )\n                    }\n                    {props.capabilitiesChangedNotificationBarProps &&\n                      props.capabilitiesChangedNotificationBarProps.capabilitiesChangedNotifications.length > 0 && (\n                        <Stack styles={bannerNotificationStyles}>\n                          <CapabilitiesChangedNotificationBar\n                            {...props.capabilitiesChangedNotificationBarProps}\n                            capabilitiesChangedNotifications={filteredCapabilitesChangedNotifications ?? []}\n                          />\n                        </Stack>\n                      )}\n                    {mutedNotificationTrampoline()}\n                  </Stack.Item>\n                  {renderGallery && props.onRenderGalleryContent && props.onRenderGalleryContent()}\n                  {true &&\n                    /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ !isInLocalHold && (\n                      <CaptionsBanner\n                        isMobile={props.mobileView}\n                        onFetchAvatarPersonaData={props.onFetchAvatarPersonaData}\n                        useTeamsCaptions={useTeamsCaptions}\n                      />\n                    )}\n                </Stack>\n              </Stack.Item>\n            </Stack.Item>\n            <SidePane\n              mobileView={props.mobileView}\n              maxWidth={isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined}\n              minWidth={isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined}\n              updateSidePaneRenderer={props.updateSidePaneRenderer}\n              onPeopleButtonClicked={\n                props.mobileView && !shouldShowPeopleTabHeaderButton(props.callControlProps.options)\n                  ? undefined\n                  : togglePeoplePane\n              }\n              disablePeopleButton={\n                typeof props.callControlProps.options !== 'boolean' &&\n                isDisabled(props.callControlProps.options?.participantsButton)\n              }\n              onChatButtonClicked={props.mobileChatTabHeader?.onClick}\n              disableChatButton={props.mobileChatTabHeader?.disabled}\n            />\n            {props.mobileView && (\n              <ModalLocalAndRemotePIP\n                modalLayerHostId={props.modalLayerHostId}\n                hidden={!isSidePaneOpen}\n                styles={pipStyles}\n                strings={modalStrings}\n                minDragPosition={minMaxDragPosition.minDragPosition}\n                maxDragPosition={minMaxDragPosition.maxDragPosition}\n                onDismissSidePane={() => {\n                  closePeoplePane();\n                  if (props.onCloseChatPane) {\n                    props.onCloseChatPane();\n                  }\n                }}\n              />\n            )}\n            {drawerMenuItems.length > 0 && (\n              <Stack styles={drawerContainerStyles()}>\n                <_DrawerMenu onLightDismiss={() => setDrawerMenuItems([])} items={drawerMenuItems} />\n              </Stack>\n            )}\n          </Stack>\n        </Stack>\n      </Stack>\n    </div>\n  );\n};\n\nconst isLegacyCallControlEnabled = (options?: boolean | CallControlOptions): boolean => {\n  return !!options && options !== true && options?.legacyControlBarExperience === true;\n};\n\nconst shouldShowPeopleTabHeaderButton = (callControls?: boolean | CommonCallControlOptions): boolean => {\n  if (callControls === undefined || callControls === true) {\n    return true;\n  }\n  if (callControls === false) {\n    return false;\n  }\n  return callControls.participantsButton !== false && callControls.peopleButton !== false;\n};\n"]}
         
     | 
| 
         @@ -21,6 +21,7 @@ export interface CallPageProps { 
     | 
|
| 
       21 
21 
     | 
    
         
             
                mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;
         
     | 
| 
       22 
22 
     | 
    
         
             
                options?: CallCompositeOptions;
         
     | 
| 
       23 
23 
     | 
    
         
             
                latestErrors: ActiveErrorMessage[] | /* @conditional-compile-remove(notifications) */ ActiveNotification[];
         
     | 
| 
      
 24 
     | 
    
         
            +
                latestNotifications: ActiveNotification[];
         
     | 
| 
       24 
25 
     | 
    
         
             
                onDismissError: (error: ActiveErrorMessage | /* @conditional-compile-remove(notifications) */ ActiveNotification) => void;
         
     | 
| 
       25 
26 
     | 
    
         
             
                galleryLayout: VideoGalleryLayout;
         
     | 
| 
       26 
27 
     | 
    
         
             
                capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;
         
     | 
| 
         @@ -29,7 +29,9 @@ import { Prompt } from '../components/Prompt'; 
     | 
|
| 
       29 
29 
     | 
    
         
             
             */
         
     | 
| 
       30 
30 
     | 
    
         
             
            export const CallPage = (props) => {
         
     | 
| 
       31 
31 
     | 
    
         
             
                var _a, _b;
         
     | 
| 
       32 
     | 
    
         
            -
                const { callInvitationURL, onFetchAvatarPersonaData, onFetchParticipantMenuItems, options, mobileView, galleryLayout = 'floatingLocalVideo', onUserSetGalleryLayoutChange, userSetOverflowGalleryPosition = 'Responsive', onSetUserSetOverflowGalleryPosition, onCloseChatPane, pinnedParticipants, setPinnedParticipants, compositeAudioContext, disableAutoShowDtmfDialer = false  
     | 
| 
      
 32 
     | 
    
         
            +
                const { callInvitationURL, onFetchAvatarPersonaData, onFetchParticipantMenuItems, options, mobileView, galleryLayout = 'floatingLocalVideo', onUserSetGalleryLayoutChange, userSetOverflowGalleryPosition = 'Responsive', onSetUserSetOverflowGalleryPosition, onCloseChatPane, pinnedParticipants, setPinnedParticipants, compositeAudioContext, disableAutoShowDtmfDialer = false, 
         
     | 
| 
      
 33 
     | 
    
         
            +
                /* @conditional-compile-remove(notifications) */
         
     | 
| 
      
 34 
     | 
    
         
            +
                latestNotifications } = props;
         
     | 
| 
       33 
35 
     | 
    
         
             
                // To use useProps to get these states, we need to create another file wrapping Call,
         
     | 
| 
       34 
36 
     | 
    
         
             
                // It seems unnecessary in this case, so we get the updated states using this approach.
         
     | 
| 
       35 
37 
     | 
    
         
             
                const { callStatus } = useSelector(callStatusSelector);
         
     | 
| 
         @@ -67,7 +69,9 @@ export const CallPage = (props) => { 
     | 
|
| 
       67 
69 
     | 
    
         
             
                            options: callControlOptions,
         
     | 
| 
       68 
70 
     | 
    
         
             
                            increaseFlyoutItemSize: mobileView
         
     | 
| 
       69 
71 
     | 
    
         
             
                        }, onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (onRenderGalleryContentTrampoline()) : (React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps, { 
         
     | 
| 
       70 
     | 
    
         
            -
                            /* /* @conditional-compile-remove(teams-meeting-conference) */ isMobile: mobileView })))) : (React.createElement(React.Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors,  
     | 
| 
      
 72 
     | 
    
         
            +
                            /* /* @conditional-compile-remove(teams-meeting-conference) */ isMobile: mobileView })))) : (React.createElement(React.Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors, 
         
     | 
| 
      
 73 
     | 
    
         
            +
                        /* @conditional-compile-remove(notifications) */
         
     | 
| 
      
 74 
     | 
    
         
            +
                        latestNotifications: latestNotifications, onDismissError: props.onDismissError, onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition, onUserSetGalleryLayoutChange: onUserSetGalleryLayoutChange, userSetGalleryLayout: galleryLayout, capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent, setIsPromptOpen: setIsPromptOpen, setPromptProps: setPromptProps, hideSpotlightButtons: (_b = options === null || options === void 0 ? void 0 : options.spotlight) === null || _b === void 0 ? void 0 : _b.hideSpotlightButtons, pinnedParticipants: pinnedParticipants, setPinnedParticipants: setPinnedParticipants }),
         
     | 
| 
       71 
75 
     | 
    
         
             
                    React.createElement(Prompt, Object.assign({ isOpen: isPromptOpen, onDismiss: () => setIsPromptOpen(false) }, promptProps))));
         
     | 
| 
       72 
76 
     | 
    
         
             
            };
         
     | 
| 
       73 
77 
     | 
    
         
             
            /**
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"CallPage.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/pages/CallPage.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { DiagnosticQuality } from '@azure/communication-calling';\nimport { useId } from '@fluentui/react-hooks';\nimport { _isInCall } from '@internal/calling-component-bindings';\nimport { ActiveErrorMessage, ErrorBar, ParticipantMenuItemsCallback } from '@internal/react-components';\n/* @conditional-compile-remove(notifications) */\nimport { ActiveNotification } from '@internal/react-components';\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport React from 'react';\nimport { useState } from 'react';\nimport { AvatarPersonaDataCallback } from '../../common/AvatarPersona';\nimport { useLocale } from '../../localization';\nimport { CallCompositeOptions } from '../CallComposite';\nimport { CallArrangement } from '../components/CallArrangement';\nimport { MediaGallery } from '../components/MediaGallery';\nimport { NetworkReconnectTile } from '../components/NetworkReconnectTile';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { useSelector } from '../hooks/useSelector';\nimport { callStatusSelector } from '../selectors/callStatusSelector';\nimport { complianceBannerSelector } from '../selectors/complianceBannerSelector';\nimport { mediaGallerySelector } from '../selectors/mediaGallerySelector';\nimport { getRemoteParticipantsConnectedSelector } from '../selectors/mediaGallerySelector';\nimport { mutedNotificationSelector } from '../selectors/mutedNotificationSelector';\nimport { networkReconnectTileSelector } from '../selectors/networkReconnectTileSelector';\nimport { reduceCallControlsForMobile } from '../utils';\nimport { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';\nimport { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';\n\nimport { CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar';\nimport { DtmfDialpadPage } from './DtmfDialpadPage';\nimport { showDtmfDialer } from '../utils/MediaGalleryUtils';\nimport { getTargetCallees } from '../selectors/baseSelectors';\nimport { Prompt, PromptProps } from '../components/Prompt';\n\n/**\n * @private\n */\nexport interface CallPageProps {\n  mobileView: boolean;\n  modalLayerHostId: string;\n  callInvitationURL?: string;\n  onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n  onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n  updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n  mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n  options?: CallCompositeOptions;\n  latestErrors: ActiveErrorMessage[] | /* @conditional-compile-remove(notifications) */ ActiveNotification[];\n  onDismissError: (\n    error: ActiveErrorMessage | /* @conditional-compile-remove(notifications) */ ActiveNotification\n  ) => void;\n  galleryLayout: VideoGalleryLayout;\n  capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;\n  onUserSetGalleryLayoutChange?: (layout: VideoGalleryLayout) => void;\n  userSetOverflowGalleryPosition?: 'Responsive' | 'horizontalTop';\n  onSetUserSetOverflowGalleryPosition?: (position: 'Responsive' | 'horizontalTop') => void;\n  onCloseChatPane?: () => void;\n  pinnedParticipants?: string[];\n  setPinnedParticipants?: (pinnedParticipants: string[]) => void;\n  compositeAudioContext?: AudioContext;\n  disableAutoShowDtmfDialer?: boolean;\n}\n\n/**\n * @private\n */\nexport const CallPage = (props: CallPageProps): JSX.Element => {\n  const {\n    callInvitationURL,\n    onFetchAvatarPersonaData,\n    onFetchParticipantMenuItems,\n    options,\n    mobileView,\n    galleryLayout = 'floatingLocalVideo',\n    onUserSetGalleryLayoutChange,\n    userSetOverflowGalleryPosition = 'Responsive',\n    onSetUserSetOverflowGalleryPosition,\n    onCloseChatPane,\n    pinnedParticipants,\n    setPinnedParticipants,\n    compositeAudioContext,\n    disableAutoShowDtmfDialer = false\n  } = props;\n\n  // To use useProps to get these states, we need to create another file wrapping Call,\n  // It seems unnecessary in this case, so we get the updated states using this approach.\n  const { callStatus } = useSelector(callStatusSelector);\n  const mediaGalleryProps = useSelector(mediaGallerySelector);\n  const mediaGalleryHandlers = useHandlers(MediaGallery);\n  const complianceBannerProps = useSelector(complianceBannerSelector);\n  const errorBarProps = usePropsFor(ErrorBar);\n  const mutedNotificationProps = useSelector(mutedNotificationSelector);\n  const networkReconnectTileProps = useSelector(networkReconnectTileSelector);\n  const remoteParticipantsConnected = useSelector(getRemoteParticipantsConnectedSelector);\n  const callees = useSelector(getTargetCallees);\n  const renderDtmfDialerFromStart = showDtmfDialer(callees, remoteParticipantsConnected);\n  const [dtmfDialerPresent, setDtmfDialerPresent] = useState<boolean>(\n    renderDtmfDialerFromStart && disableAutoShowDtmfDialer\n  );\n\n  const strings = useLocale().strings.call;\n\n  // Reduce the controls shown when mobile view is enabled.\n  const callControlOptions = mobileView ? reduceCallControlsForMobile(options?.callControls) : options?.callControls;\n\n  const drawerMenuHostId = useId('drawerMenuHost');\n  const [isPromptOpen, setIsPromptOpen] = useState<boolean>(false);\n  const [promptProps, setPromptProps] = useState<PromptProps>();\n\n  const onRenderGalleryContentTrampoline = (): JSX.Element => {\n    if (dtmfDialerPresent) {\n      return (\n        <DtmfDialpadPage\n          mobileView={props.mobileView}\n          modalLayerHostId={props.modalLayerHostId}\n          options={props.options}\n          updateSidePaneRenderer={props.updateSidePaneRenderer}\n          mobileChatTabHeader={props.mobileChatTabHeader}\n          latestErrors={props.latestErrors}\n          onDismissError={props.onDismissError}\n          capabilitiesChangedNotificationBarProps={props.capabilitiesChangedNotificationBarProps}\n          onSetDialpadPage={() => setDtmfDialerPresent(!dtmfDialerPresent)}\n          dtmfDialerPresent={dtmfDialerPresent}\n          compositeAudioContext={compositeAudioContext}\n        />\n      );\n    } else {\n      return (\n        <MediaGallery\n          isMobile={mobileView}\n          {...mediaGalleryProps}\n          {...mediaGalleryHandlers}\n          onFetchAvatarPersonaData={onFetchAvatarPersonaData}\n          remoteVideoTileMenuOptions={options?.remoteVideoTileMenuOptions}\n          drawerMenuHostId={drawerMenuHostId}\n          localVideoTileOptions={options?.localVideoTile}\n          userSetOverflowGalleryPosition={userSetOverflowGalleryPosition}\n          userSetGalleryLayout={galleryLayout}\n          pinnedParticipants={pinnedParticipants}\n          setPinnedParticipants={setPinnedParticipants}\n          setIsPromptOpen={setIsPromptOpen}\n          setPromptProps={setPromptProps}\n          hideSpotlightButtons={options?.spotlight?.hideSpotlightButtons}\n          videoTilesOptions={options?.videoTilesOptions}\n        />\n      );\n    }\n  };\n\n  return (\n    <>\n      <CallArrangement\n        id={drawerMenuHostId}\n        complianceBannerProps={{ ...complianceBannerProps, strings }}\n        errorBarProps={options?.errorBar !== false && errorBarProps}\n        /* @conditional-compile-remove(notifications) */\n        showErrorNotifications={options?.errorBar ?? true}\n        mutedNotificationProps={mutedNotificationProps}\n        callControlProps={{\n          callInvitationURL: callInvitationURL,\n          onFetchParticipantMenuItems: onFetchParticipantMenuItems,\n          options: callControlOptions,\n          increaseFlyoutItemSize: mobileView\n        }}\n        onFetchAvatarPersonaData={onFetchAvatarPersonaData}\n        mobileView={mobileView}\n        modalLayerHostId={props.modalLayerHostId}\n        onRenderGalleryContent={() =>\n          _isInCall(callStatus) ? (\n            isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (\n              onRenderGalleryContentTrampoline()\n            ) : (\n              <NetworkReconnectTile\n                {...networkReconnectTileProps}\n                /* /* @conditional-compile-remove(teams-meeting-conference) */ isMobile={mobileView}\n              />\n            )\n          ) : (\n            <></>\n          )\n        }\n        updateSidePaneRenderer={props.updateSidePaneRenderer}\n        mobileChatTabHeader={props.mobileChatTabHeader}\n        onCloseChatPane={onCloseChatPane}\n        dataUiId={'call-page'}\n        latestErrors={props.latestErrors}\n        onDismissError={props.onDismissError}\n        onUserSetOverflowGalleryPositionChange={onSetUserSetOverflowGalleryPosition}\n        onUserSetGalleryLayoutChange={onUserSetGalleryLayoutChange}\n        userSetGalleryLayout={galleryLayout}\n        capabilitiesChangedNotificationBarProps={props.capabilitiesChangedNotificationBarProps}\n        onSetDialpadPage={() => setDtmfDialerPresent(!dtmfDialerPresent)}\n        dtmfDialerPresent={dtmfDialerPresent}\n        setIsPromptOpen={setIsPromptOpen}\n        setPromptProps={setPromptProps}\n        hideSpotlightButtons={options?.spotlight?.hideSpotlightButtons}\n        pinnedParticipants={pinnedParticipants}\n        setPinnedParticipants={setPinnedParticipants}\n      />\n      {<Prompt isOpen={isPromptOpen} onDismiss={() => setIsPromptOpen(false)} {...promptProps} />}\n    </>\n  );\n};\n\n/**\n * @private\n */\nexport const isNetworkHealthy = (value: DiagnosticQuality | boolean | undefined): boolean => {\n  // We know that the value is actually of type DiagnosticQuality for this diagnostic.\n  // We ignore any boolen values, considering the network to still be healthy.\n  // Thus, only DiagnosticQuality.Poor or .Bad indicate network problems.\n  return value === true || value === false || value === undefined || value === DiagnosticQuality.Good;\n};\n"]}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"CallPage.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/pages/CallPage.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { DiagnosticQuality } from '@azure/communication-calling';\nimport { useId } from '@fluentui/react-hooks';\nimport { _isInCall } from '@internal/calling-component-bindings';\nimport { ActiveErrorMessage, ErrorBar, ParticipantMenuItemsCallback } from '@internal/react-components';\n/* @conditional-compile-remove(notifications) */\nimport { ActiveNotification } from '@internal/react-components';\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport React from 'react';\nimport { useState } from 'react';\nimport { AvatarPersonaDataCallback } from '../../common/AvatarPersona';\nimport { useLocale } from '../../localization';\nimport { CallCompositeOptions } from '../CallComposite';\nimport { CallArrangement } from '../components/CallArrangement';\nimport { MediaGallery } from '../components/MediaGallery';\nimport { NetworkReconnectTile } from '../components/NetworkReconnectTile';\nimport { useHandlers } from '../hooks/useHandlers';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { useSelector } from '../hooks/useSelector';\nimport { callStatusSelector } from '../selectors/callStatusSelector';\nimport { complianceBannerSelector } from '../selectors/complianceBannerSelector';\nimport { mediaGallerySelector } from '../selectors/mediaGallerySelector';\nimport { getRemoteParticipantsConnectedSelector } from '../selectors/mediaGallerySelector';\nimport { mutedNotificationSelector } from '../selectors/mutedNotificationSelector';\nimport { networkReconnectTileSelector } from '../selectors/networkReconnectTileSelector';\nimport { reduceCallControlsForMobile } from '../utils';\nimport { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';\nimport { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';\n\nimport { CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar';\nimport { DtmfDialpadPage } from './DtmfDialpadPage';\nimport { showDtmfDialer } from '../utils/MediaGalleryUtils';\nimport { getTargetCallees } from '../selectors/baseSelectors';\nimport { Prompt, PromptProps } from '../components/Prompt';\n\n/**\n * @private\n */\nexport interface CallPageProps {\n  mobileView: boolean;\n  modalLayerHostId: string;\n  callInvitationURL?: string;\n  onFetchAvatarPersonaData?: AvatarPersonaDataCallback;\n  onFetchParticipantMenuItems?: ParticipantMenuItemsCallback;\n  updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n  mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n  options?: CallCompositeOptions;\n  latestErrors: ActiveErrorMessage[] | /* @conditional-compile-remove(notifications) */ ActiveNotification[];\n  /* @conditional-compile-remove(notifications) */\n  latestNotifications: ActiveNotification[];\n  onDismissError: (\n    error: ActiveErrorMessage | /* @conditional-compile-remove(notifications) */ ActiveNotification\n  ) => void;\n  galleryLayout: VideoGalleryLayout;\n  capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;\n  onUserSetGalleryLayoutChange?: (layout: VideoGalleryLayout) => void;\n  userSetOverflowGalleryPosition?: 'Responsive' | 'horizontalTop';\n  onSetUserSetOverflowGalleryPosition?: (position: 'Responsive' | 'horizontalTop') => void;\n  onCloseChatPane?: () => void;\n  pinnedParticipants?: string[];\n  setPinnedParticipants?: (pinnedParticipants: string[]) => void;\n  compositeAudioContext?: AudioContext;\n  disableAutoShowDtmfDialer?: boolean;\n}\n\n/**\n * @private\n */\nexport const CallPage = (props: CallPageProps): JSX.Element => {\n  const {\n    callInvitationURL,\n    onFetchAvatarPersonaData,\n    onFetchParticipantMenuItems,\n    options,\n    mobileView,\n    galleryLayout = 'floatingLocalVideo',\n    onUserSetGalleryLayoutChange,\n    userSetOverflowGalleryPosition = 'Responsive',\n    onSetUserSetOverflowGalleryPosition,\n    onCloseChatPane,\n    pinnedParticipants,\n    setPinnedParticipants,\n    compositeAudioContext,\n    disableAutoShowDtmfDialer = false,\n    /* @conditional-compile-remove(notifications) */\n    latestNotifications\n  } = props;\n\n  // To use useProps to get these states, we need to create another file wrapping Call,\n  // It seems unnecessary in this case, so we get the updated states using this approach.\n  const { callStatus } = useSelector(callStatusSelector);\n  const mediaGalleryProps = useSelector(mediaGallerySelector);\n  const mediaGalleryHandlers = useHandlers(MediaGallery);\n  const complianceBannerProps = useSelector(complianceBannerSelector);\n  const errorBarProps = usePropsFor(ErrorBar);\n  const mutedNotificationProps = useSelector(mutedNotificationSelector);\n  const networkReconnectTileProps = useSelector(networkReconnectTileSelector);\n  const remoteParticipantsConnected = useSelector(getRemoteParticipantsConnectedSelector);\n  const callees = useSelector(getTargetCallees);\n  const renderDtmfDialerFromStart = showDtmfDialer(callees, remoteParticipantsConnected);\n  const [dtmfDialerPresent, setDtmfDialerPresent] = useState<boolean>(\n    renderDtmfDialerFromStart && disableAutoShowDtmfDialer\n  );\n\n  const strings = useLocale().strings.call;\n\n  // Reduce the controls shown when mobile view is enabled.\n  const callControlOptions = mobileView ? reduceCallControlsForMobile(options?.callControls) : options?.callControls;\n\n  const drawerMenuHostId = useId('drawerMenuHost');\n  const [isPromptOpen, setIsPromptOpen] = useState<boolean>(false);\n  const [promptProps, setPromptProps] = useState<PromptProps>();\n\n  const onRenderGalleryContentTrampoline = (): JSX.Element => {\n    if (dtmfDialerPresent) {\n      return (\n        <DtmfDialpadPage\n          mobileView={props.mobileView}\n          modalLayerHostId={props.modalLayerHostId}\n          options={props.options}\n          updateSidePaneRenderer={props.updateSidePaneRenderer}\n          mobileChatTabHeader={props.mobileChatTabHeader}\n          latestErrors={props.latestErrors as ActiveErrorMessage[]}\n          onDismissError={props.onDismissError}\n          capabilitiesChangedNotificationBarProps={props.capabilitiesChangedNotificationBarProps}\n          onSetDialpadPage={() => setDtmfDialerPresent(!dtmfDialerPresent)}\n          dtmfDialerPresent={dtmfDialerPresent}\n          compositeAudioContext={compositeAudioContext}\n        />\n      );\n    } else {\n      return (\n        <MediaGallery\n          isMobile={mobileView}\n          {...mediaGalleryProps}\n          {...mediaGalleryHandlers}\n          onFetchAvatarPersonaData={onFetchAvatarPersonaData}\n          remoteVideoTileMenuOptions={options?.remoteVideoTileMenuOptions}\n          drawerMenuHostId={drawerMenuHostId}\n          localVideoTileOptions={options?.localVideoTile}\n          userSetOverflowGalleryPosition={userSetOverflowGalleryPosition}\n          userSetGalleryLayout={galleryLayout}\n          pinnedParticipants={pinnedParticipants}\n          setPinnedParticipants={setPinnedParticipants}\n          setIsPromptOpen={setIsPromptOpen}\n          setPromptProps={setPromptProps}\n          hideSpotlightButtons={options?.spotlight?.hideSpotlightButtons}\n          videoTilesOptions={options?.videoTilesOptions}\n        />\n      );\n    }\n  };\n\n  return (\n    <>\n      <CallArrangement\n        id={drawerMenuHostId}\n        complianceBannerProps={{ ...complianceBannerProps, strings }}\n        errorBarProps={options?.errorBar !== false && errorBarProps}\n        /* @conditional-compile-remove(notifications) */\n        showErrorNotifications={options?.errorBar ?? true}\n        mutedNotificationProps={mutedNotificationProps}\n        callControlProps={{\n          callInvitationURL: callInvitationURL,\n          onFetchParticipantMenuItems: onFetchParticipantMenuItems,\n          options: callControlOptions,\n          increaseFlyoutItemSize: mobileView\n        }}\n        onFetchAvatarPersonaData={onFetchAvatarPersonaData}\n        mobileView={mobileView}\n        modalLayerHostId={props.modalLayerHostId}\n        onRenderGalleryContent={() =>\n          _isInCall(callStatus) ? (\n            isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (\n              onRenderGalleryContentTrampoline()\n            ) : (\n              <NetworkReconnectTile\n                {...networkReconnectTileProps}\n                /* /* @conditional-compile-remove(teams-meeting-conference) */ isMobile={mobileView}\n              />\n            )\n          ) : (\n            <></>\n          )\n        }\n        updateSidePaneRenderer={props.updateSidePaneRenderer}\n        mobileChatTabHeader={props.mobileChatTabHeader}\n        onCloseChatPane={onCloseChatPane}\n        dataUiId={'call-page'}\n        latestErrors={props.latestErrors}\n        /* @conditional-compile-remove(notifications) */\n        latestNotifications={latestNotifications}\n        onDismissError={props.onDismissError}\n        onUserSetOverflowGalleryPositionChange={onSetUserSetOverflowGalleryPosition}\n        onUserSetGalleryLayoutChange={onUserSetGalleryLayoutChange}\n        userSetGalleryLayout={galleryLayout}\n        capabilitiesChangedNotificationBarProps={props.capabilitiesChangedNotificationBarProps}\n        onSetDialpadPage={() => setDtmfDialerPresent(!dtmfDialerPresent)}\n        dtmfDialerPresent={dtmfDialerPresent}\n        setIsPromptOpen={setIsPromptOpen}\n        setPromptProps={setPromptProps}\n        hideSpotlightButtons={options?.spotlight?.hideSpotlightButtons}\n        pinnedParticipants={pinnedParticipants}\n        setPinnedParticipants={setPinnedParticipants}\n      />\n      {<Prompt isOpen={isPromptOpen} onDismiss={() => setIsPromptOpen(false)} {...promptProps} />}\n    </>\n  );\n};\n\n/**\n * @private\n */\nexport const isNetworkHealthy = (value: DiagnosticQuality | boolean | undefined): boolean => {\n  // We know that the value is actually of type DiagnosticQuality for this diagnostic.\n  // We ignore any boolen values, considering the network to still be healthy.\n  // Thus, only DiagnosticQuality.Poor or .Bad indicate network problems.\n  return value === true || value === false || value === undefined || value === DiagnosticQuality.Good;\n};\n"]}
         
     | 
| 
         @@ -4,6 +4,7 @@ import { CallCompositeOptions } from '../../../index-public'; 
     | 
|
| 
       4 
4 
     | 
    
         
             
            import { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';
         
     | 
| 
       5 
5 
     | 
    
         
             
            import { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';
         
     | 
| 
       6 
6 
     | 
    
         
             
            import { CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar';
         
     | 
| 
      
 7 
     | 
    
         
            +
            import { ActiveNotification } from "../../../../../react-components/src";
         
     | 
| 
       7 
8 
     | 
    
         
             
            /**
         
     | 
| 
       8 
9 
     | 
    
         
             
             * @beta
         
     | 
| 
       9 
10 
     | 
    
         
             
             */
         
     | 
| 
         @@ -13,9 +14,10 @@ export interface HoldPageProps { 
     | 
|
| 
       13 
14 
     | 
    
         
             
                modalLayerHostId: string;
         
     | 
| 
       14 
15 
     | 
    
         
             
                updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;
         
     | 
| 
       15 
16 
     | 
    
         
             
                mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;
         
     | 
| 
       16 
     | 
    
         
            -
                latestErrors: ActiveErrorMessage[];
         
     | 
| 
       17 
     | 
    
         
            -
                onDismissError: (error: ActiveErrorMessage) => void;
         
     | 
| 
      
 17 
     | 
    
         
            +
                latestErrors: ActiveErrorMessage[] | /* @conditional-compile-remove(notifications) */ ActiveNotification[];
         
     | 
| 
      
 18 
     | 
    
         
            +
                onDismissError: (error: ActiveErrorMessage | /* @conditional-compile-remove(notifications) */ ActiveNotification) => void;
         
     | 
| 
       18 
19 
     | 
    
         
             
                capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;
         
     | 
| 
      
 20 
     | 
    
         
            +
                latestNotifications: ActiveNotification[];
         
     | 
| 
       19 
21 
     | 
    
         
             
            }
         
     | 
| 
       20 
22 
     | 
    
         
             
            /**
         
     | 
| 
       21 
23 
     | 
    
         
             
             * @beta
         
     | 
| 
         @@ -31,6 +31,8 @@ export const HoldPage = (props) => { 
     | 
|
| 
       31 
31 
     | 
    
         
             
                    showErrorNotifications: (_e = (_d = props.options) === null || _d === void 0 ? void 0 : _d.errorBar) !== null && _e !== void 0 ? _e : true, callControlProps: {
         
     | 
| 
       32 
32 
     | 
    
         
             
                        options: callControlOptions,
         
     | 
| 
       33 
33 
     | 
    
         
             
                        increaseFlyoutItemSize: props.mobileView
         
     | 
| 
       34 
     | 
    
         
            -
                    }, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => React.createElement(HoldPane, null), dataUiId: 'hold-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors,  
     | 
| 
      
 34 
     | 
    
         
            +
                    }, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => React.createElement(HoldPane, null), dataUiId: 'hold-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, 
         
     | 
| 
      
 35 
     | 
    
         
            +
                    /* @conditional-compile-remove(notifications) */
         
     | 
| 
      
 36 
     | 
    
         
            +
                    latestNotifications: props.latestNotifications, onDismissError: props.onDismissError }));
         
     | 
| 
       35 
37 
     | 
    
         
             
            };
         
     | 
| 
       36 
38 
     | 
    
         
             
            //# sourceMappingURL=HoldPage.js.map
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"HoldPage.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/pages/HoldPage.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAsB,QAAQ,EAAE,4CAAmC;AAC1E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC; 
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"HoldPage.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/pages/HoldPage.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAsB,QAAQ,EAAE,4CAAmC;AAC1E,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAC;AA0B5E;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAoB,EAAe,EAAE;;IAC5D,MAAM,aAAa,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAEzC,IAAI,kBAAkB,GAAG,KAAK,CAAC,UAAU;QACvC,CAAC,CAAC,2BAA2B,CAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,YAAY,CAAC;QAC1D,CAAC,CAAC,MAAA,KAAK,CAAC,OAAO,0CAAE,YAAY,CAAC;IAEhC,kBAAkB,GAAG,mBAAmB,CAAC,kBAAkB,EAAE;QAC3D,cAAc;QACd,kBAAkB;QAClB,eAAe;QACf,mBAAmB;QACnB,6CAA6C;QAC7C,mDAAmD;QACnD,YAAY;KACb,CAAC,CAAC;IAEH,OAAO,CACL,oBAAC,eAAe,IACd,qBAAqB,EAAE,EAAE,OAAO,EAAE,EAClC,aAAa,EAAE,CAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,QAAQ,MAAK,KAAK,IAAI,aAAa;QACjE,gDAAgD;QAChD,sBAAsB,EAAE,MAAA,MAAA,KAAK,CAAC,OAAO,0CAAE,QAAQ,mCAAI,IAAI,EACvD,gBAAgB,EAAE;YAChB,OAAO,EAAE,kBAAkB;YAC3B,sBAAsB,EAAE,KAAK,CAAC,UAAU;SACzC,EACD,UAAU,EAAE,KAAK,CAAC,UAAU,EAC5B,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,EACxC,sBAAsB,EAAE,GAAG,EAAE,CAAC,oBAAC,QAAQ,OAAG,EAC1C,QAAQ,EAAE,WAAW,EACrB,sBAAsB,EAAE,KAAK,CAAC,sBAAsB,EACpD,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAC9C,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,gDAAgD;QAChD,mBAAmB,EAAE,KAAK,CAAC,mBAAmB,EAC9C,cAAc,EAAE,KAAK,CAAC,cAAc,GACpC,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ActiveErrorMessage, ErrorBar } from '@internal/react-components';\nimport React from 'react';\nimport { CallCompositeOptions } from '../../../index-public';\nimport { useLocale } from '../../localization';\nimport { CallArrangement } from '../components/CallArrangement';\nimport { HoldPane } from '../components/HoldPane';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { disableCallControls, reduceCallControlsForMobile } from '../utils';\nimport { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';\nimport { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';\n\nimport { CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar';\n/* @conditional-compile-remove(notifications) */\nimport { ActiveNotification } from '@internal/react-components';\n\n/**\n * @beta\n */\nexport interface HoldPageProps {\n  mobileView: boolean;\n  options?: CallCompositeOptions;\n  modalLayerHostId: string;\n  updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n  mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n  latestErrors: ActiveErrorMessage[] | /* @conditional-compile-remove(notifications) */ ActiveNotification[];\n  onDismissError: (\n    error: ActiveErrorMessage | /* @conditional-compile-remove(notifications) */ ActiveNotification\n  ) => void;\n  capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;\n  /* @conditional-compile-remove(notifications) */\n  latestNotifications: ActiveNotification[];\n}\n\n/**\n * @beta\n */\nexport const HoldPage = (props: HoldPageProps): JSX.Element => {\n  const errorBarProps = usePropsFor(ErrorBar);\n  const strings = useLocale().strings.call;\n\n  let callControlOptions = props.mobileView\n    ? reduceCallControlsForMobile(props.options?.callControls)\n    : props.options?.callControls;\n\n  callControlOptions = disableCallControls(callControlOptions, [\n    'cameraButton',\n    'microphoneButton',\n    'devicesButton',\n    'screenShareButton',\n    /* @conditional-compile-remove(PSTN-calls) */\n    /* @conditional-compile-remove(one-to-n-calling) */\n    'holdButton'\n  ]);\n\n  return (\n    <CallArrangement\n      complianceBannerProps={{ strings }}\n      errorBarProps={props.options?.errorBar !== false && errorBarProps}\n      /* @conditional-compile-remove(notifications) */\n      showErrorNotifications={props.options?.errorBar ?? true}\n      callControlProps={{\n        options: callControlOptions,\n        increaseFlyoutItemSize: props.mobileView\n      }}\n      mobileView={props.mobileView}\n      modalLayerHostId={props.modalLayerHostId}\n      onRenderGalleryContent={() => <HoldPane />}\n      dataUiId={'hold-page'}\n      updateSidePaneRenderer={props.updateSidePaneRenderer}\n      mobileChatTabHeader={props.mobileChatTabHeader}\n      latestErrors={props.latestErrors}\n      /* @conditional-compile-remove(notifications) */\n      latestNotifications={props.latestNotifications}\n      onDismissError={props.onDismissError}\n    />\n  );\n};\n"]}
         
     | 
| 
         @@ -1,5 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            /// <reference types="react" />
         
     | 
| 
       2 
2 
     | 
    
         
             
            import { ActiveErrorMessage } from "../../../../../react-components/src";
         
     | 
| 
      
 3 
     | 
    
         
            +
            import { ActiveNotification } from "../../../../../react-components/src";
         
     | 
| 
       3 
4 
     | 
    
         
             
            import { CallCompositeOptions } from '../CallComposite';
         
     | 
| 
       4 
5 
     | 
    
         
             
            import { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';
         
     | 
| 
       5 
6 
     | 
    
         
             
            import { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';
         
     | 
| 
         @@ -13,8 +14,9 @@ export interface LobbyPageProps { 
     | 
|
| 
       13 
14 
     | 
    
         
             
                options?: CallCompositeOptions;
         
     | 
| 
       14 
15 
     | 
    
         
             
                mobileChatTabHeader: MobileChatSidePaneTabHeaderProps | undefined;
         
     | 
| 
       15 
16 
     | 
    
         
             
                updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;
         
     | 
| 
       16 
     | 
    
         
            -
                latestErrors: ActiveErrorMessage[];
         
     | 
| 
       17 
     | 
    
         
            -
                 
     | 
| 
      
 17 
     | 
    
         
            +
                latestErrors: ActiveErrorMessage[] | /* @conditional-compile-remove(notifications) */ ActiveNotification[];
         
     | 
| 
      
 18 
     | 
    
         
            +
                latestNotifications: ActiveNotification[];
         
     | 
| 
      
 19 
     | 
    
         
            +
                onDismissError: (error: ActiveErrorMessage | /* @conditional-compile-remove(notifications) */ ActiveNotification) => void;
         
     | 
| 
       18 
20 
     | 
    
         
             
                capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;
         
     | 
| 
       19 
21 
     | 
    
         
             
            }
         
     | 
| 
       20 
22 
     | 
    
         
             
            /**
         
     | 
| 
         @@ -33,7 +33,9 @@ export const LobbyPage = (props) => { 
     | 
|
| 
       33 
33 
     | 
    
         
             
                    showErrorNotifications: (_f = (_e = props.options) === null || _e === void 0 ? void 0 : _e.errorBar) !== null && _f !== void 0 ? _f : true, callControlProps: {
         
     | 
| 
       34 
34 
     | 
    
         
             
                        options: callControlOptions,
         
     | 
| 
       35 
35 
     | 
    
         
             
                        increaseFlyoutItemSize: props.mobileView
         
     | 
| 
       36 
     | 
    
         
            -
                    }, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => (React.createElement(LobbyTile, Object.assign({}, lobbyProps, { showLocalVideoCameraCycleButton: props.mobileView, overlayProps: overlayProps(strings, inLobby, Object.values(participants)) }))), dataUiId: 'lobby-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError  
     | 
| 
      
 36 
     | 
    
         
            +
                    }, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => (React.createElement(LobbyTile, Object.assign({}, lobbyProps, { showLocalVideoCameraCycleButton: props.mobileView, overlayProps: overlayProps(strings, inLobby, Object.values(participants)) }))), dataUiId: 'lobby-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError, 
         
     | 
| 
      
 37 
     | 
    
         
            +
                    /* @conditional-compile-remove(notifications) */
         
     | 
| 
      
 38 
     | 
    
         
            +
                    latestNotifications: props.latestNotifications }));
         
     | 
| 
       37 
39 
     | 
    
         
             
            };
         
     | 
| 
       38 
40 
     | 
    
         
             
            const overlayProps = (strings, inLobby, remoteParticipants) => {
         
     | 
| 
       39 
41 
     | 
    
         
             
                /**
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"LobbyPage.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/pages/LobbyPage.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAsB,QAAQ,EAAE,4CAAmC; 
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"LobbyPage.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/pages/LobbyPage.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport React from 'react';\nimport { ActiveErrorMessage, ErrorBar } from '@internal/react-components';\n/* @conditional-compile-remove(notifications) */\nimport { ActiveNotification } from '@internal/react-components';\nimport { useSelector } from '../hooks/useSelector';\nimport { lobbySelector } from '../selectors/lobbySelector';\nimport { CallCompositeOptions } from '../CallComposite';\nimport { CallArrangement } from '../components/CallArrangement';\nimport { usePropsFor } from '../hooks/usePropsFor';\nimport { LobbyOverlayProps, LobbyTile } from '../components/LobbyTile';\nimport { getCallStatus, getRemoteParticipants } from '../selectors/baseSelectors';\nimport { disableCallControls, reduceCallControlsForMobile } from '../utils';\nimport { CallCompositeStrings } from '../Strings';\nimport { useLocale } from '../../localization';\nimport { CallCompositeIcon } from '../../common/icons';\nimport { isPhoneNumberIdentifier, PhoneNumberIdentifier } from '@azure/communication-common';\nimport { RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';\nimport { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';\n\nimport { CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar';\n\n/**\n * @private\n */\nexport interface LobbyPageProps {\n  mobileView: boolean;\n  modalLayerHostId: string;\n  options?: CallCompositeOptions;\n  mobileChatTabHeader: MobileChatSidePaneTabHeaderProps | undefined;\n  updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n  latestErrors: ActiveErrorMessage[] | /* @conditional-compile-remove(notifications) */ ActiveNotification[];\n  /* @conditional-compile-remove(notifications) */\n  latestNotifications: ActiveNotification[];\n  onDismissError: (\n    error: ActiveErrorMessage | /* @conditional-compile-remove(notifications) */ ActiveNotification\n  ) => void;\n  capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;\n}\n\n/**\n * @private\n */\nexport const LobbyPage = (props: LobbyPageProps): JSX.Element => {\n  const errorBarProps = usePropsFor(ErrorBar);\n  const lobbyProps = useSelector(lobbySelector);\n  const strings = useLocale().strings.call;\n\n  const callState = useSelector(getCallStatus);\n  const inLobby = callState === 'InLobby';\n\n  const participants = useSelector(getRemoteParticipants) ?? {};\n\n  // Reduce the controls shown when mobile view is enabled.\n  let callControlOptions = props.mobileView\n    ? reduceCallControlsForMobile(props.options?.callControls)\n    : props.options?.callControls;\n\n  callControlOptions = disableCallControls(callControlOptions, ['screenShareButton', 'participantsButton']);\n\n  return (\n    <CallArrangement\n      complianceBannerProps={{ strings }}\n      errorBarProps={props.options?.errorBar !== false && errorBarProps}\n      /* @conditional-compile-remove(notifications) */\n      showErrorNotifications={props.options?.errorBar ?? true}\n      callControlProps={{\n        options: callControlOptions,\n        increaseFlyoutItemSize: props.mobileView\n      }}\n      mobileView={props.mobileView}\n      modalLayerHostId={props.modalLayerHostId}\n      onRenderGalleryContent={() => (\n        <LobbyTile\n          {...lobbyProps}\n          showLocalVideoCameraCycleButton={props.mobileView}\n          overlayProps={overlayProps(strings, inLobby, Object.values(participants))}\n        />\n      )}\n      dataUiId={'lobby-page'}\n      updateSidePaneRenderer={props.updateSidePaneRenderer}\n      mobileChatTabHeader={props.mobileChatTabHeader}\n      latestErrors={props.latestErrors}\n      onDismissError={props.onDismissError}\n      /* @conditional-compile-remove(notifications) */\n      latestNotifications={props.latestNotifications}\n    />\n  );\n};\n\nconst overlayProps = (\n  strings: CallCompositeStrings,\n  inLobby: boolean,\n  remoteParticipants: RemoteParticipantState[]\n): LobbyOverlayProps => {\n  /**\n   * Only grab the first participant because there will only be one in this situation.\n   * when starting a call with multiple people the call goes to the connected state and composite goes directly to\n   * videoGallery.\n   *\n   * We also need to check the participant state since in a group call the remote participants array will populate just before\n   * the user joins. In this situation we also check the participant states. in a groupCall the state of the participants\n   * will be 'Idle'.\n   */\n  const outboundCallParticipant: RemoteParticipantState | undefined =\n    remoteParticipants[0] &&\n    ['Ringing', 'Connecting'].includes(remoteParticipants[0].state) &&\n    remoteParticipants.length === 1\n      ? remoteParticipants[0]\n      : undefined;\n\n  return inLobby\n    ? overlayPropsWaitingToBeAdmitted(strings)\n    : outboundCallParticipant\n      ? overlayPropsOutboundCall(strings, outboundCallParticipant)\n      : overlayPropsConnectingToCall(strings);\n};\n\nconst overlayPropsConnectingToCall = (strings: CallCompositeStrings): LobbyOverlayProps => ({\n  title: strings.lobbyScreenConnectingToCallTitle,\n  moreDetails: strings.lobbyScreenConnectingToCallMoreDetails,\n  overlayIcon: <CallCompositeIcon iconName=\"LobbyScreenConnectingToCall\" />\n});\n\nconst overlayPropsWaitingToBeAdmitted = (strings: CallCompositeStrings): LobbyOverlayProps => ({\n  title: strings.lobbyScreenWaitingToBeAdmittedTitle,\n  moreDetails: strings.lobbyScreenWaitingToBeAdmittedMoreDetails,\n  overlayIcon: <CallCompositeIcon iconName=\"LobbyScreenWaitingToBeAdmitted\" />\n});\n\nconst overlayPropsOutboundCall = (\n  strings: CallCompositeStrings,\n  participant: RemoteParticipantState\n): LobbyOverlayProps => {\n  if (isPhoneNumberIdentifier(participant.identifier)) {\n    return {\n      title: (participant.identifier as PhoneNumberIdentifier).phoneNumber,\n      moreDetails: strings.outboundCallingNoticeString\n    };\n  } else {\n    return {\n      title: strings.outboundCallingNoticeString ?? ''\n    };\n  }\n};\n"]}
         
     | 
    
        package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.d.ts
    CHANGED
    
    | 
         @@ -31,6 +31,10 @@ export declare const notificationsContainerStyles: IStackStyles; 
     | 
|
| 
       31 
31 
     | 
    
         
             
             * @private
         
     | 
| 
       32 
32 
     | 
    
         
             
             */
         
     | 
| 
       33 
33 
     | 
    
         
             
            export declare const bannerNotificationStyles: IStackStyles;
         
     | 
| 
      
 34 
     | 
    
         
            +
            /**
         
     | 
| 
      
 35 
     | 
    
         
            +
             * @private
         
     | 
| 
      
 36 
     | 
    
         
            +
             */
         
     | 
| 
      
 37 
     | 
    
         
            +
            export declare const notificationStackStyles: IStackStyles;
         
     | 
| 
       34 
38 
     | 
    
         
             
            /**
         
     | 
| 
       35 
39 
     | 
    
         
             
             * @private
         
     | 
| 
       36 
40 
     | 
    
         
             
             */
         
     | 
    
        package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js
    CHANGED
    
    | 
         @@ -70,6 +70,16 @@ export const bannerNotificationStyles = { 
     | 
|
| 
       70 
70 
     | 
    
         
             
                    pointerEvents: 'auto' // to allow the dismissal or error and warning bars in the notification container
         
     | 
| 
       71 
71 
     | 
    
         
             
                }
         
     | 
| 
       72 
72 
     | 
    
         
             
            };
         
     | 
| 
      
 73 
     | 
    
         
            +
            /**
         
     | 
| 
      
 74 
     | 
    
         
            +
             * @private
         
     | 
| 
      
 75 
     | 
    
         
            +
             */
         
     | 
| 
      
 76 
     | 
    
         
            +
            export const notificationStackStyles = {
         
     | 
| 
      
 77 
     | 
    
         
            +
                root: {
         
     | 
| 
      
 78 
     | 
    
         
            +
                    zIndex: NOTIFICATION_CONTAINER_Z_INDEX,
         
     | 
| 
      
 79 
     | 
    
         
            +
                    pointerEvents: 'auto', // to allow the dismissal or error and warning bars in the notification container,
         
     | 
| 
      
 80 
     | 
    
         
            +
                    marginBottom: '0.5rem'
         
     | 
| 
      
 81 
     | 
    
         
            +
                }
         
     | 
| 
      
 82 
     | 
    
         
            +
            };
         
     | 
| 
       73 
83 
     | 
    
         
             
            /**
         
     | 
| 
       74 
84 
     | 
    
         
             
             * @private
         
     | 
| 
       75 
85 
     | 
    
         
             
             */
         
     | 
    
        package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"CallPage.styles.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/styles/CallPage.styles.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAA0C,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,2HAA2H;AAC3H,eAAe;AACf,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,GAAG,CAAC,CAAC;AAC7D,6GAA6G;AAC7G,MAAM,8BAA8B,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;AAEhG,eAAe;AACf,MAAM,CAAC,MAAM,cAAc,GAAG,8BAA8B,GAAG,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CAAC,yBAAyB,EAAE;IAChF,MAAM,EAAE,mBAAmB;CAC5B,CAAC,CAAC;AAEH,MAAM,cAAc,GAAW;IAC7B,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,OAAO,CAAC,qDAAqD;CACzE,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,iCAC3C,cAAc,KACjB,QAAQ,EAAE,OAAO,IACjB,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,iCAC1C,cAAc,KACjB,QAAQ,EAAE,SAAS,IACnB,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,eAAuB,EAAgB,EAAE,CAAC,CAAC;IACtF,IAAI,EAAE;QACJ,MAAM,EAAE,qBAAqB;QAC7B,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,eAAe;KAC5B;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAqB;IAC3D,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;KACf;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAiB;IACxD,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,CAAC;QACP,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,8BAA8B;QACtC,aAAa,EAAE,MAAM,CAAC,2EAA2E;KAClG;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAiB;IACpD,IAAI,EAAE;QACJ,MAAM,EAAE,8BAA8B;QACtC,aAAa,EAAE,MAAM,CAAC,iFAAiF;KACxG;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,kBAA4B,EAAgB,EAAE;IAC3F,OAAO;QACL,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,sDAAsD;SACtH;KACF,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAqB;IACxD,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;KACf;CACF,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { IStackItemStyles, IStackStyles, IStyle, mergeStyles } from '@fluentui/react';\nimport { controlBarContainerStyles } from './CallControls.styles';\n\nconst VIDEO_GALLERY_Z_INDEX = 1;\n// The control bar must be in a higher z-band than the video gallery so the drop shadow appears on top of the video gallery\n/** @private */\nexport const CONTROL_BAR_Z_INDEX = VIDEO_GALLERY_Z_INDEX + 1;\n// The notification container should be in the highest z-band to ensure it shows on top of all other content.\nconst NOTIFICATION_CONTAINER_Z_INDEX = Math.max(CONTROL_BAR_Z_INDEX, VIDEO_GALLERY_Z_INDEX) + 1;\n\n/** @private */\nexport const DRAWER_Z_INDEX = NOTIFICATION_CONTAINER_Z_INDEX + 1;\n\n/**\n * @private\n */\nexport const callControlsContainerStyles = mergeStyles(controlBarContainerStyles, {\n  zIndex: CONTROL_BAR_Z_INDEX\n});\n\nconst containerStyle: IStyle = {\n  width: '100%',\n  position: 'relative',\n  minHeight: '13rem' // linked to minimum space allocated to media gallery\n};\n\n/**\n * @private\n */\nexport const containerStyleDesktop = mergeStyles({\n  ...containerStyle,\n  minWidth: '30rem'\n});\n\n/**\n * @private\n */\nexport const containerStyleMobile = mergeStyles({\n  ...containerStyle,\n  minWidth: '17.5rem'\n});\n\n/**\n * @private\n */\nexport const galleryParentContainerStyles = (backgroundColor: string): IStackStyles => ({\n  root: {\n    zIndex: VIDEO_GALLERY_Z_INDEX,\n    width: '100%',\n    background: backgroundColor\n  }\n});\n\n/**\n * @private\n */\nexport const mediaGalleryContainerStyles: IStackItemStyles = {\n  root: {\n    height: '100%'\n  }\n};\n\n/**\n * @private\n */\nexport const notificationsContainerStyles: IStackStyles = {\n  root: {\n    width: '100%',\n    position: 'absolute',\n    top: 0,\n    left: 0,\n    padding: '1rem',\n    zIndex: NOTIFICATION_CONTAINER_Z_INDEX,\n    pointerEvents: 'none' // to allow the operation of controls underneath the notification container\n  }\n};\n\n/**\n * @private\n */\nexport const bannerNotificationStyles: IStackStyles = {\n  root: {\n    zIndex: NOTIFICATION_CONTAINER_Z_INDEX,\n    pointerEvents: 'auto' // to allow the dismissal or error and warning bars in the notification container\n  }\n};\n\n/**\n * @private\n */\nexport const callArrangementContainerStyles = (verticalControlBar?: boolean): IStackStyles => {\n  return {\n    root: {\n      width: '100%',\n      height: '100%',\n      flexDirection: verticalControlBar ? 'unset' : 'column-reverse' // to allow first initial keyboard focus on ControlBar\n    }\n  };\n};\n\n/**\n * @private\n */\nexport const verticalControlBarStyles: IStackItemStyles = {\n  root: {\n    margin: 'auto'\n  }\n};\n"]}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"CallPage.styles.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/styles/CallPage.styles.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAA0C,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,2HAA2H;AAC3H,eAAe;AACf,MAAM,CAAC,MAAM,mBAAmB,GAAG,qBAAqB,GAAG,CAAC,CAAC;AAC7D,6GAA6G;AAC7G,MAAM,8BAA8B,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,GAAG,CAAC,CAAC;AAEhG,eAAe;AACf,MAAM,CAAC,MAAM,cAAc,GAAG,8BAA8B,GAAG,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CAAC,yBAAyB,EAAE;IAChF,MAAM,EAAE,mBAAmB;CAC5B,CAAC,CAAC;AAEH,MAAM,cAAc,GAAW;IAC7B,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,OAAO,CAAC,qDAAqD;CACzE,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,iCAC3C,cAAc,KACjB,QAAQ,EAAE,OAAO,IACjB,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,iCAC1C,cAAc,KACjB,QAAQ,EAAE,SAAS,IACnB,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,eAAuB,EAAgB,EAAE,CAAC,CAAC;IACtF,IAAI,EAAE;QACJ,MAAM,EAAE,qBAAqB;QAC7B,KAAK,EAAE,MAAM;QACb,UAAU,EAAE,eAAe;KAC5B;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAqB;IAC3D,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;KACf;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAiB;IACxD,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,CAAC;QACN,IAAI,EAAE,CAAC;QACP,OAAO,EAAE,MAAM;QACf,MAAM,EAAE,8BAA8B;QACtC,aAAa,EAAE,MAAM,CAAC,2EAA2E;KAClG;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAiB;IACpD,IAAI,EAAE;QACJ,MAAM,EAAE,8BAA8B;QACtC,aAAa,EAAE,MAAM,CAAC,iFAAiF;KACxG;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAiB;IACnD,IAAI,EAAE;QACJ,MAAM,EAAE,8BAA8B;QACtC,aAAa,EAAE,MAAM,EAAE,kFAAkF;QACzG,YAAY,EAAE,QAAQ;KACvB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,kBAA4B,EAAgB,EAAE;IAC3F,OAAO;QACL,IAAI,EAAE;YACJ,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,aAAa,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,sDAAsD;SACtH;KACF,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAqB;IACxD,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;KACf;CACF,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { IStackItemStyles, IStackStyles, IStyle, mergeStyles } from '@fluentui/react';\nimport { controlBarContainerStyles } from './CallControls.styles';\n\nconst VIDEO_GALLERY_Z_INDEX = 1;\n// The control bar must be in a higher z-band than the video gallery so the drop shadow appears on top of the video gallery\n/** @private */\nexport const CONTROL_BAR_Z_INDEX = VIDEO_GALLERY_Z_INDEX + 1;\n// The notification container should be in the highest z-band to ensure it shows on top of all other content.\nconst NOTIFICATION_CONTAINER_Z_INDEX = Math.max(CONTROL_BAR_Z_INDEX, VIDEO_GALLERY_Z_INDEX) + 1;\n\n/** @private */\nexport const DRAWER_Z_INDEX = NOTIFICATION_CONTAINER_Z_INDEX + 1;\n\n/**\n * @private\n */\nexport const callControlsContainerStyles = mergeStyles(controlBarContainerStyles, {\n  zIndex: CONTROL_BAR_Z_INDEX\n});\n\nconst containerStyle: IStyle = {\n  width: '100%',\n  position: 'relative',\n  minHeight: '13rem' // linked to minimum space allocated to media gallery\n};\n\n/**\n * @private\n */\nexport const containerStyleDesktop = mergeStyles({\n  ...containerStyle,\n  minWidth: '30rem'\n});\n\n/**\n * @private\n */\nexport const containerStyleMobile = mergeStyles({\n  ...containerStyle,\n  minWidth: '17.5rem'\n});\n\n/**\n * @private\n */\nexport const galleryParentContainerStyles = (backgroundColor: string): IStackStyles => ({\n  root: {\n    zIndex: VIDEO_GALLERY_Z_INDEX,\n    width: '100%',\n    background: backgroundColor\n  }\n});\n\n/**\n * @private\n */\nexport const mediaGalleryContainerStyles: IStackItemStyles = {\n  root: {\n    height: '100%'\n  }\n};\n\n/**\n * @private\n */\nexport const notificationsContainerStyles: IStackStyles = {\n  root: {\n    width: '100%',\n    position: 'absolute',\n    top: 0,\n    left: 0,\n    padding: '1rem',\n    zIndex: NOTIFICATION_CONTAINER_Z_INDEX,\n    pointerEvents: 'none' // to allow the operation of controls underneath the notification container\n  }\n};\n\n/**\n * @private\n */\nexport const bannerNotificationStyles: IStackStyles = {\n  root: {\n    zIndex: NOTIFICATION_CONTAINER_Z_INDEX,\n    pointerEvents: 'auto' // to allow the dismissal or error and warning bars in the notification container\n  }\n};\n\n/**\n * @private\n */\nexport const notificationStackStyles: IStackStyles = {\n  root: {\n    zIndex: NOTIFICATION_CONTAINER_Z_INDEX,\n    pointerEvents: 'auto', // to allow the dismissal or error and warning bars in the notification container,\n    marginBottom: '0.5rem'\n  }\n};\n\n/**\n * @private\n */\nexport const callArrangementContainerStyles = (verticalControlBar?: boolean): IStackStyles => {\n  return {\n    root: {\n      width: '100%',\n      height: '100%',\n      flexDirection: verticalControlBar ? 'unset' : 'column-reverse' // to allow first initial keyboard focus on ControlBar\n    }\n  };\n};\n\n/**\n * @private\n */\nexport const verticalControlBarStyles: IStackItemStyles = {\n  root: {\n    margin: 'auto'\n  }\n};\n"]}
         
     | 
    
        package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.d.ts
    CHANGED
    
    | 
         @@ -1,9 +1,13 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            import { NotificationType } from "../../../../../react-components/src";
         
     | 
| 
       1 
2 
     | 
    
         
             
            import { ErrorType } from "../../../../../react-components/src";
         
     | 
| 
       2 
3 
     | 
    
         
             
            /** @private */
         
     | 
| 
       3 
     | 
    
         
            -
            export interface  
     | 
| 
      
 4 
     | 
    
         
            +
            export interface NotificationTrackingInfo {
         
     | 
| 
       4 
5 
     | 
    
         
             
                mostRecentlyActive: Date;
         
     | 
| 
       5 
6 
     | 
    
         
             
                lastDismissedAt?: Date;
         
     | 
| 
       6 
7 
     | 
    
         
             
            }
         
     | 
| 
       7 
8 
     | 
    
         
             
            /** @private */
         
     | 
| 
       8 
     | 
    
         
            -
             
     | 
| 
      
 9 
     | 
    
         
            +
            type NotificationTypes = ErrorType | /* @conditional-compile-remove(notifications) */ NotificationType;
         
     | 
| 
      
 10 
     | 
    
         
            +
            /** @private */
         
     | 
| 
      
 11 
     | 
    
         
            +
            export type TrackedNotifications = Partial<Record<NotificationTypes, NotificationTrackingInfo>>;
         
     | 
| 
      
 12 
     | 
    
         
            +
            export {};
         
     | 
| 
       9 
13 
     | 
    
         
             
            //# sourceMappingURL=ErrorTracking.d.ts.map
         
     | 
    
        package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"ErrorTracking.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/types/ErrorTracking.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ErrorType } from '@internal/react-components';\n\n/** @private */\nexport interface  
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"ErrorTracking.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/types/ErrorTracking.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* @conditional-compile-remove(notifications) */\nimport { NotificationType } from '@internal/react-components';\nimport { ErrorType } from '@internal/react-components';\n\n/** @private */\nexport interface NotificationTrackingInfo {\n  mostRecentlyActive: Date;\n  lastDismissedAt?: Date;\n}\n\n/** @private */\ntype NotificationTypes = ErrorType | /* @conditional-compile-remove(notifications) */ NotificationType;\n\n/** @private */\nexport type TrackedNotifications = Partial<Record<NotificationTypes, NotificationTrackingInfo>>;\n"]}
         
     |