@azure/communication-react 1.14.0-alpha-202403090011 → 1.14.0-alpha-202403130012

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/communication-react.d.ts +1 -1
  2. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-DXy3ttBO.js → RichTextSendBoxWrapper-Be7pr6o4.js} +2 -2
  3. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-DXy3ttBO.js.map → RichTextSendBoxWrapper-Be7pr6o4.js.map} +1 -1
  4. package/dist/dist-cjs/communication-react/{index-DNgYW17b.js → index-C3IKJHX1.js} +93 -108
  5. package/dist/dist-cjs/communication-react/index-C3IKJHX1.js.map +1 -0
  6. package/dist/dist-cjs/communication-react/index.js +1 -1
  7. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  9. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +5 -0
  10. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  11. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +1 -1
  12. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  13. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.d.ts +3 -2
  14. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js +9 -2
  15. package/dist/dist-esm/calling-stateful-client/src/PPTLiveSubscriber.js.map +1 -1
  16. package/dist/dist-esm/chat-stateful-client/src/ChatContext.d.ts +1 -1
  17. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js +4 -3
  18. package/dist/dist-esm/chat-stateful-client/src/ChatContext.js.map +1 -1
  19. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.d.ts +13 -3
  20. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js +17 -18
  21. package/dist/dist-esm/chat-stateful-client/src/ResourceDownloadQueue.js.map +1 -1
  22. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js +2 -1
  23. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  24. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.d.ts +1 -1
  25. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +2 -2
  26. package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
  27. package/dist/dist-esm/react-components/src/components/InputBoxButton.d.ts +1 -0
  28. package/dist/dist-esm/react-components/src/components/InputBoxButton.js +2 -2
  29. package/dist/dist-esm/react-components/src/components/InputBoxButton.js.map +1 -1
  30. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +3 -3
  31. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -1
  32. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +1 -1
  33. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -1
  34. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js +1 -1
  35. package/dist/dist-esm/react-components/src/components/SendBoxErrorBar.js.map +1 -1
  36. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.d.ts +1 -0
  37. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js +7 -1
  38. package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.js.map +1 -1
  39. package/dist/dist-esm/react-components/src/components/VideoGallery.js +4 -2
  40. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  41. package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
  42. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +0 -2
  43. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  44. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  45. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +2 -10
  46. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  47. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js +1 -12
  48. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Microphone.js.map +1 -1
  49. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +0 -1
  50. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  51. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +1 -22
  52. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  53. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js +0 -1
  54. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.js.map +1 -1
  55. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +0 -2
  56. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
  57. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +0 -2
  58. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  59. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  60. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +0 -1
  61. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  62. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +28 -10
  63. package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
  64. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +2 -9
  65. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
  66. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +0 -8
  67. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  68. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js +0 -7
  69. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DtmfDialerButton.js.map +1 -1
  70. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +0 -8
  71. package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
  72. package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
  73. package/dist/dist-esm/react-composites/src/composites/common/icons.js +0 -2
  74. package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
  75. package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
  76. package/package.json +1 -1
  77. package/dist/dist-cjs/communication-react/index-DNgYW17b.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useHandlers.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/hooks/useHandlers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CommonCallingHandlers } from '@internal/calling-component-bindings';\n/* @conditional-compile-remove(spotlight) */\nimport { _ComponentCallingHandlers } from '@internal/calling-component-bindings';\nimport { CommonProperties, toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { ReactElement } from 'react';\nimport memoizeOne from 'memoize-one';\nimport { CommonCallAdapter } from '..';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundBlurEffect, VideoBackgroundReplacementEffect } from '..';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { isCameraOn } from '../utils';\n/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(dtmf-dialer) */\nimport { DtmfTone } from '@azure/communication-calling';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { AddPhoneNumberOptions } from '@azure/communication-calling';\n/* @conditional-compile-remove(reaction) */\nimport { Reaction } from '@azure/communication-calling';\n/* @conditional-compile-remove(video-background-effects) */\nimport type { BackgroundReplacementConfig, BackgroundBlurConfig } from '@azure/communication-calling';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { CallSurvey, CallSurveyResponse } from '@azure/communication-calling';\n/* @conditional-compile-remove(PSTN-calls) */\nimport {\n CommunicationIdentifier,\n CommunicationUserIdentifier,\n PhoneNumberIdentifier\n} from '@azure/communication-common';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { _toCommunicationIdentifier } from '@internal/acs-ui-common';\n\n/**\n * @private\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type\nexport const useHandlers = <PropsT>(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _component: (props: PropsT) => ReactElement | null\n): Pick<CommonCallingHandlers, CommonProperties<CommonCallingHandlers, PropsT>> &\n /* @conditional-compile-remove(spotlight) */ Partial<_ComponentCallingHandlers> => {\n const adapter = useAdapter();\n const compositeHandlers = createCompositeHandlers(adapter);\n /* @conditional-compile-remove(spotlight) */\n const canSpotlight = adapter.getState().call?.capabilitiesFeature?.capabilities.spotlightParticipant.isPresent;\n /* @conditional-compile-remove(spotlight) */\n return {\n ...compositeHandlers,\n ...(canSpotlight\n ? {}\n : { onStartLocalSpotlight: undefined, onStartRemoteSpotlight: undefined, onStopRemoteSpotlight: undefined })\n };\n return compositeHandlers;\n};\n\nconst createCompositeHandlers = memoizeOne(\n (\n adapter: CommonCallAdapter\n ): CommonCallingHandlers & /* @conditional-compile-remove(spotlight) */ Partial<_ComponentCallingHandlers> => {\n return {\n onCreateLocalStreamView: async (options) => {\n return await adapter.createStreamView(undefined, options);\n },\n onCreateRemoteStreamView: async (userId, options) => {\n return await adapter.createStreamView(userId, options);\n },\n onHangUp: async (forEveryone?: boolean) => {\n await adapter.leaveCall(forEveryone);\n },\n /* @conditional-compile-remove(PSTN-calls) */\n onToggleHold: async () => {\n return adapter.getState().call?.state === 'LocalHold' ? await adapter.resumeCall() : await adapter.holdCall();\n },\n /* @conditional-compile-remove(PSTN-calls) */\n onAddParticipant: async (\n participant: Partial<CommunicationUserIdentifier & PhoneNumberIdentifier>,\n options?: AddPhoneNumberOptions\n ) => {\n if ('communicationUserId' in participant) {\n return await adapter.addParticipant(participant as CommunicationUserIdentifier);\n } else if ('phoneNumber' in participant) {\n return await adapter.addParticipant(participant as PhoneNumberIdentifier, options);\n }\n },\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(dtmf-dialer) */\n onSendDtmfTone: async (dtmfTone: DtmfTone) => {\n await adapter.sendDtmfTone(dtmfTone);\n },\n onRemoveParticipant: async (\n userId: string | /* @conditional-compile-remove(PSTN-calls) */ CommunicationIdentifier\n ) => {\n if (typeof userId === 'string') {\n await adapter.removeParticipant(userId);\n } else {\n /* @conditional-compile-remove(PSTN-calls) */\n await adapter.removeParticipant(_toCommunicationIdentifier(userId));\n }\n },\n /* @conditional-compile-remove(raise-hand) */\n onRaiseHand: async () => {\n await adapter.raiseHand();\n },\n /* @conditional-compile-remove(raise-hand) */\n onLowerHand: async () => {\n await adapter.lowerHand();\n },\n /* @conditional-compile-remove(raise-hand) */\n onToggleRaiseHand: async () => {\n adapter.getState().call?.raiseHand.localParticipantRaisedHand\n ? await adapter.lowerHand()\n : await adapter.raiseHand();\n },\n /* @conditional-compile-remove(reaction) */\n onReactionClick: async (reaction: Reaction) => {\n await adapter.onReactionClick(reaction);\n },\n onSelectCamera: async (deviceInfo, options) => {\n await adapter.setCamera(deviceInfo, options);\n },\n onSelectMicrophone: async (deviceInfo) => {\n await adapter.setMicrophone(deviceInfo);\n },\n onSelectSpeaker: async (deviceInfo) => {\n await adapter.setSpeaker(deviceInfo);\n },\n onStartCall: (participants, options?) => {\n const rawIds = participants.map((participant) => toFlatCommunicationIdentifier(participant));\n return adapter.startCall(rawIds, options);\n },\n onStartScreenShare: async () => {\n await adapter.startScreenShare();\n },\n onStopScreenShare: async () => {\n await adapter.stopScreenShare();\n },\n onToggleCamera: async (options) => {\n isCameraOn(adapter.getState()) ? await adapter.stopCamera() : await adapter.startCamera(options);\n },\n onToggleMicrophone: async () => {\n return adapter.getState().call?.isMuted ? await adapter.unmute() : await adapter.mute();\n },\n onToggleScreenShare: async () => {\n return adapter.getState().call?.isScreenSharingOn\n ? await adapter.stopScreenShare()\n : await adapter.startScreenShare();\n },\n onStartLocalVideo: async () => {\n if (adapter.getState().call) {\n return adapter.startCamera();\n }\n },\n onDisposeLocalStreamView: async () => {\n return adapter.disposeLocalVideoStreamView();\n },\n onDisposeRemoteStreamView: async (userId) => {\n return adapter.disposeStreamView(userId);\n },\n onDisposeRemoteScreenShareStreamView: async (userId) => {\n return adapter.disposeScreenShareStreamView(userId);\n },\n onDisposeRemoteVideoStreamView: async (userId) => {\n return adapter.disposeRemoteVideoStreamView(userId);\n },\n /* @conditional-compile-remove(call-readiness) */\n askDevicePermission: async (constrain) => {\n return adapter.askDevicePermission(constrain);\n },\n /* @conditional-compile-remove(video-background-effects) */\n onRemoveVideoBackgroundEffects: async () => {\n return await adapter.stopVideoBackgroundEffects();\n },\n /* @conditional-compile-remove(video-background-effects) */\n onBlurVideoBackground: async (backgroundBlurConfig?: BackgroundBlurConfig) => {\n const blurConfig: VideoBackgroundBlurEffect = {\n effectName: 'blur',\n ...backgroundBlurConfig\n };\n return await adapter.startVideoBackgroundEffect(blurConfig);\n },\n /* @conditional-compile-remove(video-background-effects) */\n onReplaceVideoBackground: async (backgroundReplacementConfig: BackgroundReplacementConfig) => {\n const replacementConfig: VideoBackgroundReplacementEffect = {\n effectName: 'replacement',\n ...backgroundReplacementConfig\n };\n return await adapter.startVideoBackgroundEffect(replacementConfig);\n },\n /* @conditional-compile-remove(close-captions) */\n onStartCaptions: async (options) => {\n await adapter.startCaptions(options);\n },\n /* @conditional-compile-remove(close-captions) */\n onStopCaptions: async () => {\n await adapter.stopCaptions();\n },\n /* @conditional-compile-remove(close-captions) */\n onSetSpokenLanguage: async (language) => {\n await adapter.setSpokenLanguage(language);\n },\n /* @conditional-compile-remove(close-captions) */\n onSetCaptionLanguage: async (language) => {\n await adapter.setCaptionLanguage(language);\n },\n /* @conditional-compile-remove(end-of-call-survey) */\n onSubmitSurvey: async (survey: CallSurvey): Promise<CallSurveyResponse | undefined> => {\n return await adapter.submitSurvey(survey);\n },\n /* @conditional-compile-remove(spotlight) */\n onStartSpotlight: async (userIds?: string[]): Promise<void> => {\n await adapter.startSpotlight(userIds);\n },\n /* @conditional-compile-remove(spotlight) */\n onStopSpotlight: async (userIds?: string[]): Promise<void> => {\n await adapter.stopSpotlight(userIds);\n },\n /* @conditional-compile-remove(spotlight) */\n onStopAllSpotlight: async (): Promise<void> => {\n await adapter.stopAllSpotlight();\n },\n /* @conditional-compile-remove(spotlight) */\n onStartLocalSpotlight: async (): Promise<void> => {\n await adapter.startSpotlight();\n },\n /* @conditional-compile-remove(spotlight) */\n onStopLocalSpotlight: async (): Promise<void> => {\n await adapter.stopSpotlight();\n },\n /* @conditional-compile-remove(spotlight) */\n onStartRemoteSpotlight: async (userIds?: string[]): Promise<void> => {\n await adapter.startSpotlight(userIds);\n },\n /* @conditional-compile-remove(spotlight) */\n onStopRemoteSpotlight: async (userIds?: string[]): Promise<void> => {\n await adapter.stopSpotlight(userIds);\n }\n };\n }\n);\n"]}
