@azure/communication-react 1.18.0-alpha-202406180013 → 1.18.0-alpha-202406200013
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 +72 -28
 - package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-2XnQpAq_.js → ChatMessageComponentAsRichTextEditBox-EyrzA3S-.js} +2 -2
 - package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-2XnQpAq_.js.map → ChatMessageComponentAsRichTextEditBox-EyrzA3S-.js.map} +1 -1
 - package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-D-f-hDmN.js → RichTextSendBoxWrapper-BTQ09DfU.js} +2 -2
 - package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-D-f-hDmN.js.map → RichTextSendBoxWrapper-BTQ09DfU.js.map} +1 -1
 - package/dist/dist-cjs/communication-react/{index-DaC5GeKa.js → index-BxMyKmFB.js} +502 -106
 - package/dist/dist-cjs/communication-react/index-BxMyKmFB.js.map +1 -0
 - package/dist/dist-cjs/communication-react/index.js +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/calling-component-bindings/src/errorNotificationsSelector.d.ts +22 -0
 - package/dist/dist-esm/calling-component-bindings/src/errorNotificationsSelector.js +146 -0
 - package/dist/dist-esm/calling-component-bindings/src/errorNotificationsSelector.js.map +1 -0
 - package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.d.ts +1 -0
 - package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js +7 -1
 - package/dist/dist-esm/calling-component-bindings/src/handlers/createCommonHandlers.js.map +1 -1
 - package/dist/dist-esm/calling-component-bindings/src/index.d.ts +2 -0
 - package/dist/dist-esm/calling-component-bindings/src/index.js +2 -0
 - package/dist/dist-esm/calling-component-bindings/src/index.js.map +1 -1
 - package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.d.ts +1 -5
 - package/dist/dist-esm/calling-stateful-client/src/BetaToStableTypes.js.map +1 -1
 - package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.d.ts +13 -0
 - package/dist/dist-esm/calling-stateful-client/src/StatefulCallClient.js.map +1 -1
 - package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.d.ts +2 -2
 - package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js +2 -0
 - package/dist/dist-esm/calling-stateful-client/src/TeamsCallAgentDeclarative.js.map +1 -1
 - package/dist/dist-esm/calling-stateful-client/src/TypeGuards.d.ts +2 -2
 - package/dist/dist-esm/calling-stateful-client/src/TypeGuards.js.map +1 -1
 - package/dist/dist-esm/calling-stateful-client/src/index-public.d.ts +1 -0
 - package/dist/dist-esm/calling-stateful-client/src/index-public.js.map +1 -1
 - package/dist/dist-esm/calling-stateful-client/src/index.d.ts +1 -1
 - package/dist/dist-esm/calling-stateful-client/src/index.js.map +1 -1
 - package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +2 -1
 - package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/ErrorBar.js +1 -1
 - package/dist/dist-esm/react-components/src/components/ErrorBar.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/InputBoxButton.d.ts +1 -0
 - package/dist/dist-esm/react-components/src/components/InputBoxButton.js +2 -2
 - package/dist/dist-esm/react-components/src/components/InputBoxButton.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/Notifications.d.ts +23 -28
 - package/dist/dist-esm/react-components/src/components/Notifications.js +17 -7
 - package/dist/dist-esm/react-components/src/components/Notifications.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/ParticipantList.js +3 -2
 - package/dist/dist-esm/react-components/src/components/ParticipantList.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.d.ts +2 -2
 - package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js +1 -1
 - package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js +16 -29
 - package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextEditor.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js +1 -1
 - package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextInputBoxComponent.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js +1 -1
 - package/dist/dist-esm/react-components/src/components/TroubleshootingGuideErrorBar.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js +1 -1
 - package/dist/dist-esm/react-components/src/components/VideoEffects/VideoBackgroundEffectsPicker.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.d.ts +1 -0
 - package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js +3 -3
 - package/dist/dist-esm/react-components/src/components/VideoGallery/useVideoTileContextualMenuProps.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/VideoGallery.d.ts +2 -0
 - package/dist/dist-esm/react-components/src/components/VideoGallery.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +1 -1
 - package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js +24 -13
 - package/dist/dist-esm/react-components/src/components/styles/RichTextEditor.styles.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/utils.d.ts +32 -1
 - package/dist/dist-esm/react-components/src/components/utils.js +84 -0
 - package/dist/dist-esm/react-components/src/components/utils.js.map +1 -1
 - package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +2 -23
 - package/dist/dist-esm/react-components/src/theming/themes.js +13 -12
 - package/dist/dist-esm/react-components/src/theming/themes.js.map +1 -1
 - package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js +1 -1
 - package/dist/dist-esm/react-components/src/theming/v9ThemeShim.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/CallComposite.js +24 -5
 - 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 +20 -0
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/Strings.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.d.ts +4 -3
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js +8 -0
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/AzureCommunicationCallAdapter.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.d.ts +4 -0
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/CallAdapter.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.d.ts +2 -2
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/adapter/createHandlers.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.d.ts +4 -2
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js +33 -5
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/components/CallArrangement.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.d.ts +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js +68 -4
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/usePeoplePane.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.d.ts +3 -2
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/components/SidePane/useVideoEffectsPane.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js +4 -0
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/hooks/useHandlers.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.d.ts +3 -2
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js +5 -3
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/CallPage.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js +4 -2
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/HoldPage.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js +4 -2
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/LobbyPage.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js +4 -2
 - package/dist/dist-esm/react-composites/src/composites/CallComposite/pages/TransferPage.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.d.ts +1 -0
 - package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js +6 -0
 - package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/AzureCommunicationCallWithChatAdapter.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.d.ts +4 -0
 - package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatAdapter.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.d.ts +1 -0
 - package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js +6 -0
 - package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/adapter/CallWithChatBackedCallAdapter.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.d.ts +1 -0
 - package/dist/dist-esm/react-composites/src/composites/common/Drawer/MoreDrawer.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.d.ts +3 -2
 - package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js +40 -2
 - package/dist/dist-esm/react-composites/src/composites/common/VideoEffectsPane.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/localization/locales/en-US/strings.json +6 -1
 - package/package.json +6 -6
 - package/dist/dist-cjs/communication-react/index-DaC5GeKa.js.map +0 -1
 
| 
         @@ -39,10 +39,10 @@ export const richTextEditorWrapperStyle = (theme, addTopOffset) => { 
     | 
|
| 
       39 
39 
     | 
    
         
             
                        tableLayout: 'auto',
         
     | 
| 
       40 
40 
     | 
    
         
             
                        '& tr': {
         
     | 
| 
       41 
41 
     | 
    
         
             
                            background: 'transparent',
         
     | 
| 
       42 
     | 
    
         
            -
                            border: `1px solid ${theme.palette. 
     | 
| 
      
 42 
     | 
    
         
            +
                            border: `1px solid ${theme.palette.neutralSecondary}`,
         
     | 
| 
       43 
43 
     | 
    
         
             
                            '& td': {
         
     | 
| 
       44 
44 
     | 
    
         
             
                                background: 'transparent',
         
     | 
| 
       45 
     | 
    
         
            -
                                border: `1px solid ${theme.palette. 
     | 
| 
      
 45 
     | 
    
         
            +
                                border: `1px solid ${theme.palette.neutralSecondary}`,
         
     | 
| 
       46 
46 
     | 
    
         
             
                                wordBreak: 'normal',
         
     | 
| 
       47 
47 
     | 
    
         
             
                                padding: '0.125rem 0.25rem',
         
     | 
| 
       48 
48 
     | 
    
         
             
                                verticalAlign: 'top'
         
     | 
| 
         @@ -112,16 +112,26 @@ const ribbonOverflowButtonRootStyles = (theme) => { 
     | 
|
| 
       112 
112 
     | 
    
         
             
                    }
         
     | 
| 
       113 
113 
     | 
    
         
             
                };
         
     | 
| 
       114 
114 
     | 
    
         
             
            };
         
     | 
| 
       115 
     | 
    
         
            -
            const ribbonButtonRootStyles = ( 
     | 
| 
      
 115 
     | 
    
         
            +
            const ribbonButtonRootStyles = (iconColor, hoverIconColor) => {
         
     | 
| 
       116 
116 
     | 
    
         
             
                return {
         
     | 
| 
       117 
117 
     | 
    
         
             
                    backgroundColor: 'transparent',
         
     | 
| 
       118 
118 
     | 
    
         
             
                    selectors: {
         
     | 
| 
       119 
     | 
    
         
            -
                        //  
     | 
| 
      
 119 
     | 
    
         
            +
                        // media query applies only if the device allows real hover interactions
         
     | 
| 
      
 120 
     | 
    
         
            +
                        // and hover styles are not applied on touch- only devices where the hover state cannot be accurately detected
         
     | 
| 
      
 121 
     | 
    
         
            +
                        '@media (hover: hover)': {
         
     | 
| 
      
 122 
     | 
    
         
            +
                            ':hover .ms-Button-icon': {
         
     | 
| 
      
 123 
     | 
    
         
            +
                                color: hoverIconColor
         
     | 
| 
      
 124 
     | 
    
         
            +
                            },
         
     | 
| 
      
 125 
     | 
    
         
            +
                            ':hover .ms-Button-menuIcon': {
         
     | 
| 
      
 126 
     | 
    
         
            +
                                color: hoverIconColor
         
     | 
| 
      
 127 
     | 
    
         
            +
                            }
         
     | 
| 
      
 128 
     | 
    
         
            +
                        },
         
     | 
| 
      
 129 
     | 
    
         
            +
                        // the classes needs here to apply to styles for icons because of the specificity
         
     | 
| 
       120 
130 
     | 
    
         
             
                        '.ms-Button-icon': {
         
     | 
| 
       121 
     | 
    
         
            -
                            color:  
     | 
| 
      
 131 
     | 
    
         
            +
                            color: iconColor
         
     | 
| 
       122 
132 
     | 
    
         
             
                        },
         
     | 
| 
       123 
133 
     | 
    
         
             
                        '.ms-Button-menuIcon': {
         
     | 
| 
       124 
     | 
    
         
            -
                            color:  
     | 
| 
      
 134 
     | 
    
         
            +
                            color: iconColor
         
     | 
| 
       125 
135 
     | 
    
         
             
                        }
         
     | 
| 
       126 
136 
     | 
    
         
             
                    }
         
     | 
| 
       127 
137 
     | 
    
         
             
                };
         
     | 
| 
         @@ -134,13 +144,14 @@ export const toolbarButtonStyle = (theme) => { 
     | 
|
| 
       134 
144 
     | 
    
         
             
                    icon: { color: theme.palette.neutralPrimary, height: 'auto' },
         
     | 
| 
       135 
145 
     | 
    
         
             
                    menuIcon: { color: theme.palette.neutralPrimary, height: 'auto' },
         
     | 
| 
       136 
146 
     | 
    
         
             
                    root: { minWidth: 'auto', backgroundColor: 'transparent' },
         
     | 
| 
       137 
     | 
    
         
            -
                    rootChecked: ribbonButtonRootStyles(theme),
         
     | 
| 
       138 
     | 
    
         
            -
                     
     | 
| 
       139 
     | 
    
         
            -
                     
     | 
| 
       140 
     | 
    
         
            -
                     
     | 
| 
       141 
     | 
    
         
            -
                     
     | 
| 
       142 
     | 
    
         
            -
                     
     | 
| 
       143 
     | 
    
         
            -
                     
     | 
| 
      
 147 
     | 
    
         
            +
                    rootChecked: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary),
         
     | 
| 
      
 148 
     | 
    
         
            +
                    // there is a bug for Android where the press action is considered hover sometimes
         
     | 
| 
      
 149 
     | 
    
         
            +
                    rootHovered: ribbonButtonRootStyles(theme.palette.neutralPrimary, theme.palette.themePrimary),
         
     | 
| 
      
 150 
     | 
    
         
            +
                    rootCheckedHovered: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary),
         
     | 
| 
      
 151 
     | 
    
         
            +
                    rootCheckedPressed: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary),
         
     | 
| 
      
 152 
     | 
    
         
            +
                    rootPressed: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary),
         
     | 
| 
      
 153 
     | 
    
         
            +
                    rootExpanded: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary),
         
     | 
| 
      
 154 
     | 
    
         
            +
                    rootExpandedHovered: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary)
         
     | 
| 
       144 
155 
     | 
    
         
             
                };
         
     | 
| 
       145 
156 
     | 
    
         
             
            };
         
     | 
| 
       146 
