@azure/communication-react 1.5.1-alpha-202303260014 → 1.5.1-alpha-202303280014

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 (31) hide show
  1. package/dist/communication-react.d.ts +60 -0
  2. package/dist/dist-cjs/communication-react/index.js +109 -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/react-components/src/components/MessageThread.js +5 -4
  7. package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
  8. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +2 -2
  9. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +30 -2
  10. package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
  11. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  12. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +4 -0
  13. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +25 -0
  14. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
  15. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +42 -0
  16. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  17. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +5 -5
  18. package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
  19. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +1 -0
  20. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  21. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +1 -1
  22. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  23. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +4 -0
  24. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +24 -0
  25. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
  26. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +19 -0
  27. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
  28. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +4 -0
  29. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +18 -0
  30. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
  31. package/package.json +8 -8
@@ -713,6 +713,24 @@ export declare interface CallAdapterCallOperations {
713
713
  * Continues into a call when the browser version is not supported.
714
714
  */
715
715
  allowUnsupportedBrowserVersion(): void;
716
+ /**
717
+ * Start the blur video background effect.
718
+ *
719
+ * @beta
720
+ */
721
+ blurVideoBackground(bgBlurConfig?: BackgroundBlurConfig): Promise<void>;
722
+ /**
723
+ * Start the video background replacement effect.
724
+ *
725
+ * @beta
726
+ */
727
+ replaceVideoBackground(bgReplacementConfig: BackgroundReplacementConfig): Promise<void>;
728
+ /**
729
+ * Stop the video background effect.
730
+ *
731
+ * @beta
732
+ */
733
+ stopVideoBackgroundEffect(): Promise<void>;
716
734
  }
717
735
 
718
736
  /**
@@ -750,6 +768,10 @@ export declare type CallAdapterClientState = {
750
768
  * control bar with the CallComposite.
751
769
  */
752
770
  cameraStatus?: 'On' | 'Off';
771
+ /**
772
+ * Default set of background images for background replacement effect.
773
+ */
774
+ videoBackgroundImages?: VideoBackgroundImage[];
753
775
  };
754
776
 
755
777
  /**
@@ -2277,6 +2299,24 @@ export declare interface CallWithChatAdapterManagement {
2277
2299
  * Continues into a call when the browser version is not supported.
2278
2300
  */
2279
2301
  allowUnsupportedBrowserVersion(): void;
2302
+ /**
2303
+ * Start the blur video background effect.
2304
+ *
2305
+ * @beta
2306
+ */
2307
+ blurVideoBackground(bgBlurConfig?: BackgroundBlurConfig): Promise<void>;
2308
+ /**
2309
+ * Start the video background replacement effect.
2310
+ *
2311
+ * @beta
2312
+ */
2313
+ replaceVideoBackground(bgReplacementConfig: BackgroundReplacementConfig): Promise<void>;
2314
+ /**
2315
+ * Stop the video background effect.
2316
+ *
2317
+ * @beta
2318
+ */
2319
+ stopVideoBackgroundEffect(): Promise<void>;
2280
2320
  }
2281
2321
 
2282
2322
  /**
@@ -8337,6 +8377,26 @@ export declare interface VerticalGalleryStyles extends BaseCustomStyles {
8337
8377
  controlBar?: VerticalGalleryControlBarStyles;
8338
8378
  }
8339
8379
 
8380
+ /**
8381
+ * Contains the attibutes of a background image like url, name etc.
8382
+ *
8383
+ * @beta
8384
+ */
8385
+ export declare interface VideoBackgroundImage {
8386
+ /**
8387
+ * key for unique identification of the custom background
8388
+ */
8389
+ key: string;
8390
+ /**
8391
+ * URL of the uploaded background image.
8392
+ */
8393
+ url: string;
8394
+ /**
8395
+ * Image name to be displayed.
8396
+ */
8397
+ tooltipText?: string;
8398
+ }
8399
+
8340
8400
  /**
8341
8401
  * VideoGallery represents a layout of video tiles for a specific call.
8342
8402
  * It displays a {@link VideoTile} for the local user as well as for each remote participant who has joined the call.
@@ -162,7 +162,7 @@ const _toCommunicationIdentifier = (id) => {
162
162
  // Copyright (c) Microsoft Corporation.
163
163
  // Licensed under the MIT license.
164
164
  // GENERATED FILE. DO NOT EDIT MANUALLY.
165
- var telemetryVersion = '1.5.1-alpha-202303260014';
165
+ var telemetryVersion = '1.5.1-alpha-202303280014';
166
166
 
167
167
  // Copyright (c) Microsoft Corporation.
168
168
  /**
@@ -6128,7 +6128,7 @@ const FailedMyChatMessageContainer = Object.assign(Object.assign({}, defaultChat
6128
6128
  /**
6129
6129
  * @private
6130
6130
  */
