@azure/communication-react 1.11.1-alpha-202401120013 → 1.11.1-alpha-202401140014

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 (59) hide show
  1. package/dist/communication-react.d.ts +72 -4
  2. package/dist/dist-cjs/communication-react/index.js +154 -13
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  6. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.d.ts +5 -0
  7. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js +8 -0
  8. package/dist/dist-esm/calling-component-bindings/src/baseSelectors.js.map +1 -1
  9. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +2 -0
  10. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +17 -1
  11. package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
  12. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.d.ts +2 -0
  13. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js +3 -0
  14. package/dist/dist-esm/calling-component-bindings/src/utils/videoGalleryUtils.js.map +1 -1
  15. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.d.ts +1 -0
  16. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js +15 -3
  17. package/dist/dist-esm/calling-component-bindings/src/videoGallerySelector.js.map +1 -1
  18. package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +31 -0
  19. package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
  20. package/dist/dist-esm/calling-stateful-client/src/CallContext.d.ts +3 -0
  21. package/dist/dist-esm/calling-stateful-client/src/CallContext.js +21 -0
  22. package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
  23. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.d.ts +1 -0
  24. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +6 -0
  25. package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
  26. package/dist/dist-esm/calling-stateful-client/src/Converter.js +3 -1
  27. package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
  28. package/dist/dist-esm/calling-stateful-client/src/SpotlightSubscriber.d.ts +16 -0
  29. package/dist/dist-esm/calling-stateful-client/src/SpotlightSubscriber.js +27 -0
  30. package/dist/dist-esm/calling-stateful-client/src/SpotlightSubscriber.js.map +1 -0
  31. package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +1 -0
  32. package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
  33. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.d.ts +6 -2
  34. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +4 -4
  35. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  36. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +2 -0
  37. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +12 -0
  38. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  39. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +12 -0
  40. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  41. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +8 -0
  42. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  43. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.d.ts +6 -2
  44. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +4 -2
  45. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
  46. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +6 -2
  47. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  48. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +2 -0
  49. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +12 -0
  50. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  51. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +12 -0
  52. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  53. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +2 -0
  54. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +12 -0
  55. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  56. package/dist/dist-esm/react-composites/src/composites/common/SurveyPane.d.ts +4 -0
  57. package/dist/dist-esm/react-composites/src/composites/common/SurveyPane.js +9 -1
  58. package/dist/dist-esm/react-composites/src/composites/common/SurveyPane.js.map +1 -1
  59. package/package.json +2 -2
@@ -93,6 +93,7 @@ import { RemoteParticipantState as RemoteParticipantState_2 } from '@azure/commu
93
93
  import { RoomCallLocator } from '@azure/communication-calling';
94
94
  import { ScalingMode } from '@azure/communication-calling';
95
95
  import { SendMessageOptions } from '@azure/communication-chat';
96
+ import { SpotlightedParticipant } from '@azure/communication-calling';
96
97
  import { StartCallOptions } from '@azure/communication-calling';
97
98
  import { StartCaptionsOptions } from '@azure/communication-calling';
98
99
  import { SyntheticEvent } from 'react';
@@ -893,6 +894,18 @@ export declare interface CallAdapterCallOperations {
893
894
  * @beta
894
895
  */
895
896
  submitSurvey(survey: CallSurvey): Promise<CallSurveyResponse | undefined>;
897
+ /**
898
+ * Start spotlight
899
+ *
900
+ * @beta
901
+ */
902
+ startSpotlight(userId: string): Promise<void>;
903
+ /**
904
+ * Stop spotlight
905
+ *
906
+ * @beta
907
+ */
908
+ stopSpotlight(userId: string): Promise<void>;
896
909
  }
897
910
 
898
911
  /**
@@ -1557,10 +1570,14 @@ export declare type CallCompositeOptions = {
1557
1570
  */