157 
     | 
    
         
             
            const rootRibbonTableButtonStyle = (theme) => {
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"RichTextEditor.styles.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/styles/RichTextEditor.styles.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { IButtonStyles, ICommandBarStyles, IContextualMenuStyles, IStyle, Theme, mergeStyles } from '@fluentui/react';\nimport { editorTextBoxButtonStyle } from './SendBox.styles';\nimport { RichTextEditorStyleProps } from '../RichTextEditor/RichTextEditor';\n\n/**\n * @private\n */\nexport const richTextEditorStyle = (props: { minHeight: string; maxHeight: string }): string => {\n  return mergeStyles({\n    border: 'none',\n    overflow: 'auto',\n    outline: 'none',\n    minHeight: props.minHeight,\n    maxHeight: props.maxHeight,\n    maxWidth: '100%',\n    // this is needed to fix an issue when text has some indentation, indentation uses blockquote tag and\n    // it gets both horizontal margins because of the user agent stylesheet\n    // remove this code when RoosterJS content model packages are used as they use different approach for indentation\n    '& blockquote': {\n      marginInlineEnd: '0'\n    }\n  });\n};\n\n/**\n * @private\n */\nexport const richTextEditorWrapperStyle = (theme: Theme, addTopOffset: boolean): string => {\n  return mergeStyles({\n    paddingTop: `${addTopOffset ? '0.5rem' : '0'}`,\n    paddingInlineStart: `0.75rem`,\n    paddingInlineEnd: `0.75rem`,\n    maxWidth: '100%',\n    color: theme.palette.neutralPrimary,\n\n    '& table': {\n      background: 'transparent',\n      borderCollapse: 'collapse',\n      width: '100%',\n      borderSpacing: '0',\n      tableLayout: 'auto',\n\n      '& tr': {\n        background: 'transparent',\n        border: `1px solid ${theme.palette.neutralTertiaryAlt}`,\n\n        '& td': {\n          background: 'transparent',\n          border: `1px solid ${theme.palette.neutralTertiaryAlt}`,\n          wordBreak: 'normal',\n          padding: '0.125rem 0.25rem',\n          verticalAlign: 'top'\n        }\n      }\n    }\n  });\n};\n\n/**\n * @private\n */\nexport const richTextActionButtonsStackStyle = mergeStyles({\n  paddingRight: `0.125rem`\n});\n\n/**\n * @private\n */\nexport const richTextActionButtonsStyle = mergeStyles({\n  height: '2.25rem',\n  width: '2.25rem',\n  margin: 'auto'\n});\n\n/**\n * @private\n */\nexport const richTextActionButtonsDividerStyle = (theme: Theme): string => {\n  return mergeStyles({\n    color: theme.palette.neutralQuaternaryAlt,\n    margin: '0.375rem -0.5rem 0 -0.5rem',\n    backgroundColor: 'transparent'\n  });\n};\n\n/**\n * @private\n */\nexport const ribbonOverflowButtonStyle = (theme: Theme): Partial<IContextualMenuStyles> => {\n  return {\n    subComponentStyles: {\n      menuItem: {\n        icon: { color: theme.palette.neutralPrimary, paddingTop: '0.5rem' },\n        root: ribbonOverflowButtonRootStyles(theme)\n      },\n      callout: {}\n    }\n  };\n};\n\nconst ribbonOverflowButtonRootStyles = (theme: Theme): IStyle => {\n  return {\n    selectors: {\n      // Icon's color doesn't work here because of the specificity\n      '&:hover': {\n        selectors: {\n          '.ms-ContextualMenu-icon': {\n            color: theme.palette.neutralPrimary\n          }\n        }\n      },\n      '.ribbon-table-button-regular-icon': {\n        display: 'inline-block',\n        margin: '-0.25rem 0.25rem 0 0.25rem',\n        width: '1.25rem',\n        height: '1.25rem'\n      },\n      '.ribbon-table-button-filled-icon': {\n        display: 'none'\n      }\n    }\n  };\n};\n\nconst ribbonButtonRootStyles = (theme: Theme): IStyle => {\n  return {\n    backgroundColor: 'transparent',\n    selectors: {\n      // Icon's color doesn't work here because of the specificity\n      '.ms-Button-icon': {\n        color: theme.palette.themePrimary\n      },\n      '.ms-Button-menuIcon': {\n        color: theme.palette.themePrimary\n      }\n    }\n  };\n};\n\n/**\n * @private\n */\nexport const toolbarButtonStyle = (theme: Theme): Partial<IButtonStyles> => {\n  return {\n    icon: { color: theme.palette.neutralPrimary, height: 'auto' },\n    menuIcon: { color: theme.palette.neutralPrimary, height: 'auto' },\n    root: { minWidth: 'auto', backgroundColor: 'transparent' },\n    rootChecked: ribbonButtonRootStyles(theme),\n    rootHovered: ribbonButtonRootStyles(theme),\n    rootCheckedHovered: ribbonButtonRootStyles(theme),\n    rootCheckedPressed: ribbonButtonRootStyles(theme),\n    rootPressed: ribbonButtonRootStyles(theme),\n    rootExpanded: ribbonButtonRootStyles(theme),\n    rootExpandedHovered: ribbonButtonRootStyles(theme)\n  };\n};\n\nconst rootRibbonTableButtonStyle = (theme: Theme): IStyle => {\n  // merge IStyles props\n  return Object.assign({ minWidth: 'auto' }, ribbonTableButtonRootStyles(theme, false));\n};\n\n/**\n * @private\n */\nexport const toolbarTableButtonStyle = (theme: Theme): Partial<IButtonStyles> => {\n  return {\n    icon: { height: 'auto' },\n    menuIcon: { height: 'auto' },\n    root: rootRibbonTableButtonStyle(theme),\n    rootChecked: ribbonTableButtonRootStyles(theme, true),\n    rootHovered: ribbonTableButtonRootStyles(theme, true),\n    rootCheckedHovered: ribbonTableButtonRootStyles(theme, true),\n    rootCheckedPressed: ribbonTableButtonRootStyles(theme, true),\n    rootPressed: ribbonTableButtonRootStyles(theme, true),\n    rootExpanded: ribbonTableButtonRootStyles(theme, true),\n    rootExpandedHovered: ribbonTableButtonRootStyles(theme, true)\n  };\n};\nconst ribbonTableButtonRootStyles = (theme: Theme, isSelected: boolean): IStyle => {\n  return {\n    backgroundColor: 'transparent',\n    selectors: {\n      '.ribbon-table-button-regular-icon': {\n        width: '1.25rem',\n        height: '1.25rem',\n        margin: '-0.25rem 0.25rem 0 0.25rem',\n        color: theme.palette.neutralPrimary,\n        display: isSelected ? 'none' : 'inline-block'\n      },\n      '.ribbon-table-button-filled-icon': {\n        width: '1.25rem',\n        height: '1.25rem',\n        margin: '-0.25rem 0.25rem 0 0.25rem',\n        color: theme.palette.themePrimary,\n        display: isSelected ? 'inline-block' : 'none'\n      }\n    }\n  };\n};\n\n/**\n * @private\n */\nexport const ribbonDividerStyle = (theme: Theme): string => {\n  return mergeStyles({\n    color: theme.palette.neutralQuaternaryAlt,\n    margin: '0 -0.5rem',\n    paddingTop: '0.5rem'\n  });\n};\n\n/**\n * @private\n */\nexport const richTextToolbarStyle: Partial<ICommandBarStyles> = {\n  // Override for the default white color of the Ribbon component\n  root: { backgroundColor: 'transparent', padding: '0px' }\n};\n\n/**\n * @private\n */\nexport const richTextFormatButtonIconStyle = (theme: Theme, isSelected: boolean): string => {\n  return mergeStyles(editorTextBoxButtonStyle, {\n    color: isSelected ? theme.palette.themePrimary : theme.palette.neutralSecondary\n  });\n};\n\n/**\n * @private\n */\nexport const editBoxRichTextEditorStyle = (): RichTextEditorStyleProps => {\n  return {\n    minHeight: '2.25rem',\n    maxHeight: '8rem'\n  };\n};\n\n/**\n * @private\n */\nexport const sendBoxRichTextEditorStyle = (isExpanded: boolean): RichTextEditorStyleProps => {\n  return {\n    minHeight: isExpanded ? '4rem' : '1.25rem',\n    maxHeight: '8rem'\n  };\n};\n\n/**\n * @private\n */\nexport const insertTableMenuCellButtonStyles = (theme: Theme): IStyle => {\n  return {\n    width: '16px',\n    height: '16px',\n    border: `solid 1px ${theme.palette.neutralTertiaryAlt}`,\n    cursor: 'pointer',\n    background: 'transparent'\n  };\n};\n\n/**\n * @private\n */\nexport const insertTableMenuCellButtonSelectedStyles = (theme: Theme): IStyle => {\n  return {\n    background: theme.palette.themePrimary\n  };\n};\n\n/**\n * @private\n */\nexport const insertTableMenuTablePane = mergeStyles({\n  padding: '8px 10px 12px 10px',\n  boxSizing: 'content-box',\n  minWidth: 'auto'\n});\n\n/**\n * @private\n */\nexport const insertTableMenuFocusZone = (theme: Theme): string => {\n  return mergeStyles({\n    display: 'inline-grid',\n    gridTemplateColumns: 'auto auto auto auto auto',\n    border: `solid 1px ${theme.palette.neutralTertiaryAlt}`\n  });\n};\n\n/**\n * @private\n */\nexport const insertTableMenuTitleStyles = mergeStyles({\n  width: '100%',\n  height: '1rem',\n  fontSize: '0.75rem',\n  marginBottom: '0.5rem'\n});\n\n/**\n * @private\n */\nexport const tableContextMenuIconStyles = mergeStyles({\n  marginTop: '0.375rem'\n});\n"]}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"RichTextEditor.styles.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/styles/RichTextEditor.styles.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\nimport { IButtonStyles, ICommandBarStyles, IContextualMenuStyles, IStyle, Theme, mergeStyles } from '@fluentui/react';\nimport { editorTextBoxButtonStyle } from './SendBox.styles';\nimport { RichTextEditorStyleProps } from '../RichTextEditor/RichTextEditor';\n\n/**\n * @private\n */\nexport const richTextEditorStyle = (props: { minHeight: string; maxHeight: string }): string => {\n  return mergeStyles({\n    border: 'none',\n    overflow: 'auto',\n    outline: 'none',\n    minHeight: props.minHeight,\n    maxHeight: props.maxHeight,\n    maxWidth: '100%',\n    // this is needed to fix an issue when text has some indentation, indentation uses blockquote tag and\n    // it gets both horizontal margins because of the user agent stylesheet\n    // remove this code when RoosterJS content model packages are used as they use different approach for indentation\n    '& blockquote': {\n      marginInlineEnd: '0'\n    }\n  });\n};\n\n/**\n * @private\n */\nexport const richTextEditorWrapperStyle = (theme: Theme, addTopOffset: boolean): string => {\n  return mergeStyles({\n    paddingTop: `${addTopOffset ? '0.5rem' : '0'}`,\n    paddingInlineStart: `0.75rem`,\n    paddingInlineEnd: `0.75rem`,\n    maxWidth: '100%',\n    color: theme.palette.neutralPrimary,\n\n    '& table': {\n      background: 'transparent',\n      borderCollapse: 'collapse',\n      width: '100%',\n      borderSpacing: '0',\n      tableLayout: 'auto',\n\n      '& tr': {\n        background: 'transparent',\n        border: `1px solid ${theme.palette.neutralSecondary}`,\n\n        '& td': {\n          background: 'transparent',\n          border: `1px solid ${theme.palette.neutralSecondary}`,\n          wordBreak: 'normal',\n          padding: '0.125rem 0.25rem',\n          verticalAlign: 'top'\n        }\n      }\n    }\n  });\n};\n\n/**\n * @private\n */\nexport const richTextActionButtonsStackStyle = mergeStyles({\n  paddingRight: `0.125rem`\n});\n\n/**\n * @private\n */\nexport const richTextActionButtonsStyle = mergeStyles({\n  height: '2.25rem',\n  width: '2.25rem',\n  margin: 'auto'\n});\n\n/**\n * @private\n */\nexport const richTextActionButtonsDividerStyle = (theme: Theme): string => {\n  return mergeStyles({\n    color: theme.palette.neutralQuaternaryAlt,\n    margin: '0.375rem -0.5rem 0 -0.5rem',\n    backgroundColor: 'transparent'\n  });\n};\n\n/**\n * @private\n */\nexport const ribbonOverflowButtonStyle = (theme: Theme): Partial<IContextualMenuStyles> => {\n  return {\n    subComponentStyles: {\n      menuItem: {\n        icon: { color: theme.palette.neutralPrimary, paddingTop: '0.5rem' },\n        root: ribbonOverflowButtonRootStyles(theme)\n      },\n      callout: {}\n    }\n  };\n};\n\nconst ribbonOverflowButtonRootStyles = (theme: Theme): IStyle => {\n  return {\n    selectors: {\n      // Icon's color doesn't work here because of the specificity\n      '&:hover': {\n        selectors: {\n          '.ms-ContextualMenu-icon': {\n            color: theme.palette.neutralPrimary\n          }\n        }\n      },\n      '.ribbon-table-button-regular-icon': {\n        display: 'inline-block',\n        margin: '-0.25rem 0.25rem 0 0.25rem',\n        width: '1.25rem',\n        height: '1.25rem'\n      },\n      '.ribbon-table-button-filled-icon': {\n        display: 'none'\n      }\n    }\n  };\n};\n\nconst ribbonButtonRootStyles = (iconColor: string, hoverIconColor: string): IStyle => {\n  return {\n    backgroundColor: 'transparent',\n    selectors: {\n      // media query applies only if the device allows real hover interactions\n      // and hover styles are not applied on touch- only devices where the hover state cannot be accurately detected\n      '@media (hover: hover)': {\n        ':hover .ms-Button-icon': {\n          color: hoverIconColor\n        },\n        ':hover .ms-Button-menuIcon': {\n          color: hoverIconColor\n        }\n      },\n      // the classes needs here to apply to styles for icons because of the specificity\n      '.ms-Button-icon': {\n        color: iconColor\n      },\n      '.ms-Button-menuIcon': {\n        color: iconColor\n      }\n    }\n  };\n};\n\n/**\n * @private\n */\nexport const toolbarButtonStyle = (theme: Theme): Partial<IButtonStyles> => {\n  return {\n    icon: { color: theme.palette.neutralPrimary, height: 'auto' },\n    menuIcon: { color: theme.palette.neutralPrimary, height: 'auto' },\n    root: { minWidth: 'auto', backgroundColor: 'transparent' },\n    rootChecked: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary),\n    // there is a bug for Android where the press action is considered hover sometimes\n    rootHovered: ribbonButtonRootStyles(theme.palette.neutralPrimary, theme.palette.themePrimary),\n    rootCheckedHovered: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary),\n    rootCheckedPressed: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary),\n    rootPressed: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary),\n    rootExpanded: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary),\n    rootExpandedHovered: ribbonButtonRootStyles(theme.palette.themePrimary, theme.palette.themePrimary)\n  };\n};\n\nconst rootRibbonTableButtonStyle = (theme: Theme): IStyle => {\n  // merge IStyles props\n  return Object.assign({ minWidth: 'auto' }, ribbonTableButtonRootStyles(theme, false));\n};\n\n/**\n * @private\n */\nexport const toolbarTableButtonStyle = (theme: Theme): Partial<IButtonStyles> => {\n  return {\n    icon: { height: 'auto' },\n    menuIcon: { height: 'auto' },\n    root: rootRibbonTableButtonStyle(theme),\n    rootChecked: ribbonTableButtonRootStyles(theme, true),\n    rootHovered: ribbonTableButtonRootStyles(theme, true),\n    rootCheckedHovered: ribbonTableButtonRootStyles(theme, true),\n    rootCheckedPressed: ribbonTableButtonRootStyles(theme, true),\n    rootPressed: ribbonTableButtonRootStyles(theme, true),\n    rootExpanded: ribbonTableButtonRootStyles(theme, true),\n    rootExpandedHovered: ribbonTableButtonRootStyles(theme, true)\n  };\n};\nconst ribbonTableButtonRootStyles = (theme: Theme, isSelected: boolean): IStyle => {\n  return {\n    backgroundColor: 'transparent',\n    selectors: {\n      '.ribbon-table-button-regular-icon': {\n        width: '1.25rem',\n        height: '1.25rem',\n        margin: '-0.25rem 0.25rem 0 0.25rem',\n        color: theme.palette.neutralPrimary,\n        display: isSelected ? 'none' : 'inline-block'\n      },\n      '.ribbon-table-button-filled-icon': {\n        width: '1.25rem',\n        height: '1.25rem',\n        margin: '-0.25rem 0.25rem 0 0.25rem',\n        color: theme.palette.themePrimary,\n        display: isSelected ? 'inline-block' : 'none'\n      }\n    }\n  };\n};\n\n/**\n * @private\n */\nexport const ribbonDividerStyle = (theme: Theme): string => {\n  return mergeStyles({\n    color: theme.palette.neutralQuaternaryAlt,\n    margin: '0 -0.5rem',\n    paddingTop: '0.5rem'\n  });\n};\n\n/**\n * @private\n */\nexport const richTextToolbarStyle: Partial<ICommandBarStyles> = {\n  // Override for the default white color of the Ribbon component\n  root: { backgroundColor: 'transparent', padding: '0px' }\n};\n\n/**\n * @private\n */\nexport const richTextFormatButtonIconStyle = (theme: Theme, isSelected: boolean): string => {\n  return mergeStyles(editorTextBoxButtonStyle, {\n    color: isSelected ? theme.palette.themePrimary : theme.palette.neutralSecondary\n  });\n};\n\n/**\n * @private\n */\nexport const editBoxRichTextEditorStyle = (): RichTextEditorStyleProps => {\n  return {\n    minHeight: '2.25rem',\n    maxHeight: '8rem'\n  };\n};\n\n/**\n * @private\n */\nexport const sendBoxRichTextEditorStyle = (isExpanded: boolean): RichTextEditorStyleProps => {\n  return {\n    minHeight: isExpanded ? '4rem' : '1.25rem',\n    maxHeight: '8rem'\n  };\n};\n\n/**\n * @private\n */\nexport const insertTableMenuCellButtonStyles = (theme: Theme): IStyle => {\n  return {\n    width: '16px',\n    height: '16px',\n    border: `solid 1px ${theme.palette.neutralTertiaryAlt}`,\n    cursor: 'pointer',\n    background: 'transparent'\n  };\n};\n\n/**\n * @private\n */\nexport const insertTableMenuCellButtonSelectedStyles = (theme: Theme): IStyle => {\n  return {\n    background: theme.palette.themePrimary\n  };\n};\n\n/**\n * @private\n */\nexport const insertTableMenuTablePane = mergeStyles({\n  padding: '8px 10px 12px 10px',\n  boxSizing: 'content-box',\n  minWidth: 'auto'\n});\n\n/**\n * @private\n */\nexport const insertTableMenuFocusZone = (theme: Theme): string => {\n  return mergeStyles({\n    display: 'inline-grid',\n    gridTemplateColumns: 'auto auto auto auto auto',\n    border: `solid 1px ${theme.palette.neutralTertiaryAlt}`\n  });\n};\n\n/**\n * @private\n */\nexport const insertTableMenuTitleStyles = mergeStyles({\n  width: '100%',\n  height: '1rem',\n  fontSize: '0.75rem',\n  marginBottom: '0.5rem'\n});\n\n/**\n * @private\n */\nexport const tableContextMenuIconStyles = mergeStyles({\n  marginTop: '0.375rem'\n});\n"]}
         
     | 
