@azure/communication-react 1.18.0-alpha-202407100014 → 1.18.0-alpha-202407120014
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 +40 -2
 - package/dist/dist-cjs/communication-react/{ChatMessageComponentAsRichTextEditBox-B4-VwPSY.js → ChatMessageComponentAsRichTextEditBox-DaATOUfF.js} +13 -12
 - package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-DaATOUfF.js.map +1 -0
 - package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-C_Nb8f_T.js → RichTextSendBoxWrapper-COKF7ZK8.js} +9 -8
 - package/dist/dist-cjs/communication-react/{RichTextSendBoxWrapper-C_Nb8f_T.js.map → RichTextSendBoxWrapper-COKF7ZK8.js.map} +1 -1
 - package/dist/dist-cjs/communication-react/{index-CTMK90l4.js → index-DQgWBNc2.js} +25952 -25862
 - package/dist/dist-cjs/communication-react/index-DQgWBNc2.js.map +1 -0
 - package/dist/dist-cjs/communication-react/index.js +10 -7
 - package/dist/dist-cjs/communication-react/index.js.map +1 -1
 - package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js +1 -1
 - package/dist/dist-esm/acs-ui-common/src/telemetryVersion.js.map +1 -1
 - package/dist/dist-esm/acs-ui-javascript-loaders/src/callCompositeLoader.d.ts +19 -0
 - package/dist/dist-esm/acs-ui-javascript-loaders/src/callCompositeLoader.js +51 -0
 - package/dist/dist-esm/acs-ui-javascript-loaders/src/callCompositeLoader.js.map +1 -0
 - package/dist/dist-esm/acs-ui-javascript-loaders/src/index.d.ts +5 -0
 - package/dist/dist-esm/acs-ui-javascript-loaders/src/index.js +5 -0
 - package/dist/dist-esm/acs-ui-javascript-loaders/src/index.js.map +1 -0
 - package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.d.ts +19 -0
 - package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.js +57 -0
 - package/dist/dist-esm/acs-ui-javascript-loaders/src/outboundCallCompositeLoader.js.map +1 -0
 - package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js +16 -36
 - package/dist/dist-esm/chat-component-bindings/src/handlers/createHandlers.js.map +1 -1
 - package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.d.ts +6 -0
 - package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js +23 -0
 - package/dist/dist-esm/chat-component-bindings/src/utils/getImageAttachmentsFromHTMLContent.js.map +1 -0
 - package/dist/dist-esm/communication-react/src/index.d.ts +2 -0
 - package/dist/dist-esm/communication-react/src/index.js +2 -0
 - package/dist/dist-esm/communication-react/src/index.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js +1 -1
 - package/dist/dist-esm/react-components/src/components/ChatMessage/MessageComponents/ChatMessageComponentAsMessageBubble.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js +1 -1
 - package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsEditBox.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js +5 -5
 - package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMessageComponentAsRichTextEditBox.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js +13 -6
 - package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponent.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js +6 -2
 - package/dist/dist-esm/react-components/src/components/ChatMessage/MyMessageComponents/ChatMyMessageComponentAsMessageBubble.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/Notification.d.ts +2 -2
 - package/dist/dist-esm/react-components/src/components/Notification.js +1 -1
 - package/dist/dist-esm/react-components/src/components/Notification.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js +3 -0
 - package/dist/dist-esm/react-components/src/components/RichTextEditor/Plugins/PlaceholderPlugin.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js +4 -10
 - package/dist/dist-esm/react-components/src/components/RichTextEditor/RichTextSendBox.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/SendBox.js +1 -15
 - package/dist/dist-esm/react-components/src/components/SendBox.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/styles/AttachmentCard.styles.d.ts +1 -1
 - package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.d.ts +3 -3
 - package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js +42 -36
 - package/dist/dist-esm/react-components/src/components/styles/MessageThread.styles.js.map +1 -1
 - package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.d.ts +2 -5
 - package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js +8 -27
 - package/dist/dist-esm/react-components/src/components/utils/SendBoxUtils.js.map +1 -1
 - package/dist/dist-esm/react-components/src/localization/locales/en-US/strings.json +39 -39
 - package/dist/dist-esm/react-components/src/theming/icons.js +4 -0
 - package/dist/dist-esm/react-components/src/theming/icons.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js +17 -15
 - package/dist/dist-esm/react-composites/src/composites/CallWithChatComposite/CallWithChatComposite.js.map +1 -1
 - package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js +9 -5
 - package/dist/dist-esm/react-composites/src/composites/common/ParticipantContainer.js.map +1 -1
 - package/package.json +1 -1
 - package/dist/dist-cjs/communication-react/ChatMessageComponentAsRichTextEditBox-B4-VwPSY.js.map +0 -1
 - package/dist/dist-cjs/communication-react/index-CTMK90l4.js.map +0 -1
 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"MessageThread.styles.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/styles/MessageThread.styles.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { IButtonStyles, mergeStyles } from '@fluentui/react';\nimport { makeStyles, shorthands, tokens } from '@fluentui/react-components';\nimport { CSSProperties } from 'react';\nimport { MESSAGE_STATUS_INDICATOR_SIZE_REM } from './MessageStatusIndicator.styles';\nimport { ComponentSlotStyle } from '../../types';\nimport { _ATTACHMENT_CARD_MARGIN_IN_PX, _ATTACHMENT_CARD_WIDTH_IN_REM } from './AttachmentCard.styles';\nimport { ERROR_IMAGE_SVG_PATH } from './Common.style';\n\n// Minimum chat bubble width. This matches the minimum chat bubble width from FluentUI\n// that can contain a message and a timestamp.\nconst CHAT_MESSAGE_CONTAINER_MIN_WIDTH_REM = 6.25;\n\n// Chat messages should span just short of the width of the container.\n// When calculating the width of a message we also must take into account\n// the width of the avatar/gutter and the gap between the message and avatar/gutter.\nconst AVATAR_WIDTH_REM = 2;\nconst AVATAR_MARGIN_LEFT = 2.5;\nconst AVATAR_MESSAGE_GAP_REM = 0.125;\nconst MESSAGE_AMOUNT_OUT_FROM_EDGE_REM = 2;\n\n// Avatars should display on top of chat messages when the chat thread is narrow\nconst MESSAGE_AVATAR_OVERLAP_REM = 0.925;\nconst CHAT_MESSAGE_ZINDEX = 1;\nconst AVATAR_ZINDEX = 2;\n// new message button should be on top of chat message\nconst NEW_MESSAGE_BUTTON_ZINDEX = 2;\n\n/**\n * @private\n */\nexport const messageThreadContainerStyle = mergeStyles({\n  height: '100%',\n  width: '100%',\n  maxHeight: '100%',\n  overflow: 'auto',\n  position: 'relative',\n  alignSelf: 'center'\n});\n\n/**\n * @private\n */\nexport const messageThreadWrapperContainerStyle = mergeStyles({\n  height: '100%',\n  width: '100%',\n  position: 'relative'\n});\n\n/**\n * @private\n */\nexport const noMessageStatusStyle = mergeStyles({\n  // This should match the size of the message status indicator icon to ensure\n  // multiple messages sent by the user are aligned correctly.\n  width: `${MESSAGE_STATUS_INDICATOR_SIZE_REM}rem`\n});\n\n/**\n * @private\n */\nexport const useChatStyles = makeStyles({\n  root: {\n    // chat components sets max width value to 1056px, override it to 100%\n    maxWidth: '100%',\n    paddingTop: '0.8rem',\n    paddingBottom: '0.5rem',\n    paddingRight: '0.6rem',\n    paddingLeft: '0.6rem',\n    ...shorthands.border('none'),\n    ...shorthands.overflow('auto'),\n    // `height: 100%` ensures that the Chat component covers 100% of it's parents height\n    // to prevent intermittent scrollbars when GIFs are present in the chat.\n    height: '100%',\n\n    '& a:link': {\n      color: tokens.colorBrandForegroundLink\n    },\n    '& a:visited': {\n      color: tokens.colorBrandForegroundLinkHover\n    },\n    '& a:hover': {\n      color: tokens.colorBrandForegroundLinkHover\n    }\n  }\n});\n\n/**\n * @private\n */\nexport const useChatMessageRenderStyles = makeStyles({\n  rootCommon: {},\n  rootMessage: {\n    ...shorthands.padding('0'),\n    ...shorthands.margin('0'),\n    maxWidth: '100%',\n    minWidth: `${CHAT_MESSAGE_CONTAINER_MIN_WIDTH_REM}rem`\n  },\n  rootMyMessage: {\n    gridTemplateColumns: 'auto fit-content(0)',\n    gridTemplateAreas: `\n        \"body status\"\n      `,\n    columnGap: '0',\n    gridGap: '0',\n    ...shorthands.padding('0'),\n    marginTop: '0',\n    marginRight: '0',\n    marginBottom: '0',\n    marginLeft: '50px',\n    width: `calc(100% - 50px)`\n  },\n  bodyCommon: {\n    ...shorthands.padding('0'),\n    marginRight: '0',\n    marginBottom: '0',\n    backgroundColor: 'transparent',\n    maxWidth: '100%',\n    minWidth: `${CHAT_MESSAGE_CONTAINER_MIN_WIDTH_REM}rem`,\n    '&:focus-visible': {\n      outlineStyle: 'auto'\n    }\n  },\n  bodyMyMessage: {\n    width: '100%',\n    marginTop: '0'\n  },\n  bodyWithoutAvatar: {\n    marginLeft: `${AVATAR_MARGIN_LEFT}rem`,\n    marginTop: '0'\n  },\n  bodyHiddenAvatar: {\n    marginLeft: 0,\n    marginTop: 0\n  },\n  bodyWithAvatar: {\n    marginLeft: `0`,\n    marginTop: '0.75rem'\n  },\n  avatarNoOverlap: {\n    width: `calc(100% - ${AVATAR_WIDTH_REM + MESSAGE_AMOUNT_OUT_FROM_EDGE_REM + AVATAR_MESSAGE_GAP_REM}rem)`\n  },\n  avatarOverlap: {\n    width: `calc(100% - ${AVATAR_WIDTH_REM + MESSAGE_AMOUNT_OUT_FROM_EDGE_REM - MESSAGE_AVATAR_OVERLAP_REM}rem)`\n  }\n});\n\n/**\n * @private\n */\nexport const useChatMyMessageStyles = makeStyles({\n  root: {\n    // The first column's width should be set to  1fr\n    // because otherwise rich text editor's width will grow indefinitely\n    gridTemplateColumns: '1fr auto',\n    gridTemplateAreas: `\n        \". actions\"\n        \"body body\"\n      `,\n    gridGap: '0',\n    columnGap: '0',\n    paddingTop: '0',\n    marginLeft: '0'\n  },\n  body: {\n    paddingBottom: '10px',\n    marginTop: '1rem',\n    maxWidth: '100%',\n    minWidth: `${CHAT_MESSAGE_CONTAINER_MIN_WIDTH_REM}rem`,\n    marginLeft: '0rem',\n    // This makes message bubble show border in high contrast mode making each message distinguishable\n    ...shorthands.border('1px', 'solid', 'transparent'),\n\n    '&:hover ~ .fui-ChatMyMessage__actions': {\n      visibility: 'visible'\n    },\n    '&:focus ~ .fui-ChatMyMessage__actions': {\n      visibility: 'visible'\n    },\n    '& msft-mention': {\n      color: tokens.colorStatusWarningBackground3,\n      fontWeight: 600\n    },\n    '&:focus-visible': {\n      outlineStyle: 'auto'\n    }\n  },\n  bodyAttached: {\n    marginTop: '0.125rem'\n  },\n  menu: {\n    boxShadow: tokens.shadow4,\n    backgroundColor: tokens.colorNeutralBackground1,\n    marginRight: '1px',\n    position: 'absolute',\n    top: '-2px',\n    right: '0',\n    ...shorthands.borderRadius(tokens.borderRadiusMedium),\n    zIndex: 1,\n    lineHeight: tokens.lineHeightBase100,\n    visibility: 'hidden',\n\n    '&:hover, &:focus': {\n      cursor: 'pointer',\n      visibility: 'visible'\n    }\n  },\n  menuAttached: {\n    top: '-18px'\n  },\n  menuHidden: {\n    visibility: 'hidden'\n  },\n  menuVisible: {\n    visibility: 'visible'\n  },\n  multipleAttachments: {\n    width: '100%',\n    maxWidth: `${(_ATTACHMENT_CARD_WIDTH_IN_REM + _ATTACHMENT_CARD_MARGIN_IN_PX) * 2}rem`\n  }\n});\n\n/**\n * @private\n */\nexport const newMessageButtonContainerStyle = mergeStyles({\n  position: 'absolute',\n  zIndex: NEW_MESSAGE_BUTTON_ZINDEX,\n  bottom: 0,\n  right: '1.5rem'\n});\n\n/**\n * @private\n */\nexport const chatMessageDateStyle: CSSProperties = {\n  fontWeight: 600\n};\n\n/**\n * @private\n */\nexport const useChatMessageStyles = makeStyles({\n  root: {\n    paddingTop: '0'\n  },\n  body: {\n    maxWidth: '100%',\n    minWidth: `${CHAT_MESSAGE_CONTAINER_MIN_WIDTH_REM}rem`,\n    marginRight: '0rem',\n    paddingBottom: '10px',\n    zIndex: CHAT_MESSAGE_ZINDEX,\n    // This makes message bubble show border in high contrast mode making each message distinguishable\n    ...shorthands.border('1px', 'solid', 'transparent'),\n    '& > div:first-of-type': {\n      flexWrap: 'wrap'\n    },\n    '& msft-mention': {\n      color: tokens.colorStatusWarningBackground3,\n      fontWeight: tokens.fontWeightSemibold\n    },\n    '& img': {\n      maxWidth: '100% !important', // Add !important to make sure it won't be overridden by style defined in element\n      height: 'auto !important'\n    },\n    '& video': {\n      maxWidth: '100% !important', // Add !important to make sure it won't be overridden by style defined in element\n      height: 'auto !important'\n    },\n    '& p': {\n      // Deal with awkward padding seen in messages from Teams.\n      // For more info see https://github.com/Azure/communication-ui-library/pull/1507\n      ...shorthands.marginBlock('0.125rem')\n    },\n    '& blockquote': {\n      backgroundColor: tokens.colorBrandBackgroundInverted,\n      clear: 'left',\n      minHeight: '2.25rem',\n      width: 'fit-content',\n      marginTop: '7px',\n      marginRight: '0px',\n      marginLeft: '0px',\n      marginBottom: '7px',\n      paddingTop: '7px',\n      paddingRight: '15px',\n      paddingLeft: '15px',\n      paddingBottom: '7px',\n      ...shorthands.border('solid'),\n      ...shorthands.borderRadius('4px'),\n      ...shorthands.borderWidth('1px'),\n      ...shorthands.borderColor(tokens.colorNeutralStroke1Selected),\n      borderLeftWidth: '4px'\n    },\n    '& code': {\n      whiteSpace: 'pre-wrap'\n    },\n    '&:focus-visible': {\n      outlineStyle: 'auto'\n    }\n  },\n  bodyWithPlaceholderImage: {\n    '& img[src=\"\"]': {\n      display: 'block',\n      position: 'relative',\n      marginBottom: '5px'\n    },\n    '& img[src=\"\"]:after': {\n      backgroundColor: tokens.colorNeutralBackground1Selected,\n      content: `url(\"data:image/gif;base64,R0lGODlhAQABAAAAACw=\")`,\n      backgroundSize: 'center',\n      position: 'absolute',\n      width: '100%',\n      height: '100%',\n      top: '0',\n      left: '0',\n      display: 'block'\n    },\n    '& .broken-image-wrapper': {\n      width: '12rem',\n      height: '12rem',\n      marginTop: '0.75rem',\n      display: 'flex',\n      justifyContent: 'center',\n      alignItems: 'center',\n      outline: `1px solid ${tokens.colorNeutralForegroundDisabled}`,\n      backgroundColor: tokens.colorNeutralBackground2\n    },\n    '& .broken-image-wrapper:after': {\n      content: `''`,\n      maskImage: `url(\"data:image/svg+xml,%3Csvg width='3rem' height='3rem' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='currentColor'%3E%3Cpath d='${ERROR_IMAGE_SVG_PATH}' fill='currentColor' /%3E%3C/svg%3E\");`,\n      width: '3rem',\n      height: '3rem',\n      backgroundColor: `${tokens.colorNeutralForeground2}`\n    }\n  },\n  bodyWithoutAvatar: {\n    marginTop: '0.125rem'\n  },\n  bodyWithAvatar: {\n    marginTop: `0.375rem`\n  },\n  avatarNoOverlap: {\n    marginLeft: `${-AVATAR_MARGIN_LEFT + AVATAR_MESSAGE_GAP_REM}rem`\n  },\n  avatarOverlap: {\n    marginLeft: `${-AVATAR_MARGIN_LEFT - MESSAGE_AVATAR_OVERLAP_REM}rem`\n  },\n  multipleAttachments: {\n    width: `${(_ATTACHMENT_CARD_WIDTH_IN_REM + _ATTACHMENT_CARD_MARGIN_IN_PX) * 2}rem`\n  }\n});\n\n/**\n * @private\n */\nexport const useChatMessageCommonStyles = makeStyles({\n  body: {\n    '& table': {\n      backgroundColor: tokens.colorBrandBackgroundInverted,\n      borderCollapse: 'collapse',\n      tableLayout: 'auto',\n      width: '100%',\n\n      '& tr': {\n        ...shorthands.border('1px', 'solid', `${tokens.colorNeutralStrokeAccessible}`),\n\n        '& td': {\n          ...shorthands.border('1px', 'solid', `${tokens.colorNeutralStrokeAccessible}`),\n          wordBreak: 'normal',\n          paddingTop: '0px',\n          paddingRight: '5px'\n        }\n      }\n    }\n  },\n  failed: {\n    //TODO: can we reuse a theme color here?\n    backgroundColor: 'rgba(168, 0, 0, 0.2)'\n  },\n  blocked: {\n    maxWidth: '100%',\n    minWidth: `${CHAT_MESSAGE_CONTAINER_MIN_WIDTH_REM}rem`,\n    marginRight: '0rem',\n    color: tokens.colorNeutralForeground2,\n\n    // This makes message bubble show border in high contrast mode making each message distinguishable\n    ...shorthands.border('1px', 'solid', 'transparent'),\n    '& i': {\n      paddingTop: '0.25rem'\n    },\n\n    '& p': {\n      // Deal with awkward padding seen in messages from Teams.\n      // For more info see https://github.com/Azure/communication-ui-library/pull/1507\n      ...shorthands.marginBlock('0.125rem'),\n      paddingRight: '0.75rem',\n      fontStyle: 'italic'\n    },\n\n    '& a': {\n      ...shorthands.marginBlock('0.125rem'),\n      fontStyle: 'normal',\n      color: tokens.colorBrandForegroundLink,\n      ...shorthands.textDecoration('none')\n    }\n  }\n});\n\n/**\n * @private\n */\nexport const gutterWithAvatar: ComponentSlotStyle = {\n  paddingTop: '1.65rem',\n  width: `${AVATAR_WIDTH_REM}rem`,\n  position: 'relative',\n  float: 'left',\n  display: 'block',\n  visibility: 'visible',\n  zIndex: AVATAR_ZINDEX\n};\n\n/**\n * @private\n */\nexport const gutterWithHiddenAvatar: ComponentSlotStyle = {\n  ...gutterWithAvatar,\n  visibility: 'hidden',\n  // we use this hidden avatar just as a width placeholder\n  // the placeholder is needed for responsive bubble width\n  height: 0\n};\n\n/**\n * @private\n */\nexport const newMessageButtonStyle = mergeStyles({\n  float: 'right',\n  width: 'fit-content'\n});\n\n/**\n * @private\n */\nexport const buttonWithIconStyles: IButtonStyles = {\n  textContainer: {\n    display: 'contents'\n  }\n};\n\n/**\n * @private\n */\nexport const loadPreviousMessageButtonStyle = mergeStyles({\n  border: 'none',\n  minHeight: '1.5rem',\n  '&:hover': { background: 'none' },\n  '&:active': { background: 'none' }\n});\n\n/**\n * @private\n */\nexport const DownIconStyle = mergeStyles({\n  marginRight: '0.5em'\n});\n\n/** @private */\nexport const dataLossIconStyle = mergeStyles({\n  width: '1.25rem',\n  height: '1.25rem'\n});\n"]}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"MessageThread.styles.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/styles/MessageThread.styles.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAiB,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAE5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,iCAAiC,CAAC;AAEpF,OAAO,EAAE,6BAA6B,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,sFAAsF;AACtF,8CAA8C;AAC9C,MAAM,oCAAoC,GAAG,IAAI,CAAC;AAElD,sEAAsE;AACtE,yEAAyE;AACzE,oFAAoF;AACpF,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,sBAAsB,GAAG,KAAK,CAAC;AACrC,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAE3C,gFAAgF;AAChF,MAAM,0BAA0B,GAAG,KAAK,CAAC;AACzC,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,sDAAsD;AACtD,MAAM,yBAAyB,GAAG,CAAC,CAAC;AAEpC;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,WAAW,CAAC;IACrD,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;IACb,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;IAChB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,QAAQ;CACpB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,WAAW,CAAC;IAC5D,MAAM,EAAE,MAAM;IACd,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,UAAU;CACrB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAC;IAC9C,4EAA4E;IAC5E,4DAA4D;IAC5D,KAAK,EAAE,GAAG,iCAAiC,KAAK;CACjD,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAC;IACtC,IAAI;QACF,sEAAsE;QACtE,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,QAAQ,EACpB,aAAa,EAAE,QAAQ,EACvB,YAAY,EAAE,QAAQ,EACtB,WAAW,EAAE,QAAQ,IAClB,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,GACzB,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC9B,oFAAoF;QACpF,wEAAwE;QACxE,MAAM,EAAE,MAAM,EAEd,UAAU,EAAE;YACV,KAAK,EAAE,MAAM,CAAC,wBAAwB;SACvC,EACD,aAAa,EAAE;YACb,KAAK,EAAE,MAAM,CAAC,6BAA6B;SAC5C,EACD,WAAW,EAAE;YACX,KAAK,EAAE,MAAM,CAAC,6BAA6B;SAC5C,GACF;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC;IACnD,UAAU,EAAE,EAAE;IACd,WAAW,gDACN,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GACvB,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,KACzB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,GAAG,oCAAoC,KAAK,GACvD;IACD,aAAa,gCACX,mBAAmB,EAAE,qBAAqB,EAC1C,iBAAiB,EAAE;;OAEhB,EACH,SAAS,EAAE,GAAG,EACd,OAAO,EAAE,GAAG,IACT,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAC1B,SAAS,EAAE,GAAG,EACd,WAAW,EAAE,GAAG,EAChB,YAAY,EAAE,GAAG,EACjB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,mBAAmB,GAC3B;IACD,UAAU,kCACL,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAC1B,WAAW,EAAE,GAAG,EAChB,YAAY,EAAE,GAAG,EACjB,eAAe,EAAE,aAAa,EAC9B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,GAAG,oCAAoC,KAAK,EACtD,iBAAiB,EAAE;YACjB,YAAY,EAAE,MAAM;SACrB,GACF;IACD,aAAa,EAAE;QACb,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,GAAG;KACf;IACD,iBAAiB,EAAE;QACjB,UAAU,EAAE,GAAG,kBAAkB,KAAK;QACtC,SAAS,EAAE,GAAG;KACf;IACD,gBAAgB,EAAE;QAChB,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,CAAC;KACb;IACD,cAAc,EAAE;QACd,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,SAAS;KACrB;IACD,eAAe,EAAE;QACf,KAAK,EAAE,eAAe,gBAAgB,GAAG,gCAAgC,GAAG,sBAAsB,MAAM;KACzG;IACD,aAAa,EAAE;QACb,KAAK,EAAE,eAAe,gBAAgB,GAAG,gCAAgC,GAAG,0BAA0B,MAAM;KAC7G;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,UAAU,CAAC;IAC/C,IAAI,EAAE;QACJ,iDAAiD;QACjD,oEAAoE;QACpE,mBAAmB,EAAE,UAAU;QAC/B,iBAAiB,EAAE;;;OAGhB;QACH,OAAO,EAAE,GAAG;QACZ,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,GAAG;QACf,UAAU,EAAE,GAAG;KAChB;IACD,IAAI,gCACF,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,GAAG,oCAAoC,KAAK,EACtD,UAAU,EAAE,MAAM,IAEf,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,KAEnD,uCAAuC,EAAE;YACvC,UAAU,EAAE,SAAS;SACtB,EACD,uCAAuC,EAAE;YACvC,UAAU,EAAE,SAAS;SACtB,EACD,gBAAgB,EAAE;YAChB,KAAK,EAAE,MAAM,CAAC,6BAA6B;YAC3C,UAAU,EAAE,GAAG;SAChB,EACD,iBAAiB,EAAE;YACjB,YAAY,EAAE,MAAM;SACrB,GACF;IACD,gEAAgE;IAChE,wBAAwB,EAAE;QACxB,uEAAuE;QACvE,qFAAqF;QACrF,eAAe,EAAE;YACf,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,OAAO;SAChB;KACF;IACD,YAAY,EAAE;QACZ,SAAS,EAAE,UAAU;KACtB;IACD,IAAI,gCACF,SAAS,EAAE,MAAM,CAAC,OAAO,EACzB,eAAe,EAAE,MAAM,CAAC,uBAAuB,EAC/C,WAAW,EAAE,KAAK,EAClB,QAAQ,EAAE,UAAU,EACpB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,IACP,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,kBAAkB,CAAC,KACrD,MAAM,EAAE,CAAC,EACT,UAAU,EAAE,MAAM,CAAC,iBAAiB,EACpC,UAAU,EAAE,QAAQ,EAEpB,kBAAkB,EAAE;YAClB,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,SAAS;SACtB,GACF;IACD,YAAY,EAAE;QACZ,GAAG,EAAE,OAAO;KACb;IACD,UAAU,EAAE;QACV,UAAU,EAAE,QAAQ;KACrB;IACD,WAAW,EAAE;QACX,UAAU,EAAE,SAAS;KACtB;IACD,4BAA4B,EAAE;QAC5B,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,GAAG,CAAC,6BAA6B,GAAG,6BAA6B,CAAC,GAAG,CAAC,KAAK;KACtF;IACD,4BAA4B,EAAE;QAC5B,8DAA8D;QAC9D,iEAAiE;QACjE,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,OAAO;KACf;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,WAAW,CAAC;IACxD,QAAQ,EAAE,UAAU;IACpB,MAAM,EAAE,yBAAyB;IACjC,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,QAAQ;CAChB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAkB;IACjD,UAAU,EAAE,GAAG;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;IAC7C,IAAI,EAAE;QACJ,UAAU,EAAE,GAAG;KAChB;IACD,IAAI,gCACF,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,GAAG,oCAAoC,KAAK,EACtD,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,mBAAmB,IAExB,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,KACnD,uBAAuB,EAAE;YACvB,QAAQ,EAAE,MAAM;SACjB,EACD,gBAAgB,EAAE;YAChB,KAAK,EAAE,MAAM,CAAC,6BAA6B;YAC3C,UAAU,EAAE,MAAM,CAAC,kBAAkB;SACtC,EACD,OAAO,EAAE;YACP,QAAQ,EAAE,iBAAiB,EAAE,iFAAiF;YAC9G,MAAM,EAAE,iBAAiB;SAC1B,EACD,SAAS,EAAE;YACT,QAAQ,EAAE,iBAAiB,EAAE,iFAAiF;YAC9G,MAAM,EAAE,iBAAiB;SAC1B,EACD,KAAK,oBAGA,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,GAEvC,cAAc,0EACZ,eAAe,EAAE,MAAM,CAAC,4BAA4B,EACpD,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,aAAa,EACpB,SAAS,EAAE,KAAK,EAChB,WAAW,EAAE,KAAK,EAClB,UAAU,EAAE,KAAK,EACjB,YAAY,EAAE,KAAK,EACnB,UAAU,EAAE,KAAK,EACjB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,KAAK,IACjB,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,GAC1B,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,GAC9B,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,GAC7B,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,2BAA2B,CAAC,KAC7D,eAAe,EAAE,KAAK,KAExB,QAAQ,EAAE;YACR,UAAU,EAAE,UAAU;SACvB,EACD,iBAAiB,EAAE;YACjB,YAAY,EAAE,MAAM;SACrB,GACF;IACD,iBAAiB,EAAE;QACjB,SAAS,EAAE,UAAU;KACtB;IACD,cAAc,EAAE;QACd,SAAS,EAAE,UAAU;KACtB;IACD,eAAe,EAAE;QACf,UAAU,EAAE,GAAG,CAAC,kBAAkB,GAAG,sBAAsB,KAAK;KACjE;IACD,aAAa,EAAE;QACb,UAAU,EAAE,GAAG,CAAC,kBAAkB,GAAG,0BAA0B,KAAK;KACrE;IACD,mBAAmB,EAAE;QACnB,KAAK,EAAE,GAAG,CAAC,6BAA6B,GAAG,6BAA6B,CAAC,GAAG,CAAC,KAAK;KACnF;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,UAAU,CAAC;IACnD,IAAI,EAAE;QACJ,SAAS,EAAE;YACT,eAAe,EAAE,MAAM,CAAC,4BAA4B;YACpD,cAAc,EAAE,UAAU;YAC1B,WAAW,EAAE,MAAM;YACnB,KAAK,EAAE,MAAM;YAEb,MAAM,kCACD,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,4BAA4B,EAAE,CAAC,KAE9E,MAAM,kCACD,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,4BAA4B,EAAE,CAAC,KAC9E,SAAS,EAAE,QAAQ,EACnB,UAAU,EAAE,KAAK,EACjB,YAAY,EAAE,KAAK,MAEtB;SACF;KACF;IACD,wBAAwB,EAAE;QACxB,eAAe,EAAE;YACf,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,UAAU;YACpB,YAAY,EAAE,KAAK;SACpB;QACD,qBAAqB,EAAE;YACrB,eAAe,EAAE,MAAM,CAAC,+BAA+B;YACvD,OAAO,EAAE,mDAAmD;YAC5D,cAAc,EAAE,QAAQ;YACxB,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,OAAO;SACjB;QACD,yBAAyB,gCACvB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,QAAQ,EACxB,UAAU,EAAE,QAAQ,IACjB,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,8BAA8B,CAAC,KAC5E,eAAe,EAAE,MAAM,CAAC,uBAAuB,GAChD;QACD,+BAA+B,EAAE;YAC/B,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,qJAAqJ,oBAAoB,yCAAyC;YAC7N,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,eAAe,EAAE,GAAG,MAAM,CAAC,uBAAuB,EAAE;SACrD;KACF;IACD,MAAM,EAAE;QACN,wCAAwC;QACxC,eAAe,EAAE,sBAAsB;KACxC;IACD,OAAO,gCACL,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,GAAG,oCAAoC,KAAK,EACtD,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,CAAC,uBAAuB,IAGlC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,CAAC,KACnD,KAAK,EAAE;YACL,UAAU,EAAE,SAAS;SACtB,EAED,KAAK,kCAGA,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,KACrC,YAAY,EAAE,SAAS,EACvB,SAAS,EAAE,QAAQ,KAGrB,KAAK,gDACA,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,KACrC,SAAS,EAAE,QAAQ,EACnB,KAAK,EAAE,MAAM,CAAC,wBAAwB,KACnC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,IAEvC;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAuB;IAClD,UAAU,EAAE,SAAS;IACrB,KAAK,EAAE,GAAG,gBAAgB,KAAK;IAC/B,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,MAAM;IACb,OAAO,EAAE,OAAO;IAChB,UAAU,EAAE,SAAS;IACrB,MAAM,EAAE,aAAa;CACtB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,mCAC9B,gBAAgB,KACnB,UAAU,EAAE,QAAQ;IACpB,wDAAwD;IACxD,wDAAwD;IACxD,MAAM,EAAE,CAAC,GACV,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,WAAW,CAAC;IAC/C,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,aAAa;CACrB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAkB;IACjD,aAAa,EAAE;QACb,OAAO,EAAE,UAAU;KACpB;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,WAAW,CAAC;IACxD,MAAM,EAAE,MAAM;IACd,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;IACjC,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;CACnC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC;IACvC,WAAW,EAAE,OAAO;CACrB,CAAC,CAAC;AAEH,eAAe;AACf,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;IAC3C,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,SAAS;CAClB,CAAC,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { IButtonStyles, mergeStyles } from '@fluentui/react';\nimport { makeStyles, shorthands, tokens } from '@fluentui/react-components';\nimport { CSSProperties } from 'react';\nimport { MESSAGE_STATUS_INDICATOR_SIZE_REM } from './MessageStatusIndicator.styles';\nimport { ComponentSlotStyle } from '../../types';\nimport { _ATTACHMENT_CARD_MARGIN_IN_PX, _ATTACHMENT_CARD_WIDTH_IN_REM } from './AttachmentCard.styles';\nimport { ERROR_IMAGE_SVG_PATH } from './Common.style';\n\n// Minimum chat bubble width. This matches the minimum chat bubble width from FluentUI\n// that can contain a message and a timestamp.\nconst CHAT_MESSAGE_CONTAINER_MIN_WIDTH_REM = 6.25;\n\n// Chat messages should span just short of the width of the container.\n// When calculating the width of a message we also must take into account\n// the width of the avatar/gutter and the gap between the message and avatar/gutter.\nconst AVATAR_WIDTH_REM = 2;\nconst AVATAR_MARGIN_LEFT = 2.5;\nconst AVATAR_MESSAGE_GAP_REM = 0.125;\nconst MESSAGE_AMOUNT_OUT_FROM_EDGE_REM = 2;\n\n// Avatars should display on top of chat messages when the chat thread is narrow\nconst MESSAGE_AVATAR_OVERLAP_REM = 0.925;\nconst CHAT_MESSAGE_ZINDEX = 1;\nconst AVATAR_ZINDEX = 2;\n// new message button should be on top of chat message\nconst NEW_MESSAGE_BUTTON_ZINDEX = 2;\n\n/**\n * @private\n */\nexport const messageThreadContainerStyle = mergeStyles({\n  height: '100%',\n  width: '100%',\n  maxHeight: '100%',\n  overflow: 'auto',\n  position: 'relative',\n  alignSelf: 'center'\n});\n\n/**\n * @private\n */\nexport const messageThreadWrapperContainerStyle = mergeStyles({\n  height: '100%',\n  width: '100%',\n  position: 'relative'\n});\n\n/**\n * @private\n */\nexport const noMessageStatusStyle = mergeStyles({\n  // This should match the size of the message status indicator icon to ensure\n  // multiple messages sent by the user are aligned correctly.\n  width: `${MESSAGE_STATUS_INDICATOR_SIZE_REM}rem`\n});\n\n/**\n * @private\n */\nexport const useChatStyles = makeStyles({\n  root: {\n    // chat components sets max width value to 1056px, override it to 100%\n    maxWidth: '100%',\n    paddingTop: '0.8rem',\n    paddingBottom: '0.5rem',\n    paddingRight: '0.6rem',\n    paddingLeft: '0.6rem',\n    ...shorthands.border('none'),\n    ...shorthands.overflow('auto'),\n    // `height: 100%` ensures that the Chat component covers 100% of it's parents height\n    // to prevent intermittent scrollbars when GIFs are present in the chat.\n    height: '100%',\n\n    '& a:link': {\n      color: tokens.colorBrandForegroundLink\n    },\n    '& a:visited': {\n      color: tokens.colorBrandForegroundLinkHover\n    },\n    '& a:hover': {\n      color: tokens.colorBrandForegroundLinkHover\n    }\n  }\n});\n\n/**\n * @private\n */\nexport const useChatMessageRenderStyles = makeStyles({\n  rootCommon: {},\n  rootMessage: {\n    ...shorthands.padding('0'),\n    ...shorthands.margin('0'),\n    maxWidth: '100%',\n    minWidth: `${CHAT_MESSAGE_CONTAINER_MIN_WIDTH_REM}rem`\n  },\n  rootMyMessage: {\n    gridTemplateColumns: 'auto fit-content(0)',\n    gridTemplateAreas: `\n        \"body status\"\n      `,\n    columnGap: '0',\n    gridGap: '0',\n    ...shorthands.padding('0'),\n    marginTop: '0',\n    marginRight: '0',\n    marginBottom: '0',\n    marginLeft: '50px',\n    width: `calc(100% - 50px)`\n  },\n  bodyCommon: {\n    ...shorthands.padding('0'),\n    marginRight: '0',\n    marginBottom: '0',\n    backgroundColor: 'transparent',\n    maxWidth: '100%',\n    minWidth: `${CHAT_MESSAGE_CONTAINER_MIN_WIDTH_REM}rem`,\n    '&:focus-visible': {\n      outlineStyle: 'auto'\n    }\n  },\n  bodyMyMessage: {\n    width: '100%',\n    marginTop: '0'\n  },\n  bodyWithoutAvatar: {\n    marginLeft: `${AVATAR_MARGIN_LEFT}rem`,\n    marginTop: '0'\n  },\n  bodyHiddenAvatar: {\n    marginLeft: 0,\n    marginTop: 0\n  },\n  bodyWithAvatar: {\n    marginLeft: `0`,\n    marginTop: '0.75rem'\n  },\n  avatarNoOverlap: {\n    width: `calc(100% - ${AVATAR_WIDTH_REM + MESSAGE_AMOUNT_OUT_FROM_EDGE_REM + AVATAR_MESSAGE_GAP_REM}rem)`\n  },\n  avatarOverlap: {\n    width: `calc(100% - ${AVATAR_WIDTH_REM + MESSAGE_AMOUNT_OUT_FROM_EDGE_REM - MESSAGE_AVATAR_OVERLAP_REM}rem)`\n  }\n});\n\n/**\n * @private\n */\nexport const useChatMyMessageStyles = makeStyles({\n  root: {\n    // The first column's width should be set to  1fr\n    // because otherwise rich text editor's width will grow indefinitely\n    gridTemplateColumns: '1fr auto',\n    gridTemplateAreas: `\n        \". actions\"\n        \"body body\"\n      `,\n    gridGap: '0',\n    columnGap: '0',\n    paddingTop: '0',\n    marginLeft: '0'\n  },\n  body: {\n    paddingBottom: '10px',\n    marginTop: '1rem',\n    maxWidth: '100%',\n    minWidth: `${CHAT_MESSAGE_CONTAINER_MIN_WIDTH_REM}rem`,\n    marginLeft: '0rem',\n    // This makes message bubble show border in high contrast mode making each message distinguishable\n    ...shorthands.border('1px', 'solid', 'transparent'),\n\n    '&:hover ~ .fui-ChatMyMessage__actions': {\n      visibility: 'visible'\n    },\n    '&:focus ~ .fui-ChatMyMessage__actions': {\n      visibility: 'visible'\n    },\n    '& msft-mention': {\n      color: tokens.colorStatusWarningBackground3,\n      fontWeight: 600\n    },\n    '&:focus-visible': {\n      outlineStyle: 'auto'\n    }\n  },\n  /* @conditional-compile-remove(rich-text-editor-image-upload) */\n  bodyWithPlaceholderImage: {\n    // Adding width and height to the placeholder image only for myMessages\n    // because inline images sent from ACS doesn't have width and height in the image tag\n    '& img[src=\"\"]': {\n      width: '12rem',\n      height: '12rem'\n    }\n  },\n  bodyAttached: {\n    marginTop: '0.125rem'\n  },\n  menu: {\n    boxShadow: tokens.shadow4,\n    backgroundColor: tokens.colorNeutralBackground1,\n    marginRight: '1px',\n    position: 'absolute',\n    top: '-2px',\n    right: '0',\n    ...shorthands.borderRadius(tokens.borderRadiusMedium),\n    zIndex: 1,\n    lineHeight: tokens.lineHeightBase100,\n    visibility: 'hidden',\n\n    '&:hover, &:focus': {\n      cursor: 'pointer',\n      visibility: 'visible'\n    }\n  },\n  menuAttached: {\n    top: '-18px'\n  },\n  menuHidden: {\n    visibility: 'hidden'\n  },\n  menuVisible: {\n    visibility: 'visible'\n  },\n  multipleAttachmentsInViewing: {\n    width: '100%',\n    maxWidth: `${(_ATTACHMENT_CARD_WIDTH_IN_REM + _ATTACHMENT_CARD_MARGIN_IN_PX) * 2}rem`\n  },\n  multipleAttachmentsInEditing: {\n    // when in editing state, the chat message width should not be\n    // limited by content length but occupying the full width instead\n    width: '100%',\n    float: 'right'\n  }\n});\n\n/**\n * @private\n */\nexport const newMessageButtonContainerStyle = mergeStyles({\n  position: 'absolute',\n  zIndex: NEW_MESSAGE_BUTTON_ZINDEX,\n  bottom: 0,\n  right: '1.5rem'\n});\n\n/**\n * @private\n */\nexport const chatMessageDateStyle: CSSProperties = {\n  fontWeight: 600\n};\n\n/**\n * @private\n */\nexport const useChatMessageStyles = makeStyles({\n  root: {\n    paddingTop: '0'\n  },\n  body: {\n    maxWidth: '100%',\n    minWidth: `${CHAT_MESSAGE_CONTAINER_MIN_WIDTH_REM}rem`,\n    marginRight: '0rem',\n    paddingBottom: '10px',\n    zIndex: CHAT_MESSAGE_ZINDEX,\n    // This makes message bubble show border in high contrast mode making each message distinguishable\n    ...shorthands.border('1px', 'solid', 'transparent'),\n    '& > div:first-of-type': {\n      flexWrap: 'wrap'\n    },\n    '& msft-mention': {\n      color: tokens.colorStatusWarningBackground3,\n      fontWeight: tokens.fontWeightSemibold\n    },\n    '& img': {\n      maxWidth: '100% !important', // Add !important to make sure it won't be overridden by style defined in element\n      height: 'auto !important'\n    },\n    '& video': {\n      maxWidth: '100% !important', // Add !important to make sure it won't be overridden by style defined in element\n      height: 'auto !important'\n    },\n    '& p': {\n      // Deal with awkward padding seen in messages from Teams.\n      // For more info see https://github.com/Azure/communication-ui-library/pull/1507\n      ...shorthands.marginBlock('0.125rem')\n    },\n    '& blockquote': {\n      backgroundColor: tokens.colorBrandBackgroundInverted,\n      clear: 'left',\n      minHeight: '2.25rem',\n      width: 'fit-content',\n      marginTop: '7px',\n      marginRight: '0px',\n      marginLeft: '0px',\n      marginBottom: '7px',\n      paddingTop: '7px',\n      paddingRight: '15px',\n      paddingLeft: '15px',\n      paddingBottom: '7px',\n      ...shorthands.border('solid'),\n      ...shorthands.borderRadius('4px'),\n      ...shorthands.borderWidth('1px'),\n      ...shorthands.borderColor(tokens.colorNeutralStroke1Selected),\n      borderLeftWidth: '4px'\n    },\n    '& code': {\n      whiteSpace: 'pre-wrap'\n    },\n    '&:focus-visible': {\n      outlineStyle: 'auto'\n    }\n  },\n  bodyWithoutAvatar: {\n    marginTop: '0.125rem'\n  },\n  bodyWithAvatar: {\n    marginTop: `0.375rem`\n  },\n  avatarNoOverlap: {\n    marginLeft: `${-AVATAR_MARGIN_LEFT + AVATAR_MESSAGE_GAP_REM}rem`\n  },\n  avatarOverlap: {\n    marginLeft: `${-AVATAR_MARGIN_LEFT - MESSAGE_AVATAR_OVERLAP_REM}rem`\n  },\n  multipleAttachments: {\n    width: `${(_ATTACHMENT_CARD_WIDTH_IN_REM + _ATTACHMENT_CARD_MARGIN_IN_PX) * 2}rem`\n  }\n});\n\n/**\n * @private\n */\nexport const useChatMessageCommonStyles = makeStyles({\n  body: {\n    '& table': {\n      backgroundColor: tokens.colorBrandBackgroundInverted,\n      borderCollapse: 'collapse',\n      tableLayout: 'auto',\n      width: '100%',\n\n      '& tr': {\n        ...shorthands.border('1px', 'solid', `${tokens.colorNeutralStrokeAccessible}`),\n\n        '& td': {\n          ...shorthands.border('1px', 'solid', `${tokens.colorNeutralStrokeAccessible}`),\n          wordBreak: 'normal',\n          paddingTop: '0px',\n          paddingRight: '5px'\n        }\n      }\n    }\n  },\n  bodyWithPlaceholderImage: {\n    '& img[src=\"\"]': {\n      display: 'block',\n      position: 'relative',\n      marginBottom: '5px'\n    },\n    '& img[src=\"\"]:after': {\n      backgroundColor: tokens.colorNeutralBackground1Selected,\n      content: `url(\"data:image/gif;base64,R0lGODlhAQABAAAAACw=\")`,\n      backgroundSize: 'center',\n      position: 'absolute',\n      width: '100%',\n      height: '100%',\n      top: '0',\n      left: '0',\n      display: 'block'\n    },\n    '& .broken-image-wrapper': {\n      width: '12rem',\n      height: '12rem',\n      marginTop: '0.75rem',\n      display: 'flex',\n      justifyContent: 'center',\n      alignItems: 'center',\n      ...shorthands.outline('1px', 'solid', tokens.colorNeutralForegroundDisabled),\n      backgroundColor: tokens.colorNeutralBackground2\n    },\n    '& .broken-image-wrapper:after': {\n      content: `''`,\n      maskImage: `url(\"data:image/svg+xml,%3Csvg width='3rem' height='3rem' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg' fill='currentColor'%3E%3Cpath d='${ERROR_IMAGE_SVG_PATH}' fill='currentColor' /%3E%3C/svg%3E\");`,\n      width: '3rem',\n      height: '3rem',\n      backgroundColor: `${tokens.colorNeutralForeground2}`\n    }\n  },\n  failed: {\n    //TODO: can we reuse a theme color here?\n    backgroundColor: 'rgba(168, 0, 0, 0.2)'\n  },\n  blocked: {\n    maxWidth: '100%',\n    minWidth: `${CHAT_MESSAGE_CONTAINER_MIN_WIDTH_REM}rem`,\n    marginRight: '0rem',\n    color: tokens.colorNeutralForeground2,\n\n    // This makes message bubble show border in high contrast mode making each message distinguishable\n    ...shorthands.border('1px', 'solid', 'transparent'),\n    '& i': {\n      paddingTop: '0.25rem'\n    },\n\n    '& p': {\n      // Deal with awkward padding seen in messages from Teams.\n      // For more info see https://github.com/Azure/communication-ui-library/pull/1507\n      ...shorthands.marginBlock('0.125rem'),\n      paddingRight: '0.75rem',\n      fontStyle: 'italic'\n    },\n\n    '& a': {\n      ...shorthands.marginBlock('0.125rem'),\n      fontStyle: 'normal',\n      color: tokens.colorBrandForegroundLink,\n      ...shorthands.textDecoration('none')\n    }\n  }\n});\n\n/**\n * @private\n */\nexport const gutterWithAvatar: ComponentSlotStyle = {\n  paddingTop: '1.65rem',\n  width: `${AVATAR_WIDTH_REM}rem`,\n  position: 'relative',\n  float: 'left',\n  display: 'block',\n  visibility: 'visible',\n  zIndex: AVATAR_ZINDEX\n};\n\n/**\n * @private\n */\nexport const gutterWithHiddenAvatar: ComponentSlotStyle = {\n  ...gutterWithAvatar,\n  visibility: 'hidden',\n  // we use this hidden avatar just as a width placeholder\n  // the placeholder is needed for responsive bubble width\n  height: 0\n};\n\n/**\n * @private\n */\nexport const newMessageButtonStyle = mergeStyles({\n  float: 'right',\n  width: 'fit-content'\n});\n\n/**\n * @private\n */\nexport const buttonWithIconStyles: IButtonStyles = {\n  textContainer: {\n    display: 'contents'\n  }\n};\n\n/**\n * @private\n */\nexport const loadPreviousMessageButtonStyle = mergeStyles({\n  border: 'none',\n  minHeight: '1.5rem',\n  '&:hover': { background: 'none' },\n  '&:active': { background: 'none' }\n});\n\n/**\n * @private\n */\nexport const DownIconStyle = mergeStyles({\n  marginRight: '0.5em'\n});\n\n/** @private */\nexport const dataLossIconStyle = mergeStyles({\n  width: '1.25rem',\n  height: '1.25rem'\n});\n"]}
         
     | 
