@azure/communication-react 1.10.1-alpha-202311180013 → 1.10.1-alpha-202311210013
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 +10 -0
- package/dist/dist-cjs/communication-react/index.js +123 -108
- 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-composites/src/composites/CallComposite/CallComposite.js +1 -83
- package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.d.ts +8 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.d.ts +12 -0
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js +99 -4
- package/dist/dist-esm/react-composites/src/composites/CallComposite/utils/Utils.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/common/icons.d.ts +2 -0
- package/dist/dist-esm/react-composites/src/composites/common/icons.js +2 -0
- package/dist/dist-esm/react-composites/src/composites/common/icons.js.map +1 -1
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json +7 -3
- package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json +7 -3
- package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json +7 -3
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json +7 -3
- package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +2 -0
- package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json +7 -3
- package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json +7 -3
- package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json +7 -3
- package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json +7 -3
- package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json +7 -3
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json +7 -3
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json +7 -3
- package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json +7 -3
- package/dist/dist-esm/react-composites/src/composites/localization/locales/nl-NL/strings.json +7 -3
- package/dist/dist-esm/react-composites/src/composites/localization/locales/pl-PL/strings.json +7 -3
- package/dist/dist-esm/react-composites/src/composites/localization/locales/pt-BR/strings.json +7 -3
- package/dist/dist-esm/react-composites/src/composites/localization/locales/ru-RU/strings.json +7 -3
- package/dist/dist-esm/react-composites/src/composites/localization/locales/sv-SE/strings.json +7 -3
- package/dist/dist-esm/react-composites/src/composites/localization/locales/tr-TR/strings.json +7 -3
- package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-CN/strings.json +7 -3
- package/dist/dist-esm/react-composites/src/composites/localization/locales/zh-TW/strings.json +7 -3
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/utils/Utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CallAdapterState, CallCompositePage, END_CALL_PAGES } from '../adapter/CallAdapter';\nimport { _isInCall, _isPreviewOn, _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport { CallControlOptions } from '../types/CallControlOptions';\nimport { CallState, RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { isPhoneNumberIdentifier } from '@azure/communication-common';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { EnvironmentInfo } from '@azure/communication-calling';\nimport { AdapterStateModifier } from '../adapter/AzureCommunicationCallAdapter';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundEffectsDependency } from '@internal/calling-component-bindings';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundEffect } from '../adapter/CallAdapter';\nimport { VideoDeviceInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoEffectProcessor } from '@azure/communication-calling';\n\nconst ACCESS_DENIED_TEAMS_MEETING_SUB_CODE = 5854;\nconst REMOTE_PSTN_USER_HUNG_UP = 560000;\nconst REMOVED_FROM_CALL_SUB_CODES = [5000, 5300, REMOTE_PSTN_USER_HUNG_UP];\n\n/**\n * @private\n */\nexport const isCameraOn = (state: CallAdapterState): boolean => {\n if (state.call) {\n const stream = state.call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video');\n return !!stream;\n } else {\n if (state.devices.selectedCamera) {\n const previewOn = _isPreviewOn(state.devices);\n return previewOn;\n }\n }\n return false;\n};\n\n/**\n * Reduce the set of call controls visible on mobile.\n * For example do not show screenshare button.\n *\n * @private\n */\nexport const reduceCallControlsForMobile = (\n callControlOptions: CallControlOptions | boolean | undefined\n): CallControlOptions | false => {\n if (callControlOptions === false) {\n return false;\n }\n\n // Ensure call controls a valid object.\n const reduceCallControlOptions = callControlOptions === true ? {} : callControlOptions || {};\n\n // Set to compressed mode when composite is optimized for mobile\n reduceCallControlOptions.displayType = 'compact';\n\n // Do not show screen share button when composite is optimized for mobile unless the developer\n // has explicitly opted in.\n if (reduceCallControlOptions.screenShareButton !== true) {\n reduceCallControlOptions.screenShareButton = false;\n }\n\n return reduceCallControlOptions;\n};\n\nenum CallEndReasons {\n LEFT_CALL,\n ACCESS_DENIED,\n REMOVED_FROM_CALL,\n ROOM_NOT_FOUND,\n ROOM_NOT_VALID,\n NO_PERMISSION_TO_JOIN_ROOM,\n REMOVED_PERMISSION_TO_JOIN_ROOM\n}\n\nconst getCallEndReason = (call: CallState): CallEndReasons => {\n const remoteParticipantsEndedArray = Array.from(Object.values(call.remoteParticipantsEnded));\n /**\n * Handle the special case in a PSTN call where removing the last user kicks the caller out of the call.\n * The code and subcode is the same as when a user is removed from a teams interop call.\n * Hence, we look at the last remote participant removed to determine if the last participant removed was a phone number.\n * If yes, the caller was kicked out of the call, but we need to show them that they left the call.\n * Note: This check will only work for 1:1 PSTN Calls. The subcode is different for 1:N PSTN calls, and we do not need to handle that case.\n */\n if (\n remoteParticipantsEndedArray.length === 1 &&\n isPhoneNumberIdentifier(remoteParticipantsEndedArray[0].identifier) &&\n call.callEndReason?.subCode !== REMOTE_PSTN_USER_HUNG_UP\n ) {\n return CallEndReasons.LEFT_CALL;\n }\n\n if (call.callEndReason?.subCode && call.callEndReason.subCode === ACCESS_DENIED_TEAMS_MEETING_SUB_CODE) {\n return CallEndReasons.ACCESS_DENIED;\n }\n\n if (call.callEndReason?.subCode && REMOVED_FROM_CALL_SUB_CODES.includes(call.callEndReason.subCode)) {\n return CallEndReasons.REMOVED_FROM_CALL;\n }\n\n if (call.callEndReason) {\n // No error codes match, assume the user simply left the call regularly\n return CallEndReasons.LEFT_CALL;\n }\n\n throw new Error('No matching call end reason');\n};\n\n/**\n * type definition for conditional-compilation\n */\ntype GetCallCompositePageFunction = ((\n call: CallState | undefined,\n previousCall: CallState | undefined\n) => CallCompositePage) &\n ((\n call: CallState | undefined,\n previousCall: CallState | undefined,\n /* @conditional-compile-remove(unsupported-browser) */ unsupportedBrowserInfo?: {\n environmentInfo?: EnvironmentInfo;\n unsupportedBrowserVersionOptedIn?: boolean;\n },\n /* @conditional-compile-remove(call-transfer) */ transferCall?: CallState\n ) => CallCompositePage);\n/**\n * Get the current call composite page based on the current call composite state\n *\n * @param Call - The current call state\n * @param previousCall - The state of the most recent previous call that has ended.\n *\n * @remarks - The previousCall state is needed to determine if the call has ended.\n * When the call ends a new call object is created, and so we must lookback at the\n * previous call state to understand how the call has ended. If there is no previous\n * call we know that this is a fresh call and can display the configuration page.\n *\n * @private\n */\nexport const getCallCompositePage: GetCallCompositePageFunction = (\n call,\n previousCall?,\n unsupportedBrowserInfo?,\n transferCall?: CallState\n): CallCompositePage => {\n /* @conditional-compile-remove(unsupported-browser) */\n if (\n isUnsupportedEnvironment(\n unsupportedBrowserInfo.environmentInfo,\n unsupportedBrowserInfo.unsupportedBrowserVersionOptedIn\n )\n ) {\n return 'unsupportedEnvironment';\n }\n\n /* @conditional-compile-remove(call-transfer) */\n if (transferCall !== undefined) {\n return 'transferring';\n }\n\n if (call) {\n // Must check for ongoing call *before* looking at any previous calls.\n // If the composite completes one call and joins another, the previous calls\n // will be populated, but not relevant for determining the page.\n\n // `_isInLobbyOrConnecting` needs to be checked first because `_isInCall` also returns true when call is in lobby.\n if (_isInLobbyOrConnecting(call?.state)) {\n return 'lobby';\n // `LocalHold` needs to be checked before `isInCall` since it is also a state that's considered in call.\n } else if (call?.state === 'LocalHold') {\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n return 'hold';\n return 'call';\n } else if (call?.state === 'Disconnecting') {\n return 'leaving';\n } else if (_isInCall(call?.state)) {\n return 'call';\n } else {\n // When the call object has been constructed after clicking , but before 'connecting' has been\n // set on the call object, we continue to show the configuration screen.\n // The call object does not correctly reflect local device state until `call.state` moves to `connecting`.\n // Moving to the 'lobby' page too soon leads to components that depend on the `call` object to show incorrect\n // transitional state.\n return 'configuration';\n }\n }\n\n if (previousCall) {\n const reason = getCallEndReason(previousCall);\n switch (reason) {\n case CallEndReasons.ACCESS_DENIED:\n return 'accessDeniedTeamsMeeting';\n case CallEndReasons.REMOVED_FROM_CALL:\n return 'removedFromCall';\n case CallEndReasons.LEFT_CALL:\n if (previousCall.diagnostics.network.latest.noNetwork) {\n return 'joinCallFailedDueToNoNetwork';\n }\n return 'leftCall';\n }\n }\n\n // No call state - show starting page (configuration)\n return 'configuration';\n};\n\n/** @private */\nexport const IsCallEndedPage = (\n /**\n * Explicitly listing the pages of this function intentionally.\n * This protects against adding a new composite page that should be marked as an callEndedPage.\n * EndCallPages are used to trigger onCallEnded events so this could easily be missed.\n * When you add a new composite page this will throw a compiler error. If this new page is an\n * EndCallPage ensure you update the END_CALL_PAGES. Afterwards update the `page` parameter\n * type below to allow your new page, i.e. add `| <your new page>\n */\n page: CallCompositePage\n): boolean => END_CALL_PAGES.includes(page);\n\n/**\n * Creates a new call control options object and sets the correct values for disabling\n * the buttons provided in the `disabledControls` array.\n * Returns a new object without changing the original object.\n * @param callControlOptions options for the call control component that need to be modified.\n * @param disabledControls An array of controls to disable.\n * @returns a copy of callControlOptions with disabledControls disabled\n * @private\n */\nexport const disableCallControls = (\n callControlOptions: CallControlOptions | boolean | undefined,\n disabledControls: (keyof CallControlOptions)[]\n): CallControlOptions | boolean | undefined => {\n if (callControlOptions === false) {\n return false;\n }\n // Ensure we clone the prop if it is an object to ensure we do not mutate the original prop.\n let newOptions =\n (callControlOptions instanceof Object ? ({ ...callControlOptions } as CallControlOptions) : callControlOptions) ??\n {};\n if (newOptions === true || newOptions === undefined) {\n newOptions = disabledControls.reduce((acc, key) => {\n acc[key] = { disabled: true };\n return acc;\n }, {});\n } else {\n disabledControls.forEach((key) => {\n if (newOptions[key] !== false) {\n newOptions[key] = { disabled: true };\n }\n });\n }\n return newOptions;\n};\n\n/**\n * Check if a disabled object is provided for a button and returns if the button is disabled.\n * A button is only disabled if is explicitly set to disabled.\n *\n * @param option\n * @returns whether a button is disabled\n * @private\n */\nexport const isDisabled = (option: boolean | { disabled: boolean } | undefined): boolean => {\n if (option === undefined || typeof option === 'boolean') {\n return false;\n }\n\n return option.disabled;\n};\n\n/* @conditional-compile-remove(call-readiness) */\n/**\n * @returns Permissions state for the camera.\n */\nconst queryCameraPermissionFromPermissionsAPI = async (): Promise<PermissionState | 'unsupported'> => {\n try {\n return (await navigator.permissions.query({ name: 'camera' as PermissionName })).state;\n } catch (e) {\n console.info('permissions API is not supported by browser', e);\n return 'unsupported';\n }\n};\n\n/* @conditional-compile-remove(call-readiness) */\n/**\n * @returns Permissions state for the microphone.\n */\nconst queryMicrophonePermissionFromPermissionsAPI = async (): Promise<PermissionState | 'unsupported'> => {\n try {\n return (await navigator.permissions.query({ name: 'microphone' as PermissionName })).state;\n } catch (e) {\n console.info('permissions API is not supported by browser', e);\n return 'unsupported';\n }\n};\n\n/* @conditional-compile-remove(call-readiness) */\n/**\n *\n * This function uses permission API to determine if device permission state is granted, prompt or denied\n * @returns whether device permission state is granted, prompt or denied\n * If permission API is not supported on this browser, permission state is set to unsupported.\n * @private\n */\nexport const getDevicePermissionState = async (\n setVideoState: (state: PermissionState | 'unsupported') => void,\n setAudioState: (state: PermissionState | 'unsupported') => void\n): Promise<void> => {\n const [cameraResult, microphoneResult] = await Promise.all([\n queryCameraPermissionFromPermissionsAPI(),\n queryMicrophonePermissionFromPermissionsAPI()\n ]);\n setVideoState(cameraResult);\n setAudioState(microphoneResult);\n};\n/* @conditional-compile-remove(unsupported-browser) */\nconst isUnsupportedEnvironment = (\n environmentInfo?: EnvironmentInfo,\n unsupportedBrowserVersionOptedIn?: boolean\n): boolean => {\n return !!(\n environmentInfo?.isSupportedBrowser === false ||\n (environmentInfo?.isSupportedBrowserVersion === false && !unsupportedBrowserVersionOptedIn) ||\n environmentInfo?.isSupportedPlatform === false\n );\n};\n\n/**\n * Check if we are using safari browser\n * @private\n */\nexport const _isSafari = (\n environmentInfo: undefined | /* @conditional-compile-remove(unsupported-browser) */ EnvironmentInfo\n): boolean => {\n /* @conditional-compile-remove(unsupported-browser) */\n return environmentInfo?.environment.browser === 'safari';\n return /^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent);\n};\n\n/**\n * @private\n * This is the util function to create a participant modifier for remote participantList\n * It memoize previous original participant items and only update the changed participant\n * It takes in one modifier function to generate one single participant object, it returns undefined if the object keeps unmodified\n */\nexport const createParticipantModifier = (\n createModifiedParticipant: (id: string, participant: RemoteParticipantState) => RemoteParticipantState | undefined\n): AdapterStateModifier => {\n let previousParticipantState:\n | {\n [keys: string]: RemoteParticipantState;\n }\n | undefined = undefined;\n let modifiedParticipants = {};\n const memoizedParticipants: {\n [id: string]: { originalRef: RemoteParticipantState; newParticipant: RemoteParticipantState };\n } = {};\n\n return (state: CallAdapterState) => {\n // if root state is the same, we don't need to update the participants\n if (state.call?.remoteParticipants !== previousParticipantState) {\n modifiedParticipants = {};\n const originalParticipants = state.call?.remoteParticipants;\n for (const key in originalParticipants) {\n const modifiedParticipant = createModifiedParticipant(key, originalParticipants[key]);\n if (modifiedParticipant === undefined) {\n modifiedParticipants[key] = originalParticipants[key];\n continue;\n }\n // Generate the new item if original cached item has been changed\n if (memoizedParticipants[key]?.originalRef !== originalParticipants[key]) {\n memoizedParticipants[key] = {\n newParticipant: modifiedParticipant,\n originalRef: originalParticipants[key]\n };\n }\n\n // the modified participant is always coming from the memoized cache, whether is was refreshed\n // from the previous closure or not\n modifiedParticipants[key] = memoizedParticipants[key].newParticipant;\n }\n\n previousParticipantState = state.call?.remoteParticipants;\n }\n return {\n ...state,\n call: state.call\n ? {\n ...state.call,\n remoteParticipants: modifiedParticipants\n }\n : undefined\n };\n };\n};\n\n/* @conditional-compile-remove(video-background-effects) */\n/** @private */\nexport const getBackgroundEffectFromSelectedEffect = (\n selectedEffect: VideoBackgroundEffect | undefined,\n VideoBackgroundEffectsDependency: VideoBackgroundEffectsDependency\n): VideoEffectProcessor | undefined =>\n selectedEffect?.effectName === 'blur'\n ? VideoBackgroundEffectsDependency.createBackgroundBlurEffect()\n : selectedEffect?.effectName === 'replacement'\n ? VideoBackgroundEffectsDependency.createBackgroundReplacementEffect({\n backgroundImageUrl: selectedEffect.backgroundImageUrl\n })\n : undefined;\n\n/**\n * @remarks this logic should mimic the onToggleCamera in the common call handlers.\n * @private\n */\nexport const getSelectedCameraFromAdapterState = (state: CallAdapterState): VideoDeviceInfo | undefined =>\n state.devices.selectedCamera || state.devices.cameras[0];\n\"../../../../../calling-component-bindings/src\"\"../../../../../calling-stateful-client/src\""]}
|
1
|
+
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../../../../../react-composites/src/composites/CallComposite/utils/Utils.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;AAElC,OAAO,EAAuC,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,sBAAsB,EAAE,sDAA6C;AAGvG,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AActE,MAAM,oCAAoC,GAAG,IAAI,CAAC;AAClD,MAAM,wBAAwB,GAAG,MAAM,CAAC;AACxC,MAAM,2BAA2B,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,wBAAwB,CAAC,CAAC;AAC3E,iDAAiD;AACjD,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,wCAAwC;AACxC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AACrC,wCAAwC;AACxC,MAAM,uBAAuB,GAAG,IAAI,CAAC;AACrC,wCAAwC;AACxC,MAAM,4BAA4B,GAAG,IAAI,CAAC;AAC1C,wCAAwC;AACxC,MAAM,+BAA+B,GAAG,IAAI,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAuB,EAAW,EAAE;IAC7D,IAAI,KAAK,CAAC,IAAI,EAAE;QACd,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,eAAe,KAAK,OAAO,CAAC,CAAC;QACjG,OAAO,CAAC,CAAC,MAAM,CAAC;KACjB;SAAM;QACL,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE;YAChC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC9C,OAAO,SAAS,CAAC;SAClB;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CACzC,kBAA4D,EAChC,EAAE;IAC9B,IAAI,kBAAkB,KAAK,KAAK,EAAE;QAChC,OAAO,KAAK,CAAC;KACd;IAED,uCAAuC;IACvC,MAAM,wBAAwB,GAAG,kBAAkB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,IAAI,EAAE,CAAC;IAE7F,gEAAgE;IAChE,wBAAwB,CAAC,WAAW,GAAG,SAAS,CAAC;IAEjD,8FAA8F;IAC9F,2BAA2B;IAC3B,IAAI,wBAAwB,CAAC,iBAAiB,KAAK,IAAI,EAAE;QACvD,wBAAwB,CAAC,iBAAiB,GAAG,KAAK,CAAC;KACpD;IAED,OAAO,wBAAwB,CAAC;AAClC,CAAC,CAAC;AAEF,IAAK,cAIJ;AAJD,WAAK,cAAc;IACjB,6DAAS,CAAA;IACT,qEAAa,CAAA;IACb,6EAAiB,CAAA;AACnB,CAAC,EAJI,cAAc,KAAd,cAAc,QAIlB;AAED,MAAM,gBAAgB,GAAG,CAAC,IAAe,EAAkB,EAAE;;IAC3D,MAAM,4BAA4B,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAC7F;;;;;;OAMG;IACH,IACE,4BAA4B,CAAC,MAAM,KAAK,CAAC;QACzC,uBAAuB,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACnE,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,MAAK,wBAAwB,EACxD;QACA,OAAO,cAAc,CAAC,SAAS,CAAC;KACjC;IAED,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,KAAI,IAAI,CAAC,aAAa,CAAC,OAAO,KAAK,oCAAoC,EAAE;QACtG,OAAO,cAAc,CAAC,aAAa,CAAC;KACrC;IAED,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,OAAO,KAAI,2BAA2B,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,EAAE;QACnG,OAAO,cAAc,CAAC,iBAAiB,CAAC;KACzC;IAED,IAAI,IAAI,CAAC,aAAa,EAAE;QACtB,uEAAuE;QACvE,OAAO,cAAc,CAAC,SAAS,CAAC;KACjC;IAED,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,MAAuB,EACvB,SAAqB,EACyF,EAAE;;IAChH,IAAI,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC;IAC9C,IAAI,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC;IAC1D,IAAI,sBAAsB,GAAG,KAAK,CAAC;IACnC,IAAI,QAAQ,GAA6B,oBAAoB,CAAC;IAC9D,wCAAwC;IACxC,QAAQ,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa,0CAAE,OAAO,EAAE;QACzC,KAAK,uBAAuB;YAC1B,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBACzC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAC9C,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC;gBACtD,sBAAsB,GAAG,IAAI,CAAC;gBAC9B,QAAQ,GAAG,wBAAwB,CAAC;aACrC;YACD,MAAM;QACR,KAAK,uBAAuB;YAC1B,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBACzC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAC9C,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC;gBACtD,sBAAsB,GAAG,IAAI,CAAC;gBAC9B,QAAQ,GAAG,wBAAwB,CAAC;aACrC;YACD,MAAM;QACR,KAAK,4BAA4B;YAC/B,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBAC7C,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC;gBAClD,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC;gBAC1D,sBAAsB,GAAG,IAAI,CAAC;gBAC9B,QAAQ,GAAG,4BAA4B,CAAC;aACzC;YACD,MAAM;QACR,KAAK,+BAA+B;YAClC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE;gBAChD,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC;gBACrD,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC;gBAC7D,sBAAsB,GAAG,IAAI,CAAC;gBAC9B,QAAQ,GAAG,+BAA+B,CAAC;aAC5C;YACD,MAAM;KACT;IACD,iDAAiD;IACjD,QAAQ,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa,0CAAE,IAAI,EAAE;QACtC,KAAK,kBAAkB;YACrB,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE;gBACzC,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC;gBAC9C,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC;gBAC1D,sBAAsB,GAAG,IAAI,CAAC;gBAC9B,QAAQ,GAAG,wBAAwB,CAAC;aACrC;YACD,MAAM;KACT;IACD,mDAAmD;IACnD,QAAQ,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa,0CAAE,OAAO,EAAE;QACzC,KAAK,KAAK;YACR,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iCAAiC,EAAE;gBACzD,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC;gBAC9D,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC;gBAC1E,sBAAsB,GAAG,IAAI,CAAC;aAC/B;YACD,MAAM;QACR,KAAK,KAAK;YACR,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iDAAiD,EAAE;gBACzE,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC;gBAC9E,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC;gBAC1F,sBAAsB,GAAG,IAAI,CAAC;aAC/B;YACD,MAAM;QACR,KAAK,KAAK;YACR,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE;gBAClD,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC;gBACvD,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC;gBACnE,sBAAsB,GAAG,IAAI,CAAC;aAC/B;YACD,MAAM;QACR,KAAK,KAAK;YACR,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE;gBACrD,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,6BAA6B,CAAC;gBAC1D,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC;gBACtE,sBAAsB,GAAG,IAAI,CAAC;aAC/B;YACD,MAAM;KACT;IACD,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAE,QAAQ,EAAE,CAAC;AAClE,CAAC,CAAC;AAkBF;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAiC,CAChE,IAAI,EACJ,YAAa,EACb,sBAAuB,EACvB,YAAwB,EACL,EAAE;IACrB,sDAAsD;IACtD,IACE,wBAAwB,CACtB,sBAAsB,CAAC,eAAe,EACtC,sBAAsB,CAAC,gCAAgC,CACxD,EACD;QACA,OAAO,wBAAwB,CAAC;KACjC;IAED,gDAAgD;IAChD,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,OAAO,cAAc,CAAC;KACvB;IAED,IAAI,IAAI,EAAE;QACR,sEAAsE;QACtE,4EAA4E;QAC5E,gEAAgE;QAEhE,kHAAkH;QAClH,IAAI,sBAAsB,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,EAAE;YACvC,OAAO,OAAO,CAAC;YACf,wGAAwG;SACzG;aAAM,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,MAAK,WAAW,EAAE;YACtC,6CAA6C,CAAC,mDAAmD;YACjG,OAAO,MAAM,CAAC;YACd,OAAO,MAAM,CAAC;SACf;aAAM,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,MAAK,eAAe,EAAE;YAC1C,OAAO,SAAS,CAAC;SAClB;aAAM,IAAI,SAAS,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,EAAE;YACjC,OAAO,MAAM,CAAC;SACf;aAAM;YACL,8FAA8F;YAC9F,wEAAwE;YACxE,0GAA0G;YAC1G,6GAA6G;YAC7G,sBAAsB;YACtB,OAAO,eAAe,CAAC;SACxB;KACF;IAED,IAAI,YAAY,EAAE;QAChB,MAAM,MAAM,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC9C,QAAQ,MAAM,EAAE;YACd,KAAK,cAAc,CAAC,aAAa;gBAC/B,OAAO,0BAA0B,CAAC;YACpC,KAAK,cAAc,CAAC,iBAAiB;gBACnC,OAAO,iBAAiB,CAAC;YAC3B,KAAK,cAAc,CAAC,SAAS;gBAC3B,IAAI,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE;oBACrD,OAAO,8BAA8B,CAAC;iBACvC;gBACD,OAAO,UAAU,CAAC;SACrB;KACF;IAED,qDAAqD;IACrD,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF,eAAe;AACf,MAAM,CAAC,MAAM,eAAe,GAAG;AAC7B;;;;;;;GAOG;AACH,IAAuB,EACd,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAE5C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,kBAA4D,EAC5D,gBAA8C,EACJ,EAAE;;IAC5C,IAAI,kBAAkB,KAAK,KAAK,EAAE;QAChC,OAAO,KAAK,CAAC;KACd;IACD,4FAA4F;IAC5F,IAAI,UAAU,GACZ,MAAA,CAAC,kBAAkB,YAAY,MAAM,CAAC,CAAC,CAAE,kBAAK,kBAAkB,CAAyB,CAAC,CAAC,CAAC,kBAAkB,CAAC,mCAC/G,EAAE,CAAC;IACL,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,SAAS,EAAE;QACnD,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAChD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;YAC9B,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;SAAM;QACL,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAC/B,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;gBAC7B,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACtC;QACH,CAAC,CAAC,CAAC;KACJ;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAmD,EAAW,EAAE;IACzF,IAAI,MAAM,KAAK,SAAS,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE;QACvD,OAAO,KAAK,CAAC;KACd;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC;AACzB,CAAC,CAAC;AAEF,iDAAiD;AACjD;;GAEG;AACH,MAAM,uCAAuC,GAAG,GAAmD,EAAE;IACnG,IAAI;QACF,OAAO,CAAC,MAAM,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,QAA0B,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;KACxF;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,IAAI,CAAC,6CAA6C,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,aAAa,CAAC;KACtB;AACH,CAAC,CAAA,CAAC;AAEF,iDAAiD;AACjD;;GAEG;AACH,MAAM,2CAA2C,GAAG,GAAmD,EAAE;IACvG,IAAI;QACF,OAAO,CAAC,MAAM,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,YAA8B,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;KAC5F;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,IAAI,CAAC,6CAA6C,EAAE,CAAC,CAAC,CAAC;QAC/D,OAAO,aAAa,CAAC;KACtB;AACH,CAAC,CAAA,CAAC;AAEF,iDAAiD;AACjD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,aAA+D,EAC/D,aAA+D,EAChD,EAAE;IACjB,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACzD,uCAAuC,EAAE;QACzC,2CAA2C,EAAE;KAC9C,CAAC,CAAC;IACH,aAAa,CAAC,YAAY,CAAC,CAAC;IAC5B,aAAa,CAAC,gBAAgB,CAAC,CAAC;AAClC,CAAC,CAAA,CAAC;AACF,sDAAsD;AACtD,MAAM,wBAAwB,GAAG,CAC/B,eAAiC,EACjC,gCAA0C,EACjC,EAAE;IACX,OAAO,CAAC,CAAC,CACP,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,kBAAkB,MAAK,KAAK;QAC7C,CAAC,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,yBAAyB,MAAK,KAAK,IAAI,CAAC,gCAAgC,CAAC;QAC3F,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,mBAAmB,MAAK,KAAK,CAC/C,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,eAAmG,EAC1F,EAAE;IACX,sDAAsD;IACtD,OAAO,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,CAAC,OAAO,MAAK,QAAQ,CAAC;IACzD,OAAO,4CAA4C,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAChF,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,yBAAkH,EAC5F,EAAE;IACxB,IAAI,wBAAwB,GAIZ,SAAS,CAAC;IAC1B,IAAI,oBAAoB,GAAG,EAAE,CAAC;IAC9B,MAAM,oBAAoB,GAEtB,EAAE,CAAC;IAEP,OAAO,CAAC,KAAuB,EAAE,EAAE;;QACjC,sEAAsE;QACtE,IAAI,CAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,kBAAkB,MAAK,wBAAwB,EAAE;YAC/D,oBAAoB,GAAG,EAAE,CAAC;YAC1B,MAAM,oBAAoB,GAAG,MAAA,KAAK,CAAC,IAAI,0CAAE,kBAAkB,CAAC;YAC5D,KAAK,MAAM,GAAG,IAAI,oBAAoB,EAAE;gBACtC,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC;gBACtF,IAAI,mBAAmB,KAAK,SAAS,EAAE;oBACrC,oBAAoB,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;oBACtD,SAAS;iBACV;gBACD,iEAAiE;gBACjE,IAAI,CAAA,MAAA,oBAAoB,CAAC,GAAG,CAAC,0CAAE,WAAW,MAAK,oBAAoB,CAAC,GAAG,CAAC,EAAE;oBACxE,oBAAoB,CAAC,GAAG,CAAC,GAAG;wBAC1B,cAAc,EAAE,mBAAmB;wBACnC,WAAW,EAAE,oBAAoB,CAAC,GAAG,CAAC;qBACvC,CAAC;iBACH;gBAED,8FAA8F;gBAC9F,mCAAmC;gBACnC,oBAAoB,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC;aACtE;YAED,wBAAwB,GAAG,MAAA,KAAK,CAAC,IAAI,0CAAE,kBAAkB,CAAC;SAC3D;QACD,uCACK,KAAK,KACR,IAAI,EAAE,KAAK,CAAC,IAAI;gBACd,CAAC,iCACM,KAAK,CAAC,IAAI,KACb,kBAAkB,EAAE,oBAAoB,IAE5C,CAAC,CAAC,SAAS,IACb;IACJ,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,2DAA2D;AAC3D,eAAe;AACf,MAAM,CAAC,MAAM,qCAAqC,GAAG,CACnD,cAAiD,EACjD,gCAAkE,EAChC,EAAE,CACpC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU,MAAK,MAAM;IACnC,CAAC,CAAC,gCAAgC,CAAC,0BAA0B,EAAE;IAC/D,CAAC,CAAC,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,UAAU,MAAK,aAAa;QAC9C,CAAC,CAAC,gCAAgC,CAAC,iCAAiC,CAAC;YACjE,kBAAkB,EAAE,cAAc,CAAC,kBAAkB;SACtD,CAAC;QACJ,CAAC,CAAC,SAAS,CAAC;AAEhB;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,KAAuB,EAA+B,EAAE,CACxG,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { CallAdapterState, CallCompositePage, END_CALL_PAGES } from '../adapter/CallAdapter';\nimport { _isInCall, _isPreviewOn, _isInLobbyOrConnecting } from '@internal/calling-component-bindings';\nimport { CallControlOptions } from '../types/CallControlOptions';\nimport { CallState, RemoteParticipantState } from '@internal/calling-stateful-client';\nimport { isPhoneNumberIdentifier } from '@azure/communication-common';\n/* @conditional-compile-remove(unsupported-browser) */\nimport { EnvironmentInfo } from '@azure/communication-calling';\nimport { AdapterStateModifier } from '../adapter/AzureCommunicationCallAdapter';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundEffectsDependency } from '@internal/calling-component-bindings';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoBackgroundEffect } from '../adapter/CallAdapter';\nimport { VideoDeviceInfo } from '@azure/communication-calling';\n/* @conditional-compile-remove(video-background-effects) */\nimport { VideoEffectProcessor } from '@azure/communication-calling';\nimport { CompositeLocale } from '../../localization';\nimport { CallCompositeIcons } from '../../common/icons';\n\nconst ACCESS_DENIED_TEAMS_MEETING_SUB_CODE = 5854;\nconst REMOTE_PSTN_USER_HUNG_UP = 560000;\nconst REMOVED_FROM_CALL_SUB_CODES = [5000, 5300, REMOTE_PSTN_USER_HUNG_UP];\n/* @conditional-compile-remove(calling-sounds) */\nconst CALL_REJECTED_CODE = 603;\n/* @conditional-compile-remove(rooms) */\nconst ROOM_NOT_FOUND_SUB_CODE = 5732;\n/* @conditional-compile-remove(rooms) */\nconst ROOM_NOT_VALID_SUB_CODE = 5829;\n/* @conditional-compile-remove(rooms) */\nconst NOT_INVITED_TO_ROOM_SUB_CODE = 5828;\n/* @conditional-compile-remove(rooms) */\nconst INVITE_TO_ROOM_REMOVED_SUB_CODE = 5317;\n\n/**\n * @private\n */\nexport const isCameraOn = (state: CallAdapterState): boolean => {\n if (state.call) {\n const stream = state.call.localVideoStreams.find((stream) => stream.mediaStreamType === 'Video');\n return !!stream;\n } else {\n if (state.devices.selectedCamera) {\n const previewOn = _isPreviewOn(state.devices);\n return previewOn;\n }\n }\n return false;\n};\n\n/**\n * Reduce the set of call controls visible on mobile.\n * For example do not show screenshare button.\n *\n * @private\n */\nexport const reduceCallControlsForMobile = (\n callControlOptions: CallControlOptions | boolean | undefined\n): CallControlOptions | false => {\n if (callControlOptions === false) {\n return false;\n }\n\n // Ensure call controls a valid object.\n const reduceCallControlOptions = callControlOptions === true ? {} : callControlOptions || {};\n\n // Set to compressed mode when composite is optimized for mobile\n reduceCallControlOptions.displayType = 'compact';\n\n // Do not show screen share button when composite is optimized for mobile unless the developer\n // has explicitly opted in.\n if (reduceCallControlOptions.screenShareButton !== true) {\n reduceCallControlOptions.screenShareButton = false;\n }\n\n return reduceCallControlOptions;\n};\n\nenum CallEndReasons {\n LEFT_CALL,\n ACCESS_DENIED,\n REMOVED_FROM_CALL\n}\n\nconst getCallEndReason = (call: CallState): CallEndReasons => {\n const remoteParticipantsEndedArray = Array.from(Object.values(call.remoteParticipantsEnded));\n /**\n * Handle the special case in a PSTN call where removing the last user kicks the caller out of the call.\n * The code and subcode is the same as when a user is removed from a teams interop call.\n * Hence, we look at the last remote participant removed to determine if the last participant removed was a phone number.\n * If yes, the caller was kicked out of the call, but we need to show them that they left the call.\n * Note: This check will only work for 1:1 PSTN Calls. The subcode is different for 1:N PSTN calls, and we do not need to handle that case.\n */\n if (\n remoteParticipantsEndedArray.length === 1 &&\n isPhoneNumberIdentifier(remoteParticipantsEndedArray[0].identifier) &&\n call.callEndReason?.subCode !== REMOTE_PSTN_USER_HUNG_UP\n ) {\n return CallEndReasons.LEFT_CALL;\n }\n\n if (call.callEndReason?.subCode && call.callEndReason.subCode === ACCESS_DENIED_TEAMS_MEETING_SUB_CODE) {\n return CallEndReasons.ACCESS_DENIED;\n }\n\n if (call.callEndReason?.subCode && REMOVED_FROM_CALL_SUB_CODES.includes(call.callEndReason.subCode)) {\n return CallEndReasons.REMOVED_FROM_CALL;\n }\n\n if (call.callEndReason) {\n // No error codes match, assume the user simply left the call regularly\n return CallEndReasons.LEFT_CALL;\n }\n\n throw new Error('No matching call end reason');\n};\n\n/**\n * Helper function for determine strings and icons for end call page\n * @private\n */\nexport const getEndedCallPageProps = (\n locale: CompositeLocale,\n endedCall?: CallState\n): { title: string; moreDetails?: string; disableStartCallButton: boolean; iconName: keyof CallCompositeIcons } => {\n let title = locale.strings.call.leftCallTitle;\n let moreDetails = locale.strings.call.leftCallMoreDetails;\n let disableStartCallButton = false;\n let iconName: keyof CallCompositeIcons = 'NoticePageLeftCall';\n /* @conditional-compile-remove(rooms) */\n switch (endedCall?.callEndReason?.subCode) {\n case ROOM_NOT_FOUND_SUB_CODE:\n if (locale.strings.call.roomNotFoundTitle) {\n title = locale.strings.call.roomNotFoundTitle;\n moreDetails = locale.strings.call.roomNotFoundDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageRoomNotFound';\n }\n break;\n case ROOM_NOT_VALID_SUB_CODE:\n if (locale.strings.call.roomNotValidTitle) {\n title = locale.strings.call.roomNotValidTitle;\n moreDetails = locale.strings.call.roomNotValidDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageRoomNotValid';\n }\n break;\n case NOT_INVITED_TO_ROOM_SUB_CODE:\n if (locale.strings.call.notInvitedToRoomTitle) {\n title = locale.strings.call.notInvitedToRoomTitle;\n moreDetails = locale.strings.call.notInvitedToRoomDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageNotInvitedToRoom';\n }\n break;\n case INVITE_TO_ROOM_REMOVED_SUB_CODE:\n if (locale.strings.call.inviteToRoomRemovedTitle) {\n title = locale.strings.call.inviteToRoomRemovedTitle;\n moreDetails = locale.strings.call.inviteToRoomRemovedDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageInviteToRoomRemoved';\n }\n break;\n }\n /* @conditional-compile-remove(calling-sounds) */\n switch (endedCall?.callEndReason?.code) {\n case CALL_REJECTED_CODE:\n if (locale.strings.call.callRejectedTitle) {\n title = locale.strings.call.callRejectedTitle;\n moreDetails = locale.strings.call.callRejectedMoreDetails;\n disableStartCallButton = true;\n iconName = 'NoticePageCallRejected';\n }\n break;\n }\n /* @conditional-compile-remove(teams-adhoc-call) */\n switch (endedCall?.callEndReason?.subCode) {\n case 10037:\n if (locale.strings.call.participantCouldNotBeReachedTitle) {\n title = locale.strings.call.participantCouldNotBeReachedTitle;\n moreDetails = locale.strings.call.participantCouldNotBeReachedMoreDetails;\n disableStartCallButton = true;\n }\n break;\n case 10124:\n if (locale.strings.call.permissionToReachTargetParticipantNotAllowedTitle) {\n title = locale.strings.call.permissionToReachTargetParticipantNotAllowedTitle;\n moreDetails = locale.strings.call.permissionToReachTargetParticipantNotAllowedMoreDetails;\n disableStartCallButton = true;\n }\n break;\n case 10119:\n if (locale.strings.call.unableToResolveTenantTitle) {\n title = locale.strings.call.unableToResolveTenantTitle;\n moreDetails = locale.strings.call.unableToResolveTenantMoreDetails;\n disableStartCallButton = true;\n }\n break;\n case 10044:\n if (locale.strings.call.participantIdIsMalformedTitle) {\n title = locale.strings.call.participantIdIsMalformedTitle;\n moreDetails = locale.strings.call.participantIdIsMalformedMoreDetails;\n disableStartCallButton = true;\n }\n break;\n }\n return { title, moreDetails, disableStartCallButton, iconName };\n};\n\n/**\n * type definition for conditional-compilation\n */\ntype GetCallCompositePageFunction = ((\n call: CallState | undefined,\n previousCall: CallState | undefined\n) => CallCompositePage) &\n ((\n call: CallState | undefined,\n previousCall: CallState | undefined,\n /* @conditional-compile-remove(unsupported-browser) */ unsupportedBrowserInfo?: {\n environmentInfo?: EnvironmentInfo;\n unsupportedBrowserVersionOptedIn?: boolean;\n },\n /* @conditional-compile-remove(call-transfer) */ transferCall?: CallState\n ) => CallCompositePage);\n/**\n * Get the current call composite page based on the current call composite state\n *\n * @param Call - The current call state\n * @param previousCall - The state of the most recent previous call that has ended.\n *\n * @remarks - The previousCall state is needed to determine if the call has ended.\n * When the call ends a new call object is created, and so we must lookback at the\n * previous call state to understand how the call has ended. If there is no previous\n * call we know that this is a fresh call and can display the configuration page.\n *\n * @private\n */\nexport const getCallCompositePage: GetCallCompositePageFunction = (\n call,\n previousCall?,\n unsupportedBrowserInfo?,\n transferCall?: CallState\n): CallCompositePage => {\n /* @conditional-compile-remove(unsupported-browser) */\n if (\n isUnsupportedEnvironment(\n unsupportedBrowserInfo.environmentInfo,\n unsupportedBrowserInfo.unsupportedBrowserVersionOptedIn\n )\n ) {\n return 'unsupportedEnvironment';\n }\n\n /* @conditional-compile-remove(call-transfer) */\n if (transferCall !== undefined) {\n return 'transferring';\n }\n\n if (call) {\n // Must check for ongoing call *before* looking at any previous calls.\n // If the composite completes one call and joins another, the previous calls\n // will be populated, but not relevant for determining the page.\n\n // `_isInLobbyOrConnecting` needs to be checked first because `_isInCall` also returns true when call is in lobby.\n if (_isInLobbyOrConnecting(call?.state)) {\n return 'lobby';\n // `LocalHold` needs to be checked before `isInCall` since it is also a state that's considered in call.\n } else if (call?.state === 'LocalHold') {\n /* @conditional-compile-remove(PSTN-calls) */ /* @conditional-compile-remove(one-to-n-calling) */\n return 'hold';\n return 'call';\n } else if (call?.state === 'Disconnecting') {\n return 'leaving';\n } else if (_isInCall(call?.state)) {\n return 'call';\n } else {\n // When the call object has been constructed after clicking , but before 'connecting' has been\n // set on the call object, we continue to show the configuration screen.\n // The call object does not correctly reflect local device state until `call.state` moves to `connecting`.\n // Moving to the 'lobby' page too soon leads to components that depend on the `call` object to show incorrect\n // transitional state.\n return 'configuration';\n }\n }\n\n if (previousCall) {\n const reason = getCallEndReason(previousCall);\n switch (reason) {\n case CallEndReasons.ACCESS_DENIED:\n return 'accessDeniedTeamsMeeting';\n case CallEndReasons.REMOVED_FROM_CALL:\n return 'removedFromCall';\n case CallEndReasons.LEFT_CALL:\n if (previousCall.diagnostics.network.latest.noNetwork) {\n return 'joinCallFailedDueToNoNetwork';\n }\n return 'leftCall';\n }\n }\n\n // No call state - show starting page (configuration)\n return 'configuration';\n};\n\n/** @private */\nexport const IsCallEndedPage = (\n /**\n * Explicitly listing the pages of this function intentionally.\n * This protects against adding a new composite page that should be marked as an callEndedPage.\n * EndCallPages are used to trigger onCallEnded events so this could easily be missed.\n * When you add a new composite page this will throw a compiler error. If this new page is an\n * EndCallPage ensure you update the END_CALL_PAGES. Afterwards update the `page` parameter\n * type below to allow your new page, i.e. add `| <your new page>\n */\n page: CallCompositePage\n): boolean => END_CALL_PAGES.includes(page);\n\n/**\n * Creates a new call control options object and sets the correct values for disabling\n * the buttons provided in the `disabledControls` array.\n * Returns a new object without changing the original object.\n * @param callControlOptions options for the call control component that need to be modified.\n * @param disabledControls An array of controls to disable.\n * @returns a copy of callControlOptions with disabledControls disabled\n * @private\n */\nexport const disableCallControls = (\n callControlOptions: CallControlOptions | boolean | undefined,\n disabledControls: (keyof CallControlOptions)[]\n): CallControlOptions | boolean | undefined => {\n if (callControlOptions === false) {\n return false;\n }\n // Ensure we clone the prop if it is an object to ensure we do not mutate the original prop.\n let newOptions =\n (callControlOptions instanceof Object ? ({ ...callControlOptions } as CallControlOptions) : callControlOptions) ??\n {};\n if (newOptions === true || newOptions === undefined) {\n newOptions = disabledControls.reduce((acc, key) => {\n acc[key] = { disabled: true };\n return acc;\n }, {});\n } else {\n disabledControls.forEach((key) => {\n if (newOptions[key] !== false) {\n newOptions[key] = { disabled: true };\n }\n });\n }\n return newOptions;\n};\n\n/**\n * Check if a disabled object is provided for a button and returns if the button is disabled.\n * A button is only disabled if is explicitly set to disabled.\n *\n * @param option\n * @returns whether a button is disabled\n * @private\n */\nexport const isDisabled = (option: boolean | { disabled: boolean } | undefined): boolean => {\n if (option === undefined || typeof option === 'boolean') {\n return false;\n }\n\n return option.disabled;\n};\n\n/* @conditional-compile-remove(call-readiness) */\n/**\n * @returns Permissions state for the camera.\n */\nconst queryCameraPermissionFromPermissionsAPI = async (): Promise<PermissionState | 'unsupported'> => {\n try {\n return (await navigator.permissions.query({ name: 'camera' as PermissionName })).state;\n } catch (e) {\n console.info('permissions API is not supported by browser', e);\n return 'unsupported';\n }\n};\n\n/* @conditional-compile-remove(call-readiness) */\n/**\n * @returns Permissions state for the microphone.\n */\nconst queryMicrophonePermissionFromPermissionsAPI = async (): Promise<PermissionState | 'unsupported'> => {\n try {\n return (await navigator.permissions.query({ name: 'microphone' as PermissionName })).state;\n } catch (e) {\n console.info('permissions API is not supported by browser', e);\n return 'unsupported';\n }\n};\n\n/* @conditional-compile-remove(call-readiness) */\n/**\n *\n * This function uses permission API to determine if device permission state is granted, prompt or denied\n * @returns whether device permission state is granted, prompt or denied\n * If permission API is not supported on this browser, permission state is set to unsupported.\n * @private\n */\nexport const getDevicePermissionState = async (\n setVideoState: (state: PermissionState | 'unsupported') => void,\n setAudioState: (state: PermissionState | 'unsupported') => void\n): Promise<void> => {\n const [cameraResult, microphoneResult] = await Promise.all([\n queryCameraPermissionFromPermissionsAPI(),\n queryMicrophonePermissionFromPermissionsAPI()\n ]);\n setVideoState(cameraResult);\n setAudioState(microphoneResult);\n};\n/* @conditional-compile-remove(unsupported-browser) */\nconst isUnsupportedEnvironment = (\n environmentInfo?: EnvironmentInfo,\n unsupportedBrowserVersionOptedIn?: boolean\n): boolean => {\n return !!(\n environmentInfo?.isSupportedBrowser === false ||\n (environmentInfo?.isSupportedBrowserVersion === false && !unsupportedBrowserVersionOptedIn) ||\n environmentInfo?.isSupportedPlatform === false\n );\n};\n\n/**\n * Check if we are using safari browser\n * @private\n */\nexport const _isSafari = (\n environmentInfo: undefined | /* @conditional-compile-remove(unsupported-browser) */ EnvironmentInfo\n): boolean => {\n /* @conditional-compile-remove(unsupported-browser) */\n return environmentInfo?.environment.browser === 'safari';\n return /^((?!chrome|android|crios|fxios).)*safari/i.test(navigator.userAgent);\n};\n\n/**\n * @private\n * This is the util function to create a participant modifier for remote participantList\n * It memoize previous original participant items and only update the changed participant\n * It takes in one modifier function to generate one single participant object, it returns undefined if the object keeps unmodified\n */\nexport const createParticipantModifier = (\n createModifiedParticipant: (id: string, participant: RemoteParticipantState) => RemoteParticipantState | undefined\n): AdapterStateModifier => {\n let previousParticipantState:\n | {\n [keys: string]: RemoteParticipantState;\n }\n | undefined = undefined;\n let modifiedParticipants = {};\n const memoizedParticipants: {\n [id: string]: { originalRef: RemoteParticipantState; newParticipant: RemoteParticipantState };\n } = {};\n\n return (state: CallAdapterState) => {\n // if root state is the same, we don't need to update the participants\n if (state.call?.remoteParticipants !== previousParticipantState) {\n modifiedParticipants = {};\n const originalParticipants = state.call?.remoteParticipants;\n for (const key in originalParticipants) {\n const modifiedParticipant = createModifiedParticipant(key, originalParticipants[key]);\n if (modifiedParticipant === undefined) {\n modifiedParticipants[key] = originalParticipants[key];\n continue;\n }\n // Generate the new item if original cached item has been changed\n if (memoizedParticipants[key]?.originalRef !== originalParticipants[key]) {\n memoizedParticipants[key] = {\n newParticipant: modifiedParticipant,\n originalRef: originalParticipants[key]\n };\n }\n\n // the modified participant is always coming from the memoized cache, whether is was refreshed\n // from the previous closure or not\n modifiedParticipants[key] = memoizedParticipants[key].newParticipant;\n }\n\n previousParticipantState = state.call?.remoteParticipants;\n }\n return {\n ...state,\n call: state.call\n ? {\n ...state.call,\n remoteParticipants: modifiedParticipants\n }\n : undefined\n };\n };\n};\n\n/* @conditional-compile-remove(video-background-effects) */\n/** @private */\nexport const getBackgroundEffectFromSelectedEffect = (\n selectedEffect: VideoBackgroundEffect | undefined,\n VideoBackgroundEffectsDependency: VideoBackgroundEffectsDependency\n): VideoEffectProcessor | undefined =>\n selectedEffect?.effectName === 'blur'\n ? VideoBackgroundEffectsDependency.createBackgroundBlurEffect()\n : selectedEffect?.effectName === 'replacement'\n ? VideoBackgroundEffectsDependency.createBackgroundReplacementEffect({\n backgroundImageUrl: selectedEffect.backgroundImageUrl\n })\n : undefined;\n\n/**\n * @remarks this logic should mimic the onToggleCamera in the common call handlers.\n * @private\n */\nexport const getSelectedCameraFromAdapterState = (state: CallAdapterState): VideoDeviceInfo | undefined =>\n state.devices.selectedCamera || state.devices.cameras[0];\n\"../../../../../calling-component-bindings/src\"\"../../../../../calling-stateful-client/src\""]}
|
@@ -67,6 +67,7 @@ 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
|
+
NoticePageCallRejected?: JSX.Element | undefined;
|
70
71
|
NoticePageNotInvitedToRoom?: JSX.Element | undefined;
|
71
72
|
NoticePageRoomNotFound?: JSX.Element | undefined;
|
72
73
|
NoticePageRoomNotValid?: JSX.Element | undefined;
|
@@ -222,6 +223,7 @@ export declare type CallCompositeIcons = {
|
|
222
223
|
NoticePageJoinCallFailedDueToNoNetwork?: JSX.Element;
|
223
224
|
NoticePageLeftCall?: JSX.Element;
|
224
225
|
NoticePageRemovedFromCall?: JSX.Element;
|
226
|
+
NoticePageCallRejected?: JSX.Element;
|
225
227
|
NoticePageNotInvitedToRoom?: JSX.Element;
|
226
228
|
NoticePageRoomNotFound?: JSX.Element;
|
227
229
|
NoticePageRoomNotValid?: JSX.Element;
|
@@ -57,6 +57,8 @@ export const COMPOSITE_ONLY_ICONS = {
|
|
57
57
|
NoticePageRoomNotFound: React.createElement(Info20Filled, null),
|
58
58
|
/* @conditional-compile-remove(rooms) */
|
59
59
|
NoticePageRoomNotValid: React.createElement(Info20Filled, null),
|
60
|
+
/* @conditional-compile-remove(calling-sounds) */
|
61
|
+
NoticePageCallRejected: React.createElement(Info20Filled, null),
|
60
62
|
/* @conditional-compile-remove(file-sharing) */
|
61
63
|
SendBoxAttachFile: React.createElement(Attach20Regular, null),
|
62
64
|
/* @conditional-compile-remove(PSTN-calls) */
|
@@ -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 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(rooms) */\n NoticePageNotInvitedToRoom: <Info20Filled />,\n /* @conditional-compile-remove(rooms) */\n NoticePageRoomNotFound: <Info20Filled />,\n /* @conditional-compile-remove(rooms) */\n NoticePageRoomNotValid: <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 NoticePageInviteToRoomRemoved: <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 /* @conditional-compile-remove(rooms) */\n NoticePageNotInvitedToRoom?: JSX.Element;\n /* @conditional-compile-remove(rooms) */\n NoticePageRoomNotFound?: JSX.Element;\n /* @conditional-compile-remove(rooms) */\n NoticePageRoomNotValid?: 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 NoticePageInviteToRoomRemoved?: 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\""]}
|
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(rooms) */\n NoticePageNotInvitedToRoom: <Info20Filled />,\n /* @conditional-compile-remove(rooms) */\n NoticePageRoomNotFound: <Info20Filled />,\n /* @conditional-compile-remove(rooms) */\n NoticePageRoomNotValid: <Info20Filled />,\n /* @conditional-compile-remove(calling-sounds) */\n NoticePageCallRejected: <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 NoticePageInviteToRoomRemoved: <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 /* @conditional-compile-remove(calling-sounds) */\n NoticePageCallRejected?: JSX.Element;\n /* @conditional-compile-remove(rooms) */\n NoticePageNotInvitedToRoom?: JSX.Element;\n /* @conditional-compile-remove(rooms) */\n NoticePageRoomNotFound?: JSX.Element;\n /* @conditional-compile-remove(rooms) */\n NoticePageRoomNotValid?: 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 NoticePageInviteToRoomRemoved?: 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\""]}
|
package/dist/dist-esm/react-composites/src/composites/localization/locales/ar-SA/strings.json
CHANGED
@@ -47,8 +47,8 @@
|
|
47
47
|
"mutedMessage": "تم كتم صوتك",
|
48
48
|
"networkReconnectMoreDetails": "يبدو أنه قد حدث خطأ ما. نحاول معاودة الاتصال.",
|
49
49
|
"networkReconnectTitle": "انتظار",
|
50
|
-
"notInvitedToRoomDetails": "
|
51
|
-
"notInvitedToRoomTitle": "
|
50
|
+
"notInvitedToRoomDetails": "لا يمكنك الانضمام إلى هذه الغرفة لأنه ليس لديك دعوة.",
|
51
|
+
"notInvitedToRoomTitle": "غير مدعو إلى الغرفة",
|
52
52
|
"peopleButtonLabel": "الأشخاص",
|
53
53
|
"selectedPeopleButtonLabel": "تم تحديد زر الأشخاص",
|
54
54
|
"peoplePaneTitle": "الأشخاص",
|
@@ -62,8 +62,12 @@
|
|
62
62
|
"removeMenuLabel": "إزالة",
|
63
63
|
"returnToCallButtonAriaDescription": "رجوع إلى المكالمة",
|
64
64
|
"returnToCallButtonAriaLabel": "رجوع",
|
65
|
-
"roomNotFoundDetails": "معرف الغرفة الذي تم
|
65
|
+
"roomNotFoundDetails": "تعذر العثور على معرف الغرفة الذي تم توفيره.",
|
66
66
|
"roomNotFoundTitle": "لم يتم العثور على الغرفة",
|
67
|
+
"roomNotValidDetails": "هذه الغرفة غير صالحة في الوقت الحالي.",
|
68
|
+
"roomNotValidTitle": "الغرفة غير صالحة",
|
69
|
+
"inviteToRoomRemovedDetails": "تمت إزالة دعوتك للانضمام إلى هذه الغرفة.",
|
70
|
+
"inviteToRoomRemovedTitle": "تمت إزالة الدعوة إلى الغرفة",
|
67
71
|
"soundLabel": "صوت",
|
68
72
|
"noMicrophonesLabel": "لم يتم العثور على ميكروفونات",
|
69
73
|
"noSpeakersLabel": "لم يتم العثور على سماعات",
|
package/dist/dist-esm/react-composites/src/composites/localization/locales/cs-CZ/strings.json
CHANGED
@@ -47,8 +47,8 @@
|
|
47
47
|
"mutedMessage": "Jste ztlumení",
|
48
48
|
"networkReconnectMoreDetails": "Vypadá to, že se něco nepovedlo. Pokoušíme se znovu připojit k hovoru.",
|
49
49
|
"networkReconnectTitle": "Vydržte",
|
50
|
-
"notInvitedToRoomDetails": "
|
51
|
-
"notInvitedToRoomTitle": "
|
50
|
+
"notInvitedToRoomDetails": "K této místnosti se nemůžete připojit, protože nemáte pozvánku.",
|
51
|
+
"notInvitedToRoomTitle": "Nepozván(a) do místnosti",
|
52
52
|
"peopleButtonLabel": "Lidé",
|
53
53
|
"selectedPeopleButtonLabel": "Vybráno tlačítko Lidé",
|
54
54
|
"peoplePaneTitle": "Lidé",
|
@@ -62,8 +62,12 @@
|
|
62
62
|
"removeMenuLabel": "Odebrat",
|
63
63
|
"returnToCallButtonAriaDescription": "Pokračovat v hovoru",
|
64
64
|
"returnToCallButtonAriaLabel": "Zpět",
|
65
|
-
"roomNotFoundDetails": "Zadané ID místnosti
|
65
|
+
"roomNotFoundDetails": "Zadané ID místnosti se nepovedlo najít.",
|
66
66
|
"roomNotFoundTitle": "Místnost nebyla nalezena",
|
67
|
+
"roomNotValidDetails": "Tato místnost není v tuto chvíli platná.",
|
68
|
+
"roomNotValidTitle": "Neplatná místnost",
|
69
|
+
"inviteToRoomRemovedDetails": "Vaše pozvánka k připojení k této místnosti se odebrala.",
|
70
|
+
"inviteToRoomRemovedTitle": "Pozvánka do místnosti se odebrala",
|
67
71
|
"soundLabel": "Zvuk",
|
68
72
|
"noMicrophonesLabel": "Nenašly se žádné mikrofony",
|
69
73
|
"noSpeakersLabel": "Nenašly se žádné reproduktory",
|
package/dist/dist-esm/react-composites/src/composites/localization/locales/de-DE/strings.json
CHANGED
@@ -47,8 +47,8 @@
|
|
47
47
|
"mutedMessage": "Sie sind stummgeschaltet.",
|
48
48
|
"networkReconnectMoreDetails": "Offensichtlich ist etwas schief gegangen. Wir versuchen, Sie wieder mit dem Anruf zu verbinden.",
|
49
49
|
"networkReconnectTitle": "Einen Augenblick bitte",
|
50
|
-
"notInvitedToRoomDetails": "Sie
|
51
|
-
"notInvitedToRoomTitle": "
|
50
|
+
"notInvitedToRoomDetails": "Sie können diesem Raum ohne Einladung nicht beitreten.",
|
51
|
+
"notInvitedToRoomTitle": "Nicht zum Raum eingeladen",
|
52
52
|
"peopleButtonLabel": "Kontakte",
|
53
53
|
"selectedPeopleButtonLabel": "Schaltfläche \"Personen\" ausgewählt",
|
54
54
|
"peoplePaneTitle": "Kontakte",
|
@@ -62,8 +62,12 @@
|
|
62
62
|
"removeMenuLabel": "Entfernen",
|
63
63
|
"returnToCallButtonAriaDescription": "Zurück zum Anruf",
|
64
64
|
"returnToCallButtonAriaLabel": "Zurück",
|
65
|
-
"roomNotFoundDetails": "Die angegebene Raum-ID
|
65
|
+
"roomNotFoundDetails": "Die angegebene Raum-ID wurde nicht gefunden.",
|
66
66
|
"roomNotFoundTitle": "Raum nicht gefunden",
|
67
|
+
"roomNotValidDetails": "Dieser Raum ist zurzeit nicht gültig.",
|
68
|
+
"roomNotValidTitle": "Raum ungültig",
|
69
|
+
"inviteToRoomRemovedDetails": "Ihre Einladung, diesem Raum beizutreten, wurde entfernt.",
|
70
|
+
"inviteToRoomRemovedTitle": "Einladung zum Raum entfernt",
|
67
71
|
"soundLabel": "Sound",
|
68
72
|
"noMicrophonesLabel": "Keine Mikrofone gefunden",
|
69
73
|
"noSpeakersLabel": "Keine Lautsprecher gefunden",
|
package/dist/dist-esm/react-composites/src/composites/localization/locales/en-GB/strings.json
CHANGED
@@ -47,8 +47,8 @@
|
|
47
47
|
"mutedMessage": "You're muted",
|
48
48
|
"networkReconnectMoreDetails": "Looks like something went wrong. We're trying to get back into the call.",
|
49
49
|
"networkReconnectTitle": "Hold on",
|
50
|
-
"notInvitedToRoomDetails": "You
|
51
|
-
"notInvitedToRoomTitle": "
|
50
|
+
"notInvitedToRoomDetails": "You are not able to join this room because you do not have an invite.",
|
51
|
+
"notInvitedToRoomTitle": "Not invited to room",
|
52
52
|
"peopleButtonLabel": "People",
|
53
53
|
"selectedPeopleButtonLabel": "People Button Selected",
|
54
54
|
"peoplePaneTitle": "People",
|
@@ -62,8 +62,12 @@
|
|
62
62
|
"removeMenuLabel": "Remove",
|
63
63
|
"returnToCallButtonAriaDescription": "Return to Call",
|
64
64
|
"returnToCallButtonAriaLabel": "Back",
|
65
|
-
"roomNotFoundDetails": "
|
65
|
+
"roomNotFoundDetails": "The room ID provided could not be found.",
|
66
66
|
"roomNotFoundTitle": "Room not found",
|
67
|
+
"roomNotValidDetails": "This room is not valid at this current time.",
|
68
|
+
"roomNotValidTitle": "Room not valid",
|
69
|
+
"inviteToRoomRemovedDetails": "Your invite to join this room was removed.",
|
70
|
+
"inviteToRoomRemovedTitle": "Invite to room removed",
|
67
71
|
"soundLabel": "Sound",
|
68
72
|
"noMicrophonesLabel": "No microphones found",
|
69
73
|
"noSpeakersLabel": "No speakers found",
|
package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json
CHANGED
@@ -116,6 +116,8 @@
|
|
116
116
|
"captionsBannerMoreButtonCallingLabel": "More",
|
117
117
|
"captionsBannerMoreButtonTooltip": "More options",
|
118
118
|
"dismissModalAriaLabel": "Local and remote picture and picture, press enter to return to call",
|
119
|
+
"callRejectedTitle": "The call could not be completed",
|
120
|
+
"callRejectedMoreDetails": "The person you are trying to reach is unavailable. Please try again later.",
|
119
121
|
"spokenLanguageStrings": {
|
120
122
|
"ar-ae": "Arabic - U.A.E.",
|
121
123
|
"ar-sa": "Arabic - Saudi Arabia",
|
package/dist/dist-esm/react-composites/src/composites/localization/locales/es-ES/strings.json
CHANGED
@@ -47,8 +47,8 @@
|
|
47
47
|
"mutedMessage": "Estás silenciado",
|
48
48
|
"networkReconnectMoreDetails": "Parece que hubo un problema. Estamos intentando reconectar la llamada.",
|
49
49
|
"networkReconnectTitle": "Espere",
|
50
|
-
"notInvitedToRoomDetails": "No
|
51
|
-
"notInvitedToRoomTitle": "
|
50
|
+
"notInvitedToRoomDetails": "No puede unirse a esta sala porque no tiene una invitación.",
|
51
|
+
"notInvitedToRoomTitle": "No invitado a la sala",
|
52
52
|
"peopleButtonLabel": "Contactos",
|
53
53
|
"selectedPeopleButtonLabel": "Se seleccionó el botón Contactos",
|
54
54
|
"peoplePaneTitle": "Contactos",
|
@@ -62,8 +62,12 @@
|
|
62
62
|
"removeMenuLabel": "Quitar",
|
63
63
|
"returnToCallButtonAriaDescription": "Volver a llamada",
|
64
64
|
"returnToCallButtonAriaLabel": "Volver",
|
65
|
-
"roomNotFoundDetails": "
|
65
|
+
"roomNotFoundDetails": "No se encontró el Id. de sala proporcionado.",
|
66
66
|
"roomNotFoundTitle": "No se ha encontrado la sala",
|
67
|
+
"roomNotValidDetails": "Esta sala no es válida en este momento.",
|
68
|
+
"roomNotValidTitle": "Sala no válida",
|
69
|
+
"inviteToRoomRemovedDetails": "Se ha quitado la invitación para unirse a esta sala.",
|
70
|
+
"inviteToRoomRemovedTitle": "Invitación a sala quitada",
|
67
71
|
"soundLabel": "Sonido",
|
68
72
|
"noMicrophonesLabel": "No se han encontrado micrófonos",
|
69
73
|
"noSpeakersLabel": "No se han encontrado altavoces",
|
package/dist/dist-esm/react-composites/src/composites/localization/locales/fi-FI/strings.json
CHANGED
@@ -47,8 +47,8 @@
|
|
47
47
|
"mutedMessage": "Mikrofonisi on mykistetty",
|
48
48
|
"networkReconnectMoreDetails": "Vaikuttaa siltä, että tapahtui virhe. Sinua yritetään saada takaisin mukaan puheluun.",
|
49
49
|
"networkReconnectTitle": "Odota",
|
50
|
-
"notInvitedToRoomDetails": "
|
51
|
-
"notInvitedToRoomTitle": "
|
50
|
+
"notInvitedToRoomDetails": "Et voi liittyä tähän huoneeseen, koska sinulla ei ole kutsua.",
|
51
|
+
"notInvitedToRoomTitle": "Ei kutsuttu huoneeseen",
|
52
52
|
"peopleButtonLabel": "Ihmiset",
|
53
53
|
"selectedPeopleButtonLabel": "Henkilöt-painike valittu",
|
54
54
|
"peoplePaneTitle": "Ihmiset",
|
@@ -62,8 +62,12 @@
|
|
62
62
|
"removeMenuLabel": "Poista",
|
63
63
|
"returnToCallButtonAriaDescription": "Palaa puheluun",
|
64
64
|
"returnToCallButtonAriaLabel": "Takaisin",
|
65
|
-
"roomNotFoundDetails": "
|
65
|
+
"roomNotFoundDetails": "Annettua huonetunnusta ei löydy.",
|
66
66
|
"roomNotFoundTitle": "Tilaa ei löytynyt",
|
67
|
+
"roomNotValidDetails": "Tämä huone ei ole kelvollinen tällä hetkellä.",
|
68
|
+
"roomNotValidTitle": "Huone ei ole kelvollinen",
|
69
|
+
"inviteToRoomRemovedDetails": "Kutsusi liittyä tähän huoneeseen poistettiin.",
|
70
|
+
"inviteToRoomRemovedTitle": "Kutsu huoneeseen poistettu",
|
67
71
|
"soundLabel": "Ääni",
|
68
72
|
"noMicrophonesLabel": "Mikrofoneja ei löytynyt",
|
69
73
|
"noSpeakersLabel": "Kaiuttimia ei löytynyt",
|
package/dist/dist-esm/react-composites/src/composites/localization/locales/fr-FR/strings.json
CHANGED
@@ -47,8 +47,8 @@
|
|
47
47
|
"mutedMessage": "Le son de votre micro est désactivé.",
|
48
48
|
"networkReconnectMoreDetails": "On dirait qu'une erreur est survenue. Nous tentons de vous reconnecter à l’appel.",
|
49
49
|
"networkReconnectTitle": "Patience",
|
50
|
-
"notInvitedToRoomDetails": "Vous
|
51
|
-
"notInvitedToRoomTitle": "
|
50
|
+
"notInvitedToRoomDetails": "Vous ne pouvez pas rejoindre cette salle, car vous n’avez pas d’invitation.",
|
51
|
+
"notInvitedToRoomTitle": "N’a pas été invité à la salle",
|
52
52
|
"peopleButtonLabel": "Personnes",
|
53
53
|
"selectedPeopleButtonLabel": "Bouton Contacts sélectionné",
|
54
54
|
"peoplePaneTitle": "Personnes",
|
@@ -62,8 +62,12 @@
|
|
62
62
|
"removeMenuLabel": "Supprimer",
|
63
63
|
"returnToCallButtonAriaDescription": "Revenir à l’appel",
|
64
64
|
"returnToCallButtonAriaLabel": "Précédent",
|
65
|
-
"roomNotFoundDetails": "L’ID de salle fourni
|
65
|
+
"roomNotFoundDetails": "L’ID de la salle fourni est introuvable.",
|
66
66
|
"roomNotFoundTitle": "Salle introuvable",
|
67
|
+
"roomNotValidDetails": "Cette salle n’est pas valide pour l’instant.",
|
68
|
+
"roomNotValidTitle": "Salle non valide",
|
69
|
+
"inviteToRoomRemovedDetails": "Votre invitation à rejoindre cette salle a été supprimée.",
|
70
|
+
"inviteToRoomRemovedTitle": "Invitation à la salle supprimée",
|
67
71
|
"soundLabel": "Son",
|
68
72
|
"noMicrophonesLabel": "Aucun microphone trouvé",
|
69
73
|
"noSpeakersLabel": "Aucun haut-parleur trouvé",
|
package/dist/dist-esm/react-composites/src/composites/localization/locales/he-IL/strings.json
CHANGED
@@ -47,8 +47,8 @@
|
|
47
47
|
"mutedMessage": "אתה מושתק",
|
48
48
|
"networkReconnectMoreDetails": "נראה שמשהו השתבש. אנו מנסים להיכנס שוב לשיחה.",
|
49
49
|
"networkReconnectTitle": "המתן",
|
50
|
-
"notInvitedToRoomDetails": "אין לך
|
51
|
-
"notInvitedToRoomTitle": "
|
50
|
+
"notInvitedToRoomDetails": "אין לך אפשרות להצטרף לחדר זה משום שאין לך הזמנה.",
|
51
|
+
"notInvitedToRoomTitle": "לא הוזמן לחדר",
|
52
52
|
"peopleButtonLabel": "אנשים",
|
53
53
|
"selectedPeopleButtonLabel": "לחצן 'אנשים' נבחר",
|
54
54
|
"peoplePaneTitle": "אנשים",
|
@@ -62,8 +62,12 @@
|
|
62
62
|
"removeMenuLabel": "הסר",
|
63
63
|
"returnToCallButtonAriaDescription": "חזור לשיחה",
|
64
64
|
"returnToCallButtonAriaLabel": "הקודם",
|
65
|
-
"roomNotFoundDetails": "מזהה החדר שסופק
|
65
|
+
"roomNotFoundDetails": "מזהה החדר שסופק לא נמצא.",
|
66
66
|
"roomNotFoundTitle": "החדר לא נמצא",
|
67
|
+
"roomNotValidDetails": "חדר זה אינו חוקי כעת.",
|
68
|
+
"roomNotValidTitle": "החדר אינו חוקי",
|
69
|
+
"inviteToRoomRemovedDetails": "ההזמנה שלך להצטרפות לחדר זה הוסרה.",
|
70
|
+
"inviteToRoomRemovedTitle": "ההזמנה לחדר הוסרה",
|
67
71
|
"soundLabel": "צליל",
|
68
72
|
"noMicrophonesLabel": "לא נמצאו מיקרופונים",
|
69
73
|
"noSpeakersLabel": "לא נמצאו רמקולים",
|
package/dist/dist-esm/react-composites/src/composites/localization/locales/it-IT/strings.json
CHANGED
@@ -47,8 +47,8 @@
|
|
47
47
|
"mutedMessage": "L'audio è disattivato.",
|
48
48
|
"networkReconnectMoreDetails": "Sembra si sia verificato un errore. Stiamo cercando di ristabilire la connessione alla chiamata.",
|
49
49
|
"networkReconnectTitle": "Attendi",
|
50
|
-
"notInvitedToRoomDetails": "Non
|
51
|
-
"notInvitedToRoomTitle": "
|
50
|
+
"notInvitedToRoomDetails": "Non puoi partecipare a questa chat room perché non hai un invito.",
|
51
|
+
"notInvitedToRoomTitle": "Non invitato alla stanza",
|
52
52
|
"peopleButtonLabel": "Persone",
|
53
53
|
"selectedPeopleButtonLabel": "Pulsante Persone selezionato",
|
54
54
|
"peoplePaneTitle": "Persone",
|
@@ -62,8 +62,12 @@
|
|
62
62
|
"removeMenuLabel": "Rimuovi",
|
63
63
|
"returnToCallButtonAriaDescription": "Torna alla chiamata",
|
64
64
|
"returnToCallButtonAriaLabel": "Indietro",
|
65
|
-
"roomNotFoundDetails": "L'ID
|
65
|
+
"roomNotFoundDetails": "L'ID stanza specificato non è stato trovato.",
|
66
66
|
"roomNotFoundTitle": "La stanza non è stata trovata",
|
67
|
+
"roomNotValidDetails": "Questa stanza non è valida in questo momento.",
|
68
|
+
"roomNotValidTitle": "Stanza non valida",
|
69
|
+
"inviteToRoomRemovedDetails": "L'invito a partecipare a questa stanza è stato rimosso.",
|
70
|
+
"inviteToRoomRemovedTitle": "L’invito alla stanza è stato rimosso",
|
67
71
|
"soundLabel": "Suono",
|
68
72
|
"noMicrophonesLabel": "Nessun microfono trovato",
|
69
73
|
"noSpeakersLabel": "Nessun altoparlante trovato",
|
package/dist/dist-esm/react-composites/src/composites/localization/locales/ja-JP/strings.json
CHANGED
@@ -47,8 +47,8 @@
|
|
47
47
|
"mutedMessage": "ミュートになっています",
|
48
48
|
"networkReconnectMoreDetails": "問題が発生したようです。通話に戻ろうとしています。",
|
49
49
|
"networkReconnectTitle": "お待ちください",
|
50
|
-
"notInvitedToRoomDetails": "
|
51
|
-
"notInvitedToRoomTitle": "
|
50
|
+
"notInvitedToRoomDetails": "招待がないため、このルームに参加できません。",
|
51
|
+
"notInvitedToRoomTitle": "ルームに招待されていません",
|
52
52
|
"peopleButtonLabel": "連絡先",
|
53
53
|
"selectedPeopleButtonLabel": "[ユーザー] ボタンが選択されました",
|
54
54
|
"peoplePaneTitle": "連絡先",
|
@@ -62,8 +62,12 @@
|
|
62
62
|
"removeMenuLabel": "削除",
|
63
63
|
"returnToCallButtonAriaDescription": "通話に戻る",
|
64
64
|
"returnToCallButtonAriaLabel": "戻る",
|
65
|
-
"roomNotFoundDetails": "指定されたルーム ID
|
65
|
+
"roomNotFoundDetails": "指定されたルーム ID が見つかりませんでした。",
|
66
66
|
"roomNotFoundTitle": "ルームが見つかりません",
|
67
|
+
"roomNotValidDetails": "このルームは現在無効です。",
|
68
|
+
"roomNotValidTitle": "ルームが無効です",
|
69
|
+
"inviteToRoomRemovedDetails": "このルームに参加するための招待が削除されました。",
|
70
|
+
"inviteToRoomRemovedTitle": "ルームへの招待が削除されました",
|
67
71
|
"soundLabel": "音声",
|
68
72
|
"noMicrophonesLabel": "マイクが見つかりません",
|
69
73
|
"noSpeakersLabel": "話者が見つかりません",
|
package/dist/dist-esm/react-composites/src/composites/localization/locales/ko-KR/strings.json
CHANGED
@@ -47,8 +47,8 @@
|
|
47
47
|
"mutedMessage": "음소거 되었습니다.",
|
48
48
|
"networkReconnectMoreDetails": "문제가 발생한 것 같습니다. 통화에 다시 연결하려고 합니다.",
|
49
49
|
"networkReconnectTitle": "잠시만",
|
50
|
-
"notInvitedToRoomDetails": "이 채팅방에 참가할 수
|
51
|
-
"notInvitedToRoomTitle": "
|
50
|
+
"notInvitedToRoomDetails": "초대가 없으므로 이 채팅방에 참가할 수 없습니다.",
|
51
|
+
"notInvitedToRoomTitle": "소회의실에 초대되지 않음",
|
52
52
|
"peopleButtonLabel": "사용자",
|
53
53
|
"selectedPeopleButtonLabel": "사용자 단추 선택됨",
|
54
54
|
"peoplePaneTitle": "사용자",
|
@@ -62,8 +62,12 @@
|
|
62
62
|
"removeMenuLabel": "제거",
|
63
63
|
"returnToCallButtonAriaDescription": "통화로 돌아가기",
|
64
64
|
"returnToCallButtonAriaLabel": "뒤로",
|
65
|
-
"roomNotFoundDetails": "제공된
|
65
|
+
"roomNotFoundDetails": "제공된 소회의실 ID를 찾을 수 없습니다.",
|
66
66
|
"roomNotFoundTitle": "회의실을 찾을 수 없음",
|
67
|
+
"roomNotValidDetails": "현재 이 소회의실은 유효하지 않습니다.",
|
68
|
+
"roomNotValidTitle": "소회의실이 유효하지 않음",
|
69
|
+
"inviteToRoomRemovedDetails": "이 소회의실에 참가하기 위한 초대가 제거되었습니다.",
|
70
|
+
"inviteToRoomRemovedTitle": "소회의실 초대 제거됨",
|
67
71
|
"soundLabel": "소리",
|
68
72
|
"noMicrophonesLabel": "마이크를 찾을 수 없음",
|
69
73
|
"noSpeakersLabel": "스피커를 찾을 수 없음",
|
package/dist/dist-esm/react-composites/src/composites/localization/locales/nb-NO/strings.json
CHANGED
@@ -47,8 +47,8 @@
|
|
47
47
|
"mutedMessage": "Du er dempet.",
|
48
48
|
"networkReconnectMoreDetails": "Det ser ut til at noe gikk galt. Vi prøver å gå tilbake til samtalen.",
|
49
49
|
"networkReconnectTitle": "Vent litt",
|
50
|
-
"notInvitedToRoomDetails": "Du
|
51
|
-
"notInvitedToRoomTitle": "
|
50
|
+
"notInvitedToRoomDetails": "Du kan ikke bli med i dette rommet fordi du ikke har en invitasjon.",
|
51
|
+
"notInvitedToRoomTitle": "Ikke invitert til rommet",
|
52
52
|
"peopleButtonLabel": "Personer",
|
53
53
|
"selectedPeopleButtonLabel": "Personer-knappen er valgt",
|
54
54
|
"peoplePaneTitle": "Personer",
|
@@ -62,8 +62,12 @@
|
|
62
62
|
"removeMenuLabel": "Fjern",
|
63
63
|
"returnToCallButtonAriaDescription": "Gå tilbake til samtale",
|
64
64
|
"returnToCallButtonAriaLabel": "Tilbake",
|
65
|
-
"roomNotFoundDetails": "
|
65
|
+
"roomNotFoundDetails": "Finner ikke den angitte rom-IDen.",
|
66
66
|
"roomNotFoundTitle": "Finner ikke rommet",
|
67
|
+
"roomNotValidDetails": "Dette rommet er ikke gyldig for øyeblikket.",
|
68
|
+
"roomNotValidTitle": "Ugyldig rom",
|
69
|
+
"inviteToRoomRemovedDetails": "Invitasjonen til å bli med i dette rommet ble fjernet.",
|
70
|
+
"inviteToRoomRemovedTitle": "Invitasjon til rommet er fjernet",
|
67
71
|
"soundLabel": "Lyd",
|
68
72
|
"noMicrophonesLabel": "Fant ingen mikrofoner",
|
69
73
|
"noSpeakersLabel": "Fant ingen høyttalere",
|