| 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            import { IIconProps, MessageBarType } from '@fluentui/react';
         
     | 
| 
       2 
2 
     | 
    
         
             
            import { ActiveErrorMessage, ErrorType } from './ErrorBar';
         
     | 
| 
       3 
3 
     | 
    
         
             
            import { _SupportedSpokenLanguage } from '../types';
         
     | 
| 
       4 
     | 
    
         
            -
            import { NotificationType } from './Notifications';
         
     | 
| 
      
 4 
     | 
    
         
            +
            import { ActiveNotification, NotificationType } from './Notifications';
         
     | 
| 
       5 
5 
     | 
    
         
             
            /**
         
     | 
| 
       6 
6 
     | 
    
         
             
             * @private
         
     | 
| 
       7 
7 
     | 
    
         
             
             *
         
     | 
| 
         @@ -25,6 +25,14 @@ export interface DismissedError { 
     | 
|
| 
       25 
25 
     | 
    
         
             
                dismissedAt: Date;
         
     | 
| 
       26 
26 
     | 
    
         
             
                activeSince?: Date;
         
     | 
| 
       27 
27 
     | 
    
         
             
            }
         
     | 
| 
      
 28 
     | 
    
         
            +
            /**
         
     | 
| 
      
 29 
     | 
    
         
            +
             * @private
         
     | 
| 
      
 30 
     | 
    
         
            +
             */
         
     | 
| 
      
 31 
     | 
    
         
            +
            export interface DismissedNotification {
         
     | 
| 
      
 32 
     | 
    
         
            +
                type: NotificationType;
         
     | 
| 
      
 33 
     | 
    
         
            +
                dismissedAt: Date;
         
     | 
| 
      
 34 
     | 
    
         
            +
                activeSince?: Date;
         
     | 
| 
      
 35 
     | 
    
         
            +
            }
         
     | 
| 
       28 
36 
     | 
    
         
             
            /**
         
     | 
| 
       29 
37 
     | 
    
         
             
             * @private
         
     | 
| 
       30 
38 
     | 
    
         
             
             * @param dismissedErrors
         
     | 
| 
         @@ -41,6 +49,22 @@ export declare const dismissError: (dismissedErrors: DismissedError[], toDismiss 
     | 
|
| 
       41 
49 
     | 
    
         
             
             *  Returns a new Array if and only if contents change, to avoid re-rendering when nothing was dropped.
         
     | 
| 
       42 
50 
     | 
    
         
             
             */
         
     | 
| 
       43 
51 
     | 
    
         
             
            export declare const dropDismissalsForInactiveErrors: (activeErrorMessages: ActiveErrorMessage[], dismissedErrors: DismissedError[]) => DismissedError[];
         
     | 
| 
      
 52 
     | 
    
         
            +
            /**
         
     | 
| 
      
 53 
     | 
    
         
            +
             * @private
         
     | 
| 
      
 54 
     | 
    
         
            +
             * @param dismissedNotifications
         
     | 
| 
      
 55 
     | 
    
         
            +
             * @param toDismiss
         
     | 
| 
      
 56 
     | 
    
         
            +
             * @returns DismissedNotification[]
         
     | 
| 
      
 57 
     | 
    
         
            +
             * Always returns a new Array so that the state variable is updated, trigerring a render.
         
     | 
| 
      
 58 
     | 
    
         
            +
             */
         
     | 
| 
      
 59 
     | 
    
         
            +
            export declare const dismissNotification: (dismissedNotifications: DismissedNotification[], toDismiss: ActiveNotification) => DismissedNotification[];
         
     | 
| 
      
 60 
     | 
    
         
            +
            /**
         
     | 
| 
      
 61 
     | 
    
         
            +
             * @private
         
     | 
| 
      
 62 
     | 
    
         
            +
             * @param activeNotifications
         
     | 
| 
      
 63 
     | 
    
         
            +
             * @param dismissedNotifications
         
     | 
| 
      
 64 
     | 
    
         
            +
             * @returns DismissedError[]
         
     | 
| 
      
 65 
     | 
    
         
            +
             *  Returns a new Array if and only if contents change, to avoid re-rendering when nothing was dropped.
         
     | 
| 
      
 66 
     | 
    
         
            +
             */
         
     | 
| 
      
 67 
     | 
    
         
            +
            export declare const dropDismissalsForInactiveNotifications: (activeNotifications: ActiveNotification[], dismissedNotifications: DismissedNotification[]) => DismissedNotification[];
         
     | 
| 
       44 
68 
     | 
    
         
             
            /**
         
     | 
| 
       45 
69 
     | 
    
         
             
             * @private
         
     | 
| 
       46 
70 
     | 
    
         
             
             * @param activeErrorMessages
         
     | 
| 
         @@ -48,6 +72,13 @@ export declare const dropDismissalsForInactiveErrors: (activeErrorMessages: Acti 
     | 
|
| 
       48 
72 
     | 
    
         
             
             * @returns ActiveErrorMessage[]
         
     | 
| 
       49 
73 
     | 
    
         
             
             */
         
     | 
| 
       50 
74 
     | 
    
         
             
            export declare const errorsToShow: (activeErrorMessages: ActiveErrorMessage[], dismissedErrors: DismissedError[], mountTimestamp?: Date) => ActiveErrorMessage[];
         
     | 
| 
      
 75 
     | 
    
         
            +
            /**
         
     | 
| 
      
 76 
     | 
    
         
            +
             * @private
         
     | 
| 
      
 77 
     | 
    
         
            +
             * @param activeNotifications
         
     | 
| 
      
 78 
     | 
    
         
            +
             * @param dismissedNotifications
         
     | 
| 
      
 79 
     | 
    
         
            +
             * @returns ActiveNotification[]
         
     | 
| 
      
 80 
     | 
    
         
            +
             */
         
     | 
| 
      
 81 
     | 
    
         
            +
            export declare const notificationsToShow: (activeNotifications: ActiveNotification[], dismissedNotifications: DismissedNotification[], mountTimestamp?: Date) => ActiveNotification[];
         
     | 
| 
       51 
82 
     | 
    
         
             
            /**
         
     | 
| 
       52 
83 
     | 
    
         
             
             * @private
         
     | 
| 
       53 
84 
     | 
    
         
             
             * @param errorType
         
     | 
| 
         @@ -73,6 +73,61 @@ export const dropDismissalsForInactiveErrors = (activeErrorMessages, dismissedEr 
     | 
|
| 
       73 
73 
     | 
    
         
             
                }
         
     | 
| 
       74 
74 
     | 
    
         
             
                return dismissedErrors;
         
     | 
| 
       75 
75 
     | 
    
         
             
            };
         
     | 
| 
      
 76 
     | 
    
         
            +
            /**
         
     | 
| 
      
 77 
     | 
    
         
            +
             * @private
         
     | 
| 
      
 78 
     | 
    
         
            +
             * @param dismissedNotifications
         
     | 
| 
      
 79 
     | 
    
         
            +
             * @param toDismiss
         
     | 
| 
      
 80 
     | 
    
         
            +
             * @returns DismissedNotification[]
         
     | 
| 
      
 81 
     | 
    
         
            +
             * Always returns a new Array so that the state variable is updated, trigerring a render.
         
     | 
| 
      
 82 
     | 
    
         
            +
             */
         
     | 
| 
      
 83 
     | 
    
         
            +
            export const dismissNotification = (dismissedNotifications, toDismiss) => {
         
     | 
| 
      
 84 
     | 
    
         
            +
                var _a;
         
     | 
| 
      
 85 
     | 
    
         
            +
                const now = new Date(Date.now());
         
     | 
| 
      
 86 
     | 
    
         
            +
                for (const notification of dismissedNotifications) {
         
     | 
| 
      
 87 
     | 
    
         
            +
                    if (notification.type === toDismiss.type) {
         
     | 
| 
      
 88 
     | 
    
         
            +
                        // Bump the timestamp for latest dismissal of this error to now.
         
     | 
| 
      
 89 
     | 
    
         
            +
                        notification.dismissedAt = now;
         
     | 
| 
      
 90 
     | 
    
         
            +
                        notification.activeSince = toDismiss.timestamp;
         
     | 
| 
      
 91 
     | 
    
         
            +
                        return Array.from(dismissedNotifications);
         
     | 
| 
      
 92 
     | 
    
         
            +
                    }
         
     | 
| 
      
 93 
     | 
    
         
            +
                }
         
     | 
| 
      
 94 
     | 
    
         
            +
                const toDismissTimestamp = (_a = toDismiss.timestamp) !== null && _a !== void 0 ? _a : now;
         
     | 
| 
      
 95 
     | 
    
         
            +
                // Record that this error was dismissed for the first time right now.
         
     | 
| 
      
 96 
     | 
    
         
            +
                return [
         
     | 
| 
      
 97 
     | 
    
         
            +
                    ...dismissedNotifications,
         
     | 
| 
      
 98 
     | 
    
         
            +
                    {
         
     | 
| 
      
 99 
     | 
    
         
            +
                        type: toDismiss.type,
         
     | 
| 
      
 100 
     | 
    
         
            +
                        // the error time could be sometimes later than the button click time, which cause the dismiss not working
         
     | 
| 
      
 101 
     | 
    
         
            +
                        // so we set the dismiss time to the later one
         
     | 
| 
      
 102 
     | 
    
         
            +
                        dismissedAt: now > toDismissTimestamp ? now : toDismissTimestamp,
         
     | 
| 
      
 103 
     | 
    
         
            +
                        activeSince: toDismiss.timestamp
         
     | 
| 
      
 104 
     | 
    
         
            +
                    }
         
     | 
| 
      
 105 
     | 
    
         
            +
                ];
         
     | 
| 
      
 106 
     | 
    
         
            +
            };
         
     | 
| 
      
 107 
     | 
    
         
            +
            /**
         
     | 
| 
      
 108 
     | 
    
         
            +
             * @private
         
     | 
| 
      
 109 
     | 
    
         
            +
             * @param activeNotifications
         
     | 
| 
      
 110 
     | 
    
         
            +
             * @param dismissedNotifications
         
     | 
| 
      
 111 
     | 
    
         
            +
             * @returns DismissedError[]
         
     | 
| 
      
 112 
     | 
    
         
            +
             *  Returns a new Array if and only if contents change, to avoid re-rendering when nothing was dropped.
         
     | 
| 
      
 113 
     | 
    
         
            +
             */
         
     | 
| 
      
 114 
     | 
    
         
            +
            export const dropDismissalsForInactiveNotifications = (activeNotifications, dismissedNotifications) => {
         
     | 
| 
      
 115 
     | 
    
         
            +
                const active = new Map();
         
     | 
| 
      
 116 
     | 
    
         
            +
                for (const message of activeNotifications) {
         
     | 
| 
      
 117 
     | 
    
         
            +
                    active.set(message.type, message);
         
     | 
| 
      
 118 
     | 
    
         
            +
                }
         
     | 
| 
      
 119 
     | 
    
         
            +
                // For an error such that:
         
     | 
| 
      
 120 
     | 
    
         
            +
                // * It was previously active, and dismissed.
         
     | 
| 
      
 121 
     | 
    
         
            +
                // * It did not have a timestamp associated with it.
         
     | 
| 
      
 122 
     | 
    
         
            +
                // * It is no longer active.
         
     | 
| 
      
 123 
     | 
    
         
            +
                //
         
     | 
| 
      
 124 
     | 
    
         
            +
                // We remove it from dismissals. When it becomes active again next time, it will be shown again on the UI.
         
     | 
| 
      
 125 
     | 
    
         
            +
                const shouldDeleteDismissal = (dismissed) => dismissed.activeSince === undefined && active.get(dismissed.type) === undefined;
         
     | 
| 
      
 126 
     | 
    
         
            +
                if (dismissedNotifications.some((dismissed) => shouldDeleteDismissal(dismissed))) {
         
     | 
| 
      
 127 
     | 
    
         
            +
                    return dismissedNotifications.filter((dismissed) => !shouldDeleteDismissal(dismissed));
         
     | 
| 
      
 128 
     | 
    
         
            +
                }
         
     | 
| 
      
 129 
     | 
    
         
            +
                return dismissedNotifications;
         
     | 
| 
      
 130 
     | 
    
         
            +
            };
         
     | 
| 
       76 
131 
     | 
    
         
             
            /**
         
     | 
| 
       77 
132 
     | 
    
         
             
             * @private
         
     | 
| 
       78 
133 
     | 
    
         
             
             * @param activeErrorMessages
         
     | 
| 
         @@ -102,6 +157,35 @@ export const errorsToShow = (activeErrorMessages, dismissedErrors, mountTimestam 
     | 
|
| 
       102 
157 
     | 
    
         
             
                    return error.timestamp > dismissal.dismissedAt;
         
     | 
| 
       103 
158 
     | 
    
         
             
                });
         
     | 
| 
       104 
159 
     | 
    
         
             
            };
         
     | 
| 
      
 160 
     | 
    
         
            +
            /**
         
     | 
| 
      
 161 
     | 
    
         
            +
             * @private
         
     | 
| 
      
 162 
     | 
    
         
            +
             * @param activeNotifications
         
     | 
| 
      
 163 
     | 
    
         
            +
             * @param dismissedNotifications
         
     | 
| 
      
 164 
     | 
    
         
            +
             * @returns ActiveNotification[]
         
     | 
| 
      
 165 
     | 
    
         
            +
             */
         
     | 