| 
         @@ -46,12 +46,9 @@ export declare const cancelInlineImageUpload: (imageSrcArray: string[] | undefin 
     | 
|
| 
       46 
46 
     | 
    
         
             
            /**
         
     | 
| 
       47 
47 
     | 
    
         
             
             * @internal
         
     | 
| 
       48 
48 
     | 
    
         
             
             */
         
     | 
| 
       49 
     | 
    
         
            -
            export declare const toAttachmentMetadata: (attachmentsWithProgress: AttachmentMetadataInProgress[] | undefined 
     | 
| 
      
 49 
     | 
    
         
            +
            export declare const toAttachmentMetadata: (attachmentsWithProgress: AttachmentMetadataInProgress[] | undefined) => AttachmentMetadata[] | undefined;
         
     | 
| 
       50 
50 
     | 
    
         
             
            /**
         
     | 
| 
       51 
51 
     | 
    
         
             
             * @internal
         
     | 
| 
       52 
52 
     | 
    
         
             
             */
         
     | 
| 
       53 
     | 
    
         
            -
            export declare const  
     | 
| 
       54 
     | 
    
         
            -
                content: string;
         
     | 
| 
       55 
     | 
    
         
            -
                attachmentArray: AttachmentMetadata[] | undefined;
         
     | 
| 
       56 
     | 
    
         
            -
            };
         
     | 
| 
      
 53 
     | 
    
         
            +
            export declare const insertImagesToContentString: (content: string, imageUploadsInProgress?: AttachmentMetadataInProgress[]) => string;
         
     | 
| 
       57 
54 
     | 
    
         
             
            //# sourceMappingURL=SendBoxUtils.d.ts.map
         
     | 
| 
         @@ -93,50 +93,31 @@ export const cancelInlineImageUpload = (imageSrcArray, imageUploadsInProgress, o 
     | 
|
| 
       93 
93 
     | 
    
         
             
                }
         
     | 
| 
       94 
94 
     | 
    
         
             
            };
         
     | 
