@azure/communication-react 1.21.0-alpha-202410260016 → 1.21.0-alpha-202410300016

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (18) hide show
  1. package/dist/communication-react.d.ts +4 -0
  2. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-DKtnUkjs.js → ChatMessageComponentAsRichTextEditBox--k4yekYm.js} +2 -2
  3. package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-DKtnUkjs.js.map → ChatMessageComponentAsRichTextEditBox--k4yekYm.js.map} +1 -1
  4. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-4oy8pNfs.js → RichTextSendBoxWrapper-fIrwEU6q.js} +2 -2
  5. package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-4oy8pNfs.js.map → RichTextSendBoxWrapper-fIrwEU6q.js.map} +1 -1
  6. package/dist/dist-cjs/communication-react/{index-DIlQv9vm.js → index-D1IhRg8h.js} +13 -9
  7. package/dist/dist-cjs/communication-react/{index-DIlQv9vm.js.map → index-D1IhRg8h.js.map} +1 -1
  8. package/dist/dist-cjs/communication-react/index.js +1 -1
  9. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
  10. package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
  11. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js +2 -2
  12. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/LocalDeviceSettings.js.map +1 -1
  13. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.d.ts +4 -0
  14. package/dist/dist-esm/react-composites/src/composites/CallComposite/components/Prompt.js.map +1 -1
  15. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js +4 -0
  16. package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/spotlightUtils.js.map +1 -1
  17. package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +2 -1
  18. package/package.json +2 -2
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DIlQv9vm.js');
3
+ var index = require('./index-D1IhRg8h.js');
4
4
  require('react');
5
5
  require('@fluentui/react');
6
6
  require('@fluentui/react-components');
@@ -2,5 +2,5 @@
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT License.
4
4
  // GENERATED FILE. DO NOT EDIT MANUALLY.
5
- module.exports = '1.21.0-alpha-202410260016';
5
+ module.exports = '1.21.0-alpha-202410300016';
6
6
  //# sourceMappingURL=telemetryVersion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"telemetryVersion.js","sourceRoot":"","sources":["../../../../../acs-ui-common/src/telemetryVersion.js"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;AAElC,wCAAwC;AAExC,MAAM,CAAC,OAAO,GAAG,2BAA2B,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// GENERATED FILE. DO NOT EDIT MANUALLY.\n\nmodule.exports = '1.21.0-alpha-202410260016';\n"]}
