@azure/communication-react 1.9.0-alpha-202310181643 → 1.9.0-alpha-202310201641
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 +261 -225
- package/dist/dist-cjs/communication-react/index.js +653 -390
- 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/Caption.js +1 -0
- package/dist/dist-esm/react-components/src/components/Caption.js.map +1 -1
- package/dist/dist-esm/react-components/src/components/LocalVideoTile.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/RemoteVideoTile.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/LocalScreenShare.d.ts +1 -1
- package/dist/dist-esm/react-components/src/components/VideoGallery/RemoteScreenShare.d.ts +1 -1
- package/dist/dist-esm/react-components/src/theming/icons.d.ts +87 -87
- package/dist/dist-esm/react-composites/src/composites/CallComposite/MockCallAdapter.d.ts +61 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/MockCallAdapter.js +255 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/MockCallAdapter.js.map +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js +38 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallControls.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js +1 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.d.ts +1 -80
- package/dist/dist-esm/react-composites/src/composites/CallComposite/types/CallControlOptions.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.d.ts +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/index.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.d.ts +84 -23
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js +8 -5
- package/dist/dist-esm/react-composites/src/composites/common/ControlBar/CustomButton.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +90 -87
- package/dist/dist-esm/react-composites/src/composites/common/icons.js +4 -2
- package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.d.ts +0 -79
- package/dist/dist-esm/react-composites/src/composites/common/types/CommonCallControlOptions.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/index.d.ts +1 -2
- package/dist/dist-esm/react-composites/src/composites/index.js.map +1 -1
- package/dist/tsdoc-metadata.json +1 -1
- package/package.json +19 -19
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.d.ts +0 -17
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js +0 -35
- package/dist/dist-esm/react-composites/src/composites/CallComposite/components/buttons/Custom.js.map +0 -1
@@ -1,6 +1,5 @@
|
|
1
1
|
import { IContextualMenuItem } from '@fluentui/react';
|
2
2
|
import { ControlBarButton, _DrawerMenuItemProps } from "../../../../../react-components/src";
|
3
|
-
import { CustomCallControlButtonCallbackArgs, CustomControlButtonProps } from '../types/CommonCallControlOptions';
|
4
3
|
import { CallControlDisplayType } from '../types/CommonCallControlOptions';
|
5
4
|
import { CommonCallControlOptions } from '../types/CommonCallControlOptions';
|
6
5
|
/**
|
@@ -14,10 +13,91 @@ export declare const CUSTOM_BUTTON_OPTIONS: {
|
|
14
13
|
MAX_PRIMARY_MOBILE_CUSTOM_BUTTONS: number;
|
15
14
|
MAX_SECONDARY_DESKTOP_CUSTOM_BUTTONS: number;
|
16
15
|
};
|
17
|
-
/**
|
16
|
+
/**
|
17
|
+
* Custom Buttons array as ControlBarButtons.
|
18
|
+
* Return type for {@link generateCustomCallControlBarButton}
|
19
|
+
*
|
20
|
+
* @public
|
21
|
+
*/
|
18
22
|
export declare type CustomButtons = {
|
19
23
|
[key in CustomCallControlButtonPlacement]: typeof ControlBarButton[] | undefined;
|
20
24
|
};
|
25
|
+
/**
|
26
|
+
* Arguments for {@link CustomCallControlButtonCallback}.
|
27
|
+
*
|
28
|
+
* @public
|
29
|
+
*/
|
30
|
+
export interface CustomCallControlButtonCallbackArgs {
|
31
|
+
/**
|
32
|
+
* Buttons should reduce the size to fit a smaller viewport when `displayType` is `'compact'`.
|
33
|
+
*
|
34
|
+
* @defaultValue `'default'`
|
35
|
+
*/
|
36
|
+
displayType?: CallControlDisplayType;
|
37
|
+
}
|
38
|
+
/**
|
39
|
+
* Response from {@link CustomCallControlButtonCallback}.
|
40
|
+
* Includes the base props necessary to render a {@link ControlBarButton} or {@link DrawerMenuItem}.
|
41
|
+
*
|
42
|
+
* @public
|
43
|
+
*/
|
44
|
+
export interface CustomCallControlButtonProps {
|
45
|
+
/**
|
46
|
+
* Where to place the custom button relative to other buttons.
|
47
|
+
*/
|
48
|
+
placement: CustomCallControlButtonPlacement;
|
49
|
+
/**
|
50
|
+
* Icon to render. Icon is a non-default icon name that needs to be registered as a
|
51
|
+
* custom icon using registerIcons through fluentui. Examples include icons from the fluentui library
|
52
|
+
*/
|
53
|
+
iconName?: string;
|
54
|
+
/**
|
55
|
+
* Calback for when button is clicked
|
56
|
+
*/
|
57
|
+
onItemClick?: () => void;
|
58
|
+
/**
|
59
|
+
* Whether the buttons is disabled
|
60
|
+
*
|
61
|
+
* @defaultValue true
|
62
|
+
*/
|
63
|
+
disabled?: boolean;
|
64
|
+
/**
|
65
|
+
* Whether the label is displayed or not.
|
66
|
+
* If no value is set, showLabel will follow composite rules
|
67
|
+
*/
|
68
|
+
showLabel?: boolean;
|
69
|
+
/**
|
70
|
+
* A unique id set for the standard HTML id attibute
|
71
|
+
*/
|
72
|
+
id?: string;
|
73
|
+
/**
|
74
|
+
* Optional strings to override in component
|
75
|
+
*/
|
76
|
+
strings?: CustomCallControlButtonStrings;
|
77
|
+
}
|
78
|
+
/**
|
79
|
+
* Strings for CustomCallControlButtons
|
80
|
+
*
|
81
|
+
* @public
|
82
|
+
*/
|
83
|
+
export interface CustomCallControlButtonStrings {
|
84
|
+
/**
|
85
|
+
* Optional label for the button
|
86
|
+
*/
|
87
|
+
label?: string;
|
88
|
+
/**
|
89
|
+
* Text that is shown in Tooltip content
|
90
|
+
*/
|
91
|
+
tooltipContent?: string;
|
92
|
+
/**
|
93
|
+
* The aria label of the button for the benefit of screen readers.
|
94
|
+
*/
|
95
|
+
ariaLabel?: string;
|
96
|
+
/**
|
97
|
+
* Detailed description of the button for the benefit of screen readers.
|
98
|
+
*/
|
99
|
+
ariaDescription?: string;
|
100
|
+
}
|
21
101
|
/** @private */
|
22
102
|
export declare const generateCustomCallControlBarButton: (onFetchCustomButtonProps?: CustomCallControlButtonCallback[] | undefined, displayType?: CallControlDisplayType | undefined) => CustomButtons;
|
23
103
|
/** @private */
|
@@ -40,7 +120,7 @@ export declare const drawerMenuItemToContextualMenuItem: (item: _DrawerMenuItemP
|
|
40
120
|
* The response indicates where the custom button should be placed.
|
41
121
|
*
|
42
122
|
* Performance tip: This callback is only called when either the callback or its arguments change.
|
43
|
-
* @
|
123
|
+
* @public
|
44
124
|
*/
|
45
125
|
export declare type CustomCallControlButtonCallback = (args: CustomCallControlButtonCallbackArgs) => CustomCallControlButtonProps;
|
46
126
|
/**
|
@@ -56,28 +136,9 @@ export declare type CustomCallControlButtonCallback = (args: CustomCallControlBu
|
|
56
136
|
*
|
57
137
|
* Only 'primary' placement works when legacy call control is enabled in call composite
|
58
138
|
*
|
59
|
-
* @
|
139
|
+
* @public
|
60
140
|
*/
|
61
141
|
export declare type CustomCallControlButtonPlacement = 'primary' | 'overflow' | 'secondary';
|
62
|
-
/**
|
63
|
-
* Response from {@link CustomCallControlButtonCallback}.
|
64
|
-
*
|
65
|
-
* Includes the icon and placement prop necessary to indicate where to place the
|
66
|
-
* {@link ControlBarButton} and a {@link DrawerMenuItem}
|
67
|
-
*
|
68
|
-
* @beta
|
69
|
-
*/
|
70
|
-
export interface CustomCallControlButtonProps extends CustomControlButtonProps {
|
71
|
-
/**
|
72
|
-
* Where to place the custom button relative to other buttons.
|
73
|
-
*/
|
74
|
-
placement: CustomCallControlButtonPlacement;
|
75
|
-
/**
|
76
|
-
* Icon to render. Icon is a non-default icon name that needs to be registered as a
|
77
|
-
* custom icon using registerIcons through fluentui. Examples include icons from the fluentui library
|
78
|
-
*/
|
79
|
-
iconName?: string;
|
80
|
-
}
|
81
142
|
/** @private */
|
82
143
|
export declare const onFetchCustomButtonPropsTrampoline: (options?: CommonCallControlOptions | undefined) => CustomCallControlButtonCallback[] | undefined;
|
83
144
|
//# sourceMappingURL=CustomButton.d.ts.map
|
@@ -29,21 +29,24 @@ const generateCustomControlBarButtons = (placement, customButtons) => customButt
|
|
29
29
|
? customButtons
|
30
30
|
.filter((buttonProps) => buttonProps.placement === placement)
|
31
31
|
.map((buttonProps, i) => (internalProps) => {
|
32
|
-
var _a, _b, _c, _d, _e, _f, _g, _h;
|
32
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
33
33
|
if (buttonProps['onRenderButton']) {
|
34
34
|
return buttonProps['onRenderButton'](internalProps);
|
35
35
|
}
|
36
|
-
return (React.createElement(ControlBarButton, { ariaDescription: (_a = buttonProps.ariaDescription) !== null &&
|
36
|
+
return (React.createElement(ControlBarButton, { ariaDescription: (_b = (_a = buttonProps.strings) === null || _a === void 0 ? void 0 : _a.ariaDescription) !== null && _b !== void 0 ? _b : internalProps.ariaDescription, ariaLabel: (_f = (_d = (_c = buttonProps.strings) === null || _c === void 0 ? void 0 : _c.ariaLabel) !== null && _d !== void 0 ? _d : (_e = buttonProps.strings) === null || _e === void 0 ? void 0 : _e.tooltipContent) !== null && _f !== void 0 ? _f : internalProps.ariaLabel, disabled: (_g = buttonProps.disabled) !== null && _g !== void 0 ? _g : internalProps.disabled, id: (_h = buttonProps.id) !== null && _h !== void 0 ? _h : internalProps.id, key: `${buttonProps.placement}_${i}`, onClick: (_j = buttonProps.onItemClick) !== null && _j !== void 0 ? _j : internalProps.onClick, onRenderIcon: () => {
|
37
37
|
var _a, _b, _c;
|
38
|
-
return (React.createElement(Icon, { iconName: (_c = (_a = buttonProps.iconName) !== null && _a !== void 0 ? _a : (_b = internalProps.iconProps) === null || _b === void 0 ? void 0 : _b.iconName) !== null && _c !== void 0 ? _c : '
|
39
|
-
}, showLabel: (
|
38
|
+
return (React.createElement(Icon, { iconName: (_c = (_a = buttonProps.iconName) !== null && _a !== void 0 ? _a : (_b = internalProps.iconProps) === null || _b === void 0 ? void 0 : _b.iconName) !== null && _c !== void 0 ? _c : 'DefaultCustomButton' }));
|
39
|
+
}, showLabel: (_k = buttonProps.showLabel) !== null && _k !== void 0 ? _k : internalProps.showLabel, styles: mergeStyleSets(internalProps.styles), strings: buttonProps.strings }));
|
40
40
|
})
|
41
41
|
: [];
|
42
42
|
/** @private */
|
43
43
|
const generateCustomDrawerButtons = (placement, customButtons) => customButtons
|
44
44
|
? customButtons
|
45
45
|
.filter((buttonProps) => buttonProps.placement === placement)
|
46
|
-
.map((buttonProps, i) =>
|
46
|
+
.map((buttonProps, i) => {
|
47
|
+
var _a, _b;
|
48
|
+
return (Object.assign(Object.assign({}, buttonProps), { disabled: buttonProps.disabled, iconProps: { iconName: (_a = buttonProps.iconName) !== null && _a !== void 0 ? _a : 'DefaultCustomButton', styles: { root: { lineHeight: 0 } } }, id: buttonProps.id, itemKey: `${buttonProps.placement}_${i}`, onItemClick: buttonProps.onItemClick, text: (_b = buttonProps.strings) === null || _b === void 0 ? void 0 : _b.label }));
|
49
|
+
})
|
47
50
|
: [];
|
48
51
|
/** @private */
|
49
52
|
export const generateCustomCallDrawerButtons = (onFetchCustomButtonProps, displayType) => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CustomButton.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/common/ControlBar/CustomButton.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// eslint-disable-next-line no-restricted-imports\nimport { Icon, IContextualMenuItem, mergeStyleSets } from '@fluentui/react';\nimport { ControlBarButton, _DrawerMenuItemProps } from '@internal/react-components';\nimport React from 'react';\nimport {\n _CommonCallControlOptions,\n CustomCallControlButtonCallbackArgs,\n CustomControlButtonProps\n} from '../types/CommonCallControlOptions';\nimport { CallControlDisplayType } from '../types/CommonCallControlOptions';\nimport { CommonCallControlOptions } from '../types/CommonCallControlOptions';\n\n/**\n * Max number of Custom Buttons in primary and secondary ControlBar\n * Does not include existing buttons in the controlBar.\n *\n * @private\n */\nexport const CUSTOM_BUTTON_OPTIONS = {\n MAX_PRIMARY_DESKTOP_CUSTOM_BUTTONS: 3,\n MAX_PRIMARY_MOBILE_CUSTOM_BUTTONS: 1,\n MAX_SECONDARY_DESKTOP_CUSTOM_BUTTONS: 2\n};\n\n/** @private */\nexport type CustomButtons = {\n [key in CustomCallControlButtonPlacement]: typeof ControlBarButton[] | undefined;\n};\n\n/** @private */\nexport const generateCustomCallControlBarButton = (\n onFetchCustomButtonProps?: CustomCallControlButtonCallback[],\n displayType?: CallControlDisplayType\n): CustomButtons => {\n const allButtonProps = onFetchCustomButtonProps?.map((callback) => callback({ displayType }));\n\n return {\n primary: generateCustomControlBarButtons('primary', allButtonProps),\n secondary: generateCustomControlBarButtons('secondary', allButtonProps),\n overflow: generateCustomControlBarButtons('overflow', allButtonProps)\n };\n};\n\n/** @private */\nconst generateCustomControlBarButtons = (\n placement: CustomCallControlButtonPlacement,\n customButtons?: CustomCallControlButtonProps[]\n): typeof ControlBarButton[] =>\n customButtons\n ? customButtons\n .filter((buttonProps) => buttonProps.placement === placement)\n .map((buttonProps, i) => (internalProps) => {\n if (buttonProps['onRenderButton']) {\n return buttonProps['onRenderButton'](internalProps);\n }\n return (\n <ControlBarButton\n ariaDescription={buttonProps.ariaDescription ?? internalProps.ariaDescription}\n ariaLabel={buttonProps.ariaLabel ?? internalProps.ariaLabel}\n disabled={buttonProps.disabled ?? internalProps.disabled}\n id={buttonProps.id ?? internalProps.id}\n key={buttonProps.key ?? `${buttonProps.placement}_${i}`}\n onClick={buttonProps.onItemClick ?? internalProps.onClick}\n onRenderIcon={() => (\n <Icon iconName={buttonProps.iconName ?? internalProps.iconProps?.iconName ?? 'ControlButtonOptions'} />\n )}\n showLabel={buttonProps.showLabel ?? internalProps.showLabel}\n text={buttonProps.text ?? internalProps.text}\n styles={mergeStyleSets(internalProps.styles, buttonProps.styles)}\n />\n );\n })\n : [];\n\n/** @private */\nconst generateCustomDrawerButtons = (\n placement: CustomCallControlButtonPlacement,\n customButtons?: CustomCallControlButtonProps[]\n): _DrawerMenuItemProps[] =>\n customButtons\n ? customButtons\n .filter((buttonProps) => buttonProps.placement === placement)\n .map(\n (buttonProps, i): _DrawerMenuItemProps => ({\n ...buttonProps,\n disabled: buttonProps.disabled,\n iconProps: { iconName: buttonProps.iconName },\n id: buttonProps.id,\n itemKey: buttonProps.key ? '' + buttonProps.key : `${buttonProps.placement}_${i}`,\n onItemClick: buttonProps.onItemClick,\n text: buttonProps.text\n })\n )\n : [];\n\n/** @private */\nexport type CustomDrawerButtons = {\n [key in CustomCallControlButtonPlacement]: _DrawerMenuItemProps[];\n};\n\n/** @private */\nexport const generateCustomCallDrawerButtons = (\n onFetchCustomButtonProps?: CustomCallControlButtonCallback[],\n displayType?: CallControlDisplayType\n): CustomDrawerButtons => {\n const customButtons = onFetchCustomButtonProps?.map((callback) => callback({ displayType }));\n return {\n primary: generateCustomDrawerButtons('primary', customButtons),\n secondary: generateCustomDrawerButtons('secondary', customButtons),\n overflow: generateCustomDrawerButtons('overflow', customButtons)\n };\n};\n\n/** @private */\nexport type CustomDesktopOverflowButtons = {\n [key in CustomCallControlButtonPlacement]: IContextualMenuItem[];\n};\n\n/** @private */\nexport const generateCustomCallDesktopOverflowButtons = (\n onFetchCustomButtonProps?: CustomCallControlButtonCallback[],\n displayType?: CallControlDisplayType\n): CustomDesktopOverflowButtons => {\n const customButtons = onFetchCustomButtonProps?.map((callback) => callback({ displayType }));\n return {\n primary: generateCustomDrawerButtons('primary', customButtons).map(drawerMenuItemToContextualMenuItem),\n secondary: generateCustomDrawerButtons('secondary', customButtons).map(drawerMenuItemToContextualMenuItem),\n overflow: generateCustomDrawerButtons('overflow', customButtons).map(drawerMenuItemToContextualMenuItem)\n };\n};\n\n/** @private */\nexport const drawerMenuItemToContextualMenuItem = (item: _DrawerMenuItemProps): IContextualMenuItem => ({\n ...item,\n key: item.itemKey,\n onClick: item.onItemClick\n ? (ev) => {\n item.onItemClick?.(ev);\n }\n : undefined,\n subMenuProps: item.subMenuProps\n ? {\n items: item.subMenuProps.map(drawerMenuItemToContextualMenuItem)\n }\n : undefined\n});\n\n/**\n * A callback that returns the props to render a custom {@link ControlBarButton} and {@link DrawerMenuItem}.\n *\n * The response indicates where the custom button should be placed.\n *\n * Performance tip: This callback is only called when either the callback or its arguments change.\n * @beta\n */\nexport type CustomCallControlButtonCallback = (\n args: CustomCallControlButtonCallbackArgs\n) => CustomCallControlButtonProps;\n\n/**\n * Placement for a custom button injected in the {@link CommonCallControlBar}.\n *\n * 'primary': Place the button(s) on the right end of the center control bar but before the EndCallButton (left end in rtl mode).\n * 'overflow': Place the buttons(s) on the end of the overflow Menu.\n * 'secondary': Place the button(s) on the left end of the side control bar (right in rtl mode).\n *\n * Multiple buttons assigned the same placement are appended in order.\n * E.g., if two buttons are placed in 'secondary', they'll both appear on the left end (right end in rtl mode)\n * in the order provided.\n *\n * Only 'primary' placement works when legacy call control is enabled in call composite\n *\n * @beta\n */\nexport type CustomCallControlButtonPlacement = 'primary' | 'overflow' | 'secondary';\n\n/**\n * Response from {@link CustomCallControlButtonCallback}.\n *\n * Includes the icon and placement prop necessary to indicate where to place the\n * {@link ControlBarButton} and a {@link DrawerMenuItem}\n *\n * @beta\n */\nexport interface CustomCallControlButtonProps extends CustomControlButtonProps {\n /**\n * Where to place the custom button relative to other buttons.\n */\n placement: CustomCallControlButtonPlacement;\n /**\n * Icon to render. Icon is a non-default icon name that needs to be registered as a\n * custom icon using registerIcons through fluentui. Examples include icons from the fluentui library\n */\n iconName?: string;\n}\n\n/** @private */\nexport const onFetchCustomButtonPropsTrampoline = (\n options?: CommonCallControlOptions\n): CustomCallControlButtonCallback[] | undefined => {\n let response: CustomCallControlButtonCallback[] | undefined = undefined;\n response = (options as _CommonCallControlOptions)?.onFetchCustomButtonProps;\n return response;\n};\n\"../../../../../react-components/src\""]}
|
1
|
+
{"version":3,"file":"CustomButton.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/common/ControlBar/CustomButton.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// eslint-disable-next-line no-restricted-imports\nimport { Icon, IContextualMenuItem, mergeStyleSets } from '@fluentui/react';\nimport { ControlBarButton, _DrawerMenuItemProps } from '@internal/react-components';\nimport React from 'react';\nimport { _CommonCallControlOptions } from '../types/CommonCallControlOptions';\nimport { CallControlDisplayType } from '../types/CommonCallControlOptions';\nimport { CommonCallControlOptions } from '../types/CommonCallControlOptions';\n\n/**\n * Max number of Custom Buttons in primary and secondary ControlBar\n * Does not include existing buttons in the controlBar.\n *\n * @private\n */\nexport const CUSTOM_BUTTON_OPTIONS = {\n MAX_PRIMARY_DESKTOP_CUSTOM_BUTTONS: 3,\n MAX_PRIMARY_MOBILE_CUSTOM_BUTTONS: 1,\n MAX_SECONDARY_DESKTOP_CUSTOM_BUTTONS: 2\n};\n\n/**\n * Custom Buttons array as ControlBarButtons.\n * Return type for {@link generateCustomCallControlBarButton}\n *\n * @public\n */\nexport type CustomButtons = {\n [key in CustomCallControlButtonPlacement]: typeof ControlBarButton[] | undefined;\n};\n\n/**\n * Arguments for {@link CustomCallControlButtonCallback}.\n *\n * @public\n */\nexport interface CustomCallControlButtonCallbackArgs {\n /**\n * Buttons should reduce the size to fit a smaller viewport when `displayType` is `'compact'`.\n *\n * @defaultValue `'default'`\n */\n displayType?: CallControlDisplayType;\n}\n\n/**\n * Response from {@link CustomCallControlButtonCallback}.\n * Includes the base props necessary to render a {@link ControlBarButton} or {@link DrawerMenuItem}.\n *\n * @public\n */\nexport interface CustomCallControlButtonProps {\n /**\n * Where to place the custom button relative to other buttons.\n */\n placement: CustomCallControlButtonPlacement;\n /**\n * Icon to render. Icon is a non-default icon name that needs to be registered as a\n * custom icon using registerIcons through fluentui. Examples include icons from the fluentui library\n */\n iconName?: string;\n /**\n * Calback for when button is clicked\n */\n onItemClick?: () => void;\n /**\n * Whether the buttons is disabled\n *\n * @defaultValue true\n */\n disabled?: boolean;\n /**\n * Whether the label is displayed or not.\n * If no value is set, showLabel will follow composite rules\n */\n showLabel?: boolean;\n /**\n * A unique id set for the standard HTML id attibute\n */\n id?: string;\n /**\n * Optional strings to override in component\n */\n strings?: CustomCallControlButtonStrings;\n}\n\n/**\n * Strings for CustomCallControlButtons\n *\n * @public\n */\nexport interface CustomCallControlButtonStrings {\n /**\n * Optional label for the button\n */\n label?: string;\n /**\n * Text that is shown in Tooltip content\n */\n tooltipContent?: string;\n /**\n * The aria label of the button for the benefit of screen readers.\n */\n ariaLabel?: string;\n /**\n * Detailed description of the button for the benefit of screen readers.\n */\n ariaDescription?: string;\n}\n\n/** @private */\nexport const generateCustomCallControlBarButton = (\n onFetchCustomButtonProps?: CustomCallControlButtonCallback[],\n displayType?: CallControlDisplayType\n): CustomButtons => {\n const allButtonProps = onFetchCustomButtonProps?.map((callback) => callback({ displayType }));\n\n return {\n primary: generateCustomControlBarButtons('primary', allButtonProps),\n secondary: generateCustomControlBarButtons('secondary', allButtonProps),\n overflow: generateCustomControlBarButtons('overflow', allButtonProps)\n };\n};\n\n/** @private */\nconst generateCustomControlBarButtons = (\n placement: CustomCallControlButtonPlacement,\n customButtons?: CustomCallControlButtonProps[]\n): typeof ControlBarButton[] =>\n customButtons\n ? customButtons\n .filter((buttonProps) => buttonProps.placement === placement)\n .map((buttonProps, i) => (internalProps) => {\n if (buttonProps['onRenderButton']) {\n return buttonProps['onRenderButton'](internalProps);\n }\n return (\n <ControlBarButton\n ariaDescription={buttonProps.strings?.ariaDescription ?? internalProps.ariaDescription}\n ariaLabel={\n buttonProps.strings?.ariaLabel ?? buttonProps.strings?.tooltipContent ?? internalProps.ariaLabel\n }\n disabled={buttonProps.disabled ?? internalProps.disabled}\n id={buttonProps.id ?? internalProps.id}\n key={`${buttonProps.placement}_${i}`}\n onClick={buttonProps.onItemClick ?? internalProps.onClick}\n onRenderIcon={() => (\n <Icon iconName={buttonProps.iconName ?? internalProps.iconProps?.iconName ?? 'DefaultCustomButton'} />\n )}\n showLabel={buttonProps.showLabel ?? internalProps.showLabel}\n styles={mergeStyleSets(internalProps.styles)}\n strings={buttonProps.strings}\n />\n );\n })\n : [];\n\n/** @private */\nconst generateCustomDrawerButtons = (\n placement: CustomCallControlButtonPlacement,\n customButtons?: CustomCallControlButtonProps[]\n): _DrawerMenuItemProps[] =>\n customButtons\n ? customButtons\n .filter((buttonProps) => buttonProps.placement === placement)\n .map(\n (buttonProps, i): _DrawerMenuItemProps => ({\n ...buttonProps,\n disabled: buttonProps.disabled,\n iconProps: { iconName: buttonProps.iconName ?? 'DefaultCustomButton', styles: { root: { lineHeight: 0 } } },\n id: buttonProps.id,\n itemKey: `${buttonProps.placement}_${i}`,\n onItemClick: buttonProps.onItemClick,\n text: buttonProps.strings?.label\n })\n )\n : [];\n\n/** @private */\nexport type CustomDrawerButtons = {\n [key in CustomCallControlButtonPlacement]: _DrawerMenuItemProps[];\n};\n\n/** @private */\nexport const generateCustomCallDrawerButtons = (\n onFetchCustomButtonProps?: CustomCallControlButtonCallback[],\n displayType?: CallControlDisplayType\n): CustomDrawerButtons => {\n const customButtons = onFetchCustomButtonProps?.map((callback) => callback({ displayType }));\n return {\n primary: generateCustomDrawerButtons('primary', customButtons),\n secondary: generateCustomDrawerButtons('secondary', customButtons),\n overflow: generateCustomDrawerButtons('overflow', customButtons)\n };\n};\n\n/** @private */\nexport type CustomDesktopOverflowButtons = {\n [key in CustomCallControlButtonPlacement]: IContextualMenuItem[];\n};\n\n/** @private */\nexport const generateCustomCallDesktopOverflowButtons = (\n onFetchCustomButtonProps?: CustomCallControlButtonCallback[],\n displayType?: CallControlDisplayType\n): CustomDesktopOverflowButtons => {\n const customButtons = onFetchCustomButtonProps?.map((callback) => callback({ displayType }));\n return {\n primary: generateCustomDrawerButtons('primary', customButtons).map(drawerMenuItemToContextualMenuItem),\n secondary: generateCustomDrawerButtons('secondary', customButtons).map(drawerMenuItemToContextualMenuItem),\n overflow: generateCustomDrawerButtons('overflow', customButtons).map(drawerMenuItemToContextualMenuItem)\n };\n};\n\n/** @private */\nexport const drawerMenuItemToContextualMenuItem = (item: _DrawerMenuItemProps): IContextualMenuItem => ({\n ...item,\n key: item.itemKey,\n onClick: item.onItemClick\n ? (ev) => {\n item.onItemClick?.(ev);\n }\n : undefined,\n subMenuProps: item.subMenuProps\n ? {\n items: item.subMenuProps.map(drawerMenuItemToContextualMenuItem)\n }\n : undefined\n});\n\n/**\n * A callback that returns the props to render a custom {@link ControlBarButton} and {@link DrawerMenuItem}.\n *\n * The response indicates where the custom button should be placed.\n *\n * Performance tip: This callback is only called when either the callback or its arguments change.\n * @public\n */\nexport type CustomCallControlButtonCallback = (\n args: CustomCallControlButtonCallbackArgs\n) => CustomCallControlButtonProps;\n\n/**\n * Placement for a custom button injected in the {@link CommonCallControlBar}.\n *\n * 'primary': Place the button(s) on the right end of the center control bar but before the EndCallButton (left end in rtl mode).\n * 'overflow': Place the buttons(s) on the end of the overflow Menu.\n * 'secondary': Place the button(s) on the left end of the side control bar (right in rtl mode).\n *\n * Multiple buttons assigned the same placement are appended in order.\n * E.g., if two buttons are placed in 'secondary', they'll both appear on the left end (right end in rtl mode)\n * in the order provided.\n *\n * Only 'primary' placement works when legacy call control is enabled in call composite\n *\n * @public\n */\nexport type CustomCallControlButtonPlacement = 'primary' | 'overflow' | 'secondary';\n\n/** @private */\nexport const onFetchCustomButtonPropsTrampoline = (\n options?: CommonCallControlOptions\n): CustomCallControlButtonCallback[] | undefined => {\n let response: CustomCallControlButtonCallback[] | undefined = undefined;\n response = (options as _CommonCallControlOptions)?.onFetchCustomButtonProps;\n return response;\n};\n\"../../../../../react-components/src\""]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
import React from 'react';
|
2
2
|
import { IIconProps } from '@fluentui/react';
|
3
3
|
/**
|
4
4
|
* The default set of icons used by the composites directly (i.e. not via the components defined in this library).
|
@@ -12,49 +12,49 @@ export declare const COMPOSITE_ONLY_ICONS: CompositeIcons;
|
|
12
12
|
* @public
|
13
13
|
*/
|
14
14
|
export declare const DEFAULT_COMPOSITE_ICONS: {
|
15
|
-
EditBoxCancel: JSX.Element;
|
16
|
-
EditBoxSubmit: JSX.Element;
|
17
|
-
MessageDelivered: JSX.Element;
|
18
|
-
MessageEdit: JSX.Element;
|
19
|
-
MessageFailed: JSX.Element;
|
20
|
-
MessageRemove: JSX.Element;
|
21
|
-
MessageSeen: JSX.Element;
|
22
|
-
MessageSending: JSX.Element;
|
23
|
-
ParticipantItemOptions: JSX.Element;
|
24
|
-
ParticipantItemOptionsHovered: JSX.Element;
|
25
|
-
SendBoxSend: JSX.Element;
|
26
|
-
SendBoxSendHovered: JSX.Element;
|
15
|
+
EditBoxCancel: JSX.Element | React.JSX.Element;
|
16
|
+
EditBoxSubmit: JSX.Element | React.JSX.Element;
|
17
|
+
MessageDelivered: JSX.Element | React.JSX.Element;
|
18
|
+
MessageEdit: JSX.Element | React.JSX.Element;
|
19
|
+
MessageFailed: JSX.Element | React.JSX.Element;
|
20
|
+
MessageRemove: JSX.Element | React.JSX.Element;
|
21
|
+
MessageSeen: JSX.Element | React.JSX.Element;
|
22
|
+
MessageSending: JSX.Element | React.JSX.Element;
|
23
|
+
ParticipantItemOptions: JSX.Element | React.JSX.Element;
|
24
|
+
ParticipantItemOptionsHovered: JSX.Element | React.JSX.Element;
|
25
|
+
SendBoxSend: JSX.Element | React.JSX.Element;
|
26
|
+
SendBoxSendHovered: JSX.Element | React.JSX.Element;
|
27
27
|
SendBoxAttachFile?: JSX.Element | undefined;
|
28
28
|
ControlBarPeopleButton?: JSX.Element | undefined;
|
29
|
-
ControlButtonCameraOff: JSX.Element;
|
30
|
-
ControlButtonCameraOn: JSX.Element;
|
31
|
-
ControlButtonEndCall: JSX.Element;
|
32
|
-
ControlButtonMicOff: JSX.Element;
|
33
|
-
ControlButtonMicOn: JSX.Element;
|
34
|
-
ControlButtonOptions: JSX.Element;
|
35
|
-
ControlButtonParticipants: JSX.Element;
|
36
|
-
ControlButtonScreenShareStart: JSX.Element;
|
37
|
-
ControlButtonScreenShareStop: JSX.Element;
|
29
|
+
ControlButtonCameraOff: JSX.Element | React.JSX.Element;
|
30
|
+
ControlButtonCameraOn: JSX.Element | React.JSX.Element;
|
31
|
+
ControlButtonEndCall: JSX.Element | React.JSX.Element;
|
32
|
+
ControlButtonMicOff: JSX.Element | React.JSX.Element;
|
33
|
+
ControlButtonMicOn: JSX.Element | React.JSX.Element;
|
34
|
+
ControlButtonOptions: JSX.Element | React.JSX.Element;
|
35
|
+
ControlButtonParticipants: JSX.Element | React.JSX.Element;
|
36
|
+
ControlButtonScreenShareStart: JSX.Element | React.JSX.Element;
|
37
|
+
ControlButtonScreenShareStop: JSX.Element | React.JSX.Element;
|
38
38
|
ControlButtonCameraProhibited?: JSX.Element | undefined;
|
39
39
|
ControlButtonMicProhibited?: JSX.Element | undefined;
|
40
|
-
ControlButtonRaiseHand: JSX.Element;
|
41
|
-
ControlButtonLowerHand: JSX.Element;
|
42
|
-
RaiseHandContextualMenuItem: JSX.Element;
|
43
|
-
LowerHandContextualMenuItem: JSX.Element;
|
44
|
-
ErrorBarCallCameraAccessDenied: JSX.Element;
|
45
|
-
ErrorBarCallCameraAlreadyInUse: JSX.Element;
|
46
|
-
ErrorBarCallLocalVideoFreeze: JSX.Element;
|
47
|
-
ErrorBarCallMacOsCameraAccessDenied: JSX.Element;
|
48
|
-
ErrorBarCallMacOsMicrophoneAccessDenied: JSX.Element;
|
49
|
-
ErrorBarCallMicrophoneAccessDenied: JSX.Element;
|
50
|
-
ErrorBarCallMicrophoneMutedBySystem: JSX.Element;
|
51
|
-
ErrorBarCallMicrophoneUnmutedBySystem: JSX.Element;
|
52
|
-
ErrorBarCallNetworkQualityLow: JSX.Element;
|
53
|
-
ErrorBarCallNoMicrophoneFound: JSX.Element;
|
54
|
-
ErrorBarCallNoSpeakerFound: JSX.Element;
|
55
|
-
ErrorBarClear: JSX.Element;
|
56
|
-
HorizontalGalleryLeftButton: JSX.Element;
|
57
|
-
HorizontalGalleryRightButton: JSX.Element;
|
40
|
+
ControlButtonRaiseHand: JSX.Element | React.JSX.Element;
|
41
|
+
ControlButtonLowerHand: JSX.Element | React.JSX.Element;
|
42
|
+
RaiseHandContextualMenuItem: JSX.Element | React.JSX.Element;
|
43
|
+
LowerHandContextualMenuItem: JSX.Element | React.JSX.Element;
|
44
|
+
ErrorBarCallCameraAccessDenied: JSX.Element | React.JSX.Element;
|
45
|
+
ErrorBarCallCameraAlreadyInUse: JSX.Element | React.JSX.Element;
|
46
|
+
ErrorBarCallLocalVideoFreeze: JSX.Element | React.JSX.Element;
|
47
|
+
ErrorBarCallMacOsCameraAccessDenied: JSX.Element | React.JSX.Element;
|
48
|
+
ErrorBarCallMacOsMicrophoneAccessDenied: JSX.Element | React.JSX.Element;
|
49
|
+
ErrorBarCallMicrophoneAccessDenied: JSX.Element | React.JSX.Element;
|
50
|
+
ErrorBarCallMicrophoneMutedBySystem: JSX.Element | React.JSX.Element;
|
51
|
+
ErrorBarCallMicrophoneUnmutedBySystem: JSX.Element | React.JSX.Element;
|
52
|
+
ErrorBarCallNetworkQualityLow: JSX.Element | React.JSX.Element;
|
53
|
+
ErrorBarCallNoMicrophoneFound: JSX.Element | React.JSX.Element;
|
54
|
+
ErrorBarCallNoSpeakerFound: JSX.Element | React.JSX.Element;
|
55
|
+
ErrorBarClear: JSX.Element | React.JSX.Element;
|
56
|
+
HorizontalGalleryLeftButton: JSX.Element | React.JSX.Element;
|
57
|
+
HorizontalGalleryRightButton: JSX.Element | React.JSX.Element;
|
58
58
|
LobbyScreenConnectingToCall?: JSX.Element | undefined;
|
59
59
|
LobbyScreenWaitingToBeAdmitted?: JSX.Element | undefined;
|
60
60
|
LocalDeviceSettingsCamera?: JSX.Element | undefined;
|
@@ -67,12 +67,12 @@ export declare const DEFAULT_COMPOSITE_ICONS: {
|
|
67
67
|
NoticePageJoinCallFailedDueToNoNetwork?: JSX.Element | undefined;
|
68
68
|
NoticePageLeftCall?: JSX.Element | undefined;
|
69
69
|
NoticePageRemovedFromCall?: JSX.Element | undefined;
|
70
|
-
OptionsCamera: JSX.Element;
|
71
|
-
OptionsMic: JSX.Element;
|
72
|
-
OptionsSpeaker: JSX.Element;
|
73
|
-
ParticipantItemMicOff: JSX.Element;
|
74
|
-
ParticipantItemScreenShareStart: JSX.Element;
|
75
|
-
VideoTileMicOff: JSX.Element;
|
70
|
+
OptionsCamera: JSX.Element | React.JSX.Element;
|
71
|
+
OptionsMic: JSX.Element | React.JSX.Element;
|
72
|
+
OptionsSpeaker: JSX.Element | React.JSX.Element;
|
73
|
+
ParticipantItemMicOff: JSX.Element | React.JSX.Element;
|
74
|
+
ParticipantItemScreenShareStart: JSX.Element | React.JSX.Element;
|
75
|
+
VideoTileMicOff: JSX.Element | React.JSX.Element;
|
76
76
|
LocalCameraSwitch?: JSX.Element | undefined;
|
77
77
|
PeoplePaneAddPerson?: JSX.Element | undefined;
|
78
78
|
PeoplePaneOpenDialpad?: JSX.Element | undefined;
|
@@ -87,6 +87,7 @@ export declare const DEFAULT_COMPOSITE_ICONS: {
|
|
87
87
|
FocusedContentGalleryLayout?: JSX.Element | undefined;
|
88
88
|
OverflowGalleryTop?: JSX.Element | undefined;
|
89
89
|
LargeGalleryLayout?: JSX.Element | undefined;
|
90
|
+
DefaultCustomButton?: JSX.Element | undefined;
|
90
91
|
ChevronLeft?: JSX.Element | undefined;
|
91
92
|
ControlBarChatButtonActive?: JSX.Element | undefined;
|
92
93
|
ControlBarChatButtonInactive?: JSX.Element | undefined;
|
@@ -96,47 +97,47 @@ export declare const DEFAULT_COMPOSITE_ICONS: {
|
|
96
97
|
MoreDrawerSelectedMicrophone?: JSX.Element | undefined;
|
97
98
|
MoreDrawerSelectedSpeaker?: JSX.Element | undefined;
|
98
99
|
MoreDrawerSpeakers?: JSX.Element | undefined;
|
99
|
-
ChatMessageOptions: JSX.Element;
|
100
|
-
ControlButtonParticipantsContextualMenuItem: JSX.Element;
|
101
|
-
CancelFileUpload: JSX.Element;
|
102
|
-
DownloadFile: JSX.Element;
|
103
|
-
DataLossPreventionProhibited: JSX.Element;
|
104
|
-
ErrorBarCallVideoRecoveredBySystem: JSX.Element;
|
105
|
-
ErrorBarCallVideoStoppedBySystem: JSX.Element;
|
106
|
-
MessageResend: JSX.Element;
|
107
|
-
HoldCallContextualMenuItem: JSX.Element;
|
108
|
-
HoldCallButton: JSX.Element;
|
109
|
-
ResumeCall: JSX.Element;
|
110
|
-
DialpadBackspace: JSX.Element;
|
111
|
-
SitePermissionsSparkle: JSX.Element;
|
112
|
-
SitePermissionCamera: JSX.Element;
|
113
|
-
SitePermissionMic: JSX.Element;
|
114
|
-
SitePermissionCameraDenied: JSX.Element;
|
115
|
-
SitePermissionMicDenied: JSX.Element;
|
116
|
-
UnsupportedEnvironmentWarning: JSX.Element;
|
117
|
-
BrowserPermissionDeniedError: JSX.Element;
|
118
|
-
VideoTilePinned: JSX.Element;
|
119
|
-
VideoTileMoreOptions: JSX.Element;
|
120
|
-
VideoTileScaleFit: JSX.Element;
|
121
|
-
VideoTileScaleFill: JSX.Element;
|
122
|
-
PinParticipant: JSX.Element;
|
123
|
-
UnpinParticipant: JSX.Element;
|
124
|
-
SplitButtonPrimaryActionCameraOn: JSX.Element;
|
125
|
-
SplitButtonPrimaryActionCameraOff: JSX.Element;
|
126
|
-
SplitButtonPrimaryActionMicUnmuted: JSX.Element;
|
127
|
-
SplitButtonPrimaryActionMicMuted: JSX.Element;
|
128
|
-
VerticalGalleryLeftButton: JSX.Element;
|
129
|
-
VerticalGalleryRightButton: JSX.Element;
|
130
|
-
ControlButtonVideoEffectsOption: JSX.Element;
|
131
|
-
ConfigurationScreenVideoEffectsButton: JSX.Element;
|
132
|
-
CaptionsIcon: JSX.Element;
|
133
|
-
CaptionsOffIcon: JSX.Element;
|
134
|
-
CaptionsSettingsIcon: JSX.Element;
|
135
|
-
ChangeSpokenLanguageIcon: JSX.Element;
|
136
|
-
ChangeCaptionLanguageIcon: JSX.Element;
|
137
|
-
ContextMenuCameraIcon: JSX.Element;
|
138
|
-
ContextMenuMicIcon: JSX.Element;
|
139
|
-
ContextMenuSpeakerIcon: JSX.Element;
|
100
|
+
ChatMessageOptions: React.JSX.Element;
|
101
|
+
ControlButtonParticipantsContextualMenuItem: React.JSX.Element;
|
102
|
+
CancelFileUpload: React.JSX.Element;
|
103
|
+
DownloadFile: React.JSX.Element;
|
104
|
+
DataLossPreventionProhibited: React.JSX.Element;
|
105
|
+
ErrorBarCallVideoRecoveredBySystem: React.JSX.Element;
|
106
|
+
ErrorBarCallVideoStoppedBySystem: React.JSX.Element;
|
107
|
+
MessageResend: React.JSX.Element;
|
108
|
+
HoldCallContextualMenuItem: React.JSX.Element;
|
109
|
+
HoldCallButton: React.JSX.Element;
|
110
|
+
ResumeCall: React.JSX.Element;
|
111
|
+
DialpadBackspace: React.JSX.Element;
|
112
|
+
SitePermissionsSparkle: React.JSX.Element;
|
113
|
+
SitePermissionCamera: React.JSX.Element;
|
114
|
+
SitePermissionMic: React.JSX.Element;
|
115
|
+
SitePermissionCameraDenied: React.JSX.Element;
|
116
|
+
SitePermissionMicDenied: React.JSX.Element;
|
117
|
+
UnsupportedEnvironmentWarning: React.JSX.Element;
|
118
|
+
BrowserPermissionDeniedError: React.JSX.Element;
|
119
|
+
VideoTilePinned: React.JSX.Element;
|
120
|
+
VideoTileMoreOptions: React.JSX.Element;
|
121
|
+
VideoTileScaleFit: React.JSX.Element;
|
122
|
+
VideoTileScaleFill: React.JSX.Element;
|
123
|
+
PinParticipant: React.JSX.Element;
|
124
|
+
UnpinParticipant: React.JSX.Element;
|
125
|
+
SplitButtonPrimaryActionCameraOn: React.JSX.Element;
|
126
|
+
SplitButtonPrimaryActionCameraOff: React.JSX.Element;
|
127
|
+
SplitButtonPrimaryActionMicUnmuted: React.JSX.Element;
|
128
|
+
SplitButtonPrimaryActionMicMuted: React.JSX.Element;
|
129
|
+
VerticalGalleryLeftButton: React.JSX.Element;
|
130
|
+
VerticalGalleryRightButton: React.JSX.Element;
|
131
|
+
ControlButtonVideoEffectsOption: React.JSX.Element;
|
132
|
+
ConfigurationScreenVideoEffectsButton: React.JSX.Element;
|
133
|
+
CaptionsIcon: React.JSX.Element;
|
134
|
+
CaptionsOffIcon: React.JSX.Element;
|
135
|
+
CaptionsSettingsIcon: React.JSX.Element;
|
136
|
+
ChangeSpokenLanguageIcon: React.JSX.Element;
|
137
|
+
ChangeCaptionLanguageIcon: React.JSX.Element;
|
138
|
+
ContextMenuCameraIcon: React.JSX.Element;
|
139
|
+
ContextMenuMicIcon: React.JSX.Element;
|
140
|
+
ContextMenuSpeakerIcon: React.JSX.Element;
|
140
141
|
};
|
141
142
|
/** @private */
|
142
143
|
export declare type CompositeIconProps<Icons> = IIconProps & {
|
@@ -240,6 +241,7 @@ export declare type CallCompositeIcons = {
|
|
240
241
|
FocusedContentGalleryLayout?: JSX.Element;
|
241
242
|
OverflowGalleryTop?: JSX.Element;
|
242
243
|
LargeGalleryLayout?: JSX.Element;
|
244
|
+
DefaultCustomButton?: JSX.Element;
|
243
245
|
};
|
244
246
|
/**
|
245
247
|
* Icon wrapper to use when including customizable icons inside the CallComposite.
|
@@ -311,6 +313,7 @@ export declare type CallWithChatCompositeIcons = {
|
|
311
313
|
PeoplePaneAddPerson?: JSX.Element;
|
312
314
|
PeoplePaneOpenDialpad?: JSX.Element;
|
313
315
|
DialpadStartCall?: JSX.Element;
|
316
|
+
DefaultCustomButton?: JSX.Element;
|
314
317
|
EditBoxCancel?: JSX.Element;
|
315
318
|
EditBoxSubmit?: JSX.Element;
|
316
319
|
MessageDelivered?: JSX.Element;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
2
2
|
// Licensed under the MIT License.
|
3
|
-
import { CallEnd20Filled, CallMissed20Filled, CameraSwitch24Regular, Chat20Filled, Chat20Regular, Info20Filled, MicOff20Filled, Mic20Filled, Mic20Regular, People20Regular, PersonDelete20Filled, Speaker220Filled, Speaker220Regular, Video20Filled, VideoOff20Filled, WifiWarning20Filled } from '@fluentui/react-icons';
|
3
|
+
import { CallEnd20Filled, CallMissed20Filled, CameraSwitch24Regular, Chat20Filled, Chat20Regular, Info20Filled, MicOff20Filled, Mic20Filled, Mic20Regular, People20Regular, PersonDelete20Filled, Speaker220Filled, Speaker220Regular, Video20Filled, VideoOff20Filled, WifiWarning20Filled, Circle20Regular } from '@fluentui/react-icons';
|
4
4
|
/* @conditional-compile-remove(capabilities) */
|
5
5
|
import { MicProhibited20Filled, VideoProhibited20Filled } from '@fluentui/react-icons';
|
6
6
|
/* @conditional-compile-remove(gallery-layouts) */
|
@@ -78,7 +78,9 @@ export const COMPOSITE_ONLY_ICONS = {
|
|
78
78
|
/* @conditional-compile-remove(gallery-layouts) */
|
79
79
|
FocusedContentGalleryLayout: React.createElement(ContentView20Regular, null),
|
80
80
|
/* @conditional-compile-remove(gallery-layouts) */
|
81
|
-
LargeGalleryLayout: React.createElement(Table20Regular, null)
|
81
|
+
LargeGalleryLayout: React.createElement(Table20Regular, null),
|
82
|
+
/* @conditional-compile-remove(control-bar-button-injection) */
|
83
|
+
DefaultCustomButton: React.createElement(Circle20Regular, null)
|
82
84
|
};
|
83
85
|
/**
|
84
86
|
* The default set of icons that are available to used in the Composites.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/common/icons.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n CallEnd20Filled,\n CallMissed20Filled,\n CameraSwitch24Regular,\n Chat20Filled,\n Chat20Regular,\n Info20Filled,\n MicOff20Filled,\n Mic20Filled,\n Mic20Regular,\n People20Regular,\n PersonDelete20Filled,\n Speaker220Filled,\n Speaker220Regular,\n Video20Filled,\n VideoOff20Filled,\n WifiWarning20Filled\n} from '@fluentui/react-icons';\n/* @conditional-compile-remove(capabilities) */\nimport { MicProhibited20Filled, VideoProhibited20Filled } from '@fluentui/react-icons';\n/* @conditional-compile-remove(gallery-layouts) */\nimport { Grid20Regular } from '@fluentui/react-icons';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { PersonAdd20Regular, Dialpad20Regular, Call20Regular } from '@fluentui/react-icons';\nimport { DEFAULT_COMPONENT_ICONS } from '@internal/react-components';\nimport React from 'react';\n// eslint-disable-next-line no-restricted-imports\nimport { FontIcon, IIconProps, Spinner, SpinnerSize } from '@fluentui/react';\n/* @conditional-compile-remove(file-sharing) */\nimport { Attach20Regular } from '@fluentui/react-icons';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundEffect20Regular, VideoPerson20Filled } from '@fluentui/react-icons';\n/* @conditional-compile-remove(gallery-layouts) */\nimport {\n PersonSquare20Regular,\n WindowHeaderHorizontal20Regular,\n TableSimple20Regular,\n BoardSplit20Regular,\n ContentView20Regular,\n Table20Regular\n} from '@fluentui/react-icons';\n\nconst SpinnerIcon = (): JSX.Element => <Spinner size={SpinnerSize.large} />;\n\n/**\n * The default set of icons used by the composites directly (i.e. not via the components defined in this library).\n *\n * @public\n */\nexport const COMPOSITE_ONLY_ICONS: CompositeIcons = {\n ChevronLeft: undefined,\n Link: undefined,\n LobbyScreenConnectingToCall: <SpinnerIcon />,\n LobbyScreenWaitingToBeAdmitted: <SpinnerIcon />,\n LocalDeviceSettingsCamera: <Video20Filled />,\n LocalDeviceSettingsMic: <Mic20Filled />,\n LocalDeviceSettingsSpeaker: <Speaker220Filled />,\n LocalPreviewPlaceholder: <VideoOff20Filled />,\n LocalCameraSwitch: <CameraSwitch24Regular />,\n ControlBarChatButtonActive: <Chat20Filled />,\n ControlBarChatButtonInactive: <Chat20Regular />,\n /* @conditional-compile-remove(capabilities) */\n ControlButtonCameraProhibited: <VideoProhibited20Filled />,\n /* @conditional-compile-remove(capabilities) */\n ControlButtonMicProhibited: <MicProhibited20Filled />,\n ControlBarPeopleButton: <People20Regular />,\n MoreDrawerMicrophones: <Mic20Regular />,\n MoreDrawerPeople: <People20Regular />,\n MoreDrawerSpeakers: <Speaker220Regular />,\n MoreDrawerSelectedMicrophone: <Mic20Filled />,\n MoreDrawerSelectedSpeaker: <Speaker220Filled />,\n Muted: <MicOff20Filled />,\n NetworkReconnectIcon: <CallMissed20Filled />,\n NoticePageAccessDeniedTeamsMeeting: <PersonDelete20Filled />,\n NoticePageJoinCallFailedDueToNoNetwork: <WifiWarning20Filled />,\n NoticePageLeftCall: <CallEnd20Filled />,\n NoticePageRemovedFromCall: <Info20Filled />,\n /* @conditional-compile-remove(file-sharing) */\n SendBoxAttachFile: <Attach20Regular />,\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneAddPerson: <PersonAdd20Regular />,\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneOpenDialpad: <Dialpad20Regular />,\n /* @conditional-compile-remove(PSTN-calls) */\n DialpadStartCall: <Call20Regular />,\n /* @conditional-compile-remove(rooms) */\n NoticePageAccessDeniedRoomsCall: <Info20Filled />,\n /* @conditional-compile-remove(video-background-effects) */\n BlurVideoBackground: <VideoBackgroundEffect20Regular />,\n /* @conditional-compile-remove(video-background-effects) */\n RemoveVideoBackgroundEffect: <VideoPerson20Filled />,\n /* @conditional-compile-remove(gallery-layouts) */\n GalleryOptions: <Grid20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n OverflowGalleryTop: <WindowHeaderHorizontal20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n SpeakerGalleryLayout: <PersonSquare20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n DefaultGalleryLayout: <TableSimple20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n FloatingLocalVideoGalleryLayout: <BoardSplit20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n FocusedContentGalleryLayout: <ContentView20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n LargeGalleryLayout: <Table20Regular />\n};\n\n/**\n * The default set of icons that are available to used in the Composites.\n *\n * @public\n */\nexport const DEFAULT_COMPOSITE_ICONS = {\n ...DEFAULT_COMPONENT_ICONS,\n ...COMPOSITE_ONLY_ICONS\n};\n\n/** @private */\nexport type CompositeIconProps<Icons> = IIconProps & { iconName: keyof Icons };\n\n/**\n * Icons that can be overridden for {@link ChatComposite}.\n *\n * @public\n */\nexport type ChatCompositeIcons = {\n EditBoxCancel?: JSX.Element;\n EditBoxSubmit?: JSX.Element;\n MessageDelivered?: JSX.Element;\n MessageEdit?: JSX.Element;\n MessageFailed?: JSX.Element;\n MessageRemove?: JSX.Element;\n MessageSeen?: JSX.Element;\n MessageSending?: JSX.Element;\n ParticipantItemOptions?: JSX.Element;\n ParticipantItemOptionsHovered?: JSX.Element;\n SendBoxSend?: JSX.Element;\n SendBoxSendHovered?: JSX.Element;\n /* @conditional-compile-remove(file-sharing) */\n SendBoxAttachFile?: JSX.Element;\n};\n\n/**\n * Icon wrapper to use when including customizable icons inside the ChatComposite.\n * This wrapper ensures the icon name is being type-checked helping ensure no typos\n * and ensure that icon is customizable through the composite API.\n *\n * @private\n */\nexport const ChatCompositeIcon = (props: CompositeIconProps<ChatCompositeIcons>): JSX.Element => (\n <FontIcon {...props} />\n);\n\n/**\n * Icons that can be overridden for {@link CallComposite}.\n *\n * @public\n */\nexport type CallCompositeIcons = {\n ControlBarPeopleButton?: JSX.Element;\n ControlButtonCameraOff?: JSX.Element;\n ControlButtonCameraOn?: JSX.Element;\n ControlButtonEndCall?: JSX.Element;\n ControlButtonMicOff?: JSX.Element;\n ControlButtonMicOn?: JSX.Element;\n ControlButtonOptions?: JSX.Element;\n ControlButtonParticipants?: JSX.Element;\n ControlButtonScreenShareStart?: JSX.Element;\n ControlButtonScreenShareStop?: JSX.Element;\n /* @conditional-compile-remove(capabilities) */\n ControlButtonCameraProhibited?: JSX.Element;\n /* @conditional-compile-remove(capabilities) */\n ControlButtonMicProhibited?: JSX.Element;\n /* @conditional-compile-remove(raise-hand) */\n ControlButtonRaiseHand?: JSX.Element;\n /* @conditional-compile-remove(raise-hand) */\n ControlButtonLowerHand?: JSX.Element;\n /* @conditional-compile-remove(raise-hand) */\n RaiseHandContextualMenuItem?: JSX.Element;\n /* @conditional-compile-remove(raise-hand) */\n LowerHandContextualMenuItem?: JSX.Element;\n ErrorBarCallCameraAccessDenied?: JSX.Element;\n ErrorBarCallCameraAlreadyInUse?: JSX.Element;\n ErrorBarCallLocalVideoFreeze?: JSX.Element;\n ErrorBarCallMacOsCameraAccessDenied?: JSX.Element;\n ErrorBarCallMacOsMicrophoneAccessDenied?: JSX.Element;\n ErrorBarCallMicrophoneAccessDenied?: JSX.Element;\n ErrorBarCallMicrophoneMutedBySystem?: JSX.Element;\n ErrorBarCallMicrophoneUnmutedBySystem?: JSX.Element;\n ErrorBarCallNetworkQualityLow?: JSX.Element;\n ErrorBarCallNoMicrophoneFound?: JSX.Element;\n ErrorBarCallNoSpeakerFound?: JSX.Element;\n ErrorBarClear?: JSX.Element;\n HorizontalGalleryLeftButton?: JSX.Element;\n HorizontalGalleryRightButton?: JSX.Element;\n LobbyScreenConnectingToCall?: JSX.Element;\n LobbyScreenWaitingToBeAdmitted?: JSX.Element;\n LocalDeviceSettingsCamera?: JSX.Element;\n LocalDeviceSettingsMic?: JSX.Element;\n LocalDeviceSettingsSpeaker?: JSX.Element;\n LocalPreviewPlaceholder?: JSX.Element;\n Muted?: JSX.Element;\n NetworkReconnectIcon?: JSX.Element;\n NoticePageAccessDeniedTeamsMeeting?: JSX.Element;\n NoticePageJoinCallFailedDueToNoNetwork?: JSX.Element;\n NoticePageLeftCall?: JSX.Element;\n NoticePageRemovedFromCall?: JSX.Element;\n OptionsCamera?: JSX.Element;\n OptionsMic?: JSX.Element;\n OptionsSpeaker?: JSX.Element;\n ParticipantItemMicOff?: JSX.Element;\n ParticipantItemOptions?: JSX.Element;\n ParticipantItemOptionsHovered?: JSX.Element;\n ParticipantItemScreenShareStart?: JSX.Element;\n VideoTileMicOff?: JSX.Element;\n LocalCameraSwitch?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneAddPerson?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneOpenDialpad?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n DialpadStartCall?: JSX.Element;\n /* @conditional-compile-remove(rooms) */\n NoticePageAccessDeniedRoomsCall?: JSX.Element;\n /* @conditional-compile-remove(video-background-effects) */\n BlurVideoBackground?: JSX.Element;\n /* @conditional-compile-remove(video-background-effects) */\n RemoveVideoBackgroundEffect?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n GalleryOptions?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n SpeakerGalleryLayout?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n FloatingLocalVideoGalleryLayout?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n DefaultGalleryLayout?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n FocusedContentGalleryLayout?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n OverflowGalleryTop?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n LargeGalleryLayout?: JSX.Element;\n};\n\n/**\n * Icon wrapper to use when including customizable icons inside the CallComposite.\n * This wrapper ensures the icon name is being type-checked helping ensure no typos\n * and ensure that icon is customizable through the composite API.\n *\n * @private\n */\nexport const CallCompositeIcon = (props: CompositeIconProps<CallCompositeIcons>): JSX.Element => (\n <FontIcon {...props} />\n);\n\n/**\n * Icons that can be overridden for {@link CallWithChatComposite}.\n *\n * @public\n */\nexport type CallWithChatCompositeIcons = {\n // CallWithChat Specific Icons\n ChevronLeft?: JSX.Element;\n ControlBarChatButtonActive?: JSX.Element;\n ControlBarChatButtonInactive?: JSX.Element;\n ControlBarPeopleButton?: JSX.Element;\n Link?: JSX.Element;\n MoreDrawerMicrophones?: JSX.Element;\n MoreDrawerPeople?: JSX.Element;\n MoreDrawerSelectedMicrophone?: JSX.Element;\n MoreDrawerSelectedSpeaker?: JSX.Element;\n MoreDrawerSpeakers?: JSX.Element;\n\n // Call icons\n ControlButtonCameraOff?: JSX.Element;\n ControlButtonCameraOn?: JSX.Element;\n ControlButtonEndCall?: JSX.Element;\n ControlButtonMicOff?: JSX.Element;\n ControlButtonMicOn?: JSX.Element;\n ControlButtonOptions?: JSX.Element;\n ControlButtonScreenShareStart?: JSX.Element;\n ControlButtonScreenShareStop?: JSX.Element;\n /* @conditional-compile-remove(capabilities) */\n ControlButtonCameraProhibited?: JSX.Element;\n /* @conditional-compile-remove(capabilities) */\n ControlButtonMicProhibited?: JSX.Element;\n ErrorBarCallCameraAccessDenied?: JSX.Element;\n ErrorBarCallCameraAlreadyInUse?: JSX.Element;\n ErrorBarCallLocalVideoFreeze?: JSX.Element;\n ErrorBarCallMacOsCameraAccessDenied?: JSX.Element;\n ErrorBarCallMacOsMicrophoneAccessDenied?: JSX.Element;\n ErrorBarCallMicrophoneAccessDenied?: JSX.Element;\n ErrorBarCallMicrophoneMutedBySystem?: JSX.Element;\n ErrorBarCallMicrophoneUnmutedBySystem?: JSX.Element;\n ErrorBarCallNetworkQualityLow?: JSX.Element;\n ErrorBarCallNoMicrophoneFound?: JSX.Element;\n ErrorBarCallNoSpeakerFound?: JSX.Element;\n ErrorBarClear?: JSX.Element;\n HorizontalGalleryLeftButton?: JSX.Element;\n HorizontalGalleryRightButton?: JSX.Element;\n LobbyScreenConnectingToCall?: JSX.Element;\n LobbyScreenWaitingToBeAdmitted?: JSX.Element;\n LocalDeviceSettingsCamera?: JSX.Element;\n LocalDeviceSettingsMic?: JSX.Element;\n LocalDeviceSettingsSpeaker?: JSX.Element;\n LocalPreviewPlaceholder?: JSX.Element;\n Muted?: JSX.Element;\n NetworkReconnectIcon?: JSX.Element;\n NoticePageAccessDeniedTeamsMeeting?: JSX.Element;\n NoticePageJoinCallFailedDueToNoNetwork?: JSX.Element;\n NoticePageLeftCall?: JSX.Element;\n NoticePageRemovedFromCall?: JSX.Element;\n OptionsCamera?: JSX.Element;\n OptionsMic?: JSX.Element;\n OptionsSpeaker?: JSX.Element;\n ParticipantItemMicOff?: JSX.Element;\n ParticipantItemScreenShareStart?: JSX.Element;\n VideoTileMicOff?: JSX.Element;\n LocalCameraSwitch?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneAddPerson?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneOpenDialpad?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n DialpadStartCall?: JSX.Element;\n\n // Chat icons\n EditBoxCancel?: JSX.Element;\n EditBoxSubmit?: JSX.Element;\n MessageDelivered?: JSX.Element;\n MessageEdit?: JSX.Element;\n MessageFailed?: JSX.Element;\n MessageRemove?: JSX.Element;\n MessageSeen?: JSX.Element;\n MessageSending?: JSX.Element;\n SendBoxSend?: JSX.Element;\n SendBoxSendHovered?: JSX.Element;\n SendBoxAttachFile?: JSX.Element;\n\n // Icons common to Call and Chat.\n ParticipantItemOptions?: JSX.Element;\n ParticipantItemOptionsHovered?: JSX.Element;\n};\n\n/**\n * Icon wrapper to use when including customizable icons inside the CallWithChatComposite.\n * This wrapper ensures the icon name is being type-checked helping ensure no typos\n * and ensure that icon is customizable through the composite API.\n *\n * @private\n */\nexport const CallWithChatCompositeIcon = (props: CompositeIconProps<CallWithChatCompositeIcons>): JSX.Element => (\n <FontIcon {...props} />\n);\n\n/**\n * Icons that can be overridden in one of the composites exported by this library.\n *\n * See {@link ChatCompositeIcons}, {@link CallCompositeIcons} and {@link CallWithChatCompositeIcons} for more targeted types.\n *\n * @public\n */\nexport type CompositeIcons = ChatCompositeIcons & CallCompositeIcons & CallWithChatCompositeIcons;\n\"../../../../react-components/src\""]}
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../../../../../../react-composites/src/composites/common/icons.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n CallEnd20Filled,\n CallMissed20Filled,\n CameraSwitch24Regular,\n Chat20Filled,\n Chat20Regular,\n Info20Filled,\n MicOff20Filled,\n Mic20Filled,\n Mic20Regular,\n People20Regular,\n PersonDelete20Filled,\n Speaker220Filled,\n Speaker220Regular,\n Video20Filled,\n VideoOff20Filled,\n WifiWarning20Filled,\n Circle20Regular\n} from '@fluentui/react-icons';\n/* @conditional-compile-remove(capabilities) */\nimport { MicProhibited20Filled, VideoProhibited20Filled } from '@fluentui/react-icons';\n/* @conditional-compile-remove(gallery-layouts) */\nimport { Grid20Regular } from '@fluentui/react-icons';\n/* @conditional-compile-remove(PSTN-calls) */\nimport { PersonAdd20Regular, Dialpad20Regular, Call20Regular } from '@fluentui/react-icons';\nimport { DEFAULT_COMPONENT_ICONS } from '@internal/react-components';\nimport React from 'react';\n// eslint-disable-next-line no-restricted-imports\nimport { FontIcon, IIconProps, Spinner, SpinnerSize } from '@fluentui/react';\n/* @conditional-compile-remove(file-sharing) */\nimport { Attach20Regular } from '@fluentui/react-icons';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundEffect20Regular, VideoPerson20Filled } from '@fluentui/react-icons';\n/* @conditional-compile-remove(gallery-layouts) */\nimport {\n PersonSquare20Regular,\n WindowHeaderHorizontal20Regular,\n TableSimple20Regular,\n BoardSplit20Regular,\n ContentView20Regular,\n Table20Regular\n} from '@fluentui/react-icons';\n\nconst SpinnerIcon = (): JSX.Element => <Spinner size={SpinnerSize.large} />;\n\n/**\n * The default set of icons used by the composites directly (i.e. not via the components defined in this library).\n *\n * @public\n */\nexport const COMPOSITE_ONLY_ICONS: CompositeIcons = {\n ChevronLeft: undefined,\n Link: undefined,\n LobbyScreenConnectingToCall: <SpinnerIcon />,\n LobbyScreenWaitingToBeAdmitted: <SpinnerIcon />,\n LocalDeviceSettingsCamera: <Video20Filled />,\n LocalDeviceSettingsMic: <Mic20Filled />,\n LocalDeviceSettingsSpeaker: <Speaker220Filled />,\n LocalPreviewPlaceholder: <VideoOff20Filled />,\n LocalCameraSwitch: <CameraSwitch24Regular />,\n ControlBarChatButtonActive: <Chat20Filled />,\n ControlBarChatButtonInactive: <Chat20Regular />,\n /* @conditional-compile-remove(capabilities) */\n ControlButtonCameraProhibited: <VideoProhibited20Filled />,\n /* @conditional-compile-remove(capabilities) */\n ControlButtonMicProhibited: <MicProhibited20Filled />,\n ControlBarPeopleButton: <People20Regular />,\n MoreDrawerMicrophones: <Mic20Regular />,\n MoreDrawerPeople: <People20Regular />,\n MoreDrawerSpeakers: <Speaker220Regular />,\n MoreDrawerSelectedMicrophone: <Mic20Filled />,\n MoreDrawerSelectedSpeaker: <Speaker220Filled />,\n Muted: <MicOff20Filled />,\n NetworkReconnectIcon: <CallMissed20Filled />,\n NoticePageAccessDeniedTeamsMeeting: <PersonDelete20Filled />,\n NoticePageJoinCallFailedDueToNoNetwork: <WifiWarning20Filled />,\n NoticePageLeftCall: <CallEnd20Filled />,\n NoticePageRemovedFromCall: <Info20Filled />,\n /* @conditional-compile-remove(file-sharing) */\n SendBoxAttachFile: <Attach20Regular />,\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneAddPerson: <PersonAdd20Regular />,\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneOpenDialpad: <Dialpad20Regular />,\n /* @conditional-compile-remove(PSTN-calls) */\n DialpadStartCall: <Call20Regular />,\n /* @conditional-compile-remove(rooms) */\n NoticePageAccessDeniedRoomsCall: <Info20Filled />,\n /* @conditional-compile-remove(video-background-effects) */\n BlurVideoBackground: <VideoBackgroundEffect20Regular />,\n /* @conditional-compile-remove(video-background-effects) */\n RemoveVideoBackgroundEffect: <VideoPerson20Filled />,\n /* @conditional-compile-remove(gallery-layouts) */\n GalleryOptions: <Grid20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n OverflowGalleryTop: <WindowHeaderHorizontal20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n SpeakerGalleryLayout: <PersonSquare20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n DefaultGalleryLayout: <TableSimple20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n FloatingLocalVideoGalleryLayout: <BoardSplit20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n FocusedContentGalleryLayout: <ContentView20Regular />,\n /* @conditional-compile-remove(gallery-layouts) */\n LargeGalleryLayout: <Table20Regular />,\n /* @conditional-compile-remove(control-bar-button-injection) */\n DefaultCustomButton: <Circle20Regular />\n};\n\n/**\n * The default set of icons that are available to used in the Composites.\n *\n * @public\n */\nexport const DEFAULT_COMPOSITE_ICONS = {\n ...DEFAULT_COMPONENT_ICONS,\n ...COMPOSITE_ONLY_ICONS\n};\n\n/** @private */\nexport type CompositeIconProps<Icons> = IIconProps & { iconName: keyof Icons };\n\n/**\n * Icons that can be overridden for {@link ChatComposite}.\n *\n * @public\n */\nexport type ChatCompositeIcons = {\n EditBoxCancel?: JSX.Element;\n EditBoxSubmit?: JSX.Element;\n MessageDelivered?: JSX.Element;\n MessageEdit?: JSX.Element;\n MessageFailed?: JSX.Element;\n MessageRemove?: JSX.Element;\n MessageSeen?: JSX.Element;\n MessageSending?: JSX.Element;\n ParticipantItemOptions?: JSX.Element;\n ParticipantItemOptionsHovered?: JSX.Element;\n SendBoxSend?: JSX.Element;\n SendBoxSendHovered?: JSX.Element;\n /* @conditional-compile-remove(file-sharing) */\n SendBoxAttachFile?: JSX.Element;\n};\n\n/**\n * Icon wrapper to use when including customizable icons inside the ChatComposite.\n * This wrapper ensures the icon name is being type-checked helping ensure no typos\n * and ensure that icon is customizable through the composite API.\n *\n * @private\n */\nexport const ChatCompositeIcon = (props: CompositeIconProps<ChatCompositeIcons>): JSX.Element => (\n <FontIcon {...props} />\n);\n\n/**\n * Icons that can be overridden for {@link CallComposite}.\n *\n * @public\n */\nexport type CallCompositeIcons = {\n ControlBarPeopleButton?: JSX.Element;\n ControlButtonCameraOff?: JSX.Element;\n ControlButtonCameraOn?: JSX.Element;\n ControlButtonEndCall?: JSX.Element;\n ControlButtonMicOff?: JSX.Element;\n ControlButtonMicOn?: JSX.Element;\n ControlButtonOptions?: JSX.Element;\n ControlButtonParticipants?: JSX.Element;\n ControlButtonScreenShareStart?: JSX.Element;\n ControlButtonScreenShareStop?: JSX.Element;\n /* @conditional-compile-remove(capabilities) */\n ControlButtonCameraProhibited?: JSX.Element;\n /* @conditional-compile-remove(capabilities) */\n ControlButtonMicProhibited?: JSX.Element;\n /* @conditional-compile-remove(raise-hand) */\n ControlButtonRaiseHand?: JSX.Element;\n /* @conditional-compile-remove(raise-hand) */\n ControlButtonLowerHand?: JSX.Element;\n /* @conditional-compile-remove(raise-hand) */\n RaiseHandContextualMenuItem?: JSX.Element;\n /* @conditional-compile-remove(raise-hand) */\n LowerHandContextualMenuItem?: JSX.Element;\n ErrorBarCallCameraAccessDenied?: JSX.Element;\n ErrorBarCallCameraAlreadyInUse?: JSX.Element;\n ErrorBarCallLocalVideoFreeze?: JSX.Element;\n ErrorBarCallMacOsCameraAccessDenied?: JSX.Element;\n ErrorBarCallMacOsMicrophoneAccessDenied?: JSX.Element;\n ErrorBarCallMicrophoneAccessDenied?: JSX.Element;\n ErrorBarCallMicrophoneMutedBySystem?: JSX.Element;\n ErrorBarCallMicrophoneUnmutedBySystem?: JSX.Element;\n ErrorBarCallNetworkQualityLow?: JSX.Element;\n ErrorBarCallNoMicrophoneFound?: JSX.Element;\n ErrorBarCallNoSpeakerFound?: JSX.Element;\n ErrorBarClear?: JSX.Element;\n HorizontalGalleryLeftButton?: JSX.Element;\n HorizontalGalleryRightButton?: JSX.Element;\n LobbyScreenConnectingToCall?: JSX.Element;\n LobbyScreenWaitingToBeAdmitted?: JSX.Element;\n LocalDeviceSettingsCamera?: JSX.Element;\n LocalDeviceSettingsMic?: JSX.Element;\n LocalDeviceSettingsSpeaker?: JSX.Element;\n LocalPreviewPlaceholder?: JSX.Element;\n Muted?: JSX.Element;\n NetworkReconnectIcon?: JSX.Element;\n NoticePageAccessDeniedTeamsMeeting?: JSX.Element;\n NoticePageJoinCallFailedDueToNoNetwork?: JSX.Element;\n NoticePageLeftCall?: JSX.Element;\n NoticePageRemovedFromCall?: JSX.Element;\n OptionsCamera?: JSX.Element;\n OptionsMic?: JSX.Element;\n OptionsSpeaker?: JSX.Element;\n ParticipantItemMicOff?: JSX.Element;\n ParticipantItemOptions?: JSX.Element;\n ParticipantItemOptionsHovered?: JSX.Element;\n ParticipantItemScreenShareStart?: JSX.Element;\n VideoTileMicOff?: JSX.Element;\n LocalCameraSwitch?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneAddPerson?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneOpenDialpad?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n DialpadStartCall?: JSX.Element;\n /* @conditional-compile-remove(rooms) */\n NoticePageAccessDeniedRoomsCall?: JSX.Element;\n /* @conditional-compile-remove(video-background-effects) */\n BlurVideoBackground?: JSX.Element;\n /* @conditional-compile-remove(video-background-effects) */\n RemoveVideoBackgroundEffect?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n GalleryOptions?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n SpeakerGalleryLayout?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n FloatingLocalVideoGalleryLayout?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n DefaultGalleryLayout?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n FocusedContentGalleryLayout?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n OverflowGalleryTop?: JSX.Element;\n /* @conditional-compile-remove(gallery-layouts) */\n LargeGalleryLayout?: JSX.Element;\n /* @conditional-compile-remove(control-bar-button-injection) */\n DefaultCustomButton?: JSX.Element;\n};\n\n/**\n * Icon wrapper to use when including customizable icons inside the CallComposite.\n * This wrapper ensures the icon name is being type-checked helping ensure no typos\n * and ensure that icon is customizable through the composite API.\n *\n * @private\n */\nexport const CallCompositeIcon = (props: CompositeIconProps<CallCompositeIcons>): JSX.Element => (\n <FontIcon {...props} />\n);\n\n/**\n * Icons that can be overridden for {@link CallWithChatComposite}.\n *\n * @public\n */\nexport type CallWithChatCompositeIcons = {\n // CallWithChat Specific Icons\n ChevronLeft?: JSX.Element;\n ControlBarChatButtonActive?: JSX.Element;\n ControlBarChatButtonInactive?: JSX.Element;\n ControlBarPeopleButton?: JSX.Element;\n Link?: JSX.Element;\n MoreDrawerMicrophones?: JSX.Element;\n MoreDrawerPeople?: JSX.Element;\n MoreDrawerSelectedMicrophone?: JSX.Element;\n MoreDrawerSelectedSpeaker?: JSX.Element;\n MoreDrawerSpeakers?: JSX.Element;\n\n // Call icons\n ControlButtonCameraOff?: JSX.Element;\n ControlButtonCameraOn?: JSX.Element;\n ControlButtonEndCall?: JSX.Element;\n ControlButtonMicOff?: JSX.Element;\n ControlButtonMicOn?: JSX.Element;\n ControlButtonOptions?: JSX.Element;\n ControlButtonScreenShareStart?: JSX.Element;\n ControlButtonScreenShareStop?: JSX.Element;\n /* @conditional-compile-remove(capabilities) */\n ControlButtonCameraProhibited?: JSX.Element;\n /* @conditional-compile-remove(capabilities) */\n ControlButtonMicProhibited?: JSX.Element;\n ErrorBarCallCameraAccessDenied?: JSX.Element;\n ErrorBarCallCameraAlreadyInUse?: JSX.Element;\n ErrorBarCallLocalVideoFreeze?: JSX.Element;\n ErrorBarCallMacOsCameraAccessDenied?: JSX.Element;\n ErrorBarCallMacOsMicrophoneAccessDenied?: JSX.Element;\n ErrorBarCallMicrophoneAccessDenied?: JSX.Element;\n ErrorBarCallMicrophoneMutedBySystem?: JSX.Element;\n ErrorBarCallMicrophoneUnmutedBySystem?: JSX.Element;\n ErrorBarCallNetworkQualityLow?: JSX.Element;\n ErrorBarCallNoMicrophoneFound?: JSX.Element;\n ErrorBarCallNoSpeakerFound?: JSX.Element;\n ErrorBarClear?: JSX.Element;\n HorizontalGalleryLeftButton?: JSX.Element;\n HorizontalGalleryRightButton?: JSX.Element;\n LobbyScreenConnectingToCall?: JSX.Element;\n LobbyScreenWaitingToBeAdmitted?: JSX.Element;\n LocalDeviceSettingsCamera?: JSX.Element;\n LocalDeviceSettingsMic?: JSX.Element;\n LocalDeviceSettingsSpeaker?: JSX.Element;\n LocalPreviewPlaceholder?: JSX.Element;\n Muted?: JSX.Element;\n NetworkReconnectIcon?: JSX.Element;\n NoticePageAccessDeniedTeamsMeeting?: JSX.Element;\n NoticePageJoinCallFailedDueToNoNetwork?: JSX.Element;\n NoticePageLeftCall?: JSX.Element;\n NoticePageRemovedFromCall?: JSX.Element;\n OptionsCamera?: JSX.Element;\n OptionsMic?: JSX.Element;\n OptionsSpeaker?: JSX.Element;\n ParticipantItemMicOff?: JSX.Element;\n ParticipantItemScreenShareStart?: JSX.Element;\n VideoTileMicOff?: JSX.Element;\n LocalCameraSwitch?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneAddPerson?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n PeoplePaneOpenDialpad?: JSX.Element;\n /* @conditional-compile-remove(PSTN-calls) */\n DialpadStartCall?: JSX.Element;\n /* @conditional-compile-remove(control-bar-button-injection) */\n DefaultCustomButton?: JSX.Element;\n\n // Chat icons\n EditBoxCancel?: JSX.Element;\n EditBoxSubmit?: JSX.Element;\n MessageDelivered?: JSX.Element;\n MessageEdit?: JSX.Element;\n MessageFailed?: JSX.Element;\n MessageRemove?: JSX.Element;\n MessageSeen?: JSX.Element;\n MessageSending?: JSX.Element;\n SendBoxSend?: JSX.Element;\n SendBoxSendHovered?: JSX.Element;\n SendBoxAttachFile?: JSX.Element;\n\n // Icons common to Call and Chat.\n ParticipantItemOptions?: JSX.Element;\n ParticipantItemOptionsHovered?: JSX.Element;\n};\n\n/**\n * Icon wrapper to use when including customizable icons inside the CallWithChatComposite.\n * This wrapper ensures the icon name is being type-checked helping ensure no typos\n * and ensure that icon is customizable through the composite API.\n *\n * @private\n */\nexport const CallWithChatCompositeIcon = (props: CompositeIconProps<CallWithChatCompositeIcons>): JSX.Element => (\n <FontIcon {...props} />\n);\n\n/**\n * Icons that can be overridden in one of the composites exported by this library.\n *\n * See {@link ChatCompositeIcons}, {@link CallCompositeIcons} and {@link CallWithChatCompositeIcons} for more targeted types.\n *\n * @public\n */\nexport type CompositeIcons = ChatCompositeIcons & CallCompositeIcons & CallWithChatCompositeIcons;\n\"../../../../react-components/src\""]}
|