@azure/communication-react 1.13.0-alpha-202402140012 → 1.13.0-alpha-202402161702
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.
- package/dist/communication-react.d.ts +26 -42
- package/dist/dist-cjs/communication-react/index.js +145 -168
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +2 -2
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js +8 -12
- package/dist/dist-esm/calling-stateful-client/src/CallDeclarativeCommon.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ImageOverlay.d.ts +3 -7
- package/dist/dist-esm/react-components/src/components/ImageOverlay.js +16 -15
- package/dist/dist-esm/react-components/src/components/ImageOverlay.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.d.ts +12 -8
- package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js +34 -43
- package/dist/dist-esm/react-components/src/components/styles/ImageOverlay.style.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.d.ts +2 -0
- package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js +3 -2
- package/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/themes.d.ts +8 -21
- package/dist/dist-esm/react-components/src/theming/themes.js +10 -16
- package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +4 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +8 -44
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +5 -5
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +1 -16
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +3 -7
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js +11 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/NoticePage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.d.ts +3 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js +17 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/MediaGalleryUtils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +2 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/Survey.js +4 -11
- package/dist/dist-esm/react-composites/src/composites/common/Survey.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/styles/Survey.styles.d.ts +10 -0
- package/dist/dist-esm/react-composites/src/composites/common/styles/Survey.styles.js +36 -0
- package/dist/dist-esm/react-composites/src/composites/common/styles/Survey.styles.js.map +1 -0
- package/package.json +2 -2
@@ -173,7 +173,7 @@ function getDefaultExportFromCjs (x) {
|
|
173
173
|
// Copyright (c) Microsoft Corporation.
|
174
174
|
// Licensed under the MIT License.
|
175
175
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
176
|
-
var telemetryVersion = '1.13.0-alpha-
|
176
|
+
var telemetryVersion = '1.13.0-alpha-202402161702';
|
177
177
|
|
178
178
|
|
179
179
|
var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
|
@@ -4528,21 +4528,17 @@ class ProxyTransferCallFeature {
|
|
4528
4528
|
switch (prop) {
|
4529
4529
|
case 'on':
|
4530
4530
|
return (...args) => {
|
4531
|
-
const
|
4532
|
-
if (
|
4531
|
+
const isTransferAccepted = args[0] === 'transferAccepted';
|
4532
|
+
if (isTransferAccepted) {
|
4533
4533
|
const listener = args[1];
|
4534
4534
|
const newListener = (args) => {
|
4535
|
-
|
4536
|
-
|
4537
|
-
|
4538
|
-
|
4539
|
-
|
4540
|
-
});
|
4541
|
-
return acceptedTransferCall;
|
4542
|
-
} });
|
4543
|
-
listener(newArgs);
|
4535
|
+
this._context.setAcceptedTransfer(this._call.id, {
|
4536
|
+
callId: args.targetCall.id,
|
4537
|
+
timestamp: new Date()
|
4538
|
+
});
|
4539
|
+
listener(args);
|
4544
4540
|
};
|
4545
|
-
return target.on('
|
4541
|
+
return target.on('transferAccepted', newListener);
|
4546
4542
|
}
|
4547
4543
|
};
|
4548
4544
|
default:
|
@@ -6178,14 +6174,6 @@ const lightTheme = {
|
|
6178
6174
|
/* @conditional-compile-remove(raise-hand) */
|
6179
6175
|
raiseHandGold: '#eaa300'
|
6180
6176
|
},
|
6181
|
-
/* @conditional-compile-remove(image-overlay) */
|
6182
|
-
chatPalette: {
|
6183
|
-
modalOverlayBlack: '#000000',
|
6184
|
-
modalTitleWhite: '#ffffff',
|
6185
|
-
modalButtonBackground: '#1b1a19',
|
6186
|
-
modalButtonBackgroundHover: '#252423',
|
6187
|
-
modalButtonBackgroundActive: '#292827'
|
6188
|
-
},
|
6189
6177
|
semanticColors: {
|
6190
6178
|
errorText: '#a80000'
|
6191
6179
|
}
|
@@ -6229,18 +6217,20 @@ const darkTheme = {
|
|
6229
6217
|
/* @conditional-compile-remove(raise-hand) */
|
6230
6218
|
raiseHandGold: '#eaa300'
|
6231
6219
|
},
|
6232
|
-
/* @conditional-compile-remove(image-overlay) */
|
6233
|
-
chatPalette: {
|
6234
|
-
modalOverlayBlack: '#000000',
|
6235
|
-
modalTitleWhite: '#ffffff',
|
6236
|
-
modalButtonBackground: '#1b1a19',
|
6237
|
-
modalButtonBackgroundHover: '#252423',
|
6238
|
-
modalButtonBackgroundActive: '#292827'
|
6239
|
-
},
|
6240
6220
|
semanticColors: {
|
6241
6221
|
errorText: '#f1707b'
|
6242
6222
|
}
|
6243
6223
|
};
|
6224
|
+
/* @conditional-compile-remove(image-overlay) */
|
6225
|
+
/**
|
6226
|
+
* Preset dark theme for the ImageOverlay component.
|
6227
|
+
*
|
6228
|
+
* @beta
|
6229
|
+
*/
|
6230
|
+
const imageOverlayTheme = {
|
6231
|
+
palette: darkTheme.palette,
|
6232
|
+
semanticColors: Object.assign(Object.assign({}, darkTheme.semanticColors), { bodyBackground: 'rgba(0, 0, 0, 0.85)' })
|
6233
|
+
};
|
6244
6234
|
|
6245
6235
|
// Copyright (c) Microsoft Corporation.
|
6246
6236
|
// Licensed under the MIT License.
|
@@ -6275,11 +6265,12 @@ const ThemeContext = React.createContext(defaultTheme);
|
|
6275
6265
|
* @public
|
6276
6266
|
*/
|
6277
6267
|
const FluentThemeProvider = (props) => {
|
6278
|
-
const { fluentTheme, rtl, children } = props;
|
6268
|
+
const { fluentTheme, rtl, children, /* @conditional-compile-remove(image-overlay) */ rootStyle } = props;
|
6279
6269
|
let fluentV8Theme = react.mergeThemes(defaultTheme, fluentTheme);
|
6280
6270
|
fluentV8Theme = react.mergeThemes(fluentV8Theme, { rtl });
|
6281
6271
|
return (React.createElement(ThemeContext.Provider, { value: fluentV8Theme },
|
6282
|
-
React.createElement(react.ThemeProvider, { theme: fluentV8Theme, className: wrapper
|
6272
|
+
React.createElement(react.ThemeProvider, { theme: fluentV8Theme, className: wrapper,
|
6273
|
+
/* @conditional-compile-remove(image-overlay) */ style: rootStyle }, children)));
|
6283
6274
|
};
|
6284
6275
|
/**
|
6285
6276
|
* React hook to access theme
|
@@ -8815,10 +8806,10 @@ const downloadIcon = {
|
|
8815
8806
|
* @private
|
8816
8807
|
*/
|
8817
8808
|
const overlayStyles = (theme) => {
|
8809
|
+
var _a;
|
8818
8810
|
return {
|
8819
8811
|
root: {
|
8820
|
-
background: theme.
|
8821
|
-
opacity: '0.85'
|
8812
|
+
background: (_a = theme.semanticColors) === null || _a === void 0 ? void 0 : _a.bodyBackground
|
8822
8813
|
}
|
8823
8814
|
};
|
8824
8815
|
};
|
@@ -8845,6 +8836,14 @@ const scrollableContentStyle = {
|
|
8845
8836
|
flexDirection: 'column',
|
8846
8837
|
flexWrap: 'nowrap'
|
8847
8838
|
};
|
8839
|
+
/**
|
8840
|
+
* @private
|
8841
|
+
*/
|
8842
|
+
const themeProviderRootStyle = {
|
8843
|
+
background: 'transparent',
|
8844
|
+
display: 'flex',
|
8845
|
+
flexDirection: 'column'
|
8846
|
+
};
|
8848
8847
|
/**
|
8849
8848
|
* @private
|
8850
8849
|
*/
|
@@ -8867,14 +8866,14 @@ const titleBarContainerStyle = {
|
|
8867
8866
|
alignContent: 'center',
|
8868
8867
|
alignItems: 'center'
|
8869
8868
|
};
|
8870
|
-
/* @conditional-compile-remove(image-overlay) */
|
8871
8869
|
/**
|
8872
8870
|
* @private
|
8873
8871
|
*/
|
8874
8872
|
const titleStyle$2 = (theme) => {
|
8873
|
+
var _a;
|
8875
8874
|
return {
|
8876
8875
|
paddingLeft: '0.5rem',
|
8877
|
-
color: theme.
|
8876
|
+
color: (_a = theme.palette) === null || _a === void 0 ? void 0 : _a.black,
|
8878
8877
|
fontFamily: 'inherit',
|
8879
8878
|
fontSize: '0.875rem',
|
8880
8879
|
fontStyle: 'normal',
|
@@ -8922,77 +8921,60 @@ const normalImageStyle = {
|
|
8922
8921
|
maxHeight: '100%',
|
8923
8922
|
maxWidth: '100%'
|
8924
8923
|
};
|
8925
|
-
/* @conditional-compile-remove(image-overlay) */
|
8926
8924
|
/**
|
8927
8925
|
* @private
|
8928
8926
|
*/
|
8929
8927
|
const brokenImageStyle = (theme) => {
|
8928
|
+
var _a;
|
8930
8929
|
return {
|
8931
|
-
color: theme.
|
8930
|
+
color: (_a = theme.palette) === null || _a === void 0 ? void 0 : _a.black
|
8932
8931
|
};
|
8933
8932
|
};
|
8934
|
-
/* @conditional-compile-remove(image-overlay) */
|
8935
8933
|
/**
|
8936
8934
|
* @private
|
8937
8935
|
*/
|
8938
8936
|
const closeButtonStyles = (theme) => {
|
8937
|
+
var _a, _b, _c;
|
8939
8938
|
return {
|
8940
|
-
color: theme.
|
8939
|
+
color: (_a = theme.palette) === null || _a === void 0 ? void 0 : _a.black,
|
8941
8940
|
':hover': {
|
8942
|
-
color: theme.
|
8943
|
-
backgroundColor: theme.chatPalette.modalButtonBackgroundHover
|
8941
|
+
color: (_b = theme.palette) === null || _b === void 0 ? void 0 : _b.black
|
8944
8942
|
},
|
8945
8943
|
':active': {
|
8946
|
-
color: theme.
|
8947
|
-
backgroundColor: theme.chatPalette.modalButtonBackgroundActive
|
8944
|
+
color: (_c = theme.palette) === null || _c === void 0 ? void 0 : _c.black
|
8948
8945
|
}
|
8949
8946
|
};
|
8950
8947
|
};
|
8951
|
-
/* @conditional-compile-remove(image-overlay) */
|
8952
8948
|
/**
|
8953
8949
|
* @private
|
8954
8950
|
*/
|
8955
|
-
const downloadButtonStyle =
|
8956
|
-
|
8957
|
-
|
8958
|
-
|
8959
|
-
|
8960
|
-
|
8961
|
-
|
8962
|
-
|
8963
|
-
|
8964
|
-
|
8965
|
-
|
8966
|
-
|
8967
|
-
':hover': {
|
8968
|
-
color: theme.chatPalette.modalTitleWhite,
|
8969
|
-
backgroundColor: theme.chatPalette.modalButtonBackgroundHover
|
8970
|
-
},
|
8971
|
-
':active': {
|
8972
|
-
color: theme.chatPalette.modalTitleWhite,
|
8973
|
-
backgroundColor: theme.chatPalette.modalButtonBackgroundActive
|
8974
|
-
},
|
8975
|
-
'@media (max-width: 25rem)': {
|
8976
|
-
display: 'none'
|
8977
|
-
}
|
8978
|
-
};
|
8951
|
+
const downloadButtonStyle = {
|
8952
|
+
margin: '0 0.5rem',
|
8953
|
+
height: '32px',
|
8954
|
+
borderWidth: '1px',
|
8955
|
+
fontSize: '0.875rem', // 14px
|
8956
|
+
fontWeight: 600,
|
8957
|
+
padding: '0.38rem 0.75rem',
|
8958
|
+
borderRadius: '4px',
|
8959
|
+
whiteSpace: 'nowrap',
|
8960
|
+
'@media (max-width: 25rem)': {
|
8961
|
+
display: 'none'
|
8962
|
+
}
|
8979
8963
|
};
|
8980
|
-
/* @conditional-compile-remove(image-overlay) */
|
8981
8964
|
/**
|
8982
8965
|
* @private
|
8983
8966
|
*/
|
8984
8967
|
const smallDownloadButtonContainerStyle = (theme) => {
|
8968
|
+
var _a, _b, _c;
|
8985
8969
|
return {
|
8986
8970
|
marginRight: '0.5rem',
|
8987
|
-
color: theme.chatPalette.modalTitleWhite,
|
8988
8971
|
whiteSpace: 'nowrap',
|
8972
|
+
color: (_a = theme.palette) === null || _a === void 0 ? void 0 : _a.black,
|
8989
8973
|
':hover': {
|
8990
|
-
color: theme.
|
8991
|
-
backgroundColor: theme.chatPalette.modalButtonBackgroundHover
|
8974
|
+
color: (_b = theme.palette) === null || _b === void 0 ? void 0 : _b.black
|
8992
8975
|
},
|
8993
8976
|
':active': {
|
8994
|
-
color: theme.
|
8995
|
-
backgroundColor: theme.chatPalette.modalButtonBackgroundActive
|
8977
|
+
color: (_c = theme.palette) === null || _c === void 0 ? void 0 : _c.black
|
8996
8978
|
},
|
8997
8979
|
'@media (min-width: 25rem)': {
|
8998
8980
|
display: 'none'
|
@@ -9010,37 +8992,36 @@ const smallDownloadButtonContainerStyle = (theme) => {
|
|
9010
8992
|
* @beta
|
9011
8993
|
*/
|
9012
8994
|
const ImageOverlay = (props) => {
|
9013
|
-
const { isOpen, imageSrc, title, titleIcon, altText, onDownloadButtonClicked, onDismiss
|
9014
|
-
const theme = useTheme();
|
8995
|
+
const { isOpen, imageSrc, title, titleIcon, altText, onDownloadButtonClicked, onDismiss } = props;
|
9015
8996
|
/* @conditional-compile-remove(image-overlay) */
|
9016
8997
|
const localeStrings = useLocale$1().strings.imageOverlay;
|
9017
8998
|
const [isImageLoaded, setIsImageLoaded] = React.useState(true);
|
9018
|
-
const imageStyle = isImageLoaded ? normalImageStyle : brokenImageStyle(
|
8999
|
+
const imageStyle = isImageLoaded ? normalImageStyle : brokenImageStyle(imageOverlayTheme);
|
9019
9000
|
const renderHeaderBar = () => {
|
9020
9001
|
return (React.createElement(react.Stack, { className: react.mergeStyles(headerStyle) },
|
9021
9002
|
React.createElement(react.Stack, { className: react.mergeStyles(titleBarContainerStyle) },
|
9022
9003
|
titleIcon,
|
9023
|
-
React.createElement(react.Stack.Item, { className: react.mergeStyles(titleStyle$2(
|
9004
|
+
React.createElement(react.Stack.Item, { className: react.mergeStyles(titleStyle$2(imageOverlayTheme)), "aria-label": title || 'Image' }, title)),
|
9024
9005
|
React.createElement(react.Stack, { className: react.mergeStyles(controlBarContainerStyle) },
|
9025
|
-
React.createElement(react.DefaultButton, { className: react.mergeStyles(downloadButtonStyle
|
9006
|
+
onDownloadButtonClicked && (React.createElement(react.DefaultButton, { className: react.mergeStyles(downloadButtonStyle),
|
9026
9007
|
/* @conditional-compile-remove(image-overlay) */
|
9027
|
-
text: localeStrings.downloadButtonLabel, onClick: () => onDownloadButtonClicked(imageSrc), onRenderIcon: () => React.createElement(react.Icon, { iconName: downloadIcon.iconName, className: react.mergeStyles(downloadIconStyle) }), "aria-live": 'polite', "aria-label": localeStrings.downloadButtonLabel }),
|
9028
|
-
React.createElement(react.IconButton, { iconProps: downloadIcon, className: react.mergeStyles(smallDownloadButtonContainerStyle(
|
9029
|
-
React.createElement(react.IconButton, { iconProps: cancelIcon, className: react.mergeStyles(closeButtonStyles(
|
9008
|
+
text: localeStrings.downloadButtonLabel, onClick: () => onDownloadButtonClicked && onDownloadButtonClicked(imageSrc), onRenderIcon: () => React.createElement(react.Icon, { iconName: downloadIcon.iconName, className: react.mergeStyles(downloadIconStyle) }), "aria-live": 'polite', "aria-label": localeStrings.downloadButtonLabel })),
|
9009
|
+
onDownloadButtonClicked && (React.createElement(react.IconButton, { iconProps: downloadIcon, className: react.mergeStyles(smallDownloadButtonContainerStyle(imageOverlayTheme)), onClick: () => onDownloadButtonClicked && onDownloadButtonClicked(imageSrc), "aria-label": localeStrings.downloadButtonLabel, "aria-live": 'polite' })),
|
9010
|
+
React.createElement(react.IconButton, { iconProps: cancelIcon, className: react.mergeStyles(closeButtonStyles(imageOverlayTheme)), onClick: onDismiss,
|
9030
9011
|
/* @conditional-compile-remove(image-overlay) */
|
9031
9012
|
ariaLabel: localeStrings.dismissButtonAriaLabel, "aria-live": 'polite' }))));
|
9032
9013
|
};
|
9033
9014
|
const renderBodyWithLightDismiss = () => {
|
9034
|
-
return (React.createElement(react.Stack, { className: react.mergeStyles(bodyContainer), onClick: () => props.onDismiss() }, imageSrc && (React.createElement("img", { src: imageSrc, className: react.mergeStyles(imageStyle), alt: altText || 'image', "aria-label": 'image-overlay-main-image', "aria-live": 'polite', onError: (
|
9015
|
+
return (React.createElement(react.Stack, { className: react.mergeStyles(bodyContainer), onClick: () => props.onDismiss() }, imageSrc && (React.createElement("img", { src: imageSrc, className: react.mergeStyles(imageStyle), alt: altText || 'image', "aria-label": 'image-overlay-main-image', "aria-live": 'polite', onError: () => {
|
9035
9016
|
setIsImageLoaded(false);
|
9036
|
-
onError && onError(event);
|
9037
9017
|
}, onClick: (event) => event.stopPropagation(), onDoubleClick: (event) => {
|
9038
9018
|
event.persist();
|
9039
9019
|
} }))));
|
9040
9020
|
};
|
9041
|
-
return (React.createElement(react.Modal, { titleAriaId: title, isOpen: isOpen, onDismiss: onDismiss, overlay: { styles: Object.assign({}, overlayStyles(
|
9042
|
-
|
9043
|
-
|
9021
|
+
return (React.createElement(react.Modal, { titleAriaId: title, isOpen: isOpen, onDismiss: onDismiss, overlay: { styles: Object.assign({}, overlayStyles(imageOverlayTheme)) }, styles: { main: focusTrapZoneStyle, scrollableContent: scrollableContentStyle }, isDarkOverlay: true },
|
9022
|
+
React.createElement(FluentThemeProvider, { fluentTheme: imageOverlayTheme, rootStyle: themeProviderRootStyle },
|
9023
|
+
renderHeaderBar(),
|
9024
|
+
renderBodyWithLightDismiss())));
|
9044
9025
|
};
|
9045
9026
|
|
9046
9027
|
// Copyright (c) Microsoft Corporation.
|
@@ -18732,7 +18713,7 @@ const _StarSurvey = (props) => {
|
|
18732
18713
|
/**
|
18733
18714
|
* @private
|
18734
18715
|
*/
|
18735
|
-
const questionTextStyle = (theme) => react.mergeStyles({
|
18716
|
+
const questionTextStyle$1 = (theme) => react.mergeStyles({
|
18736
18717
|
fontWeight: 600,
|
18737
18718
|
fontSize: _pxToRem(16),
|
18738
18719
|
lineHeight: _pxToRem(20),
|
@@ -18883,7 +18864,7 @@ const _TagsSurvey = (props) => {
|
|
18883
18864
|
}, [selectedTags, selectedTextResponse, onConfirm]);
|
18884
18865
|
return (React.createElement(React.Fragment, null,
|
18885
18866
|
React.createElement(react.Stack, { verticalAlign: "center" },
|
18886
|
-
React.createElement(react.Text, { className: questionTextStyle(theme) }, strings === null || strings === void 0 ? void 0 : strings.tagsSurveyQuestion)),
|
18867
|
+
React.createElement(react.Text, { className: questionTextStyle$1(theme) }, strings === null || strings === void 0 ? void 0 : strings.tagsSurveyQuestion)),
|
18887
18868
|
React.createElement(react.Pivot, null, Object.keys(tags).map((key, i) => {
|
18888
18869
|
return (React.createElement(react.PivotItem, { key: `key-${i}`, headerText: categoryHeadings[key], headerButtonProps: {
|
18889
18870
|
'data-order': i,
|
@@ -25212,7 +25193,7 @@ const getEndedCallPageProps = (locale, endedCall) => {
|
|
25212
25193
|
*
|
25213
25194
|
* @private
|
25214
25195
|
*/
|
25215
|
-
const getCallCompositePage = (call, previousCall,
|
25196
|
+
const getCallCompositePage = (call, previousCall, transferCall, unsupportedBrowserInfo) => {
|
25216
25197
|
/* @conditional-compile-remove(unsupported-browser) */
|
25217
25198
|
if (isUnsupportedEnvironment(unsupportedBrowserInfo.environmentInfo, unsupportedBrowserInfo.unsupportedBrowserVersionOptedIn)) {
|
25218
25199
|
return 'unsupportedEnvironment';
|
@@ -26875,12 +26856,25 @@ const createAnnouncementString = (direction, participants, strings) => {
|
|
26875
26856
|
/**
|
26876
26857
|
* determines if the media gallery should be replaced by the dtmf dialer
|
26877
26858
|
* @param callees Target callees to determine if the dtmf dialer should be shown
|
26859
|
+
* @param remoteParticipants Remote participants to determine if the dtmf dialer should be shown if there are participants in the call
|
26860
|
+
* when joining
|
26878
26861
|
* @returns whether the dialer should be the gallery content or not
|
26879
26862
|
*/
|
26880
|
-
const showDtmfDialer = (callees) => {
|
26881
|
-
|
26882
|
-
|
26883
|
-
|
26863
|
+
const showDtmfDialer = (callees, remoteParticipants) => {
|
26864
|
+
let showDtmfDialer = false;
|
26865
|
+
callees === null || callees === void 0 ? void 0 : callees.forEach((callee) => {
|
26866
|
+
if (communicationCommon.isMicrosoftTeamsAppIdentifier(callee) || communicationCommon.isPhoneNumberIdentifier(callee)) {
|
26867
|
+
showDtmfDialer = true;
|
26868
|
+
}
|
26869
|
+
});
|
26870
|
+
if (remoteParticipants) {
|
26871
|
+
remoteParticipants.forEach((participant) => {
|
26872
|
+
if (!('phoneNumber' in participant.identifier || 'teamsAppId' in participant.identifier)) {
|
26873
|
+
showDtmfDialer = false;
|
26874
|
+
}
|
26875
|
+
});
|
26876
|
+
}
|
26877
|
+
return showDtmfDialer;
|
26884
26878
|
};
|
26885
26879
|
|
26886
26880
|
// Copyright (c) Microsoft Corporation.
|
@@ -30488,22 +30482,9 @@ const CallPage = (props) => {
|
|
30488
30482
|
/* @conditional-compile-remove(dtmf-dialer) */
|
30489
30483
|
const callees = useSelector$1(getTargetCallees);
|
30490
30484
|
/* @conditional-compile-remove(dtmf-dialer) */
|
30491
|
-
const renderDtmfDialerFromStart = showDtmfDialer(callees);
|
30485
|
+
const renderDtmfDialerFromStart = showDtmfDialer(callees, remoteParticipantsConnected);
|
30492
30486
|
/* @conditional-compile-remove(dtmf-dialer) */
|
30493
30487
|
const [dtmfDialerPresent, setDtmfDialerPresent] = React.useState(renderDtmfDialerFromStart);
|
30494
|
-
/* @conditional-compile-remove(dtmf-dialer) */
|
30495
|
-
const dialerShouldAutoDismiss = React.useRef(renderDtmfDialerFromStart);
|
30496
|
-
/* @conditional-compile-remove(dtmf-dialer) */
|
30497
|
-
/**
|
30498
|
-
* This useEffect is about clearing the dtmf dialer should there be a new participant that joins the call.
|
30499
|
-
* This will only happen the first time should the dialer be present when the call starts.
|
30500
|
-
*/
|
30501
|
-
React.useEffect(() => {
|
30502
|
-
if (remoteParticipantsConnected.length > 1 && dtmfDialerPresent && dialerShouldAutoDismiss.current) {
|
30503
|
-
setDtmfDialerPresent(false);
|
30504
|
-
dialerShouldAutoDismiss.current = false;
|
30505
|
-
}
|
30506
|
-
}, [dtmfDialerPresent, remoteParticipantsConnected, setDtmfDialerPresent]);
|
30507
30488
|
const strings = useLocale().strings.call;
|
30508
30489
|
// Reduce the controls shown when mobile view is enabled.
|
30509
30490
|
const callControlOptions = mobileView ? reduceCallControlsForMobile(options === null || options === void 0 ? void 0 : options.callControls) : options === null || options === void 0 ? void 0 : options.callControls;
|
@@ -31883,13 +31864,21 @@ const moreDetailsStyles = {
|
|
31883
31864
|
*/
|
31884
31865
|
function NoticePage(props) {
|
31885
31866
|
const adapter = useAdapter();
|
31867
|
+
const callees = useSelector$1(getTargetCallees);
|
31886
31868
|
return (React.createElement(react.Stack, { className: react.mergeStyles(props.pageStyle), verticalFill: true, verticalAlign: "center", horizontalAlign: "center", "data-ui-id": props.dataUiId, "aria-atomic": true },
|
31887
31869
|
React.createElement(react.Stack, { className: react.mergeStyles(containerStyle), tokens: containerItemGap },
|
31888
31870
|
props.iconName && React.createElement(CallCompositeIcon, { iconName: props.iconName }),
|
31889
31871
|
React.createElement(react.Text, { className: react.mergeStyles(titleStyles), "aria-live": "assertive" }, props.title),
|
31890
31872
|
React.createElement(react.Text, { className: react.mergeStyles(moreDetailsStyles), "aria-live": "assertive" }, props.moreDetails),
|
31891
31873
|
!props.disableStartCallButton && (React.createElement(react.Stack, { styles: rejoinCallButtonContainerStyles },
|
31892
|
-
React.createElement(StartCallButton, { onClick: () =>
|
31874
|
+
React.createElement(StartCallButton, { onClick: () => {
|
31875
|
+
if (callees && callees.length > 0) {
|
31876
|
+
adapter.startCall(callees);
|
31877
|
+
}
|
31878
|
+
else {
|
31879
|
+
adapter.joinCall();
|
31880
|
+
}
|
31881
|
+
}, disabled: false, rejoinCall: true, autoFocus: true }))))));
|
31893
31882
|
}
|
31894
31883
|
|
31895
31884
|
// Copyright (c) Microsoft Corporation.
|
@@ -32002,22 +31991,19 @@ const overlayPropsWaitingToBeAdmitted = (strings) => ({
|
|
32002
31991
|
overlayIcon: React.createElement(CallCompositeIcon, { iconName: "LobbyScreenWaitingToBeAdmitted" })
|
32003
31992
|
});
|
32004
31993
|
const overlayPropsOutboundCall = (strings, participant) => {
|
31994
|
+
var _a;
|
32005
31995
|
if (communicationCommon.isPhoneNumberIdentifier(participant.identifier)) {
|
32006
31996
|
return {
|
32007
31997
|
title: participant.identifier.phoneNumber,
|
32008
|
-
moreDetails:
|
31998
|
+
moreDetails: strings.outboundCallingNoticeString
|
32009
31999
|
};
|
32010
32000
|
}
|
32011
32001
|
else {
|
32012
32002
|
return {
|
32013
|
-
title:
|
32003
|
+
title: (_a = strings.outboundCallingNoticeString) !== null && _a !== void 0 ? _a : ''
|
32014
32004
|
};
|
32015
32005
|
}
|
32016
32006
|
};
|
32017
|
-
const outboundCallStringsTrampoline = (strings) => {
|
32018
|
-
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
32019
|
-
return strings.outboundCallingNoticeString;
|
32020
|
-
};
|
32021
32007
|
|
32022
32008
|
// Copyright (c) Microsoft Corporation.
|
32023
32009
|
// Licensed under the MIT License.
|
@@ -32642,6 +32628,39 @@ function ThankYouForFeedbackPage(
|
|
32642
32628
|
React.createElement(react.Text, { className: react.mergeStyles(titleStyles), "aria-live": "assertive" }, strings.endOfSurveyText))));
|
32643
32629
|
}
|
32644
32630
|
|
32631
|
+
// Copyright (c) Microsoft Corporation.
|
32632
|
+
// Licensed under the MIT License.
|
32633
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
32634
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
32635
|
+
/**
|
32636
|
+
* @private
|
32637
|
+
*/
|
32638
|
+
const questionTextStyle = (theme) => react.mergeStyles({
|
32639
|
+
fontWeight: 600,
|
32640
|
+
fontSize: _pxToRem(20),
|
32641
|
+
lineHeight: _pxToRem(20),
|
32642
|
+
color: theme.palette.neutralPrimary
|
32643
|
+
});
|
32644
|
+
/* @conditional-compile-remove(end-of-call-survey) */
|
32645
|
+
/**
|
32646
|
+
* @private
|
32647
|
+
*/
|
32648
|
+
const surveyContainerStyle = (isMobile) => react.mergeStyles(isMobile
|
32649
|
+
? {
|
32650
|
+
width: '20rem',
|
32651
|
+
position: 'absolute',
|
32652
|
+
top: '10%',
|
32653
|
+
left: '50%',
|
32654
|
+
transform: 'translateX(-50%)'
|
32655
|
+
}
|
32656
|
+
: {
|
32657
|
+
width: '24rem',
|
32658
|
+
position: 'absolute',
|
32659
|
+
top: '20%',
|
32660
|
+
left: '50%',
|
32661
|
+
transform: 'translateX(-50%)'
|
32662
|
+
});
|
32663
|
+
|
32645
32664
|
// Copyright (c) Microsoft Corporation.
|
32646
32665
|
// Licensed under the MIT License.
|
32647
32666
|
var __awaiter$8 = (window && window.__awaiter) || function (thisArg, _arguments, P, generator) {
|
@@ -32676,17 +32695,10 @@ const Survey = (props) => {
|
|
32676
32695
|
/* @conditional-compile-remove(end-of-call-survey) */
|
32677
32696
|
const theme = react.useTheme();
|
32678
32697
|
/* @conditional-compile-remove(end-of-call-survey) */
|
32679
|
-
const questionTextStyle = (theme) => react.mergeStyles({
|
32680
|
-
fontWeight: 600,
|
32681
|
-
fontSize: _pxToRem(20),
|
32682
|
-
lineHeight: _pxToRem(20),
|
32683
|
-
color: theme.palette.neutralPrimary
|
32684
|
-
});
|
32685
|
-
/* @conditional-compile-remove(end-of-call-survey) */
|
32686
32698
|
return (React.createElement(React.Fragment, null,
|
32687
32699
|
showDefaultAfterSubmitScreen && React.createElement(ThankYouForFeedbackPage, { iconName: iconName }),
|
32688
32700
|
showDefaultAfterDismissedScreen && (React.createElement(NoticePage, { iconName: iconName, title: title, moreDetails: moreDetails, dataUiId: 'left-call-page', disableStartCallButton: disableStartCallButton })),
|
32689
|
-
!showDefaultAfterSubmitScreen && !showDefaultAfterDismissedScreen && (React.createElement(react.Stack, { verticalAlign: "center",
|
32701
|
+
!showDefaultAfterSubmitScreen && !showDefaultAfterDismissedScreen && (React.createElement(react.Stack, { verticalAlign: "center", className: surveyContainerStyle(isMobile) },
|
32690
32702
|
React.createElement(react.Text, { className: questionTextStyle(theme) }, strings.surveyTitle),
|
32691
32703
|
React.createElement(SurveyContent, { setShowSubmitFeedbackButton: (showButton) => {
|
32692
32704
|
setShowSubmitFeedbackButton(showButton);
|
@@ -32916,7 +32928,7 @@ const MainScreen = (props) => {
|
|
32916
32928
|
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 }));
|
32917
32929
|
break;
|
32918
32930
|
}
|
32919
|
-
pageElement = (React.createElement(NoticePage, { iconName: iconName, title: title, moreDetails: moreDetails, dataUiId: 'left-call-page', disableStartCallButton: disableStartCallButton }));
|
32931
|
+
pageElement = (React.createElement(NoticePage, { iconName: iconName, title: title, moreDetails: callees ? '' : moreDetails, dataUiId: 'left-call-page', disableStartCallButton: disableStartCallButton }));
|
32920
32932
|
break;
|
32921
32933
|
}
|
32922
32934
|
case 'lobby':
|
@@ -33351,8 +33363,8 @@ class CallContext {
|
|
33351
33363
|
/* @conditional-compile-remove(call-transfer) */
|
33352
33364
|
const transferCall = latestAcceptedTransfer ? clientState.calls[latestAcceptedTransfer.callId] : undefined;
|
33353
33365
|
const newPage = getCallCompositePage(call, latestEndedCall,
|
33354
|
-
/* @conditional-compile-remove(
|
33355
|
-
/* @conditional-compile-remove(
|
33366
|
+
/* @conditional-compile-remove(call-transfer) */ transferCall,
|
33367
|
+
/* @conditional-compile-remove(unsupported-browser) */ environmentInfo);
|
33356
33368
|
if (!IsCallEndedPage(oldPage) && IsCallEndedPage(newPage)) {
|
33357
33369
|
this.emitter.emit('callEnded', { callId: this.callId });
|
33358
33370
|
// Reset the callId to undefined as the call has ended.
|
@@ -33458,7 +33470,7 @@ class AzureCommunicationCallAdapter {
|
|
33458
33470
|
/* @conditional-compile-remove(video-background-effects) */ options, this.targetCallees);
|
33459
33471
|
this.context.onCallEnded((endCallData) => this.emitter.emit('callEnded', endCallData));
|
33460
33472
|
const onStateChange = (clientState) => {
|
33461
|
-
var _a, _b, _c
|
33473
|
+
var _a, _b, _c;
|
33462
33474
|
// unsubscribe when the instance gets disposed
|
33463
33475
|
if (!this) {
|
33464
33476
|
callClient.offStateChange(onStateChange);
|
@@ -33480,31 +33492,6 @@ class AzureCommunicationCallAdapter {
|
|
33480
33492
|
});
|
33481
33493
|
}
|
33482
33494
|
this.context.updateClientState(clientState);
|
33483
|
-
/* @conditional-compile-remove(call-transfer) */
|
33484
|
-
const acceptedTransferCallState = this.context.getState().acceptedTransferCallState;
|
33485
|
-
/* @conditional-compile-remove(call-transfer) */
|
33486
|
-
// TODO: Remove this if statement when Calling SDK prevents accepting transfer requests that have timed out
|
33487
|
-
// This is to handle the case when there has been an accepted transfer call that is now in the connected state
|
33488
|
-
// AND is not the current call. Ensure we leave the current call.
|
33489
|
-
if (acceptedTransferCallState &&
|
33490
|
-
acceptedTransferCallState.state === 'Connected' &&
|
33491
|
-
((_d = this.call) === null || _d === void 0 ? void 0 : _d.id) &&
|
33492
|
-
acceptedTransferCallState.id !== this.call.id) {
|
33493
|
-
const cAgent = callAgent;
|
33494
|
-
const transferCall = cAgent.calls.find((call) => call.id === acceptedTransferCallState.id);
|
33495
|
-
if (transferCall) {
|
33496
|
-
const oldCall = this.call;
|
33497
|
-
this.processNewCall(transferCall);
|
33498
|
-
// Arbitrary wait time before hanging up. 2 seconds is derived from manual testing. This is to allow
|
33499
|
-
// transferor to hang up themselves. If the transferor has not hung up, we hang up because we are now
|
33500
|
-
// in the transfer call
|
33501
|
-
setTimeout(() => {
|
33502
|
-
if ((oldCall === null || oldCall === void 0 ? void 0 : oldCall.state) === 'Connected') {
|
33503
|
-
oldCall.hangUp();
|
33504
|
-
}
|
33505
|
-
}, 2000);
|
33506
|
-
}
|
33507
|
-
}
|
33508
33495
|
};
|
33509
33496
|
this.handlers = createHandlers(callClient, callAgent, deviceManager, undefined,
|
33510
33497
|
/* @conditional-compile-remove(video-background-effects) */ {
|
@@ -33532,7 +33519,8 @@ class AzureCommunicationCallAdapter {
|
|
33532
33519
|
};
|
33533
33520
|
this.callAgent.on('callsUpdated', onCallsUpdated);
|
33534
33521
|
}
|
33535
|
-
|
33522
|
+
/* @conditional-compile-remove(teams-identity-support) */
|
33523
|
+
if (this.callAgent.kind === 'TeamsCallAgent') {
|
33536
33524
|
const onTeamsCallsUpdated = (args) => {
|
33537
33525
|
var _a;
|
33538
33526
|
if ((_a = this.call) === null || _a === void 0 ? void 0 : _a.id) {
|
@@ -34148,7 +34136,7 @@ class AzureCommunicationCallAdapter {
|
|
34148
34136
|
/* @conditional-compile-remove(rooms) */
|
34149
34137
|
(_f = this.call) === null || _f === void 0 ? void 0 : _f.on('roleChanged', this.roleChanged.bind(this));
|
34150
34138
|
/* @conditional-compile-remove(call-transfer) */
|
34151
|
-
(_g = this.call) === null || _g === void 0 ? void 0 : _g.feature(communicationCalling.Features.Transfer).on('
|
34139
|
+
(_g = this.call) === null || _g === void 0 ? void 0 : _g.feature(communicationCalling.Features.Transfer).on('transferAccepted', this.transferAccepted.bind(this));
|
34152
34140
|
/* @conditional-compile-remove(capabilities) */
|
34153
34141
|
(_h = this.call) === null || _h === void 0 ? void 0 : _h.feature(communicationCalling.Features.Capabilities).on('capabilitiesChanged', this.capabilitiesChanged.bind(this));
|
34154
34142
|
/* @conditional-compile-remove(spotlight) */
|
@@ -34222,20 +34210,8 @@ class AzureCommunicationCallAdapter {
|
|
34222
34210
|
});
|
34223
34211
|
}
|
34224
34212
|
/* @conditional-compile-remove(call-transfer) */
|
34225
|
-
|
34226
|
-
|
34227
|
-
var _a, _b, _c, _d, _e, _f;
|
34228
|
-
const videoSource = (_c = (_b = (_a = this.context.getState().call) === null || _a === void 0 ? void 0 : _a.localVideoStreams) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.source;
|
34229
|
-
args.accept({
|
34230
|
-
audioOptions: (_d = options === null || options === void 0 ? void 0 : options.audioOptions) !== null && _d !== void 0 ? _d : {
|
34231
|
-
muted: !!((_e = this.context.getState().call) === null || _e === void 0 ? void 0 : _e.isMuted)
|
34232
|
-
},
|
34233
|
-
videoOptions: (_f = options === null || options === void 0 ? void 0 : options.videoOptions) !== null && _f !== void 0 ? _f :
|
34234
|
-
/* maintain video state if options.videoOptions is not defined */
|
34235
|
-
(videoSource ? { localVideoStreams: [new communicationCalling.LocalVideoStream(videoSource)] } : undefined)
|
34236
|
-
});
|
34237
|
-
} });
|
34238
|
-
this.emitter.emit('transferRequested', newArgs);
|
34213
|
+
transferAccepted(args) {
|
34214
|
+
this.emitter.emit('transferAccepted', args);
|
34239
34215
|
}
|
34240
34216
|
/* @conditional-compile-remove(capabilities) */
|
34241
34217
|
capabilitiesChanged(data) {
|
@@ -36894,6 +36870,7 @@ exports.darkTheme = darkTheme;
|
|
36894
36870
|
exports.fromFlatCommunicationIdentifier = fromFlatCommunicationIdentifier;
|
36895
36871
|
exports.getCallingSelector = getSelector$1;
|
36896
36872
|
exports.getChatSelector = getSelector;
|
36873
|
+
exports.imageOverlayTheme = imageOverlayTheme;
|
36897
36874
|
exports.lightTheme = lightTheme;
|
36898
36875
|
exports.onResolveVideoEffectDependency = onResolveVideoEffectDependency;
|
36899
36876
|
exports.onResolveVideoEffectDependencyLazy = onResolveVideoEffectDependencyLazy;
|