@azure/communication-react 1.5.1-alpha-202305260013 → 1.5.1-alpha-202305270013

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.
Files changed (33) hide show
  1. package/dist/communication-react.d.ts +2 -2
  2. package/dist/dist-cjs/communication-react/index.js +168 -42
  3. package/dist/dist-cjs/communication-react/index.js.map +1 -1
  4. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  5. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  6. package/dist/dist-esm/react-components/src/components/DevicesButton.js +9 -0
  7. package/dist/dist-esm/react-components/src/components/DevicesButton.js.map +1 -1
  8. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.d.ts +5 -0
  9. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js +1 -1
  10. package/dist/dist-esm/react-components/src/components/Drawer/DrawerMenu.js.map +1 -1
  11. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.d.ts +5 -0
  12. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js +23 -5
  13. package/dist/dist-esm/react-components/src/components/Drawer/DrawerSurface.js.map +1 -1
  14. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js +127 -28
  15. package/dist/dist-esm/react-components/src/components/InputBoxComponent.js.map +1 -1
  16. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js +2 -1
  17. package/dist/dist-esm/react-components/src/components/styles/VideoTile.styles.js.map +1 -1
  18. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +2 -2
  19. package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
  20. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js +3 -3
  21. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallReadinessModal.js.map +1 -1
  22. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +1 -1
  23. package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
  24. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js +1 -1
  25. package/dist/dist-esm/react-composites/src/composites/common/AddPeopleDropdown.js.map +1 -1
  26. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js +1 -1
  27. package/dist/dist-esm/react-composites/src/composites/common/CallingDialpad.js.map +1 -1
  28. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.styles.js +0 -1
  29. package/dist/dist-esm/react-composites/src/composites/common/Drawer/SpokenLanguageDrawer.styles.js.map +1 -1
  30. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js +1 -1
  31. package/dist/dist-esm/react-composites/src/composites/common/SendDtmfDialpad.js.map +1 -1
  32. package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
  33. package/package.json +8 -8