| 
       95 
95 
     | 
    
         
             
            /* @conditional-compile-remove(file-sharing-acs) */
         
     | 
| 
       96 
     | 
    
         
            -
            /* @conditional-compile-remove(rich-text-editor-image-upload) */
         
     | 
| 
       97 
96 
     | 
    
         
             
            /**
         
     | 
| 
       98 
97 
     | 
    
         
             
             * @internal
         
     | 
| 
       99 
98 
     | 
    
         
             
             */
         
     | 
| 
       100 
     | 
    
         
            -
            export const toAttachmentMetadata = (attachmentsWithProgress 
     | 
| 
       101 
     | 
    
         
            -
            /* @conditional-compile-remove(rich-text-editor-image-upload) */ attachmentType) => {
         
     | 
| 
      
 99 
     | 
    
         
            +
            export const toAttachmentMetadata = (attachmentsWithProgress) => {
         
     | 
| 
       102 
100 
     | 
    
         
             
                return attachmentsWithProgress === null || attachmentsWithProgress === void 0 ? void 0 : attachmentsWithProgress.filter((attachment) => {
         
     | 
| 
       103 
101 
     | 
    
         
             
                    var _a;
         
     | 
| 
       104 
102 
     | 
    
         
             
                    return !('error' in attachment) && !((_a = attachment.error) === null || _a === void 0 ? void 0 : _a.message);
         
     | 
| 
       105 
103 
     | 
    
         
             
                }).map((attachment) => {
         
     | 
| 
       106 
     | 
    
         
            -
                     
     | 
| 
       107 
     | 
    
         
            -
                    /* @conditional-compile-remove(rich-text-editor-image-upload) */
         
     | 
| 
       108 
     | 
    
         
            -
                    if (attachmentType === 'image') {
         
     | 
| 
       109 
     | 
    
         
            -
                        url = '';
         
     | 
| 
       110 
     | 
    
         
            -
                    }
         
     | 
| 
      
 104 
     | 
    
         
            +
                    var _a;
         
     | 
| 
       111 
105 
     | 
    
         
             
                    return {
         
     | 
| 
       112 
106 
     | 
    
         
             
                        id: attachment.id,
         
     | 
| 
       113 
107 
     | 
    
         
             
                        name: attachment.name,
         
     | 
| 
       114 
     | 
    
         
            -
                        url 
     | 
| 
       115 
     | 
    
         
            -
                        /* @conditional-compile-remove(rich-text-editor-image-upload) */
         
     | 
| 
       116 
     | 
    
         
            -
                        attachmentType: attachmentType
         
     | 
| 
      
 108 
     | 
    
         
            +
                        url: (_a = attachment.url) !== null && _a !== void 0 ? _a : ''
         
     | 
| 
       117 
109 
     | 
    
         
             
                    };
         
     | 
| 
       118 
110 
     | 
    
         
             
                });
         
     | 
| 
       119 
111 
     | 
    
         
             
            };
         
     | 
| 
       120 
     | 
    
         
            -
            /* @conditional-compile-remove(file-sharing-acs) */
         
     | 
| 
       121 
112 
     | 
    
         
             
            /* @conditional-compile-remove(rich-text-editor-image-upload) */
         
     | 
| 
       122 
113 
     | 
    
         
             
            /**
         
     | 
| 
       123 
114 
     | 
    
         
             
             * @internal
         
     | 
| 
       124 
115 
     | 
    
         
             
             */
         
     | 
| 
       125 
     | 
    
         
            -
            export const  
     | 
| 
       126 
     | 
    
         
            -
                if (! 
     | 
| 
       127 
     | 
    
         
            -
                    return  
     | 
| 
       128 
     | 
    
         
            -
                }
         
     | 
| 
       129 
     | 
    
         
            -
                /* @conditional-compile-remove(file-sharing-acs) */
         
     | 
| 
       130 
     | 
    
         
            -
                let attachmentArray = toAttachmentMetadata(attachments);
         
     | 
| 
       131 
     | 
    
         
            -
                let newContent = content;
         
     | 
| 
       132 
     | 
    
         
            -
                /* @conditional-compile-remove(rich-text-editor-image-upload) */
         
     | 
| 
       133 
     | 
    
         
            -
                if (imageUploadsInProgress) {
         
     | 
| 
       134 
     | 
    
         
            -
                    newContent = addUploadedImagesToMessage(content, imageUploadsInProgress);
         
     | 
| 
       135 
     | 
    
         
            -
                    const imageArray = toAttachmentMetadata(imageUploadsInProgress, 'image');
         
     | 
| 
       136 
     | 
    
         
            -
                    if (imageArray) {
         
     | 
| 
       137 
     | 
    
         
            -
                        attachmentArray = attachmentArray ? attachmentArray === null || attachmentArray === void 0 ? void 0 : attachmentArray.concat(imageArray) : imageArray;
         
     | 
| 
       138 
     | 
    
         
            -
                    }
         
     | 
| 
      
 116 
     | 
    
         
            +
            export const insertImagesToContentString = (content, imageUploadsInProgress) => {
         
     | 
| 
      
 117 
     | 
    
         
            +
                if (!imageUploadsInProgress || imageUploadsInProgress.length <= 0) {
         
     | 
| 
      
 118 
     | 
    
         
            +
                    return content;
         
     | 
| 
       139 
119 
     | 
    
         
             
                }
         
     | 
| 
       140 
     | 
    
         
            -
                 
     | 
| 
      
 120 
     | 
    
         
            +
                const newContent = addUploadedImagesToMessage(content, imageUploadsInProgress);
         
     | 
| 
      
 121 
     | 
    
         
            +
                return newContent;
         
     | 
| 
       141 
122 
     | 
    
         
             
            };
         
     | 
| 
       142 
123 
     | 
    
         
             
            //# sourceMappingURL=SendBoxUtils.js.map
         
     | 
| 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"file":"SendBoxUtils.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/utils/SendBoxUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* @conditional-compile-remove(file-sharing-acs) */\nimport { AttachmentMetadataInProgress } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\nimport { AttachmentMetadata } from '@internal/acs-ui-common';\n\n/**\n * @private\n */\nexport const MAXIMUM_LENGTH_OF_MESSAGE = 8000;\nconst EMPTY_MESSAGE_REGEX = /^\\s*$/;\n\n/* @conditional-compile-remove(file-sharing-acs) */\n/**\n * @private\n */\nexport const hasIncompleteAttachmentUploads = (\n  attachmentsWithProgress: AttachmentMetadataInProgress[] | undefined\n): boolean => {\n  return !!(\n    attachmentsWithProgress?.length &&\n    !attachmentsWithProgress\n      .filter((attachmentUpload) => !attachmentUpload.error)\n      .every((attachmentUpload) => attachmentUpload.progress === 1 && attachmentUpload.progress !== undefined)\n  );\n};\n\n/* @conditional-compile-remove(file-sharing-acs) */\n/**\n * @private\n */\nexport const isAttachmentUploadCompleted = (\n  attachmentsWithProgress: AttachmentMetadataInProgress[] | undefined\n): boolean => {\n  return !!attachmentsWithProgress?.find((attachment) => !attachment.error);\n};\n\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\n/**\n * @internal\n */\n// Before sending the image, we need to add the image id we get back after uploading the images to the message content.\nexport const addUploadedImagesToMessage = (\n  message: string,\n  uploadInlineImages: AttachmentMetadataInProgress[]\n): string => {\n  if (message === '') {\n    return message;\n  }\n  const document = new DOMParser().parseFromString(message ?? '', 'text/html');\n  document.querySelectorAll('img').forEach((img) => {\n    if (!img.id) {\n      const uploadInlineImage = uploadInlineImages.find(\n        (imageUpload) => !imageUpload.error && (imageUpload.url === img.src || imageUpload.id === img.id)\n      );\n      img.id = uploadInlineImage?.id ?? '';\n      img.src = '';\n    }\n  });\n  const newMessage = document.body.innerHTML;\n  return newMessage;\n};\n\n/**\n * @private\n */\nexport const isMessageTooLong = (valueLength: number): boolean => {\n  return valueLength > MAXIMUM_LENGTH_OF_MESSAGE;\n};\n\n/**\n * @private\n */\nexport const sanitizeText = (message: string): string => {\n  if (EMPTY_MESSAGE_REGEX.test(message)) {\n    return '';\n  } else {\n    return message;\n  }\n};\n\n/**\n * Determines whether the send box should be disabled for ARIA accessibility.\n *\n * @param hasContent - Indicates whether the send box has content.\n * @param hasCompletedAttachmentUploads - Indicates whether attachment uploads have completed.\n * @param hasError - Indicates whether there is an error.\n * @param disabled - Indicates whether the send box is disabled.\n * @returns A boolean value indicating whether the send box should be disabled for ARIA accessibility.\n */\nexport const isSendBoxButtonAriaDisabled = ({\n  hasContent,\n  /* @conditional-compile-remove(file-sharing-acs) */\n  hasCompletedAttachmentUploads,\n  hasError,\n  disabled\n}: {\n  hasContent: boolean;\n  /* @conditional-compile-remove(file-sharing-acs) */\n  hasCompletedAttachmentUploads: boolean;\n  hasError: boolean;\n  disabled: boolean;\n}): boolean => {\n  return (\n    // no content\n    !(hasContent || /* @conditional-compile-remove(file-sharing-acs) */ hasCompletedAttachmentUploads) ||\n    //error message exists\n    hasError ||\n    disabled\n  );\n};\n\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\n/**\n * @internal\n */\nexport const cancelInlineImageUpload = (\n  imageSrcArray: string[] | undefined,\n  imageUploadsInProgress: AttachmentMetadataInProgress[] | undefined,\n  onCancelInlineImageUpload?: (id: string) => void\n): void => {\n  if (imageSrcArray && imageUploadsInProgress && imageUploadsInProgress?.length > 0) {\n    imageUploadsInProgress?.map((uploadImage) => {\n      if (uploadImage.url && imageSrcArray && !imageSrcArray?.includes(uploadImage.url)) {\n        onCancelInlineImageUpload?.(uploadImage.id);\n      }\n    });\n  }\n};\n\n/* @conditional-compile-remove(file-sharing-acs) */\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\n/**\n * @internal\n */\nexport const toAttachmentMetadata = (\n  attachmentsWithProgress: AttachmentMetadataInProgress[] | undefined,\n  /* @conditional-compile-remove(rich-text-editor-image-upload) */ attachmentType?: 'image'\n): AttachmentMetadata[] | undefined => {\n  return attachmentsWithProgress\n    ?.filter((attachment) => {\n      return !('error' in attachment) && !attachment.error?.message;\n    })\n    .map((attachment) => {\n      let url = attachment.url || '';\n      /* @conditional-compile-remove(rich-text-editor-image-upload) */\n      if (attachmentType === 'image') {\n        url = '';\n      }\n      return {\n        id: attachment.id,\n        name: attachment.name,\n        url,\n        /* @conditional-compile-remove(rich-text-editor-image-upload) */\n        attachmentType: attachmentType\n      };\n    });\n};\n\n/* @conditional-compile-remove(file-sharing-acs) */\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\n/**\n * @internal\n */\nexport const insertAttachmentsAndImages = (\n  content: string,\n  attachments: AttachmentMetadataInProgress[] | undefined,\n  imageUploadsInProgress: AttachmentMetadataInProgress[] | undefined\n): { content: string; attachmentArray: AttachmentMetadata[] | undefined } => {\n  if (!attachments && !imageUploadsInProgress) {\n    return { content, attachmentArray: undefined };\n  }\n  /* @conditional-compile-remove(file-sharing-acs) */\n  let attachmentArray = toAttachmentMetadata(attachments);\n  let newContent = content;\n  /* @conditional-compile-remove(rich-text-editor-image-upload) */\n  if (imageUploadsInProgress) {\n    newContent = addUploadedImagesToMessage(content, imageUploadsInProgress);\n    const imageArray = toAttachmentMetadata(imageUploadsInProgress, 'image');\n    if (imageArray) {\n      attachmentArray = attachmentArray ? attachmentArray?.concat(imageArray) : imageArray;\n    }\n  }\n  return { content: newContent, attachmentArray };\n};\n"]}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"file":"SendBoxUtils.js","sourceRoot":"","sources":["../../../../../../../react-components/src/components/utils/SendBoxUtils.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/* @conditional-compile-remove(file-sharing-acs) */\nimport { AttachmentMetadataInProgress } from '@internal/acs-ui-common';\n/* @conditional-compile-remove(file-sharing-acs) */\nimport { AttachmentMetadata } from '@internal/acs-ui-common';\n\n/**\n * @private\n */\nexport const MAXIMUM_LENGTH_OF_MESSAGE = 8000;\nconst EMPTY_MESSAGE_REGEX = /^\\s*$/;\n\n/* @conditional-compile-remove(file-sharing-acs) */\n/**\n * @private\n */\nexport const hasIncompleteAttachmentUploads = (\n  attachmentsWithProgress: AttachmentMetadataInProgress[] | undefined\n): boolean => {\n  return !!(\n    attachmentsWithProgress?.length &&\n    !attachmentsWithProgress\n      .filter((attachmentUpload) => !attachmentUpload.error)\n      .every((attachmentUpload) => attachmentUpload.progress === 1 && attachmentUpload.progress !== undefined)\n  );\n};\n\n/* @conditional-compile-remove(file-sharing-acs) */\n/**\n * @private\n */\nexport const isAttachmentUploadCompleted = (\n  attachmentsWithProgress: AttachmentMetadataInProgress[] | undefined\n): boolean => {\n  return !!attachmentsWithProgress?.find((attachment) => !attachment.error);\n};\n\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\n/**\n * @internal\n */\n// Before sending the image, we need to add the image id we get back after uploading the images to the message content.\nexport const addUploadedImagesToMessage = (\n  message: string,\n  uploadInlineImages: AttachmentMetadataInProgress[]\n): string => {\n  if (message === '') {\n    return message;\n  }\n  const document = new DOMParser().parseFromString(message ?? '', 'text/html');\n  document.querySelectorAll('img').forEach((img) => {\n    if (!img.id) {\n      const uploadInlineImage = uploadInlineImages.find(\n        (imageUpload) => !imageUpload.error && (imageUpload.url === img.src || imageUpload.id === img.id)\n      );\n      img.id = uploadInlineImage?.id ?? '';\n      img.src = '';\n    }\n  });\n  const newMessage = document.body.innerHTML;\n  return newMessage;\n};\n\n/**\n * @private\n */\nexport const isMessageTooLong = (valueLength: number): boolean => {\n  return valueLength > MAXIMUM_LENGTH_OF_MESSAGE;\n};\n\n/**\n * @private\n */\nexport const sanitizeText = (message: string): string => {\n  if (EMPTY_MESSAGE_REGEX.test(message)) {\n    return '';\n  } else {\n    return message;\n  }\n};\n\n/**\n * Determines whether the send box should be disabled for ARIA accessibility.\n *\n * @param hasContent - Indicates whether the send box has content.\n * @param hasCompletedAttachmentUploads - Indicates whether attachment uploads have completed.\n * @param hasError - Indicates whether there is an error.\n * @param disabled - Indicates whether the send box is disabled.\n * @returns A boolean value indicating whether the send box should be disabled for ARIA accessibility.\n */\nexport const isSendBoxButtonAriaDisabled = ({\n  hasContent,\n  /* @conditional-compile-remove(file-sharing-acs) */\n  hasCompletedAttachmentUploads,\n  hasError,\n  disabled\n}: {\n  hasContent: boolean;\n  /* @conditional-compile-remove(file-sharing-acs) */\n  hasCompletedAttachmentUploads: boolean;\n  hasError: boolean;\n  disabled: boolean;\n}): boolean => {\n  return (\n    // no content\n    !(hasContent || /* @conditional-compile-remove(file-sharing-acs) */ hasCompletedAttachmentUploads) ||\n    //error message exists\n    hasError ||\n    disabled\n  );\n};\n\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\n/**\n * @internal\n */\nexport const cancelInlineImageUpload = (\n  imageSrcArray: string[] | undefined,\n  imageUploadsInProgress: AttachmentMetadataInProgress[] | undefined,\n  onCancelInlineImageUpload?: (id: string) => void\n): void => {\n  if (imageSrcArray && imageUploadsInProgress && imageUploadsInProgress?.length > 0) {\n    imageUploadsInProgress?.map((uploadImage) => {\n      if (uploadImage.url && imageSrcArray && !imageSrcArray?.includes(uploadImage.url)) {\n        onCancelInlineImageUpload?.(uploadImage.id);\n      }\n    });\n  }\n};\n\n/* @conditional-compile-remove(file-sharing-acs) */\n/**\n * @internal\n */\nexport const toAttachmentMetadata = (\n  attachmentsWithProgress: AttachmentMetadataInProgress[] | undefined\n): AttachmentMetadata[] | undefined => {\n  return attachmentsWithProgress\n    ?.filter((attachment) => {\n      return !('error' in attachment) && !attachment.error?.message;\n    })\n    .map((attachment) => {\n      return {\n        id: attachment.id,\n        name: attachment.name,\n        url: attachment.url ?? ''\n      };\n    });\n};\n\n/* @conditional-compile-remove(rich-text-editor-image-upload) */\n/**\n * @internal\n */\nexport const insertImagesToContentString = (\n  content: string,\n  imageUploadsInProgress?: AttachmentMetadataInProgress[]\n): string => {\n  if (!imageUploadsInProgress || imageUploadsInProgress.length <= 0) {\n    return content;\n  }\n  const newContent = addUploadedImagesToMessage(content, imageUploadsInProgress);\n  return newContent;\n};\n"]}
         
     | 