1
+ {"version":3,"file":"useHandlers.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/hooks/useHandlers.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CommonCallingHandlers } from '@internal/calling-component-bindings';\n/* @conditional-compile-remove(spotlight) */\nimport { _ComponentCallingHandlers } from '@internal/calling-component-bindings';\nimport { CommonProperties, toFlatCommunicationIdentifier } from '@internal/acs-ui-common';\nimport { ReactElement } from 'react';\nimport memoizeOne from 'memoize-one';\nimport { CommonCallAdapter } from '..';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundBlurEffect, VideoBackgroundReplacementEffect } from '..';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { isCameraOn } from '../utils';\nimport { DtmfTone } from '@azure/communication-calling';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { AddPhoneNumberOptions } from '@azure/communication-calling';\n/* @conditional-compile-remove(reaction) */\nimport { Reaction } from '@azure/communication-calling';\n/* @conditional-compile-remove(video-background-effects) */\nimport type { BackgroundReplacementConfig, BackgroundBlurConfig } from '@azure/communication-calling';\n/* @conditional-compile-remove(end-of-call-survey) */\nimport { CallSurvey, CallSurveyResponse } from '@azure/communication-calling';\n/* @conditional-compile-remove(PSTN-calls) */\nimport {\n CommunicationIdentifier,\n CommunicationUserIdentifier,\n PhoneNumberIdentifier\n} from '@azure/communication-common';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { _toCommunicationIdentifier } from '@internal/acs-ui-common';\n\n/**\n * @private\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/explicit-function-return-type\nexport const useHandlers = <PropsT>(\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n _component: (props: PropsT) => ReactElement | null\n): Pick<CommonCallingHandlers, CommonProperties<CommonCallingHandlers, PropsT>> &\n /* @conditional-compile-remove(spotlight) */ Partial<_ComponentCallingHandlers> => {\n const adapter = useAdapter();\n const compositeHandlers = createCompositeHandlers(adapter);\n /* @conditional-compile-remove(spotlight) */\n const canSpotlight = adapter.getState().call?.capabilitiesFeature?.capabilities.spotlightParticipant.isPresent;\n /* @conditional-compile-remove(spotlight) */\n return {\n ...compositeHandlers,\n ...(canSpotlight\n ? {}\n : { onStartLocalSpotlight: undefined, onStartRemoteSpotlight: undefined, onStopRemoteSpotlight: undefined })\n };\n return compositeHandlers;\n};\n\nconst createCompositeHandlers = memoizeOne(\n (\n adapter: CommonCallAdapter\n ): CommonCallingHandlers & /* @conditional-compile-remove(spotlight) */ Partial<_ComponentCallingHandlers> => {\n return {\n onCreateLocalStreamView: async (options) => {\n return await adapter.createStreamView(undefined, options);\n },\n onCreateRemoteStreamView: async (userId, options) => {\n return await adapter.createStreamView(userId, options);\n },\n onHangUp: async (forEveryone?: boolean) => {\n await adapter.leaveCall(forEveryone);\n },\n /* @conditional-compile-remove(PSTN-calls) */\n onToggleHold: async () => {\n return adapter.getState().call?.state === 'LocalHold' ? await adapter.resumeCall() : await adapter.holdCall();\n },\n /* @conditional-compile-remove(PSTN-calls) */\n onAddParticipant: async (\n participant: Partial<CommunicationUserIdentifier & PhoneNumberIdentifier>,\n options?: AddPhoneNumberOptions\n ) => {\n if ('communicationUserId' in participant) {\n return await adapter.addParticipant(participant as CommunicationUserIdentifier);\n } else if ('phoneNumber' in participant) {\n return await adapter.addParticipant(participant as PhoneNumberIdentifier, options);\n }\n },\n onSendDtmfTone: async (dtmfTone: DtmfTone) => {\n await adapter.sendDtmfTone(dtmfTone);\n },\n onRemoveParticipant: async (\n userId: string | /* @conditional-compile-remove(PSTN-calls) */ CommunicationIdentifier\n ) => {\n if (typeof userId === 'string') {\n await adapter.removeParticipant(userId);\n } else {\n /* @conditional-compile-remove(PSTN-calls) */\n await adapter.removeParticipant(_toCommunicationIdentifier(userId));\n }\n },\n /* @conditional-compile-remove(raise-hand) */\n onRaiseHand: async () => {\n await adapter.raiseHand();\n },\n /* @conditional-compile-remove(raise-hand) */\n onLowerHand: async () => {\n await adapter.lowerHand();\n },\n /* @conditional-compile-remove(raise-hand) */\n onToggleRaiseHand: async () => {\n adapter.getState().call?.raiseHand.localParticipantRaisedHand\n ? await adapter.lowerHand()\n : await adapter.raiseHand();\n },\n /* @conditional-compile-remove(reaction) */\n onReactionClick: async (reaction: Reaction) => {\n await adapter.onReactionClick(reaction);\n },\n onSelectCamera: async (deviceInfo, options) => {\n await adapter.setCamera(deviceInfo, options);\n },\n onSelectMicrophone: async (deviceInfo) => {\n await adapter.setMicrophone(deviceInfo);\n },\n onSelectSpeaker: async (deviceInfo) => {\n await adapter.setSpeaker(deviceInfo);\n },\n onStartCall: (participants, options?) => {\n const rawIds = participants.map((participant) => toFlatCommunicationIdentifier(participant));\n return adapter.startCall(rawIds, options);\n },\n onStartScreenShare: async () => {\n await adapter.startScreenShare();\n },\n onStopScreenShare: async () => {\n await adapter.stopScreenShare();\n },\n onToggleCamera: async (options) => {\n isCameraOn(adapter.getState()) ? await adapter.stopCamera() : await adapter.startCamera(options);\n },\n onToggleMicrophone: async () => {\n return adapter.getState().call?.isMuted ? await adapter.unmute() : await adapter.mute();\n },\n onToggleScreenShare: async () => {\n return adapter.getState().call?.isScreenSharingOn\n ? await adapter.stopScreenShare()\n : await adapter.startScreenShare();\n },\n onStartLocalVideo: async () => {\n if (adapter.getState().call) {\n return adapter.startCamera();\n }\n },\n onDisposeLocalStreamView: async () => {\n return adapter.disposeLocalVideoStreamView();\n },\n onDisposeRemoteStreamView: async (userId) => {\n return adapter.disposeStreamView(userId);\n },\n onDisposeRemoteScreenShareStreamView: async (userId) => {\n return adapter.disposeScreenShareStreamView(userId);\n },\n onDisposeRemoteVideoStreamView: async (userId) => {\n return adapter.disposeRemoteVideoStreamView(userId);\n },\n /* @conditional-compile-remove(call-readiness) */\n askDevicePermission: async (constrain) => {\n return adapter.askDevicePermission(constrain);\n },\n /* @conditional-compile-remove(video-background-effects) */\n onRemoveVideoBackgroundEffects: async () => {\n return await adapter.stopVideoBackgroundEffects();\n },\n /* @conditional-compile-remove(video-background-effects) */\n onBlurVideoBackground: async (backgroundBlurConfig?: BackgroundBlurConfig) => {\n const blurConfig: VideoBackgroundBlurEffect = {\n effectName: 'blur',\n ...backgroundBlurConfig\n };\n return await adapter.startVideoBackgroundEffect(blurConfig);\n },\n /* @conditional-compile-remove(video-background-effects) */\n onReplaceVideoBackground: async (backgroundReplacementConfig: BackgroundReplacementConfig) => {\n const replacementConfig: VideoBackgroundReplacementEffect = {\n effectName: 'replacement',\n ...backgroundReplacementConfig\n };\n return await adapter.startVideoBackgroundEffect(replacementConfig);\n },\n /* @conditional-compile-remove(close-captions) */\n onStartCaptions: async (options) => {\n await adapter.startCaptions(options);\n },\n /* @conditional-compile-remove(close-captions) */\n onStopCaptions: async () => {\n await adapter.stopCaptions();\n },\n /* @conditional-compile-remove(close-captions) */\n onSetSpokenLanguage: async (language) => {\n await adapter.setSpokenLanguage(language);\n },\n /* @conditional-compile-remove(close-captions) */\n onSetCaptionLanguage: async (language) => {\n await adapter.setCaptionLanguage(language);\n },\n /* @conditional-compile-remove(end-of-call-survey) */\n onSubmitSurvey: async (survey: CallSurvey): Promise<CallSurveyResponse | undefined> => {\n return await adapter.submitSurvey(survey);\n },\n /* @conditional-compile-remove(spotlight) */\n onStartSpotlight: async (userIds?: string[]): Promise<void> => {\n await adapter.startSpotlight(userIds);\n },\n /* @conditional-compile-remove(spotlight) */\n onStopSpotlight: async (userIds?: string[]): Promise<void> => {\n await adapter.stopSpotlight(userIds);\n },\n /* @conditional-compile-remove(spotlight) */\n onStopAllSpotlight: async (): Promise<void> => {\n await adapter.stopAllSpotlight();\n },\n /* @conditional-compile-remove(spotlight) */\n onStartLocalSpotlight: async (): Promise<void> => {\n await adapter.startSpotlight();\n },\n /* @conditional-compile-remove(spotlight) */\n onStopLocalSpotlight: async (): Promise<void> => {\n await adapter.stopSpotlight();\n },\n /* @conditional-compile-remove(spotlight) */\n onStartRemoteSpotlight: async (userIds?: string[]): Promise<void> => {\n await adapter.startSpotlight(userIds);\n },\n /* @conditional-compile-remove(spotlight) */\n onStopRemoteSpotlight: async (userIds?: string[]): Promise<void> => {\n await adapter.stopSpotlight(userIds);\n }\n };\n }\n);\n"]}
@@ -5,7 +5,6 @@ import { useId } from '@fluentui/react-hooks';
5
5
  import { _isInCall } from "../../../../../calling-component-bindings/src";
