@azure/communication-react 1.9.0-alpha-202310310013 → 1.9.0-alpha-202311010014

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 (20) hide show
  1. package/dist/communication-react.d.ts +68 -0
  2. package/dist/dist-cjs/communication-react/index.js +76 -26
  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-composites/src/composites/CallComposite/CallComposite.d.ts +34 -0
  7. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +8 -4
  8. package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
  9. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.d.ts +8 -0
  10. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js +23 -5
  11. package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/ConfigurationPage.js.map +1 -1
  12. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.d.ts +7 -9
  13. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js +32 -16
  14. package/dist/dist-esm/react-composites/src/composites/CallComposite/styles/CallConfiguration.styles.js.map +1 -1
  15. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +34 -0
  16. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +15 -3
  17. package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
  18. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +1 -1
  19. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
  20. package/package.json +1 -1
@@ -1537,6 +1537,40 @@ export declare type CallCompositeOptions = {
1537
1537
  */
1538
1538
  layout?: VideoGalleryLayout;
1539
1539
  };
1540
+ /**
1541
+ * Logo displayed on the configuration page.
1542
+ */
1543
+ logo?: {
1544
+ /**
1545
+ * URL for the logo image.
1546
+ *
1547
+ * @remarks
1548
+ * Recommended size is 80x80 pixels.
1549
+ */
1550
+ url: string;
1551
+ /**
1552
+ * Alt text for the logo image.
1553
+ */
1554
+ alt?: string;
1555
+ /**
1556
+ * The logo can be displayed as a circle or a square.
1557
+ *
1558
+ * @defaultValue 'circle'
1559
+ */
1560
+ shape?: 'circle' | 'square';
1561
+ };
1562
+ /**
1563
+ * Background image displayed on the configuration page.
1564
+ */
1565
+ backgroundImage?: {
1566
+ /**
1567
+ * URL for the background image.
1568
+ *
1569
+ * @remarks
1570
+ * Background image should be larger than 576x567 pixels and smaller than 2048x2048 pixels pixels.
1571
+ */
1572
+ url: string;
1573
+ };
1540
1574
  };
1541
1575
 
1542
1576
  /**
@@ -3148,6 +3182,40 @@ export declare type CallWithChatCompositeOptions = {
3148
3182
  */
3149
3183
  layout?: VideoGalleryLayout;
3150
3184
  };
3185
+ /**
3186
+ * Logo displayed on the configuration page.
3187
+ */
3188
+ logo?: {
3189
+ /**
3190
+ * URL for the logo image.
3191
+ *
3192
+ * @remarks
3193
+ * Recommended size is 80x80 pixels.
3194
+ */
3195
+ url: string;
3196
+ /**
3197
+ * Alt text for the logo image.
3198
+ */
3199
+ alt?: string;
3200
+ /**
3201
+ * The logo can be displayed as a circle or a square.
3202
+ *
3203
+ * @defaultValue 'circle'
3204
+ */
3205
+ shape?: 'circle' | 'square';
3206
+ };
3207
+ /**
3208
+ * Background image displayed on the configuration page.
3209
+ */
3210
+ backgroundImage?: {
3211
+ /**
3212
+ * URL for the background image.
3213
+ *
3214
+ * @remarks
3215
+ * Background image should be larger than 576x567 pixels and smaller than 2048x2048 pixels pixels.
3216
+ */
3217
+ url: string;
3218
+ };
3151
3219
  };
3152
3220
 
3153
3221
  /**
@@ -177,7 +177,7 @@ const _isValidIdentifier = (identifier) => {
177
177
  // Copyright (c) Microsoft Corporation.
178
178
  // Licensed under the MIT License.
179
179
  // GENERATED FILE. DO NOT EDIT MANUALLY.
180
- var telemetryVersion = '1.9.0-alpha-202310310013';
180
+ var telemetryVersion = '1.9.0-alpha-202311010014';
181
181
 
182
182
  // Copyright (c) Microsoft Corporation.
183
183
  /**
@@ -26548,7 +26548,7 @@ const VideoEffectsPaneTrampoline = (onDismissError, activeVideoEffectError, sele
26548
26548
  /* @conditional-compile-remove(video-background-effects) */