6131
- const defaultChatMessageContainer = {
6131
+ const defaultChatMessageContainer = (theme) => ({
6132
6132
  maxWidth: '100%',
6133
6133
  minWidth: `${CHAT_MESSAGE_CONTAINER_MIN_WIDTH_REM}rem`,
6134
6134
  marginRight: '0rem',
@@ -6141,9 +6141,37 @@ const defaultChatMessageContainer = {
6141
6141
  // For more info see https://github.com/Azure/communication-ui-library/pull/1507
6142
6142
  marginBlock: '0.125rem'
6143
6143
  },
6144
+ '& blockquote': {
6145
+ backgroundColor: theme.palette.white,
6146
+ clear: 'left',
6147
+ minHeight: '2.25rem',
6148
+ width: 'fit-content',
6149
+ margin: '7px 0px',
6150
+ padding: '7px 15px',
6151
+ border: 'solid',
6152
+ borderRadius: '4px',
6153
+ borderWidth: '1px',
6154
+ borderColor: theme.palette.neutralQuaternary,
6155
+ borderLeftWidth: '4px'
6156
+ },
6157
+ '& table': {
6158
+ backgroundColor: theme.palette.white,
6159
+ border: theme.palette.neutralQuaternary,
6160
+ borderCollapse: 'collapse',
6161
+ tableLayout: 'auto',
6162
+ width: '100%',
6163
+ '& tr': {
6164
+ border: `1px solid ${theme.palette.neutralQuaternary}`,
6165
+ '& td': {
6166
+ border: `1px solid ${theme.palette.neutralQuaternary}`,
6167
+ wordBreak: 'normal',
6168
+ padding: '0px 5px'
6169
+ }
6170
+ }
6171
+ },
6144
6172
  // This makes message bubble show border in high contrast mode making each message distinguishable
6145
6173
  border: '1px solid transparent'
6146
- };
6174
+ });
6147
6175
  /**
6148
6176
  * @private
6149
6177
  */
@@ -7178,7 +7206,7 @@ const DefaultSystemMessage = (props) => {
7178
7206
  }
7179
7207
  return React__default['default'].createElement(React__default['default'].Fragment, null);
7180
7208
  };