| 
      
 166 
     | 
    
         
            +
            export const notificationsToShow = (activeNotifications, dismissedNotifications, mountTimestamp) => {
         
     | 
| 
      
 167 
     | 
    
         
            +
                const dismissed = new Map();
         
     | 
| 
      
 168 
     | 
    
         
            +
                for (const notification of dismissedNotifications) {
         
     | 
| 
      
 169 
     | 
    
         
            +
                    dismissed.set(notification.type, notification);
         
     | 
| 
      
 170 
     | 
    
         
            +
                }
         
     | 
| 
      
 171 
     | 
    
         
            +
                return activeNotifications.filter((notification) => {
         
     | 
| 
      
 172 
     | 
    
         
            +
                    if (mountTimestamp && notification.timestamp && mountTimestamp > notification.timestamp) {
         
     | 
| 
      
 173 
     | 
    
         
            +
                        // Notification has a timestamp and it is older than when the component was mounted.
         
     | 
| 
      
 174 
     | 
    
         
            +
                        return false;
         
     | 
| 
      
 175 
     | 
    
         
            +
                    }
         
     | 
| 
      
 176 
     | 
    
         
            +
                    const dismissal = dismissed.get(notification.type);
         
     | 
| 
      
 177 
     | 
    
         
            +
                    if (!dismissal) {
         
     | 
| 
      
 178 
     | 
    
         
            +
                        // This error was never dismissed.
         
     | 
| 
      
 179 
     | 
    
         
            +
                        return true;
         
     | 
| 
      
 180 
     | 
    
         
            +
                    }
         
     | 
| 
      
 181 
     | 
    
         
            +
                    if (!notification.timestamp) {
         
     | 
| 
      
 182 
     | 
    
         
            +
                        // No timestamp associated with the error. In this case, the existence of a dismissal is enough to suppress the error.
         
     | 
| 
      
 183 
     | 
    
         
            +
                        return false;
         
     | 
| 
      
 184 
     | 
    
         
            +
                    }
         
     | 
| 
      
 185 
     | 
    
         
            +
                    // Error has an associated timestamp, so compare with last dismissal.
         
     | 
| 
      
 186 
     | 
    
         
            +
                    return notification.timestamp > dismissal.dismissedAt;
         
     | 
| 
      
 187 
     | 
    
         
            +
                });
         
     | 
| 
      
 188 
     | 
    
         
            +
            };
         
     | 
| 
       105 