6
6
  import { ErrorBar } from "../../../../../react-components/src";
7
7
  import React from 'react';
8
- /* @conditional-compile-remove(dtmf-dialer) */ /* @conditional-compile-remove(spotlight) */
9
8
  import { useState } from 'react';
10
9
  import { useLocale } from '../../localization';
11
10
  import { CallArrangement } from '../components/CallArrangement';
@@ -17,16 +16,12 @@ import { useSelector } from '../hooks/useSelector';
17
16
  import { callStatusSelector } from '../selectors/callStatusSelector';
18
17
  import { complianceBannerSelector } from '../selectors/complianceBannerSelector';
19
18
  import { mediaGallerySelector } from '../selectors/mediaGallerySelector';
20
- /* @conditional-compile-remove(dtmf-dialer) */
21
19
  import { getRemoteParticipantsConnectedSelector } from '../selectors/mediaGallerySelector';
22
20
  import { mutedNotificationSelector } from '../selectors/mutedNotificationSelector';
23
21
  import { networkReconnectTileSelector } from '../selectors/networkReconnectTileSelector';
24
22
  import { reduceCallControlsForMobile } from '../utils';
25
- /* @conditional-compile-remove(dtmf-dialer) */
26
23
  import { DtmfDialpadPage } from './DtmfDialpadPage';
27
- /* @conditional-compile-remove(dtmf-dialer) */
28
24
  import { showDtmfDialer } from '../utils/MediaGalleryUtils';
29
- /* @conditional-compile-remove(dtmf-dialer) */
30
25
  import { getTargetCallees } from '../selectors/baseSelectors';
31
26
  /* @conditional-compile-remove(spotlight) */
32
27
  import { Prompt } from '../components/Prompt';
