@azure/communication-react 1.18.0-alpha-202406270014 → 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.
Files changed (115) hide show
  1. package/dist/communication-react.d.ts +37 -32
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-wvY5Rvxk.js → ChatMessageComponentAsRichTextEditBox-BtaxqZHP.js} +2 -2
  3. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-wvY5Rvxk.js.map → ChatMessageComponentAsRichTextEditBox-BtaxqZHP.js.map} +1 -1
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-Cm6AVfYa.js → RichTextSendBoxWrapper-BMGUpdeA.js} +2 -2
  5. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-Cm6AVfYa.js.map → RichTextSendBoxWrapper-BMGUpdeA.js.map} +1 -1
  6. package/dist/dist-cjs/communication-react/{index-CQFUKJFW.js → index-D8bZR5YN.js} +120 -161
  7. package/dist/dist-cjs/communication-react/index-D8bZR5YN.js.map +1 -0
  8. package/dist/dist-cjs/communication-react/index.js +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  11. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js +5 -20
  12. package/dist/dist-esm/calling-component-bindings/src/errorBarSelector.js.map +1 -1
  13. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.d.ts +3 -1
  14. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +12 -0
  15. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  16. package/dist/dist-esm/calling-component-bindings/src/index.d.ts +2 -2
  17. package/dist/dist-esm/calling-component-bindings/src/index.js +1 -1
  18. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  19. package/dist/dist-esm/calling-component-bindings/src/{errorNotificationStackSelector.d.ts → notificationStackSelector.d.ts} +4 -3
  20. package/dist/dist-esm/calling-component-bindings/src/{errorNotificationStackSelector.js → notificationStackSelector.js} +13 -4
  21. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -0
  22. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +1 -1
  23. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  24. package/dist/dist-esm/calling-stateful-client/src/CallDeclarative.js.map +1 -1
  25. package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
  26. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +1 -0
  27. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +9 -0
  28. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  29. package/dist/dist-esm/calling-stateful-client/src/TeamsCallDeclarative.js.map +1 -1
  30. package/dist/dist-esm/chat-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  31. package/dist/dist-esm/chat-stateful-client/src/StatefulChatClient.js.map +1 -1
  32. package/dist/dist-esm/communication-react/src/index.d.ts +1 -0
  33. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  34. package/dist/dist-esm/communication-react/src/mergedHooks.js.map +1 -1
  35. package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
  36. package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
  37. package/dist/dist-esm/react-components/src/components/ControlBarButton.js.map +1 -1
  38. package/dist/dist-esm/react-components/src/components/DevicePermissions/SitePermissions.js.map +1 -1
  39. package/dist/dist-esm/react-components/src/components/ErrorBar.d.ts +4 -0
  40. package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
  41. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.d.ts +1 -21
  42. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js +8 -8
  43. package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js.map +1 -1
  44. package/dist/dist-esm/react-components/src/components/NotificationStack.d.ts +8 -0
  45. package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
  46. package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
  47. package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -1
  48. package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
  49. package/dist/dist-esm/react-components/src/components/VideoGallery/SpeakerVideoLayout.js.map +1 -1
  50. package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
  51. package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
  52. package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
  53. package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
  54. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentAsEditBoxUtils.js.map +1 -1
  55. package/dist/dist-esm/react-components/src/components/utils/ChatMessageComponentUtils.js.map +1 -1
  56. package/dist/dist-esm/react-components/src/components/utils/merge.js.map +1 -1
  57. package/dist/dist-esm/react-components/src/components/utils.js +5 -1
  58. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  59. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +1 -1
  60. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  61. package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +9 -9
  62. package/dist/dist-esm/react-components/src/theming/icons.d.ts +1 -0
  63. package/dist/dist-esm/react-components/src/theming/icons.js +4 -1
  64. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  65. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +17 -19
  66. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  67. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +2 -0
  68. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  69. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +9 -1
  70. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  71. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +1 -2
  72. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +12 -8
  73. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  74. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  75. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/MediaGallery.js.map +1 -1
  76. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.d.ts +1 -0
  77. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js +12 -3
  78. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/NetworkReconnectTile.js.map +1 -1
  79. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/SidePane.js.map +1 -1
  80. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
  81. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +1 -2
  82. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +7 -4
  83. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  84. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  85. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +4 -2
  86. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +3 -1
  87. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  88. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +4 -2
  89. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +3 -1
  90. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  91. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.d.ts +4 -0
  92. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js +10 -0
  93. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallPage.styles.js.map +1 -1
  94. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
  95. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.d.ts +6 -2
  96. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  97. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.d.ts +5 -4
  98. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  99. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  100. package/dist/dist-esm/react-composites/src/composites/common/CaptionsBannerMoreButton.js.map +1 -1
  101. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.d.ts +1 -1
  102. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
  103. package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
  104. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js +6 -0
  105. package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js.map +1 -1
  106. package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +1 -7
  107. package/package.json +1 -1
  108. package/dist/dist-cjs/communication-react/index-CQFUKJFW.js.map +0 -1
  109. package/dist/dist-esm/calling-component-bindings/src/errorNotificationStackSelector.js.map +0 -1
  110. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BadNetworkQualityNotificationBar.d.ts +0 -22
  111. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BadNetworkQualityNotificationBar.js +0 -40
  112. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/BadNetworkQualityNotificationBar.js.map +0 -1
  113. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/badNetworkQualitySelector.d.ts +0 -19
  114. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/badNetworkQualitySelector.js +0 -26
  115. package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/badNetworkQualitySelector.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"errorNotificationStackSelector.js","sourceRoot":"","sources":["../../../../../calling-component-bindings/src/errorNotificationStackSelector.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n/* @conditional-compile-remove(notifications) */\nimport {\n CallingBaseSelectorProps,\n getDeviceManager,\n getDiagnostics,\n getLatestErrors,\n getEnvironmentInfo\n} from './baseSelectors';\n/* @conditional-compile-remove(notifications) */\nimport { ActiveNotification, NotificationType } from '@internal/react-components';\n/* @conditional-compile-remove(notifications) */\nimport { createSelector } from 'reselect';\n/* @conditional-compile-remove(notifications) */\nimport { CallClientState, CallErrors, CallErrorTarget } from '@internal/calling-stateful-client';\n/* @conditional-compile-remove(notifications) */\nimport { DiagnosticQuality } from '@azure/communication-calling';\n/* @conditional-compile-remove(notifications) */\n/**\n * Selector type for {@link Notification} component.\n *\n * @beta\n */\nexport type ErrorNotificationStackSelector = (\n state: CallClientState,\n props: CallingBaseSelectorProps\n) => {\n activeErrorMessages: ActiveNotification[];\n};\n/* @conditional-compile-remove(notifications) */\n/**\n * Select the active errors from the state for the `Notification` component.\n *\n * Invariants:\n * - `ErrorType` is never repeated in the returned errors.\n * - Errors are returned in a fixed order by `ErrorType`.\n *\n * @beta\n */\nexport const errorNotificationStackSelector: ErrorNotificationStackSelector = createSelector(\n [getLatestErrors, getDiagnostics, getDeviceManager, getEnvironmentInfo],\n (\n latestErrors: CallErrors,\n diagnostics,\n deviceManager,\n environmentInfo\n ): { activeErrorMessages: ActiveNotification[] } => {\n // The order in which the errors are returned is significant: The `Notification` shows errors on the UI in that order.\n // There are several options for the ordering:\n // - Sorted by when the errors happened (latest first / oldest first).\n // - Stable sort by error type.\n //\n // We chose to stable sort by error type: We intend to show only a small number of errors on the UI and we do not\n // have timestamps for errors.\n const activeErrorMessages: ActiveNotification[] = [];\n\n const isSafari = (): boolean => {\n /* @conditional-compile-remove(calling-environment-info) */\n return environmentInfo?.environment.browser === 'safari';\n return /^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent);\n };\n\n const isMacOS = (): boolean => {\n /* @conditional-compile-remove(calling-environment-info) */\n return environmentInfo?.environment.platform === 'mac';\n return false;\n };\n\n // Errors reported via diagnostics are more reliable than from API method failures, so process those first.\n if (\n diagnostics?.network.latest.networkReceiveQuality?.value === DiagnosticQuality.Bad ||\n diagnostics?.network.latest.networkReceiveQuality?.value === DiagnosticQuality.Poor\n ) {\n activeErrorMessages.push({ type: 'callNetworkQualityLow' });\n }\n if (diagnostics?.media.latest.noSpeakerDevicesEnumerated?.value === true) {\n activeErrorMessages.push({ type: 'callNoSpeakerFound' });\n }\n if (diagnostics?.media.latest.noMicrophoneDevicesEnumerated?.value === true) {\n activeErrorMessages.push({ type: 'callNoMicrophoneFound' });\n }\n if (deviceManager.deviceAccess?.audio === false && isSafari()) {\n activeErrorMessages.push({ type: 'callMicrophoneAccessDeniedSafari' });\n }\n if (deviceManager.deviceAccess?.audio === false && !isSafari()) {\n activeErrorMessages.push({ type: 'callMicrophoneAccessDenied' });\n }\n\n if (diagnostics?.media.latest.microphonePermissionDenied?.value === true && isMacOS()) {\n activeErrorMessages.push({ type: 'callMacOsMicrophoneAccessDenied' });\n } else if (diagnostics?.media.latest.microphonePermissionDenied?.value === true) {\n activeErrorMessages.push({ type: 'callMicrophoneAccessDenied' });\n }\n\n const microphoneMuteUnexpectedlyDiagnostic =\n diagnostics?.media.latest.microphoneMuteUnexpectedly || diagnostics?.media.latest.microphoneNotFunctioning;\n if (microphoneMuteUnexpectedlyDiagnostic) {\n if (microphoneMuteUnexpectedlyDiagnostic.value === DiagnosticQuality.Bad) {\n // Inform the user that microphone stopped working and inform them to start microphone again\n activeErrorMessages.push({ type: 'callMicrophoneMutedBySystem' });\n } else if (microphoneMuteUnexpectedlyDiagnostic.value === DiagnosticQuality.Good) {\n // Inform the user that microphone recovered\n activeErrorMessages.push({ type: 'callMicrophoneUnmutedBySystem' });\n }\n }\n\n const cameraStoppedUnexpectedlyDiagnostic = diagnostics?.media.latest.cameraStoppedUnexpectedly;\n if (cameraStoppedUnexpectedlyDiagnostic) {\n if (cameraStoppedUnexpectedlyDiagnostic.value === DiagnosticQuality.Bad) {\n // Inform the user that camera stopped working and inform them to start video again\n activeErrorMessages.push({ type: 'callVideoStoppedBySystem' });\n } else if (cameraStoppedUnexpectedlyDiagnostic.value === DiagnosticQuality.Good) {\n // Inform the user that camera recovered\n activeErrorMessages.push({ type: 'callVideoRecoveredBySystem' });\n }\n }\n if (deviceManager.deviceAccess?.video === false && isSafari()) {\n activeErrorMessages.push({ type: 'callCameraAccessDeniedSafari' });\n } else if (deviceManager.deviceAccess?.video === false) {\n activeErrorMessages.push({ type: 'callCameraAccessDenied' });\n } else {\n if (diagnostics?.media.latest.cameraFreeze?.value === true) {\n activeErrorMessages.push({ type: 'cameraFrozenForRemoteParticipants' });\n }\n }\n\n /**\n * show the Mac specific strings if the platform is detected as mac\n */\n if (diagnostics?.media.latest.cameraPermissionDenied?.value === true && isMacOS()) {\n activeErrorMessages.push({ type: 'callMacOsCameraAccessDenied' });\n }\n\n /**\n * This UFD only works on mac still so we should only see it fire on mac.\n */\n if (diagnostics?.media.latest.screenshareRecordingDisabled?.value === true && isMacOS()) {\n activeErrorMessages.push({ type: 'callMacOsScreenShareAccessDenied' });\n } else if (diagnostics?.media.latest.screenshareRecordingDisabled?.value === true) {\n activeErrorMessages.push({ type: 'startScreenShareGeneric' });\n }\n\n // Prefer to show errors with privacy implications.\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.stopVideo', 'stopVideoGeneric');\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.mute', 'muteGeneric');\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.stopScreenSharing', 'stopScreenShareGeneric');\n\n if (\n latestErrors['Call.startVideo']?.message === 'Call.startVideo: Video operation failure SourceUnavailableError'\n ) {\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.startVideo', 'callCameraAlreadyInUse');\n } else if (\n latestErrors['Call.startVideo']?.message === 'Call.startVideo: Video operation failure permissionDeniedError'\n ) {\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.startVideo', 'callCameraAccessDenied');\n } else {\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.startVideo', 'startVideoGeneric');\n }\n\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'Call.unmute', 'unmuteGeneric');\n\n appendActiveErrorIfDefined(\n activeErrorMessages,\n latestErrors,\n 'VideoEffectsFeature.startEffects',\n 'unableToStartVideoEffect'\n );\n\n if (latestErrors['CallAgent.join']?.message === 'CallAgent.join: Invalid meeting link') {\n appendActiveErrorIfDefined(\n activeErrorMessages,\n latestErrors,\n 'CallAgent.join',\n 'failedToJoinCallInvalidMeetingLink'\n );\n } else {\n appendActiveErrorIfDefined(activeErrorMessages, latestErrors, 'CallAgent.join', 'failedToJoinCallGeneric');\n }\n\n if (\n latestErrors['Call.feature']?.message.match(\n /Call\\.feature: startSpotlight failed\\. \\d+ is the max number of participants that can be Spotlighted/g\n )\n ) {\n appendActiveErrorIfDefined(\n activeErrorMessages,\n latestErrors,\n 'Call.feature',\n 'startSpotlightWhileMaxParticipantsAreSpotlighted'\n );\n }\n return { activeErrorMessages: activeErrorMessages };\n }\n);\n/* @conditional-compile-remove(notifications) */\nconst appendActiveErrorIfDefined = (\n activeErrorMessages: ActiveNotification[],\n latestErrors: CallErrors,\n target: CallErrorTarget,\n activeErrorType: NotificationType\n): void => {\n if (latestErrors[target] === undefined) {\n return;\n }\n activeErrorMessages.push({\n type: activeErrorType,\n timestamp: latestErrors[target].timestamp\n });\n};\n"]}