189 
     | 
    
         
             
            /**
         
     | 
| 
       106 
190 
     | 
    
         
             
             * @private
         
     | 
| 
       107 
191 
     | 
    
         
             
             * @param errorType
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { IIconProps, MessageBarType } from '@fluentui/react';\nimport { ActiveErrorMessage, ErrorType } from './ErrorBar';\nimport { _SupportedSpokenLanguage } from '../types';\nimport { NotificationType } from './Notifications';\n\n/**\n * @private\n *\n * @param fileName\n * @param length\n * @returns string\n */\nexport const truncatedFileName = (fileName: string, length: number): string => {\n  return fileName.substring(0, length).trimEnd() + (fileName.length > length ? '... ' : '');\n};\n\n/**\n * @private\n *\n * @param fileName\n * @returns string\n */\nexport const extension = (fileName: string): string => fileName.split('.').pop() || '';\n\n/**\n * @private\n */\nexport interface DismissedError {\n  type: ErrorType;\n  dismissedAt: Date;\n  activeSince?: Date;\n}\n\n/**\n * @private\n * @param dismissedErrors\n * @param toDismiss\n * @returns DismissedError[]\n * Always returns a new Array so that the state variable is updated, trigerring a render.\n */\nexport const dismissError = (dismissedErrors: DismissedError[], toDismiss: ActiveErrorMessage): DismissedError[] => {\n  const now = new Date(Date.now());\n  for (const error of dismissedErrors) {\n    if (error.type === toDismiss.type) {\n      // Bump the timestamp for latest dismissal of this error to now.\n      error.dismissedAt = now;\n      error.activeSince = toDismiss.timestamp;\n      return Array.from(dismissedErrors);\n    }\n  }\n\n  const toDismissTimestamp = toDismiss.timestamp ?? now;\n\n  // Record that this error was dismissed for the first time right now.\n  return [\n    ...dismissedErrors,\n    {\n      type: toDismiss.type,\n      // the error time could be sometimes later than the button click time, which cause the dismiss not working\n      // so we set the dismiss time to the later one\n      dismissedAt: now > toDismissTimestamp ? now : toDismissTimestamp,\n      activeSince: toDismiss.timestamp\n    }\n  ];\n};\n\n/**\n * @private\n * @param activeErrorMessages\n * @param dismissedErrors\n * @returns DismissedError[]\n *  Returns a new Array if and only if contents change, to avoid re-rendering when nothing was dropped.\n */\nexport const dropDismissalsForInactiveErrors = (\n  activeErrorMessages: ActiveErrorMessage[],\n  dismissedErrors: DismissedError[]\n): DismissedError[] => {\n  const active = new Map();\n  for (const message of activeErrorMessages) {\n    active.set(message.type, message);\n  }\n\n  // For an error such that:\n  // * It was previously active, and dismissed.\n  // * It did not have a timestamp associated with it.\n  // * It is no longer active.\n  //\n  // We remove it from dismissals. When it becomes active again next time, it will be shown again on the UI.\n  const shouldDeleteDismissal = (dismissed: DismissedError): boolean =>\n    dismissed.activeSince === undefined && active.get(dismissed.type) === undefined;\n\n  if (dismissedErrors.some((dismissed) => shouldDeleteDismissal(dismissed))) {\n    return dismissedErrors.filter((dismissed) => !shouldDeleteDismissal(dismissed));\n  }\n  return dismissedErrors;\n};\n\n/**\n * @private\n * @param activeErrorMessages\n * @param dismissedErrors\n * @returns ActiveErrorMessage[]\n */\nexport const errorsToShow = (\n  activeErrorMessages: ActiveErrorMessage[],\n  dismissedErrors: DismissedError[],\n  mountTimestamp?: Date\n): ActiveErrorMessage[] => {\n  const dismissed: Map<ErrorType, DismissedError> = new Map();\n  for (const error of dismissedErrors) {\n    dismissed.set(error.type, error);\n  }\n\n  return activeErrorMessages.filter((error) => {\n    if (mountTimestamp && error.timestamp && mountTimestamp > error.timestamp) {\n      // Error has a timestamp and it is older than when the component was mounted.\n      return false;\n    }\n\n    const dismissal = dismissed.get(error.type);\n    if (!dismissal) {\n      // This error was never dismissed.\n      return true;\n    }\n    if (!error.timestamp) {\n      // No timestamp associated with the error. In this case, the existence of a dismissal is enough to suppress the error.\n      return false;\n    }\n    // Error has an associated timestamp, so compare with last dismissal.\n    return error.timestamp > dismissal.dismissedAt;\n  });\n};\n\n/**\n * @private\n * @param errorType\n * @returns MessageBarType\n */\nexport const messageBarType = (errorType: ErrorType): MessageBarType => {\n  switch (errorType) {\n    case 'callNetworkQualityLow':\n    case 'callNoSpeakerFound':\n    case 'callNoMicrophoneFound':\n    case 'callMicrophoneAccessDenied':\n    case 'callMicrophoneAccessDeniedSafari':\n    case 'callMicrophoneMutedBySystem':\n    case 'callMicrophoneUnmutedBySystem':\n    case 'callMacOsMicrophoneAccessDenied':\n    case 'callLocalVideoFreeze':\n    case 'callCameraAccessDenied':\n    case 'callCameraAccessDeniedSafari':\n    case 'callCameraAlreadyInUse':\n    case 'callVideoStoppedBySystem':\n    case 'callVideoRecoveredBySystem':\n    case 'callMacOsCameraAccessDenied':\n    case 'callMacOsScreenShareAccessDenied':\n    case 'startScreenShareGeneric':\n    case 'cameraFrozenForRemoteParticipants':\n      return MessageBarType.warning;\n    default:\n      return MessageBarType.error;\n  }\n};\n\n/**\n * @private\n * @param errorType\n * @returns IIconProps | undefined\n */\nexport const messageBarIconProps = (errorType: ErrorType): IIconProps | undefined => {\n  const iconName = customIconName[errorType];\n  return iconName ? { iconName } : undefined;\n};\n\n/**\n * @private\n */\nexport const customIconName: Partial<{ [key in ErrorType]: string }> = {\n  callNetworkQualityLow: 'ErrorBarCallNetworkQualityLow',\n  callNoSpeakerFound: 'ErrorBarCallNoSpeakerFound',\n  callNoMicrophoneFound: 'ErrorBarCallNoMicrophoneFound',\n  callMicrophoneAccessDenied: 'ErrorBarCallMicrophoneAccessDenied',\n  callMicrophoneAccessDeniedSafari: 'ErrorBarCallMicrophoneAccessDenied',\n  callMicrophoneMutedBySystem: 'ErrorBarCallMicrophoneMutedBySystem',\n  callMicrophoneUnmutedBySystem: 'ErrorBarCallMicrophoneUnmutedBySystem',\n  callMacOsMicrophoneAccessDenied: 'ErrorBarCallMacOsMicrophoneAccessDenied',\n  callLocalVideoFreeze: 'ErrorBarCallLocalVideoFreeze',\n  callCameraAccessDenied: 'ErrorBarCallCameraAccessDenied',\n  callCameraAccessDeniedSafari: 'ErrorBarCallCameraAccessDenied',\n  callCameraAlreadyInUse: 'ErrorBarCallCameraAlreadyInUse',\n  callVideoStoppedBySystem: 'ErrorBarCallVideoStoppedBySystem',\n  callVideoRecoveredBySystem: 'ErrorBarCallVideoRecoveredBySystem',\n  callMacOsCameraAccessDenied: 'ErrorBarCallMacOsCameraAccessDenied'\n};\n\n/**\n * @private\n * @param NotificationType\n * @returns IIconProps | undefined\n */\nexport const NotificationIconProps = (notificationType: NotificationType): IIconProps | undefined => {\n  const iconName = customNotificationIconName[notificationType];\n  return iconName ? { iconName } : undefined;\n};\n\n/**\n * @private\n */\nexport const customNotificationIconName: Partial<{ [key in NotificationType]: string }> = {\n  callNetworkQualityLow: 'ErrorBarCallNetworkQualityLow',\n  callNoSpeakerFound: 'ErrorBarCallNoSpeakerFound',\n  callNoMicrophoneFound: 'ErrorBarCallNoMicrophoneFound',\n  callMicrophoneAccessDenied: 'ErrorBarCallMicrophoneAccessDenied',\n  callMicrophoneAccessDeniedSafari: 'ErrorBarCallMicrophoneAccessDenied',\n  callMicrophoneMutedBySystem: 'ErrorBarCallMicrophoneMutedBySystem',\n  callMicrophoneUnmutedBySystem: 'ErrorBarCallMicrophoneUnmutedBySystem',\n  callMacOsMicrophoneAccessDenied: 'ErrorBarCallMacOsMicrophoneAccessDenied',\n  callLocalVideoFreeze: 'ErrorBarCallLocalVideoFreeze',\n  callCameraAccessDenied: 'ErrorBarCallCameraAccessDenied',\n  callCameraAccessDeniedSafari: 'ErrorBarCallCameraAccessDenied',\n  callCameraAlreadyInUse: 'ErrorBarCallCameraAlreadyInUse',\n  callVideoStoppedBySystem: 'ErrorBarCallVideoStoppedBySystem',\n  callVideoRecoveredBySystem: 'ErrorBarCallVideoRecoveredBySystem',\n  callMacOsCameraAccessDenied: 'ErrorBarCallMacOsCameraAccessDenied'\n};\n\n/**\n * @private\n */\nexport const isValidString = (string: string | undefined): string is string => {\n  return !!string && string.length > 0;\n};\n\n/**\n * Chunk an array into rows of a given size.\n * @private\n */\nexport function chunk<T>(options: T[], itemsPerRow: number): T[][] {\n  const rows: T[][] = [];\n  let currentRow: T[] = [];\n  for (const option of options) {\n    currentRow.push(option);\n    if (currentRow.length === itemsPerRow) {\n      rows.push(currentRow);\n      currentRow = [];\n    }\n  }\n  if (currentRow.length > 0) {\n    rows.push(currentRow);\n  }\n  return rows;\n}\n\n/**\n * @private\n */\nexport const defaultSpokenLanguage: _SupportedSpokenLanguage = 'en-us';\n\n/**\n * @private\n */\nconst SAFARI_COMPOSITION_KEYCODE = 229;\n/**\n * Determine if the press of the enter key is from a composition session or not (Safari only)\n *\n * @private\n */\nexport const isEnterKeyEventFromCompositionSession = (e: KeyboardEvent): boolean =>\n  // Uses KeyCode 229 and which code 229 to determine if the press of the enter key is from a composition session or not (Safari only)\n  e.isComposing || e.keyCode === SAFARI_COMPOSITION_KEYCODE || e.which === SAFARI_COMPOSITION_KEYCODE;\n\n/**\n * @private\n */\nexport const nullToUndefined = <T>(value: T | null): T | undefined => (value === null ? undefined : value);\n"]}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../../react-components/src/components/utils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { IIconProps, MessageBarType } from '@fluentui/react';\nimport { ActiveErrorMessage, ErrorType } from './ErrorBar';\nimport { _SupportedSpokenLanguage } from '../types';\nimport { ActiveNotification, NotificationType } from './Notifications';\n\n/**\n * @private\n *\n * @param fileName\n * @param length\n * @returns string\n */\nexport const truncatedFileName = (fileName: string, length: number): string => {\n  return fileName.substring(0, length).trimEnd() + (fileName.length > length ? '... ' : '');\n};\n\n/**\n * @private\n *\n * @param fileName\n * @returns string\n */\nexport const extension = (fileName: string): string => fileName.split('.').pop() || '';\n\n/**\n * @private\n */\nexport interface DismissedError {\n  type: ErrorType;\n  dismissedAt: Date;\n  activeSince?: Date;\n}\n\n/**\n * @private\n */\nexport interface DismissedNotification {\n  type: NotificationType;\n  dismissedAt: Date;\n  activeSince?: Date;\n}\n\n/**\n * @private\n * @param dismissedErrors\n * @param toDismiss\n * @returns DismissedError[]\n * Always returns a new Array so that the state variable is updated, trigerring a render.\n */\nexport const dismissError = (dismissedErrors: DismissedError[], toDismiss: ActiveErrorMessage): DismissedError[] => {\n  const now = new Date(Date.now());\n  for (const error of dismissedErrors) {\n    if (error.type === toDismiss.type) {\n      // Bump the timestamp for latest dismissal of this error to now.\n      error.dismissedAt = now;\n      error.activeSince = toDismiss.timestamp;\n      return Array.from(dismissedErrors);\n    }\n  }\n\n  const toDismissTimestamp = toDismiss.timestamp ?? now;\n\n  // Record that this error was dismissed for the first time right now.\n  return [\n    ...dismissedErrors,\n    {\n      type: toDismiss.type,\n      // the error time could be sometimes later than the button click time, which cause the dismiss not working\n      // so we set the dismiss time to the later one\n      dismissedAt: now > toDismissTimestamp ? now : toDismissTimestamp,\n      activeSince: toDismiss.timestamp\n    }\n  ];\n};\n\n/**\n * @private\n * @param activeErrorMessages\n * @param dismissedErrors\n * @returns DismissedError[]\n *  Returns a new Array if and only if contents change, to avoid re-rendering when nothing was dropped.\n */\nexport const dropDismissalsForInactiveErrors = (\n  activeErrorMessages: ActiveErrorMessage[],\n  dismissedErrors: DismissedError[]\n): DismissedError[] => {\n  const active = new Map();\n  for (const message of activeErrorMessages) {\n    active.set(message.type, message);\n  }\n\n  // For an error such that:\n  // * It was previously active, and dismissed.\n  // * It did not have a timestamp associated with it.\n  // * It is no longer active.\n  //\n  // We remove it from dismissals. When it becomes active again next time, it will be shown again on the UI.\n  const shouldDeleteDismissal = (dismissed: DismissedError): boolean =>\n    dismissed.activeSince === undefined && active.get(dismissed.type) === undefined;\n\n  if (dismissedErrors.some((dismissed) => shouldDeleteDismissal(dismissed))) {\n    return dismissedErrors.filter((dismissed) => !shouldDeleteDismissal(dismissed));\n  }\n  return dismissedErrors;\n};\n\n/**\n * @private\n * @param dismissedNotifications\n * @param toDismiss\n * @returns DismissedNotification[]\n * Always returns a new Array so that the state variable is updated, trigerring a render.\n */\nexport const dismissNotification = (\n  dismissedNotifications: DismissedNotification[],\n  toDismiss: ActiveNotification\n): DismissedNotification[] => {\n  const now = new Date(Date.now());\n  for (const notification of dismissedNotifications) {\n    if (notification.type === toDismiss.type) {\n      // Bump the timestamp for latest dismissal of this error to now.\n      notification.dismissedAt = now;\n      notification.activeSince = toDismiss.timestamp;\n      return Array.from(dismissedNotifications);\n    }\n  }\n\n  const toDismissTimestamp = toDismiss.timestamp ?? now;\n\n  // Record that this error was dismissed for the first time right now.\n  return [\n    ...dismissedNotifications,\n    {\n      type: toDismiss.type,\n      // the error time could be sometimes later than the button click time, which cause the dismiss not working\n      // so we set the dismiss time to the later one\n      dismissedAt: now > toDismissTimestamp ? now : toDismissTimestamp,\n      activeSince: toDismiss.timestamp\n    }\n  ];\n};\n\n/**\n * @private\n * @param activeNotifications\n * @param dismissedNotifications\n * @returns DismissedError[]\n *  Returns a new Array if and only if contents change, to avoid re-rendering when nothing was dropped.\n */\nexport const dropDismissalsForInactiveNotifications = (\n  activeNotifications: ActiveNotification[],\n  dismissedNotifications: DismissedNotification[]\n): DismissedNotification[] => {\n  const active = new Map();\n  for (const message of activeNotifications) {\n    active.set(message.type, message);\n  }\n\n  // For an error such that:\n  // * It was previously active, and dismissed.\n  // * It did not have a timestamp associated with it.\n  // * It is no longer active.\n  //\n  // We remove it from dismissals. When it becomes active again next time, it will be shown again on the UI.\n  const shouldDeleteDismissal = (dismissed: DismissedNotification): boolean =>\n    dismissed.activeSince === undefined && active.get(dismissed.type) === undefined;\n\n  if (dismissedNotifications.some((dismissed) => shouldDeleteDismissal(dismissed))) {\n    return dismissedNotifications.filter((dismissed) => !shouldDeleteDismissal(dismissed));\n  }\n  return dismissedNotifications;\n};\n\n/**\n * @private\n * @param activeErrorMessages\n * @param dismissedErrors\n * @returns ActiveErrorMessage[]\n */\nexport const errorsToShow = (\n  activeErrorMessages: ActiveErrorMessage[],\n  dismissedErrors: DismissedError[],\n  mountTimestamp?: Date\n): ActiveErrorMessage[] => {\n  const dismissed: Map<ErrorType, DismissedError> = new Map();\n  for (const error of dismissedErrors) {\n    dismissed.set(error.type, error);\n  }\n\n  return activeErrorMessages.filter((error) => {\n    if (mountTimestamp && error.timestamp && mountTimestamp > error.timestamp) {\n      // Error has a timestamp and it is older than when the component was mounted.\n      return false;\n    }\n\n    const dismissal = dismissed.get(error.type);\n    if (!dismissal) {\n      // This error was never dismissed.\n      return true;\n    }\n    if (!error.timestamp) {\n      // No timestamp associated with the error. In this case, the existence of a dismissal is enough to suppress the error.\n      return false;\n    }\n    // Error has an associated timestamp, so compare with last dismissal.\n    return error.timestamp > dismissal.dismissedAt;\n  });\n};\n\n/**\n * @private\n * @param activeNotifications\n * @param dismissedNotifications\n * @returns ActiveNotification[]\n */\nexport const notificationsToShow = (\n  activeNotifications: ActiveNotification[],\n  dismissedNotifications: DismissedNotification[],\n  mountTimestamp?: Date\n): ActiveNotification[] => {\n  const dismissed: Map<ErrorType, DismissedError> = new Map();\n  for (const notification of dismissedNotifications) {\n    dismissed.set(notification.type, notification);\n  }\n\n  return activeNotifications.filter((notification) => {\n    if (mountTimestamp && notification.timestamp && mountTimestamp > notification.timestamp) {\n      // Notification has a timestamp and it is older than when the component was mounted.\n      return false;\n    }\n\n    const dismissal = dismissed.get(notification.type);\n    if (!dismissal) {\n      // This error was never dismissed.\n      return true;\n    }\n    if (!notification.timestamp) {\n      // No timestamp associated with the error. In this case, the existence of a dismissal is enough to suppress the error.\n      return false;\n    }\n    // Error has an associated timestamp, so compare with last dismissal.\n    return notification.timestamp > dismissal.dismissedAt;\n  });\n};\n\n/**\n * @private\n * @param errorType\n * @returns MessageBarType\n */\nexport const messageBarType = (errorType: ErrorType): MessageBarType => {\n  switch (errorType) {\n    case 'callNetworkQualityLow':\n    case 'callNoSpeakerFound':\n    case 'callNoMicrophoneFound':\n    case 'callMicrophoneAccessDenied':\n    case 'callMicrophoneAccessDeniedSafari':\n    case 'callMicrophoneMutedBySystem':\n    case 'callMicrophoneUnmutedBySystem':\n    case 'callMacOsMicrophoneAccessDenied':\n    case 'callLocalVideoFreeze':\n    case 'callCameraAccessDenied':\n    case 'callCameraAccessDeniedSafari':\n    case 'callCameraAlreadyInUse':\n    case 'callVideoStoppedBySystem':\n    case 'callVideoRecoveredBySystem':\n    case 'callMacOsCameraAccessDenied':\n    case 'callMacOsScreenShareAccessDenied':\n    case 'startScreenShareGeneric':\n    case 'cameraFrozenForRemoteParticipants':\n      return MessageBarType.warning;\n    default:\n      return MessageBarType.error;\n  }\n};\n\n/**\n * @private\n * @param errorType\n * @returns IIconProps | undefined\n */\nexport const messageBarIconProps = (errorType: ErrorType): IIconProps | undefined => {\n  const iconName = customIconName[errorType];\n  return iconName ? { iconName } : undefined;\n};\n\n/**\n * @private\n */\nexport const customIconName: Partial<{ [key in ErrorType]: string }> = {\n  callNetworkQualityLow: 'ErrorBarCallNetworkQualityLow',\n  callNoSpeakerFound: 'ErrorBarCallNoSpeakerFound',\n  callNoMicrophoneFound: 'ErrorBarCallNoMicrophoneFound',\n  callMicrophoneAccessDenied: 'ErrorBarCallMicrophoneAccessDenied',\n  callMicrophoneAccessDeniedSafari: 'ErrorBarCallMicrophoneAccessDenied',\n  callMicrophoneMutedBySystem: 'ErrorBarCallMicrophoneMutedBySystem',\n  callMicrophoneUnmutedBySystem: 'ErrorBarCallMicrophoneUnmutedBySystem',\n  callMacOsMicrophoneAccessDenied: 'ErrorBarCallMacOsMicrophoneAccessDenied',\n  callLocalVideoFreeze: 'ErrorBarCallLocalVideoFreeze',\n  callCameraAccessDenied: 'ErrorBarCallCameraAccessDenied',\n  callCameraAccessDeniedSafari: 'ErrorBarCallCameraAccessDenied',\n  callCameraAlreadyInUse: 'ErrorBarCallCameraAlreadyInUse',\n  callVideoStoppedBySystem: 'ErrorBarCallVideoStoppedBySystem',\n  callVideoRecoveredBySystem: 'ErrorBarCallVideoRecoveredBySystem',\n  callMacOsCameraAccessDenied: 'ErrorBarCallMacOsCameraAccessDenied'\n};\n\n/**\n * @private\n * @param NotificationType\n * @returns IIconProps | undefined\n */\nexport const NotificationIconProps = (notificationType: NotificationType): IIconProps | undefined => {\n  const iconName = customNotificationIconName[notificationType];\n  return iconName ? { iconName } : undefined;\n};\n\n/**\n * @private\n */\nexport const customNotificationIconName: Partial<{ [key in NotificationType]: string }> = {\n  callNetworkQualityLow: 'ErrorBarCallNetworkQualityLow',\n  callNoSpeakerFound: 'ErrorBarCallNoSpeakerFound',\n  callNoMicrophoneFound: 'ErrorBarCallNoMicrophoneFound',\n  callMicrophoneAccessDenied: 'ErrorBarCallMicrophoneAccessDenied',\n  callMicrophoneAccessDeniedSafari: 'ErrorBarCallMicrophoneAccessDenied',\n  callMicrophoneMutedBySystem: 'ErrorBarCallMicrophoneMutedBySystem',\n  callMicrophoneUnmutedBySystem: 'ErrorBarCallMicrophoneUnmutedBySystem',\n  callMacOsMicrophoneAccessDenied: 'ErrorBarCallMacOsMicrophoneAccessDenied',\n  callLocalVideoFreeze: 'ErrorBarCallLocalVideoFreeze',\n  callCameraAccessDenied: 'ErrorBarCallCameraAccessDenied',\n  callCameraAccessDeniedSafari: 'ErrorBarCallCameraAccessDenied',\n  callCameraAlreadyInUse: 'ErrorBarCallCameraAlreadyInUse',\n  callVideoStoppedBySystem: 'ErrorBarCallVideoStoppedBySystem',\n  callVideoRecoveredBySystem: 'ErrorBarCallVideoRecoveredBySystem',\n  callMacOsCameraAccessDenied: 'ErrorBarCallMacOsCameraAccessDenied'\n};\n\n/**\n * @private\n */\nexport const isValidString = (string: string | undefined): string is string => {\n  return !!string && string.length > 0;\n};\n\n/**\n * Chunk an array into rows of a given size.\n * @private\n */\nexport function chunk<T>(options: T[], itemsPerRow: number): T[][] {\n  const rows: T[][] = [];\n  let currentRow: T[] = [];\n  for (const option of options) {\n    currentRow.push(option);\n    if (currentRow.length === itemsPerRow) {\n      rows.push(currentRow);\n      currentRow = [];\n    }\n  }\n  if (currentRow.length > 0) {\n    rows.push(currentRow);\n  }\n  return rows;\n}\n\n/**\n * @private\n */\nexport const defaultSpokenLanguage: _SupportedSpokenLanguage = 'en-us';\n\n/**\n * @private\n */\nconst SAFARI_COMPOSITION_KEYCODE = 229;\n/**\n * Determine if the press of the enter key is from a composition session or not (Safari only)\n *\n * @private\n */\nexport const isEnterKeyEventFromCompositionSession = (e: KeyboardEvent): boolean =>\n  // Uses KeyCode 229 and which code 229 to determine if the press of the enter key is from a composition session or not (Safari only)\n  e.isComposing || e.keyCode === SAFARI_COMPOSITION_KEYCODE || e.which === SAFARI_COMPOSITION_KEYCODE;\n\n/**\n * @private\n */\nexport const nullToUndefined = <T>(value: T | null): T | undefined => (value === null ? undefined : value);\n"]}
         
     | 
| 
         @@ -260,28 +260,6 @@ 
     | 
|
| 
       260 
260 
     | 
    
         
             
                    "startSpotlightWhileMaxParticipantsAreSpotlighted": "Cannot start spotlight on participant(s) because the maximum number of participants are already spotlighted."
         
     | 
| 
       261 
261 
     | 
    
         
             
                },
         
     | 
| 
       262 
262 
     | 
    
         
             
                "notifications": {
         
     | 
| 
       263 
     | 
    
         
            -
                    "unableToReachChatService": {
         
     | 
| 
       264 
     | 
    
         
            -
                        "title": "You are offline.",
         
     | 
| 
       265 
     | 
    
         
            -
                        "closeButtonAriaLabel": "Close"
         
     | 
| 
       266 
     | 
    
         
            -
                    },
         
     | 
| 
       267 
     | 
    
         
            -
                    "accessDenied": {
         
     | 
| 
       268 
     | 
    
         
            -
                        "title": "Unable to access chat services",
         
     | 
| 
       269 
     | 
    
         
            -
                        "message": "Please check the user credentials provided",
         
     | 
| 
       270 
     | 
    
         
            -
                        "closeButtonAriaLabel": "Close"
         
     | 
| 
       271 
     | 
    
         
            -
                    },
         
     | 
| 
       272 
     | 
    
         
            -
                    "userNotInChatThread": {
         
     | 
| 
       273 
     | 
    
         
            -
                        "title": "You are no longer in this chat thread.",
         
     | 
| 
       274 
     | 
    
         
            -
                        "closeButtonAriaLabel": "Close"
         
     | 
| 
       275 
     | 
    
         
            -
                    },
         
     | 
| 
       276 
     | 
    
         
            -
                    "sendMessageNotInChatThread": {
         
     | 
| 
       277 
     | 
    
         
            -
                        "title": "Failed to send message",
         
     | 
| 
       278 
     | 
    
         
            -
                        "message": "You are no longer in this chat thread",
         
     | 
| 
       279 
     | 
    
         
            -
                        "closeButtonAriaLabel": "Close"
         
     | 
| 
       280 
     | 
    
         
            -
                    },
         
     | 
| 
       281 
     | 
    
         
            -
                    "sendMessageGeneric": {
         
     | 
| 
       282 
     | 
    
         
            -
                        "title": "Failed to send message.",
         
     | 
| 
       283 
     | 
    
         
            -
                        "closeButtonAriaLabel": "Close"
         
     | 
| 
       284 
     | 
    
         
            -
                    },
         
     | 
| 
       285 
263 
     | 
    
         
             
                    "callingNetworkFailure": {
         
     | 
| 
       286 
264 
     | 
    
         
             
                        "title": "Troubling connecting call",
         
     | 
| 
       287 
265 
     | 
    
         
             
                        "message": "You seem to be offline. Please check your network connection and try again.",
         
     | 
| 
         @@ -436,7 +414,8 @@ 
     | 
|
| 
       436 
414 
     | 
    
         
             
                    "spotlightLimitReachedMenuTitle": "Spotlight limit reached",
         
     | 
| 
       437 
415 
     | 
    
         
             
                    "stopSpotlightVideoTileMenuLabel": "Stop spotlighting",
         
     | 
| 
       438 
416 
     | 
    
         
             
                    "stopSpotlightOnSelfVideoTileMenuLabel": "Exit spotlight",
         
     | 
| 
       439 
     | 
    
         
            -
                    "attendeeRole": "Attendee"
         
     | 
| 
      
 417 
     | 
    
         
            +
                    "attendeeRole": "Attendee",
         
     | 
| 
      
 418 
     | 
    
         
            +
                    "muteParticipantMenuItemLabel": "Mute"
         
     | 
| 
       440 
419 
     | 
    
         
             
                },
         
     | 
| 
       441 
420 
     | 
    
         
             
                "dialpad": {
         
     | 
| 
       442 
421 
     | 
    
         
             
                    "placeholderText": "Enter phone number",
         
     | 
| 
         @@ -1,5 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            // Copyright (c) Microsoft Corporation.
         
     | 
| 
       2 
2 
     | 
    
         
             
            // Licensed under the MIT License.
         
     | 
| 
      
 3 
     | 
    
         
            +
            import { createTheme } from '@fluentui/react';
         
     | 
| 
       3 
4 
     | 
    
         
             
            /**
         
     | 
| 
       4 
5 
     | 
    
         
             
             * Preset light theme for components exported from this library.
         
     | 
| 
       5 
6 
     | 
    
         
             
             *
         
     | 
| 
         @@ -43,12 +44,7 @@ export const lightTheme = { 
     | 
|
| 
       43 
44 
     | 
    
         
             
                    errorText: '#a80000'
         
     | 
| 
       44 
45 
     | 
    
         
             
                }
         
     | 
| 
       45 
46 
     | 
    
         
             
            };
         
     | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
       47 
     | 
    
         
            -
             * Preset dark theme for components exported from this library.
         
     | 
| 
       48 
     | 
    
         
            -
             *
         
     | 
| 
       49 
     | 
    
         
            -
             * @public
         
     | 
| 
       50 
     | 
    
         
            -
             */
         
     | 
| 
       51 
     | 
    
         
            -
            export const darkTheme = {
         
     | 
| 
      
 47 
     | 
    
         
            +
            const partialDarkTheme = {
         
     | 
| 
       52 
48 
     | 
    
         
             
                palette: {
         
     | 
| 
       53 
49 
     | 
    
         
             
                    themePrimary: '#2899f5',
         
     | 
| 
       54 
50 
     | 
    
         
             
                    themeLighterAlt: '#02060a',
         
     | 
| 
         @@ -74,18 +70,23 @@ export const darkTheme = { 
     | 
|
| 
       74 
70 
     | 
    
         
             
                    white: '#252423',
         
     | 
| 
       75 
71 
     | 
    
         
             
                    whiteTranslucent40: 'rgba(0, 0, 0, 0.4)'
         
     | 
| 
       76 
72 
     | 
    
         
             
                },
         
     | 
| 
       77 
     | 
    
         
            -
                 
     | 
| 
      
 73 
     | 
    
         
            +
                semanticColors: {
         
     | 
| 
      
 74 
     | 
    
         
            +
                    errorText: '#f1707b'
         
     | 
| 
      
 75 
     | 
    
         
            +
                }
         
     | 
| 
      
 76 
     | 
    
         
            +
            };
         
     | 
| 
      
 77 
     | 
    
         
            +
            /**
         
     | 
| 
      
 78 
     | 
    
         
            +
             * Preset dark theme for components exported from this library.
         
     | 
| 
      
 79 
     | 
    
         
            +
             *
         
     | 
| 
      
 80 
     | 
    
         
            +
             * @public
         
     | 
| 
      
 81 
     | 
    
         
            +
             */
         
     | 
| 
      
 82 
     | 
    
         
            +
            export const darkTheme = Object.assign(Object.assign({}, createTheme(Object.assign(Object.assign({}, partialDarkTheme), { isInverted: true }))), { callingPalette: {
         
     | 
| 
       78 
83 
     | 
    
         
             
                    callRed: '#c4314b',
         
     | 
| 
       79 
84 
     | 
    
         
             
                    callRedDark: '#a42e43',
         
     | 
| 
       80 
85 
     | 
    
         
             
                    callRedDarker: '#8b2c3d',
         
     | 
| 
       81 
86 
     | 
    
         
             
                    iconWhite: '#ffffff',
         
     | 
| 
       82 
87 
     | 
    
         
             
                    raiseHandGold: '#eaa300',
         
     | 
| 
       83 
88 
     | 
    
         
             
                    videoTileLabelBackgroundLight: 'rgba(37,36,35,0.8)'
         
     | 
| 
       84 
     | 
    
         
            -
                } 
     | 
| 
       85 
     | 
    
         
            -
                semanticColors: {
         
     | 
| 
       86 
     | 
    
         
            -
                    errorText: '#f1707b'
         
     | 
| 
       87 
     | 
    
         
            -
                }
         
     | 
| 
       88 
     | 
    
         
            -
            };
         
     | 
| 
      
 89 
     | 
    
         
            +
                } });
         
     | 
| 
       89 
90 
     | 
    
         
             
            /* @conditional-compile-remove(image-overlay-theme) */
         
     | 
| 
       90 
91 
     | 
    
         
             
            /**
         
     | 
| 
       91 
92 
     | 
    
         
             
             * Preset dark theme for the ImageOverlay component.
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../../../../react-components/src/theming/themes.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC; 
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../../../../react-components/src/theming/themes.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,WAAW,EAAgB,MAAM,iBAAiB,CAAC;AAkB5D;;;;GAIG;AACH,MAAM,CAAC,MAAM,UAAU,GAAgC;IACrD,OAAO,EAAE;QACP,YAAY,EAAE,SAAS;QACvB,eAAe,EAAE,SAAS;QAC1B,YAAY,EAAE,SAAS;QACvB,UAAU,EAAE,SAAS;QACrB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,SAAS;QACzB,YAAY,EAAE,SAAS;QACvB,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,SAAS;QACtB,iBAAiB,EAAE,SAAS;QAC5B,cAAc,EAAE,SAAS;QACzB,YAAY,EAAE,SAAS;QACvB,oBAAoB,EAAE,SAAS;QAC/B,iBAAiB,EAAE,SAAS;QAC5B,kBAAkB,EAAE,SAAS;QAC7B,eAAe,EAAE,SAAS;QAC1B,gBAAgB,EAAE,SAAS;QAC3B,iBAAiB,EAAE,SAAS;QAC5B,cAAc,EAAE,SAAS;QACzB,WAAW,EAAE,SAAS;QACtB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,SAAS;QAChB,kBAAkB,EAAE,0BAA0B;KAC/C;IACD,cAAc,EAAE;QACd,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,SAAS;QACtB,aAAa,EAAE,SAAS;QACxB,SAAS,EAAE,SAAS;QACpB,aAAa,EAAE,SAAS;QACxB,6BAA6B,EAAE,uBAAuB;KACvD;IACD,cAAc,EAAE;QACd,SAAS,EAAE,SAAS;KACrB;CACF,CAAC;AAEF,MAAM,gBAAgB,GAAiB;IACrC,OAAO,EAAE;QACP,YAAY,EAAE,SAAS;QACvB,eAAe,EAAE,SAAS;QAC1B,YAAY,EAAE,SAAS;QACvB,UAAU,EAAE,SAAS;QACrB,aAAa,EAAE,SAAS;QACxB,cAAc,EAAE,SAAS;QACzB,YAAY,EAAE,SAAS;QACvB,SAAS,EAAE,SAAS;QACpB,WAAW,EAAE,SAAS;QACtB,iBAAiB,EAAE,SAAS;QAC5B,cAAc,EAAE,SAAS;QACzB,YAAY,EAAE,SAAS;QACvB,oBAAoB,EAAE,SAAS;QAC/B,iBAAiB,EAAE,SAAS;QAC5B,kBAAkB,EAAE,SAAS;QAC7B,eAAe,EAAE,SAAS;QAC1B,gBAAgB,EAAE,SAAS;QAC3B,iBAAiB,EAAE,SAAS;QAC5B,cAAc,EAAE,SAAS;QACzB,WAAW,EAAE,SAAS;QACtB,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,SAAS;QAChB,kBAAkB,EAAE,oBAAoB;KACzC;IACD,cAAc,EAAE;QACd,SAAS,EAAE,SAAS;KACrB;CACF,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,mCACjB,WAAW,iCACT,gBAAgB,KACnB,UAAU,EAAE,IAAI,IAChB,KACF,cAAc,EAAE;QACd,OAAO,EAAE,SAAS;QAClB,WAAW,EAAE,SAAS;QACtB,aAAa,EAAE,SAAS;QACxB,SAAS,EAAE,SAAS;QACpB,aAAa,EAAE,SAAS;QACxB,6BAA6B,EAAE,oBAAoB;KACpD,GACF,CAAC;AAEF,sDAAsD;AACtD;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAiB;IAC7C,OAAO,EAAE,SAAS,CAAC,OAAO;IAC1B,cAAc,kCACT,SAAS,CAAC,cAAc,KAC3B,cAAc,EAAE,qBAAqB,GACtC;CACF,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { createTheme, PartialTheme } from '@fluentui/react';\n\n/**\n * Custom Fluent theme palette used by calling related components in this library.\n *\n * @public\n */\nexport interface CallingTheme {\n  callingPalette: {\n    callRed: string;\n    callRedDark: string;\n    callRedDarker: string;\n    iconWhite: string;\n    raiseHandGold: string;\n    videoTileLabelBackgroundLight: string;\n  };\n}\n\n/**\n * Preset light theme for components exported from this library.\n *\n * @public\n */\nexport const lightTheme: PartialTheme & CallingTheme = {\n  palette: {\n    themePrimary: '#0078d4',\n    themeLighterAlt: '#eff6fc',\n    themeLighter: '#deecf9',\n    themeLight: '#c7e0f4',\n    themeTertiary: '#71afe5',\n    themeSecondary: '#2b88d8',\n    themeDarkAlt: '#106ebe',\n    themeDark: '#59b0f7',\n    themeDarker: '#004578',\n    neutralLighterAlt: '#faf9f8',\n    neutralLighter: '#f3f2f1',\n    neutralLight: '#edebe9',\n    neutralQuaternaryAlt: '#e1dfdd',\n    neutralQuaternary: '#d0d0d0',\n    neutralTertiaryAlt: '#c8c6c4',\n    neutralTertiary: '#a19f9d',\n    neutralSecondary: '#605e5c',\n    neutralPrimaryAlt: '#3b3a39',\n    neutralPrimary: '#323130',\n    neutralDark: '#201f1e',\n    black: '#000000',\n    white: '#ffffff',\n    whiteTranslucent40: 'rgba(255, 255, 255, 0.4)'\n  },\n  callingPalette: {\n    callRed: '#a42e43',\n    callRedDark: '#8b2c3d',\n    callRedDarker: '#772a38',\n    iconWhite: '#ffffff',\n    raiseHandGold: '#eaa300',\n    videoTileLabelBackgroundLight: 'rgba(255,255,255,0.8)'\n  },\n  semanticColors: {\n    errorText: '#a80000'\n  }\n};\n\nconst partialDarkTheme: PartialTheme = {\n  palette: {\n    themePrimary: '#2899f5',\n    themeLighterAlt: '#02060a',\n    themeLighter: '#061827',\n    themeLight: '#0c2e49',\n    themeTertiary: '#185b93',\n    themeSecondary: '#2286d7',\n    themeDarkAlt: '#3ca2f6',\n    themeDark: '#59b0f7',\n    themeDarker: '#84c5f9',\n    neutralLighterAlt: '#302e2d',\n    neutralLighter: '#383735',\n    neutralLight: '#464443',\n    neutralQuaternaryAlt: '#4e4d4b',\n    neutralQuaternary: '#4d4b49',\n    neutralTertiaryAlt: '#72706e',\n    neutralTertiary: '#c8c8c8',\n    neutralSecondary: '#d0d0d0',\n    neutralPrimaryAlt: '#dadada',\n    neutralPrimary: '#ffffff',\n    neutralDark: '#f4f4f4',\n    black: '#f8f8f8',\n    white: '#252423',\n    whiteTranslucent40: 'rgba(0, 0, 0, 0.4)'\n  },\n  semanticColors: {\n    errorText: '#f1707b'\n  }\n};\n\n/**\n * Preset dark theme for components exported from this library.\n *\n * @public\n */\nexport const darkTheme: PartialTheme & CallingTheme = {\n  ...createTheme({\n    ...partialDarkTheme,\n    isInverted: true\n  }),\n  callingPalette: {\n    callRed: '#c4314b',\n    callRedDark: '#a42e43',\n    callRedDarker: '#8b2c3d',\n    iconWhite: '#ffffff',\n    raiseHandGold: '#eaa300',\n    videoTileLabelBackgroundLight: 'rgba(37,36,35,0.8)'\n  }\n};\n\n/* @conditional-compile-remove(image-overlay-theme) */\n/**\n * Preset dark theme for the ImageOverlay component.\n *\n * @public\n */\nexport const imageOverlayTheme: PartialTheme = {\n  palette: darkTheme.palette,\n  semanticColors: {\n    ...darkTheme.semanticColors,\n    bodyBackground: 'rgba(0, 0, 0, 0.85)'\n  }\n};\n"]}
         
     | 
| 
         @@ -206,7 +206,7 @@ const mapBorderRadiusTokens = (effects) => { 
     | 
|
| 
       206 
206 
     | 
    
         
             
             */
         
     | 
| 
       207 
207 
     | 
    
         
             
            export const createV9Theme = (themeV8, baseThemeV9) => {
         
     | 
| 
       208 
208 
     | 
    
         
             
                const baseTheme = baseThemeV9 !== null && baseThemeV9 !== void 0 ? baseThemeV9 : webLightTheme;
         
     | 
| 
       209 
     | 
    
         
            -
                return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, baseTheme), mapAliasColors(themeV8.palette, themeV8.isInverted)), mapShadowTokens(themeV8.effects)), mapBorderRadiusTokens(themeV8.effects)), { colorBrandBackground2: themeV8.palette.themeLight, colorBrandBackground2Hover: themeV8.palette.themeLight, colorBrandBackground2Pressed: themeV8.palette.themeLight, colorStatusWarningBackground3: '#D83B01', errorText: themeV8.semanticColors.errorText, colorNeutralStroke1Selected: themeV8.palette.neutralQuaternary, colorNeutralForeground2: themeV8.palette.neutralSecondary, colorBrandForegroundLinkHover: themeV8.palette.themeDarker, colorNeutralBackground1Selected: themeV8.palette.neutralQuaternaryAlt,  
     | 
| 
      
 209 
     | 
    
         
            +
                return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({}, baseTheme), mapAliasColors(themeV8.palette, themeV8.isInverted)), mapShadowTokens(themeV8.effects)), mapBorderRadiusTokens(themeV8.effects)), { colorBrandBackground2: themeV8.palette.themeLight, colorBrandBackground2Hover: themeV8.palette.themeLight, colorBrandBackground2Pressed: themeV8.palette.themeLight, colorStatusWarningBackground3: '#D83B01', errorText: themeV8.semanticColors.errorText, colorNeutralStroke1Selected: themeV8.palette.neutralQuaternary, colorNeutralForeground2: themeV8.palette.neutralSecondary, colorBrandForegroundLinkHover: themeV8.palette.themeDarker, colorNeutralBackground1Selected: themeV8.palette.neutralQuaternaryAlt, 
         
     | 
| 
       210 
210 
     | 
    
         
             
                    // Fix for an issue with black borders for iOS that are added with 'after' selector
         
     | 
| 
       211 
211 
     | 
    
         
             
                    colorStrokeFocus2: 'transparent' });
         
     | 