@@ -7831,7 +7831,7 @@ export declare interface ScreenShareButtonStrings {
7831
7831
  *
7832
7832
  * @beta
7833
7833
  */
7834
- export declare type SelectedVideoBackgroundEffect = VideoBackgroundNoneEffect | VideoBackgroundBlurEffect | VideoBackgroundReplacementEffect;
7834
+ export declare type SelectedVideoBackgroundEffect = VideoBackgroundNoEffect | VideoBackgroundBlurEffect | VideoBackgroundReplacementEffect;
7835
7835
 
7836
7836
  /**
7837
7837
  * An optimized selector that refines {@link ClientState} updates into props for React Components in this library.
@@ -8969,7 +8969,7 @@ export declare interface VideoBackgroundImage {
8969
8969
  *
8970
8970
  * @beta
8971
8971
  */
8972
- export declare interface VideoBackgroundNoneEffect {
8972
+ export declare interface VideoBackgroundNoEffect {
8973
8973
  /**
8974
8974
  * Name of effect to remove video background effect
8975
8975
  */
@@ -165,7 +165,7 @@ const _toCommunicationIdentifier = (id) => {
165
165
  // Copyright (c) Microsoft Corporation.
166
166
  // Licensed under the MIT license.
167
167
  // GENERATED FILE. DO NOT EDIT MANUALLY.
168
- var telemetryVersion = '1.5.1-alpha-202305260013';
168
+ var telemetryVersion = '1.5.1-alpha-202305270013';
169
169
 
170
170
  // Copyright (c) Microsoft Corporation.
171
171
  /**
@@ -6086,9 +6086,17 @@ const InputBoxComponent = (props) => {
6086
6086
  // Index of the previous selection end in the text field
6087
6087
  const [selectionEndValue, setSelectionEndValue] = React.useState(null);
6088
6088
  /* @conditional-compile-remove(mention) */
6089
- // Boolean value to check if onMouseDown event should be handled during select as selection range for onMouseDown event is not updated yet and the selection range for mouse click/taps will be updated in onSelect event if needed.
6089
+ // Boolean value to check if onMouseDown event should be handled during select as selection range
6090
+ // for onMouseDown event is not updated yet and the selection range for mouse click/taps will be
6091
+ // updated in onSelect event if needed.
6090
6092
  const [shouldHandleOnMouseDownDuringSelect, setShouldHandleOnMouseDownDuringSelect] = React.useState(true);
6091
6093
  /* @conditional-compile-remove(mention) */
6094
+ // Point of start of touch/mouse selection
6095
+ const [interactionStartPoint, setInteractionStartPoint] = React.useState();
6096
+ /* @conditional-compile-remove(mention) */
6097
+ // Target selection from mouse movement
6098
+ const [targetSelection, setTargetSelection] = React.useState();
6099
+ /* @conditional-compile-remove(mention) */
6092
6100
  // Caret position in the text field
6093
6101
  const [caretPosition, setCaretPosition] = React.useState(undefined);
6094
6102
  /* @conditional-compile-remove(mention) */
@@ -6257,10 +6265,6 @@ const InputBoxComponent = (props) => {
6257
6265
  /* @conditional-compile-remove(mention) */
6258
6266
  const debouncedQueryUpdate = useDebounce.useDebouncedCallback((query) => __awaiter$w(void 0, void 0, void 0, function* () {
6259
6267
  var _a;
6260
- if (query === undefined) {
6261
- updateMentionSuggestions([]);
6262
- return;
6263
- }
6264
6268
  const suggestions = (_a = (yield (mentionLookupOptions === null || mentionLookupOptions === void 0 ? void 0 : mentionLookupOptions.onQueryUpdated(query)))) !== null && _a !== void 0 ? _a : [];
6265
6269
  if (suggestions.length === 0) {
6266
6270
  setActiveSuggestionIndex(undefined);
@@ -6350,33 +6354,54 @@ const InputBoxComponent = (props) => {
6350
6354
  }, [setSelectionStartValue, setSelectionEndValue]);
6351
6355
  /* @conditional-compile-remove(mention) */
6352
6356
  const handleOnSelect = React.useCallback((event, inputTextValue, tags, shouldHandleOnMouseDownDuringSelect, selectionStartValue, selectionEndValue) => {
6353
- var _a, _b, _c;
6354
- /* @conditional-compile-remove(mention) */
6355
- if (shouldHandleOnMouseDownDuringSelect && event.currentTarget.selectionStart !== null) {
6356
- // on select was triggered by mouse down
6357
- const mentionTag = findMentionTagForSelection(tags, event.currentTarget.selectionStart);
6358
- if (mentionTag !== undefined && mentionTag.plainTextBeginIndex !== undefined) {
6359
- // handle mention click
6360
- if (event.currentTarget.selectionDirection === null) {
6361
- event.currentTarget.setSelectionRange(mentionTag.plainTextBeginIndex, (_a = mentionTag.plainTextEndIndex) !== null && _a !== void 0 ? _a : mentionTag.plainTextBeginIndex);
6357
+ if (shouldHandleOnMouseDownDuringSelect) {
6358
+ if (targetSelection !== undefined) {
6359
+ setSelectionStartValue(targetSelection.start);
6360
+ setSelectionEndValue(targetSelection.end);
6361
+ event.currentTarget.setSelectionRange(targetSelection.start, targetSelection.end);
6362
+ setTargetSelection(undefined);
6363
+ }
6364
+ else if (event.currentTarget.selectionStart !== null) {
6365
+ // on select was triggered by mouse down/up with no movement
6366
+ const mentionTag = findMentionTagForSelection(tags, event.currentTarget.selectionStart);
6367
+ if (mentionTag !== undefined && mentionTag.plainTextBeginIndex !== undefined) {
6368
+ // handle mention click
6369
+ // Get range of word that was clicked on
6370
+ const selectionRange = rangeOfWordInSelection({
6371
+ textInput: inputTextValue,
6372
+ selectionStart: event.currentTarget.selectionStart,
6373
+ selectionEnd: event.currentTarget.selectionEnd,
6374
+ tag: mentionTag
6375
+ });
6376
+ if (event.currentTarget.selectionDirection === null) {
6377
+ event.currentTarget.setSelectionRange(selectionRange.start, selectionRange.end);
6378
+ }
6379
+ else {
6380
+ event.currentTarget.setSelectionRange(selectionRange.start, selectionRange.end, event.currentTarget.selectionDirection);
6381
+ }
6382
+ setSelectionStartValue(selectionRange.start);
6383
+ setSelectionEndValue(selectionRange.end);
6362
6384
  }
6363
6385
  else {
6364
- event.currentTarget.setSelectionRange(mentionTag.plainTextBeginIndex, (_b = mentionTag.plainTextEndIndex) !== null && _b !== void 0 ? _b : mentionTag.plainTextBeginIndex, event.currentTarget.selectionDirection);
6386
+ setSelectionStartValue(event.currentTarget.selectionStart);
6387
+ setSelectionEndValue(event.currentTarget.selectionEnd);
6365
6388
  }
6366
- setSelectionStartValue(mentionTag.plainTextBeginIndex);
6367
- setSelectionEndValue((_c = mentionTag.plainTextEndIndex) !== null && _c !== void 0 ? _c : mentionTag.plainTextBeginIndex);
6368
- }
6369
- else {
6370
- setSelectionStartValue(event.currentTarget.selectionStart);
6371
- setSelectionEndValue(event.currentTarget.selectionEnd);
6372
6389
  }
6373
6390
  }
6374
6391
  else {
6375
6392
  // selection was changed by keyboard
6376
6393
  updateSelectionIndexesWithMentionIfNeeded(event, inputTextValue, selectionStartValue, selectionEndValue, tags);
6377
6394
  }
6378
- // don't set setShouldHandleOnMouseDownDuringSelect(false) here as setSelectionRange could trigger additional calls of onSelect event and they may not be handled correctly (because of setSelectionRange calls or rerender)
6379
- }, [updateSelectionIndexesWithMentionIfNeeded]);
6395
+ // don't set setShouldHandleOnMouseDownDuringSelect(false) here as setSelectionRange
6396
+ // could trigger additional calls of onSelect event and they may not be handled correctly
6397
+ // (because of setSelectionRange calls or rerender)
6398
+ }, [
6399
+ updateSelectionIndexesWithMentionIfNeeded,
6400
+ targetSelection,
6401
+ setTargetSelection,
6402
+ setSelectionStartValue,
6403
+ setSelectionEndValue
6404
+ ]);
6380
6405
  /* @conditional-compile-remove(mention) */
6381
6406
  const handleOnChange = React.useCallback((event, tagsValue, htmlTextValue, inputTextValue, currentTriggerStartIndex, previousSelectionStart, previousSelectionEnd, currentSelectionStart, currentSelectionEnd, updatedValue) => __awaiter$w(void 0, void 0, void 0, function* () {
6382
6407
  var _b;
@@ -6435,7 +6460,7 @@ const InputBoxComponent = (props) => {
6435
6460
  setCurrentTriggerStartIndex(tagIndex);
6436
6461
  }
6437
6462
  if (tagIndex === -1) {
6438
- yield debouncedQueryUpdate(undefined);
6463
+ updateMentionSuggestions([]);
6439
6464
  }
6440
6465
  else {
6441
6466
  // In the middle of a @mention lookup
@@ -6485,11 +6510,43 @@ const InputBoxComponent = (props) => {
6485
6510
  }
6486
6511
  }
6487
6512
  onChange && onChange(event, result);
6488
- }), [onChange, mentionLookupOptions, setCaretIndex, setCaretPosition, debouncedQueryUpdate]);
6513
+ }), [onChange, mentionLookupOptions, setCaretIndex, setCaretPosition, updateMentionSuggestions, debouncedQueryUpdate]);
6489
6514
  const getInputFieldTextValue = () => {
6490
6515
  /* @conditional-compile-remove(mention) */
6491
6516
  return inputTextValue;
6492
6517
  };
6518
+ /* @conditional-compile-remove(mention) */
6519
+ // Adjust the selection range based on a mouse / touch interaction
6520
+ const handleOnMove = React.useCallback((event) => {
6521
+ var _a;
6522
+ let targetStart = event.currentTarget.selectionStart;
6523
+ let targetEnd = event.currentTarget.selectionEnd;
6524
+ // Should we do anything?
6525
+ if (interactionStartPoint !== undefined &&
6526
+ // And did selection change?
6527
+ targetStart !== null &&
6528
+ (targetStart !== (targetSelection === null || targetSelection === void 0 ? void 0 : targetSelection.start) || targetEnd !== (targetSelection === null || targetSelection === void 0 ? void 0 : targetSelection.end))) {
6529
+ const direction = event.clientX > interactionStartPoint.x ? 'forward' : 'backward';
6530
+ const mentionTag = findMentionTagForSelection(tagsValue, direction === 'backward'
6531
+ ? event.currentTarget.selectionStart
6532
+ : (_a = event.currentTarget.selectionEnd) !== null && _a !== void 0 ? _a : event.currentTarget.selectionStart);
6533
+ let updateCurrentTarget = false;
6534
+ if (mentionTag !== undefined && mentionTag.plainTextBeginIndex !== undefined) {
6535
+ targetStart = Math.min(mentionTag.plainTextBeginIndex, targetStart);
6536
+ if (mentionTag.plainTextEndIndex !== undefined && targetEnd !== null) {
6537
+ targetEnd = Math.max(mentionTag.plainTextEndIndex, targetEnd);
6538
+ }
6539
+ updateCurrentTarget = true;
6540
+ setShouldHandleOnMouseDownDuringSelect(false);
6541
+ }
6542
+ // Update selection range
6543
+ setTargetSelection({ start: targetStart, end: targetEnd });
6544
+ if (updateCurrentTarget) {
6545
+ // Only set the control, if the values are updated
6546
+ event.currentTarget.setSelectionRange(targetStart, targetEnd, direction);
6547
+ }
6548
+ }
6549
+ }, [setTargetSelection, targetSelection, setShouldHandleOnMouseDownDuringSelect, interactionStartPoint, tagsValue]);
6493
6550
  return (React__default['default'].createElement(react.Stack, { className: mergedRootStyle },
6494
6551
  React__default['default'].createElement("div", { className: mergedTextContainerStyle },
6495
6552
  /* @conditional-compile-remove(mention) */ mentionSuggestions.length > 0 && (React__default['default'].createElement(_MentionPopover, { suggestions: mentionSuggestions, activeSuggestionIndex: activeSuggestionIndex, target: inputBoxRef, targetPositionOffset: caretPosition, onRenderSuggestionItem: mentionLookupOptions === null || mentionLookupOptions === void 0 ? void 0 : mentionLookupOptions.onRenderSuggestionItem, onSuggestionSelected: onSuggestionSelected, onDismiss: () => {
@@ -6521,8 +6578,9 @@ const InputBoxComponent = (props) => {
6521
6578
  handleOnSelect(e, inputTextValue, tagsValue, shouldHandleOnMouseDownDuringSelect, selectionStartValue, selectionEndValue);
6522
6579
  },
6523
6580
  /* @conditional-compile-remove(mention) */
6524
- onMouseDown: () => {
6525
- // as events order is onMouseDown -> onSelect -> onClick
6581
+ onMouseDown: (e) => {
6582
+ setInteractionStartPoint({ x: e.clientX, y: e.clientY });
6583
+ // as events order is onMouseDown -> onMouseMove -> onMouseUp -> onSelect -> onClick
6526
6584
  // onClick and onMouseDown can't handle clicking on mention event because
6527
6585
  // onMouseDown doesn't have correct selectionRange yet and
6528
6586
  // onClick already has wrong range as it's called after onSelect that updates the selection range
@@ -6530,11 +6588,27 @@ const InputBoxComponent = (props) => {
6530
6588
  setShouldHandleOnMouseDownDuringSelect(true);
6531
6589
  },
6532
6590
  /* @conditional-compile-remove(mention) */
6533
- onTouchStart: () => {
6591
+ onMouseMove: handleOnMove,
6592
+ /* @conditional-compile-remove(mention) */
6593
+ onMouseUp: () => {
6594
+ setInteractionStartPoint(undefined);
6595
+ },
6596
+ /* @conditional-compile-remove(mention) */
6597
+ onTouchStart: (e) => {
6598
+ setInteractionStartPoint({
6599
+ x: e.targetTouches.item(0).clientX,
6600
+ y: e.targetTouches.item(0).clientY
6601
+ });
6534
6602
  // see onMouseDown for more details
6535
6603
  setShouldHandleOnMouseDownDuringSelect(true);
6536
6604
  },
6537
6605
  /* @conditional-compile-remove(mention) */
6606
+ onTouchMove: handleOnMove,
6607
+ /* @conditional-compile-remove(mention) */
6608
+ onTouchEnd: () => {
6609
+ setInteractionStartPoint(undefined);
6610
+ },
6611
+ /* @conditional-compile-remove(mention) */
6538
6612
  onBlur: () => {
6539
6613
  // setup all flags to default values when text field loses focus
6540
6614
  setShouldHandleOnMouseDownDuringSelect(false);
@@ -6620,6 +6694,31 @@ const findMentionTagForSelection = (tags, selection) => {
6620
6694
  return mentionTag;
6621
6695
  };
6622
6696
  /* @conditional-compile-remove(mention) */
6697
+ const rangeOfWordInSelection = ({ textInput, selectionStart, selectionEnd, tag }) => {
6698
+ var _a;
6699
+ if (tag.plainTextBeginIndex === undefined) {
6700
+ return { start: selectionStart, end: selectionEnd === null ? selectionStart : selectionEnd };
6701
+ }
6702
+ // Look at start word index and optionally end word index.
6703
+ // Select combination of the two and return the range.
6704
+ let start = selectionStart;
6705
+ let end = selectionEnd === null ? selectionStart : selectionEnd;
6706
+ const firstWordStartIndex = textInput.lastIndexOf(' ', selectionStart);
6707
+ if (firstWordStartIndex === tag.plainTextBeginIndex) {
6708
+ start = firstWordStartIndex;
6709
+ }
6710
+ else {
6711
+ start = Math.max(firstWordStartIndex + 1, tag.plainTextBeginIndex);
6712
+ }
6713
+ const firstWordEndIndex = textInput.indexOf(' ', selectionStart);
6714
+ end = Math.max(firstWordEndIndex + 1, (_a = tag.plainTextEndIndex) !== null && _a !== void 0 ? _a : firstWordEndIndex + 1);
6715
+ if (selectionEnd !== null && tag.plainTextEndIndex !== undefined) {
6716
+ const lastWordEndIndex = textInput.indexOf(' ', selectionEnd);
6717
+ end = Math.max(lastWordEndIndex > -1 ? lastWordEndIndex : tag.plainTextEndIndex, selectionEnd);
6718
+ }
6719
+ return { start, end };
6720
+ };
6721
+ /* @conditional-compile-remove(mention) */
6623
6722
  /**
6624
6723
  * Find a new the selection index.
6625
6724
  *
@@ -10316,10 +10415,13 @@ const lightDismissContainerStyles = { root: { height: '100%' } };
10316
10415
  * @internal
10317
10416
  */
10318
10417
  const _DrawerSurface = (props) => {
10319
- var _a, _b, _c;
10320
- const rootStyles = react.mergeStyles(drawerSurfaceStyles, (_a = props.styles) === null || _a === void 0 ? void 0 : _a.root);
10418
+ var _a, _b, _c, _d;
10419
+ const rootStyles = props.disableMaxHeight
10420
+ ? react.mergeStyles(drawerSurfaceStyles, (_a = props.styles) === null || _a === void 0 ? void 0 : _a.root)
10421
+ : react.mergeStyles(drawerSurfaceStyles, focusTrapZoneStyles, (_b = props.styles) === null || _b === void 0 ? void 0 : _b.root);
10422
+ const containerStyles = react.mergeStyleSets(drawerContentContainerStyles, (_c = props.styles) === null || _c === void 0 ? void 0 : _c.drawerContentContainer);
10321
10423
  return (React__default['default'].createElement(react.Stack, { className: rootStyles },
10322
- React__default['default'].createElement(DrawerLightDismiss, { styles: (_b = props.styles) === null || _b === void 0 ? void 0 : _b.lightDismissRoot, onDismiss: props.onLightDismiss }),
10424
+ React__default['default'].createElement(DrawerLightDismiss, { styles: (_d = props.styles) === null || _d === void 0 ? void 0 : _d.lightDismissRoot, onDismiss: props.onLightDismiss }),
10323
10425
  React__default['default'].createElement(react.FocusTrapZone, { onKeyDown: (e) => {
10324
10426
  if (e.key === 'Escape' || e.key === 'Esc') {
10325
10427
  props.onLightDismiss && props.onLightDismiss();
@@ -10328,13 +10430,28 @@ const _DrawerSurface = (props) => {
10328
10430
  // Ensure when the focus trap has focus, the light dismiss area can still be clicked with mouse to dismiss.
10329
10431
  // Note: this still correctly captures keyboard focus, this just allows mouse click outside of the focus trap.
10330
10432
  isClickableOutsideFocusTrap: true },
10331
- React__default['default'].createElement(DrawerContentContainer, { styles: (_c = props.styles) === null || _c === void 0 ? void 0 : _c.drawerContentContainer, heading: props.heading }, props.children))));
10433
+ React__default['default'].createElement(DrawerContentContainer, { styles: containerStyles, heading: props.heading }, props.children))));
10332
10434
  };
10333
10435
  const drawerSurfaceStyles = {
10334
10436
  width: '100%',
10335
10437
  height: '100%',
10336
10438
  background: 'rgba(0,0,0,0.4)'
10337
10439
  };
10440
+ const focusTrapZoneStyles = {
10441
+ // Targets FocusTrapZone in drawer.
10442
+ // Setting percentage to Height to transform a container does not work unless the
10443
+ // direct parent container also has a Height set other than 'auto'.
10444
+ '> div:nth-child(2)': {
10445
+ maxHeight: '75%',
10446
+ overflow: 'auto'
10447
+ }
10448
+ };
10449
+ const drawerContentContainerStyles = {
10450
+ root: {
10451
+ // Needed to fill max height from parent, drawerSurfaceStyles
10452
+ height: '100%'
10453
+ }
10454
+ };
10338
10455
 
10339
10456
  // Copyright (c) Microsoft Corporation.
10340
10457
  /**
@@ -10375,7 +10492,7 @@ const _DrawerMenu = (props) => {
10375
10492
  borderTopLeftRadius: borderRadius
10376
10493
  }
10377
10494
  }), [firstItemStyle, borderRadius]);
10378
- return (React__default['default'].createElement(_DrawerSurface, { styles: (_b = props.styles) === null || _b === void 0 ? void 0 : _b.drawerSurfaceStyles, onLightDismiss: props.onLightDismiss, heading: props.heading },
10495
+ return (React__default['default'].createElement(_DrawerSurface, { disableMaxHeight: props.disableMaxHeight, styles: (_b = props.styles) === null || _b === void 0 ? void 0 : _b.drawerSurfaceStyles, onLightDismiss: props.onLightDismiss, heading: props.heading },
10379
10496
  React__default['default'].createElement(react.Stack, { styles: props.styles, role: "menu", "data-ui-id": "drawer-menu" }, menuItemsToRender === null || menuItemsToRender === void 0 ? void 0 :
10380
10497
  menuItemsToRender.slice(0, 1).map((item) => (React__default['default'].createElement(DrawerMenuItem, Object.assign({}, item, { key: '0', styles: modifiedFirstItemStyle, onItemClick: (ev, itemKey) => {
10381
10498
  onItemClick(item, ev, itemKey);
@@ -10734,7 +10851,8 @@ const moreButtonStyles = {
10734
10851
  zIndex: 1,
10735
10852
  color: 'inherit',
10736
10853
  top: '-0.125rem',
10737
- height: '100%'
10854
+ height: '100%',
10855
+ padding: '0rem'
10738
10856
  },
10739
10857
  rootHovered: {
10740
10858
  background: 'none'
@@ -13720,6 +13838,9 @@ const generateDefaultDeviceMenuProps = (props, strings, primaryActionItem, isSel
13720
13838
  key: 'sectionCamera',
13721
13839
  title: strings.cameraMenuTooltip,
13722
13840
  subMenuProps: {
13841
+ calloutProps: {
13842
+ preventDismissOnEvent: _preventDismissOnEvent
13843
+ },
13723
13844
  items: cameras.map((camera) => ({
13724
13845
  key: camera.id,
13725
13846
  text: camera.name,
@@ -13760,6 +13881,9 @@ const generateDefaultDeviceMenuProps = (props, strings, primaryActionItem, isSel
13760
13881
  key: key,
13761
13882
  title: title,
13762
13883
  subMenuProps: {
13884
+ calloutProps: {
13885
+ preventDismissOnEvent: _preventDismissOnEvent
13886
+ },
13763
13887
  items: microphones.map((microphone) => ({
13764
13888
  key: microphone.id,
13765
13889
  text: microphone.name,
@@ -13792,6 +13916,9 @@ const generateDefaultDeviceMenuProps = (props, strings, primaryActionItem, isSel
13792
13916
  {
13793
13917
  key: 'sectionSpeaker',
13794
13918
  subMenuProps: {
13919
+ calloutProps: {
13920
+ preventDismissOnEvent: _preventDismissOnEvent
13921
+ },
13795
13922
  items: speakers.map((speaker) => ({
13796
13923
  key: speaker.id,
13797
13924
  text: speaker.name,
@@ -21275,7 +21402,7 @@ const SendDtmfDialpad = (props) => {
21275
21402
  const dialpadStyle = React.useMemo(() => themedDialpadStyle$1(isMobile, theme), [theme, isMobile]);
21276
21403
  if (isMobile) {
21277
21404
  return (React__default['default'].createElement(react.Stack, null, showDialpad && (React__default['default'].createElement(react.Stack, { styles: drawerContainerStyles() },
21278
- React__default['default'].createElement(_DrawerSurface, { onLightDismiss: onDismissTriggered },
21405
+ React__default['default'].createElement(_DrawerSurface, { disableMaxHeight: true, onLightDismiss: onDismissTriggered },
21279
21406
  React__default['default'].createElement(react.Stack, { style: { padding: '1rem' } },
21280
21407
  React__default['default'].createElement(Dialpad, Object.assign({ styles: dialpadStyle }, dialpadProps, { showDeleteButton: false, textFieldValue: textFieldValue, onChange: onChange, strings: strings, isMobile: isMobile }))))))));
21281
21408
  }
@@ -22143,7 +22270,6 @@ const callStatusSelector = reselect.createSelector([getCallStatus, getIsScreenSh
22143
22270
  */
22144
22271
  const spokenLanguageDrawerStyles = (theme) => ({
22145
22272
  root: {
22146
- height: _pxToRem(300),
22147
22273
  overflow: 'auto'
22148
22274
  },
22149
22275
  drawerSurfaceStyles: {
@@ -22906,7 +23032,7 @@ const CallingDialpad = (props) => {
22906
23032
  };
22907
23033
  if (isMobile) {
22908
23034
  return (React__default['default'].createElement(react.Stack, { "data-ui-id": "call-with-chat-composite-dialpad" }, showDialpad && (React__default['default'].createElement(react.Stack, { styles: drawerContainerStyles() },
22909
- React__default['default'].createElement(_DrawerSurface, { onLightDismiss: onDismissTriggered },
23035
+ React__default['default'].createElement(_DrawerSurface, { onLightDismiss: onDismissTriggered, disableMaxHeight: true },
22910
23036
  React__default['default'].createElement(react.Stack, { style: { padding: '1rem' } }, dialpadComponent()))))));
22911
23037
  }
22912
23038
  return (React__default['default'].createElement(React__default['default'].Fragment, null, React__default['default'].createElement(react.Modal, { titleAriaId: strings.dialpadModalAriaLabel, isOpen: showDialpad, onDismiss: onDismissTriggered, isBlocking: true, styles: dialpadModalStyle, "data-ui-id": "call-with-chat-composite-dialpad" },
@@ -22991,7 +23117,7 @@ const AddPeopleDropdown = (props) => {
22991
23117
  defaultMenuProps.items.length > 0 && (React__default['default'].createElement(react.Stack.Item, { styles: copyLinkButtonContainerStyles },
22992
23118
  React__default['default'].createElement(react.PrimaryButton, { onClick: setDrawerMenuItemsForAddPeople, styles: copyLinkButtonStylesThemed, onRenderIcon: () => PeoplePaneAddPersonIconTrampoline(), text: strings.peoplePaneAddPeopleButtonLabel, "data-ui-id": "call-add-people-button" }))),
22993
23119
  addPeopleDrawerMenuItems.length > 0 && (React__default['default'].createElement(react.Stack, { styles: drawerContainerStyles(), "data-ui-id": "call-add-people-dropdown" },
22994
- React__default['default'].createElement(_DrawerMenu, { onLightDismiss: () => setAddPeopleDrawerMenuItems([]), items: addPeopleDrawerMenuItems }))),
23120
+ React__default['default'].createElement(_DrawerMenu, { disableMaxHeight: true, onLightDismiss: () => setAddPeopleDrawerMenuItems([]), items: addPeopleDrawerMenuItems }))),
22995
23121
  alternateCallerId && (React__default['default'].createElement(CallingDialpad, { isMobile: true, strings: strings, showDialpad: showDialpad, onDismissDialpad: onDismissDialpad, onAddParticipant: onAddParticipant, alternateCallerId: alternateCallerId }))));
22996
23122
  }
22997
23123
  return (React__default['default'].createElement(React__default['default'].Fragment, null, React__default['default'].createElement(react.Stack, null,
@@ -25036,7 +25162,7 @@ const CallReadinessModal = (props) => {
25036
25162
  }
25037
25163
  };
25038
25164
  if (mobileView && modal !== undefined) {
25039
- return (React__default['default'].createElement(React__default['default'].Fragment, null, isPermissionsModalDismissed && (React__default['default'].createElement(_DrawerSurface, { onLightDismiss: onLightDismissTriggered, styles: drawerContainerStyles(DRAWER_HIGH_Z_BAND) }, modal()))));
25165
+ return (React__default['default'].createElement(React__default['default'].Fragment, null, isPermissionsModalDismissed && (React__default['default'].createElement(_DrawerSurface, { disableMaxHeight: true, onLightDismiss: onLightDismissTriggered, styles: drawerContainerStyles(DRAWER_HIGH_Z_BAND) }, modal()))));
25040
25166
  }
25041
25167
  else if (!mobileView && modal !== undefined) {
25042
25168
  return (React__default['default'].createElement(_ModalClone, { styles: {
@@ -25105,7 +25231,7 @@ const CallReadinessModalFallBack = (props) => {
25105
25231
  };
25106
25232
  if (mobileView) {
25107
25233
  return (React__default['default'].createElement(React__default['default'].Fragment, null,
25108
- (checkPermissionModalShowing || audioState === 'prompt' || videoState === 'prompt') && (React__default['default'].createElement(_DrawerSurface, { onLightDismiss: onLightDismissTriggered, styles: drawerContainerStyles(DRAWER_HIGH_Z_BAND) },
25234
+ (checkPermissionModalShowing || audioState === 'prompt' || videoState === 'prompt') && (React__default['default'].createElement(_DrawerSurface, { disableMaxHeight: true, onLightDismiss: onLightDismissTriggered, styles: drawerContainerStyles(DRAWER_HIGH_Z_BAND) },
25109
25235
  React__default['default'].createElement(CameraAndMicrophoneSitePermissions, { appName: 'app',
25110
25236
  /* @conditional-compile-remove(unsupported-browser) */
25111
25237
  browserHint: isSafari ? 'safari' : 'unset', onTroubleshootingClick: onPermissionsTroubleshootingClick
@@ -25113,7 +25239,7 @@ const CallReadinessModalFallBack = (props) => {
25113
25239
  onPermissionsTroubleshootingClick(permissionsState);
25114
25240
  }
25115
25241
  : undefined, kind: "check" }))),
25116
- isPermissionsModalDismissed && !checkPermissionModalShowing && modal !== undefined && (React__default['default'].createElement(_DrawerSurface, { onLightDismiss: onLightDismissTriggered, styles: drawerContainerStyles(DRAWER_HIGH_Z_BAND) }, modal()))));
25242
+ isPermissionsModalDismissed && !checkPermissionModalShowing && modal !== undefined && (React__default['default'].createElement(_DrawerSurface, { disableMaxHeight: true, onLightDismiss: onLightDismissTriggered, styles: drawerContainerStyles(DRAWER_HIGH_Z_BAND) }, modal()))));
25117
25243
  }
25118
25244
  else {
25119
25245
  return (React__default['default'].createElement(React__default['default'].Fragment, null,