| 
         @@ -266,182 +266,182 @@ 
     | 
|
| 
       266 
266 
     | 
    
         
             
                    "callingNetworkFailure": {
         
     | 
| 
       267 
267 
     | 
    
         
             
                        "title": "Troubling connecting call",
         
     | 
| 
       268 
268 
     | 
    
         
             
                        "message": "You seem to be offline. Please check your network connection and try again.",
         
     | 
| 
       269 
     | 
    
         
            -
                        " 
     | 
| 
      
 269 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       270 
270 
     | 
    
         
             
                    },
         
     | 
| 
       271 
271 
     | 
    
         
             
                    "startVideoGeneric": {
         
     | 
| 
       272 
272 
     | 
    
         
             
                        "title": "Failed to start video.",
         
     | 
| 
       273 
     | 
    
         
            -
                        " 
     | 
| 
      
 273 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       274 
274 
     | 
    
         
             
                    },
         
     | 
| 
       275 
275 
     | 
    
         
             
                    "stopVideoGeneric": {
         
     | 
| 
       276 
276 
     | 
    
         
             
                        "title": "Failed to stop video.",
         
     | 
| 
       277 
     | 
    
         
            -
                        " 
     | 
| 
      
 277 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       278 
278 
     | 
    
         
             
                    },
         
     | 