| 
       212 
212 
     | 
    
         
             
            };
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"v9ThemeShim.js","sourceRoot":"","sources":["../../../../../../react-components/src/theming/v9ThemeShim.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { IEffects, IPalette, Theme as ThemeV8 } from '@fluentui/react';\nimport {\n  BorderRadiusTokens,\n  ColorTokens,\n  ShadowTokens,\n  Theme as ThemeV9,\n  webLightTheme\n} from '@fluentui/react-components';\nimport { blackAlpha, whiteAlpha, grey, grey10Alpha, grey12Alpha } from './themeDuplicates';\n\n// These mappings are required for createV9Theme\n// For more info, check https://react.fluentui.dev/iframe.html?viewMode=docs&id=concepts-migration-from-v8-components-theme-migration--page#compatible-themes\n\n/**\n * Creates v9 color tokens from a v8 palette.\n */\nconst mapAliasColors = (palette: IPalette, inverted: boolean): ColorTokens => {\n  return {\n    colorNeutralForeground1: palette.neutralPrimary,\n    colorNeutralForeground1Hover: palette.neutralPrimary,\n    colorNeutralForeground1Pressed: palette.neutralPrimary,\n    colorNeutralForeground1Selected: palette.neutralPrimary,\n    colorNeutralForeground2: palette.neutralSecondary,\n    colorNeutralForeground2Hover: palette.neutralPrimary,\n    colorNeutralForeground2Pressed: palette.neutralPrimary,\n    colorNeutralForeground2Selected: palette.neutralPrimary,\n    colorNeutralForeground2BrandHover: palette.themePrimary,\n    colorNeutralForeground2BrandPressed: palette.themeDarkAlt,\n    colorNeutralForeground2BrandSelected: palette.themePrimary,\n    colorNeutralForeground3: palette.neutralTertiary,\n    colorNeutralForeground3Hover: palette.neutralSecondary,\n    colorNeutralForeground3Pressed: palette.neutralSecondary,\n    colorNeutralForeground3Selected: palette.neutralSecondary,\n    colorNeutralForeground3BrandHover: palette.themePrimary,\n    colorNeutralForeground3BrandPressed: palette.themeDarkAlt,\n    colorNeutralForeground3BrandSelected: palette.themePrimary,\n    colorNeutralForeground4: palette.neutralQuaternary,\n    colorNeutralForegroundDisabled: palette.neutralTertiaryAlt,\n    colorNeutralForegroundInvertedDisabled: whiteAlpha[40],\n    colorBrandForegroundLink: palette.themeDarkAlt,\n    colorBrandForegroundLinkHover: palette.themeDark,\n    colorBrandForegroundLinkPressed: palette.themeDarker,\n    colorBrandForegroundLinkSelected: palette.themeDarkAlt,\n    colorNeutralForeground2Link: palette.neutralSecondary,\n    colorNeutralForeground2LinkHover: palette.neutralPrimary,\n    colorNeutralForeground2LinkPressed: palette.neutralPrimary,\n    colorNeutralForeground2LinkSelected: palette.neutralPrimary,\n    colorCompoundBrandForeground1: palette.themePrimary,\n    colorCompoundBrandForeground1Hover: palette.themeDarkAlt,\n    colorCompoundBrandForeground1Pressed: palette.themeDark,\n    colorBrandForeground1: palette.themePrimary,\n    colorBrandForeground2: palette.themeDarkAlt,\n    colorBrandForeground2Hover: palette.themeDarkAlt,\n    colorBrandForeground2Pressed: palette.themeDarkAlt,\n    colorNeutralForeground1Static: palette.neutralPrimary,\n    colorNeutralForegroundInverted: palette.white,\n    colorNeutralForegroundInvertedHover: palette.white,\n    colorNeutralForegroundInvertedPressed: palette.white,\n    colorNeutralForegroundInvertedSelected: palette.white,\n    colorNeutralForegroundOnBrand: palette.white,\n    colorNeutralForegroundStaticInverted: palette.white,\n    colorNeutralForegroundInvertedLink: palette.white,\n    colorNeutralForegroundInvertedLinkHover: palette.white,\n    colorNeutralForegroundInvertedLinkPressed: palette.white,\n    colorNeutralForegroundInvertedLinkSelected: palette.white,\n    colorNeutralForegroundInverted2: palette.white,\n    colorBrandForegroundInverted: palette.themeSecondary,\n    colorBrandForegroundInvertedHover: palette.themeTertiary,\n    colorBrandForegroundInvertedPressed: palette.themeSecondary,\n    colorBrandForegroundOnLight: palette.themePrimary,\n    colorBrandForegroundOnLightHover: palette.themeDarkAlt,\n    colorBrandForegroundOnLightPressed: palette.themeDark,\n    colorBrandForegroundOnLightSelected: palette.themeDark,\n    colorNeutralBackground1: palette.white,\n    colorNeutralBackground1Hover: palette.neutralLighter,\n    colorNeutralBackground1Pressed: palette.neutralQuaternaryAlt,\n    colorNeutralBackground1Selected: palette.neutralLight,\n    colorNeutralBackground2: palette.neutralLighterAlt,\n    colorNeutralBackground2Hover: palette.neutralLighter,\n    colorNeutralBackground2Pressed: palette.neutralQuaternaryAlt,\n    colorNeutralBackground2Selected: palette.neutralLight,\n    colorNeutralBackground3: palette.neutralLighter,\n    colorNeutralBackground3Hover: palette.neutralLight,\n    colorNeutralBackground3Pressed: palette.neutralQuaternary,\n    colorNeutralBackground3Selected: palette.neutralQuaternaryAlt,\n    colorNeutralBackground4: palette.neutralLighter,\n    colorNeutralBackground4Hover: palette.neutralLighterAlt,\n    colorNeutralBackground4Pressed: palette.neutralLighter,\n    colorNeutralBackground4Selected: palette.white,\n    colorNeutralBackground5: palette.neutralLight,\n    colorNeutralBackground5Hover: palette.neutralLighter,\n    colorNeutralBackground5Pressed: palette.neutralLighter,\n    colorNeutralBackground5Selected: palette.neutralLighterAlt,\n    colorNeutralBackground6: palette.neutralLight,\n    colorNeutralBackgroundStatic: grey[20],\n    colorNeutralBackgroundInverted: palette.neutralSecondary,\n    colorNeutralBackgroundAlpha: inverted ? grey10Alpha[50] : whiteAlpha[50],\n    colorNeutralBackgroundAlpha2: inverted ? grey12Alpha[70] : whiteAlpha[80],\n    colorSubtleBackground: 'transparent',\n    colorSubtleBackgroundHover: palette.neutralLighter,\n    colorSubtleBackgroundPressed: palette.neutralQuaternaryAlt,\n    colorSubtleBackgroundSelected: palette.neutralLight,\n    colorSubtleBackgroundLightAlphaHover: inverted ? whiteAlpha[10] : whiteAlpha[80],\n    colorSubtleBackgroundLightAlphaPressed: inverted ? whiteAlpha[5] : whiteAlpha[50],\n    colorSubtleBackgroundLightAlphaSelected: 'transparent',\n    colorSubtleBackgroundInverted: 'transparent',\n    colorSubtleBackgroundInvertedHover: blackAlpha[10],\n    colorSubtleBackgroundInvertedPressed: blackAlpha[30],\n    colorSubtleBackgroundInvertedSelected: blackAlpha[20],\n    colorTransparentBackground: 'transparent',\n    colorTransparentBackgroundHover: 'transparent',\n    colorTransparentBackgroundPressed: 'transparent',\n    colorTransparentBackgroundSelected: 'transparent',\n    colorNeutralBackgroundDisabled: palette.neutralLighter,\n    colorNeutralBackgroundInvertedDisabled: whiteAlpha[10],\n    colorNeutralStencil1: palette.neutralLight,\n    colorNeutralStencil2: palette.neutralLighterAlt,\n    colorNeutralStencil1Alpha: inverted ? whiteAlpha[10] : blackAlpha[10],\n    colorNeutralStencil2Alpha: inverted ? whiteAlpha[5] : blackAlpha[5],\n    colorBackgroundOverlay: blackAlpha[40],\n    colorScrollbarOverlay: blackAlpha[50],\n    colorBrandBackground: palette.themePrimary,\n    colorBrandBackgroundHover: palette.themeDarkAlt,\n    colorBrandBackgroundPressed: palette.themeDarker,\n    colorBrandBackgroundSelected: palette.themeDark,\n    colorCompoundBrandBackground: palette.themePrimary,\n    colorCompoundBrandBackgroundHover: palette.themeDarkAlt,\n    colorCompoundBrandBackgroundPressed: palette.themeDark,\n    colorBrandBackgroundStatic: palette.themePrimary,\n    colorBrandBackground2: palette.themeLighterAlt,\n    colorBrandBackground2Hover: palette.themeLighterAlt,\n    colorBrandBackground2Pressed: palette.themeLighterAlt,\n    colorBrandBackground3Static: palette.themeDark,\n    colorBrandBackground4Static: palette.themeDarker,\n    colorBrandBackgroundInverted: palette.white,\n    colorBrandBackgroundInvertedHover: palette.themeLighterAlt,\n    colorBrandBackgroundInvertedPressed: palette.themeLight,\n    colorBrandBackgroundInvertedSelected: palette.themeLighter,\n    colorNeutralCardBackground: inverted ? grey[20] : grey[98],\n    colorNeutralCardBackgroundHover: inverted ? grey[24] : palette.white,\n    colorNeutralCardBackgroundPressed: inverted ? grey[18] : grey[96],\n    colorNeutralCardBackgroundSelected: inverted ? grey[22] : grey[92],\n    colorNeutralCardBackgroundDisabled: inverted ? grey[8] : grey[94],\n    colorNeutralStrokeAccessible: palette.neutralSecondary,\n    colorNeutralStrokeAccessibleHover: palette.neutralSecondary,\n    colorNeutralStrokeAccessiblePressed: palette.neutralSecondary,\n    colorNeutralStrokeAccessibleSelected: palette.themePrimary,\n    colorNeutralStroke1: palette.neutralQuaternary,\n    colorNeutralStroke1Hover: palette.neutralTertiaryAlt,\n    colorNeutralStroke1Pressed: palette.neutralTertiaryAlt,\n    colorNeutralStroke1Selected: palette.neutralTertiaryAlt,\n    colorNeutralStroke2: palette.neutralQuaternaryAlt,\n    colorNeutralStroke3: palette.neutralLighter,\n    colorNeutralStrokeSubtle: palette.neutralQuaternaryAlt,\n    colorNeutralStrokeOnBrand: palette.white,\n    colorNeutralStrokeOnBrand2: palette.white,\n    colorNeutralStrokeOnBrand2Hover: palette.white,\n    colorNeutralStrokeOnBrand2Pressed: palette.white,\n    colorNeutralStrokeOnBrand2Selected: palette.white,\n    colorBrandStroke1: palette.themePrimary,\n    colorBrandStroke2: palette.themeLight,\n    colorBrandStroke2Hover: palette.themeLight,\n    colorBrandStroke2Pressed: palette.themeLight,\n    colorBrandStroke2Contrast: palette.themeLight,\n    colorCompoundBrandStroke: palette.themePrimary,\n    colorCompoundBrandStrokeHover: palette.themeDarkAlt,\n    colorCompoundBrandStrokePressed: palette.themeDark,\n    colorNeutralStrokeDisabled: palette.neutralQuaternaryAlt,\n    colorNeutralStrokeInvertedDisabled: whiteAlpha[40],\n    colorTransparentStroke: 'transparent',\n    colorTransparentStrokeInteractive: 'transparent',\n    colorTransparentStrokeDisabled: 'transparent',\n    colorNeutralStrokeAlpha: inverted ? whiteAlpha[10] : blackAlpha[5],\n    colorNeutralStrokeAlpha2: whiteAlpha[20],\n    colorStrokeFocus1: palette.white,\n    colorStrokeFocus2: palette.black,\n    colorNeutralShadowAmbient: 'rgba(0,0,0,0.12)',\n    colorNeutralShadowKey: 'rgba(0,0,0,0.14)',\n    colorNeutralShadowAmbientLighter: 'rgba(0,0,0,0.06)',\n    colorNeutralShadowKeyLighter: 'rgba(0,0,0,0.07)',\n    colorNeutralShadowAmbientDarker: 'rgba(0,0,0,0.20)',\n    colorNeutralShadowKeyDarker: 'rgba(0,0,0,0.24)',\n    colorBrandShadowAmbient: 'rgba(0,0,0,0.30)',\n    colorBrandShadowKey: 'rgba(0,0,0,0.25)'\n  };\n};\n\n/**\n * Creates v9 shadow tokens from v8 effects.\n */\nconst mapShadowTokens = (effects: IEffects): Partial<ShadowTokens> => {\n  return {\n    shadow4: effects.elevation4,\n    shadow8: effects.elevation8,\n    shadow16: effects.elevation16,\n    shadow64: effects.elevation64\n  };\n};\n\n/**\n * Creates v9 border radius tokens from v8 effects\n */\nconst mapBorderRadiusTokens = (effects: IEffects): Partial<BorderRadiusTokens> => {\n  return {\n    borderRadiusSmall: effects.roundedCorner2,\n    borderRadiusMedium: effects.roundedCorner4,\n    borderRadiusLarge: effects.roundedCorner6\n  };\n};\n\n/**\n * Creates a v9 theme from a v8 theme and base v9 theme.\n * FluentUI webLightTheme is used in case if no baseThemeV9 is provided.\n *\n * @private\n */\nexport const createV9Theme = (themeV8: ThemeV8, baseThemeV9?: ThemeV9): ThemeV9 & { errorText: string } => {\n  const baseTheme = baseThemeV9 ?? webLightTheme;\n  return {\n    ...baseTheme,\n    ...mapAliasColors(themeV8.palette, themeV8.isInverted),\n    ...mapShadowTokens(themeV8.effects),\n    ...mapBorderRadiusTokens(themeV8.effects),\n    colorBrandBackground2: themeV8.palette.themeLight, // updated from palette.themeLighterAlt\n    colorBrandBackground2Hover: themeV8.palette.themeLight, // updated from palette.themeLighterAlt\n    colorBrandBackground2Pressed: themeV8.palette.themeLight, // updated from palette.themeLighterAlt\n    colorStatusWarningBackground3: '#D83B01',\n    errorText: themeV8.semanticColors.errorText,\n    colorNeutralStroke1Selected: themeV8.palette.neutralQuaternary,\n    colorNeutralForeground2: themeV8.palette.neutralSecondary,\n    colorBrandForegroundLinkHover: themeV8.palette.themeDarker,\n    colorNeutralBackground1Selected: themeV8.palette.neutralQuaternaryAlt,\n    colorNeutralStroke2: themeV8.palette.neutralTertiaryAlt,\n    // Fix for an issue with black borders for iOS that are added with 'after' selector\n    colorStrokeFocus2: 'transparent'\n  };\n};\n"]}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"v9ThemeShim.js","sourceRoot":"","sources":["../../../../../../react-components/src/theming/v9ThemeShim.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { IEffects, IPalette, Theme as ThemeV8 } from '@fluentui/react';\nimport {\n  BorderRadiusTokens,\n  ColorTokens,\n  ShadowTokens,\n  Theme as ThemeV9,\n  webLightTheme\n} from '@fluentui/react-components';\nimport { blackAlpha, whiteAlpha, grey, grey10Alpha, grey12Alpha } from './themeDuplicates';\n\n// These mappings are required for createV9Theme\n// For more info, check https://react.fluentui.dev/iframe.html?viewMode=docs&id=concepts-migration-from-v8-components-theme-migration--page#compatible-themes\n\n/**\n * Creates v9 color tokens from a v8 palette.\n */\nconst mapAliasColors = (palette: IPalette, inverted: boolean): ColorTokens => {\n  return {\n    colorNeutralForeground1: palette.neutralPrimary,\n    colorNeutralForeground1Hover: palette.neutralPrimary,\n    colorNeutralForeground1Pressed: palette.neutralPrimary,\n    colorNeutralForeground1Selected: palette.neutralPrimary,\n    colorNeutralForeground2: palette.neutralSecondary,\n    colorNeutralForeground2Hover: palette.neutralPrimary,\n    colorNeutralForeground2Pressed: palette.neutralPrimary,\n    colorNeutralForeground2Selected: palette.neutralPrimary,\n    colorNeutralForeground2BrandHover: palette.themePrimary,\n    colorNeutralForeground2BrandPressed: palette.themeDarkAlt,\n    colorNeutralForeground2BrandSelected: palette.themePrimary,\n    colorNeutralForeground3: palette.neutralTertiary,\n    colorNeutralForeground3Hover: palette.neutralSecondary,\n    colorNeutralForeground3Pressed: palette.neutralSecondary,\n    colorNeutralForeground3Selected: palette.neutralSecondary,\n    colorNeutralForeground3BrandHover: palette.themePrimary,\n    colorNeutralForeground3BrandPressed: palette.themeDarkAlt,\n    colorNeutralForeground3BrandSelected: palette.themePrimary,\n    colorNeutralForeground4: palette.neutralQuaternary,\n    colorNeutralForegroundDisabled: palette.neutralTertiaryAlt,\n    colorNeutralForegroundInvertedDisabled: whiteAlpha[40],\n    colorBrandForegroundLink: palette.themeDarkAlt,\n    colorBrandForegroundLinkHover: palette.themeDark,\n    colorBrandForegroundLinkPressed: palette.themeDarker,\n    colorBrandForegroundLinkSelected: palette.themeDarkAlt,\n    colorNeutralForeground2Link: palette.neutralSecondary,\n    colorNeutralForeground2LinkHover: palette.neutralPrimary,\n    colorNeutralForeground2LinkPressed: palette.neutralPrimary,\n    colorNeutralForeground2LinkSelected: palette.neutralPrimary,\n    colorCompoundBrandForeground1: palette.themePrimary,\n    colorCompoundBrandForeground1Hover: palette.themeDarkAlt,\n    colorCompoundBrandForeground1Pressed: palette.themeDark,\n    colorBrandForeground1: palette.themePrimary,\n    colorBrandForeground2: palette.themeDarkAlt,\n    colorBrandForeground2Hover: palette.themeDarkAlt,\n    colorBrandForeground2Pressed: palette.themeDarkAlt,\n    colorNeutralForeground1Static: palette.neutralPrimary,\n    colorNeutralForegroundInverted: palette.white,\n    colorNeutralForegroundInvertedHover: palette.white,\n    colorNeutralForegroundInvertedPressed: palette.white,\n    colorNeutralForegroundInvertedSelected: palette.white,\n    colorNeutralForegroundOnBrand: palette.white,\n    colorNeutralForegroundStaticInverted: palette.white,\n    colorNeutralForegroundInvertedLink: palette.white,\n    colorNeutralForegroundInvertedLinkHover: palette.white,\n    colorNeutralForegroundInvertedLinkPressed: palette.white,\n    colorNeutralForegroundInvertedLinkSelected: palette.white,\n    colorNeutralForegroundInverted2: palette.white,\n    colorBrandForegroundInverted: palette.themeSecondary,\n    colorBrandForegroundInvertedHover: palette.themeTertiary,\n    colorBrandForegroundInvertedPressed: palette.themeSecondary,\n    colorBrandForegroundOnLight: palette.themePrimary,\n    colorBrandForegroundOnLightHover: palette.themeDarkAlt,\n    colorBrandForegroundOnLightPressed: palette.themeDark,\n    colorBrandForegroundOnLightSelected: palette.themeDark,\n    colorNeutralBackground1: palette.white,\n    colorNeutralBackground1Hover: palette.neutralLighter,\n    colorNeutralBackground1Pressed: palette.neutralQuaternaryAlt,\n    colorNeutralBackground1Selected: palette.neutralLight,\n    colorNeutralBackground2: palette.neutralLighterAlt,\n    colorNeutralBackground2Hover: palette.neutralLighter,\n    colorNeutralBackground2Pressed: palette.neutralQuaternaryAlt,\n    colorNeutralBackground2Selected: palette.neutralLight,\n    colorNeutralBackground3: palette.neutralLighter,\n    colorNeutralBackground3Hover: palette.neutralLight,\n    colorNeutralBackground3Pressed: palette.neutralQuaternary,\n    colorNeutralBackground3Selected: palette.neutralQuaternaryAlt,\n    colorNeutralBackground4: palette.neutralLighter,\n    colorNeutralBackground4Hover: palette.neutralLighterAlt,\n    colorNeutralBackground4Pressed: palette.neutralLighter,\n    colorNeutralBackground4Selected: palette.white,\n    colorNeutralBackground5: palette.neutralLight,\n    colorNeutralBackground5Hover: palette.neutralLighter,\n    colorNeutralBackground5Pressed: palette.neutralLighter,\n    colorNeutralBackground5Selected: palette.neutralLighterAlt,\n    colorNeutralBackground6: palette.neutralLight,\n    colorNeutralBackgroundStatic: grey[20],\n    colorNeutralBackgroundInverted: palette.neutralSecondary,\n    colorNeutralBackgroundAlpha: inverted ? grey10Alpha[50] : whiteAlpha[50],\n    colorNeutralBackgroundAlpha2: inverted ? grey12Alpha[70] : whiteAlpha[80],\n    colorSubtleBackground: 'transparent',\n    colorSubtleBackgroundHover: palette.neutralLighter,\n    colorSubtleBackgroundPressed: palette.neutralQuaternaryAlt,\n    colorSubtleBackgroundSelected: palette.neutralLight,\n    colorSubtleBackgroundLightAlphaHover: inverted ? whiteAlpha[10] : whiteAlpha[80],\n    colorSubtleBackgroundLightAlphaPressed: inverted ? whiteAlpha[5] : whiteAlpha[50],\n    colorSubtleBackgroundLightAlphaSelected: 'transparent',\n    colorSubtleBackgroundInverted: 'transparent',\n    colorSubtleBackgroundInvertedHover: blackAlpha[10],\n    colorSubtleBackgroundInvertedPressed: blackAlpha[30],\n    colorSubtleBackgroundInvertedSelected: blackAlpha[20],\n    colorTransparentBackground: 'transparent',\n    colorTransparentBackgroundHover: 'transparent',\n    colorTransparentBackgroundPressed: 'transparent',\n    colorTransparentBackgroundSelected: 'transparent',\n    colorNeutralBackgroundDisabled: palette.neutralLighter,\n    colorNeutralBackgroundInvertedDisabled: whiteAlpha[10],\n    colorNeutralStencil1: palette.neutralLight,\n    colorNeutralStencil2: palette.neutralLighterAlt,\n    colorNeutralStencil1Alpha: inverted ? whiteAlpha[10] : blackAlpha[10],\n    colorNeutralStencil2Alpha: inverted ? whiteAlpha[5] : blackAlpha[5],\n    colorBackgroundOverlay: blackAlpha[40],\n    colorScrollbarOverlay: blackAlpha[50],\n    colorBrandBackground: palette.themePrimary,\n    colorBrandBackgroundHover: palette.themeDarkAlt,\n    colorBrandBackgroundPressed: palette.themeDarker,\n    colorBrandBackgroundSelected: palette.themeDark,\n    colorCompoundBrandBackground: palette.themePrimary,\n    colorCompoundBrandBackgroundHover: palette.themeDarkAlt,\n    colorCompoundBrandBackgroundPressed: palette.themeDark,\n    colorBrandBackgroundStatic: palette.themePrimary,\n    colorBrandBackground2: palette.themeLighterAlt,\n    colorBrandBackground2Hover: palette.themeLighterAlt,\n    colorBrandBackground2Pressed: palette.themeLighterAlt,\n    colorBrandBackground3Static: palette.themeDark,\n    colorBrandBackground4Static: palette.themeDarker,\n    colorBrandBackgroundInverted: palette.white,\n    colorBrandBackgroundInvertedHover: palette.themeLighterAlt,\n    colorBrandBackgroundInvertedPressed: palette.themeLight,\n    colorBrandBackgroundInvertedSelected: palette.themeLighter,\n    colorNeutralCardBackground: inverted ? grey[20] : grey[98],\n    colorNeutralCardBackgroundHover: inverted ? grey[24] : palette.white,\n    colorNeutralCardBackgroundPressed: inverted ? grey[18] : grey[96],\n    colorNeutralCardBackgroundSelected: inverted ? grey[22] : grey[92],\n    colorNeutralCardBackgroundDisabled: inverted ? grey[8] : grey[94],\n    colorNeutralStrokeAccessible: palette.neutralSecondary,\n    colorNeutralStrokeAccessibleHover: palette.neutralSecondary,\n    colorNeutralStrokeAccessiblePressed: palette.neutralSecondary,\n    colorNeutralStrokeAccessibleSelected: palette.themePrimary,\n    colorNeutralStroke1: palette.neutralQuaternary,\n    colorNeutralStroke1Hover: palette.neutralTertiaryAlt,\n    colorNeutralStroke1Pressed: palette.neutralTertiaryAlt,\n    colorNeutralStroke1Selected: palette.neutralTertiaryAlt,\n    colorNeutralStroke2: palette.neutralQuaternaryAlt,\n    colorNeutralStroke3: palette.neutralLighter,\n    colorNeutralStrokeSubtle: palette.neutralQuaternaryAlt,\n    colorNeutralStrokeOnBrand: palette.white,\n    colorNeutralStrokeOnBrand2: palette.white,\n    colorNeutralStrokeOnBrand2Hover: palette.white,\n    colorNeutralStrokeOnBrand2Pressed: palette.white,\n    colorNeutralStrokeOnBrand2Selected: palette.white,\n    colorBrandStroke1: palette.themePrimary,\n    colorBrandStroke2: palette.themeLight,\n    colorBrandStroke2Hover: palette.themeLight,\n    colorBrandStroke2Pressed: palette.themeLight,\n    colorBrandStroke2Contrast: palette.themeLight,\n    colorCompoundBrandStroke: palette.themePrimary,\n    colorCompoundBrandStrokeHover: palette.themeDarkAlt,\n    colorCompoundBrandStrokePressed: palette.themeDark,\n    colorNeutralStrokeDisabled: palette.neutralQuaternaryAlt,\n    colorNeutralStrokeInvertedDisabled: whiteAlpha[40],\n    colorTransparentStroke: 'transparent',\n    colorTransparentStrokeInteractive: 'transparent',\n    colorTransparentStrokeDisabled: 'transparent',\n    colorNeutralStrokeAlpha: inverted ? whiteAlpha[10] : blackAlpha[5],\n    colorNeutralStrokeAlpha2: whiteAlpha[20],\n    colorStrokeFocus1: palette.white,\n    colorStrokeFocus2: palette.black,\n    colorNeutralShadowAmbient: 'rgba(0,0,0,0.12)',\n    colorNeutralShadowKey: 'rgba(0,0,0,0.14)',\n    colorNeutralShadowAmbientLighter: 'rgba(0,0,0,0.06)',\n    colorNeutralShadowKeyLighter: 'rgba(0,0,0,0.07)',\n    colorNeutralShadowAmbientDarker: 'rgba(0,0,0,0.20)',\n    colorNeutralShadowKeyDarker: 'rgba(0,0,0,0.24)',\n    colorBrandShadowAmbient: 'rgba(0,0,0,0.30)',\n    colorBrandShadowKey: 'rgba(0,0,0,0.25)'\n  };\n};\n\n/**\n * Creates v9 shadow tokens from v8 effects.\n */\nconst mapShadowTokens = (effects: IEffects): Partial<ShadowTokens> => {\n  return {\n    shadow4: effects.elevation4,\n    shadow8: effects.elevation8,\n    shadow16: effects.elevation16,\n    shadow64: effects.elevation64\n  };\n};\n\n/**\n * Creates v9 border radius tokens from v8 effects\n */\nconst mapBorderRadiusTokens = (effects: IEffects): Partial<BorderRadiusTokens> => {\n  return {\n    borderRadiusSmall: effects.roundedCorner2,\n    borderRadiusMedium: effects.roundedCorner4,\n    borderRadiusLarge: effects.roundedCorner6\n  };\n};\n\n/**\n * Creates a v9 theme from a v8 theme and base v9 theme.\n * FluentUI webLightTheme is used in case if no baseThemeV9 is provided.\n *\n * @private\n */\nexport const createV9Theme = (themeV8: ThemeV8, baseThemeV9?: ThemeV9): ThemeV9 & { errorText: string } => {\n  const baseTheme = baseThemeV9 ?? webLightTheme;\n  return {\n    ...baseTheme,\n    ...mapAliasColors(themeV8.palette, themeV8.isInverted),\n    ...mapShadowTokens(themeV8.effects),\n    ...mapBorderRadiusTokens(themeV8.effects),\n    colorBrandBackground2: themeV8.palette.themeLight, // updated from palette.themeLighterAlt\n    colorBrandBackground2Hover: themeV8.palette.themeLight, // updated from palette.themeLighterAlt\n    colorBrandBackground2Pressed: themeV8.palette.themeLight, // updated from palette.themeLighterAlt\n    colorStatusWarningBackground3: '#D83B01',\n    errorText: themeV8.semanticColors.errorText,\n    colorNeutralStroke1Selected: themeV8.palette.neutralQuaternary,\n    colorNeutralForeground2: themeV8.palette.neutralSecondary,\n    colorBrandForegroundLinkHover: themeV8.palette.themeDarker,\n    colorNeutralBackground1Selected: themeV8.palette.neutralQuaternaryAlt,\n    // Fix for an issue with black borders for iOS that are added with 'after' selector\n    colorStrokeFocus2: 'transparent'\n  };\n};\n"]}
         
     |