@@ -1,22 +0,0 @@
1
- /// <reference types="react" />
2
- import { IMessageBarProps } from '@fluentui/react';
3
- /**
4
- * @private
5
- */
6
- export interface BadNetworkQualityBannerProps extends IMessageBarProps {
7
- isPoorNetworkQuality: boolean;
8
- onDismissNotification?: () => void;
9
- onPrimaryButtonClick?: () => void;
10
- }
11
- /**
12
- * Create a record for bad network when the notification recieved.
13
- *
14
- * @private
15
- */
16
- export declare const useBadNetworkQualityNotifications: (connectionLostFlag: boolean) => BadNetworkQualityBannerProps;
17
- /**
18
- * Connection lost notification bar during teams meeting, which provides a message to use PSTN option.
19
- * @beta
20
- */
21
- export declare const BadNetworkQualityNotificationBar: (props: BadNetworkQualityBannerProps) => JSX.Element;
22
- //# sourceMappingURL=BadNetworkQualityNotificationBar.d.ts.map
@@ -1,40 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- /* @conditional-compile-remove(teams-meeting-conference) */
4
- import { Notification } from "../../../../../react-components/src";
5
- /* @conditional-compile-remove(teams-meeting-conference) */
6
- import React, { useEffect, useMemo, useState } from 'react';
7
- /* @conditional-compile-remove(teams-meeting-conference) */
8
- import { useLocale } from '../../localization';
9
- /* @conditional-compile-remove(teams-meeting-conference) */
10
- /**
11
- * Create a record for bad network when the notification recieved.
12
- *
13
- * @private
14
- */
15
- export const useBadNetworkQualityNotifications = (connectionLostFlag) => {
16
- const [currentConnectionLost, setCurrentConnectionLost] = useState(false);
17
- useEffect(() => {
18
- setCurrentConnectionLost(connectionLostFlag);
19
- }, [connectionLostFlag]);
20
- const connectionLost = useMemo(() => currentConnectionLost, [currentConnectionLost]);
21
- return {
22
- isPoorNetworkQuality: connectionLost
23
- };
24
- };
25
- /* @conditional-compile-remove(teams-meeting-conference) */
26
- /**
27
- * Connection lost notification bar during teams meeting, which provides a message to use PSTN option.
28
- * @beta
29
- */
30
- export const BadNetworkQualityNotificationBar = (props) => {
31
- const localeStrings = useLocale().component.strings.MeetingConferencePhoneInfo;
32
- const barStrings = {
33
- title: localeStrings.badQualityBarTitle ? localeStrings.badQualityBarTitle : '',
34
- closeButtonAriaLabel: localeStrings.badQualityBarClose ? localeStrings.badQualityBarClose : '',
35
- message: localeStrings.badQualityBarMessage ? localeStrings.badQualityBarMessage : '',
36
- primaryButtonLabel: localeStrings.badQualityBarJoin ? localeStrings.badQualityBarJoin : ''
37
- };
38
- return (React.createElement(Notification, { notificationStrings: barStrings, notificationIconProps: { iconName: 'ErrorBarCallNetworkQualityLow' }, onClickPrimaryButton: () => props.onPrimaryButtonClick && props.onPrimaryButtonClick(), onDismiss: () => props.onDismissNotification && props.onDismissNotification() }));
39
- };
40
- //# sourceMappingURL=BadNetworkQualityNotificationBar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BadNetworkQualityNotificationBar.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/components/BadNetworkQualityNotificationBar.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC,2DAA2D;AAC3D,OAAO,EAAE,YAAY,EAAE,4CAAmC;AAC1D,2DAA2D;AAC3D,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5D,2DAA2D;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAY/C,2DAA2D;AAC3D;;;;GAIG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,kBAA2B,EAAgC,EAAE;IAC7G,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAC;IAEnF,SAAS,CAAC,GAAG,EAAE;QACb,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;IAC/C,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;IAEzB,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAErF,OAAO;QACL,oBAAoB,EAAE,cAAc;KACrC,CAAC;AACJ,CAAC,CAAC;AAEF,2DAA2D;AAC3D;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,KAAmC,EAAe,EAAE;IACnG,MAAM,aAAa,GAAG,SAAS,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,0BAA0B,CAAC;IAE/E,MAAM,UAAU,GAAG;QACjB,KAAK,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;QAC/E,oBAAoB,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;QAC9F,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE;QACrF,kBAAkB,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;KAC3F,CAAC;IAEF,OAAO,CACL,oBAAC,YAAY,IACX,mBAAmB,EAAE,UAAU,EAC/B,qBAAqB,EAAE,EAAE,QAAQ,EAAE,+BAA+B,EAAE,EACpE,oBAAoB,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,oBAAoB,IAAI,KAAK,CAAC,oBAAoB,EAAE,EACtF,SAAS,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,qBAAqB,IAAI,KAAK,CAAC,qBAAqB,EAAE,GAC7E,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { IMessageBarProps } from '@fluentui/react';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { Notification } from '@internal/react-components';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport React, { useEffect, useMemo, useState } from 'react';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { useLocale } from '../../localization';\n\n/* @conditional-compile-remove(teams-meeting-conference) */\n/**\n * @private\n */\nexport interface BadNetworkQualityBannerProps extends IMessageBarProps {\n isPoorNetworkQuality: boolean;\n onDismissNotification?: () => void;\n onPrimaryButtonClick?: () => void;\n}\n\n/* @conditional-compile-remove(teams-meeting-conference) */\n/**\n * Create a record for bad network when the notification recieved.\n *\n * @private\n */\nexport const useBadNetworkQualityNotifications = (connectionLostFlag: boolean): BadNetworkQualityBannerProps => {\n const [currentConnectionLost, setCurrentConnectionLost] = useState<boolean>(false);\n\n useEffect(() => {\n setCurrentConnectionLost(connectionLostFlag);\n }, [connectionLostFlag]);\n\n const connectionLost = useMemo(() => currentConnectionLost, [currentConnectionLost]);\n\n return {\n isPoorNetworkQuality: connectionLost\n };\n};\n\n/* @conditional-compile-remove(teams-meeting-conference) */\n/**\n * Connection lost notification bar during teams meeting, which provides a message to use PSTN option.\n * @beta\n */\nexport const BadNetworkQualityNotificationBar = (props: BadNetworkQualityBannerProps): JSX.Element => {\n const localeStrings = useLocale().component.strings.MeetingConferencePhoneInfo;\n\n const barStrings = {\n title: localeStrings.badQualityBarTitle ? localeStrings.badQualityBarTitle : '',\n closeButtonAriaLabel: localeStrings.badQualityBarClose ? localeStrings.badQualityBarClose : '',\n message: localeStrings.badQualityBarMessage ? localeStrings.badQualityBarMessage : '',\n primaryButtonLabel: localeStrings.badQualityBarJoin ? localeStrings.badQualityBarJoin : ''\n };\n\n return (\n <Notification\n notificationStrings={barStrings}\n notificationIconProps={{ iconName: 'ErrorBarCallNetworkQualityLow' }}\n onClickPrimaryButton={() => props.onPrimaryButtonClick && props.onPrimaryButtonClick()}\n onDismiss={() => props.onDismissNotification && props.onDismissNotification()}\n />\n );\n};\n"]}
@@ -1,19 +0,0 @@
1
- import * as reselect from 'reselect';
2
- import { DiagnosticQuality } from '@azure/communication-calling';
3
- /**
4
- * @private
5
- */
6
- export declare const badNetworkQualityBannerSelector: ((state: import("index").CallAdapterUiState & import("index").CallAdapterClientState) => {
7
- isPoorNetworkQuality: boolean;
8
- }) & reselect.OutputSelectorFields<(args_0: import("index").DiagnosticsCallFeatureState | undefined) => {
9
- isPoorNetworkQuality: boolean;
10
- }, {
11
- clearCache: () => void;
12
- }> & {
13
- clearCache: () => void;
14
- };
15
- /**
16
- * @prative
17
- */
18
- export declare const isNetworkQualityPoor: (diagnostics: DiagnosticQuality | boolean | undefined) => boolean;
19
- //# sourceMappingURL=badNetworkQualitySelector.d.ts.map
@@ -1,26 +0,0 @@
1
- // Copyright (c) Microsoft Corporation.
2
- // Licensed under the MIT License.
3
- /* @conditional-compile-remove(teams-meeting-conference) */
4
- import * as reselect from 'reselect';
5
- /* @conditional-compile-remove(teams-meeting-conference) */
6
- import { getUserFacingDiagnostics } from './baseSelectors';
7
- /* @conditional-compile-remove(teams-meeting-conference) */
8
- import { DiagnosticQuality } from '@azure/communication-calling';
9
- /* @conditional-compile-remove(teams-meeting-conference) */
10
- /**
11
- * @private
12
- */
13
- export const badNetworkQualityBannerSelector = reselect.createSelector([getUserFacingDiagnostics], (diagnostics) => {
14
- var _a;
15
- return {
16
- isPoorNetworkQuality: isNetworkQualityPoor((_a = diagnostics === null || diagnostics === void 0 ? void 0 : diagnostics.network.latest.networkReceiveQuality) === null || _a === void 0 ? void 0 : _a.value)
17
- };
18
- });
19
- /* @conditional-compile-remove(teams-meeting-conference) */
20
- /**
21
- * @prative
22
- */
23
- export const isNetworkQualityPoor = (diagnostics) => {
24
- return diagnostics === DiagnosticQuality.Poor || diagnostics === DiagnosticQuality.Bad;
25
- };
26
- //# sourceMappingURL=badNetworkQualitySelector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"badNetworkQualitySelector.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/selectors/badNetworkQualitySelector.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,2DAA2D;AAC3D,OAAO,KAAK,QAAQ,MAAM,UAAU,CAAC;AACrC,2DAA2D;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,2DAA2D;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,2DAA2D;AAC3D;;GAEG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,QAAQ,CAAC,cAAc,CAAC,CAAC,wBAAwB,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE;;IACjH,OAAO;QACL,oBAAoB,EAAE,oBAAoB,CAAC,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAC,MAAM,CAAC,qBAAqB,0CAAE,KAAK,CAAC;KACrG,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,2DAA2D;AAC3D;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,WAAoD,EAAW,EAAE;IACpG,OAAO,WAAW,KAAK,iBAAiB,CAAC,IAAI,IAAI,WAAW,KAAK,iBAAiB,CAAC,GAAG,CAAC;AACzF,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport * as reselect from 'reselect';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { getUserFacingDiagnostics } from './baseSelectors';\n/* @conditional-compile-remove(teams-meeting-conference) */\nimport { DiagnosticQuality } from '@azure/communication-calling';\n\n/* @conditional-compile-remove(teams-meeting-conference) */\n/**\n * @private\n */\nexport const badNetworkQualityBannerSelector = reselect.createSelector([getUserFacingDiagnostics], (diagnostics) => {\n return {\n isPoorNetworkQuality: isNetworkQualityPoor(diagnostics?.network.latest.networkReceiveQuality?.value)\n };\n});\n\n/* @conditional-compile-remove(teams-meeting-conference) */\n/**\n * @prative\n */\nexport const isNetworkQualityPoor = (diagnostics: DiagnosticQuality | boolean | undefined): boolean => {\n return diagnostics === DiagnosticQuality.Poor || diagnostics === DiagnosticQuality.Bad;\n};\n"]}