| 
       279 
279 
     | 
    
         
             
                    "muteGeneric": {
         
     | 
| 
       280 
280 
     | 
    
         
             
                        "title": "Failed to mute microphone.",
         
     | 
| 
       281 
     | 
    
         
            -
                        " 
     | 
| 
      
 281 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       282 
282 
     | 
    
         
             
                    },
         
     | 
| 
       283 
283 
     | 
    
         
             
                    "unmuteGeneric": {
         
     | 
| 
       284 
284 
     | 
    
         
             
                        "title": "Failed to unmute microphone.",
         
     | 
| 
       285 
     | 
    
         
            -
                        " 
     | 
| 
      
 285 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       286 
286 
     | 
    
         
             
                    },
         
     | 
| 
       287 
287 
     | 
    
         
             
                    "speakingWhileMuted": {
         
     | 
| 
       288 
288 
     | 
    
         
             
                        "title": "You're muted.",
         
     | 
| 
       289 
     | 
    
         
            -
                        " 
     | 
| 
      
 289 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       290 
290 
     | 
    
         
             
                    },
         
     | 
| 
       291 
291 
     | 
    
         
             
                    "startScreenShareGeneric": {
         
     | 
| 
       292 
292 
     | 
    
         
             
                        "title": "There was an issue starting screen share.",
         
     | 
| 
       293 
     | 
    
         
            -
                        " 
     | 
| 
      
 293 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       294 
294 
     | 
    
         
             
                    },
         
     | 