1558
1571
  surveyOptions?: {
1559
1572
  /**
1560
- * Hide call survey at the end of a call.
1573
+ * Disable call survey at the end of a call.
1561
1574
  * @defaultValue false
1562
1575
  */
1563
- hideSurvey?: boolean;
1576
+ disableSurvey?: boolean;
1577
+ /**
1578
+ * Optional callback to add extra logic when survey is dismissed. For self-host only
1579
+ */
1580
+ onSurveyDismissed?: () => void;
1564
1581
  /**
1565
1582
  * Optional callback to handle survey data including free form text response
1566
1583
  * Note that free form text response survey option is only going to be enabled when this callback is provided
@@ -2678,6 +2695,10 @@ export declare interface CallState {
2678
2695
  * Hide attendee names in teams meeting
2679
2696
  */
2680
2697
  hideAttendeeNames?: boolean;
2698
+ /**
2699
+ * Proxy of {@link @azure/communication-calling#SpotlightCallFeature}.
2700
+ */
2701
+ spotlight?: SpotlightCallFeatureState;
2681
2702
  }
2682
2703
 
2683
2704
  /**
@@ -3087,6 +3108,18 @@ export declare interface CallWithChatAdapterManagement {
3087
3108
  * @beta
3088
3109
  */
3089
3110
  submitSurvey(survey: CallSurvey): Promise<CallSurveyResponse | undefined>;
3111
+ /**
3112
+ * Start spotlight
3113
+ *
3114
+ * @beta
3115
+ */
3116
+ startSpotlight(userId: string): Promise<void>;
3117
+ /**
3118
+ * Stop spotlight
3119
+ *
3120
+ * @beta
3121
+ */
3122
+ stopSpotlight(userId: string): Promise<void>;
3090
3123
  }
3091
3124
 
3092
3125
  /**
@@ -3401,10 +3434,14 @@ export declare type CallWithChatCompositeOptions = {
3401
3434
  */
3402
3435
  surveyOptions?: {
3403
3436
  /**
3404
- * Hide call survey at the end of a call.
3437
+ * Disable call survey at the end of a call.
3405
3438
  * @defaultValue false
3406
3439
  */
3407
- hideSurvey?: boolean;
3440
+ disableSurvey?: boolean;
3441
+ /**
3442
+ * Optional callback to add extra logic when survey is dismissed. For self-host only
3443
+ */
3444
+ onSurveyDismissed?: () => void;
3408
3445
  /**
3409
3446
  * Optional callback to handle survey data including free form text response
3410
3447
  * Note that free form text response survey option is only going to be enabled when this callback is provided
@@ -4906,6 +4943,8 @@ export declare interface CommonCallingHandlers {
4906
4943
  onSetSpokenLanguage: (language: string) => Promise<void>;
4907
4944
  onSetCaptionLanguage: (language: string) => Promise<void>;
4908
4945
  onSubmitSurvey(survey: CallSurvey): Promise<CallSurveyResponse | undefined>;
4946
+ onStartSpotlight: (userId: string) => Promise<void>;
4947
+ onStopSpotlight: (userId: string) => Promise<void>;
4909
4948
  }
4910
4949
 
4911
4950
  /**
@@ -9103,6 +9142,10 @@ export declare interface RemoteParticipantState {
9103
9142
  * @beta
9104
9143
  */
9105
9144
  reactionState?: ReactionState;
9145
+ /**
9146
+ * Proxy of {@link @azure/communication-calling#SpotlightCallFeature.spotlightedParticipants}.
9147
+ */
9148
+ spotlighted?: SpotlightState;
9106
9149
  }
9107
9150
 