@@ -45,13 +40,9 @@ export const CallPage = (props) => {
45
40
  const errorBarProps = usePropsFor(ErrorBar);
46
41
  const mutedNotificationProps = useSelector(mutedNotificationSelector);
47
42
  const networkReconnectTileProps = useSelector(networkReconnectTileSelector);
48
- /* @conditional-compile-remove(dtmf-dialer) */
49
43
  const remoteParticipantsConnected = useSelector(getRemoteParticipantsConnectedSelector);
50
- /* @conditional-compile-remove(dtmf-dialer) */
51
44
  const callees = useSelector(getTargetCallees);
52
- /* @conditional-compile-remove(dtmf-dialer) */
53
45
  const renderDtmfDialerFromStart = showDtmfDialer(callees, remoteParticipantsConnected);
54
- /* @conditional-compile-remove(dtmf-dialer) */
55
46
  const [dtmfDialerPresent, setDtmfDialerPresent] = useState(renderDtmfDialerFromStart);
56
47
  const strings = useLocale().strings.call;
57
48
  // Reduce the controls shown when mobile view is enabled.
@@ -63,7 +54,6 @@ export const CallPage = (props) => {
63
54
  const [promptProps, setPromptProps] = useState();
64
55
  const onRenderGalleryContentTrampoline = () => {
65
56
  var _a;
66
- /* @conditional-compile-remove(dtmf-dialer) */
67
57
  if (dtmfDialerPresent) {
68
58
  return (React.createElement(DtmfDialpadPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError,
69
59
  /* @conditional-compile-remove(capabilities) */
@@ -80,13 +70,6 @@ export const CallPage = (props) => {
80
70
  /* @conditional-compile-remove(spotlight) */
81
71
  hideSpotlightButtons: (_a = options === null || options === void 0 ? void 0 : options.spotlight) === null || _a === void 0 ? void 0 : _a.hideSpotlightButtons })));
82
72
  }
83
- return (React.createElement(MediaGallery, Object.assign({ isMobile: mobileView }, mediaGalleryProps, mediaGalleryHandlers, { onFetchAvatarPersonaData: onFetchAvatarPersonaData, remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenuOptions, drawerMenuHostId: drawerMenuHostId,
84
- /* @conditional-compile-remove(click-to-call) */
85
- localVideoTileOptions: options === null || options === void 0 ? void 0 : options.localVideoTile, userSetOverflowGalleryPosition: userSetOverflowGalleryPosition, userSetGalleryLayout: galleryLayout,
86
- /* @conditional-compile-remove(spotlight) */
87
- setIsPromptOpen: setIsPromptOpen,
88
- /* @conditional-compile-remove(spotlight) */
89
- setPromptProps: setPromptProps })));
90
73
  };
91
74
  return (React.createElement(React.Fragment, null,
92
75
  React.createElement(CallArrangement, { id: drawerMenuHostId, complianceBannerProps: Object.assign(Object.assign({}, complianceBannerProps), { strings }), errorBarProps: (options === null || options === void 0 ? void 0 : options.errorBar) !== false && errorBarProps, mutedNotificationProps: mutedNotificationProps, callControlProps: {
@@ -98,11 +81,7 @@ export const CallPage = (props) => {
98
81
  /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */
99
82
  onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (onRenderGalleryContentTrampoline()) : (React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps)))) : (React.createElement(React.Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors, onDismissError: props.onDismissError, onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition, onUserSetGalleryLayoutChange: onUserSetGalleryLayoutChange, userSetGalleryLayout: galleryLayout,
100
83
  /* @conditional-compile-remove(capabilities) */
101
- capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps,
102
- /* @conditional-compile-remove(dtmf-dialer) */
103
- onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent),
104
- /* @conditional-compile-remove(dtmf-dialer) */
105
- dtmfDialerPresent: dtmfDialerPresent,
84
+ capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent,
106
85
  /* @conditional-compile-remove(spotlight) */
107
86
  setIsPromptOpen: setIsPromptOpen,
108
87
  /* @conditional-compile-remove(spotlight) */
@@ -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';\nimport { VideoGalleryLayout } from '@internal/react-components';\nimport React from 'react';\n/* @conditional-compile-remove(dtmf-dialer) */ /* @conditional-compile-remove(spotlight) */\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';\n/* @conditional-compile-remove(dtmf-dialer) */\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/* @conditional-compile-remove(capabilities) */\nimport { CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar';\n/* @conditional-compile-remove(dtmf-dialer) */\nimport { DtmfDialpadPage } from './DtmfDialpadPage';\n/* @conditional-compile-remove(dtmf-dialer) */\nimport { showDtmfDialer } from '../utils/MediaGalleryUtils';\n/* @conditional-compile-remove(dtmf-dialer) */\nimport { getTargetCallees } from '../selectors/baseSelectors';\n/* @conditional-compile-remove(spotlight) */\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[];\n onDismissError: (error: ActiveErrorMessage) => void;\n galleryLayout: VideoGalleryLayout;\n /* @conditional-compile-remove(capabilities) */\n capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;\n onUserSetGalleryLayoutChange?: (layout: VideoGalleryLayout) => void;\n userSetOverflowGalleryPosition?: 'Responsive' | 'horizontalTop';\n onSetUserSetOverflowGalleryPosition?: (position: 'Responsive' | 'horizontalTop') => void;\n onCloseChatPane?: () => void;\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 } = 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 /* @conditional-compile-remove(dtmf-dialer) */\n const remoteParticipantsConnected = useSelector(getRemoteParticipantsConnectedSelector);\n\n /* @conditional-compile-remove(dtmf-dialer) */\n const callees = useSelector(getTargetCallees);\n /* @conditional-compile-remove(dtmf-dialer) */\n const renderDtmfDialerFromStart = showDtmfDialer(callees, remoteParticipantsConnected);\n /* @conditional-compile-remove(dtmf-dialer) */\n const [dtmfDialerPresent, setDtmfDialerPresent] = useState<boolean>(renderDtmfDialerFromStart);\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 /* @conditional-compile-remove(spotlight) */\n const [isPromptOpen, setIsPromptOpen] = useState<boolean>(false);\n /* @conditional-compile-remove(spotlight) */\n const [promptProps, setPromptProps] = useState<PromptProps>();\n\n const onRenderGalleryContentTrampoline = (): JSX.Element => {\n /* @conditional-compile-remove(dtmf-dialer) */\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 /* @conditional-compile-remove(capabilities) */\n capabilitiesChangedNotificationBarProps={props.capabilitiesChangedNotificationBarProps}\n onSetDialpadPage={() => setDtmfDialerPresent(!dtmfDialerPresent)}\n dtmfDialerPresent={dtmfDialerPresent}\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 /* @conditional-compile-remove(click-to-call) */\n localVideoTileOptions={options?.localVideoTile}\n userSetOverflowGalleryPosition={userSetOverflowGalleryPosition}\n userSetGalleryLayout={galleryLayout}\n /* @conditional-compile-remove(spotlight) */\n setIsPromptOpen={setIsPromptOpen}\n /* @conditional-compile-remove(spotlight) */\n setPromptProps={setPromptProps}\n /* @conditional-compile-remove(spotlight) */\n hideSpotlightButtons={options?.spotlight?.hideSpotlightButtons}\n />\n );\n }\n return (\n <MediaGallery\n isMobile={mobileView}\n {...mediaGalleryProps}\n {...mediaGalleryHandlers}\n onFetchAvatarPersonaData={onFetchAvatarPersonaData}\n remoteVideoTileMenuOptions={options?.remoteVideoTileMenuOptions}\n drawerMenuHostId={drawerMenuHostId}\n /* @conditional-compile-remove(click-to-call) */\n localVideoTileOptions={options?.localVideoTile}\n userSetOverflowGalleryPosition={userSetOverflowGalleryPosition}\n userSetGalleryLayout={galleryLayout}\n /* @conditional-compile-remove(spotlight) */\n setIsPromptOpen={setIsPromptOpen}\n /* @conditional-compile-remove(spotlight) */\n setPromptProps={setPromptProps}\n />\n );\n };\n\n return (\n <>\n <CallArrangement\n id={drawerMenuHostId}\n complianceBannerProps={{ ...complianceBannerProps, strings }}\n errorBarProps={options?.errorBar !== false && errorBarProps}\n mutedNotificationProps={mutedNotificationProps}\n callControlProps={{\n callInvitationURL: callInvitationURL,\n onFetchParticipantMenuItems: onFetchParticipantMenuItems,\n options: callControlOptions,\n increaseFlyoutItemSize: mobileView\n }}\n /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */\n onFetchAvatarPersonaData={onFetchAvatarPersonaData}\n mobileView={mobileView}\n modalLayerHostId={props.modalLayerHostId}\n onRenderGalleryContent={() =>\n _isInCall(callStatus) ? (\n isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (\n onRenderGalleryContentTrampoline()\n ) : (\n <NetworkReconnectTile {...networkReconnectTileProps} />\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 /* @conditional-compile-remove(capabilities) */\n capabilitiesChangedNotificationBarProps={props.capabilitiesChangedNotificationBarProps}\n /* @conditional-compile-remove(dtmf-dialer) */\n onSetDialpadPage={() => setDtmfDialerPresent(!dtmfDialerPresent)}\n /* @conditional-compile-remove(dtmf-dialer) */\n dtmfDialerPresent={dtmfDialerPresent}\n /* @conditional-compile-remove(spotlight) */\n setIsPromptOpen={setIsPromptOpen}\n /* @conditional-compile-remove(spotlight) */\n setPromptProps={setPromptProps}\n /* @conditional-compile-remove(spotlight) */\n hideSpotlightButtons={options?.spotlight?.hideSpotlightButtons}\n />\n {\n /* @conditional-compile-remove(spotlight) */\n <Prompt isOpen={isPromptOpen} onDismiss={() => setIsPromptOpen(false)} {...promptProps} />\n }\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';\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/* @conditional-compile-remove(capabilities) */\nimport { CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar';\nimport { DtmfDialpadPage } from './DtmfDialpadPage';\nimport { showDtmfDialer } from '../utils/MediaGalleryUtils';\nimport { getTargetCallees } from '../selectors/baseSelectors';\n/* @conditional-compile-remove(spotlight) */\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[];\n onDismissError: (error: ActiveErrorMessage) => void;\n galleryLayout: VideoGalleryLayout;\n /* @conditional-compile-remove(capabilities) */\n capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;\n onUserSetGalleryLayoutChange?: (layout: VideoGalleryLayout) => void;\n userSetOverflowGalleryPosition?: 'Responsive' | 'horizontalTop';\n onSetUserSetOverflowGalleryPosition?: (position: 'Responsive' | 'horizontalTop') => void;\n onCloseChatPane?: () => void;\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 } = 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\n const callees = useSelector(getTargetCallees);\n const renderDtmfDialerFromStart = showDtmfDialer(callees, remoteParticipantsConnected);\n const [dtmfDialerPresent, setDtmfDialerPresent] = useState<boolean>(renderDtmfDialerFromStart);\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 /* @conditional-compile-remove(spotlight) */\n const [isPromptOpen, setIsPromptOpen] = useState<boolean>(false);\n /* @conditional-compile-remove(spotlight) */\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 /* @conditional-compile-remove(capabilities) */\n capabilitiesChangedNotificationBarProps={props.capabilitiesChangedNotificationBarProps}\n onSetDialpadPage={() => setDtmfDialerPresent(!dtmfDialerPresent)}\n dtmfDialerPresent={dtmfDialerPresent}\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 /* @conditional-compile-remove(click-to-call) */\n localVideoTileOptions={options?.localVideoTile}\n userSetOverflowGalleryPosition={userSetOverflowGalleryPosition}\n userSetGalleryLayout={galleryLayout}\n /* @conditional-compile-remove(spotlight) */\n setIsPromptOpen={setIsPromptOpen}\n /* @conditional-compile-remove(spotlight) */\n setPromptProps={setPromptProps}\n /* @conditional-compile-remove(spotlight) */\n hideSpotlightButtons={options?.spotlight?.hideSpotlightButtons}\n />\n );\n }\n };\n\n return (\n <>\n <CallArrangement\n id={drawerMenuHostId}\n complianceBannerProps={{ ...complianceBannerProps, strings }}\n errorBarProps={options?.errorBar !== false && errorBarProps}\n mutedNotificationProps={mutedNotificationProps}\n callControlProps={{\n callInvitationURL: callInvitationURL,\n onFetchParticipantMenuItems: onFetchParticipantMenuItems,\n options: callControlOptions,\n increaseFlyoutItemSize: mobileView\n }}\n /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(close-captions) */\n onFetchAvatarPersonaData={onFetchAvatarPersonaData}\n mobileView={mobileView}\n modalLayerHostId={props.modalLayerHostId}\n onRenderGalleryContent={() =>\n _isInCall(callStatus) ? (\n isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (\n onRenderGalleryContentTrampoline()\n ) : (\n <NetworkReconnectTile {...networkReconnectTileProps} />\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 /* @conditional-compile-remove(capabilities) */\n capabilitiesChangedNotificationBarProps={props.capabilitiesChangedNotificationBarProps}\n onSetDialpadPage={() => setDtmfDialerPresent(!dtmfDialerPresent)}\n dtmfDialerPresent={dtmfDialerPresent}\n /* @conditional-compile-remove(spotlight) */\n setIsPromptOpen={setIsPromptOpen}\n /* @conditional-compile-remove(spotlight) */\n setPromptProps={setPromptProps}\n /* @conditional-compile-remove(spotlight) */\n hideSpotlightButtons={options?.spotlight?.hideSpotlightButtons}\n />\n {\n /* @conditional-compile-remove(spotlight) */\n <Prompt isOpen={isPromptOpen} onDismiss={() => setIsPromptOpen(false)} {...promptProps} />\n }\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"]}
@@ -40,7 +40,6 @@ const DtmfDialpadPageContent = (props) => {
40
40
  React.createElement(DtmfDialerContentTimer, null),
41
41
  React.createElement(Text, { style: { margin: 'auto' } }, calleeName && calleeName !== 'Unnamed participant' ? calleeName === null || calleeName === void 0 ? void 0 : calleeName.toString() : ''),
42
42
  React.createElement(Dialpad, { onSendDtmfTone: (tone) => __awaiter(void 0, void 0, void 0, function* () {
43
- /* @conditional-compile-remove(dtmf-dialer) */
44
43
  yield adapter.sendDtmfTone(tone);
45
44
  }), longPressTrigger: props.mobileView ? 'touch' : 'mouseAndTouch', dialpadMode: 'dtmf' }))));
46
45
  };
@@ -1 +1 @@
1
- {"version":3,"file":"DtmfDialpadPage.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ActiveErrorMessage, Dialpad, DtmfTone } from '@internal/react-components';\nimport { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';\nimport { CallCompositeOptions } from '../CallComposite';\nimport { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';\nimport { CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { CommonCallAdapter } from '../adapter';\nimport { Stack, Text, useTheme } from '@fluentui/react';\nimport { getReadableTime } from '../utils/timerUtils';\nimport { DtmfDialpadContentTimerStyles } from '../styles/DtmfDialpadPage.styles';\nimport { RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { isPhoneNumberIdentifier } from '@azure/communication-common';\nimport { useSelector } from '../hooks/useSelector';\nimport { getStartTime } from '../selectors/baseSelectors';\n\n/**\n * @internal\n */\nexport interface DialpadPageProps {\n mobileView: boolean;\n options?: CallCompositeOptions;\n modalLayerHostId: string;\n updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n latestErrors: ActiveErrorMessage[];\n onDismissError: (error: ActiveErrorMessage) => void;\n /* @conditional-compile-remove(capabilities) */\n capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;\n onSetDialpadPage: () => void;\n dtmfDialerPresent: boolean;\n}\n\ninterface DialpadPageContentProps {\n mobileView: boolean;\n adapter: CommonCallAdapter;\n}\n\nconst DtmfDialpadPageContent = (props: DialpadPageContentProps): JSX.Element => {\n const { adapter } = props;\n const adapterState = adapter.getState();\n const theme = useTheme();\n\n const calleeId = adapterState.targetCallees?.[0];\n const remoteParticipants = adapterState.call?.remoteParticipants;\n let calleeName;\n\n if (remoteParticipants) {\n const remoteParticipantValues: RemoteParticipantState[] = Object.values(remoteParticipants);\n if (calleeId && isPhoneNumberIdentifier(calleeId)) {\n calleeName = calleeId.phoneNumber;\n } else {\n calleeName = remoteParticipantValues.find((p) => p.identifier === calleeId);\n }\n }\n\n return (\n <Stack style={{ height: '100%', width: '100%', background: theme.palette.white }}>\n <Stack verticalAlign={'center'} style={{ margin: 'auto' }}>\n <DtmfDialerContentTimer />\n <Text style={{ margin: 'auto' }}>\n {calleeName && calleeName !== 'Unnamed participant' ? calleeName?.toString() : ''}\n </Text>\n <Dialpad\n onSendDtmfTone={async (tone: DtmfTone) => {\n /* @conditional-compile-remove(dtmf-dialer) */\n await adapter.sendDtmfTone(tone);\n }}\n longPressTrigger={props.mobileView ? 'touch' : 'mouseAndTouch'}\n dialpadMode={'dtmf'}\n ></Dialpad>\n </Stack>\n </Stack>\n );\n};\n\nconst DtmfDialerContentTimer = (): JSX.Element => {\n const [time, setTime] = useState<number>(0);\n const elapsedTime = getReadableTime(time);\n const statefulStartTime = useSelector(getStartTime);\n const startTime = useMemo(() => {\n return statefulStartTime ?? new Date(Date.now());\n }, [statefulStartTime]);\n\n useEffect(() => {\n const interval = setInterval(() => {\n setTime(new Date(Date.now()).getTime() - startTime?.getTime() ?? 0);\n }, 10);\n return () => {\n clearInterval(interval);\n };\n }, [startTime]);\n\n return <Text styles={DtmfDialpadContentTimerStyles}>{elapsedTime}</Text>;\n};\n\n/**\n * @internal\n */\nexport const DtmfDialpadPage = (props: DialpadPageProps): JSX.Element => {\n const adapter = useAdapter();\n\n return <DtmfDialpadPageContent adapter={adapter} mobileView={props.mobileView} />;\n};\n"]}
1
+ {"version":3,"file":"DtmfDialpadPage.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/pages/DtmfDialpadPage.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { ActiveErrorMessage, Dialpad, DtmfTone } from '@internal/react-components';\nimport { MobileChatSidePaneTabHeaderProps } from '../../common/TabHeader';\nimport { CallCompositeOptions } from '../CallComposite';\nimport { SidePaneRenderer } from '../components/SidePane/SidePaneProvider';\nimport { CapabilitiesChangeNotificationBarProps } from '../components/CapabilitiesChangedNotificationBar';\nimport React, { useEffect, useMemo, useState } from 'react';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { CommonCallAdapter } from '../adapter';\nimport { Stack, Text, useTheme } from '@fluentui/react';\nimport { getReadableTime } from '../utils/timerUtils';\nimport { DtmfDialpadContentTimerStyles } from '../styles/DtmfDialpadPage.styles';\nimport { RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { isPhoneNumberIdentifier } from '@azure/communication-common';\nimport { useSelector } from '../hooks/useSelector';\nimport { getStartTime } from '../selectors/baseSelectors';\n\n/**\n * @internal\n */\nexport interface DialpadPageProps {\n mobileView: boolean;\n options?: CallCompositeOptions;\n modalLayerHostId: string;\n updateSidePaneRenderer: (renderer: SidePaneRenderer | undefined) => void;\n mobileChatTabHeader?: MobileChatSidePaneTabHeaderProps;\n latestErrors: ActiveErrorMessage[];\n onDismissError: (error: ActiveErrorMessage) => void;\n /* @conditional-compile-remove(capabilities) */\n capabilitiesChangedNotificationBarProps?: CapabilitiesChangeNotificationBarProps;\n onSetDialpadPage: () => void;\n dtmfDialerPresent: boolean;\n}\n\ninterface DialpadPageContentProps {\n mobileView: boolean;\n adapter: CommonCallAdapter;\n}\n\nconst DtmfDialpadPageContent = (props: DialpadPageContentProps): JSX.Element => {\n const { adapter } = props;\n const adapterState = adapter.getState();\n const theme = useTheme();\n\n const calleeId = adapterState.targetCallees?.[0];\n const remoteParticipants = adapterState.call?.remoteParticipants;\n let calleeName;\n\n if (remoteParticipants) {\n const remoteParticipantValues: RemoteParticipantState[] = Object.values(remoteParticipants);\n if (calleeId && isPhoneNumberIdentifier(calleeId)) {\n calleeName = calleeId.phoneNumber;\n } else {\n calleeName = remoteParticipantValues.find((p) => p.identifier === calleeId);\n }\n }\n\n return (\n <Stack style={{ height: '100%', width: '100%', background: theme.palette.white }}>\n <Stack verticalAlign={'center'} style={{ margin: 'auto' }}>\n <DtmfDialerContentTimer />\n <Text style={{ margin: 'auto' }}>\n {calleeName && calleeName !== 'Unnamed participant' ? calleeName?.toString() : ''}\n </Text>\n <Dialpad\n onSendDtmfTone={async (tone: DtmfTone) => {\n await adapter.sendDtmfTone(tone);\n }}\n longPressTrigger={props.mobileView ? 'touch' : 'mouseAndTouch'}\n dialpadMode={'dtmf'}\n ></Dialpad>\n </Stack>\n </Stack>\n );\n};\n\nconst DtmfDialerContentTimer = (): JSX.Element => {\n const [time, setTime] = useState<number>(0);\n const elapsedTime = getReadableTime(time);\n const statefulStartTime = useSelector(getStartTime);\n const startTime = useMemo(() => {\n return statefulStartTime ?? new Date(Date.now());\n }, [statefulStartTime]);\n\n useEffect(() => {\n const interval = setInterval(() => {\n setTime(new Date(Date.now()).getTime() - startTime?.getTime() ?? 0);\n }, 10);\n return () => {\n clearInterval(interval);\n };\n }, [startTime]);\n\n return <Text styles={DtmfDialpadContentTimerStyles}>{elapsedTime}</Text>;\n};\n\n/**\n * @internal\n */\nexport const DtmfDialpadPage = (props: DialpadPageProps): JSX.Element => {\n const adapter = useAdapter();\n\n return <DtmfDialpadPageContent adapter={adapter} mobileView={props.mobileView} />;\n};\n"]}
@@ -5,7 +5,6 @@ import { useMemo, useRef, useState } from 'react';
5
5
  import { useLocale } from '../../localization';
6
6
  import { useSelector } from '../hooks/useSelector';
7
7
  import { getRemoteParticipantsConnectedSelector } from '../selectors/mediaGallerySelector';
8
- /* @conditional-compile-remove(dtmf-dialer) */
9
8
  import { isMicrosoftTeamsAppIdentifier, isPhoneNumberIdentifier } from '@azure/communication-common';
10
9
  /**
11
10
  * sets the announcement string whenever a Participant comes or goes from a call to be
@@ -118,7 +117,6 @@ export const createAnnouncementString = (direction, participants, strings) => {
118
117
  numOfParticipants: numberOfExtraParticipants.toString()
119
118
  });
120
119
  };
121
- /* @conditional-compile-remove(dtmf-dialer) */
122
120
  /**
123
121
  * determines if the media gallery should be replaced by the dtmf dialer
124
122
  * @param callees Target callees to determine if the dtmf dialer should be shown
@@ -1 +1 @@
1
- {"version":3,"file":"MediaGalleryUtils.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,6BAA6B,EAAE,aAAa,EAAE,yCAAgC;AAEvF,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,sCAAsC,EAAE,MAAM,mCAAmC,CAAC;AAC3F,8CAA8C;AAC9C,OAAO,EAEL,6BAA6B,EAC7B,uBAAuB,EACxB,MAAM,6BAA6B,CAAC;AAgBrC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAW,EAAE;IAC5D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE;QAC3B,OAAO;YACL,6BAA6B,EAAE,MAAM,CAAC,6BAA6B;YACnE,gCAAgC,EAAE,MAAM,CAAC,gCAAgC;YACzE,kCAAkC,EAAE,MAAM,CAAC,kCAAkC;YAC7E,2BAA2B,EAAE,MAAM,CAAC,2BAA2B;YAC/D,8BAA8B,EAAE,MAAM,CAAC,8BAA8B;YACrE,gCAAgC,EAAE,MAAM,CAAC,gCAAgC;YACzE,wBAAwB,EAAE,MAAM,CAAC,wBAAwB;YACzD,sBAAsB,EAAE,MAAM,CAAC,sBAAsB;YACrD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;YACjD,6BAA6B,EAAE,MAAM,CAAC,6BAA6B;YACnE,2BAA2B,EAAE,MAAM,CAAC,2BAA2B;SAChE,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACb,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;IACnE,MAAM,mBAAmB,GAAG,WAAW,CAAC,sCAAsC,CAAC,CAAC;IAChF;;;;;OAKG;IACH,MAAM,oBAAoB,GAAG,MAAM,CAA2B,mBAAmB,CAAC,CAAC;IAEnF,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAQ,EAAE;QAChD,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAO,CAAC,GAAG,EAAE;QACX,MAAM,UAAU,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,6BAA6B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/F,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,6BAA6B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACzG,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAC1E,CAAC;QACF,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC,MAAM,CACjD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CACzE,CAAC;QACF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,gBAAgB,CAAC,wBAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,gBAAgB,CAAC,wBAAwB,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,kCAAkC;QAClC,oBAAoB,CAAC,OAAO,GAAG,mBAAmB,CAAC;IACrD,CAAC,EAAE,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC;IACnC,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,SAA4B,EAC5B,YAAsC,EACtC,OAA6C,EACrC,EAAE;;IACV;;OAEG;IACH,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD;;;OAGG;IACH,MAAM,mBAAmB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACvE,MAAM,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACnE,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAExE;;;OAGG;IACH,IAAI,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClG,OAAO,aAAa,CAClB,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC,OAAO,CAAC,2BAA2B,EACpG;YACE,iBAAiB,EAAE,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE;SAC9D,CACF,CAAC;IACJ,CAAC;IACD,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,WAAW,mCAAI,OAAO,CAAC,wBAAwB,CAAA,EAAA,CAAC,CAAC;IAE1G,QAAQ,kBAAkB,CAAC,MAAM,EAAE,CAAC;QAClC,KAAK,CAAC;YACJ,OAAO,aAAa,CAClB,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,CAAC,OAAO,CAAC,2BAA2B,EACpG,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CACrC,CAAC;QACJ,KAAK,CAAC;YACJ,OAAO,aAAa,CAClB,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,CAAC,OAAO,CAAC,8BAA8B,EAC1G;gBACE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;gBACjC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;aAClC,CACF,CAAC;QACJ,KAAK,CAAC;YACJ,OAAO,aAAa,CAClB,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,CAAC,OAAO,CAAC,gCAAgC,EAC9G;gBACE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;gBACjC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;gBACjC,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC;aAClC,CACF,CAAC;IACN,CAAC;IAED;;;;;;OAMG;IAEH,MAAM,yBAAyB,GAAG,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;IAEhE,OAAO,aAAa,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,EAAE;QAC3G,YAAY,EAAE,MAAA,kBAAkB,CAAC,CAAC,CAAC,CAAC,WAAW,mCAAI,OAAO,CAAC,wBAAwB;QACnF,YAAY,EAAE,MAAA,kBAAkB,CAAC,CAAC,CAAC,CAAC,WAAW,mCAAI,OAAO,CAAC,wBAAwB;QACnF,YAAY,EAAE,MAAA,kBAAkB,CAAC,CAAC,CAAC,CAAC,WAAW,mCAAI,OAAO,CAAC,wBAAwB;QACnF,iBAAiB,EAAE,yBAAyB,CAAC,QAAQ,EAAE;KACxD,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,8CAA8C;AAC9C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,OAAmC,EACnC,kBAA6C,EACpC,EAAE;IACX,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1B,IAAI,6BAA6B,CAAC,MAAM,CAAC,IAAI,uBAAuB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7E,cAAc,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,IAAI,kBAAkB,EAAE,CAAC;QACvB,kBAAkB,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;YACzC,IAAI,CAAC,CAAC,aAAa,IAAI,WAAW,CAAC,UAAU,IAAI,YAAY,IAAI,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzF,cAAc,GAAG,KAAK,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { toFlatCommunicationIdentifier, _formatString } from '@internal/acs-ui-common';\nimport { RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { useMemo, useRef, useState } from 'react';\nimport { useLocale } from '../../localization';\nimport { useSelector } from '../hooks/useSelector';\nimport { getRemoteParticipantsConnectedSelector } from '../selectors/mediaGallerySelector';\n/* @conditional-compile-remove(dtmf-dialer) */\nimport {\n CommunicationIdentifier,\n isMicrosoftTeamsAppIdentifier,\n isPhoneNumberIdentifier\n} from '@azure/communication-common';\n\ntype ParticipantChangedAnnouncmentStrings = {\n participantJoinedNoticeString: string;\n twoParticipantJoinedNoticeString: string;\n threeParticipantJoinedNoticeString: string;\n participantLeftNoticeString: string;\n twoParticipantLeftNoticeString: string;\n threeParticipantLeftNoticeString: string;\n unnamedParticipantString: string;\n manyParticipantsJoined: string;\n manyParticipantsLeft: string;\n manyUnnamedParticipantsJoined: string;\n manyUnnamedParticipantsLeft: string;\n};\n\n/**\n * sets the announcement string whenever a Participant comes or goes from a call to be\n * used by the system narrator.\n *\n * @returns string to be used by the narrator and Announcer component\n *\n * @internal\n */\nexport const useParticipantChangedAnnouncement = (): string => {\n const locale = useLocale().strings.call;\n const strings = useMemo(() => {\n return {\n participantJoinedNoticeString: locale.participantJoinedNoticeString,\n twoParticipantJoinedNoticeString: locale.twoParticipantJoinedNoticeString,\n threeParticipantJoinedNoticeString: locale.threeParticipantJoinedNoticeString,\n participantLeftNoticeString: locale.participantLeftNoticeString,\n twoParticipantLeftNoticeString: locale.twoParticipantLeftNoticeString,\n threeParticipantLeftNoticeString: locale.threeParticipantLeftNoticeString,\n unnamedParticipantString: locale.unnamedParticipantString,\n manyParticipantsJoined: locale.manyParticipantsJoined,\n manyParticipantsLeft: locale.manyParticipantsLeft,\n manyUnnamedParticipantsJoined: locale.manyUnnamedParticipantsJoined,\n manyUnnamedParticipantsLeft: locale.manyUnnamedParticipantsLeft\n };\n }, [locale]);\n const [announcerString, setAnnouncerString] = useState<string>('');\n const currentParticipants = useSelector(getRemoteParticipantsConnectedSelector);\n /**\n * We want to use a useRef here since we want to not fire this hook based on the previous participants\n * this allows this value to be used in the hook without being in the dependency array.\n *\n * Note: By definition if this hook is used in another component it is not pure anymore.\n */\n const previousParticipants = useRef<RemoteParticipantState[]>(currentParticipants);\n\n const resetAnnoucement = (string: string): void => {\n setAnnouncerString(string);\n };\n\n useMemo(() => {\n const currentIds = currentParticipants.map((p) => toFlatCommunicationIdentifier(p.identifier));\n const previousIds = previousParticipants.current.map((p) => toFlatCommunicationIdentifier(p.identifier));\n const whoJoined = currentParticipants.filter(\n (p) => !previousIds.includes(toFlatCommunicationIdentifier(p.identifier))\n );\n const whoLeft = previousParticipants.current.filter(\n (p) => !currentIds.includes(toFlatCommunicationIdentifier(p.identifier))\n );\n if (whoJoined.length > 0) {\n resetAnnoucement(createAnnouncementString('joined', whoJoined, strings));\n }\n if (whoLeft.length > 0) {\n resetAnnoucement(createAnnouncementString('left', whoLeft, strings));\n }\n // Update cached value at the end.\n previousParticipants.current = currentParticipants;\n }, [currentParticipants, strings]);\n return announcerString;\n};\n\n/**\n * Generates the announcement string for when a participant joins or leaves a call.\n */\nexport const createAnnouncementString = (\n direction: 'joined' | 'left',\n participants: RemoteParticipantState[],\n strings: ParticipantChangedAnnouncmentStrings\n): string => {\n /**\n * If there are no participants return empty string.\n */\n if (participants.length === 0) {\n return '';\n }\n /**\n * Filter participants into two arrays to put all the unnamed participants at the back of the\n * names being announced.\n */\n const unnamedParticipants = participants.filter((p) => !p.displayName);\n const namedParicipants = participants.filter((p) => p.displayName);\n const sortedParticipants = namedParicipants.concat(unnamedParticipants);\n\n /**\n * if there are only unnamed participants present in the array announce a special unnamed participants\n * only string.\n */\n if (sortedParticipants.filter((p) => p.displayName).length === 0 && sortedParticipants.length > 1) {\n return _formatString(\n direction === 'joined' ? strings.manyUnnamedParticipantsJoined : strings.manyUnnamedParticipantsLeft,\n {\n numOfParticipants: (sortedParticipants.length - 1).toString()\n }\n );\n }\n const participantNames = sortedParticipants.map((p) => p.displayName ?? strings.unnamedParticipantString);\n\n switch (sortedParticipants.length) {\n case 1:\n return _formatString(\n direction === 'joined' ? strings.participantJoinedNoticeString : strings.participantLeftNoticeString,\n { displayName: participantNames[0] }\n );\n case 2:\n return _formatString(\n direction === 'joined' ? strings.twoParticipantJoinedNoticeString : strings.twoParticipantLeftNoticeString,\n {\n displayName1: participantNames[0],\n displayName2: participantNames[1]\n }\n );\n case 3:\n return _formatString(\n direction === 'joined' ? strings.threeParticipantJoinedNoticeString : strings.threeParticipantLeftNoticeString,\n {\n displayName1: participantNames[0],\n displayName2: participantNames[1],\n displayName3: participantNames[2]\n }\n );\n }\n\n /**\n * If we have more than 3 participants joining we need to do something more to announce them\n * appropriately.\n *\n * We don't want to announce every name when more than 3 participants join at once so\n * we parse out the first 3 names we have and announce those with the number of others.\n */\n\n const numberOfExtraParticipants = sortedParticipants.length - 3;\n\n return _formatString(direction === 'joined' ? strings.manyParticipantsJoined : strings.manyParticipantsLeft, {\n displayName1: sortedParticipants[0].displayName ?? strings.unnamedParticipantString,\n displayName2: sortedParticipants[1].displayName ?? strings.unnamedParticipantString,\n displayName3: sortedParticipants[2].displayName ?? strings.unnamedParticipantString,\n numOfParticipants: numberOfExtraParticipants.toString()\n });\n};\n\n/* @conditional-compile-remove(dtmf-dialer) */\n/**\n * determines if the media gallery should be replaced by the dtmf dialer\n * @param callees Target callees to determine if the dtmf dialer should be shown\n * @param remoteParticipants Remote participants to determine if the dtmf dialer should be shown if there are participants in the call\n * when joining\n * @returns whether the dialer should be the gallery content or not\n */\nexport const showDtmfDialer = (\n callees?: CommunicationIdentifier[],\n remoteParticipants?: RemoteParticipantState[]\n): boolean => {\n let showDtmfDialer = false;\n callees?.forEach((callee) => {\n if (isMicrosoftTeamsAppIdentifier(callee) || isPhoneNumberIdentifier(callee)) {\n showDtmfDialer = true;\n }\n });\n if (remoteParticipants) {\n remoteParticipants.forEach((participant) => {\n if (!('phoneNumber' in participant.identifier || 'teamsAppId' in participant.identifier)) {\n showDtmfDialer = false;\n }\n });\n }\n return showDtmfDialer;\n};\n"]}
1
+ {"version":3,"file":"MediaGalleryUtils.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { toFlatCommunicationIdentifier, _formatString } from '@internal/acs-ui-common';\nimport { RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { useMemo, useRef, useState } from 'react';\nimport { useLocale } from '../../localization';\nimport { useSelector } from '../hooks/useSelector';\nimport { getRemoteParticipantsConnectedSelector } from '../selectors/mediaGallerySelector';\nimport {\n CommunicationIdentifier,\n isMicrosoftTeamsAppIdentifier,\n isPhoneNumberIdentifier\n} from '@azure/communication-common';\n\ntype ParticipantChangedAnnouncmentStrings = {\n participantJoinedNoticeString: string;\n twoParticipantJoinedNoticeString: string;\n threeParticipantJoinedNoticeString: string;\n participantLeftNoticeString: string;\n twoParticipantLeftNoticeString: string;\n threeParticipantLeftNoticeString: string;\n unnamedParticipantString: string;\n manyParticipantsJoined: string;\n manyParticipantsLeft: string;\n manyUnnamedParticipantsJoined: string;\n manyUnnamedParticipantsLeft: string;\n};\n\n/**\n * sets the announcement string whenever a Participant comes or goes from a call to be\n * used by the system narrator.\n *\n * @returns string to be used by the narrator and Announcer component\n *\n * @internal\n */\nexport const useParticipantChangedAnnouncement = (): string => {\n const locale = useLocale().strings.call;\n const strings = useMemo(() => {\n return {\n participantJoinedNoticeString: locale.participantJoinedNoticeString,\n twoParticipantJoinedNoticeString: locale.twoParticipantJoinedNoticeString,\n threeParticipantJoinedNoticeString: locale.threeParticipantJoinedNoticeString,\n participantLeftNoticeString: locale.participantLeftNoticeString,\n twoParticipantLeftNoticeString: locale.twoParticipantLeftNoticeString,\n threeParticipantLeftNoticeString: locale.threeParticipantLeftNoticeString,\n unnamedParticipantString: locale.unnamedParticipantString,\n manyParticipantsJoined: locale.manyParticipantsJoined,\n manyParticipantsLeft: locale.manyParticipantsLeft,\n manyUnnamedParticipantsJoined: locale.manyUnnamedParticipantsJoined,\n manyUnnamedParticipantsLeft: locale.manyUnnamedParticipantsLeft\n };\n }, [locale]);\n const [announcerString, setAnnouncerString] = useState<string>('');\n const currentParticipants = useSelector(getRemoteParticipantsConnectedSelector);\n /**\n * We want to use a useRef here since we want to not fire this hook based on the previous participants\n * this allows this value to be used in the hook without being in the dependency array.\n *\n * Note: By definition if this hook is used in another component it is not pure anymore.\n */\n const previousParticipants = useRef<RemoteParticipantState[]>(currentParticipants);\n\n const resetAnnoucement = (string: string): void => {\n setAnnouncerString(string);\n };\n\n useMemo(() => {\n const currentIds = currentParticipants.map((p) => toFlatCommunicationIdentifier(p.identifier));\n const previousIds = previousParticipants.current.map((p) => toFlatCommunicationIdentifier(p.identifier));\n const whoJoined = currentParticipants.filter(\n (p) => !previousIds.includes(toFlatCommunicationIdentifier(p.identifier))\n );\n const whoLeft = previousParticipants.current.filter(\n (p) => !currentIds.includes(toFlatCommunicationIdentifier(p.identifier))\n );\n if (whoJoined.length > 0) {\n resetAnnoucement(createAnnouncementString('joined', whoJoined, strings));\n }\n if (whoLeft.length > 0) {\n resetAnnoucement(createAnnouncementString('left', whoLeft, strings));\n }\n // Update cached value at the end.\n previousParticipants.current = currentParticipants;\n }, [currentParticipants, strings]);\n return announcerString;\n};\n\n/**\n * Generates the announcement string for when a participant joins or leaves a call.\n */\nexport const createAnnouncementString = (\n direction: 'joined' | 'left',\n participants: RemoteParticipantState[],\n strings: ParticipantChangedAnnouncmentStrings\n): string => {\n /**\n * If there are no participants return empty string.\n */\n if (participants.length === 0) {\n return '';\n }\n /**\n * Filter participants into two arrays to put all the unnamed participants at the back of the\n * names being announced.\n */\n const unnamedParticipants = participants.filter((p) => !p.displayName);\n const namedParicipants = participants.filter((p) => p.displayName);\n const sortedParticipants = namedParicipants.concat(unnamedParticipants);\n\n /**\n * if there are only unnamed participants present in the array announce a special unnamed participants\n * only string.\n */\n if (sortedParticipants.filter((p) => p.displayName).length === 0 && sortedParticipants.length > 1) {\n return _formatString(\n direction === 'joined' ? strings.manyUnnamedParticipantsJoined : strings.manyUnnamedParticipantsLeft,\n {\n numOfParticipants: (sortedParticipants.length - 1).toString()\n }\n );\n }\n const participantNames = sortedParticipants.map((p) => p.displayName ?? strings.unnamedParticipantString);\n\n switch (sortedParticipants.length) {\n case 1:\n return _formatString(\n direction === 'joined' ? strings.participantJoinedNoticeString : strings.participantLeftNoticeString,\n { displayName: participantNames[0] }\n );\n case 2:\n return _formatString(\n direction === 'joined' ? strings.twoParticipantJoinedNoticeString : strings.twoParticipantLeftNoticeString,\n {\n displayName1: participantNames[0],\n displayName2: participantNames[1]\n }\n );\n case 3:\n return _formatString(\n direction === 'joined' ? strings.threeParticipantJoinedNoticeString : strings.threeParticipantLeftNoticeString,\n {\n displayName1: participantNames[0],\n displayName2: participantNames[1],\n displayName3: participantNames[2]\n }\n );\n }\n\n /**\n * If we have more than 3 participants joining we need to do something more to announce them\n * appropriately.\n *\n * We don't want to announce every name when more than 3 participants join at once so\n * we parse out the first 3 names we have and announce those with the number of others.\n */\n\n const numberOfExtraParticipants = sortedParticipants.length - 3;\n\n return _formatString(direction === 'joined' ? strings.manyParticipantsJoined : strings.manyParticipantsLeft, {\n displayName1: sortedParticipants[0].displayName ?? strings.unnamedParticipantString,\n displayName2: sortedParticipants[1].displayName ?? strings.unnamedParticipantString,\n displayName3: sortedParticipants[2].displayName ?? strings.unnamedParticipantString,\n numOfParticipants: numberOfExtraParticipants.toString()\n });\n};\n\n/**\n * determines if the media gallery should be replaced by the dtmf dialer\n * @param callees Target callees to determine if the dtmf dialer should be shown\n * @param remoteParticipants Remote participants to determine if the dtmf dialer should be shown if there are participants in the call\n * when joining\n * @returns whether the dialer should be the gallery content or not\n */\nexport const showDtmfDialer = (\n callees?: CommunicationIdentifier[],\n remoteParticipants?: RemoteParticipantState[]\n): boolean => {\n let showDtmfDialer = false;\n callees?.forEach((callee) => {\n if (isMicrosoftTeamsAppIdentifier(callee) || isPhoneNumberIdentifier(callee)) {\n showDtmfDialer = true;\n }\n });\n if (remoteParticipants) {\n remoteParticipants.forEach((participant) => {\n if (!('phoneNumber' in participant.identifier || 'teamsAppId' in participant.identifier)) {\n showDtmfDialer = false;\n }\n });\n }\n return showDtmfDialer;\n};\n"]}
@@ -162,7 +162,6 @@ export class AzureCommunicationCallWithChatAdapter {
162
162
  this.resumeCall.bind(this);
163
163
  /* @conditional-compile-remove(PSTN-calls) */
164
164
  this.addParticipant.bind(this);
165
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(dtmf-dialer) */
166
165
  this.sendDtmfTone.bind(this);
167
166
  /* @conditional-compile-remove(unsupported-browser) */
168
167
  this.allowUnsupportedBrowserVersion.bind(this);
@@ -443,7 +442,6 @@ export class AzureCommunicationCallWithChatAdapter {
443
442
  }
444
443
  });
445
444
  }
446
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(dtmf-dialer) */
447
445
  sendDtmfTone(dtmfTone) {
448
446
  return __awaiter(this, void 0, void 0, function* () {
449
447
  return yield this.callAdapter.sendDtmfTone(dtmfTone);