{"version":3,"file":"static/js/1398_a9cc610f67ec731c24f2.js","mappings":"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","sources":["file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@azure+communication-react@1.22.0_kdreznvoqpxsq65rzwgw6zo7je/node_modules/@azure/communication-react/dist/dist-esm/react-components/src/gallery/dominantSpeaker.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@azure+communication-react@1.22.0_kdreznvoqpxsq65rzwgw6zo7je/node_modules/@azure/communication-react/dist/dist-esm/react-components/src/identifiers/IdentifierProvider.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@azure+communication-react@1.22.0_kdreznvoqpxsq65rzwgw6zo7je/node_modules/@azure/communication-react/dist/dist-esm/react-components/src/localization/LocalizationProvider.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@azure+communication-react@1.22.0_kdreznvoqpxsq65rzwgw6zo7je/node_modules/@azure/communication-react/dist/dist-esm/react-components/src/localization/locales/en-GB/ComponentLocale.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@azure+communication-react@1.22.0_kdreznvoqpxsq65rzwgw6zo7je/node_modules/@azure/communication-react/dist/dist-esm/react-components/src/localization/locales/fr-FR/ComponentLocale.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@azure+communication-react@1.22.0_kdreznvoqpxsq65rzwgw6zo7je/node_modules/@azure/communication-react/dist/dist-esm/react-components/src/localization/locales/index.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@azure+communication-react@1.22.0_kdreznvoqpxsq65rzwgw6zo7je/node_modules/@azure/communication-react/dist/dist-esm/react-components/src/localization/locales/utils.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@azure+communication-react@1.22.0_kdreznvoqpxsq65rzwgw6zo7je/node_modules/@azure/communication-react/dist/dist-esm/react-components/src/theming/FluentThemeProvider.js","file:////home/runner/work/platform/platform/common/temp/node_modules/.pnpm/@azure+communication-react@1.22.0_kdreznvoqpxsq65rzwgw6zo7je/node_modules/@azure/communication-react/dist/dist-esm/react-components/src/theming/FluentV9ThemeProvider.js"],"sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n/**\n * Calculates the participants that should be rendered based on the list of dominant\n * speakers and currently rendered participants in a call.\n * @param args - SmartDominantSpeakerParticipantsArgs\n * @returns VideoGalleryRemoteParticipant[] {@link @azure/communication-react#VideoGalleryRemoteParticipant}\n */\nexport const smartDominantSpeakerParticipants = (args) => {\n const { participants, dominantSpeakers = [], currentParticipants = [], maxDominantSpeakers } = args;\n // Don't apply any logic if total number of video streams is less than max dominant speakers.\n if (participants.length <= maxDominantSpeakers) {\n return participants;\n }\n const participantsMap = participantsById(participants);\n // Only use the Max allowed dominant speakers that exist in participants\n const dominantSpeakerIds = dominantSpeakers.filter(id => !!participantsMap[id]).slice(0, maxDominantSpeakers);\n const newVisibleParticipantIds = currentParticipants.map(p => p.userId).slice(0, maxDominantSpeakers);\n const newDominantSpeakerIds = dominantSpeakerIds.filter(id => !newVisibleParticipantIds.includes(id));\n // Remove participants that are no longer dominant and replace them with new dominant speakers.\n for (let index = 0; index < maxDominantSpeakers; index++) {\n const newVisibleParticipantId = newVisibleParticipantIds[index];\n if (newVisibleParticipantId === undefined || !dominantSpeakerIds.includes(newVisibleParticipantId)) {\n const replacement = newDominantSpeakerIds.shift();\n if (!replacement) {\n break;\n }\n newVisibleParticipantIds[index] = replacement;\n }\n }\n let newVisibleParticipants = newVisibleParticipantIds.map(participantId => participantsMap[participantId]).filter(p => p !== undefined);\n const newVisibleParticipantIdsSet = new Set(newVisibleParticipantIds);\n const remainingParticipants = participants.filter(p => !newVisibleParticipantIdsSet.has(p.userId));\n newVisibleParticipants = newVisibleParticipants.concat(remainingParticipants);\n return newVisibleParticipants;\n};\n/**\n * maps the participants array to an object with userId as key\n * @private\n */\nexport const participantsById = (participants) => {\n const response = {};\n participants.forEach(p => response[p.userId] = p);\n return response;\n};\n//# sourceMappingURL=dominantSpeaker.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport React, { createContext, useContext } from 'react';\nconst defaultIdentifiers = {\n sendboxTextField: 'sendbox-textfield',\n participantButtonPeopleMenuItem: 'participant-button-people-menu-item',\n participantItemMenuButton: 'participant-item-menu-button',\n participantList: 'participant-list',\n participantListPeopleButton: 'participant-list-people-button',\n participantListRemoveParticipantButton: 'participant-list-remove-participant-button',\n messageContent: 'message-content',\n messageTimestamp: 'message-timestamp',\n typingIndicator: 'typing-indicator',\n videoGallery: 'video-gallery',\n videoTile: 'video-tile',\n overflowGalleryLeftNavButton: 'overflow-gallery-left-nav-button',\n overflowGalleryRightNavButton: 'overflow-gallery-right-nav-button',\n verticalGalleryVideoTile: 'vertical-gallery-video-tile',\n horizontalGalleryVideoTile: 'horizontal-gallery-video-tile',\n verticalGalleryPageCounter: 'vertical-gallery-page-counter'\n};\n/**\n * @private\n */\nexport const IdentifierContext = createContext(defaultIdentifiers);\n/**\n * React Context provider for {@link _Identifiers}.\n *\n * @experimental\n *\n * See documentation for {@link _Identifiers}.\n *\n * @internal\n */\nexport const _IdentifierProvider = (props) => {\n const { identifiers, children } = props;\n return React.createElement(IdentifierContext.Provider, { value: identifiers !== null && identifiers !== void 0 ? identifiers : defaultIdentifiers }, children);\n};\n/**\n * @private\n */\nexport const useIdentifiers = () => useContext(IdentifierContext);\n//# sourceMappingURL=IdentifierProvider.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport React, { createContext, useContext } from 'react';\nimport { COMPONENT_LOCALE_EN_US } from './locales';\n/**\n * Context for providing localized strings to components exported from this library.\n *\n * @public\n */\nexport const LocaleContext = createContext(COMPONENT_LOCALE_EN_US);\n/**\n * Provider to provide localized strings for this library's react components.\n *\n * @remarks Components will be provided localized strings in English (US) by default if this\n * provider is not used.\n *\n * @public\n */\nexport const LocalizationProvider = (props) => {\n const { locale, children } = props;\n return React.createElement(LocaleContext.Provider, { value: locale }, children);\n};\n/** React hook to access locale */\nexport const useLocale = () => useContext(LocaleContext);\n//# sourceMappingURL=LocalizationProvider.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { createComponentStrings } from '../utils';\nimport en_GB from './strings.json';\n/**\n * Locale for English (GB).\n *\n * @public\n */\nexport const COMPONENT_LOCALE_EN_GB = {\n strings: createComponentStrings(en_GB)\n};\n//# sourceMappingURL=ComponentLocale.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { createComponentStrings } from '../utils';\nimport fr_FR from './strings.json';\n/**\n * Locale for French (France).\n *\n * @public\n */\nexport const COMPONENT_LOCALE_FR_FR = {\n strings: createComponentStrings(fr_FR)\n};\n//# sourceMappingURL=ComponentLocale.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport en_US from './en-US/strings.json';\n/**\n * Locale for English (US).\n *\n * @public\n */\nexport const COMPONENT_LOCALE_EN_US = {\n strings: en_US\n};\n//# sourceMappingURL=index.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport en_US from './en-US/strings.json';\nimport { _getKeys } from \"../../../../acs-ui-common/src\";\n/**\n *\n * @private\n */\nexport const createComponentStrings = (localizedStrings) => {\n const strings = Object.assign({}, en_US);\n _getKeys(localizedStrings).forEach(key => {\n // mark the value as unknown because the type changes based on the key.\n // this is unsafe at runtime as we could assign the wrong type based on the key here.\n // but typescript isn't smart enough to know that the key used across each access will result in the same type\n strings[key] = Object.assign(Object.assign({}, strings[key]), localizedStrings[key]);\n });\n return strings;\n};\n//# sourceMappingURL=utils.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport React, { createContext, useContext, useMemo } from 'react';\nimport { ThemeProvider, getTheme, mergeThemes, mergeStyles } from '@fluentui/react';\nimport { lightTheme } from './themes';\nconst wrapper = mergeStyles({\n height: '100%',\n width: '100%',\n overflow: 'auto',\n // Add NorthStar styling used previously in the library\n '*': {\n boxSizing: 'border-box'\n },\n '*:before': {\n boxSizing: 'border-box'\n },\n '*:after': {\n boxSizing: 'border-box'\n },\n /* Adding priority for HTML `hidden` attribute to be applied correctly */\n '[hidden]': {\n display: 'none!important'\n }\n});\nconst defaultTheme = Object.assign({}, mergeThemes(getTheme(), lightTheme));\n/** Theme context for library's react components */\nconst ThemeContext = createContext(defaultTheme);\n/**\n * Provider to apply a Fluent theme across this library's react components.\n *\n * @remarks Components in this library are composed primarily from [Fluent UI](https://developer.microsoft.com/fluentui#/controls/web),\n * controls, mixing v8 and v9 controls.\n * This provider handles applying any theme provided to the underlying Fluent UI controls. *\n * @public\n */\nexport const FluentThemeProvider = (props) => {\n const { fluentTheme, rtl, children, rootStyle } = props;\n const fluentV8Theme = useMemo(() => {\n const mergedTheme = mergeThemes(defaultTheme, fluentTheme);\n return mergeThemes(mergedTheme, {\n rtl\n });\n }, [fluentTheme, rtl]);\n return React.createElement(ThemeContext.Provider, { value: fluentV8Theme },\n React.createElement(ThemeProvider, { theme: fluentV8Theme, className: wrapper, style: rootStyle }, children));\n};\n/**\n * React hook to access theme\n *\n * @public\n */\nexport const useTheme = () => useContext(ThemeContext);\n//# sourceMappingURL=FluentThemeProvider.js.map","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport React from 'react';\nimport { makeStyles, shorthands, FluentProvider, mergeClasses } from '@fluentui/react-components';\nimport { createV9Theme } from './v9ThemeShim';\nimport { TextDirectionProvider } from '@griffel/react';\n/**\n * @private\n */\nexport const useFluentV9Wrapper = makeStyles({\n body: Object.assign(Object.assign(Object.assign(Object.assign({ height: '100%' }, shorthands.margin(0)), shorthands.overflow('hidden')), shorthands.padding(0)), { width: '100%' })\n});\n/**\n * @private\n */\nexport const FluentV9ThemeProvider = (props) => {\n const { v8Theme, children, className } = props;\n const v9Theme = createV9Theme(v8Theme);\n const dir = v8Theme.rtl ? 'rtl' : 'ltr';\n return (\n // TextDirectionProvider is needed to fix issue with direction value update in FluentProvider\n React.createElement(TextDirectionProvider, { dir: dir },\n React.createElement(FluentProviderWithStylesOverrides, { theme: v9Theme, dir: dir, className: className }, children)));\n};\nconst FluentProviderWithStylesOverrides = props => {\n const classes = useFluentV9Wrapper();\n return React.createElement(FluentProvider, Object.assign({}, props, { className: mergeClasses(props.className, classes.body), applyStylesToPortals: false }));\n};\n//# sourceMappingURL=FluentV9ThemeProvider.js.map"],"names":["smartDominantSpeakerParticipants","args","participants","dominantSpeakers","currentParticipants","maxDominantSpeakers","length","participantsMap","participantsById","dominantSpeakerIds","filter","id","slice","newVisibleParticipantIds","map","p","userId","newDominantSpeakerIds","includes","index","newVisibleParticipantId","undefined","replacement","shift","newVisibleParticipants","participantId","newVisibleParticipantIdsSet","Set","remainingParticipants","has","concat","response","forEach","defaultIdentifiers","sendboxTextField","participantButtonPeopleMenuItem","participantItemMenuButton","participantList","participantListPeopleButton","participantListRemoveParticipantButton","messageContent","messageTimestamp","typingIndicator","videoGallery","videoTile","overflowGalleryLeftNavButton","overflowGalleryRightNavButton","verticalGalleryVideoTile","horizontalGalleryVideoTile","verticalGalleryPageCounter","IdentifierContext","createContext","useIdentifiers","useContext","LocaleContext","LocalizationProvider","props","locale","children","Provider","value","useLocale","COMPONENT_LOCALE_EN_GB","strings","COMPONENT_LOCALE_FR_FR","COMPONENT_LOCALE_EN_US","createComponentStrings","localizedStrings","Object","assign","key","wrapper","height","width","overflow","boxSizing","display","defaultTheme","ThemeContext","FluentThemeProvider","fluentTheme","rtl","rootStyle","fluentV8Theme","useMemo","mergedTheme","theme","className","style","useTheme","useFluentV9Wrapper","body","FluentV9ThemeProvider","v8Theme","v9Theme","dir","FluentProviderWithStylesOverrides","classes","applyStylesToPortals"],"sourceRoot":""}