9108
9151
  /**
@@ -9483,6 +9526,30 @@ export declare interface SpokenLanguageStrings {
9483
9526
  'zh-tw': string;
9484
9527
  }
9485
9528
 
9529
+ /**
9530
+ * State only version of {@link @azure/communication-calling#SpotlightCallFeature}
9531
+ *
9532
+ * @beta
9533
+ */
9534
+ export declare interface SpotlightCallFeatureState {
9535
+ /**
9536
+ * Ordered array of spotlighted participants in call
9537
+ */
9538
+ spotlightedParticipants: SpotlightedParticipant[];
9539
+ }
9540
+
9541
+ /**
9542
+ * Spotlight state with order
9543
+ *
9544
+ * @beta
9545
+ */
9546
+ export declare interface SpotlightState {
9547
+ /**
9548
+ * Order position of spotlight in call
9549
+ */
9550
+ spotlightedOrderPosition?: number;
9551
+ }
9552
+
9486
9553
  /**
9487
9554
  * Defines the methods that allow CallClient {@link @azure/communication-calling#CallClient} to be used statefully.
9488
9555
  * The interface provides access to proxied state and also allows registering a handler for state change events. For
@@ -10714,6 +10781,7 @@ export declare type VideoGallerySelector = (state: CallClientState, props: Calli
10714
10781
  remoteParticipants: VideoGalleryRemoteParticipant[];
10715
10782
  dominantSpeakers?: string[];
10716
10783
  optimalVideoCount?: number;
10784
+ spotlightedParticipants?: string[];
10717
10785
  };
10718
10786
 
10719
10787
  /**
@@ -170,7 +170,7 @@ function getDefaultExportFromCjs (x) {
170
170
  // Copyright (c) Microsoft Corporation.
171
171
  // Licensed under the MIT License.
172
172
  // GENERATED FILE. DO NOT EDIT MANUALLY.
173
- var telemetryVersion = '1.11.1-alpha-202401120013';
173
+ var telemetryVersion = '1.11.1-alpha-202401140014';
174
174
 
175
175
 
176
176
  var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
@@ -406,6 +406,14 @@ const getLocalParticipantRaisedHand$1 = (state, props) => {
406
406
  var _a, _b;
407
407
  return (_b = (_a = state.calls[props.callId]) === null || _a === void 0 ? void 0 : _a.raiseHand) === null || _b === void 0 ? void 0 : _b.localParticipantRaisedHand;
408
408
  };
409
+ /* @conditional-compile-remove(spotlight) */
410
+ /**
411
+ * @private
412
+ */
413
+ const getSpotlightedParticipants = (state, props) => {
414
+ var _a, _b;
415
+ return (_b = (_a = state.calls[props.callId]) === null || _a === void 0 ? void 0 : _a.spotlight) === null || _b === void 0 ? void 0 : _b.spotlightedParticipants;
416
+ };
409
417
  /* @conditional-compile-remove(reaction) */
410
418
  /**
411
419
  * @private
@@ -1114,6 +1122,16 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1114
1122
  });
1115
1123
  /* @conditional-compile-remove(end-of-call-survey) */
1116
1124
  const onSubmitSurvey = (survey) => __awaiter$M(void 0, void 0, void 0, function* () { return yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.CallSurvey).submitSurvey(survey)); });
1125
+ /* @conditional-compile-remove(spotlight) */
1126
+ const onStartSpotlight = (userId) => __awaiter$M(void 0, void 0, void 0, function* () {
1127
+ const participant = _toCommunicationIdentifier(userId);
1128
+ yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).startSpotlight([participant]));
1129
+ });
1130
+ /* @conditional-compile-remove(spotlight) */
1131
+ const onStopSpotlight = (userId) => __awaiter$M(void 0, void 0, void 0, function* () {
1132
+ const participant = _toCommunicationIdentifier(userId);
1133
+ yield (call === null || call === void 0 ? void 0 : call.feature(communicationCalling.Features.Spotlight).stopSpotlight([participant]));
1134
+ });
1117
1135
  return {
1118
1136
  onHangUp,
1119
1137
  /* @conditional-compile-remove(PSTN-calls) */
@@ -1161,7 +1179,11 @@ const createDefaultCommonCallingHandlers = memoizeOne((callClient, deviceManager
1161
1179
  /* @conditional-compile-remove(close-captions) */
1162
1180
  onSetSpokenLanguage,
1163
1181
  /* @conditional-compile-remove(end-of-call-survey) */
1164
- onSubmitSurvey
1182
+ onSubmitSurvey,
1183
+ /* @conditional-compile-remove(spotlight) */
1184
+ onStartSpotlight,
1185
+ /* @conditional-compile-remove(spotlight) */
1186
+ onStopSpotlight
1165
1187
  };
1166
1188
  });
