@azure/communication-react 1.18.0-alpha-202406110013 → 1.18.0-alpha-202406130013
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 +43 -17
- package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-D2h2ZRSt.js → ChatMessageComponentAsRichTextEditBox-Armuv0sV.js} +2 -2
- package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-D2h2ZRSt.js.map → ChatMessageComponentAsRichTextEditBox-Armuv0sV.js.map} +1 -1
- package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-B4juIBoJ.js → RichTextSendBoxWrapper-tA7MAdZl.js} +2 -2
- package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-B4juIBoJ.js.map → RichTextSendBoxWrapper-tA7MAdZl.js.map} +1 -1
- package/dist/dist-cjs/communication-react/{index-CJjvV64L.js → index-BGFUrfo5.js} +381 -67
- package/dist/dist-cjs/communication-react/index-BGFUrfo5.js.map +1 -0
- package/dist/dist-cjs/communication-react/index.js +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/chat-component-bindings/src/messageThreadSelector.js +5 -4
- package/dist/dist-esm/chat-component-bindings/src/messageThreadSelector.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/ChatClientState.d.ts +1 -0
- package/dist/dist-esm/chat-stateful-client/src/ChatClientState.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js +3 -1
- package/dist/dist-esm/chat-stateful-client/src/EventSubscriber.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js +1 -7
- package/dist/dist-esm/chat-stateful-client/src/convertChatMessage.js.map +1 -1
- package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.d.ts +0 -1
- package/dist/dist-esm/chat-stateful-client/src/types/ChatMessageWithStatus.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantList.d.ts +2 -0
- package/dist/dist-esm/react-components/src/components/ParticipantList.js +5 -4
- package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +2 -1
- package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/icons.d.ts +1 -0
- package/dist/dist-esm/react-components/src/theming/icons.js +2 -1
- package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +23 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +7 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +59 -2
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.d.ts +13 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js +49 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useMeetingPhoneInfo.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.d.ts +4 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +52 -5
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +4 -3
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +5 -6
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.d.ts +4 -3
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js +26 -5
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js +2 -1
- package/dist/dist-esm/react-composites/src/composites/common/BaseComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js +26 -0
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/Drawer/PreparedMoreDrawer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.d.ts +10 -0
- package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js +56 -0
- package/dist/dist-esm/react-composites/src/composites/common/MeetingPhoneInfoPaneContent.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +2 -2
- package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/PeoplePaneContent.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +3 -3
- package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +8 -12
- package/dist/dist-esm/react-composites/src/composites/common/styles/TeamsMeetingConferenceInfo.style.d.ts +46 -0
- package/dist/dist-esm/react-composites/src/composites/common/styles/TeamsMeetingConferenceInfo.style.js +96 -0
- package/dist/dist-esm/react-composites/src/composites/common/styles/TeamsMeetingConferenceInfo.style.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +6 -1
- package/package.json +2 -2
- package/dist/dist-cjs/communication-react/index-CJjvV64L.js.map +0 -1
@@ -175,7 +175,7 @@ function getDefaultExportFromCjs (x) {
|
|
175
175
|
// Copyright (c) Microsoft Corporation.
|
176
176
|
// Licensed under the MIT License.
|
177
177
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
178
|
-
var telemetryVersion = '1.18.0-alpha-
|
178
|
+
var telemetryVersion = '1.18.0-alpha-202406130013';
|
179
179
|
|
180
180
|
|
181
181
|
var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
|
@@ -6911,6 +6911,7 @@ const DEFAULT_COMPONENT_ICONS = {
|
|
6911
6911
|
/* @conditional-compile-remove(call-readiness) */
|
6912
6912
|
BrowserPermissionDeniedError: React.createElement(BrowserPermissionDenied20Filled, null),
|
6913
6913
|
VideoTilePinned: React.createElement(reactIcons.Pin16Filled, null),
|
6914
|
+
ParticipantItemPinned: React.createElement(reactIcons.Pin20Filled, null),
|
6914
6915
|
VideoTileMoreOptions: React.createElement(reactIcons.MoreHorizontal20Filled, null),
|
6915
6916
|
VideoTileScaleFit: React.createElement(reactIcons.ScaleFit20Regular, null),
|
6916
6917
|
VideoTileScaleFill: React.createElement(reactIcons.ScaleFill20Regular, null),
|
@@ -12152,7 +12153,8 @@ const chatMessageMenuStyle = react.mergeStyles({
|
|
12152
12153
|
minWidth: '8.5rem',
|
12153
12154
|
height: 'max-content',
|
12154
12155
|
cursor: 'pointer',
|
12155
|
-
overflow: 'hidden'
|
12156
|
+
overflow: 'hidden',
|
12157
|
+
'-webkit-tap-highlight-color': 'transparent' // Disable tap highlight on Android
|
12156
12158
|
});
|
12157
12159
|
/**
|
12158
12160
|
* @private
|
@@ -13660,7 +13662,7 @@ class _ErrorBoundary extends React.Component {
|
|
13660
13662
|
// Copyright (c) Microsoft Corporation.
|
13661
13663
|
// Licensed under the MIT License.
|
13662
13664
|
/* @conditional-compile-remove(rich-text-editor) */
|
13663
|
-
const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-
|
13665
|
+
const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-Armuv0sV.js'); }));
|
13664
13666
|
/**
|
13665
13667
|
* @private
|
13666
13668
|
* Use this function to load RoosterJS dependencies early in the lifecycle.
|
@@ -13668,7 +13670,7 @@ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve()
|
|
13668
13670
|
*
|
13669
13671
|
* @conditional-compile-remove(rich-text-editor)
|
13670
13672
|
*/
|
13671
|
-
const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-
|
13673
|
+
const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-Armuv0sV.js'); });
|
13672
13674
|
/**
|
13673
13675
|
* @private
|
13674
13676
|
*/
|
@@ -15186,7 +15188,7 @@ const iconStyles$2 = react.mergeStyles({
|
|
15186
15188
|
|
15187
15189
|
// Copyright (c) Microsoft Corporation.
|
15188
15190
|
// Licensed under the MIT License.
|
15189
|
-
const onRenderParticipantDefault = (participant, strings, myUserId, onRenderAvatar, createParticipantMenuItems, styles, onParticipantClick, showParticipantOverflowTooltip, participantAriaLabelledBy, theme) => {
|
15191
|
+
const onRenderParticipantDefault = (participant, strings, myUserId, onRenderAvatar, createParticipantMenuItems, styles, onParticipantClick, showParticipantOverflowTooltip, participantAriaLabelledBy, theme, pinnedParticipants) => {
|
15190
15192
|
const callingParticipant = participant;
|
15191
15193
|
let presence = undefined;
|
15192
15194
|
if (callingParticipant) {
|
@@ -15220,7 +15222,8 @@ const onRenderParticipantDefault = (participant, strings, myUserId, onRenderAvat
|
|
15220
15222
|
React.createElement(RaisedHandIcon, null)))),
|
15221
15223
|
callingParticipant.isScreenSharing && (React.createElement(react.Icon, { iconName: "ParticipantItemScreenShareStart", className: iconStyles$2, ariaLabel: strings.sharingIconLabel })),
|
15222
15224
|
callingParticipant.isMuted && (React.createElement(react.Icon, { iconName: "ParticipantItemMicOff", className: iconStyles$2, ariaLabel: strings.mutedIconLabel })),
|
15223
|
-
callingParticipant.spotlight && React.createElement(react.Icon, { iconName: "ParticipantItemSpotlighted", className: iconStyles$2 })
|
15225
|
+
callingParticipant.spotlight && React.createElement(react.Icon, { iconName: "ParticipantItemSpotlighted", className: iconStyles$2 }),
|
15226
|
+
pinnedParticipants && (pinnedParticipants === null || pinnedParticipants === void 0 ? void 0 : pinnedParticipants.includes(participant.userId)) && (React.createElement(react.Icon, { iconName: "ParticipantItemPinned", className: iconStyles$2 }))));
|
15224
15227
|
}
|
15225
15228
|
: () => null;
|
15226
15229
|
const onRenderAvatarWithRaiseHand = (callingParticipant === null || callingParticipant === void 0 ? void 0 : callingParticipant.raisedHand) && onRenderAvatar
|
@@ -15282,7 +15285,7 @@ const ParticipantList$k = (props) => {
|
|
15282
15285
|
/* @conditional-compile-remove(total-participant-count) */
|
15283
15286
|
totalParticipantCount,
|
15284
15287
|
/* @conditional-compile-remove(total-participant-count) */
|
15285
|
-
strings, participantAriaLabelledBy } = props;
|
15288
|
+
strings, participantAriaLabelledBy, pinnedParticipants } = props;
|
15286
15289
|
const theme = useTheme();
|
15287
15290
|
const ids = useIdentifiers();
|
15288
15291
|
const participantItemStrings = useLocale$1().strings.participantItem;
|
@@ -15329,7 +15332,7 @@ const ParticipantList$k = (props) => {
|
|
15329
15332
|
return (React.createElement(react.Stack, { "data-ui-id": ids.participantList, className: react.mergeStyles(participantListStyle$1, (_e = props.styles) === null || _e === void 0 ? void 0 : _e.root), role: 'menu' },
|
15330
15333
|
displayedParticipants.map((participant) => onRenderParticipant
|
15331
15334
|
? onRenderParticipant(participant)
|
15332
|
-
: onRenderParticipantDefault(participant, participantItemStrings, myUserId, onRenderAvatar, createParticipantMenuItems, participantItemStyles, props.onParticipantClick, showParticipantOverflowTooltip, participantAriaLabelledBy, theme)),
|
15335
|
+
: onRenderParticipantDefault(participant, participantItemStrings, myUserId, onRenderAvatar, createParticipantMenuItems, participantItemStyles, props.onParticipantClick, showParticipantOverflowTooltip, participantAriaLabelledBy, theme, pinnedParticipants)),
|
15333
15336
|
/* @conditional-compile-remove(total-participant-count) */ overflowParticipantCountString &&
|
15334
15337
|
totalParticipantCount &&
|
15335
15338
|
totalParticipantCount > displayedParticipants.length && (React.createElement(react.Text, { style: { fontWeight: 400, margin: '0.5rem' } }, _formatString(overflowParticipantCountString, {
|
@@ -19633,7 +19636,7 @@ const DEFAULT_REMOTE_VIDEO_TILE_MENU_OPTIONS = {
|
|
19633
19636
|
* @private
|
19634
19637
|
* Maximum number of remote video tiles that can be pinned
|
19635
19638
|
*/
|
19636
|
-
const MAX_PINNED_REMOTE_VIDEO_TILES = 4;
|
19639
|
+
const MAX_PINNED_REMOTE_VIDEO_TILES$1 = 4;
|
19637
19640
|
/**
|
19638
19641
|
* VideoGallery represents a layout of video tiles for a specific call.
|
19639
19642
|
* It displays a {@link VideoTile} for the local user as well as for each remote participant who has joined the call.
|
@@ -19728,7 +19731,7 @@ const VideoGallery = (props) => {
|
|
19728
19731
|
videoTilesOptions
|
19729
19732
|
]);
|
19730
19733
|
const onPinParticipant = React.useCallback((userId) => {
|
19731
|
-
if (pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES) {
|
19734
|
+
if (pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES$1) {
|
19732
19735
|
return;
|
19733
19736
|
}
|
19734
19737
|
if (!pinnedParticipantsState.includes(userId)) {
|
@@ -19780,7 +19783,7 @@ const VideoGallery = (props) => {
|
|
19780
19783
|
? remoteVideoTileMenu.kind === 'drawer'
|
19781
19784
|
? 'drawer'
|
19782
19785
|
: 'contextual'
|
19783
|
-
: undefined, drawerMenuHostId: drawerMenuHostId, onPinParticipant: onPinParticipant, onUnpinParticipant: onUnpinParticipant, onUpdateScalingMode: onUpdateScalingMode, isPinned: isPinned, disablePinMenuItem: pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES, toggleAnnouncerString: toggleAnnouncerString, spotlightedParticipantUserIds: spotlightedParticipants, isSpotlighted: isSpotlighted, onStartSpotlight: onStartRemoteSpotlight, onStopSpotlight: onStopRemoteSpotlight, maxParticipantsToSpotlight: maxParticipantsToSpotlight, reactionResources: reactionResources,
|
19786
|
+
: undefined, drawerMenuHostId: drawerMenuHostId, onPinParticipant: onPinParticipant, onUnpinParticipant: onUnpinParticipant, onUpdateScalingMode: onUpdateScalingMode, isPinned: isPinned, disablePinMenuItem: pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES$1, toggleAnnouncerString: toggleAnnouncerString, spotlightedParticipantUserIds: spotlightedParticipants, isSpotlighted: isSpotlighted, onStartSpotlight: onStartRemoteSpotlight, onStopSpotlight: onStopRemoteSpotlight, maxParticipantsToSpotlight: maxParticipantsToSpotlight, reactionResources: reactionResources,
|
19784
19787
|
/* @conditional-compile-remove(soft-mute) */
|
19785
19788
|
onMuteParticipant: onMuteParticipant }));
|
19786
19789
|
}, [
|
@@ -23079,7 +23082,7 @@ const stepTextStyle = react.mergeStyles({
|
|
23079
23082
|
/**
|
23080
23083
|
* @private
|
23081
23084
|
*/
|
23082
|
-
const phoneInfoTextStyle = react.mergeStyles({
|
23085
|
+
const phoneInfoTextStyle$1 = react.mergeStyles({
|
23083
23086
|
fontSize: _pxToRem(14),
|
23084
23087
|
lineHeight: _pxToRem(40),
|
23085
23088
|
fontWeight: react.FontWeights.semibold
|
@@ -23087,7 +23090,7 @@ const phoneInfoTextStyle = react.mergeStyles({
|
|
23087
23090
|
/**
|
23088
23091
|
* @private
|
23089
23092
|
*/
|
23090
|
-
const phoneInfoIcon = (theme) => {
|
23093
|
+
const phoneInfoIcon$1 = (theme) => {
|
23091
23094
|
return react.mergeStyles({
|
23092
23095
|
background: `${theme.palette.themeLighter}`,
|
23093
23096
|
height: _pxToRem(36),
|
@@ -23105,13 +23108,13 @@ const phoneInfoInctructionLine = react.mergeStyles({
|
|
23105
23108
|
/**
|
23106
23109
|
* @private
|
23107
23110
|
*/
|
23108
|
-
const phoneInfoStep = react.mergeStyles({
|
23111
|
+
const phoneInfoStep$1 = react.mergeStyles({
|
23109
23112
|
textAlign: 'right'
|
23110
23113
|
});
|
23111
23114
|
/**
|
23112
23115
|
* @private
|
23113
23116
|
*/
|
23114
|
-
const phoneInfoIconStyle = (theme) => {
|
23117
|
+
const phoneInfoIconStyle$1 = (theme) => {
|
23115
23118
|
return react.mergeStyles({
|
23116
23119
|
padding: _pxToRem(8),
|
23117
23120
|
color: `${theme.palette.themePrimary}`,
|
@@ -23160,29 +23163,29 @@ const MeetingConferencePhoneInfoModal = (props) => {
|
|
23160
23163
|
conferencePhoneInfoList.length > 0 && (React.createElement(react.Stack, null,
|
23161
23164
|
React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", className: phoneInfoInctructionLine },
|
23162
23165
|
React.createElement(react.Stack.Item, { style: { display: 'flex' } },
|
23163
|
-
React.createElement(react.Stack, { horizontal: true, className: phoneInfoStep },
|
23166
|
+
React.createElement(react.Stack, { horizontal: true, className: phoneInfoStep$1 },
|
23164
23167
|
React.createElement(react.Stack, { className: infoConnectionLinkStyle(theme) }),
|
23165
|
-
React.createElement(react.Stack.Item, { className: phoneInfoIcon(theme) },
|
23168
|
+
React.createElement(react.Stack.Item, { className: phoneInfoIcon$1(theme) },
|
23166
23169
|
React.createElement(react.Stack, { verticalAlign: "center", horizontalAlign: "center" },
|
23167
|
-
React.createElement(react.Icon, { iconName: "PhoneNumberButton", className: phoneInfoIconStyle(theme) }))),
|
23170
|
+
React.createElement(react.Icon, { iconName: "PhoneNumberButton", className: phoneInfoIconStyle$1(theme) }))),
|
23168
23171
|
React.createElement(react.Stack.Item, null,
|
23169
23172
|
React.createElement(react.Text, { className: stepTextStyle }, strings === null || strings === void 0 ? void 0 : strings.meetingConferencePhoneInfoModalDialIn)))),
|
23170
|
-
React.createElement(react.Stack.Item, { className: phoneInfoStep }, conferencePhoneInfoList.map((phoneNumber, index) => (React.createElement(react.Stack.Item, { key: index },
|
23171
|
-
React.createElement(react.Text, { className: phoneInfoTextStyle }, formatPhoneNumberInfo(phoneNumber, strings))))))),
|
23173
|
+
React.createElement(react.Stack.Item, { className: phoneInfoStep$1 }, conferencePhoneInfoList.map((phoneNumber, index) => (React.createElement(react.Stack.Item, { key: index },
|
23174
|
+
React.createElement(react.Text, { className: phoneInfoTextStyle$1 }, formatPhoneNumberInfo(phoneNumber, strings))))))),
|
23172
23175
|
React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center", className: phoneInfoInctructionLine },
|
23173
23176
|
React.createElement(react.Stack.Item, { style: { display: 'flex' } },
|
23174
23177
|
React.createElement(react.Stack, { horizontal: true },
|
23175
23178
|
React.createElement(react.Stack, { className: infoConnectionLinkStyle(theme) }),
|
23176
|
-
React.createElement(react.Stack.Item, { className: phoneInfoIcon(theme) },
|
23179
|
+
React.createElement(react.Stack.Item, { className: phoneInfoIcon$1(theme) },
|
23177
23180
|
React.createElement(react.Stack, { verticalAlign: "center", horizontalAlign: "center" },
|
23178
|
-
React.createElement(react.Icon, { iconName: "DtmfDialpadButton", className: phoneInfoIconStyle(theme) }))),
|
23181
|
+
React.createElement(react.Icon, { iconName: "DtmfDialpadButton", className: phoneInfoIconStyle$1(theme) }))),
|
23179
23182
|
React.createElement(react.Stack.Item, null,
|
23180
23183
|
React.createElement(react.Text, { className: stepTextStyle }, strings === null || strings === void 0 ? void 0 : strings.meetingConferencePhoneInfoModalMeetingId)))),
|
23181
|
-
React.createElement(react.Text, { className: phoneInfoTextStyle }, formatMeetingId(conferencePhoneInfoList[0].conferenceId))),
|
23184
|
+
React.createElement(react.Text, { className: phoneInfoTextStyle$1 }, formatMeetingId(conferencePhoneInfoList[0].conferenceId))),
|
23182
23185
|
React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center" },
|
23183
23186
|
React.createElement(react.Stack, { horizontal: true },
|
23184
|
-
React.createElement(react.Stack.Item, { className: phoneInfoIcon(theme), style: { marginLeft: _pxToRem(2) } },
|
23185
|
-
React.createElement(react.Icon, { iconName: "PhoneInfoWait", className: phoneInfoIconStyle(theme) })),
|
23187
|
+
React.createElement(react.Stack.Item, { className: phoneInfoIcon$1(theme), style: { marginLeft: _pxToRem(2) } },
|
23188
|
+
React.createElement(react.Icon, { iconName: "PhoneInfoWait", className: phoneInfoIconStyle$1(theme) })),
|
23186
23189
|
React.createElement(react.Stack.Item, null,
|
23187
23190
|
React.createElement(react.Text, { className: stepTextStyle }, strings === null || strings === void 0 ? void 0 : strings.meetingConferencePhoneInfoModalWait)))))))));
|
23188
23191
|
};
|
@@ -24743,9 +24746,10 @@ const updateMessagesWithAttached = (chatMessagesWithStatus) => {
|
|
24743
24746
|
// Copyright (c) Microsoft Corporation.
|
24744
24747
|
// Licensed under the MIT License.
|
24745
24748
|
const memoizedAllConvertChatMessage = memoizeFnAll((_key, chatMessage, userId, isSeen, isLargeGroup) => {
|
24749
|
+
var _a;
|
24746
24750
|
const messageType = chatMessage.type.toLowerCase();
|
24747
24751
|
/* @conditional-compile-remove(data-loss-prevention) */
|
24748
|
-
if (chatMessage.policyViolation) {
|
24752
|
+
if (((_a = chatMessage.policyViolation) === null || _a === void 0 ? void 0 : _a.result) === 'contentBlocked') {
|
24749
24753
|
return convertToUiBlockedMessage(chatMessage, userId, isSeen, isLargeGroup);
|
24750
24754
|
}
|
24751
24755
|
if (messageType === ACSKnownMessageType.text ||
|
@@ -25000,7 +25004,7 @@ const sanitizedMessageContentType = (type) => {
|
|
25000
25004
|
: 'unknown';
|
25001
25005
|
};
|
25002
25006
|
const isMessageValidToRender = (message) => {
|
25003
|
-
var _a, _b, _c, _d;
|
25007
|
+
var _a, _b, _c, _d, _e;
|
25004
25008
|
if (message.deletedOn) {
|
25005
25009
|
return false;
|
25006
25010
|
}
|
@@ -25008,10 +25012,10 @@ const isMessageValidToRender = (message) => {
|
|
25008
25012
|
return true;
|
25009
25013
|
}
|
25010
25014
|
/* @conditional-compile-remove(data-loss-prevention) */
|
25011
|
-
if (message.policyViolation) {
|
25015
|
+
if (((_d = message.policyViolation) === null || _d === void 0 ? void 0 : _d.result) === 'contentBlocked') {
|
25012
25016
|
return true;
|
25013
25017
|
}
|
25014
|
-
return !!(message.content && ((
|
25018
|
+
return !!(message.content && ((_e = message.content) === null || _e === void 0 ? void 0 : _e.message) !== '');
|
25015
25019
|
};
|
25016
25020
|
/**
|
25017
25021
|
* Selector for {@link MessageThread} component.
|
@@ -25935,13 +25939,7 @@ const toChatError = (target, error) => {
|
|
25935
25939
|
* @private
|
25936
25940
|
*/
|
25937
25941
|
const convertChatMessage = (message, status = 'delivered', clientMessageId) => {
|
25938
|
-
|
25939
|
-
return Object.assign(Object.assign({}, message), { clientMessageId: clientMessageId, status,
|
25940
|
-
/* @conditional-compile-remove(data-loss-prevention) */
|
25941
|
-
policyViolation: !!(((_a = message.sender) === null || _a === void 0 ? void 0 : _a.kind) === 'microsoftTeamsUser' &&
|
25942
|
-
!!message.editedOn &&
|
25943
|
-
((_b = message.content) === null || _b === void 0 ? void 0 : _b.message) === '' &&
|
25944
|
-
((_c = message.content.attachments) === null || _c === void 0 ? void 0 : _c.length) === 0) });
|
25942
|
+
return Object.assign(Object.assign({}, message), { clientMessageId: clientMessageId, status });
|
25945
25943
|
};
|
25946
25944
|
|
25947
25945
|
// Copyright (c) Microsoft Corporation.
|
@@ -25984,7 +25982,9 @@ class EventSubscriber {
|
|
25984
25982
|
sequenceId: '', // Note: there is a bug in chatMessageReceived event that it is missing sequenceId
|
25985
25983
|
createdOn: new Date(event.createdOn),
|
25986
25984
|
editedOn: 'editedOn' in event ? event.editedOn : undefined,
|
25987
|
-
metadata: event.metadata
|
25985
|
+
metadata: event.metadata,
|
25986
|
+
/* @conditional-compile-remove(data-loss-prevention) */
|
25987
|
+
policyViolation: 'policyViolation' in event ? event.policyViolation : undefined
|
25988
25988
|
});
|
25989
25989
|
};
|
25990
25990
|
// convert event type to chatMessage type, only possible type is 'html' and 'text' in chat event
|
@@ -27101,7 +27101,7 @@ const isChatError = (e) => {
|
|
27101
27101
|
return 'target' in e && e['target'] !== undefined && 'innerError' in e && e['innerError'] !== undefined;
|
27102
27102
|
};
|
27103
27103
|
|
27104
|
-
var call$k={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",notInvitedToRoomDetails:"You are not able to join this room because you do not have an invite.",notInvitedToRoomTitle:"Not invited to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peoplePaneMoreButtonAriaLabel:"More",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",startSpotlightMenuLabel:"Spotlight for everyone",addSpotlightMenuLabel:"Add spotlight",stopSpotlightMenuLabel:"Stop spotlighting",stopSpotlightOnSelfMenuLabel:"Exit spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopAllSpotlightMenuLabel:"Stop all spotlights",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"The room ID provided could not be found.",roomNotFoundTitle:"Room not found",roomNotValidDetails:"This room is not valid at this current time.",roomNotValidTitle:"Room not valid",inviteToRoomRemovedDetails:"Your invite to join this room was removed.",inviteToRoomRemovedTitle:"Invite to room removed",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",callRejectedTitle:"The call could not be completed",callRejectedMoreDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutTitle:"The call could not be completed",callTimeoutDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutBotTitle:"The call could not be completed",callTimeoutBotDetails:"The service that you are trying to reach is unavailable. Please try again later.",dtmfDialerButtonLabel:"Dialpad",dtmfDialerButtonTooltipOn:"Show dialpad",dtmfDialerButtonTooltipOff:"Hide dialpad",dtmfDialerMoreButtonLabelOn:"Show dialpad",dtmfDialerMoreButtonLabelOff:"Hide dialpad",phoneCallMoreButtonLabel:"Phone Call",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."},hideAttendeeNames:{hideAttendeeNameAttendee:"Your name is hidden from other attendees. Organizers and presenters can see your real name.",hideAttendeeNamePresenter:"Attendee names are hidden. Only organizers and presenters can see names to protect attendee privacy."}},surveyTitle:"Help us improve",starSurveyHelperText:"How was the quality of the call?",starSurveyOneStarText:"The quality was bad.",starSurveyTwoStarText:"The quality was poor.",starSurveyThreeStarText:"The quality was good.",starSurveyFourStarText:"The quality was great.",starSurveyFiveStarText:"The quality was excellent.",surveyConfirmButtonLabel:"Send Feedback",starRatingAriaLabel:"Select {0} of {1} stars",surveySkipButtonLabel:"Skip",tagsSurveyQuestion:"What could have been better?",tagsSurveyTextFieldDefaultText:"Other, please specify",tagsSurveyHelperText:"Check any issues you experienced",endOfSurveyText:"Thank you for your feedback!",surveyIssues:{overallRating:{callCannotJoin:"I could not join call",callCannotInvite:"I could not invite others into the call",hadToRejoin:"I had to rejoin the call",callEndedUnexpectedly:"Call ended for me unexpectedly",otherIssues:"I was having other issues with the call"},audioRating:{noLocalAudio:"The other side could not hear any sound",noRemoteAudio:"I could not hear any sound",echo:"I heard echos on the call",audioNoise:"I heard noise on the call",lowVolume:"Volume was low",audioStoppedUnexpectedly:"Audio stopped unexpectedly",distortedSpeech:"Audio was distorted",audioInterruption:"Audio was interrupted",otherIssues:"I was having other audio issues in this call"},videoRating:{noVideoReceived:"I could not see any video",noVideoSent:"Others could not see me",lowQuality:"Video quality was low",freezes:"Video frozen",stoppedUnexpectedly:"Video stopped unexpectedly",darkVideoReceived:"I can only see dark screens when others turn on their camera",audioVideoOutOfSync:"Audio and Video was out of sync",otherIssues:"I was having other video issues in this call"},screenshareRating:{noContentLocal:"Other people could not see my screenshare",noContentRemote:"I could not see other people's screenshare",cannotPresent:"I could not present my screen",lowQuality:"Screen share quality was low",freezes:"Screen share frozen",stoppedUnexpectedly:"Screen share stopped unexpectedly",largeDelay:"Screen share has a large delay",otherIssues:"I was having other screen share issues in this call"}},surveyIssuesHeadingStrings:{overallRating:"Overall",audioRating:"Audio",videoRating:"Video",screenshareRating:"Presenting"},spotlightPrompt:{startSpotlightHeading:"Spotlight for everyone?",startSpotlightText:"You'll highlight this video for everyone in the meeting.",startSpotlightOnSelfText:"You'll highlight your video for everyone in the meeting.",startSpotlightConfirmButtonLabel:"Spotlight for everyone",startSpotlightCancelButtonLabel:"Cancel",stopSpotlightHeading:"Stop spotlighting this video?",stopSpotlightOnSelfHeading:"Exit spotlight?",stopAllSpotlightHeading:"Stop spotlighting all videos?",stopSpotlightText:"This video will no longer be highlighted for everyone in the meeting.",stopSpotlightOnSelfText:"Your video will no longer be highlighted for everyone in the meeting.",stopAllSpotlightText:"The videos will no longer be highlighted for everyone in the meeting.",stopSpotlightConfirmButtonLabel:"Stop spotlighting",stopSpotlightOnSelfConfirmButtonLabel:"Exit spotlight",stopSpotlightCancelButtonLabel:"Cancel"},exitSpotlightButtonLabel:"Exit spotlight",exitSpotlightButtonTooltip:"Exit spotlight",leaveConfirmButtonLabel:"Leave",endCallConfirmButtonLabel:"End call",hangUpCancelButtonLabel:"Cancel",leaveConfirmDialogTitle:"Leave the call?",leaveConfirmDialogContent:"Are you sure you want to leave the call?",endCallConfirmDialogTitle:"End the call?",endCallConfirmDialogContent:"You'll end the call for everyone.",invalidMeetingIdentifier:"Invalid meeting ID or passcode"};var chat$k={chatListHeader:"In this chat",uploadAttachment:"Upload Attachment"};var callWithChat$k={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peopleButtonTooltipOpenAriaLabel:"People button, Show participants",peopleButtonTooltipCloseAriaLabel:"People button, Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number"};var en_US = {call:call$k,chat:chat$k,callWithChat:callWithChat$k};
|
27104
|
+
var call$k={cameraLabel:"Camera",noCamerasLabel:"No cameras found",cameraPermissionDenied:"Your browser is blocking access to your camera",cameraTurnedOff:"Your camera is turned off",chatButtonLabel:"Chat",close:"Close",complianceBannerNowOnlyRecording:"You are now only recording this meeting.",complianceBannerNowOnlyTranscription:"You are now only transcribing this meeting.",complianceBannerRecordingAndTranscriptionSaved:"Recording and transcription are being saved.",complianceBannerRecordingAndTranscriptionStarted:"Recording and transcription have started.",complianceBannerRecordingAndTranscriptionStopped:"Recording and transcription have stopped.",complianceBannerRecordingSaving:"Recording is being saved.",complianceBannerRecordingStarted:"Recording has started.",complianceBannerRecordingStopped:"Recording has stopped.",complianceBannerTranscriptionStarted:"Transcription has started.",complianceBannerTranscriptionConsent:"By joining, you are giving consent for this meeting to be transcribed.",complianceBannerTranscriptionSaving:"Transcription is being saved.",complianceBannerTranscriptionStopped:"Transcription has stopped.",configurationPageTitle:"Start a call",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",defaultPlaceHolder:"Select an option",dismissSidePaneButtonLabel:"Close",videoEffectsPaneTitle:"Effects",videoEffectsPaneBackgroundSelectionTitle:"Background",configurationPageVideoEffectsButtonLabel:"Effects",unableToStartVideoEffect:"Unable to apply video effect.",blurBackgroundEffectButtonLabel:"Blur",blurBackgroundTooltip:"Blur Background",removeBackgroundEffectButtonLabel:"None",removeBackgroundTooltip:"Remove Background",cameraOffBackgroundEffectWarningText:"Your camera is off. Turn on camera to see video effect.",failedToJoinCallDueToNoNetworkMoreDetails:"Call was disconnected due to a network issue. Check your connection and join again.",failedToJoinCallDueToNoNetworkTitle:"Call disconnected",failedToJoinTeamsMeetingReasonAccessDeniedMoreDetails:"You were not granted entry in the call. If this was a mistake, re-join the call.",failedToJoinTeamsMeetingReasonAccessDeniedTitle:"Dismissed from lobby",learnMore:"Learn more",leavingCallTitle:"Leaving...",leftCallMoreDetails:"If this was a mistake, re-join the call.",leftCallTitle:"You left the call",lobbyScreenConnectingToCallTitle:"Joining call",lobbyScreenWaitingToBeAdmittedTitle:"Waiting to be admitted",microphonePermissionDenied:"Your browser is blocking access to your microphone",microphoneToggleInLobbyNotAllowed:"Cannot mute or unmute while in lobby.",mutedMessage:"You're muted",networkReconnectMoreDetails:"Looks like something went wrong. We're trying to get back into the call.",networkReconnectTitle:"Hold on",notInvitedToRoomDetails:"You are not able to join this room because you do not have an invite.",notInvitedToRoomTitle:"Not invited to room",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peoplePaneTitle:"People",peoplePaneMoreButtonAriaLabel:"More",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peoplePaneSubTitle:"In this call {numberOfPeople}",privacyPolicy:"Privacy policy",rejoinCallButtonLabel:"Re-join call",removedFromCallMoreDetails:"Another participant removed you from the call.",removedFromCallTitle:"You were removed",removeMenuLabel:"Remove",startSpotlightMenuLabel:"Spotlight for everyone",addSpotlightMenuLabel:"Add spotlight",stopSpotlightMenuLabel:"Stop spotlighting",stopSpotlightOnSelfMenuLabel:"Exit spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopAllSpotlightMenuLabel:"Stop all spotlights",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",roomNotFoundDetails:"The room ID provided could not be found.",roomNotFoundTitle:"Room not found",roomNotValidDetails:"This room is not valid at this current time.",roomNotValidTitle:"Room not valid",inviteToRoomRemovedDetails:"Your invite to join this room was removed.",inviteToRoomRemovedTitle:"Invite to room removed",soundLabel:"Sound",noMicrophonesLabel:"No microphones found",noSpeakersLabel:"No speakers found",startCallButtonLabel:"Start call",openDialpadButtonLabel:"Dial phone number",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",moreButtonCallingLabel:"More",resumeCallButtonLabel:"Resume",resumingCallButtonLabel:"Resuming...",resumeCallButtonAriaLabel:"Resume call",resumingCallButtonAriaLabel:"Resume call",holdScreenLabel:"You're on hold",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number",outboundCallingNoticeString:"Calling...",participantJoinedNoticeString:"{displayName} joined",twoParticipantJoinedNoticeString:"{displayName1} and {displayName2} have joined",threeParticipantJoinedNoticeString:"{displayName1}, {displayName2} and {displayName3} have joined",participantLeftNoticeString:"{displayName} left",twoParticipantLeftNoticeString:"{displayName1} and {displayName2} have left",threeParticipantLeftNoticeString:"{displayName1}, {displayName2} and {displayName3} have left",unnamedParticipantString:"unnamed participant",manyUnnamedParticipantsJoined:"unnamed participant and {numOfParticipants} other participants joined",manyUnnamedParticipantsLeft:"unnamed participant and {numOfParticipants} other participants left",manyParticipantsJoined:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants joined",manyParticipantsLeft:"{displayName1}, {displayName2}, {displayName3} and {numOfParticipants} other participants left",liveCaptionsLabel:"Live captions",captionsSettingsLabel:"Caption settings",startCaptionsButtonOnLabel:"Turn on captions",startCaptionsButtonOffLabel:"Turn off captions",startCaptionsButtonTooltipOnContent:"Turn off captions",startCaptionsButtonTooltipOffContent:"Turn on captions",captionsSettingsModalTitle:"Captions Settings",captionsSettingsSpokenLanguageDropdownLabel:"Spoken language",captionsSettingsCaptionLanguageDropdownLabel:"Captions language",captionsSettingsSpokenLanguageDropdownInfoText:"Language that everyone on this call is speaking.",captionsSettingsCaptionLanguageDropdownInfoText:"Captions will appear in this langugage.",captionsSettingsConfirmButtonLabel:"Confirm",captionsSettingsCancelButtonLabel:"Cancel",captionsSettingsModalAriaLabel:"Captions Setting Modal",captionsSettingsCloseModalButtonAriaLabel:"Close Captions Setting",captionsBannerMoreButtonCallingLabel:"More",captionsBannerMoreButtonTooltip:"More options",dismissModalAriaLabel:"Local and remote picture and picture, press enter to return to call",callRejectedTitle:"The call could not be completed",callRejectedMoreDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutTitle:"The call could not be completed",callTimeoutDetails:"The person you are trying to reach is unavailable. Please try again later.",callTimeoutBotTitle:"The call could not be completed",callTimeoutBotDetails:"The service that you are trying to reach is unavailable. Please try again later.",dtmfDialerButtonLabel:"Dialpad",dtmfDialerButtonTooltipOn:"Show dialpad",dtmfDialerButtonTooltipOff:"Hide dialpad",dtmfDialerMoreButtonLabelOn:"Show dialpad",dtmfDialerMoreButtonLabelOff:"Hide dialpad",phoneCallMoreButtonLabel:"Phone Call",spokenLanguageStrings:{"ar-ae":"Arabic - U.A.E.","ar-sa":"Arabic - Saudi Arabia","da-dk":"Danish","de-de":"German - Germany","en-au":"English - Australia","en-ca":"English - Canada","en-gb":"English - United Kingdom","en-in":"English - India","en-nz":"English - New Zealand","en-us":"English - United States","es-es":"Spanish - Spain (Modern Sort)","es-mx":"Spanish - Mexico","fi-fi":"Finnish","fr-ca":"French - Canada","fr-fr":"French - France","hi-in":"Hindi","it-it":"Italian - Italy","ja-jp":"Japanese","ko-kr":"Korean","nb-no":"Norwegian (Bokmål)","nl-be":"Dutch - Belgium","nl-nl":"Dutch - Netherlands","pl-pl":"Polish","pt-br":"Portuguese - Brazil","ru-ru":"Russian","sv-se":"Swedish","zh-cn":"Chinese - People's Republic of China","zh-hk":"Chinese - Hong Kong SAR","cs-cz":"Czech","pt-pt":"Portuguese - Portugal","tr-tr":"Turkish","vi-vn":"Vietnamese","th-th":"Thai","he-il":"Hebrew","cy-gb":"Welsh","uk-ua":"Ukrainian","el-gr":"Greek","hu-hu":"Hungarian","ro-ro":"Romanian","sk-sk":"Slovak","zh-tw":"Chinese - Taiwan"},captionLanguageStrings:{ar:"Arabic",da:"Danish",de:"German",en:"English",es:"Spanish",fi:"Finnish","fr-ca":"French - Canada",fr:"French - France",hi:"Hindi",it:"Italian",ja:"Japanese",ko:"Korean",nb:"Norwegian (Bokmål)",nl:"Dutch",pl:"Polish",pt:"Portuguese - Brazil",ru:"Russian",sv:"Swedish","zh-Hans":"Chinese (Simplified)","zh-Hant":"Chinese (Traditional)",cs:"Czech","pt-pt":"Portuguese - Portugal",tr:"Turkish",vi:"Vietnamese",th:"Thai",he:"Hebrew",cy:"Welsh",uk:"Ukrainian",el:"Greek",hu:"Hungarian",ro:"Romanian",sk:"Slovak"},captionsBannerSpinnerText:"Starting captions...",transferPageTransferorText:"Transferring...",transferPageTransferTargetText:"Connecting...",transferPageUnknownTransferorDisplayName:"Unknown",transferPageUnknownTransferTargetDisplayName:"Unknown",transferPageNoticeString:"You are being transferred",participantCouldNotBeReachedTitle:"Target participant is currently not available",participantCouldNotBeReachedMoreDetails:"Please contact participant when they are available",permissionToReachTargetParticipantNotAllowedTitle:"Permission to reach target participant is not allowed",permissionToReachTargetParticipantNotAllowedMoreDetails:"Please check that the target participant is in the same tenant",unableToResolveTenantTitle:"Unable to resolve tenant id for the target participant",unableToResolveTenantMoreDetails:"Please check the participant id is entered correctly",participantIdIsMalformedTitle:"Participant id is not in the correct format",participantIdIsMalformedMoreDetails:"Please check that the participant id is in the correct format",moreButtonGalleryControlLabel:"View",moreButtonGalleryPositionToggleLabel:"Move gallery to top",moreButtonGallerySpeakerLayoutLabel:"Speaker",moreButtonGalleryFloatingLocalLayoutLabel:"Dynamic",moreButtonGalleryDefaultLayoutLabel:"Gallery view",moreButtonGalleryFocusedContentLayoutLabel:"Focus on content",moreButtonLargeGalleryDefaultLayoutLabel:"Large Gallery",capabilityChangedNotification:{turnVideoOn:{lostDueToMeetingOption:"Your camera has been disabled. You can no longer share video.",grantedDueToMeetingOption:"Your camera has been enabled. Turn it on if you'd like to share video."},unmuteMic:{lostDueToMeetingOption:"Your mic has been disabled. You can no longer unmute.",grantedDueToMeetingOption:"Your mic has been enabled. Unmute if you'd like to speak."},shareScreen:{lostDueToRoleChangeToAttendee:"Your role has been changed. Some actions, like sharing content, won't be available to you.",grantedDueToRoleChangeToPresenter:"You're a presenter. You can share content and facilitate the meeting."},hideAttendeeNames:{hideAttendeeNameAttendee:"Your name is hidden from other attendees. Organizers and presenters can see your real name.",hideAttendeeNamePresenter:"Attendee names are hidden. Only organizers and presenters can see names to protect attendee privacy."}},surveyTitle:"Help us improve",starSurveyHelperText:"How was the quality of the call?",starSurveyOneStarText:"The quality was bad.",starSurveyTwoStarText:"The quality was poor.",starSurveyThreeStarText:"The quality was good.",starSurveyFourStarText:"The quality was great.",starSurveyFiveStarText:"The quality was excellent.",surveyConfirmButtonLabel:"Send Feedback",starRatingAriaLabel:"Select {0} of {1} stars",surveySkipButtonLabel:"Skip",tagsSurveyQuestion:"What could have been better?",tagsSurveyTextFieldDefaultText:"Other, please specify",tagsSurveyHelperText:"Check any issues you experienced",endOfSurveyText:"Thank you for your feedback!",surveyIssues:{overallRating:{callCannotJoin:"I could not join call",callCannotInvite:"I could not invite others into the call",hadToRejoin:"I had to rejoin the call",callEndedUnexpectedly:"Call ended for me unexpectedly",otherIssues:"I was having other issues with the call"},audioRating:{noLocalAudio:"The other side could not hear any sound",noRemoteAudio:"I could not hear any sound",echo:"I heard echos on the call",audioNoise:"I heard noise on the call",lowVolume:"Volume was low",audioStoppedUnexpectedly:"Audio stopped unexpectedly",distortedSpeech:"Audio was distorted",audioInterruption:"Audio was interrupted",otherIssues:"I was having other audio issues in this call"},videoRating:{noVideoReceived:"I could not see any video",noVideoSent:"Others could not see me",lowQuality:"Video quality was low",freezes:"Video frozen",stoppedUnexpectedly:"Video stopped unexpectedly",darkVideoReceived:"I can only see dark screens when others turn on their camera",audioVideoOutOfSync:"Audio and Video was out of sync",otherIssues:"I was having other video issues in this call"},screenshareRating:{noContentLocal:"Other people could not see my screenshare",noContentRemote:"I could not see other people's screenshare",cannotPresent:"I could not present my screen",lowQuality:"Screen share quality was low",freezes:"Screen share frozen",stoppedUnexpectedly:"Screen share stopped unexpectedly",largeDelay:"Screen share has a large delay",otherIssues:"I was having other screen share issues in this call"}},surveyIssuesHeadingStrings:{overallRating:"Overall",audioRating:"Audio",videoRating:"Video",screenshareRating:"Presenting"},spotlightPrompt:{startSpotlightHeading:"Spotlight for everyone?",startSpotlightText:"You'll highlight this video for everyone in the meeting.",startSpotlightOnSelfText:"You'll highlight your video for everyone in the meeting.",startSpotlightConfirmButtonLabel:"Spotlight for everyone",startSpotlightCancelButtonLabel:"Cancel",stopSpotlightHeading:"Stop spotlighting this video?",stopSpotlightOnSelfHeading:"Exit spotlight?",stopAllSpotlightHeading:"Stop spotlighting all videos?",stopSpotlightText:"This video will no longer be highlighted for everyone in the meeting.",stopSpotlightOnSelfText:"Your video will no longer be highlighted for everyone in the meeting.",stopAllSpotlightText:"The videos will no longer be highlighted for everyone in the meeting.",stopSpotlightConfirmButtonLabel:"Stop spotlighting",stopSpotlightOnSelfConfirmButtonLabel:"Exit spotlight",stopSpotlightCancelButtonLabel:"Cancel"},exitSpotlightButtonLabel:"Exit spotlight",exitSpotlightButtonTooltip:"Exit spotlight",leaveConfirmButtonLabel:"Leave",endCallConfirmButtonLabel:"End call",hangUpCancelButtonLabel:"Cancel",leaveConfirmDialogTitle:"Leave the call?",leaveConfirmDialogContent:"Are you sure you want to leave the call?",endCallConfirmDialogTitle:"End the call?",endCallConfirmDialogContent:"You'll end the call for everyone.",invalidMeetingIdentifier:"Invalid meeting ID or passcode",pinParticipantMenuLabel:"Pin for me",pinParticipantLimitReachedMenuLabel:"Pin (limit reached)",unpinParticipantMenuLabel:"Unpin",pinParticipantMenuItemAriaLabel:"Pin",unpinParticipantMenuItemAriaLabel:"Unpin"};var chat$k={chatListHeader:"In this chat",uploadAttachment:"Upload Attachment"};var callWithChat$k={chatButtonLabel:"Chat",chatButtonNewMessageNotificationLabel:"New Message",chatButtonTooltipClosedWithMessageCount:"Show chat ({unreadMessagesCount} unread)",chatButtonTooltipClose:"Hide chat",chatButtonTooltipOpen:"Show chat",chatPaneTitle:"Chat",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkButtonActionedLabel:"Link copied",copyInviteLinkActionedAriaLabel:"Invite link copied",dismissSidePaneButtonLabel:"Close",moreDrawerAudioDeviceMenuTitle:"Audio Device",moreDrawerButtonLabel:"More options",moreDrawerButtonTooltip:"More options",moreDrawerMicrophoneMenuTitle:"Microphone",moreDrawerSpeakerMenuTitle:"Speaker",moreDrawerCaptionsMenuTitle:"Live captions",moreDrawerSpokenLanguageMenuTitle:"Spoken language",moreDrawerCaptionLanguageMenuTitle:"Caption language",moreDrawerGalleryOptionsMenuTitle:"Gallery options",peopleButtonLabel:"People",selectedPeopleButtonLabel:"People Button Selected",peopleButtonTooltipOpen:"Show participants",peopleButtonTooltipClose:"Hide participants",peopleButtonTooltipOpenAriaLabel:"People button, Show participants",peopleButtonTooltipCloseAriaLabel:"People button, Hide participants",peoplePaneSubTitle:"In this call",peoplePaneTitle:"People",pictureInPictureTileAriaLabel:"Video Feeds. Click to return to call screen.",removeMenuLabel:"Remove",openDialpadButtonLabel:"Dial phone number",returnToCallButtonAriaDescription:"Return to Call",returnToCallButtonAriaLabel:"Back",peoplePaneAddPeopleButtonLabel:"Add People",dialpadStartCallButtonLabel:"Call",dialpadModalTitle:"Dial Phone Number",dialpadModalAriaLabel:"Dialpad",dialpadCloseModalButtonAriaLabel:"Close dialpad",openDtmfDialpadLabel:"Show dialpad",dtmfDialpadPlaceholderText:"Enter number"};var en_US = {call:call$k,chat:chat$k,callWithChat:callWithChat$k};
|
27105
27105
|
|
27106
27106
|
// Copyright (c) Microsoft Corporation.
|
27107
27107
|
// Licensed under the MIT License.
|
@@ -27314,7 +27314,8 @@ const BaseProvider = (props) => {
|
|
27314
27314
|
// we use Customizer to override default LayerHost injected to <body />
|
27315
27315
|
// which stop polluting global dom tree and increase compatibility with react-full-screen
|
27316
27316
|
const CompositeElement = (React.createElement(FluentThemeProvider, { fluentTheme: fluentTheme, rtl: rtl },
|
27317
|
-
|
27317
|
+
// On mobile we expect the composite to fill the device screen, hence we set a meta property to have better OOBE.
|
27318
|
+
props.formFactor === 'mobile' && React.createElement("meta", { name: "viewport", content: "width=device-width" }),
|
27318
27319
|
React.createElement(react.Customizer, { scopedSettings: { Layer: { hostId: globalLayerHostId } } },
|
27319
27320
|
React.createElement(ACSAudioProvider, { audioContext: compositeAudioContext },
|
27320
27321
|
React.createElement(WithBackgroundColor, null, props.children))),
|
@@ -27970,7 +27971,7 @@ const ParticipantContainer = (props) => {
|
|
27970
27971
|
* @private
|
27971
27972
|
*/
|
27972
27973
|
const ParticipantListWithHeading = (props) => {
|
27973
|
-
const { onFetchAvatarPersonaData, onFetchParticipantMenuItems, title, participantListProps, headingMoreButtonAriaLabel, onClickHeadingMoreButton, headingMoreButtonMenuProps } = props;
|
27974
|
+
const { onFetchAvatarPersonaData, onFetchParticipantMenuItems, title, participantListProps, headingMoreButtonAriaLabel, onClickHeadingMoreButton, headingMoreButtonMenuProps, pinnedParticipants } = props;
|
27974
27975
|
const subheadingUniqueId = reactHooks.useId();
|
27975
27976
|
const theme = react.useTheme();
|
27976
27977
|
/* @conditional-compile-remove(total-participant-count) */
|
@@ -27990,7 +27991,7 @@ const ParticipantListWithHeading = (props) => {
|
|
27990
27991
|
((headingMoreButtonMenuProps === null || headingMoreButtonMenuProps === void 0 ? void 0 : headingMoreButtonMenuProps.items) && headingMoreButtonMenuProps.items.length > 0)) && (React.createElement(react.Stack.Item, null,
|
27991
27992
|
React.createElement(react.DefaultButton, { ariaLabel: headingMoreButtonAriaLabel, styles: headingMoreButtonStyles(theme), iconProps: { iconName: 'PeoplePaneMoreButton' }, onClick: onClickHeadingMoreButton ? () => onClickHeadingMoreButton() : undefined, menuProps: props.onClickHeadingMoreButton ? undefined : props.headingMoreButtonMenuProps, onRenderMenuIcon: () => null })))),
|
27992
27993
|
React.createElement(react.FocusZone, { className: participantListContainerStyle, shouldFocusOnMount: true },
|
27993
|
-
React.createElement(ParticipantList$k, Object.assign({}, participantListProps, { styles: props.isMobile ? participantListMobileStyle : participantListStyle, onRenderAvatar: (userId, options) => (React.createElement(React.Fragment, null,
|
27994
|
+
React.createElement(ParticipantList$k, Object.assign({}, participantListProps, { pinnedParticipants: pinnedParticipants, styles: props.isMobile ? participantListMobileStyle : participantListStyle, onRenderAvatar: (userId, options) => (React.createElement(React.Fragment, null,
|
27994
27995
|
React.createElement(AvatarPersona, Object.assign({ "data-ui-id": "chat-composite-participant-custom-avatar", userId: userId }, options, { hidePersonaDetails: !!(options === null || options === void 0 ? void 0 : options.text), dataProvider: onFetchAvatarPersonaData, allowActiveBorder: true })),
|
27995
27996
|
(options === null || options === void 0 ? void 0 : options.text) && (React.createElement(react.Text, { nowrap: true, styles: displayNameStyles$1 }, options === null || options === void 0 ? void 0 : options.text)))), onFetchParticipantMenuItems: onFetchParticipantMenuItems, showParticipantOverflowTooltip: !props.isMobile, participantAriaLabelledBy: subheadingUniqueId })))));
|
27996
27997
|
};
|
@@ -28039,7 +28040,7 @@ const AttachmentDownloadErrorBar = (props) => {
|
|
28039
28040
|
/**
|
28040
28041
|
* Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox with lazy loading
|
28041
28042
|
*/
|
28042
|
-
const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-
|
28043
|
+
const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-tA7MAdZl.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
|
28043
28044
|
/**
|
28044
28045
|
* @private
|
28045
28046
|
* Use this function to load RoosterJS dependencies early in the lifecycle.
|
@@ -28047,21 +28048,21 @@ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function
|
|
28047
28048
|
*
|
28048
28049
|
/* @conditional-compile-remove(rich-text-editor-composite-support)
|
28049
28050
|
*/
|
28050
|
-
const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-
|
28051
|
+
const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-tA7MAdZl.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
|
28051
28052
|
/**
|
28052
28053
|
* @private
|
28053
28054
|
*/
|
28054
28055
|
const SendBoxPicker = (props) => {
|
28055
28056
|
const {
|
28056
|
-
/* @conditional-compile-remove(rich-text-editor-composite-support)
|
28057
|
+
/* @conditional-compile-remove(rich-text-editor-composite-support) */
|
28057
28058
|
richTextEditorOptions } = props;
|
28058
28059
|
const sendBoxProps = usePropsFor$2(SendBox);
|
28059
|
-
/* @conditional-compile-remove(rich-text-editor-composite-support)
|
28060
|
+
/* @conditional-compile-remove(rich-text-editor-composite-support) */
|
28060
28061
|
const isRichTextEditorEnabled = React.useMemo(() => {
|
28061
28062
|
return richTextEditorOptions !== undefined;
|
28062
28063
|
}, [richTextEditorOptions]);
|
28063
28064
|
const sendBox = React.useMemo(() => React.createElement(SendBox, Object.assign({}, sendBoxProps, props)), [props, sendBoxProps]);
|
28064
|
-
/* @conditional-compile-remove(rich-text-editor-composite-support)
|
28065
|
+
/* @conditional-compile-remove(rich-text-editor-composite-support) */
|
28065
28066
|
if (isRichTextEditorEnabled) {
|
28066
28067
|
return (React.createElement(_ErrorBoundary, { fallback: sendBox },
|
28067
28068
|
React.createElement(React.Suspense, { fallback: sendBox },
|
@@ -28111,12 +28112,12 @@ const ChatScreen = (props) => {
|
|
28111
28112
|
/* @conditional-compile-remove(rich-text-editor-composite-support) */
|
28112
28113
|
React.useEffect(() => {
|
28113
28114
|
// if rich text editor is enabled, the rich text editor component should be loaded early for good UX
|
28114
|
-
if (
|
28115
|
+
if (options === null || options === void 0 ? void 0 : options.richTextEditor) {
|
28115
28116
|
// this line is needed to load the Rooster JS dependencies early in the lifecycle
|
28116
28117
|
// when the rich text editor is enabled
|
28117
28118
|
loadRichTextSendBox();
|
28118
28119
|
}
|
28119
|
-
}, [options === null || options === void 0 ? void 0 : options.
|
28120
|
+
}, [options === null || options === void 0 ? void 0 : options.richTextEditor]);
|
28120
28121
|
const messageThreadProps = usePropsFor$2(MessageThread);
|
28121
28122
|
const typingIndicatorProps = usePropsFor$2(TypingIndicator);
|
28122
28123
|
const headerProps = useAdaptedSelector$1(getHeaderProps);
|
@@ -28335,6 +28336,27 @@ const ChatScreen = (props) => {
|
|
28335
28336
|
handleUploadAction({ type: AttachmentUploadActionType.Remove, id });
|
28336
28337
|
(_b = (_a = attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions) === null || _a === void 0 ? void 0 : _a.handleAttachmentRemoval) === null || _b === void 0 ? void 0 : _b.call(_a, id);
|
28337
28338
|
}, [attachmentOptions === null || attachmentOptions === void 0 ? void 0 : attachmentOptions.uploadOptions]);
|
28339
|
+
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
28340
|
+
const removeImageTags = React.useCallback((event) => {
|
28341
|
+
event.content.querySelectorAll('img').forEach((image) => {
|
28342
|
+
// If the image is the only child of its parent, remove all the parents of this img element.
|
28343
|
+
let parentNode = image.parentElement;
|
28344
|
+
let currentNode = image;
|
28345
|
+
while ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.childNodes.length) === 1) {
|
28346
|
+
currentNode = parentNode;
|
28347
|
+
parentNode = parentNode.parentElement;
|
28348
|
+
}
|
28349
|
+
currentNode === null || currentNode === void 0 ? void 0 : currentNode.remove();
|
28350
|
+
});
|
28351
|
+
}, []);
|
28352
|
+
/* @conditional-compile-remove(rich-text-editor-composite-support) */
|
28353
|
+
const richTextEditorOptions = React.useMemo(() => {
|
28354
|
+
return (options === null || options === void 0 ? void 0 : options.richTextEditor)
|
28355
|
+
? {
|
28356
|
+
/* @conditional-compile-remove(rich-text-editor-image-upload) */ onPaste: removeImageTags
|
28357
|
+
}
|
28358
|
+
: undefined;
|
28359
|
+
}, [options === null || options === void 0 ? void 0 : options.richTextEditor, removeImageTags]);
|
28338
28360
|
return (React.createElement(react.Stack, { className: chatContainer, grow: true },
|
28339
28361
|
(options === null || options === void 0 ? void 0 : options.topic) !== false && React.createElement(ChatHeader, Object.assign({}, headerProps)),
|
28340
28362
|
React.createElement(react.Stack, { className: chatArea, tokens: participantListContainerPadding, horizontal: true, grow: true },
|
@@ -28347,8 +28369,8 @@ const ChatScreen = (props) => {
|
|
28347
28369
|
React.createElement(MessageThread, Object.assign({}, messageThreadProps, { onRenderAvatar: onRenderAvatarCallback, onRenderMessage: onRenderMessage,
|
28348
28370
|
/* @conditional-compile-remove(file-sharing-acs) */
|
28349
28371
|
onRenderAttachmentDownloads: onRenderAttachmentDownloads, inlineImageOptions: inlineImageOptions, numberOfChatMessagesToReload: defaultNumberOfChatMessagesToReload, styles: messageThreadStyles,
|
28350
|
-
/* @conditional-compile-remove(rich-text-editor-composite-support)
|
28351
|
-
richTextEditorOptions:
|
28372
|
+
/* @conditional-compile-remove(rich-text-editor-composite-support) */
|
28373
|
+
richTextEditorOptions: richTextEditorOptions })),
|
28352
28374
|
React.createElement(react.Stack, { className: react.mergeStyles(sendboxContainerStyles) },
|
28353
28375
|
React.createElement("div", { className: react.mergeStyles(typingIndicatorContainerStyles) }, onRenderTypingIndicator ? (onRenderTypingIndicator(typingIndicatorProps.typingUsers)) : (React.createElement(TypingIndicator, Object.assign({}, typingIndicatorProps, { styles: typingIndicatorStyles })))),
|
28354
28376
|
React.createElement(react.Stack, { horizontal: formFactor === 'mobile' },
|
@@ -28359,7 +28381,7 @@ const ChatScreen = (props) => {
|
|
28359
28381
|
React.createElement(react.Stack, { grow: true },
|
28360
28382
|
React.createElement(SendBoxPicker, { styles: sendBoxStyles, autoFocus: options === null || options === void 0 ? void 0 : options.autoFocus,
|
28361
28383
|
/* @conditional-compile-remove(rich-text-editor-composite-support) */
|
28362
|
-
richTextEditorOptions:
|
28384
|
+
richTextEditorOptions: richTextEditorOptions,
|
28363
28385
|
/* @conditional-compile-remove(file-sharing-acs) */
|
28364
28386
|
attachments: attachments,
|
28365
28387
|
/* @conditional-compile-remove(file-sharing-acs) */
|
@@ -31790,6 +31812,30 @@ const MoreDrawer = (props) => {
|
|
31790
31812
|
}
|
31791
31813
|
});
|
31792
31814
|
}
|
31815
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
31816
|
+
const isTeamsMeeting = getIsTeamsMeeting(callAdapter.getState());
|
31817
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
31818
|
+
const teamsMeetingCoordinates = getTeamsMeetingCoordinates(callAdapter.getState());
|
31819
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
31820
|
+
if (drawerSelectionOptions !== false &&
|
31821
|
+
isEnabled(drawerSelectionOptions === null || drawerSelectionOptions === void 0 ? void 0 : drawerSelectionOptions.teamsMeetingPhoneCallButton) &&
|
31822
|
+
isTeamsMeeting &&
|
31823
|
+
teamsMeetingCoordinates) {
|
31824
|
+
drawerMenuItems.push({
|
31825
|
+
itemKey: 'phoneCallInfoKey',
|
31826
|
+
disabled: isDisabled$4(drawerSelectionOptions.teamsMeetingPhoneCallButton),
|
31827
|
+
text: localeStrings.strings.call.phoneCallMoreButtonLabel,
|
31828
|
+
onItemClick: () => {
|
31829
|
+
var _a;
|
31830
|
+
(_a = props.onClickMeetingPhoneInfo) === null || _a === void 0 ? void 0 : _a.call(props);
|
31831
|
+
onLightDismiss();
|
31832
|
+
},
|
31833
|
+
iconProps: {
|
31834
|
+
iconName: 'PhoneNumberButton',
|
31835
|
+
styles: { root: { lineHeight: 0 } }
|
31836
|
+
}
|
31837
|
+
});
|
31838
|
+
}
|
31793
31839
|
//Captions drawer menu
|
31794
31840
|
const supportedSpokenLanguageStrings = useLocale().strings.call.spokenLanguageStrings;
|
31795
31841
|
//Captions drawer menu
|
@@ -32698,7 +32744,7 @@ const PeoplePaneContent = (props) => {
|
|
32698
32744
|
// We want the drawer menu items to appear when participants in ParticipantList are clicked
|
32699
32745
|
onParticipantClick: props.mobileView ? setDrawerMenuItemsForParticipant : undefined });
|
32700
32746
|
}, [participantListDefaultProps, props.mobileView, setDrawerMenuItemsForParticipant, removeParticipantFromCall]);
|
32701
|
-
const participantList = (React.createElement(ParticipantListWithHeading, { isMobile: props.mobileView, participantListProps: participantListProps, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, onFetchParticipantMenuItems: props.mobileView ? undefined : onFetchParticipantMenuItems, title: strings.peoplePaneSubTitle, headingMoreButtonAriaLabel: localeStrings.strings.call.peoplePaneMoreButtonAriaLabel, onClickHeadingMoreButton: props.mobileView ? setDrawerMenuItemsForParticipantListHeadingMoreButton : undefined, headingMoreButtonMenuProps: props.participantListHeadingMoreButtonProps }));
|
32747
|
+
const participantList = (React.createElement(ParticipantListWithHeading, { isMobile: props.mobileView, participantListProps: participantListProps, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, onFetchParticipantMenuItems: props.mobileView ? undefined : onFetchParticipantMenuItems, title: strings.peoplePaneSubTitle, headingMoreButtonAriaLabel: localeStrings.strings.call.peoplePaneMoreButtonAriaLabel, onClickHeadingMoreButton: props.mobileView ? setDrawerMenuItemsForParticipantListHeadingMoreButton : undefined, headingMoreButtonMenuProps: props.participantListHeadingMoreButtonProps, pinnedParticipants: props.pinnedParticipants }));
|
32702
32748
|
if (props.mobileView) {
|
32703
32749
|
return (React.createElement(react.Stack, { verticalFill: true, styles: peoplePaneContainerStyle, tokens: peoplePaneContainerTokens, "data-ui-id": "people-pane-content" },
|
32704
32750
|
React.createElement(react.Stack.Item, { grow: true, styles: participantListContainerStyles }, participantList),
|
@@ -32760,7 +32806,7 @@ const PEOPLE_SIDE_PANE_ID = 'people';
|
|
32760
32806
|
const usePeoplePane = (props) => {
|
32761
32807
|
const { updateSidePaneRenderer, inviteLink, onFetchAvatarPersonaData, onFetchParticipantMenuItems, setDrawerMenuItems, mobileView, peopleButtonRef, setParticipantActioned, spotlightedParticipantUserIds, onStartLocalSpotlight, onStopLocalSpotlight, onStartRemoteSpotlight, onStopRemoteSpotlight, onStopAllSpotlight, maxParticipantsToSpotlight,
|
32762
32808
|
/* @conditional-compile-remove(soft-mute) */
|
32763
|
-
onMuteParticipant } = props;
|
32809
|
+
onMuteParticipant, pinnedParticipants, onPinParticipant, onUnpinParticipant, disablePinMenuItem } = props;
|
32764
32810
|
const closePane = React.useCallback(() => {
|
32765
32811
|
var _a;
|
32766
32812
|
updateSidePaneRenderer(undefined);
|
@@ -32789,9 +32835,11 @@ const usePeoplePane = (props) => {
|
|
32789
32835
|
const onRenderHeader = React.useCallback(() => (React.createElement(SidePaneHeader, { onClose: closePane, headingText: localeStrings.peoplePaneTitle, dismissSidePaneButtonAriaLabel: localeStrings.dismissSidePaneButtonLabel, mobileView: mobileView !== null && mobileView !== void 0 ? mobileView : false })), [mobileView, closePane, localeStrings]);
|
32790
32836
|
const onFetchParticipantMenuItemsForCallComposite = React.useCallback((participantId, myUserId, defaultMenuItems) => {
|
32791
32837
|
var _a;
|
32838
|
+
let isPinned = pinnedParticipants === null || pinnedParticipants === void 0 ? void 0 : pinnedParticipants.includes(participantId);
|
32792
32839
|
const _defaultMenuItems = defaultMenuItems !== null && defaultMenuItems !== void 0 ? defaultMenuItems : [];
|
32793
|
-
const isSpotlighted = spotlightedParticipantUserIds === null || spotlightedParticipantUserIds === void 0 ? void 0 : spotlightedParticipantUserIds.
|
32840
|
+
const isSpotlighted = spotlightedParticipantUserIds === null || spotlightedParticipantUserIds === void 0 ? void 0 : spotlightedParticipantUserIds.includes(participantId);
|
32794
32841
|
const isMe = myUserId === participantId;
|
32842
|
+
isPinned = isSpotlighted ? false : isPinned;
|
32795
32843
|
if (isSpotlighted) {
|
32796
32844
|
const stopSpotlightMenuText = isMe
|
32797
32845
|
? localeStrings.stopSpotlightOnSelfMenuLabel
|
@@ -32865,6 +32913,41 @@ const usePeoplePane = (props) => {
|
|
32865
32913
|
disabled: isMuted
|
32866
32914
|
});
|
32867
32915
|
}
|
32916
|
+
if (!isMe && isPinned !== undefined) {
|
32917
|
+
if (isPinned && onUnpinParticipant && (localeStrings === null || localeStrings === void 0 ? void 0 : localeStrings.unpinParticipantMenuLabel)) {
|
32918
|
+
_defaultMenuItems.push({
|
32919
|
+
key: 'unpin',
|
32920
|
+
text: localeStrings === null || localeStrings === void 0 ? void 0 : localeStrings.unpinParticipantMenuLabel,
|
32921
|
+
iconProps: {
|
32922
|
+
iconName: 'UnpinParticipant',
|
32923
|
+
styles: { root: { lineHeight: '1rem', textAlign: 'center' } }
|
32924
|
+
},
|
32925
|
+
onClick: () => {
|
32926
|
+
onUnpinParticipant === null || onUnpinParticipant === void 0 ? void 0 : onUnpinParticipant(participantId);
|
32927
|
+
},
|
32928
|
+
'data-ui-id': 'participant-item-unpin-participant-button',
|
32929
|
+
ariaLabel: localeStrings.unpinParticipantMenuItemAriaLabel
|
32930
|
+
});
|
32931
|
+
}
|
32932
|
+
if (!isPinned && onPinParticipant && (localeStrings === null || localeStrings === void 0 ? void 0 : localeStrings.pinParticipantMenuLabel)) {
|
32933
|
+
_defaultMenuItems.push({
|
32934
|
+
key: 'pin',
|
32935
|
+
text: disablePinMenuItem
|
32936
|
+
? localeStrings.pinParticipantLimitReachedMenuLabel
|
32937
|
+
: localeStrings.pinParticipantMenuLabel,
|
32938
|
+
iconProps: {
|
32939
|
+
iconName: 'PinParticipant',
|
32940
|
+
styles: { root: { lineHeight: '1rem', textAlign: 'center' } }
|
32941
|
+
},
|
32942
|
+
onClick: () => {
|
32943
|
+
onPinParticipant(participantId);
|
32944
|
+
},
|
32945
|
+
'data-ui-id': 'participant-item-pin-participant-button',
|
32946
|
+
disabled: disablePinMenuItem || isSpotlighted,
|
32947
|
+
ariaLabel: localeStrings.pinParticipantMenuItemAriaLabel
|
32948
|
+
});
|
32949
|
+
}
|
32950
|
+
}
|
32868
32951
|
return onFetchParticipantMenuItems
|
32869
32952
|
? onFetchParticipantMenuItems(participantId, myUserId, _defaultMenuItems)
|
32870
32953
|
: _defaultMenuItems;
|
@@ -32884,10 +32967,19 @@ const usePeoplePane = (props) => {
|
|
32884
32967
|
localeStrings.addSpotlightMenuLabel,
|
32885
32968
|
localeStrings.startSpotlightMenuLabel,
|
32886
32969
|
localeStrings.spotlightLimitReachedMenuTitle,
|
32887
|
-
maxParticipantsToSpotlight
|
32970
|
+
maxParticipantsToSpotlight,
|
32971
|
+
pinnedParticipants,
|
32972
|
+
onPinParticipant,
|
32973
|
+
onUnpinParticipant,
|
32974
|
+
disablePinMenuItem,
|
32975
|
+
localeStrings.pinParticipantMenuLabel,
|
32976
|
+
localeStrings.pinParticipantLimitReachedMenuLabel,
|
32977
|
+
localeStrings.unpinParticipantMenuLabel,
|
32978
|
+
localeStrings.unpinParticipantMenuItemAriaLabel,
|
32979
|
+
localeStrings.pinParticipantMenuItemAriaLabel
|
32888
32980
|
]);
|
32889
32981
|
const onRenderContent = React.useCallback(() => {
|
32890
|
-
return (React.createElement(PeoplePaneContent, { inviteLink: inviteLink, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItemsForCallComposite, setDrawerMenuItems: setDrawerMenuItems, mobileView: mobileView, setParticipantActioned: setParticipantActioned, participantListHeadingMoreButtonProps: sidePaneHeaderMenuProps }));
|
32982
|
+
return (React.createElement(PeoplePaneContent, { inviteLink: inviteLink, onFetchAvatarPersonaData: onFetchAvatarPersonaData, onFetchParticipantMenuItems: onFetchParticipantMenuItemsForCallComposite, setDrawerMenuItems: setDrawerMenuItems, mobileView: mobileView, setParticipantActioned: setParticipantActioned, participantListHeadingMoreButtonProps: sidePaneHeaderMenuProps, pinnedParticipants: pinnedParticipants }));
|
32891
32983
|
}, [
|
32892
32984
|
inviteLink,
|
32893
32985
|
mobileView,
|
@@ -32895,7 +32987,8 @@ const usePeoplePane = (props) => {
|
|
32895
32987
|
onFetchParticipantMenuItemsForCallComposite,
|
32896
32988
|
setDrawerMenuItems,
|
32897
32989
|
setParticipantActioned,
|
32898
|
-
sidePaneHeaderMenuProps
|
32990
|
+
sidePaneHeaderMenuProps,
|
32991
|
+
pinnedParticipants
|
32899
32992
|
]);
|
32900
32993
|
const sidePaneRenderer = React.useMemo(() => ({
|
32901
32994
|
headerRenderer: onRenderHeader,
|
@@ -32915,6 +33008,175 @@ const usePeoplePane = (props) => {
|
|
32915
33008
|
return { openPeoplePane: openPane, closePeoplePane: closePane, isPeoplePaneOpen: isOpen };
|
32916
33009
|
};
|
32917
33010
|
|
33011
|
+
// Copyright (c) Microsoft Corporation.
|
33012
|
+
// Licensed under the MIT License.
|
33013
|
+
/**
|
33014
|
+
* @private
|
33015
|
+
*/
|
33016
|
+
const phoneInfoContainerTokens = {
|
33017
|
+
childrenGap: '0.5rem'
|
33018
|
+
};
|
33019
|
+
/**
|
33020
|
+
* @private
|
33021
|
+
*/
|
33022
|
+
const phoneInfoContainerStyle = {
|
33023
|
+
root: {
|
33024
|
+
position: 'relative',
|
33025
|
+
maxHeight: '100%',
|
33026
|
+
overflow: 'hidden'
|
33027
|
+
}
|
33028
|
+
};
|
33029
|
+
/**
|
33030
|
+
* @private
|
33031
|
+
*/
|
33032
|
+
react.mergeStyles({
|
33033
|
+
fontWeight: 600,
|
33034
|
+
fontSize: _pxToRem(20),
|
33035
|
+
lineHeight: _pxToRem(28)
|
33036
|
+
});
|
33037
|
+
/**
|
33038
|
+
* @private
|
33039
|
+
*/
|
33040
|
+
react.mergeStyles({
|
33041
|
+
paddingBottom: _pxToRem(20)
|
33042
|
+
});
|
33043
|
+
/**
|
33044
|
+
* @private
|
33045
|
+
*/
|
33046
|
+
const phoneInfoLabelStyle = react.mergeStyles({
|
33047
|
+
fontSize: _pxToRem(14),
|
33048
|
+
lineHeight: _pxToRem(40)
|
33049
|
+
});
|
33050
|
+
/**
|
33051
|
+
* @private
|
33052
|
+
*/
|
33053
|
+
const phoneInfoTextStyle = react.mergeStyles({
|
33054
|
+
fontSize: _pxToRem(14),
|
33055
|
+
lineHeight: _pxToRem(40),
|
33056
|
+
fontWeight: react.FontWeights.semibold
|
33057
|
+
});
|
33058
|
+
/**
|
33059
|
+
* @private
|
33060
|
+
*/
|
33061
|
+
const phoneInfoIcon = (theme) => {
|
33062
|
+
return react.mergeStyles({
|
33063
|
+
background: `${theme.palette.themeLighter}`,
|
33064
|
+
height: _pxToRem(36),
|
33065
|
+
width: _pxToRem(36),
|
33066
|
+
marginRight: _pxToRem(12),
|
33067
|
+
borderRadius: _pxToRem(18)
|
33068
|
+
});
|
33069
|
+
};
|
33070
|
+
/**
|
33071
|
+
* @private
|
33072
|
+
*/
|
33073
|
+
const phoneInfoInstructionLine = react.mergeStyles({
|
33074
|
+
padding: '0.5rem 1rem'
|
33075
|
+
});
|
33076
|
+
/**
|
33077
|
+
* @private
|
33078
|
+
*/
|
33079
|
+
const phoneInfoStep = react.mergeStyles({
|
33080
|
+
minWidth: _pxToRem(150),
|
33081
|
+
textAlign: 'right'
|
33082
|
+
});
|
33083
|
+
/**
|
33084
|
+
* @private
|
33085
|
+
*/
|
33086
|
+
const phoneInfoIconStyle = (theme) => {
|
33087
|
+
return react.mergeStyles({
|
33088
|
+
padding: _pxToRem(8),
|
33089
|
+
color: `${theme.palette.themePrimary}`
|
33090
|
+
});
|
33091
|
+
};
|
33092
|
+
|
33093
|
+
// Copyright (c) Microsoft Corporation.
|
33094
|
+
// Licensed under the MIT License.
|
33095
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
33096
|
+
// eslint-disable-next-line no-restricted-imports
|
33097
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
33098
|
+
/**
|
33099
|
+
* @private
|
33100
|
+
*/
|
33101
|
+
const MeetingPhoneInfoPaneContent = (props) => {
|
33102
|
+
const { conferencePhoneInfoList } = props;
|
33103
|
+
const theme = react.useTheme();
|
33104
|
+
const localeStrings = useLocale().component.strings.MeetingConferencePhoneInfo;
|
33105
|
+
if (props.mobileView) {
|
33106
|
+
return (React.createElement(react.Stack, { verticalFill: true, styles: phoneInfoContainerStyle, tokens: phoneInfoContainerTokens, "data-ui-id": "phone-info-pane-content" },
|
33107
|
+
(conferencePhoneInfoList === undefined || conferencePhoneInfoList.length === 0) && (React.createElement(react.Stack, { horizontal: true },
|
33108
|
+
React.createElement(react.Text, { className: phoneInfoTextStyle }, localeStrings.meetingConferencePhoneInfoModalNoPhoneAvailable))),
|
33109
|
+
conferencePhoneInfoList && conferencePhoneInfoList.length > 0 && (React.createElement(react.Stack, null,
|
33110
|
+
React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", className: phoneInfoInstructionLine },
|
33111
|
+
React.createElement(react.Stack.Item, null,
|
33112
|
+
React.createElement(react.Stack, { horizontal: true, className: phoneInfoStep },
|
33113
|
+
React.createElement(react.Stack.Item, { className: phoneInfoIcon(theme) },
|
33114
|
+
React.createElement(react.Stack, { verticalAlign: "center", horizontalAlign: "center" },
|
33115
|
+
React.createElement(react.Icon, { iconName: "PhoneNumberButton", className: phoneInfoIconStyle(theme) }))),
|
33116
|
+
React.createElement(react.Stack.Item, null,
|
33117
|
+
React.createElement(react.Text, { className: phoneInfoLabelStyle }, localeStrings.meetingConferencePhoneInfoModalDialIn)))),
|
33118
|
+
React.createElement(react.Stack.Item, { className: phoneInfoStep }, conferencePhoneInfoList.map((phoneNumber, index) => (React.createElement(react.Stack.Item, { key: index },
|
33119
|
+
React.createElement(react.Text, { className: phoneInfoTextStyle }, formatPhoneNumberInfo(phoneNumber, localeStrings))))))),
|
33120
|
+
React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center", className: phoneInfoInstructionLine },
|
33121
|
+
React.createElement(react.Stack.Item, null,
|
33122
|
+
React.createElement(react.Stack, { horizontal: true },
|
33123
|
+
React.createElement(react.Stack.Item, { className: phoneInfoIcon(theme) },
|
33124
|
+
React.createElement(react.Icon, { iconName: "DtmfDialpadButton", className: phoneInfoIconStyle(theme) })),
|
33125
|
+
React.createElement(react.Stack.Item, null,
|
33126
|
+
React.createElement(react.Text, { className: phoneInfoLabelStyle }, localeStrings.meetingConferencePhoneInfoModalMeetingId)))),
|
33127
|
+
React.createElement(react.Text, { className: phoneInfoTextStyle },
|
33128
|
+
conferencePhoneInfoList[0].conferenceId,
|
33129
|
+
"#")),
|
33130
|
+
React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center", className: phoneInfoInstructionLine },
|
33131
|
+
React.createElement(react.Stack, { horizontal: true },
|
33132
|
+
React.createElement(react.Stack.Item, { className: phoneInfoIcon(theme) },
|
33133
|
+
React.createElement(react.Icon, { iconName: "PhoneInfoWait", className: phoneInfoIconStyle(theme) })),
|
33134
|
+
React.createElement(react.Stack.Item, null,
|
33135
|
+
React.createElement(react.Text, { className: phoneInfoLabelStyle }, localeStrings.meetingConferencePhoneInfoModalWait))))))));
|
33136
|
+
}
|
33137
|
+
return (React.createElement(react.Stack, { verticalFill: true, styles: phoneInfoContainerStyle, tokens: phoneInfoContainerTokens, "data-ui-id": "phone-info-pane-content" }));
|
33138
|
+
};
|
33139
|
+
|
33140
|
+
// Copyright (c) Microsoft Corporation.
|
33141
|
+
// Licensed under the MIT License.
|
33142
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
33143
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
33144
|
+
const SIDE_PANE_ID = 'Meeting Phone Info';
|
33145
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
33146
|
+
/** @private */
|
33147
|
+
const useMeetingPhoneInfoPane = (props) => {
|
33148
|
+
const { updateSidePaneRenderer, mobileView, conferencePhoneInfo } = props;
|
33149
|
+
const closePane = React.useCallback(() => {
|
33150
|
+
updateSidePaneRenderer(undefined);
|
33151
|
+
}, [updateSidePaneRenderer]);
|
33152
|
+
const localeStrings = useLocale().component.strings.MeetingConferencePhoneInfo;
|
33153
|
+
const callStrings = useLocale().strings.call;
|
33154
|
+
const onRenderHeader = React.useCallback(() => (React.createElement(SidePaneHeader, { onClose: closePane, headingText: localeStrings.meetingConferencePhoneInfoModalTitle, dismissSidePaneButtonAriaLabel: callStrings.dismissSidePaneButtonLabel, mobileView: mobileView !== null && mobileView !== void 0 ? mobileView : false })), [mobileView, closePane, localeStrings, callStrings]);
|
33155
|
+
const onRenderContent = React.useCallback(() => {
|
33156
|
+
return React.createElement(MeetingPhoneInfoPaneContent, { mobileView: mobileView, conferencePhoneInfoList: conferencePhoneInfo });
|
33157
|
+
}, [mobileView, conferencePhoneInfo]);
|
33158
|
+
const sidePaneRenderer = React.useMemo(() => ({
|
33159
|
+
headerRenderer: onRenderHeader,
|
33160
|
+
contentRenderer: onRenderContent,
|
33161
|
+
id: SIDE_PANE_ID
|
33162
|
+
}), [onRenderContent, onRenderHeader]);
|
33163
|
+
const openPane = React.useCallback(() => {
|
33164
|
+
updateSidePaneRenderer(sidePaneRenderer);
|
33165
|
+
}, [sidePaneRenderer, updateSidePaneRenderer]);
|
33166
|
+
const isOpen = useIsParticularSidePaneOpen(SIDE_PANE_ID);
|
33167
|
+
// Update pane renderer if it is open and the openPane dep changes
|
33168
|
+
React.useEffect(() => {
|
33169
|
+
if (isOpen) {
|
33170
|
+
openPane();
|
33171
|
+
}
|
33172
|
+
}, [isOpen, openPane]);
|
33173
|
+
return {
|
33174
|
+
openMeetingPhoneInfoPane: openPane,
|
33175
|
+
closeMeetingPhoneInfoPane: closePane,
|
33176
|
+
isMeetingPhoneInfoPaneOpen: isOpen
|
33177
|
+
};
|
33178
|
+
};
|
33179
|
+
|
32918
33180
|
// Copyright (c) Microsoft Corporation.
|
32919
33181
|
// Licensed under the MIT License.
|
32920
33182
|
/**
|
@@ -33638,6 +33900,11 @@ const getStopAllSpotlightCallbackWithPromptCallback = (stopAllSpotlight, setIsPr
|
|
33638
33900
|
|
33639
33901
|
// Copyright (c) Microsoft Corporation.
|
33640
33902
|
// Licensed under the MIT License.
|
33903
|
+
/**
|
33904
|
+
* @private
|
33905
|
+
* Maximum number of remote video tiles that can be pinned
|
33906
|
+
*/
|
33907
|
+
const MAX_PINNED_REMOTE_VIDEO_TILES = 4;
|
33641
33908
|
/**
|
33642
33909
|
* @private
|
33643
33910
|
*/
|
@@ -33667,6 +33934,14 @@ const CallArrangement = (props) => {
|
|
33667
33934
|
setDrawerMenuItems([]);
|
33668
33935
|
}
|
33669
33936
|
}, [participantActioned, remoteParticipants]);
|
33937
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
33938
|
+
const conferencePhoneInfo = useSelector$1(getTeamsMeetingCoordinates);
|
33939
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
33940
|
+
const meetingPhoneInfoPaneProps = {
|
33941
|
+
updateSidePaneRenderer,
|
33942
|
+
mobileView: props.mobileView,
|
33943
|
+
conferencePhoneInfo: conferencePhoneInfo
|
33944
|
+
};
|
33670
33945
|
const peoplePaneProps = React.useMemo(() => {
|
33671
33946
|
var _a;
|
33672
33947
|
return ({
|
@@ -33695,6 +33970,28 @@ const CallArrangement = (props) => {
|
|
33695
33970
|
const { onStartLocalSpotlight, onStopLocalSpotlight, onStartRemoteSpotlight, onStopRemoteSpotlight,
|
33696
33971
|
/* @conditional-compile-remove(soft-mute) */
|
33697
33972
|
onMuteParticipant, spotlightedParticipants, maxParticipantsToSpotlight, localParticipant } = videoGalleryProps;
|
33973
|
+
const { pinnedParticipants, setPinnedParticipants } = props;
|
33974
|
+
const onPinParticipant = React.useCallback((userId) => {
|
33975
|
+
if (pinnedParticipants && pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES) {
|
33976
|
+
return;
|
33977
|
+
}
|
33978
|
+
if (pinnedParticipants && setPinnedParticipants && !pinnedParticipants.includes(userId)) {
|
33979
|
+
setPinnedParticipants(pinnedParticipants.concat(userId));
|
33980
|
+
}
|
33981
|
+
}, [pinnedParticipants, setPinnedParticipants]);
|
33982
|
+
const onUnpinParticipant = React.useCallback((userId) => {
|
33983
|
+
if (pinnedParticipants && setPinnedParticipants) {
|
33984
|
+
setPinnedParticipants(pinnedParticipants.filter((participantId) => participantId !== userId));
|
33985
|
+
}
|
33986
|
+
}, [setPinnedParticipants, pinnedParticipants]);
|
33987
|
+
const pinPeoplePaneProps = React.useMemo(() => {
|
33988
|
+
return {
|
33989
|
+
pinnedParticipants: pinnedParticipants,
|
33990
|
+
onPinParticipant: onPinParticipant,
|
33991
|
+
onUnpinParticipant: onUnpinParticipant,
|
33992
|
+
disablePinMenuItem: pinnedParticipants && pinnedParticipants.length >= MAX_PINNED_REMOTE_VIDEO_TILES
|
33993
|
+
};
|
33994
|
+
}, [onPinParticipant, onUnpinParticipant, pinnedParticipants]);
|
33698
33995
|
const { onStartLocalSpotlightWithPrompt, onStopLocalSpotlightWithPrompt } = useLocalSpotlightCallbacksWithPrompt(onStartLocalSpotlight, onStopLocalSpotlight, setIsPromptOpen, setPromptProps);
|
33699
33996
|
const { onStartRemoteSpotlightWithPrompt, onStopRemoteSpotlightWithPrompt } = useRemoteSpotlightCallbacksWithPrompt(onStartRemoteSpotlight, onStopRemoteSpotlight, setIsPromptOpen, setPromptProps);
|
33700
33997
|
const canRemoveSpotlight = (_d = (_c = adapter.getState().call) === null || _c === void 0 ? void 0 : _c.capabilitiesFeature) === null || _d === void 0 ? void 0 : _d.capabilities.removeParticipantsSpotlight.isPresent;
|
@@ -33731,7 +34028,7 @@ const CallArrangement = (props) => {
|
|
33731
34028
|
stopAllSpotlightWithPrompt,
|
33732
34029
|
spotlightedParticipants
|
33733
34030
|
]);
|
33734
|
-
const { isPeoplePaneOpen, openPeoplePane, closePeoplePane } = usePeoplePane(Object.assign(Object.assign(Object.assign({}, peoplePaneProps), spotlightPeoplePaneProps), onMuteParticipantPeoplePaneProps));
|
34031
|
+
const { isPeoplePaneOpen, openPeoplePane, closePeoplePane } = usePeoplePane(Object.assign(Object.assign(Object.assign(Object.assign({}, peoplePaneProps), spotlightPeoplePaneProps), onMuteParticipantPeoplePaneProps), pinPeoplePaneProps));
|
33735
34032
|
const togglePeoplePane = React.useCallback(() => {
|
33736
34033
|
if (isPeoplePaneOpen) {
|
33737
34034
|
closePeoplePane();
|
@@ -33740,6 +34037,17 @@ const CallArrangement = (props) => {
|
|
33740
34037
|
openPeoplePane();
|
33741
34038
|
}
|
33742
34039
|
}, [closePeoplePane, isPeoplePaneOpen, openPeoplePane]);
|
34040
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
34041
|
+
const { isMeetingPhoneInfoPaneOpen, openMeetingPhoneInfoPane, closeMeetingPhoneInfoPane } = useMeetingPhoneInfoPane(Object.assign({}, meetingPhoneInfoPaneProps));
|
34042
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
34043
|
+
const toggleMeetingPhoneInfoPane = React.useCallback(() => {
|
34044
|
+
if (isMeetingPhoneInfoPaneOpen) {
|
34045
|
+
closeMeetingPhoneInfoPane();
|
34046
|
+
}
|
34047
|
+
else {
|
34048
|
+
openMeetingPhoneInfoPane();
|
34049
|
+
}
|
34050
|
+
}, [closeMeetingPhoneInfoPane, isMeetingPhoneInfoPaneOpen, openMeetingPhoneInfoPane]);
|
33743
34051
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
33744
34052
|
React.useEffect(() => {
|
33745
34053
|
if (isInLocalHold) {
|
@@ -33781,6 +34089,11 @@ const CallArrangement = (props) => {
|
|
33781
34089
|
setShowDrawer(false);
|
33782
34090
|
togglePeoplePane();
|
33783
34091
|
}, [togglePeoplePane]);
|
34092
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
34093
|
+
const onMeetingPhoneInfoClicked = React.useCallback(() => {
|
34094
|
+
setShowDrawer(false);
|
34095
|
+
toggleMeetingPhoneInfoPane();
|
34096
|
+
}, [toggleMeetingPhoneInfoPane]);
|
33784
34097
|
const drawerContainerStylesValue = React.useMemo(() => drawerContainerStyles(DRAWER_Z_INDEX), []);
|
33785
34098
|
const canUnmute = role !== 'Consumer' ? true : false;
|
33786
34099
|
let filteredLatestErrors = props.errorBarProps !== false ? props.latestErrors : [];
|
@@ -33828,7 +34141,9 @@ const CallArrangement = (props) => {
|
|
33828
34141
|
React.createElement(PreparedMoreDrawer, { callControls: props.callControlProps.options, onLightDismiss: closeDrawer, onPeopleButtonClicked: onMoreDrawerPeopleClicked,
|
33829
34142
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
33830
34143
|
disableButtonsForHoldScreen: isInLocalHold, isCaptionsSupported: (useTeamsCaptions && hasJoinedCall) ||
|
33831
|
-
/* @conditional-compile-remove(acs-close-captions) */ hasJoinedCall, useTeamsCaptions: useTeamsCaptions, onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange, userSetGalleryLayout: props.userSetGalleryLayout, onSetDialpadPage: props.onSetDialpadPage, dtmfDialerPresent: props.dtmfDialerPresent, reactionResources: adapter.getState().reactions
|
34144
|
+
/* @conditional-compile-remove(acs-close-captions) */ hasJoinedCall, useTeamsCaptions: useTeamsCaptions, onUserSetGalleryLayout: props.onUserSetGalleryLayoutChange, userSetGalleryLayout: props.userSetGalleryLayout, onSetDialpadPage: props.onSetDialpadPage, dtmfDialerPresent: props.dtmfDialerPresent, reactionResources: adapter.getState().reactions,
|
34145
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
34146
|
+
onClickMeetingPhoneInfo: onMeetingPhoneInfoClicked }))),
|
33832
34147
|
React.createElement(react.Stack, { horizontal: true, grow: true },
|
33833
34148
|
React.createElement(react.Stack.Item, { style: callCompositeContainerCSS },
|
33834
34149
|
React.createElement(react.Stack.Item, { styles: callGalleryStyles, grow: true },
|
@@ -34335,7 +34650,7 @@ const CallPage = (props) => {
|
|
34335
34650
|
onFetchParticipantMenuItems: onFetchParticipantMenuItems,
|
34336
34651
|
options: callControlOptions,
|
34337
34652
|
increaseFlyoutItemSize: mobileView
|
34338
|
-
}, onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (onRenderGalleryContentTrampoline()) : (React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps)))) : (React.createElement(React.Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors, onDismissError: props.onDismissError, onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition, onUserSetGalleryLayoutChange: onUserSetGalleryLayoutChange, userSetGalleryLayout: galleryLayout, capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent, setIsPromptOpen: setIsPromptOpen, setPromptProps: setPromptProps, hideSpotlightButtons: (_a = options === null || options === void 0 ? void 0 : options.spotlight) === null || _a === void 0 ? void 0 : _a.hideSpotlightButtons }),
|
34653
|
+
}, onFetchAvatarPersonaData: onFetchAvatarPersonaData, mobileView: mobileView, modalLayerHostId: props.modalLayerHostId, onRenderGalleryContent: () => _isInCall(callStatus) ? (isNetworkHealthy(networkReconnectTileProps.networkReconnectValue) ? (onRenderGalleryContentTrampoline()) : (React.createElement(NetworkReconnectTile, Object.assign({}, networkReconnectTileProps)))) : (React.createElement(React.Fragment, null)), updateSidePaneRenderer: props.updateSidePaneRenderer, mobileChatTabHeader: props.mobileChatTabHeader, onCloseChatPane: onCloseChatPane, dataUiId: 'call-page', latestErrors: props.latestErrors, onDismissError: props.onDismissError, onUserSetOverflowGalleryPositionChange: onSetUserSetOverflowGalleryPosition, onUserSetGalleryLayoutChange: onUserSetGalleryLayoutChange, userSetGalleryLayout: galleryLayout, capabilitiesChangedNotificationBarProps: props.capabilitiesChangedNotificationBarProps, onSetDialpadPage: () => setDtmfDialerPresent(!dtmfDialerPresent), dtmfDialerPresent: dtmfDialerPresent, setIsPromptOpen: setIsPromptOpen, setPromptProps: setPromptProps, hideSpotlightButtons: (_a = options === null || options === void 0 ? void 0 : options.spotlight) === null || _a === void 0 ? void 0 : _a.hideSpotlightButtons, pinnedParticipants: pinnedParticipants, setPinnedParticipants: setPinnedParticipants }),
|
34339
34654
|
React.createElement(Prompt, Object.assign({ isOpen: isPromptOpen, onDismiss: () => setIsPromptOpen(false) }, promptProps))));
|
34340
34655
|
};
|
34341
34656
|
/**
|
@@ -39052,14 +39367,13 @@ const CallWithChatScreen = (props) => {
|
|
39052
39367
|
participantPane: false,
|
39053
39368
|
/* @conditional-compile-remove(file-sharing-acs) */
|
39054
39369
|
attachmentOptions: props.attachmentOptions,
|
39055
|
-
/* @conditional-compile-remove(rich-text-editor-composite-support)
|
39056
|
-
|
39370
|
+
/* @conditional-compile-remove(rich-text-editor-composite-support) */
|
39371
|
+
richTextEditor: props.richTextEditor
|
39057
39372
|
}, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData })), [
|
39058
39373
|
chatAdapter,
|
39059
|
-
/* @conditional-compile-remove(file-sharing-acs) */
|
39060
|
-
props.attachmentOptions,
|
39374
|
+
/* @conditional-compile-remove(file-sharing-acs) */ props.attachmentOptions,
|
39061
39375
|
props.onFetchAvatarPersonaData,
|
39062
|
-
/* @conditional-compile-remove(rich-text-editor-composite-support) */ props.
|
39376
|
+
/* @conditional-compile-remove(rich-text-editor-composite-support) */ props.richTextEditor,
|
39063
39377
|
theme
|
39064
39378
|
]);
|
39065
39379
|
const sidePaneHeaderRenderer = React.useCallback(() => {
|
@@ -39104,7 +39418,7 @@ const CallWithChatScreen = (props) => {
|
|
39104
39418
|
const CallWithChatComposite = (props) => {
|
39105
39419
|
var _a, _b;
|
39106
39420
|
const { adapter, fluentTheme, rtl, formFactor, joinInvitationURL, options } = props;
|
39107
|
-
return (React.createElement(BaseProvider, { fluentTheme: fluentTheme, rtl: rtl, locale: props.locale, icons: props.icons },
|
39421
|
+
return (React.createElement(BaseProvider, { fluentTheme: fluentTheme, rtl: rtl, locale: props.locale, icons: props.icons, formFactor: props.formFactor },
|
39108
39422
|
React.createElement(CallWithChatScreen, Object.assign({}, props, {
|
39109
39423
|
/* @conditional-compile-remove(call-readiness) */
|
39110
39424
|
deviceChecks: options === null || options === void 0 ? void 0 : options.deviceChecks, callWithChatAdapter: adapter, formFactor: formFactor, callControls: options === null || options === void 0 ? void 0 : options.callControls, joinInvitationURL: joinInvitationURL, fluentTheme: fluentTheme, remoteVideoTileMenuOptions: options === null || options === void 0 ? void 0 : options.remoteVideoTileMenuOptions,
|
@@ -40729,4 +41043,4 @@ exports.useTeamsCall = useTeamsCall;
|
|
40729
41043
|
exports.useTeamsCallAdapter = useTeamsCallAdapter;
|
40730
41044
|
exports.useTeamsCallAgent = useTeamsCallAgent;
|
40731
41045
|
exports.useTheme = useTheme;
|
40732
|
-
//# sourceMappingURL=index-
|
41046
|
+
//# sourceMappingURL=index-BGFUrfo5.js.map
|