@azure/communication-react 1.20.0-alpha-202410090016 → 1.20.0-alpha-202410110016
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 +3 -25
- package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-CJavB0fv.js → ChatMessageComponentAsRichTextEditBox-B1i-YRoN.js} +2 -2
- package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-CJavB0fv.js.map → ChatMessageComponentAsRichTextEditBox-B1i-YRoN.js.map} +1 -1
- package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-DopZRsd3.js → RichTextSendBoxWrapper-D5odi2AE.js} +2 -2
- package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-DopZRsd3.js.map → RichTextSendBoxWrapper-D5odi2AE.js.map} +1 -1
- package/dist/dist-cjs/communication-react/{index-X1fv8B3Q.js → index-BYN3MK0Z.js} +192 -135
- package/dist/dist-cjs/communication-react/index-BYN3MK0Z.js.map +1 -0
- package/dist/dist-cjs/communication-react/index.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +1 -1
- package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js +3 -2
- package/dist/dist-esm/react-components/src/components/Attachment/AttachmentCard.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js +6 -3
- package/dist/dist-esm/react-components/src/components/ChatMessage/ChatMessageContent.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js +6 -4
- package/dist/dist-esm/react-components/src/components/Dialpad/Dialpad.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/GridLayout.js +3 -0
- package/dist/dist-esm/react-components/src/components/GridLayout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +4 -5
- package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js +3 -0
- package/dist/dist-esm/react-components/src/components/LocalVideoCameraButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js +2 -1
- package/dist/dist-esm/react-components/src/components/MeetingConferencePhoneInfo.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MessageThread.js +3 -3
- package/dist/dist-esm/react-components/src/components/MessageThread.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/MicrophoneButton.d.ts +0 -9
- package/dist/dist-esm/react-components/src/components/MicrophoneButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js +2 -1
- package/dist/dist-esm/react-components/src/components/ModalClone/ModalClone.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js +1 -1
- package/dist/dist-esm/react-components/src/components/ParticipantItem.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ReactionButton.js +27 -35
- package/dist/dist-esm/react-components/src/components/ReactionButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +9 -3
- package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js +1 -1
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/TextFieldWithMention.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js +10 -11
- package/dist/dist-esm/react-components/src/components/TextFieldWithMention/mentionTagUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VerticalGallery.js +2 -1
- package/dist/dist-esm/react-components/src/components/VerticalGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +3 -3
- package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +6 -2
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js +5 -4
- package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteContentShareReactionOverlay.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js +15 -18
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/videoGalleryLayoutUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery.js +3 -3
- package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoTile.js +3 -0
- package/dist/dist-esm/react-components/src/components/VideoTile.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.d.ts +13 -6
- package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js +47 -19
- package/dist/dist-esm/react-components/src/components/styles/ReactionButton.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.d.ts +0 -6
- package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js +6 -41
- package/dist/dist-esm/react-components/src/components/styles/ReactionOverlay.style.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js +4 -1
- package/dist/dist-esm/react-components/src/components/utils/RichTextEditorUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js +3 -0
- package/dist/dist-esm/react-components/src/components/utils/RichTextTableUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/utils/responsive.js +6 -0
- package/dist/dist-esm/react-components/src/components/utils/responsive.js.map +1 -1
- package/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +0 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +0 -5
- package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +3 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +0 -4
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.d.ts +0 -3
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/state/CallWithChatAdapterState.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js +3 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CommonCallControlBar.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependency.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependency.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependency.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependencyLazy.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependencyLazy.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/resolveDeepNoiseSuppressionDependencyLazy.js.map +1 -1
- package/package.json +1 -1
- package/dist/dist-cjs/communication-react/index-X1fv8B3Q.js.map +0 -1
@@ -188,7 +188,7 @@ function getDefaultExportFromCjs (x) {
|
|
188
188
|
// Copyright (c) Microsoft Corporation.
|
189
189
|
// Licensed under the MIT License.
|
190
190
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
191
|
-
var telemetryVersion = '1.20.0-alpha-
|
191
|
+
var telemetryVersion = '1.20.0-alpha-202410110016';
|
192
192
|
|
193
193
|
|
194
194
|
var telemetryVersion$1 = /*@__PURE__*/getDefaultExportFromCjs(telemetryVersion);
|
@@ -7248,6 +7248,9 @@ const GridLayout = (props) => {
|
|
7248
7248
|
const [currentHeight, setCurrentHeight] = React.useState(0);
|
7249
7249
|
const containerRef = React.useRef(null);
|
7250
7250
|
const observer = React.useRef(new ResizeObserver((entries) => {
|
7251
|
+
if (!entries[0]) {
|
7252
|
+
return;
|
7253
|
+
}
|
7251
7254
|
const { width, height } = entries[0].contentRect;
|
7252
7255
|
setCurrentWidth(width);
|
7253
7256
|
setCurrentHeight(height);
|
@@ -8254,7 +8257,7 @@ const updateHTML = (props) => {
|
|
8254
8257
|
let changeNewEndIndex;
|
8255
8258
|
for (let i = 0; i < tags.length; i++) {
|
8256
8259
|
const tag = tags[i];
|
8257
|
-
if (tag.plainTextBeginIndex === undefined) {
|
8260
|
+
if ((tag === null || tag === void 0 ? void 0 : tag.plainTextBeginIndex) === undefined) {
|
8258
8261
|
continue;
|
8259
8262
|
}
|
8260
8263
|
// all plain text indexes includes trigger length for the mention that shouldn't be included in
|
@@ -8677,7 +8680,7 @@ const getDisplayNameForMentionSuggestion = (suggestion, localeStrings) => {
|
|
8677
8680
|
* @returns An array of tags and the plain text representation
|
8678
8681
|
*/
|
8679
8682
|
const textToTagParser = (text, trigger) => {
|
8680
|
-
var _a, _b;
|
8683
|
+
var _a, _b, _c;
|
8681
8684
|
const tags = []; // Tags passed back to the caller
|
8682
8685
|
const tagParseStack = []; // Local stack to use while parsing
|
8683
8686
|
let plainTextRepresentation = '';
|
@@ -8723,13 +8726,13 @@ const textToTagParser = (text, trigger) => {
|
|
8723
8726
|
trigger +
|
8724
8727
|
plainTextRepresentation.slice(currentOpenTag.plainTextBeginIndex);
|
8725
8728
|
}
|
8729
|
+
const lastSubTag = (_a = currentOpenTag.subTags) === null || _a === void 0 ? void 0 : _a[currentOpenTag.subTags.length - 1];
|
8726
8730
|
if (!currentOpenTag.subTags) {
|
8727
8731
|
plainTextRepresentation += unEscapeHtmlCharacters(currentOpenTag.content);
|
8728
8732
|
}
|
8729
|
-
else if (
|
8733
|
+
else if (lastSubTag) {
|
8730
8734
|
// Add text after the last tag
|
8731
|
-
const
|
8732
|
-
const startOfRemainingText = ((_a = lastSubTag.closingTagIndex) !== null && _a !== void 0 ? _a : lastSubTag.openTagIndex) + lastSubTag.tagType.length + 3;
|
8735
|
+
const startOfRemainingText = ((_b = lastSubTag === null || lastSubTag === void 0 ? void 0 : lastSubTag.closingTagIndex) !== null && _b !== void 0 ? _b : lastSubTag.openTagIndex) + lastSubTag.tagType.length + 3;
|
8733
8736
|
const trailingText = currentOpenTag.content.substring(startOfRemainingText);
|
8734
8737
|
plainTextRepresentation += unEscapeHtmlCharacters(trailingText);
|
8735
8738
|
}
|
@@ -8740,7 +8743,7 @@ const textToTagParser = (text, trigger) => {
|
|
8740
8743
|
throw new Error('Unexpected close tag found. Got "' +
|
8741
8744
|
closeTagType +
|
8742
8745
|
'" but expected "' +
|
8743
|
-
((
|
8746
|
+
((_c = tagParseStack[tagParseStack.length - 1]) === null || _c === void 0 ? void 0 : _c.tagType) +
|
8744
8747
|
'"');
|
8745
8748
|
}
|
8746
8749
|
}
|
@@ -8750,11 +8753,10 @@ const textToTagParser = (text, trigger) => {
|
|
8750
8753
|
return { tags, plainText: plainTextRepresentation };
|
8751
8754
|
};
|
8752
8755
|
const parseOpenTag = (tag, startIdx) => {
|
8753
|
-
|
8754
|
-
|
8755
|
-
|
8756
|
-
|
8757
|
-
.replace('/', '');
|
8756
|
+
var _a;
|
8757
|
+
let tagType = tag.substring(1, tag.length - 1);
|
8758
|
+
tagType = (_a = tagType.split(' ')[0]) !== null && _a !== void 0 ? _a : tagType;
|
8759
|
+
tagType = tagType.toLowerCase().replace('/', '');
|
8758
8760
|
return {
|
8759
8761
|
tagType,
|
8760
8762
|
openTagIndex: startIdx,
|
@@ -9559,7 +9561,7 @@ const TextFieldWithMention = (props) => {
|
|
9559
9561
|
return undefined;
|
9560
9562
|
}
|
9561
9563
|
const currentMention = mentionSuggestions[activeSuggestionIndex !== null && activeSuggestionIndex !== void 0 ? activeSuggestionIndex : 0];
|
9562
|
-
return (currentMention === null || currentMention === void 0 ? void 0 : currentMention.displayText.length) > 0
|
9564
|
+
return currentMention && (currentMention === null || currentMention === void 0 ? void 0 : currentMention.displayText.length) > 0
|
9563
9565
|
? currentMention === null || currentMention === void 0 ? void 0 : currentMention.displayText
|
9564
9566
|
: localeStrings.participantItem.displayNamePlaceholder;
|
9565
9567
|
}, [activeSuggestionIndex, mentionSuggestions, localeStrings.participantItem.displayNamePlaceholder]);
|
@@ -10047,13 +10049,14 @@ const _AttachmentCard = (props) => {
|
|
10047
10049
|
};
|
10048
10050
|
const MappedMenuItems = (menuActions, attachment, handleOnClickError) => {
|
10049
10051
|
const localeStrings = useLocaleAttachmentCardStringsTrampoline();
|
10050
|
-
if (menuActions
|
10052
|
+
if (!menuActions[0]) {
|
10051
10053
|
return React.createElement(React.Fragment, null);
|
10052
10054
|
}
|
10053
10055
|
return menuActions.length === 1 ? (React.createElement(react.TooltipHost, { content: menuActions[0].name },
|
10054
10056
|
React.createElement(reactComponents.ToolbarButton, { "aria-label": menuActions[0].name, role: "button", icon: menuActions[0].icon, onClick: () => {
|
10057
|
+
var _a;
|
10055
10058
|
try {
|
10056
|
-
menuActions[0].onClick(attachment);
|
10059
|
+
(_a = menuActions[0]) === null || _a === void 0 ? void 0 : _a.onClick(attachment);
|
10057
10060
|
}
|
10058
10061
|
catch (e) {
|
10059
10062
|
handleOnClickError === null || handleOnClickError === void 0 ? void 0 : handleOnClickError(e.message);
|
@@ -11517,7 +11520,7 @@ const getPreviousInlineImages = (content) => {
|
|
11517
11520
|
const getRemovedInlineImages = (content, previousInlineImages) => {
|
11518
11521
|
const document = new DOMParser().parseFromString(content !== null && content !== void 0 ? content : '', 'text/html');
|
11519
11522
|
const currentContentIds = Array.from(document.querySelectorAll('img')).map((img) => img.id);
|
11520
|
-
previousInlineImages = previousInlineImages === null || previousInlineImages === void 0 ? void 0 : previousInlineImages.filter((img) => !(currentContentIds === null || currentContentIds === void 0 ? void 0 : currentContentIds.includes(img.id)));
|
11523
|
+
previousInlineImages = previousInlineImages === null || previousInlineImages === void 0 ? void 0 : previousInlineImages.filter((img) => !!img.id && !(currentContentIds === null || currentContentIds === void 0 ? void 0 : currentContentIds.includes(img.id)));
|
11521
11524
|
const removedInlineImages = [...previousInlineImages];
|
11522
11525
|
return removedInlineImages;
|
11523
11526
|
};
|
@@ -11593,6 +11596,9 @@ const scrollToBottomRichTextEditor = () => {
|
|
11593
11596
|
*/
|
11594
11597
|
const removeLocalBlobs = (currentLocalBlobMap, removedInlineImages) => {
|
11595
11598
|
removedInlineImages.forEach((image) => {
|
11599
|
+
if (!image.id) {
|
11600
|
+
return;
|
11601
|
+
}
|
11596
11602
|
removeSingleLocalBlob(currentLocalBlobMap, image.id);
|
11597
11603
|
});
|
11598
11604
|
};
|
@@ -11847,6 +11853,9 @@ function createKey(row, column) {
|
|
11847
11853
|
*/
|
11848
11854
|
function parseKey(key) {
|
11849
11855
|
const [row, column] = key.split(',');
|
11856
|
+
if (row === undefined || column === undefined) {
|
11857
|
+
throw new Error('Invalid key format');
|
11858
|
+
}
|
11850
11859
|
return {
|
11851
11860
|
row: parseInt(row),
|
11852
11861
|
column: parseInt(column)
|
@@ -12668,7 +12677,12 @@ const RichTextEditor = React.forwardRef((props, ref) => {
|
|
12668
12677
|
if (onInsertInlineImage) {
|
12669
12678
|
copyPastePlugin.onInsertInlineImage = (imageAttributes) => {
|
12670
12679
|
const { id, src } = imageAttributes;
|
12671
|
-
setInlineImageLocalBlobs(
|
12680
|
+
setInlineImageLocalBlobs((prev) => {
|
12681
|
+
if (!id || !src) {
|
12682
|
+
return prev;
|
12683
|
+
}
|
12684
|
+
return Object.assign(Object.assign({}, prev), { [id]: src });
|
12685
|
+
});
|
12672
12686
|
onInsertInlineImage(imageAttributes);
|
12673
12687
|
};
|
12674
12688
|
}
|
@@ -12676,7 +12690,7 @@ const RichTextEditor = React.forwardRef((props, ref) => {
|
|
12676
12690
|
copyPastePlugin.onInsertInlineImage = undefined;
|
12677
12691
|
}
|
12678
12692
|
undoRedoPlugin.onInsertInlineImage = onInsertInlineImage;
|
12679
|
-
}, [copyPastePlugin,
|
12693
|
+
}, [copyPastePlugin, onInsertInlineImage, undoRedoPlugin]);
|
12680
12694
|
React.useEffect(() => {
|
12681
12695
|
undoRedoPlugin.onUpdateContent = () => {
|
12682
12696
|
onChangeContent(/* @conditional-compile-remove(rich-text-editor-image-upload) */ true);
|
@@ -12845,8 +12859,9 @@ const createEditorInitialModel = (initialContent, contentModel) => {
|
|
12845
12859
|
}
|
12846
12860
|
};
|
12847
12861
|
const setSelectionAfterLastSegment = (model, block) => {
|
12862
|
+
var _a;
|
12848
12863
|
//selection marker should have the same format as the last segment if any
|
12849
|
-
const format = block.segments.length > 0 ? block.segments[block.segments.length - 1].format : undefined;
|
12864
|
+
const format = block.segments.length > 0 ? (_a = block.segments[block.segments.length - 1]) === null || _a === void 0 ? void 0 : _a.format : undefined;
|
12850
12865
|
const marker = roosterjsContentModelDom.createSelectionMarker(format);
|
12851
12866
|
block.segments.push(marker);
|
12852
12867
|
roosterjsContentModelDom.setSelection(model, marker);
|
@@ -14089,6 +14104,9 @@ const delay = (delay) => {
|
|
14089
14104
|
const _useContainerWidth = (containerRef) => {
|
14090
14105
|
const [width, setWidth] = React.useState(undefined);
|
14091
14106
|
const observer = React.useRef(new ResizeObserver((entries) => {
|
14107
|
+
if (!entries[0]) {
|
14108
|
+
return;
|
14109
|
+
}
|
14092
14110
|
const { width } = entries[0].contentRect;
|
14093
14111
|
if (Number.isNaN(width)) {
|
14094
14112
|
setWidth(0);
|
@@ -14117,6 +14135,9 @@ const _useContainerWidth = (containerRef) => {
|
|
14117
14135
|
const _useContainerHeight = (containerRef) => {
|
14118
14136
|
const [height, setHeight] = React.useState(undefined);
|
14119
14137
|
const observer = React.useRef(new ResizeObserver((entries) => {
|
14138
|
+
if (!entries[0]) {
|
14139
|
+
return;
|
14140
|
+
}
|
14120
14141
|
const { height } = entries[0].contentRect;
|
14121
14142
|
if (Number.isNaN(height)) {
|
14122
14143
|
setHeight(0);
|
@@ -14702,7 +14723,7 @@ const processHtmlToReact = (props) => {
|
|
14702
14723
|
if (domNode instanceof parse.Element && domNode.attribs) {
|
14703
14724
|
// Transform custom rendering of mentions
|
14704
14725
|
/* @conditional-compile-remove(mention) */
|
14705
|
-
if (domNode.name === 'msft-mention') {
|
14726
|
+
if (domNode.name === 'msft-mention' && domNode.attribs.id) {
|
14706
14727
|
const { id } = domNode.attribs;
|
14707
14728
|
const mention = {
|
14708
14729
|
id: id,
|
@@ -14715,7 +14736,9 @@ const processHtmlToReact = (props) => {
|
|
14715
14736
|
}
|
14716
14737
|
// Transform inline images
|
14717
14738
|
if (domNode.name && domNode.name === 'img' && domNode.attribs && domNode.attribs.id) {
|
14718
|
-
|
14739
|
+
if (domNode.attribs.name) {
|
14740
|
+
domNode.attribs['aria-label'] = domNode.attribs.name;
|
14741
|
+
}
|
14719
14742
|
const imgProps = parse.attributesToProps(domNode.attribs);
|
14720
14743
|
const inlineImageProps = { messageId: props.message.messageId, imageAttributes: imgProps };
|
14721
14744
|
return ((_c = props.inlineImageOptions) === null || _c === void 0 ? void 0 : _c.onRenderInlineImage)
|
@@ -14751,7 +14774,8 @@ const decodeEntities = (encodedString) => {
|
|
14751
14774
|
// Find all matches of HTML entities defined in translate_re and
|
14752
14775
|
// replace them with the corresponding character from the translate object.
|
14753
14776
|
.replace(translate_re, function (match, entity) {
|
14754
|
-
|
14777
|
+
var _a;
|
14778
|
+
return (_a = translate[entity]) !== null && _a !== void 0 ? _a : match;
|
14755
14779
|
})
|
14756
14780
|
// Find numeric entities (e.g., A)
|
14757
14781
|
// and replace them with the equivalent character using the String.fromCharCode method,
|
@@ -15316,7 +15340,7 @@ class _ErrorBoundary extends React.Component {
|
|
15316
15340
|
// Copyright (c) Microsoft Corporation.
|
15317
15341
|
// Licensed under the MIT License.
|
15318
15342
|
/* @conditional-compile-remove(rich-text-editor) */
|
15319
|
-
const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-
|
15343
|
+
const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-B1i-YRoN.js'); }));
|
15320
15344
|
/**
|
15321
15345
|
* @private
|
15322
15346
|
* Use this function to load RoosterJS dependencies early in the lifecycle.
|
@@ -15324,7 +15348,7 @@ const ChatMessageComponentAsRichTextEditBox = React.lazy(() => Promise.resolve()
|
|
15324
15348
|
*
|
15325
15349
|
* @conditional-compile-remove(rich-text-editor)
|
15326
15350
|
*/
|
15327
|
-
const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-
|
15351
|
+
const loadChatMessageComponentAsRichTextEditBox = () => Promise.resolve().then(function () { return require('./ChatMessageComponentAsRichTextEditBox-B1i-YRoN.js'); });
|
15328
15352
|
/**
|
15329
15353
|
* @private
|
15330
15354
|
*/
|
@@ -15863,7 +15887,7 @@ const isMessageSame = (first, second) => {
|
|
15863
15887
|
const getLatestChatMessage = (messages) => {
|
15864
15888
|
for (let i = messages.length - 1; i >= 0; i--) {
|
15865
15889
|
const message = messages[i];
|
15866
|
-
if (message.messageType === 'chat' && !!message.createdOn) {
|
15890
|
+
if ((message === null || message === void 0 ? void 0 : message.messageType) === 'chat' && !!message.createdOn) {
|
15867
15891
|
return message;
|
15868
15892
|
}
|
15869
15893
|
}
|
@@ -15948,7 +15972,7 @@ const memoizeAllMessages = memoizeFnAll((message, showMessageDate, showMessageSt
|
|
15948
15972
|
const getLastChatMessageIdWithStatus = (messages, status) => {
|
15949
15973
|
for (let i = messages.length - 1; i >= 0; i--) {
|
15950
15974
|
const message = messages[i];
|
15951
|
-
if (message.messageType === 'chat' && message.status === status && message.mine) {
|
15975
|
+
if ((message === null || message === void 0 ? void 0 : message.messageType) === 'chat' && message.status === status && message.mine) {
|
15952
15976
|
return message.messageId;
|
15953
15977
|
}
|
15954
15978
|
}
|
@@ -15957,7 +15981,7 @@ const getLastChatMessageIdWithStatus = (messages, status) => {
|
|
15957
15981
|
const getLastChatMessageForCurrentUser = (messages) => {
|
15958
15982
|
for (let i = messages.length - 1; i >= 0; i--) {
|
15959
15983
|
const message = messages[i];
|
15960
|
-
if (message.messageType === 'chat' && message.mine) {
|
15984
|
+
if ((message === null || message === void 0 ? void 0 : message.messageType) === 'chat' && message.mine) {
|
15961
15985
|
return message;
|
15962
15986
|
}
|
15963
15987
|
}
|
@@ -16631,7 +16655,7 @@ const ParticipantItem = (props) => {
|
|
16631
16655
|
};
|
16632
16656
|
const menuButton = React.useMemo(() => (React.createElement(react.Stack, { horizontal: true, horizontalAlign: "end", className: react.mergeStyles(menuButtonContainerStyle, { color: theme.palette.neutralPrimary }), title: strings.menuTitle, "data-ui-id": ids.participantItemMenuButton },
|
16633
16657
|
React.createElement(react.Icon, { iconName: "ParticipantItemOptionsHovered", className: react.mergeStyles(iconStyles$3, !showMenuIcon ? displayNoneStyle : {}) }))), [theme.palette.neutralPrimary, strings.menuTitle, ids.participantItemMenuButton, showMenuIcon]);
|
16634
|
-
return (React.createElement("div", { ref: containerRef, role: 'menuitem', "aria-disabled": (menuItems && menuItems.length > 0) || props.onClick ? false : true, "data-is-focusable": true, "data-ui-id": "participant-item", className: react.mergeStyles(participantItemContainerStyle({ clickable: !!menuItems && menuItems.length > 0 }, theme), styles === null || styles === void 0 ? void 0 : styles.root), onMouseEnter: () => setItemHovered(true), onMouseLeave: () => setItemHovered(false), onClick: () => {
|
16658
|
+
return (React.createElement("div", { ref: containerRef, role: 'menuitem', "aria-expanded": !me ? !menuHidden : undefined, "aria-disabled": (menuItems && menuItems.length > 0) || props.onClick ? false : true, "data-is-focusable": true, "data-ui-id": "participant-item", className: react.mergeStyles(participantItemContainerStyle({ clickable: !!menuItems && menuItems.length > 0 }, theme), styles === null || styles === void 0 ? void 0 : styles.root), onMouseEnter: () => setItemHovered(true), onMouseLeave: () => setItemHovered(false), onClick: () => {
|
16635
16659
|
if (!participantStateString) {
|
16636
16660
|
setItemHovered(true);
|
16637
16661
|
setMenuHidden(false);
|
@@ -17325,6 +17349,7 @@ const emojiStyles = (backgroundImage, frameCount) => {
|
|
17325
17349
|
alignItems: 'center',
|
17326
17350
|
backgroundSize: `2.75rem 133.875rem`,
|
17327
17351
|
transition: 'opacity 2s',
|
17352
|
+
minWidth: '2.75rem',
|
17328
17353
|
backgroundColor: 'transparent',
|
17329
17354
|
transform: 'scale(0.6)',
|
17330
17355
|
':hover': {
|
@@ -17340,24 +17365,6 @@ const emojiStyles = (backgroundImage, frameCount) => {
|
|
17340
17365
|
}
|
17341
17366
|
};
|
17342
17367
|
};
|
17343
|
-
/**
|
17344
|
-
*
|
17345
|
-
* @private
|
17346
|
-
*/
|
17347
|
-
const reactionEmojiMenuStyles = () => {
|
17348
|
-
return {
|
17349
|
-
display: 'flex',
|
17350
|
-
justifyContent: 'center',
|
17351
|
-
alignItems: 'center',
|
17352
|
-
flexDirection: 'row',
|
17353
|
-
width: '13.75rem',
|
17354
|
-
height: '2.625rem',
|
17355
|
-
// Ensure that when one emoji is hovered, the other emojis are partially faded out
|
17356
|
-
':hover > :not(:hover)': {
|
17357
|
-
opacity: '0.5'
|
17358
|
-
}
|
17359
|
-
};
|
17360
|
-
};
|
17361
17368
|
/**
|
17362
17369
|
*
|
17363
17370
|
* @private
|
@@ -17368,7 +17375,7 @@ const reactionToolTipHostStyle = () => {
|
|
17368
17375
|
display: 'flex',
|
17369
17376
|
flexDirection: 'column',
|
17370
17377
|
height: '100%',
|
17371
|
-
width: '
|
17378
|
+
width: '2.75rem'
|
17372
17379
|
}
|
17373
17380
|
};
|
17374
17381
|
};
|
@@ -17414,6 +17421,51 @@ const mobileViewEmojiStyles = (backgroundImage, animationPlayState) => {
|
|
17414
17421
|
transform: `${'scale(0.8)' }`
|
17415
17422
|
};
|
17416
17423
|
};
|
17424
|
+
/**
|
17425
|
+
* @private
|
17426
|
+
*/
|
17427
|
+
const reactionButtonStyles = (theme) => ({
|
17428
|
+
rootChecked: {
|
17429
|
+
background: theme.palette.themePrimary,
|
17430
|
+
color: theme.palette.white
|
17431
|
+
},
|
17432
|
+
rootCheckedHovered: {
|
17433
|
+
background: theme.palette.themePrimary,
|
17434
|
+
color: theme.palette.white
|
17435
|
+
},
|
17436
|
+
labelChecked: { color: theme.palette.white }
|
17437
|
+
});
|
17438
|
+
/**
|
17439
|
+
* @private
|
17440
|
+
*/
|
17441
|
+
const reactionItemButtonStyles = {
|
17442
|
+
root: {
|
17443
|
+
border: 'none',
|
17444
|
+
height: '2.75rem',
|
17445
|
+
width: '2.75rem'
|
17446
|
+
}
|
17447
|
+
};
|
17448
|
+
/**
|
17449
|
+
* @private
|
17450
|
+
*/
|
17451
|
+
const reactionButtonCalloutStyles = {
|
17452
|
+
container: {},
|
17453
|
+
root: {},
|
17454
|
+
beak: {},
|
17455
|
+
beakCurtain: {},
|
17456
|
+
calloutMain: {
|
17457
|
+
display: 'flex',
|
17458
|
+
justifyContent: 'center',
|
17459
|
+
alignItems: 'center',
|
17460
|
+
flexDirection: 'row',
|
17461
|
+
width: '13.75rem',
|
17462
|
+
height: '2.625rem',
|
17463
|
+
// Ensure that when one emoji is hovered, the other emojis are partially faded out
|
17464
|
+
':hover > :not(:hover)': {
|
17465
|
+
opacity: '0.5'
|
17466
|
+
}
|
17467
|
+
}
|
17468
|
+
};
|
17417
17469
|
|
17418
17470
|
// Copyright (c) Microsoft Corporation.
|
17419
17471
|
// Licensed under the MIT License.
|
@@ -18153,6 +18205,9 @@ const VideoTile = (props) => {
|
|
18153
18205
|
const callingPalette = theme.callingPalette;
|
18154
18206
|
const isVideoRendered = !!renderElement;
|
18155
18207
|
const observer = React.useRef(new ResizeObserver((entries) => {
|
18208
|
+
if (!entries[0]) {
|
18209
|
+
return;
|
18210
|
+
}
|
18156
18211
|
const { width, height } = entries[0].contentRect;
|
18157
18212
|
const personaCalcSize = Math.min(width, height) / 3;
|
18158
18213
|
// we only want to set the persona size if it has changed
|
@@ -18356,13 +18411,13 @@ const getOrganizedParticipants = (props) => {
|
|
18356
18411
|
currentParticipants: previousGridParticipants,
|
18357
18412
|
maxDominantSpeakers: maxGridParticipants
|
18358
18413
|
}).slice(0, maxGridParticipants);
|
18359
|
-
|
18360
|
-
|
18361
|
-
|
18362
|
-
|
18363
|
-
|
18364
|
-
|
18365
|
-
|
18414
|
+
if (layout === 'speaker') {
|
18415
|
+
if (dominantSpeakers === null || dominantSpeakers === void 0 ? void 0 : dominantSpeakers[0]) {
|
18416
|
+
newGridParticipants = newGridParticipants.filter((p) => p.userId === dominantSpeakers[0]);
|
18417
|
+
}
|
18418
|
+
else {
|
18419
|
+
newGridParticipants = newGridParticipants.slice(1);
|
18420
|
+
}
|
18366
18421
|
}
|
18367
18422
|
const gridParticipantSet = new Set(newGridParticipants.map((p) => p.userId));
|
18368
18423
|
const newOverflowGalleryParticipants = smartDominantSpeakerParticipants({
|
@@ -18387,21 +18442,18 @@ const getOrganizedParticipants = (props) => {
|
|
18387
18442
|
*/
|
18388
18443
|
const useOrganizedParticipants = (props) => {
|
18389
18444
|
var _a, _b;
|
18390
|
-
// map remote participants by userId
|
18391
|
-
const remoteParticipantMap = props.remoteParticipants.reduce((map, remoteParticipant) => {
|
18392
|
-
map[remoteParticipant.userId] = remoteParticipant;
|
18393
|
-
return map;
|
18394
|
-
}, {});
|
18395
18445
|
const spotlightedParticipantUserIds = (_a = props.spotlightedParticipantUserIds) !== null && _a !== void 0 ? _a : [];
|
18396
18446
|
const pinnedParticipantUserIds = (_b = props.pinnedParticipantUserIds) !== null && _b !== void 0 ? _b : [];
|
18397
|
-
//
|
18398
|
-
//
|
18399
|
-
const focusedParticipantUserIdSet = new Set(spotlightedParticipantUserIds.concat(pinnedParticipantUserIds)
|
18400
|
-
|
18401
|
-
|
18447
|
+
// Focussed participants are the participants that are either spotlighted or pinned. Ordered by spotlighted first and then pinned.
|
18448
|
+
// A set is used to dedupe participants.
|
18449
|
+
const focusedParticipantUserIdSet = new Set(spotlightedParticipantUserIds.concat(pinnedParticipantUserIds));
|
18450
|
+
const focusedParticipants = [...focusedParticipantUserIdSet]
|
18451
|
+
.map((userId) => props.remoteParticipants.find((p) => p.userId === userId))
|
18452
|
+
.filter((p) => p !== undefined);
|
18453
|
+
// Unfocused participants are the rest of the participants
|
18454
|
+
const unfocusedParticipants = props.remoteParticipants.filter((p) => !focusedParticipantUserIdSet.has(p.userId));
|
18402
18455
|
const currentGridParticipants = React.useRef([]);
|
18403
18456
|
const currentOverflowGalleryParticipants = React.useRef([]);
|
18404
|
-
const unfocusedParticipants = props.remoteParticipants.filter((p) => !focusedParticipantUserIdSet.has(p.userId));
|
18405
18457
|
const organizedParticipantsArgs = Object.assign(Object.assign({}, props), {
|
18406
18458
|
// if there are focused participants then leave no room in the grid by setting maxGridParticipants to 0
|
18407
18459
|
maxGridParticipants: focusedParticipants.length > 0 || props.isScreenShareActive ? 0 : props.maxGridParticipants, remoteParticipants: unfocusedParticipants, previousGridParticipants: currentGridParticipants.current, previousOverflowParticipants: currentOverflowGalleryParticipants.current });
|
@@ -18656,13 +18708,11 @@ function scaleStartPos(index) {
|
|
18656
18708
|
* It is for the ease of testing and implementation.
|
18657
18709
|
* @private
|
18658
18710
|
*/
|
18659
|
-
const
|
18660
|
-
|
18661
|
-
|
18662
|
-
|
18663
|
-
|
18664
|
-
}
|
18665
|
-
];
|
18711
|
+
const ReactionStyleBucket = {
|
18712
|
+
sizeScale: 0.9,
|
18713
|
+
heightMaxScale: 0.7 * 0.95,
|
18714
|
+
opacityMax: 0.9
|
18715
|
+
};
|
18666
18716
|
/**
|
18667
18717
|
* Return a style bucket based on the number of active sprites.
|
18668
18718
|
* For example, the first three reactions should appear at maximum
|
@@ -18672,8 +18722,7 @@ const ReactionStyleBuckets = [
|
|
18672
18722
|
function getReactionStyleBucket() {
|
18673
18723
|
// Having dynamic emoji size on rendering animation impacts performance of the animation itself.
|
18674
18724
|
// So we are choosing to use a fixed size for all cases.
|
18675
|
-
|
18676
|
-
return ReactionStyleBuckets[index];
|
18725
|
+
return ReactionStyleBucket;
|
18677
18726
|
}
|
18678
18727
|
/**
|
18679
18728
|
* @private
|
@@ -18793,13 +18842,13 @@ const RemoteContentShareReactionOverlay = React.memo((props) => {
|
|
18793
18842
|
return visibleReactionPosition.current.findIndex((item) => item === false);
|
18794
18843
|
};
|
18795
18844
|
const updateVisibleReactions = React.useCallback((reaction, userId) => {
|
18796
|
-
var _a;
|
18845
|
+
var _a, _b;
|
18797
18846
|
const combinedKey = getCombinedKey(userId, reaction.reactionType, reaction.receivedOn);
|
18798
18847
|
const alreadyHandled = ((_a = latestReceivedReaction.current[userId]) === null || _a === void 0 ? void 0 : _a.id) === combinedKey;
|
18799
18848
|
if (alreadyHandled) {
|
18800
18849
|
return;
|
18801
18850
|
}
|
18802
|
-
const activeCount = activeTypeCount.current[reaction.reactionType];
|
18851
|
+
const activeCount = (_b = activeTypeCount.current[reaction.reactionType]) !== null && _b !== void 0 ? _b : 0;
|
18803
18852
|
if (activeCount >= MAX_NUMBER_OF_EMOJIS / NUMBER_OF_EMOJI_TYPES) {
|
18804
18853
|
latestReceivedReaction.current[userId] = {
|
18805
18854
|
id: combinedKey,
|
@@ -18830,8 +18879,9 @@ const RemoteContentShareReactionOverlay = React.memo((props) => {
|
|
18830
18879
|
visibleReactionPosition.current[index] = false;
|
18831
18880
|
activeTypeCount.current[reactionType] -= 1;
|
18832
18881
|
Object.entries(latestReceivedReaction.current).forEach(([userId, reaction]) => {
|
18833
|
-
|
18834
|
-
|
18882
|
+
const userLastReaction = latestReceivedReaction.current[userId];
|
18883
|
+
if (reaction.id === id && userLastReaction) {
|
18884
|
+
userLastReaction.status = 'completedAnimating';
|
18835
18885
|
}
|
18836
18886
|
});
|
18837
18887
|
};
|
@@ -19249,6 +19299,9 @@ const LocalVideoCameraCycleButton = (props) => {
|
|
19249
19299
|
if (cameras && cameras.length > 1 && selectedCamera !== undefined) {
|
19250
19300
|
const index = cameras.findIndex((camera) => selectedCamera.id === camera.id);
|
19251
19301
|
const newCamera = cameras[(index + 1) % cameras.length];
|
19302
|
+
if (!newCamera) {
|
19303
|
+
throw new Error('Camera not found');
|
19304
|
+
}
|
19252
19305
|
onChangeCameraClick(newCamera);
|
19253
19306
|
}
|
19254
19307
|
} }));
|
@@ -19493,12 +19546,11 @@ const HorizontalGallery = (props) => {
|
|
19493
19546
|
const firstIndexOfCurrentPage = page * childrenPerPage;
|
19494
19547
|
const clippedPage = firstIndexOfCurrentPage < numberOfChildren - 1 ? page : lastPage;
|
19495
19548
|
const childrenOnCurrentPage = React.useMemo(() => {
|
19496
|
-
|
19497
|
-
|
19498
|
-
|
19499
|
-
});
|
19549
|
+
const indexes = indexesArray === null || indexesArray === void 0 ? void 0 : indexesArray[clippedPage];
|
19550
|
+
if (!indexes) {
|
19551
|
+
return [];
|
19500
19552
|
}
|
19501
|
-
return [];
|
19553
|
+
return indexes.map((index) => React.Children.toArray(children)[index]);
|
19502
19554
|
}, [indexesArray, clippedPage, children]);
|
19503
19555
|
const showButtons = numberOfChildren > childrenPerPage;
|
19504
19556
|
const disablePreviousButton = page === 0;
|
@@ -19975,8 +20027,9 @@ const VerticalGallery = (props) => {
|
|
19975
20027
|
const firstIndexOfCurrentPage = (page - 1) * childrenPerPage;
|
19976
20028
|
const clippedPage = firstIndexOfCurrentPage < numberOfChildren - 1 ? page : lastPage;
|
19977
20029
|
const childrenOnCurrentPage = React.useMemo(() => {
|
20030
|
+
var _a;
|
19978
20031
|
if (indexesArray[0] !== undefined) {
|
19979
|
-
return indexesArray[clippedPage - 1].map((index) => {
|
20032
|
+
return (_a = indexesArray[clippedPage - 1]) === null || _a === void 0 ? void 0 : _a.map((index) => {
|
19980
20033
|
return React.Children.toArray(children)[index];
|
19981
20034
|
});
|
19982
20035
|
}
|
@@ -20759,11 +20812,12 @@ class DraggableZone extends React__namespace.Component {
|
|
20759
20812
|
* @param touchList The TouchList to look for the stored identifier from dragStart
|
20760
20813
|
*/
|
20761
20814
|
_findTouchInTouchList(touchList) {
|
20815
|
+
var _a;
|
20762
20816
|
if (this._touchId === undefined) {
|
20763
20817
|
return;
|
20764
20818
|
}
|
20765
20819
|
for (let i = 0; i < touchList.length; i++) {
|
20766
|
-
if (touchList[i].identifier === this._touchId) {
|
20820
|
+
if (((_a = touchList[i]) === null || _a === void 0 ? void 0 : _a.identifier) === this._touchId) {
|
20767
20821
|
return touchList[i];
|
20768
20822
|
}
|
20769
20823
|
}
|
@@ -20938,8 +20992,10 @@ const modalMaxDragPosition = {
|
|
20938
20992
|
* @private
|
20939
20993
|
*/
|
20940
20994
|
const FloatingLocalVideo = (props) => {
|
20995
|
+
var _a;
|
20941
20996
|
const { localVideoComponent, layerHostId, localVideoSizeRem, parentWidth, parentHeight } = props;
|
20942
20997
|
const theme = useTheme();
|
20998
|
+
const strings = useLocale$1().strings.videoGallery;
|
20943
20999
|
// The minimum drag position is the top left of the video gallery. i.e. the modal (PiP) should not be able
|
20944
21000
|
// to be dragged offscreen and these are the top and left bounds of that calculation.
|
20945
21001
|
const modalMinDragPosition = React.useMemo(() => parentWidth && parentHeight
|
@@ -20956,7 +21012,8 @@ const FloatingLocalVideo = (props) => {
|
|
20956
21012
|
: undefined, [parentHeight, parentWidth, localVideoSizeRem.width, localVideoSizeRem.height]);
|
20957
21013
|
const modalStyles = React.useMemo(() => floatingLocalVideoModalStyle(theme, localVideoSizeRem), [theme, localVideoSizeRem]);
|
20958
21014
|
const layerProps = React.useMemo(() => ({ hostId: layerHostId }), [layerHostId]);
|
20959
|
-
return (React.createElement(_ModalClone, { isOpen: true, isModeless: true, dragOptions: DRAG_OPTIONS$1, styles: modalStyles, layerProps: layerProps, maxDragPosition: modalMaxDragPosition, minDragPosition: modalMinDragPosition, "data-ui-id": "floating-local-video-host" },
|
21015
|
+
return (React.createElement(_ModalClone, { isOpen: true, isModeless: true, dragOptions: DRAG_OPTIONS$1, styles: modalStyles, layerProps: layerProps, maxDragPosition: modalMaxDragPosition, minDragPosition: modalMinDragPosition, "data-ui-id": "floating-local-video-host" },
|
21016
|
+
React.createElement(react.Stack, { "aria-label": (_a = strings.localVideoMovementAriaLabel) !== null && _a !== void 0 ? _a : strings.localVideoMovementLabel, tabIndex: 0 }, localVideoComponent)));
|
20960
21017
|
};
|
20961
21018
|
|
20962
21019
|
// Copyright (c) Microsoft Corporation.
|
@@ -21368,7 +21425,7 @@ const VideoGallery = (props) => {
|
|
21368
21425
|
* Utility function for memoized rendering of LocalParticipant.
|
21369
21426
|
*/
|
21370
21427
|
const localVideoTile = React.useMemo(() => {
|
21371
|
-
var _a, _b
|
21428
|
+
var _a, _b;
|
21372
21429
|
if (localVideoTileSize === 'hidden') {
|
21373
21430
|
return undefined;
|
21374
21431
|
}
|
@@ -21383,8 +21440,8 @@ const VideoGallery = (props) => {
|
|
21383
21440
|
const showDisplayNameTrampoline = () => {
|
21384
21441
|
return layout === 'default' ? strings.localVideoLabel : isNarrow ? '' : strings.localVideoLabel;
|
21385
21442
|
};
|
21386
|
-
return (React.createElement(react.Stack, { styles: localVideoTileContainerStyles, key: "local-video-tile-key",
|
21387
|
-
React.createElement(_LocalVideoTile, { alwaysShowLabelBackground: videoTilesOptions === null || videoTilesOptions === void 0 ? void 0 : videoTilesOptions.alwaysShowLabelBackground, userId: localParticipant.userId, onCreateLocalStreamView: onCreateLocalStreamView, onDisposeLocalStreamView: onDisposeLocalStreamView, isAvailable: (
|
21443
|
+
return (React.createElement(react.Stack, { styles: localVideoTileContainerStyles, key: "local-video-tile-key", role: 'dialog' },
|
21444
|
+
React.createElement(_LocalVideoTile, { alwaysShowLabelBackground: videoTilesOptions === null || videoTilesOptions === void 0 ? void 0 : videoTilesOptions.alwaysShowLabelBackground, userId: localParticipant.userId, onCreateLocalStreamView: onCreateLocalStreamView, onDisposeLocalStreamView: onDisposeLocalStreamView, isAvailable: (_a = localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.videoStream) === null || _a === void 0 ? void 0 : _a.isAvailable, isMuted: localParticipant.isMuted, renderElement: (_b = localParticipant === null || localParticipant === void 0 ? void 0 : localParticipant.videoStream) === null || _b === void 0 ? void 0 : _b.renderElement, displayName: showDisplayNameTrampoline(), initialsName: initialsName, localVideoViewOptions: localVideoViewOptions, onRenderAvatar: onRenderAvatar, showLabel: showLocalVideoTileLabel, showMuteIndicator: showMuteIndicator, showCameraSwitcherInLocalPreview: showCameraSwitcherInLocalPreview, localVideoCameraCycleButtonProps: localVideoCameraCycleButtonProps, localVideoCameraSwitcherLabel: strings.localVideoCameraSwitcherLabel, localVideoSelectedDescription: strings.localVideoSelectedDescription, styles: localVideoTileStyles, raisedHand: localParticipant.raisedHand, reaction: localParticipant.reaction, spotlightedParticipantUserIds: spotlightedParticipants, isSpotlighted: isSpotlighted, onStartSpotlight: onStartLocalSpotlight, onStopSpotlight: onStopLocalSpotlight, maxParticipantsToSpotlight: maxParticipantsToSpotlight, menuKind: remoteVideoTileMenu ? (remoteVideoTileMenu.kind === 'drawer' ? 'drawer' : 'contextual') : undefined, drawerMenuHostId: drawerMenuHostId, strings: strings, reactionResources: reactionResources, participantsCount: remoteParticipants.length + 1 })));
|
21388
21445
|
}, [
|
21389
21446
|
isNarrow,
|
21390
21447
|
localParticipant,
|
@@ -22851,41 +22908,34 @@ const ReactionButton = (props) => {
|
|
22851
22908
|
]);
|
22852
22909
|
const calloutStyle = { root: { padding: 0 }, calloutMain: { padding: '0.5rem' } };
|
22853
22910
|
const calloutProps = {
|
22854
|
-
gapSpace: 4,
|
22855
22911
|
styles: calloutStyle,
|
22856
22912
|
backgroundColor: isDarkThemed(theme) ? theme.palette.neutralLighter : ''
|
22857
22913
|
};
|
22858
|
-
const
|
22859
|
-
const
|
22860
|
-
|
22861
|
-
|
22862
|
-
|
22863
|
-
|
22864
|
-
|
22865
|
-
|
22866
|
-
|
22867
|
-
|
22868
|
-
|
22869
|
-
|
22870
|
-
|
22871
|
-
|
22872
|
-
|
22873
|
-
|
22874
|
-
|
22875
|
-
|
22876
|
-
|
22914
|
+
const reactionButtonCalloutRef = React.useRef(null);
|
22915
|
+
const reactionButtonRef = React.useRef(null);
|
22916
|
+
const [calloutIsVisible, setCalloutIsVisible] = React.useState(false);
|
22917
|
+
return (React.createElement(react.Stack, null,
|
22918
|
+
calloutIsVisible && (React.createElement(react.Callout, { "data-ui-id": "reaction-sub-menu", isBeakVisible: false, styles: reactionButtonCalloutStyles, target: reactionButtonCalloutRef.current, onDismiss: () => {
|
22919
|
+
var _a;
|
22920
|
+
(_a = reactionButtonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
22921
|
+
setCalloutIsVisible(false);
|
22922
|
+
} },
|
22923
|
+
React.createElement(react.FocusZone, { shouldFocusOnMount: true, style: { height: '100%' } },
|
22924
|
+
React.createElement(react.Stack, { horizontal: true, style: { height: 'inherit' } }, emojis.map((emoji, index) => {
|
22925
|
+
const resourceUrl = emojiResource.get(emoji);
|
22926
|
+
const frameCount = props.reactionResources !== undefined ? getEmojiFrameCount(emoji, props.reactionResources) : 0;
|
22927
|
+
const classname = react.mergeStyles(emojiStyles(resourceUrl ? resourceUrl : '', frameCount));
|
22928
|
+
return (React.createElement(react.TooltipHost, { key: index, "data-ui-id": index, hidden: props.disableTooltip, content: emojiButtonTooltip.get(emoji), styles: reactionToolTipHostStyle(), calloutProps: Object.assign({}, calloutProps) },
|
22929
|
+
React.createElement(react.DefaultButton, { role: "menuitem", key: index, onClick: () => {
|
22930
|
+
var _a;
|
22931
|
+
props.onReactionClick(emoji);
|
22932
|
+
(_a = reactionButtonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
22933
|
+
setCalloutIsVisible(false);
|
22934
|
+
}, className: classname, styles: reactionItemButtonStyles, "aria-label": emojiButtonTooltip.get(emoji) })));
|
22935
|
+
}))))),
|
22936
|
+
React.createElement("div", { ref: reactionButtonCalloutRef },
|
22937
|
+
React.createElement(ControlBarButton, Object.assign({}, props, { componentRef: reactionButtonRef, className: react.mergeStyles(styles, props.styles), onClick: () => setCalloutIsVisible(!calloutIsVisible), onRenderIcon: (_f = props.onRenderIcon) !== null && _f !== void 0 ? _f : onRenderIcon, strings: strings, split: true, labelKey: (_g = props.labelKey) !== null && _g !== void 0 ? _g : 'reactionButtonLabel', onRenderMenuIcon: () => React.createElement("div", null), disabled: props.disabled, ariaLabel: strings.ariaLabel })))));
|
22877
22938
|
};
|
22878
|
-
const reactionButtonStyles = (theme) => ({
|
22879
|
-
rootChecked: {
|
22880
|
-
background: theme.palette.themePrimary,
|
22881
|
-
color: react.DefaultPalette.white
|
22882
|
-
},
|
22883
|
-
rootCheckedHovered: {
|
22884
|
-
background: theme.palette.themePrimary,
|
22885
|
-
color: react.DefaultPalette.white
|
22886
|
-
},
|
22887
|
-
labelChecked: { color: react.DefaultPalette.white }
|
22888
|
-
});
|
22889
22939
|
|
22890
22940
|
// Copyright (c) Microsoft Corporation.
|
22891
22941
|
// Licensed under the MIT License.
|
@@ -23308,8 +23358,9 @@ const DialpadContainer = (props) => {
|
|
23308
23358
|
}, [textFieldValue]);
|
23309
23359
|
const onClickDialpad = (input, index) => {
|
23310
23360
|
setText(plainTextValue + input);
|
23311
|
-
|
23312
|
-
|
23361
|
+
const tone = DtmfTones[index];
|
23362
|
+
if (onSendDtmfTone && tone) {
|
23363
|
+
onSendDtmfTone(tone);
|
23313
23364
|
}
|
23314
23365
|
if (onClickDialpadButton) {
|
23315
23366
|
onClickDialpadButton(input, index);
|
@@ -23322,8 +23373,9 @@ const DialpadContainer = (props) => {
|
|
23322
23373
|
else {
|
23323
23374
|
setText(plainTextValue + input);
|
23324
23375
|
}
|
23325
|
-
|
23326
|
-
|
23376
|
+
const tone = DtmfTones[index];
|
23377
|
+
if (onSendDtmfTone && tone) {
|
23378
|
+
onSendDtmfTone(tone);
|
23327
23379
|
}
|
23328
23380
|
if (onClickDialpadButton) {
|
23329
23381
|
onClickDialpadButton(input, index);
|
@@ -24043,7 +24095,7 @@ const _VideoEffectsItem = (props) => {
|
|
24043
24095
|
* @internal
|
24044
24096
|
*/
|
24045
24097
|
const _VideoBackgroundEffectsPicker = (props) => {
|
24046
|
-
var _a, _b, _c;
|
24098
|
+
var _a, _b, _c, _d, _e;
|
24047
24099
|
const [componentControlledSelectedEffectKey, setComponentControlledSelectedEffectKey] = React.useState(props.defaultSelectedEffectKey);
|
24048
24100
|
// Warn the developer if they use the component in an incorrect controlled way.
|
24049
24101
|
reactHooks.useWarnings({
|
@@ -24065,9 +24117,9 @@ const _VideoBackgroundEffectsPicker = (props) => {
|
|
24065
24117
|
const itemsPerRow = (_b = props.itemsPerRow) !== null && _b !== void 0 ? _b : 3;
|
24066
24118
|
const optionsByRow = itemsPerRow === 'wrap' ? [convertedOptions] : chunk(convertedOptions, itemsPerRow);
|
24067
24119
|
// If the final row is not full, fill it with hidden items to ensure layout.
|
24068
|
-
const fillCount = itemsPerRow === 'wrap' ? 0 : itemsPerRow - optionsByRow[optionsByRow.length - 1].length;
|
24120
|
+
const fillCount = itemsPerRow === 'wrap' ? 0 : itemsPerRow - ((_d = (_c = optionsByRow[optionsByRow.length - 1]) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0);
|
24069
24121
|
return (React.createElement(react.Stack, { tokens: { childrenGap: '0.5rem' } },
|
24070
|
-
React.createElement(react.Label, { className: react.mergeStyles((
|
24122
|
+
React.createElement(react.Label, { className: react.mergeStyles((_e = props.styles) === null || _e === void 0 ? void 0 : _e.label) }, props.label),
|
24071
24123
|
optionsByRow.map((options, rowIndex) => {
|
24072
24124
|
var _a;
|
24073
24125
|
return (React.createElement(react.Stack, { className: react.mergeStyles((_a = props.styles) === null || _a === void 0 ? void 0 : _a.rowRoot), wrap: props.itemsPerRow === 'wrap', horizontal: true, key: rowIndex, tokens: { childrenGap: '0.5rem' }, "data-ui-id": "video-effects-picker-row" },
|
@@ -24637,6 +24689,7 @@ const infoConnectionLinkStyle$1 = (theme) => {
|
|
24637
24689
|
* a component for setting spoken languages
|
24638
24690
|
*/
|
24639
24691
|
const MeetingConferencePhoneInfoModal = (props) => {
|
24692
|
+
var _a;
|
24640
24693
|
const { conferencePhoneInfoList, showModal, onDismissMeetingPhoneInfoSettings } = props;
|
24641
24694
|
const theme = react.useTheme();
|
24642
24695
|
const strings = useLocale$1().strings.meetingConferencePhoneInfo;
|
@@ -24683,7 +24736,7 @@ const MeetingConferencePhoneInfoModal = (props) => {
|
|
24683
24736
|
React.createElement(react.Icon, { iconName: "JoinByPhoneConferenceIdIcon", className: phoneInfoIconStyle$1(theme) }))),
|
24684
24737
|
React.createElement(react.Stack.Item, null,
|
24685
24738
|
React.createElement(react.Text, { className: stepTextStyle }, strings === null || strings === void 0 ? void 0 : strings.meetingConferencePhoneInfoModalMeetingId)))),
|
24686
|
-
React.createElement(react.Text, { className: phoneInfoTextStyle$1 }, formatMeetingId(conferencePhoneInfoList[0].conferenceId))),
|
24739
|
+
React.createElement(react.Text, { className: phoneInfoTextStyle$1 }, formatMeetingId((_a = conferencePhoneInfoList[0]) === null || _a === void 0 ? void 0 : _a.conferenceId))),
|
24687
24740
|
React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center" },
|
24688
24741
|
React.createElement(react.Stack, { horizontal: true },
|
24689
24742
|
React.createElement(react.Stack.Item, { className: phoneInfoIcon$1(theme), style: { marginLeft: _pxToRem(2) } },
|
@@ -29795,7 +29848,7 @@ const AttachmentDownloadErrorBar = (props) => {
|
|
29795
29848
|
/**
|
29796
29849
|
* Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox with lazy loading
|
29797
29850
|
*/
|
29798
|
-
const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-
|
29851
|
+
const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-D5odi2AE.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
|
29799
29852
|
/**
|
29800
29853
|
* @private
|
29801
29854
|
* Use this function to load RoosterJS dependencies early in the lifecycle.
|
@@ -29803,7 +29856,7 @@ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function
|
|
29803
29856
|
*
|
29804
29857
|
/* @conditional-compile-remove(rich-text-editor-composite-support)
|
29805
29858
|
*/
|
29806
|
-
const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-
|
29859
|
+
const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-D5odi2AE.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
|
29807
29860
|
/**
|
29808
29861
|
* @private
|
29809
29862
|
*/
|
@@ -32616,7 +32669,9 @@ const CallControls = (props) => {
|
|
32616
32669
|
}
|
32617
32670
|
}, [deepNoiseSuppresionEffectsDependency, deepNoiseSuppressionOnByDefault, startDeepNoiseSuppression]);
|
32618
32671
|
/* @conditional-compile-remove(DNS) */
|
32619
|
-
|
32672
|
+
let environmentInfo = undefined;
|
32673
|
+
/* @conditional-compile-remove(unsupported-browser) */
|
32674
|
+
environmentInfo = useSelector$1(getEnvironmentInfo);
|
32620
32675
|
/* @conditional-compile-remove(DNS) */
|
32621
32676
|
const isSafari = _isSafari(environmentInfo);
|
32622
32677
|
/* @conditional-compile-remove(DNS) */
|
@@ -33771,7 +33826,9 @@ const CommonCallControlBar = (props) => {
|
|
33771
33826
|
yield props.callAdapter.startNoiseSuppressionEffect();
|
33772
33827
|
}), [props.callAdapter]);
|
33773
33828
|
/* @conditional-compile-remove(DNS) */
|
33774
|
-
|
33829
|
+
let environmentInfo = undefined;
|
33830
|
+
/* @conditional-compile-remove(unsupported-browser) */
|
33831
|
+
environmentInfo = props.callAdapter.getState().environmentInfo;
|
33775
33832
|
/* @conditional-compile-remove(DNS) */
|
33776
33833
|
const isSafari = _isSafari(environmentInfo);
|
33777
33834
|
/* @conditional-compile-remove(DNS) */
|
@@ -44092,7 +44149,7 @@ var __awaiter$1 = (window && window.__awaiter) || function (thisArg, _arguments,
|
|
44092
44149
|
/**
|
44093
44150
|
*
|
44094
44151
|
* Dependency resolution for video background effects using lazy loading.
|
44095
|
-
* @
|
44152
|
+
* @public
|
44096
44153
|
*/
|
44097
44154
|
const onResolveDeepNoiseSuppressionDependencyLazy = () => __awaiter$1(void 0, void 0, void 0, function* () {
|
44098
44155
|
const module = yield import('@azure/communication-calling-effects');
|
@@ -44117,7 +44174,7 @@ var __awaiter = (window && window.__awaiter) || function (thisArg, _arguments, P
|
|
44117
44174
|
/**
|
44118
44175
|
*
|
44119
44176
|
* Dependency resolution for video background effects using lazy loading.
|
44120
|
-
* @
|
44177
|
+
* @public
|
44121
44178
|
*/
|
44122
44179
|
const onResolveDeepNoiseSuppressionDependency = () => __awaiter(void 0, void 0, void 0, function* () {
|
44123
44180
|
const audioEffect = {
|
@@ -44358,4 +44415,4 @@ exports.useTeamsCall = useTeamsCall;
|
|
44358
44415
|
exports.useTeamsCallAdapter = useTeamsCallAdapter;
|
44359
44416
|
exports.useTeamsCallAgent = useTeamsCallAgent;
|
44360
44417
|
exports.useTheme = useTheme;
|
44361
|
-
//# sourceMappingURL=index-
|
44418
|
+
//# sourceMappingURL=index-BYN3MK0Z.js.map
|