1167
1189
 
@@ -1688,7 +1710,9 @@ function convertSdkParticipantToDeclarativeParticipant(participant) {
1688
1710
  /* @conditional-compile-remove(raise-hand) */
1689
1711
  raisedHand: undefined,
1690
1712
  /* @conditional-compile-remove(hide-attendee-name) */
1691
- role: participant.role
1713
+ role: participant.role,
1714
+ /* @conditional-compile-remove(spotlight) */
1715
+ spotlighted: undefined
1692
1716
  };
1693
1717
  }
1694
1718
  /**
@@ -2170,6 +2194,27 @@ let CallContext$2 = class CallContext {
2170
2194
  }
2171
2195
  });
2172
2196
  }
2197
+ /* @conditional-compile-remove(spotlight) */
2198
+ setSpotlight(callId, spotlightedParticipants) {
2199
+ this.modifyState((draft) => {
2200
+ const call = draft.calls[this._callIdHistory.latestCallId(callId)];
2201
+ if (call) {
2202
+ call.spotlight = { spotlightedParticipants };
2203
+ }
2204
+ });
2205
+ }
2206
+ /* @conditional-compile-remove(spotlight) */
2207
+ setParticipantSpotlighted(callId, spotlightedParticipant) {
2208
+ this.modifyState((draft) => {
2209
+ const call = draft.calls[this._callIdHistory.latestCallId(callId)];
2210
+ if (call) {
2211
+ const participant = call.remoteParticipants[toFlatCommunicationIdentifier(spotlightedParticipant.identifier)];
2212
+ if (participant) {
2213
+ participant.spotlighted = { spotlightedOrderPosition: spotlightedParticipant.order };
2214
+ }
2215
+ }
2216
+ });
2217
+ }
2173
2218
  setCallScreenShareParticipant(callId, participantKey) {
2174
2219
  this.modifyState((draft) => {
2175
2220
  const call = draft.calls[this._callIdHistory.latestCallId(callId)];
@@ -3752,6 +3797,33 @@ class ReactionSubscriber {
3752
3797
  }
3753
3798
  }
3754
3799
 
3800
+ // Copyright (c) Microsoft Corporation.
3801
+ // Licensed under the MIT License.
3802
+ /* @conditional-compile-remove(spotlight) */
3803
+ /**
3804
+ * @private
3805
+ */
3806
+ class SpotlightSubscriber {
3807
+ constructor(callIdRef, context, spotlight) {
3808
+ this.subscribe = () => {
3809
+ this._spotlightFeature.on('spotlightChanged', this.spotlightChanged);
3810
+ };
3811
+ this.unsubscribe = () => {
3812
+ this._spotlightFeature.off('spotlightChanged', this.spotlightChanged);
3813
+ };
3814
+ this.spotlightChanged = () => {
3815
+ this._context.setSpotlight(this._callIdRef.callId, this._spotlightFeature.getSpotlightedParticipants());
3816
+ for (const addedParticipant of this._spotlightFeature.getSpotlightedParticipants()) {
3817
+ this._context.setParticipantSpotlighted(this._callIdRef.callId, addedParticipant);
3818
+ }
3819
+ };
3820
+ this._callIdRef = callIdRef;
3821
+ this._context = context;
3822
+ this._spotlightFeature = spotlight;
3823
+ this.subscribe();
3824
+ }
3825
+ }
3826
+
3755
3827
  // Copyright (c) Microsoft Corporation.
3756
3828
  // Licensed under the MIT License.
3757
3829
  /**
@@ -3823,6 +3895,8 @@ class CallSubscriber {
3823
3895
  this._capabilitiesSubscriber.unsubscribe();
3824
3896
  /* @conditional-compile-remove(reaction) */
3825
3897
  (_c = this._reactionSubscriber) === null || _c === void 0 ? void 0 : _c.unsubscribe();
3898
+ /* @conditional-compile-remove(spotlight) */
3899
+ this._spotlightSubscriber.unsubscribe();
3826
3900
  };
3827
3901
  this.stateChanged = () => {
3828
3902
  this._context.setCallState(this._callIdRef.callId, this._call.state);
@@ -3923,6 +3997,8 @@ class CallSubscriber {
3923
3997
  this._localVideoStreamVideoEffectsSubscribers = new Map();
3924
3998
  /* @conditional-compile-remove(capabilities) */
3925
3999
  this._capabilitiesSubscriber = new CapabilitiesSubscriber(this._callIdRef, this._context, this._call.feature(communicationCalling.Features.Capabilities));
4000
+ /* @conditional-compile-remove(spotlight) */
4001
+ this._spotlightSubscriber = new SpotlightSubscriber(this._callIdRef, this._context, this._call.feature(communicationCalling.Features.Spotlight));
3926
4002
  this.subscribe();
3927
4003
  }
3928
4004
  addParticipantListener(participant) {
@@ -19648,6 +19724,9 @@ const memoizeLocalParticipant = memoizeOne((identifier, displayName, isMuted, is
19648
19724
  reaction: reaction
19649
19725
  });
19650
19726
  });
19727
+ /* @conditional-compile-remove(spotlight) */
19728
+ /** @private */
19729
+ const memoizeSpotlightedParticipantIds = memoizeOne((spotlightedParticipants) => spotlightedParticipants === null || spotlightedParticipants === void 0 ? void 0 : spotlightedParticipants.map((p) => toFlatCommunicationIdentifier(p.identifier)));
19651
19730
 
19652
19731
  // Copyright (c) Microsoft Corporation.
19653
19732
  // Licensed under the MIT License.
@@ -19691,7 +19770,9 @@ const videoGallerySelector = reselect.createSelector([
19691
19770
  /* @conditional-compile-remove(hide-attendee-name) */
19692
19771
  isHideAttendeeNamesEnabled,
19693
19772
  /* @conditional-compile-remove(reaction) */
19694
- getLocalParticipantReactionState
19773
+ getLocalParticipantReactionState,
19774
+ /* @conditional-compile-remove(spotlight) */
19775
+ getSpotlightedParticipants
19695
19776
  ], (screenShareRemoteParticipantId, remoteParticipants, localVideoStreams, isMuted, isScreenSharingOn, displayName, identifier, dominantSpeakers,
19696
19777
  /* @conditional-compile-remove(optimal-video-count) */
19697
19778
  optimalVideoCount,
@@ -19702,7 +19783,9 @@ raisedHand,
19702
19783
  /* @conditional-compile-remove(hide-attendee-name) */
19703
19784
  isHideAttendeeNamesEnabled,
19704
19785
  /* @conditional-compile-remove(reaction) */
19705
- localParticipantReaction) => {
19786
+ localParticipantReaction,
19787
+ /* @conditional-compile-remove(spotlight) */
19788
+ spotlightedParticipants) => {
19706
19789
  const screenShareRemoteParticipant = screenShareRemoteParticipantId && remoteParticipants
19707
19790
  ? remoteParticipants[screenShareRemoteParticipantId]
19708
19791
  : undefined;
@@ -19712,6 +19795,8 @@ localParticipantReaction) => {
19712
19795
  const noRemoteParticipants = [];
19713
19796
  /* @conditional-compile-remove(reaction) */
19714
19797
  const localParticipantReactionState = memoizedConvertToVideoTileReaction(localParticipantReaction);
19798
+ /* @conditional-compile-remove(spotlight) */
19799
+ const spotlightedParticipantIds = memoizeSpotlightedParticipantIds(spotlightedParticipants);
19715
19800
  return {
19716
19801
  screenShareParticipant: screenShareRemoteParticipant
19717
19802
  ? convertRemoteParticipantToVideoGalleryRemoteParticipant(toFlatCommunicationIdentifier(screenShareRemoteParticipant.identifier), screenShareRemoteParticipant.isMuted, checkIsSpeaking(screenShareRemoteParticipant), screenShareRemoteParticipant.videoStreams, screenShareRemoteParticipant.state, screenShareRemoteParticipant.displayName,
@@ -19732,7 +19817,9 @@ localParticipantReaction) => {
19732
19817
  role),
19733
19818
  dominantSpeakers: dominantSpeakerIds,
19734
19819
  /* @conditional-compile-remove(optimal-video-count) */
19735
- maxRemoteVideoStreams: optimalVideoCount
19820
+ maxRemoteVideoStreams: optimalVideoCount,
19821
+ /* @conditional-compile-remove(spotlight) */
19822
+ spotlightedParticipants: spotlightedParticipantIds
19736
19823
  };
19737
19824
  });
19738
19825
  const updateUserDisplayNamesTrampoline$2 = (remoteParticipants) => {
@@ -24704,6 +24791,14 @@ const createCompositeHandlers = memoizeOne((adapter) => ({
24704
24791
  /* @conditional-compile-remove(end-of-call-survey) */
24705
24792
  onSubmitSurvey: (survey) => __awaiter$g(void 0, void 0, void 0, function* () {
24706
24793
  return yield adapter.submitSurvey(survey);
24794
+ }),
24795
+ /* @conditional-compile-remove(spotlight) */
24796
+ onStartSpotlight: (userId) => __awaiter$g(void 0, void 0, void 0, function* () {
24797
+ yield adapter.startSpotlight(userId);
24798
+ }),
24799
+ /* @conditional-compile-remove(spotlight) */
24800
+ onStopSpotlight: (userId) => __awaiter$g(void 0, void 0, void 0, function* () {
24801
+ yield adapter.stopSpotlight(userId);
24707
24802
  })
24708
24803
  }));
24709
24804
 
@@ -30630,6 +30725,8 @@ const SurveyPaneContent = (
30630
30725
  const SurveyPane = (props) => {
30631
30726
  /* @conditional-compile-remove(end-of-call-survey) */
30632
30727
  const { onSubmitSurvey, onSurveySubmittedCustom } = props;
30728
+ /* @conditional-compile-remove(end-of-call-survey-self-host) */ /* @conditional-compile-remove(end-of-call-survey) */
30729
+ const { onSurveyDismissed } = props;
30633
30730
  /* @conditional-compile-remove(end-of-call-survey) */
30634
30731
  const strings = useLocale().strings.call;
30635
30732
  /* @conditional-compile-remove(end-of-call-survey) */
@@ -30679,7 +30776,13 @@ const SurveyPane = (props) => {
30679
30776
  improvementSuggestions
30680
30777
  ]);
30681
30778
  /* @conditional-compile-remove(end-of-call-survey) */
30682
- return (React.createElement(react.Panel, { headerText: strings.surveyQuestion, isOpen: isOpen, onDismiss: () => setIsOpen(false), closeButtonAriaLabel: strings.surveyCancelButtonAriaLabel, type: react.PanelType.custom, customWidth: "24rem", onRenderFooterContent: onRenderFooterContent, isFooterAtBottom: true },
30779
+ return (React.createElement(react.Panel, { headerText: strings.surveyQuestion, isOpen: isOpen, onDismiss: () => {
30780
+ /* @conditional-compile-remove(end-of-call-survey-self-host) */
30781
+ if (onSurveyDismissed) {
30782
+ onSurveyDismissed();
30783
+ }
30784
+ setIsOpen(false);
30785
+ }, closeButtonAriaLabel: strings.surveyCancelButtonAriaLabel, type: react.PanelType.custom, customWidth: "24rem", onRenderFooterContent: onRenderFooterContent, isFooterAtBottom: true },
30683
30786
  React.createElement(SurveyPaneContent, { setShowSubmitFeedbackButton: (showButton) => {
30684
30787
  setShowSubmitFeedbackButton(showButton);
30685
30788
  }, setRatings: (rating) => {
@@ -30701,7 +30804,7 @@ const SurveyPane = (props) => {
30701
30804
  * @private
30702
30805
  */
30703
30806
  function NoticePage(props) {
30704
- var _a, _b;
30807
+ var _a, _b, _c;
30705
30808
  const adapter = useAdapter();
30706
30809
  /* @conditional-compile-remove(end-of-call-survey) */
30707
30810
  const handlers = useHandlers();
@@ -30712,7 +30815,9 @@ function NoticePage(props) {
30712
30815
  React.createElement(react.Text, { className: react.mergeStyles(moreDetailsStyles), "aria-live": "assertive" }, props.moreDetails),
30713
30816
  !props.disableStartCallButton && (React.createElement(react.Stack, { styles: rejoinCallButtonContainerStyles },
30714
30817
  React.createElement(StartCallButton, { onClick: () => adapter.joinCall(), disabled: false, rejoinCall: true, autoFocus: true })))),
30715
- /* @conditional-compile-remove(end-of-call-survey) */ !((_a = props.surveyOptions) === null || _a === void 0 ? void 0 : _a.hideSurvey) && (React.createElement(SurveyPane, Object.assign({}, handlers, { onSurveySubmittedCustom: (_b = props.surveyOptions) === null || _b === void 0 ? void 0 : _b.onSurveySubmitted })))));
30818
+ /* @conditional-compile-remove(end-of-call-survey) */ !((_a = props.surveyOptions) === null || _a === void 0 ? void 0 : _a.disableSurvey) && (React.createElement(SurveyPane, Object.assign({}, handlers, { onSurveySubmittedCustom: (_b = props.surveyOptions) === null || _b === void 0 ? void 0 : _b.onSurveySubmitted,
30819
+ /* @conditional-compile-remove(end-of-call-survey-self-host) */
30820
+ onSurveyDismissed: (_c = props.surveyOptions) === null || _c === void 0 ? void 0 : _c.onSurveyDismissed })))));
30716
30821
  }
30717
30822
 
30718
30823
  // Copyright (c) Microsoft Corporation.
@@ -31489,22 +31594,22 @@ const MainScreen = (props) => {
31489
31594
  case 'accessDeniedTeamsMeeting':
31490
31595
  pageElement = (React.createElement(NoticePage, { iconName: "NoticePageAccessDeniedTeamsMeeting", title: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedTitle, moreDetails: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails, dataUiId: 'access-denied-teams-meeting-page',
31491
31596
  /* @conditional-compile-remove(end-of-call-survey) */
31492
- surveyOptions: { hideSurvey: true } }));
31597
+ surveyOptions: { disableSurvey: true } }));
31493
31598
  break;
31494
31599
  case 'removedFromCall':
31495
31600
  pageElement = (React.createElement(NoticePage, { iconName: "NoticePageRemovedFromCall", title: locale.strings.call.removedFromCallTitle, moreDetails: locale.strings.call.removedFromCallMoreDetails, dataUiId: 'removed-from-call-page',
31496
31601
  /* @conditional-compile-remove(end-of-call-survey) */
31497
- surveyOptions: { hideSurvey: true } }));
31602
+ surveyOptions: { disableSurvey: true } }));
31498
31603
  break;
31499
31604
  case 'joinCallFailedDueToNoNetwork':
31500
31605
  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',
31501
31606
  /* @conditional-compile-remove(end-of-call-survey) */
31502
- surveyOptions: { hideSurvey: true } }));
31607
+ surveyOptions: { disableSurvey: true } }));
31503
31608
  break;
