@azure/communication-react 1.20.0-alpha-202410090016 → 1.20.0-alpha-202410100016
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/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-CJavB0fv.js → ChatMessageComponentAsRichTextEditBox-Dk_okMwX.js} +2 -2
- package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-CJavB0fv.js.map → ChatMessageComponentAsRichTextEditBox-Dk_okMwX.js.map} +1 -1
- package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-DopZRsd3.js → RichTextSendBoxWrapper-C36s6eLH.js} +2 -2
- package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-DopZRsd3.js.map → RichTextSendBoxWrapper-C36s6eLH.js.map} +1 -1
- package/dist/dist-cjs/communication-react/{index-X1fv8B3Q.js → index-C548hWR1.js} +177 -127
- package/dist/dist-cjs/communication-react/index-C548hWR1.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/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/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/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/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/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-202410100016';
|
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-Dk_okMwX.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-Dk_okMwX.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
|
}
|
@@ -22851,41 +22905,34 @@ const ReactionButton = (props) => {
|
|
22851
22905
|
]);
|
22852
22906
|
const calloutStyle = { root: { padding: 0 }, calloutMain: { padding: '0.5rem' } };
|
22853
22907
|
const calloutProps = {
|
22854
|
-
gapSpace: 4,
|
22855
22908
|
styles: calloutStyle,
|
22856
22909
|
backgroundColor: isDarkThemed(theme) ? theme.palette.neutralLighter : ''
|
22857
22910
|
};
|
22858
|
-
const
|
22859
|
-
const
|
22860
|
-
|
22861
|
-
|
22862
|
-
|
22863
|
-
|
22864
|
-
|
22865
|
-
|
22866
|
-
|
22867
|
-
|
22868
|
-
|
22869
|
-
|
22870
|
-
|
22871
|
-
|
22872
|
-
|
22873
|
-
|
22874
|
-
|
22875
|
-
|
22876
|
-
|
22911
|
+
const reactionButtonCalloutRef = React.useRef(null);
|
22912
|
+
const reactionButtonRef = React.useRef(null);
|
22913
|
+
const [calloutIsVisible, setCalloutIsVisible] = React.useState(false);
|
22914
|
+
return (React.createElement(react.Stack, null,
|
22915
|
+
calloutIsVisible && (React.createElement(react.Callout, { "data-ui-id": "reaction-sub-menu", isBeakVisible: false, styles: reactionButtonCalloutStyles, target: reactionButtonCalloutRef.current, onDismiss: () => {
|
22916
|
+
var _a;
|
22917
|
+
(_a = reactionButtonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
22918
|
+
setCalloutIsVisible(false);
|
22919
|
+
} },
|
22920
|
+
React.createElement(react.FocusZone, { shouldFocusOnMount: true, style: { height: '100%' } },
|
22921
|
+
React.createElement(react.Stack, { horizontal: true, style: { height: 'inherit' } }, emojis.map((emoji, index) => {
|
22922
|
+
const resourceUrl = emojiResource.get(emoji);
|
22923
|
+
const frameCount = props.reactionResources !== undefined ? getEmojiFrameCount(emoji, props.reactionResources) : 0;
|
22924
|
+
const classname = react.mergeStyles(emojiStyles(resourceUrl ? resourceUrl : '', frameCount));
|
22925
|
+
return (React.createElement(react.TooltipHost, { key: index, "data-ui-id": index, hidden: props.disableTooltip, content: emojiButtonTooltip.get(emoji), styles: reactionToolTipHostStyle(), calloutProps: Object.assign({}, calloutProps) },
|
22926
|
+
React.createElement(react.DefaultButton, { role: "menuitem", key: index, onClick: () => {
|
22927
|
+
var _a;
|
22928
|
+
props.onReactionClick(emoji);
|
22929
|
+
(_a = reactionButtonRef.current) === null || _a === void 0 ? void 0 : _a.focus();
|
22930
|
+
setCalloutIsVisible(false);
|
22931
|
+
}, className: classname, styles: reactionItemButtonStyles, "aria-label": emojiButtonTooltip.get(emoji) })));
|
22932
|
+
}))))),
|
22933
|
+
React.createElement("div", { ref: reactionButtonCalloutRef },
|
22934
|
+
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
22935
|
};
|
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
22936
|
|
22890
22937
|
// Copyright (c) Microsoft Corporation.
|
22891
22938
|
// Licensed under the MIT License.
|
@@ -23308,8 +23355,9 @@ const DialpadContainer = (props) => {
|
|
23308
23355
|
}, [textFieldValue]);
|
23309
23356
|
const onClickDialpad = (input, index) => {
|
23310
23357
|
setText(plainTextValue + input);
|
23311
|
-
|
23312
|
-
|
23358
|
+
const tone = DtmfTones[index];
|
23359
|
+
if (onSendDtmfTone && tone) {
|
23360
|
+
onSendDtmfTone(tone);
|
23313
23361
|
}
|
23314
23362
|
if (onClickDialpadButton) {
|
23315
23363
|
onClickDialpadButton(input, index);
|
@@ -23322,8 +23370,9 @@ const DialpadContainer = (props) => {
|
|
23322
23370
|
else {
|
23323
23371
|
setText(plainTextValue + input);
|
23324
23372
|
}
|
23325
|
-
|
23326
|
-
|
23373
|
+
const tone = DtmfTones[index];
|
23374
|
+
if (onSendDtmfTone && tone) {
|
23375
|
+
onSendDtmfTone(tone);
|
23327
23376
|
}
|
23328
23377
|
if (onClickDialpadButton) {
|
23329
23378
|
onClickDialpadButton(input, index);
|
@@ -24043,7 +24092,7 @@ const _VideoEffectsItem = (props) => {
|
|
24043
24092
|
* @internal
|
24044
24093
|
*/
|
24045
24094
|
const _VideoBackgroundEffectsPicker = (props) => {
|
24046
|
-
var _a, _b, _c;
|
24095
|
+
var _a, _b, _c, _d, _e;
|
24047
24096
|
const [componentControlledSelectedEffectKey, setComponentControlledSelectedEffectKey] = React.useState(props.defaultSelectedEffectKey);
|
24048
24097
|
// Warn the developer if they use the component in an incorrect controlled way.
|
24049
24098
|
reactHooks.useWarnings({
|
@@ -24065,9 +24114,9 @@ const _VideoBackgroundEffectsPicker = (props) => {
|
|
24065
24114
|
const itemsPerRow = (_b = props.itemsPerRow) !== null && _b !== void 0 ? _b : 3;
|
24066
24115
|
const optionsByRow = itemsPerRow === 'wrap' ? [convertedOptions] : chunk(convertedOptions, itemsPerRow);
|
24067
24116
|
// 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;
|
24117
|
+
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
24118
|
return (React.createElement(react.Stack, { tokens: { childrenGap: '0.5rem' } },
|
24070
|
-
React.createElement(react.Label, { className: react.mergeStyles((
|
24119
|
+
React.createElement(react.Label, { className: react.mergeStyles((_e = props.styles) === null || _e === void 0 ? void 0 : _e.label) }, props.label),
|
24071
24120
|
optionsByRow.map((options, rowIndex) => {
|
24072
24121
|
var _a;
|
24073
24122
|
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 +24686,7 @@ const infoConnectionLinkStyle$1 = (theme) => {
|
|
24637
24686
|
* a component for setting spoken languages
|
24638
24687
|
*/
|
24639
24688
|
const MeetingConferencePhoneInfoModal = (props) => {
|
24689
|
+
var _a;
|
24640
24690
|
const { conferencePhoneInfoList, showModal, onDismissMeetingPhoneInfoSettings } = props;
|
24641
24691
|
const theme = react.useTheme();
|
24642
24692
|
const strings = useLocale$1().strings.meetingConferencePhoneInfo;
|
@@ -24683,7 +24733,7 @@ const MeetingConferencePhoneInfoModal = (props) => {
|
|
24683
24733
|
React.createElement(react.Icon, { iconName: "JoinByPhoneConferenceIdIcon", className: phoneInfoIconStyle$1(theme) }))),
|
24684
24734
|
React.createElement(react.Stack.Item, null,
|
24685
24735
|
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))),
|
24736
|
+
React.createElement(react.Text, { className: phoneInfoTextStyle$1 }, formatMeetingId((_a = conferencePhoneInfoList[0]) === null || _a === void 0 ? void 0 : _a.conferenceId))),
|
24687
24737
|
React.createElement(react.Stack, { horizontal: true, horizontalAlign: "space-between", verticalAlign: "center" },
|
24688
24738
|
React.createElement(react.Stack, { horizontal: true },
|
24689
24739
|
React.createElement(react.Stack.Item, { className: phoneInfoIcon$1(theme), style: { marginLeft: _pxToRem(2) } },
|
@@ -29795,7 +29845,7 @@ const AttachmentDownloadErrorBar = (props) => {
|
|
29795
29845
|
/**
|
29796
29846
|
* Wrapper for RichTextSendBox component to allow us to use usePropsFor with richTextSendBox with lazy loading
|
29797
29847
|
*/
|
29798
|
-
const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-
|
29848
|
+
const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-C36s6eLH.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper })));
|
29799
29849
|
/**
|
29800
29850
|
* @private
|
29801
29851
|
* Use this function to load RoosterJS dependencies early in the lifecycle.
|
@@ -29803,7 +29853,7 @@ const RichTextSendBoxWrapper = React.lazy(() => Promise.resolve().then(function
|
|
29803
29853
|
*
|
29804
29854
|
/* @conditional-compile-remove(rich-text-editor-composite-support)
|
29805
29855
|
*/
|
29806
|
-
const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-
|
29856
|
+
const loadRichTextSendBox = () => Promise.resolve().then(function () { return require('./RichTextSendBoxWrapper-C36s6eLH.js'); }).then((module) => ({ default: module.RichTextSendBoxWrapper }));
|
29807
29857
|
/**
|
29808
29858
|
* @private
|
29809
29859
|
*/
|
@@ -44358,4 +44408,4 @@ exports.useTeamsCall = useTeamsCall;
|
|
44358
44408
|
exports.useTeamsCallAdapter = useTeamsCallAdapter;
|
44359
44409
|
exports.useTeamsCallAgent = useTeamsCallAgent;
|
44360
44410
|
exports.useTheme = useTheme;
|
44361
|
-
//# sourceMappingURL=index-
|
44411
|
+
//# sourceMappingURL=index-C548hWR1.js.map
|