@azure/communication-react 1.19.0-alpha-202408221617 → 1.19.0-alpha-202408230014

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 (64) hide show
  1. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-DSf6W5Na.js → ChatMessageComponentAsRichTextEditBox-pRNZJbdQ.js} +2 -2
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-DSf6W5Na.js.map → ChatMessageComponentAsRichTextEditBox-pRNZJbdQ.js.map} +1 -1
  3. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-Cp5_HaZs.js → RichTextSendBoxWrapper-Bz_KlOv9.js} +2 -2
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-Cp5_HaZs.js.map → RichTextSendBoxWrapper-Bz_KlOv9.js.map} +1 -1
  5. package/dist/dist-cjs/communication-react/{index-DpiiYxjR.js → index-C6b4-4lG.js} +66 -164
  6. package/dist/dist-cjs/communication-react/index-C6b4-4lG.js.map +1 -0
  7. package/dist/dist-cjs/communication-react/index.js +1 -1
  8. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  10. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js +3 -11
  11. package/dist/dist-esm/calling-component-bindings/src/hooks/usePropsFor.js.map +1 -1
  12. package/dist/dist-esm/calling-component-bindings/src/index.js +0 -1
  13. package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
  14. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js +0 -6
  15. package/dist/dist-esm/calling-component-bindings/src/notificationStackSelector.js.map +1 -1
  16. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +0 -1
  17. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  18. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  19. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +0 -3
  20. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  21. package/dist/dist-esm/calling-stateful-client/src/Converter.js +0 -1
  22. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  23. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js +0 -3
  24. package/dist/dist-esm/calling-stateful-client/src/RemoteVideoStreamSubscriber.js.map +1 -1
  25. package/dist/dist-esm/communication-react/src/index.js +0 -1
  26. package/dist/dist-esm/communication-react/src/index.js.map +1 -1
  27. package/dist/dist-esm/react-components/src/components/NotificationStack.js +0 -2
  28. package/dist/dist-esm/react-components/src/components/NotificationStack.js.map +1 -1
  29. package/dist/dist-esm/react-components/src/components/index.js +0 -2
  30. package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
  31. package/dist/dist-esm/react-components/src/components/utils.js +0 -8
  32. package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
  33. package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
  34. package/dist/dist-esm/react-components/src/theming/icons.js +0 -2
  35. package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
  36. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +22 -52
  37. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  38. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +3 -2
  39. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +10 -40
  40. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
  41. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.d.ts +1 -0
  42. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +4 -1
  43. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -1
  44. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +2 -2
  45. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +6 -14
  46. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
  47. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +1 -1
  48. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  49. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.d.ts +2 -2
  50. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +5 -9
  51. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
  52. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.d.ts +2 -2
  53. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +5 -9
  54. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
  55. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +5 -9
  56. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
  57. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.d.ts +1 -1
  58. package/dist/dist-esm/react-composites/src/composites/CallComposite/types/ErrorTracking.js.map +1 -1
  59. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.d.ts +3 -3
  60. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/TrackErrors.js.map +1 -1
  61. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +0 -3
  62. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
  63. package/package.json +1 -1
  64. package/dist/dist-cjs/communication-react/index-DpiiYxjR.js.map +0 -1