31504
31609
  case 'leaving':
31505
31610
  pageElement = (React.createElement(NoticePage, { title: (_l = locale.strings.call.leavingCallTitle) !== null && _l !== void 0 ? _l : 'Leaving...', dataUiId: 'leaving-page', pageStyle: leavePageStyle, disableStartCallButton: true,
31506
31611
  /* @conditional-compile-remove(end-of-call-survey) */
31507
- surveyOptions: { hideSurvey: true } }));
31612
+ surveyOptions: { disableSurvey: true } }));
31508
31613
  break;
31509
31614
  case 'leftCall': {
31510
31615
  const { title, moreDetails, disableStartCallButton, iconName } = getEndedCallPageProps(locale, endedCall);
@@ -32656,6 +32761,18 @@ class AzureCommunicationCallAdapter {
32656
32761
  return this.handlers.onSubmitSurvey(survey);
32657
32762
  });
32658
32763
  }
32764
+ /* @conditional-compile-remove(spotlight) */
32765
+ startSpotlight(userId) {
32766
+ return __awaiter$5(this, void 0, void 0, function* () {
32767
+ return this.handlers.onStartSpotlight(userId);
32768
+ });
32769
+ }
32770
+ /* @conditional-compile-remove(spotlight) */
32771
+ stopSpotlight(userId) {
32772
+ return __awaiter$5(this, void 0, void 0, function* () {
32773
+ return this.handlers.onStopSpotlight(userId);
32774
+ });
32775
+ }
32659
32776
  getState() {
32660
32777
  return this.context.getState();
32661
32778
  }