| 
       295 
295 
     | 
    
         
             
                    "stopScreenShareGeneric": {
         
     | 
| 
       296 
296 
     | 
    
         
             
                        "title": "Failed to stop screen sharing.",
         
     | 
| 
       297 
     | 
    
         
            -
                        " 
     | 
| 
      
 297 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       298 
298 
     | 
    
         
             
                    },
         
     | 
| 
       299 
299 
     | 
    
         
             
                    "callNetworkQualityLow": {
         
     | 
| 
       300 
300 
     | 
    
         
             
                        "title": "Network quality is low.",
         
     | 
| 
       301 
     | 
    
         
            -
                        " 
     | 
| 
      
 301 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       302 
302 
     | 
    
         
             
                    },
         
     | 
| 
       303 
303 
     | 
    
         
             
                    "teamsMeetingCallNetworkQualityLow": {
         
     | 
| 
       304 
304 
     | 
    
         
             
                        "title": "Network quality is low.",
         
     | 
| 
       305 
     | 
    
         
            -
                        " 
     | 
| 
      
 305 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close",
         
     | 
| 
       306 
306 
     | 
    
         
             
                        "message": "Join this call from your phone for better sound. You can continue viewing the meeting on this device.",
         
     | 
| 
       307 
307 
     | 
    
         
             
                        "primaryButtonLabel": "Join by Phone"
         
     | 
| 
       308 
308 
     | 
    
         
             
                    },
         
     | 
