@azure/communication-react 1.5.1-alpha-202303220012 → 1.5.1-alpha-202303240013
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 +8 -0
- package/dist/dist-cjs/communication-react/index.js +156 -105
- package/dist/dist-cjs/communication-react/index.js.map +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
- package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/CameraButton.d.ts +4 -0
- package/dist/dist-esm/react-components/src/components/CameraButton.js +12 -0
- package/dist/dist-esm/react-components/src/components/CameraButton.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/HorizontalGallery.js +7 -2
- package/dist/dist-esm/react-components/src/components/HorizontalGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.d.ts +0 -1
- package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js +1 -2
- package/dist/dist-esm/react-components/src/components/ResponsiveHorizontalGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js +11 -7
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideo.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js +10 -10
- package/dist/dist-esm/react-components/src/components/VideoGallery/FloatingLocalVideoLayout.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js +2 -2
- package/dist/dist-esm/react-components/src/components/VideoGallery/OverflowGallery.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.d.ts +9 -9
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js +15 -15
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/FloatingLocalVideo.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js +2 -2
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/ScrollableHorizontalGallery.style.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.d.ts +4 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js +8 -7
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveHorizontalGallery.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js +4 -7
- package/dist/dist-esm/react-components/src/components/VideoGallery/styles/VideoGalleryResponsiveVerticalGallery.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.d.ts +0 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js +5 -4
- package/dist/dist-esm/react-components/src/components/VideoGallery/utils/OverflowGalleryUtils.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js +1 -0
- package/dist/dist-esm/react-components/src/components/styles/HorizontalGallery.styles.js.map +1 -1
- package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.d.ts +2 -0
- package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js +1 -0
- package/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js.map +1 -1
- package/dist/dist-esm/react-components/src/theming/icons.d.ts +1 -0
- package/dist/dist-esm/react-components/src/theming/icons.js +5 -1
- package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.d.ts +5 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js +3 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Camera.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +13 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.d.ts +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js +4 -2
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatControlBar.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.d.ts +11 -0
- package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +19 -0
- package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +1 -0
- package/package.json +8 -8
@@ -2888,6 +2888,10 @@ export declare interface CameraButtonProps extends ControlBarButtonProps {
|
|
2888
2888
|
* Styles for {@link CameraButton} and the device selection flyout.
|
2889
2889
|
*/
|
2890
2890
|
styles?: Partial<CameraButtonStyles>;
|
2891
|
+
/**
|
2892
|
+
* Callback when a effects is clicked
|
2893
|
+
*/
|
2894
|
+
onShowVideoEffectsPicker?: (showVideoEffectsOptions: boolean) => void;
|
2891
2895
|
}
|
2892
2896
|
|
2893
2897
|
/**
|
@@ -4628,6 +4632,7 @@ export declare const DEFAULT_COMPONENT_ICONS: {
|
|
4628
4632
|
SplitButtonPrimaryActionMicMuted: JSX.Element;
|
4629
4633
|
VerticalGalleryLeftButton: JSX.Element;
|
4630
4634
|
VerticalGalleryRightButton: JSX.Element;
|
4635
|
+
OptionsVideoBackgroundEffect: JSX.Element;
|
4631
4636
|
};
|
4632
4637
|
|
4633
4638
|
/**
|
@@ -4735,6 +4740,7 @@ export declare const DEFAULT_COMPOSITE_ICONS: {
|
|
4735
4740
|
SplitButtonPrimaryActionMicMuted: JSX.Element;
|
4736
4741
|
VerticalGalleryLeftButton: JSX.Element;
|
4737
4742
|
VerticalGalleryRightButton: JSX.Element;
|
4743
|
+
OptionsVideoBackgroundEffect: JSX.Element;
|
4738
4744
|
};
|
4739
4745
|
|
4740
4746
|
/**
|
@@ -5737,6 +5743,8 @@ export declare interface _Identifiers {
|
|
5737
5743
|
overflowGalleryLeftNavButton: string;
|
5738
5744
|
/** `data-ui-id` value for overflow gallery component's right navigation button */
|
5739
5745
|
overflowGalleryRightNavButton: string;
|
5746
|
+
/** `data-ui-id` value for the video tiles in the horizontal gallery */
|
5747
|
+
horizontalGalleryVideoTile: string;
|
5740
5748
|
/** `data-ui-id` value for `VerticalGallery` Component's children video tiles */
|
5741
5749
|
verticalGalleryVideoTile: string;
|
5742
5750
|
/** `data-ui-id` value for `VerticalGallery` Component's page counter */
|
@@ -162,7 +162,7 @@ const _toCommunicationIdentifier = (id) => {
|
|
162
162
|
// Copyright (c) Microsoft Corporation.
|
163
163
|
// Licensed under the MIT license.
|
164
164
|
// GENERATED FILE. DO NOT EDIT MANUALLY.
|
165
|
-
var telemetryVersion = '1.5.1-alpha-
|
165
|
+
var telemetryVersion = '1.5.1-alpha-202303240013';
|
166
166
|
|
167
167
|
// Copyright (c) Microsoft Corporation.
|
168
168
|
/**
|
@@ -4326,6 +4326,7 @@ const defaultIdentifiers = {
|
|
4326
4326
|
overflowGalleryRightNavButton: 'overflow-gallery-right-nav-button',
|
4327
4327
|
/* @conditional-compile-remove(vertical-gallery) */
|
4328
4328
|
verticalGalleryVideoTile: 'vertical-gallery-video-tile',
|
4329
|
+
horizontalGalleryVideoTile: 'horizontal-gallery-video-tile',
|
4329
4330
|
/* @conditional-compile-remove(vertical-gallery) */
|
4330
4331
|
verticalGalleryPageCounter: 'vertical-gallery-page-counter'
|
4331
4332
|
};
|
@@ -5332,7 +5333,9 @@ const DEFAULT_COMPONENT_ICONS = {
|
|
5332
5333
|
/* @conditional-compile-remove(vertical-gallery) */
|
5333
5334
|
VerticalGalleryLeftButton: React__default['default'].createElement(reactIcons.ChevronLeft20Regular, null),
|
5334
5335
|
/* @conditional-compile-remove(vertical-gallery) */
|
5335
|
-
VerticalGalleryRightButton: React__default['default'].createElement(reactIcons.ChevronRight20Regular, null)
|
5336
|
+
VerticalGalleryRightButton: React__default['default'].createElement(reactIcons.ChevronRight20Regular, null),
|
5337
|
+
/* @conditional-compile-remove(video-background-effects) */
|
5338
|
+
OptionsVideoBackgroundEffect: React__default['default'].createElement(reactIcons.VideoBackgroundEffect20Regular, null)
|
5336
5339
|
};
|
5337
5340
|
|
5338
5341
|
// Copyright (c) Microsoft Corporation.
|
@@ -9406,6 +9409,7 @@ const rootStyle$1 = {
|
|
9406
9409
|
*/
|
9407
9410
|
const childrenContainerStyle$1 = {
|
9408
9411
|
height: '100%',
|
9412
|
+
width: '100%',
|
9409
9413
|
gap: `${HORIZONTAL_GALLERY_GAP}rem`
|
9410
9414
|
};
|
9411
9415
|
|
@@ -9442,7 +9446,7 @@ const DEFAULT_CHILDREN_PER_PAGE = 5;
|
|
9442
9446
|
* @returns
|
9443
9447
|
*/
|
9444
9448
|
const HorizontalGallery = (props) => {
|
9445
|
-
var _a
|
9449
|
+
var _a;
|
9446
9450
|
const { children, childrenPerPage = DEFAULT_CHILDREN_PER_PAGE, styles, onFetchTilesToRender } = props;
|
9447
9451
|
const ids = useIdentifiers();
|
9448
9452
|
const [page, setPage] = React.useState(0);
|
@@ -9466,13 +9470,18 @@ const HorizontalGallery = (props) => {
|
|
9466
9470
|
const showButtons = numberOfChildren > childrenPerPage;
|
9467
9471
|
const disablePreviousButton = page === 0;
|
9468
9472
|
const disableNextButton = page === lastPage;
|
9473
|
+
const childrenStyles = React.useMemo(() => {
|
9474
|
+
return { root: styles === null || styles === void 0 ? void 0 : styles.children };
|
9475
|
+
}, [styles === null || styles === void 0 ? void 0 : styles.children]);
|
9469
9476
|
// If children per page is 0 or less return empty element
|
9470
9477
|
if (childrenPerPage <= 0) {
|
9471
9478
|
return React__default['default'].createElement(React__default['default'].Fragment, null);
|
9472
9479
|
}
|
9473
9480
|
return (React__default['default'].createElement(react.Stack, { horizontal: true, className: react.mergeStyles(rootStyle$1, (_a = props.styles) === null || _a === void 0 ? void 0 : _a.root) },
|
9474
9481
|
showButtons && (React__default['default'].createElement(HorizontalGalleryNavigationButton, { key: "previous-nav-button", icon: React__default['default'].createElement(react.Icon, { iconName: "HorizontalGalleryLeftButton" }), styles: styles === null || styles === void 0 ? void 0 : styles.previousButton, onClick: () => setPage(Math.max(0, Math.min(lastPage, page - 1))), disabled: disablePreviousButton, identifier: ids.overflowGalleryLeftNavButton })),
|
9475
|
-
React__default['default'].createElement(react.Stack, { horizontal: true, className: react.mergeStyles(childrenContainerStyle$1
|
9482
|
+
React__default['default'].createElement(react.Stack, { horizontal: true, className: react.mergeStyles(childrenContainerStyle$1) }, childrenOnCurrentPage.map((child, i) => {
|
9483
|
+
return (React__default['default'].createElement(react.Stack.Item, { styles: childrenStyles, key: i, "data-ui-id": ids.horizontalGalleryVideoTile }, child));
|
9484
|
+
})),
|
9476
9485
|
showButtons && (React__default['default'].createElement(HorizontalGalleryNavigationButton, { key: "next-nav-button", icon: React__default['default'].createElement(react.Icon, { iconName: "HorizontalGalleryRightButton" }), styles: styles === null || styles === void 0 ? void 0 : styles.nextButton, onClick: () => setPage(Math.min(lastPage, page + 1)), disabled: disableNextButton, identifier: ids.overflowGalleryRightNavButton }))));
|
9477
9486
|
};
|
9478
9487
|
const HorizontalGalleryNavigationButton = (props) => {
|
@@ -9488,22 +9497,22 @@ react.mergeStyles({ position: 'relative', width: '100%', height: '100%' });
|
|
9488
9497
|
/**
|
9489
9498
|
* Small floating modal width and height in rem for small screen
|
9490
9499
|
*/
|
9491
|
-
const
|
9500
|
+
const SMALL_FLOATING_MODAL_SIZE_REM = { width: 3.625, height: 6.5 };
|
9492
9501
|
/**
|
9493
9502
|
* Large floating modal width and height in rem for large screen
|
9494
9503
|
* Aspect ratio: 16:9
|
9495
9504
|
*/
|
9496
|
-
const
|
9505
|
+
const LARGE_FLOATING_MODAL_SIZE_REM = { width: 13.438, height: 7.5 };
|
9497
9506
|
/**
|
9498
9507
|
* Vertical gallery floating modal width and height in rem
|
9499
9508
|
* Aspect ratio: 16:9
|
9500
9509
|
*/
|
9501
|
-
const
|
9510
|
+
const SHORT_VERTICAL_GALLERY_FLOATING_MODAL_SIZE_REM = { width: 9, height: 5.063 };
|
9502
9511
|
/**
|
9503
9512
|
* Vertical gallery floating modal width and height in rem
|
9504
9513
|
* Aspect ratio: 16:9
|
9505
9514
|
*/
|
9506
|
-
const
|
9515
|
+
const VERTICAL_GALLERY_FLOATING_MODAL_SIZE_REM = { width: 11, height: 6.25 };
|
9507
9516
|
/**
|
9508
9517
|
* @private
|
9509
9518
|
* z-index to ensure that the local video tile is above the video gallery.
|
@@ -9512,31 +9521,31 @@ const LOCAL_VIDEO_TILE_ZINDEX = 2;
|
|
9512
9521
|
/**
|
9513
9522
|
* @private
|
9514
9523
|
*/
|
9515
|
-
const localVideoTileContainerStyle = (theme,
|
9524
|
+
const localVideoTileContainerStyle = (theme, localVideoTileSizeRem) => {
|
9516
9525
|
return {
|
9517
|
-
minWidth:
|
9518
|
-
minHeight:
|
9526
|
+
minWidth: `${localVideoTileSizeRem.width}rem`,
|
9527
|
+
minHeight: `${localVideoTileSizeRem.height}rem`,
|
9519
9528
|
position: 'absolute',
|
9520
|
-
bottom:
|
9529
|
+
bottom: `${localVideoTileOuterPaddingRem}rem`,
|
9521
9530
|
borderRadius: theme.effects.roundedCorner4,
|
9522
9531
|
overflow: 'hidden',
|
9523
|
-
right:
|
9532
|
+
right: `${localVideoTileOuterPaddingRem}rem`
|
9524
9533
|
};
|
9525
9534
|
};
|
9526
9535
|
/**
|
9527
9536
|
* @private
|
9528
9537
|
*/
|
9529
|
-
const localVideoTileWithControlsContainerStyle = (theme,
|
9530
|
-
return react.concatStyleSets(localVideoTileContainerStyle(theme,
|
9538
|
+
const localVideoTileWithControlsContainerStyle = (theme, localVideoTileSizeRem) => {
|
9539
|
+
return react.concatStyleSets(localVideoTileContainerStyle(theme, localVideoTileSizeRem), {
|
9531
9540
|
root: { boxShadow: theme.effects.elevation8 }
|
9532
9541
|
});
|
9533
9542
|
};
|
9534
9543
|
/**
|
9535
9544
|
* @private
|
9536
9545
|
*/
|
9537
|
-
const floatingLocalVideoModalStyle = (theme,
|
9546
|
+
const floatingLocalVideoModalStyle = (theme, modalSizeRem) => {
|
9538
9547
|
return react.concatStyleSets({
|
9539
|
-
main: localVideoTileContainerStyle(theme,
|
9548
|
+
main: localVideoTileContainerStyle(theme, modalSizeRem)
|
9540
9549
|
}, {
|
9541
9550
|
main: {
|
9542
9551
|
boxShadow: theme.effects.elevation8,
|
@@ -9549,10 +9558,10 @@ const floatingLocalVideoModalStyle = (theme, modalSize) => {
|
|
9549
9558
|
};
|
9550
9559
|
/**
|
9551
9560
|
* Padding equal to the amount the modal should stay inside the bounds of the container.
|
9552
|
-
* i.e. if this is
|
9561
|
+
* i.e. if this is 0.5rem, the modal should always be at least 0.5rem inside the container at all times on all sides.
|
9553
9562
|
* @private
|
9554
9563
|
*/
|
9555
|
-
const
|
9564
|
+
const localVideoTileOuterPaddingRem = 0.5;
|
9556
9565
|
/**
|
9557
9566
|
* @private
|
9558
9567
|
*/
|
@@ -9574,6 +9583,62 @@ const localVideoModalStyles = {
|
|
9574
9583
|
}
|
9575
9584
|
};
|
9576
9585
|
|
9586
|
+
// Copyright (c) Microsoft Corporation.
|
9587
|
+
/**
|
9588
|
+
* @private
|
9589
|
+
*/
|
9590
|
+
const horizontalGalleryContainerStyle = (shouldFloatLocalVideo, isNarrow) => {
|
9591
|
+
return {
|
9592
|
+
minHeight: isNarrow
|
9593
|
+
? `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`
|
9594
|
+
: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
9595
|
+
width: shouldFloatLocalVideo
|
9596
|
+
? isNarrow
|
9597
|
+
? `calc(100% - ${SMALL_FLOATING_MODAL_SIZE_REM.width}rem)`
|
9598
|
+
: `calc(100% - ${LARGE_FLOATING_MODAL_SIZE_REM.width}rem)`
|
9599
|
+
: '100%',
|
9600
|
+
paddingRight: '0.5rem'
|
9601
|
+
};
|
9602
|
+
};
|
9603
|
+
/**
|
9604
|
+
* @private
|
9605
|
+
*/
|
9606
|
+
const horizontalGalleryStyle = (isNarrow) => {
|
9607
|
+
return {
|
9608
|
+
children: isNarrow ? SMALL_HORIZONTAL_GALLERY_TILE_STYLE : LARGE_HORIZONTAL_GALLERY_TILE_STYLE
|
9609
|
+
};
|
9610
|
+
};
|
9611
|
+
/**
|
9612
|
+
* Small horizontal gallery tile size in rem
|
9613
|
+
* @private
|
9614
|
+
*/
|
9615
|
+
const SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM = { height: 6.5, width: 6.5 };
|
9616
|
+
/**
|
9617
|
+
* Large horizontal gallery tile size in rem
|
9618
|
+
* @private
|
9619
|
+
*/
|
9620
|
+
const LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM = { height: 7.5, minWidth: 7.5, maxWidth: 13.43 };
|
9621
|
+
/**
|
9622
|
+
* @private
|
9623
|
+
*/
|
9624
|
+
const SMALL_HORIZONTAL_GALLERY_TILE_STYLE = {
|
9625
|
+
minHeight: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
9626
|
+
minWidth: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`,
|
9627
|
+
maxHeight: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
9628
|
+
maxWidth: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`
|
9629
|
+
};
|
9630
|
+
/**
|
9631
|
+
* @private
|
9632
|
+
*/
|
9633
|
+
const LARGE_HORIZONTAL_GALLERY_TILE_STYLE = {
|
9634
|
+
minHeight: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
9635
|
+
minWidth: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.minWidth}rem`,
|
9636
|
+
maxHeight: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
9637
|
+
maxWidth: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.maxWidth}rem`,
|
9638
|
+
width: '100%',
|
9639
|
+
height: '100%'
|
9640
|
+
};
|
9641
|
+
|
9577
9642
|
// Copyright (c) Microsoft Corporation.
|
9578
9643
|
/**
|
9579
9644
|
* VerticalGallery tile size in rem:
|
@@ -9607,22 +9672,20 @@ const verticalGalleryContainerStyle = (shouldFloatLocalVideo, isNarrow, isShort)
|
|
9607
9672
|
return isNarrow && isShort
|
9608
9673
|
? {
|
9609
9674
|
width: `${SHORT_VERTICAL_GALLERY_TILE_SIZE_REM.width + 1.5}rem`,
|
9610
|
-
height: shouldFloatLocalVideo ? `calc(100% - ${
|
9675
|
+
height: shouldFloatLocalVideo ? `calc(100% - ${SMALL_FLOATING_MODAL_SIZE_REM.height}rem)` : '100%',
|
9611
9676
|
paddingBottom: '0.5rem'
|
9612
9677
|
}
|
9613
9678
|
: !isNarrow && isShort
|
9614
9679
|
? {
|
9615
9680
|
width: `${SHORT_VERTICAL_GALLERY_TILE_SIZE_REM.width + 1.5}rem`,
|
9616
9681
|
height: shouldFloatLocalVideo
|
9617
|
-
? `calc(100% - ${
|
9682
|
+
? `calc(100% - ${SHORT_VERTICAL_GALLERY_FLOATING_MODAL_SIZE_REM.height}rem)`
|
9618
9683
|
: '100%',
|
9619
9684
|
paddingBottom: '0.5rem'
|
9620
9685
|
}
|
9621
9686
|
: {
|
9622
9687
|
width: `${VERTICAL_GALLERY_TILE_SIZE_REM.width + 1.5}rem`,
|
9623
|
-
height: shouldFloatLocalVideo
|
9624
|
-
? `calc(100% - ${_pxToRem(VERTICAL_GALLERY_FLOATING_MODAL_SIZE_PX.height)})`
|
9625
|
-
: '100%',
|
9688
|
+
height: shouldFloatLocalVideo ? `calc(100% - ${VERTICAL_GALLERY_FLOATING_MODAL_SIZE_REM.height}rem)` : '100%',
|
9626
9689
|
paddingBottom: '0.5rem'
|
9627
9690
|
};
|
9628
9691
|
};
|
@@ -9663,8 +9726,8 @@ const verticalGalleryStyle = (isShort) => {
|
|
9663
9726
|
* @private
|
9664
9727
|
*/
|
9665
9728
|
const calculateHorizontalChildrenPerPage = (args) => {
|
9666
|
-
const { numberOfChildren, containerWidth, buttonWidthRem,
|
9667
|
-
const
|
9729
|
+
const { numberOfChildren, containerWidth, buttonWidthRem, gapWidthRem } = args;
|
9730
|
+
const childMinWidth = _convertRemToPx(LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.minWidth);
|
9668
9731
|
const gapWidth = _convertRemToPx(gapWidthRem);
|
9669
9732
|
/** First check how many children can fit in containerWidth.
|
9670
9733
|
* __________________________________
|
@@ -9674,7 +9737,7 @@ const calculateHorizontalChildrenPerPage = (args) => {
|
|
9674
9737
|
* <-----------containerWidth--------->
|
9675
9738
|
* containerWidth = n * childWidth + (n - 1) * gapWidth. Isolate n and take the floor.
|
9676
9739
|
*/
|
9677
|
-
const numberOfChildrenInContainer = Math.floor((containerWidth + gapWidth) / (
|
9740
|
+
const numberOfChildrenInContainer = Math.floor((containerWidth + gapWidth) / (childMinWidth + gapWidth));
|
9678
9741
|
// If all children fit then return numberOfChildrenInContainer
|
9679
9742
|
if (numberOfChildren <= numberOfChildrenInContainer) {
|
9680
9743
|
return numberOfChildrenInContainer;
|
@@ -9692,7 +9755,7 @@ const calculateHorizontalChildrenPerPage = (args) => {
|
|
9692
9755
|
const childrenSpace = containerWidth - 2 * buttonWidth - 2 * gapWidth;
|
9693
9756
|
// Now that we have childrenSpace width we can figure out how many children can fit in childrenSpace.
|
9694
9757
|
// childrenSpace = n * childWidth + (n - 1) * gapWidth. Isolate n and take the floor.
|
9695
|
-
return Math.max(Math.floor((childrenSpace + gapWidth) / (
|
9758
|
+
return Math.max(Math.floor((childrenSpace + gapWidth) / (childMinWidth + gapWidth)), 1);
|
9696
9759
|
};
|
9697
9760
|
/**
|
9698
9761
|
* Helper function to find the number of children for the VerticalGallery on each page.
|
@@ -9751,7 +9814,7 @@ const calculateVerticalChildrenPerPage = (args) => {
|
|
9751
9814
|
* available width obtained from a ResizeObserver, width per child, gap width, and button width
|
9752
9815
|
*/
|
9753
9816
|
const ResponsiveHorizontalGallery = (props) => {
|
9754
|
-
const {
|
9817
|
+
const { gapWidthRem, buttonWidthRem = 0, onFetchTilesToRender } = props;
|
9755
9818
|
const containerRef = React.useRef(null);
|
9756
9819
|
const containerWidth = _useContainerWidth(containerRef);
|
9757
9820
|
const leftPadding = containerRef.current ? parseFloat(getComputedStyle(containerRef.current).paddingLeft) : 0;
|
@@ -9759,7 +9822,6 @@ const ResponsiveHorizontalGallery = (props) => {
|
|
9759
9822
|
const childrenPerPage = calculateHorizontalChildrenPerPage({
|
9760
9823
|
numberOfChildren: React__default['default'].Children.count(props.children),
|
9761
9824
|
containerWidth: (containerWidth !== null && containerWidth !== void 0 ? containerWidth : 0) - leftPadding - rightPadding,
|
9762
|
-
childWidthRem,
|
9763
9825
|
gapWidthRem,
|
9764
9826
|
buttonWidthRem
|
9765
9827
|
});
|
@@ -9961,60 +10023,6 @@ const ResponsiveVerticalGallery = (props) => {
|
|
9961
10023
|
React__default['default'].createElement(VerticalGallery, { childrenPerPage: childrenPerPage, styles: verticalGalleryStyles, onFetchTilesToRender: onFetchTilesToRender }, children)));
|
9962
10024
|
};
|
9963
10025
|
|
9964
|
-
// Copyright (c) Microsoft Corporation.
|
9965
|
-
/**
|
9966
|
-
* @private
|
9967
|
-
*/
|
9968
|
-
const horizontalGalleryContainerStyle = (shouldFloatLocalVideo, isNarrow) => {
|
9969
|
-
return {
|
9970
|
-
minHeight: isNarrow
|
9971
|
-
? `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`
|
9972
|
-
: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
9973
|
-
width: shouldFloatLocalVideo
|
9974
|
-
? isNarrow
|
9975
|
-
? `calc(100% - ${_pxToRem(SMALL_FLOATING_MODAL_SIZE_PX.width)})`
|
9976
|
-
: `calc(100% - ${_pxToRem(LARGE_FLOATING_MODAL_SIZE_PX.width)})`
|
9977
|
-
: '100%',
|
9978
|
-
paddingRight: '0.5rem'
|
9979
|
-
};
|
9980
|
-
};
|
9981
|
-
/**
|
9982
|
-
* @private
|
9983
|
-
*/
|
9984
|
-
const horizontalGalleryStyle = (isNarrow) => {
|
9985
|
-
return {
|
9986
|
-
children: isNarrow ? SMALL_HORIZONTAL_GALLERY_TILE_STYLE : LARGE_HORIZONTAL_GALLERY_TILE_STYLE
|
9987
|
-
};
|
9988
|
-
};
|
9989
|
-
/**
|
9990
|
-
* Small horizontal gallery tile size in rem
|
9991
|
-
* @private
|
9992
|
-
*/
|
9993
|
-
const SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM = { height: 6.5, width: 6.5 };
|
9994
|
-
/**
|
9995
|
-
* Large horizontal gallery tile size in rem
|
9996
|
-
* @private
|
9997
|
-
*/
|
9998
|
-
const LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM = { height: 7.5, width: 10 };
|
9999
|
-
/**
|
10000
|
-
* @private
|
10001
|
-
*/
|
10002
|
-
const SMALL_HORIZONTAL_GALLERY_TILE_STYLE = {
|
10003
|
-
minHeight: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
10004
|
-
minWidth: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`,
|
10005
|
-
maxHeight: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
10006
|
-
maxWidth: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`
|
10007
|
-
};
|
10008
|
-
/**
|
10009
|
-
* @private
|
10010
|
-
*/
|
10011
|
-
const LARGE_HORIZONTAL_GALLERY_TILE_STYLE = {
|
10012
|
-
minHeight: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
10013
|
-
minWidth: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`,
|
10014
|
-
maxHeight: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
10015
|
-
maxWidth: `${LARGE_HORIZONTAL_GALLERY_TILE_SIZE_REM.width}rem`
|
10016
|
-
};
|
10017
|
-
|
10018
10026
|
// Copyright (c) Microsoft Corporation.
|
10019
10027
|
/**
|
10020
10028
|
* @private
|
@@ -10032,7 +10040,7 @@ const scrollableHorizontalGalleryStyles = {
|
|
10032
10040
|
*/
|
10033
10041
|
const scrollableHorizontalGalleryContainerStyles = react.mergeStyles({
|
10034
10042
|
display: 'flex',
|
10035
|
-
width: `calc(100% - ${
|
10043
|
+
width: `calc(100% - ${SMALL_FLOATING_MODAL_SIZE_REM.width}rem)`,
|
10036
10044
|
minHeight: `${SMALL_HORIZONTAL_GALLERY_TILE_SIZE_REM.height}rem`,
|
10037
10045
|
overflow: 'scroll',
|
10038
10046
|
'-ms-overflow-style': 'none',
|
@@ -10104,7 +10112,7 @@ const OverflowGallery = (props) => {
|
|
10104
10112
|
if (isNarrow) {
|
10105
10113
|
return (React__default['default'].createElement(ScrollableHorizontalGallery, { horizontalGalleryElements: overflowGalleryElements, onFetchTilesToRender: onFetchTilesToRender, key: "scrollable-horizontal-gallery" }));
|
10106
10114
|
}
|
10107
|
-
return (React__default['default'].createElement(ResponsiveHorizontalGallery, { key: "responsive-horizontal-gallery", containerStyles: containerStyles, onFetchTilesToRender: onFetchTilesToRender, horizontalGalleryStyles: galleryStyles,
|
10115
|
+
return (React__default['default'].createElement(ResponsiveHorizontalGallery, { key: "responsive-horizontal-gallery", containerStyles: containerStyles, onFetchTilesToRender: onFetchTilesToRender, horizontalGalleryStyles: galleryStyles, buttonWidthRem: HORIZONTAL_GALLERY_BUTTON_WIDTH, gapWidthRem: HORIZONTAL_GALLERY_GAP }, overflowGalleryElements));
|
10108
10116
|
};
|
10109
10117
|
|
10110
10118
|
// Copyright (c) Microsoft Corporation.
|
@@ -10868,12 +10876,15 @@ const DRAG_OPTIONS$1 = {
|
|
10868
10876
|
// This is a workaround for: https://github.com/microsoft/fluentui/issues/20122
|
10869
10877
|
// Because our modal starts in the bottom right corner, we can say that this is the max (i.e. rightmost and bottomost)
|
10870
10878
|
// position the modal can be dragged to.
|
10871
|
-
const modalMaxDragPosition = {
|
10879
|
+
const modalMaxDragPosition = {
|
10880
|
+
x: _convertRemToPx(localVideoTileOuterPaddingRem),
|
10881
|
+
y: _convertRemToPx(localVideoTileOuterPaddingRem)
|
10882
|
+
};
|
10872
10883
|
/**
|
10873
10884
|
* @private
|
10874
10885
|
*/
|
10875
10886
|
const FloatingLocalVideo = (props) => {
|
10876
|
-
const { localVideoComponent, layerHostId,
|
10887
|
+
const { localVideoComponent, layerHostId, localVideoSizeRem, parentWidth, parentHeight } = props;
|
10877
10888
|
const theme = useTheme();
|
10878
10889
|
// The minimum drag position is the top left of the video gallery. i.e. the modal (PiP) should not be able
|
10879
10890
|
// to be dragged offscreen and these are the top and left bounds of that calculation.
|
@@ -10881,11 +10892,11 @@ const FloatingLocalVideo = (props) => {
|
|
10881
10892
|
? {
|
10882
10893
|
// We use -parentWidth/Height because our modal is positioned to start in the bottom right,
|
10883
10894
|
// hence (0,0) is the bottom right of the video gallery.
|
10884
|
-
x: -parentWidth +
|
10885
|
-
y: -parentHeight +
|
10895
|
+
x: -parentWidth + _convertRemToPx(localVideoSizeRem.width) + _convertRemToPx(localVideoTileOuterPaddingRem),
|
10896
|
+
y: -parentHeight + _convertRemToPx(localVideoSizeRem.height) + _convertRemToPx(localVideoTileOuterPaddingRem)
|
10886
10897
|
}
|
10887
|
-
: undefined, [parentHeight, parentWidth,
|
10888
|
-
const modalStyles = React.useMemo(() => floatingLocalVideoModalStyle(theme,
|
10898
|
+
: undefined, [parentHeight, parentWidth, localVideoSizeRem.width, localVideoSizeRem.height]);
|
10899
|
+
const modalStyles = React.useMemo(() => floatingLocalVideoModalStyle(theme, localVideoSizeRem), [theme, localVideoSizeRem]);
|
10889
10900
|
const layerProps = React.useMemo(() => ({ hostId: layerHostId }), [layerHostId]);
|
10890
10901
|
return (React__default['default'].createElement(_ModalClone, { isOpen: true, isModeless: true, dragOptions: DRAG_OPTIONS$1, styles: modalStyles, layerProps: layerProps, maxDragPosition: modalMaxDragPosition, minDragPosition: modalMinDragPosition }, localVideoComponent));
|
10891
10902
|
};
|
@@ -10968,19 +10979,19 @@ const FloatingLocalVideoLayout = (props) => {
|
|
10968
10979
|
: (_b = p.videoStream) === null || _b === void 0 ? void 0 : _b.isAvailable);
|
10969
10980
|
});
|
10970
10981
|
const layerHostId = reactHooks.useId('layerhost');
|
10971
|
-
const
|
10982
|
+
const localVideoSizeRem = React.useMemo(() => {
|
10972
10983
|
if (isNarrow) {
|
10973
|
-
return
|
10984
|
+
return SMALL_FLOATING_MODAL_SIZE_REM;
|
10974
10985
|
}
|
10975
10986
|
/* @conditional-compile-remove(vertical-gallery) */
|
10976
10987
|
if ((horizontalGalleryTiles.length > 0 || !!screenShareComponent) && overflowGalleryLayout === 'VerticalRight') {
|
10977
10988
|
return isNarrow
|
10978
|
-
?
|
10989
|
+
? SMALL_FLOATING_MODAL_SIZE_REM
|
10979
10990
|
: isShort
|
10980
|
-
?
|
10981
|
-
:
|
10991
|
+
? SHORT_VERTICAL_GALLERY_FLOATING_MODAL_SIZE_REM
|
10992
|
+
: VERTICAL_GALLERY_FLOATING_MODAL_SIZE_REM;
|
10982
10993
|
}
|
10983
|
-
return
|
10994
|
+
return LARGE_FLOATING_MODAL_SIZE_REM;
|
10984
10995
|
}, [
|
10985
10996
|
horizontalGalleryTiles.length,
|
10986
10997
|
isNarrow,
|
@@ -10990,10 +11001,10 @@ const FloatingLocalVideoLayout = (props) => {
|
|
10990
11001
|
]);
|
10991
11002
|
const wrappedLocalVideoComponent = localVideoComponent && shouldFloatLocalVideo ? (
|
10992
11003
|
// When we use showCameraSwitcherInLocalPreview it disables dragging to allow keyboard navigation.
|
10993
|
-
showCameraSwitcherInLocalPreview ? (React__default['default'].createElement(react.Stack, { className: react.mergeStyles(localVideoTileWithControlsContainerStyle(theme,
|
11004
|
+
showCameraSwitcherInLocalPreview ? (React__default['default'].createElement(react.Stack, { className: react.mergeStyles(localVideoTileWithControlsContainerStyle(theme, localVideoSizeRem), {
|
10994
11005
|
boxShadow: theme.effects.elevation8,
|
10995
11006
|
zIndex: LOCAL_VIDEO_TILE_ZINDEX
|
10996
|
-
}) }, localVideoComponent)) : horizontalGalleryTiles.length > 0 || !!screenShareComponent ? (React__default['default'].createElement(react.Stack, { className: react.mergeStyles(localVideoTileContainerStyle(theme,
|
11007
|
+
}) }, localVideoComponent)) : horizontalGalleryTiles.length > 0 || !!screenShareComponent ? (React__default['default'].createElement(react.Stack, { className: react.mergeStyles(localVideoTileContainerStyle(theme, localVideoSizeRem)) }, localVideoComponent)) : (React__default['default'].createElement(FloatingLocalVideo, { localVideoComponent: localVideoComponent, layerHostId: layerHostId, localVideoSizeRem: localVideoSizeRem, parentWidth: parentWidth, parentHeight: parentHeight }))) : undefined;
|
10997
11008
|
const overflowGallery = React.useMemo(() => {
|
10998
11009
|
if (horizontalGalleryTiles.length === 0 && !screenShareComponent) {
|
10999
11010
|
return null;
|
@@ -11727,6 +11738,18 @@ const CameraButton = (props) => {
|
|
11727
11738
|
iconName: props.checked ? 'SplitButtonPrimaryActionCameraOn' : 'SplitButtonPrimaryActionCameraOff',
|
11728
11739
|
styles: { root: { lineHeight: 0 } }
|
11729
11740
|
}
|
11741
|
+
},
|
11742
|
+
/* @conditional-compile-remove(video-background-effects) */
|
11743
|
+
{
|
11744
|
+
key: 'effects',
|
11745
|
+
text: 'Effects',
|
11746
|
+
title: 'Video Effects',
|
11747
|
+
iconProps: { iconName: 'OptionsVideoBackgroundEffect', styles: { root: { lineHeight: 0 } } },
|
11748
|
+
onClick: () => {
|
11749
|
+
if (props.onShowVideoEffectsPicker) {
|
11750
|
+
props.onShowVideoEffectsPicker(true);
|
11751
|
+
}
|
11752
|
+
}
|
11730
11753
|
}
|
11731
11754
|
]
|
11732
11755
|
}
|
@@ -17880,7 +17903,9 @@ const concatButtonBaseStyles = (...styles) => {
|
|
17880
17903
|
const Camera = (props) => {
|
17881
17904
|
const cameraButtonProps = usePropsFor$1(CameraButton);
|
17882
17905
|
const styles = React.useMemo(() => { var _a; return concatButtonBaseStyles((_a = props.styles) !== null && _a !== void 0 ? _a : {}); }, [props.styles]);
|
17883
|
-
return (React__default['default'].createElement(CameraButton, Object.assign({ "data-ui-id": "call-composite-camera-button" }, cameraButtonProps, { showLabel: props.displayType !== 'compact', styles: styles, enableDeviceSelectionMenu: props.splitButtonsForDeviceSelection, disabled: cameraButtonProps.disabled || props.disabled
|
17906
|
+
return (React__default['default'].createElement(CameraButton, Object.assign({ "data-ui-id": "call-composite-camera-button" }, cameraButtonProps, { showLabel: props.displayType !== 'compact', styles: styles, enableDeviceSelectionMenu: props.splitButtonsForDeviceSelection, disabled: cameraButtonProps.disabled || props.disabled,
|
17907
|
+
/* @conditional-compile-remove(video-background-effects) */
|
17908
|
+
onShowVideoEffectsPicker: props.onShowVideoEffectsPicker })));
|
17884
17909
|
};
|
17885
17910
|
|
17886
17911
|
// Copyright (c) Microsoft Corporation.
|
@@ -18358,7 +18383,7 @@ const CallControls = (props) => {
|
|
18358
18383
|
/* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(PSTN-calls) */
|
18359
18384
|
!props.isMobile && (React__default['default'].createElement(Participants, { option: options === null || options === void 0 ? void 0 : options.participantsButton, callInvitationURL: props.callInvitationURL, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, displayType: options === null || options === void 0 ? void 0 : options.displayType, increaseFlyoutItemSize: props.increaseFlyoutItemSize, isMobile: props.isMobile, disabled: isDisabled$2(options === null || options === void 0 ? void 0 : options.participantsButton) })) && (
|
18360
18385
|
/* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(PSTN-calls) */
|
18361
|
-
React__default['default'].createElement(People, { checked: props.peopleButtonChecked, showLabel: (options === null || options === void 0 ? void 0 : options.displayType) !== 'compact', onClick: props.onPeopleButtonClicked, "data-ui-id": "call-composite-people-button", strings: peopleButtonStrings, disabled: isDisabled$2(options === null || options === void 0 ? void 0 : options.participantsButton) })),
|
18386
|
+
React__default['default'].createElement(People, { checked: props.peopleButtonChecked, ariaLabel: peopleButtonStrings === null || peopleButtonStrings === void 0 ? void 0 : peopleButtonStrings.label, showLabel: (options === null || options === void 0 ? void 0 : options.displayType) !== 'compact', onClick: props.onPeopleButtonClicked, "data-ui-id": "call-composite-people-button", strings: peopleButtonStrings, disabled: isDisabled$2(options === null || options === void 0 ? void 0 : options.participantsButton) })),
|
18362
18387
|
isEnabled$2(options === null || options === void 0 ? void 0 : options.devicesButton) && (React__default['default'].createElement(Devices, { displayType: options === null || options === void 0 ? void 0 : options.displayType, increaseFlyoutItemSize: props.increaseFlyoutItemSize, disabled: isDisabled$2(options === null || options === void 0 ? void 0 : options.devicesButton) })),
|
18363
18388
|
/* @conditional-compile-remove(one-to-n-calling) */ /* @conditional-compile-remove(PSTN-calls) */
|
18364
18389
|
isEnabled$2(options === null || options === void 0 ? void 0 : options.moreButton) && moreButtonContextualMenuItems().length > 0 && (React__default['default'].createElement(MoreButton, { strings: moreButtonStrings, menuIconProps: { hidden: true }, menuProps: { items: moreButtonContextualMenuItems() }, showLabel: (options === null || options === void 0 ? void 0 : options.displayType) !== 'compact' })),
|
@@ -22810,7 +22835,9 @@ const CallWithChatControlBar = (props) => {
|
|
22810
22835
|
disabled: props.disableButtonsForHoldScreen || isDisabled$2(options.microphoneButton) })),
|
22811
22836
|
isEnabled$1(options.cameraButton) && (React__default['default'].createElement(Camera, { displayType: options.displayType, styles: commonButtonStyles, splitButtonsForDeviceSelection: !props.mobileView,
|
22812
22837
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
22813
|
-
disabled: props.disableButtonsForHoldScreen || isDisabled$2(options.cameraButton)
|
22838
|
+
disabled: props.disableButtonsForHoldScreen || isDisabled$2(options.cameraButton),
|
22839
|
+
/* @conditional-compile-remove(video-background-effects) */
|
22840
|
+
onShowVideoEffectsPicker: props.onShowVideoEffectsPicker })),
|
22814
22841
|
props.mobileView && isEnabled$1(options === null || options === void 0 ? void 0 : options.chatButton) && chatButton,
|
22815
22842
|
isEnabled$1(options.screenShareButton) && (React__default['default'].createElement(ScreenShare, { option: options.screenShareButton, displayType: options.displayType, styles: screenShareButtonStyles,
|
22816
22843
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
@@ -22835,7 +22862,7 @@ const CallWithChatControlBar = (props) => {
|
|
22835
22862
|
_b.slice(0, CUSTOM_BUTTON_OPTIONS.MAX_SECONDARY_DESKTOP_CUSTOM_BUTTONS).map((CustomButton, i) => {
|
22836
22863
|
return (React__default['default'].createElement(CustomButton, { key: `secondary-custom-button-${i}`, styles: commonButtonStyles, showLabel: options.displayType !== 'compact' }));
|
22837
22864
|
}),
|
22838
|
-
isEnabled$1(options === null || options === void 0 ? void 0 : options.peopleButton) && (React__default['default'].createElement(PeopleButton, { checked: props.peopleButtonChecked, showLabel: options.displayType !== 'compact', onClick: props.onPeopleButtonClicked, "data-ui-id": "call-with-chat-composite-people-button", disabled: props.disableButtonsForLobbyPage || isDisabled$2(options.peopleButton), strings: peopleButtonStrings, styles: commonButtonStyles })),
|
22865
|
+
isEnabled$1(options === null || options === void 0 ? void 0 : options.peopleButton) && (React__default['default'].createElement(PeopleButton, { checked: props.peopleButtonChecked, ariaLabel: peopleButtonStrings === null || peopleButtonStrings === void 0 ? void 0 : peopleButtonStrings.label, showLabel: options.displayType !== 'compact', onClick: props.onPeopleButtonClicked, "data-ui-id": "call-with-chat-composite-people-button", disabled: props.disableButtonsForLobbyPage || isDisabled$2(options.peopleButton), strings: peopleButtonStrings, styles: commonButtonStyles })),
|
22839
22866
|
isEnabled$1(options === null || options === void 0 ? void 0 : options.chatButton) && chatButton))));
|
22840
22867
|
};
|
22841
22868
|
const desktopButtonContainerStyle = {
|
@@ -23435,10 +23462,30 @@ const CallWithChatPane = (props) => {
|
|
23435
23462
|
React__default['default'].createElement(_DrawerMenu, { onLightDismiss: () => setDrawerMenuItems([]), items: drawerMenuItems })))));
|
23436
23463
|
};
|
23437
23464
|
|
23465
|
+
// Copyright (c) Microsoft Corporation.
|
23466
|
+
/**
|
23467
|
+
* Pane that is used to show video effects button
|
23468
|
+
* @private
|
23469
|
+
*/
|
23470
|
+
/** @beta */
|
23471
|
+
const VideoEffectsPane = (props) => {
|
23472
|
+
return VideoEffectsPaneTrampoline(props.showVideoEffectsOptions, props.setshowVideoEffectsOptions);
|
23473
|
+
};
|
23474
|
+
const VideoEffectsPaneTrampoline = (showVideoEffectsOptions, setshowVideoEffectsOptions) => {
|
23475
|
+
/* @conditional-compile-remove(video-background-effects) */
|
23476
|
+
return (React__default['default'].createElement(react.Panel, { headerText: "Effects", isOpen: showVideoEffectsOptions, onDismiss: () => setshowVideoEffectsOptions(false), hasCloseButton: true, closeButtonAriaLabel: "Close", isLightDismiss: true }));
|
23477
|
+
};
|
23478
|
+
|
23438
23479
|
// Copyright (c) Microsoft Corporation.
|
23439
23480
|
const CallWithChatScreen = (props) => {
|
23440
23481
|
const { callWithChatAdapter, fluentTheme, formFactor = 'desktop' } = props;
|
23441
23482
|
const mobileView = formFactor === 'mobile';
|
23483
|
+
/* @conditional-compile-remove(video-background-effects) */
|
23484
|
+
const [showVideoEffectsPane, setVideoEffectsPane] = React.useState(false);
|
23485
|
+
/* @conditional-compile-remove(video-background-effects) */
|
23486
|
+
const setShowVideoEffectsPane = React.useCallback((showVideoEffectsOptions) => {
|
23487
|
+
setVideoEffectsPane(showVideoEffectsOptions);
|
23488
|
+
}, [setVideoEffectsPane]);
|
23442
23489
|
if (!callWithChatAdapter) {
|
23443
23490
|
throw new Error('CallWithChatAdapter is undefined');
|
23444
23491
|
}
|
@@ -23583,6 +23630,8 @@ const CallWithChatScreen = (props) => {
|
|
23583
23630
|
// Perf: Instead of removing the video gallery from DOM, we hide it to prevent re-renders.
|
23584
23631
|
style: callCompositeContainerCSS },
|
23585
23632
|
React__default['default'].createElement(CallComposite, Object.assign({}, props, { formFactor: formFactor, options: callCompositeOptions, adapter: callAdapter, fluentTheme: fluentTheme }))),
|
23633
|
+
/* @conditional-compile-remove(video-background-effects) */
|
23634
|
+
React__default['default'].createElement(VideoEffectsPane, { showVideoEffectsOptions: showVideoEffectsPane, setshowVideoEffectsOptions: setShowVideoEffectsPane }),
|
23586
23635
|
chatProps.adapter && callAdapter && hasJoinedCall && (React__default['default'].createElement(CallWithChatPane, { chatCompositeProps: chatProps, inviteLink: props.joinInvitationURL, onClose: closePane, chatAdapter: chatProps.adapter, callAdapter: callAdapter, onFetchAvatarPersonaData: props.onFetchAvatarPersonaData, onFetchParticipantMenuItems: props.onFetchParticipantMenuItems, onChatButtonClicked: showShowChatTabHeaderButton(props.callControls) ? selectChat : undefined, onPeopleButtonClicked: showShowPeopleTabHeaderButton(props.callControls) ? selectPeople : undefined, modalLayerHostId: modalLayerHostId, mobileView: mobileView, activePane: activePane,
|
23587
23636
|
/* @conditional-compile-remove(file-sharing) */
|
23588
23637
|
fileSharing: props.fileSharing, rtl: props.rtl, callControls: typeof props.callControls !== 'boolean' ? props.callControls : undefined }))),
|
@@ -23592,7 +23641,9 @@ const CallWithChatScreen = (props) => {
|
|
23592
23641
|
/* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */
|
23593
23642
|
disableButtonsForHoldScreen: isInLocalHold, callControls: props.callControls, containerHeight: containerHeight, containerWidth: containerWidth,
|
23594
23643
|
/* @conditional-compile-remove(PSTN-calls) */
|
23595
|
-
onClickShowDialpad: alternateCallerId ? onClickShowDialpad : undefined
|
23644
|
+
onClickShowDialpad: alternateCallerId ? onClickShowDialpad : undefined,
|
23645
|
+
/* @conditional-compile-remove(video-background-effects) */
|
23646
|
+
onShowVideoEffectsPicker: setShowVideoEffectsPane })))),
|
23596
23647
|
showControlBar && showDrawer && (React__default['default'].createElement(ChatAdapterProvider, { adapter: chatProps.adapter },
|
23597
23648
|
React__default['default'].createElement(CallAdapterProvider, { adapter: callAdapter },
|
23598
23649
|
React__default['default'].createElement(react.Stack, { styles: drawerContainerStyles() },
|