26549
26549
  const locale = useLocale();
26550
26550
  /* @conditional-compile-remove(video-background-effects) */
26551
- return (React__default["default"].createElement(react.Stack, { className: react.mergeStyles({ paddingLeft: '0.5rem' }) },
26551
+ return (React__default["default"].createElement(react.Stack, { tokens: { childrenGap: '0.75rem' }, className: react.mergeStyles({ paddingLeft: '0.5rem' }) },
26552
26552
  activeVideoEffectError && isCameraOn && (React__default["default"].createElement(react.MessageBar, { messageBarType: react.MessageBarType.error, onDismiss: () => onDismissError(activeVideoEffectError) }, locale.strings.call.unableToStartVideoEffect)),
26553
26553
  showWarning && (React__default["default"].createElement(react.MessageBar, { messageBarType: react.MessageBarType.warning }, locale.strings.call.cameraOffBackgroundEffectWarningText)),
26554
26554
  React__default["default"].createElement(_VideoBackgroundEffectsPicker, { label: locale.strings.call.videoEffectsPaneBackgroundSelectionTitle, styles: backgroundPickerStyles, options: selectableVideoEffects !== null && selectableVideoEffects !== void 0 ? selectableVideoEffects : [], onChange: onEffectChange, selectedEffectKey: selectedEffect })));
@@ -27895,20 +27895,23 @@ const configurationStackTokensDesktop = {
27895
27895
  const configurationStackTokensMobile = {
27896
27896
  childrenGap: '1.5rem'
27897
27897
  };
27898
- const configurationContainerStyle = {
27899
- height: '100%',
27900
- width: '100%',
27901
- padding: '2rem 1rem 2rem 1rem'
27902
- };
27903
- /**
27904
- * @private
27905
- */
27906
- const configurationContainerStyleDesktop = react.mergeStyles(Object.assign(Object.assign({}, configurationContainerStyle), { minWidth: '25rem', minHeight: '22rem' // max height of SelectionContainer + padding * 2 = 21 + 0.5 * 2
27907
- }));
27908
- /**
27909
- * @private
27910
- */
27911
- const configurationContainerStyleMobile = react.mergeStyles(Object.assign(Object.assign({}, configurationContainerStyle), { minWidth: '16rem', minHeight: '13rem' }));
27898
+ /** @private */
27899
+ const configurationContainerStyle = (desktop, backgroundImageUrl) => ({
27900
+ root: {
27901
+ height: '100%',
27902
+ width: '100%',
27903
+ padding: '2rem 1rem 2rem 1rem',
27904
+ minWidth: desktop
27905
+ ? '25rem' // sum of min-width from children + ChildrenGap * (nb of children - 1) + padding * 2 = (11 + 11) + (2 * 1) + 0.5 * 2
27906
+ : '16rem',
27907
+ minHeight: desktop
27908
+ ? '22rem' // max height of SelectionContainer + padding * 2 = 21 + 0.5 * 2
27909
+ : '13rem',
27910
+ '::before': !backgroundImageUrl
27911
+ ? undefined
27912
+ : Object.assign({ content: '""', position: 'absolute', top: 0, left: 0, zIndex: 0, width: '100%', height: '100%', backgroundImage: `url(${backgroundImageUrl})`, backgroundSize: 'cover', backgroundPosition: 'center' }, react.AnimationStyles.fadeIn500)
27913
+ }
27914
+ });
27912
27915
  /**
27913
27916
  * @private
27914
27917
  */
@@ -28029,7 +28032,8 @@ const effectsButtonStyles = (theme) => {
28029
28032
  };
28030
28033
  /** @private */
28031
28034
  const fillWidth = react.mergeStyles({
28032
- width: '100%'
28035
+ width: '100%',
28036
+ position: 'relative'
28033
28037
  });
28034
28038
  /** @private */
28035
28039
  const panelStyles = {
@@ -28052,6 +28056,18 @@ const panelStyles = {
28052
28056
  const panelFocusProps = {
28053
28057
  forceFocusInsideTrap: false
28054
28058
  };
28059
+ /**
28060
+ * @private
28061
+ */
28062
+ const logoStyles = (shape) => ({
28063
+ root: {
28064
+ overflow: 'initial',
28065
+ display: 'flex',
28066
+ justifyContent: 'center',
28067
+ marginBottom: '1rem'
28068
+ },
28069
+ image: { borderRadius: shape === 'circle' ? '100%' : undefined, height: '3rem', width: '3rem' }
28070
+ });
28055
28071
 
28056
28072
  // Copyright (c) Microsoft Corporation.
28057
28073
  const getDropDownList = (list) => {
@@ -28604,7 +28620,7 @@ var __awaiter$9 = (window && window.__awaiter) || function (thisArg, _arguments,
28604
28620
  * @private
28605
28621
  */
28606
28622
  const ConfigurationPage = (props) => {
28607
- var _a, _b, _c;
28623
+ var _a, _b, _c, _d;
28608
28624
  const { startCallHandler, mobileView, modalLayerHostId,
28609
28625
  /* @conditional-compile-remove(call-readiness) */ deviceChecks,
28610
28626
  /* @conditional-compile-remove(call-readiness) */ onPermissionsTroubleshootingClick,
@@ -28709,7 +28725,13 @@ const ConfigurationPage = (props) => {
28709
28725
  hostId: modalLayerHostId
28710
28726
  }), [modalLayerHostId]);
28711
28727
  const filteredErrorBarProps = React.useMemo(() => (Object.assign(Object.assign({}, errorBarProps), { activeErrorMessages: filteredLatestErrors })), [errorBarProps, filteredLatestErrors]);
28712
- return (React__default["default"].createElement(react.Stack, { className: mobileView ? configurationContainerStyleMobile : configurationContainerStyleDesktop },
28728
+ const containerStyles = React.useMemo(() => {
28729
+ var _a;
28730
+ return configurationContainerStyle(!mobileView,
28731
+ /* @conditional-compile-remove(custom-branding) */
28732
+ (_a = props.backgroundImage) === null || _a === void 0 ? void 0 : _a.url);
28733
+ }, [mobileView, /* @conditional-compile-remove(custom-branding) */ (_d = props.backgroundImage) === null || _d === void 0 ? void 0 : _d.url]);
28734
+ return (React__default["default"].createElement(react.Stack, { styles: containerStyles },
28713
28735
  React__default["default"].createElement(react.Stack, { styles: bannerNotificationStyles },
28714
28736
  React__default["default"].createElement(ConfigurationPageErrorBar
28715
28737
  /* @conditional-compile-remove(call-readiness) */
@@ -28741,6 +28763,11 @@ const ConfigurationPage = (props) => {
28741
28763
  React__default["default"].createElement(react.Stack, { verticalFill: true, grow: true, horizontal: true, className: fillWidth },
28742
28764
  React__default["default"].createElement(react.Stack, { className: fillWidth, verticalAlign: "center", verticalFill: mobileWithPreview, tokens: mobileWithPreview ? configurationStackTokensMobile : configurationStackTokensDesktop },
28743
28765
  React__default["default"].createElement(react.Stack.Item, { styles: callDetailsContainerStyles },
28766
+ React__default["default"].createElement(Logo
28767
+ /* @conditional-compile-remove(custom-branding) */
28768
+ , {
28769
+ /* @conditional-compile-remove(custom-branding) */
28770
+ logo: props.logo }),
28744
28771
  title,
28745
28772
  callDescription),
28746
28773
  React__default["default"].createElement(react.Stack, { horizontal: !mobileWithPreview, horizontalAlign: mobileWithPreview ? 'stretch' : 'center', verticalFill: mobileWithPreview, tokens: mobileWithPreview ? configurationStackTokensMobile : undefined },
@@ -28783,6 +28810,13 @@ const micPermissionGrantedTrampoline = (microphonePermissionGranted, audioState)
28783
28810
  /* @conditional-compile-remove(call-readiness) */
28784
28811
  return audioState && audioState !== 'unsupported' ? audioState === 'granted' : microphonePermissionGranted;
28785
28812
  };
28813
+ const Logo = (props) => {
28814
+ var _a;
28815
+ if (!props.logo) {
28816
+ return React__default["default"].createElement(React__default["default"].Fragment, null);
28817
+ }
28818
+ return React__default["default"].createElement(react.Image, { styles: logoStyles((_a = props.logo.shape) !== null && _a !== void 0 ? _a : 'circle'), src: props.logo.url, alt: props.logo.alt });
28819
+ };
28786
28820
 
28787
28821
  // Copyright (c) Microsoft Corporation.
28788
28822
  // Licensed under the MIT License.
@@ -29466,7 +29500,7 @@ const isShowing = (overrideSidePane) => {
29466
29500
  return !!(overrideSidePane === null || overrideSidePane === void 0 ? void 0 : overrideSidePane.isActive);
29467
29501
  };
29468
29502
  const MainScreen = (props) => {
29469
- var _a, _b, _c, _d, _e, _f, _g, _h;
29503
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
29470
29504
  const adapter = useAdapter();
29471
29505
  const { camerasCount, microphonesCount } = useSelector$1(deviceCountSelector);
29472
29506
  const hasCameras = camerasCount > 0;
@@ -29553,7 +29587,11 @@ const MainScreen = (props) => {
29553
29587
  /* @conditional-compile-remove(call-readiness) */
29554
29588
  onNetworkingTroubleShootingClick: (_f = props.options) === null || _f === void 0 ? void 0 : _f.onNetworkingTroubleShootingClick,
29555
29589
  /* @conditional-compile-remove(capabilities) */
29556
- capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps }));
29590
+ capabilitiesChangedNotificationBarProps: capabilitiesChangedNotificationBarProps,
29591
+ /* @conditional-compile-remove(custom-branding) */
29592
+ logo: (_g = props.options) === null || _g === void 0 ? void 0 : _g.logo,
29593
+ /* @conditional-compile-remove(custom-branding) */
29594
+ backgroundImage: (_h = props.options) === null || _h === void 0 ? void 0 : _h.backgroundImage }));
29557
29595
  break;
29558
29596
  case 'accessDeniedTeamsMeeting':
29559
29597
  pageElement = (React__default["default"].createElement(NoticePage, { iconName: "NoticePageAccessDeniedTeamsMeeting", title: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedTitle, moreDetails: locale.strings.call.failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails, dataUiId: 'access-denied-teams-meeting-page' }));
@@ -29565,7 +29603,7 @@ const MainScreen = (props) => {
29565
29603
  pageElement = (React__default["default"].createElement(NoticePage, { iconName: "NoticePageJoinCallFailedDueToNoNetwork", title: locale.strings.call.failedToJoinCallDueToNoNetworkTitle, moreDetails: locale.strings.call.failedToJoinCallDueToNoNetworkMoreDetails, dataUiId: 'join-call-failed-due-to-no-network-page' }));
29566
29604
  break;
29567
29605
  case 'leaving':
29568
- pageElement = (React__default["default"].createElement(NoticePage, { title: (_g = locale.strings.call.leavingCallTitle) !== null && _g !== void 0 ? _g : 'Leaving...', dataUiId: 'leaving-page', pageStyle: leavePageStyle, disableStartCallButton: true }));
29606
+ pageElement = (React__default["default"].createElement(NoticePage, { title: (_j = locale.strings.call.leavingCallTitle) !== null && _j !== void 0 ? _j : 'Leaving...', dataUiId: 'leaving-page', pageStyle: leavePageStyle, disableStartCallButton: true }));
29569
29607
  break;
29570
29608
  case 'leftCall': {
29571
29609
  const { title, moreDetails, disableStartCallButton } = getEndedCallStrings(locale, endedCall);
@@ -29608,7 +29646,7 @@ const MainScreen = (props) => {
29608
29646
  case 'unsupportedEnvironment':
29609
29647
  pageElement = (React__default["default"].createElement(React__default["default"].Fragment, null,
29610
29648
  /* @conditional-compile-remove(unsupported-browser) */
29611
- React__default["default"].createElement(UnsupportedBrowserPage, { onTroubleshootingClick: (_h = props.options) === null || _h === void 0 ? void 0 : _h.onEnvironmentInfoTroubleshootingClick, environmentInfo: adapter.getState().environmentInfo })));
29649
+ React__default["default"].createElement(UnsupportedBrowserPage, { onTroubleshootingClick: (_k = props.options) === null || _k === void 0 ? void 0 : _k.onEnvironmentInfoTroubleshootingClick, environmentInfo: adapter.getState().environmentInfo })));
29612
29650
  break;
29613
29651
  }
29614
29652
  if (!pageElement) {
@@ -31697,7 +31735,11 @@ const CallWithChatScreen = (props) => {
31697
31735
  /* @conditional-compile-remove(gallery-layouts) */
31698
31736
  galleryOptions: props.galleryOptions,
31699
31737
  /* @conditional-compile-remove(click-to-call) */
31700
- localVideoTile: props.localVideoTile
31738
+ localVideoTile: props.localVideoTile,
31739
+ /* @conditional-compile-remove(custom-branding) */
31740
+ logo: props.logo,
31741
+ /* @conditional-compile-remove(custom-branding) */
31742
+ backgroundImage: props.backgroundImage
31701
31743
  }), [
31702
31744
  props.callControls,
31703
31745
  callControlOptionsFromProps,
@@ -31717,7 +31759,11 @@ const CallWithChatScreen = (props) => {
31717
31759
  /* @conditional-compile-remove(click-to-call) */
31718
31760
  props.localVideoTile,
31719
31761
  /* @conditional-compile-remove(pinned-participants) */
31720
- props.remoteVideoTileMenuOptions
31762
+ props.remoteVideoTileMenuOptions,
31763
+ /* @conditional-compile-remove(custom-branding) */
31764
+ props.logo,
31765
+ /* @conditional-compile-remove(custom-branding) */
31766
+ props.backgroundImage
31721
31767
  ]);
31722
31768
  const onRenderChatContent = React.useCallback(() => (React__default["default"].createElement(ChatComposite, Object.assign({}, chatProps, { fluentTheme: theme, options: {
31723
31769
  topic: false,
@@ -31776,7 +31822,11 @@ const CallWithChatComposite = (props) => {
31776
31822
  /* @conditional-compile-remove(click-to-call) */
31777
31823
  localVideoTile: options === null || options === void 0 ? void 0 : options.localVideoTile,
31778
31824
  /* @conditional-compile-remove(gallery-layouts) */
31779
- galleryOptions: options === null || options === void 0 ? void 0 : options.galleryOptions }))));
31825
+ galleryOptions: options === null || options === void 0 ? void 0 : options.galleryOptions,
31826
+ /* @conditional-compile-remove(custom-branding) */
31827
+ logo: options === null || options === void 0 ? void 0 : options.logo,
31828
+ /* @conditional-compile-remove(custom-branding) */
31829
+ backgroundImage: options === null || options === void 0 ? void 0 : options.backgroundImage }))));
31780
31830
  };
31781
31831
  const hasJoinedCallFn = (page, callStatus) => {
31782
31832
  /* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(one-to-n-calling) */