| 
       309 
309 
     | 
    
         
             
                    "callNoSpeakerFound": {
         
     | 
| 
       310 
310 
     | 
    
         
             
                        "title": "No speakers or headphones found",
         
     | 
| 
       311 
311 
     | 
    
         
             
                        "message": "Connect an audio device to hear the call.",
         
     | 
| 
       312 
     | 
    
         
            -
                        " 
     | 
| 
      
 312 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       313 
313 
     | 
    
         
             
                    },
         
     | 
| 
       314 
314 
     | 
    
         
             
                    "callNoMicrophoneFound": {
         
     | 
| 
       315 
315 
     | 
    
         
             
                        "title": "No microphones found",
         
     | 
| 
       316 
316 
     | 
    
         
             
                        "message": "Connect an audio input device.",
         
     | 
| 
       317 
     | 
    
         
            -
                        " 
     | 
| 
      
 317 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       318 
318 
     | 
    
         
             
                    },
         
     | 
| 
       319 
319 
     | 
    
         
             
                    "callMicrophoneAccessDenied": {
         
     | 
| 
       320 
320 
     | 
    
         
             
                        "title": "Unable to access microphone",
         
     | 
| 
       321 
321 
     | 
    
         
             
                        "message": "Click the lock in the address bar to grant permission to this webpage.",
         
     | 
| 
       322 
     | 
    
         
            -
                        " 
     | 
| 
      
 322 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       323 
323 
     | 
    
         
             
                    },
         
     | 
| 
       324 
324 
     | 
    
         
             
                    "callMicrophoneAccessDeniedSafari": {
         
     | 
| 
       325 
325 
     | 
    
         
             
                        "title": "Unable to access microphone",
         
     | 
| 
       326 
326 
     | 
    
         
             
                        "message": "Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",
         
     | 
| 
       327 
     | 
    
         
            -
                        " 
     | 
| 
      
 327 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       328 
328 
     | 
    
         
             
                    },
         
     | 
| 
       329 
329 
     | 
    
         
             
                    "callMicrophoneMutedBySystem": {
         
     | 
| 
       330 
330 
     | 
    
         
             
                        "title": "You are muted by your system.",
         
     | 
| 
       331 
     | 
    
         
            -
                        " 
     | 
| 
      
 331 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       332 
332 
     | 
    
         
             
                    },
         
     | 
| 
       333 
333 
     | 
    
         
             
                    "callMicrophoneUnmutedBySystem": {
         
     | 
| 
       334 
334 
     | 
    
         
             
                        "title": "Your microphone recovered and you were unmuted by your system.",
         
     | 
| 
       335 
     | 
    
         
            -
                        " 
     | 
| 
      
 335 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       336 
336 
     | 
    
         
             
                    },
         
     | 
| 
       337 
337 
     | 
    
         
             
                    "callMacOsMicrophoneAccessDenied": {
         
     | 
| 
       338 
338 
     | 
    
         
             
                        "title": "Unable to access microphone",
         
     | 
| 
       339 
339 
     | 
    
         
             
                        "message": "Grant microphone permission in your macOS privacy settings.",
         
     | 
| 
       340 
     | 
    
         
            -
                        " 
     | 
| 
      
 340 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       341 
341 
     | 
    
         
             
                    },
         
     | 
| 
       342 
342 
     | 
    
         
             
                    "callLocalVideoFreeze": {
         
     | 
| 
       343 
343 
     | 
    
         
             
                        "title": "Network bandwidth is poor",
         
     | 
| 
       344 
344 
     | 
    
         
             
                        "message": "Your video may appear paused for others on the call.",
         
     | 
| 
       345 
     | 
    
         
            -
                        " 
     | 
| 
      
 345 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       346 
346 
     | 
    
         
             
                    },
         
     | 
| 
       347 
347 
     | 
    
         
             
                    "callCameraAccessDenied": {
         
     | 
| 
       348 
348 
     | 
    
         
             
                        "title": "Unable to access camera",
         
     | 
| 
       349 
349 
     | 
    
         
             
                        "message": "Click the lock in the address bar to grant permission to this webpage.",
         
     | 
| 
       350 
     | 
    
         
            -
                        " 
     | 
| 
      
 350 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       351 
351 
     | 
    
         
             
                    },
         
     | 
| 
       352 
352 
     | 
    
         
             
                    "callCameraAccessDeniedSafari": {
         
     | 
| 
       353 
353 
     | 
    
         
             
                        "title": "Unable to access camera",
         
     | 
| 
       354 
354 
     | 
    
         
             
                        "message": "Refresh the page to allow permissions, or check this browser’s settings and verify permissions are enabled for this website.",
         
     | 
| 
       355 
     | 
    
         
            -
                        " 
     | 
| 
      
 355 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       356 
356 
     | 
    
         
             
                    },
         
     | 
| 
       357 
357 
     | 
    
         
             
                    "callCameraAlreadyInUse": {
         
     | 
| 
       358 
358 
     | 
    
         
             
                        "title": "Unable to access camera",
         
     | 
| 
       359 
359 
     | 
    
         
             
                        "message": "It may already be in use by another application.",
         
     | 
| 
       360 
     | 
    
         
            -
                        " 
     | 
| 
      
 360 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       361 
361 
     | 
    
         
             
                    },
         
     | 