1
+ {"version":3,"file":"telemetryVersion.js","sourceRoot":"","sources":["../../../../../acs-ui-common/src/telemetryVersion.js"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;AAElC,wCAAwC;AAExC,MAAM,CAAC,OAAO,GAAG,2BAA2B,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n// GENERATED FILE. DO NOT EDIT MANUALLY.\n\nmodule.exports = '1.21.0-alpha-202410300016';\n"]}
@@ -141,7 +141,7 @@ export const LocalDeviceSettings = (props) => {
141
141
  return (React.createElement(Stack, { "data-ui-id": "call-composite-device-settings", tokens: mainStackTokens, styles: deviceSelectionContainerStyles },
142
142
  roleCanUseCamera && (React.createElement(Stack, null,
143
143
  React.createElement(Stack, { horizontal: true, horizontalAlign: "space-between", styles: cameraAndVideoEffectsContainerStyleDesktop },
144
- React.createElement(Label, { id: 'call-composite-local-camera-settings-label', className: mergeStyles(dropDownStyles(theme).label), disabled: !cameraPermissionGranted }, cameraLabel),
144
+ React.createElement(Label, { id: 'call-composite-local-camera-settings-label', className: mergeStyles(dropDownStyles(theme).label) }, cameraLabel),
145
145
  onResolveVideoEffectDependency && (React.createElement(DefaultButton, { iconProps: { iconName: 'ConfigurationScreenVideoEffectsButton' }, styles: effectsButtonStyles(theme, !cameraPermissionGranted), onClick: props.onClickVideoEffects, disabled: !cameraPermissionGranted, "data-ui-id": 'call-config-video-effects-button' }, locale.strings.call.configurationPageVideoEffectsButtonLabel))),
146
146
  React.createElement(ConfigurationPageCameraDropdown, { cameraGrantedDropdown: cameraGrantedDropdown, cameraPermissionGranted: cameraPermissionGranted !== null && cameraPermissionGranted !== void 0 ? cameraPermissionGranted : false,
147
147
  /* @conditional-compile-remove(call-readiness) */
@@ -149,7 +149,7 @@ export const LocalDeviceSettings = (props) => {
149
149
  /* @conditional-compile-remove(call-readiness) */
150
150
  onClickEnableDevicePermission: props.onClickEnableDevicePermission }))),
151
151
  React.createElement(Stack, null,
152
- React.createElement(Label, { id: 'call-composite-local-sound-settings-label', className: mergeStyles(dropDownStyles(theme).label), disabled: !micPermissionGranted }, soundLabel),
152
+ React.createElement(Label, { id: 'call-composite-local-sound-settings-label', className: mergeStyles(dropDownStyles(theme).label) }, soundLabel),
153
153
  React.createElement(Stack, { "data-ui-id": "call-composite-sound-settings", tokens: soundStackTokens },
154
154
  React.createElement(ConfigurationPageMicDropdown, { micGrantedDropdown: micGrantedDropdown, micPermissionGranted: micPermissionGranted !== null && micPermissionGranted !== void 0 ? micPermissionGranted : false,
155
155
  /* @conditional-compile-remove(call-readiness) */
@@ -1 +1 @@
1
- {"version":3,"file":"LocalDeviceSettings.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/components/LocalDeviceSettings.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AudioDeviceInfo, VideoDeviceInfo } from '@azure/communication-calling';\nimport { Dropdown, IDropdownOption, Label, mergeStyles, Stack } from '@fluentui/react';\n\nimport { DefaultButton } from '@fluentui/react';\nimport { useEffect } from 'react';\nimport { useTheme, VideoStreamOptions, _DevicePermissionDropdown } from '@internal/react-components';\nimport React from 'react';\nimport { CallCompositeIcon } from '../../common/icons';\nimport { useLocale } from '../../localization';\nimport {\n deviceSelectionContainerStyles,\n dropDownStyles,\n dropDownTitleIconStyles,\n mainStackTokens,\n optionIconStyles,\n soundStackTokens\n} from '../styles/LocalDeviceSettings.styles';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { ConfigurationPageCameraDropdown } from './ConfigurationPageCameraDropdown';\nimport { ConfigurationPageMicDropdown } from './ConfigurationPageMicDropdown';\n/* @conditional-compile-remove(call-readiness) */\nimport { useHandlers } from '../hooks/useHandlers';\nimport { cameraAndVideoEffectsContainerStyleDesktop } from '../styles/CallConfiguration.styles';\n\nimport { effectsButtonStyles } from '../styles/CallConfiguration.styles';\nimport { useSelector } from '../hooks/useSelector';\nimport { getRole, getVideoEffectsDependency } from '../selectors/baseSelectors';\nimport { getEnvironmentInfo } from '../selectors/baseSelectors';\nimport { _isSafari } from '../utils';\n\ntype iconType = 'Camera' | 'Microphone' | 'Speaker';\n\nconst getDropDownList = (list: Array<VideoDeviceInfo | AudioDeviceInfo>): IDropdownOption[] => {\n // Remove duplicates\n const noDuplicates = new Map<string, VideoDeviceInfo | AudioDeviceInfo>();\n for (const item of list) {\n noDuplicates.set(item.id, item);\n }\n const dropdownList: IDropdownOption[] = [];\n for (const item of noDuplicates.values()) {\n dropdownList.push({\n key: item.id,\n text: item.name === '' ? item.deviceType : item.name\n });\n }\n return dropdownList;\n};\n\nconst getOptionIcon = (type: iconType): JSX.Element | undefined => {\n if (type === 'Camera') {\n return <CallCompositeIcon iconName=\"LocalDeviceSettingsCamera\" className={optionIconStyles} />;\n } else if (type === 'Microphone') {\n return <CallCompositeIcon iconName=\"LocalDeviceSettingsMic\" className={optionIconStyles} />;\n } else if (type === 'Speaker') {\n return <CallCompositeIcon iconName=\"LocalDeviceSettingsSpeaker\" className={optionIconStyles} />;\n } else {\n return undefined;\n }\n};\n\nconst onRenderTitle = (iconType: iconType, props?: IDropdownOption[]): JSX.Element => {\n return props ? (\n <div className={dropDownTitleIconStyles}>\n {getOptionIcon(iconType)}\n <span>{props[0]?.text}</span>\n </div>\n ) : (\n <></>\n );\n};\n\nconst localVideoViewOptions = {\n scalingMode: 'Crop',\n isMirrored: true\n} as VideoStreamOptions;\n\n/**\n * @private\n */\nexport interface LocalDeviceSettingsType {\n cameras: VideoDeviceInfo[];\n microphones: AudioDeviceInfo[];\n speakers: AudioDeviceInfo[];\n selectedCamera?: VideoDeviceInfo;\n selectedMicrophone?: AudioDeviceInfo;\n selectedSpeaker?: AudioDeviceInfo;\n microphonePermissionGranted: boolean | undefined;\n cameraPermissionGranted: boolean | undefined;\n onSelectCamera: (device: VideoDeviceInfo, options?: VideoStreamOptions) => Promise<void>;\n onSelectMicrophone: (device: AudioDeviceInfo) => Promise<void>;\n onSelectSpeaker: (device: AudioDeviceInfo) => Promise<void>;\n /* @conditional-compile-remove(call-readiness) */\n onClickEnableDevicePermission?: () => void;\n\n onClickVideoEffects?: () => void;\n}\n\n/**\n * @private\n */\nexport const LocalDeviceSettings = (props: LocalDeviceSettingsType): JSX.Element => {\n const theme = useTheme();\n const locale = useLocale();\n const adapter = useAdapter();\n\n const onResolveVideoEffectDependency = useSelector(getVideoEffectsDependency);\n const defaultPlaceHolder = locale.strings.call.defaultPlaceHolder;\n const cameraLabel = locale.strings.call.cameraLabel;\n const soundLabel = locale.strings.call.soundLabel;\n const noSpeakersLabel = locale.strings.call.noSpeakersLabel;\n const noCameraLabel = locale.strings.call.noCamerasLabel;\n const noMicLabel = locale.strings.call.noMicrophonesLabel;\n const role = useSelector(getRole);\n\n const cameraPermissionGranted = props.cameraPermissionGranted;\n const micPermissionGranted = props.microphonePermissionGranted;\n\n const roleCanUseCamera = role !== 'Consumer';\n const roleCanUseMic = role !== 'Consumer';\n\n // TODO: speaker permission is tied to microphone permission (when you request 'audio' permission using the SDK) its\n // actually granting access to query both microphone and speaker. However the browser popup asks you explicity for\n // 'microphone'. This needs investigation on how we want to handle this and maybe needs follow up with SDK team.\n useEffect(() => {\n if (cameraPermissionGranted) {\n adapter.queryCameras();\n }\n if (micPermissionGranted) {\n adapter.queryMicrophones();\n }\n adapter.querySpeakers();\n }, [adapter, cameraPermissionGranted, micPermissionGranted]);\n\n /* @conditional-compile-remove(call-readiness) */\n const dropdownProps = useHandlers(_DevicePermissionDropdown);\n\n const hasCameras = props.cameras.length > 0;\n const hasMicrophones = props.microphones.length > 0;\n const hasSpeakers = props.speakers.length > 0;\n const environmentInfo = useSelector(getEnvironmentInfo);\n const isSafariWithNoSpeakers = _isSafari(environmentInfo) && !hasSpeakers;\n\n const cameraGrantedDropdown = (\n <Dropdown\n data-ui-id=\"call-composite-local-camera-settings\"\n aria-labelledby={'call-composite-local-camera-settings-label'}\n placeholder={hasCameras ? defaultPlaceHolder : noCameraLabel}\n options={cameraPermissionGranted ? getDropDownList(props.cameras) : [{ key: 'deniedOrUnknown', text: '' }]}\n styles={dropDownStyles(theme)}\n disabled={!cameraPermissionGranted || !hasCameras}\n errorMessage={\n props.cameraPermissionGranted === undefined || props.cameraPermissionGranted\n ? undefined\n : locale.strings.call.cameraPermissionDenied\n }\n defaultSelectedKey={\n micPermissionGranted\n ? props.selectedCamera\n ? props.selectedCamera.id\n : props.cameras\n ? props.cameras[0]?.id\n : ''\n : 'deniedOrUnknown'\n }\n onChange={(event, option, index) => {\n const camera = props.cameras[index ?? 0];\n if (camera) {\n props.onSelectCamera(camera, localVideoViewOptions);\n } else {\n console.error('No cameras available');\n }\n }}\n onRenderTitle={(props?: IDropdownOption[]) => onRenderTitle('Camera', props)}\n />\n );\n\n const micGrantedDropdown = (\n <>\n {roleCanUseMic && (\n <Dropdown\n aria-labelledby={'call-composite-local-sound-settings-label'}\n placeholder={hasMicrophones ? defaultPlaceHolder : noMicLabel}\n styles={dropDownStyles(theme)}\n disabled={!micPermissionGranted || !hasMicrophones}\n errorMessage={\n props.microphonePermissionGranted === undefined || props.microphonePermissionGranted\n ? undefined\n : locale.strings.call.microphonePermissionDenied\n }\n options={micPermissionGranted ? getDropDownList(props.microphones) : [{ key: 'deniedOrUnknown', text: '' }]}\n defaultSelectedKey={\n micPermissionGranted\n ? props.selectedMicrophone\n ? props.selectedMicrophone.id\n : defaultDeviceId(props.microphones)\n : 'deniedOrUnknown'\n }\n onChange={(\n event: React.FormEvent<HTMLDivElement>,\n option?: IDropdownOption | undefined,\n index?: number | undefined\n ) => {\n const microphone = props.microphones[index ?? 0];\n if (microphone) {\n props.onSelectMicrophone(microphone);\n } else {\n console.error('No microphones available');\n }\n }}\n onRenderTitle={(props?: IDropdownOption[]) => onRenderTitle('Microphone', props)}\n />\n )}\n </>\n );\n\n const speakerDropdown = (\n <Dropdown\n aria-labelledby={'call-composite-local-sound-settings-label'}\n placeholder={hasSpeakers ? defaultPlaceHolder : noSpeakersLabel}\n styles={dropDownStyles(theme)}\n disabled={props.speakers.length === 0}\n options={getDropDownList(props.speakers)}\n defaultSelectedKey={props.selectedSpeaker ? props.selectedSpeaker.id : defaultDeviceId(props.speakers)}\n onChange={(\n event: React.FormEvent<HTMLDivElement>,\n option?: IDropdownOption | undefined,\n index?: number | undefined\n ) => {\n const speaker = props.speakers[index ?? 0];\n if (speaker) {\n props.onSelectSpeaker(speaker);\n } else {\n console.error('No speakers available');\n }\n }}\n onRenderTitle={(props?: IDropdownOption[]) => onRenderTitle('Speaker', props)}\n />\n );\n\n return (\n <Stack data-ui-id=\"call-composite-device-settings\" tokens={mainStackTokens} styles={deviceSelectionContainerStyles}>\n {roleCanUseCamera && (\n <Stack>\n <Stack horizontal horizontalAlign=\"space-between\" styles={cameraAndVideoEffectsContainerStyleDesktop}>\n <Label\n id={'call-composite-local-camera-settings-label'}\n className={mergeStyles(dropDownStyles(theme).label)}\n disabled={!cameraPermissionGranted} // follows dropdown disabled state\n >\n {cameraLabel}\n </Label>\n {onResolveVideoEffectDependency && (\n <DefaultButton\n iconProps={{ iconName: 'ConfigurationScreenVideoEffectsButton' }}\n styles={effectsButtonStyles(theme, !cameraPermissionGranted)}\n onClick={props.onClickVideoEffects}\n disabled={!cameraPermissionGranted}\n data-ui-id={'call-config-video-effects-button'}\n >\n {locale.strings.call.configurationPageVideoEffectsButtonLabel}\n </DefaultButton>\n )}\n </Stack>\n <ConfigurationPageCameraDropdown\n cameraGrantedDropdown={cameraGrantedDropdown}\n cameraPermissionGranted={cameraPermissionGranted ?? false}\n /* @conditional-compile-remove(call-readiness) */\n dropdownProps={dropdownProps}\n /* @conditional-compile-remove(call-readiness) */\n onClickEnableDevicePermission={props.onClickEnableDevicePermission}\n />\n </Stack>\n )}\n <Stack>\n <Label\n id={'call-composite-local-sound-settings-label'}\n className={mergeStyles(dropDownStyles(theme).label)}\n disabled={!micPermissionGranted} // follows Start button disabled state in ConfigurationPage\n >\n {soundLabel}\n </Label>\n <Stack data-ui-id=\"call-composite-sound-settings\" tokens={soundStackTokens}>\n <ConfigurationPageMicDropdown\n micGrantedDropdown={micGrantedDropdown}\n micPermissionGranted={micPermissionGranted ?? false}\n /* @conditional-compile-remove(call-readiness) */\n dropdownProps={dropdownProps}\n /* @conditional-compile-remove(call-readiness) */\n onClickEnableDevicePermission={props.onClickEnableDevicePermission}\n />\n {isSafariWithNoSpeakers ? <></> : speakerDropdown}\n </Stack>\n </Stack>\n </Stack>\n );\n};\n\nconst defaultDeviceId = (devices: AudioDeviceInfo[]): string | undefined => {\n if (devices.length === 0) {\n return undefined;\n }\n const defaultDevice = devices.find((device) => device.isSystemDefault);\n if (defaultDevice) {\n return defaultDevice.id;\n }\n return devices[0]?.id;\n};\n"]}
1
+ {"version":3,"file":"LocalDeviceSettings.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/components/LocalDeviceSettings.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { AudioDeviceInfo, VideoDeviceInfo } from '@azure/communication-calling';\nimport { Dropdown, IDropdownOption, Label, mergeStyles, Stack } from '@fluentui/react';\n\nimport { DefaultButton } from '@fluentui/react';\nimport { useEffect } from 'react';\nimport { useTheme, VideoStreamOptions, _DevicePermissionDropdown } from '@internal/react-components';\nimport React from 'react';\nimport { CallCompositeIcon } from '../../common/icons';\nimport { useLocale } from '../../localization';\nimport {\n deviceSelectionContainerStyles,\n dropDownStyles,\n dropDownTitleIconStyles,\n mainStackTokens,\n optionIconStyles,\n soundStackTokens\n} from '../styles/LocalDeviceSettings.styles';\nimport { useAdapter } from '../adapter/CallAdapterProvider';\nimport { ConfigurationPageCameraDropdown } from './ConfigurationPageCameraDropdown';\nimport { ConfigurationPageMicDropdown } from './ConfigurationPageMicDropdown';\n/* @conditional-compile-remove(call-readiness) */\nimport { useHandlers } from '../hooks/useHandlers';\nimport { cameraAndVideoEffectsContainerStyleDesktop } from '../styles/CallConfiguration.styles';\n\nimport { effectsButtonStyles } from '../styles/CallConfiguration.styles';\nimport { useSelector } from '../hooks/useSelector';\nimport { getRole, getVideoEffectsDependency } from '../selectors/baseSelectors';\nimport { getEnvironmentInfo } from '../selectors/baseSelectors';\nimport { _isSafari } from '../utils';\n\ntype iconType = 'Camera' | 'Microphone' | 'Speaker';\n\nconst getDropDownList = (list: Array<VideoDeviceInfo | AudioDeviceInfo>): IDropdownOption[] => {\n // Remove duplicates\n const noDuplicates = new Map<string, VideoDeviceInfo | AudioDeviceInfo>();\n for (const item of list) {\n noDuplicates.set(item.id, item);\n }\n const dropdownList: IDropdownOption[] = [];\n for (const item of noDuplicates.values()) {\n dropdownList.push({\n key: item.id,\n text: item.name === '' ? item.deviceType : item.name\n });\n }\n return dropdownList;\n};\n\nconst getOptionIcon = (type: iconType): JSX.Element | undefined => {\n if (type === 'Camera') {\n return <CallCompositeIcon iconName=\"LocalDeviceSettingsCamera\" className={optionIconStyles} />;\n } else if (type === 'Microphone') {\n return <CallCompositeIcon iconName=\"LocalDeviceSettingsMic\" className={optionIconStyles} />;\n } else if (type === 'Speaker') {\n return <CallCompositeIcon iconName=\"LocalDeviceSettingsSpeaker\" className={optionIconStyles} />;\n } else {\n return undefined;\n }\n};\n\nconst onRenderTitle = (iconType: iconType, props?: IDropdownOption[]): JSX.Element => {\n return props ? (\n <div className={dropDownTitleIconStyles}>\n {getOptionIcon(iconType)}\n <span>{props[0]?.text}</span>\n </div>\n ) : (\n <></>\n );\n};\n\nconst localVideoViewOptions = {\n scalingMode: 'Crop',\n isMirrored: true\n} as VideoStreamOptions;\n\n/**\n * @private\n */\nexport interface LocalDeviceSettingsType {\n cameras: VideoDeviceInfo[];\n microphones: AudioDeviceInfo[];\n speakers: AudioDeviceInfo[];\n selectedCamera?: VideoDeviceInfo;\n selectedMicrophone?: AudioDeviceInfo;\n selectedSpeaker?: AudioDeviceInfo;\n microphonePermissionGranted: boolean | undefined;\n cameraPermissionGranted: boolean | undefined;\n onSelectCamera: (device: VideoDeviceInfo, options?: VideoStreamOptions) => Promise<void>;\n onSelectMicrophone: (device: AudioDeviceInfo) => Promise<void>;\n onSelectSpeaker: (device: AudioDeviceInfo) => Promise<void>;\n /* @conditional-compile-remove(call-readiness) */\n onClickEnableDevicePermission?: () => void;\n\n onClickVideoEffects?: () => void;\n}\n\n/**\n * @private\n */\nexport const LocalDeviceSettings = (props: LocalDeviceSettingsType): JSX.Element => {\n const theme = useTheme();\n const locale = useLocale();\n const adapter = useAdapter();\n\n const onResolveVideoEffectDependency = useSelector(getVideoEffectsDependency);\n const defaultPlaceHolder = locale.strings.call.defaultPlaceHolder;\n const cameraLabel = locale.strings.call.cameraLabel;\n const soundLabel = locale.strings.call.soundLabel;\n const noSpeakersLabel = locale.strings.call.noSpeakersLabel;\n const noCameraLabel = locale.strings.call.noCamerasLabel;\n const noMicLabel = locale.strings.call.noMicrophonesLabel;\n const role = useSelector(getRole);\n\n const cameraPermissionGranted = props.cameraPermissionGranted;\n const micPermissionGranted = props.microphonePermissionGranted;\n\n const roleCanUseCamera = role !== 'Consumer';\n const roleCanUseMic = role !== 'Consumer';\n\n // TODO: speaker permission is tied to microphone permission (when you request 'audio' permission using the SDK) its\n // actually granting access to query both microphone and speaker. However the browser popup asks you explicity for\n // 'microphone'. This needs investigation on how we want to handle this and maybe needs follow up with SDK team.\n useEffect(() => {\n if (cameraPermissionGranted) {\n adapter.queryCameras();\n }\n if (micPermissionGranted) {\n adapter.queryMicrophones();\n }\n adapter.querySpeakers();\n }, [adapter, cameraPermissionGranted, micPermissionGranted]);\n\n /* @conditional-compile-remove(call-readiness) */\n const dropdownProps = useHandlers(_DevicePermissionDropdown);\n\n const hasCameras = props.cameras.length > 0;\n const hasMicrophones = props.microphones.length > 0;\n const hasSpeakers = props.speakers.length > 0;\n const environmentInfo = useSelector(getEnvironmentInfo);\n const isSafariWithNoSpeakers = _isSafari(environmentInfo) && !hasSpeakers;\n\n const cameraGrantedDropdown = (\n <Dropdown\n data-ui-id=\"call-composite-local-camera-settings\"\n aria-labelledby={'call-composite-local-camera-settings-label'}\n placeholder={hasCameras ? defaultPlaceHolder : noCameraLabel}\n options={cameraPermissionGranted ? getDropDownList(props.cameras) : [{ key: 'deniedOrUnknown', text: '' }]}\n styles={dropDownStyles(theme)}\n disabled={!cameraPermissionGranted || !hasCameras}\n errorMessage={\n props.cameraPermissionGranted === undefined || props.cameraPermissionGranted\n ? undefined\n : locale.strings.call.cameraPermissionDenied\n }\n defaultSelectedKey={\n micPermissionGranted\n ? props.selectedCamera\n ? props.selectedCamera.id\n : props.cameras\n ? props.cameras[0]?.id\n : ''\n : 'deniedOrUnknown'\n }\n onChange={(event, option, index) => {\n const camera = props.cameras[index ?? 0];\n if (camera) {\n props.onSelectCamera(camera, localVideoViewOptions);\n } else {\n console.error('No cameras available');\n }\n }}\n onRenderTitle={(props?: IDropdownOption[]) => onRenderTitle('Camera', props)}\n />\n );\n\n const micGrantedDropdown = (\n <>\n {roleCanUseMic && (\n <Dropdown\n aria-labelledby={'call-composite-local-sound-settings-label'}\n placeholder={hasMicrophones ? defaultPlaceHolder : noMicLabel}\n styles={dropDownStyles(theme)}\n disabled={!micPermissionGranted || !hasMicrophones}\n errorMessage={\n props.microphonePermissionGranted === undefined || props.microphonePermissionGranted\n ? undefined\n : locale.strings.call.microphonePermissionDenied\n }\n options={micPermissionGranted ? getDropDownList(props.microphones) : [{ key: 'deniedOrUnknown', text: '' }]}\n defaultSelectedKey={\n micPermissionGranted\n ? props.selectedMicrophone\n ? props.selectedMicrophone.id\n : defaultDeviceId(props.microphones)\n : 'deniedOrUnknown'\n }\n onChange={(\n event: React.FormEvent<HTMLDivElement>,\n option?: IDropdownOption | undefined,\n index?: number | undefined\n ) => {\n const microphone = props.microphones[index ?? 0];\n if (microphone) {\n props.onSelectMicrophone(microphone);\n } else {\n console.error('No microphones available');\n }\n }}\n onRenderTitle={(props?: IDropdownOption[]) => onRenderTitle('Microphone', props)}\n />\n )}\n </>\n );\n\n const speakerDropdown = (\n <Dropdown\n aria-labelledby={'call-composite-local-sound-settings-label'}\n placeholder={hasSpeakers ? defaultPlaceHolder : noSpeakersLabel}\n styles={dropDownStyles(theme)}\n disabled={props.speakers.length === 0}\n options={getDropDownList(props.speakers)}\n defaultSelectedKey={props.selectedSpeaker ? props.selectedSpeaker.id : defaultDeviceId(props.speakers)}\n onChange={(\n event: React.FormEvent<HTMLDivElement>,\n option?: IDropdownOption | undefined,\n index?: number | undefined\n ) => {\n const speaker = props.speakers[index ?? 0];\n if (speaker) {\n props.onSelectSpeaker(speaker);\n } else {\n console.error('No speakers available');\n }\n }}\n onRenderTitle={(props?: IDropdownOption[]) => onRenderTitle('Speaker', props)}\n />\n );\n\n return (\n <Stack data-ui-id=\"call-composite-device-settings\" tokens={mainStackTokens} styles={deviceSelectionContainerStyles}>\n {roleCanUseCamera && (\n <Stack>\n <Stack horizontal horizontalAlign=\"space-between\" styles={cameraAndVideoEffectsContainerStyleDesktop}>\n <Label\n id={'call-composite-local-camera-settings-label'}\n className={mergeStyles(dropDownStyles(theme).label)}\n >\n {cameraLabel}\n </Label>\n {onResolveVideoEffectDependency && (\n <DefaultButton\n iconProps={{ iconName: 'ConfigurationScreenVideoEffectsButton' }}\n styles={effectsButtonStyles(theme, !cameraPermissionGranted)}\n onClick={props.onClickVideoEffects}\n disabled={!cameraPermissionGranted}\n data-ui-id={'call-config-video-effects-button'}\n >\n {locale.strings.call.configurationPageVideoEffectsButtonLabel}\n </DefaultButton>\n )}\n </Stack>\n <ConfigurationPageCameraDropdown\n cameraGrantedDropdown={cameraGrantedDropdown}\n cameraPermissionGranted={cameraPermissionGranted ?? false}\n /* @conditional-compile-remove(call-readiness) */\n dropdownProps={dropdownProps}\n /* @conditional-compile-remove(call-readiness) */\n onClickEnableDevicePermission={props.onClickEnableDevicePermission}\n />\n </Stack>\n )}\n <Stack>\n <Label id={'call-composite-local-sound-settings-label'} className={mergeStyles(dropDownStyles(theme).label)}>\n {soundLabel}\n </Label>\n <Stack data-ui-id=\"call-composite-sound-settings\" tokens={soundStackTokens}>\n <ConfigurationPageMicDropdown\n micGrantedDropdown={micGrantedDropdown}\n micPermissionGranted={micPermissionGranted ?? false}\n /* @conditional-compile-remove(call-readiness) */\n dropdownProps={dropdownProps}\n /* @conditional-compile-remove(call-readiness) */\n onClickEnableDevicePermission={props.onClickEnableDevicePermission}\n />\n {isSafariWithNoSpeakers ? <></> : speakerDropdown}\n </Stack>\n </Stack>\n </Stack>\n );\n};\n\nconst defaultDeviceId = (devices: AudioDeviceInfo[]): string | undefined => {\n if (devices.length === 0) {\n return undefined;\n }\n const defaultDevice = devices.find((device) => device.isSystemDefault);\n if (defaultDevice) {\n return defaultDevice.id;\n }\n return devices[0]?.id;\n};\n"]}
@@ -80,5 +80,9 @@ export interface SpotlightPromptStrings {
80
80
  * Label for button to cancel stopping spotlight on participant(s) in prompt
81
81
  */
82
82
  stopSpotlightCancelButtonLabel: string;
83
+ /**
84
+ * Label for button to close prompt
85
+ */
86
+ closeSpotlightPromptButtonLabel: string;
83
87
  }
84
88
  //# sourceMappingURL=Prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Prompt.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/components/Prompt.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EACL,aAAa,EAEb,UAAU,EACV,KAAK,EACL,aAAa,EACb,KAAK,EACL,IAAI,EAEJ,WAAW,EAEX,eAAe,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,4CAAmC;AACtD,OAAO,KAAK,MAAM,OAAO,CAAC;AAkB1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAkB,EAAe,EAAE;;IACxD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,EAAE,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAC;IAEhE,OAAO,CACL,oBAAC,KAAK,IAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK;QACxF,oBAAC,KAAK,IAAC,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YACrD,oBAAC,IAAI,IAAC,SAAS,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,IAAG,KAAK,CAAC,OAAO,CAAQ;YAC9F,oBAAC,UAAU,IACT,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAC/B,SAAS,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EACjC,OAAO,EAAE,KAAK,CAAC,QAAQ,EACvB,SAAS,EAAE,KAAK,CAAC,gBAAgB,GACjC,CACI;QACR,oBAAC,KAAK,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;YACzE,oBAAC,IAAI,IAAC,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,IAAG,KAAK,CAAC,IAAI,CAAQ,CACrE;QACR,oBAAC,KAAK,IAAC,UAAU,QAAC,eAAe,EAAC,KAAK,EAAC,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;YACvE,oBAAC,aAAa,IAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC,kBAAkB,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,GAAI;YACrG,oBAAC,aAAa,IAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,GAAI,CAC7F,CACF,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAAiB,EAAE,CAAC,CAAC;IACzD,IAAI,EAAE;QACJ,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;KACpC;IACD,WAAW,EAAE;QACX,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;KACjC;CACF,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;AAExE,MAAM,gBAAgB,GAAkB,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n DefaultButton,\n IButtonStyles,\n IconButton,\n Modal,\n PrimaryButton,\n Stack,\n Text,\n Theme,\n mergeStyles,\n IModalStyles,\n concatStyleSets\n} from '@fluentui/react';\nimport { useTheme } from '@internal/react-components';\nimport React from 'react';\n\n/**\n * @private\n */\nexport interface PromptProps {\n isOpen?: boolean;\n onDismiss?: () => void;\n heading?: string;\n text?: string;\n confirmButtonLabel?: string;\n cancelButtonLabel?: string;\n closeButtonLabel?: string;\n onConfirm?: () => void;\n onCancel?: () => void;\n styles?: Partial<IModalStyles>;\n}\n\n/**\n * @private\n */\nexport const Prompt = (props: PromptProps): JSX.Element => {\n const theme = useTheme();\n const styles = concatStyleSets(modalStyles, props.styles ?? {});\n\n return (\n <Modal styles={styles} isOpen={props.isOpen} onDismiss={props.onDismiss} isBlocking={false}>\n <Stack className={mergeStyles({ position: 'relative' })}>\n <Text className={mergeStyles({ fontWeight: 600, fontSize: '1.25rem' })}>{props.heading}</Text>\n <IconButton\n styles={iconButtonStyles(theme)}\n iconProps={{ iconName: 'Cancel' }}\n onClick={props.onCancel}\n ariaLabel={props.closeButtonLabel}\n />\n </Stack>\n <Stack verticalAlign=\"center\" className={mergeStyles({ minHeight: '6rem' })}>\n <Text className={mergeStyles({ fontSize: '0.875rem' })}>{props.text}</Text>\n </Stack>\n <Stack horizontal horizontalAlign=\"end\" tokens={{ childrenGap: '0.5rem' }}>\n <PrimaryButton styles={buttonTextStyles} text={props.confirmButtonLabel} onClick={props.onConfirm} />\n <DefaultButton styles={buttonTextStyles} text={props.cancelButtonLabel} onClick={props.onCancel} />\n </Stack>\n </Modal>\n );\n};\n\nconst iconButtonStyles = (theme: Theme): IButtonStyles => ({\n root: {\n position: 'absolute',\n top: 0,\n right: 0,\n color: theme.palette.neutralPrimary\n },\n rootHovered: {\n color: theme.palette.neutralDark\n }\n});\n\nconst modalStyles = { main: { padding: '1.5rem ', maxWidth: '30rem' } };\n\nconst buttonTextStyles: IButtonStyles = { label: { fontSize: '0.875rem' } };\n\n/**\n * Strings used in prompt related to spotlight\n * @public\n */\nexport interface SpotlightPromptStrings {\n /**\n * Heading for prompt when starting spotlight on participant\n */\n startSpotlightHeading: string;\n /**\n * Text for prompt when starting spotlight on participant\n */\n startSpotlightText: string;\n /**\n * Label for button to confirm starting spotlight on local user in prompt\n */\n startSpotlightOnSelfText: string;\n /**\n * Label for button to confirm starting spotlight on participant in prompt\n */\n startSpotlightConfirmButtonLabel: string;\n /**\n * Label for button to cancel starting spotlight on participant in prompt\n */\n startSpotlightCancelButtonLabel: string;\n /**\n * Heading for prompt when stopping spotlight on participant\n */\n stopSpotlightHeading: string;\n /**\n * Heading for prompt when stopping spotlight on local user\n */\n stopSpotlightOnSelfHeading: string;\n /**\n * Heading for prompt when stopping all spotlight\n */\n stopAllSpotlightHeading: string;\n /**\n * Text for prompt when stopping spotlight on participant\n */\n stopSpotlightText: string;\n /**\n * Text for prompt when stopping spotlight on local user\n */\n stopSpotlightOnSelfText: string;\n /**\n * Text for prompt when stopping all spotlight\n */\n stopAllSpotlightText: string;\n /**\n * Label for button to confirm stopping spotlight on participant(s) in prompt\n */\n stopSpotlightConfirmButtonLabel: string;\n /**\n * Label for button to confirm stopping spotlight on local user in prompt\n */\n stopSpotlightOnSelfConfirmButtonLabel: string;\n /**\n * Label for button to cancel stopping spotlight on participant(s) in prompt\n */\n stopSpotlightCancelButtonLabel: string;\n}\n"]}
1
+ {"version":3,"file":"Prompt.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/components/Prompt.tsx"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EACL,aAAa,EAEb,UAAU,EACV,KAAK,EACL,aAAa,EACb,KAAK,EACL,IAAI,EAEJ,WAAW,EAEX,eAAe,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,4CAAmC;AACtD,OAAO,KAAK,MAAM,OAAO,CAAC;AAkB1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAkB,EAAe,EAAE;;IACxD,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,MAAM,GAAG,eAAe,CAAC,WAAW,EAAE,MAAA,KAAK,CAAC,MAAM,mCAAI,EAAE,CAAC,CAAC;IAEhE,OAAO,CACL,oBAAC,KAAK,IAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK;QACxF,oBAAC,KAAK,IAAC,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;YACrD,oBAAC,IAAI,IAAC,SAAS,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,IAAG,KAAK,CAAC,OAAO,CAAQ;YAC9F,oBAAC,UAAU,IACT,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,EAC/B,SAAS,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,EACjC,OAAO,EAAE,KAAK,CAAC,QAAQ,EACvB,SAAS,EAAE,KAAK,CAAC,gBAAgB,GACjC,CACI;QACR,oBAAC,KAAK,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,WAAW,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;YACzE,oBAAC,IAAI,IAAC,SAAS,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,IAAG,KAAK,CAAC,IAAI,CAAQ,CACrE;QACR,oBAAC,KAAK,IAAC,UAAU,QAAC,eAAe,EAAC,KAAK,EAAC,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE;YACvE,oBAAC,aAAa,IAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC,kBAAkB,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,GAAI;YACrG,oBAAC,aAAa,IAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC,iBAAiB,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,GAAI,CAC7F,CACF,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAAiB,EAAE,CAAC,CAAC;IACzD,IAAI,EAAE;QACJ,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,CAAC;QACN,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;KACpC;IACD,WAAW,EAAE;QACX,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;KACjC;CACF,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC;AAExE,MAAM,gBAAgB,GAAkB,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n DefaultButton,\n IButtonStyles,\n IconButton,\n Modal,\n PrimaryButton,\n Stack,\n Text,\n Theme,\n mergeStyles,\n IModalStyles,\n concatStyleSets\n} from '@fluentui/react';\nimport { useTheme } from '@internal/react-components';\nimport React from 'react';\n\n/**\n * @private\n */\nexport interface PromptProps {\n isOpen?: boolean;\n onDismiss?: () => void;\n heading?: string;\n text?: string;\n confirmButtonLabel?: string;\n cancelButtonLabel?: string;\n closeButtonLabel?: string;\n onConfirm?: () => void;\n onCancel?: () => void;\n styles?: Partial<IModalStyles>;\n}\n\n/**\n * @private\n */\nexport const Prompt = (props: PromptProps): JSX.Element => {\n const theme = useTheme();\n const styles = concatStyleSets(modalStyles, props.styles ?? {});\n\n return (\n <Modal styles={styles} isOpen={props.isOpen} onDismiss={props.onDismiss} isBlocking={false}>\n <Stack className={mergeStyles({ position: 'relative' })}>\n <Text className={mergeStyles({ fontWeight: 600, fontSize: '1.25rem' })}>{props.heading}</Text>\n <IconButton\n styles={iconButtonStyles(theme)}\n iconProps={{ iconName: 'Cancel' }}\n onClick={props.onCancel}\n ariaLabel={props.closeButtonLabel}\n />\n </Stack>\n <Stack verticalAlign=\"center\" className={mergeStyles({ minHeight: '6rem' })}>\n <Text className={mergeStyles({ fontSize: '0.875rem' })}>{props.text}</Text>\n </Stack>\n <Stack horizontal horizontalAlign=\"end\" tokens={{ childrenGap: '0.5rem' }}>\n <PrimaryButton styles={buttonTextStyles} text={props.confirmButtonLabel} onClick={props.onConfirm} />\n <DefaultButton styles={buttonTextStyles} text={props.cancelButtonLabel} onClick={props.onCancel} />\n </Stack>\n </Modal>\n );\n};\n\nconst iconButtonStyles = (theme: Theme): IButtonStyles => ({\n root: {\n position: 'absolute',\n top: 0,\n right: 0,\n color: theme.palette.neutralPrimary\n },\n rootHovered: {\n color: theme.palette.neutralDark\n }\n});\n\nconst modalStyles = { main: { padding: '1.5rem ', maxWidth: '30rem' } };\n\nconst buttonTextStyles: IButtonStyles = { label: { fontSize: '0.875rem' } };\n\n/**\n * Strings used in prompt related to spotlight\n * @public\n */\nexport interface SpotlightPromptStrings {\n /**\n * Heading for prompt when starting spotlight on participant\n */\n startSpotlightHeading: string;\n /**\n * Text for prompt when starting spotlight on participant\n */\n startSpotlightText: string;\n /**\n * Label for button to confirm starting spotlight on local user in prompt\n */\n startSpotlightOnSelfText: string;\n /**\n * Label for button to confirm starting spotlight on participant in prompt\n */\n startSpotlightConfirmButtonLabel: string;\n /**\n * Label for button to cancel starting spotlight on participant in prompt\n */\n startSpotlightCancelButtonLabel: string;\n /**\n * Heading for prompt when stopping spotlight on participant\n */\n stopSpotlightHeading: string;\n /**\n * Heading for prompt when stopping spotlight on local user\n */\n stopSpotlightOnSelfHeading: string;\n /**\n * Heading for prompt when stopping all spotlight\n */\n stopAllSpotlightHeading: string;\n /**\n * Text for prompt when stopping spotlight on participant\n */\n stopSpotlightText: string;\n /**\n * Text for prompt when stopping spotlight on local user\n */\n stopSpotlightOnSelfText: string;\n /**\n * Text for prompt when stopping all spotlight\n */\n stopAllSpotlightText: string;\n /**\n * Label for button to confirm stopping spotlight on participant(s) in prompt\n */\n stopSpotlightConfirmButtonLabel: string;\n /**\n * Label for button to confirm stopping spotlight on local user in prompt\n */\n stopSpotlightOnSelfConfirmButtonLabel: string;\n /**\n * Label for button to cancel stopping spotlight on participant(s) in prompt\n */\n stopSpotlightCancelButtonLabel: string;\n /**\n * Label for button to close prompt\n */\n closeSpotlightPromptButtonLabel: string;\n}\n"]}
@@ -40,6 +40,7 @@ const getStartLocalSpotlightWithPromptCallback = (onStartSpotlight, setIsPromptO
40
40
  text: strings.spotlightPrompt.startSpotlightOnSelfText,
41
41
  confirmButtonLabel: strings.spotlightPrompt.startSpotlightConfirmButtonLabel,
42
42
  cancelButtonLabel: strings.spotlightPrompt.startSpotlightCancelButtonLabel,
43
+ closeButtonLabel: strings.spotlightPrompt.closeSpotlightPromptButtonLabel,
43
44
  onConfirm: () => {
44
45
  onStartSpotlight();
45
46
  setIsPromptOpen(false);
@@ -97,6 +98,7 @@ const getStartRemoteSpotlightWithPromptCallback = (onStartSpotlight, setIsPrompt
97
98
  text: strings.spotlightPrompt.startSpotlightText,
98
99
  confirmButtonLabel: strings.spotlightPrompt.startSpotlightConfirmButtonLabel,
99
100
  cancelButtonLabel: strings.spotlightPrompt.startSpotlightCancelButtonLabel,
101
+ closeButtonLabel: strings.spotlightPrompt.closeSpotlightPromptButtonLabel,
100
102
  onConfirm: () => {
101
103
  onStartSpotlight(userIds);
102
104
  setIsPromptOpen(false);
@@ -116,6 +118,7 @@ const getStopRemoteSpotlightWithPromptCallback = (onStopSpotlight, setIsPromptOp
116
118
  text: strings.spotlightPrompt.stopSpotlightText,
117
119
  confirmButtonLabel: strings.spotlightPrompt.stopSpotlightConfirmButtonLabel,
118
120
  cancelButtonLabel: strings.spotlightPrompt.stopSpotlightCancelButtonLabel,
121
+ closeButtonLabel: strings.spotlightPrompt.closeSpotlightPromptButtonLabel,
119
122
  onConfirm: () => {
120
123
  onStopSpotlight(userIds);
121
124
  setIsPromptOpen(false);
@@ -150,6 +153,7 @@ const getStopAllSpotlightCallbackWithPromptCallback = (stopAllSpotlight, setIsPr
150
153
  text: strings.spotlightPrompt.stopAllSpotlightText,
151
154
  confirmButtonLabel: strings.spotlightPrompt.stopSpotlightConfirmButtonLabel,
152
155
  cancelButtonLabel: strings.spotlightPrompt.stopSpotlightCancelButtonLabel,
156
+ closeButtonLabel: strings.spotlightPrompt.closeSpotlightPromptButtonLabel,
153
157
  onConfirm: () => {
154
158
  stopAllSpotlight();
155
159
  setIsPromptOpen(false);
@@ -1 +1 @@
1
- {"version":3,"file":"spotlightUtils.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/utils/spotlightUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { useMemo } from 'react';\nimport { CallCompositeStrings } from '../Strings';\nimport { PromptProps } from '../components/Prompt';\nimport { useLocale } from '../../localization';\n\n/**\n * @internal\n */\nexport const useLocalSpotlightCallbacksWithPrompt = (\n onStartLocalSpotlight?: () => Promise<void>,\n onStopLocalSpotlight?: () => Promise<void>,\n setIsPromptOpen?: (isOpen: boolean) => void,\n setPromptProps?: (promptProps: PromptProps) => void\n): {\n onStartLocalSpotlightWithPrompt?: () => Promise<void>;\n onStopLocalSpotlightWithPrompt?: () => Promise<void>;\n} => {\n const strings = useLocale().strings.call;\n\n return useMemo(() => {\n if (!setIsPromptOpen || !setPromptProps) {\n return {\n onStartLocalSpotlightWithPrompt: onStartLocalSpotlight,\n onStopLocalSpotlightWithPrompt: onStopLocalSpotlight\n };\n }\n return {\n onStartLocalSpotlightWithPrompt: onStartLocalSpotlight\n ? getStartLocalSpotlightWithPromptCallback(onStartLocalSpotlight, setIsPromptOpen, setPromptProps, strings)\n : undefined,\n onStopLocalSpotlightWithPrompt: onStopLocalSpotlight\n ? getStopLocalSpotlightWithPromptCallback(onStopLocalSpotlight, setIsPromptOpen, setPromptProps, strings)\n : undefined\n };\n }, [onStartLocalSpotlight, onStopLocalSpotlight, setIsPromptOpen, setPromptProps, strings]);\n};\n\nconst getStartLocalSpotlightWithPromptCallback = (\n onStartSpotlight: (userIds?: string[]) => void,\n setIsPromptOpen: (isOpen: boolean) => void,\n setPromptProps: (promptProps: PromptProps) => void,\n strings: CallCompositeStrings\n): ((userIds?: string[]) => Promise<void>) => {\n return async (): Promise<void> => {\n setPromptProps({\n heading: strings.spotlightPrompt.startSpotlightHeading,\n text: strings.spotlightPrompt.startSpotlightOnSelfText,\n confirmButtonLabel: strings.spotlightPrompt.startSpotlightConfirmButtonLabel,\n cancelButtonLabel: strings.spotlightPrompt.startSpotlightCancelButtonLabel,\n onConfirm: () => {\n onStartSpotlight();\n setIsPromptOpen(false);\n },\n onCancel: () => setIsPromptOpen(false)\n });\n setIsPromptOpen(true);\n };\n};\n\nconst getStopLocalSpotlightWithPromptCallback = (\n onStopSpotlight: () => void,\n setIsPromptOpen: (isOpen: boolean) => void,\n setPromptProps: (promptProps: PromptProps) => void,\n strings: CallCompositeStrings\n): (() => Promise<void>) => {\n return async (): Promise<void> => {\n setPromptProps({\n heading: strings.spotlightPrompt.stopSpotlightOnSelfHeading,\n text: strings.spotlightPrompt.stopSpotlightOnSelfText,\n confirmButtonLabel: strings.spotlightPrompt.stopSpotlightOnSelfConfirmButtonLabel,\n cancelButtonLabel: strings.spotlightPrompt.stopSpotlightCancelButtonLabel,\n onConfirm: () => {\n onStopSpotlight();\n setIsPromptOpen(false);\n },\n onCancel: () => setIsPromptOpen(false)\n });\n setIsPromptOpen(true);\n };\n};\n\n/**\n * @internal\n */\nexport const useRemoteSpotlightCallbacksWithPrompt = (\n onStartRemoteSpotlight?: (userIds: string[]) => Promise<void>,\n onStopRemoteSpotlight?: (userIds: string[]) => Promise<void>,\n setIsPromptOpen?: (isOpen: boolean) => void,\n setPromptProps?: (promptProps: PromptProps) => void\n): {\n onStartRemoteSpotlightWithPrompt?: (userIds: string[]) => Promise<void>;\n onStopRemoteSpotlightWithPrompt?: (userIds: string[]) => Promise<void>;\n} => {\n const strings = useLocale().strings.call;\n\n return useMemo(() => {\n if (!setIsPromptOpen || !setPromptProps) {\n return {\n onStartRemoteSpotlightWithPrompt: onStartRemoteSpotlight,\n onStopRemoteSpotlightWithPrompt: onStopRemoteSpotlight\n };\n }\n return {\n onStartRemoteSpotlightWithPrompt: onStartRemoteSpotlight\n ? getStartRemoteSpotlightWithPromptCallback(onStartRemoteSpotlight, setIsPromptOpen, setPromptProps, strings)\n : undefined,\n onStopRemoteSpotlightWithPrompt: onStopRemoteSpotlight\n ? getStopRemoteSpotlightWithPromptCallback(onStopRemoteSpotlight, setIsPromptOpen, setPromptProps, strings)\n : undefined\n };\n }, [onStartRemoteSpotlight, onStopRemoteSpotlight, setIsPromptOpen, setPromptProps, strings]);\n};\n\nconst getStartRemoteSpotlightWithPromptCallback = (\n onStartSpotlight: (userIds: string[]) => void,\n setIsPromptOpen: (isOpen: boolean) => void,\n setPromptProps: (promptProps: PromptProps) => void,\n strings: CallCompositeStrings\n): ((userIds: string[]) => Promise<void>) => {\n return async (userIds: string[]): Promise<void> => {\n if (userIds.length > 1) {\n onStartSpotlight(userIds);\n }\n setPromptProps({\n heading: strings.spotlightPrompt.startSpotlightHeading,\n text: strings.spotlightPrompt.startSpotlightText,\n confirmButtonLabel: strings.spotlightPrompt.startSpotlightConfirmButtonLabel,\n cancelButtonLabel: strings.spotlightPrompt.startSpotlightCancelButtonLabel,\n onConfirm: () => {\n onStartSpotlight(userIds);\n setIsPromptOpen(false);\n },\n onCancel: () => setIsPromptOpen(false)\n });\n setIsPromptOpen(true);\n };\n};\n\nconst getStopRemoteSpotlightWithPromptCallback = (\n onStopSpotlight: (userIds: string[]) => void,\n setIsPromptOpen: (isOpen: boolean) => void,\n setPromptProps: (promptProps: PromptProps) => void,\n strings: CallCompositeStrings\n): ((userIds: string[]) => Promise<void>) => {\n return async (userIds: string[]): Promise<void> => {\n if (userIds.length > 1) {\n onStopSpotlight(userIds);\n }\n\n setPromptProps({\n heading: strings.spotlightPrompt.stopSpotlightHeading,\n text: strings.spotlightPrompt.stopSpotlightText,\n confirmButtonLabel: strings.spotlightPrompt.stopSpotlightConfirmButtonLabel,\n cancelButtonLabel: strings.spotlightPrompt.stopSpotlightCancelButtonLabel,\n onConfirm: () => {\n onStopSpotlight(userIds);\n setIsPromptOpen(false);\n },\n onCancel: () => setIsPromptOpen(false)\n });\n setIsPromptOpen(true);\n };\n};\n\n/**\n * @internal\n */\nexport const useStopAllSpotlightCallbackWithPrompt = (\n stopAllSpotlight?: () => Promise<void>,\n setIsPromptOpen?: (isOpen: boolean) => void,\n setPromptProps?: (promptProps: PromptProps) => void\n): {\n stopAllSpotlightWithPrompt?: (userIds?: string[]) => Promise<void>;\n} => {\n const strings = useLocale().strings.call;\n\n return useMemo(() => {\n if (!setIsPromptOpen || !setPromptProps) {\n return {\n stopAllSpotlightWithPrompt: stopAllSpotlight\n };\n }\n return {\n stopAllSpotlightWithPrompt: stopAllSpotlight\n ? getStopAllSpotlightCallbackWithPromptCallback(stopAllSpotlight, setIsPromptOpen, setPromptProps, strings)\n : undefined\n };\n }, [stopAllSpotlight, setIsPromptOpen, setPromptProps, strings]);\n};\n\nconst getStopAllSpotlightCallbackWithPromptCallback = (\n stopAllSpotlight: () => void,\n setIsPromptOpen: (isOpen: boolean) => void,\n setPromptProps: (promptProps: PromptProps) => void,\n strings: CallCompositeStrings\n): (() => Promise<void>) => {\n return async (): Promise<void> => {\n setPromptProps({\n heading: strings.spotlightPrompt.stopAllSpotlightHeading,\n text: strings.spotlightPrompt.stopAllSpotlightText,\n confirmButtonLabel: strings.spotlightPrompt.stopSpotlightConfirmButtonLabel,\n cancelButtonLabel: strings.spotlightPrompt.stopSpotlightCancelButtonLabel,\n onConfirm: () => {\n stopAllSpotlight();\n setIsPromptOpen(false);\n },\n onCancel: () => setIsPromptOpen(false)\n });\n setIsPromptOpen(true);\n };\n};\n"]}
1
+ {"version":3,"file":"spotlightUtils.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/utils/spotlightUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { useMemo } from 'react';\nimport { CallCompositeStrings } from '../Strings';\nimport { PromptProps } from '../components/Prompt';\nimport { useLocale } from '../../localization';\n\n/**\n * @internal\n */\nexport const useLocalSpotlightCallbacksWithPrompt = (\n onStartLocalSpotlight?: () => Promise<void>,\n onStopLocalSpotlight?: () => Promise<void>,\n setIsPromptOpen?: (isOpen: boolean) => void,\n setPromptProps?: (promptProps: PromptProps) => void\n): {\n onStartLocalSpotlightWithPrompt?: () => Promise<void>;\n onStopLocalSpotlightWithPrompt?: () => Promise<void>;\n} => {\n const strings = useLocale().strings.call;\n\n return useMemo(() => {\n if (!setIsPromptOpen || !setPromptProps) {\n return {\n onStartLocalSpotlightWithPrompt: onStartLocalSpotlight,\n onStopLocalSpotlightWithPrompt: onStopLocalSpotlight\n };\n }\n return {\n onStartLocalSpotlightWithPrompt: onStartLocalSpotlight\n ? getStartLocalSpotlightWithPromptCallback(onStartLocalSpotlight, setIsPromptOpen, setPromptProps, strings)\n : undefined,\n onStopLocalSpotlightWithPrompt: onStopLocalSpotlight\n ? getStopLocalSpotlightWithPromptCallback(onStopLocalSpotlight, setIsPromptOpen, setPromptProps, strings)\n : undefined\n };\n }, [onStartLocalSpotlight, onStopLocalSpotlight, setIsPromptOpen, setPromptProps, strings]);\n};\n\nconst getStartLocalSpotlightWithPromptCallback = (\n onStartSpotlight: (userIds?: string[]) => void,\n setIsPromptOpen: (isOpen: boolean) => void,\n setPromptProps: (promptProps: PromptProps) => void,\n strings: CallCompositeStrings\n): ((userIds?: string[]) => Promise<void>) => {\n return async (): Promise<void> => {\n setPromptProps({\n heading: strings.spotlightPrompt.startSpotlightHeading,\n text: strings.spotlightPrompt.startSpotlightOnSelfText,\n confirmButtonLabel: strings.spotlightPrompt.startSpotlightConfirmButtonLabel,\n cancelButtonLabel: strings.spotlightPrompt.startSpotlightCancelButtonLabel,\n closeButtonLabel: strings.spotlightPrompt.closeSpotlightPromptButtonLabel,\n onConfirm: () => {\n onStartSpotlight();\n setIsPromptOpen(false);\n },\n onCancel: () => setIsPromptOpen(false)\n });\n setIsPromptOpen(true);\n };\n};\n\nconst getStopLocalSpotlightWithPromptCallback = (\n onStopSpotlight: () => void,\n setIsPromptOpen: (isOpen: boolean) => void,\n setPromptProps: (promptProps: PromptProps) => void,\n strings: CallCompositeStrings\n): (() => Promise<void>) => {\n return async (): Promise<void> => {\n setPromptProps({\n heading: strings.spotlightPrompt.stopSpotlightOnSelfHeading,\n text: strings.spotlightPrompt.stopSpotlightOnSelfText,\n confirmButtonLabel: strings.spotlightPrompt.stopSpotlightOnSelfConfirmButtonLabel,\n cancelButtonLabel: strings.spotlightPrompt.stopSpotlightCancelButtonLabel,\n onConfirm: () => {\n onStopSpotlight();\n setIsPromptOpen(false);\n },\n onCancel: () => setIsPromptOpen(false)\n });\n setIsPromptOpen(true);\n };\n};\n\n/**\n * @internal\n */\nexport const useRemoteSpotlightCallbacksWithPrompt = (\n onStartRemoteSpotlight?: (userIds: string[]) => Promise<void>,\n onStopRemoteSpotlight?: (userIds: string[]) => Promise<void>,\n setIsPromptOpen?: (isOpen: boolean) => void,\n setPromptProps?: (promptProps: PromptProps) => void\n): {\n onStartRemoteSpotlightWithPrompt?: (userIds: string[]) => Promise<void>;\n onStopRemoteSpotlightWithPrompt?: (userIds: string[]) => Promise<void>;\n} => {\n const strings = useLocale().strings.call;\n\n return useMemo(() => {\n if (!setIsPromptOpen || !setPromptProps) {\n return {\n onStartRemoteSpotlightWithPrompt: onStartRemoteSpotlight,\n onStopRemoteSpotlightWithPrompt: onStopRemoteSpotlight\n };\n }\n return {\n onStartRemoteSpotlightWithPrompt: onStartRemoteSpotlight\n ? getStartRemoteSpotlightWithPromptCallback(onStartRemoteSpotlight, setIsPromptOpen, setPromptProps, strings)\n : undefined,\n onStopRemoteSpotlightWithPrompt: onStopRemoteSpotlight\n ? getStopRemoteSpotlightWithPromptCallback(onStopRemoteSpotlight, setIsPromptOpen, setPromptProps, strings)\n : undefined\n };\n }, [onStartRemoteSpotlight, onStopRemoteSpotlight, setIsPromptOpen, setPromptProps, strings]);\n};\n\nconst getStartRemoteSpotlightWithPromptCallback = (\n onStartSpotlight: (userIds: string[]) => void,\n setIsPromptOpen: (isOpen: boolean) => void,\n setPromptProps: (promptProps: PromptProps) => void,\n strings: CallCompositeStrings\n): ((userIds: string[]) => Promise<void>) => {\n return async (userIds: string[]): Promise<void> => {\n if (userIds.length > 1) {\n onStartSpotlight(userIds);\n }\n setPromptProps({\n heading: strings.spotlightPrompt.startSpotlightHeading,\n text: strings.spotlightPrompt.startSpotlightText,\n confirmButtonLabel: strings.spotlightPrompt.startSpotlightConfirmButtonLabel,\n cancelButtonLabel: strings.spotlightPrompt.startSpotlightCancelButtonLabel,\n closeButtonLabel: strings.spotlightPrompt.closeSpotlightPromptButtonLabel,\n onConfirm: () => {\n onStartSpotlight(userIds);\n setIsPromptOpen(false);\n },\n onCancel: () => setIsPromptOpen(false)\n });\n setIsPromptOpen(true);\n };\n};\n\nconst getStopRemoteSpotlightWithPromptCallback = (\n onStopSpotlight: (userIds: string[]) => void,\n setIsPromptOpen: (isOpen: boolean) => void,\n setPromptProps: (promptProps: PromptProps) => void,\n strings: CallCompositeStrings\n): ((userIds: string[]) => Promise<void>) => {\n return async (userIds: string[]): Promise<void> => {\n if (userIds.length > 1) {\n onStopSpotlight(userIds);\n }\n\n setPromptProps({\n heading: strings.spotlightPrompt.stopSpotlightHeading,\n text: strings.spotlightPrompt.stopSpotlightText,\n confirmButtonLabel: strings.spotlightPrompt.stopSpotlightConfirmButtonLabel,\n cancelButtonLabel: strings.spotlightPrompt.stopSpotlightCancelButtonLabel,\n closeButtonLabel: strings.spotlightPrompt.closeSpotlightPromptButtonLabel,\n onConfirm: () => {\n onStopSpotlight(userIds);\n setIsPromptOpen(false);\n },\n onCancel: () => setIsPromptOpen(false)\n });\n setIsPromptOpen(true);\n };\n};\n\n/**\n * @internal\n */\nexport const useStopAllSpotlightCallbackWithPrompt = (\n stopAllSpotlight?: () => Promise<void>,\n setIsPromptOpen?: (isOpen: boolean) => void,\n setPromptProps?: (promptProps: PromptProps) => void\n): {\n stopAllSpotlightWithPrompt?: (userIds?: string[]) => Promise<void>;\n} => {\n const strings = useLocale().strings.call;\n\n return useMemo(() => {\n if (!setIsPromptOpen || !setPromptProps) {\n return {\n stopAllSpotlightWithPrompt: stopAllSpotlight\n };\n }\n return {\n stopAllSpotlightWithPrompt: stopAllSpotlight\n ? getStopAllSpotlightCallbackWithPromptCallback(stopAllSpotlight, setIsPromptOpen, setPromptProps, strings)\n : undefined\n };\n }, [stopAllSpotlight, setIsPromptOpen, setPromptProps, strings]);\n};\n\nconst getStopAllSpotlightCallbackWithPromptCallback = (\n stopAllSpotlight: () => void,\n setIsPromptOpen: (isOpen: boolean) => void,\n setPromptProps: (promptProps: PromptProps) => void,\n strings: CallCompositeStrings\n): (() => Promise<void>) => {\n return async (): Promise<void> => {\n setPromptProps({\n heading: strings.spotlightPrompt.stopAllSpotlightHeading,\n text: strings.spotlightPrompt.stopAllSpotlightText,\n confirmButtonLabel: strings.spotlightPrompt.stopSpotlightConfirmButtonLabel,\n cancelButtonLabel: strings.spotlightPrompt.stopSpotlightCancelButtonLabel,\n closeButtonLabel: strings.spotlightPrompt.closeSpotlightPromptButtonLabel,\n onConfirm: () => {\n stopAllSpotlight();\n setIsPromptOpen(false);\n },\n onCancel: () => setIsPromptOpen(false)\n });\n setIsPromptOpen(true);\n };\n};\n"]}
@@ -327,7 +327,8 @@
327
327
  "stopAllSpotlightText": "The videos will no longer be highlighted for everyone in the meeting.",
328
328
  "stopSpotlightConfirmButtonLabel": "Stop spotlighting",
329
329
  "stopSpotlightOnSelfConfirmButtonLabel": "Exit spotlight",
330
- "stopSpotlightCancelButtonLabel": "Cancel"
330
+ "stopSpotlightCancelButtonLabel": "Cancel",
331
+ "closeSpotlightPromptButtonLabel": "Close"
331
332
  },
332
333
  "exitSpotlightButtonLabel": "Exit spotlight",
333
334
  "exitSpotlightButtonTooltip": "Exit spotlight",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure/communication-react",
3
- "version": "1.21.0-alpha-202410260016",
3
+ "version": "1.21.0-alpha-202410300016",
4
4
  "sideEffects": false,
5
5
  "description": "React library for building modern communication user experiences utilizing Azure Communication Services",
6
6
  "keywords": [
@@ -55,7 +55,7 @@
55
55
  "uuid": "^9.0.0"
56
56
  },
57
57
  "peerDependencies": {
58
- "@azure/communication-calling": "1.30.1-beta.1",
58
+ "@azure/communication-calling": "1.30.1-beta.2",
59
59
  "@azure/communication-calling-effects": "1.1.1-beta.1",
60
60
  "@azure/communication-chat": "1.6.0-beta.3",
61
61
  "@types/react": ">=16.8.0 <19.0.0",