@azure/communication-react 1.17.0-alpha-202406050014 → 1.17.0-alpha-202406070015
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 +116 -20
- package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-CueWJlOs.js → ChatMessageComponentAsRichTextEditBox-B4BPzX3o.js} +9 -4
- package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-B4BPzX3o.js.map +1 -0
- package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-DORQ6cdT.js → RichTextSendBoxWrapper-DoEtNInF.js} +3 -2
- package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-DORQ6cdT.js.map → RichTextSendBoxWrapper-DoEtNInF.js.map} +1 -1
- package/dist/dist-cjs/communication-react/{index-B4rHuheV.js → index-DU2Ijnbn.js} +472 -183
- package/dist/dist-cjs/communication-react/index-DU2Ijnbn.js.map +1 -0
- package/dist/dist-cjs/communication-react/index.js +2 -1
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js +16 -6
- package/dist/dist-esm/calling-component-bindings/src/captionsSelector.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.d.ts +12 -2
- package/dist/dist-esm/calling-stateful-client/src/CallClientState.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js +3 -1
- package/dist/dist-esm/calling-stateful-client/src/CallContext.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js +1 -1
- package/dist/dist-esm/calling-stateful-client/src/CallSubscriber.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/Converter.d.ts +4 -0
- package/dist/dist-esm/calling-stateful-client/src/Converter.js +24 -1
- package/dist/dist-esm/calling-stateful-client/src/Converter.js.map +1 -1
- package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +1 -0
- package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
- package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +2 -4
- package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
- package/dist/dist-esm/communication-react/src/index.d.ts +2 -0
- package/dist/dist-esm/communication-react/src/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.d.ts +2 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageComponentWrapper.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +2 -2
- package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.d.ts +2 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js +5 -3
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBoxPicker.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.d.ts +3 -0
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +6 -2
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.d.ts +2 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +2 -2
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js +3 -3
- package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/FluentChatMyMessageComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.d.ts +84 -0
- package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js +116 -0
- package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js.map +1 -0
- package/dist/dist-esm/react-components/src/components/MessageThread.d.ts +16 -4
- package/dist/dist-esm/react-components/src/components/MessageThread.js +4 -4
- package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/NotificationBar.d.ts +12 -4
- package/dist/dist-esm/react-components/src/components/NotificationBar.js +4 -2
- package/dist/dist-esm/react-components/src/components/NotificationBar.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Notifications.d.ts +6 -2
- package/dist/dist-esm/react-components/src/components/Notifications.js +1 -1
- package/dist/dist-esm/react-components/src/components/Notifications.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.d.ts +5 -2
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js +14 -2
- package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/CopyPastePlugin.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.d.ts +3 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +11 -2
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.d.ts +3 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +3 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.d.ts +6 -0
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +6 -2
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/index.d.ts +2 -0
- package/dist/dist-esm/react-components/src/components/index.js +2 -0
- package/dist/dist-esm/react-components/src/components/index.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.d.ts +5 -1
- package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js +9 -4
- package/dist/dist-esm/react-components/src/components/styles/ChatMessageComponent.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/TeamsMeetingConferenceInfo.d.ts +42 -0
- package/dist/dist-esm/react-components/src/components/styles/TeamsMeetingConferenceInfo.js +93 -0
- package/dist/dist-esm/react-components/src/components/styles/TeamsMeetingConferenceInfo.js.map +1 -0
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.d.ts +3 -0
- package/dist/dist-esm/react-components/src/localization/LocalizationProvider.js.map +1 -1
- package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +11 -0
- package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js +1 -1
- package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +4 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.d.ts +5 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js +5 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/selectors/baseSelectors.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.d.ts +3 -4
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +3 -3
- 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 +3 -4
- 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 +5 -5
- package/dist/dist-esm/react-composites/src/composites/ChatComposite/ChatScreen.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +25 -9
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js +28 -0
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/DesktopMoreButton.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.d.ts +2 -1
- package/dist/dist-esm/react-composites/src/composites/common/SendBoxPicker.js +6 -6
- 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 +4 -0
- package/dist/dist-esm/react-composites/src/composites/common/icons.js +6 -0
- package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +5 -0
- package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +1 -0
- package/package.json +2 -1
- package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-CueWJlOs.js.map +0 -1
- package/dist/dist-cjs/communication-react/index-B4rHuheV.js.map +0 -1
@@ -28,6 +28,7 @@ var reactHooks = require('@fluentui/react-hooks');
|
|
28
28
|
var reactUseDraggableScroll = require('react-use-draggable-scroll');
|
29
29
|
var reactWindowProvider = require('@fluentui/react-window-provider');
|
30
30
|
var copy = require('copy-to-clipboard');
|
31
|
+
var libphonenumberJs = require('libphonenumber-js');
|
31
32
|
var communicationChat = require('@azure/communication-chat');
|
32
33
|
var nanoid = require('nanoid');
|
33
34
|
var communicationCallingEffects = require('@azure/communication-calling-effects');
|
@@ -174,7 +175,7 @@ function getDefaultExportFromCjs (x) {
|
|
174
175
|
// Copyright (c) Microsoft Corporation.
|
175
176
|
// Licensed under the MIT License.
|
176
177
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
177
|
-
var telemetryVersion = '1.17.0-alpha-
|
178
|
+
var telemetryVersion = '1.17.0-alpha-202406070015';
|
178
179
|
|
179
180
|
|
180
181
|
var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
|
@@ -1355,14 +1356,24 @@ const _captionSettingsSelector = reselect__namespace.createSelector([
|
|
1355
1356
|
*
|
1356
1357
|
* @internal
|
1357
1358
|
*/
|
1358
|
-
const _captionsBannerSelector = reselect__namespace.createSelector([getCaptions, getCaptionsStatus$1, getStartCaptionsInProgress], (captions, isCaptionsFeatureActive, startCaptionsInProgress) => {
|
1359
|
+
const _captionsBannerSelector = reselect__namespace.createSelector([getCaptions, getCaptionsStatus$1, getStartCaptionsInProgress, getRemoteParticipants$1, getDisplayName$2, getIdentifier], (captions, isCaptionsFeatureActive, startCaptionsInProgress, remoteParticipants, displayName, identifier) => {
|
1359
1360
|
const captionsInfo = captions === null || captions === void 0 ? void 0 : captions.map((c, index) => {
|
1360
|
-
var _a
|
1361
|
+
var _a;
|
1361
1362
|
const userId = getCaptionsSpeakerIdentifier(c);
|
1363
|
+
let finalDisplayName;
|
1364
|
+
if (userId === identifier) {
|
1365
|
+
finalDisplayName = displayName;
|
1366
|
+
}
|
1367
|
+
else if (remoteParticipants) {
|
1368
|
+
const participant = remoteParticipants[userId];
|
1369
|
+
if (participant) {
|
1370
|
+
finalDisplayName = participant.displayName;
|
1371
|
+
}
|
1372
|
+
}
|
1362
1373
|
return {
|
1363
|
-
id: (
|
1364
|
-
displayName:
|
1365
|
-
captionText: (
|
1374
|
+
id: (finalDisplayName !== null && finalDisplayName !== void 0 ? finalDisplayName : 'Unnamed Participant') + index,
|
1375
|
+
displayName: finalDisplayName !== null && finalDisplayName !== void 0 ? finalDisplayName : 'Unnamed Participant',
|
1376
|
+
captionText: (_a = c.captionText) !== null && _a !== void 0 ? _a : '',
|
1366
1377
|
userId
|
1367
1378
|
};
|
1368
1379
|
});
|
@@ -1608,96 +1619,6 @@ const deviceManagerDeclaratify = (deviceManager, context, internalContext) => {
|
|
1608
1619
|
return new Proxy(deviceManager, proxyDeviceManager);
|
1609
1620
|
};
|
1610
1621
|
|
1611
|
-
// Copyright (c) Microsoft Corporation.
|
1612
|
-
// Licensed under the MIT License.
|
1613
|
-
/**
|
1614
|
-
* Error thrown from failed stateful API methods.
|
1615
|
-
*
|
1616
|
-
* @public
|
1617
|
-
*/
|
1618
|
-
class CallError extends Error {
|
1619
|
-
constructor(target, innerError, timestamp) {
|
1620
|
-
super();
|
1621
|
-
this.target = target;
|
1622
|
-
this.innerError = innerError;
|
1623
|
-
// Testing note: It is easier to mock Date::now() than the Date() constructor.
|
1624
|
-
this.timestamp = timestamp !== null && timestamp !== void 0 ? timestamp : new Date(Date.now());
|
1625
|
-
this.name = 'CallError';
|
1626
|
-
this.message = `${this.target}: ${this.innerError.message}`;
|
1627
|
-
}
|
1628
|
-
}
|
1629
|
-
|
1630
|
-
// Copyright (c) Microsoft Corporation.
|
1631
|
-
// Licensed under the MIT License.
|
1632
|
-
/**
|
1633
|
-
* @private
|
1634
|
-
*/
|
1635
|
-
const callingStatefulLogger = logger.createClientLogger('communication-react:calling-stateful');
|
1636
|
-
/**
|
1637
|
-
* @private
|
1638
|
-
*/
|
1639
|
-
var EventNames;
|
1640
|
-
(function (EventNames) {
|
1641
|
-
// Info
|
1642
|
-
EventNames["VIEW_RENDER_SUCCEED"] = "VIEW_RENDER_SUCCEED";
|
1643
|
-
EventNames["START_DISPOSE_STREAM"] = "START_DISPOSE_STREAM";
|
1644
|
-
EventNames["START_STREAM_RENDERING"] = "START_STREAM_RENDERING";
|
1645
|
-
EventNames["DISPOSING_RENDERER"] = "DISPOSING_RENDERER";
|
1646
|
-
EventNames["CREATING_VIEW"] = "CREATING_VIEW";
|
1647
|
-
// Warning
|
1648
|
-
EventNames["CREATE_STREAM_INVALID_PARAMS"] = "CREATE_STREAM_INVALID_PARAMS";
|
1649
|
-
EventNames["DISPOSE_STREAM_INVALID_PARAMS"] = "DISPOSE_STREAM_INVALID_PARAMS";
|
1650
|
-
EventNames["STREAM_ALREADY_RENDERED"] = "STREAM_ALREADY_RENDERED";
|
1651
|
-
EventNames["STREAM_ALREADY_DISPOSED"] = "STREAM_ALREADY_DISPOSED";
|
1652
|
-
EventNames["STREAM_STOPPING"] = "STREAM_STOPPING";
|
1653
|
-
EventNames["CREATED_STREAM_STOPPING"] = "CREATED_STREAM_STOPPING";
|
1654
|
-
EventNames["STREAM_RENDERING"] = "STREAM_RENDERING";
|
1655
|
-
// Error
|
1656
|
-
EventNames["STREAM_NOT_FOUND"] = "STREAM_NOT_FOUND";
|
1657
|
-
EventNames["RENDER_INFO_NOT_FOUND"] = "RENDER_INFO_NOT_FOUND";
|
1658
|
-
EventNames["DISPOSE_INFO_NOT_FOUND"] = "DISPOSE_INFO_NOT_FOUND";
|
1659
|
-
EventNames["RENDERER_NOT_FOUND"] = "RENDERER_NOT_FOUND";
|
1660
|
-
EventNames["CREATE_STREAM_FAIL"] = "CREATE_STREAM_FAIL";
|
1661
|
-
})(EventNames || (EventNames = {}));
|
1662
|
-
|
1663
|
-
// Copyright (c) Microsoft Corporation.
|
1664
|
-
// Licensed under the MIT License.
|
1665
|
-
/**
|
1666
|
-
* @private
|
1667
|
-
* Call Id will change during the call for at least 1 time
|
1668
|
-
* This is to avoid async bug that call id has been changed during an async-await function
|
1669
|
-
* but the function still uses stale call id to access state
|
1670
|
-
*/
|
1671
|
-
class CallIdHistory {
|
1672
|
-
constructor() {
|
1673
|
-
this._callIdHistory = new Map();
|
1674
|
-
}
|
1675
|
-
updateCallIdHistory(newCallId, oldCallId) {
|
1676
|
-
// callId for a call can fluctuate between some set of values.
|
1677
|
-
// But if a newCallId already exists, and maps to different call, we're in trouble.
|
1678
|
-
// This can only happen if a callId is reused across two distinct calls.
|
1679
|
-
const existing = this._callIdHistory.get(newCallId);
|
1680
|
-
if (existing !== undefined && this.latestCallId(newCallId) !== oldCallId) {
|
1681
|
-
console.trace(`${newCallId} alredy exists and maps to ${existing}, which is not the same as ${oldCallId}`);
|
1682
|
-
}
|
1683
|
-
// The latest callId never maps to another callId.
|
1684
|
-
this._callIdHistory.delete(newCallId);
|
1685
|
-
this._callIdHistory.set(oldCallId, newCallId);
|
1686
|
-
}
|
1687
|
-
latestCallId(callId) {
|
1688
|
-
let latest = callId;
|
1689
|
-
/* eslint no-constant-condition: ["error", { "checkLoops": false }] */
|
1690
|
-
while (true) {
|
1691
|
-
const newer = this._callIdHistory.get(latest);
|
1692
|
-
if (newer === undefined) {
|
1693
|
-
break;
|
1694
|
-
}
|
1695
|
-
latest = newer;
|
1696
|
-
}
|
1697
|
-
return latest;
|
1698
|
-
}
|
1699
|
-
}
|
1700
|
-
|
1701
1622
|
// Copyright (c) Microsoft Corporation.
|
1702
1623
|
// Licensed under the MIT License.
|
1703
1624
|
/**
|
@@ -1859,7 +1780,7 @@ function convertSdkCallToDeclarativeCall(call) {
|
|
1859
1780
|
/* @conditional-compile-remove(meeting-id) */
|
1860
1781
|
info: callInfo,
|
1861
1782
|
/* @conditional-compile-remove(teams-meeting-conference) */
|
1862
|
-
teamsMeetingConference:
|
1783
|
+
teamsMeetingConference: []
|
1863
1784
|
};
|
1864
1785
|
}
|
1865
1786
|
/**
|
@@ -1910,6 +1831,119 @@ function convertFromSDKToRaisedHandState(raisedHand) {
|
|
1910
1831
|
raisedHandOrderPosition: raisedHand.order
|
1911
1832
|
};
|
1912
1833
|
}
|
1834
|
+
/** @private */
|
1835
|
+
function convertConferencePhoneInfo(meetingConferencePhoneInfo) {
|
1836
|
+
if (!meetingConferencePhoneInfo) {
|
1837
|
+
return [];
|
1838
|
+
}
|
1839
|
+
return meetingConferencePhoneInfo.phoneNumbers.flatMap((phoneNumber) => {
|
1840
|
+
var _a, _b, _c, _d;
|
1841
|
+
const common = {
|
1842
|
+
conferenceId: meetingConferencePhoneInfo.phoneConferenceId,
|
1843
|
+
country: phoneNumber.countryName,
|
1844
|
+
city: phoneNumber.cityName,
|
1845
|
+
phoneNumber: '',
|
1846
|
+
isTollFree: false
|
1847
|
+
};
|
1848
|
+
const toll = Object.assign({}, common);
|
1849
|
+
toll.phoneNumber = (_b = (_a = phoneNumber.tollPhoneNumber) === null || _a === void 0 ? void 0 : _a.phoneNumber) !== null && _b !== void 0 ? _b : '';
|
1850
|
+
toll.isTollFree = false;
|
1851
|
+
const tollFree = Object.assign({}, common);
|
1852
|
+
tollFree.phoneNumber = (_d = (_c = phoneNumber.tollFreePhoneNumber) === null || _c === void 0 ? void 0 : _c.phoneNumber) !== null && _d !== void 0 ? _d : '';
|
1853
|
+
tollFree.isTollFree = true;
|
1854
|
+
return [toll, tollFree].filter((phoneInfo) => phoneInfo.phoneNumber);
|
1855
|
+
});
|
1856
|
+
}
|
1857
|
+
|
1858
|
+
// Copyright (c) Microsoft Corporation.
|
1859
|
+
// Licensed under the MIT License.
|
1860
|
+
/**
|
1861
|
+
* Error thrown from failed stateful API methods.
|
1862
|
+
*
|
1863
|
+
* @public
|
1864
|
+
*/
|
1865
|
+
class CallError extends Error {
|
1866
|
+
constructor(target, innerError, timestamp) {
|
1867
|
+
super();
|
1868
|
+
this.target = target;
|
1869
|
+
this.innerError = innerError;
|
1870
|
+
// Testing note: It is easier to mock Date::now() than the Date() constructor.
|
1871
|
+
this.timestamp = timestamp !== null && timestamp !== void 0 ? timestamp : new Date(Date.now());
|
1872
|
+
this.name = 'CallError';
|
1873
|
+
this.message = `${this.target}: ${this.innerError.message}`;
|
1874
|
+
}
|
1875
|
+
}
|
1876
|
+
|
1877
|
+
// Copyright (c) Microsoft Corporation.
|
1878
|
+
// Licensed under the MIT License.
|
1879
|
+
/**
|
1880
|
+
* @private
|
1881
|
+
*/
|
1882
|
+
const callingStatefulLogger = logger.createClientLogger('communication-react:calling-stateful');
|
1883
|
+
/**
|
1884
|
+
* @private
|
1885
|
+
*/
|
1886
|
+
var EventNames;
|
1887
|
+
(function (EventNames) {
|
1888
|
+
// Info
|
1889
|
+
EventNames["VIEW_RENDER_SUCCEED"] = "VIEW_RENDER_SUCCEED";
|
1890
|
+
EventNames["START_DISPOSE_STREAM"] = "START_DISPOSE_STREAM";
|
1891
|
+
EventNames["START_STREAM_RENDERING"] = "START_STREAM_RENDERING";
|
1892
|
+
EventNames["DISPOSING_RENDERER"] = "DISPOSING_RENDERER";
|
1893
|
+
EventNames["CREATING_VIEW"] = "CREATING_VIEW";
|
1894
|
+
// Warning
|
1895
|
+
EventNames["CREATE_STREAM_INVALID_PARAMS"] = "CREATE_STREAM_INVALID_PARAMS";
|
1896
|
+
EventNames["DISPOSE_STREAM_INVALID_PARAMS"] = "DISPOSE_STREAM_INVALID_PARAMS";
|
1897
|
+
EventNames["STREAM_ALREADY_RENDERED"] = "STREAM_ALREADY_RENDERED";
|
1898
|
+
EventNames["STREAM_ALREADY_DISPOSED"] = "STREAM_ALREADY_DISPOSED";
|
1899
|
+
EventNames["STREAM_STOPPING"] = "STREAM_STOPPING";
|
1900
|
+
EventNames["CREATED_STREAM_STOPPING"] = "CREATED_STREAM_STOPPING";
|
1901
|
+
EventNames["STREAM_RENDERING"] = "STREAM_RENDERING";
|
1902
|
+
// Error
|
1903
|
+
EventNames["STREAM_NOT_FOUND"] = "STREAM_NOT_FOUND";
|
1904
|
+
EventNames["RENDER_INFO_NOT_FOUND"] = "RENDER_INFO_NOT_FOUND";
|
1905
|
+
EventNames["DISPOSE_INFO_NOT_FOUND"] = "DISPOSE_INFO_NOT_FOUND";
|
1906
|
+
EventNames["RENDERER_NOT_FOUND"] = "RENDERER_NOT_FOUND";
|
1907
|
+
EventNames["CREATE_STREAM_FAIL"] = "CREATE_STREAM_FAIL";
|
1908
|
+
})(EventNames || (EventNames = {}));
|
1909
|
+
|
1910
|
+
// Copyright (c) Microsoft Corporation.
|
1911
|
+
// Licensed under the MIT License.
|
1912
|
+
/**
|
1913
|
+
* @private
|
1914
|
+
* Call Id will change during the call for at least 1 time
|
1915
|
+
* This is to avoid async bug that call id has been changed during an async-await function
|
1916
|
+
* but the function still uses stale call id to access state
|
1917
|
+
*/
|
1918
|
+
class CallIdHistory {
|
1919
|
+
constructor() {
|
1920
|
+
this._callIdHistory = new Map();
|
1921
|
+
}
|
1922
|
+
updateCallIdHistory(newCallId, oldCallId) {
|
1923
|
+
// callId for a call can fluctuate between some set of values.
|
1924
|
+
// But if a newCallId already exists, and maps to different call, we're in trouble.
|
1925
|
+
// This can only happen if a callId is reused across two distinct calls.
|
1926
|
+
const existing = this._callIdHistory.get(newCallId);
|
1927
|
+
if (existing !== undefined && this.latestCallId(newCallId) !== oldCallId) {
|
1928
|
+
console.trace(`${newCallId} alredy exists and maps to ${existing}, which is not the same as ${oldCallId}`);
|
1929
|
+
}
|
1930
|
+
// The latest callId never maps to another callId.
|
1931
|
+
this._callIdHistory.delete(newCallId);
|
1932
|
+
this._callIdHistory.set(oldCallId, newCallId);
|
1933
|
+
}
|
1934
|
+
latestCallId(callId) {
|
1935
|
+
let latest = callId;
|
1936
|
+
/* eslint no-constant-condition: ["error", { "checkLoops": false }] */
|
1937
|
+
while (true) {
|
1938
|
+
const newer = this._callIdHistory.get(latest);
|
1939
|
+
if (newer === undefined) {
|
1940
|
+
break;
|
1941
|
+
}
|
1942
|
+
latest = newer;
|
1943
|
+
}
|
1944
|
+
return latest;
|
1945
|
+
}
|
1946
|
+
}
|
1913
1947
|
|
1914
1948
|
// Copyright (c) Microsoft Corporation.
|
1915
1949
|
// Licensed under the MIT License.
|
@@ -2360,7 +2394,7 @@ let CallContext$2 = class CallContext {
|
|
2360
2394
|
this.modifyState((draft) => {
|
2361
2395
|
const call = draft.calls[this._callIdHistory.latestCallId(callId)];
|
2362
2396
|
if (call) {
|
2363
|
-
call.teamsMeetingConference = teamsMeetingConferenceDetails;
|
2397
|
+
call.teamsMeetingConference = convertConferencePhoneInfo(teamsMeetingConferenceDetails);
|
2364
2398
|
}
|
2365
2399
|
});
|
2366
2400
|
}
|
@@ -4272,7 +4306,7 @@ class CallSubscriber {
|
|
4272
4306
|
};
|
4273
4307
|
/* @conditional-compile-remove(teams-meeting-conference) */
|
4274
4308
|
this.initTeamsMeetingConference = () => {
|
4275
|
-
if (this._call.state === 'Connected'
|
4309
|
+
if (this._call.state === 'Connected') {
|
4276
4310
|
this._call
|
4277
4311
|
.feature(communicationCalling.Features.TeamsMeetingAudioConferencing)
|
4278
4312
|
.getTeamsMeetingAudioConferencingDetails()
|
@@ -5742,7 +5776,7 @@ const typingIndicatorStringStyle = react.mergeStyles({
|
|
5742
5776
|
wordBreak: 'break-word'
|
5743
5777
|
});
|
5744
5778
|
|
5745
|
-
var participantItem$k={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed participant",participantStateRinging:"Calling...",participantStateHold:"On hold",attendeeRole:"Attendee"};var ParticipantList$l={overflowParticipantCount:"+{overflowCount} more"};var typingIndicator$k={singleUser:"{user} is typing ...",multipleUsers:"{users} are typing ...",multipleUsersAbbreviateOne:"{users} and 1 other are typing ...",multipleUsersAbbreviateMany:"{users} and {numOthers} others are typing ...",delimiter:", "};var sendBox$k={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"Uploading... Please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",attachmentMoreMenu:"More Options"};var richTextSendBox$k={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"Uploading... Please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options",attachmentMoreMenu:"More Options"};var mentionPopover$k={mentionPopoverHeader:"Suggestions"};var imageOverlay$k={downloadButtonLabel:"Download",dismissButtonAriaLabel:"Close"};var messageStatusIndicator$k={deliveredAriaLabel:"Message sent",deliveredTooltipText:"Sent",seenAriaLabel:"Message seen by others",seenTooltipText:"Seen",readByTooltipText:"Read by {messageThreadReadCount} of {remoteParticipantsCount}",sendingAriaLabel:"Message sending",sendingTooltipText:"Sending",failedToSendAriaLabel:"Message failed to send",failedToSendTooltipText:"Failed to send"};var endCallButton$k={label:"Leave",tooltipContent:"Leave call",leaveOption:"Leave",endCallOption:"End call for everyone"};var cameraButton$k={onLabel:"Camera",offLabel:"Camera",tooltipDisabledContent:"Camera is disabled",tooltipOnContent:"Turn off camera",tooltipOffContent:"Turn on camera",tooltipVideoLoadingContent:"Video is loading",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",cameraButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Turn off camera and camera options",offSplitButtonAriaLabel:"Turn on camera and camera options",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off",onSplitButtonPrimaryActionCamera:"Turn off camera",offSplitButtonPrimaryActionCamera:"Turn on camera",cameraPrimaryActionSplitButtonTitle:"Use camera",videoEffectsMenuItemTitle:"Effects"};var microphoneButton$k={onLabel:"Mic",offLabel:"Mic",tooltipDisabledContent:"Microphone is disabled",tooltipOnContent:"Mute microphone",tooltipOffContent:"Unmute microphone",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker",microphoneButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Mute microphone and audio options",offSplitButtonAriaLabel:"Unmute microphone and audio options",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off",offSplitButtonMicrophonePrimaryAction:"Unmute microphone",onSplitButtonMicrophonePrimaryAction:"Mute microphone",microphonePrimaryActionSplitButtonTitle:"Use microphone"};var devicesButton$k={label:"Devices",tooltipContent:"Manage devices",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",audioDeviceMenuTitle:"Audio Device",audioDeviceMenuTooltip:"Choose audio device",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker"};var participantsButton$k={label:"People",tooltipContent:"Show participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied"};var screenShareButton$k={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var raiseHandButton$k={offLabel:"Raise",onLabel:"Lower",tooltipDisabledContent:"Raise Hand action is disabled",tooltipOnContent:"Lower Hand",tooltipOffContent:"Raise Hand"};var reactionButton$k={label:"React",ariaLabel:"React Button, Send a reaction",tooltipDisabledContent:"Reaction action is disabled",tooltipContent:"Send a reaction",likeReactionTooltipContent:"Like",heartReactionTooltipContent:"Love",laughReactionTooltipContent:"Laugh",applauseReactionTooltipContent:"Applause",surprisedReactionTooltipContent:"Surprised"};var messageThread$k={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"{author} says",messageContentAriaText:"{author} said {message}",messageContentMineAriaText:"You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Done",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadAttachment:"Download file",openAttachment:"Open file",blockedWarningText:"This message was deleted due to organizational policy.",blockedWarningLinkText:"Details",attachmentCardGroupMessage:"The message has {attachmentCount} attachment",messageDeletedAnnouncementAriaLabel:"The message is deleted",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options"};var errorBar$k={unableToReachChatService:"You are offline",accessDenied:"Unable to access chat services - please check the user credentials provided",userNotInChatThread:"You are no longer in this chat thread",sendMessageNotInChatThread:"Failed to send message because you are no longer in this chat thread",sendMessageGeneric:"Failed to send message",callingNetworkFailure:"Troubling connecting call - you seem to be offline",startVideoGeneric:"Failed to start video",stopVideoGeneric:"Failed to stop video",muteGeneric:"Failed to mute microphone",unmuteGeneric:"Failed to unmute microphone",speakingWhileMuted:"Your microphone is muted",startScreenShareGeneric:"There was an issue starting screen share.",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"Network quality is low.",callNoSpeakerFound:"No speakers or headphones found. Connect an audio device to hear the call.",callNoMicrophoneFound:"No microphones found. Connect an audio input device.",callMicrophoneAccessDenied:"Unable to access microphone. Click the lock in the address bar to grant permission to this webpage.",callMicrophoneAccessDeniedSafari:"Unable to access microphone. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callMicrophoneMutedBySystem:"You are muted by your system.",callMicrophoneUnmutedBySystem:"Your microphone recovered and you were unmuted by your system.",callMacOsMicrophoneAccessDenied:"Unable to access microphone. Grant microphone permission in your macOS privacy settings.",callLocalVideoFreeze:"Network bandwidth is poor. Your video may appear paused for others on the call.",callCameraAccessDenied:"Unable to access camera. Click the lock in the address bar to grant permission to this webpage.",callCameraAccessDeniedSafari:"Unable to access camera. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",callVideoStoppedBySystem:"Your video has been stopped by your system.",callVideoRecoveredBySystem:"Your video has resumed.",callMacOsCameraAccessDenied:"MacOS is blocking access to your camera. Update your privacy settings to allow this browser to access your camera.",callMacOsScreenShareAccessDenied:"MacOS is blocking screen sharing. Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close",failedToJoinCallGeneric:"Failed to join call.",failedToJoinCallInvalidMeetingLink:"Unable to join Meeting. Invalid Link.",cameraFrozenForRemoteParticipants:"Users in the call are having issues seeing your video. Please check your devices and network.",unableToStartVideoEffect:"Unable to apply video effect.",startSpotlightWhileMaxParticipantsAreSpotlighted:"Cannot start spotlight on participant(s) because the maximum number of participants are already spotlighted."};var notifications={unableToReachChatService:{title:"You are offline.",closeButtonAriaLabel:"Close"},accessDenied:{title:"Unable to access chat services",message:"Please check the user credentials provided",closeButtonAriaLabel:"Close"},userNotInChatThread:{title:"You are no longer in this chat thread.",closeButtonAriaLabel:"Close"},sendMessageNotInChatThread:{title:"Failed to send message",message:"You are no longer in this chat thread",closeButtonAriaLabel:"Close"},sendMessageGeneric:{title:"Failed to send message.",closeButtonAriaLabel:"Close"},callingNetworkFailure:{title:"Troubling connecting call",message:"You seem to be offline. Please check your network connection and try again.",closeButtonAriaLabel:"Close"},startVideoGeneric:{title:"Failed to start video.",closeButtonAriaLabel:"Close"},stopVideoGeneric:{title:"Failed to stop video.",closeButtonAriaLabel:"Close"},muteGeneric:{title:"Failed to mute microphone.",closeButtonAriaLabel:"Close"},unmuteGeneric:{title:"Failed to unmute microphone.",closeButtonAriaLabel:"Close"},speakingWhileMuted:{title:"You're muted.",closeButtonAriaLabel:"Close"},startScreenShareGeneric:{title:"There was an issue starting screen share.",closeButtonAriaLabel:"Close"},stopScreenShareGeneric:{title:"Failed to stop screen sharing.",closeButtonAriaLabel:"Close"},callNetworkQualityLow:{title:"Network quality is low.",closeButtonAriaLabel:"Close"},callNoSpeakerFound:{title:"No speakers or headphones found",message:"Connect an audio device to hear the call.",closeButtonAriaLabel:"Close"},callNoMicrophoneFound:{title:"No microphones found",message:"Connect an audio input device.",closeButtonAriaLabel:"Close"},callMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Click the lock in the address bar to grant permission to this webpage.",closeButtonAriaLabel:"Close"},callMicrophoneAccessDeniedSafari:{title:"Unable to access microphone",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",closeButtonAriaLabel:"Close"},callMicrophoneMutedBySystem:{title:"You are muted by your system.",closeButtonAriaLabel:"Close"},callMicrophoneUnmutedBySystem:{title:"Your microphone recovered and you were unmuted by your system.",closeButtonAriaLabel:"Close"},callMacOsMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Grant microphone permission in your macOS privacy settings.",closeButtonAriaLabel:"Close"},callLocalVideoFreeze:{title:"Network bandwidth is poor",message:"Your video may appear paused for others on the call.",closeButtonAriaLabel:"Close"},callCameraAccessDenied:{title:"Unable to access camera",message:"Click the lock in the address bar to grant permission to this webpage.",closeButtonAriaLabel:"Close"},callCameraAccessDeniedSafari:{title:"Unable to access camera",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",closeButtonAriaLabel:"Close"},callCameraAlreadyInUse:{title:"Unable to access camera",message:"It may already be in use by another application.",closeButtonAriaLabel:"Close"},callVideoStoppedBySystem:{title:"Your video has been stopped by your system.",closeButtonAriaLabel:"Close"},callVideoRecoveredBySystem:{title:"Your video has resumed.",closeButtonAriaLabel:"Close"},callMacOsCameraAccessDenied:{title:"MacOS is blocking access to your camera",message:"Update your privacy settings to allow this browser to access your camera.",closeButtonAriaLabel:"Close"},callMacOsScreenShareAccessDenied:{title:"MacOS is blocking screen sharing",message:"Update your privacy settings to allow this browser to record your screen.",closeButtonAriaLabel:"Close"},failedToJoinCallGeneric:{title:"Failed to join call.",closeButtonAriaLabel:"Close"},failedToJoinCallInvalidMeetingLink:{title:"Unable to join Meeting. Invalid Link.",closeButtonAriaLabel:"Close"},cameraFrozenForRemoteParticipants:{title:"Users in the call are having issues seeing your video",message:"Please check your devices and network.",closeButtonAriaLabel:"Close"},unableToStartVideoEffect:{title:"Unable to apply video effect.",closeButtonAriaLabel:"Close"},startSpotlightWhileMaxParticipantsAreSpotlighted:{title:"Cannot start spotlight on participant(s)",message:"The maximum number of participants are already spotlighted.",closeButtonAriaLabel:"Close"}};var videoGallery$k={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoMovementAriaLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed participant",fitRemoteParticipantToFrame:"Fit to frame",fillRemoteParticipantFrame:"Fill frame",pinParticipantForMe:"Pin for me",pinParticipantForMeLimitReached:"Pin (limit reached)",unpinParticipantForMe:"Unpin",pinParticipantMenuItemAriaLabel:"Pin {participantName}",unpinParticipantMenuItemAriaLabel:"Unpin {participantName}",pinnedParticipantAnnouncementAriaLabel:"Pinned {participantName}",unpinnedParticipantAnnouncementAriaLabel:"Unpinned {participantName}",startSpotlightVideoTileMenuLabel:"Spotlight for everyone",addSpotlightVideoTileMenuLabel:"Add spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopSpotlightVideoTileMenuLabel:"Stop spotlighting",stopSpotlightOnSelfVideoTileMenuLabel:"Exit spotlight",attendeeRole:"Attendee"};var dialpad$k={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$k={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$k={participantStateRinging:"Calling...",participantStateHold:"On hold",moreOptionsButtonAriaLabel:"More Options"};var CameraAndMicrophoneSitePermissionsRequest$k={primaryText:"Allow {appName} to use your camera and microphone",secondaryText:"This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Allow camera and microphone access"};var CameraSitePermissionsRequest$k={primaryText:"Allow {appName} to use your camera",secondaryText:"This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Allow camera access"};var MicrophoneSitePermissionsRequest$k={primaryText:"Allow {appName} to use your microphone",secondaryText:"This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Allow microphone access"};var CameraAndMicrophoneSitePermissionsCheck$k={primaryText:"Checking for camera and microphone access",secondaryText:"Allow access if prompted. This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Checking for camera and microphone access. Allow access if prompted."};var CameraSitePermissionsCheck$k={primaryText:"Checking for camera access",secondaryText:"Allow access if prompted. This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Checking for camera access. Allow access if prompted."};var MicrophoneSitePermissionsCheck$k={primaryText:"Checking for microphone access",secondaryText:"Allow access if prompted. This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Checking for microphone access. Allow access if prompted."};var CameraAndMicrophoneSitePermissionsDenied$k={primaryText:"Unable to access camera and microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraAndMicrophoneSitePermissionsDeniedSafari$k={primaryText:"Unable to access camera and microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDenied$k={primaryText:"Unable to access camera",secondaryText:"Click the lock icon in the address bar to grant camera permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDenied$k={primaryText:"Unable to access microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDeniedSafari$k={primaryText:"Unable to access camera",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDeniedSafari$k={primaryText:"Unable to access microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var UnsupportedBrowser$l={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$l={primaryText:"Browser update needed",secondaryText:"To ensure the best call possible, please update your browser and then try joining the call again.",moreHelpLinkText:"See compatibility requirements",continueAnywayButtonText:"Start call without updating"};var UnsupportedOperatingSystem$l={primaryText:"Operating system not supported",secondaryText:"Please join this call using a device with a compatible operating system.",moreHelpLinkText:"See compatibility requirements"};var BrowserPermissionDenied$k={primaryText:"Can't use your camera or microphone",secondaryText:"Your browser might not have access to your camera or microphone. To fix this, open System Preferences.",primaryButtonText:"Try again",linkText:"Need help? Get troubleshooting help"};var BrowserPermissionDeniedIOS$k={primaryText:"Allow microphone access to continue",secondaryText:"So other participants can hear you.",primaryButtonText:"Try again",imageAltText:"Microphone and camera device permission location for iOS",linkText:"Need help? Get troubleshooting help",step1Text:"Go to the Settings app",step2Text:"Scroll down to settings for this browser",step3Text:"Turn on Microphone (Camera optional)",step4Text:"Try joining the call again",step1DigitText:"1",step2DigitText:"2",step3DigitText:"3",step4DigitText:"4"};var verticalGallery$k={leftNavButtonAriaLabel:"previous page",rightNavButtonAriaLabel:"next page"};var en_US$1 = {participantItem:participantItem$k,ParticipantList:ParticipantList$l,typingIndicator:typingIndicator$k,sendBox:sendBox$k,richTextSendBox:richTextSendBox$k,mentionPopover:mentionPopover$k,imageOverlay:imageOverlay$k,messageStatusIndicator:messageStatusIndicator$k,endCallButton:endCallButton$k,cameraButton:cameraButton$k,microphoneButton:microphoneButton$k,devicesButton:devicesButton$k,participantsButton:participantsButton$k,screenShareButton:screenShareButton$k,raiseHandButton:raiseHandButton$k,reactionButton:reactionButton$k,messageThread:messageThread$k,errorBar:errorBar$k,notifications:notifications,videoGallery:videoGallery$k,dialpad:dialpad$k,holdButton:holdButton$k,videoTile:videoTile$k,CameraAndMicrophoneSitePermissionsRequest:CameraAndMicrophoneSitePermissionsRequest$k,CameraSitePermissionsRequest:CameraSitePermissionsRequest$k,MicrophoneSitePermissionsRequest:MicrophoneSitePermissionsRequest$k,CameraAndMicrophoneSitePermissionsCheck:CameraAndMicrophoneSitePermissionsCheck$k,CameraSitePermissionsCheck:CameraSitePermissionsCheck$k,MicrophoneSitePermissionsCheck:MicrophoneSitePermissionsCheck$k,CameraAndMicrophoneSitePermissionsDenied:CameraAndMicrophoneSitePermissionsDenied$k,CameraAndMicrophoneSitePermissionsDeniedSafari:CameraAndMicrophoneSitePermissionsDeniedSafari$k,CameraSitePermissionsDenied:CameraSitePermissionsDenied$k,MicrophoneSitePermissionsDenied:MicrophoneSitePermissionsDenied$k,CameraSitePermissionsDeniedSafari:CameraSitePermissionsDeniedSafari$k,MicrophoneSitePermissionsDeniedSafari:MicrophoneSitePermissionsDeniedSafari$k,UnsupportedBrowser:UnsupportedBrowser$l,UnsupportedBrowserVersion:UnsupportedBrowserVersion$l,UnsupportedOperatingSystem:UnsupportedOperatingSystem$l,BrowserPermissionDenied:BrowserPermissionDenied$k,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$k,verticalGallery:verticalGallery$k};
|
5779
|
+
var participantItem$k={isMeText:"(you)",menuTitle:"More Options",removeButtonLabel:"Remove",sharingIconLabel:"Sharing",mutedIconLabel:"Muted",displayNamePlaceholder:"Unnamed participant",participantStateRinging:"Calling...",participantStateHold:"On hold",attendeeRole:"Attendee"};var ParticipantList$l={overflowParticipantCount:"+{overflowCount} more"};var typingIndicator$k={singleUser:"{user} is typing ...",multipleUsers:"{users} are typing ...",multipleUsersAbbreviateOne:"{users} and 1 other are typing ...",multipleUsersAbbreviateMany:"{users} and {numOthers} others are typing ...",delimiter:", "};var sendBox$k={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"Uploading... Please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",attachmentMoreMenu:"More Options"};var richTextSendBox$k={placeholderText:"Enter a message",textTooLong:"Your message length is over the maximum limit.",sendButtonAriaLabel:"Send message",attachmentUploadsPendingError:"Uploading... Please wait.",removeAttachment:"Remove file",uploading:"Uploading",uploadCompleted:"Upload completed",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options",attachmentMoreMenu:"More Options"};var mentionPopover$k={mentionPopoverHeader:"Suggestions"};var imageOverlay$k={downloadButtonLabel:"Download",dismissButtonAriaLabel:"Close"};var messageStatusIndicator$k={deliveredAriaLabel:"Message sent",deliveredTooltipText:"Sent",seenAriaLabel:"Message seen by others",seenTooltipText:"Seen",readByTooltipText:"Read by {messageThreadReadCount} of {remoteParticipantsCount}",sendingAriaLabel:"Message sending",sendingTooltipText:"Sending",failedToSendAriaLabel:"Message failed to send",failedToSendTooltipText:"Failed to send"};var endCallButton$k={label:"Leave",tooltipContent:"Leave call",leaveOption:"Leave",endCallOption:"End call for everyone"};var cameraButton$k={onLabel:"Camera",offLabel:"Camera",tooltipDisabledContent:"Camera is disabled",tooltipOnContent:"Turn off camera",tooltipOffContent:"Turn on camera",tooltipVideoLoadingContent:"Video is loading",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",cameraButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Turn off camera and camera options",offSplitButtonAriaLabel:"Turn on camera and camera options",cameraActionTurnedOnAnnouncement:"Your camera has been turned on",cameraActionTurnedOffAnnouncement:"Your camera has been turned off",onSplitButtonPrimaryActionCamera:"Turn off camera",offSplitButtonPrimaryActionCamera:"Turn on camera",cameraPrimaryActionSplitButtonTitle:"Use camera",videoEffectsMenuItemTitle:"Effects"};var microphoneButton$k={onLabel:"Mic",offLabel:"Mic",tooltipDisabledContent:"Microphone is disabled",tooltipOnContent:"Mute microphone",tooltipOffContent:"Unmute microphone",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker",microphoneButtonSplitRoleDescription:"Split button",onSplitButtonAriaLabel:"Mute microphone and audio options",offSplitButtonAriaLabel:"Unmute microphone and audio options",microphoneActionTurnedOnAnnouncement:"Your microphone has been turned on",microphoneActionTurnedOffAnnouncement:"Your microphone has been turned off",offSplitButtonMicrophonePrimaryAction:"Unmute microphone",onSplitButtonMicrophonePrimaryAction:"Mute microphone",microphonePrimaryActionSplitButtonTitle:"Use microphone"};var devicesButton$k={label:"Devices",tooltipContent:"Manage devices",cameraMenuTitle:"Camera",cameraMenuTooltip:"Choose camera",audioDeviceMenuTitle:"Audio Device",audioDeviceMenuTooltip:"Choose audio device",microphoneMenuTitle:"Microphone",microphoneMenuTooltip:"Choose microphone",speakerMenuTitle:"Speaker",speakerMenuTooltip:"Choose speaker"};var participantsButton$k={label:"People",tooltipContent:"Show participants",menuHeader:"In this call",participantsListButtonLabel:"{numParticipants} people",muteAllButtonLabel:"Mute all",copyInviteLinkButtonLabel:"Copy invite link",copyInviteLinkActionedAriaLabel:"Invite link copied"};var screenShareButton$k={onLabel:"Stop presenting",offLabel:"Present",tooltipDisabledContent:"Presenting is disabled",tooltipOnContent:"Presenting your screen",tooltipOffContent:"Present your screen"};var raiseHandButton$k={offLabel:"Raise",onLabel:"Lower",tooltipDisabledContent:"Raise Hand action is disabled",tooltipOnContent:"Lower Hand",tooltipOffContent:"Raise Hand"};var reactionButton$k={label:"React",ariaLabel:"React Button, Send a reaction",tooltipDisabledContent:"Reaction action is disabled",tooltipContent:"Send a reaction",likeReactionTooltipContent:"Like",heartReactionTooltipContent:"Love",laughReactionTooltipContent:"Laugh",applauseReactionTooltipContent:"Applause",surprisedReactionTooltipContent:"Surprised"};var messageThread$k={yesterday:"Yesterday",sunday:"Sunday",monday:"Monday",tuesday:"Tuesday",wednesday:"Wednesday",thursday:"Thursday",friday:"Friday",saturday:"Saturday",participantJoined:"joined the chat.",participantLeft:"left the chat.",editMessage:"Edit",removeMessage:"Delete",resendMessage:"Try sending again",failToSendTag:"Failed to send",editedTag:"Edited",liveAuthorIntro:"{author} says",messageContentAriaText:"{author} said {message}",messageContentMineAriaText:"You said {message}",editBoxTextLimit:"Your message is over the limit of {limitNumber} characters",editBoxPlaceholderText:"Edit your message",newMessagesIndicator:"New messages",noDisplayNameSub:"No name",editBoxCancelButton:"Cancel",editBoxSubmitButton:"Done",messageReadCount:"Read by {messageReadByCount} of {remoteParticipantsCount}",actionMenuMoreOptions:"More Options",downloadAttachment:"Download file",openAttachment:"Open file",blockedWarningText:"This message was deleted due to organizational policy.",blockedWarningLinkText:"Details",attachmentCardGroupMessage:"The message has {attachmentCount} attachment",messageDeletedAnnouncementAriaLabel:"The message is deleted",richTextBoldTooltip:"Bold",richTextItalicTooltip:"Italic",richTextUnderlineTooltip:"Underline",richTextBulletListTooltip:"Bulleted list",richTextNumberListTooltip:"Numbered list",richTextIncreaseIndentTooltip:"Increase indent",richTextDecreaseIndentTooltip:"Decrease indent",richTextInsertTableTooltip:"Insert table",richTextFormatButtonTooltip:"Format",richTextInsertRowOrColumnMenu:"Insert",richTextInsertTableMenuTitle:"Insert {column} x {row} table",richTextInsertRowAboveMenu:"Insert above",richTextInsertRowBelowMenu:"Insert below",richTextInsertColumnLeftMenu:"Insert left",richTextInsertColumnRightMenu:"Insert right",richTextDeleteRowOrColumnMenu:"Delete",richTextDeleteColumnMenu:"Delete column",richTextDeleteRowMenu:"Delete row",richTextDeleteTableMenu:"Delete table",richTextToolbarMoreButtonAriaLabel:"More options"};var errorBar$k={unableToReachChatService:"You are offline",accessDenied:"Unable to access chat services - please check the user credentials provided",userNotInChatThread:"You are no longer in this chat thread",sendMessageNotInChatThread:"Failed to send message because you are no longer in this chat thread",sendMessageGeneric:"Failed to send message",callingNetworkFailure:"Troubling connecting call - you seem to be offline",startVideoGeneric:"Failed to start video",stopVideoGeneric:"Failed to stop video",muteGeneric:"Failed to mute microphone",unmuteGeneric:"Failed to unmute microphone",speakingWhileMuted:"Your microphone is muted",startScreenShareGeneric:"There was an issue starting screen share.",stopScreenShareGeneric:"Failed to stop screen sharing",callNetworkQualityLow:"Network quality is low.",callNoSpeakerFound:"No speakers or headphones found. Connect an audio device to hear the call.",callNoMicrophoneFound:"No microphones found. Connect an audio input device.",callMicrophoneAccessDenied:"Unable to access microphone. Click the lock in the address bar to grant permission to this webpage.",callMicrophoneAccessDeniedSafari:"Unable to access microphone. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callMicrophoneMutedBySystem:"You are muted by your system.",callMicrophoneUnmutedBySystem:"Your microphone recovered and you were unmuted by your system.",callMacOsMicrophoneAccessDenied:"Unable to access microphone. Grant microphone permission in your macOS privacy settings.",callLocalVideoFreeze:"Network bandwidth is poor. Your video may appear paused for others on the call.",callCameraAccessDenied:"Unable to access camera. Click the lock in the address bar to grant permission to this webpage.",callCameraAccessDeniedSafari:"Unable to access camera. Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",callCameraAlreadyInUse:"Unable to access camera. It may already be in use by another application.",callVideoStoppedBySystem:"Your video has been stopped by your system.",callVideoRecoveredBySystem:"Your video has resumed.",callMacOsCameraAccessDenied:"MacOS is blocking access to your camera. Update your privacy settings to allow this browser to access your camera.",callMacOsScreenShareAccessDenied:"MacOS is blocking screen sharing. Update your privacy settings to allow this browser to record your screen.",dismissButtonAriaLabel:"Close",failedToJoinCallGeneric:"Failed to join call.",failedToJoinCallInvalidMeetingLink:"Unable to join Meeting. Invalid Link.",cameraFrozenForRemoteParticipants:"Users in the call are having issues seeing your video. Please check your devices and network.",unableToStartVideoEffect:"Unable to apply video effect.",startSpotlightWhileMaxParticipantsAreSpotlighted:"Cannot start spotlight on participant(s) because the maximum number of participants are already spotlighted."};var notifications={unableToReachChatService:{title:"You are offline.",closeButtonAriaLabel:"Close"},accessDenied:{title:"Unable to access chat services",message:"Please check the user credentials provided",closeButtonAriaLabel:"Close"},userNotInChatThread:{title:"You are no longer in this chat thread.",closeButtonAriaLabel:"Close"},sendMessageNotInChatThread:{title:"Failed to send message",message:"You are no longer in this chat thread",closeButtonAriaLabel:"Close"},sendMessageGeneric:{title:"Failed to send message.",closeButtonAriaLabel:"Close"},callingNetworkFailure:{title:"Troubling connecting call",message:"You seem to be offline. Please check your network connection and try again.",closeButtonAriaLabel:"Close"},startVideoGeneric:{title:"Failed to start video.",closeButtonAriaLabel:"Close"},stopVideoGeneric:{title:"Failed to stop video.",closeButtonAriaLabel:"Close"},muteGeneric:{title:"Failed to mute microphone.",closeButtonAriaLabel:"Close"},unmuteGeneric:{title:"Failed to unmute microphone.",closeButtonAriaLabel:"Close"},speakingWhileMuted:{title:"You're muted.",closeButtonAriaLabel:"Close"},startScreenShareGeneric:{title:"There was an issue starting screen share.",closeButtonAriaLabel:"Close"},stopScreenShareGeneric:{title:"Failed to stop screen sharing.",closeButtonAriaLabel:"Close"},callNetworkQualityLow:{title:"Network quality is low.",closeButtonAriaLabel:"Close"},callNoSpeakerFound:{title:"No speakers or headphones found",message:"Connect an audio device to hear the call.",closeButtonAriaLabel:"Close"},callNoMicrophoneFound:{title:"No microphones found",message:"Connect an audio input device.",closeButtonAriaLabel:"Close"},callMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Click the lock in the address bar to grant permission to this webpage.",closeButtonAriaLabel:"Close"},callMicrophoneAccessDeniedSafari:{title:"Unable to access microphone",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",closeButtonAriaLabel:"Close"},callMicrophoneMutedBySystem:{title:"You are muted by your system.",closeButtonAriaLabel:"Close"},callMicrophoneUnmutedBySystem:{title:"Your microphone recovered and you were unmuted by your system.",closeButtonAriaLabel:"Close"},callMacOsMicrophoneAccessDenied:{title:"Unable to access microphone",message:"Grant microphone permission in your macOS privacy settings.",closeButtonAriaLabel:"Close"},callLocalVideoFreeze:{title:"Network bandwidth is poor",message:"Your video may appear paused for others on the call.",closeButtonAriaLabel:"Close"},callCameraAccessDenied:{title:"Unable to access camera",message:"Click the lock in the address bar to grant permission to this webpage.",closeButtonAriaLabel:"Close"},callCameraAccessDeniedSafari:{title:"Unable to access camera",message:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",closeButtonAriaLabel:"Close"},callCameraAlreadyInUse:{title:"Unable to access camera",message:"It may already be in use by another application.",closeButtonAriaLabel:"Close"},callVideoStoppedBySystem:{title:"Your video has been stopped by your system.",closeButtonAriaLabel:"Close"},callVideoRecoveredBySystem:{title:"Your video has resumed.",closeButtonAriaLabel:"Close"},callMacOsCameraAccessDenied:{title:"MacOS is blocking access to your camera",message:"Update your privacy settings to allow this browser to access your camera.",closeButtonAriaLabel:"Close"},callMacOsScreenShareAccessDenied:{title:"MacOS is blocking screen sharing",message:"Update your privacy settings to allow this browser to record your screen.",closeButtonAriaLabel:"Close"},failedToJoinCallGeneric:{title:"Failed to join call.",closeButtonAriaLabel:"Close"},failedToJoinCallInvalidMeetingLink:{title:"Unable to join Meeting. Invalid Link.",closeButtonAriaLabel:"Close"},cameraFrozenForRemoteParticipants:{title:"Users in the call are having issues seeing your video",message:"Please check your devices and network.",closeButtonAriaLabel:"Close"},unableToStartVideoEffect:{title:"Unable to apply video effect.",closeButtonAriaLabel:"Close"},startSpotlightWhileMaxParticipantsAreSpotlighted:{title:"Cannot start spotlight on participant(s)",message:"The maximum number of participants are already spotlighted.",closeButtonAriaLabel:"Close"}};var videoGallery$k={screenIsBeingSharedMessage:"You are sharing your screen",screenShareLoadingMessage:"Loading {participant}'s screen",localVideoLabel:"You",localVideoCameraSwitcherLabel:"Switch camera",localVideoMovementLabel:"Movable Local Video Tile",localVideoMovementAriaLabel:"Movable Local Video Tile",localVideoSelectedDescription:"{cameraName} selected",displayNamePlaceholder:"Unnamed participant",fitRemoteParticipantToFrame:"Fit to frame",fillRemoteParticipantFrame:"Fill frame",pinParticipantForMe:"Pin for me",pinParticipantForMeLimitReached:"Pin (limit reached)",unpinParticipantForMe:"Unpin",pinParticipantMenuItemAriaLabel:"Pin {participantName}",unpinParticipantMenuItemAriaLabel:"Unpin {participantName}",pinnedParticipantAnnouncementAriaLabel:"Pinned {participantName}",unpinnedParticipantAnnouncementAriaLabel:"Unpinned {participantName}",startSpotlightVideoTileMenuLabel:"Spotlight for everyone",addSpotlightVideoTileMenuLabel:"Add spotlight",spotlightLimitReachedMenuTitle:"Spotlight limit reached",stopSpotlightVideoTileMenuLabel:"Stop spotlighting",stopSpotlightOnSelfVideoTileMenuLabel:"Exit spotlight",attendeeRole:"Attendee"};var dialpad$k={placeholderText:"Enter phone number",deleteButtonAriaLabel:"Delete"};var holdButton$k={onLabel:"Resume",offLabel:"Hold",tooltipOnContent:"Resume call",tooltipOffContent:"Hold call"};var videoTile$k={participantStateRinging:"Calling...",participantStateHold:"On hold",moreOptionsButtonAriaLabel:"More Options"};var CameraAndMicrophoneSitePermissionsRequest$k={primaryText:"Allow {appName} to use your camera and microphone",secondaryText:"This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Allow camera and microphone access"};var CameraSitePermissionsRequest$k={primaryText:"Allow {appName} to use your camera",secondaryText:"This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Allow camera access"};var MicrophoneSitePermissionsRequest$k={primaryText:"Allow {appName} to use your microphone",secondaryText:"This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Allow microphone access"};var CameraAndMicrophoneSitePermissionsCheck$k={primaryText:"Checking for camera and microphone access",secondaryText:"Allow access if prompted. This is so participants can see and hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera and microphone",ariaLabel:"Checking for camera and microphone access. Allow access if prompted."};var CameraSitePermissionsCheck$k={primaryText:"Checking for camera access",secondaryText:"Allow access if prompted. This is so participants can see you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without camera",ariaLabel:"Checking for camera access. Allow access if prompted."};var MicrophoneSitePermissionsCheck$k={primaryText:"Checking for microphone access",secondaryText:"Allow access if prompted. This is so participants can hear you.",linkText:"Need help? Get troubleshooting help",primaryButtonText:"Continue without microphone",ariaLabel:"Checking for microphone access. Allow access if prompted."};var CameraAndMicrophoneSitePermissionsDenied$k={primaryText:"Unable to access camera and microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraAndMicrophoneSitePermissionsDeniedSafari$k={primaryText:"Unable to access camera and microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera and microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDenied$k={primaryText:"Unable to access camera",secondaryText:"Click the lock icon in the address bar to grant camera permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDenied$k={primaryText:"Unable to access microphone",secondaryText:"Click the lock icon in the address bar to grant microphone permissions to this webpage. A page refresh may be required.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var CameraSitePermissionsDeniedSafari$k={primaryText:"Unable to access camera",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without camera",linkText:"Need help? Get troubleshooting help"};var MicrophoneSitePermissionsDeniedSafari$k={primaryText:"Unable to access microphone",secondaryText:"Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",primaryButtonText:"Continue without microphone",linkText:"Need help? Get troubleshooting help"};var UnsupportedBrowser$l={primaryText:"Browser not supported",secondaryText:"Please join this call using a compatible browser.",moreHelpLinkText:"See compatibility requirements"};var UnsupportedBrowserVersion$l={primaryText:"Browser update needed",secondaryText:"To ensure the best call possible, please update your browser and then try joining the call again.",moreHelpLinkText:"See compatibility requirements",continueAnywayButtonText:"Start call without updating"};var UnsupportedOperatingSystem$l={primaryText:"Operating system not supported",secondaryText:"Please join this call using a device with a compatible operating system.",moreHelpLinkText:"See compatibility requirements"};var BrowserPermissionDenied$k={primaryText:"Can't use your camera or microphone",secondaryText:"Your browser might not have access to your camera or microphone. To fix this, open System Preferences.",primaryButtonText:"Try again",linkText:"Need help? Get troubleshooting help"};var BrowserPermissionDeniedIOS$k={primaryText:"Allow microphone access to continue",secondaryText:"So other participants can hear you.",primaryButtonText:"Try again",imageAltText:"Microphone and camera device permission location for iOS",linkText:"Need help? Get troubleshooting help",step1Text:"Go to the Settings app",step2Text:"Scroll down to settings for this browser",step3Text:"Turn on Microphone (Camera optional)",step4Text:"Try joining the call again",step1DigitText:"1",step2DigitText:"2",step3DigitText:"3",step4DigitText:"4"};var verticalGallery$k={leftNavButtonAriaLabel:"previous page",rightNavButtonAriaLabel:"next page"};var MeetingConferencePhoneInfo={meetingConferencePhoneInfoModalTitle:"Join call from your phone",meetingConferencePhoneInfoModalDialIn:"Dial number",meetingConferencePhoneInfoModalMeetingId:"Enter meeting ID",meetingConferencePhoneInfoModalWait:"Wait to be admitted by organizer",meetingConferencePhoneInfoModalNoPhoneAvailable:"No phone available",meetingConferencePhoneInfoModalTollFree:"{phoneNumber} (Toll-free) {country}, {city}",meetingConferencePhoneInfoModalTollFreeWithoutGeoData:"{phoneNumber} (Toll-free)",meetingConferencePhoneInfoModalToll:"{phoneNumber} (Toll) {country}, {city}",meetingConferencePhoneInfoModalTollWithoutGeoData:"{phoneNumber} (Toll)"};var en_US$1 = {participantItem:participantItem$k,ParticipantList:ParticipantList$l,typingIndicator:typingIndicator$k,sendBox:sendBox$k,richTextSendBox:richTextSendBox$k,mentionPopover:mentionPopover$k,imageOverlay:imageOverlay$k,messageStatusIndicator:messageStatusIndicator$k,endCallButton:endCallButton$k,cameraButton:cameraButton$k,microphoneButton:microphoneButton$k,devicesButton:devicesButton$k,participantsButton:participantsButton$k,screenShareButton:screenShareButton$k,raiseHandButton:raiseHandButton$k,reactionButton:reactionButton$k,messageThread:messageThread$k,errorBar:errorBar$k,notifications:notifications,videoGallery:videoGallery$k,dialpad:dialpad$k,holdButton:holdButton$k,videoTile:videoTile$k,CameraAndMicrophoneSitePermissionsRequest:CameraAndMicrophoneSitePermissionsRequest$k,CameraSitePermissionsRequest:CameraSitePermissionsRequest$k,MicrophoneSitePermissionsRequest:MicrophoneSitePermissionsRequest$k,CameraAndMicrophoneSitePermissionsCheck:CameraAndMicrophoneSitePermissionsCheck$k,CameraSitePermissionsCheck:CameraSitePermissionsCheck$k,MicrophoneSitePermissionsCheck:MicrophoneSitePermissionsCheck$k,CameraAndMicrophoneSitePermissionsDenied:CameraAndMicrophoneSitePermissionsDenied$k,CameraAndMicrophoneSitePermissionsDeniedSafari:CameraAndMicrophoneSitePermissionsDeniedSafari$k,CameraSitePermissionsDenied:CameraSitePermissionsDenied$k,MicrophoneSitePermissionsDenied:MicrophoneSitePermissionsDenied$k,CameraSitePermissionsDeniedSafari:CameraSitePermissionsDeniedSafari$k,MicrophoneSitePermissionsDeniedSafari:MicrophoneSitePermissionsDeniedSafari$k,UnsupportedBrowser:UnsupportedBrowser$l,UnsupportedBrowserVersion:UnsupportedBrowserVersion$l,UnsupportedOperatingSystem:UnsupportedOperatingSystem$l,BrowserPermissionDenied:BrowserPermissionDenied$k,BrowserPermissionDeniedIOS:BrowserPermissionDeniedIOS$k,verticalGallery:verticalGallery$k,MeetingConferencePhoneInfo:MeetingConferencePhoneInfo};
|
5746
5780
|
|
5747
5781
|
// Copyright (c) Microsoft Corporation.
|
5748
5782
|
// Licensed under the MIT License.
|
@@ -9554,7 +9588,7 @@ const mapBorderRadiusTokens = (effects) => {
|
|
9554
9588
|
*/
|
9555
9589
|
const createV9Theme = (themeV8, baseThemeV9) => {
|
9556
9590
|
const baseTheme = baseThemeV9 !== null && baseThemeV9 !== void 0 ? baseThemeV9 : reactComponents.webLightTheme;
|
9557
|
-
return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, baseTheme), mapAliasColors(themeV8.palette, themeV8.isInverted)), mapShadowTokens(themeV8.effects)), mapBorderRadiusTokens(themeV8.effects)), { colorBrandBackground2: themeV8.palette.themeLight, colorBrandBackground2Hover: themeV8.palette.themeLight, colorBrandBackground2Pressed: themeV8.palette.themeLight, colorStatusWarningBackground3: '#D83B01', errorText: themeV8.semanticColors.errorText, colorNeutralStroke1Selected: themeV8.palette.neutralQuaternary, colorNeutralForeground2: themeV8.palette.neutralSecondary,
|
9591
|
+
return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, baseTheme), mapAliasColors(themeV8.palette, themeV8.isInverted)), mapShadowTokens(themeV8.effects)), mapBorderRadiusTokens(themeV8.effects)), { colorBrandBackground2: themeV8.palette.themeLight, colorBrandBackground2Hover: themeV8.palette.themeLight, colorBrandBackground2Pressed: themeV8.palette.themeLight, colorStatusWarningBackground3: '#D83B01', errorText: themeV8.semanticColors.errorText, colorNeutralStroke1Selected: themeV8.palette.neutralQuaternary, colorNeutralForeground2: themeV8.palette.neutralSecondary, colorBrandForegroundLinkHover: themeV8.palette.themeDarker, colorNeutralBackground1Selected: themeV8.palette.neutralQuaternaryAlt, colorNeutralStroke2: themeV8.palette.neutralTertiaryAlt,
|
9558
9592
|
// Fix for an issue with black borders for iOS that are added with 'after' selector
|
9559
9593
|
colorStrokeFocus2: 'transparent' });
|
9560
9594
|
};
|
@@ -10348,30 +10382,20 @@ class CopyPastePlugin {
|
|
10348
10382
|
}
|
10349
10383
|
dispose() { }
|
10350
10384
|
onPluginEvent(event) {
|
10351
|
-
|
10385
|
+
handleBeforePasteEvent(event, /* @conditional-compile-remove(rich-text-editor-image-upload) */ this.onPaste);
|
10352
10386
|
if (this.editor !== null && !this.editor.isDisposed()) {
|
10353
10387
|
// scroll the editor to the correct position after pasting content
|
10354
10388
|
scrollToBottomAfterContentPaste(event, this.editor);
|
10355
10389
|
}
|
10356
10390
|
}
|
10357
10391
|
}
|
10358
|
-
|
10359
|
-
|
10360
|
-
* Exported only for unit testing
|
10361
|
-
*/
|
10362
|
-
const removeImageElement = (event) => {
|
10363
|
-
// We don't support the pasting options such as paste as image yet.
|
10392
|
+
const handleBeforePasteEvent = (event,
|
10393
|
+
/* @conditional-compile-remove(rich-text-editor-image-upload) */ onPaste) => {
|
10364
10394
|
if (event.eventType === PluginEventType.BeforePaste && event.pasteType === 'normal') {
|
10365
|
-
|
10366
|
-
|
10367
|
-
|
10368
|
-
|
10369
|
-
while ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.childNodes.length) === 1) {
|
10370
|
-
currentNode = parentNode;
|
10371
|
-
parentNode = parentNode.parentElement;
|
10372
|
-
}
|
10373
|
-
currentNode === null || currentNode === void 0 ? void 0 : currentNode.remove();
|
10374
|
-
});
|
10395
|
+
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
10396
|
+
onPaste === null || onPaste === void 0 ? void 0 : onPaste({ content: event.fragment });
|
10397
|
+
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
10398
|
+
return;
|
10375
10399
|
}
|
10376
10400
|
};
|
10377
10401
|
/**
|
@@ -11120,7 +11144,9 @@ class PlaceholderPlugin extends roosterjsContentModelPlugins.WatermarkPlugin {
|
|
11120
11144
|
* @beta
|
11121
11145
|
*/
|
11122
11146
|
const RichTextEditor = React.forwardRef((props, ref) => {
|
11123
|
-
const { initialContent, onChange, placeholderText, strings, showRichTextEditorFormatting, autoFocus, onKeyDown, onContentModelUpdate, contentModel
|
11147
|
+
const { initialContent, onChange, placeholderText, strings, showRichTextEditorFormatting, autoFocus, onKeyDown, onContentModelUpdate, contentModel,
|
11148
|
+
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
11149
|
+
onPaste } = props;
|
11124
11150
|
const editor = React.useRef(null);
|
11125
11151
|
const editorDiv = React.useRef(null);
|
11126
11152
|
const theme = useTheme();
|
@@ -11233,11 +11259,17 @@ const RichTextEditor = React.forwardRef((props, ref) => {
|
|
11233
11259
|
}
|
11234
11260
|
return lightColor;
|
11235
11261
|
}, [theme.palette.neutralLight]);
|
11262
|
+
const copyPastePlugin = React.useMemo(() => {
|
11263
|
+
return new CopyPastePlugin();
|
11264
|
+
}, []);
|
11265
|
+
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
11266
|
+
React.useEffect(() => {
|
11267
|
+
copyPastePlugin.onPaste = onPaste;
|
11268
|
+
}, [copyPastePlugin, onPaste]);
|
11236
11269
|
const plugins = React.useMemo(() => {
|
11237
11270
|
const contentEdit = new roosterjsContentModelPlugins.EditPlugin();
|
11238
11271
|
// AutoFormatPlugin previously was a part of the edit plugin
|
11239
11272
|
const autoFormatPlugin = new roosterjsContentModelPlugins.AutoFormatPlugin({ autoBullet: true, autoNumbering: true, autoLink: true });
|
11240
|
-
const copyPastePlugin = new CopyPastePlugin();
|
11241
11273
|
const roosterPastePlugin = new roosterjsContentModelPlugins.PastePlugin(false);
|
11242
11274
|
const shortcutPlugin = new roosterjsContentModelPlugins.ShortcutPlugin();
|
11243
11275
|
const contextMenuPlugin = new ContextMenuPlugin(onContextMenuRender, onContextMenuDismiss);
|
@@ -11261,6 +11293,7 @@ const RichTextEditor = React.forwardRef((props, ref) => {
|
|
11261
11293
|
placeholderPlugin,
|
11262
11294
|
keyboardInputPlugin,
|
11263
11295
|
updatePlugin,
|
11296
|
+
copyPastePlugin,
|
11264
11297
|
toolbarPlugin,
|
11265
11298
|
tableContextMenuPlugin
|
11266
11299
|
]);
|
@@ -11443,7 +11476,9 @@ const RichTextInputBoxComponent = (props) => {
|
|
11443
11476
|
React.createElement(react.Stack, { grow: true, horizontal: useHorizontalLayout, horizontalAlign: useHorizontalLayout ? 'end' : 'space-between', className: inputBoxContentStackStyle, wrap: useHorizontalLayout },
|
11444
11477
|
React.createElement(react.Stack, { grow: true, className: inputBoxRichTextStackStyle },
|
11445
11478
|
React.createElement(react.Stack.Item, { className: inputBoxRichTextStackItemStyle },
|
11446
|
-
React.createElement(RichTextEditor, { contentModel: contentModel, initialContent: initialContent, placeholderText: placeholderText, onChange: onChange, onKeyDown: onKeyDown, ref: editorComponentRef, strings: strings, showRichTextEditorFormatting: showRichTextEditorFormatting === true, styles: richTextEditorStyle, autoFocus: autoFocus, onContentModelUpdate: onContentModelUpdate
|
11479
|
+
React.createElement(RichTextEditor, { contentModel: contentModel, initialContent: initialContent, placeholderText: placeholderText, onChange: onChange, onKeyDown: onKeyDown, ref: editorComponentRef, strings: strings, showRichTextEditorFormatting: showRichTextEditorFormatting === true, styles: richTextEditorStyle, autoFocus: autoFocus, onContentModelUpdate: onContentModelUpdate,
|
11480
|
+
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
11481
|
+
onPaste: props.onPaste })), /* @conditional-compile-remove(file-sharing-acs) */
|
11447
11482
|
onRenderAttachmentUploads && onRenderAttachmentUploads()),
|
11448
11483
|
actionButtons)));
|
11449
11484
|
};
|
@@ -11526,7 +11561,9 @@ const RichTextSendBox = (props) => {
|
|
11526
11561
|
/* @conditional-compile-remove(file-sharing-acs) */
|
11527
11562
|
attachments,
|
11528
11563
|
/* @conditional-compile-remove(file-sharing-acs) */
|
11529
|
-
onCancelAttachmentUpload
|
11564
|
+
onCancelAttachmentUpload,
|
11565
|
+
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
11566
|
+
onPaste } = props;
|
11530
11567
|
const theme = useTheme();
|
11531
11568
|
const locale = useLocale$1();
|
11532
11569
|
const localeStrings = React.useMemo(() => {
|
@@ -11707,7 +11744,9 @@ const RichTextSendBox = (props) => {
|
|
11707
11744
|
/* @conditional-compile-remove(file-sharing-acs) */
|
11708
11745
|
onRenderAttachmentUploads: onRenderAttachmentUploads,
|
11709
11746
|
/* @conditional-compile-remove(file-sharing-acs) */
|
11710
|
-
hasAttachments: hasAttachmentUploads
|
11747
|
+
hasAttachments: hasAttachmentUploads,
|
11748
|
+
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
11749
|
+
onPaste: onPaste })));
|
11711
11750
|
};
|
11712
11751
|
|
11713
11752
|
// Copyright (c) Microsoft Corporation.
|
@@ -12086,16 +12125,21 @@ const iconWrapperStyle = (theme, isSubMenuOpen) => ({
|
|
12086
12125
|
/**
|
12087
12126
|
* @private
|
12088
12127
|
*/
|
12089
|
-
const chatMessageDateStyle = react.mergeStyles({
|
12090
|
-
color:
|
12128
|
+
const chatMessageDateStyle = (theme) => react.mergeStyles({
|
12129
|
+
color: theme.palette.neutralSecondary,
|
12091
12130
|
fontWeight: react.FontWeights.regular,
|
12092
12131
|
fontSize: '0.75rem'
|
12093
12132
|
});
|
12094
12133
|
/**
|
12095
12134
|
* @private
|
12096
12135
|
*/
|
12097
|
-
const chatMessageAuthorStyle = react.mergeStyles({
|
12098
|
-
|
12136
|
+
const chatMessageAuthorStyle = react.mergeStyles({ fontWeight: react.FontWeights.semibold, fontSize: '0.75rem' });
|
12137
|
+
/**
|
12138
|
+
* @private
|
12139
|
+
*/
|
12140
|
+
const chatMessageDateFailedStyle = (theme) => react.mergeStyles({
|
12141
|
+
color: theme.palette.neutralPrimaryAlt,
|
12142
|
+
fontWeight: react.FontWeights.regular,
|
12099
12143
|
fontSize: '0.75rem'
|
12100
12144
|
});
|
12101
12145
|
/**
|
@@ -13486,7 +13530,7 @@ const MessageBubble$1 = (props) => {
|
|
13486
13530
|
// so when focus moves within actionMenu, the `focus` state in chatMessage remains true, and keeps actionMenu visible
|
13487
13531
|
setFocused(true);
|
13488
13532
|
}
|
13489
|
-
}, "data-ui-id": "chat-composite-message", author: React.createElement(react.Text, { className: chatMessageDateStyle }, message.senderDisplayName), timestamp: React.createElement(react.Text, { className: chatMessageDateStyle, "data-ui-id": ids.messageTimestamp }, formattedTimestamp), details: getMessageDetails(), actions: {
|
13533
|
+
}, "data-ui-id": "chat-composite-message", author: React.createElement(react.Text, { className: chatMessageDateStyle(theme) }, message.senderDisplayName), timestamp: React.createElement(react.Text, { className: props.message.status === 'failed' ? chatMessageDateFailedStyle(theme) : chatMessageDateStyle(theme), "data-ui-id": ids.messageTimestamp }, formattedTimestamp), details: getMessageDetails(), actions: {
|
13490
13534
|
children: actionMenuProps === null || actionMenuProps === void 0 ? void 0 : actionMenuProps.children,
|
13491
13535
|
className: reactComponents.mergeClasses(chatMyMessageStyles.menu,
|
13492
13536
|
// Make actions menu visible when the message is focused or the flyout is shown
|
@@ -13645,7 +13689,7 @@ class _ErrorBoundary extends React.Component {
|
|
13645
13689
|
// Copyright (c) Microsoft Corporation.
|
13646
13690
|
// Licensed under the MIT License.
|
13647
13691
|
/* @conditional-compile-remove(rich-text-editor) */
|
13648
|
-
const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-
|
13692
|
+
const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-B4BPzX3o.js'); }));
|
13649
13693
|
/**
|
13650
13694
|
* @private
|
13651
13695
|
* Use this function to load RoosterJS dependencies early in the lifecycle.
|
@@ -13653,21 +13697,23 @@ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve()
|
|
13653
13697
|
*
|
13654
13698
|
* @conditional-compile-remove(rich-text-editor)
|
13655
13699
|
*/
|
13656
|
-
const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-
|
13700
|
+
const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-B4BPzX3o.js'); });
|
13657
13701
|
/**
|
13658
13702
|
* @private
|
13659
13703
|
*/
|
13660
13704
|
const ChatMessageComponentAsEditBoxPicker = (props) => {
|
13661
13705
|
/* @conditional-compile-remove(rich-text-editor) */
|
13662
|
-
const {
|
13706
|
+
const { richTextEditorOptions } = props;
|
13663
13707
|
const simpleEditBox = React.useMemo(() => {
|
13664
13708
|
return React.createElement(ChatMessageComponentAsEditBox, Object.assign({}, props));
|
13665
13709
|
}, [props]);
|
13666
13710
|
/* @conditional-compile-remove(rich-text-editor) */
|
13667
|
-
if (
|
13711
|
+
if (richTextEditorOptions) {
|
13668
13712
|
return (React.createElement(_ErrorBoundary, { fallback: simpleEditBox },
|
13669
13713
|
React.createElement(React.Suspense, { fallback: simpleEditBox },
|
13670
|
-
React.createElement(ChatMessageComponentAsRichTextEditBox, Object.assign({}, props
|
13714
|
+
React.createElement(ChatMessageComponentAsRichTextEditBox, Object.assign({}, props, {
|
13715
|
+
/* @conditional-compile-remove(rich-text-editor-image-upload) */
|
13716
|
+
onPaste: richTextEditorOptions === null || richTextEditorOptions === void 0 ? void 0 : richTextEditorOptions.onPaste })))));
|
13671
13717
|
}
|
13672
13718
|
return simpleEditBox;
|
13673
13719
|
};
|
@@ -13742,7 +13788,7 @@ const ChatMyMessageComponent = (props) => {
|
|
13742
13788
|
/* @conditional-compile-remove(mention) */
|
13743
13789
|
mentionLookupOptions: (_a = props.mentionOptions) === null || _a === void 0 ? void 0 : _a.lookupOptions,
|
13744
13790
|
/* @conditional-compile-remove(rich-text-editor) */
|
13745
|
-
|
13791
|
+
richTextEditorOptions: props.richTextEditorOptions }));
|
13746
13792
|
}
|
13747
13793
|
else {
|
13748
13794
|
return (React.createElement(ChatMyMessageComponentAsMessageBubble, Object.assign({}, props, { onRemoveClick: onRemoveClick, onEditClick: onEditClick, onResendClick: onResendClick, onRenderAvatar: props.onRenderAvatar,
|
@@ -13774,7 +13820,7 @@ const FluentChatMyMessageComponent = (props) => {
|
|
13774
13820
|
/* @conditional-compile-remove(file-sharing-teams-interop) @conditional-compile-remove(file-sharing-acs) */
|
13775
13821
|
onRenderAttachmentDownloads,
|
13776
13822
|
/* @conditional-compile-remove(rich-text-editor) */
|
13777
|
-
|
13823
|
+
richTextEditorOptions } = props;
|
13778
13824
|
const chatMessageRenderStyles = useChatMessageRenderStyles();
|
13779
13825
|
/* @conditional-compile-remove(file-sharing-teams-interop) @conditional-compile-remove(file-sharing-acs) */
|
13780
13826
|
const onRenderAttachmentDownloadsMemo = React.useMemo(() => {
|
@@ -13800,7 +13846,7 @@ const FluentChatMyMessageComponent = (props) => {
|
|
13800
13846
|
/* @conditional-compile-remove(file-sharing-teams-interop) @conditional-compile-remove(file-sharing-acs) */
|
13801
13847
|
actionsForAttachment: actionsForAttachment,
|
13802
13848
|
/* @conditional-compile-remove(rich-text-editor) */
|
13803
|
-
|
13849
|
+
richTextEditorOptions: richTextEditorOptions })));
|
13804
13850
|
}
|
13805
13851
|
return React.createElement(React.Fragment, null);
|
13806
13852
|
}, [
|
@@ -13822,7 +13868,7 @@ const FluentChatMyMessageComponent = (props) => {
|
|
13822
13868
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
13823
13869
|
new Date().toDateString(),
|
13824
13870
|
/* @conditional-compile-remove(rich-text-editor) */
|
13825
|
-
|
13871
|
+
richTextEditorOptions
|
13826
13872
|
]);
|
13827
13873
|
const messageRenderer = React.useCallback((messageProps) => {
|
13828
13874
|
return onRenderMessage === undefined
|
@@ -13944,7 +13990,7 @@ const MessageBubble = (props) => {
|
|
13944
13990
|
}, author: React.createElement(react.Text, { className: chatMessageAuthorStyle }, message.senderDisplayName), body: {
|
13945
13991
|
className: chatItemMessageContainerClassName,
|
13946
13992
|
style: Object.assign({}, createStyleFromV8Style(messageContainerStyle))
|
13947
|
-
}, "data-ui-id": "chat-composite-message", timestamp: React.createElement(react.Text, { className: chatMessageDateStyle, "data-ui-id": ids.messageTimestamp }, formattedTimestamp), details: getMessageDetails() }, getContent()))));
|
13993
|
+
}, "data-ui-id": "chat-composite-message", timestamp: React.createElement(react.Text, { className: props.message.status === 'failed' ? chatMessageDateFailedStyle(theme) : chatMessageDateStyle(theme), "data-ui-id": ids.messageTimestamp }, formattedTimestamp), details: getMessageDetails() }, getContent()))));
|
13948
13994
|
return chatMessage;
|
13949
13995
|
};
|
13950
13996
|
/** @private */
|
@@ -14288,7 +14334,7 @@ const MessageThreadWrapper = (props) => {
|
|
14288
14334
|
/* @conditional-compile-remove(file-sharing-acs) */
|
14289
14335
|
onRenderAttachmentDownloads,
|
14290
14336
|
/* @conditional-compile-remove(rich-text-editor) */
|
14291
|
-
|
14337
|
+
richTextEditorOptions } = props;
|
14292
14338
|
// We need this state to wait for one tick and scroll to bottom after messages have been initialized.
|
14293
14339
|
// Otherwise chatScrollDivRef.current.clientHeight is wrong if we scroll to bottom before messages are initialized.
|
14294
14340
|
const [chatMessagesInitialized, setChatMessagesInitialized] = React.useState(false);
|
@@ -14317,12 +14363,12 @@ const MessageThreadWrapper = (props) => {
|
|
14317
14363
|
/* @conditional-compile-remove(rich-text-editor) */
|
14318
14364
|
React.useEffect(() => {
|
14319
14365
|
// if rich text editor is enabled, the rich text editor component should be loaded early for good UX
|
14320
|
-
if (
|
14366
|
+
if (richTextEditorOptions !== undefined) {
|
14321
14367
|
// this line is needed to load the Rooster JS dependencies early in the lifecycle
|
14322
14368
|
// when the rich text editor is enabled
|
14323
14369
|
loadChatMessageComponentAsRichTextEditBox();
|
14324
14370
|
}
|
14325
|
-
}, [
|
14371
|
+
}, [richTextEditorOptions]);
|
14326
14372
|
const onDeleteMessageCallback = React.useCallback((messageId) => __awaiter$B(void 0, void 0, void 0, function* () {
|
14327
14373
|
if (!onDeleteMessage) {
|
14328
14374
|
return;
|
@@ -14642,7 +14688,7 @@ const MessageThreadWrapper = (props) => {
|
|
14642
14688
|
/* @conditional-compile-remove(file-sharing-acs) */
|
14643
14689
|
onRenderAttachmentDownloads: onRenderAttachmentDownloads,
|
14644
14690
|
/* @conditional-compile-remove(rich-text-editor) */
|
14645
|
-
|
14691
|
+
richTextEditorOptions: richTextEditorOptions })));
|
14646
14692
|
}))))));
|
14647
14693
|
};
|
14648
14694
|
const MemoChatMessageComponentWrapper = React.memo((obj) => {
|
@@ -21684,7 +21730,7 @@ const iconButtonStyles$1 = (theme) => {
|
|
21684
21730
|
/**
|
21685
21731
|
* @private
|
21686
21732
|
*/
|
21687
|
-
const formatPhoneNumber = (phoneNumber) => {
|
21733
|
+
const formatPhoneNumber$1 = (phoneNumber) => {
|
21688
21734
|
// if input value is falsy eg if the user deletes the input, then just return
|
21689
21735
|
if (!phoneNumber) {
|
21690
21736
|
return phoneNumber;
|
@@ -21943,7 +21989,7 @@ const DialpadContainer = (props) => {
|
|
21943
21989
|
setText(modifiedInput);
|
21944
21990
|
};
|
21945
21991
|
return (React.createElement(react.Stack, { className: react.mergeStyles(containerStyles$4(theme), (_a = props.styles) === null || _a === void 0 ? void 0 : _a.root), "data-test-id": "dialpadContainer", "data-ui-id": "dialpadContainer", horizontalAlign: 'center' },
|
21946
|
-
dialpadMode === 'dialer' && (React.createElement(react.TextField, { styles: react.concatStyleSets(textFieldStyles(theme, plainTextValue !== ''), (_b = props.styles) === null || _b === void 0 ? void 0 : _b.textField), value: textFieldValue ? textFieldValue : formatPhoneNumber(plainTextValue),
|
21992
|
+
dialpadMode === 'dialer' && (React.createElement(react.TextField, { styles: react.concatStyleSets(textFieldStyles(theme, plainTextValue !== ''), (_b = props.styles) === null || _b === void 0 ? void 0 : _b.textField), value: textFieldValue ? textFieldValue : formatPhoneNumber$1(plainTextValue),
|
21947
21993
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
21948
21994
|
onChange: (e) => {
|
21949
21995
|
setText(e.target.value);
|
@@ -22042,7 +22088,7 @@ const ratingStyles = (theme) => {
|
|
22042
22088
|
/**
|
22043
22089
|
* @private
|
22044
22090
|
*/
|
22045
|
-
const titleContainerClassName$
|
22091
|
+
const titleContainerClassName$2 = react.mergeStyles({
|
22046
22092
|
paddingBottom: _pxToRem(6)
|
22047
22093
|
});
|
22048
22094
|
|
@@ -22089,7 +22135,7 @@ const _StarSurvey = (props) => {
|
|
22089
22135
|
onStarRatingSelected
|
22090
22136
|
]);
|
22091
22137
|
return (React.createElement(react.Stack, { verticalAlign: "center" },
|
22092
|
-
React.createElement(react.Stack, { className: titleContainerClassName$
|
22138
|
+
React.createElement(react.Stack, { className: titleContainerClassName$2 },
|
22093
22139
|
React.createElement(react.Text, { className: helperTextStyle$1(theme) }, strings === null || strings === void 0 ? void 0 : strings.starSurveyHelperText)),
|
22094
22140
|
React.createElement(react.Rating, { max: 5, size: react.RatingSize.Large, defaultRating: 0, allowZeroStars: true, rating: rating, onChange: onRatingChange, styles: ratingStyles(theme), icon: selectedIcon !== null && selectedIcon !== void 0 ? selectedIcon : 'SurveyStarIconFilled', unselectedIcon: unselectedIcon !== null && unselectedIcon !== void 0 ? unselectedIcon : 'SurveyStarIcon', ariaLabelFormat: strings === null || strings === void 0 ? void 0 : strings.starRatingAriaLabel }),
|
22095
22141
|
React.createElement(react.Text, { className: ratingHelperTextStyle(theme) }, ratingHelperText)));
|
@@ -22872,7 +22918,7 @@ const themedCaptionsSettingsModalStyle = (theme) => ({
|
|
22872
22918
|
/**
|
22873
22919
|
* @private
|
22874
22920
|
*/
|
22875
|
-
const titleClassName = react.mergeStyles({
|
22921
|
+
const titleClassName$1 = react.mergeStyles({
|
22876
22922
|
fontWeight: 600,
|
22877
22923
|
fontSize: _pxToRem(20),
|
22878
22924
|
lineHeight: _pxToRem(28)
|
@@ -22880,7 +22926,7 @@ const titleClassName = react.mergeStyles({
|
|
22880
22926
|
/**
|
22881
22927
|
* @private
|
22882
22928
|
*/
|
22883
|
-
const titleContainerClassName = react.mergeStyles({
|
22929
|
+
const titleContainerClassName$1 = react.mergeStyles({
|
22884
22930
|
paddingBottom: _pxToRem(20)
|
22885
22931
|
});
|
22886
22932
|
/**
|
@@ -23115,8 +23161,8 @@ const _CaptionsSettingsModal = (props) => {
|
|
23115
23161
|
]);
|
23116
23162
|
const CaptionsSettingsModalStyle = React.useMemo(() => themedCaptionsSettingsModalStyle(theme), [theme]);
|
23117
23163
|
return (React.createElement(React.Fragment, null, React.createElement(react.Modal, { titleAriaId: strings === null || strings === void 0 ? void 0 : strings.captionsSettingsModalAriaLabel, isOpen: showModal, onDismiss: onDismiss, isBlocking: true, styles: CaptionsSettingsModalStyle },
|
23118
|
-
React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center", className: titleContainerClassName },
|
23119
|
-
React.createElement(react.Text, { className: titleClassName }, strings === null || strings === void 0 ? void 0 : strings.captionsSettingsModalTitle),
|
23164
|
+
React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center", className: titleContainerClassName$1 },
|
23165
|
+
React.createElement(react.Text, { className: titleClassName$1 }, strings === null || strings === void 0 ? void 0 : strings.captionsSettingsModalTitle),
|
23120
23166
|
React.createElement(react.IconButton, { iconProps: { iconName: 'Cancel' }, ariaLabel: strings === null || strings === void 0 ? void 0 : strings.captionsSettingsCloseModalButtonAriaLabel, onClick: onDismiss, style: { color: theme.palette.black } })),
|
23121
23167
|
React.createElement(react.Stack, { className: dropdownContainerClassName }, CaptionsSettingsComponent()),
|
23122
23168
|
React.createElement(react.Stack, { horizontal: true, horizontalAlign: "end", className: buttonsContainerClassName },
|
@@ -23126,6 +23172,200 @@ const _CaptionsSettingsModal = (props) => {
|
|
23126
23172
|
React.createElement("span", null, strings === null || strings === void 0 ? void 0 : strings.captionsSettingsCancelButtonLabel))))));
|
23127
23173
|
};
|
23128
23174
|
|
23175
|
+
// Copyright (c) Microsoft Corporation.
|
23176
|
+
// Licensed under the MIT License.
|
23177
|
+
/**
|
23178
|
+
* @private
|
23179
|
+
*/
|
23180
|
+
const themedPhoneInfoModalStyle = (theme) => ({
|
23181
|
+
main: {
|
23182
|
+
borderRadius: theme.effects.roundedCorner6,
|
23183
|
+
padding: _pxToRem(24),
|
23184
|
+
width: _pxToRem(600),
|
23185
|
+
height: 'fit-content',
|
23186
|
+
overflow: 'hidden'
|
23187
|
+
}
|
23188
|
+
});
|
23189
|
+
/**
|
23190
|
+
* @private
|
23191
|
+
*/
|
23192
|
+
const titleClassName = react.mergeStyles({
|
23193
|
+
fontWeight: 600,
|
23194
|
+
fontSize: _pxToRem(20),
|
23195
|
+
lineHeight: _pxToRem(28)
|
23196
|
+
});
|
23197
|
+
/**
|
23198
|
+
* @private
|
23199
|
+
*/
|
23200
|
+
const titleContainerClassName = react.mergeStyles({
|
23201
|
+
paddingBottom: _pxToRem(30)
|
23202
|
+
});
|
23203
|
+
/**
|
23204
|
+
* @private
|
23205
|
+
*/
|
23206
|
+
const stepTextStyle = react.mergeStyles({
|
23207
|
+
fontSize: _pxToRem(14),
|
23208
|
+
lineHeight: _pxToRem(40)
|
23209
|
+
});
|
23210
|
+
/**
|
23211
|
+
* @private
|
23212
|
+
*/
|
23213
|
+
const phoneInfoTextStyle = react.mergeStyles({
|
23214
|
+
fontSize: _pxToRem(14),
|
23215
|
+
lineHeight: _pxToRem(40),
|
23216
|
+
fontWeight: react.FontWeights.semibold
|
23217
|
+
});
|
23218
|
+
/**
|
23219
|
+
* @private
|
23220
|
+
*/
|
23221
|
+
const phoneInfoIcon = (theme) => {
|
23222
|
+
return react.mergeStyles({
|
23223
|
+
background: `${theme.palette.themeLighter}`,
|
23224
|
+
height: _pxToRem(36),
|
23225
|
+
width: _pxToRem(36),
|
23226
|
+
marginRight: _pxToRem(12),
|
23227
|
+
borderRadius: _pxToRem(18)
|
23228
|
+
});
|
23229
|
+
};
|
23230
|
+
/**
|
23231
|
+
* @private
|
23232
|
+
*/
|
23233
|
+
const phoneInfoInctructionLine = react.mergeStyles({
|
23234
|
+
marginBottom: _pxToRem(20)
|
23235
|
+
});
|
23236
|
+
/**
|
23237
|
+
* @private
|
23238
|
+
*/
|
23239
|
+
const phoneInfoStep = react.mergeStyles({
|
23240
|
+
textAlign: 'right'
|
23241
|
+
});
|
23242
|
+
/**
|
23243
|
+
* @private
|
23244
|
+
*/
|
23245
|
+
const phoneInfoIconStyle = (theme) => {
|
23246
|
+
return react.mergeStyles({
|
23247
|
+
padding: _pxToRem(8),
|
23248
|
+
color: `${theme.palette.themePrimary}`,
|
23249
|
+
zIndex: 2
|
23250
|
+
});
|
23251
|
+
};
|
23252
|
+
/**
|
23253
|
+
* @private
|
23254
|
+
*/
|
23255
|
+
const infoConnectionLinkStyle = (theme) => {
|
23256
|
+
return react.mergeStyles({
|
23257
|
+
background: `${theme.palette.themeLighter}`,
|
23258
|
+
width: _pxToRem(2),
|
23259
|
+
position: 'relative',
|
23260
|
+
left: _pxToRem(19),
|
23261
|
+
top: _pxToRem(20),
|
23262
|
+
zIndex: 1
|
23263
|
+
});
|
23264
|
+
};
|
23265
|
+
|
23266
|
+
// Copyright (c) Microsoft Corporation.
|
23267
|
+
// Licensed under the MIT License.
|
23268
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
23269
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
23270
|
+
/**
|
23271
|
+
* @beta
|
23272
|
+
* a component for setting spoken languages
|
23273
|
+
*/
|
23274
|
+
const MeetingConferencePhoneInfoModal = (props) => {
|
23275
|
+
const { conferencePhoneInfoList, showModal, onDismissMeetingPhoneInfoSettings } = props;
|
23276
|
+
const theme = react.useTheme();
|
23277
|
+
const strings = useLocale$1().strings.MeetingConferencePhoneInfo;
|
23278
|
+
const onDismiss = React.useCallback(() => {
|
23279
|
+
if (onDismissMeetingPhoneInfoSettings) {
|
23280
|
+
onDismissMeetingPhoneInfoSettings();
|
23281
|
+
}
|
23282
|
+
}, [onDismissMeetingPhoneInfoSettings]);
|
23283
|
+
const PhoneInfoModalStyle = React.useMemo(() => themedPhoneInfoModalStyle(theme), [theme]);
|
23284
|
+
return (React.createElement(React.Fragment, null,
|
23285
|
+
React.createElement(react.Modal, { titleAriaId: strings === null || strings === void 0 ? void 0 : strings.meetingConferencePhoneInfoModalTitle, isOpen: showModal, onDismiss: onDismiss, isBlocking: true, styles: PhoneInfoModalStyle },
|
23286
|
+
React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center", className: titleContainerClassName },
|
23287
|
+
React.createElement(react.Text, { className: titleClassName }, strings === null || strings === void 0 ? void 0 : strings.meetingConferencePhoneInfoModalTitle),
|
23288
|
+
React.createElement(react.IconButton, { iconProps: { iconName: 'Cancel' }, ariaLabel: strings === null || strings === void 0 ? void 0 : strings.meetingConferencePhoneInfoModalTitle, onClick: onDismiss, style: { color: theme.palette.black } })),
|
23289
|
+
conferencePhoneInfoList.length === 0 && (React.createElement(react.Stack, { horizontal: true },
|
23290
|
+
React.createElement(react.Text, { className: stepTextStyle }, strings === null || strings === void 0 ? void 0 : strings.meetingConferencePhoneInfoModalNoPhoneAvailable))),
|
23291
|
+
conferencePhoneInfoList.length > 0 && (React.createElement(react.Stack, null,
|
23292
|
+
React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", className: phoneInfoInctructionLine },
|
23293
|
+
React.createElement(react.Stack.Item, { style: { display: 'flex' } },
|
23294
|
+
React.createElement(react.Stack, { horizontal: true, className: phoneInfoStep },
|
23295
|
+
React.createElement(react.Stack, { className: infoConnectionLinkStyle(theme) }),
|
23296
|
+
React.createElement(react.Stack.Item, { className: phoneInfoIcon(theme) },
|
23297
|
+
React.createElement(react.Stack, { verticalAlign: "center", horizontalAlign: "center" },
|
23298
|
+
React.createElement(react.Icon, { iconName: "PhoneNumberButton", className: phoneInfoIconStyle(theme) }))),
|
23299
|
+
React.createElement(react.Stack.Item, null,
|
23300
|
+
React.createElement(react.Text, { className: stepTextStyle }, strings === null || strings === void 0 ? void 0 : strings.meetingConferencePhoneInfoModalDialIn)))),
|
23301
|
+
React.createElement(react.Stack.Item, { className: phoneInfoStep }, conferencePhoneInfoList.map((phoneNumber, index) => (React.createElement(react.Stack.Item, { key: index },
|
23302
|
+
React.createElement(react.Text, { className: phoneInfoTextStyle }, formatPhoneNumberInfo(phoneNumber, strings))))))),
|
23303
|
+
React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center", className: phoneInfoInctructionLine },
|
23304
|
+
React.createElement(react.Stack.Item, { style: { display: 'flex' } },
|
23305
|
+
React.createElement(react.Stack, { horizontal: true },
|
23306
|
+
React.createElement(react.Stack, { className: infoConnectionLinkStyle(theme) }),
|
23307
|
+
React.createElement(react.Stack.Item, { className: phoneInfoIcon(theme) },
|
23308
|
+
React.createElement(react.Stack, { verticalAlign: "center", horizontalAlign: "center" },
|
23309
|
+
React.createElement(react.Icon, { iconName: "DtmfDialpadButton", className: phoneInfoIconStyle(theme) }))),
|
23310
|
+
React.createElement(react.Stack.Item, null,
|
23311
|
+
React.createElement(react.Text, { className: stepTextStyle }, strings === null || strings === void 0 ? void 0 : strings.meetingConferencePhoneInfoModalMeetingId)))),
|
23312
|
+
React.createElement(react.Text, { className: phoneInfoTextStyle }, formatMeetingId(conferencePhoneInfoList[0].conferenceId))),
|
23313
|
+
React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center" },
|
23314
|
+
React.createElement(react.Stack, { horizontal: true },
|
23315
|
+
React.createElement(react.Stack.Item, { className: phoneInfoIcon(theme), style: { marginLeft: _pxToRem(2) } },
|
23316
|
+
React.createElement(react.Icon, { iconName: "PhoneInfoWait", className: phoneInfoIconStyle(theme) })),
|
23317
|
+
React.createElement(react.Stack.Item, null,
|
23318
|
+
React.createElement(react.Text, { className: stepTextStyle }, strings === null || strings === void 0 ? void 0 : strings.meetingConferencePhoneInfoModalWait)))))))));
|
23319
|
+
};
|
23320
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
23321
|
+
/**
|
23322
|
+
* @internal
|
23323
|
+
* format phone number
|
23324
|
+
*/
|
23325
|
+
const formatPhoneNumber = (phoneNumber) => {
|
23326
|
+
var _a;
|
23327
|
+
if (!phoneNumber) {
|
23328
|
+
return '';
|
23329
|
+
}
|
23330
|
+
let enchantedPhoneNumber = phoneNumber;
|
23331
|
+
if (!phoneNumber.startsWith('+')) {
|
23332
|
+
enchantedPhoneNumber = `+${phoneNumber}`;
|
23333
|
+
}
|
23334
|
+
if (libphonenumberJs.isPossiblePhoneNumber(enchantedPhoneNumber)) {
|
23335
|
+
return ((_a = libphonenumberJs.parsePhoneNumber(enchantedPhoneNumber)) === null || _a === void 0 ? void 0 : _a.formatInternational()) || enchantedPhoneNumber;
|
23336
|
+
}
|
23337
|
+
return phoneNumber;
|
23338
|
+
};
|
23339
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
23340
|
+
/**
|
23341
|
+
* @internal
|
23342
|
+
* format phone number
|
23343
|
+
*/
|
23344
|
+
const formatPhoneNumberInfo = (phoneNumber, strings) => {
|
23345
|
+
const templateText = phoneNumber.isTollFree
|
23346
|
+
? phoneNumber.country && phoneNumber.city
|
23347
|
+
? strings === null || strings === void 0 ? void 0 : strings.meetingConferencePhoneInfoModalTollFree
|
23348
|
+
: strings === null || strings === void 0 ? void 0 : strings.meetingConferencePhoneInfoModalTollFreeWithoutGeoData
|
23349
|
+
: phoneNumber.country && phoneNumber.city
|
23350
|
+
? strings === null || strings === void 0 ? void 0 : strings.meetingConferencePhoneInfoModalToll
|
23351
|
+
: strings === null || strings === void 0 ? void 0 : strings.meetingConferencePhoneInfoModalTollWithoutGeoData;
|
23352
|
+
return ((templateText === null || templateText === void 0 ? void 0 : templateText.replace('{phoneNumber}', formatPhoneNumber(phoneNumber.phoneNumber)).replace('{country}', phoneNumber.country || '').replace('{city}', phoneNumber.city || '').trim()) || '');
|
23353
|
+
};
|
23354
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
23355
|
+
/**
|
23356
|
+
* @internal
|
23357
|
+
* format meeting id
|
23358
|
+
*/
|
23359
|
+
const formatMeetingId = (meetingId) => {
|
23360
|
+
if (!meetingId) {
|
23361
|
+
return '';
|
23362
|
+
}
|
23363
|
+
if ((meetingId === null || meetingId === void 0 ? void 0 : meetingId.length) !== 9) {
|
23364
|
+
return meetingId;
|
23365
|
+
}
|
23366
|
+
return [meetingId.slice(0, 3), meetingId.slice(3, 6), meetingId.slice(6, 9)].join(' ') + '#';
|
23367
|
+
};
|
23368
|
+
|
23129
23369
|
// Copyright (c) Microsoft Corporation.
|
23130
23370
|
// Licensed under the MIT License.
|
23131
23371
|
/**
|
@@ -23210,7 +23450,9 @@ const NotificationBar = (props) => {
|
|
23210
23450
|
React.createElement(react.Text, { className: titleTextClassName }, strings === null || strings === void 0 ? void 0 : strings.title)),
|
23211
23451
|
React.createElement(react.IconButton, { iconProps: cancelIcon, ariaLabel: strings === null || strings === void 0 ? void 0 : strings.closeButtonAriaLabel, "aria-live": 'polite', onClick: props.onDismiss })),
|
23212
23452
|
React.createElement(react.Text, { className: messageTextStyle(theme) }, strings === null || strings === void 0 ? void 0 : strings.message),
|
23213
|
-
|
23453
|
+
React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-evenly" },
|
23454
|
+
(strings === null || strings === void 0 ? void 0 : strings.secondaryButtonLabel) && (React.createElement(react.DefaultButton, { onClick: props.onClickSecondaryButton, style: { marginTop: '1rem' } }, strings === null || strings === void 0 ? void 0 : strings.secondaryButtonLabel)),
|
23455
|
+
(strings === null || strings === void 0 ? void 0 : strings.primaryButtonLabel) && (React.createElement(react.PrimaryButton, { onClick: props.onClickPrimaryButton, style: { marginTop: '1rem' } }, strings === null || strings === void 0 ? void 0 : strings.primaryButtonLabel)))),
|
23214
23456
|
props.showStackedEffect && React.createElement(react.Stack, { className: hiddenContainerStyles(theme) })));
|
23215
23457
|
};
|
23216
23458
|
|
@@ -23244,7 +23486,7 @@ const Notifications = (props) => {
|
|
23244
23486
|
} }, activeNotifications.map((notification, index) => {
|
23245
23487
|
if (index < maxNotificationsToShow) {
|
23246
23488
|
return (React.createElement("div", { key: index, style: { marginBottom: `${index === maxNotificationsToShow - 1 ? 0 : '0.25rem'}` } },
|
23247
|
-
React.createElement(NotificationBar, { notificationBarStrings: strings ? strings[notification.type] : undefined, notificationBarIconProps: NotificationIconProps(notification.type),
|
23489
|
+
React.createElement(NotificationBar, { notificationBarStrings: strings ? strings[notification.type] : undefined, notificationBarIconProps: NotificationIconProps(notification.type), onClickPrimaryButton: () => { var _a; return (_a = notification.onClickPrimaryButton) === null || _a === void 0 ? void 0 : _a.call(notification); }, onClickSecondaryButton: () => { var _a; return (_a = notification.onClickSecondaryButton) === null || _a === void 0 ? void 0 : _a.call(notification); }, onDismiss: () => {
|
23248
23490
|
activeNotifications.splice(index, 1);
|
23249
23491
|
setActiveNotifications([...activeNotifications]);
|
23250
23492
|
notification.onDismiss && notification.onDismiss();
|
@@ -24297,14 +24539,12 @@ const createDefaultChatHandlers = memoizeOne((chatClient, chatThreadClient) => {
|
|
24297
24539
|
/* @conditional-compile-remove(file-sharing-acs) */
|
24298
24540
|
options) {
|
24299
24541
|
return __awaiter$v(this, void 0, void 0, function* () {
|
24300
|
-
/* @conditional-compile-remove(file-sharing-acs) */
|
24301
24542
|
const updateMessageOptions = {
|
24302
24543
|
content,
|
24544
|
+
/* @conditional-compile-remove(file-sharing-acs) */
|
24303
24545
|
metadata: Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.metadata), { fileSharingMetadata: JSON.stringify(options === null || options === void 0 ? void 0 : options.attachments) })
|
24304
24546
|
};
|
24305
|
-
yield chatThreadClient.updateMessage(messageId,
|
24306
|
-
/* @conditional-compile-remove(file-sharing-acs) */
|
24307
|
-
updateMessageOptions);
|
24547
|
+
yield chatThreadClient.updateMessage(messageId, updateMessageOptions);
|
24308
24548
|
});
|
24309
24549
|
},
|
24310
24550
|
onDeleteMessage: (messageId) => __awaiter$v(void 0, void 0, void 0, function* () {
|
@@ -27024,7 +27264,7 @@ const isChatError = (e) => {
|
|
27024
27264
|
return 'target' in e && e['target'] !== undefined && 'innerError' in e && e['innerError'] !== undefined;
|
27025
27265
|
};
|
27026
27266
|
|
27027
|
-
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",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};
|
27267
|
+
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};
|
27028
27268
|
|
27029
27269
|
// Copyright (c) Microsoft Corporation.
|
27030
27270
|
// Licensed under the MIT License.
|
@@ -27122,6 +27362,10 @@ const COMPOSITE_ONLY_ICONS = {
|
|
27122
27362
|
LargeGalleryLayout: React.createElement(reactIcons.Table20Regular, null),
|
27123
27363
|
DefaultCustomButton: React.createElement(reactIcons.Circle20Regular, null),
|
27124
27364
|
DtmfDialpadButton: React.createElement(reactIcons.Dialpad20Regular, null),
|
27365
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
27366
|
+
PhoneNumberButton: React.createElement(reactIcons.PersonCall20Regular, null),
|
27367
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
27368
|
+
PhoneInfoWait: React.createElement(reactIcons.Clock20Filled, null),
|
27125
27369
|
/* @conditional-compile-remove(spotlight) */
|
27126
27370
|
PeoplePaneMoreButton: React.createElement(reactIcons.MoreHorizontal20Filled, null),
|
27127
27371
|
/* @conditional-compile-remove(spotlight) */
|
@@ -27964,7 +28208,7 @@ const AttachmentDownloadErrorBar = (props) => {
|
|
27964
28208
|
/**
|
27965
28209
|
* Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox with lazy loading
|
27966
28210
|
*/
|
27967
|
-
const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-
|
28211
|
+
const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-DoEtNInF.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
|
27968
28212
|
/**
|
27969
28213
|
* @private
|
27970
28214
|
* Use this function to load RoosterJS dependencies early in the lifecycle.
|
@@ -27972,21 +28216,21 @@ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function
|
|
27972
28216
|
*
|
27973
28217
|
/* @conditional-compile-remove(rich-text-editor-composite-support)
|
27974
28218
|
*/
|
27975
|
-
const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-
|
28219
|
+
const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-DoEtNInF.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
|
27976
28220
|
/**
|
27977
28221
|
* @private
|
27978
28222
|
*/
|
27979
28223
|
const SendBoxPicker = (props) => {
|
27980
28224
|
const {
|
27981
|
-
/* @conditional-compile-remove(rich-text-editor-composite-support) */
|
27982
|
-
|
28225
|
+
/* @conditional-compile-remove(rich-text-editor-composite-support) @conditional-compile-remove(rich-text-editor) */
|
28226
|
+
richTextEditorOptions } = props;
|
27983
28227
|
const sendBoxProps = usePropsFor$2(SendBox);
|
27984
|
-
/* @conditional-compile-remove(rich-text-editor-composite-support) */
|
28228
|
+
/* @conditional-compile-remove(rich-text-editor-composite-support) @conditional-compile-remove(rich-text-editor) */
|
27985
28229
|
const isRichTextEditorEnabled = React.useMemo(() => {
|
27986
|
-
return
|
27987
|
-
}, [
|
28230
|
+
return richTextEditorOptions !== undefined;
|
28231
|
+
}, [richTextEditorOptions]);
|
27988
28232
|
const sendBox = React.useMemo(() => React.createElement(SendBox, Object.assign({}, sendBoxProps, props)), [props, sendBoxProps]);
|
27989
|
-
/* @conditional-compile-remove(rich-text-editor-composite-support) */
|
28233
|
+
/* @conditional-compile-remove(rich-text-editor-composite-support) @conditional-compile-remove(rich-text-editor) */
|
27990
28234
|
if (isRichTextEditorEnabled) {
|
27991
28235
|
return (React.createElement(_ErrorBoundary, { fallback: sendBox },
|
27992
28236
|
React.createElement(React.Suspense, { fallback: sendBox },
|
@@ -28036,12 +28280,12 @@ const ChatScreen = (props) => {
|
|
28036
28280
|
/* @conditional-compile-remove(rich-text-editor-composite-support) */
|
28037
28281
|
React.useEffect(() => {
|
28038
28282
|
// if rich text editor is enabled, the rich text editor component should be loaded early for good UX
|
28039
|
-
if ((options === null || options === void 0 ? void 0 : options.
|
28283
|
+
if ((options === null || options === void 0 ? void 0 : options.richTextEditorOptions) !== undefined) {
|
28040
28284
|
// this line is needed to load the Rooster JS dependencies early in the lifecycle
|
28041
28285
|
// when the rich text editor is enabled
|
28042
28286
|
loadRichTextSendBox();
|
28043
28287
|
}
|
28044
|
-
}, [options === null || options === void 0 ? void 0 : options.
|
28288
|
+
}, [options === null || options === void 0 ? void 0 : options.richTextEditorOptions]);
|
28045
28289
|
const messageThreadProps = usePropsFor$2(MessageThread);
|
28046
28290
|
const typingIndicatorProps = usePropsFor$2(TypingIndicator);
|
28047
28291
|
const headerProps = useAdaptedSelector$1(getHeaderProps);
|
@@ -28272,8 +28516,8 @@ const ChatScreen = (props) => {
|
|
28272
28516
|
React.createElement(MessageThread, Object.assign({}, messageThreadProps, { onRenderAvatar: onRenderAvatarCallback, onRenderMessage: onRenderMessage,
|
28273
28517
|
/* @conditional-compile-remove(file-sharing-acs) */
|
28274
28518
|
onRenderAttachmentDownloads: onRenderAttachmentDownloads, inlineImageOptions: inlineImageOptions, numberOfChatMessagesToReload: defaultNumberOfChatMessagesToReload, styles: messageThreadStyles,
|
28275
|
-
/* @conditional-compile-remove(rich-text-editor-composite-support) */
|
28276
|
-
|
28519
|
+
/* @conditional-compile-remove(rich-text-editor-composite-support) @conditional-compile-remove(rich-text-editor) */
|
28520
|
+
richTextEditorOptions: options === null || options === void 0 ? void 0 : options.richTextEditorOptions })),
|
28277
28521
|
React.createElement(react.Stack, { className: react.mergeStyles(sendboxContainerStyles) },
|
28278
28522
|
React.createElement("div", { className: react.mergeStyles(typingIndicatorContainerStyles) }, onRenderTypingIndicator ? (onRenderTypingIndicator(typingIndicatorProps.typingUsers)) : (React.createElement(TypingIndicator, Object.assign({}, typingIndicatorProps, { styles: typingIndicatorStyles })))),
|
28279
28523
|
React.createElement(react.Stack, { horizontal: formFactor === 'mobile' },
|
@@ -28284,7 +28528,7 @@ const ChatScreen = (props) => {
|
|
28284
28528
|
React.createElement(react.Stack, { grow: true },
|
28285
28529
|
React.createElement(SendBoxPicker, { styles: sendBoxStyles, autoFocus: options === null || options === void 0 ? void 0 : options.autoFocus,
|
28286
28530
|
/* @conditional-compile-remove(rich-text-editor-composite-support) */
|
28287
|
-
|
28531
|
+
richTextEditorOptions: options === null || options === void 0 ? void 0 : options.richTextEditorOptions,
|
28288
28532
|
/* @conditional-compile-remove(file-sharing-acs) */
|
28289
28533
|
attachments: attachments,
|
28290
28534
|
/* @conditional-compile-remove(file-sharing-acs) */
|
@@ -29720,6 +29964,11 @@ const getIsTeamsCall = (state) => state.isTeamsCall;
|
|
29720
29964
|
* @private
|
29721
29965
|
*/
|
29722
29966
|
const getIsTeamsMeeting = (state) => state.isTeamsMeeting;
|
29967
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
29968
|
+
/**
|
29969
|
+
* @private
|
29970
|
+
*/
|
29971
|
+
const getTeamsMeetingCoordinates = (state) => { var _a; return (_a = state.call) === null || _a === void 0 ? void 0 : _a.teamsMeetingConference; };
|
29723
29972
|
/**
|
29724
29973
|
* @private
|
29725
29974
|
*/
|
@@ -30517,6 +30766,10 @@ const DesktopMoreButton = (props) => {
|
|
30517
30766
|
const [previousLayout, setPreviousLayout] = React.useState((_a = props.userSetGalleryLayout) !== null && _a !== void 0 ? _a : 'floatingLocalVideo');
|
30518
30767
|
const callees = useSelector$1(getTargetCallees);
|
30519
30768
|
const allowDtmfDialer = showDtmfDialer(callees);
|
30769
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
30770
|
+
const isTeamsMeeting = useSelector$1(getIsTeamsMeeting);
|
30771
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
30772
|
+
const teamsMeetingCoordinates = useSelector$1(getTeamsMeetingCoordinates);
|
30520
30773
|
const [dtmfDialerChecked, setDtmfDialerChecked] = React.useState((_b = props.dtmfDialerPresent) !== null && _b !== void 0 ? _b : false);
|
30521
30774
|
const moreButtonStrings = React.useMemo(() => ({
|
30522
30775
|
label: localeStrings.strings.call.moreButtonCallingLabel,
|
@@ -30629,6 +30882,28 @@ const DesktopMoreButton = (props) => {
|
|
30629
30882
|
if (props.onSetDialpadPage && allowDtmfDialer) {
|
30630
30883
|
moreButtonContextualMenuItems.push(dtmfDialerScreenOption);
|
30631
30884
|
}
|
30885
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
30886
|
+
const joinByPhoneOption = {
|
30887
|
+
key: 'phoneCallKey',
|
30888
|
+
itemProps: {
|
30889
|
+
styles: buttonFlyoutIncreasedSizeStyles
|
30890
|
+
},
|
30891
|
+
text: localeStrings.strings.call.phoneCallMoreButtonLabel,
|
30892
|
+
onClick: () => {
|
30893
|
+
props.onMeetingPhoneInfoClick && props.onMeetingPhoneInfoClick();
|
30894
|
+
},
|
30895
|
+
iconProps: {
|
30896
|
+
iconName: 'PhoneNumberButton',
|
30897
|
+
styles: { root: { lineHeight: 0 } }
|
30898
|
+
}
|
30899
|
+
};
|
30900
|
+
/**
|
30901
|
+
* Only render the phone call button if meeting conordinates are present
|
30902
|
+
*/
|
30903
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
30904
|
+
if (props.teamsMeetingPhoneCallEnable && isTeamsMeeting && teamsMeetingCoordinates) {
|
30905
|
+
moreButtonContextualMenuItems.push(joinByPhoneOption);
|
30906
|
+
}
|
30632
30907
|
if (props.onUserSetOverflowGalleryPositionChange) {
|
30633
30908
|
const galleryOptions = {
|
30634
30909
|
key: 'overflowGalleryPositionKey',
|
@@ -31021,7 +31296,7 @@ const inferCommonCallControlOptions = (mobileView, commonCallControlOptions) =>
|
|
31021
31296
|
* @private
|
31022
31297
|
*/
|
31023
31298
|
const CommonCallControlBar = (props) => {
|
31024
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
31299
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
31025
31300
|
const theme = react.useTheme();
|
31026
31301
|
const rtl = theme.rtl;
|
31027
31302
|
const controlBarContainerRef = React.useRef(null);
|
@@ -31035,6 +31310,8 @@ const CommonCallControlBar = (props) => {
|
|
31035
31310
|
const callWithChatStrings = useCallWithChatCompositeStrings();
|
31036
31311
|
const options = inferCommonCallControlOptions(props.mobileView, props.callControls);
|
31037
31312
|
const [showCaptionsSettingsModal, setShowCaptionsSettingsModal] = React.useState(false);
|
31313
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
31314
|
+
const [showTeamsMeetingConferenceModal, setShowTeamsMeetingConferenceModal] = React.useState(false);
|
31038
31315
|
/* @conditional-compile-remove(end-call-options) */
|
31039
31316
|
// If the hangup capability is not present, we default to true
|
31040
31317
|
const isHangUpForEveryoneAllowed = (_a = useSelector$1((state) => { var _a, _b; return (_b = (_a = state.call) === null || _a === void 0 ? void 0 : _a.capabilitiesFeature) === null || _b === void 0 ? void 0 : _b.capabilities.hangUpForEveryOne.isPresent; })) !== null && _a !== void 0 ? _a : true;
|
@@ -31072,6 +31349,10 @@ const CommonCallControlBar = (props) => {
|
|
31072
31349
|
const onDismissCaptionsSettings = React.useCallback(() => {
|
31073
31350
|
setShowCaptionsSettingsModal(false);
|
31074
31351
|
}, []);
|
31352
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
31353
|
+
const toggleTeamsMeetingConferenceModal = React.useCallback(() => {
|
31354
|
+
setShowTeamsMeetingConferenceModal(!showTeamsMeetingConferenceModal);
|
31355
|
+
}, [showTeamsMeetingConferenceModal]);
|
31075
31356
|
const peopleButtonStrings = React.useMemo(() => ({
|
31076
31357
|
label: callWithChatStrings.peopleButtonLabel,
|
31077
31358
|
selectedLabel: callWithChatStrings.selectedPeopleButtonLabel,
|
@@ -31126,6 +31407,8 @@ const CommonCallControlBar = (props) => {
|
|
31126
31407
|
const showExitSpotlightButton = (options === null || options === void 0 ? void 0 : options.exitSpotlightButton) !== false;
|
31127
31408
|
const showCaptionsButton = props.isCaptionsSupported &&
|
31128
31409
|
/* @conditional-compile-remove(acs-close-captions) */ isEnabled$1(options.captionsButton);
|
31410
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
31411
|
+
const showTeamsMeetingPhoneCallButton = isEnabled$1(options === null || options === void 0 ? void 0 : options.teamsMeetingPhoneCallButton);
|
31129
31412
|
const showDesktopMoreButton = isEnabled$1(options === null || options === void 0 ? void 0 : options.moreButton) &&
|
31130
31413
|
(/*@conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */ isEnabled$1(options === null || options === void 0 ? void 0 : options.holdButton) ||
|
31131
31414
|
showCaptionsButton ||
|
@@ -31134,7 +31417,9 @@ const CommonCallControlBar = (props) => {
|
|
31134
31417
|
const hideRaiseHandButtonInRoomsCall = props.callAdapter.getState().isRoomsCall && role && ['Consumer', 'Unknown'].includes(role);
|
31135
31418
|
const reactionResources = props.callAdapter.getState().reactions;
|
31136
31419
|
return (React.createElement("div", { ref: controlBarSizeRef },
|
31137
|
-
React.createElement(CallAdapterProvider, { adapter: props.callAdapter },
|
31420
|
+
React.createElement(CallAdapterProvider, { adapter: props.callAdapter },
|
31421
|
+
showCaptionsSettingsModal && (React.createElement(CaptionsSettingsModal, { showCaptionsSettingsModal: showCaptionsSettingsModal, onDismissCaptionsSettings: onDismissCaptionsSettings, changeCaptionLanguage: props.isCaptionsOn && props.useTeamsCaptions })),
|
31422
|
+
/* @conditional-compile-remove(teams-meeting-conference) */ showTeamsMeetingConferenceModal && (React.createElement(MeetingConferencePhoneInfoModal, { conferencePhoneInfoList: (_d = (_c = props.callAdapter.getState().call) === null || _c === void 0 ? void 0 : _c.teamsMeetingConference) !== null && _d !== void 0 ? _d : [], showModal: showTeamsMeetingConferenceModal, onDismissMeetingPhoneInfoSettings: toggleTeamsMeetingConferenceModal }))),
|
31138
31423
|
React.createElement(react.Stack, { horizontal: true, reversed: !props.mobileView && !isOutOfSpace, horizontalAlign: "space-between", className: react.mergeStyles(callControlsContainerStyles, controlBarContainerStyles, controlBarDesktopContainerStyles) },
|
31139
31424
|
React.createElement(react.Stack.Item, { grow: true, className: react.mergeStyles(controlBarWrapperDesktopStyles) },
|
31140
31425
|
React.createElement(CallAdapterProvider, { adapter: props.callAdapter },
|
@@ -31165,8 +31450,8 @@ const CommonCallControlBar = (props) => {
|
|
31165
31450
|
props.onStopLocalSpotlight && (React.createElement(ExitSpotlightButton, { displayType: options.displayType, onClick: props.onStopLocalSpotlight, styles: commonButtonStyles, strings: exitSpotlightButtonStrings })),
|
31166
31451
|
screenShareButtonIsEnabled && (React.createElement(ScreenShare, { option: options.screenShareButton, displayType: options.displayType, styles: screenShareButtonStyles,
|
31167
31452
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
31168
|
-
disabled: props.disableButtonsForHoldScreen || isDisabled$4(options.screenShareButton) })), (
|
31169
|
-
|
31453
|
+
disabled: props.disableButtonsForHoldScreen || isDisabled$4(options.screenShareButton) })), (_e = customButtons['primary']) === null || _e === void 0 ? void 0 :
|
31454
|
+
_e.slice(0, props.mobileView
|
31170
31455
|
? CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_MOBILE_CUSTOM_BUTTONS
|
31171
31456
|
: CUSTOM_BUTTON_OPTIONS.MAX_PRIMARY_DESKTOP_CUSTOM_BUTTONS).map((CustomButton, i) => {
|
31172
31457
|
return (React.createElement(CustomButton, { key: `primary-custom-button-${i}`, styles: commonButtonStyles, showLabel: options.displayType !== 'compact', disableTooltip: props.mobileView }));
|
@@ -31174,15 +31459,19 @@ const CommonCallControlBar = (props) => {
|
|
31174
31459
|
props.mobileView && (React.createElement(MoreButton, { "data-ui-id": "common-call-composite-more-button", strings: moreButtonStrings, onClick: props.onMoreButtonClicked, disabled: props.disableButtonsForLobbyPage, disableTooltip: props.mobileView })),
|
31175
31460
|
!props.mobileView && showDesktopMoreButton && (React.createElement(DesktopMoreButton, { disableButtonsForHoldScreen: props.disableButtonsForHoldScreen, styles: commonButtonStyles,
|
31176
31461
|
/*@conditional-compile-remove(PSTN-calls) */
|
31177
|
-
onClickShowDialpad: props.onClickShowDialpad, callControls: props.callControls, isCaptionsSupported: showCaptionsButton, onCaptionsSettingsClick: openCaptionsSettingsModal, onUserSetOverflowGalleryPositionChange: props.onUserSetOverflowGalleryPositionChange, onUserSetGalleryLayout: props.onUserSetGalleryLayout, userSetGalleryLayout: props.userSetGalleryLayout, dtmfDialerPresent: props.dtmfDialerPresent, onSetDialpadPage: props.onSetDialpadPage
|
31462
|
+
onClickShowDialpad: props.onClickShowDialpad, callControls: props.callControls, isCaptionsSupported: showCaptionsButton, onCaptionsSettingsClick: openCaptionsSettingsModal, onUserSetOverflowGalleryPositionChange: props.onUserSetOverflowGalleryPositionChange, onUserSetGalleryLayout: props.onUserSetGalleryLayout, userSetGalleryLayout: props.userSetGalleryLayout, dtmfDialerPresent: props.dtmfDialerPresent, onSetDialpadPage: props.onSetDialpadPage,
|
31463
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
31464
|
+
teamsMeetingPhoneCallEnable: showTeamsMeetingPhoneCallButton,
|
31465
|
+
/* @conditional-compile-remove(teams-meeting-conference) */
|
31466
|
+
onMeetingPhoneInfoClick: toggleTeamsMeetingConferenceModal })),
|
31178
31467
|
React.createElement(EndCall, { displayType: "compact", mobileView: props.mobileView, styles: endCallButtonStyles,
|
31179
31468
|
/* @conditional-compile-remove(end-call-options) */
|
31180
31469
|
enableEndCallMenu: !isBoolean(props.callControls) &&
|
31181
|
-
!isBoolean((
|
31470
|
+
!isBoolean((_f = props.callControls) === null || _f === void 0 ? void 0 : _f.endCallButton) &&
|
31182
31471
|
!props.mobileView &&
|
31183
31472
|
isHangUpForEveryoneAllowed &&
|
31184
31473
|
!isTeams && // Temporary disable it for Teams call, since capability does not give the right value
|
31185
|
-
((
|
31474
|
+
((_h = (_g = props.callControls) === null || _g === void 0 ? void 0 : _g.endCallButton) === null || _h === void 0 ? void 0 : _h.hangUpForEveryone) === 'endCallOptions' }))))))),
|
31186
31475
|
!props.mobileView && sideButtonsPresent && (React.createElement(react.Stack.Item, null,
|
31187
31476
|
React.createElement("div", { ref: sidepaneControlsRef },
|
31188
31477
|
React.createElement(react.Stack, { horizontal: true, className: !props.mobileView ? react.mergeStyles(desktopButtonContainerStyle) : undefined },
|
@@ -31190,8 +31479,8 @@ const CommonCallControlBar = (props) => {
|
|
31190
31479
|
? peopleButtonStrings === null || peopleButtonStrings === void 0 ? void 0 : peopleButtonStrings.tooltipCloseAriaLabel
|
31191
31480
|
: peopleButtonStrings === null || peopleButtonStrings === void 0 ? void 0 : peopleButtonStrings.tooltipOpenAriaLabel, showLabel: options.displayType !== 'compact', onClick: props.onPeopleButtonClicked, "data-ui-id": "common-call-composite-people-button", disabled: props.disableButtonsForLobbyPage ||
|
31192
31481
|
props.disableButtonsForHoldScreen ||
|
31193
|
-
isDisabled$4(options.peopleButton), strings: peopleButtonStrings, styles: commonButtonStyles, componentRef: props.peopleButtonRef })), (
|
31194
|
-
|
31482
|
+
isDisabled$4(options.peopleButton), strings: peopleButtonStrings, styles: commonButtonStyles, componentRef: props.peopleButtonRef })), (_j = customButtons['secondary']) === null || _j === void 0 ? void 0 :
|
31483
|
+
_j.slice(0, CUSTOM_BUTTON_OPTIONS.MAX_SECONDARY_DESKTOP_CUSTOM_BUTTONS).map((CustomButton, i) => {
|
31195
31484
|
return (React.createElement(CustomButton, { key: `secondary-custom-button-${i}`, styles: commonButtonStyles, showLabel: options.displayType !== 'compact' }));
|
31196
31485
|
}))))))));
|
31197
31486
|
};
|
@@ -39029,14 +39318,14 @@ const CallWithChatScreen = (props) => {
|
|
39029
39318
|
participantPane: false,
|
39030
39319
|
/* @conditional-compile-remove(file-sharing-acs) */
|
39031
39320
|
attachmentOptions: props.attachmentOptions,
|
39032
|
-
/* @conditional-compile-remove(rich-text-editor-composite-support) */
|
39033
|
-
|
39321
|
+
/* @conditional-compile-remove(rich-text-editor-composite-support) @conditional-compile-remove(rich-text-editor) */
|
39322
|
+
richTextEditorOptions: props.richTextEditorOptions
|
39034
39323
|
}, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData })), [
|
39035
39324
|
chatAdapter,
|
39036
39325
|
/* @conditional-compile-remove(file-sharing-acs) */
|
39037
39326
|
props.attachmentOptions,
|
39038
39327
|
props.onFetchAvatarPersonaData,
|
39039
|
-
/* @conditional-compile-remove(rich-text-editor-composite-support) */ props.
|
39328
|
+
/* @conditional-compile-remove(rich-text-editor-composite-support) */ props.richTextEditorOptions,
|
39040
39329
|
theme
|
39041
39330
|
]);
|
39042
39331
|
const sidePaneHeaderRenderer = React.useCallback(() => {
|
@@ -40711,4 +41000,4 @@ exports.useTeamsCall = useTeamsCall;
|
|
40711
41000
|
exports.useTeamsCallAdapter = useTeamsCallAdapter;
|
40712
41001
|
exports.useTeamsCallAgent = useTeamsCallAgent;
|
40713
41002
|
exports.useTheme = useTheme;
|
40714
|
-
//# sourceMappingURL=index-
|
41003
|
+
//# sourceMappingURL=index-DU2Ijnbn.js.map
|