@@ -33381,6 +33498,18 @@ class CallWithChatBackedCallAdapter {
33381
33498
  return this.callWithChatAdapter.submitSurvey(survey);
33382
33499
  });
33383
33500
  }
33501
+ /* @conditional-compile-remove(spotlight) */
33502
+ startSpotlight(userId) {
33503
+ return __awaiter$4(this, void 0, void 0, function* () {
33504
+ return this.callWithChatAdapter.startSpotlight(userId);
33505
+ });
33506
+ }
33507
+ /* @conditional-compile-remove(spotlight) */
33508
+ stopSpotlight(userId) {
33509
+ return __awaiter$4(this, void 0, void 0, function* () {
33510
+ return this.callWithChatAdapter.stopSpotlight(userId);
33511
+ });
33512
+ }
33384
33513
  }
33385
33514
  function callAdapterStateFromCallWithChatAdapterState(callWithChatAdapterState) {
33386
33515
  return {
@@ -34491,6 +34620,18 @@ class AzureCommunicationCallWithChatAdapter {
34491
34620
  return this.callAdapter.submitSurvey(survey);
34492
34621
  });
34493
34622
  }
34623
+ /* @conditional-compile-remove(spotlight) */
34624
+ startSpotlight(userId) {
34625
+ return __awaiter$2(this, void 0, void 0, function* () {
34626
+ return this.callAdapter.startSpotlight(userId);
34627
+ });
34628
+ }
34629
+ /* @conditional-compile-remove(spotlight) */
34630
+ stopSpotlight(userId) {
34631
+ return __awaiter$2(this, void 0, void 0, function* () {
34632
+ return this.callAdapter.stopSpotlight(userId);
34633
+ });
34634
+ }
34494
34635
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
34495
34636
  on(event, listener) {
34496
34637
  switch (event) {