| 
       362 
362 
     | 
    
         
             
                    "callVideoStoppedBySystem": {
         
     | 
| 
       363 
363 
     | 
    
         
             
                        "title": "Your video has been stopped by your system.",
         
     | 
| 
       364 
     | 
    
         
            -
                        " 
     | 
| 
      
 364 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       365 
365 
     | 
    
         
             
                    },
         
     | 
| 
       366 
366 
     | 
    
         
             
                    "callVideoRecoveredBySystem": {
         
     | 
| 
       367 
367 
     | 
    
         
             
                        "title": "Your video has resumed.",
         
     | 
| 
       368 
     | 
    
         
            -
                        " 
     | 
| 
      
 368 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       369 
369 
     | 
    
         
             
                    },
         
     | 
| 
       370 
370 
     | 
    
         
             
                    "callMacOsCameraAccessDenied": {
         
     | 
| 
       371 
371 
     | 
    
         
             
                        "title": "MacOS is blocking access to your camera",
         
     | 
| 
       372 
372 
     | 
    
         
             
                        "message": "Update your privacy settings to allow this browser to access your camera.",
         
     | 
| 
       373 
     | 
    
         
            -
                        " 
     | 
| 
      
 373 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       374 
374 
     | 
    
         
             
                    },
         
     | 
| 
       375 
375 
     | 
    
         
             
                    "callMacOsScreenShareAccessDenied": {
         
     | 
| 
       376 
376 
     | 
    
         
             
                        "title": "MacOS is blocking screen sharing",
         
     | 
| 
       377 
377 
     | 
    
         
             
                        "message": "Update your privacy settings to allow this browser to record your screen.",
         
     | 
| 
       378 
     | 
    
         
            -
                        " 
     | 
| 
      
 378 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       379 
379 
     | 
    
         
             
                    },
         
     | 
| 
       380 
380 
     | 
    
         
             
                    "failedToJoinCallGeneric": {
         
     | 
| 
       381 
381 
     | 
    
         
             
                        "title": "Failed to join call.",
         
     | 
| 
       382 
     | 
    
         
            -
                        " 
     | 
| 
      
 382 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       383 
383 
     | 
    
         
             
                    },
         
     | 
| 
       384 
384 
     | 
    
         
             
                    "failedToJoinCallInvalidMeetingLink": {
         
     | 
| 
       385 
385 
     | 
    
         
             
                        "title": "Unable to join Meeting. Invalid Link.",
         
     | 
| 
       386 
     | 
    
         
            -
                        " 
     | 
| 
      
 386 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       387 
387 
     | 
    
         
             
                    },
         
     | 
| 
       388 
388 
     | 
    
         
             
                    "cameraFrozenForRemoteParticipants": {
         
     | 
| 
       389 
389 
     | 
    
         
             
                        "title": "Users in the call are having issues seeing your video",
         
     | 
| 
       390 
390 
     | 
    
         
             
                        "message": "Please check your devices and network.",
         
     | 
| 
       391 
     | 
    
         
            -
                        " 
     | 
| 
      
 391 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       392 
392 
     | 
    
         
             
                    },
         
     | 
| 
       393 
393 
     | 
    
         
             
                    "unableToStartVideoEffect": {
         
     | 
| 
       394 
394 
     | 
    
         
             
                        "title": "Unable to apply video effect.",
         
     | 
| 
       395 
     | 
    
         
            -
                        " 
     | 
| 
      
 395 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       396 
396 
     | 
    
         
             
                    },
         
     | 
| 
       397 
397 
     | 
    
         
             
                    "startSpotlightWhileMaxParticipantsAreSpotlighted": {
         
     | 
| 
       398 
398 
     | 
    
         
             
                        "title": "Cannot start spotlight on participant(s)",
         
     | 
| 
       399 
399 
     | 
    
         
             
                        "message": "The maximum number of participants are already spotlighted.",
         
     | 
| 
       400 
     | 
    
         
            -
                        " 
     | 
| 
      
 400 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       401 
401 
     | 
    
         
             
                    },
         
     | 
| 
       402 
402 
     | 
    
         
             
                    "mutedByRemoteParticipant": {
         
     | 
| 
       403 
403 
     | 
    
         
             
                        "title": "You were muted by another participant.",
         
     | 
| 
       404 
     | 
    
         
            -
                        " 
     | 
| 
      
 404 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       405 
405 
     | 
    
         
             
                    },
         
     | 
| 
       406 
406 
     | 
    
         
             
                    "recordingStarted": {
         
     | 
| 
       407 
407 
     | 
    
         
             
                        "title": "Recording has started.",
         
     | 
| 
       408 
408 
     | 
    
         
             
                        "message": "By joining, you are giving consent for this meeting to be transcribed.",
         
     | 
| 
       409 
     | 
    
         
            -
                        " 
     | 
| 
      
 409 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       410 
410 
     | 
    
         
             
                    },
         
     | 
| 
       411 
411 
     | 
    
         
             
                    "transcriptionStarted": {
         
     | 
| 
       412 
412 
     | 
    
         
             
                        "title": "Transcription has started.",
         
     | 
| 
       413 
413 
     | 
    
         
             
                        "message": "By joining, you are giving consent for this meeting to be transcribed.",
         
     | 
| 
       414 
     | 
    
         
            -
                        " 
     | 
| 
      
 414 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       415 
415 
     | 
    
         
             
                    },
         
     | 
| 
       416 
416 
     | 
    
         
             
                    "recordingStopped": {
         
     | 
| 
       417 
417 
     | 
    
         
             
                        "title": "Recording is being saved.",
         
     | 
| 
       418 
418 
     | 
    
         
             
                        "message": "Recording has stopped.",
         
     | 
| 
       419 
     | 
    
         
            -
                        " 
     | 
| 
      
 419 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       420 
420 
     | 
    
         
             
                    },
         
     | 
| 
       421 
421 
     | 
    
         
             
                    "transcriptionStopped": {
         
     | 
| 
       422 
422 
     | 
    
         
             
                        "title": "Transcription is being saved.",
         
     | 
| 
       423 
423 
     | 
    
         
             
                        "message": "Transcription has stopped.",
         
     | 
| 
       424 
     | 
    
         
            -
                        " 
     | 
| 
      
 424 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       425 
425 
     | 
    
         
             
                    },
         
     | 
| 
       426 
426 
     | 
    
         
             
                    "recordingAndTranscriptionStarted": {
         
     | 
| 
       427 
427 
     | 
    
         
             
                        "title": "Recording and transcription have started.",
         
     | 
| 
       428 
428 
     | 
    
         
             
                        "message": "By joining, you are giving consent for this meeting to be transcribed.",
         
     | 
| 
       429 
     | 
    
         
            -
                        " 
     | 
| 
      
 429 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       430 
430 
     | 
    
         
             
                    },
         
     | 
| 
       431 
431 
     | 
    
         
             
                    "recordingAndTranscriptionStopped": {
         
     | 
| 
       432 
432 
     | 
    
         
             
                        "title": "Recording and transcription are being saved.",
         
     | 
| 
       433 
433 
     | 
    
         
             
                        "message": "Recording and transcription have stopped.",
         
     | 
| 
       434 
     | 
    
         
            -
                        " 
     | 
| 
      
 434 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       435 
435 
     | 
    
         
             
                    },
         
     | 
| 
       436 
436 
     | 
    
         
             
                    "recordingStoppedStillTranscribing": {
         
     | 
| 
       437 
437 
     | 
    
         
             
                        "title": "Recording has stopped.",
         
     | 
| 
       438 
438 
     | 
    
         
             
                        "message": "You are now only transcribing this meeting.",
         
     | 
| 
       439 
     | 
    
         
            -
                        " 
     | 
| 
      
 439 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       440 
440 
     | 
    
         
             
                    },
         
     | 
| 
       441 
441 
     | 
    
         
             
                    "transcriptionStoppedStillRecording": {
         
     | 
| 
       442 
442 
     | 
    
         
             
                        "title": "Transcription has stopped.",
         
     | 
| 
       443 
443 
     | 
    
         
             
                        "message": "You are now only recording this meeting.",
         
     | 
| 
       444 
     | 
    
         
            -
                        " 
     | 
| 
      
 444 
     | 
    
         
            +
                        "dismissButtonAriaLabel": "Close"
         
     | 
| 
       445 
445 
     | 
    
         
             
                    }
         
     | 
| 
       446 
446 
     | 
    
         
             
                },
         
     | 
| 
       447 
447 
     | 
    
         
             
                "videoGallery": {
         
     | 
| 
         @@ -36,6 +36,7 @@ import React from 'react'; 
     | 
|
| 
       36 
36 
     | 
    
         
             
            import { useTheme } from './FluentThemeProvider';
         
     | 
| 
       37 
37 
     | 
    
         
             
            /* @conditional-compile-remove(call-readiness) */
         
     | 
| 
       38 
38 
     | 
    
         
             
            import { sitePermissionIconBackgroundStyle, scaledIconStyles } from './icons.styles';
         
     | 
| 
      
 39 
     | 
    
         
            +
            /* @conditional-compile-remove(one-to-n-calling) */
         
     | 
| 
       39 
40 
     | 
    
         
             
            import { Call20Filled } from '@fluentui/react-icons';
         
     | 
| 
       40 
41 
     | 
    
         
             
            const WifiWarning16Filled = () => (
         
     | 
| 
       41 
42 
     | 
    
         
             
            // All ErrorBar icons are 16px x 16px (when 1rem = 16 px).
         
     | 
| 
         @@ -272,8 +273,11 @@ export const DEFAULT_COMPONENT_ICONS = { 
     | 
|
| 
       272 
273 
     | 
    
         
             
                RichTextTableDeleteMenuIcon: React.createElement(TableDismiss20Regular, null),
         
     | 
| 
       273 
274 
     | 
    
         
             
                /* @conditional-compile-remove(soft-mute) */
         
     | 
| 
       274 
275 
     | 
    
         
             
                ContextualMenuMicMutedIcon: React.createElement(MicOff20Regular, null),
         
     | 
| 
      
 276 
     | 
    
         
            +
                /* @conditional-compile-remove(one-to-n-calling) */
         
     | 
| 
       275 
277 
     | 
    
         
             
                IncomingCallNotificationRejectIcon: React.createElement(CallEnd20Filled, null),
         
     | 
| 
      
 278 
     | 
    
         
            +
                /* @conditional-compile-remove(one-to-n-calling) */
         
     | 
| 
       276 
279 
     | 
    
         
             
                IncomingCallNotificationAcceptIcon: React.createElement(Call20Filled, null),
         
     | 
| 
      
 280 
     | 
    
         
            +
                /* @conditional-compile-remove(one-to-n-calling) */
         
     | 
| 
       277 
281 
     | 
    
         
             
                IncomingCallNotificationAcceptWithVideoIcon: React.createElement(Video20Filled, null)
         
     | 
| 
       278 
282 
     | 
    
         
             
            };
         
     | 
| 
       279 
283 
     | 
    
         
             
            //# sourceMappingURL=icons.js.map
         
     |