@@ -189,7 +189,7 @@ function getDefaultExportFromCjs (x) {
189
189
  // Copyright (c) Microsoft Corporation.
190
190
  // Licensed under the MIT License.
191
191
  // GENERATED FILE. DO NOT EDIT MANUALLY.
192
- var telemetryVersion = '1.19.0-alpha-202408221617';
192
+ var telemetryVersion = '1.19.0-alpha-202408230014';
193
193
 
194
194
 
195
195
  var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
@@ -2526,21 +2526,13 @@ const customNotificationIconName = {
2526
2526
  /* @conditional-compile-remove(soft-mute) */
2527
2527
  mutedByRemoteParticipant: 'ErrorBarMutedByRemoteParticipant',
2528
2528
  speakingWhileMuted: 'ErrorBarCallMicrophoneMutedBySystem',
2529
- /* @conditional-compile-remove(notifications) */
2530
2529
  recordingStarted: 'NotificationBarRecording',
2531
- /* @conditional-compile-remove(notifications) */
2532
2530
  transcriptionStarted: 'NotificationBarRecording',
2533
- /* @conditional-compile-remove(notifications) */
2534
2531
  recordingStopped: 'NotificationBarRecording',
2535
- /* @conditional-compile-remove(notifications) */
2536
2532
  transcriptionStopped: 'NotificationBarRecording',
2537
- /* @conditional-compile-remove(notifications) */
2538
2533
  recordingAndTranscriptionStarted: 'NotificationBarRecording',
2539
- /* @conditional-compile-remove(notifications) */
2540
2534
  recordingAndTranscriptionStopped: 'NotificationBarRecording',
2541
- /* @conditional-compile-remove(notifications) */
2542
2535
  recordingStoppedStillTranscribing: 'NotificationBarRecording',
2543
- /* @conditional-compile-remove(notifications) */
2544
2536
  transcriptionStoppedStillRecording: 'NotificationBarRecording',
2545
2537
  /* @conditional-compile-remove(breakout-rooms) */
2546
2538
  assignedBreakoutRoomOpened: 'NotificationBarBreakoutRoomOpened',
@@ -3252,7 +3244,6 @@ const DEFAULT_COMPONENT_ICONS = {
3252
3244
  ErrorBarCallVideoStoppedBySystem: React.createElement(reactIcons.VideoProhibited16Filled, null),
3253
3245
  /* @conditional-compile-remove(soft-mute) */
3254
3246
  ErrorBarMutedByRemoteParticipant: React.createElement(reactIcons.MicOff16Regular, null),
3255
- /* @conditional-compile-remove(notifications) */
3256
3247
  NotificationBarRecording: React.createElement(reactIcons.Record16Regular, null),
3257
3248
  /* @conditional-compile-remove(breakout-rooms) */
3258
3249
  NotificationBarBreakoutRoomOpened: React.createElement(reactIcons.DoorArrowRight16Regular, null),
@@ -10762,7 +10753,7 @@ class _ErrorBoundary extends React.Component {
10762
10753
  // Copyright (c) Microsoft Corporation.
10763
10754
  // Licensed under the MIT License.
10764
10755
  /* @conditional-compile-remove(rich-text-editor) */
10765
- const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-DSf6W5Na.js'); }));
10756
+ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-pRNZJbdQ.js'); }));
10766
10757
  /**
10767
10758
  * @private
10768
10759
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -10770,7 +10761,7 @@ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve()
10770
10761
  *
10771
10762
  * @conditional-compile-remove(rich-text-editor)
10772
10763
  */
10773
- const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-DSf6W5Na.js'); });
10764
+ const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-pRNZJbdQ.js'); });
10774
10765
  /**
10775
10766
  * @private
10776
10767
  */
@@ -20211,7 +20202,6 @@ const Notification = (props) => {
20211
20202
  */
20212
20203
  const NotificationStack = (props) => {
20213
20204
  var _a, _b;
20214
- /* @conditional-compile-remove(notifications) */
20215
20205
  const localeStrings = useLocale$1().strings.notificationStack;
20216
20206
  const strings = (_a = props.strings) !== null && _a !== void 0 ? _a : localeStrings;
20217
20207
  const maxNotificationsToShow = (_b = props.maxNotificationsToShow) !== null && _b !== void 0 ? _b : 2;
@@ -22992,7 +22982,7 @@ const AttachmentDownloadErrorBar = (props) => {
22992
22982
  /**
22993
22983
  * Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox with lazy loading
22994
22984
  */
22995
- const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-Cp5_HaZs.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
22985
+ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-Bz_KlOv9.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
22996
22986
  /**
22997
22987
  * @private
22998
22988
  * Use this function to load RoosterJS dependencies early in the lifecycle.
@@ -23000,7 +22990,7 @@ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function
23000
22990
  *
23001
22991
  /* @conditional-compile-remove(rich-text-editor-composite-support)
23002
22992
  */
23003
- const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-Cp5_HaZs.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
22993
+ const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-Bz_KlOv9.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
23004
22994
  /**
23005
22995
  * @private
23006
22996
  */
@@ -24884,8 +24874,6 @@ const createDefaultTeamsCallingHandlers = memoizeOne((callClient, callAgent, dev
24884
24874
 
24885
24875
  // Copyright (c) Microsoft Corporation.
24886
24876
  // Licensed under the MIT License.
24887
- /* @conditional-compile-remove(notifications) */
24888
- /* @conditional-compile-remove(notifications) */
24889
24877
  /**
24890
24878
  * Select the active errors from the state for the `Notification` component.
24891
24879
  *
@@ -25074,7 +25062,6 @@ const notificationStackSelector = reselect.createSelector([
25074
25062
  }
25075
25063
  return { activeErrorMessages: activeErrorMessages, activeNotifications: activeNotifications };
25076
25064
  });
25077
- /* @conditional-compile-remove(notifications) */
25078
25065
  const appendActiveErrorIfDefined$1 = (activeErrorMessages, latestErrors, target, activeErrorType) => {
25079
25066
  if (latestErrors[target] === undefined) {
25080
25067
  return;
@@ -25479,7 +25466,6 @@ function convertSdkRemoteStreamToDeclarativeRemoteStream(stream) {
25479
25466
  id: stream.id,
25480
25467
  mediaStreamType: stream.mediaStreamType,
25481
25468
  isAvailable: stream.isAvailable,
25482
- /* @conditional-compile-remove(video-stream-is-receiving-flag) */
25483
25469
  isReceiving: stream.isReceiving,
25484
25470
  view: undefined,
25485
25471
  streamSize: stream.size
@@ -26390,7 +26376,6 @@ let CallContext$2 = class CallContext {
26390
26376
  const existingStream = participant.videoStreams[stream.id];
26391
26377
  if (existingStream) {
26392
26378
  existingStream.isAvailable = stream.isAvailable;
26393
- /* @conditional-compile-remove(video-stream-is-receiving-flag) */
26394
26379
  existingStream.isReceiving = stream.isReceiving;
26395
26380
  existingStream.mediaStreamType = stream.mediaStreamType;
26396
26381
  }
@@ -26415,7 +26400,6 @@ let CallContext$2 = class CallContext {
26415
26400
  }
26416
26401
  });
26417
26402
  }
26418
- /* @conditional-compile-remove(video-stream-is-receiving-flag) */
26419
26403
  setRemoteVideoStreamIsReceiving(callId, participantKey, streamId, isReceiving) {
26420
26404
  this.modifyState((draft) => {
26421
26405
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
@@ -26460,7 +26444,6 @@ let CallContext$2 = class CallContext {
26460
26444
  if (stream) {
26461
26445
  stream.mediaStreamType = newStream.mediaStreamType;
26462
26446
  stream.isAvailable = newStream.isAvailable;
26463
- /* @conditional-compile-remove(video-stream-is-receiving-flag) */
26464
26447
  stream.isReceiving = newStream.isReceiving;
26465
26448
  }
26466
26449
  else {
@@ -27010,14 +26993,12 @@ class RemoteVideoStreamSubscriber {
27010
26993
  constructor(callIdRef, participantKey, remoteVideoStream, context) {
27011
26994
  this.subscribe = () => {
27012
26995
  this._remoteVideoStream.on('isAvailableChanged', this.isAvailableChanged);
27013
- /* @conditional-compile-remove(video-stream-is-receiving-flag) */
27014
26996
  this._remoteVideoStream.on('isReceivingChanged', this.isReceivingChanged);
27015
26997
  this._remoteVideoStream.on('sizeChanged', this.isSizeChanged);
27016
26998
  this.checkAndUpdateScreenShareState();
27017
26999
  };
27018
27000
  this.unsubscribe = () => {
27019
27001
  this._remoteVideoStream.off('isAvailableChanged', this.isAvailableChanged);
27020
- /* @conditional-compile-remove(video-stream-is-receiving-flag) */
27021
27002
  this._remoteVideoStream.off('isReceivingChanged', this.isReceivingChanged);
27022
27003
  this._remoteVideoStream.off('sizeChanged', this.isSizeChanged);
27023
27004
  };
@@ -27068,7 +27049,6 @@ class RemoteVideoStreamSubscriber {
27068
27049
  this._context.setRemoteVideoStreamIsAvailable(this._callIdRef.callId, this._participantKey, this._remoteVideoStream.id, this._remoteVideoStream.isAvailable);
27069
27050
  this.checkAndUpdateScreenShareState();
27070
27051
  };
27071
- /* @conditional-compile-remove(video-stream-is-receiving-flag) */
27072
27052
  this.isReceivingChanged = () => {
27073
27053
  this._context.setRemoteVideoStreamIsReceiving(this._callIdRef.callId, this._participantKey, this._remoteVideoStream.id, this._remoteVideoStream.isReceiving);
27074
27054
  };
@@ -29987,7 +29967,6 @@ const convertRemoteVideoStreamToVideoGalleryStream = (stream) => {
29987
29967
  return {
29988
29968
  id: stream.id,
29989
29969
  isAvailable: stream.isAvailable,
29990
- /* @conditional-compile-remove(video-stream-is-receiving-flag) */
29991
29970
  isReceiving: stream.isReceiving,
29992
29971
  isMirrored: (_a = stream.view) === null || _a === void 0 ? void 0 : _a.isMirrored,
29993
29972
  renderElement: (_b = stream.view) === null || _b === void 0 ? void 0 : _b.target,
@@ -30492,10 +30471,6 @@ const getSelector = (component) => {
30492
30471
  if (component === HoldButton) {
30493
30472
  return findConditionalCompiledSelector(component);
30494
30473
  }
30495
- /* @conditional-compile-remove(notifications) */
30496
- if (component === NotificationStack) {
30497
- return findConditionalCompiledSelector(component);
30498
- }
30499
30474
  /* @conditional-compile-remove(one-to-n-calling) */
30500
30475
  if (component === IncomingCallStack) {
30501
30476
  return findConditionalCompiledSelector(component);
@@ -30530,20 +30505,18 @@ const findSelector = (component) => {
30530
30505
  return raiseHandButtonSelector;
30531
30506
  case ReactionButton:
30532
30507
  return reactionButtonSelector;
30508
+ case NotificationStack:
30509
+ return notificationStackSelector;
30533
30510
  }
30534
30511
  return undefined;
30535
30512
  };
30536
- /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(notifications) */ /* @conditional-compile-remove(one-to-n-calling) */
30513
+ /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
30537
30514
  const findConditionalCompiledSelector = (component) => {
30538
30515
  switch (component) {
30539
30516
  /* @conditional-compile-remove(PSTN-calls) */
30540
30517
  case HoldButton:
30541
30518
  /* @conditional-compile-remove(PSTN-calls) */
30542
30519
  return holdButtonSelector;
30543
- /* @conditional-compile-remove(notifications) */
30544
- case NotificationStack:
30545
- /* @conditional-compile-remove(notifications) */
30546
- return notificationStackSelector;
30547
30520
  /* @conditional-compile-remove(one-to-n-calling) */
30548
30521
  case IncomingCallStack:
30549
30522
  /* @conditional-compile-remove(one-to-n-calling) */
@@ -31174,7 +31147,6 @@ const getSelectedCameraFromAdapterState = (state) => state.devices.selectedCamer
31174
31147
  const getLocatorOrTargetCallees = (locatorOrTargetCallees) => {
31175
31148
  return !!Array.isArray(locatorOrTargetCallees);
31176
31149
  };
31177
- /* @conditional-compile-remove(notifications) */
31178
31150
  /**
31179
31151
  * Return different conditions based on the current and previous state of recording and transcribing
31180
31152
  *
@@ -31214,7 +31186,6 @@ const computeVariant = (callRecordState, callTranscribeState) => {
31214
31186
  return 'noState';
31215
31187
  }
31216
31188
  };
31217
- /* @conditional-compile-remove(notifications) */
31218
31189
  /**
31219
31190
  * @private
31220
31191
  */
@@ -31235,7 +31206,6 @@ function determineStates(previous, current) {
31235
31206
  }
31236
31207
  }
31237
31208
  }
31238
- /* @conditional-compile-remove(notifications) */
31239
31209
  /**
31240
31210
  * Compute compliance notification based on latest compliance state and cached props.
31241
31211
  * @private
@@ -33812,11 +33782,6 @@ const showDtmfDialerButton = (options) => {
33812
33782
  }
33813
33783
  };
33814
33784
 
33815
- // Copyright (c) Microsoft Corporation.
33816
- // Licensed under the MIT License.
33817
- Object.assign({}, react.AnimationStyles.fadeIn100);
33818
- Object.assign(Object.assign({}, react.AnimationStyles.fadeOut200), { display: 'none' });
33819
-
33820
33785
  // Copyright (c) Microsoft Corporation.
33821
33786
  // Licensed under the MIT License.
33822
33787
  /**
@@ -36555,24 +36520,19 @@ const CallArrangement = (props) => {
36555
36520
  togglePeoplePane();
36556
36521
  }, [togglePeoplePane]);
36557
36522
  const drawerContainerStylesValue = React.useMemo(() => drawerContainerStyles(DRAWER_Z_INDEX), []);
36558
- let filteredLatestErrors = props.errorBarProps !== false ? props.latestErrors : [];
36559
- /* @conditional-compile-remove(notifications) */
36560
36523
  let filteredLatestErrorNotifications = props.showErrorNotifications
36561
36524
  ? props.latestErrors
36562
36525
  : [];
36563
36526
  const isCameraOn = useSelector$1(localVideoSelector).isAvailable;
36564
36527
  // TODO: move this logic to the error bar selector once role is plumbed from the headless SDK
36565
- if (role === 'Consumer' &&
36566
- (props.errorBarProps || /* @conditional-compile-remove(notifications) */ props.showErrorNotifications)) {
36567
- filteredLatestErrors = filteredLatestErrors.filter((e) => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');
36568
- /* @conditional-compile-remove(notifications) */
36528
+ if (role === 'Consumer' && (props.errorBarProps || props.showErrorNotifications)) {
36529
+ filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter((e) => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');
36530
+ }
36531
+ if (props.doNotShowCameraAccessNotifications) {
36569
36532
  filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter((e) => e.type !== 'callCameraAccessDenied' && e.type !== 'callCameraAccessDeniedSafari');
36570
36533
  }
36571
36534
  const isVideoPaneOpen = useIsParticularSidePaneOpen(VIDEO_EFFECTS_SIDE_PANE_ID);
36572
- if ((isVideoPaneOpen || !isCameraOn) &&
36573
- (props.errorBarProps || /* @conditional-compile-remove(notifications) */ props.showErrorNotifications)) {
36574
- filteredLatestErrors = filteredLatestErrors.filter((e) => e.type !== 'unableToStartVideoEffect');
36575
- /* @conditional-compile-remove(notifications) */
36535
+ if ((isVideoPaneOpen || !isCameraOn) && (props.errorBarProps || props.showErrorNotifications)) {
36576
36536
  filteredLatestErrorNotifications = filteredLatestErrorNotifications.filter((e) => e.type !== 'unableToStartVideoEffect');
36577
36537
  }
36578
36538
  /* @conditional-compile-remove(acs-close-captions) */
@@ -36587,7 +36547,6 @@ const CallArrangement = (props) => {
36587
36547
  const isCaptionsOn = useSelector$1(getCaptionsStatus);
36588
36548
  const minMaxDragPosition = useMinMaxDragPosition(props.modalLayerHostId);
36589
36549
  const pipStyles = React.useMemo(() => getPipStyles(theme), [theme]);
36590
- /* @conditional-compile-remove(notifications) */
36591
36550
  if (isTeamsMeeting) {
36592
36551
  filteredLatestErrorNotifications
36593
36552
  .filter((notification) => notification.type === 'teamsMeetingCallNetworkQualityLow')
@@ -36604,19 +36563,6 @@ const CallArrangement = (props) => {
36604
36563
  : (_f = props.capabilitiesChangedNotificationBarProps) === null || _f === void 0 ? void 0 : _f.capabilitiesChangedNotifications;
36605
36564
  /* @conditional-compile-remove(breakout-rooms) */
36606
36565
  const notificationStackStrings = useCompositeStringsForNotificationStackStrings(locale);
36607
- const errorNotificationTrampoline = () => {
36608
- /* @conditional-compile-remove(notifications) */
36609
- return (React.createElement(React.Fragment, null, props.showErrorNotifications && (React.createElement(react.Stack, { styles: notificationStackStyles, horizontalAlign: "center", verticalAlign: "center" },
36610
- React.createElement(NotificationStack, { onDismissNotification: props.onDismissError, activeNotifications: filteredLatestErrorNotifications })))));
36611
- };
36612
- const mutedNotificationTrampoline = () => {
36613
- /* @conditional-compile-remove(notifications) */
36614
- return React.createElement(React.Fragment, null);
36615
- };
36616
- const complianceBannerTrampoline = () => {
36617
- /* @conditional-compile-remove(notifications) */
36618
- return React.createElement(React.Fragment, null);
36619
- };
36620
36566
  return (React.createElement("div", { ref: containerRef, className: react.mergeStyles(containerDivStyles), id: props.id },
36621
36567
  React.createElement(react.Stack, { verticalFill: true, horizontalAlign: "stretch", className: containerClassName, "data-ui-id": props.dataUiId },
36622
36568
  React.createElement(react.Stack, { reversed: true, horizontal: verticalControlBar, grow: true, styles: callArrangementContainerStyles(verticalControlBar) },
@@ -36647,16 +36593,15 @@ const CallArrangement = (props) => {
36647
36593
  React.createElement(react.Stack.Item, { styles: callGalleryStyles, grow: true },
36648
36594
  React.createElement(react.Stack, { verticalFill: true, styles: mediaGalleryContainerStyles$1 },
36649
36595
  React.createElement(react.Stack.Item, { styles: notificationsContainerStyles },
36650
- complianceBannerTrampoline(),
36651
- errorNotificationTrampoline(),
36652
- /* @conditional-compile-remove(notifications) */ props.latestNotifications && (React.createElement(react.Stack, { styles: notificationStackStyles, horizontalAlign: "center", verticalAlign: "center" },
36596
+ props.showErrorNotifications && (React.createElement(react.Stack, { styles: notificationStackStyles, horizontalAlign: "center", verticalAlign: "center" },
36597
+ React.createElement(NotificationStack, { onDismissNotification: props.onDismissError, activeNotifications: filteredLatestErrorNotifications }))),
36598
+ props.latestNotifications && (React.createElement(react.Stack, { styles: notificationStackStyles, horizontalAlign: "center", verticalAlign: "center" },
36653
36599
  React.createElement(NotificationStack, { activeNotifications: props.latestNotifications, onDismissNotification: props.onDismissNotification,
36654
36600
  /* @conditional-compile-remove(breakout-rooms) */
36655
36601
  strings: notificationStackStrings }))),
36656
36602
  props.capabilitiesChangedNotificationBarProps &&
36657
36603
  props.capabilitiesChangedNotificationBarProps.capabilitiesChangedNotifications.length > 0 && (React.createElement(react.Stack, { styles: bannerNotificationStyles },
36658
- React.createElement(CapabilitiesChangedNotificationBar, Object.assign({}, props.capabilitiesChangedNotificationBarProps, { capabilitiesChangedNotifications: filteredCapabilitesChangedNotifications !== null && filteredCapabilitesChangedNotifications !== void 0 ? filteredCapabilitesChangedNotifications : [] })))),
36659
- mutedNotificationTrampoline()),
36604
+ React.createElement(CapabilitiesChangedNotificationBar, Object.assign({}, props.capabilitiesChangedNotificationBarProps, { capabilitiesChangedNotifications: filteredCapabilitesChangedNotifications !== null && filteredCapabilitesChangedNotifications !== void 0 ? filteredCapabilitesChangedNotifications : [] }))))),
36660
36605
  renderGallery && props.onRenderGalleryContent && props.onRenderGalleryContent(),
36661
36606
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ !isInLocalHold && (React.createElement(CaptionsBanner, { isMobile: props.mobileView, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, useTeamsCaptions: useTeamsCaptions }))))),
36662
36607
  React.createElement(SidePane, { mobileView: props.mobileView, maxWidth: isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined, minWidth: isVideoPaneOpen ? `${VIDEO_EFFECTS_SIDE_PANE_WIDTH_REM}rem` : undefined, updateSidePaneRenderer: props.updateSidePaneRenderer, onPeopleButtonClicked: props.mobileView && !shouldShowPeopleTabHeaderButton(props.callControlProps.options)
@@ -37135,12 +37080,8 @@ const DtmfDialpadPage = (props) => {
37135
37080
  * @private
37136
37081
  */
37137
37082
  const CallPage = (props) => {
37138
- var _a, _b;
37139
- const { callInvitationURL, onFetchAvatarPersonaData, onFetchParticipantMenuItems, options, mobileView, galleryLayout = 'floatingLocalVideo', onUserSetGalleryLayoutChange, userSetOverflowGalleryPosition = 'Responsive', onSetUserSetOverflowGalleryPosition, onCloseChatPane, pinnedParticipants = [], setPinnedParticipants, compositeAudioContext, disableAutoShowDtmfDialer = false,
37140
- /* @conditional-compile-remove(notifications) */
37141
- latestNotifications,
37142
- /* @conditional-compile-remove(notifications) */
37143
- onDismissNotification } = props;
37083
+ var _a, _b, _c, _d;
37084
+ const { callInvitationURL, onFetchAvatarPersonaData, onFetchParticipantMenuItems, options, mobileView, galleryLayout = 'floatingLocalVideo', onUserSetGalleryLayoutChange, userSetOverflowGalleryPosition = 'Responsive', onSetUserSetOverflowGalleryPosition, onCloseChatPane, pinnedParticipants = [], setPinnedParticipants, compositeAudioContext, disableAutoShowDtmfDialer = false, latestNotifications, onDismissNotification } = props;
37144
37085
  // To use useProps to get these states, we need to create another file wrapping Call,
37145
37086
  // It seems unnecessary in this case, so we get the updated states using this approach.
37146
37087
  const { callStatus } = useSelector$1(callStatusSelector);
@@ -37171,19 +37112,15 @@ const CallPage = (props) => {
37171
37112
  }
37172
37113
  };
37173
37114
  return (React.createElement(React.Fragment, null,
37174
- React.createElement(CallArrangement, { id: drawerMenuHostId, complianceBannerProps: Object.assign(Object.assign({}, complianceBannerProps), { strings }), errorBarProps: (options === null || options === void 0 ? void 0 : options.errorBar) !== false && errorBarProps,
37175
- /* @conditional-compile-remove(notifications) */
37176
- showErrorNotifications: (_a = options === null || options === void 0 ? void 0 : options.errorBar) !== null && _a !== void 0 ? _a : true, mutedNotificationProps: mutedNotificationProps, callControlProps: {
37115
+ React.createElement(CallArrangement, { id: drawerMenuHostId, complianceBannerProps: Object.assign(Object.assign({}, complianceBannerProps), { strings }), errorBarProps: (options === null || options === void 0 ? void 0 : options.errorBar) !== false && errorBarProps, showErrorNotifications: (_a = options === null || options === void 0 ? void 0 : options.errorBar) !== null && _a !== void 0 ? _a : true, mutedNotificationProps: mutedNotificationProps, callControlProps: {
37177
37116
  callInvitationURL: callInvitationURL,
37178
37117
  onFetchParticipantMenuItems: onFetchParticipantMenuItems,
37179
37118
  options: callControlOptions,
37180
37119
  increaseFlyoutItemSize: mobileView
37181
37120
  }, onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (onRenderGalleryContentTrampoline()) : (React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps, {
37182
- /* /* @conditional-compile-remove(teams-meeting-conference) */ isMobile: mobileView })))) : (React.createElement(React.Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors,
37183
- /* @conditional-compile-remove(notifications) */
37184
- latestNotifications: latestNotifications, onDismissError: props.onDismissError,
37185
- /* @conditional-compile-remove(notifications) */
37186
- onDismissNotification: onDismissNotification, onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition, onUserSetGalleryLayoutChange: onUserSetGalleryLayoutChange, userSetGalleryLayout: galleryLayout, capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent, setIsPromptOpen: setIsPromptOpen, setPromptProps: setPromptProps, hideSpotlightButtons: (_b = options === null || options === void 0 ? void 0 : options.spotlight) === null || _b === void 0 ? void 0 : _b.hideSpotlightButtons, pinnedParticipants: pinnedParticipantsChecked, setPinnedParticipants: setPinnedParticipants }),
37121
+ /* /* @conditional-compile-remove(teams-meeting-conference) */ isMobile: mobileView })))) : (React.createElement(React.Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors, latestNotifications: latestNotifications, onDismissError: props.onDismissError, onDismissNotification: onDismissNotification, onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition, onUserSetGalleryLayoutChange: onUserSetGalleryLayoutChange, userSetGalleryLayout: galleryLayout, capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent, setIsPromptOpen: setIsPromptOpen, setPromptProps: setPromptProps, hideSpotlightButtons: (_b = options === null || options === void 0 ? void 0 : options.spotlight) === null || _b === void 0 ? void 0 : _b.hideSpotlightButtons, pinnedParticipants: pinnedParticipantsChecked, setPinnedParticipants: setPinnedParticipants,
37122
+ /* @conditional-compile-remove(call-readiness) */
37123
+ doNotShowCameraAccessNotifications: ((_d = (_c = props.options) === null || _c === void 0 ? void 0 : _c.deviceChecks) === null || _d === void 0 ? void 0 : _d.camera) === 'doNotPrompt' }),
37187
37124
  React.createElement(Prompt, Object.assign({ isOpen: isPromptOpen, onDismiss: () => setIsPromptOpen(false) }, promptProps))));
37188
37125
  };
37189
37126
  /**
@@ -38000,7 +37937,10 @@ const CallReadinessModal = (props) => {
38000
37937
  // On Safari browser with 2 options: don't allow/never for this website again, when don't allow is clicked, permissionAPI returns prompt and PermissionGranted from calling sdk returns false (the right value)
38001
37938
  const videoState = permissionsState.camera;
38002
37939
  const audioState = permissionsState.microphone;
38003
- const showModal = videoState === 'denied' || videoState === 'prompt' || audioState === 'denied' || audioState === 'prompt';
37940
+ const showModal = (!props.doNotPromptCamera && videoState === 'denied') ||
37941
+ (!props.doNotPromptCamera && videoState === 'prompt') ||
37942
+ audioState === 'denied' ||
37943
+ audioState === 'prompt';
38004
37944
  /* @conditional-compile-remove(unsupported-browser) */
38005
37945
  const isSafari = _isSafari(environmentInfo);
38006
37946
  const modal = !showModal
@@ -38391,7 +38331,7 @@ const ConfigurationPage = (props) => {
38391
38331
  // show the following screen if permission API is availible (not unsupported) and videoState, audioState is assigned values
38392
38332
  videoState && videoState !== 'unsupported' && audioState && audioState !== 'unsupported' && (React.createElement(CallReadinessModal, { modalLayerHostId: modalLayerHostId, mobileView: mobileView,
38393
38333
  /* @conditional-compile-remove(unsupported-browser) */
38394
- environmentInfo: environmentInfo, permissionsState: permissionsState, isPermissionsModalDismissed: isPermissionsModalDismissed, setIsPermissionsModalDismissed: setIsPermissionsModalDismissed, onPermissionsTroubleshootingClick: onPermissionsTroubleshootingClick })),
38334
+ environmentInfo: environmentInfo, permissionsState: permissionsState, isPermissionsModalDismissed: isPermissionsModalDismissed, setIsPermissionsModalDismissed: setIsPermissionsModalDismissed, onPermissionsTroubleshootingClick: onPermissionsTroubleshootingClick, doNotPromptCamera: (deviceChecks === null || deviceChecks === void 0 ? void 0 : deviceChecks.camera) === 'doNotPrompt' })),
38395
38335
  /* @conditional-compile-remove(call-readiness) */
38396
38336
  // show the following screen if permission API is not availible (unsupported) and videoState, audioState is assigned values
38397
38337
  videoState && audioState && (videoState === 'unsupported' || audioState === 'unsupported') && (React.createElement(CallReadinessModalFallBack
@@ -38577,7 +38517,7 @@ const LobbyTile = (props) => {
38577
38517
  * @private
38578
38518
  */
38579
38519
  const LobbyPage = (props) => {
38580
- var _a, _b, _c, _d, _e, _f;
38520
+ var _a, _b, _c, _d, _e, _f, _g, _h;
38581
38521
  const errorBarProps = usePropsFor$1(ErrorBar);
38582
38522
  const lobbyProps = useSelector$1(lobbySelector);
38583
38523
  const strings = useLocale().strings.call;
@@ -38589,16 +38529,12 @@ const LobbyPage = (props) => {
38589
38529
  ? reduceCallControlsForMobile((_b = props.options) === null || _b === void 0 ? void 0 : _b.callControls)
38590
38530
  : (_c = props.options) === null || _c === void 0 ? void 0 : _c.callControls;
38591
38531
  callControlOptions = disableCallControls(callControlOptions, ['screenShareButton', 'participantsButton']);
38592
- return (React.createElement(CallArrangement, { complianceBannerProps: { strings }, errorBarProps: ((_d = props.options) === null || _d === void 0 ? void 0 : _d.errorBar) !== false && errorBarProps,
38593
- /* @conditional-compile-remove(notifications) */
38594
- showErrorNotifications: (_f = (_e = props.options) === null || _e === void 0 ? void 0 : _e.errorBar) !== null && _f !== void 0 ? _f : true, callControlProps: {
38532
+ return (React.createElement(CallArrangement, { complianceBannerProps: { strings }, errorBarProps: ((_d = props.options) === null || _d === void 0 ? void 0 : _d.errorBar) !== false && errorBarProps, showErrorNotifications: (_f = (_e = props.options) === null || _e === void 0 ? void 0 : _e.errorBar) !== null && _f !== void 0 ? _f : true, callControlProps: {
38595
38533
  options: callControlOptions,
38596
38534
  increaseFlyoutItemSize: props.mobileView
38597
- }, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => (React.createElement(LobbyTile, Object.assign({}, lobbyProps, { showLocalVideoCameraCycleButton: props.mobileView, overlayProps: overlayProps(strings, inLobby, Object.values(participants)) }))), dataUiId: 'lobby-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError,
38598
- /* @conditional-compile-remove(notifications) */
38599
- latestNotifications: props.latestNotifications,
38600
- /* @conditional-compile-remove(notifications) */
38601
- onDismissNotification: props.onDismissNotification }));
38535
+ }, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => (React.createElement(LobbyTile, Object.assign({}, lobbyProps, { showLocalVideoCameraCycleButton: props.mobileView, overlayProps: overlayProps(strings, inLobby, Object.values(participants)) }))), dataUiId: 'lobby-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError, latestNotifications: props.latestNotifications, onDismissNotification: props.onDismissNotification,
38536
+ /* @conditional-compile-remove(call-readiness) */
38537
+ doNotShowCameraAccessNotifications: ((_h = (_g = props.options) === null || _g === void 0 ? void 0 : _g.deviceChecks) === null || _h === void 0 ? void 0 : _h.camera) === 'doNotPrompt' }));
38602
38538
  };
38603
38539
  const overlayProps = (strings, inLobby, remoteParticipants) => {
38604
38540
  /**
@@ -38707,7 +38643,7 @@ const statusTextStyles = { textAlign: 'center', fontSize: '1rem' };
38707
38643
  * @private
38708
38644
  */
38709
38645
  const TransferPage = (props) => {
38710
- var _a, _b, _c, _d, _e, _f, _g;
38646
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
38711
38647
  const errorBarProps = usePropsFor$1(ErrorBar);
38712
38648
  const strings = useLocale().strings.call;
38713
38649
  const remoteParticipants = useSelector$1(getRemoteParticipants);
@@ -38741,18 +38677,14 @@ const TransferPage = (props) => {
38741
38677
  React.createElement(Announcer$1, { announcementString: announcerString, ariaLive: "polite" }),
38742
38678
  React.createElement(CallArrangement, { complianceBannerProps: { strings },
38743
38679
  // Ignore errors from before current call. This avoids old errors from showing up when a user re-joins a call.
38744
- errorBarProps: ((_e = props.options) === null || _e === void 0 ? void 0 : _e.errorBar) !== false && errorBarProps,
38745
- /* @conditional-compile-remove(notifications) */
38746
- showErrorNotifications: (_g = (_f = props.options) === null || _f === void 0 ? void 0 : _f.errorBar) !== null && _g !== void 0 ? _g : true, callControlProps: {
38680
+ errorBarProps: ((_e = props.options) === null || _e === void 0 ? void 0 : _e.errorBar) !== false && errorBarProps, showErrorNotifications: (_g = (_f = props.options) === null || _f === void 0 ? void 0 : _f.errorBar) !== null && _g !== void 0 ? _g : true, callControlProps: {
38747
38681
  options: callControlOptions,
38748
38682
  increaseFlyoutItemSize: props.mobileView
38749
38683
  }, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => (React.createElement(TransferTile, { userId: transferTileParticipant ? toFlatCommunicationIdentifier(transferTileParticipant === null || transferTileParticipant === void 0 ? void 0 : transferTileParticipant.identifier) : undefined, displayName: transferParticipantDisplayName, initialsName: transferParticipantDisplayName, statusText: pageSubject === 'transferTarget'
38750
38684
  ? strings.transferPageTransferTargetText
38751
- : strings.transferPageTransferorText, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData })), dataUiId: 'transfer-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError,
38752
- /* @conditional-compile-remove(notifications) */
38753
- onDismissNotification: props.onDismissNotification,
38754
- /* @conditional-compile-remove(notifications) */
38755
- latestNotifications: props.latestNotifications })));
38685
+ : strings.transferPageTransferorText, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData })), dataUiId: 'transfer-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, onDismissError: props.onDismissError, onDismissNotification: props.onDismissNotification, latestNotifications: props.latestNotifications,
38686
+ /* @conditional-compile-remove(call-readiness) */
38687
+ doNotShowCameraAccessNotifications: ((_j = (_h = props.options) === null || _h === void 0 ? void 0 : _h.deviceChecks) === null || _j === void 0 ? void 0 : _j.camera) === 'doNotPrompt' })));
38756
38688
  };
38757
38689
  const TransferTile = (props) => {
38758
38690
  const { displayName, initialsName, userId, onFetchAvatarPersonaData, statusText } = props;
@@ -38955,7 +38887,7 @@ const stringsTrampoline = (locale) => {
38955
38887
  * @beta
38956
38888
  */
38957
38889
  const HoldPage = (props) => {
38958
- var _a, _b, _c, _d, _e;
38890
+ var _a, _b, _c, _d, _e, _f, _g;
38959
38891
  const errorBarProps = usePropsFor$1(ErrorBar);
38960
38892
  const strings = useLocale().strings.call;
38961
38893
  let callControlOptions = props.mobileView
@@ -38970,16 +38902,12 @@ const HoldPage = (props) => {
38970
38902
  /* @conditional-compile-remove(one-to-n-calling) */
38971
38903
  'holdButton'
38972
38904
  ]);
38973
- return (React.createElement(CallArrangement, { complianceBannerProps: { strings }, errorBarProps: ((_c = props.options) === null || _c === void 0 ? void 0 : _c.errorBar) !== false && errorBarProps,
38974
- /* @conditional-compile-remove(notifications) */
38975
- showErrorNotifications: (_e = (_d = props.options) === null || _d === void 0 ? void 0 : _d.errorBar) !== null && _e !== void 0 ? _e : true, callControlProps: {
38905
+ return (React.createElement(CallArrangement, { complianceBannerProps: { strings }, errorBarProps: ((_c = props.options) === null || _c === void 0 ? void 0 : _c.errorBar) !== false && errorBarProps, showErrorNotifications: (_e = (_d = props.options) === null || _d === void 0 ? void 0 : _d.errorBar) !== null && _e !== void 0 ? _e : true, callControlProps: {
38976
38906
  options: callControlOptions,
38977
38907
  increaseFlyoutItemSize: props.mobileView
38978
- }, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => React.createElement(HoldPane, null), dataUiId: 'hold-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors,
38979
- /* @conditional-compile-remove(notifications) */
38980
- latestNotifications: props.latestNotifications, onDismissError: props.onDismissError,
38981
- /* @conditional-compile-remove(notifications) */
38982
- onDismissNotification: props.onDismissNotification }));
38908
+ }, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => React.createElement(HoldPane, null), dataUiId: 'hold-page', updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: props.latestErrors, latestNotifications: props.latestNotifications, onDismissError: props.onDismissError, onDismissNotification: props.onDismissNotification,
38909
+ /* @conditional-compile-remove(call-readiness) */
38910
+ doNotShowCameraAccessNotifications: ((_g = (_f = props.options) === null || _f === void 0 ? void 0 : _f.deviceChecks) === null || _g === void 0 ? void 0 : _g.camera) === 'doNotPrompt' }));
38983
38911
  };
38984
38912
 
38985
38913
  // Copyright (c) Microsoft Corporation.
@@ -39424,17 +39352,22 @@ const isShowing = (overrideSidePane) => {
39424
39352
  return !!(overrideSidePane === null || overrideSidePane === void 0 ? void 0 : overrideSidePane.isActive);
39425
39353
  };
39426
39354
  const MainScreen = (props) => {
39427
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
39355
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
39428
39356
  const adapter = useAdapter();
39429
39357
  const { camerasCount, microphonesCount } = useSelector$1(deviceCountSelector);
39430
39358
  const hasCameras = camerasCount > 0;
39431
39359
  const hasMicrophones = microphonesCount > 0;
39432
39360
  React.useEffect(() => {
39433
39361
  (() => __awaiter$b(void 0, void 0, void 0, function* () {
39434
- var _a;
39362
+ var _a, _b, _c, _d, _e;
39435
39363
  const constrain = getQueryOptions({
39436
39364
  role: (_a = adapter.getState().call) === null || _a === void 0 ? void 0 : _a.role
39437
39365
  });
39366
+ /* @conditional-compile-remove(call-readiness) */
39367
+ {
39368
+ constrain.audio = ((_c = (_b = props.options) === null || _b === void 0 ? void 0 : _b.deviceChecks) === null || _c === void 0 ? void 0 : _c.microphone) === 'doNotPrompt' ? false : constrain.audio;
39369
+ constrain.video = ((_e = (_d = props.options) === null || _d === void 0 ? void 0 : _d.deviceChecks) === null || _e === void 0 ? void 0 : _e.camera) === 'doNotPrompt' ? false : constrain.video;
39370
+ }
39438
39371
  yield adapter.askDevicePermission(constrain);
39439
39372
  adapter.queryCameras();
39440
39373
  adapter.queryMicrophones();
@@ -39442,6 +39375,8 @@ const MainScreen = (props) => {
39442
39375
  }))();
39443
39376
  }, [
39444
39377
  adapter,
39378
+ /* @conditional-compile-remove(call-readiness) */
39379
+ (_a = props.options) === null || _a === void 0 ? void 0 : _a.deviceChecks,
39445
39380
  // Ensure we re-ask for permissions if the number of devices goes from 0 -> n during a call
39446
39381
  // as we cannot request permissions when there are no devices.
39447
39382
  hasCameras,
@@ -39452,7 +39387,7 @@ const MainScreen = (props) => {
39452
39387
  const endedCall = useSelector$1(getEndedCall);
39453
39388
  const [sidePaneRenderer, setSidePaneRenderer] = React.useState();
39454
39389
  const [injectedSidePaneProps, setInjectedSidePaneProps] = React.useState();
39455
- const [userSetGalleryLayout, setUserSetGalleryLayout] = React.useState((_c = (_b = (_a = props.options) === null || _a === void 0 ? void 0 : _a.galleryOptions) === null || _b === void 0 ? void 0 : _b.layout) !== null && _c !== void 0 ? _c : 'floatingLocalVideo');
39390
+ const [userSetGalleryLayout, setUserSetGalleryLayout] = React.useState((_d = (_c = (_b = props.options) === null || _b === void 0 ? void 0 : _b.galleryOptions) === null || _c === void 0 ? void 0 : _c.layout) !== null && _d !== void 0 ? _d : 'floatingLocalVideo');
39456
39391
  const [userSetOverflowGalleryPosition, setUserSetOverflowGalleryPosition] = React.useState('Responsive');
39457
39392
  const overridePropsRef = React.useRef(props.overrideSidePane);
39458
39393
  React.useEffect(() => {
@@ -39485,13 +39420,9 @@ const MainScreen = (props) => {
39485
39420
  // This works by tracking the most recent timestamp of any active error type.
39486
39421
  // And then tracking when that error type was last dismissed.
39487
39422
  const activeErrors = usePropsFor$1(ErrorBar).activeErrorMessages;
39488
- /* @conditional-compile-remove(notifications) */
39489
39423
  const activeInCallErrors = usePropsFor$1(NotificationStack).activeErrorMessages;
39490
- /* @conditional-compile-remove(notifications) */
39491
39424
  const activeNotifications = usePropsFor$1(NotificationStack).activeNotifications;
39492
- /* @conditional-compile-remove(notifications) */
39493
39425
  const complianceProps = useSelector$1(complianceBannerSelector);
39494
- /* @conditional-compile-remove(notifications) */
39495
39426
  const cachedProps = React.useRef({
39496
39427
  latestBooleanState: {
39497
39428
  callTranscribeState: false,
@@ -39503,11 +39434,9 @@ const MainScreen = (props) => {
39503
39434
  },
39504
39435
  lastUpdated: Date.now()
39505
39436
  });
39506
- /* @conditional-compile-remove(notifications) */
39507
39437
  const complianceNotification = React.useMemo(() => {
39508
39438
  return computeComplianceNotification(complianceProps, cachedProps);
39509
39439
  }, [complianceProps, cachedProps]);
39510
- /* @conditional-compile-remove(notifications) */
39511
39440
  React.useEffect(() => {
39512
39441
  if (complianceNotification) {
39513
39442
  activeNotifications.forEach((notification, index) => {
@@ -39529,28 +39458,21 @@ const MainScreen = (props) => {
39529
39458
  setTrackedNotifications((prev) => updateTrackedNotificationsWithActiveNotifications(prev, activeNotifications));
39530
39459
  }, [complianceNotification, activeNotifications]);
39531
39460
  const [trackedErrors, setTrackedErrors] = React.useState({});
39532
- /* @conditional-compile-remove(notifications) */
39533
39461
  const [trackedInCallErrors, setTrackedInCallErrors] = React.useState({});
39534
- /* @conditional-compile-remove(notifications) */
39535
39462
  const [trackedNotifications, setTrackedNotifications] = React.useState({});
39536
39463
  React.useEffect(() => {
39537
39464
  setTrackedErrors((prev) => updateTrackedNotificationsWithActiveNotifications(prev, activeErrors));
39538
- /* @conditional-compile-remove(notifications) */
39539
39465
  setTrackedInCallErrors((prev) => updateTrackedNotificationsWithActiveNotifications(prev, activeInCallErrors));
39540
- }, [activeErrors, /* @conditional-compile-remove(notifications) */ activeInCallErrors]);
39466
+ }, [activeErrors, activeInCallErrors]);
39541
39467
  const onDismissError = React.useCallback((error) => {
39542
39468
  setTrackedErrors((prev) => trackNotificationAsDismissed(error.type, prev));
39543
- /* @conditional-compile-remove(notifications) */
39544
39469
  setTrackedInCallErrors((prev) => trackNotificationAsDismissed(error.type, prev));
39545
39470
  }, []);
39546
- /* @conditional-compile-remove(notifications) */
39547
39471
  const onDismissNotification = React.useCallback((notification) => {
39548
39472
  setTrackedNotifications((prev) => trackNotificationAsDismissed(notification.type, prev));
39549
39473
  }, []);
39550
39474
  const latestErrors = React.useMemo(() => filterLatestNotifications(activeErrors, trackedErrors), [activeErrors, trackedErrors]);
39551
- /* @conditional-compile-remove(notifications) */
39552
39475
  const latestInCallErrors = React.useMemo(() => filterLatestNotifications(activeInCallErrors, trackedInCallErrors), [activeInCallErrors, trackedInCallErrors]);
39553
- /* @conditional-compile-remove(notifications) */
39554
39476
  const latestNotifications = React.useMemo(() => {
39555
39477
  const result = filterLatestNotifications(activeNotifications, trackedNotifications);
39556
39478
  // sort notifications by timestamp from earliest to latest
@@ -39565,10 +39487,6 @@ const MainScreen = (props) => {
39565
39487
  const leavePageStyle = React.useMemo(() => leavingPageStyle(palette), [palette]);
39566
39488
  let pageElement;
39567
39489
  const [pinnedParticipants, setPinnedParticipants] = React.useState([]);
39568
- const getLatestErrorsTrampoline = () => {
39569
- /* @conditional-compile-remove(notifications) */
39570
- return latestInCallErrors;
39571
- };
39572
39490
  switch (page) {
39573
39491
  case 'configuration':
39574
39492
  pageElement = (React.createElement(ConfigurationPage, { mobileView: props.mobileView, startCallHandler: () => {
@@ -39586,11 +39504,11 @@ const MainScreen = (props) => {
39586
39504
  }
39587
39505
  }, updateSidePaneRenderer: setSidePaneRenderer, latestErrors: latestErrors, onDismissError: onDismissError, modalLayerHostId: props.modalLayerHostId,
39588
39506
  /* @conditional-compile-remove(call-readiness) */
39589
- deviceChecks: (_d = props.options) === null || _d === void 0 ? void 0 : _d.deviceChecks,
39507
+ deviceChecks: (_e = props.options) === null || _e === void 0 ? void 0 : _e.deviceChecks,
39590
39508
  /* @conditional-compile-remove(call-readiness) */
39591
- onPermissionsTroubleshootingClick: (_e = props.options) === null || _e === void 0 ? void 0 : _e.onPermissionsTroubleshootingClick,
39509
+ onPermissionsTroubleshootingClick: (_f = props.options) === null || _f === void 0 ? void 0 : _f.onPermissionsTroubleshootingClick,
39592
39510
  /* @conditional-compile-remove(call-readiness) */
39593
- onNetworkingTroubleShootingClick: (_f = props.options) === null || _f === void 0 ? void 0 : _f.onNetworkingTroubleShootingClick, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, logo: (_h = (_g = props.options) === null || _g === void 0 ? void 0 : _g.branding) === null || _h === void 0 ? void 0 : _h.logo, backgroundImage: (_k = (_j = props.options) === null || _j === void 0 ? void 0 : _j.branding) === null || _k === void 0 ? void 0 : _k.backgroundImage }));
39511
+ onNetworkingTroubleShootingClick: (_g = props.options) === null || _g === void 0 ? void 0 : _g.onNetworkingTroubleShootingClick, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, logo: (_j = (_h = props.options) === null || _h === void 0 ? void 0 : _h.branding) === null || _j === void 0 ? void 0 : _j.logo, backgroundImage: (_l = (_k = props.options) === null || _k === void 0 ? void 0 : _k.branding) === null || _l === void 0 ? void 0 : _l.backgroundImage }));
39594
39512
  break;
39595
39513
  case 'accessDeniedTeamsMeeting':
39596
39514
  pageElement = (React.createElement(NoticePage, { iconName: "NoticePageAccessDeniedTeamsMeeting", title: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedTitle, moreDetails: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails, dataUiId: 'access-denied-teams-meeting-page' }));
@@ -39602,7 +39520,7 @@ const MainScreen = (props) => {
39602
39520
  pageElement = (React.createElement(NoticePage, { iconName: "NoticePageJoinCallFailedDueToNoNetwork", title: locale.strings.call.failedToJoinCallDueToNoNetworkTitle, moreDetails: locale.strings.call.failedToJoinCallDueToNoNetworkMoreDetails, dataUiId: 'join-call-failed-due-to-no-network-page' }));
39603
39521
  break;
39604
39522
  case 'leaving':
39605
- pageElement = (React.createElement(NoticePage, { title: (_l = locale.strings.call.leavingCallTitle) !== null && _l !== void 0 ? _l : 'Leaving...', dataUiId: 'leaving-page', pageStyle: leavePageStyle, disableStartCallButton: true }));
39523
+ pageElement = (React.createElement(NoticePage, { title: (_m = locale.strings.call.leavingCallTitle) !== null && _m !== void 0 ? _m : 'Leaving...', dataUiId: 'leaving-page', pageStyle: leavePageStyle, disableStartCallButton: true }));
39606
39524
  break;
39607
39525
  case 'badRequest': {
39608
39526
  const { title, moreDetails, disableStartCallButton, iconName } = getEndedCallPageProps(locale, endedCall);
@@ -39611,41 +39529,25 @@ const MainScreen = (props) => {
39611
39529
  }
39612
39530
  case 'leftCall': {
39613
39531
  const { title, moreDetails, disableStartCallButton, iconName } = getEndedCallPageProps(locale, endedCall);
39614
- if (!((_o = (_m = props.options) === null || _m === void 0 ? void 0 : _m.surveyOptions) === null || _o === void 0 ? void 0 : _o.disableSurvey)) {
39615
- pageElement = (React.createElement(SurveyPage, { dataUiId: 'left-call-page', surveyOptions: (_p = props.options) === null || _p === void 0 ? void 0 : _p.surveyOptions, iconName: iconName, title: title, moreDetails: moreDetails, disableStartCallButton: disableStartCallButton, mobileView: props.mobileView }));
39532
+ if (!((_p = (_o = props.options) === null || _o === void 0 ? void 0 : _o.surveyOptions) === null || _p === void 0 ? void 0 : _p.disableSurvey)) {
39533
+ pageElement = (React.createElement(SurveyPage, { dataUiId: 'left-call-page', surveyOptions: (_q = props.options) === null || _q === void 0 ? void 0 : _q.surveyOptions, iconName: iconName, title: title, moreDetails: moreDetails, disableStartCallButton: disableStartCallButton, mobileView: props.mobileView }));
39616
39534
  break;
39617
39535
  }
39618
39536
  pageElement = (React.createElement(NoticePage, { iconName: iconName, title: title, moreDetails: callees ? '' : moreDetails, dataUiId: 'left-call-page', disableStartCallButton: disableStartCallButton }));
39619
39537
  break;
39620
39538
  }
39621
39539
  case 'lobby':
39622
- pageElement = (React.createElement(LobbyPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: getLatestErrorsTrampoline(),
39623
- /* @conditional-compile-remove(notifications) */
39624
- latestNotifications: latestNotifications, onDismissError: onDismissError,
39625
- /* @conditional-compile-remove(notifications) */
39626
- onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
39540
+ pageElement = (React.createElement(LobbyPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: latestInCallErrors, latestNotifications: latestNotifications, onDismissError: onDismissError, onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
39627
39541
  break;
39628
39542
  case 'transferring':
39629
- pageElement = (React.createElement(TransferPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onFetchAvatarPersonaData: onFetchAvatarPersonaData, latestErrors: getLatestErrorsTrampoline(),
39630
- /* @conditional-compile-remove(notifications) */
39631
- latestNotifications: latestNotifications, onDismissError: onDismissError,
39632
- /* @conditional-compile-remove(notifications) */
39633
- onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
39543
+ pageElement = (React.createElement(TransferPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onFetchAvatarPersonaData: onFetchAvatarPersonaData, latestErrors: latestInCallErrors, latestNotifications: latestNotifications, onDismissError: onDismissError, onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
39634
39544
  break;
39635
39545
  case 'call':
39636
- pageElement = (React.createElement(CallPage, { callInvitationURL: callInvitationUrl, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItems, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: props.onCloseChatPane, latestErrors: getLatestErrorsTrampoline(),
39637
- /* @conditional-compile-remove(notifications) */
39638
- latestNotifications: latestNotifications, onDismissError: onDismissError,
39639
- /* @conditional-compile-remove(notifications) */
39640
- onDismissNotification: onDismissNotification, galleryLayout: userSetGalleryLayout, onUserSetGalleryLayoutChange: setUserSetGalleryLayout, onSetUserSetOverflowGalleryPosition: setUserSetOverflowGalleryPosition, userSetOverflowGalleryPosition: userSetOverflowGalleryPosition, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, pinnedParticipants: pinnedParticipants, setPinnedParticipants: setPinnedParticipants, compositeAudioContext: compositeAudioContext, disableAutoShowDtmfDialer: (_q = props.options) === null || _q === void 0 ? void 0 : _q.disableAutoShowDtmfDialer }));
39546
+ pageElement = (React.createElement(CallPage, { callInvitationURL: callInvitationUrl, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItems, mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: props.onCloseChatPane, latestErrors: latestInCallErrors, latestNotifications: latestNotifications, onDismissError: onDismissError, onDismissNotification: onDismissNotification, galleryLayout: userSetGalleryLayout, onUserSetGalleryLayoutChange: setUserSetGalleryLayout, onSetUserSetOverflowGalleryPosition: setUserSetOverflowGalleryPosition, userSetOverflowGalleryPosition: userSetOverflowGalleryPosition, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps, pinnedParticipants: pinnedParticipants, setPinnedParticipants: setPinnedParticipants, compositeAudioContext: compositeAudioContext, disableAutoShowDtmfDialer: (_r = props.options) === null || _r === void 0 ? void 0 : _r.disableAutoShowDtmfDialer }));
39641
39547
  break;
39642
39548
  /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
39643
39549
  case 'hold':
39644
- pageElement = (React.createElement(React.Fragment, null, React.createElement(HoldPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: getLatestErrorsTrampoline(),
39645
- /* @conditional-compile-remove(notifications) */
39646
- latestNotifications: latestNotifications, onDismissError: onDismissError,
39647
- /* @conditional-compile-remove(notifications) */
39648
- onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps })));
39550
+ pageElement = (React.createElement(React.Fragment, null, React.createElement(HoldPage, { mobileView: props.mobileView, modalLayerHostId: props.modalLayerHostId, options: props.options, updateSidePaneRenderer: setSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, latestErrors: latestInCallErrors, latestNotifications: latestNotifications, onDismissError: onDismissError, onDismissNotification: onDismissNotification, capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps })));
39649
39551
  break;
39650
39552
  }
39651
39553
  useEndedCallConsoleErrors(endedCall);
@@ -39654,7 +39556,7 @@ const MainScreen = (props) => {
39654
39556
  case 'unsupportedEnvironment':
39655
39557
  pageElement = (React.createElement(React.Fragment, null,
39656
39558
  /* @conditional-compile-remove(unsupported-browser) */
39657
- React.createElement(UnsupportedBrowserPage, { onTroubleshootingClick: (_r = props.options) === null || _r === void 0 ? void 0 : _r.onEnvironmentInfoTroubleshootingClick, environmentInfo: adapter.getState().environmentInfo })));
39559
+ React.createElement(UnsupportedBrowserPage, { onTroubleshootingClick: (_s = props.options) === null || _s === void 0 ? void 0 : _s.onEnvironmentInfoTroubleshootingClick, environmentInfo: adapter.getState().environmentInfo })));
39658
39560
  break;
39659
39561
  }
39660
39562
  if (!pageElement) {
@@ -44010,4 +43912,4 @@ exports.useTeamsCall = useTeamsCall;
44010
43912
  exports.useTeamsCallAdapter = useTeamsCallAdapter;
44011
43913
  exports.useTeamsCallAgent = useTeamsCallAgent;
44012
43914
  exports.useTheme = useTheme;
44013
- //# sourceMappingURL=index-DpiiYxjR.js.map
43915
+ //# sourceMappingURL=index-C6b4-4lG.js.map