7181
- const memoizeAllMessages = memoizeFnAll((_messageKey, message, showMessageDate, showMessageStatus, onRenderAvatar, shouldOverlapAvatarAndMessage, styles, onRenderMessageStatus, defaultStatusRenderer, defaultChatMessageRenderer, strings, _attached, statusToRender, participantCount, readCount, onRenderMessage, onUpdateMessage, onDeleteMessage, onSendMessage, disableEditing) => {
7209
+ const memoizeAllMessages = memoizeFnAll((_messageKey, message, showMessageDate, showMessageStatus, onRenderAvatar, shouldOverlapAvatarAndMessage, styles, onRenderMessageStatus, defaultStatusRenderer, defaultChatMessageRenderer, strings, theme, _attached, statusToRender, participantCount, readCount, onRenderMessage, onUpdateMessage, onDeleteMessage, onSendMessage, disableEditing) => {
7182
7210
  var _a, _b, _c, _d, _e, _f, _g;
7183
7211
  const messageProps = {
7184
7212
  message,
@@ -7194,7 +7222,7 @@ const memoizeAllMessages = memoizeFnAll((_messageKey, message, showMessageDate,
7194
7222
  const myChatMessageStyle = message.status === 'failed'
7195
7223
  ? (_b = (_a = styles === null || styles === void 0 ? void 0 : styles.failedMyChatMessageContainer) !== null && _a !== void 0 ? _a : styles === null || styles === void 0 ? void 0 : styles.myChatMessageContainer) !== null && _b !== void 0 ? _b : FailedMyChatMessageContainer
7196
7224
  : (_c = styles === null || styles === void 0 ? void 0 : styles.myChatMessageContainer) !== null && _c !== void 0 ? _c : defaultMyChatMessageContainer;
7197
- const chatMessageStyle = (_d = styles === null || styles === void 0 ? void 0 : styles.chatMessageContainer) !== null && _d !== void 0 ? _d : defaultChatMessageContainer;
7225
+ const chatMessageStyle = (_d = styles === null || styles === void 0 ? void 0 : styles.chatMessageContainer) !== null && _d !== void 0 ? _d : defaultChatMessageContainer(theme);
7198
7226
  messageProps.messageContainerStyle = message.mine ? myChatMessageStyle : chatMessageStyle;
7199
7227
  const chatMessageComponent = onRenderMessage === undefined
7200
7228
  ? defaultChatMessageRenderer(messageProps)
@@ -7521,6 +7549,7 @@ const MessageThread = (props) => {
7521
7549
  // -1 because participant count does not include myself
7522
7550
  remoteParticipantsCount: participantCount ? participantCount - 1 : 0 }));
7523
7551
  }, []);
7552
+ const theme = useTheme();
7524
7553
  const messagesToDisplay = React.useMemo(() => memoizeAllMessages((memoizedMessageFn) => {
7525
7554
  return messages.map((message, index) => {
7526
7555
  let key = message.messageId;
@@ -7549,7 +7578,7 @@ const MessageThread = (props) => {
7549
7578
  statusToRender = 'failed';
7550
7579
  }
7551
7580
  }
7552
- return memoizedMessageFn(key !== null && key !== void 0 ? key : 'id_' + index, message, showMessageDate, showMessageStatus, onRenderAvatar, isNarrow, styles, onRenderMessageStatus, defaultStatusRenderer, defaultChatMessageRenderer, strings,
7581
+ return memoizedMessageFn(key !== null && key !== void 0 ? key : 'id_' + index, message, showMessageDate, showMessageStatus, onRenderAvatar, isNarrow, styles, onRenderMessageStatus, defaultStatusRenderer, defaultChatMessageRenderer, strings, theme,
7553
7582
  // Temporary solution to make sure we re-render if attach attribute is changed.
7554
7583
  // The proper fix should be in selector.
7555
7584
  message.messageType === 'chat' ? message.attached : undefined, statusToRender, participantCount, readCountForHoveredIndicator, onRenderMessage, onUpdateMessage, onDeleteMessage, onSendMessage, props.disableEditing);
@@ -7565,6 +7594,7 @@ const MessageThread = (props) => {
7565
7594
  defaultStatusRenderer,
7566
7595
  defaultChatMessageRenderer,
7567
7596
  strings,
7597
+ theme,
7568
7598
  participantCount,
7569
7599
  readCountForHoveredIndicator,
7570
7600
  onRenderMessage,
@@ -7576,7 +7606,6 @@ const MessageThread = (props) => {
7576
7606
  lastDeliveredChatMessage,
7577
7607
  props.disableEditing
7578
7608
  ]);
7579
- const theme = useTheme();
7580
7609
  const chatBody = React.useMemo(() => {
7581
7610
  var _a;
7582
7611
  return (React__default['default'].createElement(reactAriaLive.LiveAnnouncer, null,
@@ -17839,15 +17868,15 @@ const createCompositeHandlers = memoizeOne__default['default']((adapter) => ({
17839
17868
  }),
17840
17869
  /* @conditional-compile-remove(video-background-effects) */
17841
17870
  onRemoveVideoBackgroundEffects: () => __awaiter$b(void 0, void 0, void 0, function* () {
17842
- throw new Error('Not implemented');
17871
+ return yield adapter.stopVideoBackgroundEffect();
17843
17872
  }),
17844
17873
  /* @conditional-compile-remove(video-background-effects) */
17845
- onBlurVideoBackground: () => __awaiter$b(void 0, void 0, void 0, function* () {
17846
- throw new Error('Not implemented');
17874
+ onBlurVideoBackground: (bgBlurConfig) => __awaiter$b(void 0, void 0, void 0, function* () {
17875
+ return yield adapter.blurVideoBackground(bgBlurConfig);
17847
17876
  }),
17848
17877
  /* @conditional-compile-remove(video-background-effects) */
17849
- onReplaceVideoBackground: () => __awaiter$b(void 0, void 0, void 0, function* () {
17850
- throw new Error('Not implemented');
17878
+ onReplaceVideoBackground: (bgReplacementConfig) => __awaiter$b(void 0, void 0, void 0, function* () {
17879
+ return yield adapter.replaceVideoBackground(bgReplacementConfig);
17851
17880
  })
17852
17881
  }));
17853
17882
 
@@ -20822,7 +20851,7 @@ const ConfigurationPage = (props) => {
20822
20851
  }
20823
20852
  }
20824
20853
  const locale = useLocale();
20825
- const title = (React__default['default'].createElement(react.Stack.Item, { className: mobileView ? titleContainerStyleMobile : titleContainerStyleDesktop }, locale.strings.call.configurationPageTitle));
20854
+ const title = (React__default['default'].createElement(react.Stack.Item, { className: mobileView ? titleContainerStyleMobile : titleContainerStyleDesktop, role: "heading", "aria-level": 1 }, locale.strings.call.configurationPageTitle));
20826
20855
  const callDescription = locale.strings.call.configurationPageCallDetails && (React__default['default'].createElement(react.Stack.Item, { className: mobileView ? callDetailsStyleMobile : callDetailsStyleDesktop }, locale.strings.call.configurationPageCallDetails));
20827
20856
  let mobileWithPreview = mobileView;
20828
20857
  /* @conditional-compile-remove(rooms) */
@@ -21658,6 +21687,7 @@ class CallContext {
21658
21687
  /* @conditional-compile-remove(unsupported-browser) */ environmentInfo: clientState.environmentInfo,
21659
21688
  /* @conditional-compile-remove(unsupported-browser) */ unsupportedBrowserVersionsAllowed: false,
21660
21689
  /* @conditional-compile-remove(rooms) */ roleHint: options === null || options === void 0 ? void 0 : options.roleHint,
21690
+ /* @conditional-compile-remove(video-background-effects) */ videoBackgroundImages: options === null || options === void 0 ? void 0 : options.videoBackgroundImages,
21661
21691
  cameraStatus: undefined
21662
21692
  };
21663
21693
  this.emitter.setMaxListeners((_b = options === null || options === void 0 ? void 0 : options.maxListeners) !== null && _b !== void 0 ? _b : 50);
@@ -21841,6 +21871,12 @@ class AzureCommunicationCallAdapter {
21841
21871
  this.sendDtmfTone.bind(this);
21842
21872
  /* @conditional-compile-remove(unsupported-browser) */
21843
21873
  this.allowUnsupportedBrowserVersion.bind(this);
21874
+ /* @conditional-compile-remove(video-background-effects) */
21875
+ this.blurVideoBackground.bind(this);
21876
+ /* @conditional-compile-remove(video-background-effects) */
21877
+ this.replaceVideoBackground.bind(this);
21878
+ /* @conditional-compile-remove(video-background-effects) */
21879
+ this.stopVideoBackgroundEffect.bind(this);
21844
21880
  }
21845
21881
  dispose() {
21846
21882
  this.resetDiagnosticsForwarder();
@@ -22049,6 +22085,24 @@ class AzureCommunicationCallAdapter {
22049
22085
  this.context.setAllowedUnsupportedBrowser();
22050
22086
  this.context.updateClientState(this.callClient.getState());
22051
22087
  }
22088
+ /* @conditional-compile-remove(video-background-effects) */
22089
+ blurVideoBackground(bgBlurConfig) {
22090
+ return __awaiter$4(this, void 0, void 0, function* () {
22091
+ yield this.handlers.onBlurVideoBackground(bgBlurConfig);
22092
+ });
22093
+ }
22094
+ /* @conditional-compile-remove(video-background-effects) */
22095
+ replaceVideoBackground(bgReplacementConfig) {
22096
+ return __awaiter$4(this, void 0, void 0, function* () {
22097
+ yield this.handlers.onReplaceVideoBackground(bgReplacementConfig);
22098
+ });
22099
+ }
22100
+ /* @conditional-compile-remove(video-background-effects) */
22101
+ stopVideoBackgroundEffect() {
22102
+ return __awaiter$4(this, void 0, void 0, function* () {
22103
+ yield this.handlers.onRemoveVideoBackgroundEffects();
22104
+ });
22105
+ }
22052
22106
  startCall(participants, options) {
22053
22107
  var _a, _b;
22054
22108
  if (_isInCall((_b = (_a = this.getState().call) === null || _a === void 0 ? void 0 : _a.state) !== null && _b !== void 0 ? _b : 'None')) {
@@ -23148,6 +23202,24 @@ class CallWithChatBackedCallAdapter {
23148
23202
  allowUnsupportedBrowserVersion() {
23149
23203
  return this.callWithChatAdapter.allowUnsupportedBrowserVersion();
23150
23204
  }
23205
+ /* @conditional-compile-remove(video-background-effects) */
23206
+ blurVideoBackground(bgBlurConfig) {
23207
+ return __awaiter$3(this, void 0, void 0, function* () {
23208
+ yield this.callWithChatAdapter.blurVideoBackground(bgBlurConfig);
23209
+ });
23210
+ }
23211
+ /* @conditional-compile-remove(video-background-effects) */
23212
+ replaceVideoBackground(bgReplacementConfig) {
23213
+ return __awaiter$3(this, void 0, void 0, function* () {
23214
+ yield this.callWithChatAdapter.replaceVideoBackground(bgReplacementConfig);
23215
+ });
23216
+ }
23217
+ /* @conditional-compile-remove(video-background-effects) */
23218
+ stopVideoBackgroundEffect() {
23219
+ return __awaiter$3(this, void 0, void 0, function* () {
23220
+ yield this.callWithChatAdapter.stopVideoBackgroundEffect();
23221
+ });
23222
+ }
23151
23223
  }
23152
23224
  function callAdapterStateFromCallWithChatAdapterState(callWithChatAdapterState) {
23153
23225
  return {
@@ -23971,6 +24043,12 @@ class AzureCommunicationCallWithChatAdapter {
23971
24043
  this.sendDtmfTone.bind(this);
23972
24044
  /* @conditional-compile-remove(unsupported-browser) */
23973
24045
  this.allowUnsupportedBrowserVersion.bind(this);
24046
+ /* @conditional-compile-remove(video-background-effects) */
24047
+ this.blurVideoBackground.bind(this);
24048
+ /* @conditional-compile-remove(video-background-effects) */
24049
+ this.replaceVideoBackground.bind(this);
24050
+ /* @conditional-compile-remove(video-background-effects) */
24051
+ this.stopVideoBackgroundEffect.bind(this);
23974
24052
  }
23975
24053
  /** Join existing Call. */
23976
24054
  joinCall(microphoneOn) {
@@ -24187,6 +24265,24 @@ class AzureCommunicationCallWithChatAdapter {
24187
24265
  allowUnsupportedBrowserVersion() {
24188
24266
  return this.callAdapter.allowUnsupportedBrowserVersion();
24189
24267
  }
24268
+ /* @conditional-compile-remove(video-background-effects) */
24269
+ blurVideoBackground(bgBlurConfig) {
24270
+ return __awaiter(this, void 0, void 0, function* () {
24271
+ yield this.callAdapter.blurVideoBackground(bgBlurConfig);
24272
+ });
24273
+ }
24274
+ /* @conditional-compile-remove(video-background-effects) */
24275
+ replaceVideoBackground(bgReplacementConfig) {
24276
+ return __awaiter(this, void 0, void 0, function* () {
24277
+ yield this.callAdapter.replaceVideoBackground(bgReplacementConfig);
24278
+ });
24279
+ }
24280
+ /* @conditional-compile-remove(video-background-effects) */
24281
+ stopVideoBackgroundEffect() {
24282
+ return __awaiter(this, void 0, void 0, function* () {
24283
+ return yield this.callAdapter.stopVideoBackgroundEffect();
24284
+ });
24285
+ }
24190
24286
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
24191
24287
  on(event, listener) {
24192
24288
  switch (event) {